Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMarc-Andre Laperle2015-03-05 23:01:30 +0000
committerAlexander Kurtakov2015-03-06 07:15:11 +0000
commit9c69e0d701f29b841fb52aff378b74b5267a5bdd (patch)
treeebd67565063682e060ec11cc1fa1b3110bff7e25
parentea6ea585fe1fc68f842db9c3584d4cc5c3909acd (diff)
downloadorg.eclipse.linuxtools-9c69e0d701f29b841fb52aff378b74b5267a5bdd.tar.gz
org.eclipse.linuxtools-9c69e0d701f29b841fb52aff378b74b5267a5bdd.tar.xz
org.eclipse.linuxtools-9c69e0d701f29b841fb52aff378b74b5267a5bdd.zip
Remove content of the lttng folder and corresponding target dependencies
The LTTng component (also known as TMF) of Linux Tools has moved to the Trace Compass project. A README file was added to explain that the code moved. Change-Id: I939275594beccc78155f37671d1765539764eabc Signed-off-by: Marc-Andre Laperle <marc-andre.laperle@ericsson.com> Reviewed-on: https://git.eclipse.org/r/43270 Tested-by: Hudson CI Reviewed-by: Alexander Kurtakov <akurtako@redhat.com> Tested-by: Alexander Kurtakov <akurtako@redhat.com>
-rw-r--r--lttng/.gitignore4
-rw-r--r--lttng/README61
-rw-r--r--lttng/org.eclipse.linuxtools.btf.core.tests/.classpath7
-rw-r--r--lttng/org.eclipse.linuxtools.btf.core.tests/.project34
-rw-r--r--lttng/org.eclipse.linuxtools.btf.core.tests/.settings/org.eclipse.core.resources.prefs2
-rw-r--r--lttng/org.eclipse.linuxtools.btf.core.tests/.settings/org.eclipse.core.runtime.prefs2
-rw-r--r--lttng/org.eclipse.linuxtools.btf.core.tests/.settings/org.eclipse.jdt.core.prefs393
-rw-r--r--lttng/org.eclipse.linuxtools.btf.core.tests/.settings/org.eclipse.jdt.ui.prefs56
-rw-r--r--lttng/org.eclipse.linuxtools.btf.core.tests/.settings/org.eclipse.pde.api.tools.prefs97
-rw-r--r--lttng/org.eclipse.linuxtools.btf.core.tests/.settings/org.eclipse.pde.prefs32
-rw-r--r--lttng/org.eclipse.linuxtools.btf.core.tests/META-INF/MANIFEST.MF18
-rw-r--r--lttng/org.eclipse.linuxtools.btf.core.tests/about.html28
-rw-r--r--lttng/org.eclipse.linuxtools.btf.core.tests/build.properties21
-rw-r--r--lttng/org.eclipse.linuxtools.btf.core.tests/plugin.properties15
-rw-r--r--lttng/org.eclipse.linuxtools.btf.core.tests/pom.xml46
-rw-r--r--lttng/org.eclipse.linuxtools.btf.core.tests/src/org/eclipse/linuxtools/btf/core/tests/AllTests.java27
-rw-r--r--lttng/org.eclipse.linuxtools.btf.core.tests/src/org/eclipse/linuxtools/btf/core/tests/BtfTestPlugin.java55
-rw-r--r--lttng/org.eclipse.linuxtools.btf.core.tests/src/org/eclipse/linuxtools/btf/core/tests/trace/BtfTraceTest.java144
-rw-r--r--lttng/org.eclipse.linuxtools.btf.core.tests/src/org/eclipse/linuxtools/btf/core/tests/utils/BtfTestTrace.java100
-rw-r--r--lttng/org.eclipse.linuxtools.btf.core.tests/src/org/eclipse/linuxtools/btf/core/tests/utils/TestBtfTrace.java69
-rw-r--r--lttng/org.eclipse.linuxtools.btf.core.tests/testfiles/20140219-123819.btf38727
-rw-r--r--lttng/org.eclipse.linuxtools.btf.core/.classpath7
-rw-r--r--lttng/org.eclipse.linuxtools.btf.core/.project34
-rw-r--r--lttng/org.eclipse.linuxtools.btf.core/.settings/org.eclipse.core.resources.prefs2
-rw-r--r--lttng/org.eclipse.linuxtools.btf.core/.settings/org.eclipse.core.runtime.prefs2
-rw-r--r--lttng/org.eclipse.linuxtools.btf.core/.settings/org.eclipse.jdt.core.prefs394
-rw-r--r--lttng/org.eclipse.linuxtools.btf.core/.settings/org.eclipse.jdt.ui.prefs56
-rw-r--r--lttng/org.eclipse.linuxtools.btf.core/.settings/org.eclipse.pde.api.tools.prefs97
-rw-r--r--lttng/org.eclipse.linuxtools.btf.core/.settings/org.eclipse.pde.prefs32
-rw-r--r--lttng/org.eclipse.linuxtools.btf.core/META-INF/MANIFEST.MF18
-rw-r--r--lttng/org.eclipse.linuxtools.btf.core/about.html28
-rw-r--r--lttng/org.eclipse.linuxtools.btf.core/build.properties23
-rw-r--r--lttng/org.eclipse.linuxtools.btf.core/plugin.properties15
-rw-r--r--lttng/org.eclipse.linuxtools.btf.core/plugin.xml32
-rw-r--r--lttng/org.eclipse.linuxtools.btf.core/pom.xml36
-rw-r--r--lttng/org.eclipse.linuxtools.btf.core/src/org/eclipse/linuxtools/btf/core/Activator.java185
-rw-r--r--lttng/org.eclipse.linuxtools.btf.core/src/org/eclipse/linuxtools/btf/core/Messages.java73
-rw-r--r--lttng/org.eclipse.linuxtools.btf.core/src/org/eclipse/linuxtools/btf/core/analysis/BtfAnalysisModule.java45
-rw-r--r--lttng/org.eclipse.linuxtools.btf.core/src/org/eclipse/linuxtools/btf/core/analysis/BtfStateProvider.java275
-rw-r--r--lttng/org.eclipse.linuxtools.btf.core/src/org/eclipse/linuxtools/btf/core/event/BTFPayload.java105
-rw-r--r--lttng/org.eclipse.linuxtools.btf.core/src/org/eclipse/linuxtools/btf/core/event/BtfEvent.java66
-rw-r--r--lttng/org.eclipse.linuxtools.btf.core/src/org/eclipse/linuxtools/btf/core/event/BtfEventType.java127
-rw-r--r--lttng/org.eclipse.linuxtools.btf.core/src/org/eclipse/linuxtools/btf/core/messages.properties53
-rw-r--r--lttng/org.eclipse.linuxtools.btf.core/src/org/eclipse/linuxtools/btf/core/trace/BtfColumnNames.java67
-rw-r--r--lttng/org.eclipse.linuxtools.btf.core/src/org/eclipse/linuxtools/btf/core/trace/BtfEventTypeFactory.java66
-rw-r--r--lttng/org.eclipse.linuxtools.btf.core/src/org/eclipse/linuxtools/btf/core/trace/BtfTimstampFormat.java103
-rw-r--r--lttng/org.eclipse.linuxtools.btf.core/src/org/eclipse/linuxtools/btf/core/trace/BtfTrace.java435
-rw-r--r--lttng/org.eclipse.linuxtools.btf.ui/.classpath7
-rw-r--r--lttng/org.eclipse.linuxtools.btf.ui/.project34
-rw-r--r--lttng/org.eclipse.linuxtools.btf.ui/.settings/org.eclipse.core.resources.prefs2
-rw-r--r--lttng/org.eclipse.linuxtools.btf.ui/.settings/org.eclipse.core.runtime.prefs2
-rw-r--r--lttng/org.eclipse.linuxtools.btf.ui/.settings/org.eclipse.jdt.core.prefs394
-rw-r--r--lttng/org.eclipse.linuxtools.btf.ui/.settings/org.eclipse.jdt.ui.prefs56
-rw-r--r--lttng/org.eclipse.linuxtools.btf.ui/.settings/org.eclipse.pde.api.tools.prefs97
-rw-r--r--lttng/org.eclipse.linuxtools.btf.ui/.settings/org.eclipse.pde.prefs32
-rw-r--r--lttng/org.eclipse.linuxtools.btf.ui/META-INF/MANIFEST.MF20
-rw-r--r--lttng/org.eclipse.linuxtools.btf.ui/about.html28
-rw-r--r--lttng/org.eclipse.linuxtools.btf.ui/btf-view.xml40
-rw-r--r--lttng/org.eclipse.linuxtools.btf.ui/build.properties23
-rw-r--r--lttng/org.eclipse.linuxtools.btf.ui/icons/btf.pngbin527 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.btf.ui/plugin.properties15
-rw-r--r--lttng/org.eclipse.linuxtools.btf.ui/plugin.xml14
-rw-r--r--lttng/org.eclipse.linuxtools.btf.ui/pom.xml36
-rw-r--r--lttng/org.eclipse.linuxtools.btf.ui/src/org/eclipse/linuxtools/btf/ui/Activator.java192
-rw-r--r--lttng/org.eclipse.linuxtools.btf.ui/src/org/eclipse/linuxtools/btf/ui/BtfEventAdapterFactory.java43
-rw-r--r--lttng/org.eclipse.linuxtools.btf.ui/src/org/eclipse/linuxtools/btf/ui/BtfEventPropertySource.java234
-rw-r--r--lttng/org.eclipse.linuxtools.btf.ui/src/org/eclipse/linuxtools/btf/ui/BtfEventTableColumns.java140
-rw-r--r--lttng/org.eclipse.linuxtools.ctf.core.tests/.classpath9
-rw-r--r--lttng/org.eclipse.linuxtools.ctf.core.tests/.project34
-rw-r--r--lttng/org.eclipse.linuxtools.ctf.core.tests/.settings/org.eclipse.core.resources.prefs2
-rw-r--r--lttng/org.eclipse.linuxtools.ctf.core.tests/.settings/org.eclipse.core.runtime.prefs2
-rw-r--r--lttng/org.eclipse.linuxtools.ctf.core.tests/.settings/org.eclipse.jdt.core.prefs393
-rw-r--r--lttng/org.eclipse.linuxtools.ctf.core.tests/.settings/org.eclipse.jdt.ui.prefs56
-rw-r--r--lttng/org.eclipse.linuxtools.ctf.core.tests/.settings/org.eclipse.pde.api.tools.prefs97
-rw-r--r--lttng/org.eclipse.linuxtools.ctf.core.tests/.settings/org.eclipse.pde.prefs32
-rw-r--r--lttng/org.eclipse.linuxtools.ctf.core.tests/META-INF/MANIFEST.MF27
-rw-r--r--lttng/org.eclipse.linuxtools.ctf.core.tests/about.html28
-rw-r--r--lttng/org.eclipse.linuxtools.ctf.core.tests/build.properties23
-rw-r--r--lttng/org.eclipse.linuxtools.ctf.core.tests/perf/org/eclipse/linuxtools/ctf/core/tests/perf/AllPerfTests.java29
-rw-r--r--lttng/org.eclipse.linuxtools.ctf.core.tests/perf/org/eclipse/linuxtools/ctf/core/tests/perf/trace/AllPerfTests.java27
-rw-r--r--lttng/org.eclipse.linuxtools.ctf.core.tests/perf/org/eclipse/linuxtools/ctf/core/tests/perf/trace/TraceReadBenchmark.java88
-rw-r--r--lttng/org.eclipse.linuxtools.ctf.core.tests/perf/org/eclipse/linuxtools/ctf/core/tests/perf/trace/TraceSeekBenchmark.java116
-rw-r--r--lttng/org.eclipse.linuxtools.ctf.core.tests/plugin.properties15
-rw-r--r--lttng/org.eclipse.linuxtools.ctf.core.tests/pom.xml111
-rw-r--r--lttng/org.eclipse.linuxtools.ctf.core.tests/shared/org/eclipse/linuxtools/ctf/core/tests/shared/CtfTestTrace.java251
-rw-r--r--lttng/org.eclipse.linuxtools.ctf.core.tests/src/org/eclipse/linuxtools/ctf/core/tests/AllCtfCoreTests.java36
-rw-r--r--lttng/org.eclipse.linuxtools.ctf.core.tests/src/org/eclipse/linuxtools/ctf/core/tests/CtfCorePluginTest.java62
-rw-r--r--lttng/org.eclipse.linuxtools.ctf.core.tests/src/org/eclipse/linuxtools/ctf/core/tests/CtfCoreTestPlugin.java109
-rw-r--r--lttng/org.eclipse.linuxtools.ctf.core.tests/src/org/eclipse/linuxtools/ctf/core/tests/ctftestsuite/CtfTestSuiteTests.java176
-rw-r--r--lttng/org.eclipse.linuxtools.ctf.core.tests/src/org/eclipse/linuxtools/ctf/core/tests/ctftestsuite/TestAll.java30
-rw-r--r--lttng/org.eclipse.linuxtools.ctf.core.tests/src/org/eclipse/linuxtools/ctf/core/tests/event/CTFCallsiteTest.java112
-rw-r--r--lttng/org.eclipse.linuxtools.ctf.core.tests/src/org/eclipse/linuxtools/ctf/core/tests/event/CTFEventDefinitionTest.java145
-rw-r--r--lttng/org.eclipse.linuxtools.ctf.core.tests/src/org/eclipse/linuxtools/ctf/core/tests/event/CTFEventFieldTest.java141
-rw-r--r--lttng/org.eclipse.linuxtools.ctf.core.tests/src/org/eclipse/linuxtools/ctf/core/tests/event/TestAll.java33
-rw-r--r--lttng/org.eclipse.linuxtools.ctf.core.tests/src/org/eclipse/linuxtools/ctf/core/tests/io/BitBufferIntTest.java572
-rw-r--r--lttng/org.eclipse.linuxtools.ctf.core.tests/src/org/eclipse/linuxtools/ctf/core/tests/io/BitBufferTest.java212
-rw-r--r--lttng/org.eclipse.linuxtools.ctf.core.tests/src/org/eclipse/linuxtools/ctf/core/tests/io/TestAll.java32
-rw-r--r--lttng/org.eclipse.linuxtools.ctf.core.tests/src/org/eclipse/linuxtools/ctf/core/tests/io/Util.java42
-rw-r--r--lttng/org.eclipse.linuxtools.ctf.core.tests/src/org/eclipse/linuxtools/ctf/core/tests/scope/LexicalScopeTest.java46
-rw-r--r--lttng/org.eclipse.linuxtools.ctf.core.tests/src/org/eclipse/linuxtools/ctf/core/tests/scope/TestAll.java31
-rw-r--r--lttng/org.eclipse.linuxtools.ctf.core.tests/src/org/eclipse/linuxtools/ctf/core/tests/synthetictraces/LttngKernelTraceGenerator.java476
-rw-r--r--lttng/org.eclipse.linuxtools.ctf.core.tests/src/org/eclipse/linuxtools/ctf/core/tests/trace/CTFStreamInputPacketIndexEntryTest.java69
-rw-r--r--lttng/org.eclipse.linuxtools.ctf.core.tests/src/org/eclipse/linuxtools/ctf/core/tests/trace/CTFStreamInputPacketIndexTest.java166
-rw-r--r--lttng/org.eclipse.linuxtools.ctf.core.tests/src/org/eclipse/linuxtools/ctf/core/tests/trace/CTFStreamInputReaderTest.java228
-rw-r--r--lttng/org.eclipse.linuxtools.ctf.core.tests/src/org/eclipse/linuxtools/ctf/core/tests/trace/CTFStreamInputReaderTimestampComparatorTest.java47
-rw-r--r--lttng/org.eclipse.linuxtools.ctf.core.tests/src/org/eclipse/linuxtools/ctf/core/tests/trace/CTFStreamInputTest.java173
-rw-r--r--lttng/org.eclipse.linuxtools.ctf.core.tests/src/org/eclipse/linuxtools/ctf/core/tests/trace/CTFStreamTest.java261
-rw-r--r--lttng/org.eclipse.linuxtools.ctf.core.tests/src/org/eclipse/linuxtools/ctf/core/tests/trace/CTFTraceCallsitePerformanceTest.java202
-rw-r--r--lttng/org.eclipse.linuxtools.ctf.core.tests/src/org/eclipse/linuxtools/ctf/core/tests/trace/CTFTraceGrowingStreamTest.java158
-rw-r--r--lttng/org.eclipse.linuxtools.ctf.core.tests/src/org/eclipse/linuxtools/ctf/core/tests/trace/CTFTraceGrowingTest.java190
-rw-r--r--lttng/org.eclipse.linuxtools.ctf.core.tests/src/org/eclipse/linuxtools/ctf/core/tests/trace/CTFTraceReaderTest.java314
-rw-r--r--lttng/org.eclipse.linuxtools.ctf.core.tests/src/org/eclipse/linuxtools/ctf/core/tests/trace/CTFTraceTest.java410
-rw-r--r--lttng/org.eclipse.linuxtools.ctf.core.tests/src/org/eclipse/linuxtools/ctf/core/tests/trace/IOstructgenTest.java520
-rw-r--r--lttng/org.eclipse.linuxtools.ctf.core.tests/src/org/eclipse/linuxtools/ctf/core/tests/trace/MetadataTest.java254
-rw-r--r--lttng/org.eclipse.linuxtools.ctf.core.tests/src/org/eclipse/linuxtools/ctf/core/tests/trace/TestAll.java43
-rw-r--r--lttng/org.eclipse.linuxtools.ctf.core.tests/src/org/eclipse/linuxtools/ctf/core/tests/trace/UtilsTest.java118
-rw-r--r--lttng/org.eclipse.linuxtools.ctf.core.tests/src/org/eclipse/linuxtools/ctf/core/tests/types/ArrayDeclaration2Test.java144
-rw-r--r--lttng/org.eclipse.linuxtools.ctf.core.tests/src/org/eclipse/linuxtools/ctf/core/tests/types/ArrayDefinition2Test.java259
-rw-r--r--lttng/org.eclipse.linuxtools.ctf.core.tests/src/org/eclipse/linuxtools/ctf/core/tests/types/DefinitionTest.java64
-rw-r--r--lttng/org.eclipse.linuxtools.ctf.core.tests/src/org/eclipse/linuxtools/ctf/core/tests/types/EnumDeclarationTest.java123
-rw-r--r--lttng/org.eclipse.linuxtools.ctf.core.tests/src/org/eclipse/linuxtools/ctf/core/tests/types/EnumDefinitionTest.java95
-rw-r--r--lttng/org.eclipse.linuxtools.ctf.core.tests/src/org/eclipse/linuxtools/ctf/core/tests/types/EventDeclarationTest.java375
-rw-r--r--lttng/org.eclipse.linuxtools.ctf.core.tests/src/org/eclipse/linuxtools/ctf/core/tests/types/EventHeaderDeclarationTest.java377
-rw-r--r--lttng/org.eclipse.linuxtools.ctf.core.tests/src/org/eclipse/linuxtools/ctf/core/tests/types/FloatDeclarationTest.java50
-rw-r--r--lttng/org.eclipse.linuxtools.ctf.core.tests/src/org/eclipse/linuxtools/ctf/core/tests/types/FloatDefinitionTest.java167
-rw-r--r--lttng/org.eclipse.linuxtools.ctf.core.tests/src/org/eclipse/linuxtools/ctf/core/tests/types/IntegerDeclarationTest.java280
-rw-r--r--lttng/org.eclipse.linuxtools.ctf.core.tests/src/org/eclipse/linuxtools/ctf/core/tests/types/IntegerDefinitionTest.java143
-rw-r--r--lttng/org.eclipse.linuxtools.ctf.core.tests/src/org/eclipse/linuxtools/ctf/core/tests/types/IntegerEndiannessTest.java118
-rw-r--r--lttng/org.eclipse.linuxtools.ctf.core.tests/src/org/eclipse/linuxtools/ctf/core/tests/types/SequenceDeclaration2Test.java126
-rw-r--r--lttng/org.eclipse.linuxtools.ctf.core.tests/src/org/eclipse/linuxtools/ctf/core/tests/types/SequenceDefinition2Test.java127
-rw-r--r--lttng/org.eclipse.linuxtools.ctf.core.tests/src/org/eclipse/linuxtools/ctf/core/tests/types/StringDeclarationTest.java118
-rw-r--r--lttng/org.eclipse.linuxtools.ctf.core.tests/src/org/eclipse/linuxtools/ctf/core/tests/types/StringDefinitionTest.java114
-rw-r--r--lttng/org.eclipse.linuxtools.ctf.core.tests/src/org/eclipse/linuxtools/ctf/core/tests/types/StructDeclarationTest.java141
-rw-r--r--lttng/org.eclipse.linuxtools.ctf.core.tests/src/org/eclipse/linuxtools/ctf/core/tests/types/StructDefinitionTest.java239
-rw-r--r--lttng/org.eclipse.linuxtools.ctf.core.tests/src/org/eclipse/linuxtools/ctf/core/tests/types/TestAll.java50
-rw-r--r--lttng/org.eclipse.linuxtools.ctf.core.tests/src/org/eclipse/linuxtools/ctf/core/tests/types/VariantDeclarationTest.java209
-rw-r--r--lttng/org.eclipse.linuxtools.ctf.core.tests/src/org/eclipse/linuxtools/ctf/core/tests/types/VariantDefinitionTest.java291
-rw-r--r--lttng/org.eclipse.linuxtools.ctf.core.tests/traces/.gitignore16
-rw-r--r--lttng/org.eclipse.linuxtools.ctf.core.tests/traces/cyg-profile.tar.bz2.MD51
-rw-r--r--lttng/org.eclipse.linuxtools.ctf.core.tests/traces/django-benchmark.tar.gz.MD51
-rw-r--r--lttng/org.eclipse.linuxtools.ctf.core.tests/traces/funky_trace.tar.bz2.MD51
-rw-r--r--lttng/org.eclipse.linuxtools.ctf.core.tests/traces/get-traces.xml136
-rw-r--r--lttng/org.eclipse.linuxtools.ctf.core.tests/traces/hello-lost.tar.bz2.MD51
-rw-r--r--lttng/org.eclipse.linuxtools.ctf.core.tests/traces/kernel_vm.tar.bz2.MD51
-rw-r--r--lttng/org.eclipse.linuxtools.ctf.core.tests/traces/sample-ctf-trace-20120412.tar.bz2.MD51
-rw-r--r--lttng/org.eclipse.linuxtools.ctf.core.tests/traces/synctraces.tar.gz.MD51
-rw-r--r--lttng/org.eclipse.linuxtools.ctf.core.tests/traces/testtraceExp.zip.MD51
-rw-r--r--lttng/org.eclipse.linuxtools.ctf.core.tests/traces/trace2.tar.bz2.MD51
-rw-r--r--lttng/org.eclipse.linuxtools.ctf.core/.classpath8
-rw-r--r--lttng/org.eclipse.linuxtools.ctf.core/.project34
-rw-r--r--lttng/org.eclipse.linuxtools.ctf.core/.settings/org.eclipse.core.resources.prefs2
-rw-r--r--lttng/org.eclipse.linuxtools.ctf.core/.settings/org.eclipse.core.runtime.prefs2
-rw-r--r--lttng/org.eclipse.linuxtools.ctf.core/.settings/org.eclipse.jdt.core.prefs394
-rw-r--r--lttng/org.eclipse.linuxtools.ctf.core/.settings/org.eclipse.jdt.ui.prefs56
-rw-r--r--lttng/org.eclipse.linuxtools.ctf.core/.settings/org.eclipse.pde.api.tools.prefs97
-rw-r--r--lttng/org.eclipse.linuxtools.ctf.core/.settings/org.eclipse.pde.prefs32
-rw-r--r--lttng/org.eclipse.linuxtools.ctf.core/META-INF/MANIFEST.MF29
-rw-r--r--lttng/org.eclipse.linuxtools.ctf.core/about.html28
-rw-r--r--lttng/org.eclipse.linuxtools.ctf.core/build.properties21
-rw-r--r--lttng/org.eclipse.linuxtools.ctf.core/other/lttng131
-rw-r--r--lttng/org.eclipse.linuxtools.ctf.core/plugin.properties15
-rw-r--r--lttng/org.eclipse.linuxtools.ctf.core/pom.xml44
-rw-r--r--lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/ctf/core/CTFStrings.java41
-rw-r--r--lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/ctf/core/event/CTFCallsite.java210
-rw-r--r--lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/ctf/core/event/CTFClock.java133
-rw-r--r--lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/ctf/core/event/EventDefinition.java299
-rw-r--r--lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/ctf/core/event/IEventDeclaration.java111
-rw-r--r--lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/ctf/core/event/io/BitBuffer.java687
-rw-r--r--lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/ctf/core/event/scope/EventHeaderScope.java67
-rw-r--r--lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/ctf/core/event/scope/EventHeaderVScope.java60
-rw-r--r--lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/ctf/core/event/scope/FieldsScope.java61
-rw-r--r--lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/ctf/core/event/scope/IDefinitionScope.java44
-rw-r--r--lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/ctf/core/event/scope/LexicalScope.java291
-rw-r--r--lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/ctf/core/event/scope/PacketHeaderScope.java39
-rw-r--r--lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/ctf/core/event/scope/RootScope.java65
-rw-r--r--lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/ctf/core/event/types/AbstractArrayDefinition.java52
-rw-r--r--lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/ctf/core/event/types/ArrayDeclaration.java149
-rw-r--r--lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/ctf/core/event/types/ArrayDefinition.java134
-rw-r--r--lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/ctf/core/event/types/CompoundDeclaration.java52
-rw-r--r--lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/ctf/core/event/types/Declaration.java69
-rw-r--r--lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/ctf/core/event/types/Definition.java140
-rw-r--r--lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/ctf/core/event/types/Encoding.java32
-rw-r--r--lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/ctf/core/event/types/EnumDeclaration.java221
-rw-r--r--lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/ctf/core/event/types/EnumDefinition.java108
-rw-r--r--lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/ctf/core/event/types/FloatDeclaration.java177
-rw-r--r--lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/ctf/core/event/types/FloatDefinition.java84
-rw-r--r--lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/ctf/core/event/types/ICompositeDefinition.java42
-rw-r--r--lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/ctf/core/event/types/IDeclaration.java81
-rw-r--r--lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/ctf/core/event/types/IDefinition.java42
-rw-r--r--lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/ctf/core/event/types/IEventHeaderDeclaration.java41
-rw-r--r--lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/ctf/core/event/types/ISimpleDatatypeDeclaration.java23
-rw-r--r--lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/ctf/core/event/types/IntegerDeclaration.java474
-rw-r--r--lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/ctf/core/event/types/IntegerDefinition.java149
-rw-r--r--lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/ctf/core/event/types/ScopedDefinition.java185
-rw-r--r--lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/ctf/core/event/types/SequenceDeclaration.java145
-rw-r--r--lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/ctf/core/event/types/SequenceDefinition.java126
-rw-r--r--lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/ctf/core/event/types/SimpleDatatypeDefinition.java61
-rw-r--r--lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/ctf/core/event/types/StringDeclaration.java114
-rw-r--r--lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/ctf/core/event/types/StringDefinition.java87
-rw-r--r--lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/ctf/core/event/types/StructDeclaration.java261
-rw-r--r--lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/ctf/core/event/types/StructDefinition.java213
-rw-r--r--lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/ctf/core/event/types/VariantDeclaration.java189
-rw-r--r--lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/ctf/core/event/types/VariantDefinition.java116
-rw-r--r--lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/ctf/core/trace/CTFReaderException.java66
-rw-r--r--lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/ctf/core/trace/CTFResponse.java37
-rw-r--r--lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/ctf/core/trace/CTFStream.java384
-rw-r--r--lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/ctf/core/trace/CTFStreamInput.java494
-rw-r--r--lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/ctf/core/trace/CTFStreamInputPacketReader.java542
-rw-r--r--lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/ctf/core/trace/CTFStreamInputReader.java495
-rw-r--r--lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/ctf/core/trace/CTFTrace.java1007
-rw-r--r--lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/ctf/core/trace/CTFTraceReader.java573
-rw-r--r--lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/ctf/core/trace/Metadata.java457
-rw-r--r--lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/ctf/core/trace/Utils.java183
-rw-r--r--lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/internal/ctf/core/Activator.java142
-rw-r--r--lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/internal/ctf/core/SafeMappedByteBuffer.java58
-rw-r--r--lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/internal/ctf/core/event/CTFCallsiteComparator.java72
-rw-r--r--lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/internal/ctf/core/event/EventDeclaration.java369
-rw-r--r--lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/internal/ctf/core/event/metadata/DeclarationScope.java395
-rw-r--r--lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/internal/ctf/core/event/metadata/IOStructGen.java2772
-rw-r--r--lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/internal/ctf/core/event/metadata/Messages.java32
-rw-r--r--lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/internal/ctf/core/event/metadata/MetadataStrings.java111
-rw-r--r--lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/internal/ctf/core/event/metadata/exceptions/CtfAntlrException.java129
-rw-r--r--lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/internal/ctf/core/event/metadata/exceptions/ParseException.java63
-rw-r--r--lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/internal/ctf/core/event/metadata/messages.properties17
-rw-r--r--lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/internal/ctf/core/event/types/ArrayDeclaration.java147
-rw-r--r--lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/internal/ctf/core/event/types/ArrayDefinition.java108
-rw-r--r--lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/internal/ctf/core/event/types/ByteArrayDefinition.java100
-rw-r--r--lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/internal/ctf/core/event/types/SequenceDeclaration.java152
-rw-r--r--lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/internal/ctf/core/event/types/StructDeclarationFlattener.java112
-rw-r--r--lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/internal/ctf/core/event/types/composite/EventHeaderCompactDeclaration.java219
-rw-r--r--lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/internal/ctf/core/event/types/composite/EventHeaderDefinition.java105
-rw-r--r--lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/internal/ctf/core/event/types/composite/EventHeaderLargeDeclaration.java215
-rw-r--r--lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/internal/ctf/core/trace/StreamInputPacketIndex.java166
-rw-r--r--lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/internal/ctf/core/trace/StreamInputPacketIndexEntry.java261
-rw-r--r--lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/internal/ctf/core/trace/StreamInputReaderTimestampComparator.java55
-rw-r--r--lttng/org.eclipse.linuxtools.ctf.parser.tests/.classpath7
-rw-r--r--lttng/org.eclipse.linuxtools.ctf.parser.tests/.project34
-rw-r--r--lttng/org.eclipse.linuxtools.ctf.parser.tests/.settings/org.eclipse.core.resources.prefs2
-rw-r--r--lttng/org.eclipse.linuxtools.ctf.parser.tests/.settings/org.eclipse.core.runtime.prefs2
-rw-r--r--lttng/org.eclipse.linuxtools.ctf.parser.tests/.settings/org.eclipse.jdt.core.prefs393
-rw-r--r--lttng/org.eclipse.linuxtools.ctf.parser.tests/.settings/org.eclipse.jdt.ui.prefs56
-rw-r--r--lttng/org.eclipse.linuxtools.ctf.parser.tests/.settings/org.eclipse.pde.api.tools.prefs97
-rw-r--r--lttng/org.eclipse.linuxtools.ctf.parser.tests/.settings/org.eclipse.pde.prefs32
-rw-r--r--lttng/org.eclipse.linuxtools.ctf.parser.tests/META-INF/MANIFEST.MF15
-rw-r--r--lttng/org.eclipse.linuxtools.ctf.parser.tests/about.html28
-rw-r--r--lttng/org.eclipse.linuxtools.ctf.parser.tests/build.properties18
-rw-r--r--lttng/org.eclipse.linuxtools.ctf.parser.tests/plugin.properties15
-rw-r--r--lttng/org.eclipse.linuxtools.ctf.parser.tests/pom.xml44
-rw-r--r--lttng/org.eclipse.linuxtools.ctf.parser.tests/src/org/eclipse/linuxtools/ctf/parser/tests/AllCtfParserTests.java29
-rw-r--r--lttng/org.eclipse.linuxtools.ctf.parser.tests/src/org/eclipse/linuxtools/ctf/parser/tests/CtfLexerTest.java471
-rw-r--r--lttng/org.eclipse.linuxtools.ctf.parser.tests/src/org/eclipse/linuxtools/ctf/parser/tests/CtfParserTest.java652
-rw-r--r--lttng/org.eclipse.linuxtools.ctf.parser/.classpath8
-rw-r--r--lttng/org.eclipse.linuxtools.ctf.parser/.project35
-rw-r--r--lttng/org.eclipse.linuxtools.ctf.parser/.settings/org.eclipse.core.resources.prefs2
-rw-r--r--lttng/org.eclipse.linuxtools.ctf.parser/.settings/org.eclipse.core.runtime.prefs2
-rw-r--r--lttng/org.eclipse.linuxtools.ctf.parser/.settings/org.eclipse.jdt.core.prefs393
-rw-r--r--lttng/org.eclipse.linuxtools.ctf.parser/.settings/org.eclipse.jdt.ui.prefs56
-rw-r--r--lttng/org.eclipse.linuxtools.ctf.parser/.settings/org.eclipse.pde.api.tools.prefs97
-rw-r--r--lttng/org.eclipse.linuxtools.ctf.parser/.settings/org.eclipse.pde.prefs32
-rw-r--r--lttng/org.eclipse.linuxtools.ctf.parser/META-INF/MANIFEST.MF11
-rw-r--r--lttng/org.eclipse.linuxtools.ctf.parser/README11
-rw-r--r--lttng/org.eclipse.linuxtools.ctf.parser/about.html28
-rw-r--r--lttng/org.eclipse.linuxtools.ctf.parser/build.properties21
-rwxr-xr-xlttng/org.eclipse.linuxtools.ctf.parser/generate-grammar.sh22
-rw-r--r--lttng/org.eclipse.linuxtools.ctf.parser/plugin.properties15
-rw-r--r--lttng/org.eclipse.linuxtools.ctf.parser/pom.xml86
-rw-r--r--lttng/org.eclipse.linuxtools.ctf.parser/src/main/antlr3/org/eclipse/linuxtools/ctf/parser/CTFLexer.g196
-rw-r--r--lttng/org.eclipse.linuxtools.ctf.parser/src/main/antlr3/org/eclipse/linuxtools/ctf/parser/CTFParser.g648
-rw-r--r--lttng/org.eclipse.linuxtools.ctf.parser/target/generated-sources/antlr3/org/eclipse/linuxtools/ctf/parser/CTFLexer.java3494
-rw-r--r--lttng/org.eclipse.linuxtools.ctf.parser/target/generated-sources/antlr3/org/eclipse/linuxtools/ctf/parser/CTFParser.java8550
-rw-r--r--lttng/org.eclipse.linuxtools.ctf/.project17
-rw-r--r--lttng/org.eclipse.linuxtools.ctf/.settings/org.eclipse.core.resources.prefs2
-rw-r--r--lttng/org.eclipse.linuxtools.ctf/.settings/org.eclipse.core.runtime.prefs2
-rw-r--r--lttng/org.eclipse.linuxtools.ctf/build.properties14
-rw-r--r--lttng/org.eclipse.linuxtools.ctf/feature.properties20
-rw-r--r--lttng/org.eclipse.linuxtools.ctf/feature.xml44
-rw-r--r--lttng/org.eclipse.linuxtools.ctf/pom.xml58
-rw-r--r--lttng/org.eclipse.linuxtools.gdbtrace.core.tests/.classpath7
-rw-r--r--lttng/org.eclipse.linuxtools.gdbtrace.core.tests/.project34
-rw-r--r--lttng/org.eclipse.linuxtools.gdbtrace.core.tests/.settings/org.eclipse.core.resources.prefs2
-rw-r--r--lttng/org.eclipse.linuxtools.gdbtrace.core.tests/.settings/org.eclipse.core.runtime.prefs2
-rw-r--r--lttng/org.eclipse.linuxtools.gdbtrace.core.tests/.settings/org.eclipse.jdt.core.prefs393
-rw-r--r--lttng/org.eclipse.linuxtools.gdbtrace.core.tests/.settings/org.eclipse.jdt.ui.prefs56
-rw-r--r--lttng/org.eclipse.linuxtools.gdbtrace.core.tests/.settings/org.eclipse.pde.api.tools.prefs97
-rw-r--r--lttng/org.eclipse.linuxtools.gdbtrace.core.tests/.settings/org.eclipse.pde.prefs32
-rw-r--r--lttng/org.eclipse.linuxtools.gdbtrace.core.tests/META-INF/MANIFEST.MF13
-rw-r--r--lttng/org.eclipse.linuxtools.gdbtrace.core.tests/about.html28
-rw-r--r--lttng/org.eclipse.linuxtools.gdbtrace.core.tests/build.properties18
-rw-r--r--lttng/org.eclipse.linuxtools.gdbtrace.core.tests/plugin.properties15
-rw-r--r--lttng/org.eclipse.linuxtools.gdbtrace.core.tests/pom.xml44
-rw-r--r--lttng/org.eclipse.linuxtools.gdbtrace.core.tests/src/org/eclipse/linuxtools/gdbtrace/core/tests/AllGdbTraceCoreTests.java28
-rw-r--r--lttng/org.eclipse.linuxtools.gdbtrace.core.tests/src/org/eclipse/linuxtools/gdbtrace/core/tests/GdbTraceCorePluginTest.java45
-rw-r--r--lttng/org.eclipse.linuxtools.gdbtrace.core/.classpath7
-rw-r--r--lttng/org.eclipse.linuxtools.gdbtrace.core/.project34
-rw-r--r--lttng/org.eclipse.linuxtools.gdbtrace.core/.settings/org.eclipse.core.resources.prefs2
-rw-r--r--lttng/org.eclipse.linuxtools.gdbtrace.core/.settings/org.eclipse.core.runtime.prefs2
-rw-r--r--lttng/org.eclipse.linuxtools.gdbtrace.core/.settings/org.eclipse.jdt.core.prefs394
-rw-r--r--lttng/org.eclipse.linuxtools.gdbtrace.core/.settings/org.eclipse.jdt.ui.prefs56
-rw-r--r--lttng/org.eclipse.linuxtools.gdbtrace.core/.settings/org.eclipse.pde.api.tools.prefs97
-rw-r--r--lttng/org.eclipse.linuxtools.gdbtrace.core/.settings/org.eclipse.pde.prefs32
-rw-r--r--lttng/org.eclipse.linuxtools.gdbtrace.core/META-INF/MANIFEST.MF24
-rw-r--r--lttng/org.eclipse.linuxtools.gdbtrace.core/about.html28
-rw-r--r--lttng/org.eclipse.linuxtools.gdbtrace.core/build.properties22
-rw-r--r--lttng/org.eclipse.linuxtools.gdbtrace.core/plugin.properties15
-rw-r--r--lttng/org.eclipse.linuxtools.gdbtrace.core/plugin.xml19
-rw-r--r--lttng/org.eclipse.linuxtools.gdbtrace.core/pom.xml36
-rw-r--r--lttng/org.eclipse.linuxtools.gdbtrace.core/src/org/eclipse/linuxtools/internal/gdbtrace/core/Activator.java140
-rw-r--r--lttng/org.eclipse.linuxtools.gdbtrace.core/src/org/eclipse/linuxtools/internal/gdbtrace/core/GdbTraceCorePlugin.java85
-rw-r--r--lttng/org.eclipse.linuxtools.gdbtrace.core/src/org/eclipse/linuxtools/internal/gdbtrace/core/event/GdbTraceEvent.java64
-rw-r--r--lttng/org.eclipse.linuxtools.gdbtrace.core/src/org/eclipse/linuxtools/internal/gdbtrace/core/event/GdbTraceEventContent.java92
-rw-r--r--lttng/org.eclipse.linuxtools.gdbtrace.core/src/org/eclipse/linuxtools/internal/gdbtrace/core/trace/DsfGdbAdaptor.java878
-rw-r--r--lttng/org.eclipse.linuxtools.gdbtrace.core/src/org/eclipse/linuxtools/internal/gdbtrace/core/trace/GdbTrace.java227
-rw-r--r--lttng/org.eclipse.linuxtools.gdbtrace.core/src/org/eclipse/linuxtools/internal/gdbtrace/core/trace/Messages.java52
-rw-r--r--lttng/org.eclipse.linuxtools.gdbtrace.core/src/org/eclipse/linuxtools/internal/gdbtrace/core/trace/messages.properties18
-rw-r--r--lttng/org.eclipse.linuxtools.gdbtrace.help/.empty.dtd0
-rw-r--r--lttng/org.eclipse.linuxtools.gdbtrace.help/.externalToolBuilders/Help Builder.launch17
-rw-r--r--lttng/org.eclipse.linuxtools.gdbtrace.help/.project36
-rw-r--r--lttng/org.eclipse.linuxtools.gdbtrace.help/.settings/org.eclipse.core.resources.prefs2
-rw-r--r--lttng/org.eclipse.linuxtools.gdbtrace.help/.settings/org.eclipse.core.runtime.prefs2
-rw-r--r--lttng/org.eclipse.linuxtools.gdbtrace.help/META-INF/MANIFEST.MF8
-rw-r--r--lttng/org.eclipse.linuxtools.gdbtrace.help/README19
-rw-r--r--lttng/org.eclipse.linuxtools.gdbtrace.help/about.html28
-rw-r--r--lttng/org.eclipse.linuxtools.gdbtrace.help/book.css59
-rw-r--r--lttng/org.eclipse.linuxtools.gdbtrace.help/build.properties21
-rw-r--r--lttng/org.eclipse.linuxtools.gdbtrace.help/build.xml97
-rw-r--r--lttng/org.eclipse.linuxtools.gdbtrace.help/doc/.gitignore2
-rw-r--r--lttng/org.eclipse.linuxtools.gdbtrace.help/doc/User-Guide.mediawiki90
-rw-r--r--lttng/org.eclipse.linuxtools.gdbtrace.help/doc/images/GDBTracePerspective.pngbin167177 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.gdbtrace.help/doc/images/gdb_icon16.pngbin330 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.gdbtrace.help/doc/images/home.gifbin582 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.gdbtrace.help/doc/images/next.gifbin327 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.gdbtrace.help/doc/images/prev.gifbin327 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.gdbtrace.help/plugin.properties15
-rw-r--r--lttng/org.eclipse.linuxtools.gdbtrace.help/plugin.xml18
-rw-r--r--lttng/org.eclipse.linuxtools.gdbtrace.help/pom.xml86
-rw-r--r--lttng/org.eclipse.linuxtools.gdbtrace.ui.tests/.classpath7
-rw-r--r--lttng/org.eclipse.linuxtools.gdbtrace.ui.tests/.project34
-rw-r--r--lttng/org.eclipse.linuxtools.gdbtrace.ui.tests/.settings/org.eclipse.core.resources.prefs2
-rw-r--r--lttng/org.eclipse.linuxtools.gdbtrace.ui.tests/.settings/org.eclipse.core.runtime.prefs2
-rw-r--r--lttng/org.eclipse.linuxtools.gdbtrace.ui.tests/.settings/org.eclipse.jdt.core.prefs393
-rw-r--r--lttng/org.eclipse.linuxtools.gdbtrace.ui.tests/.settings/org.eclipse.jdt.ui.prefs56
-rw-r--r--lttng/org.eclipse.linuxtools.gdbtrace.ui.tests/.settings/org.eclipse.pde.api.tools.prefs97
-rw-r--r--lttng/org.eclipse.linuxtools.gdbtrace.ui.tests/.settings/org.eclipse.pde.prefs32
-rw-r--r--lttng/org.eclipse.linuxtools.gdbtrace.ui.tests/META-INF/MANIFEST.MF14
-rw-r--r--lttng/org.eclipse.linuxtools.gdbtrace.ui.tests/about.html28
-rw-r--r--lttng/org.eclipse.linuxtools.gdbtrace.ui.tests/build.properties18
-rw-r--r--lttng/org.eclipse.linuxtools.gdbtrace.ui.tests/plugin.properties15
-rw-r--r--lttng/org.eclipse.linuxtools.gdbtrace.ui.tests/pom.xml44
-rw-r--r--lttng/org.eclipse.linuxtools.gdbtrace.ui.tests/src/org/eclipse/linuxtools/gdbtrace/ui/tests/AllGdbTraceUITests.java28
-rw-r--r--lttng/org.eclipse.linuxtools.gdbtrace.ui.tests/src/org/eclipse/linuxtools/gdbtrace/ui/tests/GdbTraceUIPluginTest.java45
-rw-r--r--lttng/org.eclipse.linuxtools.gdbtrace.ui/.classpath7
-rw-r--r--lttng/org.eclipse.linuxtools.gdbtrace.ui/.project34
-rw-r--r--lttng/org.eclipse.linuxtools.gdbtrace.ui/.settings/org.eclipse.core.resources.prefs2
-rw-r--r--lttng/org.eclipse.linuxtools.gdbtrace.ui/.settings/org.eclipse.core.runtime.prefs2
-rw-r--r--lttng/org.eclipse.linuxtools.gdbtrace.ui/.settings/org.eclipse.jdt.core.prefs394
-rw-r--r--lttng/org.eclipse.linuxtools.gdbtrace.ui/.settings/org.eclipse.jdt.ui.prefs56
-rw-r--r--lttng/org.eclipse.linuxtools.gdbtrace.ui/.settings/org.eclipse.pde.api.tools.prefs97
-rw-r--r--lttng/org.eclipse.linuxtools.gdbtrace.ui/.settings/org.eclipse.pde.prefs32
-rw-r--r--lttng/org.eclipse.linuxtools.gdbtrace.ui/META-INF/MANIFEST.MF28
-rw-r--r--lttng/org.eclipse.linuxtools.gdbtrace.ui/about.html28
-rw-r--r--lttng/org.eclipse.linuxtools.gdbtrace.ui/build.properties23
-rw-r--r--lttng/org.eclipse.linuxtools.gdbtrace.ui/icons/obj16/gdb_icon16.pngbin330 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.gdbtrace.ui/plugin.properties22
-rw-r--r--lttng/org.eclipse.linuxtools.gdbtrace.ui/plugin.xml101
-rw-r--r--lttng/org.eclipse.linuxtools.gdbtrace.ui/pom.xml36
-rw-r--r--lttng/org.eclipse.linuxtools.gdbtrace.ui/src/org/eclipse/linuxtools/internal/gdbtrace/ui/GdbTraceUIPlugin.java73
-rw-r--r--lttng/org.eclipse.linuxtools.gdbtrace.ui/src/org/eclipse/linuxtools/internal/gdbtrace/ui/views/GdbPerspectiveFactory.java79
-rw-r--r--lttng/org.eclipse.linuxtools.gdbtrace.ui/src/org/eclipse/linuxtools/internal/gdbtrace/ui/views/events/GdbEventTableColumns.java82
-rw-r--r--lttng/org.eclipse.linuxtools.gdbtrace.ui/src/org/eclipse/linuxtools/internal/gdbtrace/ui/views/events/GdbEventsTable.java135
-rw-r--r--lttng/org.eclipse.linuxtools.gdbtrace.ui/src/org/eclipse/linuxtools/internal/gdbtrace/ui/views/project/dialogs/Messages.java34
-rw-r--r--lttng/org.eclipse.linuxtools.gdbtrace.ui/src/org/eclipse/linuxtools/internal/gdbtrace/ui/views/project/dialogs/SelectTraceExecutableDialog.java190
-rw-r--r--lttng/org.eclipse.linuxtools.gdbtrace.ui/src/org/eclipse/linuxtools/internal/gdbtrace/ui/views/project/dialogs/messages.properties18
-rw-r--r--lttng/org.eclipse.linuxtools.gdbtrace.ui/src/org/eclipse/linuxtools/internal/gdbtrace/ui/views/project/handlers/SelectTraceExecutableHandler.java71
-rw-r--r--lttng/org.eclipse.linuxtools.gdbtrace/.project17
-rw-r--r--lttng/org.eclipse.linuxtools.gdbtrace/.settings/org.eclipse.core.resources.prefs2
-rw-r--r--lttng/org.eclipse.linuxtools.gdbtrace/.settings/org.eclipse.core.runtime.prefs2
-rw-r--r--lttng/org.eclipse.linuxtools.gdbtrace/build.properties15
-rw-r--r--lttng/org.eclipse.linuxtools.gdbtrace/feature.properties21
-rw-r--r--lttng/org.eclipse.linuxtools.gdbtrace/feature.xml65
-rw-r--r--lttng/org.eclipse.linuxtools.gdbtrace/p2.inf3
-rw-r--r--lttng/org.eclipse.linuxtools.gdbtrace/pom.xml64
-rw-r--r--lttng/org.eclipse.linuxtools.lttng.alltests/.classpath7
-rw-r--r--lttng/org.eclipse.linuxtools.lttng.alltests/.gitignore1
-rw-r--r--lttng/org.eclipse.linuxtools.lttng.alltests/.project34
-rw-r--r--lttng/org.eclipse.linuxtools.lttng.alltests/.settings/org.eclipse.core.resources.prefs2
-rw-r--r--lttng/org.eclipse.linuxtools.lttng.alltests/.settings/org.eclipse.core.runtime.prefs2
-rw-r--r--lttng/org.eclipse.linuxtools.lttng.alltests/.settings/org.eclipse.jdt.core.prefs393
-rw-r--r--lttng/org.eclipse.linuxtools.lttng.alltests/.settings/org.eclipse.jdt.ui.prefs56
-rw-r--r--lttng/org.eclipse.linuxtools.lttng.alltests/.settings/org.eclipse.pde.api.tools.prefs97
-rw-r--r--lttng/org.eclipse.linuxtools.lttng.alltests/.settings/org.eclipse.pde.prefs32
-rw-r--r--lttng/org.eclipse.linuxtools.lttng.alltests/META-INF/MANIFEST.MF39
-rw-r--r--lttng/org.eclipse.linuxtools.lttng.alltests/RunAllCoreTests.launch41
-rw-r--r--lttng/org.eclipse.linuxtools.lttng.alltests/about.html28
-rw-r--r--lttng/org.eclipse.linuxtools.lttng.alltests/build.properties18
-rw-r--r--lttng/org.eclipse.linuxtools.lttng.alltests/plugin.properties15
-rw-r--r--lttng/org.eclipse.linuxtools.lttng.alltests/pom.xml100
-rw-r--r--lttng/org.eclipse.linuxtools.lttng.alltests/src/org/eclipse/linuxtools/lttng/alltests/Activator.java173
-rw-r--r--lttng/org.eclipse.linuxtools.lttng.alltests/src/org/eclipse/linuxtools/lttng/alltests/RunAllCoreTests.java39
-rw-r--r--lttng/org.eclipse.linuxtools.lttng.alltests/src/org/eclipse/linuxtools/lttng/alltests/RunAllUITests.java32
-rw-r--r--lttng/org.eclipse.linuxtools.lttng.alltests/src/org/eclipse/linuxtools/lttng/alltests/perf/PerfResultsToJSon.java624
-rw-r--r--lttng/org.eclipse.linuxtools.lttng.alltests/src/org/eclipse/linuxtools/lttng/alltests/perf/RunAllPerfTests.java31
-rw-r--r--lttng/org.eclipse.linuxtools.lttng.alltests/src/org/eclipse/linuxtools/lttng/alltests/swtbot/RunAllSWTBotTests.java33
-rw-r--r--lttng/org.eclipse.linuxtools.lttng.help/.empty.dtd0
-rw-r--r--lttng/org.eclipse.linuxtools.lttng.help/.externalToolBuilders/Lttng Help Build.launch17
-rw-r--r--lttng/org.eclipse.linuxtools.lttng.help/.project36
-rw-r--r--lttng/org.eclipse.linuxtools.lttng.help/.settings/org.eclipse.core.resources.prefs2
-rw-r--r--lttng/org.eclipse.linuxtools.lttng.help/.settings/org.eclipse.core.runtime.prefs2
-rw-r--r--lttng/org.eclipse.linuxtools.lttng.help/META-INF/MANIFEST.MF8
-rw-r--r--lttng/org.eclipse.linuxtools.lttng.help/README19
-rw-r--r--lttng/org.eclipse.linuxtools.lttng.help/about.html28
-rw-r--r--lttng/org.eclipse.linuxtools.lttng.help/book.css59
-rw-r--r--lttng/org.eclipse.linuxtools.lttng.help/build.properties22
-rw-r--r--lttng/org.eclipse.linuxtools.lttng.help/build.xml90
-rw-r--r--lttng/org.eclipse.linuxtools.lttng.help/doc/.gitignore2
-rw-r--r--lttng/org.eclipse.linuxtools.lttng.help/doc/User-Guide.mediawiki2333
-rw-r--r--lttng/org.eclipse.linuxtools.lttng.help/doc/images/Bookmarks.pngbin84691 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.lttng.help/doc/images/Cfv_global.pngbin74412 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.lttng.help/doc/images/Cfv_legend.pngbin24526 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.lttng.help/doc/images/Cfv_process_tree.pngbin29979 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.lttng.help/doc/images/Cfv_show_view.pngbin17625 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.lttng.help/doc/images/Cfv_small_dots.pngbin3952 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.lttng.help/doc/images/Cfv_tooltip.pngbin18960 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.lttng.help/doc/images/Cfv_zoom.pngbin5607 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.lttng.help/doc/images/Cfv_zoom_region.pngbin4238 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.lttng.help/doc/images/Channel.gifbin200 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.lttng.help/doc/images/Channel_disabled.gifbin213 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.lttng.help/doc/images/ColorsView.pngbin101625 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.lttng.help/doc/images/CopyExperimentDialog.pngbin18328 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.lttng.help/doc/images/CopyTraceAction.pngbin36556 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.lttng.help/doc/images/CopyTraceDialog.pngbin14803 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.lttng.help/doc/images/CustomTextParserInput.pngbin56481 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.lttng.help/doc/images/CustomTextParserOutput.pngbin39781 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.lttng.help/doc/images/CustomXMLParserInput.pngbin53708 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.lttng.help/doc/images/CustomXMLParserOutput.pngbin37772 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.lttng.help/doc/images/DefaultTmfEvents-Filter.pngbin91994 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.lttng.help/doc/images/DefaultTmfEvents-Search.pngbin84012 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.lttng.help/doc/images/DeleteExperimentAction.pngbin44032 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.lttng.help/doc/images/DeleteExperimentConfirmationDialog.pngbin14806 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.lttng.help/doc/images/DeleteSupplementaryFilesAction.pngbin27492 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.lttng.help/doc/images/DeleteSupplementaryFilesDialog.pngbin55874 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.lttng.help/doc/images/Event_disabled.gifbin130 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.lttng.help/doc/images/Event_enabled.gifbin183 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.lttng.help/doc/images/ExplorerWithAssociatedTraceType.pngbin18771 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.lttng.help/doc/images/ExplorerWithExperiment.pngbin30038 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.lttng.help/doc/images/FiltersView.pngbin61101 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.lttng.help/doc/images/HistogramView.pngbin24250 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2AddContextDialog.pngbin28542 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2AddContextOnChannelAction.pngbin30935 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2AddContextOnDomainAction.pngbin26672 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2AddContextToEventsAction.pngbin39652 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2AssignEventAction.pngbin47123 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2AssignEventDialog.pngbin14552 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2AssignEventDialogWithFilter.pngbin13587 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2AssignedEvents.pngbin30527 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2CalibrateAction.pngbin33536 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2ControlViewConnect.pngbin14947 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2ControlViewDelete.pngbin14888 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2ControlViewDisconnect.pngbin29688 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2ControlViewFilled.pngbin49082 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2CreateChannelAction.pngbin32896 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2CreateChannelDialog.pngbin28004 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2CreateChannelDialogFileRotation.pngbin38686 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2CreateChannelDialogMetadataFlush.pngbin38739 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2CreateChannelDialogPerUIDBuffers.pngbin42979 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2CreateChannelOnDomainAction.pngbin33753 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2CreateSessionAction.pngbin15969 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2CreateSessionDialog.pngbin11299 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2CreateSessionDialog_Advanced.pngbin13269 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2CreateSessionDialog_Live.pngbin7773 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2CreateSessionDialog_Live_Advanced.pngbin13030 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2CreateSessionDialog_Snapshot.pngbin7814 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2CreateSessionDialog_TracePath.pngbin24219 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2DestroyConfirmationDialog.pngbin15749 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2DestroySessionAction.pngbin42072 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2DisableChannelAction.pngbin24699 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2DisableEventAction.pngbin48337 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2EnableChannelAction.pngbin24993 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2EnableEventAction.pngbin48542 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2EnableEventWithFilter.pngbin29786 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2EnabledAllUstTracepoints.pngbin17700 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2EnabledFunctionProbeEvent.pngbin31304 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2EnabledKernelProbeEvent.pngbin29444 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2EnabledKernelSyscalls.pngbin27709 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2EnabledKernelTracepoints.pngbin25535 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2EnabledUstLoglevelEvents.pngbin20351 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2EnabledUstWildcardEvents.pngbin23734 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2EnterPassword.pngbin10700 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2EnvironmentsView.pngbin21412 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2EventOnChannelAction.pngbin37611 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2EventOnDomainAction.pngbin27214 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2EventOnSessionAction.pngbin33492 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2EventOnSessionDialog.pngbin34160 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2EventProperties.pngbin20726 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2EventsEditor.pngbin112951 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2FunctionEventDialog.pngbin35808 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2ImportAction.pngbin36172 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2ImportDialog.pngbin38707 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2ImportOverwriteConfirmationDialog.pngbin15199 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2ImportRenameDialog.pngbin15362 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2NewConnection.pngbin17364 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2NewRemoteConnection.pngbin24804 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2Preferences.pngbin55997 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2PreferencesGroup.pngbin56717 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2PreferencesLogging.pngbin58141 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2PreferencesTimeout.pngbin56796 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2ProbeEventDialog.pngbin35501 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2PropertyView.pngbin14317 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2RecordSnapshotAction.pngbin32176 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2RefreshAction.pngbin42080 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2SelectConnection.pngbin19552 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2StartTracingAction.pngbin43450 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2StatisticsView.pngbin52054 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2StopTracingAction.pngbin41437 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2SyscallsDialog.pngbin32424 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2TracepointEventsDialog.pngbin43221 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2UstLoglevelEventsDialog.pngbin32082 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2UstTracepointEventsDialog.pngbin39337 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2UstWildcardEventsDialog.pngbin28831 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTngControlView.pngbin7078 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTngControlViewConnect.pngbin7242 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTngKernelPerspective.pngbin168462 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng_CpuUsageView.pngbin126265 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng_CpuUsageViewToolTip.pngbin49413 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng_OpenCpuUsageView.pngbin16171 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.lttng.help/doc/images/ManageCustomParsers.pngbin13345 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.lttng.help/doc/images/NewExperimentAction.pngbin29821 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.lttng.help/doc/images/NewExperimentDialog.pngbin12855 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.lttng.help/doc/images/NewProjectExplorer.pngbin9882 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.lttng.help/doc/images/NewTracingProjectPage1.pngbin34105 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.lttng.help/doc/images/NewTracingProjectPage2.pngbin36421 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.lttng.help/doc/images/OpenLTTngKernelPerspective.pngbin34911 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.lttng.help/doc/images/OpenTraceAction.pngbin36247 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.lttng.help/doc/images/OpenTraceFile.pngbin36614 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.lttng.help/doc/images/ProjectImportTraceAction.pngbin29240 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.lttng.help/doc/images/ProjectImportTraceDialog.pngbin18275 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.lttng.help/doc/images/ProjectImportTraceDialogRename.pngbin6531 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.lttng.help/doc/images/ProjectImportWizardSelect.pngbin39363 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.lttng.help/doc/images/RV_infobox1.pngbin45654 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.lttng.help/doc/images/RV_infobox2.pngbin47445 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.lttng.help/doc/images/RemoveTracesAction.pngbin33255 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.lttng.help/doc/images/RenameExperimentDialog.pngbin16680 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.lttng.help/doc/images/RenameTraceAction.pngbin33933 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.lttng.help/doc/images/RenameTraceDialog.pngbin13999 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.lttng.help/doc/images/Rv_example.pngbin31380 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.lttng.help/doc/images/Rv_legend.pngbin26987 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.lttng.help/doc/images/SelectGenericCTFTraceType.pngbin42180 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.lttng.help/doc/images/SelectLTTngKernelTraceType.pngbin39559 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.lttng.help/doc/images/SelectTracesAction.pngbin31729 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.lttng.help/doc/images/SelectTracesDialog.pngbin9157 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.lttng.help/doc/images/Session_active.gifbin970 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.lttng.help/doc/images/Session_inactive.gifbin1004 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.lttng.help/doc/images/ShowTracingPerspective.pngbin32763 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.lttng.help/doc/images/ShowTracingViews.pngbin32427 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.lttng.help/doc/images/Sync_cfv.pngbin95565 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.lttng.help/doc/images/Sync_menu.pngbin17189 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.lttng.help/doc/images/Sync_view.pngbin35373 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.lttng.help/doc/images/TMF_LinkWithEditor.pngbin9745 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.lttng.help/doc/images/TablePostCollapse.pngbin41184 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.lttng.help/doc/images/TablePreCollapse.pngbin60349 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.lttng.help/doc/images/Target_connected.gifbin374 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.lttng.help/doc/images/Target_disconnected.gifbin582 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.lttng.help/doc/images/TimeChartView.pngbin12745 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.lttng.help/doc/images/TimeOffsetAdvancedComputeOffset.pngbin54024 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.lttng.help/doc/images/TimeOffsetAdvancedDialog.pngbin36588 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.lttng.help/doc/images/TimeOffsetAdvancedSetReference.pngbin78224 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.lttng.help/doc/images/TimeOffsetAdvancedSetTarget.pngbin78538 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.lttng.help/doc/images/TimeOffsetApply.pngbin16049 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.lttng.help/doc/images/TimeOffsetBasicDialog.pngbin27511 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.lttng.help/doc/images/TimeOffsetBasicDialogFilled.pngbin27567 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.lttng.help/doc/images/TimeOffsetProperty.pngbin22497 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.lttng.help/doc/images/TmfEventFilter.gifbin220 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.lttng.help/doc/images/TmfEventSearch.gifbin347 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.lttng.help/doc/images/TmfTimestampFormatPage.pngbin27595 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.lttng.help/doc/images/TracingPerspective.pngbin162442 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.lttng.help/doc/images/XML_xy_chart.pngbin68469 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.lttng.help/doc/images/Xml_analysis_screenshot.pngbin99345 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.lttng.help/doc/images/filter_items.gifbin220 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.lttng.help/doc/images/follow_arrow_bwd.gifbin204 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.lttng.help/doc/images/follow_arrow_fwd.gifbin312 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.lttng.help/doc/images/hide_arrows.gifbin111 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.lttng.help/doc/images/hide_lost_events.gifbin108 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.lttng.help/doc/images/home.gifbin582 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.lttng.help/doc/images/home_nav.gifbin583 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.lttng.help/doc/images/import.gifbin327 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.lttng.help/doc/images/import_XML_analysis.pngbin30729 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.lttng.help/doc/images/link.gifbin130 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.lttng.help/doc/images/memoryUsage/memory-usage-multithread.pngbin39693 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.lttng.help/doc/images/memoryUsage/memory-usage-no-thread-info.pngbin24578 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.lttng.help/doc/images/next.gifbin327 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.lttng.help/doc/images/next_event.gifbin556 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.lttng.help/doc/images/next_menu.gifbin542 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.lttng.help/doc/images/prev.gifbin327 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.lttng.help/doc/images/prev_event.gifbin554 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.lttng.help/doc/images/prev_menu.gifbin322 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.lttng.help/doc/images/show_hist_traces.gifbin88 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.lttng.help/doc/images/show_legend.gifbin200 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.lttng.help/doc/images/tracePackageImages/chooseTrace.pngbin27750 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.lttng.help/doc/images/tracePackageImages/exportPackage.pngbin62267 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.lttng.help/doc/images/tracePackageImages/exportSelectedTrace.pngbin58341 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.lttng.help/doc/images/tracePackageImages/fileExport.pngbin36909 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.lttng.help/doc/images/tracePackageImages/fileImport.pngbin10957 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.lttng.help/doc/images/tracePackageImages/importPackage.pngbin60893 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.lttng.help/doc/images/tracePackageImages/importTraceFolder.pngbin26423 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.lttng.help/doc/images/zoomin_nav.gifbin560 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.lttng.help/doc/images/zoomout_nav.gifbin560 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.lttng.help/images/home.gifbin582 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.lttng.help/images/next.gifbin327 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.lttng.help/images/prev.gifbin327 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.lttng.help/plugin.properties15
-rw-r--r--lttng/org.eclipse.linuxtools.lttng.help/plugin.xml10
-rw-r--r--lttng/org.eclipse.linuxtools.lttng.help/pom.xml86
-rw-r--r--lttng/org.eclipse.linuxtools.lttng.help/reference/api/allclasses-frame.html18
-rw-r--r--lttng/org.eclipse.linuxtools.lttng.help/reference/api/allclasses-noframe.html18
-rw-r--r--lttng/org.eclipse.linuxtools.lttng.help/reference/api/constant-values.html61
-rw-r--r--lttng/org.eclipse.linuxtools.lttng.help/reference/api/deprecated-list.html59
-rw-r--r--lttng/org.eclipse.linuxtools.lttng.help/reference/api/help-doc.html110
-rw-r--r--lttng/org.eclipse.linuxtools.lttng.help/reference/api/index.html64
-rw-r--r--lttng/org.eclipse.linuxtools.lttng.help/reference/api/org/eclipse/linuxtools/tmf/core/timestamp/TmfTimestampFormat.html622
-rw-r--r--lttng/org.eclipse.linuxtools.lttng.help/reference/api/org/eclipse/linuxtools/tmf/core/timestamp/package-frame.html19
-rw-r--r--lttng/org.eclipse.linuxtools.lttng.help/reference/api/org/eclipse/linuxtools/tmf/core/timestamp/package-summary.html46
-rw-r--r--lttng/org.eclipse.linuxtools.lttng.help/reference/api/package-list1
-rw-r--r--lttng/org.eclipse.linuxtools.lttng.help/reference/api/resources/background.gifbin2313 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.lttng.help/reference/api/resources/tab.gifbin291 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.lttng.help/reference/api/resources/titlebar.gifbin10701 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.lttng.help/reference/api/resources/titlebar_end.gifbin849 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.lttng.help/reference/api/serialized-form.html107
-rw-r--r--lttng/org.eclipse.linuxtools.lttng.help/reference/api/stylesheet.css474
-rw-r--r--lttng/org.eclipse.linuxtools.lttng.releng-site/.project17
-rw-r--r--lttng/org.eclipse.linuxtools.lttng.releng-site/category.xml30
-rw-r--r--lttng/org.eclipse.linuxtools.lttng.releng-site/pom.xml63
-rw-r--r--lttng/org.eclipse.linuxtools.lttng.target/.project11
-rw-r--r--lttng/org.eclipse.linuxtools.lttng.target/lttng-e3.8.target57
-rw-r--r--lttng/org.eclipse.linuxtools.lttng.target/lttng-e4.2.target53
-rw-r--r--lttng/org.eclipse.linuxtools.lttng.target/lttng-e4.3.target48
-rw-r--r--lttng/org.eclipse.linuxtools.lttng.target/lttng-e4.4.target48
-rw-r--r--lttng/org.eclipse.linuxtools.lttng.target/lttng-eStaging.target48
-rw-r--r--lttng/org.eclipse.linuxtools.lttng.testing/.project17
-rw-r--r--lttng/org.eclipse.linuxtools.lttng.testing/.settings/org.eclipse.core.resources.prefs2
-rw-r--r--lttng/org.eclipse.linuxtools.lttng.testing/.settings/org.eclipse.core.runtime.prefs2
-rw-r--r--lttng/org.eclipse.linuxtools.lttng.testing/build.properties15
-rw-r--r--lttng/org.eclipse.linuxtools.lttng.testing/feature.properties20
-rw-r--r--lttng/org.eclipse.linuxtools.lttng.testing/feature.xml173
-rw-r--r--lttng/org.eclipse.linuxtools.lttng.testing/p2.inf3
-rw-r--r--lttng/org.eclipse.linuxtools.lttng.testing/pom.xml57
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.core.tests/.classpath7
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.core.tests/.project34
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.core.tests/.settings/org.eclipse.core.resources.prefs2
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.core.tests/.settings/org.eclipse.core.runtime.prefs2
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.core.tests/.settings/org.eclipse.jdt.core.prefs393
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.core.tests/.settings/org.eclipse.jdt.ui.prefs56
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.core.tests/.settings/org.eclipse.pde.api.tools.prefs97
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.core.tests/.settings/org.eclipse.pde.prefs32
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.core.tests/META-INF/MANIFEST.MF16
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.core.tests/about.html28
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.core.tests/build.properties18
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.core.tests/plugin.properties15
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.core.tests/pom.xml44
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.core.tests/src/org/eclipse/linuxtools/lttng2/control/core/tests/ActivatorTest.java61
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.core.tests/src/org/eclipse/linuxtools/lttng2/control/core/tests/AllTests.java31
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.core.tests/src/org/eclipse/linuxtools/lttng2/control/core/tests/model/impl/AllTests.java37
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.core.tests/src/org/eclipse/linuxtools/lttng2/control/core/tests/model/impl/BaseEventInfoTest.java567
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.core.tests/src/org/eclipse/linuxtools/lttng2/control/core/tests/model/impl/ChannelInfoTest.java382
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.core.tests/src/org/eclipse/linuxtools/lttng2/control/core/tests/model/impl/DomainInfoTest.java225
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.core.tests/src/org/eclipse/linuxtools/lttng2/control/core/tests/model/impl/EventInfoTest.java366
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.core.tests/src/org/eclipse/linuxtools/lttng2/control/core/tests/model/impl/FieldInfoTest.java186
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.core.tests/src/org/eclipse/linuxtools/lttng2/control/core/tests/model/impl/ModelImplFactory.java244
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.core.tests/src/org/eclipse/linuxtools/lttng2/control/core/tests/model/impl/ProbeEventInfoTest.java219
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.core.tests/src/org/eclipse/linuxtools/lttng2/control/core/tests/model/impl/SessionInfoTest.java311
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.core.tests/src/org/eclipse/linuxtools/lttng2/control/core/tests/model/impl/SnapshotInfoTest.java229
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.core.tests/src/org/eclipse/linuxtools/lttng2/control/core/tests/model/impl/TraceInfoTest.java199
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.core.tests/src/org/eclipse/linuxtools/lttng2/control/core/tests/model/impl/UstProviderInfoTest.java254
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.core.tests/src/org/eclipse/linuxtools/lttng2/control/core/tests/relayd/LttngRelayd24Test.java108
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.core.tests/src/org/eclipse/linuxtools/lttng2/control/core/tests/session/AllTests.java26
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.core.tests/src/org/eclipse/linuxtools/lttng2/control/core/tests/session/SessionConfigGeneratorTest.java156
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.core.tests/test_session_config_files/test_invalid.lttng55
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.core.tests/test_session_config_files/test_valid.lttng56
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.core/.classpath7
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.core/.project34
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.core/.settings/org.eclipse.core.resources.prefs2
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.core/.settings/org.eclipse.core.runtime.prefs2
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.core/.settings/org.eclipse.jdt.core.prefs394
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.core/.settings/org.eclipse.jdt.ui.prefs56
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.core/.settings/org.eclipse.pde.api.tools.prefs97
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.core/.settings/org.eclipse.pde.prefs32
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.core/META-INF/MANIFEST.MF22
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.core/about.html28
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.core/build.properties21
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.core/plugin.properties15
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.core/pom.xml36
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/Activator.java136
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/model/IBaseEventInfo.java89
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/model/IChannelInfo.java157
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/model/IDomainInfo.java69
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/model/IEventInfo.java58
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/model/IFieldInfo.java34
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/model/IProbeEventInfo.java55
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/model/ISessionInfo.java222
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/model/ISnapshotInfo.java62
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/model/ITraceInfo.java35
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/model/IUstProviderInfo.java52
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/model/LogLevelType.java104
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/model/TargetNodeState.java30
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/model/TraceChannelOutputType.java74
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/model/TraceDomainType.java64
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/model/TraceEnablement.java91
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/model/TraceEventType.java65
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/model/TraceLogLevel.java114
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/model/TraceSessionState.java96
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/model/impl/BaseEventInfo.java223
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/model/impl/BufferType.java116
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/model/impl/ChannelInfo.java353
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/model/impl/DomainInfo.java173
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/model/impl/EventInfo.java139
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/model/impl/FieldInfo.java109
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/model/impl/ProbeEventInfo.java187
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/model/impl/SessionInfo.java333
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/model/impl/SnapshotInfo.java150
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/model/impl/TraceInfo.java113
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/model/impl/UstProviderInfo.java162
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/relayd/ILttngRelaydConnector.java119
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/relayd/LttngRelaydConnectorFactory.java78
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/relayd/impl/LttngRelaydConnector_2_4.java181
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/relayd/impl/LttngRelaydConnector_Unsupported.java76
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/relayd/lttngviewerCommands/AttachReturnCode.java47
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/relayd/lttngviewerCommands/AttachSessionRequest.java81
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/relayd/lttngviewerCommands/AttachSessionResponse.java95
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/relayd/lttngviewerCommands/Command.java56
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/relayd/lttngviewerCommands/ConnectResponse.java119
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/relayd/lttngviewerCommands/ConnectionType.java40
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/relayd/lttngviewerCommands/CreateSessionResponse.java62
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/relayd/lttngviewerCommands/CreateSessionReturnCode.java39
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/relayd/lttngviewerCommands/GetMetadata.java65
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/relayd/lttngviewerCommands/GetMetadataReturnCode.java42
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/relayd/lttngviewerCommands/GetNextIndex.java64
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/relayd/lttngviewerCommands/GetPacket.java94
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/relayd/lttngviewerCommands/GetPacketReturnCode.java44
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/relayd/lttngviewerCommands/IBaseCommand.java30
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/relayd/lttngviewerCommands/IRelayCommand.java31
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/relayd/lttngviewerCommands/IRelayResponse.java24
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/relayd/lttngviewerCommands/IndexResponse.java163
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/relayd/lttngviewerCommands/ListSessionsResponse.java72
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/relayd/lttngviewerCommands/LttngViewerCommands.java37
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/relayd/lttngviewerCommands/MetadataPacketResponse.java79
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/relayd/lttngviewerCommands/NewStreamsRequest.java53
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/relayd/lttngviewerCommands/NewStreamsResponse.java96
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/relayd/lttngviewerCommands/NewStreamsReturnCode.java43
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/relayd/lttngviewerCommands/NextIndexReturnCode.java47
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/relayd/lttngviewerCommands/SeekCommand.java44
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/relayd/lttngviewerCommands/SessionResponse.java128
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/relayd/lttngviewerCommands/StreamResponse.java127
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/relayd/lttngviewerCommands/TracePacketResponse.java93
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/relayd/lttngviewerCommands/ViewerCommand.java96
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/lttng2/control/core/session/Messages.java46
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/lttng2/control/core/session/SessionConfigGenerator.java539
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/lttng2/control/core/session/SessionConfigStrings.java82
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/lttng2/control/core/session/messages.properties23
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/lttng2/control/core/session/session.xsd295
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.ui.tests/.classpath8
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.ui.tests/.project34
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.ui.tests/.settings/org.eclipse.core.resources.prefs2
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.ui.tests/.settings/org.eclipse.core.runtime.prefs2
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.ui.tests/.settings/org.eclipse.jdt.core.prefs393
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.ui.tests/.settings/org.eclipse.jdt.ui.prefs56
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.ui.tests/.settings/org.eclipse.pde.api.tools.prefs97
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.ui.tests/.settings/org.eclipse.pde.prefs32
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.ui.tests/META-INF/MANIFEST.MF23
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.ui.tests/about.html28
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.ui.tests/build.properties19
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.ui.tests/plugin.properties15
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.ui.tests/pom.xml45
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.ui.tests/src/org/eclipse/linuxtools/lttng2/control/ui/tests/ActivatorTest.java60
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.ui.tests/src/org/eclipse/linuxtools/lttng2/control/ui/tests/AllTests.java30
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.ui.tests/src/org/eclipse/linuxtools/lttng2/control/ui/tests/model/component/AllTests.java39
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.ui.tests/src/org/eclipse/linuxtools/lttng2/control/ui/tests/model/component/ListenerValidator.java94
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.ui.tests/src/org/eclipse/linuxtools/lttng2/control/ui/tests/model/component/TraceControlComponentTest.java540
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.ui.tests/src/org/eclipse/linuxtools/lttng2/control/ui/tests/model/component/TraceControlCreateSessionMiTests.java27
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.ui.tests/src/org/eclipse/linuxtools/lttng2/control/ui/tests/model/component/TraceControlCreateSessionTests.java283
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.ui.tests/src/org/eclipse/linuxtools/lttng2/control/ui/tests/model/component/TraceControlKernelProviderTests.java270
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.ui.tests/src/org/eclipse/linuxtools/lttng2/control/ui/tests/model/component/TraceControlKernelSessionTests.java822
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.ui.tests/src/org/eclipse/linuxtools/lttng2/control/ui/tests/model/component/TraceControlPropertiesTest.java364
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.ui.tests/src/org/eclipse/linuxtools/lttng2/control/ui/tests/model/component/TraceControlSnapshotSessionTests.java219
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.ui.tests/src/org/eclipse/linuxtools/lttng2/control/ui/tests/model/component/TraceControlTestFacility.java303
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.ui.tests/src/org/eclipse/linuxtools/lttng2/control/ui/tests/model/component/TraceControlTreeModelNoProvidersTest.java164
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.ui.tests/src/org/eclipse/linuxtools/lttng2/control/ui/tests/model/component/TraceControlTreeModelTest.java697
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.ui.tests/src/org/eclipse/linuxtools/lttng2/control/ui/tests/model/component/TraceControlUstProviderTests.java297
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.ui.tests/src/org/eclipse/linuxtools/lttng2/control/ui/tests/model/component/TraceControlUstSessionTests.java549
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.ui.tests/src/org/eclipse/linuxtools/lttng2/control/ui/tests/model/component/TraceControlUstSessionTests2.java307
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.ui.tests/src/org/eclipse/linuxtools/lttng2/control/ui/tests/service/AllTests.java29
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.ui.tests/src/org/eclipse/linuxtools/lttng2/control/ui/tests/service/LTTngControlServiceMiTest.java148
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.ui.tests/src/org/eclipse/linuxtools/lttng2/control/ui/tests/service/LTTngControlServiceTest.java1538
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.ui.tests/stubs/org/eclipse/linuxtools/internal/lttng2/control/stubs/dialogs/AddContextDialogStub.java63
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.ui.tests/stubs/org/eclipse/linuxtools/internal/lttng2/control/stubs/dialogs/CreateSessionDialogStub.java101
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.ui.tests/stubs/org/eclipse/linuxtools/internal/lttng2/control/stubs/dialogs/DestroyConfirmDialogStub.java26
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.ui.tests/stubs/org/eclipse/linuxtools/internal/lttng2/control/stubs/dialogs/EnableChannelDialogStub.java93
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.ui.tests/stubs/org/eclipse/linuxtools/internal/lttng2/control/stubs/dialogs/EnableEventsDialogStub.java234
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.ui.tests/stubs/org/eclipse/linuxtools/internal/lttng2/control/stubs/dialogs/GetEventInfoDialogStub.java68
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.ui.tests/stubs/org/eclipse/linuxtools/internal/lttng2/control/stubs/service/CommandShellFactory.java41
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.ui.tests/stubs/org/eclipse/linuxtools/internal/lttng2/control/stubs/service/TestRemoteSystemProxy.java93
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.ui.tests/stubs/org/eclipse/linuxtools/internal/lttng2/control/stubs/shells/LTTngToolsFileShell.java284
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.ui.tests/stubs/org/eclipse/linuxtools/internal/lttng2/control/stubs/shells/TestCommandShell.java48
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.ui.tests/testfiles/CreateSessionTest.cfg228
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.ui.tests/testfiles/CreateSessionTest2.cfg158
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.ui.tests/testfiles/CreateSessionTestMi.cfg528
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.ui.tests/testfiles/CreateTreeTest.cfg2676
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.ui.tests/testfiles/CreateTreeTest2.cfg323
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.ui.tests/testfiles/LTTngServiceMiTest.cfg2396
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.ui.tests/testfiles/LTTngServiceTest.cfg1503
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.ui.tests/testfiles/ListInfoTest.cfg240
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.ui/.classpath7
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.ui/.project34
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.ui/.settings/org.eclipse.core.resources.prefs2
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.ui/.settings/org.eclipse.core.runtime.prefs2
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.ui/.settings/org.eclipse.jdt.core.prefs394
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.ui/.settings/org.eclipse.jdt.ui.prefs56
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.ui/.settings/org.eclipse.pde.api.tools.prefs97
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.ui/.settings/org.eclipse.pde.prefs32
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.ui/META-INF/MANIFEST.MF37
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.ui/about.html28
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.ui/build.properties23
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.ui/icons/elcl16/add-context.gifbin331 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.ui/icons/elcl16/add_button.gifbin318 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.ui/icons/elcl16/calibrate.gifbin368 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.ui/icons/elcl16/connect.gifbin189 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.ui/icons/elcl16/delete_trace.gifbin351 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.ui/icons/elcl16/disable.gifbin148 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.ui/icons/elcl16/disable_event.gifbin130 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.ui/icons/elcl16/disconnect.gifbin151 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.ui/icons/elcl16/edit.gifbin210 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.ui/icons/elcl16/enable.gifbin343 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.ui/icons/elcl16/enable_event.gifbin140 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.ui/icons/elcl16/import_trace.gifbin327 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.ui/icons/elcl16/pause_trace.gifbin338 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.ui/icons/elcl16/refresh.gifbin327 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.ui/icons/elcl16/snapshot.gifbin613 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.ui/icons/elcl16/start_trace.gifbin528 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.ui/icons/elcl16/stop_trace.gifbin215 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.ui/icons/elcl16/target_add.gifbin591 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.ui/icons/elcl16/target_delete.gifbin596 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.ui/icons/eview16/control_view.gifbin152 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.ui/icons/obj16/channel.gifbin200 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.ui/icons/obj16/channel_disabled.gifbin213 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.ui/icons/obj16/domain.gifbin129 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.ui/icons/obj16/event_disabled.gifbin130 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.ui/icons/obj16/event_enabled.gifbin183 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.ui/icons/obj16/garland16.pngbin631 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.ui/icons/obj16/providers.gifbin224 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.ui/icons/obj16/session_active.gifbin970 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.ui/icons/obj16/session_destroyed.gifbin747 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.ui/icons/obj16/session_inactive.gifbin615 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.ui/icons/obj16/sessions.gifbin617 -> 0 bytes
-rwxr-xr-xlttng/org.eclipse.linuxtools.lttng2.control.ui/icons/obj16/systemlttng2-live.gifbin882 -> 0 bytes
-rwxr-xr-xlttng/org.eclipse.linuxtools.lttng2.control.ui/icons/obj16/systemlttng2.gifbin856 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.ui/icons/obj16/target_connected.gifbin374 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.ui/icons/obj16/target_disconnected.gifbin582 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.ui/icons/obj16/targets.gifbin243 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.ui/plugin.properties143
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.ui/plugin.xml1273
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.ui/pom.xml36
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/Activator.java210
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/relayd/LttngRelaydConnectionInfo.java111
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/relayd/LttngRelaydConnectionManager.java149
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/relayd/LttngRelaydConsumer.java255
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/relayd/Messages.java71
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/relayd/messages.properties20
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/ControlView.java255
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/Workaround_Bug449362.java60
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/dialogs/AddContextDialog.java420
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/dialogs/ConfirmDialog.java36
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/dialogs/CreateSessionDialog.java1042
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/dialogs/EnableChannelDialog.java595
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/dialogs/EnableEventsDialog.java436
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/dialogs/EnableKernelEventComposite.java605
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/dialogs/EnableUstEventsComposite.java649
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/dialogs/GetEventInfoDialog.java281
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/dialogs/IAddContextDialog.java47
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/dialogs/IConfirmDialog.java38
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/dialogs/ICreateSessionDialog.java52
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/dialogs/IEnableChannelDialog.java65
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/dialogs/IEnableEventsDialog.java53
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/dialogs/IEnableKernelEvents.java84
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/dialogs/IEnableUstEvents.java83
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/dialogs/IGetEventInfoDialog.java65
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/dialogs/IImportConfirmationDialog.java49
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/dialogs/IImportDialog.java63
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/dialogs/INewConnectionDialog.java43
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/dialogs/ISelectCommandScriptDialog.java32
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/dialogs/ImportConfirmationDialog.java200
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/dialogs/ImportDialog.java493
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/dialogs/ImportFileInfo.java128
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/dialogs/NewConnectionDialog.java403
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/dialogs/OpenCommandScriptDialog.java269
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/dialogs/TraceControlDialogFactory.java282
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/handlers/AddContextOnChannelHandler.java90
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/handlers/AddContextOnDomainHandler.java98
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/handlers/AddContextOnEventHandler.java90
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/handlers/AssignEventHandler.java253
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/handlers/BaseAddContextHandler.java132
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/handlers/BaseControlViewHandler.java94
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/handlers/BaseEnableChannelHandler.java124
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/handlers/BaseEnableEventHandler.java227
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/handlers/BaseNodeHandler.java70
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/handlers/CalibrateHandler.java132
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/handlers/ChangeChannelStateHandler.java303
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/handlers/ChangeEventStateHandler.java261
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/handlers/ChangeSessionStateHandler.java157
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/handlers/ChannelCommandParameter.java66
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/handlers/CommandParameter.java69
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/handlers/ConnectHandler.java53
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/handlers/CreateSessionHandler.java118
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/handlers/DeleteHandler.java56
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/handlers/DestroySessionHandler.java129
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/handlers/DisableChannelHandler.java47
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/handlers/DisableEventHandler.java47
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/handlers/DisconnectHandler.java53
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/handlers/DomainCommandParameter.java66
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/handlers/EnableChannelHandler.java47
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/handlers/EnableChannelOnDomainHandler.java105
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/handlers/EnableChannelOnSessionHandler.java94
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/handlers/EnableEventHandler.java47
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/handlers/EnableEventOnChannelHandler.java122
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/handlers/EnableEventOnDomainHandler.java118
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/handlers/EnableEventOnSessionHandler.java109
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/handlers/EventCommandParameter.java65
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/handlers/ExecuteCommandScriptHandler.java116
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/handlers/ImportHandler.java406
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/handlers/NewConnectionHandler.java154
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/handlers/RefreshHandler.java105
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/handlers/SnaphshotHandler.java130
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/handlers/StartHandler.java45
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/handlers/StopHandler.java45
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/handlers/XmlMiValidationErrorHandler.java49
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/logging/ControlCommandLogger.java117
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/messages/Messages.java350
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/messages/messages.properties324
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/model/ITraceControlComponent.java192
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/model/ITraceControlComponentChangedListener.java42
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/model/impl/BaseEventComponent.java165
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/model/impl/KernelProviderComponent.java82
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/model/impl/NullControlService.java143
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/model/impl/TargetNodeComponent.java478
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/model/impl/TraceChannelComponent.java387
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/model/impl/TraceControlComponent.java333
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/model/impl/TraceControlContentProvider.java68
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/model/impl/TraceControlLabelProvider.java54
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/model/impl/TraceControlPropertyTester.java44
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/model/impl/TraceControlRoot.java42
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/model/impl/TraceDomainComponent.java299
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/model/impl/TraceEventComponent.java264
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/model/impl/TraceProbeEventComponent.java121
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/model/impl/TraceProviderGroup.java108
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/model/impl/TraceSessionComponent.java476
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/model/impl/TraceSessionGroup.java174
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/model/impl/UstProviderComponent.java104
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/preferences/ControlPreferenceInitializer.java38
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/preferences/ControlPreferencePage.java151
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/preferences/ControlPreferences.java215
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/property/BaseEventPropertySource.java124
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/property/BasePropertySource.java53
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/property/KernelProviderPropertySource.java80
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/property/TargetNodePropertySource.java114
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/property/TraceChannelPropertySource.java161
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/property/TraceDomainPropertySource.java99
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/property/TraceEventPropertySource.java145
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/property/TraceProbeEventPropertySource.java124
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/property/TraceSessionPropertySource.java147
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/property/UstProviderPropertySource.java91
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/remote/CommandResult.java102
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/remote/CommandShell.java266
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/remote/ICommandResult.java64
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/remote/ICommandShell.java55
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/remote/IRemoteSystemProxy.java112
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/remote/InputReader.java61
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/remote/RemoteSystemProxy.java124
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/service/ILttngControlService.java402
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/service/LTTngControlService.java1569
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/service/LTTngControlServiceConstants.java452
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/service/LTTngControlServiceFactory.java158
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/service/LTTngControlServiceMI.java956
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/service/LttngVersion.java152
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/service/MIStrings.java576
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control/.project17
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control/.settings/org.eclipse.core.resources.prefs2
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control/.settings/org.eclipse.core.runtime.prefs2
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control/build.properties16
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control/feature.properties21
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control/feature.xml62
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control/p2.inf5
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control/pom.xml64
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control/sourceTemplateFeature/p2.inf5
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.kernel.core.tests/.classpath8
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.kernel.core.tests/.project34
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.kernel.core.tests/.settings/org.eclipse.core.resources.prefs2
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.kernel.core.tests/.settings/org.eclipse.core.runtime.prefs2
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.kernel.core.tests/.settings/org.eclipse.jdt.core.prefs393
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.kernel.core.tests/.settings/org.eclipse.jdt.ui.prefs56
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.kernel.core.tests/.settings/org.eclipse.pde.api.tools.prefs97
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.kernel.core.tests/.settings/org.eclipse.pde.prefs32
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.kernel.core.tests/META-INF/MANIFEST.MF27
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.kernel.core.tests/about.html28
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.kernel.core.tests/build.properties21
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.kernel.core.tests/perf/org/eclipse/linuxtools/lttng2/kernel/core/tests/perf/AllPerfTests.java30
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.kernel.core.tests/perf/org/eclipse/linuxtools/lttng2/kernel/core/tests/perf/analysis/AllPerfTests.java26
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.kernel.core.tests/perf/org/eclipse/linuxtools/lttng2/kernel/core/tests/perf/analysis/AnalysisBenchmark.java93
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.kernel.core.tests/perf/org/eclipse/linuxtools/lttng2/kernel/core/tests/perf/event/matching/AllPerfTests.java28
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.kernel.core.tests/perf/org/eclipse/linuxtools/lttng2/kernel/core/tests/perf/event/matching/EventMatchingBenchmark.java120
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.kernel.core.tests/perf/org/eclipse/linuxtools/lttng2/kernel/core/tests/perf/event/matching/TraceSynchronizationBenchmark.java118
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.kernel.core.tests/plugin.properties15
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.kernel.core.tests/pom.xml73
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.kernel.core.tests/src/org/eclipse/linuxtools/lttng2/kernel/core/tests/ActivatorTest.java96
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.kernel.core.tests/src/org/eclipse/linuxtools/lttng2/kernel/core/tests/AllTests.java28
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.kernel.core.tests/src/org/eclipse/linuxtools/lttng2/kernel/core/tests/analysis/AllTests.java27
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.kernel.core.tests/src/org/eclipse/linuxtools/lttng2/kernel/core/tests/analysis/LttngKernelAnalysisTest.java180
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.kernel.core.tests/src/org/eclipse/linuxtools/lttng2/kernel/core/tests/event/matchandsync/AllTests.java28
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.kernel.core.tests/src/org/eclipse/linuxtools/lttng2/kernel/core/tests/event/matchandsync/ExperimentSyncTest.java112
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.kernel.core.tests/src/org/eclipse/linuxtools/lttng2/kernel/core/tests/event/matchandsync/MatchAndSyncTest.java72
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.kernel.core.tests/src/org/eclipse/linuxtools/lttng2/kernel/core/tests/stateprovider/GenerateTestValues.java141
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.kernel.core.tests/src/org/eclipse/linuxtools/lttng2/kernel/core/tests/stateprovider/LttngKernelStateProviderTest.java55
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.kernel.core.tests/src/org/eclipse/linuxtools/lttng2/kernel/core/tests/stateprovider/PartialStateSystemTest.java179
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.kernel.core.tests/src/org/eclipse/linuxtools/lttng2/kernel/core/tests/stateprovider/StateSystemFullHistoryTest.java180
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.kernel.core.tests/src/org/eclipse/linuxtools/lttng2/kernel/core/tests/stateprovider/StateSystemInMemoryTest.java87
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.kernel.core.tests/src/org/eclipse/linuxtools/lttng2/kernel/core/tests/stateprovider/StateSystemTest.java431
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.kernel.core.tests/src/org/eclipse/linuxtools/lttng2/kernel/core/tests/stateprovider/TestAll.java30
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.kernel.core.tests/src/org/eclipse/linuxtools/lttng2/kernel/core/tests/stateprovider/TestValues.java2625
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.kernel.core/.classpath7
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.kernel.core/.options3
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.kernel.core/.project34
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.kernel.core/.settings/org.eclipse.core.resources.prefs2
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.kernel.core/.settings/org.eclipse.core.runtime.prefs2
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.kernel.core/.settings/org.eclipse.jdt.core.prefs394
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.kernel.core/.settings/org.eclipse.jdt.ui.prefs56
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.kernel.core/.settings/org.eclipse.pde.api.tools.prefs97
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.kernel.core/.settings/org.eclipse.pde.prefs32
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.kernel.core/META-INF/MANIFEST.MF23
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.kernel.core/about.html28
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.kernel.core/build.properties22
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.kernel.core/plugin.properties21
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.kernel.core/plugin.xml36
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.kernel.core/pom.xml45
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.kernel.core/src/org/eclipse/linuxtools/internal/lttng2/kernel/core/Activator.java142
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.kernel.core/src/org/eclipse/linuxtools/internal/lttng2/kernel/core/Attributes.java51
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.kernel.core/src/org/eclipse/linuxtools/internal/lttng2/kernel/core/LttngStrings.java65
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.kernel.core/src/org/eclipse/linuxtools/internal/lttng2/kernel/core/StateValues.java61
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.kernel.core/src/org/eclipse/linuxtools/internal/lttng2/kernel/core/TcpEventStrings.java60
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.kernel.core/src/org/eclipse/linuxtools/internal/lttng2/kernel/core/stateprovider/LttngKernelStateProvider.java559
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.kernel.core/src/org/eclipse/linuxtools/lttng2/kernel/core/analysis/LttngKernelAnalysisModule.java103
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.kernel.core/src/org/eclipse/linuxtools/lttng2/kernel/core/analysis/Messages.java36
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.kernel.core/src/org/eclipse/linuxtools/lttng2/kernel/core/analysis/messages.properties13
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.kernel.core/src/org/eclipse/linuxtools/lttng2/kernel/core/cpuusage/LttngKernelCpuStateProvider.java141
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.kernel.core/src/org/eclipse/linuxtools/lttng2/kernel/core/cpuusage/LttngKernelCpuUsageAnalysis.java254
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.kernel.core/src/org/eclipse/linuxtools/lttng2/kernel/core/event/matching/TcpEventMatching.java113
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.kernel.core/src/org/eclipse/linuxtools/lttng2/kernel/core/event/matching/TcpLttngEventMatching.java126
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.kernel.core/src/org/eclipse/linuxtools/lttng2/kernel/core/trace/LttngKernelTrace.java74
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.kernel.core/src/org/eclipse/linuxtools/lttng2/kernel/core/trace/Messages.java48
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.kernel.core/src/org/eclipse/linuxtools/lttng2/kernel/core/trace/messages.properties15
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.kernel.ui.swtbot.tests/.classpath7
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.kernel.ui.swtbot.tests/.gitignore1
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.kernel.ui.swtbot.tests/.project34
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.kernel.ui.swtbot.tests/.settings/org.eclipse.core.resources.prefs2
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.kernel.ui.swtbot.tests/.settings/org.eclipse.core.runtime.prefs2
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.kernel.ui.swtbot.tests/.settings/org.eclipse.jdt.core.prefs393
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.kernel.ui.swtbot.tests/.settings/org.eclipse.jdt.ui.prefs56
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.kernel.ui.swtbot.tests/.settings/org.eclipse.pde.api.tools.prefs97
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.kernel.ui.swtbot.tests/.settings/org.eclipse.pde.prefs32
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.kernel.ui.swtbot.tests/META-INF/MANIFEST.MF28
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.kernel.ui.swtbot.tests/about.html28
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.kernel.ui.swtbot.tests/build.properties15
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.kernel.ui.swtbot.tests/plugin.properties14
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.kernel.ui.swtbot.tests/pom.xml51
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.kernel.ui.swtbot.tests/src/org/eclipse/linuxtools/lttng2/kernel/ui/swtbot/tests/AllTests.java28
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.kernel.ui.swtbot.tests/src/org/eclipse/linuxtools/lttng2/kernel/ui/swtbot/tests/ImportAndReadKernelSmokeTest.java223
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.kernel.ui.swtbot.tests/src/org/eclipse/linuxtools/lttng2/kernel/ui/swtbot/tests/KernelPerspectiveChecker.java55
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.kernel.ui.tests/.classpath7
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.kernel.ui.tests/.project34
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.kernel.ui.tests/.settings/org.eclipse.core.resources.prefs2
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.kernel.ui.tests/.settings/org.eclipse.core.runtime.prefs2
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.kernel.ui.tests/.settings/org.eclipse.jdt.core.prefs393
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.kernel.ui.tests/.settings/org.eclipse.jdt.ui.prefs56
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.kernel.ui.tests/.settings/org.eclipse.pde.api.tools.prefs97
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.kernel.ui.tests/.settings/org.eclipse.pde.prefs32
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.kernel.ui.tests/META-INF/MANIFEST.MF14
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.kernel.ui.tests/about.html28
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.kernel.ui.tests/build.properties18
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.kernel.ui.tests/plugin.properties15
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.kernel.ui.tests/pom.xml54
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.kernel.ui.tests/src/org/eclipse/linuxtools/lttng2/kernel/ui/tests/ActivatorTest.java60
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.kernel.ui.tests/src/org/eclipse/linuxtools/lttng2/kernel/ui/tests/AllTests.java28
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.kernel.ui/.classpath7
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.kernel.ui/.options7
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.kernel.ui/.project34
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.kernel.ui/.settings/org.eclipse.core.resources.prefs2
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.kernel.ui/.settings/org.eclipse.core.runtime.prefs2
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.kernel.ui/.settings/org.eclipse.jdt.core.prefs394
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.kernel.ui/.settings/org.eclipse.jdt.ui.prefs56
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.kernel.ui/.settings/org.eclipse.pde.api.tools.prefs97
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.kernel.ui/.settings/org.eclipse.pde.prefs32
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.kernel.ui/META-INF/MANIFEST.MF26
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.kernel.ui/about.html28
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.kernel.ui/build.properties23
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.kernel.ui/icons/eview16/control_flow_view.gifbin215 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.kernel.ui/icons/eview16/resources_view.gifbin101 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.kernel.ui/icons/obj16/garland16.pngbin631 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.kernel.ui/plugin.properties24
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.kernel.ui/plugin.xml92
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.kernel.ui/pom.xml45
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.kernel.ui/src/org/eclipse/linuxtools/internal/lttng2/kernel/ui/Activator.java184
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.kernel.ui/src/org/eclipse/linuxtools/internal/lttng2/kernel/ui/Messages.java59
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.kernel.ui/src/org/eclipse/linuxtools/internal/lttng2/kernel/ui/messages.properties43
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.kernel.ui/src/org/eclipse/linuxtools/internal/lttng2/kernel/ui/viewers/events/LttngEventTableColumns.java70
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.kernel.ui/src/org/eclipse/linuxtools/internal/lttng2/kernel/ui/viewers/events/Messages.java30
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.kernel.ui/src/org/eclipse/linuxtools/internal/lttng2/kernel/ui/viewers/events/messages.properties16
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.kernel.ui/src/org/eclipse/linuxtools/internal/lttng2/kernel/ui/views/PerspectiveFactory.java105
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.kernel.ui/src/org/eclipse/linuxtools/internal/lttng2/kernel/ui/views/controlflow/ControlFlowEntry.java96
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.kernel.ui/src/org/eclipse/linuxtools/internal/lttng2/kernel/ui/views/controlflow/ControlFlowPresentationProvider.java211
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.kernel.ui/src/org/eclipse/linuxtools/internal/lttng2/kernel/ui/views/controlflow/ControlFlowView.java592
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.kernel.ui/src/org/eclipse/linuxtools/internal/lttng2/kernel/ui/views/cpuusage/CpuUsageComposite.java321
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.kernel.ui/src/org/eclipse/linuxtools/internal/lttng2/kernel/ui/views/cpuusage/CpuUsageEntry.java86
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.kernel.ui/src/org/eclipse/linuxtools/internal/lttng2/kernel/ui/views/cpuusage/CpuUsageView.java103
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.kernel.ui/src/org/eclipse/linuxtools/internal/lttng2/kernel/ui/views/cpuusage/CpuUsageXYViewer.java210
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.kernel.ui/src/org/eclipse/linuxtools/internal/lttng2/kernel/ui/views/cpuusage/Messages.java43
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.kernel.ui/src/org/eclipse/linuxtools/internal/lttng2/kernel/ui/views/cpuusage/messages.properties23
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.kernel.ui/src/org/eclipse/linuxtools/internal/lttng2/kernel/ui/views/resources/ResourcesEntry.java177
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.kernel.ui/src/org/eclipse/linuxtools/internal/lttng2/kernel/ui/views/resources/ResourcesPresentationProvider.java368
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.kernel.ui/src/org/eclipse/linuxtools/internal/lttng2/kernel/ui/views/resources/ResourcesView.java321
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.kernel/.project17
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.kernel/.settings/org.eclipse.core.resources.prefs2
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.kernel/.settings/org.eclipse.core.runtime.prefs2
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.kernel/build.properties15
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.kernel/epl-v10.html256
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.kernel/feature.properties22
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.kernel/feature.xml71
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.kernel/license.html164
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.kernel/p2.inf3
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.kernel/pom.xml64
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.ust.core.tests/.classpath7
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.ust.core.tests/.project34
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.ust.core.tests/.settings/org.eclipse.core.resources.prefs2
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.ust.core.tests/.settings/org.eclipse.core.runtime.prefs2
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.ust.core.tests/.settings/org.eclipse.jdt.core.prefs393
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.ust.core.tests/.settings/org.eclipse.jdt.ui.prefs56
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.ust.core.tests/.settings/org.eclipse.pde.api.tools.prefs97
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.ust.core.tests/.settings/org.eclipse.pde.prefs32
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.ust.core.tests/META-INF/MANIFEST.MF21
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.ust.core.tests/about.html28
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.ust.core.tests/build.properties21
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.ust.core.tests/plugin.properties15
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.ust.core.tests/pom.xml42
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.ust.core.tests/src/org/eclipse/linuxtools/lttng2/ust/core/tests/ActivatorTest.java96
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.ust.core.tests/src/org/eclipse/linuxtools/lttng2/ust/core/tests/AllTests.java27
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.ust.core.tests/src/org/eclipse/linuxtools/lttng2/ust/core/tests/analysis/memory/AllTests.java27
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.ust.core.tests/src/org/eclipse/linuxtools/lttng2/ust/core/tests/analysis/memory/UstMemoryAnalysisModuleTest.java101
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.ust.core.tests/src/org/eclipse/linuxtools/lttng2/ust/core/tests/trace/callstack/AbstractProviderTest.java281
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.ust.core.tests/src/org/eclipse/linuxtools/lttng2/ust/core/tests/trace/callstack/AllTests.java28
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.ust.core.tests/src/org/eclipse/linuxtools/lttng2/ust/core/tests/trace/callstack/LttngUstCallStackProviderFastTest.java56
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.ust.core.tests/src/org/eclipse/linuxtools/lttng2/ust/core/tests/trace/callstack/LttngUstCallStackProviderTest.java55
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.ust.core/.classpath7
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.ust.core/.project34
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.ust.core/.settings/org.eclipse.core.resources.prefs2
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.ust.core/.settings/org.eclipse.core.runtime.prefs2
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.ust.core/.settings/org.eclipse.jdt.core.prefs394
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.ust.core/.settings/org.eclipse.jdt.ui.prefs56
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.ust.core/.settings/org.eclipse.pde.api.tools.prefs97
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.ust.core/.settings/org.eclipse.pde.prefs32
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.ust.core/META-INF/MANIFEST.MF22
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.ust.core/about.html28
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.ust.core/build.properties22
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.ust.core/plugin.properties17
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.ust.core/plugin.xml26
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.ust.core/pom.xml36
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.ust.core/src/org/eclipse/linuxtools/internal/lttng2/ust/core/Activator.java137
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.ust.core/src/org/eclipse/linuxtools/internal/lttng2/ust/core/memoryusage/MemoryUsageStateProvider.java200
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.ust.core/src/org/eclipse/linuxtools/internal/lttng2/ust/core/memoryusage/UstMemoryStrings.java51
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.ust.core/src/org/eclipse/linuxtools/internal/lttng2/ust/core/trace/callstack/LttngUstCallStackProvider.java171
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.ust.core/src/org/eclipse/linuxtools/lttng2/ust/core/analysis/memory/Messages.java38
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.ust.core/src/org/eclipse/linuxtools/lttng2/ust/core/analysis/memory/UstMemoryAnalysisModule.java94
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.ust.core/src/org/eclipse/linuxtools/lttng2/ust/core/analysis/memory/messages.properties2
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.ust.core/src/org/eclipse/linuxtools/lttng2/ust/core/trace/LttngUstTrace.java69
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.ust.core/src/org/eclipse/linuxtools/lttng2/ust/core/trace/Messages.java48
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.ust.core/src/org/eclipse/linuxtools/lttng2/ust/core/trace/messages.properties15
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.ust.ui.tests/.classpath7
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.ust.ui.tests/.project34
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.ust.ui.tests/.settings/org.eclipse.core.resources.prefs2
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.ust.ui.tests/.settings/org.eclipse.core.runtime.prefs2
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.ust.ui.tests/.settings/org.eclipse.jdt.core.prefs393
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.ust.ui.tests/.settings/org.eclipse.jdt.ui.prefs56
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.ust.ui.tests/.settings/org.eclipse.pde.api.tools.prefs97
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.ust.ui.tests/.settings/org.eclipse.pde.prefs32
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.ust.ui.tests/META-INF/MANIFEST.MF15
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.ust.ui.tests/about.html28
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.ust.ui.tests/build.properties18
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.ust.ui.tests/plugin.properties15
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.ust.ui.tests/pom.xml45
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.ust.ui.tests/src/org/eclipse/linuxtools/lttng2/ust/ui/tests/ActivatorTest.java60
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.ust.ui.tests/src/org/eclipse/linuxtools/lttng2/ust/ui/tests/AllTests.java27
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.ust.ui/.classpath7
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.ust.ui/.project34
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.ust.ui/.settings/org.eclipse.core.resources.prefs2
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.ust.ui/.settings/org.eclipse.core.runtime.prefs2
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.ust.ui/.settings/org.eclipse.jdt.core.prefs394
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.ust.ui/.settings/org.eclipse.jdt.ui.prefs56
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.ust.ui/.settings/org.eclipse.pde.api.tools.prefs97
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.ust.ui/.settings/org.eclipse.pde.prefs32
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.ust.ui/META-INF/MANIFEST.MF20
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.ust.ui/about.html28
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.ust.ui/build.properties23
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.ust.ui/icons/obj16/garland16.pngbin631 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.ust.ui/plugin.properties20
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.ust.ui/plugin.xml41
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.ust.ui/pom.xml36
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.ust.ui/src/org/eclipse/linuxtools/internal/lttng2/ust/ui/Activator.java184
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.ust.ui/src/org/eclipse/linuxtools/internal/lttng2/ust/ui/views/memusage/MemoryUsageView.java44
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.ust.ui/src/org/eclipse/linuxtools/internal/lttng2/ust/ui/views/memusage/MemoryUsageViewer.java160
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.ust.ui/src/org/eclipse/linuxtools/internal/lttng2/ust/ui/views/memusage/Messages.java40
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.ust.ui/src/org/eclipse/linuxtools/internal/lttng2/ust/ui/views/memusage/messages.properties15
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.ust.ui/src/org/eclipse/linuxtools/lttng2/ust/ui/analysis/callstack/LttngUstCallStackAnalysis.java49
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.ust/.project17
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.ust/.settings/org.eclipse.core.resources.prefs2
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.ust/.settings/org.eclipse.core.runtime.prefs2
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.ust/build.properties15
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.ust/feature.properties22
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.ust/feature.xml68
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.ust/p2.inf3
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.ust/pom.xml64
-rw-r--r--lttng/org.eclipse.linuxtools.pcap.core.tests/.classpath9
-rw-r--r--lttng/org.eclipse.linuxtools.pcap.core.tests/.project34
-rw-r--r--lttng/org.eclipse.linuxtools.pcap.core.tests/.settings/org.eclipse.core.resources.prefs2
-rw-r--r--lttng/org.eclipse.linuxtools.pcap.core.tests/.settings/org.eclipse.core.runtime.prefs2
-rw-r--r--lttng/org.eclipse.linuxtools.pcap.core.tests/.settings/org.eclipse.jdt.core.prefs393
-rw-r--r--lttng/org.eclipse.linuxtools.pcap.core.tests/.settings/org.eclipse.jdt.ui.prefs56
-rw-r--r--lttng/org.eclipse.linuxtools.pcap.core.tests/.settings/org.eclipse.pde.api.tools.prefs97
-rw-r--r--lttng/org.eclipse.linuxtools.pcap.core.tests/.settings/org.eclipse.pde.prefs32
-rw-r--r--lttng/org.eclipse.linuxtools.pcap.core.tests/META-INF/MANIFEST.MF29
-rw-r--r--lttng/org.eclipse.linuxtools.pcap.core.tests/about.html28
-rw-r--r--lttng/org.eclipse.linuxtools.pcap.core.tests/build.properties22
-rw-r--r--lttng/org.eclipse.linuxtools.pcap.core.tests/perf/org/eclipse/linuxtools/pcap/core/tests/perf/AllPerfTests.java29
-rw-r--r--lttng/org.eclipse.linuxtools.pcap.core.tests/perf/org/eclipse/linuxtools/pcap/core/tests/perf/trace/AllTests.java27
-rw-r--r--lttng/org.eclipse.linuxtools.pcap.core.tests/perf/org/eclipse/linuxtools/pcap/core/tests/perf/trace/PcapReadBenchmark.java85
-rw-r--r--lttng/org.eclipse.linuxtools.pcap.core.tests/perf/org/eclipse/linuxtools/pcap/core/tests/perf/trace/PcapSeekBenchmark.java110
-rw-r--r--lttng/org.eclipse.linuxtools.pcap.core.tests/plugin.properties15
-rw-r--r--lttng/org.eclipse.linuxtools.pcap.core.tests/pom.xml115
-rw-r--r--lttng/org.eclipse.linuxtools.pcap.core.tests/rsc/.gitignore5
-rw-r--r--lttng/org.eclipse.linuxtools.pcap.core.tests/rsc/get-traces.xml59
-rw-r--r--lttng/org.eclipse.linuxtools.pcap.core.tests/shared/org/eclipse/linuxtools/pcap/core/tests/shared/PcapTestTrace.java96
-rw-r--r--lttng/org.eclipse.linuxtools.pcap.core.tests/src/org/eclipse/linuxtools/pcap/core/tests/AllPcapCoreTests.java36
-rw-r--r--lttng/org.eclipse.linuxtools.pcap.core.tests/src/org/eclipse/linuxtools/pcap/core/tests/file/AllTests.java30
-rw-r--r--lttng/org.eclipse.linuxtools.pcap.core.tests/src/org/eclipse/linuxtools/pcap/core/tests/file/PcapFileEndiannessTest.java66
-rw-r--r--lttng/org.eclipse.linuxtools.pcap.core.tests/src/org/eclipse/linuxtools/pcap/core/tests/file/PcapFileOpenFailTest.java86
-rw-r--r--lttng/org.eclipse.linuxtools.pcap.core.tests/src/org/eclipse/linuxtools/pcap/core/tests/file/PcapFileOpenTest.java94
-rw-r--r--lttng/org.eclipse.linuxtools.pcap.core.tests/src/org/eclipse/linuxtools/pcap/core/tests/file/PcapFileReadTest.java136
-rw-r--r--lttng/org.eclipse.linuxtools.pcap.core.tests/src/org/eclipse/linuxtools/pcap/core/tests/packet/AllTests.java28
-rw-r--r--lttng/org.eclipse.linuxtools.pcap.core.tests/src/org/eclipse/linuxtools/pcap/core/tests/packet/BadPacketTest.java89
-rw-r--r--lttng/org.eclipse.linuxtools.pcap.core.tests/src/org/eclipse/linuxtools/pcap/core/tests/packet/PacketTest.java124
-rw-r--r--lttng/org.eclipse.linuxtools.pcap.core.tests/src/org/eclipse/linuxtools/pcap/core/tests/protocol/AllTests.java27
-rw-r--r--lttng/org.eclipse.linuxtools.pcap.core.tests/src/org/eclipse/linuxtools/pcap/core/tests/protocol/ProtocolTest.java85
-rw-r--r--lttng/org.eclipse.linuxtools.pcap.core.tests/src/org/eclipse/linuxtools/pcap/core/tests/protocol/ethernet2/AllTests.java27
-rw-r--r--lttng/org.eclipse.linuxtools.pcap.core.tests/src/org/eclipse/linuxtools/pcap/core/tests/protocol/ethernet2/EthernetIIPacketTest.java145
-rw-r--r--lttng/org.eclipse.linuxtools.pcap.core.tests/src/org/eclipse/linuxtools/pcap/core/tests/protocol/ipv4/AllTests.java27
-rw-r--r--lttng/org.eclipse.linuxtools.pcap.core.tests/src/org/eclipse/linuxtools/pcap/core/tests/protocol/ipv4/IPv4PacketTest.java211
-rw-r--r--lttng/org.eclipse.linuxtools.pcap.core.tests/src/org/eclipse/linuxtools/pcap/core/tests/protocol/pcap/AllTests.java27
-rw-r--r--lttng/org.eclipse.linuxtools.pcap.core.tests/src/org/eclipse/linuxtools/pcap/core/tests/protocol/pcap/PcapPacketTest.java249
-rw-r--r--lttng/org.eclipse.linuxtools.pcap.core.tests/src/org/eclipse/linuxtools/pcap/core/tests/protocol/tcp/AllTests.java27
-rw-r--r--lttng/org.eclipse.linuxtools.pcap.core.tests/src/org/eclipse/linuxtools/pcap/core/tests/protocol/tcp/TCPPacketTest.java213
-rw-r--r--lttng/org.eclipse.linuxtools.pcap.core.tests/src/org/eclipse/linuxtools/pcap/core/tests/protocol/udp/AllTests.java27
-rw-r--r--lttng/org.eclipse.linuxtools.pcap.core.tests/src/org/eclipse/linuxtools/pcap/core/tests/protocol/udp/UDPPacketTest.java151
-rw-r--r--lttng/org.eclipse.linuxtools.pcap.core.tests/src/org/eclipse/linuxtools/pcap/core/tests/protocol/unknown/AllTests.java27
-rw-r--r--lttng/org.eclipse.linuxtools.pcap.core.tests/src/org/eclipse/linuxtools/pcap/core/tests/protocol/unknown/UnknownPacketTest.java120
-rw-r--r--lttng/org.eclipse.linuxtools.pcap.core.tests/src/org/eclipse/linuxtools/pcap/core/tests/stream/AllTests.java27
-rw-r--r--lttng/org.eclipse.linuxtools.pcap.core.tests/src/org/eclipse/linuxtools/pcap/core/tests/stream/StreamBuildTest.java118
-rw-r--r--lttng/org.eclipse.linuxtools.pcap.core/.classpath7
-rw-r--r--lttng/org.eclipse.linuxtools.pcap.core/.project34
-rw-r--r--lttng/org.eclipse.linuxtools.pcap.core/.settings/org.eclipse.core.resources.prefs2
-rw-r--r--lttng/org.eclipse.linuxtools.pcap.core/.settings/org.eclipse.core.runtime.prefs2
-rw-r--r--lttng/org.eclipse.linuxtools.pcap.core/.settings/org.eclipse.jdt.core.prefs394
-rw-r--r--lttng/org.eclipse.linuxtools.pcap.core/.settings/org.eclipse.jdt.ui.prefs56
-rw-r--r--lttng/org.eclipse.linuxtools.pcap.core/.settings/org.eclipse.pde.api.tools.prefs97
-rw-r--r--lttng/org.eclipse.linuxtools.pcap.core/.settings/org.eclipse.pde.prefs32
-rw-r--r--lttng/org.eclipse.linuxtools.pcap.core/META-INF/MANIFEST.MF28
-rw-r--r--lttng/org.eclipse.linuxtools.pcap.core/about.html28
-rw-r--r--lttng/org.eclipse.linuxtools.pcap.core/build.properties21
-rw-r--r--lttng/org.eclipse.linuxtools.pcap.core/plugin.properties16
-rw-r--r--lttng/org.eclipse.linuxtools.pcap.core/pom.xml36
-rw-r--r--lttng/org.eclipse.linuxtools.pcap.core/src/org/eclipse/linuxtools/internal/pcap/core/Activator.java138
-rw-r--r--lttng/org.eclipse.linuxtools.pcap.core/src/org/eclipse/linuxtools/internal/pcap/core/endpoint/ProtocolEndpoint.java82
-rw-r--r--lttng/org.eclipse.linuxtools.pcap.core/src/org/eclipse/linuxtools/internal/pcap/core/endpoint/ProtocolEndpointPair.java96
-rw-r--r--lttng/org.eclipse.linuxtools.pcap.core/src/org/eclipse/linuxtools/internal/pcap/core/endpoint/package-info.java14
-rw-r--r--lttng/org.eclipse.linuxtools.pcap.core/src/org/eclipse/linuxtools/internal/pcap/core/filter/IPacketFilter.java33
-rw-r--r--lttng/org.eclipse.linuxtools.pcap.core/src/org/eclipse/linuxtools/internal/pcap/core/filter/PacketFilterByProtocol.java52
-rw-r--r--lttng/org.eclipse.linuxtools.pcap.core/src/org/eclipse/linuxtools/internal/pcap/core/filter/package-info.java14
-rw-r--r--lttng/org.eclipse.linuxtools.pcap.core/src/org/eclipse/linuxtools/internal/pcap/core/package-info.java14
-rw-r--r--lttng/org.eclipse.linuxtools.pcap.core/src/org/eclipse/linuxtools/internal/pcap/core/packet/BadPacketException.java68
-rw-r--r--lttng/org.eclipse.linuxtools.pcap.core/src/org/eclipse/linuxtools/internal/pcap/core/packet/Packet.java297
-rw-r--r--lttng/org.eclipse.linuxtools.pcap.core/src/org/eclipse/linuxtools/internal/pcap/core/packet/package-info.java14
-rw-r--r--lttng/org.eclipse.linuxtools.pcap.core/src/org/eclipse/linuxtools/internal/pcap/core/protocol/PcapProtocol.java179
-rw-r--r--lttng/org.eclipse.linuxtools.pcap.core/src/org/eclipse/linuxtools/internal/pcap/core/protocol/ethernet2/EthernetIIEndpoint.java98
-rw-r--r--lttng/org.eclipse.linuxtools.pcap.core/src/org/eclipse/linuxtools/internal/pcap/core/protocol/ethernet2/EthernetIIPacket.java313
-rw-r--r--lttng/org.eclipse.linuxtools.pcap.core/src/org/eclipse/linuxtools/internal/pcap/core/protocol/ethernet2/EthernetIIValues.java39
-rw-r--r--lttng/org.eclipse.linuxtools.pcap.core/src/org/eclipse/linuxtools/internal/pcap/core/protocol/ethernet2/package-info.java14
-rw-r--r--lttng/org.eclipse.linuxtools.pcap.core/src/org/eclipse/linuxtools/internal/pcap/core/protocol/ipv4/IPv4Endpoint.java100
-rw-r--r--lttng/org.eclipse.linuxtools.pcap.core/src/org/eclipse/linuxtools/internal/pcap/core/protocol/ipv4/IPv4Packet.java651
-rw-r--r--lttng/org.eclipse.linuxtools.pcap.core/src/org/eclipse/linuxtools/internal/pcap/core/protocol/ipv4/IPv4Values.java33
-rw-r--r--lttng/org.eclipse.linuxtools.pcap.core/src/org/eclipse/linuxtools/internal/pcap/core/protocol/ipv4/package-info.java14
-rw-r--r--lttng/org.eclipse.linuxtools.pcap.core/src/org/eclipse/linuxtools/internal/pcap/core/protocol/package-info.java14
-rw-r--r--lttng/org.eclipse.linuxtools.pcap.core/src/org/eclipse/linuxtools/internal/pcap/core/protocol/pcap/PcapEndpoint.java71
-rw-r--r--lttng/org.eclipse.linuxtools.pcap.core/src/org/eclipse/linuxtools/internal/pcap/core/protocol/pcap/PcapPacket.java372
-rw-r--r--lttng/org.eclipse.linuxtools.pcap.core/src/org/eclipse/linuxtools/internal/pcap/core/protocol/pcap/package-info.java14
-rw-r--r--lttng/org.eclipse.linuxtools.pcap.core/src/org/eclipse/linuxtools/internal/pcap/core/protocol/tcp/TCPEndpoint.java97
-rw-r--r--lttng/org.eclipse.linuxtools.pcap.core/src/org/eclipse/linuxtools/internal/pcap/core/protocol/tcp/TCPPacket.java702
-rw-r--r--lttng/org.eclipse.linuxtools.pcap.core/src/org/eclipse/linuxtools/internal/pcap/core/protocol/tcp/TCPValues.java30
-rw-r--r--lttng/org.eclipse.linuxtools.pcap.core/src/org/eclipse/linuxtools/internal/pcap/core/protocol/tcp/package-info.java14
-rw-r--r--lttng/org.eclipse.linuxtools.pcap.core/src/org/eclipse/linuxtools/internal/pcap/core/protocol/udp/UDPEndpoint.java96
-rw-r--r--lttng/org.eclipse.linuxtools.pcap.core/src/org/eclipse/linuxtools/internal/pcap/core/protocol/udp/UDPPacket.java301
-rw-r--r--lttng/org.eclipse.linuxtools.pcap.core/src/org/eclipse/linuxtools/internal/pcap/core/protocol/udp/package-info.java14
-rw-r--r--lttng/org.eclipse.linuxtools.pcap.core/src/org/eclipse/linuxtools/internal/pcap/core/protocol/unknown/UnknownEndpoint.java59
-rw-r--r--lttng/org.eclipse.linuxtools.pcap.core/src/org/eclipse/linuxtools/internal/pcap/core/protocol/unknown/UnknownPacket.java213
-rw-r--r--lttng/org.eclipse.linuxtools.pcap.core/src/org/eclipse/linuxtools/internal/pcap/core/protocol/unknown/package-info.java14
-rw-r--r--lttng/org.eclipse.linuxtools.pcap.core/src/org/eclipse/linuxtools/internal/pcap/core/stream/PacketStream.java269
-rw-r--r--lttng/org.eclipse.linuxtools.pcap.core/src/org/eclipse/linuxtools/internal/pcap/core/stream/PacketStreamBuilder.java182
-rw-r--r--lttng/org.eclipse.linuxtools.pcap.core/src/org/eclipse/linuxtools/internal/pcap/core/stream/package-info.java14
-rw-r--r--lttng/org.eclipse.linuxtools.pcap.core/src/org/eclipse/linuxtools/internal/pcap/core/trace/BadPcapFileException.java64
-rw-r--r--lttng/org.eclipse.linuxtools.pcap.core/src/org/eclipse/linuxtools/internal/pcap/core/trace/PcapFile.java401
-rw-r--r--lttng/org.eclipse.linuxtools.pcap.core/src/org/eclipse/linuxtools/internal/pcap/core/trace/PcapFileValues.java45
-rw-r--r--lttng/org.eclipse.linuxtools.pcap.core/src/org/eclipse/linuxtools/internal/pcap/core/trace/package-info.java14
-rw-r--r--lttng/org.eclipse.linuxtools.pcap.core/src/org/eclipse/linuxtools/internal/pcap/core/util/ConversionHelper.java184
-rw-r--r--lttng/org.eclipse.linuxtools.pcap.core/src/org/eclipse/linuxtools/internal/pcap/core/util/EthertypeHelper.java82
-rw-r--r--lttng/org.eclipse.linuxtools.pcap.core/src/org/eclipse/linuxtools/internal/pcap/core/util/IPProtocolNumberHelper.java81
-rw-r--r--lttng/org.eclipse.linuxtools.pcap.core/src/org/eclipse/linuxtools/internal/pcap/core/util/LinkTypeHelper.java79
-rw-r--r--lttng/org.eclipse.linuxtools.pcap.core/src/org/eclipse/linuxtools/internal/pcap/core/util/PcapTimestampScale.java26
-rw-r--r--lttng/org.eclipse.linuxtools.pcap.core/src/org/eclipse/linuxtools/internal/pcap/core/util/package-info.java14
-rw-r--r--lttng/org.eclipse.linuxtools.statesystem.core.tests/.classpath7
-rw-r--r--lttng/org.eclipse.linuxtools.statesystem.core.tests/.project34
-rw-r--r--lttng/org.eclipse.linuxtools.statesystem.core.tests/.settings/org.eclipse.core.resources.prefs2
-rw-r--r--lttng/org.eclipse.linuxtools.statesystem.core.tests/.settings/org.eclipse.core.runtime.prefs2
-rw-r--r--lttng/org.eclipse.linuxtools.statesystem.core.tests/.settings/org.eclipse.jdt.core.prefs393
-rw-r--r--lttng/org.eclipse.linuxtools.statesystem.core.tests/.settings/org.eclipse.jdt.ui.prefs56
-rw-r--r--lttng/org.eclipse.linuxtools.statesystem.core.tests/.settings/org.eclipse.pde.api.tools.prefs97
-rw-r--r--lttng/org.eclipse.linuxtools.statesystem.core.tests/.settings/org.eclipse.pde.prefs32
-rw-r--r--lttng/org.eclipse.linuxtools.statesystem.core.tests/META-INF/MANIFEST.MF14
-rw-r--r--lttng/org.eclipse.linuxtools.statesystem.core.tests/about.html28
-rw-r--r--lttng/org.eclipse.linuxtools.statesystem.core.tests/build.properties20
-rw-r--r--lttng/org.eclipse.linuxtools.statesystem.core.tests/plugin.properties15
-rw-r--r--lttng/org.eclipse.linuxtools.statesystem.core.tests/pom.xml46
-rw-r--r--lttng/org.eclipse.linuxtools.statesystem.core.tests/src/org/eclipse/linuxtools/statesystem/core/tests/AllTests.java28
-rw-r--r--lttng/org.eclipse.linuxtools.statesystem.core.tests/src/org/eclipse/linuxtools/statesystem/core/tests/StateSystemPushPopTest.java312
-rw-r--r--lttng/org.eclipse.linuxtools.statesystem.core.tests/src/org/eclipse/linuxtools/statesystem/core/tests/backend/AllTests.java27
-rw-r--r--lttng/org.eclipse.linuxtools.statesystem.core.tests/src/org/eclipse/linuxtools/statesystem/core/tests/backend/InMemoryBackendTest.java244
-rw-r--r--lttng/org.eclipse.linuxtools.statesystem.core/.classpath7
-rw-r--r--lttng/org.eclipse.linuxtools.statesystem.core/.project34
-rw-r--r--lttng/org.eclipse.linuxtools.statesystem.core/.settings/org.eclipse.core.resources.prefs2
-rw-r--r--lttng/org.eclipse.linuxtools.statesystem.core/.settings/org.eclipse.core.runtime.prefs2
-rw-r--r--lttng/org.eclipse.linuxtools.statesystem.core/.settings/org.eclipse.jdt.core.prefs394
-rw-r--r--lttng/org.eclipse.linuxtools.statesystem.core/.settings/org.eclipse.jdt.ui.prefs56
-rw-r--r--lttng/org.eclipse.linuxtools.statesystem.core/.settings/org.eclipse.pde.api.tools.prefs97
-rw-r--r--lttng/org.eclipse.linuxtools.statesystem.core/.settings/org.eclipse.pde.prefs32
-rw-r--r--lttng/org.eclipse.linuxtools.statesystem.core/META-INF/MANIFEST.MF21
-rw-r--r--lttng/org.eclipse.linuxtools.statesystem.core/about.html28
-rw-r--r--lttng/org.eclipse.linuxtools.statesystem.core/build.properties21
-rw-r--r--lttng/org.eclipse.linuxtools.statesystem.core/plugin.properties16
-rw-r--r--lttng/org.eclipse.linuxtools.statesystem.core/pom.xml36
-rw-r--r--lttng/org.eclipse.linuxtools.statesystem.core/src/org/eclipse/linuxtools/internal/statesystem/core/Activator.java137
-rw-r--r--lttng/org.eclipse.linuxtools.statesystem.core/src/org/eclipse/linuxtools/internal/statesystem/core/Attribute.java266
-rw-r--r--lttng/org.eclipse.linuxtools.statesystem.core/src/org/eclipse/linuxtools/internal/statesystem/core/AttributeTree.java404
-rw-r--r--lttng/org.eclipse.linuxtools.statesystem.core/src/org/eclipse/linuxtools/internal/statesystem/core/StateSystem.java752
-rw-r--r--lttng/org.eclipse.linuxtools.statesystem.core/src/org/eclipse/linuxtools/internal/statesystem/core/TransientState.java455
-rw-r--r--lttng/org.eclipse.linuxtools.statesystem.core/src/org/eclipse/linuxtools/internal/statesystem/core/backend/historytree/CoreNode.java256
-rw-r--r--lttng/org.eclipse.linuxtools.statesystem.core/src/org/eclipse/linuxtools/internal/statesystem/core/backend/historytree/HTConfig.java125
-rw-r--r--lttng/org.eclipse.linuxtools.statesystem.core/src/org/eclipse/linuxtools/internal/statesystem/core/backend/historytree/HTInterval.java484
-rw-r--r--lttng/org.eclipse.linuxtools.statesystem.core/src/org/eclipse/linuxtools/internal/statesystem/core/backend/historytree/HTNode.java696
-rw-r--r--lttng/org.eclipse.linuxtools.statesystem.core/src/org/eclipse/linuxtools/internal/statesystem/core/backend/historytree/HT_IO.java195
-rw-r--r--lttng/org.eclipse.linuxtools.statesystem.core/src/org/eclipse/linuxtools/internal/statesystem/core/backend/historytree/HistoryTree.java856
-rw-r--r--lttng/org.eclipse.linuxtools.statesystem.core/src/org/eclipse/linuxtools/internal/statesystem/core/backend/historytree/LeafNode.java71
-rw-r--r--lttng/org.eclipse.linuxtools.statesystem.core/src/org/eclipse/linuxtools/statesystem/core/ITmfStateSystem.java425
-rw-r--r--lttng/org.eclipse.linuxtools.statesystem.core/src/org/eclipse/linuxtools/statesystem/core/ITmfStateSystemBuilder.java233
-rw-r--r--lttng/org.eclipse.linuxtools.statesystem.core/src/org/eclipse/linuxtools/statesystem/core/StateSystemFactory.java71
-rw-r--r--lttng/org.eclipse.linuxtools.statesystem.core/src/org/eclipse/linuxtools/statesystem/core/backend/IStateHistoryBackend.java198
-rw-r--r--lttng/org.eclipse.linuxtools.statesystem.core/src/org/eclipse/linuxtools/statesystem/core/backend/InMemoryBackend.java234
-rw-r--r--lttng/org.eclipse.linuxtools.statesystem.core/src/org/eclipse/linuxtools/statesystem/core/backend/NullBackend.java123
-rw-r--r--lttng/org.eclipse.linuxtools.statesystem.core/src/org/eclipse/linuxtools/statesystem/core/backend/historytree/HistoryTreeBackend.java316
-rw-r--r--lttng/org.eclipse.linuxtools.statesystem.core/src/org/eclipse/linuxtools/statesystem/core/backend/historytree/ThreadedHistoryTreeBackend.java203
-rw-r--r--lttng/org.eclipse.linuxtools.statesystem.core/src/org/eclipse/linuxtools/statesystem/core/exceptions/AttributeNotFoundException.java43
-rw-r--r--lttng/org.eclipse.linuxtools.statesystem.core/src/org/eclipse/linuxtools/statesystem/core/exceptions/StateSystemDisposedException.java43
-rw-r--r--lttng/org.eclipse.linuxtools.statesystem.core/src/org/eclipse/linuxtools/statesystem/core/exceptions/StateValueTypeException.java63
-rw-r--r--lttng/org.eclipse.linuxtools.statesystem.core/src/org/eclipse/linuxtools/statesystem/core/exceptions/TimeRangeException.java30
-rw-r--r--lttng/org.eclipse.linuxtools.statesystem.core/src/org/eclipse/linuxtools/statesystem/core/interval/ITmfStateInterval.java76
-rw-r--r--lttng/org.eclipse.linuxtools.statesystem.core/src/org/eclipse/linuxtools/statesystem/core/interval/TmfIntervalEndComparator.java40
-rw-r--r--lttng/org.eclipse.linuxtools.statesystem.core/src/org/eclipse/linuxtools/statesystem/core/interval/TmfStateInterval.java97
-rw-r--r--lttng/org.eclipse.linuxtools.statesystem.core/src/org/eclipse/linuxtools/statesystem/core/statevalue/DoubleStateValue.java68
-rw-r--r--lttng/org.eclipse.linuxtools.statesystem.core/src/org/eclipse/linuxtools/statesystem/core/statevalue/ITmfStateValue.java98
-rw-r--r--lttng/org.eclipse.linuxtools.statesystem.core/src/org/eclipse/linuxtools/statesystem/core/statevalue/IntegerStateValue.java74
-rw-r--r--lttng/org.eclipse.linuxtools.statesystem.core/src/org/eclipse/linuxtools/statesystem/core/statevalue/LongStateValue.java67
-rw-r--r--lttng/org.eclipse.linuxtools.statesystem.core/src/org/eclipse/linuxtools/statesystem/core/statevalue/NullStateValue.java78
-rw-r--r--lttng/org.eclipse.linuxtools.statesystem.core/src/org/eclipse/linuxtools/statesystem/core/statevalue/StringStateValue.java68
-rw-r--r--lttng/org.eclipse.linuxtools.statesystem.core/src/org/eclipse/linuxtools/statesystem/core/statevalue/TmfStateValue.java191
-rw-r--r--lttng/org.eclipse.linuxtools.statesystem.core/src/org/eclipse/linuxtools/statesystem/core/statevalue/package-info.java12
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.analysis.xml.core.tests/.classpath8
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.analysis.xml.core.tests/.project34
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.analysis.xml.core.tests/.settings/org.eclipse.core.resources.prefs2
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.analysis.xml.core.tests/.settings/org.eclipse.core.runtime.prefs2
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.analysis.xml.core.tests/.settings/org.eclipse.jdt.core.prefs393
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.analysis.xml.core.tests/.settings/org.eclipse.jdt.ui.prefs56
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.analysis.xml.core.tests/.settings/org.eclipse.pde.api.tools.prefs97
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.analysis.xml.core.tests/.settings/org.eclipse.pde.prefs32
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.analysis.xml.core.tests/META-INF/MANIFEST.MF21
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.analysis.xml.core.tests/about.html28
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.analysis.xml.core.tests/build.properties21
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.analysis.xml.core.tests/common/org/eclipse/linuxtools/tmf/analysis/xml/core/tests/common/TmfXmlTestFiles.java52
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.analysis.xml.core.tests/plugin.properties15
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.analysis.xml.core.tests/pom.xml55
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.analysis.xml.core.tests/src/org/eclipse/linuxtools/tmf/analysis/xml/core/tests/Activator.java58
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.analysis.xml.core.tests/src/org/eclipse/linuxtools/tmf/analysis/xml/core/tests/AllAnalysisXmlCoreTests.java29
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.analysis.xml.core.tests/src/org/eclipse/linuxtools/tmf/analysis/xml/core/tests/XmlAnalysisCorePluginTest.java51
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.analysis.xml.core.tests/src/org/eclipse/linuxtools/tmf/analysis/xml/core/tests/module/AllTests.java27
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.analysis.xml.core.tests/src/org/eclipse/linuxtools/tmf/analysis/xml/core/tests/module/XmlUtilsTest.java232
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.analysis.xml.core.tests/src/org/eclipse/linuxtools/tmf/analysis/xml/core/tests/stateprovider/AllTests.java28
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.analysis.xml.core.tests/src/org/eclipse/linuxtools/tmf/analysis/xml/core/tests/stateprovider/StateProviderModuleTest.java130
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.analysis.xml.core.tests/src/org/eclipse/linuxtools/tmf/analysis/xml/core/tests/stateprovider/StateProviderTest.java122
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.analysis.xml.core.tests/test_xml_files/test_invalid/invalid_view_multipledisplays.xml35
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.analysis.xml.core.tests/test_xml_files/test_invalid/invalid_xyview_multipleentry.xml31
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.analysis.xml.core.tests/test_xml_files/test_invalid/test_invalid.xml7
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.analysis.xml.core.tests/test_xml_files/test_valid/kvm_exits.xml42
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.analysis.xml.core.tests/test_xml_files/test_valid/test_valid.xml631
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.analysis.xml.core/.classpath7
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.analysis.xml.core/.project34
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.analysis.xml.core/.settings/org.eclipse.core.resources.prefs2
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.analysis.xml.core/.settings/org.eclipse.core.runtime.prefs2
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.analysis.xml.core/.settings/org.eclipse.jdt.core.prefs394
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.analysis.xml.core/.settings/org.eclipse.jdt.ui.prefs56
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.analysis.xml.core/.settings/org.eclipse.pde.api.tools.prefs97
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.analysis.xml.core/.settings/org.eclipse.pde.prefs32
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.analysis.xml.core/META-INF/MANIFEST.MF18
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.analysis.xml.core/about.html28
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.analysis.xml.core/build.properties21
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.analysis.xml.core/plugin.properties17
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.analysis.xml.core/plugin.xml6
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.analysis.xml.core/pom.xml45
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.analysis.xml.core/schema/org.eclipse.linuxtools.tmf.analysis.xml.core.files.exsd114
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.analysis.xml.core/src/org/eclipse/linuxtools/internal/tmf/analysis/xml/core/Activator.java163
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.analysis.xml.core/src/org/eclipse/linuxtools/tmf/analysis/xml/core/model/ITmfXmlModelFactory.java112
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.analysis.xml.core/src/org/eclipse/linuxtools/tmf/analysis/xml/core/model/ITmfXmlStateAttribute.java56
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.analysis.xml.core/src/org/eclipse/linuxtools/tmf/analysis/xml/core/model/ITmfXmlStateValue.java78
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.analysis.xml.core/src/org/eclipse/linuxtools/tmf/analysis/xml/core/model/TmfXmlCondition.java217
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.analysis.xml.core/src/org/eclipse/linuxtools/tmf/analysis/xml/core/model/TmfXmlEventHandler.java135
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.analysis.xml.core/src/org/eclipse/linuxtools/tmf/analysis/xml/core/model/TmfXmlLocation.java125
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.analysis.xml.core/src/org/eclipse/linuxtools/tmf/analysis/xml/core/model/TmfXmlStateAttribute.java327
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.analysis.xml.core/src/org/eclipse/linuxtools/tmf/analysis/xml/core/model/TmfXmlStateChange.java218
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.analysis.xml.core/src/org/eclipse/linuxtools/tmf/analysis/xml/core/model/TmfXmlStateValue.java495
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.analysis.xml.core/src/org/eclipse/linuxtools/tmf/analysis/xml/core/model/readonly/TmfXmlReadOnlyModelFactory.java88
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.analysis.xml.core/src/org/eclipse/linuxtools/tmf/analysis/xml/core/model/readonly/TmfXmlReadOnlyStateAttribute.java55
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.analysis.xml.core/src/org/eclipse/linuxtools/tmf/analysis/xml/core/model/readonly/TmfXmlReadOnlyStateValue.java69
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.analysis.xml.core/src/org/eclipse/linuxtools/tmf/analysis/xml/core/model/readwrite/TmfXmlReadWriteModelFactory.java87
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.analysis.xml.core/src/org/eclipse/linuxtools/tmf/analysis/xml/core/model/readwrite/TmfXmlReadWriteStateAttribute.java61
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.analysis.xml.core/src/org/eclipse/linuxtools/tmf/analysis/xml/core/model/readwrite/TmfXmlReadWriteStateValue.java375
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.analysis.xml.core/src/org/eclipse/linuxtools/tmf/analysis/xml/core/module/ITmfXmlTopLevelElement.java34
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.analysis.xml.core/src/org/eclipse/linuxtools/tmf/analysis/xml/core/module/IXmlStateSystemContainer.java52
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.analysis.xml.core/src/org/eclipse/linuxtools/tmf/analysis/xml/core/module/Messages.java41
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.analysis.xml.core/src/org/eclipse/linuxtools/tmf/analysis/xml/core/module/XmlUtils.java252
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.analysis.xml.core/src/org/eclipse/linuxtools/tmf/analysis/xml/core/module/messages.properties15
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.analysis.xml.core/src/org/eclipse/linuxtools/tmf/analysis/xml/core/module/xmlCommon.xsd44
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.analysis.xml.core/src/org/eclipse/linuxtools/tmf/analysis/xml/core/module/xmlDefinition.xsd35
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.analysis.xml.core/src/org/eclipse/linuxtools/tmf/analysis/xml/core/module/xmlStateProvider.xsd295
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.analysis.xml.core/src/org/eclipse/linuxtools/tmf/analysis/xml/core/module/xmlView.xsd178
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.analysis.xml.core/src/org/eclipse/linuxtools/tmf/analysis/xml/core/stateprovider/TmfXmlStrings.java96
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.analysis.xml.core/src/org/eclipse/linuxtools/tmf/analysis/xml/core/stateprovider/XmlStateProvider.java185
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.analysis.xml.core/src/org/eclipse/linuxtools/tmf/analysis/xml/core/stateprovider/XmlStateSystemModule.java85
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.analysis.xml.ui.tests/.classpath7
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.analysis.xml.ui.tests/.project34
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.analysis.xml.ui.tests/.settings/org.eclipse.core.resources.prefs2
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.analysis.xml.ui.tests/.settings/org.eclipse.core.runtime.prefs2
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.analysis.xml.ui.tests/.settings/org.eclipse.jdt.core.prefs393
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.analysis.xml.ui.tests/.settings/org.eclipse.jdt.ui.prefs56
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.analysis.xml.ui.tests/.settings/org.eclipse.pde.api.tools.prefs97
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.analysis.xml.ui.tests/.settings/org.eclipse.pde.prefs32
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.analysis.xml.ui.tests/META-INF/MANIFEST.MF21
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.analysis.xml.ui.tests/about.html28
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.analysis.xml.ui.tests/build.properties19
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.analysis.xml.ui.tests/plugin.properties15
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.analysis.xml.ui.tests/plugin.xml11
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.analysis.xml.ui.tests/pom.xml56
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.analysis.xml.ui.tests/src/org/eclipse/linuxtools/tmf/analysis/xml/ui/tests/Activator.java58
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.analysis.xml.ui.tests/src/org/eclipse/linuxtools/tmf/analysis/xml/ui/tests/AllAnalysisXmlUiTests.java28
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.analysis.xml.ui.tests/src/org/eclipse/linuxtools/tmf/analysis/xml/ui/tests/XmlAnalysisUiPluginTest.java53
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.analysis.xml.ui.tests/src/org/eclipse/linuxtools/tmf/analysis/xml/ui/tests/module/AllTests.java27
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.analysis.xml.ui.tests/src/org/eclipse/linuxtools/tmf/analysis/xml/ui/tests/module/XmlAnalysisModuleSourceTest.java134
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.analysis.xml.ui.tests/test_xml_files/test_builtin.xml28
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.analysis.xml.ui/.classpath7
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.analysis.xml.ui/.project34
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.analysis.xml.ui/.settings/org.eclipse.core.resources.prefs2
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.analysis.xml.ui/.settings/org.eclipse.core.runtime.prefs2
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.analysis.xml.ui/.settings/org.eclipse.jdt.core.prefs394
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.analysis.xml.ui/.settings/org.eclipse.jdt.ui.prefs56
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.analysis.xml.ui/.settings/org.eclipse.pde.api.tools.prefs97
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.analysis.xml.ui/.settings/org.eclipse.pde.prefs32
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.analysis.xml.ui/META-INF/MANIFEST.MF21
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.analysis.xml.ui/about.html28
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.analysis.xml.ui/build.properties21
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.analysis.xml.ui/plugin.properties23
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.analysis.xml.ui/plugin.xml104
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.analysis.xml.ui/pom.xml45
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.analysis.xml.ui/src/org/eclipse/linuxtools/internal/tmf/analysis/xml/ui/Activator.java163
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.analysis.xml.ui/src/org/eclipse/linuxtools/internal/tmf/analysis/xml/ui/TmfXmlUiStrings.java46
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.analysis.xml.ui/src/org/eclipse/linuxtools/internal/tmf/analysis/xml/ui/handler/ImportXmlHandler.java110
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.analysis.xml.ui/src/org/eclipse/linuxtools/internal/tmf/analysis/xml/ui/views/XmlViewInfo.java159
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.analysis.xml.ui/src/org/eclipse/linuxtools/internal/tmf/analysis/xml/ui/views/xychart/Messages.java41
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.analysis.xml.ui/src/org/eclipse/linuxtools/internal/tmf/analysis/xml/ui/views/xychart/XmlXYView.java105
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.analysis.xml.ui/src/org/eclipse/linuxtools/internal/tmf/analysis/xml/ui/views/xychart/XmlXYViewer.java419
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.analysis.xml.ui/src/org/eclipse/linuxtools/internal/tmf/analysis/xml/ui/views/xychart/messages.properties4
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.analysis.xml.ui/src/org/eclipse/linuxtools/internal/tmf/analysis/xml/ui/views/xychart/package-info.java14
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.analysis.xml.ui/src/org/eclipse/linuxtools/tmf/analysis/xml/ui/module/Messages.java35
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.analysis.xml.ui/src/org/eclipse/linuxtools/tmf/analysis/xml/ui/module/TmfAnalysisModuleHelperXml.java184
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.analysis.xml.ui/src/org/eclipse/linuxtools/tmf/analysis/xml/ui/module/TmfXmlAnalysisOutputSource.java139
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.analysis.xml.ui/src/org/eclipse/linuxtools/tmf/analysis/xml/ui/module/TmfXmlViewOutput.java100
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.analysis.xml.ui/src/org/eclipse/linuxtools/tmf/analysis/xml/ui/module/XmlAnalysisModuleSource.java161
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.analysis.xml.ui/src/org/eclipse/linuxtools/tmf/analysis/xml/ui/module/messages.properties12
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.analysis.xml.ui/src/org/eclipse/linuxtools/tmf/analysis/xml/ui/views/timegraph/Messages.java49
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.analysis.xml.ui/src/org/eclipse/linuxtools/tmf/analysis/xml/ui/views/timegraph/XmlEntry.java272
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.analysis.xml.ui/src/org/eclipse/linuxtools/tmf/analysis/xml/ui/views/timegraph/XmlPresentationProvider.java220
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.analysis.xml.ui/src/org/eclipse/linuxtools/tmf/analysis/xml/ui/views/timegraph/XmlTimeGraphView.java517
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.analysis.xml.ui/src/org/eclipse/linuxtools/tmf/analysis/xml/ui/views/timegraph/messages.properties10
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core.tests/.classpath10
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core.tests/.options8
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core.tests/.project34
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core.tests/.settings/org.eclipse.core.resources.prefs2
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core.tests/.settings/org.eclipse.core.runtime.prefs2
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core.tests/.settings/org.eclipse.jdt.core.prefs393
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core.tests/.settings/org.eclipse.jdt.ui.prefs56
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core.tests/.settings/org.eclipse.pde.api.tools.prefs97
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core.tests/.settings/org.eclipse.pde.prefs32
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core.tests/ChangeLog59
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core.tests/META-INF/MANIFEST.MF21
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core.tests/about.html28
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core.tests/build.properties25
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core.tests/perf/org/eclipse/linuxtools/tmf/core/tests/perf/AllPerfTests.java31
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core.tests/perf/org/eclipse/linuxtools/tmf/core/tests/perf/synchronization/AllPerfTests.java29
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core.tests/perf/org/eclipse/linuxtools/tmf/core/tests/perf/synchronization/TimestampTransformBenchmark.java78
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core.tests/plugin.properties15
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core.tests/plugin.xml118
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core.tests/pom.xml55
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core.tests/shared/org/eclipse/linuxtools/tmf/core/tests/shared/DebugListener.java44
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core.tests/shared/org/eclipse/linuxtools/tmf/core/tests/shared/DebugSuite.java54
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core.tests/shared/org/eclipse/linuxtools/tmf/core/tests/shared/TmfTestHelper.java63
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core.tests/shared/org/eclipse/linuxtools/tmf/core/tests/shared/TmfTestTrace.java127
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/AllTmfCoreTests.java46
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/TmfCorePluginTest.java54
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/TmfCoreTestPlugin.java84
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/analysis/AllTests.java32
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/analysis/AnalysisManagerTest.java130
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/analysis/AnalysisModuleHelperTest.java270
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/analysis/AnalysisModuleTest.java257
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/analysis/AnalysisParameterProviderTest.java81
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/analysis/AnalysisRequirementHelperTest.java182
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/analysis/AnalysisRequirementTest.java243
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/component/AllTests.java28
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/component/TmfEventProviderTest.java362
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/component/TmfProviderManagerTest.java330
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/event/AllTests.java40
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/event/TmfEventFieldTest.java365
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/event/TmfEventTest.java417
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/event/TmfEventTypeManagerTest.java242
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/event/TmfEventTypeTest.java233
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/event/TmfNanoTimestampTest.java293
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/event/TmfSimpleTimestampTest.java293
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/event/TmfTimePreferencesTest.java112
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/event/TmfTimeRangeTest.java373
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/event/TmfTimestampDeltaTest.java131
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/event/TmfTimestampFormatTest.java394
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/event/TmfTimestampTest.java670
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/event/lookup/AllTests.java28
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/event/lookup/TmfCallsiteTest.java179
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/filter/AllTests.java27
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/filter/TmfCollapseFilterTest.java168
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/request/AllTests.java29
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/request/TmfCoalescedEventRequestTest.java594
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/request/TmfEventRequestTest.java313
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/signal/AllTests.java28
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/signal/TmfSignalManagerTest.java558
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/signal/TmfSignalThrottlerTest.java224
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/statesystem/AllTests.java28
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/statesystem/ExperimentStateSystemModuleTest.java119
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/statesystem/StateSystemAnalysisModuleTest.java97
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/statesystem/mipmap/AllTests.java30
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/statesystem/mipmap/TmfMipmapStateProviderStub.java116
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/statesystem/mipmap/TmfMipmapStateProviderTest.java541
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/statesystem/mipmap/TmfMipmapStateProviderWeightedTest.java311
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/synchronization/AllTests.java28
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/synchronization/SyncTest.java247
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/synchronization/TimeOffsetTest.java166
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/synchronization/TsTransformFactoryTest.java127
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/synchronization/TsTransformTest.java144
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/trace/AllTests.java30
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/trace/TmfContextTest.java255
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/trace/TmfExperimentTest.java941
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/trace/TmfMultiTraceExperimentTest.java814
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/trace/TmfTraceTest.java1389
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/trace/indexer/AbstractCheckpointCollectionTest.java374
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/trace/indexer/AllBench.java251
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/trace/indexer/AllTests.java31
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/trace/indexer/BTreeTest.java118
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/trace/indexer/FlatArrayTest.java87
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/trace/indexer/TmfMemoryIndexTest.java84
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/trace/indexer/checkpoint/AbstractIndexTest.java283
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/trace/indexer/checkpoint/AllTests.java29
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/trace/indexer/checkpoint/TmfBTreeIndexTest.java69
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/trace/indexer/checkpoint/TmfCheckpointIndexTest.java23
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/trace/indexer/checkpoint/TmfCheckpointIndexTest2.java236
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/trace/indexer/checkpoint/TmfCheckpointTest.java243
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/trace/indexer/checkpoint/TmfExperimentCheckpointIndexTest.java192
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/trace/location/AllTests.java27
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/trace/location/TmfLocationTest.java252
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/trace/stub/AllTests.java27
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/trace/stub/XmlStubTraceTest.java191
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/trace/text/AllTests.java27
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/trace/text/TextTraceContextTest.java238
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/trace/text/TextTraceEventContentTest.java232
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/trace/text/TextTraceTest.java259
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/uml2sd/AllTests.java28
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/uml2sd/TmfAsyncSequenceDiagramEventTest.java125
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/uml2sd/TmfSyncSequenceDiagramEventTest.java108
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/util/AllTests.java27
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/util/PairTest.java127
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core.tests/stubs/org/eclipse/linuxtools/tmf/tests/stubs/CreateTestFiles.java113
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core.tests/stubs/org/eclipse/linuxtools/tmf/tests/stubs/analysis/AnalysisModuleSourceStub.java39
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core.tests/stubs/org/eclipse/linuxtools/tmf/tests/stubs/analysis/AnalysisModuleTestHelper.java154
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core.tests/stubs/org/eclipse/linuxtools/tmf/tests/stubs/analysis/AnalysisRequirementFactory.java72
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core.tests/stubs/org/eclipse/linuxtools/tmf/tests/stubs/analysis/TestAnalysis.java91
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core.tests/stubs/org/eclipse/linuxtools/tmf/tests/stubs/analysis/TestAnalysis2.java41
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core.tests/stubs/org/eclipse/linuxtools/tmf/tests/stubs/analysis/TestAnalysisParameterProvider.java59
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core.tests/stubs/org/eclipse/linuxtools/tmf/tests/stubs/analysis/TestExperimentAnalysis.java93
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core.tests/stubs/org/eclipse/linuxtools/tmf/tests/stubs/analysis/TestRequirementAnalysis.java81
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core.tests/stubs/org/eclipse/linuxtools/tmf/tests/stubs/analysis/TestStateSystemModule.java37
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core.tests/stubs/org/eclipse/linuxtools/tmf/tests/stubs/analysis/TestStateSystemProvider.java74
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core.tests/stubs/org/eclipse/linuxtools/tmf/tests/stubs/component/TmfClientStub.java44
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core.tests/stubs/org/eclipse/linuxtools/tmf/tests/stubs/component/TmfEventProviderStub.java79
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core.tests/stubs/org/eclipse/linuxtools/tmf/tests/stubs/component/TmfSyntheticEventProviderStub.java103
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core.tests/stubs/org/eclipse/linuxtools/tmf/tests/stubs/event/TmfEventTypeStub.java38
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core.tests/stubs/org/eclipse/linuxtools/tmf/tests/stubs/event/TmfSyncEventStub.java45
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core.tests/stubs/org/eclipse/linuxtools/tmf/tests/stubs/event/TmfSyntheticEventStub.java34
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core.tests/stubs/org/eclipse/linuxtools/tmf/tests/stubs/request/TmfEventRequestStub.java73
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core.tests/stubs/org/eclipse/linuxtools/tmf/tests/stubs/trace/TmfEmptyTraceStub.java71
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core.tests/stubs/org/eclipse/linuxtools/tmf/tests/stubs/trace/TmfEventParserStub.java124
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core.tests/stubs/org/eclipse/linuxtools/tmf/tests/stubs/trace/TmfExperimentStub.java52
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core.tests/stubs/org/eclipse/linuxtools/tmf/tests/stubs/trace/TmfIndexerStub.java36
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core.tests/stubs/org/eclipse/linuxtools/tmf/tests/stubs/trace/TmfTraceStub.java425
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core.tests/stubs/org/eclipse/linuxtools/tmf/tests/stubs/trace/TmfTraceStub2.java55
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core.tests/stubs/org/eclipse/linuxtools/tmf/tests/stubs/trace/TmfTraceStub3.java29
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core.tests/stubs/org/eclipse/linuxtools/tmf/tests/stubs/trace/text/SyslogEvent.java127
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core.tests/stubs/org/eclipse/linuxtools/tmf/tests/stubs/trace/text/SyslogEventType.java51
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core.tests/stubs/org/eclipse/linuxtools/tmf/tests/stubs/trace/text/SyslogTrace.java116
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core.tests/stubs/org/eclipse/linuxtools/tmf/tests/stubs/trace/xml/Messages.java37
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core.tests/stubs/org/eclipse/linuxtools/tmf/tests/stubs/trace/xml/TmfXmlDevelopmentTrace.xml38
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core.tests/stubs/org/eclipse/linuxtools/tmf/tests/stubs/trace/xml/TmfXmlDevelopmentTrace.xsd47
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core.tests/stubs/org/eclipse/linuxtools/tmf/tests/stubs/trace/xml/TmfXmlTraceStub.java252
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core.tests/stubs/org/eclipse/linuxtools/tmf/tests/stubs/trace/xml/messages.properties15
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core.tests/testfiles/A-Test-10Kbin643257 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core.tests/testfiles/A-Test-10K-2bin45094 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core.tests/testfiles/E-Test-10Kbin643257 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core.tests/testfiles/O-Test-10Kbin643257 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core.tests/testfiles/R-Test-10Kbin643257 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core.tests/testfiles/stub_xml_traces/invalid/txtFile.txt1
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core.tests/testfiles/stub_xml_traces/invalid/xmlFile.xml19
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core.tests/testfiles/stub_xml_traces/valid/test.xml18
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core.tests/testfiles/syslog6
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core.tests/testfiles/syslog_collapse22
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core/.classpath7
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core/.options4
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core/.project34
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core/.settings/org.eclipse.core.resources.prefs2
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core/.settings/org.eclipse.core.runtime.prefs2
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core/.settings/org.eclipse.jdt.core.prefs394
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core/.settings/org.eclipse.jdt.ui.prefs56
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core/.settings/org.eclipse.pde.api.tools.prefs97
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core/.settings/org.eclipse.pde.prefs32
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core/ChangeLog204
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core/META-INF/MANIFEST.MF54
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core/about.html28
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core/build.properties24
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core/plugin.properties22
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core/plugin.xml41
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core/pom.xml45
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core/schema/org.eclipse.linuxtools.tmf.core.analysis.exsd310
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core/schema/org.eclipse.linuxtools.tmf.core.tracetype.exsd232
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/internal/tmf/core/Activator.java196
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/internal/tmf/core/Messages.java31
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/internal/tmf/core/TmfCorePreferenceInitializer.java29
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/internal/tmf/core/TmfCoreTracer.java239
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/internal/tmf/core/analysis/TmfAnalysisModuleSourceConfigElement.java118
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/internal/tmf/core/analysis/TmfAnalysisModuleSources.java72
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/internal/tmf/core/component/TmfEventThread.java260
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/internal/tmf/core/component/TmfProviderManager.java122
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/internal/tmf/core/filter/TmfCollapseFilter.java119
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/internal/tmf/core/messages.properties14
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/internal/tmf/core/request/TmfCoalescedEventRequest.java321
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/internal/tmf/core/request/TmfRequestExecutor.java308
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/internal/tmf/core/statesystem/backends/partial/PartialHistoryBackend.java365
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/internal/tmf/core/statesystem/backends/partial/PartialStateSystem.java162
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/internal/tmf/core/statesystem/mipmap/AbstractTmfMipmapStateProvider.java199
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/internal/tmf/core/statesystem/mipmap/AvgMipmapFeature.java73
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/internal/tmf/core/statesystem/mipmap/ITmfMipmapFeature.java41
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/internal/tmf/core/statesystem/mipmap/MaxMipmapFeature.java69
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/internal/tmf/core/statesystem/mipmap/MinMipmapFeature.java69
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/internal/tmf/core/statesystem/mipmap/TmfMipmapFeature.java238
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/internal/tmf/core/statesystem/mipmap/TmfStateSystemOperations.java350
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/internal/tmf/core/synchronization/ITmfTimestampTransformInvertible.java33
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/internal/tmf/core/synchronization/SyncAlgorithmFullyIncremental.java623
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/internal/tmf/core/synchronization/TmfConstantTransform.java116
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/internal/tmf/core/synchronization/TmfTimestampTransform.java82
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/internal/tmf/core/synchronization/TmfTimestampTransformLinear.java150
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/internal/tmf/core/synchronization/graph/Edge.java77
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/internal/tmf/core/synchronization/graph/SyncGraph.java179
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/internal/tmf/core/synchronization/graph/SyncSpanningTree.java127
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/internal/tmf/core/trace/TmfExperimentCheckpoint.java95
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/internal/tmf/core/trace/TmfExperimentContext.java224
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/internal/tmf/core/trace/TmfExperimentLocation.java120
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/internal/tmf/core/trace/TmfLocationArray.java204
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/internal/tmf/core/trace/indexer/AbstractFileCheckpointCollection.java478
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/internal/tmf/core/trace/indexer/BTree.java383
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/internal/tmf/core/trace/indexer/BTreeCheckpointVisitor.java76
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/internal/tmf/core/trace/indexer/BTreeNode.java204
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/internal/tmf/core/trace/indexer/BTreeNodeCache.java146
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/internal/tmf/core/trace/indexer/FlatArray.java142
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/internal/tmf/core/trace/indexer/IBTreeVisitor.java34
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/internal/tmf/core/trace/indexer/ICheckpointCollection.java99
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/internal/tmf/core/trace/indexer/Messages.java67
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/internal/tmf/core/trace/indexer/TmfMemoryIndex.java103
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/internal/tmf/core/trace/indexer/messages.properties21
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/Messages.java39
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/TmfCommonConstants.java59
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/TmfProjectNature.java64
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/analysis/IAnalysisModule.java249
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/analysis/IAnalysisModuleHelper.java138
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/analysis/IAnalysisModuleSource.java37
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/analysis/IAnalysisOutput.java54
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/analysis/IAnalysisParameterProvider.java68
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/analysis/IAnalysisRequirementProvider.java32
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/analysis/ITmfNewAnalysisModuleListener.java31
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/analysis/Messages.java70
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/analysis/TmfAbstractAnalysisModule.java478
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/analysis/TmfAbstractAnalysisParamProvider.java71
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/analysis/TmfAnalysisManager.java230
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/analysis/TmfAnalysisModuleHelperConfigElement.java206
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/analysis/TmfAnalysisModuleOutputs.java95
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/analysis/TmfAnalysisRequirement.java291
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/analysis/TmfAnalysisRequirementHelper.java128
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/analysis/TmfNewAnalysisOutputListener.java58
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/analysis/messages.properties24
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/callstack/CallStackStateProvider.java198
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/callstack/Messages.java39
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/callstack/messages.properties13
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/component/ITmfComponent.java56
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/component/ITmfEventProvider.java56
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/component/TmfComponent.java119
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/component/TmfEventProvider.java439
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/event/ITmfCustomAttributes.java43
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/event/ITmfEvent.java113
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/event/ITmfEventField.java96
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/event/ITmfEventType.java69
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/event/ITmfLostEvent.java53
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/event/TmfEvent.java249
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/event/TmfEventField.java261
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/event/TmfEventType.java149
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/event/TmfEventTypeManager.java147
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/event/TmfLostEvent.java136
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/event/collapse/ITmfCollapsibleEvent.java35
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/event/lookup/ITmfCallsite.java47
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/event/lookup/ITmfModelLookup.java28
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/event/lookup/ITmfSourceLookup.java28
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/event/lookup/TmfCallsite.java150
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/event/matching/IMatchProcessingUnit.java58
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/event/matching/ITmfEventMatching.java31
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/event/matching/ITmfMatchEventDefinition.java56
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/event/matching/ITmfNetworkMatchDefinition.java37
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/event/matching/TmfEventDependency.java60
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/event/matching/TmfEventMatches.java80
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/event/matching/TmfEventMatching.java271
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/event/matching/TmfNetworkEventMatching.java212
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/exceptions/TmfAnalysisException.java47
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/exceptions/TmfTraceException.java46
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/filter/ITmfFilter.java33
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/filter/model/ITmfFilterTreeNode.java127
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/filter/model/TmfFilterAndNode.java88
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/filter/model/TmfFilterCompareNode.java218
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/filter/model/TmfFilterContainsNode.java142
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/filter/model/TmfFilterEqualsNode.java141
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/filter/model/TmfFilterEventTypeNode.java133
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/filter/model/TmfFilterMatchesNode.java154
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/filter/model/TmfFilterNode.java109
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/filter/model/TmfFilterOrNode.java88
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/filter/model/TmfFilterRootNode.java62
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/filter/model/TmfFilterTreeNode.java234
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/filter/xml/TmfFilterContentHandler.java179
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/filter/xml/TmfFilterXMLParser.java70
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/filter/xml/TmfFilterXMLWriter.java162
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/io/BufferedRandomAccessFile.java229
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/messages.properties13
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/parsers/custom/CustomEvent.java314
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/parsers/custom/CustomEventContent.java70
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/parsers/custom/CustomEventType.java48
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/parsers/custom/CustomTraceDefinition.java157
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/parsers/custom/CustomTxtEvent.java143
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/parsers/custom/CustomTxtEventType.java33
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/parsers/custom/CustomTxtTrace.java463
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/parsers/custom/CustomTxtTraceContext.java103
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/parsers/custom/CustomTxtTraceDefinition.java935
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/parsers/custom/CustomXmlEvent.java127
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/parsers/custom/CustomXmlEventType.java33
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/parsers/custom/CustomXmlTrace.java585
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/parsers/custom/CustomXmlTraceContext.java57
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/parsers/custom/CustomXmlTraceDefinition.java858
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/parsers/custom/Messages.java66
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/parsers/custom/messages.properties44
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/project/model/TmfTraceCoreUtils.java84
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/project/model/TmfTraceImportException.java45
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/project/model/TmfTraceType.java692
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/project/model/TraceTypeHelper.java167
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/project/model/TraceValidationHelper.java99
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/request/ITmfEventRequest.java199
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/request/TmfEventRequest.java426
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/signal/TmfEndSynchSignal.java33
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/signal/TmfEventFilterAppliedSignal.java68
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/signal/TmfEventSearchAppliedSignal.java68
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/signal/TmfEventSelectedSignal.java53
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/signal/TmfRangeSynchSignal.java53
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/signal/TmfSignal.java73
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/signal/TmfSignalHandler.java30
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/signal/TmfSignalManager.java231
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/signal/TmfSignalThrottler.java103
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/signal/TmfSignalTracer.java48
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/signal/TmfStartAnalysisSignal.java54
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/signal/TmfStartSynchSignal.java34
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/signal/TmfTimeSynchSignal.java95
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/signal/TmfTimestampFormatUpdateSignal.java31
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/signal/TmfTraceClosedSignal.java60
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/signal/TmfTraceOpenedSignal.java72
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/signal/TmfTraceRangeUpdatedSignal.java69
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/signal/TmfTraceSelectedSignal.java54
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/signal/TmfTraceSynchronizedSignal.java53
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/signal/TmfTraceUpdatedSignal.java84
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/statesystem/AbstractTmfStateProvider.java243
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/statesystem/ITmfAnalysisModuleWithStateSystems.java48
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/statesystem/ITmfStateProvider.java119
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/statesystem/TmfStateSystemAnalysisModule.java512
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/statistics/ITmfStatistics.java98
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/statistics/TmfEventsStatistics.java285
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/statistics/TmfStateStatistics.java323
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/statistics/TmfStatisticsEventTypesModule.java161
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/statistics/TmfStatisticsModule.java191
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/statistics/TmfStatisticsTotalsModule.java130
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/synchronization/ITmfTimestampTransform.java57
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/synchronization/Messages.java53
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/synchronization/SyncAlgorithmFullyIncremental.java626
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/synchronization/SynchronizationAlgorithm.java122
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/synchronization/SynchronizationAlgorithmFactory.java52
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/synchronization/SynchronizationBackend.java196
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/synchronization/SynchronizationManager.java134
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/synchronization/TimestampTransformFactory.java208
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/synchronization/TmfTimestampTransform.java82
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/synchronization/TmfTimestampTransformLinear.java149
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/synchronization/messages.properties32
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/timestamp/ITmfTimePreferencesConstants.java58
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/timestamp/ITmfTimestamp.java142
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/timestamp/TmfNanoTimestamp.java110
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/timestamp/TmfSimpleTimestamp.java112
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/timestamp/TmfTimePreferences.java213
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/timestamp/TmfTimeRange.java226
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/timestamp/TmfTimestamp.java384
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/timestamp/TmfTimestampDelta.java105
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/timestamp/TmfTimestampFormat.java816
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/trace/ITmfContext.java88
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/trace/ITmfEventParser.java38
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/trace/ITmfTrace.java457
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/trace/ITmfTraceCompleteness.java38
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/trace/ITmfTraceProperties.java35
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/trace/ITmfTraceWithPreDefinedEvents.java59
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/trace/TmfContext.java178
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/trace/TmfEventTypeCollectionHelper.java48
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/trace/TmfExperiment.java736
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/trace/TmfTrace.java826
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/trace/TmfTraceContext.java115
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/trace/TmfTraceManager.java524
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/trace/TraceValidationStatus.java49
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/trace/indexer/ITmfPersistentlyIndexable.java47
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/trace/indexer/ITmfTraceIndexer.java116
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/trace/indexer/TmfBTreeTraceIndex.java139
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/trace/indexer/TmfBTreeTraceIndexer.java43
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/trace/indexer/TmfFlatArrayTraceIndex.java112
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/trace/indexer/TmfFlatArrayTraceIndexer.java43
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/trace/indexer/checkpoint/ITmfCheckpoint.java79
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/trace/indexer/checkpoint/ITmfCheckpointIndex.java118
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/trace/indexer/checkpoint/TmfCheckpoint.java222
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/trace/indexer/checkpoint/TmfCheckpointIndexer.java355
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/trace/location/ITmfLocation.java51
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/trace/location/TmfLocation.java108
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/trace/location/TmfLongLocation.java78
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/trace/location/TmfTimestampLocation.java71
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/trace/text/TextTrace.java400
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/trace/text/TextTraceContext.java100
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/trace/text/TextTraceEvent.java76
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/trace/text/TextTraceEventContent.java312
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/uml2sd/ITmfAsyncSequenceDiagramEvent.java32
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/uml2sd/ITmfSyncSequenceDiagramEvent.java54
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/uml2sd/TmfAsyncSequenceDiagramEvent.java67
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/uml2sd/TmfSyncSequenceDiagramEvent.java102
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/util/Pair.java146
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ctf.core.tests/.classpath10
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ctf.core.tests/.project34
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ctf.core.tests/.settings/org.eclipse.core.resources.prefs2
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ctf.core.tests/.settings/org.eclipse.core.runtime.prefs2
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ctf.core.tests/.settings/org.eclipse.jdt.core.prefs393
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ctf.core.tests/.settings/org.eclipse.jdt.ui.prefs56
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ctf.core.tests/.settings/org.eclipse.pde.api.tools.prefs97
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ctf.core.tests/.settings/org.eclipse.pde.prefs32
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ctf.core.tests/META-INF/MANIFEST.MF28
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ctf.core.tests/about.html28
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ctf.core.tests/build.properties24
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ctf.core.tests/perf/org/eclipse/linuxtools/tmf/ctf/core/tests/perf/AllPerfTests.java31
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ctf.core.tests/perf/org/eclipse/linuxtools/tmf/ctf/core/tests/perf/experiment/AllPerfTests.java26
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ctf.core.tests/perf/org/eclipse/linuxtools/tmf/ctf/core/tests/perf/experiment/ExperimentBenchmark.java163
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ctf.core.tests/plugin.properties15
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ctf.core.tests/plugin.xml16
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ctf.core.tests/pom.xml64
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ctf.core.tests/shared/org/eclipse/linuxtools/tmf/ctf/core/tests/shared/CtfTmfTestTrace.java123
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ctf.core.tests/src/org/eclipse/linuxtools/tmf/ctf/core/tests/AllTests.java48
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ctf.core.tests/src/org/eclipse/linuxtools/tmf/ctf/core/tests/CtfIteratorTest.java243
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ctf.core.tests/src/org/eclipse/linuxtools/tmf/ctf/core/tests/CtfLocationDataTest.java99
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ctf.core.tests/src/org/eclipse/linuxtools/tmf/ctf/core/tests/CtfLocationTest.java105
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ctf.core.tests/src/org/eclipse/linuxtools/tmf/ctf/core/tests/CtfTmfContextTest.java126
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ctf.core.tests/src/org/eclipse/linuxtools/tmf/ctf/core/tests/CtfTmfEventFieldTest.java324
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ctf.core.tests/src/org/eclipse/linuxtools/tmf/ctf/core/tests/CtfTmfEventTest.java227
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ctf.core.tests/src/org/eclipse/linuxtools/tmf/ctf/core/tests/CtfTmfEventTypeTest.java61
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ctf.core.tests/src/org/eclipse/linuxtools/tmf/ctf/core/tests/CtfTmfLostEventStatisticsTest.java167
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ctf.core.tests/src/org/eclipse/linuxtools/tmf/ctf/core/tests/CtfTmfLostEventsTest.java256
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ctf.core.tests/src/org/eclipse/linuxtools/tmf/ctf/core/tests/CtfTmfTimestampTest.java53
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ctf.core.tests/src/org/eclipse/linuxtools/tmf/ctf/core/tests/CtfTmfTraceTest.java393
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ctf.core.tests/src/org/eclipse/linuxtools/tmf/ctf/core/tests/EventContextTest.java241
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ctf.core.tests/src/org/eclipse/linuxtools/tmf/ctf/core/tests/FunkyTraceTest.java212
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ctf.core.tests/src/org/eclipse/linuxtools/tmf/ctf/core/tests/headless/Benchmark.java97
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ctf.core.tests/src/org/eclipse/linuxtools/tmf/ctf/core/tests/headless/RequestBenchmark.java130
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ctf.core.tests/src/org/eclipse/linuxtools/tmf/ctf/core/tests/request/AllTests.java25
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ctf.core.tests/src/org/eclipse/linuxtools/tmf/ctf/core/tests/request/TmfSchedulerBenchmark.java360
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ctf.core.tests/src/org/eclipse/linuxtools/tmf/ctf/core/tests/request/TmfSchedulerTest.java451
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ctf.core.tests/src/org/eclipse/linuxtools/tmf/ctf/core/tests/statistics/AllTests.java26
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ctf.core.tests/src/org/eclipse/linuxtools/tmf/ctf/core/tests/statistics/TmfEventsStatisticsTest.java35
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ctf.core.tests/src/org/eclipse/linuxtools/tmf/ctf/core/tests/statistics/TmfStateStatisticsTest.java89
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ctf.core.tests/src/org/eclipse/linuxtools/tmf/ctf/core/tests/statistics/TmfStatisticsTest.java364
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ctf.core.tests/src/org/eclipse/linuxtools/tmf/ctf/core/tests/tracemanager/AllTests.java25
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ctf.core.tests/src/org/eclipse/linuxtools/tmf/ctf/core/tests/tracemanager/TmfTraceManagerTest.java720
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ctf.core.tests/stubs/org/eclipse/linuxtools/tmf/ctf/core/tests/stubs/CtfTmfTraceStub.java41
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ctf.core/.classpath7
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ctf.core/.project34
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ctf.core/.settings/org.eclipse.core.resources.prefs2
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ctf.core/.settings/org.eclipse.core.runtime.prefs2
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ctf.core/.settings/org.eclipse.jdt.core.prefs394
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ctf.core/.settings/org.eclipse.jdt.ui.prefs56
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ctf.core/.settings/org.eclipse.pde.api.tools.prefs97
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ctf.core/.settings/org.eclipse.pde.prefs32
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ctf.core/META-INF/MANIFEST.MF18
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ctf.core/about.html28
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ctf.core/build.properties22
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ctf.core/plugin.properties19
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ctf.core/plugin.xml20
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ctf.core/pom.xml36
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ctf.core/src/org/eclipse/linuxtools/internal/tmf/ctf/core/Activator.java137
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ctf.core/src/org/eclipse/linuxtools/tmf/ctf/core/CtfConstants.java64
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ctf.core/src/org/eclipse/linuxtools/tmf/ctf/core/CtfEnumPair.java59
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ctf.core/src/org/eclipse/linuxtools/tmf/ctf/core/CtfIterator.java353
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ctf.core/src/org/eclipse/linuxtools/tmf/ctf/core/CtfIteratorManager.java229
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ctf.core/src/org/eclipse/linuxtools/tmf/ctf/core/CtfLocation.java147
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ctf.core/src/org/eclipse/linuxtools/tmf/ctf/core/CtfLocationInfo.java137
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ctf.core/src/org/eclipse/linuxtools/tmf/ctf/core/CtfTmfCallsite.java116
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ctf.core/src/org/eclipse/linuxtools/tmf/ctf/core/CtfTmfContext.java202
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ctf.core/src/org/eclipse/linuxtools/tmf/ctf/core/CtfTmfEvent.java262
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ctf.core/src/org/eclipse/linuxtools/tmf/ctf/core/CtfTmfEventFactory.java121
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ctf.core/src/org/eclipse/linuxtools/tmf/ctf/core/CtfTmfEventField.java472
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ctf.core/src/org/eclipse/linuxtools/tmf/ctf/core/CtfTmfEventType.java84
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ctf.core/src/org/eclipse/linuxtools/tmf/ctf/core/CtfTmfLostEvent.java79
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ctf.core/src/org/eclipse/linuxtools/tmf/ctf/core/CtfTmfTimestamp.java37
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ctf.core/src/org/eclipse/linuxtools/tmf/ctf/core/CtfTmfTrace.java518
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ctf.core/src/org/eclipse/linuxtools/tmf/ctf/core/Messages.java56
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ctf.core/src/org/eclipse/linuxtools/tmf/ctf/core/messages.properties18
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ctf.ui.swtbot.tests/.classpath7
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ctf.ui.swtbot.tests/.gitignore1
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ctf.ui.swtbot.tests/.project34
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ctf.ui.swtbot.tests/.settings/org.eclipse.core.resources.prefs2
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ctf.ui.swtbot.tests/.settings/org.eclipse.core.runtime.prefs2
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ctf.ui.swtbot.tests/.settings/org.eclipse.jdt.core.prefs393
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ctf.ui.swtbot.tests/.settings/org.eclipse.jdt.ui.prefs56
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ctf.ui.swtbot.tests/.settings/org.eclipse.pde.api.tools.prefs97
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ctf.ui.swtbot.tests/.settings/org.eclipse.pde.prefs32
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ctf.ui.swtbot.tests/META-INF/MANIFEST.MF32
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ctf.ui.swtbot.tests/about.html28
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ctf.ui.swtbot.tests/build.properties18
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ctf.ui.swtbot.tests/plugin.properties14
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ctf.ui.swtbot.tests/pom.xml51
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ctf.ui.swtbot.tests/src/org/eclipse/linuxtools/tmf/ctf/ui/swtbot/tests/AbstractImportAndReadSmokeTest.java267
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ctf.ui.swtbot.tests/src/org/eclipse/linuxtools/tmf/ctf/ui/swtbot/tests/AllTests.java29
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ctf.ui.swtbot.tests/src/org/eclipse/linuxtools/tmf/ctf/ui/swtbot/tests/ImportAndReadSmokeTest.java142
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ctf.ui.swtbot.tests/src/org/eclipse/linuxtools/tmf/ctf/ui/swtbot/tests/StandardImportAndReadSmokeTest.java315
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ctf/.project17
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ctf/.settings/org.eclipse.core.resources.prefs2
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ctf/.settings/org.eclipse.core.runtime.prefs2
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ctf/build.properties15
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ctf/feature.properties21
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ctf/feature.xml55
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ctf/p2.inf3
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ctf/pom.xml59
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.help/.empty.dtd0
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.help/.externalToolBuilders/org.eclipse.linuxtools.tmf.help build.xml [Builder].launch24
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.help/.project37
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.help/.settings/org.eclipse.core.resources.prefs2
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.help/.settings/org.eclipse.core.runtime.prefs2
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.help/.settings/org.eclipse.ltk.core.refactoring.prefs2
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.help/META-INF/MANIFEST.MF8
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.help/README19
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.help/about.html28
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.help/book.css59
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.help/build.properties22
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.help/build.xml63
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.help/doc/.gitignore2
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.help/doc/Developer-Guide.mediawiki4137
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.help/doc/images/AddDependencyTmf.pngbin71006 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.help/doc/images/AddDependencyTmfUi.pngbin69912 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.help/doc/images/AddTmfUml2SDLoader.pngbin86908 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.help/doc/images/AddViewExtension1.pngbin79035 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.help/doc/images/AddViewExtension2.pngbin66845 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.help/doc/images/BlankSampleSeqDiagram.pngbin46089 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.help/doc/images/CustomStatisticsView.pngbin77654 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.help/doc/images/DefaultCoolbarMenu.pngbin64115 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.help/doc/images/DialogHidePatterns.pngbin15933 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.help/doc/images/EmptySampleView.pngbin17413 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.help/doc/images/ExampleNewStatsView.pngbin65695 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.help/doc/images/FillSampleLoader.pngbin81020 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.help/doc/images/FillSampleSeqDiagram.pngbin65357 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.help/doc/images/FillSampleViewExtension.pngbin27277 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.help/doc/images/FindDialog.pngbin20244 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.help/doc/images/FindProviderAdded.pngbin45734 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.help/doc/images/HidePatternsMenuItem.pngbin71982 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.help/doc/images/ImportTracePackage.pngbin29564 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.help/doc/images/NTTAddDepend.pngbin43060 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.help/doc/images/NTTAddType.pngbin56846 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.help/doc/images/NTTExtension.pngbin27614 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.help/doc/images/NTTExtensionPoint.pngbin44492 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.help/doc/images/NTTPluginxmlComplete.pngbin73797 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.help/doc/images/NTTSelectProjects.pngbin66561 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.help/doc/images/NTTTraceType.pngbin43259 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.help/doc/images/NewSampleLoaderClass.pngbin76655 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.help/doc/images/PageProviderAdded.pngbin45069 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.help/doc/images/PrintDialog.pngbin37126 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.help/doc/images/ReferenceExtensions.pngbin153384 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.help/doc/images/ReferenceSeqDiagram.pngbin121759 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.help/doc/images/RunEclipseApplication.pngbin141027 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.help/doc/images/SampleDiagram1.pngbin31941 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.help/doc/images/SampleDiagramAsyncMessage.pngbin33612 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.help/doc/images/SampleDiagramMessageDelta.pngbin31322 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.help/doc/images/SampleDiagramSyncMessage.pngbin31364 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.help/doc/images/SampleDiagramTimeComp.pngbin35267 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.help/doc/images/SampleView.pngbin13557 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.help/doc/images/Screenshot-NewPlug-inProject1.pngbin69764 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.help/doc/images/Screenshot-NewPlug-inProject2.pngbin59787 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.help/doc/images/Screenshot-NewPlug-inProject3.pngbin65638 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.help/doc/images/SelectManifest.pngbin26967 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.help/doc/images/SeqDiagramPref.pngbin123405 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.help/doc/images/ShowEventsView.pngbin36796 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.help/doc/images/ShowTmfSDView.pngbin29750 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.help/doc/images/ShowViewOther.pngbin90464 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.help/doc/images/SupplCoolbar.pngbin70556 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.help/doc/images/TmfAddModelClass.pngbin74681 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.help/doc/images/TmfAddModelPackage.pngbin30577 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.help/doc/images/TmfAddStatisticsView.pngbin56767 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.help/doc/images/TmfAddStatisticsViewClass.pngbin75136 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.help/doc/images/TmfStatisticsView.pngbin66147 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.help/doc/images/home.gifbin582 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.help/doc/images/next.gifbin327 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.help/doc/images/prev.gifbin327 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.help/images/home.gifbin582 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.help/images/next.gifbin327 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.help/images/prev.gifbin327 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.help/plugin.properties15
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.help/plugin.xml10
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.help/pom.xml86
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.pcap.core.tests/.classpath9
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.pcap.core.tests/.project34
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.pcap.core.tests/.settings/org.eclipse.core.resources.prefs2
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.pcap.core.tests/.settings/org.eclipse.core.runtime.prefs2
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.pcap.core.tests/.settings/org.eclipse.jdt.core.prefs393
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.pcap.core.tests/.settings/org.eclipse.jdt.ui.prefs56
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.pcap.core.tests/.settings/org.eclipse.pde.api.tools.prefs97
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.pcap.core.tests/.settings/org.eclipse.pde.prefs32
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.pcap.core.tests/META-INF/MANIFEST.MF24
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.pcap.core.tests/about.html28
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.pcap.core.tests/build.properties22
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.pcap.core.tests/plugin.properties15
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.pcap.core.tests/pom.xml64
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.pcap.core.tests/shared/org/eclipse/linuxtools/tmf/pcap/core/tests/shared/PcapTmfTestTrace.java122
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.pcap.core.tests/src/org/eclipse/linuxtools/tmf/pcap/core/tests/AllTmfPcapCoreTests.java32
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.pcap.core.tests/src/org/eclipse/linuxtools/tmf/pcap/core/tests/analysis/AllTests.java27
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.pcap.core.tests/src/org/eclipse/linuxtools/tmf/pcap/core/tests/analysis/StreamListAnalysisTest.java126
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.pcap.core.tests/src/org/eclipse/linuxtools/tmf/pcap/core/tests/event/AllTests.java28
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.pcap.core.tests/src/org/eclipse/linuxtools/tmf/pcap/core/tests/event/PcapEventFieldTest.java243
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.pcap.core.tests/src/org/eclipse/linuxtools/tmf/pcap/core/tests/event/PcapEventTest.java153
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.pcap.core.tests/src/org/eclipse/linuxtools/tmf/pcap/core/tests/trace/AllTests.java27
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.pcap.core.tests/src/org/eclipse/linuxtools/tmf/pcap/core/tests/trace/PcapTraceTest.java307
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.pcap.core.tests/stubs/org/eclipse/linuxtools/tmf/pcap/core/tests/stubs/PcapTmfTraceStub.java41
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.pcap.core/.classpath7
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.pcap.core/.project34
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.pcap.core/.settings/org.eclipse.core.resources.prefs2
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.pcap.core/.settings/org.eclipse.core.runtime.prefs2
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.pcap.core/.settings/org.eclipse.jdt.core.prefs394
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.pcap.core/.settings/org.eclipse.jdt.ui.prefs56
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.pcap.core/.settings/org.eclipse.pde.api.tools.prefs97
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.pcap.core/.settings/org.eclipse.pde.prefs32
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.pcap.core/META-INF/MANIFEST.MF22
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.pcap.core/about.html28
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.pcap.core/build.properties22
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.pcap.core/plugin.properties19
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.pcap.core/plugin.xml33
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.pcap.core/pom.xml36
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.pcap.core/src/org/eclipse/linuxtools/internal/tmf/pcap/core/Activator.java212
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.pcap.core/src/org/eclipse/linuxtools/internal/tmf/pcap/core/analysis/StreamListAnalysis.java166
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.pcap.core/src/org/eclipse/linuxtools/internal/tmf/pcap/core/analysis/package-info.java14
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.pcap.core/src/org/eclipse/linuxtools/internal/tmf/pcap/core/event/Messages.java35
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.pcap.core/src/org/eclipse/linuxtools/internal/tmf/pcap/core/event/PcapEvent.java242
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.pcap.core/src/org/eclipse/linuxtools/internal/tmf/pcap/core/event/PcapEventField.java64
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.pcap.core/src/org/eclipse/linuxtools/internal/tmf/pcap/core/event/PcapEventType.java75
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.pcap.core/src/org/eclipse/linuxtools/internal/tmf/pcap/core/event/PcapRootEventField.java90
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.pcap.core/src/org/eclipse/linuxtools/internal/tmf/pcap/core/event/TmfPacketStream.java175
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.pcap.core/src/org/eclipse/linuxtools/internal/tmf/pcap/core/event/TmfPacketStreamBuilder.java86
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.pcap.core/src/org/eclipse/linuxtools/internal/tmf/pcap/core/event/messages.properties14
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.pcap.core/src/org/eclipse/linuxtools/internal/tmf/pcap/core/event/package-info.java14
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.pcap.core/src/org/eclipse/linuxtools/internal/tmf/pcap/core/package-info.java14
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.pcap.core/src/org/eclipse/linuxtools/internal/tmf/pcap/core/protocol/TmfPcapProtocol.java109
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.pcap.core/src/org/eclipse/linuxtools/internal/tmf/pcap/core/protocol/package-info.java14
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.pcap.core/src/org/eclipse/linuxtools/internal/tmf/pcap/core/signal/TmfPacketStreamSelectedSignal.java54
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.pcap.core/src/org/eclipse/linuxtools/internal/tmf/pcap/core/signal/package-info.java14
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.pcap.core/src/org/eclipse/linuxtools/internal/tmf/pcap/core/trace/Messages.java37
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.pcap.core/src/org/eclipse/linuxtools/internal/tmf/pcap/core/trace/PcapTrace.java251
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.pcap.core/src/org/eclipse/linuxtools/internal/tmf/pcap/core/trace/messages.properties18
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.pcap.core/src/org/eclipse/linuxtools/internal/tmf/pcap/core/trace/package-info.java14
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.pcap.core/src/org/eclipse/linuxtools/internal/tmf/pcap/core/util/Messages.java32
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.pcap.core/src/org/eclipse/linuxtools/internal/tmf/pcap/core/util/PcapEventFactory.java133
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.pcap.core/src/org/eclipse/linuxtools/internal/tmf/pcap/core/util/ProtocolConversion.java80
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.pcap.core/src/org/eclipse/linuxtools/internal/tmf/pcap/core/util/messages.properties13
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.pcap.core/src/org/eclipse/linuxtools/internal/tmf/pcap/core/util/package-info.java14
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.pcap.help/.empty.dtd0
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.pcap.help/.externalToolBuilders/org.eclipse.linuxtools.tmf.pcap.help build.xml [Builder].launch24
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.pcap.help/.project37
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.pcap.help/.settings/org.eclipse.core.resources.prefs2
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.pcap.help/.settings/org.eclipse.core.runtime.prefs2
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.pcap.help/.settings/org.eclipse.ltk.core.refactoring.prefs2
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.pcap.help/META-INF/MANIFEST.MF8
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.pcap.help/README19
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.pcap.help/about.html28
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.pcap.help/book.css59
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.pcap.help/build.properties22
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.pcap.help/build.xml63
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.pcap.help/doc/.gitignore2
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.pcap.help/doc/User-Guide.mediawiki52
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.pcap.help/doc/images/networkTracingPerspective.pngbin243546 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.pcap.help/doc/images/streamListView.pngbin124996 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.pcap.help/doc/images/subfieldFiltering.pngbin26002 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.pcap.help/plugin.properties15
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.pcap.help/plugin.xml10
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.pcap.help/pom.xml86
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.pcap.ui.swtbot.tests/.classpath7
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.pcap.ui.swtbot.tests/.gitignore1
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.pcap.ui.swtbot.tests/.project34
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.pcap.ui.swtbot.tests/.settings/org.eclipse.core.resources.prefs2
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.pcap.ui.swtbot.tests/.settings/org.eclipse.core.runtime.prefs2
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.pcap.ui.swtbot.tests/.settings/org.eclipse.jdt.core.prefs393
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.pcap.ui.swtbot.tests/.settings/org.eclipse.jdt.ui.prefs56
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.pcap.ui.swtbot.tests/.settings/org.eclipse.pde.api.tools.prefs97
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.pcap.ui.swtbot.tests/.settings/org.eclipse.pde.prefs32
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.pcap.ui.swtbot.tests/META-INF/MANIFEST.MF25
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.pcap.ui.swtbot.tests/about.html28
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.pcap.ui.swtbot.tests/build.properties17
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.pcap.ui.swtbot.tests/plugin.properties14
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.pcap.ui.swtbot.tests/pom.xml51
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.pcap.ui.swtbot.tests/src/org/eclipse/linuxtools/tmf/pcap/ui/swtbot/tests/AllTests.java27
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.pcap.ui.swtbot.tests/src/org/eclipse/linuxtools/tmf/pcap/ui/swtbot/tests/ImportAndReadPcapTest.java269
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.pcap.ui.swtbot.tests/src/org/eclipse/linuxtools/tmf/pcap/ui/swtbot/tests/NetworkPerspectiveChecker.java56
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.pcap.ui/.classpath7
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.pcap.ui/.project34
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.pcap.ui/.settings/org.eclipse.core.resources.prefs2
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.pcap.ui/.settings/org.eclipse.core.runtime.prefs2
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.pcap.ui/.settings/org.eclipse.jdt.core.prefs394
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.pcap.ui/.settings/org.eclipse.jdt.ui.prefs56
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.pcap.ui/.settings/org.eclipse.pde.api.tools.prefs97
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.pcap.ui/.settings/org.eclipse.pde.prefs32
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.pcap.ui/META-INF/MANIFEST.MF21
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.pcap.ui/about.html28
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.pcap.ui/build.properties23
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.pcap.ui/icons/network.pngbin1102 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.pcap.ui/icons/pcap.pngbin808 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.pcap.ui/icons/pcapng.pngbin735 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.pcap.ui/icons/stream_list_view.gifbin97 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.pcap.ui/plugin.properties23
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.pcap.ui/plugin.xml51
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.pcap.ui/pom.xml36
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.pcap.ui/src/org/eclipse/linuxtools/internal/tmf/pcap/ui/Activator.java212
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.pcap.ui/src/org/eclipse/linuxtools/internal/tmf/pcap/ui/NetworkingPerspectiveFactory.java90
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.pcap.ui/src/org/eclipse/linuxtools/internal/tmf/pcap/ui/editor/Messages.java37
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.pcap.ui/src/org/eclipse/linuxtools/internal/tmf/pcap/ui/editor/PcapEventTableColumns.java144
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.pcap.ui/src/org/eclipse/linuxtools/internal/tmf/pcap/ui/editor/messages.properties18
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.pcap.ui/src/org/eclipse/linuxtools/internal/tmf/pcap/ui/editor/package-info.java14
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.pcap.ui/src/org/eclipse/linuxtools/internal/tmf/pcap/ui/package-info.java14
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.pcap.ui/src/org/eclipse/linuxtools/internal/tmf/pcap/ui/stream/Messages.java49
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.pcap.ui/src/org/eclipse/linuxtools/internal/tmf/pcap/ui/stream/StreamListView.java503
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.pcap.ui/src/org/eclipse/linuxtools/internal/tmf/pcap/ui/stream/messages.properties30
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.pcap.ui/src/org/eclipse/linuxtools/internal/tmf/pcap/ui/stream/package-info.java14
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.pcap/.project17
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.pcap/.settings/org.eclipse.core.resources.prefs2
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.pcap/.settings/org.eclipse.core.runtime.prefs2
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.pcap/build.properties15
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.pcap/feature.properties20
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.pcap/feature.xml68
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.pcap/p2.inf3
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.pcap/pom.xml58
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui.swtbot.tests/.classpath7
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui.swtbot.tests/.gitignore1
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui.swtbot.tests/.project34
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui.swtbot.tests/.settings/org.eclipse.core.resources.prefs2
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui.swtbot.tests/.settings/org.eclipse.core.runtime.prefs2
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui.swtbot.tests/.settings/org.eclipse.jdt.core.prefs393
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui.swtbot.tests/.settings/org.eclipse.jdt.ui.prefs56
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui.swtbot.tests/.settings/org.eclipse.pde.api.tools.prefs97
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui.swtbot.tests/.settings/org.eclipse.pde.prefs32
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui.swtbot.tests/META-INF/MANIFEST.MF34
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui.swtbot.tests/about.html28
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui.swtbot.tests/build.properties18
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui.swtbot.tests/plugin.properties14
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui.swtbot.tests/pom.xml51
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui.swtbot.tests/src/org/eclipse/linuxtools/tmf/ui/swtbot/tests/AbstractCustomParserWizard.java96
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui.swtbot.tests/src/org/eclipse/linuxtools/tmf/ui/swtbot/tests/AbstractPerspectiveChecker.java111
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui.swtbot.tests/src/org/eclipse/linuxtools/tmf/ui/swtbot/tests/AllTmfUISWTBotTests.java31
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui.swtbot.tests/src/org/eclipse/linuxtools/tmf/ui/swtbot/tests/SWTBotUtil.java345
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui.swtbot.tests/src/org/eclipse/linuxtools/tmf/ui/swtbot/tests/TestCustomTxtWizard.java262
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui.swtbot.tests/src/org/eclipse/linuxtools/tmf/ui/swtbot/tests/TestCustomXmlWizard.java117
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui.swtbot.tests/src/org/eclipse/linuxtools/tmf/ui/swtbot/tests/TracingPerspectiveChecker.java48
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui.swtbot.tests/src/org/eclipse/linuxtools/tmf/ui/swtbot/tests/conditions/ConditionHelpers.java107
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui.swtbot.tests/src/org/eclipse/linuxtools/tmf/ui/swtbot/tests/conditions/TableCellFilled.java56
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui.swtbot.tests/src/org/eclipse/linuxtools/tmf/ui/swtbot/tests/conditions/TreeItemNodeAvailable.java52
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui.swtbot.tests/src/org/eclipse/linuxtools/tmf/ui/swtbot/tests/conditions/TreeNodeAvailable.java67
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui.swtbot.tests/src/org/eclipse/linuxtools/tmf/ui/swtbot/tests/conditions/ViewClosed.java45
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui.swtbot.tests/src/org/eclipse/linuxtools/tmf/ui/swtbot/tests/conditions/WizardOnPage.java57
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui.swtbot.tests/src/org/eclipse/linuxtools/tmf/ui/swtbot/tests/conditions/WizardReady.java49
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui.swtbot.tests/src/org/eclipse/linuxtools/tmf/ui/swtbot/tests/table/AllTests.java28
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui.swtbot.tests/src/org/eclipse/linuxtools/tmf/ui/swtbot/tests/table/CollapseEventsInTableTest.java196
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui.tests/.classpath9
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui.tests/.project34
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui.tests/.settings/org.eclipse.core.resources.prefs2
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui.tests/.settings/org.eclipse.core.runtime.prefs2
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui.tests/.settings/org.eclipse.jdt.core.prefs393
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui.tests/.settings/org.eclipse.jdt.ui.prefs56
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui.tests/.settings/org.eclipse.pde.api.tools.prefs97
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui.tests/.settings/org.eclipse.pde.prefs32
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui.tests/ChangeLog8
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui.tests/META-INF/MANIFEST.MF21
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui.tests/about.html28
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui.tests/build.properties21
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui.tests/plugin.properties18
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui.tests/plugin.xml105
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui.tests/pom.xml56
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui.tests/shared/org/eclipse/linuxtools/tmf/ui/tests/shared/ProjectModelTestData.java265
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui.tests/src/org/eclipse/linuxtools/tmf/ui/tests/AllTmfUITests.java35
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui.tests/src/org/eclipse/linuxtools/tmf/ui/tests/TmfUITestPlugin.java84
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui.tests/src/org/eclipse/linuxtools/tmf/ui/tests/histogram/AllTests.java28
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui.tests/src/org/eclipse/linuxtools/tmf/ui/tests/histogram/HistogramDataModelTest.java724
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui.tests/src/org/eclipse/linuxtools/tmf/ui/tests/project/model/AllTests.java30
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui.tests/src/org/eclipse/linuxtools/tmf/ui/tests/project/model/ProjectModelAnalysisTest.java161
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui.tests/src/org/eclipse/linuxtools/tmf/ui/tests/project/model/ProjectModelOutputTest.java171
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui.tests/src/org/eclipse/linuxtools/tmf/ui/tests/project/model/ProjectModelTraceTest.java110
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui.tests/src/org/eclipse/linuxtools/tmf/ui/tests/project/model/TraceAndExperimentTypeTest.java199
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui.tests/src/org/eclipse/linuxtools/tmf/ui/tests/statistics/AllTests.java35
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui.tests/src/org/eclipse/linuxtools/tmf/ui/tests/statistics/TmfBaseColumnDataProviderTest.java173
-rwxr-xr-xlttng/org.eclipse.linuxtools.tmf.ui.tests/src/org/eclipse/linuxtools/tmf/ui/tests/statistics/TmfBaseColumnDataTest.java169
-rwxr-xr-xlttng/org.eclipse.linuxtools.tmf.ui.tests/src/org/eclipse/linuxtools/tmf/ui/tests/statistics/TmfBaseStatisticsDataTest.java238
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui.tests/src/org/eclipse/linuxtools/tmf/ui/tests/statistics/TmfStatisticsTest.java94
-rwxr-xr-xlttng/org.eclipse.linuxtools.tmf.ui.tests/src/org/eclipse/linuxtools/tmf/ui/tests/statistics/TmfStatisticsTreeManagerTest.java177
-rwxr-xr-xlttng/org.eclipse.linuxtools.tmf.ui.tests/src/org/eclipse/linuxtools/tmf/ui/tests/statistics/TmfStatisticsTreeNodeTest.java385
-rwxr-xr-xlttng/org.eclipse.linuxtools.tmf.ui.tests/src/org/eclipse/linuxtools/tmf/ui/tests/statistics/TmfTreeContentProviderTest.java187
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui.tests/src/org/eclipse/linuxtools/tmf/ui/tests/trace/AbstractCustomTraceIndexTest.java191
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui.tests/src/org/eclipse/linuxtools/tmf/ui/tests/trace/AllTests.java32
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui.tests/src/org/eclipse/linuxtools/tmf/ui/tests/trace/CustomTxtIndexTest.java81
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui.tests/src/org/eclipse/linuxtools/tmf/ui/tests/trace/CustomXmlIndexTest.java83
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui.tests/src/org/eclipse/linuxtools/tmf/ui/tests/trace/CustomXmlTraceBadlyFormedTest.java74
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui.tests/src/org/eclipse/linuxtools/tmf/ui/tests/trace/CustomXmlTraceInvalidTest.java75
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui.tests/src/org/eclipse/linuxtools/tmf/ui/tests/trace/CustomXmlTraceTest.java75
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui.tests/src/org/eclipse/linuxtools/tmf/ui/tests/trace/CustomXmlTraceValidTest.java75
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui.tests/src/org/eclipse/linuxtools/tmf/ui/tests/views/uml2sd/dialogs/AllTests.java28
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui.tests/src/org/eclipse/linuxtools/tmf/ui/tests/views/uml2sd/dialogs/CriteriaTest.java304
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui.tests/src/org/eclipse/linuxtools/tmf/ui/tests/views/uml2sd/load/AllTests.java28
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui.tests/src/org/eclipse/linuxtools/tmf/ui/tests/views/uml2sd/load/LoadersManagerTest.java157
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui.tests/src/org/eclipse/linuxtools/tmf/ui/tests/views/uml2sd/loader/AllTests.java35
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui.tests/src/org/eclipse/linuxtools/tmf/ui/tests/views/uml2sd/loader/IUml2SDTestConstants.java77
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui.tests/src/org/eclipse/linuxtools/tmf/ui/tests/views/uml2sd/loader/IUml2SdSignalValidator.java103
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui.tests/src/org/eclipse/linuxtools/tmf/ui/tests/views/uml2sd/loader/TmfUml2SDSyncLoaderExpTest.java191
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui.tests/src/org/eclipse/linuxtools/tmf/ui/tests/views/uml2sd/loader/TmfUml2SDSyncLoaderFilterTest.java213
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui.tests/src/org/eclipse/linuxtools/tmf/ui/tests/views/uml2sd/loader/TmfUml2SDSyncLoaderFindTest.java338
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui.tests/src/org/eclipse/linuxtools/tmf/ui/tests/views/uml2sd/loader/TmfUml2SDSyncLoaderPagesTest.java215
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui.tests/src/org/eclipse/linuxtools/tmf/ui/tests/views/uml2sd/loader/TmfUml2SDSyncLoaderSignalTest.java134
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui.tests/src/org/eclipse/linuxtools/tmf/ui/tests/views/uml2sd/loader/TmfUml2SDSyncLoaderTimeTest.java311
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui.tests/src/org/eclipse/linuxtools/tmf/ui/tests/views/uml2sd/loader/Uml2SDSignalValidator.java188
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui.tests/src/org/eclipse/linuxtools/tmf/ui/tests/views/uml2sd/loader/Uml2SDTestFacility.java360
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui.tests/src/org/eclipse/linuxtools/tmf/ui/tests/views/uml2sd/loader/Uml2SDTestSetup.java40
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui.tests/src/org/eclipse/linuxtools/tmf/ui/tests/views/uml2sd/loader/Uml2SDTestTimestamp.java43
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui.tests/tracesets/sdEventsbin5722500 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui.tests/tracesets/txt/testTxtDefinition.xml14
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui.tests/tracesets/xml/invalid/001.xml1
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui.tests/tracesets/xml/invalid/002.xml1
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui.tests/tracesets/xml/invalid/003.xml2
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui.tests/tracesets/xml/invalid/004.xml1
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui.tests/tracesets/xml/invalid/005.xml1
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui.tests/tracesets/xml/invalid/006.xml1
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui.tests/tracesets/xml/malformed/001.xml1
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui.tests/tracesets/xml/malformed/002.xml1
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui.tests/tracesets/xml/malformed/003.xml1
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui.tests/tracesets/xml/testDefinition.xml16
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui.tests/tracesets/xml/valid/001.xml1
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui.tests/tracesets/xml/valid/002.xml1
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui.tests/tracesets/xml/valid/003.xml1
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui.tests/widgetStubs/org/eclipse/linuxtools/tmf/ui/tests/experiment/type/TmfEventsEditorStub.java47
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui.tests/widgetStubs/org/eclipse/linuxtools/tmf/ui/tests/stubs/analysis/TestAnalysisUi.java60
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui.tests/widgetStubs/org/eclipse/linuxtools/tmf/ui/tests/uml2sd/load/TestLoaders.java483
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui.tests/widgetStubs/org/eclipse/linuxtools/tmf/ui/tests/uml2sd/trace/TmfUml2SDTestTrace.java112
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui.tests/widgetStubs/org/eclipse/linuxtools/tmf/ui/widgets/timegraph/test/stub/adaption/TsfImplProvider.java54
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui.tests/widgetStubs/org/eclipse/linuxtools/tmf/ui/widgets/timegraph/test/stub/model/EventImpl.java85
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui.tests/widgetStubs/org/eclipse/linuxtools/tmf/ui/widgets/timegraph/test/stub/model/TraceImpl.java118
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui.tests/widgetStubs/org/eclipse/linuxtools/tmf/ui/widgets/timegraph/test/stub/model/TraceModelImplFactory.java232
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui.tests/widgetStubs/org/eclipse/linuxtools/tmf/ui/widgets/timegraph/test/stub/views/TsfTraceAnalysisView.java672
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/.classpath7
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/.options7
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/.project34
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/.settings/.api_filters11
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/.settings/org.eclipse.core.resources.prefs2
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/.settings/org.eclipse.core.runtime.prefs2
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/.settings/org.eclipse.jdt.core.prefs394
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/.settings/org.eclipse.jdt.ui.prefs56
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/.settings/org.eclipse.pde.api.tools.prefs97
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/.settings/org.eclipse.pde.prefs32
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/ChangeLog254
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/META-INF/MANIFEST.MF87
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/about.html28
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/build.properties25
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/icons/dlcl16/open.gifbin223 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/icons/dlcl16/refresh.gifbin247 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/icons/dlcl16/rename.gifbin211 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/icons/dlcl16/set_trace_type.gifbin337 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/icons/dtool16/clear.gifbin314 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/icons/dtool16/copy_edit.gifbin366 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/icons/dtool16/delete.gifbin221 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/icons/dtool16/import.gifbin143 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/icons/dtool16/new.gifbin354 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/icons/elcl16/add_button.gifbin308 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/icons/elcl16/addchild_button.gifbin315 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/icons/elcl16/addmany_button.gifbin320 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/icons/elcl16/addnext_button.gifbin309 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/icons/elcl16/backward_nav.gifbin327 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/icons/elcl16/bookmark_obj.gifbin309 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/icons/elcl16/bullet.gifbin197 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/icons/elcl16/delete_button.gifbin337 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/icons/elcl16/down_button.gifbin243 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/icons/elcl16/element_icon.gifbin96 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/icons/elcl16/experiment.gifbin215 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/icons/elcl16/export_button.gifbin539 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/icons/elcl16/filter_items.gifbin220 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/icons/elcl16/follow_arrow_bwd.gifbin204 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/icons/elcl16/follow_arrow_fwd.gifbin312 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/icons/elcl16/forward_nav.gifbin327 -> 0 bytes
-rwxr-xr-xlttng/org.eclipse.linuxtools.tmf.ui/icons/elcl16/gotopage_menu.gifbin1024 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/icons/elcl16/help_button.gifbin259 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/icons/elcl16/hide_arrows.gifbin111 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/icons/elcl16/hide_lost_events.gifbin108 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/icons/elcl16/home_nav.gifbin583 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/icons/elcl16/import_button.gifbin539 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/icons/elcl16/line_icon.gifbin89 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/icons/elcl16/movedown_button.gifbin290 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/icons/elcl16/moveup_button.gifbin288 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/icons/elcl16/new_tracing_prj.gifbin628 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/icons/elcl16/next_event.gifbin556 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/icons/elcl16/next_item.gifbin345 -> 0 bytes
-rwxr-xr-xlttng/org.eclipse.linuxtools.tmf.ui/icons/elcl16/next_menu.gifbin542 -> 0 bytes
-rwxr-xr-xlttng/org.eclipse.linuxtools.tmf.ui/icons/elcl16/node_end.gifbin895 -> 0 bytes
-rwxr-xr-xlttng/org.eclipse.linuxtools.tmf.ui/icons/elcl16/node_start.gifbin873 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/icons/elcl16/open.gifbin359 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/icons/elcl16/pin_view.gifbin358 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/icons/elcl16/prev_event.gifbin554 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/icons/elcl16/prev_item.gifbin339 -> 0 bytes
-rwxr-xr-xlttng/org.eclipse.linuxtools.tmf.ui/icons/elcl16/prev_menu.gifbin322 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/icons/elcl16/refresh.gifbin368 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/icons/elcl16/rename.gifbin346 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/icons/elcl16/save_button.gifbin541 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/icons/elcl16/search.gifbin347 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/icons/elcl16/search_match.gifbin200 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/icons/elcl16/search_match_bookmark.gifbin323 -> 0 bytes
-rwxr-xr-xlttng/org.eclipse.linuxtools.tmf.ui/icons/elcl16/search_seqdiag_menu.gifbin601 -> 0 bytes
-rwxr-xr-xlttng/org.eclipse.linuxtools.tmf.ui/icons/elcl16/select_menu.gifbin871 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/icons/elcl16/set_trace_type.gifbin346 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/icons/elcl16/show_hist_traces.gifbin88 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/icons/elcl16/show_legend.gifbin200 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/icons/elcl16/stop.gifbin118 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/icons/elcl16/synced.gifbin160 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/icons/elcl16/trace.gifbin370 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/icons/elcl16/unknown_parser.gifbin259 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/icons/elcl16/up_button.gifbin243 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/icons/elcl16/zoomin_nav.gifbin560 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/icons/elcl16/zoomout_nav.gifbin560 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/icons/etool16/clear.gifbin322 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/icons/etool16/copy_edit.gifbin594 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/icons/etool16/customparser_wizard.gifbin590 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/icons/etool16/delete.gifbin351 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/icons/etool16/export.gifbin329 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/icons/etool16/import.gifbin327 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/icons/etool16/link.gifbin130 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/icons/etool16/new.gifbin612 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/icons/etool16/newfolder_wiz.gifbin349 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/icons/etool16/sort_alpha.gifbin153 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/icons/etool16/sort_alpha_rev.gifbin159 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/icons/etool16/sort_num.gifbin145 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/icons/etool16/sort_num_rev.gifbin145 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/icons/etool16/sort_time.gifbin166 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/icons/etool16/sort_time_rev.gifbin167 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/icons/eview16/callstack_view.gifbin104 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/icons/eview16/colors_view.gifbin350 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/icons/eview16/events_view.gifbin97 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/icons/eview16/filters_view.gifbin94 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/icons/eview16/histogram.gifbin174 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/icons/eview16/project_view.gifbin144 -> 0 bytes
-rwxr-xr-xlttng/org.eclipse.linuxtools.tmf.ui/icons/eview16/sequencediagram_view.gifbin225 -> 0 bytes
-rwxr-xr-xlttng/org.eclipse.linuxtools.tmf.ui/icons/eview16/statistics_view.gifbin343 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/icons/eview16/synced.gifbin160 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/icons/eview16/timechart_view.gifbin196 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/icons/eview16/tracing_pers.gifbin613 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/icons/obj16/add_obj.gifbin318 -> 0 bytes
-rwxr-xr-xlttng/org.eclipse.linuxtools.tmf.ui/icons/obj16/arrow_colapse.bmpbin3078 -> 0 bytes
-rwxr-xr-xlttng/org.eclipse.linuxtools.tmf.ui/icons/obj16/arrow_up.bmpbin126 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/icons/obj16/binaries_obj.gifbin605 -> 0 bytes
-rwxr-xr-xlttng/org.eclipse.linuxtools.tmf.ui/icons/obj16/class.gifbin996 -> 0 bytes
-rwxr-xr-xlttng/org.eclipse.linuxtools.tmf.ui/icons/obj16/classobject_obj.gifbin586 -> 0 bytes
-rwxr-xr-xlttng/org.eclipse.linuxtools.tmf.ui/icons/obj16/collapsed_obj.gifbin595 -> 0 bytes
-rwxr-xr-xlttng/org.eclipse.linuxtools.tmf.ui/icons/obj16/node_obj.gifbin579 -> 0 bytes
-rwxr-xr-xlttng/org.eclipse.linuxtools.tmf.ui/icons/obj16/package_obj.gifbin574 -> 0 bytes
-rwxr-xr-xlttng/org.eclipse.linuxtools.tmf.ui/icons/obj16/plus_obj.gifbin871 -> 0 bytes
-rwxr-xr-xlttng/org.eclipse.linuxtools.tmf.ui/icons/obj16/process_obj.gifbin1027 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/icons/obj16/stckframe_obj.gifbin104 -> 0 bytes
-rwxr-xr-xlttng/org.eclipse.linuxtools.tmf.ui/icons/obj16/thread_obj.gifbin538 -> 0 bytes
-rwxr-xr-xlttng/org.eclipse.linuxtools.tmf.ui/icons/obj16/zoom_mask.bmpbin190 -> 0 bytes
-rwxr-xr-xlttng/org.eclipse.linuxtools.tmf.ui/icons/obj16/zoomin_obj.bmpbin190 -> 0 bytes
-rwxr-xr-xlttng/org.eclipse.linuxtools.tmf.ui/icons/obj16/zoomout_obj.bmpbin190 -> 0 bytes
-rwxr-xr-xlttng/org.eclipse.linuxtools.tmf.ui/icons/ovr16/error_ovr.gifbin82 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/icons/ovr16/experiment_folder_ovr.pngbin160 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/icons/ovr16/link_ovr.gifbin169 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/icons/ovr16/trace_folder_ovr.pngbin152 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/icons/ovr16/trace_nature_ovr.gifbin76 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/icons/ovr16/trace_type_ovr.gifbin76 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/icons/wizban/conflict_stat.gifbin93 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/icons/wizban/export_wiz.pngbin6675 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/icons/wizban/trace_import_wiz.pngbin6650 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/plugin.properties199
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/plugin.xml1834
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/pom.xml45
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/schema/export-manifest.xsd60
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/schema/org.eclipse.linuxtools.tmf.ui.tracetypeui.exsd247
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/schema/org.eclipse.linuxtools.tmf.ui.uml2SDLoader.exsd193
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/Activator.java245
-rwxr-xr-xlttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/ITmfImageConstants.java63
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/Messages.java307
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/TmfUiTracer.java245
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/commands/ExportToTextCommandHandler.java81
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/commands/ExportToTextJob.java135
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/commands/ExportToTextRequest.java103
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/commands/ManageCustomParsersCommandHandler.java35
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/commands/Messages.java37
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/commands/OpenFileHandler.java79
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/commands/TmfHandlerUtil.java76
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/commands/messages.properties14
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/dialogs/ManageCustomParsersDialog.java367
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/dialogs/MultiLineInputDialog.java167
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/editors/handlers/AddBookmarkHandler.java48
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/messages.properties298
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/parsers/custom/CustomEventTableColumns.java100
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/parsers/wizards/CustomTxtParserInputWizardPage.java1681
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/parsers/wizards/CustomTxtParserOutputWizardPage.java340
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/parsers/wizards/CustomTxtParserWizard.java82
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/parsers/wizards/CustomXmlParserInputWizardPage.java1765
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/parsers/wizards/CustomXmlParserOutputWizardPage.java341
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/parsers/wizards/CustomXmlParserWizard.java86
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/preferences/TmfTracingPreferencePage.java52
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/dialogs/Messages.java38
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/dialogs/SelectSupplementaryResourcesDialog.java324
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/dialogs/messages.properties16
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/dialogs/offset/Messages.java67
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/dialogs/offset/OffsetDialog.java578
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/dialogs/offset/messages.properties24
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/handlers/BatchImportTraceHandler.java60
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/handlers/ClearTraceOffsetHandler.java122
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/handlers/CopyExperimentHandler.java54
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/handlers/CopyTraceHandler.java54
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/handlers/DeleteExperimentHandler.java113
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/handlers/DeleteTraceFolderElementHandler.java349
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/handlers/DeleteTraceSupplementaryFilesHandler.java192
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/handlers/DropAdapterAssistant.java669
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/handlers/ImportTraceHandler.java64
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/handlers/Messages.java85
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/handlers/NewExperimentHandler.java74
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/handlers/NewFolderHandler.java63
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/handlers/OffsetTraceHandler.java136
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/handlers/OpenAction.java95
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/handlers/OpenAnalysisHelpHandler.java114
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/handlers/OpenAnalysisOutputHandler.java89
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/handlers/OpenExperimentHandler.java99
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/handlers/OpenTraceHandler.java104
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/handlers/RefreshHandler.java87
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/handlers/RenameExperimentHandler.java96
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/handlers/RenameFolderHandler.java158
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/handlers/RenameTraceHandler.java171
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/handlers/SelectElementTypeContributionItem.java269
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/handlers/SelectTraceTypeHandler.java203
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/handlers/SelectTracesHandler.java107
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/handlers/SynchronizeTracesHandler.java279
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/handlers/TmfActionProvider.java81
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/handlers/TracePropertyTester.java118
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/handlers/messages.properties70
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/model/TmfEditorLinkHelper.java130
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/model/TmfImportHelper.java76
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/operations/TmfWorkspaceModifyOperation.java114
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/wizards/importtrace/AbstractImportTraceWizardPage.java154
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/wizards/importtrace/BatchImportTraceWizard.java699
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/wizards/importtrace/FileAndName.java188
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/wizards/importtrace/ImportConfirmation.java69
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/wizards/importtrace/ImportConflictHandler.java205
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/wizards/importtrace/ImportTraceContentProvider.java183
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/wizards/importtrace/ImportTraceLabelProvider.java41
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/wizards/importtrace/ImportTraceWizard.java87
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/wizards/importtrace/ImportTraceWizardPage.java2086
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/wizards/importtrace/ImportTraceWizardPageOptions.java112
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/wizards/importtrace/ImportTraceWizardScanPage.java566
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/wizards/importtrace/ImportTraceWizardSelectDirectoriesPage.java261
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/wizards/importtrace/ImportTraceWizardSelectTraceTypePage.java184
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/wizards/importtrace/Messages.java237
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/wizards/importtrace/ResourceTreeAndListGroup.java1203
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/wizards/importtrace/TraceTypeContentProvider.java101
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/wizards/importtrace/messages.properties81
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/wizards/tracepkg/AbstractTracePackageOperation.java369
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/wizards/tracepkg/AbstractTracePackageWizardPage.java570
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/wizards/tracepkg/ITracePackageConstants.java76
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/wizards/tracepkg/Messages.java84
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/wizards/tracepkg/TracePackageBookmarkElement.java66
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/wizards/tracepkg/TracePackageContentProvider.java58
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/wizards/tracepkg/TracePackageElement.java222
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/wizards/tracepkg/TracePackageFilesElement.java116
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/wizards/tracepkg/TracePackageLabelProvider.java69
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/wizards/tracepkg/TracePackageSupplFileElement.java89
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/wizards/tracepkg/TracePackageSupplFilesElement.java47
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/wizards/tracepkg/TracePackageTraceElement.java167
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/wizards/tracepkg/importexport/ExportTracePackageHandler.java105
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/wizards/tracepkg/importexport/ExportTracePackageSelectTraceWizardPage.java218
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/wizards/tracepkg/importexport/ExportTracePackageWizard.java84
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/wizards/tracepkg/importexport/ExportTracePackageWizardPage.java450
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/wizards/tracepkg/importexport/ImportTracePackageHandler.java53
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/wizards/tracepkg/importexport/ImportTracePackageWizard.java63
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/wizards/tracepkg/importexport/ImportTracePackageWizardPage.java417
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/wizards/tracepkg/importexport/ManifestReader.java192
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/wizards/tracepkg/importexport/Messages.java239
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/wizards/tracepkg/importexport/TracePackageExportOperation.java304
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/wizards/tracepkg/importexport/TracePackageExtractManifestOperation.java142
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/wizards/tracepkg/importexport/TracePackageImportOperation.java489
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/wizards/tracepkg/importexport/messages.properties53
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/wizards/tracepkg/messages.properties22
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/viewers/events/columns/TmfContentsColumn.java47
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/viewers/events/columns/TmfReferenceColumn.java47
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/viewers/events/columns/TmfSourceColumn.java47
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/viewers/events/columns/TmfTimestampColumn.java45
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/viewers/events/columns/TmfTypeColumn.java50
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/TmfUiRefreshHandler.java131
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/analysis/TmfAnalysisViewOutput.java133
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/editors/ITmfTraceEditor.java31
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/editors/TmfEditor.java71
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/editors/TmfEditorInput.java136
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/editors/TmfEventsEditor.java649
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/editors/TmfMultiPageEditorPart.java62
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/editors/UnsortedPropertySheetPage.java41
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/project/model/ITmfProjectModelElement.java87
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/project/model/ITmfStyledProjectModelElement.java34
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/project/model/Messages.java146
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/project/model/TmfAnalysisElement.java254
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/project/model/TmfAnalysisOutputElement.java86
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/project/model/TmfCommonProjectElement.java571
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/project/model/TmfExperimentElement.java478
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/project/model/TmfExperimentFolder.java196
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/project/model/TmfNavigatorContentProvider.java193
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/project/model/TmfNavigatorLabelProvider.java267
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/project/model/TmfOpenTraceHelper.java464
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/project/model/TmfProjectElement.java146
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/project/model/TmfProjectModelElement.java271
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/project/model/TmfProjectRegistry.java205
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/project/model/TmfTraceElement.java700
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/project/model/TmfTraceFolder.java209
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/project/model/TmfTraceTypeUIUtils.java494
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/project/model/TmfTracesFolder.java49
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/project/model/TmfViewerSorter.java42
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/project/model/TraceFolderContentProvider.java55
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/project/model/TraceFolderLabelProvider.java37
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/project/model/TraceUtils.java99
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/project/model/messages.properties49
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/project/wizards/CopyExperimentDialog.java226
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/project/wizards/CopyTraceDialog.java223
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/project/wizards/Messages.java176
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/project/wizards/NewExperimentDialog.java231
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/project/wizards/NewFolderDialog.java192
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/project/wizards/NewTmfProjectMainWizardPage.java36
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/project/wizards/NewTmfProjectWizard.java152
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/project/wizards/RenameExperimentDialog.java242
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/project/wizards/RenameFolderDialog.java167
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/project/wizards/RenameTraceDialog.java169
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/project/wizards/SelectTracesWizard.java74
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/project/wizards/SelectTracesWizardPage.java477
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/project/wizards/messages.properties64
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/properties/Messages.java32
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/properties/ReadOnlyTextPropertyDescriptor.java51
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/properties/TmfTimestampFormatPage.java391
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/properties/messages.properties13
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/viewers/ArrayTreeContentProvider.java64
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/viewers/ITmfTimeProvider.java95
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/viewers/ITmfViewer.java41
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/viewers/TmfTimeViewer.java442
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/viewers/TmfViewer.java88
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/viewers/events/TmfEventAdapterFactory.java41
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/viewers/events/TmfEventPropertySource.java355
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/viewers/events/TmfEventsCache.java489
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/viewers/events/TmfEventsTable.java2553
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/viewers/events/columns/ITmfEventTableColumns.java44
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/viewers/events/columns/TmfEventTableColumn.java159
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/viewers/events/columns/TmfEventTableFieldColumn.java114
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/viewers/events/text/TmfTextEventTable.java72
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/viewers/statistics/Messages.java39
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/viewers/statistics/TmfStatisticsViewer.java799
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/viewers/statistics/messages.properties13
-rwxr-xr-xlttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/viewers/statistics/model/Messages.java77
-rwxr-xr-xlttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/viewers/statistics/model/TmfBaseColumnData.java178
-rwxr-xr-xlttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/viewers/statistics/model/TmfBaseColumnDataProvider.java289
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/viewers/statistics/model/TmfStatisticsFormatter.java84
-rwxr-xr-xlttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/viewers/statistics/model/TmfStatisticsTree.java171
-rwxr-xr-xlttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/viewers/statistics/model/TmfStatisticsTreeManager.java118
-rwxr-xr-xlttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/viewers/statistics/model/TmfStatisticsTreeNode.java252
-rwxr-xr-xlttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/viewers/statistics/model/TmfStatisticsValues.java90
-rwxr-xr-xlttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/viewers/statistics/model/TmfTreeContentProvider.java55
-rwxr-xr-xlttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/viewers/statistics/model/messages.properties20
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/viewers/tree/AbstractTmfTreeViewer.java508
-rwxr-xr-xlttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/viewers/tree/ITmfTreeColumnDataProvider.java33
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/viewers/tree/ITmfTreeViewerEntry.java57
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/viewers/tree/TmfTreeColumnData.java266
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/viewers/tree/TmfTreeViewerEntry.java107
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/viewers/xycharts/ITmfChartTimeProvider.java54
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/viewers/xycharts/TmfBaseProvider.java155
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/viewers/xycharts/TmfChartTimeStampFormat.java63
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/viewers/xycharts/TmfMouseDragProvider.java135
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/viewers/xycharts/TmfMouseDragZoomProvider.java152
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/viewers/xycharts/TmfMouseSelectionProvider.java164
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/viewers/xycharts/TmfMouseWheelZoomProvider.java135
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/viewers/xycharts/TmfSimpleTooltipProvider.java97
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/viewers/xycharts/TmfXYChartViewer.java373
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/viewers/xycharts/barcharts/TmfBarChartViewer.java220
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/viewers/xycharts/barcharts/TmfHistogramTooltipProvider.java179
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/viewers/xycharts/linecharts/TmfCommonXLineChartTooltipProvider.java129
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/viewers/xycharts/linecharts/TmfCommonXLineChartViewer.java374
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/PinTmfViewAction.java37
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/TmfChartView.java118
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/TmfView.java149
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/TracingPerspectiveFactory.java79
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/callstack/AbstractCallStackAnalysis.java67
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/callstack/CallStackEntry.java192
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/callstack/CallStackEvent.java40
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/callstack/CallStackPresentationProvider.java153
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/callstack/CallStackView.java1570
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/callstack/FunctionNameMapper.java177
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/colors/ColorSetting.java214
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/colors/ColorSettingsManager.java153
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/colors/ColorSettingsXML.java221
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/colors/ColorsView.java588
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/colors/IColorSettingsListener.java30
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/distribution/model/BaseDistributionData.java243
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/distribution/model/IBaseDistributionModel.java35
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/filter/CopyHandler.java80
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/filter/CutHandler.java43
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/filter/DeleteHandler.java77
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/filter/FilterDialog.java81
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/filter/FilterDragSourceAdapter.java70
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/filter/FilterDropTargetAdapter.java124
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/filter/FilterEditUtils.java48
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/filter/FilterManager.java78
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/filter/FilterTreeContentProvider.java71
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/filter/FilterTreeLabelProvider.java126
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/filter/FilterView.java322
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/filter/FilterViewer.java1163
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/filter/PasteHandler.java90
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/histogram/FullTraceHistogram.java224
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/histogram/Histogram.java1045
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/histogram/HistogramBucket.java175
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/histogram/HistogramCurrentTimeControl.java130
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/histogram/HistogramDataModel.java719
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/histogram/HistogramRequest.java119
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/histogram/HistogramScaledData.java210
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/histogram/HistogramSelectionEndControl.java43
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/histogram/HistogramSelectionStartControl.java47
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/histogram/HistogramTextControl.java280
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/histogram/HistogramTimeRangeControl.java106
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/histogram/HistogramView.java887
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/histogram/HistogramZoom.java210
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/histogram/IHistogramDataModel.java48
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/histogram/IHistogramModelListener.java27
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/histogram/Messages.java95
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/histogram/TimeRangeHistogram.java217
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/histogram/messages.properties21
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/statesystem/Messages.java86
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/statesystem/TmfStateSystemExplorer.java107
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/statesystem/TmfStateSystemViewer.java463
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/statesystem/messages.properties28
-rwxr-xr-xlttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/statistics/Messages.java41
-rwxr-xr-xlttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/statistics/TmfStatisticsView.java230
-rwxr-xr-xlttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/statistics/messages.properties13
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/synchronization/Messages.java33
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/synchronization/TmfSynchronizationView.java156
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/synchronization/messages.properties13
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/timechart/TimeChartAnalysisEntry.java277
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/timechart/TimeChartAnalysisProvider.java108
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/timechart/TimeChartDecorationProvider.java141
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/timechart/TimeChartEvent.java375
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/timechart/TimeChartView.java754
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/timegraph/AbstractTimeGraphView.java1272
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/timegraph/Messages.java38
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/timegraph/messages.properties16
-rwxr-xr-xlttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/DiagramToolTip.java131
-rwxr-xr-xlttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/DrawableToolTip.java305
-rwxr-xr-xlttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/ITimeCompressionListener.java42
-rwxr-xr-xlttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/NGC.java988
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/SDView.java1236
-rwxr-xr-xlttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/SDWidget.java2067
-rwxr-xr-xlttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/SDWidgetSelectionProvider.java88
-rwxr-xr-xlttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/ScrollView.java2067
-rwxr-xr-xlttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/TimeCompressionBar.java1028
-rwxr-xr-xlttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/core/AsyncMessage.java469
-rwxr-xr-xlttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/core/AsyncMessageReturn.java112
-rwxr-xr-xlttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/core/BaseMessage.java724
-rwxr-xr-xlttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/core/BasicExecutionOccurrence.java275
-rwxr-xr-xlttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/core/BasicFrame.java633
-rwxr-xr-xlttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/core/EllipsisMessage.java141
-rwxr-xr-xlttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/core/ExecutionOccurrence.java267
-rwxr-xr-xlttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/core/Frame.java1215
-rwxr-xr-xlttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/core/GraphNode.java906
-rwxr-xr-xlttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/core/HotSpot.java193
-rwxr-xr-xlttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/core/ITimeRange.java46
-rwxr-xr-xlttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/core/Lifeline.java534
-rwxr-xr-xlttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/core/LifelineCategories.java81
-rwxr-xr-xlttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/core/Metrics.java332
-rwxr-xr-xlttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/core/SDTimeEvent.java91
-rwxr-xr-xlttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/core/Stop.java167
-rwxr-xr-xlttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/core/SyncMessage.java296
-rwxr-xr-xlttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/core/SyncMessageReturn.java112
-rwxr-xr-xlttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/dialogs/Criteria.java415
-rwxr-xr-xlttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/dialogs/FilterCriteria.java273
-rwxr-xr-xlttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/dialogs/FilterListDialog.java518
-rwxr-xr-xlttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/dialogs/MinMaxDialog.java190
-rwxr-xr-xlttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/dialogs/PagesDialog.java204
-rwxr-xr-xlttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/dialogs/SDPrintDialog.java174
-rwxr-xr-xlttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/dialogs/SDPrintDialogUI.java1424
-rwxr-xr-xlttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/dialogs/SearchFilterDialog.java451
-rwxr-xr-xlttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/dialogs/TabContents.java476
-rwxr-xr-xlttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/drawings/IColor.java36
-rwxr-xr-xlttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/drawings/IFont.java36
-rwxr-xr-xlttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/drawings/IGC.java375
-rwxr-xr-xlttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/drawings/IImage.java37
-rwxr-xr-xlttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/drawings/impl/ColorImpl.java92
-rwxr-xr-xlttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/drawings/impl/FontImpl.java89
-rwxr-xr-xlttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/drawings/impl/ImageImpl.java105
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/handlers/BaseSDAction.java89
-rwxr-xr-xlttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/handlers/ConfigureMinMax.java46
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/handlers/FirstPage.java68
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/handlers/KeyBindingsManager.java304
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/handlers/LastPage.java68
-rwxr-xr-xlttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/handlers/MoveSDDown.java70
-rwxr-xr-xlttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/handlers/MoveSDLeft.java72
-rwxr-xr-xlttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/handlers/MoveSDRight.java73
-rwxr-xr-xlttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/handlers/MoveSDUp.java71
-rwxr-xr-xlttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/handlers/MoveToMessage.java113
-rwxr-xr-xlttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/handlers/NextPage.java68
-rwxr-xr-xlttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/handlers/OpenSDFiltersDialog.java75
-rwxr-xr-xlttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/handlers/OpenSDFindDialog.java93
-rwxr-xr-xlttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/handlers/OpenSDPagesDialog.java80
-rwxr-xr-xlttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/handlers/PrevPage.java70
-rwxr-xr-xlttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/handlers/Print.java60
-rwxr-xr-xlttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/handlers/ShowNodeEnd.java89
-rwxr-xr-xlttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/handlers/ShowNodeStart.java89
-rwxr-xr-xlttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/handlers/Zoom.java239
-rwxr-xr-xlttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/handlers/provider/IExtendedFilterProvider.java37
-rwxr-xr-xlttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/handlers/provider/IExtendedFindProvider.java38
-rwxr-xr-xlttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/handlers/provider/ISDAdvancedPagingProvider.java51
-rwxr-xr-xlttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/handlers/provider/ISDCollapseProvider.java36
-rwxr-xr-xlttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/handlers/provider/ISDExtendedActionBarProvider.java37
-rwxr-xr-xlttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/handlers/provider/ISDFilterProvider.java43
-rwxr-xr-xlttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/handlers/provider/ISDFindProvider.java46
-rwxr-xr-xlttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/handlers/provider/ISDGraphNodeSupporter.java83
-rwxr-xr-xlttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/handlers/provider/ISDPagingProvider.java61
-rwxr-xr-xlttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/handlers/provider/ISDPropertiesProvider.java35
-rwxr-xr-xlttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/load/IUml2SDLoader.java46
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/load/LoadersManager.java397
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/loader/Messages.java49
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/loader/TmfAsyncMessage.java68
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/loader/TmfSyncMessage.java68
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/loader/TmfUml2SDSyncLoader.java1485
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/loader/messages.properties22
-rwxr-xr-xlttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/preferences/ISDPreferences.java147
-rwxr-xr-xlttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/preferences/SDViewPref.java527
-rwxr-xr-xlttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/preferences/SDViewerPage.java431
-rwxr-xr-xlttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/util/Messages.java157
-rwxr-xr-xlttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/util/SortAsyncForBackward.java96
-rwxr-xr-xlttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/util/SortAsyncMessageComparator.java94
-rwxr-xr-xlttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/util/SortSyncMessageComparator.java61
-rwxr-xr-xlttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/util/TimeEventComparator.java53
-rwxr-xr-xlttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/util/messages.properties132
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/widgets/rawviewer/TmfRawEventViewer.java1060
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/widgets/tabsview/TmfViewerFolder.java193
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/widgets/timegraph/ITimeGraphColorListener.java32
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/widgets/timegraph/ITimeGraphContentProvider.java34
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/widgets/timegraph/ITimeGraphPresentationProvider.java177
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/widgets/timegraph/ITimeGraphPresentationProvider2.java62
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/widgets/timegraph/ITimeGraphRangeListener.java31
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/widgets/timegraph/ITimeGraphSelectionListener.java31
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/widgets/timegraph/ITimeGraphTimeListener.java31
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/widgets/timegraph/ITimeGraphTreeListener.java36
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/widgets/timegraph/StateItem.java107
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/widgets/timegraph/TimeGraphCombo.java1134
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/widgets/timegraph/TimeGraphPresentationProvider.java189
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/widgets/timegraph/TimeGraphRangeUpdateEvent.java71
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/widgets/timegraph/TimeGraphSelectionEvent.java58
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/widgets/timegraph/TimeGraphTimeEvent.java74
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/widgets/timegraph/TimeGraphTreeExpansionEvent.java57
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/widgets/timegraph/TimeGraphViewer.java1916
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/widgets/timegraph/dialogs/FilteredCheckboxTree.java193
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/widgets/timegraph/dialogs/TimeGraphFilterDialog.java569
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/widgets/timegraph/dialogs/TimeGraphLegend.java191
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/widgets/timegraph/dialogs/TreePatternFilter.java61
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/widgets/timegraph/model/EventIterator.java157
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/widgets/timegraph/model/ILinkEvent.java29
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/widgets/timegraph/model/ITimeEvent.java50
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/widgets/timegraph/model/ITimeEvent2.java35
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/widgets/timegraph/model/ITimeGraphEntry.java102
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/widgets/timegraph/model/NullTimeEvent.java37
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/widgets/timegraph/model/TimeEvent.java138
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/widgets/timegraph/model/TimeGraphEntry.java304
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/widgets/timegraph/model/TimeLinkEvent.java68
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/widgets/timegraph/widgets/ITimeDataProvider.java175
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/widgets/timegraph/widgets/ITimeDataProviderConverter.java31
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/widgets/timegraph/widgets/ITmfTimeGraphDrawingHelper.java44
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/widgets/timegraph/widgets/TimeDataProviderCyclesConverter.java178
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/widgets/timegraph/widgets/TimeGraphBaseControl.java115
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/widgets/timegraph/widgets/TimeGraphColorScheme.java428
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/widgets/timegraph/widgets/TimeGraphControl.java2727
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/widgets/timegraph/widgets/TimeGraphScale.java859
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/widgets/timegraph/widgets/TimeGraphSelection.java97
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/widgets/timegraph/widgets/TimeGraphTooltipHandler.java380
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/widgets/timegraph/widgets/Utils.java826
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/widgets/virtualtable/ColumnData.java48
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/widgets/virtualtable/IDoubleClickListener.java30
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/widgets/virtualtable/TmfVirtualTable.java1130
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/widgets/virtualtable/TooltipProvider.java29
-rw-r--r--lttng/org.eclipse.linuxtools.tmf/.project17
-rw-r--r--lttng/org.eclipse.linuxtools.tmf/.settings/org.eclipse.core.resources.prefs2
-rw-r--r--lttng/org.eclipse.linuxtools.tmf/.settings/org.eclipse.core.runtime.prefs2
-rw-r--r--lttng/org.eclipse.linuxtools.tmf/ChangeLog7
-rw-r--r--lttng/org.eclipse.linuxtools.tmf/build.properties15
-rw-r--r--lttng/org.eclipse.linuxtools.tmf/feature.properties21
-rw-r--r--lttng/org.eclipse.linuxtools.tmf/feature.xml82
-rw-r--r--lttng/org.eclipse.linuxtools.tmf/p2.inf3
-rw-r--r--lttng/org.eclipse.linuxtools.tmf/pom.xml64
-rw-r--r--lttng/org.eclipse.linuxtools.tracing.examples/.classpath7
-rw-r--r--lttng/org.eclipse.linuxtools.tracing.examples/.project28
-rw-r--r--lttng/org.eclipse.linuxtools.tracing.examples/.settings/org.eclipse.core.resources.prefs2
-rw-r--r--lttng/org.eclipse.linuxtools.tracing.examples/.settings/org.eclipse.core.runtime.prefs2
-rw-r--r--lttng/org.eclipse.linuxtools.tracing.examples/.settings/org.eclipse.jdt.core.prefs394
-rw-r--r--lttng/org.eclipse.linuxtools.tracing.examples/.settings/org.eclipse.jdt.ui.prefs56
-rw-r--r--lttng/org.eclipse.linuxtools.tracing.examples/.settings/org.eclipse.pde.api.tools.prefs97
-rw-r--r--lttng/org.eclipse.linuxtools.tracing.examples/.settings/org.eclipse.pde.prefs32
-rw-r--r--lttng/org.eclipse.linuxtools.tracing.examples/META-INF/MANIFEST.MF18
-rw-r--r--lttng/org.eclipse.linuxtools.tracing.examples/about.html28
-rw-r--r--lttng/org.eclipse.linuxtools.tracing.examples/build.properties18
-rw-r--r--lttng/org.eclipse.linuxtools.tracing.examples/plugin.properties16
-rw-r--r--lttng/org.eclipse.linuxtools.tracing.examples/plugin.xml15
-rw-r--r--lttng/org.eclipse.linuxtools.tracing.examples/pom.xml36
-rw-r--r--lttng/org.eclipse.linuxtools.tracing.examples/src/org/eclipse/linuxtools/tracing/examples/ui/Activator.java57
-rw-r--r--lttng/org.eclipse.linuxtools.tracing.examples/src/org/eclipse/linuxtools/tracing/examples/ui/viewers/histogram/NewHistogramViewer.java111
-rw-r--r--lttng/org.eclipse.linuxtools.tracing.examples/src/org/eclipse/linuxtools/tracing/examples/ui/views/histogram/NewHistogramView.java43
-rw-r--r--lttng/org.eclipse.linuxtools.tracing.rcp.branding.feature/.project17
-rw-r--r--lttng/org.eclipse.linuxtools.tracing.rcp.branding.feature/.settings/org.eclipse.core.resources.prefs2
-rw-r--r--lttng/org.eclipse.linuxtools.tracing.rcp.branding.feature/.settings/org.eclipse.core.runtime.prefs2
-rw-r--r--lttng/org.eclipse.linuxtools.tracing.rcp.branding.feature/build.properties14
-rw-r--r--lttng/org.eclipse.linuxtools.tracing.rcp.branding.feature/feature.properties20
-rw-r--r--lttng/org.eclipse.linuxtools.tracing.rcp.branding.feature/feature.xml32
-rw-r--r--lttng/org.eclipse.linuxtools.tracing.rcp.branding.feature/p2.inf3
-rw-r--r--lttng/org.eclipse.linuxtools.tracing.rcp.branding.feature/pom.xml66
-rw-r--r--lttng/org.eclipse.linuxtools.tracing.rcp.branding/.classpath6
-rw-r--r--lttng/org.eclipse.linuxtools.tracing.rcp.branding/.project28
-rw-r--r--lttng/org.eclipse.linuxtools.tracing.rcp.branding/.settings/org.eclipse.core.resources.prefs2
-rw-r--r--lttng/org.eclipse.linuxtools.tracing.rcp.branding/.settings/org.eclipse.jdt.core.prefs7
-rw-r--r--lttng/org.eclipse.linuxtools.tracing.rcp.branding/.settings/org.eclipse.m2e.core.prefs4
-rw-r--r--lttng/org.eclipse.linuxtools.tracing.rcp.branding/META-INF/MANIFEST.MF11
-rw-r--r--lttng/org.eclipse.linuxtools.tracing.rcp.branding/about.html28
-rw-r--r--lttng/org.eclipse.linuxtools.tracing.rcp.branding/about.ini32
-rw-r--r--lttng/org.eclipse.linuxtools.tracing.rcp.branding/about.properties28
-rw-r--r--lttng/org.eclipse.linuxtools.tracing.rcp.branding/build.properties22
-rw-r--r--lttng/org.eclipse.linuxtools.tracing.rcp.branding/help_data.xml8
-rw-r--r--lttng/org.eclipse.linuxtools.tracing.rcp.branding/icons/alt_about.gifbin9340 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.tracing.rcp.branding/icons/alt_window_16.gifbin637 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.tracing.rcp.branding/icons/alt_window_32.gifbin1192 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.tracing.rcp.branding/plugin.properties17
-rw-r--r--lttng/org.eclipse.linuxtools.tracing.rcp.branding/plugin.xml36
-rw-r--r--lttng/org.eclipse.linuxtools.tracing.rcp.branding/plugin_customization.ini4
-rw-r--r--lttng/org.eclipse.linuxtools.tracing.rcp.branding/pom.xml19
-rw-r--r--lttng/org.eclipse.linuxtools.tracing.rcp.help/.empty.dtd0
-rw-r--r--lttng/org.eclipse.linuxtools.tracing.rcp.help/.externalToolBuilders/RCP Help Builder.launch17
-rw-r--r--lttng/org.eclipse.linuxtools.tracing.rcp.help/.project36
-rw-r--r--lttng/org.eclipse.linuxtools.tracing.rcp.help/.settings/org.eclipse.core.resources.prefs2
-rw-r--r--lttng/org.eclipse.linuxtools.tracing.rcp.help/.settings/org.eclipse.core.runtime.prefs2
-rw-r--r--lttng/org.eclipse.linuxtools.tracing.rcp.help/META-INF/MANIFEST.MF8
-rw-r--r--lttng/org.eclipse.linuxtools.tracing.rcp.help/README19
-rw-r--r--lttng/org.eclipse.linuxtools.tracing.rcp.help/about.html28
-rw-r--r--lttng/org.eclipse.linuxtools.tracing.rcp.help/book.css59
-rw-r--r--lttng/org.eclipse.linuxtools.tracing.rcp.help/build.properties21
-rw-r--r--lttng/org.eclipse.linuxtools.tracing.rcp.help/build.xml90
-rw-r--r--lttng/org.eclipse.linuxtools.tracing.rcp.help/doc/.gitignore2
-rw-r--r--lttng/org.eclipse.linuxtools.tracing.rcp.help/doc/User-Guide.mediawiki41
-rw-r--r--lttng/org.eclipse.linuxtools.tracing.rcp.help/doc/images/home.gifbin582 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.tracing.rcp.help/doc/images/next.gifbin327 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.tracing.rcp.help/doc/images/prev.gifbin327 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.tracing.rcp.help/plugin.properties15
-rw-r--r--lttng/org.eclipse.linuxtools.tracing.rcp.help/plugin.xml10
-rw-r--r--lttng/org.eclipse.linuxtools.tracing.rcp.help/pom.xml86
-rw-r--r--lttng/org.eclipse.linuxtools.tracing.rcp.product/.project11
-rw-r--r--lttng/org.eclipse.linuxtools.tracing.rcp.product/about.html28
-rw-r--r--lttng/org.eclipse.linuxtools.tracing.rcp.product/epl-v10.html256
-rw-r--r--lttng/org.eclipse.linuxtools.tracing.rcp.product/license.html164
-rw-r--r--lttng/org.eclipse.linuxtools.tracing.rcp.product/pom.xml64
-rw-r--r--lttng/org.eclipse.linuxtools.tracing.rcp.product/tracing.product228
-rw-r--r--lttng/org.eclipse.linuxtools.tracing.rcp.ui/.classpath7
-rw-r--r--lttng/org.eclipse.linuxtools.tracing.rcp.ui/.project34
-rw-r--r--lttng/org.eclipse.linuxtools.tracing.rcp.ui/.settings/org.eclipse.core.resources.prefs2
-rw-r--r--lttng/org.eclipse.linuxtools.tracing.rcp.ui/.settings/org.eclipse.core.runtime.prefs2
-rw-r--r--lttng/org.eclipse.linuxtools.tracing.rcp.ui/.settings/org.eclipse.jdt.core.prefs394
-rw-r--r--lttng/org.eclipse.linuxtools.tracing.rcp.ui/.settings/org.eclipse.jdt.ui.prefs56
-rw-r--r--lttng/org.eclipse.linuxtools.tracing.rcp.ui/.settings/org.eclipse.pde.api.tools.prefs97
-rw-r--r--lttng/org.eclipse.linuxtools.tracing.rcp.ui/.settings/org.eclipse.pde.prefs32
-rw-r--r--lttng/org.eclipse.linuxtools.tracing.rcp.ui/META-INF/MANIFEST.MF23
-rw-r--r--lttng/org.eclipse.linuxtools.tracing.rcp.ui/about.html28
-rw-r--r--lttng/org.eclipse.linuxtools.tracing.rcp.ui/build.properties20
-rw-r--r--lttng/org.eclipse.linuxtools.tracing.rcp.ui/icons/alt_about.gifbin9340 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.tracing.rcp.ui/icons/alt_window_16.gifbin637 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.tracing.rcp.ui/icons/alt_window_32.gifbin1192 -> 0 bytes
-rw-r--r--lttng/org.eclipse.linuxtools.tracing.rcp.ui/plugin.properties39
-rw-r--r--lttng/org.eclipse.linuxtools.tracing.rcp.ui/plugin.xml144
-rw-r--r--lttng/org.eclipse.linuxtools.tracing.rcp.ui/pom.xml41
-rw-r--r--lttng/org.eclipse.linuxtools.tracing.rcp.ui/src/org/eclipse/linuxtools/internal/tracing/rcp/ui/Application.java103
-rw-r--r--lttng/org.eclipse.linuxtools.tracing.rcp.ui/src/org/eclipse/linuxtools/internal/tracing/rcp/ui/ApplicationActionBarAdvisor.java38
-rw-r--r--lttng/org.eclipse.linuxtools.tracing.rcp.ui/src/org/eclipse/linuxtools/internal/tracing/rcp/ui/ApplicationWorkbenchAdvisor.java239
-rw-r--r--lttng/org.eclipse.linuxtools.tracing.rcp.ui/src/org/eclipse/linuxtools/internal/tracing/rcp/ui/ApplicationWorkbenchWindowAdvisor.java165
-rw-r--r--lttng/org.eclipse.linuxtools.tracing.rcp.ui/src/org/eclipse/linuxtools/internal/tracing/rcp/ui/TracingRcpPlugin.java167
-rw-r--r--lttng/org.eclipse.linuxtools.tracing.rcp.ui/src/org/eclipse/linuxtools/internal/tracing/rcp/ui/cli/CliParser.java75
-rw-r--r--lttng/org.eclipse.linuxtools.tracing.rcp.ui/src/org/eclipse/linuxtools/internal/tracing/rcp/ui/cli/TracingRCPCliException.java40
-rw-r--r--lttng/org.eclipse.linuxtools.tracing.rcp.ui/src/org/eclipse/linuxtools/internal/tracing/rcp/ui/messages/Messages.java49
-rw-r--r--lttng/org.eclipse.linuxtools.tracing.rcp.ui/src/org/eclipse/linuxtools/internal/tracing/rcp/ui/messages/messages.properties19
-rw-r--r--lttng/org.eclipse.linuxtools.tracing.rcp/.project17
-rw-r--r--lttng/org.eclipse.linuxtools.tracing.rcp/.settings/org.eclipse.core.resources.prefs2
-rw-r--r--lttng/org.eclipse.linuxtools.tracing.rcp/.settings/org.eclipse.core.runtime.prefs2
-rw-r--r--lttng/org.eclipse.linuxtools.tracing.rcp/build.properties14
-rw-r--r--lttng/org.eclipse.linuxtools.tracing.rcp/feature.properties20
-rw-r--r--lttng/org.eclipse.linuxtools.tracing.rcp/feature.xml99
-rw-r--r--lttng/org.eclipse.linuxtools.tracing.rcp/p2.inf3
-rw-r--r--lttng/org.eclipse.linuxtools.tracing.rcp/pom.xml99
-rw-r--r--lttng/plugins.diabin2436 -> 0 bytes
-rw-r--r--lttng/plugins.svg109
-rw-r--r--lttng/pom.xml232
-rwxr-xr-xlttng/sync_settings.sh61
-rw-r--r--pom.xml1
-rw-r--r--releng/org.eclipse.linuxtools.releng-site/category.xml56
-rw-r--r--releng/org.eclipse.linuxtools.target/linuxtools-e4.4.target13
2979 files changed, 5 insertions, 405703 deletions
diff --git a/lttng/.gitignore b/lttng/.gitignore
deleted file mode 100644
index 01d4ee7607..0000000000
--- a/lttng/.gitignore
+++ /dev/null
@@ -1,4 +0,0 @@
-.DS_Store
-bin/
-target/
-*/.settings/org.sonar.ide.eclipse.core.prefs
diff --git a/lttng/README b/lttng/README
index 88ebf23550..a075b0d91d 100644
--- a/lttng/README
+++ b/lttng/README
@@ -1,58 +1,3 @@
-This directory contains the source code for the LTTng integration plugins for
-Eclipse, which includes the generic Tracing and Monitoring Framework (TMF).
-
-The plugins are categorized as follows:
-org.eclipse.linuxtools.ctf.* Common Trace Format (CTF) reader library
-org.eclipse.linuxtools.gdbtrace.* Support for reading and viewing GDB traces
-org.eclipse.linuxtools.lttng2.* LTTng 2.x integration
-org.eclipse.linuxtools.tmf.* Tracing and Monitoring Framework
-org.eclipse.linuxtools.statesystem.* State System library
-org.eclipse.linuxtools.tracing.rcp.* Code specific to the RCP version
-
-See the plugins.svg file for a diagram showing the dependencies between the
-different plugins.
-
-
-To set up the environment to build TMF from within Eclipse, see this wiki page:
-http://wiki.eclipse.org/Linux_Tools_Project/LTTng_Eclipse_Plug-in_Development_Environment_Setup
-
-
-
-
-To build the plugins manually using Maven, you first need to build the Linux Tools target definition
- (starting from the root of the source tree):
-$ cd releng/org.eclipse.linuxtools.target
-$ mvn clean install
-Then you can build the LTTng plugins:
-$ cd ../../lttng
-$ mvn clean install
-
-As long as you don't clear the Maven reactor cache (in ~/.m2), you should not
-need to rebuild the target definition.
-
-
-The default command will compile and run the unit tests. Running the tests can
-take some time, to skip them you can append "-Dmaven.test.skip=true" to the
-'mvn' command:
-$ mvn clean install -Dmaven.test.skip=true
-
-
-The RCP is not built by default, to build it you need to add "-PtracingRcp" to
-the 'mvn' command:
-$ mvn clean install -PtracingRcp -Dmaven.test.skip=true
-
-This will build the RCP for all supported architectures. The resulting archives
-will be placed in lttng/org.eclipse.linuxtools.tracing.rcp.product/target/products
-
-
-To build a local p2 update site (LTTng integration only)
-$ mvn clean install -PlttngPackage
-
-This will place the p2 update site under the default location
-/var/www/tools/linuxtools/lttng/update-nightly/
-
-To change the package location, use:
-$ mvn clean install -PlttngPackage "-DlttngPackageDestination=<package destination>"
-
-where <package destination> is the absolute path to destination directory on your disk.
-
+The LTTng component (also known as TMF) of Linux Tools has moved to
+the Trace Compass project. Please visit the project page for more details.
+https://projects.eclipse.org/projects/tools.tracecompass
diff --git a/lttng/org.eclipse.linuxtools.btf.core.tests/.classpath b/lttng/org.eclipse.linuxtools.btf.core.tests/.classpath
deleted file mode 100644
index 098194ca4b..0000000000
--- a/lttng/org.eclipse.linuxtools.btf.core.tests/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
- <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.7"/>
- <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
- <classpathentry kind="src" path="src"/>
- <classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/lttng/org.eclipse.linuxtools.btf.core.tests/.project b/lttng/org.eclipse.linuxtools.btf.core.tests/.project
deleted file mode 100644
index 1c104d70db..0000000000
--- a/lttng/org.eclipse.linuxtools.btf.core.tests/.project
+++ /dev/null
@@ -1,34 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>org.eclipse.linuxtools.btf.core.tests</name>
- <comment></comment>
- <projects>
- </projects>
- <buildSpec>
- <buildCommand>
- <name>org.eclipse.jdt.core.javabuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.ManifestBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.SchemaBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.api.tools.apiAnalysisBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>org.eclipse.pde.PluginNature</nature>
- <nature>org.eclipse.jdt.core.javanature</nature>
- <nature>org.eclipse.pde.api.tools.apiAnalysisNature</nature>
- </natures>
-</projectDescription>
diff --git a/lttng/org.eclipse.linuxtools.btf.core.tests/.settings/org.eclipse.core.resources.prefs b/lttng/org.eclipse.linuxtools.btf.core.tests/.settings/org.eclipse.core.resources.prefs
deleted file mode 100644
index 99f26c0203..0000000000
--- a/lttng/org.eclipse.linuxtools.btf.core.tests/.settings/org.eclipse.core.resources.prefs
+++ /dev/null
@@ -1,2 +0,0 @@
-eclipse.preferences.version=1
-encoding/<project>=UTF-8
diff --git a/lttng/org.eclipse.linuxtools.btf.core.tests/.settings/org.eclipse.core.runtime.prefs b/lttng/org.eclipse.linuxtools.btf.core.tests/.settings/org.eclipse.core.runtime.prefs
deleted file mode 100644
index 5a0ad22d2a..0000000000
--- a/lttng/org.eclipse.linuxtools.btf.core.tests/.settings/org.eclipse.core.runtime.prefs
+++ /dev/null
@@ -1,2 +0,0 @@
-eclipse.preferences.version=1
-line.separator=\n
diff --git a/lttng/org.eclipse.linuxtools.btf.core.tests/.settings/org.eclipse.jdt.core.prefs b/lttng/org.eclipse.linuxtools.btf.core.tests/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index f3fc64575b..0000000000
--- a/lttng/org.eclipse.linuxtools.btf.core.tests/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,393 +0,0 @@
-eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.annotation.inheritNullAnnotations=enabled
-org.eclipse.jdt.core.compiler.annotation.missingNonNullByDefaultAnnotation=ignore
-org.eclipse.jdt.core.compiler.annotation.nonnull=org.eclipse.jdt.annotation.NonNull
-org.eclipse.jdt.core.compiler.annotation.nonnullbydefault=org.eclipse.jdt.annotation.NonNullByDefault
-org.eclipse.jdt.core.compiler.annotation.nullable=org.eclipse.jdt.annotation.Nullable
-org.eclipse.jdt.core.compiler.annotation.nullanalysis=enabled
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.7
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.doc.comment.support=enabled
-org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=error
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
-org.eclipse.jdt.core.compiler.problem.comparingIdentical=error
-org.eclipse.jdt.core.compiler.problem.deadCode=error
-org.eclipse.jdt.core.compiler.problem.deprecation=error
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=enabled
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled
-org.eclipse.jdt.core.compiler.problem.discouragedReference=error
-org.eclipse.jdt.core.compiler.problem.emptyStatement=error
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.problem.explicitlyClosedAutoCloseable=error
-org.eclipse.jdt.core.compiler.problem.fallthroughCase=error
-org.eclipse.jdt.core.compiler.problem.fatalOptionalError=disabled
-org.eclipse.jdt.core.compiler.problem.fieldHiding=error
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=error
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=error
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=error
-org.eclipse.jdt.core.compiler.problem.includeNullInfoFromAsserts=disabled
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=error
-org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=error
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=error
-org.eclipse.jdt.core.compiler.problem.invalidJavadoc=warning
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTags=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=protected
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=error
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=error
-org.eclipse.jdt.core.compiler.problem.missingDefaultCase=error
-org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=error
-org.eclipse.jdt.core.compiler.problem.missingEnumCaseDespiteDefault=enabled
-org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=error
-org.eclipse.jdt.core.compiler.problem.missingJavadocComments=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=protected
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagDescription=all_standard_tags
-org.eclipse.jdt.core.compiler.problem.missingJavadocTags=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsMethodTypeParameters=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=protected
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=error
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotationForInterfaceMethodImplementation=enabled
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=error
-org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=error
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=error
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=error
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=ignore
-org.eclipse.jdt.core.compiler.problem.nonnullParameterAnnotationDropped=warning
-org.eclipse.jdt.core.compiler.problem.nullAnnotationInferenceConflict=warning
-org.eclipse.jdt.core.compiler.problem.nullReference=error
-org.eclipse.jdt.core.compiler.problem.nullSpecViolation=error
-org.eclipse.jdt.core.compiler.problem.nullUncheckedConversion=warning
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=error
-org.eclipse.jdt.core.compiler.problem.parameterAssignment=error
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=error
-org.eclipse.jdt.core.compiler.problem.potentialNullReference=error
-org.eclipse.jdt.core.compiler.problem.potentiallyUnclosedCloseable=warning
-org.eclipse.jdt.core.compiler.problem.rawTypeReference=error
-org.eclipse.jdt.core.compiler.problem.redundantNullAnnotation=warning
-org.eclipse.jdt.core.compiler.problem.redundantNullCheck=error
-org.eclipse.jdt.core.compiler.problem.redundantSpecificationOfTypeArguments=error
-org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=error
-org.eclipse.jdt.core.compiler.problem.reportMethodCanBePotentiallyStatic=ignore
-org.eclipse.jdt.core.compiler.problem.reportMethodCanBeStatic=error
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=error
-org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=disabled
-org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
-org.eclipse.jdt.core.compiler.problem.syntacticNullAnalysisForFields=enabled
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
-org.eclipse.jdt.core.compiler.problem.typeParameterHiding=error
-org.eclipse.jdt.core.compiler.problem.unavoidableGenericTypeProblems=disabled
-org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=error
-org.eclipse.jdt.core.compiler.problem.unclosedCloseable=error
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
-org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=error
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=error
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=error
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=error
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=disabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=disabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=error
-org.eclipse.jdt.core.compiler.problem.unusedLabel=error
-org.eclipse.jdt.core.compiler.problem.unusedLocal=error
-org.eclipse.jdt.core.compiler.problem.unusedObjectAllocation=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=error
-org.eclipse.jdt.core.compiler.problem.unusedTypeParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedWarningToken=error
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=error
-org.eclipse.jdt.core.compiler.source=1.7
-org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_assignment=0
-org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
-org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
-org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
-org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
-org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0
-org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=80
-org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=0
-org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch=16
-org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_after_package=1
-org.eclipse.jdt.core.formatter.blank_lines_before_field=0
-org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
-org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
-org.eclipse.jdt.core.formatter.blank_lines_before_method=1
-org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
-org.eclipse.jdt.core.formatter.blank_lines_before_package=0
-org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
-org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
-org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
-org.eclipse.jdt.core.formatter.comment.format_block_comments=true
-org.eclipse.jdt.core.formatter.comment.format_header=false
-org.eclipse.jdt.core.formatter.comment.format_html=true
-org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=true
-org.eclipse.jdt.core.formatter.comment.format_line_comments=true
-org.eclipse.jdt.core.formatter.comment.format_source_code=true
-org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true
-org.eclipse.jdt.core.formatter.comment.indent_root_tags=true
-org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
-org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=insert
-org.eclipse.jdt.core.formatter.comment.line_length=80
-org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries=true
-org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries=true
-org.eclipse.jdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments=false
-org.eclipse.jdt.core.formatter.compact_else_if=true
-org.eclipse.jdt.core.formatter.continuation_indentation=2
-org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2
-org.eclipse.jdt.core.formatter.disabling_tag=@formatter\:off
-org.eclipse.jdt.core.formatter.enabling_tag=@formatter\:on
-org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
-org.eclipse.jdt.core.formatter.format_line_comment_starting_on_first_column=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
-org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_empty_lines=false
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=false
-org.eclipse.jdt.core.formatter.indentation.size=4
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_label=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_try=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources=insert
-org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_try=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
-org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.join_lines_in_comments=true
-org.eclipse.jdt.core.formatter.join_wrapped_lines=false
-org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.lineSplit=250
-org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
-org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
-org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true
-org.eclipse.jdt.core.formatter.tabulation.char=space
-org.eclipse.jdt.core.formatter.tabulation.size=4
-org.eclipse.jdt.core.formatter.use_on_off_tags=false
-org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
-org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
-org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true
-org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true
diff --git a/lttng/org.eclipse.linuxtools.btf.core.tests/.settings/org.eclipse.jdt.ui.prefs b/lttng/org.eclipse.linuxtools.btf.core.tests/.settings/org.eclipse.jdt.ui.prefs
deleted file mode 100644
index 4fd0c7006a..0000000000
--- a/lttng/org.eclipse.linuxtools.btf.core.tests/.settings/org.eclipse.jdt.ui.prefs
+++ /dev/null
@@ -1,56 +0,0 @@
-eclipse.preferences.version=1
-editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
-formatter_profile=_tmf-style
-formatter_settings_version=12
-sp_cleanup.add_default_serial_version_id=true
-sp_cleanup.add_generated_serial_version_id=false
-sp_cleanup.add_missing_annotations=false
-sp_cleanup.add_missing_deprecated_annotations=true
-sp_cleanup.add_missing_methods=false
-sp_cleanup.add_missing_nls_tags=false
-sp_cleanup.add_missing_override_annotations=true
-sp_cleanup.add_missing_override_annotations_interface_methods=true
-sp_cleanup.add_serial_version_id=false
-sp_cleanup.always_use_blocks=true
-sp_cleanup.always_use_parentheses_in_expressions=false
-sp_cleanup.always_use_this_for_non_static_field_access=false
-sp_cleanup.always_use_this_for_non_static_method_access=false
-sp_cleanup.convert_to_enhanced_for_loop=false
-sp_cleanup.correct_indentation=false
-sp_cleanup.format_source_code=false
-sp_cleanup.format_source_code_changes_only=false
-sp_cleanup.make_local_variable_final=false
-sp_cleanup.make_parameters_final=false
-sp_cleanup.make_private_fields_final=true
-sp_cleanup.make_type_abstract_if_missing_method=false
-sp_cleanup.make_variable_declarations_final=false
-sp_cleanup.never_use_blocks=false
-sp_cleanup.never_use_parentheses_in_expressions=true
-sp_cleanup.on_save_use_additional_actions=true
-sp_cleanup.organize_imports=false
-sp_cleanup.qualify_static_field_accesses_with_declaring_class=false
-sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_with_declaring_class=false
-sp_cleanup.qualify_static_method_accesses_with_declaring_class=false
-sp_cleanup.remove_private_constructors=true
-sp_cleanup.remove_trailing_whitespaces=true
-sp_cleanup.remove_trailing_whitespaces_all=true
-sp_cleanup.remove_trailing_whitespaces_ignore_empty=false
-sp_cleanup.remove_unnecessary_casts=false
-sp_cleanup.remove_unnecessary_nls_tags=false
-sp_cleanup.remove_unused_imports=false
-sp_cleanup.remove_unused_local_variables=false
-sp_cleanup.remove_unused_private_fields=true
-sp_cleanup.remove_unused_private_members=false
-sp_cleanup.remove_unused_private_methods=true
-sp_cleanup.remove_unused_private_types=true
-sp_cleanup.sort_members=false
-sp_cleanup.sort_members_all=false
-sp_cleanup.use_blocks=true
-sp_cleanup.use_blocks_only_for_return_and_throw=false
-sp_cleanup.use_parentheses_in_expressions=false
-sp_cleanup.use_this_for_non_static_field_access=false
-sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=true
-sp_cleanup.use_this_for_non_static_method_access=false
-sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true
diff --git a/lttng/org.eclipse.linuxtools.btf.core.tests/.settings/org.eclipse.pde.api.tools.prefs b/lttng/org.eclipse.linuxtools.btf.core.tests/.settings/org.eclipse.pde.api.tools.prefs
deleted file mode 100644
index acc3abd47c..0000000000
--- a/lttng/org.eclipse.linuxtools.btf.core.tests/.settings/org.eclipse.pde.api.tools.prefs
+++ /dev/null
@@ -1,97 +0,0 @@
-ANNOTATION_ELEMENT_TYPE_ADDED_METHOD_WITHOUT_DEFAULT_VALUE=Error
-ANNOTATION_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
-ANNOTATION_ELEMENT_TYPE_REMOVED_FIELD=Error
-ANNOTATION_ELEMENT_TYPE_REMOVED_METHOD=Error
-ANNOTATION_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
-API_COMPONENT_ELEMENT_TYPE_REMOVED_API_TYPE=Error
-API_COMPONENT_ELEMENT_TYPE_REMOVED_REEXPORTED_API_TYPE=Error
-API_COMPONENT_ELEMENT_TYPE_REMOVED_REEXPORTED_TYPE=Error
-API_COMPONENT_ELEMENT_TYPE_REMOVED_TYPE=Error
-API_USE_SCAN_FIELD_SEVERITY=Error
-API_USE_SCAN_METHOD_SEVERITY=Error
-API_USE_SCAN_TYPE_SEVERITY=Error
-CLASS_ELEMENT_TYPE_ADDED_METHOD=Error
-CLASS_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
-CLASS_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
-CLASS_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error
-CLASS_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
-CLASS_ELEMENT_TYPE_CHANGED_NON_ABSTRACT_TO_ABSTRACT=Error
-CLASS_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error
-CLASS_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
-CLASS_ELEMENT_TYPE_REMOVED_CONSTRUCTOR=Error
-CLASS_ELEMENT_TYPE_REMOVED_FIELD=Error
-CLASS_ELEMENT_TYPE_REMOVED_METHOD=Error
-CLASS_ELEMENT_TYPE_REMOVED_SUPERCLASS=Error
-CLASS_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
-CLASS_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
-CONSTRUCTOR_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
-CONSTRUCTOR_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
-CONSTRUCTOR_ELEMENT_TYPE_CHANGED_VARARGS_TO_ARRAY=Error
-CONSTRUCTOR_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
-ENUM_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error
-ENUM_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
-ENUM_ELEMENT_TYPE_REMOVED_ENUM_CONSTANT=Error
-ENUM_ELEMENT_TYPE_REMOVED_FIELD=Error
-ENUM_ELEMENT_TYPE_REMOVED_METHOD=Error
-ENUM_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
-FIELD_ELEMENT_TYPE_ADDED_VALUE=Error
-FIELD_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
-FIELD_ELEMENT_TYPE_CHANGED_FINAL_TO_NON_FINAL_STATIC_CONSTANT=Error
-FIELD_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error
-FIELD_ELEMENT_TYPE_CHANGED_NON_STATIC_TO_STATIC=Error
-FIELD_ELEMENT_TYPE_CHANGED_STATIC_TO_NON_STATIC=Error
-FIELD_ELEMENT_TYPE_CHANGED_TYPE=Error
-FIELD_ELEMENT_TYPE_CHANGED_VALUE=Error
-FIELD_ELEMENT_TYPE_REMOVED_TYPE_ARGUMENT=Error
-FIELD_ELEMENT_TYPE_REMOVED_VALUE=Error
-ILLEGAL_EXTEND=Warning
-ILLEGAL_IMPLEMENT=Warning
-ILLEGAL_INSTANTIATE=Warning
-ILLEGAL_OVERRIDE=Warning
-ILLEGAL_REFERENCE=Warning
-INTERFACE_ELEMENT_TYPE_ADDED_FIELD=Error
-INTERFACE_ELEMENT_TYPE_ADDED_METHOD=Error
-INTERFACE_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
-INTERFACE_ELEMENT_TYPE_ADDED_SUPER_INTERFACE_WITH_METHODS=Error
-INTERFACE_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
-INTERFACE_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error
-INTERFACE_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
-INTERFACE_ELEMENT_TYPE_REMOVED_FIELD=Error
-INTERFACE_ELEMENT_TYPE_REMOVED_METHOD=Error
-INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
-INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
-INVALID_JAVADOC_TAG=Warning
-INVALID_REFERENCE_IN_SYSTEM_LIBRARIES=Warning
-LEAK_EXTEND=Warning
-LEAK_FIELD_DECL=Warning
-LEAK_IMPLEMENT=Warning
-LEAK_METHOD_PARAM=Warning
-LEAK_METHOD_RETURN_TYPE=Warning
-METHOD_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
-METHOD_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
-METHOD_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
-METHOD_ELEMENT_TYPE_CHANGED_NON_ABSTRACT_TO_ABSTRACT=Error
-METHOD_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error
-METHOD_ELEMENT_TYPE_CHANGED_NON_STATIC_TO_STATIC=Error
-METHOD_ELEMENT_TYPE_CHANGED_STATIC_TO_NON_STATIC=Error
-METHOD_ELEMENT_TYPE_CHANGED_VARARGS_TO_ARRAY=Error
-METHOD_ELEMENT_TYPE_REMOVED_ANNOTATION_DEFAULT_VALUE=Error
-METHOD_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
-MISSING_EE_DESCRIPTIONS=Ignore
-TYPE_PARAMETER_ELEMENT_TYPE_ADDED_CLASS_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_ADDED_INTERFACE_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_CHANGED_CLASS_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_CHANGED_INTERFACE_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_CLASS_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error
-UNUSED_PROBLEM_FILTERS=Warning
-automatically_removed_unused_problem_filters=false
-eclipse.preferences.version=1
-incompatible_api_component_version=Error
-incompatible_api_component_version_include_major_without_breaking_change=Disabled
-incompatible_api_component_version_include_minor_without_api_change=Disabled
-invalid_since_tag_version=Error
-malformed_since_tag=Error
-missing_since_tag=Error
-report_api_breakage_when_major_version_incremented=Disabled
-report_resolution_errors_api_component=Warning
diff --git a/lttng/org.eclipse.linuxtools.btf.core.tests/.settings/org.eclipse.pde.prefs b/lttng/org.eclipse.linuxtools.btf.core.tests/.settings/org.eclipse.pde.prefs
deleted file mode 100644
index 62cfa90dee..0000000000
--- a/lttng/org.eclipse.linuxtools.btf.core.tests/.settings/org.eclipse.pde.prefs
+++ /dev/null
@@ -1,32 +0,0 @@
-compilers.f.unresolved-features=1
-compilers.f.unresolved-plugins=1
-compilers.incompatible-environment=1
-compilers.p.build=1
-compilers.p.build.bin.includes=1
-compilers.p.build.encodings=2
-compilers.p.build.java.compiler=2
-compilers.p.build.java.compliance=1
-compilers.p.build.missing.output=2
-compilers.p.build.output.library=1
-compilers.p.build.source.library=1
-compilers.p.build.src.includes=1
-compilers.p.deprecated=1
-compilers.p.discouraged-class=1
-compilers.p.internal=1
-compilers.p.missing-packages=2
-compilers.p.missing-version-export-package=2
-compilers.p.missing-version-import-package=2
-compilers.p.missing-version-require-bundle=2
-compilers.p.no-required-att=0
-compilers.p.not-externalized-att=2
-compilers.p.unknown-attribute=1
-compilers.p.unknown-class=1
-compilers.p.unknown-element=1
-compilers.p.unknown-identifier=1
-compilers.p.unknown-resource=1
-compilers.p.unresolved-ex-points=0
-compilers.p.unresolved-import=0
-compilers.s.create-docs=false
-compilers.s.doc-folder=doc
-compilers.s.open-tags=1
-eclipse.preferences.version=1
diff --git a/lttng/org.eclipse.linuxtools.btf.core.tests/META-INF/MANIFEST.MF b/lttng/org.eclipse.linuxtools.btf.core.tests/META-INF/MANIFEST.MF
deleted file mode 100644
index 7737843aa3..0000000000
--- a/lttng/org.eclipse.linuxtools.btf.core.tests/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,18 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %Bundle-Name
-Bundle-Vendor: %Bundle-Vendor
-Bundle-Version: 3.1.0.qualifier
-Bundle-Localization: plugin
-Bundle-SymbolicName: org.eclipse.linuxtools.btf.core.tests;singleton:=true
-Bundle-Activator: org.eclipse.linuxtools.btf.core.tests.BtfTestPlugin
-Bundle-ActivationPolicy: lazy
-Bundle-RequiredExecutionEnvironment: JavaSE-1.7
-Require-Bundle: org.junit;bundle-version="4.0.0",
- org.eclipse.core.runtime,
- org.eclipse.core.resources,
- org.eclipse.linuxtools.btf.core;bundle-version="3.1.0",
- org.eclipse.linuxtools.tmf.core;bundle-version="3.1.0"
-Export-Package: org.eclipse.linuxtools.btf.core.tests,
- org.eclipse.linuxtools.btf.core.tests.trace,
- org.eclipse.linuxtools.btf.core.tests.utils
diff --git a/lttng/org.eclipse.linuxtools.btf.core.tests/about.html b/lttng/org.eclipse.linuxtools.btf.core.tests/about.html
deleted file mode 100644
index c258ef55d8..0000000000
--- a/lttng/org.eclipse.linuxtools.btf.core.tests/about.html
+++ /dev/null
@@ -1,28 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
-<title>About</title>
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
-
-<p>June 5, 2006</p>
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;). Unless otherwise
-indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is available
-at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is
-being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content. Check the Redistributor's license that was
-provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at <a href="http://www.eclipse.org/">http://www.eclipse.org</a>.</p>
-
-</body>
-</html> \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.btf.core.tests/build.properties b/lttng/org.eclipse.linuxtools.btf.core.tests/build.properties
deleted file mode 100644
index aeb8ae130c..0000000000
--- a/lttng/org.eclipse.linuxtools.btf.core.tests/build.properties
+++ /dev/null
@@ -1,21 +0,0 @@
-###############################################################################
-# Copyright (c) 2014 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:
-# Ericsson - Initial API and implementation
-###############################################################################
-
-source.. = src/
-output.. = bin/
-bin.includes = META-INF/,\
- .,\
- plugin.properties,\
- testfiles/
-src.includes = about.html
-additional.bundles = org.eclipse.jdt.annotation
-jars.extra.classpath = platform:/plugin/org.eclipse.jdt.annotation
diff --git a/lttng/org.eclipse.linuxtools.btf.core.tests/plugin.properties b/lttng/org.eclipse.linuxtools.btf.core.tests/plugin.properties
deleted file mode 100644
index 3bbd9eb8d3..0000000000
--- a/lttng/org.eclipse.linuxtools.btf.core.tests/plugin.properties
+++ /dev/null
@@ -1,15 +0,0 @@
-###############################################################################
-# Copyright (c) 2014 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:
-# Ericsson - Initial API and implementation
-###############################################################################
-
-#Properties file for org.eclipse.linuxtools.btf.core.tests
-Bundle-Vendor = Eclipse Linux Tools
-Bundle-Name = Linux Tools BTF Tests Plug-in
diff --git a/lttng/org.eclipse.linuxtools.btf.core.tests/pom.xml b/lttng/org.eclipse.linuxtools.btf.core.tests/pom.xml
deleted file mode 100644
index a407cf8be7..0000000000
--- a/lttng/org.eclipse.linuxtools.btf.core.tests/pom.xml
+++ /dev/null
@@ -1,46 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Copyright (C) 2011, Red Hat, Inc. and others
-
- 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
--->
-
-<project xmlns="http://maven.apache.org/POM/4.0.0"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
- <modelVersion>4.0.0</modelVersion>
-
- <parent>
- <artifactId>linuxtools-lttng-parent</artifactId>
- <groupId>org.eclipse.linuxtools.lttng</groupId>
- <version>3.2.0-SNAPSHOT</version>
- </parent>
-
- <artifactId>org.eclipse.linuxtools.btf.core.tests</artifactId>
- <version>3.1.0-SNAPSHOT</version>
- <packaging>eclipse-test-plugin</packaging>
-
- <name>Best Trace Format Tests Plug-in</name>
-
- <build>
- <plugins>
- <plugin>
- <groupId>org.eclipse.tycho</groupId>
- <artifactId>tycho-surefire-plugin</artifactId>
- <version>${tycho-version}</version>
- <configuration>
- <testSuite>org.eclipse.linuxtools.btf.core.tests</testSuite>
- <testClass>org.eclipse.linuxtools.btf.core.tests.AllTests</testClass>
- <useUIHarness>false</useUIHarness>
- <useUIThread>false</useUIThread>
- <product>org.eclipse.platform.ide</product>
- </configuration>
- </plugin>
- </plugins>
- </build>
-
- <groupId>org.eclipse.linuxtools.btf</groupId>
-</project>
diff --git a/lttng/org.eclipse.linuxtools.btf.core.tests/src/org/eclipse/linuxtools/btf/core/tests/AllTests.java b/lttng/org.eclipse.linuxtools.btf.core.tests/src/org/eclipse/linuxtools/btf/core/tests/AllTests.java
deleted file mode 100644
index 3d1047bd50..0000000000
--- a/lttng/org.eclipse.linuxtools.btf.core.tests/src/org/eclipse/linuxtools/btf/core/tests/AllTests.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 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:
- * Matthew Khouzam - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.btf.core.tests;
-
-import org.junit.runner.RunWith;
-import org.junit.runners.Suite;
-
-/**
- * Master test suite for BTF.
- */
-@RunWith(Suite.class)
-@Suite.SuiteClasses({
- org.eclipse.linuxtools.btf.core.tests.trace.BtfTraceTest.class
-})
-public class AllTests {
-
-}
diff --git a/lttng/org.eclipse.linuxtools.btf.core.tests/src/org/eclipse/linuxtools/btf/core/tests/BtfTestPlugin.java b/lttng/org.eclipse.linuxtools.btf.core.tests/src/org/eclipse/linuxtools/btf/core/tests/BtfTestPlugin.java
deleted file mode 100644
index 53eebc20ce..0000000000
--- a/lttng/org.eclipse.linuxtools.btf.core.tests/src/org/eclipse/linuxtools/btf/core/tests/BtfTestPlugin.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 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:
- * Matthew Khouzam - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.btf.core.tests;
-
-import org.osgi.framework.Bundle;
-import org.osgi.framework.BundleActivator;
-import org.osgi.framework.BundleContext;
-
-/**
- * Stub to do nothing
- *
- * @author Matthew Khouzam
- */
-public class BtfTestPlugin implements BundleActivator {
-
- /**
- * The plug-in ID
- */
- public static final String PLUGIN_ID = "org.eclipse.linuxtools.btf.core.tests";
-
- private static BundleContext fContext;
-
- /**
- * Gets the bundle of this plug-in.
- *
- * @return the oel.btf.core.tests bundle
- */
- public static Bundle getBundle() {
- if (fContext == null) {
- return null;
- }
- return fContext.getBundle();
- }
-
- @Override
- public void start(BundleContext context) throws Exception {
- fContext = context;
- }
-
- @Override
- public void stop(BundleContext context) throws Exception {
-
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.btf.core.tests/src/org/eclipse/linuxtools/btf/core/tests/trace/BtfTraceTest.java b/lttng/org.eclipse.linuxtools.btf.core.tests/src/org/eclipse/linuxtools/btf/core/tests/trace/BtfTraceTest.java
deleted file mode 100644
index 053843102e..0000000000
--- a/lttng/org.eclipse.linuxtools.btf.core.tests/src/org/eclipse/linuxtools/btf/core/tests/trace/BtfTraceTest.java
+++ /dev/null
@@ -1,144 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 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:
- * Matthew Khouzam - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.linuxtools.btf.core.tests.trace;
-
-import static org.junit.Assert.*;
-
-import java.io.IOException;
-import java.util.Map;
-
-import org.eclipse.linuxtools.btf.core.tests.utils.BtfTestTrace;
-import org.eclipse.linuxtools.btf.core.trace.BtfTrace;
-import org.eclipse.linuxtools.tmf.core.event.ITmfEvent;
-import org.eclipse.linuxtools.tmf.core.trace.ITmfContext;
-import org.eclipse.linuxtools.tmf.core.trace.TraceValidationStatus;
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Test;
-
-/**
- * Best trace format test cases
- *
- * @author Matthew Khouzam
- */
-public class BtfTraceTest {
-
- private static final long START_TIME = 1392809960000000000L;
-
- private BtfTrace fixture;
-
- /**
- * Does the trace exist?
- */
- @Before
- public void setup() {
- fixture = BtfTestTrace.BTF_TEST.getTrace();
- assertNotNull(fixture);
- }
-
- /**
- * Cleanup
- */
- @After
- public void cleanup() {
- try {
- fixture.close();
- } catch (IOException e) {}
- }
-
- /**
- * Tests validation
- */
- @Test
- public void testValidate(){
- TraceValidationStatus status = (TraceValidationStatus) fixture.validate(null, fixture.getPath());
- assertNotNull(status);
- assertTrue(status.isOK());
- assertEquals(100, status.getConfidence());
-
- }
-
- /**
- * Seek the first event
- */
- @Test
- public void testSeek1stEvent() {
- ITmfContext ctx = fixture.seekEvent(0);
- assertNotNull(ctx);
- assertEquals(0, ctx.getRank());
- assertEquals(499L, ctx.getLocation().getLocationInfo());
- }
-
- /**
- * Read the first event
- */
- @Test
- public void testRead1stEvent() {
- ITmfContext ctx = fixture.seekEvent(0);
- ITmfEvent event = fixture.getNext(ctx);
- assertNotNull(event);
- assertEquals(START_TIME, event.getTimestamp().getValue());
- }
-
- /**
- * Read the tenth event
- */
- @Test
- public void testRead10thEvent1() {
- ITmfContext ctx = fixture.seekEvent(10);
- ITmfEvent event = fixture.getNext(ctx);
- assertNotNull(event);
- assertEquals(START_TIME, event.getTimestamp().getValue());
- }
-
- /**
- * Read the tenth event without seeking
- */
- @Test
- public void testRead10thEvent2() {
- ITmfContext ctx = fixture.seekEvent(0);
- ITmfEvent event = null;
- for (int i = 0; i < 10; i++) {
- event = fixture.getNext(ctx);
- }
- assertNotNull(event);
- assertEquals(START_TIME, event.getTimestamp().getValue());
- }
-
- /**
- * Read the trace properties
- */
- @Test
- public void testReadProperties() {
- Map<String, String> data = fixture.getTraceProperties();
- assertNotNull(data);
- assertEquals("ns", data.get("#timeScale"));
- assertEquals("2.1.0", data.get("#version"));
- }
-
- /**
- * Read two contexts
- */
- @Test
- public void testTwoContexts() {
- ITmfContext ctx0 = fixture.seekEvent(0);
- ITmfContext ctx1 = fixture.seekEvent(10);
- ITmfEvent event = null;
- for (int i = 0; i < 11; i++) {
- event = fixture.getNext(ctx0);
- }
- ITmfEvent event1 = fixture.getNext(ctx1);
- assertNotNull(event);
- assertNotNull(event1);
- assertEquals(event, event1);
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.btf.core.tests/src/org/eclipse/linuxtools/btf/core/tests/utils/BtfTestTrace.java b/lttng/org.eclipse.linuxtools.btf.core.tests/src/org/eclipse/linuxtools/btf/core/tests/utils/BtfTestTrace.java
deleted file mode 100644
index c2eea5250b..0000000000
--- a/lttng/org.eclipse.linuxtools.btf.core.tests/src/org/eclipse/linuxtools/btf/core/tests/utils/BtfTestTrace.java
+++ /dev/null
@@ -1,100 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 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:
- * Matthew Khouzam - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.btf.core.tests.utils;
-
-import java.io.File;
-import java.io.IOException;
-import java.net.URISyntaxException;
-import java.net.URL;
-
-import org.eclipse.core.runtime.FileLocator;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.linuxtools.btf.core.tests.BtfTestPlugin;
-import org.eclipse.linuxtools.btf.core.trace.BtfTrace;
-import org.eclipse.linuxtools.tmf.core.exceptions.TmfTraceException;
-import org.eclipse.linuxtools.tmf.core.trace.ITmfTrace;
-import org.osgi.framework.Bundle;
-
-/**
- * Wrapper like CtfTestTrace but for BTF, the best trace format
- * @author Matthew Khouzam
- */
-public enum BtfTestTrace {
-
- /** btf test trace*/
- BTF_TEST("20140219-123819.btf");
-
- private final String fPath;
- private final String fDirectory = "testfiles";
- private BtfTrace fTrace = null;
-
- private BtfTestTrace(String file) {
- fPath = file;
- }
-
- /**
- * Get the path of the trace
- *
- * @return The path of this trace
- */
- public String getPath() {
- return fPath;
- }
-
- /**
- * Get the full path of the trace
- *
- * @return The full path of the trace
- */
- public String getFullPath() {
- return fDirectory + File.separator + fPath;
- }
-
- /**
- * Return a ITmfTrace object of this test trace. It will be already
- * initTrace()'ed. This method will always return a new trace and dispose of
- * the old one.
- *
- * After being used by unit tests, traces must be properly disposed of by
- * calling the {@link BtfTestTrace#dispose()} method.
- *
- * @return A {@link ITmfTrace} reference to this trace
- */
- public BtfTrace getTrace() {
- if (fTrace != null) {
- fTrace.dispose();
- }
- Bundle bundle = BtfTestPlugin.getBundle();
- Path path = new Path(fDirectory + File.separator + fPath);
- final URL location = FileLocator.find(bundle,path, null);
- File test;
- try {
- test = new File(FileLocator.toFileURL(location).toURI());
- fTrace = new BtfTrace();
- fTrace.initTrace(null, test.getAbsolutePath(), null);
- } catch (URISyntaxException | IOException | TmfTraceException e) {
- throw new RuntimeException(e);
- }
- return fTrace;
- }
-
- /**
- * Dispose of the trace
- */
- public void dispose() {
- if (fTrace != null) {
- fTrace.dispose();
- fTrace = null;
- }
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.btf.core.tests/src/org/eclipse/linuxtools/btf/core/tests/utils/TestBtfTrace.java b/lttng/org.eclipse.linuxtools.btf.core.tests/src/org/eclipse/linuxtools/btf/core/tests/utils/TestBtfTrace.java
deleted file mode 100644
index e29c206150..0000000000
--- a/lttng/org.eclipse.linuxtools.btf.core.tests/src/org/eclipse/linuxtools/btf/core/tests/utils/TestBtfTrace.java
+++ /dev/null
@@ -1,69 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 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:
- * Matthew Khouzam - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.btf.core.tests.utils;
-
-import java.io.IOException;
-
-import org.eclipse.linuxtools.btf.core.trace.BtfTrace;
-import org.eclipse.linuxtools.tmf.core.event.ITmfEvent;
-import org.eclipse.linuxtools.tmf.core.exceptions.TmfTraceException;
-import org.eclipse.linuxtools.tmf.core.trace.ITmfContext;
-
-/**
- * Helpers for testing the btf trace. There is a main() top run the code without
- * eclipse (for educational purposes) and an event printer
- *
- * @author Matthew Khouzam
- */
-public class TestBtfTrace {
-
- /**
- * Test
- *
- * @param args
- * nothing
- * @throws TmfTraceException
- * exception
- */
- public static void main(String[] args) throws TmfTraceException {
- try (BtfTrace trace = new BtfTrace()) {
- trace.initTrace(null, BtfTestTrace.BTF_TEST.getFullPath(), null);
- System.out.println(trace.toString());
- ITmfContext ctx = trace.seekEvent(0);
- ITmfContext ctx1 = trace.seekEvent(10);
- ITmfEvent event = trace.getNext(ctx);
- ITmfEvent compare = null;
- while (event != null) {
- if (event.getRank() == 10) {
- compare = event;
- }
- printEvent(event);
- event = trace.getNext(ctx);
- }
- ITmfEvent other = trace.getNext(ctx1);
- printEvent(other);
- printEvent(compare);
- } catch (IOException e) {
- e.printStackTrace();
- }
- }
-
- private static void printEvent(ITmfEvent event) {
- if (event == null) {
- System.out.println("null");
- } else {
- System.out.println(event.getRank() + " " + event.getTimestamp().getValue() + " " + event.getSource() + " " + event.getType().getName() + " " + event.getContent().toString());
- }
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.btf.core.tests/testfiles/20140219-123819.btf b/lttng/org.eclipse.linuxtools.btf.core.tests/testfiles/20140219-123819.btf
deleted file mode 100644
index 90685b99fa..0000000000
--- a/lttng/org.eclipse.linuxtools.btf.core.tests/testfiles/20140219-123819.btf
+++ /dev/null
@@ -1,38727 +0,0 @@
-#version 2.2.0
-#creator BTF-Writer (14.01.0.73)
-#creationDate 2014-02-19T11:39:20Z
-#Producer TA Simulator (14.01.0.73)
-#inputRTE \\?\D:\e_ws_ta-tools\demo\Demo_4\004_ExtendedTaskSystem\_simulations\20140219-123819\20140219-123819.rte
-#signalAccesses false
-#timeScale ns
-#version 2.1.0
-#creator TA Simulator (14.01.0.73)
-#creationDate 2014-02-19T11:39:20Z
-#inputFile \\?\D:\e_ws_ta-tools\demo\Demo_4\004_ExtendedTaskSystem\_simulations\20140219-123819\20140219-123819.rte
-#timeScale ns
-0,SEM_DataElement1,0,SEM,SEM_DataElement1,0,ready,0
-0,SEM_DataElement1,0,SEM,SEM_DataElement1,0,free,0
-0,SIM,-1,STI,SYS_WAKE-UP,0,trigger
-0,Core_1,0,C,Core_1,0,set_frequence,40000000
-0,Core_2,0,C,Core_2,0,set_frequence,40000000
-0,SIM,-1,STI,TIMER-B_2ms,0,trigger
-0,TIMER-B_2ms,0,T,TASK_WritingActuator,0,activate
-0,TASK_WritingActuator,0,SCHED,SCHED_Tasks_C2,-1,processactivate
-0,SIM,-1,STI,TIMER-10MS_2,0,trigger
-0,TIMER-10MS_2,0,T,TASK_10MS_DL2,0,activate
-0,TASK_10MS_DL2,0,SCHED,SCHED_Tasks_C1,-1,processactivate
-0,SIM,-1,STI,TIMER-200MS,0,trigger
-0,TIMER-200MS,0,T,TASK_200MS,0,activate
-0,TASK_200MS,0,SCHED,SCHED_Tasks_C1,-1,processactivate
-100,TASK_WritingActuator,0,STI,IR_SCHED_Tasks_C2,0,trigger
-100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-100,Core_2,0,T,TASK_WritingActuator,0,start
-100,TASK_WritingActuator,0,R,FUNC_SEMLOCK,0,start
-100,Core_2,0,C,Core_2,0,execute
-100,TASK_WritingActuator,0,C,Core_2,0,execute
-100,TASK_10MS_DL2,0,STI,IR_SCHED_Tasks_C1,0,trigger
-100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-100,Core_1,0,T,TASK_10MS_DL2,0,start
-100,TASK_10MS_DL2,0,R,FUNC_EXECTIME_1,0,start
-100,Core_1,0,C,Core_1,0,execute
-100,TASK_10MS_DL2,0,C,Core_1,0,execute
-5000,SIM,-1,STI,TIMER-20MS,0,trigger
-5000,TIMER-20MS,0,T,TASK_20MS,0,activate
-5000,TASK_20MS,0,SCHED,SCHED_Tasks_C1,-1,processactivate
-5100,TASK_20MS,0,STI,IR_SCHED_Tasks_C1,1,trigger
-5100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-100000,SIM,-1,STI,TIMER-5MS,0,trigger
-100000,TIMER-5MS,0,T,TASK_5MS,0,activate
-100000,TASK_5MS,0,SCHED,SCHED_Tasks_C2,-1,processactivate
-100000,SIM,-1,STI,TIMER-100MS,0,trigger
-100000,TIMER-100MS,0,T,TASK_100MS,0,activate
-100000,TASK_100MS,0,SCHED,SCHED_Tasks_C1,-1,processactivate
-100100,TASK_5MS,0,STI,IR_SCHED_Tasks_C2,1,trigger
-100100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-100100,TASK_100MS,0,STI,IR_SCHED_Tasks_C1,2,trigger
-100100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-125100,TASK_WritingActuator,0,SEM,SEM_DataElement1,0,requestsemaphore,0
-125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-125100,Core_2,0,C,Core_2,0,lock
-125100,TASK_WritingActuator,0,SEM,SEM_DataElement1,0,assigned,1
-125150,TASK_WritingActuator,0,R,FUNC_SEMLOCK,0,terminate
-125150,Core_2,0,C,Core_2,0,unlock
-125150,TASK_WritingActuator,0,R,FUNC_WriteData,0,start
-150000,SIM,-1,STI,TIMER-A_2ms,0,trigger
-150000,TIMER-A_2ms,0,T,TASK_InputProcessing,0,activate
-150000,TASK_InputProcessing,0,SCHED,SCHED_Tasks_C1,-1,processactivate
-150100,TASK_InputProcessing,0,STI,IR_SCHED_Tasks_C1,3,trigger
-150100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-152625,TASK_WritingActuator,0,SIG,SIG_Mixture,0,write,0
-152625,TASK_WritingActuator,0,R,FUNC_WriteData,0,terminate
-152625,TASK_WritingActuator,0,R,FUNC_SEMUNLOCK,0,start
-250000,SIM,-1,STI,TIMER-1MS,0,trigger
-250000,TIMER-1MS,0,T,TASK_1MS,0,activate
-250000,TASK_1MS,0,SCHED,SCHED_Tasks_C1,-1,processactivate
-250100,TASK_1MS,0,STI,IR_SCHED_Tasks_C1,4,trigger
-250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-250100,TASK_10MS_DL2,0,R,FUNC_EXECTIME_1,0,suspend
-250100,Core_1,0,T,TASK_10MS_DL2,0,preempt
-250100,Core_1,0,C,Core_1,0,idle_execution
-250100,TASK_10MS_DL2,0,C,Core_1,0,idle_execution
-250100,Core_1,0,T,TASK_1MS,0,start
-250100,TASK_1MS,0,R,FUNC_EXECTIME_1,5,start
-250100,Core_1,0,C,Core_1,0,execute
-250100,TASK_1MS,0,C,Core_1,0,execute
-352625,TASK_WritingActuator,0,SEM,SEM_DataElement1,0,released,1
-352625,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-352625,TASK_WritingActuator,0,SCHED,SCHED_Tasks_C2,-1,schedulepoint
-352625,Core_2,0,C,Core_2,0,lock
-352675,TASK_WritingActuator,0,R,FUNC_SEMUNLOCK,0,terminate
-352675,Core_2,0,T,TASK_WritingActuator,0,terminate
-352675,TASK_WritingActuator,0,SCHED,SCHED_Tasks_C2,-1,processterminate
-352675,Core_2,0,C,Core_2,0,unlock
-352675,Core_2,0,C,Core_2,0,idle
-352675,TASK_WritingActuator,0,C,Core_2,0,idle
-352725,TASK_WritingActuator,0,STI,IR_SCHED_Tasks_C2,2,trigger
-352725,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-352725,Core_2,0,T,TASK_5MS,0,start
-352725,TASK_5MS,0,R,FUNC_EXECTIME_1,3,start
-352725,Core_2,0,C,Core_2,0,execute
-352725,TASK_5MS,0,C,Core_2,0,execute
-629300,TASK_1MS,0,R,FUNC_EXECTIME_1,5,terminate
-629300,Core_1,0,T,TASK_1MS,0,terminate
-629300,TASK_1MS,0,SCHED,SCHED_Tasks_C1,-1,processterminate
-629300,Core_1,0,C,Core_1,0,idle
-629300,TASK_1MS,0,C,Core_1,0,idle
-629400,TASK_1MS,0,STI,IR_SCHED_Tasks_C1,5,trigger
-629400,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-629400,Core_1,0,C,Core_1,0,execute_idle
-629400,TASK_10MS_DL2,0,C,Core_1,0,execute_idle
-629400,Core_1,0,T,TASK_10MS_DL2,0,resume
-629400,TASK_10MS_DL2,0,R,FUNC_EXECTIME_1,0,resume
-956750,TASK_5MS,0,R,FUNC_EXECTIME_1,3,terminate
-956750,Core_2,0,T,TASK_5MS,0,terminate
-956750,TASK_5MS,0,SCHED,SCHED_Tasks_C2,-1,processterminate
-956750,Core_2,0,C,Core_2,0,idle
-956750,TASK_5MS,0,C,Core_2,0,idle
-956850,TASK_5MS,0,STI,IR_SCHED_Tasks_C2,3,trigger
-956850,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-1034950,TASK_10MS_DL2,0,R,FUNC_EXECTIME_1,0,terminate
-1034950,Core_1,0,T,TASK_10MS_DL2,0,terminate
-1034950,TASK_10MS_DL2,0,SCHED,SCHED_Tasks_C1,-1,processterminate
-1034950,Core_1,0,C,Core_1,0,idle
-1034950,TASK_10MS_DL2,0,C,Core_1,0,idle
-1035050,TASK_10MS_DL2,0,STI,IR_SCHED_Tasks_C1,6,trigger
-1035050,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-1035050,Core_1,0,T,TASK_InputProcessing,0,start
-1035050,TASK_InputProcessing,0,R,FUNC_SEMLOCK,1,start
-1035050,Core_1,0,C,Core_1,0,execute
-1035050,TASK_InputProcessing,0,C,Core_1,0,execute
-1160050,TASK_InputProcessing,0,SEM,SEM_DataElement1,0,requestsemaphore,0
-1160050,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-1160050,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-1160050,Core_1,0,C,Core_1,0,lock
-1160050,TASK_InputProcessing,0,SEM,SEM_DataElement1,0,assigned,1
-1160100,TASK_InputProcessing,0,R,FUNC_SEMLOCK,1,terminate
-1160100,Core_1,0,C,Core_1,0,unlock
-1160100,TASK_InputProcessing,0,R,FUNC_ReadSensorData,0,start
-1250000,SIM,-1,STI,TIMER-1MS,1,trigger
-1250000,TIMER-1MS,1,T,TASK_1MS,1,activate
-1250000,TASK_1MS,1,SCHED,SCHED_Tasks_C1,-1,processactivate
-1250100,TASK_1MS,1,STI,IR_SCHED_Tasks_C1,7,trigger
-1250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-1325350,TASK_InputProcessing,0,SIG,SIG_RotationSpeed,0,read,0
-1325350,TASK_InputProcessing,0,SIG,SIG_Lambda,0,read,0
-1325350,TASK_InputProcessing,0,SIG,SIG_Temperature,0,read,0
-1325350,TASK_InputProcessing,0,R,FUNC_ReadSensorData,0,terminate
-1325350,TASK_InputProcessing,0,R,FUNC_SEMUNLOCK,1,start
-1525350,TASK_InputProcessing,0,SEM,SEM_DataElement1,0,released,1
-1525350,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-1525350,TASK_InputProcessing,0,SCHED,SCHED_Tasks_C1,-1,schedulepoint
-1525350,Core_1,0,C,Core_1,0,lock
-1525400,TASK_InputProcessing,0,R,FUNC_SEMUNLOCK,1,terminate
-1525400,Core_1,0,C,Core_1,0,unlock
-1525400,TASK_InputProcessing,0,STI,IPA_InputReady,0,trigger
-1525400,IPA_InputReady,0,T,TASK_CalcEngineSpeed,0,activate
-1525400,TASK_CalcEngineSpeed,0,SCHED,SCHED_Tasks_C2,-1,processactivate
-1525400,Core_1,0,T,TASK_InputProcessing,0,terminate
-1525400,TASK_InputProcessing,0,SCHED,SCHED_Tasks_C1,-1,processterminate
-1525400,Core_1,0,C,Core_1,0,idle
-1525400,TASK_InputProcessing,0,C,Core_1,0,idle
-1525450,TASK_InputProcessing,0,STI,IR_SCHED_Tasks_C1,8,trigger
-1525450,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-1525450,Core_1,0,T,TASK_1MS,1,start
-1525450,TASK_1MS,1,R,FUNC_EXECTIME_1,6,start
-1525450,Core_1,0,C,Core_1,0,execute
-1525450,TASK_1MS,1,C,Core_1,0,execute
-1525500,TASK_CalcEngineSpeed,0,STI,IR_SCHED_Tasks_C2,4,trigger
-1525500,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-1525500,Core_2,0,T,TASK_CalcEngineSpeed,0,start
-1525500,TASK_CalcEngineSpeed,0,R,FUNC_ENGINESPEED,0,start
-1525500,Core_2,0,C,Core_2,0,execute
-1525500,TASK_CalcEngineSpeed,0,C,Core_2,0,execute
-1736475,TASK_CalcEngineSpeed,0,R,FUNC_ENGINESPEED,0,terminate
-1736475,Core_2,0,T,TASK_CalcEngineSpeed,0,terminate
-1736475,TASK_CalcEngineSpeed,0,SCHED,SCHED_Tasks_C2,-1,processterminate
-1736475,Core_2,0,C,Core_2,0,idle
-1736475,TASK_CalcEngineSpeed,0,C,Core_2,0,idle
-1736575,TASK_CalcEngineSpeed,0,STI,IR_SCHED_Tasks_C2,5,trigger
-1736575,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-1980800,TASK_1MS,1,R,FUNC_EXECTIME_1,6,terminate
-1980800,Core_1,0,T,TASK_1MS,1,terminate
-1980800,TASK_1MS,1,SCHED,SCHED_Tasks_C1,-1,processterminate
-1980800,Core_1,0,C,Core_1,0,idle
-1980800,TASK_1MS,1,C,Core_1,0,idle
-1980900,TASK_1MS,1,STI,IR_SCHED_Tasks_C1,9,trigger
-1980900,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-1980900,Core_1,0,T,TASK_20MS,0,start
-1980900,TASK_20MS,0,R,FUNC_EXECTIME_1,2,start
-1980900,Core_1,0,C,Core_1,0,execute
-1980900,TASK_20MS,0,C,Core_1,0,execute
-2000000,SIM,-1,STI,TIMER-B_2ms,1,trigger
-2000000,TIMER-B_2ms,1,T,TASK_WritingActuator,1,activate
-2000000,TASK_WritingActuator,1,SCHED,SCHED_Tasks_C2,-1,processactivate
-2000000,SIM,-1,STI,TIMER-50MS,0,trigger
-2000000,TIMER-50MS,0,T,TASK_50MS,0,activate
-2000000,TASK_50MS,0,SCHED,SCHED_Tasks_C2,-1,processactivate
-2000100,TASK_WritingActuator,1,STI,IR_SCHED_Tasks_C2,6,trigger
-2000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-2000100,Core_2,0,T,TASK_WritingActuator,1,start
-2000100,TASK_WritingActuator,1,R,FUNC_SEMLOCK,2,start
-2000100,Core_2,0,C,Core_2,0,execute
-2000100,TASK_WritingActuator,1,C,Core_2,0,execute
-2100000,SIM,-1,STI,TIMER-5MS,1,trigger
-2100000,TIMER-5MS,1,T,TASK_5MS,1,activate
-2100000,TASK_5MS,1,SCHED,SCHED_Tasks_C2,-1,processactivate
-2100100,TASK_5MS,1,STI,IR_SCHED_Tasks_C2,7,trigger
-2100100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-2125100,TASK_WritingActuator,1,SEM,SEM_DataElement1,0,requestsemaphore,0
-2125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-2125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-2125100,Core_2,0,C,Core_2,0,lock
-2125100,TASK_WritingActuator,1,SEM,SEM_DataElement1,0,assigned,1
-2125150,TASK_WritingActuator,1,R,FUNC_SEMLOCK,2,terminate
-2125150,Core_2,0,C,Core_2,0,unlock
-2125150,TASK_WritingActuator,1,R,FUNC_WriteData,1,start
-2150000,SIM,-1,STI,TIMER-A_2ms,1,trigger
-2150000,TIMER-A_2ms,1,T,TASK_InputProcessing,1,activate
-2150000,TASK_InputProcessing,1,SCHED,SCHED_Tasks_C1,-1,processactivate
-2150100,TASK_InputProcessing,1,STI,IR_SCHED_Tasks_C1,10,trigger
-2150100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-2150100,TASK_20MS,0,R,FUNC_EXECTIME_1,2,suspend
-2150100,Core_1,0,T,TASK_20MS,0,preempt
-2150100,Core_1,0,C,Core_1,0,idle_execution
-2150100,TASK_20MS,0,C,Core_1,0,idle_execution
-2150100,Core_1,0,T,TASK_InputProcessing,1,start
-2150100,TASK_InputProcessing,1,R,FUNC_SEMLOCK,3,start
-2150100,Core_1,0,C,Core_1,0,execute
-2150100,TASK_InputProcessing,1,C,Core_1,0,execute
-2152400,TASK_WritingActuator,1,SIG,SIG_Mixture,0,write,0
-2152400,TASK_WritingActuator,1,R,FUNC_WriteData,1,terminate
-2152400,TASK_WritingActuator,1,R,FUNC_SEMUNLOCK,2,start
-2250000,SIM,-1,STI,TIMER-1MS,2,trigger
-2250000,TIMER-1MS,2,T,TASK_1MS,2,activate
-2250000,TASK_1MS,2,SCHED,SCHED_Tasks_C1,-1,processactivate
-2250100,TASK_1MS,2,STI,IR_SCHED_Tasks_C1,11,trigger
-2250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-2250100,TASK_InputProcessing,1,R,FUNC_SEMLOCK,3,suspend
-2250100,Core_1,0,T,TASK_InputProcessing,1,preempt
-2250100,Core_1,0,C,Core_1,0,idle_execution
-2250100,TASK_InputProcessing,1,C,Core_1,0,idle_execution
-2250100,Core_1,0,T,TASK_1MS,2,start
-2250100,TASK_1MS,2,R,FUNC_EXECTIME_1,8,start
-2250100,Core_1,0,C,Core_1,0,execute
-2250100,TASK_1MS,2,C,Core_1,0,execute
-2352400,TASK_WritingActuator,1,SEM,SEM_DataElement1,0,released,1
-2352400,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-2352400,TASK_WritingActuator,1,SCHED,SCHED_Tasks_C2,-1,schedulepoint
-2352400,Core_2,0,C,Core_2,0,lock
-2352450,TASK_WritingActuator,1,R,FUNC_SEMUNLOCK,2,terminate
-2352450,Core_2,0,T,TASK_WritingActuator,1,terminate
-2352450,TASK_WritingActuator,1,SCHED,SCHED_Tasks_C2,-1,processterminate
-2352450,Core_2,0,C,Core_2,0,unlock
-2352450,Core_2,0,C,Core_2,0,idle
-2352450,TASK_WritingActuator,1,C,Core_2,0,idle
-2352500,TASK_WritingActuator,1,STI,IR_SCHED_Tasks_C2,8,trigger
-2352500,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-2352500,Core_2,0,T,TASK_5MS,1,start
-2352500,TASK_5MS,1,R,FUNC_EXECTIME_1,7,start
-2352500,Core_2,0,C,Core_2,0,execute
-2352500,TASK_5MS,1,C,Core_2,0,execute
-2713425,TASK_1MS,2,R,FUNC_EXECTIME_1,8,terminate
-2713425,Core_1,0,T,TASK_1MS,2,terminate
-2713425,TASK_1MS,2,SCHED,SCHED_Tasks_C1,-1,processterminate
-2713425,Core_1,0,C,Core_1,0,idle
-2713425,TASK_1MS,2,C,Core_1,0,idle
-2713525,TASK_1MS,2,STI,IR_SCHED_Tasks_C1,12,trigger
-2713525,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-2713525,Core_1,0,C,Core_1,0,execute_idle
-2713525,TASK_InputProcessing,1,C,Core_1,0,execute_idle
-2713525,Core_1,0,T,TASK_InputProcessing,1,resume
-2713525,TASK_InputProcessing,1,R,FUNC_SEMLOCK,3,resume
-2738525,TASK_InputProcessing,1,SEM,SEM_DataElement1,0,requestsemaphore,0
-2738525,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-2738525,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-2738525,Core_1,0,C,Core_1,0,lock
-2738525,TASK_InputProcessing,1,SEM,SEM_DataElement1,0,assigned,1
-2738575,TASK_InputProcessing,1,R,FUNC_SEMLOCK,3,terminate
-2738575,Core_1,0,C,Core_1,0,unlock
-2738575,TASK_InputProcessing,1,R,FUNC_ReadSensorData,1,start
-2902525,TASK_InputProcessing,1,SIG,SIG_RotationSpeed,0,read,0
-2902525,TASK_InputProcessing,1,SIG,SIG_Lambda,0,read,0
-2902525,TASK_InputProcessing,1,SIG,SIG_Temperature,0,read,0
-2902525,TASK_InputProcessing,1,R,FUNC_ReadSensorData,1,terminate
-2902525,TASK_InputProcessing,1,R,FUNC_SEMUNLOCK,3,start
-2907300,TASK_5MS,1,R,FUNC_EXECTIME_1,7,terminate
-2907300,Core_2,0,T,TASK_5MS,1,terminate
-2907300,TASK_5MS,1,SCHED,SCHED_Tasks_C2,-1,processterminate
-2907300,Core_2,0,C,Core_2,0,idle
-2907300,TASK_5MS,1,C,Core_2,0,idle
-2907400,TASK_5MS,1,STI,IR_SCHED_Tasks_C2,9,trigger
-2907400,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-2907400,Core_2,0,T,TASK_50MS,0,start
-2907400,TASK_50MS,0,R,FUNC_EXECTIME_2,0,start
-2907400,Core_2,0,C,Core_2,0,execute
-2907400,TASK_50MS,0,C,Core_2,0,execute
-3102525,TASK_InputProcessing,1,SEM,SEM_DataElement1,0,released,1
-3102525,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-3102525,TASK_InputProcessing,1,SCHED,SCHED_Tasks_C1,-1,schedulepoint
-3102525,Core_1,0,C,Core_1,0,lock
-3102575,TASK_InputProcessing,1,R,FUNC_SEMUNLOCK,3,terminate
-3102575,Core_1,0,C,Core_1,0,unlock
-3102575,TASK_InputProcessing,1,STI,IPA_InputReady,1,trigger
-3102575,IPA_InputReady,1,T,TASK_CalcEngineSpeed,1,activate
-3102575,TASK_CalcEngineSpeed,1,SCHED,SCHED_Tasks_C2,-1,processactivate
-3102575,Core_1,0,T,TASK_InputProcessing,1,terminate
-3102575,TASK_InputProcessing,1,SCHED,SCHED_Tasks_C1,-1,processterminate
-3102575,Core_1,0,C,Core_1,0,idle
-3102575,TASK_InputProcessing,1,C,Core_1,0,idle
-3102625,TASK_InputProcessing,1,STI,IR_SCHED_Tasks_C1,13,trigger
-3102625,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-3102625,Core_1,0,C,Core_1,0,execute_idle
-3102625,TASK_20MS,0,C,Core_1,0,execute_idle
-3102625,Core_1,0,T,TASK_20MS,0,resume
-3102625,TASK_20MS,0,R,FUNC_EXECTIME_1,2,resume
-3102675,TASK_CalcEngineSpeed,1,STI,IR_SCHED_Tasks_C2,10,trigger
-3102675,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-3102675,TASK_50MS,0,R,FUNC_EXECTIME_2,0,suspend
-3102675,Core_2,0,T,TASK_50MS,0,preempt
-3102675,Core_2,0,C,Core_2,0,idle_execution
-3102675,TASK_50MS,0,C,Core_2,0,idle_execution
-3102675,Core_2,0,T,TASK_CalcEngineSpeed,1,start
-3102675,TASK_CalcEngineSpeed,1,R,FUNC_ENGINESPEED,1,start
-3102675,Core_2,0,C,Core_2,0,execute
-3102675,TASK_CalcEngineSpeed,1,C,Core_2,0,execute
-3227850,TASK_20MS,0,R,FUNC_EXECTIME_1,2,terminate
-3227850,Core_1,0,T,TASK_20MS,0,terminate
-3227850,TASK_20MS,0,SCHED,SCHED_Tasks_C1,-1,processterminate
-3227850,Core_1,0,C,Core_1,0,idle
-3227850,TASK_20MS,0,C,Core_1,0,idle
-3227950,TASK_CalcEngineSpeed,1,R,FUNC_ENGINESPEED,1,terminate
-3227950,Core_2,0,T,TASK_CalcEngineSpeed,1,terminate
-3227950,TASK_CalcEngineSpeed,1,SCHED,SCHED_Tasks_C2,-1,processterminate
-3227950,Core_2,0,C,Core_2,0,idle
-3227950,TASK_CalcEngineSpeed,1,C,Core_2,0,idle
-3227950,TASK_20MS,0,STI,IR_SCHED_Tasks_C1,14,trigger
-3227950,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-3227950,Core_1,0,T,TASK_100MS,0,start
-3227950,TASK_100MS,0,R,FUNC_EXECTIME_1,4,start
-3227950,Core_1,0,C,Core_1,0,execute
-3227950,TASK_100MS,0,C,Core_1,0,execute
-3228050,TASK_CalcEngineSpeed,1,STI,IR_SCHED_Tasks_C2,11,trigger
-3228050,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-3228050,Core_2,0,C,Core_2,0,execute_idle
-3228050,TASK_50MS,0,C,Core_2,0,execute_idle
-3228050,Core_2,0,T,TASK_50MS,0,resume
-3228050,TASK_50MS,0,R,FUNC_EXECTIME_2,0,resume
-3250000,SIM,-1,STI,TIMER-1MS,3,trigger
-3250000,TIMER-1MS,3,T,TASK_1MS,3,activate
-3250000,TASK_1MS,3,SCHED,SCHED_Tasks_C1,-1,processactivate
-3250100,TASK_1MS,3,STI,IR_SCHED_Tasks_C1,15,trigger
-3250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-3250100,TASK_100MS,0,R,FUNC_EXECTIME_1,4,suspend
-3250100,Core_1,0,T,TASK_100MS,0,preempt
-3250100,Core_1,0,C,Core_1,0,idle_execution
-3250100,TASK_100MS,0,C,Core_1,0,idle_execution
-3250100,Core_1,0,T,TASK_1MS,3,start
-3250100,TASK_1MS,3,R,FUNC_EXECTIME_1,9,start
-3250100,Core_1,0,C,Core_1,0,execute
-3250100,TASK_1MS,3,C,Core_1,0,execute
-3443500,TASK_50MS,0,R,FUNC_EXECTIME_2,0,terminate
-3443500,Core_2,0,T,TASK_50MS,0,terminate
-3443500,TASK_50MS,0,SCHED,SCHED_Tasks_C2,-1,processterminate
-3443500,Core_2,0,C,Core_2,0,idle
-3443500,TASK_50MS,0,C,Core_2,0,idle
-3443600,TASK_50MS,0,STI,IR_SCHED_Tasks_C2,12,trigger
-3443600,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-3731225,TASK_1MS,3,R,FUNC_EXECTIME_1,9,terminate
-3731225,Core_1,0,T,TASK_1MS,3,terminate
-3731225,TASK_1MS,3,SCHED,SCHED_Tasks_C1,-1,processterminate
-3731225,Core_1,0,C,Core_1,0,idle
-3731225,TASK_1MS,3,C,Core_1,0,idle
-3731325,TASK_1MS,3,STI,IR_SCHED_Tasks_C1,16,trigger
-3731325,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-3731325,Core_1,0,C,Core_1,0,execute_idle
-3731325,TASK_100MS,0,C,Core_1,0,execute_idle
-3731325,Core_1,0,T,TASK_100MS,0,resume
-3731325,TASK_100MS,0,R,FUNC_EXECTIME_1,4,resume
-4000000,SIM,-1,STI,TIMER-B_2ms,2,trigger
-4000000,TIMER-B_2ms,2,T,TASK_WritingActuator,2,activate
-4000000,TASK_WritingActuator,2,SCHED,SCHED_Tasks_C2,-1,processactivate
-4000100,TASK_WritingActuator,2,STI,IR_SCHED_Tasks_C2,13,trigger
-4000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-4000100,Core_2,0,T,TASK_WritingActuator,2,start
-4000100,TASK_WritingActuator,2,R,FUNC_SEMLOCK,4,start
-4000100,Core_2,0,C,Core_2,0,execute
-4000100,TASK_WritingActuator,2,C,Core_2,0,execute
-4100000,SIM,-1,STI,TIMER-5MS,2,trigger
-4100000,TIMER-5MS,2,T,TASK_5MS,2,activate
-4100000,TASK_5MS,2,SCHED,SCHED_Tasks_C2,-1,processactivate
-4100100,TASK_5MS,2,STI,IR_SCHED_Tasks_C2,14,trigger
-4100100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-4125100,TASK_WritingActuator,2,SEM,SEM_DataElement1,0,requestsemaphore,0
-4125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-4125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-4125100,Core_2,0,C,Core_2,0,lock
-4125100,TASK_WritingActuator,2,SEM,SEM_DataElement1,0,assigned,1
-4125150,TASK_WritingActuator,2,R,FUNC_SEMLOCK,4,terminate
-4125150,Core_2,0,C,Core_2,0,unlock
-4125150,TASK_WritingActuator,2,R,FUNC_WriteData,2,start
-4150000,SIM,-1,STI,TIMER-A_2ms,2,trigger
-4150000,TIMER-A_2ms,2,T,TASK_InputProcessing,2,activate
-4150000,TASK_InputProcessing,2,SCHED,SCHED_Tasks_C1,-1,processactivate
-4150100,TASK_InputProcessing,2,STI,IR_SCHED_Tasks_C1,17,trigger
-4150100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-4150100,TASK_100MS,0,R,FUNC_EXECTIME_1,4,suspend
-4150100,Core_1,0,T,TASK_100MS,0,preempt
-4150100,Core_1,0,C,Core_1,0,idle_execution
-4150100,TASK_100MS,0,C,Core_1,0,idle_execution
-4150100,Core_1,0,T,TASK_InputProcessing,2,start
-4150100,TASK_InputProcessing,2,R,FUNC_SEMLOCK,5,start
-4150100,Core_1,0,C,Core_1,0,execute
-4150100,TASK_InputProcessing,2,C,Core_1,0,execute
-4152100,TASK_WritingActuator,2,SIG,SIG_Mixture,0,write,0
-4152100,TASK_WritingActuator,2,R,FUNC_WriteData,2,terminate
-4152100,TASK_WritingActuator,2,R,FUNC_SEMUNLOCK,4,start
-4250000,SIM,-1,STI,TIMER-1MS,4,trigger
-4250000,TIMER-1MS,4,T,TASK_1MS,4,activate
-4250000,TASK_1MS,4,SCHED,SCHED_Tasks_C1,-1,processactivate
-4250100,TASK_1MS,4,STI,IR_SCHED_Tasks_C1,18,trigger
-4250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-4250100,TASK_InputProcessing,2,R,FUNC_SEMLOCK,5,suspend
-4250100,Core_1,0,T,TASK_InputProcessing,2,preempt
-4250100,Core_1,0,C,Core_1,0,idle_execution
-4250100,TASK_InputProcessing,2,C,Core_1,0,idle_execution
-4250100,Core_1,0,T,TASK_1MS,4,start
-4250100,TASK_1MS,4,R,FUNC_EXECTIME_1,11,start
-4250100,Core_1,0,C,Core_1,0,execute
-4250100,TASK_1MS,4,C,Core_1,0,execute
-4352100,TASK_WritingActuator,2,SEM,SEM_DataElement1,0,released,1
-4352100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-4352100,TASK_WritingActuator,2,SCHED,SCHED_Tasks_C2,-1,schedulepoint
-4352100,Core_2,0,C,Core_2,0,lock
-4352150,TASK_WritingActuator,2,R,FUNC_SEMUNLOCK,4,terminate
-4352150,Core_2,0,T,TASK_WritingActuator,2,terminate
-4352150,TASK_WritingActuator,2,SCHED,SCHED_Tasks_C2,-1,processterminate
-4352150,Core_2,0,C,Core_2,0,unlock
-4352150,Core_2,0,C,Core_2,0,idle
-4352150,TASK_WritingActuator,2,C,Core_2,0,idle
-4352200,TASK_WritingActuator,2,STI,IR_SCHED_Tasks_C2,15,trigger
-4352200,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-4352200,Core_2,0,T,TASK_5MS,2,start
-4352200,TASK_5MS,2,R,FUNC_EXECTIME_1,10,start
-4352200,Core_2,0,C,Core_2,0,execute
-4352200,TASK_5MS,2,C,Core_2,0,execute
-4962900,TASK_5MS,2,R,FUNC_EXECTIME_1,10,terminate
-4962900,Core_2,0,T,TASK_5MS,2,terminate
-4962900,TASK_5MS,2,SCHED,SCHED_Tasks_C2,-1,processterminate
-4962900,Core_2,0,C,Core_2,0,idle
-4962900,TASK_5MS,2,C,Core_2,0,idle
-4963000,TASK_5MS,2,STI,IR_SCHED_Tasks_C2,16,trigger
-4963000,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-5000000,SIM,-1,STI,TIMER-10MS,0,trigger
-5000000,TIMER-10MS,0,T,TASK_10MS,0,activate
-5000000,TASK_10MS,0,SCHED,SCHED_Tasks_C2,-1,processactivate
-5000100,TASK_10MS,0,STI,IR_SCHED_Tasks_C2,17,trigger
-5000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-5000100,Core_2,0,T,TASK_10MS,0,start
-5000100,TASK_10MS,0,R,FUNC_EXECTIME_1,12,start
-5000100,Core_2,0,C,Core_2,0,execute
-5000100,TASK_10MS,0,C,Core_2,0,execute
-5113075,TASK_1MS,4,R,FUNC_EXECTIME_1,11,terminate
-5113075,Core_1,0,T,TASK_1MS,4,terminate
-5113075,TASK_1MS,4,SCHED,SCHED_Tasks_C1,-1,processterminate
-5113075,Core_1,0,C,Core_1,0,idle
-5113075,TASK_1MS,4,C,Core_1,0,idle
-5113175,TASK_1MS,4,STI,IR_SCHED_Tasks_C1,19,trigger
-5113175,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-5113175,Core_1,0,C,Core_1,0,execute_idle
-5113175,TASK_InputProcessing,2,C,Core_1,0,execute_idle
-5113175,Core_1,0,T,TASK_InputProcessing,2,resume
-5113175,TASK_InputProcessing,2,R,FUNC_SEMLOCK,5,resume
-5138175,TASK_InputProcessing,2,SEM,SEM_DataElement1,0,requestsemaphore,0
-5138175,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-5138175,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-5138175,Core_1,0,C,Core_1,0,lock
-5138175,TASK_InputProcessing,2,SEM,SEM_DataElement1,0,assigned,1
-5138225,TASK_InputProcessing,2,R,FUNC_SEMLOCK,5,terminate
-5138225,Core_1,0,C,Core_1,0,unlock
-5138225,TASK_InputProcessing,2,R,FUNC_ReadSensorData,2,start
-5250000,SIM,-1,STI,TIMER-1MS,5,trigger
-5250000,TIMER-1MS,5,T,TASK_1MS,5,activate
-5250000,TASK_1MS,5,SCHED,SCHED_Tasks_C1,-1,processactivate
-5250100,TASK_1MS,5,STI,IR_SCHED_Tasks_C1,20,trigger
-5250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-5298725,TASK_InputProcessing,2,SIG,SIG_RotationSpeed,0,read,0
-5298725,TASK_InputProcessing,2,SIG,SIG_Lambda,0,read,0
-5298725,TASK_InputProcessing,2,SIG,SIG_Temperature,0,read,0
-5298725,TASK_InputProcessing,2,R,FUNC_ReadSensorData,2,terminate
-5298725,TASK_InputProcessing,2,R,FUNC_SEMUNLOCK,5,start
-5498725,TASK_InputProcessing,2,SEM,SEM_DataElement1,0,released,1
-5498725,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-5498725,TASK_InputProcessing,2,SCHED,SCHED_Tasks_C1,-1,schedulepoint
-5498725,Core_1,0,C,Core_1,0,lock
-5498775,TASK_InputProcessing,2,R,FUNC_SEMUNLOCK,5,terminate
-5498775,Core_1,0,C,Core_1,0,unlock
-5498775,TASK_InputProcessing,2,STI,IPA_InputReady,2,trigger
-5498775,IPA_InputReady,2,T,TASK_CalcEngineSpeed,2,activate
-5498775,TASK_CalcEngineSpeed,2,SCHED,SCHED_Tasks_C2,-1,processactivate
-5498775,Core_1,0,T,TASK_InputProcessing,2,terminate
-5498775,TASK_InputProcessing,2,SCHED,SCHED_Tasks_C1,-1,processterminate
-5498775,Core_1,0,C,Core_1,0,idle
-5498775,TASK_InputProcessing,2,C,Core_1,0,idle
-5498825,TASK_InputProcessing,2,STI,IR_SCHED_Tasks_C1,21,trigger
-5498825,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-5498825,Core_1,0,T,TASK_1MS,5,start
-5498825,TASK_1MS,5,R,FUNC_EXECTIME_1,13,start
-5498825,Core_1,0,C,Core_1,0,execute
-5498825,TASK_1MS,5,C,Core_1,0,execute
-5498875,TASK_CalcEngineSpeed,2,STI,IR_SCHED_Tasks_C2,18,trigger
-5498875,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-5498875,TASK_10MS,0,R,FUNC_EXECTIME_1,12,suspend
-5498875,Core_2,0,T,TASK_10MS,0,preempt
-5498875,Core_2,0,C,Core_2,0,idle_execution
-5498875,TASK_10MS,0,C,Core_2,0,idle_execution
-5498875,Core_2,0,T,TASK_CalcEngineSpeed,2,start
-5498875,TASK_CalcEngineSpeed,2,R,FUNC_ENGINESPEED,2,start
-5498875,Core_2,0,C,Core_2,0,execute
-5498875,TASK_CalcEngineSpeed,2,C,Core_2,0,execute
-5740425,TASK_CalcEngineSpeed,2,R,FUNC_ENGINESPEED,2,terminate
-5740425,Core_2,0,T,TASK_CalcEngineSpeed,2,terminate
-5740425,TASK_CalcEngineSpeed,2,SCHED,SCHED_Tasks_C2,-1,processterminate
-5740425,Core_2,0,C,Core_2,0,idle
-5740425,TASK_CalcEngineSpeed,2,C,Core_2,0,idle
-5740525,TASK_CalcEngineSpeed,2,STI,IR_SCHED_Tasks_C2,19,trigger
-5740525,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-5740525,Core_2,0,C,Core_2,0,execute_idle
-5740525,TASK_10MS,0,C,Core_2,0,execute_idle
-5740525,Core_2,0,T,TASK_10MS,0,resume
-5740525,TASK_10MS,0,R,FUNC_EXECTIME_1,12,resume
-5787275,TASK_10MS,0,R,FUNC_EXECTIME_1,12,terminate
-5787275,Core_2,0,T,TASK_10MS,0,terminate
-5787275,TASK_10MS,0,SCHED,SCHED_Tasks_C2,-1,processterminate
-5787275,Core_2,0,C,Core_2,0,idle
-5787275,TASK_10MS,0,C,Core_2,0,idle
-5787375,TASK_10MS,0,STI,IR_SCHED_Tasks_C2,20,trigger
-5787375,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-6000000,SIM,-1,STI,TIMER-B_2ms,3,trigger
-6000000,TIMER-B_2ms,3,T,TASK_WritingActuator,3,activate
-6000000,TASK_WritingActuator,3,SCHED,SCHED_Tasks_C2,-1,processactivate
-6000100,TASK_WritingActuator,3,STI,IR_SCHED_Tasks_C2,21,trigger
-6000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-6000100,Core_2,0,T,TASK_WritingActuator,3,start
-6000100,TASK_WritingActuator,3,R,FUNC_SEMLOCK,6,start
-6000100,Core_2,0,C,Core_2,0,execute
-6000100,TASK_WritingActuator,3,C,Core_2,0,execute
-6100000,SIM,-1,STI,TIMER-5MS,3,trigger
-6100000,TIMER-5MS,3,T,TASK_5MS,3,activate
-6100000,TASK_5MS,3,SCHED,SCHED_Tasks_C2,-1,processactivate
-6100100,TASK_5MS,3,STI,IR_SCHED_Tasks_C2,22,trigger
-6100100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-6125100,TASK_WritingActuator,3,SEM,SEM_DataElement1,0,requestsemaphore,0
-6125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-6125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-6125100,Core_2,0,C,Core_2,0,lock
-6125100,TASK_WritingActuator,3,SEM,SEM_DataElement1,0,assigned,1
-6125150,TASK_WritingActuator,3,R,FUNC_SEMLOCK,6,terminate
-6125150,Core_2,0,C,Core_2,0,unlock
-6125150,TASK_WritingActuator,3,R,FUNC_WriteData,3,start
-6129200,TASK_1MS,5,R,FUNC_EXECTIME_1,13,terminate
-6129200,Core_1,0,T,TASK_1MS,5,terminate
-6129200,TASK_1MS,5,SCHED,SCHED_Tasks_C1,-1,processterminate
-6129200,Core_1,0,C,Core_1,0,idle
-6129200,TASK_1MS,5,C,Core_1,0,idle
-6129300,TASK_1MS,5,STI,IR_SCHED_Tasks_C1,22,trigger
-6129300,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-6129300,Core_1,0,C,Core_1,0,execute_idle
-6129300,TASK_100MS,0,C,Core_1,0,execute_idle
-6129300,Core_1,0,T,TASK_100MS,0,resume
-6129300,TASK_100MS,0,R,FUNC_EXECTIME_1,4,resume
-6150000,SIM,-1,STI,TIMER-A_2ms,3,trigger
-6150000,TIMER-A_2ms,3,T,TASK_InputProcessing,3,activate
-6150000,TASK_InputProcessing,3,SCHED,SCHED_Tasks_C1,-1,processactivate
-6150100,TASK_InputProcessing,3,STI,IR_SCHED_Tasks_C1,23,trigger
-6150100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-6150100,TASK_100MS,0,R,FUNC_EXECTIME_1,4,suspend
-6150100,Core_1,0,T,TASK_100MS,0,preempt
-6150100,Core_1,0,C,Core_1,0,idle_execution
-6150100,TASK_100MS,0,C,Core_1,0,idle_execution
-6150100,Core_1,0,T,TASK_InputProcessing,3,start
-6150100,TASK_InputProcessing,3,R,FUNC_SEMLOCK,7,start
-6150100,Core_1,0,C,Core_1,0,execute
-6150100,TASK_InputProcessing,3,C,Core_1,0,execute
-6152250,TASK_WritingActuator,3,SIG,SIG_Mixture,0,write,0
-6152250,TASK_WritingActuator,3,R,FUNC_WriteData,3,terminate
-6152250,TASK_WritingActuator,3,R,FUNC_SEMUNLOCK,6,start
-6250000,SIM,-1,STI,TIMER-1MS,6,trigger
-6250000,TIMER-1MS,6,T,TASK_1MS,6,activate
-6250000,TASK_1MS,6,SCHED,SCHED_Tasks_C1,-1,processactivate
-6250100,TASK_1MS,6,STI,IR_SCHED_Tasks_C1,24,trigger
-6250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-6250100,TASK_InputProcessing,3,R,FUNC_SEMLOCK,7,suspend
-6250100,Core_1,0,T,TASK_InputProcessing,3,preempt
-6250100,Core_1,0,C,Core_1,0,idle_execution
-6250100,TASK_InputProcessing,3,C,Core_1,0,idle_execution
-6250100,Core_1,0,T,TASK_1MS,6,start
-6250100,TASK_1MS,6,R,FUNC_EXECTIME_1,15,start
-6250100,Core_1,0,C,Core_1,0,execute
-6250100,TASK_1MS,6,C,Core_1,0,execute
-6352250,TASK_WritingActuator,3,SEM,SEM_DataElement1,0,released,1
-6352250,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-6352250,TASK_WritingActuator,3,SCHED,SCHED_Tasks_C2,-1,schedulepoint
-6352250,Core_2,0,C,Core_2,0,lock
-6352300,TASK_WritingActuator,3,R,FUNC_SEMUNLOCK,6,terminate
-6352300,Core_2,0,T,TASK_WritingActuator,3,terminate
-6352300,TASK_WritingActuator,3,SCHED,SCHED_Tasks_C2,-1,processterminate
-6352300,Core_2,0,C,Core_2,0,unlock
-6352300,Core_2,0,C,Core_2,0,idle
-6352300,TASK_WritingActuator,3,C,Core_2,0,idle
-6352350,TASK_WritingActuator,3,STI,IR_SCHED_Tasks_C2,23,trigger
-6352350,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-6352350,Core_2,0,T,TASK_5MS,3,start
-6352350,TASK_5MS,3,R,FUNC_EXECTIME_1,14,start
-6352350,Core_2,0,C,Core_2,0,execute
-6352350,TASK_5MS,3,C,Core_2,0,execute
-6670600,TASK_5MS,3,R,FUNC_EXECTIME_1,14,terminate
-6670600,Core_2,0,T,TASK_5MS,3,terminate
-6670600,TASK_5MS,3,SCHED,SCHED_Tasks_C2,-1,processterminate
-6670600,Core_2,0,C,Core_2,0,idle
-6670600,TASK_5MS,3,C,Core_2,0,idle
-6670700,TASK_5MS,3,STI,IR_SCHED_Tasks_C2,24,trigger
-6670700,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-6721825,TASK_1MS,6,R,FUNC_EXECTIME_1,15,terminate
-6721825,Core_1,0,T,TASK_1MS,6,terminate
-6721825,TASK_1MS,6,SCHED,SCHED_Tasks_C1,-1,processterminate
-6721825,Core_1,0,C,Core_1,0,idle
-6721825,TASK_1MS,6,C,Core_1,0,idle
-6721925,TASK_1MS,6,STI,IR_SCHED_Tasks_C1,25,trigger
-6721925,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-6721925,Core_1,0,C,Core_1,0,execute_idle
-6721925,TASK_InputProcessing,3,C,Core_1,0,execute_idle
-6721925,Core_1,0,T,TASK_InputProcessing,3,resume
-6721925,TASK_InputProcessing,3,R,FUNC_SEMLOCK,7,resume
-6746925,TASK_InputProcessing,3,SEM,SEM_DataElement1,0,requestsemaphore,0
-6746925,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-6746925,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-6746925,Core_1,0,C,Core_1,0,lock
-6746925,TASK_InputProcessing,3,SEM,SEM_DataElement1,0,assigned,1
-6746975,TASK_InputProcessing,3,R,FUNC_SEMLOCK,7,terminate
-6746975,Core_1,0,C,Core_1,0,unlock
-6746975,TASK_InputProcessing,3,R,FUNC_ReadSensorData,3,start
-6910125,TASK_InputProcessing,3,SIG,SIG_RotationSpeed,0,read,0
-6910125,TASK_InputProcessing,3,SIG,SIG_Lambda,0,read,0
-6910125,TASK_InputProcessing,3,SIG,SIG_Temperature,0,read,0
-6910125,TASK_InputProcessing,3,R,FUNC_ReadSensorData,3,terminate
-6910125,TASK_InputProcessing,3,R,FUNC_SEMUNLOCK,7,start
-7110125,TASK_InputProcessing,3,SEM,SEM_DataElement1,0,released,1
-7110125,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-7110125,TASK_InputProcessing,3,SCHED,SCHED_Tasks_C1,-1,schedulepoint
-7110125,Core_1,0,C,Core_1,0,lock
-7110175,TASK_InputProcessing,3,R,FUNC_SEMUNLOCK,7,terminate
-7110175,Core_1,0,C,Core_1,0,unlock
-7110175,TASK_InputProcessing,3,STI,IPA_InputReady,3,trigger
-7110175,IPA_InputReady,3,T,TASK_CalcEngineSpeed,3,activate
-7110175,TASK_CalcEngineSpeed,3,SCHED,SCHED_Tasks_C2,-1,processactivate
-7110175,Core_1,0,T,TASK_InputProcessing,3,terminate
-7110175,TASK_InputProcessing,3,SCHED,SCHED_Tasks_C1,-1,processterminate
-7110175,Core_1,0,C,Core_1,0,idle
-7110175,TASK_InputProcessing,3,C,Core_1,0,idle
-7110225,TASK_InputProcessing,3,STI,IR_SCHED_Tasks_C1,26,trigger
-7110225,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-7110225,Core_1,0,C,Core_1,0,execute_idle
-7110225,TASK_100MS,0,C,Core_1,0,execute_idle
-7110225,Core_1,0,T,TASK_100MS,0,resume
-7110225,TASK_100MS,0,R,FUNC_EXECTIME_1,4,resume
-7110275,TASK_CalcEngineSpeed,3,STI,IR_SCHED_Tasks_C2,25,trigger
-7110275,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-7110275,Core_2,0,T,TASK_CalcEngineSpeed,3,start
-7110275,TASK_CalcEngineSpeed,3,R,FUNC_ENGINESPEED,3,start
-7110275,Core_2,0,C,Core_2,0,execute
-7110275,TASK_CalcEngineSpeed,3,C,Core_2,0,execute
-7125750,TASK_100MS,0,R,FUNC_EXECTIME_1,4,terminate
-7125750,Core_1,0,T,TASK_100MS,0,terminate
-7125750,TASK_100MS,0,SCHED,SCHED_Tasks_C1,-1,processterminate
-7125750,Core_1,0,C,Core_1,0,idle
-7125750,TASK_100MS,0,C,Core_1,0,idle
-7125850,TASK_100MS,0,STI,IR_SCHED_Tasks_C1,27,trigger
-7125850,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-7125850,Core_1,0,T,TASK_200MS,0,start
-7125850,TASK_200MS,0,R,FUNC_EXECTIME_1,1,start
-7125850,Core_1,0,C,Core_1,0,execute
-7125850,TASK_200MS,0,C,Core_1,0,execute
-7250000,SIM,-1,STI,TIMER-1MS,7,trigger
-7250000,TIMER-1MS,7,T,TASK_1MS,7,activate
-7250000,TASK_1MS,7,SCHED,SCHED_Tasks_C1,-1,processactivate
-7250100,TASK_1MS,7,STI,IR_SCHED_Tasks_C1,28,trigger
-7250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-7250100,TASK_200MS,0,R,FUNC_EXECTIME_1,1,suspend
-7250100,Core_1,0,T,TASK_200MS,0,preempt
-7250100,Core_1,0,C,Core_1,0,idle_execution
-7250100,TASK_200MS,0,C,Core_1,0,idle_execution
-7250100,Core_1,0,T,TASK_1MS,7,start
-7250100,TASK_1MS,7,R,FUNC_EXECTIME_1,16,start
-7250100,Core_1,0,C,Core_1,0,execute
-7250100,TASK_1MS,7,C,Core_1,0,execute
-7294350,TASK_CalcEngineSpeed,3,R,FUNC_ENGINESPEED,3,terminate
-7294350,Core_2,0,T,TASK_CalcEngineSpeed,3,terminate
-7294350,TASK_CalcEngineSpeed,3,SCHED,SCHED_Tasks_C2,-1,processterminate
-7294350,Core_2,0,C,Core_2,0,idle
-7294350,TASK_CalcEngineSpeed,3,C,Core_2,0,idle
-7294450,TASK_CalcEngineSpeed,3,STI,IR_SCHED_Tasks_C2,26,trigger
-7294450,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-7889650,TASK_1MS,7,R,FUNC_EXECTIME_1,16,terminate
-7889650,Core_1,0,T,TASK_1MS,7,terminate
-7889650,TASK_1MS,7,SCHED,SCHED_Tasks_C1,-1,processterminate
-7889650,Core_1,0,C,Core_1,0,idle
-7889650,TASK_1MS,7,C,Core_1,0,idle
-7889750,TASK_1MS,7,STI,IR_SCHED_Tasks_C1,29,trigger
-7889750,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-7889750,Core_1,0,C,Core_1,0,execute_idle
-7889750,TASK_200MS,0,C,Core_1,0,execute_idle
-7889750,Core_1,0,T,TASK_200MS,0,resume
-7889750,TASK_200MS,0,R,FUNC_EXECTIME_1,1,resume
-8000000,SIM,-1,STI,TIMER-B_2ms,4,trigger
-8000000,TIMER-B_2ms,4,T,TASK_WritingActuator,4,activate
-8000000,TASK_WritingActuator,4,SCHED,SCHED_Tasks_C2,-1,processactivate
-8000100,TASK_WritingActuator,4,STI,IR_SCHED_Tasks_C2,27,trigger
-8000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-8000100,Core_2,0,T,TASK_WritingActuator,4,start
-8000100,TASK_WritingActuator,4,R,FUNC_SEMLOCK,8,start
-8000100,Core_2,0,C,Core_2,0,execute
-8000100,TASK_WritingActuator,4,C,Core_2,0,execute
-8100000,SIM,-1,STI,TIMER-5MS,4,trigger
-8100000,TIMER-5MS,4,T,TASK_5MS,4,activate
-8100000,TASK_5MS,4,SCHED,SCHED_Tasks_C2,-1,processactivate
-8100100,TASK_5MS,4,STI,IR_SCHED_Tasks_C2,28,trigger
-8100100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-8125100,TASK_WritingActuator,4,SEM,SEM_DataElement1,0,requestsemaphore,0
-8125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-8125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-8125100,Core_2,0,C,Core_2,0,lock
-8125100,TASK_WritingActuator,4,SEM,SEM_DataElement1,0,assigned,1
-8125150,TASK_WritingActuator,4,R,FUNC_SEMLOCK,8,terminate
-8125150,Core_2,0,C,Core_2,0,unlock
-8125150,TASK_WritingActuator,4,R,FUNC_WriteData,4,start
-8150000,SIM,-1,STI,TIMER-A_2ms,4,trigger
-8150000,TIMER-A_2ms,4,T,TASK_InputProcessing,4,activate
-8150000,TASK_InputProcessing,4,SCHED,SCHED_Tasks_C1,-1,processactivate
-8150100,TASK_InputProcessing,4,STI,IR_SCHED_Tasks_C1,30,trigger
-8150100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-8150100,TASK_200MS,0,R,FUNC_EXECTIME_1,1,suspend
-8150100,Core_1,0,T,TASK_200MS,0,preempt
-8150100,Core_1,0,C,Core_1,0,idle_execution
-8150100,TASK_200MS,0,C,Core_1,0,idle_execution
-8150100,Core_1,0,T,TASK_InputProcessing,4,start
-8150100,TASK_InputProcessing,4,R,FUNC_SEMLOCK,9,start
-8150100,Core_1,0,C,Core_1,0,execute
-8150100,TASK_InputProcessing,4,C,Core_1,0,execute
-8152000,TASK_WritingActuator,4,SIG,SIG_Mixture,0,write,0
-8152000,TASK_WritingActuator,4,R,FUNC_WriteData,4,terminate
-8152000,TASK_WritingActuator,4,R,FUNC_SEMUNLOCK,8,start
-8250000,SIM,-1,STI,TIMER-1MS,8,trigger
-8250000,TIMER-1MS,8,T,TASK_1MS,8,activate
-8250000,TASK_1MS,8,SCHED,SCHED_Tasks_C1,-1,processactivate
-8250100,TASK_1MS,8,STI,IR_SCHED_Tasks_C1,31,trigger
-8250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-8250100,TASK_InputProcessing,4,R,FUNC_SEMLOCK,9,suspend
-8250100,Core_1,0,T,TASK_InputProcessing,4,preempt
-8250100,Core_1,0,C,Core_1,0,idle_execution
-8250100,TASK_InputProcessing,4,C,Core_1,0,idle_execution
-8250100,Core_1,0,T,TASK_1MS,8,start
-8250100,TASK_1MS,8,R,FUNC_EXECTIME_1,18,start
-8250100,Core_1,0,C,Core_1,0,execute
-8250100,TASK_1MS,8,C,Core_1,0,execute
-8352000,TASK_WritingActuator,4,SEM,SEM_DataElement1,0,released,1
-8352000,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-8352000,TASK_WritingActuator,4,SCHED,SCHED_Tasks_C2,-1,schedulepoint
-8352000,Core_2,0,C,Core_2,0,lock
-8352050,TASK_WritingActuator,4,R,FUNC_SEMUNLOCK,8,terminate
-8352050,Core_2,0,T,TASK_WritingActuator,4,terminate
-8352050,TASK_WritingActuator,4,SCHED,SCHED_Tasks_C2,-1,processterminate
-8352050,Core_2,0,C,Core_2,0,unlock
-8352050,Core_2,0,C,Core_2,0,idle
-8352050,TASK_WritingActuator,4,C,Core_2,0,idle
-8352100,TASK_WritingActuator,4,STI,IR_SCHED_Tasks_C2,29,trigger
-8352100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-8352100,Core_2,0,T,TASK_5MS,4,start
-8352100,TASK_5MS,4,R,FUNC_EXECTIME_1,17,start
-8352100,Core_2,0,C,Core_2,0,execute
-8352100,TASK_5MS,4,C,Core_2,0,execute
-8664675,TASK_1MS,8,R,FUNC_EXECTIME_1,18,terminate
-8664675,Core_1,0,T,TASK_1MS,8,terminate
-8664675,TASK_1MS,8,SCHED,SCHED_Tasks_C1,-1,processterminate
-8664675,Core_1,0,C,Core_1,0,idle
-8664675,TASK_1MS,8,C,Core_1,0,idle
-8664775,TASK_1MS,8,STI,IR_SCHED_Tasks_C1,32,trigger
-8664775,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-8664775,Core_1,0,C,Core_1,0,execute_idle
-8664775,TASK_InputProcessing,4,C,Core_1,0,execute_idle
-8664775,Core_1,0,T,TASK_InputProcessing,4,resume
-8664775,TASK_InputProcessing,4,R,FUNC_SEMLOCK,9,resume
-8689775,TASK_InputProcessing,4,SEM,SEM_DataElement1,0,requestsemaphore,0
-8689775,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-8689775,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-8689775,Core_1,0,C,Core_1,0,lock
-8689775,TASK_InputProcessing,4,SEM,SEM_DataElement1,0,assigned,1
-8689825,TASK_InputProcessing,4,R,FUNC_SEMLOCK,9,terminate
-8689825,Core_1,0,C,Core_1,0,unlock
-8689825,TASK_InputProcessing,4,R,FUNC_ReadSensorData,4,start
-8848600,TASK_InputProcessing,4,SIG,SIG_RotationSpeed,0,read,0
-8848600,TASK_InputProcessing,4,SIG,SIG_Lambda,0,read,0
-8848600,TASK_InputProcessing,4,SIG,SIG_Temperature,0,read,0
-8848600,TASK_InputProcessing,4,R,FUNC_ReadSensorData,4,terminate
-8848600,TASK_InputProcessing,4,R,FUNC_SEMUNLOCK,9,start
-9048600,TASK_InputProcessing,4,SEM,SEM_DataElement1,0,released,1
-9048600,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-9048600,TASK_InputProcessing,4,SCHED,SCHED_Tasks_C1,-1,schedulepoint
-9048600,Core_1,0,C,Core_1,0,lock
-9048650,TASK_InputProcessing,4,R,FUNC_SEMUNLOCK,9,terminate
-9048650,Core_1,0,C,Core_1,0,unlock
-9048650,TASK_InputProcessing,4,STI,IPA_InputReady,4,trigger
-9048650,IPA_InputReady,4,T,TASK_CalcEngineSpeed,4,activate
-9048650,TASK_CalcEngineSpeed,4,SCHED,SCHED_Tasks_C2,-1,processactivate
-9048650,Core_1,0,T,TASK_InputProcessing,4,terminate
-9048650,TASK_InputProcessing,4,SCHED,SCHED_Tasks_C1,-1,processterminate
-9048650,Core_1,0,C,Core_1,0,idle
-9048650,TASK_InputProcessing,4,C,Core_1,0,idle
-9048700,TASK_InputProcessing,4,STI,IR_SCHED_Tasks_C1,33,trigger
-9048700,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-9048700,Core_1,0,C,Core_1,0,execute_idle
-9048700,TASK_200MS,0,C,Core_1,0,execute_idle
-9048700,Core_1,0,T,TASK_200MS,0,resume
-9048700,TASK_200MS,0,R,FUNC_EXECTIME_1,1,resume
-9048750,TASK_CalcEngineSpeed,4,STI,IR_SCHED_Tasks_C2,30,trigger
-9048750,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-9048750,TASK_5MS,4,R,FUNC_EXECTIME_1,17,suspend
-9048750,Core_2,0,T,TASK_5MS,4,preempt
-9048750,Core_2,0,C,Core_2,0,idle_execution
-9048750,TASK_5MS,4,C,Core_2,0,idle_execution
-9048750,Core_2,0,T,TASK_CalcEngineSpeed,4,start
-9048750,TASK_CalcEngineSpeed,4,R,FUNC_ENGINESPEED,4,start
-9048750,Core_2,0,C,Core_2,0,execute
-9048750,TASK_CalcEngineSpeed,4,C,Core_2,0,execute
-9236975,TASK_200MS,0,R,FUNC_EXECTIME_1,1,terminate
-9236975,TASK_200MS,0,SCHED,SCHED_Tasks_C1,-1,schedulepoint
-9236975,Core_1,0,T,TASK_200MS,0,preempt
-9236975,Core_1,0,C,Core_1,0,idle
-9236975,TASK_200MS,0,C,Core_1,0,idle
-9237075,TASK_200MS,0,STI,IR_SCHED_Tasks_C1,34,trigger
-9237075,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-9237075,Core_1,0,T,TASK_200MS,0,resume
-9237075,TASK_200MS,0,R,FUNC_EXECTIME_1,19,start
-9237075,Core_1,0,C,Core_1,0,execute
-9237075,TASK_200MS,0,C,Core_1,0,execute
-9250000,SIM,-1,STI,TIMER-1MS,9,trigger
-9250000,TIMER-1MS,9,T,TASK_1MS,9,activate
-9250000,TASK_1MS,9,SCHED,SCHED_Tasks_C1,-1,processactivate
-9250100,TASK_1MS,9,STI,IR_SCHED_Tasks_C1,35,trigger
-9250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-9250100,TASK_200MS,0,R,FUNC_EXECTIME_1,19,suspend
-9250100,Core_1,0,T,TASK_200MS,0,preempt
-9250100,Core_1,0,C,Core_1,0,idle_execution
-9250100,TASK_200MS,0,C,Core_1,0,idle_execution
-9250100,Core_1,0,T,TASK_1MS,9,start
-9250100,TASK_1MS,9,R,FUNC_EXECTIME_1,22,start
-9250100,Core_1,0,C,Core_1,0,execute
-9250100,TASK_1MS,9,C,Core_1,0,execute
-9257550,TASK_CalcEngineSpeed,4,R,FUNC_ENGINESPEED,4,terminate
-9257550,Core_2,0,T,TASK_CalcEngineSpeed,4,terminate
-9257550,TASK_CalcEngineSpeed,4,SCHED,SCHED_Tasks_C2,-1,processterminate
-9257550,Core_2,0,C,Core_2,0,idle
-9257550,TASK_CalcEngineSpeed,4,C,Core_2,0,idle
-9257650,TASK_CalcEngineSpeed,4,STI,IR_SCHED_Tasks_C2,31,trigger
-9257650,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-9257650,Core_2,0,C,Core_2,0,execute_idle
-9257650,TASK_5MS,4,C,Core_2,0,execute_idle
-9257650,Core_2,0,T,TASK_5MS,4,resume
-9257650,TASK_5MS,4,R,FUNC_EXECTIME_1,17,resume
-9261250,TASK_5MS,4,R,FUNC_EXECTIME_1,17,terminate
-9261250,Core_2,0,T,TASK_5MS,4,terminate
-9261250,TASK_5MS,4,SCHED,SCHED_Tasks_C2,-1,processterminate
-9261250,Core_2,0,C,Core_2,0,idle
-9261250,TASK_5MS,4,C,Core_2,0,idle
-9261350,TASK_5MS,4,STI,IR_SCHED_Tasks_C2,32,trigger
-9261350,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-9645875,TASK_1MS,9,R,FUNC_EXECTIME_1,22,terminate
-9645875,Core_1,0,T,TASK_1MS,9,terminate
-9645875,TASK_1MS,9,SCHED,SCHED_Tasks_C1,-1,processterminate
-9645875,Core_1,0,C,Core_1,0,idle
-9645875,TASK_1MS,9,C,Core_1,0,idle
-9645975,TASK_1MS,9,STI,IR_SCHED_Tasks_C1,36,trigger
-9645975,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-9645975,Core_1,0,C,Core_1,0,execute_idle
-9645975,TASK_200MS,0,C,Core_1,0,execute_idle
-9645975,Core_1,0,T,TASK_200MS,0,resume
-9645975,TASK_200MS,0,R,FUNC_EXECTIME_1,19,resume
-10000000,SIM,-1,STI,TIMER-B_2ms,5,trigger
-10000000,TIMER-B_2ms,5,T,TASK_WritingActuator,5,activate
-10000000,TASK_WritingActuator,5,SCHED,SCHED_Tasks_C2,-1,processactivate
-10000000,SIM,-1,STI,TIMER-10MS_2,1,trigger
-10000000,TIMER-10MS_2,1,T,TASK_10MS_DL2,1,activate
-10000000,TASK_10MS_DL2,1,SCHED,SCHED_Tasks_C1,-1,processactivate
-10000100,TASK_WritingActuator,5,STI,IR_SCHED_Tasks_C2,33,trigger
-10000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-10000100,Core_2,0,T,TASK_WritingActuator,5,start
-10000100,TASK_WritingActuator,5,R,FUNC_SEMLOCK,10,start
-10000100,Core_2,0,C,Core_2,0,execute
-10000100,TASK_WritingActuator,5,C,Core_2,0,execute
-10000100,TASK_10MS_DL2,1,STI,IR_SCHED_Tasks_C1,37,trigger
-10000100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-10000100,TASK_200MS,0,R,FUNC_EXECTIME_1,19,suspend
-10000100,Core_1,0,T,TASK_200MS,0,preempt
-10000100,Core_1,0,C,Core_1,0,idle_execution
-10000100,TASK_200MS,0,C,Core_1,0,idle_execution
-10000100,Core_1,0,T,TASK_10MS_DL2,1,start
-10000100,TASK_10MS_DL2,1,R,FUNC_EXECTIME_1,23,start
-10000100,Core_1,0,C,Core_1,0,execute
-10000100,TASK_10MS_DL2,1,C,Core_1,0,execute
-10100000,SIM,-1,STI,TIMER-5MS,5,trigger
-10100000,TIMER-5MS,5,T,TASK_5MS,5,activate
-10100000,TASK_5MS,5,SCHED,SCHED_Tasks_C2,-1,processactivate
-10100100,TASK_5MS,5,STI,IR_SCHED_Tasks_C2,34,trigger
-10100100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-10125100,TASK_WritingActuator,5,SEM,SEM_DataElement1,0,requestsemaphore,0
-10125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-10125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-10125100,Core_2,0,C,Core_2,0,lock
-10125100,TASK_WritingActuator,5,SEM,SEM_DataElement1,0,assigned,1
-10125150,TASK_WritingActuator,5,R,FUNC_SEMLOCK,10,terminate
-10125150,Core_2,0,C,Core_2,0,unlock
-10125150,TASK_WritingActuator,5,R,FUNC_WriteData,5,start
-10150000,SIM,-1,STI,TIMER-A_2ms,5,trigger
-10150000,TIMER-A_2ms,5,T,TASK_InputProcessing,5,activate
-10150000,TASK_InputProcessing,5,SCHED,SCHED_Tasks_C1,-1,processactivate
-10150100,TASK_InputProcessing,5,STI,IR_SCHED_Tasks_C1,38,trigger
-10150100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-10151725,TASK_WritingActuator,5,SIG,SIG_Mixture,0,write,0
-10151725,TASK_WritingActuator,5,R,FUNC_WriteData,5,terminate
-10151725,TASK_WritingActuator,5,R,FUNC_SEMUNLOCK,10,start
-10250000,SIM,-1,STI,TIMER-1MS,10,trigger
-10250000,TIMER-1MS,10,T,TASK_1MS,10,activate
-10250000,TASK_1MS,10,SCHED,SCHED_Tasks_C1,-1,processactivate
-10250100,TASK_1MS,10,STI,IR_SCHED_Tasks_C1,39,trigger
-10250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-10250100,TASK_10MS_DL2,1,R,FUNC_EXECTIME_1,23,suspend
-10250100,Core_1,0,T,TASK_10MS_DL2,1,preempt
-10250100,Core_1,0,C,Core_1,0,idle_execution
-10250100,TASK_10MS_DL2,1,C,Core_1,0,idle_execution
-10250100,Core_1,0,T,TASK_1MS,10,start
-10250100,TASK_1MS,10,R,FUNC_EXECTIME_1,25,start
-10250100,Core_1,0,C,Core_1,0,execute
-10250100,TASK_1MS,10,C,Core_1,0,execute
-10351725,TASK_WritingActuator,5,SEM,SEM_DataElement1,0,released,1
-10351725,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-10351725,TASK_WritingActuator,5,SCHED,SCHED_Tasks_C2,-1,schedulepoint
-10351725,Core_2,0,C,Core_2,0,lock
-10351775,TASK_WritingActuator,5,R,FUNC_SEMUNLOCK,10,terminate
-10351775,Core_2,0,T,TASK_WritingActuator,5,terminate
-10351775,TASK_WritingActuator,5,SCHED,SCHED_Tasks_C2,-1,processterminate
-10351775,Core_2,0,C,Core_2,0,unlock
-10351775,Core_2,0,C,Core_2,0,idle
-10351775,TASK_WritingActuator,5,C,Core_2,0,idle
-10351825,TASK_WritingActuator,5,STI,IR_SCHED_Tasks_C2,35,trigger
-10351825,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-10351825,Core_2,0,T,TASK_5MS,5,start
-10351825,TASK_5MS,5,R,FUNC_EXECTIME_1,24,start
-10351825,Core_2,0,C,Core_2,0,execute
-10351825,TASK_5MS,5,C,Core_2,0,execute
-10819425,TASK_1MS,10,R,FUNC_EXECTIME_1,25,terminate
-10819425,Core_1,0,T,TASK_1MS,10,terminate
-10819425,TASK_1MS,10,SCHED,SCHED_Tasks_C1,-1,processterminate
-10819425,Core_1,0,C,Core_1,0,idle
-10819425,TASK_1MS,10,C,Core_1,0,idle
-10819525,TASK_1MS,10,STI,IR_SCHED_Tasks_C1,40,trigger
-10819525,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-10819525,Core_1,0,C,Core_1,0,execute_idle
-10819525,TASK_10MS_DL2,1,C,Core_1,0,execute_idle
-10819525,Core_1,0,T,TASK_10MS_DL2,1,resume
-10819525,TASK_10MS_DL2,1,R,FUNC_EXECTIME_1,23,resume
-10822025,TASK_5MS,5,R,FUNC_EXECTIME_1,24,terminate
-10822025,Core_2,0,T,TASK_5MS,5,terminate
-10822025,TASK_5MS,5,SCHED,SCHED_Tasks_C2,-1,processterminate
-10822025,Core_2,0,C,Core_2,0,idle
-10822025,TASK_5MS,5,C,Core_2,0,idle
-10822125,TASK_5MS,5,STI,IR_SCHED_Tasks_C2,36,trigger
-10822125,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-11250000,SIM,-1,STI,TIMER-1MS,11,trigger
-11250000,TIMER-1MS,11,T,TASK_1MS,11,activate
-11250000,TASK_1MS,11,SCHED,SCHED_Tasks_C1,-1,processactivate
-11250100,TASK_1MS,11,STI,IR_SCHED_Tasks_C1,41,trigger
-11250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-11250100,TASK_10MS_DL2,1,R,FUNC_EXECTIME_1,23,suspend
-11250100,Core_1,0,T,TASK_10MS_DL2,1,preempt
-11250100,Core_1,0,C,Core_1,0,idle_execution
-11250100,TASK_10MS_DL2,1,C,Core_1,0,idle_execution
-11250100,Core_1,0,T,TASK_1MS,11,start
-11250100,TASK_1MS,11,R,FUNC_EXECTIME_1,26,start
-11250100,Core_1,0,C,Core_1,0,execute
-11250100,TASK_1MS,11,C,Core_1,0,execute
-11994725,TASK_1MS,11,R,FUNC_EXECTIME_1,26,terminate
-11994725,Core_1,0,T,TASK_1MS,11,terminate
-11994725,TASK_1MS,11,SCHED,SCHED_Tasks_C1,-1,processterminate
-11994725,Core_1,0,C,Core_1,0,idle
-11994725,TASK_1MS,11,C,Core_1,0,idle
-11994825,TASK_1MS,11,STI,IR_SCHED_Tasks_C1,42,trigger
-11994825,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-11994825,Core_1,0,C,Core_1,0,execute_idle
-11994825,TASK_10MS_DL2,1,C,Core_1,0,execute_idle
-11994825,Core_1,0,T,TASK_10MS_DL2,1,resume
-11994825,TASK_10MS_DL2,1,R,FUNC_EXECTIME_1,23,resume
-12000000,SIM,-1,STI,TIMER-B_2ms,6,trigger
-12000000,TIMER-B_2ms,6,T,TASK_WritingActuator,6,activate
-12000000,TASK_WritingActuator,6,SCHED,SCHED_Tasks_C2,-1,processactivate
-12000100,TASK_WritingActuator,6,STI,IR_SCHED_Tasks_C2,37,trigger
-12000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-12000100,Core_2,0,T,TASK_WritingActuator,6,start
-12000100,TASK_WritingActuator,6,R,FUNC_SEMLOCK,12,start
-12000100,Core_2,0,C,Core_2,0,execute
-12000100,TASK_WritingActuator,6,C,Core_2,0,execute
-12001675,TASK_10MS_DL2,1,R,FUNC_EXECTIME_1,23,terminate
-12001675,Core_1,0,T,TASK_10MS_DL2,1,terminate
-12001675,TASK_10MS_DL2,1,SCHED,SCHED_Tasks_C1,-1,processterminate
-12001675,Core_1,0,C,Core_1,0,idle
-12001675,TASK_10MS_DL2,1,C,Core_1,0,idle
-12001775,TASK_10MS_DL2,1,STI,IR_SCHED_Tasks_C1,43,trigger
-12001775,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-12001775,Core_1,0,T,TASK_InputProcessing,5,start
-12001775,TASK_InputProcessing,5,R,FUNC_SEMLOCK,11,start
-12001775,Core_1,0,C,Core_1,0,execute
-12001775,TASK_InputProcessing,5,C,Core_1,0,execute
-12100000,SIM,-1,STI,TIMER-5MS,6,trigger
-12100000,TIMER-5MS,6,T,TASK_5MS,6,activate
-12100000,TASK_5MS,6,SCHED,SCHED_Tasks_C2,-1,processactivate
-12100100,TASK_5MS,6,STI,IR_SCHED_Tasks_C2,38,trigger
-12100100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-12125100,TASK_WritingActuator,6,SEM,SEM_DataElement1,0,requestsemaphore,0
-12125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-12125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-12125100,Core_2,0,C,Core_2,0,lock
-12125100,TASK_WritingActuator,6,SEM,SEM_DataElement1,0,assigned,1
-12125150,TASK_WritingActuator,6,R,FUNC_SEMLOCK,12,terminate
-12125150,Core_2,0,C,Core_2,0,unlock
-12125150,TASK_WritingActuator,6,R,FUNC_WriteData,6,start
-12126775,TASK_InputProcessing,5,SEM,SEM_DataElement1,0,requestsemaphore,1
-12126775,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,1
-12126775,SEM_DataElement1,0,SEM,SEM_DataElement1,0,overfull,2
-12126775,Core_1,0,C,Core_1,0,lock
-12126775,TASK_InputProcessing,5,SEM,SEM_DataElement1,0,waiting,2
-12126825,Core_1,0,T,TASK_InputProcessing,5,poll
-12126825,TASK_InputProcessing,5,SCHED,SCHED_Tasks_C1,-1,processpolling
-12126825,Core_1,0,C,Core_1,0,wait_postexecution
-12126825,TASK_InputProcessing,5,C,Core_1,0,wait_postexecution
-12126825,Core_1,0,C,Core_1,0,unlock
-12150000,SIM,-1,STI,TIMER-A_2ms,6,trigger
-12150000,TIMER-A_2ms,6,T,TASK_InputProcessing,6,activate
-12150000,TASK_InputProcessing,6,SCHED,SCHED_Tasks_C1,-1,processactivate
-12150100,TASK_InputProcessing,6,STI,IR_SCHED_Tasks_C1,44,trigger
-12150100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-12151750,TASK_WritingActuator,6,SIG,SIG_Mixture,0,write,0
-12151750,TASK_WritingActuator,6,R,FUNC_WriteData,6,terminate
-12151750,TASK_WritingActuator,6,R,FUNC_SEMUNLOCK,12,start
-12250000,SIM,-1,STI,TIMER-1MS,12,trigger
-12250000,TIMER-1MS,12,T,TASK_1MS,12,activate
-12250000,TASK_1MS,12,SCHED,SCHED_Tasks_C1,-1,processactivate
-12250100,TASK_1MS,12,STI,IR_SCHED_Tasks_C1,45,trigger
-12250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-12351750,TASK_WritingActuator,6,SEM,SEM_DataElement1,0,released,2
-12351750,TASK_InputProcessing,5,SEM,SEM_DataElement1,0,assigned,1
-12351750,Core_1,0,T,TASK_InputProcessing,5,run
-12351750,TASK_InputProcessing,5,R,FUNC_SEMLOCK,11,terminate
-12351750,TASK_InputProcessing,5,R,FUNC_ReadSensorData,5,start
-12351750,Core_1,0,C,Core_1,0,execute_waiting
-12351750,TASK_InputProcessing,5,C,Core_1,0,execute_waiting
-12351750,SEM_DataElement1,0,SEM,SEM_DataElement1,0,full,1
-12351750,TASK_WritingActuator,6,SCHED,SCHED_Tasks_C2,-1,schedulepoint
-12351750,Core_2,0,C,Core_2,0,lock
-12351800,TASK_WritingActuator,6,R,FUNC_SEMUNLOCK,12,terminate
-12351800,Core_2,0,T,TASK_WritingActuator,6,terminate
-12351800,TASK_WritingActuator,6,SCHED,SCHED_Tasks_C2,-1,processterminate
-12351800,Core_2,0,C,Core_2,0,unlock
-12351800,Core_2,0,C,Core_2,0,idle
-12351800,TASK_WritingActuator,6,C,Core_2,0,idle
-12351850,TASK_WritingActuator,6,STI,IR_SCHED_Tasks_C2,39,trigger
-12351850,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-12351850,Core_2,0,T,TASK_5MS,6,start
-12351850,TASK_5MS,6,R,FUNC_EXECTIME_1,27,start
-12351850,Core_2,0,C,Core_2,0,execute
-12351850,TASK_5MS,6,C,Core_2,0,execute
-12512225,TASK_InputProcessing,5,SIG,SIG_RotationSpeed,0,read,0
-12512225,TASK_InputProcessing,5,SIG,SIG_Lambda,0,read,0
-12512225,TASK_InputProcessing,5,SIG,SIG_Temperature,0,read,0
-12512225,TASK_InputProcessing,5,R,FUNC_ReadSensorData,5,terminate
-12512225,TASK_InputProcessing,5,R,FUNC_SEMUNLOCK,11,start
-12712225,TASK_InputProcessing,5,SEM,SEM_DataElement1,0,released,1
-12712225,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-12712225,TASK_InputProcessing,5,SCHED,SCHED_Tasks_C1,-1,schedulepoint
-12712225,Core_1,0,C,Core_1,0,lock
-12712275,TASK_InputProcessing,5,R,FUNC_SEMUNLOCK,11,terminate
-12712275,Core_1,0,C,Core_1,0,unlock
-12712275,TASK_InputProcessing,5,STI,IPA_InputReady,5,trigger
-12712275,IPA_InputReady,5,T,TASK_CalcEngineSpeed,5,activate
-12712275,TASK_CalcEngineSpeed,5,SCHED,SCHED_Tasks_C2,-1,processactivate
-12712275,Core_1,0,T,TASK_InputProcessing,5,terminate
-12712275,TASK_InputProcessing,5,SCHED,SCHED_Tasks_C1,-1,processterminate
-12712275,Core_1,0,C,Core_1,0,idle
-12712275,TASK_InputProcessing,5,C,Core_1,0,idle
-12712325,TASK_InputProcessing,5,STI,IR_SCHED_Tasks_C1,46,trigger
-12712325,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-12712325,Core_1,0,T,TASK_1MS,12,start
-12712325,TASK_1MS,12,R,FUNC_EXECTIME_1,28,start
-12712325,Core_1,0,C,Core_1,0,execute
-12712325,TASK_1MS,12,C,Core_1,0,execute
-12712375,TASK_CalcEngineSpeed,5,STI,IR_SCHED_Tasks_C2,40,trigger
-12712375,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-12712375,TASK_5MS,6,R,FUNC_EXECTIME_1,27,suspend
-12712375,Core_2,0,T,TASK_5MS,6,preempt
-12712375,Core_2,0,C,Core_2,0,idle_execution
-12712375,TASK_5MS,6,C,Core_2,0,idle_execution
-12712375,Core_2,0,T,TASK_CalcEngineSpeed,5,start
-12712375,TASK_CalcEngineSpeed,5,R,FUNC_ENGINESPEED,5,start
-12712375,Core_2,0,C,Core_2,0,execute
-12712375,TASK_CalcEngineSpeed,5,C,Core_2,0,execute
-12946100,TASK_CalcEngineSpeed,5,R,FUNC_ENGINESPEED,5,terminate
-12946100,Core_2,0,T,TASK_CalcEngineSpeed,5,terminate
-12946100,TASK_CalcEngineSpeed,5,SCHED,SCHED_Tasks_C2,-1,processterminate
-12946100,Core_2,0,C,Core_2,0,idle
-12946100,TASK_CalcEngineSpeed,5,C,Core_2,0,idle
-12946200,TASK_CalcEngineSpeed,5,STI,IR_SCHED_Tasks_C2,41,trigger
-12946200,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-12946200,Core_2,0,C,Core_2,0,execute_idle
-12946200,TASK_5MS,6,C,Core_2,0,execute_idle
-12946200,Core_2,0,T,TASK_5MS,6,resume
-12946200,TASK_5MS,6,R,FUNC_EXECTIME_1,27,resume
-13038175,TASK_5MS,6,R,FUNC_EXECTIME_1,27,terminate
-13038175,Core_2,0,T,TASK_5MS,6,terminate
-13038175,TASK_5MS,6,SCHED,SCHED_Tasks_C2,-1,processterminate
-13038175,Core_2,0,C,Core_2,0,idle
-13038175,TASK_5MS,6,C,Core_2,0,idle
-13038275,TASK_5MS,6,STI,IR_SCHED_Tasks_C2,42,trigger
-13038275,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-13250000,SIM,-1,STI,TIMER-1MS,13,trigger
-13250000,TIMER-1MS,13,T,TASK_1MS,13,activate
-13250000,TASK_1MS,13,SCHED,SCHED_Tasks_C1,-1,processactivate
-13250100,TASK_1MS,13,STI,IR_SCHED_Tasks_C1,47,trigger
-13250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-13279850,TASK_1MS,12,R,FUNC_EXECTIME_1,28,terminate
-13279850,Core_1,0,T,TASK_1MS,12,terminate
-13279850,TASK_1MS,12,SCHED,SCHED_Tasks_C1,-1,processterminate
-13279850,Core_1,0,C,Core_1,0,idle
-13279850,TASK_1MS,12,C,Core_1,0,idle
-13279950,TASK_1MS,12,STI,IR_SCHED_Tasks_C1,48,trigger
-13279950,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-13279950,Core_1,0,T,TASK_1MS,13,start
-13279950,TASK_1MS,13,R,FUNC_EXECTIME_1,29,start
-13279950,Core_1,0,C,Core_1,0,execute
-13279950,TASK_1MS,13,C,Core_1,0,execute
-13886975,TASK_1MS,13,R,FUNC_EXECTIME_1,29,terminate
-13886975,Core_1,0,T,TASK_1MS,13,terminate
-13886975,TASK_1MS,13,SCHED,SCHED_Tasks_C1,-1,processterminate
-13886975,Core_1,0,C,Core_1,0,idle
-13886975,TASK_1MS,13,C,Core_1,0,idle
-13887075,TASK_1MS,13,STI,IR_SCHED_Tasks_C1,49,trigger
-13887075,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-13887075,Core_1,0,T,TASK_InputProcessing,6,start
-13887075,TASK_InputProcessing,6,R,FUNC_SEMLOCK,13,start
-13887075,Core_1,0,C,Core_1,0,execute
-13887075,TASK_InputProcessing,6,C,Core_1,0,execute
-14000000,SIM,-1,STI,TIMER-B_2ms,7,trigger
-14000000,TIMER-B_2ms,7,T,TASK_WritingActuator,7,activate
-14000000,TASK_WritingActuator,7,SCHED,SCHED_Tasks_C2,-1,processactivate
-14000100,TASK_WritingActuator,7,STI,IR_SCHED_Tasks_C2,43,trigger
-14000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-14000100,Core_2,0,T,TASK_WritingActuator,7,start
-14000100,TASK_WritingActuator,7,R,FUNC_SEMLOCK,14,start
-14000100,Core_2,0,C,Core_2,0,execute
-14000100,TASK_WritingActuator,7,C,Core_2,0,execute
-14012075,TASK_InputProcessing,6,SEM,SEM_DataElement1,0,requestsemaphore,0
-14012075,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-14012075,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-14012075,Core_1,0,C,Core_1,0,lock
-14012075,TASK_InputProcessing,6,SEM,SEM_DataElement1,0,assigned,1
-14012125,TASK_InputProcessing,6,R,FUNC_SEMLOCK,13,terminate
-14012125,Core_1,0,C,Core_1,0,unlock
-14012125,TASK_InputProcessing,6,R,FUNC_ReadSensorData,6,start
-14100000,SIM,-1,STI,TIMER-5MS,7,trigger
-14100000,TIMER-5MS,7,T,TASK_5MS,7,activate
-14100000,TASK_5MS,7,SCHED,SCHED_Tasks_C2,-1,processactivate
-14100100,TASK_5MS,7,STI,IR_SCHED_Tasks_C2,44,trigger
-14100100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-14125100,TASK_WritingActuator,7,SEM,SEM_DataElement1,0,requestsemaphore,1
-14125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,1
-14125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,overfull,2
-14125100,Core_2,0,C,Core_2,0,lock
-14125100,TASK_WritingActuator,7,SEM,SEM_DataElement1,0,waiting,2
-14125150,Core_2,0,T,TASK_WritingActuator,7,poll
-14125150,TASK_WritingActuator,7,SCHED,SCHED_Tasks_C2,-1,processpolling
-14125150,Core_2,0,C,Core_2,0,wait_postexecution
-14125150,TASK_WritingActuator,7,C,Core_2,0,wait_postexecution
-14125150,Core_2,0,C,Core_2,0,unlock
-14150000,SIM,-1,STI,TIMER-A_2ms,7,trigger
-14150000,TIMER-A_2ms,7,T,TASK_InputProcessing,7,activate
-14150000,TASK_InputProcessing,7,SCHED,SCHED_Tasks_C1,-1,processactivate
-14150100,TASK_InputProcessing,7,STI,IR_SCHED_Tasks_C1,50,trigger
-14150100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-14171250,TASK_InputProcessing,6,SIG,SIG_RotationSpeed,0,read,0
-14171250,TASK_InputProcessing,6,SIG,SIG_Lambda,0,read,0
-14171250,TASK_InputProcessing,6,SIG,SIG_Temperature,0,read,0
-14171250,TASK_InputProcessing,6,R,FUNC_ReadSensorData,6,terminate
-14171250,TASK_InputProcessing,6,R,FUNC_SEMUNLOCK,13,start
-14250000,SIM,-1,STI,TIMER-1MS,14,trigger
-14250000,TIMER-1MS,14,T,TASK_1MS,14,activate
-14250000,TASK_1MS,14,SCHED,SCHED_Tasks_C1,-1,processactivate
-14250100,TASK_1MS,14,STI,IR_SCHED_Tasks_C1,51,trigger
-14250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-14371250,TASK_InputProcessing,6,SEM,SEM_DataElement1,0,released,2
-14371250,TASK_WritingActuator,7,SEM,SEM_DataElement1,0,assigned,1
-14371250,Core_2,0,T,TASK_WritingActuator,7,run
-14371250,TASK_WritingActuator,7,R,FUNC_SEMLOCK,14,terminate
-14371250,TASK_WritingActuator,7,R,FUNC_WriteData,7,start
-14371250,Core_2,0,C,Core_2,0,execute_waiting
-14371250,TASK_WritingActuator,7,C,Core_2,0,execute_waiting
-14371250,SEM_DataElement1,0,SEM,SEM_DataElement1,0,full,1
-14371250,TASK_InputProcessing,6,SCHED,SCHED_Tasks_C1,-1,schedulepoint
-14371250,Core_1,0,C,Core_1,0,lock
-14371300,TASK_InputProcessing,6,R,FUNC_SEMUNLOCK,13,terminate
-14371300,Core_1,0,C,Core_1,0,unlock
-14371300,TASK_InputProcessing,6,STI,IPA_InputReady,6,trigger
-14371300,IPA_InputReady,6,T,TASK_CalcEngineSpeed,6,activate
-14371300,TASK_CalcEngineSpeed,6,SCHED,SCHED_Tasks_C2,-1,processactivate
-14371300,Core_1,0,T,TASK_InputProcessing,6,terminate
-14371300,TASK_InputProcessing,6,SCHED,SCHED_Tasks_C1,-1,processterminate
-14371300,Core_1,0,C,Core_1,0,idle
-14371300,TASK_InputProcessing,6,C,Core_1,0,idle
-14371350,TASK_InputProcessing,6,STI,IR_SCHED_Tasks_C1,52,trigger
-14371350,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-14371350,Core_1,0,T,TASK_1MS,14,start
-14371350,TASK_1MS,14,R,FUNC_EXECTIME_1,31,start
-14371350,Core_1,0,C,Core_1,0,execute
-14371350,TASK_1MS,14,C,Core_1,0,execute
-14371400,TASK_CalcEngineSpeed,6,STI,IR_SCHED_Tasks_C2,45,trigger
-14371400,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-14398250,TASK_WritingActuator,7,SIG,SIG_Mixture,0,write,0
-14398250,TASK_WritingActuator,7,R,FUNC_WriteData,7,terminate
-14398250,TASK_WritingActuator,7,R,FUNC_SEMUNLOCK,14,start
-14598250,TASK_WritingActuator,7,SEM,SEM_DataElement1,0,released,1
-14598250,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-14598250,TASK_WritingActuator,7,SCHED,SCHED_Tasks_C2,-1,schedulepoint
-14598250,Core_2,0,C,Core_2,0,lock
-14598300,TASK_WritingActuator,7,R,FUNC_SEMUNLOCK,14,terminate
-14598300,Core_2,0,T,TASK_WritingActuator,7,terminate
-14598300,TASK_WritingActuator,7,SCHED,SCHED_Tasks_C2,-1,processterminate
-14598300,Core_2,0,C,Core_2,0,unlock
-14598300,Core_2,0,C,Core_2,0,idle
-14598300,TASK_WritingActuator,7,C,Core_2,0,idle
-14598350,TASK_WritingActuator,7,STI,IR_SCHED_Tasks_C2,46,trigger
-14598350,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-14598350,Core_2,0,T,TASK_CalcEngineSpeed,6,start
-14598350,TASK_CalcEngineSpeed,6,R,FUNC_ENGINESPEED,6,start
-14598350,Core_2,0,C,Core_2,0,execute
-14598350,TASK_CalcEngineSpeed,6,C,Core_2,0,execute
-14723950,TASK_CalcEngineSpeed,6,R,FUNC_ENGINESPEED,6,terminate
-14723950,Core_2,0,T,TASK_CalcEngineSpeed,6,terminate
-14723950,TASK_CalcEngineSpeed,6,SCHED,SCHED_Tasks_C2,-1,processterminate
-14723950,Core_2,0,C,Core_2,0,idle
-14723950,TASK_CalcEngineSpeed,6,C,Core_2,0,idle
-14724050,TASK_CalcEngineSpeed,6,STI,IR_SCHED_Tasks_C2,47,trigger
-14724050,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-14724050,Core_2,0,T,TASK_5MS,7,start
-14724050,TASK_5MS,7,R,FUNC_EXECTIME_1,30,start
-14724050,Core_2,0,C,Core_2,0,execute
-14724050,TASK_5MS,7,C,Core_2,0,execute
-14771650,TASK_1MS,14,R,FUNC_EXECTIME_1,31,terminate
-14771650,Core_1,0,T,TASK_1MS,14,terminate
-14771650,TASK_1MS,14,SCHED,SCHED_Tasks_C1,-1,processterminate
-14771650,Core_1,0,C,Core_1,0,idle
-14771650,TASK_1MS,14,C,Core_1,0,idle
-14771750,TASK_1MS,14,STI,IR_SCHED_Tasks_C1,53,trigger
-14771750,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-14771750,Core_1,0,T,TASK_InputProcessing,7,start
-14771750,TASK_InputProcessing,7,R,FUNC_SEMLOCK,15,start
-14771750,Core_1,0,C,Core_1,0,execute
-14771750,TASK_InputProcessing,7,C,Core_1,0,execute
-14896750,TASK_InputProcessing,7,SEM,SEM_DataElement1,0,requestsemaphore,0
-14896750,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-14896750,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-14896750,Core_1,0,C,Core_1,0,lock
-14896750,TASK_InputProcessing,7,SEM,SEM_DataElement1,0,assigned,1
-14896800,TASK_InputProcessing,7,R,FUNC_SEMLOCK,15,terminate
-14896800,Core_1,0,C,Core_1,0,unlock
-14896800,TASK_InputProcessing,7,R,FUNC_ReadSensorData,7,start
-15000000,SIM,-1,STI,TIMER-10MS,1,trigger
-15000000,TIMER-10MS,1,T,TASK_10MS,1,activate
-15000000,TASK_10MS,1,SCHED,SCHED_Tasks_C2,-1,processactivate
-15000100,TASK_10MS,1,STI,IR_SCHED_Tasks_C2,48,trigger
-15000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-15058525,TASK_InputProcessing,7,SIG,SIG_RotationSpeed,0,read,0
-15058525,TASK_InputProcessing,7,SIG,SIG_Lambda,0,read,0
-15058525,TASK_InputProcessing,7,SIG,SIG_Temperature,0,read,0
-15058525,TASK_InputProcessing,7,R,FUNC_ReadSensorData,7,terminate
-15058525,TASK_InputProcessing,7,R,FUNC_SEMUNLOCK,15,start
-15250000,SIM,-1,STI,TIMER-1MS,15,trigger
-15250000,TIMER-1MS,15,T,TASK_1MS,15,activate
-15250000,TASK_1MS,15,SCHED,SCHED_Tasks_C1,-1,processactivate
-15250100,TASK_1MS,15,STI,IR_SCHED_Tasks_C1,54,trigger
-15250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-15258525,TASK_InputProcessing,7,SEM,SEM_DataElement1,0,released,1
-15258525,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-15258525,TASK_InputProcessing,7,SCHED,SCHED_Tasks_C1,-1,schedulepoint
-15258525,Core_1,0,C,Core_1,0,lock
-15258575,TASK_InputProcessing,7,R,FUNC_SEMUNLOCK,15,terminate
-15258575,Core_1,0,C,Core_1,0,unlock
-15258575,TASK_InputProcessing,7,STI,IPA_InputReady,7,trigger
-15258575,IPA_InputReady,7,T,TASK_CalcEngineSpeed,7,activate
-15258575,TASK_CalcEngineSpeed,7,SCHED,SCHED_Tasks_C2,-1,processactivate
-15258575,Core_1,0,T,TASK_InputProcessing,7,terminate
-15258575,TASK_InputProcessing,7,SCHED,SCHED_Tasks_C1,-1,processterminate
-15258575,Core_1,0,C,Core_1,0,idle
-15258575,TASK_InputProcessing,7,C,Core_1,0,idle
-15258625,TASK_InputProcessing,7,STI,IR_SCHED_Tasks_C1,55,trigger
-15258625,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-15258625,Core_1,0,T,TASK_1MS,15,start
-15258625,TASK_1MS,15,R,FUNC_EXECTIME_1,33,start
-15258625,Core_1,0,C,Core_1,0,execute
-15258625,TASK_1MS,15,C,Core_1,0,execute
-15258675,TASK_CalcEngineSpeed,7,STI,IR_SCHED_Tasks_C2,49,trigger
-15258675,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-15258675,TASK_5MS,7,R,FUNC_EXECTIME_1,30,suspend
-15258675,Core_2,0,T,TASK_5MS,7,preempt
-15258675,Core_2,0,C,Core_2,0,idle_execution
-15258675,TASK_5MS,7,C,Core_2,0,idle_execution
-15258675,Core_2,0,T,TASK_CalcEngineSpeed,7,start
-15258675,TASK_CalcEngineSpeed,7,R,FUNC_ENGINESPEED,7,start
-15258675,Core_2,0,C,Core_2,0,execute
-15258675,TASK_CalcEngineSpeed,7,C,Core_2,0,execute
-15405350,TASK_CalcEngineSpeed,7,R,FUNC_ENGINESPEED,7,terminate
-15405350,Core_2,0,T,TASK_CalcEngineSpeed,7,terminate
-15405350,TASK_CalcEngineSpeed,7,SCHED,SCHED_Tasks_C2,-1,processterminate
-15405350,Core_2,0,C,Core_2,0,idle
-15405350,TASK_CalcEngineSpeed,7,C,Core_2,0,idle
-15405450,TASK_CalcEngineSpeed,7,STI,IR_SCHED_Tasks_C2,50,trigger
-15405450,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-15405450,Core_2,0,C,Core_2,0,execute_idle
-15405450,TASK_5MS,7,C,Core_2,0,execute_idle
-15405450,Core_2,0,T,TASK_5MS,7,resume
-15405450,TASK_5MS,7,R,FUNC_EXECTIME_1,30,resume
-15546675,TASK_5MS,7,R,FUNC_EXECTIME_1,30,terminate
-15546675,Core_2,0,T,TASK_5MS,7,terminate
-15546675,TASK_5MS,7,SCHED,SCHED_Tasks_C2,-1,processterminate
-15546675,Core_2,0,C,Core_2,0,idle
-15546675,TASK_5MS,7,C,Core_2,0,idle
-15546775,TASK_5MS,7,STI,IR_SCHED_Tasks_C2,51,trigger
-15546775,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-15546775,Core_2,0,T,TASK_10MS,1,start
-15546775,TASK_10MS,1,R,FUNC_EXECTIME_1,32,start
-15546775,Core_2,0,C,Core_2,0,execute
-15546775,TASK_10MS,1,C,Core_2,0,execute
-16000000,SIM,-1,STI,TIMER-B_2ms,8,trigger
-16000000,TIMER-B_2ms,8,T,TASK_WritingActuator,8,activate
-16000000,TASK_WritingActuator,8,SCHED,SCHED_Tasks_C2,-1,processactivate
-16000100,TASK_WritingActuator,8,STI,IR_SCHED_Tasks_C2,52,trigger
-16000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-16000100,TASK_10MS,1,R,FUNC_EXECTIME_1,32,suspend
-16000100,Core_2,0,T,TASK_10MS,1,preempt
-16000100,Core_2,0,C,Core_2,0,idle_execution
-16000100,TASK_10MS,1,C,Core_2,0,idle_execution
-16000100,Core_2,0,T,TASK_WritingActuator,8,start
-16000100,TASK_WritingActuator,8,R,FUNC_SEMLOCK,16,start
-16000100,Core_2,0,C,Core_2,0,execute
-16000100,TASK_WritingActuator,8,C,Core_2,0,execute
-16076200,TASK_1MS,15,R,FUNC_EXECTIME_1,33,terminate
-16076200,Core_1,0,T,TASK_1MS,15,terminate
-16076200,TASK_1MS,15,SCHED,SCHED_Tasks_C1,-1,processterminate
-16076200,Core_1,0,C,Core_1,0,idle
-16076200,TASK_1MS,15,C,Core_1,0,idle
-16076300,TASK_1MS,15,STI,IR_SCHED_Tasks_C1,56,trigger
-16076300,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-16076300,Core_1,0,C,Core_1,0,execute_idle
-16076300,TASK_200MS,0,C,Core_1,0,execute_idle
-16076300,Core_1,0,T,TASK_200MS,0,resume
-16076300,TASK_200MS,0,R,FUNC_EXECTIME_1,19,resume
-16100000,SIM,-1,STI,TIMER-5MS,8,trigger
-16100000,TIMER-5MS,8,T,TASK_5MS,8,activate
-16100000,TASK_5MS,8,SCHED,SCHED_Tasks_C2,-1,processactivate
-16100100,TASK_5MS,8,STI,IR_SCHED_Tasks_C2,53,trigger
-16100100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-16125100,TASK_WritingActuator,8,SEM,SEM_DataElement1,0,requestsemaphore,0
-16125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-16125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-16125100,Core_2,0,C,Core_2,0,lock
-16125100,TASK_WritingActuator,8,SEM,SEM_DataElement1,0,assigned,1
-16125150,TASK_WritingActuator,8,R,FUNC_SEMLOCK,16,terminate
-16125150,Core_2,0,C,Core_2,0,unlock
-16125150,TASK_WritingActuator,8,R,FUNC_WriteData,8,start
-16127800,TASK_200MS,0,R,FUNC_EXECTIME_1,19,terminate
-16127800,TASK_200MS,0,R,FUNC_EXECTIME_1,20,start
-16150000,SIM,-1,STI,TIMER-A_2ms,8,trigger
-16150000,TIMER-A_2ms,8,T,TASK_InputProcessing,8,activate
-16150000,TASK_InputProcessing,8,SCHED,SCHED_Tasks_C1,-1,processactivate
-16150100,TASK_InputProcessing,8,STI,IR_SCHED_Tasks_C1,57,trigger
-16150100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-16150100,TASK_200MS,0,R,FUNC_EXECTIME_1,20,suspend
-16150100,Core_1,0,T,TASK_200MS,0,preempt
-16150100,Core_1,0,C,Core_1,0,idle_execution
-16150100,TASK_200MS,0,C,Core_1,0,idle_execution
-16150100,Core_1,0,T,TASK_InputProcessing,8,start
-16150100,TASK_InputProcessing,8,R,FUNC_SEMLOCK,17,start
-16150100,Core_1,0,C,Core_1,0,execute
-16150100,TASK_InputProcessing,8,C,Core_1,0,execute
-16152200,TASK_WritingActuator,8,SIG,SIG_Mixture,0,write,0
-16152200,TASK_WritingActuator,8,R,FUNC_WriteData,8,terminate
-16152200,TASK_WritingActuator,8,R,FUNC_SEMUNLOCK,16,start
-16250000,SIM,-1,STI,TIMER-1MS,16,trigger
-16250000,TIMER-1MS,16,T,TASK_1MS,16,activate
-16250000,TASK_1MS,16,SCHED,SCHED_Tasks_C1,-1,processactivate
-16250100,TASK_1MS,16,STI,IR_SCHED_Tasks_C1,58,trigger
-16250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-16250100,TASK_InputProcessing,8,R,FUNC_SEMLOCK,17,suspend
-16250100,Core_1,0,T,TASK_InputProcessing,8,preempt
-16250100,Core_1,0,C,Core_1,0,idle_execution
-16250100,TASK_InputProcessing,8,C,Core_1,0,idle_execution
-16250100,Core_1,0,T,TASK_1MS,16,start
-16250100,TASK_1MS,16,R,FUNC_EXECTIME_1,35,start
-16250100,Core_1,0,C,Core_1,0,execute
-16250100,TASK_1MS,16,C,Core_1,0,execute
-16352200,TASK_WritingActuator,8,SEM,SEM_DataElement1,0,released,1
-16352200,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-16352200,TASK_WritingActuator,8,SCHED,SCHED_Tasks_C2,-1,schedulepoint
-16352200,Core_2,0,C,Core_2,0,lock
-16352250,TASK_WritingActuator,8,R,FUNC_SEMUNLOCK,16,terminate
-16352250,Core_2,0,T,TASK_WritingActuator,8,terminate
-16352250,TASK_WritingActuator,8,SCHED,SCHED_Tasks_C2,-1,processterminate
-16352250,Core_2,0,C,Core_2,0,unlock
-16352250,Core_2,0,C,Core_2,0,idle
-16352250,TASK_WritingActuator,8,C,Core_2,0,idle
-16352300,TASK_WritingActuator,8,STI,IR_SCHED_Tasks_C2,54,trigger
-16352300,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-16352300,Core_2,0,T,TASK_5MS,8,start
-16352300,TASK_5MS,8,R,FUNC_EXECTIME_1,34,start
-16352300,Core_2,0,C,Core_2,0,execute
-16352300,TASK_5MS,8,C,Core_2,0,execute
-16630600,TASK_1MS,16,R,FUNC_EXECTIME_1,35,terminate
-16630600,Core_1,0,T,TASK_1MS,16,terminate
-16630600,TASK_1MS,16,SCHED,SCHED_Tasks_C1,-1,processterminate
-16630600,Core_1,0,C,Core_1,0,idle
-16630600,TASK_1MS,16,C,Core_1,0,idle
-16630700,TASK_1MS,16,STI,IR_SCHED_Tasks_C1,59,trigger
-16630700,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-16630700,Core_1,0,C,Core_1,0,execute_idle
-16630700,TASK_InputProcessing,8,C,Core_1,0,execute_idle
-16630700,Core_1,0,T,TASK_InputProcessing,8,resume
-16630700,TASK_InputProcessing,8,R,FUNC_SEMLOCK,17,resume
-16655700,TASK_InputProcessing,8,SEM,SEM_DataElement1,0,requestsemaphore,0
-16655700,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-16655700,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-16655700,Core_1,0,C,Core_1,0,lock
-16655700,TASK_InputProcessing,8,SEM,SEM_DataElement1,0,assigned,1
-16655750,TASK_InputProcessing,8,R,FUNC_SEMLOCK,17,terminate
-16655750,Core_1,0,C,Core_1,0,unlock
-16655750,TASK_InputProcessing,8,R,FUNC_ReadSensorData,8,start
-16818075,TASK_InputProcessing,8,SIG,SIG_RotationSpeed,0,read,0
-16818075,TASK_InputProcessing,8,SIG,SIG_Lambda,0,read,0
-16818075,TASK_InputProcessing,8,SIG,SIG_Temperature,0,read,0
-16818075,TASK_InputProcessing,8,R,FUNC_ReadSensorData,8,terminate
-16818075,TASK_InputProcessing,8,R,FUNC_SEMUNLOCK,17,start
-16991750,TASK_5MS,8,R,FUNC_EXECTIME_1,34,terminate
-16991750,Core_2,0,T,TASK_5MS,8,terminate
-16991750,TASK_5MS,8,SCHED,SCHED_Tasks_C2,-1,processterminate
-16991750,Core_2,0,C,Core_2,0,idle
-16991750,TASK_5MS,8,C,Core_2,0,idle
-16991850,TASK_5MS,8,STI,IR_SCHED_Tasks_C2,55,trigger
-16991850,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-16991850,Core_2,0,C,Core_2,0,execute_idle
-16991850,TASK_10MS,1,C,Core_2,0,execute_idle
-16991850,Core_2,0,T,TASK_10MS,1,resume
-16991850,TASK_10MS,1,R,FUNC_EXECTIME_1,32,resume
-17018075,TASK_InputProcessing,8,SEM,SEM_DataElement1,0,released,1
-17018075,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-17018075,TASK_InputProcessing,8,SCHED,SCHED_Tasks_C1,-1,schedulepoint
-17018075,Core_1,0,C,Core_1,0,lock
-17018125,TASK_InputProcessing,8,R,FUNC_SEMUNLOCK,17,terminate
-17018125,Core_1,0,C,Core_1,0,unlock
-17018125,TASK_InputProcessing,8,STI,IPA_InputReady,8,trigger
-17018125,IPA_InputReady,8,T,TASK_CalcEngineSpeed,8,activate
-17018125,TASK_CalcEngineSpeed,8,SCHED,SCHED_Tasks_C2,-1,processactivate
-17018125,Core_1,0,T,TASK_InputProcessing,8,terminate
-17018125,TASK_InputProcessing,8,SCHED,SCHED_Tasks_C1,-1,processterminate
-17018125,Core_1,0,C,Core_1,0,idle
-17018125,TASK_InputProcessing,8,C,Core_1,0,idle
-17018175,TASK_InputProcessing,8,STI,IR_SCHED_Tasks_C1,60,trigger
-17018175,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-17018175,Core_1,0,C,Core_1,0,execute_idle
-17018175,TASK_200MS,0,C,Core_1,0,execute_idle
-17018175,Core_1,0,T,TASK_200MS,0,resume
-17018175,TASK_200MS,0,R,FUNC_EXECTIME_1,20,resume
-17018225,TASK_CalcEngineSpeed,8,STI,IR_SCHED_Tasks_C2,56,trigger
-17018225,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-17018225,TASK_10MS,1,R,FUNC_EXECTIME_1,32,suspend
-17018225,Core_2,0,T,TASK_10MS,1,preempt
-17018225,Core_2,0,C,Core_2,0,idle_execution
-17018225,TASK_10MS,1,C,Core_2,0,idle_execution
-17018225,Core_2,0,T,TASK_CalcEngineSpeed,8,start
-17018225,TASK_CalcEngineSpeed,8,R,FUNC_ENGINESPEED,8,start
-17018225,Core_2,0,C,Core_2,0,execute
-17018225,TASK_CalcEngineSpeed,8,C,Core_2,0,execute
-17173100,TASK_CalcEngineSpeed,8,R,FUNC_ENGINESPEED,8,terminate
-17173100,Core_2,0,T,TASK_CalcEngineSpeed,8,terminate
-17173100,TASK_CalcEngineSpeed,8,SCHED,SCHED_Tasks_C2,-1,processterminate
-17173100,Core_2,0,C,Core_2,0,idle
-17173100,TASK_CalcEngineSpeed,8,C,Core_2,0,idle
-17173200,TASK_CalcEngineSpeed,8,STI,IR_SCHED_Tasks_C2,57,trigger
-17173200,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-17173200,Core_2,0,C,Core_2,0,execute_idle
-17173200,TASK_10MS,1,C,Core_2,0,execute_idle
-17173200,Core_2,0,T,TASK_10MS,1,resume
-17173200,TASK_10MS,1,R,FUNC_EXECTIME_1,32,resume
-17189200,TASK_10MS,1,R,FUNC_EXECTIME_1,32,terminate
-17189200,Core_2,0,T,TASK_10MS,1,terminate
-17189200,TASK_10MS,1,SCHED,SCHED_Tasks_C2,-1,processterminate
-17189200,Core_2,0,C,Core_2,0,idle
-17189200,TASK_10MS,1,C,Core_2,0,idle
-17189300,TASK_10MS,1,STI,IR_SCHED_Tasks_C2,58,trigger
-17189300,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-17250000,SIM,-1,STI,TIMER-1MS,17,trigger
-17250000,TIMER-1MS,17,T,TASK_1MS,17,activate
-17250000,TASK_1MS,17,SCHED,SCHED_Tasks_C1,-1,processactivate
-17250100,TASK_1MS,17,STI,IR_SCHED_Tasks_C1,61,trigger
-17250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-17250100,TASK_200MS,0,R,FUNC_EXECTIME_1,20,suspend
-17250100,Core_1,0,T,TASK_200MS,0,preempt
-17250100,Core_1,0,C,Core_1,0,idle_execution
-17250100,TASK_200MS,0,C,Core_1,0,idle_execution
-17250100,Core_1,0,T,TASK_1MS,17,start
-17250100,TASK_1MS,17,R,FUNC_EXECTIME_1,36,start
-17250100,Core_1,0,C,Core_1,0,execute
-17250100,TASK_1MS,17,C,Core_1,0,execute
-17907475,TASK_1MS,17,R,FUNC_EXECTIME_1,36,terminate
-17907475,Core_1,0,T,TASK_1MS,17,terminate
-17907475,TASK_1MS,17,SCHED,SCHED_Tasks_C1,-1,processterminate
-17907475,Core_1,0,C,Core_1,0,idle
-17907475,TASK_1MS,17,C,Core_1,0,idle
-17907575,TASK_1MS,17,STI,IR_SCHED_Tasks_C1,62,trigger
-17907575,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-17907575,Core_1,0,C,Core_1,0,execute_idle
-17907575,TASK_200MS,0,C,Core_1,0,execute_idle
-17907575,Core_1,0,T,TASK_200MS,0,resume
-17907575,TASK_200MS,0,R,FUNC_EXECTIME_1,20,resume
-18000000,SIM,-1,STI,TIMER-B_2ms,9,trigger
-18000000,TIMER-B_2ms,9,T,TASK_WritingActuator,9,activate
-18000000,TASK_WritingActuator,9,SCHED,SCHED_Tasks_C2,-1,processactivate
-18000100,TASK_WritingActuator,9,STI,IR_SCHED_Tasks_C2,59,trigger
-18000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-18000100,Core_2,0,T,TASK_WritingActuator,9,start
-18000100,TASK_WritingActuator,9,R,FUNC_SEMLOCK,18,start
-18000100,Core_2,0,C,Core_2,0,execute
-18000100,TASK_WritingActuator,9,C,Core_2,0,execute
-18043775,TASK_200MS,0,R,FUNC_EXECTIME_1,20,terminate
-18043775,TASK_200MS,0,R,FUNC_EXECTIME_1,21,start
-18100000,SIM,-1,STI,TIMER-5MS,9,trigger
-18100000,TIMER-5MS,9,T,TASK_5MS,9,activate
-18100000,TASK_5MS,9,SCHED,SCHED_Tasks_C2,-1,processactivate
-18100100,TASK_5MS,9,STI,IR_SCHED_Tasks_C2,60,trigger
-18100100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-18125100,TASK_WritingActuator,9,SEM,SEM_DataElement1,0,requestsemaphore,0
-18125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-18125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-18125100,Core_2,0,C,Core_2,0,lock
-18125100,TASK_WritingActuator,9,SEM,SEM_DataElement1,0,assigned,1
-18125150,TASK_WritingActuator,9,R,FUNC_SEMLOCK,18,terminate
-18125150,Core_2,0,C,Core_2,0,unlock
-18125150,TASK_WritingActuator,9,R,FUNC_WriteData,9,start
-18150000,SIM,-1,STI,TIMER-A_2ms,9,trigger
-18150000,TIMER-A_2ms,9,T,TASK_InputProcessing,9,activate
-18150000,TASK_InputProcessing,9,SCHED,SCHED_Tasks_C1,-1,processactivate
-18150100,TASK_InputProcessing,9,STI,IR_SCHED_Tasks_C1,63,trigger
-18150100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-18150100,TASK_200MS,0,R,FUNC_EXECTIME_1,21,suspend
-18150100,Core_1,0,T,TASK_200MS,0,preempt
-18150100,Core_1,0,C,Core_1,0,idle_execution
-18150100,TASK_200MS,0,C,Core_1,0,idle_execution
-18150100,Core_1,0,T,TASK_InputProcessing,9,start
-18150100,TASK_InputProcessing,9,R,FUNC_SEMLOCK,19,start
-18150100,Core_1,0,C,Core_1,0,execute
-18150100,TASK_InputProcessing,9,C,Core_1,0,execute
-18152150,TASK_WritingActuator,9,SIG,SIG_Mixture,0,write,0
-18152150,TASK_WritingActuator,9,R,FUNC_WriteData,9,terminate
-18152150,TASK_WritingActuator,9,R,FUNC_SEMUNLOCK,18,start
-18250000,SIM,-1,STI,TIMER-1MS,18,trigger
-18250000,TIMER-1MS,18,T,TASK_1MS,18,activate
-18250000,TASK_1MS,18,SCHED,SCHED_Tasks_C1,-1,processactivate
-18250100,TASK_1MS,18,STI,IR_SCHED_Tasks_C1,64,trigger
-18250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-18250100,TASK_InputProcessing,9,R,FUNC_SEMLOCK,19,suspend
-18250100,Core_1,0,T,TASK_InputProcessing,9,preempt
-18250100,Core_1,0,C,Core_1,0,idle_execution
-18250100,TASK_InputProcessing,9,C,Core_1,0,idle_execution
-18250100,Core_1,0,T,TASK_1MS,18,start
-18250100,TASK_1MS,18,R,FUNC_EXECTIME_1,38,start
-18250100,Core_1,0,C,Core_1,0,execute
-18250100,TASK_1MS,18,C,Core_1,0,execute
-18352150,TASK_WritingActuator,9,SEM,SEM_DataElement1,0,released,1
-18352150,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-18352150,TASK_WritingActuator,9,SCHED,SCHED_Tasks_C2,-1,schedulepoint
-18352150,Core_2,0,C,Core_2,0,lock
-18352200,TASK_WritingActuator,9,R,FUNC_SEMUNLOCK,18,terminate
-18352200,Core_2,0,T,TASK_WritingActuator,9,terminate
-18352200,TASK_WritingActuator,9,SCHED,SCHED_Tasks_C2,-1,processterminate
-18352200,Core_2,0,C,Core_2,0,unlock
-18352200,Core_2,0,C,Core_2,0,idle
-18352200,TASK_WritingActuator,9,C,Core_2,0,idle
-18352250,TASK_WritingActuator,9,STI,IR_SCHED_Tasks_C2,61,trigger
-18352250,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-18352250,Core_2,0,T,TASK_5MS,9,start
-18352250,TASK_5MS,9,R,FUNC_EXECTIME_1,37,start
-18352250,Core_2,0,C,Core_2,0,execute
-18352250,TASK_5MS,9,C,Core_2,0,execute
-18646275,TASK_1MS,18,R,FUNC_EXECTIME_1,38,terminate
-18646275,Core_1,0,T,TASK_1MS,18,terminate
-18646275,TASK_1MS,18,SCHED,SCHED_Tasks_C1,-1,processterminate
-18646275,Core_1,0,C,Core_1,0,idle
-18646275,TASK_1MS,18,C,Core_1,0,idle
-18646375,TASK_1MS,18,STI,IR_SCHED_Tasks_C1,65,trigger
-18646375,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-18646375,Core_1,0,C,Core_1,0,execute_idle
-18646375,TASK_InputProcessing,9,C,Core_1,0,execute_idle
-18646375,Core_1,0,T,TASK_InputProcessing,9,resume
-18646375,TASK_InputProcessing,9,R,FUNC_SEMLOCK,19,resume
-18671375,TASK_InputProcessing,9,SEM,SEM_DataElement1,0,requestsemaphore,0
-18671375,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-18671375,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-18671375,Core_1,0,C,Core_1,0,lock
-18671375,TASK_InputProcessing,9,SEM,SEM_DataElement1,0,assigned,1
-18671425,TASK_InputProcessing,9,R,FUNC_SEMLOCK,19,terminate
-18671425,Core_1,0,C,Core_1,0,unlock
-18671425,TASK_InputProcessing,9,R,FUNC_ReadSensorData,9,start
-18774350,TASK_5MS,9,R,FUNC_EXECTIME_1,37,terminate
-18774350,Core_2,0,T,TASK_5MS,9,terminate
-18774350,TASK_5MS,9,SCHED,SCHED_Tasks_C2,-1,processterminate
-18774350,Core_2,0,C,Core_2,0,idle
-18774350,TASK_5MS,9,C,Core_2,0,idle
-18774450,TASK_5MS,9,STI,IR_SCHED_Tasks_C2,62,trigger
-18774450,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-18834650,TASK_InputProcessing,9,SIG,SIG_RotationSpeed,0,read,0
-18834650,TASK_InputProcessing,9,SIG,SIG_Lambda,0,read,0
-18834650,TASK_InputProcessing,9,SIG,SIG_Temperature,0,read,0
-18834650,TASK_InputProcessing,9,R,FUNC_ReadSensorData,9,terminate
-18834650,TASK_InputProcessing,9,R,FUNC_SEMUNLOCK,19,start
-19034650,TASK_InputProcessing,9,SEM,SEM_DataElement1,0,released,1
-19034650,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-19034650,TASK_InputProcessing,9,SCHED,SCHED_Tasks_C1,-1,schedulepoint
-19034650,Core_1,0,C,Core_1,0,lock
-19034700,TASK_InputProcessing,9,R,FUNC_SEMUNLOCK,19,terminate
-19034700,Core_1,0,C,Core_1,0,unlock
-19034700,TASK_InputProcessing,9,STI,IPA_InputReady,9,trigger
-19034700,IPA_InputReady,9,T,TASK_CalcEngineSpeed,9,activate
-19034700,TASK_CalcEngineSpeed,9,SCHED,SCHED_Tasks_C2,-1,processactivate
-19034700,Core_1,0,T,TASK_InputProcessing,9,terminate
-19034700,TASK_InputProcessing,9,SCHED,SCHED_Tasks_C1,-1,processterminate
-19034700,Core_1,0,C,Core_1,0,idle
-19034700,TASK_InputProcessing,9,C,Core_1,0,idle
-19034750,TASK_InputProcessing,9,STI,IR_SCHED_Tasks_C1,66,trigger
-19034750,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-19034750,Core_1,0,C,Core_1,0,execute_idle
-19034750,TASK_200MS,0,C,Core_1,0,execute_idle
-19034750,Core_1,0,T,TASK_200MS,0,resume
-19034750,TASK_200MS,0,R,FUNC_EXECTIME_1,21,resume
-19034800,TASK_CalcEngineSpeed,9,STI,IR_SCHED_Tasks_C2,63,trigger
-19034800,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-19034800,Core_2,0,T,TASK_CalcEngineSpeed,9,start
-19034800,TASK_CalcEngineSpeed,9,R,FUNC_ENGINESPEED,9,start
-19034800,Core_2,0,C,Core_2,0,execute
-19034800,TASK_CalcEngineSpeed,9,C,Core_2,0,execute
-19206575,TASK_CalcEngineSpeed,9,R,FUNC_ENGINESPEED,9,terminate
-19206575,Core_2,0,T,TASK_CalcEngineSpeed,9,terminate
-19206575,TASK_CalcEngineSpeed,9,SCHED,SCHED_Tasks_C2,-1,processterminate
-19206575,Core_2,0,C,Core_2,0,idle
-19206575,TASK_CalcEngineSpeed,9,C,Core_2,0,idle
-19206675,TASK_CalcEngineSpeed,9,STI,IR_SCHED_Tasks_C2,64,trigger
-19206675,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-19250000,SIM,-1,STI,TIMER-1MS,19,trigger
-19250000,TIMER-1MS,19,T,TASK_1MS,19,activate
-19250000,TASK_1MS,19,SCHED,SCHED_Tasks_C1,-1,processactivate
-19250100,TASK_1MS,19,STI,IR_SCHED_Tasks_C1,67,trigger
-19250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-19250100,TASK_200MS,0,R,FUNC_EXECTIME_1,21,suspend
-19250100,Core_1,0,T,TASK_200MS,0,preempt
-19250100,Core_1,0,C,Core_1,0,idle_execution
-19250100,TASK_200MS,0,C,Core_1,0,idle_execution
-19250100,Core_1,0,T,TASK_1MS,19,start
-19250100,TASK_1MS,19,R,FUNC_EXECTIME_1,39,start
-19250100,Core_1,0,C,Core_1,0,execute
-19250100,TASK_1MS,19,C,Core_1,0,execute
-19984650,TASK_1MS,19,R,FUNC_EXECTIME_1,39,terminate
-19984650,Core_1,0,T,TASK_1MS,19,terminate
-19984650,TASK_1MS,19,SCHED,SCHED_Tasks_C1,-1,processterminate
-19984650,Core_1,0,C,Core_1,0,idle
-19984650,TASK_1MS,19,C,Core_1,0,idle
-19984750,TASK_1MS,19,STI,IR_SCHED_Tasks_C1,68,trigger
-19984750,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-19984750,Core_1,0,C,Core_1,0,execute_idle
-19984750,TASK_200MS,0,C,Core_1,0,execute_idle
-19984750,Core_1,0,T,TASK_200MS,0,resume
-19984750,TASK_200MS,0,R,FUNC_EXECTIME_1,21,resume
-20000000,SIM,-1,STI,TIMER-B_2ms,10,trigger
-20000000,TIMER-B_2ms,10,T,TASK_WritingActuator,10,activate
-20000000,TASK_WritingActuator,10,SCHED,SCHED_Tasks_C2,-1,processactivate
-20000000,SIM,-1,STI,TIMER-10MS_2,2,trigger
-20000000,TIMER-10MS_2,2,T,TASK_10MS_DL2,2,activate
-20000000,TASK_10MS_DL2,2,SCHED,SCHED_Tasks_C1,-1,processactivate
-20000100,TASK_WritingActuator,10,STI,IR_SCHED_Tasks_C2,65,trigger
-20000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-20000100,Core_2,0,T,TASK_WritingActuator,10,start
-20000100,TASK_WritingActuator,10,R,FUNC_SEMLOCK,20,start
-20000100,Core_2,0,C,Core_2,0,execute
-20000100,TASK_WritingActuator,10,C,Core_2,0,execute
-20000100,TASK_10MS_DL2,2,STI,IR_SCHED_Tasks_C1,69,trigger
-20000100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-20000100,TASK_200MS,0,R,FUNC_EXECTIME_1,21,suspend
-20000100,Core_1,0,T,TASK_200MS,0,preempt
-20000100,Core_1,0,C,Core_1,0,idle_execution
-20000100,TASK_200MS,0,C,Core_1,0,idle_execution
-20000100,Core_1,0,T,TASK_10MS_DL2,2,start
-20000100,TASK_10MS_DL2,2,R,FUNC_EXECTIME_1,40,start
-20000100,Core_1,0,C,Core_1,0,execute
-20000100,TASK_10MS_DL2,2,C,Core_1,0,execute
-20005000,SIM,-1,STI,TIMER-20MS,1,trigger
-20005000,TIMER-20MS,1,T,TASK_20MS,1,activate
-20005000,TASK_20MS,1,SCHED,SCHED_Tasks_C1,-1,processactivate
-20005100,TASK_20MS,1,STI,IR_SCHED_Tasks_C1,70,trigger
-20005100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-20100000,SIM,-1,STI,TIMER-5MS,10,trigger
-20100000,TIMER-5MS,10,T,TASK_5MS,10,activate
-20100000,TASK_5MS,10,SCHED,SCHED_Tasks_C2,-1,processactivate
-20100100,TASK_5MS,10,STI,IR_SCHED_Tasks_C2,66,trigger
-20100100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-20125100,TASK_WritingActuator,10,SEM,SEM_DataElement1,0,requestsemaphore,0
-20125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-20125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-20125100,Core_2,0,C,Core_2,0,lock
-20125100,TASK_WritingActuator,10,SEM,SEM_DataElement1,0,assigned,1
-20125150,TASK_WritingActuator,10,R,FUNC_SEMLOCK,20,terminate
-20125150,Core_2,0,C,Core_2,0,unlock
-20125150,TASK_WritingActuator,10,R,FUNC_WriteData,10,start
-20150000,SIM,-1,STI,TIMER-A_2ms,10,trigger
-20150000,TIMER-A_2ms,10,T,TASK_InputProcessing,10,activate
-20150000,TASK_InputProcessing,10,SCHED,SCHED_Tasks_C1,-1,processactivate
-20150100,TASK_InputProcessing,10,STI,IR_SCHED_Tasks_C1,71,trigger
-20150100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-20152050,TASK_WritingActuator,10,SIG,SIG_Mixture,0,write,0
-20152050,TASK_WritingActuator,10,R,FUNC_WriteData,10,terminate
-20152050,TASK_WritingActuator,10,R,FUNC_SEMUNLOCK,20,start
-20250000,SIM,-1,STI,TIMER-1MS,20,trigger
-20250000,TIMER-1MS,20,T,TASK_1MS,20,activate
-20250000,TASK_1MS,20,SCHED,SCHED_Tasks_C1,-1,processactivate
-20250100,TASK_1MS,20,STI,IR_SCHED_Tasks_C1,72,trigger
-20250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-20250100,TASK_10MS_DL2,2,R,FUNC_EXECTIME_1,40,suspend
-20250100,Core_1,0,T,TASK_10MS_DL2,2,preempt
-20250100,Core_1,0,C,Core_1,0,idle_execution
-20250100,TASK_10MS_DL2,2,C,Core_1,0,idle_execution
-20250100,Core_1,0,T,TASK_1MS,20,start
-20250100,TASK_1MS,20,R,FUNC_EXECTIME_1,43,start
-20250100,Core_1,0,C,Core_1,0,execute
-20250100,TASK_1MS,20,C,Core_1,0,execute
-20352050,TASK_WritingActuator,10,SEM,SEM_DataElement1,0,released,1
-20352050,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-20352050,TASK_WritingActuator,10,SCHED,SCHED_Tasks_C2,-1,schedulepoint
-20352050,Core_2,0,C,Core_2,0,lock
-20352100,TASK_WritingActuator,10,R,FUNC_SEMUNLOCK,20,terminate
-20352100,Core_2,0,T,TASK_WritingActuator,10,terminate
-20352100,TASK_WritingActuator,10,SCHED,SCHED_Tasks_C2,-1,processterminate
-20352100,Core_2,0,C,Core_2,0,unlock
-20352100,Core_2,0,C,Core_2,0,idle
-20352100,TASK_WritingActuator,10,C,Core_2,0,idle
-20352150,TASK_WritingActuator,10,STI,IR_SCHED_Tasks_C2,67,trigger
-20352150,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-20352150,Core_2,0,T,TASK_5MS,10,start
-20352150,TASK_5MS,10,R,FUNC_EXECTIME_1,42,start
-20352150,Core_2,0,C,Core_2,0,execute
-20352150,TASK_5MS,10,C,Core_2,0,execute
-20616900,TASK_1MS,20,R,FUNC_EXECTIME_1,43,terminate
-20616900,Core_1,0,T,TASK_1MS,20,terminate
-20616900,TASK_1MS,20,SCHED,SCHED_Tasks_C1,-1,processterminate
-20616900,Core_1,0,C,Core_1,0,idle
-20616900,TASK_1MS,20,C,Core_1,0,idle
-20617000,TASK_1MS,20,STI,IR_SCHED_Tasks_C1,73,trigger
-20617000,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-20617000,Core_1,0,C,Core_1,0,execute_idle
-20617000,TASK_10MS_DL2,2,C,Core_1,0,execute_idle
-20617000,Core_1,0,T,TASK_10MS_DL2,2,resume
-20617000,TASK_10MS_DL2,2,R,FUNC_EXECTIME_1,40,resume
-20833625,TASK_5MS,10,R,FUNC_EXECTIME_1,42,terminate
-20833625,Core_2,0,T,TASK_5MS,10,terminate
-20833625,TASK_5MS,10,SCHED,SCHED_Tasks_C2,-1,processterminate
-20833625,Core_2,0,C,Core_2,0,idle
-20833625,TASK_5MS,10,C,Core_2,0,idle
-20833725,TASK_5MS,10,STI,IR_SCHED_Tasks_C2,68,trigger
-20833725,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-21094525,TASK_10MS_DL2,2,R,FUNC_EXECTIME_1,40,terminate
-21094525,Core_1,0,T,TASK_10MS_DL2,2,terminate
-21094525,TASK_10MS_DL2,2,SCHED,SCHED_Tasks_C1,-1,processterminate
-21094525,Core_1,0,C,Core_1,0,idle
-21094525,TASK_10MS_DL2,2,C,Core_1,0,idle
-21094625,TASK_10MS_DL2,2,STI,IR_SCHED_Tasks_C1,74,trigger
-21094625,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-21094625,Core_1,0,T,TASK_InputProcessing,10,start
-21094625,TASK_InputProcessing,10,R,FUNC_SEMLOCK,21,start
-21094625,Core_1,0,C,Core_1,0,execute
-21094625,TASK_InputProcessing,10,C,Core_1,0,execute
-21219625,TASK_InputProcessing,10,SEM,SEM_DataElement1,0,requestsemaphore,0
-21219625,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-21219625,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-21219625,Core_1,0,C,Core_1,0,lock
-21219625,TASK_InputProcessing,10,SEM,SEM_DataElement1,0,assigned,1
-21219675,TASK_InputProcessing,10,R,FUNC_SEMLOCK,21,terminate
-21219675,Core_1,0,C,Core_1,0,unlock
-21219675,TASK_InputProcessing,10,R,FUNC_ReadSensorData,10,start
-21250000,SIM,-1,STI,TIMER-1MS,21,trigger
-21250000,TIMER-1MS,21,T,TASK_1MS,21,activate
-21250000,TASK_1MS,21,SCHED,SCHED_Tasks_C1,-1,processactivate
-21250100,TASK_1MS,21,STI,IR_SCHED_Tasks_C1,75,trigger
-21250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-21381500,TASK_InputProcessing,10,SIG,SIG_RotationSpeed,0,read,0
-21381500,TASK_InputProcessing,10,SIG,SIG_Lambda,0,read,0
-21381500,TASK_InputProcessing,10,SIG,SIG_Temperature,0,read,0
-21381500,TASK_InputProcessing,10,R,FUNC_ReadSensorData,10,terminate
-21381500,TASK_InputProcessing,10,R,FUNC_SEMUNLOCK,21,start
-21581500,TASK_InputProcessing,10,SEM,SEM_DataElement1,0,released,1
-21581500,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-21581500,TASK_InputProcessing,10,SCHED,SCHED_Tasks_C1,-1,schedulepoint
-21581500,Core_1,0,C,Core_1,0,lock
-21581550,TASK_InputProcessing,10,R,FUNC_SEMUNLOCK,21,terminate
-21581550,Core_1,0,C,Core_1,0,unlock
-21581550,TASK_InputProcessing,10,STI,IPA_InputReady,10,trigger
-21581550,IPA_InputReady,10,T,TASK_CalcEngineSpeed,10,activate
-21581550,TASK_CalcEngineSpeed,10,SCHED,SCHED_Tasks_C2,-1,processactivate
-21581550,Core_1,0,T,TASK_InputProcessing,10,terminate
-21581550,TASK_InputProcessing,10,SCHED,SCHED_Tasks_C1,-1,processterminate
-21581550,Core_1,0,C,Core_1,0,idle
-21581550,TASK_InputProcessing,10,C,Core_1,0,idle
-21581600,TASK_InputProcessing,10,STI,IR_SCHED_Tasks_C1,76,trigger
-21581600,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-21581600,Core_1,0,T,TASK_1MS,21,start
-21581600,TASK_1MS,21,R,FUNC_EXECTIME_1,44,start
-21581600,Core_1,0,C,Core_1,0,execute
-21581600,TASK_1MS,21,C,Core_1,0,execute
-21581650,TASK_CalcEngineSpeed,10,STI,IR_SCHED_Tasks_C2,69,trigger
-21581650,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-21581650,Core_2,0,T,TASK_CalcEngineSpeed,10,start
-21581650,TASK_CalcEngineSpeed,10,R,FUNC_ENGINESPEED,10,start
-21581650,Core_2,0,C,Core_2,0,execute
-21581650,TASK_CalcEngineSpeed,10,C,Core_2,0,execute
-21828700,TASK_CalcEngineSpeed,10,R,FUNC_ENGINESPEED,10,terminate
-21828700,Core_2,0,T,TASK_CalcEngineSpeed,10,terminate
-21828700,TASK_CalcEngineSpeed,10,SCHED,SCHED_Tasks_C2,-1,processterminate
-21828700,Core_2,0,C,Core_2,0,idle
-21828700,TASK_CalcEngineSpeed,10,C,Core_2,0,idle
-21828800,TASK_CalcEngineSpeed,10,STI,IR_SCHED_Tasks_C2,70,trigger
-21828800,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-22000000,SIM,-1,STI,TIMER-B_2ms,11,trigger
-22000000,TIMER-B_2ms,11,T,TASK_WritingActuator,11,activate
-22000000,TASK_WritingActuator,11,SCHED,SCHED_Tasks_C2,-1,processactivate
-22000100,TASK_WritingActuator,11,STI,IR_SCHED_Tasks_C2,71,trigger
-22000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-22000100,Core_2,0,T,TASK_WritingActuator,11,start
-22000100,TASK_WritingActuator,11,R,FUNC_SEMLOCK,22,start
-22000100,Core_2,0,C,Core_2,0,execute
-22000100,TASK_WritingActuator,11,C,Core_2,0,execute
-22004900,TASK_1MS,21,R,FUNC_EXECTIME_1,44,terminate
-22004900,Core_1,0,T,TASK_1MS,21,terminate
-22004900,TASK_1MS,21,SCHED,SCHED_Tasks_C1,-1,processterminate
-22004900,Core_1,0,C,Core_1,0,idle
-22004900,TASK_1MS,21,C,Core_1,0,idle
-22005000,TASK_1MS,21,STI,IR_SCHED_Tasks_C1,77,trigger
-22005000,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-22005000,Core_1,0,T,TASK_20MS,1,start
-22005000,TASK_20MS,1,R,FUNC_EXECTIME_1,41,start
-22005000,Core_1,0,C,Core_1,0,execute
-22005000,TASK_20MS,1,C,Core_1,0,execute
-22100000,SIM,-1,STI,TIMER-5MS,11,trigger
-22100000,TIMER-5MS,11,T,TASK_5MS,11,activate
-22100000,TASK_5MS,11,SCHED,SCHED_Tasks_C2,-1,processactivate
-22100100,TASK_5MS,11,STI,IR_SCHED_Tasks_C2,72,trigger
-22100100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-22125100,TASK_WritingActuator,11,SEM,SEM_DataElement1,0,requestsemaphore,0
-22125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-22125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-22125100,Core_2,0,C,Core_2,0,lock
-22125100,TASK_WritingActuator,11,SEM,SEM_DataElement1,0,assigned,1
-22125150,TASK_WritingActuator,11,R,FUNC_SEMLOCK,22,terminate
-22125150,Core_2,0,C,Core_2,0,unlock
-22125150,TASK_WritingActuator,11,R,FUNC_WriteData,11,start
-22150000,SIM,-1,STI,TIMER-A_2ms,11,trigger
-22150000,TIMER-A_2ms,11,T,TASK_InputProcessing,11,activate
-22150000,TASK_InputProcessing,11,SCHED,SCHED_Tasks_C1,-1,processactivate
-22150100,TASK_InputProcessing,11,STI,IR_SCHED_Tasks_C1,78,trigger
-22150100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-22150100,TASK_20MS,1,R,FUNC_EXECTIME_1,41,suspend
-22150100,Core_1,0,T,TASK_20MS,1,preempt
-22150100,Core_1,0,C,Core_1,0,idle_execution
-22150100,TASK_20MS,1,C,Core_1,0,idle_execution
-22150100,Core_1,0,T,TASK_InputProcessing,11,start
-22150100,TASK_InputProcessing,11,R,FUNC_SEMLOCK,23,start
-22150100,Core_1,0,C,Core_1,0,execute
-22150100,TASK_InputProcessing,11,C,Core_1,0,execute
-22152075,TASK_WritingActuator,11,SIG,SIG_Mixture,0,write,0
-22152075,TASK_WritingActuator,11,R,FUNC_WriteData,11,terminate
-22152075,TASK_WritingActuator,11,R,FUNC_SEMUNLOCK,22,start
-22250000,SIM,-1,STI,TIMER-1MS,22,trigger
-22250000,TIMER-1MS,22,T,TASK_1MS,22,activate
-22250000,TASK_1MS,22,SCHED,SCHED_Tasks_C1,-1,processactivate
-22250100,TASK_1MS,22,STI,IR_SCHED_Tasks_C1,79,trigger
-22250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-22250100,TASK_InputProcessing,11,R,FUNC_SEMLOCK,23,suspend
-22250100,Core_1,0,T,TASK_InputProcessing,11,preempt
-22250100,Core_1,0,C,Core_1,0,idle_execution
-22250100,TASK_InputProcessing,11,C,Core_1,0,idle_execution
-22250100,Core_1,0,T,TASK_1MS,22,start
-22250100,TASK_1MS,22,R,FUNC_EXECTIME_1,46,start
-22250100,Core_1,0,C,Core_1,0,execute
-22250100,TASK_1MS,22,C,Core_1,0,execute
-22352075,TASK_WritingActuator,11,SEM,SEM_DataElement1,0,released,1
-22352075,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-22352075,TASK_WritingActuator,11,SCHED,SCHED_Tasks_C2,-1,schedulepoint
-22352075,Core_2,0,C,Core_2,0,lock
-22352125,TASK_WritingActuator,11,R,FUNC_SEMUNLOCK,22,terminate
-22352125,Core_2,0,T,TASK_WritingActuator,11,terminate
-22352125,TASK_WritingActuator,11,SCHED,SCHED_Tasks_C2,-1,processterminate
-22352125,Core_2,0,C,Core_2,0,unlock
-22352125,Core_2,0,C,Core_2,0,idle
-22352125,TASK_WritingActuator,11,C,Core_2,0,idle
-22352175,TASK_WritingActuator,11,STI,IR_SCHED_Tasks_C2,73,trigger
-22352175,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-22352175,Core_2,0,T,TASK_5MS,11,start
-22352175,TASK_5MS,11,R,FUNC_EXECTIME_1,45,start
-22352175,Core_2,0,C,Core_2,0,execute
-22352175,TASK_5MS,11,C,Core_2,0,execute
-22629375,TASK_1MS,22,R,FUNC_EXECTIME_1,46,terminate
-22629375,Core_1,0,T,TASK_1MS,22,terminate
-22629375,TASK_1MS,22,SCHED,SCHED_Tasks_C1,-1,processterminate
-22629375,Core_1,0,C,Core_1,0,idle
-22629375,TASK_1MS,22,C,Core_1,0,idle
-22629475,TASK_1MS,22,STI,IR_SCHED_Tasks_C1,80,trigger
-22629475,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-22629475,Core_1,0,C,Core_1,0,execute_idle
-22629475,TASK_InputProcessing,11,C,Core_1,0,execute_idle
-22629475,Core_1,0,T,TASK_InputProcessing,11,resume
-22629475,TASK_InputProcessing,11,R,FUNC_SEMLOCK,23,resume
-22654475,TASK_InputProcessing,11,SEM,SEM_DataElement1,0,requestsemaphore,0
-22654475,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-22654475,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-22654475,Core_1,0,C,Core_1,0,lock
-22654475,TASK_InputProcessing,11,SEM,SEM_DataElement1,0,assigned,1
-22654525,TASK_InputProcessing,11,R,FUNC_SEMLOCK,23,terminate
-22654525,Core_1,0,C,Core_1,0,unlock
-22654525,TASK_InputProcessing,11,R,FUNC_ReadSensorData,11,start
-22698500,TASK_5MS,11,R,FUNC_EXECTIME_1,45,terminate
-22698500,Core_2,0,T,TASK_5MS,11,terminate
-22698500,TASK_5MS,11,SCHED,SCHED_Tasks_C2,-1,processterminate
-22698500,Core_2,0,C,Core_2,0,idle
-22698500,TASK_5MS,11,C,Core_2,0,idle
-22698600,TASK_5MS,11,STI,IR_SCHED_Tasks_C2,74,trigger
-22698600,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-22814375,TASK_InputProcessing,11,SIG,SIG_RotationSpeed,0,read,0
-22814375,TASK_InputProcessing,11,SIG,SIG_Lambda,0,read,0
-22814375,TASK_InputProcessing,11,SIG,SIG_Temperature,0,read,0
-22814375,TASK_InputProcessing,11,R,FUNC_ReadSensorData,11,terminate
-22814375,TASK_InputProcessing,11,R,FUNC_SEMUNLOCK,23,start
-23014375,TASK_InputProcessing,11,SEM,SEM_DataElement1,0,released,1
-23014375,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-23014375,TASK_InputProcessing,11,SCHED,SCHED_Tasks_C1,-1,schedulepoint
-23014375,Core_1,0,C,Core_1,0,lock
-23014425,TASK_InputProcessing,11,R,FUNC_SEMUNLOCK,23,terminate
-23014425,Core_1,0,C,Core_1,0,unlock
-23014425,TASK_InputProcessing,11,STI,IPA_InputReady,11,trigger
-23014425,IPA_InputReady,11,T,TASK_CalcEngineSpeed,11,activate
-23014425,TASK_CalcEngineSpeed,11,SCHED,SCHED_Tasks_C2,-1,processactivate
-23014425,Core_1,0,T,TASK_InputProcessing,11,terminate
-23014425,TASK_InputProcessing,11,SCHED,SCHED_Tasks_C1,-1,processterminate
-23014425,Core_1,0,C,Core_1,0,idle
-23014425,TASK_InputProcessing,11,C,Core_1,0,idle
-23014475,TASK_InputProcessing,11,STI,IR_SCHED_Tasks_C1,81,trigger
-23014475,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-23014475,Core_1,0,C,Core_1,0,execute_idle
-23014475,TASK_20MS,1,C,Core_1,0,execute_idle
-23014475,Core_1,0,T,TASK_20MS,1,resume
-23014475,TASK_20MS,1,R,FUNC_EXECTIME_1,41,resume
-23014525,TASK_CalcEngineSpeed,11,STI,IR_SCHED_Tasks_C2,75,trigger
-23014525,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-23014525,Core_2,0,T,TASK_CalcEngineSpeed,11,start
-23014525,TASK_CalcEngineSpeed,11,R,FUNC_ENGINESPEED,11,start
-23014525,Core_2,0,C,Core_2,0,execute
-23014525,TASK_CalcEngineSpeed,11,C,Core_2,0,execute
-23238975,TASK_CalcEngineSpeed,11,R,FUNC_ENGINESPEED,11,terminate
-23238975,Core_2,0,T,TASK_CalcEngineSpeed,11,terminate
-23238975,TASK_CalcEngineSpeed,11,SCHED,SCHED_Tasks_C2,-1,processterminate
-23238975,Core_2,0,C,Core_2,0,idle
-23238975,TASK_CalcEngineSpeed,11,C,Core_2,0,idle
-23239075,TASK_CalcEngineSpeed,11,STI,IR_SCHED_Tasks_C2,76,trigger
-23239075,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-23250000,SIM,-1,STI,TIMER-1MS,23,trigger
-23250000,TIMER-1MS,23,T,TASK_1MS,23,activate
-23250000,TASK_1MS,23,SCHED,SCHED_Tasks_C1,-1,processactivate
-23250100,TASK_1MS,23,STI,IR_SCHED_Tasks_C1,82,trigger
-23250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-23250100,TASK_20MS,1,R,FUNC_EXECTIME_1,41,suspend
-23250100,Core_1,0,T,TASK_20MS,1,preempt
-23250100,Core_1,0,C,Core_1,0,idle_execution
-23250100,TASK_20MS,1,C,Core_1,0,idle_execution
-23250100,Core_1,0,T,TASK_1MS,23,start
-23250100,TASK_1MS,23,R,FUNC_EXECTIME_1,47,start
-23250100,Core_1,0,C,Core_1,0,execute
-23250100,TASK_1MS,23,C,Core_1,0,execute
-23767850,TASK_1MS,23,R,FUNC_EXECTIME_1,47,terminate
-23767850,Core_1,0,T,TASK_1MS,23,terminate
-23767850,TASK_1MS,23,SCHED,SCHED_Tasks_C1,-1,processterminate
-23767850,Core_1,0,C,Core_1,0,idle
-23767850,TASK_1MS,23,C,Core_1,0,idle
-23767950,TASK_1MS,23,STI,IR_SCHED_Tasks_C1,83,trigger
-23767950,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-23767950,Core_1,0,C,Core_1,0,execute_idle
-23767950,TASK_20MS,1,C,Core_1,0,execute_idle
-23767950,Core_1,0,T,TASK_20MS,1,resume
-23767950,TASK_20MS,1,R,FUNC_EXECTIME_1,41,resume
-23884775,TASK_20MS,1,R,FUNC_EXECTIME_1,41,terminate
-23884775,Core_1,0,T,TASK_20MS,1,terminate
-23884775,TASK_20MS,1,SCHED,SCHED_Tasks_C1,-1,processterminate
-23884775,Core_1,0,C,Core_1,0,idle
-23884775,TASK_20MS,1,C,Core_1,0,idle
-23884875,TASK_20MS,1,STI,IR_SCHED_Tasks_C1,84,trigger
-23884875,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-23884875,Core_1,0,C,Core_1,0,execute_idle
-23884875,TASK_200MS,0,C,Core_1,0,execute_idle
-23884875,Core_1,0,T,TASK_200MS,0,resume
-23884875,TASK_200MS,0,R,FUNC_EXECTIME_1,21,resume
-24000000,SIM,-1,STI,TIMER-B_2ms,12,trigger
-24000000,TIMER-B_2ms,12,T,TASK_WritingActuator,12,activate
-24000000,TASK_WritingActuator,12,SCHED,SCHED_Tasks_C2,-1,processactivate
-24000100,TASK_WritingActuator,12,STI,IR_SCHED_Tasks_C2,77,trigger
-24000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-24000100,Core_2,0,T,TASK_WritingActuator,12,start
-24000100,TASK_WritingActuator,12,R,FUNC_SEMLOCK,24,start
-24000100,Core_2,0,C,Core_2,0,execute
-24000100,TASK_WritingActuator,12,C,Core_2,0,execute
-24100000,SIM,-1,STI,TIMER-5MS,12,trigger
-24100000,TIMER-5MS,12,T,TASK_5MS,12,activate
-24100000,TASK_5MS,12,SCHED,SCHED_Tasks_C2,-1,processactivate
-24100100,TASK_5MS,12,STI,IR_SCHED_Tasks_C2,78,trigger
-24100100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-24125100,TASK_WritingActuator,12,SEM,SEM_DataElement1,0,requestsemaphore,0
-24125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-24125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-24125100,Core_2,0,C,Core_2,0,lock
-24125100,TASK_WritingActuator,12,SEM,SEM_DataElement1,0,assigned,1
-24125150,TASK_WritingActuator,12,R,FUNC_SEMLOCK,24,terminate
-24125150,Core_2,0,C,Core_2,0,unlock
-24125150,TASK_WritingActuator,12,R,FUNC_WriteData,12,start
-24150000,SIM,-1,STI,TIMER-A_2ms,12,trigger
-24150000,TIMER-A_2ms,12,T,TASK_InputProcessing,12,activate
-24150000,TASK_InputProcessing,12,SCHED,SCHED_Tasks_C1,-1,processactivate
-24150100,TASK_InputProcessing,12,STI,IR_SCHED_Tasks_C1,85,trigger
-24150100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-24150100,TASK_200MS,0,R,FUNC_EXECTIME_1,21,suspend
-24150100,Core_1,0,T,TASK_200MS,0,preempt
-24150100,Core_1,0,C,Core_1,0,idle_execution
-24150100,TASK_200MS,0,C,Core_1,0,idle_execution
-24150100,Core_1,0,T,TASK_InputProcessing,12,start
-24150100,TASK_InputProcessing,12,R,FUNC_SEMLOCK,25,start
-24150100,Core_1,0,C,Core_1,0,execute
-24150100,TASK_InputProcessing,12,C,Core_1,0,execute
-24152300,TASK_WritingActuator,12,SIG,SIG_Mixture,0,write,0
-24152300,TASK_WritingActuator,12,R,FUNC_WriteData,12,terminate
-24152300,TASK_WritingActuator,12,R,FUNC_SEMUNLOCK,24,start
-24250000,SIM,-1,STI,TIMER-1MS,24,trigger
-24250000,TIMER-1MS,24,T,TASK_1MS,24,activate
-24250000,TASK_1MS,24,SCHED,SCHED_Tasks_C1,-1,processactivate
-24250100,TASK_1MS,24,STI,IR_SCHED_Tasks_C1,86,trigger
-24250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-24250100,TASK_InputProcessing,12,R,FUNC_SEMLOCK,25,suspend
-24250100,Core_1,0,T,TASK_InputProcessing,12,preempt
-24250100,Core_1,0,C,Core_1,0,idle_execution
-24250100,TASK_InputProcessing,12,C,Core_1,0,idle_execution
-24250100,Core_1,0,T,TASK_1MS,24,start
-24250100,TASK_1MS,24,R,FUNC_EXECTIME_1,49,start
-24250100,Core_1,0,C,Core_1,0,execute
-24250100,TASK_1MS,24,C,Core_1,0,execute
-24352300,TASK_WritingActuator,12,SEM,SEM_DataElement1,0,released,1
-24352300,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-24352300,TASK_WritingActuator,12,SCHED,SCHED_Tasks_C2,-1,schedulepoint
-24352300,Core_2,0,C,Core_2,0,lock
-24352350,TASK_WritingActuator,12,R,FUNC_SEMUNLOCK,24,terminate
-24352350,Core_2,0,T,TASK_WritingActuator,12,terminate
-24352350,TASK_WritingActuator,12,SCHED,SCHED_Tasks_C2,-1,processterminate
-24352350,Core_2,0,C,Core_2,0,unlock
-24352350,Core_2,0,C,Core_2,0,idle
-24352350,TASK_WritingActuator,12,C,Core_2,0,idle
-24352400,TASK_WritingActuator,12,STI,IR_SCHED_Tasks_C2,79,trigger
-24352400,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-24352400,Core_2,0,T,TASK_5MS,12,start
-24352400,TASK_5MS,12,R,FUNC_EXECTIME_1,48,start
-24352400,Core_2,0,C,Core_2,0,execute
-24352400,TASK_5MS,12,C,Core_2,0,execute
-24677675,TASK_1MS,24,R,FUNC_EXECTIME_1,49,terminate
-24677675,Core_1,0,T,TASK_1MS,24,terminate
-24677675,TASK_1MS,24,SCHED,SCHED_Tasks_C1,-1,processterminate
-24677675,Core_1,0,C,Core_1,0,idle
-24677675,TASK_1MS,24,C,Core_1,0,idle
-24677775,TASK_1MS,24,STI,IR_SCHED_Tasks_C1,87,trigger
-24677775,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-24677775,Core_1,0,C,Core_1,0,execute_idle
-24677775,TASK_InputProcessing,12,C,Core_1,0,execute_idle
-24677775,Core_1,0,T,TASK_InputProcessing,12,resume
-24677775,TASK_InputProcessing,12,R,FUNC_SEMLOCK,25,resume
-24702775,TASK_InputProcessing,12,SEM,SEM_DataElement1,0,requestsemaphore,0
-24702775,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-24702775,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-24702775,Core_1,0,C,Core_1,0,lock
-24702775,TASK_InputProcessing,12,SEM,SEM_DataElement1,0,assigned,1
-24702825,TASK_InputProcessing,12,R,FUNC_SEMLOCK,25,terminate
-24702825,Core_1,0,C,Core_1,0,unlock
-24702825,TASK_InputProcessing,12,R,FUNC_ReadSensorData,12,start
-24861250,TASK_InputProcessing,12,SIG,SIG_RotationSpeed,0,read,0
-24861250,TASK_InputProcessing,12,SIG,SIG_Lambda,0,read,0
-24861250,TASK_InputProcessing,12,SIG,SIG_Temperature,0,read,0
-24861250,TASK_InputProcessing,12,R,FUNC_ReadSensorData,12,terminate
-24861250,TASK_InputProcessing,12,R,FUNC_SEMUNLOCK,25,start
-24891325,TASK_5MS,12,R,FUNC_EXECTIME_1,48,terminate
-24891325,Core_2,0,T,TASK_5MS,12,terminate
-24891325,TASK_5MS,12,SCHED,SCHED_Tasks_C2,-1,processterminate
-24891325,Core_2,0,C,Core_2,0,idle
-24891325,TASK_5MS,12,C,Core_2,0,idle
-24891425,TASK_5MS,12,STI,IR_SCHED_Tasks_C2,80,trigger
-24891425,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-25000000,SIM,-1,STI,TIMER-10MS,2,trigger
-25000000,TIMER-10MS,2,T,TASK_10MS,2,activate
-25000000,TASK_10MS,2,SCHED,SCHED_Tasks_C2,-1,processactivate
-25000100,TASK_10MS,2,STI,IR_SCHED_Tasks_C2,81,trigger
-25000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-25000100,Core_2,0,T,TASK_10MS,2,start
-25000100,TASK_10MS,2,R,FUNC_EXECTIME_1,50,start
-25000100,Core_2,0,C,Core_2,0,execute
-25000100,TASK_10MS,2,C,Core_2,0,execute
-25061250,TASK_InputProcessing,12,SEM,SEM_DataElement1,0,released,1
-25061250,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-25061250,TASK_InputProcessing,12,SCHED,SCHED_Tasks_C1,-1,schedulepoint
-25061250,Core_1,0,C,Core_1,0,lock
-25061300,TASK_InputProcessing,12,R,FUNC_SEMUNLOCK,25,terminate
-25061300,Core_1,0,C,Core_1,0,unlock
-25061300,TASK_InputProcessing,12,STI,IPA_InputReady,12,trigger
-25061300,IPA_InputReady,12,T,TASK_CalcEngineSpeed,12,activate
-25061300,TASK_CalcEngineSpeed,12,SCHED,SCHED_Tasks_C2,-1,processactivate
-25061300,Core_1,0,T,TASK_InputProcessing,12,terminate
-25061300,TASK_InputProcessing,12,SCHED,SCHED_Tasks_C1,-1,processterminate
-25061300,Core_1,0,C,Core_1,0,idle
-25061300,TASK_InputProcessing,12,C,Core_1,0,idle
-25061350,TASK_InputProcessing,12,STI,IR_SCHED_Tasks_C1,88,trigger
-25061350,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-25061350,Core_1,0,C,Core_1,0,execute_idle
-25061350,TASK_200MS,0,C,Core_1,0,execute_idle
-25061350,Core_1,0,T,TASK_200MS,0,resume
-25061350,TASK_200MS,0,R,FUNC_EXECTIME_1,21,resume
-25061400,TASK_CalcEngineSpeed,12,STI,IR_SCHED_Tasks_C2,82,trigger
-25061400,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-25061400,TASK_10MS,2,R,FUNC_EXECTIME_1,50,suspend
-25061400,Core_2,0,T,TASK_10MS,2,preempt
-25061400,Core_2,0,C,Core_2,0,idle_execution
-25061400,TASK_10MS,2,C,Core_2,0,idle_execution
-25061400,Core_2,0,T,TASK_CalcEngineSpeed,12,start
-25061400,TASK_CalcEngineSpeed,12,R,FUNC_ENGINESPEED,12,start
-25061400,Core_2,0,C,Core_2,0,execute
-25061400,TASK_CalcEngineSpeed,12,C,Core_2,0,execute
-25180875,TASK_200MS,0,R,FUNC_EXECTIME_1,21,terminate
-25180875,TASK_200MS,0,SCHED,SCHED_Tasks_C1,-1,schedulepoint
-25180875,Core_1,0,T,TASK_200MS,0,preempt
-25180875,Core_1,0,C,Core_1,0,idle
-25180875,TASK_200MS,0,C,Core_1,0,idle
-25180975,TASK_200MS,0,STI,IR_SCHED_Tasks_C1,89,trigger
-25180975,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-25180975,Core_1,0,T,TASK_200MS,0,resume
-25180975,TASK_200MS,0,R,FUNC_EXECTIME_1,51,start
-25180975,Core_1,0,C,Core_1,0,execute
-25180975,TASK_200MS,0,C,Core_1,0,execute
-25236225,TASK_CalcEngineSpeed,12,R,FUNC_ENGINESPEED,12,terminate
-25236225,Core_2,0,T,TASK_CalcEngineSpeed,12,terminate
-25236225,TASK_CalcEngineSpeed,12,SCHED,SCHED_Tasks_C2,-1,processterminate
-25236225,Core_2,0,C,Core_2,0,idle
-25236225,TASK_CalcEngineSpeed,12,C,Core_2,0,idle
-25236325,TASK_CalcEngineSpeed,12,STI,IR_SCHED_Tasks_C2,83,trigger
-25236325,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-25236325,Core_2,0,C,Core_2,0,execute_idle
-25236325,TASK_10MS,2,C,Core_2,0,execute_idle
-25236325,Core_2,0,T,TASK_10MS,2,resume
-25236325,TASK_10MS,2,R,FUNC_EXECTIME_1,50,resume
-25250000,SIM,-1,STI,TIMER-1MS,25,trigger
-25250000,TIMER-1MS,25,T,TASK_1MS,25,activate
-25250000,TASK_1MS,25,SCHED,SCHED_Tasks_C1,-1,processactivate
-25250100,TASK_1MS,25,STI,IR_SCHED_Tasks_C1,90,trigger
-25250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-25250100,TASK_200MS,0,R,FUNC_EXECTIME_1,51,suspend
-25250100,Core_1,0,T,TASK_200MS,0,preempt
-25250100,Core_1,0,C,Core_1,0,idle_execution
-25250100,TASK_200MS,0,C,Core_1,0,idle_execution
-25250100,Core_1,0,T,TASK_1MS,25,start
-25250100,TASK_1MS,25,R,FUNC_EXECTIME_1,52,start
-25250100,Core_1,0,C,Core_1,0,execute
-25250100,TASK_1MS,25,C,Core_1,0,execute
-25619850,TASK_10MS,2,R,FUNC_EXECTIME_1,50,terminate
-25619850,Core_2,0,T,TASK_10MS,2,terminate
-25619850,TASK_10MS,2,SCHED,SCHED_Tasks_C2,-1,processterminate
-25619850,Core_2,0,C,Core_2,0,idle
-25619850,TASK_10MS,2,C,Core_2,0,idle
-25619950,TASK_10MS,2,STI,IR_SCHED_Tasks_C2,84,trigger
-25619950,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-25922300,TASK_1MS,25,R,FUNC_EXECTIME_1,52,terminate
-25922300,Core_1,0,T,TASK_1MS,25,terminate
-25922300,TASK_1MS,25,SCHED,SCHED_Tasks_C1,-1,processterminate
-25922300,Core_1,0,C,Core_1,0,idle
-25922300,TASK_1MS,25,C,Core_1,0,idle
-25922400,TASK_1MS,25,STI,IR_SCHED_Tasks_C1,91,trigger
-25922400,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-25922400,Core_1,0,C,Core_1,0,execute_idle
-25922400,TASK_200MS,0,C,Core_1,0,execute_idle
-25922400,Core_1,0,T,TASK_200MS,0,resume
-25922400,TASK_200MS,0,R,FUNC_EXECTIME_1,51,resume
-26000000,SIM,-1,STI,TIMER-B_2ms,13,trigger
-26000000,TIMER-B_2ms,13,T,TASK_WritingActuator,13,activate
-26000000,TASK_WritingActuator,13,SCHED,SCHED_Tasks_C2,-1,processactivate
-26000100,TASK_WritingActuator,13,STI,IR_SCHED_Tasks_C2,85,trigger
-26000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-26000100,Core_2,0,T,TASK_WritingActuator,13,start
-26000100,TASK_WritingActuator,13,R,FUNC_SEMLOCK,26,start
-26000100,Core_2,0,C,Core_2,0,execute
-26000100,TASK_WritingActuator,13,C,Core_2,0,execute
-26100000,SIM,-1,STI,TIMER-5MS,13,trigger
-26100000,TIMER-5MS,13,T,TASK_5MS,13,activate
-26100000,TASK_5MS,13,SCHED,SCHED_Tasks_C2,-1,processactivate
-26100100,TASK_5MS,13,STI,IR_SCHED_Tasks_C2,86,trigger
-26100100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-26125100,TASK_WritingActuator,13,SEM,SEM_DataElement1,0,requestsemaphore,0
-26125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-26125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-26125100,Core_2,0,C,Core_2,0,lock
-26125100,TASK_WritingActuator,13,SEM,SEM_DataElement1,0,assigned,1
-26125150,TASK_WritingActuator,13,R,FUNC_SEMLOCK,26,terminate
-26125150,Core_2,0,C,Core_2,0,unlock
-26125150,TASK_WritingActuator,13,R,FUNC_WriteData,13,start
-26150000,SIM,-1,STI,TIMER-A_2ms,13,trigger
-26150000,TIMER-A_2ms,13,T,TASK_InputProcessing,13,activate
-26150000,TASK_InputProcessing,13,SCHED,SCHED_Tasks_C1,-1,processactivate
-26150100,TASK_InputProcessing,13,STI,IR_SCHED_Tasks_C1,92,trigger
-26150100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-26150100,TASK_200MS,0,R,FUNC_EXECTIME_1,51,suspend
-26150100,Core_1,0,T,TASK_200MS,0,preempt
-26150100,Core_1,0,C,Core_1,0,idle_execution
-26150100,TASK_200MS,0,C,Core_1,0,idle_execution
-26150100,Core_1,0,T,TASK_InputProcessing,13,start
-26150100,TASK_InputProcessing,13,R,FUNC_SEMLOCK,27,start
-26150100,Core_1,0,C,Core_1,0,execute
-26150100,TASK_InputProcessing,13,C,Core_1,0,execute
-26151475,TASK_WritingActuator,13,SIG,SIG_Mixture,0,write,0
-26151475,TASK_WritingActuator,13,R,FUNC_WriteData,13,terminate
-26151475,TASK_WritingActuator,13,R,FUNC_SEMUNLOCK,26,start
-26250000,SIM,-1,STI,TIMER-1MS,26,trigger
-26250000,TIMER-1MS,26,T,TASK_1MS,26,activate
-26250000,TASK_1MS,26,SCHED,SCHED_Tasks_C1,-1,processactivate
-26250100,TASK_1MS,26,STI,IR_SCHED_Tasks_C1,93,trigger
-26250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-26250100,TASK_InputProcessing,13,R,FUNC_SEMLOCK,27,suspend
-26250100,Core_1,0,T,TASK_InputProcessing,13,preempt
-26250100,Core_1,0,C,Core_1,0,idle_execution
-26250100,TASK_InputProcessing,13,C,Core_1,0,idle_execution
-26250100,Core_1,0,T,TASK_1MS,26,start
-26250100,TASK_1MS,26,R,FUNC_EXECTIME_1,54,start
-26250100,Core_1,0,C,Core_1,0,execute
-26250100,TASK_1MS,26,C,Core_1,0,execute
-26351475,TASK_WritingActuator,13,SEM,SEM_DataElement1,0,released,1
-26351475,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-26351475,TASK_WritingActuator,13,SCHED,SCHED_Tasks_C2,-1,schedulepoint
-26351475,Core_2,0,C,Core_2,0,lock
-26351525,TASK_WritingActuator,13,R,FUNC_SEMUNLOCK,26,terminate
-26351525,Core_2,0,T,TASK_WritingActuator,13,terminate
-26351525,TASK_WritingActuator,13,SCHED,SCHED_Tasks_C2,-1,processterminate
-26351525,Core_2,0,C,Core_2,0,unlock
-26351525,Core_2,0,C,Core_2,0,idle
-26351525,TASK_WritingActuator,13,C,Core_2,0,idle
-26351575,TASK_WritingActuator,13,STI,IR_SCHED_Tasks_C2,87,trigger
-26351575,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-26351575,Core_2,0,T,TASK_5MS,13,start
-26351575,TASK_5MS,13,R,FUNC_EXECTIME_1,53,start
-26351575,Core_2,0,C,Core_2,0,execute
-26351575,TASK_5MS,13,C,Core_2,0,execute
-26847375,TASK_1MS,26,R,FUNC_EXECTIME_1,54,terminate
-26847375,Core_1,0,T,TASK_1MS,26,terminate
-26847375,TASK_1MS,26,SCHED,SCHED_Tasks_C1,-1,processterminate
-26847375,Core_1,0,C,Core_1,0,idle
-26847375,TASK_1MS,26,C,Core_1,0,idle
-26847475,TASK_1MS,26,STI,IR_SCHED_Tasks_C1,94,trigger
-26847475,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-26847475,Core_1,0,C,Core_1,0,execute_idle
-26847475,TASK_InputProcessing,13,C,Core_1,0,execute_idle
-26847475,Core_1,0,T,TASK_InputProcessing,13,resume
-26847475,TASK_InputProcessing,13,R,FUNC_SEMLOCK,27,resume
-26872475,TASK_InputProcessing,13,SEM,SEM_DataElement1,0,requestsemaphore,0
-26872475,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-26872475,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-26872475,Core_1,0,C,Core_1,0,lock
-26872475,TASK_InputProcessing,13,SEM,SEM_DataElement1,0,assigned,1
-26872525,TASK_InputProcessing,13,R,FUNC_SEMLOCK,27,terminate
-26872525,Core_1,0,C,Core_1,0,unlock
-26872525,TASK_InputProcessing,13,R,FUNC_ReadSensorData,13,start
-26908950,TASK_5MS,13,R,FUNC_EXECTIME_1,53,terminate
-26908950,Core_2,0,T,TASK_5MS,13,terminate
-26908950,TASK_5MS,13,SCHED,SCHED_Tasks_C2,-1,processterminate
-26908950,Core_2,0,C,Core_2,0,idle
-26908950,TASK_5MS,13,C,Core_2,0,idle
-26909050,TASK_5MS,13,STI,IR_SCHED_Tasks_C2,88,trigger
-26909050,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-27032175,TASK_InputProcessing,13,SIG,SIG_RotationSpeed,0,read,0
-27032175,TASK_InputProcessing,13,SIG,SIG_Lambda,0,read,0
-27032175,TASK_InputProcessing,13,SIG,SIG_Temperature,0,read,0
-27032175,TASK_InputProcessing,13,R,FUNC_ReadSensorData,13,terminate
-27032175,TASK_InputProcessing,13,R,FUNC_SEMUNLOCK,27,start
-27232175,TASK_InputProcessing,13,SEM,SEM_DataElement1,0,released,1
-27232175,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-27232175,TASK_InputProcessing,13,SCHED,SCHED_Tasks_C1,-1,schedulepoint
-27232175,Core_1,0,C,Core_1,0,lock
-27232225,TASK_InputProcessing,13,R,FUNC_SEMUNLOCK,27,terminate
-27232225,Core_1,0,C,Core_1,0,unlock
-27232225,TASK_InputProcessing,13,STI,IPA_InputReady,13,trigger
-27232225,IPA_InputReady,13,T,TASK_CalcEngineSpeed,13,activate
-27232225,TASK_CalcEngineSpeed,13,SCHED,SCHED_Tasks_C2,-1,processactivate
-27232225,Core_1,0,T,TASK_InputProcessing,13,terminate
-27232225,TASK_InputProcessing,13,SCHED,SCHED_Tasks_C1,-1,processterminate
-27232225,Core_1,0,C,Core_1,0,idle
-27232225,TASK_InputProcessing,13,C,Core_1,0,idle
-27232275,TASK_InputProcessing,13,STI,IR_SCHED_Tasks_C1,95,trigger
-27232275,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-27232275,Core_1,0,C,Core_1,0,execute_idle
-27232275,TASK_200MS,0,C,Core_1,0,execute_idle
-27232275,Core_1,0,T,TASK_200MS,0,resume
-27232275,TASK_200MS,0,R,FUNC_EXECTIME_1,51,resume
-27232325,TASK_CalcEngineSpeed,13,STI,IR_SCHED_Tasks_C2,89,trigger
-27232325,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-27232325,Core_2,0,T,TASK_CalcEngineSpeed,13,start
-27232325,TASK_CalcEngineSpeed,13,R,FUNC_ENGINESPEED,13,start
-27232325,Core_2,0,C,Core_2,0,execute
-27232325,TASK_CalcEngineSpeed,13,C,Core_2,0,execute
-27250000,SIM,-1,STI,TIMER-1MS,27,trigger
-27250000,TIMER-1MS,27,T,TASK_1MS,27,activate
-27250000,TASK_1MS,27,SCHED,SCHED_Tasks_C1,-1,processactivate
-27250100,TASK_1MS,27,STI,IR_SCHED_Tasks_C1,96,trigger
-27250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-27250100,TASK_200MS,0,R,FUNC_EXECTIME_1,51,suspend
-27250100,Core_1,0,T,TASK_200MS,0,preempt
-27250100,Core_1,0,C,Core_1,0,idle_execution
-27250100,TASK_200MS,0,C,Core_1,0,idle_execution
-27250100,Core_1,0,T,TASK_1MS,27,start
-27250100,TASK_1MS,27,R,FUNC_EXECTIME_1,55,start
-27250100,Core_1,0,C,Core_1,0,execute
-27250100,TASK_1MS,27,C,Core_1,0,execute
-27389475,TASK_CalcEngineSpeed,13,R,FUNC_ENGINESPEED,13,terminate
-27389475,Core_2,0,T,TASK_CalcEngineSpeed,13,terminate
-27389475,TASK_CalcEngineSpeed,13,SCHED,SCHED_Tasks_C2,-1,processterminate
-27389475,Core_2,0,C,Core_2,0,idle
-27389475,TASK_CalcEngineSpeed,13,C,Core_2,0,idle
-27389575,TASK_CalcEngineSpeed,13,STI,IR_SCHED_Tasks_C2,90,trigger
-27389575,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-27746100,TASK_1MS,27,R,FUNC_EXECTIME_1,55,terminate
-27746100,Core_1,0,T,TASK_1MS,27,terminate
-27746100,TASK_1MS,27,SCHED,SCHED_Tasks_C1,-1,processterminate
-27746100,Core_1,0,C,Core_1,0,idle
-27746100,TASK_1MS,27,C,Core_1,0,idle
-27746200,TASK_1MS,27,STI,IR_SCHED_Tasks_C1,97,trigger
-27746200,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-27746200,Core_1,0,C,Core_1,0,execute_idle
-27746200,TASK_200MS,0,C,Core_1,0,execute_idle
-27746200,Core_1,0,T,TASK_200MS,0,resume
-27746200,TASK_200MS,0,R,FUNC_EXECTIME_1,51,resume
-27818325,TASK_200MS,0,R,FUNC_EXECTIME_1,51,terminate
-27818325,TASK_200MS,0,SCHED,SCHED_Tasks_C1,-1,schedulepoint
-27818325,Core_1,0,T,TASK_200MS,0,preempt
-27818325,Core_1,0,C,Core_1,0,idle
-27818325,TASK_200MS,0,C,Core_1,0,idle
-27818425,TASK_200MS,0,STI,IR_SCHED_Tasks_C1,98,trigger
-27818425,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-27818425,Core_1,0,T,TASK_200MS,0,resume
-27818425,TASK_200MS,0,R,FUNC_EXECTIME_1,56,start
-27818425,Core_1,0,C,Core_1,0,execute
-27818425,TASK_200MS,0,C,Core_1,0,execute
-28000000,SIM,-1,STI,TIMER-B_2ms,14,trigger
-28000000,TIMER-B_2ms,14,T,TASK_WritingActuator,14,activate
-28000000,TASK_WritingActuator,14,SCHED,SCHED_Tasks_C2,-1,processactivate
-28000100,TASK_WritingActuator,14,STI,IR_SCHED_Tasks_C2,91,trigger
-28000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-28000100,Core_2,0,T,TASK_WritingActuator,14,start
-28000100,TASK_WritingActuator,14,R,FUNC_SEMLOCK,28,start
-28000100,Core_2,0,C,Core_2,0,execute
-28000100,TASK_WritingActuator,14,C,Core_2,0,execute
-28100000,SIM,-1,STI,TIMER-5MS,14,trigger
-28100000,TIMER-5MS,14,T,TASK_5MS,14,activate
-28100000,TASK_5MS,14,SCHED,SCHED_Tasks_C2,-1,processactivate
-28100100,TASK_5MS,14,STI,IR_SCHED_Tasks_C2,92,trigger
-28100100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-28125100,TASK_WritingActuator,14,SEM,SEM_DataElement1,0,requestsemaphore,0
-28125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-28125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-28125100,Core_2,0,C,Core_2,0,lock
-28125100,TASK_WritingActuator,14,SEM,SEM_DataElement1,0,assigned,1
-28125150,TASK_WritingActuator,14,R,FUNC_SEMLOCK,28,terminate
-28125150,Core_2,0,C,Core_2,0,unlock
-28125150,TASK_WritingActuator,14,R,FUNC_WriteData,14,start
-28150000,SIM,-1,STI,TIMER-A_2ms,14,trigger
-28150000,TIMER-A_2ms,14,T,TASK_InputProcessing,14,activate
-28150000,TASK_InputProcessing,14,SCHED,SCHED_Tasks_C1,-1,processactivate
-28150100,TASK_InputProcessing,14,STI,IR_SCHED_Tasks_C1,99,trigger
-28150100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-28150100,TASK_200MS,0,R,FUNC_EXECTIME_1,56,suspend
-28150100,Core_1,0,T,TASK_200MS,0,preempt
-28150100,Core_1,0,C,Core_1,0,idle_execution
-28150100,TASK_200MS,0,C,Core_1,0,idle_execution
-28150100,Core_1,0,T,TASK_InputProcessing,14,start
-28150100,TASK_InputProcessing,14,R,FUNC_SEMLOCK,29,start
-28150100,Core_1,0,C,Core_1,0,execute
-28150100,TASK_InputProcessing,14,C,Core_1,0,execute
-28152300,TASK_WritingActuator,14,SIG,SIG_Mixture,0,write,0
-28152300,TASK_WritingActuator,14,R,FUNC_WriteData,14,terminate
-28152300,TASK_WritingActuator,14,R,FUNC_SEMUNLOCK,28,start
-28250000,SIM,-1,STI,TIMER-1MS,28,trigger
-28250000,TIMER-1MS,28,T,TASK_1MS,28,activate
-28250000,TASK_1MS,28,SCHED,SCHED_Tasks_C1,-1,processactivate
-28250100,TASK_1MS,28,STI,IR_SCHED_Tasks_C1,100,trigger
-28250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-28250100,TASK_InputProcessing,14,R,FUNC_SEMLOCK,29,suspend
-28250100,Core_1,0,T,TASK_InputProcessing,14,preempt
-28250100,Core_1,0,C,Core_1,0,idle_execution
-28250100,TASK_InputProcessing,14,C,Core_1,0,idle_execution
-28250100,Core_1,0,T,TASK_1MS,28,start
-28250100,TASK_1MS,28,R,FUNC_EXECTIME_1,58,start
-28250100,Core_1,0,C,Core_1,0,execute
-28250100,TASK_1MS,28,C,Core_1,0,execute
-28352300,TASK_WritingActuator,14,SEM,SEM_DataElement1,0,released,1
-28352300,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-28352300,TASK_WritingActuator,14,SCHED,SCHED_Tasks_C2,-1,schedulepoint
-28352300,Core_2,0,C,Core_2,0,lock
-28352350,TASK_WritingActuator,14,R,FUNC_SEMUNLOCK,28,terminate
-28352350,Core_2,0,T,TASK_WritingActuator,14,terminate
-28352350,TASK_WritingActuator,14,SCHED,SCHED_Tasks_C2,-1,processterminate
-28352350,Core_2,0,C,Core_2,0,unlock
-28352350,Core_2,0,C,Core_2,0,idle
-28352350,TASK_WritingActuator,14,C,Core_2,0,idle
-28352400,TASK_WritingActuator,14,STI,IR_SCHED_Tasks_C2,93,trigger
-28352400,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-28352400,Core_2,0,T,TASK_5MS,14,start
-28352400,TASK_5MS,14,R,FUNC_EXECTIME_1,57,start
-28352400,Core_2,0,C,Core_2,0,execute
-28352400,TASK_5MS,14,C,Core_2,0,execute
-28639425,TASK_1MS,28,R,FUNC_EXECTIME_1,58,terminate
-28639425,Core_1,0,T,TASK_1MS,28,terminate
-28639425,TASK_1MS,28,SCHED,SCHED_Tasks_C1,-1,processterminate
-28639425,Core_1,0,C,Core_1,0,idle
-28639425,TASK_1MS,28,C,Core_1,0,idle
-28639525,TASK_1MS,28,STI,IR_SCHED_Tasks_C1,101,trigger
-28639525,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-28639525,Core_1,0,C,Core_1,0,execute_idle
-28639525,TASK_InputProcessing,14,C,Core_1,0,execute_idle
-28639525,Core_1,0,T,TASK_InputProcessing,14,resume
-28639525,TASK_InputProcessing,14,R,FUNC_SEMLOCK,29,resume
-28664525,TASK_InputProcessing,14,SEM,SEM_DataElement1,0,requestsemaphore,0
-28664525,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-28664525,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-28664525,Core_1,0,C,Core_1,0,lock
-28664525,TASK_InputProcessing,14,SEM,SEM_DataElement1,0,assigned,1
-28664575,TASK_InputProcessing,14,R,FUNC_SEMLOCK,29,terminate
-28664575,Core_1,0,C,Core_1,0,unlock
-28664575,TASK_InputProcessing,14,R,FUNC_ReadSensorData,14,start
-28827150,TASK_InputProcessing,14,SIG,SIG_RotationSpeed,0,read,0
-28827150,TASK_InputProcessing,14,SIG,SIG_Lambda,0,read,0
-28827150,TASK_InputProcessing,14,SIG,SIG_Temperature,0,read,0
-28827150,TASK_InputProcessing,14,R,FUNC_ReadSensorData,14,terminate
-28827150,TASK_InputProcessing,14,R,FUNC_SEMUNLOCK,29,start
-28851625,TASK_5MS,14,R,FUNC_EXECTIME_1,57,terminate
-28851625,Core_2,0,T,TASK_5MS,14,terminate
-28851625,TASK_5MS,14,SCHED,SCHED_Tasks_C2,-1,processterminate
-28851625,Core_2,0,C,Core_2,0,idle
-28851625,TASK_5MS,14,C,Core_2,0,idle
-28851725,TASK_5MS,14,STI,IR_SCHED_Tasks_C2,94,trigger
-28851725,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-29027150,TASK_InputProcessing,14,SEM,SEM_DataElement1,0,released,1
-29027150,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-29027150,TASK_InputProcessing,14,SCHED,SCHED_Tasks_C1,-1,schedulepoint
-29027150,Core_1,0,C,Core_1,0,lock
-29027200,TASK_InputProcessing,14,R,FUNC_SEMUNLOCK,29,terminate
-29027200,Core_1,0,C,Core_1,0,unlock
-29027200,TASK_InputProcessing,14,STI,IPA_InputReady,14,trigger
-29027200,IPA_InputReady,14,T,TASK_CalcEngineSpeed,14,activate
-29027200,TASK_CalcEngineSpeed,14,SCHED,SCHED_Tasks_C2,-1,processactivate
-29027200,Core_1,0,T,TASK_InputProcessing,14,terminate
-29027200,TASK_InputProcessing,14,SCHED,SCHED_Tasks_C1,-1,processterminate
-29027200,Core_1,0,C,Core_1,0,idle
-29027200,TASK_InputProcessing,14,C,Core_1,0,idle
-29027250,TASK_InputProcessing,14,STI,IR_SCHED_Tasks_C1,102,trigger
-29027250,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-29027250,Core_1,0,C,Core_1,0,execute_idle
-29027250,TASK_200MS,0,C,Core_1,0,execute_idle
-29027250,Core_1,0,T,TASK_200MS,0,resume
-29027250,TASK_200MS,0,R,FUNC_EXECTIME_1,56,resume
-29027300,TASK_CalcEngineSpeed,14,STI,IR_SCHED_Tasks_C2,95,trigger
-29027300,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-29027300,Core_2,0,T,TASK_CalcEngineSpeed,14,start
-29027300,TASK_CalcEngineSpeed,14,R,FUNC_ENGINESPEED,14,start
-29027300,Core_2,0,C,Core_2,0,execute
-29027300,TASK_CalcEngineSpeed,14,C,Core_2,0,execute
-29128125,TASK_200MS,0,R,FUNC_EXECTIME_1,56,terminate
-29128125,TASK_200MS,0,SCHED,SCHED_Tasks_C1,-1,schedulepoint
-29128125,Core_1,0,T,TASK_200MS,0,preempt
-29128125,Core_1,0,C,Core_1,0,idle
-29128125,TASK_200MS,0,C,Core_1,0,idle
-29128225,TASK_200MS,0,STI,IR_SCHED_Tasks_C1,103,trigger
-29128225,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-29128225,Core_1,0,T,TASK_200MS,0,resume
-29128225,TASK_200MS,0,R,FUNC_EXECTIME_1,59,start
-29128225,Core_1,0,C,Core_1,0,execute
-29128225,TASK_200MS,0,C,Core_1,0,execute
-29223650,TASK_CalcEngineSpeed,14,R,FUNC_ENGINESPEED,14,terminate
-29223650,Core_2,0,T,TASK_CalcEngineSpeed,14,terminate
-29223650,TASK_CalcEngineSpeed,14,SCHED,SCHED_Tasks_C2,-1,processterminate
-29223650,Core_2,0,C,Core_2,0,idle
-29223650,TASK_CalcEngineSpeed,14,C,Core_2,0,idle
-29223750,TASK_CalcEngineSpeed,14,STI,IR_SCHED_Tasks_C2,96,trigger
-29223750,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-29250000,SIM,-1,STI,TIMER-1MS,29,trigger
-29250000,TIMER-1MS,29,T,TASK_1MS,29,activate
-29250000,TASK_1MS,29,SCHED,SCHED_Tasks_C1,-1,processactivate
-29250100,TASK_1MS,29,STI,IR_SCHED_Tasks_C1,104,trigger
-29250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-29250100,TASK_200MS,0,R,FUNC_EXECTIME_1,59,suspend
-29250100,Core_1,0,T,TASK_200MS,0,preempt
-29250100,Core_1,0,C,Core_1,0,idle_execution
-29250100,TASK_200MS,0,C,Core_1,0,idle_execution
-29250100,Core_1,0,T,TASK_1MS,29,start
-29250100,TASK_1MS,29,R,FUNC_EXECTIME_1,60,start
-29250100,Core_1,0,C,Core_1,0,execute
-29250100,TASK_1MS,29,C,Core_1,0,execute
-29976350,TASK_1MS,29,R,FUNC_EXECTIME_1,60,terminate
-29976350,Core_1,0,T,TASK_1MS,29,terminate
-29976350,TASK_1MS,29,SCHED,SCHED_Tasks_C1,-1,processterminate
-29976350,Core_1,0,C,Core_1,0,idle
-29976350,TASK_1MS,29,C,Core_1,0,idle
-29976450,TASK_1MS,29,STI,IR_SCHED_Tasks_C1,105,trigger
-29976450,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-29976450,Core_1,0,C,Core_1,0,execute_idle
-29976450,TASK_200MS,0,C,Core_1,0,execute_idle
-29976450,Core_1,0,T,TASK_200MS,0,resume
-29976450,TASK_200MS,0,R,FUNC_EXECTIME_1,59,resume
-30000000,SIM,-1,STI,TIMER-B_2ms,15,trigger
-30000000,TIMER-B_2ms,15,T,TASK_WritingActuator,15,activate
-30000000,TASK_WritingActuator,15,SCHED,SCHED_Tasks_C2,-1,processactivate
-30000000,SIM,-1,STI,TIMER-10MS_2,3,trigger
-30000000,TIMER-10MS_2,3,T,TASK_10MS_DL2,3,activate
-30000000,TASK_10MS_DL2,3,SCHED,SCHED_Tasks_C1,-1,processactivate
-30000100,TASK_WritingActuator,15,STI,IR_SCHED_Tasks_C2,97,trigger
-30000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-30000100,Core_2,0,T,TASK_WritingActuator,15,start
-30000100,TASK_WritingActuator,15,R,FUNC_SEMLOCK,30,start
-30000100,Core_2,0,C,Core_2,0,execute
-30000100,TASK_WritingActuator,15,C,Core_2,0,execute
-30000100,TASK_10MS_DL2,3,STI,IR_SCHED_Tasks_C1,106,trigger
-30000100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-30000100,TASK_200MS,0,R,FUNC_EXECTIME_1,59,suspend
-30000100,Core_1,0,T,TASK_200MS,0,preempt
-30000100,Core_1,0,C,Core_1,0,idle_execution
-30000100,TASK_200MS,0,C,Core_1,0,idle_execution
-30000100,Core_1,0,T,TASK_10MS_DL2,3,start
-30000100,TASK_10MS_DL2,3,R,FUNC_EXECTIME_1,61,start
-30000100,Core_1,0,C,Core_1,0,execute
-30000100,TASK_10MS_DL2,3,C,Core_1,0,execute
-30100000,SIM,-1,STI,TIMER-5MS,15,trigger
-30100000,TIMER-5MS,15,T,TASK_5MS,15,activate
-30100000,TASK_5MS,15,SCHED,SCHED_Tasks_C2,-1,processactivate
-30100100,TASK_5MS,15,STI,IR_SCHED_Tasks_C2,98,trigger
-30100100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-30125100,TASK_WritingActuator,15,SEM,SEM_DataElement1,0,requestsemaphore,0
-30125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-30125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-30125100,Core_2,0,C,Core_2,0,lock
-30125100,TASK_WritingActuator,15,SEM,SEM_DataElement1,0,assigned,1
-30125150,TASK_WritingActuator,15,R,FUNC_SEMLOCK,30,terminate
-30125150,Core_2,0,C,Core_2,0,unlock
-30125150,TASK_WritingActuator,15,R,FUNC_WriteData,15,start
-30150000,SIM,-1,STI,TIMER-A_2ms,15,trigger
-30150000,TIMER-A_2ms,15,T,TASK_InputProcessing,15,activate
-30150000,TASK_InputProcessing,15,SCHED,SCHED_Tasks_C1,-1,processactivate
-30150100,TASK_InputProcessing,15,STI,IR_SCHED_Tasks_C1,107,trigger
-30150100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-30151750,TASK_WritingActuator,15,SIG,SIG_Mixture,0,write,0
-30151750,TASK_WritingActuator,15,R,FUNC_WriteData,15,terminate
-30151750,TASK_WritingActuator,15,R,FUNC_SEMUNLOCK,30,start
-30250000,SIM,-1,STI,TIMER-1MS,30,trigger
-30250000,TIMER-1MS,30,T,TASK_1MS,30,activate
-30250000,TASK_1MS,30,SCHED,SCHED_Tasks_C1,-1,processactivate
-30250100,TASK_1MS,30,STI,IR_SCHED_Tasks_C1,108,trigger
-30250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-30250100,TASK_10MS_DL2,3,R,FUNC_EXECTIME_1,61,suspend
-30250100,Core_1,0,T,TASK_10MS_DL2,3,preempt
-30250100,Core_1,0,C,Core_1,0,idle_execution
-30250100,TASK_10MS_DL2,3,C,Core_1,0,idle_execution
-30250100,Core_1,0,T,TASK_1MS,30,start
-30250100,TASK_1MS,30,R,FUNC_EXECTIME_1,63,start
-30250100,Core_1,0,C,Core_1,0,execute
-30250100,TASK_1MS,30,C,Core_1,0,execute
-30351750,TASK_WritingActuator,15,SEM,SEM_DataElement1,0,released,1
-30351750,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-30351750,TASK_WritingActuator,15,SCHED,SCHED_Tasks_C2,-1,schedulepoint
-30351750,Core_2,0,C,Core_2,0,lock
-30351800,TASK_WritingActuator,15,R,FUNC_SEMUNLOCK,30,terminate
-30351800,Core_2,0,T,TASK_WritingActuator,15,terminate
-30351800,TASK_WritingActuator,15,SCHED,SCHED_Tasks_C2,-1,processterminate
-30351800,Core_2,0,C,Core_2,0,unlock
-30351800,Core_2,0,C,Core_2,0,idle
-30351800,TASK_WritingActuator,15,C,Core_2,0,idle
-30351850,TASK_WritingActuator,15,STI,IR_SCHED_Tasks_C2,99,trigger
-30351850,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-30351850,Core_2,0,T,TASK_5MS,15,start
-30351850,TASK_5MS,15,R,FUNC_EXECTIME_1,62,start
-30351850,Core_2,0,C,Core_2,0,execute
-30351850,TASK_5MS,15,C,Core_2,0,execute
-30702400,TASK_5MS,15,R,FUNC_EXECTIME_1,62,terminate
-30702400,Core_2,0,T,TASK_5MS,15,terminate
-30702400,TASK_5MS,15,SCHED,SCHED_Tasks_C2,-1,processterminate
-30702400,Core_2,0,C,Core_2,0,idle
-30702400,TASK_5MS,15,C,Core_2,0,idle
-30702500,TASK_5MS,15,STI,IR_SCHED_Tasks_C2,100,trigger
-30702500,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-30804825,TASK_1MS,30,R,FUNC_EXECTIME_1,63,terminate
-30804825,Core_1,0,T,TASK_1MS,30,terminate
-30804825,TASK_1MS,30,SCHED,SCHED_Tasks_C1,-1,processterminate
-30804825,Core_1,0,C,Core_1,0,idle
-30804825,TASK_1MS,30,C,Core_1,0,idle
-30804925,TASK_1MS,30,STI,IR_SCHED_Tasks_C1,109,trigger
-30804925,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-30804925,Core_1,0,C,Core_1,0,execute_idle
-30804925,TASK_10MS_DL2,3,C,Core_1,0,execute_idle
-30804925,Core_1,0,T,TASK_10MS_DL2,3,resume
-30804925,TASK_10MS_DL2,3,R,FUNC_EXECTIME_1,61,resume
-31250000,SIM,-1,STI,TIMER-1MS,31,trigger
-31250000,TIMER-1MS,31,T,TASK_1MS,31,activate
-31250000,TASK_1MS,31,SCHED,SCHED_Tasks_C1,-1,processactivate
-31250100,TASK_1MS,31,STI,IR_SCHED_Tasks_C1,110,trigger
-31250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-31250100,TASK_10MS_DL2,3,R,FUNC_EXECTIME_1,61,suspend
-31250100,Core_1,0,T,TASK_10MS_DL2,3,preempt
-31250100,Core_1,0,C,Core_1,0,idle_execution
-31250100,TASK_10MS_DL2,3,C,Core_1,0,idle_execution
-31250100,Core_1,0,T,TASK_1MS,31,start
-31250100,TASK_1MS,31,R,FUNC_EXECTIME_1,64,start
-31250100,Core_1,0,C,Core_1,0,execute
-31250100,TASK_1MS,31,C,Core_1,0,execute
-31891000,TASK_1MS,31,R,FUNC_EXECTIME_1,64,terminate
-31891000,Core_1,0,T,TASK_1MS,31,terminate
-31891000,TASK_1MS,31,SCHED,SCHED_Tasks_C1,-1,processterminate
-31891000,Core_1,0,C,Core_1,0,idle
-31891000,TASK_1MS,31,C,Core_1,0,idle
-31891100,TASK_1MS,31,STI,IR_SCHED_Tasks_C1,111,trigger
-31891100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-31891100,Core_1,0,C,Core_1,0,execute_idle
-31891100,TASK_10MS_DL2,3,C,Core_1,0,execute_idle
-31891100,Core_1,0,T,TASK_10MS_DL2,3,resume
-31891100,TASK_10MS_DL2,3,R,FUNC_EXECTIME_1,61,resume
-31986675,TASK_10MS_DL2,3,R,FUNC_EXECTIME_1,61,terminate
-31986675,Core_1,0,T,TASK_10MS_DL2,3,terminate
-31986675,TASK_10MS_DL2,3,SCHED,SCHED_Tasks_C1,-1,processterminate
-31986675,Core_1,0,C,Core_1,0,idle
-31986675,TASK_10MS_DL2,3,C,Core_1,0,idle
-31986775,TASK_10MS_DL2,3,STI,IR_SCHED_Tasks_C1,112,trigger
-31986775,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-31986775,Core_1,0,T,TASK_InputProcessing,15,start
-31986775,TASK_InputProcessing,15,R,FUNC_SEMLOCK,31,start
-31986775,Core_1,0,C,Core_1,0,execute
-31986775,TASK_InputProcessing,15,C,Core_1,0,execute
-32000000,SIM,-1,STI,TIMER-B_2ms,16,trigger
-32000000,TIMER-B_2ms,16,T,TASK_WritingActuator,16,activate
-32000000,TASK_WritingActuator,16,SCHED,SCHED_Tasks_C2,-1,processactivate
-32000100,TASK_WritingActuator,16,STI,IR_SCHED_Tasks_C2,101,trigger
-32000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-32000100,Core_2,0,T,TASK_WritingActuator,16,start
-32000100,TASK_WritingActuator,16,R,FUNC_SEMLOCK,32,start
-32000100,Core_2,0,C,Core_2,0,execute
-32000100,TASK_WritingActuator,16,C,Core_2,0,execute
-32100000,SIM,-1,STI,TIMER-5MS,16,trigger
-32100000,TIMER-5MS,16,T,TASK_5MS,16,activate
-32100000,TASK_5MS,16,SCHED,SCHED_Tasks_C2,-1,processactivate
-32100100,TASK_5MS,16,STI,IR_SCHED_Tasks_C2,102,trigger
-32100100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-32111775,TASK_InputProcessing,15,SEM,SEM_DataElement1,0,requestsemaphore,0
-32111775,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-32111775,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-32111775,Core_1,0,C,Core_1,0,lock
-32111775,TASK_InputProcessing,15,SEM,SEM_DataElement1,0,assigned,1
-32111825,TASK_InputProcessing,15,R,FUNC_SEMLOCK,31,terminate
-32111825,Core_1,0,C,Core_1,0,unlock
-32111825,TASK_InputProcessing,15,R,FUNC_ReadSensorData,15,start
-32125100,TASK_WritingActuator,16,SEM,SEM_DataElement1,0,requestsemaphore,1
-32125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,1
-32125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,overfull,2
-32125100,Core_2,0,C,Core_2,0,lock
-32125100,TASK_WritingActuator,16,SEM,SEM_DataElement1,0,waiting,2
-32125150,Core_2,0,T,TASK_WritingActuator,16,poll
-32125150,TASK_WritingActuator,16,SCHED,SCHED_Tasks_C2,-1,processpolling
-32125150,Core_2,0,C,Core_2,0,wait_postexecution
-32125150,TASK_WritingActuator,16,C,Core_2,0,wait_postexecution
-32125150,Core_2,0,C,Core_2,0,unlock
-32150000,SIM,-1,STI,TIMER-A_2ms,16,trigger
-32150000,TIMER-A_2ms,16,T,TASK_InputProcessing,16,activate
-32150000,TASK_InputProcessing,16,SCHED,SCHED_Tasks_C1,-1,processactivate
-32150100,TASK_InputProcessing,16,STI,IR_SCHED_Tasks_C1,113,trigger
-32150100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-32250000,SIM,-1,STI,TIMER-1MS,32,trigger
-32250000,TIMER-1MS,32,T,TASK_1MS,32,activate
-32250000,TASK_1MS,32,SCHED,SCHED_Tasks_C1,-1,processactivate
-32250100,TASK_1MS,32,STI,IR_SCHED_Tasks_C1,114,trigger
-32250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-32271525,TASK_InputProcessing,15,SIG,SIG_RotationSpeed,0,read,0
-32271525,TASK_InputProcessing,15,SIG,SIG_Lambda,0,read,0
-32271525,TASK_InputProcessing,15,SIG,SIG_Temperature,0,read,0
-32271525,TASK_InputProcessing,15,R,FUNC_ReadSensorData,15,terminate
-32271525,TASK_InputProcessing,15,R,FUNC_SEMUNLOCK,31,start
-32471525,TASK_InputProcessing,15,SEM,SEM_DataElement1,0,released,2
-32471525,TASK_WritingActuator,16,SEM,SEM_DataElement1,0,assigned,1
-32471525,Core_2,0,T,TASK_WritingActuator,16,run
-32471525,TASK_WritingActuator,16,R,FUNC_SEMLOCK,32,terminate
-32471525,TASK_WritingActuator,16,R,FUNC_WriteData,16,start
-32471525,Core_2,0,C,Core_2,0,execute_waiting
-32471525,TASK_WritingActuator,16,C,Core_2,0,execute_waiting
-32471525,SEM_DataElement1,0,SEM,SEM_DataElement1,0,full,1
-32471525,TASK_InputProcessing,15,SCHED,SCHED_Tasks_C1,-1,schedulepoint
-32471525,Core_1,0,C,Core_1,0,lock
-32471575,TASK_InputProcessing,15,R,FUNC_SEMUNLOCK,31,terminate
-32471575,Core_1,0,C,Core_1,0,unlock
-32471575,TASK_InputProcessing,15,STI,IPA_InputReady,15,trigger
-32471575,IPA_InputReady,15,T,TASK_CalcEngineSpeed,15,activate
-32471575,TASK_CalcEngineSpeed,15,SCHED,SCHED_Tasks_C2,-1,processactivate
-32471575,Core_1,0,T,TASK_InputProcessing,15,terminate
-32471575,TASK_InputProcessing,15,SCHED,SCHED_Tasks_C1,-1,processterminate
-32471575,Core_1,0,C,Core_1,0,idle
-32471575,TASK_InputProcessing,15,C,Core_1,0,idle
-32471625,TASK_InputProcessing,15,STI,IR_SCHED_Tasks_C1,115,trigger
-32471625,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-32471625,Core_1,0,T,TASK_1MS,32,start
-32471625,TASK_1MS,32,R,FUNC_EXECTIME_1,66,start
-32471625,Core_1,0,C,Core_1,0,execute
-32471625,TASK_1MS,32,C,Core_1,0,execute
-32471675,TASK_CalcEngineSpeed,15,STI,IR_SCHED_Tasks_C2,103,trigger
-32471675,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-32498175,TASK_WritingActuator,16,SIG,SIG_Mixture,0,write,0
-32498175,TASK_WritingActuator,16,R,FUNC_WriteData,16,terminate
-32498175,TASK_WritingActuator,16,R,FUNC_SEMUNLOCK,32,start
-32698175,TASK_WritingActuator,16,SEM,SEM_DataElement1,0,released,1
-32698175,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-32698175,TASK_WritingActuator,16,SCHED,SCHED_Tasks_C2,-1,schedulepoint
-32698175,Core_2,0,C,Core_2,0,lock
-32698225,TASK_WritingActuator,16,R,FUNC_SEMUNLOCK,32,terminate
-32698225,Core_2,0,T,TASK_WritingActuator,16,terminate
-32698225,TASK_WritingActuator,16,SCHED,SCHED_Tasks_C2,-1,processterminate
-32698225,Core_2,0,C,Core_2,0,unlock
-32698225,Core_2,0,C,Core_2,0,idle
-32698225,TASK_WritingActuator,16,C,Core_2,0,idle
-32698275,TASK_WritingActuator,16,STI,IR_SCHED_Tasks_C2,104,trigger
-32698275,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-32698275,Core_2,0,T,TASK_CalcEngineSpeed,15,start
-32698275,TASK_CalcEngineSpeed,15,R,FUNC_ENGINESPEED,15,start
-32698275,Core_2,0,C,Core_2,0,execute
-32698275,TASK_CalcEngineSpeed,15,C,Core_2,0,execute
-32863725,TASK_CalcEngineSpeed,15,R,FUNC_ENGINESPEED,15,terminate
-32863725,Core_2,0,T,TASK_CalcEngineSpeed,15,terminate
-32863725,TASK_CalcEngineSpeed,15,SCHED,SCHED_Tasks_C2,-1,processterminate
-32863725,Core_2,0,C,Core_2,0,idle
-32863725,TASK_CalcEngineSpeed,15,C,Core_2,0,idle
-32863825,TASK_CalcEngineSpeed,15,STI,IR_SCHED_Tasks_C2,105,trigger
-32863825,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-32863825,Core_2,0,T,TASK_5MS,16,start
-32863825,TASK_5MS,16,R,FUNC_EXECTIME_1,65,start
-32863825,Core_2,0,C,Core_2,0,execute
-32863825,TASK_5MS,16,C,Core_2,0,execute
-33104400,TASK_1MS,32,R,FUNC_EXECTIME_1,66,terminate
-33104400,Core_1,0,T,TASK_1MS,32,terminate
-33104400,TASK_1MS,32,SCHED,SCHED_Tasks_C1,-1,processterminate
-33104400,Core_1,0,C,Core_1,0,idle
-33104400,TASK_1MS,32,C,Core_1,0,idle
-33104500,TASK_1MS,32,STI,IR_SCHED_Tasks_C1,116,trigger
-33104500,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-33104500,Core_1,0,T,TASK_InputProcessing,16,start
-33104500,TASK_InputProcessing,16,R,FUNC_SEMLOCK,33,start
-33104500,Core_1,0,C,Core_1,0,execute
-33104500,TASK_InputProcessing,16,C,Core_1,0,execute
-33229500,TASK_InputProcessing,16,SEM,SEM_DataElement1,0,requestsemaphore,0
-33229500,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-33229500,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-33229500,Core_1,0,C,Core_1,0,lock
-33229500,TASK_InputProcessing,16,SEM,SEM_DataElement1,0,assigned,1
-33229550,TASK_InputProcessing,16,R,FUNC_SEMLOCK,33,terminate
-33229550,Core_1,0,C,Core_1,0,unlock
-33229550,TASK_InputProcessing,16,R,FUNC_ReadSensorData,16,start
-33250000,SIM,-1,STI,TIMER-1MS,33,trigger
-33250000,TIMER-1MS,33,T,TASK_1MS,33,activate
-33250000,TASK_1MS,33,SCHED,SCHED_Tasks_C1,-1,processactivate
-33250100,TASK_1MS,33,STI,IR_SCHED_Tasks_C1,117,trigger
-33250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-33272400,TASK_5MS,16,R,FUNC_EXECTIME_1,65,terminate
-33272400,Core_2,0,T,TASK_5MS,16,terminate
-33272400,TASK_5MS,16,SCHED,SCHED_Tasks_C2,-1,processterminate
-33272400,Core_2,0,C,Core_2,0,idle
-33272400,TASK_5MS,16,C,Core_2,0,idle
-33272500,TASK_5MS,16,STI,IR_SCHED_Tasks_C2,106,trigger
-33272500,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-33392800,TASK_InputProcessing,16,SIG,SIG_RotationSpeed,0,read,0
-33392800,TASK_InputProcessing,16,SIG,SIG_Lambda,0,read,0
-33392800,TASK_InputProcessing,16,SIG,SIG_Temperature,0,read,0
-33392800,TASK_InputProcessing,16,R,FUNC_ReadSensorData,16,terminate
-33392800,TASK_InputProcessing,16,R,FUNC_SEMUNLOCK,33,start
-33592800,TASK_InputProcessing,16,SEM,SEM_DataElement1,0,released,1
-33592800,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-33592800,TASK_InputProcessing,16,SCHED,SCHED_Tasks_C1,-1,schedulepoint
-33592800,Core_1,0,C,Core_1,0,lock
-33592850,TASK_InputProcessing,16,R,FUNC_SEMUNLOCK,33,terminate
-33592850,Core_1,0,C,Core_1,0,unlock
-33592850,TASK_InputProcessing,16,STI,IPA_InputReady,16,trigger
-33592850,IPA_InputReady,16,T,TASK_CalcEngineSpeed,16,activate
-33592850,TASK_CalcEngineSpeed,16,SCHED,SCHED_Tasks_C2,-1,processactivate
-33592850,Core_1,0,T,TASK_InputProcessing,16,terminate
-33592850,TASK_InputProcessing,16,SCHED,SCHED_Tasks_C1,-1,processterminate
-33592850,Core_1,0,C,Core_1,0,idle
-33592850,TASK_InputProcessing,16,C,Core_1,0,idle
-33592900,TASK_InputProcessing,16,STI,IR_SCHED_Tasks_C1,118,trigger
-33592900,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-33592900,Core_1,0,T,TASK_1MS,33,start
-33592900,TASK_1MS,33,R,FUNC_EXECTIME_1,67,start
-33592900,Core_1,0,C,Core_1,0,execute
-33592900,TASK_1MS,33,C,Core_1,0,execute
-33592950,TASK_CalcEngineSpeed,16,STI,IR_SCHED_Tasks_C2,107,trigger
-33592950,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-33592950,Core_2,0,T,TASK_CalcEngineSpeed,16,start
-33592950,TASK_CalcEngineSpeed,16,R,FUNC_ENGINESPEED,16,start
-33592950,Core_2,0,C,Core_2,0,execute
-33592950,TASK_CalcEngineSpeed,16,C,Core_2,0,execute
-33823150,TASK_CalcEngineSpeed,16,R,FUNC_ENGINESPEED,16,terminate
-33823150,Core_2,0,T,TASK_CalcEngineSpeed,16,terminate
-33823150,TASK_CalcEngineSpeed,16,SCHED,SCHED_Tasks_C2,-1,processterminate
-33823150,Core_2,0,C,Core_2,0,idle
-33823150,TASK_CalcEngineSpeed,16,C,Core_2,0,idle
-33823250,TASK_CalcEngineSpeed,16,STI,IR_SCHED_Tasks_C2,108,trigger
-33823250,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-33877325,TASK_1MS,33,R,FUNC_EXECTIME_1,67,terminate
-33877325,Core_1,0,T,TASK_1MS,33,terminate
-33877325,TASK_1MS,33,SCHED,SCHED_Tasks_C1,-1,processterminate
-33877325,Core_1,0,C,Core_1,0,idle
-33877325,TASK_1MS,33,C,Core_1,0,idle
-33877425,TASK_1MS,33,STI,IR_SCHED_Tasks_C1,119,trigger
-33877425,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-33877425,Core_1,0,C,Core_1,0,execute_idle
-33877425,TASK_200MS,0,C,Core_1,0,execute_idle
-33877425,Core_1,0,T,TASK_200MS,0,resume
-33877425,TASK_200MS,0,R,FUNC_EXECTIME_1,59,resume
-34000000,SIM,-1,STI,TIMER-B_2ms,17,trigger
-34000000,TIMER-B_2ms,17,T,TASK_WritingActuator,17,activate
-34000000,TASK_WritingActuator,17,SCHED,SCHED_Tasks_C2,-1,processactivate
-34000100,TASK_WritingActuator,17,STI,IR_SCHED_Tasks_C2,109,trigger
-34000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-34000100,Core_2,0,T,TASK_WritingActuator,17,start
-34000100,TASK_WritingActuator,17,R,FUNC_SEMLOCK,34,start
-34000100,Core_2,0,C,Core_2,0,execute
-34000100,TASK_WritingActuator,17,C,Core_2,0,execute
-34100000,SIM,-1,STI,TIMER-5MS,17,trigger
-34100000,TIMER-5MS,17,T,TASK_5MS,17,activate
-34100000,TASK_5MS,17,SCHED,SCHED_Tasks_C2,-1,processactivate
-34100100,TASK_5MS,17,STI,IR_SCHED_Tasks_C2,110,trigger
-34100100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-34125100,TASK_WritingActuator,17,SEM,SEM_DataElement1,0,requestsemaphore,0
-34125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-34125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-34125100,Core_2,0,C,Core_2,0,lock
-34125100,TASK_WritingActuator,17,SEM,SEM_DataElement1,0,assigned,1
-34125150,TASK_WritingActuator,17,R,FUNC_SEMLOCK,34,terminate
-34125150,Core_2,0,C,Core_2,0,unlock
-34125150,TASK_WritingActuator,17,R,FUNC_WriteData,17,start
-34132625,TASK_200MS,0,R,FUNC_EXECTIME_1,59,terminate
-34132625,TASK_200MS,0,SCHED,SCHED_Tasks_C1,-1,schedulepoint
-34132625,Core_1,0,T,TASK_200MS,0,preempt
-34132625,Core_1,0,C,Core_1,0,idle
-34132625,TASK_200MS,0,C,Core_1,0,idle
-34132725,TASK_200MS,0,STI,IR_SCHED_Tasks_C1,120,trigger
-34132725,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-34132725,Core_1,0,T,TASK_200MS,0,resume
-34132725,TASK_200MS,0,R,FUNC_EXECTIME_1,69,start
-34132725,Core_1,0,C,Core_1,0,execute
-34132725,TASK_200MS,0,C,Core_1,0,execute
-34150000,SIM,-1,STI,TIMER-A_2ms,17,trigger
-34150000,TIMER-A_2ms,17,T,TASK_InputProcessing,17,activate
-34150000,TASK_InputProcessing,17,SCHED,SCHED_Tasks_C1,-1,processactivate
-34150100,TASK_InputProcessing,17,STI,IR_SCHED_Tasks_C1,121,trigger
-34150100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-34150100,TASK_200MS,0,R,FUNC_EXECTIME_1,69,suspend
-34150100,Core_1,0,T,TASK_200MS,0,preempt
-34150100,Core_1,0,C,Core_1,0,idle_execution
-34150100,TASK_200MS,0,C,Core_1,0,idle_execution
-34150100,Core_1,0,T,TASK_InputProcessing,17,start
-34150100,TASK_InputProcessing,17,R,FUNC_SEMLOCK,35,start
-34150100,Core_1,0,C,Core_1,0,execute
-34150100,TASK_InputProcessing,17,C,Core_1,0,execute
-34151775,TASK_WritingActuator,17,SIG,SIG_Mixture,0,write,0
-34151775,TASK_WritingActuator,17,R,FUNC_WriteData,17,terminate
-34151775,TASK_WritingActuator,17,R,FUNC_SEMUNLOCK,34,start
-34250000,SIM,-1,STI,TIMER-1MS,34,trigger
-34250000,TIMER-1MS,34,T,TASK_1MS,34,activate
-34250000,TASK_1MS,34,SCHED,SCHED_Tasks_C1,-1,processactivate
-34250100,TASK_1MS,34,STI,IR_SCHED_Tasks_C1,122,trigger
-34250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-34250100,TASK_InputProcessing,17,R,FUNC_SEMLOCK,35,suspend
-34250100,Core_1,0,T,TASK_InputProcessing,17,preempt
-34250100,Core_1,0,C,Core_1,0,idle_execution
-34250100,TASK_InputProcessing,17,C,Core_1,0,idle_execution
-34250100,Core_1,0,T,TASK_1MS,34,start
-34250100,TASK_1MS,34,R,FUNC_EXECTIME_1,70,start
-34250100,Core_1,0,C,Core_1,0,execute
-34250100,TASK_1MS,34,C,Core_1,0,execute
-34351775,TASK_WritingActuator,17,SEM,SEM_DataElement1,0,released,1
-34351775,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-34351775,TASK_WritingActuator,17,SCHED,SCHED_Tasks_C2,-1,schedulepoint
-34351775,Core_2,0,C,Core_2,0,lock
-34351825,TASK_WritingActuator,17,R,FUNC_SEMUNLOCK,34,terminate
-34351825,Core_2,0,T,TASK_WritingActuator,17,terminate
-34351825,TASK_WritingActuator,17,SCHED,SCHED_Tasks_C2,-1,processterminate
-34351825,Core_2,0,C,Core_2,0,unlock
-34351825,Core_2,0,C,Core_2,0,idle
-34351825,TASK_WritingActuator,17,C,Core_2,0,idle
-34351875,TASK_WritingActuator,17,STI,IR_SCHED_Tasks_C2,111,trigger
-34351875,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-34351875,Core_2,0,T,TASK_5MS,17,start
-34351875,TASK_5MS,17,R,FUNC_EXECTIME_1,68,start
-34351875,Core_2,0,C,Core_2,0,execute
-34351875,TASK_5MS,17,C,Core_2,0,execute
-34829350,TASK_5MS,17,R,FUNC_EXECTIME_1,68,terminate
-34829350,Core_2,0,T,TASK_5MS,17,terminate
-34829350,TASK_5MS,17,SCHED,SCHED_Tasks_C2,-1,processterminate
-34829350,Core_2,0,C,Core_2,0,idle
-34829350,TASK_5MS,17,C,Core_2,0,idle
-34829450,TASK_5MS,17,STI,IR_SCHED_Tasks_C2,112,trigger
-34829450,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-34892525,TASK_1MS,34,R,FUNC_EXECTIME_1,70,terminate
-34892525,Core_1,0,T,TASK_1MS,34,terminate
-34892525,TASK_1MS,34,SCHED,SCHED_Tasks_C1,-1,processterminate
-34892525,Core_1,0,C,Core_1,0,idle
-34892525,TASK_1MS,34,C,Core_1,0,idle
-34892625,TASK_1MS,34,STI,IR_SCHED_Tasks_C1,123,trigger
-34892625,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-34892625,Core_1,0,C,Core_1,0,execute_idle
-34892625,TASK_InputProcessing,17,C,Core_1,0,execute_idle
-34892625,Core_1,0,T,TASK_InputProcessing,17,resume
-34892625,TASK_InputProcessing,17,R,FUNC_SEMLOCK,35,resume
-34917625,TASK_InputProcessing,17,SEM,SEM_DataElement1,0,requestsemaphore,0
-34917625,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-34917625,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-34917625,Core_1,0,C,Core_1,0,lock
-34917625,TASK_InputProcessing,17,SEM,SEM_DataElement1,0,assigned,1
-34917675,TASK_InputProcessing,17,R,FUNC_SEMLOCK,35,terminate
-34917675,Core_1,0,C,Core_1,0,unlock
-34917675,TASK_InputProcessing,17,R,FUNC_ReadSensorData,17,start
-35000000,SIM,-1,STI,TIMER-10MS,3,trigger
-35000000,TIMER-10MS,3,T,TASK_10MS,3,activate
-35000000,TASK_10MS,3,SCHED,SCHED_Tasks_C2,-1,processactivate
-35000100,TASK_10MS,3,STI,IR_SCHED_Tasks_C2,113,trigger
-35000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-35000100,Core_2,0,T,TASK_10MS,3,start
-35000100,TASK_10MS,3,R,FUNC_EXECTIME_1,71,start
-35000100,Core_2,0,C,Core_2,0,execute
-35000100,TASK_10MS,3,C,Core_2,0,execute
-35082325,TASK_InputProcessing,17,SIG,SIG_RotationSpeed,0,read,0
-35082325,TASK_InputProcessing,17,SIG,SIG_Lambda,0,read,0
-35082325,TASK_InputProcessing,17,SIG,SIG_Temperature,0,read,0
-35082325,TASK_InputProcessing,17,R,FUNC_ReadSensorData,17,terminate
-35082325,TASK_InputProcessing,17,R,FUNC_SEMUNLOCK,35,start
-35250000,SIM,-1,STI,TIMER-1MS,35,trigger
-35250000,TIMER-1MS,35,T,TASK_1MS,35,activate
-35250000,TASK_1MS,35,SCHED,SCHED_Tasks_C1,-1,processactivate
-35250100,TASK_1MS,35,STI,IR_SCHED_Tasks_C1,124,trigger
-35250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-35282325,TASK_InputProcessing,17,SEM,SEM_DataElement1,0,released,1
-35282325,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-35282325,TASK_InputProcessing,17,SCHED,SCHED_Tasks_C1,-1,schedulepoint
-35282325,Core_1,0,C,Core_1,0,lock
-35282375,TASK_InputProcessing,17,R,FUNC_SEMUNLOCK,35,terminate
-35282375,Core_1,0,C,Core_1,0,unlock
-35282375,TASK_InputProcessing,17,STI,IPA_InputReady,17,trigger
-35282375,IPA_InputReady,17,T,TASK_CalcEngineSpeed,17,activate
-35282375,TASK_CalcEngineSpeed,17,SCHED,SCHED_Tasks_C2,-1,processactivate
-35282375,Core_1,0,T,TASK_InputProcessing,17,terminate
-35282375,TASK_InputProcessing,17,SCHED,SCHED_Tasks_C1,-1,processterminate
-35282375,Core_1,0,C,Core_1,0,idle
-35282375,TASK_InputProcessing,17,C,Core_1,0,idle
-35282425,TASK_InputProcessing,17,STI,IR_SCHED_Tasks_C1,125,trigger
-35282425,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-35282425,Core_1,0,T,TASK_1MS,35,start
-35282425,TASK_1MS,35,R,FUNC_EXECTIME_1,72,start
-35282425,Core_1,0,C,Core_1,0,execute
-35282425,TASK_1MS,35,C,Core_1,0,execute
-35282475,TASK_CalcEngineSpeed,17,STI,IR_SCHED_Tasks_C2,114,trigger
-35282475,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-35282475,TASK_10MS,3,R,FUNC_EXECTIME_1,71,suspend
-35282475,Core_2,0,T,TASK_10MS,3,preempt
-35282475,Core_2,0,C,Core_2,0,idle_execution
-35282475,TASK_10MS,3,C,Core_2,0,idle_execution
-35282475,Core_2,0,T,TASK_CalcEngineSpeed,17,start
-35282475,TASK_CalcEngineSpeed,17,R,FUNC_ENGINESPEED,17,start
-35282475,Core_2,0,C,Core_2,0,execute
-35282475,TASK_CalcEngineSpeed,17,C,Core_2,0,execute
-35530000,TASK_CalcEngineSpeed,17,R,FUNC_ENGINESPEED,17,terminate
-35530000,Core_2,0,T,TASK_CalcEngineSpeed,17,terminate
-35530000,TASK_CalcEngineSpeed,17,SCHED,SCHED_Tasks_C2,-1,processterminate
-35530000,Core_2,0,C,Core_2,0,idle
-35530000,TASK_CalcEngineSpeed,17,C,Core_2,0,idle
-35530100,TASK_CalcEngineSpeed,17,STI,IR_SCHED_Tasks_C2,115,trigger
-35530100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-35530100,Core_2,0,C,Core_2,0,execute_idle
-35530100,TASK_10MS,3,C,Core_2,0,execute_idle
-35530100,Core_2,0,T,TASK_10MS,3,resume
-35530100,TASK_10MS,3,R,FUNC_EXECTIME_1,71,resume
-35650725,TASK_10MS,3,R,FUNC_EXECTIME_1,71,terminate
-35650725,Core_2,0,T,TASK_10MS,3,terminate
-35650725,TASK_10MS,3,SCHED,SCHED_Tasks_C2,-1,processterminate
-35650725,Core_2,0,C,Core_2,0,idle
-35650725,TASK_10MS,3,C,Core_2,0,idle
-35650825,TASK_10MS,3,STI,IR_SCHED_Tasks_C2,116,trigger
-35650825,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-35706350,TASK_1MS,35,R,FUNC_EXECTIME_1,72,terminate
-35706350,Core_1,0,T,TASK_1MS,35,terminate
-35706350,TASK_1MS,35,SCHED,SCHED_Tasks_C1,-1,processterminate
-35706350,Core_1,0,C,Core_1,0,idle
-35706350,TASK_1MS,35,C,Core_1,0,idle
-35706450,TASK_1MS,35,STI,IR_SCHED_Tasks_C1,126,trigger
-35706450,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-35706450,Core_1,0,C,Core_1,0,execute_idle
-35706450,TASK_200MS,0,C,Core_1,0,execute_idle
-35706450,Core_1,0,T,TASK_200MS,0,resume
-35706450,TASK_200MS,0,R,FUNC_EXECTIME_1,69,resume
-36000000,SIM,-1,STI,TIMER-B_2ms,18,trigger
-36000000,TIMER-B_2ms,18,T,TASK_WritingActuator,18,activate
-36000000,TASK_WritingActuator,18,SCHED,SCHED_Tasks_C2,-1,processactivate
-36000100,TASK_WritingActuator,18,STI,IR_SCHED_Tasks_C2,117,trigger
-36000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-36000100,Core_2,0,T,TASK_WritingActuator,18,start
-36000100,TASK_WritingActuator,18,R,FUNC_SEMLOCK,36,start
-36000100,Core_2,0,C,Core_2,0,execute
-36000100,TASK_WritingActuator,18,C,Core_2,0,execute
-36100000,SIM,-1,STI,TIMER-5MS,18,trigger
-36100000,TIMER-5MS,18,T,TASK_5MS,18,activate
-36100000,TASK_5MS,18,SCHED,SCHED_Tasks_C2,-1,processactivate
-36100100,TASK_5MS,18,STI,IR_SCHED_Tasks_C2,118,trigger
-36100100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-36125100,TASK_WritingActuator,18,SEM,SEM_DataElement1,0,requestsemaphore,0
-36125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-36125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-36125100,Core_2,0,C,Core_2,0,lock
-36125100,TASK_WritingActuator,18,SEM,SEM_DataElement1,0,assigned,1
-36125150,TASK_WritingActuator,18,R,FUNC_SEMLOCK,36,terminate
-36125150,Core_2,0,C,Core_2,0,unlock
-36125150,TASK_WritingActuator,18,R,FUNC_WriteData,18,start
-36150000,SIM,-1,STI,TIMER-A_2ms,18,trigger
-36150000,TIMER-A_2ms,18,T,TASK_InputProcessing,18,activate
-36150000,TASK_InputProcessing,18,SCHED,SCHED_Tasks_C1,-1,processactivate
-36150100,TASK_InputProcessing,18,STI,IR_SCHED_Tasks_C1,127,trigger
-36150100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-36150100,TASK_200MS,0,R,FUNC_EXECTIME_1,69,suspend
-36150100,Core_1,0,T,TASK_200MS,0,preempt
-36150100,Core_1,0,C,Core_1,0,idle_execution
-36150100,TASK_200MS,0,C,Core_1,0,idle_execution
-36150100,Core_1,0,T,TASK_InputProcessing,18,start
-36150100,TASK_InputProcessing,18,R,FUNC_SEMLOCK,37,start
-36150100,Core_1,0,C,Core_1,0,execute
-36150100,TASK_InputProcessing,18,C,Core_1,0,execute
-36152150,TASK_WritingActuator,18,SIG,SIG_Mixture,0,write,0
-36152150,TASK_WritingActuator,18,R,FUNC_WriteData,18,terminate
-36152150,TASK_WritingActuator,18,R,FUNC_SEMUNLOCK,36,start
-36250000,SIM,-1,STI,TIMER-1MS,36,trigger
-36250000,TIMER-1MS,36,T,TASK_1MS,36,activate
-36250000,TASK_1MS,36,SCHED,SCHED_Tasks_C1,-1,processactivate
-36250100,TASK_1MS,36,STI,IR_SCHED_Tasks_C1,128,trigger
-36250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-36250100,TASK_InputProcessing,18,R,FUNC_SEMLOCK,37,suspend
-36250100,Core_1,0,T,TASK_InputProcessing,18,preempt
-36250100,Core_1,0,C,Core_1,0,idle_execution
-36250100,TASK_InputProcessing,18,C,Core_1,0,idle_execution
-36250100,Core_1,0,T,TASK_1MS,36,start
-36250100,TASK_1MS,36,R,FUNC_EXECTIME_1,74,start
-36250100,Core_1,0,C,Core_1,0,execute
-36250100,TASK_1MS,36,C,Core_1,0,execute
-36352150,TASK_WritingActuator,18,SEM,SEM_DataElement1,0,released,1
-36352150,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-36352150,TASK_WritingActuator,18,SCHED,SCHED_Tasks_C2,-1,schedulepoint
-36352150,Core_2,0,C,Core_2,0,lock
-36352200,TASK_WritingActuator,18,R,FUNC_SEMUNLOCK,36,terminate
-36352200,Core_2,0,T,TASK_WritingActuator,18,terminate
-36352200,TASK_WritingActuator,18,SCHED,SCHED_Tasks_C2,-1,processterminate
-36352200,Core_2,0,C,Core_2,0,unlock
-36352200,Core_2,0,C,Core_2,0,idle
-36352200,TASK_WritingActuator,18,C,Core_2,0,idle
-36352250,TASK_WritingActuator,18,STI,IR_SCHED_Tasks_C2,119,trigger
-36352250,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-36352250,Core_2,0,T,TASK_5MS,18,start
-36352250,TASK_5MS,18,R,FUNC_EXECTIME_1,73,start
-36352250,Core_2,0,C,Core_2,0,execute
-36352250,TASK_5MS,18,C,Core_2,0,execute
-36704850,TASK_1MS,36,R,FUNC_EXECTIME_1,74,terminate
-36704850,Core_1,0,T,TASK_1MS,36,terminate
-36704850,TASK_1MS,36,SCHED,SCHED_Tasks_C1,-1,processterminate
-36704850,Core_1,0,C,Core_1,0,idle
-36704850,TASK_1MS,36,C,Core_1,0,idle
-36704950,TASK_1MS,36,STI,IR_SCHED_Tasks_C1,129,trigger
-36704950,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-36704950,Core_1,0,C,Core_1,0,execute_idle
-36704950,TASK_InputProcessing,18,C,Core_1,0,execute_idle
-36704950,Core_1,0,T,TASK_InputProcessing,18,resume
-36704950,TASK_InputProcessing,18,R,FUNC_SEMLOCK,37,resume
-36708725,TASK_5MS,18,R,FUNC_EXECTIME_1,73,terminate
-36708725,Core_2,0,T,TASK_5MS,18,terminate
-36708725,TASK_5MS,18,SCHED,SCHED_Tasks_C2,-1,processterminate
-36708725,Core_2,0,C,Core_2,0,idle
-36708725,TASK_5MS,18,C,Core_2,0,idle
-36708825,TASK_5MS,18,STI,IR_SCHED_Tasks_C2,120,trigger
-36708825,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-36729950,TASK_InputProcessing,18,SEM,SEM_DataElement1,0,requestsemaphore,0
-36729950,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-36729950,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-36729950,Core_1,0,C,Core_1,0,lock
-36729950,TASK_InputProcessing,18,SEM,SEM_DataElement1,0,assigned,1
-36730000,TASK_InputProcessing,18,R,FUNC_SEMLOCK,37,terminate
-36730000,Core_1,0,C,Core_1,0,unlock
-36730000,TASK_InputProcessing,18,R,FUNC_ReadSensorData,18,start
-36896025,TASK_InputProcessing,18,SIG,SIG_RotationSpeed,0,read,0
-36896025,TASK_InputProcessing,18,SIG,SIG_Lambda,0,read,0
-36896025,TASK_InputProcessing,18,SIG,SIG_Temperature,0,read,0
-36896025,TASK_InputProcessing,18,R,FUNC_ReadSensorData,18,terminate
-36896025,TASK_InputProcessing,18,R,FUNC_SEMUNLOCK,37,start
-37096025,TASK_InputProcessing,18,SEM,SEM_DataElement1,0,released,1
-37096025,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-37096025,TASK_InputProcessing,18,SCHED,SCHED_Tasks_C1,-1,schedulepoint
-37096025,Core_1,0,C,Core_1,0,lock
-37096075,TASK_InputProcessing,18,R,FUNC_SEMUNLOCK,37,terminate
-37096075,Core_1,0,C,Core_1,0,unlock
-37096075,TASK_InputProcessing,18,STI,IPA_InputReady,18,trigger
-37096075,IPA_InputReady,18,T,TASK_CalcEngineSpeed,18,activate
-37096075,TASK_CalcEngineSpeed,18,SCHED,SCHED_Tasks_C2,-1,processactivate
-37096075,Core_1,0,T,TASK_InputProcessing,18,terminate
-37096075,TASK_InputProcessing,18,SCHED,SCHED_Tasks_C1,-1,processterminate
-37096075,Core_1,0,C,Core_1,0,idle
-37096075,TASK_InputProcessing,18,C,Core_1,0,idle
-37096125,TASK_InputProcessing,18,STI,IR_SCHED_Tasks_C1,130,trigger
-37096125,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-37096125,Core_1,0,C,Core_1,0,execute_idle
-37096125,TASK_200MS,0,C,Core_1,0,execute_idle
-37096125,Core_1,0,T,TASK_200MS,0,resume
-37096125,TASK_200MS,0,R,FUNC_EXECTIME_1,69,resume
-37096175,TASK_CalcEngineSpeed,18,STI,IR_SCHED_Tasks_C2,121,trigger
-37096175,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-37096175,Core_2,0,T,TASK_CalcEngineSpeed,18,start
-37096175,TASK_CalcEngineSpeed,18,R,FUNC_ENGINESPEED,18,start
-37096175,Core_2,0,C,Core_2,0,execute
-37096175,TASK_CalcEngineSpeed,18,C,Core_2,0,execute
-37160500,TASK_200MS,0,R,FUNC_EXECTIME_1,69,terminate
-37160500,TASK_200MS,0,SCHED,SCHED_Tasks_C1,-1,schedulepoint
-37160500,Core_1,0,T,TASK_200MS,0,preempt
-37160500,Core_1,0,C,Core_1,0,idle
-37160500,TASK_200MS,0,C,Core_1,0,idle
-37160600,TASK_200MS,0,STI,IR_SCHED_Tasks_C1,131,trigger
-37160600,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-37160600,Core_1,0,T,TASK_200MS,0,resume
-37160600,TASK_200MS,0,R,FUNC_EXECTIME_1,75,start
-37160600,Core_1,0,C,Core_1,0,execute
-37160600,TASK_200MS,0,C,Core_1,0,execute
-37234550,TASK_CalcEngineSpeed,18,R,FUNC_ENGINESPEED,18,terminate
-37234550,Core_2,0,T,TASK_CalcEngineSpeed,18,terminate
-37234550,TASK_CalcEngineSpeed,18,SCHED,SCHED_Tasks_C2,-1,processterminate
-37234550,Core_2,0,C,Core_2,0,idle
-37234550,TASK_CalcEngineSpeed,18,C,Core_2,0,idle
-37234650,TASK_CalcEngineSpeed,18,STI,IR_SCHED_Tasks_C2,122,trigger
-37234650,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-37250000,SIM,-1,STI,TIMER-1MS,37,trigger
-37250000,TIMER-1MS,37,T,TASK_1MS,37,activate
-37250000,TASK_1MS,37,SCHED,SCHED_Tasks_C1,-1,processactivate
-37250100,TASK_1MS,37,STI,IR_SCHED_Tasks_C1,132,trigger
-37250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-37250100,TASK_200MS,0,R,FUNC_EXECTIME_1,75,suspend
-37250100,Core_1,0,T,TASK_200MS,0,preempt
-37250100,Core_1,0,C,Core_1,0,idle_execution
-37250100,TASK_200MS,0,C,Core_1,0,idle_execution
-37250100,Core_1,0,T,TASK_1MS,37,start
-37250100,TASK_1MS,37,R,FUNC_EXECTIME_1,77,start
-37250100,Core_1,0,C,Core_1,0,execute
-37250100,TASK_1MS,37,C,Core_1,0,execute
-37837025,TASK_1MS,37,R,FUNC_EXECTIME_1,77,terminate
-37837025,Core_1,0,T,TASK_1MS,37,terminate
-37837025,TASK_1MS,37,SCHED,SCHED_Tasks_C1,-1,processterminate
-37837025,Core_1,0,C,Core_1,0,idle
-37837025,TASK_1MS,37,C,Core_1,0,idle
-37837125,TASK_1MS,37,STI,IR_SCHED_Tasks_C1,133,trigger
-37837125,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-37837125,Core_1,0,C,Core_1,0,execute_idle
-37837125,TASK_200MS,0,C,Core_1,0,execute_idle
-37837125,Core_1,0,T,TASK_200MS,0,resume
-37837125,TASK_200MS,0,R,FUNC_EXECTIME_1,75,resume
-38000000,SIM,-1,STI,TIMER-B_2ms,19,trigger
-38000000,TIMER-B_2ms,19,T,TASK_WritingActuator,19,activate
-38000000,TASK_WritingActuator,19,SCHED,SCHED_Tasks_C2,-1,processactivate
-38000100,TASK_WritingActuator,19,STI,IR_SCHED_Tasks_C2,123,trigger
-38000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-38000100,Core_2,0,T,TASK_WritingActuator,19,start
-38000100,TASK_WritingActuator,19,R,FUNC_SEMLOCK,38,start
-38000100,Core_2,0,C,Core_2,0,execute
-38000100,TASK_WritingActuator,19,C,Core_2,0,execute
-38100000,SIM,-1,STI,TIMER-5MS,19,trigger
-38100000,TIMER-5MS,19,T,TASK_5MS,19,activate
-38100000,TASK_5MS,19,SCHED,SCHED_Tasks_C2,-1,processactivate
-38100100,TASK_5MS,19,STI,IR_SCHED_Tasks_C2,124,trigger
-38100100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-38125100,TASK_WritingActuator,19,SEM,SEM_DataElement1,0,requestsemaphore,0
-38125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-38125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-38125100,Core_2,0,C,Core_2,0,lock
-38125100,TASK_WritingActuator,19,SEM,SEM_DataElement1,0,assigned,1
-38125150,TASK_WritingActuator,19,R,FUNC_SEMLOCK,38,terminate
-38125150,Core_2,0,C,Core_2,0,unlock
-38125150,TASK_WritingActuator,19,R,FUNC_WriteData,19,start
-38150000,SIM,-1,STI,TIMER-A_2ms,19,trigger
-38150000,TIMER-A_2ms,19,T,TASK_InputProcessing,19,activate
-38150000,TASK_InputProcessing,19,SCHED,SCHED_Tasks_C1,-1,processactivate
-38150100,TASK_InputProcessing,19,STI,IR_SCHED_Tasks_C1,134,trigger
-38150100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-38150100,TASK_200MS,0,R,FUNC_EXECTIME_1,75,suspend
-38150100,Core_1,0,T,TASK_200MS,0,preempt
-38150100,Core_1,0,C,Core_1,0,idle_execution
-38150100,TASK_200MS,0,C,Core_1,0,idle_execution
-38150100,Core_1,0,T,TASK_InputProcessing,19,start
-38150100,TASK_InputProcessing,19,R,FUNC_SEMLOCK,39,start
-38150100,Core_1,0,C,Core_1,0,execute
-38150100,TASK_InputProcessing,19,C,Core_1,0,execute
-38151875,TASK_WritingActuator,19,SIG,SIG_Mixture,0,write,0
-38151875,TASK_WritingActuator,19,R,FUNC_WriteData,19,terminate
-38151875,TASK_WritingActuator,19,R,FUNC_SEMUNLOCK,38,start
-38250000,SIM,-1,STI,TIMER-1MS,38,trigger
-38250000,TIMER-1MS,38,T,TASK_1MS,38,activate
-38250000,TASK_1MS,38,SCHED,SCHED_Tasks_C1,-1,processactivate
-38250100,TASK_1MS,38,STI,IR_SCHED_Tasks_C1,135,trigger
-38250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-38250100,TASK_InputProcessing,19,R,FUNC_SEMLOCK,39,suspend
-38250100,Core_1,0,T,TASK_InputProcessing,19,preempt
-38250100,Core_1,0,C,Core_1,0,idle_execution
-38250100,TASK_InputProcessing,19,C,Core_1,0,idle_execution
-38250100,Core_1,0,T,TASK_1MS,38,start
-38250100,TASK_1MS,38,R,FUNC_EXECTIME_1,79,start
-38250100,Core_1,0,C,Core_1,0,execute
-38250100,TASK_1MS,38,C,Core_1,0,execute
-38351875,TASK_WritingActuator,19,SEM,SEM_DataElement1,0,released,1
-38351875,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-38351875,TASK_WritingActuator,19,SCHED,SCHED_Tasks_C2,-1,schedulepoint
-38351875,Core_2,0,C,Core_2,0,lock
-38351925,TASK_WritingActuator,19,R,FUNC_SEMUNLOCK,38,terminate
-38351925,Core_2,0,T,TASK_WritingActuator,19,terminate
-38351925,TASK_WritingActuator,19,SCHED,SCHED_Tasks_C2,-1,processterminate
-38351925,Core_2,0,C,Core_2,0,unlock
-38351925,Core_2,0,C,Core_2,0,idle
-38351925,TASK_WritingActuator,19,C,Core_2,0,idle
-38351975,TASK_WritingActuator,19,STI,IR_SCHED_Tasks_C2,125,trigger
-38351975,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-38351975,Core_2,0,T,TASK_5MS,19,start
-38351975,TASK_5MS,19,R,FUNC_EXECTIME_1,78,start
-38351975,Core_2,0,C,Core_2,0,execute
-38351975,TASK_5MS,19,C,Core_2,0,execute
-38507675,TASK_1MS,38,R,FUNC_EXECTIME_1,79,terminate
-38507675,Core_1,0,T,TASK_1MS,38,terminate
-38507675,TASK_1MS,38,SCHED,SCHED_Tasks_C1,-1,processterminate
-38507675,Core_1,0,C,Core_1,0,idle
-38507675,TASK_1MS,38,C,Core_1,0,idle
-38507775,TASK_1MS,38,STI,IR_SCHED_Tasks_C1,136,trigger
-38507775,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-38507775,Core_1,0,C,Core_1,0,execute_idle
-38507775,TASK_InputProcessing,19,C,Core_1,0,execute_idle
-38507775,Core_1,0,T,TASK_InputProcessing,19,resume
-38507775,TASK_InputProcessing,19,R,FUNC_SEMLOCK,39,resume
-38532775,TASK_InputProcessing,19,SEM,SEM_DataElement1,0,requestsemaphore,0
-38532775,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-38532775,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-38532775,Core_1,0,C,Core_1,0,lock
-38532775,TASK_InputProcessing,19,SEM,SEM_DataElement1,0,assigned,1
-38532825,TASK_InputProcessing,19,R,FUNC_SEMLOCK,39,terminate
-38532825,Core_1,0,C,Core_1,0,unlock
-38532825,TASK_InputProcessing,19,R,FUNC_ReadSensorData,19,start
-38692775,TASK_InputProcessing,19,SIG,SIG_RotationSpeed,0,read,0
-38692775,TASK_InputProcessing,19,SIG,SIG_Lambda,0,read,0
-38692775,TASK_InputProcessing,19,SIG,SIG_Temperature,0,read,0
-38692775,TASK_InputProcessing,19,R,FUNC_ReadSensorData,19,terminate
-38692775,TASK_InputProcessing,19,R,FUNC_SEMUNLOCK,39,start
-38845600,TASK_5MS,19,R,FUNC_EXECTIME_1,78,terminate
-38845600,Core_2,0,T,TASK_5MS,19,terminate
-38845600,TASK_5MS,19,SCHED,SCHED_Tasks_C2,-1,processterminate
-38845600,Core_2,0,C,Core_2,0,idle
-38845600,TASK_5MS,19,C,Core_2,0,idle
-38845700,TASK_5MS,19,STI,IR_SCHED_Tasks_C2,126,trigger
-38845700,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-38892775,TASK_InputProcessing,19,SEM,SEM_DataElement1,0,released,1
-38892775,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-38892775,TASK_InputProcessing,19,SCHED,SCHED_Tasks_C1,-1,schedulepoint
-38892775,Core_1,0,C,Core_1,0,lock
-38892825,TASK_InputProcessing,19,R,FUNC_SEMUNLOCK,39,terminate
-38892825,Core_1,0,C,Core_1,0,unlock
-38892825,TASK_InputProcessing,19,STI,IPA_InputReady,19,trigger
-38892825,IPA_InputReady,19,T,TASK_CalcEngineSpeed,19,activate
-38892825,TASK_CalcEngineSpeed,19,SCHED,SCHED_Tasks_C2,-1,processactivate
-38892825,Core_1,0,T,TASK_InputProcessing,19,terminate
-38892825,TASK_InputProcessing,19,SCHED,SCHED_Tasks_C1,-1,processterminate
-38892825,Core_1,0,C,Core_1,0,idle
-38892825,TASK_InputProcessing,19,C,Core_1,0,idle
-38892875,TASK_InputProcessing,19,STI,IR_SCHED_Tasks_C1,137,trigger
-38892875,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-38892875,Core_1,0,C,Core_1,0,execute_idle
-38892875,TASK_200MS,0,C,Core_1,0,execute_idle
-38892875,Core_1,0,T,TASK_200MS,0,resume
-38892875,TASK_200MS,0,R,FUNC_EXECTIME_1,75,resume
-38892925,TASK_CalcEngineSpeed,19,STI,IR_SCHED_Tasks_C2,127,trigger
-38892925,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-38892925,Core_2,0,T,TASK_CalcEngineSpeed,19,start
-38892925,TASK_CalcEngineSpeed,19,R,FUNC_ENGINESPEED,19,start
-38892925,Core_2,0,C,Core_2,0,execute
-38892925,TASK_CalcEngineSpeed,19,C,Core_2,0,execute
-38908375,TASK_200MS,0,R,FUNC_EXECTIME_1,75,terminate
-38908375,TASK_200MS,0,R,FUNC_EXECTIME_1,76,start
-39011175,TASK_CalcEngineSpeed,19,R,FUNC_ENGINESPEED,19,terminate
-39011175,Core_2,0,T,TASK_CalcEngineSpeed,19,terminate
-39011175,TASK_CalcEngineSpeed,19,SCHED,SCHED_Tasks_C2,-1,processterminate
-39011175,Core_2,0,C,Core_2,0,idle
-39011175,TASK_CalcEngineSpeed,19,C,Core_2,0,idle
-39011275,TASK_CalcEngineSpeed,19,STI,IR_SCHED_Tasks_C2,128,trigger
-39011275,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-39250000,SIM,-1,STI,TIMER-1MS,39,trigger
-39250000,TIMER-1MS,39,T,TASK_1MS,39,activate
-39250000,TASK_1MS,39,SCHED,SCHED_Tasks_C1,-1,processactivate
-39250100,TASK_1MS,39,STI,IR_SCHED_Tasks_C1,138,trigger
-39250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-39250100,TASK_200MS,0,R,FUNC_EXECTIME_1,76,suspend
-39250100,Core_1,0,T,TASK_200MS,0,preempt
-39250100,Core_1,0,C,Core_1,0,idle_execution
-39250100,TASK_200MS,0,C,Core_1,0,idle_execution
-39250100,Core_1,0,T,TASK_1MS,39,start
-39250100,TASK_1MS,39,R,FUNC_EXECTIME_1,80,start
-39250100,Core_1,0,C,Core_1,0,execute
-39250100,TASK_1MS,39,C,Core_1,0,execute
-39663425,TASK_1MS,39,R,FUNC_EXECTIME_1,80,terminate
-39663425,Core_1,0,T,TASK_1MS,39,terminate
-39663425,TASK_1MS,39,SCHED,SCHED_Tasks_C1,-1,processterminate
-39663425,Core_1,0,C,Core_1,0,idle
-39663425,TASK_1MS,39,C,Core_1,0,idle
-39663525,TASK_1MS,39,STI,IR_SCHED_Tasks_C1,139,trigger
-39663525,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-39663525,Core_1,0,C,Core_1,0,execute_idle
-39663525,TASK_200MS,0,C,Core_1,0,execute_idle
-39663525,Core_1,0,T,TASK_200MS,0,resume
-39663525,TASK_200MS,0,R,FUNC_EXECTIME_1,76,resume
-39763375,TASK_200MS,0,R,FUNC_EXECTIME_1,76,terminate
-39763375,Core_1,0,T,TASK_200MS,0,terminate
-39763375,TASK_200MS,0,SCHED,SCHED_Tasks_C1,-1,processterminate
-39763375,Core_1,0,C,Core_1,0,idle
-39763375,TASK_200MS,0,C,Core_1,0,idle
-39763475,TASK_200MS,0,STI,IR_SCHED_Tasks_C1,140,trigger
-39763475,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-40000000,SIM,-1,STI,TIMER-B_2ms,20,trigger
-40000000,TIMER-B_2ms,20,T,TASK_WritingActuator,20,activate
-40000000,TASK_WritingActuator,20,SCHED,SCHED_Tasks_C2,-1,processactivate
-40000000,SIM,-1,STI,TIMER-10MS_2,4,trigger
-40000000,TIMER-10MS_2,4,T,TASK_10MS_DL2,4,activate
-40000000,TASK_10MS_DL2,4,SCHED,SCHED_Tasks_C1,-1,processactivate
-40000100,TASK_WritingActuator,20,STI,IR_SCHED_Tasks_C2,129,trigger
-40000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-40000100,Core_2,0,T,TASK_WritingActuator,20,start
-40000100,TASK_WritingActuator,20,R,FUNC_SEMLOCK,40,start
-40000100,Core_2,0,C,Core_2,0,execute
-40000100,TASK_WritingActuator,20,C,Core_2,0,execute
-40000100,TASK_10MS_DL2,4,STI,IR_SCHED_Tasks_C1,141,trigger
-40000100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-40000100,Core_1,0,T,TASK_10MS_DL2,4,start
-40000100,TASK_10MS_DL2,4,R,FUNC_EXECTIME_1,81,start
-40000100,Core_1,0,C,Core_1,0,execute
-40000100,TASK_10MS_DL2,4,C,Core_1,0,execute
-40005000,SIM,-1,STI,TIMER-20MS,2,trigger
-40005000,TIMER-20MS,2,T,TASK_20MS,2,activate
-40005000,TASK_20MS,2,SCHED,SCHED_Tasks_C1,-1,processactivate
-40005100,TASK_20MS,2,STI,IR_SCHED_Tasks_C1,142,trigger
-40005100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-40100000,SIM,-1,STI,TIMER-5MS,20,trigger
-40100000,TIMER-5MS,20,T,TASK_5MS,20,activate
-40100000,TASK_5MS,20,SCHED,SCHED_Tasks_C2,-1,processactivate
-40100100,TASK_5MS,20,STI,IR_SCHED_Tasks_C2,130,trigger
-40100100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-40125100,TASK_WritingActuator,20,SEM,SEM_DataElement1,0,requestsemaphore,0
-40125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-40125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-40125100,Core_2,0,C,Core_2,0,lock
-40125100,TASK_WritingActuator,20,SEM,SEM_DataElement1,0,assigned,1
-40125150,TASK_WritingActuator,20,R,FUNC_SEMLOCK,40,terminate
-40125150,Core_2,0,C,Core_2,0,unlock
-40125150,TASK_WritingActuator,20,R,FUNC_WriteData,20,start
-40150000,SIM,-1,STI,TIMER-A_2ms,20,trigger
-40150000,TIMER-A_2ms,20,T,TASK_InputProcessing,20,activate
-40150000,TASK_InputProcessing,20,SCHED,SCHED_Tasks_C1,-1,processactivate
-40150100,TASK_InputProcessing,20,STI,IR_SCHED_Tasks_C1,143,trigger
-40150100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-40151400,TASK_WritingActuator,20,SIG,SIG_Mixture,0,write,0
-40151400,TASK_WritingActuator,20,R,FUNC_WriteData,20,terminate
-40151400,TASK_WritingActuator,20,R,FUNC_SEMUNLOCK,40,start
-40250000,SIM,-1,STI,TIMER-1MS,40,trigger
-40250000,TIMER-1MS,40,T,TASK_1MS,40,activate
-40250000,TASK_1MS,40,SCHED,SCHED_Tasks_C1,-1,processactivate
-40250100,TASK_1MS,40,STI,IR_SCHED_Tasks_C1,144,trigger
-40250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-40250100,TASK_10MS_DL2,4,R,FUNC_EXECTIME_1,81,suspend
-40250100,Core_1,0,T,TASK_10MS_DL2,4,preempt
-40250100,Core_1,0,C,Core_1,0,idle_execution
-40250100,TASK_10MS_DL2,4,C,Core_1,0,idle_execution
-40250100,Core_1,0,T,TASK_1MS,40,start
-40250100,TASK_1MS,40,R,FUNC_EXECTIME_1,84,start
-40250100,Core_1,0,C,Core_1,0,execute
-40250100,TASK_1MS,40,C,Core_1,0,execute
-40351400,TASK_WritingActuator,20,SEM,SEM_DataElement1,0,released,1
-40351400,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-40351400,TASK_WritingActuator,20,SCHED,SCHED_Tasks_C2,-1,schedulepoint
-40351400,Core_2,0,C,Core_2,0,lock
-40351450,TASK_WritingActuator,20,R,FUNC_SEMUNLOCK,40,terminate
-40351450,Core_2,0,T,TASK_WritingActuator,20,terminate
-40351450,TASK_WritingActuator,20,SCHED,SCHED_Tasks_C2,-1,processterminate
-40351450,Core_2,0,C,Core_2,0,unlock
-40351450,Core_2,0,C,Core_2,0,idle
-40351450,TASK_WritingActuator,20,C,Core_2,0,idle
-40351500,TASK_WritingActuator,20,STI,IR_SCHED_Tasks_C2,131,trigger
-40351500,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-40351500,Core_2,0,T,TASK_5MS,20,start
-40351500,TASK_5MS,20,R,FUNC_EXECTIME_1,83,start
-40351500,Core_2,0,C,Core_2,0,execute
-40351500,TASK_5MS,20,C,Core_2,0,execute
-40851000,TASK_1MS,40,R,FUNC_EXECTIME_1,84,terminate
-40851000,Core_1,0,T,TASK_1MS,40,terminate
-40851000,TASK_1MS,40,SCHED,SCHED_Tasks_C1,-1,processterminate
-40851000,Core_1,0,C,Core_1,0,idle
-40851000,TASK_1MS,40,C,Core_1,0,idle
-40851100,TASK_1MS,40,STI,IR_SCHED_Tasks_C1,145,trigger
-40851100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-40851100,Core_1,0,C,Core_1,0,execute_idle
-40851100,TASK_10MS_DL2,4,C,Core_1,0,execute_idle
-40851100,Core_1,0,T,TASK_10MS_DL2,4,resume
-40851100,TASK_10MS_DL2,4,R,FUNC_EXECTIME_1,81,resume
-40923700,TASK_5MS,20,R,FUNC_EXECTIME_1,83,terminate
-40923700,Core_2,0,T,TASK_5MS,20,terminate
-40923700,TASK_5MS,20,SCHED,SCHED_Tasks_C2,-1,processterminate
-40923700,Core_2,0,C,Core_2,0,idle
-40923700,TASK_5MS,20,C,Core_2,0,idle
-40923800,TASK_5MS,20,STI,IR_SCHED_Tasks_C2,132,trigger
-40923800,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-41119375,TASK_10MS_DL2,4,R,FUNC_EXECTIME_1,81,terminate
-41119375,Core_1,0,T,TASK_10MS_DL2,4,terminate
-41119375,TASK_10MS_DL2,4,SCHED,SCHED_Tasks_C1,-1,processterminate
-41119375,Core_1,0,C,Core_1,0,idle
-41119375,TASK_10MS_DL2,4,C,Core_1,0,idle
-41119475,TASK_10MS_DL2,4,STI,IR_SCHED_Tasks_C1,146,trigger
-41119475,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-41119475,Core_1,0,T,TASK_InputProcessing,20,start
-41119475,TASK_InputProcessing,20,R,FUNC_SEMLOCK,41,start
-41119475,Core_1,0,C,Core_1,0,execute
-41119475,TASK_InputProcessing,20,C,Core_1,0,execute
-41244475,TASK_InputProcessing,20,SEM,SEM_DataElement1,0,requestsemaphore,0
-41244475,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-41244475,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-41244475,Core_1,0,C,Core_1,0,lock
-41244475,TASK_InputProcessing,20,SEM,SEM_DataElement1,0,assigned,1
-41244525,TASK_InputProcessing,20,R,FUNC_SEMLOCK,41,terminate
-41244525,Core_1,0,C,Core_1,0,unlock
-41244525,TASK_InputProcessing,20,R,FUNC_ReadSensorData,20,start
-41250000,SIM,-1,STI,TIMER-1MS,41,trigger
-41250000,TIMER-1MS,41,T,TASK_1MS,41,activate
-41250000,TASK_1MS,41,SCHED,SCHED_Tasks_C1,-1,processactivate
-41250100,TASK_1MS,41,STI,IR_SCHED_Tasks_C1,147,trigger
-41250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-41407375,TASK_InputProcessing,20,SIG,SIG_RotationSpeed,0,read,0
-41407375,TASK_InputProcessing,20,SIG,SIG_Lambda,0,read,0
-41407375,TASK_InputProcessing,20,SIG,SIG_Temperature,0,read,0
-41407375,TASK_InputProcessing,20,R,FUNC_ReadSensorData,20,terminate
-41407375,TASK_InputProcessing,20,R,FUNC_SEMUNLOCK,41,start
-41607375,TASK_InputProcessing,20,SEM,SEM_DataElement1,0,released,1
-41607375,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-41607375,TASK_InputProcessing,20,SCHED,SCHED_Tasks_C1,-1,schedulepoint
-41607375,Core_1,0,C,Core_1,0,lock
-41607425,TASK_InputProcessing,20,R,FUNC_SEMUNLOCK,41,terminate
-41607425,Core_1,0,C,Core_1,0,unlock
-41607425,TASK_InputProcessing,20,STI,IPA_InputReady,20,trigger
-41607425,IPA_InputReady,20,T,TASK_CalcEngineSpeed,20,activate
-41607425,TASK_CalcEngineSpeed,20,SCHED,SCHED_Tasks_C2,-1,processactivate
-41607425,Core_1,0,T,TASK_InputProcessing,20,terminate
-41607425,TASK_InputProcessing,20,SCHED,SCHED_Tasks_C1,-1,processterminate
-41607425,Core_1,0,C,Core_1,0,idle
-41607425,TASK_InputProcessing,20,C,Core_1,0,idle
-41607475,TASK_InputProcessing,20,STI,IR_SCHED_Tasks_C1,148,trigger
-41607475,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-41607475,Core_1,0,T,TASK_1MS,41,start
-41607475,TASK_1MS,41,R,FUNC_EXECTIME_1,85,start
-41607475,Core_1,0,C,Core_1,0,execute
-41607475,TASK_1MS,41,C,Core_1,0,execute
-41607525,TASK_CalcEngineSpeed,20,STI,IR_SCHED_Tasks_C2,133,trigger
-41607525,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-41607525,Core_2,0,T,TASK_CalcEngineSpeed,20,start
-41607525,TASK_CalcEngineSpeed,20,R,FUNC_ENGINESPEED,20,start
-41607525,Core_2,0,C,Core_2,0,execute
-41607525,TASK_CalcEngineSpeed,20,C,Core_2,0,execute
-41809175,TASK_CalcEngineSpeed,20,R,FUNC_ENGINESPEED,20,terminate
-41809175,Core_2,0,T,TASK_CalcEngineSpeed,20,terminate
-41809175,TASK_CalcEngineSpeed,20,SCHED,SCHED_Tasks_C2,-1,processterminate
-41809175,Core_2,0,C,Core_2,0,idle
-41809175,TASK_CalcEngineSpeed,20,C,Core_2,0,idle
-41809275,TASK_CalcEngineSpeed,20,STI,IR_SCHED_Tasks_C2,134,trigger
-41809275,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-42000000,SIM,-1,STI,TIMER-B_2ms,21,trigger
-42000000,TIMER-B_2ms,21,T,TASK_WritingActuator,21,activate
-42000000,TASK_WritingActuator,21,SCHED,SCHED_Tasks_C2,-1,processactivate
-42000100,TASK_WritingActuator,21,STI,IR_SCHED_Tasks_C2,135,trigger
-42000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-42000100,Core_2,0,T,TASK_WritingActuator,21,start
-42000100,TASK_WritingActuator,21,R,FUNC_SEMLOCK,42,start
-42000100,Core_2,0,C,Core_2,0,execute
-42000100,TASK_WritingActuator,21,C,Core_2,0,execute
-42100000,SIM,-1,STI,TIMER-5MS,21,trigger
-42100000,TIMER-5MS,21,T,TASK_5MS,21,activate
-42100000,TASK_5MS,21,SCHED,SCHED_Tasks_C2,-1,processactivate
-42100100,TASK_5MS,21,STI,IR_SCHED_Tasks_C2,136,trigger
-42100100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-42116300,TASK_1MS,41,R,FUNC_EXECTIME_1,85,terminate
-42116300,Core_1,0,T,TASK_1MS,41,terminate
-42116300,TASK_1MS,41,SCHED,SCHED_Tasks_C1,-1,processterminate
-42116300,Core_1,0,C,Core_1,0,idle
-42116300,TASK_1MS,41,C,Core_1,0,idle
-42116400,TASK_1MS,41,STI,IR_SCHED_Tasks_C1,149,trigger
-42116400,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-42116400,Core_1,0,T,TASK_20MS,2,start
-42116400,TASK_20MS,2,R,FUNC_EXECTIME_1,82,start
-42116400,Core_1,0,C,Core_1,0,execute
-42116400,TASK_20MS,2,C,Core_1,0,execute
-42125100,TASK_WritingActuator,21,SEM,SEM_DataElement1,0,requestsemaphore,0
-42125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-42125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-42125100,Core_2,0,C,Core_2,0,lock
-42125100,TASK_WritingActuator,21,SEM,SEM_DataElement1,0,assigned,1
-42125150,TASK_WritingActuator,21,R,FUNC_SEMLOCK,42,terminate
-42125150,Core_2,0,C,Core_2,0,unlock
-42125150,TASK_WritingActuator,21,R,FUNC_WriteData,21,start
-42150000,SIM,-1,STI,TIMER-A_2ms,21,trigger
-42150000,TIMER-A_2ms,21,T,TASK_InputProcessing,21,activate
-42150000,TASK_InputProcessing,21,SCHED,SCHED_Tasks_C1,-1,processactivate
-42150100,TASK_InputProcessing,21,STI,IR_SCHED_Tasks_C1,150,trigger
-42150100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-42150100,TASK_20MS,2,R,FUNC_EXECTIME_1,82,suspend
-42150100,Core_1,0,T,TASK_20MS,2,preempt
-42150100,Core_1,0,C,Core_1,0,idle_execution
-42150100,TASK_20MS,2,C,Core_1,0,idle_execution
-42150100,Core_1,0,T,TASK_InputProcessing,21,start
-42150100,TASK_InputProcessing,21,R,FUNC_SEMLOCK,43,start
-42150100,Core_1,0,C,Core_1,0,execute
-42150100,TASK_InputProcessing,21,C,Core_1,0,execute
-42152450,TASK_WritingActuator,21,SIG,SIG_Mixture,0,write,0
-42152450,TASK_WritingActuator,21,R,FUNC_WriteData,21,terminate
-42152450,TASK_WritingActuator,21,R,FUNC_SEMUNLOCK,42,start
-42250000,SIM,-1,STI,TIMER-1MS,42,trigger
-42250000,TIMER-1MS,42,T,TASK_1MS,42,activate
-42250000,TASK_1MS,42,SCHED,SCHED_Tasks_C1,-1,processactivate
-42250100,TASK_1MS,42,STI,IR_SCHED_Tasks_C1,151,trigger
-42250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-42250100,TASK_InputProcessing,21,R,FUNC_SEMLOCK,43,suspend
-42250100,Core_1,0,T,TASK_InputProcessing,21,preempt
-42250100,Core_1,0,C,Core_1,0,idle_execution
-42250100,TASK_InputProcessing,21,C,Core_1,0,idle_execution
-42250100,Core_1,0,T,TASK_1MS,42,start
-42250100,TASK_1MS,42,R,FUNC_EXECTIME_1,87,start
-42250100,Core_1,0,C,Core_1,0,execute
-42250100,TASK_1MS,42,C,Core_1,0,execute
-42352450,TASK_WritingActuator,21,SEM,SEM_DataElement1,0,released,1
-42352450,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-42352450,TASK_WritingActuator,21,SCHED,SCHED_Tasks_C2,-1,schedulepoint
-42352450,Core_2,0,C,Core_2,0,lock
-42352500,TASK_WritingActuator,21,R,FUNC_SEMUNLOCK,42,terminate
-42352500,Core_2,0,T,TASK_WritingActuator,21,terminate
-42352500,TASK_WritingActuator,21,SCHED,SCHED_Tasks_C2,-1,processterminate
-42352500,Core_2,0,C,Core_2,0,unlock
-42352500,Core_2,0,C,Core_2,0,idle
-42352500,TASK_WritingActuator,21,C,Core_2,0,idle
-42352550,TASK_WritingActuator,21,STI,IR_SCHED_Tasks_C2,137,trigger
-42352550,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-42352550,Core_2,0,T,TASK_5MS,21,start
-42352550,TASK_5MS,21,R,FUNC_EXECTIME_1,86,start
-42352550,Core_2,0,C,Core_2,0,execute
-42352550,TASK_5MS,21,C,Core_2,0,execute
-42766725,TASK_5MS,21,R,FUNC_EXECTIME_1,86,terminate
-42766725,Core_2,0,T,TASK_5MS,21,terminate
-42766725,TASK_5MS,21,SCHED,SCHED_Tasks_C2,-1,processterminate
-42766725,Core_2,0,C,Core_2,0,idle
-42766725,TASK_5MS,21,C,Core_2,0,idle
-42766825,TASK_5MS,21,STI,IR_SCHED_Tasks_C2,138,trigger
-42766825,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-42946525,TASK_1MS,42,R,FUNC_EXECTIME_1,87,terminate
-42946525,Core_1,0,T,TASK_1MS,42,terminate
-42946525,TASK_1MS,42,SCHED,SCHED_Tasks_C1,-1,processterminate
-42946525,Core_1,0,C,Core_1,0,idle
-42946525,TASK_1MS,42,C,Core_1,0,idle
-42946625,TASK_1MS,42,STI,IR_SCHED_Tasks_C1,152,trigger
-42946625,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-42946625,Core_1,0,C,Core_1,0,execute_idle
-42946625,TASK_InputProcessing,21,C,Core_1,0,execute_idle
-42946625,Core_1,0,T,TASK_InputProcessing,21,resume
-42946625,TASK_InputProcessing,21,R,FUNC_SEMLOCK,43,resume
-42971625,TASK_InputProcessing,21,SEM,SEM_DataElement1,0,requestsemaphore,0
-42971625,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-42971625,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-42971625,Core_1,0,C,Core_1,0,lock
-42971625,TASK_InputProcessing,21,SEM,SEM_DataElement1,0,assigned,1
-42971675,TASK_InputProcessing,21,R,FUNC_SEMLOCK,43,terminate
-42971675,Core_1,0,C,Core_1,0,unlock
-42971675,TASK_InputProcessing,21,R,FUNC_ReadSensorData,21,start
-43130775,TASK_InputProcessing,21,SIG,SIG_RotationSpeed,0,read,0
-43130775,TASK_InputProcessing,21,SIG,SIG_Lambda,0,read,0
-43130775,TASK_InputProcessing,21,SIG,SIG_Temperature,0,read,0
-43130775,TASK_InputProcessing,21,R,FUNC_ReadSensorData,21,terminate
-43130775,TASK_InputProcessing,21,R,FUNC_SEMUNLOCK,43,start
-43250000,SIM,-1,STI,TIMER-1MS,43,trigger
-43250000,TIMER-1MS,43,T,TASK_1MS,43,activate
-43250000,TASK_1MS,43,SCHED,SCHED_Tasks_C1,-1,processactivate
-43250100,TASK_1MS,43,STI,IR_SCHED_Tasks_C1,153,trigger
-43250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-43330775,TASK_InputProcessing,21,SEM,SEM_DataElement1,0,released,1
-43330775,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-43330775,TASK_InputProcessing,21,SCHED,SCHED_Tasks_C1,-1,schedulepoint
-43330775,Core_1,0,C,Core_1,0,lock
-43330825,TASK_InputProcessing,21,R,FUNC_SEMUNLOCK,43,terminate
-43330825,Core_1,0,C,Core_1,0,unlock
-43330825,TASK_InputProcessing,21,STI,IPA_InputReady,21,trigger
-43330825,IPA_InputReady,21,T,TASK_CalcEngineSpeed,21,activate
-43330825,TASK_CalcEngineSpeed,21,SCHED,SCHED_Tasks_C2,-1,processactivate
-43330825,Core_1,0,T,TASK_InputProcessing,21,terminate
-43330825,TASK_InputProcessing,21,SCHED,SCHED_Tasks_C1,-1,processterminate
-43330825,Core_1,0,C,Core_1,0,idle
-43330825,TASK_InputProcessing,21,C,Core_1,0,idle
-43330875,TASK_InputProcessing,21,STI,IR_SCHED_Tasks_C1,154,trigger
-43330875,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-43330875,Core_1,0,T,TASK_1MS,43,start
-43330875,TASK_1MS,43,R,FUNC_EXECTIME_1,88,start
-43330875,Core_1,0,C,Core_1,0,execute
-43330875,TASK_1MS,43,C,Core_1,0,execute
-43330925,TASK_CalcEngineSpeed,21,STI,IR_SCHED_Tasks_C2,139,trigger
-43330925,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-43330925,Core_2,0,T,TASK_CalcEngineSpeed,21,start
-43330925,TASK_CalcEngineSpeed,21,R,FUNC_ENGINESPEED,21,start
-43330925,Core_2,0,C,Core_2,0,execute
-43330925,TASK_CalcEngineSpeed,21,C,Core_2,0,execute
-43547600,TASK_CalcEngineSpeed,21,R,FUNC_ENGINESPEED,21,terminate
-43547600,Core_2,0,T,TASK_CalcEngineSpeed,21,terminate
-43547600,TASK_CalcEngineSpeed,21,SCHED,SCHED_Tasks_C2,-1,processterminate
-43547600,Core_2,0,C,Core_2,0,idle
-43547600,TASK_CalcEngineSpeed,21,C,Core_2,0,idle
-43547700,TASK_CalcEngineSpeed,21,STI,IR_SCHED_Tasks_C2,140,trigger
-43547700,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-43810500,TASK_1MS,43,R,FUNC_EXECTIME_1,88,terminate
-43810500,Core_1,0,T,TASK_1MS,43,terminate
-43810500,TASK_1MS,43,SCHED,SCHED_Tasks_C1,-1,processterminate
-43810500,Core_1,0,C,Core_1,0,idle
-43810500,TASK_1MS,43,C,Core_1,0,idle
-43810600,TASK_1MS,43,STI,IR_SCHED_Tasks_C1,155,trigger
-43810600,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-43810600,Core_1,0,C,Core_1,0,execute_idle
-43810600,TASK_20MS,2,C,Core_1,0,execute_idle
-43810600,Core_1,0,T,TASK_20MS,2,resume
-43810600,TASK_20MS,2,R,FUNC_EXECTIME_1,82,resume
-44000000,SIM,-1,STI,TIMER-B_2ms,22,trigger
-44000000,TIMER-B_2ms,22,T,TASK_WritingActuator,22,activate
-44000000,TASK_WritingActuator,22,SCHED,SCHED_Tasks_C2,-1,processactivate
-44000100,TASK_WritingActuator,22,STI,IR_SCHED_Tasks_C2,141,trigger
-44000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-44000100,Core_2,0,T,TASK_WritingActuator,22,start
-44000100,TASK_WritingActuator,22,R,FUNC_SEMLOCK,44,start
-44000100,Core_2,0,C,Core_2,0,execute
-44000100,TASK_WritingActuator,22,C,Core_2,0,execute
-44100000,SIM,-1,STI,TIMER-5MS,22,trigger
-44100000,TIMER-5MS,22,T,TASK_5MS,22,activate
-44100000,TASK_5MS,22,SCHED,SCHED_Tasks_C2,-1,processactivate
-44100100,TASK_5MS,22,STI,IR_SCHED_Tasks_C2,142,trigger
-44100100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-44124375,TASK_20MS,2,R,FUNC_EXECTIME_1,82,terminate
-44124375,Core_1,0,T,TASK_20MS,2,terminate
-44124375,TASK_20MS,2,SCHED,SCHED_Tasks_C1,-1,processterminate
-44124375,Core_1,0,C,Core_1,0,idle
-44124375,TASK_20MS,2,C,Core_1,0,idle
-44124475,TASK_20MS,2,STI,IR_SCHED_Tasks_C1,156,trigger
-44124475,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-44125100,TASK_WritingActuator,22,SEM,SEM_DataElement1,0,requestsemaphore,0
-44125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-44125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-44125100,Core_2,0,C,Core_2,0,lock
-44125100,TASK_WritingActuator,22,SEM,SEM_DataElement1,0,assigned,1
-44125150,TASK_WritingActuator,22,R,FUNC_SEMLOCK,44,terminate
-44125150,Core_2,0,C,Core_2,0,unlock
-44125150,TASK_WritingActuator,22,R,FUNC_WriteData,22,start
-44150000,SIM,-1,STI,TIMER-A_2ms,22,trigger
-44150000,TIMER-A_2ms,22,T,TASK_InputProcessing,22,activate
-44150000,TASK_InputProcessing,22,SCHED,SCHED_Tasks_C1,-1,processactivate
-44150100,TASK_InputProcessing,22,STI,IR_SCHED_Tasks_C1,157,trigger
-44150100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-44150100,Core_1,0,T,TASK_InputProcessing,22,start
-44150100,TASK_InputProcessing,22,R,FUNC_SEMLOCK,45,start
-44150100,Core_1,0,C,Core_1,0,execute
-44150100,TASK_InputProcessing,22,C,Core_1,0,execute
-44152175,TASK_WritingActuator,22,SIG,SIG_Mixture,0,write,0
-44152175,TASK_WritingActuator,22,R,FUNC_WriteData,22,terminate
-44152175,TASK_WritingActuator,22,R,FUNC_SEMUNLOCK,44,start
-44250000,SIM,-1,STI,TIMER-1MS,44,trigger
-44250000,TIMER-1MS,44,T,TASK_1MS,44,activate
-44250000,TASK_1MS,44,SCHED,SCHED_Tasks_C1,-1,processactivate
-44250100,TASK_1MS,44,STI,IR_SCHED_Tasks_C1,158,trigger
-44250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-44250100,TASK_InputProcessing,22,R,FUNC_SEMLOCK,45,suspend
-44250100,Core_1,0,T,TASK_InputProcessing,22,preempt
-44250100,Core_1,0,C,Core_1,0,idle_execution
-44250100,TASK_InputProcessing,22,C,Core_1,0,idle_execution
-44250100,Core_1,0,T,TASK_1MS,44,start
-44250100,TASK_1MS,44,R,FUNC_EXECTIME_1,90,start
-44250100,Core_1,0,C,Core_1,0,execute
-44250100,TASK_1MS,44,C,Core_1,0,execute
-44352175,TASK_WritingActuator,22,SEM,SEM_DataElement1,0,released,1
-44352175,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-44352175,TASK_WritingActuator,22,SCHED,SCHED_Tasks_C2,-1,schedulepoint
-44352175,Core_2,0,C,Core_2,0,lock
-44352225,TASK_WritingActuator,22,R,FUNC_SEMUNLOCK,44,terminate
-44352225,Core_2,0,T,TASK_WritingActuator,22,terminate
-44352225,TASK_WritingActuator,22,SCHED,SCHED_Tasks_C2,-1,processterminate
-44352225,Core_2,0,C,Core_2,0,unlock
-44352225,Core_2,0,C,Core_2,0,idle
-44352225,TASK_WritingActuator,22,C,Core_2,0,idle
-44352275,TASK_WritingActuator,22,STI,IR_SCHED_Tasks_C2,143,trigger
-44352275,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-44352275,Core_2,0,T,TASK_5MS,22,start
-44352275,TASK_5MS,22,R,FUNC_EXECTIME_1,89,start
-44352275,Core_2,0,C,Core_2,0,execute
-44352275,TASK_5MS,22,C,Core_2,0,execute
-44648775,TASK_5MS,22,R,FUNC_EXECTIME_1,89,terminate
-44648775,Core_2,0,T,TASK_5MS,22,terminate
-44648775,TASK_5MS,22,SCHED,SCHED_Tasks_C2,-1,processterminate
-44648775,Core_2,0,C,Core_2,0,idle
-44648775,TASK_5MS,22,C,Core_2,0,idle
-44648875,TASK_5MS,22,STI,IR_SCHED_Tasks_C2,144,trigger
-44648875,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-44795100,TASK_1MS,44,R,FUNC_EXECTIME_1,90,terminate
-44795100,Core_1,0,T,TASK_1MS,44,terminate
-44795100,TASK_1MS,44,SCHED,SCHED_Tasks_C1,-1,processterminate
-44795100,Core_1,0,C,Core_1,0,idle
-44795100,TASK_1MS,44,C,Core_1,0,idle
-44795200,TASK_1MS,44,STI,IR_SCHED_Tasks_C1,159,trigger
-44795200,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-44795200,Core_1,0,C,Core_1,0,execute_idle
-44795200,TASK_InputProcessing,22,C,Core_1,0,execute_idle
-44795200,Core_1,0,T,TASK_InputProcessing,22,resume
-44795200,TASK_InputProcessing,22,R,FUNC_SEMLOCK,45,resume
-44820200,TASK_InputProcessing,22,SEM,SEM_DataElement1,0,requestsemaphore,0
-44820200,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-44820200,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-44820200,Core_1,0,C,Core_1,0,lock
-44820200,TASK_InputProcessing,22,SEM,SEM_DataElement1,0,assigned,1
-44820250,TASK_InputProcessing,22,R,FUNC_SEMLOCK,45,terminate
-44820250,Core_1,0,C,Core_1,0,unlock
-44820250,TASK_InputProcessing,22,R,FUNC_ReadSensorData,22,start
-44985875,TASK_InputProcessing,22,SIG,SIG_RotationSpeed,0,read,0
-44985875,TASK_InputProcessing,22,SIG,SIG_Lambda,0,read,0
-44985875,TASK_InputProcessing,22,SIG,SIG_Temperature,0,read,0
-44985875,TASK_InputProcessing,22,R,FUNC_ReadSensorData,22,terminate
-44985875,TASK_InputProcessing,22,R,FUNC_SEMUNLOCK,45,start
-45000000,SIM,-1,STI,TIMER-10MS,4,trigger
-45000000,TIMER-10MS,4,T,TASK_10MS,4,activate
-45000000,TASK_10MS,4,SCHED,SCHED_Tasks_C2,-1,processactivate
-45000100,TASK_10MS,4,STI,IR_SCHED_Tasks_C2,145,trigger
-45000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-45000100,Core_2,0,T,TASK_10MS,4,start
-45000100,TASK_10MS,4,R,FUNC_EXECTIME_1,91,start
-45000100,Core_2,0,C,Core_2,0,execute
-45000100,TASK_10MS,4,C,Core_2,0,execute
-45185875,TASK_InputProcessing,22,SEM,SEM_DataElement1,0,released,1
-45185875,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-45185875,TASK_InputProcessing,22,SCHED,SCHED_Tasks_C1,-1,schedulepoint
-45185875,Core_1,0,C,Core_1,0,lock
-45185925,TASK_InputProcessing,22,R,FUNC_SEMUNLOCK,45,terminate
-45185925,Core_1,0,C,Core_1,0,unlock
-45185925,TASK_InputProcessing,22,STI,IPA_InputReady,22,trigger
-45185925,IPA_InputReady,22,T,TASK_CalcEngineSpeed,22,activate
-45185925,TASK_CalcEngineSpeed,22,SCHED,SCHED_Tasks_C2,-1,processactivate
-45185925,Core_1,0,T,TASK_InputProcessing,22,terminate
-45185925,TASK_InputProcessing,22,SCHED,SCHED_Tasks_C1,-1,processterminate
-45185925,Core_1,0,C,Core_1,0,idle
-45185925,TASK_InputProcessing,22,C,Core_1,0,idle
-45185975,TASK_InputProcessing,22,STI,IR_SCHED_Tasks_C1,160,trigger
-45185975,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-45186025,TASK_CalcEngineSpeed,22,STI,IR_SCHED_Tasks_C2,146,trigger
-45186025,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-45186025,TASK_10MS,4,R,FUNC_EXECTIME_1,91,suspend
-45186025,Core_2,0,T,TASK_10MS,4,preempt
-45186025,Core_2,0,C,Core_2,0,idle_execution
-45186025,TASK_10MS,4,C,Core_2,0,idle_execution
-45186025,Core_2,0,T,TASK_CalcEngineSpeed,22,start
-45186025,TASK_CalcEngineSpeed,22,R,FUNC_ENGINESPEED,22,start
-45186025,Core_2,0,C,Core_2,0,execute
-45186025,TASK_CalcEngineSpeed,22,C,Core_2,0,execute
-45250000,SIM,-1,STI,TIMER-1MS,45,trigger
-45250000,TIMER-1MS,45,T,TASK_1MS,45,activate
-45250000,TASK_1MS,45,SCHED,SCHED_Tasks_C1,-1,processactivate
-45250100,TASK_1MS,45,STI,IR_SCHED_Tasks_C1,161,trigger
-45250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-45250100,Core_1,0,T,TASK_1MS,45,start
-45250100,TASK_1MS,45,R,FUNC_EXECTIME_1,92,start
-45250100,Core_1,0,C,Core_1,0,execute
-45250100,TASK_1MS,45,C,Core_1,0,execute
-45337450,TASK_CalcEngineSpeed,22,R,FUNC_ENGINESPEED,22,terminate
-45337450,Core_2,0,T,TASK_CalcEngineSpeed,22,terminate
-45337450,TASK_CalcEngineSpeed,22,SCHED,SCHED_Tasks_C2,-1,processterminate
-45337450,Core_2,0,C,Core_2,0,idle
-45337450,TASK_CalcEngineSpeed,22,C,Core_2,0,idle
-45337550,TASK_CalcEngineSpeed,22,STI,IR_SCHED_Tasks_C2,147,trigger
-45337550,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-45337550,Core_2,0,C,Core_2,0,execute_idle
-45337550,TASK_10MS,4,C,Core_2,0,execute_idle
-45337550,Core_2,0,T,TASK_10MS,4,resume
-45337550,TASK_10MS,4,R,FUNC_EXECTIME_1,91,resume
-45662700,TASK_1MS,45,R,FUNC_EXECTIME_1,92,terminate
-45662700,Core_1,0,T,TASK_1MS,45,terminate
-45662700,TASK_1MS,45,SCHED,SCHED_Tasks_C1,-1,processterminate
-45662700,Core_1,0,C,Core_1,0,idle
-45662700,TASK_1MS,45,C,Core_1,0,idle
-45662800,TASK_1MS,45,STI,IR_SCHED_Tasks_C1,162,trigger
-45662800,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-45775700,TASK_10MS,4,R,FUNC_EXECTIME_1,91,terminate
-45775700,Core_2,0,T,TASK_10MS,4,terminate
-45775700,TASK_10MS,4,SCHED,SCHED_Tasks_C2,-1,processterminate
-45775700,Core_2,0,C,Core_2,0,idle
-45775700,TASK_10MS,4,C,Core_2,0,idle
-45775800,TASK_10MS,4,STI,IR_SCHED_Tasks_C2,148,trigger
-45775800,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-46000000,SIM,-1,STI,TIMER-B_2ms,23,trigger
-46000000,TIMER-B_2ms,23,T,TASK_WritingActuator,23,activate
-46000000,TASK_WritingActuator,23,SCHED,SCHED_Tasks_C2,-1,processactivate
-46000100,TASK_WritingActuator,23,STI,IR_SCHED_Tasks_C2,149,trigger
-46000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-46000100,Core_2,0,T,TASK_WritingActuator,23,start
-46000100,TASK_WritingActuator,23,R,FUNC_SEMLOCK,46,start
-46000100,Core_2,0,C,Core_2,0,execute
-46000100,TASK_WritingActuator,23,C,Core_2,0,execute
-46100000,SIM,-1,STI,TIMER-5MS,23,trigger
-46100000,TIMER-5MS,23,T,TASK_5MS,23,activate
-46100000,TASK_5MS,23,SCHED,SCHED_Tasks_C2,-1,processactivate
-46100100,TASK_5MS,23,STI,IR_SCHED_Tasks_C2,150,trigger
-46100100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-46125100,TASK_WritingActuator,23,SEM,SEM_DataElement1,0,requestsemaphore,0
-46125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-46125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-46125100,Core_2,0,C,Core_2,0,lock
-46125100,TASK_WritingActuator,23,SEM,SEM_DataElement1,0,assigned,1
-46125150,TASK_WritingActuator,23,R,FUNC_SEMLOCK,46,terminate
-46125150,Core_2,0,C,Core_2,0,unlock
-46125150,TASK_WritingActuator,23,R,FUNC_WriteData,23,start
-46150000,SIM,-1,STI,TIMER-A_2ms,23,trigger
-46150000,TIMER-A_2ms,23,T,TASK_InputProcessing,23,activate
-46150000,TASK_InputProcessing,23,SCHED,SCHED_Tasks_C1,-1,processactivate
-46150100,TASK_InputProcessing,23,STI,IR_SCHED_Tasks_C1,163,trigger
-46150100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-46150100,Core_1,0,T,TASK_InputProcessing,23,start
-46150100,TASK_InputProcessing,23,R,FUNC_SEMLOCK,47,start
-46150100,Core_1,0,C,Core_1,0,execute
-46150100,TASK_InputProcessing,23,C,Core_1,0,execute
-46152325,TASK_WritingActuator,23,SIG,SIG_Mixture,0,write,0
-46152325,TASK_WritingActuator,23,R,FUNC_WriteData,23,terminate
-46152325,TASK_WritingActuator,23,R,FUNC_SEMUNLOCK,46,start
-46250000,SIM,-1,STI,TIMER-1MS,46,trigger
-46250000,TIMER-1MS,46,T,TASK_1MS,46,activate
-46250000,TASK_1MS,46,SCHED,SCHED_Tasks_C1,-1,processactivate
-46250100,TASK_1MS,46,STI,IR_SCHED_Tasks_C1,164,trigger
-46250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-46250100,TASK_InputProcessing,23,R,FUNC_SEMLOCK,47,suspend
-46250100,Core_1,0,T,TASK_InputProcessing,23,preempt
-46250100,Core_1,0,C,Core_1,0,idle_execution
-46250100,TASK_InputProcessing,23,C,Core_1,0,idle_execution
-46250100,Core_1,0,T,TASK_1MS,46,start
-46250100,TASK_1MS,46,R,FUNC_EXECTIME_1,94,start
-46250100,Core_1,0,C,Core_1,0,execute
-46250100,TASK_1MS,46,C,Core_1,0,execute
-46352325,TASK_WritingActuator,23,SEM,SEM_DataElement1,0,released,1
-46352325,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-46352325,TASK_WritingActuator,23,SCHED,SCHED_Tasks_C2,-1,schedulepoint
-46352325,Core_2,0,C,Core_2,0,lock
-46352375,TASK_WritingActuator,23,R,FUNC_SEMUNLOCK,46,terminate
-46352375,Core_2,0,T,TASK_WritingActuator,23,terminate
-46352375,TASK_WritingActuator,23,SCHED,SCHED_Tasks_C2,-1,processterminate
-46352375,Core_2,0,C,Core_2,0,unlock
-46352375,Core_2,0,C,Core_2,0,idle
-46352375,TASK_WritingActuator,23,C,Core_2,0,idle
-46352425,TASK_WritingActuator,23,STI,IR_SCHED_Tasks_C2,151,trigger
-46352425,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-46352425,Core_2,0,T,TASK_5MS,23,start
-46352425,TASK_5MS,23,R,FUNC_EXECTIME_1,93,start
-46352425,Core_2,0,C,Core_2,0,execute
-46352425,TASK_5MS,23,C,Core_2,0,execute
-46621125,TASK_1MS,46,R,FUNC_EXECTIME_1,94,terminate
-46621125,Core_1,0,T,TASK_1MS,46,terminate
-46621125,TASK_1MS,46,SCHED,SCHED_Tasks_C1,-1,processterminate
-46621125,Core_1,0,C,Core_1,0,idle
-46621125,TASK_1MS,46,C,Core_1,0,idle
-46621225,TASK_1MS,46,STI,IR_SCHED_Tasks_C1,165,trigger
-46621225,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-46621225,Core_1,0,C,Core_1,0,execute_idle
-46621225,TASK_InputProcessing,23,C,Core_1,0,execute_idle
-46621225,Core_1,0,T,TASK_InputProcessing,23,resume
-46621225,TASK_InputProcessing,23,R,FUNC_SEMLOCK,47,resume
-46646225,TASK_InputProcessing,23,SEM,SEM_DataElement1,0,requestsemaphore,0
-46646225,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-46646225,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-46646225,Core_1,0,C,Core_1,0,lock
-46646225,TASK_InputProcessing,23,SEM,SEM_DataElement1,0,assigned,1
-46646275,TASK_InputProcessing,23,R,FUNC_SEMLOCK,47,terminate
-46646275,Core_1,0,C,Core_1,0,unlock
-46646275,TASK_InputProcessing,23,R,FUNC_ReadSensorData,23,start
-46781175,TASK_5MS,23,R,FUNC_EXECTIME_1,93,terminate
-46781175,Core_2,0,T,TASK_5MS,23,terminate
-46781175,TASK_5MS,23,SCHED,SCHED_Tasks_C2,-1,processterminate
-46781175,Core_2,0,C,Core_2,0,idle
-46781175,TASK_5MS,23,C,Core_2,0,idle
-46781275,TASK_5MS,23,STI,IR_SCHED_Tasks_C2,152,trigger
-46781275,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-46805650,TASK_InputProcessing,23,SIG,SIG_RotationSpeed,0,read,0
-46805650,TASK_InputProcessing,23,SIG,SIG_Lambda,0,read,0
-46805650,TASK_InputProcessing,23,SIG,SIG_Temperature,0,read,0
-46805650,TASK_InputProcessing,23,R,FUNC_ReadSensorData,23,terminate
-46805650,TASK_InputProcessing,23,R,FUNC_SEMUNLOCK,47,start
-47005650,TASK_InputProcessing,23,SEM,SEM_DataElement1,0,released,1
-47005650,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-47005650,TASK_InputProcessing,23,SCHED,SCHED_Tasks_C1,-1,schedulepoint
-47005650,Core_1,0,C,Core_1,0,lock
-47005700,TASK_InputProcessing,23,R,FUNC_SEMUNLOCK,47,terminate
-47005700,Core_1,0,C,Core_1,0,unlock
-47005700,TASK_InputProcessing,23,STI,IPA_InputReady,23,trigger
-47005700,IPA_InputReady,23,T,TASK_CalcEngineSpeed,23,activate
-47005700,TASK_CalcEngineSpeed,23,SCHED,SCHED_Tasks_C2,-1,processactivate
-47005700,Core_1,0,T,TASK_InputProcessing,23,terminate
-47005700,TASK_InputProcessing,23,SCHED,SCHED_Tasks_C1,-1,processterminate
-47005700,Core_1,0,C,Core_1,0,idle
-47005700,TASK_InputProcessing,23,C,Core_1,0,idle
-47005750,TASK_InputProcessing,23,STI,IR_SCHED_Tasks_C1,166,trigger
-47005750,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-47005800,TASK_CalcEngineSpeed,23,STI,IR_SCHED_Tasks_C2,153,trigger
-47005800,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-47005800,Core_2,0,T,TASK_CalcEngineSpeed,23,start
-47005800,TASK_CalcEngineSpeed,23,R,FUNC_ENGINESPEED,23,start
-47005800,Core_2,0,C,Core_2,0,execute
-47005800,TASK_CalcEngineSpeed,23,C,Core_2,0,execute
-47216125,TASK_CalcEngineSpeed,23,R,FUNC_ENGINESPEED,23,terminate
-47216125,Core_2,0,T,TASK_CalcEngineSpeed,23,terminate
-47216125,TASK_CalcEngineSpeed,23,SCHED,SCHED_Tasks_C2,-1,processterminate
-47216125,Core_2,0,C,Core_2,0,idle
-47216125,TASK_CalcEngineSpeed,23,C,Core_2,0,idle
-47216225,TASK_CalcEngineSpeed,23,STI,IR_SCHED_Tasks_C2,154,trigger
-47216225,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-47250000,SIM,-1,STI,TIMER-1MS,47,trigger
-47250000,TIMER-1MS,47,T,TASK_1MS,47,activate
-47250000,TASK_1MS,47,SCHED,SCHED_Tasks_C1,-1,processactivate
-47250100,TASK_1MS,47,STI,IR_SCHED_Tasks_C1,167,trigger
-47250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-47250100,Core_1,0,T,TASK_1MS,47,start
-47250100,TASK_1MS,47,R,FUNC_EXECTIME_1,95,start
-47250100,Core_1,0,C,Core_1,0,execute
-47250100,TASK_1MS,47,C,Core_1,0,execute
-47847975,TASK_1MS,47,R,FUNC_EXECTIME_1,95,terminate
-47847975,Core_1,0,T,TASK_1MS,47,terminate
-47847975,TASK_1MS,47,SCHED,SCHED_Tasks_C1,-1,processterminate
-47847975,Core_1,0,C,Core_1,0,idle
-47847975,TASK_1MS,47,C,Core_1,0,idle
-47848075,TASK_1MS,47,STI,IR_SCHED_Tasks_C1,168,trigger
-47848075,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-48000000,SIM,-1,STI,TIMER-B_2ms,24,trigger
-48000000,TIMER-B_2ms,24,T,TASK_WritingActuator,24,activate
-48000000,TASK_WritingActuator,24,SCHED,SCHED_Tasks_C2,-1,processactivate
-48000100,TASK_WritingActuator,24,STI,IR_SCHED_Tasks_C2,155,trigger
-48000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-48000100,Core_2,0,T,TASK_WritingActuator,24,start
-48000100,TASK_WritingActuator,24,R,FUNC_SEMLOCK,48,start
-48000100,Core_2,0,C,Core_2,0,execute
-48000100,TASK_WritingActuator,24,C,Core_2,0,execute
-48100000,SIM,-1,STI,TIMER-5MS,24,trigger
-48100000,TIMER-5MS,24,T,TASK_5MS,24,activate
-48100000,TASK_5MS,24,SCHED,SCHED_Tasks_C2,-1,processactivate
-48100100,TASK_5MS,24,STI,IR_SCHED_Tasks_C2,156,trigger
-48100100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-48125100,TASK_WritingActuator,24,SEM,SEM_DataElement1,0,requestsemaphore,0
-48125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-48125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-48125100,Core_2,0,C,Core_2,0,lock
-48125100,TASK_WritingActuator,24,SEM,SEM_DataElement1,0,assigned,1
-48125150,TASK_WritingActuator,24,R,FUNC_SEMLOCK,48,terminate
-48125150,Core_2,0,C,Core_2,0,unlock
-48125150,TASK_WritingActuator,24,R,FUNC_WriteData,24,start
-48150000,SIM,-1,STI,TIMER-A_2ms,24,trigger
-48150000,TIMER-A_2ms,24,T,TASK_InputProcessing,24,activate
-48150000,TASK_InputProcessing,24,SCHED,SCHED_Tasks_C1,-1,processactivate
-48150100,TASK_InputProcessing,24,STI,IR_SCHED_Tasks_C1,169,trigger
-48150100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-48150100,Core_1,0,T,TASK_InputProcessing,24,start
-48150100,TASK_InputProcessing,24,R,FUNC_SEMLOCK,49,start
-48150100,Core_1,0,C,Core_1,0,execute
-48150100,TASK_InputProcessing,24,C,Core_1,0,execute
-48151975,TASK_WritingActuator,24,SIG,SIG_Mixture,0,write,0
-48151975,TASK_WritingActuator,24,R,FUNC_WriteData,24,terminate
-48151975,TASK_WritingActuator,24,R,FUNC_SEMUNLOCK,48,start
-48250000,SIM,-1,STI,TIMER-1MS,48,trigger
-48250000,TIMER-1MS,48,T,TASK_1MS,48,activate
-48250000,TASK_1MS,48,SCHED,SCHED_Tasks_C1,-1,processactivate
-48250100,TASK_1MS,48,STI,IR_SCHED_Tasks_C1,170,trigger
-48250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-48250100,TASK_InputProcessing,24,R,FUNC_SEMLOCK,49,suspend
-48250100,Core_1,0,T,TASK_InputProcessing,24,preempt
-48250100,Core_1,0,C,Core_1,0,idle_execution
-48250100,TASK_InputProcessing,24,C,Core_1,0,idle_execution
-48250100,Core_1,0,T,TASK_1MS,48,start
-48250100,TASK_1MS,48,R,FUNC_EXECTIME_1,97,start
-48250100,Core_1,0,C,Core_1,0,execute
-48250100,TASK_1MS,48,C,Core_1,0,execute
-48351975,TASK_WritingActuator,24,SEM,SEM_DataElement1,0,released,1
-48351975,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-48351975,TASK_WritingActuator,24,SCHED,SCHED_Tasks_C2,-1,schedulepoint
-48351975,Core_2,0,C,Core_2,0,lock
-48352025,TASK_WritingActuator,24,R,FUNC_SEMUNLOCK,48,terminate
-48352025,Core_2,0,T,TASK_WritingActuator,24,terminate
-48352025,TASK_WritingActuator,24,SCHED,SCHED_Tasks_C2,-1,processterminate
-48352025,Core_2,0,C,Core_2,0,unlock
-48352025,Core_2,0,C,Core_2,0,idle
-48352025,TASK_WritingActuator,24,C,Core_2,0,idle
-48352075,TASK_WritingActuator,24,STI,IR_SCHED_Tasks_C2,157,trigger
-48352075,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-48352075,Core_2,0,T,TASK_5MS,24,start
-48352075,TASK_5MS,24,R,FUNC_EXECTIME_1,96,start
-48352075,Core_2,0,C,Core_2,0,execute
-48352075,TASK_5MS,24,C,Core_2,0,execute
-48638675,TASK_5MS,24,R,FUNC_EXECTIME_1,96,terminate
-48638675,Core_2,0,T,TASK_5MS,24,terminate
-48638675,TASK_5MS,24,SCHED,SCHED_Tasks_C2,-1,processterminate
-48638675,Core_2,0,C,Core_2,0,idle
-48638675,TASK_5MS,24,C,Core_2,0,idle
-48638775,TASK_5MS,24,STI,IR_SCHED_Tasks_C2,158,trigger
-48638775,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-48794350,TASK_1MS,48,R,FUNC_EXECTIME_1,97,terminate
-48794350,Core_1,0,T,TASK_1MS,48,terminate
-48794350,TASK_1MS,48,SCHED,SCHED_Tasks_C1,-1,processterminate
-48794350,Core_1,0,C,Core_1,0,idle
-48794350,TASK_1MS,48,C,Core_1,0,idle
-48794450,TASK_1MS,48,STI,IR_SCHED_Tasks_C1,171,trigger
-48794450,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-48794450,Core_1,0,C,Core_1,0,execute_idle
-48794450,TASK_InputProcessing,24,C,Core_1,0,execute_idle
-48794450,Core_1,0,T,TASK_InputProcessing,24,resume
-48794450,TASK_InputProcessing,24,R,FUNC_SEMLOCK,49,resume
-48819450,TASK_InputProcessing,24,SEM,SEM_DataElement1,0,requestsemaphore,0
-48819450,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-48819450,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-48819450,Core_1,0,C,Core_1,0,lock
-48819450,TASK_InputProcessing,24,SEM,SEM_DataElement1,0,assigned,1
-48819500,TASK_InputProcessing,24,R,FUNC_SEMLOCK,49,terminate
-48819500,Core_1,0,C,Core_1,0,unlock
-48819500,TASK_InputProcessing,24,R,FUNC_ReadSensorData,24,start
-48981350,TASK_InputProcessing,24,SIG,SIG_RotationSpeed,0,read,0
-48981350,TASK_InputProcessing,24,SIG,SIG_Lambda,0,read,0
-48981350,TASK_InputProcessing,24,SIG,SIG_Temperature,0,read,0
-48981350,TASK_InputProcessing,24,R,FUNC_ReadSensorData,24,terminate
-48981350,TASK_InputProcessing,24,R,FUNC_SEMUNLOCK,49,start
-49181350,TASK_InputProcessing,24,SEM,SEM_DataElement1,0,released,1
-49181350,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-49181350,TASK_InputProcessing,24,SCHED,SCHED_Tasks_C1,-1,schedulepoint
-49181350,Core_1,0,C,Core_1,0,lock
-49181400,TASK_InputProcessing,24,R,FUNC_SEMUNLOCK,49,terminate
-49181400,Core_1,0,C,Core_1,0,unlock
-49181400,TASK_InputProcessing,24,STI,IPA_InputReady,24,trigger
-49181400,IPA_InputReady,24,T,TASK_CalcEngineSpeed,24,activate
-49181400,TASK_CalcEngineSpeed,24,SCHED,SCHED_Tasks_C2,-1,processactivate
-49181400,Core_1,0,T,TASK_InputProcessing,24,terminate
-49181400,TASK_InputProcessing,24,SCHED,SCHED_Tasks_C1,-1,processterminate
-49181400,Core_1,0,C,Core_1,0,idle
-49181400,TASK_InputProcessing,24,C,Core_1,0,idle
-49181450,TASK_InputProcessing,24,STI,IR_SCHED_Tasks_C1,172,trigger
-49181450,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-49181500,TASK_CalcEngineSpeed,24,STI,IR_SCHED_Tasks_C2,159,trigger
-49181500,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-49181500,Core_2,0,T,TASK_CalcEngineSpeed,24,start
-49181500,TASK_CalcEngineSpeed,24,R,FUNC_ENGINESPEED,24,start
-49181500,Core_2,0,C,Core_2,0,execute
-49181500,TASK_CalcEngineSpeed,24,C,Core_2,0,execute
-49250000,SIM,-1,STI,TIMER-1MS,49,trigger
-49250000,TIMER-1MS,49,T,TASK_1MS,49,activate
-49250000,TASK_1MS,49,SCHED,SCHED_Tasks_C1,-1,processactivate
-49250100,TASK_1MS,49,STI,IR_SCHED_Tasks_C1,173,trigger
-49250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-49250100,Core_1,0,T,TASK_1MS,49,start
-49250100,TASK_1MS,49,R,FUNC_EXECTIME_1,98,start
-49250100,Core_1,0,C,Core_1,0,execute
-49250100,TASK_1MS,49,C,Core_1,0,execute
-49281525,TASK_CalcEngineSpeed,24,R,FUNC_ENGINESPEED,24,terminate
-49281525,Core_2,0,T,TASK_CalcEngineSpeed,24,terminate
-49281525,TASK_CalcEngineSpeed,24,SCHED,SCHED_Tasks_C2,-1,processterminate
-49281525,Core_2,0,C,Core_2,0,idle
-49281525,TASK_CalcEngineSpeed,24,C,Core_2,0,idle
-49281625,TASK_CalcEngineSpeed,24,STI,IR_SCHED_Tasks_C2,160,trigger
-49281625,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-49581050,TASK_1MS,49,R,FUNC_EXECTIME_1,98,terminate
-49581050,Core_1,0,T,TASK_1MS,49,terminate
-49581050,TASK_1MS,49,SCHED,SCHED_Tasks_C1,-1,processterminate
-49581050,Core_1,0,C,Core_1,0,idle
-49581050,TASK_1MS,49,C,Core_1,0,idle
-49581150,TASK_1MS,49,STI,IR_SCHED_Tasks_C1,174,trigger
-49581150,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-50000000,SIM,-1,STI,TIMER-B_2ms,25,trigger
-50000000,TIMER-B_2ms,25,T,TASK_WritingActuator,25,activate
-50000000,TASK_WritingActuator,25,SCHED,SCHED_Tasks_C2,-1,processactivate
-50000000,SIM,-1,STI,TIMER-10MS_2,5,trigger
-50000000,TIMER-10MS_2,5,T,TASK_10MS_DL2,5,activate
-50000000,TASK_10MS_DL2,5,SCHED,SCHED_Tasks_C1,-1,processactivate
-50000100,TASK_WritingActuator,25,STI,IR_SCHED_Tasks_C2,161,trigger
-50000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-50000100,Core_2,0,T,TASK_WritingActuator,25,start
-50000100,TASK_WritingActuator,25,R,FUNC_SEMLOCK,50,start
-50000100,Core_2,0,C,Core_2,0,execute
-50000100,TASK_WritingActuator,25,C,Core_2,0,execute
-50000100,TASK_10MS_DL2,5,STI,IR_SCHED_Tasks_C1,175,trigger
-50000100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-50000100,Core_1,0,T,TASK_10MS_DL2,5,start
-50000100,TASK_10MS_DL2,5,R,FUNC_EXECTIME_1,99,start
-50000100,Core_1,0,C,Core_1,0,execute
-50000100,TASK_10MS_DL2,5,C,Core_1,0,execute
-50100000,SIM,-1,STI,TIMER-5MS,25,trigger
-50100000,TIMER-5MS,25,T,TASK_5MS,25,activate
-50100000,TASK_5MS,25,SCHED,SCHED_Tasks_C2,-1,processactivate
-50100100,TASK_5MS,25,STI,IR_SCHED_Tasks_C2,162,trigger
-50100100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-50125100,TASK_WritingActuator,25,SEM,SEM_DataElement1,0,requestsemaphore,0
-50125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-50125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-50125100,Core_2,0,C,Core_2,0,lock
-50125100,TASK_WritingActuator,25,SEM,SEM_DataElement1,0,assigned,1
-50125150,TASK_WritingActuator,25,R,FUNC_SEMLOCK,50,terminate
-50125150,Core_2,0,C,Core_2,0,unlock
-50125150,TASK_WritingActuator,25,R,FUNC_WriteData,25,start
-50150000,SIM,-1,STI,TIMER-A_2ms,25,trigger
-50150000,TIMER-A_2ms,25,T,TASK_InputProcessing,25,activate
-50150000,TASK_InputProcessing,25,SCHED,SCHED_Tasks_C1,-1,processactivate
-50150100,TASK_InputProcessing,25,STI,IR_SCHED_Tasks_C1,176,trigger
-50150100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-50151000,TASK_WritingActuator,25,SIG,SIG_Mixture,0,write,0
-50151000,TASK_WritingActuator,25,R,FUNC_WriteData,25,terminate
-50151000,TASK_WritingActuator,25,R,FUNC_SEMUNLOCK,50,start
-50250000,SIM,-1,STI,TIMER-1MS,50,trigger
-50250000,TIMER-1MS,50,T,TASK_1MS,50,activate
-50250000,TASK_1MS,50,SCHED,SCHED_Tasks_C1,-1,processactivate
-50250100,TASK_1MS,50,STI,IR_SCHED_Tasks_C1,177,trigger
-50250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-50250100,TASK_10MS_DL2,5,R,FUNC_EXECTIME_1,99,suspend
-50250100,Core_1,0,T,TASK_10MS_DL2,5,preempt
-50250100,Core_1,0,C,Core_1,0,idle_execution
-50250100,TASK_10MS_DL2,5,C,Core_1,0,idle_execution
-50250100,Core_1,0,T,TASK_1MS,50,start
-50250100,TASK_1MS,50,R,FUNC_EXECTIME_1,101,start
-50250100,Core_1,0,C,Core_1,0,execute
-50250100,TASK_1MS,50,C,Core_1,0,execute
-50351000,TASK_WritingActuator,25,SEM,SEM_DataElement1,0,released,1
-50351000,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-50351000,TASK_WritingActuator,25,SCHED,SCHED_Tasks_C2,-1,schedulepoint
-50351000,Core_2,0,C,Core_2,0,lock
-50351050,TASK_WritingActuator,25,R,FUNC_SEMUNLOCK,50,terminate
-50351050,Core_2,0,T,TASK_WritingActuator,25,terminate
-50351050,TASK_WritingActuator,25,SCHED,SCHED_Tasks_C2,-1,processterminate
-50351050,Core_2,0,C,Core_2,0,unlock
-50351050,Core_2,0,C,Core_2,0,idle
-50351050,TASK_WritingActuator,25,C,Core_2,0,idle
-50351100,TASK_WritingActuator,25,STI,IR_SCHED_Tasks_C2,163,trigger
-50351100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-50351100,Core_2,0,T,TASK_5MS,25,start
-50351100,TASK_5MS,25,R,FUNC_EXECTIME_1,100,start
-50351100,Core_2,0,C,Core_2,0,execute
-50351100,TASK_5MS,25,C,Core_2,0,execute
-50634600,TASK_1MS,50,R,FUNC_EXECTIME_1,101,terminate
-50634600,Core_1,0,T,TASK_1MS,50,terminate
-50634600,TASK_1MS,50,SCHED,SCHED_Tasks_C1,-1,processterminate
-50634600,Core_1,0,C,Core_1,0,idle
-50634600,TASK_1MS,50,C,Core_1,0,idle
-50634700,TASK_1MS,50,STI,IR_SCHED_Tasks_C1,178,trigger
-50634700,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-50634700,Core_1,0,C,Core_1,0,execute_idle
-50634700,TASK_10MS_DL2,5,C,Core_1,0,execute_idle
-50634700,Core_1,0,T,TASK_10MS_DL2,5,resume
-50634700,TASK_10MS_DL2,5,R,FUNC_EXECTIME_1,99,resume
-51037725,TASK_10MS_DL2,5,R,FUNC_EXECTIME_1,99,terminate
-51037725,Core_1,0,T,TASK_10MS_DL2,5,terminate
-51037725,TASK_10MS_DL2,5,SCHED,SCHED_Tasks_C1,-1,processterminate
-51037725,Core_1,0,C,Core_1,0,idle
-51037725,TASK_10MS_DL2,5,C,Core_1,0,idle
-51037825,TASK_10MS_DL2,5,STI,IR_SCHED_Tasks_C1,179,trigger
-51037825,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-51037825,Core_1,0,T,TASK_InputProcessing,25,start
-51037825,TASK_InputProcessing,25,R,FUNC_SEMLOCK,51,start
-51037825,Core_1,0,C,Core_1,0,execute
-51037825,TASK_InputProcessing,25,C,Core_1,0,execute
-51162825,TASK_InputProcessing,25,SEM,SEM_DataElement1,0,requestsemaphore,0
-51162825,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-51162825,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-51162825,Core_1,0,C,Core_1,0,lock
-51162825,TASK_InputProcessing,25,SEM,SEM_DataElement1,0,assigned,1
-51162875,TASK_InputProcessing,25,R,FUNC_SEMLOCK,51,terminate
-51162875,Core_1,0,C,Core_1,0,unlock
-51162875,TASK_InputProcessing,25,R,FUNC_ReadSensorData,25,start
-51250000,SIM,-1,STI,TIMER-1MS,51,trigger
-51250000,TIMER-1MS,51,T,TASK_1MS,51,activate
-51250000,TASK_1MS,51,SCHED,SCHED_Tasks_C1,-1,processactivate
-51250100,TASK_1MS,51,STI,IR_SCHED_Tasks_C1,180,trigger
-51250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-51313550,TASK_5MS,25,R,FUNC_EXECTIME_1,100,terminate
-51313550,Core_2,0,T,TASK_5MS,25,terminate
-51313550,TASK_5MS,25,SCHED,SCHED_Tasks_C2,-1,processterminate
-51313550,Core_2,0,C,Core_2,0,idle
-51313550,TASK_5MS,25,C,Core_2,0,idle
-51313650,TASK_5MS,25,STI,IR_SCHED_Tasks_C2,164,trigger
-51313650,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-51325700,TASK_InputProcessing,25,SIG,SIG_RotationSpeed,0,read,0
-51325700,TASK_InputProcessing,25,SIG,SIG_Lambda,0,read,0
-51325700,TASK_InputProcessing,25,SIG,SIG_Temperature,0,read,0
-51325700,TASK_InputProcessing,25,R,FUNC_ReadSensorData,25,terminate
-51325700,TASK_InputProcessing,25,R,FUNC_SEMUNLOCK,51,start
-51525700,TASK_InputProcessing,25,SEM,SEM_DataElement1,0,released,1
-51525700,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-51525700,TASK_InputProcessing,25,SCHED,SCHED_Tasks_C1,-1,schedulepoint
-51525700,Core_1,0,C,Core_1,0,lock
-51525750,TASK_InputProcessing,25,R,FUNC_SEMUNLOCK,51,terminate
-51525750,Core_1,0,C,Core_1,0,unlock
-51525750,TASK_InputProcessing,25,STI,IPA_InputReady,25,trigger
-51525750,IPA_InputReady,25,T,TASK_CalcEngineSpeed,25,activate
-51525750,TASK_CalcEngineSpeed,25,SCHED,SCHED_Tasks_C2,-1,processactivate
-51525750,Core_1,0,T,TASK_InputProcessing,25,terminate
-51525750,TASK_InputProcessing,25,SCHED,SCHED_Tasks_C1,-1,processterminate
-51525750,Core_1,0,C,Core_1,0,idle
-51525750,TASK_InputProcessing,25,C,Core_1,0,idle
-51525800,TASK_InputProcessing,25,STI,IR_SCHED_Tasks_C1,181,trigger
-51525800,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-51525800,Core_1,0,T,TASK_1MS,51,start
-51525800,TASK_1MS,51,R,FUNC_EXECTIME_1,102,start
-51525800,Core_1,0,C,Core_1,0,execute
-51525800,TASK_1MS,51,C,Core_1,0,execute
-51525850,TASK_CalcEngineSpeed,25,STI,IR_SCHED_Tasks_C2,165,trigger
-51525850,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-51525850,Core_2,0,T,TASK_CalcEngineSpeed,25,start
-51525850,TASK_CalcEngineSpeed,25,R,FUNC_ENGINESPEED,25,start
-51525850,Core_2,0,C,Core_2,0,execute
-51525850,TASK_CalcEngineSpeed,25,C,Core_2,0,execute
-51770700,TASK_CalcEngineSpeed,25,R,FUNC_ENGINESPEED,25,terminate
-51770700,Core_2,0,T,TASK_CalcEngineSpeed,25,terminate
-51770700,TASK_CalcEngineSpeed,25,SCHED,SCHED_Tasks_C2,-1,processterminate
-51770700,Core_2,0,C,Core_2,0,idle
-51770700,TASK_CalcEngineSpeed,25,C,Core_2,0,idle
-51770800,TASK_CalcEngineSpeed,25,STI,IR_SCHED_Tasks_C2,166,trigger
-51770800,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-51953100,TASK_1MS,51,R,FUNC_EXECTIME_1,102,terminate
-51953100,Core_1,0,T,TASK_1MS,51,terminate
-51953100,TASK_1MS,51,SCHED,SCHED_Tasks_C1,-1,processterminate
-51953100,Core_1,0,C,Core_1,0,idle
-51953100,TASK_1MS,51,C,Core_1,0,idle
-51953200,TASK_1MS,51,STI,IR_SCHED_Tasks_C1,182,trigger
-51953200,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-52000000,SIM,-1,STI,TIMER-B_2ms,26,trigger
-52000000,TIMER-B_2ms,26,T,TASK_WritingActuator,26,activate
-52000000,TASK_WritingActuator,26,SCHED,SCHED_Tasks_C2,-1,processactivate
-52000000,SIM,-1,STI,TIMER-50MS,1,trigger
-52000000,TIMER-50MS,1,T,TASK_50MS,1,activate
-52000000,TASK_50MS,1,SCHED,SCHED_Tasks_C2,-1,processactivate
-52000100,TASK_WritingActuator,26,STI,IR_SCHED_Tasks_C2,167,trigger
-52000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-52000100,Core_2,0,T,TASK_WritingActuator,26,start
-52000100,TASK_WritingActuator,26,R,FUNC_SEMLOCK,52,start
-52000100,Core_2,0,C,Core_2,0,execute
-52000100,TASK_WritingActuator,26,C,Core_2,0,execute
-52100000,SIM,-1,STI,TIMER-5MS,26,trigger
-52100000,TIMER-5MS,26,T,TASK_5MS,26,activate
-52100000,TASK_5MS,26,SCHED,SCHED_Tasks_C2,-1,processactivate
-52100100,TASK_5MS,26,STI,IR_SCHED_Tasks_C2,168,trigger
-52100100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-52125100,TASK_WritingActuator,26,SEM,SEM_DataElement1,0,requestsemaphore,0
-52125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-52125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-52125100,Core_2,0,C,Core_2,0,lock
-52125100,TASK_WritingActuator,26,SEM,SEM_DataElement1,0,assigned,1
-52125150,TASK_WritingActuator,26,R,FUNC_SEMLOCK,52,terminate
-52125150,Core_2,0,C,Core_2,0,unlock
-52125150,TASK_WritingActuator,26,R,FUNC_WriteData,26,start
-52150000,SIM,-1,STI,TIMER-A_2ms,26,trigger
-52150000,TIMER-A_2ms,26,T,TASK_InputProcessing,26,activate
-52150000,TASK_InputProcessing,26,SCHED,SCHED_Tasks_C1,-1,processactivate
-52150100,TASK_InputProcessing,26,STI,IR_SCHED_Tasks_C1,183,trigger
-52150100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-52150100,Core_1,0,T,TASK_InputProcessing,26,start
-52150100,TASK_InputProcessing,26,R,FUNC_SEMLOCK,53,start
-52150100,Core_1,0,C,Core_1,0,execute
-52150100,TASK_InputProcessing,26,C,Core_1,0,execute
-52152200,TASK_WritingActuator,26,SIG,SIG_Mixture,0,write,0
-52152200,TASK_WritingActuator,26,R,FUNC_WriteData,26,terminate
-52152200,TASK_WritingActuator,26,R,FUNC_SEMUNLOCK,52,start
-52250000,SIM,-1,STI,TIMER-1MS,52,trigger
-52250000,TIMER-1MS,52,T,TASK_1MS,52,activate
-52250000,TASK_1MS,52,SCHED,SCHED_Tasks_C1,-1,processactivate
-52250100,TASK_1MS,52,STI,IR_SCHED_Tasks_C1,184,trigger
-52250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-52250100,TASK_InputProcessing,26,R,FUNC_SEMLOCK,53,suspend
-52250100,Core_1,0,T,TASK_InputProcessing,26,preempt
-52250100,Core_1,0,C,Core_1,0,idle_execution
-52250100,TASK_InputProcessing,26,C,Core_1,0,idle_execution
-52250100,Core_1,0,T,TASK_1MS,52,start
-52250100,TASK_1MS,52,R,FUNC_EXECTIME_1,104,start
-52250100,Core_1,0,C,Core_1,0,execute
-52250100,TASK_1MS,52,C,Core_1,0,execute
-52352200,TASK_WritingActuator,26,SEM,SEM_DataElement1,0,released,1
-52352200,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-52352200,TASK_WritingActuator,26,SCHED,SCHED_Tasks_C2,-1,schedulepoint
-52352200,Core_2,0,C,Core_2,0,lock
-52352250,TASK_WritingActuator,26,R,FUNC_SEMUNLOCK,52,terminate
-52352250,Core_2,0,T,TASK_WritingActuator,26,terminate
-52352250,TASK_WritingActuator,26,SCHED,SCHED_Tasks_C2,-1,processterminate
-52352250,Core_2,0,C,Core_2,0,unlock
-52352250,Core_2,0,C,Core_2,0,idle
-52352250,TASK_WritingActuator,26,C,Core_2,0,idle
-52352300,TASK_WritingActuator,26,STI,IR_SCHED_Tasks_C2,169,trigger
-52352300,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-52352300,Core_2,0,T,TASK_5MS,26,start
-52352300,TASK_5MS,26,R,FUNC_EXECTIME_1,103,start
-52352300,Core_2,0,C,Core_2,0,execute
-52352300,TASK_5MS,26,C,Core_2,0,execute
-52690125,TASK_1MS,52,R,FUNC_EXECTIME_1,104,terminate
-52690125,Core_1,0,T,TASK_1MS,52,terminate
-52690125,TASK_1MS,52,SCHED,SCHED_Tasks_C1,-1,processterminate
-52690125,Core_1,0,C,Core_1,0,idle
-52690125,TASK_1MS,52,C,Core_1,0,idle
-52690225,TASK_1MS,52,STI,IR_SCHED_Tasks_C1,185,trigger
-52690225,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-52690225,Core_1,0,C,Core_1,0,execute_idle
-52690225,TASK_InputProcessing,26,C,Core_1,0,execute_idle
-52690225,Core_1,0,T,TASK_InputProcessing,26,resume
-52690225,TASK_InputProcessing,26,R,FUNC_SEMLOCK,53,resume
-52715225,TASK_InputProcessing,26,SEM,SEM_DataElement1,0,requestsemaphore,0
-52715225,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-52715225,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-52715225,Core_1,0,C,Core_1,0,lock
-52715225,TASK_InputProcessing,26,SEM,SEM_DataElement1,0,assigned,1
-52715275,TASK_InputProcessing,26,R,FUNC_SEMLOCK,53,terminate
-52715275,Core_1,0,C,Core_1,0,unlock
-52715275,TASK_InputProcessing,26,R,FUNC_ReadSensorData,26,start
-52839200,TASK_5MS,26,R,FUNC_EXECTIME_1,103,terminate
-52839200,Core_2,0,T,TASK_5MS,26,terminate
-52839200,TASK_5MS,26,SCHED,SCHED_Tasks_C2,-1,processterminate
-52839200,Core_2,0,C,Core_2,0,idle
-52839200,TASK_5MS,26,C,Core_2,0,idle
-52839300,TASK_5MS,26,STI,IR_SCHED_Tasks_C2,170,trigger
-52839300,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-52839300,Core_2,0,T,TASK_50MS,1,start
-52839300,TASK_50MS,1,R,FUNC_EXECTIME_2,1,start
-52839300,Core_2,0,C,Core_2,0,execute
-52839300,TASK_50MS,1,C,Core_2,0,execute
-52878675,TASK_InputProcessing,26,SIG,SIG_RotationSpeed,0,read,0
-52878675,TASK_InputProcessing,26,SIG,SIG_Lambda,0,read,0
-52878675,TASK_InputProcessing,26,SIG,SIG_Temperature,0,read,0
-52878675,TASK_InputProcessing,26,R,FUNC_ReadSensorData,26,terminate
-52878675,TASK_InputProcessing,26,R,FUNC_SEMUNLOCK,53,start
-53078675,TASK_InputProcessing,26,SEM,SEM_DataElement1,0,released,1
-53078675,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-53078675,TASK_InputProcessing,26,SCHED,SCHED_Tasks_C1,-1,schedulepoint
-53078675,Core_1,0,C,Core_1,0,lock
-53078725,TASK_InputProcessing,26,R,FUNC_SEMUNLOCK,53,terminate
-53078725,Core_1,0,C,Core_1,0,unlock
-53078725,TASK_InputProcessing,26,STI,IPA_InputReady,26,trigger
-53078725,IPA_InputReady,26,T,TASK_CalcEngineSpeed,26,activate
-53078725,TASK_CalcEngineSpeed,26,SCHED,SCHED_Tasks_C2,-1,processactivate
-53078725,Core_1,0,T,TASK_InputProcessing,26,terminate
-53078725,TASK_InputProcessing,26,SCHED,SCHED_Tasks_C1,-1,processterminate
-53078725,Core_1,0,C,Core_1,0,idle
-53078725,TASK_InputProcessing,26,C,Core_1,0,idle
-53078775,TASK_InputProcessing,26,STI,IR_SCHED_Tasks_C1,186,trigger
-53078775,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-53078825,TASK_CalcEngineSpeed,26,STI,IR_SCHED_Tasks_C2,171,trigger
-53078825,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-53078825,TASK_50MS,1,R,FUNC_EXECTIME_2,1,suspend
-53078825,Core_2,0,T,TASK_50MS,1,preempt
-53078825,Core_2,0,C,Core_2,0,idle_execution
-53078825,TASK_50MS,1,C,Core_2,0,idle_execution
-53078825,Core_2,0,T,TASK_CalcEngineSpeed,26,start
-53078825,TASK_CalcEngineSpeed,26,R,FUNC_ENGINESPEED,26,start
-53078825,Core_2,0,C,Core_2,0,execute
-53078825,TASK_CalcEngineSpeed,26,C,Core_2,0,execute
-53250000,SIM,-1,STI,TIMER-1MS,53,trigger
-53250000,TIMER-1MS,53,T,TASK_1MS,53,activate
-53250000,TASK_1MS,53,SCHED,SCHED_Tasks_C1,-1,processactivate
-53250100,TASK_1MS,53,STI,IR_SCHED_Tasks_C1,187,trigger
-53250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-53250100,Core_1,0,T,TASK_1MS,53,start
-53250100,TASK_1MS,53,R,FUNC_EXECTIME_1,105,start
-53250100,Core_1,0,C,Core_1,0,execute
-53250100,TASK_1MS,53,C,Core_1,0,execute
-53281225,TASK_CalcEngineSpeed,26,R,FUNC_ENGINESPEED,26,terminate
-53281225,Core_2,0,T,TASK_CalcEngineSpeed,26,terminate
-53281225,TASK_CalcEngineSpeed,26,SCHED,SCHED_Tasks_C2,-1,processterminate
-53281225,Core_2,0,C,Core_2,0,idle
-53281225,TASK_CalcEngineSpeed,26,C,Core_2,0,idle
-53281325,TASK_CalcEngineSpeed,26,STI,IR_SCHED_Tasks_C2,172,trigger
-53281325,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-53281325,Core_2,0,C,Core_2,0,execute_idle
-53281325,TASK_50MS,1,C,Core_2,0,execute_idle
-53281325,Core_2,0,T,TASK_50MS,1,resume
-53281325,TASK_50MS,1,R,FUNC_EXECTIME_2,1,resume
-53501100,TASK_50MS,1,R,FUNC_EXECTIME_2,1,terminate
-53501100,Core_2,0,T,TASK_50MS,1,terminate
-53501100,TASK_50MS,1,SCHED,SCHED_Tasks_C2,-1,processterminate
-53501100,Core_2,0,C,Core_2,0,idle
-53501100,TASK_50MS,1,C,Core_2,0,idle
-53501200,TASK_50MS,1,STI,IR_SCHED_Tasks_C2,173,trigger
-53501200,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-53540775,TASK_1MS,53,R,FUNC_EXECTIME_1,105,terminate
-53540775,Core_1,0,T,TASK_1MS,53,terminate
-53540775,TASK_1MS,53,SCHED,SCHED_Tasks_C1,-1,processterminate
-53540775,Core_1,0,C,Core_1,0,idle
-53540775,TASK_1MS,53,C,Core_1,0,idle
-53540875,TASK_1MS,53,STI,IR_SCHED_Tasks_C1,188,trigger
-53540875,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-54000000,SIM,-1,STI,TIMER-B_2ms,27,trigger
-54000000,TIMER-B_2ms,27,T,TASK_WritingActuator,27,activate
-54000000,TASK_WritingActuator,27,SCHED,SCHED_Tasks_C2,-1,processactivate
-54000100,TASK_WritingActuator,27,STI,IR_SCHED_Tasks_C2,174,trigger
-54000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-54000100,Core_2,0,T,TASK_WritingActuator,27,start
-54000100,TASK_WritingActuator,27,R,FUNC_SEMLOCK,54,start
-54000100,Core_2,0,C,Core_2,0,execute
-54000100,TASK_WritingActuator,27,C,Core_2,0,execute
-54100000,SIM,-1,STI,TIMER-5MS,27,trigger
-54100000,TIMER-5MS,27,T,TASK_5MS,27,activate
-54100000,TASK_5MS,27,SCHED,SCHED_Tasks_C2,-1,processactivate
-54100100,TASK_5MS,27,STI,IR_SCHED_Tasks_C2,175,trigger
-54100100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-54125100,TASK_WritingActuator,27,SEM,SEM_DataElement1,0,requestsemaphore,0
-54125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-54125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-54125100,Core_2,0,C,Core_2,0,lock
-54125100,TASK_WritingActuator,27,SEM,SEM_DataElement1,0,assigned,1
-54125150,TASK_WritingActuator,27,R,FUNC_SEMLOCK,54,terminate
-54125150,Core_2,0,C,Core_2,0,unlock
-54125150,TASK_WritingActuator,27,R,FUNC_WriteData,27,start
-54150000,SIM,-1,STI,TIMER-A_2ms,27,trigger
-54150000,TIMER-A_2ms,27,T,TASK_InputProcessing,27,activate
-54150000,TASK_InputProcessing,27,SCHED,SCHED_Tasks_C1,-1,processactivate
-54150100,TASK_InputProcessing,27,STI,IR_SCHED_Tasks_C1,189,trigger
-54150100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-54150100,Core_1,0,T,TASK_InputProcessing,27,start
-54150100,TASK_InputProcessing,27,R,FUNC_SEMLOCK,55,start
-54150100,Core_1,0,C,Core_1,0,execute
-54150100,TASK_InputProcessing,27,C,Core_1,0,execute
-54151350,TASK_WritingActuator,27,SIG,SIG_Mixture,0,write,0
-54151350,TASK_WritingActuator,27,R,FUNC_WriteData,27,terminate
-54151350,TASK_WritingActuator,27,R,FUNC_SEMUNLOCK,54,start
-54250000,SIM,-1,STI,TIMER-1MS,54,trigger
-54250000,TIMER-1MS,54,T,TASK_1MS,54,activate
-54250000,TASK_1MS,54,SCHED,SCHED_Tasks_C1,-1,processactivate
-54250100,TASK_1MS,54,STI,IR_SCHED_Tasks_C1,190,trigger
-54250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-54250100,TASK_InputProcessing,27,R,FUNC_SEMLOCK,55,suspend
-54250100,Core_1,0,T,TASK_InputProcessing,27,preempt
-54250100,Core_1,0,C,Core_1,0,idle_execution
-54250100,TASK_InputProcessing,27,C,Core_1,0,idle_execution
-54250100,Core_1,0,T,TASK_1MS,54,start
-54250100,TASK_1MS,54,R,FUNC_EXECTIME_1,107,start
-54250100,Core_1,0,C,Core_1,0,execute
-54250100,TASK_1MS,54,C,Core_1,0,execute
-54351350,TASK_WritingActuator,27,SEM,SEM_DataElement1,0,released,1
-54351350,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-54351350,TASK_WritingActuator,27,SCHED,SCHED_Tasks_C2,-1,schedulepoint
-54351350,Core_2,0,C,Core_2,0,lock
-54351400,TASK_WritingActuator,27,R,FUNC_SEMUNLOCK,54,terminate
-54351400,Core_2,0,T,TASK_WritingActuator,27,terminate
-54351400,TASK_WritingActuator,27,SCHED,SCHED_Tasks_C2,-1,processterminate
-54351400,Core_2,0,C,Core_2,0,unlock
-54351400,Core_2,0,C,Core_2,0,idle
-54351400,TASK_WritingActuator,27,C,Core_2,0,idle
-54351450,TASK_WritingActuator,27,STI,IR_SCHED_Tasks_C2,176,trigger
-54351450,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-54351450,Core_2,0,T,TASK_5MS,27,start
-54351450,TASK_5MS,27,R,FUNC_EXECTIME_1,106,start
-54351450,Core_2,0,C,Core_2,0,execute
-54351450,TASK_5MS,27,C,Core_2,0,execute
-54813650,TASK_1MS,54,R,FUNC_EXECTIME_1,107,terminate
-54813650,Core_1,0,T,TASK_1MS,54,terminate
-54813650,TASK_1MS,54,SCHED,SCHED_Tasks_C1,-1,processterminate
-54813650,Core_1,0,C,Core_1,0,idle
-54813650,TASK_1MS,54,C,Core_1,0,idle
-54813750,TASK_1MS,54,STI,IR_SCHED_Tasks_C1,191,trigger
-54813750,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-54813750,Core_1,0,C,Core_1,0,execute_idle
-54813750,TASK_InputProcessing,27,C,Core_1,0,execute_idle
-54813750,Core_1,0,T,TASK_InputProcessing,27,resume
-54813750,TASK_InputProcessing,27,R,FUNC_SEMLOCK,55,resume
-54838750,TASK_InputProcessing,27,SEM,SEM_DataElement1,0,requestsemaphore,0
-54838750,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-54838750,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-54838750,Core_1,0,C,Core_1,0,lock
-54838750,TASK_InputProcessing,27,SEM,SEM_DataElement1,0,assigned,1
-54838800,TASK_InputProcessing,27,R,FUNC_SEMLOCK,55,terminate
-54838800,Core_1,0,C,Core_1,0,unlock
-54838800,TASK_InputProcessing,27,R,FUNC_ReadSensorData,27,start
-54925775,TASK_5MS,27,R,FUNC_EXECTIME_1,106,terminate
-54925775,Core_2,0,T,TASK_5MS,27,terminate
-54925775,TASK_5MS,27,SCHED,SCHED_Tasks_C2,-1,processterminate
-54925775,Core_2,0,C,Core_2,0,idle
-54925775,TASK_5MS,27,C,Core_2,0,idle
-54925875,TASK_5MS,27,STI,IR_SCHED_Tasks_C2,177,trigger
-54925875,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-55000000,SIM,-1,STI,TIMER-10MS,5,trigger
-55000000,TIMER-10MS,5,T,TASK_10MS,5,activate
-55000000,TASK_10MS,5,SCHED,SCHED_Tasks_C2,-1,processactivate
-55000100,TASK_10MS,5,STI,IR_SCHED_Tasks_C2,178,trigger
-55000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-55000100,Core_2,0,T,TASK_10MS,5,start
-55000100,TASK_10MS,5,R,FUNC_EXECTIME_1,108,start
-55000100,Core_2,0,C,Core_2,0,execute
-55000100,TASK_10MS,5,C,Core_2,0,execute
-55003200,TASK_InputProcessing,27,SIG,SIG_RotationSpeed,0,read,0
-55003200,TASK_InputProcessing,27,SIG,SIG_Lambda,0,read,0
-55003200,TASK_InputProcessing,27,SIG,SIG_Temperature,0,read,0
-55003200,TASK_InputProcessing,27,R,FUNC_ReadSensorData,27,terminate
-55003200,TASK_InputProcessing,27,R,FUNC_SEMUNLOCK,55,start
-55203200,TASK_InputProcessing,27,SEM,SEM_DataElement1,0,released,1
-55203200,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-55203200,TASK_InputProcessing,27,SCHED,SCHED_Tasks_C1,-1,schedulepoint
-55203200,Core_1,0,C,Core_1,0,lock
-55203250,TASK_InputProcessing,27,R,FUNC_SEMUNLOCK,55,terminate
-55203250,Core_1,0,C,Core_1,0,unlock
-55203250,TASK_InputProcessing,27,STI,IPA_InputReady,27,trigger
-55203250,IPA_InputReady,27,T,TASK_CalcEngineSpeed,27,activate
-55203250,TASK_CalcEngineSpeed,27,SCHED,SCHED_Tasks_C2,-1,processactivate
-55203250,Core_1,0,T,TASK_InputProcessing,27,terminate
-55203250,TASK_InputProcessing,27,SCHED,SCHED_Tasks_C1,-1,processterminate
-55203250,Core_1,0,C,Core_1,0,idle
-55203250,TASK_InputProcessing,27,C,Core_1,0,idle
-55203300,TASK_InputProcessing,27,STI,IR_SCHED_Tasks_C1,192,trigger
-55203300,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-55203350,TASK_CalcEngineSpeed,27,STI,IR_SCHED_Tasks_C2,179,trigger
-55203350,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-55203350,TASK_10MS,5,R,FUNC_EXECTIME_1,108,suspend
-55203350,Core_2,0,T,TASK_10MS,5,preempt
-55203350,Core_2,0,C,Core_2,0,idle_execution
-55203350,TASK_10MS,5,C,Core_2,0,idle_execution
-55203350,Core_2,0,T,TASK_CalcEngineSpeed,27,start
-55203350,TASK_CalcEngineSpeed,27,R,FUNC_ENGINESPEED,27,start
-55203350,Core_2,0,C,Core_2,0,execute
-55203350,TASK_CalcEngineSpeed,27,C,Core_2,0,execute
-55250000,SIM,-1,STI,TIMER-1MS,55,trigger
-55250000,TIMER-1MS,55,T,TASK_1MS,55,activate
-55250000,TASK_1MS,55,SCHED,SCHED_Tasks_C1,-1,processactivate
-55250100,TASK_1MS,55,STI,IR_SCHED_Tasks_C1,193,trigger
-55250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-55250100,Core_1,0,T,TASK_1MS,55,start
-55250100,TASK_1MS,55,R,FUNC_EXECTIME_1,109,start
-55250100,Core_1,0,C,Core_1,0,execute
-55250100,TASK_1MS,55,C,Core_1,0,execute
-55348475,TASK_CalcEngineSpeed,27,R,FUNC_ENGINESPEED,27,terminate
-55348475,Core_2,0,T,TASK_CalcEngineSpeed,27,terminate
-55348475,TASK_CalcEngineSpeed,27,SCHED,SCHED_Tasks_C2,-1,processterminate
-55348475,Core_2,0,C,Core_2,0,idle
-55348475,TASK_CalcEngineSpeed,27,C,Core_2,0,idle
-55348575,TASK_CalcEngineSpeed,27,STI,IR_SCHED_Tasks_C2,180,trigger
-55348575,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-55348575,Core_2,0,C,Core_2,0,execute_idle
-55348575,TASK_10MS,5,C,Core_2,0,execute_idle
-55348575,Core_2,0,T,TASK_10MS,5,resume
-55348575,TASK_10MS,5,R,FUNC_EXECTIME_1,108,resume
-55547775,TASK_1MS,55,R,FUNC_EXECTIME_1,109,terminate
-55547775,Core_1,0,T,TASK_1MS,55,terminate
-55547775,TASK_1MS,55,SCHED,SCHED_Tasks_C1,-1,processterminate
-55547775,Core_1,0,C,Core_1,0,idle
-55547775,TASK_1MS,55,C,Core_1,0,idle
-55547875,TASK_1MS,55,STI,IR_SCHED_Tasks_C1,194,trigger
-55547875,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-55698050,TASK_10MS,5,R,FUNC_EXECTIME_1,108,terminate
-55698050,Core_2,0,T,TASK_10MS,5,terminate
-55698050,TASK_10MS,5,SCHED,SCHED_Tasks_C2,-1,processterminate
-55698050,Core_2,0,C,Core_2,0,idle
-55698050,TASK_10MS,5,C,Core_2,0,idle
-55698150,TASK_10MS,5,STI,IR_SCHED_Tasks_C2,181,trigger
-55698150,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-56000000,SIM,-1,STI,TIMER-B_2ms,28,trigger
-56000000,TIMER-B_2ms,28,T,TASK_WritingActuator,28,activate
-56000000,TASK_WritingActuator,28,SCHED,SCHED_Tasks_C2,-1,processactivate
-56000100,TASK_WritingActuator,28,STI,IR_SCHED_Tasks_C2,182,trigger
-56000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-56000100,Core_2,0,T,TASK_WritingActuator,28,start
-56000100,TASK_WritingActuator,28,R,FUNC_SEMLOCK,56,start
-56000100,Core_2,0,C,Core_2,0,execute
-56000100,TASK_WritingActuator,28,C,Core_2,0,execute
-56100000,SIM,-1,STI,TIMER-5MS,28,trigger
-56100000,TIMER-5MS,28,T,TASK_5MS,28,activate
-56100000,TASK_5MS,28,SCHED,SCHED_Tasks_C2,-1,processactivate
-56100100,TASK_5MS,28,STI,IR_SCHED_Tasks_C2,183,trigger
-56100100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-56125100,TASK_WritingActuator,28,SEM,SEM_DataElement1,0,requestsemaphore,0
-56125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-56125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-56125100,Core_2,0,C,Core_2,0,lock
-56125100,TASK_WritingActuator,28,SEM,SEM_DataElement1,0,assigned,1
-56125150,TASK_WritingActuator,28,R,FUNC_SEMLOCK,56,terminate
-56125150,Core_2,0,C,Core_2,0,unlock
-56125150,TASK_WritingActuator,28,R,FUNC_WriteData,28,start
-56150000,SIM,-1,STI,TIMER-A_2ms,28,trigger
-56150000,TIMER-A_2ms,28,T,TASK_InputProcessing,28,activate
-56150000,TASK_InputProcessing,28,SCHED,SCHED_Tasks_C1,-1,processactivate
-56150100,TASK_InputProcessing,28,STI,IR_SCHED_Tasks_C1,195,trigger
-56150100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-56150100,Core_1,0,T,TASK_InputProcessing,28,start
-56150100,TASK_InputProcessing,28,R,FUNC_SEMLOCK,57,start
-56150100,Core_1,0,C,Core_1,0,execute
-56150100,TASK_InputProcessing,28,C,Core_1,0,execute
-56152450,TASK_WritingActuator,28,SIG,SIG_Mixture,0,write,0
-56152450,TASK_WritingActuator,28,R,FUNC_WriteData,28,terminate
-56152450,TASK_WritingActuator,28,R,FUNC_SEMUNLOCK,56,start
-56250000,SIM,-1,STI,TIMER-1MS,56,trigger
-56250000,TIMER-1MS,56,T,TASK_1MS,56,activate
-56250000,TASK_1MS,56,SCHED,SCHED_Tasks_C1,-1,processactivate
-56250100,TASK_1MS,56,STI,IR_SCHED_Tasks_C1,196,trigger
-56250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-56250100,TASK_InputProcessing,28,R,FUNC_SEMLOCK,57,suspend
-56250100,Core_1,0,T,TASK_InputProcessing,28,preempt
-56250100,Core_1,0,C,Core_1,0,idle_execution
-56250100,TASK_InputProcessing,28,C,Core_1,0,idle_execution
-56250100,Core_1,0,T,TASK_1MS,56,start
-56250100,TASK_1MS,56,R,FUNC_EXECTIME_1,111,start
-56250100,Core_1,0,C,Core_1,0,execute
-56250100,TASK_1MS,56,C,Core_1,0,execute
-56352450,TASK_WritingActuator,28,SEM,SEM_DataElement1,0,released,1
-56352450,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-56352450,TASK_WritingActuator,28,SCHED,SCHED_Tasks_C2,-1,schedulepoint
-56352450,Core_2,0,C,Core_2,0,lock
-56352500,TASK_WritingActuator,28,R,FUNC_SEMUNLOCK,56,terminate
-56352500,Core_2,0,T,TASK_WritingActuator,28,terminate
-56352500,TASK_WritingActuator,28,SCHED,SCHED_Tasks_C2,-1,processterminate
-56352500,Core_2,0,C,Core_2,0,unlock
-56352500,Core_2,0,C,Core_2,0,idle
-56352500,TASK_WritingActuator,28,C,Core_2,0,idle
-56352550,TASK_WritingActuator,28,STI,IR_SCHED_Tasks_C2,184,trigger
-56352550,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-56352550,Core_2,0,T,TASK_5MS,28,start
-56352550,TASK_5MS,28,R,FUNC_EXECTIME_1,110,start
-56352550,Core_2,0,C,Core_2,0,execute
-56352550,TASK_5MS,28,C,Core_2,0,execute
-56728400,TASK_5MS,28,R,FUNC_EXECTIME_1,110,terminate
-56728400,Core_2,0,T,TASK_5MS,28,terminate
-56728400,TASK_5MS,28,SCHED,SCHED_Tasks_C2,-1,processterminate
-56728400,Core_2,0,C,Core_2,0,idle
-56728400,TASK_5MS,28,C,Core_2,0,idle
-56728500,TASK_5MS,28,STI,IR_SCHED_Tasks_C2,185,trigger
-56728500,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-56759975,TASK_1MS,56,R,FUNC_EXECTIME_1,111,terminate
-56759975,Core_1,0,T,TASK_1MS,56,terminate
-56759975,TASK_1MS,56,SCHED,SCHED_Tasks_C1,-1,processterminate
-56759975,Core_1,0,C,Core_1,0,idle
-56759975,TASK_1MS,56,C,Core_1,0,idle
-56760075,TASK_1MS,56,STI,IR_SCHED_Tasks_C1,197,trigger
-56760075,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-56760075,Core_1,0,C,Core_1,0,execute_idle
-56760075,TASK_InputProcessing,28,C,Core_1,0,execute_idle
-56760075,Core_1,0,T,TASK_InputProcessing,28,resume
-56760075,TASK_InputProcessing,28,R,FUNC_SEMLOCK,57,resume
-56785075,TASK_InputProcessing,28,SEM,SEM_DataElement1,0,requestsemaphore,0
-56785075,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-56785075,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-56785075,Core_1,0,C,Core_1,0,lock
-56785075,TASK_InputProcessing,28,SEM,SEM_DataElement1,0,assigned,1
-56785125,TASK_InputProcessing,28,R,FUNC_SEMLOCK,57,terminate
-56785125,Core_1,0,C,Core_1,0,unlock
-56785125,TASK_InputProcessing,28,R,FUNC_ReadSensorData,28,start
-56947600,TASK_InputProcessing,28,SIG,SIG_RotationSpeed,0,read,0
-56947600,TASK_InputProcessing,28,SIG,SIG_Lambda,0,read,0
-56947600,TASK_InputProcessing,28,SIG,SIG_Temperature,0,read,0
-56947600,TASK_InputProcessing,28,R,FUNC_ReadSensorData,28,terminate
-56947600,TASK_InputProcessing,28,R,FUNC_SEMUNLOCK,57,start
-57147600,TASK_InputProcessing,28,SEM,SEM_DataElement1,0,released,1
-57147600,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-57147600,TASK_InputProcessing,28,SCHED,SCHED_Tasks_C1,-1,schedulepoint
-57147600,Core_1,0,C,Core_1,0,lock
-57147650,TASK_InputProcessing,28,R,FUNC_SEMUNLOCK,57,terminate
-57147650,Core_1,0,C,Core_1,0,unlock
-57147650,TASK_InputProcessing,28,STI,IPA_InputReady,28,trigger
-57147650,IPA_InputReady,28,T,TASK_CalcEngineSpeed,28,activate
-57147650,TASK_CalcEngineSpeed,28,SCHED,SCHED_Tasks_C2,-1,processactivate
-57147650,Core_1,0,T,TASK_InputProcessing,28,terminate
-57147650,TASK_InputProcessing,28,SCHED,SCHED_Tasks_C1,-1,processterminate
-57147650,Core_1,0,C,Core_1,0,idle
-57147650,TASK_InputProcessing,28,C,Core_1,0,idle
-57147700,TASK_InputProcessing,28,STI,IR_SCHED_Tasks_C1,198,trigger
-57147700,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-57147750,TASK_CalcEngineSpeed,28,STI,IR_SCHED_Tasks_C2,186,trigger
-57147750,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-57147750,Core_2,0,T,TASK_CalcEngineSpeed,28,start
-57147750,TASK_CalcEngineSpeed,28,R,FUNC_ENGINESPEED,28,start
-57147750,Core_2,0,C,Core_2,0,execute
-57147750,TASK_CalcEngineSpeed,28,C,Core_2,0,execute
-57250000,SIM,-1,STI,TIMER-1MS,57,trigger
-57250000,TIMER-1MS,57,T,TASK_1MS,57,activate
-57250000,TASK_1MS,57,SCHED,SCHED_Tasks_C1,-1,processactivate
-57250100,TASK_1MS,57,STI,IR_SCHED_Tasks_C1,199,trigger
-57250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-57250100,Core_1,0,T,TASK_1MS,57,start
-57250100,TASK_1MS,57,R,FUNC_EXECTIME_1,112,start
-57250100,Core_1,0,C,Core_1,0,execute
-57250100,TASK_1MS,57,C,Core_1,0,execute
-57279600,TASK_CalcEngineSpeed,28,R,FUNC_ENGINESPEED,28,terminate
-57279600,Core_2,0,T,TASK_CalcEngineSpeed,28,terminate
-57279600,TASK_CalcEngineSpeed,28,SCHED,SCHED_Tasks_C2,-1,processterminate
-57279600,Core_2,0,C,Core_2,0,idle
-57279600,TASK_CalcEngineSpeed,28,C,Core_2,0,idle
-57279700,TASK_CalcEngineSpeed,28,STI,IR_SCHED_Tasks_C2,187,trigger
-57279700,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-58000000,SIM,-1,STI,TIMER-B_2ms,29,trigger
-58000000,TIMER-B_2ms,29,T,TASK_WritingActuator,29,activate
-58000000,TASK_WritingActuator,29,SCHED,SCHED_Tasks_C2,-1,processactivate
-58000100,TASK_WritingActuator,29,STI,IR_SCHED_Tasks_C2,188,trigger
-58000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-58000100,Core_2,0,T,TASK_WritingActuator,29,start
-58000100,TASK_WritingActuator,29,R,FUNC_SEMLOCK,58,start
-58000100,Core_2,0,C,Core_2,0,execute
-58000100,TASK_WritingActuator,29,C,Core_2,0,execute
-58005725,TASK_1MS,57,R,FUNC_EXECTIME_1,112,terminate
-58005725,Core_1,0,T,TASK_1MS,57,terminate
-58005725,TASK_1MS,57,SCHED,SCHED_Tasks_C1,-1,processterminate
-58005725,Core_1,0,C,Core_1,0,idle
-58005725,TASK_1MS,57,C,Core_1,0,idle
-58005825,TASK_1MS,57,STI,IR_SCHED_Tasks_C1,200,trigger
-58005825,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-58100000,SIM,-1,STI,TIMER-5MS,29,trigger
-58100000,TIMER-5MS,29,T,TASK_5MS,29,activate
-58100000,TASK_5MS,29,SCHED,SCHED_Tasks_C2,-1,processactivate
-58100100,TASK_5MS,29,STI,IR_SCHED_Tasks_C2,189,trigger
-58100100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-58125100,TASK_WritingActuator,29,SEM,SEM_DataElement1,0,requestsemaphore,0
-58125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-58125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-58125100,Core_2,0,C,Core_2,0,lock
-58125100,TASK_WritingActuator,29,SEM,SEM_DataElement1,0,assigned,1
-58125150,TASK_WritingActuator,29,R,FUNC_SEMLOCK,58,terminate
-58125150,Core_2,0,C,Core_2,0,unlock
-58125150,TASK_WritingActuator,29,R,FUNC_WriteData,29,start
-58150000,SIM,-1,STI,TIMER-A_2ms,29,trigger
-58150000,TIMER-A_2ms,29,T,TASK_InputProcessing,29,activate
-58150000,TASK_InputProcessing,29,SCHED,SCHED_Tasks_C1,-1,processactivate
-58150100,TASK_InputProcessing,29,STI,IR_SCHED_Tasks_C1,201,trigger
-58150100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-58150100,Core_1,0,T,TASK_InputProcessing,29,start
-58150100,TASK_InputProcessing,29,R,FUNC_SEMLOCK,59,start
-58150100,Core_1,0,C,Core_1,0,execute
-58150100,TASK_InputProcessing,29,C,Core_1,0,execute
-58152000,TASK_WritingActuator,29,SIG,SIG_Mixture,0,write,0
-58152000,TASK_WritingActuator,29,R,FUNC_WriteData,29,terminate
-58152000,TASK_WritingActuator,29,R,FUNC_SEMUNLOCK,58,start
-58250000,SIM,-1,STI,TIMER-1MS,58,trigger
-58250000,TIMER-1MS,58,T,TASK_1MS,58,activate
-58250000,TASK_1MS,58,SCHED,SCHED_Tasks_C1,-1,processactivate
-58250100,TASK_1MS,58,STI,IR_SCHED_Tasks_C1,202,trigger
-58250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-58250100,TASK_InputProcessing,29,R,FUNC_SEMLOCK,59,suspend
-58250100,Core_1,0,T,TASK_InputProcessing,29,preempt
-58250100,Core_1,0,C,Core_1,0,idle_execution
-58250100,TASK_InputProcessing,29,C,Core_1,0,idle_execution
-58250100,Core_1,0,T,TASK_1MS,58,start
-58250100,TASK_1MS,58,R,FUNC_EXECTIME_1,114,start
-58250100,Core_1,0,C,Core_1,0,execute
-58250100,TASK_1MS,58,C,Core_1,0,execute
-58352000,TASK_WritingActuator,29,SEM,SEM_DataElement1,0,released,1
-58352000,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-58352000,TASK_WritingActuator,29,SCHED,SCHED_Tasks_C2,-1,schedulepoint
-58352000,Core_2,0,C,Core_2,0,lock
-58352050,TASK_WritingActuator,29,R,FUNC_SEMUNLOCK,58,terminate
-58352050,Core_2,0,T,TASK_WritingActuator,29,terminate
-58352050,TASK_WritingActuator,29,SCHED,SCHED_Tasks_C2,-1,processterminate
-58352050,Core_2,0,C,Core_2,0,unlock
-58352050,Core_2,0,C,Core_2,0,idle
-58352050,TASK_WritingActuator,29,C,Core_2,0,idle
-58352100,TASK_WritingActuator,29,STI,IR_SCHED_Tasks_C2,190,trigger
-58352100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-58352100,Core_2,0,T,TASK_5MS,29,start
-58352100,TASK_5MS,29,R,FUNC_EXECTIME_1,113,start
-58352100,Core_2,0,C,Core_2,0,execute
-58352100,TASK_5MS,29,C,Core_2,0,execute
-58770850,TASK_1MS,58,R,FUNC_EXECTIME_1,114,terminate
-58770850,Core_1,0,T,TASK_1MS,58,terminate
-58770850,TASK_1MS,58,SCHED,SCHED_Tasks_C1,-1,processterminate
-58770850,Core_1,0,C,Core_1,0,idle
-58770850,TASK_1MS,58,C,Core_1,0,idle
-58770950,TASK_1MS,58,STI,IR_SCHED_Tasks_C1,203,trigger
-58770950,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-58770950,Core_1,0,C,Core_1,0,execute_idle
-58770950,TASK_InputProcessing,29,C,Core_1,0,execute_idle
-58770950,Core_1,0,T,TASK_InputProcessing,29,resume
-58770950,TASK_InputProcessing,29,R,FUNC_SEMLOCK,59,resume
-58795950,TASK_InputProcessing,29,SEM,SEM_DataElement1,0,requestsemaphore,0
-58795950,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-58795950,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-58795950,Core_1,0,C,Core_1,0,lock
-58795950,TASK_InputProcessing,29,SEM,SEM_DataElement1,0,assigned,1
-58796000,TASK_InputProcessing,29,R,FUNC_SEMLOCK,59,terminate
-58796000,Core_1,0,C,Core_1,0,unlock
-58796000,TASK_InputProcessing,29,R,FUNC_ReadSensorData,29,start
-58956725,TASK_InputProcessing,29,SIG,SIG_RotationSpeed,0,read,0
-58956725,TASK_InputProcessing,29,SIG,SIG_Lambda,0,read,0
-58956725,TASK_InputProcessing,29,SIG,SIG_Temperature,0,read,0
-58956725,TASK_InputProcessing,29,R,FUNC_ReadSensorData,29,terminate
-58956725,TASK_InputProcessing,29,R,FUNC_SEMUNLOCK,59,start
-59156725,TASK_InputProcessing,29,SEM,SEM_DataElement1,0,released,1
-59156725,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-59156725,TASK_InputProcessing,29,SCHED,SCHED_Tasks_C1,-1,schedulepoint
-59156725,Core_1,0,C,Core_1,0,lock
-59156775,TASK_InputProcessing,29,R,FUNC_SEMUNLOCK,59,terminate
-59156775,Core_1,0,C,Core_1,0,unlock
-59156775,TASK_InputProcessing,29,STI,IPA_InputReady,29,trigger
-59156775,IPA_InputReady,29,T,TASK_CalcEngineSpeed,29,activate
-59156775,TASK_CalcEngineSpeed,29,SCHED,SCHED_Tasks_C2,-1,processactivate
-59156775,Core_1,0,T,TASK_InputProcessing,29,terminate
-59156775,TASK_InputProcessing,29,SCHED,SCHED_Tasks_C1,-1,processterminate
-59156775,Core_1,0,C,Core_1,0,idle
-59156775,TASK_InputProcessing,29,C,Core_1,0,idle
-59156825,TASK_InputProcessing,29,STI,IR_SCHED_Tasks_C1,204,trigger
-59156825,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-59156875,TASK_CalcEngineSpeed,29,STI,IR_SCHED_Tasks_C2,191,trigger
-59156875,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-59156875,TASK_5MS,29,R,FUNC_EXECTIME_1,113,suspend
-59156875,Core_2,0,T,TASK_5MS,29,preempt
-59156875,Core_2,0,C,Core_2,0,idle_execution
-59156875,TASK_5MS,29,C,Core_2,0,idle_execution
-59156875,Core_2,0,T,TASK_CalcEngineSpeed,29,start
-59156875,TASK_CalcEngineSpeed,29,R,FUNC_ENGINESPEED,29,start
-59156875,Core_2,0,C,Core_2,0,execute
-59156875,TASK_CalcEngineSpeed,29,C,Core_2,0,execute
-59250000,SIM,-1,STI,TIMER-1MS,59,trigger
-59250000,TIMER-1MS,59,T,TASK_1MS,59,activate
-59250000,TASK_1MS,59,SCHED,SCHED_Tasks_C1,-1,processactivate
-59250100,TASK_1MS,59,STI,IR_SCHED_Tasks_C1,205,trigger
-59250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-59250100,Core_1,0,T,TASK_1MS,59,start
-59250100,TASK_1MS,59,R,FUNC_EXECTIME_1,115,start
-59250100,Core_1,0,C,Core_1,0,execute
-59250100,TASK_1MS,59,C,Core_1,0,execute
-59325100,TASK_CalcEngineSpeed,29,R,FUNC_ENGINESPEED,29,terminate
-59325100,Core_2,0,T,TASK_CalcEngineSpeed,29,terminate
-59325100,TASK_CalcEngineSpeed,29,SCHED,SCHED_Tasks_C2,-1,processterminate
-59325100,Core_2,0,C,Core_2,0,idle
-59325100,TASK_CalcEngineSpeed,29,C,Core_2,0,idle
-59325200,TASK_CalcEngineSpeed,29,STI,IR_SCHED_Tasks_C2,192,trigger
-59325200,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-59325200,Core_2,0,C,Core_2,0,execute_idle
-59325200,TASK_5MS,29,C,Core_2,0,execute_idle
-59325200,Core_2,0,T,TASK_5MS,29,resume
-59325200,TASK_5MS,29,R,FUNC_EXECTIME_1,113,resume
-59429625,TASK_5MS,29,R,FUNC_EXECTIME_1,113,terminate
-59429625,Core_2,0,T,TASK_5MS,29,terminate
-59429625,TASK_5MS,29,SCHED,SCHED_Tasks_C2,-1,processterminate
-59429625,Core_2,0,C,Core_2,0,idle
-59429625,TASK_5MS,29,C,Core_2,0,idle
-59429725,TASK_5MS,29,STI,IR_SCHED_Tasks_C2,193,trigger
-59429725,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-59775825,TASK_1MS,59,R,FUNC_EXECTIME_1,115,terminate
-59775825,Core_1,0,T,TASK_1MS,59,terminate
-59775825,TASK_1MS,59,SCHED,SCHED_Tasks_C1,-1,processterminate
-59775825,Core_1,0,C,Core_1,0,idle
-59775825,TASK_1MS,59,C,Core_1,0,idle
-59775925,TASK_1MS,59,STI,IR_SCHED_Tasks_C1,206,trigger
-59775925,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-60000000,SIM,-1,STI,TIMER-B_2ms,30,trigger
-60000000,TIMER-B_2ms,30,T,TASK_WritingActuator,30,activate
-60000000,TASK_WritingActuator,30,SCHED,SCHED_Tasks_C2,-1,processactivate
-60000000,SIM,-1,STI,TIMER-10MS_2,6,trigger
-60000000,TIMER-10MS_2,6,T,TASK_10MS_DL2,6,activate
-60000000,TASK_10MS_DL2,6,SCHED,SCHED_Tasks_C1,-1,processactivate
-60000100,TASK_WritingActuator,30,STI,IR_SCHED_Tasks_C2,194,trigger
-60000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-60000100,Core_2,0,T,TASK_WritingActuator,30,start
-60000100,TASK_WritingActuator,30,R,FUNC_SEMLOCK,60,start
-60000100,Core_2,0,C,Core_2,0,execute
-60000100,TASK_WritingActuator,30,C,Core_2,0,execute
-60000100,TASK_10MS_DL2,6,STI,IR_SCHED_Tasks_C1,207,trigger
-60000100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-60000100,Core_1,0,T,TASK_10MS_DL2,6,start
-60000100,TASK_10MS_DL2,6,R,FUNC_EXECTIME_1,116,start
-60000100,Core_1,0,C,Core_1,0,execute
-60000100,TASK_10MS_DL2,6,C,Core_1,0,execute
-60005000,SIM,-1,STI,TIMER-20MS,3,trigger
-60005000,TIMER-20MS,3,T,TASK_20MS,3,activate
-60005000,TASK_20MS,3,SCHED,SCHED_Tasks_C1,-1,processactivate
-60005100,TASK_20MS,3,STI,IR_SCHED_Tasks_C1,208,trigger
-60005100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-60100000,SIM,-1,STI,TIMER-5MS,30,trigger
-60100000,TIMER-5MS,30,T,TASK_5MS,30,activate
-60100000,TASK_5MS,30,SCHED,SCHED_Tasks_C2,-1,processactivate
-60100100,TASK_5MS,30,STI,IR_SCHED_Tasks_C2,195,trigger
-60100100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-60125100,TASK_WritingActuator,30,SEM,SEM_DataElement1,0,requestsemaphore,0
-60125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-60125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-60125100,Core_2,0,C,Core_2,0,lock
-60125100,TASK_WritingActuator,30,SEM,SEM_DataElement1,0,assigned,1
-60125150,TASK_WritingActuator,30,R,FUNC_SEMLOCK,60,terminate
-60125150,Core_2,0,C,Core_2,0,unlock
-60125150,TASK_WritingActuator,30,R,FUNC_WriteData,30,start
-60150000,SIM,-1,STI,TIMER-A_2ms,30,trigger
-60150000,TIMER-A_2ms,30,T,TASK_InputProcessing,30,activate
-60150000,TASK_InputProcessing,30,SCHED,SCHED_Tasks_C1,-1,processactivate
-60150100,TASK_InputProcessing,30,STI,IR_SCHED_Tasks_C1,209,trigger
-60150100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-60152150,TASK_WritingActuator,30,SIG,SIG_Mixture,0,write,0
-60152150,TASK_WritingActuator,30,R,FUNC_WriteData,30,terminate
-60152150,TASK_WritingActuator,30,R,FUNC_SEMUNLOCK,60,start
-60250000,SIM,-1,STI,TIMER-1MS,60,trigger
-60250000,TIMER-1MS,60,T,TASK_1MS,60,activate
-60250000,TASK_1MS,60,SCHED,SCHED_Tasks_C1,-1,processactivate
-60250100,TASK_1MS,60,STI,IR_SCHED_Tasks_C1,210,trigger
-60250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-60250100,TASK_10MS_DL2,6,R,FUNC_EXECTIME_1,116,suspend
-60250100,Core_1,0,T,TASK_10MS_DL2,6,preempt
-60250100,Core_1,0,C,Core_1,0,idle_execution
-60250100,TASK_10MS_DL2,6,C,Core_1,0,idle_execution
-60250100,Core_1,0,T,TASK_1MS,60,start
-60250100,TASK_1MS,60,R,FUNC_EXECTIME_1,119,start
-60250100,Core_1,0,C,Core_1,0,execute
-60250100,TASK_1MS,60,C,Core_1,0,execute
-60352150,TASK_WritingActuator,30,SEM,SEM_DataElement1,0,released,1
-60352150,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-60352150,TASK_WritingActuator,30,SCHED,SCHED_Tasks_C2,-1,schedulepoint
-60352150,Core_2,0,C,Core_2,0,lock
-60352200,TASK_WritingActuator,30,R,FUNC_SEMUNLOCK,60,terminate
-60352200,Core_2,0,T,TASK_WritingActuator,30,terminate
-60352200,TASK_WritingActuator,30,SCHED,SCHED_Tasks_C2,-1,processterminate
-60352200,Core_2,0,C,Core_2,0,unlock
-60352200,Core_2,0,C,Core_2,0,idle
-60352200,TASK_WritingActuator,30,C,Core_2,0,idle
-60352250,TASK_WritingActuator,30,STI,IR_SCHED_Tasks_C2,196,trigger
-60352250,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-60352250,Core_2,0,T,TASK_5MS,30,start
-60352250,TASK_5MS,30,R,FUNC_EXECTIME_1,118,start
-60352250,Core_2,0,C,Core_2,0,execute
-60352250,TASK_5MS,30,C,Core_2,0,execute
-60897400,TASK_1MS,60,R,FUNC_EXECTIME_1,119,terminate
-60897400,Core_1,0,T,TASK_1MS,60,terminate
-60897400,TASK_1MS,60,SCHED,SCHED_Tasks_C1,-1,processterminate
-60897400,Core_1,0,C,Core_1,0,idle
-60897400,TASK_1MS,60,C,Core_1,0,idle
-60897500,TASK_1MS,60,STI,IR_SCHED_Tasks_C1,211,trigger
-60897500,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-60897500,Core_1,0,C,Core_1,0,execute_idle
-60897500,TASK_10MS_DL2,6,C,Core_1,0,execute_idle
-60897500,Core_1,0,T,TASK_10MS_DL2,6,resume
-60897500,TASK_10MS_DL2,6,R,FUNC_EXECTIME_1,116,resume
-61006100,TASK_5MS,30,R,FUNC_EXECTIME_1,118,terminate
-61006100,Core_2,0,T,TASK_5MS,30,terminate
-61006100,TASK_5MS,30,SCHED,SCHED_Tasks_C2,-1,processterminate
-61006100,Core_2,0,C,Core_2,0,idle
-61006100,TASK_5MS,30,C,Core_2,0,idle
-61006200,TASK_5MS,30,STI,IR_SCHED_Tasks_C2,197,trigger
-61006200,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-61250000,SIM,-1,STI,TIMER-1MS,61,trigger
-61250000,TIMER-1MS,61,T,TASK_1MS,61,activate
-61250000,TASK_1MS,61,SCHED,SCHED_Tasks_C1,-1,processactivate
-61250100,TASK_1MS,61,STI,IR_SCHED_Tasks_C1,212,trigger
-61250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-61250100,TASK_10MS_DL2,6,R,FUNC_EXECTIME_1,116,suspend
-61250100,Core_1,0,T,TASK_10MS_DL2,6,preempt
-61250100,Core_1,0,C,Core_1,0,idle_execution
-61250100,TASK_10MS_DL2,6,C,Core_1,0,idle_execution
-61250100,Core_1,0,T,TASK_1MS,61,start
-61250100,TASK_1MS,61,R,FUNC_EXECTIME_1,120,start
-61250100,Core_1,0,C,Core_1,0,execute
-61250100,TASK_1MS,61,C,Core_1,0,execute
-61550500,TASK_1MS,61,R,FUNC_EXECTIME_1,120,terminate
-61550500,Core_1,0,T,TASK_1MS,61,terminate
-61550500,TASK_1MS,61,SCHED,SCHED_Tasks_C1,-1,processterminate
-61550500,Core_1,0,C,Core_1,0,idle
-61550500,TASK_1MS,61,C,Core_1,0,idle
-61550600,TASK_1MS,61,STI,IR_SCHED_Tasks_C1,213,trigger
-61550600,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-61550600,Core_1,0,C,Core_1,0,execute_idle
-61550600,TASK_10MS_DL2,6,C,Core_1,0,execute_idle
-61550600,Core_1,0,T,TASK_10MS_DL2,6,resume
-61550600,TASK_10MS_DL2,6,R,FUNC_EXECTIME_1,116,resume
-61647700,TASK_10MS_DL2,6,R,FUNC_EXECTIME_1,116,terminate
-61647700,Core_1,0,T,TASK_10MS_DL2,6,terminate
-61647700,TASK_10MS_DL2,6,SCHED,SCHED_Tasks_C1,-1,processterminate
-61647700,Core_1,0,C,Core_1,0,idle
-61647700,TASK_10MS_DL2,6,C,Core_1,0,idle
-61647800,TASK_10MS_DL2,6,STI,IR_SCHED_Tasks_C1,214,trigger
-61647800,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-61647800,Core_1,0,T,TASK_InputProcessing,30,start
-61647800,TASK_InputProcessing,30,R,FUNC_SEMLOCK,61,start
-61647800,Core_1,0,C,Core_1,0,execute
-61647800,TASK_InputProcessing,30,C,Core_1,0,execute
-61772800,TASK_InputProcessing,30,SEM,SEM_DataElement1,0,requestsemaphore,0
-61772800,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-61772800,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-61772800,Core_1,0,C,Core_1,0,lock
-61772800,TASK_InputProcessing,30,SEM,SEM_DataElement1,0,assigned,1
-61772850,TASK_InputProcessing,30,R,FUNC_SEMLOCK,61,terminate
-61772850,Core_1,0,C,Core_1,0,unlock
-61772850,TASK_InputProcessing,30,R,FUNC_ReadSensorData,30,start
-61933850,TASK_InputProcessing,30,SIG,SIG_RotationSpeed,0,read,0
-61933850,TASK_InputProcessing,30,SIG,SIG_Lambda,0,read,0
-61933850,TASK_InputProcessing,30,SIG,SIG_Temperature,0,read,0
-61933850,TASK_InputProcessing,30,R,FUNC_ReadSensorData,30,terminate
-61933850,TASK_InputProcessing,30,R,FUNC_SEMUNLOCK,61,start
-62000000,SIM,-1,STI,TIMER-B_2ms,31,trigger
-62000000,TIMER-B_2ms,31,T,TASK_WritingActuator,31,activate
-62000000,TASK_WritingActuator,31,SCHED,SCHED_Tasks_C2,-1,processactivate
-62000100,TASK_WritingActuator,31,STI,IR_SCHED_Tasks_C2,198,trigger
-62000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-62000100,Core_2,0,T,TASK_WritingActuator,31,start
-62000100,TASK_WritingActuator,31,R,FUNC_SEMLOCK,62,start
-62000100,Core_2,0,C,Core_2,0,execute
-62000100,TASK_WritingActuator,31,C,Core_2,0,execute
-62100000,SIM,-1,STI,TIMER-5MS,31,trigger
-62100000,TIMER-5MS,31,T,TASK_5MS,31,activate
-62100000,TASK_5MS,31,SCHED,SCHED_Tasks_C2,-1,processactivate
-62100100,TASK_5MS,31,STI,IR_SCHED_Tasks_C2,199,trigger
-62100100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-62125100,TASK_WritingActuator,31,SEM,SEM_DataElement1,0,requestsemaphore,1
-62125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,1
-62125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,overfull,2
-62125100,Core_2,0,C,Core_2,0,lock
-62125100,TASK_WritingActuator,31,SEM,SEM_DataElement1,0,waiting,2
-62125150,Core_2,0,T,TASK_WritingActuator,31,poll
-62125150,TASK_WritingActuator,31,SCHED,SCHED_Tasks_C2,-1,processpolling
-62125150,Core_2,0,C,Core_2,0,wait_postexecution
-62125150,TASK_WritingActuator,31,C,Core_2,0,wait_postexecution
-62125150,Core_2,0,C,Core_2,0,unlock
-62133850,TASK_InputProcessing,30,SEM,SEM_DataElement1,0,released,2
-62133850,TASK_WritingActuator,31,SEM,SEM_DataElement1,0,assigned,1
-62133850,Core_2,0,T,TASK_WritingActuator,31,run
-62133850,TASK_WritingActuator,31,R,FUNC_SEMLOCK,62,terminate
-62133850,TASK_WritingActuator,31,R,FUNC_WriteData,31,start
-62133850,Core_2,0,C,Core_2,0,execute_waiting
-62133850,TASK_WritingActuator,31,C,Core_2,0,execute_waiting
-62133850,SEM_DataElement1,0,SEM,SEM_DataElement1,0,full,1
-62133850,TASK_InputProcessing,30,SCHED,SCHED_Tasks_C1,-1,schedulepoint
-62133850,Core_1,0,C,Core_1,0,lock
-62133900,TASK_InputProcessing,30,R,FUNC_SEMUNLOCK,61,terminate
-62133900,Core_1,0,C,Core_1,0,unlock
-62133900,TASK_InputProcessing,30,STI,IPA_InputReady,30,trigger
-62133900,IPA_InputReady,30,T,TASK_CalcEngineSpeed,30,activate
-62133900,TASK_CalcEngineSpeed,30,SCHED,SCHED_Tasks_C2,-1,processactivate
-62133900,Core_1,0,T,TASK_InputProcessing,30,terminate
-62133900,TASK_InputProcessing,30,SCHED,SCHED_Tasks_C1,-1,processterminate
-62133900,Core_1,0,C,Core_1,0,idle
-62133900,TASK_InputProcessing,30,C,Core_1,0,idle
-62133950,TASK_InputProcessing,30,STI,IR_SCHED_Tasks_C1,215,trigger
-62133950,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-62133950,Core_1,0,T,TASK_20MS,3,start
-62133950,TASK_20MS,3,R,FUNC_EXECTIME_1,117,start
-62133950,Core_1,0,C,Core_1,0,execute
-62133950,TASK_20MS,3,C,Core_1,0,execute
-62134000,TASK_CalcEngineSpeed,30,STI,IR_SCHED_Tasks_C2,200,trigger
-62134000,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-62150000,SIM,-1,STI,TIMER-A_2ms,31,trigger
-62150000,TIMER-A_2ms,31,T,TASK_InputProcessing,31,activate
-62150000,TASK_InputProcessing,31,SCHED,SCHED_Tasks_C1,-1,processactivate
-62150100,TASK_InputProcessing,31,STI,IR_SCHED_Tasks_C1,216,trigger
-62150100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-62150100,TASK_20MS,3,R,FUNC_EXECTIME_1,117,suspend
-62150100,Core_1,0,T,TASK_20MS,3,preempt
-62150100,Core_1,0,C,Core_1,0,idle_execution
-62150100,TASK_20MS,3,C,Core_1,0,idle_execution
-62150100,Core_1,0,T,TASK_InputProcessing,31,start
-62150100,TASK_InputProcessing,31,R,FUNC_SEMLOCK,63,start
-62150100,Core_1,0,C,Core_1,0,execute
-62150100,TASK_InputProcessing,31,C,Core_1,0,execute
-62161025,TASK_WritingActuator,31,SIG,SIG_Mixture,0,write,0
-62161025,TASK_WritingActuator,31,R,FUNC_WriteData,31,terminate
-62161025,TASK_WritingActuator,31,R,FUNC_SEMUNLOCK,62,start
-62250000,SIM,-1,STI,TIMER-1MS,62,trigger
-62250000,TIMER-1MS,62,T,TASK_1MS,62,activate
-62250000,TASK_1MS,62,SCHED,SCHED_Tasks_C1,-1,processactivate
-62250100,TASK_1MS,62,STI,IR_SCHED_Tasks_C1,217,trigger
-62250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-62250100,TASK_InputProcessing,31,R,FUNC_SEMLOCK,63,suspend
-62250100,Core_1,0,T,TASK_InputProcessing,31,preempt
-62250100,Core_1,0,C,Core_1,0,idle_execution
-62250100,TASK_InputProcessing,31,C,Core_1,0,idle_execution
-62250100,Core_1,0,T,TASK_1MS,62,start
-62250100,TASK_1MS,62,R,FUNC_EXECTIME_1,122,start
-62250100,Core_1,0,C,Core_1,0,execute
-62250100,TASK_1MS,62,C,Core_1,0,execute
-62361025,TASK_WritingActuator,31,SEM,SEM_DataElement1,0,released,1
-62361025,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-62361025,TASK_WritingActuator,31,SCHED,SCHED_Tasks_C2,-1,schedulepoint
-62361025,Core_2,0,C,Core_2,0,lock
-62361075,TASK_WritingActuator,31,R,FUNC_SEMUNLOCK,62,terminate
-62361075,Core_2,0,T,TASK_WritingActuator,31,terminate
-62361075,TASK_WritingActuator,31,SCHED,SCHED_Tasks_C2,-1,processterminate
-62361075,Core_2,0,C,Core_2,0,unlock
-62361075,Core_2,0,C,Core_2,0,idle
-62361075,TASK_WritingActuator,31,C,Core_2,0,idle
-62361125,TASK_WritingActuator,31,STI,IR_SCHED_Tasks_C2,201,trigger
-62361125,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-62361125,Core_2,0,T,TASK_CalcEngineSpeed,30,start
-62361125,TASK_CalcEngineSpeed,30,R,FUNC_ENGINESPEED,30,start
-62361125,Core_2,0,C,Core_2,0,execute
-62361125,TASK_CalcEngineSpeed,30,C,Core_2,0,execute
-62499325,TASK_CalcEngineSpeed,30,R,FUNC_ENGINESPEED,30,terminate
-62499325,Core_2,0,T,TASK_CalcEngineSpeed,30,terminate
-62499325,TASK_CalcEngineSpeed,30,SCHED,SCHED_Tasks_C2,-1,processterminate
-62499325,Core_2,0,C,Core_2,0,idle
-62499325,TASK_CalcEngineSpeed,30,C,Core_2,0,idle
-62499425,TASK_CalcEngineSpeed,30,STI,IR_SCHED_Tasks_C2,202,trigger
-62499425,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-62499425,Core_2,0,T,TASK_5MS,31,start
-62499425,TASK_5MS,31,R,FUNC_EXECTIME_1,121,start
-62499425,Core_2,0,C,Core_2,0,execute
-62499425,TASK_5MS,31,C,Core_2,0,execute
-62778075,TASK_1MS,62,R,FUNC_EXECTIME_1,122,terminate
-62778075,Core_1,0,T,TASK_1MS,62,terminate
-62778075,TASK_1MS,62,SCHED,SCHED_Tasks_C1,-1,processterminate
-62778075,Core_1,0,C,Core_1,0,idle
-62778075,TASK_1MS,62,C,Core_1,0,idle
-62778175,TASK_1MS,62,STI,IR_SCHED_Tasks_C1,218,trigger
-62778175,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-62778175,Core_1,0,C,Core_1,0,execute_idle
-62778175,TASK_InputProcessing,31,C,Core_1,0,execute_idle
-62778175,Core_1,0,T,TASK_InputProcessing,31,resume
-62778175,TASK_InputProcessing,31,R,FUNC_SEMLOCK,63,resume
-62803175,TASK_InputProcessing,31,SEM,SEM_DataElement1,0,requestsemaphore,0
-62803175,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-62803175,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-62803175,Core_1,0,C,Core_1,0,lock
-62803175,TASK_InputProcessing,31,SEM,SEM_DataElement1,0,assigned,1
-62803225,TASK_InputProcessing,31,R,FUNC_SEMLOCK,63,terminate
-62803225,Core_1,0,C,Core_1,0,unlock
-62803225,TASK_InputProcessing,31,R,FUNC_ReadSensorData,31,start
-62964950,TASK_InputProcessing,31,SIG,SIG_RotationSpeed,0,read,0
-62964950,TASK_InputProcessing,31,SIG,SIG_Lambda,0,read,0
-62964950,TASK_InputProcessing,31,SIG,SIG_Temperature,0,read,0
-62964950,TASK_InputProcessing,31,R,FUNC_ReadSensorData,31,terminate
-62964950,TASK_InputProcessing,31,R,FUNC_SEMUNLOCK,63,start
-63164950,TASK_InputProcessing,31,SEM,SEM_DataElement1,0,released,1
-63164950,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-63164950,TASK_InputProcessing,31,SCHED,SCHED_Tasks_C1,-1,schedulepoint
-63164950,Core_1,0,C,Core_1,0,lock
-63165000,TASK_InputProcessing,31,R,FUNC_SEMUNLOCK,63,terminate
-63165000,Core_1,0,C,Core_1,0,unlock
-63165000,TASK_InputProcessing,31,STI,IPA_InputReady,31,trigger
-63165000,IPA_InputReady,31,T,TASK_CalcEngineSpeed,31,activate
-63165000,TASK_CalcEngineSpeed,31,SCHED,SCHED_Tasks_C2,-1,processactivate
-63165000,Core_1,0,T,TASK_InputProcessing,31,terminate
-63165000,TASK_InputProcessing,31,SCHED,SCHED_Tasks_C1,-1,processterminate
-63165000,Core_1,0,C,Core_1,0,idle
-63165000,TASK_InputProcessing,31,C,Core_1,0,idle
-63165050,TASK_InputProcessing,31,STI,IR_SCHED_Tasks_C1,219,trigger
-63165050,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-63165050,Core_1,0,C,Core_1,0,execute_idle
-63165050,TASK_20MS,3,C,Core_1,0,execute_idle
-63165050,Core_1,0,T,TASK_20MS,3,resume
-63165050,TASK_20MS,3,R,FUNC_EXECTIME_1,117,resume
-63165100,TASK_CalcEngineSpeed,31,STI,IR_SCHED_Tasks_C2,203,trigger
-63165100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-63165100,TASK_5MS,31,R,FUNC_EXECTIME_1,121,suspend
-63165100,Core_2,0,T,TASK_5MS,31,preempt
-63165100,Core_2,0,C,Core_2,0,idle_execution
-63165100,TASK_5MS,31,C,Core_2,0,idle_execution
-63165100,Core_2,0,T,TASK_CalcEngineSpeed,31,start
-63165100,TASK_CalcEngineSpeed,31,R,FUNC_ENGINESPEED,31,start
-63165100,Core_2,0,C,Core_2,0,execute
-63165100,TASK_CalcEngineSpeed,31,C,Core_2,0,execute
-63250000,SIM,-1,STI,TIMER-1MS,63,trigger
-63250000,TIMER-1MS,63,T,TASK_1MS,63,activate
-63250000,TASK_1MS,63,SCHED,SCHED_Tasks_C1,-1,processactivate
-63250100,TASK_1MS,63,STI,IR_SCHED_Tasks_C1,220,trigger
-63250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-63250100,TASK_20MS,3,R,FUNC_EXECTIME_1,117,suspend
-63250100,Core_1,0,T,TASK_20MS,3,preempt
-63250100,Core_1,0,C,Core_1,0,idle_execution
-63250100,TASK_20MS,3,C,Core_1,0,idle_execution
-63250100,Core_1,0,T,TASK_1MS,63,start
-63250100,TASK_1MS,63,R,FUNC_EXECTIME_1,123,start
-63250100,Core_1,0,C,Core_1,0,execute
-63250100,TASK_1MS,63,C,Core_1,0,execute
-63374050,TASK_CalcEngineSpeed,31,R,FUNC_ENGINESPEED,31,terminate
-63374050,Core_2,0,T,TASK_CalcEngineSpeed,31,terminate
-63374050,TASK_CalcEngineSpeed,31,SCHED,SCHED_Tasks_C2,-1,processterminate
-63374050,Core_2,0,C,Core_2,0,idle
-63374050,TASK_CalcEngineSpeed,31,C,Core_2,0,idle
-63374150,TASK_CalcEngineSpeed,31,STI,IR_SCHED_Tasks_C2,204,trigger
-63374150,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-63374150,Core_2,0,C,Core_2,0,execute_idle
-63374150,TASK_5MS,31,C,Core_2,0,execute_idle
-63374150,Core_2,0,T,TASK_5MS,31,resume
-63374150,TASK_5MS,31,R,FUNC_EXECTIME_1,121,resume
-63391325,TASK_5MS,31,R,FUNC_EXECTIME_1,121,terminate
-63391325,Core_2,0,T,TASK_5MS,31,terminate
-63391325,TASK_5MS,31,SCHED,SCHED_Tasks_C2,-1,processterminate
-63391325,Core_2,0,C,Core_2,0,idle
-63391325,TASK_5MS,31,C,Core_2,0,idle
-63391425,TASK_5MS,31,STI,IR_SCHED_Tasks_C2,205,trigger
-63391425,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-63825725,TASK_1MS,63,R,FUNC_EXECTIME_1,123,terminate
-63825725,Core_1,0,T,TASK_1MS,63,terminate
-63825725,TASK_1MS,63,SCHED,SCHED_Tasks_C1,-1,processterminate
-63825725,Core_1,0,C,Core_1,0,idle
-63825725,TASK_1MS,63,C,Core_1,0,idle
-63825825,TASK_1MS,63,STI,IR_SCHED_Tasks_C1,221,trigger
-63825825,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-63825825,Core_1,0,C,Core_1,0,execute_idle
-63825825,TASK_20MS,3,C,Core_1,0,execute_idle
-63825825,Core_1,0,T,TASK_20MS,3,resume
-63825825,TASK_20MS,3,R,FUNC_EXECTIME_1,117,resume
-64000000,SIM,-1,STI,TIMER-B_2ms,32,trigger
-64000000,TIMER-B_2ms,32,T,TASK_WritingActuator,32,activate
-64000000,TASK_WritingActuator,32,SCHED,SCHED_Tasks_C2,-1,processactivate
-64000100,TASK_WritingActuator,32,STI,IR_SCHED_Tasks_C2,206,trigger
-64000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-64000100,Core_2,0,T,TASK_WritingActuator,32,start
-64000100,TASK_WritingActuator,32,R,FUNC_SEMLOCK,64,start
-64000100,Core_2,0,C,Core_2,0,execute
-64000100,TASK_WritingActuator,32,C,Core_2,0,execute
-64080825,TASK_20MS,3,R,FUNC_EXECTIME_1,117,terminate
-64080825,Core_1,0,T,TASK_20MS,3,terminate
-64080825,TASK_20MS,3,SCHED,SCHED_Tasks_C1,-1,processterminate
-64080825,Core_1,0,C,Core_1,0,idle
-64080825,TASK_20MS,3,C,Core_1,0,idle
-64080925,TASK_20MS,3,STI,IR_SCHED_Tasks_C1,222,trigger
-64080925,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-64100000,SIM,-1,STI,TIMER-5MS,32,trigger
-64100000,TIMER-5MS,32,T,TASK_5MS,32,activate
-64100000,TASK_5MS,32,SCHED,SCHED_Tasks_C2,-1,processactivate
-64100100,TASK_5MS,32,STI,IR_SCHED_Tasks_C2,207,trigger
-64100100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-64125100,TASK_WritingActuator,32,SEM,SEM_DataElement1,0,requestsemaphore,0
-64125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-64125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-64125100,Core_2,0,C,Core_2,0,lock
-64125100,TASK_WritingActuator,32,SEM,SEM_DataElement1,0,assigned,1
-64125150,TASK_WritingActuator,32,R,FUNC_SEMLOCK,64,terminate
-64125150,Core_2,0,C,Core_2,0,unlock
-64125150,TASK_WritingActuator,32,R,FUNC_WriteData,32,start
-64150000,SIM,-1,STI,TIMER-A_2ms,32,trigger
-64150000,TIMER-A_2ms,32,T,TASK_InputProcessing,32,activate
-64150000,TASK_InputProcessing,32,SCHED,SCHED_Tasks_C1,-1,processactivate
-64150100,TASK_InputProcessing,32,STI,IR_SCHED_Tasks_C1,223,trigger
-64150100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-64150100,Core_1,0,T,TASK_InputProcessing,32,start
-64150100,TASK_InputProcessing,32,R,FUNC_SEMLOCK,65,start
-64150100,Core_1,0,C,Core_1,0,execute
-64150100,TASK_InputProcessing,32,C,Core_1,0,execute
-64152350,TASK_WritingActuator,32,SIG,SIG_Mixture,0,write,0
-64152350,TASK_WritingActuator,32,R,FUNC_WriteData,32,terminate
-64152350,TASK_WritingActuator,32,R,FUNC_SEMUNLOCK,64,start
-64250000,SIM,-1,STI,TIMER-1MS,64,trigger
-64250000,TIMER-1MS,64,T,TASK_1MS,64,activate
-64250000,TASK_1MS,64,SCHED,SCHED_Tasks_C1,-1,processactivate
-64250100,TASK_1MS,64,STI,IR_SCHED_Tasks_C1,224,trigger
-64250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-64250100,TASK_InputProcessing,32,R,FUNC_SEMLOCK,65,suspend
-64250100,Core_1,0,T,TASK_InputProcessing,32,preempt
-64250100,Core_1,0,C,Core_1,0,idle_execution
-64250100,TASK_InputProcessing,32,C,Core_1,0,idle_execution
-64250100,Core_1,0,T,TASK_1MS,64,start
-64250100,TASK_1MS,64,R,FUNC_EXECTIME_1,125,start
-64250100,Core_1,0,C,Core_1,0,execute
-64250100,TASK_1MS,64,C,Core_1,0,execute
-64352350,TASK_WritingActuator,32,SEM,SEM_DataElement1,0,released,1
-64352350,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-64352350,TASK_WritingActuator,32,SCHED,SCHED_Tasks_C2,-1,schedulepoint
-64352350,Core_2,0,C,Core_2,0,lock
-64352400,TASK_WritingActuator,32,R,FUNC_SEMUNLOCK,64,terminate
-64352400,Core_2,0,T,TASK_WritingActuator,32,terminate
-64352400,TASK_WritingActuator,32,SCHED,SCHED_Tasks_C2,-1,processterminate
-64352400,Core_2,0,C,Core_2,0,unlock
-64352400,Core_2,0,C,Core_2,0,idle
-64352400,TASK_WritingActuator,32,C,Core_2,0,idle
-64352450,TASK_WritingActuator,32,STI,IR_SCHED_Tasks_C2,208,trigger
-64352450,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-64352450,Core_2,0,T,TASK_5MS,32,start
-64352450,TASK_5MS,32,R,FUNC_EXECTIME_1,124,start
-64352450,Core_2,0,C,Core_2,0,execute
-64352450,TASK_5MS,32,C,Core_2,0,execute
-64823475,TASK_5MS,32,R,FUNC_EXECTIME_1,124,terminate
-64823475,Core_2,0,T,TASK_5MS,32,terminate
-64823475,TASK_5MS,32,SCHED,SCHED_Tasks_C2,-1,processterminate
-64823475,Core_2,0,C,Core_2,0,idle
-64823475,TASK_5MS,32,C,Core_2,0,idle
-64823575,TASK_5MS,32,STI,IR_SCHED_Tasks_C2,209,trigger
-64823575,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-64915975,TASK_1MS,64,R,FUNC_EXECTIME_1,125,terminate
-64915975,Core_1,0,T,TASK_1MS,64,terminate
-64915975,TASK_1MS,64,SCHED,SCHED_Tasks_C1,-1,processterminate
-64915975,Core_1,0,C,Core_1,0,idle
-64915975,TASK_1MS,64,C,Core_1,0,idle
-64916075,TASK_1MS,64,STI,IR_SCHED_Tasks_C1,225,trigger
-64916075,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-64916075,Core_1,0,C,Core_1,0,execute_idle
-64916075,TASK_InputProcessing,32,C,Core_1,0,execute_idle
-64916075,Core_1,0,T,TASK_InputProcessing,32,resume
-64916075,TASK_InputProcessing,32,R,FUNC_SEMLOCK,65,resume
-64941075,TASK_InputProcessing,32,SEM,SEM_DataElement1,0,requestsemaphore,0
-64941075,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-64941075,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-64941075,Core_1,0,C,Core_1,0,lock
-64941075,TASK_InputProcessing,32,SEM,SEM_DataElement1,0,assigned,1
-64941125,TASK_InputProcessing,32,R,FUNC_SEMLOCK,65,terminate
-64941125,Core_1,0,C,Core_1,0,unlock
-64941125,TASK_InputProcessing,32,R,FUNC_ReadSensorData,32,start
-65000000,SIM,-1,STI,TIMER-10MS,6,trigger
-65000000,TIMER-10MS,6,T,TASK_10MS,6,activate
-65000000,TASK_10MS,6,SCHED,SCHED_Tasks_C2,-1,processactivate
-65000100,TASK_10MS,6,STI,IR_SCHED_Tasks_C2,210,trigger
-65000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-65000100,Core_2,0,T,TASK_10MS,6,start
-65000100,TASK_10MS,6,R,FUNC_EXECTIME_1,126,start
-65000100,Core_2,0,C,Core_2,0,execute
-65000100,TASK_10MS,6,C,Core_2,0,execute
-65100725,TASK_InputProcessing,32,SIG,SIG_RotationSpeed,0,read,0
-65100725,TASK_InputProcessing,32,SIG,SIG_Lambda,0,read,0
-65100725,TASK_InputProcessing,32,SIG,SIG_Temperature,0,read,0
-65100725,TASK_InputProcessing,32,R,FUNC_ReadSensorData,32,terminate
-65100725,TASK_InputProcessing,32,R,FUNC_SEMUNLOCK,65,start
-65250000,SIM,-1,STI,TIMER-1MS,65,trigger
-65250000,TIMER-1MS,65,T,TASK_1MS,65,activate
-65250000,TASK_1MS,65,SCHED,SCHED_Tasks_C1,-1,processactivate
-65250100,TASK_1MS,65,STI,IR_SCHED_Tasks_C1,226,trigger
-65250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-65300725,TASK_InputProcessing,32,SEM,SEM_DataElement1,0,released,1
-65300725,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-65300725,TASK_InputProcessing,32,SCHED,SCHED_Tasks_C1,-1,schedulepoint
-65300725,Core_1,0,C,Core_1,0,lock
-65300775,TASK_InputProcessing,32,R,FUNC_SEMUNLOCK,65,terminate
-65300775,Core_1,0,C,Core_1,0,unlock
-65300775,TASK_InputProcessing,32,STI,IPA_InputReady,32,trigger
-65300775,IPA_InputReady,32,T,TASK_CalcEngineSpeed,32,activate
-65300775,TASK_CalcEngineSpeed,32,SCHED,SCHED_Tasks_C2,-1,processactivate
-65300775,Core_1,0,T,TASK_InputProcessing,32,terminate
-65300775,TASK_InputProcessing,32,SCHED,SCHED_Tasks_C1,-1,processterminate
-65300775,Core_1,0,C,Core_1,0,idle
-65300775,TASK_InputProcessing,32,C,Core_1,0,idle
-65300825,TASK_InputProcessing,32,STI,IR_SCHED_Tasks_C1,227,trigger
-65300825,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-65300825,Core_1,0,T,TASK_1MS,65,start
-65300825,TASK_1MS,65,R,FUNC_EXECTIME_1,127,start
-65300825,Core_1,0,C,Core_1,0,execute
-65300825,TASK_1MS,65,C,Core_1,0,execute
-65300875,TASK_CalcEngineSpeed,32,STI,IR_SCHED_Tasks_C2,211,trigger
-65300875,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-65300875,TASK_10MS,6,R,FUNC_EXECTIME_1,126,suspend
-65300875,Core_2,0,T,TASK_10MS,6,preempt
-65300875,Core_2,0,C,Core_2,0,idle_execution
-65300875,TASK_10MS,6,C,Core_2,0,idle_execution
-65300875,Core_2,0,T,TASK_CalcEngineSpeed,32,start
-65300875,TASK_CalcEngineSpeed,32,R,FUNC_ENGINESPEED,32,start
-65300875,Core_2,0,C,Core_2,0,execute
-65300875,TASK_CalcEngineSpeed,32,C,Core_2,0,execute
-65547800,TASK_CalcEngineSpeed,32,R,FUNC_ENGINESPEED,32,terminate
-65547800,Core_2,0,T,TASK_CalcEngineSpeed,32,terminate
-65547800,TASK_CalcEngineSpeed,32,SCHED,SCHED_Tasks_C2,-1,processterminate
-65547800,Core_2,0,C,Core_2,0,idle
-65547800,TASK_CalcEngineSpeed,32,C,Core_2,0,idle
-65547900,TASK_CalcEngineSpeed,32,STI,IR_SCHED_Tasks_C2,212,trigger
-65547900,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-65547900,Core_2,0,C,Core_2,0,execute_idle
-65547900,TASK_10MS,6,C,Core_2,0,execute_idle
-65547900,Core_2,0,T,TASK_10MS,6,resume
-65547900,TASK_10MS,6,R,FUNC_EXECTIME_1,126,resume
-65649450,TASK_10MS,6,R,FUNC_EXECTIME_1,126,terminate
-65649450,Core_2,0,T,TASK_10MS,6,terminate
-65649450,TASK_10MS,6,SCHED,SCHED_Tasks_C2,-1,processterminate
-65649450,Core_2,0,C,Core_2,0,idle
-65649450,TASK_10MS,6,C,Core_2,0,idle
-65649550,TASK_10MS,6,STI,IR_SCHED_Tasks_C2,213,trigger
-65649550,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-65688750,TASK_1MS,65,R,FUNC_EXECTIME_1,127,terminate
-65688750,Core_1,0,T,TASK_1MS,65,terminate
-65688750,TASK_1MS,65,SCHED,SCHED_Tasks_C1,-1,processterminate
-65688750,Core_1,0,C,Core_1,0,idle
-65688750,TASK_1MS,65,C,Core_1,0,idle
-65688850,TASK_1MS,65,STI,IR_SCHED_Tasks_C1,228,trigger
-65688850,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-66000000,SIM,-1,STI,TIMER-B_2ms,33,trigger
-66000000,TIMER-B_2ms,33,T,TASK_WritingActuator,33,activate
-66000000,TASK_WritingActuator,33,SCHED,SCHED_Tasks_C2,-1,processactivate
-66000100,TASK_WritingActuator,33,STI,IR_SCHED_Tasks_C2,214,trigger
-66000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-66000100,Core_2,0,T,TASK_WritingActuator,33,start
-66000100,TASK_WritingActuator,33,R,FUNC_SEMLOCK,66,start
-66000100,Core_2,0,C,Core_2,0,execute
-66000100,TASK_WritingActuator,33,C,Core_2,0,execute
-66100000,SIM,-1,STI,TIMER-5MS,33,trigger
-66100000,TIMER-5MS,33,T,TASK_5MS,33,activate
-66100000,TASK_5MS,33,SCHED,SCHED_Tasks_C2,-1,processactivate
-66100100,TASK_5MS,33,STI,IR_SCHED_Tasks_C2,215,trigger
-66100100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-66125100,TASK_WritingActuator,33,SEM,SEM_DataElement1,0,requestsemaphore,0
-66125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-66125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-66125100,Core_2,0,C,Core_2,0,lock
-66125100,TASK_WritingActuator,33,SEM,SEM_DataElement1,0,assigned,1
-66125150,TASK_WritingActuator,33,R,FUNC_SEMLOCK,66,terminate
-66125150,Core_2,0,C,Core_2,0,unlock
-66125150,TASK_WritingActuator,33,R,FUNC_WriteData,33,start
-66150000,SIM,-1,STI,TIMER-A_2ms,33,trigger
-66150000,TIMER-A_2ms,33,T,TASK_InputProcessing,33,activate
-66150000,TASK_InputProcessing,33,SCHED,SCHED_Tasks_C1,-1,processactivate
-66150100,TASK_InputProcessing,33,STI,IR_SCHED_Tasks_C1,229,trigger
-66150100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-66150100,Core_1,0,T,TASK_InputProcessing,33,start
-66150100,TASK_InputProcessing,33,R,FUNC_SEMLOCK,67,start
-66150100,Core_1,0,C,Core_1,0,execute
-66150100,TASK_InputProcessing,33,C,Core_1,0,execute
-66152350,TASK_WritingActuator,33,SIG,SIG_Mixture,0,write,0
-66152350,TASK_WritingActuator,33,R,FUNC_WriteData,33,terminate
-66152350,TASK_WritingActuator,33,R,FUNC_SEMUNLOCK,66,start
-66250000,SIM,-1,STI,TIMER-1MS,66,trigger
-66250000,TIMER-1MS,66,T,TASK_1MS,66,activate
-66250000,TASK_1MS,66,SCHED,SCHED_Tasks_C1,-1,processactivate
-66250100,TASK_1MS,66,STI,IR_SCHED_Tasks_C1,230,trigger
-66250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-66250100,TASK_InputProcessing,33,R,FUNC_SEMLOCK,67,suspend
-66250100,Core_1,0,T,TASK_InputProcessing,33,preempt
-66250100,Core_1,0,C,Core_1,0,idle_execution
-66250100,TASK_InputProcessing,33,C,Core_1,0,idle_execution
-66250100,Core_1,0,T,TASK_1MS,66,start
-66250100,TASK_1MS,66,R,FUNC_EXECTIME_1,129,start
-66250100,Core_1,0,C,Core_1,0,execute
-66250100,TASK_1MS,66,C,Core_1,0,execute
-66352350,TASK_WritingActuator,33,SEM,SEM_DataElement1,0,released,1
-66352350,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-66352350,TASK_WritingActuator,33,SCHED,SCHED_Tasks_C2,-1,schedulepoint
-66352350,Core_2,0,C,Core_2,0,lock
-66352400,TASK_WritingActuator,33,R,FUNC_SEMUNLOCK,66,terminate
-66352400,Core_2,0,T,TASK_WritingActuator,33,terminate
-66352400,TASK_WritingActuator,33,SCHED,SCHED_Tasks_C2,-1,processterminate
-66352400,Core_2,0,C,Core_2,0,unlock
-66352400,Core_2,0,C,Core_2,0,idle
-66352400,TASK_WritingActuator,33,C,Core_2,0,idle
-66352450,TASK_WritingActuator,33,STI,IR_SCHED_Tasks_C2,216,trigger
-66352450,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-66352450,Core_2,0,T,TASK_5MS,33,start
-66352450,TASK_5MS,33,R,FUNC_EXECTIME_1,128,start
-66352450,Core_2,0,C,Core_2,0,execute
-66352450,TASK_5MS,33,C,Core_2,0,execute
-66539950,TASK_1MS,66,R,FUNC_EXECTIME_1,129,terminate
-66539950,Core_1,0,T,TASK_1MS,66,terminate
-66539950,TASK_1MS,66,SCHED,SCHED_Tasks_C1,-1,processterminate
-66539950,Core_1,0,C,Core_1,0,idle
-66539950,TASK_1MS,66,C,Core_1,0,idle
-66540050,TASK_1MS,66,STI,IR_SCHED_Tasks_C1,231,trigger
-66540050,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-66540050,Core_1,0,C,Core_1,0,execute_idle
-66540050,TASK_InputProcessing,33,C,Core_1,0,execute_idle
-66540050,Core_1,0,T,TASK_InputProcessing,33,resume
-66540050,TASK_InputProcessing,33,R,FUNC_SEMLOCK,67,resume
-66565050,TASK_InputProcessing,33,SEM,SEM_DataElement1,0,requestsemaphore,0
-66565050,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-66565050,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-66565050,Core_1,0,C,Core_1,0,lock
-66565050,TASK_InputProcessing,33,SEM,SEM_DataElement1,0,assigned,1
-66565100,TASK_InputProcessing,33,R,FUNC_SEMLOCK,67,terminate
-66565100,Core_1,0,C,Core_1,0,unlock
-66565100,TASK_InputProcessing,33,R,FUNC_ReadSensorData,33,start
-66728325,TASK_InputProcessing,33,SIG,SIG_RotationSpeed,0,read,0
-66728325,TASK_InputProcessing,33,SIG,SIG_Lambda,0,read,0
-66728325,TASK_InputProcessing,33,SIG,SIG_Temperature,0,read,0
-66728325,TASK_InputProcessing,33,R,FUNC_ReadSensorData,33,terminate
-66728325,TASK_InputProcessing,33,R,FUNC_SEMUNLOCK,67,start
-66801150,TASK_5MS,33,R,FUNC_EXECTIME_1,128,terminate
-66801150,Core_2,0,T,TASK_5MS,33,terminate
-66801150,TASK_5MS,33,SCHED,SCHED_Tasks_C2,-1,processterminate
-66801150,Core_2,0,C,Core_2,0,idle
-66801150,TASK_5MS,33,C,Core_2,0,idle
-66801250,TASK_5MS,33,STI,IR_SCHED_Tasks_C2,217,trigger
-66801250,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-66928325,TASK_InputProcessing,33,SEM,SEM_DataElement1,0,released,1
-66928325,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-66928325,TASK_InputProcessing,33,SCHED,SCHED_Tasks_C1,-1,schedulepoint
-66928325,Core_1,0,C,Core_1,0,lock
-66928375,TASK_InputProcessing,33,R,FUNC_SEMUNLOCK,67,terminate
-66928375,Core_1,0,C,Core_1,0,unlock
-66928375,TASK_InputProcessing,33,STI,IPA_InputReady,33,trigger
-66928375,IPA_InputReady,33,T,TASK_CalcEngineSpeed,33,activate
-66928375,TASK_CalcEngineSpeed,33,SCHED,SCHED_Tasks_C2,-1,processactivate
-66928375,Core_1,0,T,TASK_InputProcessing,33,terminate
-66928375,TASK_InputProcessing,33,SCHED,SCHED_Tasks_C1,-1,processterminate
-66928375,Core_1,0,C,Core_1,0,idle
-66928375,TASK_InputProcessing,33,C,Core_1,0,idle
-66928425,TASK_InputProcessing,33,STI,IR_SCHED_Tasks_C1,232,trigger
-66928425,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-66928475,TASK_CalcEngineSpeed,33,STI,IR_SCHED_Tasks_C2,218,trigger
-66928475,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-66928475,Core_2,0,T,TASK_CalcEngineSpeed,33,start
-66928475,TASK_CalcEngineSpeed,33,R,FUNC_ENGINESPEED,33,start
-66928475,Core_2,0,C,Core_2,0,execute
-66928475,TASK_CalcEngineSpeed,33,C,Core_2,0,execute
-67118200,TASK_CalcEngineSpeed,33,R,FUNC_ENGINESPEED,33,terminate
-67118200,Core_2,0,T,TASK_CalcEngineSpeed,33,terminate
-67118200,TASK_CalcEngineSpeed,33,SCHED,SCHED_Tasks_C2,-1,processterminate
-67118200,Core_2,0,C,Core_2,0,idle
-67118200,TASK_CalcEngineSpeed,33,C,Core_2,0,idle
-67118300,TASK_CalcEngineSpeed,33,STI,IR_SCHED_Tasks_C2,219,trigger
-67118300,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-67250000,SIM,-1,STI,TIMER-1MS,67,trigger
-67250000,TIMER-1MS,67,T,TASK_1MS,67,activate
-67250000,TASK_1MS,67,SCHED,SCHED_Tasks_C1,-1,processactivate
-67250100,TASK_1MS,67,STI,IR_SCHED_Tasks_C1,233,trigger
-67250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-67250100,Core_1,0,T,TASK_1MS,67,start
-67250100,TASK_1MS,67,R,FUNC_EXECTIME_1,130,start
-67250100,Core_1,0,C,Core_1,0,execute
-67250100,TASK_1MS,67,C,Core_1,0,execute
-67619550,TASK_1MS,67,R,FUNC_EXECTIME_1,130,terminate
-67619550,Core_1,0,T,TASK_1MS,67,terminate
-67619550,TASK_1MS,67,SCHED,SCHED_Tasks_C1,-1,processterminate
-67619550,Core_1,0,C,Core_1,0,idle
-67619550,TASK_1MS,67,C,Core_1,0,idle
-67619650,TASK_1MS,67,STI,IR_SCHED_Tasks_C1,234,trigger
-67619650,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-68000000,SIM,-1,STI,TIMER-B_2ms,34,trigger
-68000000,TIMER-B_2ms,34,T,TASK_WritingActuator,34,activate
-68000000,TASK_WritingActuator,34,SCHED,SCHED_Tasks_C2,-1,processactivate
-68000100,TASK_WritingActuator,34,STI,IR_SCHED_Tasks_C2,220,trigger
-68000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-68000100,Core_2,0,T,TASK_WritingActuator,34,start
-68000100,TASK_WritingActuator,34,R,FUNC_SEMLOCK,68,start
-68000100,Core_2,0,C,Core_2,0,execute
-68000100,TASK_WritingActuator,34,C,Core_2,0,execute
-68100000,SIM,-1,STI,TIMER-5MS,34,trigger
-68100000,TIMER-5MS,34,T,TASK_5MS,34,activate
-68100000,TASK_5MS,34,SCHED,SCHED_Tasks_C2,-1,processactivate
-68100100,TASK_5MS,34,STI,IR_SCHED_Tasks_C2,221,trigger
-68100100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-68125100,TASK_WritingActuator,34,SEM,SEM_DataElement1,0,requestsemaphore,0
-68125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-68125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-68125100,Core_2,0,C,Core_2,0,lock
-68125100,TASK_WritingActuator,34,SEM,SEM_DataElement1,0,assigned,1
-68125150,TASK_WritingActuator,34,R,FUNC_SEMLOCK,68,terminate
-68125150,Core_2,0,C,Core_2,0,unlock
-68125150,TASK_WritingActuator,34,R,FUNC_WriteData,34,start
-68150000,SIM,-1,STI,TIMER-A_2ms,34,trigger
-68150000,TIMER-A_2ms,34,T,TASK_InputProcessing,34,activate
-68150000,TASK_InputProcessing,34,SCHED,SCHED_Tasks_C1,-1,processactivate
-68150100,TASK_InputProcessing,34,STI,IR_SCHED_Tasks_C1,235,trigger
-68150100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-68150100,Core_1,0,T,TASK_InputProcessing,34,start
-68150100,TASK_InputProcessing,34,R,FUNC_SEMLOCK,69,start
-68150100,Core_1,0,C,Core_1,0,execute
-68150100,TASK_InputProcessing,34,C,Core_1,0,execute
-68152525,TASK_WritingActuator,34,SIG,SIG_Mixture,0,write,0
-68152525,TASK_WritingActuator,34,R,FUNC_WriteData,34,terminate
-68152525,TASK_WritingActuator,34,R,FUNC_SEMUNLOCK,68,start
-68250000,SIM,-1,STI,TIMER-1MS,68,trigger
-68250000,TIMER-1MS,68,T,TASK_1MS,68,activate
-68250000,TASK_1MS,68,SCHED,SCHED_Tasks_C1,-1,processactivate
-68250100,TASK_1MS,68,STI,IR_SCHED_Tasks_C1,236,trigger
-68250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-68250100,TASK_InputProcessing,34,R,FUNC_SEMLOCK,69,suspend
-68250100,Core_1,0,T,TASK_InputProcessing,34,preempt
-68250100,Core_1,0,C,Core_1,0,idle_execution
-68250100,TASK_InputProcessing,34,C,Core_1,0,idle_execution
-68250100,Core_1,0,T,TASK_1MS,68,start
-68250100,TASK_1MS,68,R,FUNC_EXECTIME_1,132,start
-68250100,Core_1,0,C,Core_1,0,execute
-68250100,TASK_1MS,68,C,Core_1,0,execute
-68352525,TASK_WritingActuator,34,SEM,SEM_DataElement1,0,released,1
-68352525,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-68352525,TASK_WritingActuator,34,SCHED,SCHED_Tasks_C2,-1,schedulepoint
-68352525,Core_2,0,C,Core_2,0,lock
-68352575,TASK_WritingActuator,34,R,FUNC_SEMUNLOCK,68,terminate
-68352575,Core_2,0,T,TASK_WritingActuator,34,terminate
-68352575,TASK_WritingActuator,34,SCHED,SCHED_Tasks_C2,-1,processterminate
-68352575,Core_2,0,C,Core_2,0,unlock
-68352575,Core_2,0,C,Core_2,0,idle
-68352575,TASK_WritingActuator,34,C,Core_2,0,idle
-68352625,TASK_WritingActuator,34,STI,IR_SCHED_Tasks_C2,222,trigger
-68352625,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-68352625,Core_2,0,T,TASK_5MS,34,start
-68352625,TASK_5MS,34,R,FUNC_EXECTIME_1,131,start
-68352625,Core_2,0,C,Core_2,0,execute
-68352625,TASK_5MS,34,C,Core_2,0,execute
-68690800,TASK_1MS,68,R,FUNC_EXECTIME_1,132,terminate
-68690800,Core_1,0,T,TASK_1MS,68,terminate
-68690800,TASK_1MS,68,SCHED,SCHED_Tasks_C1,-1,processterminate
-68690800,Core_1,0,C,Core_1,0,idle
-68690800,TASK_1MS,68,C,Core_1,0,idle
-68690900,TASK_1MS,68,STI,IR_SCHED_Tasks_C1,237,trigger
-68690900,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-68690900,Core_1,0,C,Core_1,0,execute_idle
-68690900,TASK_InputProcessing,34,C,Core_1,0,execute_idle
-68690900,Core_1,0,T,TASK_InputProcessing,34,resume
-68690900,TASK_InputProcessing,34,R,FUNC_SEMLOCK,69,resume
-68715900,TASK_InputProcessing,34,SEM,SEM_DataElement1,0,requestsemaphore,0
-68715900,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-68715900,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-68715900,Core_1,0,C,Core_1,0,lock
-68715900,TASK_InputProcessing,34,SEM,SEM_DataElement1,0,assigned,1
-68715950,TASK_InputProcessing,34,R,FUNC_SEMLOCK,69,terminate
-68715950,Core_1,0,C,Core_1,0,unlock
-68715950,TASK_InputProcessing,34,R,FUNC_ReadSensorData,34,start
-68763225,TASK_5MS,34,R,FUNC_EXECTIME_1,131,terminate
-68763225,Core_2,0,T,TASK_5MS,34,terminate
-68763225,TASK_5MS,34,SCHED,SCHED_Tasks_C2,-1,processterminate
-68763225,Core_2,0,C,Core_2,0,idle
-68763225,TASK_5MS,34,C,Core_2,0,idle
-68763325,TASK_5MS,34,STI,IR_SCHED_Tasks_C2,223,trigger
-68763325,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-68879125,TASK_InputProcessing,34,SIG,SIG_RotationSpeed,0,read,0
-68879125,TASK_InputProcessing,34,SIG,SIG_Lambda,0,read,0
-68879125,TASK_InputProcessing,34,SIG,SIG_Temperature,0,read,0
-68879125,TASK_InputProcessing,34,R,FUNC_ReadSensorData,34,terminate
-68879125,TASK_InputProcessing,34,R,FUNC_SEMUNLOCK,69,start
-69079125,TASK_InputProcessing,34,SEM,SEM_DataElement1,0,released,1
-69079125,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-69079125,TASK_InputProcessing,34,SCHED,SCHED_Tasks_C1,-1,schedulepoint
-69079125,Core_1,0,C,Core_1,0,lock
-69079175,TASK_InputProcessing,34,R,FUNC_SEMUNLOCK,69,terminate
-69079175,Core_1,0,C,Core_1,0,unlock
-69079175,TASK_InputProcessing,34,STI,IPA_InputReady,34,trigger
-69079175,IPA_InputReady,34,T,TASK_CalcEngineSpeed,34,activate
-69079175,TASK_CalcEngineSpeed,34,SCHED,SCHED_Tasks_C2,-1,processactivate
-69079175,Core_1,0,T,TASK_InputProcessing,34,terminate
-69079175,TASK_InputProcessing,34,SCHED,SCHED_Tasks_C1,-1,processterminate
-69079175,Core_1,0,C,Core_1,0,idle
-69079175,TASK_InputProcessing,34,C,Core_1,0,idle
-69079225,TASK_InputProcessing,34,STI,IR_SCHED_Tasks_C1,238,trigger
-69079225,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-69079275,TASK_CalcEngineSpeed,34,STI,IR_SCHED_Tasks_C2,224,trigger
-69079275,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-69079275,Core_2,0,T,TASK_CalcEngineSpeed,34,start
-69079275,TASK_CalcEngineSpeed,34,R,FUNC_ENGINESPEED,34,start
-69079275,Core_2,0,C,Core_2,0,execute
-69079275,TASK_CalcEngineSpeed,34,C,Core_2,0,execute
-69250000,SIM,-1,STI,TIMER-1MS,69,trigger
-69250000,TIMER-1MS,69,T,TASK_1MS,69,activate
-69250000,TASK_1MS,69,SCHED,SCHED_Tasks_C1,-1,processactivate
-69250100,TASK_1MS,69,STI,IR_SCHED_Tasks_C1,239,trigger
-69250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-69250100,Core_1,0,T,TASK_1MS,69,start
-69250100,TASK_1MS,69,R,FUNC_EXECTIME_1,133,start
-69250100,Core_1,0,C,Core_1,0,execute
-69250100,TASK_1MS,69,C,Core_1,0,execute
-69322225,TASK_CalcEngineSpeed,34,R,FUNC_ENGINESPEED,34,terminate
-69322225,Core_2,0,T,TASK_CalcEngineSpeed,34,terminate
-69322225,TASK_CalcEngineSpeed,34,SCHED,SCHED_Tasks_C2,-1,processterminate
-69322225,Core_2,0,C,Core_2,0,idle
-69322225,TASK_CalcEngineSpeed,34,C,Core_2,0,idle
-69322325,TASK_CalcEngineSpeed,34,STI,IR_SCHED_Tasks_C2,225,trigger
-69322325,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-69905650,TASK_1MS,69,R,FUNC_EXECTIME_1,133,terminate
-69905650,Core_1,0,T,TASK_1MS,69,terminate
-69905650,TASK_1MS,69,SCHED,SCHED_Tasks_C1,-1,processterminate
-69905650,Core_1,0,C,Core_1,0,idle
-69905650,TASK_1MS,69,C,Core_1,0,idle
-69905750,TASK_1MS,69,STI,IR_SCHED_Tasks_C1,240,trigger
-69905750,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-70000000,SIM,-1,STI,TIMER-B_2ms,35,trigger
-70000000,TIMER-B_2ms,35,T,TASK_WritingActuator,35,activate
-70000000,TASK_WritingActuator,35,SCHED,SCHED_Tasks_C2,-1,processactivate
-70000000,SIM,-1,STI,TIMER-10MS_2,7,trigger
-70000000,TIMER-10MS_2,7,T,TASK_10MS_DL2,7,activate
-70000000,TASK_10MS_DL2,7,SCHED,SCHED_Tasks_C1,-1,processactivate
-70000100,TASK_WritingActuator,35,STI,IR_SCHED_Tasks_C2,226,trigger
-70000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-70000100,Core_2,0,T,TASK_WritingActuator,35,start
-70000100,TASK_WritingActuator,35,R,FUNC_SEMLOCK,70,start
-70000100,Core_2,0,C,Core_2,0,execute
-70000100,TASK_WritingActuator,35,C,Core_2,0,execute
-70000100,TASK_10MS_DL2,7,STI,IR_SCHED_Tasks_C1,241,trigger
-70000100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-70000100,Core_1,0,T,TASK_10MS_DL2,7,start
-70000100,TASK_10MS_DL2,7,R,FUNC_EXECTIME_1,134,start
-70000100,Core_1,0,C,Core_1,0,execute
-70000100,TASK_10MS_DL2,7,C,Core_1,0,execute
-70100000,SIM,-1,STI,TIMER-5MS,35,trigger
-70100000,TIMER-5MS,35,T,TASK_5MS,35,activate
-70100000,TASK_5MS,35,SCHED,SCHED_Tasks_C2,-1,processactivate
-70100100,TASK_5MS,35,STI,IR_SCHED_Tasks_C2,227,trigger
-70100100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-70125100,TASK_WritingActuator,35,SEM,SEM_DataElement1,0,requestsemaphore,0
-70125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-70125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-70125100,Core_2,0,C,Core_2,0,lock
-70125100,TASK_WritingActuator,35,SEM,SEM_DataElement1,0,assigned,1
-70125150,TASK_WritingActuator,35,R,FUNC_SEMLOCK,70,terminate
-70125150,Core_2,0,C,Core_2,0,unlock
-70125150,TASK_WritingActuator,35,R,FUNC_WriteData,35,start
-70150000,SIM,-1,STI,TIMER-A_2ms,35,trigger
-70150000,TIMER-A_2ms,35,T,TASK_InputProcessing,35,activate
-70150000,TASK_InputProcessing,35,SCHED,SCHED_Tasks_C1,-1,processactivate
-70150100,TASK_InputProcessing,35,STI,IR_SCHED_Tasks_C1,242,trigger
-70150100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-70152050,TASK_WritingActuator,35,SIG,SIG_Mixture,0,write,0
-70152050,TASK_WritingActuator,35,R,FUNC_WriteData,35,terminate
-70152050,TASK_WritingActuator,35,R,FUNC_SEMUNLOCK,70,start
-70250000,SIM,-1,STI,TIMER-1MS,70,trigger
-70250000,TIMER-1MS,70,T,TASK_1MS,70,activate
-70250000,TASK_1MS,70,SCHED,SCHED_Tasks_C1,-1,processactivate
-70250100,TASK_1MS,70,STI,IR_SCHED_Tasks_C1,243,trigger
-70250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-70250100,TASK_10MS_DL2,7,R,FUNC_EXECTIME_1,134,suspend
-70250100,Core_1,0,T,TASK_10MS_DL2,7,preempt
-70250100,Core_1,0,C,Core_1,0,idle_execution
-70250100,TASK_10MS_DL2,7,C,Core_1,0,idle_execution
-70250100,Core_1,0,T,TASK_1MS,70,start
-70250100,TASK_1MS,70,R,FUNC_EXECTIME_1,136,start
-70250100,Core_1,0,C,Core_1,0,execute
-70250100,TASK_1MS,70,C,Core_1,0,execute
-70352050,TASK_WritingActuator,35,SEM,SEM_DataElement1,0,released,1
-70352050,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-70352050,TASK_WritingActuator,35,SCHED,SCHED_Tasks_C2,-1,schedulepoint
-70352050,Core_2,0,C,Core_2,0,lock
-70352100,TASK_WritingActuator,35,R,FUNC_SEMUNLOCK,70,terminate
-70352100,Core_2,0,T,TASK_WritingActuator,35,terminate
-70352100,TASK_WritingActuator,35,SCHED,SCHED_Tasks_C2,-1,processterminate
-70352100,Core_2,0,C,Core_2,0,unlock
-70352100,Core_2,0,C,Core_2,0,idle
-70352100,TASK_WritingActuator,35,C,Core_2,0,idle
-70352150,TASK_WritingActuator,35,STI,IR_SCHED_Tasks_C2,228,trigger
-70352150,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-70352150,Core_2,0,T,TASK_5MS,35,start
-70352150,TASK_5MS,35,R,FUNC_EXECTIME_1,135,start
-70352150,Core_2,0,C,Core_2,0,execute
-70352150,TASK_5MS,35,C,Core_2,0,execute
-70539100,TASK_1MS,70,R,FUNC_EXECTIME_1,136,terminate
-70539100,Core_1,0,T,TASK_1MS,70,terminate
-70539100,TASK_1MS,70,SCHED,SCHED_Tasks_C1,-1,processterminate
-70539100,Core_1,0,C,Core_1,0,idle
-70539100,TASK_1MS,70,C,Core_1,0,idle
-70539200,TASK_1MS,70,STI,IR_SCHED_Tasks_C1,244,trigger
-70539200,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-70539200,Core_1,0,C,Core_1,0,execute_idle
-70539200,TASK_10MS_DL2,7,C,Core_1,0,execute_idle
-70539200,Core_1,0,T,TASK_10MS_DL2,7,resume
-70539200,TASK_10MS_DL2,7,R,FUNC_EXECTIME_1,134,resume
-70581050,TASK_10MS_DL2,7,R,FUNC_EXECTIME_1,134,terminate
-70581050,Core_1,0,T,TASK_10MS_DL2,7,terminate
-70581050,TASK_10MS_DL2,7,SCHED,SCHED_Tasks_C1,-1,processterminate
-70581050,Core_1,0,C,Core_1,0,idle
-70581050,TASK_10MS_DL2,7,C,Core_1,0,idle
-70581150,TASK_10MS_DL2,7,STI,IR_SCHED_Tasks_C1,245,trigger
-70581150,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-70581150,Core_1,0,T,TASK_InputProcessing,35,start
-70581150,TASK_InputProcessing,35,R,FUNC_SEMLOCK,71,start
-70581150,Core_1,0,C,Core_1,0,execute
-70581150,TASK_InputProcessing,35,C,Core_1,0,execute
-70706150,TASK_InputProcessing,35,SEM,SEM_DataElement1,0,requestsemaphore,0
-70706150,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-70706150,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-70706150,Core_1,0,C,Core_1,0,lock
-70706150,TASK_InputProcessing,35,SEM,SEM_DataElement1,0,assigned,1
-70706200,TASK_InputProcessing,35,R,FUNC_SEMLOCK,71,terminate
-70706200,Core_1,0,C,Core_1,0,unlock
-70706200,TASK_InputProcessing,35,R,FUNC_ReadSensorData,35,start
-70869100,TASK_InputProcessing,35,SIG,SIG_RotationSpeed,0,read,0
-70869100,TASK_InputProcessing,35,SIG,SIG_Lambda,0,read,0
-70869100,TASK_InputProcessing,35,SIG,SIG_Temperature,0,read,0
-70869100,TASK_InputProcessing,35,R,FUNC_ReadSensorData,35,terminate
-70869100,TASK_InputProcessing,35,R,FUNC_SEMUNLOCK,71,start
-71061400,TASK_5MS,35,R,FUNC_EXECTIME_1,135,terminate
-71061400,Core_2,0,T,TASK_5MS,35,terminate
-71061400,TASK_5MS,35,SCHED,SCHED_Tasks_C2,-1,processterminate
-71061400,Core_2,0,C,Core_2,0,idle
-71061400,TASK_5MS,35,C,Core_2,0,idle
-71061500,TASK_5MS,35,STI,IR_SCHED_Tasks_C2,229,trigger
-71061500,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-71069100,TASK_InputProcessing,35,SEM,SEM_DataElement1,0,released,1
-71069100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-71069100,TASK_InputProcessing,35,SCHED,SCHED_Tasks_C1,-1,schedulepoint
-71069100,Core_1,0,C,Core_1,0,lock
-71069150,TASK_InputProcessing,35,R,FUNC_SEMUNLOCK,71,terminate
-71069150,Core_1,0,C,Core_1,0,unlock
-71069150,TASK_InputProcessing,35,STI,IPA_InputReady,35,trigger
-71069150,IPA_InputReady,35,T,TASK_CalcEngineSpeed,35,activate
-71069150,TASK_CalcEngineSpeed,35,SCHED,SCHED_Tasks_C2,-1,processactivate
-71069150,Core_1,0,T,TASK_InputProcessing,35,terminate
-71069150,TASK_InputProcessing,35,SCHED,SCHED_Tasks_C1,-1,processterminate
-71069150,Core_1,0,C,Core_1,0,idle
-71069150,TASK_InputProcessing,35,C,Core_1,0,idle
-71069200,TASK_InputProcessing,35,STI,IR_SCHED_Tasks_C1,246,trigger
-71069200,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-71069250,TASK_CalcEngineSpeed,35,STI,IR_SCHED_Tasks_C2,230,trigger
-71069250,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-71069250,Core_2,0,T,TASK_CalcEngineSpeed,35,start
-71069250,TASK_CalcEngineSpeed,35,R,FUNC_ENGINESPEED,35,start
-71069250,Core_2,0,C,Core_2,0,execute
-71069250,TASK_CalcEngineSpeed,35,C,Core_2,0,execute
-71250000,SIM,-1,STI,TIMER-1MS,71,trigger
-71250000,TIMER-1MS,71,T,TASK_1MS,71,activate
-71250000,TASK_1MS,71,SCHED,SCHED_Tasks_C1,-1,processactivate
-71250100,TASK_1MS,71,STI,IR_SCHED_Tasks_C1,247,trigger
-71250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-71250100,Core_1,0,T,TASK_1MS,71,start
-71250100,TASK_1MS,71,R,FUNC_EXECTIME_1,137,start
-71250100,Core_1,0,C,Core_1,0,execute
-71250100,TASK_1MS,71,C,Core_1,0,execute
-71317025,TASK_CalcEngineSpeed,35,R,FUNC_ENGINESPEED,35,terminate
-71317025,Core_2,0,T,TASK_CalcEngineSpeed,35,terminate
-71317025,TASK_CalcEngineSpeed,35,SCHED,SCHED_Tasks_C2,-1,processterminate
-71317025,Core_2,0,C,Core_2,0,idle
-71317025,TASK_CalcEngineSpeed,35,C,Core_2,0,idle
-71317125,TASK_CalcEngineSpeed,35,STI,IR_SCHED_Tasks_C2,231,trigger
-71317125,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-72000000,SIM,-1,STI,TIMER-B_2ms,36,trigger
-72000000,TIMER-B_2ms,36,T,TASK_WritingActuator,36,activate
-72000000,TASK_WritingActuator,36,SCHED,SCHED_Tasks_C2,-1,processactivate
-72000100,TASK_WritingActuator,36,STI,IR_SCHED_Tasks_C2,232,trigger
-72000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-72000100,Core_2,0,T,TASK_WritingActuator,36,start
-72000100,TASK_WritingActuator,36,R,FUNC_SEMLOCK,72,start
-72000100,Core_2,0,C,Core_2,0,execute
-72000100,TASK_WritingActuator,36,C,Core_2,0,execute
-72014800,TASK_1MS,71,R,FUNC_EXECTIME_1,137,terminate
-72014800,Core_1,0,T,TASK_1MS,71,terminate
-72014800,TASK_1MS,71,SCHED,SCHED_Tasks_C1,-1,processterminate
-72014800,Core_1,0,C,Core_1,0,idle
-72014800,TASK_1MS,71,C,Core_1,0,idle
-72014900,TASK_1MS,71,STI,IR_SCHED_Tasks_C1,248,trigger
-72014900,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-72100000,SIM,-1,STI,TIMER-5MS,36,trigger
-72100000,TIMER-5MS,36,T,TASK_5MS,36,activate
-72100000,TASK_5MS,36,SCHED,SCHED_Tasks_C2,-1,processactivate
-72100100,TASK_5MS,36,STI,IR_SCHED_Tasks_C2,233,trigger
-72100100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-72125100,TASK_WritingActuator,36,SEM,SEM_DataElement1,0,requestsemaphore,0
-72125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-72125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-72125100,Core_2,0,C,Core_2,0,lock
-72125100,TASK_WritingActuator,36,SEM,SEM_DataElement1,0,assigned,1
-72125150,TASK_WritingActuator,36,R,FUNC_SEMLOCK,72,terminate
-72125150,Core_2,0,C,Core_2,0,unlock
-72125150,TASK_WritingActuator,36,R,FUNC_WriteData,36,start
-72150000,SIM,-1,STI,TIMER-A_2ms,36,trigger
-72150000,TIMER-A_2ms,36,T,TASK_InputProcessing,36,activate
-72150000,TASK_InputProcessing,36,SCHED,SCHED_Tasks_C1,-1,processactivate
-72150100,TASK_InputProcessing,36,STI,IR_SCHED_Tasks_C1,249,trigger
-72150100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-72150100,Core_1,0,T,TASK_InputProcessing,36,start
-72150100,TASK_InputProcessing,36,R,FUNC_SEMLOCK,73,start
-72150100,Core_1,0,C,Core_1,0,execute
-72150100,TASK_InputProcessing,36,C,Core_1,0,execute
-72152200,TASK_WritingActuator,36,SIG,SIG_Mixture,0,write,0
-72152200,TASK_WritingActuator,36,R,FUNC_WriteData,36,terminate
-72152200,TASK_WritingActuator,36,R,FUNC_SEMUNLOCK,72,start
-72250000,SIM,-1,STI,TIMER-1MS,72,trigger
-72250000,TIMER-1MS,72,T,TASK_1MS,72,activate
-72250000,TASK_1MS,72,SCHED,SCHED_Tasks_C1,-1,processactivate
-72250100,TASK_1MS,72,STI,IR_SCHED_Tasks_C1,250,trigger
-72250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-72250100,TASK_InputProcessing,36,R,FUNC_SEMLOCK,73,suspend
-72250100,Core_1,0,T,TASK_InputProcessing,36,preempt
-72250100,Core_1,0,C,Core_1,0,idle_execution
-72250100,TASK_InputProcessing,36,C,Core_1,0,idle_execution
-72250100,Core_1,0,T,TASK_1MS,72,start
-72250100,TASK_1MS,72,R,FUNC_EXECTIME_1,139,start
-72250100,Core_1,0,C,Core_1,0,execute
-72250100,TASK_1MS,72,C,Core_1,0,execute
-72352200,TASK_WritingActuator,36,SEM,SEM_DataElement1,0,released,1
-72352200,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-72352200,TASK_WritingActuator,36,SCHED,SCHED_Tasks_C2,-1,schedulepoint
-72352200,Core_2,0,C,Core_2,0,lock
-72352250,TASK_WritingActuator,36,R,FUNC_SEMUNLOCK,72,terminate
-72352250,Core_2,0,T,TASK_WritingActuator,36,terminate
-72352250,TASK_WritingActuator,36,SCHED,SCHED_Tasks_C2,-1,processterminate
-72352250,Core_2,0,C,Core_2,0,unlock
-72352250,Core_2,0,C,Core_2,0,idle
-72352250,TASK_WritingActuator,36,C,Core_2,0,idle
-72352300,TASK_WritingActuator,36,STI,IR_SCHED_Tasks_C2,234,trigger
-72352300,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-72352300,Core_2,0,T,TASK_5MS,36,start
-72352300,TASK_5MS,36,R,FUNC_EXECTIME_1,138,start
-72352300,Core_2,0,C,Core_2,0,execute
-72352300,TASK_5MS,36,C,Core_2,0,execute
-72687475,TASK_1MS,72,R,FUNC_EXECTIME_1,139,terminate
-72687475,Core_1,0,T,TASK_1MS,72,terminate
-72687475,TASK_1MS,72,SCHED,SCHED_Tasks_C1,-1,processterminate
-72687475,Core_1,0,C,Core_1,0,idle
-72687475,TASK_1MS,72,C,Core_1,0,idle
-72687575,TASK_1MS,72,STI,IR_SCHED_Tasks_C1,251,trigger
-72687575,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-72687575,Core_1,0,C,Core_1,0,execute_idle
-72687575,TASK_InputProcessing,36,C,Core_1,0,execute_idle
-72687575,Core_1,0,T,TASK_InputProcessing,36,resume
-72687575,TASK_InputProcessing,36,R,FUNC_SEMLOCK,73,resume
-72712575,TASK_InputProcessing,36,SEM,SEM_DataElement1,0,requestsemaphore,0
-72712575,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-72712575,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-72712575,Core_1,0,C,Core_1,0,lock
-72712575,TASK_InputProcessing,36,SEM,SEM_DataElement1,0,assigned,1
-72712625,TASK_InputProcessing,36,R,FUNC_SEMLOCK,73,terminate
-72712625,Core_1,0,C,Core_1,0,unlock
-72712625,TASK_InputProcessing,36,R,FUNC_ReadSensorData,36,start
-72754900,TASK_5MS,36,R,FUNC_EXECTIME_1,138,terminate
-72754900,Core_2,0,T,TASK_5MS,36,terminate
-72754900,TASK_5MS,36,SCHED,SCHED_Tasks_C2,-1,processterminate
-72754900,Core_2,0,C,Core_2,0,idle
-72754900,TASK_5MS,36,C,Core_2,0,idle
-72755000,TASK_5MS,36,STI,IR_SCHED_Tasks_C2,235,trigger
-72755000,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-72875175,TASK_InputProcessing,36,SIG,SIG_RotationSpeed,0,read,0
-72875175,TASK_InputProcessing,36,SIG,SIG_Lambda,0,read,0
-72875175,TASK_InputProcessing,36,SIG,SIG_Temperature,0,read,0
-72875175,TASK_InputProcessing,36,R,FUNC_ReadSensorData,36,terminate
-72875175,TASK_InputProcessing,36,R,FUNC_SEMUNLOCK,73,start
-73075175,TASK_InputProcessing,36,SEM,SEM_DataElement1,0,released,1
-73075175,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-73075175,TASK_InputProcessing,36,SCHED,SCHED_Tasks_C1,-1,schedulepoint
-73075175,Core_1,0,C,Core_1,0,lock
-73075225,TASK_InputProcessing,36,R,FUNC_SEMUNLOCK,73,terminate
-73075225,Core_1,0,C,Core_1,0,unlock
-73075225,TASK_InputProcessing,36,STI,IPA_InputReady,36,trigger
-73075225,IPA_InputReady,36,T,TASK_CalcEngineSpeed,36,activate
-73075225,TASK_CalcEngineSpeed,36,SCHED,SCHED_Tasks_C2,-1,processactivate
-73075225,Core_1,0,T,TASK_InputProcessing,36,terminate
-73075225,TASK_InputProcessing,36,SCHED,SCHED_Tasks_C1,-1,processterminate
-73075225,Core_1,0,C,Core_1,0,idle
-73075225,TASK_InputProcessing,36,C,Core_1,0,idle
-73075275,TASK_InputProcessing,36,STI,IR_SCHED_Tasks_C1,252,trigger
-73075275,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-73075325,TASK_CalcEngineSpeed,36,STI,IR_SCHED_Tasks_C2,236,trigger
-73075325,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-73075325,Core_2,0,T,TASK_CalcEngineSpeed,36,start
-73075325,TASK_CalcEngineSpeed,36,R,FUNC_ENGINESPEED,36,start
-73075325,Core_2,0,C,Core_2,0,execute
-73075325,TASK_CalcEngineSpeed,36,C,Core_2,0,execute
-73250000,SIM,-1,STI,TIMER-1MS,73,trigger
-73250000,TIMER-1MS,73,T,TASK_1MS,73,activate
-73250000,TASK_1MS,73,SCHED,SCHED_Tasks_C1,-1,processactivate
-73250100,TASK_1MS,73,STI,IR_SCHED_Tasks_C1,253,trigger
-73250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-73250100,Core_1,0,T,TASK_1MS,73,start
-73250100,TASK_1MS,73,R,FUNC_EXECTIME_1,140,start
-73250100,Core_1,0,C,Core_1,0,execute
-73250100,TASK_1MS,73,C,Core_1,0,execute
-73279050,TASK_CalcEngineSpeed,36,R,FUNC_ENGINESPEED,36,terminate
-73279050,Core_2,0,T,TASK_CalcEngineSpeed,36,terminate
-73279050,TASK_CalcEngineSpeed,36,SCHED,SCHED_Tasks_C2,-1,processterminate
-73279050,Core_2,0,C,Core_2,0,idle
-73279050,TASK_CalcEngineSpeed,36,C,Core_2,0,idle
-73279150,TASK_CalcEngineSpeed,36,STI,IR_SCHED_Tasks_C2,237,trigger
-73279150,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-73736575,TASK_1MS,73,R,FUNC_EXECTIME_1,140,terminate
-73736575,Core_1,0,T,TASK_1MS,73,terminate
-73736575,TASK_1MS,73,SCHED,SCHED_Tasks_C1,-1,processterminate
-73736575,Core_1,0,C,Core_1,0,idle
-73736575,TASK_1MS,73,C,Core_1,0,idle
-73736675,TASK_1MS,73,STI,IR_SCHED_Tasks_C1,254,trigger
-73736675,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-74000000,SIM,-1,STI,TIMER-B_2ms,37,trigger
-74000000,TIMER-B_2ms,37,T,TASK_WritingActuator,37,activate
-74000000,TASK_WritingActuator,37,SCHED,SCHED_Tasks_C2,-1,processactivate
-74000100,TASK_WritingActuator,37,STI,IR_SCHED_Tasks_C2,238,trigger
-74000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-74000100,Core_2,0,T,TASK_WritingActuator,37,start
-74000100,TASK_WritingActuator,37,R,FUNC_SEMLOCK,74,start
-74000100,Core_2,0,C,Core_2,0,execute
-74000100,TASK_WritingActuator,37,C,Core_2,0,execute
-74100000,SIM,-1,STI,TIMER-5MS,37,trigger
-74100000,TIMER-5MS,37,T,TASK_5MS,37,activate
-74100000,TASK_5MS,37,SCHED,SCHED_Tasks_C2,-1,processactivate
-74100100,TASK_5MS,37,STI,IR_SCHED_Tasks_C2,239,trigger
-74100100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-74125100,TASK_WritingActuator,37,SEM,SEM_DataElement1,0,requestsemaphore,0
-74125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-74125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-74125100,Core_2,0,C,Core_2,0,lock
-74125100,TASK_WritingActuator,37,SEM,SEM_DataElement1,0,assigned,1
-74125150,TASK_WritingActuator,37,R,FUNC_SEMLOCK,74,terminate
-74125150,Core_2,0,C,Core_2,0,unlock
-74125150,TASK_WritingActuator,37,R,FUNC_WriteData,37,start
-74150000,SIM,-1,STI,TIMER-A_2ms,37,trigger
-74150000,TIMER-A_2ms,37,T,TASK_InputProcessing,37,activate
-74150000,TASK_InputProcessing,37,SCHED,SCHED_Tasks_C1,-1,processactivate
-74150100,TASK_InputProcessing,37,STI,IR_SCHED_Tasks_C1,255,trigger
-74150100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-74150100,Core_1,0,T,TASK_InputProcessing,37,start
-74150100,TASK_InputProcessing,37,R,FUNC_SEMLOCK,75,start
-74150100,Core_1,0,C,Core_1,0,execute
-74150100,TASK_InputProcessing,37,C,Core_1,0,execute
-74152250,TASK_WritingActuator,37,SIG,SIG_Mixture,0,write,0
-74152250,TASK_WritingActuator,37,R,FUNC_WriteData,37,terminate
-74152250,TASK_WritingActuator,37,R,FUNC_SEMUNLOCK,74,start
-74250000,SIM,-1,STI,TIMER-1MS,74,trigger
-74250000,TIMER-1MS,74,T,TASK_1MS,74,activate
-74250000,TASK_1MS,74,SCHED,SCHED_Tasks_C1,-1,processactivate
-74250100,TASK_1MS,74,STI,IR_SCHED_Tasks_C1,256,trigger
-74250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-74250100,TASK_InputProcessing,37,R,FUNC_SEMLOCK,75,suspend
-74250100,Core_1,0,T,TASK_InputProcessing,37,preempt
-74250100,Core_1,0,C,Core_1,0,idle_execution
-74250100,TASK_InputProcessing,37,C,Core_1,0,idle_execution
-74250100,Core_1,0,T,TASK_1MS,74,start
-74250100,TASK_1MS,74,R,FUNC_EXECTIME_1,142,start
-74250100,Core_1,0,C,Core_1,0,execute
-74250100,TASK_1MS,74,C,Core_1,0,execute
-74352250,TASK_WritingActuator,37,SEM,SEM_DataElement1,0,released,1
-74352250,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-74352250,TASK_WritingActuator,37,SCHED,SCHED_Tasks_C2,-1,schedulepoint
-74352250,Core_2,0,C,Core_2,0,lock
-74352300,TASK_WritingActuator,37,R,FUNC_SEMUNLOCK,74,terminate
-74352300,Core_2,0,T,TASK_WritingActuator,37,terminate
-74352300,TASK_WritingActuator,37,SCHED,SCHED_Tasks_C2,-1,processterminate
-74352300,Core_2,0,C,Core_2,0,unlock
-74352300,Core_2,0,C,Core_2,0,idle
-74352300,TASK_WritingActuator,37,C,Core_2,0,idle
-74352350,TASK_WritingActuator,37,STI,IR_SCHED_Tasks_C2,240,trigger
-74352350,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-74352350,Core_2,0,T,TASK_5MS,37,start
-74352350,TASK_5MS,37,R,FUNC_EXECTIME_1,141,start
-74352350,Core_2,0,C,Core_2,0,execute
-74352350,TASK_5MS,37,C,Core_2,0,execute
-74769375,TASK_1MS,74,R,FUNC_EXECTIME_1,142,terminate
-74769375,Core_1,0,T,TASK_1MS,74,terminate
-74769375,TASK_1MS,74,SCHED,SCHED_Tasks_C1,-1,processterminate
-74769375,Core_1,0,C,Core_1,0,idle
-74769375,TASK_1MS,74,C,Core_1,0,idle
-74769475,TASK_1MS,74,STI,IR_SCHED_Tasks_C1,257,trigger
-74769475,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-74769475,Core_1,0,C,Core_1,0,execute_idle
-74769475,TASK_InputProcessing,37,C,Core_1,0,execute_idle
-74769475,Core_1,0,T,TASK_InputProcessing,37,resume
-74769475,TASK_InputProcessing,37,R,FUNC_SEMLOCK,75,resume
-74794475,TASK_InputProcessing,37,SEM,SEM_DataElement1,0,requestsemaphore,0
-74794475,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-74794475,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-74794475,Core_1,0,C,Core_1,0,lock
-74794475,TASK_InputProcessing,37,SEM,SEM_DataElement1,0,assigned,1
-74794525,TASK_InputProcessing,37,R,FUNC_SEMLOCK,75,terminate
-74794525,Core_1,0,C,Core_1,0,unlock
-74794525,TASK_InputProcessing,37,R,FUNC_ReadSensorData,37,start
-74957525,TASK_InputProcessing,37,SIG,SIG_RotationSpeed,0,read,0
-74957525,TASK_InputProcessing,37,SIG,SIG_Lambda,0,read,0
-74957525,TASK_InputProcessing,37,SIG,SIG_Temperature,0,read,0
-74957525,TASK_InputProcessing,37,R,FUNC_ReadSensorData,37,terminate
-74957525,TASK_InputProcessing,37,R,FUNC_SEMUNLOCK,75,start
-75000000,SIM,-1,STI,TIMER-10MS,7,trigger
-75000000,TIMER-10MS,7,T,TASK_10MS,7,activate
-75000000,TASK_10MS,7,SCHED,SCHED_Tasks_C2,-1,processactivate
-75000100,TASK_10MS,7,STI,IR_SCHED_Tasks_C2,241,trigger
-75000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-75113375,TASK_5MS,37,R,FUNC_EXECTIME_1,141,terminate
-75113375,Core_2,0,T,TASK_5MS,37,terminate
-75113375,TASK_5MS,37,SCHED,SCHED_Tasks_C2,-1,processterminate
-75113375,Core_2,0,C,Core_2,0,idle
-75113375,TASK_5MS,37,C,Core_2,0,idle
-75113475,TASK_5MS,37,STI,IR_SCHED_Tasks_C2,242,trigger
-75113475,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-75113475,Core_2,0,T,TASK_10MS,7,start
-75113475,TASK_10MS,7,R,FUNC_EXECTIME_1,143,start
-75113475,Core_2,0,C,Core_2,0,execute
-75113475,TASK_10MS,7,C,Core_2,0,execute
-75157525,TASK_InputProcessing,37,SEM,SEM_DataElement1,0,released,1
-75157525,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-75157525,TASK_InputProcessing,37,SCHED,SCHED_Tasks_C1,-1,schedulepoint
-75157525,Core_1,0,C,Core_1,0,lock
-75157575,TASK_InputProcessing,37,R,FUNC_SEMUNLOCK,75,terminate
-75157575,Core_1,0,C,Core_1,0,unlock
-75157575,TASK_InputProcessing,37,STI,IPA_InputReady,37,trigger
-75157575,IPA_InputReady,37,T,TASK_CalcEngineSpeed,37,activate
-75157575,TASK_CalcEngineSpeed,37,SCHED,SCHED_Tasks_C2,-1,processactivate
-75157575,Core_1,0,T,TASK_InputProcessing,37,terminate
-75157575,TASK_InputProcessing,37,SCHED,SCHED_Tasks_C1,-1,processterminate
-75157575,Core_1,0,C,Core_1,0,idle
-75157575,TASK_InputProcessing,37,C,Core_1,0,idle
-75157625,TASK_InputProcessing,37,STI,IR_SCHED_Tasks_C1,258,trigger
-75157625,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-75157675,TASK_CalcEngineSpeed,37,STI,IR_SCHED_Tasks_C2,243,trigger
-75157675,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-75157675,TASK_10MS,7,R,FUNC_EXECTIME_1,143,suspend
-75157675,Core_2,0,T,TASK_10MS,7,preempt
-75157675,Core_2,0,C,Core_2,0,idle_execution
-75157675,TASK_10MS,7,C,Core_2,0,idle_execution
-75157675,Core_2,0,T,TASK_CalcEngineSpeed,37,start
-75157675,TASK_CalcEngineSpeed,37,R,FUNC_ENGINESPEED,37,start
-75157675,Core_2,0,C,Core_2,0,execute
-75157675,TASK_CalcEngineSpeed,37,C,Core_2,0,execute
-75250000,SIM,-1,STI,TIMER-1MS,75,trigger
-75250000,TIMER-1MS,75,T,TASK_1MS,75,activate
-75250000,TASK_1MS,75,SCHED,SCHED_Tasks_C1,-1,processactivate
-75250100,TASK_1MS,75,STI,IR_SCHED_Tasks_C1,259,trigger
-75250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-75250100,Core_1,0,T,TASK_1MS,75,start
-75250100,TASK_1MS,75,R,FUNC_EXECTIME_1,144,start
-75250100,Core_1,0,C,Core_1,0,execute
-75250100,TASK_1MS,75,C,Core_1,0,execute
-75258000,TASK_CalcEngineSpeed,37,R,FUNC_ENGINESPEED,37,terminate
-75258000,Core_2,0,T,TASK_CalcEngineSpeed,37,terminate
-75258000,TASK_CalcEngineSpeed,37,SCHED,SCHED_Tasks_C2,-1,processterminate
-75258000,Core_2,0,C,Core_2,0,idle
-75258000,TASK_CalcEngineSpeed,37,C,Core_2,0,idle
-75258100,TASK_CalcEngineSpeed,37,STI,IR_SCHED_Tasks_C2,244,trigger
-75258100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-75258100,Core_2,0,C,Core_2,0,execute_idle
-75258100,TASK_10MS,7,C,Core_2,0,execute_idle
-75258100,Core_2,0,T,TASK_10MS,7,resume
-75258100,TASK_10MS,7,R,FUNC_EXECTIME_1,143,resume
-75723025,TASK_1MS,75,R,FUNC_EXECTIME_1,144,terminate
-75723025,Core_1,0,T,TASK_1MS,75,terminate
-75723025,TASK_1MS,75,SCHED,SCHED_Tasks_C1,-1,processterminate
-75723025,Core_1,0,C,Core_1,0,idle
-75723025,TASK_1MS,75,C,Core_1,0,idle
-75723125,TASK_1MS,75,STI,IR_SCHED_Tasks_C1,260,trigger
-75723125,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-75825075,TASK_10MS,7,R,FUNC_EXECTIME_1,143,terminate
-75825075,Core_2,0,T,TASK_10MS,7,terminate
-75825075,TASK_10MS,7,SCHED,SCHED_Tasks_C2,-1,processterminate
-75825075,Core_2,0,C,Core_2,0,idle
-75825075,TASK_10MS,7,C,Core_2,0,idle
-75825175,TASK_10MS,7,STI,IR_SCHED_Tasks_C2,245,trigger
-75825175,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-76000000,SIM,-1,STI,TIMER-B_2ms,38,trigger
-76000000,TIMER-B_2ms,38,T,TASK_WritingActuator,38,activate
-76000000,TASK_WritingActuator,38,SCHED,SCHED_Tasks_C2,-1,processactivate
-76000100,TASK_WritingActuator,38,STI,IR_SCHED_Tasks_C2,246,trigger
-76000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-76000100,Core_2,0,T,TASK_WritingActuator,38,start
-76000100,TASK_WritingActuator,38,R,FUNC_SEMLOCK,76,start
-76000100,Core_2,0,C,Core_2,0,execute
-76000100,TASK_WritingActuator,38,C,Core_2,0,execute
-76100000,SIM,-1,STI,TIMER-5MS,38,trigger
-76100000,TIMER-5MS,38,T,TASK_5MS,38,activate
-76100000,TASK_5MS,38,SCHED,SCHED_Tasks_C2,-1,processactivate
-76100100,TASK_5MS,38,STI,IR_SCHED_Tasks_C2,247,trigger
-76100100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-76125100,TASK_WritingActuator,38,SEM,SEM_DataElement1,0,requestsemaphore,0
-76125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-76125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-76125100,Core_2,0,C,Core_2,0,lock
-76125100,TASK_WritingActuator,38,SEM,SEM_DataElement1,0,assigned,1
-76125150,TASK_WritingActuator,38,R,FUNC_SEMLOCK,76,terminate
-76125150,Core_2,0,C,Core_2,0,unlock
-76125150,TASK_WritingActuator,38,R,FUNC_WriteData,38,start
-76150000,SIM,-1,STI,TIMER-A_2ms,38,trigger
-76150000,TIMER-A_2ms,38,T,TASK_InputProcessing,38,activate
-76150000,TASK_InputProcessing,38,SCHED,SCHED_Tasks_C1,-1,processactivate
-76150100,TASK_InputProcessing,38,STI,IR_SCHED_Tasks_C1,261,trigger
-76150100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-76150100,Core_1,0,T,TASK_InputProcessing,38,start
-76150100,TASK_InputProcessing,38,R,FUNC_SEMLOCK,77,start
-76150100,Core_1,0,C,Core_1,0,execute
-76150100,TASK_InputProcessing,38,C,Core_1,0,execute
-76151875,TASK_WritingActuator,38,SIG,SIG_Mixture,0,write,0
-76151875,TASK_WritingActuator,38,R,FUNC_WriteData,38,terminate
-76151875,TASK_WritingActuator,38,R,FUNC_SEMUNLOCK,76,start
-76250000,SIM,-1,STI,TIMER-1MS,76,trigger
-76250000,TIMER-1MS,76,T,TASK_1MS,76,activate
-76250000,TASK_1MS,76,SCHED,SCHED_Tasks_C1,-1,processactivate
-76250100,TASK_1MS,76,STI,IR_SCHED_Tasks_C1,262,trigger
-76250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-76250100,TASK_InputProcessing,38,R,FUNC_SEMLOCK,77,suspend
-76250100,Core_1,0,T,TASK_InputProcessing,38,preempt
-76250100,Core_1,0,C,Core_1,0,idle_execution
-76250100,TASK_InputProcessing,38,C,Core_1,0,idle_execution
-76250100,Core_1,0,T,TASK_1MS,76,start
-76250100,TASK_1MS,76,R,FUNC_EXECTIME_1,146,start
-76250100,Core_1,0,C,Core_1,0,execute
-76250100,TASK_1MS,76,C,Core_1,0,execute
-76351875,TASK_WritingActuator,38,SEM,SEM_DataElement1,0,released,1
-76351875,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-76351875,TASK_WritingActuator,38,SCHED,SCHED_Tasks_C2,-1,schedulepoint
-76351875,Core_2,0,C,Core_2,0,lock
-76351925,TASK_WritingActuator,38,R,FUNC_SEMUNLOCK,76,terminate
-76351925,Core_2,0,T,TASK_WritingActuator,38,terminate
-76351925,TASK_WritingActuator,38,SCHED,SCHED_Tasks_C2,-1,processterminate
-76351925,Core_2,0,C,Core_2,0,unlock
-76351925,Core_2,0,C,Core_2,0,idle
-76351925,TASK_WritingActuator,38,C,Core_2,0,idle
-76351975,TASK_WritingActuator,38,STI,IR_SCHED_Tasks_C2,248,trigger
-76351975,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-76351975,Core_2,0,T,TASK_5MS,38,start
-76351975,TASK_5MS,38,R,FUNC_EXECTIME_1,145,start
-76351975,Core_2,0,C,Core_2,0,execute
-76351975,TASK_5MS,38,C,Core_2,0,execute
-76631400,TASK_1MS,76,R,FUNC_EXECTIME_1,146,terminate
-76631400,Core_1,0,T,TASK_1MS,76,terminate
-76631400,TASK_1MS,76,SCHED,SCHED_Tasks_C1,-1,processterminate
-76631400,Core_1,0,C,Core_1,0,idle
-76631400,TASK_1MS,76,C,Core_1,0,idle
-76631500,TASK_1MS,76,STI,IR_SCHED_Tasks_C1,263,trigger
-76631500,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-76631500,Core_1,0,C,Core_1,0,execute_idle
-76631500,TASK_InputProcessing,38,C,Core_1,0,execute_idle
-76631500,Core_1,0,T,TASK_InputProcessing,38,resume
-76631500,TASK_InputProcessing,38,R,FUNC_SEMLOCK,77,resume
-76656500,TASK_InputProcessing,38,SEM,SEM_DataElement1,0,requestsemaphore,0
-76656500,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-76656500,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-76656500,Core_1,0,C,Core_1,0,lock
-76656500,TASK_InputProcessing,38,SEM,SEM_DataElement1,0,assigned,1
-76656550,TASK_InputProcessing,38,R,FUNC_SEMLOCK,77,terminate
-76656550,Core_1,0,C,Core_1,0,unlock
-76656550,TASK_InputProcessing,38,R,FUNC_ReadSensorData,38,start
-76821225,TASK_InputProcessing,38,SIG,SIG_RotationSpeed,0,read,0
-76821225,TASK_InputProcessing,38,SIG,SIG_Lambda,0,read,0
-76821225,TASK_InputProcessing,38,SIG,SIG_Temperature,0,read,0
-76821225,TASK_InputProcessing,38,R,FUNC_ReadSensorData,38,terminate
-76821225,TASK_InputProcessing,38,R,FUNC_SEMUNLOCK,77,start
-77021225,TASK_InputProcessing,38,SEM,SEM_DataElement1,0,released,1
-77021225,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-77021225,TASK_InputProcessing,38,SCHED,SCHED_Tasks_C1,-1,schedulepoint
-77021225,Core_1,0,C,Core_1,0,lock
-77021275,TASK_InputProcessing,38,R,FUNC_SEMUNLOCK,77,terminate
-77021275,Core_1,0,C,Core_1,0,unlock
-77021275,TASK_InputProcessing,38,STI,IPA_InputReady,38,trigger
-77021275,IPA_InputReady,38,T,TASK_CalcEngineSpeed,38,activate
-77021275,TASK_CalcEngineSpeed,38,SCHED,SCHED_Tasks_C2,-1,processactivate
-77021275,Core_1,0,T,TASK_InputProcessing,38,terminate
-77021275,TASK_InputProcessing,38,SCHED,SCHED_Tasks_C1,-1,processterminate
-77021275,Core_1,0,C,Core_1,0,idle
-77021275,TASK_InputProcessing,38,C,Core_1,0,idle
-77021325,TASK_InputProcessing,38,STI,IR_SCHED_Tasks_C1,264,trigger
-77021325,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-77021375,TASK_CalcEngineSpeed,38,STI,IR_SCHED_Tasks_C2,249,trigger
-77021375,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-77021375,TASK_5MS,38,R,FUNC_EXECTIME_1,145,suspend
-77021375,Core_2,0,T,TASK_5MS,38,preempt
-77021375,Core_2,0,C,Core_2,0,idle_execution
-77021375,TASK_5MS,38,C,Core_2,0,idle_execution
-77021375,Core_2,0,T,TASK_CalcEngineSpeed,38,start
-77021375,TASK_CalcEngineSpeed,38,R,FUNC_ENGINESPEED,38,start
-77021375,Core_2,0,C,Core_2,0,execute
-77021375,TASK_CalcEngineSpeed,38,C,Core_2,0,execute
-77188050,TASK_CalcEngineSpeed,38,R,FUNC_ENGINESPEED,38,terminate
-77188050,Core_2,0,T,TASK_CalcEngineSpeed,38,terminate
-77188050,TASK_CalcEngineSpeed,38,SCHED,SCHED_Tasks_C2,-1,processterminate
-77188050,Core_2,0,C,Core_2,0,idle
-77188050,TASK_CalcEngineSpeed,38,C,Core_2,0,idle
-77188150,TASK_CalcEngineSpeed,38,STI,IR_SCHED_Tasks_C2,250,trigger
-77188150,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-77188150,Core_2,0,C,Core_2,0,execute_idle
-77188150,TASK_5MS,38,C,Core_2,0,execute_idle
-77188150,Core_2,0,T,TASK_5MS,38,resume
-77188150,TASK_5MS,38,R,FUNC_EXECTIME_1,145,resume
-77250000,SIM,-1,STI,TIMER-1MS,77,trigger
-77250000,TIMER-1MS,77,T,TASK_1MS,77,activate
-77250000,TASK_1MS,77,SCHED,SCHED_Tasks_C1,-1,processactivate
-77250100,TASK_1MS,77,STI,IR_SCHED_Tasks_C1,265,trigger
-77250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-77250100,Core_1,0,T,TASK_1MS,77,start
-77250100,TASK_1MS,77,R,FUNC_EXECTIME_1,147,start
-77250100,Core_1,0,C,Core_1,0,execute
-77250100,TASK_1MS,77,C,Core_1,0,execute
-77415350,TASK_5MS,38,R,FUNC_EXECTIME_1,145,terminate
-77415350,Core_2,0,T,TASK_5MS,38,terminate
-77415350,TASK_5MS,38,SCHED,SCHED_Tasks_C2,-1,processterminate
-77415350,Core_2,0,C,Core_2,0,idle
-77415350,TASK_5MS,38,C,Core_2,0,idle
-77415450,TASK_5MS,38,STI,IR_SCHED_Tasks_C2,251,trigger
-77415450,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-77755875,TASK_1MS,77,R,FUNC_EXECTIME_1,147,terminate
-77755875,Core_1,0,T,TASK_1MS,77,terminate
-77755875,TASK_1MS,77,SCHED,SCHED_Tasks_C1,-1,processterminate
-77755875,Core_1,0,C,Core_1,0,idle
-77755875,TASK_1MS,77,C,Core_1,0,idle
-77755975,TASK_1MS,77,STI,IR_SCHED_Tasks_C1,266,trigger
-77755975,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-78000000,SIM,-1,STI,TIMER-B_2ms,39,trigger
-78000000,TIMER-B_2ms,39,T,TASK_WritingActuator,39,activate
-78000000,TASK_WritingActuator,39,SCHED,SCHED_Tasks_C2,-1,processactivate
-78000100,TASK_WritingActuator,39,STI,IR_SCHED_Tasks_C2,252,trigger
-78000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-78000100,Core_2,0,T,TASK_WritingActuator,39,start
-78000100,TASK_WritingActuator,39,R,FUNC_SEMLOCK,78,start
-78000100,Core_2,0,C,Core_2,0,execute
-78000100,TASK_WritingActuator,39,C,Core_2,0,execute
-78100000,SIM,-1,STI,TIMER-5MS,39,trigger
-78100000,TIMER-5MS,39,T,TASK_5MS,39,activate
-78100000,TASK_5MS,39,SCHED,SCHED_Tasks_C2,-1,processactivate
-78100100,TASK_5MS,39,STI,IR_SCHED_Tasks_C2,253,trigger
-78100100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-78125100,TASK_WritingActuator,39,SEM,SEM_DataElement1,0,requestsemaphore,0
-78125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-78125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-78125100,Core_2,0,C,Core_2,0,lock
-78125100,TASK_WritingActuator,39,SEM,SEM_DataElement1,0,assigned,1
-78125150,TASK_WritingActuator,39,R,FUNC_SEMLOCK,78,terminate
-78125150,Core_2,0,C,Core_2,0,unlock
-78125150,TASK_WritingActuator,39,R,FUNC_WriteData,39,start
-78150000,SIM,-1,STI,TIMER-A_2ms,39,trigger
-78150000,TIMER-A_2ms,39,T,TASK_InputProcessing,39,activate
-78150000,TASK_InputProcessing,39,SCHED,SCHED_Tasks_C1,-1,processactivate
-78150100,TASK_InputProcessing,39,STI,IR_SCHED_Tasks_C1,267,trigger
-78150100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-78150100,Core_1,0,T,TASK_InputProcessing,39,start
-78150100,TASK_InputProcessing,39,R,FUNC_SEMLOCK,79,start
-78150100,Core_1,0,C,Core_1,0,execute
-78150100,TASK_InputProcessing,39,C,Core_1,0,execute
-78152400,TASK_WritingActuator,39,SIG,SIG_Mixture,0,write,0
-78152400,TASK_WritingActuator,39,R,FUNC_WriteData,39,terminate
-78152400,TASK_WritingActuator,39,R,FUNC_SEMUNLOCK,78,start
-78250000,SIM,-1,STI,TIMER-1MS,78,trigger
-78250000,TIMER-1MS,78,T,TASK_1MS,78,activate
-78250000,TASK_1MS,78,SCHED,SCHED_Tasks_C1,-1,processactivate
-78250100,TASK_1MS,78,STI,IR_SCHED_Tasks_C1,268,trigger
-78250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-78250100,TASK_InputProcessing,39,R,FUNC_SEMLOCK,79,suspend
-78250100,Core_1,0,T,TASK_InputProcessing,39,preempt
-78250100,Core_1,0,C,Core_1,0,idle_execution
-78250100,TASK_InputProcessing,39,C,Core_1,0,idle_execution
-78250100,Core_1,0,T,TASK_1MS,78,start
-78250100,TASK_1MS,78,R,FUNC_EXECTIME_1,149,start
-78250100,Core_1,0,C,Core_1,0,execute
-78250100,TASK_1MS,78,C,Core_1,0,execute
-78352400,TASK_WritingActuator,39,SEM,SEM_DataElement1,0,released,1
-78352400,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-78352400,TASK_WritingActuator,39,SCHED,SCHED_Tasks_C2,-1,schedulepoint
-78352400,Core_2,0,C,Core_2,0,lock
-78352450,TASK_WritingActuator,39,R,FUNC_SEMUNLOCK,78,terminate
-78352450,Core_2,0,T,TASK_WritingActuator,39,terminate
-78352450,TASK_WritingActuator,39,SCHED,SCHED_Tasks_C2,-1,processterminate
-78352450,Core_2,0,C,Core_2,0,unlock
-78352450,Core_2,0,C,Core_2,0,idle
-78352450,TASK_WritingActuator,39,C,Core_2,0,idle
-78352500,TASK_WritingActuator,39,STI,IR_SCHED_Tasks_C2,254,trigger
-78352500,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-78352500,Core_2,0,T,TASK_5MS,39,start
-78352500,TASK_5MS,39,R,FUNC_EXECTIME_1,148,start
-78352500,Core_2,0,C,Core_2,0,execute
-78352500,TASK_5MS,39,C,Core_2,0,execute
-78691200,TASK_1MS,78,R,FUNC_EXECTIME_1,149,terminate
-78691200,Core_1,0,T,TASK_1MS,78,terminate
-78691200,TASK_1MS,78,SCHED,SCHED_Tasks_C1,-1,processterminate
-78691200,Core_1,0,C,Core_1,0,idle
-78691200,TASK_1MS,78,C,Core_1,0,idle
-78691300,TASK_1MS,78,STI,IR_SCHED_Tasks_C1,269,trigger
-78691300,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-78691300,Core_1,0,C,Core_1,0,execute_idle
-78691300,TASK_InputProcessing,39,C,Core_1,0,execute_idle
-78691300,Core_1,0,T,TASK_InputProcessing,39,resume
-78691300,TASK_InputProcessing,39,R,FUNC_SEMLOCK,79,resume
-78716300,TASK_InputProcessing,39,SEM,SEM_DataElement1,0,requestsemaphore,0
-78716300,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-78716300,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-78716300,Core_1,0,C,Core_1,0,lock
-78716300,TASK_InputProcessing,39,SEM,SEM_DataElement1,0,assigned,1
-78716350,TASK_InputProcessing,39,R,FUNC_SEMLOCK,79,terminate
-78716350,Core_1,0,C,Core_1,0,unlock
-78716350,TASK_InputProcessing,39,R,FUNC_ReadSensorData,39,start
-78849525,TASK_5MS,39,R,FUNC_EXECTIME_1,148,terminate
-78849525,Core_2,0,T,TASK_5MS,39,terminate
-78849525,TASK_5MS,39,SCHED,SCHED_Tasks_C2,-1,processterminate
-78849525,Core_2,0,C,Core_2,0,idle
-78849525,TASK_5MS,39,C,Core_2,0,idle
-78849625,TASK_5MS,39,STI,IR_SCHED_Tasks_C2,255,trigger
-78849625,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-78876675,TASK_InputProcessing,39,SIG,SIG_RotationSpeed,0,read,0
-78876675,TASK_InputProcessing,39,SIG,SIG_Lambda,0,read,0
-78876675,TASK_InputProcessing,39,SIG,SIG_Temperature,0,read,0
-78876675,TASK_InputProcessing,39,R,FUNC_ReadSensorData,39,terminate
-78876675,TASK_InputProcessing,39,R,FUNC_SEMUNLOCK,79,start
-79076675,TASK_InputProcessing,39,SEM,SEM_DataElement1,0,released,1
-79076675,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-79076675,TASK_InputProcessing,39,SCHED,SCHED_Tasks_C1,-1,schedulepoint
-79076675,Core_1,0,C,Core_1,0,lock
-79076725,TASK_InputProcessing,39,R,FUNC_SEMUNLOCK,79,terminate
-79076725,Core_1,0,C,Core_1,0,unlock
-79076725,TASK_InputProcessing,39,STI,IPA_InputReady,39,trigger
-79076725,IPA_InputReady,39,T,TASK_CalcEngineSpeed,39,activate
-79076725,TASK_CalcEngineSpeed,39,SCHED,SCHED_Tasks_C2,-1,processactivate
-79076725,Core_1,0,T,TASK_InputProcessing,39,terminate
-79076725,TASK_InputProcessing,39,SCHED,SCHED_Tasks_C1,-1,processterminate
-79076725,Core_1,0,C,Core_1,0,idle
-79076725,TASK_InputProcessing,39,C,Core_1,0,idle
-79076775,TASK_InputProcessing,39,STI,IR_SCHED_Tasks_C1,270,trigger
-79076775,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-79076825,TASK_CalcEngineSpeed,39,STI,IR_SCHED_Tasks_C2,256,trigger
-79076825,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-79076825,Core_2,0,T,TASK_CalcEngineSpeed,39,start
-79076825,TASK_CalcEngineSpeed,39,R,FUNC_ENGINESPEED,39,start
-79076825,Core_2,0,C,Core_2,0,execute
-79076825,TASK_CalcEngineSpeed,39,C,Core_2,0,execute
-79196725,TASK_CalcEngineSpeed,39,R,FUNC_ENGINESPEED,39,terminate
-79196725,Core_2,0,T,TASK_CalcEngineSpeed,39,terminate
-79196725,TASK_CalcEngineSpeed,39,SCHED,SCHED_Tasks_C2,-1,processterminate
-79196725,Core_2,0,C,Core_2,0,idle
-79196725,TASK_CalcEngineSpeed,39,C,Core_2,0,idle
-79196825,TASK_CalcEngineSpeed,39,STI,IR_SCHED_Tasks_C2,257,trigger
-79196825,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-79250000,SIM,-1,STI,TIMER-1MS,79,trigger
-79250000,TIMER-1MS,79,T,TASK_1MS,79,activate
-79250000,TASK_1MS,79,SCHED,SCHED_Tasks_C1,-1,processactivate
-79250100,TASK_1MS,79,STI,IR_SCHED_Tasks_C1,271,trigger
-79250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-79250100,Core_1,0,T,TASK_1MS,79,start
-79250100,TASK_1MS,79,R,FUNC_EXECTIME_1,150,start
-79250100,Core_1,0,C,Core_1,0,execute
-79250100,TASK_1MS,79,C,Core_1,0,execute
-79803750,TASK_1MS,79,R,FUNC_EXECTIME_1,150,terminate
-79803750,Core_1,0,T,TASK_1MS,79,terminate
-79803750,TASK_1MS,79,SCHED,SCHED_Tasks_C1,-1,processterminate
-79803750,Core_1,0,C,Core_1,0,idle
-79803750,TASK_1MS,79,C,Core_1,0,idle
-79803850,TASK_1MS,79,STI,IR_SCHED_Tasks_C1,272,trigger
-79803850,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-80000000,SIM,-1,STI,TIMER-B_2ms,40,trigger
-80000000,TIMER-B_2ms,40,T,TASK_WritingActuator,40,activate
-80000000,TASK_WritingActuator,40,SCHED,SCHED_Tasks_C2,-1,processactivate
-80000000,SIM,-1,STI,TIMER-10MS_2,8,trigger
-80000000,TIMER-10MS_2,8,T,TASK_10MS_DL2,8,activate
-80000000,TASK_10MS_DL2,8,SCHED,SCHED_Tasks_C1,-1,processactivate
-80000100,TASK_WritingActuator,40,STI,IR_SCHED_Tasks_C2,258,trigger
-80000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-80000100,Core_2,0,T,TASK_WritingActuator,40,start
-80000100,TASK_WritingActuator,40,R,FUNC_SEMLOCK,80,start
-80000100,Core_2,0,C,Core_2,0,execute
-80000100,TASK_WritingActuator,40,C,Core_2,0,execute
-80000100,TASK_10MS_DL2,8,STI,IR_SCHED_Tasks_C1,273,trigger
-80000100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-80000100,Core_1,0,T,TASK_10MS_DL2,8,start
-80000100,TASK_10MS_DL2,8,R,FUNC_EXECTIME_1,151,start
-80000100,Core_1,0,C,Core_1,0,execute
-80000100,TASK_10MS_DL2,8,C,Core_1,0,execute
-80005000,SIM,-1,STI,TIMER-20MS,4,trigger
-80005000,TIMER-20MS,4,T,TASK_20MS,4,activate
-80005000,TASK_20MS,4,SCHED,SCHED_Tasks_C1,-1,processactivate
-80005100,TASK_20MS,4,STI,IR_SCHED_Tasks_C1,274,trigger
-80005100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-80100000,SIM,-1,STI,TIMER-5MS,40,trigger
-80100000,TIMER-5MS,40,T,TASK_5MS,40,activate
-80100000,TASK_5MS,40,SCHED,SCHED_Tasks_C2,-1,processactivate
-80100100,TASK_5MS,40,STI,IR_SCHED_Tasks_C2,259,trigger
-80100100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-80125100,TASK_WritingActuator,40,SEM,SEM_DataElement1,0,requestsemaphore,0
-80125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-80125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-80125100,Core_2,0,C,Core_2,0,lock
-80125100,TASK_WritingActuator,40,SEM,SEM_DataElement1,0,assigned,1
-80125150,TASK_WritingActuator,40,R,FUNC_SEMLOCK,80,terminate
-80125150,Core_2,0,C,Core_2,0,unlock
-80125150,TASK_WritingActuator,40,R,FUNC_WriteData,40,start
-80150000,SIM,-1,STI,TIMER-A_2ms,40,trigger
-80150000,TIMER-A_2ms,40,T,TASK_InputProcessing,40,activate
-80150000,TASK_InputProcessing,40,SCHED,SCHED_Tasks_C1,-1,processactivate
-80150100,TASK_InputProcessing,40,STI,IR_SCHED_Tasks_C1,275,trigger
-80150100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-80152175,TASK_WritingActuator,40,SIG,SIG_Mixture,0,write,0
-80152175,TASK_WritingActuator,40,R,FUNC_WriteData,40,terminate
-80152175,TASK_WritingActuator,40,R,FUNC_SEMUNLOCK,80,start
-80250000,SIM,-1,STI,TIMER-1MS,80,trigger
-80250000,TIMER-1MS,80,T,TASK_1MS,80,activate
-80250000,TASK_1MS,80,SCHED,SCHED_Tasks_C1,-1,processactivate
-80250100,TASK_1MS,80,STI,IR_SCHED_Tasks_C1,276,trigger
-80250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-80250100,TASK_10MS_DL2,8,R,FUNC_EXECTIME_1,151,suspend
-80250100,Core_1,0,T,TASK_10MS_DL2,8,preempt
-80250100,Core_1,0,C,Core_1,0,idle_execution
-80250100,TASK_10MS_DL2,8,C,Core_1,0,idle_execution
-80250100,Core_1,0,T,TASK_1MS,80,start
-80250100,TASK_1MS,80,R,FUNC_EXECTIME_1,154,start
-80250100,Core_1,0,C,Core_1,0,execute
-80250100,TASK_1MS,80,C,Core_1,0,execute
-80352175,TASK_WritingActuator,40,SEM,SEM_DataElement1,0,released,1
-80352175,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-80352175,TASK_WritingActuator,40,SCHED,SCHED_Tasks_C2,-1,schedulepoint
-80352175,Core_2,0,C,Core_2,0,lock
-80352225,TASK_WritingActuator,40,R,FUNC_SEMUNLOCK,80,terminate
-80352225,Core_2,0,T,TASK_WritingActuator,40,terminate
-80352225,TASK_WritingActuator,40,SCHED,SCHED_Tasks_C2,-1,processterminate
-80352225,Core_2,0,C,Core_2,0,unlock
-80352225,Core_2,0,C,Core_2,0,idle
-80352225,TASK_WritingActuator,40,C,Core_2,0,idle
-80352275,TASK_WritingActuator,40,STI,IR_SCHED_Tasks_C2,260,trigger
-80352275,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-80352275,Core_2,0,T,TASK_5MS,40,start
-80352275,TASK_5MS,40,R,FUNC_EXECTIME_1,153,start
-80352275,Core_2,0,C,Core_2,0,execute
-80352275,TASK_5MS,40,C,Core_2,0,execute
-80715375,TASK_1MS,80,R,FUNC_EXECTIME_1,154,terminate
-80715375,Core_1,0,T,TASK_1MS,80,terminate
-80715375,TASK_1MS,80,SCHED,SCHED_Tasks_C1,-1,processterminate
-80715375,Core_1,0,C,Core_1,0,idle
-80715375,TASK_1MS,80,C,Core_1,0,idle
-80715475,TASK_1MS,80,STI,IR_SCHED_Tasks_C1,277,trigger
-80715475,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-80715475,Core_1,0,C,Core_1,0,execute_idle
-80715475,TASK_10MS_DL2,8,C,Core_1,0,execute_idle
-80715475,Core_1,0,T,TASK_10MS_DL2,8,resume
-80715475,TASK_10MS_DL2,8,R,FUNC_EXECTIME_1,151,resume
-80764200,TASK_10MS_DL2,8,R,FUNC_EXECTIME_1,151,terminate
-80764200,Core_1,0,T,TASK_10MS_DL2,8,terminate
-80764200,TASK_10MS_DL2,8,SCHED,SCHED_Tasks_C1,-1,processterminate
-80764200,Core_1,0,C,Core_1,0,idle
-80764200,TASK_10MS_DL2,8,C,Core_1,0,idle
-80764300,TASK_10MS_DL2,8,STI,IR_SCHED_Tasks_C1,278,trigger
-80764300,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-80764300,Core_1,0,T,TASK_InputProcessing,40,start
-80764300,TASK_InputProcessing,40,R,FUNC_SEMLOCK,81,start
-80764300,Core_1,0,C,Core_1,0,execute
-80764300,TASK_InputProcessing,40,C,Core_1,0,execute
-80889300,TASK_InputProcessing,40,SEM,SEM_DataElement1,0,requestsemaphore,0
-80889300,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-80889300,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-80889300,Core_1,0,C,Core_1,0,lock
-80889300,TASK_InputProcessing,40,SEM,SEM_DataElement1,0,assigned,1
-80889350,TASK_InputProcessing,40,R,FUNC_SEMLOCK,81,terminate
-80889350,Core_1,0,C,Core_1,0,unlock
-80889350,TASK_InputProcessing,40,R,FUNC_ReadSensorData,40,start
-81052225,TASK_InputProcessing,40,SIG,SIG_RotationSpeed,0,read,0
-81052225,TASK_InputProcessing,40,SIG,SIG_Lambda,0,read,0
-81052225,TASK_InputProcessing,40,SIG,SIG_Temperature,0,read,0
-81052225,TASK_InputProcessing,40,R,FUNC_ReadSensorData,40,terminate
-81052225,TASK_InputProcessing,40,R,FUNC_SEMUNLOCK,81,start
-81112000,TASK_5MS,40,R,FUNC_EXECTIME_1,153,terminate
-81112000,Core_2,0,T,TASK_5MS,40,terminate
-81112000,TASK_5MS,40,SCHED,SCHED_Tasks_C2,-1,processterminate
-81112000,Core_2,0,C,Core_2,0,idle
-81112000,TASK_5MS,40,C,Core_2,0,idle
-81112100,TASK_5MS,40,STI,IR_SCHED_Tasks_C2,261,trigger
-81112100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-81250000,SIM,-1,STI,TIMER-1MS,81,trigger
-81250000,TIMER-1MS,81,T,TASK_1MS,81,activate
-81250000,TASK_1MS,81,SCHED,SCHED_Tasks_C1,-1,processactivate
-81250100,TASK_1MS,81,STI,IR_SCHED_Tasks_C1,279,trigger
-81250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-81252225,TASK_InputProcessing,40,SEM,SEM_DataElement1,0,released,1
-81252225,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-81252225,TASK_InputProcessing,40,SCHED,SCHED_Tasks_C1,-1,schedulepoint
-81252225,Core_1,0,C,Core_1,0,lock
-81252275,TASK_InputProcessing,40,R,FUNC_SEMUNLOCK,81,terminate
-81252275,Core_1,0,C,Core_1,0,unlock
-81252275,TASK_InputProcessing,40,STI,IPA_InputReady,40,trigger
-81252275,IPA_InputReady,40,T,TASK_CalcEngineSpeed,40,activate
-81252275,TASK_CalcEngineSpeed,40,SCHED,SCHED_Tasks_C2,-1,processactivate
-81252275,Core_1,0,T,TASK_InputProcessing,40,terminate
-81252275,TASK_InputProcessing,40,SCHED,SCHED_Tasks_C1,-1,processterminate
-81252275,Core_1,0,C,Core_1,0,idle
-81252275,TASK_InputProcessing,40,C,Core_1,0,idle
-81252325,TASK_InputProcessing,40,STI,IR_SCHED_Tasks_C1,280,trigger
-81252325,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-81252325,Core_1,0,T,TASK_1MS,81,start
-81252325,TASK_1MS,81,R,FUNC_EXECTIME_1,155,start
-81252325,Core_1,0,C,Core_1,0,execute
-81252325,TASK_1MS,81,C,Core_1,0,execute
-81252375,TASK_CalcEngineSpeed,40,STI,IR_SCHED_Tasks_C2,262,trigger
-81252375,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-81252375,Core_2,0,T,TASK_CalcEngineSpeed,40,start
-81252375,TASK_CalcEngineSpeed,40,R,FUNC_ENGINESPEED,40,start
-81252375,Core_2,0,C,Core_2,0,execute
-81252375,TASK_CalcEngineSpeed,40,C,Core_2,0,execute
-81371950,TASK_CalcEngineSpeed,40,R,FUNC_ENGINESPEED,40,terminate
-81371950,Core_2,0,T,TASK_CalcEngineSpeed,40,terminate
-81371950,TASK_CalcEngineSpeed,40,SCHED,SCHED_Tasks_C2,-1,processterminate
-81371950,Core_2,0,C,Core_2,0,idle
-81371950,TASK_CalcEngineSpeed,40,C,Core_2,0,idle
-81372050,TASK_CalcEngineSpeed,40,STI,IR_SCHED_Tasks_C2,263,trigger
-81372050,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-81675600,TASK_1MS,81,R,FUNC_EXECTIME_1,155,terminate
-81675600,Core_1,0,T,TASK_1MS,81,terminate
-81675600,TASK_1MS,81,SCHED,SCHED_Tasks_C1,-1,processterminate
-81675600,Core_1,0,C,Core_1,0,idle
-81675600,TASK_1MS,81,C,Core_1,0,idle
-81675700,TASK_1MS,81,STI,IR_SCHED_Tasks_C1,281,trigger
-81675700,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-81675700,Core_1,0,T,TASK_20MS,4,start
-81675700,TASK_20MS,4,R,FUNC_EXECTIME_1,152,start
-81675700,Core_1,0,C,Core_1,0,execute
-81675700,TASK_20MS,4,C,Core_1,0,execute
-81977075,TASK_20MS,4,R,FUNC_EXECTIME_1,152,terminate
-81977075,Core_1,0,T,TASK_20MS,4,terminate
-81977075,TASK_20MS,4,SCHED,SCHED_Tasks_C1,-1,processterminate
-81977075,Core_1,0,C,Core_1,0,idle
-81977075,TASK_20MS,4,C,Core_1,0,idle
-81977175,TASK_20MS,4,STI,IR_SCHED_Tasks_C1,282,trigger
-81977175,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-82000000,SIM,-1,STI,TIMER-B_2ms,41,trigger
-82000000,TIMER-B_2ms,41,T,TASK_WritingActuator,41,activate
-82000000,TASK_WritingActuator,41,SCHED,SCHED_Tasks_C2,-1,processactivate
-82000100,TASK_WritingActuator,41,STI,IR_SCHED_Tasks_C2,264,trigger
-82000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-82000100,Core_2,0,T,TASK_WritingActuator,41,start
-82000100,TASK_WritingActuator,41,R,FUNC_SEMLOCK,82,start
-82000100,Core_2,0,C,Core_2,0,execute
-82000100,TASK_WritingActuator,41,C,Core_2,0,execute
-82100000,SIM,-1,STI,TIMER-5MS,41,trigger
-82100000,TIMER-5MS,41,T,TASK_5MS,41,activate
-82100000,TASK_5MS,41,SCHED,SCHED_Tasks_C2,-1,processactivate
-82100100,TASK_5MS,41,STI,IR_SCHED_Tasks_C2,265,trigger
-82100100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-82125100,TASK_WritingActuator,41,SEM,SEM_DataElement1,0,requestsemaphore,0
-82125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-82125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-82125100,Core_2,0,C,Core_2,0,lock
-82125100,TASK_WritingActuator,41,SEM,SEM_DataElement1,0,assigned,1
-82125150,TASK_WritingActuator,41,R,FUNC_SEMLOCK,82,terminate
-82125150,Core_2,0,C,Core_2,0,unlock
-82125150,TASK_WritingActuator,41,R,FUNC_WriteData,41,start
-82150000,SIM,-1,STI,TIMER-A_2ms,41,trigger
-82150000,TIMER-A_2ms,41,T,TASK_InputProcessing,41,activate
-82150000,TASK_InputProcessing,41,SCHED,SCHED_Tasks_C1,-1,processactivate
-82150100,TASK_InputProcessing,41,STI,IR_SCHED_Tasks_C1,283,trigger
-82150100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-82150100,Core_1,0,T,TASK_InputProcessing,41,start
-82150100,TASK_InputProcessing,41,R,FUNC_SEMLOCK,83,start
-82150100,Core_1,0,C,Core_1,0,execute
-82150100,TASK_InputProcessing,41,C,Core_1,0,execute
-82152300,TASK_WritingActuator,41,SIG,SIG_Mixture,0,write,0
-82152300,TASK_WritingActuator,41,R,FUNC_WriteData,41,terminate
-82152300,TASK_WritingActuator,41,R,FUNC_SEMUNLOCK,82,start
-82250000,SIM,-1,STI,TIMER-1MS,82,trigger
-82250000,TIMER-1MS,82,T,TASK_1MS,82,activate
-82250000,TASK_1MS,82,SCHED,SCHED_Tasks_C1,-1,processactivate
-82250100,TASK_1MS,82,STI,IR_SCHED_Tasks_C1,284,trigger
-82250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-82250100,TASK_InputProcessing,41,R,FUNC_SEMLOCK,83,suspend
-82250100,Core_1,0,T,TASK_InputProcessing,41,preempt
-82250100,Core_1,0,C,Core_1,0,idle_execution
-82250100,TASK_InputProcessing,41,C,Core_1,0,idle_execution
-82250100,Core_1,0,T,TASK_1MS,82,start
-82250100,TASK_1MS,82,R,FUNC_EXECTIME_1,157,start
-82250100,Core_1,0,C,Core_1,0,execute
-82250100,TASK_1MS,82,C,Core_1,0,execute
-82352300,TASK_WritingActuator,41,SEM,SEM_DataElement1,0,released,1
-82352300,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-82352300,TASK_WritingActuator,41,SCHED,SCHED_Tasks_C2,-1,schedulepoint
-82352300,Core_2,0,C,Core_2,0,lock
-82352350,TASK_WritingActuator,41,R,FUNC_SEMUNLOCK,82,terminate
-82352350,Core_2,0,T,TASK_WritingActuator,41,terminate
-82352350,TASK_WritingActuator,41,SCHED,SCHED_Tasks_C2,-1,processterminate
-82352350,Core_2,0,C,Core_2,0,unlock
-82352350,Core_2,0,C,Core_2,0,idle
-82352350,TASK_WritingActuator,41,C,Core_2,0,idle
-82352400,TASK_WritingActuator,41,STI,IR_SCHED_Tasks_C2,266,trigger
-82352400,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-82352400,Core_2,0,T,TASK_5MS,41,start
-82352400,TASK_5MS,41,R,FUNC_EXECTIME_1,156,start
-82352400,Core_2,0,C,Core_2,0,execute
-82352400,TASK_5MS,41,C,Core_2,0,execute
-82833125,TASK_1MS,82,R,FUNC_EXECTIME_1,157,terminate
-82833125,Core_1,0,T,TASK_1MS,82,terminate
-82833125,TASK_1MS,82,SCHED,SCHED_Tasks_C1,-1,processterminate
-82833125,Core_1,0,C,Core_1,0,idle
-82833125,TASK_1MS,82,C,Core_1,0,idle
-82833225,TASK_1MS,82,STI,IR_SCHED_Tasks_C1,285,trigger
-82833225,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-82833225,Core_1,0,C,Core_1,0,execute_idle
-82833225,TASK_InputProcessing,41,C,Core_1,0,execute_idle
-82833225,Core_1,0,T,TASK_InputProcessing,41,resume
-82833225,TASK_InputProcessing,41,R,FUNC_SEMLOCK,83,resume
-82858225,TASK_InputProcessing,41,SEM,SEM_DataElement1,0,requestsemaphore,0
-82858225,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-82858225,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-82858225,Core_1,0,C,Core_1,0,lock
-82858225,TASK_InputProcessing,41,SEM,SEM_DataElement1,0,assigned,1
-82858275,TASK_InputProcessing,41,R,FUNC_SEMLOCK,83,terminate
-82858275,Core_1,0,C,Core_1,0,unlock
-82858275,TASK_InputProcessing,41,R,FUNC_ReadSensorData,41,start
-83021350,TASK_InputProcessing,41,SIG,SIG_RotationSpeed,0,read,0
-83021350,TASK_InputProcessing,41,SIG,SIG_Lambda,0,read,0
-83021350,TASK_InputProcessing,41,SIG,SIG_Temperature,0,read,0
-83021350,TASK_InputProcessing,41,R,FUNC_ReadSensorData,41,terminate
-83021350,TASK_InputProcessing,41,R,FUNC_SEMUNLOCK,83,start
-83034800,TASK_5MS,41,R,FUNC_EXECTIME_1,156,terminate
-83034800,Core_2,0,T,TASK_5MS,41,terminate
-83034800,TASK_5MS,41,SCHED,SCHED_Tasks_C2,-1,processterminate
-83034800,Core_2,0,C,Core_2,0,idle
-83034800,TASK_5MS,41,C,Core_2,0,idle
-83034900,TASK_5MS,41,STI,IR_SCHED_Tasks_C2,267,trigger
-83034900,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-83221350,TASK_InputProcessing,41,SEM,SEM_DataElement1,0,released,1
-83221350,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-83221350,TASK_InputProcessing,41,SCHED,SCHED_Tasks_C1,-1,schedulepoint
-83221350,Core_1,0,C,Core_1,0,lock
-83221400,TASK_InputProcessing,41,R,FUNC_SEMUNLOCK,83,terminate
-83221400,Core_1,0,C,Core_1,0,unlock
-83221400,TASK_InputProcessing,41,STI,IPA_InputReady,41,trigger
-83221400,IPA_InputReady,41,T,TASK_CalcEngineSpeed,41,activate
-83221400,TASK_CalcEngineSpeed,41,SCHED,SCHED_Tasks_C2,-1,processactivate
-83221400,Core_1,0,T,TASK_InputProcessing,41,terminate
-83221400,TASK_InputProcessing,41,SCHED,SCHED_Tasks_C1,-1,processterminate
-83221400,Core_1,0,C,Core_1,0,idle
-83221400,TASK_InputProcessing,41,C,Core_1,0,idle
-83221450,TASK_InputProcessing,41,STI,IR_SCHED_Tasks_C1,286,trigger
-83221450,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-83221500,TASK_CalcEngineSpeed,41,STI,IR_SCHED_Tasks_C2,268,trigger
-83221500,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-83221500,Core_2,0,T,TASK_CalcEngineSpeed,41,start
-83221500,TASK_CalcEngineSpeed,41,R,FUNC_ENGINESPEED,41,start
-83221500,Core_2,0,C,Core_2,0,execute
-83221500,TASK_CalcEngineSpeed,41,C,Core_2,0,execute
-83250000,SIM,-1,STI,TIMER-1MS,83,trigger
-83250000,TIMER-1MS,83,T,TASK_1MS,83,activate
-83250000,TASK_1MS,83,SCHED,SCHED_Tasks_C1,-1,processactivate
-83250100,TASK_1MS,83,STI,IR_SCHED_Tasks_C1,287,trigger
-83250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-83250100,Core_1,0,T,TASK_1MS,83,start
-83250100,TASK_1MS,83,R,FUNC_EXECTIME_1,158,start
-83250100,Core_1,0,C,Core_1,0,execute
-83250100,TASK_1MS,83,C,Core_1,0,execute
-83378750,TASK_CalcEngineSpeed,41,R,FUNC_ENGINESPEED,41,terminate
-83378750,Core_2,0,T,TASK_CalcEngineSpeed,41,terminate
-83378750,TASK_CalcEngineSpeed,41,SCHED,SCHED_Tasks_C2,-1,processterminate
-83378750,Core_2,0,C,Core_2,0,idle
-83378750,TASK_CalcEngineSpeed,41,C,Core_2,0,idle
-83378850,TASK_CalcEngineSpeed,41,STI,IR_SCHED_Tasks_C2,269,trigger
-83378850,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-83686250,TASK_1MS,83,R,FUNC_EXECTIME_1,158,terminate
-83686250,Core_1,0,T,TASK_1MS,83,terminate
-83686250,TASK_1MS,83,SCHED,SCHED_Tasks_C1,-1,processterminate
-83686250,Core_1,0,C,Core_1,0,idle
-83686250,TASK_1MS,83,C,Core_1,0,idle
-83686350,TASK_1MS,83,STI,IR_SCHED_Tasks_C1,288,trigger
-83686350,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-84000000,SIM,-1,STI,TIMER-B_2ms,42,trigger
-84000000,TIMER-B_2ms,42,T,TASK_WritingActuator,42,activate
-84000000,TASK_WritingActuator,42,SCHED,SCHED_Tasks_C2,-1,processactivate
-84000100,TASK_WritingActuator,42,STI,IR_SCHED_Tasks_C2,270,trigger
-84000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-84000100,Core_2,0,T,TASK_WritingActuator,42,start
-84000100,TASK_WritingActuator,42,R,FUNC_SEMLOCK,84,start
-84000100,Core_2,0,C,Core_2,0,execute
-84000100,TASK_WritingActuator,42,C,Core_2,0,execute
-84100000,SIM,-1,STI,TIMER-5MS,42,trigger
-84100000,TIMER-5MS,42,T,TASK_5MS,42,activate
-84100000,TASK_5MS,42,SCHED,SCHED_Tasks_C2,-1,processactivate
-84100100,TASK_5MS,42,STI,IR_SCHED_Tasks_C2,271,trigger
-84100100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-84125100,TASK_WritingActuator,42,SEM,SEM_DataElement1,0,requestsemaphore,0
-84125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-84125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-84125100,Core_2,0,C,Core_2,0,lock
-84125100,TASK_WritingActuator,42,SEM,SEM_DataElement1,0,assigned,1
-84125150,TASK_WritingActuator,42,R,FUNC_SEMLOCK,84,terminate
-84125150,Core_2,0,C,Core_2,0,unlock
-84125150,TASK_WritingActuator,42,R,FUNC_WriteData,42,start
-84150000,SIM,-1,STI,TIMER-A_2ms,42,trigger
-84150000,TIMER-A_2ms,42,T,TASK_InputProcessing,42,activate
-84150000,TASK_InputProcessing,42,SCHED,SCHED_Tasks_C1,-1,processactivate
-84150100,TASK_InputProcessing,42,STI,IR_SCHED_Tasks_C1,289,trigger
-84150100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-84150100,Core_1,0,T,TASK_InputProcessing,42,start
-84150100,TASK_InputProcessing,42,R,FUNC_SEMLOCK,85,start
-84150100,Core_1,0,C,Core_1,0,execute
-84150100,TASK_InputProcessing,42,C,Core_1,0,execute
-84152325,TASK_WritingActuator,42,SIG,SIG_Mixture,0,write,0
-84152325,TASK_WritingActuator,42,R,FUNC_WriteData,42,terminate
-84152325,TASK_WritingActuator,42,R,FUNC_SEMUNLOCK,84,start
-84250000,SIM,-1,STI,TIMER-1MS,84,trigger
-84250000,TIMER-1MS,84,T,TASK_1MS,84,activate
-84250000,TASK_1MS,84,SCHED,SCHED_Tasks_C1,-1,processactivate
-84250100,TASK_1MS,84,STI,IR_SCHED_Tasks_C1,290,trigger
-84250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-84250100,TASK_InputProcessing,42,R,FUNC_SEMLOCK,85,suspend
-84250100,Core_1,0,T,TASK_InputProcessing,42,preempt
-84250100,Core_1,0,C,Core_1,0,idle_execution
-84250100,TASK_InputProcessing,42,C,Core_1,0,idle_execution
-84250100,Core_1,0,T,TASK_1MS,84,start
-84250100,TASK_1MS,84,R,FUNC_EXECTIME_1,160,start
-84250100,Core_1,0,C,Core_1,0,execute
-84250100,TASK_1MS,84,C,Core_1,0,execute
-84352325,TASK_WritingActuator,42,SEM,SEM_DataElement1,0,released,1
-84352325,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-84352325,TASK_WritingActuator,42,SCHED,SCHED_Tasks_C2,-1,schedulepoint
-84352325,Core_2,0,C,Core_2,0,lock
-84352375,TASK_WritingActuator,42,R,FUNC_SEMUNLOCK,84,terminate
-84352375,Core_2,0,T,TASK_WritingActuator,42,terminate
-84352375,TASK_WritingActuator,42,SCHED,SCHED_Tasks_C2,-1,processterminate
-84352375,Core_2,0,C,Core_2,0,unlock
-84352375,Core_2,0,C,Core_2,0,idle
-84352375,TASK_WritingActuator,42,C,Core_2,0,idle
-84352425,TASK_WritingActuator,42,STI,IR_SCHED_Tasks_C2,272,trigger
-84352425,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-84352425,Core_2,0,T,TASK_5MS,42,start
-84352425,TASK_5MS,42,R,FUNC_EXECTIME_1,159,start
-84352425,Core_2,0,C,Core_2,0,execute
-84352425,TASK_5MS,42,C,Core_2,0,execute
-84802250,TASK_5MS,42,R,FUNC_EXECTIME_1,159,terminate
-84802250,Core_2,0,T,TASK_5MS,42,terminate
-84802250,TASK_5MS,42,SCHED,SCHED_Tasks_C2,-1,processterminate
-84802250,Core_2,0,C,Core_2,0,idle
-84802250,TASK_5MS,42,C,Core_2,0,idle
-84802350,TASK_5MS,42,STI,IR_SCHED_Tasks_C2,273,trigger
-84802350,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-84888025,TASK_1MS,84,R,FUNC_EXECTIME_1,160,terminate
-84888025,Core_1,0,T,TASK_1MS,84,terminate
-84888025,TASK_1MS,84,SCHED,SCHED_Tasks_C1,-1,processterminate
-84888025,Core_1,0,C,Core_1,0,idle
-84888025,TASK_1MS,84,C,Core_1,0,idle
-84888125,TASK_1MS,84,STI,IR_SCHED_Tasks_C1,291,trigger
-84888125,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-84888125,Core_1,0,C,Core_1,0,execute_idle
-84888125,TASK_InputProcessing,42,C,Core_1,0,execute_idle
-84888125,Core_1,0,T,TASK_InputProcessing,42,resume
-84888125,TASK_InputProcessing,42,R,FUNC_SEMLOCK,85,resume
-84913125,TASK_InputProcessing,42,SEM,SEM_DataElement1,0,requestsemaphore,0
-84913125,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-84913125,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-84913125,Core_1,0,C,Core_1,0,lock
-84913125,TASK_InputProcessing,42,SEM,SEM_DataElement1,0,assigned,1
-84913175,TASK_InputProcessing,42,R,FUNC_SEMLOCK,85,terminate
-84913175,Core_1,0,C,Core_1,0,unlock
-84913175,TASK_InputProcessing,42,R,FUNC_ReadSensorData,42,start
-85000000,SIM,-1,STI,TIMER-10MS,8,trigger
-85000000,TIMER-10MS,8,T,TASK_10MS,8,activate
-85000000,TASK_10MS,8,SCHED,SCHED_Tasks_C2,-1,processactivate
-85000100,TASK_10MS,8,STI,IR_SCHED_Tasks_C2,274,trigger
-85000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-85000100,Core_2,0,T,TASK_10MS,8,start
-85000100,TASK_10MS,8,R,FUNC_EXECTIME_1,161,start
-85000100,Core_2,0,C,Core_2,0,execute
-85000100,TASK_10MS,8,C,Core_2,0,execute
-85070675,TASK_InputProcessing,42,SIG,SIG_RotationSpeed,0,read,0
-85070675,TASK_InputProcessing,42,SIG,SIG_Lambda,0,read,0
-85070675,TASK_InputProcessing,42,SIG,SIG_Temperature,0,read,0
-85070675,TASK_InputProcessing,42,R,FUNC_ReadSensorData,42,terminate
-85070675,TASK_InputProcessing,42,R,FUNC_SEMUNLOCK,85,start
-85250000,SIM,-1,STI,TIMER-1MS,85,trigger
-85250000,TIMER-1MS,85,T,TASK_1MS,85,activate
-85250000,TASK_1MS,85,SCHED,SCHED_Tasks_C1,-1,processactivate
-85250100,TASK_1MS,85,STI,IR_SCHED_Tasks_C1,292,trigger
-85250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-85264275,TASK_10MS,8,R,FUNC_EXECTIME_1,161,terminate
-85264275,Core_2,0,T,TASK_10MS,8,terminate
-85264275,TASK_10MS,8,SCHED,SCHED_Tasks_C2,-1,processterminate
-85264275,Core_2,0,C,Core_2,0,idle
-85264275,TASK_10MS,8,C,Core_2,0,idle
-85264375,TASK_10MS,8,STI,IR_SCHED_Tasks_C2,275,trigger
-85264375,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-85270675,TASK_InputProcessing,42,SEM,SEM_DataElement1,0,released,1
-85270675,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-85270675,TASK_InputProcessing,42,SCHED,SCHED_Tasks_C1,-1,schedulepoint
-85270675,Core_1,0,C,Core_1,0,lock
-85270725,TASK_InputProcessing,42,R,FUNC_SEMUNLOCK,85,terminate
-85270725,Core_1,0,C,Core_1,0,unlock
-85270725,TASK_InputProcessing,42,STI,IPA_InputReady,42,trigger
-85270725,IPA_InputReady,42,T,TASK_CalcEngineSpeed,42,activate
-85270725,TASK_CalcEngineSpeed,42,SCHED,SCHED_Tasks_C2,-1,processactivate
-85270725,Core_1,0,T,TASK_InputProcessing,42,terminate
-85270725,TASK_InputProcessing,42,SCHED,SCHED_Tasks_C1,-1,processterminate
-85270725,Core_1,0,C,Core_1,0,idle
-85270725,TASK_InputProcessing,42,C,Core_1,0,idle
-85270775,TASK_InputProcessing,42,STI,IR_SCHED_Tasks_C1,293,trigger
-85270775,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-85270775,Core_1,0,T,TASK_1MS,85,start
-85270775,TASK_1MS,85,R,FUNC_EXECTIME_1,162,start
-85270775,Core_1,0,C,Core_1,0,execute
-85270775,TASK_1MS,85,C,Core_1,0,execute
-85270825,TASK_CalcEngineSpeed,42,STI,IR_SCHED_Tasks_C2,276,trigger
-85270825,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-85270825,Core_2,0,T,TASK_CalcEngineSpeed,42,start
-85270825,TASK_CalcEngineSpeed,42,R,FUNC_ENGINESPEED,42,start
-85270825,Core_2,0,C,Core_2,0,execute
-85270825,TASK_CalcEngineSpeed,42,C,Core_2,0,execute
-85466475,TASK_CalcEngineSpeed,42,R,FUNC_ENGINESPEED,42,terminate
-85466475,Core_2,0,T,TASK_CalcEngineSpeed,42,terminate
-85466475,TASK_CalcEngineSpeed,42,SCHED,SCHED_Tasks_C2,-1,processterminate
-85466475,Core_2,0,C,Core_2,0,idle
-85466475,TASK_CalcEngineSpeed,42,C,Core_2,0,idle
-85466575,TASK_CalcEngineSpeed,42,STI,IR_SCHED_Tasks_C2,277,trigger
-85466575,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-85713200,TASK_1MS,85,R,FUNC_EXECTIME_1,162,terminate
-85713200,Core_1,0,T,TASK_1MS,85,terminate
-85713200,TASK_1MS,85,SCHED,SCHED_Tasks_C1,-1,processterminate
-85713200,Core_1,0,C,Core_1,0,idle
-85713200,TASK_1MS,85,C,Core_1,0,idle
-85713300,TASK_1MS,85,STI,IR_SCHED_Tasks_C1,294,trigger
-85713300,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-86000000,SIM,-1,STI,TIMER-B_2ms,43,trigger
-86000000,TIMER-B_2ms,43,T,TASK_WritingActuator,43,activate
-86000000,TASK_WritingActuator,43,SCHED,SCHED_Tasks_C2,-1,processactivate
-86000100,TASK_WritingActuator,43,STI,IR_SCHED_Tasks_C2,278,trigger
-86000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-86000100,Core_2,0,T,TASK_WritingActuator,43,start
-86000100,TASK_WritingActuator,43,R,FUNC_SEMLOCK,86,start
-86000100,Core_2,0,C,Core_2,0,execute
-86000100,TASK_WritingActuator,43,C,Core_2,0,execute
-86100000,SIM,-1,STI,TIMER-5MS,43,trigger
-86100000,TIMER-5MS,43,T,TASK_5MS,43,activate
-86100000,TASK_5MS,43,SCHED,SCHED_Tasks_C2,-1,processactivate
-86100100,TASK_5MS,43,STI,IR_SCHED_Tasks_C2,279,trigger
-86100100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-86125100,TASK_WritingActuator,43,SEM,SEM_DataElement1,0,requestsemaphore,0
-86125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-86125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-86125100,Core_2,0,C,Core_2,0,lock
-86125100,TASK_WritingActuator,43,SEM,SEM_DataElement1,0,assigned,1
-86125150,TASK_WritingActuator,43,R,FUNC_SEMLOCK,86,terminate
-86125150,Core_2,0,C,Core_2,0,unlock
-86125150,TASK_WritingActuator,43,R,FUNC_WriteData,43,start
-86150000,SIM,-1,STI,TIMER-A_2ms,43,trigger
-86150000,TIMER-A_2ms,43,T,TASK_InputProcessing,43,activate
-86150000,TASK_InputProcessing,43,SCHED,SCHED_Tasks_C1,-1,processactivate
-86150100,TASK_InputProcessing,43,STI,IR_SCHED_Tasks_C1,295,trigger
-86150100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-86150100,Core_1,0,T,TASK_InputProcessing,43,start
-86150100,TASK_InputProcessing,43,R,FUNC_SEMLOCK,87,start
-86150100,Core_1,0,C,Core_1,0,execute
-86150100,TASK_InputProcessing,43,C,Core_1,0,execute
-86152275,TASK_WritingActuator,43,SIG,SIG_Mixture,0,write,0
-86152275,TASK_WritingActuator,43,R,FUNC_WriteData,43,terminate
-86152275,TASK_WritingActuator,43,R,FUNC_SEMUNLOCK,86,start
-86250000,SIM,-1,STI,TIMER-1MS,86,trigger
-86250000,TIMER-1MS,86,T,TASK_1MS,86,activate
-86250000,TASK_1MS,86,SCHED,SCHED_Tasks_C1,-1,processactivate
-86250100,TASK_1MS,86,STI,IR_SCHED_Tasks_C1,296,trigger
-86250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-86250100,TASK_InputProcessing,43,R,FUNC_SEMLOCK,87,suspend
-86250100,Core_1,0,T,TASK_InputProcessing,43,preempt
-86250100,Core_1,0,C,Core_1,0,idle_execution
-86250100,TASK_InputProcessing,43,C,Core_1,0,idle_execution
-86250100,Core_1,0,T,TASK_1MS,86,start
-86250100,TASK_1MS,86,R,FUNC_EXECTIME_1,164,start
-86250100,Core_1,0,C,Core_1,0,execute
-86250100,TASK_1MS,86,C,Core_1,0,execute
-86352275,TASK_WritingActuator,43,SEM,SEM_DataElement1,0,released,1
-86352275,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-86352275,TASK_WritingActuator,43,SCHED,SCHED_Tasks_C2,-1,schedulepoint
-86352275,Core_2,0,C,Core_2,0,lock
-86352325,TASK_WritingActuator,43,R,FUNC_SEMUNLOCK,86,terminate
-86352325,Core_2,0,T,TASK_WritingActuator,43,terminate
-86352325,TASK_WritingActuator,43,SCHED,SCHED_Tasks_C2,-1,processterminate
-86352325,Core_2,0,C,Core_2,0,unlock
-86352325,Core_2,0,C,Core_2,0,idle
-86352325,TASK_WritingActuator,43,C,Core_2,0,idle
-86352375,TASK_WritingActuator,43,STI,IR_SCHED_Tasks_C2,280,trigger
-86352375,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-86352375,Core_2,0,T,TASK_5MS,43,start
-86352375,TASK_5MS,43,R,FUNC_EXECTIME_1,163,start
-86352375,Core_2,0,C,Core_2,0,execute
-86352375,TASK_5MS,43,C,Core_2,0,execute
-86765275,TASK_1MS,86,R,FUNC_EXECTIME_1,164,terminate
-86765275,Core_1,0,T,TASK_1MS,86,terminate
-86765275,TASK_1MS,86,SCHED,SCHED_Tasks_C1,-1,processterminate
-86765275,Core_1,0,C,Core_1,0,idle
-86765275,TASK_1MS,86,C,Core_1,0,idle
-86765375,TASK_1MS,86,STI,IR_SCHED_Tasks_C1,297,trigger
-86765375,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-86765375,Core_1,0,C,Core_1,0,execute_idle
-86765375,TASK_InputProcessing,43,C,Core_1,0,execute_idle
-86765375,Core_1,0,T,TASK_InputProcessing,43,resume
-86765375,TASK_InputProcessing,43,R,FUNC_SEMLOCK,87,resume
-86790375,TASK_InputProcessing,43,SEM,SEM_DataElement1,0,requestsemaphore,0
-86790375,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-86790375,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-86790375,Core_1,0,C,Core_1,0,lock
-86790375,TASK_InputProcessing,43,SEM,SEM_DataElement1,0,assigned,1
-86790425,TASK_InputProcessing,43,R,FUNC_SEMLOCK,87,terminate
-86790425,Core_1,0,C,Core_1,0,unlock
-86790425,TASK_InputProcessing,43,R,FUNC_ReadSensorData,43,start
-86817450,TASK_5MS,43,R,FUNC_EXECTIME_1,163,terminate
-86817450,Core_2,0,T,TASK_5MS,43,terminate
-86817450,TASK_5MS,43,SCHED,SCHED_Tasks_C2,-1,processterminate
-86817450,Core_2,0,C,Core_2,0,idle
-86817450,TASK_5MS,43,C,Core_2,0,idle
-86817550,TASK_5MS,43,STI,IR_SCHED_Tasks_C2,281,trigger
-86817550,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-86951750,TASK_InputProcessing,43,SIG,SIG_RotationSpeed,0,read,0
-86951750,TASK_InputProcessing,43,SIG,SIG_Lambda,0,read,0
-86951750,TASK_InputProcessing,43,SIG,SIG_Temperature,0,read,0
-86951750,TASK_InputProcessing,43,R,FUNC_ReadSensorData,43,terminate
-86951750,TASK_InputProcessing,43,R,FUNC_SEMUNLOCK,87,start
-87151750,TASK_InputProcessing,43,SEM,SEM_DataElement1,0,released,1
-87151750,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-87151750,TASK_InputProcessing,43,SCHED,SCHED_Tasks_C1,-1,schedulepoint
-87151750,Core_1,0,C,Core_1,0,lock
-87151800,TASK_InputProcessing,43,R,FUNC_SEMUNLOCK,87,terminate
-87151800,Core_1,0,C,Core_1,0,unlock
-87151800,TASK_InputProcessing,43,STI,IPA_InputReady,43,trigger
-87151800,IPA_InputReady,43,T,TASK_CalcEngineSpeed,43,activate
-87151800,TASK_CalcEngineSpeed,43,SCHED,SCHED_Tasks_C2,-1,processactivate
-87151800,Core_1,0,T,TASK_InputProcessing,43,terminate
-87151800,TASK_InputProcessing,43,SCHED,SCHED_Tasks_C1,-1,processterminate
-87151800,Core_1,0,C,Core_1,0,idle
-87151800,TASK_InputProcessing,43,C,Core_1,0,idle
-87151850,TASK_InputProcessing,43,STI,IR_SCHED_Tasks_C1,298,trigger
-87151850,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-87151900,TASK_CalcEngineSpeed,43,STI,IR_SCHED_Tasks_C2,282,trigger
-87151900,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-87151900,Core_2,0,T,TASK_CalcEngineSpeed,43,start
-87151900,TASK_CalcEngineSpeed,43,R,FUNC_ENGINESPEED,43,start
-87151900,Core_2,0,C,Core_2,0,execute
-87151900,TASK_CalcEngineSpeed,43,C,Core_2,0,execute
-87250000,SIM,-1,STI,TIMER-1MS,87,trigger
-87250000,TIMER-1MS,87,T,TASK_1MS,87,activate
-87250000,TASK_1MS,87,SCHED,SCHED_Tasks_C1,-1,processactivate
-87250100,TASK_1MS,87,STI,IR_SCHED_Tasks_C1,299,trigger
-87250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-87250100,Core_1,0,T,TASK_1MS,87,start
-87250100,TASK_1MS,87,R,FUNC_EXECTIME_1,165,start
-87250100,Core_1,0,C,Core_1,0,execute
-87250100,TASK_1MS,87,C,Core_1,0,execute
-87384475,TASK_CalcEngineSpeed,43,R,FUNC_ENGINESPEED,43,terminate
-87384475,Core_2,0,T,TASK_CalcEngineSpeed,43,terminate
-87384475,TASK_CalcEngineSpeed,43,SCHED,SCHED_Tasks_C2,-1,processterminate
-87384475,Core_2,0,C,Core_2,0,idle
-87384475,TASK_CalcEngineSpeed,43,C,Core_2,0,idle
-87384575,TASK_CalcEngineSpeed,43,STI,IR_SCHED_Tasks_C2,283,trigger
-87384575,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-87619175,TASK_1MS,87,R,FUNC_EXECTIME_1,165,terminate
-87619175,Core_1,0,T,TASK_1MS,87,terminate
-87619175,TASK_1MS,87,SCHED,SCHED_Tasks_C1,-1,processterminate
-87619175,Core_1,0,C,Core_1,0,idle
-87619175,TASK_1MS,87,C,Core_1,0,idle
-87619275,TASK_1MS,87,STI,IR_SCHED_Tasks_C1,300,trigger
-87619275,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-88000000,SIM,-1,STI,TIMER-B_2ms,44,trigger
-88000000,TIMER-B_2ms,44,T,TASK_WritingActuator,44,activate
-88000000,TASK_WritingActuator,44,SCHED,SCHED_Tasks_C2,-1,processactivate
-88000100,TASK_WritingActuator,44,STI,IR_SCHED_Tasks_C2,284,trigger
-88000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-88000100,Core_2,0,T,TASK_WritingActuator,44,start
-88000100,TASK_WritingActuator,44,R,FUNC_SEMLOCK,88,start
-88000100,Core_2,0,C,Core_2,0,execute
-88000100,TASK_WritingActuator,44,C,Core_2,0,execute
-88100000,SIM,-1,STI,TIMER-5MS,44,trigger
-88100000,TIMER-5MS,44,T,TASK_5MS,44,activate
-88100000,TASK_5MS,44,SCHED,SCHED_Tasks_C2,-1,processactivate
-88100100,TASK_5MS,44,STI,IR_SCHED_Tasks_C2,285,trigger
-88100100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-88125100,TASK_WritingActuator,44,SEM,SEM_DataElement1,0,requestsemaphore,0
-88125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-88125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-88125100,Core_2,0,C,Core_2,0,lock
-88125100,TASK_WritingActuator,44,SEM,SEM_DataElement1,0,assigned,1
-88125150,TASK_WritingActuator,44,R,FUNC_SEMLOCK,88,terminate
-88125150,Core_2,0,C,Core_2,0,unlock
-88125150,TASK_WritingActuator,44,R,FUNC_WriteData,44,start
-88150000,SIM,-1,STI,TIMER-A_2ms,44,trigger
-88150000,TIMER-A_2ms,44,T,TASK_InputProcessing,44,activate
-88150000,TASK_InputProcessing,44,SCHED,SCHED_Tasks_C1,-1,processactivate
-88150100,TASK_InputProcessing,44,STI,IR_SCHED_Tasks_C1,301,trigger
-88150100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-88150100,Core_1,0,T,TASK_InputProcessing,44,start
-88150100,TASK_InputProcessing,44,R,FUNC_SEMLOCK,89,start
-88150100,Core_1,0,C,Core_1,0,execute
-88150100,TASK_InputProcessing,44,C,Core_1,0,execute
-88152275,TASK_WritingActuator,44,SIG,SIG_Mixture,0,write,0
-88152275,TASK_WritingActuator,44,R,FUNC_WriteData,44,terminate
-88152275,TASK_WritingActuator,44,R,FUNC_SEMUNLOCK,88,start
-88250000,SIM,-1,STI,TIMER-1MS,88,trigger
-88250000,TIMER-1MS,88,T,TASK_1MS,88,activate
-88250000,TASK_1MS,88,SCHED,SCHED_Tasks_C1,-1,processactivate
-88250100,TASK_1MS,88,STI,IR_SCHED_Tasks_C1,302,trigger
-88250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-88250100,TASK_InputProcessing,44,R,FUNC_SEMLOCK,89,suspend
-88250100,Core_1,0,T,TASK_InputProcessing,44,preempt
-88250100,Core_1,0,C,Core_1,0,idle_execution
-88250100,TASK_InputProcessing,44,C,Core_1,0,idle_execution
-88250100,Core_1,0,T,TASK_1MS,88,start
-88250100,TASK_1MS,88,R,FUNC_EXECTIME_1,167,start
-88250100,Core_1,0,C,Core_1,0,execute
-88250100,TASK_1MS,88,C,Core_1,0,execute
-88352275,TASK_WritingActuator,44,SEM,SEM_DataElement1,0,released,1
-88352275,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-88352275,TASK_WritingActuator,44,SCHED,SCHED_Tasks_C2,-1,schedulepoint
-88352275,Core_2,0,C,Core_2,0,lock
-88352325,TASK_WritingActuator,44,R,FUNC_SEMUNLOCK,88,terminate
-88352325,Core_2,0,T,TASK_WritingActuator,44,terminate
-88352325,TASK_WritingActuator,44,SCHED,SCHED_Tasks_C2,-1,processterminate
-88352325,Core_2,0,C,Core_2,0,unlock
-88352325,Core_2,0,C,Core_2,0,idle
-88352325,TASK_WritingActuator,44,C,Core_2,0,idle
-88352375,TASK_WritingActuator,44,STI,IR_SCHED_Tasks_C2,286,trigger
-88352375,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-88352375,Core_2,0,T,TASK_5MS,44,start
-88352375,TASK_5MS,44,R,FUNC_EXECTIME_1,166,start
-88352375,Core_2,0,C,Core_2,0,execute
-88352375,TASK_5MS,44,C,Core_2,0,execute
-88646175,TASK_1MS,88,R,FUNC_EXECTIME_1,167,terminate
-88646175,Core_1,0,T,TASK_1MS,88,terminate
-88646175,TASK_1MS,88,SCHED,SCHED_Tasks_C1,-1,processterminate
-88646175,Core_1,0,C,Core_1,0,idle
-88646175,TASK_1MS,88,C,Core_1,0,idle
-88646275,TASK_1MS,88,STI,IR_SCHED_Tasks_C1,303,trigger
-88646275,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-88646275,Core_1,0,C,Core_1,0,execute_idle
-88646275,TASK_InputProcessing,44,C,Core_1,0,execute_idle
-88646275,Core_1,0,T,TASK_InputProcessing,44,resume
-88646275,TASK_InputProcessing,44,R,FUNC_SEMLOCK,89,resume
-88671275,TASK_InputProcessing,44,SEM,SEM_DataElement1,0,requestsemaphore,0
-88671275,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-88671275,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-88671275,Core_1,0,C,Core_1,0,lock
-88671275,TASK_InputProcessing,44,SEM,SEM_DataElement1,0,assigned,1
-88671325,TASK_InputProcessing,44,R,FUNC_SEMLOCK,89,terminate
-88671325,Core_1,0,C,Core_1,0,unlock
-88671325,TASK_InputProcessing,44,R,FUNC_ReadSensorData,44,start
-88828375,TASK_InputProcessing,44,SIG,SIG_RotationSpeed,0,read,0
-88828375,TASK_InputProcessing,44,SIG,SIG_Lambda,0,read,0
-88828375,TASK_InputProcessing,44,SIG,SIG_Temperature,0,read,0
-88828375,TASK_InputProcessing,44,R,FUNC_ReadSensorData,44,terminate
-88828375,TASK_InputProcessing,44,R,FUNC_SEMUNLOCK,89,start
-89028375,TASK_InputProcessing,44,SEM,SEM_DataElement1,0,released,1
-89028375,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-89028375,TASK_InputProcessing,44,SCHED,SCHED_Tasks_C1,-1,schedulepoint
-89028375,Core_1,0,C,Core_1,0,lock
-89028425,TASK_InputProcessing,44,R,FUNC_SEMUNLOCK,89,terminate
-89028425,Core_1,0,C,Core_1,0,unlock
-89028425,TASK_InputProcessing,44,STI,IPA_InputReady,44,trigger
-89028425,IPA_InputReady,44,T,TASK_CalcEngineSpeed,44,activate
-89028425,TASK_CalcEngineSpeed,44,SCHED,SCHED_Tasks_C2,-1,processactivate
-89028425,Core_1,0,T,TASK_InputProcessing,44,terminate
-89028425,TASK_InputProcessing,44,SCHED,SCHED_Tasks_C1,-1,processterminate
-89028425,Core_1,0,C,Core_1,0,idle
-89028425,TASK_InputProcessing,44,C,Core_1,0,idle
-89028475,TASK_InputProcessing,44,STI,IR_SCHED_Tasks_C1,304,trigger
-89028475,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-89028525,TASK_CalcEngineSpeed,44,STI,IR_SCHED_Tasks_C2,287,trigger
-89028525,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-89028525,TASK_5MS,44,R,FUNC_EXECTIME_1,166,suspend
-89028525,Core_2,0,T,TASK_5MS,44,preempt
-89028525,Core_2,0,C,Core_2,0,idle_execution
-89028525,TASK_5MS,44,C,Core_2,0,idle_execution
-89028525,Core_2,0,T,TASK_CalcEngineSpeed,44,start
-89028525,TASK_CalcEngineSpeed,44,R,FUNC_ENGINESPEED,44,start
-89028525,Core_2,0,C,Core_2,0,execute
-89028525,TASK_CalcEngineSpeed,44,C,Core_2,0,execute
-89168400,TASK_CalcEngineSpeed,44,R,FUNC_ENGINESPEED,44,terminate
-89168400,Core_2,0,T,TASK_CalcEngineSpeed,44,terminate
-89168400,TASK_CalcEngineSpeed,44,SCHED,SCHED_Tasks_C2,-1,processterminate
-89168400,Core_2,0,C,Core_2,0,idle
-89168400,TASK_CalcEngineSpeed,44,C,Core_2,0,idle
-89168500,TASK_CalcEngineSpeed,44,STI,IR_SCHED_Tasks_C2,288,trigger
-89168500,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-89168500,Core_2,0,C,Core_2,0,execute_idle
-89168500,TASK_5MS,44,C,Core_2,0,execute_idle
-89168500,Core_2,0,T,TASK_5MS,44,resume
-89168500,TASK_5MS,44,R,FUNC_EXECTIME_1,166,resume
-89250000,SIM,-1,STI,TIMER-1MS,89,trigger
-89250000,TIMER-1MS,89,T,TASK_1MS,89,activate
-89250000,TASK_1MS,89,SCHED,SCHED_Tasks_C1,-1,processactivate
-89250100,TASK_1MS,89,STI,IR_SCHED_Tasks_C1,305,trigger
-89250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-89250100,Core_1,0,T,TASK_1MS,89,start
-89250100,TASK_1MS,89,R,FUNC_EXECTIME_1,168,start
-89250100,Core_1,0,C,Core_1,0,execute
-89250100,TASK_1MS,89,C,Core_1,0,execute
-89377675,TASK_5MS,44,R,FUNC_EXECTIME_1,166,terminate
-89377675,Core_2,0,T,TASK_5MS,44,terminate
-89377675,TASK_5MS,44,SCHED,SCHED_Tasks_C2,-1,processterminate
-89377675,Core_2,0,C,Core_2,0,idle
-89377675,TASK_5MS,44,C,Core_2,0,idle
-89377775,TASK_5MS,44,STI,IR_SCHED_Tasks_C2,289,trigger
-89377775,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-89632100,TASK_1MS,89,R,FUNC_EXECTIME_1,168,terminate
-89632100,Core_1,0,T,TASK_1MS,89,terminate
-89632100,TASK_1MS,89,SCHED,SCHED_Tasks_C1,-1,processterminate
-89632100,Core_1,0,C,Core_1,0,idle
-89632100,TASK_1MS,89,C,Core_1,0,idle
-89632200,TASK_1MS,89,STI,IR_SCHED_Tasks_C1,306,trigger
-89632200,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-90000000,SIM,-1,STI,TIMER-B_2ms,45,trigger
-90000000,TIMER-B_2ms,45,T,TASK_WritingActuator,45,activate
-90000000,TASK_WritingActuator,45,SCHED,SCHED_Tasks_C2,-1,processactivate
-90000000,SIM,-1,STI,TIMER-10MS_2,9,trigger
-90000000,TIMER-10MS_2,9,T,TASK_10MS_DL2,9,activate
-90000000,TASK_10MS_DL2,9,SCHED,SCHED_Tasks_C1,-1,processactivate
-90000100,TASK_WritingActuator,45,STI,IR_SCHED_Tasks_C2,290,trigger
-90000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-90000100,Core_2,0,T,TASK_WritingActuator,45,start
-90000100,TASK_WritingActuator,45,R,FUNC_SEMLOCK,90,start
-90000100,Core_2,0,C,Core_2,0,execute
-90000100,TASK_WritingActuator,45,C,Core_2,0,execute
-90000100,TASK_10MS_DL2,9,STI,IR_SCHED_Tasks_C1,307,trigger
-90000100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-90000100,Core_1,0,T,TASK_10MS_DL2,9,start
-90000100,TASK_10MS_DL2,9,R,FUNC_EXECTIME_1,169,start
-90000100,Core_1,0,C,Core_1,0,execute
-90000100,TASK_10MS_DL2,9,C,Core_1,0,execute
-90100000,SIM,-1,STI,TIMER-5MS,45,trigger
-90100000,TIMER-5MS,45,T,TASK_5MS,45,activate
-90100000,TASK_5MS,45,SCHED,SCHED_Tasks_C2,-1,processactivate
-90100100,TASK_5MS,45,STI,IR_SCHED_Tasks_C2,291,trigger
-90100100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-90125100,TASK_WritingActuator,45,SEM,SEM_DataElement1,0,requestsemaphore,0
-90125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-90125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-90125100,Core_2,0,C,Core_2,0,lock
-90125100,TASK_WritingActuator,45,SEM,SEM_DataElement1,0,assigned,1
-90125150,TASK_WritingActuator,45,R,FUNC_SEMLOCK,90,terminate
-90125150,Core_2,0,C,Core_2,0,unlock
-90125150,TASK_WritingActuator,45,R,FUNC_WriteData,45,start
-90150000,SIM,-1,STI,TIMER-A_2ms,45,trigger
-90150000,TIMER-A_2ms,45,T,TASK_InputProcessing,45,activate
-90150000,TASK_InputProcessing,45,SCHED,SCHED_Tasks_C1,-1,processactivate
-90150100,TASK_InputProcessing,45,STI,IR_SCHED_Tasks_C1,308,trigger
-90150100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-90152625,TASK_WritingActuator,45,SIG,SIG_Mixture,0,write,0
-90152625,TASK_WritingActuator,45,R,FUNC_WriteData,45,terminate
-90152625,TASK_WritingActuator,45,R,FUNC_SEMUNLOCK,90,start
-90250000,SIM,-1,STI,TIMER-1MS,90,trigger
-90250000,TIMER-1MS,90,T,TASK_1MS,90,activate
-90250000,TASK_1MS,90,SCHED,SCHED_Tasks_C1,-1,processactivate
-90250100,TASK_1MS,90,STI,IR_SCHED_Tasks_C1,309,trigger
-90250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-90250100,TASK_10MS_DL2,9,R,FUNC_EXECTIME_1,169,suspend
-90250100,Core_1,0,T,TASK_10MS_DL2,9,preempt
-90250100,Core_1,0,C,Core_1,0,idle_execution
-90250100,TASK_10MS_DL2,9,C,Core_1,0,idle_execution
-90250100,Core_1,0,T,TASK_1MS,90,start
-90250100,TASK_1MS,90,R,FUNC_EXECTIME_1,171,start
-90250100,Core_1,0,C,Core_1,0,execute
-90250100,TASK_1MS,90,C,Core_1,0,execute
-90352625,TASK_WritingActuator,45,SEM,SEM_DataElement1,0,released,1
-90352625,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-90352625,TASK_WritingActuator,45,SCHED,SCHED_Tasks_C2,-1,schedulepoint
-90352625,Core_2,0,C,Core_2,0,lock
-90352675,TASK_WritingActuator,45,R,FUNC_SEMUNLOCK,90,terminate
-90352675,Core_2,0,T,TASK_WritingActuator,45,terminate
-90352675,TASK_WritingActuator,45,SCHED,SCHED_Tasks_C2,-1,processterminate
-90352675,Core_2,0,C,Core_2,0,unlock
-90352675,Core_2,0,C,Core_2,0,idle
-90352675,TASK_WritingActuator,45,C,Core_2,0,idle
-90352725,TASK_WritingActuator,45,STI,IR_SCHED_Tasks_C2,292,trigger
-90352725,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-90352725,Core_2,0,T,TASK_5MS,45,start
-90352725,TASK_5MS,45,R,FUNC_EXECTIME_1,170,start
-90352725,Core_2,0,C,Core_2,0,execute
-90352725,TASK_5MS,45,C,Core_2,0,execute
-90674075,TASK_1MS,90,R,FUNC_EXECTIME_1,171,terminate
-90674075,Core_1,0,T,TASK_1MS,90,terminate
-90674075,TASK_1MS,90,SCHED,SCHED_Tasks_C1,-1,processterminate
-90674075,Core_1,0,C,Core_1,0,idle
-90674075,TASK_1MS,90,C,Core_1,0,idle
-90674175,TASK_1MS,90,STI,IR_SCHED_Tasks_C1,310,trigger
-90674175,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-90674175,Core_1,0,C,Core_1,0,execute_idle
-90674175,TASK_10MS_DL2,9,C,Core_1,0,execute_idle
-90674175,Core_1,0,T,TASK_10MS_DL2,9,resume
-90674175,TASK_10MS_DL2,9,R,FUNC_EXECTIME_1,169,resume
-90801325,TASK_10MS_DL2,9,R,FUNC_EXECTIME_1,169,terminate
-90801325,Core_1,0,T,TASK_10MS_DL2,9,terminate
-90801325,TASK_10MS_DL2,9,SCHED,SCHED_Tasks_C1,-1,processterminate
-90801325,Core_1,0,C,Core_1,0,idle
-90801325,TASK_10MS_DL2,9,C,Core_1,0,idle
-90801425,TASK_10MS_DL2,9,STI,IR_SCHED_Tasks_C1,311,trigger
-90801425,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-90801425,Core_1,0,T,TASK_InputProcessing,45,start
-90801425,TASK_InputProcessing,45,R,FUNC_SEMLOCK,91,start
-90801425,Core_1,0,C,Core_1,0,execute
-90801425,TASK_InputProcessing,45,C,Core_1,0,execute
-90829975,TASK_5MS,45,R,FUNC_EXECTIME_1,170,terminate
-90829975,Core_2,0,T,TASK_5MS,45,terminate
-90829975,TASK_5MS,45,SCHED,SCHED_Tasks_C2,-1,processterminate
-90829975,Core_2,0,C,Core_2,0,idle
-90829975,TASK_5MS,45,C,Core_2,0,idle
-90830075,TASK_5MS,45,STI,IR_SCHED_Tasks_C2,293,trigger
-90830075,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-90926425,TASK_InputProcessing,45,SEM,SEM_DataElement1,0,requestsemaphore,0
-90926425,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-90926425,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-90926425,Core_1,0,C,Core_1,0,lock
-90926425,TASK_InputProcessing,45,SEM,SEM_DataElement1,0,assigned,1
-90926475,TASK_InputProcessing,45,R,FUNC_SEMLOCK,91,terminate
-90926475,Core_1,0,C,Core_1,0,unlock
-90926475,TASK_InputProcessing,45,R,FUNC_ReadSensorData,45,start
-91090550,TASK_InputProcessing,45,SIG,SIG_RotationSpeed,0,read,0
-91090550,TASK_InputProcessing,45,SIG,SIG_Lambda,0,read,0
-91090550,TASK_InputProcessing,45,SIG,SIG_Temperature,0,read,0
-91090550,TASK_InputProcessing,45,R,FUNC_ReadSensorData,45,terminate
-91090550,TASK_InputProcessing,45,R,FUNC_SEMUNLOCK,91,start
-91250000,SIM,-1,STI,TIMER-1MS,91,trigger
-91250000,TIMER-1MS,91,T,TASK_1MS,91,activate
-91250000,TASK_1MS,91,SCHED,SCHED_Tasks_C1,-1,processactivate
-91250100,TASK_1MS,91,STI,IR_SCHED_Tasks_C1,312,trigger
-91250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-91290550,TASK_InputProcessing,45,SEM,SEM_DataElement1,0,released,1
-91290550,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-91290550,TASK_InputProcessing,45,SCHED,SCHED_Tasks_C1,-1,schedulepoint
-91290550,Core_1,0,C,Core_1,0,lock
-91290600,TASK_InputProcessing,45,R,FUNC_SEMUNLOCK,91,terminate
-91290600,Core_1,0,C,Core_1,0,unlock
-91290600,TASK_InputProcessing,45,STI,IPA_InputReady,45,trigger
-91290600,IPA_InputReady,45,T,TASK_CalcEngineSpeed,45,activate
-91290600,TASK_CalcEngineSpeed,45,SCHED,SCHED_Tasks_C2,-1,processactivate
-91290600,Core_1,0,T,TASK_InputProcessing,45,terminate
-91290600,TASK_InputProcessing,45,SCHED,SCHED_Tasks_C1,-1,processterminate
-91290600,Core_1,0,C,Core_1,0,idle
-91290600,TASK_InputProcessing,45,C,Core_1,0,idle
-91290650,TASK_InputProcessing,45,STI,IR_SCHED_Tasks_C1,313,trigger
-91290650,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-91290650,Core_1,0,T,TASK_1MS,91,start
-91290650,TASK_1MS,91,R,FUNC_EXECTIME_1,172,start
-91290650,Core_1,0,C,Core_1,0,execute
-91290650,TASK_1MS,91,C,Core_1,0,execute
-91290700,TASK_CalcEngineSpeed,45,STI,IR_SCHED_Tasks_C2,294,trigger
-91290700,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-91290700,Core_2,0,T,TASK_CalcEngineSpeed,45,start
-91290700,TASK_CalcEngineSpeed,45,R,FUNC_ENGINESPEED,45,start
-91290700,Core_2,0,C,Core_2,0,execute
-91290700,TASK_CalcEngineSpeed,45,C,Core_2,0,execute
-91399175,TASK_CalcEngineSpeed,45,R,FUNC_ENGINESPEED,45,terminate
-91399175,Core_2,0,T,TASK_CalcEngineSpeed,45,terminate
-91399175,TASK_CalcEngineSpeed,45,SCHED,SCHED_Tasks_C2,-1,processterminate
-91399175,Core_2,0,C,Core_2,0,idle
-91399175,TASK_CalcEngineSpeed,45,C,Core_2,0,idle
-91399275,TASK_CalcEngineSpeed,45,STI,IR_SCHED_Tasks_C2,295,trigger
-91399275,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-91607000,TASK_1MS,91,R,FUNC_EXECTIME_1,172,terminate
-91607000,Core_1,0,T,TASK_1MS,91,terminate
-91607000,TASK_1MS,91,SCHED,SCHED_Tasks_C1,-1,processterminate
-91607000,Core_1,0,C,Core_1,0,idle
-91607000,TASK_1MS,91,C,Core_1,0,idle
-91607100,TASK_1MS,91,STI,IR_SCHED_Tasks_C1,314,trigger
-91607100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-92000000,SIM,-1,STI,TIMER-B_2ms,46,trigger
-92000000,TIMER-B_2ms,46,T,TASK_WritingActuator,46,activate
-92000000,TASK_WritingActuator,46,SCHED,SCHED_Tasks_C2,-1,processactivate
-92000100,TASK_WritingActuator,46,STI,IR_SCHED_Tasks_C2,296,trigger
-92000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-92000100,Core_2,0,T,TASK_WritingActuator,46,start
-92000100,TASK_WritingActuator,46,R,FUNC_SEMLOCK,92,start
-92000100,Core_2,0,C,Core_2,0,execute
-92000100,TASK_WritingActuator,46,C,Core_2,0,execute
-92100000,SIM,-1,STI,TIMER-5MS,46,trigger
-92100000,TIMER-5MS,46,T,TASK_5MS,46,activate
-92100000,TASK_5MS,46,SCHED,SCHED_Tasks_C2,-1,processactivate
-92100100,TASK_5MS,46,STI,IR_SCHED_Tasks_C2,297,trigger
-92100100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-92125100,TASK_WritingActuator,46,SEM,SEM_DataElement1,0,requestsemaphore,0
-92125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-92125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-92125100,Core_2,0,C,Core_2,0,lock
-92125100,TASK_WritingActuator,46,SEM,SEM_DataElement1,0,assigned,1
-92125150,TASK_WritingActuator,46,R,FUNC_SEMLOCK,92,terminate
-92125150,Core_2,0,C,Core_2,0,unlock
-92125150,TASK_WritingActuator,46,R,FUNC_WriteData,46,start
-92150000,SIM,-1,STI,TIMER-A_2ms,46,trigger
-92150000,TIMER-A_2ms,46,T,TASK_InputProcessing,46,activate
-92150000,TASK_InputProcessing,46,SCHED,SCHED_Tasks_C1,-1,processactivate
-92150100,TASK_InputProcessing,46,STI,IR_SCHED_Tasks_C1,315,trigger
-92150100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-92150100,Core_1,0,T,TASK_InputProcessing,46,start
-92150100,TASK_InputProcessing,46,R,FUNC_SEMLOCK,93,start
-92150100,Core_1,0,C,Core_1,0,execute
-92150100,TASK_InputProcessing,46,C,Core_1,0,execute
-92152375,TASK_WritingActuator,46,SIG,SIG_Mixture,0,write,0
-92152375,TASK_WritingActuator,46,R,FUNC_WriteData,46,terminate
-92152375,TASK_WritingActuator,46,R,FUNC_SEMUNLOCK,92,start
-92250000,SIM,-1,STI,TIMER-1MS,92,trigger
-92250000,TIMER-1MS,92,T,TASK_1MS,92,activate
-92250000,TASK_1MS,92,SCHED,SCHED_Tasks_C1,-1,processactivate
-92250100,TASK_1MS,92,STI,IR_SCHED_Tasks_C1,316,trigger
-92250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-92250100,TASK_InputProcessing,46,R,FUNC_SEMLOCK,93,suspend
-92250100,Core_1,0,T,TASK_InputProcessing,46,preempt
-92250100,Core_1,0,C,Core_1,0,idle_execution
-92250100,TASK_InputProcessing,46,C,Core_1,0,idle_execution
-92250100,Core_1,0,T,TASK_1MS,92,start
-92250100,TASK_1MS,92,R,FUNC_EXECTIME_1,174,start
-92250100,Core_1,0,C,Core_1,0,execute
-92250100,TASK_1MS,92,C,Core_1,0,execute
-92352375,TASK_WritingActuator,46,SEM,SEM_DataElement1,0,released,1
-92352375,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-92352375,TASK_WritingActuator,46,SCHED,SCHED_Tasks_C2,-1,schedulepoint
-92352375,Core_2,0,C,Core_2,0,lock
-92352425,TASK_WritingActuator,46,R,FUNC_SEMUNLOCK,92,terminate
-92352425,Core_2,0,T,TASK_WritingActuator,46,terminate
-92352425,TASK_WritingActuator,46,SCHED,SCHED_Tasks_C2,-1,processterminate
-92352425,Core_2,0,C,Core_2,0,unlock
-92352425,Core_2,0,C,Core_2,0,idle
-92352425,TASK_WritingActuator,46,C,Core_2,0,idle
-92352475,TASK_WritingActuator,46,STI,IR_SCHED_Tasks_C2,298,trigger
-92352475,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-92352475,Core_2,0,T,TASK_5MS,46,start
-92352475,TASK_5MS,46,R,FUNC_EXECTIME_1,173,start
-92352475,Core_2,0,C,Core_2,0,execute
-92352475,TASK_5MS,46,C,Core_2,0,execute
-92617400,TASK_1MS,92,R,FUNC_EXECTIME_1,174,terminate
-92617400,Core_1,0,T,TASK_1MS,92,terminate
-92617400,TASK_1MS,92,SCHED,SCHED_Tasks_C1,-1,processterminate
-92617400,Core_1,0,C,Core_1,0,idle
-92617400,TASK_1MS,92,C,Core_1,0,idle
-92617500,TASK_1MS,92,STI,IR_SCHED_Tasks_C1,317,trigger
-92617500,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-92617500,Core_1,0,C,Core_1,0,execute_idle
-92617500,TASK_InputProcessing,46,C,Core_1,0,execute_idle
-92617500,Core_1,0,T,TASK_InputProcessing,46,resume
-92617500,TASK_InputProcessing,46,R,FUNC_SEMLOCK,93,resume
-92642500,TASK_InputProcessing,46,SEM,SEM_DataElement1,0,requestsemaphore,0
-92642500,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-92642500,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-92642500,Core_1,0,C,Core_1,0,lock
-92642500,TASK_InputProcessing,46,SEM,SEM_DataElement1,0,assigned,1
-92642550,TASK_InputProcessing,46,R,FUNC_SEMLOCK,93,terminate
-92642550,Core_1,0,C,Core_1,0,unlock
-92642550,TASK_InputProcessing,46,R,FUNC_ReadSensorData,46,start
-92800725,TASK_InputProcessing,46,SIG,SIG_RotationSpeed,0,read,0
-92800725,TASK_InputProcessing,46,SIG,SIG_Lambda,0,read,0
-92800725,TASK_InputProcessing,46,SIG,SIG_Temperature,0,read,0
-92800725,TASK_InputProcessing,46,R,FUNC_ReadSensorData,46,terminate
-92800725,TASK_InputProcessing,46,R,FUNC_SEMUNLOCK,93,start
-92877150,TASK_5MS,46,R,FUNC_EXECTIME_1,173,terminate
-92877150,Core_2,0,T,TASK_5MS,46,terminate
-92877150,TASK_5MS,46,SCHED,SCHED_Tasks_C2,-1,processterminate
-92877150,Core_2,0,C,Core_2,0,idle
-92877150,TASK_5MS,46,C,Core_2,0,idle
-92877250,TASK_5MS,46,STI,IR_SCHED_Tasks_C2,299,trigger
-92877250,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-93000725,TASK_InputProcessing,46,SEM,SEM_DataElement1,0,released,1
-93000725,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-93000725,TASK_InputProcessing,46,SCHED,SCHED_Tasks_C1,-1,schedulepoint
-93000725,Core_1,0,C,Core_1,0,lock
-93000775,TASK_InputProcessing,46,R,FUNC_SEMUNLOCK,93,terminate
-93000775,Core_1,0,C,Core_1,0,unlock
-93000775,TASK_InputProcessing,46,STI,IPA_InputReady,46,trigger
-93000775,IPA_InputReady,46,T,TASK_CalcEngineSpeed,46,activate
-93000775,TASK_CalcEngineSpeed,46,SCHED,SCHED_Tasks_C2,-1,processactivate
-93000775,Core_1,0,T,TASK_InputProcessing,46,terminate
-93000775,TASK_InputProcessing,46,SCHED,SCHED_Tasks_C1,-1,processterminate
-93000775,Core_1,0,C,Core_1,0,idle
-93000775,TASK_InputProcessing,46,C,Core_1,0,idle
-93000825,TASK_InputProcessing,46,STI,IR_SCHED_Tasks_C1,318,trigger
-93000825,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-93000875,TASK_CalcEngineSpeed,46,STI,IR_SCHED_Tasks_C2,300,trigger
-93000875,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-93000875,Core_2,0,T,TASK_CalcEngineSpeed,46,start
-93000875,TASK_CalcEngineSpeed,46,R,FUNC_ENGINESPEED,46,start
-93000875,Core_2,0,C,Core_2,0,execute
-93000875,TASK_CalcEngineSpeed,46,C,Core_2,0,execute
-93226475,TASK_CalcEngineSpeed,46,R,FUNC_ENGINESPEED,46,terminate
-93226475,Core_2,0,T,TASK_CalcEngineSpeed,46,terminate
-93226475,TASK_CalcEngineSpeed,46,SCHED,SCHED_Tasks_C2,-1,processterminate
-93226475,Core_2,0,C,Core_2,0,idle
-93226475,TASK_CalcEngineSpeed,46,C,Core_2,0,idle
-93226575,TASK_CalcEngineSpeed,46,STI,IR_SCHED_Tasks_C2,301,trigger
-93226575,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-93250000,SIM,-1,STI,TIMER-1MS,93,trigger
-93250000,TIMER-1MS,93,T,TASK_1MS,93,activate
-93250000,TASK_1MS,93,SCHED,SCHED_Tasks_C1,-1,processactivate
-93250100,TASK_1MS,93,STI,IR_SCHED_Tasks_C1,319,trigger
-93250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-93250100,Core_1,0,T,TASK_1MS,93,start
-93250100,TASK_1MS,93,R,FUNC_EXECTIME_1,175,start
-93250100,Core_1,0,C,Core_1,0,execute
-93250100,TASK_1MS,93,C,Core_1,0,execute
-93789825,TASK_1MS,93,R,FUNC_EXECTIME_1,175,terminate
-93789825,Core_1,0,T,TASK_1MS,93,terminate
-93789825,TASK_1MS,93,SCHED,SCHED_Tasks_C1,-1,processterminate
-93789825,Core_1,0,C,Core_1,0,idle
-93789825,TASK_1MS,93,C,Core_1,0,idle
-93789925,TASK_1MS,93,STI,IR_SCHED_Tasks_C1,320,trigger
-93789925,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-94000000,SIM,-1,STI,TIMER-B_2ms,47,trigger
-94000000,TIMER-B_2ms,47,T,TASK_WritingActuator,47,activate
-94000000,TASK_WritingActuator,47,SCHED,SCHED_Tasks_C2,-1,processactivate
-94000100,TASK_WritingActuator,47,STI,IR_SCHED_Tasks_C2,302,trigger
-94000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-94000100,Core_2,0,T,TASK_WritingActuator,47,start
-94000100,TASK_WritingActuator,47,R,FUNC_SEMLOCK,94,start
-94000100,Core_2,0,C,Core_2,0,execute
-94000100,TASK_WritingActuator,47,C,Core_2,0,execute
-94100000,SIM,-1,STI,TIMER-5MS,47,trigger
-94100000,TIMER-5MS,47,T,TASK_5MS,47,activate
-94100000,TASK_5MS,47,SCHED,SCHED_Tasks_C2,-1,processactivate
-94100100,TASK_5MS,47,STI,IR_SCHED_Tasks_C2,303,trigger
-94100100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-94125100,TASK_WritingActuator,47,SEM,SEM_DataElement1,0,requestsemaphore,0
-94125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-94125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-94125100,Core_2,0,C,Core_2,0,lock
-94125100,TASK_WritingActuator,47,SEM,SEM_DataElement1,0,assigned,1
-94125150,TASK_WritingActuator,47,R,FUNC_SEMLOCK,94,terminate
-94125150,Core_2,0,C,Core_2,0,unlock
-94125150,TASK_WritingActuator,47,R,FUNC_WriteData,47,start
-94150000,SIM,-1,STI,TIMER-A_2ms,47,trigger
-94150000,TIMER-A_2ms,47,T,TASK_InputProcessing,47,activate
-94150000,TASK_InputProcessing,47,SCHED,SCHED_Tasks_C1,-1,processactivate
-94150100,TASK_InputProcessing,47,STI,IR_SCHED_Tasks_C1,321,trigger
-94150100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-94150100,Core_1,0,T,TASK_InputProcessing,47,start
-94150100,TASK_InputProcessing,47,R,FUNC_SEMLOCK,95,start
-94150100,Core_1,0,C,Core_1,0,execute
-94150100,TASK_InputProcessing,47,C,Core_1,0,execute
-94151650,TASK_WritingActuator,47,SIG,SIG_Mixture,0,write,0
-94151650,TASK_WritingActuator,47,R,FUNC_WriteData,47,terminate
-94151650,TASK_WritingActuator,47,R,FUNC_SEMUNLOCK,94,start
-94250000,SIM,-1,STI,TIMER-1MS,94,trigger
-94250000,TIMER-1MS,94,T,TASK_1MS,94,activate
-94250000,TASK_1MS,94,SCHED,SCHED_Tasks_C1,-1,processactivate
-94250100,TASK_1MS,94,STI,IR_SCHED_Tasks_C1,322,trigger
-94250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-94250100,TASK_InputProcessing,47,R,FUNC_SEMLOCK,95,suspend
-94250100,Core_1,0,T,TASK_InputProcessing,47,preempt
-94250100,Core_1,0,C,Core_1,0,idle_execution
-94250100,TASK_InputProcessing,47,C,Core_1,0,idle_execution
-94250100,Core_1,0,T,TASK_1MS,94,start
-94250100,TASK_1MS,94,R,FUNC_EXECTIME_1,177,start
-94250100,Core_1,0,C,Core_1,0,execute
-94250100,TASK_1MS,94,C,Core_1,0,execute
-94351650,TASK_WritingActuator,47,SEM,SEM_DataElement1,0,released,1
-94351650,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-94351650,TASK_WritingActuator,47,SCHED,SCHED_Tasks_C2,-1,schedulepoint
-94351650,Core_2,0,C,Core_2,0,lock
-94351700,TASK_WritingActuator,47,R,FUNC_SEMUNLOCK,94,terminate
-94351700,Core_2,0,T,TASK_WritingActuator,47,terminate
-94351700,TASK_WritingActuator,47,SCHED,SCHED_Tasks_C2,-1,processterminate
-94351700,Core_2,0,C,Core_2,0,unlock
-94351700,Core_2,0,C,Core_2,0,idle
-94351700,TASK_WritingActuator,47,C,Core_2,0,idle
-94351750,TASK_WritingActuator,47,STI,IR_SCHED_Tasks_C2,304,trigger
-94351750,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-94351750,Core_2,0,T,TASK_5MS,47,start
-94351750,TASK_5MS,47,R,FUNC_EXECTIME_1,176,start
-94351750,Core_2,0,C,Core_2,0,execute
-94351750,TASK_5MS,47,C,Core_2,0,execute
-94763250,TASK_1MS,94,R,FUNC_EXECTIME_1,177,terminate
-94763250,Core_1,0,T,TASK_1MS,94,terminate
-94763250,TASK_1MS,94,SCHED,SCHED_Tasks_C1,-1,processterminate
-94763250,Core_1,0,C,Core_1,0,idle
-94763250,TASK_1MS,94,C,Core_1,0,idle
-94763350,TASK_1MS,94,STI,IR_SCHED_Tasks_C1,323,trigger
-94763350,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-94763350,Core_1,0,C,Core_1,0,execute_idle
-94763350,TASK_InputProcessing,47,C,Core_1,0,execute_idle
-94763350,Core_1,0,T,TASK_InputProcessing,47,resume
-94763350,TASK_InputProcessing,47,R,FUNC_SEMLOCK,95,resume
-94788350,TASK_InputProcessing,47,SEM,SEM_DataElement1,0,requestsemaphore,0
-94788350,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-94788350,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-94788350,Core_1,0,C,Core_1,0,lock
-94788350,TASK_InputProcessing,47,SEM,SEM_DataElement1,0,assigned,1
-94788400,TASK_InputProcessing,47,R,FUNC_SEMLOCK,95,terminate
-94788400,Core_1,0,C,Core_1,0,unlock
-94788400,TASK_InputProcessing,47,R,FUNC_ReadSensorData,47,start
-94948375,TASK_InputProcessing,47,SIG,SIG_RotationSpeed,0,read,0
-94948375,TASK_InputProcessing,47,SIG,SIG_Lambda,0,read,0
-94948375,TASK_InputProcessing,47,SIG,SIG_Temperature,0,read,0
-94948375,TASK_InputProcessing,47,R,FUNC_ReadSensorData,47,terminate
-94948375,TASK_InputProcessing,47,R,FUNC_SEMUNLOCK,95,start
-94961800,TASK_5MS,47,R,FUNC_EXECTIME_1,176,terminate
-94961800,Core_2,0,T,TASK_5MS,47,terminate
-94961800,TASK_5MS,47,SCHED,SCHED_Tasks_C2,-1,processterminate
-94961800,Core_2,0,C,Core_2,0,idle
-94961800,TASK_5MS,47,C,Core_2,0,idle
-94961900,TASK_5MS,47,STI,IR_SCHED_Tasks_C2,305,trigger
-94961900,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-95000000,SIM,-1,STI,TIMER-10MS,9,trigger
-95000000,TIMER-10MS,9,T,TASK_10MS,9,activate
-95000000,TASK_10MS,9,SCHED,SCHED_Tasks_C2,-1,processactivate
-95000100,TASK_10MS,9,STI,IR_SCHED_Tasks_C2,306,trigger
-95000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-95000100,Core_2,0,T,TASK_10MS,9,start
-95000100,TASK_10MS,9,R,FUNC_EXECTIME_1,178,start
-95000100,Core_2,0,C,Core_2,0,execute
-95000100,TASK_10MS,9,C,Core_2,0,execute
-95148375,TASK_InputProcessing,47,SEM,SEM_DataElement1,0,released,1
-95148375,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-95148375,TASK_InputProcessing,47,SCHED,SCHED_Tasks_C1,-1,schedulepoint
-95148375,Core_1,0,C,Core_1,0,lock
-95148425,TASK_InputProcessing,47,R,FUNC_SEMUNLOCK,95,terminate
-95148425,Core_1,0,C,Core_1,0,unlock
-95148425,TASK_InputProcessing,47,STI,IPA_InputReady,47,trigger
-95148425,IPA_InputReady,47,T,TASK_CalcEngineSpeed,47,activate
-95148425,TASK_CalcEngineSpeed,47,SCHED,SCHED_Tasks_C2,-1,processactivate
-95148425,Core_1,0,T,TASK_InputProcessing,47,terminate
-95148425,TASK_InputProcessing,47,SCHED,SCHED_Tasks_C1,-1,processterminate
-95148425,Core_1,0,C,Core_1,0,idle
-95148425,TASK_InputProcessing,47,C,Core_1,0,idle
-95148475,TASK_InputProcessing,47,STI,IR_SCHED_Tasks_C1,324,trigger
-95148475,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-95148525,TASK_CalcEngineSpeed,47,STI,IR_SCHED_Tasks_C2,307,trigger
-95148525,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-95148525,TASK_10MS,9,R,FUNC_EXECTIME_1,178,suspend
-95148525,Core_2,0,T,TASK_10MS,9,preempt
-95148525,Core_2,0,C,Core_2,0,idle_execution
-95148525,TASK_10MS,9,C,Core_2,0,idle_execution
-95148525,Core_2,0,T,TASK_CalcEngineSpeed,47,start
-95148525,TASK_CalcEngineSpeed,47,R,FUNC_ENGINESPEED,47,start
-95148525,Core_2,0,C,Core_2,0,execute
-95148525,TASK_CalcEngineSpeed,47,C,Core_2,0,execute
-95250000,SIM,-1,STI,TIMER-1MS,95,trigger
-95250000,TIMER-1MS,95,T,TASK_1MS,95,activate
-95250000,TASK_1MS,95,SCHED,SCHED_Tasks_C1,-1,processactivate
-95250100,TASK_1MS,95,STI,IR_SCHED_Tasks_C1,325,trigger
-95250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-95250100,Core_1,0,T,TASK_1MS,95,start
-95250100,TASK_1MS,95,R,FUNC_EXECTIME_1,179,start
-95250100,Core_1,0,C,Core_1,0,execute
-95250100,TASK_1MS,95,C,Core_1,0,execute
-95370275,TASK_CalcEngineSpeed,47,R,FUNC_ENGINESPEED,47,terminate
-95370275,Core_2,0,T,TASK_CalcEngineSpeed,47,terminate
-95370275,TASK_CalcEngineSpeed,47,SCHED,SCHED_Tasks_C2,-1,processterminate
-95370275,Core_2,0,C,Core_2,0,idle
-95370275,TASK_CalcEngineSpeed,47,C,Core_2,0,idle
-95370375,TASK_CalcEngineSpeed,47,STI,IR_SCHED_Tasks_C2,308,trigger
-95370375,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-95370375,Core_2,0,C,Core_2,0,execute_idle
-95370375,TASK_10MS,9,C,Core_2,0,execute_idle
-95370375,Core_2,0,T,TASK_10MS,9,resume
-95370375,TASK_10MS,9,R,FUNC_EXECTIME_1,178,resume
-95680575,TASK_10MS,9,R,FUNC_EXECTIME_1,178,terminate
-95680575,Core_2,0,T,TASK_10MS,9,terminate
-95680575,TASK_10MS,9,SCHED,SCHED_Tasks_C2,-1,processterminate
-95680575,Core_2,0,C,Core_2,0,idle
-95680575,TASK_10MS,9,C,Core_2,0,idle
-95680675,TASK_10MS,9,STI,IR_SCHED_Tasks_C2,309,trigger
-95680675,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-96000000,SIM,-1,STI,TIMER-B_2ms,48,trigger
-96000000,TIMER-B_2ms,48,T,TASK_WritingActuator,48,activate
-96000000,TASK_WritingActuator,48,SCHED,SCHED_Tasks_C2,-1,processactivate
-96000100,TASK_WritingActuator,48,STI,IR_SCHED_Tasks_C2,310,trigger
-96000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-96000100,Core_2,0,T,TASK_WritingActuator,48,start
-96000100,TASK_WritingActuator,48,R,FUNC_SEMLOCK,96,start
-96000100,Core_2,0,C,Core_2,0,execute
-96000100,TASK_WritingActuator,48,C,Core_2,0,execute
-96079850,TASK_1MS,95,R,FUNC_EXECTIME_1,179,terminate
-96079850,Core_1,0,T,TASK_1MS,95,terminate
-96079850,TASK_1MS,95,SCHED,SCHED_Tasks_C1,-1,processterminate
-96079850,Core_1,0,C,Core_1,0,idle
-96079850,TASK_1MS,95,C,Core_1,0,idle
-96079950,TASK_1MS,95,STI,IR_SCHED_Tasks_C1,326,trigger
-96079950,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-96100000,SIM,-1,STI,TIMER-5MS,48,trigger
-96100000,TIMER-5MS,48,T,TASK_5MS,48,activate
-96100000,TASK_5MS,48,SCHED,SCHED_Tasks_C2,-1,processactivate
-96100100,TASK_5MS,48,STI,IR_SCHED_Tasks_C2,311,trigger
-96100100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-96125100,TASK_WritingActuator,48,SEM,SEM_DataElement1,0,requestsemaphore,0
-96125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-96125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-96125100,Core_2,0,C,Core_2,0,lock
-96125100,TASK_WritingActuator,48,SEM,SEM_DataElement1,0,assigned,1
-96125150,TASK_WritingActuator,48,R,FUNC_SEMLOCK,96,terminate
-96125150,Core_2,0,C,Core_2,0,unlock
-96125150,TASK_WritingActuator,48,R,FUNC_WriteData,48,start
-96150000,SIM,-1,STI,TIMER-A_2ms,48,trigger
-96150000,TIMER-A_2ms,48,T,TASK_InputProcessing,48,activate
-96150000,TASK_InputProcessing,48,SCHED,SCHED_Tasks_C1,-1,processactivate
-96150100,TASK_InputProcessing,48,STI,IR_SCHED_Tasks_C1,327,trigger
-96150100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-96150100,Core_1,0,T,TASK_InputProcessing,48,start
-96150100,TASK_InputProcessing,48,R,FUNC_SEMLOCK,97,start
-96150100,Core_1,0,C,Core_1,0,execute
-96150100,TASK_InputProcessing,48,C,Core_1,0,execute
-96151750,TASK_WritingActuator,48,SIG,SIG_Mixture,0,write,0
-96151750,TASK_WritingActuator,48,R,FUNC_WriteData,48,terminate
-96151750,TASK_WritingActuator,48,R,FUNC_SEMUNLOCK,96,start
-96250000,SIM,-1,STI,TIMER-1MS,96,trigger
-96250000,TIMER-1MS,96,T,TASK_1MS,96,activate
-96250000,TASK_1MS,96,SCHED,SCHED_Tasks_C1,-1,processactivate
-96250100,TASK_1MS,96,STI,IR_SCHED_Tasks_C1,328,trigger
-96250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-96250100,TASK_InputProcessing,48,R,FUNC_SEMLOCK,97,suspend
-96250100,Core_1,0,T,TASK_InputProcessing,48,preempt
-96250100,Core_1,0,C,Core_1,0,idle_execution
-96250100,TASK_InputProcessing,48,C,Core_1,0,idle_execution
-96250100,Core_1,0,T,TASK_1MS,96,start
-96250100,TASK_1MS,96,R,FUNC_EXECTIME_1,181,start
-96250100,Core_1,0,C,Core_1,0,execute
-96250100,TASK_1MS,96,C,Core_1,0,execute
-96351750,TASK_WritingActuator,48,SEM,SEM_DataElement1,0,released,1
-96351750,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-96351750,TASK_WritingActuator,48,SCHED,SCHED_Tasks_C2,-1,schedulepoint
-96351750,Core_2,0,C,Core_2,0,lock
-96351800,TASK_WritingActuator,48,R,FUNC_SEMUNLOCK,96,terminate
-96351800,Core_2,0,T,TASK_WritingActuator,48,terminate
-96351800,TASK_WritingActuator,48,SCHED,SCHED_Tasks_C2,-1,processterminate
-96351800,Core_2,0,C,Core_2,0,unlock
-96351800,Core_2,0,C,Core_2,0,idle
-96351800,TASK_WritingActuator,48,C,Core_2,0,idle
-96351850,TASK_WritingActuator,48,STI,IR_SCHED_Tasks_C2,312,trigger
-96351850,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-96351850,Core_2,0,T,TASK_5MS,48,start
-96351850,TASK_5MS,48,R,FUNC_EXECTIME_1,180,start
-96351850,Core_2,0,C,Core_2,0,execute
-96351850,TASK_5MS,48,C,Core_2,0,execute
-96793700,TASK_5MS,48,R,FUNC_EXECTIME_1,180,terminate
-96793700,Core_2,0,T,TASK_5MS,48,terminate
-96793700,TASK_5MS,48,SCHED,SCHED_Tasks_C2,-1,processterminate
-96793700,Core_2,0,C,Core_2,0,idle
-96793700,TASK_5MS,48,C,Core_2,0,idle
-96793800,TASK_5MS,48,STI,IR_SCHED_Tasks_C2,313,trigger
-96793800,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-96872750,TASK_1MS,96,R,FUNC_EXECTIME_1,181,terminate
-96872750,Core_1,0,T,TASK_1MS,96,terminate
-96872750,TASK_1MS,96,SCHED,SCHED_Tasks_C1,-1,processterminate
-96872750,Core_1,0,C,Core_1,0,idle
-96872750,TASK_1MS,96,C,Core_1,0,idle
-96872850,TASK_1MS,96,STI,IR_SCHED_Tasks_C1,329,trigger
-96872850,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-96872850,Core_1,0,C,Core_1,0,execute_idle
-96872850,TASK_InputProcessing,48,C,Core_1,0,execute_idle
-96872850,Core_1,0,T,TASK_InputProcessing,48,resume
-96872850,TASK_InputProcessing,48,R,FUNC_SEMLOCK,97,resume
-96897850,TASK_InputProcessing,48,SEM,SEM_DataElement1,0,requestsemaphore,0
-96897850,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-96897850,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-96897850,Core_1,0,C,Core_1,0,lock
-96897850,TASK_InputProcessing,48,SEM,SEM_DataElement1,0,assigned,1
-96897900,TASK_InputProcessing,48,R,FUNC_SEMLOCK,97,terminate
-96897900,Core_1,0,C,Core_1,0,unlock
-96897900,TASK_InputProcessing,48,R,FUNC_ReadSensorData,48,start
-97062025,TASK_InputProcessing,48,SIG,SIG_RotationSpeed,0,read,0
-97062025,TASK_InputProcessing,48,SIG,SIG_Lambda,0,read,0
-97062025,TASK_InputProcessing,48,SIG,SIG_Temperature,0,read,0
-97062025,TASK_InputProcessing,48,R,FUNC_ReadSensorData,48,terminate
-97062025,TASK_InputProcessing,48,R,FUNC_SEMUNLOCK,97,start
-97250000,SIM,-1,STI,TIMER-1MS,97,trigger
-97250000,TIMER-1MS,97,T,TASK_1MS,97,activate
-97250000,TASK_1MS,97,SCHED,SCHED_Tasks_C1,-1,processactivate
-97250100,TASK_1MS,97,STI,IR_SCHED_Tasks_C1,330,trigger
-97250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-97262025,TASK_InputProcessing,48,SEM,SEM_DataElement1,0,released,1
-97262025,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-97262025,TASK_InputProcessing,48,SCHED,SCHED_Tasks_C1,-1,schedulepoint
-97262025,Core_1,0,C,Core_1,0,lock
-97262075,TASK_InputProcessing,48,R,FUNC_SEMUNLOCK,97,terminate
-97262075,Core_1,0,C,Core_1,0,unlock
-97262075,TASK_InputProcessing,48,STI,IPA_InputReady,48,trigger
-97262075,IPA_InputReady,48,T,TASK_CalcEngineSpeed,48,activate
-97262075,TASK_CalcEngineSpeed,48,SCHED,SCHED_Tasks_C2,-1,processactivate
-97262075,Core_1,0,T,TASK_InputProcessing,48,terminate
-97262075,TASK_InputProcessing,48,SCHED,SCHED_Tasks_C1,-1,processterminate
-97262075,Core_1,0,C,Core_1,0,idle
-97262075,TASK_InputProcessing,48,C,Core_1,0,idle
-97262125,TASK_InputProcessing,48,STI,IR_SCHED_Tasks_C1,331,trigger
-97262125,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-97262125,Core_1,0,T,TASK_1MS,97,start
-97262125,TASK_1MS,97,R,FUNC_EXECTIME_1,182,start
-97262125,Core_1,0,C,Core_1,0,execute
-97262125,TASK_1MS,97,C,Core_1,0,execute
-97262175,TASK_CalcEngineSpeed,48,STI,IR_SCHED_Tasks_C2,314,trigger
-97262175,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-97262175,Core_2,0,T,TASK_CalcEngineSpeed,48,start
-97262175,TASK_CalcEngineSpeed,48,R,FUNC_ENGINESPEED,48,start
-97262175,Core_2,0,C,Core_2,0,execute
-97262175,TASK_CalcEngineSpeed,48,C,Core_2,0,execute
-97511700,TASK_CalcEngineSpeed,48,R,FUNC_ENGINESPEED,48,terminate
-97511700,Core_2,0,T,TASK_CalcEngineSpeed,48,terminate
-97511700,TASK_CalcEngineSpeed,48,SCHED,SCHED_Tasks_C2,-1,processterminate
-97511700,Core_2,0,C,Core_2,0,idle
-97511700,TASK_CalcEngineSpeed,48,C,Core_2,0,idle
-97511800,TASK_CalcEngineSpeed,48,STI,IR_SCHED_Tasks_C2,315,trigger
-97511800,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-97861550,TASK_1MS,97,R,FUNC_EXECTIME_1,182,terminate
-97861550,Core_1,0,T,TASK_1MS,97,terminate
-97861550,TASK_1MS,97,SCHED,SCHED_Tasks_C1,-1,processterminate
-97861550,Core_1,0,C,Core_1,0,idle
-97861550,TASK_1MS,97,C,Core_1,0,idle
-97861650,TASK_1MS,97,STI,IR_SCHED_Tasks_C1,332,trigger
-97861650,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-98000000,SIM,-1,STI,TIMER-B_2ms,49,trigger
-98000000,TIMER-B_2ms,49,T,TASK_WritingActuator,49,activate
-98000000,TASK_WritingActuator,49,SCHED,SCHED_Tasks_C2,-1,processactivate
-98000100,TASK_WritingActuator,49,STI,IR_SCHED_Tasks_C2,316,trigger
-98000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-98000100,Core_2,0,T,TASK_WritingActuator,49,start
-98000100,TASK_WritingActuator,49,R,FUNC_SEMLOCK,98,start
-98000100,Core_2,0,C,Core_2,0,execute
-98000100,TASK_WritingActuator,49,C,Core_2,0,execute
-98100000,SIM,-1,STI,TIMER-5MS,49,trigger
-98100000,TIMER-5MS,49,T,TASK_5MS,49,activate
-98100000,TASK_5MS,49,SCHED,SCHED_Tasks_C2,-1,processactivate
-98100100,TASK_5MS,49,STI,IR_SCHED_Tasks_C2,317,trigger
-98100100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-98125100,TASK_WritingActuator,49,SEM,SEM_DataElement1,0,requestsemaphore,0
-98125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-98125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-98125100,Core_2,0,C,Core_2,0,lock
-98125100,TASK_WritingActuator,49,SEM,SEM_DataElement1,0,assigned,1
-98125150,TASK_WritingActuator,49,R,FUNC_SEMLOCK,98,terminate
-98125150,Core_2,0,C,Core_2,0,unlock
-98125150,TASK_WritingActuator,49,R,FUNC_WriteData,49,start
-98150000,SIM,-1,STI,TIMER-A_2ms,49,trigger
-98150000,TIMER-A_2ms,49,T,TASK_InputProcessing,49,activate
-98150000,TASK_InputProcessing,49,SCHED,SCHED_Tasks_C1,-1,processactivate
-98150100,TASK_InputProcessing,49,STI,IR_SCHED_Tasks_C1,333,trigger
-98150100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-98150100,Core_1,0,T,TASK_InputProcessing,49,start
-98150100,TASK_InputProcessing,49,R,FUNC_SEMLOCK,99,start
-98150100,Core_1,0,C,Core_1,0,execute
-98150100,TASK_InputProcessing,49,C,Core_1,0,execute
-98151975,TASK_WritingActuator,49,SIG,SIG_Mixture,0,write,0
-98151975,TASK_WritingActuator,49,R,FUNC_WriteData,49,terminate
-98151975,TASK_WritingActuator,49,R,FUNC_SEMUNLOCK,98,start
-98250000,SIM,-1,STI,TIMER-1MS,98,trigger
-98250000,TIMER-1MS,98,T,TASK_1MS,98,activate
-98250000,TASK_1MS,98,SCHED,SCHED_Tasks_C1,-1,processactivate
-98250100,TASK_1MS,98,STI,IR_SCHED_Tasks_C1,334,trigger
-98250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-98250100,TASK_InputProcessing,49,R,FUNC_SEMLOCK,99,suspend
-98250100,Core_1,0,T,TASK_InputProcessing,49,preempt
-98250100,Core_1,0,C,Core_1,0,idle_execution
-98250100,TASK_InputProcessing,49,C,Core_1,0,idle_execution
-98250100,Core_1,0,T,TASK_1MS,98,start
-98250100,TASK_1MS,98,R,FUNC_EXECTIME_1,184,start
-98250100,Core_1,0,C,Core_1,0,execute
-98250100,TASK_1MS,98,C,Core_1,0,execute
-98351975,TASK_WritingActuator,49,SEM,SEM_DataElement1,0,released,1
-98351975,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-98351975,TASK_WritingActuator,49,SCHED,SCHED_Tasks_C2,-1,schedulepoint
-98351975,Core_2,0,C,Core_2,0,lock
-98352025,TASK_WritingActuator,49,R,FUNC_SEMUNLOCK,98,terminate
-98352025,Core_2,0,T,TASK_WritingActuator,49,terminate
-98352025,TASK_WritingActuator,49,SCHED,SCHED_Tasks_C2,-1,processterminate
-98352025,Core_2,0,C,Core_2,0,unlock
-98352025,Core_2,0,C,Core_2,0,idle
-98352025,TASK_WritingActuator,49,C,Core_2,0,idle
-98352075,TASK_WritingActuator,49,STI,IR_SCHED_Tasks_C2,318,trigger
-98352075,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-98352075,Core_2,0,T,TASK_5MS,49,start
-98352075,TASK_5MS,49,R,FUNC_EXECTIME_1,183,start
-98352075,Core_2,0,C,Core_2,0,execute
-98352075,TASK_5MS,49,C,Core_2,0,execute
-98673075,TASK_5MS,49,R,FUNC_EXECTIME_1,183,terminate
-98673075,Core_2,0,T,TASK_5MS,49,terminate
-98673075,TASK_5MS,49,SCHED,SCHED_Tasks_C2,-1,processterminate
-98673075,Core_2,0,C,Core_2,0,idle
-98673075,TASK_5MS,49,C,Core_2,0,idle
-98673175,TASK_5MS,49,STI,IR_SCHED_Tasks_C2,319,trigger
-98673175,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-98809725,TASK_1MS,98,R,FUNC_EXECTIME_1,184,terminate
-98809725,Core_1,0,T,TASK_1MS,98,terminate
-98809725,TASK_1MS,98,SCHED,SCHED_Tasks_C1,-1,processterminate
-98809725,Core_1,0,C,Core_1,0,idle
-98809725,TASK_1MS,98,C,Core_1,0,idle
-98809825,TASK_1MS,98,STI,IR_SCHED_Tasks_C1,335,trigger
-98809825,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-98809825,Core_1,0,C,Core_1,0,execute_idle
-98809825,TASK_InputProcessing,49,C,Core_1,0,execute_idle
-98809825,Core_1,0,T,TASK_InputProcessing,49,resume
-98809825,TASK_InputProcessing,49,R,FUNC_SEMLOCK,99,resume
-98834825,TASK_InputProcessing,49,SEM,SEM_DataElement1,0,requestsemaphore,0
-98834825,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-98834825,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-98834825,Core_1,0,C,Core_1,0,lock
-98834825,TASK_InputProcessing,49,SEM,SEM_DataElement1,0,assigned,1
-98834875,TASK_InputProcessing,49,R,FUNC_SEMLOCK,99,terminate
-98834875,Core_1,0,C,Core_1,0,unlock
-98834875,TASK_InputProcessing,49,R,FUNC_ReadSensorData,49,start
-98999125,TASK_InputProcessing,49,SIG,SIG_RotationSpeed,0,read,0
-98999125,TASK_InputProcessing,49,SIG,SIG_Lambda,0,read,0
-98999125,TASK_InputProcessing,49,SIG,SIG_Temperature,0,read,0
-98999125,TASK_InputProcessing,49,R,FUNC_ReadSensorData,49,terminate
-98999125,TASK_InputProcessing,49,R,FUNC_SEMUNLOCK,99,start
-99199125,TASK_InputProcessing,49,SEM,SEM_DataElement1,0,released,1
-99199125,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-99199125,TASK_InputProcessing,49,SCHED,SCHED_Tasks_C1,-1,schedulepoint
-99199125,Core_1,0,C,Core_1,0,lock
-99199175,TASK_InputProcessing,49,R,FUNC_SEMUNLOCK,99,terminate
-99199175,Core_1,0,C,Core_1,0,unlock
-99199175,TASK_InputProcessing,49,STI,IPA_InputReady,49,trigger
-99199175,IPA_InputReady,49,T,TASK_CalcEngineSpeed,49,activate
-99199175,TASK_CalcEngineSpeed,49,SCHED,SCHED_Tasks_C2,-1,processactivate
-99199175,Core_1,0,T,TASK_InputProcessing,49,terminate
-99199175,TASK_InputProcessing,49,SCHED,SCHED_Tasks_C1,-1,processterminate
-99199175,Core_1,0,C,Core_1,0,idle
-99199175,TASK_InputProcessing,49,C,Core_1,0,idle
-99199225,TASK_InputProcessing,49,STI,IR_SCHED_Tasks_C1,336,trigger
-99199225,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-99199275,TASK_CalcEngineSpeed,49,STI,IR_SCHED_Tasks_C2,320,trigger
-99199275,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-99199275,Core_2,0,T,TASK_CalcEngineSpeed,49,start
-99199275,TASK_CalcEngineSpeed,49,R,FUNC_ENGINESPEED,49,start
-99199275,Core_2,0,C,Core_2,0,execute
-99199275,TASK_CalcEngineSpeed,49,C,Core_2,0,execute
-99250000,SIM,-1,STI,TIMER-1MS,99,trigger
-99250000,TIMER-1MS,99,T,TASK_1MS,99,activate
-99250000,TASK_1MS,99,SCHED,SCHED_Tasks_C1,-1,processactivate
-99250100,TASK_1MS,99,STI,IR_SCHED_Tasks_C1,337,trigger
-99250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-99250100,Core_1,0,T,TASK_1MS,99,start
-99250100,TASK_1MS,99,R,FUNC_EXECTIME_1,185,start
-99250100,Core_1,0,C,Core_1,0,execute
-99250100,TASK_1MS,99,C,Core_1,0,execute
-99304275,TASK_CalcEngineSpeed,49,R,FUNC_ENGINESPEED,49,terminate
-99304275,Core_2,0,T,TASK_CalcEngineSpeed,49,terminate
-99304275,TASK_CalcEngineSpeed,49,SCHED,SCHED_Tasks_C2,-1,processterminate
-99304275,Core_2,0,C,Core_2,0,idle
-99304275,TASK_CalcEngineSpeed,49,C,Core_2,0,idle
-99304375,TASK_CalcEngineSpeed,49,STI,IR_SCHED_Tasks_C2,321,trigger
-99304375,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-99643250,TASK_1MS,99,R,FUNC_EXECTIME_1,185,terminate
-99643250,Core_1,0,T,TASK_1MS,99,terminate
-99643250,TASK_1MS,99,SCHED,SCHED_Tasks_C1,-1,processterminate
-99643250,Core_1,0,C,Core_1,0,idle
-99643250,TASK_1MS,99,C,Core_1,0,idle
-99643350,TASK_1MS,99,STI,IR_SCHED_Tasks_C1,338,trigger
-99643350,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-100000000,SIM,-1,STI,TIMER-B_2ms,50,trigger
-100000000,TIMER-B_2ms,50,T,TASK_WritingActuator,50,activate
-100000000,TASK_WritingActuator,50,SCHED,SCHED_Tasks_C2,-1,processactivate
-100000000,SIM,-1,STI,TIMER-10MS_2,10,trigger
-100000000,TIMER-10MS_2,10,T,TASK_10MS_DL2,10,activate
-100000000,TASK_10MS_DL2,10,SCHED,SCHED_Tasks_C1,-1,processactivate
-100000100,TASK_WritingActuator,50,STI,IR_SCHED_Tasks_C2,322,trigger
-100000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-100000100,Core_2,0,T,TASK_WritingActuator,50,start
-100000100,TASK_WritingActuator,50,R,FUNC_SEMLOCK,100,start
-100000100,Core_2,0,C,Core_2,0,execute
-100000100,TASK_WritingActuator,50,C,Core_2,0,execute
-100000100,TASK_10MS_DL2,10,STI,IR_SCHED_Tasks_C1,339,trigger
-100000100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-100000100,Core_1,0,T,TASK_10MS_DL2,10,start
-100000100,TASK_10MS_DL2,10,R,FUNC_EXECTIME_1,186,start
-100000100,Core_1,0,C,Core_1,0,execute
-100000100,TASK_10MS_DL2,10,C,Core_1,0,execute
-100005000,SIM,-1,STI,TIMER-20MS,5,trigger
-100005000,TIMER-20MS,5,T,TASK_20MS,5,activate
-100005000,TASK_20MS,5,SCHED,SCHED_Tasks_C1,-1,processactivate
-100005100,TASK_20MS,5,STI,IR_SCHED_Tasks_C1,340,trigger
-100005100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-100100000,SIM,-1,STI,TIMER-5MS,50,trigger
-100100000,TIMER-5MS,50,T,TASK_5MS,50,activate
-100100000,TASK_5MS,50,SCHED,SCHED_Tasks_C2,-1,processactivate
-100100000,SIM,-1,STI,TIMER-100MS,1,trigger
-100100000,TIMER-100MS,1,T,TASK_100MS,1,activate
-100100000,TASK_100MS,1,SCHED,SCHED_Tasks_C1,-1,processactivate
-100100100,TASK_5MS,50,STI,IR_SCHED_Tasks_C2,323,trigger
-100100100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-100100100,TASK_100MS,1,STI,IR_SCHED_Tasks_C1,341,trigger
-100100100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-100125100,TASK_WritingActuator,50,SEM,SEM_DataElement1,0,requestsemaphore,0
-100125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-100125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-100125100,Core_2,0,C,Core_2,0,lock
-100125100,TASK_WritingActuator,50,SEM,SEM_DataElement1,0,assigned,1
-100125150,TASK_WritingActuator,50,R,FUNC_SEMLOCK,100,terminate
-100125150,Core_2,0,C,Core_2,0,unlock
-100125150,TASK_WritingActuator,50,R,FUNC_WriteData,50,start
-100150000,SIM,-1,STI,TIMER-A_2ms,50,trigger
-100150000,TIMER-A_2ms,50,T,TASK_InputProcessing,50,activate
-100150000,TASK_InputProcessing,50,SCHED,SCHED_Tasks_C1,-1,processactivate
-100150100,TASK_InputProcessing,50,STI,IR_SCHED_Tasks_C1,342,trigger
-100150100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-100151875,TASK_WritingActuator,50,SIG,SIG_Mixture,0,write,0
-100151875,TASK_WritingActuator,50,R,FUNC_WriteData,50,terminate
-100151875,TASK_WritingActuator,50,R,FUNC_SEMUNLOCK,100,start
-100250000,SIM,-1,STI,TIMER-1MS,100,trigger
-100250000,TIMER-1MS,100,T,TASK_1MS,100,activate
-100250000,TASK_1MS,100,SCHED,SCHED_Tasks_C1,-1,processactivate
-100250100,TASK_1MS,100,STI,IR_SCHED_Tasks_C1,343,trigger
-100250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-100250100,TASK_10MS_DL2,10,R,FUNC_EXECTIME_1,186,suspend
-100250100,Core_1,0,T,TASK_10MS_DL2,10,preempt
-100250100,Core_1,0,C,Core_1,0,idle_execution
-100250100,TASK_10MS_DL2,10,C,Core_1,0,idle_execution
-100250100,Core_1,0,T,TASK_1MS,100,start
-100250100,TASK_1MS,100,R,FUNC_EXECTIME_1,190,start
-100250100,Core_1,0,C,Core_1,0,execute
-100250100,TASK_1MS,100,C,Core_1,0,execute
-100351875,TASK_WritingActuator,50,SEM,SEM_DataElement1,0,released,1
-100351875,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-100351875,TASK_WritingActuator,50,SCHED,SCHED_Tasks_C2,-1,schedulepoint
-100351875,Core_2,0,C,Core_2,0,lock
-100351925,TASK_WritingActuator,50,R,FUNC_SEMUNLOCK,100,terminate
-100351925,Core_2,0,T,TASK_WritingActuator,50,terminate
-100351925,TASK_WritingActuator,50,SCHED,SCHED_Tasks_C2,-1,processterminate
-100351925,Core_2,0,C,Core_2,0,unlock
-100351925,Core_2,0,C,Core_2,0,idle
-100351925,TASK_WritingActuator,50,C,Core_2,0,idle
-100351975,TASK_WritingActuator,50,STI,IR_SCHED_Tasks_C2,324,trigger
-100351975,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-100351975,Core_2,0,T,TASK_5MS,50,start
-100351975,TASK_5MS,50,R,FUNC_EXECTIME_1,188,start
-100351975,Core_2,0,C,Core_2,0,execute
-100351975,TASK_5MS,50,C,Core_2,0,execute
-100728750,TASK_1MS,100,R,FUNC_EXECTIME_1,190,terminate
-100728750,Core_1,0,T,TASK_1MS,100,terminate
-100728750,TASK_1MS,100,SCHED,SCHED_Tasks_C1,-1,processterminate
-100728750,Core_1,0,C,Core_1,0,idle
-100728750,TASK_1MS,100,C,Core_1,0,idle
-100728850,TASK_1MS,100,STI,IR_SCHED_Tasks_C1,344,trigger
-100728850,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-100728850,Core_1,0,C,Core_1,0,execute_idle
-100728850,TASK_10MS_DL2,10,C,Core_1,0,execute_idle
-100728850,Core_1,0,T,TASK_10MS_DL2,10,resume
-100728850,TASK_10MS_DL2,10,R,FUNC_EXECTIME_1,186,resume
-100757500,TASK_5MS,50,R,FUNC_EXECTIME_1,188,terminate
-100757500,Core_2,0,T,TASK_5MS,50,terminate
-100757500,TASK_5MS,50,SCHED,SCHED_Tasks_C2,-1,processterminate
-100757500,Core_2,0,C,Core_2,0,idle
-100757500,TASK_5MS,50,C,Core_2,0,idle
-100757600,TASK_5MS,50,STI,IR_SCHED_Tasks_C2,325,trigger
-100757600,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-100946425,TASK_10MS_DL2,10,R,FUNC_EXECTIME_1,186,terminate
-100946425,Core_1,0,T,TASK_10MS_DL2,10,terminate
-100946425,TASK_10MS_DL2,10,SCHED,SCHED_Tasks_C1,-1,processterminate
-100946425,Core_1,0,C,Core_1,0,idle
-100946425,TASK_10MS_DL2,10,C,Core_1,0,idle
-100946525,TASK_10MS_DL2,10,STI,IR_SCHED_Tasks_C1,345,trigger
-100946525,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-100946525,Core_1,0,T,TASK_InputProcessing,50,start
-100946525,TASK_InputProcessing,50,R,FUNC_SEMLOCK,101,start
-100946525,Core_1,0,C,Core_1,0,execute
-100946525,TASK_InputProcessing,50,C,Core_1,0,execute
-101071525,TASK_InputProcessing,50,SEM,SEM_DataElement1,0,requestsemaphore,0
-101071525,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-101071525,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-101071525,Core_1,0,C,Core_1,0,lock
-101071525,TASK_InputProcessing,50,SEM,SEM_DataElement1,0,assigned,1
-101071575,TASK_InputProcessing,50,R,FUNC_SEMLOCK,101,terminate
-101071575,Core_1,0,C,Core_1,0,unlock
-101071575,TASK_InputProcessing,50,R,FUNC_ReadSensorData,50,start
-101235550,TASK_InputProcessing,50,SIG,SIG_RotationSpeed,0,read,0
-101235550,TASK_InputProcessing,50,SIG,SIG_Lambda,0,read,0
-101235550,TASK_InputProcessing,50,SIG,SIG_Temperature,0,read,0
-101235550,TASK_InputProcessing,50,R,FUNC_ReadSensorData,50,terminate
-101235550,TASK_InputProcessing,50,R,FUNC_SEMUNLOCK,101,start
-101250000,SIM,-1,STI,TIMER-1MS,101,trigger
-101250000,TIMER-1MS,101,T,TASK_1MS,101,activate
-101250000,TASK_1MS,101,SCHED,SCHED_Tasks_C1,-1,processactivate
-101250100,TASK_1MS,101,STI,IR_SCHED_Tasks_C1,346,trigger
-101250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-101435550,TASK_InputProcessing,50,SEM,SEM_DataElement1,0,released,1
-101435550,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-101435550,TASK_InputProcessing,50,SCHED,SCHED_Tasks_C1,-1,schedulepoint
-101435550,Core_1,0,C,Core_1,0,lock
-101435600,TASK_InputProcessing,50,R,FUNC_SEMUNLOCK,101,terminate
-101435600,Core_1,0,C,Core_1,0,unlock
-101435600,TASK_InputProcessing,50,STI,IPA_InputReady,50,trigger
-101435600,IPA_InputReady,50,T,TASK_CalcEngineSpeed,50,activate
-101435600,TASK_CalcEngineSpeed,50,SCHED,SCHED_Tasks_C2,-1,processactivate
-101435600,Core_1,0,T,TASK_InputProcessing,50,terminate
-101435600,TASK_InputProcessing,50,SCHED,SCHED_Tasks_C1,-1,processterminate
-101435600,Core_1,0,C,Core_1,0,idle
-101435600,TASK_InputProcessing,50,C,Core_1,0,idle
-101435650,TASK_InputProcessing,50,STI,IR_SCHED_Tasks_C1,347,trigger
-101435650,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-101435650,Core_1,0,T,TASK_1MS,101,start
-101435650,TASK_1MS,101,R,FUNC_EXECTIME_1,191,start
-101435650,Core_1,0,C,Core_1,0,execute
-101435650,TASK_1MS,101,C,Core_1,0,execute
-101435700,TASK_CalcEngineSpeed,50,STI,IR_SCHED_Tasks_C2,326,trigger
-101435700,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-101435700,Core_2,0,T,TASK_CalcEngineSpeed,50,start
-101435700,TASK_CalcEngineSpeed,50,R,FUNC_ENGINESPEED,50,start
-101435700,Core_2,0,C,Core_2,0,execute
-101435700,TASK_CalcEngineSpeed,50,C,Core_2,0,execute
-101652825,TASK_CalcEngineSpeed,50,R,FUNC_ENGINESPEED,50,terminate
-101652825,Core_2,0,T,TASK_CalcEngineSpeed,50,terminate
-101652825,TASK_CalcEngineSpeed,50,SCHED,SCHED_Tasks_C2,-1,processterminate
-101652825,Core_2,0,C,Core_2,0,idle
-101652825,TASK_CalcEngineSpeed,50,C,Core_2,0,idle
-101652925,TASK_CalcEngineSpeed,50,STI,IR_SCHED_Tasks_C2,327,trigger
-101652925,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-101891975,TASK_1MS,101,R,FUNC_EXECTIME_1,191,terminate
-101891975,Core_1,0,T,TASK_1MS,101,terminate
-101891975,TASK_1MS,101,SCHED,SCHED_Tasks_C1,-1,processterminate
-101891975,Core_1,0,C,Core_1,0,idle
-101891975,TASK_1MS,101,C,Core_1,0,idle
-101892075,TASK_1MS,101,STI,IR_SCHED_Tasks_C1,348,trigger
-101892075,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-101892075,Core_1,0,T,TASK_20MS,5,start
-101892075,TASK_20MS,5,R,FUNC_EXECTIME_1,187,start
-101892075,Core_1,0,C,Core_1,0,execute
-101892075,TASK_20MS,5,C,Core_1,0,execute
-102000000,SIM,-1,STI,TIMER-B_2ms,51,trigger
-102000000,TIMER-B_2ms,51,T,TASK_WritingActuator,51,activate
-102000000,TASK_WritingActuator,51,SCHED,SCHED_Tasks_C2,-1,processactivate
-102000000,SIM,-1,STI,TIMER-50MS,2,trigger
-102000000,TIMER-50MS,2,T,TASK_50MS,2,activate
-102000000,TASK_50MS,2,SCHED,SCHED_Tasks_C2,-1,processactivate
-102000100,TASK_WritingActuator,51,STI,IR_SCHED_Tasks_C2,328,trigger
-102000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-102000100,Core_2,0,T,TASK_WritingActuator,51,start
-102000100,TASK_WritingActuator,51,R,FUNC_SEMLOCK,102,start
-102000100,Core_2,0,C,Core_2,0,execute
-102000100,TASK_WritingActuator,51,C,Core_2,0,execute
-102100000,SIM,-1,STI,TIMER-5MS,51,trigger
-102100000,TIMER-5MS,51,T,TASK_5MS,51,activate
-102100000,TASK_5MS,51,SCHED,SCHED_Tasks_C2,-1,processactivate
-102100100,TASK_5MS,51,STI,IR_SCHED_Tasks_C2,329,trigger
-102100100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-102125100,TASK_WritingActuator,51,SEM,SEM_DataElement1,0,requestsemaphore,0
-102125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-102125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-102125100,Core_2,0,C,Core_2,0,lock
-102125100,TASK_WritingActuator,51,SEM,SEM_DataElement1,0,assigned,1
-102125150,TASK_WritingActuator,51,R,FUNC_SEMLOCK,102,terminate
-102125150,Core_2,0,C,Core_2,0,unlock
-102125150,TASK_WritingActuator,51,R,FUNC_WriteData,51,start
-102150000,SIM,-1,STI,TIMER-A_2ms,51,trigger
-102150000,TIMER-A_2ms,51,T,TASK_InputProcessing,51,activate
-102150000,TASK_InputProcessing,51,SCHED,SCHED_Tasks_C1,-1,processactivate
-102150100,TASK_InputProcessing,51,STI,IR_SCHED_Tasks_C1,349,trigger
-102150100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-102150100,TASK_20MS,5,R,FUNC_EXECTIME_1,187,suspend
-102150100,Core_1,0,T,TASK_20MS,5,preempt
-102150100,Core_1,0,C,Core_1,0,idle_execution
-102150100,TASK_20MS,5,C,Core_1,0,idle_execution
-102150100,Core_1,0,T,TASK_InputProcessing,51,start
-102150100,TASK_InputProcessing,51,R,FUNC_SEMLOCK,103,start
-102150100,Core_1,0,C,Core_1,0,execute
-102150100,TASK_InputProcessing,51,C,Core_1,0,execute
-102152050,TASK_WritingActuator,51,SIG,SIG_Mixture,0,write,0
-102152050,TASK_WritingActuator,51,R,FUNC_WriteData,51,terminate
-102152050,TASK_WritingActuator,51,R,FUNC_SEMUNLOCK,102,start
-102250000,SIM,-1,STI,TIMER-1MS,102,trigger
-102250000,TIMER-1MS,102,T,TASK_1MS,102,activate
-102250000,TASK_1MS,102,SCHED,SCHED_Tasks_C1,-1,processactivate
-102250100,TASK_1MS,102,STI,IR_SCHED_Tasks_C1,350,trigger
-102250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-102250100,TASK_InputProcessing,51,R,FUNC_SEMLOCK,103,suspend
-102250100,Core_1,0,T,TASK_InputProcessing,51,preempt
-102250100,Core_1,0,C,Core_1,0,idle_execution
-102250100,TASK_InputProcessing,51,C,Core_1,0,idle_execution
-102250100,Core_1,0,T,TASK_1MS,102,start
-102250100,TASK_1MS,102,R,FUNC_EXECTIME_1,193,start
-102250100,Core_1,0,C,Core_1,0,execute
-102250100,TASK_1MS,102,C,Core_1,0,execute
-102352050,TASK_WritingActuator,51,SEM,SEM_DataElement1,0,released,1
-102352050,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-102352050,TASK_WritingActuator,51,SCHED,SCHED_Tasks_C2,-1,schedulepoint
-102352050,Core_2,0,C,Core_2,0,lock
-102352100,TASK_WritingActuator,51,R,FUNC_SEMUNLOCK,102,terminate
-102352100,Core_2,0,T,TASK_WritingActuator,51,terminate
-102352100,TASK_WritingActuator,51,SCHED,SCHED_Tasks_C2,-1,processterminate
-102352100,Core_2,0,C,Core_2,0,unlock
-102352100,Core_2,0,C,Core_2,0,idle
-102352100,TASK_WritingActuator,51,C,Core_2,0,idle
-102352150,TASK_WritingActuator,51,STI,IR_SCHED_Tasks_C2,330,trigger
-102352150,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-102352150,Core_2,0,T,TASK_5MS,51,start
-102352150,TASK_5MS,51,R,FUNC_EXECTIME_1,192,start
-102352150,Core_2,0,C,Core_2,0,execute
-102352150,TASK_5MS,51,C,Core_2,0,execute
-102545375,TASK_1MS,102,R,FUNC_EXECTIME_1,193,terminate
-102545375,Core_1,0,T,TASK_1MS,102,terminate
-102545375,TASK_1MS,102,SCHED,SCHED_Tasks_C1,-1,processterminate
-102545375,Core_1,0,C,Core_1,0,idle
-102545375,TASK_1MS,102,C,Core_1,0,idle
-102545475,TASK_1MS,102,STI,IR_SCHED_Tasks_C1,351,trigger
-102545475,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-102545475,Core_1,0,C,Core_1,0,execute_idle
-102545475,TASK_InputProcessing,51,C,Core_1,0,execute_idle
-102545475,Core_1,0,T,TASK_InputProcessing,51,resume
-102545475,TASK_InputProcessing,51,R,FUNC_SEMLOCK,103,resume
-102570475,TASK_InputProcessing,51,SEM,SEM_DataElement1,0,requestsemaphore,0
-102570475,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-102570475,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-102570475,Core_1,0,C,Core_1,0,lock
-102570475,TASK_InputProcessing,51,SEM,SEM_DataElement1,0,assigned,1
-102570525,TASK_InputProcessing,51,R,FUNC_SEMLOCK,103,terminate
-102570525,Core_1,0,C,Core_1,0,unlock
-102570525,TASK_InputProcessing,51,R,FUNC_ReadSensorData,51,start
-102734625,TASK_InputProcessing,51,SIG,SIG_RotationSpeed,0,read,0
-102734625,TASK_InputProcessing,51,SIG,SIG_Lambda,0,read,0
-102734625,TASK_InputProcessing,51,SIG,SIG_Temperature,0,read,0
-102734625,TASK_InputProcessing,51,R,FUNC_ReadSensorData,51,terminate
-102734625,TASK_InputProcessing,51,R,FUNC_SEMUNLOCK,103,start
-102854325,TASK_5MS,51,R,FUNC_EXECTIME_1,192,terminate
-102854325,Core_2,0,T,TASK_5MS,51,terminate
-102854325,TASK_5MS,51,SCHED,SCHED_Tasks_C2,-1,processterminate
-102854325,Core_2,0,C,Core_2,0,idle
-102854325,TASK_5MS,51,C,Core_2,0,idle
-102854425,TASK_5MS,51,STI,IR_SCHED_Tasks_C2,331,trigger
-102854425,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-102854425,Core_2,0,T,TASK_50MS,2,start
-102854425,TASK_50MS,2,R,FUNC_EXECTIME_2,2,start
-102854425,Core_2,0,C,Core_2,0,execute
-102854425,TASK_50MS,2,C,Core_2,0,execute
-102934625,TASK_InputProcessing,51,SEM,SEM_DataElement1,0,released,1
-102934625,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-102934625,TASK_InputProcessing,51,SCHED,SCHED_Tasks_C1,-1,schedulepoint
-102934625,Core_1,0,C,Core_1,0,lock
-102934675,TASK_InputProcessing,51,R,FUNC_SEMUNLOCK,103,terminate
-102934675,Core_1,0,C,Core_1,0,unlock
-102934675,TASK_InputProcessing,51,STI,IPA_InputReady,51,trigger
-102934675,IPA_InputReady,51,T,TASK_CalcEngineSpeed,51,activate
-102934675,TASK_CalcEngineSpeed,51,SCHED,SCHED_Tasks_C2,-1,processactivate
-102934675,Core_1,0,T,TASK_InputProcessing,51,terminate
-102934675,TASK_InputProcessing,51,SCHED,SCHED_Tasks_C1,-1,processterminate
-102934675,Core_1,0,C,Core_1,0,idle
-102934675,TASK_InputProcessing,51,C,Core_1,0,idle
-102934725,TASK_InputProcessing,51,STI,IR_SCHED_Tasks_C1,352,trigger
-102934725,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-102934725,Core_1,0,C,Core_1,0,execute_idle
-102934725,TASK_20MS,5,C,Core_1,0,execute_idle
-102934725,Core_1,0,T,TASK_20MS,5,resume
-102934725,TASK_20MS,5,R,FUNC_EXECTIME_1,187,resume
-102934775,TASK_CalcEngineSpeed,51,STI,IR_SCHED_Tasks_C2,332,trigger
-102934775,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-102934775,TASK_50MS,2,R,FUNC_EXECTIME_2,2,suspend
-102934775,Core_2,0,T,TASK_50MS,2,preempt
-102934775,Core_2,0,C,Core_2,0,idle_execution
-102934775,TASK_50MS,2,C,Core_2,0,idle_execution
-102934775,Core_2,0,T,TASK_CalcEngineSpeed,51,start
-102934775,TASK_CalcEngineSpeed,51,R,FUNC_ENGINESPEED,51,start
-102934775,Core_2,0,C,Core_2,0,execute
-102934775,TASK_CalcEngineSpeed,51,C,Core_2,0,execute
-103118000,TASK_CalcEngineSpeed,51,R,FUNC_ENGINESPEED,51,terminate
-103118000,Core_2,0,T,TASK_CalcEngineSpeed,51,terminate
-103118000,TASK_CalcEngineSpeed,51,SCHED,SCHED_Tasks_C2,-1,processterminate
-103118000,Core_2,0,C,Core_2,0,idle
-103118000,TASK_CalcEngineSpeed,51,C,Core_2,0,idle
-103118100,TASK_CalcEngineSpeed,51,STI,IR_SCHED_Tasks_C2,333,trigger
-103118100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-103118100,Core_2,0,C,Core_2,0,execute_idle
-103118100,TASK_50MS,2,C,Core_2,0,execute_idle
-103118100,Core_2,0,T,TASK_50MS,2,resume
-103118100,TASK_50MS,2,R,FUNC_EXECTIME_2,2,resume
-103250000,SIM,-1,STI,TIMER-1MS,103,trigger
-103250000,TIMER-1MS,103,T,TASK_1MS,103,activate
-103250000,TASK_1MS,103,SCHED,SCHED_Tasks_C1,-1,processactivate
-103250100,TASK_1MS,103,STI,IR_SCHED_Tasks_C1,353,trigger
-103250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-103250100,TASK_20MS,5,R,FUNC_EXECTIME_1,187,suspend
-103250100,Core_1,0,T,TASK_20MS,5,preempt
-103250100,Core_1,0,C,Core_1,0,idle_execution
-103250100,TASK_20MS,5,C,Core_1,0,idle_execution
-103250100,Core_1,0,T,TASK_1MS,103,start
-103250100,TASK_1MS,103,R,FUNC_EXECTIME_1,194,start
-103250100,Core_1,0,C,Core_1,0,execute
-103250100,TASK_1MS,103,C,Core_1,0,execute
-103433525,TASK_50MS,2,R,FUNC_EXECTIME_2,2,terminate
-103433525,Core_2,0,T,TASK_50MS,2,terminate
-103433525,TASK_50MS,2,SCHED,SCHED_Tasks_C2,-1,processterminate
-103433525,Core_2,0,C,Core_2,0,idle
-103433525,TASK_50MS,2,C,Core_2,0,idle
-103433625,TASK_50MS,2,STI,IR_SCHED_Tasks_C2,334,trigger
-103433625,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-103641750,TASK_1MS,103,R,FUNC_EXECTIME_1,194,terminate
-103641750,Core_1,0,T,TASK_1MS,103,terminate
-103641750,TASK_1MS,103,SCHED,SCHED_Tasks_C1,-1,processterminate
-103641750,Core_1,0,C,Core_1,0,idle
-103641750,TASK_1MS,103,C,Core_1,0,idle
-103641850,TASK_1MS,103,STI,IR_SCHED_Tasks_C1,354,trigger
-103641850,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-103641850,Core_1,0,C,Core_1,0,execute_idle
-103641850,TASK_20MS,5,C,Core_1,0,execute_idle
-103641850,Core_1,0,T,TASK_20MS,5,resume
-103641850,TASK_20MS,5,R,FUNC_EXECTIME_1,187,resume
-103968575,TASK_20MS,5,R,FUNC_EXECTIME_1,187,terminate
-103968575,Core_1,0,T,TASK_20MS,5,terminate
-103968575,TASK_20MS,5,SCHED,SCHED_Tasks_C1,-1,processterminate
-103968575,Core_1,0,C,Core_1,0,idle
-103968575,TASK_20MS,5,C,Core_1,0,idle
-103968675,TASK_20MS,5,STI,IR_SCHED_Tasks_C1,355,trigger
-103968675,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-103968675,Core_1,0,T,TASK_100MS,1,start
-103968675,TASK_100MS,1,R,FUNC_EXECTIME_1,189,start
-103968675,Core_1,0,C,Core_1,0,execute
-103968675,TASK_100MS,1,C,Core_1,0,execute
-104000000,SIM,-1,STI,TIMER-B_2ms,52,trigger
-104000000,TIMER-B_2ms,52,T,TASK_WritingActuator,52,activate
-104000000,TASK_WritingActuator,52,SCHED,SCHED_Tasks_C2,-1,processactivate
-104000100,TASK_WritingActuator,52,STI,IR_SCHED_Tasks_C2,335,trigger
-104000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-104000100,Core_2,0,T,TASK_WritingActuator,52,start
-104000100,TASK_WritingActuator,52,R,FUNC_SEMLOCK,104,start
-104000100,Core_2,0,C,Core_2,0,execute
-104000100,TASK_WritingActuator,52,C,Core_2,0,execute
-104100000,SIM,-1,STI,TIMER-5MS,52,trigger
-104100000,TIMER-5MS,52,T,TASK_5MS,52,activate
-104100000,TASK_5MS,52,SCHED,SCHED_Tasks_C2,-1,processactivate
-104100100,TASK_5MS,52,STI,IR_SCHED_Tasks_C2,336,trigger
-104100100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-104125100,TASK_WritingActuator,52,SEM,SEM_DataElement1,0,requestsemaphore,0
-104125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-104125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-104125100,Core_2,0,C,Core_2,0,lock
-104125100,TASK_WritingActuator,52,SEM,SEM_DataElement1,0,assigned,1
-104125150,TASK_WritingActuator,52,R,FUNC_SEMLOCK,104,terminate
-104125150,Core_2,0,C,Core_2,0,unlock
-104125150,TASK_WritingActuator,52,R,FUNC_WriteData,52,start
-104150000,SIM,-1,STI,TIMER-A_2ms,52,trigger
-104150000,TIMER-A_2ms,52,T,TASK_InputProcessing,52,activate
-104150000,TASK_InputProcessing,52,SCHED,SCHED_Tasks_C1,-1,processactivate
-104150100,TASK_InputProcessing,52,STI,IR_SCHED_Tasks_C1,356,trigger
-104150100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-104150100,TASK_100MS,1,R,FUNC_EXECTIME_1,189,suspend
-104150100,Core_1,0,T,TASK_100MS,1,preempt
-104150100,Core_1,0,C,Core_1,0,idle_execution
-104150100,TASK_100MS,1,C,Core_1,0,idle_execution
-104150100,Core_1,0,T,TASK_InputProcessing,52,start
-104150100,TASK_InputProcessing,52,R,FUNC_SEMLOCK,105,start
-104150100,Core_1,0,C,Core_1,0,execute
-104150100,TASK_InputProcessing,52,C,Core_1,0,execute
-104152100,TASK_WritingActuator,52,SIG,SIG_Mixture,0,write,0
-104152100,TASK_WritingActuator,52,R,FUNC_WriteData,52,terminate
-104152100,TASK_WritingActuator,52,R,FUNC_SEMUNLOCK,104,start
-104250000,SIM,-1,STI,TIMER-1MS,104,trigger
-104250000,TIMER-1MS,104,T,TASK_1MS,104,activate
-104250000,TASK_1MS,104,SCHED,SCHED_Tasks_C1,-1,processactivate
-104250100,TASK_1MS,104,STI,IR_SCHED_Tasks_C1,357,trigger
-104250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-104250100,TASK_InputProcessing,52,R,FUNC_SEMLOCK,105,suspend
-104250100,Core_1,0,T,TASK_InputProcessing,52,preempt
-104250100,Core_1,0,C,Core_1,0,idle_execution
-104250100,TASK_InputProcessing,52,C,Core_1,0,idle_execution
-104250100,Core_1,0,T,TASK_1MS,104,start
-104250100,TASK_1MS,104,R,FUNC_EXECTIME_1,196,start
-104250100,Core_1,0,C,Core_1,0,execute
-104250100,TASK_1MS,104,C,Core_1,0,execute
-104352100,TASK_WritingActuator,52,SEM,SEM_DataElement1,0,released,1
-104352100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-104352100,TASK_WritingActuator,52,SCHED,SCHED_Tasks_C2,-1,schedulepoint
-104352100,Core_2,0,C,Core_2,0,lock
-104352150,TASK_WritingActuator,52,R,FUNC_SEMUNLOCK,104,terminate
-104352150,Core_2,0,T,TASK_WritingActuator,52,terminate
-104352150,TASK_WritingActuator,52,SCHED,SCHED_Tasks_C2,-1,processterminate
-104352150,Core_2,0,C,Core_2,0,unlock
-104352150,Core_2,0,C,Core_2,0,idle
-104352150,TASK_WritingActuator,52,C,Core_2,0,idle
-104352200,TASK_WritingActuator,52,STI,IR_SCHED_Tasks_C2,337,trigger
-104352200,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-104352200,Core_2,0,T,TASK_5MS,52,start
-104352200,TASK_5MS,52,R,FUNC_EXECTIME_1,195,start
-104352200,Core_2,0,C,Core_2,0,execute
-104352200,TASK_5MS,52,C,Core_2,0,execute
-104766700,TASK_5MS,52,R,FUNC_EXECTIME_1,195,terminate
-104766700,Core_2,0,T,TASK_5MS,52,terminate
-104766700,TASK_5MS,52,SCHED,SCHED_Tasks_C2,-1,processterminate
-104766700,Core_2,0,C,Core_2,0,idle
-104766700,TASK_5MS,52,C,Core_2,0,idle
-104766800,TASK_5MS,52,STI,IR_SCHED_Tasks_C2,338,trigger
-104766800,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-104912200,TASK_1MS,104,R,FUNC_EXECTIME_1,196,terminate
-104912200,Core_1,0,T,TASK_1MS,104,terminate
-104912200,TASK_1MS,104,SCHED,SCHED_Tasks_C1,-1,processterminate
-104912200,Core_1,0,C,Core_1,0,idle
-104912200,TASK_1MS,104,C,Core_1,0,idle
-104912300,TASK_1MS,104,STI,IR_SCHED_Tasks_C1,358,trigger
-104912300,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-104912300,Core_1,0,C,Core_1,0,execute_idle
-104912300,TASK_InputProcessing,52,C,Core_1,0,execute_idle
-104912300,Core_1,0,T,TASK_InputProcessing,52,resume
-104912300,TASK_InputProcessing,52,R,FUNC_SEMLOCK,105,resume
-104937300,TASK_InputProcessing,52,SEM,SEM_DataElement1,0,requestsemaphore,0
-104937300,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-104937300,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-104937300,Core_1,0,C,Core_1,0,lock
-104937300,TASK_InputProcessing,52,SEM,SEM_DataElement1,0,assigned,1
-104937350,TASK_InputProcessing,52,R,FUNC_SEMLOCK,105,terminate
-104937350,Core_1,0,C,Core_1,0,unlock
-104937350,TASK_InputProcessing,52,R,FUNC_ReadSensorData,52,start
-105000000,SIM,-1,STI,TIMER-10MS,10,trigger
-105000000,TIMER-10MS,10,T,TASK_10MS,10,activate
-105000000,TASK_10MS,10,SCHED,SCHED_Tasks_C2,-1,processactivate
-105000100,TASK_10MS,10,STI,IR_SCHED_Tasks_C2,339,trigger
-105000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-105000100,Core_2,0,T,TASK_10MS,10,start
-105000100,TASK_10MS,10,R,FUNC_EXECTIME_1,197,start
-105000100,Core_2,0,C,Core_2,0,execute
-105000100,TASK_10MS,10,C,Core_2,0,execute
-105095750,TASK_InputProcessing,52,SIG,SIG_RotationSpeed,0,read,0
-105095750,TASK_InputProcessing,52,SIG,SIG_Lambda,0,read,0
-105095750,TASK_InputProcessing,52,SIG,SIG_Temperature,0,read,0
-105095750,TASK_InputProcessing,52,R,FUNC_ReadSensorData,52,terminate
-105095750,TASK_InputProcessing,52,R,FUNC_SEMUNLOCK,105,start
-105250000,SIM,-1,STI,TIMER-1MS,105,trigger
-105250000,TIMER-1MS,105,T,TASK_1MS,105,activate
-105250000,TASK_1MS,105,SCHED,SCHED_Tasks_C1,-1,processactivate
-105250100,TASK_1MS,105,STI,IR_SCHED_Tasks_C1,359,trigger
-105250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-105295750,TASK_InputProcessing,52,SEM,SEM_DataElement1,0,released,1
-105295750,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-105295750,TASK_InputProcessing,52,SCHED,SCHED_Tasks_C1,-1,schedulepoint
-105295750,Core_1,0,C,Core_1,0,lock
-105295800,TASK_InputProcessing,52,R,FUNC_SEMUNLOCK,105,terminate
-105295800,Core_1,0,C,Core_1,0,unlock
-105295800,TASK_InputProcessing,52,STI,IPA_InputReady,52,trigger
-105295800,IPA_InputReady,52,T,TASK_CalcEngineSpeed,52,activate
-105295800,TASK_CalcEngineSpeed,52,SCHED,SCHED_Tasks_C2,-1,processactivate
-105295800,Core_1,0,T,TASK_InputProcessing,52,terminate
-105295800,TASK_InputProcessing,52,SCHED,SCHED_Tasks_C1,-1,processterminate
-105295800,Core_1,0,C,Core_1,0,idle
-105295800,TASK_InputProcessing,52,C,Core_1,0,idle
-105295850,TASK_InputProcessing,52,STI,IR_SCHED_Tasks_C1,360,trigger
-105295850,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-105295850,Core_1,0,T,TASK_1MS,105,start
-105295850,TASK_1MS,105,R,FUNC_EXECTIME_1,198,start
-105295850,Core_1,0,C,Core_1,0,execute
-105295850,TASK_1MS,105,C,Core_1,0,execute
-105295900,TASK_CalcEngineSpeed,52,STI,IR_SCHED_Tasks_C2,340,trigger
-105295900,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-105295900,TASK_10MS,10,R,FUNC_EXECTIME_1,197,suspend
-105295900,Core_2,0,T,TASK_10MS,10,preempt
-105295900,Core_2,0,C,Core_2,0,idle_execution
-105295900,TASK_10MS,10,C,Core_2,0,idle_execution
-105295900,Core_2,0,T,TASK_CalcEngineSpeed,52,start
-105295900,TASK_CalcEngineSpeed,52,R,FUNC_ENGINESPEED,52,start
-105295900,Core_2,0,C,Core_2,0,execute
-105295900,TASK_CalcEngineSpeed,52,C,Core_2,0,execute
-105540150,TASK_CalcEngineSpeed,52,R,FUNC_ENGINESPEED,52,terminate
-105540150,Core_2,0,T,TASK_CalcEngineSpeed,52,terminate
-105540150,TASK_CalcEngineSpeed,52,SCHED,SCHED_Tasks_C2,-1,processterminate
-105540150,Core_2,0,C,Core_2,0,idle
-105540150,TASK_CalcEngineSpeed,52,C,Core_2,0,idle
-105540250,TASK_CalcEngineSpeed,52,STI,IR_SCHED_Tasks_C2,341,trigger
-105540250,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-105540250,Core_2,0,C,Core_2,0,execute_idle
-105540250,TASK_10MS,10,C,Core_2,0,execute_idle
-105540250,Core_2,0,T,TASK_10MS,10,resume
-105540250,TASK_10MS,10,R,FUNC_EXECTIME_1,197,resume
-105568375,TASK_10MS,10,R,FUNC_EXECTIME_1,197,terminate
-105568375,Core_2,0,T,TASK_10MS,10,terminate
-105568375,TASK_10MS,10,SCHED,SCHED_Tasks_C2,-1,processterminate
-105568375,Core_2,0,C,Core_2,0,idle
-105568375,TASK_10MS,10,C,Core_2,0,idle
-105568475,TASK_10MS,10,STI,IR_SCHED_Tasks_C2,342,trigger
-105568475,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-105683425,TASK_1MS,105,R,FUNC_EXECTIME_1,198,terminate
-105683425,Core_1,0,T,TASK_1MS,105,terminate
-105683425,TASK_1MS,105,SCHED,SCHED_Tasks_C1,-1,processterminate
-105683425,Core_1,0,C,Core_1,0,idle
-105683425,TASK_1MS,105,C,Core_1,0,idle
-105683525,TASK_1MS,105,STI,IR_SCHED_Tasks_C1,361,trigger
-105683525,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-105683525,Core_1,0,C,Core_1,0,execute_idle
-105683525,TASK_100MS,1,C,Core_1,0,execute_idle
-105683525,Core_1,0,T,TASK_100MS,1,resume
-105683525,TASK_100MS,1,R,FUNC_EXECTIME_1,189,resume
-105855175,TASK_100MS,1,R,FUNC_EXECTIME_1,189,terminate
-105855175,Core_1,0,T,TASK_100MS,1,terminate
-105855175,TASK_100MS,1,SCHED,SCHED_Tasks_C1,-1,processterminate
-105855175,Core_1,0,C,Core_1,0,idle
-105855175,TASK_100MS,1,C,Core_1,0,idle
-105855275,TASK_100MS,1,STI,IR_SCHED_Tasks_C1,362,trigger
-105855275,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-106000000,SIM,-1,STI,TIMER-B_2ms,53,trigger
-106000000,TIMER-B_2ms,53,T,TASK_WritingActuator,53,activate
-106000000,TASK_WritingActuator,53,SCHED,SCHED_Tasks_C2,-1,processactivate
-106000100,TASK_WritingActuator,53,STI,IR_SCHED_Tasks_C2,343,trigger
-106000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-106000100,Core_2,0,T,TASK_WritingActuator,53,start
-106000100,TASK_WritingActuator,53,R,FUNC_SEMLOCK,106,start
-106000100,Core_2,0,C,Core_2,0,execute
-106000100,TASK_WritingActuator,53,C,Core_2,0,execute
-106100000,SIM,-1,STI,TIMER-5MS,53,trigger
-106100000,TIMER-5MS,53,T,TASK_5MS,53,activate
-106100000,TASK_5MS,53,SCHED,SCHED_Tasks_C2,-1,processactivate
-106100100,TASK_5MS,53,STI,IR_SCHED_Tasks_C2,344,trigger
-106100100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-106125100,TASK_WritingActuator,53,SEM,SEM_DataElement1,0,requestsemaphore,0
-106125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-106125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-106125100,Core_2,0,C,Core_2,0,lock
-106125100,TASK_WritingActuator,53,SEM,SEM_DataElement1,0,assigned,1
-106125150,TASK_WritingActuator,53,R,FUNC_SEMLOCK,106,terminate
-106125150,Core_2,0,C,Core_2,0,unlock
-106125150,TASK_WritingActuator,53,R,FUNC_WriteData,53,start
-106150000,SIM,-1,STI,TIMER-A_2ms,53,trigger
-106150000,TIMER-A_2ms,53,T,TASK_InputProcessing,53,activate
-106150000,TASK_InputProcessing,53,SCHED,SCHED_Tasks_C1,-1,processactivate
-106150100,TASK_InputProcessing,53,STI,IR_SCHED_Tasks_C1,363,trigger
-106150100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-106150100,Core_1,0,T,TASK_InputProcessing,53,start
-106150100,TASK_InputProcessing,53,R,FUNC_SEMLOCK,107,start
-106150100,Core_1,0,C,Core_1,0,execute
-106150100,TASK_InputProcessing,53,C,Core_1,0,execute
-106152125,TASK_WritingActuator,53,SIG,SIG_Mixture,0,write,0
-106152125,TASK_WritingActuator,53,R,FUNC_WriteData,53,terminate
-106152125,TASK_WritingActuator,53,R,FUNC_SEMUNLOCK,106,start
-106250000,SIM,-1,STI,TIMER-1MS,106,trigger
-106250000,TIMER-1MS,106,T,TASK_1MS,106,activate
-106250000,TASK_1MS,106,SCHED,SCHED_Tasks_C1,-1,processactivate
-106250100,TASK_1MS,106,STI,IR_SCHED_Tasks_C1,364,trigger
-106250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-106250100,TASK_InputProcessing,53,R,FUNC_SEMLOCK,107,suspend
-106250100,Core_1,0,T,TASK_InputProcessing,53,preempt
-106250100,Core_1,0,C,Core_1,0,idle_execution
-106250100,TASK_InputProcessing,53,C,Core_1,0,idle_execution
-106250100,Core_1,0,T,TASK_1MS,106,start
-106250100,TASK_1MS,106,R,FUNC_EXECTIME_1,200,start
-106250100,Core_1,0,C,Core_1,0,execute
-106250100,TASK_1MS,106,C,Core_1,0,execute
-106352125,TASK_WritingActuator,53,SEM,SEM_DataElement1,0,released,1
-106352125,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-106352125,TASK_WritingActuator,53,SCHED,SCHED_Tasks_C2,-1,schedulepoint
-106352125,Core_2,0,C,Core_2,0,lock
-106352175,TASK_WritingActuator,53,R,FUNC_SEMUNLOCK,106,terminate
-106352175,Core_2,0,T,TASK_WritingActuator,53,terminate
-106352175,TASK_WritingActuator,53,SCHED,SCHED_Tasks_C2,-1,processterminate
-106352175,Core_2,0,C,Core_2,0,unlock
-106352175,Core_2,0,C,Core_2,0,idle
-106352175,TASK_WritingActuator,53,C,Core_2,0,idle
-106352225,TASK_WritingActuator,53,STI,IR_SCHED_Tasks_C2,345,trigger
-106352225,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-106352225,Core_2,0,T,TASK_5MS,53,start
-106352225,TASK_5MS,53,R,FUNC_EXECTIME_1,199,start
-106352225,Core_2,0,C,Core_2,0,execute
-106352225,TASK_5MS,53,C,Core_2,0,execute
-106734675,TASK_1MS,106,R,FUNC_EXECTIME_1,200,terminate
-106734675,Core_1,0,T,TASK_1MS,106,terminate
-106734675,TASK_1MS,106,SCHED,SCHED_Tasks_C1,-1,processterminate
-106734675,Core_1,0,C,Core_1,0,idle
-106734675,TASK_1MS,106,C,Core_1,0,idle
-106734775,TASK_1MS,106,STI,IR_SCHED_Tasks_C1,365,trigger
-106734775,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-106734775,Core_1,0,C,Core_1,0,execute_idle
-106734775,TASK_InputProcessing,53,C,Core_1,0,execute_idle
-106734775,Core_1,0,T,TASK_InputProcessing,53,resume
-106734775,TASK_InputProcessing,53,R,FUNC_SEMLOCK,107,resume
-106759775,TASK_InputProcessing,53,SEM,SEM_DataElement1,0,requestsemaphore,0
-106759775,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-106759775,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-106759775,Core_1,0,C,Core_1,0,lock
-106759775,TASK_InputProcessing,53,SEM,SEM_DataElement1,0,assigned,1
-106759825,TASK_InputProcessing,53,R,FUNC_SEMLOCK,107,terminate
-106759825,Core_1,0,C,Core_1,0,unlock
-106759825,TASK_InputProcessing,53,R,FUNC_ReadSensorData,53,start
-106921775,TASK_InputProcessing,53,SIG,SIG_RotationSpeed,0,read,0
-106921775,TASK_InputProcessing,53,SIG,SIG_Lambda,0,read,0
-106921775,TASK_InputProcessing,53,SIG,SIG_Temperature,0,read,0
-106921775,TASK_InputProcessing,53,R,FUNC_ReadSensorData,53,terminate
-106921775,TASK_InputProcessing,53,R,FUNC_SEMUNLOCK,107,start
-107036775,TASK_5MS,53,R,FUNC_EXECTIME_1,199,terminate
-107036775,Core_2,0,T,TASK_5MS,53,terminate
-107036775,TASK_5MS,53,SCHED,SCHED_Tasks_C2,-1,processterminate
-107036775,Core_2,0,C,Core_2,0,idle
-107036775,TASK_5MS,53,C,Core_2,0,idle
-107036875,TASK_5MS,53,STI,IR_SCHED_Tasks_C2,346,trigger
-107036875,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-107121775,TASK_InputProcessing,53,SEM,SEM_DataElement1,0,released,1
-107121775,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-107121775,TASK_InputProcessing,53,SCHED,SCHED_Tasks_C1,-1,schedulepoint
-107121775,Core_1,0,C,Core_1,0,lock
-107121825,TASK_InputProcessing,53,R,FUNC_SEMUNLOCK,107,terminate
-107121825,Core_1,0,C,Core_1,0,unlock
-107121825,TASK_InputProcessing,53,STI,IPA_InputReady,53,trigger
-107121825,IPA_InputReady,53,T,TASK_CalcEngineSpeed,53,activate
-107121825,TASK_CalcEngineSpeed,53,SCHED,SCHED_Tasks_C2,-1,processactivate
-107121825,Core_1,0,T,TASK_InputProcessing,53,terminate
-107121825,TASK_InputProcessing,53,SCHED,SCHED_Tasks_C1,-1,processterminate
-107121825,Core_1,0,C,Core_1,0,idle
-107121825,TASK_InputProcessing,53,C,Core_1,0,idle
-107121875,TASK_InputProcessing,53,STI,IR_SCHED_Tasks_C1,366,trigger
-107121875,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-107121925,TASK_CalcEngineSpeed,53,STI,IR_SCHED_Tasks_C2,347,trigger
-107121925,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-107121925,Core_2,0,T,TASK_CalcEngineSpeed,53,start
-107121925,TASK_CalcEngineSpeed,53,R,FUNC_ENGINESPEED,53,start
-107121925,Core_2,0,C,Core_2,0,execute
-107121925,TASK_CalcEngineSpeed,53,C,Core_2,0,execute
-107250000,SIM,-1,STI,TIMER-1MS,107,trigger
-107250000,TIMER-1MS,107,T,TASK_1MS,107,activate
-107250000,TASK_1MS,107,SCHED,SCHED_Tasks_C1,-1,processactivate
-107250100,TASK_1MS,107,STI,IR_SCHED_Tasks_C1,367,trigger
-107250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-107250100,Core_1,0,T,TASK_1MS,107,start
-107250100,TASK_1MS,107,R,FUNC_EXECTIME_1,201,start
-107250100,Core_1,0,C,Core_1,0,execute
-107250100,TASK_1MS,107,C,Core_1,0,execute
-107283425,TASK_CalcEngineSpeed,53,R,FUNC_ENGINESPEED,53,terminate
-107283425,Core_2,0,T,TASK_CalcEngineSpeed,53,terminate
-107283425,TASK_CalcEngineSpeed,53,SCHED,SCHED_Tasks_C2,-1,processterminate
-107283425,Core_2,0,C,Core_2,0,idle
-107283425,TASK_CalcEngineSpeed,53,C,Core_2,0,idle
-107283525,TASK_CalcEngineSpeed,53,STI,IR_SCHED_Tasks_C2,348,trigger
-107283525,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-107826100,TASK_1MS,107,R,FUNC_EXECTIME_1,201,terminate
-107826100,Core_1,0,T,TASK_1MS,107,terminate
-107826100,TASK_1MS,107,SCHED,SCHED_Tasks_C1,-1,processterminate
-107826100,Core_1,0,C,Core_1,0,idle
-107826100,TASK_1MS,107,C,Core_1,0,idle
-107826200,TASK_1MS,107,STI,IR_SCHED_Tasks_C1,368,trigger
-107826200,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-108000000,SIM,-1,STI,TIMER-B_2ms,54,trigger
-108000000,TIMER-B_2ms,54,T,TASK_WritingActuator,54,activate
-108000000,TASK_WritingActuator,54,SCHED,SCHED_Tasks_C2,-1,processactivate
-108000100,TASK_WritingActuator,54,STI,IR_SCHED_Tasks_C2,349,trigger
-108000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-108000100,Core_2,0,T,TASK_WritingActuator,54,start
-108000100,TASK_WritingActuator,54,R,FUNC_SEMLOCK,108,start
-108000100,Core_2,0,C,Core_2,0,execute
-108000100,TASK_WritingActuator,54,C,Core_2,0,execute
-108100000,SIM,-1,STI,TIMER-5MS,54,trigger
-108100000,TIMER-5MS,54,T,TASK_5MS,54,activate
-108100000,TASK_5MS,54,SCHED,SCHED_Tasks_C2,-1,processactivate
-108100100,TASK_5MS,54,STI,IR_SCHED_Tasks_C2,350,trigger
-108100100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-108125100,TASK_WritingActuator,54,SEM,SEM_DataElement1,0,requestsemaphore,0
-108125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-108125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-108125100,Core_2,0,C,Core_2,0,lock
-108125100,TASK_WritingActuator,54,SEM,SEM_DataElement1,0,assigned,1
-108125150,TASK_WritingActuator,54,R,FUNC_SEMLOCK,108,terminate
-108125150,Core_2,0,C,Core_2,0,unlock
-108125150,TASK_WritingActuator,54,R,FUNC_WriteData,54,start
-108150000,SIM,-1,STI,TIMER-A_2ms,54,trigger
-108150000,TIMER-A_2ms,54,T,TASK_InputProcessing,54,activate
-108150000,TASK_InputProcessing,54,SCHED,SCHED_Tasks_C1,-1,processactivate
-108150100,TASK_InputProcessing,54,STI,IR_SCHED_Tasks_C1,369,trigger
-108150100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-108150100,Core_1,0,T,TASK_InputProcessing,54,start
-108150100,TASK_InputProcessing,54,R,FUNC_SEMLOCK,109,start
-108150100,Core_1,0,C,Core_1,0,execute
-108150100,TASK_InputProcessing,54,C,Core_1,0,execute
-108151975,TASK_WritingActuator,54,SIG,SIG_Mixture,0,write,0
-108151975,TASK_WritingActuator,54,R,FUNC_WriteData,54,terminate
-108151975,TASK_WritingActuator,54,R,FUNC_SEMUNLOCK,108,start
-108250000,SIM,-1,STI,TIMER-1MS,108,trigger
-108250000,TIMER-1MS,108,T,TASK_1MS,108,activate
-108250000,TASK_1MS,108,SCHED,SCHED_Tasks_C1,-1,processactivate
-108250100,TASK_1MS,108,STI,IR_SCHED_Tasks_C1,370,trigger
-108250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-108250100,TASK_InputProcessing,54,R,FUNC_SEMLOCK,109,suspend
-108250100,Core_1,0,T,TASK_InputProcessing,54,preempt
-108250100,Core_1,0,C,Core_1,0,idle_execution
-108250100,TASK_InputProcessing,54,C,Core_1,0,idle_execution
-108250100,Core_1,0,T,TASK_1MS,108,start
-108250100,TASK_1MS,108,R,FUNC_EXECTIME_1,203,start
-108250100,Core_1,0,C,Core_1,0,execute
-108250100,TASK_1MS,108,C,Core_1,0,execute
-108351975,TASK_WritingActuator,54,SEM,SEM_DataElement1,0,released,1
-108351975,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-108351975,TASK_WritingActuator,54,SCHED,SCHED_Tasks_C2,-1,schedulepoint
-108351975,Core_2,0,C,Core_2,0,lock
-108352025,TASK_WritingActuator,54,R,FUNC_SEMUNLOCK,108,terminate
-108352025,Core_2,0,T,TASK_WritingActuator,54,terminate
-108352025,TASK_WritingActuator,54,SCHED,SCHED_Tasks_C2,-1,processterminate
-108352025,Core_2,0,C,Core_2,0,unlock
-108352025,Core_2,0,C,Core_2,0,idle
-108352025,TASK_WritingActuator,54,C,Core_2,0,idle
-108352075,TASK_WritingActuator,54,STI,IR_SCHED_Tasks_C2,351,trigger
-108352075,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-108352075,Core_2,0,T,TASK_5MS,54,start
-108352075,TASK_5MS,54,R,FUNC_EXECTIME_1,202,start
-108352075,Core_2,0,C,Core_2,0,execute
-108352075,TASK_5MS,54,C,Core_2,0,execute
-108531950,TASK_1MS,108,R,FUNC_EXECTIME_1,203,terminate
-108531950,Core_1,0,T,TASK_1MS,108,terminate
-108531950,TASK_1MS,108,SCHED,SCHED_Tasks_C1,-1,processterminate
-108531950,Core_1,0,C,Core_1,0,idle
-108531950,TASK_1MS,108,C,Core_1,0,idle
-108532050,TASK_1MS,108,STI,IR_SCHED_Tasks_C1,371,trigger
-108532050,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-108532050,Core_1,0,C,Core_1,0,execute_idle
-108532050,TASK_InputProcessing,54,C,Core_1,0,execute_idle
-108532050,Core_1,0,T,TASK_InputProcessing,54,resume
-108532050,TASK_InputProcessing,54,R,FUNC_SEMLOCK,109,resume
-108557050,TASK_InputProcessing,54,SEM,SEM_DataElement1,0,requestsemaphore,0
-108557050,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-108557050,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-108557050,Core_1,0,C,Core_1,0,lock
-108557050,TASK_InputProcessing,54,SEM,SEM_DataElement1,0,assigned,1
-108557100,TASK_InputProcessing,54,R,FUNC_SEMLOCK,109,terminate
-108557100,Core_1,0,C,Core_1,0,unlock
-108557100,TASK_InputProcessing,54,R,FUNC_ReadSensorData,54,start
-108642350,TASK_5MS,54,R,FUNC_EXECTIME_1,202,terminate
-108642350,Core_2,0,T,TASK_5MS,54,terminate
-108642350,TASK_5MS,54,SCHED,SCHED_Tasks_C2,-1,processterminate
-108642350,Core_2,0,C,Core_2,0,idle
-108642350,TASK_5MS,54,C,Core_2,0,idle
-108642450,TASK_5MS,54,STI,IR_SCHED_Tasks_C2,352,trigger
-108642450,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-108721050,TASK_InputProcessing,54,SIG,SIG_RotationSpeed,0,read,0
-108721050,TASK_InputProcessing,54,SIG,SIG_Lambda,0,read,0
-108721050,TASK_InputProcessing,54,SIG,SIG_Temperature,0,read,0
-108721050,TASK_InputProcessing,54,R,FUNC_ReadSensorData,54,terminate
-108721050,TASK_InputProcessing,54,R,FUNC_SEMUNLOCK,109,start
-108921050,TASK_InputProcessing,54,SEM,SEM_DataElement1,0,released,1
-108921050,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-108921050,TASK_InputProcessing,54,SCHED,SCHED_Tasks_C1,-1,schedulepoint
-108921050,Core_1,0,C,Core_1,0,lock
-108921100,TASK_InputProcessing,54,R,FUNC_SEMUNLOCK,109,terminate
-108921100,Core_1,0,C,Core_1,0,unlock
-108921100,TASK_InputProcessing,54,STI,IPA_InputReady,54,trigger
-108921100,IPA_InputReady,54,T,TASK_CalcEngineSpeed,54,activate
-108921100,TASK_CalcEngineSpeed,54,SCHED,SCHED_Tasks_C2,-1,processactivate
-108921100,Core_1,0,T,TASK_InputProcessing,54,terminate
-108921100,TASK_InputProcessing,54,SCHED,SCHED_Tasks_C1,-1,processterminate
-108921100,Core_1,0,C,Core_1,0,idle
-108921100,TASK_InputProcessing,54,C,Core_1,0,idle
-108921150,TASK_InputProcessing,54,STI,IR_SCHED_Tasks_C1,372,trigger
-108921150,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-108921200,TASK_CalcEngineSpeed,54,STI,IR_SCHED_Tasks_C2,353,trigger
-108921200,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-108921200,Core_2,0,T,TASK_CalcEngineSpeed,54,start
-108921200,TASK_CalcEngineSpeed,54,R,FUNC_ENGINESPEED,54,start
-108921200,Core_2,0,C,Core_2,0,execute
-108921200,TASK_CalcEngineSpeed,54,C,Core_2,0,execute
-109171150,TASK_CalcEngineSpeed,54,R,FUNC_ENGINESPEED,54,terminate
-109171150,Core_2,0,T,TASK_CalcEngineSpeed,54,terminate
-109171150,TASK_CalcEngineSpeed,54,SCHED,SCHED_Tasks_C2,-1,processterminate
-109171150,Core_2,0,C,Core_2,0,idle
-109171150,TASK_CalcEngineSpeed,54,C,Core_2,0,idle
-109171250,TASK_CalcEngineSpeed,54,STI,IR_SCHED_Tasks_C2,354,trigger
-109171250,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-109250000,SIM,-1,STI,TIMER-1MS,109,trigger
-109250000,TIMER-1MS,109,T,TASK_1MS,109,activate
-109250000,TASK_1MS,109,SCHED,SCHED_Tasks_C1,-1,processactivate
-109250100,TASK_1MS,109,STI,IR_SCHED_Tasks_C1,373,trigger
-109250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-109250100,Core_1,0,T,TASK_1MS,109,start
-109250100,TASK_1MS,109,R,FUNC_EXECTIME_1,204,start
-109250100,Core_1,0,C,Core_1,0,execute
-109250100,TASK_1MS,109,C,Core_1,0,execute
-109544525,TASK_1MS,109,R,FUNC_EXECTIME_1,204,terminate
-109544525,Core_1,0,T,TASK_1MS,109,terminate
-109544525,TASK_1MS,109,SCHED,SCHED_Tasks_C1,-1,processterminate
-109544525,Core_1,0,C,Core_1,0,idle
-109544525,TASK_1MS,109,C,Core_1,0,idle
-109544625,TASK_1MS,109,STI,IR_SCHED_Tasks_C1,374,trigger
-109544625,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-110000000,SIM,-1,STI,TIMER-B_2ms,55,trigger
-110000000,TIMER-B_2ms,55,T,TASK_WritingActuator,55,activate
-110000000,TASK_WritingActuator,55,SCHED,SCHED_Tasks_C2,-1,processactivate
-110000000,SIM,-1,STI,TIMER-10MS_2,11,trigger
-110000000,TIMER-10MS_2,11,T,TASK_10MS_DL2,11,activate
-110000000,TASK_10MS_DL2,11,SCHED,SCHED_Tasks_C1,-1,processactivate
-110000100,TASK_WritingActuator,55,STI,IR_SCHED_Tasks_C2,355,trigger
-110000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-110000100,Core_2,0,T,TASK_WritingActuator,55,start
-110000100,TASK_WritingActuator,55,R,FUNC_SEMLOCK,110,start
-110000100,Core_2,0,C,Core_2,0,execute
-110000100,TASK_WritingActuator,55,C,Core_2,0,execute
-110000100,TASK_10MS_DL2,11,STI,IR_SCHED_Tasks_C1,375,trigger
-110000100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-110000100,Core_1,0,T,TASK_10MS_DL2,11,start
-110000100,TASK_10MS_DL2,11,R,FUNC_EXECTIME_1,205,start
-110000100,Core_1,0,C,Core_1,0,execute
-110000100,TASK_10MS_DL2,11,C,Core_1,0,execute
-110100000,SIM,-1,STI,TIMER-5MS,55,trigger
-110100000,TIMER-5MS,55,T,TASK_5MS,55,activate
-110100000,TASK_5MS,55,SCHED,SCHED_Tasks_C2,-1,processactivate
-110100100,TASK_5MS,55,STI,IR_SCHED_Tasks_C2,356,trigger
-110100100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-110125100,TASK_WritingActuator,55,SEM,SEM_DataElement1,0,requestsemaphore,0
-110125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-110125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-110125100,Core_2,0,C,Core_2,0,lock
-110125100,TASK_WritingActuator,55,SEM,SEM_DataElement1,0,assigned,1
-110125150,TASK_WritingActuator,55,R,FUNC_SEMLOCK,110,terminate
-110125150,Core_2,0,C,Core_2,0,unlock
-110125150,TASK_WritingActuator,55,R,FUNC_WriteData,55,start
-110150000,SIM,-1,STI,TIMER-A_2ms,55,trigger
-110150000,TIMER-A_2ms,55,T,TASK_InputProcessing,55,activate
-110150000,TASK_InputProcessing,55,SCHED,SCHED_Tasks_C1,-1,processactivate
-110150100,TASK_InputProcessing,55,STI,IR_SCHED_Tasks_C1,376,trigger
-110150100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-110151950,TASK_WritingActuator,55,SIG,SIG_Mixture,0,write,0
-110151950,TASK_WritingActuator,55,R,FUNC_WriteData,55,terminate
-110151950,TASK_WritingActuator,55,R,FUNC_SEMUNLOCK,110,start
-110250000,SIM,-1,STI,TIMER-1MS,110,trigger
-110250000,TIMER-1MS,110,T,TASK_1MS,110,activate
-110250000,TASK_1MS,110,SCHED,SCHED_Tasks_C1,-1,processactivate
-110250100,TASK_1MS,110,STI,IR_SCHED_Tasks_C1,377,trigger
-110250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-110250100,TASK_10MS_DL2,11,R,FUNC_EXECTIME_1,205,suspend
-110250100,Core_1,0,T,TASK_10MS_DL2,11,preempt
-110250100,Core_1,0,C,Core_1,0,idle_execution
-110250100,TASK_10MS_DL2,11,C,Core_1,0,idle_execution
-110250100,Core_1,0,T,TASK_1MS,110,start
-110250100,TASK_1MS,110,R,FUNC_EXECTIME_1,207,start
-110250100,Core_1,0,C,Core_1,0,execute
-110250100,TASK_1MS,110,C,Core_1,0,execute
-110351950,TASK_WritingActuator,55,SEM,SEM_DataElement1,0,released,1
-110351950,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-110351950,TASK_WritingActuator,55,SCHED,SCHED_Tasks_C2,-1,schedulepoint
-110351950,Core_2,0,C,Core_2,0,lock
-110352000,TASK_WritingActuator,55,R,FUNC_SEMUNLOCK,110,terminate
-110352000,Core_2,0,T,TASK_WritingActuator,55,terminate
-110352000,TASK_WritingActuator,55,SCHED,SCHED_Tasks_C2,-1,processterminate
-110352000,Core_2,0,C,Core_2,0,unlock
-110352000,Core_2,0,C,Core_2,0,idle
-110352000,TASK_WritingActuator,55,C,Core_2,0,idle
-110352050,TASK_WritingActuator,55,STI,IR_SCHED_Tasks_C2,357,trigger
-110352050,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-110352050,Core_2,0,T,TASK_5MS,55,start
-110352050,TASK_5MS,55,R,FUNC_EXECTIME_1,206,start
-110352050,Core_2,0,C,Core_2,0,execute
-110352050,TASK_5MS,55,C,Core_2,0,execute
-110722675,TASK_1MS,110,R,FUNC_EXECTIME_1,207,terminate
-110722675,Core_1,0,T,TASK_1MS,110,terminate
-110722675,TASK_1MS,110,SCHED,SCHED_Tasks_C1,-1,processterminate
-110722675,Core_1,0,C,Core_1,0,idle
-110722675,TASK_1MS,110,C,Core_1,0,idle
-110722775,TASK_1MS,110,STI,IR_SCHED_Tasks_C1,378,trigger
-110722775,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-110722775,Core_1,0,C,Core_1,0,execute_idle
-110722775,TASK_10MS_DL2,11,C,Core_1,0,execute_idle
-110722775,Core_1,0,T,TASK_10MS_DL2,11,resume
-110722775,TASK_10MS_DL2,11,R,FUNC_EXECTIME_1,205,resume
-110846075,TASK_5MS,55,R,FUNC_EXECTIME_1,206,terminate
-110846075,Core_2,0,T,TASK_5MS,55,terminate
-110846075,TASK_5MS,55,SCHED,SCHED_Tasks_C2,-1,processterminate
-110846075,Core_2,0,C,Core_2,0,idle
-110846075,TASK_5MS,55,C,Core_2,0,idle
-110846175,TASK_5MS,55,STI,IR_SCHED_Tasks_C2,358,trigger
-110846175,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-111250000,SIM,-1,STI,TIMER-1MS,111,trigger
-111250000,TIMER-1MS,111,T,TASK_1MS,111,activate
-111250000,TASK_1MS,111,SCHED,SCHED_Tasks_C1,-1,processactivate
-111250100,TASK_1MS,111,STI,IR_SCHED_Tasks_C1,379,trigger
-111250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-111250100,TASK_10MS_DL2,11,R,FUNC_EXECTIME_1,205,suspend
-111250100,Core_1,0,T,TASK_10MS_DL2,11,preempt
-111250100,Core_1,0,C,Core_1,0,idle_execution
-111250100,TASK_10MS_DL2,11,C,Core_1,0,idle_execution
-111250100,Core_1,0,T,TASK_1MS,111,start
-111250100,TASK_1MS,111,R,FUNC_EXECTIME_1,208,start
-111250100,Core_1,0,C,Core_1,0,execute
-111250100,TASK_1MS,111,C,Core_1,0,execute
-112000000,SIM,-1,STI,TIMER-B_2ms,56,trigger
-112000000,TIMER-B_2ms,56,T,TASK_WritingActuator,56,activate
-112000000,TASK_WritingActuator,56,SCHED,SCHED_Tasks_C2,-1,processactivate
-112000100,TASK_WritingActuator,56,STI,IR_SCHED_Tasks_C2,359,trigger
-112000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-112000100,Core_2,0,T,TASK_WritingActuator,56,start
-112000100,TASK_WritingActuator,56,R,FUNC_SEMLOCK,112,start
-112000100,Core_2,0,C,Core_2,0,execute
-112000100,TASK_WritingActuator,56,C,Core_2,0,execute
-112100000,SIM,-1,STI,TIMER-5MS,56,trigger
-112100000,TIMER-5MS,56,T,TASK_5MS,56,activate
-112100000,TASK_5MS,56,SCHED,SCHED_Tasks_C2,-1,processactivate
-112100100,TASK_5MS,56,STI,IR_SCHED_Tasks_C2,360,trigger
-112100100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-112125100,TASK_WritingActuator,56,SEM,SEM_DataElement1,0,requestsemaphore,0
-112125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-112125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-112125100,Core_2,0,C,Core_2,0,lock
-112125100,TASK_WritingActuator,56,SEM,SEM_DataElement1,0,assigned,1
-112125150,TASK_WritingActuator,56,R,FUNC_SEMLOCK,112,terminate
-112125150,Core_2,0,C,Core_2,0,unlock
-112125150,TASK_WritingActuator,56,R,FUNC_WriteData,56,start
-112150000,SIM,-1,STI,TIMER-A_2ms,56,trigger
-112150000,TIMER-A_2ms,56,T,TASK_InputProcessing,56,activate
-112150000,TASK_InputProcessing,56,SCHED,SCHED_Tasks_C1,-1,processactivate
-112150100,TASK_InputProcessing,56,STI,IR_SCHED_Tasks_C1,380,trigger
-112150100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-112152450,TASK_WritingActuator,56,SIG,SIG_Mixture,0,write,0
-112152450,TASK_WritingActuator,56,R,FUNC_WriteData,56,terminate
-112152450,TASK_WritingActuator,56,R,FUNC_SEMUNLOCK,112,start
-112152900,TASK_1MS,111,R,FUNC_EXECTIME_1,208,terminate
-112152900,Core_1,0,T,TASK_1MS,111,terminate
-112152900,TASK_1MS,111,SCHED,SCHED_Tasks_C1,-1,processterminate
-112152900,Core_1,0,C,Core_1,0,idle
-112152900,TASK_1MS,111,C,Core_1,0,idle
-112153000,TASK_1MS,111,STI,IR_SCHED_Tasks_C1,381,trigger
-112153000,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-112153000,Core_1,0,C,Core_1,0,execute_idle
-112153000,TASK_10MS_DL2,11,C,Core_1,0,execute_idle
-112153000,Core_1,0,T,TASK_10MS_DL2,11,resume
-112153000,TASK_10MS_DL2,11,R,FUNC_EXECTIME_1,205,resume
-112250000,SIM,-1,STI,TIMER-1MS,112,trigger
-112250000,TIMER-1MS,112,T,TASK_1MS,112,activate
-112250000,TASK_1MS,112,SCHED,SCHED_Tasks_C1,-1,processactivate
-112250100,TASK_1MS,112,STI,IR_SCHED_Tasks_C1,382,trigger
-112250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-112250100,TASK_10MS_DL2,11,R,FUNC_EXECTIME_1,205,suspend
-112250100,Core_1,0,T,TASK_10MS_DL2,11,preempt
-112250100,Core_1,0,C,Core_1,0,idle_execution
-112250100,TASK_10MS_DL2,11,C,Core_1,0,idle_execution
-112250100,Core_1,0,T,TASK_1MS,112,start
-112250100,TASK_1MS,112,R,FUNC_EXECTIME_1,210,start
-112250100,Core_1,0,C,Core_1,0,execute
-112250100,TASK_1MS,112,C,Core_1,0,execute
-112352450,TASK_WritingActuator,56,SEM,SEM_DataElement1,0,released,1
-112352450,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-112352450,TASK_WritingActuator,56,SCHED,SCHED_Tasks_C2,-1,schedulepoint
-112352450,Core_2,0,C,Core_2,0,lock
-112352500,TASK_WritingActuator,56,R,FUNC_SEMUNLOCK,112,terminate
-112352500,Core_2,0,T,TASK_WritingActuator,56,terminate
-112352500,TASK_WritingActuator,56,SCHED,SCHED_Tasks_C2,-1,processterminate
-112352500,Core_2,0,C,Core_2,0,unlock
-112352500,Core_2,0,C,Core_2,0,idle
-112352500,TASK_WritingActuator,56,C,Core_2,0,idle
-112352550,TASK_WritingActuator,56,STI,IR_SCHED_Tasks_C2,361,trigger
-112352550,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-112352550,Core_2,0,T,TASK_5MS,56,start
-112352550,TASK_5MS,56,R,FUNC_EXECTIME_1,209,start
-112352550,Core_2,0,C,Core_2,0,execute
-112352550,TASK_5MS,56,C,Core_2,0,execute
-112571925,TASK_1MS,112,R,FUNC_EXECTIME_1,210,terminate
-112571925,Core_1,0,T,TASK_1MS,112,terminate
-112571925,TASK_1MS,112,SCHED,SCHED_Tasks_C1,-1,processterminate
-112571925,Core_1,0,C,Core_1,0,idle
-112571925,TASK_1MS,112,C,Core_1,0,idle
-112572025,TASK_1MS,112,STI,IR_SCHED_Tasks_C1,383,trigger
-112572025,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-112572025,Core_1,0,C,Core_1,0,execute_idle
-112572025,TASK_10MS_DL2,11,C,Core_1,0,execute_idle
-112572025,Core_1,0,T,TASK_10MS_DL2,11,resume
-112572025,TASK_10MS_DL2,11,R,FUNC_EXECTIME_1,205,resume
-112716125,TASK_10MS_DL2,11,R,FUNC_EXECTIME_1,205,terminate
-112716125,Core_1,0,T,TASK_10MS_DL2,11,terminate
-112716125,TASK_10MS_DL2,11,SCHED,SCHED_Tasks_C1,-1,processterminate
-112716125,Core_1,0,C,Core_1,0,idle
-112716125,TASK_10MS_DL2,11,C,Core_1,0,idle
-112716225,TASK_10MS_DL2,11,STI,IR_SCHED_Tasks_C1,384,trigger
-112716225,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-112716225,Core_1,0,T,TASK_InputProcessing,55,start
-112716225,TASK_InputProcessing,55,R,FUNC_SEMLOCK,111,start
-112716225,Core_1,0,C,Core_1,0,execute
-112716225,TASK_InputProcessing,55,C,Core_1,0,execute
-112841225,TASK_InputProcessing,55,SEM,SEM_DataElement1,0,requestsemaphore,0
-112841225,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-112841225,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-112841225,Core_1,0,C,Core_1,0,lock
-112841225,TASK_InputProcessing,55,SEM,SEM_DataElement1,0,assigned,1
-112841275,TASK_InputProcessing,55,R,FUNC_SEMLOCK,111,terminate
-112841275,Core_1,0,C,Core_1,0,unlock
-112841275,TASK_InputProcessing,55,R,FUNC_ReadSensorData,55,start
-113004475,TASK_InputProcessing,55,SIG,SIG_RotationSpeed,0,read,0
-113004475,TASK_InputProcessing,55,SIG,SIG_Lambda,0,read,0
-113004475,TASK_InputProcessing,55,SIG,SIG_Temperature,0,read,0
-113004475,TASK_InputProcessing,55,R,FUNC_ReadSensorData,55,terminate
-113004475,TASK_InputProcessing,55,R,FUNC_SEMUNLOCK,111,start
-113063125,TASK_5MS,56,R,FUNC_EXECTIME_1,209,terminate
-113063125,Core_2,0,T,TASK_5MS,56,terminate
-113063125,TASK_5MS,56,SCHED,SCHED_Tasks_C2,-1,processterminate
-113063125,Core_2,0,C,Core_2,0,idle
-113063125,TASK_5MS,56,C,Core_2,0,idle
-113063225,TASK_5MS,56,STI,IR_SCHED_Tasks_C2,362,trigger
-113063225,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-113204475,TASK_InputProcessing,55,SEM,SEM_DataElement1,0,released,1
-113204475,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-113204475,TASK_InputProcessing,55,SCHED,SCHED_Tasks_C1,-1,schedulepoint
-113204475,Core_1,0,C,Core_1,0,lock
-113204525,TASK_InputProcessing,55,R,FUNC_SEMUNLOCK,111,terminate
-113204525,Core_1,0,C,Core_1,0,unlock
-113204525,TASK_InputProcessing,55,STI,IPA_InputReady,55,trigger
-113204525,IPA_InputReady,55,T,TASK_CalcEngineSpeed,55,activate
-113204525,TASK_CalcEngineSpeed,55,SCHED,SCHED_Tasks_C2,-1,processactivate
-113204525,Core_1,0,T,TASK_InputProcessing,55,terminate
-113204525,TASK_InputProcessing,55,SCHED,SCHED_Tasks_C1,-1,processterminate
-113204525,Core_1,0,C,Core_1,0,idle
-113204525,TASK_InputProcessing,55,C,Core_1,0,idle
-113204575,TASK_InputProcessing,55,STI,IR_SCHED_Tasks_C1,385,trigger
-113204575,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-113204575,Core_1,0,T,TASK_InputProcessing,56,start
-113204575,TASK_InputProcessing,56,R,FUNC_SEMLOCK,113,start
-113204575,Core_1,0,C,Core_1,0,execute
-113204575,TASK_InputProcessing,56,C,Core_1,0,execute
-113204625,TASK_CalcEngineSpeed,55,STI,IR_SCHED_Tasks_C2,363,trigger
-113204625,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-113204625,Core_2,0,T,TASK_CalcEngineSpeed,55,start
-113204625,TASK_CalcEngineSpeed,55,R,FUNC_ENGINESPEED,55,start
-113204625,Core_2,0,C,Core_2,0,execute
-113204625,TASK_CalcEngineSpeed,55,C,Core_2,0,execute
-113250000,SIM,-1,STI,TIMER-1MS,113,trigger
-113250000,TIMER-1MS,113,T,TASK_1MS,113,activate
-113250000,TASK_1MS,113,SCHED,SCHED_Tasks_C1,-1,processactivate
-113250100,TASK_1MS,113,STI,IR_SCHED_Tasks_C1,386,trigger
-113250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-113250100,TASK_InputProcessing,56,R,FUNC_SEMLOCK,113,suspend
-113250100,Core_1,0,T,TASK_InputProcessing,56,preempt
-113250100,Core_1,0,C,Core_1,0,idle_execution
-113250100,TASK_InputProcessing,56,C,Core_1,0,idle_execution
-113250100,Core_1,0,T,TASK_1MS,113,start
-113250100,TASK_1MS,113,R,FUNC_EXECTIME_1,211,start
-113250100,Core_1,0,C,Core_1,0,execute
-113250100,TASK_1MS,113,C,Core_1,0,execute
-113371500,TASK_CalcEngineSpeed,55,R,FUNC_ENGINESPEED,55,terminate
-113371500,Core_2,0,T,TASK_CalcEngineSpeed,55,terminate
-113371500,TASK_CalcEngineSpeed,55,SCHED,SCHED_Tasks_C2,-1,processterminate
-113371500,Core_2,0,C,Core_2,0,idle
-113371500,TASK_CalcEngineSpeed,55,C,Core_2,0,idle
-113371600,TASK_CalcEngineSpeed,55,STI,IR_SCHED_Tasks_C2,364,trigger
-113371600,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-113564450,TASK_1MS,113,R,FUNC_EXECTIME_1,211,terminate
-113564450,Core_1,0,T,TASK_1MS,113,terminate
-113564450,TASK_1MS,113,SCHED,SCHED_Tasks_C1,-1,processterminate
-113564450,Core_1,0,C,Core_1,0,idle
-113564450,TASK_1MS,113,C,Core_1,0,idle
-113564550,TASK_1MS,113,STI,IR_SCHED_Tasks_C1,387,trigger
-113564550,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-113564550,Core_1,0,C,Core_1,0,execute_idle
-113564550,TASK_InputProcessing,56,C,Core_1,0,execute_idle
-113564550,Core_1,0,T,TASK_InputProcessing,56,resume
-113564550,TASK_InputProcessing,56,R,FUNC_SEMLOCK,113,resume
-113644025,TASK_InputProcessing,56,SEM,SEM_DataElement1,0,requestsemaphore,0
-113644025,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-113644025,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-113644025,Core_1,0,C,Core_1,0,lock
-113644025,TASK_InputProcessing,56,SEM,SEM_DataElement1,0,assigned,1
-113644075,TASK_InputProcessing,56,R,FUNC_SEMLOCK,113,terminate
-113644075,Core_1,0,C,Core_1,0,unlock
-113644075,TASK_InputProcessing,56,R,FUNC_ReadSensorData,56,start
-113803350,TASK_InputProcessing,56,SIG,SIG_RotationSpeed,0,read,0
-113803350,TASK_InputProcessing,56,SIG,SIG_Lambda,0,read,0
-113803350,TASK_InputProcessing,56,SIG,SIG_Temperature,0,read,0
-113803350,TASK_InputProcessing,56,R,FUNC_ReadSensorData,56,terminate
-113803350,TASK_InputProcessing,56,R,FUNC_SEMUNLOCK,113,start
-114000000,SIM,-1,STI,TIMER-B_2ms,57,trigger
-114000000,TIMER-B_2ms,57,T,TASK_WritingActuator,57,activate
-114000000,TASK_WritingActuator,57,SCHED,SCHED_Tasks_C2,-1,processactivate
-114000100,TASK_WritingActuator,57,STI,IR_SCHED_Tasks_C2,365,trigger
-114000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-114000100,Core_2,0,T,TASK_WritingActuator,57,start
-114000100,TASK_WritingActuator,57,R,FUNC_SEMLOCK,114,start
-114000100,Core_2,0,C,Core_2,0,execute
-114000100,TASK_WritingActuator,57,C,Core_2,0,execute
-114003350,TASK_InputProcessing,56,SEM,SEM_DataElement1,0,released,1
-114003350,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-114003350,TASK_InputProcessing,56,SCHED,SCHED_Tasks_C1,-1,schedulepoint
-114003350,Core_1,0,C,Core_1,0,lock
-114003400,TASK_InputProcessing,56,R,FUNC_SEMUNLOCK,113,terminate
-114003400,Core_1,0,C,Core_1,0,unlock
-114003400,TASK_InputProcessing,56,STI,IPA_InputReady,56,trigger
-114003400,IPA_InputReady,56,T,TASK_CalcEngineSpeed,56,activate
-114003400,TASK_CalcEngineSpeed,56,SCHED,SCHED_Tasks_C2,-1,processactivate
-114003400,Core_1,0,T,TASK_InputProcessing,56,terminate
-114003400,TASK_InputProcessing,56,SCHED,SCHED_Tasks_C1,-1,processterminate
-114003400,Core_1,0,C,Core_1,0,idle
-114003400,TASK_InputProcessing,56,C,Core_1,0,idle
-114003450,TASK_InputProcessing,56,STI,IR_SCHED_Tasks_C1,388,trigger
-114003450,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-114003500,TASK_CalcEngineSpeed,56,STI,IR_SCHED_Tasks_C2,366,trigger
-114003500,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-114100000,SIM,-1,STI,TIMER-5MS,57,trigger
-114100000,TIMER-5MS,57,T,TASK_5MS,57,activate
-114100000,TASK_5MS,57,SCHED,SCHED_Tasks_C2,-1,processactivate
-114100100,TASK_5MS,57,STI,IR_SCHED_Tasks_C2,367,trigger
-114100100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-114125100,TASK_WritingActuator,57,SEM,SEM_DataElement1,0,requestsemaphore,0
-114125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-114125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-114125100,Core_2,0,C,Core_2,0,lock
-114125100,TASK_WritingActuator,57,SEM,SEM_DataElement1,0,assigned,1
-114125150,TASK_WritingActuator,57,R,FUNC_SEMLOCK,114,terminate
-114125150,Core_2,0,C,Core_2,0,unlock
-114125150,TASK_WritingActuator,57,R,FUNC_WriteData,57,start
-114150000,SIM,-1,STI,TIMER-A_2ms,57,trigger
-114150000,TIMER-A_2ms,57,T,TASK_InputProcessing,57,activate
-114150000,TASK_InputProcessing,57,SCHED,SCHED_Tasks_C1,-1,processactivate
-114150100,TASK_InputProcessing,57,STI,IR_SCHED_Tasks_C1,389,trigger
-114150100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-114150100,Core_1,0,T,TASK_InputProcessing,57,start
-114150100,TASK_InputProcessing,57,R,FUNC_SEMLOCK,115,start
-114150100,Core_1,0,C,Core_1,0,execute
-114150100,TASK_InputProcessing,57,C,Core_1,0,execute
-114152250,TASK_WritingActuator,57,SIG,SIG_Mixture,0,write,0
-114152250,TASK_WritingActuator,57,R,FUNC_WriteData,57,terminate
-114152250,TASK_WritingActuator,57,R,FUNC_SEMUNLOCK,114,start
-114250000,SIM,-1,STI,TIMER-1MS,114,trigger
-114250000,TIMER-1MS,114,T,TASK_1MS,114,activate
-114250000,TASK_1MS,114,SCHED,SCHED_Tasks_C1,-1,processactivate
-114250100,TASK_1MS,114,STI,IR_SCHED_Tasks_C1,390,trigger
-114250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-114250100,TASK_InputProcessing,57,R,FUNC_SEMLOCK,115,suspend
-114250100,Core_1,0,T,TASK_InputProcessing,57,preempt
-114250100,Core_1,0,C,Core_1,0,idle_execution
-114250100,TASK_InputProcessing,57,C,Core_1,0,idle_execution
-114250100,Core_1,0,T,TASK_1MS,114,start
-114250100,TASK_1MS,114,R,FUNC_EXECTIME_1,213,start
-114250100,Core_1,0,C,Core_1,0,execute
-114250100,TASK_1MS,114,C,Core_1,0,execute
-114352250,TASK_WritingActuator,57,SEM,SEM_DataElement1,0,released,1
-114352250,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-114352250,TASK_WritingActuator,57,SCHED,SCHED_Tasks_C2,-1,schedulepoint
-114352250,Core_2,0,C,Core_2,0,lock
-114352300,TASK_WritingActuator,57,R,FUNC_SEMUNLOCK,114,terminate
-114352300,Core_2,0,T,TASK_WritingActuator,57,terminate
-114352300,TASK_WritingActuator,57,SCHED,SCHED_Tasks_C2,-1,processterminate
-114352300,Core_2,0,C,Core_2,0,unlock
-114352300,Core_2,0,C,Core_2,0,idle
-114352300,TASK_WritingActuator,57,C,Core_2,0,idle
-114352350,TASK_WritingActuator,57,STI,IR_SCHED_Tasks_C2,368,trigger
-114352350,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-114352350,Core_2,0,T,TASK_CalcEngineSpeed,56,start
-114352350,TASK_CalcEngineSpeed,56,R,FUNC_ENGINESPEED,56,start
-114352350,Core_2,0,C,Core_2,0,execute
-114352350,TASK_CalcEngineSpeed,56,C,Core_2,0,execute
-114566250,TASK_CalcEngineSpeed,56,R,FUNC_ENGINESPEED,56,terminate
-114566250,Core_2,0,T,TASK_CalcEngineSpeed,56,terminate
-114566250,TASK_CalcEngineSpeed,56,SCHED,SCHED_Tasks_C2,-1,processterminate
-114566250,Core_2,0,C,Core_2,0,idle
-114566250,TASK_CalcEngineSpeed,56,C,Core_2,0,idle
-114566350,TASK_CalcEngineSpeed,56,STI,IR_SCHED_Tasks_C2,369,trigger
-114566350,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-114566350,Core_2,0,T,TASK_5MS,57,start
-114566350,TASK_5MS,57,R,FUNC_EXECTIME_1,212,start
-114566350,Core_2,0,C,Core_2,0,execute
-114566350,TASK_5MS,57,C,Core_2,0,execute
-114918650,TASK_5MS,57,R,FUNC_EXECTIME_1,212,terminate
-114918650,Core_2,0,T,TASK_5MS,57,terminate
-114918650,TASK_5MS,57,SCHED,SCHED_Tasks_C2,-1,processterminate
-114918650,Core_2,0,C,Core_2,0,idle
-114918650,TASK_5MS,57,C,Core_2,0,idle
-114918750,TASK_5MS,57,STI,IR_SCHED_Tasks_C2,370,trigger
-114918750,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-115000000,SIM,-1,STI,TIMER-10MS,11,trigger
-115000000,TIMER-10MS,11,T,TASK_10MS,11,activate
-115000000,TASK_10MS,11,SCHED,SCHED_Tasks_C2,-1,processactivate
-115000100,TASK_10MS,11,STI,IR_SCHED_Tasks_C2,371,trigger
-115000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-115000100,Core_2,0,T,TASK_10MS,11,start
-115000100,TASK_10MS,11,R,FUNC_EXECTIME_1,214,start
-115000100,Core_2,0,C,Core_2,0,execute
-115000100,TASK_10MS,11,C,Core_2,0,execute
-115044800,TASK_1MS,114,R,FUNC_EXECTIME_1,213,terminate
-115044800,Core_1,0,T,TASK_1MS,114,terminate
-115044800,TASK_1MS,114,SCHED,SCHED_Tasks_C1,-1,processterminate
-115044800,Core_1,0,C,Core_1,0,idle
-115044800,TASK_1MS,114,C,Core_1,0,idle
-115044900,TASK_1MS,114,STI,IR_SCHED_Tasks_C1,391,trigger
-115044900,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-115044900,Core_1,0,C,Core_1,0,execute_idle
-115044900,TASK_InputProcessing,57,C,Core_1,0,execute_idle
-115044900,Core_1,0,T,TASK_InputProcessing,57,resume
-115044900,TASK_InputProcessing,57,R,FUNC_SEMLOCK,115,resume
-115069900,TASK_InputProcessing,57,SEM,SEM_DataElement1,0,requestsemaphore,0
-115069900,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-115069900,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-115069900,Core_1,0,C,Core_1,0,lock
-115069900,TASK_InputProcessing,57,SEM,SEM_DataElement1,0,assigned,1
-115069950,TASK_InputProcessing,57,R,FUNC_SEMLOCK,115,terminate
-115069950,Core_1,0,C,Core_1,0,unlock
-115069950,TASK_InputProcessing,57,R,FUNC_ReadSensorData,57,start
-115232400,TASK_InputProcessing,57,SIG,SIG_RotationSpeed,0,read,0
-115232400,TASK_InputProcessing,57,SIG,SIG_Lambda,0,read,0
-115232400,TASK_InputProcessing,57,SIG,SIG_Temperature,0,read,0
-115232400,TASK_InputProcessing,57,R,FUNC_ReadSensorData,57,terminate
-115232400,TASK_InputProcessing,57,R,FUNC_SEMUNLOCK,115,start
-115250000,SIM,-1,STI,TIMER-1MS,115,trigger
-115250000,TIMER-1MS,115,T,TASK_1MS,115,activate
-115250000,TASK_1MS,115,SCHED,SCHED_Tasks_C1,-1,processactivate
-115250100,TASK_1MS,115,STI,IR_SCHED_Tasks_C1,392,trigger
-115250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-115432400,TASK_InputProcessing,57,SEM,SEM_DataElement1,0,released,1
-115432400,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-115432400,TASK_InputProcessing,57,SCHED,SCHED_Tasks_C1,-1,schedulepoint
-115432400,Core_1,0,C,Core_1,0,lock
-115432450,TASK_InputProcessing,57,R,FUNC_SEMUNLOCK,115,terminate
-115432450,Core_1,0,C,Core_1,0,unlock
-115432450,TASK_InputProcessing,57,STI,IPA_InputReady,57,trigger
-115432450,IPA_InputReady,57,T,TASK_CalcEngineSpeed,57,activate
-115432450,TASK_CalcEngineSpeed,57,SCHED,SCHED_Tasks_C2,-1,processactivate
-115432450,Core_1,0,T,TASK_InputProcessing,57,terminate
-115432450,TASK_InputProcessing,57,SCHED,SCHED_Tasks_C1,-1,processterminate
-115432450,Core_1,0,C,Core_1,0,idle
-115432450,TASK_InputProcessing,57,C,Core_1,0,idle
-115432500,TASK_InputProcessing,57,STI,IR_SCHED_Tasks_C1,393,trigger
-115432500,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-115432500,Core_1,0,T,TASK_1MS,115,start
-115432500,TASK_1MS,115,R,FUNC_EXECTIME_1,215,start
-115432500,Core_1,0,C,Core_1,0,execute
-115432500,TASK_1MS,115,C,Core_1,0,execute
-115432550,TASK_CalcEngineSpeed,57,STI,IR_SCHED_Tasks_C2,372,trigger
-115432550,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-115432550,TASK_10MS,11,R,FUNC_EXECTIME_1,214,suspend
-115432550,Core_2,0,T,TASK_10MS,11,preempt
-115432550,Core_2,0,C,Core_2,0,idle_execution
-115432550,TASK_10MS,11,C,Core_2,0,idle_execution
-115432550,Core_2,0,T,TASK_CalcEngineSpeed,57,start
-115432550,TASK_CalcEngineSpeed,57,R,FUNC_ENGINESPEED,57,start
-115432550,Core_2,0,C,Core_2,0,execute
-115432550,TASK_CalcEngineSpeed,57,C,Core_2,0,execute
-115554575,TASK_CalcEngineSpeed,57,R,FUNC_ENGINESPEED,57,terminate
-115554575,Core_2,0,T,TASK_CalcEngineSpeed,57,terminate
-115554575,TASK_CalcEngineSpeed,57,SCHED,SCHED_Tasks_C2,-1,processterminate
-115554575,Core_2,0,C,Core_2,0,idle
-115554575,TASK_CalcEngineSpeed,57,C,Core_2,0,idle
-115554675,TASK_CalcEngineSpeed,57,STI,IR_SCHED_Tasks_C2,373,trigger
-115554675,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-115554675,Core_2,0,C,Core_2,0,execute_idle
-115554675,TASK_10MS,11,C,Core_2,0,execute_idle
-115554675,Core_2,0,T,TASK_10MS,11,resume
-115554675,TASK_10MS,11,R,FUNC_EXECTIME_1,214,resume
-115750350,TASK_1MS,115,R,FUNC_EXECTIME_1,215,terminate
-115750350,Core_1,0,T,TASK_1MS,115,terminate
-115750350,TASK_1MS,115,SCHED,SCHED_Tasks_C1,-1,processterminate
-115750350,Core_1,0,C,Core_1,0,idle
-115750350,TASK_1MS,115,C,Core_1,0,idle
-115750450,TASK_1MS,115,STI,IR_SCHED_Tasks_C1,394,trigger
-115750450,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-115919400,TASK_10MS,11,R,FUNC_EXECTIME_1,214,terminate
-115919400,Core_2,0,T,TASK_10MS,11,terminate
-115919400,TASK_10MS,11,SCHED,SCHED_Tasks_C2,-1,processterminate
-115919400,Core_2,0,C,Core_2,0,idle
-115919400,TASK_10MS,11,C,Core_2,0,idle
-115919500,TASK_10MS,11,STI,IR_SCHED_Tasks_C2,374,trigger
-115919500,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-116000000,SIM,-1,STI,TIMER-B_2ms,58,trigger
-116000000,TIMER-B_2ms,58,T,TASK_WritingActuator,58,activate
-116000000,TASK_WritingActuator,58,SCHED,SCHED_Tasks_C2,-1,processactivate
-116000100,TASK_WritingActuator,58,STI,IR_SCHED_Tasks_C2,375,trigger
-116000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-116000100,Core_2,0,T,TASK_WritingActuator,58,start
-116000100,TASK_WritingActuator,58,R,FUNC_SEMLOCK,116,start
-116000100,Core_2,0,C,Core_2,0,execute
-116000100,TASK_WritingActuator,58,C,Core_2,0,execute
-116100000,SIM,-1,STI,TIMER-5MS,58,trigger
-116100000,TIMER-5MS,58,T,TASK_5MS,58,activate
-116100000,TASK_5MS,58,SCHED,SCHED_Tasks_C2,-1,processactivate
-116100100,TASK_5MS,58,STI,IR_SCHED_Tasks_C2,376,trigger
-116100100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-116125100,TASK_WritingActuator,58,SEM,SEM_DataElement1,0,requestsemaphore,0
-116125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-116125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-116125100,Core_2,0,C,Core_2,0,lock
-116125100,TASK_WritingActuator,58,SEM,SEM_DataElement1,0,assigned,1
-116125150,TASK_WritingActuator,58,R,FUNC_SEMLOCK,116,terminate
-116125150,Core_2,0,C,Core_2,0,unlock
-116125150,TASK_WritingActuator,58,R,FUNC_WriteData,58,start
-116150000,SIM,-1,STI,TIMER-A_2ms,58,trigger
-116150000,TIMER-A_2ms,58,T,TASK_InputProcessing,58,activate
-116150000,TASK_InputProcessing,58,SCHED,SCHED_Tasks_C1,-1,processactivate
-116150100,TASK_InputProcessing,58,STI,IR_SCHED_Tasks_C1,395,trigger
-116150100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-116150100,Core_1,0,T,TASK_InputProcessing,58,start
-116150100,TASK_InputProcessing,58,R,FUNC_SEMLOCK,117,start
-116150100,Core_1,0,C,Core_1,0,execute
-116150100,TASK_InputProcessing,58,C,Core_1,0,execute
-116152175,TASK_WritingActuator,58,SIG,SIG_Mixture,0,write,0
-116152175,TASK_WritingActuator,58,R,FUNC_WriteData,58,terminate
-116152175,TASK_WritingActuator,58,R,FUNC_SEMUNLOCK,116,start
-116250000,SIM,-1,STI,TIMER-1MS,116,trigger
-116250000,TIMER-1MS,116,T,TASK_1MS,116,activate
-116250000,TASK_1MS,116,SCHED,SCHED_Tasks_C1,-1,processactivate
-116250100,TASK_1MS,116,STI,IR_SCHED_Tasks_C1,396,trigger
-116250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-116250100,TASK_InputProcessing,58,R,FUNC_SEMLOCK,117,suspend
-116250100,Core_1,0,T,TASK_InputProcessing,58,preempt
-116250100,Core_1,0,C,Core_1,0,idle_execution
-116250100,TASK_InputProcessing,58,C,Core_1,0,idle_execution
-116250100,Core_1,0,T,TASK_1MS,116,start
-116250100,TASK_1MS,116,R,FUNC_EXECTIME_1,217,start
-116250100,Core_1,0,C,Core_1,0,execute
-116250100,TASK_1MS,116,C,Core_1,0,execute
-116352175,TASK_WritingActuator,58,SEM,SEM_DataElement1,0,released,1
-116352175,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-116352175,TASK_WritingActuator,58,SCHED,SCHED_Tasks_C2,-1,schedulepoint
-116352175,Core_2,0,C,Core_2,0,lock
-116352225,TASK_WritingActuator,58,R,FUNC_SEMUNLOCK,116,terminate
-116352225,Core_2,0,T,TASK_WritingActuator,58,terminate
-116352225,TASK_WritingActuator,58,SCHED,SCHED_Tasks_C2,-1,processterminate
-116352225,Core_2,0,C,Core_2,0,unlock
-116352225,Core_2,0,C,Core_2,0,idle
-116352225,TASK_WritingActuator,58,C,Core_2,0,idle
-116352275,TASK_WritingActuator,58,STI,IR_SCHED_Tasks_C2,377,trigger
-116352275,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-116352275,Core_2,0,T,TASK_5MS,58,start
-116352275,TASK_5MS,58,R,FUNC_EXECTIME_1,216,start
-116352275,Core_2,0,C,Core_2,0,execute
-116352275,TASK_5MS,58,C,Core_2,0,execute
-116552025,TASK_1MS,116,R,FUNC_EXECTIME_1,217,terminate
-116552025,Core_1,0,T,TASK_1MS,116,terminate
-116552025,TASK_1MS,116,SCHED,SCHED_Tasks_C1,-1,processterminate
-116552025,Core_1,0,C,Core_1,0,idle
-116552025,TASK_1MS,116,C,Core_1,0,idle
-116552125,TASK_1MS,116,STI,IR_SCHED_Tasks_C1,397,trigger
-116552125,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-116552125,Core_1,0,C,Core_1,0,execute_idle
-116552125,TASK_InputProcessing,58,C,Core_1,0,execute_idle
-116552125,Core_1,0,T,TASK_InputProcessing,58,resume
-116552125,TASK_InputProcessing,58,R,FUNC_SEMLOCK,117,resume
-116577125,TASK_InputProcessing,58,SEM,SEM_DataElement1,0,requestsemaphore,0
-116577125,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-116577125,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-116577125,Core_1,0,C,Core_1,0,lock
-116577125,TASK_InputProcessing,58,SEM,SEM_DataElement1,0,assigned,1
-116577175,TASK_InputProcessing,58,R,FUNC_SEMLOCK,117,terminate
-116577175,Core_1,0,C,Core_1,0,unlock
-116577175,TASK_InputProcessing,58,R,FUNC_ReadSensorData,58,start
-116738175,TASK_InputProcessing,58,SIG,SIG_RotationSpeed,0,read,0
-116738175,TASK_InputProcessing,58,SIG,SIG_Lambda,0,read,0
-116738175,TASK_InputProcessing,58,SIG,SIG_Temperature,0,read,0
-116738175,TASK_InputProcessing,58,R,FUNC_ReadSensorData,58,terminate
-116738175,TASK_InputProcessing,58,R,FUNC_SEMUNLOCK,117,start
-116938175,TASK_InputProcessing,58,SEM,SEM_DataElement1,0,released,1
-116938175,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-116938175,TASK_InputProcessing,58,SCHED,SCHED_Tasks_C1,-1,schedulepoint
-116938175,Core_1,0,C,Core_1,0,lock
-116938225,TASK_InputProcessing,58,R,FUNC_SEMUNLOCK,117,terminate
-116938225,Core_1,0,C,Core_1,0,unlock
-116938225,TASK_InputProcessing,58,STI,IPA_InputReady,58,trigger
-116938225,IPA_InputReady,58,T,TASK_CalcEngineSpeed,58,activate
-116938225,TASK_CalcEngineSpeed,58,SCHED,SCHED_Tasks_C2,-1,processactivate
-116938225,Core_1,0,T,TASK_InputProcessing,58,terminate
-116938225,TASK_InputProcessing,58,SCHED,SCHED_Tasks_C1,-1,processterminate
-116938225,Core_1,0,C,Core_1,0,idle
-116938225,TASK_InputProcessing,58,C,Core_1,0,idle
-116938275,TASK_InputProcessing,58,STI,IR_SCHED_Tasks_C1,398,trigger
-116938275,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-116938325,TASK_CalcEngineSpeed,58,STI,IR_SCHED_Tasks_C2,378,trigger
-116938325,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-116938325,TASK_5MS,58,R,FUNC_EXECTIME_1,216,suspend
-116938325,Core_2,0,T,TASK_5MS,58,preempt
-116938325,Core_2,0,C,Core_2,0,idle_execution
-116938325,TASK_5MS,58,C,Core_2,0,idle_execution
-116938325,Core_2,0,T,TASK_CalcEngineSpeed,58,start
-116938325,TASK_CalcEngineSpeed,58,R,FUNC_ENGINESPEED,58,start
-116938325,Core_2,0,C,Core_2,0,execute
-116938325,TASK_CalcEngineSpeed,58,C,Core_2,0,execute
-117114400,TASK_CalcEngineSpeed,58,R,FUNC_ENGINESPEED,58,terminate
-117114400,Core_2,0,T,TASK_CalcEngineSpeed,58,terminate
-117114400,TASK_CalcEngineSpeed,58,SCHED,SCHED_Tasks_C2,-1,processterminate
-117114400,Core_2,0,C,Core_2,0,idle
-117114400,TASK_CalcEngineSpeed,58,C,Core_2,0,idle
-117114500,TASK_CalcEngineSpeed,58,STI,IR_SCHED_Tasks_C2,379,trigger
-117114500,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-117114500,Core_2,0,C,Core_2,0,execute_idle
-117114500,TASK_5MS,58,C,Core_2,0,execute_idle
-117114500,Core_2,0,T,TASK_5MS,58,resume
-117114500,TASK_5MS,58,R,FUNC_EXECTIME_1,216,resume
-117250000,SIM,-1,STI,TIMER-1MS,117,trigger
-117250000,TIMER-1MS,117,T,TASK_1MS,117,activate
-117250000,TASK_1MS,117,SCHED,SCHED_Tasks_C1,-1,processactivate
-117250100,TASK_1MS,117,STI,IR_SCHED_Tasks_C1,399,trigger
-117250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-117250100,Core_1,0,T,TASK_1MS,117,start
-117250100,TASK_1MS,117,R,FUNC_EXECTIME_1,218,start
-117250100,Core_1,0,C,Core_1,0,execute
-117250100,TASK_1MS,117,C,Core_1,0,execute
-117299225,TASK_5MS,58,R,FUNC_EXECTIME_1,216,terminate
-117299225,Core_2,0,T,TASK_5MS,58,terminate
-117299225,TASK_5MS,58,SCHED,SCHED_Tasks_C2,-1,processterminate
-117299225,Core_2,0,C,Core_2,0,idle
-117299225,TASK_5MS,58,C,Core_2,0,idle
-117299325,TASK_5MS,58,STI,IR_SCHED_Tasks_C2,380,trigger
-117299325,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-117696000,TASK_1MS,117,R,FUNC_EXECTIME_1,218,terminate
-117696000,Core_1,0,T,TASK_1MS,117,terminate
-117696000,TASK_1MS,117,SCHED,SCHED_Tasks_C1,-1,processterminate
-117696000,Core_1,0,C,Core_1,0,idle
-117696000,TASK_1MS,117,C,Core_1,0,idle
-117696100,TASK_1MS,117,STI,IR_SCHED_Tasks_C1,400,trigger
-117696100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-118000000,SIM,-1,STI,TIMER-B_2ms,59,trigger
-118000000,TIMER-B_2ms,59,T,TASK_WritingActuator,59,activate
-118000000,TASK_WritingActuator,59,SCHED,SCHED_Tasks_C2,-1,processactivate
-118000100,TASK_WritingActuator,59,STI,IR_SCHED_Tasks_C2,381,trigger
-118000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-118000100,Core_2,0,T,TASK_WritingActuator,59,start
-118000100,TASK_WritingActuator,59,R,FUNC_SEMLOCK,118,start
-118000100,Core_2,0,C,Core_2,0,execute
-118000100,TASK_WritingActuator,59,C,Core_2,0,execute
-118100000,SIM,-1,STI,TIMER-5MS,59,trigger
-118100000,TIMER-5MS,59,T,TASK_5MS,59,activate
-118100000,TASK_5MS,59,SCHED,SCHED_Tasks_C2,-1,processactivate
-118100100,TASK_5MS,59,STI,IR_SCHED_Tasks_C2,382,trigger
-118100100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-118125100,TASK_WritingActuator,59,SEM,SEM_DataElement1,0,requestsemaphore,0
-118125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-118125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-118125100,Core_2,0,C,Core_2,0,lock
-118125100,TASK_WritingActuator,59,SEM,SEM_DataElement1,0,assigned,1
-118125150,TASK_WritingActuator,59,R,FUNC_SEMLOCK,118,terminate
-118125150,Core_2,0,C,Core_2,0,unlock
-118125150,TASK_WritingActuator,59,R,FUNC_WriteData,59,start
-118150000,SIM,-1,STI,TIMER-A_2ms,59,trigger
-118150000,TIMER-A_2ms,59,T,TASK_InputProcessing,59,activate
-118150000,TASK_InputProcessing,59,SCHED,SCHED_Tasks_C1,-1,processactivate
-118150100,TASK_InputProcessing,59,STI,IR_SCHED_Tasks_C1,401,trigger
-118150100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-118150100,Core_1,0,T,TASK_InputProcessing,59,start
-118150100,TASK_InputProcessing,59,R,FUNC_SEMLOCK,119,start
-118150100,Core_1,0,C,Core_1,0,execute
-118150100,TASK_InputProcessing,59,C,Core_1,0,execute
-118152425,TASK_WritingActuator,59,SIG,SIG_Mixture,0,write,0
-118152425,TASK_WritingActuator,59,R,FUNC_WriteData,59,terminate
-118152425,TASK_WritingActuator,59,R,FUNC_SEMUNLOCK,118,start
-118250000,SIM,-1,STI,TIMER-1MS,118,trigger
-118250000,TIMER-1MS,118,T,TASK_1MS,118,activate
-118250000,TASK_1MS,118,SCHED,SCHED_Tasks_C1,-1,processactivate
-118250100,TASK_1MS,118,STI,IR_SCHED_Tasks_C1,402,trigger
-118250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-118250100,TASK_InputProcessing,59,R,FUNC_SEMLOCK,119,suspend
-118250100,Core_1,0,T,TASK_InputProcessing,59,preempt
-118250100,Core_1,0,C,Core_1,0,idle_execution
-118250100,TASK_InputProcessing,59,C,Core_1,0,idle_execution
-118250100,Core_1,0,T,TASK_1MS,118,start
-118250100,TASK_1MS,118,R,FUNC_EXECTIME_1,220,start
-118250100,Core_1,0,C,Core_1,0,execute
-118250100,TASK_1MS,118,C,Core_1,0,execute
-118352425,TASK_WritingActuator,59,SEM,SEM_DataElement1,0,released,1
-118352425,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-118352425,TASK_WritingActuator,59,SCHED,SCHED_Tasks_C2,-1,schedulepoint
-118352425,Core_2,0,C,Core_2,0,lock
-118352475,TASK_WritingActuator,59,R,FUNC_SEMUNLOCK,118,terminate
-118352475,Core_2,0,T,TASK_WritingActuator,59,terminate
-118352475,TASK_WritingActuator,59,SCHED,SCHED_Tasks_C2,-1,processterminate
-118352475,Core_2,0,C,Core_2,0,unlock
-118352475,Core_2,0,C,Core_2,0,idle
-118352475,TASK_WritingActuator,59,C,Core_2,0,idle
-118352525,TASK_WritingActuator,59,STI,IR_SCHED_Tasks_C2,383,trigger
-118352525,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-118352525,Core_2,0,T,TASK_5MS,59,start
-118352525,TASK_5MS,59,R,FUNC_EXECTIME_1,219,start
-118352525,Core_2,0,C,Core_2,0,execute
-118352525,TASK_5MS,59,C,Core_2,0,execute
-118767925,TASK_5MS,59,R,FUNC_EXECTIME_1,219,terminate
-118767925,Core_2,0,T,TASK_5MS,59,terminate
-118767925,TASK_5MS,59,SCHED,SCHED_Tasks_C2,-1,processterminate
-118767925,Core_2,0,C,Core_2,0,idle
-118767925,TASK_5MS,59,C,Core_2,0,idle
-118768025,TASK_5MS,59,STI,IR_SCHED_Tasks_C2,384,trigger
-118768025,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-119061525,TASK_1MS,118,R,FUNC_EXECTIME_1,220,terminate
-119061525,Core_1,0,T,TASK_1MS,118,terminate
-119061525,TASK_1MS,118,SCHED,SCHED_Tasks_C1,-1,processterminate
-119061525,Core_1,0,C,Core_1,0,idle
-119061525,TASK_1MS,118,C,Core_1,0,idle
-119061625,TASK_1MS,118,STI,IR_SCHED_Tasks_C1,403,trigger
-119061625,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-119061625,Core_1,0,C,Core_1,0,execute_idle
-119061625,TASK_InputProcessing,59,C,Core_1,0,execute_idle
-119061625,Core_1,0,T,TASK_InputProcessing,59,resume
-119061625,TASK_InputProcessing,59,R,FUNC_SEMLOCK,119,resume
-119086625,TASK_InputProcessing,59,SEM,SEM_DataElement1,0,requestsemaphore,0
-119086625,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-119086625,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-119086625,Core_1,0,C,Core_1,0,lock
-119086625,TASK_InputProcessing,59,SEM,SEM_DataElement1,0,assigned,1
-119086675,TASK_InputProcessing,59,R,FUNC_SEMLOCK,119,terminate
-119086675,Core_1,0,C,Core_1,0,unlock
-119086675,TASK_InputProcessing,59,R,FUNC_ReadSensorData,59,start
-119247850,TASK_InputProcessing,59,SIG,SIG_RotationSpeed,0,read,0
-119247850,TASK_InputProcessing,59,SIG,SIG_Lambda,0,read,0
-119247850,TASK_InputProcessing,59,SIG,SIG_Temperature,0,read,0
-119247850,TASK_InputProcessing,59,R,FUNC_ReadSensorData,59,terminate
-119247850,TASK_InputProcessing,59,R,FUNC_SEMUNLOCK,119,start
-119250000,SIM,-1,STI,TIMER-1MS,119,trigger
-119250000,TIMER-1MS,119,T,TASK_1MS,119,activate
-119250000,TASK_1MS,119,SCHED,SCHED_Tasks_C1,-1,processactivate
-119250100,TASK_1MS,119,STI,IR_SCHED_Tasks_C1,404,trigger
-119250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-119447850,TASK_InputProcessing,59,SEM,SEM_DataElement1,0,released,1
-119447850,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-119447850,TASK_InputProcessing,59,SCHED,SCHED_Tasks_C1,-1,schedulepoint
-119447850,Core_1,0,C,Core_1,0,lock
-119447900,TASK_InputProcessing,59,R,FUNC_SEMUNLOCK,119,terminate
-119447900,Core_1,0,C,Core_1,0,unlock
-119447900,TASK_InputProcessing,59,STI,IPA_InputReady,59,trigger
-119447900,IPA_InputReady,59,T,TASK_CalcEngineSpeed,59,activate
-119447900,TASK_CalcEngineSpeed,59,SCHED,SCHED_Tasks_C2,-1,processactivate
-119447900,Core_1,0,T,TASK_InputProcessing,59,terminate
-119447900,TASK_InputProcessing,59,SCHED,SCHED_Tasks_C1,-1,processterminate
-119447900,Core_1,0,C,Core_1,0,idle
-119447900,TASK_InputProcessing,59,C,Core_1,0,idle
-119447950,TASK_InputProcessing,59,STI,IR_SCHED_Tasks_C1,405,trigger
-119447950,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-119447950,Core_1,0,T,TASK_1MS,119,start
-119447950,TASK_1MS,119,R,FUNC_EXECTIME_1,221,start
-119447950,Core_1,0,C,Core_1,0,execute
-119447950,TASK_1MS,119,C,Core_1,0,execute
-119448000,TASK_CalcEngineSpeed,59,STI,IR_SCHED_Tasks_C2,385,trigger
-119448000,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-119448000,Core_2,0,T,TASK_CalcEngineSpeed,59,start
-119448000,TASK_CalcEngineSpeed,59,R,FUNC_ENGINESPEED,59,start
-119448000,Core_2,0,C,Core_2,0,execute
-119448000,TASK_CalcEngineSpeed,59,C,Core_2,0,execute
-119655075,TASK_CalcEngineSpeed,59,R,FUNC_ENGINESPEED,59,terminate
-119655075,Core_2,0,T,TASK_CalcEngineSpeed,59,terminate
-119655075,TASK_CalcEngineSpeed,59,SCHED,SCHED_Tasks_C2,-1,processterminate
-119655075,Core_2,0,C,Core_2,0,idle
-119655075,TASK_CalcEngineSpeed,59,C,Core_2,0,idle
-119655175,TASK_CalcEngineSpeed,59,STI,IR_SCHED_Tasks_C2,386,trigger
-119655175,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-120000000,SIM,-1,STI,TIMER-B_2ms,60,trigger
-120000000,TIMER-B_2ms,60,T,TASK_WritingActuator,60,activate
-120000000,TASK_WritingActuator,60,SCHED,SCHED_Tasks_C2,-1,processactivate
-120000000,SIM,-1,STI,TIMER-10MS_2,12,trigger
-120000000,TIMER-10MS_2,12,T,TASK_10MS_DL2,12,activate
-120000000,TASK_10MS_DL2,12,SCHED,SCHED_Tasks_C1,-1,processactivate
-120000100,TASK_WritingActuator,60,STI,IR_SCHED_Tasks_C2,387,trigger
-120000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-120000100,Core_2,0,T,TASK_WritingActuator,60,start
-120000100,TASK_WritingActuator,60,R,FUNC_SEMLOCK,120,start
-120000100,Core_2,0,C,Core_2,0,execute
-120000100,TASK_WritingActuator,60,C,Core_2,0,execute
-120000100,TASK_10MS_DL2,12,STI,IR_SCHED_Tasks_C1,406,trigger
-120000100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-120005000,SIM,-1,STI,TIMER-20MS,6,trigger
-120005000,TIMER-20MS,6,T,TASK_20MS,6,activate
-120005000,TASK_20MS,6,SCHED,SCHED_Tasks_C1,-1,processactivate
-120005100,TASK_20MS,6,STI,IR_SCHED_Tasks_C1,407,trigger
-120005100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-120039025,TASK_1MS,119,R,FUNC_EXECTIME_1,221,terminate
-120039025,Core_1,0,T,TASK_1MS,119,terminate
-120039025,TASK_1MS,119,SCHED,SCHED_Tasks_C1,-1,processterminate
-120039025,Core_1,0,C,Core_1,0,idle
-120039025,TASK_1MS,119,C,Core_1,0,idle
-120039125,TASK_1MS,119,STI,IR_SCHED_Tasks_C1,408,trigger
-120039125,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-120039125,Core_1,0,T,TASK_10MS_DL2,12,start
-120039125,TASK_10MS_DL2,12,R,FUNC_EXECTIME_1,222,start
-120039125,Core_1,0,C,Core_1,0,execute
-120039125,TASK_10MS_DL2,12,C,Core_1,0,execute
-120100000,SIM,-1,STI,TIMER-5MS,60,trigger
-120100000,TIMER-5MS,60,T,TASK_5MS,60,activate
-120100000,TASK_5MS,60,SCHED,SCHED_Tasks_C2,-1,processactivate
-120100100,TASK_5MS,60,STI,IR_SCHED_Tasks_C2,388,trigger
-120100100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-120125100,TASK_WritingActuator,60,SEM,SEM_DataElement1,0,requestsemaphore,0
-120125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-120125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-120125100,Core_2,0,C,Core_2,0,lock
-120125100,TASK_WritingActuator,60,SEM,SEM_DataElement1,0,assigned,1
-120125150,TASK_WritingActuator,60,R,FUNC_SEMLOCK,120,terminate
-120125150,Core_2,0,C,Core_2,0,unlock
-120125150,TASK_WritingActuator,60,R,FUNC_WriteData,60,start
-120150000,SIM,-1,STI,TIMER-A_2ms,60,trigger
-120150000,TIMER-A_2ms,60,T,TASK_InputProcessing,60,activate
-120150000,TASK_InputProcessing,60,SCHED,SCHED_Tasks_C1,-1,processactivate
-120150100,TASK_InputProcessing,60,STI,IR_SCHED_Tasks_C1,409,trigger
-120150100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-120152325,TASK_WritingActuator,60,SIG,SIG_Mixture,0,write,0
-120152325,TASK_WritingActuator,60,R,FUNC_WriteData,60,terminate
-120152325,TASK_WritingActuator,60,R,FUNC_SEMUNLOCK,120,start
-120250000,SIM,-1,STI,TIMER-1MS,120,trigger
-120250000,TIMER-1MS,120,T,TASK_1MS,120,activate
-120250000,TASK_1MS,120,SCHED,SCHED_Tasks_C1,-1,processactivate
-120250100,TASK_1MS,120,STI,IR_SCHED_Tasks_C1,410,trigger
-120250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-120250100,TASK_10MS_DL2,12,R,FUNC_EXECTIME_1,222,suspend
-120250100,Core_1,0,T,TASK_10MS_DL2,12,preempt
-120250100,Core_1,0,C,Core_1,0,idle_execution
-120250100,TASK_10MS_DL2,12,C,Core_1,0,idle_execution
-120250100,Core_1,0,T,TASK_1MS,120,start
-120250100,TASK_1MS,120,R,FUNC_EXECTIME_1,225,start
-120250100,Core_1,0,C,Core_1,0,execute
-120250100,TASK_1MS,120,C,Core_1,0,execute
-120352325,TASK_WritingActuator,60,SEM,SEM_DataElement1,0,released,1
-120352325,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-120352325,TASK_WritingActuator,60,SCHED,SCHED_Tasks_C2,-1,schedulepoint
-120352325,Core_2,0,C,Core_2,0,lock
-120352375,TASK_WritingActuator,60,R,FUNC_SEMUNLOCK,120,terminate
-120352375,Core_2,0,T,TASK_WritingActuator,60,terminate
-120352375,TASK_WritingActuator,60,SCHED,SCHED_Tasks_C2,-1,processterminate
-120352375,Core_2,0,C,Core_2,0,unlock
-120352375,Core_2,0,C,Core_2,0,idle
-120352375,TASK_WritingActuator,60,C,Core_2,0,idle
-120352425,TASK_WritingActuator,60,STI,IR_SCHED_Tasks_C2,389,trigger
-120352425,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-120352425,Core_2,0,T,TASK_5MS,60,start
-120352425,TASK_5MS,60,R,FUNC_EXECTIME_1,224,start
-120352425,Core_2,0,C,Core_2,0,execute
-120352425,TASK_5MS,60,C,Core_2,0,execute
-120587025,TASK_1MS,120,R,FUNC_EXECTIME_1,225,terminate
-120587025,Core_1,0,T,TASK_1MS,120,terminate
-120587025,TASK_1MS,120,SCHED,SCHED_Tasks_C1,-1,processterminate
-120587025,Core_1,0,C,Core_1,0,idle
-120587025,TASK_1MS,120,C,Core_1,0,idle
-120587125,TASK_1MS,120,STI,IR_SCHED_Tasks_C1,411,trigger
-120587125,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-120587125,Core_1,0,C,Core_1,0,execute_idle
-120587125,TASK_10MS_DL2,12,C,Core_1,0,execute_idle
-120587125,Core_1,0,T,TASK_10MS_DL2,12,resume
-120587125,TASK_10MS_DL2,12,R,FUNC_EXECTIME_1,222,resume
-120712525,TASK_5MS,60,R,FUNC_EXECTIME_1,224,terminate
-120712525,Core_2,0,T,TASK_5MS,60,terminate
-120712525,TASK_5MS,60,SCHED,SCHED_Tasks_C2,-1,processterminate
-120712525,Core_2,0,C,Core_2,0,idle
-120712525,TASK_5MS,60,C,Core_2,0,idle
-120712625,TASK_5MS,60,STI,IR_SCHED_Tasks_C2,390,trigger
-120712625,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-120806650,TASK_10MS_DL2,12,R,FUNC_EXECTIME_1,222,terminate
-120806650,Core_1,0,T,TASK_10MS_DL2,12,terminate
-120806650,TASK_10MS_DL2,12,SCHED,SCHED_Tasks_C1,-1,processterminate
-120806650,Core_1,0,C,Core_1,0,idle
-120806650,TASK_10MS_DL2,12,C,Core_1,0,idle
-120806750,TASK_10MS_DL2,12,STI,IR_SCHED_Tasks_C1,412,trigger
-120806750,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-120806750,Core_1,0,T,TASK_InputProcessing,60,start
-120806750,TASK_InputProcessing,60,R,FUNC_SEMLOCK,121,start
-120806750,Core_1,0,C,Core_1,0,execute
-120806750,TASK_InputProcessing,60,C,Core_1,0,execute
-120931750,TASK_InputProcessing,60,SEM,SEM_DataElement1,0,requestsemaphore,0
-120931750,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-120931750,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-120931750,Core_1,0,C,Core_1,0,lock
-120931750,TASK_InputProcessing,60,SEM,SEM_DataElement1,0,assigned,1
-120931800,TASK_InputProcessing,60,R,FUNC_SEMLOCK,121,terminate
-120931800,Core_1,0,C,Core_1,0,unlock
-120931800,TASK_InputProcessing,60,R,FUNC_ReadSensorData,60,start
-121094950,TASK_InputProcessing,60,SIG,SIG_RotationSpeed,0,read,0
-121094950,TASK_InputProcessing,60,SIG,SIG_Lambda,0,read,0
-121094950,TASK_InputProcessing,60,SIG,SIG_Temperature,0,read,0
-121094950,TASK_InputProcessing,60,R,FUNC_ReadSensorData,60,terminate
-121094950,TASK_InputProcessing,60,R,FUNC_SEMUNLOCK,121,start
-121250000,SIM,-1,STI,TIMER-1MS,121,trigger
-121250000,TIMER-1MS,121,T,TASK_1MS,121,activate
-121250000,TASK_1MS,121,SCHED,SCHED_Tasks_C1,-1,processactivate
-121250100,TASK_1MS,121,STI,IR_SCHED_Tasks_C1,413,trigger
-121250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-121294950,TASK_InputProcessing,60,SEM,SEM_DataElement1,0,released,1
-121294950,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-121294950,TASK_InputProcessing,60,SCHED,SCHED_Tasks_C1,-1,schedulepoint
-121294950,Core_1,0,C,Core_1,0,lock
-121295000,TASK_InputProcessing,60,R,FUNC_SEMUNLOCK,121,terminate
-121295000,Core_1,0,C,Core_1,0,unlock
-121295000,TASK_InputProcessing,60,STI,IPA_InputReady,60,trigger
-121295000,IPA_InputReady,60,T,TASK_CalcEngineSpeed,60,activate
-121295000,TASK_CalcEngineSpeed,60,SCHED,SCHED_Tasks_C2,-1,processactivate
-121295000,Core_1,0,T,TASK_InputProcessing,60,terminate
-121295000,TASK_InputProcessing,60,SCHED,SCHED_Tasks_C1,-1,processterminate
-121295000,Core_1,0,C,Core_1,0,idle
-121295000,TASK_InputProcessing,60,C,Core_1,0,idle
-121295050,TASK_InputProcessing,60,STI,IR_SCHED_Tasks_C1,414,trigger
-121295050,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-121295050,Core_1,0,T,TASK_1MS,121,start
-121295050,TASK_1MS,121,R,FUNC_EXECTIME_1,226,start
-121295050,Core_1,0,C,Core_1,0,execute
-121295050,TASK_1MS,121,C,Core_1,0,execute
-121295100,TASK_CalcEngineSpeed,60,STI,IR_SCHED_Tasks_C2,391,trigger
-121295100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-121295100,Core_2,0,T,TASK_CalcEngineSpeed,60,start
-121295100,TASK_CalcEngineSpeed,60,R,FUNC_ENGINESPEED,60,start
-121295100,Core_2,0,C,Core_2,0,execute
-121295100,TASK_CalcEngineSpeed,60,C,Core_2,0,execute
-121405750,TASK_CalcEngineSpeed,60,R,FUNC_ENGINESPEED,60,terminate
-121405750,Core_2,0,T,TASK_CalcEngineSpeed,60,terminate
-121405750,TASK_CalcEngineSpeed,60,SCHED,SCHED_Tasks_C2,-1,processterminate
-121405750,Core_2,0,C,Core_2,0,idle
-121405750,TASK_CalcEngineSpeed,60,C,Core_2,0,idle
-121405850,TASK_CalcEngineSpeed,60,STI,IR_SCHED_Tasks_C2,392,trigger
-121405850,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-121649300,TASK_1MS,121,R,FUNC_EXECTIME_1,226,terminate
-121649300,Core_1,0,T,TASK_1MS,121,terminate
-121649300,TASK_1MS,121,SCHED,SCHED_Tasks_C1,-1,processterminate
-121649300,Core_1,0,C,Core_1,0,idle
-121649300,TASK_1MS,121,C,Core_1,0,idle
-121649400,TASK_1MS,121,STI,IR_SCHED_Tasks_C1,415,trigger
-121649400,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-121649400,Core_1,0,T,TASK_20MS,6,start
-121649400,TASK_20MS,6,R,FUNC_EXECTIME_1,223,start
-121649400,Core_1,0,C,Core_1,0,execute
-121649400,TASK_20MS,6,C,Core_1,0,execute
-122000000,SIM,-1,STI,TIMER-B_2ms,61,trigger
-122000000,TIMER-B_2ms,61,T,TASK_WritingActuator,61,activate
-122000000,TASK_WritingActuator,61,SCHED,SCHED_Tasks_C2,-1,processactivate
-122000100,TASK_WritingActuator,61,STI,IR_SCHED_Tasks_C2,393,trigger
-122000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-122000100,Core_2,0,T,TASK_WritingActuator,61,start
-122000100,TASK_WritingActuator,61,R,FUNC_SEMLOCK,122,start
-122000100,Core_2,0,C,Core_2,0,execute
-122000100,TASK_WritingActuator,61,C,Core_2,0,execute
-122100000,SIM,-1,STI,TIMER-5MS,61,trigger
-122100000,TIMER-5MS,61,T,TASK_5MS,61,activate
-122100000,TASK_5MS,61,SCHED,SCHED_Tasks_C2,-1,processactivate
-122100100,TASK_5MS,61,STI,IR_SCHED_Tasks_C2,394,trigger
-122100100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-122125100,TASK_WritingActuator,61,SEM,SEM_DataElement1,0,requestsemaphore,0
-122125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-122125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-122125100,Core_2,0,C,Core_2,0,lock
-122125100,TASK_WritingActuator,61,SEM,SEM_DataElement1,0,assigned,1
-122125150,TASK_WritingActuator,61,R,FUNC_SEMLOCK,122,terminate
-122125150,Core_2,0,C,Core_2,0,unlock
-122125150,TASK_WritingActuator,61,R,FUNC_WriteData,61,start
-122150000,SIM,-1,STI,TIMER-A_2ms,61,trigger
-122150000,TIMER-A_2ms,61,T,TASK_InputProcessing,61,activate
-122150000,TASK_InputProcessing,61,SCHED,SCHED_Tasks_C1,-1,processactivate
-122150100,TASK_InputProcessing,61,STI,IR_SCHED_Tasks_C1,416,trigger
-122150100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-122150100,TASK_20MS,6,R,FUNC_EXECTIME_1,223,suspend
-122150100,Core_1,0,T,TASK_20MS,6,preempt
-122150100,Core_1,0,C,Core_1,0,idle_execution
-122150100,TASK_20MS,6,C,Core_1,0,idle_execution
-122150100,Core_1,0,T,TASK_InputProcessing,61,start
-122150100,TASK_InputProcessing,61,R,FUNC_SEMLOCK,123,start
-122150100,Core_1,0,C,Core_1,0,execute
-122150100,TASK_InputProcessing,61,C,Core_1,0,execute
-122151600,TASK_WritingActuator,61,SIG,SIG_Mixture,0,write,0
-122151600,TASK_WritingActuator,61,R,FUNC_WriteData,61,terminate
-122151600,TASK_WritingActuator,61,R,FUNC_SEMUNLOCK,122,start
-122250000,SIM,-1,STI,TIMER-1MS,122,trigger
-122250000,TIMER-1MS,122,T,TASK_1MS,122,activate
-122250000,TASK_1MS,122,SCHED,SCHED_Tasks_C1,-1,processactivate
-122250100,TASK_1MS,122,STI,IR_SCHED_Tasks_C1,417,trigger
-122250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-122250100,TASK_InputProcessing,61,R,FUNC_SEMLOCK,123,suspend
-122250100,Core_1,0,T,TASK_InputProcessing,61,preempt
-122250100,Core_1,0,C,Core_1,0,idle_execution
-122250100,TASK_InputProcessing,61,C,Core_1,0,idle_execution
-122250100,Core_1,0,T,TASK_1MS,122,start
-122250100,TASK_1MS,122,R,FUNC_EXECTIME_1,228,start
-122250100,Core_1,0,C,Core_1,0,execute
-122250100,TASK_1MS,122,C,Core_1,0,execute
-122351600,TASK_WritingActuator,61,SEM,SEM_DataElement1,0,released,1
-122351600,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-122351600,TASK_WritingActuator,61,SCHED,SCHED_Tasks_C2,-1,schedulepoint
-122351600,Core_2,0,C,Core_2,0,lock
-122351650,TASK_WritingActuator,61,R,FUNC_SEMUNLOCK,122,terminate
-122351650,Core_2,0,T,TASK_WritingActuator,61,terminate
-122351650,TASK_WritingActuator,61,SCHED,SCHED_Tasks_C2,-1,processterminate
-122351650,Core_2,0,C,Core_2,0,unlock
-122351650,Core_2,0,C,Core_2,0,idle
-122351650,TASK_WritingActuator,61,C,Core_2,0,idle
-122351700,TASK_WritingActuator,61,STI,IR_SCHED_Tasks_C2,395,trigger
-122351700,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-122351700,Core_2,0,T,TASK_5MS,61,start
-122351700,TASK_5MS,61,R,FUNC_EXECTIME_1,227,start
-122351700,Core_2,0,C,Core_2,0,execute
-122351700,TASK_5MS,61,C,Core_2,0,execute
-122673400,TASK_5MS,61,R,FUNC_EXECTIME_1,227,terminate
-122673400,Core_2,0,T,TASK_5MS,61,terminate
-122673400,TASK_5MS,61,SCHED,SCHED_Tasks_C2,-1,processterminate
-122673400,Core_2,0,C,Core_2,0,idle
-122673400,TASK_5MS,61,C,Core_2,0,idle
-122673500,TASK_5MS,61,STI,IR_SCHED_Tasks_C2,396,trigger
-122673500,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-123015525,TASK_1MS,122,R,FUNC_EXECTIME_1,228,terminate
-123015525,Core_1,0,T,TASK_1MS,122,terminate
-123015525,TASK_1MS,122,SCHED,SCHED_Tasks_C1,-1,processterminate
-123015525,Core_1,0,C,Core_1,0,idle
-123015525,TASK_1MS,122,C,Core_1,0,idle
-123015625,TASK_1MS,122,STI,IR_SCHED_Tasks_C1,418,trigger
-123015625,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-123015625,Core_1,0,C,Core_1,0,execute_idle
-123015625,TASK_InputProcessing,61,C,Core_1,0,execute_idle
-123015625,Core_1,0,T,TASK_InputProcessing,61,resume
-123015625,TASK_InputProcessing,61,R,FUNC_SEMLOCK,123,resume
-123040625,TASK_InputProcessing,61,SEM,SEM_DataElement1,0,requestsemaphore,0
-123040625,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-123040625,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-123040625,Core_1,0,C,Core_1,0,lock
-123040625,TASK_InputProcessing,61,SEM,SEM_DataElement1,0,assigned,1
-123040675,TASK_InputProcessing,61,R,FUNC_SEMLOCK,123,terminate
-123040675,Core_1,0,C,Core_1,0,unlock
-123040675,TASK_InputProcessing,61,R,FUNC_ReadSensorData,61,start
-123204350,TASK_InputProcessing,61,SIG,SIG_RotationSpeed,0,read,0
-123204350,TASK_InputProcessing,61,SIG,SIG_Lambda,0,read,0
-123204350,TASK_InputProcessing,61,SIG,SIG_Temperature,0,read,0
-123204350,TASK_InputProcessing,61,R,FUNC_ReadSensorData,61,terminate
-123204350,TASK_InputProcessing,61,R,FUNC_SEMUNLOCK,123,start
-123250000,SIM,-1,STI,TIMER-1MS,123,trigger
-123250000,TIMER-1MS,123,T,TASK_1MS,123,activate
-123250000,TASK_1MS,123,SCHED,SCHED_Tasks_C1,-1,processactivate
-123250100,TASK_1MS,123,STI,IR_SCHED_Tasks_C1,419,trigger
-123250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-123404350,TASK_InputProcessing,61,SEM,SEM_DataElement1,0,released,1
-123404350,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-123404350,TASK_InputProcessing,61,SCHED,SCHED_Tasks_C1,-1,schedulepoint
-123404350,Core_1,0,C,Core_1,0,lock
-123404400,TASK_InputProcessing,61,R,FUNC_SEMUNLOCK,123,terminate
-123404400,Core_1,0,C,Core_1,0,unlock
-123404400,TASK_InputProcessing,61,STI,IPA_InputReady,61,trigger
-123404400,IPA_InputReady,61,T,TASK_CalcEngineSpeed,61,activate
-123404400,TASK_CalcEngineSpeed,61,SCHED,SCHED_Tasks_C2,-1,processactivate
-123404400,Core_1,0,T,TASK_InputProcessing,61,terminate
-123404400,TASK_InputProcessing,61,SCHED,SCHED_Tasks_C1,-1,processterminate
-123404400,Core_1,0,C,Core_1,0,idle
-123404400,TASK_InputProcessing,61,C,Core_1,0,idle
-123404450,TASK_InputProcessing,61,STI,IR_SCHED_Tasks_C1,420,trigger
-123404450,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-123404450,Core_1,0,T,TASK_1MS,123,start
-123404450,TASK_1MS,123,R,FUNC_EXECTIME_1,229,start
-123404450,Core_1,0,C,Core_1,0,execute
-123404450,TASK_1MS,123,C,Core_1,0,execute
-123404500,TASK_CalcEngineSpeed,61,STI,IR_SCHED_Tasks_C2,397,trigger
-123404500,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-123404500,Core_2,0,T,TASK_CalcEngineSpeed,61,start
-123404500,TASK_CalcEngineSpeed,61,R,FUNC_ENGINESPEED,61,start
-123404500,Core_2,0,C,Core_2,0,execute
-123404500,TASK_CalcEngineSpeed,61,C,Core_2,0,execute
-123620800,TASK_CalcEngineSpeed,61,R,FUNC_ENGINESPEED,61,terminate
-123620800,Core_2,0,T,TASK_CalcEngineSpeed,61,terminate
-123620800,TASK_CalcEngineSpeed,61,SCHED,SCHED_Tasks_C2,-1,processterminate
-123620800,Core_2,0,C,Core_2,0,idle
-123620800,TASK_CalcEngineSpeed,61,C,Core_2,0,idle
-123620900,TASK_CalcEngineSpeed,61,STI,IR_SCHED_Tasks_C2,398,trigger
-123620900,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-123742275,TASK_1MS,123,R,FUNC_EXECTIME_1,229,terminate
-123742275,Core_1,0,T,TASK_1MS,123,terminate
-123742275,TASK_1MS,123,SCHED,SCHED_Tasks_C1,-1,processterminate
-123742275,Core_1,0,C,Core_1,0,idle
-123742275,TASK_1MS,123,C,Core_1,0,idle
-123742375,TASK_1MS,123,STI,IR_SCHED_Tasks_C1,421,trigger
-123742375,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-123742375,Core_1,0,C,Core_1,0,execute_idle
-123742375,TASK_20MS,6,C,Core_1,0,execute_idle
-123742375,Core_1,0,T,TASK_20MS,6,resume
-123742375,TASK_20MS,6,R,FUNC_EXECTIME_1,223,resume
-123910350,TASK_20MS,6,R,FUNC_EXECTIME_1,223,terminate
-123910350,Core_1,0,T,TASK_20MS,6,terminate
-123910350,TASK_20MS,6,SCHED,SCHED_Tasks_C1,-1,processterminate
-123910350,Core_1,0,C,Core_1,0,idle
-123910350,TASK_20MS,6,C,Core_1,0,idle
-123910450,TASK_20MS,6,STI,IR_SCHED_Tasks_C1,422,trigger
-123910450,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-124000000,SIM,-1,STI,TIMER-B_2ms,62,trigger
-124000000,TIMER-B_2ms,62,T,TASK_WritingActuator,62,activate
-124000000,TASK_WritingActuator,62,SCHED,SCHED_Tasks_C2,-1,processactivate
-124000100,TASK_WritingActuator,62,STI,IR_SCHED_Tasks_C2,399,trigger
-124000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-124000100,Core_2,0,T,TASK_WritingActuator,62,start
-124000100,TASK_WritingActuator,62,R,FUNC_SEMLOCK,124,start
-124000100,Core_2,0,C,Core_2,0,execute
-124000100,TASK_WritingActuator,62,C,Core_2,0,execute
-124100000,SIM,-1,STI,TIMER-5MS,62,trigger
-124100000,TIMER-5MS,62,T,TASK_5MS,62,activate
-124100000,TASK_5MS,62,SCHED,SCHED_Tasks_C2,-1,processactivate
-124100100,TASK_5MS,62,STI,IR_SCHED_Tasks_C2,400,trigger
-124100100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-124125100,TASK_WritingActuator,62,SEM,SEM_DataElement1,0,requestsemaphore,0
-124125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-124125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-124125100,Core_2,0,C,Core_2,0,lock
-124125100,TASK_WritingActuator,62,SEM,SEM_DataElement1,0,assigned,1
-124125150,TASK_WritingActuator,62,R,FUNC_SEMLOCK,124,terminate
-124125150,Core_2,0,C,Core_2,0,unlock
-124125150,TASK_WritingActuator,62,R,FUNC_WriteData,62,start
-124150000,SIM,-1,STI,TIMER-A_2ms,62,trigger
-124150000,TIMER-A_2ms,62,T,TASK_InputProcessing,62,activate
-124150000,TASK_InputProcessing,62,SCHED,SCHED_Tasks_C1,-1,processactivate
-124150100,TASK_InputProcessing,62,STI,IR_SCHED_Tasks_C1,423,trigger
-124150100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-124150100,Core_1,0,T,TASK_InputProcessing,62,start
-124150100,TASK_InputProcessing,62,R,FUNC_SEMLOCK,125,start
-124150100,Core_1,0,C,Core_1,0,execute
-124150100,TASK_InputProcessing,62,C,Core_1,0,execute
-124152325,TASK_WritingActuator,62,SIG,SIG_Mixture,0,write,0
-124152325,TASK_WritingActuator,62,R,FUNC_WriteData,62,terminate
-124152325,TASK_WritingActuator,62,R,FUNC_SEMUNLOCK,124,start
-124250000,SIM,-1,STI,TIMER-1MS,124,trigger
-124250000,TIMER-1MS,124,T,TASK_1MS,124,activate
-124250000,TASK_1MS,124,SCHED,SCHED_Tasks_C1,-1,processactivate
-124250100,TASK_1MS,124,STI,IR_SCHED_Tasks_C1,424,trigger
-124250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-124250100,TASK_InputProcessing,62,R,FUNC_SEMLOCK,125,suspend
-124250100,Core_1,0,T,TASK_InputProcessing,62,preempt
-124250100,Core_1,0,C,Core_1,0,idle_execution
-124250100,TASK_InputProcessing,62,C,Core_1,0,idle_execution
-124250100,Core_1,0,T,TASK_1MS,124,start
-124250100,TASK_1MS,124,R,FUNC_EXECTIME_1,231,start
-124250100,Core_1,0,C,Core_1,0,execute
-124250100,TASK_1MS,124,C,Core_1,0,execute
-124352325,TASK_WritingActuator,62,SEM,SEM_DataElement1,0,released,1
-124352325,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-124352325,TASK_WritingActuator,62,SCHED,SCHED_Tasks_C2,-1,schedulepoint
-124352325,Core_2,0,C,Core_2,0,lock
-124352375,TASK_WritingActuator,62,R,FUNC_SEMUNLOCK,124,terminate
-124352375,Core_2,0,T,TASK_WritingActuator,62,terminate
-124352375,TASK_WritingActuator,62,SCHED,SCHED_Tasks_C2,-1,processterminate
-124352375,Core_2,0,C,Core_2,0,unlock
-124352375,Core_2,0,C,Core_2,0,idle
-124352375,TASK_WritingActuator,62,C,Core_2,0,idle
-124352425,TASK_WritingActuator,62,STI,IR_SCHED_Tasks_C2,401,trigger
-124352425,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-124352425,Core_2,0,T,TASK_5MS,62,start
-124352425,TASK_5MS,62,R,FUNC_EXECTIME_1,230,start
-124352425,Core_2,0,C,Core_2,0,execute
-124352425,TASK_5MS,62,C,Core_2,0,execute
-124550200,TASK_1MS,124,R,FUNC_EXECTIME_1,231,terminate
-124550200,Core_1,0,T,TASK_1MS,124,terminate
-124550200,TASK_1MS,124,SCHED,SCHED_Tasks_C1,-1,processterminate
-124550200,Core_1,0,C,Core_1,0,idle
-124550200,TASK_1MS,124,C,Core_1,0,idle
-124550300,TASK_1MS,124,STI,IR_SCHED_Tasks_C1,425,trigger
-124550300,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-124550300,Core_1,0,C,Core_1,0,execute_idle
-124550300,TASK_InputProcessing,62,C,Core_1,0,execute_idle
-124550300,Core_1,0,T,TASK_InputProcessing,62,resume
-124550300,TASK_InputProcessing,62,R,FUNC_SEMLOCK,125,resume
-124575300,TASK_InputProcessing,62,SEM,SEM_DataElement1,0,requestsemaphore,0
-124575300,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-124575300,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-124575300,Core_1,0,C,Core_1,0,lock
-124575300,TASK_InputProcessing,62,SEM,SEM_DataElement1,0,assigned,1
-124575350,TASK_InputProcessing,62,R,FUNC_SEMLOCK,125,terminate
-124575350,Core_1,0,C,Core_1,0,unlock
-124575350,TASK_InputProcessing,62,R,FUNC_ReadSensorData,62,start
-124737425,TASK_InputProcessing,62,SIG,SIG_RotationSpeed,0,read,0
-124737425,TASK_InputProcessing,62,SIG,SIG_Lambda,0,read,0
-124737425,TASK_InputProcessing,62,SIG,SIG_Temperature,0,read,0
-124737425,TASK_InputProcessing,62,R,FUNC_ReadSensorData,62,terminate
-124737425,TASK_InputProcessing,62,R,FUNC_SEMUNLOCK,125,start
-124937425,TASK_InputProcessing,62,SEM,SEM_DataElement1,0,released,1
-124937425,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-124937425,TASK_InputProcessing,62,SCHED,SCHED_Tasks_C1,-1,schedulepoint
-124937425,Core_1,0,C,Core_1,0,lock
-124937475,TASK_InputProcessing,62,R,FUNC_SEMUNLOCK,125,terminate
-124937475,Core_1,0,C,Core_1,0,unlock
-124937475,TASK_InputProcessing,62,STI,IPA_InputReady,62,trigger
-124937475,IPA_InputReady,62,T,TASK_CalcEngineSpeed,62,activate
-124937475,TASK_CalcEngineSpeed,62,SCHED,SCHED_Tasks_C2,-1,processactivate
-124937475,Core_1,0,T,TASK_InputProcessing,62,terminate
-124937475,TASK_InputProcessing,62,SCHED,SCHED_Tasks_C1,-1,processterminate
-124937475,Core_1,0,C,Core_1,0,idle
-124937475,TASK_InputProcessing,62,C,Core_1,0,idle
-124937525,TASK_InputProcessing,62,STI,IR_SCHED_Tasks_C1,426,trigger
-124937525,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-124937575,TASK_CalcEngineSpeed,62,STI,IR_SCHED_Tasks_C2,402,trigger
-124937575,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-124937575,TASK_5MS,62,R,FUNC_EXECTIME_1,230,suspend
-124937575,Core_2,0,T,TASK_5MS,62,preempt
-124937575,Core_2,0,C,Core_2,0,idle_execution
-124937575,TASK_5MS,62,C,Core_2,0,idle_execution
-124937575,Core_2,0,T,TASK_CalcEngineSpeed,62,start
-124937575,TASK_CalcEngineSpeed,62,R,FUNC_ENGINESPEED,62,start
-124937575,Core_2,0,C,Core_2,0,execute
-124937575,TASK_CalcEngineSpeed,62,C,Core_2,0,execute
-125000000,SIM,-1,STI,TIMER-10MS,12,trigger
-125000000,TIMER-10MS,12,T,TASK_10MS,12,activate
-125000000,TASK_10MS,12,SCHED,SCHED_Tasks_C2,-1,processactivate
-125000100,TASK_10MS,12,STI,IR_SCHED_Tasks_C2,403,trigger
-125000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-125137300,TASK_CalcEngineSpeed,62,R,FUNC_ENGINESPEED,62,terminate
-125137300,Core_2,0,T,TASK_CalcEngineSpeed,62,terminate
-125137300,TASK_CalcEngineSpeed,62,SCHED,SCHED_Tasks_C2,-1,processterminate
-125137300,Core_2,0,C,Core_2,0,idle
-125137300,TASK_CalcEngineSpeed,62,C,Core_2,0,idle
-125137400,TASK_CalcEngineSpeed,62,STI,IR_SCHED_Tasks_C2,404,trigger
-125137400,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-125137400,Core_2,0,C,Core_2,0,execute_idle
-125137400,TASK_5MS,62,C,Core_2,0,execute_idle
-125137400,Core_2,0,T,TASK_5MS,62,resume
-125137400,TASK_5MS,62,R,FUNC_EXECTIME_1,230,resume
-125154375,TASK_5MS,62,R,FUNC_EXECTIME_1,230,terminate
-125154375,Core_2,0,T,TASK_5MS,62,terminate
-125154375,TASK_5MS,62,SCHED,SCHED_Tasks_C2,-1,processterminate
-125154375,Core_2,0,C,Core_2,0,idle
-125154375,TASK_5MS,62,C,Core_2,0,idle
-125154475,TASK_5MS,62,STI,IR_SCHED_Tasks_C2,405,trigger
-125154475,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-125154475,Core_2,0,T,TASK_10MS,12,start
-125154475,TASK_10MS,12,R,FUNC_EXECTIME_1,232,start
-125154475,Core_2,0,C,Core_2,0,execute
-125154475,TASK_10MS,12,C,Core_2,0,execute
-125250000,SIM,-1,STI,TIMER-1MS,125,trigger
-125250000,TIMER-1MS,125,T,TASK_1MS,125,activate
-125250000,TASK_1MS,125,SCHED,SCHED_Tasks_C1,-1,processactivate
-125250100,TASK_1MS,125,STI,IR_SCHED_Tasks_C1,427,trigger
-125250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-125250100,Core_1,0,T,TASK_1MS,125,start
-125250100,TASK_1MS,125,R,FUNC_EXECTIME_1,233,start
-125250100,Core_1,0,C,Core_1,0,execute
-125250100,TASK_1MS,125,C,Core_1,0,execute
-125572950,TASK_1MS,125,R,FUNC_EXECTIME_1,233,terminate
-125572950,Core_1,0,T,TASK_1MS,125,terminate
-125572950,TASK_1MS,125,SCHED,SCHED_Tasks_C1,-1,processterminate
-125572950,Core_1,0,C,Core_1,0,idle
-125572950,TASK_1MS,125,C,Core_1,0,idle
-125573050,TASK_1MS,125,STI,IR_SCHED_Tasks_C1,428,trigger
-125573050,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-125642175,TASK_10MS,12,R,FUNC_EXECTIME_1,232,terminate
-125642175,Core_2,0,T,TASK_10MS,12,terminate
-125642175,TASK_10MS,12,SCHED,SCHED_Tasks_C2,-1,processterminate
-125642175,Core_2,0,C,Core_2,0,idle
-125642175,TASK_10MS,12,C,Core_2,0,idle
-125642275,TASK_10MS,12,STI,IR_SCHED_Tasks_C2,406,trigger
-125642275,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-126000000,SIM,-1,STI,TIMER-B_2ms,63,trigger
-126000000,TIMER-B_2ms,63,T,TASK_WritingActuator,63,activate
-126000000,TASK_WritingActuator,63,SCHED,SCHED_Tasks_C2,-1,processactivate
-126000100,TASK_WritingActuator,63,STI,IR_SCHED_Tasks_C2,407,trigger
-126000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-126000100,Core_2,0,T,TASK_WritingActuator,63,start
-126000100,TASK_WritingActuator,63,R,FUNC_SEMLOCK,126,start
-126000100,Core_2,0,C,Core_2,0,execute
-126000100,TASK_WritingActuator,63,C,Core_2,0,execute
-126100000,SIM,-1,STI,TIMER-5MS,63,trigger
-126100000,TIMER-5MS,63,T,TASK_5MS,63,activate
-126100000,TASK_5MS,63,SCHED,SCHED_Tasks_C2,-1,processactivate
-126100100,TASK_5MS,63,STI,IR_SCHED_Tasks_C2,408,trigger
-126100100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-126125100,TASK_WritingActuator,63,SEM,SEM_DataElement1,0,requestsemaphore,0
-126125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-126125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-126125100,Core_2,0,C,Core_2,0,lock
-126125100,TASK_WritingActuator,63,SEM,SEM_DataElement1,0,assigned,1
-126125150,TASK_WritingActuator,63,R,FUNC_SEMLOCK,126,terminate
-126125150,Core_2,0,C,Core_2,0,unlock
-126125150,TASK_WritingActuator,63,R,FUNC_WriteData,63,start
-126150000,SIM,-1,STI,TIMER-A_2ms,63,trigger
-126150000,TIMER-A_2ms,63,T,TASK_InputProcessing,63,activate
-126150000,TASK_InputProcessing,63,SCHED,SCHED_Tasks_C1,-1,processactivate
-126150100,TASK_InputProcessing,63,STI,IR_SCHED_Tasks_C1,429,trigger
-126150100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-126150100,Core_1,0,T,TASK_InputProcessing,63,start
-126150100,TASK_InputProcessing,63,R,FUNC_SEMLOCK,127,start
-126150100,Core_1,0,C,Core_1,0,execute
-126150100,TASK_InputProcessing,63,C,Core_1,0,execute
-126152250,TASK_WritingActuator,63,SIG,SIG_Mixture,0,write,0
-126152250,TASK_WritingActuator,63,R,FUNC_WriteData,63,terminate
-126152250,TASK_WritingActuator,63,R,FUNC_SEMUNLOCK,126,start
-126250000,SIM,-1,STI,TIMER-1MS,126,trigger
-126250000,TIMER-1MS,126,T,TASK_1MS,126,activate
-126250000,TASK_1MS,126,SCHED,SCHED_Tasks_C1,-1,processactivate
-126250100,TASK_1MS,126,STI,IR_SCHED_Tasks_C1,430,trigger
-126250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-126250100,TASK_InputProcessing,63,R,FUNC_SEMLOCK,127,suspend
-126250100,Core_1,0,T,TASK_InputProcessing,63,preempt
-126250100,Core_1,0,C,Core_1,0,idle_execution
-126250100,TASK_InputProcessing,63,C,Core_1,0,idle_execution
-126250100,Core_1,0,T,TASK_1MS,126,start
-126250100,TASK_1MS,126,R,FUNC_EXECTIME_1,235,start
-126250100,Core_1,0,C,Core_1,0,execute
-126250100,TASK_1MS,126,C,Core_1,0,execute
-126352250,TASK_WritingActuator,63,SEM,SEM_DataElement1,0,released,1
-126352250,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-126352250,TASK_WritingActuator,63,SCHED,SCHED_Tasks_C2,-1,schedulepoint
-126352250,Core_2,0,C,Core_2,0,lock
-126352300,TASK_WritingActuator,63,R,FUNC_SEMUNLOCK,126,terminate
-126352300,Core_2,0,T,TASK_WritingActuator,63,terminate
-126352300,TASK_WritingActuator,63,SCHED,SCHED_Tasks_C2,-1,processterminate
-126352300,Core_2,0,C,Core_2,0,unlock
-126352300,Core_2,0,C,Core_2,0,idle
-126352300,TASK_WritingActuator,63,C,Core_2,0,idle
-126352350,TASK_WritingActuator,63,STI,IR_SCHED_Tasks_C2,409,trigger
-126352350,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-126352350,Core_2,0,T,TASK_5MS,63,start
-126352350,TASK_5MS,63,R,FUNC_EXECTIME_1,234,start
-126352350,Core_2,0,C,Core_2,0,execute
-126352350,TASK_5MS,63,C,Core_2,0,execute
-126789625,TASK_1MS,126,R,FUNC_EXECTIME_1,235,terminate
-126789625,Core_1,0,T,TASK_1MS,126,terminate
-126789625,TASK_1MS,126,SCHED,SCHED_Tasks_C1,-1,processterminate
-126789625,Core_1,0,C,Core_1,0,idle
-126789625,TASK_1MS,126,C,Core_1,0,idle
-126789725,TASK_1MS,126,STI,IR_SCHED_Tasks_C1,431,trigger
-126789725,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-126789725,Core_1,0,C,Core_1,0,execute_idle
-126789725,TASK_InputProcessing,63,C,Core_1,0,execute_idle
-126789725,Core_1,0,T,TASK_InputProcessing,63,resume
-126789725,TASK_InputProcessing,63,R,FUNC_SEMLOCK,127,resume
-126814725,TASK_InputProcessing,63,SEM,SEM_DataElement1,0,requestsemaphore,0
-126814725,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-126814725,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-126814725,Core_1,0,C,Core_1,0,lock
-126814725,TASK_InputProcessing,63,SEM,SEM_DataElement1,0,assigned,1
-126814775,TASK_InputProcessing,63,R,FUNC_SEMLOCK,127,terminate
-126814775,Core_1,0,C,Core_1,0,unlock
-126814775,TASK_InputProcessing,63,R,FUNC_ReadSensorData,63,start
-126978500,TASK_InputProcessing,63,SIG,SIG_RotationSpeed,0,read,0
-126978500,TASK_InputProcessing,63,SIG,SIG_Lambda,0,read,0
-126978500,TASK_InputProcessing,63,SIG,SIG_Temperature,0,read,0
-126978500,TASK_InputProcessing,63,R,FUNC_ReadSensorData,63,terminate
-126978500,TASK_InputProcessing,63,R,FUNC_SEMUNLOCK,127,start
-127178500,TASK_InputProcessing,63,SEM,SEM_DataElement1,0,released,1
-127178500,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-127178500,TASK_InputProcessing,63,SCHED,SCHED_Tasks_C1,-1,schedulepoint
-127178500,Core_1,0,C,Core_1,0,lock
-127178550,TASK_InputProcessing,63,R,FUNC_SEMUNLOCK,127,terminate
-127178550,Core_1,0,C,Core_1,0,unlock
-127178550,TASK_InputProcessing,63,STI,IPA_InputReady,63,trigger
-127178550,IPA_InputReady,63,T,TASK_CalcEngineSpeed,63,activate
-127178550,TASK_CalcEngineSpeed,63,SCHED,SCHED_Tasks_C2,-1,processactivate
-127178550,Core_1,0,T,TASK_InputProcessing,63,terminate
-127178550,TASK_InputProcessing,63,SCHED,SCHED_Tasks_C1,-1,processterminate
-127178550,Core_1,0,C,Core_1,0,idle
-127178550,TASK_InputProcessing,63,C,Core_1,0,idle
-127178600,TASK_InputProcessing,63,STI,IR_SCHED_Tasks_C1,432,trigger
-127178600,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-127178650,TASK_CalcEngineSpeed,63,STI,IR_SCHED_Tasks_C2,410,trigger
-127178650,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-127178650,TASK_5MS,63,R,FUNC_EXECTIME_1,234,suspend
-127178650,Core_2,0,T,TASK_5MS,63,preempt
-127178650,Core_2,0,C,Core_2,0,idle_execution
-127178650,TASK_5MS,63,C,Core_2,0,idle_execution
-127178650,Core_2,0,T,TASK_CalcEngineSpeed,63,start
-127178650,TASK_CalcEngineSpeed,63,R,FUNC_ENGINESPEED,63,start
-127178650,Core_2,0,C,Core_2,0,execute
-127178650,TASK_CalcEngineSpeed,63,C,Core_2,0,execute
-127250000,SIM,-1,STI,TIMER-1MS,127,trigger
-127250000,TIMER-1MS,127,T,TASK_1MS,127,activate
-127250000,TASK_1MS,127,SCHED,SCHED_Tasks_C1,-1,processactivate
-127250100,TASK_1MS,127,STI,IR_SCHED_Tasks_C1,433,trigger
-127250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-127250100,Core_1,0,T,TASK_1MS,127,start
-127250100,TASK_1MS,127,R,FUNC_EXECTIME_1,236,start
-127250100,Core_1,0,C,Core_1,0,execute
-127250100,TASK_1MS,127,C,Core_1,0,execute
-127370000,TASK_CalcEngineSpeed,63,R,FUNC_ENGINESPEED,63,terminate
-127370000,Core_2,0,T,TASK_CalcEngineSpeed,63,terminate
-127370000,TASK_CalcEngineSpeed,63,SCHED,SCHED_Tasks_C2,-1,processterminate
-127370000,Core_2,0,C,Core_2,0,idle
-127370000,TASK_CalcEngineSpeed,63,C,Core_2,0,idle
-127370100,TASK_CalcEngineSpeed,63,STI,IR_SCHED_Tasks_C2,411,trigger
-127370100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-127370100,Core_2,0,C,Core_2,0,execute_idle
-127370100,TASK_5MS,63,C,Core_2,0,execute_idle
-127370100,Core_2,0,T,TASK_5MS,63,resume
-127370100,TASK_5MS,63,R,FUNC_EXECTIME_1,234,resume
-127407375,TASK_5MS,63,R,FUNC_EXECTIME_1,234,terminate
-127407375,Core_2,0,T,TASK_5MS,63,terminate
-127407375,TASK_5MS,63,SCHED,SCHED_Tasks_C2,-1,processterminate
-127407375,Core_2,0,C,Core_2,0,idle
-127407375,TASK_5MS,63,C,Core_2,0,idle
-127407475,TASK_5MS,63,STI,IR_SCHED_Tasks_C2,412,trigger
-127407475,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-127863625,TASK_1MS,127,R,FUNC_EXECTIME_1,236,terminate
-127863625,Core_1,0,T,TASK_1MS,127,terminate
-127863625,TASK_1MS,127,SCHED,SCHED_Tasks_C1,-1,processterminate
-127863625,Core_1,0,C,Core_1,0,idle
-127863625,TASK_1MS,127,C,Core_1,0,idle
-127863725,TASK_1MS,127,STI,IR_SCHED_Tasks_C1,434,trigger
-127863725,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-128000000,SIM,-1,STI,TIMER-B_2ms,64,trigger
-128000000,TIMER-B_2ms,64,T,TASK_WritingActuator,64,activate
-128000000,TASK_WritingActuator,64,SCHED,SCHED_Tasks_C2,-1,processactivate
-128000100,TASK_WritingActuator,64,STI,IR_SCHED_Tasks_C2,413,trigger
-128000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-128000100,Core_2,0,T,TASK_WritingActuator,64,start
-128000100,TASK_WritingActuator,64,R,FUNC_SEMLOCK,128,start
-128000100,Core_2,0,C,Core_2,0,execute
-128000100,TASK_WritingActuator,64,C,Core_2,0,execute
-128100000,SIM,-1,STI,TIMER-5MS,64,trigger
-128100000,TIMER-5MS,64,T,TASK_5MS,64,activate
-128100000,TASK_5MS,64,SCHED,SCHED_Tasks_C2,-1,processactivate
-128100100,TASK_5MS,64,STI,IR_SCHED_Tasks_C2,414,trigger
-128100100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-128125100,TASK_WritingActuator,64,SEM,SEM_DataElement1,0,requestsemaphore,0
-128125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-128125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-128125100,Core_2,0,C,Core_2,0,lock
-128125100,TASK_WritingActuator,64,SEM,SEM_DataElement1,0,assigned,1
-128125150,TASK_WritingActuator,64,R,FUNC_SEMLOCK,128,terminate
-128125150,Core_2,0,C,Core_2,0,unlock
-128125150,TASK_WritingActuator,64,R,FUNC_WriteData,64,start
-128150000,SIM,-1,STI,TIMER-A_2ms,64,trigger
-128150000,TIMER-A_2ms,64,T,TASK_InputProcessing,64,activate
-128150000,TASK_InputProcessing,64,SCHED,SCHED_Tasks_C1,-1,processactivate
-128150100,TASK_InputProcessing,64,STI,IR_SCHED_Tasks_C1,435,trigger
-128150100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-128150100,Core_1,0,T,TASK_InputProcessing,64,start
-128150100,TASK_InputProcessing,64,R,FUNC_SEMLOCK,129,start
-128150100,Core_1,0,C,Core_1,0,execute
-128150100,TASK_InputProcessing,64,C,Core_1,0,execute
-128152300,TASK_WritingActuator,64,SIG,SIG_Mixture,0,write,0
-128152300,TASK_WritingActuator,64,R,FUNC_WriteData,64,terminate
-128152300,TASK_WritingActuator,64,R,FUNC_SEMUNLOCK,128,start
-128250000,SIM,-1,STI,TIMER-1MS,128,trigger
-128250000,TIMER-1MS,128,T,TASK_1MS,128,activate
-128250000,TASK_1MS,128,SCHED,SCHED_Tasks_C1,-1,processactivate
-128250100,TASK_1MS,128,STI,IR_SCHED_Tasks_C1,436,trigger
-128250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-128250100,TASK_InputProcessing,64,R,FUNC_SEMLOCK,129,suspend
-128250100,Core_1,0,T,TASK_InputProcessing,64,preempt
-128250100,Core_1,0,C,Core_1,0,idle_execution
-128250100,TASK_InputProcessing,64,C,Core_1,0,idle_execution
-128250100,Core_1,0,T,TASK_1MS,128,start
-128250100,TASK_1MS,128,R,FUNC_EXECTIME_1,238,start
-128250100,Core_1,0,C,Core_1,0,execute
-128250100,TASK_1MS,128,C,Core_1,0,execute
-128352300,TASK_WritingActuator,64,SEM,SEM_DataElement1,0,released,1
-128352300,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-128352300,TASK_WritingActuator,64,SCHED,SCHED_Tasks_C2,-1,schedulepoint
-128352300,Core_2,0,C,Core_2,0,lock
-128352350,TASK_WritingActuator,64,R,FUNC_SEMUNLOCK,128,terminate
-128352350,Core_2,0,T,TASK_WritingActuator,64,terminate
-128352350,TASK_WritingActuator,64,SCHED,SCHED_Tasks_C2,-1,processterminate
-128352350,Core_2,0,C,Core_2,0,unlock
-128352350,Core_2,0,C,Core_2,0,idle
-128352350,TASK_WritingActuator,64,C,Core_2,0,idle
-128352400,TASK_WritingActuator,64,STI,IR_SCHED_Tasks_C2,415,trigger
-128352400,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-128352400,Core_2,0,T,TASK_5MS,64,start
-128352400,TASK_5MS,64,R,FUNC_EXECTIME_1,237,start
-128352400,Core_2,0,C,Core_2,0,execute
-128352400,TASK_5MS,64,C,Core_2,0,execute
-128535825,TASK_1MS,128,R,FUNC_EXECTIME_1,238,terminate
-128535825,Core_1,0,T,TASK_1MS,128,terminate
-128535825,TASK_1MS,128,SCHED,SCHED_Tasks_C1,-1,processterminate
-128535825,Core_1,0,C,Core_1,0,idle
-128535825,TASK_1MS,128,C,Core_1,0,idle
-128535925,TASK_1MS,128,STI,IR_SCHED_Tasks_C1,437,trigger
-128535925,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-128535925,Core_1,0,C,Core_1,0,execute_idle
-128535925,TASK_InputProcessing,64,C,Core_1,0,execute_idle
-128535925,Core_1,0,T,TASK_InputProcessing,64,resume
-128535925,TASK_InputProcessing,64,R,FUNC_SEMLOCK,129,resume
-128560925,TASK_InputProcessing,64,SEM,SEM_DataElement1,0,requestsemaphore,0
-128560925,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-128560925,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-128560925,Core_1,0,C,Core_1,0,lock
-128560925,TASK_InputProcessing,64,SEM,SEM_DataElement1,0,assigned,1
-128560975,TASK_InputProcessing,64,R,FUNC_SEMLOCK,129,terminate
-128560975,Core_1,0,C,Core_1,0,unlock
-128560975,TASK_InputProcessing,64,R,FUNC_ReadSensorData,64,start
-128724925,TASK_InputProcessing,64,SIG,SIG_RotationSpeed,0,read,0
-128724925,TASK_InputProcessing,64,SIG,SIG_Lambda,0,read,0
-128724925,TASK_InputProcessing,64,SIG,SIG_Temperature,0,read,0
-128724925,TASK_InputProcessing,64,R,FUNC_ReadSensorData,64,terminate
-128724925,TASK_InputProcessing,64,R,FUNC_SEMUNLOCK,129,start
-128795675,TASK_5MS,64,R,FUNC_EXECTIME_1,237,terminate
-128795675,Core_2,0,T,TASK_5MS,64,terminate
-128795675,TASK_5MS,64,SCHED,SCHED_Tasks_C2,-1,processterminate
-128795675,Core_2,0,C,Core_2,0,idle
-128795675,TASK_5MS,64,C,Core_2,0,idle
-128795775,TASK_5MS,64,STI,IR_SCHED_Tasks_C2,416,trigger
-128795775,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-128924925,TASK_InputProcessing,64,SEM,SEM_DataElement1,0,released,1
-128924925,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-128924925,TASK_InputProcessing,64,SCHED,SCHED_Tasks_C1,-1,schedulepoint
-128924925,Core_1,0,C,Core_1,0,lock
-128924975,TASK_InputProcessing,64,R,FUNC_SEMUNLOCK,129,terminate
-128924975,Core_1,0,C,Core_1,0,unlock
-128924975,TASK_InputProcessing,64,STI,IPA_InputReady,64,trigger
-128924975,IPA_InputReady,64,T,TASK_CalcEngineSpeed,64,activate
-128924975,TASK_CalcEngineSpeed,64,SCHED,SCHED_Tasks_C2,-1,processactivate
-128924975,Core_1,0,T,TASK_InputProcessing,64,terminate
-128924975,TASK_InputProcessing,64,SCHED,SCHED_Tasks_C1,-1,processterminate
-128924975,Core_1,0,C,Core_1,0,idle
-128924975,TASK_InputProcessing,64,C,Core_1,0,idle
-128925025,TASK_InputProcessing,64,STI,IR_SCHED_Tasks_C1,438,trigger
-128925025,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-128925075,TASK_CalcEngineSpeed,64,STI,IR_SCHED_Tasks_C2,417,trigger
-128925075,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-128925075,Core_2,0,T,TASK_CalcEngineSpeed,64,start
-128925075,TASK_CalcEngineSpeed,64,R,FUNC_ENGINESPEED,64,start
-128925075,Core_2,0,C,Core_2,0,execute
-128925075,TASK_CalcEngineSpeed,64,C,Core_2,0,execute
-129085325,TASK_CalcEngineSpeed,64,R,FUNC_ENGINESPEED,64,terminate
-129085325,Core_2,0,T,TASK_CalcEngineSpeed,64,terminate
-129085325,TASK_CalcEngineSpeed,64,SCHED,SCHED_Tasks_C2,-1,processterminate
-129085325,Core_2,0,C,Core_2,0,idle
-129085325,TASK_CalcEngineSpeed,64,C,Core_2,0,idle
-129085425,TASK_CalcEngineSpeed,64,STI,IR_SCHED_Tasks_C2,418,trigger
-129085425,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-129250000,SIM,-1,STI,TIMER-1MS,129,trigger
-129250000,TIMER-1MS,129,T,TASK_1MS,129,activate
-129250000,TASK_1MS,129,SCHED,SCHED_Tasks_C1,-1,processactivate
-129250100,TASK_1MS,129,STI,IR_SCHED_Tasks_C1,439,trigger
-129250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-129250100,Core_1,0,T,TASK_1MS,129,start
-129250100,TASK_1MS,129,R,FUNC_EXECTIME_1,239,start
-129250100,Core_1,0,C,Core_1,0,execute
-129250100,TASK_1MS,129,C,Core_1,0,execute
-129507925,TASK_1MS,129,R,FUNC_EXECTIME_1,239,terminate
-129507925,Core_1,0,T,TASK_1MS,129,terminate
-129507925,TASK_1MS,129,SCHED,SCHED_Tasks_C1,-1,processterminate
-129507925,Core_1,0,C,Core_1,0,idle
-129507925,TASK_1MS,129,C,Core_1,0,idle
-129508025,TASK_1MS,129,STI,IR_SCHED_Tasks_C1,440,trigger
-129508025,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-130000000,SIM,-1,STI,TIMER-B_2ms,65,trigger
-130000000,TIMER-B_2ms,65,T,TASK_WritingActuator,65,activate
-130000000,TASK_WritingActuator,65,SCHED,SCHED_Tasks_C2,-1,processactivate
-130000000,SIM,-1,STI,TIMER-10MS_2,13,trigger
-130000000,TIMER-10MS_2,13,T,TASK_10MS_DL2,13,activate
-130000000,TASK_10MS_DL2,13,SCHED,SCHED_Tasks_C1,-1,processactivate
-130000100,TASK_WritingActuator,65,STI,IR_SCHED_Tasks_C2,419,trigger
-130000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-130000100,Core_2,0,T,TASK_WritingActuator,65,start
-130000100,TASK_WritingActuator,65,R,FUNC_SEMLOCK,130,start
-130000100,Core_2,0,C,Core_2,0,execute
-130000100,TASK_WritingActuator,65,C,Core_2,0,execute
-130000100,TASK_10MS_DL2,13,STI,IR_SCHED_Tasks_C1,441,trigger
-130000100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-130000100,Core_1,0,T,TASK_10MS_DL2,13,start
-130000100,TASK_10MS_DL2,13,R,FUNC_EXECTIME_1,240,start
-130000100,Core_1,0,C,Core_1,0,execute
-130000100,TASK_10MS_DL2,13,C,Core_1,0,execute
-130100000,SIM,-1,STI,TIMER-5MS,65,trigger
-130100000,TIMER-5MS,65,T,TASK_5MS,65,activate
-130100000,TASK_5MS,65,SCHED,SCHED_Tasks_C2,-1,processactivate
-130100100,TASK_5MS,65,STI,IR_SCHED_Tasks_C2,420,trigger
-130100100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-130125100,TASK_WritingActuator,65,SEM,SEM_DataElement1,0,requestsemaphore,0
-130125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-130125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-130125100,Core_2,0,C,Core_2,0,lock
-130125100,TASK_WritingActuator,65,SEM,SEM_DataElement1,0,assigned,1
-130125150,TASK_WritingActuator,65,R,FUNC_SEMLOCK,130,terminate
-130125150,Core_2,0,C,Core_2,0,unlock
-130125150,TASK_WritingActuator,65,R,FUNC_WriteData,65,start
-130150000,SIM,-1,STI,TIMER-A_2ms,65,trigger
-130150000,TIMER-A_2ms,65,T,TASK_InputProcessing,65,activate
-130150000,TASK_InputProcessing,65,SCHED,SCHED_Tasks_C1,-1,processactivate
-130150100,TASK_InputProcessing,65,STI,IR_SCHED_Tasks_C1,442,trigger
-130150100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-130152375,TASK_WritingActuator,65,SIG,SIG_Mixture,0,write,0
-130152375,TASK_WritingActuator,65,R,FUNC_WriteData,65,terminate
-130152375,TASK_WritingActuator,65,R,FUNC_SEMUNLOCK,130,start
-130250000,SIM,-1,STI,TIMER-1MS,130,trigger
-130250000,TIMER-1MS,130,T,TASK_1MS,130,activate
-130250000,TASK_1MS,130,SCHED,SCHED_Tasks_C1,-1,processactivate
-130250100,TASK_1MS,130,STI,IR_SCHED_Tasks_C1,443,trigger
-130250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-130250100,TASK_10MS_DL2,13,R,FUNC_EXECTIME_1,240,suspend
-130250100,Core_1,0,T,TASK_10MS_DL2,13,preempt
-130250100,Core_1,0,C,Core_1,0,idle_execution
-130250100,TASK_10MS_DL2,13,C,Core_1,0,idle_execution
-130250100,Core_1,0,T,TASK_1MS,130,start
-130250100,TASK_1MS,130,R,FUNC_EXECTIME_1,242,start
-130250100,Core_1,0,C,Core_1,0,execute
-130250100,TASK_1MS,130,C,Core_1,0,execute
-130352375,TASK_WritingActuator,65,SEM,SEM_DataElement1,0,released,1
-130352375,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-130352375,TASK_WritingActuator,65,SCHED,SCHED_Tasks_C2,-1,schedulepoint
-130352375,Core_2,0,C,Core_2,0,lock
-130352425,TASK_WritingActuator,65,R,FUNC_SEMUNLOCK,130,terminate
-130352425,Core_2,0,T,TASK_WritingActuator,65,terminate
-130352425,TASK_WritingActuator,65,SCHED,SCHED_Tasks_C2,-1,processterminate
-130352425,Core_2,0,C,Core_2,0,unlock
-130352425,Core_2,0,C,Core_2,0,idle
-130352425,TASK_WritingActuator,65,C,Core_2,0,idle
-130352475,TASK_WritingActuator,65,STI,IR_SCHED_Tasks_C2,421,trigger
-130352475,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-130352475,Core_2,0,T,TASK_5MS,65,start
-130352475,TASK_5MS,65,R,FUNC_EXECTIME_1,241,start
-130352475,Core_2,0,C,Core_2,0,execute
-130352475,TASK_5MS,65,C,Core_2,0,execute
-130708350,TASK_1MS,130,R,FUNC_EXECTIME_1,242,terminate
-130708350,Core_1,0,T,TASK_1MS,130,terminate
-130708350,TASK_1MS,130,SCHED,SCHED_Tasks_C1,-1,processterminate
-130708350,Core_1,0,C,Core_1,0,idle
-130708350,TASK_1MS,130,C,Core_1,0,idle
-130708450,TASK_1MS,130,STI,IR_SCHED_Tasks_C1,444,trigger
-130708450,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-130708450,Core_1,0,C,Core_1,0,execute_idle
-130708450,TASK_10MS_DL2,13,C,Core_1,0,execute_idle
-130708450,Core_1,0,T,TASK_10MS_DL2,13,resume
-130708450,TASK_10MS_DL2,13,R,FUNC_EXECTIME_1,240,resume
-130868075,TASK_5MS,65,R,FUNC_EXECTIME_1,241,terminate
-130868075,Core_2,0,T,TASK_5MS,65,terminate
-130868075,TASK_5MS,65,SCHED,SCHED_Tasks_C2,-1,processterminate
-130868075,Core_2,0,C,Core_2,0,idle
-130868075,TASK_5MS,65,C,Core_2,0,idle
-130868175,TASK_5MS,65,STI,IR_SCHED_Tasks_C2,422,trigger
-130868175,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-130950925,TASK_10MS_DL2,13,R,FUNC_EXECTIME_1,240,terminate
-130950925,Core_1,0,T,TASK_10MS_DL2,13,terminate
-130950925,TASK_10MS_DL2,13,SCHED,SCHED_Tasks_C1,-1,processterminate
-130950925,Core_1,0,C,Core_1,0,idle
-130950925,TASK_10MS_DL2,13,C,Core_1,0,idle
-130951025,TASK_10MS_DL2,13,STI,IR_SCHED_Tasks_C1,445,trigger
-130951025,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-130951025,Core_1,0,T,TASK_InputProcessing,65,start
-130951025,TASK_InputProcessing,65,R,FUNC_SEMLOCK,131,start
-130951025,Core_1,0,C,Core_1,0,execute
-130951025,TASK_InputProcessing,65,C,Core_1,0,execute
-131076025,TASK_InputProcessing,65,SEM,SEM_DataElement1,0,requestsemaphore,0
-131076025,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-131076025,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-131076025,Core_1,0,C,Core_1,0,lock
-131076025,TASK_InputProcessing,65,SEM,SEM_DataElement1,0,assigned,1
-131076075,TASK_InputProcessing,65,R,FUNC_SEMLOCK,131,terminate
-131076075,Core_1,0,C,Core_1,0,unlock
-131076075,TASK_InputProcessing,65,R,FUNC_ReadSensorData,65,start
-131235750,TASK_InputProcessing,65,SIG,SIG_RotationSpeed,0,read,0
-131235750,TASK_InputProcessing,65,SIG,SIG_Lambda,0,read,0
-131235750,TASK_InputProcessing,65,SIG,SIG_Temperature,0,read,0
-131235750,TASK_InputProcessing,65,R,FUNC_ReadSensorData,65,terminate
-131235750,TASK_InputProcessing,65,R,FUNC_SEMUNLOCK,131,start
-131250000,SIM,-1,STI,TIMER-1MS,131,trigger
-131250000,TIMER-1MS,131,T,TASK_1MS,131,activate
-131250000,TASK_1MS,131,SCHED,SCHED_Tasks_C1,-1,processactivate
-131250100,TASK_1MS,131,STI,IR_SCHED_Tasks_C1,446,trigger
-131250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-131435750,TASK_InputProcessing,65,SEM,SEM_DataElement1,0,released,1
-131435750,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-131435750,TASK_InputProcessing,65,SCHED,SCHED_Tasks_C1,-1,schedulepoint
-131435750,Core_1,0,C,Core_1,0,lock
-131435800,TASK_InputProcessing,65,R,FUNC_SEMUNLOCK,131,terminate
-131435800,Core_1,0,C,Core_1,0,unlock
-131435800,TASK_InputProcessing,65,STI,IPA_InputReady,65,trigger
-131435800,IPA_InputReady,65,T,TASK_CalcEngineSpeed,65,activate
-131435800,TASK_CalcEngineSpeed,65,SCHED,SCHED_Tasks_C2,-1,processactivate
-131435800,Core_1,0,T,TASK_InputProcessing,65,terminate
-131435800,TASK_InputProcessing,65,SCHED,SCHED_Tasks_C1,-1,processterminate
-131435800,Core_1,0,C,Core_1,0,idle
-131435800,TASK_InputProcessing,65,C,Core_1,0,idle
-131435850,TASK_InputProcessing,65,STI,IR_SCHED_Tasks_C1,447,trigger
-131435850,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-131435850,Core_1,0,T,TASK_1MS,131,start
-131435850,TASK_1MS,131,R,FUNC_EXECTIME_1,243,start
-131435850,Core_1,0,C,Core_1,0,execute
-131435850,TASK_1MS,131,C,Core_1,0,execute
-131435900,TASK_CalcEngineSpeed,65,STI,IR_SCHED_Tasks_C2,423,trigger
-131435900,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-131435900,Core_2,0,T,TASK_CalcEngineSpeed,65,start
-131435900,TASK_CalcEngineSpeed,65,R,FUNC_ENGINESPEED,65,start
-131435900,Core_2,0,C,Core_2,0,execute
-131435900,TASK_CalcEngineSpeed,65,C,Core_2,0,execute
-131673550,TASK_CalcEngineSpeed,65,R,FUNC_ENGINESPEED,65,terminate
-131673550,Core_2,0,T,TASK_CalcEngineSpeed,65,terminate
-131673550,TASK_CalcEngineSpeed,65,SCHED,SCHED_Tasks_C2,-1,processterminate
-131673550,Core_2,0,C,Core_2,0,idle
-131673550,TASK_CalcEngineSpeed,65,C,Core_2,0,idle
-131673650,TASK_CalcEngineSpeed,65,STI,IR_SCHED_Tasks_C2,424,trigger
-131673650,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-131781175,TASK_1MS,131,R,FUNC_EXECTIME_1,243,terminate
-131781175,Core_1,0,T,TASK_1MS,131,terminate
-131781175,TASK_1MS,131,SCHED,SCHED_Tasks_C1,-1,processterminate
-131781175,Core_1,0,C,Core_1,0,idle
-131781175,TASK_1MS,131,C,Core_1,0,idle
-131781275,TASK_1MS,131,STI,IR_SCHED_Tasks_C1,448,trigger
-131781275,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-132000000,SIM,-1,STI,TIMER-B_2ms,66,trigger
-132000000,TIMER-B_2ms,66,T,TASK_WritingActuator,66,activate
-132000000,TASK_WritingActuator,66,SCHED,SCHED_Tasks_C2,-1,processactivate
-132000100,TASK_WritingActuator,66,STI,IR_SCHED_Tasks_C2,425,trigger
-132000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-132000100,Core_2,0,T,TASK_WritingActuator,66,start
-132000100,TASK_WritingActuator,66,R,FUNC_SEMLOCK,132,start
-132000100,Core_2,0,C,Core_2,0,execute
-132000100,TASK_WritingActuator,66,C,Core_2,0,execute
-132100000,SIM,-1,STI,TIMER-5MS,66,trigger
-132100000,TIMER-5MS,66,T,TASK_5MS,66,activate
-132100000,TASK_5MS,66,SCHED,SCHED_Tasks_C2,-1,processactivate
-132100100,TASK_5MS,66,STI,IR_SCHED_Tasks_C2,426,trigger
-132100100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-132125100,TASK_WritingActuator,66,SEM,SEM_DataElement1,0,requestsemaphore,0
-132125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-132125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-132125100,Core_2,0,C,Core_2,0,lock
-132125100,TASK_WritingActuator,66,SEM,SEM_DataElement1,0,assigned,1
-132125150,TASK_WritingActuator,66,R,FUNC_SEMLOCK,132,terminate
-132125150,Core_2,0,C,Core_2,0,unlock
-132125150,TASK_WritingActuator,66,R,FUNC_WriteData,66,start
-132150000,SIM,-1,STI,TIMER-A_2ms,66,trigger
-132150000,TIMER-A_2ms,66,T,TASK_InputProcessing,66,activate
-132150000,TASK_InputProcessing,66,SCHED,SCHED_Tasks_C1,-1,processactivate
-132150100,TASK_InputProcessing,66,STI,IR_SCHED_Tasks_C1,449,trigger
-132150100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-132150100,Core_1,0,T,TASK_InputProcessing,66,start
-132150100,TASK_InputProcessing,66,R,FUNC_SEMLOCK,133,start
-132150100,Core_1,0,C,Core_1,0,execute
-132150100,TASK_InputProcessing,66,C,Core_1,0,execute
-132152450,TASK_WritingActuator,66,SIG,SIG_Mixture,0,write,0
-132152450,TASK_WritingActuator,66,R,FUNC_WriteData,66,terminate
-132152450,TASK_WritingActuator,66,R,FUNC_SEMUNLOCK,132,start
-132250000,SIM,-1,STI,TIMER-1MS,132,trigger
-132250000,TIMER-1MS,132,T,TASK_1MS,132,activate
-132250000,TASK_1MS,132,SCHED,SCHED_Tasks_C1,-1,processactivate
-132250100,TASK_1MS,132,STI,IR_SCHED_Tasks_C1,450,trigger
-132250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-132250100,TASK_InputProcessing,66,R,FUNC_SEMLOCK,133,suspend
-132250100,Core_1,0,T,TASK_InputProcessing,66,preempt
-132250100,Core_1,0,C,Core_1,0,idle_execution
-132250100,TASK_InputProcessing,66,C,Core_1,0,idle_execution
-132250100,Core_1,0,T,TASK_1MS,132,start
-132250100,TASK_1MS,132,R,FUNC_EXECTIME_1,245,start
-132250100,Core_1,0,C,Core_1,0,execute
-132250100,TASK_1MS,132,C,Core_1,0,execute
-132352450,TASK_WritingActuator,66,SEM,SEM_DataElement1,0,released,1
-132352450,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-132352450,TASK_WritingActuator,66,SCHED,SCHED_Tasks_C2,-1,schedulepoint
-132352450,Core_2,0,C,Core_2,0,lock
-132352500,TASK_WritingActuator,66,R,FUNC_SEMUNLOCK,132,terminate
-132352500,Core_2,0,T,TASK_WritingActuator,66,terminate
-132352500,TASK_WritingActuator,66,SCHED,SCHED_Tasks_C2,-1,processterminate
-132352500,Core_2,0,C,Core_2,0,unlock
-132352500,Core_2,0,C,Core_2,0,idle
-132352500,TASK_WritingActuator,66,C,Core_2,0,idle
-132352550,TASK_WritingActuator,66,STI,IR_SCHED_Tasks_C2,427,trigger
-132352550,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-132352550,Core_2,0,T,TASK_5MS,66,start
-132352550,TASK_5MS,66,R,FUNC_EXECTIME_1,244,start
-132352550,Core_2,0,C,Core_2,0,execute
-132352550,TASK_5MS,66,C,Core_2,0,execute
-132658700,TASK_1MS,132,R,FUNC_EXECTIME_1,245,terminate
-132658700,Core_1,0,T,TASK_1MS,132,terminate
-132658700,TASK_1MS,132,SCHED,SCHED_Tasks_C1,-1,processterminate
-132658700,Core_1,0,C,Core_1,0,idle
-132658700,TASK_1MS,132,C,Core_1,0,idle
-132658800,TASK_1MS,132,STI,IR_SCHED_Tasks_C1,451,trigger
-132658800,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-132658800,Core_1,0,C,Core_1,0,execute_idle
-132658800,TASK_InputProcessing,66,C,Core_1,0,execute_idle
-132658800,Core_1,0,T,TASK_InputProcessing,66,resume
-132658800,TASK_InputProcessing,66,R,FUNC_SEMLOCK,133,resume
-132683800,TASK_InputProcessing,66,SEM,SEM_DataElement1,0,requestsemaphore,0
-132683800,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-132683800,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-132683800,Core_1,0,C,Core_1,0,lock
-132683800,TASK_InputProcessing,66,SEM,SEM_DataElement1,0,assigned,1
-132683850,TASK_InputProcessing,66,R,FUNC_SEMLOCK,133,terminate
-132683850,Core_1,0,C,Core_1,0,unlock
-132683850,TASK_InputProcessing,66,R,FUNC_ReadSensorData,66,start
-132844750,TASK_InputProcessing,66,SIG,SIG_RotationSpeed,0,read,0
-132844750,TASK_InputProcessing,66,SIG,SIG_Lambda,0,read,0
-132844750,TASK_InputProcessing,66,SIG,SIG_Temperature,0,read,0
-132844750,TASK_InputProcessing,66,R,FUNC_ReadSensorData,66,terminate
-132844750,TASK_InputProcessing,66,R,FUNC_SEMUNLOCK,133,start
-132846075,TASK_5MS,66,R,FUNC_EXECTIME_1,244,terminate
-132846075,Core_2,0,T,TASK_5MS,66,terminate
-132846075,TASK_5MS,66,SCHED,SCHED_Tasks_C2,-1,processterminate
-132846075,Core_2,0,C,Core_2,0,idle
-132846075,TASK_5MS,66,C,Core_2,0,idle
-132846175,TASK_5MS,66,STI,IR_SCHED_Tasks_C2,428,trigger
-132846175,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-133044750,TASK_InputProcessing,66,SEM,SEM_DataElement1,0,released,1
-133044750,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-133044750,TASK_InputProcessing,66,SCHED,SCHED_Tasks_C1,-1,schedulepoint
-133044750,Core_1,0,C,Core_1,0,lock
-133044800,TASK_InputProcessing,66,R,FUNC_SEMUNLOCK,133,terminate
-133044800,Core_1,0,C,Core_1,0,unlock
-133044800,TASK_InputProcessing,66,STI,IPA_InputReady,66,trigger
-133044800,IPA_InputReady,66,T,TASK_CalcEngineSpeed,66,activate
-133044800,TASK_CalcEngineSpeed,66,SCHED,SCHED_Tasks_C2,-1,processactivate
-133044800,Core_1,0,T,TASK_InputProcessing,66,terminate
-133044800,TASK_InputProcessing,66,SCHED,SCHED_Tasks_C1,-1,processterminate
-133044800,Core_1,0,C,Core_1,0,idle
-133044800,TASK_InputProcessing,66,C,Core_1,0,idle
-133044850,TASK_InputProcessing,66,STI,IR_SCHED_Tasks_C1,452,trigger
-133044850,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-133044900,TASK_CalcEngineSpeed,66,STI,IR_SCHED_Tasks_C2,429,trigger
-133044900,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-133044900,Core_2,0,T,TASK_CalcEngineSpeed,66,start
-133044900,TASK_CalcEngineSpeed,66,R,FUNC_ENGINESPEED,66,start
-133044900,Core_2,0,C,Core_2,0,execute
-133044900,TASK_CalcEngineSpeed,66,C,Core_2,0,execute
-133250000,SIM,-1,STI,TIMER-1MS,133,trigger
-133250000,TIMER-1MS,133,T,TASK_1MS,133,activate
-133250000,TASK_1MS,133,SCHED,SCHED_Tasks_C1,-1,processactivate
-133250100,TASK_1MS,133,STI,IR_SCHED_Tasks_C1,453,trigger
-133250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-133250100,Core_1,0,T,TASK_1MS,133,start
-133250100,TASK_1MS,133,R,FUNC_EXECTIME_1,246,start
-133250100,Core_1,0,C,Core_1,0,execute
-133250100,TASK_1MS,133,C,Core_1,0,execute
-133259925,TASK_CalcEngineSpeed,66,R,FUNC_ENGINESPEED,66,terminate
-133259925,Core_2,0,T,TASK_CalcEngineSpeed,66,terminate
-133259925,TASK_CalcEngineSpeed,66,SCHED,SCHED_Tasks_C2,-1,processterminate
-133259925,Core_2,0,C,Core_2,0,idle
-133259925,TASK_CalcEngineSpeed,66,C,Core_2,0,idle
-133260025,TASK_CalcEngineSpeed,66,STI,IR_SCHED_Tasks_C2,430,trigger
-133260025,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-133658125,TASK_1MS,133,R,FUNC_EXECTIME_1,246,terminate
-133658125,Core_1,0,T,TASK_1MS,133,terminate
-133658125,TASK_1MS,133,SCHED,SCHED_Tasks_C1,-1,processterminate
-133658125,Core_1,0,C,Core_1,0,idle
-133658125,TASK_1MS,133,C,Core_1,0,idle
-133658225,TASK_1MS,133,STI,IR_SCHED_Tasks_C1,454,trigger
-133658225,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-134000000,SIM,-1,STI,TIMER-B_2ms,67,trigger
-134000000,TIMER-B_2ms,67,T,TASK_WritingActuator,67,activate
-134000000,TASK_WritingActuator,67,SCHED,SCHED_Tasks_C2,-1,processactivate
-134000100,TASK_WritingActuator,67,STI,IR_SCHED_Tasks_C2,431,trigger
-134000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-134000100,Core_2,0,T,TASK_WritingActuator,67,start
-134000100,TASK_WritingActuator,67,R,FUNC_SEMLOCK,134,start
-134000100,Core_2,0,C,Core_2,0,execute
-134000100,TASK_WritingActuator,67,C,Core_2,0,execute
-134100000,SIM,-1,STI,TIMER-5MS,67,trigger
-134100000,TIMER-5MS,67,T,TASK_5MS,67,activate
-134100000,TASK_5MS,67,SCHED,SCHED_Tasks_C2,-1,processactivate
-134100100,TASK_5MS,67,STI,IR_SCHED_Tasks_C2,432,trigger
-134100100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-134125100,TASK_WritingActuator,67,SEM,SEM_DataElement1,0,requestsemaphore,0
-134125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-134125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-134125100,Core_2,0,C,Core_2,0,lock
-134125100,TASK_WritingActuator,67,SEM,SEM_DataElement1,0,assigned,1
-134125150,TASK_WritingActuator,67,R,FUNC_SEMLOCK,134,terminate
-134125150,Core_2,0,C,Core_2,0,unlock
-134125150,TASK_WritingActuator,67,R,FUNC_WriteData,67,start
-134150000,SIM,-1,STI,TIMER-A_2ms,67,trigger
-134150000,TIMER-A_2ms,67,T,TASK_InputProcessing,67,activate
-134150000,TASK_InputProcessing,67,SCHED,SCHED_Tasks_C1,-1,processactivate
-134150100,TASK_InputProcessing,67,STI,IR_SCHED_Tasks_C1,455,trigger
-134150100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-134150100,Core_1,0,T,TASK_InputProcessing,67,start
-134150100,TASK_InputProcessing,67,R,FUNC_SEMLOCK,135,start
-134150100,Core_1,0,C,Core_1,0,execute
-134150100,TASK_InputProcessing,67,C,Core_1,0,execute
-134152200,TASK_WritingActuator,67,SIG,SIG_Mixture,0,write,0
-134152200,TASK_WritingActuator,67,R,FUNC_WriteData,67,terminate
-134152200,TASK_WritingActuator,67,R,FUNC_SEMUNLOCK,134,start
-134250000,SIM,-1,STI,TIMER-1MS,134,trigger
-134250000,TIMER-1MS,134,T,TASK_1MS,134,activate
-134250000,TASK_1MS,134,SCHED,SCHED_Tasks_C1,-1,processactivate
-134250100,TASK_1MS,134,STI,IR_SCHED_Tasks_C1,456,trigger
-134250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-134250100,TASK_InputProcessing,67,R,FUNC_SEMLOCK,135,suspend
-134250100,Core_1,0,T,TASK_InputProcessing,67,preempt
-134250100,Core_1,0,C,Core_1,0,idle_execution
-134250100,TASK_InputProcessing,67,C,Core_1,0,idle_execution
-134250100,Core_1,0,T,TASK_1MS,134,start
-134250100,TASK_1MS,134,R,FUNC_EXECTIME_1,248,start
-134250100,Core_1,0,C,Core_1,0,execute
-134250100,TASK_1MS,134,C,Core_1,0,execute
-134352200,TASK_WritingActuator,67,SEM,SEM_DataElement1,0,released,1
-134352200,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-134352200,TASK_WritingActuator,67,SCHED,SCHED_Tasks_C2,-1,schedulepoint
-134352200,Core_2,0,C,Core_2,0,lock
-134352250,TASK_WritingActuator,67,R,FUNC_SEMUNLOCK,134,terminate
-134352250,Core_2,0,T,TASK_WritingActuator,67,terminate
-134352250,TASK_WritingActuator,67,SCHED,SCHED_Tasks_C2,-1,processterminate
-134352250,Core_2,0,C,Core_2,0,unlock
-134352250,Core_2,0,C,Core_2,0,idle
-134352250,TASK_WritingActuator,67,C,Core_2,0,idle
-134352300,TASK_WritingActuator,67,STI,IR_SCHED_Tasks_C2,433,trigger
-134352300,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-134352300,Core_2,0,T,TASK_5MS,67,start
-134352300,TASK_5MS,67,R,FUNC_EXECTIME_1,247,start
-134352300,Core_2,0,C,Core_2,0,execute
-134352300,TASK_5MS,67,C,Core_2,0,execute
-134696925,TASK_5MS,67,R,FUNC_EXECTIME_1,247,terminate
-134696925,Core_2,0,T,TASK_5MS,67,terminate
-134696925,TASK_5MS,67,SCHED,SCHED_Tasks_C2,-1,processterminate
-134696925,Core_2,0,C,Core_2,0,idle
-134696925,TASK_5MS,67,C,Core_2,0,idle
-134697025,TASK_5MS,67,STI,IR_SCHED_Tasks_C2,434,trigger
-134697025,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-134738700,TASK_1MS,134,R,FUNC_EXECTIME_1,248,terminate
-134738700,Core_1,0,T,TASK_1MS,134,terminate
-134738700,TASK_1MS,134,SCHED,SCHED_Tasks_C1,-1,processterminate
-134738700,Core_1,0,C,Core_1,0,idle
-134738700,TASK_1MS,134,C,Core_1,0,idle
-134738800,TASK_1MS,134,STI,IR_SCHED_Tasks_C1,457,trigger
-134738800,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-134738800,Core_1,0,C,Core_1,0,execute_idle
-134738800,TASK_InputProcessing,67,C,Core_1,0,execute_idle
-134738800,Core_1,0,T,TASK_InputProcessing,67,resume
-134738800,TASK_InputProcessing,67,R,FUNC_SEMLOCK,135,resume
-134763800,TASK_InputProcessing,67,SEM,SEM_DataElement1,0,requestsemaphore,0
-134763800,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-134763800,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-134763800,Core_1,0,C,Core_1,0,lock
-134763800,TASK_InputProcessing,67,SEM,SEM_DataElement1,0,assigned,1
-134763850,TASK_InputProcessing,67,R,FUNC_SEMLOCK,135,terminate
-134763850,Core_1,0,C,Core_1,0,unlock
-134763850,TASK_InputProcessing,67,R,FUNC_ReadSensorData,67,start
-134926775,TASK_InputProcessing,67,SIG,SIG_RotationSpeed,0,read,0
-134926775,TASK_InputProcessing,67,SIG,SIG_Lambda,0,read,0
-134926775,TASK_InputProcessing,67,SIG,SIG_Temperature,0,read,0
-134926775,TASK_InputProcessing,67,R,FUNC_ReadSensorData,67,terminate
-134926775,TASK_InputProcessing,67,R,FUNC_SEMUNLOCK,135,start
-135000000,SIM,-1,STI,TIMER-10MS,13,trigger
-135000000,TIMER-10MS,13,T,TASK_10MS,13,activate
-135000000,TASK_10MS,13,SCHED,SCHED_Tasks_C2,-1,processactivate
-135000100,TASK_10MS,13,STI,IR_SCHED_Tasks_C2,435,trigger
-135000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-135000100,Core_2,0,T,TASK_10MS,13,start
-135000100,TASK_10MS,13,R,FUNC_EXECTIME_1,249,start
-135000100,Core_2,0,C,Core_2,0,execute
-135000100,TASK_10MS,13,C,Core_2,0,execute
-135126775,TASK_InputProcessing,67,SEM,SEM_DataElement1,0,released,1
-135126775,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-135126775,TASK_InputProcessing,67,SCHED,SCHED_Tasks_C1,-1,schedulepoint
-135126775,Core_1,0,C,Core_1,0,lock
-135126825,TASK_InputProcessing,67,R,FUNC_SEMUNLOCK,135,terminate
-135126825,Core_1,0,C,Core_1,0,unlock
-135126825,TASK_InputProcessing,67,STI,IPA_InputReady,67,trigger
-135126825,IPA_InputReady,67,T,TASK_CalcEngineSpeed,67,activate
-135126825,TASK_CalcEngineSpeed,67,SCHED,SCHED_Tasks_C2,-1,processactivate
-135126825,Core_1,0,T,TASK_InputProcessing,67,terminate
-135126825,TASK_InputProcessing,67,SCHED,SCHED_Tasks_C1,-1,processterminate
-135126825,Core_1,0,C,Core_1,0,idle
-135126825,TASK_InputProcessing,67,C,Core_1,0,idle
-135126875,TASK_InputProcessing,67,STI,IR_SCHED_Tasks_C1,458,trigger
-135126875,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-135126925,TASK_CalcEngineSpeed,67,STI,IR_SCHED_Tasks_C2,436,trigger
-135126925,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-135126925,TASK_10MS,13,R,FUNC_EXECTIME_1,249,suspend
-135126925,Core_2,0,T,TASK_10MS,13,preempt
-135126925,Core_2,0,C,Core_2,0,idle_execution
-135126925,TASK_10MS,13,C,Core_2,0,idle_execution
-135126925,Core_2,0,T,TASK_CalcEngineSpeed,67,start
-135126925,TASK_CalcEngineSpeed,67,R,FUNC_ENGINESPEED,67,start
-135126925,Core_2,0,C,Core_2,0,execute
-135126925,TASK_CalcEngineSpeed,67,C,Core_2,0,execute
-135250000,SIM,-1,STI,TIMER-1MS,135,trigger
-135250000,TIMER-1MS,135,T,TASK_1MS,135,activate
-135250000,TASK_1MS,135,SCHED,SCHED_Tasks_C1,-1,processactivate
-135250100,TASK_1MS,135,STI,IR_SCHED_Tasks_C1,459,trigger
-135250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-135250100,Core_1,0,T,TASK_1MS,135,start
-135250100,TASK_1MS,135,R,FUNC_EXECTIME_1,250,start
-135250100,Core_1,0,C,Core_1,0,execute
-135250100,TASK_1MS,135,C,Core_1,0,execute
-135281775,TASK_CalcEngineSpeed,67,R,FUNC_ENGINESPEED,67,terminate
-135281775,Core_2,0,T,TASK_CalcEngineSpeed,67,terminate
-135281775,TASK_CalcEngineSpeed,67,SCHED,SCHED_Tasks_C2,-1,processterminate
-135281775,Core_2,0,C,Core_2,0,idle
-135281775,TASK_CalcEngineSpeed,67,C,Core_2,0,idle
-135281875,TASK_CalcEngineSpeed,67,STI,IR_SCHED_Tasks_C2,437,trigger
-135281875,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-135281875,Core_2,0,C,Core_2,0,execute_idle
-135281875,TASK_10MS,13,C,Core_2,0,execute_idle
-135281875,Core_2,0,T,TASK_10MS,13,resume
-135281875,TASK_10MS,13,R,FUNC_EXECTIME_1,249,resume
-135604625,TASK_10MS,13,R,FUNC_EXECTIME_1,249,terminate
-135604625,Core_2,0,T,TASK_10MS,13,terminate
-135604625,TASK_10MS,13,SCHED,SCHED_Tasks_C2,-1,processterminate
-135604625,Core_2,0,C,Core_2,0,idle
-135604625,TASK_10MS,13,C,Core_2,0,idle
-135604725,TASK_10MS,13,STI,IR_SCHED_Tasks_C2,438,trigger
-135604725,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-135661675,TASK_1MS,135,R,FUNC_EXECTIME_1,250,terminate
-135661675,Core_1,0,T,TASK_1MS,135,terminate
-135661675,TASK_1MS,135,SCHED,SCHED_Tasks_C1,-1,processterminate
-135661675,Core_1,0,C,Core_1,0,idle
-135661675,TASK_1MS,135,C,Core_1,0,idle
-135661775,TASK_1MS,135,STI,IR_SCHED_Tasks_C1,460,trigger
-135661775,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-136000000,SIM,-1,STI,TIMER-B_2ms,68,trigger
-136000000,TIMER-B_2ms,68,T,TASK_WritingActuator,68,activate
-136000000,TASK_WritingActuator,68,SCHED,SCHED_Tasks_C2,-1,processactivate
-136000100,TASK_WritingActuator,68,STI,IR_SCHED_Tasks_C2,439,trigger
-136000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-136000100,Core_2,0,T,TASK_WritingActuator,68,start
-136000100,TASK_WritingActuator,68,R,FUNC_SEMLOCK,136,start
-136000100,Core_2,0,C,Core_2,0,execute
-136000100,TASK_WritingActuator,68,C,Core_2,0,execute
-136100000,SIM,-1,STI,TIMER-5MS,68,trigger
-136100000,TIMER-5MS,68,T,TASK_5MS,68,activate
-136100000,TASK_5MS,68,SCHED,SCHED_Tasks_C2,-1,processactivate
-136100100,TASK_5MS,68,STI,IR_SCHED_Tasks_C2,440,trigger
-136100100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-136125100,TASK_WritingActuator,68,SEM,SEM_DataElement1,0,requestsemaphore,0
-136125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-136125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-136125100,Core_2,0,C,Core_2,0,lock
-136125100,TASK_WritingActuator,68,SEM,SEM_DataElement1,0,assigned,1
-136125150,TASK_WritingActuator,68,R,FUNC_SEMLOCK,136,terminate
-136125150,Core_2,0,C,Core_2,0,unlock
-136125150,TASK_WritingActuator,68,R,FUNC_WriteData,68,start
-136150000,SIM,-1,STI,TIMER-A_2ms,68,trigger
-136150000,TIMER-A_2ms,68,T,TASK_InputProcessing,68,activate
-136150000,TASK_InputProcessing,68,SCHED,SCHED_Tasks_C1,-1,processactivate
-136150100,TASK_InputProcessing,68,STI,IR_SCHED_Tasks_C1,461,trigger
-136150100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-136150100,Core_1,0,T,TASK_InputProcessing,68,start
-136150100,TASK_InputProcessing,68,R,FUNC_SEMLOCK,137,start
-136150100,Core_1,0,C,Core_1,0,execute
-136150100,TASK_InputProcessing,68,C,Core_1,0,execute
-136152525,TASK_WritingActuator,68,SIG,SIG_Mixture,0,write,0
-136152525,TASK_WritingActuator,68,R,FUNC_WriteData,68,terminate
-136152525,TASK_WritingActuator,68,R,FUNC_SEMUNLOCK,136,start
-136250000,SIM,-1,STI,TIMER-1MS,136,trigger
-136250000,TIMER-1MS,136,T,TASK_1MS,136,activate
-136250000,TASK_1MS,136,SCHED,SCHED_Tasks_C1,-1,processactivate
-136250100,TASK_1MS,136,STI,IR_SCHED_Tasks_C1,462,trigger
-136250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-136250100,TASK_InputProcessing,68,R,FUNC_SEMLOCK,137,suspend
-136250100,Core_1,0,T,TASK_InputProcessing,68,preempt
-136250100,Core_1,0,C,Core_1,0,idle_execution
-136250100,TASK_InputProcessing,68,C,Core_1,0,idle_execution
-136250100,Core_1,0,T,TASK_1MS,136,start
-136250100,TASK_1MS,136,R,FUNC_EXECTIME_1,252,start
-136250100,Core_1,0,C,Core_1,0,execute
-136250100,TASK_1MS,136,C,Core_1,0,execute
-136352525,TASK_WritingActuator,68,SEM,SEM_DataElement1,0,released,1
-136352525,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-136352525,TASK_WritingActuator,68,SCHED,SCHED_Tasks_C2,-1,schedulepoint
-136352525,Core_2,0,C,Core_2,0,lock
-136352575,TASK_WritingActuator,68,R,FUNC_SEMUNLOCK,136,terminate
-136352575,Core_2,0,T,TASK_WritingActuator,68,terminate
-136352575,TASK_WritingActuator,68,SCHED,SCHED_Tasks_C2,-1,processterminate
-136352575,Core_2,0,C,Core_2,0,unlock
-136352575,Core_2,0,C,Core_2,0,idle
-136352575,TASK_WritingActuator,68,C,Core_2,0,idle
-136352625,TASK_WritingActuator,68,STI,IR_SCHED_Tasks_C2,441,trigger
-136352625,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-136352625,Core_2,0,T,TASK_5MS,68,start
-136352625,TASK_5MS,68,R,FUNC_EXECTIME_1,251,start
-136352625,Core_2,0,C,Core_2,0,execute
-136352625,TASK_5MS,68,C,Core_2,0,execute
-136533425,TASK_1MS,136,R,FUNC_EXECTIME_1,252,terminate
-136533425,Core_1,0,T,TASK_1MS,136,terminate
-136533425,TASK_1MS,136,SCHED,SCHED_Tasks_C1,-1,processterminate
-136533425,Core_1,0,C,Core_1,0,idle
-136533425,TASK_1MS,136,C,Core_1,0,idle
-136533525,TASK_1MS,136,STI,IR_SCHED_Tasks_C1,463,trigger
-136533525,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-136533525,Core_1,0,C,Core_1,0,execute_idle
-136533525,TASK_InputProcessing,68,C,Core_1,0,execute_idle
-136533525,Core_1,0,T,TASK_InputProcessing,68,resume
-136533525,TASK_InputProcessing,68,R,FUNC_SEMLOCK,137,resume
-136558525,TASK_InputProcessing,68,SEM,SEM_DataElement1,0,requestsemaphore,0
-136558525,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-136558525,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-136558525,Core_1,0,C,Core_1,0,lock
-136558525,TASK_InputProcessing,68,SEM,SEM_DataElement1,0,assigned,1
-136558575,TASK_InputProcessing,68,R,FUNC_SEMLOCK,137,terminate
-136558575,Core_1,0,C,Core_1,0,unlock
-136558575,TASK_InputProcessing,68,R,FUNC_ReadSensorData,68,start
-136718225,TASK_InputProcessing,68,SIG,SIG_RotationSpeed,0,read,0
-136718225,TASK_InputProcessing,68,SIG,SIG_Lambda,0,read,0
-136718225,TASK_InputProcessing,68,SIG,SIG_Temperature,0,read,0
-136718225,TASK_InputProcessing,68,R,FUNC_ReadSensorData,68,terminate
-136718225,TASK_InputProcessing,68,R,FUNC_SEMUNLOCK,137,start
-136918225,TASK_InputProcessing,68,SEM,SEM_DataElement1,0,released,1
-136918225,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-136918225,TASK_InputProcessing,68,SCHED,SCHED_Tasks_C1,-1,schedulepoint
-136918225,Core_1,0,C,Core_1,0,lock
-136918275,TASK_InputProcessing,68,R,FUNC_SEMUNLOCK,137,terminate
-136918275,Core_1,0,C,Core_1,0,unlock
-136918275,TASK_InputProcessing,68,STI,IPA_InputReady,68,trigger
-136918275,IPA_InputReady,68,T,TASK_CalcEngineSpeed,68,activate
-136918275,TASK_CalcEngineSpeed,68,SCHED,SCHED_Tasks_C2,-1,processactivate
-136918275,Core_1,0,T,TASK_InputProcessing,68,terminate
-136918275,TASK_InputProcessing,68,SCHED,SCHED_Tasks_C1,-1,processterminate
-136918275,Core_1,0,C,Core_1,0,idle
-136918275,TASK_InputProcessing,68,C,Core_1,0,idle
-136918325,TASK_InputProcessing,68,STI,IR_SCHED_Tasks_C1,464,trigger
-136918325,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-136918375,TASK_CalcEngineSpeed,68,STI,IR_SCHED_Tasks_C2,442,trigger
-136918375,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-136918375,TASK_5MS,68,R,FUNC_EXECTIME_1,251,suspend
-136918375,Core_2,0,T,TASK_5MS,68,preempt
-136918375,Core_2,0,C,Core_2,0,idle_execution
-136918375,TASK_5MS,68,C,Core_2,0,idle_execution
-136918375,Core_2,0,T,TASK_CalcEngineSpeed,68,start
-136918375,TASK_CalcEngineSpeed,68,R,FUNC_ENGINESPEED,68,start
-136918375,Core_2,0,C,Core_2,0,execute
-136918375,TASK_CalcEngineSpeed,68,C,Core_2,0,execute
-137122975,TASK_CalcEngineSpeed,68,R,FUNC_ENGINESPEED,68,terminate
-137122975,Core_2,0,T,TASK_CalcEngineSpeed,68,terminate
-137122975,TASK_CalcEngineSpeed,68,SCHED,SCHED_Tasks_C2,-1,processterminate
-137122975,Core_2,0,C,Core_2,0,idle
-137122975,TASK_CalcEngineSpeed,68,C,Core_2,0,idle
-137123075,TASK_CalcEngineSpeed,68,STI,IR_SCHED_Tasks_C2,443,trigger
-137123075,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-137123075,Core_2,0,C,Core_2,0,execute_idle
-137123075,TASK_5MS,68,C,Core_2,0,execute_idle
-137123075,Core_2,0,T,TASK_5MS,68,resume
-137123075,TASK_5MS,68,R,FUNC_EXECTIME_1,251,resume
-137133975,TASK_5MS,68,R,FUNC_EXECTIME_1,251,terminate
-137133975,Core_2,0,T,TASK_5MS,68,terminate
-137133975,TASK_5MS,68,SCHED,SCHED_Tasks_C2,-1,processterminate
-137133975,Core_2,0,C,Core_2,0,idle
-137133975,TASK_5MS,68,C,Core_2,0,idle
-137134075,TASK_5MS,68,STI,IR_SCHED_Tasks_C2,444,trigger
-137134075,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-137250000,SIM,-1,STI,TIMER-1MS,137,trigger
-137250000,TIMER-1MS,137,T,TASK_1MS,137,activate
-137250000,TASK_1MS,137,SCHED,SCHED_Tasks_C1,-1,processactivate
-137250100,TASK_1MS,137,STI,IR_SCHED_Tasks_C1,465,trigger
-137250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-137250100,Core_1,0,T,TASK_1MS,137,start
-137250100,TASK_1MS,137,R,FUNC_EXECTIME_1,253,start
-137250100,Core_1,0,C,Core_1,0,execute
-137250100,TASK_1MS,137,C,Core_1,0,execute
-137744625,TASK_1MS,137,R,FUNC_EXECTIME_1,253,terminate
-137744625,Core_1,0,T,TASK_1MS,137,terminate
-137744625,TASK_1MS,137,SCHED,SCHED_Tasks_C1,-1,processterminate
-137744625,Core_1,0,C,Core_1,0,idle
-137744625,TASK_1MS,137,C,Core_1,0,idle
-137744725,TASK_1MS,137,STI,IR_SCHED_Tasks_C1,466,trigger
-137744725,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-138000000,SIM,-1,STI,TIMER-B_2ms,69,trigger
-138000000,TIMER-B_2ms,69,T,TASK_WritingActuator,69,activate
-138000000,TASK_WritingActuator,69,SCHED,SCHED_Tasks_C2,-1,processactivate
-138000100,TASK_WritingActuator,69,STI,IR_SCHED_Tasks_C2,445,trigger
-138000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-138000100,Core_2,0,T,TASK_WritingActuator,69,start
-138000100,TASK_WritingActuator,69,R,FUNC_SEMLOCK,138,start
-138000100,Core_2,0,C,Core_2,0,execute
-138000100,TASK_WritingActuator,69,C,Core_2,0,execute
-138100000,SIM,-1,STI,TIMER-5MS,69,trigger
-138100000,TIMER-5MS,69,T,TASK_5MS,69,activate
-138100000,TASK_5MS,69,SCHED,SCHED_Tasks_C2,-1,processactivate
-138100100,TASK_5MS,69,STI,IR_SCHED_Tasks_C2,446,trigger
-138100100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-138125100,TASK_WritingActuator,69,SEM,SEM_DataElement1,0,requestsemaphore,0
-138125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-138125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-138125100,Core_2,0,C,Core_2,0,lock
-138125100,TASK_WritingActuator,69,SEM,SEM_DataElement1,0,assigned,1
-138125150,TASK_WritingActuator,69,R,FUNC_SEMLOCK,138,terminate
-138125150,Core_2,0,C,Core_2,0,unlock
-138125150,TASK_WritingActuator,69,R,FUNC_WriteData,69,start
-138150000,SIM,-1,STI,TIMER-A_2ms,69,trigger
-138150000,TIMER-A_2ms,69,T,TASK_InputProcessing,69,activate
-138150000,TASK_InputProcessing,69,SCHED,SCHED_Tasks_C1,-1,processactivate
-138150100,TASK_InputProcessing,69,STI,IR_SCHED_Tasks_C1,467,trigger
-138150100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-138150100,Core_1,0,T,TASK_InputProcessing,69,start
-138150100,TASK_InputProcessing,69,R,FUNC_SEMLOCK,139,start
-138150100,Core_1,0,C,Core_1,0,execute
-138150100,TASK_InputProcessing,69,C,Core_1,0,execute
-138152300,TASK_WritingActuator,69,SIG,SIG_Mixture,0,write,0
-138152300,TASK_WritingActuator,69,R,FUNC_WriteData,69,terminate
-138152300,TASK_WritingActuator,69,R,FUNC_SEMUNLOCK,138,start
-138250000,SIM,-1,STI,TIMER-1MS,138,trigger
-138250000,TIMER-1MS,138,T,TASK_1MS,138,activate
-138250000,TASK_1MS,138,SCHED,SCHED_Tasks_C1,-1,processactivate
-138250100,TASK_1MS,138,STI,IR_SCHED_Tasks_C1,468,trigger
-138250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-138250100,TASK_InputProcessing,69,R,FUNC_SEMLOCK,139,suspend
-138250100,Core_1,0,T,TASK_InputProcessing,69,preempt
-138250100,Core_1,0,C,Core_1,0,idle_execution
-138250100,TASK_InputProcessing,69,C,Core_1,0,idle_execution
-138250100,Core_1,0,T,TASK_1MS,138,start
-138250100,TASK_1MS,138,R,FUNC_EXECTIME_1,255,start
-138250100,Core_1,0,C,Core_1,0,execute
-138250100,TASK_1MS,138,C,Core_1,0,execute
-138352300,TASK_WritingActuator,69,SEM,SEM_DataElement1,0,released,1
-138352300,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-138352300,TASK_WritingActuator,69,SCHED,SCHED_Tasks_C2,-1,schedulepoint
-138352300,Core_2,0,C,Core_2,0,lock
-138352350,TASK_WritingActuator,69,R,FUNC_SEMUNLOCK,138,terminate
-138352350,Core_2,0,T,TASK_WritingActuator,69,terminate
-138352350,TASK_WritingActuator,69,SCHED,SCHED_Tasks_C2,-1,processterminate
-138352350,Core_2,0,C,Core_2,0,unlock
-138352350,Core_2,0,C,Core_2,0,idle
-138352350,TASK_WritingActuator,69,C,Core_2,0,idle
-138352400,TASK_WritingActuator,69,STI,IR_SCHED_Tasks_C2,447,trigger
-138352400,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-138352400,Core_2,0,T,TASK_5MS,69,start
-138352400,TASK_5MS,69,R,FUNC_EXECTIME_1,254,start
-138352400,Core_2,0,C,Core_2,0,execute
-138352400,TASK_5MS,69,C,Core_2,0,execute
-138813125,TASK_1MS,138,R,FUNC_EXECTIME_1,255,terminate
-138813125,Core_1,0,T,TASK_1MS,138,terminate
-138813125,TASK_1MS,138,SCHED,SCHED_Tasks_C1,-1,processterminate
-138813125,Core_1,0,C,Core_1,0,idle
-138813125,TASK_1MS,138,C,Core_1,0,idle
-138813225,TASK_1MS,138,STI,IR_SCHED_Tasks_C1,469,trigger
-138813225,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-138813225,Core_1,0,C,Core_1,0,execute_idle
-138813225,TASK_InputProcessing,69,C,Core_1,0,execute_idle
-138813225,Core_1,0,T,TASK_InputProcessing,69,resume
-138813225,TASK_InputProcessing,69,R,FUNC_SEMLOCK,139,resume
-138838225,TASK_InputProcessing,69,SEM,SEM_DataElement1,0,requestsemaphore,0
-138838225,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-138838225,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-138838225,Core_1,0,C,Core_1,0,lock
-138838225,TASK_InputProcessing,69,SEM,SEM_DataElement1,0,assigned,1
-138838275,TASK_InputProcessing,69,R,FUNC_SEMLOCK,139,terminate
-138838275,Core_1,0,C,Core_1,0,unlock
-138838275,TASK_InputProcessing,69,R,FUNC_ReadSensorData,69,start
-138880800,TASK_5MS,69,R,FUNC_EXECTIME_1,254,terminate
-138880800,Core_2,0,T,TASK_5MS,69,terminate
-138880800,TASK_5MS,69,SCHED,SCHED_Tasks_C2,-1,processterminate
-138880800,Core_2,0,C,Core_2,0,idle
-138880800,TASK_5MS,69,C,Core_2,0,idle
-138880900,TASK_5MS,69,STI,IR_SCHED_Tasks_C2,448,trigger
-138880900,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-138998975,TASK_InputProcessing,69,SIG,SIG_RotationSpeed,0,read,0
-138998975,TASK_InputProcessing,69,SIG,SIG_Lambda,0,read,0
-138998975,TASK_InputProcessing,69,SIG,SIG_Temperature,0,read,0
-138998975,TASK_InputProcessing,69,R,FUNC_ReadSensorData,69,terminate
-138998975,TASK_InputProcessing,69,R,FUNC_SEMUNLOCK,139,start
-139198975,TASK_InputProcessing,69,SEM,SEM_DataElement1,0,released,1
-139198975,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-139198975,TASK_InputProcessing,69,SCHED,SCHED_Tasks_C1,-1,schedulepoint
-139198975,Core_1,0,C,Core_1,0,lock
-139199025,TASK_InputProcessing,69,R,FUNC_SEMUNLOCK,139,terminate
-139199025,Core_1,0,C,Core_1,0,unlock
-139199025,TASK_InputProcessing,69,STI,IPA_InputReady,69,trigger
-139199025,IPA_InputReady,69,T,TASK_CalcEngineSpeed,69,activate
-139199025,TASK_CalcEngineSpeed,69,SCHED,SCHED_Tasks_C2,-1,processactivate
-139199025,Core_1,0,T,TASK_InputProcessing,69,terminate
-139199025,TASK_InputProcessing,69,SCHED,SCHED_Tasks_C1,-1,processterminate
-139199025,Core_1,0,C,Core_1,0,idle
-139199025,TASK_InputProcessing,69,C,Core_1,0,idle
-139199075,TASK_InputProcessing,69,STI,IR_SCHED_Tasks_C1,470,trigger
-139199075,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-139199125,TASK_CalcEngineSpeed,69,STI,IR_SCHED_Tasks_C2,449,trigger
-139199125,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-139199125,Core_2,0,T,TASK_CalcEngineSpeed,69,start
-139199125,TASK_CalcEngineSpeed,69,R,FUNC_ENGINESPEED,69,start
-139199125,Core_2,0,C,Core_2,0,execute
-139199125,TASK_CalcEngineSpeed,69,C,Core_2,0,execute
-139250000,SIM,-1,STI,TIMER-1MS,139,trigger
-139250000,TIMER-1MS,139,T,TASK_1MS,139,activate
-139250000,TASK_1MS,139,SCHED,SCHED_Tasks_C1,-1,processactivate
-139250100,TASK_1MS,139,STI,IR_SCHED_Tasks_C1,471,trigger
-139250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-139250100,Core_1,0,T,TASK_1MS,139,start
-139250100,TASK_1MS,139,R,FUNC_EXECTIME_1,256,start
-139250100,Core_1,0,C,Core_1,0,execute
-139250100,TASK_1MS,139,C,Core_1,0,execute
-139405650,TASK_CalcEngineSpeed,69,R,FUNC_ENGINESPEED,69,terminate
-139405650,Core_2,0,T,TASK_CalcEngineSpeed,69,terminate
-139405650,TASK_CalcEngineSpeed,69,SCHED,SCHED_Tasks_C2,-1,processterminate
-139405650,Core_2,0,C,Core_2,0,idle
-139405650,TASK_CalcEngineSpeed,69,C,Core_2,0,idle
-139405750,TASK_CalcEngineSpeed,69,STI,IR_SCHED_Tasks_C2,450,trigger
-139405750,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-140000000,SIM,-1,STI,TIMER-B_2ms,70,trigger
-140000000,TIMER-B_2ms,70,T,TASK_WritingActuator,70,activate
-140000000,TASK_WritingActuator,70,SCHED,SCHED_Tasks_C2,-1,processactivate
-140000000,SIM,-1,STI,TIMER-10MS_2,14,trigger
-140000000,TIMER-10MS_2,14,T,TASK_10MS_DL2,14,activate
-140000000,TASK_10MS_DL2,14,SCHED,SCHED_Tasks_C1,-1,processactivate
-140000100,TASK_WritingActuator,70,STI,IR_SCHED_Tasks_C2,451,trigger
-140000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-140000100,Core_2,0,T,TASK_WritingActuator,70,start
-140000100,TASK_WritingActuator,70,R,FUNC_SEMLOCK,140,start
-140000100,Core_2,0,C,Core_2,0,execute
-140000100,TASK_WritingActuator,70,C,Core_2,0,execute
-140000100,TASK_10MS_DL2,14,STI,IR_SCHED_Tasks_C1,472,trigger
-140000100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-140005000,SIM,-1,STI,TIMER-20MS,7,trigger
-140005000,TIMER-20MS,7,T,TASK_20MS,7,activate
-140005000,TASK_20MS,7,SCHED,SCHED_Tasks_C1,-1,processactivate
-140005100,TASK_20MS,7,STI,IR_SCHED_Tasks_C1,473,trigger
-140005100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-140062350,TASK_1MS,139,R,FUNC_EXECTIME_1,256,terminate
-140062350,Core_1,0,T,TASK_1MS,139,terminate
-140062350,TASK_1MS,139,SCHED,SCHED_Tasks_C1,-1,processterminate
-140062350,Core_1,0,C,Core_1,0,idle
-140062350,TASK_1MS,139,C,Core_1,0,idle
-140062450,TASK_1MS,139,STI,IR_SCHED_Tasks_C1,474,trigger
-140062450,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-140062450,Core_1,0,T,TASK_10MS_DL2,14,start
-140062450,TASK_10MS_DL2,14,R,FUNC_EXECTIME_1,257,start
-140062450,Core_1,0,C,Core_1,0,execute
-140062450,TASK_10MS_DL2,14,C,Core_1,0,execute
-140100000,SIM,-1,STI,TIMER-5MS,70,trigger
-140100000,TIMER-5MS,70,T,TASK_5MS,70,activate
-140100000,TASK_5MS,70,SCHED,SCHED_Tasks_C2,-1,processactivate
-140100100,TASK_5MS,70,STI,IR_SCHED_Tasks_C2,452,trigger
-140100100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-140125100,TASK_WritingActuator,70,SEM,SEM_DataElement1,0,requestsemaphore,0
-140125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-140125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-140125100,Core_2,0,C,Core_2,0,lock
-140125100,TASK_WritingActuator,70,SEM,SEM_DataElement1,0,assigned,1
-140125150,TASK_WritingActuator,70,R,FUNC_SEMLOCK,140,terminate
-140125150,Core_2,0,C,Core_2,0,unlock
-140125150,TASK_WritingActuator,70,R,FUNC_WriteData,70,start
-140150000,SIM,-1,STI,TIMER-A_2ms,70,trigger
-140150000,TIMER-A_2ms,70,T,TASK_InputProcessing,70,activate
-140150000,TASK_InputProcessing,70,SCHED,SCHED_Tasks_C1,-1,processactivate
-140150100,TASK_InputProcessing,70,STI,IR_SCHED_Tasks_C1,475,trigger
-140150100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-140152200,TASK_WritingActuator,70,SIG,SIG_Mixture,0,write,0
-140152200,TASK_WritingActuator,70,R,FUNC_WriteData,70,terminate
-140152200,TASK_WritingActuator,70,R,FUNC_SEMUNLOCK,140,start
-140250000,SIM,-1,STI,TIMER-1MS,140,trigger
-140250000,TIMER-1MS,140,T,TASK_1MS,140,activate
-140250000,TASK_1MS,140,SCHED,SCHED_Tasks_C1,-1,processactivate
-140250100,TASK_1MS,140,STI,IR_SCHED_Tasks_C1,476,trigger
-140250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-140250100,TASK_10MS_DL2,14,R,FUNC_EXECTIME_1,257,suspend
-140250100,Core_1,0,T,TASK_10MS_DL2,14,preempt
-140250100,Core_1,0,C,Core_1,0,idle_execution
-140250100,TASK_10MS_DL2,14,C,Core_1,0,idle_execution
-140250100,Core_1,0,T,TASK_1MS,140,start
-140250100,TASK_1MS,140,R,FUNC_EXECTIME_1,260,start
-140250100,Core_1,0,C,Core_1,0,execute
-140250100,TASK_1MS,140,C,Core_1,0,execute
-140352200,TASK_WritingActuator,70,SEM,SEM_DataElement1,0,released,1
-140352200,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-140352200,TASK_WritingActuator,70,SCHED,SCHED_Tasks_C2,-1,schedulepoint
-140352200,Core_2,0,C,Core_2,0,lock
-140352250,TASK_WritingActuator,70,R,FUNC_SEMUNLOCK,140,terminate
-140352250,Core_2,0,T,TASK_WritingActuator,70,terminate
-140352250,TASK_WritingActuator,70,SCHED,SCHED_Tasks_C2,-1,processterminate
-140352250,Core_2,0,C,Core_2,0,unlock
-140352250,Core_2,0,C,Core_2,0,idle
-140352250,TASK_WritingActuator,70,C,Core_2,0,idle
-140352300,TASK_WritingActuator,70,STI,IR_SCHED_Tasks_C2,453,trigger
-140352300,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-140352300,Core_2,0,T,TASK_5MS,70,start
-140352300,TASK_5MS,70,R,FUNC_EXECTIME_1,259,start
-140352300,Core_2,0,C,Core_2,0,execute
-140352300,TASK_5MS,70,C,Core_2,0,execute
-140614425,TASK_5MS,70,R,FUNC_EXECTIME_1,259,terminate
-140614425,Core_2,0,T,TASK_5MS,70,terminate
-140614425,TASK_5MS,70,SCHED,SCHED_Tasks_C2,-1,processterminate
-140614425,Core_2,0,C,Core_2,0,idle
-140614425,TASK_5MS,70,C,Core_2,0,idle
-140614525,TASK_5MS,70,STI,IR_SCHED_Tasks_C2,454,trigger
-140614525,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-140621650,TASK_1MS,140,R,FUNC_EXECTIME_1,260,terminate
-140621650,Core_1,0,T,TASK_1MS,140,terminate
-140621650,TASK_1MS,140,SCHED,SCHED_Tasks_C1,-1,processterminate
-140621650,Core_1,0,C,Core_1,0,idle
-140621650,TASK_1MS,140,C,Core_1,0,idle
-140621750,TASK_1MS,140,STI,IR_SCHED_Tasks_C1,477,trigger
-140621750,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-140621750,Core_1,0,C,Core_1,0,execute_idle
-140621750,TASK_10MS_DL2,14,C,Core_1,0,execute_idle
-140621750,Core_1,0,T,TASK_10MS_DL2,14,resume
-140621750,TASK_10MS_DL2,14,R,FUNC_EXECTIME_1,257,resume
-141181650,TASK_10MS_DL2,14,R,FUNC_EXECTIME_1,257,terminate
-141181650,Core_1,0,T,TASK_10MS_DL2,14,terminate
-141181650,TASK_10MS_DL2,14,SCHED,SCHED_Tasks_C1,-1,processterminate
-141181650,Core_1,0,C,Core_1,0,idle
-141181650,TASK_10MS_DL2,14,C,Core_1,0,idle
-141181750,TASK_10MS_DL2,14,STI,IR_SCHED_Tasks_C1,478,trigger
-141181750,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-141181750,Core_1,0,T,TASK_InputProcessing,70,start
-141181750,TASK_InputProcessing,70,R,FUNC_SEMLOCK,141,start
-141181750,Core_1,0,C,Core_1,0,execute
-141181750,TASK_InputProcessing,70,C,Core_1,0,execute
-141250000,SIM,-1,STI,TIMER-1MS,141,trigger
-141250000,TIMER-1MS,141,T,TASK_1MS,141,activate
-141250000,TASK_1MS,141,SCHED,SCHED_Tasks_C1,-1,processactivate
-141250100,TASK_1MS,141,STI,IR_SCHED_Tasks_C1,479,trigger
-141250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-141250100,TASK_InputProcessing,70,R,FUNC_SEMLOCK,141,suspend
-141250100,Core_1,0,T,TASK_InputProcessing,70,preempt
-141250100,Core_1,0,C,Core_1,0,idle_execution
-141250100,TASK_InputProcessing,70,C,Core_1,0,idle_execution
-141250100,Core_1,0,T,TASK_1MS,141,start
-141250100,TASK_1MS,141,R,FUNC_EXECTIME_1,261,start
-141250100,Core_1,0,C,Core_1,0,execute
-141250100,TASK_1MS,141,C,Core_1,0,execute
-141565725,TASK_1MS,141,R,FUNC_EXECTIME_1,261,terminate
-141565725,Core_1,0,T,TASK_1MS,141,terminate
-141565725,TASK_1MS,141,SCHED,SCHED_Tasks_C1,-1,processterminate
-141565725,Core_1,0,C,Core_1,0,idle
-141565725,TASK_1MS,141,C,Core_1,0,idle
-141565825,TASK_1MS,141,STI,IR_SCHED_Tasks_C1,480,trigger
-141565825,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-141565825,Core_1,0,C,Core_1,0,execute_idle
-141565825,TASK_InputProcessing,70,C,Core_1,0,execute_idle
-141565825,Core_1,0,T,TASK_InputProcessing,70,resume
-141565825,TASK_InputProcessing,70,R,FUNC_SEMLOCK,141,resume
-141622475,TASK_InputProcessing,70,SEM,SEM_DataElement1,0,requestsemaphore,0
-141622475,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-141622475,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-141622475,Core_1,0,C,Core_1,0,lock
-141622475,TASK_InputProcessing,70,SEM,SEM_DataElement1,0,assigned,1
-141622525,TASK_InputProcessing,70,R,FUNC_SEMLOCK,141,terminate
-141622525,Core_1,0,C,Core_1,0,unlock
-141622525,TASK_InputProcessing,70,R,FUNC_ReadSensorData,70,start
-141784000,TASK_InputProcessing,70,SIG,SIG_RotationSpeed,0,read,0
-141784000,TASK_InputProcessing,70,SIG,SIG_Lambda,0,read,0
-141784000,TASK_InputProcessing,70,SIG,SIG_Temperature,0,read,0
-141784000,TASK_InputProcessing,70,R,FUNC_ReadSensorData,70,terminate
-141784000,TASK_InputProcessing,70,R,FUNC_SEMUNLOCK,141,start
-141984000,TASK_InputProcessing,70,SEM,SEM_DataElement1,0,released,1
-141984000,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-141984000,TASK_InputProcessing,70,SCHED,SCHED_Tasks_C1,-1,schedulepoint
-141984000,Core_1,0,C,Core_1,0,lock
-141984050,TASK_InputProcessing,70,R,FUNC_SEMUNLOCK,141,terminate
-141984050,Core_1,0,C,Core_1,0,unlock
-141984050,TASK_InputProcessing,70,STI,IPA_InputReady,70,trigger
-141984050,IPA_InputReady,70,T,TASK_CalcEngineSpeed,70,activate
-141984050,TASK_CalcEngineSpeed,70,SCHED,SCHED_Tasks_C2,-1,processactivate
-141984050,Core_1,0,T,TASK_InputProcessing,70,terminate
-141984050,TASK_InputProcessing,70,SCHED,SCHED_Tasks_C1,-1,processterminate
-141984050,Core_1,0,C,Core_1,0,idle
-141984050,TASK_InputProcessing,70,C,Core_1,0,idle
-141984100,TASK_InputProcessing,70,STI,IR_SCHED_Tasks_C1,481,trigger
-141984100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-141984100,Core_1,0,T,TASK_20MS,7,start
-141984100,TASK_20MS,7,R,FUNC_EXECTIME_1,258,start
-141984100,Core_1,0,C,Core_1,0,execute
-141984100,TASK_20MS,7,C,Core_1,0,execute
-141984150,TASK_CalcEngineSpeed,70,STI,IR_SCHED_Tasks_C2,455,trigger
-141984150,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-141984150,Core_2,0,T,TASK_CalcEngineSpeed,70,start
-141984150,TASK_CalcEngineSpeed,70,R,FUNC_ENGINESPEED,70,start
-141984150,Core_2,0,C,Core_2,0,execute
-141984150,TASK_CalcEngineSpeed,70,C,Core_2,0,execute
-142000000,SIM,-1,STI,TIMER-B_2ms,71,trigger
-142000000,TIMER-B_2ms,71,T,TASK_WritingActuator,71,activate
-142000000,TASK_WritingActuator,71,SCHED,SCHED_Tasks_C2,-1,processactivate
-142000100,TASK_WritingActuator,71,STI,IR_SCHED_Tasks_C2,456,trigger
-142000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-142100000,SIM,-1,STI,TIMER-5MS,71,trigger
-142100000,TIMER-5MS,71,T,TASK_5MS,71,activate
-142100000,TASK_5MS,71,SCHED,SCHED_Tasks_C2,-1,processactivate
-142100100,TASK_5MS,71,STI,IR_SCHED_Tasks_C2,457,trigger
-142100100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-142143550,TASK_CalcEngineSpeed,70,R,FUNC_ENGINESPEED,70,terminate
-142143550,Core_2,0,T,TASK_CalcEngineSpeed,70,terminate
-142143550,TASK_CalcEngineSpeed,70,SCHED,SCHED_Tasks_C2,-1,processterminate
-142143550,Core_2,0,C,Core_2,0,idle
-142143550,TASK_CalcEngineSpeed,70,C,Core_2,0,idle
-142143650,TASK_CalcEngineSpeed,70,STI,IR_SCHED_Tasks_C2,458,trigger
-142143650,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-142143650,Core_2,0,T,TASK_WritingActuator,71,start
-142143650,TASK_WritingActuator,71,R,FUNC_SEMLOCK,142,start
-142143650,Core_2,0,C,Core_2,0,execute
-142143650,TASK_WritingActuator,71,C,Core_2,0,execute
-142150000,SIM,-1,STI,TIMER-A_2ms,71,trigger
-142150000,TIMER-A_2ms,71,T,TASK_InputProcessing,71,activate
-142150000,TASK_InputProcessing,71,SCHED,SCHED_Tasks_C1,-1,processactivate
-142150100,TASK_InputProcessing,71,STI,IR_SCHED_Tasks_C1,482,trigger
-142150100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-142150100,TASK_20MS,7,R,FUNC_EXECTIME_1,258,suspend
-142150100,Core_1,0,T,TASK_20MS,7,preempt
-142150100,Core_1,0,C,Core_1,0,idle_execution
-142150100,TASK_20MS,7,C,Core_1,0,idle_execution
-142150100,Core_1,0,T,TASK_InputProcessing,71,start
-142150100,TASK_InputProcessing,71,R,FUNC_SEMLOCK,143,start
-142150100,Core_1,0,C,Core_1,0,execute
-142150100,TASK_InputProcessing,71,C,Core_1,0,execute
-142250000,SIM,-1,STI,TIMER-1MS,142,trigger
-142250000,TIMER-1MS,142,T,TASK_1MS,142,activate
-142250000,TASK_1MS,142,SCHED,SCHED_Tasks_C1,-1,processactivate
-142250100,TASK_1MS,142,STI,IR_SCHED_Tasks_C1,483,trigger
-142250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-142250100,TASK_InputProcessing,71,R,FUNC_SEMLOCK,143,suspend
-142250100,Core_1,0,T,TASK_InputProcessing,71,preempt
-142250100,Core_1,0,C,Core_1,0,idle_execution
-142250100,TASK_InputProcessing,71,C,Core_1,0,idle_execution
-142250100,Core_1,0,T,TASK_1MS,142,start
-142250100,TASK_1MS,142,R,FUNC_EXECTIME_1,263,start
-142250100,Core_1,0,C,Core_1,0,execute
-142250100,TASK_1MS,142,C,Core_1,0,execute
-142268650,TASK_WritingActuator,71,SEM,SEM_DataElement1,0,requestsemaphore,0
-142268650,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-142268650,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-142268650,Core_2,0,C,Core_2,0,lock
-142268650,TASK_WritingActuator,71,SEM,SEM_DataElement1,0,assigned,1
-142268700,TASK_WritingActuator,71,R,FUNC_SEMLOCK,142,terminate
-142268700,Core_2,0,C,Core_2,0,unlock
-142268700,TASK_WritingActuator,71,R,FUNC_WriteData,71,start
-142295975,TASK_WritingActuator,71,SIG,SIG_Mixture,0,write,0
-142295975,TASK_WritingActuator,71,R,FUNC_WriteData,71,terminate
-142295975,TASK_WritingActuator,71,R,FUNC_SEMUNLOCK,142,start
-142495975,TASK_WritingActuator,71,SEM,SEM_DataElement1,0,released,1
-142495975,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-142495975,TASK_WritingActuator,71,SCHED,SCHED_Tasks_C2,-1,schedulepoint
-142495975,Core_2,0,C,Core_2,0,lock
-142496025,TASK_WritingActuator,71,R,FUNC_SEMUNLOCK,142,terminate
-142496025,Core_2,0,T,TASK_WritingActuator,71,terminate
-142496025,TASK_WritingActuator,71,SCHED,SCHED_Tasks_C2,-1,processterminate
-142496025,Core_2,0,C,Core_2,0,unlock
-142496025,Core_2,0,C,Core_2,0,idle
-142496025,TASK_WritingActuator,71,C,Core_2,0,idle
-142496075,TASK_WritingActuator,71,STI,IR_SCHED_Tasks_C2,459,trigger
-142496075,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-142496075,Core_2,0,T,TASK_5MS,71,start
-142496075,TASK_5MS,71,R,FUNC_EXECTIME_1,262,start
-142496075,Core_2,0,C,Core_2,0,execute
-142496075,TASK_5MS,71,C,Core_2,0,execute
-142778900,TASK_1MS,142,R,FUNC_EXECTIME_1,263,terminate
-142778900,Core_1,0,T,TASK_1MS,142,terminate
-142778900,TASK_1MS,142,SCHED,SCHED_Tasks_C1,-1,processterminate
-142778900,Core_1,0,C,Core_1,0,idle
-142778900,TASK_1MS,142,C,Core_1,0,idle
-142779000,TASK_1MS,142,STI,IR_SCHED_Tasks_C1,484,trigger
-142779000,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-142779000,Core_1,0,C,Core_1,0,execute_idle
-142779000,TASK_InputProcessing,71,C,Core_1,0,execute_idle
-142779000,Core_1,0,T,TASK_InputProcessing,71,resume
-142779000,TASK_InputProcessing,71,R,FUNC_SEMLOCK,143,resume
-142804000,TASK_InputProcessing,71,SEM,SEM_DataElement1,0,requestsemaphore,0
-142804000,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-142804000,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-142804000,Core_1,0,C,Core_1,0,lock
-142804000,TASK_InputProcessing,71,SEM,SEM_DataElement1,0,assigned,1
-142804050,TASK_InputProcessing,71,R,FUNC_SEMLOCK,143,terminate
-142804050,Core_1,0,C,Core_1,0,unlock
-142804050,TASK_InputProcessing,71,R,FUNC_ReadSensorData,71,start
-142964950,TASK_InputProcessing,71,SIG,SIG_RotationSpeed,0,read,0
-142964950,TASK_InputProcessing,71,SIG,SIG_Lambda,0,read,0
-142964950,TASK_InputProcessing,71,SIG,SIG_Temperature,0,read,0
-142964950,TASK_InputProcessing,71,R,FUNC_ReadSensorData,71,terminate
-142964950,TASK_InputProcessing,71,R,FUNC_SEMUNLOCK,143,start
-143033875,TASK_5MS,71,R,FUNC_EXECTIME_1,262,terminate
-143033875,Core_2,0,T,TASK_5MS,71,terminate
-143033875,TASK_5MS,71,SCHED,SCHED_Tasks_C2,-1,processterminate
-143033875,Core_2,0,C,Core_2,0,idle
-143033875,TASK_5MS,71,C,Core_2,0,idle
-143033975,TASK_5MS,71,STI,IR_SCHED_Tasks_C2,460,trigger
-143033975,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-143164950,TASK_InputProcessing,71,SEM,SEM_DataElement1,0,released,1
-143164950,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-143164950,TASK_InputProcessing,71,SCHED,SCHED_Tasks_C1,-1,schedulepoint
-143164950,Core_1,0,C,Core_1,0,lock
-143165000,TASK_InputProcessing,71,R,FUNC_SEMUNLOCK,143,terminate
-143165000,Core_1,0,C,Core_1,0,unlock
-143165000,TASK_InputProcessing,71,STI,IPA_InputReady,71,trigger
-143165000,IPA_InputReady,71,T,TASK_CalcEngineSpeed,71,activate
-143165000,TASK_CalcEngineSpeed,71,SCHED,SCHED_Tasks_C2,-1,processactivate
-143165000,Core_1,0,T,TASK_InputProcessing,71,terminate
-143165000,TASK_InputProcessing,71,SCHED,SCHED_Tasks_C1,-1,processterminate
-143165000,Core_1,0,C,Core_1,0,idle
-143165000,TASK_InputProcessing,71,C,Core_1,0,idle
-143165050,TASK_InputProcessing,71,STI,IR_SCHED_Tasks_C1,485,trigger
-143165050,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-143165050,Core_1,0,C,Core_1,0,execute_idle
-143165050,TASK_20MS,7,C,Core_1,0,execute_idle
-143165050,Core_1,0,T,TASK_20MS,7,resume
-143165050,TASK_20MS,7,R,FUNC_EXECTIME_1,258,resume
-143165100,TASK_CalcEngineSpeed,71,STI,IR_SCHED_Tasks_C2,461,trigger
-143165100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-143165100,Core_2,0,T,TASK_CalcEngineSpeed,71,start
-143165100,TASK_CalcEngineSpeed,71,R,FUNC_ENGINESPEED,71,start
-143165100,Core_2,0,C,Core_2,0,execute
-143165100,TASK_CalcEngineSpeed,71,C,Core_2,0,execute
-143250000,SIM,-1,STI,TIMER-1MS,143,trigger
-143250000,TIMER-1MS,143,T,TASK_1MS,143,activate
-143250000,TASK_1MS,143,SCHED,SCHED_Tasks_C1,-1,processactivate
-143250100,TASK_1MS,143,STI,IR_SCHED_Tasks_C1,486,trigger
-143250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-143250100,TASK_20MS,7,R,FUNC_EXECTIME_1,258,suspend
-143250100,Core_1,0,T,TASK_20MS,7,preempt
-143250100,Core_1,0,C,Core_1,0,idle_execution
-143250100,TASK_20MS,7,C,Core_1,0,idle_execution
-143250100,Core_1,0,T,TASK_1MS,143,start
-143250100,TASK_1MS,143,R,FUNC_EXECTIME_1,264,start
-143250100,Core_1,0,C,Core_1,0,execute
-143250100,TASK_1MS,143,C,Core_1,0,execute
-143377925,TASK_CalcEngineSpeed,71,R,FUNC_ENGINESPEED,71,terminate
-143377925,Core_2,0,T,TASK_CalcEngineSpeed,71,terminate
-143377925,TASK_CalcEngineSpeed,71,SCHED,SCHED_Tasks_C2,-1,processterminate
-143377925,Core_2,0,C,Core_2,0,idle
-143377925,TASK_CalcEngineSpeed,71,C,Core_2,0,idle
-143378025,TASK_CalcEngineSpeed,71,STI,IR_SCHED_Tasks_C2,462,trigger
-143378025,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-143687175,TASK_1MS,143,R,FUNC_EXECTIME_1,264,terminate
-143687175,Core_1,0,T,TASK_1MS,143,terminate
-143687175,TASK_1MS,143,SCHED,SCHED_Tasks_C1,-1,processterminate
-143687175,Core_1,0,C,Core_1,0,idle
-143687175,TASK_1MS,143,C,Core_1,0,idle
-143687275,TASK_1MS,143,STI,IR_SCHED_Tasks_C1,487,trigger
-143687275,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-143687275,Core_1,0,C,Core_1,0,execute_idle
-143687275,TASK_20MS,7,C,Core_1,0,execute_idle
-143687275,Core_1,0,T,TASK_20MS,7,resume
-143687275,TASK_20MS,7,R,FUNC_EXECTIME_1,258,resume
-144000000,SIM,-1,STI,TIMER-B_2ms,72,trigger
-144000000,TIMER-B_2ms,72,T,TASK_WritingActuator,72,activate
-144000000,TASK_WritingActuator,72,SCHED,SCHED_Tasks_C2,-1,processactivate
-144000100,TASK_WritingActuator,72,STI,IR_SCHED_Tasks_C2,463,trigger
-144000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-144000100,Core_2,0,T,TASK_WritingActuator,72,start
-144000100,TASK_WritingActuator,72,R,FUNC_SEMLOCK,144,start
-144000100,Core_2,0,C,Core_2,0,execute
-144000100,TASK_WritingActuator,72,C,Core_2,0,execute
-144100000,SIM,-1,STI,TIMER-5MS,72,trigger
-144100000,TIMER-5MS,72,T,TASK_5MS,72,activate
-144100000,TASK_5MS,72,SCHED,SCHED_Tasks_C2,-1,processactivate
-144100100,TASK_5MS,72,STI,IR_SCHED_Tasks_C2,464,trigger
-144100100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-144125100,TASK_WritingActuator,72,SEM,SEM_DataElement1,0,requestsemaphore,0
-144125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-144125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-144125100,Core_2,0,C,Core_2,0,lock
-144125100,TASK_WritingActuator,72,SEM,SEM_DataElement1,0,assigned,1
-144125150,TASK_WritingActuator,72,R,FUNC_SEMLOCK,144,terminate
-144125150,Core_2,0,C,Core_2,0,unlock
-144125150,TASK_WritingActuator,72,R,FUNC_WriteData,72,start
-144131350,TASK_20MS,7,R,FUNC_EXECTIME_1,258,terminate
-144131350,Core_1,0,T,TASK_20MS,7,terminate
-144131350,TASK_20MS,7,SCHED,SCHED_Tasks_C1,-1,processterminate
-144131350,Core_1,0,C,Core_1,0,idle
-144131350,TASK_20MS,7,C,Core_1,0,idle
-144131450,TASK_20MS,7,STI,IR_SCHED_Tasks_C1,488,trigger
-144131450,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-144150000,SIM,-1,STI,TIMER-A_2ms,72,trigger
-144150000,TIMER-A_2ms,72,T,TASK_InputProcessing,72,activate
-144150000,TASK_InputProcessing,72,SCHED,SCHED_Tasks_C1,-1,processactivate
-144150100,TASK_InputProcessing,72,STI,IR_SCHED_Tasks_C1,489,trigger
-144150100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-144150100,Core_1,0,T,TASK_InputProcessing,72,start
-144150100,TASK_InputProcessing,72,R,FUNC_SEMLOCK,145,start
-144150100,Core_1,0,C,Core_1,0,execute
-144150100,TASK_InputProcessing,72,C,Core_1,0,execute
-144152175,TASK_WritingActuator,72,SIG,SIG_Mixture,0,write,0
-144152175,TASK_WritingActuator,72,R,FUNC_WriteData,72,terminate
-144152175,TASK_WritingActuator,72,R,FUNC_SEMUNLOCK,144,start
-144250000,SIM,-1,STI,TIMER-1MS,144,trigger
-144250000,TIMER-1MS,144,T,TASK_1MS,144,activate
-144250000,TASK_1MS,144,SCHED,SCHED_Tasks_C1,-1,processactivate
-144250100,TASK_1MS,144,STI,IR_SCHED_Tasks_C1,490,trigger
-144250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-144250100,TASK_InputProcessing,72,R,FUNC_SEMLOCK,145,suspend
-144250100,Core_1,0,T,TASK_InputProcessing,72,preempt
-144250100,Core_1,0,C,Core_1,0,idle_execution
-144250100,TASK_InputProcessing,72,C,Core_1,0,idle_execution
-144250100,Core_1,0,T,TASK_1MS,144,start
-144250100,TASK_1MS,144,R,FUNC_EXECTIME_1,266,start
-144250100,Core_1,0,C,Core_1,0,execute
-144250100,TASK_1MS,144,C,Core_1,0,execute
-144352175,TASK_WritingActuator,72,SEM,SEM_DataElement1,0,released,1
-144352175,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-144352175,TASK_WritingActuator,72,SCHED,SCHED_Tasks_C2,-1,schedulepoint
-144352175,Core_2,0,C,Core_2,0,lock
-144352225,TASK_WritingActuator,72,R,FUNC_SEMUNLOCK,144,terminate
-144352225,Core_2,0,T,TASK_WritingActuator,72,terminate
-144352225,TASK_WritingActuator,72,SCHED,SCHED_Tasks_C2,-1,processterminate
-144352225,Core_2,0,C,Core_2,0,unlock
-144352225,Core_2,0,C,Core_2,0,idle
-144352225,TASK_WritingActuator,72,C,Core_2,0,idle
-144352275,TASK_WritingActuator,72,STI,IR_SCHED_Tasks_C2,465,trigger
-144352275,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-144352275,Core_2,0,T,TASK_5MS,72,start
-144352275,TASK_5MS,72,R,FUNC_EXECTIME_1,265,start
-144352275,Core_2,0,C,Core_2,0,execute
-144352275,TASK_5MS,72,C,Core_2,0,execute
-144587175,TASK_1MS,144,R,FUNC_EXECTIME_1,266,terminate
-144587175,Core_1,0,T,TASK_1MS,144,terminate
-144587175,TASK_1MS,144,SCHED,SCHED_Tasks_C1,-1,processterminate
-144587175,Core_1,0,C,Core_1,0,idle
-144587175,TASK_1MS,144,C,Core_1,0,idle
-144587275,TASK_1MS,144,STI,IR_SCHED_Tasks_C1,491,trigger
-144587275,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-144587275,Core_1,0,C,Core_1,0,execute_idle
-144587275,TASK_InputProcessing,72,C,Core_1,0,execute_idle
-144587275,Core_1,0,T,TASK_InputProcessing,72,resume
-144587275,TASK_InputProcessing,72,R,FUNC_SEMLOCK,145,resume
-144612275,TASK_InputProcessing,72,SEM,SEM_DataElement1,0,requestsemaphore,0
-144612275,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-144612275,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-144612275,Core_1,0,C,Core_1,0,lock
-144612275,TASK_InputProcessing,72,SEM,SEM_DataElement1,0,assigned,1
-144612325,TASK_InputProcessing,72,R,FUNC_SEMLOCK,145,terminate
-144612325,Core_1,0,C,Core_1,0,unlock
-144612325,TASK_InputProcessing,72,R,FUNC_ReadSensorData,72,start
-144757525,TASK_5MS,72,R,FUNC_EXECTIME_1,265,terminate
-144757525,Core_2,0,T,TASK_5MS,72,terminate
-144757525,TASK_5MS,72,SCHED,SCHED_Tasks_C2,-1,processterminate
-144757525,Core_2,0,C,Core_2,0,idle
-144757525,TASK_5MS,72,C,Core_2,0,idle
-144757625,TASK_5MS,72,STI,IR_SCHED_Tasks_C2,466,trigger
-144757625,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-144773625,TASK_InputProcessing,72,SIG,SIG_RotationSpeed,0,read,0
-144773625,TASK_InputProcessing,72,SIG,SIG_Lambda,0,read,0
-144773625,TASK_InputProcessing,72,SIG,SIG_Temperature,0,read,0
-144773625,TASK_InputProcessing,72,R,FUNC_ReadSensorData,72,terminate
-144773625,TASK_InputProcessing,72,R,FUNC_SEMUNLOCK,145,start
-144973625,TASK_InputProcessing,72,SEM,SEM_DataElement1,0,released,1
-144973625,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-144973625,TASK_InputProcessing,72,SCHED,SCHED_Tasks_C1,-1,schedulepoint
-144973625,Core_1,0,C,Core_1,0,lock
-144973675,TASK_InputProcessing,72,R,FUNC_SEMUNLOCK,145,terminate
-144973675,Core_1,0,C,Core_1,0,unlock
-144973675,TASK_InputProcessing,72,STI,IPA_InputReady,72,trigger
-144973675,IPA_InputReady,72,T,TASK_CalcEngineSpeed,72,activate
-144973675,TASK_CalcEngineSpeed,72,SCHED,SCHED_Tasks_C2,-1,processactivate
-144973675,Core_1,0,T,TASK_InputProcessing,72,terminate
-144973675,TASK_InputProcessing,72,SCHED,SCHED_Tasks_C1,-1,processterminate
-144973675,Core_1,0,C,Core_1,0,idle
-144973675,TASK_InputProcessing,72,C,Core_1,0,idle
-144973725,TASK_InputProcessing,72,STI,IR_SCHED_Tasks_C1,492,trigger
-144973725,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-144973775,TASK_CalcEngineSpeed,72,STI,IR_SCHED_Tasks_C2,467,trigger
-144973775,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-144973775,Core_2,0,T,TASK_CalcEngineSpeed,72,start
-144973775,TASK_CalcEngineSpeed,72,R,FUNC_ENGINESPEED,72,start
-144973775,Core_2,0,C,Core_2,0,execute
-144973775,TASK_CalcEngineSpeed,72,C,Core_2,0,execute
-145000000,SIM,-1,STI,TIMER-10MS,14,trigger
-145000000,TIMER-10MS,14,T,TASK_10MS,14,activate
-145000000,TASK_10MS,14,SCHED,SCHED_Tasks_C2,-1,processactivate
-145000100,TASK_10MS,14,STI,IR_SCHED_Tasks_C2,468,trigger
-145000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-145198625,TASK_CalcEngineSpeed,72,R,FUNC_ENGINESPEED,72,terminate
-145198625,Core_2,0,T,TASK_CalcEngineSpeed,72,terminate
-145198625,TASK_CalcEngineSpeed,72,SCHED,SCHED_Tasks_C2,-1,processterminate
-145198625,Core_2,0,C,Core_2,0,idle
-145198625,TASK_CalcEngineSpeed,72,C,Core_2,0,idle
-145198725,TASK_CalcEngineSpeed,72,STI,IR_SCHED_Tasks_C2,469,trigger
-145198725,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-145198725,Core_2,0,T,TASK_10MS,14,start
-145198725,TASK_10MS,14,R,FUNC_EXECTIME_1,267,start
-145198725,Core_2,0,C,Core_2,0,execute
-145198725,TASK_10MS,14,C,Core_2,0,execute
-145250000,SIM,-1,STI,TIMER-1MS,145,trigger
-145250000,TIMER-1MS,145,T,TASK_1MS,145,activate
-145250000,TASK_1MS,145,SCHED,SCHED_Tasks_C1,-1,processactivate
-145250100,TASK_1MS,145,STI,IR_SCHED_Tasks_C1,493,trigger
-145250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-145250100,Core_1,0,T,TASK_1MS,145,start
-145250100,TASK_1MS,145,R,FUNC_EXECTIME_1,268,start
-145250100,Core_1,0,C,Core_1,0,execute
-145250100,TASK_1MS,145,C,Core_1,0,execute
-145801350,TASK_1MS,145,R,FUNC_EXECTIME_1,268,terminate
-145801350,Core_1,0,T,TASK_1MS,145,terminate
-145801350,TASK_1MS,145,SCHED,SCHED_Tasks_C1,-1,processterminate
-145801350,Core_1,0,C,Core_1,0,idle
-145801350,TASK_1MS,145,C,Core_1,0,idle
-145801450,TASK_1MS,145,STI,IR_SCHED_Tasks_C1,494,trigger
-145801450,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-145857175,TASK_10MS,14,R,FUNC_EXECTIME_1,267,terminate
-145857175,Core_2,0,T,TASK_10MS,14,terminate
-145857175,TASK_10MS,14,SCHED,SCHED_Tasks_C2,-1,processterminate
-145857175,Core_2,0,C,Core_2,0,idle
-145857175,TASK_10MS,14,C,Core_2,0,idle
-145857275,TASK_10MS,14,STI,IR_SCHED_Tasks_C2,470,trigger
-145857275,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-146000000,SIM,-1,STI,TIMER-B_2ms,73,trigger
-146000000,TIMER-B_2ms,73,T,TASK_WritingActuator,73,activate
-146000000,TASK_WritingActuator,73,SCHED,SCHED_Tasks_C2,-1,processactivate
-146000100,TASK_WritingActuator,73,STI,IR_SCHED_Tasks_C2,471,trigger
-146000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-146000100,Core_2,0,T,TASK_WritingActuator,73,start
-146000100,TASK_WritingActuator,73,R,FUNC_SEMLOCK,146,start
-146000100,Core_2,0,C,Core_2,0,execute
-146000100,TASK_WritingActuator,73,C,Core_2,0,execute
-146100000,SIM,-1,STI,TIMER-5MS,73,trigger
-146100000,TIMER-5MS,73,T,TASK_5MS,73,activate
-146100000,TASK_5MS,73,SCHED,SCHED_Tasks_C2,-1,processactivate
-146100100,TASK_5MS,73,STI,IR_SCHED_Tasks_C2,472,trigger
-146100100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-146125100,TASK_WritingActuator,73,SEM,SEM_DataElement1,0,requestsemaphore,0
-146125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-146125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-146125100,Core_2,0,C,Core_2,0,lock
-146125100,TASK_WritingActuator,73,SEM,SEM_DataElement1,0,assigned,1
-146125150,TASK_WritingActuator,73,R,FUNC_SEMLOCK,146,terminate
-146125150,Core_2,0,C,Core_2,0,unlock
-146125150,TASK_WritingActuator,73,R,FUNC_WriteData,73,start
-146150000,SIM,-1,STI,TIMER-A_2ms,73,trigger
-146150000,TIMER-A_2ms,73,T,TASK_InputProcessing,73,activate
-146150000,TASK_InputProcessing,73,SCHED,SCHED_Tasks_C1,-1,processactivate
-146150100,TASK_InputProcessing,73,STI,IR_SCHED_Tasks_C1,495,trigger
-146150100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-146150100,Core_1,0,T,TASK_InputProcessing,73,start
-146150100,TASK_InputProcessing,73,R,FUNC_SEMLOCK,147,start
-146150100,Core_1,0,C,Core_1,0,execute
-146150100,TASK_InputProcessing,73,C,Core_1,0,execute
-146152550,TASK_WritingActuator,73,SIG,SIG_Mixture,0,write,0
-146152550,TASK_WritingActuator,73,R,FUNC_WriteData,73,terminate
-146152550,TASK_WritingActuator,73,R,FUNC_SEMUNLOCK,146,start
-146250000,SIM,-1,STI,TIMER-1MS,146,trigger
-146250000,TIMER-1MS,146,T,TASK_1MS,146,activate
-146250000,TASK_1MS,146,SCHED,SCHED_Tasks_C1,-1,processactivate
-146250100,TASK_1MS,146,STI,IR_SCHED_Tasks_C1,496,trigger
-146250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-146250100,TASK_InputProcessing,73,R,FUNC_SEMLOCK,147,suspend
-146250100,Core_1,0,T,TASK_InputProcessing,73,preempt
-146250100,Core_1,0,C,Core_1,0,idle_execution
-146250100,TASK_InputProcessing,73,C,Core_1,0,idle_execution
-146250100,Core_1,0,T,TASK_1MS,146,start
-146250100,TASK_1MS,146,R,FUNC_EXECTIME_1,270,start
-146250100,Core_1,0,C,Core_1,0,execute
-146250100,TASK_1MS,146,C,Core_1,0,execute
-146352550,TASK_WritingActuator,73,SEM,SEM_DataElement1,0,released,1
-146352550,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-146352550,TASK_WritingActuator,73,SCHED,SCHED_Tasks_C2,-1,schedulepoint
-146352550,Core_2,0,C,Core_2,0,lock
-146352600,TASK_WritingActuator,73,R,FUNC_SEMUNLOCK,146,terminate
-146352600,Core_2,0,T,TASK_WritingActuator,73,terminate
-146352600,TASK_WritingActuator,73,SCHED,SCHED_Tasks_C2,-1,processterminate
-146352600,Core_2,0,C,Core_2,0,unlock
-146352600,Core_2,0,C,Core_2,0,idle
-146352600,TASK_WritingActuator,73,C,Core_2,0,idle
-146352650,TASK_WritingActuator,73,STI,IR_SCHED_Tasks_C2,473,trigger
-146352650,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-146352650,Core_2,0,T,TASK_5MS,73,start
-146352650,TASK_5MS,73,R,FUNC_EXECTIME_1,269,start
-146352650,Core_2,0,C,Core_2,0,execute
-146352650,TASK_5MS,73,C,Core_2,0,execute
-146584450,TASK_1MS,146,R,FUNC_EXECTIME_1,270,terminate
-146584450,Core_1,0,T,TASK_1MS,146,terminate
-146584450,TASK_1MS,146,SCHED,SCHED_Tasks_C1,-1,processterminate
-146584450,Core_1,0,C,Core_1,0,idle
-146584450,TASK_1MS,146,C,Core_1,0,idle
-146584550,TASK_1MS,146,STI,IR_SCHED_Tasks_C1,497,trigger
-146584550,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-146584550,Core_1,0,C,Core_1,0,execute_idle
-146584550,TASK_InputProcessing,73,C,Core_1,0,execute_idle
-146584550,Core_1,0,T,TASK_InputProcessing,73,resume
-146584550,TASK_InputProcessing,73,R,FUNC_SEMLOCK,147,resume
-146609550,TASK_InputProcessing,73,SEM,SEM_DataElement1,0,requestsemaphore,0
-146609550,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-146609550,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-146609550,Core_1,0,C,Core_1,0,lock
-146609550,TASK_InputProcessing,73,SEM,SEM_DataElement1,0,assigned,1
-146609600,TASK_InputProcessing,73,R,FUNC_SEMLOCK,147,terminate
-146609600,Core_1,0,C,Core_1,0,unlock
-146609600,TASK_InputProcessing,73,R,FUNC_ReadSensorData,73,start
-146770250,TASK_InputProcessing,73,SIG,SIG_RotationSpeed,0,read,0
-146770250,TASK_InputProcessing,73,SIG,SIG_Lambda,0,read,0
-146770250,TASK_InputProcessing,73,SIG,SIG_Temperature,0,read,0
-146770250,TASK_InputProcessing,73,R,FUNC_ReadSensorData,73,terminate
-146770250,TASK_InputProcessing,73,R,FUNC_SEMUNLOCK,147,start
-146970250,TASK_InputProcessing,73,SEM,SEM_DataElement1,0,released,1
-146970250,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-146970250,TASK_InputProcessing,73,SCHED,SCHED_Tasks_C1,-1,schedulepoint
-146970250,Core_1,0,C,Core_1,0,lock
-146970300,TASK_InputProcessing,73,R,FUNC_SEMUNLOCK,147,terminate
-146970300,Core_1,0,C,Core_1,0,unlock
-146970300,TASK_InputProcessing,73,STI,IPA_InputReady,73,trigger
-146970300,IPA_InputReady,73,T,TASK_CalcEngineSpeed,73,activate
-146970300,TASK_CalcEngineSpeed,73,SCHED,SCHED_Tasks_C2,-1,processactivate
-146970300,Core_1,0,T,TASK_InputProcessing,73,terminate
-146970300,TASK_InputProcessing,73,SCHED,SCHED_Tasks_C1,-1,processterminate
-146970300,Core_1,0,C,Core_1,0,idle
-146970300,TASK_InputProcessing,73,C,Core_1,0,idle
-146970350,TASK_InputProcessing,73,STI,IR_SCHED_Tasks_C1,498,trigger
-146970350,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-146970400,TASK_CalcEngineSpeed,73,STI,IR_SCHED_Tasks_C2,474,trigger
-146970400,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-146970400,TASK_5MS,73,R,FUNC_EXECTIME_1,269,suspend
-146970400,Core_2,0,T,TASK_5MS,73,preempt
-146970400,Core_2,0,C,Core_2,0,idle_execution
-146970400,TASK_5MS,73,C,Core_2,0,idle_execution
-146970400,Core_2,0,T,TASK_CalcEngineSpeed,73,start
-146970400,TASK_CalcEngineSpeed,73,R,FUNC_ENGINESPEED,73,start
-146970400,Core_2,0,C,Core_2,0,execute
-146970400,TASK_CalcEngineSpeed,73,C,Core_2,0,execute
-147124325,TASK_CalcEngineSpeed,73,R,FUNC_ENGINESPEED,73,terminate
-147124325,Core_2,0,T,TASK_CalcEngineSpeed,73,terminate
-147124325,TASK_CalcEngineSpeed,73,SCHED,SCHED_Tasks_C2,-1,processterminate
-147124325,Core_2,0,C,Core_2,0,idle
-147124325,TASK_CalcEngineSpeed,73,C,Core_2,0,idle
-147124425,TASK_CalcEngineSpeed,73,STI,IR_SCHED_Tasks_C2,475,trigger
-147124425,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-147124425,Core_2,0,C,Core_2,0,execute_idle
-147124425,TASK_5MS,73,C,Core_2,0,execute_idle
-147124425,Core_2,0,T,TASK_5MS,73,resume
-147124425,TASK_5MS,73,R,FUNC_EXECTIME_1,269,resume
-147233975,TASK_5MS,73,R,FUNC_EXECTIME_1,269,terminate
-147233975,Core_2,0,T,TASK_5MS,73,terminate
-147233975,TASK_5MS,73,SCHED,SCHED_Tasks_C2,-1,processterminate
-147233975,Core_2,0,C,Core_2,0,idle
-147233975,TASK_5MS,73,C,Core_2,0,idle
-147234075,TASK_5MS,73,STI,IR_SCHED_Tasks_C2,476,trigger
-147234075,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-147250000,SIM,-1,STI,TIMER-1MS,147,trigger
-147250000,TIMER-1MS,147,T,TASK_1MS,147,activate
-147250000,TASK_1MS,147,SCHED,SCHED_Tasks_C1,-1,processactivate
-147250100,TASK_1MS,147,STI,IR_SCHED_Tasks_C1,499,trigger
-147250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-147250100,Core_1,0,T,TASK_1MS,147,start
-147250100,TASK_1MS,147,R,FUNC_EXECTIME_1,271,start
-147250100,Core_1,0,C,Core_1,0,execute
-147250100,TASK_1MS,147,C,Core_1,0,execute
-147520075,TASK_1MS,147,R,FUNC_EXECTIME_1,271,terminate
-147520075,Core_1,0,T,TASK_1MS,147,terminate
-147520075,TASK_1MS,147,SCHED,SCHED_Tasks_C1,-1,processterminate
-147520075,Core_1,0,C,Core_1,0,idle
-147520075,TASK_1MS,147,C,Core_1,0,idle
-147520175,TASK_1MS,147,STI,IR_SCHED_Tasks_C1,500,trigger
-147520175,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-148000000,SIM,-1,STI,TIMER-B_2ms,74,trigger
-148000000,TIMER-B_2ms,74,T,TASK_WritingActuator,74,activate
-148000000,TASK_WritingActuator,74,SCHED,SCHED_Tasks_C2,-1,processactivate
-148000100,TASK_WritingActuator,74,STI,IR_SCHED_Tasks_C2,477,trigger
-148000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-148000100,Core_2,0,T,TASK_WritingActuator,74,start
-148000100,TASK_WritingActuator,74,R,FUNC_SEMLOCK,148,start
-148000100,Core_2,0,C,Core_2,0,execute
-148000100,TASK_WritingActuator,74,C,Core_2,0,execute
-148100000,SIM,-1,STI,TIMER-5MS,74,trigger
-148100000,TIMER-5MS,74,T,TASK_5MS,74,activate
-148100000,TASK_5MS,74,SCHED,SCHED_Tasks_C2,-1,processactivate
-148100100,TASK_5MS,74,STI,IR_SCHED_Tasks_C2,478,trigger
-148100100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-148125100,TASK_WritingActuator,74,SEM,SEM_DataElement1,0,requestsemaphore,0
-148125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-148125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-148125100,Core_2,0,C,Core_2,0,lock
-148125100,TASK_WritingActuator,74,SEM,SEM_DataElement1,0,assigned,1
-148125150,TASK_WritingActuator,74,R,FUNC_SEMLOCK,148,terminate
-148125150,Core_2,0,C,Core_2,0,unlock
-148125150,TASK_WritingActuator,74,R,FUNC_WriteData,74,start
-148150000,SIM,-1,STI,TIMER-A_2ms,74,trigger
-148150000,TIMER-A_2ms,74,T,TASK_InputProcessing,74,activate
-148150000,TASK_InputProcessing,74,SCHED,SCHED_Tasks_C1,-1,processactivate
-148150100,TASK_InputProcessing,74,STI,IR_SCHED_Tasks_C1,501,trigger
-148150100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-148150100,Core_1,0,T,TASK_InputProcessing,74,start
-148150100,TASK_InputProcessing,74,R,FUNC_SEMLOCK,149,start
-148150100,Core_1,0,C,Core_1,0,execute
-148150100,TASK_InputProcessing,74,C,Core_1,0,execute
-148151425,TASK_WritingActuator,74,SIG,SIG_Mixture,0,write,0
-148151425,TASK_WritingActuator,74,R,FUNC_WriteData,74,terminate
-148151425,TASK_WritingActuator,74,R,FUNC_SEMUNLOCK,148,start
-148250000,SIM,-1,STI,TIMER-1MS,148,trigger
-148250000,TIMER-1MS,148,T,TASK_1MS,148,activate
-148250000,TASK_1MS,148,SCHED,SCHED_Tasks_C1,-1,processactivate
-148250100,TASK_1MS,148,STI,IR_SCHED_Tasks_C1,502,trigger
-148250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-148250100,TASK_InputProcessing,74,R,FUNC_SEMLOCK,149,suspend
-148250100,Core_1,0,T,TASK_InputProcessing,74,preempt
-148250100,Core_1,0,C,Core_1,0,idle_execution
-148250100,TASK_InputProcessing,74,C,Core_1,0,idle_execution
-148250100,Core_1,0,T,TASK_1MS,148,start
-148250100,TASK_1MS,148,R,FUNC_EXECTIME_1,273,start
-148250100,Core_1,0,C,Core_1,0,execute
-148250100,TASK_1MS,148,C,Core_1,0,execute
-148351425,TASK_WritingActuator,74,SEM,SEM_DataElement1,0,released,1
-148351425,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-148351425,TASK_WritingActuator,74,SCHED,SCHED_Tasks_C2,-1,schedulepoint
-148351425,Core_2,0,C,Core_2,0,lock
-148351475,TASK_WritingActuator,74,R,FUNC_SEMUNLOCK,148,terminate
-148351475,Core_2,0,T,TASK_WritingActuator,74,terminate
-148351475,TASK_WritingActuator,74,SCHED,SCHED_Tasks_C2,-1,processterminate
-148351475,Core_2,0,C,Core_2,0,unlock
-148351475,Core_2,0,C,Core_2,0,idle
-148351475,TASK_WritingActuator,74,C,Core_2,0,idle
-148351525,TASK_WritingActuator,74,STI,IR_SCHED_Tasks_C2,479,trigger
-148351525,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-148351525,Core_2,0,T,TASK_5MS,74,start
-148351525,TASK_5MS,74,R,FUNC_EXECTIME_1,272,start
-148351525,Core_2,0,C,Core_2,0,execute
-148351525,TASK_5MS,74,C,Core_2,0,execute
-148698700,TASK_5MS,74,R,FUNC_EXECTIME_1,272,terminate
-148698700,Core_2,0,T,TASK_5MS,74,terminate
-148698700,TASK_5MS,74,SCHED,SCHED_Tasks_C2,-1,processterminate
-148698700,Core_2,0,C,Core_2,0,idle
-148698700,TASK_5MS,74,C,Core_2,0,idle
-148698800,TASK_5MS,74,STI,IR_SCHED_Tasks_C2,480,trigger
-148698800,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-148725550,TASK_1MS,148,R,FUNC_EXECTIME_1,273,terminate
-148725550,Core_1,0,T,TASK_1MS,148,terminate
-148725550,TASK_1MS,148,SCHED,SCHED_Tasks_C1,-1,processterminate
-148725550,Core_1,0,C,Core_1,0,idle
-148725550,TASK_1MS,148,C,Core_1,0,idle
-148725650,TASK_1MS,148,STI,IR_SCHED_Tasks_C1,503,trigger
-148725650,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-148725650,Core_1,0,C,Core_1,0,execute_idle
-148725650,TASK_InputProcessing,74,C,Core_1,0,execute_idle
-148725650,Core_1,0,T,TASK_InputProcessing,74,resume
-148725650,TASK_InputProcessing,74,R,FUNC_SEMLOCK,149,resume
-148750650,TASK_InputProcessing,74,SEM,SEM_DataElement1,0,requestsemaphore,0
-148750650,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-148750650,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-148750650,Core_1,0,C,Core_1,0,lock
-148750650,TASK_InputProcessing,74,SEM,SEM_DataElement1,0,assigned,1
-148750700,TASK_InputProcessing,74,R,FUNC_SEMLOCK,149,terminate
-148750700,Core_1,0,C,Core_1,0,unlock
-148750700,TASK_InputProcessing,74,R,FUNC_ReadSensorData,74,start
-148913075,TASK_InputProcessing,74,SIG,SIG_RotationSpeed,0,read,0
-148913075,TASK_InputProcessing,74,SIG,SIG_Lambda,0,read,0
-148913075,TASK_InputProcessing,74,SIG,SIG_Temperature,0,read,0
-148913075,TASK_InputProcessing,74,R,FUNC_ReadSensorData,74,terminate
-148913075,TASK_InputProcessing,74,R,FUNC_SEMUNLOCK,149,start
-149113075,TASK_InputProcessing,74,SEM,SEM_DataElement1,0,released,1
-149113075,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-149113075,TASK_InputProcessing,74,SCHED,SCHED_Tasks_C1,-1,schedulepoint
-149113075,Core_1,0,C,Core_1,0,lock
-149113125,TASK_InputProcessing,74,R,FUNC_SEMUNLOCK,149,terminate
-149113125,Core_1,0,C,Core_1,0,unlock
-149113125,TASK_InputProcessing,74,STI,IPA_InputReady,74,trigger
-149113125,IPA_InputReady,74,T,TASK_CalcEngineSpeed,74,activate
-149113125,TASK_CalcEngineSpeed,74,SCHED,SCHED_Tasks_C2,-1,processactivate
-149113125,Core_1,0,T,TASK_InputProcessing,74,terminate
-149113125,TASK_InputProcessing,74,SCHED,SCHED_Tasks_C1,-1,processterminate
-149113125,Core_1,0,C,Core_1,0,idle
-149113125,TASK_InputProcessing,74,C,Core_1,0,idle
-149113175,TASK_InputProcessing,74,STI,IR_SCHED_Tasks_C1,504,trigger
-149113175,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-149113225,TASK_CalcEngineSpeed,74,STI,IR_SCHED_Tasks_C2,481,trigger
-149113225,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-149113225,Core_2,0,T,TASK_CalcEngineSpeed,74,start
-149113225,TASK_CalcEngineSpeed,74,R,FUNC_ENGINESPEED,74,start
-149113225,Core_2,0,C,Core_2,0,execute
-149113225,TASK_CalcEngineSpeed,74,C,Core_2,0,execute
-149250000,SIM,-1,STI,TIMER-1MS,149,trigger
-149250000,TIMER-1MS,149,T,TASK_1MS,149,activate
-149250000,TASK_1MS,149,SCHED,SCHED_Tasks_C1,-1,processactivate
-149250100,TASK_1MS,149,STI,IR_SCHED_Tasks_C1,505,trigger
-149250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-149250100,Core_1,0,T,TASK_1MS,149,start
-149250100,TASK_1MS,149,R,FUNC_EXECTIME_1,274,start
-149250100,Core_1,0,C,Core_1,0,execute
-149250100,TASK_1MS,149,C,Core_1,0,execute
-149357800,TASK_CalcEngineSpeed,74,R,FUNC_ENGINESPEED,74,terminate
-149357800,Core_2,0,T,TASK_CalcEngineSpeed,74,terminate
-149357800,TASK_CalcEngineSpeed,74,SCHED,SCHED_Tasks_C2,-1,processterminate
-149357800,Core_2,0,C,Core_2,0,idle
-149357800,TASK_CalcEngineSpeed,74,C,Core_2,0,idle
-149357900,TASK_CalcEngineSpeed,74,STI,IR_SCHED_Tasks_C2,482,trigger
-149357900,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-149537150,TASK_1MS,149,R,FUNC_EXECTIME_1,274,terminate
-149537150,Core_1,0,T,TASK_1MS,149,terminate
-149537150,TASK_1MS,149,SCHED,SCHED_Tasks_C1,-1,processterminate
-149537150,Core_1,0,C,Core_1,0,idle
-149537150,TASK_1MS,149,C,Core_1,0,idle
-149537250,TASK_1MS,149,STI,IR_SCHED_Tasks_C1,506,trigger
-149537250,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-150000000,SIM,-1,STI,TIMER-B_2ms,75,trigger
-150000000,TIMER-B_2ms,75,T,TASK_WritingActuator,75,activate
-150000000,TASK_WritingActuator,75,SCHED,SCHED_Tasks_C2,-1,processactivate
-150000000,SIM,-1,STI,TIMER-10MS_2,15,trigger
-150000000,TIMER-10MS_2,15,T,TASK_10MS_DL2,15,activate
-150000000,TASK_10MS_DL2,15,SCHED,SCHED_Tasks_C1,-1,processactivate
-150000100,TASK_WritingActuator,75,STI,IR_SCHED_Tasks_C2,483,trigger
-150000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-150000100,Core_2,0,T,TASK_WritingActuator,75,start
-150000100,TASK_WritingActuator,75,R,FUNC_SEMLOCK,150,start
-150000100,Core_2,0,C,Core_2,0,execute
-150000100,TASK_WritingActuator,75,C,Core_2,0,execute
-150000100,TASK_10MS_DL2,15,STI,IR_SCHED_Tasks_C1,507,trigger
-150000100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-150000100,Core_1,0,T,TASK_10MS_DL2,15,start
-150000100,TASK_10MS_DL2,15,R,FUNC_EXECTIME_1,275,start
-150000100,Core_1,0,C,Core_1,0,execute
-150000100,TASK_10MS_DL2,15,C,Core_1,0,execute
-150100000,SIM,-1,STI,TIMER-5MS,75,trigger
-150100000,TIMER-5MS,75,T,TASK_5MS,75,activate
-150100000,TASK_5MS,75,SCHED,SCHED_Tasks_C2,-1,processactivate
-150100100,TASK_5MS,75,STI,IR_SCHED_Tasks_C2,484,trigger
-150100100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-150125100,TASK_WritingActuator,75,SEM,SEM_DataElement1,0,requestsemaphore,0
-150125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-150125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-150125100,Core_2,0,C,Core_2,0,lock
-150125100,TASK_WritingActuator,75,SEM,SEM_DataElement1,0,assigned,1
-150125150,TASK_WritingActuator,75,R,FUNC_SEMLOCK,150,terminate
-150125150,Core_2,0,C,Core_2,0,unlock
-150125150,TASK_WritingActuator,75,R,FUNC_WriteData,75,start
-150150000,SIM,-1,STI,TIMER-A_2ms,75,trigger
-150150000,TIMER-A_2ms,75,T,TASK_InputProcessing,75,activate
-150150000,TASK_InputProcessing,75,SCHED,SCHED_Tasks_C1,-1,processactivate
-150150100,TASK_InputProcessing,75,STI,IR_SCHED_Tasks_C1,508,trigger
-150150100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-150152325,TASK_WritingActuator,75,SIG,SIG_Mixture,0,write,0
-150152325,TASK_WritingActuator,75,R,FUNC_WriteData,75,terminate
-150152325,TASK_WritingActuator,75,R,FUNC_SEMUNLOCK,150,start
-150250000,SIM,-1,STI,TIMER-1MS,150,trigger
-150250000,TIMER-1MS,150,T,TASK_1MS,150,activate
-150250000,TASK_1MS,150,SCHED,SCHED_Tasks_C1,-1,processactivate
-150250100,TASK_1MS,150,STI,IR_SCHED_Tasks_C1,509,trigger
-150250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-150250100,TASK_10MS_DL2,15,R,FUNC_EXECTIME_1,275,suspend
-150250100,Core_1,0,T,TASK_10MS_DL2,15,preempt
-150250100,Core_1,0,C,Core_1,0,idle_execution
-150250100,TASK_10MS_DL2,15,C,Core_1,0,idle_execution
-150250100,Core_1,0,T,TASK_1MS,150,start
-150250100,TASK_1MS,150,R,FUNC_EXECTIME_1,277,start
-150250100,Core_1,0,C,Core_1,0,execute
-150250100,TASK_1MS,150,C,Core_1,0,execute
-150352325,TASK_WritingActuator,75,SEM,SEM_DataElement1,0,released,1
-150352325,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-150352325,TASK_WritingActuator,75,SCHED,SCHED_Tasks_C2,-1,schedulepoint
-150352325,Core_2,0,C,Core_2,0,lock
-150352375,TASK_WritingActuator,75,R,FUNC_SEMUNLOCK,150,terminate
-150352375,Core_2,0,T,TASK_WritingActuator,75,terminate
-150352375,TASK_WritingActuator,75,SCHED,SCHED_Tasks_C2,-1,processterminate
-150352375,Core_2,0,C,Core_2,0,unlock
-150352375,Core_2,0,C,Core_2,0,idle
-150352375,TASK_WritingActuator,75,C,Core_2,0,idle
-150352425,TASK_WritingActuator,75,STI,IR_SCHED_Tasks_C2,485,trigger
-150352425,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-150352425,Core_2,0,T,TASK_5MS,75,start
-150352425,TASK_5MS,75,R,FUNC_EXECTIME_1,276,start
-150352425,Core_2,0,C,Core_2,0,execute
-150352425,TASK_5MS,75,C,Core_2,0,execute
-150841750,TASK_5MS,75,R,FUNC_EXECTIME_1,276,terminate
-150841750,Core_2,0,T,TASK_5MS,75,terminate
-150841750,TASK_5MS,75,SCHED,SCHED_Tasks_C2,-1,processterminate
-150841750,Core_2,0,C,Core_2,0,idle
-150841750,TASK_5MS,75,C,Core_2,0,idle
-150841850,TASK_5MS,75,STI,IR_SCHED_Tasks_C2,486,trigger
-150841850,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-151036425,TASK_1MS,150,R,FUNC_EXECTIME_1,277,terminate
-151036425,Core_1,0,T,TASK_1MS,150,terminate
-151036425,TASK_1MS,150,SCHED,SCHED_Tasks_C1,-1,processterminate
-151036425,Core_1,0,C,Core_1,0,idle
-151036425,TASK_1MS,150,C,Core_1,0,idle
-151036525,TASK_1MS,150,STI,IR_SCHED_Tasks_C1,510,trigger
-151036525,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-151036525,Core_1,0,C,Core_1,0,execute_idle
-151036525,TASK_10MS_DL2,15,C,Core_1,0,execute_idle
-151036525,Core_1,0,T,TASK_10MS_DL2,15,resume
-151036525,TASK_10MS_DL2,15,R,FUNC_EXECTIME_1,275,resume
-151120800,TASK_10MS_DL2,15,R,FUNC_EXECTIME_1,275,terminate
-151120800,Core_1,0,T,TASK_10MS_DL2,15,terminate
-151120800,TASK_10MS_DL2,15,SCHED,SCHED_Tasks_C1,-1,processterminate
-151120800,Core_1,0,C,Core_1,0,idle
-151120800,TASK_10MS_DL2,15,C,Core_1,0,idle
-151120900,TASK_10MS_DL2,15,STI,IR_SCHED_Tasks_C1,511,trigger
-151120900,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-151120900,Core_1,0,T,TASK_InputProcessing,75,start
-151120900,TASK_InputProcessing,75,R,FUNC_SEMLOCK,151,start
-151120900,Core_1,0,C,Core_1,0,execute
-151120900,TASK_InputProcessing,75,C,Core_1,0,execute
-151245900,TASK_InputProcessing,75,SEM,SEM_DataElement1,0,requestsemaphore,0
-151245900,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-151245900,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-151245900,Core_1,0,C,Core_1,0,lock
-151245900,TASK_InputProcessing,75,SEM,SEM_DataElement1,0,assigned,1
-151245950,TASK_InputProcessing,75,R,FUNC_SEMLOCK,151,terminate
-151245950,Core_1,0,C,Core_1,0,unlock
-151245950,TASK_InputProcessing,75,R,FUNC_ReadSensorData,75,start
-151250000,SIM,-1,STI,TIMER-1MS,151,trigger
-151250000,TIMER-1MS,151,T,TASK_1MS,151,activate
-151250000,TASK_1MS,151,SCHED,SCHED_Tasks_C1,-1,processactivate
-151250100,TASK_1MS,151,STI,IR_SCHED_Tasks_C1,512,trigger
-151250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-151407275,TASK_InputProcessing,75,SIG,SIG_RotationSpeed,0,read,0
-151407275,TASK_InputProcessing,75,SIG,SIG_Lambda,0,read,0
-151407275,TASK_InputProcessing,75,SIG,SIG_Temperature,0,read,0
-151407275,TASK_InputProcessing,75,R,FUNC_ReadSensorData,75,terminate
-151407275,TASK_InputProcessing,75,R,FUNC_SEMUNLOCK,151,start
-151607275,TASK_InputProcessing,75,SEM,SEM_DataElement1,0,released,1
-151607275,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-151607275,TASK_InputProcessing,75,SCHED,SCHED_Tasks_C1,-1,schedulepoint
-151607275,Core_1,0,C,Core_1,0,lock
-151607325,TASK_InputProcessing,75,R,FUNC_SEMUNLOCK,151,terminate
-151607325,Core_1,0,C,Core_1,0,unlock
-151607325,TASK_InputProcessing,75,STI,IPA_InputReady,75,trigger
-151607325,IPA_InputReady,75,T,TASK_CalcEngineSpeed,75,activate
-151607325,TASK_CalcEngineSpeed,75,SCHED,SCHED_Tasks_C2,-1,processactivate
-151607325,Core_1,0,T,TASK_InputProcessing,75,terminate
-151607325,TASK_InputProcessing,75,SCHED,SCHED_Tasks_C1,-1,processterminate
-151607325,Core_1,0,C,Core_1,0,idle
-151607325,TASK_InputProcessing,75,C,Core_1,0,idle
-151607375,TASK_InputProcessing,75,STI,IR_SCHED_Tasks_C1,513,trigger
-151607375,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-151607375,Core_1,0,T,TASK_1MS,151,start
-151607375,TASK_1MS,151,R,FUNC_EXECTIME_1,278,start
-151607375,Core_1,0,C,Core_1,0,execute
-151607375,TASK_1MS,151,C,Core_1,0,execute
-151607425,TASK_CalcEngineSpeed,75,STI,IR_SCHED_Tasks_C2,487,trigger
-151607425,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-151607425,Core_2,0,T,TASK_CalcEngineSpeed,75,start
-151607425,TASK_CalcEngineSpeed,75,R,FUNC_ENGINESPEED,75,start
-151607425,Core_2,0,C,Core_2,0,execute
-151607425,TASK_CalcEngineSpeed,75,C,Core_2,0,execute
-151740025,TASK_CalcEngineSpeed,75,R,FUNC_ENGINESPEED,75,terminate
-151740025,Core_2,0,T,TASK_CalcEngineSpeed,75,terminate
-151740025,TASK_CalcEngineSpeed,75,SCHED,SCHED_Tasks_C2,-1,processterminate
-151740025,Core_2,0,C,Core_2,0,idle
-151740025,TASK_CalcEngineSpeed,75,C,Core_2,0,idle
-151740125,TASK_CalcEngineSpeed,75,STI,IR_SCHED_Tasks_C2,488,trigger
-151740125,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-152000000,SIM,-1,STI,TIMER-B_2ms,76,trigger
-152000000,TIMER-B_2ms,76,T,TASK_WritingActuator,76,activate
-152000000,TASK_WritingActuator,76,SCHED,SCHED_Tasks_C2,-1,processactivate
-152000000,SIM,-1,STI,TIMER-50MS,3,trigger
-152000000,TIMER-50MS,3,T,TASK_50MS,3,activate
-152000000,TASK_50MS,3,SCHED,SCHED_Tasks_C2,-1,processactivate
-152000100,TASK_WritingActuator,76,STI,IR_SCHED_Tasks_C2,489,trigger
-152000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-152000100,Core_2,0,T,TASK_WritingActuator,76,start
-152000100,TASK_WritingActuator,76,R,FUNC_SEMLOCK,152,start
-152000100,Core_2,0,C,Core_2,0,execute
-152000100,TASK_WritingActuator,76,C,Core_2,0,execute
-152098225,TASK_1MS,151,R,FUNC_EXECTIME_1,278,terminate
-152098225,Core_1,0,T,TASK_1MS,151,terminate
-152098225,TASK_1MS,151,SCHED,SCHED_Tasks_C1,-1,processterminate
-152098225,Core_1,0,C,Core_1,0,idle
-152098225,TASK_1MS,151,C,Core_1,0,idle
-152098325,TASK_1MS,151,STI,IR_SCHED_Tasks_C1,514,trigger
-152098325,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-152100000,SIM,-1,STI,TIMER-5MS,76,trigger
-152100000,TIMER-5MS,76,T,TASK_5MS,76,activate
-152100000,TASK_5MS,76,SCHED,SCHED_Tasks_C2,-1,processactivate
-152100100,TASK_5MS,76,STI,IR_SCHED_Tasks_C2,490,trigger
-152100100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-152125100,TASK_WritingActuator,76,SEM,SEM_DataElement1,0,requestsemaphore,0
-152125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-152125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-152125100,Core_2,0,C,Core_2,0,lock
-152125100,TASK_WritingActuator,76,SEM,SEM_DataElement1,0,assigned,1
-152125150,TASK_WritingActuator,76,R,FUNC_SEMLOCK,152,terminate
-152125150,Core_2,0,C,Core_2,0,unlock
-152125150,TASK_WritingActuator,76,R,FUNC_WriteData,76,start
-152150000,SIM,-1,STI,TIMER-A_2ms,76,trigger
-152150000,TIMER-A_2ms,76,T,TASK_InputProcessing,76,activate
-152150000,TASK_InputProcessing,76,SCHED,SCHED_Tasks_C1,-1,processactivate
-152150100,TASK_InputProcessing,76,STI,IR_SCHED_Tasks_C1,515,trigger
-152150100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-152150100,Core_1,0,T,TASK_InputProcessing,76,start
-152150100,TASK_InputProcessing,76,R,FUNC_SEMLOCK,153,start
-152150100,Core_1,0,C,Core_1,0,execute
-152150100,TASK_InputProcessing,76,C,Core_1,0,execute
-152152050,TASK_WritingActuator,76,SIG,SIG_Mixture,0,write,0
-152152050,TASK_WritingActuator,76,R,FUNC_WriteData,76,terminate
-152152050,TASK_WritingActuator,76,R,FUNC_SEMUNLOCK,152,start
-152250000,SIM,-1,STI,TIMER-1MS,152,trigger
-152250000,TIMER-1MS,152,T,TASK_1MS,152,activate
-152250000,TASK_1MS,152,SCHED,SCHED_Tasks_C1,-1,processactivate
-152250100,TASK_1MS,152,STI,IR_SCHED_Tasks_C1,516,trigger
-152250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-152250100,TASK_InputProcessing,76,R,FUNC_SEMLOCK,153,suspend
-152250100,Core_1,0,T,TASK_InputProcessing,76,preempt
-152250100,Core_1,0,C,Core_1,0,idle_execution
-152250100,TASK_InputProcessing,76,C,Core_1,0,idle_execution
-152250100,Core_1,0,T,TASK_1MS,152,start
-152250100,TASK_1MS,152,R,FUNC_EXECTIME_1,280,start
-152250100,Core_1,0,C,Core_1,0,execute
-152250100,TASK_1MS,152,C,Core_1,0,execute
-152352050,TASK_WritingActuator,76,SEM,SEM_DataElement1,0,released,1
-152352050,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-152352050,TASK_WritingActuator,76,SCHED,SCHED_Tasks_C2,-1,schedulepoint
-152352050,Core_2,0,C,Core_2,0,lock
-152352100,TASK_WritingActuator,76,R,FUNC_SEMUNLOCK,152,terminate
-152352100,Core_2,0,T,TASK_WritingActuator,76,terminate
-152352100,TASK_WritingActuator,76,SCHED,SCHED_Tasks_C2,-1,processterminate
-152352100,Core_2,0,C,Core_2,0,unlock
-152352100,Core_2,0,C,Core_2,0,idle
-152352100,TASK_WritingActuator,76,C,Core_2,0,idle
-152352150,TASK_WritingActuator,76,STI,IR_SCHED_Tasks_C2,491,trigger
-152352150,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-152352150,Core_2,0,T,TASK_5MS,76,start
-152352150,TASK_5MS,76,R,FUNC_EXECTIME_1,279,start
-152352150,Core_2,0,C,Core_2,0,execute
-152352150,TASK_5MS,76,C,Core_2,0,execute
-152725275,TASK_1MS,152,R,FUNC_EXECTIME_1,280,terminate
-152725275,Core_1,0,T,TASK_1MS,152,terminate
-152725275,TASK_1MS,152,SCHED,SCHED_Tasks_C1,-1,processterminate
-152725275,Core_1,0,C,Core_1,0,idle
-152725275,TASK_1MS,152,C,Core_1,0,idle
-152725375,TASK_1MS,152,STI,IR_SCHED_Tasks_C1,517,trigger
-152725375,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-152725375,Core_1,0,C,Core_1,0,execute_idle
-152725375,TASK_InputProcessing,76,C,Core_1,0,execute_idle
-152725375,Core_1,0,T,TASK_InputProcessing,76,resume
-152725375,TASK_InputProcessing,76,R,FUNC_SEMLOCK,153,resume
-152750375,TASK_InputProcessing,76,SEM,SEM_DataElement1,0,requestsemaphore,0
-152750375,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-152750375,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-152750375,Core_1,0,C,Core_1,0,lock
-152750375,TASK_InputProcessing,76,SEM,SEM_DataElement1,0,assigned,1
-152750425,TASK_InputProcessing,76,R,FUNC_SEMLOCK,153,terminate
-152750425,Core_1,0,C,Core_1,0,unlock
-152750425,TASK_InputProcessing,76,R,FUNC_ReadSensorData,76,start
-152905900,TASK_5MS,76,R,FUNC_EXECTIME_1,279,terminate
-152905900,Core_2,0,T,TASK_5MS,76,terminate
-152905900,TASK_5MS,76,SCHED,SCHED_Tasks_C2,-1,processterminate
-152905900,Core_2,0,C,Core_2,0,idle
-152905900,TASK_5MS,76,C,Core_2,0,idle
-152906000,TASK_5MS,76,STI,IR_SCHED_Tasks_C2,492,trigger
-152906000,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-152906000,Core_2,0,T,TASK_50MS,3,start
-152906000,TASK_50MS,3,R,FUNC_EXECTIME_2,3,start
-152906000,Core_2,0,C,Core_2,0,execute
-152906000,TASK_50MS,3,C,Core_2,0,execute
-152915025,TASK_InputProcessing,76,SIG,SIG_RotationSpeed,0,read,0
-152915025,TASK_InputProcessing,76,SIG,SIG_Lambda,0,read,0
-152915025,TASK_InputProcessing,76,SIG,SIG_Temperature,0,read,0
-152915025,TASK_InputProcessing,76,R,FUNC_ReadSensorData,76,terminate
-152915025,TASK_InputProcessing,76,R,FUNC_SEMUNLOCK,153,start
-153115025,TASK_InputProcessing,76,SEM,SEM_DataElement1,0,released,1
-153115025,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-153115025,TASK_InputProcessing,76,SCHED,SCHED_Tasks_C1,-1,schedulepoint
-153115025,Core_1,0,C,Core_1,0,lock
-153115075,TASK_InputProcessing,76,R,FUNC_SEMUNLOCK,153,terminate
-153115075,Core_1,0,C,Core_1,0,unlock
-153115075,TASK_InputProcessing,76,STI,IPA_InputReady,76,trigger
-153115075,IPA_InputReady,76,T,TASK_CalcEngineSpeed,76,activate
-153115075,TASK_CalcEngineSpeed,76,SCHED,SCHED_Tasks_C2,-1,processactivate
-153115075,Core_1,0,T,TASK_InputProcessing,76,terminate
-153115075,TASK_InputProcessing,76,SCHED,SCHED_Tasks_C1,-1,processterminate
-153115075,Core_1,0,C,Core_1,0,idle
-153115075,TASK_InputProcessing,76,C,Core_1,0,idle
-153115125,TASK_InputProcessing,76,STI,IR_SCHED_Tasks_C1,518,trigger
-153115125,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-153115175,TASK_CalcEngineSpeed,76,STI,IR_SCHED_Tasks_C2,493,trigger
-153115175,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-153115175,TASK_50MS,3,R,FUNC_EXECTIME_2,3,suspend
-153115175,Core_2,0,T,TASK_50MS,3,preempt
-153115175,Core_2,0,C,Core_2,0,idle_execution
-153115175,TASK_50MS,3,C,Core_2,0,idle_execution
-153115175,Core_2,0,T,TASK_CalcEngineSpeed,76,start
-153115175,TASK_CalcEngineSpeed,76,R,FUNC_ENGINESPEED,76,start
-153115175,Core_2,0,C,Core_2,0,execute
-153115175,TASK_CalcEngineSpeed,76,C,Core_2,0,execute
-153250000,SIM,-1,STI,TIMER-1MS,153,trigger
-153250000,TIMER-1MS,153,T,TASK_1MS,153,activate
-153250000,TASK_1MS,153,SCHED,SCHED_Tasks_C1,-1,processactivate
-153250100,TASK_1MS,153,STI,IR_SCHED_Tasks_C1,519,trigger
-153250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-153250100,Core_1,0,T,TASK_1MS,153,start
-153250100,TASK_1MS,153,R,FUNC_EXECTIME_1,281,start
-153250100,Core_1,0,C,Core_1,0,execute
-153250100,TASK_1MS,153,C,Core_1,0,execute
-153253625,TASK_CalcEngineSpeed,76,R,FUNC_ENGINESPEED,76,terminate
-153253625,Core_2,0,T,TASK_CalcEngineSpeed,76,terminate
-153253625,TASK_CalcEngineSpeed,76,SCHED,SCHED_Tasks_C2,-1,processterminate
-153253625,Core_2,0,C,Core_2,0,idle
-153253625,TASK_CalcEngineSpeed,76,C,Core_2,0,idle
-153253725,TASK_CalcEngineSpeed,76,STI,IR_SCHED_Tasks_C2,494,trigger
-153253725,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-153253725,Core_2,0,C,Core_2,0,execute_idle
-153253725,TASK_50MS,3,C,Core_2,0,execute_idle
-153253725,Core_2,0,T,TASK_50MS,3,resume
-153253725,TASK_50MS,3,R,FUNC_EXECTIME_2,3,resume
-153496050,TASK_50MS,3,R,FUNC_EXECTIME_2,3,terminate
-153496050,Core_2,0,T,TASK_50MS,3,terminate
-153496050,TASK_50MS,3,SCHED,SCHED_Tasks_C2,-1,processterminate
-153496050,Core_2,0,C,Core_2,0,idle
-153496050,TASK_50MS,3,C,Core_2,0,idle
-153496150,TASK_50MS,3,STI,IR_SCHED_Tasks_C2,495,trigger
-153496150,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-153531625,TASK_1MS,153,R,FUNC_EXECTIME_1,281,terminate
-153531625,Core_1,0,T,TASK_1MS,153,terminate
-153531625,TASK_1MS,153,SCHED,SCHED_Tasks_C1,-1,processterminate
-153531625,Core_1,0,C,Core_1,0,idle
-153531625,TASK_1MS,153,C,Core_1,0,idle
-153531725,TASK_1MS,153,STI,IR_SCHED_Tasks_C1,520,trigger
-153531725,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-154000000,SIM,-1,STI,TIMER-B_2ms,77,trigger
-154000000,TIMER-B_2ms,77,T,TASK_WritingActuator,77,activate
-154000000,TASK_WritingActuator,77,SCHED,SCHED_Tasks_C2,-1,processactivate
-154000100,TASK_WritingActuator,77,STI,IR_SCHED_Tasks_C2,496,trigger
-154000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-154000100,Core_2,0,T,TASK_WritingActuator,77,start
-154000100,TASK_WritingActuator,77,R,FUNC_SEMLOCK,154,start
-154000100,Core_2,0,C,Core_2,0,execute
-154000100,TASK_WritingActuator,77,C,Core_2,0,execute
-154100000,SIM,-1,STI,TIMER-5MS,77,trigger
-154100000,TIMER-5MS,77,T,TASK_5MS,77,activate
-154100000,TASK_5MS,77,SCHED,SCHED_Tasks_C2,-1,processactivate
-154100100,TASK_5MS,77,STI,IR_SCHED_Tasks_C2,497,trigger
-154100100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-154125100,TASK_WritingActuator,77,SEM,SEM_DataElement1,0,requestsemaphore,0
-154125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-154125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-154125100,Core_2,0,C,Core_2,0,lock
-154125100,TASK_WritingActuator,77,SEM,SEM_DataElement1,0,assigned,1
-154125150,TASK_WritingActuator,77,R,FUNC_SEMLOCK,154,terminate
-154125150,Core_2,0,C,Core_2,0,unlock
-154125150,TASK_WritingActuator,77,R,FUNC_WriteData,77,start
-154150000,SIM,-1,STI,TIMER-A_2ms,77,trigger
-154150000,TIMER-A_2ms,77,T,TASK_InputProcessing,77,activate
-154150000,TASK_InputProcessing,77,SCHED,SCHED_Tasks_C1,-1,processactivate
-154150100,TASK_InputProcessing,77,STI,IR_SCHED_Tasks_C1,521,trigger
-154150100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-154150100,Core_1,0,T,TASK_InputProcessing,77,start
-154150100,TASK_InputProcessing,77,R,FUNC_SEMLOCK,155,start
-154150100,Core_1,0,C,Core_1,0,execute
-154150100,TASK_InputProcessing,77,C,Core_1,0,execute
-154152500,TASK_WritingActuator,77,SIG,SIG_Mixture,0,write,0
-154152500,TASK_WritingActuator,77,R,FUNC_WriteData,77,terminate
-154152500,TASK_WritingActuator,77,R,FUNC_SEMUNLOCK,154,start
-154250000,SIM,-1,STI,TIMER-1MS,154,trigger
-154250000,TIMER-1MS,154,T,TASK_1MS,154,activate
-154250000,TASK_1MS,154,SCHED,SCHED_Tasks_C1,-1,processactivate
-154250100,TASK_1MS,154,STI,IR_SCHED_Tasks_C1,522,trigger
-154250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-154250100,TASK_InputProcessing,77,R,FUNC_SEMLOCK,155,suspend
-154250100,Core_1,0,T,TASK_InputProcessing,77,preempt
-154250100,Core_1,0,C,Core_1,0,idle_execution
-154250100,TASK_InputProcessing,77,C,Core_1,0,idle_execution
-154250100,Core_1,0,T,TASK_1MS,154,start
-154250100,TASK_1MS,154,R,FUNC_EXECTIME_1,283,start
-154250100,Core_1,0,C,Core_1,0,execute
-154250100,TASK_1MS,154,C,Core_1,0,execute
-154352500,TASK_WritingActuator,77,SEM,SEM_DataElement1,0,released,1
-154352500,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-154352500,TASK_WritingActuator,77,SCHED,SCHED_Tasks_C2,-1,schedulepoint
-154352500,Core_2,0,C,Core_2,0,lock
-154352550,TASK_WritingActuator,77,R,FUNC_SEMUNLOCK,154,terminate
-154352550,Core_2,0,T,TASK_WritingActuator,77,terminate
-154352550,TASK_WritingActuator,77,SCHED,SCHED_Tasks_C2,-1,processterminate
-154352550,Core_2,0,C,Core_2,0,unlock
-154352550,Core_2,0,C,Core_2,0,idle
-154352550,TASK_WritingActuator,77,C,Core_2,0,idle
-154352600,TASK_WritingActuator,77,STI,IR_SCHED_Tasks_C2,498,trigger
-154352600,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-154352600,Core_2,0,T,TASK_5MS,77,start
-154352600,TASK_5MS,77,R,FUNC_EXECTIME_1,282,start
-154352600,Core_2,0,C,Core_2,0,execute
-154352600,TASK_5MS,77,C,Core_2,0,execute
-154820675,TASK_1MS,154,R,FUNC_EXECTIME_1,283,terminate
-154820675,Core_1,0,T,TASK_1MS,154,terminate
-154820675,TASK_1MS,154,SCHED,SCHED_Tasks_C1,-1,processterminate
-154820675,Core_1,0,C,Core_1,0,idle
-154820675,TASK_1MS,154,C,Core_1,0,idle
-154820775,TASK_1MS,154,STI,IR_SCHED_Tasks_C1,523,trigger
-154820775,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-154820775,Core_1,0,C,Core_1,0,execute_idle
-154820775,TASK_InputProcessing,77,C,Core_1,0,execute_idle
-154820775,Core_1,0,T,TASK_InputProcessing,77,resume
-154820775,TASK_InputProcessing,77,R,FUNC_SEMLOCK,155,resume
-154845775,TASK_InputProcessing,77,SEM,SEM_DataElement1,0,requestsemaphore,0
-154845775,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-154845775,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-154845775,Core_1,0,C,Core_1,0,lock
-154845775,TASK_InputProcessing,77,SEM,SEM_DataElement1,0,assigned,1
-154845825,TASK_InputProcessing,77,R,FUNC_SEMLOCK,155,terminate
-154845825,Core_1,0,C,Core_1,0,unlock
-154845825,TASK_InputProcessing,77,R,FUNC_ReadSensorData,77,start
-154959900,TASK_5MS,77,R,FUNC_EXECTIME_1,282,terminate
-154959900,Core_2,0,T,TASK_5MS,77,terminate
-154959900,TASK_5MS,77,SCHED,SCHED_Tasks_C2,-1,processterminate
-154959900,Core_2,0,C,Core_2,0,idle
-154959900,TASK_5MS,77,C,Core_2,0,idle
-154960000,TASK_5MS,77,STI,IR_SCHED_Tasks_C2,499,trigger
-154960000,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-155000000,SIM,-1,STI,TIMER-10MS,15,trigger
-155000000,TIMER-10MS,15,T,TASK_10MS,15,activate
-155000000,TASK_10MS,15,SCHED,SCHED_Tasks_C2,-1,processactivate
-155000100,TASK_10MS,15,STI,IR_SCHED_Tasks_C2,500,trigger
-155000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-155000100,Core_2,0,T,TASK_10MS,15,start
-155000100,TASK_10MS,15,R,FUNC_EXECTIME_1,284,start
-155000100,Core_2,0,C,Core_2,0,execute
-155000100,TASK_10MS,15,C,Core_2,0,execute
-155007125,TASK_InputProcessing,77,SIG,SIG_RotationSpeed,0,read,0
-155007125,TASK_InputProcessing,77,SIG,SIG_Lambda,0,read,0
-155007125,TASK_InputProcessing,77,SIG,SIG_Temperature,0,read,0
-155007125,TASK_InputProcessing,77,R,FUNC_ReadSensorData,77,terminate
-155007125,TASK_InputProcessing,77,R,FUNC_SEMUNLOCK,155,start
-155207125,TASK_InputProcessing,77,SEM,SEM_DataElement1,0,released,1
-155207125,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-155207125,TASK_InputProcessing,77,SCHED,SCHED_Tasks_C1,-1,schedulepoint
-155207125,Core_1,0,C,Core_1,0,lock
-155207175,TASK_InputProcessing,77,R,FUNC_SEMUNLOCK,155,terminate
-155207175,Core_1,0,C,Core_1,0,unlock
-155207175,TASK_InputProcessing,77,STI,IPA_InputReady,77,trigger
-155207175,IPA_InputReady,77,T,TASK_CalcEngineSpeed,77,activate
-155207175,TASK_CalcEngineSpeed,77,SCHED,SCHED_Tasks_C2,-1,processactivate
-155207175,Core_1,0,T,TASK_InputProcessing,77,terminate
-155207175,TASK_InputProcessing,77,SCHED,SCHED_Tasks_C1,-1,processterminate
-155207175,Core_1,0,C,Core_1,0,idle
-155207175,TASK_InputProcessing,77,C,Core_1,0,idle
-155207225,TASK_InputProcessing,77,STI,IR_SCHED_Tasks_C1,524,trigger
-155207225,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-155207275,TASK_CalcEngineSpeed,77,STI,IR_SCHED_Tasks_C2,501,trigger
-155207275,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-155207275,TASK_10MS,15,R,FUNC_EXECTIME_1,284,suspend
-155207275,Core_2,0,T,TASK_10MS,15,preempt
-155207275,Core_2,0,C,Core_2,0,idle_execution
-155207275,TASK_10MS,15,C,Core_2,0,idle_execution
-155207275,Core_2,0,T,TASK_CalcEngineSpeed,77,start
-155207275,TASK_CalcEngineSpeed,77,R,FUNC_ENGINESPEED,77,start
-155207275,Core_2,0,C,Core_2,0,execute
-155207275,TASK_CalcEngineSpeed,77,C,Core_2,0,execute
-155250000,SIM,-1,STI,TIMER-1MS,155,trigger
-155250000,TIMER-1MS,155,T,TASK_1MS,155,activate
-155250000,TASK_1MS,155,SCHED,SCHED_Tasks_C1,-1,processactivate
-155250100,TASK_1MS,155,STI,IR_SCHED_Tasks_C1,525,trigger
-155250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-155250100,Core_1,0,T,TASK_1MS,155,start
-155250100,TASK_1MS,155,R,FUNC_EXECTIME_1,285,start
-155250100,Core_1,0,C,Core_1,0,execute
-155250100,TASK_1MS,155,C,Core_1,0,execute
-155322150,TASK_CalcEngineSpeed,77,R,FUNC_ENGINESPEED,77,terminate
-155322150,Core_2,0,T,TASK_CalcEngineSpeed,77,terminate
-155322150,TASK_CalcEngineSpeed,77,SCHED,SCHED_Tasks_C2,-1,processterminate
-155322150,Core_2,0,C,Core_2,0,idle
-155322150,TASK_CalcEngineSpeed,77,C,Core_2,0,idle
-155322250,TASK_CalcEngineSpeed,77,STI,IR_SCHED_Tasks_C2,502,trigger
-155322250,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-155322250,Core_2,0,C,Core_2,0,execute_idle
-155322250,TASK_10MS,15,C,Core_2,0,execute_idle
-155322250,Core_2,0,T,TASK_10MS,15,resume
-155322250,TASK_10MS,15,R,FUNC_EXECTIME_1,284,resume
-155789225,TASK_10MS,15,R,FUNC_EXECTIME_1,284,terminate
-155789225,Core_2,0,T,TASK_10MS,15,terminate
-155789225,TASK_10MS,15,SCHED,SCHED_Tasks_C2,-1,processterminate
-155789225,Core_2,0,C,Core_2,0,idle
-155789225,TASK_10MS,15,C,Core_2,0,idle
-155789325,TASK_10MS,15,STI,IR_SCHED_Tasks_C2,503,trigger
-155789325,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-155881850,TASK_1MS,155,R,FUNC_EXECTIME_1,285,terminate
-155881850,Core_1,0,T,TASK_1MS,155,terminate
-155881850,TASK_1MS,155,SCHED,SCHED_Tasks_C1,-1,processterminate
-155881850,Core_1,0,C,Core_1,0,idle
-155881850,TASK_1MS,155,C,Core_1,0,idle
-155881950,TASK_1MS,155,STI,IR_SCHED_Tasks_C1,526,trigger
-155881950,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-156000000,SIM,-1,STI,TIMER-B_2ms,78,trigger
-156000000,TIMER-B_2ms,78,T,TASK_WritingActuator,78,activate
-156000000,TASK_WritingActuator,78,SCHED,SCHED_Tasks_C2,-1,processactivate
-156000100,TASK_WritingActuator,78,STI,IR_SCHED_Tasks_C2,504,trigger
-156000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-156000100,Core_2,0,T,TASK_WritingActuator,78,start
-156000100,TASK_WritingActuator,78,R,FUNC_SEMLOCK,156,start
-156000100,Core_2,0,C,Core_2,0,execute
-156000100,TASK_WritingActuator,78,C,Core_2,0,execute
-156100000,SIM,-1,STI,TIMER-5MS,78,trigger
-156100000,TIMER-5MS,78,T,TASK_5MS,78,activate
-156100000,TASK_5MS,78,SCHED,SCHED_Tasks_C2,-1,processactivate
-156100100,TASK_5MS,78,STI,IR_SCHED_Tasks_C2,505,trigger
-156100100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-156125100,TASK_WritingActuator,78,SEM,SEM_DataElement1,0,requestsemaphore,0
-156125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-156125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-156125100,Core_2,0,C,Core_2,0,lock
-156125100,TASK_WritingActuator,78,SEM,SEM_DataElement1,0,assigned,1
-156125150,TASK_WritingActuator,78,R,FUNC_SEMLOCK,156,terminate
-156125150,Core_2,0,C,Core_2,0,unlock
-156125150,TASK_WritingActuator,78,R,FUNC_WriteData,78,start
-156150000,SIM,-1,STI,TIMER-A_2ms,78,trigger
-156150000,TIMER-A_2ms,78,T,TASK_InputProcessing,78,activate
-156150000,TASK_InputProcessing,78,SCHED,SCHED_Tasks_C1,-1,processactivate
-156150100,TASK_InputProcessing,78,STI,IR_SCHED_Tasks_C1,527,trigger
-156150100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-156150100,Core_1,0,T,TASK_InputProcessing,78,start
-156150100,TASK_InputProcessing,78,R,FUNC_SEMLOCK,157,start
-156150100,Core_1,0,C,Core_1,0,execute
-156150100,TASK_InputProcessing,78,C,Core_1,0,execute
-156152025,TASK_WritingActuator,78,SIG,SIG_Mixture,0,write,0
-156152025,TASK_WritingActuator,78,R,FUNC_WriteData,78,terminate
-156152025,TASK_WritingActuator,78,R,FUNC_SEMUNLOCK,156,start
-156250000,SIM,-1,STI,TIMER-1MS,156,trigger
-156250000,TIMER-1MS,156,T,TASK_1MS,156,activate
-156250000,TASK_1MS,156,SCHED,SCHED_Tasks_C1,-1,processactivate
-156250100,TASK_1MS,156,STI,IR_SCHED_Tasks_C1,528,trigger
-156250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-156250100,TASK_InputProcessing,78,R,FUNC_SEMLOCK,157,suspend
-156250100,Core_1,0,T,TASK_InputProcessing,78,preempt
-156250100,Core_1,0,C,Core_1,0,idle_execution
-156250100,TASK_InputProcessing,78,C,Core_1,0,idle_execution
-156250100,Core_1,0,T,TASK_1MS,156,start
-156250100,TASK_1MS,156,R,FUNC_EXECTIME_1,287,start
-156250100,Core_1,0,C,Core_1,0,execute
-156250100,TASK_1MS,156,C,Core_1,0,execute
-156352025,TASK_WritingActuator,78,SEM,SEM_DataElement1,0,released,1
-156352025,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-156352025,TASK_WritingActuator,78,SCHED,SCHED_Tasks_C2,-1,schedulepoint
-156352025,Core_2,0,C,Core_2,0,lock
-156352075,TASK_WritingActuator,78,R,FUNC_SEMUNLOCK,156,terminate
-156352075,Core_2,0,T,TASK_WritingActuator,78,terminate
-156352075,TASK_WritingActuator,78,SCHED,SCHED_Tasks_C2,-1,processterminate
-156352075,Core_2,0,C,Core_2,0,unlock
-156352075,Core_2,0,C,Core_2,0,idle
-156352075,TASK_WritingActuator,78,C,Core_2,0,idle
-156352125,TASK_WritingActuator,78,STI,IR_SCHED_Tasks_C2,506,trigger
-156352125,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-156352125,Core_2,0,T,TASK_5MS,78,start
-156352125,TASK_5MS,78,R,FUNC_EXECTIME_1,286,start
-156352125,Core_2,0,C,Core_2,0,execute
-156352125,TASK_5MS,78,C,Core_2,0,execute
-156612700,TASK_1MS,156,R,FUNC_EXECTIME_1,287,terminate
-156612700,Core_1,0,T,TASK_1MS,156,terminate
-156612700,TASK_1MS,156,SCHED,SCHED_Tasks_C1,-1,processterminate
-156612700,Core_1,0,C,Core_1,0,idle
-156612700,TASK_1MS,156,C,Core_1,0,idle
-156612800,TASK_1MS,156,STI,IR_SCHED_Tasks_C1,529,trigger
-156612800,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-156612800,Core_1,0,C,Core_1,0,execute_idle
-156612800,TASK_InputProcessing,78,C,Core_1,0,execute_idle
-156612800,Core_1,0,T,TASK_InputProcessing,78,resume
-156612800,TASK_InputProcessing,78,R,FUNC_SEMLOCK,157,resume
-156637800,TASK_InputProcessing,78,SEM,SEM_DataElement1,0,requestsemaphore,0
-156637800,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-156637800,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-156637800,Core_1,0,C,Core_1,0,lock
-156637800,TASK_InputProcessing,78,SEM,SEM_DataElement1,0,assigned,1
-156637850,TASK_InputProcessing,78,R,FUNC_SEMLOCK,157,terminate
-156637850,Core_1,0,C,Core_1,0,unlock
-156637850,TASK_InputProcessing,78,R,FUNC_ReadSensorData,78,start
-156681975,TASK_5MS,78,R,FUNC_EXECTIME_1,286,terminate
-156681975,Core_2,0,T,TASK_5MS,78,terminate
-156681975,TASK_5MS,78,SCHED,SCHED_Tasks_C2,-1,processterminate
-156681975,Core_2,0,C,Core_2,0,idle
-156681975,TASK_5MS,78,C,Core_2,0,idle
-156682075,TASK_5MS,78,STI,IR_SCHED_Tasks_C2,507,trigger
-156682075,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-156799525,TASK_InputProcessing,78,SIG,SIG_RotationSpeed,0,read,0
-156799525,TASK_InputProcessing,78,SIG,SIG_Lambda,0,read,0
-156799525,TASK_InputProcessing,78,SIG,SIG_Temperature,0,read,0
-156799525,TASK_InputProcessing,78,R,FUNC_ReadSensorData,78,terminate
-156799525,TASK_InputProcessing,78,R,FUNC_SEMUNLOCK,157,start
-156999525,TASK_InputProcessing,78,SEM,SEM_DataElement1,0,released,1
-156999525,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-156999525,TASK_InputProcessing,78,SCHED,SCHED_Tasks_C1,-1,schedulepoint
-156999525,Core_1,0,C,Core_1,0,lock
-156999575,TASK_InputProcessing,78,R,FUNC_SEMUNLOCK,157,terminate
-156999575,Core_1,0,C,Core_1,0,unlock
-156999575,TASK_InputProcessing,78,STI,IPA_InputReady,78,trigger
-156999575,IPA_InputReady,78,T,TASK_CalcEngineSpeed,78,activate
-156999575,TASK_CalcEngineSpeed,78,SCHED,SCHED_Tasks_C2,-1,processactivate
-156999575,Core_1,0,T,TASK_InputProcessing,78,terminate
-156999575,TASK_InputProcessing,78,SCHED,SCHED_Tasks_C1,-1,processterminate
-156999575,Core_1,0,C,Core_1,0,idle
-156999575,TASK_InputProcessing,78,C,Core_1,0,idle
-156999625,TASK_InputProcessing,78,STI,IR_SCHED_Tasks_C1,530,trigger
-156999625,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-156999675,TASK_CalcEngineSpeed,78,STI,IR_SCHED_Tasks_C2,508,trigger
-156999675,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-156999675,Core_2,0,T,TASK_CalcEngineSpeed,78,start
-156999675,TASK_CalcEngineSpeed,78,R,FUNC_ENGINESPEED,78,start
-156999675,Core_2,0,C,Core_2,0,execute
-156999675,TASK_CalcEngineSpeed,78,C,Core_2,0,execute
-157129775,TASK_CalcEngineSpeed,78,R,FUNC_ENGINESPEED,78,terminate
-157129775,Core_2,0,T,TASK_CalcEngineSpeed,78,terminate
-157129775,TASK_CalcEngineSpeed,78,SCHED,SCHED_Tasks_C2,-1,processterminate
-157129775,Core_2,0,C,Core_2,0,idle
-157129775,TASK_CalcEngineSpeed,78,C,Core_2,0,idle
-157129875,TASK_CalcEngineSpeed,78,STI,IR_SCHED_Tasks_C2,509,trigger
-157129875,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-157250000,SIM,-1,STI,TIMER-1MS,157,trigger
-157250000,TIMER-1MS,157,T,TASK_1MS,157,activate
-157250000,TASK_1MS,157,SCHED,SCHED_Tasks_C1,-1,processactivate
-157250100,TASK_1MS,157,STI,IR_SCHED_Tasks_C1,531,trigger
-157250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-157250100,Core_1,0,T,TASK_1MS,157,start
-157250100,TASK_1MS,157,R,FUNC_EXECTIME_1,288,start
-157250100,Core_1,0,C,Core_1,0,execute
-157250100,TASK_1MS,157,C,Core_1,0,execute
-157518675,TASK_1MS,157,R,FUNC_EXECTIME_1,288,terminate
-157518675,Core_1,0,T,TASK_1MS,157,terminate
-157518675,TASK_1MS,157,SCHED,SCHED_Tasks_C1,-1,processterminate
-157518675,Core_1,0,C,Core_1,0,idle
-157518675,TASK_1MS,157,C,Core_1,0,idle
-157518775,TASK_1MS,157,STI,IR_SCHED_Tasks_C1,532,trigger
-157518775,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-158000000,SIM,-1,STI,TIMER-B_2ms,79,trigger
-158000000,TIMER-B_2ms,79,T,TASK_WritingActuator,79,activate
-158000000,TASK_WritingActuator,79,SCHED,SCHED_Tasks_C2,-1,processactivate
-158000100,TASK_WritingActuator,79,STI,IR_SCHED_Tasks_C2,510,trigger
-158000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-158000100,Core_2,0,T,TASK_WritingActuator,79,start
-158000100,TASK_WritingActuator,79,R,FUNC_SEMLOCK,158,start
-158000100,Core_2,0,C,Core_2,0,execute
-158000100,TASK_WritingActuator,79,C,Core_2,0,execute
-158100000,SIM,-1,STI,TIMER-5MS,79,trigger
-158100000,TIMER-5MS,79,T,TASK_5MS,79,activate
-158100000,TASK_5MS,79,SCHED,SCHED_Tasks_C2,-1,processactivate
-158100100,TASK_5MS,79,STI,IR_SCHED_Tasks_C2,511,trigger
-158100100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-158125100,TASK_WritingActuator,79,SEM,SEM_DataElement1,0,requestsemaphore,0
-158125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-158125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-158125100,Core_2,0,C,Core_2,0,lock
-158125100,TASK_WritingActuator,79,SEM,SEM_DataElement1,0,assigned,1
-158125150,TASK_WritingActuator,79,R,FUNC_SEMLOCK,158,terminate
-158125150,Core_2,0,C,Core_2,0,unlock
-158125150,TASK_WritingActuator,79,R,FUNC_WriteData,79,start
-158150000,SIM,-1,STI,TIMER-A_2ms,79,trigger
-158150000,TIMER-A_2ms,79,T,TASK_InputProcessing,79,activate
-158150000,TASK_InputProcessing,79,SCHED,SCHED_Tasks_C1,-1,processactivate
-158150100,TASK_InputProcessing,79,STI,IR_SCHED_Tasks_C1,533,trigger
-158150100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-158150100,Core_1,0,T,TASK_InputProcessing,79,start
-158150100,TASK_InputProcessing,79,R,FUNC_SEMLOCK,159,start
-158150100,Core_1,0,C,Core_1,0,execute
-158150100,TASK_InputProcessing,79,C,Core_1,0,execute
-158152475,TASK_WritingActuator,79,SIG,SIG_Mixture,0,write,0
-158152475,TASK_WritingActuator,79,R,FUNC_WriteData,79,terminate
-158152475,TASK_WritingActuator,79,R,FUNC_SEMUNLOCK,158,start
-158250000,SIM,-1,STI,TIMER-1MS,158,trigger
-158250000,TIMER-1MS,158,T,TASK_1MS,158,activate
-158250000,TASK_1MS,158,SCHED,SCHED_Tasks_C1,-1,processactivate
-158250100,TASK_1MS,158,STI,IR_SCHED_Tasks_C1,534,trigger
-158250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-158250100,TASK_InputProcessing,79,R,FUNC_SEMLOCK,159,suspend
-158250100,Core_1,0,T,TASK_InputProcessing,79,preempt
-158250100,Core_1,0,C,Core_1,0,idle_execution
-158250100,TASK_InputProcessing,79,C,Core_1,0,idle_execution
-158250100,Core_1,0,T,TASK_1MS,158,start
-158250100,TASK_1MS,158,R,FUNC_EXECTIME_1,290,start
-158250100,Core_1,0,C,Core_1,0,execute
-158250100,TASK_1MS,158,C,Core_1,0,execute
-158352475,TASK_WritingActuator,79,SEM,SEM_DataElement1,0,released,1
-158352475,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-158352475,TASK_WritingActuator,79,SCHED,SCHED_Tasks_C2,-1,schedulepoint
-158352475,Core_2,0,C,Core_2,0,lock
-158352525,TASK_WritingActuator,79,R,FUNC_SEMUNLOCK,158,terminate
-158352525,Core_2,0,T,TASK_WritingActuator,79,terminate
-158352525,TASK_WritingActuator,79,SCHED,SCHED_Tasks_C2,-1,processterminate
-158352525,Core_2,0,C,Core_2,0,unlock
-158352525,Core_2,0,C,Core_2,0,idle
-158352525,TASK_WritingActuator,79,C,Core_2,0,idle
-158352575,TASK_WritingActuator,79,STI,IR_SCHED_Tasks_C2,512,trigger
-158352575,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-158352575,Core_2,0,T,TASK_5MS,79,start
-158352575,TASK_5MS,79,R,FUNC_EXECTIME_1,289,start
-158352575,Core_2,0,C,Core_2,0,execute
-158352575,TASK_5MS,79,C,Core_2,0,execute
-158699375,TASK_1MS,158,R,FUNC_EXECTIME_1,290,terminate
-158699375,Core_1,0,T,TASK_1MS,158,terminate
-158699375,TASK_1MS,158,SCHED,SCHED_Tasks_C1,-1,processterminate
-158699375,Core_1,0,C,Core_1,0,idle
-158699375,TASK_1MS,158,C,Core_1,0,idle
-158699475,TASK_1MS,158,STI,IR_SCHED_Tasks_C1,535,trigger
-158699475,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-158699475,Core_1,0,C,Core_1,0,execute_idle
-158699475,TASK_InputProcessing,79,C,Core_1,0,execute_idle
-158699475,Core_1,0,T,TASK_InputProcessing,79,resume
-158699475,TASK_InputProcessing,79,R,FUNC_SEMLOCK,159,resume
-158724475,TASK_InputProcessing,79,SEM,SEM_DataElement1,0,requestsemaphore,0
-158724475,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-158724475,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-158724475,Core_1,0,C,Core_1,0,lock
-158724475,TASK_InputProcessing,79,SEM,SEM_DataElement1,0,assigned,1
-158724525,TASK_InputProcessing,79,R,FUNC_SEMLOCK,159,terminate
-158724525,Core_1,0,C,Core_1,0,unlock
-158724525,TASK_InputProcessing,79,R,FUNC_ReadSensorData,79,start
-158886000,TASK_InputProcessing,79,SIG,SIG_RotationSpeed,0,read,0
-158886000,TASK_InputProcessing,79,SIG,SIG_Lambda,0,read,0
-158886000,TASK_InputProcessing,79,SIG,SIG_Temperature,0,read,0
-158886000,TASK_InputProcessing,79,R,FUNC_ReadSensorData,79,terminate
-158886000,TASK_InputProcessing,79,R,FUNC_SEMUNLOCK,159,start
-159061575,TASK_5MS,79,R,FUNC_EXECTIME_1,289,terminate
-159061575,Core_2,0,T,TASK_5MS,79,terminate
-159061575,TASK_5MS,79,SCHED,SCHED_Tasks_C2,-1,processterminate
-159061575,Core_2,0,C,Core_2,0,idle
-159061575,TASK_5MS,79,C,Core_2,0,idle
-159061675,TASK_5MS,79,STI,IR_SCHED_Tasks_C2,513,trigger
-159061675,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-159086000,TASK_InputProcessing,79,SEM,SEM_DataElement1,0,released,1
-159086000,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-159086000,TASK_InputProcessing,79,SCHED,SCHED_Tasks_C1,-1,schedulepoint
-159086000,Core_1,0,C,Core_1,0,lock
-159086050,TASK_InputProcessing,79,R,FUNC_SEMUNLOCK,159,terminate
-159086050,Core_1,0,C,Core_1,0,unlock
-159086050,TASK_InputProcessing,79,STI,IPA_InputReady,79,trigger
-159086050,IPA_InputReady,79,T,TASK_CalcEngineSpeed,79,activate
-159086050,TASK_CalcEngineSpeed,79,SCHED,SCHED_Tasks_C2,-1,processactivate
-159086050,Core_1,0,T,TASK_InputProcessing,79,terminate
-159086050,TASK_InputProcessing,79,SCHED,SCHED_Tasks_C1,-1,processterminate
-159086050,Core_1,0,C,Core_1,0,idle
-159086050,TASK_InputProcessing,79,C,Core_1,0,idle
-159086100,TASK_InputProcessing,79,STI,IR_SCHED_Tasks_C1,536,trigger
-159086100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-159086150,TASK_CalcEngineSpeed,79,STI,IR_SCHED_Tasks_C2,514,trigger
-159086150,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-159086150,Core_2,0,T,TASK_CalcEngineSpeed,79,start
-159086150,TASK_CalcEngineSpeed,79,R,FUNC_ENGINESPEED,79,start
-159086150,Core_2,0,C,Core_2,0,execute
-159086150,TASK_CalcEngineSpeed,79,C,Core_2,0,execute
-159250000,SIM,-1,STI,TIMER-1MS,159,trigger
-159250000,TIMER-1MS,159,T,TASK_1MS,159,activate
-159250000,TASK_1MS,159,SCHED,SCHED_Tasks_C1,-1,processactivate
-159250100,TASK_1MS,159,STI,IR_SCHED_Tasks_C1,537,trigger
-159250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-159250100,Core_1,0,T,TASK_1MS,159,start
-159250100,TASK_1MS,159,R,FUNC_EXECTIME_1,291,start
-159250100,Core_1,0,C,Core_1,0,execute
-159250100,TASK_1MS,159,C,Core_1,0,execute
-159289750,TASK_CalcEngineSpeed,79,R,FUNC_ENGINESPEED,79,terminate
-159289750,Core_2,0,T,TASK_CalcEngineSpeed,79,terminate
-159289750,TASK_CalcEngineSpeed,79,SCHED,SCHED_Tasks_C2,-1,processterminate
-159289750,Core_2,0,C,Core_2,0,idle
-159289750,TASK_CalcEngineSpeed,79,C,Core_2,0,idle
-159289850,TASK_CalcEngineSpeed,79,STI,IR_SCHED_Tasks_C2,515,trigger
-159289850,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-159666275,TASK_1MS,159,R,FUNC_EXECTIME_1,291,terminate
-159666275,Core_1,0,T,TASK_1MS,159,terminate
-159666275,TASK_1MS,159,SCHED,SCHED_Tasks_C1,-1,processterminate
-159666275,Core_1,0,C,Core_1,0,idle
-159666275,TASK_1MS,159,C,Core_1,0,idle
-159666375,TASK_1MS,159,STI,IR_SCHED_Tasks_C1,538,trigger
-159666375,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-160000000,SIM,-1,STI,TIMER-B_2ms,80,trigger
-160000000,TIMER-B_2ms,80,T,TASK_WritingActuator,80,activate
-160000000,TASK_WritingActuator,80,SCHED,SCHED_Tasks_C2,-1,processactivate
-160000000,SIM,-1,STI,TIMER-10MS_2,16,trigger
-160000000,TIMER-10MS_2,16,T,TASK_10MS_DL2,16,activate
-160000000,TASK_10MS_DL2,16,SCHED,SCHED_Tasks_C1,-1,processactivate
-160000100,TASK_WritingActuator,80,STI,IR_SCHED_Tasks_C2,516,trigger
-160000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-160000100,Core_2,0,T,TASK_WritingActuator,80,start
-160000100,TASK_WritingActuator,80,R,FUNC_SEMLOCK,160,start
-160000100,Core_2,0,C,Core_2,0,execute
-160000100,TASK_WritingActuator,80,C,Core_2,0,execute
-160000100,TASK_10MS_DL2,16,STI,IR_SCHED_Tasks_C1,539,trigger
-160000100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-160000100,Core_1,0,T,TASK_10MS_DL2,16,start
-160000100,TASK_10MS_DL2,16,R,FUNC_EXECTIME_1,292,start
-160000100,Core_1,0,C,Core_1,0,execute
-160000100,TASK_10MS_DL2,16,C,Core_1,0,execute
-160005000,SIM,-1,STI,TIMER-20MS,8,trigger
-160005000,TIMER-20MS,8,T,TASK_20MS,8,activate
-160005000,TASK_20MS,8,SCHED,SCHED_Tasks_C1,-1,processactivate
-160005100,TASK_20MS,8,STI,IR_SCHED_Tasks_C1,540,trigger
-160005100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-160100000,SIM,-1,STI,TIMER-5MS,80,trigger
-160100000,TIMER-5MS,80,T,TASK_5MS,80,activate
-160100000,TASK_5MS,80,SCHED,SCHED_Tasks_C2,-1,processactivate
-160100100,TASK_5MS,80,STI,IR_SCHED_Tasks_C2,517,trigger
-160100100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-160125100,TASK_WritingActuator,80,SEM,SEM_DataElement1,0,requestsemaphore,0
-160125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-160125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-160125100,Core_2,0,C,Core_2,0,lock
-160125100,TASK_WritingActuator,80,SEM,SEM_DataElement1,0,assigned,1
-160125150,TASK_WritingActuator,80,R,FUNC_SEMLOCK,160,terminate
-160125150,Core_2,0,C,Core_2,0,unlock
-160125150,TASK_WritingActuator,80,R,FUNC_WriteData,80,start
-160150000,SIM,-1,STI,TIMER-A_2ms,80,trigger
-160150000,TIMER-A_2ms,80,T,TASK_InputProcessing,80,activate
-160150000,TASK_InputProcessing,80,SCHED,SCHED_Tasks_C1,-1,processactivate
-160150100,TASK_InputProcessing,80,STI,IR_SCHED_Tasks_C1,541,trigger
-160150100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-160152075,TASK_WritingActuator,80,SIG,SIG_Mixture,0,write,0
-160152075,TASK_WritingActuator,80,R,FUNC_WriteData,80,terminate
-160152075,TASK_WritingActuator,80,R,FUNC_SEMUNLOCK,160,start
-160250000,SIM,-1,STI,TIMER-1MS,160,trigger
-160250000,TIMER-1MS,160,T,TASK_1MS,160,activate
-160250000,TASK_1MS,160,SCHED,SCHED_Tasks_C1,-1,processactivate
-160250100,TASK_1MS,160,STI,IR_SCHED_Tasks_C1,542,trigger
-160250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-160250100,TASK_10MS_DL2,16,R,FUNC_EXECTIME_1,292,suspend
-160250100,Core_1,0,T,TASK_10MS_DL2,16,preempt
-160250100,Core_1,0,C,Core_1,0,idle_execution
-160250100,TASK_10MS_DL2,16,C,Core_1,0,idle_execution
-160250100,Core_1,0,T,TASK_1MS,160,start
-160250100,TASK_1MS,160,R,FUNC_EXECTIME_1,295,start
-160250100,Core_1,0,C,Core_1,0,execute
-160250100,TASK_1MS,160,C,Core_1,0,execute
-160352075,TASK_WritingActuator,80,SEM,SEM_DataElement1,0,released,1
-160352075,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-160352075,TASK_WritingActuator,80,SCHED,SCHED_Tasks_C2,-1,schedulepoint
-160352075,Core_2,0,C,Core_2,0,lock
-160352125,TASK_WritingActuator,80,R,FUNC_SEMUNLOCK,160,terminate
-160352125,Core_2,0,T,TASK_WritingActuator,80,terminate
-160352125,TASK_WritingActuator,80,SCHED,SCHED_Tasks_C2,-1,processterminate
-160352125,Core_2,0,C,Core_2,0,unlock
-160352125,Core_2,0,C,Core_2,0,idle
-160352125,TASK_WritingActuator,80,C,Core_2,0,idle
-160352175,TASK_WritingActuator,80,STI,IR_SCHED_Tasks_C2,518,trigger
-160352175,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-160352175,Core_2,0,T,TASK_5MS,80,start
-160352175,TASK_5MS,80,R,FUNC_EXECTIME_1,294,start
-160352175,Core_2,0,C,Core_2,0,execute
-160352175,TASK_5MS,80,C,Core_2,0,execute
-160620600,TASK_1MS,160,R,FUNC_EXECTIME_1,295,terminate
-160620600,Core_1,0,T,TASK_1MS,160,terminate
-160620600,TASK_1MS,160,SCHED,SCHED_Tasks_C1,-1,processterminate
-160620600,Core_1,0,C,Core_1,0,idle
-160620600,TASK_1MS,160,C,Core_1,0,idle
-160620700,TASK_1MS,160,STI,IR_SCHED_Tasks_C1,543,trigger
-160620700,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-160620700,Core_1,0,C,Core_1,0,execute_idle
-160620700,TASK_10MS_DL2,16,C,Core_1,0,execute_idle
-160620700,Core_1,0,T,TASK_10MS_DL2,16,resume
-160620700,TASK_10MS_DL2,16,R,FUNC_EXECTIME_1,292,resume
-160741450,TASK_5MS,80,R,FUNC_EXECTIME_1,294,terminate
-160741450,Core_2,0,T,TASK_5MS,80,terminate
-160741450,TASK_5MS,80,SCHED,SCHED_Tasks_C2,-1,processterminate
-160741450,Core_2,0,C,Core_2,0,idle
-160741450,TASK_5MS,80,C,Core_2,0,idle
-160741550,TASK_5MS,80,STI,IR_SCHED_Tasks_C2,519,trigger
-160741550,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-161121975,TASK_10MS_DL2,16,R,FUNC_EXECTIME_1,292,terminate
-161121975,Core_1,0,T,TASK_10MS_DL2,16,terminate
-161121975,TASK_10MS_DL2,16,SCHED,SCHED_Tasks_C1,-1,processterminate
-161121975,Core_1,0,C,Core_1,0,idle
-161121975,TASK_10MS_DL2,16,C,Core_1,0,idle
-161122075,TASK_10MS_DL2,16,STI,IR_SCHED_Tasks_C1,544,trigger
-161122075,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-161122075,Core_1,0,T,TASK_InputProcessing,80,start
-161122075,TASK_InputProcessing,80,R,FUNC_SEMLOCK,161,start
-161122075,Core_1,0,C,Core_1,0,execute
-161122075,TASK_InputProcessing,80,C,Core_1,0,execute
-161247075,TASK_InputProcessing,80,SEM,SEM_DataElement1,0,requestsemaphore,0
-161247075,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-161247075,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-161247075,Core_1,0,C,Core_1,0,lock
-161247075,TASK_InputProcessing,80,SEM,SEM_DataElement1,0,assigned,1
-161247125,TASK_InputProcessing,80,R,FUNC_SEMLOCK,161,terminate
-161247125,Core_1,0,C,Core_1,0,unlock
-161247125,TASK_InputProcessing,80,R,FUNC_ReadSensorData,80,start
-161250000,SIM,-1,STI,TIMER-1MS,161,trigger
-161250000,TIMER-1MS,161,T,TASK_1MS,161,activate
-161250000,TASK_1MS,161,SCHED,SCHED_Tasks_C1,-1,processactivate
-161250100,TASK_1MS,161,STI,IR_SCHED_Tasks_C1,545,trigger
-161250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-161410725,TASK_InputProcessing,80,SIG,SIG_RotationSpeed,0,read,0
-161410725,TASK_InputProcessing,80,SIG,SIG_Lambda,0,read,0
-161410725,TASK_InputProcessing,80,SIG,SIG_Temperature,0,read,0
-161410725,TASK_InputProcessing,80,R,FUNC_ReadSensorData,80,terminate
-161410725,TASK_InputProcessing,80,R,FUNC_SEMUNLOCK,161,start
-161610725,TASK_InputProcessing,80,SEM,SEM_DataElement1,0,released,1
-161610725,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-161610725,TASK_InputProcessing,80,SCHED,SCHED_Tasks_C1,-1,schedulepoint
-161610725,Core_1,0,C,Core_1,0,lock
-161610775,TASK_InputProcessing,80,R,FUNC_SEMUNLOCK,161,terminate
-161610775,Core_1,0,C,Core_1,0,unlock
-161610775,TASK_InputProcessing,80,STI,IPA_InputReady,80,trigger
-161610775,IPA_InputReady,80,T,TASK_CalcEngineSpeed,80,activate
-161610775,TASK_CalcEngineSpeed,80,SCHED,SCHED_Tasks_C2,-1,processactivate
-161610775,Core_1,0,T,TASK_InputProcessing,80,terminate
-161610775,TASK_InputProcessing,80,SCHED,SCHED_Tasks_C1,-1,processterminate
-161610775,Core_1,0,C,Core_1,0,idle
-161610775,TASK_InputProcessing,80,C,Core_1,0,idle
-161610825,TASK_InputProcessing,80,STI,IR_SCHED_Tasks_C1,546,trigger
-161610825,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-161610825,Core_1,0,T,TASK_1MS,161,start
-161610825,TASK_1MS,161,R,FUNC_EXECTIME_1,296,start
-161610825,Core_1,0,C,Core_1,0,execute
-161610825,TASK_1MS,161,C,Core_1,0,execute
-161610875,TASK_CalcEngineSpeed,80,STI,IR_SCHED_Tasks_C2,520,trigger
-161610875,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-161610875,Core_2,0,T,TASK_CalcEngineSpeed,80,start
-161610875,TASK_CalcEngineSpeed,80,R,FUNC_ENGINESPEED,80,start
-161610875,Core_2,0,C,Core_2,0,execute
-161610875,TASK_CalcEngineSpeed,80,C,Core_2,0,execute
-161811075,TASK_CalcEngineSpeed,80,R,FUNC_ENGINESPEED,80,terminate
-161811075,Core_2,0,T,TASK_CalcEngineSpeed,80,terminate
-161811075,TASK_CalcEngineSpeed,80,SCHED,SCHED_Tasks_C2,-1,processterminate
-161811075,Core_2,0,C,Core_2,0,idle
-161811075,TASK_CalcEngineSpeed,80,C,Core_2,0,idle
-161811175,TASK_CalcEngineSpeed,80,STI,IR_SCHED_Tasks_C2,521,trigger
-161811175,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-162000000,SIM,-1,STI,TIMER-B_2ms,81,trigger
-162000000,TIMER-B_2ms,81,T,TASK_WritingActuator,81,activate
-162000000,TASK_WritingActuator,81,SCHED,SCHED_Tasks_C2,-1,processactivate
-162000100,TASK_WritingActuator,81,STI,IR_SCHED_Tasks_C2,522,trigger
-162000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-162000100,Core_2,0,T,TASK_WritingActuator,81,start
-162000100,TASK_WritingActuator,81,R,FUNC_SEMLOCK,162,start
-162000100,Core_2,0,C,Core_2,0,execute
-162000100,TASK_WritingActuator,81,C,Core_2,0,execute
-162100000,SIM,-1,STI,TIMER-5MS,81,trigger
-162100000,TIMER-5MS,81,T,TASK_5MS,81,activate
-162100000,TASK_5MS,81,SCHED,SCHED_Tasks_C2,-1,processactivate
-162100100,TASK_5MS,81,STI,IR_SCHED_Tasks_C2,523,trigger
-162100100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-162125100,TASK_WritingActuator,81,SEM,SEM_DataElement1,0,requestsemaphore,0
-162125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-162125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-162125100,Core_2,0,C,Core_2,0,lock
-162125100,TASK_WritingActuator,81,SEM,SEM_DataElement1,0,assigned,1
-162125150,TASK_WritingActuator,81,R,FUNC_SEMLOCK,162,terminate
-162125150,Core_2,0,C,Core_2,0,unlock
-162125150,TASK_WritingActuator,81,R,FUNC_WriteData,81,start
-162150000,SIM,-1,STI,TIMER-A_2ms,81,trigger
-162150000,TIMER-A_2ms,81,T,TASK_InputProcessing,81,activate
-162150000,TASK_InputProcessing,81,SCHED,SCHED_Tasks_C1,-1,processactivate
-162150100,TASK_InputProcessing,81,STI,IR_SCHED_Tasks_C1,547,trigger
-162150100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-162152500,TASK_WritingActuator,81,SIG,SIG_Mixture,0,write,0
-162152500,TASK_WritingActuator,81,R,FUNC_WriteData,81,terminate
-162152500,TASK_WritingActuator,81,R,FUNC_SEMUNLOCK,162,start
-162205975,TASK_1MS,161,R,FUNC_EXECTIME_1,296,terminate
-162205975,Core_1,0,T,TASK_1MS,161,terminate
-162205975,TASK_1MS,161,SCHED,SCHED_Tasks_C1,-1,processterminate
-162205975,Core_1,0,C,Core_1,0,idle
-162205975,TASK_1MS,161,C,Core_1,0,idle
-162206075,TASK_1MS,161,STI,IR_SCHED_Tasks_C1,548,trigger
-162206075,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-162206075,Core_1,0,T,TASK_InputProcessing,81,start
-162206075,TASK_InputProcessing,81,R,FUNC_SEMLOCK,163,start
-162206075,Core_1,0,C,Core_1,0,execute
-162206075,TASK_InputProcessing,81,C,Core_1,0,execute
-162250000,SIM,-1,STI,TIMER-1MS,162,trigger
-162250000,TIMER-1MS,162,T,TASK_1MS,162,activate
-162250000,TASK_1MS,162,SCHED,SCHED_Tasks_C1,-1,processactivate
-162250100,TASK_1MS,162,STI,IR_SCHED_Tasks_C1,549,trigger
-162250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-162250100,TASK_InputProcessing,81,R,FUNC_SEMLOCK,163,suspend
-162250100,Core_1,0,T,TASK_InputProcessing,81,preempt
-162250100,Core_1,0,C,Core_1,0,idle_execution
-162250100,TASK_InputProcessing,81,C,Core_1,0,idle_execution
-162250100,Core_1,0,T,TASK_1MS,162,start
-162250100,TASK_1MS,162,R,FUNC_EXECTIME_1,298,start
-162250100,Core_1,0,C,Core_1,0,execute
-162250100,TASK_1MS,162,C,Core_1,0,execute
-162352500,TASK_WritingActuator,81,SEM,SEM_DataElement1,0,released,1
-162352500,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-162352500,TASK_WritingActuator,81,SCHED,SCHED_Tasks_C2,-1,schedulepoint
-162352500,Core_2,0,C,Core_2,0,lock
-162352550,TASK_WritingActuator,81,R,FUNC_SEMUNLOCK,162,terminate
-162352550,Core_2,0,T,TASK_WritingActuator,81,terminate
-162352550,TASK_WritingActuator,81,SCHED,SCHED_Tasks_C2,-1,processterminate
-162352550,Core_2,0,C,Core_2,0,unlock
-162352550,Core_2,0,C,Core_2,0,idle
-162352550,TASK_WritingActuator,81,C,Core_2,0,idle
-162352600,TASK_WritingActuator,81,STI,IR_SCHED_Tasks_C2,524,trigger
-162352600,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-162352600,Core_2,0,T,TASK_5MS,81,start
-162352600,TASK_5MS,81,R,FUNC_EXECTIME_1,297,start
-162352600,Core_2,0,C,Core_2,0,execute
-162352600,TASK_5MS,81,C,Core_2,0,execute
-162720125,TASK_1MS,162,R,FUNC_EXECTIME_1,298,terminate
-162720125,Core_1,0,T,TASK_1MS,162,terminate
-162720125,TASK_1MS,162,SCHED,SCHED_Tasks_C1,-1,processterminate
-162720125,Core_1,0,C,Core_1,0,idle
-162720125,TASK_1MS,162,C,Core_1,0,idle
-162720225,TASK_1MS,162,STI,IR_SCHED_Tasks_C1,550,trigger
-162720225,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-162720225,Core_1,0,C,Core_1,0,execute_idle
-162720225,TASK_InputProcessing,81,C,Core_1,0,execute_idle
-162720225,Core_1,0,T,TASK_InputProcessing,81,resume
-162720225,TASK_InputProcessing,81,R,FUNC_SEMLOCK,163,resume
-162801200,TASK_InputProcessing,81,SEM,SEM_DataElement1,0,requestsemaphore,0
-162801200,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-162801200,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-162801200,Core_1,0,C,Core_1,0,lock
-162801200,TASK_InputProcessing,81,SEM,SEM_DataElement1,0,assigned,1
-162801250,TASK_InputProcessing,81,R,FUNC_SEMLOCK,163,terminate
-162801250,Core_1,0,C,Core_1,0,unlock
-162801250,TASK_InputProcessing,81,R,FUNC_ReadSensorData,81,start
-162881700,TASK_5MS,81,R,FUNC_EXECTIME_1,297,terminate
-162881700,Core_2,0,T,TASK_5MS,81,terminate
-162881700,TASK_5MS,81,SCHED,SCHED_Tasks_C2,-1,processterminate
-162881700,Core_2,0,C,Core_2,0,idle
-162881700,TASK_5MS,81,C,Core_2,0,idle
-162881800,TASK_5MS,81,STI,IR_SCHED_Tasks_C2,525,trigger
-162881800,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-162963700,TASK_InputProcessing,81,SIG,SIG_RotationSpeed,0,read,0
-162963700,TASK_InputProcessing,81,SIG,SIG_Lambda,0,read,0
-162963700,TASK_InputProcessing,81,SIG,SIG_Temperature,0,read,0
-162963700,TASK_InputProcessing,81,R,FUNC_ReadSensorData,81,terminate
-162963700,TASK_InputProcessing,81,R,FUNC_SEMUNLOCK,163,start
-163163700,TASK_InputProcessing,81,SEM,SEM_DataElement1,0,released,1
-163163700,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-163163700,TASK_InputProcessing,81,SCHED,SCHED_Tasks_C1,-1,schedulepoint
-163163700,Core_1,0,C,Core_1,0,lock
-163163750,TASK_InputProcessing,81,R,FUNC_SEMUNLOCK,163,terminate
-163163750,Core_1,0,C,Core_1,0,unlock
-163163750,TASK_InputProcessing,81,STI,IPA_InputReady,81,trigger
-163163750,IPA_InputReady,81,T,TASK_CalcEngineSpeed,81,activate
-163163750,TASK_CalcEngineSpeed,81,SCHED,SCHED_Tasks_C2,-1,processactivate
-163163750,Core_1,0,T,TASK_InputProcessing,81,terminate
-163163750,TASK_InputProcessing,81,SCHED,SCHED_Tasks_C1,-1,processterminate
-163163750,Core_1,0,C,Core_1,0,idle
-163163750,TASK_InputProcessing,81,C,Core_1,0,idle
-163163800,TASK_InputProcessing,81,STI,IR_SCHED_Tasks_C1,551,trigger
-163163800,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-163163800,Core_1,0,T,TASK_20MS,8,start
-163163800,TASK_20MS,8,R,FUNC_EXECTIME_1,293,start
-163163800,Core_1,0,C,Core_1,0,execute
-163163800,TASK_20MS,8,C,Core_1,0,execute
-163163850,TASK_CalcEngineSpeed,81,STI,IR_SCHED_Tasks_C2,526,trigger
-163163850,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-163163850,Core_2,0,T,TASK_CalcEngineSpeed,81,start
-163163850,TASK_CalcEngineSpeed,81,R,FUNC_ENGINESPEED,81,start
-163163850,Core_2,0,C,Core_2,0,execute
-163163850,TASK_CalcEngineSpeed,81,C,Core_2,0,execute
-163250000,SIM,-1,STI,TIMER-1MS,163,trigger
-163250000,TIMER-1MS,163,T,TASK_1MS,163,activate
-163250000,TASK_1MS,163,SCHED,SCHED_Tasks_C1,-1,processactivate
-163250100,TASK_1MS,163,STI,IR_SCHED_Tasks_C1,552,trigger
-163250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-163250100,TASK_20MS,8,R,FUNC_EXECTIME_1,293,suspend
-163250100,Core_1,0,T,TASK_20MS,8,preempt
-163250100,Core_1,0,C,Core_1,0,idle_execution
-163250100,TASK_20MS,8,C,Core_1,0,idle_execution
-163250100,Core_1,0,T,TASK_1MS,163,start
-163250100,TASK_1MS,163,R,FUNC_EXECTIME_1,299,start
-163250100,Core_1,0,C,Core_1,0,execute
-163250100,TASK_1MS,163,C,Core_1,0,execute
-163311025,TASK_CalcEngineSpeed,81,R,FUNC_ENGINESPEED,81,terminate
-163311025,Core_2,0,T,TASK_CalcEngineSpeed,81,terminate
-163311025,TASK_CalcEngineSpeed,81,SCHED,SCHED_Tasks_C2,-1,processterminate
-163311025,Core_2,0,C,Core_2,0,idle
-163311025,TASK_CalcEngineSpeed,81,C,Core_2,0,idle
-163311125,TASK_CalcEngineSpeed,81,STI,IR_SCHED_Tasks_C2,527,trigger
-163311125,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-163674150,TASK_1MS,163,R,FUNC_EXECTIME_1,299,terminate
-163674150,Core_1,0,T,TASK_1MS,163,terminate
-163674150,TASK_1MS,163,SCHED,SCHED_Tasks_C1,-1,processterminate
-163674150,Core_1,0,C,Core_1,0,idle
-163674150,TASK_1MS,163,C,Core_1,0,idle
-163674250,TASK_1MS,163,STI,IR_SCHED_Tasks_C1,553,trigger
-163674250,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-163674250,Core_1,0,C,Core_1,0,execute_idle
-163674250,TASK_20MS,8,C,Core_1,0,execute_idle
-163674250,Core_1,0,T,TASK_20MS,8,resume
-163674250,TASK_20MS,8,R,FUNC_EXECTIME_1,293,resume
-164000000,SIM,-1,STI,TIMER-B_2ms,82,trigger
-164000000,TIMER-B_2ms,82,T,TASK_WritingActuator,82,activate
-164000000,TASK_WritingActuator,82,SCHED,SCHED_Tasks_C2,-1,processactivate
-164000100,TASK_WritingActuator,82,STI,IR_SCHED_Tasks_C2,528,trigger
-164000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-164000100,Core_2,0,T,TASK_WritingActuator,82,start
-164000100,TASK_WritingActuator,82,R,FUNC_SEMLOCK,164,start
-164000100,Core_2,0,C,Core_2,0,execute
-164000100,TASK_WritingActuator,82,C,Core_2,0,execute
-164100000,SIM,-1,STI,TIMER-5MS,82,trigger
-164100000,TIMER-5MS,82,T,TASK_5MS,82,activate
-164100000,TASK_5MS,82,SCHED,SCHED_Tasks_C2,-1,processactivate
-164100100,TASK_5MS,82,STI,IR_SCHED_Tasks_C2,529,trigger
-164100100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-164125100,TASK_WritingActuator,82,SEM,SEM_DataElement1,0,requestsemaphore,0
-164125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-164125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-164125100,Core_2,0,C,Core_2,0,lock
-164125100,TASK_WritingActuator,82,SEM,SEM_DataElement1,0,assigned,1
-164125150,TASK_WritingActuator,82,R,FUNC_SEMLOCK,164,terminate
-164125150,Core_2,0,C,Core_2,0,unlock
-164125150,TASK_WritingActuator,82,R,FUNC_WriteData,82,start
-164150000,SIM,-1,STI,TIMER-A_2ms,82,trigger
-164150000,TIMER-A_2ms,82,T,TASK_InputProcessing,82,activate
-164150000,TASK_InputProcessing,82,SCHED,SCHED_Tasks_C1,-1,processactivate
-164150100,TASK_InputProcessing,82,STI,IR_SCHED_Tasks_C1,554,trigger
-164150100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-164150100,TASK_20MS,8,R,FUNC_EXECTIME_1,293,suspend
-164150100,Core_1,0,T,TASK_20MS,8,preempt
-164150100,Core_1,0,C,Core_1,0,idle_execution
-164150100,TASK_20MS,8,C,Core_1,0,idle_execution
-164150100,Core_1,0,T,TASK_InputProcessing,82,start
-164150100,TASK_InputProcessing,82,R,FUNC_SEMLOCK,165,start
-164150100,Core_1,0,C,Core_1,0,execute
-164150100,TASK_InputProcessing,82,C,Core_1,0,execute
-164151325,TASK_WritingActuator,82,SIG,SIG_Mixture,0,write,0
-164151325,TASK_WritingActuator,82,R,FUNC_WriteData,82,terminate
-164151325,TASK_WritingActuator,82,R,FUNC_SEMUNLOCK,164,start
-164250000,SIM,-1,STI,TIMER-1MS,164,trigger
-164250000,TIMER-1MS,164,T,TASK_1MS,164,activate
-164250000,TASK_1MS,164,SCHED,SCHED_Tasks_C1,-1,processactivate
-164250100,TASK_1MS,164,STI,IR_SCHED_Tasks_C1,555,trigger
-164250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-164250100,TASK_InputProcessing,82,R,FUNC_SEMLOCK,165,suspend
-164250100,Core_1,0,T,TASK_InputProcessing,82,preempt
-164250100,Core_1,0,C,Core_1,0,idle_execution
-164250100,TASK_InputProcessing,82,C,Core_1,0,idle_execution
-164250100,Core_1,0,T,TASK_1MS,164,start
-164250100,TASK_1MS,164,R,FUNC_EXECTIME_1,301,start
-164250100,Core_1,0,C,Core_1,0,execute
-164250100,TASK_1MS,164,C,Core_1,0,execute
-164351325,TASK_WritingActuator,82,SEM,SEM_DataElement1,0,released,1
-164351325,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-164351325,TASK_WritingActuator,82,SCHED,SCHED_Tasks_C2,-1,schedulepoint
-164351325,Core_2,0,C,Core_2,0,lock
-164351375,TASK_WritingActuator,82,R,FUNC_SEMUNLOCK,164,terminate
-164351375,Core_2,0,T,TASK_WritingActuator,82,terminate
-164351375,TASK_WritingActuator,82,SCHED,SCHED_Tasks_C2,-1,processterminate
-164351375,Core_2,0,C,Core_2,0,unlock
-164351375,Core_2,0,C,Core_2,0,idle
-164351375,TASK_WritingActuator,82,C,Core_2,0,idle
-164351425,TASK_WritingActuator,82,STI,IR_SCHED_Tasks_C2,530,trigger
-164351425,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-164351425,Core_2,0,T,TASK_5MS,82,start
-164351425,TASK_5MS,82,R,FUNC_EXECTIME_1,300,start
-164351425,Core_2,0,C,Core_2,0,execute
-164351425,TASK_5MS,82,C,Core_2,0,execute
-164755625,TASK_5MS,82,R,FUNC_EXECTIME_1,300,terminate
-164755625,Core_2,0,T,TASK_5MS,82,terminate
-164755625,TASK_5MS,82,SCHED,SCHED_Tasks_C2,-1,processterminate
-164755625,Core_2,0,C,Core_2,0,idle
-164755625,TASK_5MS,82,C,Core_2,0,idle
-164755725,TASK_5MS,82,STI,IR_SCHED_Tasks_C2,531,trigger
-164755725,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-164853350,TASK_1MS,164,R,FUNC_EXECTIME_1,301,terminate
-164853350,Core_1,0,T,TASK_1MS,164,terminate
-164853350,TASK_1MS,164,SCHED,SCHED_Tasks_C1,-1,processterminate
-164853350,Core_1,0,C,Core_1,0,idle
-164853350,TASK_1MS,164,C,Core_1,0,idle
-164853450,TASK_1MS,164,STI,IR_SCHED_Tasks_C1,556,trigger
-164853450,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-164853450,Core_1,0,C,Core_1,0,execute_idle
-164853450,TASK_InputProcessing,82,C,Core_1,0,execute_idle
-164853450,Core_1,0,T,TASK_InputProcessing,82,resume
-164853450,TASK_InputProcessing,82,R,FUNC_SEMLOCK,165,resume
-164878450,TASK_InputProcessing,82,SEM,SEM_DataElement1,0,requestsemaphore,0
-164878450,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-164878450,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-164878450,Core_1,0,C,Core_1,0,lock
-164878450,TASK_InputProcessing,82,SEM,SEM_DataElement1,0,assigned,1
-164878500,TASK_InputProcessing,82,R,FUNC_SEMLOCK,165,terminate
-164878500,Core_1,0,C,Core_1,0,unlock
-164878500,TASK_InputProcessing,82,R,FUNC_ReadSensorData,82,start
-165000000,SIM,-1,STI,TIMER-10MS,16,trigger
-165000000,TIMER-10MS,16,T,TASK_10MS,16,activate
-165000000,TASK_10MS,16,SCHED,SCHED_Tasks_C2,-1,processactivate
-165000100,TASK_10MS,16,STI,IR_SCHED_Tasks_C2,532,trigger
-165000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-165000100,Core_2,0,T,TASK_10MS,16,start
-165000100,TASK_10MS,16,R,FUNC_EXECTIME_1,302,start
-165000100,Core_2,0,C,Core_2,0,execute
-165000100,TASK_10MS,16,C,Core_2,0,execute
-165040400,TASK_InputProcessing,82,SIG,SIG_RotationSpeed,0,read,0
-165040400,TASK_InputProcessing,82,SIG,SIG_Lambda,0,read,0
-165040400,TASK_InputProcessing,82,SIG,SIG_Temperature,0,read,0
-165040400,TASK_InputProcessing,82,R,FUNC_ReadSensorData,82,terminate
-165040400,TASK_InputProcessing,82,R,FUNC_SEMUNLOCK,165,start
-165240400,TASK_InputProcessing,82,SEM,SEM_DataElement1,0,released,1
-165240400,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-165240400,TASK_InputProcessing,82,SCHED,SCHED_Tasks_C1,-1,schedulepoint
-165240400,Core_1,0,C,Core_1,0,lock
-165240450,TASK_InputProcessing,82,R,FUNC_SEMUNLOCK,165,terminate
-165240450,Core_1,0,C,Core_1,0,unlock
-165240450,TASK_InputProcessing,82,STI,IPA_InputReady,82,trigger
-165240450,IPA_InputReady,82,T,TASK_CalcEngineSpeed,82,activate
-165240450,TASK_CalcEngineSpeed,82,SCHED,SCHED_Tasks_C2,-1,processactivate
-165240450,Core_1,0,T,TASK_InputProcessing,82,terminate
-165240450,TASK_InputProcessing,82,SCHED,SCHED_Tasks_C1,-1,processterminate
-165240450,Core_1,0,C,Core_1,0,idle
-165240450,TASK_InputProcessing,82,C,Core_1,0,idle
-165240500,TASK_InputProcessing,82,STI,IR_SCHED_Tasks_C1,557,trigger
-165240500,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-165240500,Core_1,0,C,Core_1,0,execute_idle
-165240500,TASK_20MS,8,C,Core_1,0,execute_idle
-165240500,Core_1,0,T,TASK_20MS,8,resume
-165240500,TASK_20MS,8,R,FUNC_EXECTIME_1,293,resume
-165240550,TASK_CalcEngineSpeed,82,STI,IR_SCHED_Tasks_C2,533,trigger
-165240550,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-165240550,TASK_10MS,16,R,FUNC_EXECTIME_1,302,suspend
-165240550,Core_2,0,T,TASK_10MS,16,preempt
-165240550,Core_2,0,C,Core_2,0,idle_execution
-165240550,TASK_10MS,16,C,Core_2,0,idle_execution
-165240550,Core_2,0,T,TASK_CalcEngineSpeed,82,start
-165240550,TASK_CalcEngineSpeed,82,R,FUNC_ENGINESPEED,82,start
-165240550,Core_2,0,C,Core_2,0,execute
-165240550,TASK_CalcEngineSpeed,82,C,Core_2,0,execute
-165250000,SIM,-1,STI,TIMER-1MS,165,trigger
-165250000,TIMER-1MS,165,T,TASK_1MS,165,activate
-165250000,TASK_1MS,165,SCHED,SCHED_Tasks_C1,-1,processactivate
-165250100,TASK_1MS,165,STI,IR_SCHED_Tasks_C1,558,trigger
-165250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-165250100,TASK_20MS,8,R,FUNC_EXECTIME_1,293,suspend
-165250100,Core_1,0,T,TASK_20MS,8,preempt
-165250100,Core_1,0,C,Core_1,0,idle_execution
-165250100,TASK_20MS,8,C,Core_1,0,idle_execution
-165250100,Core_1,0,T,TASK_1MS,165,start
-165250100,TASK_1MS,165,R,FUNC_EXECTIME_1,303,start
-165250100,Core_1,0,C,Core_1,0,execute
-165250100,TASK_1MS,165,C,Core_1,0,execute
-165386525,TASK_CalcEngineSpeed,82,R,FUNC_ENGINESPEED,82,terminate
-165386525,Core_2,0,T,TASK_CalcEngineSpeed,82,terminate
-165386525,TASK_CalcEngineSpeed,82,SCHED,SCHED_Tasks_C2,-1,processterminate
-165386525,Core_2,0,C,Core_2,0,idle
-165386525,TASK_CalcEngineSpeed,82,C,Core_2,0,idle
-165386625,TASK_CalcEngineSpeed,82,STI,IR_SCHED_Tasks_C2,534,trigger
-165386625,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-165386625,Core_2,0,C,Core_2,0,execute_idle
-165386625,TASK_10MS,16,C,Core_2,0,execute_idle
-165386625,Core_2,0,T,TASK_10MS,16,resume
-165386625,TASK_10MS,16,R,FUNC_EXECTIME_1,302,resume
-165413750,TASK_10MS,16,R,FUNC_EXECTIME_1,302,terminate
-165413750,Core_2,0,T,TASK_10MS,16,terminate
-165413750,TASK_10MS,16,SCHED,SCHED_Tasks_C2,-1,processterminate
-165413750,Core_2,0,C,Core_2,0,idle
-165413750,TASK_10MS,16,C,Core_2,0,idle
-165413850,TASK_10MS,16,STI,IR_SCHED_Tasks_C2,535,trigger
-165413850,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-165723425,TASK_1MS,165,R,FUNC_EXECTIME_1,303,terminate
-165723425,Core_1,0,T,TASK_1MS,165,terminate
-165723425,TASK_1MS,165,SCHED,SCHED_Tasks_C1,-1,processterminate
-165723425,Core_1,0,C,Core_1,0,idle
-165723425,TASK_1MS,165,C,Core_1,0,idle
-165723525,TASK_1MS,165,STI,IR_SCHED_Tasks_C1,559,trigger
-165723525,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-165723525,Core_1,0,C,Core_1,0,execute_idle
-165723525,TASK_20MS,8,C,Core_1,0,execute_idle
-165723525,Core_1,0,T,TASK_20MS,8,resume
-165723525,TASK_20MS,8,R,FUNC_EXECTIME_1,293,resume
-165777200,TASK_20MS,8,R,FUNC_EXECTIME_1,293,terminate
-165777200,Core_1,0,T,TASK_20MS,8,terminate
-165777200,TASK_20MS,8,SCHED,SCHED_Tasks_C1,-1,processterminate
-165777200,Core_1,0,C,Core_1,0,idle
-165777200,TASK_20MS,8,C,Core_1,0,idle
-165777300,TASK_20MS,8,STI,IR_SCHED_Tasks_C1,560,trigger
-165777300,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-166000000,SIM,-1,STI,TIMER-B_2ms,83,trigger
-166000000,TIMER-B_2ms,83,T,TASK_WritingActuator,83,activate
-166000000,TASK_WritingActuator,83,SCHED,SCHED_Tasks_C2,-1,processactivate
-166000100,TASK_WritingActuator,83,STI,IR_SCHED_Tasks_C2,536,trigger
-166000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-166000100,Core_2,0,T,TASK_WritingActuator,83,start
-166000100,TASK_WritingActuator,83,R,FUNC_SEMLOCK,166,start
-166000100,Core_2,0,C,Core_2,0,execute
-166000100,TASK_WritingActuator,83,C,Core_2,0,execute
-166100000,SIM,-1,STI,TIMER-5MS,83,trigger
-166100000,TIMER-5MS,83,T,TASK_5MS,83,activate
-166100000,TASK_5MS,83,SCHED,SCHED_Tasks_C2,-1,processactivate
-166100100,TASK_5MS,83,STI,IR_SCHED_Tasks_C2,537,trigger
-166100100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-166125100,TASK_WritingActuator,83,SEM,SEM_DataElement1,0,requestsemaphore,0
-166125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-166125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-166125100,Core_2,0,C,Core_2,0,lock
-166125100,TASK_WritingActuator,83,SEM,SEM_DataElement1,0,assigned,1
-166125150,TASK_WritingActuator,83,R,FUNC_SEMLOCK,166,terminate
-166125150,Core_2,0,C,Core_2,0,unlock
-166125150,TASK_WritingActuator,83,R,FUNC_WriteData,83,start
-166150000,SIM,-1,STI,TIMER-A_2ms,83,trigger
-166150000,TIMER-A_2ms,83,T,TASK_InputProcessing,83,activate
-166150000,TASK_InputProcessing,83,SCHED,SCHED_Tasks_C1,-1,processactivate
-166150100,TASK_InputProcessing,83,STI,IR_SCHED_Tasks_C1,561,trigger
-166150100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-166150100,Core_1,0,T,TASK_InputProcessing,83,start
-166150100,TASK_InputProcessing,83,R,FUNC_SEMLOCK,167,start
-166150100,Core_1,0,C,Core_1,0,execute
-166150100,TASK_InputProcessing,83,C,Core_1,0,execute
-166152375,TASK_WritingActuator,83,SIG,SIG_Mixture,0,write,0
-166152375,TASK_WritingActuator,83,R,FUNC_WriteData,83,terminate
-166152375,TASK_WritingActuator,83,R,FUNC_SEMUNLOCK,166,start
-166250000,SIM,-1,STI,TIMER-1MS,166,trigger
-166250000,TIMER-1MS,166,T,TASK_1MS,166,activate
-166250000,TASK_1MS,166,SCHED,SCHED_Tasks_C1,-1,processactivate
-166250100,TASK_1MS,166,STI,IR_SCHED_Tasks_C1,562,trigger
-166250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-166250100,TASK_InputProcessing,83,R,FUNC_SEMLOCK,167,suspend
-166250100,Core_1,0,T,TASK_InputProcessing,83,preempt
-166250100,Core_1,0,C,Core_1,0,idle_execution
-166250100,TASK_InputProcessing,83,C,Core_1,0,idle_execution
-166250100,Core_1,0,T,TASK_1MS,166,start
-166250100,TASK_1MS,166,R,FUNC_EXECTIME_1,305,start
-166250100,Core_1,0,C,Core_1,0,execute
-166250100,TASK_1MS,166,C,Core_1,0,execute
-166352375,TASK_WritingActuator,83,SEM,SEM_DataElement1,0,released,1
-166352375,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-166352375,TASK_WritingActuator,83,SCHED,SCHED_Tasks_C2,-1,schedulepoint
-166352375,Core_2,0,C,Core_2,0,lock
-166352425,TASK_WritingActuator,83,R,FUNC_SEMUNLOCK,166,terminate
-166352425,Core_2,0,T,TASK_WritingActuator,83,terminate
-166352425,TASK_WritingActuator,83,SCHED,SCHED_Tasks_C2,-1,processterminate
-166352425,Core_2,0,C,Core_2,0,unlock
-166352425,Core_2,0,C,Core_2,0,idle
-166352425,TASK_WritingActuator,83,C,Core_2,0,idle
-166352475,TASK_WritingActuator,83,STI,IR_SCHED_Tasks_C2,538,trigger
-166352475,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-166352475,Core_2,0,T,TASK_5MS,83,start
-166352475,TASK_5MS,83,R,FUNC_EXECTIME_1,304,start
-166352475,Core_2,0,C,Core_2,0,execute
-166352475,TASK_5MS,83,C,Core_2,0,execute
-166673575,TASK_5MS,83,R,FUNC_EXECTIME_1,304,terminate
-166673575,Core_2,0,T,TASK_5MS,83,terminate
-166673575,TASK_5MS,83,SCHED,SCHED_Tasks_C2,-1,processterminate
-166673575,Core_2,0,C,Core_2,0,idle
-166673575,TASK_5MS,83,C,Core_2,0,idle
-166673675,TASK_5MS,83,STI,IR_SCHED_Tasks_C2,539,trigger
-166673675,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-166751525,TASK_1MS,166,R,FUNC_EXECTIME_1,305,terminate
-166751525,Core_1,0,T,TASK_1MS,166,terminate
-166751525,TASK_1MS,166,SCHED,SCHED_Tasks_C1,-1,processterminate
-166751525,Core_1,0,C,Core_1,0,idle
-166751525,TASK_1MS,166,C,Core_1,0,idle
-166751625,TASK_1MS,166,STI,IR_SCHED_Tasks_C1,563,trigger
-166751625,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-166751625,Core_1,0,C,Core_1,0,execute_idle
-166751625,TASK_InputProcessing,83,C,Core_1,0,execute_idle
-166751625,Core_1,0,T,TASK_InputProcessing,83,resume
-166751625,TASK_InputProcessing,83,R,FUNC_SEMLOCK,167,resume
-166776625,TASK_InputProcessing,83,SEM,SEM_DataElement1,0,requestsemaphore,0
-166776625,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-166776625,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-166776625,Core_1,0,C,Core_1,0,lock
-166776625,TASK_InputProcessing,83,SEM,SEM_DataElement1,0,assigned,1
-166776675,TASK_InputProcessing,83,R,FUNC_SEMLOCK,167,terminate
-166776675,Core_1,0,C,Core_1,0,unlock
-166776675,TASK_InputProcessing,83,R,FUNC_ReadSensorData,83,start
-166935075,TASK_InputProcessing,83,SIG,SIG_RotationSpeed,0,read,0
-166935075,TASK_InputProcessing,83,SIG,SIG_Lambda,0,read,0
-166935075,TASK_InputProcessing,83,SIG,SIG_Temperature,0,read,0
-166935075,TASK_InputProcessing,83,R,FUNC_ReadSensorData,83,terminate
-166935075,TASK_InputProcessing,83,R,FUNC_SEMUNLOCK,167,start
-167135075,TASK_InputProcessing,83,SEM,SEM_DataElement1,0,released,1
-167135075,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-167135075,TASK_InputProcessing,83,SCHED,SCHED_Tasks_C1,-1,schedulepoint
-167135075,Core_1,0,C,Core_1,0,lock
-167135125,TASK_InputProcessing,83,R,FUNC_SEMUNLOCK,167,terminate
-167135125,Core_1,0,C,Core_1,0,unlock
-167135125,TASK_InputProcessing,83,STI,IPA_InputReady,83,trigger
-167135125,IPA_InputReady,83,T,TASK_CalcEngineSpeed,83,activate
-167135125,TASK_CalcEngineSpeed,83,SCHED,SCHED_Tasks_C2,-1,processactivate
-167135125,Core_1,0,T,TASK_InputProcessing,83,terminate
-167135125,TASK_InputProcessing,83,SCHED,SCHED_Tasks_C1,-1,processterminate
-167135125,Core_1,0,C,Core_1,0,idle
-167135125,TASK_InputProcessing,83,C,Core_1,0,idle
-167135175,TASK_InputProcessing,83,STI,IR_SCHED_Tasks_C1,564,trigger
-167135175,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-167135225,TASK_CalcEngineSpeed,83,STI,IR_SCHED_Tasks_C2,540,trigger
-167135225,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-167135225,Core_2,0,T,TASK_CalcEngineSpeed,83,start
-167135225,TASK_CalcEngineSpeed,83,R,FUNC_ENGINESPEED,83,start
-167135225,Core_2,0,C,Core_2,0,execute
-167135225,TASK_CalcEngineSpeed,83,C,Core_2,0,execute
-167250000,SIM,-1,STI,TIMER-1MS,167,trigger
-167250000,TIMER-1MS,167,T,TASK_1MS,167,activate
-167250000,TASK_1MS,167,SCHED,SCHED_Tasks_C1,-1,processactivate
-167250100,TASK_1MS,167,STI,IR_SCHED_Tasks_C1,565,trigger
-167250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-167250100,Core_1,0,T,TASK_1MS,167,start
-167250100,TASK_1MS,167,R,FUNC_EXECTIME_1,306,start
-167250100,Core_1,0,C,Core_1,0,execute
-167250100,TASK_1MS,167,C,Core_1,0,execute
-167269250,TASK_CalcEngineSpeed,83,R,FUNC_ENGINESPEED,83,terminate
-167269250,Core_2,0,T,TASK_CalcEngineSpeed,83,terminate
-167269250,TASK_CalcEngineSpeed,83,SCHED,SCHED_Tasks_C2,-1,processterminate
-167269250,Core_2,0,C,Core_2,0,idle
-167269250,TASK_CalcEngineSpeed,83,C,Core_2,0,idle
-167269350,TASK_CalcEngineSpeed,83,STI,IR_SCHED_Tasks_C2,541,trigger
-167269350,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-167727725,TASK_1MS,167,R,FUNC_EXECTIME_1,306,terminate
-167727725,Core_1,0,T,TASK_1MS,167,terminate
-167727725,TASK_1MS,167,SCHED,SCHED_Tasks_C1,-1,processterminate
-167727725,Core_1,0,C,Core_1,0,idle
-167727725,TASK_1MS,167,C,Core_1,0,idle
-167727825,TASK_1MS,167,STI,IR_SCHED_Tasks_C1,566,trigger
-167727825,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-168000000,SIM,-1,STI,TIMER-B_2ms,84,trigger
-168000000,TIMER-B_2ms,84,T,TASK_WritingActuator,84,activate
-168000000,TASK_WritingActuator,84,SCHED,SCHED_Tasks_C2,-1,processactivate
-168000100,TASK_WritingActuator,84,STI,IR_SCHED_Tasks_C2,542,trigger
-168000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-168000100,Core_2,0,T,TASK_WritingActuator,84,start
-168000100,TASK_WritingActuator,84,R,FUNC_SEMLOCK,168,start
-168000100,Core_2,0,C,Core_2,0,execute
-168000100,TASK_WritingActuator,84,C,Core_2,0,execute
-168100000,SIM,-1,STI,TIMER-5MS,84,trigger
-168100000,TIMER-5MS,84,T,TASK_5MS,84,activate
-168100000,TASK_5MS,84,SCHED,SCHED_Tasks_C2,-1,processactivate
-168100100,TASK_5MS,84,STI,IR_SCHED_Tasks_C2,543,trigger
-168100100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-168125100,TASK_WritingActuator,84,SEM,SEM_DataElement1,0,requestsemaphore,0
-168125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-168125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-168125100,Core_2,0,C,Core_2,0,lock
-168125100,TASK_WritingActuator,84,SEM,SEM_DataElement1,0,assigned,1
-168125150,TASK_WritingActuator,84,R,FUNC_SEMLOCK,168,terminate
-168125150,Core_2,0,C,Core_2,0,unlock
-168125150,TASK_WritingActuator,84,R,FUNC_WriteData,84,start
-168150000,SIM,-1,STI,TIMER-A_2ms,84,trigger
-168150000,TIMER-A_2ms,84,T,TASK_InputProcessing,84,activate
-168150000,TASK_InputProcessing,84,SCHED,SCHED_Tasks_C1,-1,processactivate
-168150100,TASK_InputProcessing,84,STI,IR_SCHED_Tasks_C1,567,trigger
-168150100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-168150100,Core_1,0,T,TASK_InputProcessing,84,start
-168150100,TASK_InputProcessing,84,R,FUNC_SEMLOCK,169,start
-168150100,Core_1,0,C,Core_1,0,execute
-168150100,TASK_InputProcessing,84,C,Core_1,0,execute
-168151825,TASK_WritingActuator,84,SIG,SIG_Mixture,0,write,0
-168151825,TASK_WritingActuator,84,R,FUNC_WriteData,84,terminate
-168151825,TASK_WritingActuator,84,R,FUNC_SEMUNLOCK,168,start
-168250000,SIM,-1,STI,TIMER-1MS,168,trigger
-168250000,TIMER-1MS,168,T,TASK_1MS,168,activate
-168250000,TASK_1MS,168,SCHED,SCHED_Tasks_C1,-1,processactivate
-168250100,TASK_1MS,168,STI,IR_SCHED_Tasks_C1,568,trigger
-168250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-168250100,TASK_InputProcessing,84,R,FUNC_SEMLOCK,169,suspend
-168250100,Core_1,0,T,TASK_InputProcessing,84,preempt
-168250100,Core_1,0,C,Core_1,0,idle_execution
-168250100,TASK_InputProcessing,84,C,Core_1,0,idle_execution
-168250100,Core_1,0,T,TASK_1MS,168,start
-168250100,TASK_1MS,168,R,FUNC_EXECTIME_1,308,start
-168250100,Core_1,0,C,Core_1,0,execute
-168250100,TASK_1MS,168,C,Core_1,0,execute
-168351825,TASK_WritingActuator,84,SEM,SEM_DataElement1,0,released,1
-168351825,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-168351825,TASK_WritingActuator,84,SCHED,SCHED_Tasks_C2,-1,schedulepoint
-168351825,Core_2,0,C,Core_2,0,lock
-168351875,TASK_WritingActuator,84,R,FUNC_SEMUNLOCK,168,terminate
-168351875,Core_2,0,T,TASK_WritingActuator,84,terminate
-168351875,TASK_WritingActuator,84,SCHED,SCHED_Tasks_C2,-1,processterminate
-168351875,Core_2,0,C,Core_2,0,unlock
-168351875,Core_2,0,C,Core_2,0,idle
-168351875,TASK_WritingActuator,84,C,Core_2,0,idle
-168351925,TASK_WritingActuator,84,STI,IR_SCHED_Tasks_C2,544,trigger
-168351925,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-168351925,Core_2,0,T,TASK_5MS,84,start
-168351925,TASK_5MS,84,R,FUNC_EXECTIME_1,307,start
-168351925,Core_2,0,C,Core_2,0,execute
-168351925,TASK_5MS,84,C,Core_2,0,execute
-169086900,TASK_5MS,84,R,FUNC_EXECTIME_1,307,terminate
-169086900,Core_2,0,T,TASK_5MS,84,terminate
-169086900,TASK_5MS,84,SCHED,SCHED_Tasks_C2,-1,processterminate
-169086900,Core_2,0,C,Core_2,0,idle
-169086900,TASK_5MS,84,C,Core_2,0,idle
-169087000,TASK_5MS,84,STI,IR_SCHED_Tasks_C2,545,trigger
-169087000,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-169139375,TASK_1MS,168,R,FUNC_EXECTIME_1,308,terminate
-169139375,Core_1,0,T,TASK_1MS,168,terminate
-169139375,TASK_1MS,168,SCHED,SCHED_Tasks_C1,-1,processterminate
-169139375,Core_1,0,C,Core_1,0,idle
-169139375,TASK_1MS,168,C,Core_1,0,idle
-169139475,TASK_1MS,168,STI,IR_SCHED_Tasks_C1,569,trigger
-169139475,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-169139475,Core_1,0,C,Core_1,0,execute_idle
-169139475,TASK_InputProcessing,84,C,Core_1,0,execute_idle
-169139475,Core_1,0,T,TASK_InputProcessing,84,resume
-169139475,TASK_InputProcessing,84,R,FUNC_SEMLOCK,169,resume
-169164475,TASK_InputProcessing,84,SEM,SEM_DataElement1,0,requestsemaphore,0
-169164475,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-169164475,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-169164475,Core_1,0,C,Core_1,0,lock
-169164475,TASK_InputProcessing,84,SEM,SEM_DataElement1,0,assigned,1
-169164525,TASK_InputProcessing,84,R,FUNC_SEMLOCK,169,terminate
-169164525,Core_1,0,C,Core_1,0,unlock
-169164525,TASK_InputProcessing,84,R,FUNC_ReadSensorData,84,start
-169250000,SIM,-1,STI,TIMER-1MS,169,trigger
-169250000,TIMER-1MS,169,T,TASK_1MS,169,activate
-169250000,TASK_1MS,169,SCHED,SCHED_Tasks_C1,-1,processactivate
-169250100,TASK_1MS,169,STI,IR_SCHED_Tasks_C1,570,trigger
-169250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-169326175,TASK_InputProcessing,84,SIG,SIG_RotationSpeed,0,read,0
-169326175,TASK_InputProcessing,84,SIG,SIG_Lambda,0,read,0
-169326175,TASK_InputProcessing,84,SIG,SIG_Temperature,0,read,0
-169326175,TASK_InputProcessing,84,R,FUNC_ReadSensorData,84,terminate
-169326175,TASK_InputProcessing,84,R,FUNC_SEMUNLOCK,169,start
-169526175,TASK_InputProcessing,84,SEM,SEM_DataElement1,0,released,1
-169526175,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-169526175,TASK_InputProcessing,84,SCHED,SCHED_Tasks_C1,-1,schedulepoint
-169526175,Core_1,0,C,Core_1,0,lock
-169526225,TASK_InputProcessing,84,R,FUNC_SEMUNLOCK,169,terminate
-169526225,Core_1,0,C,Core_1,0,unlock
-169526225,TASK_InputProcessing,84,STI,IPA_InputReady,84,trigger
-169526225,IPA_InputReady,84,T,TASK_CalcEngineSpeed,84,activate
-169526225,TASK_CalcEngineSpeed,84,SCHED,SCHED_Tasks_C2,-1,processactivate
-169526225,Core_1,0,T,TASK_InputProcessing,84,terminate
-169526225,TASK_InputProcessing,84,SCHED,SCHED_Tasks_C1,-1,processterminate
-169526225,Core_1,0,C,Core_1,0,idle
-169526225,TASK_InputProcessing,84,C,Core_1,0,idle
-169526275,TASK_InputProcessing,84,STI,IR_SCHED_Tasks_C1,571,trigger
-169526275,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-169526275,Core_1,0,T,TASK_1MS,169,start
-169526275,TASK_1MS,169,R,FUNC_EXECTIME_1,309,start
-169526275,Core_1,0,C,Core_1,0,execute
-169526275,TASK_1MS,169,C,Core_1,0,execute
-169526325,TASK_CalcEngineSpeed,84,STI,IR_SCHED_Tasks_C2,546,trigger
-169526325,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-169526325,Core_2,0,T,TASK_CalcEngineSpeed,84,start
-169526325,TASK_CalcEngineSpeed,84,R,FUNC_ENGINESPEED,84,start
-169526325,Core_2,0,C,Core_2,0,execute
-169526325,TASK_CalcEngineSpeed,84,C,Core_2,0,execute
-169706000,TASK_CalcEngineSpeed,84,R,FUNC_ENGINESPEED,84,terminate
-169706000,Core_2,0,T,TASK_CalcEngineSpeed,84,terminate
-169706000,TASK_CalcEngineSpeed,84,SCHED,SCHED_Tasks_C2,-1,processterminate
-169706000,Core_2,0,C,Core_2,0,idle
-169706000,TASK_CalcEngineSpeed,84,C,Core_2,0,idle
-169706100,TASK_CalcEngineSpeed,84,STI,IR_SCHED_Tasks_C2,547,trigger
-169706100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-170000000,SIM,-1,STI,TIMER-B_2ms,85,trigger
-170000000,TIMER-B_2ms,85,T,TASK_WritingActuator,85,activate
-170000000,TASK_WritingActuator,85,SCHED,SCHED_Tasks_C2,-1,processactivate
-170000000,SIM,-1,STI,TIMER-10MS_2,17,trigger
-170000000,TIMER-10MS_2,17,T,TASK_10MS_DL2,17,activate
-170000000,TASK_10MS_DL2,17,SCHED,SCHED_Tasks_C1,-1,processactivate
-170000100,TASK_WritingActuator,85,STI,IR_SCHED_Tasks_C2,548,trigger
-170000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-170000100,Core_2,0,T,TASK_WritingActuator,85,start
-170000100,TASK_WritingActuator,85,R,FUNC_SEMLOCK,170,start
-170000100,Core_2,0,C,Core_2,0,execute
-170000100,TASK_WritingActuator,85,C,Core_2,0,execute
-170000100,TASK_10MS_DL2,17,STI,IR_SCHED_Tasks_C1,572,trigger
-170000100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-170073750,TASK_1MS,169,R,FUNC_EXECTIME_1,309,terminate
-170073750,Core_1,0,T,TASK_1MS,169,terminate
-170073750,TASK_1MS,169,SCHED,SCHED_Tasks_C1,-1,processterminate
-170073750,Core_1,0,C,Core_1,0,idle
-170073750,TASK_1MS,169,C,Core_1,0,idle
-170073850,TASK_1MS,169,STI,IR_SCHED_Tasks_C1,573,trigger
-170073850,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-170073850,Core_1,0,T,TASK_10MS_DL2,17,start
-170073850,TASK_10MS_DL2,17,R,FUNC_EXECTIME_1,310,start
-170073850,Core_1,0,C,Core_1,0,execute
-170073850,TASK_10MS_DL2,17,C,Core_1,0,execute
-170100000,SIM,-1,STI,TIMER-5MS,85,trigger
-170100000,TIMER-5MS,85,T,TASK_5MS,85,activate
-170100000,TASK_5MS,85,SCHED,SCHED_Tasks_C2,-1,processactivate
-170100100,TASK_5MS,85,STI,IR_SCHED_Tasks_C2,549,trigger
-170100100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-170125100,TASK_WritingActuator,85,SEM,SEM_DataElement1,0,requestsemaphore,0
-170125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-170125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-170125100,Core_2,0,C,Core_2,0,lock
-170125100,TASK_WritingActuator,85,SEM,SEM_DataElement1,0,assigned,1
-170125150,TASK_WritingActuator,85,R,FUNC_SEMLOCK,170,terminate
-170125150,Core_2,0,C,Core_2,0,unlock
-170125150,TASK_WritingActuator,85,R,FUNC_WriteData,85,start
-170150000,SIM,-1,STI,TIMER-A_2ms,85,trigger
-170150000,TIMER-A_2ms,85,T,TASK_InputProcessing,85,activate
-170150000,TASK_InputProcessing,85,SCHED,SCHED_Tasks_C1,-1,processactivate
-170150100,TASK_InputProcessing,85,STI,IR_SCHED_Tasks_C1,574,trigger
-170150100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-170152175,TASK_WritingActuator,85,SIG,SIG_Mixture,0,write,0
-170152175,TASK_WritingActuator,85,R,FUNC_WriteData,85,terminate
-170152175,TASK_WritingActuator,85,R,FUNC_SEMUNLOCK,170,start
-170250000,SIM,-1,STI,TIMER-1MS,170,trigger
-170250000,TIMER-1MS,170,T,TASK_1MS,170,activate
-170250000,TASK_1MS,170,SCHED,SCHED_Tasks_C1,-1,processactivate
-170250100,TASK_1MS,170,STI,IR_SCHED_Tasks_C1,575,trigger
-170250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-170250100,TASK_10MS_DL2,17,R,FUNC_EXECTIME_1,310,suspend
-170250100,Core_1,0,T,TASK_10MS_DL2,17,preempt
-170250100,Core_1,0,C,Core_1,0,idle_execution
-170250100,TASK_10MS_DL2,17,C,Core_1,0,idle_execution
-170250100,Core_1,0,T,TASK_1MS,170,start
-170250100,TASK_1MS,170,R,FUNC_EXECTIME_1,312,start
-170250100,Core_1,0,C,Core_1,0,execute
-170250100,TASK_1MS,170,C,Core_1,0,execute
-170352175,TASK_WritingActuator,85,SEM,SEM_DataElement1,0,released,1
-170352175,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-170352175,TASK_WritingActuator,85,SCHED,SCHED_Tasks_C2,-1,schedulepoint
-170352175,Core_2,0,C,Core_2,0,lock
-170352225,TASK_WritingActuator,85,R,FUNC_SEMUNLOCK,170,terminate
-170352225,Core_2,0,T,TASK_WritingActuator,85,terminate
-170352225,TASK_WritingActuator,85,SCHED,SCHED_Tasks_C2,-1,processterminate
-170352225,Core_2,0,C,Core_2,0,unlock
-170352225,Core_2,0,C,Core_2,0,idle
-170352225,TASK_WritingActuator,85,C,Core_2,0,idle
-170352275,TASK_WritingActuator,85,STI,IR_SCHED_Tasks_C2,550,trigger
-170352275,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-170352275,Core_2,0,T,TASK_5MS,85,start
-170352275,TASK_5MS,85,R,FUNC_EXECTIME_1,311,start
-170352275,Core_2,0,C,Core_2,0,execute
-170352275,TASK_5MS,85,C,Core_2,0,execute
-170765525,TASK_1MS,170,R,FUNC_EXECTIME_1,312,terminate
-170765525,Core_1,0,T,TASK_1MS,170,terminate
-170765525,TASK_1MS,170,SCHED,SCHED_Tasks_C1,-1,processterminate
-170765525,Core_1,0,C,Core_1,0,idle
-170765525,TASK_1MS,170,C,Core_1,0,idle
-170765625,TASK_1MS,170,STI,IR_SCHED_Tasks_C1,576,trigger
-170765625,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-170765625,Core_1,0,C,Core_1,0,execute_idle
-170765625,TASK_10MS_DL2,17,C,Core_1,0,execute_idle
-170765625,Core_1,0,T,TASK_10MS_DL2,17,resume
-170765625,TASK_10MS_DL2,17,R,FUNC_EXECTIME_1,310,resume
-170841750,TASK_5MS,85,R,FUNC_EXECTIME_1,311,terminate
-170841750,Core_2,0,T,TASK_5MS,85,terminate
-170841750,TASK_5MS,85,SCHED,SCHED_Tasks_C2,-1,processterminate
-170841750,Core_2,0,C,Core_2,0,idle
-170841750,TASK_5MS,85,C,Core_2,0,idle
-170841850,TASK_5MS,85,STI,IR_SCHED_Tasks_C2,551,trigger
-170841850,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-170916675,TASK_10MS_DL2,17,R,FUNC_EXECTIME_1,310,terminate
-170916675,Core_1,0,T,TASK_10MS_DL2,17,terminate
-170916675,TASK_10MS_DL2,17,SCHED,SCHED_Tasks_C1,-1,processterminate
-170916675,Core_1,0,C,Core_1,0,idle
-170916675,TASK_10MS_DL2,17,C,Core_1,0,idle
-170916775,TASK_10MS_DL2,17,STI,IR_SCHED_Tasks_C1,577,trigger
-170916775,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-170916775,Core_1,0,T,TASK_InputProcessing,85,start
-170916775,TASK_InputProcessing,85,R,FUNC_SEMLOCK,171,start
-170916775,Core_1,0,C,Core_1,0,execute
-170916775,TASK_InputProcessing,85,C,Core_1,0,execute
-171041775,TASK_InputProcessing,85,SEM,SEM_DataElement1,0,requestsemaphore,0
-171041775,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-171041775,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-171041775,Core_1,0,C,Core_1,0,lock
-171041775,TASK_InputProcessing,85,SEM,SEM_DataElement1,0,assigned,1
-171041825,TASK_InputProcessing,85,R,FUNC_SEMLOCK,171,terminate
-171041825,Core_1,0,C,Core_1,0,unlock
-171041825,TASK_InputProcessing,85,R,FUNC_ReadSensorData,85,start
-171204075,TASK_InputProcessing,85,SIG,SIG_RotationSpeed,0,read,0
-171204075,TASK_InputProcessing,85,SIG,SIG_Lambda,0,read,0
-171204075,TASK_InputProcessing,85,SIG,SIG_Temperature,0,read,0
-171204075,TASK_InputProcessing,85,R,FUNC_ReadSensorData,85,terminate
-171204075,TASK_InputProcessing,85,R,FUNC_SEMUNLOCK,171,start
-171250000,SIM,-1,STI,TIMER-1MS,171,trigger
-171250000,TIMER-1MS,171,T,TASK_1MS,171,activate
-171250000,TASK_1MS,171,SCHED,SCHED_Tasks_C1,-1,processactivate
-171250100,TASK_1MS,171,STI,IR_SCHED_Tasks_C1,578,trigger
-171250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-171404075,TASK_InputProcessing,85,SEM,SEM_DataElement1,0,released,1
-171404075,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-171404075,TASK_InputProcessing,85,SCHED,SCHED_Tasks_C1,-1,schedulepoint
-171404075,Core_1,0,C,Core_1,0,lock
-171404125,TASK_InputProcessing,85,R,FUNC_SEMUNLOCK,171,terminate
-171404125,Core_1,0,C,Core_1,0,unlock
-171404125,TASK_InputProcessing,85,STI,IPA_InputReady,85,trigger
-171404125,IPA_InputReady,85,T,TASK_CalcEngineSpeed,85,activate
-171404125,TASK_CalcEngineSpeed,85,SCHED,SCHED_Tasks_C2,-1,processactivate
-171404125,Core_1,0,T,TASK_InputProcessing,85,terminate
-171404125,TASK_InputProcessing,85,SCHED,SCHED_Tasks_C1,-1,processterminate
-171404125,Core_1,0,C,Core_1,0,idle
-171404125,TASK_InputProcessing,85,C,Core_1,0,idle
-171404175,TASK_InputProcessing,85,STI,IR_SCHED_Tasks_C1,579,trigger
-171404175,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-171404175,Core_1,0,T,TASK_1MS,171,start
-171404175,TASK_1MS,171,R,FUNC_EXECTIME_1,313,start
-171404175,Core_1,0,C,Core_1,0,execute
-171404175,TASK_1MS,171,C,Core_1,0,execute
-171404225,TASK_CalcEngineSpeed,85,STI,IR_SCHED_Tasks_C2,552,trigger
-171404225,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-171404225,Core_2,0,T,TASK_CalcEngineSpeed,85,start
-171404225,TASK_CalcEngineSpeed,85,R,FUNC_ENGINESPEED,85,start
-171404225,Core_2,0,C,Core_2,0,execute
-171404225,TASK_CalcEngineSpeed,85,C,Core_2,0,execute
-171614625,TASK_CalcEngineSpeed,85,R,FUNC_ENGINESPEED,85,terminate
-171614625,Core_2,0,T,TASK_CalcEngineSpeed,85,terminate
-171614625,TASK_CalcEngineSpeed,85,SCHED,SCHED_Tasks_C2,-1,processterminate
-171614625,Core_2,0,C,Core_2,0,idle
-171614625,TASK_CalcEngineSpeed,85,C,Core_2,0,idle
-171614725,TASK_CalcEngineSpeed,85,STI,IR_SCHED_Tasks_C2,553,trigger
-171614725,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-171727775,TASK_1MS,171,R,FUNC_EXECTIME_1,313,terminate
-171727775,Core_1,0,T,TASK_1MS,171,terminate
-171727775,TASK_1MS,171,SCHED,SCHED_Tasks_C1,-1,processterminate
-171727775,Core_1,0,C,Core_1,0,idle
-171727775,TASK_1MS,171,C,Core_1,0,idle
-171727875,TASK_1MS,171,STI,IR_SCHED_Tasks_C1,580,trigger
-171727875,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-172000000,SIM,-1,STI,TIMER-B_2ms,86,trigger
-172000000,TIMER-B_2ms,86,T,TASK_WritingActuator,86,activate
-172000000,TASK_WritingActuator,86,SCHED,SCHED_Tasks_C2,-1,processactivate
-172000100,TASK_WritingActuator,86,STI,IR_SCHED_Tasks_C2,554,trigger
-172000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-172000100,Core_2,0,T,TASK_WritingActuator,86,start
-172000100,TASK_WritingActuator,86,R,FUNC_SEMLOCK,172,start
-172000100,Core_2,0,C,Core_2,0,execute
-172000100,TASK_WritingActuator,86,C,Core_2,0,execute
-172100000,SIM,-1,STI,TIMER-5MS,86,trigger
-172100000,TIMER-5MS,86,T,TASK_5MS,86,activate
-172100000,TASK_5MS,86,SCHED,SCHED_Tasks_C2,-1,processactivate
-172100100,TASK_5MS,86,STI,IR_SCHED_Tasks_C2,555,trigger
-172100100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-172125100,TASK_WritingActuator,86,SEM,SEM_DataElement1,0,requestsemaphore,0
-172125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-172125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-172125100,Core_2,0,C,Core_2,0,lock
-172125100,TASK_WritingActuator,86,SEM,SEM_DataElement1,0,assigned,1
-172125150,TASK_WritingActuator,86,R,FUNC_SEMLOCK,172,terminate
-172125150,Core_2,0,C,Core_2,0,unlock
-172125150,TASK_WritingActuator,86,R,FUNC_WriteData,86,start
-172150000,SIM,-1,STI,TIMER-A_2ms,86,trigger
-172150000,TIMER-A_2ms,86,T,TASK_InputProcessing,86,activate
-172150000,TASK_InputProcessing,86,SCHED,SCHED_Tasks_C1,-1,processactivate
-172150100,TASK_InputProcessing,86,STI,IR_SCHED_Tasks_C1,581,trigger
-172150100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-172150100,Core_1,0,T,TASK_InputProcessing,86,start
-172150100,TASK_InputProcessing,86,R,FUNC_SEMLOCK,173,start
-172150100,Core_1,0,C,Core_1,0,execute
-172150100,TASK_InputProcessing,86,C,Core_1,0,execute
-172151725,TASK_WritingActuator,86,SIG,SIG_Mixture,0,write,0
-172151725,TASK_WritingActuator,86,R,FUNC_WriteData,86,terminate
-172151725,TASK_WritingActuator,86,R,FUNC_SEMUNLOCK,172,start
-172250000,SIM,-1,STI,TIMER-1MS,172,trigger
-172250000,TIMER-1MS,172,T,TASK_1MS,172,activate
-172250000,TASK_1MS,172,SCHED,SCHED_Tasks_C1,-1,processactivate
-172250100,TASK_1MS,172,STI,IR_SCHED_Tasks_C1,582,trigger
-172250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-172250100,TASK_InputProcessing,86,R,FUNC_SEMLOCK,173,suspend
-172250100,Core_1,0,T,TASK_InputProcessing,86,preempt
-172250100,Core_1,0,C,Core_1,0,idle_execution
-172250100,TASK_InputProcessing,86,C,Core_1,0,idle_execution
-172250100,Core_1,0,T,TASK_1MS,172,start
-172250100,TASK_1MS,172,R,FUNC_EXECTIME_1,315,start
-172250100,Core_1,0,C,Core_1,0,execute
-172250100,TASK_1MS,172,C,Core_1,0,execute
-172351725,TASK_WritingActuator,86,SEM,SEM_DataElement1,0,released,1
-172351725,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-172351725,TASK_WritingActuator,86,SCHED,SCHED_Tasks_C2,-1,schedulepoint
-172351725,Core_2,0,C,Core_2,0,lock
-172351775,TASK_WritingActuator,86,R,FUNC_SEMUNLOCK,172,terminate
-172351775,Core_2,0,T,TASK_WritingActuator,86,terminate
-172351775,TASK_WritingActuator,86,SCHED,SCHED_Tasks_C2,-1,processterminate
-172351775,Core_2,0,C,Core_2,0,unlock
-172351775,Core_2,0,C,Core_2,0,idle
-172351775,TASK_WritingActuator,86,C,Core_2,0,idle
-172351825,TASK_WritingActuator,86,STI,IR_SCHED_Tasks_C2,556,trigger
-172351825,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-172351825,Core_2,0,T,TASK_5MS,86,start
-172351825,TASK_5MS,86,R,FUNC_EXECTIME_1,314,start
-172351825,Core_2,0,C,Core_2,0,execute
-172351825,TASK_5MS,86,C,Core_2,0,execute
-172598250,TASK_1MS,172,R,FUNC_EXECTIME_1,315,terminate
-172598250,Core_1,0,T,TASK_1MS,172,terminate
-172598250,TASK_1MS,172,SCHED,SCHED_Tasks_C1,-1,processterminate
-172598250,Core_1,0,C,Core_1,0,idle
-172598250,TASK_1MS,172,C,Core_1,0,idle
-172598350,TASK_1MS,172,STI,IR_SCHED_Tasks_C1,583,trigger
-172598350,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-172598350,Core_1,0,C,Core_1,0,execute_idle
-172598350,TASK_InputProcessing,86,C,Core_1,0,execute_idle
-172598350,Core_1,0,T,TASK_InputProcessing,86,resume
-172598350,TASK_InputProcessing,86,R,FUNC_SEMLOCK,173,resume
-172623350,TASK_InputProcessing,86,SEM,SEM_DataElement1,0,requestsemaphore,0
-172623350,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-172623350,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-172623350,Core_1,0,C,Core_1,0,lock
-172623350,TASK_InputProcessing,86,SEM,SEM_DataElement1,0,assigned,1
-172623400,TASK_InputProcessing,86,R,FUNC_SEMLOCK,173,terminate
-172623400,Core_1,0,C,Core_1,0,unlock
-172623400,TASK_InputProcessing,86,R,FUNC_ReadSensorData,86,start
-172787600,TASK_InputProcessing,86,SIG,SIG_RotationSpeed,0,read,0
-172787600,TASK_InputProcessing,86,SIG,SIG_Lambda,0,read,0
-172787600,TASK_InputProcessing,86,SIG,SIG_Temperature,0,read,0
-172787600,TASK_InputProcessing,86,R,FUNC_ReadSensorData,86,terminate
-172787600,TASK_InputProcessing,86,R,FUNC_SEMUNLOCK,173,start
-172866450,TASK_5MS,86,R,FUNC_EXECTIME_1,314,terminate
-172866450,Core_2,0,T,TASK_5MS,86,terminate
-172866450,TASK_5MS,86,SCHED,SCHED_Tasks_C2,-1,processterminate
-172866450,Core_2,0,C,Core_2,0,idle
-172866450,TASK_5MS,86,C,Core_2,0,idle
-172866550,TASK_5MS,86,STI,IR_SCHED_Tasks_C2,557,trigger
-172866550,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-172987600,TASK_InputProcessing,86,SEM,SEM_DataElement1,0,released,1
-172987600,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-172987600,TASK_InputProcessing,86,SCHED,SCHED_Tasks_C1,-1,schedulepoint
-172987600,Core_1,0,C,Core_1,0,lock
-172987650,TASK_InputProcessing,86,R,FUNC_SEMUNLOCK,173,terminate
-172987650,Core_1,0,C,Core_1,0,unlock
-172987650,TASK_InputProcessing,86,STI,IPA_InputReady,86,trigger
-172987650,IPA_InputReady,86,T,TASK_CalcEngineSpeed,86,activate
-172987650,TASK_CalcEngineSpeed,86,SCHED,SCHED_Tasks_C2,-1,processactivate
-172987650,Core_1,0,T,TASK_InputProcessing,86,terminate
-172987650,TASK_InputProcessing,86,SCHED,SCHED_Tasks_C1,-1,processterminate
-172987650,Core_1,0,C,Core_1,0,idle
-172987650,TASK_InputProcessing,86,C,Core_1,0,idle
-172987700,TASK_InputProcessing,86,STI,IR_SCHED_Tasks_C1,584,trigger
-172987700,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-172987750,TASK_CalcEngineSpeed,86,STI,IR_SCHED_Tasks_C2,558,trigger
-172987750,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-172987750,Core_2,0,T,TASK_CalcEngineSpeed,86,start
-172987750,TASK_CalcEngineSpeed,86,R,FUNC_ENGINESPEED,86,start
-172987750,Core_2,0,C,Core_2,0,execute
-172987750,TASK_CalcEngineSpeed,86,C,Core_2,0,execute
-173228225,TASK_CalcEngineSpeed,86,R,FUNC_ENGINESPEED,86,terminate
-173228225,Core_2,0,T,TASK_CalcEngineSpeed,86,terminate
-173228225,TASK_CalcEngineSpeed,86,SCHED,SCHED_Tasks_C2,-1,processterminate
-173228225,Core_2,0,C,Core_2,0,idle
-173228225,TASK_CalcEngineSpeed,86,C,Core_2,0,idle
-173228325,TASK_CalcEngineSpeed,86,STI,IR_SCHED_Tasks_C2,559,trigger
-173228325,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-173250000,SIM,-1,STI,TIMER-1MS,173,trigger
-173250000,TIMER-1MS,173,T,TASK_1MS,173,activate
-173250000,TASK_1MS,173,SCHED,SCHED_Tasks_C1,-1,processactivate
-173250100,TASK_1MS,173,STI,IR_SCHED_Tasks_C1,585,trigger
-173250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-173250100,Core_1,0,T,TASK_1MS,173,start
-173250100,TASK_1MS,173,R,FUNC_EXECTIME_1,316,start
-173250100,Core_1,0,C,Core_1,0,execute
-173250100,TASK_1MS,173,C,Core_1,0,execute
-173845150,TASK_1MS,173,R,FUNC_EXECTIME_1,316,terminate
-173845150,Core_1,0,T,TASK_1MS,173,terminate
-173845150,TASK_1MS,173,SCHED,SCHED_Tasks_C1,-1,processterminate
-173845150,Core_1,0,C,Core_1,0,idle
-173845150,TASK_1MS,173,C,Core_1,0,idle
-173845250,TASK_1MS,173,STI,IR_SCHED_Tasks_C1,586,trigger
-173845250,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-174000000,SIM,-1,STI,TIMER-B_2ms,87,trigger
-174000000,TIMER-B_2ms,87,T,TASK_WritingActuator,87,activate
-174000000,TASK_WritingActuator,87,SCHED,SCHED_Tasks_C2,-1,processactivate
-174000100,TASK_WritingActuator,87,STI,IR_SCHED_Tasks_C2,560,trigger
-174000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-174000100,Core_2,0,T,TASK_WritingActuator,87,start
-174000100,TASK_WritingActuator,87,R,FUNC_SEMLOCK,174,start
-174000100,Core_2,0,C,Core_2,0,execute
-174000100,TASK_WritingActuator,87,C,Core_2,0,execute
-174100000,SIM,-1,STI,TIMER-5MS,87,trigger
-174100000,TIMER-5MS,87,T,TASK_5MS,87,activate
-174100000,TASK_5MS,87,SCHED,SCHED_Tasks_C2,-1,processactivate
-174100100,TASK_5MS,87,STI,IR_SCHED_Tasks_C2,561,trigger
-174100100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-174125100,TASK_WritingActuator,87,SEM,SEM_DataElement1,0,requestsemaphore,0
-174125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-174125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-174125100,Core_2,0,C,Core_2,0,lock
-174125100,TASK_WritingActuator,87,SEM,SEM_DataElement1,0,assigned,1
-174125150,TASK_WritingActuator,87,R,FUNC_SEMLOCK,174,terminate
-174125150,Core_2,0,C,Core_2,0,unlock
-174125150,TASK_WritingActuator,87,R,FUNC_WriteData,87,start
-174150000,SIM,-1,STI,TIMER-A_2ms,87,trigger
-174150000,TIMER-A_2ms,87,T,TASK_InputProcessing,87,activate
-174150000,TASK_InputProcessing,87,SCHED,SCHED_Tasks_C1,-1,processactivate
-174150100,TASK_InputProcessing,87,STI,IR_SCHED_Tasks_C1,587,trigger
-174150100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-174150100,Core_1,0,T,TASK_InputProcessing,87,start
-174150100,TASK_InputProcessing,87,R,FUNC_SEMLOCK,175,start
-174150100,Core_1,0,C,Core_1,0,execute
-174150100,TASK_InputProcessing,87,C,Core_1,0,execute
-174152300,TASK_WritingActuator,87,SIG,SIG_Mixture,0,write,0
-174152300,TASK_WritingActuator,87,R,FUNC_WriteData,87,terminate
-174152300,TASK_WritingActuator,87,R,FUNC_SEMUNLOCK,174,start
-174250000,SIM,-1,STI,TIMER-1MS,174,trigger
-174250000,TIMER-1MS,174,T,TASK_1MS,174,activate
-174250000,TASK_1MS,174,SCHED,SCHED_Tasks_C1,-1,processactivate
-174250100,TASK_1MS,174,STI,IR_SCHED_Tasks_C1,588,trigger
-174250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-174250100,TASK_InputProcessing,87,R,FUNC_SEMLOCK,175,suspend
-174250100,Core_1,0,T,TASK_InputProcessing,87,preempt
-174250100,Core_1,0,C,Core_1,0,idle_execution
-174250100,TASK_InputProcessing,87,C,Core_1,0,idle_execution
-174250100,Core_1,0,T,TASK_1MS,174,start
-174250100,TASK_1MS,174,R,FUNC_EXECTIME_1,318,start
-174250100,Core_1,0,C,Core_1,0,execute
-174250100,TASK_1MS,174,C,Core_1,0,execute
-174352300,TASK_WritingActuator,87,SEM,SEM_DataElement1,0,released,1
-174352300,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-174352300,TASK_WritingActuator,87,SCHED,SCHED_Tasks_C2,-1,schedulepoint
-174352300,Core_2,0,C,Core_2,0,lock
-174352350,TASK_WritingActuator,87,R,FUNC_SEMUNLOCK,174,terminate
-174352350,Core_2,0,T,TASK_WritingActuator,87,terminate
-174352350,TASK_WritingActuator,87,SCHED,SCHED_Tasks_C2,-1,processterminate
-174352350,Core_2,0,C,Core_2,0,unlock
-174352350,Core_2,0,C,Core_2,0,idle
-174352350,TASK_WritingActuator,87,C,Core_2,0,idle
-174352400,TASK_WritingActuator,87,STI,IR_SCHED_Tasks_C2,562,trigger
-174352400,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-174352400,Core_2,0,T,TASK_5MS,87,start
-174352400,TASK_5MS,87,R,FUNC_EXECTIME_1,317,start
-174352400,Core_2,0,C,Core_2,0,execute
-174352400,TASK_5MS,87,C,Core_2,0,execute
-174615925,TASK_1MS,174,R,FUNC_EXECTIME_1,318,terminate
-174615925,Core_1,0,T,TASK_1MS,174,terminate
-174615925,TASK_1MS,174,SCHED,SCHED_Tasks_C1,-1,processterminate
-174615925,Core_1,0,C,Core_1,0,idle
-174615925,TASK_1MS,174,C,Core_1,0,idle
-174616025,TASK_1MS,174,STI,IR_SCHED_Tasks_C1,589,trigger
-174616025,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-174616025,Core_1,0,C,Core_1,0,execute_idle
-174616025,TASK_InputProcessing,87,C,Core_1,0,execute_idle
-174616025,Core_1,0,T,TASK_InputProcessing,87,resume
-174616025,TASK_InputProcessing,87,R,FUNC_SEMLOCK,175,resume
-174641025,TASK_InputProcessing,87,SEM,SEM_DataElement1,0,requestsemaphore,0
-174641025,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-174641025,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-174641025,Core_1,0,C,Core_1,0,lock
-174641025,TASK_InputProcessing,87,SEM,SEM_DataElement1,0,assigned,1
-174641075,TASK_InputProcessing,87,R,FUNC_SEMLOCK,175,terminate
-174641075,Core_1,0,C,Core_1,0,unlock
-174641075,TASK_InputProcessing,87,R,FUNC_ReadSensorData,87,start
-174800050,TASK_InputProcessing,87,SIG,SIG_RotationSpeed,0,read,0
-174800050,TASK_InputProcessing,87,SIG,SIG_Lambda,0,read,0
-174800050,TASK_InputProcessing,87,SIG,SIG_Temperature,0,read,0
-174800050,TASK_InputProcessing,87,R,FUNC_ReadSensorData,87,terminate
-174800050,TASK_InputProcessing,87,R,FUNC_SEMUNLOCK,175,start
-174826250,TASK_5MS,87,R,FUNC_EXECTIME_1,317,terminate
-174826250,Core_2,0,T,TASK_5MS,87,terminate
-174826250,TASK_5MS,87,SCHED,SCHED_Tasks_C2,-1,processterminate
-174826250,Core_2,0,C,Core_2,0,idle
-174826250,TASK_5MS,87,C,Core_2,0,idle
-174826350,TASK_5MS,87,STI,IR_SCHED_Tasks_C2,563,trigger
-174826350,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-175000000,SIM,-1,STI,TIMER-10MS,17,trigger
-175000000,TIMER-10MS,17,T,TASK_10MS,17,activate
-175000000,TASK_10MS,17,SCHED,SCHED_Tasks_C2,-1,processactivate
-175000050,TASK_InputProcessing,87,SEM,SEM_DataElement1,0,released,1
-175000050,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-175000050,TASK_InputProcessing,87,SCHED,SCHED_Tasks_C1,-1,schedulepoint
-175000050,Core_1,0,C,Core_1,0,lock
-175000100,TASK_InputProcessing,87,R,FUNC_SEMUNLOCK,175,terminate
-175000100,Core_1,0,C,Core_1,0,unlock
-175000100,TASK_InputProcessing,87,STI,IPA_InputReady,87,trigger
-175000100,IPA_InputReady,87,T,TASK_CalcEngineSpeed,87,activate
-175000100,TASK_CalcEngineSpeed,87,SCHED,SCHED_Tasks_C2,-1,processactivate
-175000100,Core_1,0,T,TASK_InputProcessing,87,terminate
-175000100,TASK_InputProcessing,87,SCHED,SCHED_Tasks_C1,-1,processterminate
-175000100,Core_1,0,C,Core_1,0,idle
-175000100,TASK_InputProcessing,87,C,Core_1,0,idle
-175000100,TASK_10MS,17,STI,IR_SCHED_Tasks_C2,564,trigger
-175000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-175000100,Core_2,0,T,TASK_CalcEngineSpeed,87,start
-175000100,TASK_CalcEngineSpeed,87,R,FUNC_ENGINESPEED,87,start
-175000100,Core_2,0,C,Core_2,0,execute
-175000100,TASK_CalcEngineSpeed,87,C,Core_2,0,execute
-175000150,TASK_InputProcessing,87,STI,IR_SCHED_Tasks_C1,590,trigger
-175000150,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-175205250,TASK_CalcEngineSpeed,87,R,FUNC_ENGINESPEED,87,terminate
-175205250,Core_2,0,T,TASK_CalcEngineSpeed,87,terminate
-175205250,TASK_CalcEngineSpeed,87,SCHED,SCHED_Tasks_C2,-1,processterminate
-175205250,Core_2,0,C,Core_2,0,idle
-175205250,TASK_CalcEngineSpeed,87,C,Core_2,0,idle
-175205350,TASK_CalcEngineSpeed,87,STI,IR_SCHED_Tasks_C2,565,trigger
-175205350,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-175205350,Core_2,0,T,TASK_10MS,17,start
-175205350,TASK_10MS,17,R,FUNC_EXECTIME_1,319,start
-175205350,Core_2,0,C,Core_2,0,execute
-175205350,TASK_10MS,17,C,Core_2,0,execute
-175250000,SIM,-1,STI,TIMER-1MS,175,trigger
-175250000,TIMER-1MS,175,T,TASK_1MS,175,activate
-175250000,TASK_1MS,175,SCHED,SCHED_Tasks_C1,-1,processactivate
-175250100,TASK_1MS,175,STI,IR_SCHED_Tasks_C1,591,trigger
-175250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-175250100,Core_1,0,T,TASK_1MS,175,start
-175250100,TASK_1MS,175,R,FUNC_EXECTIME_1,320,start
-175250100,Core_1,0,C,Core_1,0,execute
-175250100,TASK_1MS,175,C,Core_1,0,execute
-175548075,TASK_1MS,175,R,FUNC_EXECTIME_1,320,terminate
-175548075,Core_1,0,T,TASK_1MS,175,terminate
-175548075,TASK_1MS,175,SCHED,SCHED_Tasks_C1,-1,processterminate
-175548075,Core_1,0,C,Core_1,0,idle
-175548075,TASK_1MS,175,C,Core_1,0,idle
-175548175,TASK_1MS,175,STI,IR_SCHED_Tasks_C1,592,trigger
-175548175,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-176000000,SIM,-1,STI,TIMER-B_2ms,88,trigger
-176000000,TIMER-B_2ms,88,T,TASK_WritingActuator,88,activate
-176000000,TASK_WritingActuator,88,SCHED,SCHED_Tasks_C2,-1,processactivate
-176000100,TASK_WritingActuator,88,STI,IR_SCHED_Tasks_C2,566,trigger
-176000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-176000100,TASK_10MS,17,R,FUNC_EXECTIME_1,319,suspend
-176000100,Core_2,0,T,TASK_10MS,17,preempt
-176000100,Core_2,0,C,Core_2,0,idle_execution
-176000100,TASK_10MS,17,C,Core_2,0,idle_execution
-176000100,Core_2,0,T,TASK_WritingActuator,88,start
-176000100,TASK_WritingActuator,88,R,FUNC_SEMLOCK,176,start
-176000100,Core_2,0,C,Core_2,0,execute
-176000100,TASK_WritingActuator,88,C,Core_2,0,execute
-176100000,SIM,-1,STI,TIMER-5MS,88,trigger
-176100000,TIMER-5MS,88,T,TASK_5MS,88,activate
-176100000,TASK_5MS,88,SCHED,SCHED_Tasks_C2,-1,processactivate
-176100100,TASK_5MS,88,STI,IR_SCHED_Tasks_C2,567,trigger
-176100100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-176125100,TASK_WritingActuator,88,SEM,SEM_DataElement1,0,requestsemaphore,0
-176125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-176125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-176125100,Core_2,0,C,Core_2,0,lock
-176125100,TASK_WritingActuator,88,SEM,SEM_DataElement1,0,assigned,1
-176125150,TASK_WritingActuator,88,R,FUNC_SEMLOCK,176,terminate
-176125150,Core_2,0,C,Core_2,0,unlock
-176125150,TASK_WritingActuator,88,R,FUNC_WriteData,88,start
-176150000,SIM,-1,STI,TIMER-A_2ms,88,trigger
-176150000,TIMER-A_2ms,88,T,TASK_InputProcessing,88,activate
-176150000,TASK_InputProcessing,88,SCHED,SCHED_Tasks_C1,-1,processactivate
-176150100,TASK_InputProcessing,88,STI,IR_SCHED_Tasks_C1,593,trigger
-176150100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-176150100,Core_1,0,T,TASK_InputProcessing,88,start
-176150100,TASK_InputProcessing,88,R,FUNC_SEMLOCK,177,start
-176150100,Core_1,0,C,Core_1,0,execute
-176150100,TASK_InputProcessing,88,C,Core_1,0,execute
-176152350,TASK_WritingActuator,88,SIG,SIG_Mixture,0,write,0
-176152350,TASK_WritingActuator,88,R,FUNC_WriteData,88,terminate
-176152350,TASK_WritingActuator,88,R,FUNC_SEMUNLOCK,176,start
-176250000,SIM,-1,STI,TIMER-1MS,176,trigger
-176250000,TIMER-1MS,176,T,TASK_1MS,176,activate
-176250000,TASK_1MS,176,SCHED,SCHED_Tasks_C1,-1,processactivate
-176250100,TASK_1MS,176,STI,IR_SCHED_Tasks_C1,594,trigger
-176250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-176250100,TASK_InputProcessing,88,R,FUNC_SEMLOCK,177,suspend
-176250100,Core_1,0,T,TASK_InputProcessing,88,preempt
-176250100,Core_1,0,C,Core_1,0,idle_execution
-176250100,TASK_InputProcessing,88,C,Core_1,0,idle_execution
-176250100,Core_1,0,T,TASK_1MS,176,start
-176250100,TASK_1MS,176,R,FUNC_EXECTIME_1,322,start
-176250100,Core_1,0,C,Core_1,0,execute
-176250100,TASK_1MS,176,C,Core_1,0,execute
-176352350,TASK_WritingActuator,88,SEM,SEM_DataElement1,0,released,1
-176352350,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-176352350,TASK_WritingActuator,88,SCHED,SCHED_Tasks_C2,-1,schedulepoint
-176352350,Core_2,0,C,Core_2,0,lock
-176352400,TASK_WritingActuator,88,R,FUNC_SEMUNLOCK,176,terminate
-176352400,Core_2,0,T,TASK_WritingActuator,88,terminate
-176352400,TASK_WritingActuator,88,SCHED,SCHED_Tasks_C2,-1,processterminate
-176352400,Core_2,0,C,Core_2,0,unlock
-176352400,Core_2,0,C,Core_2,0,idle
-176352400,TASK_WritingActuator,88,C,Core_2,0,idle
-176352450,TASK_WritingActuator,88,STI,IR_SCHED_Tasks_C2,568,trigger
-176352450,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-176352450,Core_2,0,T,TASK_5MS,88,start
-176352450,TASK_5MS,88,R,FUNC_EXECTIME_1,321,start
-176352450,Core_2,0,C,Core_2,0,execute
-176352450,TASK_5MS,88,C,Core_2,0,execute
-176719550,TASK_5MS,88,R,FUNC_EXECTIME_1,321,terminate
-176719550,Core_2,0,T,TASK_5MS,88,terminate
-176719550,TASK_5MS,88,SCHED,SCHED_Tasks_C2,-1,processterminate
-176719550,Core_2,0,C,Core_2,0,idle
-176719550,TASK_5MS,88,C,Core_2,0,idle
-176719650,TASK_5MS,88,STI,IR_SCHED_Tasks_C2,569,trigger
-176719650,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-176719650,Core_2,0,C,Core_2,0,execute_idle
-176719650,TASK_10MS,17,C,Core_2,0,execute_idle
-176719650,Core_2,0,T,TASK_10MS,17,resume
-176719650,TASK_10MS,17,R,FUNC_EXECTIME_1,319,resume
-176750975,TASK_10MS,17,R,FUNC_EXECTIME_1,319,terminate
-176750975,Core_2,0,T,TASK_10MS,17,terminate
-176750975,TASK_10MS,17,SCHED,SCHED_Tasks_C2,-1,processterminate
-176750975,Core_2,0,C,Core_2,0,idle
-176750975,TASK_10MS,17,C,Core_2,0,idle
-176751075,TASK_10MS,17,STI,IR_SCHED_Tasks_C2,570,trigger
-176751075,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-177250000,SIM,-1,STI,TIMER-1MS,177,trigger
-177250000,TIMER-1MS,177,T,TASK_1MS,177,activate
-177250000,TASK_1MS,177,SCHED,SCHED_Tasks_C1,-1,processactivate
-177250100,TASK_1MS,177,STI,IR_SCHED_Tasks_C1,595,trigger
-177250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-177265500,TASK_1MS,176,R,FUNC_EXECTIME_1,322,terminate
-177265500,Core_1,0,T,TASK_1MS,176,terminate
-177265500,TASK_1MS,176,SCHED,SCHED_Tasks_C1,-1,processterminate
-177265500,Core_1,0,C,Core_1,0,idle
-177265500,TASK_1MS,176,C,Core_1,0,idle
-177265600,TASK_1MS,176,STI,IR_SCHED_Tasks_C1,596,trigger
-177265600,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-177265600,Core_1,0,T,TASK_1MS,177,start
-177265600,TASK_1MS,177,R,FUNC_EXECTIME_1,323,start
-177265600,Core_1,0,C,Core_1,0,execute
-177265600,TASK_1MS,177,C,Core_1,0,execute
-177607100,TASK_1MS,177,R,FUNC_EXECTIME_1,323,terminate
-177607100,Core_1,0,T,TASK_1MS,177,terminate
-177607100,TASK_1MS,177,SCHED,SCHED_Tasks_C1,-1,processterminate
-177607100,Core_1,0,C,Core_1,0,idle
-177607100,TASK_1MS,177,C,Core_1,0,idle
-177607200,TASK_1MS,177,STI,IR_SCHED_Tasks_C1,597,trigger
-177607200,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-177607200,Core_1,0,C,Core_1,0,execute_idle
-177607200,TASK_InputProcessing,88,C,Core_1,0,execute_idle
-177607200,Core_1,0,T,TASK_InputProcessing,88,resume
-177607200,TASK_InputProcessing,88,R,FUNC_SEMLOCK,177,resume
-177632200,TASK_InputProcessing,88,SEM,SEM_DataElement1,0,requestsemaphore,0
-177632200,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-177632200,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-177632200,Core_1,0,C,Core_1,0,lock
-177632200,TASK_InputProcessing,88,SEM,SEM_DataElement1,0,assigned,1
-177632250,TASK_InputProcessing,88,R,FUNC_SEMLOCK,177,terminate
-177632250,Core_1,0,C,Core_1,0,unlock
-177632250,TASK_InputProcessing,88,R,FUNC_ReadSensorData,88,start
-177792600,TASK_InputProcessing,88,SIG,SIG_RotationSpeed,0,read,0
-177792600,TASK_InputProcessing,88,SIG,SIG_Lambda,0,read,0
-177792600,TASK_InputProcessing,88,SIG,SIG_Temperature,0,read,0
-177792600,TASK_InputProcessing,88,R,FUNC_ReadSensorData,88,terminate
-177792600,TASK_InputProcessing,88,R,FUNC_SEMUNLOCK,177,start
-177992600,TASK_InputProcessing,88,SEM,SEM_DataElement1,0,released,1
-177992600,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-177992600,TASK_InputProcessing,88,SCHED,SCHED_Tasks_C1,-1,schedulepoint
-177992600,Core_1,0,C,Core_1,0,lock
-177992650,TASK_InputProcessing,88,R,FUNC_SEMUNLOCK,177,terminate
-177992650,Core_1,0,C,Core_1,0,unlock
-177992650,TASK_InputProcessing,88,STI,IPA_InputReady,88,trigger
-177992650,IPA_InputReady,88,T,TASK_CalcEngineSpeed,88,activate
-177992650,TASK_CalcEngineSpeed,88,SCHED,SCHED_Tasks_C2,-1,processactivate
-177992650,Core_1,0,T,TASK_InputProcessing,88,terminate
-177992650,TASK_InputProcessing,88,SCHED,SCHED_Tasks_C1,-1,processterminate
-177992650,Core_1,0,C,Core_1,0,idle
-177992650,TASK_InputProcessing,88,C,Core_1,0,idle
-177992700,TASK_InputProcessing,88,STI,IR_SCHED_Tasks_C1,598,trigger
-177992700,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-177992750,TASK_CalcEngineSpeed,88,STI,IR_SCHED_Tasks_C2,571,trigger
-177992750,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-177992750,Core_2,0,T,TASK_CalcEngineSpeed,88,start
-177992750,TASK_CalcEngineSpeed,88,R,FUNC_ENGINESPEED,88,start
-177992750,Core_2,0,C,Core_2,0,execute
-177992750,TASK_CalcEngineSpeed,88,C,Core_2,0,execute
-178000000,SIM,-1,STI,TIMER-B_2ms,89,trigger
-178000000,TIMER-B_2ms,89,T,TASK_WritingActuator,89,activate
-178000000,TASK_WritingActuator,89,SCHED,SCHED_Tasks_C2,-1,processactivate
-178000100,TASK_WritingActuator,89,STI,IR_SCHED_Tasks_C2,572,trigger
-178000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-178100000,SIM,-1,STI,TIMER-5MS,89,trigger
-178100000,TIMER-5MS,89,T,TASK_5MS,89,activate
-178100000,TASK_5MS,89,SCHED,SCHED_Tasks_C2,-1,processactivate
-178100100,TASK_5MS,89,STI,IR_SCHED_Tasks_C2,573,trigger
-178100100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-178150000,SIM,-1,STI,TIMER-A_2ms,89,trigger
-178150000,TIMER-A_2ms,89,T,TASK_InputProcessing,89,activate
-178150000,TASK_InputProcessing,89,SCHED,SCHED_Tasks_C1,-1,processactivate
-178150100,TASK_InputProcessing,89,STI,IR_SCHED_Tasks_C1,599,trigger
-178150100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-178150100,Core_1,0,T,TASK_InputProcessing,89,start
-178150100,TASK_InputProcessing,89,R,FUNC_SEMLOCK,179,start
-178150100,Core_1,0,C,Core_1,0,execute
-178150100,TASK_InputProcessing,89,C,Core_1,0,execute
-178230625,TASK_CalcEngineSpeed,88,R,FUNC_ENGINESPEED,88,terminate
-178230625,Core_2,0,T,TASK_CalcEngineSpeed,88,terminate
-178230625,TASK_CalcEngineSpeed,88,SCHED,SCHED_Tasks_C2,-1,processterminate
-178230625,Core_2,0,C,Core_2,0,idle
-178230625,TASK_CalcEngineSpeed,88,C,Core_2,0,idle
-178230725,TASK_CalcEngineSpeed,88,STI,IR_SCHED_Tasks_C2,574,trigger
-178230725,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-178230725,Core_2,0,T,TASK_WritingActuator,89,start
-178230725,TASK_WritingActuator,89,R,FUNC_SEMLOCK,178,start
-178230725,Core_2,0,C,Core_2,0,execute
-178230725,TASK_WritingActuator,89,C,Core_2,0,execute
-178250000,SIM,-1,STI,TIMER-1MS,178,trigger
-178250000,TIMER-1MS,178,T,TASK_1MS,178,activate
-178250000,TASK_1MS,178,SCHED,SCHED_Tasks_C1,-1,processactivate
-178250100,TASK_1MS,178,STI,IR_SCHED_Tasks_C1,600,trigger
-178250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-178250100,TASK_InputProcessing,89,R,FUNC_SEMLOCK,179,suspend
-178250100,Core_1,0,T,TASK_InputProcessing,89,preempt
-178250100,Core_1,0,C,Core_1,0,idle_execution
-178250100,TASK_InputProcessing,89,C,Core_1,0,idle_execution
-178250100,Core_1,0,T,TASK_1MS,178,start
-178250100,TASK_1MS,178,R,FUNC_EXECTIME_1,325,start
-178250100,Core_1,0,C,Core_1,0,execute
-178250100,TASK_1MS,178,C,Core_1,0,execute
-178355725,TASK_WritingActuator,89,SEM,SEM_DataElement1,0,requestsemaphore,0
-178355725,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-178355725,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-178355725,Core_2,0,C,Core_2,0,lock
-178355725,TASK_WritingActuator,89,SEM,SEM_DataElement1,0,assigned,1
-178355775,TASK_WritingActuator,89,R,FUNC_SEMLOCK,178,terminate
-178355775,Core_2,0,C,Core_2,0,unlock
-178355775,TASK_WritingActuator,89,R,FUNC_WriteData,89,start
-178382575,TASK_WritingActuator,89,SIG,SIG_Mixture,0,write,0
-178382575,TASK_WritingActuator,89,R,FUNC_WriteData,89,terminate
-178382575,TASK_WritingActuator,89,R,FUNC_SEMUNLOCK,178,start
-178582575,TASK_WritingActuator,89,SEM,SEM_DataElement1,0,released,1
-178582575,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-178582575,TASK_WritingActuator,89,SCHED,SCHED_Tasks_C2,-1,schedulepoint
-178582575,Core_2,0,C,Core_2,0,lock
-178582625,TASK_WritingActuator,89,R,FUNC_SEMUNLOCK,178,terminate
-178582625,Core_2,0,T,TASK_WritingActuator,89,terminate
-178582625,TASK_WritingActuator,89,SCHED,SCHED_Tasks_C2,-1,processterminate
-178582625,Core_2,0,C,Core_2,0,unlock
-178582625,Core_2,0,C,Core_2,0,idle
-178582625,TASK_WritingActuator,89,C,Core_2,0,idle
-178582675,TASK_WritingActuator,89,STI,IR_SCHED_Tasks_C2,575,trigger
-178582675,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-178582675,Core_2,0,T,TASK_5MS,89,start
-178582675,TASK_5MS,89,R,FUNC_EXECTIME_1,324,start
-178582675,Core_2,0,C,Core_2,0,execute
-178582675,TASK_5MS,89,C,Core_2,0,execute
-178904275,TASK_1MS,178,R,FUNC_EXECTIME_1,325,terminate
-178904275,Core_1,0,T,TASK_1MS,178,terminate
-178904275,TASK_1MS,178,SCHED,SCHED_Tasks_C1,-1,processterminate
-178904275,Core_1,0,C,Core_1,0,idle
-178904275,TASK_1MS,178,C,Core_1,0,idle
-178904375,TASK_1MS,178,STI,IR_SCHED_Tasks_C1,601,trigger
-178904375,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-178904375,Core_1,0,C,Core_1,0,execute_idle
-178904375,TASK_InputProcessing,89,C,Core_1,0,execute_idle
-178904375,Core_1,0,T,TASK_InputProcessing,89,resume
-178904375,TASK_InputProcessing,89,R,FUNC_SEMLOCK,179,resume
-178929375,TASK_InputProcessing,89,SEM,SEM_DataElement1,0,requestsemaphore,0
-178929375,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-178929375,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-178929375,Core_1,0,C,Core_1,0,lock
-178929375,TASK_InputProcessing,89,SEM,SEM_DataElement1,0,assigned,1
-178929425,TASK_InputProcessing,89,R,FUNC_SEMLOCK,179,terminate
-178929425,Core_1,0,C,Core_1,0,unlock
-178929425,TASK_InputProcessing,89,R,FUNC_ReadSensorData,89,start
-179092950,TASK_InputProcessing,89,SIG,SIG_RotationSpeed,0,read,0
-179092950,TASK_InputProcessing,89,SIG,SIG_Lambda,0,read,0
-179092950,TASK_InputProcessing,89,SIG,SIG_Temperature,0,read,0
-179092950,TASK_InputProcessing,89,R,FUNC_ReadSensorData,89,terminate
-179092950,TASK_InputProcessing,89,R,FUNC_SEMUNLOCK,179,start
-179216125,TASK_5MS,89,R,FUNC_EXECTIME_1,324,terminate
-179216125,Core_2,0,T,TASK_5MS,89,terminate
-179216125,TASK_5MS,89,SCHED,SCHED_Tasks_C2,-1,processterminate
-179216125,Core_2,0,C,Core_2,0,idle
-179216125,TASK_5MS,89,C,Core_2,0,idle
-179216225,TASK_5MS,89,STI,IR_SCHED_Tasks_C2,576,trigger
-179216225,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-179250000,SIM,-1,STI,TIMER-1MS,179,trigger
-179250000,TIMER-1MS,179,T,TASK_1MS,179,activate
-179250000,TASK_1MS,179,SCHED,SCHED_Tasks_C1,-1,processactivate
-179250100,TASK_1MS,179,STI,IR_SCHED_Tasks_C1,602,trigger
-179250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-179292950,TASK_InputProcessing,89,SEM,SEM_DataElement1,0,released,1
-179292950,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-179292950,TASK_InputProcessing,89,SCHED,SCHED_Tasks_C1,-1,schedulepoint
-179292950,Core_1,0,C,Core_1,0,lock
-179293000,TASK_InputProcessing,89,R,FUNC_SEMUNLOCK,179,terminate
-179293000,Core_1,0,C,Core_1,0,unlock
-179293000,TASK_InputProcessing,89,STI,IPA_InputReady,89,trigger
-179293000,IPA_InputReady,89,T,TASK_CalcEngineSpeed,89,activate
-179293000,TASK_CalcEngineSpeed,89,SCHED,SCHED_Tasks_C2,-1,processactivate
-179293000,Core_1,0,T,TASK_InputProcessing,89,terminate
-179293000,TASK_InputProcessing,89,SCHED,SCHED_Tasks_C1,-1,processterminate
-179293000,Core_1,0,C,Core_1,0,idle
-179293000,TASK_InputProcessing,89,C,Core_1,0,idle
-179293050,TASK_InputProcessing,89,STI,IR_SCHED_Tasks_C1,603,trigger
-179293050,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-179293050,Core_1,0,T,TASK_1MS,179,start
-179293050,TASK_1MS,179,R,FUNC_EXECTIME_1,326,start
-179293050,Core_1,0,C,Core_1,0,execute
-179293050,TASK_1MS,179,C,Core_1,0,execute
-179293100,TASK_CalcEngineSpeed,89,STI,IR_SCHED_Tasks_C2,577,trigger
-179293100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-179293100,Core_2,0,T,TASK_CalcEngineSpeed,89,start
-179293100,TASK_CalcEngineSpeed,89,R,FUNC_ENGINESPEED,89,start
-179293100,Core_2,0,C,Core_2,0,execute
-179293100,TASK_CalcEngineSpeed,89,C,Core_2,0,execute
-179540525,TASK_CalcEngineSpeed,89,R,FUNC_ENGINESPEED,89,terminate
-179540525,Core_2,0,T,TASK_CalcEngineSpeed,89,terminate
-179540525,TASK_CalcEngineSpeed,89,SCHED,SCHED_Tasks_C2,-1,processterminate
-179540525,Core_2,0,C,Core_2,0,idle
-179540525,TASK_CalcEngineSpeed,89,C,Core_2,0,idle
-179540625,TASK_CalcEngineSpeed,89,STI,IR_SCHED_Tasks_C2,578,trigger
-179540625,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-179558100,TASK_1MS,179,R,FUNC_EXECTIME_1,326,terminate
-179558100,Core_1,0,T,TASK_1MS,179,terminate
-179558100,TASK_1MS,179,SCHED,SCHED_Tasks_C1,-1,processterminate
-179558100,Core_1,0,C,Core_1,0,idle
-179558100,TASK_1MS,179,C,Core_1,0,idle
-179558200,TASK_1MS,179,STI,IR_SCHED_Tasks_C1,604,trigger
-179558200,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-180000000,SIM,-1,STI,TIMER-B_2ms,90,trigger
-180000000,TIMER-B_2ms,90,T,TASK_WritingActuator,90,activate
-180000000,TASK_WritingActuator,90,SCHED,SCHED_Tasks_C2,-1,processactivate
-180000000,SIM,-1,STI,TIMER-10MS_2,18,trigger
-180000000,TIMER-10MS_2,18,T,TASK_10MS_DL2,18,activate
-180000000,TASK_10MS_DL2,18,SCHED,SCHED_Tasks_C1,-1,processactivate
-180000100,TASK_WritingActuator,90,STI,IR_SCHED_Tasks_C2,579,trigger
-180000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-180000100,Core_2,0,T,TASK_WritingActuator,90,start
-180000100,TASK_WritingActuator,90,R,FUNC_SEMLOCK,180,start
-180000100,Core_2,0,C,Core_2,0,execute
-180000100,TASK_WritingActuator,90,C,Core_2,0,execute
-180000100,TASK_10MS_DL2,18,STI,IR_SCHED_Tasks_C1,605,trigger
-180000100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-180000100,Core_1,0,T,TASK_10MS_DL2,18,start
-180000100,TASK_10MS_DL2,18,R,FUNC_EXECTIME_1,327,start
-180000100,Core_1,0,C,Core_1,0,execute
-180000100,TASK_10MS_DL2,18,C,Core_1,0,execute
-180005000,SIM,-1,STI,TIMER-20MS,9,trigger
-180005000,TIMER-20MS,9,T,TASK_20MS,9,activate
-180005000,TASK_20MS,9,SCHED,SCHED_Tasks_C1,-1,processactivate
-180005100,TASK_20MS,9,STI,IR_SCHED_Tasks_C1,606,trigger
-180005100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-180100000,SIM,-1,STI,TIMER-5MS,90,trigger
-180100000,TIMER-5MS,90,T,TASK_5MS,90,activate
-180100000,TASK_5MS,90,SCHED,SCHED_Tasks_C2,-1,processactivate
-180100100,TASK_5MS,90,STI,IR_SCHED_Tasks_C2,580,trigger
-180100100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-180125100,TASK_WritingActuator,90,SEM,SEM_DataElement1,0,requestsemaphore,0
-180125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-180125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-180125100,Core_2,0,C,Core_2,0,lock
-180125100,TASK_WritingActuator,90,SEM,SEM_DataElement1,0,assigned,1
-180125150,TASK_WritingActuator,90,R,FUNC_SEMLOCK,180,terminate
-180125150,Core_2,0,C,Core_2,0,unlock
-180125150,TASK_WritingActuator,90,R,FUNC_WriteData,90,start
-180150000,SIM,-1,STI,TIMER-A_2ms,90,trigger
-180150000,TIMER-A_2ms,90,T,TASK_InputProcessing,90,activate
-180150000,TASK_InputProcessing,90,SCHED,SCHED_Tasks_C1,-1,processactivate
-180150100,TASK_InputProcessing,90,STI,IR_SCHED_Tasks_C1,607,trigger
-180150100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-180152325,TASK_WritingActuator,90,SIG,SIG_Mixture,0,write,0
-180152325,TASK_WritingActuator,90,R,FUNC_WriteData,90,terminate
-180152325,TASK_WritingActuator,90,R,FUNC_SEMUNLOCK,180,start
-180250000,SIM,-1,STI,TIMER-1MS,180,trigger
-180250000,TIMER-1MS,180,T,TASK_1MS,180,activate
-180250000,TASK_1MS,180,SCHED,SCHED_Tasks_C1,-1,processactivate
-180250100,TASK_1MS,180,STI,IR_SCHED_Tasks_C1,608,trigger
-180250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-180250100,TASK_10MS_DL2,18,R,FUNC_EXECTIME_1,327,suspend
-180250100,Core_1,0,T,TASK_10MS_DL2,18,preempt
-180250100,Core_1,0,C,Core_1,0,idle_execution
-180250100,TASK_10MS_DL2,18,C,Core_1,0,idle_execution
-180250100,Core_1,0,T,TASK_1MS,180,start
-180250100,TASK_1MS,180,R,FUNC_EXECTIME_1,330,start
-180250100,Core_1,0,C,Core_1,0,execute
-180250100,TASK_1MS,180,C,Core_1,0,execute
-180352325,TASK_WritingActuator,90,SEM,SEM_DataElement1,0,released,1
-180352325,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-180352325,TASK_WritingActuator,90,SCHED,SCHED_Tasks_C2,-1,schedulepoint
-180352325,Core_2,0,C,Core_2,0,lock
-180352375,TASK_WritingActuator,90,R,FUNC_SEMUNLOCK,180,terminate
-180352375,Core_2,0,T,TASK_WritingActuator,90,terminate
-180352375,TASK_WritingActuator,90,SCHED,SCHED_Tasks_C2,-1,processterminate
-180352375,Core_2,0,C,Core_2,0,unlock
-180352375,Core_2,0,C,Core_2,0,idle
-180352375,TASK_WritingActuator,90,C,Core_2,0,idle
-180352425,TASK_WritingActuator,90,STI,IR_SCHED_Tasks_C2,581,trigger
-180352425,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-180352425,Core_2,0,T,TASK_5MS,90,start
-180352425,TASK_5MS,90,R,FUNC_EXECTIME_1,329,start
-180352425,Core_2,0,C,Core_2,0,execute
-180352425,TASK_5MS,90,C,Core_2,0,execute
-180631300,TASK_1MS,180,R,FUNC_EXECTIME_1,330,terminate
-180631300,Core_1,0,T,TASK_1MS,180,terminate
-180631300,TASK_1MS,180,SCHED,SCHED_Tasks_C1,-1,processterminate
-180631300,Core_1,0,C,Core_1,0,idle
-180631300,TASK_1MS,180,C,Core_1,0,idle
-180631400,TASK_1MS,180,STI,IR_SCHED_Tasks_C1,609,trigger
-180631400,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-180631400,Core_1,0,C,Core_1,0,execute_idle
-180631400,TASK_10MS_DL2,18,C,Core_1,0,execute_idle
-180631400,Core_1,0,T,TASK_10MS_DL2,18,resume
-180631400,TASK_10MS_DL2,18,R,FUNC_EXECTIME_1,327,resume
-180886000,TASK_5MS,90,R,FUNC_EXECTIME_1,329,terminate
-180886000,Core_2,0,T,TASK_5MS,90,terminate
-180886000,TASK_5MS,90,SCHED,SCHED_Tasks_C2,-1,processterminate
-180886000,Core_2,0,C,Core_2,0,idle
-180886000,TASK_5MS,90,C,Core_2,0,idle
-180886100,TASK_5MS,90,STI,IR_SCHED_Tasks_C2,582,trigger
-180886100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-181250000,SIM,-1,STI,TIMER-1MS,181,trigger
-181250000,TIMER-1MS,181,T,TASK_1MS,181,activate
-181250000,TASK_1MS,181,SCHED,SCHED_Tasks_C1,-1,processactivate
-181250100,TASK_1MS,181,STI,IR_SCHED_Tasks_C1,610,trigger
-181250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-181250100,TASK_10MS_DL2,18,R,FUNC_EXECTIME_1,327,suspend
-181250100,Core_1,0,T,TASK_10MS_DL2,18,preempt
-181250100,Core_1,0,C,Core_1,0,idle_execution
-181250100,TASK_10MS_DL2,18,C,Core_1,0,idle_execution
-181250100,Core_1,0,T,TASK_1MS,181,start
-181250100,TASK_1MS,181,R,FUNC_EXECTIME_1,331,start
-181250100,Core_1,0,C,Core_1,0,execute
-181250100,TASK_1MS,181,C,Core_1,0,execute
-181694700,TASK_1MS,181,R,FUNC_EXECTIME_1,331,terminate
-181694700,Core_1,0,T,TASK_1MS,181,terminate
-181694700,TASK_1MS,181,SCHED,SCHED_Tasks_C1,-1,processterminate
-181694700,Core_1,0,C,Core_1,0,idle
-181694700,TASK_1MS,181,C,Core_1,0,idle
-181694800,TASK_1MS,181,STI,IR_SCHED_Tasks_C1,611,trigger
-181694800,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-181694800,Core_1,0,C,Core_1,0,execute_idle
-181694800,TASK_10MS_DL2,18,C,Core_1,0,execute_idle
-181694800,Core_1,0,T,TASK_10MS_DL2,18,resume
-181694800,TASK_10MS_DL2,18,R,FUNC_EXECTIME_1,327,resume
-181740825,TASK_10MS_DL2,18,R,FUNC_EXECTIME_1,327,terminate
-181740825,Core_1,0,T,TASK_10MS_DL2,18,terminate
-181740825,TASK_10MS_DL2,18,SCHED,SCHED_Tasks_C1,-1,processterminate
-181740825,Core_1,0,C,Core_1,0,idle
-181740825,TASK_10MS_DL2,18,C,Core_1,0,idle
-181740925,TASK_10MS_DL2,18,STI,IR_SCHED_Tasks_C1,612,trigger
-181740925,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-181740925,Core_1,0,T,TASK_InputProcessing,90,start
-181740925,TASK_InputProcessing,90,R,FUNC_SEMLOCK,181,start
-181740925,Core_1,0,C,Core_1,0,execute
-181740925,TASK_InputProcessing,90,C,Core_1,0,execute
-181865925,TASK_InputProcessing,90,SEM,SEM_DataElement1,0,requestsemaphore,0
-181865925,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-181865925,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-181865925,Core_1,0,C,Core_1,0,lock
-181865925,TASK_InputProcessing,90,SEM,SEM_DataElement1,0,assigned,1
-181865975,TASK_InputProcessing,90,R,FUNC_SEMLOCK,181,terminate
-181865975,Core_1,0,C,Core_1,0,unlock
-181865975,TASK_InputProcessing,90,R,FUNC_ReadSensorData,90,start
-182000000,SIM,-1,STI,TIMER-B_2ms,91,trigger
-182000000,TIMER-B_2ms,91,T,TASK_WritingActuator,91,activate
-182000000,TASK_WritingActuator,91,SCHED,SCHED_Tasks_C2,-1,processactivate
-182000100,TASK_WritingActuator,91,STI,IR_SCHED_Tasks_C2,583,trigger
-182000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-182000100,Core_2,0,T,TASK_WritingActuator,91,start
-182000100,TASK_WritingActuator,91,R,FUNC_SEMLOCK,182,start
-182000100,Core_2,0,C,Core_2,0,execute
-182000100,TASK_WritingActuator,91,C,Core_2,0,execute
-182028300,TASK_InputProcessing,90,SIG,SIG_RotationSpeed,0,read,0
-182028300,TASK_InputProcessing,90,SIG,SIG_Lambda,0,read,0
-182028300,TASK_InputProcessing,90,SIG,SIG_Temperature,0,read,0
-182028300,TASK_InputProcessing,90,R,FUNC_ReadSensorData,90,terminate
-182028300,TASK_InputProcessing,90,R,FUNC_SEMUNLOCK,181,start
-182100000,SIM,-1,STI,TIMER-5MS,91,trigger
-182100000,TIMER-5MS,91,T,TASK_5MS,91,activate
-182100000,TASK_5MS,91,SCHED,SCHED_Tasks_C2,-1,processactivate
-182100100,TASK_5MS,91,STI,IR_SCHED_Tasks_C2,584,trigger
-182100100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-182125100,TASK_WritingActuator,91,SEM,SEM_DataElement1,0,requestsemaphore,1
-182125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,1
-182125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,overfull,2
-182125100,Core_2,0,C,Core_2,0,lock
-182125100,TASK_WritingActuator,91,SEM,SEM_DataElement1,0,waiting,2
-182125150,Core_2,0,T,TASK_WritingActuator,91,poll
-182125150,TASK_WritingActuator,91,SCHED,SCHED_Tasks_C2,-1,processpolling
-182125150,Core_2,0,C,Core_2,0,wait_postexecution
-182125150,TASK_WritingActuator,91,C,Core_2,0,wait_postexecution
-182125150,Core_2,0,C,Core_2,0,unlock
-182150000,SIM,-1,STI,TIMER-A_2ms,91,trigger
-182150000,TIMER-A_2ms,91,T,TASK_InputProcessing,91,activate
-182150000,TASK_InputProcessing,91,SCHED,SCHED_Tasks_C1,-1,processactivate
-182150100,TASK_InputProcessing,91,STI,IR_SCHED_Tasks_C1,613,trigger
-182150100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-182228300,TASK_InputProcessing,90,SEM,SEM_DataElement1,0,released,2
-182228300,TASK_WritingActuator,91,SEM,SEM_DataElement1,0,assigned,1
-182228300,Core_2,0,T,TASK_WritingActuator,91,run
-182228300,TASK_WritingActuator,91,R,FUNC_SEMLOCK,182,terminate
-182228300,TASK_WritingActuator,91,R,FUNC_WriteData,91,start
-182228300,Core_2,0,C,Core_2,0,execute_waiting
-182228300,TASK_WritingActuator,91,C,Core_2,0,execute_waiting
-182228300,SEM_DataElement1,0,SEM,SEM_DataElement1,0,full,1
-182228300,TASK_InputProcessing,90,SCHED,SCHED_Tasks_C1,-1,schedulepoint
-182228300,Core_1,0,C,Core_1,0,lock
-182228350,TASK_InputProcessing,90,R,FUNC_SEMUNLOCK,181,terminate
-182228350,Core_1,0,C,Core_1,0,unlock
-182228350,TASK_InputProcessing,90,STI,IPA_InputReady,90,trigger
-182228350,IPA_InputReady,90,T,TASK_CalcEngineSpeed,90,activate
-182228350,TASK_CalcEngineSpeed,90,SCHED,SCHED_Tasks_C2,-1,processactivate
-182228350,Core_1,0,T,TASK_InputProcessing,90,terminate
-182228350,TASK_InputProcessing,90,SCHED,SCHED_Tasks_C1,-1,processterminate
-182228350,Core_1,0,C,Core_1,0,idle
-182228350,TASK_InputProcessing,90,C,Core_1,0,idle
-182228400,TASK_InputProcessing,90,STI,IR_SCHED_Tasks_C1,614,trigger
-182228400,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-182228400,Core_1,0,T,TASK_InputProcessing,91,start
-182228400,TASK_InputProcessing,91,R,FUNC_SEMLOCK,183,start
-182228400,Core_1,0,C,Core_1,0,execute
-182228400,TASK_InputProcessing,91,C,Core_1,0,execute
-182228450,TASK_CalcEngineSpeed,90,STI,IR_SCHED_Tasks_C2,585,trigger
-182228450,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-182250000,SIM,-1,STI,TIMER-1MS,182,trigger
-182250000,TIMER-1MS,182,T,TASK_1MS,182,activate
-182250000,TASK_1MS,182,SCHED,SCHED_Tasks_C1,-1,processactivate
-182250100,TASK_1MS,182,STI,IR_SCHED_Tasks_C1,615,trigger
-182250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-182250100,TASK_InputProcessing,91,R,FUNC_SEMLOCK,183,suspend
-182250100,Core_1,0,T,TASK_InputProcessing,91,preempt
-182250100,Core_1,0,C,Core_1,0,idle_execution
-182250100,TASK_InputProcessing,91,C,Core_1,0,idle_execution
-182250100,Core_1,0,T,TASK_1MS,182,start
-182250100,TASK_1MS,182,R,FUNC_EXECTIME_1,333,start
-182250100,Core_1,0,C,Core_1,0,execute
-182250100,TASK_1MS,182,C,Core_1,0,execute
-182255150,TASK_WritingActuator,91,SIG,SIG_Mixture,0,write,0
-182255150,TASK_WritingActuator,91,R,FUNC_WriteData,91,terminate
-182255150,TASK_WritingActuator,91,R,FUNC_SEMUNLOCK,182,start
-182455150,TASK_WritingActuator,91,SEM,SEM_DataElement1,0,released,1
-182455150,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-182455150,TASK_WritingActuator,91,SCHED,SCHED_Tasks_C2,-1,schedulepoint
-182455150,Core_2,0,C,Core_2,0,lock
-182455200,TASK_WritingActuator,91,R,FUNC_SEMUNLOCK,182,terminate
-182455200,Core_2,0,T,TASK_WritingActuator,91,terminate
-182455200,TASK_WritingActuator,91,SCHED,SCHED_Tasks_C2,-1,processterminate
-182455200,Core_2,0,C,Core_2,0,unlock
-182455200,Core_2,0,C,Core_2,0,idle
-182455200,TASK_WritingActuator,91,C,Core_2,0,idle
-182455250,TASK_WritingActuator,91,STI,IR_SCHED_Tasks_C2,586,trigger
-182455250,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-182455250,Core_2,0,T,TASK_CalcEngineSpeed,90,start
-182455250,TASK_CalcEngineSpeed,90,R,FUNC_ENGINESPEED,90,start
-182455250,Core_2,0,C,Core_2,0,execute
-182455250,TASK_CalcEngineSpeed,90,C,Core_2,0,execute
-182610125,TASK_CalcEngineSpeed,90,R,FUNC_ENGINESPEED,90,terminate
-182610125,Core_2,0,T,TASK_CalcEngineSpeed,90,terminate
-182610125,TASK_CalcEngineSpeed,90,SCHED,SCHED_Tasks_C2,-1,processterminate
-182610125,Core_2,0,C,Core_2,0,idle
-182610125,TASK_CalcEngineSpeed,90,C,Core_2,0,idle
-182610225,TASK_CalcEngineSpeed,90,STI,IR_SCHED_Tasks_C2,587,trigger
-182610225,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-182610225,Core_2,0,T,TASK_5MS,91,start
-182610225,TASK_5MS,91,R,FUNC_EXECTIME_1,332,start
-182610225,Core_2,0,C,Core_2,0,execute
-182610225,TASK_5MS,91,C,Core_2,0,execute
-182714125,TASK_1MS,182,R,FUNC_EXECTIME_1,333,terminate
-182714125,Core_1,0,T,TASK_1MS,182,terminate
-182714125,TASK_1MS,182,SCHED,SCHED_Tasks_C1,-1,processterminate
-182714125,Core_1,0,C,Core_1,0,idle
-182714125,TASK_1MS,182,C,Core_1,0,idle
-182714225,TASK_1MS,182,STI,IR_SCHED_Tasks_C1,616,trigger
-182714225,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-182714225,Core_1,0,C,Core_1,0,execute_idle
-182714225,TASK_InputProcessing,91,C,Core_1,0,execute_idle
-182714225,Core_1,0,T,TASK_InputProcessing,91,resume
-182714225,TASK_InputProcessing,91,R,FUNC_SEMLOCK,183,resume
-182817525,TASK_InputProcessing,91,SEM,SEM_DataElement1,0,requestsemaphore,0
-182817525,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-182817525,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-182817525,Core_1,0,C,Core_1,0,lock
-182817525,TASK_InputProcessing,91,SEM,SEM_DataElement1,0,assigned,1
-182817575,TASK_InputProcessing,91,R,FUNC_SEMLOCK,183,terminate
-182817575,Core_1,0,C,Core_1,0,unlock
-182817575,TASK_InputProcessing,91,R,FUNC_ReadSensorData,91,start
-182983200,TASK_InputProcessing,91,SIG,SIG_RotationSpeed,0,read,0
-182983200,TASK_InputProcessing,91,SIG,SIG_Lambda,0,read,0
-182983200,TASK_InputProcessing,91,SIG,SIG_Temperature,0,read,0
-182983200,TASK_InputProcessing,91,R,FUNC_ReadSensorData,91,terminate
-182983200,TASK_InputProcessing,91,R,FUNC_SEMUNLOCK,183,start
-183117175,TASK_5MS,91,R,FUNC_EXECTIME_1,332,terminate
-183117175,Core_2,0,T,TASK_5MS,91,terminate
-183117175,TASK_5MS,91,SCHED,SCHED_Tasks_C2,-1,processterminate
-183117175,Core_2,0,C,Core_2,0,idle
-183117175,TASK_5MS,91,C,Core_2,0,idle
-183117275,TASK_5MS,91,STI,IR_SCHED_Tasks_C2,588,trigger
-183117275,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-183183200,TASK_InputProcessing,91,SEM,SEM_DataElement1,0,released,1
-183183200,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-183183200,TASK_InputProcessing,91,SCHED,SCHED_Tasks_C1,-1,schedulepoint
-183183200,Core_1,0,C,Core_1,0,lock
-183183250,TASK_InputProcessing,91,R,FUNC_SEMUNLOCK,183,terminate
-183183250,Core_1,0,C,Core_1,0,unlock
-183183250,TASK_InputProcessing,91,STI,IPA_InputReady,91,trigger
-183183250,IPA_InputReady,91,T,TASK_CalcEngineSpeed,91,activate
-183183250,TASK_CalcEngineSpeed,91,SCHED,SCHED_Tasks_C2,-1,processactivate
-183183250,Core_1,0,T,TASK_InputProcessing,91,terminate
-183183250,TASK_InputProcessing,91,SCHED,SCHED_Tasks_C1,-1,processterminate
-183183250,Core_1,0,C,Core_1,0,idle
-183183250,TASK_InputProcessing,91,C,Core_1,0,idle
-183183300,TASK_InputProcessing,91,STI,IR_SCHED_Tasks_C1,617,trigger
-183183300,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-183183300,Core_1,0,T,TASK_20MS,9,start
-183183300,TASK_20MS,9,R,FUNC_EXECTIME_1,328,start
-183183300,Core_1,0,C,Core_1,0,execute
-183183300,TASK_20MS,9,C,Core_1,0,execute
-183183350,TASK_CalcEngineSpeed,91,STI,IR_SCHED_Tasks_C2,589,trigger
-183183350,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-183183350,Core_2,0,T,TASK_CalcEngineSpeed,91,start
-183183350,TASK_CalcEngineSpeed,91,R,FUNC_ENGINESPEED,91,start
-183183350,Core_2,0,C,Core_2,0,execute
-183183350,TASK_CalcEngineSpeed,91,C,Core_2,0,execute
-183250000,SIM,-1,STI,TIMER-1MS,183,trigger
-183250000,TIMER-1MS,183,T,TASK_1MS,183,activate
-183250000,TASK_1MS,183,SCHED,SCHED_Tasks_C1,-1,processactivate
-183250100,TASK_1MS,183,STI,IR_SCHED_Tasks_C1,618,trigger
-183250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-183250100,TASK_20MS,9,R,FUNC_EXECTIME_1,328,suspend
-183250100,Core_1,0,T,TASK_20MS,9,preempt
-183250100,Core_1,0,C,Core_1,0,idle_execution
-183250100,TASK_20MS,9,C,Core_1,0,idle_execution
-183250100,Core_1,0,T,TASK_1MS,183,start
-183250100,TASK_1MS,183,R,FUNC_EXECTIME_1,334,start
-183250100,Core_1,0,C,Core_1,0,execute
-183250100,TASK_1MS,183,C,Core_1,0,execute
-183409975,TASK_CalcEngineSpeed,91,R,FUNC_ENGINESPEED,91,terminate
-183409975,Core_2,0,T,TASK_CalcEngineSpeed,91,terminate
-183409975,TASK_CalcEngineSpeed,91,SCHED,SCHED_Tasks_C2,-1,processterminate
-183409975,Core_2,0,C,Core_2,0,idle
-183409975,TASK_CalcEngineSpeed,91,C,Core_2,0,idle
-183410075,TASK_CalcEngineSpeed,91,STI,IR_SCHED_Tasks_C2,590,trigger
-183410075,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-183532200,TASK_1MS,183,R,FUNC_EXECTIME_1,334,terminate
-183532200,Core_1,0,T,TASK_1MS,183,terminate
-183532200,TASK_1MS,183,SCHED,SCHED_Tasks_C1,-1,processterminate
-183532200,Core_1,0,C,Core_1,0,idle
-183532200,TASK_1MS,183,C,Core_1,0,idle
-183532300,TASK_1MS,183,STI,IR_SCHED_Tasks_C1,619,trigger
-183532300,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-183532300,Core_1,0,C,Core_1,0,execute_idle
-183532300,TASK_20MS,9,C,Core_1,0,execute_idle
-183532300,Core_1,0,T,TASK_20MS,9,resume
-183532300,TASK_20MS,9,R,FUNC_EXECTIME_1,328,resume
-183839025,TASK_20MS,9,R,FUNC_EXECTIME_1,328,terminate
-183839025,Core_1,0,T,TASK_20MS,9,terminate
-183839025,TASK_20MS,9,SCHED,SCHED_Tasks_C1,-1,processterminate
-183839025,Core_1,0,C,Core_1,0,idle
-183839025,TASK_20MS,9,C,Core_1,0,idle
-183839125,TASK_20MS,9,STI,IR_SCHED_Tasks_C1,620,trigger
-183839125,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-184000000,SIM,-1,STI,TIMER-B_2ms,92,trigger
-184000000,TIMER-B_2ms,92,T,TASK_WritingActuator,92,activate
-184000000,TASK_WritingActuator,92,SCHED,SCHED_Tasks_C2,-1,processactivate
-184000100,TASK_WritingActuator,92,STI,IR_SCHED_Tasks_C2,591,trigger
-184000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-184000100,Core_2,0,T,TASK_WritingActuator,92,start
-184000100,TASK_WritingActuator,92,R,FUNC_SEMLOCK,184,start
-184000100,Core_2,0,C,Core_2,0,execute
-184000100,TASK_WritingActuator,92,C,Core_2,0,execute
-184100000,SIM,-1,STI,TIMER-5MS,92,trigger
-184100000,TIMER-5MS,92,T,TASK_5MS,92,activate
-184100000,TASK_5MS,92,SCHED,SCHED_Tasks_C2,-1,processactivate
-184100100,TASK_5MS,92,STI,IR_SCHED_Tasks_C2,592,trigger
-184100100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-184125100,TASK_WritingActuator,92,SEM,SEM_DataElement1,0,requestsemaphore,0
-184125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-184125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-184125100,Core_2,0,C,Core_2,0,lock
-184125100,TASK_WritingActuator,92,SEM,SEM_DataElement1,0,assigned,1
-184125150,TASK_WritingActuator,92,R,FUNC_SEMLOCK,184,terminate
-184125150,Core_2,0,C,Core_2,0,unlock
-184125150,TASK_WritingActuator,92,R,FUNC_WriteData,92,start
-184150000,SIM,-1,STI,TIMER-A_2ms,92,trigger
-184150000,TIMER-A_2ms,92,T,TASK_InputProcessing,92,activate
-184150000,TASK_InputProcessing,92,SCHED,SCHED_Tasks_C1,-1,processactivate
-184150100,TASK_InputProcessing,92,STI,IR_SCHED_Tasks_C1,621,trigger
-184150100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-184150100,Core_1,0,T,TASK_InputProcessing,92,start
-184150100,TASK_InputProcessing,92,R,FUNC_SEMLOCK,185,start
-184150100,Core_1,0,C,Core_1,0,execute
-184150100,TASK_InputProcessing,92,C,Core_1,0,execute
-184151975,TASK_WritingActuator,92,SIG,SIG_Mixture,0,write,0
-184151975,TASK_WritingActuator,92,R,FUNC_WriteData,92,terminate
-184151975,TASK_WritingActuator,92,R,FUNC_SEMUNLOCK,184,start
-184250000,SIM,-1,STI,TIMER-1MS,184,trigger
-184250000,TIMER-1MS,184,T,TASK_1MS,184,activate
-184250000,TASK_1MS,184,SCHED,SCHED_Tasks_C1,-1,processactivate
-184250100,TASK_1MS,184,STI,IR_SCHED_Tasks_C1,622,trigger
-184250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-184250100,TASK_InputProcessing,92,R,FUNC_SEMLOCK,185,suspend
-184250100,Core_1,0,T,TASK_InputProcessing,92,preempt
-184250100,Core_1,0,C,Core_1,0,idle_execution
-184250100,TASK_InputProcessing,92,C,Core_1,0,idle_execution
-184250100,Core_1,0,T,TASK_1MS,184,start
-184250100,TASK_1MS,184,R,FUNC_EXECTIME_1,336,start
-184250100,Core_1,0,C,Core_1,0,execute
-184250100,TASK_1MS,184,C,Core_1,0,execute
-184351975,TASK_WritingActuator,92,SEM,SEM_DataElement1,0,released,1
-184351975,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-184351975,TASK_WritingActuator,92,SCHED,SCHED_Tasks_C2,-1,schedulepoint
-184351975,Core_2,0,C,Core_2,0,lock
-184352025,TASK_WritingActuator,92,R,FUNC_SEMUNLOCK,184,terminate
-184352025,Core_2,0,T,TASK_WritingActuator,92,terminate
-184352025,TASK_WritingActuator,92,SCHED,SCHED_Tasks_C2,-1,processterminate
-184352025,Core_2,0,C,Core_2,0,unlock
-184352025,Core_2,0,C,Core_2,0,idle
-184352025,TASK_WritingActuator,92,C,Core_2,0,idle
-184352075,TASK_WritingActuator,92,STI,IR_SCHED_Tasks_C2,593,trigger
-184352075,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-184352075,Core_2,0,T,TASK_5MS,92,start
-184352075,TASK_5MS,92,R,FUNC_EXECTIME_1,335,start
-184352075,Core_2,0,C,Core_2,0,execute
-184352075,TASK_5MS,92,C,Core_2,0,execute
-184773275,TASK_1MS,184,R,FUNC_EXECTIME_1,336,terminate
-184773275,Core_1,0,T,TASK_1MS,184,terminate
-184773275,TASK_1MS,184,SCHED,SCHED_Tasks_C1,-1,processterminate
-184773275,Core_1,0,C,Core_1,0,idle
-184773275,TASK_1MS,184,C,Core_1,0,idle
-184773375,TASK_1MS,184,STI,IR_SCHED_Tasks_C1,623,trigger
-184773375,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-184773375,Core_1,0,C,Core_1,0,execute_idle
-184773375,TASK_InputProcessing,92,C,Core_1,0,execute_idle
-184773375,Core_1,0,T,TASK_InputProcessing,92,resume
-184773375,TASK_InputProcessing,92,R,FUNC_SEMLOCK,185,resume
-184798375,TASK_InputProcessing,92,SEM,SEM_DataElement1,0,requestsemaphore,0
-184798375,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-184798375,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-184798375,Core_1,0,C,Core_1,0,lock
-184798375,TASK_InputProcessing,92,SEM,SEM_DataElement1,0,assigned,1
-184798425,TASK_InputProcessing,92,R,FUNC_SEMLOCK,185,terminate
-184798425,Core_1,0,C,Core_1,0,unlock
-184798425,TASK_InputProcessing,92,R,FUNC_ReadSensorData,92,start
-184832050,TASK_5MS,92,R,FUNC_EXECTIME_1,335,terminate
-184832050,Core_2,0,T,TASK_5MS,92,terminate
-184832050,TASK_5MS,92,SCHED,SCHED_Tasks_C2,-1,processterminate
-184832050,Core_2,0,C,Core_2,0,idle
-184832050,TASK_5MS,92,C,Core_2,0,idle
-184832150,TASK_5MS,92,STI,IR_SCHED_Tasks_C2,594,trigger
-184832150,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-184960350,TASK_InputProcessing,92,SIG,SIG_RotationSpeed,0,read,0
-184960350,TASK_InputProcessing,92,SIG,SIG_Lambda,0,read,0
-184960350,TASK_InputProcessing,92,SIG,SIG_Temperature,0,read,0
-184960350,TASK_InputProcessing,92,R,FUNC_ReadSensorData,92,terminate
-184960350,TASK_InputProcessing,92,R,FUNC_SEMUNLOCK,185,start
-185000000,SIM,-1,STI,TIMER-10MS,18,trigger
-185000000,TIMER-10MS,18,T,TASK_10MS,18,activate
-185000000,TASK_10MS,18,SCHED,SCHED_Tasks_C2,-1,processactivate
-185000100,TASK_10MS,18,STI,IR_SCHED_Tasks_C2,595,trigger
-185000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-185000100,Core_2,0,T,TASK_10MS,18,start
-185000100,TASK_10MS,18,R,FUNC_EXECTIME_1,337,start
-185000100,Core_2,0,C,Core_2,0,execute
-185000100,TASK_10MS,18,C,Core_2,0,execute
-185160350,TASK_InputProcessing,92,SEM,SEM_DataElement1,0,released,1
-185160350,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-185160350,TASK_InputProcessing,92,SCHED,SCHED_Tasks_C1,-1,schedulepoint
-185160350,Core_1,0,C,Core_1,0,lock
-185160400,TASK_InputProcessing,92,R,FUNC_SEMUNLOCK,185,terminate
-185160400,Core_1,0,C,Core_1,0,unlock
-185160400,TASK_InputProcessing,92,STI,IPA_InputReady,92,trigger
-185160400,IPA_InputReady,92,T,TASK_CalcEngineSpeed,92,activate
-185160400,TASK_CalcEngineSpeed,92,SCHED,SCHED_Tasks_C2,-1,processactivate
-185160400,Core_1,0,T,TASK_InputProcessing,92,terminate
-185160400,TASK_InputProcessing,92,SCHED,SCHED_Tasks_C1,-1,processterminate
-185160400,Core_1,0,C,Core_1,0,idle
-185160400,TASK_InputProcessing,92,C,Core_1,0,idle
-185160450,TASK_InputProcessing,92,STI,IR_SCHED_Tasks_C1,624,trigger
-185160450,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-185160500,TASK_CalcEngineSpeed,92,STI,IR_SCHED_Tasks_C2,596,trigger
-185160500,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-185160500,TASK_10MS,18,R,FUNC_EXECTIME_1,337,suspend
-185160500,Core_2,0,T,TASK_10MS,18,preempt
-185160500,Core_2,0,C,Core_2,0,idle_execution
-185160500,TASK_10MS,18,C,Core_2,0,idle_execution
-185160500,Core_2,0,T,TASK_CalcEngineSpeed,92,start
-185160500,TASK_CalcEngineSpeed,92,R,FUNC_ENGINESPEED,92,start
-185160500,Core_2,0,C,Core_2,0,execute
-185160500,TASK_CalcEngineSpeed,92,C,Core_2,0,execute
-185250000,SIM,-1,STI,TIMER-1MS,185,trigger
-185250000,TIMER-1MS,185,T,TASK_1MS,185,activate
-185250000,TASK_1MS,185,SCHED,SCHED_Tasks_C1,-1,processactivate
-185250100,TASK_1MS,185,STI,IR_SCHED_Tasks_C1,625,trigger
-185250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-185250100,Core_1,0,T,TASK_1MS,185,start
-185250100,TASK_1MS,185,R,FUNC_EXECTIME_1,338,start
-185250100,Core_1,0,C,Core_1,0,execute
-185250100,TASK_1MS,185,C,Core_1,0,execute
-185343100,TASK_CalcEngineSpeed,92,R,FUNC_ENGINESPEED,92,terminate
-185343100,Core_2,0,T,TASK_CalcEngineSpeed,92,terminate
-185343100,TASK_CalcEngineSpeed,92,SCHED,SCHED_Tasks_C2,-1,processterminate
-185343100,Core_2,0,C,Core_2,0,idle
-185343100,TASK_CalcEngineSpeed,92,C,Core_2,0,idle
-185343200,TASK_CalcEngineSpeed,92,STI,IR_SCHED_Tasks_C2,597,trigger
-185343200,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-185343200,Core_2,0,C,Core_2,0,execute_idle
-185343200,TASK_10MS,18,C,Core_2,0,execute_idle
-185343200,Core_2,0,T,TASK_10MS,18,resume
-185343200,TASK_10MS,18,R,FUNC_EXECTIME_1,337,resume
-185806575,TASK_10MS,18,R,FUNC_EXECTIME_1,337,terminate
-185806575,Core_2,0,T,TASK_10MS,18,terminate
-185806575,TASK_10MS,18,SCHED,SCHED_Tasks_C2,-1,processterminate
-185806575,Core_2,0,C,Core_2,0,idle
-185806575,TASK_10MS,18,C,Core_2,0,idle
-185806675,TASK_10MS,18,STI,IR_SCHED_Tasks_C2,598,trigger
-185806675,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-185838950,TASK_1MS,185,R,FUNC_EXECTIME_1,338,terminate
-185838950,Core_1,0,T,TASK_1MS,185,terminate
-185838950,TASK_1MS,185,SCHED,SCHED_Tasks_C1,-1,processterminate
-185838950,Core_1,0,C,Core_1,0,idle
-185838950,TASK_1MS,185,C,Core_1,0,idle
-185839050,TASK_1MS,185,STI,IR_SCHED_Tasks_C1,626,trigger
-185839050,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-186000000,SIM,-1,STI,TIMER-B_2ms,93,trigger
-186000000,TIMER-B_2ms,93,T,TASK_WritingActuator,93,activate
-186000000,TASK_WritingActuator,93,SCHED,SCHED_Tasks_C2,-1,processactivate
-186000100,TASK_WritingActuator,93,STI,IR_SCHED_Tasks_C2,599,trigger
-186000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-186000100,Core_2,0,T,TASK_WritingActuator,93,start
-186000100,TASK_WritingActuator,93,R,FUNC_SEMLOCK,186,start
-186000100,Core_2,0,C,Core_2,0,execute
-186000100,TASK_WritingActuator,93,C,Core_2,0,execute
-186100000,SIM,-1,STI,TIMER-5MS,93,trigger
-186100000,TIMER-5MS,93,T,TASK_5MS,93,activate
-186100000,TASK_5MS,93,SCHED,SCHED_Tasks_C2,-1,processactivate
-186100100,TASK_5MS,93,STI,IR_SCHED_Tasks_C2,600,trigger
-186100100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-186125100,TASK_WritingActuator,93,SEM,SEM_DataElement1,0,requestsemaphore,0
-186125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-186125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-186125100,Core_2,0,C,Core_2,0,lock
-186125100,TASK_WritingActuator,93,SEM,SEM_DataElement1,0,assigned,1
-186125150,TASK_WritingActuator,93,R,FUNC_SEMLOCK,186,terminate
-186125150,Core_2,0,C,Core_2,0,unlock
-186125150,TASK_WritingActuator,93,R,FUNC_WriteData,93,start
-186150000,SIM,-1,STI,TIMER-A_2ms,93,trigger
-186150000,TIMER-A_2ms,93,T,TASK_InputProcessing,93,activate
-186150000,TASK_InputProcessing,93,SCHED,SCHED_Tasks_C1,-1,processactivate
-186150100,TASK_InputProcessing,93,STI,IR_SCHED_Tasks_C1,627,trigger
-186150100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-186150100,Core_1,0,T,TASK_InputProcessing,93,start
-186150100,TASK_InputProcessing,93,R,FUNC_SEMLOCK,187,start
-186150100,Core_1,0,C,Core_1,0,execute
-186150100,TASK_InputProcessing,93,C,Core_1,0,execute
-186152225,TASK_WritingActuator,93,SIG,SIG_Mixture,0,write,0
-186152225,TASK_WritingActuator,93,R,FUNC_WriteData,93,terminate
-186152225,TASK_WritingActuator,93,R,FUNC_SEMUNLOCK,186,start
-186250000,SIM,-1,STI,TIMER-1MS,186,trigger
-186250000,TIMER-1MS,186,T,TASK_1MS,186,activate
-186250000,TASK_1MS,186,SCHED,SCHED_Tasks_C1,-1,processactivate
-186250100,TASK_1MS,186,STI,IR_SCHED_Tasks_C1,628,trigger
-186250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-186250100,TASK_InputProcessing,93,R,FUNC_SEMLOCK,187,suspend
-186250100,Core_1,0,T,TASK_InputProcessing,93,preempt
-186250100,Core_1,0,C,Core_1,0,idle_execution
-186250100,TASK_InputProcessing,93,C,Core_1,0,idle_execution
-186250100,Core_1,0,T,TASK_1MS,186,start
-186250100,TASK_1MS,186,R,FUNC_EXECTIME_1,340,start
-186250100,Core_1,0,C,Core_1,0,execute
-186250100,TASK_1MS,186,C,Core_1,0,execute
-186352225,TASK_WritingActuator,93,SEM,SEM_DataElement1,0,released,1
-186352225,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-186352225,TASK_WritingActuator,93,SCHED,SCHED_Tasks_C2,-1,schedulepoint
-186352225,Core_2,0,C,Core_2,0,lock
-186352275,TASK_WritingActuator,93,R,FUNC_SEMUNLOCK,186,terminate
-186352275,Core_2,0,T,TASK_WritingActuator,93,terminate
-186352275,TASK_WritingActuator,93,SCHED,SCHED_Tasks_C2,-1,processterminate
-186352275,Core_2,0,C,Core_2,0,unlock
-186352275,Core_2,0,C,Core_2,0,idle
-186352275,TASK_WritingActuator,93,C,Core_2,0,idle
-186352325,TASK_WritingActuator,93,STI,IR_SCHED_Tasks_C2,601,trigger
-186352325,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-186352325,Core_2,0,T,TASK_5MS,93,start
-186352325,TASK_5MS,93,R,FUNC_EXECTIME_1,339,start
-186352325,Core_2,0,C,Core_2,0,execute
-186352325,TASK_5MS,93,C,Core_2,0,execute
-186682575,TASK_5MS,93,R,FUNC_EXECTIME_1,339,terminate
-186682575,Core_2,0,T,TASK_5MS,93,terminate
-186682575,TASK_5MS,93,SCHED,SCHED_Tasks_C2,-1,processterminate
-186682575,Core_2,0,C,Core_2,0,idle
-186682575,TASK_5MS,93,C,Core_2,0,idle
-186682675,TASK_5MS,93,STI,IR_SCHED_Tasks_C2,602,trigger
-186682675,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-186910750,TASK_1MS,186,R,FUNC_EXECTIME_1,340,terminate
-186910750,Core_1,0,T,TASK_1MS,186,terminate
-186910750,TASK_1MS,186,SCHED,SCHED_Tasks_C1,-1,processterminate
-186910750,Core_1,0,C,Core_1,0,idle
-186910750,TASK_1MS,186,C,Core_1,0,idle
-186910850,TASK_1MS,186,STI,IR_SCHED_Tasks_C1,629,trigger
-186910850,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-186910850,Core_1,0,C,Core_1,0,execute_idle
-186910850,TASK_InputProcessing,93,C,Core_1,0,execute_idle
-186910850,Core_1,0,T,TASK_InputProcessing,93,resume
-186910850,TASK_InputProcessing,93,R,FUNC_SEMLOCK,187,resume
-186935850,TASK_InputProcessing,93,SEM,SEM_DataElement1,0,requestsemaphore,0
-186935850,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-186935850,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-186935850,Core_1,0,C,Core_1,0,lock
-186935850,TASK_InputProcessing,93,SEM,SEM_DataElement1,0,assigned,1
-186935900,TASK_InputProcessing,93,R,FUNC_SEMLOCK,187,terminate
-186935900,Core_1,0,C,Core_1,0,unlock
-186935900,TASK_InputProcessing,93,R,FUNC_ReadSensorData,93,start
-187096625,TASK_InputProcessing,93,SIG,SIG_RotationSpeed,0,read,0
-187096625,TASK_InputProcessing,93,SIG,SIG_Lambda,0,read,0
-187096625,TASK_InputProcessing,93,SIG,SIG_Temperature,0,read,0
-187096625,TASK_InputProcessing,93,R,FUNC_ReadSensorData,93,terminate
-187096625,TASK_InputProcessing,93,R,FUNC_SEMUNLOCK,187,start
-187250000,SIM,-1,STI,TIMER-1MS,187,trigger
-187250000,TIMER-1MS,187,T,TASK_1MS,187,activate
-187250000,TASK_1MS,187,SCHED,SCHED_Tasks_C1,-1,processactivate
-187250100,TASK_1MS,187,STI,IR_SCHED_Tasks_C1,630,trigger
-187250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-187296625,TASK_InputProcessing,93,SEM,SEM_DataElement1,0,released,1
-187296625,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-187296625,TASK_InputProcessing,93,SCHED,SCHED_Tasks_C1,-1,schedulepoint
-187296625,Core_1,0,C,Core_1,0,lock
-187296675,TASK_InputProcessing,93,R,FUNC_SEMUNLOCK,187,terminate
-187296675,Core_1,0,C,Core_1,0,unlock
-187296675,TASK_InputProcessing,93,STI,IPA_InputReady,93,trigger
-187296675,IPA_InputReady,93,T,TASK_CalcEngineSpeed,93,activate
-187296675,TASK_CalcEngineSpeed,93,SCHED,SCHED_Tasks_C2,-1,processactivate
-187296675,Core_1,0,T,TASK_InputProcessing,93,terminate
-187296675,TASK_InputProcessing,93,SCHED,SCHED_Tasks_C1,-1,processterminate
-187296675,Core_1,0,C,Core_1,0,idle
-187296675,TASK_InputProcessing,93,C,Core_1,0,idle
-187296725,TASK_InputProcessing,93,STI,IR_SCHED_Tasks_C1,631,trigger
-187296725,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-187296725,Core_1,0,T,TASK_1MS,187,start
-187296725,TASK_1MS,187,R,FUNC_EXECTIME_1,341,start
-187296725,Core_1,0,C,Core_1,0,execute
-187296725,TASK_1MS,187,C,Core_1,0,execute
-187296775,TASK_CalcEngineSpeed,93,STI,IR_SCHED_Tasks_C2,603,trigger
-187296775,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-187296775,Core_2,0,T,TASK_CalcEngineSpeed,93,start
-187296775,TASK_CalcEngineSpeed,93,R,FUNC_ENGINESPEED,93,start
-187296775,Core_2,0,C,Core_2,0,execute
-187296775,TASK_CalcEngineSpeed,93,C,Core_2,0,execute
-187414200,TASK_CalcEngineSpeed,93,R,FUNC_ENGINESPEED,93,terminate
-187414200,Core_2,0,T,TASK_CalcEngineSpeed,93,terminate
-187414200,TASK_CalcEngineSpeed,93,SCHED,SCHED_Tasks_C2,-1,processterminate
-187414200,Core_2,0,C,Core_2,0,idle
-187414200,TASK_CalcEngineSpeed,93,C,Core_2,0,idle
-187414300,TASK_CalcEngineSpeed,93,STI,IR_SCHED_Tasks_C2,604,trigger
-187414300,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-187909750,TASK_1MS,187,R,FUNC_EXECTIME_1,341,terminate
-187909750,Core_1,0,T,TASK_1MS,187,terminate
-187909750,TASK_1MS,187,SCHED,SCHED_Tasks_C1,-1,processterminate
-187909750,Core_1,0,C,Core_1,0,idle
-187909750,TASK_1MS,187,C,Core_1,0,idle
-187909850,TASK_1MS,187,STI,IR_SCHED_Tasks_C1,632,trigger
-187909850,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-188000000,SIM,-1,STI,TIMER-B_2ms,94,trigger
-188000000,TIMER-B_2ms,94,T,TASK_WritingActuator,94,activate
-188000000,TASK_WritingActuator,94,SCHED,SCHED_Tasks_C2,-1,processactivate
-188000100,TASK_WritingActuator,94,STI,IR_SCHED_Tasks_C2,605,trigger
-188000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-188000100,Core_2,0,T,TASK_WritingActuator,94,start
-188000100,TASK_WritingActuator,94,R,FUNC_SEMLOCK,188,start
-188000100,Core_2,0,C,Core_2,0,execute
-188000100,TASK_WritingActuator,94,C,Core_2,0,execute
-188100000,SIM,-1,STI,TIMER-5MS,94,trigger
-188100000,TIMER-5MS,94,T,TASK_5MS,94,activate
-188100000,TASK_5MS,94,SCHED,SCHED_Tasks_C2,-1,processactivate
-188100100,TASK_5MS,94,STI,IR_SCHED_Tasks_C2,606,trigger
-188100100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-188125100,TASK_WritingActuator,94,SEM,SEM_DataElement1,0,requestsemaphore,0
-188125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-188125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-188125100,Core_2,0,C,Core_2,0,lock
-188125100,TASK_WritingActuator,94,SEM,SEM_DataElement1,0,assigned,1
-188125150,TASK_WritingActuator,94,R,FUNC_SEMLOCK,188,terminate
-188125150,Core_2,0,C,Core_2,0,unlock
-188125150,TASK_WritingActuator,94,R,FUNC_WriteData,94,start
-188150000,SIM,-1,STI,TIMER-A_2ms,94,trigger
-188150000,TIMER-A_2ms,94,T,TASK_InputProcessing,94,activate
-188150000,TASK_InputProcessing,94,SCHED,SCHED_Tasks_C1,-1,processactivate
-188150100,TASK_InputProcessing,94,STI,IR_SCHED_Tasks_C1,633,trigger
-188150100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-188150100,Core_1,0,T,TASK_InputProcessing,94,start
-188150100,TASK_InputProcessing,94,R,FUNC_SEMLOCK,189,start
-188150100,Core_1,0,C,Core_1,0,execute
-188150100,TASK_InputProcessing,94,C,Core_1,0,execute
-188152375,TASK_WritingActuator,94,SIG,SIG_Mixture,0,write,0
-188152375,TASK_WritingActuator,94,R,FUNC_WriteData,94,terminate
-188152375,TASK_WritingActuator,94,R,FUNC_SEMUNLOCK,188,start
-188250000,SIM,-1,STI,TIMER-1MS,188,trigger
-188250000,TIMER-1MS,188,T,TASK_1MS,188,activate
-188250000,TASK_1MS,188,SCHED,SCHED_Tasks_C1,-1,processactivate
-188250100,TASK_1MS,188,STI,IR_SCHED_Tasks_C1,634,trigger
-188250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-188250100,TASK_InputProcessing,94,R,FUNC_SEMLOCK,189,suspend
-188250100,Core_1,0,T,TASK_InputProcessing,94,preempt
-188250100,Core_1,0,C,Core_1,0,idle_execution
-188250100,TASK_InputProcessing,94,C,Core_1,0,idle_execution
-188250100,Core_1,0,T,TASK_1MS,188,start
-188250100,TASK_1MS,188,R,FUNC_EXECTIME_1,343,start
-188250100,Core_1,0,C,Core_1,0,execute
-188250100,TASK_1MS,188,C,Core_1,0,execute
-188352375,TASK_WritingActuator,94,SEM,SEM_DataElement1,0,released,1
-188352375,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-188352375,TASK_WritingActuator,94,SCHED,SCHED_Tasks_C2,-1,schedulepoint
-188352375,Core_2,0,C,Core_2,0,lock
-188352425,TASK_WritingActuator,94,R,FUNC_SEMUNLOCK,188,terminate
-188352425,Core_2,0,T,TASK_WritingActuator,94,terminate
-188352425,TASK_WritingActuator,94,SCHED,SCHED_Tasks_C2,-1,processterminate
-188352425,Core_2,0,C,Core_2,0,unlock
-188352425,Core_2,0,C,Core_2,0,idle
-188352425,TASK_WritingActuator,94,C,Core_2,0,idle
-188352475,TASK_WritingActuator,94,STI,IR_SCHED_Tasks_C2,607,trigger
-188352475,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-188352475,Core_2,0,T,TASK_5MS,94,start
-188352475,TASK_5MS,94,R,FUNC_EXECTIME_1,342,start
-188352475,Core_2,0,C,Core_2,0,execute
-188352475,TASK_5MS,94,C,Core_2,0,execute
-188703400,TASK_1MS,188,R,FUNC_EXECTIME_1,343,terminate
-188703400,Core_1,0,T,TASK_1MS,188,terminate
-188703400,TASK_1MS,188,SCHED,SCHED_Tasks_C1,-1,processterminate
-188703400,Core_1,0,C,Core_1,0,idle
-188703400,TASK_1MS,188,C,Core_1,0,idle
-188703500,TASK_1MS,188,STI,IR_SCHED_Tasks_C1,635,trigger
-188703500,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-188703500,Core_1,0,C,Core_1,0,execute_idle
-188703500,TASK_InputProcessing,94,C,Core_1,0,execute_idle
-188703500,Core_1,0,T,TASK_InputProcessing,94,resume
-188703500,TASK_InputProcessing,94,R,FUNC_SEMLOCK,189,resume
-188728500,TASK_InputProcessing,94,SEM,SEM_DataElement1,0,requestsemaphore,0
-188728500,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-188728500,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-188728500,Core_1,0,C,Core_1,0,lock
-188728500,TASK_InputProcessing,94,SEM,SEM_DataElement1,0,assigned,1
-188728550,TASK_InputProcessing,94,R,FUNC_SEMLOCK,189,terminate
-188728550,Core_1,0,C,Core_1,0,unlock
-188728550,TASK_InputProcessing,94,R,FUNC_ReadSensorData,94,start
-188890700,TASK_InputProcessing,94,SIG,SIG_RotationSpeed,0,read,0
-188890700,TASK_InputProcessing,94,SIG,SIG_Lambda,0,read,0
-188890700,TASK_InputProcessing,94,SIG,SIG_Temperature,0,read,0
-188890700,TASK_InputProcessing,94,R,FUNC_ReadSensorData,94,terminate
-188890700,TASK_InputProcessing,94,R,FUNC_SEMUNLOCK,189,start
-189012075,TASK_5MS,94,R,FUNC_EXECTIME_1,342,terminate
-189012075,Core_2,0,T,TASK_5MS,94,terminate
-189012075,TASK_5MS,94,SCHED,SCHED_Tasks_C2,-1,processterminate
-189012075,Core_2,0,C,Core_2,0,idle
-189012075,TASK_5MS,94,C,Core_2,0,idle
-189012175,TASK_5MS,94,STI,IR_SCHED_Tasks_C2,608,trigger
-189012175,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-189090700,TASK_InputProcessing,94,SEM,SEM_DataElement1,0,released,1
-189090700,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-189090700,TASK_InputProcessing,94,SCHED,SCHED_Tasks_C1,-1,schedulepoint
-189090700,Core_1,0,C,Core_1,0,lock
-189090750,TASK_InputProcessing,94,R,FUNC_SEMUNLOCK,189,terminate
-189090750,Core_1,0,C,Core_1,0,unlock
-189090750,TASK_InputProcessing,94,STI,IPA_InputReady,94,trigger
-189090750,IPA_InputReady,94,T,TASK_CalcEngineSpeed,94,activate
-189090750,TASK_CalcEngineSpeed,94,SCHED,SCHED_Tasks_C2,-1,processactivate
-189090750,Core_1,0,T,TASK_InputProcessing,94,terminate
-189090750,TASK_InputProcessing,94,SCHED,SCHED_Tasks_C1,-1,processterminate
-189090750,Core_1,0,C,Core_1,0,idle
-189090750,TASK_InputProcessing,94,C,Core_1,0,idle
-189090800,TASK_InputProcessing,94,STI,IR_SCHED_Tasks_C1,636,trigger
-189090800,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-189090850,TASK_CalcEngineSpeed,94,STI,IR_SCHED_Tasks_C2,609,trigger
-189090850,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-189090850,Core_2,0,T,TASK_CalcEngineSpeed,94,start
-189090850,TASK_CalcEngineSpeed,94,R,FUNC_ENGINESPEED,94,start
-189090850,Core_2,0,C,Core_2,0,execute
-189090850,TASK_CalcEngineSpeed,94,C,Core_2,0,execute
-189250000,SIM,-1,STI,TIMER-1MS,189,trigger
-189250000,TIMER-1MS,189,T,TASK_1MS,189,activate
-189250000,TASK_1MS,189,SCHED,SCHED_Tasks_C1,-1,processactivate
-189250100,TASK_1MS,189,STI,IR_SCHED_Tasks_C1,637,trigger
-189250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-189250100,Core_1,0,T,TASK_1MS,189,start
-189250100,TASK_1MS,189,R,FUNC_EXECTIME_1,344,start
-189250100,Core_1,0,C,Core_1,0,execute
-189250100,TASK_1MS,189,C,Core_1,0,execute
-189322675,TASK_CalcEngineSpeed,94,R,FUNC_ENGINESPEED,94,terminate
-189322675,Core_2,0,T,TASK_CalcEngineSpeed,94,terminate
-189322675,TASK_CalcEngineSpeed,94,SCHED,SCHED_Tasks_C2,-1,processterminate
-189322675,Core_2,0,C,Core_2,0,idle
-189322675,TASK_CalcEngineSpeed,94,C,Core_2,0,idle
-189322775,TASK_CalcEngineSpeed,94,STI,IR_SCHED_Tasks_C2,610,trigger
-189322775,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-190000000,SIM,-1,STI,TIMER-B_2ms,95,trigger
-190000000,TIMER-B_2ms,95,T,TASK_WritingActuator,95,activate
-190000000,TASK_WritingActuator,95,SCHED,SCHED_Tasks_C2,-1,processactivate
-190000000,SIM,-1,STI,TIMER-10MS_2,19,trigger
-190000000,TIMER-10MS_2,19,T,TASK_10MS_DL2,19,activate
-190000000,TASK_10MS_DL2,19,SCHED,SCHED_Tasks_C1,-1,processactivate
-190000100,TASK_WritingActuator,95,STI,IR_SCHED_Tasks_C2,611,trigger
-190000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-190000100,Core_2,0,T,TASK_WritingActuator,95,start
-190000100,TASK_WritingActuator,95,R,FUNC_SEMLOCK,190,start
-190000100,Core_2,0,C,Core_2,0,execute
-190000100,TASK_WritingActuator,95,C,Core_2,0,execute
-190000100,TASK_10MS_DL2,19,STI,IR_SCHED_Tasks_C1,638,trigger
-190000100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-190100000,SIM,-1,STI,TIMER-5MS,95,trigger
-190100000,TIMER-5MS,95,T,TASK_5MS,95,activate
-190100000,TASK_5MS,95,SCHED,SCHED_Tasks_C2,-1,processactivate
-190100100,TASK_5MS,95,STI,IR_SCHED_Tasks_C2,612,trigger
-190100100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-190125100,TASK_WritingActuator,95,SEM,SEM_DataElement1,0,requestsemaphore,0
-190125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-190125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-190125100,Core_2,0,C,Core_2,0,lock
-190125100,TASK_WritingActuator,95,SEM,SEM_DataElement1,0,assigned,1
-190125150,TASK_WritingActuator,95,R,FUNC_SEMLOCK,190,terminate
-190125150,Core_2,0,C,Core_2,0,unlock
-190125150,TASK_WritingActuator,95,R,FUNC_WriteData,95,start
-190150000,SIM,-1,STI,TIMER-A_2ms,95,trigger
-190150000,TIMER-A_2ms,95,T,TASK_InputProcessing,95,activate
-190150000,TASK_InputProcessing,95,SCHED,SCHED_Tasks_C1,-1,processactivate
-190150100,TASK_InputProcessing,95,STI,IR_SCHED_Tasks_C1,639,trigger
-190150100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-190152225,TASK_WritingActuator,95,SIG,SIG_Mixture,0,write,0
-190152225,TASK_WritingActuator,95,R,FUNC_WriteData,95,terminate
-190152225,TASK_WritingActuator,95,R,FUNC_SEMUNLOCK,190,start
-190174350,TASK_1MS,189,R,FUNC_EXECTIME_1,344,terminate
-190174350,Core_1,0,T,TASK_1MS,189,terminate
-190174350,TASK_1MS,189,SCHED,SCHED_Tasks_C1,-1,processterminate
-190174350,Core_1,0,C,Core_1,0,idle
-190174350,TASK_1MS,189,C,Core_1,0,idle
-190174450,TASK_1MS,189,STI,IR_SCHED_Tasks_C1,640,trigger
-190174450,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-190174450,Core_1,0,T,TASK_10MS_DL2,19,start
-190174450,TASK_10MS_DL2,19,R,FUNC_EXECTIME_1,345,start
-190174450,Core_1,0,C,Core_1,0,execute
-190174450,TASK_10MS_DL2,19,C,Core_1,0,execute
-190250000,SIM,-1,STI,TIMER-1MS,190,trigger
-190250000,TIMER-1MS,190,T,TASK_1MS,190,activate
-190250000,TASK_1MS,190,SCHED,SCHED_Tasks_C1,-1,processactivate
-190250100,TASK_1MS,190,STI,IR_SCHED_Tasks_C1,641,trigger
-190250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-190250100,TASK_10MS_DL2,19,R,FUNC_EXECTIME_1,345,suspend
-190250100,Core_1,0,T,TASK_10MS_DL2,19,preempt
-190250100,Core_1,0,C,Core_1,0,idle_execution
-190250100,TASK_10MS_DL2,19,C,Core_1,0,idle_execution
-190250100,Core_1,0,T,TASK_1MS,190,start
-190250100,TASK_1MS,190,R,FUNC_EXECTIME_1,347,start
-190250100,Core_1,0,C,Core_1,0,execute
-190250100,TASK_1MS,190,C,Core_1,0,execute
-190352225,TASK_WritingActuator,95,SEM,SEM_DataElement1,0,released,1
-190352225,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-190352225,TASK_WritingActuator,95,SCHED,SCHED_Tasks_C2,-1,schedulepoint
-190352225,Core_2,0,C,Core_2,0,lock
-190352275,TASK_WritingActuator,95,R,FUNC_SEMUNLOCK,190,terminate
-190352275,Core_2,0,T,TASK_WritingActuator,95,terminate
-190352275,TASK_WritingActuator,95,SCHED,SCHED_Tasks_C2,-1,processterminate
-190352275,Core_2,0,C,Core_2,0,unlock
-190352275,Core_2,0,C,Core_2,0,idle
-190352275,TASK_WritingActuator,95,C,Core_2,0,idle
-190352325,TASK_WritingActuator,95,STI,IR_SCHED_Tasks_C2,613,trigger
-190352325,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-190352325,Core_2,0,T,TASK_5MS,95,start
-190352325,TASK_5MS,95,R,FUNC_EXECTIME_1,346,start
-190352325,Core_2,0,C,Core_2,0,execute
-190352325,TASK_5MS,95,C,Core_2,0,execute
-190631450,TASK_1MS,190,R,FUNC_EXECTIME_1,347,terminate
-190631450,Core_1,0,T,TASK_1MS,190,terminate
-190631450,TASK_1MS,190,SCHED,SCHED_Tasks_C1,-1,processterminate
-190631450,Core_1,0,C,Core_1,0,idle
-190631450,TASK_1MS,190,C,Core_1,0,idle
-190631550,TASK_1MS,190,STI,IR_SCHED_Tasks_C1,642,trigger
-190631550,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-190631550,Core_1,0,C,Core_1,0,execute_idle
-190631550,TASK_10MS_DL2,19,C,Core_1,0,execute_idle
-190631550,Core_1,0,T,TASK_10MS_DL2,19,resume
-190631550,TASK_10MS_DL2,19,R,FUNC_EXECTIME_1,345,resume
-190714875,TASK_5MS,95,R,FUNC_EXECTIME_1,346,terminate
-190714875,Core_2,0,T,TASK_5MS,95,terminate
-190714875,TASK_5MS,95,SCHED,SCHED_Tasks_C2,-1,processterminate
-190714875,Core_2,0,C,Core_2,0,idle
-190714875,TASK_5MS,95,C,Core_2,0,idle
-190714975,TASK_5MS,95,STI,IR_SCHED_Tasks_C2,614,trigger
-190714975,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-191109450,TASK_10MS_DL2,19,R,FUNC_EXECTIME_1,345,terminate
-191109450,Core_1,0,T,TASK_10MS_DL2,19,terminate
-191109450,TASK_10MS_DL2,19,SCHED,SCHED_Tasks_C1,-1,processterminate
-191109450,Core_1,0,C,Core_1,0,idle
-191109450,TASK_10MS_DL2,19,C,Core_1,0,idle
-191109550,TASK_10MS_DL2,19,STI,IR_SCHED_Tasks_C1,643,trigger
-191109550,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-191109550,Core_1,0,T,TASK_InputProcessing,95,start
-191109550,TASK_InputProcessing,95,R,FUNC_SEMLOCK,191,start
-191109550,Core_1,0,C,Core_1,0,execute
-191109550,TASK_InputProcessing,95,C,Core_1,0,execute
-191234550,TASK_InputProcessing,95,SEM,SEM_DataElement1,0,requestsemaphore,0
-191234550,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-191234550,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-191234550,Core_1,0,C,Core_1,0,lock
-191234550,TASK_InputProcessing,95,SEM,SEM_DataElement1,0,assigned,1
-191234600,TASK_InputProcessing,95,R,FUNC_SEMLOCK,191,terminate
-191234600,Core_1,0,C,Core_1,0,unlock
-191234600,TASK_InputProcessing,95,R,FUNC_ReadSensorData,95,start
-191250000,SIM,-1,STI,TIMER-1MS,191,trigger
-191250000,TIMER-1MS,191,T,TASK_1MS,191,activate
-191250000,TASK_1MS,191,SCHED,SCHED_Tasks_C1,-1,processactivate
-191250100,TASK_1MS,191,STI,IR_SCHED_Tasks_C1,644,trigger
-191250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-191399025,TASK_InputProcessing,95,SIG,SIG_RotationSpeed,0,read,0
-191399025,TASK_InputProcessing,95,SIG,SIG_Lambda,0,read,0
-191399025,TASK_InputProcessing,95,SIG,SIG_Temperature,0,read,0
-191399025,TASK_InputProcessing,95,R,FUNC_ReadSensorData,95,terminate
-191399025,TASK_InputProcessing,95,R,FUNC_SEMUNLOCK,191,start
-191599025,TASK_InputProcessing,95,SEM,SEM_DataElement1,0,released,1
-191599025,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-191599025,TASK_InputProcessing,95,SCHED,SCHED_Tasks_C1,-1,schedulepoint
-191599025,Core_1,0,C,Core_1,0,lock
-191599075,TASK_InputProcessing,95,R,FUNC_SEMUNLOCK,191,terminate
-191599075,Core_1,0,C,Core_1,0,unlock
-191599075,TASK_InputProcessing,95,STI,IPA_InputReady,95,trigger
-191599075,IPA_InputReady,95,T,TASK_CalcEngineSpeed,95,activate
-191599075,TASK_CalcEngineSpeed,95,SCHED,SCHED_Tasks_C2,-1,processactivate
-191599075,Core_1,0,T,TASK_InputProcessing,95,terminate
-191599075,TASK_InputProcessing,95,SCHED,SCHED_Tasks_C1,-1,processterminate
-191599075,Core_1,0,C,Core_1,0,idle
-191599075,TASK_InputProcessing,95,C,Core_1,0,idle
-191599125,TASK_InputProcessing,95,STI,IR_SCHED_Tasks_C1,645,trigger
-191599125,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-191599125,Core_1,0,T,TASK_1MS,191,start
-191599125,TASK_1MS,191,R,FUNC_EXECTIME_1,348,start
-191599125,Core_1,0,C,Core_1,0,execute
-191599125,TASK_1MS,191,C,Core_1,0,execute
-191599175,TASK_CalcEngineSpeed,95,STI,IR_SCHED_Tasks_C2,615,trigger
-191599175,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-191599175,Core_2,0,T,TASK_CalcEngineSpeed,95,start
-191599175,TASK_CalcEngineSpeed,95,R,FUNC_ENGINESPEED,95,start
-191599175,Core_2,0,C,Core_2,0,execute
-191599175,TASK_CalcEngineSpeed,95,C,Core_2,0,execute
-191744375,TASK_CalcEngineSpeed,95,R,FUNC_ENGINESPEED,95,terminate
-191744375,Core_2,0,T,TASK_CalcEngineSpeed,95,terminate
-191744375,TASK_CalcEngineSpeed,95,SCHED,SCHED_Tasks_C2,-1,processterminate
-191744375,Core_2,0,C,Core_2,0,idle
-191744375,TASK_CalcEngineSpeed,95,C,Core_2,0,idle
-191744475,TASK_CalcEngineSpeed,95,STI,IR_SCHED_Tasks_C2,616,trigger
-191744475,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-192000000,SIM,-1,STI,TIMER-B_2ms,96,trigger
-192000000,TIMER-B_2ms,96,T,TASK_WritingActuator,96,activate
-192000000,TASK_WritingActuator,96,SCHED,SCHED_Tasks_C2,-1,processactivate
-192000100,TASK_WritingActuator,96,STI,IR_SCHED_Tasks_C2,617,trigger
-192000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-192000100,Core_2,0,T,TASK_WritingActuator,96,start
-192000100,TASK_WritingActuator,96,R,FUNC_SEMLOCK,192,start
-192000100,Core_2,0,C,Core_2,0,execute
-192000100,TASK_WritingActuator,96,C,Core_2,0,execute
-192100000,SIM,-1,STI,TIMER-5MS,96,trigger
-192100000,TIMER-5MS,96,T,TASK_5MS,96,activate
-192100000,TASK_5MS,96,SCHED,SCHED_Tasks_C2,-1,processactivate
-192100100,TASK_5MS,96,STI,IR_SCHED_Tasks_C2,618,trigger
-192100100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-192125100,TASK_WritingActuator,96,SEM,SEM_DataElement1,0,requestsemaphore,0
-192125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-192125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-192125100,Core_2,0,C,Core_2,0,lock
-192125100,TASK_WritingActuator,96,SEM,SEM_DataElement1,0,assigned,1
-192125150,TASK_WritingActuator,96,R,FUNC_SEMLOCK,192,terminate
-192125150,Core_2,0,C,Core_2,0,unlock
-192125150,TASK_WritingActuator,96,R,FUNC_WriteData,96,start
-192150000,SIM,-1,STI,TIMER-A_2ms,96,trigger
-192150000,TIMER-A_2ms,96,T,TASK_InputProcessing,96,activate
-192150000,TASK_InputProcessing,96,SCHED,SCHED_Tasks_C1,-1,processactivate
-192150100,TASK_InputProcessing,96,STI,IR_SCHED_Tasks_C1,646,trigger
-192150100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-192152300,TASK_WritingActuator,96,SIG,SIG_Mixture,0,write,0
-192152300,TASK_WritingActuator,96,R,FUNC_WriteData,96,terminate
-192152300,TASK_WritingActuator,96,R,FUNC_SEMUNLOCK,192,start
-192250000,SIM,-1,STI,TIMER-1MS,192,trigger
-192250000,TIMER-1MS,192,T,TASK_1MS,192,activate
-192250000,TASK_1MS,192,SCHED,SCHED_Tasks_C1,-1,processactivate
-192250100,TASK_1MS,192,STI,IR_SCHED_Tasks_C1,647,trigger
-192250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-192330575,TASK_1MS,191,R,FUNC_EXECTIME_1,348,terminate
-192330575,Core_1,0,T,TASK_1MS,191,terminate
-192330575,TASK_1MS,191,SCHED,SCHED_Tasks_C1,-1,processterminate
-192330575,Core_1,0,C,Core_1,0,idle
-192330575,TASK_1MS,191,C,Core_1,0,idle
-192330675,TASK_1MS,191,STI,IR_SCHED_Tasks_C1,648,trigger
-192330675,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-192330675,Core_1,0,T,TASK_1MS,192,start
-192330675,TASK_1MS,192,R,FUNC_EXECTIME_1,350,start
-192330675,Core_1,0,C,Core_1,0,execute
-192330675,TASK_1MS,192,C,Core_1,0,execute
-192352300,TASK_WritingActuator,96,SEM,SEM_DataElement1,0,released,1
-192352300,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-192352300,TASK_WritingActuator,96,SCHED,SCHED_Tasks_C2,-1,schedulepoint
-192352300,Core_2,0,C,Core_2,0,lock
-192352350,TASK_WritingActuator,96,R,FUNC_SEMUNLOCK,192,terminate
-192352350,Core_2,0,T,TASK_WritingActuator,96,terminate
-192352350,TASK_WritingActuator,96,SCHED,SCHED_Tasks_C2,-1,processterminate
-192352350,Core_2,0,C,Core_2,0,unlock
-192352350,Core_2,0,C,Core_2,0,idle
-192352350,TASK_WritingActuator,96,C,Core_2,0,idle
-192352400,TASK_WritingActuator,96,STI,IR_SCHED_Tasks_C2,619,trigger
-192352400,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-192352400,Core_2,0,T,TASK_5MS,96,start
-192352400,TASK_5MS,96,R,FUNC_EXECTIME_1,349,start
-192352400,Core_2,0,C,Core_2,0,execute
-192352400,TASK_5MS,96,C,Core_2,0,execute
-192746675,TASK_1MS,192,R,FUNC_EXECTIME_1,350,terminate
-192746675,Core_1,0,T,TASK_1MS,192,terminate
-192746675,TASK_1MS,192,SCHED,SCHED_Tasks_C1,-1,processterminate
-192746675,Core_1,0,C,Core_1,0,idle
-192746675,TASK_1MS,192,C,Core_1,0,idle
-192746775,TASK_1MS,192,STI,IR_SCHED_Tasks_C1,649,trigger
-192746775,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-192746775,Core_1,0,T,TASK_InputProcessing,96,start
-192746775,TASK_InputProcessing,96,R,FUNC_SEMLOCK,193,start
-192746775,Core_1,0,C,Core_1,0,execute
-192746775,TASK_InputProcessing,96,C,Core_1,0,execute
-192795625,TASK_5MS,96,R,FUNC_EXECTIME_1,349,terminate
-192795625,Core_2,0,T,TASK_5MS,96,terminate
-192795625,TASK_5MS,96,SCHED,SCHED_Tasks_C2,-1,processterminate
-192795625,Core_2,0,C,Core_2,0,idle
-192795625,TASK_5MS,96,C,Core_2,0,idle
-192795725,TASK_5MS,96,STI,IR_SCHED_Tasks_C2,620,trigger
-192795725,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-192871775,TASK_InputProcessing,96,SEM,SEM_DataElement1,0,requestsemaphore,0
-192871775,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-192871775,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-192871775,Core_1,0,C,Core_1,0,lock
-192871775,TASK_InputProcessing,96,SEM,SEM_DataElement1,0,assigned,1
-192871825,TASK_InputProcessing,96,R,FUNC_SEMLOCK,193,terminate
-192871825,Core_1,0,C,Core_1,0,unlock
-192871825,TASK_InputProcessing,96,R,FUNC_ReadSensorData,96,start
-193035225,TASK_InputProcessing,96,SIG,SIG_RotationSpeed,0,read,0
-193035225,TASK_InputProcessing,96,SIG,SIG_Lambda,0,read,0
-193035225,TASK_InputProcessing,96,SIG,SIG_Temperature,0,read,0
-193035225,TASK_InputProcessing,96,R,FUNC_ReadSensorData,96,terminate
-193035225,TASK_InputProcessing,96,R,FUNC_SEMUNLOCK,193,start
-193235225,TASK_InputProcessing,96,SEM,SEM_DataElement1,0,released,1
-193235225,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-193235225,TASK_InputProcessing,96,SCHED,SCHED_Tasks_C1,-1,schedulepoint
-193235225,Core_1,0,C,Core_1,0,lock
-193235275,TASK_InputProcessing,96,R,FUNC_SEMUNLOCK,193,terminate
-193235275,Core_1,0,C,Core_1,0,unlock
-193235275,TASK_InputProcessing,96,STI,IPA_InputReady,96,trigger
-193235275,IPA_InputReady,96,T,TASK_CalcEngineSpeed,96,activate
-193235275,TASK_CalcEngineSpeed,96,SCHED,SCHED_Tasks_C2,-1,processactivate
-193235275,Core_1,0,T,TASK_InputProcessing,96,terminate
-193235275,TASK_InputProcessing,96,SCHED,SCHED_Tasks_C1,-1,processterminate
-193235275,Core_1,0,C,Core_1,0,idle
-193235275,TASK_InputProcessing,96,C,Core_1,0,idle
-193235325,TASK_InputProcessing,96,STI,IR_SCHED_Tasks_C1,650,trigger
-193235325,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-193235375,TASK_CalcEngineSpeed,96,STI,IR_SCHED_Tasks_C2,621,trigger
-193235375,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-193235375,Core_2,0,T,TASK_CalcEngineSpeed,96,start
-193235375,TASK_CalcEngineSpeed,96,R,FUNC_ENGINESPEED,96,start
-193235375,Core_2,0,C,Core_2,0,execute
-193235375,TASK_CalcEngineSpeed,96,C,Core_2,0,execute
-193250000,SIM,-1,STI,TIMER-1MS,193,trigger
-193250000,TIMER-1MS,193,T,TASK_1MS,193,activate
-193250000,TASK_1MS,193,SCHED,SCHED_Tasks_C1,-1,processactivate
-193250100,TASK_1MS,193,STI,IR_SCHED_Tasks_C1,651,trigger
-193250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-193250100,Core_1,0,T,TASK_1MS,193,start
-193250100,TASK_1MS,193,R,FUNC_EXECTIME_1,351,start
-193250100,Core_1,0,C,Core_1,0,execute
-193250100,TASK_1MS,193,C,Core_1,0,execute
-193369925,TASK_CalcEngineSpeed,96,R,FUNC_ENGINESPEED,96,terminate
-193369925,Core_2,0,T,TASK_CalcEngineSpeed,96,terminate
-193369925,TASK_CalcEngineSpeed,96,SCHED,SCHED_Tasks_C2,-1,processterminate
-193369925,Core_2,0,C,Core_2,0,idle
-193369925,TASK_CalcEngineSpeed,96,C,Core_2,0,idle
-193370025,TASK_CalcEngineSpeed,96,STI,IR_SCHED_Tasks_C2,622,trigger
-193370025,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-193529850,TASK_1MS,193,R,FUNC_EXECTIME_1,351,terminate
-193529850,Core_1,0,T,TASK_1MS,193,terminate
-193529850,TASK_1MS,193,SCHED,SCHED_Tasks_C1,-1,processterminate
-193529850,Core_1,0,C,Core_1,0,idle
-193529850,TASK_1MS,193,C,Core_1,0,idle
-193529950,TASK_1MS,193,STI,IR_SCHED_Tasks_C1,652,trigger
-193529950,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-194000000,SIM,-1,STI,TIMER-B_2ms,97,trigger
-194000000,TIMER-B_2ms,97,T,TASK_WritingActuator,97,activate
-194000000,TASK_WritingActuator,97,SCHED,SCHED_Tasks_C2,-1,processactivate
-194000100,TASK_WritingActuator,97,STI,IR_SCHED_Tasks_C2,623,trigger
-194000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-194000100,Core_2,0,T,TASK_WritingActuator,97,start
-194000100,TASK_WritingActuator,97,R,FUNC_SEMLOCK,194,start
-194000100,Core_2,0,C,Core_2,0,execute
-194000100,TASK_WritingActuator,97,C,Core_2,0,execute
-194100000,SIM,-1,STI,TIMER-5MS,97,trigger
-194100000,TIMER-5MS,97,T,TASK_5MS,97,activate
-194100000,TASK_5MS,97,SCHED,SCHED_Tasks_C2,-1,processactivate
-194100100,TASK_5MS,97,STI,IR_SCHED_Tasks_C2,624,trigger
-194100100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-194125100,TASK_WritingActuator,97,SEM,SEM_DataElement1,0,requestsemaphore,0
-194125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-194125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-194125100,Core_2,0,C,Core_2,0,lock
-194125100,TASK_WritingActuator,97,SEM,SEM_DataElement1,0,assigned,1
-194125150,TASK_WritingActuator,97,R,FUNC_SEMLOCK,194,terminate
-194125150,Core_2,0,C,Core_2,0,unlock
-194125150,TASK_WritingActuator,97,R,FUNC_WriteData,97,start
-194150000,SIM,-1,STI,TIMER-A_2ms,97,trigger
-194150000,TIMER-A_2ms,97,T,TASK_InputProcessing,97,activate
-194150000,TASK_InputProcessing,97,SCHED,SCHED_Tasks_C1,-1,processactivate
-194150100,TASK_InputProcessing,97,STI,IR_SCHED_Tasks_C1,653,trigger
-194150100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-194150100,Core_1,0,T,TASK_InputProcessing,97,start
-194150100,TASK_InputProcessing,97,R,FUNC_SEMLOCK,195,start
-194150100,Core_1,0,C,Core_1,0,execute
-194150100,TASK_InputProcessing,97,C,Core_1,0,execute
-194152575,TASK_WritingActuator,97,SIG,SIG_Mixture,0,write,0
-194152575,TASK_WritingActuator,97,R,FUNC_WriteData,97,terminate
-194152575,TASK_WritingActuator,97,R,FUNC_SEMUNLOCK,194,start
-194250000,SIM,-1,STI,TIMER-1MS,194,trigger
-194250000,TIMER-1MS,194,T,TASK_1MS,194,activate
-194250000,TASK_1MS,194,SCHED,SCHED_Tasks_C1,-1,processactivate
-194250100,TASK_1MS,194,STI,IR_SCHED_Tasks_C1,654,trigger
-194250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-194250100,TASK_InputProcessing,97,R,FUNC_SEMLOCK,195,suspend
-194250100,Core_1,0,T,TASK_InputProcessing,97,preempt
-194250100,Core_1,0,C,Core_1,0,idle_execution
-194250100,TASK_InputProcessing,97,C,Core_1,0,idle_execution
-194250100,Core_1,0,T,TASK_1MS,194,start
-194250100,TASK_1MS,194,R,FUNC_EXECTIME_1,353,start
-194250100,Core_1,0,C,Core_1,0,execute
-194250100,TASK_1MS,194,C,Core_1,0,execute
-194352575,TASK_WritingActuator,97,SEM,SEM_DataElement1,0,released,1
-194352575,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-194352575,TASK_WritingActuator,97,SCHED,SCHED_Tasks_C2,-1,schedulepoint
-194352575,Core_2,0,C,Core_2,0,lock
-194352625,TASK_WritingActuator,97,R,FUNC_SEMUNLOCK,194,terminate
-194352625,Core_2,0,T,TASK_WritingActuator,97,terminate
-194352625,TASK_WritingActuator,97,SCHED,SCHED_Tasks_C2,-1,processterminate
-194352625,Core_2,0,C,Core_2,0,unlock
-194352625,Core_2,0,C,Core_2,0,idle
-194352625,TASK_WritingActuator,97,C,Core_2,0,idle
-194352675,TASK_WritingActuator,97,STI,IR_SCHED_Tasks_C2,625,trigger
-194352675,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-194352675,Core_2,0,T,TASK_5MS,97,start
-194352675,TASK_5MS,97,R,FUNC_EXECTIME_1,352,start
-194352675,Core_2,0,C,Core_2,0,execute
-194352675,TASK_5MS,97,C,Core_2,0,execute
-194806350,TASK_1MS,194,R,FUNC_EXECTIME_1,353,terminate
-194806350,Core_1,0,T,TASK_1MS,194,terminate
-194806350,TASK_1MS,194,SCHED,SCHED_Tasks_C1,-1,processterminate
-194806350,Core_1,0,C,Core_1,0,idle
-194806350,TASK_1MS,194,C,Core_1,0,idle
-194806450,TASK_1MS,194,STI,IR_SCHED_Tasks_C1,655,trigger
-194806450,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-194806450,Core_1,0,C,Core_1,0,execute_idle
-194806450,TASK_InputProcessing,97,C,Core_1,0,execute_idle
-194806450,Core_1,0,T,TASK_InputProcessing,97,resume
-194806450,TASK_InputProcessing,97,R,FUNC_SEMLOCK,195,resume
-194831450,TASK_InputProcessing,97,SEM,SEM_DataElement1,0,requestsemaphore,0
-194831450,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-194831450,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-194831450,Core_1,0,C,Core_1,0,lock
-194831450,TASK_InputProcessing,97,SEM,SEM_DataElement1,0,assigned,1
-194831500,TASK_InputProcessing,97,R,FUNC_SEMLOCK,195,terminate
-194831500,Core_1,0,C,Core_1,0,unlock
-194831500,TASK_InputProcessing,97,R,FUNC_ReadSensorData,97,start
-194920325,TASK_5MS,97,R,FUNC_EXECTIME_1,352,terminate
-194920325,Core_2,0,T,TASK_5MS,97,terminate
-194920325,TASK_5MS,97,SCHED,SCHED_Tasks_C2,-1,processterminate
-194920325,Core_2,0,C,Core_2,0,idle
-194920325,TASK_5MS,97,C,Core_2,0,idle
-194920425,TASK_5MS,97,STI,IR_SCHED_Tasks_C2,626,trigger
-194920425,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-194991700,TASK_InputProcessing,97,SIG,SIG_RotationSpeed,0,read,0
-194991700,TASK_InputProcessing,97,SIG,SIG_Lambda,0,read,0
-194991700,TASK_InputProcessing,97,SIG,SIG_Temperature,0,read,0
-194991700,TASK_InputProcessing,97,R,FUNC_ReadSensorData,97,terminate
-194991700,TASK_InputProcessing,97,R,FUNC_SEMUNLOCK,195,start
-195000000,SIM,-1,STI,TIMER-10MS,19,trigger
-195000000,TIMER-10MS,19,T,TASK_10MS,19,activate
-195000000,TASK_10MS,19,SCHED,SCHED_Tasks_C2,-1,processactivate
-195000100,TASK_10MS,19,STI,IR_SCHED_Tasks_C2,627,trigger
-195000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-195000100,Core_2,0,T,TASK_10MS,19,start
-195000100,TASK_10MS,19,R,FUNC_EXECTIME_1,354,start
-195000100,Core_2,0,C,Core_2,0,execute
-195000100,TASK_10MS,19,C,Core_2,0,execute
-195191700,TASK_InputProcessing,97,SEM,SEM_DataElement1,0,released,1
-195191700,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-195191700,TASK_InputProcessing,97,SCHED,SCHED_Tasks_C1,-1,schedulepoint
-195191700,Core_1,0,C,Core_1,0,lock
-195191750,TASK_InputProcessing,97,R,FUNC_SEMUNLOCK,195,terminate
-195191750,Core_1,0,C,Core_1,0,unlock
-195191750,TASK_InputProcessing,97,STI,IPA_InputReady,97,trigger
-195191750,IPA_InputReady,97,T,TASK_CalcEngineSpeed,97,activate
-195191750,TASK_CalcEngineSpeed,97,SCHED,SCHED_Tasks_C2,-1,processactivate
-195191750,Core_1,0,T,TASK_InputProcessing,97,terminate
-195191750,TASK_InputProcessing,97,SCHED,SCHED_Tasks_C1,-1,processterminate
-195191750,Core_1,0,C,Core_1,0,idle
-195191750,TASK_InputProcessing,97,C,Core_1,0,idle
-195191800,TASK_InputProcessing,97,STI,IR_SCHED_Tasks_C1,656,trigger
-195191800,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-195191850,TASK_CalcEngineSpeed,97,STI,IR_SCHED_Tasks_C2,628,trigger
-195191850,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-195191850,TASK_10MS,19,R,FUNC_EXECTIME_1,354,suspend
-195191850,Core_2,0,T,TASK_10MS,19,preempt
-195191850,Core_2,0,C,Core_2,0,idle_execution
-195191850,TASK_10MS,19,C,Core_2,0,idle_execution
-195191850,Core_2,0,T,TASK_CalcEngineSpeed,97,start
-195191850,TASK_CalcEngineSpeed,97,R,FUNC_ENGINESPEED,97,start
-195191850,Core_2,0,C,Core_2,0,execute
-195191850,TASK_CalcEngineSpeed,97,C,Core_2,0,execute
-195250000,SIM,-1,STI,TIMER-1MS,195,trigger
-195250000,TIMER-1MS,195,T,TASK_1MS,195,activate
-195250000,TASK_1MS,195,SCHED,SCHED_Tasks_C1,-1,processactivate
-195250100,TASK_1MS,195,STI,IR_SCHED_Tasks_C1,657,trigger
-195250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-195250100,Core_1,0,T,TASK_1MS,195,start
-195250100,TASK_1MS,195,R,FUNC_EXECTIME_1,355,start
-195250100,Core_1,0,C,Core_1,0,execute
-195250100,TASK_1MS,195,C,Core_1,0,execute
-195377100,TASK_CalcEngineSpeed,97,R,FUNC_ENGINESPEED,97,terminate
-195377100,Core_2,0,T,TASK_CalcEngineSpeed,97,terminate
-195377100,TASK_CalcEngineSpeed,97,SCHED,SCHED_Tasks_C2,-1,processterminate
-195377100,Core_2,0,C,Core_2,0,idle
-195377100,TASK_CalcEngineSpeed,97,C,Core_2,0,idle
-195377200,TASK_CalcEngineSpeed,97,STI,IR_SCHED_Tasks_C2,629,trigger
-195377200,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-195377200,Core_2,0,C,Core_2,0,execute_idle
-195377200,TASK_10MS,19,C,Core_2,0,execute_idle
-195377200,Core_2,0,T,TASK_10MS,19,resume
-195377200,TASK_10MS,19,R,FUNC_EXECTIME_1,354,resume
-195455600,TASK_10MS,19,R,FUNC_EXECTIME_1,354,terminate
-195455600,Core_2,0,T,TASK_10MS,19,terminate
-195455600,TASK_10MS,19,SCHED,SCHED_Tasks_C2,-1,processterminate
-195455600,Core_2,0,C,Core_2,0,idle
-195455600,TASK_10MS,19,C,Core_2,0,idle
-195455700,TASK_10MS,19,STI,IR_SCHED_Tasks_C2,630,trigger
-195455700,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-195591000,TASK_1MS,195,R,FUNC_EXECTIME_1,355,terminate
-195591000,Core_1,0,T,TASK_1MS,195,terminate
-195591000,TASK_1MS,195,SCHED,SCHED_Tasks_C1,-1,processterminate
-195591000,Core_1,0,C,Core_1,0,idle
-195591000,TASK_1MS,195,C,Core_1,0,idle
-195591100,TASK_1MS,195,STI,IR_SCHED_Tasks_C1,658,trigger
-195591100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-196000000,SIM,-1,STI,TIMER-B_2ms,98,trigger
-196000000,TIMER-B_2ms,98,T,TASK_WritingActuator,98,activate
-196000000,TASK_WritingActuator,98,SCHED,SCHED_Tasks_C2,-1,processactivate
-196000100,TASK_WritingActuator,98,STI,IR_SCHED_Tasks_C2,631,trigger
-196000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-196000100,Core_2,0,T,TASK_WritingActuator,98,start
-196000100,TASK_WritingActuator,98,R,FUNC_SEMLOCK,196,start
-196000100,Core_2,0,C,Core_2,0,execute
-196000100,TASK_WritingActuator,98,C,Core_2,0,execute
-196100000,SIM,-1,STI,TIMER-5MS,98,trigger
-196100000,TIMER-5MS,98,T,TASK_5MS,98,activate
-196100000,TASK_5MS,98,SCHED,SCHED_Tasks_C2,-1,processactivate
-196100100,TASK_5MS,98,STI,IR_SCHED_Tasks_C2,632,trigger
-196100100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-196125100,TASK_WritingActuator,98,SEM,SEM_DataElement1,0,requestsemaphore,0
-196125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-196125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-196125100,Core_2,0,C,Core_2,0,lock
-196125100,TASK_WritingActuator,98,SEM,SEM_DataElement1,0,assigned,1
-196125150,TASK_WritingActuator,98,R,FUNC_SEMLOCK,196,terminate
-196125150,Core_2,0,C,Core_2,0,unlock
-196125150,TASK_WritingActuator,98,R,FUNC_WriteData,98,start
-196150000,SIM,-1,STI,TIMER-A_2ms,98,trigger
-196150000,TIMER-A_2ms,98,T,TASK_InputProcessing,98,activate
-196150000,TASK_InputProcessing,98,SCHED,SCHED_Tasks_C1,-1,processactivate
-196150100,TASK_InputProcessing,98,STI,IR_SCHED_Tasks_C1,659,trigger
-196150100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-196150100,Core_1,0,T,TASK_InputProcessing,98,start
-196150100,TASK_InputProcessing,98,R,FUNC_SEMLOCK,197,start
-196150100,Core_1,0,C,Core_1,0,execute
-196150100,TASK_InputProcessing,98,C,Core_1,0,execute
-196151800,TASK_WritingActuator,98,SIG,SIG_Mixture,0,write,0
-196151800,TASK_WritingActuator,98,R,FUNC_WriteData,98,terminate
-196151800,TASK_WritingActuator,98,R,FUNC_SEMUNLOCK,196,start
-196250000,SIM,-1,STI,TIMER-1MS,196,trigger
-196250000,TIMER-1MS,196,T,TASK_1MS,196,activate
-196250000,TASK_1MS,196,SCHED,SCHED_Tasks_C1,-1,processactivate
-196250100,TASK_1MS,196,STI,IR_SCHED_Tasks_C1,660,trigger
-196250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-196250100,TASK_InputProcessing,98,R,FUNC_SEMLOCK,197,suspend
-196250100,Core_1,0,T,TASK_InputProcessing,98,preempt
-196250100,Core_1,0,C,Core_1,0,idle_execution
-196250100,TASK_InputProcessing,98,C,Core_1,0,idle_execution
-196250100,Core_1,0,T,TASK_1MS,196,start
-196250100,TASK_1MS,196,R,FUNC_EXECTIME_1,357,start
-196250100,Core_1,0,C,Core_1,0,execute
-196250100,TASK_1MS,196,C,Core_1,0,execute
-196351800,TASK_WritingActuator,98,SEM,SEM_DataElement1,0,released,1
-196351800,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-196351800,TASK_WritingActuator,98,SCHED,SCHED_Tasks_C2,-1,schedulepoint
-196351800,Core_2,0,C,Core_2,0,lock
-196351850,TASK_WritingActuator,98,R,FUNC_SEMUNLOCK,196,terminate
-196351850,Core_2,0,T,TASK_WritingActuator,98,terminate
-196351850,TASK_WritingActuator,98,SCHED,SCHED_Tasks_C2,-1,processterminate
-196351850,Core_2,0,C,Core_2,0,unlock
-196351850,Core_2,0,C,Core_2,0,idle
-196351850,TASK_WritingActuator,98,C,Core_2,0,idle
-196351900,TASK_WritingActuator,98,STI,IR_SCHED_Tasks_C2,633,trigger
-196351900,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-196351900,Core_2,0,T,TASK_5MS,98,start
-196351900,TASK_5MS,98,R,FUNC_EXECTIME_1,356,start
-196351900,Core_2,0,C,Core_2,0,execute
-196351900,TASK_5MS,98,C,Core_2,0,execute
-196839500,TASK_5MS,98,R,FUNC_EXECTIME_1,356,terminate
-196839500,Core_2,0,T,TASK_5MS,98,terminate
-196839500,TASK_5MS,98,SCHED,SCHED_Tasks_C2,-1,processterminate
-196839500,Core_2,0,C,Core_2,0,idle
-196839500,TASK_5MS,98,C,Core_2,0,idle
-196839600,TASK_5MS,98,STI,IR_SCHED_Tasks_C2,634,trigger
-196839600,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-196888200,TASK_1MS,196,R,FUNC_EXECTIME_1,357,terminate
-196888200,Core_1,0,T,TASK_1MS,196,terminate
-196888200,TASK_1MS,196,SCHED,SCHED_Tasks_C1,-1,processterminate
-196888200,Core_1,0,C,Core_1,0,idle
-196888200,TASK_1MS,196,C,Core_1,0,idle
-196888300,TASK_1MS,196,STI,IR_SCHED_Tasks_C1,661,trigger
-196888300,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-196888300,Core_1,0,C,Core_1,0,execute_idle
-196888300,TASK_InputProcessing,98,C,Core_1,0,execute_idle
-196888300,Core_1,0,T,TASK_InputProcessing,98,resume
-196888300,TASK_InputProcessing,98,R,FUNC_SEMLOCK,197,resume
-196913300,TASK_InputProcessing,98,SEM,SEM_DataElement1,0,requestsemaphore,0
-196913300,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-196913300,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-196913300,Core_1,0,C,Core_1,0,lock
-196913300,TASK_InputProcessing,98,SEM,SEM_DataElement1,0,assigned,1
-196913350,TASK_InputProcessing,98,R,FUNC_SEMLOCK,197,terminate
-196913350,Core_1,0,C,Core_1,0,unlock
-196913350,TASK_InputProcessing,98,R,FUNC_ReadSensorData,98,start
-197076200,TASK_InputProcessing,98,SIG,SIG_RotationSpeed,0,read,0
-197076200,TASK_InputProcessing,98,SIG,SIG_Lambda,0,read,0
-197076200,TASK_InputProcessing,98,SIG,SIG_Temperature,0,read,0
-197076200,TASK_InputProcessing,98,R,FUNC_ReadSensorData,98,terminate
-197076200,TASK_InputProcessing,98,R,FUNC_SEMUNLOCK,197,start
-197250000,SIM,-1,STI,TIMER-1MS,197,trigger
-197250000,TIMER-1MS,197,T,TASK_1MS,197,activate
-197250000,TASK_1MS,197,SCHED,SCHED_Tasks_C1,-1,processactivate
-197250100,TASK_1MS,197,STI,IR_SCHED_Tasks_C1,662,trigger
-197250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-197276200,TASK_InputProcessing,98,SEM,SEM_DataElement1,0,released,1
-197276200,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-197276200,TASK_InputProcessing,98,SCHED,SCHED_Tasks_C1,-1,schedulepoint
-197276200,Core_1,0,C,Core_1,0,lock
-197276250,TASK_InputProcessing,98,R,FUNC_SEMUNLOCK,197,terminate
-197276250,Core_1,0,C,Core_1,0,unlock
-197276250,TASK_InputProcessing,98,STI,IPA_InputReady,98,trigger
-197276250,IPA_InputReady,98,T,TASK_CalcEngineSpeed,98,activate
-197276250,TASK_CalcEngineSpeed,98,SCHED,SCHED_Tasks_C2,-1,processactivate
-197276250,Core_1,0,T,TASK_InputProcessing,98,terminate
-197276250,TASK_InputProcessing,98,SCHED,SCHED_Tasks_C1,-1,processterminate
-197276250,Core_1,0,C,Core_1,0,idle
-197276250,TASK_InputProcessing,98,C,Core_1,0,idle
-197276300,TASK_InputProcessing,98,STI,IR_SCHED_Tasks_C1,663,trigger
-197276300,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-197276300,Core_1,0,T,TASK_1MS,197,start
-197276300,TASK_1MS,197,R,FUNC_EXECTIME_1,358,start
-197276300,Core_1,0,C,Core_1,0,execute
-197276300,TASK_1MS,197,C,Core_1,0,execute
-197276350,TASK_CalcEngineSpeed,98,STI,IR_SCHED_Tasks_C2,635,trigger
-197276350,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-197276350,Core_2,0,T,TASK_CalcEngineSpeed,98,start
-197276350,TASK_CalcEngineSpeed,98,R,FUNC_ENGINESPEED,98,start
-197276350,Core_2,0,C,Core_2,0,execute
-197276350,TASK_CalcEngineSpeed,98,C,Core_2,0,execute
-197467300,TASK_CalcEngineSpeed,98,R,FUNC_ENGINESPEED,98,terminate
-197467300,Core_2,0,T,TASK_CalcEngineSpeed,98,terminate
-197467300,TASK_CalcEngineSpeed,98,SCHED,SCHED_Tasks_C2,-1,processterminate
-197467300,Core_2,0,C,Core_2,0,idle
-197467300,TASK_CalcEngineSpeed,98,C,Core_2,0,idle
-197467400,TASK_CalcEngineSpeed,98,STI,IR_SCHED_Tasks_C2,636,trigger
-197467400,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-197817150,TASK_1MS,197,R,FUNC_EXECTIME_1,358,terminate
-197817150,Core_1,0,T,TASK_1MS,197,terminate
-197817150,TASK_1MS,197,SCHED,SCHED_Tasks_C1,-1,processterminate
-197817150,Core_1,0,C,Core_1,0,idle
-197817150,TASK_1MS,197,C,Core_1,0,idle
-197817250,TASK_1MS,197,STI,IR_SCHED_Tasks_C1,664,trigger
-197817250,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-198000000,SIM,-1,STI,TIMER-B_2ms,99,trigger
-198000000,TIMER-B_2ms,99,T,TASK_WritingActuator,99,activate
-198000000,TASK_WritingActuator,99,SCHED,SCHED_Tasks_C2,-1,processactivate
-198000100,TASK_WritingActuator,99,STI,IR_SCHED_Tasks_C2,637,trigger
-198000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-198000100,Core_2,0,T,TASK_WritingActuator,99,start
-198000100,TASK_WritingActuator,99,R,FUNC_SEMLOCK,198,start
-198000100,Core_2,0,C,Core_2,0,execute
-198000100,TASK_WritingActuator,99,C,Core_2,0,execute
-198100000,SIM,-1,STI,TIMER-5MS,99,trigger
-198100000,TIMER-5MS,99,T,TASK_5MS,99,activate
-198100000,TASK_5MS,99,SCHED,SCHED_Tasks_C2,-1,processactivate
-198100100,TASK_5MS,99,STI,IR_SCHED_Tasks_C2,638,trigger
-198100100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-198125100,TASK_WritingActuator,99,SEM,SEM_DataElement1,0,requestsemaphore,0
-198125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-198125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-198125100,Core_2,0,C,Core_2,0,lock
-198125100,TASK_WritingActuator,99,SEM,SEM_DataElement1,0,assigned,1
-198125150,TASK_WritingActuator,99,R,FUNC_SEMLOCK,198,terminate
-198125150,Core_2,0,C,Core_2,0,unlock
-198125150,TASK_WritingActuator,99,R,FUNC_WriteData,99,start
-198150000,SIM,-1,STI,TIMER-A_2ms,99,trigger
-198150000,TIMER-A_2ms,99,T,TASK_InputProcessing,99,activate
-198150000,TASK_InputProcessing,99,SCHED,SCHED_Tasks_C1,-1,processactivate
-198150100,TASK_InputProcessing,99,STI,IR_SCHED_Tasks_C1,665,trigger
-198150100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-198150100,Core_1,0,T,TASK_InputProcessing,99,start
-198150100,TASK_InputProcessing,99,R,FUNC_SEMLOCK,199,start
-198150100,Core_1,0,C,Core_1,0,execute
-198150100,TASK_InputProcessing,99,C,Core_1,0,execute
-198152450,TASK_WritingActuator,99,SIG,SIG_Mixture,0,write,0
-198152450,TASK_WritingActuator,99,R,FUNC_WriteData,99,terminate
-198152450,TASK_WritingActuator,99,R,FUNC_SEMUNLOCK,198,start
-198250000,SIM,-1,STI,TIMER-1MS,198,trigger
-198250000,TIMER-1MS,198,T,TASK_1MS,198,activate
-198250000,TASK_1MS,198,SCHED,SCHED_Tasks_C1,-1,processactivate
-198250100,TASK_1MS,198,STI,IR_SCHED_Tasks_C1,666,trigger
-198250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-198250100,TASK_InputProcessing,99,R,FUNC_SEMLOCK,199,suspend
-198250100,Core_1,0,T,TASK_InputProcessing,99,preempt
-198250100,Core_1,0,C,Core_1,0,idle_execution
-198250100,TASK_InputProcessing,99,C,Core_1,0,idle_execution
-198250100,Core_1,0,T,TASK_1MS,198,start
-198250100,TASK_1MS,198,R,FUNC_EXECTIME_1,360,start
-198250100,Core_1,0,C,Core_1,0,execute
-198250100,TASK_1MS,198,C,Core_1,0,execute
-198352450,TASK_WritingActuator,99,SEM,SEM_DataElement1,0,released,1
-198352450,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-198352450,TASK_WritingActuator,99,SCHED,SCHED_Tasks_C2,-1,schedulepoint
-198352450,Core_2,0,C,Core_2,0,lock
-198352500,TASK_WritingActuator,99,R,FUNC_SEMUNLOCK,198,terminate
-198352500,Core_2,0,T,TASK_WritingActuator,99,terminate
-198352500,TASK_WritingActuator,99,SCHED,SCHED_Tasks_C2,-1,processterminate
-198352500,Core_2,0,C,Core_2,0,unlock
-198352500,Core_2,0,C,Core_2,0,idle
-198352500,TASK_WritingActuator,99,C,Core_2,0,idle
-198352550,TASK_WritingActuator,99,STI,IR_SCHED_Tasks_C2,639,trigger
-198352550,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-198352550,Core_2,0,T,TASK_5MS,99,start
-198352550,TASK_5MS,99,R,FUNC_EXECTIME_1,359,start
-198352550,Core_2,0,C,Core_2,0,execute
-198352550,TASK_5MS,99,C,Core_2,0,execute
-198809275,TASK_1MS,198,R,FUNC_EXECTIME_1,360,terminate
-198809275,Core_1,0,T,TASK_1MS,198,terminate
-198809275,TASK_1MS,198,SCHED,SCHED_Tasks_C1,-1,processterminate
-198809275,Core_1,0,C,Core_1,0,idle
-198809275,TASK_1MS,198,C,Core_1,0,idle
-198809375,TASK_1MS,198,STI,IR_SCHED_Tasks_C1,667,trigger
-198809375,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-198809375,Core_1,0,C,Core_1,0,execute_idle
-198809375,TASK_InputProcessing,99,C,Core_1,0,execute_idle
-198809375,Core_1,0,T,TASK_InputProcessing,99,resume
-198809375,TASK_InputProcessing,99,R,FUNC_SEMLOCK,199,resume
-198834375,TASK_InputProcessing,99,SEM,SEM_DataElement1,0,requestsemaphore,0
-198834375,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-198834375,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-198834375,Core_1,0,C,Core_1,0,lock
-198834375,TASK_InputProcessing,99,SEM,SEM_DataElement1,0,assigned,1
-198834425,TASK_InputProcessing,99,R,FUNC_SEMLOCK,199,terminate
-198834425,Core_1,0,C,Core_1,0,unlock
-198834425,TASK_InputProcessing,99,R,FUNC_ReadSensorData,99,start
-198989025,TASK_5MS,99,R,FUNC_EXECTIME_1,359,terminate
-198989025,Core_2,0,T,TASK_5MS,99,terminate
-198989025,TASK_5MS,99,SCHED,SCHED_Tasks_C2,-1,processterminate
-198989025,Core_2,0,C,Core_2,0,idle
-198989025,TASK_5MS,99,C,Core_2,0,idle
-198989125,TASK_5MS,99,STI,IR_SCHED_Tasks_C2,640,trigger
-198989125,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-198992375,TASK_InputProcessing,99,SIG,SIG_RotationSpeed,0,read,0
-198992375,TASK_InputProcessing,99,SIG,SIG_Lambda,0,read,0
-198992375,TASK_InputProcessing,99,SIG,SIG_Temperature,0,read,0
-198992375,TASK_InputProcessing,99,R,FUNC_ReadSensorData,99,terminate
-198992375,TASK_InputProcessing,99,R,FUNC_SEMUNLOCK,199,start
-199192375,TASK_InputProcessing,99,SEM,SEM_DataElement1,0,released,1
-199192375,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-199192375,TASK_InputProcessing,99,SCHED,SCHED_Tasks_C1,-1,schedulepoint
-199192375,Core_1,0,C,Core_1,0,lock
-199192425,TASK_InputProcessing,99,R,FUNC_SEMUNLOCK,199,terminate
-199192425,Core_1,0,C,Core_1,0,unlock
-199192425,TASK_InputProcessing,99,STI,IPA_InputReady,99,trigger
-199192425,IPA_InputReady,99,T,TASK_CalcEngineSpeed,99,activate
-199192425,TASK_CalcEngineSpeed,99,SCHED,SCHED_Tasks_C2,-1,processactivate
-199192425,Core_1,0,T,TASK_InputProcessing,99,terminate
-199192425,TASK_InputProcessing,99,SCHED,SCHED_Tasks_C1,-1,processterminate
-199192425,Core_1,0,C,Core_1,0,idle
-199192425,TASK_InputProcessing,99,C,Core_1,0,idle
-199192475,TASK_InputProcessing,99,STI,IR_SCHED_Tasks_C1,668,trigger
-199192475,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-199192525,TASK_CalcEngineSpeed,99,STI,IR_SCHED_Tasks_C2,641,trigger
-199192525,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-199192525,Core_2,0,T,TASK_CalcEngineSpeed,99,start
-199192525,TASK_CalcEngineSpeed,99,R,FUNC_ENGINESPEED,99,start
-199192525,Core_2,0,C,Core_2,0,execute
-199192525,TASK_CalcEngineSpeed,99,C,Core_2,0,execute
-199250000,SIM,-1,STI,TIMER-1MS,199,trigger
-199250000,TIMER-1MS,199,T,TASK_1MS,199,activate
-199250000,TASK_1MS,199,SCHED,SCHED_Tasks_C1,-1,processactivate
-199250100,TASK_1MS,199,STI,IR_SCHED_Tasks_C1,669,trigger
-199250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-199250100,Core_1,0,T,TASK_1MS,199,start
-199250100,TASK_1MS,199,R,FUNC_EXECTIME_1,361,start
-199250100,Core_1,0,C,Core_1,0,execute
-199250100,TASK_1MS,199,C,Core_1,0,execute
-199311300,TASK_CalcEngineSpeed,99,R,FUNC_ENGINESPEED,99,terminate
-199311300,Core_2,0,T,TASK_CalcEngineSpeed,99,terminate
-199311300,TASK_CalcEngineSpeed,99,SCHED,SCHED_Tasks_C2,-1,processterminate
-199311300,Core_2,0,C,Core_2,0,idle
-199311300,TASK_CalcEngineSpeed,99,C,Core_2,0,idle
-199311400,TASK_CalcEngineSpeed,99,STI,IR_SCHED_Tasks_C2,642,trigger
-199311400,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-199830050,TASK_1MS,199,R,FUNC_EXECTIME_1,361,terminate
-199830050,Core_1,0,T,TASK_1MS,199,terminate
-199830050,TASK_1MS,199,SCHED,SCHED_Tasks_C1,-1,processterminate
-199830050,Core_1,0,C,Core_1,0,idle
-199830050,TASK_1MS,199,C,Core_1,0,idle
-199830150,TASK_1MS,199,STI,IR_SCHED_Tasks_C1,670,trigger
-199830150,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-200000000,SIM,-1,STI,TIMER-B_2ms,100,trigger
-200000000,TIMER-B_2ms,100,T,TASK_WritingActuator,100,activate
-200000000,TASK_WritingActuator,100,SCHED,SCHED_Tasks_C2,-1,processactivate
-200000000,SIM,-1,STI,TIMER-10MS_2,20,trigger
-200000000,TIMER-10MS_2,20,T,TASK_10MS_DL2,20,activate
-200000000,TASK_10MS_DL2,20,SCHED,SCHED_Tasks_C1,-1,processactivate
-200000000,SIM,-1,STI,TIMER-200MS,1,trigger
-200000000,TIMER-200MS,1,T,TASK_200MS,1,activate
-200000000,TASK_200MS,1,SCHED,SCHED_Tasks_C1,-1,processactivate
-200000100,TASK_WritingActuator,100,STI,IR_SCHED_Tasks_C2,643,trigger
-200000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-200000100,Core_2,0,T,TASK_WritingActuator,100,start
-200000100,TASK_WritingActuator,100,R,FUNC_SEMLOCK,200,start
-200000100,Core_2,0,C,Core_2,0,execute
-200000100,TASK_WritingActuator,100,C,Core_2,0,execute
-200000100,TASK_10MS_DL2,20,STI,IR_SCHED_Tasks_C1,671,trigger
-200000100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-200000100,Core_1,0,T,TASK_10MS_DL2,20,start
-200000100,TASK_10MS_DL2,20,R,FUNC_EXECTIME_1,362,start
-200000100,Core_1,0,C,Core_1,0,execute
-200000100,TASK_10MS_DL2,20,C,Core_1,0,execute
-200005000,SIM,-1,STI,TIMER-20MS,10,trigger
-200005000,TIMER-20MS,10,T,TASK_20MS,10,activate
-200005000,TASK_20MS,10,SCHED,SCHED_Tasks_C1,-1,processactivate
-200005100,TASK_20MS,10,STI,IR_SCHED_Tasks_C1,672,trigger
-200005100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-200100000,SIM,-1,STI,TIMER-5MS,100,trigger
-200100000,TIMER-5MS,100,T,TASK_5MS,100,activate
-200100000,TASK_5MS,100,SCHED,SCHED_Tasks_C2,-1,processactivate
-200100000,SIM,-1,STI,TIMER-100MS,2,trigger
-200100000,TIMER-100MS,2,T,TASK_100MS,2,activate
-200100000,TASK_100MS,2,SCHED,SCHED_Tasks_C1,-1,processactivate
-200100100,TASK_5MS,100,STI,IR_SCHED_Tasks_C2,644,trigger
-200100100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-200100100,TASK_100MS,2,STI,IR_SCHED_Tasks_C1,673,trigger
-200100100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-200125100,TASK_WritingActuator,100,SEM,SEM_DataElement1,0,requestsemaphore,0
-200125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-200125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-200125100,Core_2,0,C,Core_2,0,lock
-200125100,TASK_WritingActuator,100,SEM,SEM_DataElement1,0,assigned,1
-200125150,TASK_WritingActuator,100,R,FUNC_SEMLOCK,200,terminate
-200125150,Core_2,0,C,Core_2,0,unlock
-200125150,TASK_WritingActuator,100,R,FUNC_WriteData,100,start
-200150000,SIM,-1,STI,TIMER-A_2ms,100,trigger
-200150000,TIMER-A_2ms,100,T,TASK_InputProcessing,100,activate
-200150000,TASK_InputProcessing,100,SCHED,SCHED_Tasks_C1,-1,processactivate
-200150100,TASK_InputProcessing,100,STI,IR_SCHED_Tasks_C1,674,trigger
-200150100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-200152475,TASK_WritingActuator,100,SIG,SIG_Mixture,0,write,0
-200152475,TASK_WritingActuator,100,R,FUNC_WriteData,100,terminate
-200152475,TASK_WritingActuator,100,R,FUNC_SEMUNLOCK,200,start
-200250000,SIM,-1,STI,TIMER-1MS,200,trigger
-200250000,TIMER-1MS,200,T,TASK_1MS,200,activate
-200250000,TASK_1MS,200,SCHED,SCHED_Tasks_C1,-1,processactivate
-200250100,TASK_1MS,200,STI,IR_SCHED_Tasks_C1,675,trigger
-200250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-200250100,TASK_10MS_DL2,20,R,FUNC_EXECTIME_1,362,suspend
-200250100,Core_1,0,T,TASK_10MS_DL2,20,preempt
-200250100,Core_1,0,C,Core_1,0,idle_execution
-200250100,TASK_10MS_DL2,20,C,Core_1,0,idle_execution
-200250100,Core_1,0,T,TASK_1MS,200,start
-200250100,TASK_1MS,200,R,FUNC_EXECTIME_1,367,start
-200250100,Core_1,0,C,Core_1,0,execute
-200250100,TASK_1MS,200,C,Core_1,0,execute
-200352475,TASK_WritingActuator,100,SEM,SEM_DataElement1,0,released,1
-200352475,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-200352475,TASK_WritingActuator,100,SCHED,SCHED_Tasks_C2,-1,schedulepoint
-200352475,Core_2,0,C,Core_2,0,lock
-200352525,TASK_WritingActuator,100,R,FUNC_SEMUNLOCK,200,terminate
-200352525,Core_2,0,T,TASK_WritingActuator,100,terminate
-200352525,TASK_WritingActuator,100,SCHED,SCHED_Tasks_C2,-1,processterminate
-200352525,Core_2,0,C,Core_2,0,unlock
-200352525,Core_2,0,C,Core_2,0,idle
-200352525,TASK_WritingActuator,100,C,Core_2,0,idle
-200352575,TASK_WritingActuator,100,STI,IR_SCHED_Tasks_C2,645,trigger
-200352575,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-200352575,Core_2,0,T,TASK_5MS,100,start
-200352575,TASK_5MS,100,R,FUNC_EXECTIME_1,365,start
-200352575,Core_2,0,C,Core_2,0,execute
-200352575,TASK_5MS,100,C,Core_2,0,execute
-200678000,TASK_5MS,100,R,FUNC_EXECTIME_1,365,terminate
-200678000,Core_2,0,T,TASK_5MS,100,terminate
-200678000,TASK_5MS,100,SCHED,SCHED_Tasks_C2,-1,processterminate
-200678000,Core_2,0,C,Core_2,0,idle
-200678000,TASK_5MS,100,C,Core_2,0,idle
-200678100,TASK_5MS,100,STI,IR_SCHED_Tasks_C2,646,trigger
-200678100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-200709825,TASK_1MS,200,R,FUNC_EXECTIME_1,367,terminate
-200709825,Core_1,0,T,TASK_1MS,200,terminate
-200709825,TASK_1MS,200,SCHED,SCHED_Tasks_C1,-1,processterminate
-200709825,Core_1,0,C,Core_1,0,idle
-200709825,TASK_1MS,200,C,Core_1,0,idle
-200709925,TASK_1MS,200,STI,IR_SCHED_Tasks_C1,676,trigger
-200709925,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-200709925,Core_1,0,C,Core_1,0,execute_idle
-200709925,TASK_10MS_DL2,20,C,Core_1,0,execute_idle
-200709925,Core_1,0,T,TASK_10MS_DL2,20,resume
-200709925,TASK_10MS_DL2,20,R,FUNC_EXECTIME_1,362,resume
-200987300,TASK_10MS_DL2,20,R,FUNC_EXECTIME_1,362,terminate
-200987300,Core_1,0,T,TASK_10MS_DL2,20,terminate
-200987300,TASK_10MS_DL2,20,SCHED,SCHED_Tasks_C1,-1,processterminate
-200987300,Core_1,0,C,Core_1,0,idle
-200987300,TASK_10MS_DL2,20,C,Core_1,0,idle
-200987400,TASK_10MS_DL2,20,STI,IR_SCHED_Tasks_C1,677,trigger
-200987400,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-200987400,Core_1,0,T,TASK_InputProcessing,100,start
-200987400,TASK_InputProcessing,100,R,FUNC_SEMLOCK,201,start
-200987400,Core_1,0,C,Core_1,0,execute
-200987400,TASK_InputProcessing,100,C,Core_1,0,execute
-201112400,TASK_InputProcessing,100,SEM,SEM_DataElement1,0,requestsemaphore,0
-201112400,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-201112400,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-201112400,Core_1,0,C,Core_1,0,lock
-201112400,TASK_InputProcessing,100,SEM,SEM_DataElement1,0,assigned,1
-201112450,TASK_InputProcessing,100,R,FUNC_SEMLOCK,201,terminate
-201112450,Core_1,0,C,Core_1,0,unlock
-201112450,TASK_InputProcessing,100,R,FUNC_ReadSensorData,100,start
-201250000,SIM,-1,STI,TIMER-1MS,201,trigger
-201250000,TIMER-1MS,201,T,TASK_1MS,201,activate
-201250000,TASK_1MS,201,SCHED,SCHED_Tasks_C1,-1,processactivate
-201250100,TASK_1MS,201,STI,IR_SCHED_Tasks_C1,678,trigger
-201250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-201273150,TASK_InputProcessing,100,SIG,SIG_RotationSpeed,0,read,0
-201273150,TASK_InputProcessing,100,SIG,SIG_Lambda,0,read,0
-201273150,TASK_InputProcessing,100,SIG,SIG_Temperature,0,read,0
-201273150,TASK_InputProcessing,100,R,FUNC_ReadSensorData,100,terminate
-201273150,TASK_InputProcessing,100,R,FUNC_SEMUNLOCK,201,start
-201473150,TASK_InputProcessing,100,SEM,SEM_DataElement1,0,released,1
-201473150,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-201473150,TASK_InputProcessing,100,SCHED,SCHED_Tasks_C1,-1,schedulepoint
-201473150,Core_1,0,C,Core_1,0,lock
-201473200,TASK_InputProcessing,100,R,FUNC_SEMUNLOCK,201,terminate
-201473200,Core_1,0,C,Core_1,0,unlock
-201473200,TASK_InputProcessing,100,STI,IPA_InputReady,100,trigger
-201473200,IPA_InputReady,100,T,TASK_CalcEngineSpeed,100,activate
-201473200,TASK_CalcEngineSpeed,100,SCHED,SCHED_Tasks_C2,-1,processactivate
-201473200,Core_1,0,T,TASK_InputProcessing,100,terminate
-201473200,TASK_InputProcessing,100,SCHED,SCHED_Tasks_C1,-1,processterminate
-201473200,Core_1,0,C,Core_1,0,idle
-201473200,TASK_InputProcessing,100,C,Core_1,0,idle
-201473250,TASK_InputProcessing,100,STI,IR_SCHED_Tasks_C1,679,trigger
-201473250,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-201473250,Core_1,0,T,TASK_1MS,201,start
-201473250,TASK_1MS,201,R,FUNC_EXECTIME_1,368,start
-201473250,Core_1,0,C,Core_1,0,execute
-201473250,TASK_1MS,201,C,Core_1,0,execute
-201473300,TASK_CalcEngineSpeed,100,STI,IR_SCHED_Tasks_C2,647,trigger
-201473300,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-201473300,Core_2,0,T,TASK_CalcEngineSpeed,100,start
-201473300,TASK_CalcEngineSpeed,100,R,FUNC_ENGINESPEED,100,start
-201473300,Core_2,0,C,Core_2,0,execute
-201473300,TASK_CalcEngineSpeed,100,C,Core_2,0,execute
-201587425,TASK_CalcEngineSpeed,100,R,FUNC_ENGINESPEED,100,terminate
-201587425,Core_2,0,T,TASK_CalcEngineSpeed,100,terminate
-201587425,TASK_CalcEngineSpeed,100,SCHED,SCHED_Tasks_C2,-1,processterminate
-201587425,Core_2,0,C,Core_2,0,idle
-201587425,TASK_CalcEngineSpeed,100,C,Core_2,0,idle
-201587525,TASK_CalcEngineSpeed,100,STI,IR_SCHED_Tasks_C2,648,trigger
-201587525,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-202000000,SIM,-1,STI,TIMER-B_2ms,101,trigger
-202000000,TIMER-B_2ms,101,T,TASK_WritingActuator,101,activate
-202000000,TASK_WritingActuator,101,SCHED,SCHED_Tasks_C2,-1,processactivate
-202000000,SIM,-1,STI,TIMER-50MS,4,trigger
-202000000,TIMER-50MS,4,T,TASK_50MS,4,activate
-202000000,TASK_50MS,4,SCHED,SCHED_Tasks_C2,-1,processactivate
-202000100,TASK_WritingActuator,101,STI,IR_SCHED_Tasks_C2,649,trigger
-202000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-202000100,Core_2,0,T,TASK_WritingActuator,101,start
-202000100,TASK_WritingActuator,101,R,FUNC_SEMLOCK,202,start
-202000100,Core_2,0,C,Core_2,0,execute
-202000100,TASK_WritingActuator,101,C,Core_2,0,execute
-202039875,TASK_1MS,201,R,FUNC_EXECTIME_1,368,terminate
-202039875,Core_1,0,T,TASK_1MS,201,terminate
-202039875,TASK_1MS,201,SCHED,SCHED_Tasks_C1,-1,processterminate
-202039875,Core_1,0,C,Core_1,0,idle
-202039875,TASK_1MS,201,C,Core_1,0,idle
-202039975,TASK_1MS,201,STI,IR_SCHED_Tasks_C1,680,trigger
-202039975,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-202039975,Core_1,0,T,TASK_20MS,10,start
-202039975,TASK_20MS,10,R,FUNC_EXECTIME_1,364,start
-202039975,Core_1,0,C,Core_1,0,execute
-202039975,TASK_20MS,10,C,Core_1,0,execute
-202100000,SIM,-1,STI,TIMER-5MS,101,trigger
-202100000,TIMER-5MS,101,T,TASK_5MS,101,activate
-202100000,TASK_5MS,101,SCHED,SCHED_Tasks_C2,-1,processactivate
-202100100,TASK_5MS,101,STI,IR_SCHED_Tasks_C2,650,trigger
-202100100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-202125100,TASK_WritingActuator,101,SEM,SEM_DataElement1,0,requestsemaphore,0
-202125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-202125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-202125100,Core_2,0,C,Core_2,0,lock
-202125100,TASK_WritingActuator,101,SEM,SEM_DataElement1,0,assigned,1
-202125150,TASK_WritingActuator,101,R,FUNC_SEMLOCK,202,terminate
-202125150,Core_2,0,C,Core_2,0,unlock
-202125150,TASK_WritingActuator,101,R,FUNC_WriteData,101,start
-202150000,SIM,-1,STI,TIMER-A_2ms,101,trigger
-202150000,TIMER-A_2ms,101,T,TASK_InputProcessing,101,activate
-202150000,TASK_InputProcessing,101,SCHED,SCHED_Tasks_C1,-1,processactivate
-202150100,TASK_InputProcessing,101,STI,IR_SCHED_Tasks_C1,681,trigger
-202150100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-202150100,TASK_20MS,10,R,FUNC_EXECTIME_1,364,suspend
-202150100,Core_1,0,T,TASK_20MS,10,preempt
-202150100,Core_1,0,C,Core_1,0,idle_execution
-202150100,TASK_20MS,10,C,Core_1,0,idle_execution
-202150100,Core_1,0,T,TASK_InputProcessing,101,start
-202150100,TASK_InputProcessing,101,R,FUNC_SEMLOCK,203,start
-202150100,Core_1,0,C,Core_1,0,execute
-202150100,TASK_InputProcessing,101,C,Core_1,0,execute
-202152525,TASK_WritingActuator,101,SIG,SIG_Mixture,0,write,0
-202152525,TASK_WritingActuator,101,R,FUNC_WriteData,101,terminate
-202152525,TASK_WritingActuator,101,R,FUNC_SEMUNLOCK,202,start
-202250000,SIM,-1,STI,TIMER-1MS,202,trigger
-202250000,TIMER-1MS,202,T,TASK_1MS,202,activate
-202250000,TASK_1MS,202,SCHED,SCHED_Tasks_C1,-1,processactivate
-202250100,TASK_1MS,202,STI,IR_SCHED_Tasks_C1,682,trigger
-202250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-202250100,TASK_InputProcessing,101,R,FUNC_SEMLOCK,203,suspend
-202250100,Core_1,0,T,TASK_InputProcessing,101,preempt
-202250100,Core_1,0,C,Core_1,0,idle_execution
-202250100,TASK_InputProcessing,101,C,Core_1,0,idle_execution
-202250100,Core_1,0,T,TASK_1MS,202,start
-202250100,TASK_1MS,202,R,FUNC_EXECTIME_1,370,start
-202250100,Core_1,0,C,Core_1,0,execute
-202250100,TASK_1MS,202,C,Core_1,0,execute
-202352525,TASK_WritingActuator,101,SEM,SEM_DataElement1,0,released,1
-202352525,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-202352525,TASK_WritingActuator,101,SCHED,SCHED_Tasks_C2,-1,schedulepoint
-202352525,Core_2,0,C,Core_2,0,lock
-202352575,TASK_WritingActuator,101,R,FUNC_SEMUNLOCK,202,terminate
-202352575,Core_2,0,T,TASK_WritingActuator,101,terminate
-202352575,TASK_WritingActuator,101,SCHED,SCHED_Tasks_C2,-1,processterminate
-202352575,Core_2,0,C,Core_2,0,unlock
-202352575,Core_2,0,C,Core_2,0,idle
-202352575,TASK_WritingActuator,101,C,Core_2,0,idle
-202352625,TASK_WritingActuator,101,STI,IR_SCHED_Tasks_C2,651,trigger
-202352625,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-202352625,Core_2,0,T,TASK_5MS,101,start
-202352625,TASK_5MS,101,R,FUNC_EXECTIME_1,369,start
-202352625,Core_2,0,C,Core_2,0,execute
-202352625,TASK_5MS,101,C,Core_2,0,execute
-202666875,TASK_1MS,202,R,FUNC_EXECTIME_1,370,terminate
-202666875,Core_1,0,T,TASK_1MS,202,terminate
-202666875,TASK_1MS,202,SCHED,SCHED_Tasks_C1,-1,processterminate
-202666875,Core_1,0,C,Core_1,0,idle
-202666875,TASK_1MS,202,C,Core_1,0,idle
-202666975,TASK_1MS,202,STI,IR_SCHED_Tasks_C1,683,trigger
-202666975,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-202666975,Core_1,0,C,Core_1,0,execute_idle
-202666975,TASK_InputProcessing,101,C,Core_1,0,execute_idle
-202666975,Core_1,0,T,TASK_InputProcessing,101,resume
-202666975,TASK_InputProcessing,101,R,FUNC_SEMLOCK,203,resume
-202691975,TASK_InputProcessing,101,SEM,SEM_DataElement1,0,requestsemaphore,0
-202691975,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-202691975,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-202691975,Core_1,0,C,Core_1,0,lock
-202691975,TASK_InputProcessing,101,SEM,SEM_DataElement1,0,assigned,1
-202692025,TASK_InputProcessing,101,R,FUNC_SEMLOCK,203,terminate
-202692025,Core_1,0,C,Core_1,0,unlock
-202692025,TASK_InputProcessing,101,R,FUNC_ReadSensorData,101,start
-202850875,TASK_InputProcessing,101,SIG,SIG_RotationSpeed,0,read,0
-202850875,TASK_InputProcessing,101,SIG,SIG_Lambda,0,read,0
-202850875,TASK_InputProcessing,101,SIG,SIG_Temperature,0,read,0
-202850875,TASK_InputProcessing,101,R,FUNC_ReadSensorData,101,terminate
-202850875,TASK_InputProcessing,101,R,FUNC_SEMUNLOCK,203,start
-202890075,TASK_5MS,101,R,FUNC_EXECTIME_1,369,terminate
-202890075,Core_2,0,T,TASK_5MS,101,terminate
-202890075,TASK_5MS,101,SCHED,SCHED_Tasks_C2,-1,processterminate
-202890075,Core_2,0,C,Core_2,0,idle
-202890075,TASK_5MS,101,C,Core_2,0,idle
-202890175,TASK_5MS,101,STI,IR_SCHED_Tasks_C2,652,trigger
-202890175,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-202890175,Core_2,0,T,TASK_50MS,4,start
-202890175,TASK_50MS,4,R,FUNC_EXECTIME_2,4,start
-202890175,Core_2,0,C,Core_2,0,execute
-202890175,TASK_50MS,4,C,Core_2,0,execute
-203050875,TASK_InputProcessing,101,SEM,SEM_DataElement1,0,released,1
-203050875,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-203050875,TASK_InputProcessing,101,SCHED,SCHED_Tasks_C1,-1,schedulepoint
-203050875,Core_1,0,C,Core_1,0,lock
-203050925,TASK_InputProcessing,101,R,FUNC_SEMUNLOCK,203,terminate
-203050925,Core_1,0,C,Core_1,0,unlock
-203050925,TASK_InputProcessing,101,STI,IPA_InputReady,101,trigger
-203050925,IPA_InputReady,101,T,TASK_CalcEngineSpeed,101,activate
-203050925,TASK_CalcEngineSpeed,101,SCHED,SCHED_Tasks_C2,-1,processactivate
-203050925,Core_1,0,T,TASK_InputProcessing,101,terminate
-203050925,TASK_InputProcessing,101,SCHED,SCHED_Tasks_C1,-1,processterminate
-203050925,Core_1,0,C,Core_1,0,idle
-203050925,TASK_InputProcessing,101,C,Core_1,0,idle
-203050975,TASK_InputProcessing,101,STI,IR_SCHED_Tasks_C1,684,trigger
-203050975,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-203050975,Core_1,0,C,Core_1,0,execute_idle
-203050975,TASK_20MS,10,C,Core_1,0,execute_idle
-203050975,Core_1,0,T,TASK_20MS,10,resume
-203050975,TASK_20MS,10,R,FUNC_EXECTIME_1,364,resume
-203051025,TASK_CalcEngineSpeed,101,STI,IR_SCHED_Tasks_C2,653,trigger
-203051025,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-203051025,TASK_50MS,4,R,FUNC_EXECTIME_2,4,suspend
-203051025,Core_2,0,T,TASK_50MS,4,preempt
-203051025,Core_2,0,C,Core_2,0,idle_execution
-203051025,TASK_50MS,4,C,Core_2,0,idle_execution
-203051025,Core_2,0,T,TASK_CalcEngineSpeed,101,start
-203051025,TASK_CalcEngineSpeed,101,R,FUNC_ENGINESPEED,101,start
-203051025,Core_2,0,C,Core_2,0,execute
-203051025,TASK_CalcEngineSpeed,101,C,Core_2,0,execute
-203250000,SIM,-1,STI,TIMER-1MS,203,trigger
-203250000,TIMER-1MS,203,T,TASK_1MS,203,activate
-203250000,TASK_1MS,203,SCHED,SCHED_Tasks_C1,-1,processactivate
-203250100,TASK_1MS,203,STI,IR_SCHED_Tasks_C1,685,trigger
-203250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-203250100,TASK_20MS,10,R,FUNC_EXECTIME_1,364,suspend
-203250100,Core_1,0,T,TASK_20MS,10,preempt
-203250100,Core_1,0,C,Core_1,0,idle_execution
-203250100,TASK_20MS,10,C,Core_1,0,idle_execution
-203250100,Core_1,0,T,TASK_1MS,203,start
-203250100,TASK_1MS,203,R,FUNC_EXECTIME_1,371,start
-203250100,Core_1,0,C,Core_1,0,execute
-203250100,TASK_1MS,203,C,Core_1,0,execute
-203254875,TASK_CalcEngineSpeed,101,R,FUNC_ENGINESPEED,101,terminate
-203254875,Core_2,0,T,TASK_CalcEngineSpeed,101,terminate
-203254875,TASK_CalcEngineSpeed,101,SCHED,SCHED_Tasks_C2,-1,processterminate
-203254875,Core_2,0,C,Core_2,0,idle
-203254875,TASK_CalcEngineSpeed,101,C,Core_2,0,idle
-203254975,TASK_CalcEngineSpeed,101,STI,IR_SCHED_Tasks_C2,654,trigger
-203254975,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-203254975,Core_2,0,C,Core_2,0,execute_idle
-203254975,TASK_50MS,4,C,Core_2,0,execute_idle
-203254975,Core_2,0,T,TASK_50MS,4,resume
-203254975,TASK_50MS,4,R,FUNC_EXECTIME_2,4,resume
-203789625,TASK_50MS,4,R,FUNC_EXECTIME_2,4,terminate
-203789625,Core_2,0,T,TASK_50MS,4,terminate
-203789625,TASK_50MS,4,SCHED,SCHED_Tasks_C2,-1,processterminate
-203789625,Core_2,0,C,Core_2,0,idle
-203789625,TASK_50MS,4,C,Core_2,0,idle
-203789725,TASK_50MS,4,STI,IR_SCHED_Tasks_C2,655,trigger
-203789725,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-203794925,TASK_1MS,203,R,FUNC_EXECTIME_1,371,terminate
-203794925,Core_1,0,T,TASK_1MS,203,terminate
-203794925,TASK_1MS,203,SCHED,SCHED_Tasks_C1,-1,processterminate
-203794925,Core_1,0,C,Core_1,0,idle
-203794925,TASK_1MS,203,C,Core_1,0,idle
-203795025,TASK_1MS,203,STI,IR_SCHED_Tasks_C1,686,trigger
-203795025,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-203795025,Core_1,0,C,Core_1,0,execute_idle
-203795025,TASK_20MS,10,C,Core_1,0,execute_idle
-203795025,Core_1,0,T,TASK_20MS,10,resume
-203795025,TASK_20MS,10,R,FUNC_EXECTIME_1,364,resume
-203995850,TASK_20MS,10,R,FUNC_EXECTIME_1,364,terminate
-203995850,Core_1,0,T,TASK_20MS,10,terminate
-203995850,TASK_20MS,10,SCHED,SCHED_Tasks_C1,-1,processterminate
-203995850,Core_1,0,C,Core_1,0,idle
-203995850,TASK_20MS,10,C,Core_1,0,idle
-203995950,TASK_20MS,10,STI,IR_SCHED_Tasks_C1,687,trigger
-203995950,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-203995950,Core_1,0,T,TASK_100MS,2,start
-203995950,TASK_100MS,2,R,FUNC_EXECTIME_1,366,start
-203995950,Core_1,0,C,Core_1,0,execute
-203995950,TASK_100MS,2,C,Core_1,0,execute
-204000000,SIM,-1,STI,TIMER-B_2ms,102,trigger
-204000000,TIMER-B_2ms,102,T,TASK_WritingActuator,102,activate
-204000000,TASK_WritingActuator,102,SCHED,SCHED_Tasks_C2,-1,processactivate
-204000100,TASK_WritingActuator,102,STI,IR_SCHED_Tasks_C2,656,trigger
-204000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-204000100,Core_2,0,T,TASK_WritingActuator,102,start
-204000100,TASK_WritingActuator,102,R,FUNC_SEMLOCK,204,start
-204000100,Core_2,0,C,Core_2,0,execute
-204000100,TASK_WritingActuator,102,C,Core_2,0,execute
-204100000,SIM,-1,STI,TIMER-5MS,102,trigger
-204100000,TIMER-5MS,102,T,TASK_5MS,102,activate
-204100000,TASK_5MS,102,SCHED,SCHED_Tasks_C2,-1,processactivate
-204100100,TASK_5MS,102,STI,IR_SCHED_Tasks_C2,657,trigger
-204100100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-204125100,TASK_WritingActuator,102,SEM,SEM_DataElement1,0,requestsemaphore,0
-204125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-204125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-204125100,Core_2,0,C,Core_2,0,lock
-204125100,TASK_WritingActuator,102,SEM,SEM_DataElement1,0,assigned,1
-204125150,TASK_WritingActuator,102,R,FUNC_SEMLOCK,204,terminate
-204125150,Core_2,0,C,Core_2,0,unlock
-204125150,TASK_WritingActuator,102,R,FUNC_WriteData,102,start
-204150000,SIM,-1,STI,TIMER-A_2ms,102,trigger
-204150000,TIMER-A_2ms,102,T,TASK_InputProcessing,102,activate
-204150000,TASK_InputProcessing,102,SCHED,SCHED_Tasks_C1,-1,processactivate
-204150100,TASK_InputProcessing,102,STI,IR_SCHED_Tasks_C1,688,trigger
-204150100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-204150100,TASK_100MS,2,R,FUNC_EXECTIME_1,366,suspend
-204150100,Core_1,0,T,TASK_100MS,2,preempt
-204150100,Core_1,0,C,Core_1,0,idle_execution
-204150100,TASK_100MS,2,C,Core_1,0,idle_execution
-204150100,Core_1,0,T,TASK_InputProcessing,102,start
-204150100,TASK_InputProcessing,102,R,FUNC_SEMLOCK,205,start
-204150100,Core_1,0,C,Core_1,0,execute
-204150100,TASK_InputProcessing,102,C,Core_1,0,execute
-204152075,TASK_WritingActuator,102,SIG,SIG_Mixture,0,write,0
-204152075,TASK_WritingActuator,102,R,FUNC_WriteData,102,terminate
-204152075,TASK_WritingActuator,102,R,FUNC_SEMUNLOCK,204,start
-204250000,SIM,-1,STI,TIMER-1MS,204,trigger
-204250000,TIMER-1MS,204,T,TASK_1MS,204,activate
-204250000,TASK_1MS,204,SCHED,SCHED_Tasks_C1,-1,processactivate
-204250100,TASK_1MS,204,STI,IR_SCHED_Tasks_C1,689,trigger
-204250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-204250100,TASK_InputProcessing,102,R,FUNC_SEMLOCK,205,suspend
-204250100,Core_1,0,T,TASK_InputProcessing,102,preempt
-204250100,Core_1,0,C,Core_1,0,idle_execution
-204250100,TASK_InputProcessing,102,C,Core_1,0,idle_execution
-204250100,Core_1,0,T,TASK_1MS,204,start
-204250100,TASK_1MS,204,R,FUNC_EXECTIME_1,373,start
-204250100,Core_1,0,C,Core_1,0,execute
-204250100,TASK_1MS,204,C,Core_1,0,execute
-204352075,TASK_WritingActuator,102,SEM,SEM_DataElement1,0,released,1
-204352075,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-204352075,TASK_WritingActuator,102,SCHED,SCHED_Tasks_C2,-1,schedulepoint
-204352075,Core_2,0,C,Core_2,0,lock
-204352125,TASK_WritingActuator,102,R,FUNC_SEMUNLOCK,204,terminate
-204352125,Core_2,0,T,TASK_WritingActuator,102,terminate
-204352125,TASK_WritingActuator,102,SCHED,SCHED_Tasks_C2,-1,processterminate
-204352125,Core_2,0,C,Core_2,0,unlock
-204352125,Core_2,0,C,Core_2,0,idle
-204352125,TASK_WritingActuator,102,C,Core_2,0,idle
-204352175,TASK_WritingActuator,102,STI,IR_SCHED_Tasks_C2,658,trigger
-204352175,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-204352175,Core_2,0,T,TASK_5MS,102,start
-204352175,TASK_5MS,102,R,FUNC_EXECTIME_1,372,start
-204352175,Core_2,0,C,Core_2,0,execute
-204352175,TASK_5MS,102,C,Core_2,0,execute
-204907900,TASK_5MS,102,R,FUNC_EXECTIME_1,372,terminate
-204907900,Core_2,0,T,TASK_5MS,102,terminate
-204907900,TASK_5MS,102,SCHED,SCHED_Tasks_C2,-1,processterminate
-204907900,Core_2,0,C,Core_2,0,idle
-204907900,TASK_5MS,102,C,Core_2,0,idle
-204908000,TASK_5MS,102,STI,IR_SCHED_Tasks_C2,659,trigger
-204908000,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-204973150,TASK_1MS,204,R,FUNC_EXECTIME_1,373,terminate
-204973150,Core_1,0,T,TASK_1MS,204,terminate
-204973150,TASK_1MS,204,SCHED,SCHED_Tasks_C1,-1,processterminate
-204973150,Core_1,0,C,Core_1,0,idle
-204973150,TASK_1MS,204,C,Core_1,0,idle
-204973250,TASK_1MS,204,STI,IR_SCHED_Tasks_C1,690,trigger
-204973250,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-204973250,Core_1,0,C,Core_1,0,execute_idle
-204973250,TASK_InputProcessing,102,C,Core_1,0,execute_idle
-204973250,Core_1,0,T,TASK_InputProcessing,102,resume
-204973250,TASK_InputProcessing,102,R,FUNC_SEMLOCK,205,resume
-204998250,TASK_InputProcessing,102,SEM,SEM_DataElement1,0,requestsemaphore,0
-204998250,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-204998250,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-204998250,Core_1,0,C,Core_1,0,lock
-204998250,TASK_InputProcessing,102,SEM,SEM_DataElement1,0,assigned,1
-204998300,TASK_InputProcessing,102,R,FUNC_SEMLOCK,205,terminate
-204998300,Core_1,0,C,Core_1,0,unlock
-204998300,TASK_InputProcessing,102,R,FUNC_ReadSensorData,102,start
-205000000,SIM,-1,STI,TIMER-10MS,20,trigger
-205000000,TIMER-10MS,20,T,TASK_10MS,20,activate
-205000000,TASK_10MS,20,SCHED,SCHED_Tasks_C2,-1,processactivate
-205000100,TASK_10MS,20,STI,IR_SCHED_Tasks_C2,660,trigger
-205000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-205000100,Core_2,0,T,TASK_10MS,20,start
-205000100,TASK_10MS,20,R,FUNC_EXECTIME_1,374,start
-205000100,Core_2,0,C,Core_2,0,execute
-205000100,TASK_10MS,20,C,Core_2,0,execute
-205160775,TASK_InputProcessing,102,SIG,SIG_RotationSpeed,0,read,0
-205160775,TASK_InputProcessing,102,SIG,SIG_Lambda,0,read,0
-205160775,TASK_InputProcessing,102,SIG,SIG_Temperature,0,read,0
-205160775,TASK_InputProcessing,102,R,FUNC_ReadSensorData,102,terminate
-205160775,TASK_InputProcessing,102,R,FUNC_SEMUNLOCK,205,start
-205250000,SIM,-1,STI,TIMER-1MS,205,trigger
-205250000,TIMER-1MS,205,T,TASK_1MS,205,activate
-205250000,TASK_1MS,205,SCHED,SCHED_Tasks_C1,-1,processactivate
-205250100,TASK_1MS,205,STI,IR_SCHED_Tasks_C1,691,trigger
-205250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-205360775,TASK_InputProcessing,102,SEM,SEM_DataElement1,0,released,1
-205360775,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-205360775,TASK_InputProcessing,102,SCHED,SCHED_Tasks_C1,-1,schedulepoint
-205360775,Core_1,0,C,Core_1,0,lock
-205360825,TASK_InputProcessing,102,R,FUNC_SEMUNLOCK,205,terminate
-205360825,Core_1,0,C,Core_1,0,unlock
-205360825,TASK_InputProcessing,102,STI,IPA_InputReady,102,trigger
-205360825,IPA_InputReady,102,T,TASK_CalcEngineSpeed,102,activate
-205360825,TASK_CalcEngineSpeed,102,SCHED,SCHED_Tasks_C2,-1,processactivate
-205360825,Core_1,0,T,TASK_InputProcessing,102,terminate
-205360825,TASK_InputProcessing,102,SCHED,SCHED_Tasks_C1,-1,processterminate
-205360825,Core_1,0,C,Core_1,0,idle
-205360825,TASK_InputProcessing,102,C,Core_1,0,idle
-205360875,TASK_InputProcessing,102,STI,IR_SCHED_Tasks_C1,692,trigger
-205360875,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-205360875,Core_1,0,T,TASK_1MS,205,start
-205360875,TASK_1MS,205,R,FUNC_EXECTIME_1,375,start
-205360875,Core_1,0,C,Core_1,0,execute
-205360875,TASK_1MS,205,C,Core_1,0,execute
-205360925,TASK_CalcEngineSpeed,102,STI,IR_SCHED_Tasks_C2,661,trigger
-205360925,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-205360925,TASK_10MS,20,R,FUNC_EXECTIME_1,374,suspend
-205360925,Core_2,0,T,TASK_10MS,20,preempt
-205360925,Core_2,0,C,Core_2,0,idle_execution
-205360925,TASK_10MS,20,C,Core_2,0,idle_execution
-205360925,Core_2,0,T,TASK_CalcEngineSpeed,102,start
-205360925,TASK_CalcEngineSpeed,102,R,FUNC_ENGINESPEED,102,start
-205360925,Core_2,0,C,Core_2,0,execute
-205360925,TASK_CalcEngineSpeed,102,C,Core_2,0,execute
-205567375,TASK_CalcEngineSpeed,102,R,FUNC_ENGINESPEED,102,terminate
-205567375,Core_2,0,T,TASK_CalcEngineSpeed,102,terminate
-205567375,TASK_CalcEngineSpeed,102,SCHED,SCHED_Tasks_C2,-1,processterminate
-205567375,Core_2,0,C,Core_2,0,idle
-205567375,TASK_CalcEngineSpeed,102,C,Core_2,0,idle
-205567475,TASK_CalcEngineSpeed,102,STI,IR_SCHED_Tasks_C2,662,trigger
-205567475,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-205567475,Core_2,0,C,Core_2,0,execute_idle
-205567475,TASK_10MS,20,C,Core_2,0,execute_idle
-205567475,Core_2,0,T,TASK_10MS,20,resume
-205567475,TASK_10MS,20,R,FUNC_EXECTIME_1,374,resume
-205681650,TASK_10MS,20,R,FUNC_EXECTIME_1,374,terminate
-205681650,Core_2,0,T,TASK_10MS,20,terminate
-205681650,TASK_10MS,20,SCHED,SCHED_Tasks_C2,-1,processterminate
-205681650,Core_2,0,C,Core_2,0,idle
-205681650,TASK_10MS,20,C,Core_2,0,idle
-205681750,TASK_10MS,20,STI,IR_SCHED_Tasks_C2,663,trigger
-205681750,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-205908850,TASK_1MS,205,R,FUNC_EXECTIME_1,375,terminate
-205908850,Core_1,0,T,TASK_1MS,205,terminate
-205908850,TASK_1MS,205,SCHED,SCHED_Tasks_C1,-1,processterminate
-205908850,Core_1,0,C,Core_1,0,idle
-205908850,TASK_1MS,205,C,Core_1,0,idle
-205908950,TASK_1MS,205,STI,IR_SCHED_Tasks_C1,693,trigger
-205908950,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-205908950,Core_1,0,C,Core_1,0,execute_idle
-205908950,TASK_100MS,2,C,Core_1,0,execute_idle
-205908950,Core_1,0,T,TASK_100MS,2,resume
-205908950,TASK_100MS,2,R,FUNC_EXECTIME_1,366,resume
-206000000,SIM,-1,STI,TIMER-B_2ms,103,trigger
-206000000,TIMER-B_2ms,103,T,TASK_WritingActuator,103,activate
-206000000,TASK_WritingActuator,103,SCHED,SCHED_Tasks_C2,-1,processactivate
-206000100,TASK_WritingActuator,103,STI,IR_SCHED_Tasks_C2,664,trigger
-206000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-206000100,Core_2,0,T,TASK_WritingActuator,103,start
-206000100,TASK_WritingActuator,103,R,FUNC_SEMLOCK,206,start
-206000100,Core_2,0,C,Core_2,0,execute
-206000100,TASK_WritingActuator,103,C,Core_2,0,execute
-206100000,SIM,-1,STI,TIMER-5MS,103,trigger
-206100000,TIMER-5MS,103,T,TASK_5MS,103,activate
-206100000,TASK_5MS,103,SCHED,SCHED_Tasks_C2,-1,processactivate
-206100100,TASK_5MS,103,STI,IR_SCHED_Tasks_C2,665,trigger
-206100100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-206125100,TASK_WritingActuator,103,SEM,SEM_DataElement1,0,requestsemaphore,0
-206125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-206125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-206125100,Core_2,0,C,Core_2,0,lock
-206125100,TASK_WritingActuator,103,SEM,SEM_DataElement1,0,assigned,1
-206125150,TASK_WritingActuator,103,R,FUNC_SEMLOCK,206,terminate
-206125150,Core_2,0,C,Core_2,0,unlock
-206125150,TASK_WritingActuator,103,R,FUNC_WriteData,103,start
-206150000,SIM,-1,STI,TIMER-A_2ms,103,trigger
-206150000,TIMER-A_2ms,103,T,TASK_InputProcessing,103,activate
-206150000,TASK_InputProcessing,103,SCHED,SCHED_Tasks_C1,-1,processactivate
-206150100,TASK_InputProcessing,103,STI,IR_SCHED_Tasks_C1,694,trigger
-206150100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-206150100,TASK_100MS,2,R,FUNC_EXECTIME_1,366,suspend
-206150100,Core_1,0,T,TASK_100MS,2,preempt
-206150100,Core_1,0,C,Core_1,0,idle_execution
-206150100,TASK_100MS,2,C,Core_1,0,idle_execution
-206150100,Core_1,0,T,TASK_InputProcessing,103,start
-206150100,TASK_InputProcessing,103,R,FUNC_SEMLOCK,207,start
-206150100,Core_1,0,C,Core_1,0,execute
-206150100,TASK_InputProcessing,103,C,Core_1,0,execute
-206152475,TASK_WritingActuator,103,SIG,SIG_Mixture,0,write,0
-206152475,TASK_WritingActuator,103,R,FUNC_WriteData,103,terminate
-206152475,TASK_WritingActuator,103,R,FUNC_SEMUNLOCK,206,start
-206250000,SIM,-1,STI,TIMER-1MS,206,trigger
-206250000,TIMER-1MS,206,T,TASK_1MS,206,activate
-206250000,TASK_1MS,206,SCHED,SCHED_Tasks_C1,-1,processactivate
-206250100,TASK_1MS,206,STI,IR_SCHED_Tasks_C1,695,trigger
-206250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-206250100,TASK_InputProcessing,103,R,FUNC_SEMLOCK,207,suspend
-206250100,Core_1,0,T,TASK_InputProcessing,103,preempt
-206250100,Core_1,0,C,Core_1,0,idle_execution
-206250100,TASK_InputProcessing,103,C,Core_1,0,idle_execution
-206250100,Core_1,0,T,TASK_1MS,206,start
-206250100,TASK_1MS,206,R,FUNC_EXECTIME_1,377,start
-206250100,Core_1,0,C,Core_1,0,execute
-206250100,TASK_1MS,206,C,Core_1,0,execute
-206352475,TASK_WritingActuator,103,SEM,SEM_DataElement1,0,released,1
-206352475,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-206352475,TASK_WritingActuator,103,SCHED,SCHED_Tasks_C2,-1,schedulepoint
-206352475,Core_2,0,C,Core_2,0,lock
-206352525,TASK_WritingActuator,103,R,FUNC_SEMUNLOCK,206,terminate
-206352525,Core_2,0,T,TASK_WritingActuator,103,terminate
-206352525,TASK_WritingActuator,103,SCHED,SCHED_Tasks_C2,-1,processterminate
-206352525,Core_2,0,C,Core_2,0,unlock
-206352525,Core_2,0,C,Core_2,0,idle
-206352525,TASK_WritingActuator,103,C,Core_2,0,idle
-206352575,TASK_WritingActuator,103,STI,IR_SCHED_Tasks_C2,666,trigger
-206352575,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-206352575,Core_2,0,T,TASK_5MS,103,start
-206352575,TASK_5MS,103,R,FUNC_EXECTIME_1,376,start
-206352575,Core_2,0,C,Core_2,0,execute
-206352575,TASK_5MS,103,C,Core_2,0,execute
-206736100,TASK_1MS,206,R,FUNC_EXECTIME_1,377,terminate
-206736100,Core_1,0,T,TASK_1MS,206,terminate
-206736100,TASK_1MS,206,SCHED,SCHED_Tasks_C1,-1,processterminate
-206736100,Core_1,0,C,Core_1,0,idle
-206736100,TASK_1MS,206,C,Core_1,0,idle
-206736200,TASK_1MS,206,STI,IR_SCHED_Tasks_C1,696,trigger
-206736200,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-206736200,Core_1,0,C,Core_1,0,execute_idle
-206736200,TASK_InputProcessing,103,C,Core_1,0,execute_idle
-206736200,Core_1,0,T,TASK_InputProcessing,103,resume
-206736200,TASK_InputProcessing,103,R,FUNC_SEMLOCK,207,resume
-206761200,TASK_InputProcessing,103,SEM,SEM_DataElement1,0,requestsemaphore,0
-206761200,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-206761200,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-206761200,Core_1,0,C,Core_1,0,lock
-206761200,TASK_InputProcessing,103,SEM,SEM_DataElement1,0,assigned,1
-206761250,TASK_InputProcessing,103,R,FUNC_SEMLOCK,207,terminate
-206761250,Core_1,0,C,Core_1,0,unlock
-206761250,TASK_InputProcessing,103,R,FUNC_ReadSensorData,103,start
-206869450,TASK_5MS,103,R,FUNC_EXECTIME_1,376,terminate
-206869450,Core_2,0,T,TASK_5MS,103,terminate
-206869450,TASK_5MS,103,SCHED,SCHED_Tasks_C2,-1,processterminate
-206869450,Core_2,0,C,Core_2,0,idle
-206869450,TASK_5MS,103,C,Core_2,0,idle
-206869550,TASK_5MS,103,STI,IR_SCHED_Tasks_C2,667,trigger
-206869550,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-206925550,TASK_InputProcessing,103,SIG,SIG_RotationSpeed,0,read,0
-206925550,TASK_InputProcessing,103,SIG,SIG_Lambda,0,read,0
-206925550,TASK_InputProcessing,103,SIG,SIG_Temperature,0,read,0
-206925550,TASK_InputProcessing,103,R,FUNC_ReadSensorData,103,terminate
-206925550,TASK_InputProcessing,103,R,FUNC_SEMUNLOCK,207,start
-207125550,TASK_InputProcessing,103,SEM,SEM_DataElement1,0,released,1
-207125550,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-207125550,TASK_InputProcessing,103,SCHED,SCHED_Tasks_C1,-1,schedulepoint
-207125550,Core_1,0,C,Core_1,0,lock
-207125600,TASK_InputProcessing,103,R,FUNC_SEMUNLOCK,207,terminate
-207125600,Core_1,0,C,Core_1,0,unlock
-207125600,TASK_InputProcessing,103,STI,IPA_InputReady,103,trigger
-207125600,IPA_InputReady,103,T,TASK_CalcEngineSpeed,103,activate
-207125600,TASK_CalcEngineSpeed,103,SCHED,SCHED_Tasks_C2,-1,processactivate
-207125600,Core_1,0,T,TASK_InputProcessing,103,terminate
-207125600,TASK_InputProcessing,103,SCHED,SCHED_Tasks_C1,-1,processterminate
-207125600,Core_1,0,C,Core_1,0,idle
-207125600,TASK_InputProcessing,103,C,Core_1,0,idle
-207125650,TASK_InputProcessing,103,STI,IR_SCHED_Tasks_C1,697,trigger
-207125650,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-207125650,Core_1,0,C,Core_1,0,execute_idle
-207125650,TASK_100MS,2,C,Core_1,0,execute_idle
-207125650,Core_1,0,T,TASK_100MS,2,resume
-207125650,TASK_100MS,2,R,FUNC_EXECTIME_1,366,resume
-207125700,TASK_CalcEngineSpeed,103,STI,IR_SCHED_Tasks_C2,668,trigger
-207125700,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-207125700,Core_2,0,T,TASK_CalcEngineSpeed,103,start
-207125700,TASK_CalcEngineSpeed,103,R,FUNC_ENGINESPEED,103,start
-207125700,Core_2,0,C,Core_2,0,execute
-207125700,TASK_CalcEngineSpeed,103,C,Core_2,0,execute
-207145000,TASK_100MS,2,R,FUNC_EXECTIME_1,366,terminate
-207145000,Core_1,0,T,TASK_100MS,2,terminate
-207145000,TASK_100MS,2,SCHED,SCHED_Tasks_C1,-1,processterminate
-207145000,Core_1,0,C,Core_1,0,idle
-207145000,TASK_100MS,2,C,Core_1,0,idle
-207145100,TASK_100MS,2,STI,IR_SCHED_Tasks_C1,698,trigger
-207145100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-207145100,Core_1,0,T,TASK_200MS,1,start
-207145100,TASK_200MS,1,R,FUNC_EXECTIME_1,363,start
-207145100,Core_1,0,C,Core_1,0,execute
-207145100,TASK_200MS,1,C,Core_1,0,execute
-207250000,SIM,-1,STI,TIMER-1MS,207,trigger
-207250000,TIMER-1MS,207,T,TASK_1MS,207,activate
-207250000,TASK_1MS,207,SCHED,SCHED_Tasks_C1,-1,processactivate
-207250100,TASK_1MS,207,STI,IR_SCHED_Tasks_C1,699,trigger
-207250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-207250100,TASK_200MS,1,R,FUNC_EXECTIME_1,363,suspend
-207250100,Core_1,0,T,TASK_200MS,1,preempt
-207250100,Core_1,0,C,Core_1,0,idle_execution
-207250100,TASK_200MS,1,C,Core_1,0,idle_execution
-207250100,Core_1,0,T,TASK_1MS,207,start
-207250100,TASK_1MS,207,R,FUNC_EXECTIME_1,378,start
-207250100,Core_1,0,C,Core_1,0,execute
-207250100,TASK_1MS,207,C,Core_1,0,execute
-207304750,TASK_CalcEngineSpeed,103,R,FUNC_ENGINESPEED,103,terminate
-207304750,Core_2,0,T,TASK_CalcEngineSpeed,103,terminate
-207304750,TASK_CalcEngineSpeed,103,SCHED,SCHED_Tasks_C2,-1,processterminate
-207304750,Core_2,0,C,Core_2,0,idle
-207304750,TASK_CalcEngineSpeed,103,C,Core_2,0,idle
-207304850,TASK_CalcEngineSpeed,103,STI,IR_SCHED_Tasks_C2,669,trigger
-207304850,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-207723975,TASK_1MS,207,R,FUNC_EXECTIME_1,378,terminate
-207723975,Core_1,0,T,TASK_1MS,207,terminate
-207723975,TASK_1MS,207,SCHED,SCHED_Tasks_C1,-1,processterminate
-207723975,Core_1,0,C,Core_1,0,idle
-207723975,TASK_1MS,207,C,Core_1,0,idle
-207724075,TASK_1MS,207,STI,IR_SCHED_Tasks_C1,700,trigger
-207724075,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-207724075,Core_1,0,C,Core_1,0,execute_idle
-207724075,TASK_200MS,1,C,Core_1,0,execute_idle
-207724075,Core_1,0,T,TASK_200MS,1,resume
-207724075,TASK_200MS,1,R,FUNC_EXECTIME_1,363,resume
-207939125,TASK_200MS,1,R,FUNC_EXECTIME_1,363,terminate
-207939125,TASK_200MS,1,SCHED,SCHED_Tasks_C1,-1,schedulepoint
-207939125,Core_1,0,T,TASK_200MS,1,preempt
-207939125,Core_1,0,C,Core_1,0,idle
-207939125,TASK_200MS,1,C,Core_1,0,idle
-207939225,TASK_200MS,1,STI,IR_SCHED_Tasks_C1,701,trigger
-207939225,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-207939225,Core_1,0,T,TASK_200MS,1,resume
-207939225,TASK_200MS,1,R,FUNC_EXECTIME_1,379,start
-207939225,Core_1,0,C,Core_1,0,execute
-207939225,TASK_200MS,1,C,Core_1,0,execute
-208000000,SIM,-1,STI,TIMER-B_2ms,104,trigger
-208000000,TIMER-B_2ms,104,T,TASK_WritingActuator,104,activate
-208000000,TASK_WritingActuator,104,SCHED,SCHED_Tasks_C2,-1,processactivate
-208000100,TASK_WritingActuator,104,STI,IR_SCHED_Tasks_C2,670,trigger
-208000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-208000100,Core_2,0,T,TASK_WritingActuator,104,start
-208000100,TASK_WritingActuator,104,R,FUNC_SEMLOCK,208,start
-208000100,Core_2,0,C,Core_2,0,execute
-208000100,TASK_WritingActuator,104,C,Core_2,0,execute
-208100000,SIM,-1,STI,TIMER-5MS,104,trigger
-208100000,TIMER-5MS,104,T,TASK_5MS,104,activate
-208100000,TASK_5MS,104,SCHED,SCHED_Tasks_C2,-1,processactivate
-208100100,TASK_5MS,104,STI,IR_SCHED_Tasks_C2,671,trigger
-208100100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-208125100,TASK_WritingActuator,104,SEM,SEM_DataElement1,0,requestsemaphore,0
-208125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-208125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-208125100,Core_2,0,C,Core_2,0,lock
-208125100,TASK_WritingActuator,104,SEM,SEM_DataElement1,0,assigned,1
-208125150,TASK_WritingActuator,104,R,FUNC_SEMLOCK,208,terminate
-208125150,Core_2,0,C,Core_2,0,unlock
-208125150,TASK_WritingActuator,104,R,FUNC_WriteData,104,start
-208150000,SIM,-1,STI,TIMER-A_2ms,104,trigger
-208150000,TIMER-A_2ms,104,T,TASK_InputProcessing,104,activate
-208150000,TASK_InputProcessing,104,SCHED,SCHED_Tasks_C1,-1,processactivate
-208150100,TASK_InputProcessing,104,STI,IR_SCHED_Tasks_C1,702,trigger
-208150100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-208150100,TASK_200MS,1,R,FUNC_EXECTIME_1,379,suspend
-208150100,Core_1,0,T,TASK_200MS,1,preempt
-208150100,Core_1,0,C,Core_1,0,idle_execution
-208150100,TASK_200MS,1,C,Core_1,0,idle_execution
-208150100,Core_1,0,T,TASK_InputProcessing,104,start
-208150100,TASK_InputProcessing,104,R,FUNC_SEMLOCK,209,start
-208150100,Core_1,0,C,Core_1,0,execute
-208150100,TASK_InputProcessing,104,C,Core_1,0,execute
-208152550,TASK_WritingActuator,104,SIG,SIG_Mixture,0,write,0
-208152550,TASK_WritingActuator,104,R,FUNC_WriteData,104,terminate
-208152550,TASK_WritingActuator,104,R,FUNC_SEMUNLOCK,208,start
-208250000,SIM,-1,STI,TIMER-1MS,208,trigger
-208250000,TIMER-1MS,208,T,TASK_1MS,208,activate
-208250000,TASK_1MS,208,SCHED,SCHED_Tasks_C1,-1,processactivate
-208250100,TASK_1MS,208,STI,IR_SCHED_Tasks_C1,703,trigger
-208250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-208250100,TASK_InputProcessing,104,R,FUNC_SEMLOCK,209,suspend
-208250100,Core_1,0,T,TASK_InputProcessing,104,preempt
-208250100,Core_1,0,C,Core_1,0,idle_execution
-208250100,TASK_InputProcessing,104,C,Core_1,0,idle_execution
-208250100,Core_1,0,T,TASK_1MS,208,start
-208250100,TASK_1MS,208,R,FUNC_EXECTIME_1,383,start
-208250100,Core_1,0,C,Core_1,0,execute
-208250100,TASK_1MS,208,C,Core_1,0,execute
-208352550,TASK_WritingActuator,104,SEM,SEM_DataElement1,0,released,1
-208352550,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-208352550,TASK_WritingActuator,104,SCHED,SCHED_Tasks_C2,-1,schedulepoint
-208352550,Core_2,0,C,Core_2,0,lock
-208352600,TASK_WritingActuator,104,R,FUNC_SEMUNLOCK,208,terminate
-208352600,Core_2,0,T,TASK_WritingActuator,104,terminate
-208352600,TASK_WritingActuator,104,SCHED,SCHED_Tasks_C2,-1,processterminate
-208352600,Core_2,0,C,Core_2,0,unlock
-208352600,Core_2,0,C,Core_2,0,idle
-208352600,TASK_WritingActuator,104,C,Core_2,0,idle
-208352650,TASK_WritingActuator,104,STI,IR_SCHED_Tasks_C2,672,trigger
-208352650,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-208352650,Core_2,0,T,TASK_5MS,104,start
-208352650,TASK_5MS,104,R,FUNC_EXECTIME_1,382,start
-208352650,Core_2,0,C,Core_2,0,execute
-208352650,TASK_5MS,104,C,Core_2,0,execute
-208721750,TASK_5MS,104,R,FUNC_EXECTIME_1,382,terminate
-208721750,Core_2,0,T,TASK_5MS,104,terminate
-208721750,TASK_5MS,104,SCHED,SCHED_Tasks_C2,-1,processterminate
-208721750,Core_2,0,C,Core_2,0,idle
-208721750,TASK_5MS,104,C,Core_2,0,idle
-208721850,TASK_5MS,104,STI,IR_SCHED_Tasks_C2,673,trigger
-208721850,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-208721900,TASK_1MS,208,R,FUNC_EXECTIME_1,383,terminate
-208721900,Core_1,0,T,TASK_1MS,208,terminate
-208721900,TASK_1MS,208,SCHED,SCHED_Tasks_C1,-1,processterminate
-208721900,Core_1,0,C,Core_1,0,idle
-208721900,TASK_1MS,208,C,Core_1,0,idle
-208722000,TASK_1MS,208,STI,IR_SCHED_Tasks_C1,704,trigger
-208722000,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-208722000,Core_1,0,C,Core_1,0,execute_idle
-208722000,TASK_InputProcessing,104,C,Core_1,0,execute_idle
-208722000,Core_1,0,T,TASK_InputProcessing,104,resume
-208722000,TASK_InputProcessing,104,R,FUNC_SEMLOCK,209,resume
-208747000,TASK_InputProcessing,104,SEM,SEM_DataElement1,0,requestsemaphore,0
-208747000,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-208747000,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-208747000,Core_1,0,C,Core_1,0,lock
-208747000,TASK_InputProcessing,104,SEM,SEM_DataElement1,0,assigned,1
-208747050,TASK_InputProcessing,104,R,FUNC_SEMLOCK,209,terminate
-208747050,Core_1,0,C,Core_1,0,unlock
-208747050,TASK_InputProcessing,104,R,FUNC_ReadSensorData,104,start
-208905375,TASK_InputProcessing,104,SIG,SIG_RotationSpeed,0,read,0
-208905375,TASK_InputProcessing,104,SIG,SIG_Lambda,0,read,0
-208905375,TASK_InputProcessing,104,SIG,SIG_Temperature,0,read,0
-208905375,TASK_InputProcessing,104,R,FUNC_ReadSensorData,104,terminate
-208905375,TASK_InputProcessing,104,R,FUNC_SEMUNLOCK,209,start
-209105375,TASK_InputProcessing,104,SEM,SEM_DataElement1,0,released,1
-209105375,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-209105375,TASK_InputProcessing,104,SCHED,SCHED_Tasks_C1,-1,schedulepoint
-209105375,Core_1,0,C,Core_1,0,lock
-209105425,TASK_InputProcessing,104,R,FUNC_SEMUNLOCK,209,terminate
-209105425,Core_1,0,C,Core_1,0,unlock
-209105425,TASK_InputProcessing,104,STI,IPA_InputReady,104,trigger
-209105425,IPA_InputReady,104,T,TASK_CalcEngineSpeed,104,activate
-209105425,TASK_CalcEngineSpeed,104,SCHED,SCHED_Tasks_C2,-1,processactivate
-209105425,Core_1,0,T,TASK_InputProcessing,104,terminate
-209105425,TASK_InputProcessing,104,SCHED,SCHED_Tasks_C1,-1,processterminate
-209105425,Core_1,0,C,Core_1,0,idle
-209105425,TASK_InputProcessing,104,C,Core_1,0,idle
-209105475,TASK_InputProcessing,104,STI,IR_SCHED_Tasks_C1,705,trigger
-209105475,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-209105475,Core_1,0,C,Core_1,0,execute_idle
-209105475,TASK_200MS,1,C,Core_1,0,execute_idle
-209105475,Core_1,0,T,TASK_200MS,1,resume
-209105475,TASK_200MS,1,R,FUNC_EXECTIME_1,379,resume
-209105525,TASK_CalcEngineSpeed,104,STI,IR_SCHED_Tasks_C2,674,trigger
-209105525,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-209105525,Core_2,0,T,TASK_CalcEngineSpeed,104,start
-209105525,TASK_CalcEngineSpeed,104,R,FUNC_ENGINESPEED,104,start
-209105525,Core_2,0,C,Core_2,0,execute
-209105525,TASK_CalcEngineSpeed,104,C,Core_2,0,execute
-209213350,TASK_CalcEngineSpeed,104,R,FUNC_ENGINESPEED,104,terminate
-209213350,Core_2,0,T,TASK_CalcEngineSpeed,104,terminate
-209213350,TASK_CalcEngineSpeed,104,SCHED,SCHED_Tasks_C2,-1,processterminate
-209213350,Core_2,0,C,Core_2,0,idle
-209213350,TASK_CalcEngineSpeed,104,C,Core_2,0,idle
-209213450,TASK_CalcEngineSpeed,104,STI,IR_SCHED_Tasks_C2,675,trigger
-209213450,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-209250000,SIM,-1,STI,TIMER-1MS,209,trigger
-209250000,TIMER-1MS,209,T,TASK_1MS,209,activate
-209250000,TASK_1MS,209,SCHED,SCHED_Tasks_C1,-1,processactivate
-209250100,TASK_1MS,209,STI,IR_SCHED_Tasks_C1,706,trigger
-209250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-209250100,TASK_200MS,1,R,FUNC_EXECTIME_1,379,suspend
-209250100,Core_1,0,T,TASK_200MS,1,preempt
-209250100,Core_1,0,C,Core_1,0,idle_execution
-209250100,TASK_200MS,1,C,Core_1,0,idle_execution
-209250100,Core_1,0,T,TASK_1MS,209,start
-209250100,TASK_1MS,209,R,FUNC_EXECTIME_1,384,start
-209250100,Core_1,0,C,Core_1,0,execute
-209250100,TASK_1MS,209,C,Core_1,0,execute
-209697150,TASK_1MS,209,R,FUNC_EXECTIME_1,384,terminate
-209697150,Core_1,0,T,TASK_1MS,209,terminate
-209697150,TASK_1MS,209,SCHED,SCHED_Tasks_C1,-1,processterminate
-209697150,Core_1,0,C,Core_1,0,idle
-209697150,TASK_1MS,209,C,Core_1,0,idle
-209697250,TASK_1MS,209,STI,IR_SCHED_Tasks_C1,707,trigger
-209697250,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-209697250,Core_1,0,C,Core_1,0,execute_idle
-209697250,TASK_200MS,1,C,Core_1,0,execute_idle
-209697250,Core_1,0,T,TASK_200MS,1,resume
-209697250,TASK_200MS,1,R,FUNC_EXECTIME_1,379,resume
-209923250,TASK_200MS,1,R,FUNC_EXECTIME_1,379,terminate
-209923250,TASK_200MS,1,R,FUNC_EXECTIME_1,380,start
-210000000,SIM,-1,STI,TIMER-B_2ms,105,trigger
-210000000,TIMER-B_2ms,105,T,TASK_WritingActuator,105,activate
-210000000,TASK_WritingActuator,105,SCHED,SCHED_Tasks_C2,-1,processactivate
-210000000,SIM,-1,STI,TIMER-10MS_2,21,trigger
-210000000,TIMER-10MS_2,21,T,TASK_10MS_DL2,21,activate
-210000000,TASK_10MS_DL2,21,SCHED,SCHED_Tasks_C1,-1,processactivate
-210000100,TASK_WritingActuator,105,STI,IR_SCHED_Tasks_C2,676,trigger
-210000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-210000100,Core_2,0,T,TASK_WritingActuator,105,start
-210000100,TASK_WritingActuator,105,R,FUNC_SEMLOCK,210,start
-210000100,Core_2,0,C,Core_2,0,execute
-210000100,TASK_WritingActuator,105,C,Core_2,0,execute
-210000100,TASK_10MS_DL2,21,STI,IR_SCHED_Tasks_C1,708,trigger
-210000100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-210000100,TASK_200MS,1,R,FUNC_EXECTIME_1,380,suspend
-210000100,Core_1,0,T,TASK_200MS,1,preempt
-210000100,Core_1,0,C,Core_1,0,idle_execution
-210000100,TASK_200MS,1,C,Core_1,0,idle_execution
-210000100,Core_1,0,T,TASK_10MS_DL2,21,start
-210000100,TASK_10MS_DL2,21,R,FUNC_EXECTIME_1,385,start
-210000100,Core_1,0,C,Core_1,0,execute
-210000100,TASK_10MS_DL2,21,C,Core_1,0,execute
-210100000,SIM,-1,STI,TIMER-5MS,105,trigger
-210100000,TIMER-5MS,105,T,TASK_5MS,105,activate
-210100000,TASK_5MS,105,SCHED,SCHED_Tasks_C2,-1,processactivate
-210100100,TASK_5MS,105,STI,IR_SCHED_Tasks_C2,677,trigger
-210100100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-210125100,TASK_WritingActuator,105,SEM,SEM_DataElement1,0,requestsemaphore,0
-210125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-210125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-210125100,Core_2,0,C,Core_2,0,lock
-210125100,TASK_WritingActuator,105,SEM,SEM_DataElement1,0,assigned,1
-210125150,TASK_WritingActuator,105,R,FUNC_SEMLOCK,210,terminate
-210125150,Core_2,0,C,Core_2,0,unlock
-210125150,TASK_WritingActuator,105,R,FUNC_WriteData,105,start
-210150000,SIM,-1,STI,TIMER-A_2ms,105,trigger
-210150000,TIMER-A_2ms,105,T,TASK_InputProcessing,105,activate
-210150000,TASK_InputProcessing,105,SCHED,SCHED_Tasks_C1,-1,processactivate
-210150100,TASK_InputProcessing,105,STI,IR_SCHED_Tasks_C1,709,trigger
-210150100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-210152575,TASK_WritingActuator,105,SIG,SIG_Mixture,0,write,0
-210152575,TASK_WritingActuator,105,R,FUNC_WriteData,105,terminate
-210152575,TASK_WritingActuator,105,R,FUNC_SEMUNLOCK,210,start
-210250000,SIM,-1,STI,TIMER-1MS,210,trigger
-210250000,TIMER-1MS,210,T,TASK_1MS,210,activate
-210250000,TASK_1MS,210,SCHED,SCHED_Tasks_C1,-1,processactivate
-210250100,TASK_1MS,210,STI,IR_SCHED_Tasks_C1,710,trigger
-210250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-210250100,TASK_10MS_DL2,21,R,FUNC_EXECTIME_1,385,suspend
-210250100,Core_1,0,T,TASK_10MS_DL2,21,preempt
-210250100,Core_1,0,C,Core_1,0,idle_execution
-210250100,TASK_10MS_DL2,21,C,Core_1,0,idle_execution
-210250100,Core_1,0,T,TASK_1MS,210,start
-210250100,TASK_1MS,210,R,FUNC_EXECTIME_1,387,start
-210250100,Core_1,0,C,Core_1,0,execute
-210250100,TASK_1MS,210,C,Core_1,0,execute
-210352575,TASK_WritingActuator,105,SEM,SEM_DataElement1,0,released,1
-210352575,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-210352575,TASK_WritingActuator,105,SCHED,SCHED_Tasks_C2,-1,schedulepoint
-210352575,Core_2,0,C,Core_2,0,lock
-210352625,TASK_WritingActuator,105,R,FUNC_SEMUNLOCK,210,terminate
-210352625,Core_2,0,T,TASK_WritingActuator,105,terminate
-210352625,TASK_WritingActuator,105,SCHED,SCHED_Tasks_C2,-1,processterminate
-210352625,Core_2,0,C,Core_2,0,unlock
-210352625,Core_2,0,C,Core_2,0,idle
-210352625,TASK_WritingActuator,105,C,Core_2,0,idle
-210352675,TASK_WritingActuator,105,STI,IR_SCHED_Tasks_C2,678,trigger
-210352675,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-210352675,Core_2,0,T,TASK_5MS,105,start
-210352675,TASK_5MS,105,R,FUNC_EXECTIME_1,386,start
-210352675,Core_2,0,C,Core_2,0,execute
-210352675,TASK_5MS,105,C,Core_2,0,execute
-210812475,TASK_5MS,105,R,FUNC_EXECTIME_1,386,terminate
-210812475,Core_2,0,T,TASK_5MS,105,terminate
-210812475,TASK_5MS,105,SCHED,SCHED_Tasks_C2,-1,processterminate
-210812475,Core_2,0,C,Core_2,0,idle
-210812475,TASK_5MS,105,C,Core_2,0,idle
-210812575,TASK_5MS,105,STI,IR_SCHED_Tasks_C2,679,trigger
-210812575,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-210886600,TASK_1MS,210,R,FUNC_EXECTIME_1,387,terminate
-210886600,Core_1,0,T,TASK_1MS,210,terminate
-210886600,TASK_1MS,210,SCHED,SCHED_Tasks_C1,-1,processterminate
-210886600,Core_1,0,C,Core_1,0,idle
-210886600,TASK_1MS,210,C,Core_1,0,idle
-210886700,TASK_1MS,210,STI,IR_SCHED_Tasks_C1,711,trigger
-210886700,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-210886700,Core_1,0,C,Core_1,0,execute_idle
-210886700,TASK_10MS_DL2,21,C,Core_1,0,execute_idle
-210886700,Core_1,0,T,TASK_10MS_DL2,21,resume
-210886700,TASK_10MS_DL2,21,R,FUNC_EXECTIME_1,385,resume
-211061775,TASK_10MS_DL2,21,R,FUNC_EXECTIME_1,385,terminate
-211061775,Core_1,0,T,TASK_10MS_DL2,21,terminate
-211061775,TASK_10MS_DL2,21,SCHED,SCHED_Tasks_C1,-1,processterminate
-211061775,Core_1,0,C,Core_1,0,idle
-211061775,TASK_10MS_DL2,21,C,Core_1,0,idle
-211061875,TASK_10MS_DL2,21,STI,IR_SCHED_Tasks_C1,712,trigger
-211061875,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-211061875,Core_1,0,T,TASK_InputProcessing,105,start
-211061875,TASK_InputProcessing,105,R,FUNC_SEMLOCK,211,start
-211061875,Core_1,0,C,Core_1,0,execute
-211061875,TASK_InputProcessing,105,C,Core_1,0,execute
-211186875,TASK_InputProcessing,105,SEM,SEM_DataElement1,0,requestsemaphore,0
-211186875,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-211186875,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-211186875,Core_1,0,C,Core_1,0,lock
-211186875,TASK_InputProcessing,105,SEM,SEM_DataElement1,0,assigned,1
-211186925,TASK_InputProcessing,105,R,FUNC_SEMLOCK,211,terminate
-211186925,Core_1,0,C,Core_1,0,unlock
-211186925,TASK_InputProcessing,105,R,FUNC_ReadSensorData,105,start
-211250000,SIM,-1,STI,TIMER-1MS,211,trigger
-211250000,TIMER-1MS,211,T,TASK_1MS,211,activate
-211250000,TASK_1MS,211,SCHED,SCHED_Tasks_C1,-1,processactivate
-211250100,TASK_1MS,211,STI,IR_SCHED_Tasks_C1,713,trigger
-211250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-211350250,TASK_InputProcessing,105,SIG,SIG_RotationSpeed,0,read,0
-211350250,TASK_InputProcessing,105,SIG,SIG_Lambda,0,read,0
-211350250,TASK_InputProcessing,105,SIG,SIG_Temperature,0,read,0
-211350250,TASK_InputProcessing,105,R,FUNC_ReadSensorData,105,terminate
-211350250,TASK_InputProcessing,105,R,FUNC_SEMUNLOCK,211,start
-211550250,TASK_InputProcessing,105,SEM,SEM_DataElement1,0,released,1
-211550250,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-211550250,TASK_InputProcessing,105,SCHED,SCHED_Tasks_C1,-1,schedulepoint
-211550250,Core_1,0,C,Core_1,0,lock
-211550300,TASK_InputProcessing,105,R,FUNC_SEMUNLOCK,211,terminate
-211550300,Core_1,0,C,Core_1,0,unlock
-211550300,TASK_InputProcessing,105,STI,IPA_InputReady,105,trigger
-211550300,IPA_InputReady,105,T,TASK_CalcEngineSpeed,105,activate
-211550300,TASK_CalcEngineSpeed,105,SCHED,SCHED_Tasks_C2,-1,processactivate
-211550300,Core_1,0,T,TASK_InputProcessing,105,terminate
-211550300,TASK_InputProcessing,105,SCHED,SCHED_Tasks_C1,-1,processterminate
-211550300,Core_1,0,C,Core_1,0,idle
-211550300,TASK_InputProcessing,105,C,Core_1,0,idle
-211550350,TASK_InputProcessing,105,STI,IR_SCHED_Tasks_C1,714,trigger
-211550350,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-211550350,Core_1,0,T,TASK_1MS,211,start
-211550350,TASK_1MS,211,R,FUNC_EXECTIME_1,388,start
-211550350,Core_1,0,C,Core_1,0,execute
-211550350,TASK_1MS,211,C,Core_1,0,execute
-211550400,TASK_CalcEngineSpeed,105,STI,IR_SCHED_Tasks_C2,680,trigger
-211550400,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-211550400,Core_2,0,T,TASK_CalcEngineSpeed,105,start
-211550400,TASK_CalcEngineSpeed,105,R,FUNC_ENGINESPEED,105,start
-211550400,Core_2,0,C,Core_2,0,execute
-211550400,TASK_CalcEngineSpeed,105,C,Core_2,0,execute
-211750300,TASK_CalcEngineSpeed,105,R,FUNC_ENGINESPEED,105,terminate
-211750300,Core_2,0,T,TASK_CalcEngineSpeed,105,terminate
-211750300,TASK_CalcEngineSpeed,105,SCHED,SCHED_Tasks_C2,-1,processterminate
-211750300,Core_2,0,C,Core_2,0,idle
-211750300,TASK_CalcEngineSpeed,105,C,Core_2,0,idle
-211750400,TASK_CalcEngineSpeed,105,STI,IR_SCHED_Tasks_C2,681,trigger
-211750400,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-212000000,SIM,-1,STI,TIMER-B_2ms,106,trigger
-212000000,TIMER-B_2ms,106,T,TASK_WritingActuator,106,activate
-212000000,TASK_WritingActuator,106,SCHED,SCHED_Tasks_C2,-1,processactivate
-212000100,TASK_WritingActuator,106,STI,IR_SCHED_Tasks_C2,682,trigger
-212000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-212000100,Core_2,0,T,TASK_WritingActuator,106,start
-212000100,TASK_WritingActuator,106,R,FUNC_SEMLOCK,212,start
-212000100,Core_2,0,C,Core_2,0,execute
-212000100,TASK_WritingActuator,106,C,Core_2,0,execute
-212000300,TASK_1MS,211,R,FUNC_EXECTIME_1,388,terminate
-212000300,Core_1,0,T,TASK_1MS,211,terminate
-212000300,TASK_1MS,211,SCHED,SCHED_Tasks_C1,-1,processterminate
-212000300,Core_1,0,C,Core_1,0,idle
-212000300,TASK_1MS,211,C,Core_1,0,idle
-212000400,TASK_1MS,211,STI,IR_SCHED_Tasks_C1,715,trigger
-212000400,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-212000400,Core_1,0,C,Core_1,0,execute_idle
-212000400,TASK_200MS,1,C,Core_1,0,execute_idle
-212000400,Core_1,0,T,TASK_200MS,1,resume
-212000400,TASK_200MS,1,R,FUNC_EXECTIME_1,380,resume
-212100000,SIM,-1,STI,TIMER-5MS,106,trigger
-212100000,TIMER-5MS,106,T,TASK_5MS,106,activate
-212100000,TASK_5MS,106,SCHED,SCHED_Tasks_C2,-1,processactivate
-212100100,TASK_5MS,106,STI,IR_SCHED_Tasks_C2,683,trigger
-212100100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-212125100,TASK_WritingActuator,106,SEM,SEM_DataElement1,0,requestsemaphore,0
-212125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-212125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-212125100,Core_2,0,C,Core_2,0,lock
-212125100,TASK_WritingActuator,106,SEM,SEM_DataElement1,0,assigned,1
-212125150,TASK_WritingActuator,106,R,FUNC_SEMLOCK,212,terminate
-212125150,Core_2,0,C,Core_2,0,unlock
-212125150,TASK_WritingActuator,106,R,FUNC_WriteData,106,start
-212150000,SIM,-1,STI,TIMER-A_2ms,106,trigger
-212150000,TIMER-A_2ms,106,T,TASK_InputProcessing,106,activate
-212150000,TASK_InputProcessing,106,SCHED,SCHED_Tasks_C1,-1,processactivate
-212150100,TASK_InputProcessing,106,STI,IR_SCHED_Tasks_C1,716,trigger
-212150100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-212150100,TASK_200MS,1,R,FUNC_EXECTIME_1,380,suspend
-212150100,Core_1,0,T,TASK_200MS,1,preempt
-212150100,Core_1,0,C,Core_1,0,idle_execution
-212150100,TASK_200MS,1,C,Core_1,0,idle_execution
-212150100,Core_1,0,T,TASK_InputProcessing,106,start
-212150100,TASK_InputProcessing,106,R,FUNC_SEMLOCK,213,start
-212150100,Core_1,0,C,Core_1,0,execute
-212150100,TASK_InputProcessing,106,C,Core_1,0,execute
-212151800,TASK_WritingActuator,106,SIG,SIG_Mixture,0,write,0
-212151800,TASK_WritingActuator,106,R,FUNC_WriteData,106,terminate
-212151800,TASK_WritingActuator,106,R,FUNC_SEMUNLOCK,212,start
-212250000,SIM,-1,STI,TIMER-1MS,212,trigger
-212250000,TIMER-1MS,212,T,TASK_1MS,212,activate
-212250000,TASK_1MS,212,SCHED,SCHED_Tasks_C1,-1,processactivate
-212250100,TASK_1MS,212,STI,IR_SCHED_Tasks_C1,717,trigger
-212250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-212250100,TASK_InputProcessing,106,R,FUNC_SEMLOCK,213,suspend
-212250100,Core_1,0,T,TASK_InputProcessing,106,preempt
-212250100,Core_1,0,C,Core_1,0,idle_execution
-212250100,TASK_InputProcessing,106,C,Core_1,0,idle_execution
-212250100,Core_1,0,T,TASK_1MS,212,start
-212250100,TASK_1MS,212,R,FUNC_EXECTIME_1,390,start
-212250100,Core_1,0,C,Core_1,0,execute
-212250100,TASK_1MS,212,C,Core_1,0,execute
-212351800,TASK_WritingActuator,106,SEM,SEM_DataElement1,0,released,1
-212351800,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-212351800,TASK_WritingActuator,106,SCHED,SCHED_Tasks_C2,-1,schedulepoint
-212351800,Core_2,0,C,Core_2,0,lock
-212351850,TASK_WritingActuator,106,R,FUNC_SEMUNLOCK,212,terminate
-212351850,Core_2,0,T,TASK_WritingActuator,106,terminate
-212351850,TASK_WritingActuator,106,SCHED,SCHED_Tasks_C2,-1,processterminate
-212351850,Core_2,0,C,Core_2,0,unlock
-212351850,Core_2,0,C,Core_2,0,idle
-212351850,TASK_WritingActuator,106,C,Core_2,0,idle
-212351900,TASK_WritingActuator,106,STI,IR_SCHED_Tasks_C2,684,trigger
-212351900,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-212351900,Core_2,0,T,TASK_5MS,106,start
-212351900,TASK_5MS,106,R,FUNC_EXECTIME_1,389,start
-212351900,Core_2,0,C,Core_2,0,execute
-212351900,TASK_5MS,106,C,Core_2,0,execute
-212645475,TASK_5MS,106,R,FUNC_EXECTIME_1,389,terminate
-212645475,Core_2,0,T,TASK_5MS,106,terminate
-212645475,TASK_5MS,106,SCHED,SCHED_Tasks_C2,-1,processterminate
-212645475,Core_2,0,C,Core_2,0,idle
-212645475,TASK_5MS,106,C,Core_2,0,idle
-212645575,TASK_5MS,106,STI,IR_SCHED_Tasks_C2,685,trigger
-212645575,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-212689925,TASK_1MS,212,R,FUNC_EXECTIME_1,390,terminate
-212689925,Core_1,0,T,TASK_1MS,212,terminate
-212689925,TASK_1MS,212,SCHED,SCHED_Tasks_C1,-1,processterminate
-212689925,Core_1,0,C,Core_1,0,idle
-212689925,TASK_1MS,212,C,Core_1,0,idle
-212690025,TASK_1MS,212,STI,IR_SCHED_Tasks_C1,718,trigger
-212690025,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-212690025,Core_1,0,C,Core_1,0,execute_idle
-212690025,TASK_InputProcessing,106,C,Core_1,0,execute_idle
-212690025,Core_1,0,T,TASK_InputProcessing,106,resume
-212690025,TASK_InputProcessing,106,R,FUNC_SEMLOCK,213,resume
-212715025,TASK_InputProcessing,106,SEM,SEM_DataElement1,0,requestsemaphore,0
-212715025,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-212715025,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-212715025,Core_1,0,C,Core_1,0,lock
-212715025,TASK_InputProcessing,106,SEM,SEM_DataElement1,0,assigned,1
-212715075,TASK_InputProcessing,106,R,FUNC_SEMLOCK,213,terminate
-212715075,Core_1,0,C,Core_1,0,unlock
-212715075,TASK_InputProcessing,106,R,FUNC_ReadSensorData,106,start
-212875375,TASK_InputProcessing,106,SIG,SIG_RotationSpeed,0,read,0
-212875375,TASK_InputProcessing,106,SIG,SIG_Lambda,0,read,0
-212875375,TASK_InputProcessing,106,SIG,SIG_Temperature,0,read,0
-212875375,TASK_InputProcessing,106,R,FUNC_ReadSensorData,106,terminate
-212875375,TASK_InputProcessing,106,R,FUNC_SEMUNLOCK,213,start
-213075375,TASK_InputProcessing,106,SEM,SEM_DataElement1,0,released,1
-213075375,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-213075375,TASK_InputProcessing,106,SCHED,SCHED_Tasks_C1,-1,schedulepoint
-213075375,Core_1,0,C,Core_1,0,lock
-213075425,TASK_InputProcessing,106,R,FUNC_SEMUNLOCK,213,terminate
-213075425,Core_1,0,C,Core_1,0,unlock
-213075425,TASK_InputProcessing,106,STI,IPA_InputReady,106,trigger
-213075425,IPA_InputReady,106,T,TASK_CalcEngineSpeed,106,activate
-213075425,TASK_CalcEngineSpeed,106,SCHED,SCHED_Tasks_C2,-1,processactivate
-213075425,Core_1,0,T,TASK_InputProcessing,106,terminate
-213075425,TASK_InputProcessing,106,SCHED,SCHED_Tasks_C1,-1,processterminate
-213075425,Core_1,0,C,Core_1,0,idle
-213075425,TASK_InputProcessing,106,C,Core_1,0,idle
-213075475,TASK_InputProcessing,106,STI,IR_SCHED_Tasks_C1,719,trigger
-213075475,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-213075475,Core_1,0,C,Core_1,0,execute_idle
-213075475,TASK_200MS,1,C,Core_1,0,execute_idle
-213075475,Core_1,0,T,TASK_200MS,1,resume
-213075475,TASK_200MS,1,R,FUNC_EXECTIME_1,380,resume
-213075525,TASK_CalcEngineSpeed,106,STI,IR_SCHED_Tasks_C2,686,trigger
-213075525,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-213075525,Core_2,0,T,TASK_CalcEngineSpeed,106,start
-213075525,TASK_CalcEngineSpeed,106,R,FUNC_ENGINESPEED,106,start
-213075525,Core_2,0,C,Core_2,0,execute
-213075525,TASK_CalcEngineSpeed,106,C,Core_2,0,execute
-213250000,SIM,-1,STI,TIMER-1MS,213,trigger
-213250000,TIMER-1MS,213,T,TASK_1MS,213,activate
-213250000,TASK_1MS,213,SCHED,SCHED_Tasks_C1,-1,processactivate
-213250100,TASK_1MS,213,STI,IR_SCHED_Tasks_C1,720,trigger
-213250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-213250100,TASK_200MS,1,R,FUNC_EXECTIME_1,380,suspend
-213250100,Core_1,0,T,TASK_200MS,1,preempt
-213250100,Core_1,0,C,Core_1,0,idle_execution
-213250100,TASK_200MS,1,C,Core_1,0,idle_execution
-213250100,Core_1,0,T,TASK_1MS,213,start
-213250100,TASK_1MS,213,R,FUNC_EXECTIME_1,391,start
-213250100,Core_1,0,C,Core_1,0,execute
-213250100,TASK_1MS,213,C,Core_1,0,execute
-213303175,TASK_CalcEngineSpeed,106,R,FUNC_ENGINESPEED,106,terminate
-213303175,Core_2,0,T,TASK_CalcEngineSpeed,106,terminate
-213303175,TASK_CalcEngineSpeed,106,SCHED,SCHED_Tasks_C2,-1,processterminate
-213303175,Core_2,0,C,Core_2,0,idle
-213303175,TASK_CalcEngineSpeed,106,C,Core_2,0,idle
-213303275,TASK_CalcEngineSpeed,106,STI,IR_SCHED_Tasks_C2,687,trigger
-213303275,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-213962700,TASK_1MS,213,R,FUNC_EXECTIME_1,391,terminate
-213962700,Core_1,0,T,TASK_1MS,213,terminate
-213962700,TASK_1MS,213,SCHED,SCHED_Tasks_C1,-1,processterminate
-213962700,Core_1,0,C,Core_1,0,idle
-213962700,TASK_1MS,213,C,Core_1,0,idle
-213962800,TASK_1MS,213,STI,IR_SCHED_Tasks_C1,721,trigger
-213962800,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-213962800,Core_1,0,C,Core_1,0,execute_idle
-213962800,TASK_200MS,1,C,Core_1,0,execute_idle
-213962800,Core_1,0,T,TASK_200MS,1,resume
-213962800,TASK_200MS,1,R,FUNC_EXECTIME_1,380,resume
-214000000,SIM,-1,STI,TIMER-B_2ms,107,trigger
-214000000,TIMER-B_2ms,107,T,TASK_WritingActuator,107,activate
-214000000,TASK_WritingActuator,107,SCHED,SCHED_Tasks_C2,-1,processactivate
-214000100,TASK_WritingActuator,107,STI,IR_SCHED_Tasks_C2,688,trigger
-214000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-214000100,Core_2,0,T,TASK_WritingActuator,107,start
-214000100,TASK_WritingActuator,107,R,FUNC_SEMLOCK,214,start
-214000100,Core_2,0,C,Core_2,0,execute
-214000100,TASK_WritingActuator,107,C,Core_2,0,execute
-214000475,TASK_200MS,1,R,FUNC_EXECTIME_1,380,terminate
-214000475,TASK_200MS,1,R,FUNC_EXECTIME_1,381,start
-214100000,SIM,-1,STI,TIMER-5MS,107,trigger
-214100000,TIMER-5MS,107,T,TASK_5MS,107,activate
-214100000,TASK_5MS,107,SCHED,SCHED_Tasks_C2,-1,processactivate
-214100100,TASK_5MS,107,STI,IR_SCHED_Tasks_C2,689,trigger
-214100100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-214125100,TASK_WritingActuator,107,SEM,SEM_DataElement1,0,requestsemaphore,0
-214125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-214125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-214125100,Core_2,0,C,Core_2,0,lock
-214125100,TASK_WritingActuator,107,SEM,SEM_DataElement1,0,assigned,1
-214125150,TASK_WritingActuator,107,R,FUNC_SEMLOCK,214,terminate
-214125150,Core_2,0,C,Core_2,0,unlock
-214125150,TASK_WritingActuator,107,R,FUNC_WriteData,107,start
-214150000,SIM,-1,STI,TIMER-A_2ms,107,trigger
-214150000,TIMER-A_2ms,107,T,TASK_InputProcessing,107,activate
-214150000,TASK_InputProcessing,107,SCHED,SCHED_Tasks_C1,-1,processactivate
-214150100,TASK_InputProcessing,107,STI,IR_SCHED_Tasks_C1,722,trigger
-214150100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-214150100,TASK_200MS,1,R,FUNC_EXECTIME_1,381,suspend
-214150100,Core_1,0,T,TASK_200MS,1,preempt
-214150100,Core_1,0,C,Core_1,0,idle_execution
-214150100,TASK_200MS,1,C,Core_1,0,idle_execution
-214150100,Core_1,0,T,TASK_InputProcessing,107,start
-214150100,TASK_InputProcessing,107,R,FUNC_SEMLOCK,215,start
-214150100,Core_1,0,C,Core_1,0,execute
-214150100,TASK_InputProcessing,107,C,Core_1,0,execute
-214152325,TASK_WritingActuator,107,SIG,SIG_Mixture,0,write,0
-214152325,TASK_WritingActuator,107,R,FUNC_WriteData,107,terminate
-214152325,TASK_WritingActuator,107,R,FUNC_SEMUNLOCK,214,start
-214250000,SIM,-1,STI,TIMER-1MS,214,trigger
-214250000,TIMER-1MS,214,T,TASK_1MS,214,activate
-214250000,TASK_1MS,214,SCHED,SCHED_Tasks_C1,-1,processactivate
-214250100,TASK_1MS,214,STI,IR_SCHED_Tasks_C1,723,trigger
-214250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-214250100,TASK_InputProcessing,107,R,FUNC_SEMLOCK,215,suspend
-214250100,Core_1,0,T,TASK_InputProcessing,107,preempt
-214250100,Core_1,0,C,Core_1,0,idle_execution
-214250100,TASK_InputProcessing,107,C,Core_1,0,idle_execution
-214250100,Core_1,0,T,TASK_1MS,214,start
-214250100,TASK_1MS,214,R,FUNC_EXECTIME_1,393,start
-214250100,Core_1,0,C,Core_1,0,execute
-214250100,TASK_1MS,214,C,Core_1,0,execute
-214352325,TASK_WritingActuator,107,SEM,SEM_DataElement1,0,released,1
-214352325,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-214352325,TASK_WritingActuator,107,SCHED,SCHED_Tasks_C2,-1,schedulepoint
-214352325,Core_2,0,C,Core_2,0,lock
-214352375,TASK_WritingActuator,107,R,FUNC_SEMUNLOCK,214,terminate
-214352375,Core_2,0,T,TASK_WritingActuator,107,terminate
-214352375,TASK_WritingActuator,107,SCHED,SCHED_Tasks_C2,-1,processterminate
-214352375,Core_2,0,C,Core_2,0,unlock
-214352375,Core_2,0,C,Core_2,0,idle
-214352375,TASK_WritingActuator,107,C,Core_2,0,idle
-214352425,TASK_WritingActuator,107,STI,IR_SCHED_Tasks_C2,690,trigger
-214352425,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-214352425,Core_2,0,T,TASK_5MS,107,start
-214352425,TASK_5MS,107,R,FUNC_EXECTIME_1,392,start
-214352425,Core_2,0,C,Core_2,0,execute
-214352425,TASK_5MS,107,C,Core_2,0,execute
-214712225,TASK_5MS,107,R,FUNC_EXECTIME_1,392,terminate
-214712225,Core_2,0,T,TASK_5MS,107,terminate
-214712225,TASK_5MS,107,SCHED,SCHED_Tasks_C2,-1,processterminate
-214712225,Core_2,0,C,Core_2,0,idle
-214712225,TASK_5MS,107,C,Core_2,0,idle
-214712325,TASK_5MS,107,STI,IR_SCHED_Tasks_C2,691,trigger
-214712325,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-215000000,SIM,-1,STI,TIMER-10MS,21,trigger
-215000000,TIMER-10MS,21,T,TASK_10MS,21,activate
-215000000,TASK_10MS,21,SCHED,SCHED_Tasks_C2,-1,processactivate
-215000100,TASK_10MS,21,STI,IR_SCHED_Tasks_C2,692,trigger
-215000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-215000100,Core_2,0,T,TASK_10MS,21,start
-215000100,TASK_10MS,21,R,FUNC_EXECTIME_1,394,start
-215000100,Core_2,0,C,Core_2,0,execute
-215000100,TASK_10MS,21,C,Core_2,0,execute
-215236050,TASK_1MS,214,R,FUNC_EXECTIME_1,393,terminate
-215236050,Core_1,0,T,TASK_1MS,214,terminate
-215236050,TASK_1MS,214,SCHED,SCHED_Tasks_C1,-1,processterminate
-215236050,Core_1,0,C,Core_1,0,idle
-215236050,TASK_1MS,214,C,Core_1,0,idle
-215236150,TASK_1MS,214,STI,IR_SCHED_Tasks_C1,724,trigger
-215236150,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-215236150,Core_1,0,C,Core_1,0,execute_idle
-215236150,TASK_InputProcessing,107,C,Core_1,0,execute_idle
-215236150,Core_1,0,T,TASK_InputProcessing,107,resume
-215236150,TASK_InputProcessing,107,R,FUNC_SEMLOCK,215,resume
-215250000,SIM,-1,STI,TIMER-1MS,215,trigger
-215250000,TIMER-1MS,215,T,TASK_1MS,215,activate
-215250000,TASK_1MS,215,SCHED,SCHED_Tasks_C1,-1,processactivate
-215250100,TASK_1MS,215,STI,IR_SCHED_Tasks_C1,725,trigger
-215250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-215250100,TASK_InputProcessing,107,R,FUNC_SEMLOCK,215,suspend
-215250100,Core_1,0,T,TASK_InputProcessing,107,preempt
-215250100,Core_1,0,C,Core_1,0,idle_execution
-215250100,TASK_InputProcessing,107,C,Core_1,0,idle_execution
-215250100,Core_1,0,T,TASK_1MS,215,start
-215250100,TASK_1MS,215,R,FUNC_EXECTIME_1,395,start
-215250100,Core_1,0,C,Core_1,0,execute
-215250100,TASK_1MS,215,C,Core_1,0,execute
-215621575,TASK_10MS,21,R,FUNC_EXECTIME_1,394,terminate
-215621575,Core_2,0,T,TASK_10MS,21,terminate
-215621575,TASK_10MS,21,SCHED,SCHED_Tasks_C2,-1,processterminate
-215621575,Core_2,0,C,Core_2,0,idle
-215621575,TASK_10MS,21,C,Core_2,0,idle
-215621675,TASK_10MS,21,STI,IR_SCHED_Tasks_C2,693,trigger
-215621675,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-215669000,TASK_1MS,215,R,FUNC_EXECTIME_1,395,terminate
-215669000,Core_1,0,T,TASK_1MS,215,terminate
-215669000,TASK_1MS,215,SCHED,SCHED_Tasks_C1,-1,processterminate
-215669000,Core_1,0,C,Core_1,0,idle
-215669000,TASK_1MS,215,C,Core_1,0,idle
-215669100,TASK_1MS,215,STI,IR_SCHED_Tasks_C1,726,trigger
-215669100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-215669100,Core_1,0,C,Core_1,0,execute_idle
-215669100,TASK_InputProcessing,107,C,Core_1,0,execute_idle
-215669100,Core_1,0,T,TASK_InputProcessing,107,resume
-215669100,TASK_InputProcessing,107,R,FUNC_SEMLOCK,215,resume
-215680150,TASK_InputProcessing,107,SEM,SEM_DataElement1,0,requestsemaphore,0
-215680150,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-215680150,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-215680150,Core_1,0,C,Core_1,0,lock
-215680150,TASK_InputProcessing,107,SEM,SEM_DataElement1,0,assigned,1
-215680200,TASK_InputProcessing,107,R,FUNC_SEMLOCK,215,terminate
-215680200,Core_1,0,C,Core_1,0,unlock
-215680200,TASK_InputProcessing,107,R,FUNC_ReadSensorData,107,start
-215843300,TASK_InputProcessing,107,SIG,SIG_RotationSpeed,0,read,0
-215843300,TASK_InputProcessing,107,SIG,SIG_Lambda,0,read,0
-215843300,TASK_InputProcessing,107,SIG,SIG_Temperature,0,read,0
-215843300,TASK_InputProcessing,107,R,FUNC_ReadSensorData,107,terminate
-215843300,TASK_InputProcessing,107,R,FUNC_SEMUNLOCK,215,start
-216000000,SIM,-1,STI,TIMER-B_2ms,108,trigger
-216000000,TIMER-B_2ms,108,T,TASK_WritingActuator,108,activate
-216000000,TASK_WritingActuator,108,SCHED,SCHED_Tasks_C2,-1,processactivate
-216000100,TASK_WritingActuator,108,STI,IR_SCHED_Tasks_C2,694,trigger
-216000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-216000100,Core_2,0,T,TASK_WritingActuator,108,start
-216000100,TASK_WritingActuator,108,R,FUNC_SEMLOCK,216,start
-216000100,Core_2,0,C,Core_2,0,execute
-216000100,TASK_WritingActuator,108,C,Core_2,0,execute
-216043300,TASK_InputProcessing,107,SEM,SEM_DataElement1,0,released,1
-216043300,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-216043300,TASK_InputProcessing,107,SCHED,SCHED_Tasks_C1,-1,schedulepoint
-216043300,Core_1,0,C,Core_1,0,lock
-216043350,TASK_InputProcessing,107,R,FUNC_SEMUNLOCK,215,terminate
-216043350,Core_1,0,C,Core_1,0,unlock
-216043350,TASK_InputProcessing,107,STI,IPA_InputReady,107,trigger
-216043350,IPA_InputReady,107,T,TASK_CalcEngineSpeed,107,activate
-216043350,TASK_CalcEngineSpeed,107,SCHED,SCHED_Tasks_C2,-1,processactivate
-216043350,Core_1,0,T,TASK_InputProcessing,107,terminate
-216043350,TASK_InputProcessing,107,SCHED,SCHED_Tasks_C1,-1,processterminate
-216043350,Core_1,0,C,Core_1,0,idle
-216043350,TASK_InputProcessing,107,C,Core_1,0,idle
-216043400,TASK_InputProcessing,107,STI,IR_SCHED_Tasks_C1,727,trigger
-216043400,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-216043400,Core_1,0,C,Core_1,0,execute_idle
-216043400,TASK_200MS,1,C,Core_1,0,execute_idle
-216043400,Core_1,0,T,TASK_200MS,1,resume
-216043400,TASK_200MS,1,R,FUNC_EXECTIME_1,381,resume
-216043450,TASK_CalcEngineSpeed,107,STI,IR_SCHED_Tasks_C2,695,trigger
-216043450,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-216100000,SIM,-1,STI,TIMER-5MS,108,trigger
-216100000,TIMER-5MS,108,T,TASK_5MS,108,activate
-216100000,TASK_5MS,108,SCHED,SCHED_Tasks_C2,-1,processactivate
-216100100,TASK_5MS,108,STI,IR_SCHED_Tasks_C2,696,trigger
-216100100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-216125100,TASK_WritingActuator,108,SEM,SEM_DataElement1,0,requestsemaphore,0
-216125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-216125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-216125100,Core_2,0,C,Core_2,0,lock
-216125100,TASK_WritingActuator,108,SEM,SEM_DataElement1,0,assigned,1
-216125150,TASK_WritingActuator,108,R,FUNC_SEMLOCK,216,terminate
-216125150,Core_2,0,C,Core_2,0,unlock
-216125150,TASK_WritingActuator,108,R,FUNC_WriteData,108,start
-216150000,SIM,-1,STI,TIMER-A_2ms,108,trigger
-216150000,TIMER-A_2ms,108,T,TASK_InputProcessing,108,activate
-216150000,TASK_InputProcessing,108,SCHED,SCHED_Tasks_C1,-1,processactivate
-216150100,TASK_InputProcessing,108,STI,IR_SCHED_Tasks_C1,728,trigger
-216150100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-216150100,TASK_200MS,1,R,FUNC_EXECTIME_1,381,suspend
-216150100,Core_1,0,T,TASK_200MS,1,preempt
-216150100,Core_1,0,C,Core_1,0,idle_execution
-216150100,TASK_200MS,1,C,Core_1,0,idle_execution
-216150100,Core_1,0,T,TASK_InputProcessing,108,start
-216150100,TASK_InputProcessing,108,R,FUNC_SEMLOCK,217,start
-216150100,Core_1,0,C,Core_1,0,execute
-216150100,TASK_InputProcessing,108,C,Core_1,0,execute
-216151475,TASK_WritingActuator,108,SIG,SIG_Mixture,0,write,0
-216151475,TASK_WritingActuator,108,R,FUNC_WriteData,108,terminate
-216151475,TASK_WritingActuator,108,R,FUNC_SEMUNLOCK,216,start
-216250000,SIM,-1,STI,TIMER-1MS,216,trigger
-216250000,TIMER-1MS,216,T,TASK_1MS,216,activate
-216250000,TASK_1MS,216,SCHED,SCHED_Tasks_C1,-1,processactivate
-216250100,TASK_1MS,216,STI,IR_SCHED_Tasks_C1,729,trigger
-216250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-216250100,TASK_InputProcessing,108,R,FUNC_SEMLOCK,217,suspend
-216250100,Core_1,0,T,TASK_InputProcessing,108,preempt
-216250100,Core_1,0,C,Core_1,0,idle_execution
-216250100,TASK_InputProcessing,108,C,Core_1,0,idle_execution
-216250100,Core_1,0,T,TASK_1MS,216,start
-216250100,TASK_1MS,216,R,FUNC_EXECTIME_1,397,start
-216250100,Core_1,0,C,Core_1,0,execute
-216250100,TASK_1MS,216,C,Core_1,0,execute
-216351475,TASK_WritingActuator,108,SEM,SEM_DataElement1,0,released,1
-216351475,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-216351475,TASK_WritingActuator,108,SCHED,SCHED_Tasks_C2,-1,schedulepoint
-216351475,Core_2,0,C,Core_2,0,lock
-216351525,TASK_WritingActuator,108,R,FUNC_SEMUNLOCK,216,terminate
-216351525,Core_2,0,T,TASK_WritingActuator,108,terminate
-216351525,TASK_WritingActuator,108,SCHED,SCHED_Tasks_C2,-1,processterminate
-216351525,Core_2,0,C,Core_2,0,unlock
-216351525,Core_2,0,C,Core_2,0,idle
-216351525,TASK_WritingActuator,108,C,Core_2,0,idle
-216351575,TASK_WritingActuator,108,STI,IR_SCHED_Tasks_C2,697,trigger
-216351575,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-216351575,Core_2,0,T,TASK_CalcEngineSpeed,107,start
-216351575,TASK_CalcEngineSpeed,107,R,FUNC_ENGINESPEED,107,start
-216351575,Core_2,0,C,Core_2,0,execute
-216351575,TASK_CalcEngineSpeed,107,C,Core_2,0,execute
-216553225,TASK_CalcEngineSpeed,107,R,FUNC_ENGINESPEED,107,terminate
-216553225,Core_2,0,T,TASK_CalcEngineSpeed,107,terminate
-216553225,TASK_CalcEngineSpeed,107,SCHED,SCHED_Tasks_C2,-1,processterminate
-216553225,Core_2,0,C,Core_2,0,idle
-216553225,TASK_CalcEngineSpeed,107,C,Core_2,0,idle
-216553325,TASK_CalcEngineSpeed,107,STI,IR_SCHED_Tasks_C2,698,trigger
-216553325,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-216553325,Core_2,0,T,TASK_5MS,108,start
-216553325,TASK_5MS,108,R,FUNC_EXECTIME_1,396,start
-216553325,Core_2,0,C,Core_2,0,execute
-216553325,TASK_5MS,108,C,Core_2,0,execute
-216765450,TASK_1MS,216,R,FUNC_EXECTIME_1,397,terminate
-216765450,Core_1,0,T,TASK_1MS,216,terminate
-216765450,TASK_1MS,216,SCHED,SCHED_Tasks_C1,-1,processterminate
-216765450,Core_1,0,C,Core_1,0,idle
-216765450,TASK_1MS,216,C,Core_1,0,idle
-216765550,TASK_1MS,216,STI,IR_SCHED_Tasks_C1,730,trigger
-216765550,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-216765550,Core_1,0,C,Core_1,0,execute_idle
-216765550,TASK_InputProcessing,108,C,Core_1,0,execute_idle
-216765550,Core_1,0,T,TASK_InputProcessing,108,resume
-216765550,TASK_InputProcessing,108,R,FUNC_SEMLOCK,217,resume
-216790550,TASK_InputProcessing,108,SEM,SEM_DataElement1,0,requestsemaphore,0
-216790550,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-216790550,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-216790550,Core_1,0,C,Core_1,0,lock
-216790550,TASK_InputProcessing,108,SEM,SEM_DataElement1,0,assigned,1
-216790600,TASK_InputProcessing,108,R,FUNC_SEMLOCK,217,terminate
-216790600,Core_1,0,C,Core_1,0,unlock
-216790600,TASK_InputProcessing,108,R,FUNC_ReadSensorData,108,start
-216953775,TASK_InputProcessing,108,SIG,SIG_RotationSpeed,0,read,0
-216953775,TASK_InputProcessing,108,SIG,SIG_Lambda,0,read,0
-216953775,TASK_InputProcessing,108,SIG,SIG_Temperature,0,read,0
-216953775,TASK_InputProcessing,108,R,FUNC_ReadSensorData,108,terminate
-216953775,TASK_InputProcessing,108,R,FUNC_SEMUNLOCK,217,start
-216956950,TASK_5MS,108,R,FUNC_EXECTIME_1,396,terminate
-216956950,Core_2,0,T,TASK_5MS,108,terminate
-216956950,TASK_5MS,108,SCHED,SCHED_Tasks_C2,-1,processterminate
-216956950,Core_2,0,C,Core_2,0,idle
-216956950,TASK_5MS,108,C,Core_2,0,idle
-216957050,TASK_5MS,108,STI,IR_SCHED_Tasks_C2,699,trigger
-216957050,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-217153775,TASK_InputProcessing,108,SEM,SEM_DataElement1,0,released,1
-217153775,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-217153775,TASK_InputProcessing,108,SCHED,SCHED_Tasks_C1,-1,schedulepoint
-217153775,Core_1,0,C,Core_1,0,lock
-217153825,TASK_InputProcessing,108,R,FUNC_SEMUNLOCK,217,terminate
-217153825,Core_1,0,C,Core_1,0,unlock
-217153825,TASK_InputProcessing,108,STI,IPA_InputReady,108,trigger
-217153825,IPA_InputReady,108,T,TASK_CalcEngineSpeed,108,activate
-217153825,TASK_CalcEngineSpeed,108,SCHED,SCHED_Tasks_C2,-1,processactivate
-217153825,Core_1,0,T,TASK_InputProcessing,108,terminate
-217153825,TASK_InputProcessing,108,SCHED,SCHED_Tasks_C1,-1,processterminate
-217153825,Core_1,0,C,Core_1,0,idle
-217153825,TASK_InputProcessing,108,C,Core_1,0,idle
-217153875,TASK_InputProcessing,108,STI,IR_SCHED_Tasks_C1,731,trigger
-217153875,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-217153875,Core_1,0,C,Core_1,0,execute_idle
-217153875,TASK_200MS,1,C,Core_1,0,execute_idle
-217153875,Core_1,0,T,TASK_200MS,1,resume
-217153875,TASK_200MS,1,R,FUNC_EXECTIME_1,381,resume
-217153925,TASK_CalcEngineSpeed,108,STI,IR_SCHED_Tasks_C2,700,trigger
-217153925,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-217153925,Core_2,0,T,TASK_CalcEngineSpeed,108,start
-217153925,TASK_CalcEngineSpeed,108,R,FUNC_ENGINESPEED,108,start
-217153925,Core_2,0,C,Core_2,0,execute
-217153925,TASK_CalcEngineSpeed,108,C,Core_2,0,execute
-217250000,SIM,-1,STI,TIMER-1MS,217,trigger
-217250000,TIMER-1MS,217,T,TASK_1MS,217,activate
-217250000,TASK_1MS,217,SCHED,SCHED_Tasks_C1,-1,processactivate
-217250100,TASK_1MS,217,STI,IR_SCHED_Tasks_C1,732,trigger
-217250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-217250100,TASK_200MS,1,R,FUNC_EXECTIME_1,381,suspend
-217250100,Core_1,0,T,TASK_200MS,1,preempt
-217250100,Core_1,0,C,Core_1,0,idle_execution
-217250100,TASK_200MS,1,C,Core_1,0,idle_execution
-217250100,Core_1,0,T,TASK_1MS,217,start
-217250100,TASK_1MS,217,R,FUNC_EXECTIME_1,398,start
-217250100,Core_1,0,C,Core_1,0,execute
-217250100,TASK_1MS,217,C,Core_1,0,execute
-217353150,TASK_CalcEngineSpeed,108,R,FUNC_ENGINESPEED,108,terminate
-217353150,Core_2,0,T,TASK_CalcEngineSpeed,108,terminate
-217353150,TASK_CalcEngineSpeed,108,SCHED,SCHED_Tasks_C2,-1,processterminate
-217353150,Core_2,0,C,Core_2,0,idle
-217353150,TASK_CalcEngineSpeed,108,C,Core_2,0,idle
-217353250,TASK_CalcEngineSpeed,108,STI,IR_SCHED_Tasks_C2,701,trigger
-217353250,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-217670150,TASK_1MS,217,R,FUNC_EXECTIME_1,398,terminate
-217670150,Core_1,0,T,TASK_1MS,217,terminate
-217670150,TASK_1MS,217,SCHED,SCHED_Tasks_C1,-1,processterminate
-217670150,Core_1,0,C,Core_1,0,idle
-217670150,TASK_1MS,217,C,Core_1,0,idle
-217670250,TASK_1MS,217,STI,IR_SCHED_Tasks_C1,733,trigger
-217670250,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-217670250,Core_1,0,C,Core_1,0,execute_idle
-217670250,TASK_200MS,1,C,Core_1,0,execute_idle
-217670250,Core_1,0,T,TASK_200MS,1,resume
-217670250,TASK_200MS,1,R,FUNC_EXECTIME_1,381,resume
-218000000,SIM,-1,STI,TIMER-B_2ms,109,trigger
-218000000,TIMER-B_2ms,109,T,TASK_WritingActuator,109,activate
-218000000,TASK_WritingActuator,109,SCHED,SCHED_Tasks_C2,-1,processactivate
-218000100,TASK_WritingActuator,109,STI,IR_SCHED_Tasks_C2,702,trigger
-218000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-218000100,Core_2,0,T,TASK_WritingActuator,109,start
-218000100,TASK_WritingActuator,109,R,FUNC_SEMLOCK,218,start
-218000100,Core_2,0,C,Core_2,0,execute
-218000100,TASK_WritingActuator,109,C,Core_2,0,execute
-218100000,SIM,-1,STI,TIMER-5MS,109,trigger
-218100000,TIMER-5MS,109,T,TASK_5MS,109,activate
-218100000,TASK_5MS,109,SCHED,SCHED_Tasks_C2,-1,processactivate
-218100100,TASK_5MS,109,STI,IR_SCHED_Tasks_C2,703,trigger
-218100100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-218107725,TASK_200MS,1,R,FUNC_EXECTIME_1,381,terminate
-218107725,TASK_200MS,1,SCHED,SCHED_Tasks_C1,-1,schedulepoint
-218107725,Core_1,0,T,TASK_200MS,1,preempt
-218107725,Core_1,0,C,Core_1,0,idle
-218107725,TASK_200MS,1,C,Core_1,0,idle
-218107825,TASK_200MS,1,STI,IR_SCHED_Tasks_C1,734,trigger
-218107825,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-218107825,Core_1,0,T,TASK_200MS,1,resume
-218107825,TASK_200MS,1,R,FUNC_EXECTIME_1,400,start
-218107825,Core_1,0,C,Core_1,0,execute
-218107825,TASK_200MS,1,C,Core_1,0,execute
-218125100,TASK_WritingActuator,109,SEM,SEM_DataElement1,0,requestsemaphore,0
-218125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-218125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-218125100,Core_2,0,C,Core_2,0,lock
-218125100,TASK_WritingActuator,109,SEM,SEM_DataElement1,0,assigned,1
-218125150,TASK_WritingActuator,109,R,FUNC_SEMLOCK,218,terminate
-218125150,Core_2,0,C,Core_2,0,unlock
-218125150,TASK_WritingActuator,109,R,FUNC_WriteData,109,start
-218150000,SIM,-1,STI,TIMER-A_2ms,109,trigger
-218150000,TIMER-A_2ms,109,T,TASK_InputProcessing,109,activate
-218150000,TASK_InputProcessing,109,SCHED,SCHED_Tasks_C1,-1,processactivate
-218150100,TASK_InputProcessing,109,STI,IR_SCHED_Tasks_C1,735,trigger
-218150100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-218150100,TASK_200MS,1,R,FUNC_EXECTIME_1,400,suspend
-218150100,Core_1,0,T,TASK_200MS,1,preempt
-218150100,Core_1,0,C,Core_1,0,idle_execution
-218150100,TASK_200MS,1,C,Core_1,0,idle_execution
-218150100,Core_1,0,T,TASK_InputProcessing,109,start
-218150100,TASK_InputProcessing,109,R,FUNC_SEMLOCK,219,start
-218150100,Core_1,0,C,Core_1,0,execute
-218150100,TASK_InputProcessing,109,C,Core_1,0,execute
-218152575,TASK_WritingActuator,109,SIG,SIG_Mixture,0,write,0
-218152575,TASK_WritingActuator,109,R,FUNC_WriteData,109,terminate
-218152575,TASK_WritingActuator,109,R,FUNC_SEMUNLOCK,218,start
-218250000,SIM,-1,STI,TIMER-1MS,218,trigger
-218250000,TIMER-1MS,218,T,TASK_1MS,218,activate
-218250000,TASK_1MS,218,SCHED,SCHED_Tasks_C1,-1,processactivate
-218250100,TASK_1MS,218,STI,IR_SCHED_Tasks_C1,736,trigger
-218250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-218250100,TASK_InputProcessing,109,R,FUNC_SEMLOCK,219,suspend
-218250100,Core_1,0,T,TASK_InputProcessing,109,preempt
-218250100,Core_1,0,C,Core_1,0,idle_execution
-218250100,TASK_InputProcessing,109,C,Core_1,0,idle_execution
-218250100,Core_1,0,T,TASK_1MS,218,start
-218250100,TASK_1MS,218,R,FUNC_EXECTIME_1,401,start
-218250100,Core_1,0,C,Core_1,0,execute
-218250100,TASK_1MS,218,C,Core_1,0,execute
-218352575,TASK_WritingActuator,109,SEM,SEM_DataElement1,0,released,1
-218352575,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-218352575,TASK_WritingActuator,109,SCHED,SCHED_Tasks_C2,-1,schedulepoint
-218352575,Core_2,0,C,Core_2,0,lock
-218352625,TASK_WritingActuator,109,R,FUNC_SEMUNLOCK,218,terminate
-218352625,Core_2,0,T,TASK_WritingActuator,109,terminate
-218352625,TASK_WritingActuator,109,SCHED,SCHED_Tasks_C2,-1,processterminate
-218352625,Core_2,0,C,Core_2,0,unlock
-218352625,Core_2,0,C,Core_2,0,idle
-218352625,TASK_WritingActuator,109,C,Core_2,0,idle
-218352675,TASK_WritingActuator,109,STI,IR_SCHED_Tasks_C2,704,trigger
-218352675,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-218352675,Core_2,0,T,TASK_5MS,109,start
-218352675,TASK_5MS,109,R,FUNC_EXECTIME_1,399,start
-218352675,Core_2,0,C,Core_2,0,execute
-218352675,TASK_5MS,109,C,Core_2,0,execute
-218615225,TASK_5MS,109,R,FUNC_EXECTIME_1,399,terminate
-218615225,Core_2,0,T,TASK_5MS,109,terminate
-218615225,TASK_5MS,109,SCHED,SCHED_Tasks_C2,-1,processterminate
-218615225,Core_2,0,C,Core_2,0,idle
-218615225,TASK_5MS,109,C,Core_2,0,idle
-218615325,TASK_5MS,109,STI,IR_SCHED_Tasks_C2,705,trigger
-218615325,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-218752200,TASK_1MS,218,R,FUNC_EXECTIME_1,401,terminate
-218752200,Core_1,0,T,TASK_1MS,218,terminate
-218752200,TASK_1MS,218,SCHED,SCHED_Tasks_C1,-1,processterminate
-218752200,Core_1,0,C,Core_1,0,idle
-218752200,TASK_1MS,218,C,Core_1,0,idle
-218752300,TASK_1MS,218,STI,IR_SCHED_Tasks_C1,737,trigger
-218752300,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-218752300,Core_1,0,C,Core_1,0,execute_idle
-218752300,TASK_InputProcessing,109,C,Core_1,0,execute_idle
-218752300,Core_1,0,T,TASK_InputProcessing,109,resume
-218752300,TASK_InputProcessing,109,R,FUNC_SEMLOCK,219,resume
-218777300,TASK_InputProcessing,109,SEM,SEM_DataElement1,0,requestsemaphore,0
-218777300,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-218777300,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-218777300,Core_1,0,C,Core_1,0,lock
-218777300,TASK_InputProcessing,109,SEM,SEM_DataElement1,0,assigned,1
-218777350,TASK_InputProcessing,109,R,FUNC_SEMLOCK,219,terminate
-218777350,Core_1,0,C,Core_1,0,unlock
-218777350,TASK_InputProcessing,109,R,FUNC_ReadSensorData,109,start
-218936225,TASK_InputProcessing,109,SIG,SIG_RotationSpeed,0,read,0
-218936225,TASK_InputProcessing,109,SIG,SIG_Lambda,0,read,0
-218936225,TASK_InputProcessing,109,SIG,SIG_Temperature,0,read,0
-218936225,TASK_InputProcessing,109,R,FUNC_ReadSensorData,109,terminate
-218936225,TASK_InputProcessing,109,R,FUNC_SEMUNLOCK,219,start
-219136225,TASK_InputProcessing,109,SEM,SEM_DataElement1,0,released,1
-219136225,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-219136225,TASK_InputProcessing,109,SCHED,SCHED_Tasks_C1,-1,schedulepoint
-219136225,Core_1,0,C,Core_1,0,lock
-219136275,TASK_InputProcessing,109,R,FUNC_SEMUNLOCK,219,terminate
-219136275,Core_1,0,C,Core_1,0,unlock
-219136275,TASK_InputProcessing,109,STI,IPA_InputReady,109,trigger
-219136275,IPA_InputReady,109,T,TASK_CalcEngineSpeed,109,activate
-219136275,TASK_CalcEngineSpeed,109,SCHED,SCHED_Tasks_C2,-1,processactivate
-219136275,Core_1,0,T,TASK_InputProcessing,109,terminate
-219136275,TASK_InputProcessing,109,SCHED,SCHED_Tasks_C1,-1,processterminate
-219136275,Core_1,0,C,Core_1,0,idle
-219136275,TASK_InputProcessing,109,C,Core_1,0,idle
-219136325,TASK_InputProcessing,109,STI,IR_SCHED_Tasks_C1,738,trigger
-219136325,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-219136325,Core_1,0,C,Core_1,0,execute_idle
-219136325,TASK_200MS,1,C,Core_1,0,execute_idle
-219136325,Core_1,0,T,TASK_200MS,1,resume
-219136325,TASK_200MS,1,R,FUNC_EXECTIME_1,400,resume
-219136375,TASK_CalcEngineSpeed,109,STI,IR_SCHED_Tasks_C2,706,trigger
-219136375,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-219136375,Core_2,0,T,TASK_CalcEngineSpeed,109,start
-219136375,TASK_CalcEngineSpeed,109,R,FUNC_ENGINESPEED,109,start
-219136375,Core_2,0,C,Core_2,0,execute
-219136375,TASK_CalcEngineSpeed,109,C,Core_2,0,execute
-219250000,SIM,-1,STI,TIMER-1MS,219,trigger
-219250000,TIMER-1MS,219,T,TASK_1MS,219,activate
-219250000,TASK_1MS,219,SCHED,SCHED_Tasks_C1,-1,processactivate
-219250100,TASK_1MS,219,STI,IR_SCHED_Tasks_C1,739,trigger
-219250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-219250100,TASK_200MS,1,R,FUNC_EXECTIME_1,400,suspend
-219250100,Core_1,0,T,TASK_200MS,1,preempt
-219250100,Core_1,0,C,Core_1,0,idle_execution
-219250100,TASK_200MS,1,C,Core_1,0,idle_execution
-219250100,Core_1,0,T,TASK_1MS,219,start
-219250100,TASK_1MS,219,R,FUNC_EXECTIME_1,402,start
-219250100,Core_1,0,C,Core_1,0,execute
-219250100,TASK_1MS,219,C,Core_1,0,execute
-219378425,TASK_CalcEngineSpeed,109,R,FUNC_ENGINESPEED,109,terminate
-219378425,Core_2,0,T,TASK_CalcEngineSpeed,109,terminate
-219378425,TASK_CalcEngineSpeed,109,SCHED,SCHED_Tasks_C2,-1,processterminate
-219378425,Core_2,0,C,Core_2,0,idle
-219378425,TASK_CalcEngineSpeed,109,C,Core_2,0,idle
-219378525,TASK_CalcEngineSpeed,109,STI,IR_SCHED_Tasks_C2,707,trigger
-219378525,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-219642550,TASK_1MS,219,R,FUNC_EXECTIME_1,402,terminate
-219642550,Core_1,0,T,TASK_1MS,219,terminate
-219642550,TASK_1MS,219,SCHED,SCHED_Tasks_C1,-1,processterminate
-219642550,Core_1,0,C,Core_1,0,idle
-219642550,TASK_1MS,219,C,Core_1,0,idle
-219642650,TASK_1MS,219,STI,IR_SCHED_Tasks_C1,740,trigger
-219642650,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-219642650,Core_1,0,C,Core_1,0,execute_idle
-219642650,TASK_200MS,1,C,Core_1,0,execute_idle
-219642650,Core_1,0,T,TASK_200MS,1,resume
-219642650,TASK_200MS,1,R,FUNC_EXECTIME_1,400,resume
-220000000,SIM,-1,STI,TIMER-B_2ms,110,trigger
-220000000,TIMER-B_2ms,110,T,TASK_WritingActuator,110,activate
-220000000,TASK_WritingActuator,110,SCHED,SCHED_Tasks_C2,-1,processactivate
-220000000,SIM,-1,STI,TIMER-10MS_2,22,trigger
-220000000,TIMER-10MS_2,22,T,TASK_10MS_DL2,22,activate
-220000000,TASK_10MS_DL2,22,SCHED,SCHED_Tasks_C1,-1,processactivate
-220000100,TASK_WritingActuator,110,STI,IR_SCHED_Tasks_C2,708,trigger
-220000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-220000100,Core_2,0,T,TASK_WritingActuator,110,start
-220000100,TASK_WritingActuator,110,R,FUNC_SEMLOCK,220,start
-220000100,Core_2,0,C,Core_2,0,execute
-220000100,TASK_WritingActuator,110,C,Core_2,0,execute
-220000100,TASK_10MS_DL2,22,STI,IR_SCHED_Tasks_C1,741,trigger
-220000100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-220000100,TASK_200MS,1,R,FUNC_EXECTIME_1,400,suspend
-220000100,Core_1,0,T,TASK_200MS,1,preempt
-220000100,Core_1,0,C,Core_1,0,idle_execution
-220000100,TASK_200MS,1,C,Core_1,0,idle_execution
-220000100,Core_1,0,T,TASK_10MS_DL2,22,start
-220000100,TASK_10MS_DL2,22,R,FUNC_EXECTIME_1,403,start
-220000100,Core_1,0,C,Core_1,0,execute
-220000100,TASK_10MS_DL2,22,C,Core_1,0,execute
-220005000,SIM,-1,STI,TIMER-20MS,11,trigger
-220005000,TIMER-20MS,11,T,TASK_20MS,11,activate
-220005000,TASK_20MS,11,SCHED,SCHED_Tasks_C1,-1,processactivate
-220005100,TASK_20MS,11,STI,IR_SCHED_Tasks_C1,742,trigger
-220005100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-220100000,SIM,-1,STI,TIMER-5MS,110,trigger
-220100000,TIMER-5MS,110,T,TASK_5MS,110,activate
-220100000,TASK_5MS,110,SCHED,SCHED_Tasks_C2,-1,processactivate
-220100100,TASK_5MS,110,STI,IR_SCHED_Tasks_C2,709,trigger
-220100100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-220125100,TASK_WritingActuator,110,SEM,SEM_DataElement1,0,requestsemaphore,0
-220125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-220125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-220125100,Core_2,0,C,Core_2,0,lock
-220125100,TASK_WritingActuator,110,SEM,SEM_DataElement1,0,assigned,1
-220125150,TASK_WritingActuator,110,R,FUNC_SEMLOCK,220,terminate
-220125150,Core_2,0,C,Core_2,0,unlock
-220125150,TASK_WritingActuator,110,R,FUNC_WriteData,110,start
-220150000,SIM,-1,STI,TIMER-A_2ms,110,trigger
-220150000,TIMER-A_2ms,110,T,TASK_InputProcessing,110,activate
-220150000,TASK_InputProcessing,110,SCHED,SCHED_Tasks_C1,-1,processactivate
-220150100,TASK_InputProcessing,110,STI,IR_SCHED_Tasks_C1,743,trigger
-220150100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-220152175,TASK_WritingActuator,110,SIG,SIG_Mixture,0,write,0
-220152175,TASK_WritingActuator,110,R,FUNC_WriteData,110,terminate
-220152175,TASK_WritingActuator,110,R,FUNC_SEMUNLOCK,220,start
-220250000,SIM,-1,STI,TIMER-1MS,220,trigger
-220250000,TIMER-1MS,220,T,TASK_1MS,220,activate
-220250000,TASK_1MS,220,SCHED,SCHED_Tasks_C1,-1,processactivate
-220250100,TASK_1MS,220,STI,IR_SCHED_Tasks_C1,744,trigger
-220250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-220250100,TASK_10MS_DL2,22,R,FUNC_EXECTIME_1,403,suspend
-220250100,Core_1,0,T,TASK_10MS_DL2,22,preempt
-220250100,Core_1,0,C,Core_1,0,idle_execution
-220250100,TASK_10MS_DL2,22,C,Core_1,0,idle_execution
-220250100,Core_1,0,T,TASK_1MS,220,start
-220250100,TASK_1MS,220,R,FUNC_EXECTIME_1,406,start
-220250100,Core_1,0,C,Core_1,0,execute
-220250100,TASK_1MS,220,C,Core_1,0,execute
-220352175,TASK_WritingActuator,110,SEM,SEM_DataElement1,0,released,1
-220352175,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-220352175,TASK_WritingActuator,110,SCHED,SCHED_Tasks_C2,-1,schedulepoint
-220352175,Core_2,0,C,Core_2,0,lock
-220352225,TASK_WritingActuator,110,R,FUNC_SEMUNLOCK,220,terminate
-220352225,Core_2,0,T,TASK_WritingActuator,110,terminate
-220352225,TASK_WritingActuator,110,SCHED,SCHED_Tasks_C2,-1,processterminate
-220352225,Core_2,0,C,Core_2,0,unlock
-220352225,Core_2,0,C,Core_2,0,idle
-220352225,TASK_WritingActuator,110,C,Core_2,0,idle
-220352275,TASK_WritingActuator,110,STI,IR_SCHED_Tasks_C2,710,trigger
-220352275,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-220352275,Core_2,0,T,TASK_5MS,110,start
-220352275,TASK_5MS,110,R,FUNC_EXECTIME_1,405,start
-220352275,Core_2,0,C,Core_2,0,execute
-220352275,TASK_5MS,110,C,Core_2,0,execute
-220755725,TASK_5MS,110,R,FUNC_EXECTIME_1,405,terminate
-220755725,Core_2,0,T,TASK_5MS,110,terminate
-220755725,TASK_5MS,110,SCHED,SCHED_Tasks_C2,-1,processterminate
-220755725,Core_2,0,C,Core_2,0,idle
-220755725,TASK_5MS,110,C,Core_2,0,idle
-220755825,TASK_5MS,110,STI,IR_SCHED_Tasks_C2,711,trigger
-220755825,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-220764475,TASK_1MS,220,R,FUNC_EXECTIME_1,406,terminate
-220764475,Core_1,0,T,TASK_1MS,220,terminate
-220764475,TASK_1MS,220,SCHED,SCHED_Tasks_C1,-1,processterminate
-220764475,Core_1,0,C,Core_1,0,idle
-220764475,TASK_1MS,220,C,Core_1,0,idle
-220764575,TASK_1MS,220,STI,IR_SCHED_Tasks_C1,745,trigger
-220764575,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-220764575,Core_1,0,C,Core_1,0,execute_idle
-220764575,TASK_10MS_DL2,22,C,Core_1,0,execute_idle
-220764575,Core_1,0,T,TASK_10MS_DL2,22,resume
-220764575,TASK_10MS_DL2,22,R,FUNC_EXECTIME_1,403,resume
-221250000,SIM,-1,STI,TIMER-1MS,221,trigger
-221250000,TIMER-1MS,221,T,TASK_1MS,221,activate
-221250000,TASK_1MS,221,SCHED,SCHED_Tasks_C1,-1,processactivate
-221250100,TASK_1MS,221,STI,IR_SCHED_Tasks_C1,746,trigger
-221250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-221250100,TASK_10MS_DL2,22,R,FUNC_EXECTIME_1,403,suspend
-221250100,Core_1,0,T,TASK_10MS_DL2,22,preempt
-221250100,Core_1,0,C,Core_1,0,idle_execution
-221250100,TASK_10MS_DL2,22,C,Core_1,0,idle_execution
-221250100,Core_1,0,T,TASK_1MS,221,start
-221250100,TASK_1MS,221,R,FUNC_EXECTIME_1,407,start
-221250100,Core_1,0,C,Core_1,0,execute
-221250100,TASK_1MS,221,C,Core_1,0,execute
-221540900,TASK_1MS,221,R,FUNC_EXECTIME_1,407,terminate
-221540900,Core_1,0,T,TASK_1MS,221,terminate
-221540900,TASK_1MS,221,SCHED,SCHED_Tasks_C1,-1,processterminate
-221540900,Core_1,0,C,Core_1,0,idle
-221540900,TASK_1MS,221,C,Core_1,0,idle
-221541000,TASK_1MS,221,STI,IR_SCHED_Tasks_C1,747,trigger
-221541000,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-221541000,Core_1,0,C,Core_1,0,execute_idle
-221541000,TASK_10MS_DL2,22,C,Core_1,0,execute_idle
-221541000,Core_1,0,T,TASK_10MS_DL2,22,resume
-221541000,TASK_10MS_DL2,22,R,FUNC_EXECTIME_1,403,resume
-221624350,TASK_10MS_DL2,22,R,FUNC_EXECTIME_1,403,terminate
-221624350,Core_1,0,T,TASK_10MS_DL2,22,terminate
-221624350,TASK_10MS_DL2,22,SCHED,SCHED_Tasks_C1,-1,processterminate
-221624350,Core_1,0,C,Core_1,0,idle
-221624350,TASK_10MS_DL2,22,C,Core_1,0,idle
-221624450,TASK_10MS_DL2,22,STI,IR_SCHED_Tasks_C1,748,trigger
-221624450,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-221624450,Core_1,0,T,TASK_InputProcessing,110,start
-221624450,TASK_InputProcessing,110,R,FUNC_SEMLOCK,221,start
-221624450,Core_1,0,C,Core_1,0,execute
-221624450,TASK_InputProcessing,110,C,Core_1,0,execute
-221749450,TASK_InputProcessing,110,SEM,SEM_DataElement1,0,requestsemaphore,0
-221749450,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-221749450,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-221749450,Core_1,0,C,Core_1,0,lock
-221749450,TASK_InputProcessing,110,SEM,SEM_DataElement1,0,assigned,1
-221749500,TASK_InputProcessing,110,R,FUNC_SEMLOCK,221,terminate
-221749500,Core_1,0,C,Core_1,0,unlock
-221749500,TASK_InputProcessing,110,R,FUNC_ReadSensorData,110,start
-221910000,TASK_InputProcessing,110,SIG,SIG_RotationSpeed,0,read,0
-221910000,TASK_InputProcessing,110,SIG,SIG_Lambda,0,read,0
-221910000,TASK_InputProcessing,110,SIG,SIG_Temperature,0,read,0
-221910000,TASK_InputProcessing,110,R,FUNC_ReadSensorData,110,terminate
-221910000,TASK_InputProcessing,110,R,FUNC_SEMUNLOCK,221,start
-222000000,SIM,-1,STI,TIMER-B_2ms,111,trigger
-222000000,TIMER-B_2ms,111,T,TASK_WritingActuator,111,activate
-222000000,TASK_WritingActuator,111,SCHED,SCHED_Tasks_C2,-1,processactivate
-222000100,TASK_WritingActuator,111,STI,IR_SCHED_Tasks_C2,712,trigger
-222000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-222000100,Core_2,0,T,TASK_WritingActuator,111,start
-222000100,TASK_WritingActuator,111,R,FUNC_SEMLOCK,222,start
-222000100,Core_2,0,C,Core_2,0,execute
-222000100,TASK_WritingActuator,111,C,Core_2,0,execute
-222100000,SIM,-1,STI,TIMER-5MS,111,trigger
-222100000,TIMER-5MS,111,T,TASK_5MS,111,activate
-222100000,TASK_5MS,111,SCHED,SCHED_Tasks_C2,-1,processactivate
-222100100,TASK_5MS,111,STI,IR_SCHED_Tasks_C2,713,trigger
-222100100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-222110000,TASK_InputProcessing,110,SEM,SEM_DataElement1,0,released,1
-222110000,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-222110000,TASK_InputProcessing,110,SCHED,SCHED_Tasks_C1,-1,schedulepoint
-222110000,Core_1,0,C,Core_1,0,lock
-222110050,TASK_InputProcessing,110,R,FUNC_SEMUNLOCK,221,terminate
-222110050,Core_1,0,C,Core_1,0,unlock
-222110050,TASK_InputProcessing,110,STI,IPA_InputReady,110,trigger
-222110050,IPA_InputReady,110,T,TASK_CalcEngineSpeed,110,activate
-222110050,TASK_CalcEngineSpeed,110,SCHED,SCHED_Tasks_C2,-1,processactivate
-222110050,Core_1,0,T,TASK_InputProcessing,110,terminate
-222110050,TASK_InputProcessing,110,SCHED,SCHED_Tasks_C1,-1,processterminate
-222110050,Core_1,0,C,Core_1,0,idle
-222110050,TASK_InputProcessing,110,C,Core_1,0,idle
-222110100,TASK_InputProcessing,110,STI,IR_SCHED_Tasks_C1,749,trigger
-222110100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-222110100,Core_1,0,T,TASK_20MS,11,start
-222110100,TASK_20MS,11,R,FUNC_EXECTIME_1,404,start
-222110100,Core_1,0,C,Core_1,0,execute
-222110100,TASK_20MS,11,C,Core_1,0,execute
-222110150,TASK_CalcEngineSpeed,110,STI,IR_SCHED_Tasks_C2,714,trigger
-222110150,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-222125100,TASK_WritingActuator,111,SEM,SEM_DataElement1,0,requestsemaphore,0
-222125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-222125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-222125100,Core_2,0,C,Core_2,0,lock
-222125100,TASK_WritingActuator,111,SEM,SEM_DataElement1,0,assigned,1
-222125150,TASK_WritingActuator,111,R,FUNC_SEMLOCK,222,terminate
-222125150,Core_2,0,C,Core_2,0,unlock
-222125150,TASK_WritingActuator,111,R,FUNC_WriteData,111,start
-222150000,SIM,-1,STI,TIMER-A_2ms,111,trigger
-222150000,TIMER-A_2ms,111,T,TASK_InputProcessing,111,activate
-222150000,TASK_InputProcessing,111,SCHED,SCHED_Tasks_C1,-1,processactivate
-222150100,TASK_InputProcessing,111,STI,IR_SCHED_Tasks_C1,750,trigger
-222150100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-222150100,TASK_20MS,11,R,FUNC_EXECTIME_1,404,suspend
-222150100,Core_1,0,T,TASK_20MS,11,preempt
-222150100,Core_1,0,C,Core_1,0,idle_execution
-222150100,TASK_20MS,11,C,Core_1,0,idle_execution
-222150100,Core_1,0,T,TASK_InputProcessing,111,start
-222150100,TASK_InputProcessing,111,R,FUNC_SEMLOCK,223,start
-222150100,Core_1,0,C,Core_1,0,execute
-222150100,TASK_InputProcessing,111,C,Core_1,0,execute
-222151400,TASK_WritingActuator,111,SIG,SIG_Mixture,0,write,0
-222151400,TASK_WritingActuator,111,R,FUNC_WriteData,111,terminate
-222151400,TASK_WritingActuator,111,R,FUNC_SEMUNLOCK,222,start
-222250000,SIM,-1,STI,TIMER-1MS,222,trigger
-222250000,TIMER-1MS,222,T,TASK_1MS,222,activate
-222250000,TASK_1MS,222,SCHED,SCHED_Tasks_C1,-1,processactivate
-222250100,TASK_1MS,222,STI,IR_SCHED_Tasks_C1,751,trigger
-222250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-222250100,TASK_InputProcessing,111,R,FUNC_SEMLOCK,223,suspend
-222250100,Core_1,0,T,TASK_InputProcessing,111,preempt
-222250100,Core_1,0,C,Core_1,0,idle_execution
-222250100,TASK_InputProcessing,111,C,Core_1,0,idle_execution
-222250100,Core_1,0,T,TASK_1MS,222,start
-222250100,TASK_1MS,222,R,FUNC_EXECTIME_1,409,start
-222250100,Core_1,0,C,Core_1,0,execute
-222250100,TASK_1MS,222,C,Core_1,0,execute
-222351400,TASK_WritingActuator,111,SEM,SEM_DataElement1,0,released,1
-222351400,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-222351400,TASK_WritingActuator,111,SCHED,SCHED_Tasks_C2,-1,schedulepoint
-222351400,Core_2,0,C,Core_2,0,lock
-222351450,TASK_WritingActuator,111,R,FUNC_SEMUNLOCK,222,terminate
-222351450,Core_2,0,T,TASK_WritingActuator,111,terminate
-222351450,TASK_WritingActuator,111,SCHED,SCHED_Tasks_C2,-1,processterminate
-222351450,Core_2,0,C,Core_2,0,unlock
-222351450,Core_2,0,C,Core_2,0,idle
-222351450,TASK_WritingActuator,111,C,Core_2,0,idle
-222351500,TASK_WritingActuator,111,STI,IR_SCHED_Tasks_C2,715,trigger
-222351500,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-222351500,Core_2,0,T,TASK_CalcEngineSpeed,110,start
-222351500,TASK_CalcEngineSpeed,110,R,FUNC_ENGINESPEED,110,start
-222351500,Core_2,0,C,Core_2,0,execute
-222351500,TASK_CalcEngineSpeed,110,C,Core_2,0,execute
-222578525,TASK_CalcEngineSpeed,110,R,FUNC_ENGINESPEED,110,terminate
-222578525,Core_2,0,T,TASK_CalcEngineSpeed,110,terminate
-222578525,TASK_CalcEngineSpeed,110,SCHED,SCHED_Tasks_C2,-1,processterminate
-222578525,Core_2,0,C,Core_2,0,idle
-222578525,TASK_CalcEngineSpeed,110,C,Core_2,0,idle
-222578625,TASK_CalcEngineSpeed,110,STI,IR_SCHED_Tasks_C2,716,trigger
-222578625,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-222578625,Core_2,0,T,TASK_5MS,111,start
-222578625,TASK_5MS,111,R,FUNC_EXECTIME_1,408,start
-222578625,Core_2,0,C,Core_2,0,execute
-222578625,TASK_5MS,111,C,Core_2,0,execute
-222581425,TASK_1MS,222,R,FUNC_EXECTIME_1,409,terminate
-222581425,Core_1,0,T,TASK_1MS,222,terminate
-222581425,TASK_1MS,222,SCHED,SCHED_Tasks_C1,-1,processterminate
-222581425,Core_1,0,C,Core_1,0,idle
-222581425,TASK_1MS,222,C,Core_1,0,idle
-222581525,TASK_1MS,222,STI,IR_SCHED_Tasks_C1,752,trigger
-222581525,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-222581525,Core_1,0,C,Core_1,0,execute_idle
-222581525,TASK_InputProcessing,111,C,Core_1,0,execute_idle
-222581525,Core_1,0,T,TASK_InputProcessing,111,resume
-222581525,TASK_InputProcessing,111,R,FUNC_SEMLOCK,223,resume
-222606525,TASK_InputProcessing,111,SEM,SEM_DataElement1,0,requestsemaphore,0
-222606525,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-222606525,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-222606525,Core_1,0,C,Core_1,0,lock
-222606525,TASK_InputProcessing,111,SEM,SEM_DataElement1,0,assigned,1
-222606575,TASK_InputProcessing,111,R,FUNC_SEMLOCK,223,terminate
-222606575,Core_1,0,C,Core_1,0,unlock
-222606575,TASK_InputProcessing,111,R,FUNC_ReadSensorData,111,start
-222769700,TASK_InputProcessing,111,SIG,SIG_RotationSpeed,0,read,0
-222769700,TASK_InputProcessing,111,SIG,SIG_Lambda,0,read,0
-222769700,TASK_InputProcessing,111,SIG,SIG_Temperature,0,read,0
-222769700,TASK_InputProcessing,111,R,FUNC_ReadSensorData,111,terminate
-222769700,TASK_InputProcessing,111,R,FUNC_SEMUNLOCK,223,start
-222879075,TASK_5MS,111,R,FUNC_EXECTIME_1,408,terminate
-222879075,Core_2,0,T,TASK_5MS,111,terminate
-222879075,TASK_5MS,111,SCHED,SCHED_Tasks_C2,-1,processterminate
-222879075,Core_2,0,C,Core_2,0,idle
-222879075,TASK_5MS,111,C,Core_2,0,idle
-222879175,TASK_5MS,111,STI,IR_SCHED_Tasks_C2,717,trigger
-222879175,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-222969700,TASK_InputProcessing,111,SEM,SEM_DataElement1,0,released,1
-222969700,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-222969700,TASK_InputProcessing,111,SCHED,SCHED_Tasks_C1,-1,schedulepoint
-222969700,Core_1,0,C,Core_1,0,lock
-222969750,TASK_InputProcessing,111,R,FUNC_SEMUNLOCK,223,terminate
-222969750,Core_1,0,C,Core_1,0,unlock
-222969750,TASK_InputProcessing,111,STI,IPA_InputReady,111,trigger
-222969750,IPA_InputReady,111,T,TASK_CalcEngineSpeed,111,activate
-222969750,TASK_CalcEngineSpeed,111,SCHED,SCHED_Tasks_C2,-1,processactivate
-222969750,Core_1,0,T,TASK_InputProcessing,111,terminate
-222969750,TASK_InputProcessing,111,SCHED,SCHED_Tasks_C1,-1,processterminate
-222969750,Core_1,0,C,Core_1,0,idle
-222969750,TASK_InputProcessing,111,C,Core_1,0,idle
-222969800,TASK_InputProcessing,111,STI,IR_SCHED_Tasks_C1,753,trigger
-222969800,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-222969800,Core_1,0,C,Core_1,0,execute_idle
-222969800,TASK_20MS,11,C,Core_1,0,execute_idle
-222969800,Core_1,0,T,TASK_20MS,11,resume
-222969800,TASK_20MS,11,R,FUNC_EXECTIME_1,404,resume
-222969850,TASK_CalcEngineSpeed,111,STI,IR_SCHED_Tasks_C2,718,trigger
-222969850,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-222969850,Core_2,0,T,TASK_CalcEngineSpeed,111,start
-222969850,TASK_CalcEngineSpeed,111,R,FUNC_ENGINESPEED,111,start
-222969850,Core_2,0,C,Core_2,0,execute
-222969850,TASK_CalcEngineSpeed,111,C,Core_2,0,execute
-223167700,TASK_CalcEngineSpeed,111,R,FUNC_ENGINESPEED,111,terminate
-223167700,Core_2,0,T,TASK_CalcEngineSpeed,111,terminate
-223167700,TASK_CalcEngineSpeed,111,SCHED,SCHED_Tasks_C2,-1,processterminate
-223167700,Core_2,0,C,Core_2,0,idle
-223167700,TASK_CalcEngineSpeed,111,C,Core_2,0,idle
-223167800,TASK_CalcEngineSpeed,111,STI,IR_SCHED_Tasks_C2,719,trigger
-223167800,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-223250000,SIM,-1,STI,TIMER-1MS,223,trigger
-223250000,TIMER-1MS,223,T,TASK_1MS,223,activate
-223250000,TASK_1MS,223,SCHED,SCHED_Tasks_C1,-1,processactivate
-223250100,TASK_1MS,223,STI,IR_SCHED_Tasks_C1,754,trigger
-223250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-223250100,TASK_20MS,11,R,FUNC_EXECTIME_1,404,suspend
-223250100,Core_1,0,T,TASK_20MS,11,preempt
-223250100,Core_1,0,C,Core_1,0,idle_execution
-223250100,TASK_20MS,11,C,Core_1,0,idle_execution
-223250100,Core_1,0,T,TASK_1MS,223,start
-223250100,TASK_1MS,223,R,FUNC_EXECTIME_1,410,start
-223250100,Core_1,0,C,Core_1,0,execute
-223250100,TASK_1MS,223,C,Core_1,0,execute
-223740700,TASK_1MS,223,R,FUNC_EXECTIME_1,410,terminate
-223740700,Core_1,0,T,TASK_1MS,223,terminate
-223740700,TASK_1MS,223,SCHED,SCHED_Tasks_C1,-1,processterminate
-223740700,Core_1,0,C,Core_1,0,idle
-223740700,TASK_1MS,223,C,Core_1,0,idle
-223740800,TASK_1MS,223,STI,IR_SCHED_Tasks_C1,755,trigger
-223740800,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-223740800,Core_1,0,C,Core_1,0,execute_idle
-223740800,TASK_20MS,11,C,Core_1,0,execute_idle
-223740800,Core_1,0,T,TASK_20MS,11,resume
-223740800,TASK_20MS,11,R,FUNC_EXECTIME_1,404,resume
-223798100,TASK_20MS,11,R,FUNC_EXECTIME_1,404,terminate
-223798100,Core_1,0,T,TASK_20MS,11,terminate
-223798100,TASK_20MS,11,SCHED,SCHED_Tasks_C1,-1,processterminate
-223798100,Core_1,0,C,Core_1,0,idle
-223798100,TASK_20MS,11,C,Core_1,0,idle
-223798200,TASK_20MS,11,STI,IR_SCHED_Tasks_C1,756,trigger
-223798200,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-223798200,Core_1,0,C,Core_1,0,execute_idle
-223798200,TASK_200MS,1,C,Core_1,0,execute_idle
-223798200,Core_1,0,T,TASK_200MS,1,resume
-223798200,TASK_200MS,1,R,FUNC_EXECTIME_1,400,resume
-224000000,SIM,-1,STI,TIMER-B_2ms,112,trigger
-224000000,TIMER-B_2ms,112,T,TASK_WritingActuator,112,activate
-224000000,TASK_WritingActuator,112,SCHED,SCHED_Tasks_C2,-1,processactivate
-224000100,TASK_WritingActuator,112,STI,IR_SCHED_Tasks_C2,720,trigger
-224000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-224000100,Core_2,0,T,TASK_WritingActuator,112,start
-224000100,TASK_WritingActuator,112,R,FUNC_SEMLOCK,224,start
-224000100,Core_2,0,C,Core_2,0,execute
-224000100,TASK_WritingActuator,112,C,Core_2,0,execute
-224006775,TASK_200MS,1,R,FUNC_EXECTIME_1,400,terminate
-224006775,TASK_200MS,1,SCHED,SCHED_Tasks_C1,-1,schedulepoint
-224006775,Core_1,0,T,TASK_200MS,1,preempt
-224006775,Core_1,0,C,Core_1,0,idle
-224006775,TASK_200MS,1,C,Core_1,0,idle
-224006875,TASK_200MS,1,STI,IR_SCHED_Tasks_C1,757,trigger
-224006875,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-224006875,Core_1,0,T,TASK_200MS,1,resume
-224006875,TASK_200MS,1,R,FUNC_EXECTIME_1,411,start
-224006875,Core_1,0,C,Core_1,0,execute
-224006875,TASK_200MS,1,C,Core_1,0,execute
-224100000,SIM,-1,STI,TIMER-5MS,112,trigger
-224100000,TIMER-5MS,112,T,TASK_5MS,112,activate
-224100000,TASK_5MS,112,SCHED,SCHED_Tasks_C2,-1,processactivate
-224100100,TASK_5MS,112,STI,IR_SCHED_Tasks_C2,721,trigger
-224100100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-224125100,TASK_WritingActuator,112,SEM,SEM_DataElement1,0,requestsemaphore,0
-224125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-224125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-224125100,Core_2,0,C,Core_2,0,lock
-224125100,TASK_WritingActuator,112,SEM,SEM_DataElement1,0,assigned,1
-224125150,TASK_WritingActuator,112,R,FUNC_SEMLOCK,224,terminate
-224125150,Core_2,0,C,Core_2,0,unlock
-224125150,TASK_WritingActuator,112,R,FUNC_WriteData,112,start
-224150000,SIM,-1,STI,TIMER-A_2ms,112,trigger
-224150000,TIMER-A_2ms,112,T,TASK_InputProcessing,112,activate
-224150000,TASK_InputProcessing,112,SCHED,SCHED_Tasks_C1,-1,processactivate
-224150100,TASK_InputProcessing,112,STI,IR_SCHED_Tasks_C1,758,trigger
-224150100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-224150100,TASK_200MS,1,R,FUNC_EXECTIME_1,411,suspend
-224150100,Core_1,0,T,TASK_200MS,1,preempt
-224150100,Core_1,0,C,Core_1,0,idle_execution
-224150100,TASK_200MS,1,C,Core_1,0,idle_execution
-224150100,Core_1,0,T,TASK_InputProcessing,112,start
-224150100,TASK_InputProcessing,112,R,FUNC_SEMLOCK,225,start
-224150100,Core_1,0,C,Core_1,0,execute
-224150100,TASK_InputProcessing,112,C,Core_1,0,execute
-224152025,TASK_WritingActuator,112,SIG,SIG_Mixture,0,write,0
-224152025,TASK_WritingActuator,112,R,FUNC_WriteData,112,terminate
-224152025,TASK_WritingActuator,112,R,FUNC_SEMUNLOCK,224,start
-224250000,SIM,-1,STI,TIMER-1MS,224,trigger
-224250000,TIMER-1MS,224,T,TASK_1MS,224,activate
-224250000,TASK_1MS,224,SCHED,SCHED_Tasks_C1,-1,processactivate
-224250100,TASK_1MS,224,STI,IR_SCHED_Tasks_C1,759,trigger
-224250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-224250100,TASK_InputProcessing,112,R,FUNC_SEMLOCK,225,suspend
-224250100,Core_1,0,T,TASK_InputProcessing,112,preempt
-224250100,Core_1,0,C,Core_1,0,idle_execution
-224250100,TASK_InputProcessing,112,C,Core_1,0,idle_execution
-224250100,Core_1,0,T,TASK_1MS,224,start
-224250100,TASK_1MS,224,R,FUNC_EXECTIME_1,413,start
-224250100,Core_1,0,C,Core_1,0,execute
-224250100,TASK_1MS,224,C,Core_1,0,execute
-224352025,TASK_WritingActuator,112,SEM,SEM_DataElement1,0,released,1
-224352025,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-224352025,TASK_WritingActuator,112,SCHED,SCHED_Tasks_C2,-1,schedulepoint
-224352025,Core_2,0,C,Core_2,0,lock
-224352075,TASK_WritingActuator,112,R,FUNC_SEMUNLOCK,224,terminate
-224352075,Core_2,0,T,TASK_WritingActuator,112,terminate
-224352075,TASK_WritingActuator,112,SCHED,SCHED_Tasks_C2,-1,processterminate
-224352075,Core_2,0,C,Core_2,0,unlock
-224352075,Core_2,0,C,Core_2,0,idle
-224352075,TASK_WritingActuator,112,C,Core_2,0,idle
-224352125,TASK_WritingActuator,112,STI,IR_SCHED_Tasks_C2,722,trigger
-224352125,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-224352125,Core_2,0,T,TASK_5MS,112,start
-224352125,TASK_5MS,112,R,FUNC_EXECTIME_1,412,start
-224352125,Core_2,0,C,Core_2,0,execute
-224352125,TASK_5MS,112,C,Core_2,0,execute
-224926700,TASK_5MS,112,R,FUNC_EXECTIME_1,412,terminate
-224926700,Core_2,0,T,TASK_5MS,112,terminate
-224926700,TASK_5MS,112,SCHED,SCHED_Tasks_C2,-1,processterminate
-224926700,Core_2,0,C,Core_2,0,idle
-224926700,TASK_5MS,112,C,Core_2,0,idle
-224926800,TASK_5MS,112,STI,IR_SCHED_Tasks_C2,723,trigger
-224926800,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-225000000,SIM,-1,STI,TIMER-10MS,22,trigger
-225000000,TIMER-10MS,22,T,TASK_10MS,22,activate
-225000000,TASK_10MS,22,SCHED,SCHED_Tasks_C2,-1,processactivate
-225000100,TASK_10MS,22,STI,IR_SCHED_Tasks_C2,724,trigger
-225000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-225000100,Core_2,0,T,TASK_10MS,22,start
-225000100,TASK_10MS,22,R,FUNC_EXECTIME_1,414,start
-225000100,Core_2,0,C,Core_2,0,execute
-225000100,TASK_10MS,22,C,Core_2,0,execute
-225125850,TASK_1MS,224,R,FUNC_EXECTIME_1,413,terminate
-225125850,Core_1,0,T,TASK_1MS,224,terminate
-225125850,TASK_1MS,224,SCHED,SCHED_Tasks_C1,-1,processterminate
-225125850,Core_1,0,C,Core_1,0,idle
-225125850,TASK_1MS,224,C,Core_1,0,idle
-225125950,TASK_1MS,224,STI,IR_SCHED_Tasks_C1,760,trigger
-225125950,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-225125950,Core_1,0,C,Core_1,0,execute_idle
-225125950,TASK_InputProcessing,112,C,Core_1,0,execute_idle
-225125950,Core_1,0,T,TASK_InputProcessing,112,resume
-225125950,TASK_InputProcessing,112,R,FUNC_SEMLOCK,225,resume
-225150950,TASK_InputProcessing,112,SEM,SEM_DataElement1,0,requestsemaphore,0
-225150950,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-225150950,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-225150950,Core_1,0,C,Core_1,0,lock
-225150950,TASK_InputProcessing,112,SEM,SEM_DataElement1,0,assigned,1
-225151000,TASK_InputProcessing,112,R,FUNC_SEMLOCK,225,terminate
-225151000,Core_1,0,C,Core_1,0,unlock
-225151000,TASK_InputProcessing,112,R,FUNC_ReadSensorData,112,start
-225250000,SIM,-1,STI,TIMER-1MS,225,trigger
-225250000,TIMER-1MS,225,T,TASK_1MS,225,activate
-225250000,TASK_1MS,225,SCHED,SCHED_Tasks_C1,-1,processactivate
-225250100,TASK_1MS,225,STI,IR_SCHED_Tasks_C1,761,trigger
-225250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-225311675,TASK_InputProcessing,112,SIG,SIG_RotationSpeed,0,read,0
-225311675,TASK_InputProcessing,112,SIG,SIG_Lambda,0,read,0
-225311675,TASK_InputProcessing,112,SIG,SIG_Temperature,0,read,0
-225311675,TASK_InputProcessing,112,R,FUNC_ReadSensorData,112,terminate
-225311675,TASK_InputProcessing,112,R,FUNC_SEMUNLOCK,225,start
-225413225,TASK_10MS,22,R,FUNC_EXECTIME_1,414,terminate
-225413225,Core_2,0,T,TASK_10MS,22,terminate
-225413225,TASK_10MS,22,SCHED,SCHED_Tasks_C2,-1,processterminate
-225413225,Core_2,0,C,Core_2,0,idle
-225413225,TASK_10MS,22,C,Core_2,0,idle
-225413325,TASK_10MS,22,STI,IR_SCHED_Tasks_C2,725,trigger
-225413325,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-225511675,TASK_InputProcessing,112,SEM,SEM_DataElement1,0,released,1
-225511675,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-225511675,TASK_InputProcessing,112,SCHED,SCHED_Tasks_C1,-1,schedulepoint
-225511675,Core_1,0,C,Core_1,0,lock
-225511725,TASK_InputProcessing,112,R,FUNC_SEMUNLOCK,225,terminate
-225511725,Core_1,0,C,Core_1,0,unlock
-225511725,TASK_InputProcessing,112,STI,IPA_InputReady,112,trigger
-225511725,IPA_InputReady,112,T,TASK_CalcEngineSpeed,112,activate
-225511725,TASK_CalcEngineSpeed,112,SCHED,SCHED_Tasks_C2,-1,processactivate
-225511725,Core_1,0,T,TASK_InputProcessing,112,terminate
-225511725,TASK_InputProcessing,112,SCHED,SCHED_Tasks_C1,-1,processterminate
-225511725,Core_1,0,C,Core_1,0,idle
-225511725,TASK_InputProcessing,112,C,Core_1,0,idle
-225511775,TASK_InputProcessing,112,STI,IR_SCHED_Tasks_C1,762,trigger
-225511775,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-225511775,Core_1,0,T,TASK_1MS,225,start
-225511775,TASK_1MS,225,R,FUNC_EXECTIME_1,415,start
-225511775,Core_1,0,C,Core_1,0,execute
-225511775,TASK_1MS,225,C,Core_1,0,execute
-225511825,TASK_CalcEngineSpeed,112,STI,IR_SCHED_Tasks_C2,726,trigger
-225511825,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-225511825,Core_2,0,T,TASK_CalcEngineSpeed,112,start
-225511825,TASK_CalcEngineSpeed,112,R,FUNC_ENGINESPEED,112,start
-225511825,Core_2,0,C,Core_2,0,execute
-225511825,TASK_CalcEngineSpeed,112,C,Core_2,0,execute
-225704800,TASK_CalcEngineSpeed,112,R,FUNC_ENGINESPEED,112,terminate
-225704800,Core_2,0,T,TASK_CalcEngineSpeed,112,terminate
-225704800,TASK_CalcEngineSpeed,112,SCHED,SCHED_Tasks_C2,-1,processterminate
-225704800,Core_2,0,C,Core_2,0,idle
-225704800,TASK_CalcEngineSpeed,112,C,Core_2,0,idle
-225704900,TASK_CalcEngineSpeed,112,STI,IR_SCHED_Tasks_C2,727,trigger
-225704900,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-225902875,TASK_1MS,225,R,FUNC_EXECTIME_1,415,terminate
-225902875,Core_1,0,T,TASK_1MS,225,terminate
-225902875,TASK_1MS,225,SCHED,SCHED_Tasks_C1,-1,processterminate
-225902875,Core_1,0,C,Core_1,0,idle
-225902875,TASK_1MS,225,C,Core_1,0,idle
-225902975,TASK_1MS,225,STI,IR_SCHED_Tasks_C1,763,trigger
-225902975,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-225902975,Core_1,0,C,Core_1,0,execute_idle
-225902975,TASK_200MS,1,C,Core_1,0,execute_idle
-225902975,Core_1,0,T,TASK_200MS,1,resume
-225902975,TASK_200MS,1,R,FUNC_EXECTIME_1,411,resume
-226000000,SIM,-1,STI,TIMER-B_2ms,113,trigger
-226000000,TIMER-B_2ms,113,T,TASK_WritingActuator,113,activate
-226000000,TASK_WritingActuator,113,SCHED,SCHED_Tasks_C2,-1,processactivate
-226000100,TASK_WritingActuator,113,STI,IR_SCHED_Tasks_C2,728,trigger
-226000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-226000100,Core_2,0,T,TASK_WritingActuator,113,start
-226000100,TASK_WritingActuator,113,R,FUNC_SEMLOCK,226,start
-226000100,Core_2,0,C,Core_2,0,execute
-226000100,TASK_WritingActuator,113,C,Core_2,0,execute
-226100000,SIM,-1,STI,TIMER-5MS,113,trigger
-226100000,TIMER-5MS,113,T,TASK_5MS,113,activate
-226100000,TASK_5MS,113,SCHED,SCHED_Tasks_C2,-1,processactivate
-226100100,TASK_5MS,113,STI,IR_SCHED_Tasks_C2,729,trigger
-226100100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-226125100,TASK_WritingActuator,113,SEM,SEM_DataElement1,0,requestsemaphore,0
-226125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-226125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-226125100,Core_2,0,C,Core_2,0,lock
-226125100,TASK_WritingActuator,113,SEM,SEM_DataElement1,0,assigned,1
-226125150,TASK_WritingActuator,113,R,FUNC_SEMLOCK,226,terminate
-226125150,Core_2,0,C,Core_2,0,unlock
-226125150,TASK_WritingActuator,113,R,FUNC_WriteData,113,start
-226150000,SIM,-1,STI,TIMER-A_2ms,113,trigger
-226150000,TIMER-A_2ms,113,T,TASK_InputProcessing,113,activate
-226150000,TASK_InputProcessing,113,SCHED,SCHED_Tasks_C1,-1,processactivate
-226150100,TASK_InputProcessing,113,STI,IR_SCHED_Tasks_C1,764,trigger
-226150100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-226150100,TASK_200MS,1,R,FUNC_EXECTIME_1,411,suspend
-226150100,Core_1,0,T,TASK_200MS,1,preempt
-226150100,Core_1,0,C,Core_1,0,idle_execution
-226150100,TASK_200MS,1,C,Core_1,0,idle_execution
-226150100,Core_1,0,T,TASK_InputProcessing,113,start
-226150100,TASK_InputProcessing,113,R,FUNC_SEMLOCK,227,start
-226150100,Core_1,0,C,Core_1,0,execute
-226150100,TASK_InputProcessing,113,C,Core_1,0,execute
-226151750,TASK_WritingActuator,113,SIG,SIG_Mixture,0,write,0
-226151750,TASK_WritingActuator,113,R,FUNC_WriteData,113,terminate
-226151750,TASK_WritingActuator,113,R,FUNC_SEMUNLOCK,226,start
-226250000,SIM,-1,STI,TIMER-1MS,226,trigger
-226250000,TIMER-1MS,226,T,TASK_1MS,226,activate
-226250000,TASK_1MS,226,SCHED,SCHED_Tasks_C1,-1,processactivate
-226250100,TASK_1MS,226,STI,IR_SCHED_Tasks_C1,765,trigger
-226250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-226250100,TASK_InputProcessing,113,R,FUNC_SEMLOCK,227,suspend
-226250100,Core_1,0,T,TASK_InputProcessing,113,preempt
-226250100,Core_1,0,C,Core_1,0,idle_execution
-226250100,TASK_InputProcessing,113,C,Core_1,0,idle_execution
-226250100,Core_1,0,T,TASK_1MS,226,start
-226250100,TASK_1MS,226,R,FUNC_EXECTIME_1,417,start
-226250100,Core_1,0,C,Core_1,0,execute
-226250100,TASK_1MS,226,C,Core_1,0,execute
-226351750,TASK_WritingActuator,113,SEM,SEM_DataElement1,0,released,1
-226351750,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-226351750,TASK_WritingActuator,113,SCHED,SCHED_Tasks_C2,-1,schedulepoint
-226351750,Core_2,0,C,Core_2,0,lock
-226351800,TASK_WritingActuator,113,R,FUNC_SEMUNLOCK,226,terminate
-226351800,Core_2,0,T,TASK_WritingActuator,113,terminate
-226351800,TASK_WritingActuator,113,SCHED,SCHED_Tasks_C2,-1,processterminate
-226351800,Core_2,0,C,Core_2,0,unlock
-226351800,Core_2,0,C,Core_2,0,idle
-226351800,TASK_WritingActuator,113,C,Core_2,0,idle
-226351850,TASK_WritingActuator,113,STI,IR_SCHED_Tasks_C2,730,trigger
-226351850,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-226351850,Core_2,0,T,TASK_5MS,113,start
-226351850,TASK_5MS,113,R,FUNC_EXECTIME_1,416,start
-226351850,Core_2,0,C,Core_2,0,execute
-226351850,TASK_5MS,113,C,Core_2,0,execute
-226842450,TASK_5MS,113,R,FUNC_EXECTIME_1,416,terminate
-226842450,Core_2,0,T,TASK_5MS,113,terminate
-226842450,TASK_5MS,113,SCHED,SCHED_Tasks_C2,-1,processterminate
-226842450,Core_2,0,C,Core_2,0,idle
-226842450,TASK_5MS,113,C,Core_2,0,idle
-226842550,TASK_5MS,113,STI,IR_SCHED_Tasks_C2,731,trigger
-226842550,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-226946525,TASK_1MS,226,R,FUNC_EXECTIME_1,417,terminate
-226946525,Core_1,0,T,TASK_1MS,226,terminate
-226946525,TASK_1MS,226,SCHED,SCHED_Tasks_C1,-1,processterminate
-226946525,Core_1,0,C,Core_1,0,idle
-226946525,TASK_1MS,226,C,Core_1,0,idle
-226946625,TASK_1MS,226,STI,IR_SCHED_Tasks_C1,766,trigger
-226946625,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-226946625,Core_1,0,C,Core_1,0,execute_idle
-226946625,TASK_InputProcessing,113,C,Core_1,0,execute_idle
-226946625,Core_1,0,T,TASK_InputProcessing,113,resume
-226946625,TASK_InputProcessing,113,R,FUNC_SEMLOCK,227,resume
-226971625,TASK_InputProcessing,113,SEM,SEM_DataElement1,0,requestsemaphore,0
-226971625,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-226971625,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-226971625,Core_1,0,C,Core_1,0,lock
-226971625,TASK_InputProcessing,113,SEM,SEM_DataElement1,0,assigned,1
-226971675,TASK_InputProcessing,113,R,FUNC_SEMLOCK,227,terminate
-226971675,Core_1,0,C,Core_1,0,unlock
-226971675,TASK_InputProcessing,113,R,FUNC_ReadSensorData,113,start
-227136525,TASK_InputProcessing,113,SIG,SIG_RotationSpeed,0,read,0
-227136525,TASK_InputProcessing,113,SIG,SIG_Lambda,0,read,0
-227136525,TASK_InputProcessing,113,SIG,SIG_Temperature,0,read,0
-227136525,TASK_InputProcessing,113,R,FUNC_ReadSensorData,113,terminate
-227136525,TASK_InputProcessing,113,R,FUNC_SEMUNLOCK,227,start
-227250000,SIM,-1,STI,TIMER-1MS,227,trigger
-227250000,TIMER-1MS,227,T,TASK_1MS,227,activate
-227250000,TASK_1MS,227,SCHED,SCHED_Tasks_C1,-1,processactivate
-227250100,TASK_1MS,227,STI,IR_SCHED_Tasks_C1,767,trigger
-227250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-227336525,TASK_InputProcessing,113,SEM,SEM_DataElement1,0,released,1
-227336525,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-227336525,TASK_InputProcessing,113,SCHED,SCHED_Tasks_C1,-1,schedulepoint
-227336525,Core_1,0,C,Core_1,0,lock
-227336575,TASK_InputProcessing,113,R,FUNC_SEMUNLOCK,227,terminate
-227336575,Core_1,0,C,Core_1,0,unlock
-227336575,TASK_InputProcessing,113,STI,IPA_InputReady,113,trigger
-227336575,IPA_InputReady,113,T,TASK_CalcEngineSpeed,113,activate
-227336575,TASK_CalcEngineSpeed,113,SCHED,SCHED_Tasks_C2,-1,processactivate
-227336575,Core_1,0,T,TASK_InputProcessing,113,terminate
-227336575,TASK_InputProcessing,113,SCHED,SCHED_Tasks_C1,-1,processterminate
-227336575,Core_1,0,C,Core_1,0,idle
-227336575,TASK_InputProcessing,113,C,Core_1,0,idle
-227336625,TASK_InputProcessing,113,STI,IR_SCHED_Tasks_C1,768,trigger
-227336625,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-227336625,Core_1,0,T,TASK_1MS,227,start
-227336625,TASK_1MS,227,R,FUNC_EXECTIME_1,418,start
-227336625,Core_1,0,C,Core_1,0,execute
-227336625,TASK_1MS,227,C,Core_1,0,execute
-227336675,TASK_CalcEngineSpeed,113,STI,IR_SCHED_Tasks_C2,732,trigger
-227336675,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-227336675,Core_2,0,T,TASK_CalcEngineSpeed,113,start
-227336675,TASK_CalcEngineSpeed,113,R,FUNC_ENGINESPEED,113,start
-227336675,Core_2,0,C,Core_2,0,execute
-227336675,TASK_CalcEngineSpeed,113,C,Core_2,0,execute
-227475700,TASK_CalcEngineSpeed,113,R,FUNC_ENGINESPEED,113,terminate
-227475700,Core_2,0,T,TASK_CalcEngineSpeed,113,terminate
-227475700,TASK_CalcEngineSpeed,113,SCHED,SCHED_Tasks_C2,-1,processterminate
-227475700,Core_2,0,C,Core_2,0,idle
-227475700,TASK_CalcEngineSpeed,113,C,Core_2,0,idle
-227475800,TASK_CalcEngineSpeed,113,STI,IR_SCHED_Tasks_C2,733,trigger
-227475800,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-227848600,TASK_1MS,227,R,FUNC_EXECTIME_1,418,terminate
-227848600,Core_1,0,T,TASK_1MS,227,terminate
-227848600,TASK_1MS,227,SCHED,SCHED_Tasks_C1,-1,processterminate
-227848600,Core_1,0,C,Core_1,0,idle
-227848600,TASK_1MS,227,C,Core_1,0,idle
-227848700,TASK_1MS,227,STI,IR_SCHED_Tasks_C1,769,trigger
-227848700,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-227848700,Core_1,0,C,Core_1,0,execute_idle
-227848700,TASK_200MS,1,C,Core_1,0,execute_idle
-227848700,Core_1,0,T,TASK_200MS,1,resume
-227848700,TASK_200MS,1,R,FUNC_EXECTIME_1,411,resume
-227994625,TASK_200MS,1,R,FUNC_EXECTIME_1,411,terminate
-227994625,TASK_200MS,1,SCHED,SCHED_Tasks_C1,-1,schedulepoint
-227994625,Core_1,0,T,TASK_200MS,1,preempt
-227994625,Core_1,0,C,Core_1,0,idle
-227994625,TASK_200MS,1,C,Core_1,0,idle
-227994725,TASK_200MS,1,STI,IR_SCHED_Tasks_C1,770,trigger
-227994725,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-227994725,Core_1,0,T,TASK_200MS,1,resume
-227994725,TASK_200MS,1,R,FUNC_EXECTIME_1,419,start
-227994725,Core_1,0,C,Core_1,0,execute
-227994725,TASK_200MS,1,C,Core_1,0,execute
-228000000,SIM,-1,STI,TIMER-B_2ms,114,trigger
-228000000,TIMER-B_2ms,114,T,TASK_WritingActuator,114,activate
-228000000,TASK_WritingActuator,114,SCHED,SCHED_Tasks_C2,-1,processactivate
-228000100,TASK_WritingActuator,114,STI,IR_SCHED_Tasks_C2,734,trigger
-228000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-228000100,Core_2,0,T,TASK_WritingActuator,114,start
-228000100,TASK_WritingActuator,114,R,FUNC_SEMLOCK,228,start
-228000100,Core_2,0,C,Core_2,0,execute
-228000100,TASK_WritingActuator,114,C,Core_2,0,execute
-228100000,SIM,-1,STI,TIMER-5MS,114,trigger
-228100000,TIMER-5MS,114,T,TASK_5MS,114,activate
-228100000,TASK_5MS,114,SCHED,SCHED_Tasks_C2,-1,processactivate
-228100100,TASK_5MS,114,STI,IR_SCHED_Tasks_C2,735,trigger
-228100100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-228125100,TASK_WritingActuator,114,SEM,SEM_DataElement1,0,requestsemaphore,0
-228125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-228125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-228125100,Core_2,0,C,Core_2,0,lock
-228125100,TASK_WritingActuator,114,SEM,SEM_DataElement1,0,assigned,1
-228125150,TASK_WritingActuator,114,R,FUNC_SEMLOCK,228,terminate
-228125150,Core_2,0,C,Core_2,0,unlock
-228125150,TASK_WritingActuator,114,R,FUNC_WriteData,114,start
-228150000,SIM,-1,STI,TIMER-A_2ms,114,trigger
-228150000,TIMER-A_2ms,114,T,TASK_InputProcessing,114,activate
-228150000,TASK_InputProcessing,114,SCHED,SCHED_Tasks_C1,-1,processactivate
-228150100,TASK_InputProcessing,114,STI,IR_SCHED_Tasks_C1,771,trigger
-228150100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-228150100,TASK_200MS,1,R,FUNC_EXECTIME_1,419,suspend
-228150100,Core_1,0,T,TASK_200MS,1,preempt
-228150100,Core_1,0,C,Core_1,0,idle_execution
-228150100,TASK_200MS,1,C,Core_1,0,idle_execution
-228150100,Core_1,0,T,TASK_InputProcessing,114,start
-228150100,TASK_InputProcessing,114,R,FUNC_SEMLOCK,229,start
-228150100,Core_1,0,C,Core_1,0,execute
-228150100,TASK_InputProcessing,114,C,Core_1,0,execute
-228152325,TASK_WritingActuator,114,SIG,SIG_Mixture,0,write,0
-228152325,TASK_WritingActuator,114,R,FUNC_WriteData,114,terminate
-228152325,TASK_WritingActuator,114,R,FUNC_SEMUNLOCK,228,start
-228250000,SIM,-1,STI,TIMER-1MS,228,trigger
-228250000,TIMER-1MS,228,T,TASK_1MS,228,activate
-228250000,TASK_1MS,228,SCHED,SCHED_Tasks_C1,-1,processactivate
-228250100,TASK_1MS,228,STI,IR_SCHED_Tasks_C1,772,trigger
-228250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-228250100,TASK_InputProcessing,114,R,FUNC_SEMLOCK,229,suspend
-228250100,Core_1,0,T,TASK_InputProcessing,114,preempt
-228250100,Core_1,0,C,Core_1,0,idle_execution
-228250100,TASK_InputProcessing,114,C,Core_1,0,idle_execution
-228250100,Core_1,0,T,TASK_1MS,228,start
-228250100,TASK_1MS,228,R,FUNC_EXECTIME_1,421,start
-228250100,Core_1,0,C,Core_1,0,execute
-228250100,TASK_1MS,228,C,Core_1,0,execute
-228352325,TASK_WritingActuator,114,SEM,SEM_DataElement1,0,released,1
-228352325,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-228352325,TASK_WritingActuator,114,SCHED,SCHED_Tasks_C2,-1,schedulepoint
-228352325,Core_2,0,C,Core_2,0,lock
-228352375,TASK_WritingActuator,114,R,FUNC_SEMUNLOCK,228,terminate
-228352375,Core_2,0,T,TASK_WritingActuator,114,terminate
-228352375,TASK_WritingActuator,114,SCHED,SCHED_Tasks_C2,-1,processterminate
-228352375,Core_2,0,C,Core_2,0,unlock
-228352375,Core_2,0,C,Core_2,0,idle
-228352375,TASK_WritingActuator,114,C,Core_2,0,idle
-228352425,TASK_WritingActuator,114,STI,IR_SCHED_Tasks_C2,736,trigger
-228352425,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-228352425,Core_2,0,T,TASK_5MS,114,start
-228352425,TASK_5MS,114,R,FUNC_EXECTIME_1,420,start
-228352425,Core_2,0,C,Core_2,0,execute
-228352425,TASK_5MS,114,C,Core_2,0,execute
-228560675,TASK_1MS,228,R,FUNC_EXECTIME_1,421,terminate
-228560675,Core_1,0,T,TASK_1MS,228,terminate
-228560675,TASK_1MS,228,SCHED,SCHED_Tasks_C1,-1,processterminate
-228560675,Core_1,0,C,Core_1,0,idle
-228560675,TASK_1MS,228,C,Core_1,0,idle
-228560775,TASK_1MS,228,STI,IR_SCHED_Tasks_C1,773,trigger
-228560775,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-228560775,Core_1,0,C,Core_1,0,execute_idle
-228560775,TASK_InputProcessing,114,C,Core_1,0,execute_idle
-228560775,Core_1,0,T,TASK_InputProcessing,114,resume
-228560775,TASK_InputProcessing,114,R,FUNC_SEMLOCK,229,resume
-228585775,TASK_InputProcessing,114,SEM,SEM_DataElement1,0,requestsemaphore,0
-228585775,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-228585775,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-228585775,Core_1,0,C,Core_1,0,lock
-228585775,TASK_InputProcessing,114,SEM,SEM_DataElement1,0,assigned,1
-228585825,TASK_InputProcessing,114,R,FUNC_SEMLOCK,229,terminate
-228585825,Core_1,0,C,Core_1,0,unlock
-228585825,TASK_InputProcessing,114,R,FUNC_ReadSensorData,114,start
-228748050,TASK_InputProcessing,114,SIG,SIG_RotationSpeed,0,read,0
-228748050,TASK_InputProcessing,114,SIG,SIG_Lambda,0,read,0
-228748050,TASK_InputProcessing,114,SIG,SIG_Temperature,0,read,0
-228748050,TASK_InputProcessing,114,R,FUNC_ReadSensorData,114,terminate
-228748050,TASK_InputProcessing,114,R,FUNC_SEMUNLOCK,229,start
-228948050,TASK_InputProcessing,114,SEM,SEM_DataElement1,0,released,1
-228948050,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-228948050,TASK_InputProcessing,114,SCHED,SCHED_Tasks_C1,-1,schedulepoint
-228948050,Core_1,0,C,Core_1,0,lock
-228948100,TASK_InputProcessing,114,R,FUNC_SEMUNLOCK,229,terminate
-228948100,Core_1,0,C,Core_1,0,unlock
-228948100,TASK_InputProcessing,114,STI,IPA_InputReady,114,trigger
-228948100,IPA_InputReady,114,T,TASK_CalcEngineSpeed,114,activate
-228948100,TASK_CalcEngineSpeed,114,SCHED,SCHED_Tasks_C2,-1,processactivate
-228948100,Core_1,0,T,TASK_InputProcessing,114,terminate
-228948100,TASK_InputProcessing,114,SCHED,SCHED_Tasks_C1,-1,processterminate
-228948100,Core_1,0,C,Core_1,0,idle
-228948100,TASK_InputProcessing,114,C,Core_1,0,idle
-228948150,TASK_InputProcessing,114,STI,IR_SCHED_Tasks_C1,774,trigger
-228948150,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-228948150,Core_1,0,C,Core_1,0,execute_idle
-228948150,TASK_200MS,1,C,Core_1,0,execute_idle
-228948150,Core_1,0,T,TASK_200MS,1,resume
-228948150,TASK_200MS,1,R,FUNC_EXECTIME_1,419,resume
-228948200,TASK_CalcEngineSpeed,114,STI,IR_SCHED_Tasks_C2,737,trigger
-228948200,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-228948200,TASK_5MS,114,R,FUNC_EXECTIME_1,420,suspend
-228948200,Core_2,0,T,TASK_5MS,114,preempt
-228948200,Core_2,0,C,Core_2,0,idle_execution
-228948200,TASK_5MS,114,C,Core_2,0,idle_execution
-228948200,Core_2,0,T,TASK_CalcEngineSpeed,114,start
-228948200,TASK_CalcEngineSpeed,114,R,FUNC_ENGINESPEED,114,start
-228948200,Core_2,0,C,Core_2,0,execute
-228948200,TASK_CalcEngineSpeed,114,C,Core_2,0,execute
-229153800,TASK_CalcEngineSpeed,114,R,FUNC_ENGINESPEED,114,terminate
-229153800,Core_2,0,T,TASK_CalcEngineSpeed,114,terminate
-229153800,TASK_CalcEngineSpeed,114,SCHED,SCHED_Tasks_C2,-1,processterminate
-229153800,Core_2,0,C,Core_2,0,idle
-229153800,TASK_CalcEngineSpeed,114,C,Core_2,0,idle
-229153900,TASK_CalcEngineSpeed,114,STI,IR_SCHED_Tasks_C2,738,trigger
-229153900,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-229153900,Core_2,0,C,Core_2,0,execute_idle
-229153900,TASK_5MS,114,C,Core_2,0,execute_idle
-229153900,Core_2,0,T,TASK_5MS,114,resume
-229153900,TASK_5MS,114,R,FUNC_EXECTIME_1,420,resume
-229159075,TASK_200MS,1,R,FUNC_EXECTIME_1,419,terminate
-229159075,TASK_200MS,1,SCHED,SCHED_Tasks_C1,-1,schedulepoint
-229159075,Core_1,0,T,TASK_200MS,1,preempt
-229159075,Core_1,0,C,Core_1,0,idle
-229159075,TASK_200MS,1,C,Core_1,0,idle
-229159175,TASK_200MS,1,STI,IR_SCHED_Tasks_C1,775,trigger
-229159175,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-229159175,Core_1,0,T,TASK_200MS,1,resume
-229159175,TASK_200MS,1,R,FUNC_EXECTIME_1,422,start
-229159175,Core_1,0,C,Core_1,0,execute
-229159175,TASK_200MS,1,C,Core_1,0,execute
-229250000,SIM,-1,STI,TIMER-1MS,229,trigger
-229250000,TIMER-1MS,229,T,TASK_1MS,229,activate
-229250000,TASK_1MS,229,SCHED,SCHED_Tasks_C1,-1,processactivate
-229250100,TASK_1MS,229,STI,IR_SCHED_Tasks_C1,776,trigger
-229250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-229250100,TASK_200MS,1,R,FUNC_EXECTIME_1,422,suspend
-229250100,Core_1,0,T,TASK_200MS,1,preempt
-229250100,Core_1,0,C,Core_1,0,idle_execution
-229250100,TASK_200MS,1,C,Core_1,0,idle_execution
-229250100,Core_1,0,T,TASK_1MS,229,start
-229250100,TASK_1MS,229,R,FUNC_EXECTIME_1,423,start
-229250100,Core_1,0,C,Core_1,0,execute
-229250100,TASK_1MS,229,C,Core_1,0,execute
-229434750,TASK_5MS,114,R,FUNC_EXECTIME_1,420,terminate
-229434750,Core_2,0,T,TASK_5MS,114,terminate
-229434750,TASK_5MS,114,SCHED,SCHED_Tasks_C2,-1,processterminate
-229434750,Core_2,0,C,Core_2,0,idle
-229434750,TASK_5MS,114,C,Core_2,0,idle
-229434850,TASK_5MS,114,STI,IR_SCHED_Tasks_C2,739,trigger
-229434850,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-229690750,TASK_1MS,229,R,FUNC_EXECTIME_1,423,terminate
-229690750,Core_1,0,T,TASK_1MS,229,terminate
-229690750,TASK_1MS,229,SCHED,SCHED_Tasks_C1,-1,processterminate
-229690750,Core_1,0,C,Core_1,0,idle
-229690750,TASK_1MS,229,C,Core_1,0,idle
-229690850,TASK_1MS,229,STI,IR_SCHED_Tasks_C1,777,trigger
-229690850,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-229690850,Core_1,0,C,Core_1,0,execute_idle
-229690850,TASK_200MS,1,C,Core_1,0,execute_idle
-229690850,Core_1,0,T,TASK_200MS,1,resume
-229690850,TASK_200MS,1,R,FUNC_EXECTIME_1,422,resume
-230000000,SIM,-1,STI,TIMER-B_2ms,115,trigger
-230000000,TIMER-B_2ms,115,T,TASK_WritingActuator,115,activate
-230000000,TASK_WritingActuator,115,SCHED,SCHED_Tasks_C2,-1,processactivate
-230000000,SIM,-1,STI,TIMER-10MS_2,23,trigger
-230000000,TIMER-10MS_2,23,T,TASK_10MS_DL2,23,activate
-230000000,TASK_10MS_DL2,23,SCHED,SCHED_Tasks_C1,-1,processactivate
-230000100,TASK_WritingActuator,115,STI,IR_SCHED_Tasks_C2,740,trigger
-230000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-230000100,Core_2,0,T,TASK_WritingActuator,115,start
-230000100,TASK_WritingActuator,115,R,FUNC_SEMLOCK,230,start
-230000100,Core_2,0,C,Core_2,0,execute
-230000100,TASK_WritingActuator,115,C,Core_2,0,execute
-230000100,TASK_10MS_DL2,23,STI,IR_SCHED_Tasks_C1,778,trigger
-230000100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-230000100,TASK_200MS,1,R,FUNC_EXECTIME_1,422,suspend
-230000100,Core_1,0,T,TASK_200MS,1,preempt
-230000100,Core_1,0,C,Core_1,0,idle_execution
-230000100,TASK_200MS,1,C,Core_1,0,idle_execution
-230000100,Core_1,0,T,TASK_10MS_DL2,23,start
-230000100,TASK_10MS_DL2,23,R,FUNC_EXECTIME_1,424,start
-230000100,Core_1,0,C,Core_1,0,execute
-230000100,TASK_10MS_DL2,23,C,Core_1,0,execute
-230100000,SIM,-1,STI,TIMER-5MS,115,trigger
-230100000,TIMER-5MS,115,T,TASK_5MS,115,activate
-230100000,TASK_5MS,115,SCHED,SCHED_Tasks_C2,-1,processactivate
-230100100,TASK_5MS,115,STI,IR_SCHED_Tasks_C2,741,trigger
-230100100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-230125100,TASK_WritingActuator,115,SEM,SEM_DataElement1,0,requestsemaphore,0
-230125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-230125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-230125100,Core_2,0,C,Core_2,0,lock
-230125100,TASK_WritingActuator,115,SEM,SEM_DataElement1,0,assigned,1
-230125150,TASK_WritingActuator,115,R,FUNC_SEMLOCK,230,terminate
-230125150,Core_2,0,C,Core_2,0,unlock
-230125150,TASK_WritingActuator,115,R,FUNC_WriteData,115,start
-230150000,SIM,-1,STI,TIMER-A_2ms,115,trigger
-230150000,TIMER-A_2ms,115,T,TASK_InputProcessing,115,activate
-230150000,TASK_InputProcessing,115,SCHED,SCHED_Tasks_C1,-1,processactivate
-230150100,TASK_InputProcessing,115,STI,IR_SCHED_Tasks_C1,779,trigger
-230150100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-230152300,TASK_WritingActuator,115,SIG,SIG_Mixture,0,write,0
-230152300,TASK_WritingActuator,115,R,FUNC_WriteData,115,terminate
-230152300,TASK_WritingActuator,115,R,FUNC_SEMUNLOCK,230,start
-230250000,SIM,-1,STI,TIMER-1MS,230,trigger
-230250000,TIMER-1MS,230,T,TASK_1MS,230,activate
-230250000,TASK_1MS,230,SCHED,SCHED_Tasks_C1,-1,processactivate
-230250100,TASK_1MS,230,STI,IR_SCHED_Tasks_C1,780,trigger
-230250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-230250100,TASK_10MS_DL2,23,R,FUNC_EXECTIME_1,424,suspend
-230250100,Core_1,0,T,TASK_10MS_DL2,23,preempt
-230250100,Core_1,0,C,Core_1,0,idle_execution
-230250100,TASK_10MS_DL2,23,C,Core_1,0,idle_execution
-230250100,Core_1,0,T,TASK_1MS,230,start
-230250100,TASK_1MS,230,R,FUNC_EXECTIME_1,426,start
-230250100,Core_1,0,C,Core_1,0,execute
-230250100,TASK_1MS,230,C,Core_1,0,execute
-230352300,TASK_WritingActuator,115,SEM,SEM_DataElement1,0,released,1
-230352300,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-230352300,TASK_WritingActuator,115,SCHED,SCHED_Tasks_C2,-1,schedulepoint
-230352300,Core_2,0,C,Core_2,0,lock
-230352350,TASK_WritingActuator,115,R,FUNC_SEMUNLOCK,230,terminate
-230352350,Core_2,0,T,TASK_WritingActuator,115,terminate
-230352350,TASK_WritingActuator,115,SCHED,SCHED_Tasks_C2,-1,processterminate
-230352350,Core_2,0,C,Core_2,0,unlock
-230352350,Core_2,0,C,Core_2,0,idle
-230352350,TASK_WritingActuator,115,C,Core_2,0,idle
-230352400,TASK_WritingActuator,115,STI,IR_SCHED_Tasks_C2,742,trigger
-230352400,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-230352400,Core_2,0,T,TASK_5MS,115,start
-230352400,TASK_5MS,115,R,FUNC_EXECTIME_1,425,start
-230352400,Core_2,0,C,Core_2,0,execute
-230352400,TASK_5MS,115,C,Core_2,0,execute
-230677225,TASK_1MS,230,R,FUNC_EXECTIME_1,426,terminate
-230677225,Core_1,0,T,TASK_1MS,230,terminate
-230677225,TASK_1MS,230,SCHED,SCHED_Tasks_C1,-1,processterminate
-230677225,Core_1,0,C,Core_1,0,idle
-230677225,TASK_1MS,230,C,Core_1,0,idle
-230677325,TASK_1MS,230,STI,IR_SCHED_Tasks_C1,781,trigger
-230677325,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-230677325,Core_1,0,C,Core_1,0,execute_idle
-230677325,TASK_10MS_DL2,23,C,Core_1,0,execute_idle
-230677325,Core_1,0,T,TASK_10MS_DL2,23,resume
-230677325,TASK_10MS_DL2,23,R,FUNC_EXECTIME_1,424,resume
-230769500,TASK_5MS,115,R,FUNC_EXECTIME_1,425,terminate
-230769500,Core_2,0,T,TASK_5MS,115,terminate
-230769500,TASK_5MS,115,SCHED,SCHED_Tasks_C2,-1,processterminate
-230769500,Core_2,0,C,Core_2,0,idle
-230769500,TASK_5MS,115,C,Core_2,0,idle
-230769600,TASK_5MS,115,STI,IR_SCHED_Tasks_C2,743,trigger
-230769600,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-230811650,TASK_10MS_DL2,23,R,FUNC_EXECTIME_1,424,terminate
-230811650,Core_1,0,T,TASK_10MS_DL2,23,terminate
-230811650,TASK_10MS_DL2,23,SCHED,SCHED_Tasks_C1,-1,processterminate
-230811650,Core_1,0,C,Core_1,0,idle
-230811650,TASK_10MS_DL2,23,C,Core_1,0,idle
-230811750,TASK_10MS_DL2,23,STI,IR_SCHED_Tasks_C1,782,trigger
-230811750,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-230811750,Core_1,0,T,TASK_InputProcessing,115,start
-230811750,TASK_InputProcessing,115,R,FUNC_SEMLOCK,231,start
-230811750,Core_1,0,C,Core_1,0,execute
-230811750,TASK_InputProcessing,115,C,Core_1,0,execute
-230936750,TASK_InputProcessing,115,SEM,SEM_DataElement1,0,requestsemaphore,0
-230936750,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-230936750,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-230936750,Core_1,0,C,Core_1,0,lock
-230936750,TASK_InputProcessing,115,SEM,SEM_DataElement1,0,assigned,1
-230936800,TASK_InputProcessing,115,R,FUNC_SEMLOCK,231,terminate
-230936800,Core_1,0,C,Core_1,0,unlock
-230936800,TASK_InputProcessing,115,R,FUNC_ReadSensorData,115,start
-231098875,TASK_InputProcessing,115,SIG,SIG_RotationSpeed,0,read,0
-231098875,TASK_InputProcessing,115,SIG,SIG_Lambda,0,read,0
-231098875,TASK_InputProcessing,115,SIG,SIG_Temperature,0,read,0
-231098875,TASK_InputProcessing,115,R,FUNC_ReadSensorData,115,terminate
-231098875,TASK_InputProcessing,115,R,FUNC_SEMUNLOCK,231,start
-231250000,SIM,-1,STI,TIMER-1MS,231,trigger
-231250000,TIMER-1MS,231,T,TASK_1MS,231,activate
-231250000,TASK_1MS,231,SCHED,SCHED_Tasks_C1,-1,processactivate
-231250100,TASK_1MS,231,STI,IR_SCHED_Tasks_C1,783,trigger
-231250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-231298875,TASK_InputProcessing,115,SEM,SEM_DataElement1,0,released,1
-231298875,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-231298875,TASK_InputProcessing,115,SCHED,SCHED_Tasks_C1,-1,schedulepoint
-231298875,Core_1,0,C,Core_1,0,lock
-231298925,TASK_InputProcessing,115,R,FUNC_SEMUNLOCK,231,terminate
-231298925,Core_1,0,C,Core_1,0,unlock
-231298925,TASK_InputProcessing,115,STI,IPA_InputReady,115,trigger
-231298925,IPA_InputReady,115,T,TASK_CalcEngineSpeed,115,activate
-231298925,TASK_CalcEngineSpeed,115,SCHED,SCHED_Tasks_C2,-1,processactivate
-231298925,Core_1,0,T,TASK_InputProcessing,115,terminate
-231298925,TASK_InputProcessing,115,SCHED,SCHED_Tasks_C1,-1,processterminate
-231298925,Core_1,0,C,Core_1,0,idle
-231298925,TASK_InputProcessing,115,C,Core_1,0,idle
-231298975,TASK_InputProcessing,115,STI,IR_SCHED_Tasks_C1,784,trigger
-231298975,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-231298975,Core_1,0,T,TASK_1MS,231,start
-231298975,TASK_1MS,231,R,FUNC_EXECTIME_1,427,start
-231298975,Core_1,0,C,Core_1,0,execute
-231298975,TASK_1MS,231,C,Core_1,0,execute
-231299025,TASK_CalcEngineSpeed,115,STI,IR_SCHED_Tasks_C2,744,trigger
-231299025,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-231299025,Core_2,0,T,TASK_CalcEngineSpeed,115,start
-231299025,TASK_CalcEngineSpeed,115,R,FUNC_ENGINESPEED,115,start
-231299025,Core_2,0,C,Core_2,0,execute
-231299025,TASK_CalcEngineSpeed,115,C,Core_2,0,execute
-231520325,TASK_CalcEngineSpeed,115,R,FUNC_ENGINESPEED,115,terminate
-231520325,Core_2,0,T,TASK_CalcEngineSpeed,115,terminate
-231520325,TASK_CalcEngineSpeed,115,SCHED,SCHED_Tasks_C2,-1,processterminate
-231520325,Core_2,0,C,Core_2,0,idle
-231520325,TASK_CalcEngineSpeed,115,C,Core_2,0,idle
-231520425,TASK_CalcEngineSpeed,115,STI,IR_SCHED_Tasks_C2,745,trigger
-231520425,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-231888500,TASK_1MS,231,R,FUNC_EXECTIME_1,427,terminate
-231888500,Core_1,0,T,TASK_1MS,231,terminate
-231888500,TASK_1MS,231,SCHED,SCHED_Tasks_C1,-1,processterminate
-231888500,Core_1,0,C,Core_1,0,idle
-231888500,TASK_1MS,231,C,Core_1,0,idle
-231888600,TASK_1MS,231,STI,IR_SCHED_Tasks_C1,785,trigger
-231888600,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-231888600,Core_1,0,C,Core_1,0,execute_idle
-231888600,TASK_200MS,1,C,Core_1,0,execute_idle
-231888600,Core_1,0,T,TASK_200MS,1,resume
-231888600,TASK_200MS,1,R,FUNC_EXECTIME_1,422,resume
-231910375,TASK_200MS,1,R,FUNC_EXECTIME_1,422,terminate
-231910375,TASK_200MS,1,SCHED,SCHED_Tasks_C1,-1,schedulepoint
-231910375,Core_1,0,T,TASK_200MS,1,preempt
-231910375,Core_1,0,C,Core_1,0,idle
-231910375,TASK_200MS,1,C,Core_1,0,idle
-231910475,TASK_200MS,1,STI,IR_SCHED_Tasks_C1,786,trigger
-231910475,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-231910475,Core_1,0,T,TASK_200MS,1,resume
-231910475,TASK_200MS,1,R,FUNC_EXECTIME_1,428,start
-231910475,Core_1,0,C,Core_1,0,execute
-231910475,TASK_200MS,1,C,Core_1,0,execute
-232000000,SIM,-1,STI,TIMER-B_2ms,116,trigger
-232000000,TIMER-B_2ms,116,T,TASK_WritingActuator,116,activate
-232000000,TASK_WritingActuator,116,SCHED,SCHED_Tasks_C2,-1,processactivate
-232000100,TASK_WritingActuator,116,STI,IR_SCHED_Tasks_C2,746,trigger
-232000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-232000100,Core_2,0,T,TASK_WritingActuator,116,start
-232000100,TASK_WritingActuator,116,R,FUNC_SEMLOCK,232,start
-232000100,Core_2,0,C,Core_2,0,execute
-232000100,TASK_WritingActuator,116,C,Core_2,0,execute
-232100000,SIM,-1,STI,TIMER-5MS,116,trigger
-232100000,TIMER-5MS,116,T,TASK_5MS,116,activate
-232100000,TASK_5MS,116,SCHED,SCHED_Tasks_C2,-1,processactivate
-232100100,TASK_5MS,116,STI,IR_SCHED_Tasks_C2,747,trigger
-232100100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-232125100,TASK_WritingActuator,116,SEM,SEM_DataElement1,0,requestsemaphore,0
-232125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-232125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-232125100,Core_2,0,C,Core_2,0,lock
-232125100,TASK_WritingActuator,116,SEM,SEM_DataElement1,0,assigned,1
-232125150,TASK_WritingActuator,116,R,FUNC_SEMLOCK,232,terminate
-232125150,Core_2,0,C,Core_2,0,unlock
-232125150,TASK_WritingActuator,116,R,FUNC_WriteData,116,start
-232150000,SIM,-1,STI,TIMER-A_2ms,116,trigger
-232150000,TIMER-A_2ms,116,T,TASK_InputProcessing,116,activate
-232150000,TASK_InputProcessing,116,SCHED,SCHED_Tasks_C1,-1,processactivate
-232150100,TASK_InputProcessing,116,STI,IR_SCHED_Tasks_C1,787,trigger
-232150100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-232150100,TASK_200MS,1,R,FUNC_EXECTIME_1,428,suspend
-232150100,Core_1,0,T,TASK_200MS,1,preempt
-232150100,Core_1,0,C,Core_1,0,idle_execution
-232150100,TASK_200MS,1,C,Core_1,0,idle_execution
-232150100,Core_1,0,T,TASK_InputProcessing,116,start
-232150100,TASK_InputProcessing,116,R,FUNC_SEMLOCK,233,start
-232150100,Core_1,0,C,Core_1,0,execute
-232150100,TASK_InputProcessing,116,C,Core_1,0,execute
-232152475,TASK_WritingActuator,116,SIG,SIG_Mixture,0,write,0
-232152475,TASK_WritingActuator,116,R,FUNC_WriteData,116,terminate
-232152475,TASK_WritingActuator,116,R,FUNC_SEMUNLOCK,232,start
-232250000,SIM,-1,STI,TIMER-1MS,232,trigger
-232250000,TIMER-1MS,232,T,TASK_1MS,232,activate
-232250000,TASK_1MS,232,SCHED,SCHED_Tasks_C1,-1,processactivate
-232250100,TASK_1MS,232,STI,IR_SCHED_Tasks_C1,788,trigger
-232250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-232250100,TASK_InputProcessing,116,R,FUNC_SEMLOCK,233,suspend
-232250100,Core_1,0,T,TASK_InputProcessing,116,preempt
-232250100,Core_1,0,C,Core_1,0,idle_execution
-232250100,TASK_InputProcessing,116,C,Core_1,0,idle_execution
-232250100,Core_1,0,T,TASK_1MS,232,start
-232250100,TASK_1MS,232,R,FUNC_EXECTIME_1,431,start
-232250100,Core_1,0,C,Core_1,0,execute
-232250100,TASK_1MS,232,C,Core_1,0,execute
-232352475,TASK_WritingActuator,116,SEM,SEM_DataElement1,0,released,1
-232352475,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-232352475,TASK_WritingActuator,116,SCHED,SCHED_Tasks_C2,-1,schedulepoint
-232352475,Core_2,0,C,Core_2,0,lock
-232352525,TASK_WritingActuator,116,R,FUNC_SEMUNLOCK,232,terminate
-232352525,Core_2,0,T,TASK_WritingActuator,116,terminate
-232352525,TASK_WritingActuator,116,SCHED,SCHED_Tasks_C2,-1,processterminate
-232352525,Core_2,0,C,Core_2,0,unlock
-232352525,Core_2,0,C,Core_2,0,idle
-232352525,TASK_WritingActuator,116,C,Core_2,0,idle
-232352575,TASK_WritingActuator,116,STI,IR_SCHED_Tasks_C2,748,trigger
-232352575,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-232352575,Core_2,0,T,TASK_5MS,116,start
-232352575,TASK_5MS,116,R,FUNC_EXECTIME_1,430,start
-232352575,Core_2,0,C,Core_2,0,execute
-232352575,TASK_5MS,116,C,Core_2,0,execute
-232940400,TASK_1MS,232,R,FUNC_EXECTIME_1,431,terminate
-232940400,Core_1,0,T,TASK_1MS,232,terminate
-232940400,TASK_1MS,232,SCHED,SCHED_Tasks_C1,-1,processterminate
-232940400,Core_1,0,C,Core_1,0,idle
-232940400,TASK_1MS,232,C,Core_1,0,idle
-232940500,TASK_1MS,232,STI,IR_SCHED_Tasks_C1,789,trigger
-232940500,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-232940500,Core_1,0,C,Core_1,0,execute_idle
-232940500,TASK_InputProcessing,116,C,Core_1,0,execute_idle
-232940500,Core_1,0,T,TASK_InputProcessing,116,resume
-232940500,TASK_InputProcessing,116,R,FUNC_SEMLOCK,233,resume
-232965500,TASK_InputProcessing,116,SEM,SEM_DataElement1,0,requestsemaphore,0
-232965500,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-232965500,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-232965500,Core_1,0,C,Core_1,0,lock
-232965500,TASK_InputProcessing,116,SEM,SEM_DataElement1,0,assigned,1
-232965550,TASK_InputProcessing,116,R,FUNC_SEMLOCK,233,terminate
-232965550,Core_1,0,C,Core_1,0,unlock
-232965550,TASK_InputProcessing,116,R,FUNC_ReadSensorData,116,start
-232976575,TASK_5MS,116,R,FUNC_EXECTIME_1,430,terminate
-232976575,Core_2,0,T,TASK_5MS,116,terminate
-232976575,TASK_5MS,116,SCHED,SCHED_Tasks_C2,-1,processterminate
-232976575,Core_2,0,C,Core_2,0,idle
-232976575,TASK_5MS,116,C,Core_2,0,idle
-232976675,TASK_5MS,116,STI,IR_SCHED_Tasks_C2,749,trigger
-232976675,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-233127950,TASK_InputProcessing,116,SIG,SIG_RotationSpeed,0,read,0
-233127950,TASK_InputProcessing,116,SIG,SIG_Lambda,0,read,0
-233127950,TASK_InputProcessing,116,SIG,SIG_Temperature,0,read,0
-233127950,TASK_InputProcessing,116,R,FUNC_ReadSensorData,116,terminate
-233127950,TASK_InputProcessing,116,R,FUNC_SEMUNLOCK,233,start
-233250000,SIM,-1,STI,TIMER-1MS,233,trigger
-233250000,TIMER-1MS,233,T,TASK_1MS,233,activate
-233250000,TASK_1MS,233,SCHED,SCHED_Tasks_C1,-1,processactivate
-233250100,TASK_1MS,233,STI,IR_SCHED_Tasks_C1,790,trigger
-233250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-233327950,TASK_InputProcessing,116,SEM,SEM_DataElement1,0,released,1
-233327950,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-233327950,TASK_InputProcessing,116,SCHED,SCHED_Tasks_C1,-1,schedulepoint
-233327950,Core_1,0,C,Core_1,0,lock
-233328000,TASK_InputProcessing,116,R,FUNC_SEMUNLOCK,233,terminate
-233328000,Core_1,0,C,Core_1,0,unlock
-233328000,TASK_InputProcessing,116,STI,IPA_InputReady,116,trigger
-233328000,IPA_InputReady,116,T,TASK_CalcEngineSpeed,116,activate
-233328000,TASK_CalcEngineSpeed,116,SCHED,SCHED_Tasks_C2,-1,processactivate
-233328000,Core_1,0,T,TASK_InputProcessing,116,terminate
-233328000,TASK_InputProcessing,116,SCHED,SCHED_Tasks_C1,-1,processterminate
-233328000,Core_1,0,C,Core_1,0,idle
-233328000,TASK_InputProcessing,116,C,Core_1,0,idle
-233328050,TASK_InputProcessing,116,STI,IR_SCHED_Tasks_C1,791,trigger
-233328050,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-233328050,Core_1,0,T,TASK_1MS,233,start
-233328050,TASK_1MS,233,R,FUNC_EXECTIME_1,432,start
-233328050,Core_1,0,C,Core_1,0,execute
-233328050,TASK_1MS,233,C,Core_1,0,execute
-233328100,TASK_CalcEngineSpeed,116,STI,IR_SCHED_Tasks_C2,750,trigger
-233328100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-233328100,Core_2,0,T,TASK_CalcEngineSpeed,116,start
-233328100,TASK_CalcEngineSpeed,116,R,FUNC_ENGINESPEED,116,start
-233328100,Core_2,0,C,Core_2,0,execute
-233328100,TASK_CalcEngineSpeed,116,C,Core_2,0,execute
-233467375,TASK_CalcEngineSpeed,116,R,FUNC_ENGINESPEED,116,terminate
-233467375,Core_2,0,T,TASK_CalcEngineSpeed,116,terminate
-233467375,TASK_CalcEngineSpeed,116,SCHED,SCHED_Tasks_C2,-1,processterminate
-233467375,Core_2,0,C,Core_2,0,idle
-233467375,TASK_CalcEngineSpeed,116,C,Core_2,0,idle
-233467475,TASK_CalcEngineSpeed,116,STI,IR_SCHED_Tasks_C2,751,trigger
-233467475,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-233768300,TASK_1MS,233,R,FUNC_EXECTIME_1,432,terminate
-233768300,Core_1,0,T,TASK_1MS,233,terminate
-233768300,TASK_1MS,233,SCHED,SCHED_Tasks_C1,-1,processterminate
-233768300,Core_1,0,C,Core_1,0,idle
-233768300,TASK_1MS,233,C,Core_1,0,idle
-233768400,TASK_1MS,233,STI,IR_SCHED_Tasks_C1,792,trigger
-233768400,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-233768400,Core_1,0,C,Core_1,0,execute_idle
-233768400,TASK_200MS,1,C,Core_1,0,execute_idle
-233768400,Core_1,0,T,TASK_200MS,1,resume
-233768400,TASK_200MS,1,R,FUNC_EXECTIME_1,428,resume
-234000000,SIM,-1,STI,TIMER-B_2ms,117,trigger
-234000000,TIMER-B_2ms,117,T,TASK_WritingActuator,117,activate
-234000000,TASK_WritingActuator,117,SCHED,SCHED_Tasks_C2,-1,processactivate
-234000100,TASK_WritingActuator,117,STI,IR_SCHED_Tasks_C2,752,trigger
-234000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-234000100,Core_2,0,T,TASK_WritingActuator,117,start
-234000100,TASK_WritingActuator,117,R,FUNC_SEMLOCK,234,start
-234000100,Core_2,0,C,Core_2,0,execute
-234000100,TASK_WritingActuator,117,C,Core_2,0,execute
-234100000,SIM,-1,STI,TIMER-5MS,117,trigger
-234100000,TIMER-5MS,117,T,TASK_5MS,117,activate
-234100000,TASK_5MS,117,SCHED,SCHED_Tasks_C2,-1,processactivate
-234100100,TASK_5MS,117,STI,IR_SCHED_Tasks_C2,753,trigger
-234100100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-234125100,TASK_WritingActuator,117,SEM,SEM_DataElement1,0,requestsemaphore,0
-234125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-234125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-234125100,Core_2,0,C,Core_2,0,lock
-234125100,TASK_WritingActuator,117,SEM,SEM_DataElement1,0,assigned,1
-234125150,TASK_WritingActuator,117,R,FUNC_SEMLOCK,234,terminate
-234125150,Core_2,0,C,Core_2,0,unlock
-234125150,TASK_WritingActuator,117,R,FUNC_WriteData,117,start
-234134550,TASK_200MS,1,R,FUNC_EXECTIME_1,428,terminate
-234134550,TASK_200MS,1,R,FUNC_EXECTIME_1,429,start
-234150000,SIM,-1,STI,TIMER-A_2ms,117,trigger
-234150000,TIMER-A_2ms,117,T,TASK_InputProcessing,117,activate
-234150000,TASK_InputProcessing,117,SCHED,SCHED_Tasks_C1,-1,processactivate
-234150100,TASK_InputProcessing,117,STI,IR_SCHED_Tasks_C1,793,trigger
-234150100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-234150100,TASK_200MS,1,R,FUNC_EXECTIME_1,429,suspend
-234150100,Core_1,0,T,TASK_200MS,1,preempt
-234150100,Core_1,0,C,Core_1,0,idle_execution
-234150100,TASK_200MS,1,C,Core_1,0,idle_execution
-234150100,Core_1,0,T,TASK_InputProcessing,117,start
-234150100,TASK_InputProcessing,117,R,FUNC_SEMLOCK,235,start
-234150100,Core_1,0,C,Core_1,0,execute
-234150100,TASK_InputProcessing,117,C,Core_1,0,execute
-234151900,TASK_WritingActuator,117,SIG,SIG_Mixture,0,write,0
-234151900,TASK_WritingActuator,117,R,FUNC_WriteData,117,terminate
-234151900,TASK_WritingActuator,117,R,FUNC_SEMUNLOCK,234,start
-234250000,SIM,-1,STI,TIMER-1MS,234,trigger
-234250000,TIMER-1MS,234,T,TASK_1MS,234,activate
-234250000,TASK_1MS,234,SCHED,SCHED_Tasks_C1,-1,processactivate
-234250100,TASK_1MS,234,STI,IR_SCHED_Tasks_C1,794,trigger
-234250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-234250100,TASK_InputProcessing,117,R,FUNC_SEMLOCK,235,suspend
-234250100,Core_1,0,T,TASK_InputProcessing,117,preempt
-234250100,Core_1,0,C,Core_1,0,idle_execution
-234250100,TASK_InputProcessing,117,C,Core_1,0,idle_execution
-234250100,Core_1,0,T,TASK_1MS,234,start
-234250100,TASK_1MS,234,R,FUNC_EXECTIME_1,434,start
-234250100,Core_1,0,C,Core_1,0,execute
-234250100,TASK_1MS,234,C,Core_1,0,execute
-234351900,TASK_WritingActuator,117,SEM,SEM_DataElement1,0,released,1
-234351900,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-234351900,TASK_WritingActuator,117,SCHED,SCHED_Tasks_C2,-1,schedulepoint
-234351900,Core_2,0,C,Core_2,0,lock
-234351950,TASK_WritingActuator,117,R,FUNC_SEMUNLOCK,234,terminate
-234351950,Core_2,0,T,TASK_WritingActuator,117,terminate
-234351950,TASK_WritingActuator,117,SCHED,SCHED_Tasks_C2,-1,processterminate
-234351950,Core_2,0,C,Core_2,0,unlock
-234351950,Core_2,0,C,Core_2,0,idle
-234351950,TASK_WritingActuator,117,C,Core_2,0,idle
-234352000,TASK_WritingActuator,117,STI,IR_SCHED_Tasks_C2,754,trigger
-234352000,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-234352000,Core_2,0,T,TASK_5MS,117,start
-234352000,TASK_5MS,117,R,FUNC_EXECTIME_1,433,start
-234352000,Core_2,0,C,Core_2,0,execute
-234352000,TASK_5MS,117,C,Core_2,0,execute
-234715825,TASK_1MS,234,R,FUNC_EXECTIME_1,434,terminate
-234715825,Core_1,0,T,TASK_1MS,234,terminate
-234715825,TASK_1MS,234,SCHED,SCHED_Tasks_C1,-1,processterminate
-234715825,Core_1,0,C,Core_1,0,idle
-234715825,TASK_1MS,234,C,Core_1,0,idle
-234715925,TASK_1MS,234,STI,IR_SCHED_Tasks_C1,795,trigger
-234715925,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-234715925,Core_1,0,C,Core_1,0,execute_idle
-234715925,TASK_InputProcessing,117,C,Core_1,0,execute_idle
-234715925,Core_1,0,T,TASK_InputProcessing,117,resume
-234715925,TASK_InputProcessing,117,R,FUNC_SEMLOCK,235,resume
-234740925,TASK_InputProcessing,117,SEM,SEM_DataElement1,0,requestsemaphore,0
-234740925,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-234740925,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-234740925,Core_1,0,C,Core_1,0,lock
-234740925,TASK_InputProcessing,117,SEM,SEM_DataElement1,0,assigned,1
-234740975,TASK_InputProcessing,117,R,FUNC_SEMLOCK,235,terminate
-234740975,Core_1,0,C,Core_1,0,unlock
-234740975,TASK_InputProcessing,117,R,FUNC_ReadSensorData,117,start
-234802400,TASK_5MS,117,R,FUNC_EXECTIME_1,433,terminate
-234802400,Core_2,0,T,TASK_5MS,117,terminate
-234802400,TASK_5MS,117,SCHED,SCHED_Tasks_C2,-1,processterminate
-234802400,Core_2,0,C,Core_2,0,idle
-234802400,TASK_5MS,117,C,Core_2,0,idle
-234802500,TASK_5MS,117,STI,IR_SCHED_Tasks_C2,755,trigger
-234802500,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-234905250,TASK_InputProcessing,117,SIG,SIG_RotationSpeed,0,read,0
-234905250,TASK_InputProcessing,117,SIG,SIG_Lambda,0,read,0
-234905250,TASK_InputProcessing,117,SIG,SIG_Temperature,0,read,0
-234905250,TASK_InputProcessing,117,R,FUNC_ReadSensorData,117,terminate
-234905250,TASK_InputProcessing,117,R,FUNC_SEMUNLOCK,235,start
-235000000,SIM,-1,STI,TIMER-10MS,23,trigger
-235000000,TIMER-10MS,23,T,TASK_10MS,23,activate
-235000000,TASK_10MS,23,SCHED,SCHED_Tasks_C2,-1,processactivate
-235000100,TASK_10MS,23,STI,IR_SCHED_Tasks_C2,756,trigger
-235000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-235000100,Core_2,0,T,TASK_10MS,23,start
-235000100,TASK_10MS,23,R,FUNC_EXECTIME_1,435,start
-235000100,Core_2,0,C,Core_2,0,execute
-235000100,TASK_10MS,23,C,Core_2,0,execute
-235105250,TASK_InputProcessing,117,SEM,SEM_DataElement1,0,released,1
-235105250,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-235105250,TASK_InputProcessing,117,SCHED,SCHED_Tasks_C1,-1,schedulepoint
-235105250,Core_1,0,C,Core_1,0,lock
-235105300,TASK_InputProcessing,117,R,FUNC_SEMUNLOCK,235,terminate
-235105300,Core_1,0,C,Core_1,0,unlock
-235105300,TASK_InputProcessing,117,STI,IPA_InputReady,117,trigger
-235105300,IPA_InputReady,117,T,TASK_CalcEngineSpeed,117,activate
-235105300,TASK_CalcEngineSpeed,117,SCHED,SCHED_Tasks_C2,-1,processactivate
-235105300,Core_1,0,T,TASK_InputProcessing,117,terminate
-235105300,TASK_InputProcessing,117,SCHED,SCHED_Tasks_C1,-1,processterminate
-235105300,Core_1,0,C,Core_1,0,idle
-235105300,TASK_InputProcessing,117,C,Core_1,0,idle
-235105350,TASK_InputProcessing,117,STI,IR_SCHED_Tasks_C1,796,trigger
-235105350,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-235105350,Core_1,0,C,Core_1,0,execute_idle
-235105350,TASK_200MS,1,C,Core_1,0,execute_idle
-235105350,Core_1,0,T,TASK_200MS,1,resume
-235105350,TASK_200MS,1,R,FUNC_EXECTIME_1,429,resume
-235105400,TASK_CalcEngineSpeed,117,STI,IR_SCHED_Tasks_C2,757,trigger
-235105400,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-235105400,TASK_10MS,23,R,FUNC_EXECTIME_1,435,suspend
-235105400,Core_2,0,T,TASK_10MS,23,preempt
-235105400,Core_2,0,C,Core_2,0,idle_execution
-235105400,TASK_10MS,23,C,Core_2,0,idle_execution
-235105400,Core_2,0,T,TASK_CalcEngineSpeed,117,start
-235105400,TASK_CalcEngineSpeed,117,R,FUNC_ENGINESPEED,117,start
-235105400,Core_2,0,C,Core_2,0,execute
-235105400,TASK_CalcEngineSpeed,117,C,Core_2,0,execute
-235250000,SIM,-1,STI,TIMER-1MS,235,trigger
-235250000,TIMER-1MS,235,T,TASK_1MS,235,activate
-235250000,TASK_1MS,235,SCHED,SCHED_Tasks_C1,-1,processactivate
-235250100,TASK_1MS,235,STI,IR_SCHED_Tasks_C1,797,trigger
-235250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-235250100,TASK_200MS,1,R,FUNC_EXECTIME_1,429,suspend
-235250100,Core_1,0,T,TASK_200MS,1,preempt
-235250100,Core_1,0,C,Core_1,0,idle_execution
-235250100,TASK_200MS,1,C,Core_1,0,idle_execution
-235250100,Core_1,0,T,TASK_1MS,235,start
-235250100,TASK_1MS,235,R,FUNC_EXECTIME_1,436,start
-235250100,Core_1,0,C,Core_1,0,execute
-235250100,TASK_1MS,235,C,Core_1,0,execute
-235305300,TASK_CalcEngineSpeed,117,R,FUNC_ENGINESPEED,117,terminate
-235305300,Core_2,0,T,TASK_CalcEngineSpeed,117,terminate
-235305300,TASK_CalcEngineSpeed,117,SCHED,SCHED_Tasks_C2,-1,processterminate
-235305300,Core_2,0,C,Core_2,0,idle
-235305300,TASK_CalcEngineSpeed,117,C,Core_2,0,idle
-235305400,TASK_CalcEngineSpeed,117,STI,IR_SCHED_Tasks_C2,758,trigger
-235305400,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-235305400,Core_2,0,C,Core_2,0,execute_idle
-235305400,TASK_10MS,23,C,Core_2,0,execute_idle
-235305400,Core_2,0,T,TASK_10MS,23,resume
-235305400,TASK_10MS,23,R,FUNC_EXECTIME_1,435,resume
-235503725,TASK_1MS,235,R,FUNC_EXECTIME_1,436,terminate
-235503725,Core_1,0,T,TASK_1MS,235,terminate
-235503725,TASK_1MS,235,SCHED,SCHED_Tasks_C1,-1,processterminate
-235503725,Core_1,0,C,Core_1,0,idle
-235503725,TASK_1MS,235,C,Core_1,0,idle
-235503825,TASK_1MS,235,STI,IR_SCHED_Tasks_C1,798,trigger
-235503825,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-235503825,Core_1,0,C,Core_1,0,execute_idle
-235503825,TASK_200MS,1,C,Core_1,0,execute_idle
-235503825,Core_1,0,T,TASK_200MS,1,resume
-235503825,TASK_200MS,1,R,FUNC_EXECTIME_1,429,resume
-235648400,TASK_10MS,23,R,FUNC_EXECTIME_1,435,terminate
-235648400,Core_2,0,T,TASK_10MS,23,terminate
-235648400,TASK_10MS,23,SCHED,SCHED_Tasks_C2,-1,processterminate
-235648400,Core_2,0,C,Core_2,0,idle
-235648400,TASK_10MS,23,C,Core_2,0,idle
-235648500,TASK_10MS,23,STI,IR_SCHED_Tasks_C2,759,trigger
-235648500,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-235835100,TASK_200MS,1,R,FUNC_EXECTIME_1,429,terminate
-235835100,Core_1,0,T,TASK_200MS,1,terminate
-235835100,TASK_200MS,1,SCHED,SCHED_Tasks_C1,-1,processterminate
-235835100,Core_1,0,C,Core_1,0,idle
-235835100,TASK_200MS,1,C,Core_1,0,idle
-235835200,TASK_200MS,1,STI,IR_SCHED_Tasks_C1,799,trigger
-235835200,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-236000000,SIM,-1,STI,TIMER-B_2ms,118,trigger
-236000000,TIMER-B_2ms,118,T,TASK_WritingActuator,118,activate
-236000000,TASK_WritingActuator,118,SCHED,SCHED_Tasks_C2,-1,processactivate
-236000100,TASK_WritingActuator,118,STI,IR_SCHED_Tasks_C2,760,trigger
-236000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-236000100,Core_2,0,T,TASK_WritingActuator,118,start
-236000100,TASK_WritingActuator,118,R,FUNC_SEMLOCK,236,start
-236000100,Core_2,0,C,Core_2,0,execute
-236000100,TASK_WritingActuator,118,C,Core_2,0,execute
-236100000,SIM,-1,STI,TIMER-5MS,118,trigger
-236100000,TIMER-5MS,118,T,TASK_5MS,118,activate
-236100000,TASK_5MS,118,SCHED,SCHED_Tasks_C2,-1,processactivate
-236100100,TASK_5MS,118,STI,IR_SCHED_Tasks_C2,761,trigger
-236100100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-236125100,TASK_WritingActuator,118,SEM,SEM_DataElement1,0,requestsemaphore,0
-236125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-236125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-236125100,Core_2,0,C,Core_2,0,lock
-236125100,TASK_WritingActuator,118,SEM,SEM_DataElement1,0,assigned,1
-236125150,TASK_WritingActuator,118,R,FUNC_SEMLOCK,236,terminate
-236125150,Core_2,0,C,Core_2,0,unlock
-236125150,TASK_WritingActuator,118,R,FUNC_WriteData,118,start
-236150000,SIM,-1,STI,TIMER-A_2ms,118,trigger
-236150000,TIMER-A_2ms,118,T,TASK_InputProcessing,118,activate
-236150000,TASK_InputProcessing,118,SCHED,SCHED_Tasks_C1,-1,processactivate
-236150100,TASK_InputProcessing,118,STI,IR_SCHED_Tasks_C1,800,trigger
-236150100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-236150100,Core_1,0,T,TASK_InputProcessing,118,start
-236150100,TASK_InputProcessing,118,R,FUNC_SEMLOCK,237,start
-236150100,Core_1,0,C,Core_1,0,execute
-236150100,TASK_InputProcessing,118,C,Core_1,0,execute
-236151850,TASK_WritingActuator,118,SIG,SIG_Mixture,0,write,0
-236151850,TASK_WritingActuator,118,R,FUNC_WriteData,118,terminate
-236151850,TASK_WritingActuator,118,R,FUNC_SEMUNLOCK,236,start
-236250000,SIM,-1,STI,TIMER-1MS,236,trigger
-236250000,TIMER-1MS,236,T,TASK_1MS,236,activate
-236250000,TASK_1MS,236,SCHED,SCHED_Tasks_C1,-1,processactivate
-236250100,TASK_1MS,236,STI,IR_SCHED_Tasks_C1,801,trigger
-236250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-236250100,TASK_InputProcessing,118,R,FUNC_SEMLOCK,237,suspend
-236250100,Core_1,0,T,TASK_InputProcessing,118,preempt
-236250100,Core_1,0,C,Core_1,0,idle_execution
-236250100,TASK_InputProcessing,118,C,Core_1,0,idle_execution
-236250100,Core_1,0,T,TASK_1MS,236,start
-236250100,TASK_1MS,236,R,FUNC_EXECTIME_1,438,start
-236250100,Core_1,0,C,Core_1,0,execute
-236250100,TASK_1MS,236,C,Core_1,0,execute
-236351850,TASK_WritingActuator,118,SEM,SEM_DataElement1,0,released,1
-236351850,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-236351850,TASK_WritingActuator,118,SCHED,SCHED_Tasks_C2,-1,schedulepoint
-236351850,Core_2,0,C,Core_2,0,lock
-236351900,TASK_WritingActuator,118,R,FUNC_SEMUNLOCK,236,terminate
-236351900,Core_2,0,T,TASK_WritingActuator,118,terminate
-236351900,TASK_WritingActuator,118,SCHED,SCHED_Tasks_C2,-1,processterminate
-236351900,Core_2,0,C,Core_2,0,unlock
-236351900,Core_2,0,C,Core_2,0,idle
-236351900,TASK_WritingActuator,118,C,Core_2,0,idle
-236351950,TASK_WritingActuator,118,STI,IR_SCHED_Tasks_C2,762,trigger
-236351950,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-236351950,Core_2,0,T,TASK_5MS,118,start
-236351950,TASK_5MS,118,R,FUNC_EXECTIME_1,437,start
-236351950,Core_2,0,C,Core_2,0,execute
-236351950,TASK_5MS,118,C,Core_2,0,execute
-236674100,TASK_1MS,236,R,FUNC_EXECTIME_1,438,terminate
-236674100,Core_1,0,T,TASK_1MS,236,terminate
-236674100,TASK_1MS,236,SCHED,SCHED_Tasks_C1,-1,processterminate
-236674100,Core_1,0,C,Core_1,0,idle
-236674100,TASK_1MS,236,C,Core_1,0,idle
-236674200,TASK_1MS,236,STI,IR_SCHED_Tasks_C1,802,trigger
-236674200,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-236674200,Core_1,0,C,Core_1,0,execute_idle
-236674200,TASK_InputProcessing,118,C,Core_1,0,execute_idle
-236674200,Core_1,0,T,TASK_InputProcessing,118,resume
-236674200,TASK_InputProcessing,118,R,FUNC_SEMLOCK,237,resume
-236699200,TASK_InputProcessing,118,SEM,SEM_DataElement1,0,requestsemaphore,0
-236699200,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-236699200,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-236699200,Core_1,0,C,Core_1,0,lock
-236699200,TASK_InputProcessing,118,SEM,SEM_DataElement1,0,assigned,1
-236699250,TASK_InputProcessing,118,R,FUNC_SEMLOCK,237,terminate
-236699250,Core_1,0,C,Core_1,0,unlock
-236699250,TASK_InputProcessing,118,R,FUNC_ReadSensorData,118,start
-236858125,TASK_InputProcessing,118,SIG,SIG_RotationSpeed,0,read,0
-236858125,TASK_InputProcessing,118,SIG,SIG_Lambda,0,read,0
-236858125,TASK_InputProcessing,118,SIG,SIG_Temperature,0,read,0
-236858125,TASK_InputProcessing,118,R,FUNC_ReadSensorData,118,terminate
-236858125,TASK_InputProcessing,118,R,FUNC_SEMUNLOCK,237,start
-237052950,TASK_5MS,118,R,FUNC_EXECTIME_1,437,terminate
-237052950,Core_2,0,T,TASK_5MS,118,terminate
-237052950,TASK_5MS,118,SCHED,SCHED_Tasks_C2,-1,processterminate
-237052950,Core_2,0,C,Core_2,0,idle
-237052950,TASK_5MS,118,C,Core_2,0,idle
-237053050,TASK_5MS,118,STI,IR_SCHED_Tasks_C2,763,trigger
-237053050,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-237058125,TASK_InputProcessing,118,SEM,SEM_DataElement1,0,released,1
-237058125,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-237058125,TASK_InputProcessing,118,SCHED,SCHED_Tasks_C1,-1,schedulepoint
-237058125,Core_1,0,C,Core_1,0,lock
-237058175,TASK_InputProcessing,118,R,FUNC_SEMUNLOCK,237,terminate
-237058175,Core_1,0,C,Core_1,0,unlock
-237058175,TASK_InputProcessing,118,STI,IPA_InputReady,118,trigger
-237058175,IPA_InputReady,118,T,TASK_CalcEngineSpeed,118,activate
-237058175,TASK_CalcEngineSpeed,118,SCHED,SCHED_Tasks_C2,-1,processactivate
-237058175,Core_1,0,T,TASK_InputProcessing,118,terminate
-237058175,TASK_InputProcessing,118,SCHED,SCHED_Tasks_C1,-1,processterminate
-237058175,Core_1,0,C,Core_1,0,idle
-237058175,TASK_InputProcessing,118,C,Core_1,0,idle
-237058225,TASK_InputProcessing,118,STI,IR_SCHED_Tasks_C1,803,trigger
-237058225,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-237058275,TASK_CalcEngineSpeed,118,STI,IR_SCHED_Tasks_C2,764,trigger
-237058275,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-237058275,Core_2,0,T,TASK_CalcEngineSpeed,118,start
-237058275,TASK_CalcEngineSpeed,118,R,FUNC_ENGINESPEED,118,start
-237058275,Core_2,0,C,Core_2,0,execute
-237058275,TASK_CalcEngineSpeed,118,C,Core_2,0,execute
-237205425,TASK_CalcEngineSpeed,118,R,FUNC_ENGINESPEED,118,terminate
-237205425,Core_2,0,T,TASK_CalcEngineSpeed,118,terminate
-237205425,TASK_CalcEngineSpeed,118,SCHED,SCHED_Tasks_C2,-1,processterminate
-237205425,Core_2,0,C,Core_2,0,idle
-237205425,TASK_CalcEngineSpeed,118,C,Core_2,0,idle
-237205525,TASK_CalcEngineSpeed,118,STI,IR_SCHED_Tasks_C2,765,trigger
-237205525,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-237250000,SIM,-1,STI,TIMER-1MS,237,trigger
-237250000,TIMER-1MS,237,T,TASK_1MS,237,activate
-237250000,TASK_1MS,237,SCHED,SCHED_Tasks_C1,-1,processactivate
-237250100,TASK_1MS,237,STI,IR_SCHED_Tasks_C1,804,trigger
-237250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-237250100,Core_1,0,T,TASK_1MS,237,start
-237250100,TASK_1MS,237,R,FUNC_EXECTIME_1,439,start
-237250100,Core_1,0,C,Core_1,0,execute
-237250100,TASK_1MS,237,C,Core_1,0,execute
-237572075,TASK_1MS,237,R,FUNC_EXECTIME_1,439,terminate
-237572075,Core_1,0,T,TASK_1MS,237,terminate
-237572075,TASK_1MS,237,SCHED,SCHED_Tasks_C1,-1,processterminate
-237572075,Core_1,0,C,Core_1,0,idle
-237572075,TASK_1MS,237,C,Core_1,0,idle
-237572175,TASK_1MS,237,STI,IR_SCHED_Tasks_C1,805,trigger
-237572175,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-238000000,SIM,-1,STI,TIMER-B_2ms,119,trigger
-238000000,TIMER-B_2ms,119,T,TASK_WritingActuator,119,activate
-238000000,TASK_WritingActuator,119,SCHED,SCHED_Tasks_C2,-1,processactivate
-238000100,TASK_WritingActuator,119,STI,IR_SCHED_Tasks_C2,766,trigger
-238000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-238000100,Core_2,0,T,TASK_WritingActuator,119,start
-238000100,TASK_WritingActuator,119,R,FUNC_SEMLOCK,238,start
-238000100,Core_2,0,C,Core_2,0,execute
-238000100,TASK_WritingActuator,119,C,Core_2,0,execute
-238100000,SIM,-1,STI,TIMER-5MS,119,trigger
-238100000,TIMER-5MS,119,T,TASK_5MS,119,activate
-238100000,TASK_5MS,119,SCHED,SCHED_Tasks_C2,-1,processactivate
-238100100,TASK_5MS,119,STI,IR_SCHED_Tasks_C2,767,trigger
-238100100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-238125100,TASK_WritingActuator,119,SEM,SEM_DataElement1,0,requestsemaphore,0
-238125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-238125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-238125100,Core_2,0,C,Core_2,0,lock
-238125100,TASK_WritingActuator,119,SEM,SEM_DataElement1,0,assigned,1
-238125150,TASK_WritingActuator,119,R,FUNC_SEMLOCK,238,terminate
-238125150,Core_2,0,C,Core_2,0,unlock
-238125150,TASK_WritingActuator,119,R,FUNC_WriteData,119,start
-238150000,SIM,-1,STI,TIMER-A_2ms,119,trigger
-238150000,TIMER-A_2ms,119,T,TASK_InputProcessing,119,activate
-238150000,TASK_InputProcessing,119,SCHED,SCHED_Tasks_C1,-1,processactivate
-238150100,TASK_InputProcessing,119,STI,IR_SCHED_Tasks_C1,806,trigger
-238150100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-238150100,Core_1,0,T,TASK_InputProcessing,119,start
-238150100,TASK_InputProcessing,119,R,FUNC_SEMLOCK,239,start
-238150100,Core_1,0,C,Core_1,0,execute
-238150100,TASK_InputProcessing,119,C,Core_1,0,execute
-238152425,TASK_WritingActuator,119,SIG,SIG_Mixture,0,write,0
-238152425,TASK_WritingActuator,119,R,FUNC_WriteData,119,terminate
-238152425,TASK_WritingActuator,119,R,FUNC_SEMUNLOCK,238,start
-238250000,SIM,-1,STI,TIMER-1MS,238,trigger
-238250000,TIMER-1MS,238,T,TASK_1MS,238,activate
-238250000,TASK_1MS,238,SCHED,SCHED_Tasks_C1,-1,processactivate
-238250100,TASK_1MS,238,STI,IR_SCHED_Tasks_C1,807,trigger
-238250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-238250100,TASK_InputProcessing,119,R,FUNC_SEMLOCK,239,suspend
-238250100,Core_1,0,T,TASK_InputProcessing,119,preempt
-238250100,Core_1,0,C,Core_1,0,idle_execution
-238250100,TASK_InputProcessing,119,C,Core_1,0,idle_execution
-238250100,Core_1,0,T,TASK_1MS,238,start
-238250100,TASK_1MS,238,R,FUNC_EXECTIME_1,441,start
-238250100,Core_1,0,C,Core_1,0,execute
-238250100,TASK_1MS,238,C,Core_1,0,execute
-238352425,TASK_WritingActuator,119,SEM,SEM_DataElement1,0,released,1
-238352425,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-238352425,TASK_WritingActuator,119,SCHED,SCHED_Tasks_C2,-1,schedulepoint
-238352425,Core_2,0,C,Core_2,0,lock
-238352475,TASK_WritingActuator,119,R,FUNC_SEMUNLOCK,238,terminate
-238352475,Core_2,0,T,TASK_WritingActuator,119,terminate
-238352475,TASK_WritingActuator,119,SCHED,SCHED_Tasks_C2,-1,processterminate
-238352475,Core_2,0,C,Core_2,0,unlock
-238352475,Core_2,0,C,Core_2,0,idle
-238352475,TASK_WritingActuator,119,C,Core_2,0,idle
-238352525,TASK_WritingActuator,119,STI,IR_SCHED_Tasks_C2,768,trigger
-238352525,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-238352525,Core_2,0,T,TASK_5MS,119,start
-238352525,TASK_5MS,119,R,FUNC_EXECTIME_1,440,start
-238352525,Core_2,0,C,Core_2,0,execute
-238352525,TASK_5MS,119,C,Core_2,0,execute
-238740750,TASK_1MS,238,R,FUNC_EXECTIME_1,441,terminate
-238740750,Core_1,0,T,TASK_1MS,238,terminate
-238740750,TASK_1MS,238,SCHED,SCHED_Tasks_C1,-1,processterminate
-238740750,Core_1,0,C,Core_1,0,idle
-238740750,TASK_1MS,238,C,Core_1,0,idle
-238740850,TASK_1MS,238,STI,IR_SCHED_Tasks_C1,808,trigger
-238740850,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-238740850,Core_1,0,C,Core_1,0,execute_idle
-238740850,TASK_InputProcessing,119,C,Core_1,0,execute_idle
-238740850,Core_1,0,T,TASK_InputProcessing,119,resume
-238740850,TASK_InputProcessing,119,R,FUNC_SEMLOCK,239,resume
-238765850,TASK_InputProcessing,119,SEM,SEM_DataElement1,0,requestsemaphore,0
-238765850,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-238765850,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-238765850,Core_1,0,C,Core_1,0,lock
-238765850,TASK_InputProcessing,119,SEM,SEM_DataElement1,0,assigned,1
-238765900,TASK_InputProcessing,119,R,FUNC_SEMLOCK,239,terminate
-238765900,Core_1,0,C,Core_1,0,unlock
-238765900,TASK_InputProcessing,119,R,FUNC_ReadSensorData,119,start
-238852925,TASK_5MS,119,R,FUNC_EXECTIME_1,440,terminate
-238852925,Core_2,0,T,TASK_5MS,119,terminate
-238852925,TASK_5MS,119,SCHED,SCHED_Tasks_C2,-1,processterminate
-238852925,Core_2,0,C,Core_2,0,idle
-238852925,TASK_5MS,119,C,Core_2,0,idle
-238853025,TASK_5MS,119,STI,IR_SCHED_Tasks_C2,769,trigger
-238853025,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-238928300,TASK_InputProcessing,119,SIG,SIG_RotationSpeed,0,read,0
-238928300,TASK_InputProcessing,119,SIG,SIG_Lambda,0,read,0
-238928300,TASK_InputProcessing,119,SIG,SIG_Temperature,0,read,0
-238928300,TASK_InputProcessing,119,R,FUNC_ReadSensorData,119,terminate
-238928300,TASK_InputProcessing,119,R,FUNC_SEMUNLOCK,239,start
-239128300,TASK_InputProcessing,119,SEM,SEM_DataElement1,0,released,1
-239128300,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-239128300,TASK_InputProcessing,119,SCHED,SCHED_Tasks_C1,-1,schedulepoint
-239128300,Core_1,0,C,Core_1,0,lock
-239128350,TASK_InputProcessing,119,R,FUNC_SEMUNLOCK,239,terminate
-239128350,Core_1,0,C,Core_1,0,unlock
-239128350,TASK_InputProcessing,119,STI,IPA_InputReady,119,trigger
-239128350,IPA_InputReady,119,T,TASK_CalcEngineSpeed,119,activate
-239128350,TASK_CalcEngineSpeed,119,SCHED,SCHED_Tasks_C2,-1,processactivate
-239128350,Core_1,0,T,TASK_InputProcessing,119,terminate
-239128350,TASK_InputProcessing,119,SCHED,SCHED_Tasks_C1,-1,processterminate
-239128350,Core_1,0,C,Core_1,0,idle
-239128350,TASK_InputProcessing,119,C,Core_1,0,idle
-239128400,TASK_InputProcessing,119,STI,IR_SCHED_Tasks_C1,809,trigger
-239128400,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-239128450,TASK_CalcEngineSpeed,119,STI,IR_SCHED_Tasks_C2,770,trigger
-239128450,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-239128450,Core_2,0,T,TASK_CalcEngineSpeed,119,start
-239128450,TASK_CalcEngineSpeed,119,R,FUNC_ENGINESPEED,119,start
-239128450,Core_2,0,C,Core_2,0,execute
-239128450,TASK_CalcEngineSpeed,119,C,Core_2,0,execute
-239250000,SIM,-1,STI,TIMER-1MS,239,trigger
-239250000,TIMER-1MS,239,T,TASK_1MS,239,activate
-239250000,TASK_1MS,239,SCHED,SCHED_Tasks_C1,-1,processactivate
-239250100,TASK_1MS,239,STI,IR_SCHED_Tasks_C1,810,trigger
-239250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-239250100,Core_1,0,T,TASK_1MS,239,start
-239250100,TASK_1MS,239,R,FUNC_EXECTIME_1,442,start
-239250100,Core_1,0,C,Core_1,0,execute
-239250100,TASK_1MS,239,C,Core_1,0,execute
-239323050,TASK_CalcEngineSpeed,119,R,FUNC_ENGINESPEED,119,terminate
-239323050,Core_2,0,T,TASK_CalcEngineSpeed,119,terminate
-239323050,TASK_CalcEngineSpeed,119,SCHED,SCHED_Tasks_C2,-1,processterminate
-239323050,Core_2,0,C,Core_2,0,idle
-239323050,TASK_CalcEngineSpeed,119,C,Core_2,0,idle
-239323150,TASK_CalcEngineSpeed,119,STI,IR_SCHED_Tasks_C2,771,trigger
-239323150,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-239695200,TASK_1MS,239,R,FUNC_EXECTIME_1,442,terminate
-239695200,Core_1,0,T,TASK_1MS,239,terminate
-239695200,TASK_1MS,239,SCHED,SCHED_Tasks_C1,-1,processterminate
-239695200,Core_1,0,C,Core_1,0,idle
-239695200,TASK_1MS,239,C,Core_1,0,idle
-239695300,TASK_1MS,239,STI,IR_SCHED_Tasks_C1,811,trigger
-239695300,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-240000000,SIM,-1,STI,TIMER-B_2ms,120,trigger
-240000000,TIMER-B_2ms,120,T,TASK_WritingActuator,120,activate
-240000000,TASK_WritingActuator,120,SCHED,SCHED_Tasks_C2,-1,processactivate
-240000000,SIM,-1,STI,TIMER-10MS_2,24,trigger
-240000000,TIMER-10MS_2,24,T,TASK_10MS_DL2,24,activate
-240000000,TASK_10MS_DL2,24,SCHED,SCHED_Tasks_C1,-1,processactivate
-240000100,TASK_WritingActuator,120,STI,IR_SCHED_Tasks_C2,772,trigger
-240000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-240000100,Core_2,0,T,TASK_WritingActuator,120,start
-240000100,TASK_WritingActuator,120,R,FUNC_SEMLOCK,240,start
-240000100,Core_2,0,C,Core_2,0,execute
-240000100,TASK_WritingActuator,120,C,Core_2,0,execute
-240000100,TASK_10MS_DL2,24,STI,IR_SCHED_Tasks_C1,812,trigger
-240000100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-240000100,Core_1,0,T,TASK_10MS_DL2,24,start
-240000100,TASK_10MS_DL2,24,R,FUNC_EXECTIME_1,443,start
-240000100,Core_1,0,C,Core_1,0,execute
-240000100,TASK_10MS_DL2,24,C,Core_1,0,execute
-240005000,SIM,-1,STI,TIMER-20MS,12,trigger
-240005000,TIMER-20MS,12,T,TASK_20MS,12,activate
-240005000,TASK_20MS,12,SCHED,SCHED_Tasks_C1,-1,processactivate
-240005100,TASK_20MS,12,STI,IR_SCHED_Tasks_C1,813,trigger
-240005100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-240100000,SIM,-1,STI,TIMER-5MS,120,trigger
-240100000,TIMER-5MS,120,T,TASK_5MS,120,activate
-240100000,TASK_5MS,120,SCHED,SCHED_Tasks_C2,-1,processactivate
-240100100,TASK_5MS,120,STI,IR_SCHED_Tasks_C2,773,trigger
-240100100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-240125100,TASK_WritingActuator,120,SEM,SEM_DataElement1,0,requestsemaphore,0
-240125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-240125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-240125100,Core_2,0,C,Core_2,0,lock
-240125100,TASK_WritingActuator,120,SEM,SEM_DataElement1,0,assigned,1
-240125150,TASK_WritingActuator,120,R,FUNC_SEMLOCK,240,terminate
-240125150,Core_2,0,C,Core_2,0,unlock
-240125150,TASK_WritingActuator,120,R,FUNC_WriteData,120,start
-240150000,SIM,-1,STI,TIMER-A_2ms,120,trigger
-240150000,TIMER-A_2ms,120,T,TASK_InputProcessing,120,activate
-240150000,TASK_InputProcessing,120,SCHED,SCHED_Tasks_C1,-1,processactivate
-240150100,TASK_InputProcessing,120,STI,IR_SCHED_Tasks_C1,814,trigger
-240150100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-240152550,TASK_WritingActuator,120,SIG,SIG_Mixture,0,write,0
-240152550,TASK_WritingActuator,120,R,FUNC_WriteData,120,terminate
-240152550,TASK_WritingActuator,120,R,FUNC_SEMUNLOCK,240,start
-240250000,SIM,-1,STI,TIMER-1MS,240,trigger
-240250000,TIMER-1MS,240,T,TASK_1MS,240,activate
-240250000,TASK_1MS,240,SCHED,SCHED_Tasks_C1,-1,processactivate
-240250100,TASK_1MS,240,STI,IR_SCHED_Tasks_C1,815,trigger
-240250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-240250100,TASK_10MS_DL2,24,R,FUNC_EXECTIME_1,443,suspend
-240250100,Core_1,0,T,TASK_10MS_DL2,24,preempt
-240250100,Core_1,0,C,Core_1,0,idle_execution
-240250100,TASK_10MS_DL2,24,C,Core_1,0,idle_execution
-240250100,Core_1,0,T,TASK_1MS,240,start
-240250100,TASK_1MS,240,R,FUNC_EXECTIME_1,446,start
-240250100,Core_1,0,C,Core_1,0,execute
-240250100,TASK_1MS,240,C,Core_1,0,execute
-240352550,TASK_WritingActuator,120,SEM,SEM_DataElement1,0,released,1
-240352550,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-240352550,TASK_WritingActuator,120,SCHED,SCHED_Tasks_C2,-1,schedulepoint
-240352550,Core_2,0,C,Core_2,0,lock
-240352600,TASK_WritingActuator,120,R,FUNC_SEMUNLOCK,240,terminate
-240352600,Core_2,0,T,TASK_WritingActuator,120,terminate
-240352600,TASK_WritingActuator,120,SCHED,SCHED_Tasks_C2,-1,processterminate
-240352600,Core_2,0,C,Core_2,0,unlock
-240352600,Core_2,0,C,Core_2,0,idle
-240352600,TASK_WritingActuator,120,C,Core_2,0,idle
-240352650,TASK_WritingActuator,120,STI,IR_SCHED_Tasks_C2,774,trigger
-240352650,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-240352650,Core_2,0,T,TASK_5MS,120,start
-240352650,TASK_5MS,120,R,FUNC_EXECTIME_1,445,start
-240352650,Core_2,0,C,Core_2,0,execute
-240352650,TASK_5MS,120,C,Core_2,0,execute
-240876925,TASK_5MS,120,R,FUNC_EXECTIME_1,445,terminate
-240876925,Core_2,0,T,TASK_5MS,120,terminate
-240876925,TASK_5MS,120,SCHED,SCHED_Tasks_C2,-1,processterminate
-240876925,Core_2,0,C,Core_2,0,idle
-240876925,TASK_5MS,120,C,Core_2,0,idle
-240877025,TASK_5MS,120,STI,IR_SCHED_Tasks_C2,775,trigger
-240877025,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-240877550,TASK_1MS,240,R,FUNC_EXECTIME_1,446,terminate
-240877550,Core_1,0,T,TASK_1MS,240,terminate
-240877550,TASK_1MS,240,SCHED,SCHED_Tasks_C1,-1,processterminate
-240877550,Core_1,0,C,Core_1,0,idle
-240877550,TASK_1MS,240,C,Core_1,0,idle
-240877650,TASK_1MS,240,STI,IR_SCHED_Tasks_C1,816,trigger
-240877650,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-240877650,Core_1,0,C,Core_1,0,execute_idle
-240877650,TASK_10MS_DL2,24,C,Core_1,0,execute_idle
-240877650,Core_1,0,T,TASK_10MS_DL2,24,resume
-240877650,TASK_10MS_DL2,24,R,FUNC_EXECTIME_1,443,resume
-240941475,TASK_10MS_DL2,24,R,FUNC_EXECTIME_1,443,terminate
-240941475,Core_1,0,T,TASK_10MS_DL2,24,terminate
-240941475,TASK_10MS_DL2,24,SCHED,SCHED_Tasks_C1,-1,processterminate
-240941475,Core_1,0,C,Core_1,0,idle
-240941475,TASK_10MS_DL2,24,C,Core_1,0,idle
-240941575,TASK_10MS_DL2,24,STI,IR_SCHED_Tasks_C1,817,trigger
-240941575,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-240941575,Core_1,0,T,TASK_InputProcessing,120,start
-240941575,TASK_InputProcessing,120,R,FUNC_SEMLOCK,241,start
-240941575,Core_1,0,C,Core_1,0,execute
-240941575,TASK_InputProcessing,120,C,Core_1,0,execute
-241066575,TASK_InputProcessing,120,SEM,SEM_DataElement1,0,requestsemaphore,0
-241066575,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-241066575,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-241066575,Core_1,0,C,Core_1,0,lock
-241066575,TASK_InputProcessing,120,SEM,SEM_DataElement1,0,assigned,1
-241066625,TASK_InputProcessing,120,R,FUNC_SEMLOCK,241,terminate
-241066625,Core_1,0,C,Core_1,0,unlock
-241066625,TASK_InputProcessing,120,R,FUNC_ReadSensorData,120,start
-241229875,TASK_InputProcessing,120,SIG,SIG_RotationSpeed,0,read,0
-241229875,TASK_InputProcessing,120,SIG,SIG_Lambda,0,read,0
-241229875,TASK_InputProcessing,120,SIG,SIG_Temperature,0,read,0
-241229875,TASK_InputProcessing,120,R,FUNC_ReadSensorData,120,terminate
-241229875,TASK_InputProcessing,120,R,FUNC_SEMUNLOCK,241,start
-241250000,SIM,-1,STI,TIMER-1MS,241,trigger
-241250000,TIMER-1MS,241,T,TASK_1MS,241,activate
-241250000,TASK_1MS,241,SCHED,SCHED_Tasks_C1,-1,processactivate
-241250100,TASK_1MS,241,STI,IR_SCHED_Tasks_C1,818,trigger
-241250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-241429875,TASK_InputProcessing,120,SEM,SEM_DataElement1,0,released,1
-241429875,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-241429875,TASK_InputProcessing,120,SCHED,SCHED_Tasks_C1,-1,schedulepoint
-241429875,Core_1,0,C,Core_1,0,lock
-241429925,TASK_InputProcessing,120,R,FUNC_SEMUNLOCK,241,terminate
-241429925,Core_1,0,C,Core_1,0,unlock
-241429925,TASK_InputProcessing,120,STI,IPA_InputReady,120,trigger
-241429925,IPA_InputReady,120,T,TASK_CalcEngineSpeed,120,activate
-241429925,TASK_CalcEngineSpeed,120,SCHED,SCHED_Tasks_C2,-1,processactivate
-241429925,Core_1,0,T,TASK_InputProcessing,120,terminate
-241429925,TASK_InputProcessing,120,SCHED,SCHED_Tasks_C1,-1,processterminate
-241429925,Core_1,0,C,Core_1,0,idle
-241429925,TASK_InputProcessing,120,C,Core_1,0,idle
-241429975,TASK_InputProcessing,120,STI,IR_SCHED_Tasks_C1,819,trigger
-241429975,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-241429975,Core_1,0,T,TASK_1MS,241,start
-241429975,TASK_1MS,241,R,FUNC_EXECTIME_1,447,start
-241429975,Core_1,0,C,Core_1,0,execute
-241429975,TASK_1MS,241,C,Core_1,0,execute
-241430025,TASK_CalcEngineSpeed,120,STI,IR_SCHED_Tasks_C2,776,trigger
-241430025,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-241430025,Core_2,0,T,TASK_CalcEngineSpeed,120,start
-241430025,TASK_CalcEngineSpeed,120,R,FUNC_ENGINESPEED,120,start
-241430025,Core_2,0,C,Core_2,0,execute
-241430025,TASK_CalcEngineSpeed,120,C,Core_2,0,execute
-241592075,TASK_CalcEngineSpeed,120,R,FUNC_ENGINESPEED,120,terminate
-241592075,Core_2,0,T,TASK_CalcEngineSpeed,120,terminate
-241592075,TASK_CalcEngineSpeed,120,SCHED,SCHED_Tasks_C2,-1,processterminate
-241592075,Core_2,0,C,Core_2,0,idle
-241592075,TASK_CalcEngineSpeed,120,C,Core_2,0,idle
-241592175,TASK_CalcEngineSpeed,120,STI,IR_SCHED_Tasks_C2,777,trigger
-241592175,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-241855950,TASK_1MS,241,R,FUNC_EXECTIME_1,447,terminate
-241855950,Core_1,0,T,TASK_1MS,241,terminate
-241855950,TASK_1MS,241,SCHED,SCHED_Tasks_C1,-1,processterminate
-241855950,Core_1,0,C,Core_1,0,idle
-241855950,TASK_1MS,241,C,Core_1,0,idle
-241856050,TASK_1MS,241,STI,IR_SCHED_Tasks_C1,820,trigger
-241856050,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-241856050,Core_1,0,T,TASK_20MS,12,start
-241856050,TASK_20MS,12,R,FUNC_EXECTIME_1,444,start
-241856050,Core_1,0,C,Core_1,0,execute
-241856050,TASK_20MS,12,C,Core_1,0,execute
-242000000,SIM,-1,STI,TIMER-B_2ms,121,trigger
-242000000,TIMER-B_2ms,121,T,TASK_WritingActuator,121,activate
-242000000,TASK_WritingActuator,121,SCHED,SCHED_Tasks_C2,-1,processactivate
-242000100,TASK_WritingActuator,121,STI,IR_SCHED_Tasks_C2,778,trigger
-242000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-242000100,Core_2,0,T,TASK_WritingActuator,121,start
-242000100,TASK_WritingActuator,121,R,FUNC_SEMLOCK,242,start
-242000100,Core_2,0,C,Core_2,0,execute
-242000100,TASK_WritingActuator,121,C,Core_2,0,execute
-242100000,SIM,-1,STI,TIMER-5MS,121,trigger
-242100000,TIMER-5MS,121,T,TASK_5MS,121,activate
-242100000,TASK_5MS,121,SCHED,SCHED_Tasks_C2,-1,processactivate
-242100100,TASK_5MS,121,STI,IR_SCHED_Tasks_C2,779,trigger
-242100100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-242125100,TASK_WritingActuator,121,SEM,SEM_DataElement1,0,requestsemaphore,0
-242125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-242125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-242125100,Core_2,0,C,Core_2,0,lock
-242125100,TASK_WritingActuator,121,SEM,SEM_DataElement1,0,assigned,1
-242125150,TASK_WritingActuator,121,R,FUNC_SEMLOCK,242,terminate
-242125150,Core_2,0,C,Core_2,0,unlock
-242125150,TASK_WritingActuator,121,R,FUNC_WriteData,121,start
-242150000,SIM,-1,STI,TIMER-A_2ms,121,trigger
-242150000,TIMER-A_2ms,121,T,TASK_InputProcessing,121,activate
-242150000,TASK_InputProcessing,121,SCHED,SCHED_Tasks_C1,-1,processactivate
-242150100,TASK_InputProcessing,121,STI,IR_SCHED_Tasks_C1,821,trigger
-242150100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-242150100,TASK_20MS,12,R,FUNC_EXECTIME_1,444,suspend
-242150100,Core_1,0,T,TASK_20MS,12,preempt
-242150100,Core_1,0,C,Core_1,0,idle_execution
-242150100,TASK_20MS,12,C,Core_1,0,idle_execution
-242150100,Core_1,0,T,TASK_InputProcessing,121,start
-242150100,TASK_InputProcessing,121,R,FUNC_SEMLOCK,243,start
-242150100,Core_1,0,C,Core_1,0,execute
-242150100,TASK_InputProcessing,121,C,Core_1,0,execute
-242152450,TASK_WritingActuator,121,SIG,SIG_Mixture,0,write,0
-242152450,TASK_WritingActuator,121,R,FUNC_WriteData,121,terminate
-242152450,TASK_WritingActuator,121,R,FUNC_SEMUNLOCK,242,start
-242250000,SIM,-1,STI,TIMER-1MS,242,trigger
-242250000,TIMER-1MS,242,T,TASK_1MS,242,activate
-242250000,TASK_1MS,242,SCHED,SCHED_Tasks_C1,-1,processactivate
-242250100,TASK_1MS,242,STI,IR_SCHED_Tasks_C1,822,trigger
-242250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-242250100,TASK_InputProcessing,121,R,FUNC_SEMLOCK,243,suspend
-242250100,Core_1,0,T,TASK_InputProcessing,121,preempt
-242250100,Core_1,0,C,Core_1,0,idle_execution
-242250100,TASK_InputProcessing,121,C,Core_1,0,idle_execution
-242250100,Core_1,0,T,TASK_1MS,242,start
-242250100,TASK_1MS,242,R,FUNC_EXECTIME_1,449,start
-242250100,Core_1,0,C,Core_1,0,execute
-242250100,TASK_1MS,242,C,Core_1,0,execute
-242352450,TASK_WritingActuator,121,SEM,SEM_DataElement1,0,released,1
-242352450,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-242352450,TASK_WritingActuator,121,SCHED,SCHED_Tasks_C2,-1,schedulepoint
-242352450,Core_2,0,C,Core_2,0,lock
-242352500,TASK_WritingActuator,121,R,FUNC_SEMUNLOCK,242,terminate
-242352500,Core_2,0,T,TASK_WritingActuator,121,terminate
-242352500,TASK_WritingActuator,121,SCHED,SCHED_Tasks_C2,-1,processterminate
-242352500,Core_2,0,C,Core_2,0,unlock
-242352500,Core_2,0,C,Core_2,0,idle
-242352500,TASK_WritingActuator,121,C,Core_2,0,idle
-242352550,TASK_WritingActuator,121,STI,IR_SCHED_Tasks_C2,780,trigger
-242352550,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-242352550,Core_2,0,T,TASK_5MS,121,start
-242352550,TASK_5MS,121,R,FUNC_EXECTIME_1,448,start
-242352550,Core_2,0,C,Core_2,0,execute
-242352550,TASK_5MS,121,C,Core_2,0,execute
-242727550,TASK_5MS,121,R,FUNC_EXECTIME_1,448,terminate
-242727550,Core_2,0,T,TASK_5MS,121,terminate
-242727550,TASK_5MS,121,SCHED,SCHED_Tasks_C2,-1,processterminate
-242727550,Core_2,0,C,Core_2,0,idle
-242727550,TASK_5MS,121,C,Core_2,0,idle
-242727650,TASK_5MS,121,STI,IR_SCHED_Tasks_C2,781,trigger
-242727650,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-242780425,TASK_1MS,242,R,FUNC_EXECTIME_1,449,terminate
-242780425,Core_1,0,T,TASK_1MS,242,terminate
-242780425,TASK_1MS,242,SCHED,SCHED_Tasks_C1,-1,processterminate
-242780425,Core_1,0,C,Core_1,0,idle
-242780425,TASK_1MS,242,C,Core_1,0,idle
-242780525,TASK_1MS,242,STI,IR_SCHED_Tasks_C1,823,trigger
-242780525,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-242780525,Core_1,0,C,Core_1,0,execute_idle
-242780525,TASK_InputProcessing,121,C,Core_1,0,execute_idle
-242780525,Core_1,0,T,TASK_InputProcessing,121,resume
-242780525,TASK_InputProcessing,121,R,FUNC_SEMLOCK,243,resume
-242805525,TASK_InputProcessing,121,SEM,SEM_DataElement1,0,requestsemaphore,0
-242805525,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-242805525,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-242805525,Core_1,0,C,Core_1,0,lock
-242805525,TASK_InputProcessing,121,SEM,SEM_DataElement1,0,assigned,1
-242805575,TASK_InputProcessing,121,R,FUNC_SEMLOCK,243,terminate
-242805575,Core_1,0,C,Core_1,0,unlock
-242805575,TASK_InputProcessing,121,R,FUNC_ReadSensorData,121,start
-242968925,TASK_InputProcessing,121,SIG,SIG_RotationSpeed,0,read,0
-242968925,TASK_InputProcessing,121,SIG,SIG_Lambda,0,read,0
-242968925,TASK_InputProcessing,121,SIG,SIG_Temperature,0,read,0
-242968925,TASK_InputProcessing,121,R,FUNC_ReadSensorData,121,terminate
-242968925,TASK_InputProcessing,121,R,FUNC_SEMUNLOCK,243,start
-243168925,TASK_InputProcessing,121,SEM,SEM_DataElement1,0,released,1
-243168925,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-243168925,TASK_InputProcessing,121,SCHED,SCHED_Tasks_C1,-1,schedulepoint
-243168925,Core_1,0,C,Core_1,0,lock
-243168975,TASK_InputProcessing,121,R,FUNC_SEMUNLOCK,243,terminate
-243168975,Core_1,0,C,Core_1,0,unlock
-243168975,TASK_InputProcessing,121,STI,IPA_InputReady,121,trigger
-243168975,IPA_InputReady,121,T,TASK_CalcEngineSpeed,121,activate
-243168975,TASK_CalcEngineSpeed,121,SCHED,SCHED_Tasks_C2,-1,processactivate
-243168975,Core_1,0,T,TASK_InputProcessing,121,terminate
-243168975,TASK_InputProcessing,121,SCHED,SCHED_Tasks_C1,-1,processterminate
-243168975,Core_1,0,C,Core_1,0,idle
-243168975,TASK_InputProcessing,121,C,Core_1,0,idle
-243169025,TASK_InputProcessing,121,STI,IR_SCHED_Tasks_C1,824,trigger
-243169025,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-243169025,Core_1,0,C,Core_1,0,execute_idle
-243169025,TASK_20MS,12,C,Core_1,0,execute_idle
-243169025,Core_1,0,T,TASK_20MS,12,resume
-243169025,TASK_20MS,12,R,FUNC_EXECTIME_1,444,resume
-243169075,TASK_CalcEngineSpeed,121,STI,IR_SCHED_Tasks_C2,782,trigger
-243169075,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-243169075,Core_2,0,T,TASK_CalcEngineSpeed,121,start
-243169075,TASK_CalcEngineSpeed,121,R,FUNC_ENGINESPEED,121,start
-243169075,Core_2,0,C,Core_2,0,execute
-243169075,TASK_CalcEngineSpeed,121,C,Core_2,0,execute
-243250000,SIM,-1,STI,TIMER-1MS,243,trigger
-243250000,TIMER-1MS,243,T,TASK_1MS,243,activate
-243250000,TASK_1MS,243,SCHED,SCHED_Tasks_C1,-1,processactivate
-243250100,TASK_1MS,243,STI,IR_SCHED_Tasks_C1,825,trigger
-243250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-243250100,TASK_20MS,12,R,FUNC_EXECTIME_1,444,suspend
-243250100,Core_1,0,T,TASK_20MS,12,preempt
-243250100,Core_1,0,C,Core_1,0,idle_execution
-243250100,TASK_20MS,12,C,Core_1,0,idle_execution
-243250100,Core_1,0,T,TASK_1MS,243,start
-243250100,TASK_1MS,243,R,FUNC_EXECTIME_1,450,start
-243250100,Core_1,0,C,Core_1,0,execute
-243250100,TASK_1MS,243,C,Core_1,0,execute
-243392025,TASK_CalcEngineSpeed,121,R,FUNC_ENGINESPEED,121,terminate
-243392025,Core_2,0,T,TASK_CalcEngineSpeed,121,terminate
-243392025,TASK_CalcEngineSpeed,121,SCHED,SCHED_Tasks_C2,-1,processterminate
-243392025,Core_2,0,C,Core_2,0,idle
-243392025,TASK_CalcEngineSpeed,121,C,Core_2,0,idle
-243392125,TASK_CalcEngineSpeed,121,STI,IR_SCHED_Tasks_C2,783,trigger
-243392125,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-243626600,TASK_1MS,243,R,FUNC_EXECTIME_1,450,terminate
-243626600,Core_1,0,T,TASK_1MS,243,terminate
-243626600,TASK_1MS,243,SCHED,SCHED_Tasks_C1,-1,processterminate
-243626600,Core_1,0,C,Core_1,0,idle
-243626600,TASK_1MS,243,C,Core_1,0,idle
-243626700,TASK_1MS,243,STI,IR_SCHED_Tasks_C1,826,trigger
-243626700,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-243626700,Core_1,0,C,Core_1,0,execute_idle
-243626700,TASK_20MS,12,C,Core_1,0,execute_idle
-243626700,Core_1,0,T,TASK_20MS,12,resume
-243626700,TASK_20MS,12,R,FUNC_EXECTIME_1,444,resume
-243646750,TASK_20MS,12,R,FUNC_EXECTIME_1,444,terminate
-243646750,Core_1,0,T,TASK_20MS,12,terminate
-243646750,TASK_20MS,12,SCHED,SCHED_Tasks_C1,-1,processterminate
-243646750,Core_1,0,C,Core_1,0,idle
-243646750,TASK_20MS,12,C,Core_1,0,idle
-243646850,TASK_20MS,12,STI,IR_SCHED_Tasks_C1,827,trigger
-243646850,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-244000000,SIM,-1,STI,TIMER-B_2ms,122,trigger
-244000000,TIMER-B_2ms,122,T,TASK_WritingActuator,122,activate
-244000000,TASK_WritingActuator,122,SCHED,SCHED_Tasks_C2,-1,processactivate
-244000100,TASK_WritingActuator,122,STI,IR_SCHED_Tasks_C2,784,trigger
-244000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-244000100,Core_2,0,T,TASK_WritingActuator,122,start
-244000100,TASK_WritingActuator,122,R,FUNC_SEMLOCK,244,start
-244000100,Core_2,0,C,Core_2,0,execute
-244000100,TASK_WritingActuator,122,C,Core_2,0,execute
-244100000,SIM,-1,STI,TIMER-5MS,122,trigger
-244100000,TIMER-5MS,122,T,TASK_5MS,122,activate
-244100000,TASK_5MS,122,SCHED,SCHED_Tasks_C2,-1,processactivate
-244100100,TASK_5MS,122,STI,IR_SCHED_Tasks_C2,785,trigger
-244100100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-244125100,TASK_WritingActuator,122,SEM,SEM_DataElement1,0,requestsemaphore,0
-244125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-244125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-244125100,Core_2,0,C,Core_2,0,lock
-244125100,TASK_WritingActuator,122,SEM,SEM_DataElement1,0,assigned,1
-244125150,TASK_WritingActuator,122,R,FUNC_SEMLOCK,244,terminate
-244125150,Core_2,0,C,Core_2,0,unlock
-244125150,TASK_WritingActuator,122,R,FUNC_WriteData,122,start
-244150000,SIM,-1,STI,TIMER-A_2ms,122,trigger
-244150000,TIMER-A_2ms,122,T,TASK_InputProcessing,122,activate
-244150000,TASK_InputProcessing,122,SCHED,SCHED_Tasks_C1,-1,processactivate
-244150100,TASK_InputProcessing,122,STI,IR_SCHED_Tasks_C1,828,trigger
-244150100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-244150100,Core_1,0,T,TASK_InputProcessing,122,start
-244150100,TASK_InputProcessing,122,R,FUNC_SEMLOCK,245,start
-244150100,Core_1,0,C,Core_1,0,execute
-244150100,TASK_InputProcessing,122,C,Core_1,0,execute
-244151525,TASK_WritingActuator,122,SIG,SIG_Mixture,0,write,0
-244151525,TASK_WritingActuator,122,R,FUNC_WriteData,122,terminate
-244151525,TASK_WritingActuator,122,R,FUNC_SEMUNLOCK,244,start
-244250000,SIM,-1,STI,TIMER-1MS,244,trigger
-244250000,TIMER-1MS,244,T,TASK_1MS,244,activate
-244250000,TASK_1MS,244,SCHED,SCHED_Tasks_C1,-1,processactivate
-244250100,TASK_1MS,244,STI,IR_SCHED_Tasks_C1,829,trigger
-244250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-244250100,TASK_InputProcessing,122,R,FUNC_SEMLOCK,245,suspend
-244250100,Core_1,0,T,TASK_InputProcessing,122,preempt
-244250100,Core_1,0,C,Core_1,0,idle_execution
-244250100,TASK_InputProcessing,122,C,Core_1,0,idle_execution
-244250100,Core_1,0,T,TASK_1MS,244,start
-244250100,TASK_1MS,244,R,FUNC_EXECTIME_1,452,start
-244250100,Core_1,0,C,Core_1,0,execute
-244250100,TASK_1MS,244,C,Core_1,0,execute
-244351525,TASK_WritingActuator,122,SEM,SEM_DataElement1,0,released,1
-244351525,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-244351525,TASK_WritingActuator,122,SCHED,SCHED_Tasks_C2,-1,schedulepoint
-244351525,Core_2,0,C,Core_2,0,lock
-244351575,TASK_WritingActuator,122,R,FUNC_SEMUNLOCK,244,terminate
-244351575,Core_2,0,T,TASK_WritingActuator,122,terminate
-244351575,TASK_WritingActuator,122,SCHED,SCHED_Tasks_C2,-1,processterminate
-244351575,Core_2,0,C,Core_2,0,unlock
-244351575,Core_2,0,C,Core_2,0,idle
-244351575,TASK_WritingActuator,122,C,Core_2,0,idle
-244351625,TASK_WritingActuator,122,STI,IR_SCHED_Tasks_C2,786,trigger
-244351625,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-244351625,Core_2,0,T,TASK_5MS,122,start
-244351625,TASK_5MS,122,R,FUNC_EXECTIME_1,451,start
-244351625,Core_2,0,C,Core_2,0,execute
-244351625,TASK_5MS,122,C,Core_2,0,execute
-244811450,TASK_5MS,122,R,FUNC_EXECTIME_1,451,terminate
-244811450,Core_2,0,T,TASK_5MS,122,terminate
-244811450,TASK_5MS,122,SCHED,SCHED_Tasks_C2,-1,processterminate
-244811450,Core_2,0,C,Core_2,0,idle
-244811450,TASK_5MS,122,C,Core_2,0,idle
-244811550,TASK_5MS,122,STI,IR_SCHED_Tasks_C2,787,trigger
-244811550,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-244829725,TASK_1MS,244,R,FUNC_EXECTIME_1,452,terminate
-244829725,Core_1,0,T,TASK_1MS,244,terminate
-244829725,TASK_1MS,244,SCHED,SCHED_Tasks_C1,-1,processterminate
-244829725,Core_1,0,C,Core_1,0,idle
-244829725,TASK_1MS,244,C,Core_1,0,idle
-244829825,TASK_1MS,244,STI,IR_SCHED_Tasks_C1,830,trigger
-244829825,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-244829825,Core_1,0,C,Core_1,0,execute_idle
-244829825,TASK_InputProcessing,122,C,Core_1,0,execute_idle
-244829825,Core_1,0,T,TASK_InputProcessing,122,resume
-244829825,TASK_InputProcessing,122,R,FUNC_SEMLOCK,245,resume
-244854825,TASK_InputProcessing,122,SEM,SEM_DataElement1,0,requestsemaphore,0
-244854825,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-244854825,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-244854825,Core_1,0,C,Core_1,0,lock
-244854825,TASK_InputProcessing,122,SEM,SEM_DataElement1,0,assigned,1
-244854875,TASK_InputProcessing,122,R,FUNC_SEMLOCK,245,terminate
-244854875,Core_1,0,C,Core_1,0,unlock
-244854875,TASK_InputProcessing,122,R,FUNC_ReadSensorData,122,start
-245000000,SIM,-1,STI,TIMER-10MS,24,trigger
-245000000,TIMER-10MS,24,T,TASK_10MS,24,activate
-245000000,TASK_10MS,24,SCHED,SCHED_Tasks_C2,-1,processactivate
-245000100,TASK_10MS,24,STI,IR_SCHED_Tasks_C2,788,trigger
-245000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-245000100,Core_2,0,T,TASK_10MS,24,start
-245000100,TASK_10MS,24,R,FUNC_EXECTIME_1,453,start
-245000100,Core_2,0,C,Core_2,0,execute
-245000100,TASK_10MS,24,C,Core_2,0,execute
-245017775,TASK_InputProcessing,122,SIG,SIG_RotationSpeed,0,read,0
-245017775,TASK_InputProcessing,122,SIG,SIG_Lambda,0,read,0
-245017775,TASK_InputProcessing,122,SIG,SIG_Temperature,0,read,0
-245017775,TASK_InputProcessing,122,R,FUNC_ReadSensorData,122,terminate
-245017775,TASK_InputProcessing,122,R,FUNC_SEMUNLOCK,245,start
-245217775,TASK_InputProcessing,122,SEM,SEM_DataElement1,0,released,1
-245217775,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-245217775,TASK_InputProcessing,122,SCHED,SCHED_Tasks_C1,-1,schedulepoint
-245217775,Core_1,0,C,Core_1,0,lock
-245217825,TASK_InputProcessing,122,R,FUNC_SEMUNLOCK,245,terminate
-245217825,Core_1,0,C,Core_1,0,unlock
-245217825,TASK_InputProcessing,122,STI,IPA_InputReady,122,trigger
-245217825,IPA_InputReady,122,T,TASK_CalcEngineSpeed,122,activate
-245217825,TASK_CalcEngineSpeed,122,SCHED,SCHED_Tasks_C2,-1,processactivate
-245217825,Core_1,0,T,TASK_InputProcessing,122,terminate
-245217825,TASK_InputProcessing,122,SCHED,SCHED_Tasks_C1,-1,processterminate
-245217825,Core_1,0,C,Core_1,0,idle
-245217825,TASK_InputProcessing,122,C,Core_1,0,idle
-245217875,TASK_InputProcessing,122,STI,IR_SCHED_Tasks_C1,831,trigger
-245217875,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-245217925,TASK_CalcEngineSpeed,122,STI,IR_SCHED_Tasks_C2,789,trigger
-245217925,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-245217925,TASK_10MS,24,R,FUNC_EXECTIME_1,453,suspend
-245217925,Core_2,0,T,TASK_10MS,24,preempt
-245217925,Core_2,0,C,Core_2,0,idle_execution
-245217925,TASK_10MS,24,C,Core_2,0,idle_execution
-245217925,Core_2,0,T,TASK_CalcEngineSpeed,122,start
-245217925,TASK_CalcEngineSpeed,122,R,FUNC_ENGINESPEED,122,start
-245217925,Core_2,0,C,Core_2,0,execute
-245217925,TASK_CalcEngineSpeed,122,C,Core_2,0,execute
-245250000,SIM,-1,STI,TIMER-1MS,245,trigger
-245250000,TIMER-1MS,245,T,TASK_1MS,245,activate
-245250000,TASK_1MS,245,SCHED,SCHED_Tasks_C1,-1,processactivate
-245250100,TASK_1MS,245,STI,IR_SCHED_Tasks_C1,832,trigger
-245250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-245250100,Core_1,0,T,TASK_1MS,245,start
-245250100,TASK_1MS,245,R,FUNC_EXECTIME_1,454,start
-245250100,Core_1,0,C,Core_1,0,execute
-245250100,TASK_1MS,245,C,Core_1,0,execute
-245353200,TASK_CalcEngineSpeed,122,R,FUNC_ENGINESPEED,122,terminate
-245353200,Core_2,0,T,TASK_CalcEngineSpeed,122,terminate
-245353200,TASK_CalcEngineSpeed,122,SCHED,SCHED_Tasks_C2,-1,processterminate
-245353200,Core_2,0,C,Core_2,0,idle
-245353200,TASK_CalcEngineSpeed,122,C,Core_2,0,idle
-245353300,TASK_CalcEngineSpeed,122,STI,IR_SCHED_Tasks_C2,790,trigger
-245353300,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-245353300,Core_2,0,C,Core_2,0,execute_idle
-245353300,TASK_10MS,24,C,Core_2,0,execute_idle
-245353300,Core_2,0,T,TASK_10MS,24,resume
-245353300,TASK_10MS,24,R,FUNC_EXECTIME_1,453,resume
-245493425,TASK_10MS,24,R,FUNC_EXECTIME_1,453,terminate
-245493425,Core_2,0,T,TASK_10MS,24,terminate
-245493425,TASK_10MS,24,SCHED,SCHED_Tasks_C2,-1,processterminate
-245493425,Core_2,0,C,Core_2,0,idle
-245493425,TASK_10MS,24,C,Core_2,0,idle
-245493525,TASK_10MS,24,STI,IR_SCHED_Tasks_C2,791,trigger
-245493525,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-245565875,TASK_1MS,245,R,FUNC_EXECTIME_1,454,terminate
-245565875,Core_1,0,T,TASK_1MS,245,terminate
-245565875,TASK_1MS,245,SCHED,SCHED_Tasks_C1,-1,processterminate
-245565875,Core_1,0,C,Core_1,0,idle
-245565875,TASK_1MS,245,C,Core_1,0,idle
-245565975,TASK_1MS,245,STI,IR_SCHED_Tasks_C1,833,trigger
-245565975,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-246000000,SIM,-1,STI,TIMER-B_2ms,123,trigger
-246000000,TIMER-B_2ms,123,T,TASK_WritingActuator,123,activate
-246000000,TASK_WritingActuator,123,SCHED,SCHED_Tasks_C2,-1,processactivate
-246000100,TASK_WritingActuator,123,STI,IR_SCHED_Tasks_C2,792,trigger
-246000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-246000100,Core_2,0,T,TASK_WritingActuator,123,start
-246000100,TASK_WritingActuator,123,R,FUNC_SEMLOCK,246,start
-246000100,Core_2,0,C,Core_2,0,execute
-246000100,TASK_WritingActuator,123,C,Core_2,0,execute
-246100000,SIM,-1,STI,TIMER-5MS,123,trigger
-246100000,TIMER-5MS,123,T,TASK_5MS,123,activate
-246100000,TASK_5MS,123,SCHED,SCHED_Tasks_C2,-1,processactivate
-246100100,TASK_5MS,123,STI,IR_SCHED_Tasks_C2,793,trigger
-246100100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-246125100,TASK_WritingActuator,123,SEM,SEM_DataElement1,0,requestsemaphore,0
-246125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-246125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-246125100,Core_2,0,C,Core_2,0,lock
-246125100,TASK_WritingActuator,123,SEM,SEM_DataElement1,0,assigned,1
-246125150,TASK_WritingActuator,123,R,FUNC_SEMLOCK,246,terminate
-246125150,Core_2,0,C,Core_2,0,unlock
-246125150,TASK_WritingActuator,123,R,FUNC_WriteData,123,start
-246150000,SIM,-1,STI,TIMER-A_2ms,123,trigger
-246150000,TIMER-A_2ms,123,T,TASK_InputProcessing,123,activate
-246150000,TASK_InputProcessing,123,SCHED,SCHED_Tasks_C1,-1,processactivate
-246150100,TASK_InputProcessing,123,STI,IR_SCHED_Tasks_C1,834,trigger
-246150100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-246150100,Core_1,0,T,TASK_InputProcessing,123,start
-246150100,TASK_InputProcessing,123,R,FUNC_SEMLOCK,247,start
-246150100,Core_1,0,C,Core_1,0,execute
-246150100,TASK_InputProcessing,123,C,Core_1,0,execute
-246151975,TASK_WritingActuator,123,SIG,SIG_Mixture,0,write,0
-246151975,TASK_WritingActuator,123,R,FUNC_WriteData,123,terminate
-246151975,TASK_WritingActuator,123,R,FUNC_SEMUNLOCK,246,start
-246250000,SIM,-1,STI,TIMER-1MS,246,trigger
-246250000,TIMER-1MS,246,T,TASK_1MS,246,activate
-246250000,TASK_1MS,246,SCHED,SCHED_Tasks_C1,-1,processactivate
-246250100,TASK_1MS,246,STI,IR_SCHED_Tasks_C1,835,trigger
-246250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-246250100,TASK_InputProcessing,123,R,FUNC_SEMLOCK,247,suspend
-246250100,Core_1,0,T,TASK_InputProcessing,123,preempt
-246250100,Core_1,0,C,Core_1,0,idle_execution
-246250100,TASK_InputProcessing,123,C,Core_1,0,idle_execution
-246250100,Core_1,0,T,TASK_1MS,246,start
-246250100,TASK_1MS,246,R,FUNC_EXECTIME_1,456,start
-246250100,Core_1,0,C,Core_1,0,execute
-246250100,TASK_1MS,246,C,Core_1,0,execute
-246351975,TASK_WritingActuator,123,SEM,SEM_DataElement1,0,released,1
-246351975,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-246351975,TASK_WritingActuator,123,SCHED,SCHED_Tasks_C2,-1,schedulepoint
-246351975,Core_2,0,C,Core_2,0,lock
-246352025,TASK_WritingActuator,123,R,FUNC_SEMUNLOCK,246,terminate
-246352025,Core_2,0,T,TASK_WritingActuator,123,terminate
-246352025,TASK_WritingActuator,123,SCHED,SCHED_Tasks_C2,-1,processterminate
-246352025,Core_2,0,C,Core_2,0,unlock
-246352025,Core_2,0,C,Core_2,0,idle
-246352025,TASK_WritingActuator,123,C,Core_2,0,idle
-246352075,TASK_WritingActuator,123,STI,IR_SCHED_Tasks_C2,794,trigger
-246352075,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-246352075,Core_2,0,T,TASK_5MS,123,start
-246352075,TASK_5MS,123,R,FUNC_EXECTIME_1,455,start
-246352075,Core_2,0,C,Core_2,0,execute
-246352075,TASK_5MS,123,C,Core_2,0,execute
-246587400,TASK_1MS,246,R,FUNC_EXECTIME_1,456,terminate
-246587400,Core_1,0,T,TASK_1MS,246,terminate
-246587400,TASK_1MS,246,SCHED,SCHED_Tasks_C1,-1,processterminate
-246587400,Core_1,0,C,Core_1,0,idle
-246587400,TASK_1MS,246,C,Core_1,0,idle
-246587500,TASK_1MS,246,STI,IR_SCHED_Tasks_C1,836,trigger
-246587500,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-246587500,Core_1,0,C,Core_1,0,execute_idle
-246587500,TASK_InputProcessing,123,C,Core_1,0,execute_idle
-246587500,Core_1,0,T,TASK_InputProcessing,123,resume
-246587500,TASK_InputProcessing,123,R,FUNC_SEMLOCK,247,resume
-246612500,TASK_InputProcessing,123,SEM,SEM_DataElement1,0,requestsemaphore,0
-246612500,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-246612500,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-246612500,Core_1,0,C,Core_1,0,lock
-246612500,TASK_InputProcessing,123,SEM,SEM_DataElement1,0,assigned,1
-246612550,TASK_InputProcessing,123,R,FUNC_SEMLOCK,247,terminate
-246612550,Core_1,0,C,Core_1,0,unlock
-246612550,TASK_InputProcessing,123,R,FUNC_ReadSensorData,123,start
-246769625,TASK_InputProcessing,123,SIG,SIG_RotationSpeed,0,read,0
-246769625,TASK_InputProcessing,123,SIG,SIG_Lambda,0,read,0
-246769625,TASK_InputProcessing,123,SIG,SIG_Temperature,0,read,0
-246769625,TASK_InputProcessing,123,R,FUNC_ReadSensorData,123,terminate
-246769625,TASK_InputProcessing,123,R,FUNC_SEMUNLOCK,247,start
-246969625,TASK_InputProcessing,123,SEM,SEM_DataElement1,0,released,1
-246969625,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-246969625,TASK_InputProcessing,123,SCHED,SCHED_Tasks_C1,-1,schedulepoint
-246969625,Core_1,0,C,Core_1,0,lock
-246969675,TASK_InputProcessing,123,R,FUNC_SEMUNLOCK,247,terminate
-246969675,Core_1,0,C,Core_1,0,unlock
-246969675,TASK_InputProcessing,123,STI,IPA_InputReady,123,trigger
-246969675,IPA_InputReady,123,T,TASK_CalcEngineSpeed,123,activate
-246969675,TASK_CalcEngineSpeed,123,SCHED,SCHED_Tasks_C2,-1,processactivate
-246969675,Core_1,0,T,TASK_InputProcessing,123,terminate
-246969675,TASK_InputProcessing,123,SCHED,SCHED_Tasks_C1,-1,processterminate
-246969675,Core_1,0,C,Core_1,0,idle
-246969675,TASK_InputProcessing,123,C,Core_1,0,idle
-246969725,TASK_InputProcessing,123,STI,IR_SCHED_Tasks_C1,837,trigger
-246969725,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-246969775,TASK_CalcEngineSpeed,123,STI,IR_SCHED_Tasks_C2,795,trigger
-246969775,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-246969775,TASK_5MS,123,R,FUNC_EXECTIME_1,455,suspend
-246969775,Core_2,0,T,TASK_5MS,123,preempt
-246969775,Core_2,0,C,Core_2,0,idle_execution
-246969775,TASK_5MS,123,C,Core_2,0,idle_execution
-246969775,Core_2,0,T,TASK_CalcEngineSpeed,123,start
-246969775,TASK_CalcEngineSpeed,123,R,FUNC_ENGINESPEED,123,start
-246969775,Core_2,0,C,Core_2,0,execute
-246969775,TASK_CalcEngineSpeed,123,C,Core_2,0,execute
-247162925,TASK_CalcEngineSpeed,123,R,FUNC_ENGINESPEED,123,terminate
-247162925,Core_2,0,T,TASK_CalcEngineSpeed,123,terminate
-247162925,TASK_CalcEngineSpeed,123,SCHED,SCHED_Tasks_C2,-1,processterminate
-247162925,Core_2,0,C,Core_2,0,idle
-247162925,TASK_CalcEngineSpeed,123,C,Core_2,0,idle
-247163025,TASK_CalcEngineSpeed,123,STI,IR_SCHED_Tasks_C2,796,trigger
-247163025,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-247163025,Core_2,0,C,Core_2,0,execute_idle
-247163025,TASK_5MS,123,C,Core_2,0,execute_idle
-247163025,Core_2,0,T,TASK_5MS,123,resume
-247163025,TASK_5MS,123,R,FUNC_EXECTIME_1,455,resume
-247177850,TASK_5MS,123,R,FUNC_EXECTIME_1,455,terminate
-247177850,Core_2,0,T,TASK_5MS,123,terminate
-247177850,TASK_5MS,123,SCHED,SCHED_Tasks_C2,-1,processterminate
-247177850,Core_2,0,C,Core_2,0,idle
-247177850,TASK_5MS,123,C,Core_2,0,idle
-247177950,TASK_5MS,123,STI,IR_SCHED_Tasks_C2,797,trigger
-247177950,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-247250000,SIM,-1,STI,TIMER-1MS,247,trigger
-247250000,TIMER-1MS,247,T,TASK_1MS,247,activate
-247250000,TASK_1MS,247,SCHED,SCHED_Tasks_C1,-1,processactivate
-247250100,TASK_1MS,247,STI,IR_SCHED_Tasks_C1,838,trigger
-247250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-247250100,Core_1,0,T,TASK_1MS,247,start
-247250100,TASK_1MS,247,R,FUNC_EXECTIME_1,457,start
-247250100,Core_1,0,C,Core_1,0,execute
-247250100,TASK_1MS,247,C,Core_1,0,execute
-247586400,TASK_1MS,247,R,FUNC_EXECTIME_1,457,terminate
-247586400,Core_1,0,T,TASK_1MS,247,terminate
-247586400,TASK_1MS,247,SCHED,SCHED_Tasks_C1,-1,processterminate
-247586400,Core_1,0,C,Core_1,0,idle
-247586400,TASK_1MS,247,C,Core_1,0,idle
-247586500,TASK_1MS,247,STI,IR_SCHED_Tasks_C1,839,trigger
-247586500,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-248000000,SIM,-1,STI,TIMER-B_2ms,124,trigger
-248000000,TIMER-B_2ms,124,T,TASK_WritingActuator,124,activate
-248000000,TASK_WritingActuator,124,SCHED,SCHED_Tasks_C2,-1,processactivate
-248000100,TASK_WritingActuator,124,STI,IR_SCHED_Tasks_C2,798,trigger
-248000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-248000100,Core_2,0,T,TASK_WritingActuator,124,start
-248000100,TASK_WritingActuator,124,R,FUNC_SEMLOCK,248,start
-248000100,Core_2,0,C,Core_2,0,execute
-248000100,TASK_WritingActuator,124,C,Core_2,0,execute
-248100000,SIM,-1,STI,TIMER-5MS,124,trigger
-248100000,TIMER-5MS,124,T,TASK_5MS,124,activate
-248100000,TASK_5MS,124,SCHED,SCHED_Tasks_C2,-1,processactivate
-248100100,TASK_5MS,124,STI,IR_SCHED_Tasks_C2,799,trigger
-248100100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-248125100,TASK_WritingActuator,124,SEM,SEM_DataElement1,0,requestsemaphore,0
-248125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-248125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-248125100,Core_2,0,C,Core_2,0,lock
-248125100,TASK_WritingActuator,124,SEM,SEM_DataElement1,0,assigned,1
-248125150,TASK_WritingActuator,124,R,FUNC_SEMLOCK,248,terminate
-248125150,Core_2,0,C,Core_2,0,unlock
-248125150,TASK_WritingActuator,124,R,FUNC_WriteData,124,start
-248150000,SIM,-1,STI,TIMER-A_2ms,124,trigger
-248150000,TIMER-A_2ms,124,T,TASK_InputProcessing,124,activate
-248150000,TASK_InputProcessing,124,SCHED,SCHED_Tasks_C1,-1,processactivate
-248150100,TASK_InputProcessing,124,STI,IR_SCHED_Tasks_C1,840,trigger
-248150100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-248150100,Core_1,0,T,TASK_InputProcessing,124,start
-248150100,TASK_InputProcessing,124,R,FUNC_SEMLOCK,249,start
-248150100,Core_1,0,C,Core_1,0,execute
-248150100,TASK_InputProcessing,124,C,Core_1,0,execute
-248151775,TASK_WritingActuator,124,SIG,SIG_Mixture,0,write,0
-248151775,TASK_WritingActuator,124,R,FUNC_WriteData,124,terminate
-248151775,TASK_WritingActuator,124,R,FUNC_SEMUNLOCK,248,start
-248250000,SIM,-1,STI,TIMER-1MS,248,trigger
-248250000,TIMER-1MS,248,T,TASK_1MS,248,activate
-248250000,TASK_1MS,248,SCHED,SCHED_Tasks_C1,-1,processactivate
-248250100,TASK_1MS,248,STI,IR_SCHED_Tasks_C1,841,trigger
-248250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-248250100,TASK_InputProcessing,124,R,FUNC_SEMLOCK,249,suspend
-248250100,Core_1,0,T,TASK_InputProcessing,124,preempt
-248250100,Core_1,0,C,Core_1,0,idle_execution
-248250100,TASK_InputProcessing,124,C,Core_1,0,idle_execution
-248250100,Core_1,0,T,TASK_1MS,248,start
-248250100,TASK_1MS,248,R,FUNC_EXECTIME_1,459,start
-248250100,Core_1,0,C,Core_1,0,execute
-248250100,TASK_1MS,248,C,Core_1,0,execute
-248351775,TASK_WritingActuator,124,SEM,SEM_DataElement1,0,released,1
-248351775,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-248351775,TASK_WritingActuator,124,SCHED,SCHED_Tasks_C2,-1,schedulepoint
-248351775,Core_2,0,C,Core_2,0,lock
-248351825,TASK_WritingActuator,124,R,FUNC_SEMUNLOCK,248,terminate
-248351825,Core_2,0,T,TASK_WritingActuator,124,terminate
-248351825,TASK_WritingActuator,124,SCHED,SCHED_Tasks_C2,-1,processterminate
-248351825,Core_2,0,C,Core_2,0,unlock
-248351825,Core_2,0,C,Core_2,0,idle
-248351825,TASK_WritingActuator,124,C,Core_2,0,idle
-248351875,TASK_WritingActuator,124,STI,IR_SCHED_Tasks_C2,800,trigger
-248351875,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-248351875,Core_2,0,T,TASK_5MS,124,start
-248351875,TASK_5MS,124,R,FUNC_EXECTIME_1,458,start
-248351875,Core_2,0,C,Core_2,0,execute
-248351875,TASK_5MS,124,C,Core_2,0,execute
-248681200,TASK_5MS,124,R,FUNC_EXECTIME_1,458,terminate
-248681200,Core_2,0,T,TASK_5MS,124,terminate
-248681200,TASK_5MS,124,SCHED,SCHED_Tasks_C2,-1,processterminate
-248681200,Core_2,0,C,Core_2,0,idle
-248681200,TASK_5MS,124,C,Core_2,0,idle
-248681300,TASK_5MS,124,STI,IR_SCHED_Tasks_C2,801,trigger
-248681300,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-248981125,TASK_1MS,248,R,FUNC_EXECTIME_1,459,terminate
-248981125,Core_1,0,T,TASK_1MS,248,terminate
-248981125,TASK_1MS,248,SCHED,SCHED_Tasks_C1,-1,processterminate
-248981125,Core_1,0,C,Core_1,0,idle
-248981125,TASK_1MS,248,C,Core_1,0,idle
-248981225,TASK_1MS,248,STI,IR_SCHED_Tasks_C1,842,trigger
-248981225,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-248981225,Core_1,0,C,Core_1,0,execute_idle
-248981225,TASK_InputProcessing,124,C,Core_1,0,execute_idle
-248981225,Core_1,0,T,TASK_InputProcessing,124,resume
-248981225,TASK_InputProcessing,124,R,FUNC_SEMLOCK,249,resume
-249006225,TASK_InputProcessing,124,SEM,SEM_DataElement1,0,requestsemaphore,0
-249006225,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-249006225,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-249006225,Core_1,0,C,Core_1,0,lock
-249006225,TASK_InputProcessing,124,SEM,SEM_DataElement1,0,assigned,1
-249006275,TASK_InputProcessing,124,R,FUNC_SEMLOCK,249,terminate
-249006275,Core_1,0,C,Core_1,0,unlock
-249006275,TASK_InputProcessing,124,R,FUNC_ReadSensorData,124,start
-249169675,TASK_InputProcessing,124,SIG,SIG_RotationSpeed,0,read,0
-249169675,TASK_InputProcessing,124,SIG,SIG_Lambda,0,read,0
-249169675,TASK_InputProcessing,124,SIG,SIG_Temperature,0,read,0
-249169675,TASK_InputProcessing,124,R,FUNC_ReadSensorData,124,terminate
-249169675,TASK_InputProcessing,124,R,FUNC_SEMUNLOCK,249,start
-249250000,SIM,-1,STI,TIMER-1MS,249,trigger
-249250000,TIMER-1MS,249,T,TASK_1MS,249,activate
-249250000,TASK_1MS,249,SCHED,SCHED_Tasks_C1,-1,processactivate
-249250100,TASK_1MS,249,STI,IR_SCHED_Tasks_C1,843,trigger
-249250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-249369675,TASK_InputProcessing,124,SEM,SEM_DataElement1,0,released,1
-249369675,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-249369675,TASK_InputProcessing,124,SCHED,SCHED_Tasks_C1,-1,schedulepoint
-249369675,Core_1,0,C,Core_1,0,lock
-249369725,TASK_InputProcessing,124,R,FUNC_SEMUNLOCK,249,terminate
-249369725,Core_1,0,C,Core_1,0,unlock
-249369725,TASK_InputProcessing,124,STI,IPA_InputReady,124,trigger
-249369725,IPA_InputReady,124,T,TASK_CalcEngineSpeed,124,activate
-249369725,TASK_CalcEngineSpeed,124,SCHED,SCHED_Tasks_C2,-1,processactivate
-249369725,Core_1,0,T,TASK_InputProcessing,124,terminate
-249369725,TASK_InputProcessing,124,SCHED,SCHED_Tasks_C1,-1,processterminate
-249369725,Core_1,0,C,Core_1,0,idle
-249369725,TASK_InputProcessing,124,C,Core_1,0,idle
-249369775,TASK_InputProcessing,124,STI,IR_SCHED_Tasks_C1,844,trigger
-249369775,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-249369775,Core_1,0,T,TASK_1MS,249,start
-249369775,TASK_1MS,249,R,FUNC_EXECTIME_1,460,start
-249369775,Core_1,0,C,Core_1,0,execute
-249369775,TASK_1MS,249,C,Core_1,0,execute
-249369825,TASK_CalcEngineSpeed,124,STI,IR_SCHED_Tasks_C2,802,trigger
-249369825,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-249369825,Core_2,0,T,TASK_CalcEngineSpeed,124,start
-249369825,TASK_CalcEngineSpeed,124,R,FUNC_ENGINESPEED,124,start
-249369825,Core_2,0,C,Core_2,0,execute
-249369825,TASK_CalcEngineSpeed,124,C,Core_2,0,execute
-249587200,TASK_CalcEngineSpeed,124,R,FUNC_ENGINESPEED,124,terminate
-249587200,Core_2,0,T,TASK_CalcEngineSpeed,124,terminate
-249587200,TASK_CalcEngineSpeed,124,SCHED,SCHED_Tasks_C2,-1,processterminate
-249587200,Core_2,0,C,Core_2,0,idle
-249587200,TASK_CalcEngineSpeed,124,C,Core_2,0,idle
-249587300,TASK_CalcEngineSpeed,124,STI,IR_SCHED_Tasks_C2,803,trigger
-249587300,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-250000000,SIM,-1,STI,TIMER-B_2ms,125,trigger
-250000000,TIMER-B_2ms,125,T,TASK_WritingActuator,125,activate
-250000000,TASK_WritingActuator,125,SCHED,SCHED_Tasks_C2,-1,processactivate
-250000000,SIM,-1,STI,TIMER-10MS_2,25,trigger
-250000000,TIMER-10MS_2,25,T,TASK_10MS_DL2,25,activate
-250000000,TASK_10MS_DL2,25,SCHED,SCHED_Tasks_C1,-1,processactivate
-250000100,TASK_WritingActuator,125,STI,IR_SCHED_Tasks_C2,804,trigger
-250000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-250000100,Core_2,0,T,TASK_WritingActuator,125,start
-250000100,TASK_WritingActuator,125,R,FUNC_SEMLOCK,250,start
-250000100,Core_2,0,C,Core_2,0,execute
-250000100,TASK_WritingActuator,125,C,Core_2,0,execute
-250000100,TASK_10MS_DL2,25,STI,IR_SCHED_Tasks_C1,845,trigger
-250000100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-250100000,SIM,-1,STI,TIMER-5MS,125,trigger
-250100000,TIMER-5MS,125,T,TASK_5MS,125,activate
-250100000,TASK_5MS,125,SCHED,SCHED_Tasks_C2,-1,processactivate
-250100100,TASK_5MS,125,STI,IR_SCHED_Tasks_C2,805,trigger
-250100100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-250125100,TASK_WritingActuator,125,SEM,SEM_DataElement1,0,requestsemaphore,0
-250125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-250125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-250125100,Core_2,0,C,Core_2,0,lock
-250125100,TASK_WritingActuator,125,SEM,SEM_DataElement1,0,assigned,1
-250125150,TASK_WritingActuator,125,R,FUNC_SEMLOCK,250,terminate
-250125150,Core_2,0,C,Core_2,0,unlock
-250125150,TASK_WritingActuator,125,R,FUNC_WriteData,125,start
-250150000,SIM,-1,STI,TIMER-A_2ms,125,trigger
-250150000,TIMER-A_2ms,125,T,TASK_InputProcessing,125,activate
-250150000,TASK_InputProcessing,125,SCHED,SCHED_Tasks_C1,-1,processactivate
-250150100,TASK_InputProcessing,125,STI,IR_SCHED_Tasks_C1,846,trigger
-250150100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-250151400,TASK_WritingActuator,125,SIG,SIG_Mixture,0,write,0
-250151400,TASK_WritingActuator,125,R,FUNC_WriteData,125,terminate
-250151400,TASK_WritingActuator,125,R,FUNC_SEMUNLOCK,250,start
-250250000,SIM,-1,STI,TIMER-1MS,250,trigger
-250250000,TIMER-1MS,250,T,TASK_1MS,250,activate
-250250000,TASK_1MS,250,SCHED,SCHED_Tasks_C1,-1,processactivate
-250250100,TASK_1MS,250,STI,IR_SCHED_Tasks_C1,847,trigger
-250250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-250273900,TASK_1MS,249,R,FUNC_EXECTIME_1,460,terminate
-250273900,Core_1,0,T,TASK_1MS,249,terminate
-250273900,TASK_1MS,249,SCHED,SCHED_Tasks_C1,-1,processterminate
-250273900,Core_1,0,C,Core_1,0,idle
-250273900,TASK_1MS,249,C,Core_1,0,idle
-250274000,TASK_1MS,249,STI,IR_SCHED_Tasks_C1,848,trigger
-250274000,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-250274000,Core_1,0,T,TASK_1MS,250,start
-250274000,TASK_1MS,250,R,FUNC_EXECTIME_1,463,start
-250274000,Core_1,0,C,Core_1,0,execute
-250274000,TASK_1MS,250,C,Core_1,0,execute
-250351400,TASK_WritingActuator,125,SEM,SEM_DataElement1,0,released,1
-250351400,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-250351400,TASK_WritingActuator,125,SCHED,SCHED_Tasks_C2,-1,schedulepoint
-250351400,Core_2,0,C,Core_2,0,lock
-250351450,TASK_WritingActuator,125,R,FUNC_SEMUNLOCK,250,terminate
-250351450,Core_2,0,T,TASK_WritingActuator,125,terminate
-250351450,TASK_WritingActuator,125,SCHED,SCHED_Tasks_C2,-1,processterminate
-250351450,Core_2,0,C,Core_2,0,unlock
-250351450,Core_2,0,C,Core_2,0,idle
-250351450,TASK_WritingActuator,125,C,Core_2,0,idle
-250351500,TASK_WritingActuator,125,STI,IR_SCHED_Tasks_C2,806,trigger
-250351500,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-250351500,Core_2,0,T,TASK_5MS,125,start
-250351500,TASK_5MS,125,R,FUNC_EXECTIME_1,462,start
-250351500,Core_2,0,C,Core_2,0,execute
-250351500,TASK_5MS,125,C,Core_2,0,execute
-250603375,TASK_1MS,250,R,FUNC_EXECTIME_1,463,terminate
-250603375,Core_1,0,T,TASK_1MS,250,terminate
-250603375,TASK_1MS,250,SCHED,SCHED_Tasks_C1,-1,processterminate
-250603375,Core_1,0,C,Core_1,0,idle
-250603375,TASK_1MS,250,C,Core_1,0,idle
-250603475,TASK_1MS,250,STI,IR_SCHED_Tasks_C1,849,trigger
-250603475,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-250603475,Core_1,0,T,TASK_10MS_DL2,25,start
-250603475,TASK_10MS_DL2,25,R,FUNC_EXECTIME_1,461,start
-250603475,Core_1,0,C,Core_1,0,execute
-250603475,TASK_10MS_DL2,25,C,Core_1,0,execute
-251072800,TASK_10MS_DL2,25,R,FUNC_EXECTIME_1,461,terminate
-251072800,Core_1,0,T,TASK_10MS_DL2,25,terminate
-251072800,TASK_10MS_DL2,25,SCHED,SCHED_Tasks_C1,-1,processterminate
-251072800,Core_1,0,C,Core_1,0,idle
-251072800,TASK_10MS_DL2,25,C,Core_1,0,idle
-251072900,TASK_10MS_DL2,25,STI,IR_SCHED_Tasks_C1,850,trigger
-251072900,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-251072900,Core_1,0,T,TASK_InputProcessing,125,start
-251072900,TASK_InputProcessing,125,R,FUNC_SEMLOCK,251,start
-251072900,Core_1,0,C,Core_1,0,execute
-251072900,TASK_InputProcessing,125,C,Core_1,0,execute
-251098500,TASK_5MS,125,R,FUNC_EXECTIME_1,462,terminate
-251098500,Core_2,0,T,TASK_5MS,125,terminate
-251098500,TASK_5MS,125,SCHED,SCHED_Tasks_C2,-1,processterminate
-251098500,Core_2,0,C,Core_2,0,idle
-251098500,TASK_5MS,125,C,Core_2,0,idle
-251098600,TASK_5MS,125,STI,IR_SCHED_Tasks_C2,807,trigger
-251098600,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-251197900,TASK_InputProcessing,125,SEM,SEM_DataElement1,0,requestsemaphore,0
-251197900,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-251197900,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-251197900,Core_1,0,C,Core_1,0,lock
-251197900,TASK_InputProcessing,125,SEM,SEM_DataElement1,0,assigned,1
-251197950,TASK_InputProcessing,125,R,FUNC_SEMLOCK,251,terminate
-251197950,Core_1,0,C,Core_1,0,unlock
-251197950,TASK_InputProcessing,125,R,FUNC_ReadSensorData,125,start
-251250000,SIM,-1,STI,TIMER-1MS,251,trigger
-251250000,TIMER-1MS,251,T,TASK_1MS,251,activate
-251250000,TASK_1MS,251,SCHED,SCHED_Tasks_C1,-1,processactivate
-251250100,TASK_1MS,251,STI,IR_SCHED_Tasks_C1,851,trigger
-251250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-251361700,TASK_InputProcessing,125,SIG,SIG_RotationSpeed,0,read,0
-251361700,TASK_InputProcessing,125,SIG,SIG_Lambda,0,read,0
-251361700,TASK_InputProcessing,125,SIG,SIG_Temperature,0,read,0
-251361700,TASK_InputProcessing,125,R,FUNC_ReadSensorData,125,terminate
-251361700,TASK_InputProcessing,125,R,FUNC_SEMUNLOCK,251,start
-251561700,TASK_InputProcessing,125,SEM,SEM_DataElement1,0,released,1
-251561700,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-251561700,TASK_InputProcessing,125,SCHED,SCHED_Tasks_C1,-1,schedulepoint
-251561700,Core_1,0,C,Core_1,0,lock
-251561750,TASK_InputProcessing,125,R,FUNC_SEMUNLOCK,251,terminate
-251561750,Core_1,0,C,Core_1,0,unlock
-251561750,TASK_InputProcessing,125,STI,IPA_InputReady,125,trigger
-251561750,IPA_InputReady,125,T,TASK_CalcEngineSpeed,125,activate
-251561750,TASK_CalcEngineSpeed,125,SCHED,SCHED_Tasks_C2,-1,processactivate
-251561750,Core_1,0,T,TASK_InputProcessing,125,terminate
-251561750,TASK_InputProcessing,125,SCHED,SCHED_Tasks_C1,-1,processterminate
-251561750,Core_1,0,C,Core_1,0,idle
-251561750,TASK_InputProcessing,125,C,Core_1,0,idle
-251561800,TASK_InputProcessing,125,STI,IR_SCHED_Tasks_C1,852,trigger
-251561800,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-251561800,Core_1,0,T,TASK_1MS,251,start
-251561800,TASK_1MS,251,R,FUNC_EXECTIME_1,464,start
-251561800,Core_1,0,C,Core_1,0,execute
-251561800,TASK_1MS,251,C,Core_1,0,execute
-251561850,TASK_CalcEngineSpeed,125,STI,IR_SCHED_Tasks_C2,808,trigger
-251561850,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-251561850,Core_2,0,T,TASK_CalcEngineSpeed,125,start
-251561850,TASK_CalcEngineSpeed,125,R,FUNC_ENGINESPEED,125,start
-251561850,Core_2,0,C,Core_2,0,execute
-251561850,TASK_CalcEngineSpeed,125,C,Core_2,0,execute
-251794375,TASK_CalcEngineSpeed,125,R,FUNC_ENGINESPEED,125,terminate
-251794375,Core_2,0,T,TASK_CalcEngineSpeed,125,terminate
-251794375,TASK_CalcEngineSpeed,125,SCHED,SCHED_Tasks_C2,-1,processterminate
-251794375,Core_2,0,C,Core_2,0,idle
-251794375,TASK_CalcEngineSpeed,125,C,Core_2,0,idle
-251794475,TASK_CalcEngineSpeed,125,STI,IR_SCHED_Tasks_C2,809,trigger
-251794475,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-251888025,TASK_1MS,251,R,FUNC_EXECTIME_1,464,terminate
-251888025,Core_1,0,T,TASK_1MS,251,terminate
-251888025,TASK_1MS,251,SCHED,SCHED_Tasks_C1,-1,processterminate
-251888025,Core_1,0,C,Core_1,0,idle
-251888025,TASK_1MS,251,C,Core_1,0,idle
-251888125,TASK_1MS,251,STI,IR_SCHED_Tasks_C1,853,trigger
-251888125,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-252000000,SIM,-1,STI,TIMER-B_2ms,126,trigger
-252000000,TIMER-B_2ms,126,T,TASK_WritingActuator,126,activate
-252000000,TASK_WritingActuator,126,SCHED,SCHED_Tasks_C2,-1,processactivate
-252000000,SIM,-1,STI,TIMER-50MS,5,trigger
-252000000,TIMER-50MS,5,T,TASK_50MS,5,activate
-252000000,TASK_50MS,5,SCHED,SCHED_Tasks_C2,-1,processactivate
-252000100,TASK_WritingActuator,126,STI,IR_SCHED_Tasks_C2,810,trigger
-252000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-252000100,Core_2,0,T,TASK_WritingActuator,126,start
-252000100,TASK_WritingActuator,126,R,FUNC_SEMLOCK,252,start
-252000100,Core_2,0,C,Core_2,0,execute
-252000100,TASK_WritingActuator,126,C,Core_2,0,execute
-252100000,SIM,-1,STI,TIMER-5MS,126,trigger
-252100000,TIMER-5MS,126,T,TASK_5MS,126,activate
-252100000,TASK_5MS,126,SCHED,SCHED_Tasks_C2,-1,processactivate
-252100100,TASK_5MS,126,STI,IR_SCHED_Tasks_C2,811,trigger
-252100100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-252125100,TASK_WritingActuator,126,SEM,SEM_DataElement1,0,requestsemaphore,0
-252125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-252125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-252125100,Core_2,0,C,Core_2,0,lock
-252125100,TASK_WritingActuator,126,SEM,SEM_DataElement1,0,assigned,1
-252125150,TASK_WritingActuator,126,R,FUNC_SEMLOCK,252,terminate
-252125150,Core_2,0,C,Core_2,0,unlock
-252125150,TASK_WritingActuator,126,R,FUNC_WriteData,126,start
-252150000,SIM,-1,STI,TIMER-A_2ms,126,trigger
-252150000,TIMER-A_2ms,126,T,TASK_InputProcessing,126,activate
-252150000,TASK_InputProcessing,126,SCHED,SCHED_Tasks_C1,-1,processactivate
-252150100,TASK_InputProcessing,126,STI,IR_SCHED_Tasks_C1,854,trigger
-252150100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-252150100,Core_1,0,T,TASK_InputProcessing,126,start
-252150100,TASK_InputProcessing,126,R,FUNC_SEMLOCK,253,start
-252150100,Core_1,0,C,Core_1,0,execute
-252150100,TASK_InputProcessing,126,C,Core_1,0,execute
-252152475,TASK_WritingActuator,126,SIG,SIG_Mixture,0,write,0
-252152475,TASK_WritingActuator,126,R,FUNC_WriteData,126,terminate
-252152475,TASK_WritingActuator,126,R,FUNC_SEMUNLOCK,252,start
-252250000,SIM,-1,STI,TIMER-1MS,252,trigger
-252250000,TIMER-1MS,252,T,TASK_1MS,252,activate
-252250000,TASK_1MS,252,SCHED,SCHED_Tasks_C1,-1,processactivate
-252250100,TASK_1MS,252,STI,IR_SCHED_Tasks_C1,855,trigger
-252250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-252250100,TASK_InputProcessing,126,R,FUNC_SEMLOCK,253,suspend
-252250100,Core_1,0,T,TASK_InputProcessing,126,preempt
-252250100,Core_1,0,C,Core_1,0,idle_execution
-252250100,TASK_InputProcessing,126,C,Core_1,0,idle_execution
-252250100,Core_1,0,T,TASK_1MS,252,start
-252250100,TASK_1MS,252,R,FUNC_EXECTIME_1,466,start
-252250100,Core_1,0,C,Core_1,0,execute
-252250100,TASK_1MS,252,C,Core_1,0,execute
-252352475,TASK_WritingActuator,126,SEM,SEM_DataElement1,0,released,1
-252352475,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-252352475,TASK_WritingActuator,126,SCHED,SCHED_Tasks_C2,-1,schedulepoint
-252352475,Core_2,0,C,Core_2,0,lock
-252352525,TASK_WritingActuator,126,R,FUNC_SEMUNLOCK,252,terminate
-252352525,Core_2,0,T,TASK_WritingActuator,126,terminate
-252352525,TASK_WritingActuator,126,SCHED,SCHED_Tasks_C2,-1,processterminate
-252352525,Core_2,0,C,Core_2,0,unlock
-252352525,Core_2,0,C,Core_2,0,idle
-252352525,TASK_WritingActuator,126,C,Core_2,0,idle
-252352575,TASK_WritingActuator,126,STI,IR_SCHED_Tasks_C2,812,trigger
-252352575,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-252352575,Core_2,0,T,TASK_5MS,126,start
-252352575,TASK_5MS,126,R,FUNC_EXECTIME_1,465,start
-252352575,Core_2,0,C,Core_2,0,execute
-252352575,TASK_5MS,126,C,Core_2,0,execute
-252669025,TASK_5MS,126,R,FUNC_EXECTIME_1,465,terminate
-252669025,Core_2,0,T,TASK_5MS,126,terminate
-252669025,TASK_5MS,126,SCHED,SCHED_Tasks_C2,-1,processterminate
-252669025,Core_2,0,C,Core_2,0,idle
-252669025,TASK_5MS,126,C,Core_2,0,idle
-252669125,TASK_5MS,126,STI,IR_SCHED_Tasks_C2,813,trigger
-252669125,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-252669125,Core_2,0,T,TASK_50MS,5,start
-252669125,TASK_50MS,5,R,FUNC_EXECTIME_2,5,start
-252669125,Core_2,0,C,Core_2,0,execute
-252669125,TASK_50MS,5,C,Core_2,0,execute
-253042975,TASK_1MS,252,R,FUNC_EXECTIME_1,466,terminate
-253042975,Core_1,0,T,TASK_1MS,252,terminate
-253042975,TASK_1MS,252,SCHED,SCHED_Tasks_C1,-1,processterminate
-253042975,Core_1,0,C,Core_1,0,idle
-253042975,TASK_1MS,252,C,Core_1,0,idle
-253043075,TASK_1MS,252,STI,IR_SCHED_Tasks_C1,856,trigger
-253043075,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-253043075,Core_1,0,C,Core_1,0,execute_idle
-253043075,TASK_InputProcessing,126,C,Core_1,0,execute_idle
-253043075,Core_1,0,T,TASK_InputProcessing,126,resume
-253043075,TASK_InputProcessing,126,R,FUNC_SEMLOCK,253,resume
-253068075,TASK_InputProcessing,126,SEM,SEM_DataElement1,0,requestsemaphore,0
-253068075,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-253068075,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-253068075,Core_1,0,C,Core_1,0,lock
-253068075,TASK_InputProcessing,126,SEM,SEM_DataElement1,0,assigned,1
-253068125,TASK_InputProcessing,126,R,FUNC_SEMLOCK,253,terminate
-253068125,Core_1,0,C,Core_1,0,unlock
-253068125,TASK_InputProcessing,126,R,FUNC_ReadSensorData,126,start
-253157225,TASK_50MS,5,R,FUNC_EXECTIME_2,5,terminate
-253157225,Core_2,0,T,TASK_50MS,5,terminate
-253157225,TASK_50MS,5,SCHED,SCHED_Tasks_C2,-1,processterminate
-253157225,Core_2,0,C,Core_2,0,idle
-253157225,TASK_50MS,5,C,Core_2,0,idle
-253157325,TASK_50MS,5,STI,IR_SCHED_Tasks_C2,814,trigger
-253157325,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-253230650,TASK_InputProcessing,126,SIG,SIG_RotationSpeed,0,read,0
-253230650,TASK_InputProcessing,126,SIG,SIG_Lambda,0,read,0
-253230650,TASK_InputProcessing,126,SIG,SIG_Temperature,0,read,0
-253230650,TASK_InputProcessing,126,R,FUNC_ReadSensorData,126,terminate
-253230650,TASK_InputProcessing,126,R,FUNC_SEMUNLOCK,253,start
-253250000,SIM,-1,STI,TIMER-1MS,253,trigger
-253250000,TIMER-1MS,253,T,TASK_1MS,253,activate
-253250000,TASK_1MS,253,SCHED,SCHED_Tasks_C1,-1,processactivate
-253250100,TASK_1MS,253,STI,IR_SCHED_Tasks_C1,857,trigger
-253250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-253430650,TASK_InputProcessing,126,SEM,SEM_DataElement1,0,released,1
-253430650,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-253430650,TASK_InputProcessing,126,SCHED,SCHED_Tasks_C1,-1,schedulepoint
-253430650,Core_1,0,C,Core_1,0,lock
-253430700,TASK_InputProcessing,126,R,FUNC_SEMUNLOCK,253,terminate
-253430700,Core_1,0,C,Core_1,0,unlock
-253430700,TASK_InputProcessing,126,STI,IPA_InputReady,126,trigger
-253430700,IPA_InputReady,126,T,TASK_CalcEngineSpeed,126,activate
-253430700,TASK_CalcEngineSpeed,126,SCHED,SCHED_Tasks_C2,-1,processactivate
-253430700,Core_1,0,T,TASK_InputProcessing,126,terminate
-253430700,TASK_InputProcessing,126,SCHED,SCHED_Tasks_C1,-1,processterminate
-253430700,Core_1,0,C,Core_1,0,idle
-253430700,TASK_InputProcessing,126,C,Core_1,0,idle
-253430750,TASK_InputProcessing,126,STI,IR_SCHED_Tasks_C1,858,trigger
-253430750,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-253430750,Core_1,0,T,TASK_1MS,253,start
-253430750,TASK_1MS,253,R,FUNC_EXECTIME_1,467,start
-253430750,Core_1,0,C,Core_1,0,execute
-253430750,TASK_1MS,253,C,Core_1,0,execute
-253430800,TASK_CalcEngineSpeed,126,STI,IR_SCHED_Tasks_C2,815,trigger
-253430800,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-253430800,Core_2,0,T,TASK_CalcEngineSpeed,126,start
-253430800,TASK_CalcEngineSpeed,126,R,FUNC_ENGINESPEED,126,start
-253430800,Core_2,0,C,Core_2,0,execute
-253430800,TASK_CalcEngineSpeed,126,C,Core_2,0,execute
-253615375,TASK_CalcEngineSpeed,126,R,FUNC_ENGINESPEED,126,terminate
-253615375,Core_2,0,T,TASK_CalcEngineSpeed,126,terminate
-253615375,TASK_CalcEngineSpeed,126,SCHED,SCHED_Tasks_C2,-1,processterminate
-253615375,Core_2,0,C,Core_2,0,idle
-253615375,TASK_CalcEngineSpeed,126,C,Core_2,0,idle
-253615475,TASK_CalcEngineSpeed,126,STI,IR_SCHED_Tasks_C2,816,trigger
-253615475,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-253866550,TASK_1MS,253,R,FUNC_EXECTIME_1,467,terminate
-253866550,Core_1,0,T,TASK_1MS,253,terminate
-253866550,TASK_1MS,253,SCHED,SCHED_Tasks_C1,-1,processterminate
-253866550,Core_1,0,C,Core_1,0,idle
-253866550,TASK_1MS,253,C,Core_1,0,idle
-253866650,TASK_1MS,253,STI,IR_SCHED_Tasks_C1,859,trigger
-253866650,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-254000000,SIM,-1,STI,TIMER-B_2ms,127,trigger
-254000000,TIMER-B_2ms,127,T,TASK_WritingActuator,127,activate
-254000000,TASK_WritingActuator,127,SCHED,SCHED_Tasks_C2,-1,processactivate
-254000100,TASK_WritingActuator,127,STI,IR_SCHED_Tasks_C2,817,trigger
-254000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-254000100,Core_2,0,T,TASK_WritingActuator,127,start
-254000100,TASK_WritingActuator,127,R,FUNC_SEMLOCK,254,start
-254000100,Core_2,0,C,Core_2,0,execute
-254000100,TASK_WritingActuator,127,C,Core_2,0,execute
-254100000,SIM,-1,STI,TIMER-5MS,127,trigger
-254100000,TIMER-5MS,127,T,TASK_5MS,127,activate
-254100000,TASK_5MS,127,SCHED,SCHED_Tasks_C2,-1,processactivate
-254100100,TASK_5MS,127,STI,IR_SCHED_Tasks_C2,818,trigger
-254100100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-254125100,TASK_WritingActuator,127,SEM,SEM_DataElement1,0,requestsemaphore,0
-254125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-254125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-254125100,Core_2,0,C,Core_2,0,lock
-254125100,TASK_WritingActuator,127,SEM,SEM_DataElement1,0,assigned,1
-254125150,TASK_WritingActuator,127,R,FUNC_SEMLOCK,254,terminate
-254125150,Core_2,0,C,Core_2,0,unlock
-254125150,TASK_WritingActuator,127,R,FUNC_WriteData,127,start
-254150000,SIM,-1,STI,TIMER-A_2ms,127,trigger
-254150000,TIMER-A_2ms,127,T,TASK_InputProcessing,127,activate
-254150000,TASK_InputProcessing,127,SCHED,SCHED_Tasks_C1,-1,processactivate
-254150100,TASK_InputProcessing,127,STI,IR_SCHED_Tasks_C1,860,trigger
-254150100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-254150100,Core_1,0,T,TASK_InputProcessing,127,start
-254150100,TASK_InputProcessing,127,R,FUNC_SEMLOCK,255,start
-254150100,Core_1,0,C,Core_1,0,execute
-254150100,TASK_InputProcessing,127,C,Core_1,0,execute
-254152400,TASK_WritingActuator,127,SIG,SIG_Mixture,0,write,0
-254152400,TASK_WritingActuator,127,R,FUNC_WriteData,127,terminate
-254152400,TASK_WritingActuator,127,R,FUNC_SEMUNLOCK,254,start
-254250000,SIM,-1,STI,TIMER-1MS,254,trigger
-254250000,TIMER-1MS,254,T,TASK_1MS,254,activate
-254250000,TASK_1MS,254,SCHED,SCHED_Tasks_C1,-1,processactivate
-254250100,TASK_1MS,254,STI,IR_SCHED_Tasks_C1,861,trigger
-254250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-254250100,TASK_InputProcessing,127,R,FUNC_SEMLOCK,255,suspend
-254250100,Core_1,0,T,TASK_InputProcessing,127,preempt
-254250100,Core_1,0,C,Core_1,0,idle_execution
-254250100,TASK_InputProcessing,127,C,Core_1,0,idle_execution
-254250100,Core_1,0,T,TASK_1MS,254,start
-254250100,TASK_1MS,254,R,FUNC_EXECTIME_1,469,start
-254250100,Core_1,0,C,Core_1,0,execute
-254250100,TASK_1MS,254,C,Core_1,0,execute
-254352400,TASK_WritingActuator,127,SEM,SEM_DataElement1,0,released,1
-254352400,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-254352400,TASK_WritingActuator,127,SCHED,SCHED_Tasks_C2,-1,schedulepoint
-254352400,Core_2,0,C,Core_2,0,lock
-254352450,TASK_WritingActuator,127,R,FUNC_SEMUNLOCK,254,terminate
-254352450,Core_2,0,T,TASK_WritingActuator,127,terminate
-254352450,TASK_WritingActuator,127,SCHED,SCHED_Tasks_C2,-1,processterminate
-254352450,Core_2,0,C,Core_2,0,unlock
-254352450,Core_2,0,C,Core_2,0,idle
-254352450,TASK_WritingActuator,127,C,Core_2,0,idle
-254352500,TASK_WritingActuator,127,STI,IR_SCHED_Tasks_C2,819,trigger
-254352500,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-254352500,Core_2,0,T,TASK_5MS,127,start
-254352500,TASK_5MS,127,R,FUNC_EXECTIME_1,468,start
-254352500,Core_2,0,C,Core_2,0,execute
-254352500,TASK_5MS,127,C,Core_2,0,execute
-254764425,TASK_1MS,254,R,FUNC_EXECTIME_1,469,terminate
-254764425,Core_1,0,T,TASK_1MS,254,terminate
-254764425,TASK_1MS,254,SCHED,SCHED_Tasks_C1,-1,processterminate
-254764425,Core_1,0,C,Core_1,0,idle
-254764425,TASK_1MS,254,C,Core_1,0,idle
-254764525,TASK_1MS,254,STI,IR_SCHED_Tasks_C1,862,trigger
-254764525,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-254764525,Core_1,0,C,Core_1,0,execute_idle
-254764525,TASK_InputProcessing,127,C,Core_1,0,execute_idle
-254764525,Core_1,0,T,TASK_InputProcessing,127,resume
-254764525,TASK_InputProcessing,127,R,FUNC_SEMLOCK,255,resume
-254789525,TASK_InputProcessing,127,SEM,SEM_DataElement1,0,requestsemaphore,0
-254789525,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-254789525,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-254789525,Core_1,0,C,Core_1,0,lock
-254789525,TASK_InputProcessing,127,SEM,SEM_DataElement1,0,assigned,1
-254789575,TASK_InputProcessing,127,R,FUNC_SEMLOCK,255,terminate
-254789575,Core_1,0,C,Core_1,0,unlock
-254789575,TASK_InputProcessing,127,R,FUNC_ReadSensorData,127,start
-254918125,TASK_5MS,127,R,FUNC_EXECTIME_1,468,terminate
-254918125,Core_2,0,T,TASK_5MS,127,terminate
-254918125,TASK_5MS,127,SCHED,SCHED_Tasks_C2,-1,processterminate
-254918125,Core_2,0,C,Core_2,0,idle
-254918125,TASK_5MS,127,C,Core_2,0,idle
-254918225,TASK_5MS,127,STI,IR_SCHED_Tasks_C2,820,trigger
-254918225,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-254947850,TASK_InputProcessing,127,SIG,SIG_RotationSpeed,0,read,0
-254947850,TASK_InputProcessing,127,SIG,SIG_Lambda,0,read,0
-254947850,TASK_InputProcessing,127,SIG,SIG_Temperature,0,read,0
-254947850,TASK_InputProcessing,127,R,FUNC_ReadSensorData,127,terminate
-254947850,TASK_InputProcessing,127,R,FUNC_SEMUNLOCK,255,start
-255000000,SIM,-1,STI,TIMER-10MS,25,trigger
-255000000,TIMER-10MS,25,T,TASK_10MS,25,activate
-255000000,TASK_10MS,25,SCHED,SCHED_Tasks_C2,-1,processactivate
-255000100,TASK_10MS,25,STI,IR_SCHED_Tasks_C2,821,trigger
-255000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-255000100,Core_2,0,T,TASK_10MS,25,start
-255000100,TASK_10MS,25,R,FUNC_EXECTIME_1,470,start
-255000100,Core_2,0,C,Core_2,0,execute
-255000100,TASK_10MS,25,C,Core_2,0,execute
-255147850,TASK_InputProcessing,127,SEM,SEM_DataElement1,0,released,1
-255147850,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-255147850,TASK_InputProcessing,127,SCHED,SCHED_Tasks_C1,-1,schedulepoint
-255147850,Core_1,0,C,Core_1,0,lock
-255147900,TASK_InputProcessing,127,R,FUNC_SEMUNLOCK,255,terminate
-255147900,Core_1,0,C,Core_1,0,unlock
-255147900,TASK_InputProcessing,127,STI,IPA_InputReady,127,trigger
-255147900,IPA_InputReady,127,T,TASK_CalcEngineSpeed,127,activate
-255147900,TASK_CalcEngineSpeed,127,SCHED,SCHED_Tasks_C2,-1,processactivate
-255147900,Core_1,0,T,TASK_InputProcessing,127,terminate
-255147900,TASK_InputProcessing,127,SCHED,SCHED_Tasks_C1,-1,processterminate
-255147900,Core_1,0,C,Core_1,0,idle
-255147900,TASK_InputProcessing,127,C,Core_1,0,idle
-255147950,TASK_InputProcessing,127,STI,IR_SCHED_Tasks_C1,863,trigger
-255147950,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-255148000,TASK_CalcEngineSpeed,127,STI,IR_SCHED_Tasks_C2,822,trigger
-255148000,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-255148000,TASK_10MS,25,R,FUNC_EXECTIME_1,470,suspend
-255148000,Core_2,0,T,TASK_10MS,25,preempt
-255148000,Core_2,0,C,Core_2,0,idle_execution
-255148000,TASK_10MS,25,C,Core_2,0,idle_execution
-255148000,Core_2,0,T,TASK_CalcEngineSpeed,127,start
-255148000,TASK_CalcEngineSpeed,127,R,FUNC_ENGINESPEED,127,start
-255148000,Core_2,0,C,Core_2,0,execute
-255148000,TASK_CalcEngineSpeed,127,C,Core_2,0,execute
-255250000,SIM,-1,STI,TIMER-1MS,255,trigger
-255250000,TIMER-1MS,255,T,TASK_1MS,255,activate
-255250000,TASK_1MS,255,SCHED,SCHED_Tasks_C1,-1,processactivate
-255250100,TASK_1MS,255,STI,IR_SCHED_Tasks_C1,864,trigger
-255250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-255250100,Core_1,0,T,TASK_1MS,255,start
-255250100,TASK_1MS,255,R,FUNC_EXECTIME_1,471,start
-255250100,Core_1,0,C,Core_1,0,execute
-255250100,TASK_1MS,255,C,Core_1,0,execute
-255369000,TASK_CalcEngineSpeed,127,R,FUNC_ENGINESPEED,127,terminate
-255369000,Core_2,0,T,TASK_CalcEngineSpeed,127,terminate
-255369000,TASK_CalcEngineSpeed,127,SCHED,SCHED_Tasks_C2,-1,processterminate
-255369000,Core_2,0,C,Core_2,0,idle
-255369000,TASK_CalcEngineSpeed,127,C,Core_2,0,idle
-255369100,TASK_CalcEngineSpeed,127,STI,IR_SCHED_Tasks_C2,823,trigger
-255369100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-255369100,Core_2,0,C,Core_2,0,execute_idle
-255369100,TASK_10MS,25,C,Core_2,0,execute_idle
-255369100,Core_2,0,T,TASK_10MS,25,resume
-255369100,TASK_10MS,25,R,FUNC_EXECTIME_1,470,resume
-255718400,TASK_1MS,255,R,FUNC_EXECTIME_1,471,terminate
-255718400,Core_1,0,T,TASK_1MS,255,terminate
-255718400,TASK_1MS,255,SCHED,SCHED_Tasks_C1,-1,processterminate
-255718400,Core_1,0,C,Core_1,0,idle
-255718400,TASK_1MS,255,C,Core_1,0,idle
-255718500,TASK_1MS,255,STI,IR_SCHED_Tasks_C1,865,trigger
-255718500,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-255794275,TASK_10MS,25,R,FUNC_EXECTIME_1,470,terminate
-255794275,Core_2,0,T,TASK_10MS,25,terminate
-255794275,TASK_10MS,25,SCHED,SCHED_Tasks_C2,-1,processterminate
-255794275,Core_2,0,C,Core_2,0,idle
-255794275,TASK_10MS,25,C,Core_2,0,idle
-255794375,TASK_10MS,25,STI,IR_SCHED_Tasks_C2,824,trigger
-255794375,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-256000000,SIM,-1,STI,TIMER-B_2ms,128,trigger
-256000000,TIMER-B_2ms,128,T,TASK_WritingActuator,128,activate
-256000000,TASK_WritingActuator,128,SCHED,SCHED_Tasks_C2,-1,processactivate
-256000100,TASK_WritingActuator,128,STI,IR_SCHED_Tasks_C2,825,trigger
-256000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-256000100,Core_2,0,T,TASK_WritingActuator,128,start
-256000100,TASK_WritingActuator,128,R,FUNC_SEMLOCK,256,start
-256000100,Core_2,0,C,Core_2,0,execute
-256000100,TASK_WritingActuator,128,C,Core_2,0,execute
-256100000,SIM,-1,STI,TIMER-5MS,128,trigger
-256100000,TIMER-5MS,128,T,TASK_5MS,128,activate
-256100000,TASK_5MS,128,SCHED,SCHED_Tasks_C2,-1,processactivate
-256100100,TASK_5MS,128,STI,IR_SCHED_Tasks_C2,826,trigger
-256100100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-256125100,TASK_WritingActuator,128,SEM,SEM_DataElement1,0,requestsemaphore,0
-256125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-256125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-256125100,Core_2,0,C,Core_2,0,lock
-256125100,TASK_WritingActuator,128,SEM,SEM_DataElement1,0,assigned,1
-256125150,TASK_WritingActuator,128,R,FUNC_SEMLOCK,256,terminate
-256125150,Core_2,0,C,Core_2,0,unlock
-256125150,TASK_WritingActuator,128,R,FUNC_WriteData,128,start
-256150000,SIM,-1,STI,TIMER-A_2ms,128,trigger
-256150000,TIMER-A_2ms,128,T,TASK_InputProcessing,128,activate
-256150000,TASK_InputProcessing,128,SCHED,SCHED_Tasks_C1,-1,processactivate
-256150100,TASK_InputProcessing,128,STI,IR_SCHED_Tasks_C1,866,trigger
-256150100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-256150100,Core_1,0,T,TASK_InputProcessing,128,start
-256150100,TASK_InputProcessing,128,R,FUNC_SEMLOCK,257,start
-256150100,Core_1,0,C,Core_1,0,execute
-256150100,TASK_InputProcessing,128,C,Core_1,0,execute
-256152350,TASK_WritingActuator,128,SIG,SIG_Mixture,0,write,0
-256152350,TASK_WritingActuator,128,R,FUNC_WriteData,128,terminate
-256152350,TASK_WritingActuator,128,R,FUNC_SEMUNLOCK,256,start
-256250000,SIM,-1,STI,TIMER-1MS,256,trigger
-256250000,TIMER-1MS,256,T,TASK_1MS,256,activate
-256250000,TASK_1MS,256,SCHED,SCHED_Tasks_C1,-1,processactivate
-256250100,TASK_1MS,256,STI,IR_SCHED_Tasks_C1,867,trigger
-256250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-256250100,TASK_InputProcessing,128,R,FUNC_SEMLOCK,257,suspend
-256250100,Core_1,0,T,TASK_InputProcessing,128,preempt
-256250100,Core_1,0,C,Core_1,0,idle_execution
-256250100,TASK_InputProcessing,128,C,Core_1,0,idle_execution
-256250100,Core_1,0,T,TASK_1MS,256,start
-256250100,TASK_1MS,256,R,FUNC_EXECTIME_1,473,start
-256250100,Core_1,0,C,Core_1,0,execute
-256250100,TASK_1MS,256,C,Core_1,0,execute
-256352350,TASK_WritingActuator,128,SEM,SEM_DataElement1,0,released,1
-256352350,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-256352350,TASK_WritingActuator,128,SCHED,SCHED_Tasks_C2,-1,schedulepoint
-256352350,Core_2,0,C,Core_2,0,lock
-256352400,TASK_WritingActuator,128,R,FUNC_SEMUNLOCK,256,terminate
-256352400,Core_2,0,T,TASK_WritingActuator,128,terminate
-256352400,TASK_WritingActuator,128,SCHED,SCHED_Tasks_C2,-1,processterminate
-256352400,Core_2,0,C,Core_2,0,unlock
-256352400,Core_2,0,C,Core_2,0,idle
-256352400,TASK_WritingActuator,128,C,Core_2,0,idle
-256352450,TASK_WritingActuator,128,STI,IR_SCHED_Tasks_C2,827,trigger
-256352450,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-256352450,Core_2,0,T,TASK_5MS,128,start
-256352450,TASK_5MS,128,R,FUNC_EXECTIME_1,472,start
-256352450,Core_2,0,C,Core_2,0,execute
-256352450,TASK_5MS,128,C,Core_2,0,execute
-256754200,TASK_1MS,256,R,FUNC_EXECTIME_1,473,terminate
-256754200,Core_1,0,T,TASK_1MS,256,terminate
-256754200,TASK_1MS,256,SCHED,SCHED_Tasks_C1,-1,processterminate
-256754200,Core_1,0,C,Core_1,0,idle
-256754200,TASK_1MS,256,C,Core_1,0,idle
-256754300,TASK_1MS,256,STI,IR_SCHED_Tasks_C1,868,trigger
-256754300,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-256754300,Core_1,0,C,Core_1,0,execute_idle
-256754300,TASK_InputProcessing,128,C,Core_1,0,execute_idle
-256754300,Core_1,0,T,TASK_InputProcessing,128,resume
-256754300,TASK_InputProcessing,128,R,FUNC_SEMLOCK,257,resume
-256779300,TASK_InputProcessing,128,SEM,SEM_DataElement1,0,requestsemaphore,0
-256779300,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-256779300,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-256779300,Core_1,0,C,Core_1,0,lock
-256779300,TASK_InputProcessing,128,SEM,SEM_DataElement1,0,assigned,1
-256779350,TASK_InputProcessing,128,R,FUNC_SEMLOCK,257,terminate
-256779350,Core_1,0,C,Core_1,0,unlock
-256779350,TASK_InputProcessing,128,R,FUNC_ReadSensorData,128,start
-256825775,TASK_5MS,128,R,FUNC_EXECTIME_1,472,terminate
-256825775,Core_2,0,T,TASK_5MS,128,terminate
-256825775,TASK_5MS,128,SCHED,SCHED_Tasks_C2,-1,processterminate
-256825775,Core_2,0,C,Core_2,0,idle
-256825775,TASK_5MS,128,C,Core_2,0,idle
-256825875,TASK_5MS,128,STI,IR_SCHED_Tasks_C2,828,trigger
-256825875,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-256941375,TASK_InputProcessing,128,SIG,SIG_RotationSpeed,0,read,0
-256941375,TASK_InputProcessing,128,SIG,SIG_Lambda,0,read,0
-256941375,TASK_InputProcessing,128,SIG,SIG_Temperature,0,read,0
-256941375,TASK_InputProcessing,128,R,FUNC_ReadSensorData,128,terminate
-256941375,TASK_InputProcessing,128,R,FUNC_SEMUNLOCK,257,start
-257141375,TASK_InputProcessing,128,SEM,SEM_DataElement1,0,released,1
-257141375,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-257141375,TASK_InputProcessing,128,SCHED,SCHED_Tasks_C1,-1,schedulepoint
-257141375,Core_1,0,C,Core_1,0,lock
-257141425,TASK_InputProcessing,128,R,FUNC_SEMUNLOCK,257,terminate
-257141425,Core_1,0,C,Core_1,0,unlock
-257141425,TASK_InputProcessing,128,STI,IPA_InputReady,128,trigger
-257141425,IPA_InputReady,128,T,TASK_CalcEngineSpeed,128,activate
-257141425,TASK_CalcEngineSpeed,128,SCHED,SCHED_Tasks_C2,-1,processactivate
-257141425,Core_1,0,T,TASK_InputProcessing,128,terminate
-257141425,TASK_InputProcessing,128,SCHED,SCHED_Tasks_C1,-1,processterminate
-257141425,Core_1,0,C,Core_1,0,idle
-257141425,TASK_InputProcessing,128,C,Core_1,0,idle
-257141475,TASK_InputProcessing,128,STI,IR_SCHED_Tasks_C1,869,trigger
-257141475,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-257141525,TASK_CalcEngineSpeed,128,STI,IR_SCHED_Tasks_C2,829,trigger
-257141525,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-257141525,Core_2,0,T,TASK_CalcEngineSpeed,128,start
-257141525,TASK_CalcEngineSpeed,128,R,FUNC_ENGINESPEED,128,start
-257141525,Core_2,0,C,Core_2,0,execute
-257141525,TASK_CalcEngineSpeed,128,C,Core_2,0,execute
-257247400,TASK_CalcEngineSpeed,128,R,FUNC_ENGINESPEED,128,terminate
-257247400,Core_2,0,T,TASK_CalcEngineSpeed,128,terminate
-257247400,TASK_CalcEngineSpeed,128,SCHED,SCHED_Tasks_C2,-1,processterminate
-257247400,Core_2,0,C,Core_2,0,idle
-257247400,TASK_CalcEngineSpeed,128,C,Core_2,0,idle
-257247500,TASK_CalcEngineSpeed,128,STI,IR_SCHED_Tasks_C2,830,trigger
-257247500,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-257250000,SIM,-1,STI,TIMER-1MS,257,trigger
-257250000,TIMER-1MS,257,T,TASK_1MS,257,activate
-257250000,TASK_1MS,257,SCHED,SCHED_Tasks_C1,-1,processactivate
-257250100,TASK_1MS,257,STI,IR_SCHED_Tasks_C1,870,trigger
-257250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-257250100,Core_1,0,T,TASK_1MS,257,start
-257250100,TASK_1MS,257,R,FUNC_EXECTIME_1,474,start
-257250100,Core_1,0,C,Core_1,0,execute
-257250100,TASK_1MS,257,C,Core_1,0,execute
-257983125,TASK_1MS,257,R,FUNC_EXECTIME_1,474,terminate
-257983125,Core_1,0,T,TASK_1MS,257,terminate
-257983125,TASK_1MS,257,SCHED,SCHED_Tasks_C1,-1,processterminate
-257983125,Core_1,0,C,Core_1,0,idle
-257983125,TASK_1MS,257,C,Core_1,0,idle
-257983225,TASK_1MS,257,STI,IR_SCHED_Tasks_C1,871,trigger
-257983225,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-258000000,SIM,-1,STI,TIMER-B_2ms,129,trigger
-258000000,TIMER-B_2ms,129,T,TASK_WritingActuator,129,activate
-258000000,TASK_WritingActuator,129,SCHED,SCHED_Tasks_C2,-1,processactivate
-258000100,TASK_WritingActuator,129,STI,IR_SCHED_Tasks_C2,831,trigger
-258000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-258000100,Core_2,0,T,TASK_WritingActuator,129,start
-258000100,TASK_WritingActuator,129,R,FUNC_SEMLOCK,258,start
-258000100,Core_2,0,C,Core_2,0,execute
-258000100,TASK_WritingActuator,129,C,Core_2,0,execute
-258100000,SIM,-1,STI,TIMER-5MS,129,trigger
-258100000,TIMER-5MS,129,T,TASK_5MS,129,activate
-258100000,TASK_5MS,129,SCHED,SCHED_Tasks_C2,-1,processactivate
-258100100,TASK_5MS,129,STI,IR_SCHED_Tasks_C2,832,trigger
-258100100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-258125100,TASK_WritingActuator,129,SEM,SEM_DataElement1,0,requestsemaphore,0
-258125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-258125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-258125100,Core_2,0,C,Core_2,0,lock
-258125100,TASK_WritingActuator,129,SEM,SEM_DataElement1,0,assigned,1
-258125150,TASK_WritingActuator,129,R,FUNC_SEMLOCK,258,terminate
-258125150,Core_2,0,C,Core_2,0,unlock
-258125150,TASK_WritingActuator,129,R,FUNC_WriteData,129,start
-258150000,SIM,-1,STI,TIMER-A_2ms,129,trigger
-258150000,TIMER-A_2ms,129,T,TASK_InputProcessing,129,activate
-258150000,TASK_InputProcessing,129,SCHED,SCHED_Tasks_C1,-1,processactivate
-258150100,TASK_InputProcessing,129,STI,IR_SCHED_Tasks_C1,872,trigger
-258150100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-258150100,Core_1,0,T,TASK_InputProcessing,129,start
-258150100,TASK_InputProcessing,129,R,FUNC_SEMLOCK,259,start
-258150100,Core_1,0,C,Core_1,0,execute
-258150100,TASK_InputProcessing,129,C,Core_1,0,execute
-258152100,TASK_WritingActuator,129,SIG,SIG_Mixture,0,write,0
-258152100,TASK_WritingActuator,129,R,FUNC_WriteData,129,terminate
-258152100,TASK_WritingActuator,129,R,FUNC_SEMUNLOCK,258,start
-258250000,SIM,-1,STI,TIMER-1MS,258,trigger
-258250000,TIMER-1MS,258,T,TASK_1MS,258,activate
-258250000,TASK_1MS,258,SCHED,SCHED_Tasks_C1,-1,processactivate
-258250100,TASK_1MS,258,STI,IR_SCHED_Tasks_C1,873,trigger
-258250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-258250100,TASK_InputProcessing,129,R,FUNC_SEMLOCK,259,suspend
-258250100,Core_1,0,T,TASK_InputProcessing,129,preempt
-258250100,Core_1,0,C,Core_1,0,idle_execution
-258250100,TASK_InputProcessing,129,C,Core_1,0,idle_execution
-258250100,Core_1,0,T,TASK_1MS,258,start
-258250100,TASK_1MS,258,R,FUNC_EXECTIME_1,476,start
-258250100,Core_1,0,C,Core_1,0,execute
-258250100,TASK_1MS,258,C,Core_1,0,execute
-258352100,TASK_WritingActuator,129,SEM,SEM_DataElement1,0,released,1
-258352100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-258352100,TASK_WritingActuator,129,SCHED,SCHED_Tasks_C2,-1,schedulepoint
-258352100,Core_2,0,C,Core_2,0,lock
-258352150,TASK_WritingActuator,129,R,FUNC_SEMUNLOCK,258,terminate
-258352150,Core_2,0,T,TASK_WritingActuator,129,terminate
-258352150,TASK_WritingActuator,129,SCHED,SCHED_Tasks_C2,-1,processterminate
-258352150,Core_2,0,C,Core_2,0,unlock
-258352150,Core_2,0,C,Core_2,0,idle
-258352150,TASK_WritingActuator,129,C,Core_2,0,idle
-258352200,TASK_WritingActuator,129,STI,IR_SCHED_Tasks_C2,833,trigger
-258352200,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-258352200,Core_2,0,T,TASK_5MS,129,start
-258352200,TASK_5MS,129,R,FUNC_EXECTIME_1,475,start
-258352200,Core_2,0,C,Core_2,0,execute
-258352200,TASK_5MS,129,C,Core_2,0,execute
-258603900,TASK_1MS,258,R,FUNC_EXECTIME_1,476,terminate
-258603900,Core_1,0,T,TASK_1MS,258,terminate
-258603900,TASK_1MS,258,SCHED,SCHED_Tasks_C1,-1,processterminate
-258603900,Core_1,0,C,Core_1,0,idle
-258603900,TASK_1MS,258,C,Core_1,0,idle
-258604000,TASK_1MS,258,STI,IR_SCHED_Tasks_C1,874,trigger
-258604000,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-258604000,Core_1,0,C,Core_1,0,execute_idle
-258604000,TASK_InputProcessing,129,C,Core_1,0,execute_idle
-258604000,Core_1,0,T,TASK_InputProcessing,129,resume
-258604000,TASK_InputProcessing,129,R,FUNC_SEMLOCK,259,resume
-258629000,TASK_InputProcessing,129,SEM,SEM_DataElement1,0,requestsemaphore,0
-258629000,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-258629000,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-258629000,Core_1,0,C,Core_1,0,lock
-258629000,TASK_InputProcessing,129,SEM,SEM_DataElement1,0,assigned,1
-258629050,TASK_InputProcessing,129,R,FUNC_SEMLOCK,259,terminate
-258629050,Core_1,0,C,Core_1,0,unlock
-258629050,TASK_InputProcessing,129,R,FUNC_ReadSensorData,129,start
-258794450,TASK_InputProcessing,129,SIG,SIG_RotationSpeed,0,read,0
-258794450,TASK_InputProcessing,129,SIG,SIG_Lambda,0,read,0
-258794450,TASK_InputProcessing,129,SIG,SIG_Temperature,0,read,0
-258794450,TASK_InputProcessing,129,R,FUNC_ReadSensorData,129,terminate
-258794450,TASK_InputProcessing,129,R,FUNC_SEMUNLOCK,259,start
-258994450,TASK_InputProcessing,129,SEM,SEM_DataElement1,0,released,1
-258994450,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-258994450,TASK_InputProcessing,129,SCHED,SCHED_Tasks_C1,-1,schedulepoint
-258994450,Core_1,0,C,Core_1,0,lock
-258994500,TASK_InputProcessing,129,R,FUNC_SEMUNLOCK,259,terminate
-258994500,Core_1,0,C,Core_1,0,unlock
-258994500,TASK_InputProcessing,129,STI,IPA_InputReady,129,trigger
-258994500,IPA_InputReady,129,T,TASK_CalcEngineSpeed,129,activate
-258994500,TASK_CalcEngineSpeed,129,SCHED,SCHED_Tasks_C2,-1,processactivate
-258994500,Core_1,0,T,TASK_InputProcessing,129,terminate
-258994500,TASK_InputProcessing,129,SCHED,SCHED_Tasks_C1,-1,processterminate
-258994500,Core_1,0,C,Core_1,0,idle
-258994500,TASK_InputProcessing,129,C,Core_1,0,idle
-258994550,TASK_InputProcessing,129,STI,IR_SCHED_Tasks_C1,875,trigger
-258994550,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-258994600,TASK_CalcEngineSpeed,129,STI,IR_SCHED_Tasks_C2,834,trigger
-258994600,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-258994600,TASK_5MS,129,R,FUNC_EXECTIME_1,475,suspend
-258994600,Core_2,0,T,TASK_5MS,129,preempt
-258994600,Core_2,0,C,Core_2,0,idle_execution
-258994600,TASK_5MS,129,C,Core_2,0,idle_execution
-258994600,Core_2,0,T,TASK_CalcEngineSpeed,129,start
-258994600,TASK_CalcEngineSpeed,129,R,FUNC_ENGINESPEED,129,start
-258994600,Core_2,0,C,Core_2,0,execute
-258994600,TASK_CalcEngineSpeed,129,C,Core_2,0,execute
-259143475,TASK_CalcEngineSpeed,129,R,FUNC_ENGINESPEED,129,terminate
-259143475,Core_2,0,T,TASK_CalcEngineSpeed,129,terminate
-259143475,TASK_CalcEngineSpeed,129,SCHED,SCHED_Tasks_C2,-1,processterminate
-259143475,Core_2,0,C,Core_2,0,idle
-259143475,TASK_CalcEngineSpeed,129,C,Core_2,0,idle
-259143575,TASK_CalcEngineSpeed,129,STI,IR_SCHED_Tasks_C2,835,trigger
-259143575,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-259143575,Core_2,0,C,Core_2,0,execute_idle
-259143575,TASK_5MS,129,C,Core_2,0,execute_idle
-259143575,Core_2,0,T,TASK_5MS,129,resume
-259143575,TASK_5MS,129,R,FUNC_EXECTIME_1,475,resume
-259182325,TASK_5MS,129,R,FUNC_EXECTIME_1,475,terminate
-259182325,Core_2,0,T,TASK_5MS,129,terminate
-259182325,TASK_5MS,129,SCHED,SCHED_Tasks_C2,-1,processterminate
-259182325,Core_2,0,C,Core_2,0,idle
-259182325,TASK_5MS,129,C,Core_2,0,idle
-259182425,TASK_5MS,129,STI,IR_SCHED_Tasks_C2,836,trigger
-259182425,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-259250000,SIM,-1,STI,TIMER-1MS,259,trigger
-259250000,TIMER-1MS,259,T,TASK_1MS,259,activate
-259250000,TASK_1MS,259,SCHED,SCHED_Tasks_C1,-1,processactivate
-259250100,TASK_1MS,259,STI,IR_SCHED_Tasks_C1,876,trigger
-259250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-259250100,Core_1,0,T,TASK_1MS,259,start
-259250100,TASK_1MS,259,R,FUNC_EXECTIME_1,477,start
-259250100,Core_1,0,C,Core_1,0,execute
-259250100,TASK_1MS,259,C,Core_1,0,execute
-259536025,TASK_1MS,259,R,FUNC_EXECTIME_1,477,terminate
-259536025,Core_1,0,T,TASK_1MS,259,terminate
-259536025,TASK_1MS,259,SCHED,SCHED_Tasks_C1,-1,processterminate
-259536025,Core_1,0,C,Core_1,0,idle
-259536025,TASK_1MS,259,C,Core_1,0,idle
-259536125,TASK_1MS,259,STI,IR_SCHED_Tasks_C1,877,trigger
-259536125,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-260000000,SIM,-1,STI,TIMER-B_2ms,130,trigger
-260000000,TIMER-B_2ms,130,T,TASK_WritingActuator,130,activate
-260000000,TASK_WritingActuator,130,SCHED,SCHED_Tasks_C2,-1,processactivate
-260000000,SIM,-1,STI,TIMER-10MS_2,26,trigger
-260000000,TIMER-10MS_2,26,T,TASK_10MS_DL2,26,activate
-260000000,TASK_10MS_DL2,26,SCHED,SCHED_Tasks_C1,-1,processactivate
-260000100,TASK_WritingActuator,130,STI,IR_SCHED_Tasks_C2,837,trigger
-260000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-260000100,Core_2,0,T,TASK_WritingActuator,130,start
-260000100,TASK_WritingActuator,130,R,FUNC_SEMLOCK,260,start
-260000100,Core_2,0,C,Core_2,0,execute
-260000100,TASK_WritingActuator,130,C,Core_2,0,execute
-260000100,TASK_10MS_DL2,26,STI,IR_SCHED_Tasks_C1,878,trigger
-260000100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-260000100,Core_1,0,T,TASK_10MS_DL2,26,start
-260000100,TASK_10MS_DL2,26,R,FUNC_EXECTIME_1,478,start
-260000100,Core_1,0,C,Core_1,0,execute
-260000100,TASK_10MS_DL2,26,C,Core_1,0,execute
-260005000,SIM,-1,STI,TIMER-20MS,13,trigger
-260005000,TIMER-20MS,13,T,TASK_20MS,13,activate
-260005000,TASK_20MS,13,SCHED,SCHED_Tasks_C1,-1,processactivate
-260005100,TASK_20MS,13,STI,IR_SCHED_Tasks_C1,879,trigger
-260005100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-260100000,SIM,-1,STI,TIMER-5MS,130,trigger
-260100000,TIMER-5MS,130,T,TASK_5MS,130,activate
-260100000,TASK_5MS,130,SCHED,SCHED_Tasks_C2,-1,processactivate
-260100100,TASK_5MS,130,STI,IR_SCHED_Tasks_C2,838,trigger
-260100100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-260125100,TASK_WritingActuator,130,SEM,SEM_DataElement1,0,requestsemaphore,0
-260125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-260125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-260125100,Core_2,0,C,Core_2,0,lock
-260125100,TASK_WritingActuator,130,SEM,SEM_DataElement1,0,assigned,1
-260125150,TASK_WritingActuator,130,R,FUNC_SEMLOCK,260,terminate
-260125150,Core_2,0,C,Core_2,0,unlock
-260125150,TASK_WritingActuator,130,R,FUNC_WriteData,130,start
-260150000,SIM,-1,STI,TIMER-A_2ms,130,trigger
-260150000,TIMER-A_2ms,130,T,TASK_InputProcessing,130,activate
-260150000,TASK_InputProcessing,130,SCHED,SCHED_Tasks_C1,-1,processactivate
-260150100,TASK_InputProcessing,130,STI,IR_SCHED_Tasks_C1,880,trigger
-260150100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-260151700,TASK_WritingActuator,130,SIG,SIG_Mixture,0,write,0
-260151700,TASK_WritingActuator,130,R,FUNC_WriteData,130,terminate
-260151700,TASK_WritingActuator,130,R,FUNC_SEMUNLOCK,260,start
-260250000,SIM,-1,STI,TIMER-1MS,260,trigger
-260250000,TIMER-1MS,260,T,TASK_1MS,260,activate
-260250000,TASK_1MS,260,SCHED,SCHED_Tasks_C1,-1,processactivate
-260250100,TASK_1MS,260,STI,IR_SCHED_Tasks_C1,881,trigger
-260250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-260250100,TASK_10MS_DL2,26,R,FUNC_EXECTIME_1,478,suspend
-260250100,Core_1,0,T,TASK_10MS_DL2,26,preempt
-260250100,Core_1,0,C,Core_1,0,idle_execution
-260250100,TASK_10MS_DL2,26,C,Core_1,0,idle_execution
-260250100,Core_1,0,T,TASK_1MS,260,start
-260250100,TASK_1MS,260,R,FUNC_EXECTIME_1,481,start
-260250100,Core_1,0,C,Core_1,0,execute
-260250100,TASK_1MS,260,C,Core_1,0,execute
-260351700,TASK_WritingActuator,130,SEM,SEM_DataElement1,0,released,1
-260351700,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-260351700,TASK_WritingActuator,130,SCHED,SCHED_Tasks_C2,-1,schedulepoint
-260351700,Core_2,0,C,Core_2,0,lock
-260351750,TASK_WritingActuator,130,R,FUNC_SEMUNLOCK,260,terminate
-260351750,Core_2,0,T,TASK_WritingActuator,130,terminate
-260351750,TASK_WritingActuator,130,SCHED,SCHED_Tasks_C2,-1,processterminate
-260351750,Core_2,0,C,Core_2,0,unlock
-260351750,Core_2,0,C,Core_2,0,idle
-260351750,TASK_WritingActuator,130,C,Core_2,0,idle
-260351800,TASK_WritingActuator,130,STI,IR_SCHED_Tasks_C2,839,trigger
-260351800,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-260351800,Core_2,0,T,TASK_5MS,130,start
-260351800,TASK_5MS,130,R,FUNC_EXECTIME_1,480,start
-260351800,Core_2,0,C,Core_2,0,execute
-260351800,TASK_5MS,130,C,Core_2,0,execute
-260712150,TASK_1MS,260,R,FUNC_EXECTIME_1,481,terminate
-260712150,Core_1,0,T,TASK_1MS,260,terminate
-260712150,TASK_1MS,260,SCHED,SCHED_Tasks_C1,-1,processterminate
-260712150,Core_1,0,C,Core_1,0,idle
-260712150,TASK_1MS,260,C,Core_1,0,idle
-260712250,TASK_1MS,260,STI,IR_SCHED_Tasks_C1,882,trigger
-260712250,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-260712250,Core_1,0,C,Core_1,0,execute_idle
-260712250,TASK_10MS_DL2,26,C,Core_1,0,execute_idle
-260712250,Core_1,0,T,TASK_10MS_DL2,26,resume
-260712250,TASK_10MS_DL2,26,R,FUNC_EXECTIME_1,478,resume
-260897250,TASK_5MS,130,R,FUNC_EXECTIME_1,480,terminate
-260897250,Core_2,0,T,TASK_5MS,130,terminate
-260897250,TASK_5MS,130,SCHED,SCHED_Tasks_C2,-1,processterminate
-260897250,Core_2,0,C,Core_2,0,idle
-260897250,TASK_5MS,130,C,Core_2,0,idle
-260897350,TASK_5MS,130,STI,IR_SCHED_Tasks_C2,840,trigger
-260897350,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-261179750,TASK_10MS_DL2,26,R,FUNC_EXECTIME_1,478,terminate
-261179750,Core_1,0,T,TASK_10MS_DL2,26,terminate
-261179750,TASK_10MS_DL2,26,SCHED,SCHED_Tasks_C1,-1,processterminate
-261179750,Core_1,0,C,Core_1,0,idle
-261179750,TASK_10MS_DL2,26,C,Core_1,0,idle
-261179850,TASK_10MS_DL2,26,STI,IR_SCHED_Tasks_C1,883,trigger
-261179850,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-261179850,Core_1,0,T,TASK_InputProcessing,130,start
-261179850,TASK_InputProcessing,130,R,FUNC_SEMLOCK,261,start
-261179850,Core_1,0,C,Core_1,0,execute
-261179850,TASK_InputProcessing,130,C,Core_1,0,execute
-261250000,SIM,-1,STI,TIMER-1MS,261,trigger
-261250000,TIMER-1MS,261,T,TASK_1MS,261,activate
-261250000,TASK_1MS,261,SCHED,SCHED_Tasks_C1,-1,processactivate
-261250100,TASK_1MS,261,STI,IR_SCHED_Tasks_C1,884,trigger
-261250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-261250100,TASK_InputProcessing,130,R,FUNC_SEMLOCK,261,suspend
-261250100,Core_1,0,T,TASK_InputProcessing,130,preempt
-261250100,Core_1,0,C,Core_1,0,idle_execution
-261250100,TASK_InputProcessing,130,C,Core_1,0,idle_execution
-261250100,Core_1,0,T,TASK_1MS,261,start
-261250100,TASK_1MS,261,R,FUNC_EXECTIME_1,482,start
-261250100,Core_1,0,C,Core_1,0,execute
-261250100,TASK_1MS,261,C,Core_1,0,execute
-261676775,TASK_1MS,261,R,FUNC_EXECTIME_1,482,terminate
-261676775,Core_1,0,T,TASK_1MS,261,terminate
-261676775,TASK_1MS,261,SCHED,SCHED_Tasks_C1,-1,processterminate
-261676775,Core_1,0,C,Core_1,0,idle
-261676775,TASK_1MS,261,C,Core_1,0,idle
-261676875,TASK_1MS,261,STI,IR_SCHED_Tasks_C1,885,trigger
-261676875,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-261676875,Core_1,0,C,Core_1,0,execute_idle
-261676875,TASK_InputProcessing,130,C,Core_1,0,execute_idle
-261676875,Core_1,0,T,TASK_InputProcessing,130,resume
-261676875,TASK_InputProcessing,130,R,FUNC_SEMLOCK,261,resume
-261731625,TASK_InputProcessing,130,SEM,SEM_DataElement1,0,requestsemaphore,0
-261731625,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-261731625,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-261731625,Core_1,0,C,Core_1,0,lock
-261731625,TASK_InputProcessing,130,SEM,SEM_DataElement1,0,assigned,1
-261731675,TASK_InputProcessing,130,R,FUNC_SEMLOCK,261,terminate
-261731675,Core_1,0,C,Core_1,0,unlock
-261731675,TASK_InputProcessing,130,R,FUNC_ReadSensorData,130,start
-261896000,TASK_InputProcessing,130,SIG,SIG_RotationSpeed,0,read,0
-261896000,TASK_InputProcessing,130,SIG,SIG_Lambda,0,read,0
-261896000,TASK_InputProcessing,130,SIG,SIG_Temperature,0,read,0
-261896000,TASK_InputProcessing,130,R,FUNC_ReadSensorData,130,terminate
-261896000,TASK_InputProcessing,130,R,FUNC_SEMUNLOCK,261,start
-262000000,SIM,-1,STI,TIMER-B_2ms,131,trigger
-262000000,TIMER-B_2ms,131,T,TASK_WritingActuator,131,activate
-262000000,TASK_WritingActuator,131,SCHED,SCHED_Tasks_C2,-1,processactivate
-262000100,TASK_WritingActuator,131,STI,IR_SCHED_Tasks_C2,841,trigger
-262000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-262000100,Core_2,0,T,TASK_WritingActuator,131,start
-262000100,TASK_WritingActuator,131,R,FUNC_SEMLOCK,262,start
-262000100,Core_2,0,C,Core_2,0,execute
-262000100,TASK_WritingActuator,131,C,Core_2,0,execute
-262096000,TASK_InputProcessing,130,SEM,SEM_DataElement1,0,released,1
-262096000,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-262096000,TASK_InputProcessing,130,SCHED,SCHED_Tasks_C1,-1,schedulepoint
-262096000,Core_1,0,C,Core_1,0,lock
-262096050,TASK_InputProcessing,130,R,FUNC_SEMUNLOCK,261,terminate
-262096050,Core_1,0,C,Core_1,0,unlock
-262096050,TASK_InputProcessing,130,STI,IPA_InputReady,130,trigger
-262096050,IPA_InputReady,130,T,TASK_CalcEngineSpeed,130,activate
-262096050,TASK_CalcEngineSpeed,130,SCHED,SCHED_Tasks_C2,-1,processactivate
-262096050,Core_1,0,T,TASK_InputProcessing,130,terminate
-262096050,TASK_InputProcessing,130,SCHED,SCHED_Tasks_C1,-1,processterminate
-262096050,Core_1,0,C,Core_1,0,idle
-262096050,TASK_InputProcessing,130,C,Core_1,0,idle
-262096100,TASK_InputProcessing,130,STI,IR_SCHED_Tasks_C1,886,trigger
-262096100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-262096100,Core_1,0,T,TASK_20MS,13,start
-262096100,TASK_20MS,13,R,FUNC_EXECTIME_1,479,start
-262096100,Core_1,0,C,Core_1,0,execute
-262096100,TASK_20MS,13,C,Core_1,0,execute
-262096150,TASK_CalcEngineSpeed,130,STI,IR_SCHED_Tasks_C2,842,trigger
-262096150,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-262100000,SIM,-1,STI,TIMER-5MS,131,trigger
-262100000,TIMER-5MS,131,T,TASK_5MS,131,activate
-262100000,TASK_5MS,131,SCHED,SCHED_Tasks_C2,-1,processactivate
-262100100,TASK_5MS,131,STI,IR_SCHED_Tasks_C2,843,trigger
-262100100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-262125100,TASK_WritingActuator,131,SEM,SEM_DataElement1,0,requestsemaphore,0
-262125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-262125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-262125100,Core_2,0,C,Core_2,0,lock
-262125100,TASK_WritingActuator,131,SEM,SEM_DataElement1,0,assigned,1
-262125150,TASK_WritingActuator,131,R,FUNC_SEMLOCK,262,terminate
-262125150,Core_2,0,C,Core_2,0,unlock
-262125150,TASK_WritingActuator,131,R,FUNC_WriteData,131,start
-262150000,SIM,-1,STI,TIMER-A_2ms,131,trigger
-262150000,TIMER-A_2ms,131,T,TASK_InputProcessing,131,activate
-262150000,TASK_InputProcessing,131,SCHED,SCHED_Tasks_C1,-1,processactivate
-262150100,TASK_InputProcessing,131,STI,IR_SCHED_Tasks_C1,887,trigger
-262150100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-262150100,TASK_20MS,13,R,FUNC_EXECTIME_1,479,suspend
-262150100,Core_1,0,T,TASK_20MS,13,preempt
-262150100,Core_1,0,C,Core_1,0,idle_execution
-262150100,TASK_20MS,13,C,Core_1,0,idle_execution
-262150100,Core_1,0,T,TASK_InputProcessing,131,start
-262150100,TASK_InputProcessing,131,R,FUNC_SEMLOCK,263,start
-262150100,Core_1,0,C,Core_1,0,execute
-262150100,TASK_InputProcessing,131,C,Core_1,0,execute
-262152600,TASK_WritingActuator,131,SIG,SIG_Mixture,0,write,0
-262152600,TASK_WritingActuator,131,R,FUNC_WriteData,131,terminate
-262152600,TASK_WritingActuator,131,R,FUNC_SEMUNLOCK,262,start
-262250000,SIM,-1,STI,TIMER-1MS,262,trigger
-262250000,TIMER-1MS,262,T,TASK_1MS,262,activate
-262250000,TASK_1MS,262,SCHED,SCHED_Tasks_C1,-1,processactivate
-262250100,TASK_1MS,262,STI,IR_SCHED_Tasks_C1,888,trigger
-262250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-262250100,TASK_InputProcessing,131,R,FUNC_SEMLOCK,263,suspend
-262250100,Core_1,0,T,TASK_InputProcessing,131,preempt
-262250100,Core_1,0,C,Core_1,0,idle_execution
-262250100,TASK_InputProcessing,131,C,Core_1,0,idle_execution
-262250100,Core_1,0,T,TASK_1MS,262,start
-262250100,TASK_1MS,262,R,FUNC_EXECTIME_1,484,start
-262250100,Core_1,0,C,Core_1,0,execute
-262250100,TASK_1MS,262,C,Core_1,0,execute
-262352600,TASK_WritingActuator,131,SEM,SEM_DataElement1,0,released,1
-262352600,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-262352600,TASK_WritingActuator,131,SCHED,SCHED_Tasks_C2,-1,schedulepoint
-262352600,Core_2,0,C,Core_2,0,lock
-262352650,TASK_WritingActuator,131,R,FUNC_SEMUNLOCK,262,terminate
-262352650,Core_2,0,T,TASK_WritingActuator,131,terminate
-262352650,TASK_WritingActuator,131,SCHED,SCHED_Tasks_C2,-1,processterminate
-262352650,Core_2,0,C,Core_2,0,unlock
-262352650,Core_2,0,C,Core_2,0,idle
-262352650,TASK_WritingActuator,131,C,Core_2,0,idle
-262352700,TASK_WritingActuator,131,STI,IR_SCHED_Tasks_C2,844,trigger
-262352700,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-262352700,Core_2,0,T,TASK_CalcEngineSpeed,130,start
-262352700,TASK_CalcEngineSpeed,130,R,FUNC_ENGINESPEED,130,start
-262352700,Core_2,0,C,Core_2,0,execute
-262352700,TASK_CalcEngineSpeed,130,C,Core_2,0,execute
-262572300,TASK_CalcEngineSpeed,130,R,FUNC_ENGINESPEED,130,terminate
-262572300,Core_2,0,T,TASK_CalcEngineSpeed,130,terminate
-262572300,TASK_CalcEngineSpeed,130,SCHED,SCHED_Tasks_C2,-1,processterminate
-262572300,Core_2,0,C,Core_2,0,idle
-262572300,TASK_CalcEngineSpeed,130,C,Core_2,0,idle
-262572400,TASK_CalcEngineSpeed,130,STI,IR_SCHED_Tasks_C2,845,trigger
-262572400,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-262572400,Core_2,0,T,TASK_5MS,131,start
-262572400,TASK_5MS,131,R,FUNC_EXECTIME_1,483,start
-262572400,Core_2,0,C,Core_2,0,execute
-262572400,TASK_5MS,131,C,Core_2,0,execute
-262693550,TASK_1MS,262,R,FUNC_EXECTIME_1,484,terminate
-262693550,Core_1,0,T,TASK_1MS,262,terminate
-262693550,TASK_1MS,262,SCHED,SCHED_Tasks_C1,-1,processterminate
-262693550,Core_1,0,C,Core_1,0,idle
-262693550,TASK_1MS,262,C,Core_1,0,idle
-262693650,TASK_1MS,262,STI,IR_SCHED_Tasks_C1,889,trigger
-262693650,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-262693650,Core_1,0,C,Core_1,0,execute_idle
-262693650,TASK_InputProcessing,131,C,Core_1,0,execute_idle
-262693650,Core_1,0,T,TASK_InputProcessing,131,resume
-262693650,TASK_InputProcessing,131,R,FUNC_SEMLOCK,263,resume
-262718650,TASK_InputProcessing,131,SEM,SEM_DataElement1,0,requestsemaphore,0
-262718650,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-262718650,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-262718650,Core_1,0,C,Core_1,0,lock
-262718650,TASK_InputProcessing,131,SEM,SEM_DataElement1,0,assigned,1
-262718700,TASK_InputProcessing,131,R,FUNC_SEMLOCK,263,terminate
-262718700,Core_1,0,C,Core_1,0,unlock
-262718700,TASK_InputProcessing,131,R,FUNC_ReadSensorData,131,start
-262880750,TASK_InputProcessing,131,SIG,SIG_RotationSpeed,0,read,0
-262880750,TASK_InputProcessing,131,SIG,SIG_Lambda,0,read,0
-262880750,TASK_InputProcessing,131,SIG,SIG_Temperature,0,read,0
-262880750,TASK_InputProcessing,131,R,FUNC_ReadSensorData,131,terminate
-262880750,TASK_InputProcessing,131,R,FUNC_SEMUNLOCK,263,start
-263080750,TASK_InputProcessing,131,SEM,SEM_DataElement1,0,released,1
-263080750,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-263080750,TASK_InputProcessing,131,SCHED,SCHED_Tasks_C1,-1,schedulepoint
-263080750,Core_1,0,C,Core_1,0,lock
-263080800,TASK_InputProcessing,131,R,FUNC_SEMUNLOCK,263,terminate
-263080800,Core_1,0,C,Core_1,0,unlock
-263080800,TASK_InputProcessing,131,STI,IPA_InputReady,131,trigger
-263080800,IPA_InputReady,131,T,TASK_CalcEngineSpeed,131,activate
-263080800,TASK_CalcEngineSpeed,131,SCHED,SCHED_Tasks_C2,-1,processactivate
-263080800,Core_1,0,T,TASK_InputProcessing,131,terminate
-263080800,TASK_InputProcessing,131,SCHED,SCHED_Tasks_C1,-1,processterminate
-263080800,Core_1,0,C,Core_1,0,idle
-263080800,TASK_InputProcessing,131,C,Core_1,0,idle
-263080850,TASK_InputProcessing,131,STI,IR_SCHED_Tasks_C1,890,trigger
-263080850,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-263080850,Core_1,0,C,Core_1,0,execute_idle
-263080850,TASK_20MS,13,C,Core_1,0,execute_idle
-263080850,Core_1,0,T,TASK_20MS,13,resume
-263080850,TASK_20MS,13,R,FUNC_EXECTIME_1,479,resume
-263080900,TASK_CalcEngineSpeed,131,STI,IR_SCHED_Tasks_C2,846,trigger
-263080900,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-263080900,TASK_5MS,131,R,FUNC_EXECTIME_1,483,suspend
-263080900,Core_2,0,T,TASK_5MS,131,preempt
-263080900,Core_2,0,C,Core_2,0,idle_execution
-263080900,TASK_5MS,131,C,Core_2,0,idle_execution
-263080900,Core_2,0,T,TASK_CalcEngineSpeed,131,start
-263080900,TASK_CalcEngineSpeed,131,R,FUNC_ENGINESPEED,131,start
-263080900,Core_2,0,C,Core_2,0,execute
-263080900,TASK_CalcEngineSpeed,131,C,Core_2,0,execute
-263213125,TASK_CalcEngineSpeed,131,R,FUNC_ENGINESPEED,131,terminate
-263213125,Core_2,0,T,TASK_CalcEngineSpeed,131,terminate
-263213125,TASK_CalcEngineSpeed,131,SCHED,SCHED_Tasks_C2,-1,processterminate
-263213125,Core_2,0,C,Core_2,0,idle
-263213125,TASK_CalcEngineSpeed,131,C,Core_2,0,idle
-263213225,TASK_CalcEngineSpeed,131,STI,IR_SCHED_Tasks_C2,847,trigger
-263213225,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-263213225,Core_2,0,C,Core_2,0,execute_idle
-263213225,TASK_5MS,131,C,Core_2,0,execute_idle
-263213225,Core_2,0,T,TASK_5MS,131,resume
-263213225,TASK_5MS,131,R,FUNC_EXECTIME_1,483,resume
-263250000,SIM,-1,STI,TIMER-1MS,263,trigger
-263250000,TIMER-1MS,263,T,TASK_1MS,263,activate
-263250000,TASK_1MS,263,SCHED,SCHED_Tasks_C1,-1,processactivate
-263250100,TASK_1MS,263,STI,IR_SCHED_Tasks_C1,891,trigger
-263250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-263250100,TASK_20MS,13,R,FUNC_EXECTIME_1,479,suspend
-263250100,Core_1,0,T,TASK_20MS,13,preempt
-263250100,Core_1,0,C,Core_1,0,idle_execution
-263250100,TASK_20MS,13,C,Core_1,0,idle_execution
-263250100,Core_1,0,T,TASK_1MS,263,start
-263250100,TASK_1MS,263,R,FUNC_EXECTIME_1,485,start
-263250100,Core_1,0,C,Core_1,0,execute
-263250100,TASK_1MS,263,C,Core_1,0,execute
-263331625,TASK_5MS,131,R,FUNC_EXECTIME_1,483,terminate
-263331625,Core_2,0,T,TASK_5MS,131,terminate
-263331625,TASK_5MS,131,SCHED,SCHED_Tasks_C2,-1,processterminate
-263331625,Core_2,0,C,Core_2,0,idle
-263331625,TASK_5MS,131,C,Core_2,0,idle
-263331725,TASK_5MS,131,STI,IR_SCHED_Tasks_C2,848,trigger
-263331725,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-263650600,TASK_1MS,263,R,FUNC_EXECTIME_1,485,terminate
-263650600,Core_1,0,T,TASK_1MS,263,terminate
-263650600,TASK_1MS,263,SCHED,SCHED_Tasks_C1,-1,processterminate
-263650600,Core_1,0,C,Core_1,0,idle
-263650600,TASK_1MS,263,C,Core_1,0,idle
-263650700,TASK_1MS,263,STI,IR_SCHED_Tasks_C1,892,trigger
-263650700,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-263650700,Core_1,0,C,Core_1,0,execute_idle
-263650700,TASK_20MS,13,C,Core_1,0,execute_idle
-263650700,Core_1,0,T,TASK_20MS,13,resume
-263650700,TASK_20MS,13,R,FUNC_EXECTIME_1,479,resume
-263986700,TASK_20MS,13,R,FUNC_EXECTIME_1,479,terminate
-263986700,Core_1,0,T,TASK_20MS,13,terminate
-263986700,TASK_20MS,13,SCHED,SCHED_Tasks_C1,-1,processterminate
-263986700,Core_1,0,C,Core_1,0,idle
-263986700,TASK_20MS,13,C,Core_1,0,idle
-263986800,TASK_20MS,13,STI,IR_SCHED_Tasks_C1,893,trigger
-263986800,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-264000000,SIM,-1,STI,TIMER-B_2ms,132,trigger
-264000000,TIMER-B_2ms,132,T,TASK_WritingActuator,132,activate
-264000000,TASK_WritingActuator,132,SCHED,SCHED_Tasks_C2,-1,processactivate
-264000100,TASK_WritingActuator,132,STI,IR_SCHED_Tasks_C2,849,trigger
-264000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-264000100,Core_2,0,T,TASK_WritingActuator,132,start
-264000100,TASK_WritingActuator,132,R,FUNC_SEMLOCK,264,start
-264000100,Core_2,0,C,Core_2,0,execute
-264000100,TASK_WritingActuator,132,C,Core_2,0,execute
-264100000,SIM,-1,STI,TIMER-5MS,132,trigger
-264100000,TIMER-5MS,132,T,TASK_5MS,132,activate
-264100000,TASK_5MS,132,SCHED,SCHED_Tasks_C2,-1,processactivate
-264100100,TASK_5MS,132,STI,IR_SCHED_Tasks_C2,850,trigger
-264100100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-264125100,TASK_WritingActuator,132,SEM,SEM_DataElement1,0,requestsemaphore,0
-264125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-264125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-264125100,Core_2,0,C,Core_2,0,lock
-264125100,TASK_WritingActuator,132,SEM,SEM_DataElement1,0,assigned,1
-264125150,TASK_WritingActuator,132,R,FUNC_SEMLOCK,264,terminate
-264125150,Core_2,0,C,Core_2,0,unlock
-264125150,TASK_WritingActuator,132,R,FUNC_WriteData,132,start
-264150000,SIM,-1,STI,TIMER-A_2ms,132,trigger
-264150000,TIMER-A_2ms,132,T,TASK_InputProcessing,132,activate
-264150000,TASK_InputProcessing,132,SCHED,SCHED_Tasks_C1,-1,processactivate
-264150100,TASK_InputProcessing,132,STI,IR_SCHED_Tasks_C1,894,trigger
-264150100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-264150100,Core_1,0,T,TASK_InputProcessing,132,start
-264150100,TASK_InputProcessing,132,R,FUNC_SEMLOCK,265,start
-264150100,Core_1,0,C,Core_1,0,execute
-264150100,TASK_InputProcessing,132,C,Core_1,0,execute
-264151975,TASK_WritingActuator,132,SIG,SIG_Mixture,0,write,0
-264151975,TASK_WritingActuator,132,R,FUNC_WriteData,132,terminate
-264151975,TASK_WritingActuator,132,R,FUNC_SEMUNLOCK,264,start
-264250000,SIM,-1,STI,TIMER-1MS,264,trigger
-264250000,TIMER-1MS,264,T,TASK_1MS,264,activate
-264250000,TASK_1MS,264,SCHED,SCHED_Tasks_C1,-1,processactivate
-264250100,TASK_1MS,264,STI,IR_SCHED_Tasks_C1,895,trigger
-264250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-264250100,TASK_InputProcessing,132,R,FUNC_SEMLOCK,265,suspend
-264250100,Core_1,0,T,TASK_InputProcessing,132,preempt
-264250100,Core_1,0,C,Core_1,0,idle_execution
-264250100,TASK_InputProcessing,132,C,Core_1,0,idle_execution
-264250100,Core_1,0,T,TASK_1MS,264,start
-264250100,TASK_1MS,264,R,FUNC_EXECTIME_1,487,start
-264250100,Core_1,0,C,Core_1,0,execute
-264250100,TASK_1MS,264,C,Core_1,0,execute
-264351975,TASK_WritingActuator,132,SEM,SEM_DataElement1,0,released,1
-264351975,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-264351975,TASK_WritingActuator,132,SCHED,SCHED_Tasks_C2,-1,schedulepoint
-264351975,Core_2,0,C,Core_2,0,lock
-264352025,TASK_WritingActuator,132,R,FUNC_SEMUNLOCK,264,terminate
-264352025,Core_2,0,T,TASK_WritingActuator,132,terminate
-264352025,TASK_WritingActuator,132,SCHED,SCHED_Tasks_C2,-1,processterminate
-264352025,Core_2,0,C,Core_2,0,unlock
-264352025,Core_2,0,C,Core_2,0,idle
-264352025,TASK_WritingActuator,132,C,Core_2,0,idle
-264352075,TASK_WritingActuator,132,STI,IR_SCHED_Tasks_C2,851,trigger
-264352075,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-264352075,Core_2,0,T,TASK_5MS,132,start
-264352075,TASK_5MS,132,R,FUNC_EXECTIME_1,486,start
-264352075,Core_2,0,C,Core_2,0,execute
-264352075,TASK_5MS,132,C,Core_2,0,execute
-264905700,TASK_1MS,264,R,FUNC_EXECTIME_1,487,terminate
-264905700,Core_1,0,T,TASK_1MS,264,terminate
-264905700,TASK_1MS,264,SCHED,SCHED_Tasks_C1,-1,processterminate
-264905700,Core_1,0,C,Core_1,0,idle
-264905700,TASK_1MS,264,C,Core_1,0,idle
-264905800,TASK_1MS,264,STI,IR_SCHED_Tasks_C1,896,trigger
-264905800,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-264905800,Core_1,0,C,Core_1,0,execute_idle
-264905800,TASK_InputProcessing,132,C,Core_1,0,execute_idle
-264905800,Core_1,0,T,TASK_InputProcessing,132,resume
-264905800,TASK_InputProcessing,132,R,FUNC_SEMLOCK,265,resume
-264930800,TASK_InputProcessing,132,SEM,SEM_DataElement1,0,requestsemaphore,0
-264930800,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-264930800,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-264930800,Core_1,0,C,Core_1,0,lock
-264930800,TASK_InputProcessing,132,SEM,SEM_DataElement1,0,assigned,1
-264930850,TASK_InputProcessing,132,R,FUNC_SEMLOCK,265,terminate
-264930850,Core_1,0,C,Core_1,0,unlock
-264930850,TASK_InputProcessing,132,R,FUNC_ReadSensorData,132,start
-264993650,TASK_5MS,132,R,FUNC_EXECTIME_1,486,terminate
-264993650,Core_2,0,T,TASK_5MS,132,terminate
-264993650,TASK_5MS,132,SCHED,SCHED_Tasks_C2,-1,processterminate
-264993650,Core_2,0,C,Core_2,0,idle
-264993650,TASK_5MS,132,C,Core_2,0,idle
-264993750,TASK_5MS,132,STI,IR_SCHED_Tasks_C2,852,trigger
-264993750,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-265000000,SIM,-1,STI,TIMER-10MS,26,trigger
-265000000,TIMER-10MS,26,T,TASK_10MS,26,activate
-265000000,TASK_10MS,26,SCHED,SCHED_Tasks_C2,-1,processactivate
-265000100,TASK_10MS,26,STI,IR_SCHED_Tasks_C2,853,trigger
-265000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-265000100,Core_2,0,T,TASK_10MS,26,start
-265000100,TASK_10MS,26,R,FUNC_EXECTIME_1,488,start
-265000100,Core_2,0,C,Core_2,0,execute
-265000100,TASK_10MS,26,C,Core_2,0,execute
-265092575,TASK_InputProcessing,132,SIG,SIG_RotationSpeed,0,read,0
-265092575,TASK_InputProcessing,132,SIG,SIG_Lambda,0,read,0
-265092575,TASK_InputProcessing,132,SIG,SIG_Temperature,0,read,0
-265092575,TASK_InputProcessing,132,R,FUNC_ReadSensorData,132,terminate
-265092575,TASK_InputProcessing,132,R,FUNC_SEMUNLOCK,265,start
-265250000,SIM,-1,STI,TIMER-1MS,265,trigger
-265250000,TIMER-1MS,265,T,TASK_1MS,265,activate
-265250000,TASK_1MS,265,SCHED,SCHED_Tasks_C1,-1,processactivate
-265250100,TASK_1MS,265,STI,IR_SCHED_Tasks_C1,897,trigger
-265250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-265292575,TASK_InputProcessing,132,SEM,SEM_DataElement1,0,released,1
-265292575,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-265292575,TASK_InputProcessing,132,SCHED,SCHED_Tasks_C1,-1,schedulepoint
-265292575,Core_1,0,C,Core_1,0,lock
-265292625,TASK_InputProcessing,132,R,FUNC_SEMUNLOCK,265,terminate
-265292625,Core_1,0,C,Core_1,0,unlock
-265292625,TASK_InputProcessing,132,STI,IPA_InputReady,132,trigger
-265292625,IPA_InputReady,132,T,TASK_CalcEngineSpeed,132,activate
-265292625,TASK_CalcEngineSpeed,132,SCHED,SCHED_Tasks_C2,-1,processactivate
-265292625,Core_1,0,T,TASK_InputProcessing,132,terminate
-265292625,TASK_InputProcessing,132,SCHED,SCHED_Tasks_C1,-1,processterminate
-265292625,Core_1,0,C,Core_1,0,idle
-265292625,TASK_InputProcessing,132,C,Core_1,0,idle
-265292675,TASK_InputProcessing,132,STI,IR_SCHED_Tasks_C1,898,trigger
-265292675,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-265292675,Core_1,0,T,TASK_1MS,265,start
-265292675,TASK_1MS,265,R,FUNC_EXECTIME_1,489,start
-265292675,Core_1,0,C,Core_1,0,execute
-265292675,TASK_1MS,265,C,Core_1,0,execute
-265292725,TASK_CalcEngineSpeed,132,STI,IR_SCHED_Tasks_C2,854,trigger
-265292725,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-265292725,TASK_10MS,26,R,FUNC_EXECTIME_1,488,suspend
-265292725,Core_2,0,T,TASK_10MS,26,preempt
-265292725,Core_2,0,C,Core_2,0,idle_execution
-265292725,TASK_10MS,26,C,Core_2,0,idle_execution
-265292725,Core_2,0,T,TASK_CalcEngineSpeed,132,start
-265292725,TASK_CalcEngineSpeed,132,R,FUNC_ENGINESPEED,132,start
-265292725,Core_2,0,C,Core_2,0,execute
-265292725,TASK_CalcEngineSpeed,132,C,Core_2,0,execute
-265488450,TASK_CalcEngineSpeed,132,R,FUNC_ENGINESPEED,132,terminate
-265488450,Core_2,0,T,TASK_CalcEngineSpeed,132,terminate
-265488450,TASK_CalcEngineSpeed,132,SCHED,SCHED_Tasks_C2,-1,processterminate
-265488450,Core_2,0,C,Core_2,0,idle
-265488450,TASK_CalcEngineSpeed,132,C,Core_2,0,idle
-265488550,TASK_CalcEngineSpeed,132,STI,IR_SCHED_Tasks_C2,855,trigger
-265488550,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-265488550,Core_2,0,C,Core_2,0,execute_idle
-265488550,TASK_10MS,26,C,Core_2,0,execute_idle
-265488550,Core_2,0,T,TASK_10MS,26,resume
-265488550,TASK_10MS,26,R,FUNC_EXECTIME_1,488,resume
-265553200,TASK_10MS,26,R,FUNC_EXECTIME_1,488,terminate
-265553200,Core_2,0,T,TASK_10MS,26,terminate
-265553200,TASK_10MS,26,SCHED,SCHED_Tasks_C2,-1,processterminate
-265553200,Core_2,0,C,Core_2,0,idle
-265553200,TASK_10MS,26,C,Core_2,0,idle
-265553300,TASK_10MS,26,STI,IR_SCHED_Tasks_C2,856,trigger
-265553300,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-266000000,SIM,-1,STI,TIMER-B_2ms,133,trigger
-266000000,TIMER-B_2ms,133,T,TASK_WritingActuator,133,activate
-266000000,TASK_WritingActuator,133,SCHED,SCHED_Tasks_C2,-1,processactivate
-266000100,TASK_WritingActuator,133,STI,IR_SCHED_Tasks_C2,857,trigger
-266000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-266000100,Core_2,0,T,TASK_WritingActuator,133,start
-266000100,TASK_WritingActuator,133,R,FUNC_SEMLOCK,266,start
-266000100,Core_2,0,C,Core_2,0,execute
-266000100,TASK_WritingActuator,133,C,Core_2,0,execute
-266036600,TASK_1MS,265,R,FUNC_EXECTIME_1,489,terminate
-266036600,Core_1,0,T,TASK_1MS,265,terminate
-266036600,TASK_1MS,265,SCHED,SCHED_Tasks_C1,-1,processterminate
-266036600,Core_1,0,C,Core_1,0,idle
-266036600,TASK_1MS,265,C,Core_1,0,idle
-266036700,TASK_1MS,265,STI,IR_SCHED_Tasks_C1,899,trigger
-266036700,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-266100000,SIM,-1,STI,TIMER-5MS,133,trigger
-266100000,TIMER-5MS,133,T,TASK_5MS,133,activate
-266100000,TASK_5MS,133,SCHED,SCHED_Tasks_C2,-1,processactivate
-266100100,TASK_5MS,133,STI,IR_SCHED_Tasks_C2,858,trigger
-266100100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-266125100,TASK_WritingActuator,133,SEM,SEM_DataElement1,0,requestsemaphore,0
-266125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-266125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-266125100,Core_2,0,C,Core_2,0,lock
-266125100,TASK_WritingActuator,133,SEM,SEM_DataElement1,0,assigned,1
-266125150,TASK_WritingActuator,133,R,FUNC_SEMLOCK,266,terminate
-266125150,Core_2,0,C,Core_2,0,unlock
-266125150,TASK_WritingActuator,133,R,FUNC_WriteData,133,start
-266150000,SIM,-1,STI,TIMER-A_2ms,133,trigger
-266150000,TIMER-A_2ms,133,T,TASK_InputProcessing,133,activate
-266150000,TASK_InputProcessing,133,SCHED,SCHED_Tasks_C1,-1,processactivate
-266150100,TASK_InputProcessing,133,STI,IR_SCHED_Tasks_C1,900,trigger
-266150100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-266150100,Core_1,0,T,TASK_InputProcessing,133,start
-266150100,TASK_InputProcessing,133,R,FUNC_SEMLOCK,267,start
-266150100,Core_1,0,C,Core_1,0,execute
-266150100,TASK_InputProcessing,133,C,Core_1,0,execute
-266151925,TASK_WritingActuator,133,SIG,SIG_Mixture,0,write,0
-266151925,TASK_WritingActuator,133,R,FUNC_WriteData,133,terminate
-266151925,TASK_WritingActuator,133,R,FUNC_SEMUNLOCK,266,start
-266250000,SIM,-1,STI,TIMER-1MS,266,trigger
-266250000,TIMER-1MS,266,T,TASK_1MS,266,activate
-266250000,TASK_1MS,266,SCHED,SCHED_Tasks_C1,-1,processactivate
-266250100,TASK_1MS,266,STI,IR_SCHED_Tasks_C1,901,trigger
-266250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-266250100,TASK_InputProcessing,133,R,FUNC_SEMLOCK,267,suspend
-266250100,Core_1,0,T,TASK_InputProcessing,133,preempt
-266250100,Core_1,0,C,Core_1,0,idle_execution
-266250100,TASK_InputProcessing,133,C,Core_1,0,idle_execution
-266250100,Core_1,0,T,TASK_1MS,266,start
-266250100,TASK_1MS,266,R,FUNC_EXECTIME_1,491,start
-266250100,Core_1,0,C,Core_1,0,execute
-266250100,TASK_1MS,266,C,Core_1,0,execute
-266351925,TASK_WritingActuator,133,SEM,SEM_DataElement1,0,released,1
-266351925,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-266351925,TASK_WritingActuator,133,SCHED,SCHED_Tasks_C2,-1,schedulepoint
-266351925,Core_2,0,C,Core_2,0,lock
-266351975,TASK_WritingActuator,133,R,FUNC_SEMUNLOCK,266,terminate
-266351975,Core_2,0,T,TASK_WritingActuator,133,terminate
-266351975,TASK_WritingActuator,133,SCHED,SCHED_Tasks_C2,-1,processterminate
-266351975,Core_2,0,C,Core_2,0,unlock
-266351975,Core_2,0,C,Core_2,0,idle
-266351975,TASK_WritingActuator,133,C,Core_2,0,idle
-266352025,TASK_WritingActuator,133,STI,IR_SCHED_Tasks_C2,859,trigger
-266352025,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-266352025,Core_2,0,T,TASK_5MS,133,start
-266352025,TASK_5MS,133,R,FUNC_EXECTIME_1,490,start
-266352025,Core_2,0,C,Core_2,0,execute
-266352025,TASK_5MS,133,C,Core_2,0,execute
-266552075,TASK_1MS,266,R,FUNC_EXECTIME_1,491,terminate
-266552075,Core_1,0,T,TASK_1MS,266,terminate
-266552075,TASK_1MS,266,SCHED,SCHED_Tasks_C1,-1,processterminate
-266552075,Core_1,0,C,Core_1,0,idle
-266552075,TASK_1MS,266,C,Core_1,0,idle
-266552175,TASK_1MS,266,STI,IR_SCHED_Tasks_C1,902,trigger
-266552175,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-266552175,Core_1,0,C,Core_1,0,execute_idle
-266552175,TASK_InputProcessing,133,C,Core_1,0,execute_idle
-266552175,Core_1,0,T,TASK_InputProcessing,133,resume
-266552175,TASK_InputProcessing,133,R,FUNC_SEMLOCK,267,resume
-266577175,TASK_InputProcessing,133,SEM,SEM_DataElement1,0,requestsemaphore,0
-266577175,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-266577175,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-266577175,Core_1,0,C,Core_1,0,lock
-266577175,TASK_InputProcessing,133,SEM,SEM_DataElement1,0,assigned,1
-266577225,TASK_InputProcessing,133,R,FUNC_SEMLOCK,267,terminate
-266577225,Core_1,0,C,Core_1,0,unlock
-266577225,TASK_InputProcessing,133,R,FUNC_ReadSensorData,133,start
-266741600,TASK_InputProcessing,133,SIG,SIG_RotationSpeed,0,read,0
-266741600,TASK_InputProcessing,133,SIG,SIG_Lambda,0,read,0
-266741600,TASK_InputProcessing,133,SIG,SIG_Temperature,0,read,0
-266741600,TASK_InputProcessing,133,R,FUNC_ReadSensorData,133,terminate
-266741600,TASK_InputProcessing,133,R,FUNC_SEMUNLOCK,267,start
-266792000,TASK_5MS,133,R,FUNC_EXECTIME_1,490,terminate
-266792000,Core_2,0,T,TASK_5MS,133,terminate
-266792000,TASK_5MS,133,SCHED,SCHED_Tasks_C2,-1,processterminate
-266792000,Core_2,0,C,Core_2,0,idle
-266792000,TASK_5MS,133,C,Core_2,0,idle
-266792100,TASK_5MS,133,STI,IR_SCHED_Tasks_C2,860,trigger
-266792100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-266941600,TASK_InputProcessing,133,SEM,SEM_DataElement1,0,released,1
-266941600,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-266941600,TASK_InputProcessing,133,SCHED,SCHED_Tasks_C1,-1,schedulepoint
-266941600,Core_1,0,C,Core_1,0,lock
-266941650,TASK_InputProcessing,133,R,FUNC_SEMUNLOCK,267,terminate
-266941650,Core_1,0,C,Core_1,0,unlock
-266941650,TASK_InputProcessing,133,STI,IPA_InputReady,133,trigger
-266941650,IPA_InputReady,133,T,TASK_CalcEngineSpeed,133,activate
-266941650,TASK_CalcEngineSpeed,133,SCHED,SCHED_Tasks_C2,-1,processactivate
-266941650,Core_1,0,T,TASK_InputProcessing,133,terminate
-266941650,TASK_InputProcessing,133,SCHED,SCHED_Tasks_C1,-1,processterminate
-266941650,Core_1,0,C,Core_1,0,idle
-266941650,TASK_InputProcessing,133,C,Core_1,0,idle
-266941700,TASK_InputProcessing,133,STI,IR_SCHED_Tasks_C1,903,trigger
-266941700,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-266941750,TASK_CalcEngineSpeed,133,STI,IR_SCHED_Tasks_C2,861,trigger
-266941750,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-266941750,Core_2,0,T,TASK_CalcEngineSpeed,133,start
-266941750,TASK_CalcEngineSpeed,133,R,FUNC_ENGINESPEED,133,start
-266941750,Core_2,0,C,Core_2,0,execute
-266941750,TASK_CalcEngineSpeed,133,C,Core_2,0,execute
-267164950,TASK_CalcEngineSpeed,133,R,FUNC_ENGINESPEED,133,terminate
-267164950,Core_2,0,T,TASK_CalcEngineSpeed,133,terminate
-267164950,TASK_CalcEngineSpeed,133,SCHED,SCHED_Tasks_C2,-1,processterminate
-267164950,Core_2,0,C,Core_2,0,idle
-267164950,TASK_CalcEngineSpeed,133,C,Core_2,0,idle
-267165050,TASK_CalcEngineSpeed,133,STI,IR_SCHED_Tasks_C2,862,trigger
-267165050,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-267250000,SIM,-1,STI,TIMER-1MS,267,trigger
-267250000,TIMER-1MS,267,T,TASK_1MS,267,activate
-267250000,TASK_1MS,267,SCHED,SCHED_Tasks_C1,-1,processactivate
-267250100,TASK_1MS,267,STI,IR_SCHED_Tasks_C1,904,trigger
-267250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-267250100,Core_1,0,T,TASK_1MS,267,start
-267250100,TASK_1MS,267,R,FUNC_EXECTIME_1,492,start
-267250100,Core_1,0,C,Core_1,0,execute
-267250100,TASK_1MS,267,C,Core_1,0,execute
-267729150,TASK_1MS,267,R,FUNC_EXECTIME_1,492,terminate
-267729150,Core_1,0,T,TASK_1MS,267,terminate
-267729150,TASK_1MS,267,SCHED,SCHED_Tasks_C1,-1,processterminate
-267729150,Core_1,0,C,Core_1,0,idle
-267729150,TASK_1MS,267,C,Core_1,0,idle
-267729250,TASK_1MS,267,STI,IR_SCHED_Tasks_C1,905,trigger
-267729250,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-268000000,SIM,-1,STI,TIMER-B_2ms,134,trigger
-268000000,TIMER-B_2ms,134,T,TASK_WritingActuator,134,activate
-268000000,TASK_WritingActuator,134,SCHED,SCHED_Tasks_C2,-1,processactivate
-268000100,TASK_WritingActuator,134,STI,IR_SCHED_Tasks_C2,863,trigger
-268000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-268000100,Core_2,0,T,TASK_WritingActuator,134,start
-268000100,TASK_WritingActuator,134,R,FUNC_SEMLOCK,268,start
-268000100,Core_2,0,C,Core_2,0,execute
-268000100,TASK_WritingActuator,134,C,Core_2,0,execute
-268100000,SIM,-1,STI,TIMER-5MS,134,trigger
-268100000,TIMER-5MS,134,T,TASK_5MS,134,activate
-268100000,TASK_5MS,134,SCHED,SCHED_Tasks_C2,-1,processactivate
-268100100,TASK_5MS,134,STI,IR_SCHED_Tasks_C2,864,trigger
-268100100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-268125100,TASK_WritingActuator,134,SEM,SEM_DataElement1,0,requestsemaphore,0
-268125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-268125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-268125100,Core_2,0,C,Core_2,0,lock
-268125100,TASK_WritingActuator,134,SEM,SEM_DataElement1,0,assigned,1
-268125150,TASK_WritingActuator,134,R,FUNC_SEMLOCK,268,terminate
-268125150,Core_2,0,C,Core_2,0,unlock
-268125150,TASK_WritingActuator,134,R,FUNC_WriteData,134,start
-268150000,SIM,-1,STI,TIMER-A_2ms,134,trigger
-268150000,TIMER-A_2ms,134,T,TASK_InputProcessing,134,activate
-268150000,TASK_InputProcessing,134,SCHED,SCHED_Tasks_C1,-1,processactivate
-268150100,TASK_InputProcessing,134,STI,IR_SCHED_Tasks_C1,906,trigger
-268150100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-268150100,Core_1,0,T,TASK_InputProcessing,134,start
-268150100,TASK_InputProcessing,134,R,FUNC_SEMLOCK,269,start
-268150100,Core_1,0,C,Core_1,0,execute
-268150100,TASK_InputProcessing,134,C,Core_1,0,execute
-268152300,TASK_WritingActuator,134,SIG,SIG_Mixture,0,write,0
-268152300,TASK_WritingActuator,134,R,FUNC_WriteData,134,terminate
-268152300,TASK_WritingActuator,134,R,FUNC_SEMUNLOCK,268,start
-268250000,SIM,-1,STI,TIMER-1MS,268,trigger
-268250000,TIMER-1MS,268,T,TASK_1MS,268,activate
-268250000,TASK_1MS,268,SCHED,SCHED_Tasks_C1,-1,processactivate
-268250100,TASK_1MS,268,STI,IR_SCHED_Tasks_C1,907,trigger
-268250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-268250100,TASK_InputProcessing,134,R,FUNC_SEMLOCK,269,suspend
-268250100,Core_1,0,T,TASK_InputProcessing,134,preempt
-268250100,Core_1,0,C,Core_1,0,idle_execution
-268250100,TASK_InputProcessing,134,C,Core_1,0,idle_execution
-268250100,Core_1,0,T,TASK_1MS,268,start
-268250100,TASK_1MS,268,R,FUNC_EXECTIME_1,494,start
-268250100,Core_1,0,C,Core_1,0,execute
-268250100,TASK_1MS,268,C,Core_1,0,execute
-268352300,TASK_WritingActuator,134,SEM,SEM_DataElement1,0,released,1
-268352300,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-268352300,TASK_WritingActuator,134,SCHED,SCHED_Tasks_C2,-1,schedulepoint
-268352300,Core_2,0,C,Core_2,0,lock
-268352350,TASK_WritingActuator,134,R,FUNC_SEMUNLOCK,268,terminate
-268352350,Core_2,0,T,TASK_WritingActuator,134,terminate
-268352350,TASK_WritingActuator,134,SCHED,SCHED_Tasks_C2,-1,processterminate
-268352350,Core_2,0,C,Core_2,0,unlock
-268352350,Core_2,0,C,Core_2,0,idle
-268352350,TASK_WritingActuator,134,C,Core_2,0,idle
-268352400,TASK_WritingActuator,134,STI,IR_SCHED_Tasks_C2,865,trigger
-268352400,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-268352400,Core_2,0,T,TASK_5MS,134,start
-268352400,TASK_5MS,134,R,FUNC_EXECTIME_1,493,start
-268352400,Core_2,0,C,Core_2,0,execute
-268352400,TASK_5MS,134,C,Core_2,0,execute
-268808275,TASK_1MS,268,R,FUNC_EXECTIME_1,494,terminate
-268808275,Core_1,0,T,TASK_1MS,268,terminate
-268808275,TASK_1MS,268,SCHED,SCHED_Tasks_C1,-1,processterminate
-268808275,Core_1,0,C,Core_1,0,idle
-268808275,TASK_1MS,268,C,Core_1,0,idle
-268808375,TASK_1MS,268,STI,IR_SCHED_Tasks_C1,908,trigger
-268808375,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-268808375,Core_1,0,C,Core_1,0,execute_idle
-268808375,TASK_InputProcessing,134,C,Core_1,0,execute_idle
-268808375,Core_1,0,T,TASK_InputProcessing,134,resume
-268808375,TASK_InputProcessing,134,R,FUNC_SEMLOCK,269,resume
-268833375,TASK_InputProcessing,134,SEM,SEM_DataElement1,0,requestsemaphore,0
-268833375,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-268833375,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-268833375,Core_1,0,C,Core_1,0,lock
-268833375,TASK_InputProcessing,134,SEM,SEM_DataElement1,0,assigned,1
-268833425,TASK_InputProcessing,134,R,FUNC_SEMLOCK,269,terminate
-268833425,Core_1,0,C,Core_1,0,unlock
-268833425,TASK_InputProcessing,134,R,FUNC_ReadSensorData,134,start
-268992550,TASK_5MS,134,R,FUNC_EXECTIME_1,493,terminate
-268992550,Core_2,0,T,TASK_5MS,134,terminate
-268992550,TASK_5MS,134,SCHED,SCHED_Tasks_C2,-1,processterminate
-268992550,Core_2,0,C,Core_2,0,idle
-268992550,TASK_5MS,134,C,Core_2,0,idle
-268992650,TASK_5MS,134,STI,IR_SCHED_Tasks_C2,866,trigger
-268992650,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-268995525,TASK_InputProcessing,134,SIG,SIG_RotationSpeed,0,read,0
-268995525,TASK_InputProcessing,134,SIG,SIG_Lambda,0,read,0
-268995525,TASK_InputProcessing,134,SIG,SIG_Temperature,0,read,0
-268995525,TASK_InputProcessing,134,R,FUNC_ReadSensorData,134,terminate
-268995525,TASK_InputProcessing,134,R,FUNC_SEMUNLOCK,269,start
-269195525,TASK_InputProcessing,134,SEM,SEM_DataElement1,0,released,1
-269195525,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-269195525,TASK_InputProcessing,134,SCHED,SCHED_Tasks_C1,-1,schedulepoint
-269195525,Core_1,0,C,Core_1,0,lock
-269195575,TASK_InputProcessing,134,R,FUNC_SEMUNLOCK,269,terminate
-269195575,Core_1,0,C,Core_1,0,unlock
-269195575,TASK_InputProcessing,134,STI,IPA_InputReady,134,trigger
-269195575,IPA_InputReady,134,T,TASK_CalcEngineSpeed,134,activate
-269195575,TASK_CalcEngineSpeed,134,SCHED,SCHED_Tasks_C2,-1,processactivate
-269195575,Core_1,0,T,TASK_InputProcessing,134,terminate
-269195575,TASK_InputProcessing,134,SCHED,SCHED_Tasks_C1,-1,processterminate
-269195575,Core_1,0,C,Core_1,0,idle
-269195575,TASK_InputProcessing,134,C,Core_1,0,idle
-269195625,TASK_InputProcessing,134,STI,IR_SCHED_Tasks_C1,909,trigger
-269195625,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-269195675,TASK_CalcEngineSpeed,134,STI,IR_SCHED_Tasks_C2,867,trigger
-269195675,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-269195675,Core_2,0,T,TASK_CalcEngineSpeed,134,start
-269195675,TASK_CalcEngineSpeed,134,R,FUNC_ENGINESPEED,134,start
-269195675,Core_2,0,C,Core_2,0,execute
-269195675,TASK_CalcEngineSpeed,134,C,Core_2,0,execute
-269250000,SIM,-1,STI,TIMER-1MS,269,trigger
-269250000,TIMER-1MS,269,T,TASK_1MS,269,activate
-269250000,TASK_1MS,269,SCHED,SCHED_Tasks_C1,-1,processactivate
-269250100,TASK_1MS,269,STI,IR_SCHED_Tasks_C1,910,trigger
-269250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-269250100,Core_1,0,T,TASK_1MS,269,start
-269250100,TASK_1MS,269,R,FUNC_EXECTIME_1,495,start
-269250100,Core_1,0,C,Core_1,0,execute
-269250100,TASK_1MS,269,C,Core_1,0,execute
-269395975,TASK_CalcEngineSpeed,134,R,FUNC_ENGINESPEED,134,terminate
-269395975,Core_2,0,T,TASK_CalcEngineSpeed,134,terminate
-269395975,TASK_CalcEngineSpeed,134,SCHED,SCHED_Tasks_C2,-1,processterminate
-269395975,Core_2,0,C,Core_2,0,idle
-269395975,TASK_CalcEngineSpeed,134,C,Core_2,0,idle
-269396075,TASK_CalcEngineSpeed,134,STI,IR_SCHED_Tasks_C2,868,trigger
-269396075,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-269637400,TASK_1MS,269,R,FUNC_EXECTIME_1,495,terminate
-269637400,Core_1,0,T,TASK_1MS,269,terminate
-269637400,TASK_1MS,269,SCHED,SCHED_Tasks_C1,-1,processterminate
-269637400,Core_1,0,C,Core_1,0,idle
-269637400,TASK_1MS,269,C,Core_1,0,idle
-269637500,TASK_1MS,269,STI,IR_SCHED_Tasks_C1,911,trigger
-269637500,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-270000000,SIM,-1,STI,TIMER-B_2ms,135,trigger
-270000000,TIMER-B_2ms,135,T,TASK_WritingActuator,135,activate
-270000000,TASK_WritingActuator,135,SCHED,SCHED_Tasks_C2,-1,processactivate
-270000000,SIM,-1,STI,TIMER-10MS_2,27,trigger
-270000000,TIMER-10MS_2,27,T,TASK_10MS_DL2,27,activate
-270000000,TASK_10MS_DL2,27,SCHED,SCHED_Tasks_C1,-1,processactivate
-270000100,TASK_WritingActuator,135,STI,IR_SCHED_Tasks_C2,869,trigger
-270000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-270000100,Core_2,0,T,TASK_WritingActuator,135,start
-270000100,TASK_WritingActuator,135,R,FUNC_SEMLOCK,270,start
-270000100,Core_2,0,C,Core_2,0,execute
-270000100,TASK_WritingActuator,135,C,Core_2,0,execute
-270000100,TASK_10MS_DL2,27,STI,IR_SCHED_Tasks_C1,912,trigger
-270000100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-270000100,Core_1,0,T,TASK_10MS_DL2,27,start
-270000100,TASK_10MS_DL2,27,R,FUNC_EXECTIME_1,496,start
-270000100,Core_1,0,C,Core_1,0,execute
-270000100,TASK_10MS_DL2,27,C,Core_1,0,execute
-270100000,SIM,-1,STI,TIMER-5MS,135,trigger
-270100000,TIMER-5MS,135,T,TASK_5MS,135,activate
-270100000,TASK_5MS,135,SCHED,SCHED_Tasks_C2,-1,processactivate
-270100100,TASK_5MS,135,STI,IR_SCHED_Tasks_C2,870,trigger
-270100100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-270125100,TASK_WritingActuator,135,SEM,SEM_DataElement1,0,requestsemaphore,0
-270125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-270125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-270125100,Core_2,0,C,Core_2,0,lock
-270125100,TASK_WritingActuator,135,SEM,SEM_DataElement1,0,assigned,1
-270125150,TASK_WritingActuator,135,R,FUNC_SEMLOCK,270,terminate
-270125150,Core_2,0,C,Core_2,0,unlock
-270125150,TASK_WritingActuator,135,R,FUNC_WriteData,135,start
-270150000,SIM,-1,STI,TIMER-A_2ms,135,trigger
-270150000,TIMER-A_2ms,135,T,TASK_InputProcessing,135,activate
-270150000,TASK_InputProcessing,135,SCHED,SCHED_Tasks_C1,-1,processactivate
-270150100,TASK_InputProcessing,135,STI,IR_SCHED_Tasks_C1,913,trigger
-270150100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-270152250,TASK_WritingActuator,135,SIG,SIG_Mixture,0,write,0
-270152250,TASK_WritingActuator,135,R,FUNC_WriteData,135,terminate
-270152250,TASK_WritingActuator,135,R,FUNC_SEMUNLOCK,270,start
-270250000,SIM,-1,STI,TIMER-1MS,270,trigger
-270250000,TIMER-1MS,270,T,TASK_1MS,270,activate
-270250000,TASK_1MS,270,SCHED,SCHED_Tasks_C1,-1,processactivate
-270250100,TASK_1MS,270,STI,IR_SCHED_Tasks_C1,914,trigger
-270250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-270250100,TASK_10MS_DL2,27,R,FUNC_EXECTIME_1,496,suspend
-270250100,Core_1,0,T,TASK_10MS_DL2,27,preempt
-270250100,Core_1,0,C,Core_1,0,idle_execution
-270250100,TASK_10MS_DL2,27,C,Core_1,0,idle_execution
-270250100,Core_1,0,T,TASK_1MS,270,start
-270250100,TASK_1MS,270,R,FUNC_EXECTIME_1,498,start
-270250100,Core_1,0,C,Core_1,0,execute
-270250100,TASK_1MS,270,C,Core_1,0,execute
-270352250,TASK_WritingActuator,135,SEM,SEM_DataElement1,0,released,1
-270352250,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-270352250,TASK_WritingActuator,135,SCHED,SCHED_Tasks_C2,-1,schedulepoint
-270352250,Core_2,0,C,Core_2,0,lock
-270352300,TASK_WritingActuator,135,R,FUNC_SEMUNLOCK,270,terminate
-270352300,Core_2,0,T,TASK_WritingActuator,135,terminate
-270352300,TASK_WritingActuator,135,SCHED,SCHED_Tasks_C2,-1,processterminate
-270352300,Core_2,0,C,Core_2,0,unlock
-270352300,Core_2,0,C,Core_2,0,idle
-270352300,TASK_WritingActuator,135,C,Core_2,0,idle
-270352350,TASK_WritingActuator,135,STI,IR_SCHED_Tasks_C2,871,trigger
-270352350,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-270352350,Core_2,0,T,TASK_5MS,135,start
-270352350,TASK_5MS,135,R,FUNC_EXECTIME_1,497,start
-270352350,Core_2,0,C,Core_2,0,execute
-270352350,TASK_5MS,135,C,Core_2,0,execute
-270707100,TASK_5MS,135,R,FUNC_EXECTIME_1,497,terminate
-270707100,Core_2,0,T,TASK_5MS,135,terminate
-270707100,TASK_5MS,135,SCHED,SCHED_Tasks_C2,-1,processterminate
-270707100,Core_2,0,C,Core_2,0,idle
-270707100,TASK_5MS,135,C,Core_2,0,idle
-270707200,TASK_5MS,135,STI,IR_SCHED_Tasks_C2,872,trigger
-270707200,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-270800600,TASK_1MS,270,R,FUNC_EXECTIME_1,498,terminate
-270800600,Core_1,0,T,TASK_1MS,270,terminate
-270800600,TASK_1MS,270,SCHED,SCHED_Tasks_C1,-1,processterminate
-270800600,Core_1,0,C,Core_1,0,idle
-270800600,TASK_1MS,270,C,Core_1,0,idle
-270800700,TASK_1MS,270,STI,IR_SCHED_Tasks_C1,915,trigger
-270800700,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-270800700,Core_1,0,C,Core_1,0,execute_idle
-270800700,TASK_10MS_DL2,27,C,Core_1,0,execute_idle
-270800700,Core_1,0,T,TASK_10MS_DL2,27,resume
-270800700,TASK_10MS_DL2,27,R,FUNC_EXECTIME_1,496,resume
-271010800,TASK_10MS_DL2,27,R,FUNC_EXECTIME_1,496,terminate
-271010800,Core_1,0,T,TASK_10MS_DL2,27,terminate
-271010800,TASK_10MS_DL2,27,SCHED,SCHED_Tasks_C1,-1,processterminate
-271010800,Core_1,0,C,Core_1,0,idle
-271010800,TASK_10MS_DL2,27,C,Core_1,0,idle
-271010900,TASK_10MS_DL2,27,STI,IR_SCHED_Tasks_C1,916,trigger
-271010900,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-271010900,Core_1,0,T,TASK_InputProcessing,135,start
-271010900,TASK_InputProcessing,135,R,FUNC_SEMLOCK,271,start
-271010900,Core_1,0,C,Core_1,0,execute
-271010900,TASK_InputProcessing,135,C,Core_1,0,execute
-271135900,TASK_InputProcessing,135,SEM,SEM_DataElement1,0,requestsemaphore,0
-271135900,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-271135900,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-271135900,Core_1,0,C,Core_1,0,lock
-271135900,TASK_InputProcessing,135,SEM,SEM_DataElement1,0,assigned,1
-271135950,TASK_InputProcessing,135,R,FUNC_SEMLOCK,271,terminate
-271135950,Core_1,0,C,Core_1,0,unlock
-271135950,TASK_InputProcessing,135,R,FUNC_ReadSensorData,135,start
-271250000,SIM,-1,STI,TIMER-1MS,271,trigger
-271250000,TIMER-1MS,271,T,TASK_1MS,271,activate
-271250000,TASK_1MS,271,SCHED,SCHED_Tasks_C1,-1,processactivate
-271250100,TASK_1MS,271,STI,IR_SCHED_Tasks_C1,917,trigger
-271250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-271301725,TASK_InputProcessing,135,SIG,SIG_RotationSpeed,0,read,0
-271301725,TASK_InputProcessing,135,SIG,SIG_Lambda,0,read,0
-271301725,TASK_InputProcessing,135,SIG,SIG_Temperature,0,read,0
-271301725,TASK_InputProcessing,135,R,FUNC_ReadSensorData,135,terminate
-271301725,TASK_InputProcessing,135,R,FUNC_SEMUNLOCK,271,start
-271501725,TASK_InputProcessing,135,SEM,SEM_DataElement1,0,released,1
-271501725,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-271501725,TASK_InputProcessing,135,SCHED,SCHED_Tasks_C1,-1,schedulepoint
-271501725,Core_1,0,C,Core_1,0,lock
-271501775,TASK_InputProcessing,135,R,FUNC_SEMUNLOCK,271,terminate
-271501775,Core_1,0,C,Core_1,0,unlock
-271501775,TASK_InputProcessing,135,STI,IPA_InputReady,135,trigger
-271501775,IPA_InputReady,135,T,TASK_CalcEngineSpeed,135,activate
-271501775,TASK_CalcEngineSpeed,135,SCHED,SCHED_Tasks_C2,-1,processactivate
-271501775,Core_1,0,T,TASK_InputProcessing,135,terminate
-271501775,TASK_InputProcessing,135,SCHED,SCHED_Tasks_C1,-1,processterminate
-271501775,Core_1,0,C,Core_1,0,idle
-271501775,TASK_InputProcessing,135,C,Core_1,0,idle
-271501825,TASK_InputProcessing,135,STI,IR_SCHED_Tasks_C1,918,trigger
-271501825,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-271501825,Core_1,0,T,TASK_1MS,271,start
-271501825,TASK_1MS,271,R,FUNC_EXECTIME_1,499,start
-271501825,Core_1,0,C,Core_1,0,execute
-271501825,TASK_1MS,271,C,Core_1,0,execute
-271501875,TASK_CalcEngineSpeed,135,STI,IR_SCHED_Tasks_C2,873,trigger
-271501875,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-271501875,Core_2,0,T,TASK_CalcEngineSpeed,135,start
-271501875,TASK_CalcEngineSpeed,135,R,FUNC_ENGINESPEED,135,start
-271501875,Core_2,0,C,Core_2,0,execute
-271501875,TASK_CalcEngineSpeed,135,C,Core_2,0,execute
-271715800,TASK_CalcEngineSpeed,135,R,FUNC_ENGINESPEED,135,terminate
-271715800,Core_2,0,T,TASK_CalcEngineSpeed,135,terminate
-271715800,TASK_CalcEngineSpeed,135,SCHED,SCHED_Tasks_C2,-1,processterminate
-271715800,Core_2,0,C,Core_2,0,idle
-271715800,TASK_CalcEngineSpeed,135,C,Core_2,0,idle
-271715900,TASK_CalcEngineSpeed,135,STI,IR_SCHED_Tasks_C2,874,trigger
-271715900,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-271931900,TASK_1MS,271,R,FUNC_EXECTIME_1,499,terminate
-271931900,Core_1,0,T,TASK_1MS,271,terminate
-271931900,TASK_1MS,271,SCHED,SCHED_Tasks_C1,-1,processterminate
-271931900,Core_1,0,C,Core_1,0,idle
-271931900,TASK_1MS,271,C,Core_1,0,idle
-271932000,TASK_1MS,271,STI,IR_SCHED_Tasks_C1,919,trigger
-271932000,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-272000000,SIM,-1,STI,TIMER-B_2ms,136,trigger
-272000000,TIMER-B_2ms,136,T,TASK_WritingActuator,136,activate
-272000000,TASK_WritingActuator,136,SCHED,SCHED_Tasks_C2,-1,processactivate
-272000100,TASK_WritingActuator,136,STI,IR_SCHED_Tasks_C2,875,trigger
-272000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-272000100,Core_2,0,T,TASK_WritingActuator,136,start
-272000100,TASK_WritingActuator,136,R,FUNC_SEMLOCK,272,start
-272000100,Core_2,0,C,Core_2,0,execute
-272000100,TASK_WritingActuator,136,C,Core_2,0,execute
-272100000,SIM,-1,STI,TIMER-5MS,136,trigger
-272100000,TIMER-5MS,136,T,TASK_5MS,136,activate
-272100000,TASK_5MS,136,SCHED,SCHED_Tasks_C2,-1,processactivate
-272100100,TASK_5MS,136,STI,IR_SCHED_Tasks_C2,876,trigger
-272100100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-272125100,TASK_WritingActuator,136,SEM,SEM_DataElement1,0,requestsemaphore,0
-272125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-272125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-272125100,Core_2,0,C,Core_2,0,lock
-272125100,TASK_WritingActuator,136,SEM,SEM_DataElement1,0,assigned,1
-272125150,TASK_WritingActuator,136,R,FUNC_SEMLOCK,272,terminate
-272125150,Core_2,0,C,Core_2,0,unlock
-272125150,TASK_WritingActuator,136,R,FUNC_WriteData,136,start
-272150000,SIM,-1,STI,TIMER-A_2ms,136,trigger
-272150000,TIMER-A_2ms,136,T,TASK_InputProcessing,136,activate
-272150000,TASK_InputProcessing,136,SCHED,SCHED_Tasks_C1,-1,processactivate
-272150100,TASK_InputProcessing,136,STI,IR_SCHED_Tasks_C1,920,trigger
-272150100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-272150100,Core_1,0,T,TASK_InputProcessing,136,start
-272150100,TASK_InputProcessing,136,R,FUNC_SEMLOCK,273,start
-272150100,Core_1,0,C,Core_1,0,execute
-272150100,TASK_InputProcessing,136,C,Core_1,0,execute
-272152425,TASK_WritingActuator,136,SIG,SIG_Mixture,0,write,0
-272152425,TASK_WritingActuator,136,R,FUNC_WriteData,136,terminate
-272152425,TASK_WritingActuator,136,R,FUNC_SEMUNLOCK,272,start
-272250000,SIM,-1,STI,TIMER-1MS,272,trigger
-272250000,TIMER-1MS,272,T,TASK_1MS,272,activate
-272250000,TASK_1MS,272,SCHED,SCHED_Tasks_C1,-1,processactivate
-272250100,TASK_1MS,272,STI,IR_SCHED_Tasks_C1,921,trigger
-272250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-272250100,TASK_InputProcessing,136,R,FUNC_SEMLOCK,273,suspend
-272250100,Core_1,0,T,TASK_InputProcessing,136,preempt
-272250100,Core_1,0,C,Core_1,0,idle_execution
-272250100,TASK_InputProcessing,136,C,Core_1,0,idle_execution
-272250100,Core_1,0,T,TASK_1MS,272,start
-272250100,TASK_1MS,272,R,FUNC_EXECTIME_1,501,start
-272250100,Core_1,0,C,Core_1,0,execute
-272250100,TASK_1MS,272,C,Core_1,0,execute
-272352425,TASK_WritingActuator,136,SEM,SEM_DataElement1,0,released,1
-272352425,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-272352425,TASK_WritingActuator,136,SCHED,SCHED_Tasks_C2,-1,schedulepoint
-272352425,Core_2,0,C,Core_2,0,lock
-272352475,TASK_WritingActuator,136,R,FUNC_SEMUNLOCK,272,terminate
-272352475,Core_2,0,T,TASK_WritingActuator,136,terminate
-272352475,TASK_WritingActuator,136,SCHED,SCHED_Tasks_C2,-1,processterminate
-272352475,Core_2,0,C,Core_2,0,unlock
-272352475,Core_2,0,C,Core_2,0,idle
-272352475,TASK_WritingActuator,136,C,Core_2,0,idle
-272352525,TASK_WritingActuator,136,STI,IR_SCHED_Tasks_C2,877,trigger
-272352525,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-272352525,Core_2,0,T,TASK_5MS,136,start
-272352525,TASK_5MS,136,R,FUNC_EXECTIME_1,500,start
-272352525,Core_2,0,C,Core_2,0,execute
-272352525,TASK_5MS,136,C,Core_2,0,execute
-273118625,TASK_5MS,136,R,FUNC_EXECTIME_1,500,terminate
-273118625,Core_2,0,T,TASK_5MS,136,terminate
-273118625,TASK_5MS,136,SCHED,SCHED_Tasks_C2,-1,processterminate
-273118625,Core_2,0,C,Core_2,0,idle
-273118625,TASK_5MS,136,C,Core_2,0,idle
-273118725,TASK_5MS,136,STI,IR_SCHED_Tasks_C2,878,trigger
-273118725,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-273236600,TASK_1MS,272,R,FUNC_EXECTIME_1,501,terminate
-273236600,Core_1,0,T,TASK_1MS,272,terminate
-273236600,TASK_1MS,272,SCHED,SCHED_Tasks_C1,-1,processterminate
-273236600,Core_1,0,C,Core_1,0,idle
-273236600,TASK_1MS,272,C,Core_1,0,idle
-273236700,TASK_1MS,272,STI,IR_SCHED_Tasks_C1,922,trigger
-273236700,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-273236700,Core_1,0,C,Core_1,0,execute_idle
-273236700,TASK_InputProcessing,136,C,Core_1,0,execute_idle
-273236700,Core_1,0,T,TASK_InputProcessing,136,resume
-273236700,TASK_InputProcessing,136,R,FUNC_SEMLOCK,273,resume
-273250000,SIM,-1,STI,TIMER-1MS,273,trigger
-273250000,TIMER-1MS,273,T,TASK_1MS,273,activate
-273250000,TASK_1MS,273,SCHED,SCHED_Tasks_C1,-1,processactivate
-273250100,TASK_1MS,273,STI,IR_SCHED_Tasks_C1,923,trigger
-273250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-273250100,TASK_InputProcessing,136,R,FUNC_SEMLOCK,273,suspend
-273250100,Core_1,0,T,TASK_InputProcessing,136,preempt
-273250100,Core_1,0,C,Core_1,0,idle_execution
-273250100,TASK_InputProcessing,136,C,Core_1,0,idle_execution
-273250100,Core_1,0,T,TASK_1MS,273,start
-273250100,TASK_1MS,273,R,FUNC_EXECTIME_1,502,start
-273250100,Core_1,0,C,Core_1,0,execute
-273250100,TASK_1MS,273,C,Core_1,0,execute
-273614225,TASK_1MS,273,R,FUNC_EXECTIME_1,502,terminate
-273614225,Core_1,0,T,TASK_1MS,273,terminate
-273614225,TASK_1MS,273,SCHED,SCHED_Tasks_C1,-1,processterminate
-273614225,Core_1,0,C,Core_1,0,idle
-273614225,TASK_1MS,273,C,Core_1,0,idle
-273614325,TASK_1MS,273,STI,IR_SCHED_Tasks_C1,924,trigger
-273614325,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-273614325,Core_1,0,C,Core_1,0,execute_idle
-273614325,TASK_InputProcessing,136,C,Core_1,0,execute_idle
-273614325,Core_1,0,T,TASK_InputProcessing,136,resume
-273614325,TASK_InputProcessing,136,R,FUNC_SEMLOCK,273,resume
-273625925,TASK_InputProcessing,136,SEM,SEM_DataElement1,0,requestsemaphore,0
-273625925,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-273625925,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-273625925,Core_1,0,C,Core_1,0,lock
-273625925,TASK_InputProcessing,136,SEM,SEM_DataElement1,0,assigned,1
-273625975,TASK_InputProcessing,136,R,FUNC_SEMLOCK,273,terminate
-273625975,Core_1,0,C,Core_1,0,unlock
-273625975,TASK_InputProcessing,136,R,FUNC_ReadSensorData,136,start
-273788525,TASK_InputProcessing,136,SIG,SIG_RotationSpeed,0,read,0
-273788525,TASK_InputProcessing,136,SIG,SIG_Lambda,0,read,0
-273788525,TASK_InputProcessing,136,SIG,SIG_Temperature,0,read,0
-273788525,TASK_InputProcessing,136,R,FUNC_ReadSensorData,136,terminate
-273788525,TASK_InputProcessing,136,R,FUNC_SEMUNLOCK,273,start
-273988525,TASK_InputProcessing,136,SEM,SEM_DataElement1,0,released,1
-273988525,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-273988525,TASK_InputProcessing,136,SCHED,SCHED_Tasks_C1,-1,schedulepoint
-273988525,Core_1,0,C,Core_1,0,lock
-273988575,TASK_InputProcessing,136,R,FUNC_SEMUNLOCK,273,terminate
-273988575,Core_1,0,C,Core_1,0,unlock
-273988575,TASK_InputProcessing,136,STI,IPA_InputReady,136,trigger
-273988575,IPA_InputReady,136,T,TASK_CalcEngineSpeed,136,activate
-273988575,TASK_CalcEngineSpeed,136,SCHED,SCHED_Tasks_C2,-1,processactivate
-273988575,Core_1,0,T,TASK_InputProcessing,136,terminate
-273988575,TASK_InputProcessing,136,SCHED,SCHED_Tasks_C1,-1,processterminate
-273988575,Core_1,0,C,Core_1,0,idle
-273988575,TASK_InputProcessing,136,C,Core_1,0,idle
-273988625,TASK_InputProcessing,136,STI,IR_SCHED_Tasks_C1,925,trigger
-273988625,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-273988675,TASK_CalcEngineSpeed,136,STI,IR_SCHED_Tasks_C2,879,trigger
-273988675,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-273988675,Core_2,0,T,TASK_CalcEngineSpeed,136,start
-273988675,TASK_CalcEngineSpeed,136,R,FUNC_ENGINESPEED,136,start
-273988675,Core_2,0,C,Core_2,0,execute
-273988675,TASK_CalcEngineSpeed,136,C,Core_2,0,execute
-274000000,SIM,-1,STI,TIMER-B_2ms,137,trigger
-274000000,TIMER-B_2ms,137,T,TASK_WritingActuator,137,activate
-274000000,TASK_WritingActuator,137,SCHED,SCHED_Tasks_C2,-1,processactivate
-274000100,TASK_WritingActuator,137,STI,IR_SCHED_Tasks_C2,880,trigger
-274000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-274100000,SIM,-1,STI,TIMER-5MS,137,trigger
-274100000,TIMER-5MS,137,T,TASK_5MS,137,activate
-274100000,TASK_5MS,137,SCHED,SCHED_Tasks_C2,-1,processactivate
-274100100,TASK_5MS,137,STI,IR_SCHED_Tasks_C2,881,trigger
-274100100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-274150000,SIM,-1,STI,TIMER-A_2ms,137,trigger
-274150000,TIMER-A_2ms,137,T,TASK_InputProcessing,137,activate
-274150000,TASK_InputProcessing,137,SCHED,SCHED_Tasks_C1,-1,processactivate
-274150100,TASK_InputProcessing,137,STI,IR_SCHED_Tasks_C1,926,trigger
-274150100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-274150100,Core_1,0,T,TASK_InputProcessing,137,start
-274150100,TASK_InputProcessing,137,R,FUNC_SEMLOCK,275,start
-274150100,Core_1,0,C,Core_1,0,execute
-274150100,TASK_InputProcessing,137,C,Core_1,0,execute
-274192025,TASK_CalcEngineSpeed,136,R,FUNC_ENGINESPEED,136,terminate
-274192025,Core_2,0,T,TASK_CalcEngineSpeed,136,terminate
-274192025,TASK_CalcEngineSpeed,136,SCHED,SCHED_Tasks_C2,-1,processterminate
-274192025,Core_2,0,C,Core_2,0,idle
-274192025,TASK_CalcEngineSpeed,136,C,Core_2,0,idle
-274192125,TASK_CalcEngineSpeed,136,STI,IR_SCHED_Tasks_C2,882,trigger
-274192125,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-274192125,Core_2,0,T,TASK_WritingActuator,137,start
-274192125,TASK_WritingActuator,137,R,FUNC_SEMLOCK,274,start
-274192125,Core_2,0,C,Core_2,0,execute
-274192125,TASK_WritingActuator,137,C,Core_2,0,execute
-274250000,SIM,-1,STI,TIMER-1MS,274,trigger
-274250000,TIMER-1MS,274,T,TASK_1MS,274,activate
-274250000,TASK_1MS,274,SCHED,SCHED_Tasks_C1,-1,processactivate
-274250100,TASK_1MS,274,STI,IR_SCHED_Tasks_C1,927,trigger
-274250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-274250100,TASK_InputProcessing,137,R,FUNC_SEMLOCK,275,suspend
-274250100,Core_1,0,T,TASK_InputProcessing,137,preempt
-274250100,Core_1,0,C,Core_1,0,idle_execution
-274250100,TASK_InputProcessing,137,C,Core_1,0,idle_execution
-274250100,Core_1,0,T,TASK_1MS,274,start
-274250100,TASK_1MS,274,R,FUNC_EXECTIME_1,504,start
-274250100,Core_1,0,C,Core_1,0,execute
-274250100,TASK_1MS,274,C,Core_1,0,execute
-274317125,TASK_WritingActuator,137,SEM,SEM_DataElement1,0,requestsemaphore,0
-274317125,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-274317125,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-274317125,Core_2,0,C,Core_2,0,lock
-274317125,TASK_WritingActuator,137,SEM,SEM_DataElement1,0,assigned,1
-274317175,TASK_WritingActuator,137,R,FUNC_SEMLOCK,274,terminate
-274317175,Core_2,0,C,Core_2,0,unlock
-274317175,TASK_WritingActuator,137,R,FUNC_WriteData,137,start
-274344600,TASK_WritingActuator,137,SIG,SIG_Mixture,0,write,0
-274344600,TASK_WritingActuator,137,R,FUNC_WriteData,137,terminate
-274344600,TASK_WritingActuator,137,R,FUNC_SEMUNLOCK,274,start
-274544600,TASK_WritingActuator,137,SEM,SEM_DataElement1,0,released,1
-274544600,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-274544600,TASK_WritingActuator,137,SCHED,SCHED_Tasks_C2,-1,schedulepoint
-274544600,Core_2,0,C,Core_2,0,lock
-274544650,TASK_WritingActuator,137,R,FUNC_SEMUNLOCK,274,terminate
-274544650,Core_2,0,T,TASK_WritingActuator,137,terminate
-274544650,TASK_WritingActuator,137,SCHED,SCHED_Tasks_C2,-1,processterminate
-274544650,Core_2,0,C,Core_2,0,unlock
-274544650,Core_2,0,C,Core_2,0,idle
-274544650,TASK_WritingActuator,137,C,Core_2,0,idle
-274544700,TASK_WritingActuator,137,STI,IR_SCHED_Tasks_C2,883,trigger
-274544700,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-274544700,Core_2,0,T,TASK_5MS,137,start
-274544700,TASK_5MS,137,R,FUNC_EXECTIME_1,503,start
-274544700,Core_2,0,C,Core_2,0,execute
-274544700,TASK_5MS,137,C,Core_2,0,execute
-274728425,TASK_1MS,274,R,FUNC_EXECTIME_1,504,terminate
-274728425,Core_1,0,T,TASK_1MS,274,terminate
-274728425,TASK_1MS,274,SCHED,SCHED_Tasks_C1,-1,processterminate
-274728425,Core_1,0,C,Core_1,0,idle
-274728425,TASK_1MS,274,C,Core_1,0,idle
-274728525,TASK_1MS,274,STI,IR_SCHED_Tasks_C1,928,trigger
-274728525,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-274728525,Core_1,0,C,Core_1,0,execute_idle
-274728525,TASK_InputProcessing,137,C,Core_1,0,execute_idle
-274728525,Core_1,0,T,TASK_InputProcessing,137,resume
-274728525,TASK_InputProcessing,137,R,FUNC_SEMLOCK,275,resume
-274753525,TASK_InputProcessing,137,SEM,SEM_DataElement1,0,requestsemaphore,0
-274753525,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-274753525,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-274753525,Core_1,0,C,Core_1,0,lock
-274753525,TASK_InputProcessing,137,SEM,SEM_DataElement1,0,assigned,1
-274753575,TASK_InputProcessing,137,R,FUNC_SEMLOCK,275,terminate
-274753575,Core_1,0,C,Core_1,0,unlock
-274753575,TASK_InputProcessing,137,R,FUNC_ReadSensorData,137,start
-274915050,TASK_InputProcessing,137,SIG,SIG_RotationSpeed,0,read,0
-274915050,TASK_InputProcessing,137,SIG,SIG_Lambda,0,read,0
-274915050,TASK_InputProcessing,137,SIG,SIG_Temperature,0,read,0
-274915050,TASK_InputProcessing,137,R,FUNC_ReadSensorData,137,terminate
-274915050,TASK_InputProcessing,137,R,FUNC_SEMUNLOCK,275,start
-275000000,SIM,-1,STI,TIMER-10MS,27,trigger
-275000000,TIMER-10MS,27,T,TASK_10MS,27,activate
-275000000,TASK_10MS,27,SCHED,SCHED_Tasks_C2,-1,processactivate
-275000100,TASK_10MS,27,STI,IR_SCHED_Tasks_C2,884,trigger
-275000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-275009300,TASK_5MS,137,R,FUNC_EXECTIME_1,503,terminate
-275009300,Core_2,0,T,TASK_5MS,137,terminate
-275009300,TASK_5MS,137,SCHED,SCHED_Tasks_C2,-1,processterminate
-275009300,Core_2,0,C,Core_2,0,idle
-275009300,TASK_5MS,137,C,Core_2,0,idle
-275009400,TASK_5MS,137,STI,IR_SCHED_Tasks_C2,885,trigger
-275009400,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-275009400,Core_2,0,T,TASK_10MS,27,start
-275009400,TASK_10MS,27,R,FUNC_EXECTIME_1,505,start
-275009400,Core_2,0,C,Core_2,0,execute
-275009400,TASK_10MS,27,C,Core_2,0,execute
-275115050,TASK_InputProcessing,137,SEM,SEM_DataElement1,0,released,1
-275115050,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-275115050,TASK_InputProcessing,137,SCHED,SCHED_Tasks_C1,-1,schedulepoint
-275115050,Core_1,0,C,Core_1,0,lock
-275115100,TASK_InputProcessing,137,R,FUNC_SEMUNLOCK,275,terminate
-275115100,Core_1,0,C,Core_1,0,unlock
-275115100,TASK_InputProcessing,137,STI,IPA_InputReady,137,trigger
-275115100,IPA_InputReady,137,T,TASK_CalcEngineSpeed,137,activate
-275115100,TASK_CalcEngineSpeed,137,SCHED,SCHED_Tasks_C2,-1,processactivate
-275115100,Core_1,0,T,TASK_InputProcessing,137,terminate
-275115100,TASK_InputProcessing,137,SCHED,SCHED_Tasks_C1,-1,processterminate
-275115100,Core_1,0,C,Core_1,0,idle
-275115100,TASK_InputProcessing,137,C,Core_1,0,idle
-275115150,TASK_InputProcessing,137,STI,IR_SCHED_Tasks_C1,929,trigger
-275115150,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-275115200,TASK_CalcEngineSpeed,137,STI,IR_SCHED_Tasks_C2,886,trigger
-275115200,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-275115200,TASK_10MS,27,R,FUNC_EXECTIME_1,505,suspend
-275115200,Core_2,0,T,TASK_10MS,27,preempt
-275115200,Core_2,0,C,Core_2,0,idle_execution
-275115200,TASK_10MS,27,C,Core_2,0,idle_execution
-275115200,Core_2,0,T,TASK_CalcEngineSpeed,137,start
-275115200,TASK_CalcEngineSpeed,137,R,FUNC_ENGINESPEED,137,start
-275115200,Core_2,0,C,Core_2,0,execute
-275115200,TASK_CalcEngineSpeed,137,C,Core_2,0,execute
-275250000,SIM,-1,STI,TIMER-1MS,275,trigger
-275250000,TIMER-1MS,275,T,TASK_1MS,275,activate
-275250000,TASK_1MS,275,SCHED,SCHED_Tasks_C1,-1,processactivate
-275250100,TASK_1MS,275,STI,IR_SCHED_Tasks_C1,930,trigger
-275250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-275250100,Core_1,0,T,TASK_1MS,275,start
-275250100,TASK_1MS,275,R,FUNC_EXECTIME_1,506,start
-275250100,Core_1,0,C,Core_1,0,execute
-275250100,TASK_1MS,275,C,Core_1,0,execute
-275364625,TASK_CalcEngineSpeed,137,R,FUNC_ENGINESPEED,137,terminate
-275364625,Core_2,0,T,TASK_CalcEngineSpeed,137,terminate
-275364625,TASK_CalcEngineSpeed,137,SCHED,SCHED_Tasks_C2,-1,processterminate
-275364625,Core_2,0,C,Core_2,0,idle
-275364625,TASK_CalcEngineSpeed,137,C,Core_2,0,idle
-275364725,TASK_CalcEngineSpeed,137,STI,IR_SCHED_Tasks_C2,887,trigger
-275364725,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-275364725,Core_2,0,C,Core_2,0,execute_idle
-275364725,TASK_10MS,27,C,Core_2,0,execute_idle
-275364725,Core_2,0,T,TASK_10MS,27,resume
-275364725,TASK_10MS,27,R,FUNC_EXECTIME_1,505,resume
-275682125,TASK_1MS,275,R,FUNC_EXECTIME_1,506,terminate
-275682125,Core_1,0,T,TASK_1MS,275,terminate
-275682125,TASK_1MS,275,SCHED,SCHED_Tasks_C1,-1,processterminate
-275682125,Core_1,0,C,Core_1,0,idle
-275682125,TASK_1MS,275,C,Core_1,0,idle
-275682225,TASK_1MS,275,STI,IR_SCHED_Tasks_C1,931,trigger
-275682225,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-275759325,TASK_10MS,27,R,FUNC_EXECTIME_1,505,terminate
-275759325,Core_2,0,T,TASK_10MS,27,terminate
-275759325,TASK_10MS,27,SCHED,SCHED_Tasks_C2,-1,processterminate
-275759325,Core_2,0,C,Core_2,0,idle
-275759325,TASK_10MS,27,C,Core_2,0,idle
-275759425,TASK_10MS,27,STI,IR_SCHED_Tasks_C2,888,trigger
-275759425,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-276000000,SIM,-1,STI,TIMER-B_2ms,138,trigger
-276000000,TIMER-B_2ms,138,T,TASK_WritingActuator,138,activate
-276000000,TASK_WritingActuator,138,SCHED,SCHED_Tasks_C2,-1,processactivate
-276000100,TASK_WritingActuator,138,STI,IR_SCHED_Tasks_C2,889,trigger
-276000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-276000100,Core_2,0,T,TASK_WritingActuator,138,start
-276000100,TASK_WritingActuator,138,R,FUNC_SEMLOCK,276,start
-276000100,Core_2,0,C,Core_2,0,execute
-276000100,TASK_WritingActuator,138,C,Core_2,0,execute
-276100000,SIM,-1,STI,TIMER-5MS,138,trigger
-276100000,TIMER-5MS,138,T,TASK_5MS,138,activate
-276100000,TASK_5MS,138,SCHED,SCHED_Tasks_C2,-1,processactivate
-276100100,TASK_5MS,138,STI,IR_SCHED_Tasks_C2,890,trigger
-276100100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-276125100,TASK_WritingActuator,138,SEM,SEM_DataElement1,0,requestsemaphore,0
-276125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-276125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-276125100,Core_2,0,C,Core_2,0,lock
-276125100,TASK_WritingActuator,138,SEM,SEM_DataElement1,0,assigned,1
-276125150,TASK_WritingActuator,138,R,FUNC_SEMLOCK,276,terminate
-276125150,Core_2,0,C,Core_2,0,unlock
-276125150,TASK_WritingActuator,138,R,FUNC_WriteData,138,start
-276150000,SIM,-1,STI,TIMER-A_2ms,138,trigger
-276150000,TIMER-A_2ms,138,T,TASK_InputProcessing,138,activate
-276150000,TASK_InputProcessing,138,SCHED,SCHED_Tasks_C1,-1,processactivate
-276150100,TASK_InputProcessing,138,STI,IR_SCHED_Tasks_C1,932,trigger
-276150100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-276150100,Core_1,0,T,TASK_InputProcessing,138,start
-276150100,TASK_InputProcessing,138,R,FUNC_SEMLOCK,277,start
-276150100,Core_1,0,C,Core_1,0,execute
-276150100,TASK_InputProcessing,138,C,Core_1,0,execute
-276152400,TASK_WritingActuator,138,SIG,SIG_Mixture,0,write,0
-276152400,TASK_WritingActuator,138,R,FUNC_WriteData,138,terminate
-276152400,TASK_WritingActuator,138,R,FUNC_SEMUNLOCK,276,start
-276250000,SIM,-1,STI,TIMER-1MS,276,trigger
-276250000,TIMER-1MS,276,T,TASK_1MS,276,activate
-276250000,TASK_1MS,276,SCHED,SCHED_Tasks_C1,-1,processactivate
-276250100,TASK_1MS,276,STI,IR_SCHED_Tasks_C1,933,trigger
-276250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-276250100,TASK_InputProcessing,138,R,FUNC_SEMLOCK,277,suspend
-276250100,Core_1,0,T,TASK_InputProcessing,138,preempt
-276250100,Core_1,0,C,Core_1,0,idle_execution
-276250100,TASK_InputProcessing,138,C,Core_1,0,idle_execution
-276250100,Core_1,0,T,TASK_1MS,276,start
-276250100,TASK_1MS,276,R,FUNC_EXECTIME_1,508,start
-276250100,Core_1,0,C,Core_1,0,execute
-276250100,TASK_1MS,276,C,Core_1,0,execute
-276352400,TASK_WritingActuator,138,SEM,SEM_DataElement1,0,released,1
-276352400,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-276352400,TASK_WritingActuator,138,SCHED,SCHED_Tasks_C2,-1,schedulepoint
-276352400,Core_2,0,C,Core_2,0,lock
-276352450,TASK_WritingActuator,138,R,FUNC_SEMUNLOCK,276,terminate
-276352450,Core_2,0,T,TASK_WritingActuator,138,terminate
-276352450,TASK_WritingActuator,138,SCHED,SCHED_Tasks_C2,-1,processterminate
-276352450,Core_2,0,C,Core_2,0,unlock
-276352450,Core_2,0,C,Core_2,0,idle
-276352450,TASK_WritingActuator,138,C,Core_2,0,idle
-276352500,TASK_WritingActuator,138,STI,IR_SCHED_Tasks_C2,891,trigger
-276352500,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-276352500,Core_2,0,T,TASK_5MS,138,start
-276352500,TASK_5MS,138,R,FUNC_EXECTIME_1,507,start
-276352500,Core_2,0,C,Core_2,0,execute
-276352500,TASK_5MS,138,C,Core_2,0,execute
-276633025,TASK_5MS,138,R,FUNC_EXECTIME_1,507,terminate
-276633025,Core_2,0,T,TASK_5MS,138,terminate
-276633025,TASK_5MS,138,SCHED,SCHED_Tasks_C2,-1,processterminate
-276633025,Core_2,0,C,Core_2,0,idle
-276633025,TASK_5MS,138,C,Core_2,0,idle
-276633125,TASK_5MS,138,STI,IR_SCHED_Tasks_C2,892,trigger
-276633125,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-276978000,TASK_1MS,276,R,FUNC_EXECTIME_1,508,terminate
-276978000,Core_1,0,T,TASK_1MS,276,terminate
-276978000,TASK_1MS,276,SCHED,SCHED_Tasks_C1,-1,processterminate
-276978000,Core_1,0,C,Core_1,0,idle
-276978000,TASK_1MS,276,C,Core_1,0,idle
-276978100,TASK_1MS,276,STI,IR_SCHED_Tasks_C1,934,trigger
-276978100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-276978100,Core_1,0,C,Core_1,0,execute_idle
-276978100,TASK_InputProcessing,138,C,Core_1,0,execute_idle
-276978100,Core_1,0,T,TASK_InputProcessing,138,resume
-276978100,TASK_InputProcessing,138,R,FUNC_SEMLOCK,277,resume
-277003100,TASK_InputProcessing,138,SEM,SEM_DataElement1,0,requestsemaphore,0
-277003100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-277003100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-277003100,Core_1,0,C,Core_1,0,lock
-277003100,TASK_InputProcessing,138,SEM,SEM_DataElement1,0,assigned,1
-277003150,TASK_InputProcessing,138,R,FUNC_SEMLOCK,277,terminate
-277003150,Core_1,0,C,Core_1,0,unlock
-277003150,TASK_InputProcessing,138,R,FUNC_ReadSensorData,138,start
-277165350,TASK_InputProcessing,138,SIG,SIG_RotationSpeed,0,read,0
-277165350,TASK_InputProcessing,138,SIG,SIG_Lambda,0,read,0
-277165350,TASK_InputProcessing,138,SIG,SIG_Temperature,0,read,0
-277165350,TASK_InputProcessing,138,R,FUNC_ReadSensorData,138,terminate
-277165350,TASK_InputProcessing,138,R,FUNC_SEMUNLOCK,277,start
-277250000,SIM,-1,STI,TIMER-1MS,277,trigger
-277250000,TIMER-1MS,277,T,TASK_1MS,277,activate
-277250000,TASK_1MS,277,SCHED,SCHED_Tasks_C1,-1,processactivate
-277250100,TASK_1MS,277,STI,IR_SCHED_Tasks_C1,935,trigger
-277250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-277365350,TASK_InputProcessing,138,SEM,SEM_DataElement1,0,released,1
-277365350,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-277365350,TASK_InputProcessing,138,SCHED,SCHED_Tasks_C1,-1,schedulepoint
-277365350,Core_1,0,C,Core_1,0,lock
-277365400,TASK_InputProcessing,138,R,FUNC_SEMUNLOCK,277,terminate
-277365400,Core_1,0,C,Core_1,0,unlock
-277365400,TASK_InputProcessing,138,STI,IPA_InputReady,138,trigger
-277365400,IPA_InputReady,138,T,TASK_CalcEngineSpeed,138,activate
-277365400,TASK_CalcEngineSpeed,138,SCHED,SCHED_Tasks_C2,-1,processactivate
-277365400,Core_1,0,T,TASK_InputProcessing,138,terminate
-277365400,TASK_InputProcessing,138,SCHED,SCHED_Tasks_C1,-1,processterminate
-277365400,Core_1,0,C,Core_1,0,idle
-277365400,TASK_InputProcessing,138,C,Core_1,0,idle
-277365450,TASK_InputProcessing,138,STI,IR_SCHED_Tasks_C1,936,trigger
-277365450,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-277365450,Core_1,0,T,TASK_1MS,277,start
-277365450,TASK_1MS,277,R,FUNC_EXECTIME_1,509,start
-277365450,Core_1,0,C,Core_1,0,execute
-277365450,TASK_1MS,277,C,Core_1,0,execute
-277365500,TASK_CalcEngineSpeed,138,STI,IR_SCHED_Tasks_C2,893,trigger
-277365500,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-277365500,Core_2,0,T,TASK_CalcEngineSpeed,138,start
-277365500,TASK_CalcEngineSpeed,138,R,FUNC_ENGINESPEED,138,start
-277365500,Core_2,0,C,Core_2,0,execute
-277365500,TASK_CalcEngineSpeed,138,C,Core_2,0,execute
-277483625,TASK_CalcEngineSpeed,138,R,FUNC_ENGINESPEED,138,terminate
-277483625,Core_2,0,T,TASK_CalcEngineSpeed,138,terminate
-277483625,TASK_CalcEngineSpeed,138,SCHED,SCHED_Tasks_C2,-1,processterminate
-277483625,Core_2,0,C,Core_2,0,idle
-277483625,TASK_CalcEngineSpeed,138,C,Core_2,0,idle
-277483725,TASK_CalcEngineSpeed,138,STI,IR_SCHED_Tasks_C2,894,trigger
-277483725,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-277639775,TASK_1MS,277,R,FUNC_EXECTIME_1,509,terminate
-277639775,Core_1,0,T,TASK_1MS,277,terminate
-277639775,TASK_1MS,277,SCHED,SCHED_Tasks_C1,-1,processterminate
-277639775,Core_1,0,C,Core_1,0,idle
-277639775,TASK_1MS,277,C,Core_1,0,idle
-277639875,TASK_1MS,277,STI,IR_SCHED_Tasks_C1,937,trigger
-277639875,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-278000000,SIM,-1,STI,TIMER-B_2ms,139,trigger
-278000000,TIMER-B_2ms,139,T,TASK_WritingActuator,139,activate
-278000000,TASK_WritingActuator,139,SCHED,SCHED_Tasks_C2,-1,processactivate
-278000100,TASK_WritingActuator,139,STI,IR_SCHED_Tasks_C2,895,trigger
-278000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-278000100,Core_2,0,T,TASK_WritingActuator,139,start
-278000100,TASK_WritingActuator,139,R,FUNC_SEMLOCK,278,start
-278000100,Core_2,0,C,Core_2,0,execute
-278000100,TASK_WritingActuator,139,C,Core_2,0,execute
-278100000,SIM,-1,STI,TIMER-5MS,139,trigger
-278100000,TIMER-5MS,139,T,TASK_5MS,139,activate
-278100000,TASK_5MS,139,SCHED,SCHED_Tasks_C2,-1,processactivate
-278100100,TASK_5MS,139,STI,IR_SCHED_Tasks_C2,896,trigger
-278100100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-278125100,TASK_WritingActuator,139,SEM,SEM_DataElement1,0,requestsemaphore,0
-278125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-278125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-278125100,Core_2,0,C,Core_2,0,lock
-278125100,TASK_WritingActuator,139,SEM,SEM_DataElement1,0,assigned,1
-278125150,TASK_WritingActuator,139,R,FUNC_SEMLOCK,278,terminate
-278125150,Core_2,0,C,Core_2,0,unlock
-278125150,TASK_WritingActuator,139,R,FUNC_WriteData,139,start
-278150000,SIM,-1,STI,TIMER-A_2ms,139,trigger
-278150000,TIMER-A_2ms,139,T,TASK_InputProcessing,139,activate
-278150000,TASK_InputProcessing,139,SCHED,SCHED_Tasks_C1,-1,processactivate
-278150100,TASK_InputProcessing,139,STI,IR_SCHED_Tasks_C1,938,trigger
-278150100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-278150100,Core_1,0,T,TASK_InputProcessing,139,start
-278150100,TASK_InputProcessing,139,R,FUNC_SEMLOCK,279,start
-278150100,Core_1,0,C,Core_1,0,execute
-278150100,TASK_InputProcessing,139,C,Core_1,0,execute
-278152300,TASK_WritingActuator,139,SIG,SIG_Mixture,0,write,0
-278152300,TASK_WritingActuator,139,R,FUNC_WriteData,139,terminate
-278152300,TASK_WritingActuator,139,R,FUNC_SEMUNLOCK,278,start
-278250000,SIM,-1,STI,TIMER-1MS,278,trigger
-278250000,TIMER-1MS,278,T,TASK_1MS,278,activate
-278250000,TASK_1MS,278,SCHED,SCHED_Tasks_C1,-1,processactivate
-278250100,TASK_1MS,278,STI,IR_SCHED_Tasks_C1,939,trigger
-278250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-278250100,TASK_InputProcessing,139,R,FUNC_SEMLOCK,279,suspend
-278250100,Core_1,0,T,TASK_InputProcessing,139,preempt
-278250100,Core_1,0,C,Core_1,0,idle_execution
-278250100,TASK_InputProcessing,139,C,Core_1,0,idle_execution
-278250100,Core_1,0,T,TASK_1MS,278,start
-278250100,TASK_1MS,278,R,FUNC_EXECTIME_1,511,start
-278250100,Core_1,0,C,Core_1,0,execute
-278250100,TASK_1MS,278,C,Core_1,0,execute
-278352300,TASK_WritingActuator,139,SEM,SEM_DataElement1,0,released,1
-278352300,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-278352300,TASK_WritingActuator,139,SCHED,SCHED_Tasks_C2,-1,schedulepoint
-278352300,Core_2,0,C,Core_2,0,lock
-278352350,TASK_WritingActuator,139,R,FUNC_SEMUNLOCK,278,terminate
-278352350,Core_2,0,T,TASK_WritingActuator,139,terminate
-278352350,TASK_WritingActuator,139,SCHED,SCHED_Tasks_C2,-1,processterminate
-278352350,Core_2,0,C,Core_2,0,unlock
-278352350,Core_2,0,C,Core_2,0,idle
-278352350,TASK_WritingActuator,139,C,Core_2,0,idle
-278352400,TASK_WritingActuator,139,STI,IR_SCHED_Tasks_C2,897,trigger
-278352400,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-278352400,Core_2,0,T,TASK_5MS,139,start
-278352400,TASK_5MS,139,R,FUNC_EXECTIME_1,510,start
-278352400,Core_2,0,C,Core_2,0,execute
-278352400,TASK_5MS,139,C,Core_2,0,execute
-278982725,TASK_5MS,139,R,FUNC_EXECTIME_1,510,terminate
-278982725,Core_2,0,T,TASK_5MS,139,terminate
-278982725,TASK_5MS,139,SCHED,SCHED_Tasks_C2,-1,processterminate
-278982725,Core_2,0,C,Core_2,0,idle
-278982725,TASK_5MS,139,C,Core_2,0,idle
-278982825,TASK_5MS,139,STI,IR_SCHED_Tasks_C2,898,trigger
-278982825,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-279191025,TASK_1MS,278,R,FUNC_EXECTIME_1,511,terminate
-279191025,Core_1,0,T,TASK_1MS,278,terminate
-279191025,TASK_1MS,278,SCHED,SCHED_Tasks_C1,-1,processterminate
-279191025,Core_1,0,C,Core_1,0,idle
-279191025,TASK_1MS,278,C,Core_1,0,idle
-279191125,TASK_1MS,278,STI,IR_SCHED_Tasks_C1,940,trigger
-279191125,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-279191125,Core_1,0,C,Core_1,0,execute_idle
-279191125,TASK_InputProcessing,139,C,Core_1,0,execute_idle
-279191125,Core_1,0,T,TASK_InputProcessing,139,resume
-279191125,TASK_InputProcessing,139,R,FUNC_SEMLOCK,279,resume
-279216125,TASK_InputProcessing,139,SEM,SEM_DataElement1,0,requestsemaphore,0
-279216125,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-279216125,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-279216125,Core_1,0,C,Core_1,0,lock
-279216125,TASK_InputProcessing,139,SEM,SEM_DataElement1,0,assigned,1
-279216175,TASK_InputProcessing,139,R,FUNC_SEMLOCK,279,terminate
-279216175,Core_1,0,C,Core_1,0,unlock
-279216175,TASK_InputProcessing,139,R,FUNC_ReadSensorData,139,start
-279250000,SIM,-1,STI,TIMER-1MS,279,trigger
-279250000,TIMER-1MS,279,T,TASK_1MS,279,activate
-279250000,TASK_1MS,279,SCHED,SCHED_Tasks_C1,-1,processactivate
-279250100,TASK_1MS,279,STI,IR_SCHED_Tasks_C1,941,trigger
-279250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-279376675,TASK_InputProcessing,139,SIG,SIG_RotationSpeed,0,read,0
-279376675,TASK_InputProcessing,139,SIG,SIG_Lambda,0,read,0
-279376675,TASK_InputProcessing,139,SIG,SIG_Temperature,0,read,0
-279376675,TASK_InputProcessing,139,R,FUNC_ReadSensorData,139,terminate
-279376675,TASK_InputProcessing,139,R,FUNC_SEMUNLOCK,279,start
-279576675,TASK_InputProcessing,139,SEM,SEM_DataElement1,0,released,1
-279576675,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-279576675,TASK_InputProcessing,139,SCHED,SCHED_Tasks_C1,-1,schedulepoint
-279576675,Core_1,0,C,Core_1,0,lock
-279576725,TASK_InputProcessing,139,R,FUNC_SEMUNLOCK,279,terminate
-279576725,Core_1,0,C,Core_1,0,unlock
-279576725,TASK_InputProcessing,139,STI,IPA_InputReady,139,trigger
-279576725,IPA_InputReady,139,T,TASK_CalcEngineSpeed,139,activate
-279576725,TASK_CalcEngineSpeed,139,SCHED,SCHED_Tasks_C2,-1,processactivate
-279576725,Core_1,0,T,TASK_InputProcessing,139,terminate
-279576725,TASK_InputProcessing,139,SCHED,SCHED_Tasks_C1,-1,processterminate
-279576725,Core_1,0,C,Core_1,0,idle
-279576725,TASK_InputProcessing,139,C,Core_1,0,idle
-279576775,TASK_InputProcessing,139,STI,IR_SCHED_Tasks_C1,942,trigger
-279576775,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-279576775,Core_1,0,T,TASK_1MS,279,start
-279576775,TASK_1MS,279,R,FUNC_EXECTIME_1,512,start
-279576775,Core_1,0,C,Core_1,0,execute
-279576775,TASK_1MS,279,C,Core_1,0,execute
-279576825,TASK_CalcEngineSpeed,139,STI,IR_SCHED_Tasks_C2,899,trigger
-279576825,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-279576825,Core_2,0,T,TASK_CalcEngineSpeed,139,start
-279576825,TASK_CalcEngineSpeed,139,R,FUNC_ENGINESPEED,139,start
-279576825,Core_2,0,C,Core_2,0,execute
-279576825,TASK_CalcEngineSpeed,139,C,Core_2,0,execute
-279727825,TASK_CalcEngineSpeed,139,R,FUNC_ENGINESPEED,139,terminate
-279727825,Core_2,0,T,TASK_CalcEngineSpeed,139,terminate
-279727825,TASK_CalcEngineSpeed,139,SCHED,SCHED_Tasks_C2,-1,processterminate
-279727825,Core_2,0,C,Core_2,0,idle
-279727825,TASK_CalcEngineSpeed,139,C,Core_2,0,idle
-279727925,TASK_CalcEngineSpeed,139,STI,IR_SCHED_Tasks_C2,900,trigger
-279727925,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-280000000,SIM,-1,STI,TIMER-B_2ms,140,trigger
-280000000,TIMER-B_2ms,140,T,TASK_WritingActuator,140,activate
-280000000,TASK_WritingActuator,140,SCHED,SCHED_Tasks_C2,-1,processactivate
-280000000,SIM,-1,STI,TIMER-10MS_2,28,trigger
-280000000,TIMER-10MS_2,28,T,TASK_10MS_DL2,28,activate
-280000000,TASK_10MS_DL2,28,SCHED,SCHED_Tasks_C1,-1,processactivate
-280000100,TASK_WritingActuator,140,STI,IR_SCHED_Tasks_C2,901,trigger
-280000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-280000100,Core_2,0,T,TASK_WritingActuator,140,start
-280000100,TASK_WritingActuator,140,R,FUNC_SEMLOCK,280,start
-280000100,Core_2,0,C,Core_2,0,execute
-280000100,TASK_WritingActuator,140,C,Core_2,0,execute
-280000100,TASK_10MS_DL2,28,STI,IR_SCHED_Tasks_C1,943,trigger
-280000100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-280005000,SIM,-1,STI,TIMER-20MS,14,trigger
-280005000,TIMER-20MS,14,T,TASK_20MS,14,activate
-280005000,TASK_20MS,14,SCHED,SCHED_Tasks_C1,-1,processactivate
-280005100,TASK_20MS,14,STI,IR_SCHED_Tasks_C1,944,trigger
-280005100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-280100000,SIM,-1,STI,TIMER-5MS,140,trigger
-280100000,TIMER-5MS,140,T,TASK_5MS,140,activate
-280100000,TASK_5MS,140,SCHED,SCHED_Tasks_C2,-1,processactivate
-280100100,TASK_5MS,140,STI,IR_SCHED_Tasks_C2,902,trigger
-280100100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-280105975,TASK_1MS,279,R,FUNC_EXECTIME_1,512,terminate
-280105975,Core_1,0,T,TASK_1MS,279,terminate
-280105975,TASK_1MS,279,SCHED,SCHED_Tasks_C1,-1,processterminate
-280105975,Core_1,0,C,Core_1,0,idle
-280105975,TASK_1MS,279,C,Core_1,0,idle
-280106075,TASK_1MS,279,STI,IR_SCHED_Tasks_C1,945,trigger
-280106075,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-280106075,Core_1,0,T,TASK_10MS_DL2,28,start
-280106075,TASK_10MS_DL2,28,R,FUNC_EXECTIME_1,513,start
-280106075,Core_1,0,C,Core_1,0,execute
-280106075,TASK_10MS_DL2,28,C,Core_1,0,execute
-280125100,TASK_WritingActuator,140,SEM,SEM_DataElement1,0,requestsemaphore,0
-280125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-280125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-280125100,Core_2,0,C,Core_2,0,lock
-280125100,TASK_WritingActuator,140,SEM,SEM_DataElement1,0,assigned,1
-280125150,TASK_WritingActuator,140,R,FUNC_SEMLOCK,280,terminate
-280125150,Core_2,0,C,Core_2,0,unlock
-280125150,TASK_WritingActuator,140,R,FUNC_WriteData,140,start
-280150000,SIM,-1,STI,TIMER-A_2ms,140,trigger
-280150000,TIMER-A_2ms,140,T,TASK_InputProcessing,140,activate
-280150000,TASK_InputProcessing,140,SCHED,SCHED_Tasks_C1,-1,processactivate
-280150100,TASK_InputProcessing,140,STI,IR_SCHED_Tasks_C1,946,trigger
-280150100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-280152350,TASK_WritingActuator,140,SIG,SIG_Mixture,0,write,0
-280152350,TASK_WritingActuator,140,R,FUNC_WriteData,140,terminate
-280152350,TASK_WritingActuator,140,R,FUNC_SEMUNLOCK,280,start
-280250000,SIM,-1,STI,TIMER-1MS,280,trigger
-280250000,TIMER-1MS,280,T,TASK_1MS,280,activate
-280250000,TASK_1MS,280,SCHED,SCHED_Tasks_C1,-1,processactivate
-280250100,TASK_1MS,280,STI,IR_SCHED_Tasks_C1,947,trigger
-280250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-280250100,TASK_10MS_DL2,28,R,FUNC_EXECTIME_1,513,suspend
-280250100,Core_1,0,T,TASK_10MS_DL2,28,preempt
-280250100,Core_1,0,C,Core_1,0,idle_execution
-280250100,TASK_10MS_DL2,28,C,Core_1,0,idle_execution
-280250100,Core_1,0,T,TASK_1MS,280,start
-280250100,TASK_1MS,280,R,FUNC_EXECTIME_1,516,start
-280250100,Core_1,0,C,Core_1,0,execute
-280250100,TASK_1MS,280,C,Core_1,0,execute
-280352350,TASK_WritingActuator,140,SEM,SEM_DataElement1,0,released,1
-280352350,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-280352350,TASK_WritingActuator,140,SCHED,SCHED_Tasks_C2,-1,schedulepoint
-280352350,Core_2,0,C,Core_2,0,lock
-280352400,TASK_WritingActuator,140,R,FUNC_SEMUNLOCK,280,terminate
-280352400,Core_2,0,T,TASK_WritingActuator,140,terminate
-280352400,TASK_WritingActuator,140,SCHED,SCHED_Tasks_C2,-1,processterminate
-280352400,Core_2,0,C,Core_2,0,unlock
-280352400,Core_2,0,C,Core_2,0,idle
-280352400,TASK_WritingActuator,140,C,Core_2,0,idle
-280352450,TASK_WritingActuator,140,STI,IR_SCHED_Tasks_C2,903,trigger
-280352450,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-280352450,Core_2,0,T,TASK_5MS,140,start
-280352450,TASK_5MS,140,R,FUNC_EXECTIME_1,515,start
-280352450,Core_2,0,C,Core_2,0,execute
-280352450,TASK_5MS,140,C,Core_2,0,execute
-280633250,TASK_1MS,280,R,FUNC_EXECTIME_1,516,terminate
-280633250,Core_1,0,T,TASK_1MS,280,terminate
-280633250,TASK_1MS,280,SCHED,SCHED_Tasks_C1,-1,processterminate
-280633250,Core_1,0,C,Core_1,0,idle
-280633250,TASK_1MS,280,C,Core_1,0,idle
-280633350,TASK_1MS,280,STI,IR_SCHED_Tasks_C1,948,trigger
-280633350,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-280633350,Core_1,0,C,Core_1,0,execute_idle
-280633350,TASK_10MS_DL2,28,C,Core_1,0,execute_idle
-280633350,Core_1,0,T,TASK_10MS_DL2,28,resume
-280633350,TASK_10MS_DL2,28,R,FUNC_EXECTIME_1,513,resume
-281018100,TASK_10MS_DL2,28,R,FUNC_EXECTIME_1,513,terminate
-281018100,Core_1,0,T,TASK_10MS_DL2,28,terminate
-281018100,TASK_10MS_DL2,28,SCHED,SCHED_Tasks_C1,-1,processterminate
-281018100,Core_1,0,C,Core_1,0,idle
-281018100,TASK_10MS_DL2,28,C,Core_1,0,idle
-281018200,TASK_10MS_DL2,28,STI,IR_SCHED_Tasks_C1,949,trigger
-281018200,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-281018200,Core_1,0,T,TASK_InputProcessing,140,start
-281018200,TASK_InputProcessing,140,R,FUNC_SEMLOCK,281,start
-281018200,Core_1,0,C,Core_1,0,execute
-281018200,TASK_InputProcessing,140,C,Core_1,0,execute
-281037350,TASK_5MS,140,R,FUNC_EXECTIME_1,515,terminate
-281037350,Core_2,0,T,TASK_5MS,140,terminate
-281037350,TASK_5MS,140,SCHED,SCHED_Tasks_C2,-1,processterminate
-281037350,Core_2,0,C,Core_2,0,idle
-281037350,TASK_5MS,140,C,Core_2,0,idle
-281037450,TASK_5MS,140,STI,IR_SCHED_Tasks_C2,904,trigger
-281037450,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-281143200,TASK_InputProcessing,140,SEM,SEM_DataElement1,0,requestsemaphore,0
-281143200,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-281143200,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-281143200,Core_1,0,C,Core_1,0,lock
-281143200,TASK_InputProcessing,140,SEM,SEM_DataElement1,0,assigned,1
-281143250,TASK_InputProcessing,140,R,FUNC_SEMLOCK,281,terminate
-281143250,Core_1,0,C,Core_1,0,unlock
-281143250,TASK_InputProcessing,140,R,FUNC_ReadSensorData,140,start
-281250000,SIM,-1,STI,TIMER-1MS,281,trigger
-281250000,TIMER-1MS,281,T,TASK_1MS,281,activate
-281250000,TASK_1MS,281,SCHED,SCHED_Tasks_C1,-1,processactivate
-281250100,TASK_1MS,281,STI,IR_SCHED_Tasks_C1,950,trigger
-281250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-281305975,TASK_InputProcessing,140,SIG,SIG_RotationSpeed,0,read,0
-281305975,TASK_InputProcessing,140,SIG,SIG_Lambda,0,read,0
-281305975,TASK_InputProcessing,140,SIG,SIG_Temperature,0,read,0
-281305975,TASK_InputProcessing,140,R,FUNC_ReadSensorData,140,terminate
-281305975,TASK_InputProcessing,140,R,FUNC_SEMUNLOCK,281,start
-281505975,TASK_InputProcessing,140,SEM,SEM_DataElement1,0,released,1
-281505975,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-281505975,TASK_InputProcessing,140,SCHED,SCHED_Tasks_C1,-1,schedulepoint
-281505975,Core_1,0,C,Core_1,0,lock
-281506025,TASK_InputProcessing,140,R,FUNC_SEMUNLOCK,281,terminate
-281506025,Core_1,0,C,Core_1,0,unlock
-281506025,TASK_InputProcessing,140,STI,IPA_InputReady,140,trigger
-281506025,IPA_InputReady,140,T,TASK_CalcEngineSpeed,140,activate
-281506025,TASK_CalcEngineSpeed,140,SCHED,SCHED_Tasks_C2,-1,processactivate
-281506025,Core_1,0,T,TASK_InputProcessing,140,terminate
-281506025,TASK_InputProcessing,140,SCHED,SCHED_Tasks_C1,-1,processterminate
-281506025,Core_1,0,C,Core_1,0,idle
-281506025,TASK_InputProcessing,140,C,Core_1,0,idle
-281506075,TASK_InputProcessing,140,STI,IR_SCHED_Tasks_C1,951,trigger
-281506075,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-281506075,Core_1,0,T,TASK_1MS,281,start
-281506075,TASK_1MS,281,R,FUNC_EXECTIME_1,517,start
-281506075,Core_1,0,C,Core_1,0,execute
-281506075,TASK_1MS,281,C,Core_1,0,execute
-281506125,TASK_CalcEngineSpeed,140,STI,IR_SCHED_Tasks_C2,905,trigger
-281506125,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-281506125,Core_2,0,T,TASK_CalcEngineSpeed,140,start
-281506125,TASK_CalcEngineSpeed,140,R,FUNC_ENGINESPEED,140,start
-281506125,Core_2,0,C,Core_2,0,execute
-281506125,TASK_CalcEngineSpeed,140,C,Core_2,0,execute
-281626650,TASK_CalcEngineSpeed,140,R,FUNC_ENGINESPEED,140,terminate
-281626650,Core_2,0,T,TASK_CalcEngineSpeed,140,terminate
-281626650,TASK_CalcEngineSpeed,140,SCHED,SCHED_Tasks_C2,-1,processterminate
-281626650,Core_2,0,C,Core_2,0,idle
-281626650,TASK_CalcEngineSpeed,140,C,Core_2,0,idle
-281626750,TASK_CalcEngineSpeed,140,STI,IR_SCHED_Tasks_C2,906,trigger
-281626750,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-281839175,TASK_1MS,281,R,FUNC_EXECTIME_1,517,terminate
-281839175,Core_1,0,T,TASK_1MS,281,terminate
-281839175,TASK_1MS,281,SCHED,SCHED_Tasks_C1,-1,processterminate
-281839175,Core_1,0,C,Core_1,0,idle
-281839175,TASK_1MS,281,C,Core_1,0,idle
-281839275,TASK_1MS,281,STI,IR_SCHED_Tasks_C1,952,trigger
-281839275,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-281839275,Core_1,0,T,TASK_20MS,14,start
-281839275,TASK_20MS,14,R,FUNC_EXECTIME_1,514,start
-281839275,Core_1,0,C,Core_1,0,execute
-281839275,TASK_20MS,14,C,Core_1,0,execute
-282000000,SIM,-1,STI,TIMER-B_2ms,141,trigger
-282000000,TIMER-B_2ms,141,T,TASK_WritingActuator,141,activate
-282000000,TASK_WritingActuator,141,SCHED,SCHED_Tasks_C2,-1,processactivate
-282000100,TASK_WritingActuator,141,STI,IR_SCHED_Tasks_C2,907,trigger
-282000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-282000100,Core_2,0,T,TASK_WritingActuator,141,start
-282000100,TASK_WritingActuator,141,R,FUNC_SEMLOCK,282,start
-282000100,Core_2,0,C,Core_2,0,execute
-282000100,TASK_WritingActuator,141,C,Core_2,0,execute
-282100000,SIM,-1,STI,TIMER-5MS,141,trigger
-282100000,TIMER-5MS,141,T,TASK_5MS,141,activate
-282100000,TASK_5MS,141,SCHED,SCHED_Tasks_C2,-1,processactivate
-282100100,TASK_5MS,141,STI,IR_SCHED_Tasks_C2,908,trigger
-282100100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-282125100,TASK_WritingActuator,141,SEM,SEM_DataElement1,0,requestsemaphore,0
-282125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-282125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-282125100,Core_2,0,C,Core_2,0,lock
-282125100,TASK_WritingActuator,141,SEM,SEM_DataElement1,0,assigned,1
-282125150,TASK_WritingActuator,141,R,FUNC_SEMLOCK,282,terminate
-282125150,Core_2,0,C,Core_2,0,unlock
-282125150,TASK_WritingActuator,141,R,FUNC_WriteData,141,start
-282150000,SIM,-1,STI,TIMER-A_2ms,141,trigger
-282150000,TIMER-A_2ms,141,T,TASK_InputProcessing,141,activate
-282150000,TASK_InputProcessing,141,SCHED,SCHED_Tasks_C1,-1,processactivate
-282150100,TASK_InputProcessing,141,STI,IR_SCHED_Tasks_C1,953,trigger
-282150100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-282150100,TASK_20MS,14,R,FUNC_EXECTIME_1,514,suspend
-282150100,Core_1,0,T,TASK_20MS,14,preempt
-282150100,Core_1,0,C,Core_1,0,idle_execution
-282150100,TASK_20MS,14,C,Core_1,0,idle_execution
-282150100,Core_1,0,T,TASK_InputProcessing,141,start
-282150100,TASK_InputProcessing,141,R,FUNC_SEMLOCK,283,start
-282150100,Core_1,0,C,Core_1,0,execute
-282150100,TASK_InputProcessing,141,C,Core_1,0,execute
-282151525,TASK_WritingActuator,141,SIG,SIG_Mixture,0,write,0
-282151525,TASK_WritingActuator,141,R,FUNC_WriteData,141,terminate
-282151525,TASK_WritingActuator,141,R,FUNC_SEMUNLOCK,282,start
-282250000,SIM,-1,STI,TIMER-1MS,282,trigger
-282250000,TIMER-1MS,282,T,TASK_1MS,282,activate
-282250000,TASK_1MS,282,SCHED,SCHED_Tasks_C1,-1,processactivate
-282250100,TASK_1MS,282,STI,IR_SCHED_Tasks_C1,954,trigger
-282250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-282250100,TASK_InputProcessing,141,R,FUNC_SEMLOCK,283,suspend
-282250100,Core_1,0,T,TASK_InputProcessing,141,preempt
-282250100,Core_1,0,C,Core_1,0,idle_execution
-282250100,TASK_InputProcessing,141,C,Core_1,0,idle_execution
-282250100,Core_1,0,T,TASK_1MS,282,start
-282250100,TASK_1MS,282,R,FUNC_EXECTIME_1,519,start
-282250100,Core_1,0,C,Core_1,0,execute
-282250100,TASK_1MS,282,C,Core_1,0,execute
-282351525,TASK_WritingActuator,141,SEM,SEM_DataElement1,0,released,1
-282351525,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-282351525,TASK_WritingActuator,141,SCHED,SCHED_Tasks_C2,-1,schedulepoint
-282351525,Core_2,0,C,Core_2,0,lock
-282351575,TASK_WritingActuator,141,R,FUNC_SEMUNLOCK,282,terminate
-282351575,Core_2,0,T,TASK_WritingActuator,141,terminate
-282351575,TASK_WritingActuator,141,SCHED,SCHED_Tasks_C2,-1,processterminate
-282351575,Core_2,0,C,Core_2,0,unlock
-282351575,Core_2,0,C,Core_2,0,idle
-282351575,TASK_WritingActuator,141,C,Core_2,0,idle
-282351625,TASK_WritingActuator,141,STI,IR_SCHED_Tasks_C2,909,trigger
-282351625,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-282351625,Core_2,0,T,TASK_5MS,141,start
-282351625,TASK_5MS,141,R,FUNC_EXECTIME_1,518,start
-282351625,Core_2,0,C,Core_2,0,execute
-282351625,TASK_5MS,141,C,Core_2,0,execute
-282732500,TASK_1MS,282,R,FUNC_EXECTIME_1,519,terminate
-282732500,Core_1,0,T,TASK_1MS,282,terminate
-282732500,TASK_1MS,282,SCHED,SCHED_Tasks_C1,-1,processterminate
-282732500,Core_1,0,C,Core_1,0,idle
-282732500,TASK_1MS,282,C,Core_1,0,idle
-282732600,TASK_1MS,282,STI,IR_SCHED_Tasks_C1,955,trigger
-282732600,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-282732600,Core_1,0,C,Core_1,0,execute_idle
-282732600,TASK_InputProcessing,141,C,Core_1,0,execute_idle
-282732600,Core_1,0,T,TASK_InputProcessing,141,resume
-282732600,TASK_InputProcessing,141,R,FUNC_SEMLOCK,283,resume
-282757600,TASK_InputProcessing,141,SEM,SEM_DataElement1,0,requestsemaphore,0
-282757600,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-282757600,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-282757600,Core_1,0,C,Core_1,0,lock
-282757600,TASK_InputProcessing,141,SEM,SEM_DataElement1,0,assigned,1
-282757650,TASK_InputProcessing,141,R,FUNC_SEMLOCK,283,terminate
-282757650,Core_1,0,C,Core_1,0,unlock
-282757650,TASK_InputProcessing,141,R,FUNC_ReadSensorData,141,start
-282862500,TASK_5MS,141,R,FUNC_EXECTIME_1,518,terminate
-282862500,Core_2,0,T,TASK_5MS,141,terminate
-282862500,TASK_5MS,141,SCHED,SCHED_Tasks_C2,-1,processterminate
-282862500,Core_2,0,C,Core_2,0,idle
-282862500,TASK_5MS,141,C,Core_2,0,idle
-282862600,TASK_5MS,141,STI,IR_SCHED_Tasks_C2,910,trigger
-282862600,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-282918375,TASK_InputProcessing,141,SIG,SIG_RotationSpeed,0,read,0
-282918375,TASK_InputProcessing,141,SIG,SIG_Lambda,0,read,0
-282918375,TASK_InputProcessing,141,SIG,SIG_Temperature,0,read,0
-282918375,TASK_InputProcessing,141,R,FUNC_ReadSensorData,141,terminate
-282918375,TASK_InputProcessing,141,R,FUNC_SEMUNLOCK,283,start
-283118375,TASK_InputProcessing,141,SEM,SEM_DataElement1,0,released,1
-283118375,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-283118375,TASK_InputProcessing,141,SCHED,SCHED_Tasks_C1,-1,schedulepoint
-283118375,Core_1,0,C,Core_1,0,lock
-283118425,TASK_InputProcessing,141,R,FUNC_SEMUNLOCK,283,terminate
-283118425,Core_1,0,C,Core_1,0,unlock
-283118425,TASK_InputProcessing,141,STI,IPA_InputReady,141,trigger
-283118425,IPA_InputReady,141,T,TASK_CalcEngineSpeed,141,activate
-283118425,TASK_CalcEngineSpeed,141,SCHED,SCHED_Tasks_C2,-1,processactivate
-283118425,Core_1,0,T,TASK_InputProcessing,141,terminate
-283118425,TASK_InputProcessing,141,SCHED,SCHED_Tasks_C1,-1,processterminate
-283118425,Core_1,0,C,Core_1,0,idle
-283118425,TASK_InputProcessing,141,C,Core_1,0,idle
-283118475,TASK_InputProcessing,141,STI,IR_SCHED_Tasks_C1,956,trigger
-283118475,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-283118475,Core_1,0,C,Core_1,0,execute_idle
-283118475,TASK_20MS,14,C,Core_1,0,execute_idle
-283118475,Core_1,0,T,TASK_20MS,14,resume
-283118475,TASK_20MS,14,R,FUNC_EXECTIME_1,514,resume
-283118525,TASK_CalcEngineSpeed,141,STI,IR_SCHED_Tasks_C2,911,trigger
-283118525,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-283118525,Core_2,0,T,TASK_CalcEngineSpeed,141,start
-283118525,TASK_CalcEngineSpeed,141,R,FUNC_ENGINESPEED,141,start
-283118525,Core_2,0,C,Core_2,0,execute
-283118525,TASK_CalcEngineSpeed,141,C,Core_2,0,execute
-283250000,SIM,-1,STI,TIMER-1MS,283,trigger
-283250000,TIMER-1MS,283,T,TASK_1MS,283,activate
-283250000,TASK_1MS,283,SCHED,SCHED_Tasks_C1,-1,processactivate
-283250100,TASK_1MS,283,STI,IR_SCHED_Tasks_C1,957,trigger
-283250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-283250100,TASK_20MS,14,R,FUNC_EXECTIME_1,514,suspend
-283250100,Core_1,0,T,TASK_20MS,14,preempt
-283250100,Core_1,0,C,Core_1,0,idle_execution
-283250100,TASK_20MS,14,C,Core_1,0,idle_execution
-283250100,Core_1,0,T,TASK_1MS,283,start
-283250100,TASK_1MS,283,R,FUNC_EXECTIME_1,520,start
-283250100,Core_1,0,C,Core_1,0,execute
-283250100,TASK_1MS,283,C,Core_1,0,execute
-283349350,TASK_CalcEngineSpeed,141,R,FUNC_ENGINESPEED,141,terminate
-283349350,Core_2,0,T,TASK_CalcEngineSpeed,141,terminate
-283349350,TASK_CalcEngineSpeed,141,SCHED,SCHED_Tasks_C2,-1,processterminate
-283349350,Core_2,0,C,Core_2,0,idle
-283349350,TASK_CalcEngineSpeed,141,C,Core_2,0,idle
-283349450,TASK_CalcEngineSpeed,141,STI,IR_SCHED_Tasks_C2,912,trigger
-283349450,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-283739900,TASK_1MS,283,R,FUNC_EXECTIME_1,520,terminate
-283739900,Core_1,0,T,TASK_1MS,283,terminate
-283739900,TASK_1MS,283,SCHED,SCHED_Tasks_C1,-1,processterminate
-283739900,Core_1,0,C,Core_1,0,idle
-283739900,TASK_1MS,283,C,Core_1,0,idle
-283740000,TASK_1MS,283,STI,IR_SCHED_Tasks_C1,958,trigger
-283740000,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-283740000,Core_1,0,C,Core_1,0,execute_idle
-283740000,TASK_20MS,14,C,Core_1,0,execute_idle
-283740000,Core_1,0,T,TASK_20MS,14,resume
-283740000,TASK_20MS,14,R,FUNC_EXECTIME_1,514,resume
-284000000,SIM,-1,STI,TIMER-B_2ms,142,trigger
-284000000,TIMER-B_2ms,142,T,TASK_WritingActuator,142,activate
-284000000,TASK_WritingActuator,142,SCHED,SCHED_Tasks_C2,-1,processactivate
-284000100,TASK_WritingActuator,142,STI,IR_SCHED_Tasks_C2,913,trigger
-284000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-284000100,Core_2,0,T,TASK_WritingActuator,142,start
-284000100,TASK_WritingActuator,142,R,FUNC_SEMLOCK,284,start
-284000100,Core_2,0,C,Core_2,0,execute
-284000100,TASK_WritingActuator,142,C,Core_2,0,execute
-284100000,SIM,-1,STI,TIMER-5MS,142,trigger
-284100000,TIMER-5MS,142,T,TASK_5MS,142,activate
-284100000,TASK_5MS,142,SCHED,SCHED_Tasks_C2,-1,processactivate
-284100100,TASK_5MS,142,STI,IR_SCHED_Tasks_C2,914,trigger
-284100100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-284125100,TASK_WritingActuator,142,SEM,SEM_DataElement1,0,requestsemaphore,0
-284125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-284125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-284125100,Core_2,0,C,Core_2,0,lock
-284125100,TASK_WritingActuator,142,SEM,SEM_DataElement1,0,assigned,1
-284125150,TASK_WritingActuator,142,R,FUNC_SEMLOCK,284,terminate
-284125150,Core_2,0,C,Core_2,0,unlock
-284125150,TASK_WritingActuator,142,R,FUNC_WriteData,142,start
-284150000,SIM,-1,STI,TIMER-A_2ms,142,trigger
-284150000,TIMER-A_2ms,142,T,TASK_InputProcessing,142,activate
-284150000,TASK_InputProcessing,142,SCHED,SCHED_Tasks_C1,-1,processactivate
-284150100,TASK_InputProcessing,142,STI,IR_SCHED_Tasks_C1,959,trigger
-284150100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-284150100,TASK_20MS,14,R,FUNC_EXECTIME_1,514,suspend
-284150100,Core_1,0,T,TASK_20MS,14,preempt
-284150100,Core_1,0,C,Core_1,0,idle_execution
-284150100,TASK_20MS,14,C,Core_1,0,idle_execution
-284150100,Core_1,0,T,TASK_InputProcessing,142,start
-284150100,TASK_InputProcessing,142,R,FUNC_SEMLOCK,285,start
-284150100,Core_1,0,C,Core_1,0,execute
-284150100,TASK_InputProcessing,142,C,Core_1,0,execute
-284151600,TASK_WritingActuator,142,SIG,SIG_Mixture,0,write,0
-284151600,TASK_WritingActuator,142,R,FUNC_WriteData,142,terminate
-284151600,TASK_WritingActuator,142,R,FUNC_SEMUNLOCK,284,start
-284250000,SIM,-1,STI,TIMER-1MS,284,trigger
-284250000,TIMER-1MS,284,T,TASK_1MS,284,activate
-284250000,TASK_1MS,284,SCHED,SCHED_Tasks_C1,-1,processactivate
-284250100,TASK_1MS,284,STI,IR_SCHED_Tasks_C1,960,trigger
-284250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-284250100,TASK_InputProcessing,142,R,FUNC_SEMLOCK,285,suspend
-284250100,Core_1,0,T,TASK_InputProcessing,142,preempt
-284250100,Core_1,0,C,Core_1,0,idle_execution
-284250100,TASK_InputProcessing,142,C,Core_1,0,idle_execution
-284250100,Core_1,0,T,TASK_1MS,284,start
-284250100,TASK_1MS,284,R,FUNC_EXECTIME_1,522,start
-284250100,Core_1,0,C,Core_1,0,execute
-284250100,TASK_1MS,284,C,Core_1,0,execute
-284351600,TASK_WritingActuator,142,SEM,SEM_DataElement1,0,released,1
-284351600,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-284351600,TASK_WritingActuator,142,SCHED,SCHED_Tasks_C2,-1,schedulepoint
-284351600,Core_2,0,C,Core_2,0,lock
-284351650,TASK_WritingActuator,142,R,FUNC_SEMUNLOCK,284,terminate
-284351650,Core_2,0,T,TASK_WritingActuator,142,terminate
-284351650,TASK_WritingActuator,142,SCHED,SCHED_Tasks_C2,-1,processterminate
-284351650,Core_2,0,C,Core_2,0,unlock
-284351650,Core_2,0,C,Core_2,0,idle
-284351650,TASK_WritingActuator,142,C,Core_2,0,idle
-284351700,TASK_WritingActuator,142,STI,IR_SCHED_Tasks_C2,915,trigger
-284351700,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-284351700,Core_2,0,T,TASK_5MS,142,start
-284351700,TASK_5MS,142,R,FUNC_EXECTIME_1,521,start
-284351700,Core_2,0,C,Core_2,0,execute
-284351700,TASK_5MS,142,C,Core_2,0,execute
-284630250,TASK_1MS,284,R,FUNC_EXECTIME_1,522,terminate
-284630250,Core_1,0,T,TASK_1MS,284,terminate
-284630250,TASK_1MS,284,SCHED,SCHED_Tasks_C1,-1,processterminate
-284630250,Core_1,0,C,Core_1,0,idle
-284630250,TASK_1MS,284,C,Core_1,0,idle
-284630350,TASK_1MS,284,STI,IR_SCHED_Tasks_C1,961,trigger
-284630350,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-284630350,Core_1,0,C,Core_1,0,execute_idle
-284630350,TASK_InputProcessing,142,C,Core_1,0,execute_idle
-284630350,Core_1,0,T,TASK_InputProcessing,142,resume
-284630350,TASK_InputProcessing,142,R,FUNC_SEMLOCK,285,resume
-284655350,TASK_InputProcessing,142,SEM,SEM_DataElement1,0,requestsemaphore,0
-284655350,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-284655350,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-284655350,Core_1,0,C,Core_1,0,lock
-284655350,TASK_InputProcessing,142,SEM,SEM_DataElement1,0,assigned,1
-284655400,TASK_InputProcessing,142,R,FUNC_SEMLOCK,285,terminate
-284655400,Core_1,0,C,Core_1,0,unlock
-284655400,TASK_InputProcessing,142,R,FUNC_ReadSensorData,142,start
-284817625,TASK_InputProcessing,142,SIG,SIG_RotationSpeed,0,read,0
-284817625,TASK_InputProcessing,142,SIG,SIG_Lambda,0,read,0
-284817625,TASK_InputProcessing,142,SIG,SIG_Temperature,0,read,0
-284817625,TASK_InputProcessing,142,R,FUNC_ReadSensorData,142,terminate
-284817625,TASK_InputProcessing,142,R,FUNC_SEMUNLOCK,285,start
-284907325,TASK_5MS,142,R,FUNC_EXECTIME_1,521,terminate
-284907325,Core_2,0,T,TASK_5MS,142,terminate
-284907325,TASK_5MS,142,SCHED,SCHED_Tasks_C2,-1,processterminate
-284907325,Core_2,0,C,Core_2,0,idle
-284907325,TASK_5MS,142,C,Core_2,0,idle
-284907425,TASK_5MS,142,STI,IR_SCHED_Tasks_C2,916,trigger
-284907425,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-285000000,SIM,-1,STI,TIMER-10MS,28,trigger
-285000000,TIMER-10MS,28,T,TASK_10MS,28,activate
-285000000,TASK_10MS,28,SCHED,SCHED_Tasks_C2,-1,processactivate
-285000100,TASK_10MS,28,STI,IR_SCHED_Tasks_C2,917,trigger
-285000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-285000100,Core_2,0,T,TASK_10MS,28,start
-285000100,TASK_10MS,28,R,FUNC_EXECTIME_1,523,start
-285000100,Core_2,0,C,Core_2,0,execute
-285000100,TASK_10MS,28,C,Core_2,0,execute
-285017625,TASK_InputProcessing,142,SEM,SEM_DataElement1,0,released,1
-285017625,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-285017625,TASK_InputProcessing,142,SCHED,SCHED_Tasks_C1,-1,schedulepoint
-285017625,Core_1,0,C,Core_1,0,lock
-285017675,TASK_InputProcessing,142,R,FUNC_SEMUNLOCK,285,terminate
-285017675,Core_1,0,C,Core_1,0,unlock
-285017675,TASK_InputProcessing,142,STI,IPA_InputReady,142,trigger
-285017675,IPA_InputReady,142,T,TASK_CalcEngineSpeed,142,activate
-285017675,TASK_CalcEngineSpeed,142,SCHED,SCHED_Tasks_C2,-1,processactivate
-285017675,Core_1,0,T,TASK_InputProcessing,142,terminate
-285017675,TASK_InputProcessing,142,SCHED,SCHED_Tasks_C1,-1,processterminate
-285017675,Core_1,0,C,Core_1,0,idle
-285017675,TASK_InputProcessing,142,C,Core_1,0,idle
-285017725,TASK_InputProcessing,142,STI,IR_SCHED_Tasks_C1,962,trigger
-285017725,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-285017725,Core_1,0,C,Core_1,0,execute_idle
-285017725,TASK_20MS,14,C,Core_1,0,execute_idle
-285017725,Core_1,0,T,TASK_20MS,14,resume
-285017725,TASK_20MS,14,R,FUNC_EXECTIME_1,514,resume
-285017775,TASK_CalcEngineSpeed,142,STI,IR_SCHED_Tasks_C2,918,trigger
-285017775,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-285017775,TASK_10MS,28,R,FUNC_EXECTIME_1,523,suspend
-285017775,Core_2,0,T,TASK_10MS,28,preempt
-285017775,Core_2,0,C,Core_2,0,idle_execution
-285017775,TASK_10MS,28,C,Core_2,0,idle_execution
-285017775,Core_2,0,T,TASK_CalcEngineSpeed,142,start
-285017775,TASK_CalcEngineSpeed,142,R,FUNC_ENGINESPEED,142,start
-285017775,Core_2,0,C,Core_2,0,execute
-285017775,TASK_CalcEngineSpeed,142,C,Core_2,0,execute
-285067850,TASK_20MS,14,R,FUNC_EXECTIME_1,514,terminate
-285067850,Core_1,0,T,TASK_20MS,14,terminate
-285067850,TASK_20MS,14,SCHED,SCHED_Tasks_C1,-1,processterminate
-285067850,Core_1,0,C,Core_1,0,idle
-285067850,TASK_20MS,14,C,Core_1,0,idle
-285067950,TASK_20MS,14,STI,IR_SCHED_Tasks_C1,963,trigger
-285067950,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-285250000,SIM,-1,STI,TIMER-1MS,285,trigger
-285250000,TIMER-1MS,285,T,TASK_1MS,285,activate
-285250000,TASK_1MS,285,SCHED,SCHED_Tasks_C1,-1,processactivate
-285250100,TASK_1MS,285,STI,IR_SCHED_Tasks_C1,964,trigger
-285250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-285250100,Core_1,0,T,TASK_1MS,285,start
-285250100,TASK_1MS,285,R,FUNC_EXECTIME_1,524,start
-285250100,Core_1,0,C,Core_1,0,execute
-285250100,TASK_1MS,285,C,Core_1,0,execute
-285265200,TASK_CalcEngineSpeed,142,R,FUNC_ENGINESPEED,142,terminate
-285265200,Core_2,0,T,TASK_CalcEngineSpeed,142,terminate
-285265200,TASK_CalcEngineSpeed,142,SCHED,SCHED_Tasks_C2,-1,processterminate
-285265200,Core_2,0,C,Core_2,0,idle
-285265200,TASK_CalcEngineSpeed,142,C,Core_2,0,idle
-285265300,TASK_CalcEngineSpeed,142,STI,IR_SCHED_Tasks_C2,919,trigger
-285265300,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-285265300,Core_2,0,C,Core_2,0,execute_idle
-285265300,TASK_10MS,28,C,Core_2,0,execute_idle
-285265300,Core_2,0,T,TASK_10MS,28,resume
-285265300,TASK_10MS,28,R,FUNC_EXECTIME_1,523,resume
-285645050,TASK_10MS,28,R,FUNC_EXECTIME_1,523,terminate
-285645050,Core_2,0,T,TASK_10MS,28,terminate
-285645050,TASK_10MS,28,SCHED,SCHED_Tasks_C2,-1,processterminate
-285645050,Core_2,0,C,Core_2,0,idle
-285645050,TASK_10MS,28,C,Core_2,0,idle
-285645150,TASK_10MS,28,STI,IR_SCHED_Tasks_C2,920,trigger
-285645150,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-285802725,TASK_1MS,285,R,FUNC_EXECTIME_1,524,terminate
-285802725,Core_1,0,T,TASK_1MS,285,terminate
-285802725,TASK_1MS,285,SCHED,SCHED_Tasks_C1,-1,processterminate
-285802725,Core_1,0,C,Core_1,0,idle
-285802725,TASK_1MS,285,C,Core_1,0,idle
-285802825,TASK_1MS,285,STI,IR_SCHED_Tasks_C1,965,trigger
-285802825,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-286000000,SIM,-1,STI,TIMER-B_2ms,143,trigger
-286000000,TIMER-B_2ms,143,T,TASK_WritingActuator,143,activate
-286000000,TASK_WritingActuator,143,SCHED,SCHED_Tasks_C2,-1,processactivate
-286000100,TASK_WritingActuator,143,STI,IR_SCHED_Tasks_C2,921,trigger
-286000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-286000100,Core_2,0,T,TASK_WritingActuator,143,start
-286000100,TASK_WritingActuator,143,R,FUNC_SEMLOCK,286,start
-286000100,Core_2,0,C,Core_2,0,execute
-286000100,TASK_WritingActuator,143,C,Core_2,0,execute
-286100000,SIM,-1,STI,TIMER-5MS,143,trigger
-286100000,TIMER-5MS,143,T,TASK_5MS,143,activate
-286100000,TASK_5MS,143,SCHED,SCHED_Tasks_C2,-1,processactivate
-286100100,TASK_5MS,143,STI,IR_SCHED_Tasks_C2,922,trigger
-286100100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-286125100,TASK_WritingActuator,143,SEM,SEM_DataElement1,0,requestsemaphore,0
-286125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-286125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-286125100,Core_2,0,C,Core_2,0,lock
-286125100,TASK_WritingActuator,143,SEM,SEM_DataElement1,0,assigned,1
-286125150,TASK_WritingActuator,143,R,FUNC_SEMLOCK,286,terminate
-286125150,Core_2,0,C,Core_2,0,unlock
-286125150,TASK_WritingActuator,143,R,FUNC_WriteData,143,start
-286150000,SIM,-1,STI,TIMER-A_2ms,143,trigger
-286150000,TIMER-A_2ms,143,T,TASK_InputProcessing,143,activate
-286150000,TASK_InputProcessing,143,SCHED,SCHED_Tasks_C1,-1,processactivate
-286150100,TASK_InputProcessing,143,STI,IR_SCHED_Tasks_C1,966,trigger
-286150100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-286150100,Core_1,0,T,TASK_InputProcessing,143,start
-286150100,TASK_InputProcessing,143,R,FUNC_SEMLOCK,287,start
-286150100,Core_1,0,C,Core_1,0,execute
-286150100,TASK_InputProcessing,143,C,Core_1,0,execute
-286152425,TASK_WritingActuator,143,SIG,SIG_Mixture,0,write,0
-286152425,TASK_WritingActuator,143,R,FUNC_WriteData,143,terminate
-286152425,TASK_WritingActuator,143,R,FUNC_SEMUNLOCK,286,start
-286250000,SIM,-1,STI,TIMER-1MS,286,trigger
-286250000,TIMER-1MS,286,T,TASK_1MS,286,activate
-286250000,TASK_1MS,286,SCHED,SCHED_Tasks_C1,-1,processactivate
-286250100,TASK_1MS,286,STI,IR_SCHED_Tasks_C1,967,trigger
-286250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-286250100,TASK_InputProcessing,143,R,FUNC_SEMLOCK,287,suspend
-286250100,Core_1,0,T,TASK_InputProcessing,143,preempt
-286250100,Core_1,0,C,Core_1,0,idle_execution
-286250100,TASK_InputProcessing,143,C,Core_1,0,idle_execution
-286250100,Core_1,0,T,TASK_1MS,286,start
-286250100,TASK_1MS,286,R,FUNC_EXECTIME_1,526,start
-286250100,Core_1,0,C,Core_1,0,execute
-286250100,TASK_1MS,286,C,Core_1,0,execute
-286352425,TASK_WritingActuator,143,SEM,SEM_DataElement1,0,released,1
-286352425,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-286352425,TASK_WritingActuator,143,SCHED,SCHED_Tasks_C2,-1,schedulepoint
-286352425,Core_2,0,C,Core_2,0,lock
-286352475,TASK_WritingActuator,143,R,FUNC_SEMUNLOCK,286,terminate
-286352475,Core_2,0,T,TASK_WritingActuator,143,terminate
-286352475,TASK_WritingActuator,143,SCHED,SCHED_Tasks_C2,-1,processterminate
-286352475,Core_2,0,C,Core_2,0,unlock
-286352475,Core_2,0,C,Core_2,0,idle
-286352475,TASK_WritingActuator,143,C,Core_2,0,idle
-286352525,TASK_WritingActuator,143,STI,IR_SCHED_Tasks_C2,923,trigger
-286352525,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-286352525,Core_2,0,T,TASK_5MS,143,start
-286352525,TASK_5MS,143,R,FUNC_EXECTIME_1,525,start
-286352525,Core_2,0,C,Core_2,0,execute
-286352525,TASK_5MS,143,C,Core_2,0,execute
-286811400,TASK_1MS,286,R,FUNC_EXECTIME_1,526,terminate
-286811400,Core_1,0,T,TASK_1MS,286,terminate
-286811400,TASK_1MS,286,SCHED,SCHED_Tasks_C1,-1,processterminate
-286811400,Core_1,0,C,Core_1,0,idle
-286811400,TASK_1MS,286,C,Core_1,0,idle
-286811500,TASK_1MS,286,STI,IR_SCHED_Tasks_C1,968,trigger
-286811500,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-286811500,Core_1,0,C,Core_1,0,execute_idle
-286811500,TASK_InputProcessing,143,C,Core_1,0,execute_idle
-286811500,Core_1,0,T,TASK_InputProcessing,143,resume
-286811500,TASK_InputProcessing,143,R,FUNC_SEMLOCK,287,resume
-286836500,TASK_InputProcessing,143,SEM,SEM_DataElement1,0,requestsemaphore,0
-286836500,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-286836500,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-286836500,Core_1,0,C,Core_1,0,lock
-286836500,TASK_InputProcessing,143,SEM,SEM_DataElement1,0,assigned,1
-286836550,TASK_InputProcessing,143,R,FUNC_SEMLOCK,287,terminate
-286836550,Core_1,0,C,Core_1,0,unlock
-286836550,TASK_InputProcessing,143,R,FUNC_ReadSensorData,143,start
-287000150,TASK_InputProcessing,143,SIG,SIG_RotationSpeed,0,read,0
-287000150,TASK_InputProcessing,143,SIG,SIG_Lambda,0,read,0
-287000150,TASK_InputProcessing,143,SIG,SIG_Temperature,0,read,0
-287000150,TASK_InputProcessing,143,R,FUNC_ReadSensorData,143,terminate
-287000150,TASK_InputProcessing,143,R,FUNC_SEMUNLOCK,287,start
-287150850,TASK_5MS,143,R,FUNC_EXECTIME_1,525,terminate
-287150850,Core_2,0,T,TASK_5MS,143,terminate
-287150850,TASK_5MS,143,SCHED,SCHED_Tasks_C2,-1,processterminate
-287150850,Core_2,0,C,Core_2,0,idle
-287150850,TASK_5MS,143,C,Core_2,0,idle
-287150950,TASK_5MS,143,STI,IR_SCHED_Tasks_C2,924,trigger
-287150950,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-287200150,TASK_InputProcessing,143,SEM,SEM_DataElement1,0,released,1
-287200150,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-287200150,TASK_InputProcessing,143,SCHED,SCHED_Tasks_C1,-1,schedulepoint
-287200150,Core_1,0,C,Core_1,0,lock
-287200200,TASK_InputProcessing,143,R,FUNC_SEMUNLOCK,287,terminate
-287200200,Core_1,0,C,Core_1,0,unlock
-287200200,TASK_InputProcessing,143,STI,IPA_InputReady,143,trigger
-287200200,IPA_InputReady,143,T,TASK_CalcEngineSpeed,143,activate
-287200200,TASK_CalcEngineSpeed,143,SCHED,SCHED_Tasks_C2,-1,processactivate
-287200200,Core_1,0,T,TASK_InputProcessing,143,terminate
-287200200,TASK_InputProcessing,143,SCHED,SCHED_Tasks_C1,-1,processterminate
-287200200,Core_1,0,C,Core_1,0,idle
-287200200,TASK_InputProcessing,143,C,Core_1,0,idle
-287200250,TASK_InputProcessing,143,STI,IR_SCHED_Tasks_C1,969,trigger
-287200250,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-287200300,TASK_CalcEngineSpeed,143,STI,IR_SCHED_Tasks_C2,925,trigger
-287200300,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-287200300,Core_2,0,T,TASK_CalcEngineSpeed,143,start
-287200300,TASK_CalcEngineSpeed,143,R,FUNC_ENGINESPEED,143,start
-287200300,Core_2,0,C,Core_2,0,execute
-287200300,TASK_CalcEngineSpeed,143,C,Core_2,0,execute
-287250000,SIM,-1,STI,TIMER-1MS,287,trigger
-287250000,TIMER-1MS,287,T,TASK_1MS,287,activate
-287250000,TASK_1MS,287,SCHED,SCHED_Tasks_C1,-1,processactivate
-287250100,TASK_1MS,287,STI,IR_SCHED_Tasks_C1,970,trigger
-287250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-287250100,Core_1,0,T,TASK_1MS,287,start
-287250100,TASK_1MS,287,R,FUNC_EXECTIME_1,527,start
-287250100,Core_1,0,C,Core_1,0,execute
-287250100,TASK_1MS,287,C,Core_1,0,execute
-287314250,TASK_CalcEngineSpeed,143,R,FUNC_ENGINESPEED,143,terminate
-287314250,Core_2,0,T,TASK_CalcEngineSpeed,143,terminate
-287314250,TASK_CalcEngineSpeed,143,SCHED,SCHED_Tasks_C2,-1,processterminate
-287314250,Core_2,0,C,Core_2,0,idle
-287314250,TASK_CalcEngineSpeed,143,C,Core_2,0,idle
-287314350,TASK_CalcEngineSpeed,143,STI,IR_SCHED_Tasks_C2,926,trigger
-287314350,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-287551175,TASK_1MS,287,R,FUNC_EXECTIME_1,527,terminate
-287551175,Core_1,0,T,TASK_1MS,287,terminate
-287551175,TASK_1MS,287,SCHED,SCHED_Tasks_C1,-1,processterminate
-287551175,Core_1,0,C,Core_1,0,idle
-287551175,TASK_1MS,287,C,Core_1,0,idle
-287551275,TASK_1MS,287,STI,IR_SCHED_Tasks_C1,971,trigger
-287551275,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-288000000,SIM,-1,STI,TIMER-B_2ms,144,trigger
-288000000,TIMER-B_2ms,144,T,TASK_WritingActuator,144,activate
-288000000,TASK_WritingActuator,144,SCHED,SCHED_Tasks_C2,-1,processactivate
-288000100,TASK_WritingActuator,144,STI,IR_SCHED_Tasks_C2,927,trigger
-288000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-288000100,Core_2,0,T,TASK_WritingActuator,144,start
-288000100,TASK_WritingActuator,144,R,FUNC_SEMLOCK,288,start
-288000100,Core_2,0,C,Core_2,0,execute
-288000100,TASK_WritingActuator,144,C,Core_2,0,execute
-288100000,SIM,-1,STI,TIMER-5MS,144,trigger
-288100000,TIMER-5MS,144,T,TASK_5MS,144,activate
-288100000,TASK_5MS,144,SCHED,SCHED_Tasks_C2,-1,processactivate
-288100100,TASK_5MS,144,STI,IR_SCHED_Tasks_C2,928,trigger
-288100100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-288125100,TASK_WritingActuator,144,SEM,SEM_DataElement1,0,requestsemaphore,0
-288125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-288125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-288125100,Core_2,0,C,Core_2,0,lock
-288125100,TASK_WritingActuator,144,SEM,SEM_DataElement1,0,assigned,1
-288125150,TASK_WritingActuator,144,R,FUNC_SEMLOCK,288,terminate
-288125150,Core_2,0,C,Core_2,0,unlock
-288125150,TASK_WritingActuator,144,R,FUNC_WriteData,144,start
-288150000,SIM,-1,STI,TIMER-A_2ms,144,trigger
-288150000,TIMER-A_2ms,144,T,TASK_InputProcessing,144,activate
-288150000,TASK_InputProcessing,144,SCHED,SCHED_Tasks_C1,-1,processactivate
-288150100,TASK_InputProcessing,144,STI,IR_SCHED_Tasks_C1,972,trigger
-288150100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-288150100,Core_1,0,T,TASK_InputProcessing,144,start
-288150100,TASK_InputProcessing,144,R,FUNC_SEMLOCK,289,start
-288150100,Core_1,0,C,Core_1,0,execute
-288150100,TASK_InputProcessing,144,C,Core_1,0,execute
-288152375,TASK_WritingActuator,144,SIG,SIG_Mixture,0,write,0
-288152375,TASK_WritingActuator,144,R,FUNC_WriteData,144,terminate
-288152375,TASK_WritingActuator,144,R,FUNC_SEMUNLOCK,288,start
-288250000,SIM,-1,STI,TIMER-1MS,288,trigger
-288250000,TIMER-1MS,288,T,TASK_1MS,288,activate
-288250000,TASK_1MS,288,SCHED,SCHED_Tasks_C1,-1,processactivate
-288250100,TASK_1MS,288,STI,IR_SCHED_Tasks_C1,973,trigger
-288250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-288250100,TASK_InputProcessing,144,R,FUNC_SEMLOCK,289,suspend
-288250100,Core_1,0,T,TASK_InputProcessing,144,preempt
-288250100,Core_1,0,C,Core_1,0,idle_execution
-288250100,TASK_InputProcessing,144,C,Core_1,0,idle_execution
-288250100,Core_1,0,T,TASK_1MS,288,start
-288250100,TASK_1MS,288,R,FUNC_EXECTIME_1,529,start
-288250100,Core_1,0,C,Core_1,0,execute
-288250100,TASK_1MS,288,C,Core_1,0,execute
-288352375,TASK_WritingActuator,144,SEM,SEM_DataElement1,0,released,1
-288352375,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-288352375,TASK_WritingActuator,144,SCHED,SCHED_Tasks_C2,-1,schedulepoint
-288352375,Core_2,0,C,Core_2,0,lock
-288352425,TASK_WritingActuator,144,R,FUNC_SEMUNLOCK,288,terminate
-288352425,Core_2,0,T,TASK_WritingActuator,144,terminate
-288352425,TASK_WritingActuator,144,SCHED,SCHED_Tasks_C2,-1,processterminate
-288352425,Core_2,0,C,Core_2,0,unlock
-288352425,Core_2,0,C,Core_2,0,idle
-288352425,TASK_WritingActuator,144,C,Core_2,0,idle
-288352475,TASK_WritingActuator,144,STI,IR_SCHED_Tasks_C2,929,trigger
-288352475,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-288352475,Core_2,0,T,TASK_5MS,144,start
-288352475,TASK_5MS,144,R,FUNC_EXECTIME_1,528,start
-288352475,Core_2,0,C,Core_2,0,execute
-288352475,TASK_5MS,144,C,Core_2,0,execute
-288868375,TASK_1MS,288,R,FUNC_EXECTIME_1,529,terminate
-288868375,Core_1,0,T,TASK_1MS,288,terminate
-288868375,TASK_1MS,288,SCHED,SCHED_Tasks_C1,-1,processterminate
-288868375,Core_1,0,C,Core_1,0,idle
-288868375,TASK_1MS,288,C,Core_1,0,idle
-288868475,TASK_1MS,288,STI,IR_SCHED_Tasks_C1,974,trigger
-288868475,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-288868475,Core_1,0,C,Core_1,0,execute_idle
-288868475,TASK_InputProcessing,144,C,Core_1,0,execute_idle
-288868475,Core_1,0,T,TASK_InputProcessing,144,resume
-288868475,TASK_InputProcessing,144,R,FUNC_SEMLOCK,289,resume
-288893475,TASK_InputProcessing,144,SEM,SEM_DataElement1,0,requestsemaphore,0
-288893475,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-288893475,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-288893475,Core_1,0,C,Core_1,0,lock
-288893475,TASK_InputProcessing,144,SEM,SEM_DataElement1,0,assigned,1
-288893525,TASK_InputProcessing,144,R,FUNC_SEMLOCK,289,terminate
-288893525,Core_1,0,C,Core_1,0,unlock
-288893525,TASK_InputProcessing,144,R,FUNC_ReadSensorData,144,start
-289056975,TASK_InputProcessing,144,SIG,SIG_RotationSpeed,0,read,0
-289056975,TASK_InputProcessing,144,SIG,SIG_Lambda,0,read,0
-289056975,TASK_InputProcessing,144,SIG,SIG_Temperature,0,read,0
-289056975,TASK_InputProcessing,144,R,FUNC_ReadSensorData,144,terminate
-289056975,TASK_InputProcessing,144,R,FUNC_SEMUNLOCK,289,start
-289073625,TASK_5MS,144,R,FUNC_EXECTIME_1,528,terminate
-289073625,Core_2,0,T,TASK_5MS,144,terminate
-289073625,TASK_5MS,144,SCHED,SCHED_Tasks_C2,-1,processterminate
-289073625,Core_2,0,C,Core_2,0,idle
-289073625,TASK_5MS,144,C,Core_2,0,idle
-289073725,TASK_5MS,144,STI,IR_SCHED_Tasks_C2,930,trigger
-289073725,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-289250000,SIM,-1,STI,TIMER-1MS,289,trigger
-289250000,TIMER-1MS,289,T,TASK_1MS,289,activate
-289250000,TASK_1MS,289,SCHED,SCHED_Tasks_C1,-1,processactivate
-289250100,TASK_1MS,289,STI,IR_SCHED_Tasks_C1,975,trigger
-289250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-289256975,TASK_InputProcessing,144,SEM,SEM_DataElement1,0,released,1
-289256975,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-289256975,TASK_InputProcessing,144,SCHED,SCHED_Tasks_C1,-1,schedulepoint
-289256975,Core_1,0,C,Core_1,0,lock
-289257025,TASK_InputProcessing,144,R,FUNC_SEMUNLOCK,289,terminate
-289257025,Core_1,0,C,Core_1,0,unlock
-289257025,TASK_InputProcessing,144,STI,IPA_InputReady,144,trigger
-289257025,IPA_InputReady,144,T,TASK_CalcEngineSpeed,144,activate
-289257025,TASK_CalcEngineSpeed,144,SCHED,SCHED_Tasks_C2,-1,processactivate
-289257025,Core_1,0,T,TASK_InputProcessing,144,terminate
-289257025,TASK_InputProcessing,144,SCHED,SCHED_Tasks_C1,-1,processterminate
-289257025,Core_1,0,C,Core_1,0,idle
-289257025,TASK_InputProcessing,144,C,Core_1,0,idle
-289257075,TASK_InputProcessing,144,STI,IR_SCHED_Tasks_C1,976,trigger
-289257075,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-289257075,Core_1,0,T,TASK_1MS,289,start
-289257075,TASK_1MS,289,R,FUNC_EXECTIME_1,530,start
-289257075,Core_1,0,C,Core_1,0,execute
-289257075,TASK_1MS,289,C,Core_1,0,execute
-289257125,TASK_CalcEngineSpeed,144,STI,IR_SCHED_Tasks_C2,931,trigger
-289257125,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-289257125,Core_2,0,T,TASK_CalcEngineSpeed,144,start
-289257125,TASK_CalcEngineSpeed,144,R,FUNC_ENGINESPEED,144,start
-289257125,Core_2,0,C,Core_2,0,execute
-289257125,TASK_CalcEngineSpeed,144,C,Core_2,0,execute
-289469500,TASK_CalcEngineSpeed,144,R,FUNC_ENGINESPEED,144,terminate
-289469500,Core_2,0,T,TASK_CalcEngineSpeed,144,terminate
-289469500,TASK_CalcEngineSpeed,144,SCHED,SCHED_Tasks_C2,-1,processterminate
-289469500,Core_2,0,C,Core_2,0,idle
-289469500,TASK_CalcEngineSpeed,144,C,Core_2,0,idle
-289469600,TASK_CalcEngineSpeed,144,STI,IR_SCHED_Tasks_C2,932,trigger
-289469600,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-289542325,TASK_1MS,289,R,FUNC_EXECTIME_1,530,terminate
-289542325,Core_1,0,T,TASK_1MS,289,terminate
-289542325,TASK_1MS,289,SCHED,SCHED_Tasks_C1,-1,processterminate
-289542325,Core_1,0,C,Core_1,0,idle
-289542325,TASK_1MS,289,C,Core_1,0,idle
-289542425,TASK_1MS,289,STI,IR_SCHED_Tasks_C1,977,trigger
-289542425,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-290000000,SIM,-1,STI,TIMER-B_2ms,145,trigger
-290000000,TIMER-B_2ms,145,T,TASK_WritingActuator,145,activate
-290000000,TASK_WritingActuator,145,SCHED,SCHED_Tasks_C2,-1,processactivate
-290000000,SIM,-1,STI,TIMER-10MS_2,29,trigger
-290000000,TIMER-10MS_2,29,T,TASK_10MS_DL2,29,activate
-290000000,TASK_10MS_DL2,29,SCHED,SCHED_Tasks_C1,-1,processactivate
-290000100,TASK_WritingActuator,145,STI,IR_SCHED_Tasks_C2,933,trigger
-290000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-290000100,Core_2,0,T,TASK_WritingActuator,145,start
-290000100,TASK_WritingActuator,145,R,FUNC_SEMLOCK,290,start
-290000100,Core_2,0,C,Core_2,0,execute
-290000100,TASK_WritingActuator,145,C,Core_2,0,execute
-290000100,TASK_10MS_DL2,29,STI,IR_SCHED_Tasks_C1,978,trigger
-290000100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-290000100,Core_1,0,T,TASK_10MS_DL2,29,start
-290000100,TASK_10MS_DL2,29,R,FUNC_EXECTIME_1,531,start
-290000100,Core_1,0,C,Core_1,0,execute
-290000100,TASK_10MS_DL2,29,C,Core_1,0,execute
-290100000,SIM,-1,STI,TIMER-5MS,145,trigger
-290100000,TIMER-5MS,145,T,TASK_5MS,145,activate
-290100000,TASK_5MS,145,SCHED,SCHED_Tasks_C2,-1,processactivate
-290100100,TASK_5MS,145,STI,IR_SCHED_Tasks_C2,934,trigger
-290100100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-290125100,TASK_WritingActuator,145,SEM,SEM_DataElement1,0,requestsemaphore,0
-290125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-290125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-290125100,Core_2,0,C,Core_2,0,lock
-290125100,TASK_WritingActuator,145,SEM,SEM_DataElement1,0,assigned,1
-290125150,TASK_WritingActuator,145,R,FUNC_SEMLOCK,290,terminate
-290125150,Core_2,0,C,Core_2,0,unlock
-290125150,TASK_WritingActuator,145,R,FUNC_WriteData,145,start
-290150000,SIM,-1,STI,TIMER-A_2ms,145,trigger
-290150000,TIMER-A_2ms,145,T,TASK_InputProcessing,145,activate
-290150000,TASK_InputProcessing,145,SCHED,SCHED_Tasks_C1,-1,processactivate
-290150100,TASK_InputProcessing,145,STI,IR_SCHED_Tasks_C1,979,trigger
-290150100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-290152375,TASK_WritingActuator,145,SIG,SIG_Mixture,0,write,0
-290152375,TASK_WritingActuator,145,R,FUNC_WriteData,145,terminate
-290152375,TASK_WritingActuator,145,R,FUNC_SEMUNLOCK,290,start
-290250000,SIM,-1,STI,TIMER-1MS,290,trigger
-290250000,TIMER-1MS,290,T,TASK_1MS,290,activate
-290250000,TASK_1MS,290,SCHED,SCHED_Tasks_C1,-1,processactivate
-290250100,TASK_1MS,290,STI,IR_SCHED_Tasks_C1,980,trigger
-290250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-290250100,TASK_10MS_DL2,29,R,FUNC_EXECTIME_1,531,suspend
-290250100,Core_1,0,T,TASK_10MS_DL2,29,preempt
-290250100,Core_1,0,C,Core_1,0,idle_execution
-290250100,TASK_10MS_DL2,29,C,Core_1,0,idle_execution
-290250100,Core_1,0,T,TASK_1MS,290,start
-290250100,TASK_1MS,290,R,FUNC_EXECTIME_1,533,start
-290250100,Core_1,0,C,Core_1,0,execute
-290250100,TASK_1MS,290,C,Core_1,0,execute
-290352375,TASK_WritingActuator,145,SEM,SEM_DataElement1,0,released,1
-290352375,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-290352375,TASK_WritingActuator,145,SCHED,SCHED_Tasks_C2,-1,schedulepoint
-290352375,Core_2,0,C,Core_2,0,lock
-290352425,TASK_WritingActuator,145,R,FUNC_SEMUNLOCK,290,terminate
-290352425,Core_2,0,T,TASK_WritingActuator,145,terminate
-290352425,TASK_WritingActuator,145,SCHED,SCHED_Tasks_C2,-1,processterminate
-290352425,Core_2,0,C,Core_2,0,unlock
-290352425,Core_2,0,C,Core_2,0,idle
-290352425,TASK_WritingActuator,145,C,Core_2,0,idle
-290352475,TASK_WritingActuator,145,STI,IR_SCHED_Tasks_C2,935,trigger
-290352475,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-290352475,Core_2,0,T,TASK_5MS,145,start
-290352475,TASK_5MS,145,R,FUNC_EXECTIME_1,532,start
-290352475,Core_2,0,C,Core_2,0,execute
-290352475,TASK_5MS,145,C,Core_2,0,execute
-290995950,TASK_1MS,290,R,FUNC_EXECTIME_1,533,terminate
-290995950,Core_1,0,T,TASK_1MS,290,terminate
-290995950,TASK_1MS,290,SCHED,SCHED_Tasks_C1,-1,processterminate
-290995950,Core_1,0,C,Core_1,0,idle
-290995950,TASK_1MS,290,C,Core_1,0,idle
-290996050,TASK_1MS,290,STI,IR_SCHED_Tasks_C1,981,trigger
-290996050,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-290996050,Core_1,0,C,Core_1,0,execute_idle
-290996050,TASK_10MS_DL2,29,C,Core_1,0,execute_idle
-290996050,Core_1,0,T,TASK_10MS_DL2,29,resume
-290996050,TASK_10MS_DL2,29,R,FUNC_EXECTIME_1,531,resume
-291091025,TASK_5MS,145,R,FUNC_EXECTIME_1,532,terminate
-291091025,Core_2,0,T,TASK_5MS,145,terminate
-291091025,TASK_5MS,145,SCHED,SCHED_Tasks_C2,-1,processterminate
-291091025,Core_2,0,C,Core_2,0,idle
-291091025,TASK_5MS,145,C,Core_2,0,idle
-291091125,TASK_5MS,145,STI,IR_SCHED_Tasks_C2,936,trigger
-291091125,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-291213175,TASK_10MS_DL2,29,R,FUNC_EXECTIME_1,531,terminate
-291213175,Core_1,0,T,TASK_10MS_DL2,29,terminate
-291213175,TASK_10MS_DL2,29,SCHED,SCHED_Tasks_C1,-1,processterminate
-291213175,Core_1,0,C,Core_1,0,idle
-291213175,TASK_10MS_DL2,29,C,Core_1,0,idle
-291213275,TASK_10MS_DL2,29,STI,IR_SCHED_Tasks_C1,982,trigger
-291213275,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-291213275,Core_1,0,T,TASK_InputProcessing,145,start
-291213275,TASK_InputProcessing,145,R,FUNC_SEMLOCK,291,start
-291213275,Core_1,0,C,Core_1,0,execute
-291213275,TASK_InputProcessing,145,C,Core_1,0,execute
-291250000,SIM,-1,STI,TIMER-1MS,291,trigger
-291250000,TIMER-1MS,291,T,TASK_1MS,291,activate
-291250000,TASK_1MS,291,SCHED,SCHED_Tasks_C1,-1,processactivate
-291250100,TASK_1MS,291,STI,IR_SCHED_Tasks_C1,983,trigger
-291250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-291250100,TASK_InputProcessing,145,R,FUNC_SEMLOCK,291,suspend
-291250100,Core_1,0,T,TASK_InputProcessing,145,preempt
-291250100,Core_1,0,C,Core_1,0,idle_execution
-291250100,TASK_InputProcessing,145,C,Core_1,0,idle_execution
-291250100,Core_1,0,T,TASK_1MS,291,start
-291250100,TASK_1MS,291,R,FUNC_EXECTIME_1,534,start
-291250100,Core_1,0,C,Core_1,0,execute
-291250100,TASK_1MS,291,C,Core_1,0,execute
-291635725,TASK_1MS,291,R,FUNC_EXECTIME_1,534,terminate
-291635725,Core_1,0,T,TASK_1MS,291,terminate
-291635725,TASK_1MS,291,SCHED,SCHED_Tasks_C1,-1,processterminate
-291635725,Core_1,0,C,Core_1,0,idle
-291635725,TASK_1MS,291,C,Core_1,0,idle
-291635825,TASK_1MS,291,STI,IR_SCHED_Tasks_C1,984,trigger
-291635825,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-291635825,Core_1,0,C,Core_1,0,execute_idle
-291635825,TASK_InputProcessing,145,C,Core_1,0,execute_idle
-291635825,Core_1,0,T,TASK_InputProcessing,145,resume
-291635825,TASK_InputProcessing,145,R,FUNC_SEMLOCK,291,resume
-291724000,TASK_InputProcessing,145,SEM,SEM_DataElement1,0,requestsemaphore,0
-291724000,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-291724000,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-291724000,Core_1,0,C,Core_1,0,lock
-291724000,TASK_InputProcessing,145,SEM,SEM_DataElement1,0,assigned,1
-291724050,TASK_InputProcessing,145,R,FUNC_SEMLOCK,291,terminate
-291724050,Core_1,0,C,Core_1,0,unlock
-291724050,TASK_InputProcessing,145,R,FUNC_ReadSensorData,145,start
-291887125,TASK_InputProcessing,145,SIG,SIG_RotationSpeed,0,read,0
-291887125,TASK_InputProcessing,145,SIG,SIG_Lambda,0,read,0
-291887125,TASK_InputProcessing,145,SIG,SIG_Temperature,0,read,0
-291887125,TASK_InputProcessing,145,R,FUNC_ReadSensorData,145,terminate
-291887125,TASK_InputProcessing,145,R,FUNC_SEMUNLOCK,291,start
-292000000,SIM,-1,STI,TIMER-B_2ms,146,trigger
-292000000,TIMER-B_2ms,146,T,TASK_WritingActuator,146,activate
-292000000,TASK_WritingActuator,146,SCHED,SCHED_Tasks_C2,-1,processactivate
-292000100,TASK_WritingActuator,146,STI,IR_SCHED_Tasks_C2,937,trigger
-292000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-292000100,Core_2,0,T,TASK_WritingActuator,146,start
-292000100,TASK_WritingActuator,146,R,FUNC_SEMLOCK,292,start
-292000100,Core_2,0,C,Core_2,0,execute
-292000100,TASK_WritingActuator,146,C,Core_2,0,execute
-292087125,TASK_InputProcessing,145,SEM,SEM_DataElement1,0,released,1
-292087125,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-292087125,TASK_InputProcessing,145,SCHED,SCHED_Tasks_C1,-1,schedulepoint
-292087125,Core_1,0,C,Core_1,0,lock
-292087175,TASK_InputProcessing,145,R,FUNC_SEMUNLOCK,291,terminate
-292087175,Core_1,0,C,Core_1,0,unlock
-292087175,TASK_InputProcessing,145,STI,IPA_InputReady,145,trigger
-292087175,IPA_InputReady,145,T,TASK_CalcEngineSpeed,145,activate
-292087175,TASK_CalcEngineSpeed,145,SCHED,SCHED_Tasks_C2,-1,processactivate
-292087175,Core_1,0,T,TASK_InputProcessing,145,terminate
-292087175,TASK_InputProcessing,145,SCHED,SCHED_Tasks_C1,-1,processterminate
-292087175,Core_1,0,C,Core_1,0,idle
-292087175,TASK_InputProcessing,145,C,Core_1,0,idle
-292087225,TASK_InputProcessing,145,STI,IR_SCHED_Tasks_C1,985,trigger
-292087225,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-292087275,TASK_CalcEngineSpeed,145,STI,IR_SCHED_Tasks_C2,938,trigger
-292087275,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-292100000,SIM,-1,STI,TIMER-5MS,146,trigger
-292100000,TIMER-5MS,146,T,TASK_5MS,146,activate
-292100000,TASK_5MS,146,SCHED,SCHED_Tasks_C2,-1,processactivate
-292100100,TASK_5MS,146,STI,IR_SCHED_Tasks_C2,939,trigger
-292100100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-292125100,TASK_WritingActuator,146,SEM,SEM_DataElement1,0,requestsemaphore,0
-292125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-292125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-292125100,Core_2,0,C,Core_2,0,lock
-292125100,TASK_WritingActuator,146,SEM,SEM_DataElement1,0,assigned,1
-292125150,TASK_WritingActuator,146,R,FUNC_SEMLOCK,292,terminate
-292125150,Core_2,0,C,Core_2,0,unlock
-292125150,TASK_WritingActuator,146,R,FUNC_WriteData,146,start
-292150000,SIM,-1,STI,TIMER-A_2ms,146,trigger
-292150000,TIMER-A_2ms,146,T,TASK_InputProcessing,146,activate
-292150000,TASK_InputProcessing,146,SCHED,SCHED_Tasks_C1,-1,processactivate
-292150100,TASK_InputProcessing,146,STI,IR_SCHED_Tasks_C1,986,trigger
-292150100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-292150100,Core_1,0,T,TASK_InputProcessing,146,start
-292150100,TASK_InputProcessing,146,R,FUNC_SEMLOCK,293,start
-292150100,Core_1,0,C,Core_1,0,execute
-292150100,TASK_InputProcessing,146,C,Core_1,0,execute
-292152225,TASK_WritingActuator,146,SIG,SIG_Mixture,0,write,0
-292152225,TASK_WritingActuator,146,R,FUNC_WriteData,146,terminate
-292152225,TASK_WritingActuator,146,R,FUNC_SEMUNLOCK,292,start
-292250000,SIM,-1,STI,TIMER-1MS,292,trigger
-292250000,TIMER-1MS,292,T,TASK_1MS,292,activate
-292250000,TASK_1MS,292,SCHED,SCHED_Tasks_C1,-1,processactivate
-292250100,TASK_1MS,292,STI,IR_SCHED_Tasks_C1,987,trigger
-292250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-292250100,TASK_InputProcessing,146,R,FUNC_SEMLOCK,293,suspend
-292250100,Core_1,0,T,TASK_InputProcessing,146,preempt
-292250100,Core_1,0,C,Core_1,0,idle_execution
-292250100,TASK_InputProcessing,146,C,Core_1,0,idle_execution
-292250100,Core_1,0,T,TASK_1MS,292,start
-292250100,TASK_1MS,292,R,FUNC_EXECTIME_1,536,start
-292250100,Core_1,0,C,Core_1,0,execute
-292250100,TASK_1MS,292,C,Core_1,0,execute
-292352225,TASK_WritingActuator,146,SEM,SEM_DataElement1,0,released,1
-292352225,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-292352225,TASK_WritingActuator,146,SCHED,SCHED_Tasks_C2,-1,schedulepoint
-292352225,Core_2,0,C,Core_2,0,lock
-292352275,TASK_WritingActuator,146,R,FUNC_SEMUNLOCK,292,terminate
-292352275,Core_2,0,T,TASK_WritingActuator,146,terminate
-292352275,TASK_WritingActuator,146,SCHED,SCHED_Tasks_C2,-1,processterminate
-292352275,Core_2,0,C,Core_2,0,unlock
-292352275,Core_2,0,C,Core_2,0,idle
-292352275,TASK_WritingActuator,146,C,Core_2,0,idle
-292352325,TASK_WritingActuator,146,STI,IR_SCHED_Tasks_C2,940,trigger
-292352325,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-292352325,Core_2,0,T,TASK_CalcEngineSpeed,145,start
-292352325,TASK_CalcEngineSpeed,145,R,FUNC_ENGINESPEED,145,start
-292352325,Core_2,0,C,Core_2,0,execute
-292352325,TASK_CalcEngineSpeed,145,C,Core_2,0,execute
-292564700,TASK_CalcEngineSpeed,145,R,FUNC_ENGINESPEED,145,terminate
-292564700,Core_2,0,T,TASK_CalcEngineSpeed,145,terminate
-292564700,TASK_CalcEngineSpeed,145,SCHED,SCHED_Tasks_C2,-1,processterminate
-292564700,Core_2,0,C,Core_2,0,idle
-292564700,TASK_CalcEngineSpeed,145,C,Core_2,0,idle
-292564800,TASK_CalcEngineSpeed,145,STI,IR_SCHED_Tasks_C2,941,trigger
-292564800,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-292564800,Core_2,0,T,TASK_5MS,146,start
-292564800,TASK_5MS,146,R,FUNC_EXECTIME_1,535,start
-292564800,Core_2,0,C,Core_2,0,execute
-292564800,TASK_5MS,146,C,Core_2,0,execute
-292898875,TASK_5MS,146,R,FUNC_EXECTIME_1,535,terminate
-292898875,Core_2,0,T,TASK_5MS,146,terminate
-292898875,TASK_5MS,146,SCHED,SCHED_Tasks_C2,-1,processterminate
-292898875,Core_2,0,C,Core_2,0,idle
-292898875,TASK_5MS,146,C,Core_2,0,idle
-292898975,TASK_5MS,146,STI,IR_SCHED_Tasks_C2,942,trigger
-292898975,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-292980450,TASK_1MS,292,R,FUNC_EXECTIME_1,536,terminate
-292980450,Core_1,0,T,TASK_1MS,292,terminate
-292980450,TASK_1MS,292,SCHED,SCHED_Tasks_C1,-1,processterminate
-292980450,Core_1,0,C,Core_1,0,idle
-292980450,TASK_1MS,292,C,Core_1,0,idle
-292980550,TASK_1MS,292,STI,IR_SCHED_Tasks_C1,988,trigger
-292980550,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-292980550,Core_1,0,C,Core_1,0,execute_idle
-292980550,TASK_InputProcessing,146,C,Core_1,0,execute_idle
-292980550,Core_1,0,T,TASK_InputProcessing,146,resume
-292980550,TASK_InputProcessing,146,R,FUNC_SEMLOCK,293,resume
-293005550,TASK_InputProcessing,146,SEM,SEM_DataElement1,0,requestsemaphore,0
-293005550,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-293005550,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-293005550,Core_1,0,C,Core_1,0,lock
-293005550,TASK_InputProcessing,146,SEM,SEM_DataElement1,0,assigned,1
-293005600,TASK_InputProcessing,146,R,FUNC_SEMLOCK,293,terminate
-293005600,Core_1,0,C,Core_1,0,unlock
-293005600,TASK_InputProcessing,146,R,FUNC_ReadSensorData,146,start
-293163700,TASK_InputProcessing,146,SIG,SIG_RotationSpeed,0,read,0
-293163700,TASK_InputProcessing,146,SIG,SIG_Lambda,0,read,0
-293163700,TASK_InputProcessing,146,SIG,SIG_Temperature,0,read,0
-293163700,TASK_InputProcessing,146,R,FUNC_ReadSensorData,146,terminate
-293163700,TASK_InputProcessing,146,R,FUNC_SEMUNLOCK,293,start
-293250000,SIM,-1,STI,TIMER-1MS,293,trigger
-293250000,TIMER-1MS,293,T,TASK_1MS,293,activate
-293250000,TASK_1MS,293,SCHED,SCHED_Tasks_C1,-1,processactivate
-293250100,TASK_1MS,293,STI,IR_SCHED_Tasks_C1,989,trigger
-293250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-293363700,TASK_InputProcessing,146,SEM,SEM_DataElement1,0,released,1
-293363700,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-293363700,TASK_InputProcessing,146,SCHED,SCHED_Tasks_C1,-1,schedulepoint
-293363700,Core_1,0,C,Core_1,0,lock
-293363750,TASK_InputProcessing,146,R,FUNC_SEMUNLOCK,293,terminate
-293363750,Core_1,0,C,Core_1,0,unlock
-293363750,TASK_InputProcessing,146,STI,IPA_InputReady,146,trigger
-293363750,IPA_InputReady,146,T,TASK_CalcEngineSpeed,146,activate
-293363750,TASK_CalcEngineSpeed,146,SCHED,SCHED_Tasks_C2,-1,processactivate
-293363750,Core_1,0,T,TASK_InputProcessing,146,terminate
-293363750,TASK_InputProcessing,146,SCHED,SCHED_Tasks_C1,-1,processterminate
-293363750,Core_1,0,C,Core_1,0,idle
-293363750,TASK_InputProcessing,146,C,Core_1,0,idle
-293363800,TASK_InputProcessing,146,STI,IR_SCHED_Tasks_C1,990,trigger
-293363800,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-293363800,Core_1,0,T,TASK_1MS,293,start
-293363800,TASK_1MS,293,R,FUNC_EXECTIME_1,537,start
-293363800,Core_1,0,C,Core_1,0,execute
-293363800,TASK_1MS,293,C,Core_1,0,execute
-293363850,TASK_CalcEngineSpeed,146,STI,IR_SCHED_Tasks_C2,943,trigger
-293363850,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-293363850,Core_2,0,T,TASK_CalcEngineSpeed,146,start
-293363850,TASK_CalcEngineSpeed,146,R,FUNC_ENGINESPEED,146,start
-293363850,Core_2,0,C,Core_2,0,execute
-293363850,TASK_CalcEngineSpeed,146,C,Core_2,0,execute
-293607775,TASK_CalcEngineSpeed,146,R,FUNC_ENGINESPEED,146,terminate
-293607775,Core_2,0,T,TASK_CalcEngineSpeed,146,terminate
-293607775,TASK_CalcEngineSpeed,146,SCHED,SCHED_Tasks_C2,-1,processterminate
-293607775,Core_2,0,C,Core_2,0,idle
-293607775,TASK_CalcEngineSpeed,146,C,Core_2,0,idle
-293607875,TASK_CalcEngineSpeed,146,STI,IR_SCHED_Tasks_C2,944,trigger
-293607875,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-293775750,TASK_1MS,293,R,FUNC_EXECTIME_1,537,terminate
-293775750,Core_1,0,T,TASK_1MS,293,terminate
-293775750,TASK_1MS,293,SCHED,SCHED_Tasks_C1,-1,processterminate
-293775750,Core_1,0,C,Core_1,0,idle
-293775750,TASK_1MS,293,C,Core_1,0,idle
-293775850,TASK_1MS,293,STI,IR_SCHED_Tasks_C1,991,trigger
-293775850,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-294000000,SIM,-1,STI,TIMER-B_2ms,147,trigger
-294000000,TIMER-B_2ms,147,T,TASK_WritingActuator,147,activate
-294000000,TASK_WritingActuator,147,SCHED,SCHED_Tasks_C2,-1,processactivate
-294000100,TASK_WritingActuator,147,STI,IR_SCHED_Tasks_C2,945,trigger
-294000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-294000100,Core_2,0,T,TASK_WritingActuator,147,start
-294000100,TASK_WritingActuator,147,R,FUNC_SEMLOCK,294,start
-294000100,Core_2,0,C,Core_2,0,execute
-294000100,TASK_WritingActuator,147,C,Core_2,0,execute
-294100000,SIM,-1,STI,TIMER-5MS,147,trigger
-294100000,TIMER-5MS,147,T,TASK_5MS,147,activate
-294100000,TASK_5MS,147,SCHED,SCHED_Tasks_C2,-1,processactivate
-294100100,TASK_5MS,147,STI,IR_SCHED_Tasks_C2,946,trigger
-294100100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-294125100,TASK_WritingActuator,147,SEM,SEM_DataElement1,0,requestsemaphore,0
-294125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-294125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-294125100,Core_2,0,C,Core_2,0,lock
-294125100,TASK_WritingActuator,147,SEM,SEM_DataElement1,0,assigned,1
-294125150,TASK_WritingActuator,147,R,FUNC_SEMLOCK,294,terminate
-294125150,Core_2,0,C,Core_2,0,unlock
-294125150,TASK_WritingActuator,147,R,FUNC_WriteData,147,start
-294150000,SIM,-1,STI,TIMER-A_2ms,147,trigger
-294150000,TIMER-A_2ms,147,T,TASK_InputProcessing,147,activate
-294150000,TASK_InputProcessing,147,SCHED,SCHED_Tasks_C1,-1,processactivate
-294150100,TASK_InputProcessing,147,STI,IR_SCHED_Tasks_C1,992,trigger
-294150100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-294150100,Core_1,0,T,TASK_InputProcessing,147,start
-294150100,TASK_InputProcessing,147,R,FUNC_SEMLOCK,295,start
-294150100,Core_1,0,C,Core_1,0,execute
-294150100,TASK_InputProcessing,147,C,Core_1,0,execute
-294152175,TASK_WritingActuator,147,SIG,SIG_Mixture,0,write,0
-294152175,TASK_WritingActuator,147,R,FUNC_WriteData,147,terminate
-294152175,TASK_WritingActuator,147,R,FUNC_SEMUNLOCK,294,start
-294250000,SIM,-1,STI,TIMER-1MS,294,trigger
-294250000,TIMER-1MS,294,T,TASK_1MS,294,activate
-294250000,TASK_1MS,294,SCHED,SCHED_Tasks_C1,-1,processactivate
-294250100,TASK_1MS,294,STI,IR_SCHED_Tasks_C1,993,trigger
-294250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-294250100,TASK_InputProcessing,147,R,FUNC_SEMLOCK,295,suspend
-294250100,Core_1,0,T,TASK_InputProcessing,147,preempt
-294250100,Core_1,0,C,Core_1,0,idle_execution
-294250100,TASK_InputProcessing,147,C,Core_1,0,idle_execution
-294250100,Core_1,0,T,TASK_1MS,294,start
-294250100,TASK_1MS,294,R,FUNC_EXECTIME_1,539,start
-294250100,Core_1,0,C,Core_1,0,execute
-294250100,TASK_1MS,294,C,Core_1,0,execute
-294352175,TASK_WritingActuator,147,SEM,SEM_DataElement1,0,released,1
-294352175,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-294352175,TASK_WritingActuator,147,SCHED,SCHED_Tasks_C2,-1,schedulepoint
-294352175,Core_2,0,C,Core_2,0,lock
-294352225,TASK_WritingActuator,147,R,FUNC_SEMUNLOCK,294,terminate
-294352225,Core_2,0,T,TASK_WritingActuator,147,terminate
-294352225,TASK_WritingActuator,147,SCHED,SCHED_Tasks_C2,-1,processterminate
-294352225,Core_2,0,C,Core_2,0,unlock
-294352225,Core_2,0,C,Core_2,0,idle
-294352225,TASK_WritingActuator,147,C,Core_2,0,idle
-294352275,TASK_WritingActuator,147,STI,IR_SCHED_Tasks_C2,947,trigger
-294352275,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-294352275,Core_2,0,T,TASK_5MS,147,start
-294352275,TASK_5MS,147,R,FUNC_EXECTIME_1,538,start
-294352275,Core_2,0,C,Core_2,0,execute
-294352275,TASK_5MS,147,C,Core_2,0,execute
-294638800,TASK_1MS,294,R,FUNC_EXECTIME_1,539,terminate
-294638800,Core_1,0,T,TASK_1MS,294,terminate
-294638800,TASK_1MS,294,SCHED,SCHED_Tasks_C1,-1,processterminate
-294638800,Core_1,0,C,Core_1,0,idle
-294638800,TASK_1MS,294,C,Core_1,0,idle
-294638900,TASK_1MS,294,STI,IR_SCHED_Tasks_C1,994,trigger
-294638900,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-294638900,Core_1,0,C,Core_1,0,execute_idle
-294638900,TASK_InputProcessing,147,C,Core_1,0,execute_idle
-294638900,Core_1,0,T,TASK_InputProcessing,147,resume
-294638900,TASK_InputProcessing,147,R,FUNC_SEMLOCK,295,resume
-294663900,TASK_InputProcessing,147,SEM,SEM_DataElement1,0,requestsemaphore,0
-294663900,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-294663900,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-294663900,Core_1,0,C,Core_1,0,lock
-294663900,TASK_InputProcessing,147,SEM,SEM_DataElement1,0,assigned,1
-294663950,TASK_InputProcessing,147,R,FUNC_SEMLOCK,295,terminate
-294663950,Core_1,0,C,Core_1,0,unlock
-294663950,TASK_InputProcessing,147,R,FUNC_ReadSensorData,147,start
-294686925,TASK_5MS,147,R,FUNC_EXECTIME_1,538,terminate
-294686925,Core_2,0,T,TASK_5MS,147,terminate
-294686925,TASK_5MS,147,SCHED,SCHED_Tasks_C2,-1,processterminate
-294686925,Core_2,0,C,Core_2,0,idle
-294686925,TASK_5MS,147,C,Core_2,0,idle
-294687025,TASK_5MS,147,STI,IR_SCHED_Tasks_C2,948,trigger
-294687025,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-294823100,TASK_InputProcessing,147,SIG,SIG_RotationSpeed,0,read,0
-294823100,TASK_InputProcessing,147,SIG,SIG_Lambda,0,read,0
-294823100,TASK_InputProcessing,147,SIG,SIG_Temperature,0,read,0
-294823100,TASK_InputProcessing,147,R,FUNC_ReadSensorData,147,terminate
-294823100,TASK_InputProcessing,147,R,FUNC_SEMUNLOCK,295,start
-295000000,SIM,-1,STI,TIMER-10MS,29,trigger
-295000000,TIMER-10MS,29,T,TASK_10MS,29,activate
-295000000,TASK_10MS,29,SCHED,SCHED_Tasks_C2,-1,processactivate
-295000100,TASK_10MS,29,STI,IR_SCHED_Tasks_C2,949,trigger
-295000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-295000100,Core_2,0,T,TASK_10MS,29,start
-295000100,TASK_10MS,29,R,FUNC_EXECTIME_1,540,start
-295000100,Core_2,0,C,Core_2,0,execute
-295000100,TASK_10MS,29,C,Core_2,0,execute
-295023100,TASK_InputProcessing,147,SEM,SEM_DataElement1,0,released,1
-295023100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-295023100,TASK_InputProcessing,147,SCHED,SCHED_Tasks_C1,-1,schedulepoint
-295023100,Core_1,0,C,Core_1,0,lock
-295023150,TASK_InputProcessing,147,R,FUNC_SEMUNLOCK,295,terminate
-295023150,Core_1,0,C,Core_1,0,unlock
-295023150,TASK_InputProcessing,147,STI,IPA_InputReady,147,trigger
-295023150,IPA_InputReady,147,T,TASK_CalcEngineSpeed,147,activate
-295023150,TASK_CalcEngineSpeed,147,SCHED,SCHED_Tasks_C2,-1,processactivate
-295023150,Core_1,0,T,TASK_InputProcessing,147,terminate
-295023150,TASK_InputProcessing,147,SCHED,SCHED_Tasks_C1,-1,processterminate
-295023150,Core_1,0,C,Core_1,0,idle
-295023150,TASK_InputProcessing,147,C,Core_1,0,idle
-295023200,TASK_InputProcessing,147,STI,IR_SCHED_Tasks_C1,995,trigger
-295023200,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-295023250,TASK_CalcEngineSpeed,147,STI,IR_SCHED_Tasks_C2,950,trigger
-295023250,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-295023250,TASK_10MS,29,R,FUNC_EXECTIME_1,540,suspend
-295023250,Core_2,0,T,TASK_10MS,29,preempt
-295023250,Core_2,0,C,Core_2,0,idle_execution
-295023250,TASK_10MS,29,C,Core_2,0,idle_execution
-295023250,Core_2,0,T,TASK_CalcEngineSpeed,147,start
-295023250,TASK_CalcEngineSpeed,147,R,FUNC_ENGINESPEED,147,start
-295023250,Core_2,0,C,Core_2,0,execute
-295023250,TASK_CalcEngineSpeed,147,C,Core_2,0,execute
-295246075,TASK_CalcEngineSpeed,147,R,FUNC_ENGINESPEED,147,terminate
-295246075,Core_2,0,T,TASK_CalcEngineSpeed,147,terminate
-295246075,TASK_CalcEngineSpeed,147,SCHED,SCHED_Tasks_C2,-1,processterminate
-295246075,Core_2,0,C,Core_2,0,idle
-295246075,TASK_CalcEngineSpeed,147,C,Core_2,0,idle
-295246175,TASK_CalcEngineSpeed,147,STI,IR_SCHED_Tasks_C2,951,trigger
-295246175,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-295246175,Core_2,0,C,Core_2,0,execute_idle
-295246175,TASK_10MS,29,C,Core_2,0,execute_idle
-295246175,Core_2,0,T,TASK_10MS,29,resume
-295246175,TASK_10MS,29,R,FUNC_EXECTIME_1,540,resume
-295250000,SIM,-1,STI,TIMER-1MS,295,trigger
-295250000,TIMER-1MS,295,T,TASK_1MS,295,activate
-295250000,TASK_1MS,295,SCHED,SCHED_Tasks_C1,-1,processactivate
-295250100,TASK_1MS,295,STI,IR_SCHED_Tasks_C1,996,trigger
-295250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-295250100,Core_1,0,T,TASK_1MS,295,start
-295250100,TASK_1MS,295,R,FUNC_EXECTIME_1,541,start
-295250100,Core_1,0,C,Core_1,0,execute
-295250100,TASK_1MS,295,C,Core_1,0,execute
-295561325,TASK_10MS,29,R,FUNC_EXECTIME_1,540,terminate
-295561325,Core_2,0,T,TASK_10MS,29,terminate
-295561325,TASK_10MS,29,SCHED,SCHED_Tasks_C2,-1,processterminate
-295561325,Core_2,0,C,Core_2,0,idle
-295561325,TASK_10MS,29,C,Core_2,0,idle
-295561425,TASK_10MS,29,STI,IR_SCHED_Tasks_C2,952,trigger
-295561425,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-295639625,TASK_1MS,295,R,FUNC_EXECTIME_1,541,terminate
-295639625,Core_1,0,T,TASK_1MS,295,terminate
-295639625,TASK_1MS,295,SCHED,SCHED_Tasks_C1,-1,processterminate
-295639625,Core_1,0,C,Core_1,0,idle
-295639625,TASK_1MS,295,C,Core_1,0,idle
-295639725,TASK_1MS,295,STI,IR_SCHED_Tasks_C1,997,trigger
-295639725,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-296000000,SIM,-1,STI,TIMER-B_2ms,148,trigger
-296000000,TIMER-B_2ms,148,T,TASK_WritingActuator,148,activate
-296000000,TASK_WritingActuator,148,SCHED,SCHED_Tasks_C2,-1,processactivate
-296000100,TASK_WritingActuator,148,STI,IR_SCHED_Tasks_C2,953,trigger
-296000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-296000100,Core_2,0,T,TASK_WritingActuator,148,start
-296000100,TASK_WritingActuator,148,R,FUNC_SEMLOCK,296,start
-296000100,Core_2,0,C,Core_2,0,execute
-296000100,TASK_WritingActuator,148,C,Core_2,0,execute
-296100000,SIM,-1,STI,TIMER-5MS,148,trigger
-296100000,TIMER-5MS,148,T,TASK_5MS,148,activate
-296100000,TASK_5MS,148,SCHED,SCHED_Tasks_C2,-1,processactivate
-296100100,TASK_5MS,148,STI,IR_SCHED_Tasks_C2,954,trigger
-296100100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-296125100,TASK_WritingActuator,148,SEM,SEM_DataElement1,0,requestsemaphore,0
-296125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-296125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-296125100,Core_2,0,C,Core_2,0,lock
-296125100,TASK_WritingActuator,148,SEM,SEM_DataElement1,0,assigned,1
-296125150,TASK_WritingActuator,148,R,FUNC_SEMLOCK,296,terminate
-296125150,Core_2,0,C,Core_2,0,unlock
-296125150,TASK_WritingActuator,148,R,FUNC_WriteData,148,start
-296150000,SIM,-1,STI,TIMER-A_2ms,148,trigger
-296150000,TIMER-A_2ms,148,T,TASK_InputProcessing,148,activate
-296150000,TASK_InputProcessing,148,SCHED,SCHED_Tasks_C1,-1,processactivate
-296150100,TASK_InputProcessing,148,STI,IR_SCHED_Tasks_C1,998,trigger
-296150100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-296150100,Core_1,0,T,TASK_InputProcessing,148,start
-296150100,TASK_InputProcessing,148,R,FUNC_SEMLOCK,297,start
-296150100,Core_1,0,C,Core_1,0,execute
-296150100,TASK_InputProcessing,148,C,Core_1,0,execute
-296152125,TASK_WritingActuator,148,SIG,SIG_Mixture,0,write,0
-296152125,TASK_WritingActuator,148,R,FUNC_WriteData,148,terminate
-296152125,TASK_WritingActuator,148,R,FUNC_SEMUNLOCK,296,start
-296250000,SIM,-1,STI,TIMER-1MS,296,trigger
-296250000,TIMER-1MS,296,T,TASK_1MS,296,activate
-296250000,TASK_1MS,296,SCHED,SCHED_Tasks_C1,-1,processactivate
-296250100,TASK_1MS,296,STI,IR_SCHED_Tasks_C1,999,trigger
-296250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-296250100,TASK_InputProcessing,148,R,FUNC_SEMLOCK,297,suspend
-296250100,Core_1,0,T,TASK_InputProcessing,148,preempt
-296250100,Core_1,0,C,Core_1,0,idle_execution
-296250100,TASK_InputProcessing,148,C,Core_1,0,idle_execution
-296250100,Core_1,0,T,TASK_1MS,296,start
-296250100,TASK_1MS,296,R,FUNC_EXECTIME_1,543,start
-296250100,Core_1,0,C,Core_1,0,execute
-296250100,TASK_1MS,296,C,Core_1,0,execute
-296352125,TASK_WritingActuator,148,SEM,SEM_DataElement1,0,released,1
-296352125,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-296352125,TASK_WritingActuator,148,SCHED,SCHED_Tasks_C2,-1,schedulepoint
-296352125,Core_2,0,C,Core_2,0,lock
-296352175,TASK_WritingActuator,148,R,FUNC_SEMUNLOCK,296,terminate
-296352175,Core_2,0,T,TASK_WritingActuator,148,terminate
-296352175,TASK_WritingActuator,148,SCHED,SCHED_Tasks_C2,-1,processterminate
-296352175,Core_2,0,C,Core_2,0,unlock
-296352175,Core_2,0,C,Core_2,0,idle
-296352175,TASK_WritingActuator,148,C,Core_2,0,idle
-296352225,TASK_WritingActuator,148,STI,IR_SCHED_Tasks_C2,955,trigger
-296352225,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-296352225,Core_2,0,T,TASK_5MS,148,start
-296352225,TASK_5MS,148,R,FUNC_EXECTIME_1,542,start
-296352225,Core_2,0,C,Core_2,0,execute
-296352225,TASK_5MS,148,C,Core_2,0,execute
-296771075,TASK_5MS,148,R,FUNC_EXECTIME_1,542,terminate
-296771075,Core_2,0,T,TASK_5MS,148,terminate
-296771075,TASK_5MS,148,SCHED,SCHED_Tasks_C2,-1,processterminate
-296771075,Core_2,0,C,Core_2,0,idle
-296771075,TASK_5MS,148,C,Core_2,0,idle
-296771175,TASK_5MS,148,STI,IR_SCHED_Tasks_C2,956,trigger
-296771175,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-296776750,TASK_1MS,296,R,FUNC_EXECTIME_1,543,terminate
-296776750,Core_1,0,T,TASK_1MS,296,terminate
-296776750,TASK_1MS,296,SCHED,SCHED_Tasks_C1,-1,processterminate
-296776750,Core_1,0,C,Core_1,0,idle
-296776750,TASK_1MS,296,C,Core_1,0,idle
-296776850,TASK_1MS,296,STI,IR_SCHED_Tasks_C1,1000,trigger
-296776850,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-296776850,Core_1,0,C,Core_1,0,execute_idle
-296776850,TASK_InputProcessing,148,C,Core_1,0,execute_idle
-296776850,Core_1,0,T,TASK_InputProcessing,148,resume
-296776850,TASK_InputProcessing,148,R,FUNC_SEMLOCK,297,resume
-296801850,TASK_InputProcessing,148,SEM,SEM_DataElement1,0,requestsemaphore,0
-296801850,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-296801850,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-296801850,Core_1,0,C,Core_1,0,lock
-296801850,TASK_InputProcessing,148,SEM,SEM_DataElement1,0,assigned,1
-296801900,TASK_InputProcessing,148,R,FUNC_SEMLOCK,297,terminate
-296801900,Core_1,0,C,Core_1,0,unlock
-296801900,TASK_InputProcessing,148,R,FUNC_ReadSensorData,148,start
-296964300,TASK_InputProcessing,148,SIG,SIG_RotationSpeed,0,read,0
-296964300,TASK_InputProcessing,148,SIG,SIG_Lambda,0,read,0
-296964300,TASK_InputProcessing,148,SIG,SIG_Temperature,0,read,0
-296964300,TASK_InputProcessing,148,R,FUNC_ReadSensorData,148,terminate
-296964300,TASK_InputProcessing,148,R,FUNC_SEMUNLOCK,297,start
-297164300,TASK_InputProcessing,148,SEM,SEM_DataElement1,0,released,1
-297164300,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-297164300,TASK_InputProcessing,148,SCHED,SCHED_Tasks_C1,-1,schedulepoint
-297164300,Core_1,0,C,Core_1,0,lock
-297164350,TASK_InputProcessing,148,R,FUNC_SEMUNLOCK,297,terminate
-297164350,Core_1,0,C,Core_1,0,unlock
-297164350,TASK_InputProcessing,148,STI,IPA_InputReady,148,trigger
-297164350,IPA_InputReady,148,T,TASK_CalcEngineSpeed,148,activate
-297164350,TASK_CalcEngineSpeed,148,SCHED,SCHED_Tasks_C2,-1,processactivate
-297164350,Core_1,0,T,TASK_InputProcessing,148,terminate
-297164350,TASK_InputProcessing,148,SCHED,SCHED_Tasks_C1,-1,processterminate
-297164350,Core_1,0,C,Core_1,0,idle
-297164350,TASK_InputProcessing,148,C,Core_1,0,idle
-297164400,TASK_InputProcessing,148,STI,IR_SCHED_Tasks_C1,1001,trigger
-297164400,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-297164450,TASK_CalcEngineSpeed,148,STI,IR_SCHED_Tasks_C2,957,trigger
-297164450,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-297164450,Core_2,0,T,TASK_CalcEngineSpeed,148,start
-297164450,TASK_CalcEngineSpeed,148,R,FUNC_ENGINESPEED,148,start
-297164450,Core_2,0,C,Core_2,0,execute
-297164450,TASK_CalcEngineSpeed,148,C,Core_2,0,execute
-297250000,SIM,-1,STI,TIMER-1MS,297,trigger
-297250000,TIMER-1MS,297,T,TASK_1MS,297,activate
-297250000,TASK_1MS,297,SCHED,SCHED_Tasks_C1,-1,processactivate
-297250100,TASK_1MS,297,STI,IR_SCHED_Tasks_C1,1002,trigger
-297250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-297250100,Core_1,0,T,TASK_1MS,297,start
-297250100,TASK_1MS,297,R,FUNC_EXECTIME_1,544,start
-297250100,Core_1,0,C,Core_1,0,execute
-297250100,TASK_1MS,297,C,Core_1,0,execute
-297317450,TASK_CalcEngineSpeed,148,R,FUNC_ENGINESPEED,148,terminate
-297317450,Core_2,0,T,TASK_CalcEngineSpeed,148,terminate
-297317450,TASK_CalcEngineSpeed,148,SCHED,SCHED_Tasks_C2,-1,processterminate
-297317450,Core_2,0,C,Core_2,0,idle
-297317450,TASK_CalcEngineSpeed,148,C,Core_2,0,idle
-297317550,TASK_CalcEngineSpeed,148,STI,IR_SCHED_Tasks_C2,958,trigger
-297317550,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-297683300,TASK_1MS,297,R,FUNC_EXECTIME_1,544,terminate
-297683300,Core_1,0,T,TASK_1MS,297,terminate
-297683300,TASK_1MS,297,SCHED,SCHED_Tasks_C1,-1,processterminate
-297683300,Core_1,0,C,Core_1,0,idle
-297683300,TASK_1MS,297,C,Core_1,0,idle
-297683400,TASK_1MS,297,STI,IR_SCHED_Tasks_C1,1003,trigger
-297683400,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-298000000,SIM,-1,STI,TIMER-B_2ms,149,trigger
-298000000,TIMER-B_2ms,149,T,TASK_WritingActuator,149,activate
-298000000,TASK_WritingActuator,149,SCHED,SCHED_Tasks_C2,-1,processactivate
-298000100,TASK_WritingActuator,149,STI,IR_SCHED_Tasks_C2,959,trigger
-298000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-298000100,Core_2,0,T,TASK_WritingActuator,149,start
-298000100,TASK_WritingActuator,149,R,FUNC_SEMLOCK,298,start
-298000100,Core_2,0,C,Core_2,0,execute
-298000100,TASK_WritingActuator,149,C,Core_2,0,execute
-298100000,SIM,-1,STI,TIMER-5MS,149,trigger
-298100000,TIMER-5MS,149,T,TASK_5MS,149,activate
-298100000,TASK_5MS,149,SCHED,SCHED_Tasks_C2,-1,processactivate
-298100100,TASK_5MS,149,STI,IR_SCHED_Tasks_C2,960,trigger
-298100100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-298125100,TASK_WritingActuator,149,SEM,SEM_DataElement1,0,requestsemaphore,0
-298125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-298125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-298125100,Core_2,0,C,Core_2,0,lock
-298125100,TASK_WritingActuator,149,SEM,SEM_DataElement1,0,assigned,1
-298125150,TASK_WritingActuator,149,R,FUNC_SEMLOCK,298,terminate
-298125150,Core_2,0,C,Core_2,0,unlock
-298125150,TASK_WritingActuator,149,R,FUNC_WriteData,149,start
-298150000,SIM,-1,STI,TIMER-A_2ms,149,trigger
-298150000,TIMER-A_2ms,149,T,TASK_InputProcessing,149,activate
-298150000,TASK_InputProcessing,149,SCHED,SCHED_Tasks_C1,-1,processactivate
-298150100,TASK_InputProcessing,149,STI,IR_SCHED_Tasks_C1,1004,trigger
-298150100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-298150100,Core_1,0,T,TASK_InputProcessing,149,start
-298150100,TASK_InputProcessing,149,R,FUNC_SEMLOCK,299,start
-298150100,Core_1,0,C,Core_1,0,execute
-298150100,TASK_InputProcessing,149,C,Core_1,0,execute
-298151700,TASK_WritingActuator,149,SIG,SIG_Mixture,0,write,0
-298151700,TASK_WritingActuator,149,R,FUNC_WriteData,149,terminate
-298151700,TASK_WritingActuator,149,R,FUNC_SEMUNLOCK,298,start
-298250000,SIM,-1,STI,TIMER-1MS,298,trigger
-298250000,TIMER-1MS,298,T,TASK_1MS,298,activate
-298250000,TASK_1MS,298,SCHED,SCHED_Tasks_C1,-1,processactivate
-298250100,TASK_1MS,298,STI,IR_SCHED_Tasks_C1,1005,trigger
-298250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-298250100,TASK_InputProcessing,149,R,FUNC_SEMLOCK,299,suspend
-298250100,Core_1,0,T,TASK_InputProcessing,149,preempt
-298250100,Core_1,0,C,Core_1,0,idle_execution
-298250100,TASK_InputProcessing,149,C,Core_1,0,idle_execution
-298250100,Core_1,0,T,TASK_1MS,298,start
-298250100,TASK_1MS,298,R,FUNC_EXECTIME_1,546,start
-298250100,Core_1,0,C,Core_1,0,execute
-298250100,TASK_1MS,298,C,Core_1,0,execute
-298351700,TASK_WritingActuator,149,SEM,SEM_DataElement1,0,released,1
-298351700,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-298351700,TASK_WritingActuator,149,SCHED,SCHED_Tasks_C2,-1,schedulepoint
-298351700,Core_2,0,C,Core_2,0,lock
-298351750,TASK_WritingActuator,149,R,FUNC_SEMUNLOCK,298,terminate
-298351750,Core_2,0,T,TASK_WritingActuator,149,terminate
-298351750,TASK_WritingActuator,149,SCHED,SCHED_Tasks_C2,-1,processterminate
-298351750,Core_2,0,C,Core_2,0,unlock
-298351750,Core_2,0,C,Core_2,0,idle
-298351750,TASK_WritingActuator,149,C,Core_2,0,idle
-298351800,TASK_WritingActuator,149,STI,IR_SCHED_Tasks_C2,961,trigger
-298351800,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-298351800,Core_2,0,T,TASK_5MS,149,start
-298351800,TASK_5MS,149,R,FUNC_EXECTIME_1,545,start
-298351800,Core_2,0,C,Core_2,0,execute
-298351800,TASK_5MS,149,C,Core_2,0,execute
-298672575,TASK_1MS,298,R,FUNC_EXECTIME_1,546,terminate
-298672575,Core_1,0,T,TASK_1MS,298,terminate
-298672575,TASK_1MS,298,SCHED,SCHED_Tasks_C1,-1,processterminate
-298672575,Core_1,0,C,Core_1,0,idle
-298672575,TASK_1MS,298,C,Core_1,0,idle
-298672675,TASK_1MS,298,STI,IR_SCHED_Tasks_C1,1006,trigger
-298672675,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-298672675,Core_1,0,C,Core_1,0,execute_idle
-298672675,TASK_InputProcessing,149,C,Core_1,0,execute_idle
-298672675,Core_1,0,T,TASK_InputProcessing,149,resume
-298672675,TASK_InputProcessing,149,R,FUNC_SEMLOCK,299,resume
-298697675,TASK_InputProcessing,149,SEM,SEM_DataElement1,0,requestsemaphore,0
-298697675,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-298697675,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-298697675,Core_1,0,C,Core_1,0,lock
-298697675,TASK_InputProcessing,149,SEM,SEM_DataElement1,0,assigned,1
-298697725,TASK_InputProcessing,149,R,FUNC_SEMLOCK,299,terminate
-298697725,Core_1,0,C,Core_1,0,unlock
-298697725,TASK_InputProcessing,149,R,FUNC_ReadSensorData,149,start
-298859800,TASK_InputProcessing,149,SIG,SIG_RotationSpeed,0,read,0
-298859800,TASK_InputProcessing,149,SIG,SIG_Lambda,0,read,0
-298859800,TASK_InputProcessing,149,SIG,SIG_Temperature,0,read,0
-298859800,TASK_InputProcessing,149,R,FUNC_ReadSensorData,149,terminate
-298859800,TASK_InputProcessing,149,R,FUNC_SEMUNLOCK,299,start
-298928275,TASK_5MS,149,R,FUNC_EXECTIME_1,545,terminate
-298928275,Core_2,0,T,TASK_5MS,149,terminate
-298928275,TASK_5MS,149,SCHED,SCHED_Tasks_C2,-1,processterminate
-298928275,Core_2,0,C,Core_2,0,idle
-298928275,TASK_5MS,149,C,Core_2,0,idle
-298928375,TASK_5MS,149,STI,IR_SCHED_Tasks_C2,962,trigger
-298928375,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-299059800,TASK_InputProcessing,149,SEM,SEM_DataElement1,0,released,1
-299059800,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-299059800,TASK_InputProcessing,149,SCHED,SCHED_Tasks_C1,-1,schedulepoint
-299059800,Core_1,0,C,Core_1,0,lock
-299059850,TASK_InputProcessing,149,R,FUNC_SEMUNLOCK,299,terminate
-299059850,Core_1,0,C,Core_1,0,unlock
-299059850,TASK_InputProcessing,149,STI,IPA_InputReady,149,trigger
-299059850,IPA_InputReady,149,T,TASK_CalcEngineSpeed,149,activate
-299059850,TASK_CalcEngineSpeed,149,SCHED,SCHED_Tasks_C2,-1,processactivate
-299059850,Core_1,0,T,TASK_InputProcessing,149,terminate
-299059850,TASK_InputProcessing,149,SCHED,SCHED_Tasks_C1,-1,processterminate
-299059850,Core_1,0,C,Core_1,0,idle
-299059850,TASK_InputProcessing,149,C,Core_1,0,idle
-299059900,TASK_InputProcessing,149,STI,IR_SCHED_Tasks_C1,1007,trigger
-299059900,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-299059950,TASK_CalcEngineSpeed,149,STI,IR_SCHED_Tasks_C2,963,trigger
-299059950,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-299059950,Core_2,0,T,TASK_CalcEngineSpeed,149,start
-299059950,TASK_CalcEngineSpeed,149,R,FUNC_ENGINESPEED,149,start
-299059950,Core_2,0,C,Core_2,0,execute
-299059950,TASK_CalcEngineSpeed,149,C,Core_2,0,execute
-299185050,TASK_CalcEngineSpeed,149,R,FUNC_ENGINESPEED,149,terminate
-299185050,Core_2,0,T,TASK_CalcEngineSpeed,149,terminate
-299185050,TASK_CalcEngineSpeed,149,SCHED,SCHED_Tasks_C2,-1,processterminate
-299185050,Core_2,0,C,Core_2,0,idle
-299185050,TASK_CalcEngineSpeed,149,C,Core_2,0,idle
-299185150,TASK_CalcEngineSpeed,149,STI,IR_SCHED_Tasks_C2,964,trigger
-299185150,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-299250000,SIM,-1,STI,TIMER-1MS,299,trigger
-299250000,TIMER-1MS,299,T,TASK_1MS,299,activate
-299250000,TASK_1MS,299,SCHED,SCHED_Tasks_C1,-1,processactivate
-299250100,TASK_1MS,299,STI,IR_SCHED_Tasks_C1,1008,trigger
-299250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-299250100,Core_1,0,T,TASK_1MS,299,start
-299250100,TASK_1MS,299,R,FUNC_EXECTIME_1,547,start
-299250100,Core_1,0,C,Core_1,0,execute
-299250100,TASK_1MS,299,C,Core_1,0,execute
-299818225,TASK_1MS,299,R,FUNC_EXECTIME_1,547,terminate
-299818225,Core_1,0,T,TASK_1MS,299,terminate
-299818225,TASK_1MS,299,SCHED,SCHED_Tasks_C1,-1,processterminate
-299818225,Core_1,0,C,Core_1,0,idle
-299818225,TASK_1MS,299,C,Core_1,0,idle
-299818325,TASK_1MS,299,STI,IR_SCHED_Tasks_C1,1009,trigger
-299818325,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-300000000,SIM,-1,STI,TIMER-B_2ms,150,trigger
-300000000,TIMER-B_2ms,150,T,TASK_WritingActuator,150,activate
-300000000,TASK_WritingActuator,150,SCHED,SCHED_Tasks_C2,-1,processactivate
-300000000,SIM,-1,STI,TIMER-10MS_2,30,trigger
-300000000,TIMER-10MS_2,30,T,TASK_10MS_DL2,30,activate
-300000000,TASK_10MS_DL2,30,SCHED,SCHED_Tasks_C1,-1,processactivate
-300000100,TASK_WritingActuator,150,STI,IR_SCHED_Tasks_C2,965,trigger
-300000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-300000100,Core_2,0,T,TASK_WritingActuator,150,start
-300000100,TASK_WritingActuator,150,R,FUNC_SEMLOCK,300,start
-300000100,Core_2,0,C,Core_2,0,execute
-300000100,TASK_WritingActuator,150,C,Core_2,0,execute
-300000100,TASK_10MS_DL2,30,STI,IR_SCHED_Tasks_C1,1010,trigger
-300000100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-300000100,Core_1,0,T,TASK_10MS_DL2,30,start
-300000100,TASK_10MS_DL2,30,R,FUNC_EXECTIME_1,548,start
-300000100,Core_1,0,C,Core_1,0,execute
-300000100,TASK_10MS_DL2,30,C,Core_1,0,execute
-300005000,SIM,-1,STI,TIMER-20MS,15,trigger
-300005000,TIMER-20MS,15,T,TASK_20MS,15,activate
-300005000,TASK_20MS,15,SCHED,SCHED_Tasks_C1,-1,processactivate
-300005100,TASK_20MS,15,STI,IR_SCHED_Tasks_C1,1011,trigger
-300005100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-300100000,SIM,-1,STI,TIMER-5MS,150,trigger
-300100000,TIMER-5MS,150,T,TASK_5MS,150,activate
-300100000,TASK_5MS,150,SCHED,SCHED_Tasks_C2,-1,processactivate
-300100000,SIM,-1,STI,TIMER-100MS,3,trigger
-300100000,TIMER-100MS,3,T,TASK_100MS,3,activate
-300100000,TASK_100MS,3,SCHED,SCHED_Tasks_C1,-1,processactivate
-300100100,TASK_5MS,150,STI,IR_SCHED_Tasks_C2,966,trigger
-300100100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-300100100,TASK_100MS,3,STI,IR_SCHED_Tasks_C1,1012,trigger
-300100100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-300125100,TASK_WritingActuator,150,SEM,SEM_DataElement1,0,requestsemaphore,0
-300125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-300125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-300125100,Core_2,0,C,Core_2,0,lock
-300125100,TASK_WritingActuator,150,SEM,SEM_DataElement1,0,assigned,1
-300125150,TASK_WritingActuator,150,R,FUNC_SEMLOCK,300,terminate
-300125150,Core_2,0,C,Core_2,0,unlock
-300125150,TASK_WritingActuator,150,R,FUNC_WriteData,150,start
-300150000,SIM,-1,STI,TIMER-A_2ms,150,trigger
-300150000,TIMER-A_2ms,150,T,TASK_InputProcessing,150,activate
-300150000,TASK_InputProcessing,150,SCHED,SCHED_Tasks_C1,-1,processactivate
-300150100,TASK_InputProcessing,150,STI,IR_SCHED_Tasks_C1,1013,trigger
-300150100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-300152100,TASK_WritingActuator,150,SIG,SIG_Mixture,0,write,0
-300152100,TASK_WritingActuator,150,R,FUNC_WriteData,150,terminate
-300152100,TASK_WritingActuator,150,R,FUNC_SEMUNLOCK,300,start
-300250000,SIM,-1,STI,TIMER-1MS,300,trigger
-300250000,TIMER-1MS,300,T,TASK_1MS,300,activate
-300250000,TASK_1MS,300,SCHED,SCHED_Tasks_C1,-1,processactivate
-300250100,TASK_1MS,300,STI,IR_SCHED_Tasks_C1,1014,trigger
-300250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-300250100,TASK_10MS_DL2,30,R,FUNC_EXECTIME_1,548,suspend
-300250100,Core_1,0,T,TASK_10MS_DL2,30,preempt
-300250100,Core_1,0,C,Core_1,0,idle_execution
-300250100,TASK_10MS_DL2,30,C,Core_1,0,idle_execution
-300250100,Core_1,0,T,TASK_1MS,300,start
-300250100,TASK_1MS,300,R,FUNC_EXECTIME_1,552,start
-300250100,Core_1,0,C,Core_1,0,execute
-300250100,TASK_1MS,300,C,Core_1,0,execute
-300352100,TASK_WritingActuator,150,SEM,SEM_DataElement1,0,released,1
-300352100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-300352100,TASK_WritingActuator,150,SCHED,SCHED_Tasks_C2,-1,schedulepoint
-300352100,Core_2,0,C,Core_2,0,lock
-300352150,TASK_WritingActuator,150,R,FUNC_SEMUNLOCK,300,terminate
-300352150,Core_2,0,T,TASK_WritingActuator,150,terminate
-300352150,TASK_WritingActuator,150,SCHED,SCHED_Tasks_C2,-1,processterminate
-300352150,Core_2,0,C,Core_2,0,unlock
-300352150,Core_2,0,C,Core_2,0,idle
-300352150,TASK_WritingActuator,150,C,Core_2,0,idle
-300352200,TASK_WritingActuator,150,STI,IR_SCHED_Tasks_C2,967,trigger
-300352200,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-300352200,Core_2,0,T,TASK_5MS,150,start
-300352200,TASK_5MS,150,R,FUNC_EXECTIME_1,550,start
-300352200,Core_2,0,C,Core_2,0,execute
-300352200,TASK_5MS,150,C,Core_2,0,execute
-300674325,TASK_5MS,150,R,FUNC_EXECTIME_1,550,terminate
-300674325,Core_2,0,T,TASK_5MS,150,terminate
-300674325,TASK_5MS,150,SCHED,SCHED_Tasks_C2,-1,processterminate
-300674325,Core_2,0,C,Core_2,0,idle
-300674325,TASK_5MS,150,C,Core_2,0,idle
-300674425,TASK_5MS,150,STI,IR_SCHED_Tasks_C2,968,trigger
-300674425,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-300717425,TASK_1MS,300,R,FUNC_EXECTIME_1,552,terminate
-300717425,Core_1,0,T,TASK_1MS,300,terminate
-300717425,TASK_1MS,300,SCHED,SCHED_Tasks_C1,-1,processterminate
-300717425,Core_1,0,C,Core_1,0,idle
-300717425,TASK_1MS,300,C,Core_1,0,idle
-300717525,TASK_1MS,300,STI,IR_SCHED_Tasks_C1,1015,trigger
-300717525,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-300717525,Core_1,0,C,Core_1,0,execute_idle
-300717525,TASK_10MS_DL2,30,C,Core_1,0,execute_idle
-300717525,Core_1,0,T,TASK_10MS_DL2,30,resume
-300717525,TASK_10MS_DL2,30,R,FUNC_EXECTIME_1,548,resume
-300786225,TASK_10MS_DL2,30,R,FUNC_EXECTIME_1,548,terminate
-300786225,Core_1,0,T,TASK_10MS_DL2,30,terminate
-300786225,TASK_10MS_DL2,30,SCHED,SCHED_Tasks_C1,-1,processterminate
-300786225,Core_1,0,C,Core_1,0,idle
-300786225,TASK_10MS_DL2,30,C,Core_1,0,idle
-300786325,TASK_10MS_DL2,30,STI,IR_SCHED_Tasks_C1,1016,trigger
-300786325,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-300786325,Core_1,0,T,TASK_InputProcessing,150,start
-300786325,TASK_InputProcessing,150,R,FUNC_SEMLOCK,301,start
-300786325,Core_1,0,C,Core_1,0,execute
-300786325,TASK_InputProcessing,150,C,Core_1,0,execute
-300911325,TASK_InputProcessing,150,SEM,SEM_DataElement1,0,requestsemaphore,0
-300911325,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-300911325,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-300911325,Core_1,0,C,Core_1,0,lock
-300911325,TASK_InputProcessing,150,SEM,SEM_DataElement1,0,assigned,1
-300911375,TASK_InputProcessing,150,R,FUNC_SEMLOCK,301,terminate
-300911375,Core_1,0,C,Core_1,0,unlock
-300911375,TASK_InputProcessing,150,R,FUNC_ReadSensorData,150,start
-301073350,TASK_InputProcessing,150,SIG,SIG_RotationSpeed,0,read,0
-301073350,TASK_InputProcessing,150,SIG,SIG_Lambda,0,read,0
-301073350,TASK_InputProcessing,150,SIG,SIG_Temperature,0,read,0
-301073350,TASK_InputProcessing,150,R,FUNC_ReadSensorData,150,terminate
-301073350,TASK_InputProcessing,150,R,FUNC_SEMUNLOCK,301,start
-301250000,SIM,-1,STI,TIMER-1MS,301,trigger
-301250000,TIMER-1MS,301,T,TASK_1MS,301,activate
-301250000,TASK_1MS,301,SCHED,SCHED_Tasks_C1,-1,processactivate
-301250100,TASK_1MS,301,STI,IR_SCHED_Tasks_C1,1017,trigger
-301250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-301273350,TASK_InputProcessing,150,SEM,SEM_DataElement1,0,released,1
-301273350,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-301273350,TASK_InputProcessing,150,SCHED,SCHED_Tasks_C1,-1,schedulepoint
-301273350,Core_1,0,C,Core_1,0,lock
-301273400,TASK_InputProcessing,150,R,FUNC_SEMUNLOCK,301,terminate
-301273400,Core_1,0,C,Core_1,0,unlock
-301273400,TASK_InputProcessing,150,STI,IPA_InputReady,150,trigger
-301273400,IPA_InputReady,150,T,TASK_CalcEngineSpeed,150,activate
-301273400,TASK_CalcEngineSpeed,150,SCHED,SCHED_Tasks_C2,-1,processactivate
-301273400,Core_1,0,T,TASK_InputProcessing,150,terminate
-301273400,TASK_InputProcessing,150,SCHED,SCHED_Tasks_C1,-1,processterminate
-301273400,Core_1,0,C,Core_1,0,idle
-301273400,TASK_InputProcessing,150,C,Core_1,0,idle
-301273450,TASK_InputProcessing,150,STI,IR_SCHED_Tasks_C1,1018,trigger
-301273450,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-301273450,Core_1,0,T,TASK_1MS,301,start
-301273450,TASK_1MS,301,R,FUNC_EXECTIME_1,553,start
-301273450,Core_1,0,C,Core_1,0,execute
-301273450,TASK_1MS,301,C,Core_1,0,execute
-301273500,TASK_CalcEngineSpeed,150,STI,IR_SCHED_Tasks_C2,969,trigger
-301273500,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-301273500,Core_2,0,T,TASK_CalcEngineSpeed,150,start
-301273500,TASK_CalcEngineSpeed,150,R,FUNC_ENGINESPEED,150,start
-301273500,Core_2,0,C,Core_2,0,execute
-301273500,TASK_CalcEngineSpeed,150,C,Core_2,0,execute
-301434525,TASK_CalcEngineSpeed,150,R,FUNC_ENGINESPEED,150,terminate
-301434525,Core_2,0,T,TASK_CalcEngineSpeed,150,terminate
-301434525,TASK_CalcEngineSpeed,150,SCHED,SCHED_Tasks_C2,-1,processterminate
-301434525,Core_2,0,C,Core_2,0,idle
-301434525,TASK_CalcEngineSpeed,150,C,Core_2,0,idle
-301434625,TASK_CalcEngineSpeed,150,STI,IR_SCHED_Tasks_C2,970,trigger
-301434625,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-301799000,TASK_1MS,301,R,FUNC_EXECTIME_1,553,terminate
-301799000,Core_1,0,T,TASK_1MS,301,terminate
-301799000,TASK_1MS,301,SCHED,SCHED_Tasks_C1,-1,processterminate
-301799000,Core_1,0,C,Core_1,0,idle
-301799000,TASK_1MS,301,C,Core_1,0,idle
-301799100,TASK_1MS,301,STI,IR_SCHED_Tasks_C1,1019,trigger
-301799100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-301799100,Core_1,0,T,TASK_20MS,15,start
-301799100,TASK_20MS,15,R,FUNC_EXECTIME_1,549,start
-301799100,Core_1,0,C,Core_1,0,execute
-301799100,TASK_20MS,15,C,Core_1,0,execute
-302000000,SIM,-1,STI,TIMER-B_2ms,151,trigger
-302000000,TIMER-B_2ms,151,T,TASK_WritingActuator,151,activate
-302000000,TASK_WritingActuator,151,SCHED,SCHED_Tasks_C2,-1,processactivate
-302000000,SIM,-1,STI,TIMER-50MS,6,trigger
-302000000,TIMER-50MS,6,T,TASK_50MS,6,activate
-302000000,TASK_50MS,6,SCHED,SCHED_Tasks_C2,-1,processactivate
-302000100,TASK_WritingActuator,151,STI,IR_SCHED_Tasks_C2,971,trigger
-302000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-302000100,Core_2,0,T,TASK_WritingActuator,151,start
-302000100,TASK_WritingActuator,151,R,FUNC_SEMLOCK,302,start
-302000100,Core_2,0,C,Core_2,0,execute
-302000100,TASK_WritingActuator,151,C,Core_2,0,execute
-302100000,SIM,-1,STI,TIMER-5MS,151,trigger
-302100000,TIMER-5MS,151,T,TASK_5MS,151,activate
-302100000,TASK_5MS,151,SCHED,SCHED_Tasks_C2,-1,processactivate
-302100100,TASK_5MS,151,STI,IR_SCHED_Tasks_C2,972,trigger
-302100100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-302107250,TASK_20MS,15,R,FUNC_EXECTIME_1,549,terminate
-302107250,Core_1,0,T,TASK_20MS,15,terminate
-302107250,TASK_20MS,15,SCHED,SCHED_Tasks_C1,-1,processterminate
-302107250,Core_1,0,C,Core_1,0,idle
-302107250,TASK_20MS,15,C,Core_1,0,idle
-302107350,TASK_20MS,15,STI,IR_SCHED_Tasks_C1,1020,trigger
-302107350,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-302107350,Core_1,0,T,TASK_100MS,3,start
-302107350,TASK_100MS,3,R,FUNC_EXECTIME_1,551,start
-302107350,Core_1,0,C,Core_1,0,execute
-302107350,TASK_100MS,3,C,Core_1,0,execute
-302125100,TASK_WritingActuator,151,SEM,SEM_DataElement1,0,requestsemaphore,0
-302125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-302125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-302125100,Core_2,0,C,Core_2,0,lock
-302125100,TASK_WritingActuator,151,SEM,SEM_DataElement1,0,assigned,1
-302125150,TASK_WritingActuator,151,R,FUNC_SEMLOCK,302,terminate
-302125150,Core_2,0,C,Core_2,0,unlock
-302125150,TASK_WritingActuator,151,R,FUNC_WriteData,151,start
-302150000,SIM,-1,STI,TIMER-A_2ms,151,trigger
-302150000,TIMER-A_2ms,151,T,TASK_InputProcessing,151,activate
-302150000,TASK_InputProcessing,151,SCHED,SCHED_Tasks_C1,-1,processactivate
-302150100,TASK_InputProcessing,151,STI,IR_SCHED_Tasks_C1,1021,trigger
-302150100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-302150100,TASK_100MS,3,R,FUNC_EXECTIME_1,551,suspend
-302150100,Core_1,0,T,TASK_100MS,3,preempt
-302150100,Core_1,0,C,Core_1,0,idle_execution
-302150100,TASK_100MS,3,C,Core_1,0,idle_execution
-302150100,Core_1,0,T,TASK_InputProcessing,151,start
-302150100,TASK_InputProcessing,151,R,FUNC_SEMLOCK,303,start
-302150100,Core_1,0,C,Core_1,0,execute
-302150100,TASK_InputProcessing,151,C,Core_1,0,execute
-302152575,TASK_WritingActuator,151,SIG,SIG_Mixture,0,write,0
-302152575,TASK_WritingActuator,151,R,FUNC_WriteData,151,terminate
-302152575,TASK_WritingActuator,151,R,FUNC_SEMUNLOCK,302,start
-302250000,SIM,-1,STI,TIMER-1MS,302,trigger
-302250000,TIMER-1MS,302,T,TASK_1MS,302,activate
-302250000,TASK_1MS,302,SCHED,SCHED_Tasks_C1,-1,processactivate
-302250100,TASK_1MS,302,STI,IR_SCHED_Tasks_C1,1022,trigger
-302250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-302250100,TASK_InputProcessing,151,R,FUNC_SEMLOCK,303,suspend
-302250100,Core_1,0,T,TASK_InputProcessing,151,preempt
-302250100,Core_1,0,C,Core_1,0,idle_execution
-302250100,TASK_InputProcessing,151,C,Core_1,0,idle_execution
-302250100,Core_1,0,T,TASK_1MS,302,start
-302250100,TASK_1MS,302,R,FUNC_EXECTIME_1,555,start
-302250100,Core_1,0,C,Core_1,0,execute
-302250100,TASK_1MS,302,C,Core_1,0,execute
-302352575,TASK_WritingActuator,151,SEM,SEM_DataElement1,0,released,1
-302352575,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-302352575,TASK_WritingActuator,151,SCHED,SCHED_Tasks_C2,-1,schedulepoint
-302352575,Core_2,0,C,Core_2,0,lock
-302352625,TASK_WritingActuator,151,R,FUNC_SEMUNLOCK,302,terminate
-302352625,Core_2,0,T,TASK_WritingActuator,151,terminate
-302352625,TASK_WritingActuator,151,SCHED,SCHED_Tasks_C2,-1,processterminate
-302352625,Core_2,0,C,Core_2,0,unlock
-302352625,Core_2,0,C,Core_2,0,idle
-302352625,TASK_WritingActuator,151,C,Core_2,0,idle
-302352675,TASK_WritingActuator,151,STI,IR_SCHED_Tasks_C2,973,trigger
-302352675,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-302352675,Core_2,0,T,TASK_5MS,151,start
-302352675,TASK_5MS,151,R,FUNC_EXECTIME_1,554,start
-302352675,Core_2,0,C,Core_2,0,execute
-302352675,TASK_5MS,151,C,Core_2,0,execute
-302647300,TASK_1MS,302,R,FUNC_EXECTIME_1,555,terminate
-302647300,Core_1,0,T,TASK_1MS,302,terminate
-302647300,TASK_1MS,302,SCHED,SCHED_Tasks_C1,-1,processterminate
-302647300,Core_1,0,C,Core_1,0,idle
-302647300,TASK_1MS,302,C,Core_1,0,idle
-302647400,TASK_1MS,302,STI,IR_SCHED_Tasks_C1,1023,trigger
-302647400,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-302647400,Core_1,0,C,Core_1,0,execute_idle
-302647400,TASK_InputProcessing,151,C,Core_1,0,execute_idle
-302647400,Core_1,0,T,TASK_InputProcessing,151,resume
-302647400,TASK_InputProcessing,151,R,FUNC_SEMLOCK,303,resume
-302672400,TASK_InputProcessing,151,SEM,SEM_DataElement1,0,requestsemaphore,0
-302672400,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-302672400,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-302672400,Core_1,0,C,Core_1,0,lock
-302672400,TASK_InputProcessing,151,SEM,SEM_DataElement1,0,assigned,1
-302672450,TASK_InputProcessing,151,R,FUNC_SEMLOCK,303,terminate
-302672450,Core_1,0,C,Core_1,0,unlock
-302672450,TASK_InputProcessing,151,R,FUNC_ReadSensorData,151,start
-302833175,TASK_InputProcessing,151,SIG,SIG_RotationSpeed,0,read,0
-302833175,TASK_InputProcessing,151,SIG,SIG_Lambda,0,read,0
-302833175,TASK_InputProcessing,151,SIG,SIG_Temperature,0,read,0
-302833175,TASK_InputProcessing,151,R,FUNC_ReadSensorData,151,terminate
-302833175,TASK_InputProcessing,151,R,FUNC_SEMUNLOCK,303,start
-303033175,TASK_InputProcessing,151,SEM,SEM_DataElement1,0,released,1
-303033175,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-303033175,TASK_InputProcessing,151,SCHED,SCHED_Tasks_C1,-1,schedulepoint
-303033175,Core_1,0,C,Core_1,0,lock
-303033225,TASK_InputProcessing,151,R,FUNC_SEMUNLOCK,303,terminate
-303033225,Core_1,0,C,Core_1,0,unlock
-303033225,TASK_InputProcessing,151,STI,IPA_InputReady,151,trigger
-303033225,IPA_InputReady,151,T,TASK_CalcEngineSpeed,151,activate
-303033225,TASK_CalcEngineSpeed,151,SCHED,SCHED_Tasks_C2,-1,processactivate
-303033225,Core_1,0,T,TASK_InputProcessing,151,terminate
-303033225,TASK_InputProcessing,151,SCHED,SCHED_Tasks_C1,-1,processterminate
-303033225,Core_1,0,C,Core_1,0,idle
-303033225,TASK_InputProcessing,151,C,Core_1,0,idle
-303033275,TASK_InputProcessing,151,STI,IR_SCHED_Tasks_C1,1024,trigger
-303033275,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-303033275,Core_1,0,C,Core_1,0,execute_idle
-303033275,TASK_100MS,3,C,Core_1,0,execute_idle
-303033275,Core_1,0,T,TASK_100MS,3,resume
-303033275,TASK_100MS,3,R,FUNC_EXECTIME_1,551,resume
-303033325,TASK_CalcEngineSpeed,151,STI,IR_SCHED_Tasks_C2,974,trigger
-303033325,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-303033325,TASK_5MS,151,R,FUNC_EXECTIME_1,554,suspend
-303033325,Core_2,0,T,TASK_5MS,151,preempt
-303033325,Core_2,0,C,Core_2,0,idle_execution
-303033325,TASK_5MS,151,C,Core_2,0,idle_execution
-303033325,Core_2,0,T,TASK_CalcEngineSpeed,151,start
-303033325,TASK_CalcEngineSpeed,151,R,FUNC_ENGINESPEED,151,start
-303033325,Core_2,0,C,Core_2,0,execute
-303033325,TASK_CalcEngineSpeed,151,C,Core_2,0,execute
-303250000,SIM,-1,STI,TIMER-1MS,303,trigger
-303250000,TIMER-1MS,303,T,TASK_1MS,303,activate
-303250000,TASK_1MS,303,SCHED,SCHED_Tasks_C1,-1,processactivate
-303250100,TASK_1MS,303,STI,IR_SCHED_Tasks_C1,1025,trigger
-303250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-303250100,TASK_100MS,3,R,FUNC_EXECTIME_1,551,suspend
-303250100,Core_1,0,T,TASK_100MS,3,preempt
-303250100,Core_1,0,C,Core_1,0,idle_execution
-303250100,TASK_100MS,3,C,Core_1,0,idle_execution
-303250100,Core_1,0,T,TASK_1MS,303,start
-303250100,TASK_1MS,303,R,FUNC_EXECTIME_1,556,start
-303250100,Core_1,0,C,Core_1,0,execute
-303250100,TASK_1MS,303,C,Core_1,0,execute
-303277975,TASK_CalcEngineSpeed,151,R,FUNC_ENGINESPEED,151,terminate
-303277975,Core_2,0,T,TASK_CalcEngineSpeed,151,terminate
-303277975,TASK_CalcEngineSpeed,151,SCHED,SCHED_Tasks_C2,-1,processterminate
-303277975,Core_2,0,C,Core_2,0,idle
-303277975,TASK_CalcEngineSpeed,151,C,Core_2,0,idle
-303278075,TASK_CalcEngineSpeed,151,STI,IR_SCHED_Tasks_C2,975,trigger
-303278075,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-303278075,Core_2,0,C,Core_2,0,execute_idle
-303278075,TASK_5MS,151,C,Core_2,0,execute_idle
-303278075,Core_2,0,T,TASK_5MS,151,resume
-303278075,TASK_5MS,151,R,FUNC_EXECTIME_1,554,resume
-303303300,TASK_5MS,151,R,FUNC_EXECTIME_1,554,terminate
-303303300,Core_2,0,T,TASK_5MS,151,terminate
-303303300,TASK_5MS,151,SCHED,SCHED_Tasks_C2,-1,processterminate
-303303300,Core_2,0,C,Core_2,0,idle
-303303300,TASK_5MS,151,C,Core_2,0,idle
-303303400,TASK_5MS,151,STI,IR_SCHED_Tasks_C2,976,trigger
-303303400,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-303303400,Core_2,0,T,TASK_50MS,6,start
-303303400,TASK_50MS,6,R,FUNC_EXECTIME_2,6,start
-303303400,Core_2,0,C,Core_2,0,execute
-303303400,TASK_50MS,6,C,Core_2,0,execute
-303559600,TASK_1MS,303,R,FUNC_EXECTIME_1,556,terminate
-303559600,Core_1,0,T,TASK_1MS,303,terminate
-303559600,TASK_1MS,303,SCHED,SCHED_Tasks_C1,-1,processterminate
-303559600,Core_1,0,C,Core_1,0,idle
-303559600,TASK_1MS,303,C,Core_1,0,idle
-303559700,TASK_1MS,303,STI,IR_SCHED_Tasks_C1,1026,trigger
-303559700,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-303559700,Core_1,0,C,Core_1,0,execute_idle
-303559700,TASK_100MS,3,C,Core_1,0,execute_idle
-303559700,Core_1,0,T,TASK_100MS,3,resume
-303559700,TASK_100MS,3,R,FUNC_EXECTIME_1,551,resume
-303789850,TASK_100MS,3,R,FUNC_EXECTIME_1,551,terminate
-303789850,Core_1,0,T,TASK_100MS,3,terminate
-303789850,TASK_100MS,3,SCHED,SCHED_Tasks_C1,-1,processterminate
-303789850,Core_1,0,C,Core_1,0,idle
-303789850,TASK_100MS,3,C,Core_1,0,idle
-303789950,TASK_100MS,3,STI,IR_SCHED_Tasks_C1,1027,trigger
-303789950,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-303831950,TASK_50MS,6,R,FUNC_EXECTIME_2,6,terminate
-303831950,Core_2,0,T,TASK_50MS,6,terminate
-303831950,TASK_50MS,6,SCHED,SCHED_Tasks_C2,-1,processterminate
-303831950,Core_2,0,C,Core_2,0,idle
-303831950,TASK_50MS,6,C,Core_2,0,idle
-303832050,TASK_50MS,6,STI,IR_SCHED_Tasks_C2,977,trigger
-303832050,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-304000000,SIM,-1,STI,TIMER-B_2ms,152,trigger
-304000000,TIMER-B_2ms,152,T,TASK_WritingActuator,152,activate
-304000000,TASK_WritingActuator,152,SCHED,SCHED_Tasks_C2,-1,processactivate
-304000100,TASK_WritingActuator,152,STI,IR_SCHED_Tasks_C2,978,trigger
-304000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-304000100,Core_2,0,T,TASK_WritingActuator,152,start
-304000100,TASK_WritingActuator,152,R,FUNC_SEMLOCK,304,start
-304000100,Core_2,0,C,Core_2,0,execute
-304000100,TASK_WritingActuator,152,C,Core_2,0,execute
-304100000,SIM,-1,STI,TIMER-5MS,152,trigger
-304100000,TIMER-5MS,152,T,TASK_5MS,152,activate
-304100000,TASK_5MS,152,SCHED,SCHED_Tasks_C2,-1,processactivate
-304100100,TASK_5MS,152,STI,IR_SCHED_Tasks_C2,979,trigger
-304100100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-304125100,TASK_WritingActuator,152,SEM,SEM_DataElement1,0,requestsemaphore,0
-304125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-304125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-304125100,Core_2,0,C,Core_2,0,lock
-304125100,TASK_WritingActuator,152,SEM,SEM_DataElement1,0,assigned,1
-304125150,TASK_WritingActuator,152,R,FUNC_SEMLOCK,304,terminate
-304125150,Core_2,0,C,Core_2,0,unlock
-304125150,TASK_WritingActuator,152,R,FUNC_WriteData,152,start
-304150000,SIM,-1,STI,TIMER-A_2ms,152,trigger
-304150000,TIMER-A_2ms,152,T,TASK_InputProcessing,152,activate
-304150000,TASK_InputProcessing,152,SCHED,SCHED_Tasks_C1,-1,processactivate
-304150100,TASK_InputProcessing,152,STI,IR_SCHED_Tasks_C1,1028,trigger
-304150100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-304150100,Core_1,0,T,TASK_InputProcessing,152,start
-304150100,TASK_InputProcessing,152,R,FUNC_SEMLOCK,305,start
-304150100,Core_1,0,C,Core_1,0,execute
-304150100,TASK_InputProcessing,152,C,Core_1,0,execute
-304151550,TASK_WritingActuator,152,SIG,SIG_Mixture,0,write,0
-304151550,TASK_WritingActuator,152,R,FUNC_WriteData,152,terminate
-304151550,TASK_WritingActuator,152,R,FUNC_SEMUNLOCK,304,start
-304250000,SIM,-1,STI,TIMER-1MS,304,trigger
-304250000,TIMER-1MS,304,T,TASK_1MS,304,activate
-304250000,TASK_1MS,304,SCHED,SCHED_Tasks_C1,-1,processactivate
-304250100,TASK_1MS,304,STI,IR_SCHED_Tasks_C1,1029,trigger
-304250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-304250100,TASK_InputProcessing,152,R,FUNC_SEMLOCK,305,suspend
-304250100,Core_1,0,T,TASK_InputProcessing,152,preempt
-304250100,Core_1,0,C,Core_1,0,idle_execution
-304250100,TASK_InputProcessing,152,C,Core_1,0,idle_execution
-304250100,Core_1,0,T,TASK_1MS,304,start
-304250100,TASK_1MS,304,R,FUNC_EXECTIME_1,558,start
-304250100,Core_1,0,C,Core_1,0,execute
-304250100,TASK_1MS,304,C,Core_1,0,execute
-304351550,TASK_WritingActuator,152,SEM,SEM_DataElement1,0,released,1
-304351550,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-304351550,TASK_WritingActuator,152,SCHED,SCHED_Tasks_C2,-1,schedulepoint
-304351550,Core_2,0,C,Core_2,0,lock
-304351600,TASK_WritingActuator,152,R,FUNC_SEMUNLOCK,304,terminate
-304351600,Core_2,0,T,TASK_WritingActuator,152,terminate
-304351600,TASK_WritingActuator,152,SCHED,SCHED_Tasks_C2,-1,processterminate
-304351600,Core_2,0,C,Core_2,0,unlock
-304351600,Core_2,0,C,Core_2,0,idle
-304351600,TASK_WritingActuator,152,C,Core_2,0,idle
-304351650,TASK_WritingActuator,152,STI,IR_SCHED_Tasks_C2,980,trigger
-304351650,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-304351650,Core_2,0,T,TASK_5MS,152,start
-304351650,TASK_5MS,152,R,FUNC_EXECTIME_1,557,start
-304351650,Core_2,0,C,Core_2,0,execute
-304351650,TASK_5MS,152,C,Core_2,0,execute
-304764875,TASK_5MS,152,R,FUNC_EXECTIME_1,557,terminate
-304764875,Core_2,0,T,TASK_5MS,152,terminate
-304764875,TASK_5MS,152,SCHED,SCHED_Tasks_C2,-1,processterminate
-304764875,Core_2,0,C,Core_2,0,idle
-304764875,TASK_5MS,152,C,Core_2,0,idle
-304764975,TASK_5MS,152,STI,IR_SCHED_Tasks_C2,981,trigger
-304764975,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-305000000,SIM,-1,STI,TIMER-10MS,30,trigger
-305000000,TIMER-10MS,30,T,TASK_10MS,30,activate
-305000000,TASK_10MS,30,SCHED,SCHED_Tasks_C2,-1,processactivate
-305000100,TASK_10MS,30,STI,IR_SCHED_Tasks_C2,982,trigger
-305000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-305000100,Core_2,0,T,TASK_10MS,30,start
-305000100,TASK_10MS,30,R,FUNC_EXECTIME_1,559,start
-305000100,Core_2,0,C,Core_2,0,execute
-305000100,TASK_10MS,30,C,Core_2,0,execute
-305026425,TASK_1MS,304,R,FUNC_EXECTIME_1,558,terminate
-305026425,Core_1,0,T,TASK_1MS,304,terminate
-305026425,TASK_1MS,304,SCHED,SCHED_Tasks_C1,-1,processterminate
-305026425,Core_1,0,C,Core_1,0,idle
-305026425,TASK_1MS,304,C,Core_1,0,idle
-305026525,TASK_1MS,304,STI,IR_SCHED_Tasks_C1,1030,trigger
-305026525,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-305026525,Core_1,0,C,Core_1,0,execute_idle
-305026525,TASK_InputProcessing,152,C,Core_1,0,execute_idle
-305026525,Core_1,0,T,TASK_InputProcessing,152,resume
-305026525,TASK_InputProcessing,152,R,FUNC_SEMLOCK,305,resume
-305051525,TASK_InputProcessing,152,SEM,SEM_DataElement1,0,requestsemaphore,0
-305051525,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-305051525,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-305051525,Core_1,0,C,Core_1,0,lock
-305051525,TASK_InputProcessing,152,SEM,SEM_DataElement1,0,assigned,1
-305051575,TASK_InputProcessing,152,R,FUNC_SEMLOCK,305,terminate
-305051575,Core_1,0,C,Core_1,0,unlock
-305051575,TASK_InputProcessing,152,R,FUNC_ReadSensorData,152,start
-305216400,TASK_InputProcessing,152,SIG,SIG_RotationSpeed,0,read,0
-305216400,TASK_InputProcessing,152,SIG,SIG_Lambda,0,read,0
-305216400,TASK_InputProcessing,152,SIG,SIG_Temperature,0,read,0
-305216400,TASK_InputProcessing,152,R,FUNC_ReadSensorData,152,terminate
-305216400,TASK_InputProcessing,152,R,FUNC_SEMUNLOCK,305,start
-305250000,SIM,-1,STI,TIMER-1MS,305,trigger
-305250000,TIMER-1MS,305,T,TASK_1MS,305,activate
-305250000,TASK_1MS,305,SCHED,SCHED_Tasks_C1,-1,processactivate
-305250100,TASK_1MS,305,STI,IR_SCHED_Tasks_C1,1031,trigger
-305250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-305289400,TASK_10MS,30,R,FUNC_EXECTIME_1,559,terminate
-305289400,Core_2,0,T,TASK_10MS,30,terminate
-305289400,TASK_10MS,30,SCHED,SCHED_Tasks_C2,-1,processterminate
-305289400,Core_2,0,C,Core_2,0,idle
-305289400,TASK_10MS,30,C,Core_2,0,idle
-305289500,TASK_10MS,30,STI,IR_SCHED_Tasks_C2,983,trigger
-305289500,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-305416400,TASK_InputProcessing,152,SEM,SEM_DataElement1,0,released,1
-305416400,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-305416400,TASK_InputProcessing,152,SCHED,SCHED_Tasks_C1,-1,schedulepoint
-305416400,Core_1,0,C,Core_1,0,lock
-305416450,TASK_InputProcessing,152,R,FUNC_SEMUNLOCK,305,terminate
-305416450,Core_1,0,C,Core_1,0,unlock
-305416450,TASK_InputProcessing,152,STI,IPA_InputReady,152,trigger
-305416450,IPA_InputReady,152,T,TASK_CalcEngineSpeed,152,activate
-305416450,TASK_CalcEngineSpeed,152,SCHED,SCHED_Tasks_C2,-1,processactivate
-305416450,Core_1,0,T,TASK_InputProcessing,152,terminate
-305416450,TASK_InputProcessing,152,SCHED,SCHED_Tasks_C1,-1,processterminate
-305416450,Core_1,0,C,Core_1,0,idle
-305416450,TASK_InputProcessing,152,C,Core_1,0,idle
-305416500,TASK_InputProcessing,152,STI,IR_SCHED_Tasks_C1,1032,trigger
-305416500,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-305416500,Core_1,0,T,TASK_1MS,305,start
-305416500,TASK_1MS,305,R,FUNC_EXECTIME_1,560,start
-305416500,Core_1,0,C,Core_1,0,execute
-305416500,TASK_1MS,305,C,Core_1,0,execute
-305416550,TASK_CalcEngineSpeed,152,STI,IR_SCHED_Tasks_C2,984,trigger
-305416550,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-305416550,Core_2,0,T,TASK_CalcEngineSpeed,152,start
-305416550,TASK_CalcEngineSpeed,152,R,FUNC_ENGINESPEED,152,start
-305416550,Core_2,0,C,Core_2,0,execute
-305416550,TASK_CalcEngineSpeed,152,C,Core_2,0,execute
-305585575,TASK_CalcEngineSpeed,152,R,FUNC_ENGINESPEED,152,terminate
-305585575,Core_2,0,T,TASK_CalcEngineSpeed,152,terminate
-305585575,TASK_CalcEngineSpeed,152,SCHED,SCHED_Tasks_C2,-1,processterminate
-305585575,Core_2,0,C,Core_2,0,idle
-305585575,TASK_CalcEngineSpeed,152,C,Core_2,0,idle
-305585675,TASK_CalcEngineSpeed,152,STI,IR_SCHED_Tasks_C2,985,trigger
-305585675,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-305903025,TASK_1MS,305,R,FUNC_EXECTIME_1,560,terminate
-305903025,Core_1,0,T,TASK_1MS,305,terminate
-305903025,TASK_1MS,305,SCHED,SCHED_Tasks_C1,-1,processterminate
-305903025,Core_1,0,C,Core_1,0,idle
-305903025,TASK_1MS,305,C,Core_1,0,idle
-305903125,TASK_1MS,305,STI,IR_SCHED_Tasks_C1,1033,trigger
-305903125,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-306000000,SIM,-1,STI,TIMER-B_2ms,153,trigger
-306000000,TIMER-B_2ms,153,T,TASK_WritingActuator,153,activate
-306000000,TASK_WritingActuator,153,SCHED,SCHED_Tasks_C2,-1,processactivate
-306000100,TASK_WritingActuator,153,STI,IR_SCHED_Tasks_C2,986,trigger
-306000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-306000100,Core_2,0,T,TASK_WritingActuator,153,start
-306000100,TASK_WritingActuator,153,R,FUNC_SEMLOCK,306,start
-306000100,Core_2,0,C,Core_2,0,execute
-306000100,TASK_WritingActuator,153,C,Core_2,0,execute
-306100000,SIM,-1,STI,TIMER-5MS,153,trigger
-306100000,TIMER-5MS,153,T,TASK_5MS,153,activate
-306100000,TASK_5MS,153,SCHED,SCHED_Tasks_C2,-1,processactivate
-306100100,TASK_5MS,153,STI,IR_SCHED_Tasks_C2,987,trigger
-306100100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-306125100,TASK_WritingActuator,153,SEM,SEM_DataElement1,0,requestsemaphore,0
-306125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-306125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-306125100,Core_2,0,C,Core_2,0,lock
-306125100,TASK_WritingActuator,153,SEM,SEM_DataElement1,0,assigned,1
-306125150,TASK_WritingActuator,153,R,FUNC_SEMLOCK,306,terminate
-306125150,Core_2,0,C,Core_2,0,unlock
-306125150,TASK_WritingActuator,153,R,FUNC_WriteData,153,start
-306150000,SIM,-1,STI,TIMER-A_2ms,153,trigger
-306150000,TIMER-A_2ms,153,T,TASK_InputProcessing,153,activate
-306150000,TASK_InputProcessing,153,SCHED,SCHED_Tasks_C1,-1,processactivate
-306150100,TASK_InputProcessing,153,STI,IR_SCHED_Tasks_C1,1034,trigger
-306150100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-306150100,Core_1,0,T,TASK_InputProcessing,153,start
-306150100,TASK_InputProcessing,153,R,FUNC_SEMLOCK,307,start
-306150100,Core_1,0,C,Core_1,0,execute
-306150100,TASK_InputProcessing,153,C,Core_1,0,execute
-306151975,TASK_WritingActuator,153,SIG,SIG_Mixture,0,write,0
-306151975,TASK_WritingActuator,153,R,FUNC_WriteData,153,terminate
-306151975,TASK_WritingActuator,153,R,FUNC_SEMUNLOCK,306,start
-306250000,SIM,-1,STI,TIMER-1MS,306,trigger
-306250000,TIMER-1MS,306,T,TASK_1MS,306,activate
-306250000,TASK_1MS,306,SCHED,SCHED_Tasks_C1,-1,processactivate
-306250100,TASK_1MS,306,STI,IR_SCHED_Tasks_C1,1035,trigger
-306250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-306250100,TASK_InputProcessing,153,R,FUNC_SEMLOCK,307,suspend
-306250100,Core_1,0,T,TASK_InputProcessing,153,preempt
-306250100,Core_1,0,C,Core_1,0,idle_execution
-306250100,TASK_InputProcessing,153,C,Core_1,0,idle_execution
-306250100,Core_1,0,T,TASK_1MS,306,start
-306250100,TASK_1MS,306,R,FUNC_EXECTIME_1,562,start
-306250100,Core_1,0,C,Core_1,0,execute
-306250100,TASK_1MS,306,C,Core_1,0,execute
-306351975,TASK_WritingActuator,153,SEM,SEM_DataElement1,0,released,1
-306351975,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-306351975,TASK_WritingActuator,153,SCHED,SCHED_Tasks_C2,-1,schedulepoint
-306351975,Core_2,0,C,Core_2,0,lock
-306352025,TASK_WritingActuator,153,R,FUNC_SEMUNLOCK,306,terminate
-306352025,Core_2,0,T,TASK_WritingActuator,153,terminate
-306352025,TASK_WritingActuator,153,SCHED,SCHED_Tasks_C2,-1,processterminate
-306352025,Core_2,0,C,Core_2,0,unlock
-306352025,Core_2,0,C,Core_2,0,idle
-306352025,TASK_WritingActuator,153,C,Core_2,0,idle
-306352075,TASK_WritingActuator,153,STI,IR_SCHED_Tasks_C2,988,trigger
-306352075,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-306352075,Core_2,0,T,TASK_5MS,153,start
-306352075,TASK_5MS,153,R,FUNC_EXECTIME_1,561,start
-306352075,Core_2,0,C,Core_2,0,execute
-306352075,TASK_5MS,153,C,Core_2,0,execute
-306629200,TASK_1MS,306,R,FUNC_EXECTIME_1,562,terminate
-306629200,Core_1,0,T,TASK_1MS,306,terminate
-306629200,TASK_1MS,306,SCHED,SCHED_Tasks_C1,-1,processterminate
-306629200,Core_1,0,C,Core_1,0,idle
-306629200,TASK_1MS,306,C,Core_1,0,idle
-306629300,TASK_1MS,306,STI,IR_SCHED_Tasks_C1,1036,trigger
-306629300,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-306629300,Core_1,0,C,Core_1,0,execute_idle
-306629300,TASK_InputProcessing,153,C,Core_1,0,execute_idle
-306629300,Core_1,0,T,TASK_InputProcessing,153,resume
-306629300,TASK_InputProcessing,153,R,FUNC_SEMLOCK,307,resume
-306654300,TASK_InputProcessing,153,SEM,SEM_DataElement1,0,requestsemaphore,0
-306654300,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-306654300,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-306654300,Core_1,0,C,Core_1,0,lock
-306654300,TASK_InputProcessing,153,SEM,SEM_DataElement1,0,assigned,1
-306654350,TASK_InputProcessing,153,R,FUNC_SEMLOCK,307,terminate
-306654350,Core_1,0,C,Core_1,0,unlock
-306654350,TASK_InputProcessing,153,R,FUNC_ReadSensorData,153,start
-306815425,TASK_InputProcessing,153,SIG,SIG_RotationSpeed,0,read,0
-306815425,TASK_InputProcessing,153,SIG,SIG_Lambda,0,read,0
-306815425,TASK_InputProcessing,153,SIG,SIG_Temperature,0,read,0
-306815425,TASK_InputProcessing,153,R,FUNC_ReadSensorData,153,terminate
-306815425,TASK_InputProcessing,153,R,FUNC_SEMUNLOCK,307,start
-306852225,TASK_5MS,153,R,FUNC_EXECTIME_1,561,terminate
-306852225,Core_2,0,T,TASK_5MS,153,terminate
-306852225,TASK_5MS,153,SCHED,SCHED_Tasks_C2,-1,processterminate
-306852225,Core_2,0,C,Core_2,0,idle
-306852225,TASK_5MS,153,C,Core_2,0,idle
-306852325,TASK_5MS,153,STI,IR_SCHED_Tasks_C2,989,trigger
-306852325,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-307015425,TASK_InputProcessing,153,SEM,SEM_DataElement1,0,released,1
-307015425,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-307015425,TASK_InputProcessing,153,SCHED,SCHED_Tasks_C1,-1,schedulepoint
-307015425,Core_1,0,C,Core_1,0,lock
-307015475,TASK_InputProcessing,153,R,FUNC_SEMUNLOCK,307,terminate
-307015475,Core_1,0,C,Core_1,0,unlock
-307015475,TASK_InputProcessing,153,STI,IPA_InputReady,153,trigger
-307015475,IPA_InputReady,153,T,TASK_CalcEngineSpeed,153,activate
-307015475,TASK_CalcEngineSpeed,153,SCHED,SCHED_Tasks_C2,-1,processactivate
-307015475,Core_1,0,T,TASK_InputProcessing,153,terminate
-307015475,TASK_InputProcessing,153,SCHED,SCHED_Tasks_C1,-1,processterminate
-307015475,Core_1,0,C,Core_1,0,idle
-307015475,TASK_InputProcessing,153,C,Core_1,0,idle
-307015525,TASK_InputProcessing,153,STI,IR_SCHED_Tasks_C1,1037,trigger
-307015525,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-307015575,TASK_CalcEngineSpeed,153,STI,IR_SCHED_Tasks_C2,990,trigger
-307015575,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-307015575,Core_2,0,T,TASK_CalcEngineSpeed,153,start
-307015575,TASK_CalcEngineSpeed,153,R,FUNC_ENGINESPEED,153,start
-307015575,Core_2,0,C,Core_2,0,execute
-307015575,TASK_CalcEngineSpeed,153,C,Core_2,0,execute
-307126250,TASK_CalcEngineSpeed,153,R,FUNC_ENGINESPEED,153,terminate
-307126250,Core_2,0,T,TASK_CalcEngineSpeed,153,terminate
-307126250,TASK_CalcEngineSpeed,153,SCHED,SCHED_Tasks_C2,-1,processterminate
-307126250,Core_2,0,C,Core_2,0,idle
-307126250,TASK_CalcEngineSpeed,153,C,Core_2,0,idle
-307126350,TASK_CalcEngineSpeed,153,STI,IR_SCHED_Tasks_C2,991,trigger
-307126350,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-307250000,SIM,-1,STI,TIMER-1MS,307,trigger
-307250000,TIMER-1MS,307,T,TASK_1MS,307,activate
-307250000,TASK_1MS,307,SCHED,SCHED_Tasks_C1,-1,processactivate
-307250100,TASK_1MS,307,STI,IR_SCHED_Tasks_C1,1038,trigger
-307250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-307250100,Core_1,0,T,TASK_1MS,307,start
-307250100,TASK_1MS,307,R,FUNC_EXECTIME_1,563,start
-307250100,Core_1,0,C,Core_1,0,execute
-307250100,TASK_1MS,307,C,Core_1,0,execute
-307895025,TASK_1MS,307,R,FUNC_EXECTIME_1,563,terminate
-307895025,Core_1,0,T,TASK_1MS,307,terminate
-307895025,TASK_1MS,307,SCHED,SCHED_Tasks_C1,-1,processterminate
-307895025,Core_1,0,C,Core_1,0,idle
-307895025,TASK_1MS,307,C,Core_1,0,idle
-307895125,TASK_1MS,307,STI,IR_SCHED_Tasks_C1,1039,trigger
-307895125,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-308000000,SIM,-1,STI,TIMER-B_2ms,154,trigger
-308000000,TIMER-B_2ms,154,T,TASK_WritingActuator,154,activate
-308000000,TASK_WritingActuator,154,SCHED,SCHED_Tasks_C2,-1,processactivate
-308000100,TASK_WritingActuator,154,STI,IR_SCHED_Tasks_C2,992,trigger
-308000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-308000100,Core_2,0,T,TASK_WritingActuator,154,start
-308000100,TASK_WritingActuator,154,R,FUNC_SEMLOCK,308,start
-308000100,Core_2,0,C,Core_2,0,execute
-308000100,TASK_WritingActuator,154,C,Core_2,0,execute
-308100000,SIM,-1,STI,TIMER-5MS,154,trigger
-308100000,TIMER-5MS,154,T,TASK_5MS,154,activate
-308100000,TASK_5MS,154,SCHED,SCHED_Tasks_C2,-1,processactivate
-308100100,TASK_5MS,154,STI,IR_SCHED_Tasks_C2,993,trigger
-308100100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-308125100,TASK_WritingActuator,154,SEM,SEM_DataElement1,0,requestsemaphore,0
-308125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-308125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-308125100,Core_2,0,C,Core_2,0,lock
-308125100,TASK_WritingActuator,154,SEM,SEM_DataElement1,0,assigned,1
-308125150,TASK_WritingActuator,154,R,FUNC_SEMLOCK,308,terminate
-308125150,Core_2,0,C,Core_2,0,unlock
-308125150,TASK_WritingActuator,154,R,FUNC_WriteData,154,start
-308150000,SIM,-1,STI,TIMER-A_2ms,154,trigger
-308150000,TIMER-A_2ms,154,T,TASK_InputProcessing,154,activate
-308150000,TASK_InputProcessing,154,SCHED,SCHED_Tasks_C1,-1,processactivate
-308150100,TASK_InputProcessing,154,STI,IR_SCHED_Tasks_C1,1040,trigger
-308150100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-308150100,Core_1,0,T,TASK_InputProcessing,154,start
-308150100,TASK_InputProcessing,154,R,FUNC_SEMLOCK,309,start
-308150100,Core_1,0,C,Core_1,0,execute
-308150100,TASK_InputProcessing,154,C,Core_1,0,execute
-308152150,TASK_WritingActuator,154,SIG,SIG_Mixture,0,write,0
-308152150,TASK_WritingActuator,154,R,FUNC_WriteData,154,terminate
-308152150,TASK_WritingActuator,154,R,FUNC_SEMUNLOCK,308,start
-308250000,SIM,-1,STI,TIMER-1MS,308,trigger
-308250000,TIMER-1MS,308,T,TASK_1MS,308,activate
-308250000,TASK_1MS,308,SCHED,SCHED_Tasks_C1,-1,processactivate
-308250100,TASK_1MS,308,STI,IR_SCHED_Tasks_C1,1041,trigger
-308250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-308250100,TASK_InputProcessing,154,R,FUNC_SEMLOCK,309,suspend
-308250100,Core_1,0,T,TASK_InputProcessing,154,preempt
-308250100,Core_1,0,C,Core_1,0,idle_execution
-308250100,TASK_InputProcessing,154,C,Core_1,0,idle_execution
-308250100,Core_1,0,T,TASK_1MS,308,start
-308250100,TASK_1MS,308,R,FUNC_EXECTIME_1,565,start
-308250100,Core_1,0,C,Core_1,0,execute
-308250100,TASK_1MS,308,C,Core_1,0,execute
-308352150,TASK_WritingActuator,154,SEM,SEM_DataElement1,0,released,1
-308352150,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-308352150,TASK_WritingActuator,154,SCHED,SCHED_Tasks_C2,-1,schedulepoint
-308352150,Core_2,0,C,Core_2,0,lock
-308352200,TASK_WritingActuator,154,R,FUNC_SEMUNLOCK,308,terminate
-308352200,Core_2,0,T,TASK_WritingActuator,154,terminate
-308352200,TASK_WritingActuator,154,SCHED,SCHED_Tasks_C2,-1,processterminate
-308352200,Core_2,0,C,Core_2,0,unlock
-308352200,Core_2,0,C,Core_2,0,idle
-308352200,TASK_WritingActuator,154,C,Core_2,0,idle
-308352250,TASK_WritingActuator,154,STI,IR_SCHED_Tasks_C2,994,trigger
-308352250,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-308352250,Core_2,0,T,TASK_5MS,154,start
-308352250,TASK_5MS,154,R,FUNC_EXECTIME_1,564,start
-308352250,Core_2,0,C,Core_2,0,execute
-308352250,TASK_5MS,154,C,Core_2,0,execute
-308663500,TASK_1MS,308,R,FUNC_EXECTIME_1,565,terminate
-308663500,Core_1,0,T,TASK_1MS,308,terminate
-308663500,TASK_1MS,308,SCHED,SCHED_Tasks_C1,-1,processterminate
-308663500,Core_1,0,C,Core_1,0,idle
-308663500,TASK_1MS,308,C,Core_1,0,idle
-308663600,TASK_1MS,308,STI,IR_SCHED_Tasks_C1,1042,trigger
-308663600,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-308663600,Core_1,0,C,Core_1,0,execute_idle
-308663600,TASK_InputProcessing,154,C,Core_1,0,execute_idle
-308663600,Core_1,0,T,TASK_InputProcessing,154,resume
-308663600,TASK_InputProcessing,154,R,FUNC_SEMLOCK,309,resume
-308688600,TASK_InputProcessing,154,SEM,SEM_DataElement1,0,requestsemaphore,0
-308688600,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-308688600,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-308688600,Core_1,0,C,Core_1,0,lock
-308688600,TASK_InputProcessing,154,SEM,SEM_DataElement1,0,assigned,1
-308688650,TASK_InputProcessing,154,R,FUNC_SEMLOCK,309,terminate
-308688650,Core_1,0,C,Core_1,0,unlock
-308688650,TASK_InputProcessing,154,R,FUNC_ReadSensorData,154,start
-308851150,TASK_InputProcessing,154,SIG,SIG_RotationSpeed,0,read,0
-308851150,TASK_InputProcessing,154,SIG,SIG_Lambda,0,read,0
-308851150,TASK_InputProcessing,154,SIG,SIG_Temperature,0,read,0
-308851150,TASK_InputProcessing,154,R,FUNC_ReadSensorData,154,terminate
-308851150,TASK_InputProcessing,154,R,FUNC_SEMUNLOCK,309,start
-308921125,TASK_5MS,154,R,FUNC_EXECTIME_1,564,terminate
-308921125,Core_2,0,T,TASK_5MS,154,terminate
-308921125,TASK_5MS,154,SCHED,SCHED_Tasks_C2,-1,processterminate
-308921125,Core_2,0,C,Core_2,0,idle
-308921125,TASK_5MS,154,C,Core_2,0,idle
-308921225,TASK_5MS,154,STI,IR_SCHED_Tasks_C2,995,trigger
-308921225,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-309051150,TASK_InputProcessing,154,SEM,SEM_DataElement1,0,released,1
-309051150,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-309051150,TASK_InputProcessing,154,SCHED,SCHED_Tasks_C1,-1,schedulepoint
-309051150,Core_1,0,C,Core_1,0,lock
-309051200,TASK_InputProcessing,154,R,FUNC_SEMUNLOCK,309,terminate
-309051200,Core_1,0,C,Core_1,0,unlock
-309051200,TASK_InputProcessing,154,STI,IPA_InputReady,154,trigger
-309051200,IPA_InputReady,154,T,TASK_CalcEngineSpeed,154,activate
-309051200,TASK_CalcEngineSpeed,154,SCHED,SCHED_Tasks_C2,-1,processactivate
-309051200,Core_1,0,T,TASK_InputProcessing,154,terminate
-309051200,TASK_InputProcessing,154,SCHED,SCHED_Tasks_C1,-1,processterminate
-309051200,Core_1,0,C,Core_1,0,idle
-309051200,TASK_InputProcessing,154,C,Core_1,0,idle
-309051250,TASK_InputProcessing,154,STI,IR_SCHED_Tasks_C1,1043,trigger
-309051250,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-309051300,TASK_CalcEngineSpeed,154,STI,IR_SCHED_Tasks_C2,996,trigger
-309051300,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-309051300,Core_2,0,T,TASK_CalcEngineSpeed,154,start
-309051300,TASK_CalcEngineSpeed,154,R,FUNC_ENGINESPEED,154,start
-309051300,Core_2,0,C,Core_2,0,execute
-309051300,TASK_CalcEngineSpeed,154,C,Core_2,0,execute
-309250000,SIM,-1,STI,TIMER-1MS,309,trigger
-309250000,TIMER-1MS,309,T,TASK_1MS,309,activate
-309250000,TASK_1MS,309,SCHED,SCHED_Tasks_C1,-1,processactivate
-309250100,TASK_1MS,309,STI,IR_SCHED_Tasks_C1,1044,trigger
-309250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-309250100,Core_1,0,T,TASK_1MS,309,start
-309250100,TASK_1MS,309,R,FUNC_EXECTIME_1,566,start
-309250100,Core_1,0,C,Core_1,0,execute
-309250100,TASK_1MS,309,C,Core_1,0,execute
-309297375,TASK_CalcEngineSpeed,154,R,FUNC_ENGINESPEED,154,terminate
-309297375,Core_2,0,T,TASK_CalcEngineSpeed,154,terminate
-309297375,TASK_CalcEngineSpeed,154,SCHED,SCHED_Tasks_C2,-1,processterminate
-309297375,Core_2,0,C,Core_2,0,idle
-309297375,TASK_CalcEngineSpeed,154,C,Core_2,0,idle
-309297475,TASK_CalcEngineSpeed,154,STI,IR_SCHED_Tasks_C2,997,trigger
-309297475,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-309886150,TASK_1MS,309,R,FUNC_EXECTIME_1,566,terminate
-309886150,Core_1,0,T,TASK_1MS,309,terminate
-309886150,TASK_1MS,309,SCHED,SCHED_Tasks_C1,-1,processterminate
-309886150,Core_1,0,C,Core_1,0,idle
-309886150,TASK_1MS,309,C,Core_1,0,idle
-309886250,TASK_1MS,309,STI,IR_SCHED_Tasks_C1,1045,trigger
-309886250,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-310000000,SIM,-1,STI,TIMER-B_2ms,155,trigger
-310000000,TIMER-B_2ms,155,T,TASK_WritingActuator,155,activate
-310000000,TASK_WritingActuator,155,SCHED,SCHED_Tasks_C2,-1,processactivate
-310000000,SIM,-1,STI,TIMER-10MS_2,31,trigger
-310000000,TIMER-10MS_2,31,T,TASK_10MS_DL2,31,activate
-310000000,TASK_10MS_DL2,31,SCHED,SCHED_Tasks_C1,-1,processactivate
-310000100,TASK_WritingActuator,155,STI,IR_SCHED_Tasks_C2,998,trigger
-310000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-310000100,Core_2,0,T,TASK_WritingActuator,155,start
-310000100,TASK_WritingActuator,155,R,FUNC_SEMLOCK,310,start
-310000100,Core_2,0,C,Core_2,0,execute
-310000100,TASK_WritingActuator,155,C,Core_2,0,execute
-310000100,TASK_10MS_DL2,31,STI,IR_SCHED_Tasks_C1,1046,trigger
-310000100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-310000100,Core_1,0,T,TASK_10MS_DL2,31,start
-310000100,TASK_10MS_DL2,31,R,FUNC_EXECTIME_1,567,start
-310000100,Core_1,0,C,Core_1,0,execute
-310000100,TASK_10MS_DL2,31,C,Core_1,0,execute
-310100000,SIM,-1,STI,TIMER-5MS,155,trigger
-310100000,TIMER-5MS,155,T,TASK_5MS,155,activate
-310100000,TASK_5MS,155,SCHED,SCHED_Tasks_C2,-1,processactivate
-310100100,TASK_5MS,155,STI,IR_SCHED_Tasks_C2,999,trigger
-310100100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-310125100,TASK_WritingActuator,155,SEM,SEM_DataElement1,0,requestsemaphore,0
-310125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-310125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-310125100,Core_2,0,C,Core_2,0,lock
-310125100,TASK_WritingActuator,155,SEM,SEM_DataElement1,0,assigned,1
-310125150,TASK_WritingActuator,155,R,FUNC_SEMLOCK,310,terminate
-310125150,Core_2,0,C,Core_2,0,unlock
-310125150,TASK_WritingActuator,155,R,FUNC_WriteData,155,start
-310150000,SIM,-1,STI,TIMER-A_2ms,155,trigger
-310150000,TIMER-A_2ms,155,T,TASK_InputProcessing,155,activate
-310150000,TASK_InputProcessing,155,SCHED,SCHED_Tasks_C1,-1,processactivate
-310150100,TASK_InputProcessing,155,STI,IR_SCHED_Tasks_C1,1047,trigger
-310150100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-310152125,TASK_WritingActuator,155,SIG,SIG_Mixture,0,write,0
-310152125,TASK_WritingActuator,155,R,FUNC_WriteData,155,terminate
-310152125,TASK_WritingActuator,155,R,FUNC_SEMUNLOCK,310,start
-310250000,SIM,-1,STI,TIMER-1MS,310,trigger
-310250000,TIMER-1MS,310,T,TASK_1MS,310,activate
-310250000,TASK_1MS,310,SCHED,SCHED_Tasks_C1,-1,processactivate
-310250100,TASK_1MS,310,STI,IR_SCHED_Tasks_C1,1048,trigger
-310250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-310250100,TASK_10MS_DL2,31,R,FUNC_EXECTIME_1,567,suspend
-310250100,Core_1,0,T,TASK_10MS_DL2,31,preempt
-310250100,Core_1,0,C,Core_1,0,idle_execution
-310250100,TASK_10MS_DL2,31,C,Core_1,0,idle_execution
-310250100,Core_1,0,T,TASK_1MS,310,start
-310250100,TASK_1MS,310,R,FUNC_EXECTIME_1,569,start
-310250100,Core_1,0,C,Core_1,0,execute
-310250100,TASK_1MS,310,C,Core_1,0,execute
-310352125,TASK_WritingActuator,155,SEM,SEM_DataElement1,0,released,1
-310352125,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-310352125,TASK_WritingActuator,155,SCHED,SCHED_Tasks_C2,-1,schedulepoint
-310352125,Core_2,0,C,Core_2,0,lock
-310352175,TASK_WritingActuator,155,R,FUNC_SEMUNLOCK,310,terminate
-310352175,Core_2,0,T,TASK_WritingActuator,155,terminate
-310352175,TASK_WritingActuator,155,SCHED,SCHED_Tasks_C2,-1,processterminate
-310352175,Core_2,0,C,Core_2,0,unlock
-310352175,Core_2,0,C,Core_2,0,idle
-310352175,TASK_WritingActuator,155,C,Core_2,0,idle
-310352225,TASK_WritingActuator,155,STI,IR_SCHED_Tasks_C2,1000,trigger
-310352225,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-310352225,Core_2,0,T,TASK_5MS,155,start
-310352225,TASK_5MS,155,R,FUNC_EXECTIME_1,568,start
-310352225,Core_2,0,C,Core_2,0,execute
-310352225,TASK_5MS,155,C,Core_2,0,execute
-310634050,TASK_1MS,310,R,FUNC_EXECTIME_1,569,terminate
-310634050,Core_1,0,T,TASK_1MS,310,terminate
-310634050,TASK_1MS,310,SCHED,SCHED_Tasks_C1,-1,processterminate
-310634050,Core_1,0,C,Core_1,0,idle
-310634050,TASK_1MS,310,C,Core_1,0,idle
-310634150,TASK_1MS,310,STI,IR_SCHED_Tasks_C1,1049,trigger
-310634150,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-310634150,Core_1,0,C,Core_1,0,execute_idle
-310634150,TASK_10MS_DL2,31,C,Core_1,0,execute_idle
-310634150,Core_1,0,T,TASK_10MS_DL2,31,resume
-310634150,TASK_10MS_DL2,31,R,FUNC_EXECTIME_1,567,resume
-310683425,TASK_10MS_DL2,31,R,FUNC_EXECTIME_1,567,terminate
-310683425,Core_1,0,T,TASK_10MS_DL2,31,terminate
-310683425,TASK_10MS_DL2,31,SCHED,SCHED_Tasks_C1,-1,processterminate
-310683425,Core_1,0,C,Core_1,0,idle
-310683425,TASK_10MS_DL2,31,C,Core_1,0,idle
-310683525,TASK_10MS_DL2,31,STI,IR_SCHED_Tasks_C1,1050,trigger
-310683525,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-310683525,Core_1,0,T,TASK_InputProcessing,155,start
-310683525,TASK_InputProcessing,155,R,FUNC_SEMLOCK,311,start
-310683525,Core_1,0,C,Core_1,0,execute
-310683525,TASK_InputProcessing,155,C,Core_1,0,execute
-310739900,TASK_5MS,155,R,FUNC_EXECTIME_1,568,terminate
-310739900,Core_2,0,T,TASK_5MS,155,terminate
-310739900,TASK_5MS,155,SCHED,SCHED_Tasks_C2,-1,processterminate
-310739900,Core_2,0,C,Core_2,0,idle
-310739900,TASK_5MS,155,C,Core_2,0,idle
-310740000,TASK_5MS,155,STI,IR_SCHED_Tasks_C2,1001,trigger
-310740000,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-310808525,TASK_InputProcessing,155,SEM,SEM_DataElement1,0,requestsemaphore,0
-310808525,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-310808525,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-310808525,Core_1,0,C,Core_1,0,lock
-310808525,TASK_InputProcessing,155,SEM,SEM_DataElement1,0,assigned,1
-310808575,TASK_InputProcessing,155,R,FUNC_SEMLOCK,311,terminate
-310808575,Core_1,0,C,Core_1,0,unlock
-310808575,TASK_InputProcessing,155,R,FUNC_ReadSensorData,155,start
-310969800,TASK_InputProcessing,155,SIG,SIG_RotationSpeed,0,read,0
-310969800,TASK_InputProcessing,155,SIG,SIG_Lambda,0,read,0
-310969800,TASK_InputProcessing,155,SIG,SIG_Temperature,0,read,0
-310969800,TASK_InputProcessing,155,R,FUNC_ReadSensorData,155,terminate
-310969800,TASK_InputProcessing,155,R,FUNC_SEMUNLOCK,311,start
-311169800,TASK_InputProcessing,155,SEM,SEM_DataElement1,0,released,1
-311169800,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-311169800,TASK_InputProcessing,155,SCHED,SCHED_Tasks_C1,-1,schedulepoint
-311169800,Core_1,0,C,Core_1,0,lock
-311169850,TASK_InputProcessing,155,R,FUNC_SEMUNLOCK,311,terminate
-311169850,Core_1,0,C,Core_1,0,unlock
-311169850,TASK_InputProcessing,155,STI,IPA_InputReady,155,trigger
-311169850,IPA_InputReady,155,T,TASK_CalcEngineSpeed,155,activate
-311169850,TASK_CalcEngineSpeed,155,SCHED,SCHED_Tasks_C2,-1,processactivate
-311169850,Core_1,0,T,TASK_InputProcessing,155,terminate
-311169850,TASK_InputProcessing,155,SCHED,SCHED_Tasks_C1,-1,processterminate
-311169850,Core_1,0,C,Core_1,0,idle
-311169850,TASK_InputProcessing,155,C,Core_1,0,idle
-311169900,TASK_InputProcessing,155,STI,IR_SCHED_Tasks_C1,1051,trigger
-311169900,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-311169950,TASK_CalcEngineSpeed,155,STI,IR_SCHED_Tasks_C2,1002,trigger
-311169950,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-311169950,Core_2,0,T,TASK_CalcEngineSpeed,155,start
-311169950,TASK_CalcEngineSpeed,155,R,FUNC_ENGINESPEED,155,start
-311169950,Core_2,0,C,Core_2,0,execute
-311169950,TASK_CalcEngineSpeed,155,C,Core_2,0,execute
-311250000,SIM,-1,STI,TIMER-1MS,311,trigger
-311250000,TIMER-1MS,311,T,TASK_1MS,311,activate
-311250000,TASK_1MS,311,SCHED,SCHED_Tasks_C1,-1,processactivate
-311250100,TASK_1MS,311,STI,IR_SCHED_Tasks_C1,1052,trigger
-311250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-311250100,Core_1,0,T,TASK_1MS,311,start
-311250100,TASK_1MS,311,R,FUNC_EXECTIME_1,570,start
-311250100,Core_1,0,C,Core_1,0,execute
-311250100,TASK_1MS,311,C,Core_1,0,execute
-311416550,TASK_CalcEngineSpeed,155,R,FUNC_ENGINESPEED,155,terminate
-311416550,Core_2,0,T,TASK_CalcEngineSpeed,155,terminate
-311416550,TASK_CalcEngineSpeed,155,SCHED,SCHED_Tasks_C2,-1,processterminate
-311416550,Core_2,0,C,Core_2,0,idle
-311416550,TASK_CalcEngineSpeed,155,C,Core_2,0,idle
-311416650,TASK_CalcEngineSpeed,155,STI,IR_SCHED_Tasks_C2,1003,trigger
-311416650,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-312000000,SIM,-1,STI,TIMER-B_2ms,156,trigger
-312000000,TIMER-B_2ms,156,T,TASK_WritingActuator,156,activate
-312000000,TASK_WritingActuator,156,SCHED,SCHED_Tasks_C2,-1,processactivate
-312000100,TASK_WritingActuator,156,STI,IR_SCHED_Tasks_C2,1004,trigger
-312000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-312000100,Core_2,0,T,TASK_WritingActuator,156,start
-312000100,TASK_WritingActuator,156,R,FUNC_SEMLOCK,312,start
-312000100,Core_2,0,C,Core_2,0,execute
-312000100,TASK_WritingActuator,156,C,Core_2,0,execute
-312100000,SIM,-1,STI,TIMER-5MS,156,trigger
-312100000,TIMER-5MS,156,T,TASK_5MS,156,activate
-312100000,TASK_5MS,156,SCHED,SCHED_Tasks_C2,-1,processactivate
-312100100,TASK_5MS,156,STI,IR_SCHED_Tasks_C2,1005,trigger
-312100100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-312125100,TASK_WritingActuator,156,SEM,SEM_DataElement1,0,requestsemaphore,0
-312125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-312125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-312125100,Core_2,0,C,Core_2,0,lock
-312125100,TASK_WritingActuator,156,SEM,SEM_DataElement1,0,assigned,1
-312125150,TASK_WritingActuator,156,R,FUNC_SEMLOCK,312,terminate
-312125150,Core_2,0,C,Core_2,0,unlock
-312125150,TASK_WritingActuator,156,R,FUNC_WriteData,156,start
-312143025,TASK_1MS,311,R,FUNC_EXECTIME_1,570,terminate
-312143025,Core_1,0,T,TASK_1MS,311,terminate
-312143025,TASK_1MS,311,SCHED,SCHED_Tasks_C1,-1,processterminate
-312143025,Core_1,0,C,Core_1,0,idle
-312143025,TASK_1MS,311,C,Core_1,0,idle
-312143125,TASK_1MS,311,STI,IR_SCHED_Tasks_C1,1053,trigger
-312143125,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-312150000,SIM,-1,STI,TIMER-A_2ms,156,trigger
-312150000,TIMER-A_2ms,156,T,TASK_InputProcessing,156,activate
-312150000,TASK_InputProcessing,156,SCHED,SCHED_Tasks_C1,-1,processactivate
-312150100,TASK_InputProcessing,156,STI,IR_SCHED_Tasks_C1,1054,trigger
-312150100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-312150100,Core_1,0,T,TASK_InputProcessing,156,start
-312150100,TASK_InputProcessing,156,R,FUNC_SEMLOCK,313,start
-312150100,Core_1,0,C,Core_1,0,execute
-312150100,TASK_InputProcessing,156,C,Core_1,0,execute
-312151950,TASK_WritingActuator,156,SIG,SIG_Mixture,0,write,0
-312151950,TASK_WritingActuator,156,R,FUNC_WriteData,156,terminate
-312151950,TASK_WritingActuator,156,R,FUNC_SEMUNLOCK,312,start
-312250000,SIM,-1,STI,TIMER-1MS,312,trigger
-312250000,TIMER-1MS,312,T,TASK_1MS,312,activate
-312250000,TASK_1MS,312,SCHED,SCHED_Tasks_C1,-1,processactivate
-312250100,TASK_1MS,312,STI,IR_SCHED_Tasks_C1,1055,trigger
-312250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-312250100,TASK_InputProcessing,156,R,FUNC_SEMLOCK,313,suspend
-312250100,Core_1,0,T,TASK_InputProcessing,156,preempt
-312250100,Core_1,0,C,Core_1,0,idle_execution
-312250100,TASK_InputProcessing,156,C,Core_1,0,idle_execution
-312250100,Core_1,0,T,TASK_1MS,312,start
-312250100,TASK_1MS,312,R,FUNC_EXECTIME_1,572,start
-312250100,Core_1,0,C,Core_1,0,execute
-312250100,TASK_1MS,312,C,Core_1,0,execute
-312351950,TASK_WritingActuator,156,SEM,SEM_DataElement1,0,released,1
-312351950,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-312351950,TASK_WritingActuator,156,SCHED,SCHED_Tasks_C2,-1,schedulepoint
-312351950,Core_2,0,C,Core_2,0,lock
-312352000,TASK_WritingActuator,156,R,FUNC_SEMUNLOCK,312,terminate
-312352000,Core_2,0,T,TASK_WritingActuator,156,terminate
-312352000,TASK_WritingActuator,156,SCHED,SCHED_Tasks_C2,-1,processterminate
-312352000,Core_2,0,C,Core_2,0,unlock
-312352000,Core_2,0,C,Core_2,0,idle
-312352000,TASK_WritingActuator,156,C,Core_2,0,idle
-312352050,TASK_WritingActuator,156,STI,IR_SCHED_Tasks_C2,1006,trigger
-312352050,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-312352050,Core_2,0,T,TASK_5MS,156,start
-312352050,TASK_5MS,156,R,FUNC_EXECTIME_1,571,start
-312352050,Core_2,0,C,Core_2,0,execute
-312352050,TASK_5MS,156,C,Core_2,0,execute
-312611575,TASK_1MS,312,R,FUNC_EXECTIME_1,572,terminate
-312611575,Core_1,0,T,TASK_1MS,312,terminate
-312611575,TASK_1MS,312,SCHED,SCHED_Tasks_C1,-1,processterminate
-312611575,Core_1,0,C,Core_1,0,idle
-312611575,TASK_1MS,312,C,Core_1,0,idle
-312611675,TASK_1MS,312,STI,IR_SCHED_Tasks_C1,1056,trigger
-312611675,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-312611675,Core_1,0,C,Core_1,0,execute_idle
-312611675,TASK_InputProcessing,156,C,Core_1,0,execute_idle
-312611675,Core_1,0,T,TASK_InputProcessing,156,resume
-312611675,TASK_InputProcessing,156,R,FUNC_SEMLOCK,313,resume
-312636675,TASK_InputProcessing,156,SEM,SEM_DataElement1,0,requestsemaphore,0
-312636675,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-312636675,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-312636675,Core_1,0,C,Core_1,0,lock
-312636675,TASK_InputProcessing,156,SEM,SEM_DataElement1,0,assigned,1
-312636725,TASK_InputProcessing,156,R,FUNC_SEMLOCK,313,terminate
-312636725,Core_1,0,C,Core_1,0,unlock
-312636725,TASK_InputProcessing,156,R,FUNC_ReadSensorData,156,start
-312723600,TASK_5MS,156,R,FUNC_EXECTIME_1,571,terminate
-312723600,Core_2,0,T,TASK_5MS,156,terminate
-312723600,TASK_5MS,156,SCHED,SCHED_Tasks_C2,-1,processterminate
-312723600,Core_2,0,C,Core_2,0,idle
-312723600,TASK_5MS,156,C,Core_2,0,idle
-312723700,TASK_5MS,156,STI,IR_SCHED_Tasks_C2,1007,trigger
-312723700,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-312798750,TASK_InputProcessing,156,SIG,SIG_RotationSpeed,0,read,0
-312798750,TASK_InputProcessing,156,SIG,SIG_Lambda,0,read,0
-312798750,TASK_InputProcessing,156,SIG,SIG_Temperature,0,read,0
-312798750,TASK_InputProcessing,156,R,FUNC_ReadSensorData,156,terminate
-312798750,TASK_InputProcessing,156,R,FUNC_SEMUNLOCK,313,start
-312998750,TASK_InputProcessing,156,SEM,SEM_DataElement1,0,released,1
-312998750,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-312998750,TASK_InputProcessing,156,SCHED,SCHED_Tasks_C1,-1,schedulepoint
-312998750,Core_1,0,C,Core_1,0,lock
-312998800,TASK_InputProcessing,156,R,FUNC_SEMUNLOCK,313,terminate
-312998800,Core_1,0,C,Core_1,0,unlock
-312998800,TASK_InputProcessing,156,STI,IPA_InputReady,156,trigger
-312998800,IPA_InputReady,156,T,TASK_CalcEngineSpeed,156,activate
-312998800,TASK_CalcEngineSpeed,156,SCHED,SCHED_Tasks_C2,-1,processactivate
-312998800,Core_1,0,T,TASK_InputProcessing,156,terminate
-312998800,TASK_InputProcessing,156,SCHED,SCHED_Tasks_C1,-1,processterminate
-312998800,Core_1,0,C,Core_1,0,idle
-312998800,TASK_InputProcessing,156,C,Core_1,0,idle
-312998850,TASK_InputProcessing,156,STI,IR_SCHED_Tasks_C1,1057,trigger
-312998850,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-312998900,TASK_CalcEngineSpeed,156,STI,IR_SCHED_Tasks_C2,1008,trigger
-312998900,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-312998900,Core_2,0,T,TASK_CalcEngineSpeed,156,start
-312998900,TASK_CalcEngineSpeed,156,R,FUNC_ENGINESPEED,156,start
-312998900,Core_2,0,C,Core_2,0,execute
-312998900,TASK_CalcEngineSpeed,156,C,Core_2,0,execute
-313133475,TASK_CalcEngineSpeed,156,R,FUNC_ENGINESPEED,156,terminate
-313133475,Core_2,0,T,TASK_CalcEngineSpeed,156,terminate
-313133475,TASK_CalcEngineSpeed,156,SCHED,SCHED_Tasks_C2,-1,processterminate
-313133475,Core_2,0,C,Core_2,0,idle
-313133475,TASK_CalcEngineSpeed,156,C,Core_2,0,idle
-313133575,TASK_CalcEngineSpeed,156,STI,IR_SCHED_Tasks_C2,1009,trigger
-313133575,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-313250000,SIM,-1,STI,TIMER-1MS,313,trigger
-313250000,TIMER-1MS,313,T,TASK_1MS,313,activate
-313250000,TASK_1MS,313,SCHED,SCHED_Tasks_C1,-1,processactivate
-313250100,TASK_1MS,313,STI,IR_SCHED_Tasks_C1,1058,trigger
-313250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-313250100,Core_1,0,T,TASK_1MS,313,start
-313250100,TASK_1MS,313,R,FUNC_EXECTIME_1,573,start
-313250100,Core_1,0,C,Core_1,0,execute
-313250100,TASK_1MS,313,C,Core_1,0,execute
-313796125,TASK_1MS,313,R,FUNC_EXECTIME_1,573,terminate
-313796125,Core_1,0,T,TASK_1MS,313,terminate
-313796125,TASK_1MS,313,SCHED,SCHED_Tasks_C1,-1,processterminate
-313796125,Core_1,0,C,Core_1,0,idle
-313796125,TASK_1MS,313,C,Core_1,0,idle
-313796225,TASK_1MS,313,STI,IR_SCHED_Tasks_C1,1059,trigger
-313796225,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-314000000,SIM,-1,STI,TIMER-B_2ms,157,trigger
-314000000,TIMER-B_2ms,157,T,TASK_WritingActuator,157,activate
-314000000,TASK_WritingActuator,157,SCHED,SCHED_Tasks_C2,-1,processactivate
-314000100,TASK_WritingActuator,157,STI,IR_SCHED_Tasks_C2,1010,trigger
-314000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-314000100,Core_2,0,T,TASK_WritingActuator,157,start
-314000100,TASK_WritingActuator,157,R,FUNC_SEMLOCK,314,start
-314000100,Core_2,0,C,Core_2,0,execute
-314000100,TASK_WritingActuator,157,C,Core_2,0,execute
-314100000,SIM,-1,STI,TIMER-5MS,157,trigger
-314100000,TIMER-5MS,157,T,TASK_5MS,157,activate
-314100000,TASK_5MS,157,SCHED,SCHED_Tasks_C2,-1,processactivate
-314100100,TASK_5MS,157,STI,IR_SCHED_Tasks_C2,1011,trigger
-314100100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-314125100,TASK_WritingActuator,157,SEM,SEM_DataElement1,0,requestsemaphore,0
-314125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-314125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-314125100,Core_2,0,C,Core_2,0,lock
-314125100,TASK_WritingActuator,157,SEM,SEM_DataElement1,0,assigned,1
-314125150,TASK_WritingActuator,157,R,FUNC_SEMLOCK,314,terminate
-314125150,Core_2,0,C,Core_2,0,unlock
-314125150,TASK_WritingActuator,157,R,FUNC_WriteData,157,start
-314150000,SIM,-1,STI,TIMER-A_2ms,157,trigger
-314150000,TIMER-A_2ms,157,T,TASK_InputProcessing,157,activate
-314150000,TASK_InputProcessing,157,SCHED,SCHED_Tasks_C1,-1,processactivate
-314150100,TASK_InputProcessing,157,STI,IR_SCHED_Tasks_C1,1060,trigger
-314150100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-314150100,Core_1,0,T,TASK_InputProcessing,157,start
-314150100,TASK_InputProcessing,157,R,FUNC_SEMLOCK,315,start
-314150100,Core_1,0,C,Core_1,0,execute
-314150100,TASK_InputProcessing,157,C,Core_1,0,execute
-314152100,TASK_WritingActuator,157,SIG,SIG_Mixture,0,write,0
-314152100,TASK_WritingActuator,157,R,FUNC_WriteData,157,terminate
-314152100,TASK_WritingActuator,157,R,FUNC_SEMUNLOCK,314,start
-314250000,SIM,-1,STI,TIMER-1MS,314,trigger
-314250000,TIMER-1MS,314,T,TASK_1MS,314,activate
-314250000,TASK_1MS,314,SCHED,SCHED_Tasks_C1,-1,processactivate
-314250100,TASK_1MS,314,STI,IR_SCHED_Tasks_C1,1061,trigger
-314250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-314250100,TASK_InputProcessing,157,R,FUNC_SEMLOCK,315,suspend
-314250100,Core_1,0,T,TASK_InputProcessing,157,preempt
-314250100,Core_1,0,C,Core_1,0,idle_execution
-314250100,TASK_InputProcessing,157,C,Core_1,0,idle_execution
-314250100,Core_1,0,T,TASK_1MS,314,start
-314250100,TASK_1MS,314,R,FUNC_EXECTIME_1,575,start
-314250100,Core_1,0,C,Core_1,0,execute
-314250100,TASK_1MS,314,C,Core_1,0,execute
-314352100,TASK_WritingActuator,157,SEM,SEM_DataElement1,0,released,1
-314352100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-314352100,TASK_WritingActuator,157,SCHED,SCHED_Tasks_C2,-1,schedulepoint
-314352100,Core_2,0,C,Core_2,0,lock
-314352150,TASK_WritingActuator,157,R,FUNC_SEMUNLOCK,314,terminate
-314352150,Core_2,0,T,TASK_WritingActuator,157,terminate
-314352150,TASK_WritingActuator,157,SCHED,SCHED_Tasks_C2,-1,processterminate
-314352150,Core_2,0,C,Core_2,0,unlock
-314352150,Core_2,0,C,Core_2,0,idle
-314352150,TASK_WritingActuator,157,C,Core_2,0,idle
-314352200,TASK_WritingActuator,157,STI,IR_SCHED_Tasks_C2,1012,trigger
-314352200,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-314352200,Core_2,0,T,TASK_5MS,157,start
-314352200,TASK_5MS,157,R,FUNC_EXECTIME_1,574,start
-314352200,Core_2,0,C,Core_2,0,execute
-314352200,TASK_5MS,157,C,Core_2,0,execute
-314748525,TASK_5MS,157,R,FUNC_EXECTIME_1,574,terminate
-314748525,Core_2,0,T,TASK_5MS,157,terminate
-314748525,TASK_5MS,157,SCHED,SCHED_Tasks_C2,-1,processterminate
-314748525,Core_2,0,C,Core_2,0,idle
-314748525,TASK_5MS,157,C,Core_2,0,idle
-314748625,TASK_5MS,157,STI,IR_SCHED_Tasks_C2,1013,trigger
-314748625,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-314759100,TASK_1MS,314,R,FUNC_EXECTIME_1,575,terminate
-314759100,Core_1,0,T,TASK_1MS,314,terminate
-314759100,TASK_1MS,314,SCHED,SCHED_Tasks_C1,-1,processterminate
-314759100,Core_1,0,C,Core_1,0,idle
-314759100,TASK_1MS,314,C,Core_1,0,idle
-314759200,TASK_1MS,314,STI,IR_SCHED_Tasks_C1,1062,trigger
-314759200,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-314759200,Core_1,0,C,Core_1,0,execute_idle
-314759200,TASK_InputProcessing,157,C,Core_1,0,execute_idle
-314759200,Core_1,0,T,TASK_InputProcessing,157,resume
-314759200,TASK_InputProcessing,157,R,FUNC_SEMLOCK,315,resume
-314784200,TASK_InputProcessing,157,SEM,SEM_DataElement1,0,requestsemaphore,0
-314784200,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-314784200,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-314784200,Core_1,0,C,Core_1,0,lock
-314784200,TASK_InputProcessing,157,SEM,SEM_DataElement1,0,assigned,1
-314784250,TASK_InputProcessing,157,R,FUNC_SEMLOCK,315,terminate
-314784250,Core_1,0,C,Core_1,0,unlock
-314784250,TASK_InputProcessing,157,R,FUNC_ReadSensorData,157,start
-314942475,TASK_InputProcessing,157,SIG,SIG_RotationSpeed,0,read,0
-314942475,TASK_InputProcessing,157,SIG,SIG_Lambda,0,read,0
-314942475,TASK_InputProcessing,157,SIG,SIG_Temperature,0,read,0
-314942475,TASK_InputProcessing,157,R,FUNC_ReadSensorData,157,terminate
-314942475,TASK_InputProcessing,157,R,FUNC_SEMUNLOCK,315,start
-315000000,SIM,-1,STI,TIMER-10MS,31,trigger
-315000000,TIMER-10MS,31,T,TASK_10MS,31,activate
-315000000,TASK_10MS,31,SCHED,SCHED_Tasks_C2,-1,processactivate
-315000100,TASK_10MS,31,STI,IR_SCHED_Tasks_C2,1014,trigger
-315000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-315000100,Core_2,0,T,TASK_10MS,31,start
-315000100,TASK_10MS,31,R,FUNC_EXECTIME_1,576,start
-315000100,Core_2,0,C,Core_2,0,execute
-315000100,TASK_10MS,31,C,Core_2,0,execute
-315142475,TASK_InputProcessing,157,SEM,SEM_DataElement1,0,released,1
-315142475,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-315142475,TASK_InputProcessing,157,SCHED,SCHED_Tasks_C1,-1,schedulepoint
-315142475,Core_1,0,C,Core_1,0,lock
-315142525,TASK_InputProcessing,157,R,FUNC_SEMUNLOCK,315,terminate
-315142525,Core_1,0,C,Core_1,0,unlock
-315142525,TASK_InputProcessing,157,STI,IPA_InputReady,157,trigger
-315142525,IPA_InputReady,157,T,TASK_CalcEngineSpeed,157,activate
-315142525,TASK_CalcEngineSpeed,157,SCHED,SCHED_Tasks_C2,-1,processactivate
-315142525,Core_1,0,T,TASK_InputProcessing,157,terminate
-315142525,TASK_InputProcessing,157,SCHED,SCHED_Tasks_C1,-1,processterminate
-315142525,Core_1,0,C,Core_1,0,idle
-315142525,TASK_InputProcessing,157,C,Core_1,0,idle
-315142575,TASK_InputProcessing,157,STI,IR_SCHED_Tasks_C1,1063,trigger
-315142575,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-315142625,TASK_CalcEngineSpeed,157,STI,IR_SCHED_Tasks_C2,1015,trigger
-315142625,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-315142625,TASK_10MS,31,R,FUNC_EXECTIME_1,576,suspend
-315142625,Core_2,0,T,TASK_10MS,31,preempt
-315142625,Core_2,0,C,Core_2,0,idle_execution
-315142625,TASK_10MS,31,C,Core_2,0,idle_execution
-315142625,Core_2,0,T,TASK_CalcEngineSpeed,157,start
-315142625,TASK_CalcEngineSpeed,157,R,FUNC_ENGINESPEED,157,start
-315142625,Core_2,0,C,Core_2,0,execute
-315142625,TASK_CalcEngineSpeed,157,C,Core_2,0,execute
-315250000,SIM,-1,STI,TIMER-1MS,315,trigger
-315250000,TIMER-1MS,315,T,TASK_1MS,315,activate
-315250000,TASK_1MS,315,SCHED,SCHED_Tasks_C1,-1,processactivate
-315250100,TASK_1MS,315,STI,IR_SCHED_Tasks_C1,1064,trigger
-315250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-315250100,Core_1,0,T,TASK_1MS,315,start
-315250100,TASK_1MS,315,R,FUNC_EXECTIME_1,577,start
-315250100,Core_1,0,C,Core_1,0,execute
-315250100,TASK_1MS,315,C,Core_1,0,execute
-315308750,TASK_CalcEngineSpeed,157,R,FUNC_ENGINESPEED,157,terminate
-315308750,Core_2,0,T,TASK_CalcEngineSpeed,157,terminate
-315308750,TASK_CalcEngineSpeed,157,SCHED,SCHED_Tasks_C2,-1,processterminate
-315308750,Core_2,0,C,Core_2,0,idle
-315308750,TASK_CalcEngineSpeed,157,C,Core_2,0,idle
-315308850,TASK_CalcEngineSpeed,157,STI,IR_SCHED_Tasks_C2,1016,trigger
-315308850,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-315308850,Core_2,0,C,Core_2,0,execute_idle
-315308850,TASK_10MS,31,C,Core_2,0,execute_idle
-315308850,Core_2,0,T,TASK_10MS,31,resume
-315308850,TASK_10MS,31,R,FUNC_EXECTIME_1,576,resume
-315466650,TASK_10MS,31,R,FUNC_EXECTIME_1,576,terminate
-315466650,Core_2,0,T,TASK_10MS,31,terminate
-315466650,TASK_10MS,31,SCHED,SCHED_Tasks_C2,-1,processterminate
-315466650,Core_2,0,C,Core_2,0,idle
-315466650,TASK_10MS,31,C,Core_2,0,idle
-315466750,TASK_10MS,31,STI,IR_SCHED_Tasks_C2,1017,trigger
-315466750,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-315714850,TASK_1MS,315,R,FUNC_EXECTIME_1,577,terminate
-315714850,Core_1,0,T,TASK_1MS,315,terminate
-315714850,TASK_1MS,315,SCHED,SCHED_Tasks_C1,-1,processterminate
-315714850,Core_1,0,C,Core_1,0,idle
-315714850,TASK_1MS,315,C,Core_1,0,idle
-315714950,TASK_1MS,315,STI,IR_SCHED_Tasks_C1,1065,trigger
-315714950,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-316000000,SIM,-1,STI,TIMER-B_2ms,158,trigger
-316000000,TIMER-B_2ms,158,T,TASK_WritingActuator,158,activate
-316000000,TASK_WritingActuator,158,SCHED,SCHED_Tasks_C2,-1,processactivate
-316000100,TASK_WritingActuator,158,STI,IR_SCHED_Tasks_C2,1018,trigger
-316000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-316000100,Core_2,0,T,TASK_WritingActuator,158,start
-316000100,TASK_WritingActuator,158,R,FUNC_SEMLOCK,316,start
-316000100,Core_2,0,C,Core_2,0,execute
-316000100,TASK_WritingActuator,158,C,Core_2,0,execute
-316100000,SIM,-1,STI,TIMER-5MS,158,trigger
-316100000,TIMER-5MS,158,T,TASK_5MS,158,activate
-316100000,TASK_5MS,158,SCHED,SCHED_Tasks_C2,-1,processactivate
-316100100,TASK_5MS,158,STI,IR_SCHED_Tasks_C2,1019,trigger
-316100100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-316125100,TASK_WritingActuator,158,SEM,SEM_DataElement1,0,requestsemaphore,0
-316125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-316125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-316125100,Core_2,0,C,Core_2,0,lock
-316125100,TASK_WritingActuator,158,SEM,SEM_DataElement1,0,assigned,1
-316125150,TASK_WritingActuator,158,R,FUNC_SEMLOCK,316,terminate
-316125150,Core_2,0,C,Core_2,0,unlock
-316125150,TASK_WritingActuator,158,R,FUNC_WriteData,158,start
-316150000,SIM,-1,STI,TIMER-A_2ms,158,trigger
-316150000,TIMER-A_2ms,158,T,TASK_InputProcessing,158,activate
-316150000,TASK_InputProcessing,158,SCHED,SCHED_Tasks_C1,-1,processactivate
-316150100,TASK_InputProcessing,158,STI,IR_SCHED_Tasks_C1,1066,trigger
-316150100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-316150100,Core_1,0,T,TASK_InputProcessing,158,start
-316150100,TASK_InputProcessing,158,R,FUNC_SEMLOCK,317,start
-316150100,Core_1,0,C,Core_1,0,execute
-316150100,TASK_InputProcessing,158,C,Core_1,0,execute
-316151725,TASK_WritingActuator,158,SIG,SIG_Mixture,0,write,0
-316151725,TASK_WritingActuator,158,R,FUNC_WriteData,158,terminate
-316151725,TASK_WritingActuator,158,R,FUNC_SEMUNLOCK,316,start
-316250000,SIM,-1,STI,TIMER-1MS,316,trigger
-316250000,TIMER-1MS,316,T,TASK_1MS,316,activate
-316250000,TASK_1MS,316,SCHED,SCHED_Tasks_C1,-1,processactivate
-316250100,TASK_1MS,316,STI,IR_SCHED_Tasks_C1,1067,trigger
-316250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-316250100,TASK_InputProcessing,158,R,FUNC_SEMLOCK,317,suspend
-316250100,Core_1,0,T,TASK_InputProcessing,158,preempt
-316250100,Core_1,0,C,Core_1,0,idle_execution
-316250100,TASK_InputProcessing,158,C,Core_1,0,idle_execution
-316250100,Core_1,0,T,TASK_1MS,316,start
-316250100,TASK_1MS,316,R,FUNC_EXECTIME_1,579,start
-316250100,Core_1,0,C,Core_1,0,execute
-316250100,TASK_1MS,316,C,Core_1,0,execute
-316351725,TASK_WritingActuator,158,SEM,SEM_DataElement1,0,released,1
-316351725,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-316351725,TASK_WritingActuator,158,SCHED,SCHED_Tasks_C2,-1,schedulepoint
-316351725,Core_2,0,C,Core_2,0,lock
-316351775,TASK_WritingActuator,158,R,FUNC_SEMUNLOCK,316,terminate
-316351775,Core_2,0,T,TASK_WritingActuator,158,terminate
-316351775,TASK_WritingActuator,158,SCHED,SCHED_Tasks_C2,-1,processterminate
-316351775,Core_2,0,C,Core_2,0,unlock
-316351775,Core_2,0,C,Core_2,0,idle
-316351775,TASK_WritingActuator,158,C,Core_2,0,idle
-316351825,TASK_WritingActuator,158,STI,IR_SCHED_Tasks_C2,1020,trigger
-316351825,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-316351825,Core_2,0,T,TASK_5MS,158,start
-316351825,TASK_5MS,158,R,FUNC_EXECTIME_1,578,start
-316351825,Core_2,0,C,Core_2,0,execute
-316351825,TASK_5MS,158,C,Core_2,0,execute
-316817475,TASK_1MS,316,R,FUNC_EXECTIME_1,579,terminate
-316817475,Core_1,0,T,TASK_1MS,316,terminate
-316817475,TASK_1MS,316,SCHED,SCHED_Tasks_C1,-1,processterminate
-316817475,Core_1,0,C,Core_1,0,idle
-316817475,TASK_1MS,316,C,Core_1,0,idle
-316817575,TASK_1MS,316,STI,IR_SCHED_Tasks_C1,1068,trigger
-316817575,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-316817575,Core_1,0,C,Core_1,0,execute_idle
-316817575,TASK_InputProcessing,158,C,Core_1,0,execute_idle
-316817575,Core_1,0,T,TASK_InputProcessing,158,resume
-316817575,TASK_InputProcessing,158,R,FUNC_SEMLOCK,317,resume
-316842575,TASK_InputProcessing,158,SEM,SEM_DataElement1,0,requestsemaphore,0
-316842575,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-316842575,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-316842575,Core_1,0,C,Core_1,0,lock
-316842575,TASK_InputProcessing,158,SEM,SEM_DataElement1,0,assigned,1
-316842625,TASK_InputProcessing,158,R,FUNC_SEMLOCK,317,terminate
-316842625,Core_1,0,C,Core_1,0,unlock
-316842625,TASK_InputProcessing,158,R,FUNC_ReadSensorData,158,start
-316990425,TASK_5MS,158,R,FUNC_EXECTIME_1,578,terminate
-316990425,Core_2,0,T,TASK_5MS,158,terminate
-316990425,TASK_5MS,158,SCHED,SCHED_Tasks_C2,-1,processterminate
-316990425,Core_2,0,C,Core_2,0,idle
-316990425,TASK_5MS,158,C,Core_2,0,idle
-316990525,TASK_5MS,158,STI,IR_SCHED_Tasks_C2,1021,trigger
-316990525,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-317004825,TASK_InputProcessing,158,SIG,SIG_RotationSpeed,0,read,0
-317004825,TASK_InputProcessing,158,SIG,SIG_Lambda,0,read,0
-317004825,TASK_InputProcessing,158,SIG,SIG_Temperature,0,read,0
-317004825,TASK_InputProcessing,158,R,FUNC_ReadSensorData,158,terminate
-317004825,TASK_InputProcessing,158,R,FUNC_SEMUNLOCK,317,start
-317204825,TASK_InputProcessing,158,SEM,SEM_DataElement1,0,released,1
-317204825,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-317204825,TASK_InputProcessing,158,SCHED,SCHED_Tasks_C1,-1,schedulepoint
-317204825,Core_1,0,C,Core_1,0,lock
-317204875,TASK_InputProcessing,158,R,FUNC_SEMUNLOCK,317,terminate
-317204875,Core_1,0,C,Core_1,0,unlock
-317204875,TASK_InputProcessing,158,STI,IPA_InputReady,158,trigger
-317204875,IPA_InputReady,158,T,TASK_CalcEngineSpeed,158,activate
-317204875,TASK_CalcEngineSpeed,158,SCHED,SCHED_Tasks_C2,-1,processactivate
-317204875,Core_1,0,T,TASK_InputProcessing,158,terminate
-317204875,TASK_InputProcessing,158,SCHED,SCHED_Tasks_C1,-1,processterminate
-317204875,Core_1,0,C,Core_1,0,idle
-317204875,TASK_InputProcessing,158,C,Core_1,0,idle
-317204925,TASK_InputProcessing,158,STI,IR_SCHED_Tasks_C1,1069,trigger
-317204925,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-317204975,TASK_CalcEngineSpeed,158,STI,IR_SCHED_Tasks_C2,1022,trigger
-317204975,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-317204975,Core_2,0,T,TASK_CalcEngineSpeed,158,start
-317204975,TASK_CalcEngineSpeed,158,R,FUNC_ENGINESPEED,158,start
-317204975,Core_2,0,C,Core_2,0,execute
-317204975,TASK_CalcEngineSpeed,158,C,Core_2,0,execute
-317250000,SIM,-1,STI,TIMER-1MS,317,trigger
-317250000,TIMER-1MS,317,T,TASK_1MS,317,activate
-317250000,TASK_1MS,317,SCHED,SCHED_Tasks_C1,-1,processactivate
-317250100,TASK_1MS,317,STI,IR_SCHED_Tasks_C1,1070,trigger
-317250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-317250100,Core_1,0,T,TASK_1MS,317,start
-317250100,TASK_1MS,317,R,FUNC_EXECTIME_1,580,start
-317250100,Core_1,0,C,Core_1,0,execute
-317250100,TASK_1MS,317,C,Core_1,0,execute
-317396550,TASK_CalcEngineSpeed,158,R,FUNC_ENGINESPEED,158,terminate
-317396550,Core_2,0,T,TASK_CalcEngineSpeed,158,terminate
-317396550,TASK_CalcEngineSpeed,158,SCHED,SCHED_Tasks_C2,-1,processterminate
-317396550,Core_2,0,C,Core_2,0,idle
-317396550,TASK_CalcEngineSpeed,158,C,Core_2,0,idle
-317396650,TASK_CalcEngineSpeed,158,STI,IR_SCHED_Tasks_C2,1023,trigger
-317396650,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-317545375,TASK_1MS,317,R,FUNC_EXECTIME_1,580,terminate
-317545375,Core_1,0,T,TASK_1MS,317,terminate
-317545375,TASK_1MS,317,SCHED,SCHED_Tasks_C1,-1,processterminate
-317545375,Core_1,0,C,Core_1,0,idle
-317545375,TASK_1MS,317,C,Core_1,0,idle
-317545475,TASK_1MS,317,STI,IR_SCHED_Tasks_C1,1071,trigger
-317545475,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-318000000,SIM,-1,STI,TIMER-B_2ms,159,trigger
-318000000,TIMER-B_2ms,159,T,TASK_WritingActuator,159,activate
-318000000,TASK_WritingActuator,159,SCHED,SCHED_Tasks_C2,-1,processactivate
-318000100,TASK_WritingActuator,159,STI,IR_SCHED_Tasks_C2,1024,trigger
-318000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-318000100,Core_2,0,T,TASK_WritingActuator,159,start
-318000100,TASK_WritingActuator,159,R,FUNC_SEMLOCK,318,start
-318000100,Core_2,0,C,Core_2,0,execute
-318000100,TASK_WritingActuator,159,C,Core_2,0,execute
-318100000,SIM,-1,STI,TIMER-5MS,159,trigger
-318100000,TIMER-5MS,159,T,TASK_5MS,159,activate
-318100000,TASK_5MS,159,SCHED,SCHED_Tasks_C2,-1,processactivate
-318100100,TASK_5MS,159,STI,IR_SCHED_Tasks_C2,1025,trigger
-318100100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-318125100,TASK_WritingActuator,159,SEM,SEM_DataElement1,0,requestsemaphore,0
-318125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-318125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-318125100,Core_2,0,C,Core_2,0,lock
-318125100,TASK_WritingActuator,159,SEM,SEM_DataElement1,0,assigned,1
-318125150,TASK_WritingActuator,159,R,FUNC_SEMLOCK,318,terminate
-318125150,Core_2,0,C,Core_2,0,unlock
-318125150,TASK_WritingActuator,159,R,FUNC_WriteData,159,start
-318150000,SIM,-1,STI,TIMER-A_2ms,159,trigger
-318150000,TIMER-A_2ms,159,T,TASK_InputProcessing,159,activate
-318150000,TASK_InputProcessing,159,SCHED,SCHED_Tasks_C1,-1,processactivate
-318150100,TASK_InputProcessing,159,STI,IR_SCHED_Tasks_C1,1072,trigger
-318150100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-318150100,Core_1,0,T,TASK_InputProcessing,159,start
-318150100,TASK_InputProcessing,159,R,FUNC_SEMLOCK,319,start
-318150100,Core_1,0,C,Core_1,0,execute
-318150100,TASK_InputProcessing,159,C,Core_1,0,execute
-318151975,TASK_WritingActuator,159,SIG,SIG_Mixture,0,write,0
-318151975,TASK_WritingActuator,159,R,FUNC_WriteData,159,terminate
-318151975,TASK_WritingActuator,159,R,FUNC_SEMUNLOCK,318,start
-318250000,SIM,-1,STI,TIMER-1MS,318,trigger
-318250000,TIMER-1MS,318,T,TASK_1MS,318,activate
-318250000,TASK_1MS,318,SCHED,SCHED_Tasks_C1,-1,processactivate
-318250100,TASK_1MS,318,STI,IR_SCHED_Tasks_C1,1073,trigger
-318250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-318250100,TASK_InputProcessing,159,R,FUNC_SEMLOCK,319,suspend
-318250100,Core_1,0,T,TASK_InputProcessing,159,preempt
-318250100,Core_1,0,C,Core_1,0,idle_execution
-318250100,TASK_InputProcessing,159,C,Core_1,0,idle_execution
-318250100,Core_1,0,T,TASK_1MS,318,start
-318250100,TASK_1MS,318,R,FUNC_EXECTIME_1,582,start
-318250100,Core_1,0,C,Core_1,0,execute
-318250100,TASK_1MS,318,C,Core_1,0,execute
-318351975,TASK_WritingActuator,159,SEM,SEM_DataElement1,0,released,1
-318351975,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-318351975,TASK_WritingActuator,159,SCHED,SCHED_Tasks_C2,-1,schedulepoint
-318351975,Core_2,0,C,Core_2,0,lock
-318352025,TASK_WritingActuator,159,R,FUNC_SEMUNLOCK,318,terminate
-318352025,Core_2,0,T,TASK_WritingActuator,159,terminate
-318352025,TASK_WritingActuator,159,SCHED,SCHED_Tasks_C2,-1,processterminate
-318352025,Core_2,0,C,Core_2,0,unlock
-318352025,Core_2,0,C,Core_2,0,idle
-318352025,TASK_WritingActuator,159,C,Core_2,0,idle
-318352075,TASK_WritingActuator,159,STI,IR_SCHED_Tasks_C2,1026,trigger
-318352075,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-318352075,Core_2,0,T,TASK_5MS,159,start
-318352075,TASK_5MS,159,R,FUNC_EXECTIME_1,581,start
-318352075,Core_2,0,C,Core_2,0,execute
-318352075,TASK_5MS,159,C,Core_2,0,execute
-318568825,TASK_1MS,318,R,FUNC_EXECTIME_1,582,terminate
-318568825,Core_1,0,T,TASK_1MS,318,terminate
-318568825,TASK_1MS,318,SCHED,SCHED_Tasks_C1,-1,processterminate
-318568825,Core_1,0,C,Core_1,0,idle
-318568825,TASK_1MS,318,C,Core_1,0,idle
-318568925,TASK_1MS,318,STI,IR_SCHED_Tasks_C1,1074,trigger
-318568925,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-318568925,Core_1,0,C,Core_1,0,execute_idle
-318568925,TASK_InputProcessing,159,C,Core_1,0,execute_idle
-318568925,Core_1,0,T,TASK_InputProcessing,159,resume
-318568925,TASK_InputProcessing,159,R,FUNC_SEMLOCK,319,resume
-318593925,TASK_InputProcessing,159,SEM,SEM_DataElement1,0,requestsemaphore,0
-318593925,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-318593925,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-318593925,Core_1,0,C,Core_1,0,lock
-318593925,TASK_InputProcessing,159,SEM,SEM_DataElement1,0,assigned,1
-318593975,TASK_InputProcessing,159,R,FUNC_SEMLOCK,319,terminate
-318593975,Core_1,0,C,Core_1,0,unlock
-318593975,TASK_InputProcessing,159,R,FUNC_ReadSensorData,159,start
-318616825,TASK_5MS,159,R,FUNC_EXECTIME_1,581,terminate
-318616825,Core_2,0,T,TASK_5MS,159,terminate
-318616825,TASK_5MS,159,SCHED,SCHED_Tasks_C2,-1,processterminate
-318616825,Core_2,0,C,Core_2,0,idle
-318616825,TASK_5MS,159,C,Core_2,0,idle
-318616925,TASK_5MS,159,STI,IR_SCHED_Tasks_C2,1027,trigger
-318616925,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-318754475,TASK_InputProcessing,159,SIG,SIG_RotationSpeed,0,read,0
-318754475,TASK_InputProcessing,159,SIG,SIG_Lambda,0,read,0
-318754475,TASK_InputProcessing,159,SIG,SIG_Temperature,0,read,0
-318754475,TASK_InputProcessing,159,R,FUNC_ReadSensorData,159,terminate
-318754475,TASK_InputProcessing,159,R,FUNC_SEMUNLOCK,319,start
-318954475,TASK_InputProcessing,159,SEM,SEM_DataElement1,0,released,1
-318954475,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-318954475,TASK_InputProcessing,159,SCHED,SCHED_Tasks_C1,-1,schedulepoint
-318954475,Core_1,0,C,Core_1,0,lock
-318954525,TASK_InputProcessing,159,R,FUNC_SEMUNLOCK,319,terminate
-318954525,Core_1,0,C,Core_1,0,unlock
-318954525,TASK_InputProcessing,159,STI,IPA_InputReady,159,trigger
-318954525,IPA_InputReady,159,T,TASK_CalcEngineSpeed,159,activate
-318954525,TASK_CalcEngineSpeed,159,SCHED,SCHED_Tasks_C2,-1,processactivate
-318954525,Core_1,0,T,TASK_InputProcessing,159,terminate
-318954525,TASK_InputProcessing,159,SCHED,SCHED_Tasks_C1,-1,processterminate
-318954525,Core_1,0,C,Core_1,0,idle
-318954525,TASK_InputProcessing,159,C,Core_1,0,idle
-318954575,TASK_InputProcessing,159,STI,IR_SCHED_Tasks_C1,1075,trigger
-318954575,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-318954625,TASK_CalcEngineSpeed,159,STI,IR_SCHED_Tasks_C2,1028,trigger
-318954625,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-318954625,Core_2,0,T,TASK_CalcEngineSpeed,159,start
-318954625,TASK_CalcEngineSpeed,159,R,FUNC_ENGINESPEED,159,start
-318954625,Core_2,0,C,Core_2,0,execute
-318954625,TASK_CalcEngineSpeed,159,C,Core_2,0,execute
-319086725,TASK_CalcEngineSpeed,159,R,FUNC_ENGINESPEED,159,terminate
-319086725,Core_2,0,T,TASK_CalcEngineSpeed,159,terminate
-319086725,TASK_CalcEngineSpeed,159,SCHED,SCHED_Tasks_C2,-1,processterminate
-319086725,Core_2,0,C,Core_2,0,idle
-319086725,TASK_CalcEngineSpeed,159,C,Core_2,0,idle
-319086825,TASK_CalcEngineSpeed,159,STI,IR_SCHED_Tasks_C2,1029,trigger
-319086825,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-319250000,SIM,-1,STI,TIMER-1MS,319,trigger
-319250000,TIMER-1MS,319,T,TASK_1MS,319,activate
-319250000,TASK_1MS,319,SCHED,SCHED_Tasks_C1,-1,processactivate
-319250100,TASK_1MS,319,STI,IR_SCHED_Tasks_C1,1076,trigger
-319250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-319250100,Core_1,0,T,TASK_1MS,319,start
-319250100,TASK_1MS,319,R,FUNC_EXECTIME_1,583,start
-319250100,Core_1,0,C,Core_1,0,execute
-319250100,TASK_1MS,319,C,Core_1,0,execute
-319830575,TASK_1MS,319,R,FUNC_EXECTIME_1,583,terminate
-319830575,Core_1,0,T,TASK_1MS,319,terminate
-319830575,TASK_1MS,319,SCHED,SCHED_Tasks_C1,-1,processterminate
-319830575,Core_1,0,C,Core_1,0,idle
-319830575,TASK_1MS,319,C,Core_1,0,idle
-319830675,TASK_1MS,319,STI,IR_SCHED_Tasks_C1,1077,trigger
-319830675,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-320000000,SIM,-1,STI,TIMER-B_2ms,160,trigger
-320000000,TIMER-B_2ms,160,T,TASK_WritingActuator,160,activate
-320000000,TASK_WritingActuator,160,SCHED,SCHED_Tasks_C2,-1,processactivate
-320000000,SIM,-1,STI,TIMER-10MS_2,32,trigger
-320000000,TIMER-10MS_2,32,T,TASK_10MS_DL2,32,activate
-320000000,TASK_10MS_DL2,32,SCHED,SCHED_Tasks_C1,-1,processactivate
-320000100,TASK_WritingActuator,160,STI,IR_SCHED_Tasks_C2,1030,trigger
-320000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-320000100,Core_2,0,T,TASK_WritingActuator,160,start
-320000100,TASK_WritingActuator,160,R,FUNC_SEMLOCK,320,start
-320000100,Core_2,0,C,Core_2,0,execute
-320000100,TASK_WritingActuator,160,C,Core_2,0,execute
-320000100,TASK_10MS_DL2,32,STI,IR_SCHED_Tasks_C1,1078,trigger
-320000100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-320000100,Core_1,0,T,TASK_10MS_DL2,32,start
-320000100,TASK_10MS_DL2,32,R,FUNC_EXECTIME_1,584,start
-320000100,Core_1,0,C,Core_1,0,execute
-320000100,TASK_10MS_DL2,32,C,Core_1,0,execute
-320005000,SIM,-1,STI,TIMER-20MS,16,trigger
-320005000,TIMER-20MS,16,T,TASK_20MS,16,activate
-320005000,TASK_20MS,16,SCHED,SCHED_Tasks_C1,-1,processactivate
-320005100,TASK_20MS,16,STI,IR_SCHED_Tasks_C1,1079,trigger
-320005100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-320100000,SIM,-1,STI,TIMER-5MS,160,trigger
-320100000,TIMER-5MS,160,T,TASK_5MS,160,activate
-320100000,TASK_5MS,160,SCHED,SCHED_Tasks_C2,-1,processactivate
-320100100,TASK_5MS,160,STI,IR_SCHED_Tasks_C2,1031,trigger
-320100100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-320125100,TASK_WritingActuator,160,SEM,SEM_DataElement1,0,requestsemaphore,0
-320125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-320125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-320125100,Core_2,0,C,Core_2,0,lock
-320125100,TASK_WritingActuator,160,SEM,SEM_DataElement1,0,assigned,1
-320125150,TASK_WritingActuator,160,R,FUNC_SEMLOCK,320,terminate
-320125150,Core_2,0,C,Core_2,0,unlock
-320125150,TASK_WritingActuator,160,R,FUNC_WriteData,160,start
-320150000,SIM,-1,STI,TIMER-A_2ms,160,trigger
-320150000,TIMER-A_2ms,160,T,TASK_InputProcessing,160,activate
-320150000,TASK_InputProcessing,160,SCHED,SCHED_Tasks_C1,-1,processactivate
-320150100,TASK_InputProcessing,160,STI,IR_SCHED_Tasks_C1,1080,trigger
-320150100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-320152150,TASK_WritingActuator,160,SIG,SIG_Mixture,0,write,0
-320152150,TASK_WritingActuator,160,R,FUNC_WriteData,160,terminate
-320152150,TASK_WritingActuator,160,R,FUNC_SEMUNLOCK,320,start
-320250000,SIM,-1,STI,TIMER-1MS,320,trigger
-320250000,TIMER-1MS,320,T,TASK_1MS,320,activate
-320250000,TASK_1MS,320,SCHED,SCHED_Tasks_C1,-1,processactivate
-320250100,TASK_1MS,320,STI,IR_SCHED_Tasks_C1,1081,trigger
-320250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-320250100,TASK_10MS_DL2,32,R,FUNC_EXECTIME_1,584,suspend
-320250100,Core_1,0,T,TASK_10MS_DL2,32,preempt
-320250100,Core_1,0,C,Core_1,0,idle_execution
-320250100,TASK_10MS_DL2,32,C,Core_1,0,idle_execution
-320250100,Core_1,0,T,TASK_1MS,320,start
-320250100,TASK_1MS,320,R,FUNC_EXECTIME_1,587,start
-320250100,Core_1,0,C,Core_1,0,execute
-320250100,TASK_1MS,320,C,Core_1,0,execute
-320352150,TASK_WritingActuator,160,SEM,SEM_DataElement1,0,released,1
-320352150,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-320352150,TASK_WritingActuator,160,SCHED,SCHED_Tasks_C2,-1,schedulepoint
-320352150,Core_2,0,C,Core_2,0,lock
-320352200,TASK_WritingActuator,160,R,FUNC_SEMUNLOCK,320,terminate
-320352200,Core_2,0,T,TASK_WritingActuator,160,terminate
-320352200,TASK_WritingActuator,160,SCHED,SCHED_Tasks_C2,-1,processterminate
-320352200,Core_2,0,C,Core_2,0,unlock
-320352200,Core_2,0,C,Core_2,0,idle
-320352200,TASK_WritingActuator,160,C,Core_2,0,idle
-320352250,TASK_WritingActuator,160,STI,IR_SCHED_Tasks_C2,1032,trigger
-320352250,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-320352250,Core_2,0,T,TASK_5MS,160,start
-320352250,TASK_5MS,160,R,FUNC_EXECTIME_1,586,start
-320352250,Core_2,0,C,Core_2,0,execute
-320352250,TASK_5MS,160,C,Core_2,0,execute
-320597425,TASK_1MS,320,R,FUNC_EXECTIME_1,587,terminate
-320597425,Core_1,0,T,TASK_1MS,320,terminate
-320597425,TASK_1MS,320,SCHED,SCHED_Tasks_C1,-1,processterminate
-320597425,Core_1,0,C,Core_1,0,idle
-320597425,TASK_1MS,320,C,Core_1,0,idle
-320597525,TASK_1MS,320,STI,IR_SCHED_Tasks_C1,1082,trigger
-320597525,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-320597525,Core_1,0,C,Core_1,0,execute_idle
-320597525,TASK_10MS_DL2,32,C,Core_1,0,execute_idle
-320597525,Core_1,0,T,TASK_10MS_DL2,32,resume
-320597525,TASK_10MS_DL2,32,R,FUNC_EXECTIME_1,584,resume
-320689850,TASK_5MS,160,R,FUNC_EXECTIME_1,586,terminate
-320689850,Core_2,0,T,TASK_5MS,160,terminate
-320689850,TASK_5MS,160,SCHED,SCHED_Tasks_C2,-1,processterminate
-320689850,Core_2,0,C,Core_2,0,idle
-320689850,TASK_5MS,160,C,Core_2,0,idle
-320689950,TASK_5MS,160,STI,IR_SCHED_Tasks_C2,1033,trigger
-320689950,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-320700100,TASK_10MS_DL2,32,R,FUNC_EXECTIME_1,584,terminate
-320700100,Core_1,0,T,TASK_10MS_DL2,32,terminate
-320700100,TASK_10MS_DL2,32,SCHED,SCHED_Tasks_C1,-1,processterminate
-320700100,Core_1,0,C,Core_1,0,idle
-320700100,TASK_10MS_DL2,32,C,Core_1,0,idle
-320700200,TASK_10MS_DL2,32,STI,IR_SCHED_Tasks_C1,1083,trigger
-320700200,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-320700200,Core_1,0,T,TASK_InputProcessing,160,start
-320700200,TASK_InputProcessing,160,R,FUNC_SEMLOCK,321,start
-320700200,Core_1,0,C,Core_1,0,execute
-320700200,TASK_InputProcessing,160,C,Core_1,0,execute
-320825200,TASK_InputProcessing,160,SEM,SEM_DataElement1,0,requestsemaphore,0
-320825200,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-320825200,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-320825200,Core_1,0,C,Core_1,0,lock
-320825200,TASK_InputProcessing,160,SEM,SEM_DataElement1,0,assigned,1
-320825250,TASK_InputProcessing,160,R,FUNC_SEMLOCK,321,terminate
-320825250,Core_1,0,C,Core_1,0,unlock
-320825250,TASK_InputProcessing,160,R,FUNC_ReadSensorData,160,start
-320989100,TASK_InputProcessing,160,SIG,SIG_RotationSpeed,0,read,0
-320989100,TASK_InputProcessing,160,SIG,SIG_Lambda,0,read,0
-320989100,TASK_InputProcessing,160,SIG,SIG_Temperature,0,read,0
-320989100,TASK_InputProcessing,160,R,FUNC_ReadSensorData,160,terminate
-320989100,TASK_InputProcessing,160,R,FUNC_SEMUNLOCK,321,start
-321189100,TASK_InputProcessing,160,SEM,SEM_DataElement1,0,released,1
-321189100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-321189100,TASK_InputProcessing,160,SCHED,SCHED_Tasks_C1,-1,schedulepoint
-321189100,Core_1,0,C,Core_1,0,lock
-321189150,TASK_InputProcessing,160,R,FUNC_SEMUNLOCK,321,terminate
-321189150,Core_1,0,C,Core_1,0,unlock
-321189150,TASK_InputProcessing,160,STI,IPA_InputReady,160,trigger
-321189150,IPA_InputReady,160,T,TASK_CalcEngineSpeed,160,activate
-321189150,TASK_CalcEngineSpeed,160,SCHED,SCHED_Tasks_C2,-1,processactivate
-321189150,Core_1,0,T,TASK_InputProcessing,160,terminate
-321189150,TASK_InputProcessing,160,SCHED,SCHED_Tasks_C1,-1,processterminate
-321189150,Core_1,0,C,Core_1,0,idle
-321189150,TASK_InputProcessing,160,C,Core_1,0,idle
-321189200,TASK_InputProcessing,160,STI,IR_SCHED_Tasks_C1,1084,trigger
-321189200,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-321189200,Core_1,0,T,TASK_20MS,16,start
-321189200,TASK_20MS,16,R,FUNC_EXECTIME_1,585,start
-321189200,Core_1,0,C,Core_1,0,execute
-321189200,TASK_20MS,16,C,Core_1,0,execute
-321189250,TASK_CalcEngineSpeed,160,STI,IR_SCHED_Tasks_C2,1034,trigger
-321189250,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-321189250,Core_2,0,T,TASK_CalcEngineSpeed,160,start
-321189250,TASK_CalcEngineSpeed,160,R,FUNC_ENGINESPEED,160,start
-321189250,Core_2,0,C,Core_2,0,execute
-321189250,TASK_CalcEngineSpeed,160,C,Core_2,0,execute
-321250000,SIM,-1,STI,TIMER-1MS,321,trigger
-321250000,TIMER-1MS,321,T,TASK_1MS,321,activate
-321250000,TASK_1MS,321,SCHED,SCHED_Tasks_C1,-1,processactivate
-321250100,TASK_1MS,321,STI,IR_SCHED_Tasks_C1,1085,trigger
-321250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-321250100,TASK_20MS,16,R,FUNC_EXECTIME_1,585,suspend
-321250100,Core_1,0,T,TASK_20MS,16,preempt
-321250100,Core_1,0,C,Core_1,0,idle_execution
-321250100,TASK_20MS,16,C,Core_1,0,idle_execution
-321250100,Core_1,0,T,TASK_1MS,321,start
-321250100,TASK_1MS,321,R,FUNC_EXECTIME_1,588,start
-321250100,Core_1,0,C,Core_1,0,execute
-321250100,TASK_1MS,321,C,Core_1,0,execute
-321320075,TASK_CalcEngineSpeed,160,R,FUNC_ENGINESPEED,160,terminate
-321320075,Core_2,0,T,TASK_CalcEngineSpeed,160,terminate
-321320075,TASK_CalcEngineSpeed,160,SCHED,SCHED_Tasks_C2,-1,processterminate
-321320075,Core_2,0,C,Core_2,0,idle
-321320075,TASK_CalcEngineSpeed,160,C,Core_2,0,idle
-321320175,TASK_CalcEngineSpeed,160,STI,IR_SCHED_Tasks_C2,1035,trigger
-321320175,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-321962300,TASK_1MS,321,R,FUNC_EXECTIME_1,588,terminate
-321962300,Core_1,0,T,TASK_1MS,321,terminate
-321962300,TASK_1MS,321,SCHED,SCHED_Tasks_C1,-1,processterminate
-321962300,Core_1,0,C,Core_1,0,idle
-321962300,TASK_1MS,321,C,Core_1,0,idle
-321962400,TASK_1MS,321,STI,IR_SCHED_Tasks_C1,1086,trigger
-321962400,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-321962400,Core_1,0,C,Core_1,0,execute_idle
-321962400,TASK_20MS,16,C,Core_1,0,execute_idle
-321962400,Core_1,0,T,TASK_20MS,16,resume
-321962400,TASK_20MS,16,R,FUNC_EXECTIME_1,585,resume
-322000000,SIM,-1,STI,TIMER-B_2ms,161,trigger
-322000000,TIMER-B_2ms,161,T,TASK_WritingActuator,161,activate
-322000000,TASK_WritingActuator,161,SCHED,SCHED_Tasks_C2,-1,processactivate
-322000100,TASK_WritingActuator,161,STI,IR_SCHED_Tasks_C2,1036,trigger
-322000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-322000100,Core_2,0,T,TASK_WritingActuator,161,start
-322000100,TASK_WritingActuator,161,R,FUNC_SEMLOCK,322,start
-322000100,Core_2,0,C,Core_2,0,execute
-322000100,TASK_WritingActuator,161,C,Core_2,0,execute
-322100000,SIM,-1,STI,TIMER-5MS,161,trigger
-322100000,TIMER-5MS,161,T,TASK_5MS,161,activate
-322100000,TASK_5MS,161,SCHED,SCHED_Tasks_C2,-1,processactivate
-322100100,TASK_5MS,161,STI,IR_SCHED_Tasks_C2,1037,trigger
-322100100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-322125100,TASK_WritingActuator,161,SEM,SEM_DataElement1,0,requestsemaphore,0
-322125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-322125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-322125100,Core_2,0,C,Core_2,0,lock
-322125100,TASK_WritingActuator,161,SEM,SEM_DataElement1,0,assigned,1
-322125150,TASK_WritingActuator,161,R,FUNC_SEMLOCK,322,terminate
-322125150,Core_2,0,C,Core_2,0,unlock
-322125150,TASK_WritingActuator,161,R,FUNC_WriteData,161,start
-322150000,SIM,-1,STI,TIMER-A_2ms,161,trigger
-322150000,TIMER-A_2ms,161,T,TASK_InputProcessing,161,activate
-322150000,TASK_InputProcessing,161,SCHED,SCHED_Tasks_C1,-1,processactivate
-322150100,TASK_InputProcessing,161,STI,IR_SCHED_Tasks_C1,1087,trigger
-322150100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-322150100,TASK_20MS,16,R,FUNC_EXECTIME_1,585,suspend
-322150100,Core_1,0,T,TASK_20MS,16,preempt
-322150100,Core_1,0,C,Core_1,0,idle_execution
-322150100,TASK_20MS,16,C,Core_1,0,idle_execution
-322150100,Core_1,0,T,TASK_InputProcessing,161,start
-322150100,TASK_InputProcessing,161,R,FUNC_SEMLOCK,323,start
-322150100,Core_1,0,C,Core_1,0,execute
-322150100,TASK_InputProcessing,161,C,Core_1,0,execute
-322152450,TASK_WritingActuator,161,SIG,SIG_Mixture,0,write,0
-322152450,TASK_WritingActuator,161,R,FUNC_WriteData,161,terminate
-322152450,TASK_WritingActuator,161,R,FUNC_SEMUNLOCK,322,start
-322250000,SIM,-1,STI,TIMER-1MS,322,trigger
-322250000,TIMER-1MS,322,T,TASK_1MS,322,activate
-322250000,TASK_1MS,322,SCHED,SCHED_Tasks_C1,-1,processactivate
-322250100,TASK_1MS,322,STI,IR_SCHED_Tasks_C1,1088,trigger
-322250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-322250100,TASK_InputProcessing,161,R,FUNC_SEMLOCK,323,suspend
-322250100,Core_1,0,T,TASK_InputProcessing,161,preempt
-322250100,Core_1,0,C,Core_1,0,idle_execution
-322250100,TASK_InputProcessing,161,C,Core_1,0,idle_execution
-322250100,Core_1,0,T,TASK_1MS,322,start
-322250100,TASK_1MS,322,R,FUNC_EXECTIME_1,590,start
-322250100,Core_1,0,C,Core_1,0,execute
-322250100,TASK_1MS,322,C,Core_1,0,execute
-322352450,TASK_WritingActuator,161,SEM,SEM_DataElement1,0,released,1
-322352450,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-322352450,TASK_WritingActuator,161,SCHED,SCHED_Tasks_C2,-1,schedulepoint
-322352450,Core_2,0,C,Core_2,0,lock
-322352500,TASK_WritingActuator,161,R,FUNC_SEMUNLOCK,322,terminate
-322352500,Core_2,0,T,TASK_WritingActuator,161,terminate
-322352500,TASK_WritingActuator,161,SCHED,SCHED_Tasks_C2,-1,processterminate
-322352500,Core_2,0,C,Core_2,0,unlock
-322352500,Core_2,0,C,Core_2,0,idle
-322352500,TASK_WritingActuator,161,C,Core_2,0,idle
-322352550,TASK_WritingActuator,161,STI,IR_SCHED_Tasks_C2,1038,trigger
-322352550,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-322352550,Core_2,0,T,TASK_5MS,161,start
-322352550,TASK_5MS,161,R,FUNC_EXECTIME_1,589,start
-322352550,Core_2,0,C,Core_2,0,execute
-322352550,TASK_5MS,161,C,Core_2,0,execute
-322664125,TASK_1MS,322,R,FUNC_EXECTIME_1,590,terminate
-322664125,Core_1,0,T,TASK_1MS,322,terminate
-322664125,TASK_1MS,322,SCHED,SCHED_Tasks_C1,-1,processterminate
-322664125,Core_1,0,C,Core_1,0,idle
-322664125,TASK_1MS,322,C,Core_1,0,idle
-322664225,TASK_1MS,322,STI,IR_SCHED_Tasks_C1,1089,trigger
-322664225,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-322664225,Core_1,0,C,Core_1,0,execute_idle
-322664225,TASK_InputProcessing,161,C,Core_1,0,execute_idle
-322664225,Core_1,0,T,TASK_InputProcessing,161,resume
-322664225,TASK_InputProcessing,161,R,FUNC_SEMLOCK,323,resume
-322689225,TASK_InputProcessing,161,SEM,SEM_DataElement1,0,requestsemaphore,0
-322689225,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-322689225,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-322689225,Core_1,0,C,Core_1,0,lock
-322689225,TASK_InputProcessing,161,SEM,SEM_DataElement1,0,assigned,1
-322689275,TASK_InputProcessing,161,R,FUNC_SEMLOCK,323,terminate
-322689275,Core_1,0,C,Core_1,0,unlock
-322689275,TASK_InputProcessing,161,R,FUNC_ReadSensorData,161,start
-322852525,TASK_InputProcessing,161,SIG,SIG_RotationSpeed,0,read,0
-322852525,TASK_InputProcessing,161,SIG,SIG_Lambda,0,read,0
-322852525,TASK_InputProcessing,161,SIG,SIG_Temperature,0,read,0
-322852525,TASK_InputProcessing,161,R,FUNC_ReadSensorData,161,terminate
-322852525,TASK_InputProcessing,161,R,FUNC_SEMUNLOCK,323,start
-323028500,TASK_5MS,161,R,FUNC_EXECTIME_1,589,terminate
-323028500,Core_2,0,T,TASK_5MS,161,terminate
-323028500,TASK_5MS,161,SCHED,SCHED_Tasks_C2,-1,processterminate
-323028500,Core_2,0,C,Core_2,0,idle
-323028500,TASK_5MS,161,C,Core_2,0,idle
-323028600,TASK_5MS,161,STI,IR_SCHED_Tasks_C2,1039,trigger
-323028600,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-323052525,TASK_InputProcessing,161,SEM,SEM_DataElement1,0,released,1
-323052525,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-323052525,TASK_InputProcessing,161,SCHED,SCHED_Tasks_C1,-1,schedulepoint
-323052525,Core_1,0,C,Core_1,0,lock
-323052575,TASK_InputProcessing,161,R,FUNC_SEMUNLOCK,323,terminate
-323052575,Core_1,0,C,Core_1,0,unlock
-323052575,TASK_InputProcessing,161,STI,IPA_InputReady,161,trigger
-323052575,IPA_InputReady,161,T,TASK_CalcEngineSpeed,161,activate
-323052575,TASK_CalcEngineSpeed,161,SCHED,SCHED_Tasks_C2,-1,processactivate
-323052575,Core_1,0,T,TASK_InputProcessing,161,terminate
-323052575,TASK_InputProcessing,161,SCHED,SCHED_Tasks_C1,-1,processterminate
-323052575,Core_1,0,C,Core_1,0,idle
-323052575,TASK_InputProcessing,161,C,Core_1,0,idle
-323052625,TASK_InputProcessing,161,STI,IR_SCHED_Tasks_C1,1090,trigger
-323052625,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-323052625,Core_1,0,C,Core_1,0,execute_idle
-323052625,TASK_20MS,16,C,Core_1,0,execute_idle
-323052625,Core_1,0,T,TASK_20MS,16,resume
-323052625,TASK_20MS,16,R,FUNC_EXECTIME_1,585,resume
-323052675,TASK_CalcEngineSpeed,161,STI,IR_SCHED_Tasks_C2,1040,trigger
-323052675,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-323052675,Core_2,0,T,TASK_CalcEngineSpeed,161,start
-323052675,TASK_CalcEngineSpeed,161,R,FUNC_ENGINESPEED,161,start
-323052675,Core_2,0,C,Core_2,0,execute
-323052675,TASK_CalcEngineSpeed,161,C,Core_2,0,execute
-323227525,TASK_CalcEngineSpeed,161,R,FUNC_ENGINESPEED,161,terminate
-323227525,Core_2,0,T,TASK_CalcEngineSpeed,161,terminate
-323227525,TASK_CalcEngineSpeed,161,SCHED,SCHED_Tasks_C2,-1,processterminate
-323227525,Core_2,0,C,Core_2,0,idle
-323227525,TASK_CalcEngineSpeed,161,C,Core_2,0,idle
-323227625,TASK_CalcEngineSpeed,161,STI,IR_SCHED_Tasks_C2,1041,trigger
-323227625,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-323250000,SIM,-1,STI,TIMER-1MS,323,trigger
-323250000,TIMER-1MS,323,T,TASK_1MS,323,activate
-323250000,TASK_1MS,323,SCHED,SCHED_Tasks_C1,-1,processactivate
-323250100,TASK_1MS,323,STI,IR_SCHED_Tasks_C1,1091,trigger
-323250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-323250100,TASK_20MS,16,R,FUNC_EXECTIME_1,585,suspend
-323250100,Core_1,0,T,TASK_20MS,16,preempt
-323250100,Core_1,0,C,Core_1,0,idle_execution
-323250100,TASK_20MS,16,C,Core_1,0,idle_execution
-323250100,Core_1,0,T,TASK_1MS,323,start
-323250100,TASK_1MS,323,R,FUNC_EXECTIME_1,591,start
-323250100,Core_1,0,C,Core_1,0,execute
-323250100,TASK_1MS,323,C,Core_1,0,execute
-323779650,TASK_1MS,323,R,FUNC_EXECTIME_1,591,terminate
-323779650,Core_1,0,T,TASK_1MS,323,terminate
-323779650,TASK_1MS,323,SCHED,SCHED_Tasks_C1,-1,processterminate
-323779650,Core_1,0,C,Core_1,0,idle
-323779650,TASK_1MS,323,C,Core_1,0,idle
-323779750,TASK_1MS,323,STI,IR_SCHED_Tasks_C1,1092,trigger
-323779750,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-323779750,Core_1,0,C,Core_1,0,execute_idle
-323779750,TASK_20MS,16,C,Core_1,0,execute_idle
-323779750,Core_1,0,T,TASK_20MS,16,resume
-323779750,TASK_20MS,16,R,FUNC_EXECTIME_1,585,resume
-324000000,SIM,-1,STI,TIMER-B_2ms,162,trigger
-324000000,TIMER-B_2ms,162,T,TASK_WritingActuator,162,activate
-324000000,TASK_WritingActuator,162,SCHED,SCHED_Tasks_C2,-1,processactivate
-324000100,TASK_WritingActuator,162,STI,IR_SCHED_Tasks_C2,1042,trigger
-324000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-324000100,Core_2,0,T,TASK_WritingActuator,162,start
-324000100,TASK_WritingActuator,162,R,FUNC_SEMLOCK,324,start
-324000100,Core_2,0,C,Core_2,0,execute
-324000100,TASK_WritingActuator,162,C,Core_2,0,execute
-324074100,TASK_20MS,16,R,FUNC_EXECTIME_1,585,terminate
-324074100,Core_1,0,T,TASK_20MS,16,terminate
-324074100,TASK_20MS,16,SCHED,SCHED_Tasks_C1,-1,processterminate
-324074100,Core_1,0,C,Core_1,0,idle
-324074100,TASK_20MS,16,C,Core_1,0,idle
-324074200,TASK_20MS,16,STI,IR_SCHED_Tasks_C1,1093,trigger
-324074200,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-324100000,SIM,-1,STI,TIMER-5MS,162,trigger
-324100000,TIMER-5MS,162,T,TASK_5MS,162,activate
-324100000,TASK_5MS,162,SCHED,SCHED_Tasks_C2,-1,processactivate
-324100100,TASK_5MS,162,STI,IR_SCHED_Tasks_C2,1043,trigger
-324100100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-324125100,TASK_WritingActuator,162,SEM,SEM_DataElement1,0,requestsemaphore,0
-324125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-324125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-324125100,Core_2,0,C,Core_2,0,lock
-324125100,TASK_WritingActuator,162,SEM,SEM_DataElement1,0,assigned,1
-324125150,TASK_WritingActuator,162,R,FUNC_SEMLOCK,324,terminate
-324125150,Core_2,0,C,Core_2,0,unlock
-324125150,TASK_WritingActuator,162,R,FUNC_WriteData,162,start
-324150000,SIM,-1,STI,TIMER-A_2ms,162,trigger
-324150000,TIMER-A_2ms,162,T,TASK_InputProcessing,162,activate
-324150000,TASK_InputProcessing,162,SCHED,SCHED_Tasks_C1,-1,processactivate
-324150100,TASK_InputProcessing,162,STI,IR_SCHED_Tasks_C1,1094,trigger
-324150100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-324150100,Core_1,0,T,TASK_InputProcessing,162,start
-324150100,TASK_InputProcessing,162,R,FUNC_SEMLOCK,325,start
-324150100,Core_1,0,C,Core_1,0,execute
-324150100,TASK_InputProcessing,162,C,Core_1,0,execute
-324152525,TASK_WritingActuator,162,SIG,SIG_Mixture,0,write,0
-324152525,TASK_WritingActuator,162,R,FUNC_WriteData,162,terminate
-324152525,TASK_WritingActuator,162,R,FUNC_SEMUNLOCK,324,start
-324250000,SIM,-1,STI,TIMER-1MS,324,trigger
-324250000,TIMER-1MS,324,T,TASK_1MS,324,activate
-324250000,TASK_1MS,324,SCHED,SCHED_Tasks_C1,-1,processactivate
-324250100,TASK_1MS,324,STI,IR_SCHED_Tasks_C1,1095,trigger
-324250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-324250100,TASK_InputProcessing,162,R,FUNC_SEMLOCK,325,suspend
-324250100,Core_1,0,T,TASK_InputProcessing,162,preempt
-324250100,Core_1,0,C,Core_1,0,idle_execution
-324250100,TASK_InputProcessing,162,C,Core_1,0,idle_execution
-324250100,Core_1,0,T,TASK_1MS,324,start
-324250100,TASK_1MS,324,R,FUNC_EXECTIME_1,593,start
-324250100,Core_1,0,C,Core_1,0,execute
-324250100,TASK_1MS,324,C,Core_1,0,execute
-324352525,TASK_WritingActuator,162,SEM,SEM_DataElement1,0,released,1
-324352525,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-324352525,TASK_WritingActuator,162,SCHED,SCHED_Tasks_C2,-1,schedulepoint
-324352525,Core_2,0,C,Core_2,0,lock
-324352575,TASK_WritingActuator,162,R,FUNC_SEMUNLOCK,324,terminate
-324352575,Core_2,0,T,TASK_WritingActuator,162,terminate
-324352575,TASK_WritingActuator,162,SCHED,SCHED_Tasks_C2,-1,processterminate
-324352575,Core_2,0,C,Core_2,0,unlock
-324352575,Core_2,0,C,Core_2,0,idle
-324352575,TASK_WritingActuator,162,C,Core_2,0,idle
-324352625,TASK_WritingActuator,162,STI,IR_SCHED_Tasks_C2,1044,trigger
-324352625,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-324352625,Core_2,0,T,TASK_5MS,162,start
-324352625,TASK_5MS,162,R,FUNC_EXECTIME_1,592,start
-324352625,Core_2,0,C,Core_2,0,execute
-324352625,TASK_5MS,162,C,Core_2,0,execute
-324786925,TASK_1MS,324,R,FUNC_EXECTIME_1,593,terminate
-324786925,Core_1,0,T,TASK_1MS,324,terminate
-324786925,TASK_1MS,324,SCHED,SCHED_Tasks_C1,-1,processterminate
-324786925,Core_1,0,C,Core_1,0,idle
-324786925,TASK_1MS,324,C,Core_1,0,idle
-324787025,TASK_1MS,324,STI,IR_SCHED_Tasks_C1,1096,trigger
-324787025,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-324787025,Core_1,0,C,Core_1,0,execute_idle
-324787025,TASK_InputProcessing,162,C,Core_1,0,execute_idle
-324787025,Core_1,0,T,TASK_InputProcessing,162,resume
-324787025,TASK_InputProcessing,162,R,FUNC_SEMLOCK,325,resume
-324812025,TASK_InputProcessing,162,SEM,SEM_DataElement1,0,requestsemaphore,0
-324812025,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-324812025,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-324812025,Core_1,0,C,Core_1,0,lock
-324812025,TASK_InputProcessing,162,SEM,SEM_DataElement1,0,assigned,1
-324812075,TASK_InputProcessing,162,R,FUNC_SEMLOCK,325,terminate
-324812075,Core_1,0,C,Core_1,0,unlock
-324812075,TASK_InputProcessing,162,R,FUNC_ReadSensorData,162,start
-324973225,TASK_5MS,162,R,FUNC_EXECTIME_1,592,terminate
-324973225,Core_2,0,T,TASK_5MS,162,terminate
-324973225,TASK_5MS,162,SCHED,SCHED_Tasks_C2,-1,processterminate
-324973225,Core_2,0,C,Core_2,0,idle
-324973225,TASK_5MS,162,C,Core_2,0,idle
-324973325,TASK_5MS,162,STI,IR_SCHED_Tasks_C2,1045,trigger
-324973325,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-324975025,TASK_InputProcessing,162,SIG,SIG_RotationSpeed,0,read,0
-324975025,TASK_InputProcessing,162,SIG,SIG_Lambda,0,read,0
-324975025,TASK_InputProcessing,162,SIG,SIG_Temperature,0,read,0
-324975025,TASK_InputProcessing,162,R,FUNC_ReadSensorData,162,terminate
-324975025,TASK_InputProcessing,162,R,FUNC_SEMUNLOCK,325,start
-325000000,SIM,-1,STI,TIMER-10MS,32,trigger
-325000000,TIMER-10MS,32,T,TASK_10MS,32,activate
-325000000,TASK_10MS,32,SCHED,SCHED_Tasks_C2,-1,processactivate
-325000100,TASK_10MS,32,STI,IR_SCHED_Tasks_C2,1046,trigger
-325000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-325000100,Core_2,0,T,TASK_10MS,32,start
-325000100,TASK_10MS,32,R,FUNC_EXECTIME_1,594,start
-325000100,Core_2,0,C,Core_2,0,execute
-325000100,TASK_10MS,32,C,Core_2,0,execute
-325175025,TASK_InputProcessing,162,SEM,SEM_DataElement1,0,released,1
-325175025,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-325175025,TASK_InputProcessing,162,SCHED,SCHED_Tasks_C1,-1,schedulepoint
-325175025,Core_1,0,C,Core_1,0,lock
-325175075,TASK_InputProcessing,162,R,FUNC_SEMUNLOCK,325,terminate
-325175075,Core_1,0,C,Core_1,0,unlock
-325175075,TASK_InputProcessing,162,STI,IPA_InputReady,162,trigger
-325175075,IPA_InputReady,162,T,TASK_CalcEngineSpeed,162,activate
-325175075,TASK_CalcEngineSpeed,162,SCHED,SCHED_Tasks_C2,-1,processactivate
-325175075,Core_1,0,T,TASK_InputProcessing,162,terminate
-325175075,TASK_InputProcessing,162,SCHED,SCHED_Tasks_C1,-1,processterminate
-325175075,Core_1,0,C,Core_1,0,idle
-325175075,TASK_InputProcessing,162,C,Core_1,0,idle
-325175125,TASK_InputProcessing,162,STI,IR_SCHED_Tasks_C1,1097,trigger
-325175125,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-325175175,TASK_CalcEngineSpeed,162,STI,IR_SCHED_Tasks_C2,1047,trigger
-325175175,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-325175175,TASK_10MS,32,R,FUNC_EXECTIME_1,594,suspend
-325175175,Core_2,0,T,TASK_10MS,32,preempt
-325175175,Core_2,0,C,Core_2,0,idle_execution
-325175175,TASK_10MS,32,C,Core_2,0,idle_execution
-325175175,Core_2,0,T,TASK_CalcEngineSpeed,162,start
-325175175,TASK_CalcEngineSpeed,162,R,FUNC_ENGINESPEED,162,start
-325175175,Core_2,0,C,Core_2,0,execute
-325175175,TASK_CalcEngineSpeed,162,C,Core_2,0,execute
-325250000,SIM,-1,STI,TIMER-1MS,325,trigger
-325250000,TIMER-1MS,325,T,TASK_1MS,325,activate
-325250000,TASK_1MS,325,SCHED,SCHED_Tasks_C1,-1,processactivate
-325250100,TASK_1MS,325,STI,IR_SCHED_Tasks_C1,1098,trigger
-325250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-325250100,Core_1,0,T,TASK_1MS,325,start
-325250100,TASK_1MS,325,R,FUNC_EXECTIME_1,595,start
-325250100,Core_1,0,C,Core_1,0,execute
-325250100,TASK_1MS,325,C,Core_1,0,execute
-325355900,TASK_CalcEngineSpeed,162,R,FUNC_ENGINESPEED,162,terminate
-325355900,Core_2,0,T,TASK_CalcEngineSpeed,162,terminate
-325355900,TASK_CalcEngineSpeed,162,SCHED,SCHED_Tasks_C2,-1,processterminate
-325355900,Core_2,0,C,Core_2,0,idle
-325355900,TASK_CalcEngineSpeed,162,C,Core_2,0,idle
-325356000,TASK_CalcEngineSpeed,162,STI,IR_SCHED_Tasks_C2,1048,trigger
-325356000,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-325356000,Core_2,0,C,Core_2,0,execute_idle
-325356000,TASK_10MS,32,C,Core_2,0,execute_idle
-325356000,Core_2,0,T,TASK_10MS,32,resume
-325356000,TASK_10MS,32,R,FUNC_EXECTIME_1,594,resume
-325528850,TASK_1MS,325,R,FUNC_EXECTIME_1,595,terminate
-325528850,Core_1,0,T,TASK_1MS,325,terminate
-325528850,TASK_1MS,325,SCHED,SCHED_Tasks_C1,-1,processterminate
-325528850,Core_1,0,C,Core_1,0,idle
-325528850,TASK_1MS,325,C,Core_1,0,idle
-325528950,TASK_1MS,325,STI,IR_SCHED_Tasks_C1,1099,trigger
-325528950,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-325533650,TASK_10MS,32,R,FUNC_EXECTIME_1,594,terminate
-325533650,Core_2,0,T,TASK_10MS,32,terminate
-325533650,TASK_10MS,32,SCHED,SCHED_Tasks_C2,-1,processterminate
-325533650,Core_2,0,C,Core_2,0,idle
-325533650,TASK_10MS,32,C,Core_2,0,idle
-325533750,TASK_10MS,32,STI,IR_SCHED_Tasks_C2,1049,trigger
-325533750,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-326000000,SIM,-1,STI,TIMER-B_2ms,163,trigger
-326000000,TIMER-B_2ms,163,T,TASK_WritingActuator,163,activate
-326000000,TASK_WritingActuator,163,SCHED,SCHED_Tasks_C2,-1,processactivate
-326000100,TASK_WritingActuator,163,STI,IR_SCHED_Tasks_C2,1050,trigger
-326000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-326000100,Core_2,0,T,TASK_WritingActuator,163,start
-326000100,TASK_WritingActuator,163,R,FUNC_SEMLOCK,326,start
-326000100,Core_2,0,C,Core_2,0,execute
-326000100,TASK_WritingActuator,163,C,Core_2,0,execute
-326100000,SIM,-1,STI,TIMER-5MS,163,trigger
-326100000,TIMER-5MS,163,T,TASK_5MS,163,activate
-326100000,TASK_5MS,163,SCHED,SCHED_Tasks_C2,-1,processactivate
-326100100,TASK_5MS,163,STI,IR_SCHED_Tasks_C2,1051,trigger
-326100100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-326125100,TASK_WritingActuator,163,SEM,SEM_DataElement1,0,requestsemaphore,0
-326125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-326125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-326125100,Core_2,0,C,Core_2,0,lock
-326125100,TASK_WritingActuator,163,SEM,SEM_DataElement1,0,assigned,1
-326125150,TASK_WritingActuator,163,R,FUNC_SEMLOCK,326,terminate
-326125150,Core_2,0,C,Core_2,0,unlock
-326125150,TASK_WritingActuator,163,R,FUNC_WriteData,163,start
-326150000,SIM,-1,STI,TIMER-A_2ms,163,trigger
-326150000,TIMER-A_2ms,163,T,TASK_InputProcessing,163,activate
-326150000,TASK_InputProcessing,163,SCHED,SCHED_Tasks_C1,-1,processactivate
-326150100,TASK_InputProcessing,163,STI,IR_SCHED_Tasks_C1,1100,trigger
-326150100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-326150100,Core_1,0,T,TASK_InputProcessing,163,start
-326150100,TASK_InputProcessing,163,R,FUNC_SEMLOCK,327,start
-326150100,Core_1,0,C,Core_1,0,execute
-326150100,TASK_InputProcessing,163,C,Core_1,0,execute
-326152325,TASK_WritingActuator,163,SIG,SIG_Mixture,0,write,0
-326152325,TASK_WritingActuator,163,R,FUNC_WriteData,163,terminate
-326152325,TASK_WritingActuator,163,R,FUNC_SEMUNLOCK,326,start
-326250000,SIM,-1,STI,TIMER-1MS,326,trigger
-326250000,TIMER-1MS,326,T,TASK_1MS,326,activate
-326250000,TASK_1MS,326,SCHED,SCHED_Tasks_C1,-1,processactivate
-326250100,TASK_1MS,326,STI,IR_SCHED_Tasks_C1,1101,trigger
-326250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-326250100,TASK_InputProcessing,163,R,FUNC_SEMLOCK,327,suspend
-326250100,Core_1,0,T,TASK_InputProcessing,163,preempt
-326250100,Core_1,0,C,Core_1,0,idle_execution
-326250100,TASK_InputProcessing,163,C,Core_1,0,idle_execution
-326250100,Core_1,0,T,TASK_1MS,326,start
-326250100,TASK_1MS,326,R,FUNC_EXECTIME_1,597,start
-326250100,Core_1,0,C,Core_1,0,execute
-326250100,TASK_1MS,326,C,Core_1,0,execute
-326352325,TASK_WritingActuator,163,SEM,SEM_DataElement1,0,released,1
-326352325,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-326352325,TASK_WritingActuator,163,SCHED,SCHED_Tasks_C2,-1,schedulepoint
-326352325,Core_2,0,C,Core_2,0,lock
-326352375,TASK_WritingActuator,163,R,FUNC_SEMUNLOCK,326,terminate
-326352375,Core_2,0,T,TASK_WritingActuator,163,terminate
-326352375,TASK_WritingActuator,163,SCHED,SCHED_Tasks_C2,-1,processterminate
-326352375,Core_2,0,C,Core_2,0,unlock
-326352375,Core_2,0,C,Core_2,0,idle
-326352375,TASK_WritingActuator,163,C,Core_2,0,idle
-326352425,TASK_WritingActuator,163,STI,IR_SCHED_Tasks_C2,1052,trigger
-326352425,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-326352425,Core_2,0,T,TASK_5MS,163,start
-326352425,TASK_5MS,163,R,FUNC_EXECTIME_1,596,start
-326352425,Core_2,0,C,Core_2,0,execute
-326352425,TASK_5MS,163,C,Core_2,0,execute
-326635100,TASK_5MS,163,R,FUNC_EXECTIME_1,596,terminate
-326635100,Core_2,0,T,TASK_5MS,163,terminate
-326635100,TASK_5MS,163,SCHED,SCHED_Tasks_C2,-1,processterminate
-326635100,Core_2,0,C,Core_2,0,idle
-326635100,TASK_5MS,163,C,Core_2,0,idle
-326635200,TASK_5MS,163,STI,IR_SCHED_Tasks_C2,1053,trigger
-326635200,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-326745475,TASK_1MS,326,R,FUNC_EXECTIME_1,597,terminate
-326745475,Core_1,0,T,TASK_1MS,326,terminate
-326745475,TASK_1MS,326,SCHED,SCHED_Tasks_C1,-1,processterminate
-326745475,Core_1,0,C,Core_1,0,idle
-326745475,TASK_1MS,326,C,Core_1,0,idle
-326745575,TASK_1MS,326,STI,IR_SCHED_Tasks_C1,1102,trigger
-326745575,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-326745575,Core_1,0,C,Core_1,0,execute_idle
-326745575,TASK_InputProcessing,163,C,Core_1,0,execute_idle
-326745575,Core_1,0,T,TASK_InputProcessing,163,resume
-326745575,TASK_InputProcessing,163,R,FUNC_SEMLOCK,327,resume
-326770575,TASK_InputProcessing,163,SEM,SEM_DataElement1,0,requestsemaphore,0
-326770575,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-326770575,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-326770575,Core_1,0,C,Core_1,0,lock
-326770575,TASK_InputProcessing,163,SEM,SEM_DataElement1,0,assigned,1
-326770625,TASK_InputProcessing,163,R,FUNC_SEMLOCK,327,terminate
-326770625,Core_1,0,C,Core_1,0,unlock
-326770625,TASK_InputProcessing,163,R,FUNC_ReadSensorData,163,start
-326930175,TASK_InputProcessing,163,SIG,SIG_RotationSpeed,0,read,0
-326930175,TASK_InputProcessing,163,SIG,SIG_Lambda,0,read,0
-326930175,TASK_InputProcessing,163,SIG,SIG_Temperature,0,read,0
-326930175,TASK_InputProcessing,163,R,FUNC_ReadSensorData,163,terminate
-326930175,TASK_InputProcessing,163,R,FUNC_SEMUNLOCK,327,start
-327130175,TASK_InputProcessing,163,SEM,SEM_DataElement1,0,released,1
-327130175,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-327130175,TASK_InputProcessing,163,SCHED,SCHED_Tasks_C1,-1,schedulepoint
-327130175,Core_1,0,C,Core_1,0,lock
-327130225,TASK_InputProcessing,163,R,FUNC_SEMUNLOCK,327,terminate
-327130225,Core_1,0,C,Core_1,0,unlock
-327130225,TASK_InputProcessing,163,STI,IPA_InputReady,163,trigger
-327130225,IPA_InputReady,163,T,TASK_CalcEngineSpeed,163,activate
-327130225,TASK_CalcEngineSpeed,163,SCHED,SCHED_Tasks_C2,-1,processactivate
-327130225,Core_1,0,T,TASK_InputProcessing,163,terminate
-327130225,TASK_InputProcessing,163,SCHED,SCHED_Tasks_C1,-1,processterminate
-327130225,Core_1,0,C,Core_1,0,idle
-327130225,TASK_InputProcessing,163,C,Core_1,0,idle
-327130275,TASK_InputProcessing,163,STI,IR_SCHED_Tasks_C1,1103,trigger
-327130275,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-327130325,TASK_CalcEngineSpeed,163,STI,IR_SCHED_Tasks_C2,1054,trigger
-327130325,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-327130325,Core_2,0,T,TASK_CalcEngineSpeed,163,start
-327130325,TASK_CalcEngineSpeed,163,R,FUNC_ENGINESPEED,163,start
-327130325,Core_2,0,C,Core_2,0,execute
-327130325,TASK_CalcEngineSpeed,163,C,Core_2,0,execute
-327234025,TASK_CalcEngineSpeed,163,R,FUNC_ENGINESPEED,163,terminate
-327234025,Core_2,0,T,TASK_CalcEngineSpeed,163,terminate
-327234025,TASK_CalcEngineSpeed,163,SCHED,SCHED_Tasks_C2,-1,processterminate
-327234025,Core_2,0,C,Core_2,0,idle
-327234025,TASK_CalcEngineSpeed,163,C,Core_2,0,idle
-327234125,TASK_CalcEngineSpeed,163,STI,IR_SCHED_Tasks_C2,1055,trigger
-327234125,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-327250000,SIM,-1,STI,TIMER-1MS,327,trigger
-327250000,TIMER-1MS,327,T,TASK_1MS,327,activate
-327250000,TASK_1MS,327,SCHED,SCHED_Tasks_C1,-1,processactivate
-327250100,TASK_1MS,327,STI,IR_SCHED_Tasks_C1,1104,trigger
-327250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-327250100,Core_1,0,T,TASK_1MS,327,start
-327250100,TASK_1MS,327,R,FUNC_EXECTIME_1,598,start
-327250100,Core_1,0,C,Core_1,0,execute
-327250100,TASK_1MS,327,C,Core_1,0,execute
-327814975,TASK_1MS,327,R,FUNC_EXECTIME_1,598,terminate
-327814975,Core_1,0,T,TASK_1MS,327,terminate
-327814975,TASK_1MS,327,SCHED,SCHED_Tasks_C1,-1,processterminate
-327814975,Core_1,0,C,Core_1,0,idle
-327814975,TASK_1MS,327,C,Core_1,0,idle
-327815075,TASK_1MS,327,STI,IR_SCHED_Tasks_C1,1105,trigger
-327815075,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-328000000,SIM,-1,STI,TIMER-B_2ms,164,trigger
-328000000,TIMER-B_2ms,164,T,TASK_WritingActuator,164,activate
-328000000,TASK_WritingActuator,164,SCHED,SCHED_Tasks_C2,-1,processactivate
-328000100,TASK_WritingActuator,164,STI,IR_SCHED_Tasks_C2,1056,trigger
-328000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-328000100,Core_2,0,T,TASK_WritingActuator,164,start
-328000100,TASK_WritingActuator,164,R,FUNC_SEMLOCK,328,start
-328000100,Core_2,0,C,Core_2,0,execute
-328000100,TASK_WritingActuator,164,C,Core_2,0,execute
-328100000,SIM,-1,STI,TIMER-5MS,164,trigger
-328100000,TIMER-5MS,164,T,TASK_5MS,164,activate
-328100000,TASK_5MS,164,SCHED,SCHED_Tasks_C2,-1,processactivate
-328100100,TASK_5MS,164,STI,IR_SCHED_Tasks_C2,1057,trigger
-328100100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-328125100,TASK_WritingActuator,164,SEM,SEM_DataElement1,0,requestsemaphore,0
-328125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-328125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-328125100,Core_2,0,C,Core_2,0,lock
-328125100,TASK_WritingActuator,164,SEM,SEM_DataElement1,0,assigned,1
-328125150,TASK_WritingActuator,164,R,FUNC_SEMLOCK,328,terminate
-328125150,Core_2,0,C,Core_2,0,unlock
-328125150,TASK_WritingActuator,164,R,FUNC_WriteData,164,start
-328150000,SIM,-1,STI,TIMER-A_2ms,164,trigger
-328150000,TIMER-A_2ms,164,T,TASK_InputProcessing,164,activate
-328150000,TASK_InputProcessing,164,SCHED,SCHED_Tasks_C1,-1,processactivate
-328150100,TASK_InputProcessing,164,STI,IR_SCHED_Tasks_C1,1106,trigger
-328150100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-328150100,Core_1,0,T,TASK_InputProcessing,164,start
-328150100,TASK_InputProcessing,164,R,FUNC_SEMLOCK,329,start
-328150100,Core_1,0,C,Core_1,0,execute
-328150100,TASK_InputProcessing,164,C,Core_1,0,execute
-328152025,TASK_WritingActuator,164,SIG,SIG_Mixture,0,write,0
-328152025,TASK_WritingActuator,164,R,FUNC_WriteData,164,terminate
-328152025,TASK_WritingActuator,164,R,FUNC_SEMUNLOCK,328,start
-328250000,SIM,-1,STI,TIMER-1MS,328,trigger
-328250000,TIMER-1MS,328,T,TASK_1MS,328,activate
-328250000,TASK_1MS,328,SCHED,SCHED_Tasks_C1,-1,processactivate
-328250100,TASK_1MS,328,STI,IR_SCHED_Tasks_C1,1107,trigger
-328250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-328250100,TASK_InputProcessing,164,R,FUNC_SEMLOCK,329,suspend
-328250100,Core_1,0,T,TASK_InputProcessing,164,preempt
-328250100,Core_1,0,C,Core_1,0,idle_execution
-328250100,TASK_InputProcessing,164,C,Core_1,0,idle_execution
-328250100,Core_1,0,T,TASK_1MS,328,start
-328250100,TASK_1MS,328,R,FUNC_EXECTIME_1,600,start
-328250100,Core_1,0,C,Core_1,0,execute
-328250100,TASK_1MS,328,C,Core_1,0,execute
-328352025,TASK_WritingActuator,164,SEM,SEM_DataElement1,0,released,1
-328352025,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-328352025,TASK_WritingActuator,164,SCHED,SCHED_Tasks_C2,-1,schedulepoint
-328352025,Core_2,0,C,Core_2,0,lock
-328352075,TASK_WritingActuator,164,R,FUNC_SEMUNLOCK,328,terminate
-328352075,Core_2,0,T,TASK_WritingActuator,164,terminate
-328352075,TASK_WritingActuator,164,SCHED,SCHED_Tasks_C2,-1,processterminate
-328352075,Core_2,0,C,Core_2,0,unlock
-328352075,Core_2,0,C,Core_2,0,idle
-328352075,TASK_WritingActuator,164,C,Core_2,0,idle
-328352125,TASK_WritingActuator,164,STI,IR_SCHED_Tasks_C2,1058,trigger
-328352125,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-328352125,Core_2,0,T,TASK_5MS,164,start
-328352125,TASK_5MS,164,R,FUNC_EXECTIME_1,599,start
-328352125,Core_2,0,C,Core_2,0,execute
-328352125,TASK_5MS,164,C,Core_2,0,execute
-328515650,TASK_1MS,328,R,FUNC_EXECTIME_1,600,terminate
-328515650,Core_1,0,T,TASK_1MS,328,terminate
-328515650,TASK_1MS,328,SCHED,SCHED_Tasks_C1,-1,processterminate
-328515650,Core_1,0,C,Core_1,0,idle
-328515650,TASK_1MS,328,C,Core_1,0,idle
-328515750,TASK_1MS,328,STI,IR_SCHED_Tasks_C1,1108,trigger
-328515750,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-328515750,Core_1,0,C,Core_1,0,execute_idle
-328515750,TASK_InputProcessing,164,C,Core_1,0,execute_idle
-328515750,Core_1,0,T,TASK_InputProcessing,164,resume
-328515750,TASK_InputProcessing,164,R,FUNC_SEMLOCK,329,resume
-328540750,TASK_InputProcessing,164,SEM,SEM_DataElement1,0,requestsemaphore,0
-328540750,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-328540750,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-328540750,Core_1,0,C,Core_1,0,lock
-328540750,TASK_InputProcessing,164,SEM,SEM_DataElement1,0,assigned,1
-328540800,TASK_InputProcessing,164,R,FUNC_SEMLOCK,329,terminate
-328540800,Core_1,0,C,Core_1,0,unlock
-328540800,TASK_InputProcessing,164,R,FUNC_ReadSensorData,164,start
-328702875,TASK_InputProcessing,164,SIG,SIG_RotationSpeed,0,read,0
-328702875,TASK_InputProcessing,164,SIG,SIG_Lambda,0,read,0
-328702875,TASK_InputProcessing,164,SIG,SIG_Temperature,0,read,0
-328702875,TASK_InputProcessing,164,R,FUNC_ReadSensorData,164,terminate
-328702875,TASK_InputProcessing,164,R,FUNC_SEMUNLOCK,329,start
-328757375,TASK_5MS,164,R,FUNC_EXECTIME_1,599,terminate
-328757375,Core_2,0,T,TASK_5MS,164,terminate
-328757375,TASK_5MS,164,SCHED,SCHED_Tasks_C2,-1,processterminate
-328757375,Core_2,0,C,Core_2,0,idle
-328757375,TASK_5MS,164,C,Core_2,0,idle
-328757475,TASK_5MS,164,STI,IR_SCHED_Tasks_C2,1059,trigger
-328757475,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-328902875,TASK_InputProcessing,164,SEM,SEM_DataElement1,0,released,1
-328902875,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-328902875,TASK_InputProcessing,164,SCHED,SCHED_Tasks_C1,-1,schedulepoint
-328902875,Core_1,0,C,Core_1,0,lock
-328902925,TASK_InputProcessing,164,R,FUNC_SEMUNLOCK,329,terminate
-328902925,Core_1,0,C,Core_1,0,unlock
-328902925,TASK_InputProcessing,164,STI,IPA_InputReady,164,trigger
-328902925,IPA_InputReady,164,T,TASK_CalcEngineSpeed,164,activate
-328902925,TASK_CalcEngineSpeed,164,SCHED,SCHED_Tasks_C2,-1,processactivate
-328902925,Core_1,0,T,TASK_InputProcessing,164,terminate
-328902925,TASK_InputProcessing,164,SCHED,SCHED_Tasks_C1,-1,processterminate
-328902925,Core_1,0,C,Core_1,0,idle
-328902925,TASK_InputProcessing,164,C,Core_1,0,idle
-328902975,TASK_InputProcessing,164,STI,IR_SCHED_Tasks_C1,1109,trigger
-328902975,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-328903025,TASK_CalcEngineSpeed,164,STI,IR_SCHED_Tasks_C2,1060,trigger
-328903025,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-328903025,Core_2,0,T,TASK_CalcEngineSpeed,164,start
-328903025,TASK_CalcEngineSpeed,164,R,FUNC_ENGINESPEED,164,start
-328903025,Core_2,0,C,Core_2,0,execute
-328903025,TASK_CalcEngineSpeed,164,C,Core_2,0,execute
-329076125,TASK_CalcEngineSpeed,164,R,FUNC_ENGINESPEED,164,terminate
-329076125,Core_2,0,T,TASK_CalcEngineSpeed,164,terminate
-329076125,TASK_CalcEngineSpeed,164,SCHED,SCHED_Tasks_C2,-1,processterminate
-329076125,Core_2,0,C,Core_2,0,idle
-329076125,TASK_CalcEngineSpeed,164,C,Core_2,0,idle
-329076225,TASK_CalcEngineSpeed,164,STI,IR_SCHED_Tasks_C2,1061,trigger
-329076225,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-329250000,SIM,-1,STI,TIMER-1MS,329,trigger
-329250000,TIMER-1MS,329,T,TASK_1MS,329,activate
-329250000,TASK_1MS,329,SCHED,SCHED_Tasks_C1,-1,processactivate
-329250100,TASK_1MS,329,STI,IR_SCHED_Tasks_C1,1110,trigger
-329250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-329250100,Core_1,0,T,TASK_1MS,329,start
-329250100,TASK_1MS,329,R,FUNC_EXECTIME_1,601,start
-329250100,Core_1,0,C,Core_1,0,execute
-329250100,TASK_1MS,329,C,Core_1,0,execute
-329955375,TASK_1MS,329,R,FUNC_EXECTIME_1,601,terminate
-329955375,Core_1,0,T,TASK_1MS,329,terminate
-329955375,TASK_1MS,329,SCHED,SCHED_Tasks_C1,-1,processterminate
-329955375,Core_1,0,C,Core_1,0,idle
-329955375,TASK_1MS,329,C,Core_1,0,idle
-329955475,TASK_1MS,329,STI,IR_SCHED_Tasks_C1,1111,trigger
-329955475,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-330000000,SIM,-1,STI,TIMER-B_2ms,165,trigger
-330000000,TIMER-B_2ms,165,T,TASK_WritingActuator,165,activate
-330000000,TASK_WritingActuator,165,SCHED,SCHED_Tasks_C2,-1,processactivate
-330000000,SIM,-1,STI,TIMER-10MS_2,33,trigger
-330000000,TIMER-10MS_2,33,T,TASK_10MS_DL2,33,activate
-330000000,TASK_10MS_DL2,33,SCHED,SCHED_Tasks_C1,-1,processactivate
-330000100,TASK_WritingActuator,165,STI,IR_SCHED_Tasks_C2,1062,trigger
-330000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-330000100,Core_2,0,T,TASK_WritingActuator,165,start
-330000100,TASK_WritingActuator,165,R,FUNC_SEMLOCK,330,start
-330000100,Core_2,0,C,Core_2,0,execute
-330000100,TASK_WritingActuator,165,C,Core_2,0,execute
-330000100,TASK_10MS_DL2,33,STI,IR_SCHED_Tasks_C1,1112,trigger
-330000100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-330000100,Core_1,0,T,TASK_10MS_DL2,33,start
-330000100,TASK_10MS_DL2,33,R,FUNC_EXECTIME_1,602,start
-330000100,Core_1,0,C,Core_1,0,execute
-330000100,TASK_10MS_DL2,33,C,Core_1,0,execute
-330100000,SIM,-1,STI,TIMER-5MS,165,trigger
-330100000,TIMER-5MS,165,T,TASK_5MS,165,activate
-330100000,TASK_5MS,165,SCHED,SCHED_Tasks_C2,-1,processactivate
-330100100,TASK_5MS,165,STI,IR_SCHED_Tasks_C2,1063,trigger
-330100100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-330125100,TASK_WritingActuator,165,SEM,SEM_DataElement1,0,requestsemaphore,0
-330125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-330125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-330125100,Core_2,0,C,Core_2,0,lock
-330125100,TASK_WritingActuator,165,SEM,SEM_DataElement1,0,assigned,1
-330125150,TASK_WritingActuator,165,R,FUNC_SEMLOCK,330,terminate
-330125150,Core_2,0,C,Core_2,0,unlock
-330125150,TASK_WritingActuator,165,R,FUNC_WriteData,165,start
-330150000,SIM,-1,STI,TIMER-A_2ms,165,trigger
-330150000,TIMER-A_2ms,165,T,TASK_InputProcessing,165,activate
-330150000,TASK_InputProcessing,165,SCHED,SCHED_Tasks_C1,-1,processactivate
-330150100,TASK_InputProcessing,165,STI,IR_SCHED_Tasks_C1,1113,trigger
-330150100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-330151350,TASK_WritingActuator,165,SIG,SIG_Mixture,0,write,0
-330151350,TASK_WritingActuator,165,R,FUNC_WriteData,165,terminate
-330151350,TASK_WritingActuator,165,R,FUNC_SEMUNLOCK,330,start
-330250000,SIM,-1,STI,TIMER-1MS,330,trigger
-330250000,TIMER-1MS,330,T,TASK_1MS,330,activate
-330250000,TASK_1MS,330,SCHED,SCHED_Tasks_C1,-1,processactivate
-330250100,TASK_1MS,330,STI,IR_SCHED_Tasks_C1,1114,trigger
-330250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-330250100,TASK_10MS_DL2,33,R,FUNC_EXECTIME_1,602,suspend
-330250100,Core_1,0,T,TASK_10MS_DL2,33,preempt
-330250100,Core_1,0,C,Core_1,0,idle_execution
-330250100,TASK_10MS_DL2,33,C,Core_1,0,idle_execution
-330250100,Core_1,0,T,TASK_1MS,330,start
-330250100,TASK_1MS,330,R,FUNC_EXECTIME_1,604,start
-330250100,Core_1,0,C,Core_1,0,execute
-330250100,TASK_1MS,330,C,Core_1,0,execute
-330351350,TASK_WritingActuator,165,SEM,SEM_DataElement1,0,released,1
-330351350,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-330351350,TASK_WritingActuator,165,SCHED,SCHED_Tasks_C2,-1,schedulepoint
-330351350,Core_2,0,C,Core_2,0,lock
-330351400,TASK_WritingActuator,165,R,FUNC_SEMUNLOCK,330,terminate
-330351400,Core_2,0,T,TASK_WritingActuator,165,terminate
-330351400,TASK_WritingActuator,165,SCHED,SCHED_Tasks_C2,-1,processterminate
-330351400,Core_2,0,C,Core_2,0,unlock
-330351400,Core_2,0,C,Core_2,0,idle
-330351400,TASK_WritingActuator,165,C,Core_2,0,idle
-330351450,TASK_WritingActuator,165,STI,IR_SCHED_Tasks_C2,1064,trigger
-330351450,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-330351450,Core_2,0,T,TASK_5MS,165,start
-330351450,TASK_5MS,165,R,FUNC_EXECTIME_1,603,start
-330351450,Core_2,0,C,Core_2,0,execute
-330351450,TASK_5MS,165,C,Core_2,0,execute
-330630800,TASK_1MS,330,R,FUNC_EXECTIME_1,604,terminate
-330630800,Core_1,0,T,TASK_1MS,330,terminate
-330630800,TASK_1MS,330,SCHED,SCHED_Tasks_C1,-1,processterminate
-330630800,Core_1,0,C,Core_1,0,idle
-330630800,TASK_1MS,330,C,Core_1,0,idle
-330630900,TASK_1MS,330,STI,IR_SCHED_Tasks_C1,1115,trigger
-330630900,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-330630900,Core_1,0,C,Core_1,0,execute_idle
-330630900,TASK_10MS_DL2,33,C,Core_1,0,execute_idle
-330630900,Core_1,0,T,TASK_10MS_DL2,33,resume
-330630900,TASK_10MS_DL2,33,R,FUNC_EXECTIME_1,602,resume
-330782575,TASK_10MS_DL2,33,R,FUNC_EXECTIME_1,602,terminate
-330782575,Core_1,0,T,TASK_10MS_DL2,33,terminate
-330782575,TASK_10MS_DL2,33,SCHED,SCHED_Tasks_C1,-1,processterminate
-330782575,Core_1,0,C,Core_1,0,idle
-330782575,TASK_10MS_DL2,33,C,Core_1,0,idle
-330782675,TASK_10MS_DL2,33,STI,IR_SCHED_Tasks_C1,1116,trigger
-330782675,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-330782675,Core_1,0,T,TASK_InputProcessing,165,start
-330782675,TASK_InputProcessing,165,R,FUNC_SEMLOCK,331,start
-330782675,Core_1,0,C,Core_1,0,execute
-330782675,TASK_InputProcessing,165,C,Core_1,0,execute
-330875025,TASK_5MS,165,R,FUNC_EXECTIME_1,603,terminate
-330875025,Core_2,0,T,TASK_5MS,165,terminate
-330875025,TASK_5MS,165,SCHED,SCHED_Tasks_C2,-1,processterminate
-330875025,Core_2,0,C,Core_2,0,idle
-330875025,TASK_5MS,165,C,Core_2,0,idle
-330875125,TASK_5MS,165,STI,IR_SCHED_Tasks_C2,1065,trigger
-330875125,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-330907675,TASK_InputProcessing,165,SEM,SEM_DataElement1,0,requestsemaphore,0
-330907675,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-330907675,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-330907675,Core_1,0,C,Core_1,0,lock
-330907675,TASK_InputProcessing,165,SEM,SEM_DataElement1,0,assigned,1
-330907725,TASK_InputProcessing,165,R,FUNC_SEMLOCK,331,terminate
-330907725,Core_1,0,C,Core_1,0,unlock
-330907725,TASK_InputProcessing,165,R,FUNC_ReadSensorData,165,start
-331069950,TASK_InputProcessing,165,SIG,SIG_RotationSpeed,0,read,0
-331069950,TASK_InputProcessing,165,SIG,SIG_Lambda,0,read,0
-331069950,TASK_InputProcessing,165,SIG,SIG_Temperature,0,read,0
-331069950,TASK_InputProcessing,165,R,FUNC_ReadSensorData,165,terminate
-331069950,TASK_InputProcessing,165,R,FUNC_SEMUNLOCK,331,start
-331250000,SIM,-1,STI,TIMER-1MS,331,trigger
-331250000,TIMER-1MS,331,T,TASK_1MS,331,activate
-331250000,TASK_1MS,331,SCHED,SCHED_Tasks_C1,-1,processactivate
-331250100,TASK_1MS,331,STI,IR_SCHED_Tasks_C1,1117,trigger
-331250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-331269950,TASK_InputProcessing,165,SEM,SEM_DataElement1,0,released,1
-331269950,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-331269950,TASK_InputProcessing,165,SCHED,SCHED_Tasks_C1,-1,schedulepoint
-331269950,Core_1,0,C,Core_1,0,lock
-331270000,TASK_InputProcessing,165,R,FUNC_SEMUNLOCK,331,terminate
-331270000,Core_1,0,C,Core_1,0,unlock
-331270000,TASK_InputProcessing,165,STI,IPA_InputReady,165,trigger
-331270000,IPA_InputReady,165,T,TASK_CalcEngineSpeed,165,activate
-331270000,TASK_CalcEngineSpeed,165,SCHED,SCHED_Tasks_C2,-1,processactivate
-331270000,Core_1,0,T,TASK_InputProcessing,165,terminate
-331270000,TASK_InputProcessing,165,SCHED,SCHED_Tasks_C1,-1,processterminate
-331270000,Core_1,0,C,Core_1,0,idle
-331270000,TASK_InputProcessing,165,C,Core_1,0,idle
-331270050,TASK_InputProcessing,165,STI,IR_SCHED_Tasks_C1,1118,trigger
-331270050,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-331270050,Core_1,0,T,TASK_1MS,331,start
-331270050,TASK_1MS,331,R,FUNC_EXECTIME_1,605,start
-331270050,Core_1,0,C,Core_1,0,execute
-331270050,TASK_1MS,331,C,Core_1,0,execute
-331270100,TASK_CalcEngineSpeed,165,STI,IR_SCHED_Tasks_C2,1066,trigger
-331270100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-331270100,Core_2,0,T,TASK_CalcEngineSpeed,165,start
-331270100,TASK_CalcEngineSpeed,165,R,FUNC_ENGINESPEED,165,start
-331270100,Core_2,0,C,Core_2,0,execute
-331270100,TASK_CalcEngineSpeed,165,C,Core_2,0,execute
-331490450,TASK_CalcEngineSpeed,165,R,FUNC_ENGINESPEED,165,terminate
-331490450,Core_2,0,T,TASK_CalcEngineSpeed,165,terminate
-331490450,TASK_CalcEngineSpeed,165,SCHED,SCHED_Tasks_C2,-1,processterminate
-331490450,Core_2,0,C,Core_2,0,idle
-331490450,TASK_CalcEngineSpeed,165,C,Core_2,0,idle
-331490550,TASK_CalcEngineSpeed,165,STI,IR_SCHED_Tasks_C2,1067,trigger
-331490550,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-332000000,SIM,-1,STI,TIMER-B_2ms,166,trigger
-332000000,TIMER-B_2ms,166,T,TASK_WritingActuator,166,activate
-332000000,TASK_WritingActuator,166,SCHED,SCHED_Tasks_C2,-1,processactivate
-332000100,TASK_WritingActuator,166,STI,IR_SCHED_Tasks_C2,1068,trigger
-332000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-332000100,Core_2,0,T,TASK_WritingActuator,166,start
-332000100,TASK_WritingActuator,166,R,FUNC_SEMLOCK,332,start
-332000100,Core_2,0,C,Core_2,0,execute
-332000100,TASK_WritingActuator,166,C,Core_2,0,execute
-332026425,TASK_1MS,331,R,FUNC_EXECTIME_1,605,terminate
-332026425,Core_1,0,T,TASK_1MS,331,terminate
-332026425,TASK_1MS,331,SCHED,SCHED_Tasks_C1,-1,processterminate
-332026425,Core_1,0,C,Core_1,0,idle
-332026425,TASK_1MS,331,C,Core_1,0,idle
-332026525,TASK_1MS,331,STI,IR_SCHED_Tasks_C1,1119,trigger
-332026525,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-332100000,SIM,-1,STI,TIMER-5MS,166,trigger
-332100000,TIMER-5MS,166,T,TASK_5MS,166,activate
-332100000,TASK_5MS,166,SCHED,SCHED_Tasks_C2,-1,processactivate
-332100100,TASK_5MS,166,STI,IR_SCHED_Tasks_C2,1069,trigger
-332100100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-332125100,TASK_WritingActuator,166,SEM,SEM_DataElement1,0,requestsemaphore,0
-332125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-332125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-332125100,Core_2,0,C,Core_2,0,lock
-332125100,TASK_WritingActuator,166,SEM,SEM_DataElement1,0,assigned,1
-332125150,TASK_WritingActuator,166,R,FUNC_SEMLOCK,332,terminate
-332125150,Core_2,0,C,Core_2,0,unlock
-332125150,TASK_WritingActuator,166,R,FUNC_WriteData,166,start
-332150000,SIM,-1,STI,TIMER-A_2ms,166,trigger
-332150000,TIMER-A_2ms,166,T,TASK_InputProcessing,166,activate
-332150000,TASK_InputProcessing,166,SCHED,SCHED_Tasks_C1,-1,processactivate
-332150100,TASK_InputProcessing,166,STI,IR_SCHED_Tasks_C1,1120,trigger
-332150100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-332150100,Core_1,0,T,TASK_InputProcessing,166,start
-332150100,TASK_InputProcessing,166,R,FUNC_SEMLOCK,333,start
-332150100,Core_1,0,C,Core_1,0,execute
-332150100,TASK_InputProcessing,166,C,Core_1,0,execute
-332152025,TASK_WritingActuator,166,SIG,SIG_Mixture,0,write,0
-332152025,TASK_WritingActuator,166,R,FUNC_WriteData,166,terminate
-332152025,TASK_WritingActuator,166,R,FUNC_SEMUNLOCK,332,start
-332250000,SIM,-1,STI,TIMER-1MS,332,trigger
-332250000,TIMER-1MS,332,T,TASK_1MS,332,activate
-332250000,TASK_1MS,332,SCHED,SCHED_Tasks_C1,-1,processactivate
-332250100,TASK_1MS,332,STI,IR_SCHED_Tasks_C1,1121,trigger
-332250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-332250100,TASK_InputProcessing,166,R,FUNC_SEMLOCK,333,suspend
-332250100,Core_1,0,T,TASK_InputProcessing,166,preempt
-332250100,Core_1,0,C,Core_1,0,idle_execution
-332250100,TASK_InputProcessing,166,C,Core_1,0,idle_execution
-332250100,Core_1,0,T,TASK_1MS,332,start
-332250100,TASK_1MS,332,R,FUNC_EXECTIME_1,607,start
-332250100,Core_1,0,C,Core_1,0,execute
-332250100,TASK_1MS,332,C,Core_1,0,execute
-332352025,TASK_WritingActuator,166,SEM,SEM_DataElement1,0,released,1
-332352025,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-332352025,TASK_WritingActuator,166,SCHED,SCHED_Tasks_C2,-1,schedulepoint
-332352025,Core_2,0,C,Core_2,0,lock
-332352075,TASK_WritingActuator,166,R,FUNC_SEMUNLOCK,332,terminate
-332352075,Core_2,0,T,TASK_WritingActuator,166,terminate
-332352075,TASK_WritingActuator,166,SCHED,SCHED_Tasks_C2,-1,processterminate
-332352075,Core_2,0,C,Core_2,0,unlock
-332352075,Core_2,0,C,Core_2,0,idle
-332352075,TASK_WritingActuator,166,C,Core_2,0,idle
-332352125,TASK_WritingActuator,166,STI,IR_SCHED_Tasks_C2,1070,trigger
-332352125,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-332352125,Core_2,0,T,TASK_5MS,166,start
-332352125,TASK_5MS,166,R,FUNC_EXECTIME_1,606,start
-332352125,Core_2,0,C,Core_2,0,execute
-332352125,TASK_5MS,166,C,Core_2,0,execute
-332647925,TASK_1MS,332,R,FUNC_EXECTIME_1,607,terminate
-332647925,Core_1,0,T,TASK_1MS,332,terminate
-332647925,TASK_1MS,332,SCHED,SCHED_Tasks_C1,-1,processterminate
-332647925,Core_1,0,C,Core_1,0,idle
-332647925,TASK_1MS,332,C,Core_1,0,idle
-332648025,TASK_1MS,332,STI,IR_SCHED_Tasks_C1,1122,trigger
-332648025,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-332648025,Core_1,0,C,Core_1,0,execute_idle
-332648025,TASK_InputProcessing,166,C,Core_1,0,execute_idle
-332648025,Core_1,0,T,TASK_InputProcessing,166,resume
-332648025,TASK_InputProcessing,166,R,FUNC_SEMLOCK,333,resume
-332673025,TASK_InputProcessing,166,SEM,SEM_DataElement1,0,requestsemaphore,0
-332673025,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-332673025,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-332673025,Core_1,0,C,Core_1,0,lock
-332673025,TASK_InputProcessing,166,SEM,SEM_DataElement1,0,assigned,1
-332673075,TASK_InputProcessing,166,R,FUNC_SEMLOCK,333,terminate
-332673075,Core_1,0,C,Core_1,0,unlock
-332673075,TASK_InputProcessing,166,R,FUNC_ReadSensorData,166,start
-332832650,TASK_InputProcessing,166,SIG,SIG_RotationSpeed,0,read,0
-332832650,TASK_InputProcessing,166,SIG,SIG_Lambda,0,read,0
-332832650,TASK_InputProcessing,166,SIG,SIG_Temperature,0,read,0
-332832650,TASK_InputProcessing,166,R,FUNC_ReadSensorData,166,terminate
-332832650,TASK_InputProcessing,166,R,FUNC_SEMUNLOCK,333,start
-333032650,TASK_InputProcessing,166,SEM,SEM_DataElement1,0,released,1
-333032650,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-333032650,TASK_InputProcessing,166,SCHED,SCHED_Tasks_C1,-1,schedulepoint
-333032650,Core_1,0,C,Core_1,0,lock
-333032700,TASK_InputProcessing,166,R,FUNC_SEMUNLOCK,333,terminate
-333032700,Core_1,0,C,Core_1,0,unlock
-333032700,TASK_InputProcessing,166,STI,IPA_InputReady,166,trigger
-333032700,IPA_InputReady,166,T,TASK_CalcEngineSpeed,166,activate
-333032700,TASK_CalcEngineSpeed,166,SCHED,SCHED_Tasks_C2,-1,processactivate
-333032700,Core_1,0,T,TASK_InputProcessing,166,terminate
-333032700,TASK_InputProcessing,166,SCHED,SCHED_Tasks_C1,-1,processterminate
-333032700,Core_1,0,C,Core_1,0,idle
-333032700,TASK_InputProcessing,166,C,Core_1,0,idle
-333032750,TASK_InputProcessing,166,STI,IR_SCHED_Tasks_C1,1123,trigger
-333032750,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-333032800,TASK_CalcEngineSpeed,166,STI,IR_SCHED_Tasks_C2,1071,trigger
-333032800,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-333032800,TASK_5MS,166,R,FUNC_EXECTIME_1,606,suspend
-333032800,Core_2,0,T,TASK_5MS,166,preempt
-333032800,Core_2,0,C,Core_2,0,idle_execution
-333032800,TASK_5MS,166,C,Core_2,0,idle_execution
-333032800,Core_2,0,T,TASK_CalcEngineSpeed,166,start
-333032800,TASK_CalcEngineSpeed,166,R,FUNC_ENGINESPEED,166,start
-333032800,Core_2,0,C,Core_2,0,execute
-333032800,TASK_CalcEngineSpeed,166,C,Core_2,0,execute
-333159675,TASK_CalcEngineSpeed,166,R,FUNC_ENGINESPEED,166,terminate
-333159675,Core_2,0,T,TASK_CalcEngineSpeed,166,terminate
-333159675,TASK_CalcEngineSpeed,166,SCHED,SCHED_Tasks_C2,-1,processterminate
-333159675,Core_2,0,C,Core_2,0,idle
-333159675,TASK_CalcEngineSpeed,166,C,Core_2,0,idle
-333159775,TASK_CalcEngineSpeed,166,STI,IR_SCHED_Tasks_C2,1072,trigger
-333159775,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-333159775,Core_2,0,C,Core_2,0,execute_idle
-333159775,TASK_5MS,166,C,Core_2,0,execute_idle
-333159775,Core_2,0,T,TASK_5MS,166,resume
-333159775,TASK_5MS,166,R,FUNC_EXECTIME_1,606,resume
-333250000,SIM,-1,STI,TIMER-1MS,333,trigger
-333250000,TIMER-1MS,333,T,TASK_1MS,333,activate
-333250000,TASK_1MS,333,SCHED,SCHED_Tasks_C1,-1,processactivate
-333250100,TASK_1MS,333,STI,IR_SCHED_Tasks_C1,1124,trigger
-333250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-333250100,Core_1,0,T,TASK_1MS,333,start
-333250100,TASK_1MS,333,R,FUNC_EXECTIME_1,608,start
-333250100,Core_1,0,C,Core_1,0,execute
-333250100,TASK_1MS,333,C,Core_1,0,execute
-333545350,TASK_5MS,166,R,FUNC_EXECTIME_1,606,terminate
-333545350,Core_2,0,T,TASK_5MS,166,terminate
-333545350,TASK_5MS,166,SCHED,SCHED_Tasks_C2,-1,processterminate
-333545350,Core_2,0,C,Core_2,0,idle
-333545350,TASK_5MS,166,C,Core_2,0,idle
-333545450,TASK_5MS,166,STI,IR_SCHED_Tasks_C2,1073,trigger
-333545450,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-333982475,TASK_1MS,333,R,FUNC_EXECTIME_1,608,terminate
-333982475,Core_1,0,T,TASK_1MS,333,terminate
-333982475,TASK_1MS,333,SCHED,SCHED_Tasks_C1,-1,processterminate
-333982475,Core_1,0,C,Core_1,0,idle
-333982475,TASK_1MS,333,C,Core_1,0,idle
-333982575,TASK_1MS,333,STI,IR_SCHED_Tasks_C1,1125,trigger
-333982575,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-334000000,SIM,-1,STI,TIMER-B_2ms,167,trigger
-334000000,TIMER-B_2ms,167,T,TASK_WritingActuator,167,activate
-334000000,TASK_WritingActuator,167,SCHED,SCHED_Tasks_C2,-1,processactivate
-334000100,TASK_WritingActuator,167,STI,IR_SCHED_Tasks_C2,1074,trigger
-334000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-334000100,Core_2,0,T,TASK_WritingActuator,167,start
-334000100,TASK_WritingActuator,167,R,FUNC_SEMLOCK,334,start
-334000100,Core_2,0,C,Core_2,0,execute
-334000100,TASK_WritingActuator,167,C,Core_2,0,execute
-334100000,SIM,-1,STI,TIMER-5MS,167,trigger
-334100000,TIMER-5MS,167,T,TASK_5MS,167,activate
-334100000,TASK_5MS,167,SCHED,SCHED_Tasks_C2,-1,processactivate
-334100100,TASK_5MS,167,STI,IR_SCHED_Tasks_C2,1075,trigger
-334100100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-334125100,TASK_WritingActuator,167,SEM,SEM_DataElement1,0,requestsemaphore,0
-334125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-334125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-334125100,Core_2,0,C,Core_2,0,lock
-334125100,TASK_WritingActuator,167,SEM,SEM_DataElement1,0,assigned,1
-334125150,TASK_WritingActuator,167,R,FUNC_SEMLOCK,334,terminate
-334125150,Core_2,0,C,Core_2,0,unlock
-334125150,TASK_WritingActuator,167,R,FUNC_WriteData,167,start
-334150000,SIM,-1,STI,TIMER-A_2ms,167,trigger
-334150000,TIMER-A_2ms,167,T,TASK_InputProcessing,167,activate
-334150000,TASK_InputProcessing,167,SCHED,SCHED_Tasks_C1,-1,processactivate
-334150100,TASK_InputProcessing,167,STI,IR_SCHED_Tasks_C1,1126,trigger
-334150100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-334150100,Core_1,0,T,TASK_InputProcessing,167,start
-334150100,TASK_InputProcessing,167,R,FUNC_SEMLOCK,335,start
-334150100,Core_1,0,C,Core_1,0,execute
-334150100,TASK_InputProcessing,167,C,Core_1,0,execute
-334152075,TASK_WritingActuator,167,SIG,SIG_Mixture,0,write,0
-334152075,TASK_WritingActuator,167,R,FUNC_WriteData,167,terminate
-334152075,TASK_WritingActuator,167,R,FUNC_SEMUNLOCK,334,start
-334250000,SIM,-1,STI,TIMER-1MS,334,trigger
-334250000,TIMER-1MS,334,T,TASK_1MS,334,activate
-334250000,TASK_1MS,334,SCHED,SCHED_Tasks_C1,-1,processactivate
-334250100,TASK_1MS,334,STI,IR_SCHED_Tasks_C1,1127,trigger
-334250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-334250100,TASK_InputProcessing,167,R,FUNC_SEMLOCK,335,suspend
-334250100,Core_1,0,T,TASK_InputProcessing,167,preempt
-334250100,Core_1,0,C,Core_1,0,idle_execution
-334250100,TASK_InputProcessing,167,C,Core_1,0,idle_execution
-334250100,Core_1,0,T,TASK_1MS,334,start
-334250100,TASK_1MS,334,R,FUNC_EXECTIME_1,610,start
-334250100,Core_1,0,C,Core_1,0,execute
-334250100,TASK_1MS,334,C,Core_1,0,execute
-334352075,TASK_WritingActuator,167,SEM,SEM_DataElement1,0,released,1
-334352075,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-334352075,TASK_WritingActuator,167,SCHED,SCHED_Tasks_C2,-1,schedulepoint
-334352075,Core_2,0,C,Core_2,0,lock
-334352125,TASK_WritingActuator,167,R,FUNC_SEMUNLOCK,334,terminate
-334352125,Core_2,0,T,TASK_WritingActuator,167,terminate
-334352125,TASK_WritingActuator,167,SCHED,SCHED_Tasks_C2,-1,processterminate
-334352125,Core_2,0,C,Core_2,0,unlock
-334352125,Core_2,0,C,Core_2,0,idle
-334352125,TASK_WritingActuator,167,C,Core_2,0,idle
-334352175,TASK_WritingActuator,167,STI,IR_SCHED_Tasks_C2,1076,trigger
-334352175,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-334352175,Core_2,0,T,TASK_5MS,167,start
-334352175,TASK_5MS,167,R,FUNC_EXECTIME_1,609,start
-334352175,Core_2,0,C,Core_2,0,execute
-334352175,TASK_5MS,167,C,Core_2,0,execute
-334638450,TASK_1MS,334,R,FUNC_EXECTIME_1,610,terminate
-334638450,Core_1,0,T,TASK_1MS,334,terminate
-334638450,TASK_1MS,334,SCHED,SCHED_Tasks_C1,-1,processterminate
-334638450,Core_1,0,C,Core_1,0,idle
-334638450,TASK_1MS,334,C,Core_1,0,idle
-334638550,TASK_1MS,334,STI,IR_SCHED_Tasks_C1,1128,trigger
-334638550,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-334638550,Core_1,0,C,Core_1,0,execute_idle
-334638550,TASK_InputProcessing,167,C,Core_1,0,execute_idle
-334638550,Core_1,0,T,TASK_InputProcessing,167,resume
-334638550,TASK_InputProcessing,167,R,FUNC_SEMLOCK,335,resume
-334663550,TASK_InputProcessing,167,SEM,SEM_DataElement1,0,requestsemaphore,0
-334663550,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-334663550,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-334663550,Core_1,0,C,Core_1,0,lock
-334663550,TASK_InputProcessing,167,SEM,SEM_DataElement1,0,assigned,1
-334663600,TASK_InputProcessing,167,R,FUNC_SEMLOCK,335,terminate
-334663600,Core_1,0,C,Core_1,0,unlock
-334663600,TASK_InputProcessing,167,R,FUNC_ReadSensorData,167,start
-334733500,TASK_5MS,167,R,FUNC_EXECTIME_1,609,terminate
-334733500,Core_2,0,T,TASK_5MS,167,terminate
-334733500,TASK_5MS,167,SCHED,SCHED_Tasks_C2,-1,processterminate
-334733500,Core_2,0,C,Core_2,0,idle
-334733500,TASK_5MS,167,C,Core_2,0,idle
-334733600,TASK_5MS,167,STI,IR_SCHED_Tasks_C2,1077,trigger
-334733600,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-334825950,TASK_InputProcessing,167,SIG,SIG_RotationSpeed,0,read,0
-334825950,TASK_InputProcessing,167,SIG,SIG_Lambda,0,read,0
-334825950,TASK_InputProcessing,167,SIG,SIG_Temperature,0,read,0
-334825950,TASK_InputProcessing,167,R,FUNC_ReadSensorData,167,terminate
-334825950,TASK_InputProcessing,167,R,FUNC_SEMUNLOCK,335,start
-335000000,SIM,-1,STI,TIMER-10MS,33,trigger
-335000000,TIMER-10MS,33,T,TASK_10MS,33,activate
-335000000,TASK_10MS,33,SCHED,SCHED_Tasks_C2,-1,processactivate
-335000100,TASK_10MS,33,STI,IR_SCHED_Tasks_C2,1078,trigger
-335000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-335000100,Core_2,0,T,TASK_10MS,33,start
-335000100,TASK_10MS,33,R,FUNC_EXECTIME_1,611,start
-335000100,Core_2,0,C,Core_2,0,execute
-335000100,TASK_10MS,33,C,Core_2,0,execute
-335025950,TASK_InputProcessing,167,SEM,SEM_DataElement1,0,released,1
-335025950,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-335025950,TASK_InputProcessing,167,SCHED,SCHED_Tasks_C1,-1,schedulepoint
-335025950,Core_1,0,C,Core_1,0,lock
-335026000,TASK_InputProcessing,167,R,FUNC_SEMUNLOCK,335,terminate
-335026000,Core_1,0,C,Core_1,0,unlock
-335026000,TASK_InputProcessing,167,STI,IPA_InputReady,167,trigger
-335026000,IPA_InputReady,167,T,TASK_CalcEngineSpeed,167,activate
-335026000,TASK_CalcEngineSpeed,167,SCHED,SCHED_Tasks_C2,-1,processactivate
-335026000,Core_1,0,T,TASK_InputProcessing,167,terminate
-335026000,TASK_InputProcessing,167,SCHED,SCHED_Tasks_C1,-1,processterminate
-335026000,Core_1,0,C,Core_1,0,idle
-335026000,TASK_InputProcessing,167,C,Core_1,0,idle
-335026050,TASK_InputProcessing,167,STI,IR_SCHED_Tasks_C1,1129,trigger
-335026050,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-335026100,TASK_CalcEngineSpeed,167,STI,IR_SCHED_Tasks_C2,1079,trigger
-335026100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-335026100,TASK_10MS,33,R,FUNC_EXECTIME_1,611,suspend
-335026100,Core_2,0,T,TASK_10MS,33,preempt
-335026100,Core_2,0,C,Core_2,0,idle_execution
-335026100,TASK_10MS,33,C,Core_2,0,idle_execution
-335026100,Core_2,0,T,TASK_CalcEngineSpeed,167,start
-335026100,TASK_CalcEngineSpeed,167,R,FUNC_ENGINESPEED,167,start
-335026100,Core_2,0,C,Core_2,0,execute
-335026100,TASK_CalcEngineSpeed,167,C,Core_2,0,execute
-335126250,TASK_CalcEngineSpeed,167,R,FUNC_ENGINESPEED,167,terminate
-335126250,Core_2,0,T,TASK_CalcEngineSpeed,167,terminate
-335126250,TASK_CalcEngineSpeed,167,SCHED,SCHED_Tasks_C2,-1,processterminate
-335126250,Core_2,0,C,Core_2,0,idle
-335126250,TASK_CalcEngineSpeed,167,C,Core_2,0,idle
-335126350,TASK_CalcEngineSpeed,167,STI,IR_SCHED_Tasks_C2,1080,trigger
-335126350,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-335126350,Core_2,0,C,Core_2,0,execute_idle
-335126350,TASK_10MS,33,C,Core_2,0,execute_idle
-335126350,Core_2,0,T,TASK_10MS,33,resume
-335126350,TASK_10MS,33,R,FUNC_EXECTIME_1,611,resume
-335250000,SIM,-1,STI,TIMER-1MS,335,trigger
-335250000,TIMER-1MS,335,T,TASK_1MS,335,activate
-335250000,TASK_1MS,335,SCHED,SCHED_Tasks_C1,-1,processactivate
-335250100,TASK_1MS,335,STI,IR_SCHED_Tasks_C1,1130,trigger
-335250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-335250100,Core_1,0,T,TASK_1MS,335,start
-335250100,TASK_1MS,335,R,FUNC_EXECTIME_1,612,start
-335250100,Core_1,0,C,Core_1,0,execute
-335250100,TASK_1MS,335,C,Core_1,0,execute
-335449175,TASK_10MS,33,R,FUNC_EXECTIME_1,611,terminate
-335449175,Core_2,0,T,TASK_10MS,33,terminate
-335449175,TASK_10MS,33,SCHED,SCHED_Tasks_C2,-1,processterminate
-335449175,Core_2,0,C,Core_2,0,idle
-335449175,TASK_10MS,33,C,Core_2,0,idle
-335449275,TASK_10MS,33,STI,IR_SCHED_Tasks_C2,1081,trigger
-335449275,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-335604950,TASK_1MS,335,R,FUNC_EXECTIME_1,612,terminate
-335604950,Core_1,0,T,TASK_1MS,335,terminate
-335604950,TASK_1MS,335,SCHED,SCHED_Tasks_C1,-1,processterminate
-335604950,Core_1,0,C,Core_1,0,idle
-335604950,TASK_1MS,335,C,Core_1,0,idle
-335605050,TASK_1MS,335,STI,IR_SCHED_Tasks_C1,1131,trigger
-335605050,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-336000000,SIM,-1,STI,TIMER-B_2ms,168,trigger
-336000000,TIMER-B_2ms,168,T,TASK_WritingActuator,168,activate
-336000000,TASK_WritingActuator,168,SCHED,SCHED_Tasks_C2,-1,processactivate
-336000100,TASK_WritingActuator,168,STI,IR_SCHED_Tasks_C2,1082,trigger
-336000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-336000100,Core_2,0,T,TASK_WritingActuator,168,start
-336000100,TASK_WritingActuator,168,R,FUNC_SEMLOCK,336,start
-336000100,Core_2,0,C,Core_2,0,execute
-336000100,TASK_WritingActuator,168,C,Core_2,0,execute
-336100000,SIM,-1,STI,TIMER-5MS,168,trigger
-336100000,TIMER-5MS,168,T,TASK_5MS,168,activate
-336100000,TASK_5MS,168,SCHED,SCHED_Tasks_C2,-1,processactivate
-336100100,TASK_5MS,168,STI,IR_SCHED_Tasks_C2,1083,trigger
-336100100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-336125100,TASK_WritingActuator,168,SEM,SEM_DataElement1,0,requestsemaphore,0
-336125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-336125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-336125100,Core_2,0,C,Core_2,0,lock
-336125100,TASK_WritingActuator,168,SEM,SEM_DataElement1,0,assigned,1
-336125150,TASK_WritingActuator,168,R,FUNC_SEMLOCK,336,terminate
-336125150,Core_2,0,C,Core_2,0,unlock
-336125150,TASK_WritingActuator,168,R,FUNC_WriteData,168,start
-336150000,SIM,-1,STI,TIMER-A_2ms,168,trigger
-336150000,TIMER-A_2ms,168,T,TASK_InputProcessing,168,activate
-336150000,TASK_InputProcessing,168,SCHED,SCHED_Tasks_C1,-1,processactivate
-336150100,TASK_InputProcessing,168,STI,IR_SCHED_Tasks_C1,1132,trigger
-336150100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-336150100,Core_1,0,T,TASK_InputProcessing,168,start
-336150100,TASK_InputProcessing,168,R,FUNC_SEMLOCK,337,start
-336150100,Core_1,0,C,Core_1,0,execute
-336150100,TASK_InputProcessing,168,C,Core_1,0,execute
-336152050,TASK_WritingActuator,168,SIG,SIG_Mixture,0,write,0
-336152050,TASK_WritingActuator,168,R,FUNC_WriteData,168,terminate
-336152050,TASK_WritingActuator,168,R,FUNC_SEMUNLOCK,336,start
-336250000,SIM,-1,STI,TIMER-1MS,336,trigger
-336250000,TIMER-1MS,336,T,TASK_1MS,336,activate
-336250000,TASK_1MS,336,SCHED,SCHED_Tasks_C1,-1,processactivate
-336250100,TASK_1MS,336,STI,IR_SCHED_Tasks_C1,1133,trigger
-336250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-336250100,TASK_InputProcessing,168,R,FUNC_SEMLOCK,337,suspend
-336250100,Core_1,0,T,TASK_InputProcessing,168,preempt
-336250100,Core_1,0,C,Core_1,0,idle_execution
-336250100,TASK_InputProcessing,168,C,Core_1,0,idle_execution
-336250100,Core_1,0,T,TASK_1MS,336,start
-336250100,TASK_1MS,336,R,FUNC_EXECTIME_1,614,start
-336250100,Core_1,0,C,Core_1,0,execute
-336250100,TASK_1MS,336,C,Core_1,0,execute
-336352050,TASK_WritingActuator,168,SEM,SEM_DataElement1,0,released,1
-336352050,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-336352050,TASK_WritingActuator,168,SCHED,SCHED_Tasks_C2,-1,schedulepoint
-336352050,Core_2,0,C,Core_2,0,lock
-336352100,TASK_WritingActuator,168,R,FUNC_SEMUNLOCK,336,terminate
-336352100,Core_2,0,T,TASK_WritingActuator,168,terminate
-336352100,TASK_WritingActuator,168,SCHED,SCHED_Tasks_C2,-1,processterminate
-336352100,Core_2,0,C,Core_2,0,unlock
-336352100,Core_2,0,C,Core_2,0,idle
-336352100,TASK_WritingActuator,168,C,Core_2,0,idle
-336352150,TASK_WritingActuator,168,STI,IR_SCHED_Tasks_C2,1084,trigger
-336352150,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-336352150,Core_2,0,T,TASK_5MS,168,start
-336352150,TASK_5MS,168,R,FUNC_EXECTIME_1,613,start
-336352150,Core_2,0,C,Core_2,0,execute
-336352150,TASK_5MS,168,C,Core_2,0,execute
-336743050,TASK_1MS,336,R,FUNC_EXECTIME_1,614,terminate
-336743050,Core_1,0,T,TASK_1MS,336,terminate
-336743050,TASK_1MS,336,SCHED,SCHED_Tasks_C1,-1,processterminate
-336743050,Core_1,0,C,Core_1,0,idle
-336743050,TASK_1MS,336,C,Core_1,0,idle
-336743150,TASK_1MS,336,STI,IR_SCHED_Tasks_C1,1134,trigger
-336743150,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-336743150,Core_1,0,C,Core_1,0,execute_idle
-336743150,TASK_InputProcessing,168,C,Core_1,0,execute_idle
-336743150,Core_1,0,T,TASK_InputProcessing,168,resume
-336743150,TASK_InputProcessing,168,R,FUNC_SEMLOCK,337,resume
-336768150,TASK_InputProcessing,168,SEM,SEM_DataElement1,0,requestsemaphore,0
-336768150,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-336768150,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-336768150,Core_1,0,C,Core_1,0,lock
-336768150,TASK_InputProcessing,168,SEM,SEM_DataElement1,0,assigned,1
-336768200,TASK_InputProcessing,168,R,FUNC_SEMLOCK,337,terminate
-336768200,Core_1,0,C,Core_1,0,unlock
-336768200,TASK_InputProcessing,168,R,FUNC_ReadSensorData,168,start
-336784775,TASK_5MS,168,R,FUNC_EXECTIME_1,613,terminate
-336784775,Core_2,0,T,TASK_5MS,168,terminate
-336784775,TASK_5MS,168,SCHED,SCHED_Tasks_C2,-1,processterminate
-336784775,Core_2,0,C,Core_2,0,idle
-336784775,TASK_5MS,168,C,Core_2,0,idle
-336784875,TASK_5MS,168,STI,IR_SCHED_Tasks_C2,1085,trigger
-336784875,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-336930150,TASK_InputProcessing,168,SIG,SIG_RotationSpeed,0,read,0
-336930150,TASK_InputProcessing,168,SIG,SIG_Lambda,0,read,0
-336930150,TASK_InputProcessing,168,SIG,SIG_Temperature,0,read,0
-336930150,TASK_InputProcessing,168,R,FUNC_ReadSensorData,168,terminate
-336930150,TASK_InputProcessing,168,R,FUNC_SEMUNLOCK,337,start
-337130150,TASK_InputProcessing,168,SEM,SEM_DataElement1,0,released,1
-337130150,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-337130150,TASK_InputProcessing,168,SCHED,SCHED_Tasks_C1,-1,schedulepoint
-337130150,Core_1,0,C,Core_1,0,lock
-337130200,TASK_InputProcessing,168,R,FUNC_SEMUNLOCK,337,terminate
-337130200,Core_1,0,C,Core_1,0,unlock
-337130200,TASK_InputProcessing,168,STI,IPA_InputReady,168,trigger
-337130200,IPA_InputReady,168,T,TASK_CalcEngineSpeed,168,activate
-337130200,TASK_CalcEngineSpeed,168,SCHED,SCHED_Tasks_C2,-1,processactivate
-337130200,Core_1,0,T,TASK_InputProcessing,168,terminate
-337130200,TASK_InputProcessing,168,SCHED,SCHED_Tasks_C1,-1,processterminate
-337130200,Core_1,0,C,Core_1,0,idle
-337130200,TASK_InputProcessing,168,C,Core_1,0,idle
-337130250,TASK_InputProcessing,168,STI,IR_SCHED_Tasks_C1,1135,trigger
-337130250,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-337130300,TASK_CalcEngineSpeed,168,STI,IR_SCHED_Tasks_C2,1086,trigger
-337130300,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-337130300,Core_2,0,T,TASK_CalcEngineSpeed,168,start
-337130300,TASK_CalcEngineSpeed,168,R,FUNC_ENGINESPEED,168,start
-337130300,Core_2,0,C,Core_2,0,execute
-337130300,TASK_CalcEngineSpeed,168,C,Core_2,0,execute
-337250000,SIM,-1,STI,TIMER-1MS,337,trigger
-337250000,TIMER-1MS,337,T,TASK_1MS,337,activate
-337250000,TASK_1MS,337,SCHED,SCHED_Tasks_C1,-1,processactivate
-337250100,TASK_1MS,337,STI,IR_SCHED_Tasks_C1,1136,trigger
-337250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-337250100,Core_1,0,T,TASK_1MS,337,start
-337250100,TASK_1MS,337,R,FUNC_EXECTIME_1,615,start
-337250100,Core_1,0,C,Core_1,0,execute
-337250100,TASK_1MS,337,C,Core_1,0,execute
-337269675,TASK_CalcEngineSpeed,168,R,FUNC_ENGINESPEED,168,terminate
-337269675,Core_2,0,T,TASK_CalcEngineSpeed,168,terminate
-337269675,TASK_CalcEngineSpeed,168,SCHED,SCHED_Tasks_C2,-1,processterminate
-337269675,Core_2,0,C,Core_2,0,idle
-337269675,TASK_CalcEngineSpeed,168,C,Core_2,0,idle
-337269775,TASK_CalcEngineSpeed,168,STI,IR_SCHED_Tasks_C2,1087,trigger
-337269775,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-337755875,TASK_1MS,337,R,FUNC_EXECTIME_1,615,terminate
-337755875,Core_1,0,T,TASK_1MS,337,terminate
-337755875,TASK_1MS,337,SCHED,SCHED_Tasks_C1,-1,processterminate
-337755875,Core_1,0,C,Core_1,0,idle
-337755875,TASK_1MS,337,C,Core_1,0,idle
-337755975,TASK_1MS,337,STI,IR_SCHED_Tasks_C1,1137,trigger
-337755975,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-338000000,SIM,-1,STI,TIMER-B_2ms,169,trigger
-338000000,TIMER-B_2ms,169,T,TASK_WritingActuator,169,activate
-338000000,TASK_WritingActuator,169,SCHED,SCHED_Tasks_C2,-1,processactivate
-338000100,TASK_WritingActuator,169,STI,IR_SCHED_Tasks_C2,1088,trigger
-338000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-338000100,Core_2,0,T,TASK_WritingActuator,169,start
-338000100,TASK_WritingActuator,169,R,FUNC_SEMLOCK,338,start
-338000100,Core_2,0,C,Core_2,0,execute
-338000100,TASK_WritingActuator,169,C,Core_2,0,execute
-338100000,SIM,-1,STI,TIMER-5MS,169,trigger
-338100000,TIMER-5MS,169,T,TASK_5MS,169,activate
-338100000,TASK_5MS,169,SCHED,SCHED_Tasks_C2,-1,processactivate
-338100100,TASK_5MS,169,STI,IR_SCHED_Tasks_C2,1089,trigger
-338100100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-338125100,TASK_WritingActuator,169,SEM,SEM_DataElement1,0,requestsemaphore,0
-338125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-338125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-338125100,Core_2,0,C,Core_2,0,lock
-338125100,TASK_WritingActuator,169,SEM,SEM_DataElement1,0,assigned,1
-338125150,TASK_WritingActuator,169,R,FUNC_SEMLOCK,338,terminate
-338125150,Core_2,0,C,Core_2,0,unlock
-338125150,TASK_WritingActuator,169,R,FUNC_WriteData,169,start
-338150000,SIM,-1,STI,TIMER-A_2ms,169,trigger
-338150000,TIMER-A_2ms,169,T,TASK_InputProcessing,169,activate
-338150000,TASK_InputProcessing,169,SCHED,SCHED_Tasks_C1,-1,processactivate
-338150100,TASK_InputProcessing,169,STI,IR_SCHED_Tasks_C1,1138,trigger
-338150100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-338150100,Core_1,0,T,TASK_InputProcessing,169,start
-338150100,TASK_InputProcessing,169,R,FUNC_SEMLOCK,339,start
-338150100,Core_1,0,C,Core_1,0,execute
-338150100,TASK_InputProcessing,169,C,Core_1,0,execute
-338151975,TASK_WritingActuator,169,SIG,SIG_Mixture,0,write,0
-338151975,TASK_WritingActuator,169,R,FUNC_WriteData,169,terminate
-338151975,TASK_WritingActuator,169,R,FUNC_SEMUNLOCK,338,start
-338250000,SIM,-1,STI,TIMER-1MS,338,trigger
-338250000,TIMER-1MS,338,T,TASK_1MS,338,activate
-338250000,TASK_1MS,338,SCHED,SCHED_Tasks_C1,-1,processactivate
-338250100,TASK_1MS,338,STI,IR_SCHED_Tasks_C1,1139,trigger
-338250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-338250100,TASK_InputProcessing,169,R,FUNC_SEMLOCK,339,suspend
-338250100,Core_1,0,T,TASK_InputProcessing,169,preempt
-338250100,Core_1,0,C,Core_1,0,idle_execution
-338250100,TASK_InputProcessing,169,C,Core_1,0,idle_execution
-338250100,Core_1,0,T,TASK_1MS,338,start
-338250100,TASK_1MS,338,R,FUNC_EXECTIME_1,617,start
-338250100,Core_1,0,C,Core_1,0,execute
-338250100,TASK_1MS,338,C,Core_1,0,execute
-338351975,TASK_WritingActuator,169,SEM,SEM_DataElement1,0,released,1
-338351975,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-338351975,TASK_WritingActuator,169,SCHED,SCHED_Tasks_C2,-1,schedulepoint
-338351975,Core_2,0,C,Core_2,0,lock
-338352025,TASK_WritingActuator,169,R,FUNC_SEMUNLOCK,338,terminate
-338352025,Core_2,0,T,TASK_WritingActuator,169,terminate
-338352025,TASK_WritingActuator,169,SCHED,SCHED_Tasks_C2,-1,processterminate
-338352025,Core_2,0,C,Core_2,0,unlock
-338352025,Core_2,0,C,Core_2,0,idle
-338352025,TASK_WritingActuator,169,C,Core_2,0,idle
-338352075,TASK_WritingActuator,169,STI,IR_SCHED_Tasks_C2,1090,trigger
-338352075,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-338352075,Core_2,0,T,TASK_5MS,169,start
-338352075,TASK_5MS,169,R,FUNC_EXECTIME_1,616,start
-338352075,Core_2,0,C,Core_2,0,execute
-338352075,TASK_5MS,169,C,Core_2,0,execute
-338671675,TASK_1MS,338,R,FUNC_EXECTIME_1,617,terminate
-338671675,Core_1,0,T,TASK_1MS,338,terminate
-338671675,TASK_1MS,338,SCHED,SCHED_Tasks_C1,-1,processterminate
-338671675,Core_1,0,C,Core_1,0,idle
-338671675,TASK_1MS,338,C,Core_1,0,idle
-338671775,TASK_1MS,338,STI,IR_SCHED_Tasks_C1,1140,trigger
-338671775,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-338671775,Core_1,0,C,Core_1,0,execute_idle
-338671775,TASK_InputProcessing,169,C,Core_1,0,execute_idle
-338671775,Core_1,0,T,TASK_InputProcessing,169,resume
-338671775,TASK_InputProcessing,169,R,FUNC_SEMLOCK,339,resume
-338696775,TASK_InputProcessing,169,SEM,SEM_DataElement1,0,requestsemaphore,0
-338696775,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-338696775,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-338696775,Core_1,0,C,Core_1,0,lock
-338696775,TASK_InputProcessing,169,SEM,SEM_DataElement1,0,assigned,1
-338696825,TASK_InputProcessing,169,R,FUNC_SEMLOCK,339,terminate
-338696825,Core_1,0,C,Core_1,0,unlock
-338696825,TASK_InputProcessing,169,R,FUNC_ReadSensorData,169,start
-338855225,TASK_5MS,169,R,FUNC_EXECTIME_1,616,terminate
-338855225,Core_2,0,T,TASK_5MS,169,terminate
-338855225,TASK_5MS,169,SCHED,SCHED_Tasks_C2,-1,processterminate
-338855225,Core_2,0,C,Core_2,0,idle
-338855225,TASK_5MS,169,C,Core_2,0,idle
-338855325,TASK_5MS,169,STI,IR_SCHED_Tasks_C2,1091,trigger
-338855325,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-338861500,TASK_InputProcessing,169,SIG,SIG_RotationSpeed,0,read,0
-338861500,TASK_InputProcessing,169,SIG,SIG_Lambda,0,read,0
-338861500,TASK_InputProcessing,169,SIG,SIG_Temperature,0,read,0
-338861500,TASK_InputProcessing,169,R,FUNC_ReadSensorData,169,terminate
-338861500,TASK_InputProcessing,169,R,FUNC_SEMUNLOCK,339,start
-339061500,TASK_InputProcessing,169,SEM,SEM_DataElement1,0,released,1
-339061500,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-339061500,TASK_InputProcessing,169,SCHED,SCHED_Tasks_C1,-1,schedulepoint
-339061500,Core_1,0,C,Core_1,0,lock
-339061550,TASK_InputProcessing,169,R,FUNC_SEMUNLOCK,339,terminate
-339061550,Core_1,0,C,Core_1,0,unlock
-339061550,TASK_InputProcessing,169,STI,IPA_InputReady,169,trigger
-339061550,IPA_InputReady,169,T,TASK_CalcEngineSpeed,169,activate
-339061550,TASK_CalcEngineSpeed,169,SCHED,SCHED_Tasks_C2,-1,processactivate
-339061550,Core_1,0,T,TASK_InputProcessing,169,terminate
-339061550,TASK_InputProcessing,169,SCHED,SCHED_Tasks_C1,-1,processterminate
-339061550,Core_1,0,C,Core_1,0,idle
-339061550,TASK_InputProcessing,169,C,Core_1,0,idle
-339061600,TASK_InputProcessing,169,STI,IR_SCHED_Tasks_C1,1141,trigger
-339061600,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-339061650,TASK_CalcEngineSpeed,169,STI,IR_SCHED_Tasks_C2,1092,trigger
-339061650,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-339061650,Core_2,0,T,TASK_CalcEngineSpeed,169,start
-339061650,TASK_CalcEngineSpeed,169,R,FUNC_ENGINESPEED,169,start
-339061650,Core_2,0,C,Core_2,0,execute
-339061650,TASK_CalcEngineSpeed,169,C,Core_2,0,execute
-339246050,TASK_CalcEngineSpeed,169,R,FUNC_ENGINESPEED,169,terminate
-339246050,Core_2,0,T,TASK_CalcEngineSpeed,169,terminate
-339246050,TASK_CalcEngineSpeed,169,SCHED,SCHED_Tasks_C2,-1,processterminate
-339246050,Core_2,0,C,Core_2,0,idle
-339246050,TASK_CalcEngineSpeed,169,C,Core_2,0,idle
-339246150,TASK_CalcEngineSpeed,169,STI,IR_SCHED_Tasks_C2,1093,trigger
-339246150,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-339250000,SIM,-1,STI,TIMER-1MS,339,trigger
-339250000,TIMER-1MS,339,T,TASK_1MS,339,activate
-339250000,TASK_1MS,339,SCHED,SCHED_Tasks_C1,-1,processactivate
-339250100,TASK_1MS,339,STI,IR_SCHED_Tasks_C1,1142,trigger
-339250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-339250100,Core_1,0,T,TASK_1MS,339,start
-339250100,TASK_1MS,339,R,FUNC_EXECTIME_1,618,start
-339250100,Core_1,0,C,Core_1,0,execute
-339250100,TASK_1MS,339,C,Core_1,0,execute
-339565300,TASK_1MS,339,R,FUNC_EXECTIME_1,618,terminate
-339565300,Core_1,0,T,TASK_1MS,339,terminate
-339565300,TASK_1MS,339,SCHED,SCHED_Tasks_C1,-1,processterminate
-339565300,Core_1,0,C,Core_1,0,idle
-339565300,TASK_1MS,339,C,Core_1,0,idle
-339565400,TASK_1MS,339,STI,IR_SCHED_Tasks_C1,1143,trigger
-339565400,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-340000000,SIM,-1,STI,TIMER-B_2ms,170,trigger
-340000000,TIMER-B_2ms,170,T,TASK_WritingActuator,170,activate
-340000000,TASK_WritingActuator,170,SCHED,SCHED_Tasks_C2,-1,processactivate
-340000000,SIM,-1,STI,TIMER-10MS_2,34,trigger
-340000000,TIMER-10MS_2,34,T,TASK_10MS_DL2,34,activate
-340000000,TASK_10MS_DL2,34,SCHED,SCHED_Tasks_C1,-1,processactivate
-340000100,TASK_WritingActuator,170,STI,IR_SCHED_Tasks_C2,1094,trigger
-340000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-340000100,Core_2,0,T,TASK_WritingActuator,170,start
-340000100,TASK_WritingActuator,170,R,FUNC_SEMLOCK,340,start
-340000100,Core_2,0,C,Core_2,0,execute
-340000100,TASK_WritingActuator,170,C,Core_2,0,execute
-340000100,TASK_10MS_DL2,34,STI,IR_SCHED_Tasks_C1,1144,trigger
-340000100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-340000100,Core_1,0,T,TASK_10MS_DL2,34,start
-340000100,TASK_10MS_DL2,34,R,FUNC_EXECTIME_1,619,start
-340000100,Core_1,0,C,Core_1,0,execute
-340000100,TASK_10MS_DL2,34,C,Core_1,0,execute
-340005000,SIM,-1,STI,TIMER-20MS,17,trigger
-340005000,TIMER-20MS,17,T,TASK_20MS,17,activate
-340005000,TASK_20MS,17,SCHED,SCHED_Tasks_C1,-1,processactivate
-340005100,TASK_20MS,17,STI,IR_SCHED_Tasks_C1,1145,trigger
-340005100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-340100000,SIM,-1,STI,TIMER-5MS,170,trigger
-340100000,TIMER-5MS,170,T,TASK_5MS,170,activate
-340100000,TASK_5MS,170,SCHED,SCHED_Tasks_C2,-1,processactivate
-340100100,TASK_5MS,170,STI,IR_SCHED_Tasks_C2,1095,trigger
-340100100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-340125100,TASK_WritingActuator,170,SEM,SEM_DataElement1,0,requestsemaphore,0
-340125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-340125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-340125100,Core_2,0,C,Core_2,0,lock
-340125100,TASK_WritingActuator,170,SEM,SEM_DataElement1,0,assigned,1
-340125150,TASK_WritingActuator,170,R,FUNC_SEMLOCK,340,terminate
-340125150,Core_2,0,C,Core_2,0,unlock
-340125150,TASK_WritingActuator,170,R,FUNC_WriteData,170,start
-340150000,SIM,-1,STI,TIMER-A_2ms,170,trigger
-340150000,TIMER-A_2ms,170,T,TASK_InputProcessing,170,activate
-340150000,TASK_InputProcessing,170,SCHED,SCHED_Tasks_C1,-1,processactivate
-340150100,TASK_InputProcessing,170,STI,IR_SCHED_Tasks_C1,1146,trigger
-340150100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-340152400,TASK_WritingActuator,170,SIG,SIG_Mixture,0,write,0
-340152400,TASK_WritingActuator,170,R,FUNC_WriteData,170,terminate
-340152400,TASK_WritingActuator,170,R,FUNC_SEMUNLOCK,340,start
-340250000,SIM,-1,STI,TIMER-1MS,340,trigger
-340250000,TIMER-1MS,340,T,TASK_1MS,340,activate
-340250000,TASK_1MS,340,SCHED,SCHED_Tasks_C1,-1,processactivate
-340250100,TASK_1MS,340,STI,IR_SCHED_Tasks_C1,1147,trigger
-340250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-340250100,TASK_10MS_DL2,34,R,FUNC_EXECTIME_1,619,suspend
-340250100,Core_1,0,T,TASK_10MS_DL2,34,preempt
-340250100,Core_1,0,C,Core_1,0,idle_execution
-340250100,TASK_10MS_DL2,34,C,Core_1,0,idle_execution
-340250100,Core_1,0,T,TASK_1MS,340,start
-340250100,TASK_1MS,340,R,FUNC_EXECTIME_1,622,start
-340250100,Core_1,0,C,Core_1,0,execute
-340250100,TASK_1MS,340,C,Core_1,0,execute
-340352400,TASK_WritingActuator,170,SEM,SEM_DataElement1,0,released,1
-340352400,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-340352400,TASK_WritingActuator,170,SCHED,SCHED_Tasks_C2,-1,schedulepoint
-340352400,Core_2,0,C,Core_2,0,lock
-340352450,TASK_WritingActuator,170,R,FUNC_SEMUNLOCK,340,terminate
-340352450,Core_2,0,T,TASK_WritingActuator,170,terminate
-340352450,TASK_WritingActuator,170,SCHED,SCHED_Tasks_C2,-1,processterminate
-340352450,Core_2,0,C,Core_2,0,unlock
-340352450,Core_2,0,C,Core_2,0,idle
-340352450,TASK_WritingActuator,170,C,Core_2,0,idle
-340352500,TASK_WritingActuator,170,STI,IR_SCHED_Tasks_C2,1096,trigger
-340352500,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-340352500,Core_2,0,T,TASK_5MS,170,start
-340352500,TASK_5MS,170,R,FUNC_EXECTIME_1,621,start
-340352500,Core_2,0,C,Core_2,0,execute
-340352500,TASK_5MS,170,C,Core_2,0,execute
-340753050,TASK_5MS,170,R,FUNC_EXECTIME_1,621,terminate
-340753050,Core_2,0,T,TASK_5MS,170,terminate
-340753050,TASK_5MS,170,SCHED,SCHED_Tasks_C2,-1,processterminate
-340753050,Core_2,0,C,Core_2,0,idle
-340753050,TASK_5MS,170,C,Core_2,0,idle
-340753150,TASK_5MS,170,STI,IR_SCHED_Tasks_C2,1097,trigger
-340753150,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-340885325,TASK_1MS,340,R,FUNC_EXECTIME_1,622,terminate
-340885325,Core_1,0,T,TASK_1MS,340,terminate
-340885325,TASK_1MS,340,SCHED,SCHED_Tasks_C1,-1,processterminate
-340885325,Core_1,0,C,Core_1,0,idle
-340885325,TASK_1MS,340,C,Core_1,0,idle
-340885425,TASK_1MS,340,STI,IR_SCHED_Tasks_C1,1148,trigger
-340885425,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-340885425,Core_1,0,C,Core_1,0,execute_idle
-340885425,TASK_10MS_DL2,34,C,Core_1,0,execute_idle
-340885425,Core_1,0,T,TASK_10MS_DL2,34,resume
-340885425,TASK_10MS_DL2,34,R,FUNC_EXECTIME_1,619,resume
-341250000,SIM,-1,STI,TIMER-1MS,341,trigger
-341250000,TIMER-1MS,341,T,TASK_1MS,341,activate
-341250000,TASK_1MS,341,SCHED,SCHED_Tasks_C1,-1,processactivate
-341250100,TASK_1MS,341,STI,IR_SCHED_Tasks_C1,1149,trigger
-341250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-341250100,TASK_10MS_DL2,34,R,FUNC_EXECTIME_1,619,suspend
-341250100,Core_1,0,T,TASK_10MS_DL2,34,preempt
-341250100,Core_1,0,C,Core_1,0,idle_execution
-341250100,TASK_10MS_DL2,34,C,Core_1,0,idle_execution
-341250100,Core_1,0,T,TASK_1MS,341,start
-341250100,TASK_1MS,341,R,FUNC_EXECTIME_1,623,start
-341250100,Core_1,0,C,Core_1,0,execute
-341250100,TASK_1MS,341,C,Core_1,0,execute
-341658200,TASK_1MS,341,R,FUNC_EXECTIME_1,623,terminate
-341658200,Core_1,0,T,TASK_1MS,341,terminate
-341658200,TASK_1MS,341,SCHED,SCHED_Tasks_C1,-1,processterminate
-341658200,Core_1,0,C,Core_1,0,idle
-341658200,TASK_1MS,341,C,Core_1,0,idle
-341658300,TASK_1MS,341,STI,IR_SCHED_Tasks_C1,1150,trigger
-341658300,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-341658300,Core_1,0,C,Core_1,0,execute_idle
-341658300,TASK_10MS_DL2,34,C,Core_1,0,execute_idle
-341658300,Core_1,0,T,TASK_10MS_DL2,34,resume
-341658300,TASK_10MS_DL2,34,R,FUNC_EXECTIME_1,619,resume
-341659300,TASK_10MS_DL2,34,R,FUNC_EXECTIME_1,619,terminate
-341659300,Core_1,0,T,TASK_10MS_DL2,34,terminate
-341659300,TASK_10MS_DL2,34,SCHED,SCHED_Tasks_C1,-1,processterminate
-341659300,Core_1,0,C,Core_1,0,idle
-341659300,TASK_10MS_DL2,34,C,Core_1,0,idle
-341659400,TASK_10MS_DL2,34,STI,IR_SCHED_Tasks_C1,1151,trigger
-341659400,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-341659400,Core_1,0,T,TASK_InputProcessing,170,start
-341659400,TASK_InputProcessing,170,R,FUNC_SEMLOCK,341,start
-341659400,Core_1,0,C,Core_1,0,execute
-341659400,TASK_InputProcessing,170,C,Core_1,0,execute
-341784400,TASK_InputProcessing,170,SEM,SEM_DataElement1,0,requestsemaphore,0
-341784400,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-341784400,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-341784400,Core_1,0,C,Core_1,0,lock
-341784400,TASK_InputProcessing,170,SEM,SEM_DataElement1,0,assigned,1
-341784450,TASK_InputProcessing,170,R,FUNC_SEMLOCK,341,terminate
-341784450,Core_1,0,C,Core_1,0,unlock
-341784450,TASK_InputProcessing,170,R,FUNC_ReadSensorData,170,start
-341940300,TASK_InputProcessing,170,SIG,SIG_RotationSpeed,0,read,0
-341940300,TASK_InputProcessing,170,SIG,SIG_Lambda,0,read,0
-341940300,TASK_InputProcessing,170,SIG,SIG_Temperature,0,read,0
-341940300,TASK_InputProcessing,170,R,FUNC_ReadSensorData,170,terminate
-341940300,TASK_InputProcessing,170,R,FUNC_SEMUNLOCK,341,start
-342000000,SIM,-1,STI,TIMER-B_2ms,171,trigger
-342000000,TIMER-B_2ms,171,T,TASK_WritingActuator,171,activate
-342000000,TASK_WritingActuator,171,SCHED,SCHED_Tasks_C2,-1,processactivate
-342000100,TASK_WritingActuator,171,STI,IR_SCHED_Tasks_C2,1098,trigger
-342000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-342000100,Core_2,0,T,TASK_WritingActuator,171,start
-342000100,TASK_WritingActuator,171,R,FUNC_SEMLOCK,342,start
-342000100,Core_2,0,C,Core_2,0,execute
-342000100,TASK_WritingActuator,171,C,Core_2,0,execute
-342100000,SIM,-1,STI,TIMER-5MS,171,trigger
-342100000,TIMER-5MS,171,T,TASK_5MS,171,activate
-342100000,TASK_5MS,171,SCHED,SCHED_Tasks_C2,-1,processactivate
-342100100,TASK_5MS,171,STI,IR_SCHED_Tasks_C2,1099,trigger
-342100100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-342125100,TASK_WritingActuator,171,SEM,SEM_DataElement1,0,requestsemaphore,1
-342125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,1
-342125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,overfull,2
-342125100,Core_2,0,C,Core_2,0,lock
-342125100,TASK_WritingActuator,171,SEM,SEM_DataElement1,0,waiting,2
-342125150,Core_2,0,T,TASK_WritingActuator,171,poll
-342125150,TASK_WritingActuator,171,SCHED,SCHED_Tasks_C2,-1,processpolling
-342125150,Core_2,0,C,Core_2,0,wait_postexecution
-342125150,TASK_WritingActuator,171,C,Core_2,0,wait_postexecution
-342125150,Core_2,0,C,Core_2,0,unlock
-342140300,TASK_InputProcessing,170,SEM,SEM_DataElement1,0,released,2
-342140300,TASK_WritingActuator,171,SEM,SEM_DataElement1,0,assigned,1
-342140300,Core_2,0,T,TASK_WritingActuator,171,run
-342140300,TASK_WritingActuator,171,R,FUNC_SEMLOCK,342,terminate
-342140300,TASK_WritingActuator,171,R,FUNC_WriteData,171,start
-342140300,Core_2,0,C,Core_2,0,execute_waiting
-342140300,TASK_WritingActuator,171,C,Core_2,0,execute_waiting
-342140300,SEM_DataElement1,0,SEM,SEM_DataElement1,0,full,1
-342140300,TASK_InputProcessing,170,SCHED,SCHED_Tasks_C1,-1,schedulepoint
-342140300,Core_1,0,C,Core_1,0,lock
-342140350,TASK_InputProcessing,170,R,FUNC_SEMUNLOCK,341,terminate
-342140350,Core_1,0,C,Core_1,0,unlock
-342140350,TASK_InputProcessing,170,STI,IPA_InputReady,170,trigger
-342140350,IPA_InputReady,170,T,TASK_CalcEngineSpeed,170,activate
-342140350,TASK_CalcEngineSpeed,170,SCHED,SCHED_Tasks_C2,-1,processactivate
-342140350,Core_1,0,T,TASK_InputProcessing,170,terminate
-342140350,TASK_InputProcessing,170,SCHED,SCHED_Tasks_C1,-1,processterminate
-342140350,Core_1,0,C,Core_1,0,idle
-342140350,TASK_InputProcessing,170,C,Core_1,0,idle
-342140400,TASK_InputProcessing,170,STI,IR_SCHED_Tasks_C1,1152,trigger
-342140400,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-342140400,Core_1,0,T,TASK_20MS,17,start
-342140400,TASK_20MS,17,R,FUNC_EXECTIME_1,620,start
-342140400,Core_1,0,C,Core_1,0,execute
-342140400,TASK_20MS,17,C,Core_1,0,execute
-342140450,TASK_CalcEngineSpeed,170,STI,IR_SCHED_Tasks_C2,1100,trigger
-342140450,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-342150000,SIM,-1,STI,TIMER-A_2ms,171,trigger
-342150000,TIMER-A_2ms,171,T,TASK_InputProcessing,171,activate
-342150000,TASK_InputProcessing,171,SCHED,SCHED_Tasks_C1,-1,processactivate
-342150100,TASK_InputProcessing,171,STI,IR_SCHED_Tasks_C1,1153,trigger
-342150100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-342150100,TASK_20MS,17,R,FUNC_EXECTIME_1,620,suspend
-342150100,Core_1,0,T,TASK_20MS,17,preempt
-342150100,Core_1,0,C,Core_1,0,idle_execution
-342150100,TASK_20MS,17,C,Core_1,0,idle_execution
-342150100,Core_1,0,T,TASK_InputProcessing,171,start
-342150100,TASK_InputProcessing,171,R,FUNC_SEMLOCK,343,start
-342150100,Core_1,0,C,Core_1,0,execute
-342150100,TASK_InputProcessing,171,C,Core_1,0,execute
-342167525,TASK_WritingActuator,171,SIG,SIG_Mixture,0,write,0
-342167525,TASK_WritingActuator,171,R,FUNC_WriteData,171,terminate
-342167525,TASK_WritingActuator,171,R,FUNC_SEMUNLOCK,342,start
-342250000,SIM,-1,STI,TIMER-1MS,342,trigger
-342250000,TIMER-1MS,342,T,TASK_1MS,342,activate
-342250000,TASK_1MS,342,SCHED,SCHED_Tasks_C1,-1,processactivate
-342250100,TASK_1MS,342,STI,IR_SCHED_Tasks_C1,1154,trigger
-342250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-342250100,TASK_InputProcessing,171,R,FUNC_SEMLOCK,343,suspend
-342250100,Core_1,0,T,TASK_InputProcessing,171,preempt
-342250100,Core_1,0,C,Core_1,0,idle_execution
-342250100,TASK_InputProcessing,171,C,Core_1,0,idle_execution
-342250100,Core_1,0,T,TASK_1MS,342,start
-342250100,TASK_1MS,342,R,FUNC_EXECTIME_1,625,start
-342250100,Core_1,0,C,Core_1,0,execute
-342250100,TASK_1MS,342,C,Core_1,0,execute
-342367525,TASK_WritingActuator,171,SEM,SEM_DataElement1,0,released,1
-342367525,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-342367525,TASK_WritingActuator,171,SCHED,SCHED_Tasks_C2,-1,schedulepoint
-342367525,Core_2,0,C,Core_2,0,lock
-342367575,TASK_WritingActuator,171,R,FUNC_SEMUNLOCK,342,terminate
-342367575,Core_2,0,T,TASK_WritingActuator,171,terminate
-342367575,TASK_WritingActuator,171,SCHED,SCHED_Tasks_C2,-1,processterminate
-342367575,Core_2,0,C,Core_2,0,unlock
-342367575,Core_2,0,C,Core_2,0,idle
-342367575,TASK_WritingActuator,171,C,Core_2,0,idle
-342367625,TASK_WritingActuator,171,STI,IR_SCHED_Tasks_C2,1101,trigger
-342367625,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-342367625,Core_2,0,T,TASK_CalcEngineSpeed,170,start
-342367625,TASK_CalcEngineSpeed,170,R,FUNC_ENGINESPEED,170,start
-342367625,Core_2,0,C,Core_2,0,execute
-342367625,TASK_CalcEngineSpeed,170,C,Core_2,0,execute
-342577100,TASK_CalcEngineSpeed,170,R,FUNC_ENGINESPEED,170,terminate
-342577100,Core_2,0,T,TASK_CalcEngineSpeed,170,terminate
-342577100,TASK_CalcEngineSpeed,170,SCHED,SCHED_Tasks_C2,-1,processterminate
-342577100,Core_2,0,C,Core_2,0,idle
-342577100,TASK_CalcEngineSpeed,170,C,Core_2,0,idle
-342577200,TASK_CalcEngineSpeed,170,STI,IR_SCHED_Tasks_C2,1102,trigger
-342577200,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-342577200,Core_2,0,T,TASK_5MS,171,start
-342577200,TASK_5MS,171,R,FUNC_EXECTIME_1,624,start
-342577200,Core_2,0,C,Core_2,0,execute
-342577200,TASK_5MS,171,C,Core_2,0,execute
-342736800,TASK_1MS,342,R,FUNC_EXECTIME_1,625,terminate
-342736800,Core_1,0,T,TASK_1MS,342,terminate
-342736800,TASK_1MS,342,SCHED,SCHED_Tasks_C1,-1,processterminate
-342736800,Core_1,0,C,Core_1,0,idle
-342736800,TASK_1MS,342,C,Core_1,0,idle
-342736900,TASK_1MS,342,STI,IR_SCHED_Tasks_C1,1155,trigger
-342736900,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-342736900,Core_1,0,C,Core_1,0,execute_idle
-342736900,TASK_InputProcessing,171,C,Core_1,0,execute_idle
-342736900,Core_1,0,T,TASK_InputProcessing,171,resume
-342736900,TASK_InputProcessing,171,R,FUNC_SEMLOCK,343,resume
-342761900,TASK_InputProcessing,171,SEM,SEM_DataElement1,0,requestsemaphore,0
-342761900,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-342761900,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-342761900,Core_1,0,C,Core_1,0,lock
-342761900,TASK_InputProcessing,171,SEM,SEM_DataElement1,0,assigned,1
-342761950,TASK_InputProcessing,171,R,FUNC_SEMLOCK,343,terminate
-342761950,Core_1,0,C,Core_1,0,unlock
-342761950,TASK_InputProcessing,171,R,FUNC_ReadSensorData,171,start
-342924725,TASK_InputProcessing,171,SIG,SIG_RotationSpeed,0,read,0
-342924725,TASK_InputProcessing,171,SIG,SIG_Lambda,0,read,0
-342924725,TASK_InputProcessing,171,SIG,SIG_Temperature,0,read,0
-342924725,TASK_InputProcessing,171,R,FUNC_ReadSensorData,171,terminate
-342924725,TASK_InputProcessing,171,R,FUNC_SEMUNLOCK,343,start
-343034650,TASK_5MS,171,R,FUNC_EXECTIME_1,624,terminate
-343034650,Core_2,0,T,TASK_5MS,171,terminate
-343034650,TASK_5MS,171,SCHED,SCHED_Tasks_C2,-1,processterminate
-343034650,Core_2,0,C,Core_2,0,idle
-343034650,TASK_5MS,171,C,Core_2,0,idle
-343034750,TASK_5MS,171,STI,IR_SCHED_Tasks_C2,1103,trigger
-343034750,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-343124725,TASK_InputProcessing,171,SEM,SEM_DataElement1,0,released,1
-343124725,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-343124725,TASK_InputProcessing,171,SCHED,SCHED_Tasks_C1,-1,schedulepoint
-343124725,Core_1,0,C,Core_1,0,lock
-343124775,TASK_InputProcessing,171,R,FUNC_SEMUNLOCK,343,terminate
-343124775,Core_1,0,C,Core_1,0,unlock
-343124775,TASK_InputProcessing,171,STI,IPA_InputReady,171,trigger
-343124775,IPA_InputReady,171,T,TASK_CalcEngineSpeed,171,activate
-343124775,TASK_CalcEngineSpeed,171,SCHED,SCHED_Tasks_C2,-1,processactivate
-343124775,Core_1,0,T,TASK_InputProcessing,171,terminate
-343124775,TASK_InputProcessing,171,SCHED,SCHED_Tasks_C1,-1,processterminate
-343124775,Core_1,0,C,Core_1,0,idle
-343124775,TASK_InputProcessing,171,C,Core_1,0,idle
-343124825,TASK_InputProcessing,171,STI,IR_SCHED_Tasks_C1,1156,trigger
-343124825,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-343124825,Core_1,0,C,Core_1,0,execute_idle
-343124825,TASK_20MS,17,C,Core_1,0,execute_idle
-343124825,Core_1,0,T,TASK_20MS,17,resume
-343124825,TASK_20MS,17,R,FUNC_EXECTIME_1,620,resume
-343124875,TASK_CalcEngineSpeed,171,STI,IR_SCHED_Tasks_C2,1104,trigger
-343124875,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-343124875,Core_2,0,T,TASK_CalcEngineSpeed,171,start
-343124875,TASK_CalcEngineSpeed,171,R,FUNC_ENGINESPEED,171,start
-343124875,Core_2,0,C,Core_2,0,execute
-343124875,TASK_CalcEngineSpeed,171,C,Core_2,0,execute
-343250000,SIM,-1,STI,TIMER-1MS,343,trigger
-343250000,TIMER-1MS,343,T,TASK_1MS,343,activate
-343250000,TASK_1MS,343,SCHED,SCHED_Tasks_C1,-1,processactivate
-343250100,TASK_1MS,343,STI,IR_SCHED_Tasks_C1,1157,trigger
-343250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-343250100,TASK_20MS,17,R,FUNC_EXECTIME_1,620,suspend
-343250100,Core_1,0,T,TASK_20MS,17,preempt
-343250100,Core_1,0,C,Core_1,0,idle_execution
-343250100,TASK_20MS,17,C,Core_1,0,idle_execution
-343250100,Core_1,0,T,TASK_1MS,343,start
-343250100,TASK_1MS,343,R,FUNC_EXECTIME_1,626,start
-343250100,Core_1,0,C,Core_1,0,execute
-343250100,TASK_1MS,343,C,Core_1,0,execute
-343352100,TASK_CalcEngineSpeed,171,R,FUNC_ENGINESPEED,171,terminate
-343352100,Core_2,0,T,TASK_CalcEngineSpeed,171,terminate
-343352100,TASK_CalcEngineSpeed,171,SCHED,SCHED_Tasks_C2,-1,processterminate
-343352100,Core_2,0,C,Core_2,0,idle
-343352100,TASK_CalcEngineSpeed,171,C,Core_2,0,idle
-343352200,TASK_CalcEngineSpeed,171,STI,IR_SCHED_Tasks_C2,1105,trigger
-343352200,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-344000000,SIM,-1,STI,TIMER-B_2ms,172,trigger
-344000000,TIMER-B_2ms,172,T,TASK_WritingActuator,172,activate
-344000000,TASK_WritingActuator,172,SCHED,SCHED_Tasks_C2,-1,processactivate
-344000100,TASK_WritingActuator,172,STI,IR_SCHED_Tasks_C2,1106,trigger
-344000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-344000100,Core_2,0,T,TASK_WritingActuator,172,start
-344000100,TASK_WritingActuator,172,R,FUNC_SEMLOCK,344,start
-344000100,Core_2,0,C,Core_2,0,execute
-344000100,TASK_WritingActuator,172,C,Core_2,0,execute
-344029675,TASK_1MS,343,R,FUNC_EXECTIME_1,626,terminate
-344029675,Core_1,0,T,TASK_1MS,343,terminate
-344029675,TASK_1MS,343,SCHED,SCHED_Tasks_C1,-1,processterminate
-344029675,Core_1,0,C,Core_1,0,idle
-344029675,TASK_1MS,343,C,Core_1,0,idle
-344029775,TASK_1MS,343,STI,IR_SCHED_Tasks_C1,1158,trigger
-344029775,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-344029775,Core_1,0,C,Core_1,0,execute_idle
-344029775,TASK_20MS,17,C,Core_1,0,execute_idle
-344029775,Core_1,0,T,TASK_20MS,17,resume
-344029775,TASK_20MS,17,R,FUNC_EXECTIME_1,620,resume
-344100000,SIM,-1,STI,TIMER-5MS,172,trigger
-344100000,TIMER-5MS,172,T,TASK_5MS,172,activate
-344100000,TASK_5MS,172,SCHED,SCHED_Tasks_C2,-1,processactivate
-344100100,TASK_5MS,172,STI,IR_SCHED_Tasks_C2,1107,trigger
-344100100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-344125100,TASK_WritingActuator,172,SEM,SEM_DataElement1,0,requestsemaphore,0
-344125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-344125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-344125100,Core_2,0,C,Core_2,0,lock
-344125100,TASK_WritingActuator,172,SEM,SEM_DataElement1,0,assigned,1
-344125150,TASK_WritingActuator,172,R,FUNC_SEMLOCK,344,terminate
-344125150,Core_2,0,C,Core_2,0,unlock
-344125150,TASK_WritingActuator,172,R,FUNC_WriteData,172,start
-344150000,SIM,-1,STI,TIMER-A_2ms,172,trigger
-344150000,TIMER-A_2ms,172,T,TASK_InputProcessing,172,activate
-344150000,TASK_InputProcessing,172,SCHED,SCHED_Tasks_C1,-1,processactivate
-344150100,TASK_InputProcessing,172,STI,IR_SCHED_Tasks_C1,1159,trigger
-344150100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-344150100,TASK_20MS,17,R,FUNC_EXECTIME_1,620,suspend
-344150100,Core_1,0,T,TASK_20MS,17,preempt
-344150100,Core_1,0,C,Core_1,0,idle_execution
-344150100,TASK_20MS,17,C,Core_1,0,idle_execution
-344150100,Core_1,0,T,TASK_InputProcessing,172,start
-344150100,TASK_InputProcessing,172,R,FUNC_SEMLOCK,345,start
-344150100,Core_1,0,C,Core_1,0,execute
-344150100,TASK_InputProcessing,172,C,Core_1,0,execute
-344152375,TASK_WritingActuator,172,SIG,SIG_Mixture,0,write,0
-344152375,TASK_WritingActuator,172,R,FUNC_WriteData,172,terminate
-344152375,TASK_WritingActuator,172,R,FUNC_SEMUNLOCK,344,start
-344250000,SIM,-1,STI,TIMER-1MS,344,trigger
-344250000,TIMER-1MS,344,T,TASK_1MS,344,activate
-344250000,TASK_1MS,344,SCHED,SCHED_Tasks_C1,-1,processactivate
-344250100,TASK_1MS,344,STI,IR_SCHED_Tasks_C1,1160,trigger
-344250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-344250100,TASK_InputProcessing,172,R,FUNC_SEMLOCK,345,suspend
-344250100,Core_1,0,T,TASK_InputProcessing,172,preempt
-344250100,Core_1,0,C,Core_1,0,idle_execution
-344250100,TASK_InputProcessing,172,C,Core_1,0,idle_execution
-344250100,Core_1,0,T,TASK_1MS,344,start
-344250100,TASK_1MS,344,R,FUNC_EXECTIME_1,628,start
-344250100,Core_1,0,C,Core_1,0,execute
-344250100,TASK_1MS,344,C,Core_1,0,execute
-344352375,TASK_WritingActuator,172,SEM,SEM_DataElement1,0,released,1
-344352375,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-344352375,TASK_WritingActuator,172,SCHED,SCHED_Tasks_C2,-1,schedulepoint
-344352375,Core_2,0,C,Core_2,0,lock
-344352425,TASK_WritingActuator,172,R,FUNC_SEMUNLOCK,344,terminate
-344352425,Core_2,0,T,TASK_WritingActuator,172,terminate
-344352425,TASK_WritingActuator,172,SCHED,SCHED_Tasks_C2,-1,processterminate
-344352425,Core_2,0,C,Core_2,0,unlock
-344352425,Core_2,0,C,Core_2,0,idle
-344352425,TASK_WritingActuator,172,C,Core_2,0,idle
-344352475,TASK_WritingActuator,172,STI,IR_SCHED_Tasks_C2,1108,trigger
-344352475,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-344352475,Core_2,0,T,TASK_5MS,172,start
-344352475,TASK_5MS,172,R,FUNC_EXECTIME_1,627,start
-344352475,Core_2,0,C,Core_2,0,execute
-344352475,TASK_5MS,172,C,Core_2,0,execute
-344744875,TASK_1MS,344,R,FUNC_EXECTIME_1,628,terminate
-344744875,Core_1,0,T,TASK_1MS,344,terminate
-344744875,TASK_1MS,344,SCHED,SCHED_Tasks_C1,-1,processterminate
-344744875,Core_1,0,C,Core_1,0,idle
-344744875,TASK_1MS,344,C,Core_1,0,idle
-344744975,TASK_1MS,344,STI,IR_SCHED_Tasks_C1,1161,trigger
-344744975,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-344744975,Core_1,0,C,Core_1,0,execute_idle
-344744975,TASK_InputProcessing,172,C,Core_1,0,execute_idle
-344744975,Core_1,0,T,TASK_InputProcessing,172,resume
-344744975,TASK_InputProcessing,172,R,FUNC_SEMLOCK,345,resume
-344769975,TASK_InputProcessing,172,SEM,SEM_DataElement1,0,requestsemaphore,0
-344769975,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-344769975,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-344769975,Core_1,0,C,Core_1,0,lock
-344769975,TASK_InputProcessing,172,SEM,SEM_DataElement1,0,assigned,1
-344770025,TASK_InputProcessing,172,R,FUNC_SEMLOCK,345,terminate
-344770025,Core_1,0,C,Core_1,0,unlock
-344770025,TASK_InputProcessing,172,R,FUNC_ReadSensorData,172,start
-344801850,TASK_5MS,172,R,FUNC_EXECTIME_1,627,terminate
-344801850,Core_2,0,T,TASK_5MS,172,terminate
-344801850,TASK_5MS,172,SCHED,SCHED_Tasks_C2,-1,processterminate
-344801850,Core_2,0,C,Core_2,0,idle
-344801850,TASK_5MS,172,C,Core_2,0,idle
-344801950,TASK_5MS,172,STI,IR_SCHED_Tasks_C2,1109,trigger
-344801950,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-344929525,TASK_InputProcessing,172,SIG,SIG_RotationSpeed,0,read,0
-344929525,TASK_InputProcessing,172,SIG,SIG_Lambda,0,read,0
-344929525,TASK_InputProcessing,172,SIG,SIG_Temperature,0,read,0
-344929525,TASK_InputProcessing,172,R,FUNC_ReadSensorData,172,terminate
-344929525,TASK_InputProcessing,172,R,FUNC_SEMUNLOCK,345,start
-345000000,SIM,-1,STI,TIMER-10MS,34,trigger
-345000000,TIMER-10MS,34,T,TASK_10MS,34,activate
-345000000,TASK_10MS,34,SCHED,SCHED_Tasks_C2,-1,processactivate
-345000100,TASK_10MS,34,STI,IR_SCHED_Tasks_C2,1110,trigger
-345000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-345000100,Core_2,0,T,TASK_10MS,34,start
-345000100,TASK_10MS,34,R,FUNC_EXECTIME_1,629,start
-345000100,Core_2,0,C,Core_2,0,execute
-345000100,TASK_10MS,34,C,Core_2,0,execute
-345129525,TASK_InputProcessing,172,SEM,SEM_DataElement1,0,released,1
-345129525,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-345129525,TASK_InputProcessing,172,SCHED,SCHED_Tasks_C1,-1,schedulepoint
-345129525,Core_1,0,C,Core_1,0,lock
-345129575,TASK_InputProcessing,172,R,FUNC_SEMUNLOCK,345,terminate
-345129575,Core_1,0,C,Core_1,0,unlock
-345129575,TASK_InputProcessing,172,STI,IPA_InputReady,172,trigger
-345129575,IPA_InputReady,172,T,TASK_CalcEngineSpeed,172,activate
-345129575,TASK_CalcEngineSpeed,172,SCHED,SCHED_Tasks_C2,-1,processactivate
-345129575,Core_1,0,T,TASK_InputProcessing,172,terminate
-345129575,TASK_InputProcessing,172,SCHED,SCHED_Tasks_C1,-1,processterminate
-345129575,Core_1,0,C,Core_1,0,idle
-345129575,TASK_InputProcessing,172,C,Core_1,0,idle
-345129625,TASK_InputProcessing,172,STI,IR_SCHED_Tasks_C1,1162,trigger
-345129625,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-345129625,Core_1,0,C,Core_1,0,execute_idle
-345129625,TASK_20MS,17,C,Core_1,0,execute_idle
-345129625,Core_1,0,T,TASK_20MS,17,resume
-345129625,TASK_20MS,17,R,FUNC_EXECTIME_1,620,resume
-345129675,TASK_CalcEngineSpeed,172,STI,IR_SCHED_Tasks_C2,1111,trigger
-345129675,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-345129675,TASK_10MS,34,R,FUNC_EXECTIME_1,629,suspend
-345129675,Core_2,0,T,TASK_10MS,34,preempt
-345129675,Core_2,0,C,Core_2,0,idle_execution
-345129675,TASK_10MS,34,C,Core_2,0,idle_execution
-345129675,Core_2,0,T,TASK_CalcEngineSpeed,172,start
-345129675,TASK_CalcEngineSpeed,172,R,FUNC_ENGINESPEED,172,start
-345129675,Core_2,0,C,Core_2,0,execute
-345129675,TASK_CalcEngineSpeed,172,C,Core_2,0,execute
-345250000,SIM,-1,STI,TIMER-1MS,345,trigger
-345250000,TIMER-1MS,345,T,TASK_1MS,345,activate
-345250000,TASK_1MS,345,SCHED,SCHED_Tasks_C1,-1,processactivate
-345250100,TASK_1MS,345,STI,IR_SCHED_Tasks_C1,1163,trigger
-345250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-345250100,TASK_20MS,17,R,FUNC_EXECTIME_1,620,suspend
-345250100,Core_1,0,T,TASK_20MS,17,preempt
-345250100,Core_1,0,C,Core_1,0,idle_execution
-345250100,TASK_20MS,17,C,Core_1,0,idle_execution
-345250100,Core_1,0,T,TASK_1MS,345,start
-345250100,TASK_1MS,345,R,FUNC_EXECTIME_1,630,start
-345250100,Core_1,0,C,Core_1,0,execute
-345250100,TASK_1MS,345,C,Core_1,0,execute
-345379300,TASK_CalcEngineSpeed,172,R,FUNC_ENGINESPEED,172,terminate
-345379300,Core_2,0,T,TASK_CalcEngineSpeed,172,terminate
-345379300,TASK_CalcEngineSpeed,172,SCHED,SCHED_Tasks_C2,-1,processterminate
-345379300,Core_2,0,C,Core_2,0,idle
-345379300,TASK_CalcEngineSpeed,172,C,Core_2,0,idle
-345379400,TASK_CalcEngineSpeed,172,STI,IR_SCHED_Tasks_C2,1112,trigger
-345379400,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-345379400,Core_2,0,C,Core_2,0,execute_idle
-345379400,TASK_10MS,34,C,Core_2,0,execute_idle
-345379400,Core_2,0,T,TASK_10MS,34,resume
-345379400,TASK_10MS,34,R,FUNC_EXECTIME_1,629,resume
-345615525,TASK_10MS,34,R,FUNC_EXECTIME_1,629,terminate
-345615525,Core_2,0,T,TASK_10MS,34,terminate
-345615525,TASK_10MS,34,SCHED,SCHED_Tasks_C2,-1,processterminate
-345615525,Core_2,0,C,Core_2,0,idle
-345615525,TASK_10MS,34,C,Core_2,0,idle
-345615625,TASK_10MS,34,STI,IR_SCHED_Tasks_C2,1113,trigger
-345615625,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-345836425,TASK_1MS,345,R,FUNC_EXECTIME_1,630,terminate
-345836425,Core_1,0,T,TASK_1MS,345,terminate
-345836425,TASK_1MS,345,SCHED,SCHED_Tasks_C1,-1,processterminate
-345836425,Core_1,0,C,Core_1,0,idle
-345836425,TASK_1MS,345,C,Core_1,0,idle
-345836525,TASK_1MS,345,STI,IR_SCHED_Tasks_C1,1164,trigger
-345836525,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-345836525,Core_1,0,C,Core_1,0,execute_idle
-345836525,TASK_20MS,17,C,Core_1,0,execute_idle
-345836525,Core_1,0,T,TASK_20MS,17,resume
-345836525,TASK_20MS,17,R,FUNC_EXECTIME_1,620,resume
-345914700,TASK_20MS,17,R,FUNC_EXECTIME_1,620,terminate
-345914700,Core_1,0,T,TASK_20MS,17,terminate
-345914700,TASK_20MS,17,SCHED,SCHED_Tasks_C1,-1,processterminate
-345914700,Core_1,0,C,Core_1,0,idle
-345914700,TASK_20MS,17,C,Core_1,0,idle
-345914800,TASK_20MS,17,STI,IR_SCHED_Tasks_C1,1165,trigger
-345914800,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-346000000,SIM,-1,STI,TIMER-B_2ms,173,trigger
-346000000,TIMER-B_2ms,173,T,TASK_WritingActuator,173,activate
-346000000,TASK_WritingActuator,173,SCHED,SCHED_Tasks_C2,-1,processactivate
-346000100,TASK_WritingActuator,173,STI,IR_SCHED_Tasks_C2,1114,trigger
-346000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-346000100,Core_2,0,T,TASK_WritingActuator,173,start
-346000100,TASK_WritingActuator,173,R,FUNC_SEMLOCK,346,start
-346000100,Core_2,0,C,Core_2,0,execute
-346000100,TASK_WritingActuator,173,C,Core_2,0,execute
-346100000,SIM,-1,STI,TIMER-5MS,173,trigger
-346100000,TIMER-5MS,173,T,TASK_5MS,173,activate
-346100000,TASK_5MS,173,SCHED,SCHED_Tasks_C2,-1,processactivate
-346100100,TASK_5MS,173,STI,IR_SCHED_Tasks_C2,1115,trigger
-346100100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-346125100,TASK_WritingActuator,173,SEM,SEM_DataElement1,0,requestsemaphore,0
-346125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-346125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-346125100,Core_2,0,C,Core_2,0,lock
-346125100,TASK_WritingActuator,173,SEM,SEM_DataElement1,0,assigned,1
-346125150,TASK_WritingActuator,173,R,FUNC_SEMLOCK,346,terminate
-346125150,Core_2,0,C,Core_2,0,unlock
-346125150,TASK_WritingActuator,173,R,FUNC_WriteData,173,start
-346150000,SIM,-1,STI,TIMER-A_2ms,173,trigger
-346150000,TIMER-A_2ms,173,T,TASK_InputProcessing,173,activate
-346150000,TASK_InputProcessing,173,SCHED,SCHED_Tasks_C1,-1,processactivate
-346150100,TASK_InputProcessing,173,STI,IR_SCHED_Tasks_C1,1166,trigger
-346150100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-346150100,Core_1,0,T,TASK_InputProcessing,173,start
-346150100,TASK_InputProcessing,173,R,FUNC_SEMLOCK,347,start
-346150100,Core_1,0,C,Core_1,0,execute
-346150100,TASK_InputProcessing,173,C,Core_1,0,execute
-346151975,TASK_WritingActuator,173,SIG,SIG_Mixture,0,write,0
-346151975,TASK_WritingActuator,173,R,FUNC_WriteData,173,terminate
-346151975,TASK_WritingActuator,173,R,FUNC_SEMUNLOCK,346,start
-346250000,SIM,-1,STI,TIMER-1MS,346,trigger
-346250000,TIMER-1MS,346,T,TASK_1MS,346,activate
-346250000,TASK_1MS,346,SCHED,SCHED_Tasks_C1,-1,processactivate
-346250100,TASK_1MS,346,STI,IR_SCHED_Tasks_C1,1167,trigger
-346250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-346250100,TASK_InputProcessing,173,R,FUNC_SEMLOCK,347,suspend
-346250100,Core_1,0,T,TASK_InputProcessing,173,preempt
-346250100,Core_1,0,C,Core_1,0,idle_execution
-346250100,TASK_InputProcessing,173,C,Core_1,0,idle_execution
-346250100,Core_1,0,T,TASK_1MS,346,start
-346250100,TASK_1MS,346,R,FUNC_EXECTIME_1,632,start
-346250100,Core_1,0,C,Core_1,0,execute
-346250100,TASK_1MS,346,C,Core_1,0,execute
-346351975,TASK_WritingActuator,173,SEM,SEM_DataElement1,0,released,1
-346351975,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-346351975,TASK_WritingActuator,173,SCHED,SCHED_Tasks_C2,-1,schedulepoint
-346351975,Core_2,0,C,Core_2,0,lock
-346352025,TASK_WritingActuator,173,R,FUNC_SEMUNLOCK,346,terminate
-346352025,Core_2,0,T,TASK_WritingActuator,173,terminate
-346352025,TASK_WritingActuator,173,SCHED,SCHED_Tasks_C2,-1,processterminate
-346352025,Core_2,0,C,Core_2,0,unlock
-346352025,Core_2,0,C,Core_2,0,idle
-346352025,TASK_WritingActuator,173,C,Core_2,0,idle
-346352075,TASK_WritingActuator,173,STI,IR_SCHED_Tasks_C2,1116,trigger
-346352075,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-346352075,Core_2,0,T,TASK_5MS,173,start
-346352075,TASK_5MS,173,R,FUNC_EXECTIME_1,631,start
-346352075,Core_2,0,C,Core_2,0,execute
-346352075,TASK_5MS,173,C,Core_2,0,execute
-346543675,TASK_1MS,346,R,FUNC_EXECTIME_1,632,terminate
-346543675,Core_1,0,T,TASK_1MS,346,terminate
-346543675,TASK_1MS,346,SCHED,SCHED_Tasks_C1,-1,processterminate
-346543675,Core_1,0,C,Core_1,0,idle
-346543675,TASK_1MS,346,C,Core_1,0,idle
-346543775,TASK_1MS,346,STI,IR_SCHED_Tasks_C1,1168,trigger
-346543775,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-346543775,Core_1,0,C,Core_1,0,execute_idle
-346543775,TASK_InputProcessing,173,C,Core_1,0,execute_idle
-346543775,Core_1,0,T,TASK_InputProcessing,173,resume
-346543775,TASK_InputProcessing,173,R,FUNC_SEMLOCK,347,resume
-346568775,TASK_InputProcessing,173,SEM,SEM_DataElement1,0,requestsemaphore,0
-346568775,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-346568775,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-346568775,Core_1,0,C,Core_1,0,lock
-346568775,TASK_InputProcessing,173,SEM,SEM_DataElement1,0,assigned,1
-346568825,TASK_InputProcessing,173,R,FUNC_SEMLOCK,347,terminate
-346568825,Core_1,0,C,Core_1,0,unlock
-346568825,TASK_InputProcessing,173,R,FUNC_ReadSensorData,173,start
-346732450,TASK_InputProcessing,173,SIG,SIG_RotationSpeed,0,read,0
-346732450,TASK_InputProcessing,173,SIG,SIG_Lambda,0,read,0
-346732450,TASK_InputProcessing,173,SIG,SIG_Temperature,0,read,0
-346732450,TASK_InputProcessing,173,R,FUNC_ReadSensorData,173,terminate
-346732450,TASK_InputProcessing,173,R,FUNC_SEMUNLOCK,347,start
-346851025,TASK_5MS,173,R,FUNC_EXECTIME_1,631,terminate
-346851025,Core_2,0,T,TASK_5MS,173,terminate
-346851025,TASK_5MS,173,SCHED,SCHED_Tasks_C2,-1,processterminate
-346851025,Core_2,0,C,Core_2,0,idle
-346851025,TASK_5MS,173,C,Core_2,0,idle
-346851125,TASK_5MS,173,STI,IR_SCHED_Tasks_C2,1117,trigger
-346851125,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-346932450,TASK_InputProcessing,173,SEM,SEM_DataElement1,0,released,1
-346932450,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-346932450,TASK_InputProcessing,173,SCHED,SCHED_Tasks_C1,-1,schedulepoint
-346932450,Core_1,0,C,Core_1,0,lock
-346932500,TASK_InputProcessing,173,R,FUNC_SEMUNLOCK,347,terminate
-346932500,Core_1,0,C,Core_1,0,unlock
-346932500,TASK_InputProcessing,173,STI,IPA_InputReady,173,trigger
-346932500,IPA_InputReady,173,T,TASK_CalcEngineSpeed,173,activate
-346932500,TASK_CalcEngineSpeed,173,SCHED,SCHED_Tasks_C2,-1,processactivate
-346932500,Core_1,0,T,TASK_InputProcessing,173,terminate
-346932500,TASK_InputProcessing,173,SCHED,SCHED_Tasks_C1,-1,processterminate
-346932500,Core_1,0,C,Core_1,0,idle
-346932500,TASK_InputProcessing,173,C,Core_1,0,idle
-346932550,TASK_InputProcessing,173,STI,IR_SCHED_Tasks_C1,1169,trigger
-346932550,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-346932600,TASK_CalcEngineSpeed,173,STI,IR_SCHED_Tasks_C2,1118,trigger
-346932600,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-346932600,Core_2,0,T,TASK_CalcEngineSpeed,173,start
-346932600,TASK_CalcEngineSpeed,173,R,FUNC_ENGINESPEED,173,start
-346932600,Core_2,0,C,Core_2,0,execute
-346932600,TASK_CalcEngineSpeed,173,C,Core_2,0,execute
-347171225,TASK_CalcEngineSpeed,173,R,FUNC_ENGINESPEED,173,terminate
-347171225,Core_2,0,T,TASK_CalcEngineSpeed,173,terminate
-347171225,TASK_CalcEngineSpeed,173,SCHED,SCHED_Tasks_C2,-1,processterminate
-347171225,Core_2,0,C,Core_2,0,idle
-347171225,TASK_CalcEngineSpeed,173,C,Core_2,0,idle
-347171325,TASK_CalcEngineSpeed,173,STI,IR_SCHED_Tasks_C2,1119,trigger
-347171325,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-347250000,SIM,-1,STI,TIMER-1MS,347,trigger
-347250000,TIMER-1MS,347,T,TASK_1MS,347,activate
-347250000,TASK_1MS,347,SCHED,SCHED_Tasks_C1,-1,processactivate
-347250100,TASK_1MS,347,STI,IR_SCHED_Tasks_C1,1170,trigger
-347250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-347250100,Core_1,0,T,TASK_1MS,347,start
-347250100,TASK_1MS,347,R,FUNC_EXECTIME_1,633,start
-347250100,Core_1,0,C,Core_1,0,execute
-347250100,TASK_1MS,347,C,Core_1,0,execute
-347780525,TASK_1MS,347,R,FUNC_EXECTIME_1,633,terminate
-347780525,Core_1,0,T,TASK_1MS,347,terminate
-347780525,TASK_1MS,347,SCHED,SCHED_Tasks_C1,-1,processterminate
-347780525,Core_1,0,C,Core_1,0,idle
-347780525,TASK_1MS,347,C,Core_1,0,idle
-347780625,TASK_1MS,347,STI,IR_SCHED_Tasks_C1,1171,trigger
-347780625,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-348000000,SIM,-1,STI,TIMER-B_2ms,174,trigger
-348000000,TIMER-B_2ms,174,T,TASK_WritingActuator,174,activate
-348000000,TASK_WritingActuator,174,SCHED,SCHED_Tasks_C2,-1,processactivate
-348000100,TASK_WritingActuator,174,STI,IR_SCHED_Tasks_C2,1120,trigger
-348000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-348000100,Core_2,0,T,TASK_WritingActuator,174,start
-348000100,TASK_WritingActuator,174,R,FUNC_SEMLOCK,348,start
-348000100,Core_2,0,C,Core_2,0,execute
-348000100,TASK_WritingActuator,174,C,Core_2,0,execute
-348100000,SIM,-1,STI,TIMER-5MS,174,trigger
-348100000,TIMER-5MS,174,T,TASK_5MS,174,activate
-348100000,TASK_5MS,174,SCHED,SCHED_Tasks_C2,-1,processactivate
-348100100,TASK_5MS,174,STI,IR_SCHED_Tasks_C2,1121,trigger
-348100100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-348125100,TASK_WritingActuator,174,SEM,SEM_DataElement1,0,requestsemaphore,0
-348125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-348125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-348125100,Core_2,0,C,Core_2,0,lock
-348125100,TASK_WritingActuator,174,SEM,SEM_DataElement1,0,assigned,1
-348125150,TASK_WritingActuator,174,R,FUNC_SEMLOCK,348,terminate
-348125150,Core_2,0,C,Core_2,0,unlock
-348125150,TASK_WritingActuator,174,R,FUNC_WriteData,174,start
-348150000,SIM,-1,STI,TIMER-A_2ms,174,trigger
-348150000,TIMER-A_2ms,174,T,TASK_InputProcessing,174,activate
-348150000,TASK_InputProcessing,174,SCHED,SCHED_Tasks_C1,-1,processactivate
-348150100,TASK_InputProcessing,174,STI,IR_SCHED_Tasks_C1,1172,trigger
-348150100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-348150100,Core_1,0,T,TASK_InputProcessing,174,start
-348150100,TASK_InputProcessing,174,R,FUNC_SEMLOCK,349,start
-348150100,Core_1,0,C,Core_1,0,execute
-348150100,TASK_InputProcessing,174,C,Core_1,0,execute
-348152150,TASK_WritingActuator,174,SIG,SIG_Mixture,0,write,0
-348152150,TASK_WritingActuator,174,R,FUNC_WriteData,174,terminate
-348152150,TASK_WritingActuator,174,R,FUNC_SEMUNLOCK,348,start
-348250000,SIM,-1,STI,TIMER-1MS,348,trigger
-348250000,TIMER-1MS,348,T,TASK_1MS,348,activate
-348250000,TASK_1MS,348,SCHED,SCHED_Tasks_C1,-1,processactivate
-348250100,TASK_1MS,348,STI,IR_SCHED_Tasks_C1,1173,trigger
-348250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-348250100,TASK_InputProcessing,174,R,FUNC_SEMLOCK,349,suspend
-348250100,Core_1,0,T,TASK_InputProcessing,174,preempt
-348250100,Core_1,0,C,Core_1,0,idle_execution
-348250100,TASK_InputProcessing,174,C,Core_1,0,idle_execution
-348250100,Core_1,0,T,TASK_1MS,348,start
-348250100,TASK_1MS,348,R,FUNC_EXECTIME_1,635,start
-348250100,Core_1,0,C,Core_1,0,execute
-348250100,TASK_1MS,348,C,Core_1,0,execute
-348352150,TASK_WritingActuator,174,SEM,SEM_DataElement1,0,released,1
-348352150,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-348352150,TASK_WritingActuator,174,SCHED,SCHED_Tasks_C2,-1,schedulepoint
-348352150,Core_2,0,C,Core_2,0,lock
-348352200,TASK_WritingActuator,174,R,FUNC_SEMUNLOCK,348,terminate
-348352200,Core_2,0,T,TASK_WritingActuator,174,terminate
-348352200,TASK_WritingActuator,174,SCHED,SCHED_Tasks_C2,-1,processterminate
-348352200,Core_2,0,C,Core_2,0,unlock
-348352200,Core_2,0,C,Core_2,0,idle
-348352200,TASK_WritingActuator,174,C,Core_2,0,idle
-348352250,TASK_WritingActuator,174,STI,IR_SCHED_Tasks_C2,1122,trigger
-348352250,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-348352250,Core_2,0,T,TASK_5MS,174,start
-348352250,TASK_5MS,174,R,FUNC_EXECTIME_1,634,start
-348352250,Core_2,0,C,Core_2,0,execute
-348352250,TASK_5MS,174,C,Core_2,0,execute
-348786875,TASK_1MS,348,R,FUNC_EXECTIME_1,635,terminate
-348786875,Core_1,0,T,TASK_1MS,348,terminate
-348786875,TASK_1MS,348,SCHED,SCHED_Tasks_C1,-1,processterminate
-348786875,Core_1,0,C,Core_1,0,idle
-348786875,TASK_1MS,348,C,Core_1,0,idle
-348786975,TASK_1MS,348,STI,IR_SCHED_Tasks_C1,1174,trigger
-348786975,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-348786975,Core_1,0,C,Core_1,0,execute_idle
-348786975,TASK_InputProcessing,174,C,Core_1,0,execute_idle
-348786975,Core_1,0,T,TASK_InputProcessing,174,resume
-348786975,TASK_InputProcessing,174,R,FUNC_SEMLOCK,349,resume
-348811975,TASK_InputProcessing,174,SEM,SEM_DataElement1,0,requestsemaphore,0
-348811975,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-348811975,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-348811975,Core_1,0,C,Core_1,0,lock
-348811975,TASK_InputProcessing,174,SEM,SEM_DataElement1,0,assigned,1
-348812025,TASK_InputProcessing,174,R,FUNC_SEMLOCK,349,terminate
-348812025,Core_1,0,C,Core_1,0,unlock
-348812025,TASK_InputProcessing,174,R,FUNC_ReadSensorData,174,start
-348829925,TASK_5MS,174,R,FUNC_EXECTIME_1,634,terminate
-348829925,Core_2,0,T,TASK_5MS,174,terminate
-348829925,TASK_5MS,174,SCHED,SCHED_Tasks_C2,-1,processterminate
-348829925,Core_2,0,C,Core_2,0,idle
-348829925,TASK_5MS,174,C,Core_2,0,idle
-348830025,TASK_5MS,174,STI,IR_SCHED_Tasks_C2,1123,trigger
-348830025,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-348974825,TASK_InputProcessing,174,SIG,SIG_RotationSpeed,0,read,0
-348974825,TASK_InputProcessing,174,SIG,SIG_Lambda,0,read,0
-348974825,TASK_InputProcessing,174,SIG,SIG_Temperature,0,read,0
-348974825,TASK_InputProcessing,174,R,FUNC_ReadSensorData,174,terminate
-348974825,TASK_InputProcessing,174,R,FUNC_SEMUNLOCK,349,start
-349174825,TASK_InputProcessing,174,SEM,SEM_DataElement1,0,released,1
-349174825,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-349174825,TASK_InputProcessing,174,SCHED,SCHED_Tasks_C1,-1,schedulepoint
-349174825,Core_1,0,C,Core_1,0,lock
-349174875,TASK_InputProcessing,174,R,FUNC_SEMUNLOCK,349,terminate
-349174875,Core_1,0,C,Core_1,0,unlock
-349174875,TASK_InputProcessing,174,STI,IPA_InputReady,174,trigger
-349174875,IPA_InputReady,174,T,TASK_CalcEngineSpeed,174,activate
-349174875,TASK_CalcEngineSpeed,174,SCHED,SCHED_Tasks_C2,-1,processactivate
-349174875,Core_1,0,T,TASK_InputProcessing,174,terminate
-349174875,TASK_InputProcessing,174,SCHED,SCHED_Tasks_C1,-1,processterminate
-349174875,Core_1,0,C,Core_1,0,idle
-349174875,TASK_InputProcessing,174,C,Core_1,0,idle
-349174925,TASK_InputProcessing,174,STI,IR_SCHED_Tasks_C1,1175,trigger
-349174925,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-349174975,TASK_CalcEngineSpeed,174,STI,IR_SCHED_Tasks_C2,1124,trigger
-349174975,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-349174975,Core_2,0,T,TASK_CalcEngineSpeed,174,start
-349174975,TASK_CalcEngineSpeed,174,R,FUNC_ENGINESPEED,174,start
-349174975,Core_2,0,C,Core_2,0,execute
-349174975,TASK_CalcEngineSpeed,174,C,Core_2,0,execute
-349250000,SIM,-1,STI,TIMER-1MS,349,trigger
-349250000,TIMER-1MS,349,T,TASK_1MS,349,activate
-349250000,TASK_1MS,349,SCHED,SCHED_Tasks_C1,-1,processactivate
-349250100,TASK_1MS,349,STI,IR_SCHED_Tasks_C1,1176,trigger
-349250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-349250100,Core_1,0,T,TASK_1MS,349,start
-349250100,TASK_1MS,349,R,FUNC_EXECTIME_1,636,start
-349250100,Core_1,0,C,Core_1,0,execute
-349250100,TASK_1MS,349,C,Core_1,0,execute
-349308250,TASK_CalcEngineSpeed,174,R,FUNC_ENGINESPEED,174,terminate
-349308250,Core_2,0,T,TASK_CalcEngineSpeed,174,terminate
-349308250,TASK_CalcEngineSpeed,174,SCHED,SCHED_Tasks_C2,-1,processterminate
-349308250,Core_2,0,C,Core_2,0,idle
-349308250,TASK_CalcEngineSpeed,174,C,Core_2,0,idle
-349308350,TASK_CalcEngineSpeed,174,STI,IR_SCHED_Tasks_C2,1125,trigger
-349308350,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-349571600,TASK_1MS,349,R,FUNC_EXECTIME_1,636,terminate
-349571600,Core_1,0,T,TASK_1MS,349,terminate
-349571600,TASK_1MS,349,SCHED,SCHED_Tasks_C1,-1,processterminate
-349571600,Core_1,0,C,Core_1,0,idle
-349571600,TASK_1MS,349,C,Core_1,0,idle
-349571700,TASK_1MS,349,STI,IR_SCHED_Tasks_C1,1177,trigger
-349571700,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-350000000,SIM,-1,STI,TIMER-B_2ms,175,trigger
-350000000,TIMER-B_2ms,175,T,TASK_WritingActuator,175,activate
-350000000,TASK_WritingActuator,175,SCHED,SCHED_Tasks_C2,-1,processactivate
-350000000,SIM,-1,STI,TIMER-10MS_2,35,trigger
-350000000,TIMER-10MS_2,35,T,TASK_10MS_DL2,35,activate
-350000000,TASK_10MS_DL2,35,SCHED,SCHED_Tasks_C1,-1,processactivate
-350000100,TASK_WritingActuator,175,STI,IR_SCHED_Tasks_C2,1126,trigger
-350000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-350000100,Core_2,0,T,TASK_WritingActuator,175,start
-350000100,TASK_WritingActuator,175,R,FUNC_SEMLOCK,350,start
-350000100,Core_2,0,C,Core_2,0,execute
-350000100,TASK_WritingActuator,175,C,Core_2,0,execute
-350000100,TASK_10MS_DL2,35,STI,IR_SCHED_Tasks_C1,1178,trigger
-350000100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-350000100,Core_1,0,T,TASK_10MS_DL2,35,start
-350000100,TASK_10MS_DL2,35,R,FUNC_EXECTIME_1,637,start
-350000100,Core_1,0,C,Core_1,0,execute
-350000100,TASK_10MS_DL2,35,C,Core_1,0,execute
-350100000,SIM,-1,STI,TIMER-5MS,175,trigger
-350100000,TIMER-5MS,175,T,TASK_5MS,175,activate
-350100000,TASK_5MS,175,SCHED,SCHED_Tasks_C2,-1,processactivate
-350100100,TASK_5MS,175,STI,IR_SCHED_Tasks_C2,1127,trigger
-350100100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-350125100,TASK_WritingActuator,175,SEM,SEM_DataElement1,0,requestsemaphore,0
-350125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-350125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-350125100,Core_2,0,C,Core_2,0,lock
-350125100,TASK_WritingActuator,175,SEM,SEM_DataElement1,0,assigned,1
-350125150,TASK_WritingActuator,175,R,FUNC_SEMLOCK,350,terminate
-350125150,Core_2,0,C,Core_2,0,unlock
-350125150,TASK_WritingActuator,175,R,FUNC_WriteData,175,start
-350150000,SIM,-1,STI,TIMER-A_2ms,175,trigger
-350150000,TIMER-A_2ms,175,T,TASK_InputProcessing,175,activate
-350150000,TASK_InputProcessing,175,SCHED,SCHED_Tasks_C1,-1,processactivate
-350150100,TASK_InputProcessing,175,STI,IR_SCHED_Tasks_C1,1179,trigger
-350150100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-350152450,TASK_WritingActuator,175,SIG,SIG_Mixture,0,write,0
-350152450,TASK_WritingActuator,175,R,FUNC_WriteData,175,terminate
-350152450,TASK_WritingActuator,175,R,FUNC_SEMUNLOCK,350,start
-350250000,SIM,-1,STI,TIMER-1MS,350,trigger
-350250000,TIMER-1MS,350,T,TASK_1MS,350,activate
-350250000,TASK_1MS,350,SCHED,SCHED_Tasks_C1,-1,processactivate
-350250100,TASK_1MS,350,STI,IR_SCHED_Tasks_C1,1180,trigger
-350250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-350250100,TASK_10MS_DL2,35,R,FUNC_EXECTIME_1,637,suspend
-350250100,Core_1,0,T,TASK_10MS_DL2,35,preempt
-350250100,Core_1,0,C,Core_1,0,idle_execution
-350250100,TASK_10MS_DL2,35,C,Core_1,0,idle_execution
-350250100,Core_1,0,T,TASK_1MS,350,start
-350250100,TASK_1MS,350,R,FUNC_EXECTIME_1,639,start
-350250100,Core_1,0,C,Core_1,0,execute
-350250100,TASK_1MS,350,C,Core_1,0,execute
-350352450,TASK_WritingActuator,175,SEM,SEM_DataElement1,0,released,1
-350352450,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-350352450,TASK_WritingActuator,175,SCHED,SCHED_Tasks_C2,-1,schedulepoint
-350352450,Core_2,0,C,Core_2,0,lock
-350352500,TASK_WritingActuator,175,R,FUNC_SEMUNLOCK,350,terminate
-350352500,Core_2,0,T,TASK_WritingActuator,175,terminate
-350352500,TASK_WritingActuator,175,SCHED,SCHED_Tasks_C2,-1,processterminate
-350352500,Core_2,0,C,Core_2,0,unlock
-350352500,Core_2,0,C,Core_2,0,idle
-350352500,TASK_WritingActuator,175,C,Core_2,0,idle
-350352550,TASK_WritingActuator,175,STI,IR_SCHED_Tasks_C2,1128,trigger
-350352550,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-350352550,Core_2,0,T,TASK_5MS,175,start
-350352550,TASK_5MS,175,R,FUNC_EXECTIME_1,638,start
-350352550,Core_2,0,C,Core_2,0,execute
-350352550,TASK_5MS,175,C,Core_2,0,execute
-350617925,TASK_1MS,350,R,FUNC_EXECTIME_1,639,terminate
-350617925,Core_1,0,T,TASK_1MS,350,terminate
-350617925,TASK_1MS,350,SCHED,SCHED_Tasks_C1,-1,processterminate
-350617925,Core_1,0,C,Core_1,0,idle
-350617925,TASK_1MS,350,C,Core_1,0,idle
-350618025,TASK_1MS,350,STI,IR_SCHED_Tasks_C1,1181,trigger
-350618025,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-350618025,Core_1,0,C,Core_1,0,execute_idle
-350618025,TASK_10MS_DL2,35,C,Core_1,0,execute_idle
-350618025,Core_1,0,T,TASK_10MS_DL2,35,resume
-350618025,TASK_10MS_DL2,35,R,FUNC_EXECTIME_1,637,resume
-350994550,TASK_5MS,175,R,FUNC_EXECTIME_1,638,terminate
-350994550,Core_2,0,T,TASK_5MS,175,terminate
-350994550,TASK_5MS,175,SCHED,SCHED_Tasks_C2,-1,processterminate
-350994550,Core_2,0,C,Core_2,0,idle
-350994550,TASK_5MS,175,C,Core_2,0,idle
-350994650,TASK_5MS,175,STI,IR_SCHED_Tasks_C2,1129,trigger
-350994650,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-351247325,TASK_10MS_DL2,35,R,FUNC_EXECTIME_1,637,terminate
-351247325,Core_1,0,T,TASK_10MS_DL2,35,terminate
-351247325,TASK_10MS_DL2,35,SCHED,SCHED_Tasks_C1,-1,processterminate
-351247325,Core_1,0,C,Core_1,0,idle
-351247325,TASK_10MS_DL2,35,C,Core_1,0,idle
-351247425,TASK_10MS_DL2,35,STI,IR_SCHED_Tasks_C1,1182,trigger
-351247425,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-351247425,Core_1,0,T,TASK_InputProcessing,175,start
-351247425,TASK_InputProcessing,175,R,FUNC_SEMLOCK,351,start
-351247425,Core_1,0,C,Core_1,0,execute
-351247425,TASK_InputProcessing,175,C,Core_1,0,execute
-351250000,SIM,-1,STI,TIMER-1MS,351,trigger
-351250000,TIMER-1MS,351,T,TASK_1MS,351,activate
-351250000,TASK_1MS,351,SCHED,SCHED_Tasks_C1,-1,processactivate
-351250100,TASK_1MS,351,STI,IR_SCHED_Tasks_C1,1183,trigger
-351250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-351250100,TASK_InputProcessing,175,R,FUNC_SEMLOCK,351,suspend
-351250100,Core_1,0,T,TASK_InputProcessing,175,preempt
-351250100,Core_1,0,C,Core_1,0,idle_execution
-351250100,TASK_InputProcessing,175,C,Core_1,0,idle_execution
-351250100,Core_1,0,T,TASK_1MS,351,start
-351250100,TASK_1MS,351,R,FUNC_EXECTIME_1,640,start
-351250100,Core_1,0,C,Core_1,0,execute
-351250100,TASK_1MS,351,C,Core_1,0,execute
-351729850,TASK_1MS,351,R,FUNC_EXECTIME_1,640,terminate
-351729850,Core_1,0,T,TASK_1MS,351,terminate
-351729850,TASK_1MS,351,SCHED,SCHED_Tasks_C1,-1,processterminate
-351729850,Core_1,0,C,Core_1,0,idle
-351729850,TASK_1MS,351,C,Core_1,0,idle
-351729950,TASK_1MS,351,STI,IR_SCHED_Tasks_C1,1184,trigger
-351729950,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-351729950,Core_1,0,C,Core_1,0,execute_idle
-351729950,TASK_InputProcessing,175,C,Core_1,0,execute_idle
-351729950,Core_1,0,T,TASK_InputProcessing,175,resume
-351729950,TASK_InputProcessing,175,R,FUNC_SEMLOCK,351,resume
-351852275,TASK_InputProcessing,175,SEM,SEM_DataElement1,0,requestsemaphore,0
-351852275,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-351852275,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-351852275,Core_1,0,C,Core_1,0,lock
-351852275,TASK_InputProcessing,175,SEM,SEM_DataElement1,0,assigned,1
-351852325,TASK_InputProcessing,175,R,FUNC_SEMLOCK,351,terminate
-351852325,Core_1,0,C,Core_1,0,unlock
-351852325,TASK_InputProcessing,175,R,FUNC_ReadSensorData,175,start
-352000000,SIM,-1,STI,TIMER-B_2ms,176,trigger
-352000000,TIMER-B_2ms,176,T,TASK_WritingActuator,176,activate
-352000000,TASK_WritingActuator,176,SCHED,SCHED_Tasks_C2,-1,processactivate
-352000000,SIM,-1,STI,TIMER-50MS,7,trigger
-352000000,TIMER-50MS,7,T,TASK_50MS,7,activate
-352000000,TASK_50MS,7,SCHED,SCHED_Tasks_C2,-1,processactivate
-352000100,TASK_WritingActuator,176,STI,IR_SCHED_Tasks_C2,1130,trigger
-352000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-352000100,Core_2,0,T,TASK_WritingActuator,176,start
-352000100,TASK_WritingActuator,176,R,FUNC_SEMLOCK,352,start
-352000100,Core_2,0,C,Core_2,0,execute
-352000100,TASK_WritingActuator,176,C,Core_2,0,execute
-352016100,TASK_InputProcessing,175,SIG,SIG_RotationSpeed,0,read,0
-352016100,TASK_InputProcessing,175,SIG,SIG_Lambda,0,read,0
-352016100,TASK_InputProcessing,175,SIG,SIG_Temperature,0,read,0
-352016100,TASK_InputProcessing,175,R,FUNC_ReadSensorData,175,terminate
-352016100,TASK_InputProcessing,175,R,FUNC_SEMUNLOCK,351,start
-352100000,SIM,-1,STI,TIMER-5MS,176,trigger
-352100000,TIMER-5MS,176,T,TASK_5MS,176,activate
-352100000,TASK_5MS,176,SCHED,SCHED_Tasks_C2,-1,processactivate
-352100100,TASK_5MS,176,STI,IR_SCHED_Tasks_C2,1131,trigger
-352100100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-352125100,TASK_WritingActuator,176,SEM,SEM_DataElement1,0,requestsemaphore,1
-352125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,1
-352125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,overfull,2
-352125100,Core_2,0,C,Core_2,0,lock
-352125100,TASK_WritingActuator,176,SEM,SEM_DataElement1,0,waiting,2
-352125150,Core_2,0,T,TASK_WritingActuator,176,poll
-352125150,TASK_WritingActuator,176,SCHED,SCHED_Tasks_C2,-1,processpolling
-352125150,Core_2,0,C,Core_2,0,wait_postexecution
-352125150,TASK_WritingActuator,176,C,Core_2,0,wait_postexecution
-352125150,Core_2,0,C,Core_2,0,unlock
-352150000,SIM,-1,STI,TIMER-A_2ms,176,trigger
-352150000,TIMER-A_2ms,176,T,TASK_InputProcessing,176,activate
-352150000,TASK_InputProcessing,176,SCHED,SCHED_Tasks_C1,-1,processactivate
-352150100,TASK_InputProcessing,176,STI,IR_SCHED_Tasks_C1,1185,trigger
-352150100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-352216100,TASK_InputProcessing,175,SEM,SEM_DataElement1,0,released,2
-352216100,TASK_WritingActuator,176,SEM,SEM_DataElement1,0,assigned,1
-352216100,Core_2,0,T,TASK_WritingActuator,176,run
-352216100,TASK_WritingActuator,176,R,FUNC_SEMLOCK,352,terminate
-352216100,TASK_WritingActuator,176,R,FUNC_WriteData,176,start
-352216100,Core_2,0,C,Core_2,0,execute_waiting
-352216100,TASK_WritingActuator,176,C,Core_2,0,execute_waiting
-352216100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,full,1
-352216100,TASK_InputProcessing,175,SCHED,SCHED_Tasks_C1,-1,schedulepoint
-352216100,Core_1,0,C,Core_1,0,lock
-352216150,TASK_InputProcessing,175,R,FUNC_SEMUNLOCK,351,terminate
-352216150,Core_1,0,C,Core_1,0,unlock
-352216150,TASK_InputProcessing,175,STI,IPA_InputReady,175,trigger
-352216150,IPA_InputReady,175,T,TASK_CalcEngineSpeed,175,activate
-352216150,TASK_CalcEngineSpeed,175,SCHED,SCHED_Tasks_C2,-1,processactivate
-352216150,Core_1,0,T,TASK_InputProcessing,175,terminate
-352216150,TASK_InputProcessing,175,SCHED,SCHED_Tasks_C1,-1,processterminate
-352216150,Core_1,0,C,Core_1,0,idle
-352216150,TASK_InputProcessing,175,C,Core_1,0,idle
-352216200,TASK_InputProcessing,175,STI,IR_SCHED_Tasks_C1,1186,trigger
-352216200,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-352216200,Core_1,0,T,TASK_InputProcessing,176,start
-352216200,TASK_InputProcessing,176,R,FUNC_SEMLOCK,353,start
-352216200,Core_1,0,C,Core_1,0,execute
-352216200,TASK_InputProcessing,176,C,Core_1,0,execute
-352216250,TASK_CalcEngineSpeed,175,STI,IR_SCHED_Tasks_C2,1132,trigger
-352216250,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-352242675,TASK_WritingActuator,176,SIG,SIG_Mixture,0,write,0
-352242675,TASK_WritingActuator,176,R,FUNC_WriteData,176,terminate
-352242675,TASK_WritingActuator,176,R,FUNC_SEMUNLOCK,352,start
-352250000,SIM,-1,STI,TIMER-1MS,352,trigger
-352250000,TIMER-1MS,352,T,TASK_1MS,352,activate
-352250000,TASK_1MS,352,SCHED,SCHED_Tasks_C1,-1,processactivate
-352250100,TASK_1MS,352,STI,IR_SCHED_Tasks_C1,1187,trigger
-352250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-352250100,TASK_InputProcessing,176,R,FUNC_SEMLOCK,353,suspend
-352250100,Core_1,0,T,TASK_InputProcessing,176,preempt
-352250100,Core_1,0,C,Core_1,0,idle_execution
-352250100,TASK_InputProcessing,176,C,Core_1,0,idle_execution
-352250100,Core_1,0,T,TASK_1MS,352,start
-352250100,TASK_1MS,352,R,FUNC_EXECTIME_1,642,start
-352250100,Core_1,0,C,Core_1,0,execute
-352250100,TASK_1MS,352,C,Core_1,0,execute
-352442675,TASK_WritingActuator,176,SEM,SEM_DataElement1,0,released,1
-352442675,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-352442675,TASK_WritingActuator,176,SCHED,SCHED_Tasks_C2,-1,schedulepoint
-352442675,Core_2,0,C,Core_2,0,lock
-352442725,TASK_WritingActuator,176,R,FUNC_SEMUNLOCK,352,terminate
-352442725,Core_2,0,T,TASK_WritingActuator,176,terminate
-352442725,TASK_WritingActuator,176,SCHED,SCHED_Tasks_C2,-1,processterminate
-352442725,Core_2,0,C,Core_2,0,unlock
-352442725,Core_2,0,C,Core_2,0,idle
-352442725,TASK_WritingActuator,176,C,Core_2,0,idle
-352442775,TASK_WritingActuator,176,STI,IR_SCHED_Tasks_C2,1133,trigger
-352442775,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-352442775,Core_2,0,T,TASK_CalcEngineSpeed,175,start
-352442775,TASK_CalcEngineSpeed,175,R,FUNC_ENGINESPEED,175,start
-352442775,Core_2,0,C,Core_2,0,execute
-352442775,TASK_CalcEngineSpeed,175,C,Core_2,0,execute
-352552000,TASK_CalcEngineSpeed,175,R,FUNC_ENGINESPEED,175,terminate
-352552000,Core_2,0,T,TASK_CalcEngineSpeed,175,terminate
-352552000,TASK_CalcEngineSpeed,175,SCHED,SCHED_Tasks_C2,-1,processterminate
-352552000,Core_2,0,C,Core_2,0,idle
-352552000,TASK_CalcEngineSpeed,175,C,Core_2,0,idle
-352552100,TASK_CalcEngineSpeed,175,STI,IR_SCHED_Tasks_C2,1134,trigger
-352552100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-352552100,Core_2,0,T,TASK_5MS,176,start
-352552100,TASK_5MS,176,R,FUNC_EXECTIME_1,641,start
-352552100,Core_2,0,C,Core_2,0,execute
-352552100,TASK_5MS,176,C,Core_2,0,execute
-352876525,TASK_1MS,352,R,FUNC_EXECTIME_1,642,terminate
-352876525,Core_1,0,T,TASK_1MS,352,terminate
-352876525,TASK_1MS,352,SCHED,SCHED_Tasks_C1,-1,processterminate
-352876525,Core_1,0,C,Core_1,0,idle
-352876525,TASK_1MS,352,C,Core_1,0,idle
-352876625,TASK_1MS,352,STI,IR_SCHED_Tasks_C1,1188,trigger
-352876625,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-352876625,Core_1,0,C,Core_1,0,execute_idle
-352876625,TASK_InputProcessing,176,C,Core_1,0,execute_idle
-352876625,Core_1,0,T,TASK_InputProcessing,176,resume
-352876625,TASK_InputProcessing,176,R,FUNC_SEMLOCK,353,resume
-352967725,TASK_InputProcessing,176,SEM,SEM_DataElement1,0,requestsemaphore,0
-352967725,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-352967725,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-352967725,Core_1,0,C,Core_1,0,lock
-352967725,TASK_InputProcessing,176,SEM,SEM_DataElement1,0,assigned,1
-352967775,TASK_InputProcessing,176,R,FUNC_SEMLOCK,353,terminate
-352967775,Core_1,0,C,Core_1,0,unlock
-352967775,TASK_InputProcessing,176,R,FUNC_ReadSensorData,176,start
-353096250,TASK_5MS,176,R,FUNC_EXECTIME_1,641,terminate
-353096250,Core_2,0,T,TASK_5MS,176,terminate
-353096250,TASK_5MS,176,SCHED,SCHED_Tasks_C2,-1,processterminate
-353096250,Core_2,0,C,Core_2,0,idle
-353096250,TASK_5MS,176,C,Core_2,0,idle
-353096350,TASK_5MS,176,STI,IR_SCHED_Tasks_C2,1135,trigger
-353096350,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-353096350,Core_2,0,T,TASK_50MS,7,start
-353096350,TASK_50MS,7,R,FUNC_EXECTIME_2,7,start
-353096350,Core_2,0,C,Core_2,0,execute
-353096350,TASK_50MS,7,C,Core_2,0,execute
-353130150,TASK_InputProcessing,176,SIG,SIG_RotationSpeed,0,read,0
-353130150,TASK_InputProcessing,176,SIG,SIG_Lambda,0,read,0
-353130150,TASK_InputProcessing,176,SIG,SIG_Temperature,0,read,0
-353130150,TASK_InputProcessing,176,R,FUNC_ReadSensorData,176,terminate
-353130150,TASK_InputProcessing,176,R,FUNC_SEMUNLOCK,353,start
-353250000,SIM,-1,STI,TIMER-1MS,353,trigger
-353250000,TIMER-1MS,353,T,TASK_1MS,353,activate
-353250000,TASK_1MS,353,SCHED,SCHED_Tasks_C1,-1,processactivate
-353250100,TASK_1MS,353,STI,IR_SCHED_Tasks_C1,1189,trigger
-353250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-353330150,TASK_InputProcessing,176,SEM,SEM_DataElement1,0,released,1
-353330150,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-353330150,TASK_InputProcessing,176,SCHED,SCHED_Tasks_C1,-1,schedulepoint
-353330150,Core_1,0,C,Core_1,0,lock
-353330200,TASK_InputProcessing,176,R,FUNC_SEMUNLOCK,353,terminate
-353330200,Core_1,0,C,Core_1,0,unlock
-353330200,TASK_InputProcessing,176,STI,IPA_InputReady,176,trigger
-353330200,IPA_InputReady,176,T,TASK_CalcEngineSpeed,176,activate
-353330200,TASK_CalcEngineSpeed,176,SCHED,SCHED_Tasks_C2,-1,processactivate
-353330200,Core_1,0,T,TASK_InputProcessing,176,terminate
-353330200,TASK_InputProcessing,176,SCHED,SCHED_Tasks_C1,-1,processterminate
-353330200,Core_1,0,C,Core_1,0,idle
-353330200,TASK_InputProcessing,176,C,Core_1,0,idle
-353330250,TASK_InputProcessing,176,STI,IR_SCHED_Tasks_C1,1190,trigger
-353330250,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-353330250,Core_1,0,T,TASK_1MS,353,start
-353330250,TASK_1MS,353,R,FUNC_EXECTIME_1,643,start
-353330250,Core_1,0,C,Core_1,0,execute
-353330250,TASK_1MS,353,C,Core_1,0,execute
-353330300,TASK_CalcEngineSpeed,176,STI,IR_SCHED_Tasks_C2,1136,trigger
-353330300,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-353330300,TASK_50MS,7,R,FUNC_EXECTIME_2,7,suspend
-353330300,Core_2,0,T,TASK_50MS,7,preempt
-353330300,Core_2,0,C,Core_2,0,idle_execution
-353330300,TASK_50MS,7,C,Core_2,0,idle_execution
-353330300,Core_2,0,T,TASK_CalcEngineSpeed,176,start
-353330300,TASK_CalcEngineSpeed,176,R,FUNC_ENGINESPEED,176,start
-353330300,Core_2,0,C,Core_2,0,execute
-353330300,TASK_CalcEngineSpeed,176,C,Core_2,0,execute
-353482925,TASK_CalcEngineSpeed,176,R,FUNC_ENGINESPEED,176,terminate
-353482925,Core_2,0,T,TASK_CalcEngineSpeed,176,terminate
-353482925,TASK_CalcEngineSpeed,176,SCHED,SCHED_Tasks_C2,-1,processterminate
-353482925,Core_2,0,C,Core_2,0,idle
-353482925,TASK_CalcEngineSpeed,176,C,Core_2,0,idle
-353483025,TASK_CalcEngineSpeed,176,STI,IR_SCHED_Tasks_C2,1137,trigger
-353483025,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-353483025,Core_2,0,C,Core_2,0,execute_idle
-353483025,TASK_50MS,7,C,Core_2,0,execute_idle
-353483025,Core_2,0,T,TASK_50MS,7,resume
-353483025,TASK_50MS,7,R,FUNC_EXECTIME_2,7,resume
-353690825,TASK_50MS,7,R,FUNC_EXECTIME_2,7,terminate
-353690825,Core_2,0,T,TASK_50MS,7,terminate
-353690825,TASK_50MS,7,SCHED,SCHED_Tasks_C2,-1,processterminate
-353690825,Core_2,0,C,Core_2,0,idle
-353690825,TASK_50MS,7,C,Core_2,0,idle
-353690925,TASK_50MS,7,STI,IR_SCHED_Tasks_C2,1138,trigger
-353690925,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-353964550,TASK_1MS,353,R,FUNC_EXECTIME_1,643,terminate
-353964550,Core_1,0,T,TASK_1MS,353,terminate
-353964550,TASK_1MS,353,SCHED,SCHED_Tasks_C1,-1,processterminate
-353964550,Core_1,0,C,Core_1,0,idle
-353964550,TASK_1MS,353,C,Core_1,0,idle
-353964650,TASK_1MS,353,STI,IR_SCHED_Tasks_C1,1191,trigger
-353964650,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-354000000,SIM,-1,STI,TIMER-B_2ms,177,trigger
-354000000,TIMER-B_2ms,177,T,TASK_WritingActuator,177,activate
-354000000,TASK_WritingActuator,177,SCHED,SCHED_Tasks_C2,-1,processactivate
-354000100,TASK_WritingActuator,177,STI,IR_SCHED_Tasks_C2,1139,trigger
-354000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-354000100,Core_2,0,T,TASK_WritingActuator,177,start
-354000100,TASK_WritingActuator,177,R,FUNC_SEMLOCK,354,start
-354000100,Core_2,0,C,Core_2,0,execute
-354000100,TASK_WritingActuator,177,C,Core_2,0,execute
-354100000,SIM,-1,STI,TIMER-5MS,177,trigger
-354100000,TIMER-5MS,177,T,TASK_5MS,177,activate
-354100000,TASK_5MS,177,SCHED,SCHED_Tasks_C2,-1,processactivate
-354100100,TASK_5MS,177,STI,IR_SCHED_Tasks_C2,1140,trigger
-354100100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-354125100,TASK_WritingActuator,177,SEM,SEM_DataElement1,0,requestsemaphore,0
-354125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-354125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-354125100,Core_2,0,C,Core_2,0,lock
-354125100,TASK_WritingActuator,177,SEM,SEM_DataElement1,0,assigned,1
-354125150,TASK_WritingActuator,177,R,FUNC_SEMLOCK,354,terminate
-354125150,Core_2,0,C,Core_2,0,unlock
-354125150,TASK_WritingActuator,177,R,FUNC_WriteData,177,start
-354150000,SIM,-1,STI,TIMER-A_2ms,177,trigger
-354150000,TIMER-A_2ms,177,T,TASK_InputProcessing,177,activate
-354150000,TASK_InputProcessing,177,SCHED,SCHED_Tasks_C1,-1,processactivate
-354150100,TASK_InputProcessing,177,STI,IR_SCHED_Tasks_C1,1192,trigger
-354150100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-354150100,Core_1,0,T,TASK_InputProcessing,177,start
-354150100,TASK_InputProcessing,177,R,FUNC_SEMLOCK,355,start
-354150100,Core_1,0,C,Core_1,0,execute
-354150100,TASK_InputProcessing,177,C,Core_1,0,execute
-354151900,TASK_WritingActuator,177,SIG,SIG_Mixture,0,write,0
-354151900,TASK_WritingActuator,177,R,FUNC_WriteData,177,terminate
-354151900,TASK_WritingActuator,177,R,FUNC_SEMUNLOCK,354,start
-354250000,SIM,-1,STI,TIMER-1MS,354,trigger
-354250000,TIMER-1MS,354,T,TASK_1MS,354,activate
-354250000,TASK_1MS,354,SCHED,SCHED_Tasks_C1,-1,processactivate
-354250100,TASK_1MS,354,STI,IR_SCHED_Tasks_C1,1193,trigger
-354250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-354250100,TASK_InputProcessing,177,R,FUNC_SEMLOCK,355,suspend
-354250100,Core_1,0,T,TASK_InputProcessing,177,preempt
-354250100,Core_1,0,C,Core_1,0,idle_execution
-354250100,TASK_InputProcessing,177,C,Core_1,0,idle_execution
-354250100,Core_1,0,T,TASK_1MS,354,start
-354250100,TASK_1MS,354,R,FUNC_EXECTIME_1,645,start
-354250100,Core_1,0,C,Core_1,0,execute
-354250100,TASK_1MS,354,C,Core_1,0,execute
-354351900,TASK_WritingActuator,177,SEM,SEM_DataElement1,0,released,1
-354351900,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-354351900,TASK_WritingActuator,177,SCHED,SCHED_Tasks_C2,-1,schedulepoint
-354351900,Core_2,0,C,Core_2,0,lock
-354351950,TASK_WritingActuator,177,R,FUNC_SEMUNLOCK,354,terminate
-354351950,Core_2,0,T,TASK_WritingActuator,177,terminate
-354351950,TASK_WritingActuator,177,SCHED,SCHED_Tasks_C2,-1,processterminate
-354351950,Core_2,0,C,Core_2,0,unlock
-354351950,Core_2,0,C,Core_2,0,idle
-354351950,TASK_WritingActuator,177,C,Core_2,0,idle
-354352000,TASK_WritingActuator,177,STI,IR_SCHED_Tasks_C2,1141,trigger
-354352000,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-354352000,Core_2,0,T,TASK_5MS,177,start
-354352000,TASK_5MS,177,R,FUNC_EXECTIME_1,644,start
-354352000,Core_2,0,C,Core_2,0,execute
-354352000,TASK_5MS,177,C,Core_2,0,execute
-354707425,TASK_1MS,354,R,FUNC_EXECTIME_1,645,terminate
-354707425,Core_1,0,T,TASK_1MS,354,terminate
-354707425,TASK_1MS,354,SCHED,SCHED_Tasks_C1,-1,processterminate
-354707425,Core_1,0,C,Core_1,0,idle
-354707425,TASK_1MS,354,C,Core_1,0,idle
-354707525,TASK_1MS,354,STI,IR_SCHED_Tasks_C1,1194,trigger
-354707525,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-354707525,Core_1,0,C,Core_1,0,execute_idle
-354707525,TASK_InputProcessing,177,C,Core_1,0,execute_idle
-354707525,Core_1,0,T,TASK_InputProcessing,177,resume
-354707525,TASK_InputProcessing,177,R,FUNC_SEMLOCK,355,resume
-354732525,TASK_InputProcessing,177,SEM,SEM_DataElement1,0,requestsemaphore,0
-354732525,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-354732525,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-354732525,Core_1,0,C,Core_1,0,lock
-354732525,TASK_InputProcessing,177,SEM,SEM_DataElement1,0,assigned,1
-354732575,TASK_InputProcessing,177,R,FUNC_SEMLOCK,355,terminate
-354732575,Core_1,0,C,Core_1,0,unlock
-354732575,TASK_InputProcessing,177,R,FUNC_ReadSensorData,177,start
-354892425,TASK_InputProcessing,177,SIG,SIG_RotationSpeed,0,read,0
-354892425,TASK_InputProcessing,177,SIG,SIG_Lambda,0,read,0
-354892425,TASK_InputProcessing,177,SIG,SIG_Temperature,0,read,0
-354892425,TASK_InputProcessing,177,R,FUNC_ReadSensorData,177,terminate
-354892425,TASK_InputProcessing,177,R,FUNC_SEMUNLOCK,355,start
-355000000,SIM,-1,STI,TIMER-10MS,35,trigger
-355000000,TIMER-10MS,35,T,TASK_10MS,35,activate
-355000000,TASK_10MS,35,SCHED,SCHED_Tasks_C2,-1,processactivate
-355000100,TASK_10MS,35,STI,IR_SCHED_Tasks_C2,1142,trigger
-355000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-355048275,TASK_5MS,177,R,FUNC_EXECTIME_1,644,terminate
-355048275,Core_2,0,T,TASK_5MS,177,terminate
-355048275,TASK_5MS,177,SCHED,SCHED_Tasks_C2,-1,processterminate
-355048275,Core_2,0,C,Core_2,0,idle
-355048275,TASK_5MS,177,C,Core_2,0,idle
-355048375,TASK_5MS,177,STI,IR_SCHED_Tasks_C2,1143,trigger
-355048375,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-355048375,Core_2,0,T,TASK_10MS,35,start
-355048375,TASK_10MS,35,R,FUNC_EXECTIME_1,646,start
-355048375,Core_2,0,C,Core_2,0,execute
-355048375,TASK_10MS,35,C,Core_2,0,execute
-355092425,TASK_InputProcessing,177,SEM,SEM_DataElement1,0,released,1
-355092425,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-355092425,TASK_InputProcessing,177,SCHED,SCHED_Tasks_C1,-1,schedulepoint
-355092425,Core_1,0,C,Core_1,0,lock
-355092475,TASK_InputProcessing,177,R,FUNC_SEMUNLOCK,355,terminate
-355092475,Core_1,0,C,Core_1,0,unlock
-355092475,TASK_InputProcessing,177,STI,IPA_InputReady,177,trigger
-355092475,IPA_InputReady,177,T,TASK_CalcEngineSpeed,177,activate
-355092475,TASK_CalcEngineSpeed,177,SCHED,SCHED_Tasks_C2,-1,processactivate
-355092475,Core_1,0,T,TASK_InputProcessing,177,terminate
-355092475,TASK_InputProcessing,177,SCHED,SCHED_Tasks_C1,-1,processterminate
-355092475,Core_1,0,C,Core_1,0,idle
-355092475,TASK_InputProcessing,177,C,Core_1,0,idle
-355092525,TASK_InputProcessing,177,STI,IR_SCHED_Tasks_C1,1195,trigger
-355092525,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-355092575,TASK_CalcEngineSpeed,177,STI,IR_SCHED_Tasks_C2,1144,trigger
-355092575,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-355092575,TASK_10MS,35,R,FUNC_EXECTIME_1,646,suspend
-355092575,Core_2,0,T,TASK_10MS,35,preempt
-355092575,Core_2,0,C,Core_2,0,idle_execution
-355092575,TASK_10MS,35,C,Core_2,0,idle_execution
-355092575,Core_2,0,T,TASK_CalcEngineSpeed,177,start
-355092575,TASK_CalcEngineSpeed,177,R,FUNC_ENGINESPEED,177,start
-355092575,Core_2,0,C,Core_2,0,execute
-355092575,TASK_CalcEngineSpeed,177,C,Core_2,0,execute
-355250000,SIM,-1,STI,TIMER-1MS,355,trigger
-355250000,TIMER-1MS,355,T,TASK_1MS,355,activate
-355250000,TASK_1MS,355,SCHED,SCHED_Tasks_C1,-1,processactivate
-355250100,TASK_1MS,355,STI,IR_SCHED_Tasks_C1,1196,trigger
-355250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-355250100,Core_1,0,T,TASK_1MS,355,start
-355250100,TASK_1MS,355,R,FUNC_EXECTIME_1,647,start
-355250100,Core_1,0,C,Core_1,0,execute
-355250100,TASK_1MS,355,C,Core_1,0,execute
-355259800,TASK_CalcEngineSpeed,177,R,FUNC_ENGINESPEED,177,terminate
-355259800,Core_2,0,T,TASK_CalcEngineSpeed,177,terminate
-355259800,TASK_CalcEngineSpeed,177,SCHED,SCHED_Tasks_C2,-1,processterminate
-355259800,Core_2,0,C,Core_2,0,idle
-355259800,TASK_CalcEngineSpeed,177,C,Core_2,0,idle
-355259900,TASK_CalcEngineSpeed,177,STI,IR_SCHED_Tasks_C2,1145,trigger
-355259900,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-355259900,Core_2,0,C,Core_2,0,execute_idle
-355259900,TASK_10MS,35,C,Core_2,0,execute_idle
-355259900,Core_2,0,T,TASK_10MS,35,resume
-355259900,TASK_10MS,35,R,FUNC_EXECTIME_1,646,resume
-355659475,TASK_10MS,35,R,FUNC_EXECTIME_1,646,terminate
-355659475,Core_2,0,T,TASK_10MS,35,terminate
-355659475,TASK_10MS,35,SCHED,SCHED_Tasks_C2,-1,processterminate
-355659475,Core_2,0,C,Core_2,0,idle
-355659475,TASK_10MS,35,C,Core_2,0,idle
-355659575,TASK_10MS,35,STI,IR_SCHED_Tasks_C2,1146,trigger
-355659575,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-356000000,SIM,-1,STI,TIMER-B_2ms,178,trigger
-356000000,TIMER-B_2ms,178,T,TASK_WritingActuator,178,activate
-356000000,TASK_WritingActuator,178,SCHED,SCHED_Tasks_C2,-1,processactivate
-356000100,TASK_WritingActuator,178,STI,IR_SCHED_Tasks_C2,1147,trigger
-356000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-356000100,Core_2,0,T,TASK_WritingActuator,178,start
-356000100,TASK_WritingActuator,178,R,FUNC_SEMLOCK,356,start
-356000100,Core_2,0,C,Core_2,0,execute
-356000100,TASK_WritingActuator,178,C,Core_2,0,execute
-356005550,TASK_1MS,355,R,FUNC_EXECTIME_1,647,terminate
-356005550,Core_1,0,T,TASK_1MS,355,terminate
-356005550,TASK_1MS,355,SCHED,SCHED_Tasks_C1,-1,processterminate
-356005550,Core_1,0,C,Core_1,0,idle
-356005550,TASK_1MS,355,C,Core_1,0,idle
-356005650,TASK_1MS,355,STI,IR_SCHED_Tasks_C1,1197,trigger
-356005650,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-356100000,SIM,-1,STI,TIMER-5MS,178,trigger
-356100000,TIMER-5MS,178,T,TASK_5MS,178,activate
-356100000,TASK_5MS,178,SCHED,SCHED_Tasks_C2,-1,processactivate
-356100100,TASK_5MS,178,STI,IR_SCHED_Tasks_C2,1148,trigger
-356100100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-356125100,TASK_WritingActuator,178,SEM,SEM_DataElement1,0,requestsemaphore,0
-356125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-356125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-356125100,Core_2,0,C,Core_2,0,lock
-356125100,TASK_WritingActuator,178,SEM,SEM_DataElement1,0,assigned,1
-356125150,TASK_WritingActuator,178,R,FUNC_SEMLOCK,356,terminate
-356125150,Core_2,0,C,Core_2,0,unlock
-356125150,TASK_WritingActuator,178,R,FUNC_WriteData,178,start
-356150000,SIM,-1,STI,TIMER-A_2ms,178,trigger
-356150000,TIMER-A_2ms,178,T,TASK_InputProcessing,178,activate
-356150000,TASK_InputProcessing,178,SCHED,SCHED_Tasks_C1,-1,processactivate
-356150100,TASK_InputProcessing,178,STI,IR_SCHED_Tasks_C1,1198,trigger
-356150100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-356150100,Core_1,0,T,TASK_InputProcessing,178,start
-356150100,TASK_InputProcessing,178,R,FUNC_SEMLOCK,357,start
-356150100,Core_1,0,C,Core_1,0,execute
-356150100,TASK_InputProcessing,178,C,Core_1,0,execute
-356152175,TASK_WritingActuator,178,SIG,SIG_Mixture,0,write,0
-356152175,TASK_WritingActuator,178,R,FUNC_WriteData,178,terminate
-356152175,TASK_WritingActuator,178,R,FUNC_SEMUNLOCK,356,start
-356250000,SIM,-1,STI,TIMER-1MS,356,trigger
-356250000,TIMER-1MS,356,T,TASK_1MS,356,activate
-356250000,TASK_1MS,356,SCHED,SCHED_Tasks_C1,-1,processactivate
-356250100,TASK_1MS,356,STI,IR_SCHED_Tasks_C1,1199,trigger
-356250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-356250100,TASK_InputProcessing,178,R,FUNC_SEMLOCK,357,suspend
-356250100,Core_1,0,T,TASK_InputProcessing,178,preempt
-356250100,Core_1,0,C,Core_1,0,idle_execution
-356250100,TASK_InputProcessing,178,C,Core_1,0,idle_execution
-356250100,Core_1,0,T,TASK_1MS,356,start
-356250100,TASK_1MS,356,R,FUNC_EXECTIME_1,649,start
-356250100,Core_1,0,C,Core_1,0,execute
-356250100,TASK_1MS,356,C,Core_1,0,execute
-356352175,TASK_WritingActuator,178,SEM,SEM_DataElement1,0,released,1
-356352175,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-356352175,TASK_WritingActuator,178,SCHED,SCHED_Tasks_C2,-1,schedulepoint
-356352175,Core_2,0,C,Core_2,0,lock
-356352225,TASK_WritingActuator,178,R,FUNC_SEMUNLOCK,356,terminate
-356352225,Core_2,0,T,TASK_WritingActuator,178,terminate
-356352225,TASK_WritingActuator,178,SCHED,SCHED_Tasks_C2,-1,processterminate
-356352225,Core_2,0,C,Core_2,0,unlock
-356352225,Core_2,0,C,Core_2,0,idle
-356352225,TASK_WritingActuator,178,C,Core_2,0,idle
-356352275,TASK_WritingActuator,178,STI,IR_SCHED_Tasks_C2,1149,trigger
-356352275,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-356352275,Core_2,0,T,TASK_5MS,178,start
-356352275,TASK_5MS,178,R,FUNC_EXECTIME_1,648,start
-356352275,Core_2,0,C,Core_2,0,execute
-356352275,TASK_5MS,178,C,Core_2,0,execute
-356679300,TASK_5MS,178,R,FUNC_EXECTIME_1,648,terminate
-356679300,Core_2,0,T,TASK_5MS,178,terminate
-356679300,TASK_5MS,178,SCHED,SCHED_Tasks_C2,-1,processterminate
-356679300,Core_2,0,C,Core_2,0,idle
-356679300,TASK_5MS,178,C,Core_2,0,idle
-356679400,TASK_5MS,178,STI,IR_SCHED_Tasks_C2,1150,trigger
-356679400,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-356903975,TASK_1MS,356,R,FUNC_EXECTIME_1,649,terminate
-356903975,Core_1,0,T,TASK_1MS,356,terminate
-356903975,TASK_1MS,356,SCHED,SCHED_Tasks_C1,-1,processterminate
-356903975,Core_1,0,C,Core_1,0,idle
-356903975,TASK_1MS,356,C,Core_1,0,idle
-356904075,TASK_1MS,356,STI,IR_SCHED_Tasks_C1,1200,trigger
-356904075,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-356904075,Core_1,0,C,Core_1,0,execute_idle
-356904075,TASK_InputProcessing,178,C,Core_1,0,execute_idle
-356904075,Core_1,0,T,TASK_InputProcessing,178,resume
-356904075,TASK_InputProcessing,178,R,FUNC_SEMLOCK,357,resume
-356929075,TASK_InputProcessing,178,SEM,SEM_DataElement1,0,requestsemaphore,0
-356929075,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-356929075,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-356929075,Core_1,0,C,Core_1,0,lock
-356929075,TASK_InputProcessing,178,SEM,SEM_DataElement1,0,assigned,1
-356929125,TASK_InputProcessing,178,R,FUNC_SEMLOCK,357,terminate
-356929125,Core_1,0,C,Core_1,0,unlock
-356929125,TASK_InputProcessing,178,R,FUNC_ReadSensorData,178,start
-357094025,TASK_InputProcessing,178,SIG,SIG_RotationSpeed,0,read,0
-357094025,TASK_InputProcessing,178,SIG,SIG_Lambda,0,read,0
-357094025,TASK_InputProcessing,178,SIG,SIG_Temperature,0,read,0
-357094025,TASK_InputProcessing,178,R,FUNC_ReadSensorData,178,terminate
-357094025,TASK_InputProcessing,178,R,FUNC_SEMUNLOCK,357,start
-357250000,SIM,-1,STI,TIMER-1MS,357,trigger
-357250000,TIMER-1MS,357,T,TASK_1MS,357,activate
-357250000,TASK_1MS,357,SCHED,SCHED_Tasks_C1,-1,processactivate
-357250100,TASK_1MS,357,STI,IR_SCHED_Tasks_C1,1201,trigger
-357250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-357294025,TASK_InputProcessing,178,SEM,SEM_DataElement1,0,released,1
-357294025,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-357294025,TASK_InputProcessing,178,SCHED,SCHED_Tasks_C1,-1,schedulepoint
-357294025,Core_1,0,C,Core_1,0,lock
-357294075,TASK_InputProcessing,178,R,FUNC_SEMUNLOCK,357,terminate
-357294075,Core_1,0,C,Core_1,0,unlock
-357294075,TASK_InputProcessing,178,STI,IPA_InputReady,178,trigger
-357294075,IPA_InputReady,178,T,TASK_CalcEngineSpeed,178,activate
-357294075,TASK_CalcEngineSpeed,178,SCHED,SCHED_Tasks_C2,-1,processactivate
-357294075,Core_1,0,T,TASK_InputProcessing,178,terminate
-357294075,TASK_InputProcessing,178,SCHED,SCHED_Tasks_C1,-1,processterminate
-357294075,Core_1,0,C,Core_1,0,idle
-357294075,TASK_InputProcessing,178,C,Core_1,0,idle
-357294125,TASK_InputProcessing,178,STI,IR_SCHED_Tasks_C1,1202,trigger
-357294125,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-357294125,Core_1,0,T,TASK_1MS,357,start
-357294125,TASK_1MS,357,R,FUNC_EXECTIME_1,650,start
-357294125,Core_1,0,C,Core_1,0,execute
-357294125,TASK_1MS,357,C,Core_1,0,execute
-357294175,TASK_CalcEngineSpeed,178,STI,IR_SCHED_Tasks_C2,1151,trigger
-357294175,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-357294175,Core_2,0,T,TASK_CalcEngineSpeed,178,start
-357294175,TASK_CalcEngineSpeed,178,R,FUNC_ENGINESPEED,178,start
-357294175,Core_2,0,C,Core_2,0,execute
-357294175,TASK_CalcEngineSpeed,178,C,Core_2,0,execute
-357474550,TASK_CalcEngineSpeed,178,R,FUNC_ENGINESPEED,178,terminate
-357474550,Core_2,0,T,TASK_CalcEngineSpeed,178,terminate
-357474550,TASK_CalcEngineSpeed,178,SCHED,SCHED_Tasks_C2,-1,processterminate
-357474550,Core_2,0,C,Core_2,0,idle
-357474550,TASK_CalcEngineSpeed,178,C,Core_2,0,idle
-357474650,TASK_CalcEngineSpeed,178,STI,IR_SCHED_Tasks_C2,1152,trigger
-357474650,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-357852775,TASK_1MS,357,R,FUNC_EXECTIME_1,650,terminate
-357852775,Core_1,0,T,TASK_1MS,357,terminate
-357852775,TASK_1MS,357,SCHED,SCHED_Tasks_C1,-1,processterminate
-357852775,Core_1,0,C,Core_1,0,idle
-357852775,TASK_1MS,357,C,Core_1,0,idle
-357852875,TASK_1MS,357,STI,IR_SCHED_Tasks_C1,1203,trigger
-357852875,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-358000000,SIM,-1,STI,TIMER-B_2ms,179,trigger
-358000000,TIMER-B_2ms,179,T,TASK_WritingActuator,179,activate
-358000000,TASK_WritingActuator,179,SCHED,SCHED_Tasks_C2,-1,processactivate
-358000100,TASK_WritingActuator,179,STI,IR_SCHED_Tasks_C2,1153,trigger
-358000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-358000100,Core_2,0,T,TASK_WritingActuator,179,start
-358000100,TASK_WritingActuator,179,R,FUNC_SEMLOCK,358,start
-358000100,Core_2,0,C,Core_2,0,execute
-358000100,TASK_WritingActuator,179,C,Core_2,0,execute
-358100000,SIM,-1,STI,TIMER-5MS,179,trigger
-358100000,TIMER-5MS,179,T,TASK_5MS,179,activate
-358100000,TASK_5MS,179,SCHED,SCHED_Tasks_C2,-1,processactivate
-358100100,TASK_5MS,179,STI,IR_SCHED_Tasks_C2,1154,trigger
-358100100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-358125100,TASK_WritingActuator,179,SEM,SEM_DataElement1,0,requestsemaphore,0
-358125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-358125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-358125100,Core_2,0,C,Core_2,0,lock
-358125100,TASK_WritingActuator,179,SEM,SEM_DataElement1,0,assigned,1
-358125150,TASK_WritingActuator,179,R,FUNC_SEMLOCK,358,terminate
-358125150,Core_2,0,C,Core_2,0,unlock
-358125150,TASK_WritingActuator,179,R,FUNC_WriteData,179,start
-358150000,SIM,-1,STI,TIMER-A_2ms,179,trigger
-358150000,TIMER-A_2ms,179,T,TASK_InputProcessing,179,activate
-358150000,TASK_InputProcessing,179,SCHED,SCHED_Tasks_C1,-1,processactivate
-358150100,TASK_InputProcessing,179,STI,IR_SCHED_Tasks_C1,1204,trigger
-358150100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-358150100,Core_1,0,T,TASK_InputProcessing,179,start
-358150100,TASK_InputProcessing,179,R,FUNC_SEMLOCK,359,start
-358150100,Core_1,0,C,Core_1,0,execute
-358150100,TASK_InputProcessing,179,C,Core_1,0,execute
-358152050,TASK_WritingActuator,179,SIG,SIG_Mixture,0,write,0
-358152050,TASK_WritingActuator,179,R,FUNC_WriteData,179,terminate
-358152050,TASK_WritingActuator,179,R,FUNC_SEMUNLOCK,358,start
-358250000,SIM,-1,STI,TIMER-1MS,358,trigger
-358250000,TIMER-1MS,358,T,TASK_1MS,358,activate
-358250000,TASK_1MS,358,SCHED,SCHED_Tasks_C1,-1,processactivate
-358250100,TASK_1MS,358,STI,IR_SCHED_Tasks_C1,1205,trigger
-358250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-358250100,TASK_InputProcessing,179,R,FUNC_SEMLOCK,359,suspend
-358250100,Core_1,0,T,TASK_InputProcessing,179,preempt
-358250100,Core_1,0,C,Core_1,0,idle_execution
-358250100,TASK_InputProcessing,179,C,Core_1,0,idle_execution
-358250100,Core_1,0,T,TASK_1MS,358,start
-358250100,TASK_1MS,358,R,FUNC_EXECTIME_1,652,start
-358250100,Core_1,0,C,Core_1,0,execute
-358250100,TASK_1MS,358,C,Core_1,0,execute
-358352050,TASK_WritingActuator,179,SEM,SEM_DataElement1,0,released,1
-358352050,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-358352050,TASK_WritingActuator,179,SCHED,SCHED_Tasks_C2,-1,schedulepoint
-358352050,Core_2,0,C,Core_2,0,lock
-358352100,TASK_WritingActuator,179,R,FUNC_SEMUNLOCK,358,terminate
-358352100,Core_2,0,T,TASK_WritingActuator,179,terminate
-358352100,TASK_WritingActuator,179,SCHED,SCHED_Tasks_C2,-1,processterminate
-358352100,Core_2,0,C,Core_2,0,unlock
-358352100,Core_2,0,C,Core_2,0,idle
-358352100,TASK_WritingActuator,179,C,Core_2,0,idle
-358352150,TASK_WritingActuator,179,STI,IR_SCHED_Tasks_C2,1155,trigger
-358352150,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-358352150,Core_2,0,T,TASK_5MS,179,start
-358352150,TASK_5MS,179,R,FUNC_EXECTIME_1,651,start
-358352150,Core_2,0,C,Core_2,0,execute
-358352150,TASK_5MS,179,C,Core_2,0,execute
-358616075,TASK_1MS,358,R,FUNC_EXECTIME_1,652,terminate
-358616075,Core_1,0,T,TASK_1MS,358,terminate
-358616075,TASK_1MS,358,SCHED,SCHED_Tasks_C1,-1,processterminate
-358616075,Core_1,0,C,Core_1,0,idle
-358616075,TASK_1MS,358,C,Core_1,0,idle
-358616175,TASK_1MS,358,STI,IR_SCHED_Tasks_C1,1206,trigger
-358616175,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-358616175,Core_1,0,C,Core_1,0,execute_idle
-358616175,TASK_InputProcessing,179,C,Core_1,0,execute_idle
-358616175,Core_1,0,T,TASK_InputProcessing,179,resume
-358616175,TASK_InputProcessing,179,R,FUNC_SEMLOCK,359,resume
-358641175,TASK_InputProcessing,179,SEM,SEM_DataElement1,0,requestsemaphore,0
-358641175,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-358641175,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-358641175,Core_1,0,C,Core_1,0,lock
-358641175,TASK_InputProcessing,179,SEM,SEM_DataElement1,0,assigned,1
-358641225,TASK_InputProcessing,179,R,FUNC_SEMLOCK,359,terminate
-358641225,Core_1,0,C,Core_1,0,unlock
-358641225,TASK_InputProcessing,179,R,FUNC_ReadSensorData,179,start
-358713975,TASK_5MS,179,R,FUNC_EXECTIME_1,651,terminate
-358713975,Core_2,0,T,TASK_5MS,179,terminate
-358713975,TASK_5MS,179,SCHED,SCHED_Tasks_C2,-1,processterminate
-358713975,Core_2,0,C,Core_2,0,idle
-358713975,TASK_5MS,179,C,Core_2,0,idle
-358714075,TASK_5MS,179,STI,IR_SCHED_Tasks_C2,1156,trigger
-358714075,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-358801875,TASK_InputProcessing,179,SIG,SIG_RotationSpeed,0,read,0
-358801875,TASK_InputProcessing,179,SIG,SIG_Lambda,0,read,0
-358801875,TASK_InputProcessing,179,SIG,SIG_Temperature,0,read,0
-358801875,TASK_InputProcessing,179,R,FUNC_ReadSensorData,179,terminate
-358801875,TASK_InputProcessing,179,R,FUNC_SEMUNLOCK,359,start
-359001875,TASK_InputProcessing,179,SEM,SEM_DataElement1,0,released,1
-359001875,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-359001875,TASK_InputProcessing,179,SCHED,SCHED_Tasks_C1,-1,schedulepoint
-359001875,Core_1,0,C,Core_1,0,lock
-359001925,TASK_InputProcessing,179,R,FUNC_SEMUNLOCK,359,terminate
-359001925,Core_1,0,C,Core_1,0,unlock
-359001925,TASK_InputProcessing,179,STI,IPA_InputReady,179,trigger
-359001925,IPA_InputReady,179,T,TASK_CalcEngineSpeed,179,activate
-359001925,TASK_CalcEngineSpeed,179,SCHED,SCHED_Tasks_C2,-1,processactivate
-359001925,Core_1,0,T,TASK_InputProcessing,179,terminate
-359001925,TASK_InputProcessing,179,SCHED,SCHED_Tasks_C1,-1,processterminate
-359001925,Core_1,0,C,Core_1,0,idle
-359001925,TASK_InputProcessing,179,C,Core_1,0,idle
-359001975,TASK_InputProcessing,179,STI,IR_SCHED_Tasks_C1,1207,trigger
-359001975,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-359002025,TASK_CalcEngineSpeed,179,STI,IR_SCHED_Tasks_C2,1157,trigger
-359002025,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-359002025,Core_2,0,T,TASK_CalcEngineSpeed,179,start
-359002025,TASK_CalcEngineSpeed,179,R,FUNC_ENGINESPEED,179,start
-359002025,Core_2,0,C,Core_2,0,execute
-359002025,TASK_CalcEngineSpeed,179,C,Core_2,0,execute
-359246500,TASK_CalcEngineSpeed,179,R,FUNC_ENGINESPEED,179,terminate
-359246500,Core_2,0,T,TASK_CalcEngineSpeed,179,terminate
-359246500,TASK_CalcEngineSpeed,179,SCHED,SCHED_Tasks_C2,-1,processterminate
-359246500,Core_2,0,C,Core_2,0,idle
-359246500,TASK_CalcEngineSpeed,179,C,Core_2,0,idle
-359246600,TASK_CalcEngineSpeed,179,STI,IR_SCHED_Tasks_C2,1158,trigger
-359246600,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-359250000,SIM,-1,STI,TIMER-1MS,359,trigger
-359250000,TIMER-1MS,359,T,TASK_1MS,359,activate
-359250000,TASK_1MS,359,SCHED,SCHED_Tasks_C1,-1,processactivate
-359250100,TASK_1MS,359,STI,IR_SCHED_Tasks_C1,1208,trigger
-359250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-359250100,Core_1,0,T,TASK_1MS,359,start
-359250100,TASK_1MS,359,R,FUNC_EXECTIME_1,653,start
-359250100,Core_1,0,C,Core_1,0,execute
-359250100,TASK_1MS,359,C,Core_1,0,execute
-359648700,TASK_1MS,359,R,FUNC_EXECTIME_1,653,terminate
-359648700,Core_1,0,T,TASK_1MS,359,terminate
-359648700,TASK_1MS,359,SCHED,SCHED_Tasks_C1,-1,processterminate
-359648700,Core_1,0,C,Core_1,0,idle
-359648700,TASK_1MS,359,C,Core_1,0,idle
-359648800,TASK_1MS,359,STI,IR_SCHED_Tasks_C1,1209,trigger
-359648800,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-360000000,SIM,-1,STI,TIMER-B_2ms,180,trigger
-360000000,TIMER-B_2ms,180,T,TASK_WritingActuator,180,activate
-360000000,TASK_WritingActuator,180,SCHED,SCHED_Tasks_C2,-1,processactivate
-360000000,SIM,-1,STI,TIMER-10MS_2,36,trigger
-360000000,TIMER-10MS_2,36,T,TASK_10MS_DL2,36,activate
-360000000,TASK_10MS_DL2,36,SCHED,SCHED_Tasks_C1,-1,processactivate
-360000100,TASK_WritingActuator,180,STI,IR_SCHED_Tasks_C2,1159,trigger
-360000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-360000100,Core_2,0,T,TASK_WritingActuator,180,start
-360000100,TASK_WritingActuator,180,R,FUNC_SEMLOCK,360,start
-360000100,Core_2,0,C,Core_2,0,execute
-360000100,TASK_WritingActuator,180,C,Core_2,0,execute
-360000100,TASK_10MS_DL2,36,STI,IR_SCHED_Tasks_C1,1210,trigger
-360000100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-360000100,Core_1,0,T,TASK_10MS_DL2,36,start
-360000100,TASK_10MS_DL2,36,R,FUNC_EXECTIME_1,654,start
-360000100,Core_1,0,C,Core_1,0,execute
-360000100,TASK_10MS_DL2,36,C,Core_1,0,execute
-360005000,SIM,-1,STI,TIMER-20MS,18,trigger
-360005000,TIMER-20MS,18,T,TASK_20MS,18,activate
-360005000,TASK_20MS,18,SCHED,SCHED_Tasks_C1,-1,processactivate
-360005100,TASK_20MS,18,STI,IR_SCHED_Tasks_C1,1211,trigger
-360005100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-360100000,SIM,-1,STI,TIMER-5MS,180,trigger
-360100000,TIMER-5MS,180,T,TASK_5MS,180,activate
-360100000,TASK_5MS,180,SCHED,SCHED_Tasks_C2,-1,processactivate
-360100100,TASK_5MS,180,STI,IR_SCHED_Tasks_C2,1160,trigger
-360100100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-360125100,TASK_WritingActuator,180,SEM,SEM_DataElement1,0,requestsemaphore,0
-360125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-360125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-360125100,Core_2,0,C,Core_2,0,lock
-360125100,TASK_WritingActuator,180,SEM,SEM_DataElement1,0,assigned,1
-360125150,TASK_WritingActuator,180,R,FUNC_SEMLOCK,360,terminate
-360125150,Core_2,0,C,Core_2,0,unlock
-360125150,TASK_WritingActuator,180,R,FUNC_WriteData,180,start
-360150000,SIM,-1,STI,TIMER-A_2ms,180,trigger
-360150000,TIMER-A_2ms,180,T,TASK_InputProcessing,180,activate
-360150000,TASK_InputProcessing,180,SCHED,SCHED_Tasks_C1,-1,processactivate
-360150100,TASK_InputProcessing,180,STI,IR_SCHED_Tasks_C1,1212,trigger
-360150100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-360151850,TASK_WritingActuator,180,SIG,SIG_Mixture,0,write,0
-360151850,TASK_WritingActuator,180,R,FUNC_WriteData,180,terminate
-360151850,TASK_WritingActuator,180,R,FUNC_SEMUNLOCK,360,start
-360250000,SIM,-1,STI,TIMER-1MS,360,trigger
-360250000,TIMER-1MS,360,T,TASK_1MS,360,activate
-360250000,TASK_1MS,360,SCHED,SCHED_Tasks_C1,-1,processactivate
-360250100,TASK_1MS,360,STI,IR_SCHED_Tasks_C1,1213,trigger
-360250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-360250100,TASK_10MS_DL2,36,R,FUNC_EXECTIME_1,654,suspend
-360250100,Core_1,0,T,TASK_10MS_DL2,36,preempt
-360250100,Core_1,0,C,Core_1,0,idle_execution
-360250100,TASK_10MS_DL2,36,C,Core_1,0,idle_execution
-360250100,Core_1,0,T,TASK_1MS,360,start
-360250100,TASK_1MS,360,R,FUNC_EXECTIME_1,657,start
-360250100,Core_1,0,C,Core_1,0,execute
-360250100,TASK_1MS,360,C,Core_1,0,execute
-360351850,TASK_WritingActuator,180,SEM,SEM_DataElement1,0,released,1
-360351850,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-360351850,TASK_WritingActuator,180,SCHED,SCHED_Tasks_C2,-1,schedulepoint
-360351850,Core_2,0,C,Core_2,0,lock
-360351900,TASK_WritingActuator,180,R,FUNC_SEMUNLOCK,360,terminate
-360351900,Core_2,0,T,TASK_WritingActuator,180,terminate
-360351900,TASK_WritingActuator,180,SCHED,SCHED_Tasks_C2,-1,processterminate
-360351900,Core_2,0,C,Core_2,0,unlock
-360351900,Core_2,0,C,Core_2,0,idle
-360351900,TASK_WritingActuator,180,C,Core_2,0,idle
-360351950,TASK_WritingActuator,180,STI,IR_SCHED_Tasks_C2,1161,trigger
-360351950,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-360351950,Core_2,0,T,TASK_5MS,180,start
-360351950,TASK_5MS,180,R,FUNC_EXECTIME_1,656,start
-360351950,Core_2,0,C,Core_2,0,execute
-360351950,TASK_5MS,180,C,Core_2,0,execute
-360895300,TASK_5MS,180,R,FUNC_EXECTIME_1,656,terminate
-360895300,Core_2,0,T,TASK_5MS,180,terminate
-360895300,TASK_5MS,180,SCHED,SCHED_Tasks_C2,-1,processterminate
-360895300,Core_2,0,C,Core_2,0,idle
-360895300,TASK_5MS,180,C,Core_2,0,idle
-360895400,TASK_5MS,180,STI,IR_SCHED_Tasks_C2,1162,trigger
-360895400,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-360899550,TASK_1MS,360,R,FUNC_EXECTIME_1,657,terminate
-360899550,Core_1,0,T,TASK_1MS,360,terminate
-360899550,TASK_1MS,360,SCHED,SCHED_Tasks_C1,-1,processterminate
-360899550,Core_1,0,C,Core_1,0,idle
-360899550,TASK_1MS,360,C,Core_1,0,idle
-360899650,TASK_1MS,360,STI,IR_SCHED_Tasks_C1,1214,trigger
-360899650,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-360899650,Core_1,0,C,Core_1,0,execute_idle
-360899650,TASK_10MS_DL2,36,C,Core_1,0,execute_idle
-360899650,Core_1,0,T,TASK_10MS_DL2,36,resume
-360899650,TASK_10MS_DL2,36,R,FUNC_EXECTIME_1,654,resume
-361206175,TASK_10MS_DL2,36,R,FUNC_EXECTIME_1,654,terminate
-361206175,Core_1,0,T,TASK_10MS_DL2,36,terminate
-361206175,TASK_10MS_DL2,36,SCHED,SCHED_Tasks_C1,-1,processterminate
-361206175,Core_1,0,C,Core_1,0,idle
-361206175,TASK_10MS_DL2,36,C,Core_1,0,idle
-361206275,TASK_10MS_DL2,36,STI,IR_SCHED_Tasks_C1,1215,trigger
-361206275,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-361206275,Core_1,0,T,TASK_InputProcessing,180,start
-361206275,TASK_InputProcessing,180,R,FUNC_SEMLOCK,361,start
-361206275,Core_1,0,C,Core_1,0,execute
-361206275,TASK_InputProcessing,180,C,Core_1,0,execute
-361250000,SIM,-1,STI,TIMER-1MS,361,trigger
-361250000,TIMER-1MS,361,T,TASK_1MS,361,activate
-361250000,TASK_1MS,361,SCHED,SCHED_Tasks_C1,-1,processactivate
-361250100,TASK_1MS,361,STI,IR_SCHED_Tasks_C1,1216,trigger
-361250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-361250100,TASK_InputProcessing,180,R,FUNC_SEMLOCK,361,suspend
-361250100,Core_1,0,T,TASK_InputProcessing,180,preempt
-361250100,Core_1,0,C,Core_1,0,idle_execution
-361250100,TASK_InputProcessing,180,C,Core_1,0,idle_execution
-361250100,Core_1,0,T,TASK_1MS,361,start
-361250100,TASK_1MS,361,R,FUNC_EXECTIME_1,658,start
-361250100,Core_1,0,C,Core_1,0,execute
-361250100,TASK_1MS,361,C,Core_1,0,execute
-361623775,TASK_1MS,361,R,FUNC_EXECTIME_1,658,terminate
-361623775,Core_1,0,T,TASK_1MS,361,terminate
-361623775,TASK_1MS,361,SCHED,SCHED_Tasks_C1,-1,processterminate
-361623775,Core_1,0,C,Core_1,0,idle
-361623775,TASK_1MS,361,C,Core_1,0,idle
-361623875,TASK_1MS,361,STI,IR_SCHED_Tasks_C1,1217,trigger
-361623875,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-361623875,Core_1,0,C,Core_1,0,execute_idle
-361623875,TASK_InputProcessing,180,C,Core_1,0,execute_idle
-361623875,Core_1,0,T,TASK_InputProcessing,180,resume
-361623875,TASK_InputProcessing,180,R,FUNC_SEMLOCK,361,resume
-361705050,TASK_InputProcessing,180,SEM,SEM_DataElement1,0,requestsemaphore,0
-361705050,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-361705050,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-361705050,Core_1,0,C,Core_1,0,lock
-361705050,TASK_InputProcessing,180,SEM,SEM_DataElement1,0,assigned,1
-361705100,TASK_InputProcessing,180,R,FUNC_SEMLOCK,361,terminate
-361705100,Core_1,0,C,Core_1,0,unlock
-361705100,TASK_InputProcessing,180,R,FUNC_ReadSensorData,180,start
-361866525,TASK_InputProcessing,180,SIG,SIG_RotationSpeed,0,read,0
-361866525,TASK_InputProcessing,180,SIG,SIG_Lambda,0,read,0
-361866525,TASK_InputProcessing,180,SIG,SIG_Temperature,0,read,0
-361866525,TASK_InputProcessing,180,R,FUNC_ReadSensorData,180,terminate
-361866525,TASK_InputProcessing,180,R,FUNC_SEMUNLOCK,361,start
-362000000,SIM,-1,STI,TIMER-B_2ms,181,trigger
-362000000,TIMER-B_2ms,181,T,TASK_WritingActuator,181,activate
-362000000,TASK_WritingActuator,181,SCHED,SCHED_Tasks_C2,-1,processactivate
-362000100,TASK_WritingActuator,181,STI,IR_SCHED_Tasks_C2,1163,trigger
-362000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-362000100,Core_2,0,T,TASK_WritingActuator,181,start
-362000100,TASK_WritingActuator,181,R,FUNC_SEMLOCK,362,start
-362000100,Core_2,0,C,Core_2,0,execute
-362000100,TASK_WritingActuator,181,C,Core_2,0,execute
-362066525,TASK_InputProcessing,180,SEM,SEM_DataElement1,0,released,1
-362066525,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-362066525,TASK_InputProcessing,180,SCHED,SCHED_Tasks_C1,-1,schedulepoint
-362066525,Core_1,0,C,Core_1,0,lock
-362066575,TASK_InputProcessing,180,R,FUNC_SEMUNLOCK,361,terminate
-362066575,Core_1,0,C,Core_1,0,unlock
-362066575,TASK_InputProcessing,180,STI,IPA_InputReady,180,trigger
-362066575,IPA_InputReady,180,T,TASK_CalcEngineSpeed,180,activate
-362066575,TASK_CalcEngineSpeed,180,SCHED,SCHED_Tasks_C2,-1,processactivate
-362066575,Core_1,0,T,TASK_InputProcessing,180,terminate
-362066575,TASK_InputProcessing,180,SCHED,SCHED_Tasks_C1,-1,processterminate
-362066575,Core_1,0,C,Core_1,0,idle
-362066575,TASK_InputProcessing,180,C,Core_1,0,idle
-362066625,TASK_InputProcessing,180,STI,IR_SCHED_Tasks_C1,1218,trigger
-362066625,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-362066625,Core_1,0,T,TASK_20MS,18,start
-362066625,TASK_20MS,18,R,FUNC_EXECTIME_1,655,start
-362066625,Core_1,0,C,Core_1,0,execute
-362066625,TASK_20MS,18,C,Core_1,0,execute
-362066675,TASK_CalcEngineSpeed,180,STI,IR_SCHED_Tasks_C2,1164,trigger
-362066675,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-362100000,SIM,-1,STI,TIMER-5MS,181,trigger
-362100000,TIMER-5MS,181,T,TASK_5MS,181,activate
-362100000,TASK_5MS,181,SCHED,SCHED_Tasks_C2,-1,processactivate
-362100100,TASK_5MS,181,STI,IR_SCHED_Tasks_C2,1165,trigger
-362100100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-362125100,TASK_WritingActuator,181,SEM,SEM_DataElement1,0,requestsemaphore,0
-362125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-362125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-362125100,Core_2,0,C,Core_2,0,lock
-362125100,TASK_WritingActuator,181,SEM,SEM_DataElement1,0,assigned,1
-362125150,TASK_WritingActuator,181,R,FUNC_SEMLOCK,362,terminate
-362125150,Core_2,0,C,Core_2,0,unlock
-362125150,TASK_WritingActuator,181,R,FUNC_WriteData,181,start
-362150000,SIM,-1,STI,TIMER-A_2ms,181,trigger
-362150000,TIMER-A_2ms,181,T,TASK_InputProcessing,181,activate
-362150000,TASK_InputProcessing,181,SCHED,SCHED_Tasks_C1,-1,processactivate
-362150100,TASK_InputProcessing,181,STI,IR_SCHED_Tasks_C1,1219,trigger
-362150100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-362150100,TASK_20MS,18,R,FUNC_EXECTIME_1,655,suspend
-362150100,Core_1,0,T,TASK_20MS,18,preempt
-362150100,Core_1,0,C,Core_1,0,idle_execution
-362150100,TASK_20MS,18,C,Core_1,0,idle_execution
-362150100,Core_1,0,T,TASK_InputProcessing,181,start
-362150100,TASK_InputProcessing,181,R,FUNC_SEMLOCK,363,start
-362150100,Core_1,0,C,Core_1,0,execute
-362150100,TASK_InputProcessing,181,C,Core_1,0,execute
-362152400,TASK_WritingActuator,181,SIG,SIG_Mixture,0,write,0
-362152400,TASK_WritingActuator,181,R,FUNC_WriteData,181,terminate
-362152400,TASK_WritingActuator,181,R,FUNC_SEMUNLOCK,362,start
-362250000,SIM,-1,STI,TIMER-1MS,362,trigger
-362250000,TIMER-1MS,362,T,TASK_1MS,362,activate
-362250000,TASK_1MS,362,SCHED,SCHED_Tasks_C1,-1,processactivate
-362250100,TASK_1MS,362,STI,IR_SCHED_Tasks_C1,1220,trigger
-362250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-362250100,TASK_InputProcessing,181,R,FUNC_SEMLOCK,363,suspend
-362250100,Core_1,0,T,TASK_InputProcessing,181,preempt
-362250100,Core_1,0,C,Core_1,0,idle_execution
-362250100,TASK_InputProcessing,181,C,Core_1,0,idle_execution
-362250100,Core_1,0,T,TASK_1MS,362,start
-362250100,TASK_1MS,362,R,FUNC_EXECTIME_1,660,start
-362250100,Core_1,0,C,Core_1,0,execute
-362250100,TASK_1MS,362,C,Core_1,0,execute
-362352400,TASK_WritingActuator,181,SEM,SEM_DataElement1,0,released,1
-362352400,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-362352400,TASK_WritingActuator,181,SCHED,SCHED_Tasks_C2,-1,schedulepoint
-362352400,Core_2,0,C,Core_2,0,lock
-362352450,TASK_WritingActuator,181,R,FUNC_SEMUNLOCK,362,terminate
-362352450,Core_2,0,T,TASK_WritingActuator,181,terminate
-362352450,TASK_WritingActuator,181,SCHED,SCHED_Tasks_C2,-1,processterminate
-362352450,Core_2,0,C,Core_2,0,unlock
-362352450,Core_2,0,C,Core_2,0,idle
-362352450,TASK_WritingActuator,181,C,Core_2,0,idle
-362352500,TASK_WritingActuator,181,STI,IR_SCHED_Tasks_C2,1166,trigger
-362352500,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-362352500,Core_2,0,T,TASK_CalcEngineSpeed,180,start
-362352500,TASK_CalcEngineSpeed,180,R,FUNC_ENGINESPEED,180,start
-362352500,Core_2,0,C,Core_2,0,execute
-362352500,TASK_CalcEngineSpeed,180,C,Core_2,0,execute
-362574000,TASK_1MS,362,R,FUNC_EXECTIME_1,660,terminate
-362574000,Core_1,0,T,TASK_1MS,362,terminate
-362574000,TASK_1MS,362,SCHED,SCHED_Tasks_C1,-1,processterminate
-362574000,Core_1,0,C,Core_1,0,idle
-362574000,TASK_1MS,362,C,Core_1,0,idle
-362574100,TASK_1MS,362,STI,IR_SCHED_Tasks_C1,1221,trigger
-362574100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-362574100,Core_1,0,C,Core_1,0,execute_idle
-362574100,TASK_InputProcessing,181,C,Core_1,0,execute_idle
-362574100,Core_1,0,T,TASK_InputProcessing,181,resume
-362574100,TASK_InputProcessing,181,R,FUNC_SEMLOCK,363,resume
-362598975,TASK_CalcEngineSpeed,180,R,FUNC_ENGINESPEED,180,terminate
-362598975,Core_2,0,T,TASK_CalcEngineSpeed,180,terminate
-362598975,TASK_CalcEngineSpeed,180,SCHED,SCHED_Tasks_C2,-1,processterminate
-362598975,Core_2,0,C,Core_2,0,idle
-362598975,TASK_CalcEngineSpeed,180,C,Core_2,0,idle
-362599075,TASK_CalcEngineSpeed,180,STI,IR_SCHED_Tasks_C2,1167,trigger
-362599075,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-362599075,Core_2,0,T,TASK_5MS,181,start
-362599075,TASK_5MS,181,R,FUNC_EXECTIME_1,659,start
-362599075,Core_2,0,C,Core_2,0,execute
-362599075,TASK_5MS,181,C,Core_2,0,execute
-362599100,TASK_InputProcessing,181,SEM,SEM_DataElement1,0,requestsemaphore,0
-362599100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-362599100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-362599100,Core_1,0,C,Core_1,0,lock
-362599100,TASK_InputProcessing,181,SEM,SEM_DataElement1,0,assigned,1
-362599150,TASK_InputProcessing,181,R,FUNC_SEMLOCK,363,terminate
-362599150,Core_1,0,C,Core_1,0,unlock
-362599150,TASK_InputProcessing,181,R,FUNC_ReadSensorData,181,start
-362758975,TASK_InputProcessing,181,SIG,SIG_RotationSpeed,0,read,0
-362758975,TASK_InputProcessing,181,SIG,SIG_Lambda,0,read,0
-362758975,TASK_InputProcessing,181,SIG,SIG_Temperature,0,read,0
-362758975,TASK_InputProcessing,181,R,FUNC_ReadSensorData,181,terminate
-362758975,TASK_InputProcessing,181,R,FUNC_SEMUNLOCK,363,start
-362958975,TASK_InputProcessing,181,SEM,SEM_DataElement1,0,released,1
-362958975,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-362958975,TASK_InputProcessing,181,SCHED,SCHED_Tasks_C1,-1,schedulepoint
-362958975,Core_1,0,C,Core_1,0,lock
-362959025,TASK_InputProcessing,181,R,FUNC_SEMUNLOCK,363,terminate
-362959025,Core_1,0,C,Core_1,0,unlock
-362959025,TASK_InputProcessing,181,STI,IPA_InputReady,181,trigger
-362959025,IPA_InputReady,181,T,TASK_CalcEngineSpeed,181,activate
-362959025,TASK_CalcEngineSpeed,181,SCHED,SCHED_Tasks_C2,-1,processactivate
-362959025,Core_1,0,T,TASK_InputProcessing,181,terminate
-362959025,TASK_InputProcessing,181,SCHED,SCHED_Tasks_C1,-1,processterminate
-362959025,Core_1,0,C,Core_1,0,idle
-362959025,TASK_InputProcessing,181,C,Core_1,0,idle
-362959075,TASK_InputProcessing,181,STI,IR_SCHED_Tasks_C1,1222,trigger
-362959075,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-362959075,Core_1,0,C,Core_1,0,execute_idle
-362959075,TASK_20MS,18,C,Core_1,0,execute_idle
-362959075,Core_1,0,T,TASK_20MS,18,resume
-362959075,TASK_20MS,18,R,FUNC_EXECTIME_1,655,resume
-362959125,TASK_CalcEngineSpeed,181,STI,IR_SCHED_Tasks_C2,1168,trigger
-362959125,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-362959125,TASK_5MS,181,R,FUNC_EXECTIME_1,659,suspend
-362959125,Core_2,0,T,TASK_5MS,181,preempt
-362959125,Core_2,0,C,Core_2,0,idle_execution
-362959125,TASK_5MS,181,C,Core_2,0,idle_execution
-362959125,Core_2,0,T,TASK_CalcEngineSpeed,181,start
-362959125,TASK_CalcEngineSpeed,181,R,FUNC_ENGINESPEED,181,start
-362959125,Core_2,0,C,Core_2,0,execute
-362959125,TASK_CalcEngineSpeed,181,C,Core_2,0,execute
-363108400,TASK_CalcEngineSpeed,181,R,FUNC_ENGINESPEED,181,terminate
-363108400,Core_2,0,T,TASK_CalcEngineSpeed,181,terminate
-363108400,TASK_CalcEngineSpeed,181,SCHED,SCHED_Tasks_C2,-1,processterminate
-363108400,Core_2,0,C,Core_2,0,idle
-363108400,TASK_CalcEngineSpeed,181,C,Core_2,0,idle
-363108500,TASK_CalcEngineSpeed,181,STI,IR_SCHED_Tasks_C2,1169,trigger
-363108500,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-363108500,Core_2,0,C,Core_2,0,execute_idle
-363108500,TASK_5MS,181,C,Core_2,0,execute_idle
-363108500,Core_2,0,T,TASK_5MS,181,resume
-363108500,TASK_5MS,181,R,FUNC_EXECTIME_1,659,resume
-363250000,SIM,-1,STI,TIMER-1MS,363,trigger
-363250000,TIMER-1MS,363,T,TASK_1MS,363,activate
-363250000,TASK_1MS,363,SCHED,SCHED_Tasks_C1,-1,processactivate
-363250100,TASK_1MS,363,STI,IR_SCHED_Tasks_C1,1223,trigger
-363250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-363250100,TASK_20MS,18,R,FUNC_EXECTIME_1,655,suspend
-363250100,Core_1,0,T,TASK_20MS,18,preempt
-363250100,Core_1,0,C,Core_1,0,idle_execution
-363250100,TASK_20MS,18,C,Core_1,0,idle_execution
-363250100,Core_1,0,T,TASK_1MS,363,start
-363250100,TASK_1MS,363,R,FUNC_EXECTIME_1,661,start
-363250100,Core_1,0,C,Core_1,0,execute
-363250100,TASK_1MS,363,C,Core_1,0,execute
-363433075,TASK_5MS,181,R,FUNC_EXECTIME_1,659,terminate
-363433075,Core_2,0,T,TASK_5MS,181,terminate
-363433075,TASK_5MS,181,SCHED,SCHED_Tasks_C2,-1,processterminate
-363433075,Core_2,0,C,Core_2,0,idle
-363433075,TASK_5MS,181,C,Core_2,0,idle
-363433175,TASK_5MS,181,STI,IR_SCHED_Tasks_C2,1170,trigger
-363433175,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-363800875,TASK_1MS,363,R,FUNC_EXECTIME_1,661,terminate
-363800875,Core_1,0,T,TASK_1MS,363,terminate
-363800875,TASK_1MS,363,SCHED,SCHED_Tasks_C1,-1,processterminate
-363800875,Core_1,0,C,Core_1,0,idle
-363800875,TASK_1MS,363,C,Core_1,0,idle
-363800975,TASK_1MS,363,STI,IR_SCHED_Tasks_C1,1224,trigger
-363800975,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-363800975,Core_1,0,C,Core_1,0,execute_idle
-363800975,TASK_20MS,18,C,Core_1,0,execute_idle
-363800975,Core_1,0,T,TASK_20MS,18,resume
-363800975,TASK_20MS,18,R,FUNC_EXECTIME_1,655,resume
-363856875,TASK_20MS,18,R,FUNC_EXECTIME_1,655,terminate
-363856875,Core_1,0,T,TASK_20MS,18,terminate
-363856875,TASK_20MS,18,SCHED,SCHED_Tasks_C1,-1,processterminate
-363856875,Core_1,0,C,Core_1,0,idle
-363856875,TASK_20MS,18,C,Core_1,0,idle
-363856975,TASK_20MS,18,STI,IR_SCHED_Tasks_C1,1225,trigger
-363856975,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-364000000,SIM,-1,STI,TIMER-B_2ms,182,trigger
-364000000,TIMER-B_2ms,182,T,TASK_WritingActuator,182,activate
-364000000,TASK_WritingActuator,182,SCHED,SCHED_Tasks_C2,-1,processactivate
-364000100,TASK_WritingActuator,182,STI,IR_SCHED_Tasks_C2,1171,trigger
-364000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-364000100,Core_2,0,T,TASK_WritingActuator,182,start
-364000100,TASK_WritingActuator,182,R,FUNC_SEMLOCK,364,start
-364000100,Core_2,0,C,Core_2,0,execute
-364000100,TASK_WritingActuator,182,C,Core_2,0,execute
-364100000,SIM,-1,STI,TIMER-5MS,182,trigger
-364100000,TIMER-5MS,182,T,TASK_5MS,182,activate
-364100000,TASK_5MS,182,SCHED,SCHED_Tasks_C2,-1,processactivate
-364100100,TASK_5MS,182,STI,IR_SCHED_Tasks_C2,1172,trigger
-364100100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-364125100,TASK_WritingActuator,182,SEM,SEM_DataElement1,0,requestsemaphore,0
-364125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-364125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-364125100,Core_2,0,C,Core_2,0,lock
-364125100,TASK_WritingActuator,182,SEM,SEM_DataElement1,0,assigned,1
-364125150,TASK_WritingActuator,182,R,FUNC_SEMLOCK,364,terminate
-364125150,Core_2,0,C,Core_2,0,unlock
-364125150,TASK_WritingActuator,182,R,FUNC_WriteData,182,start
-364150000,SIM,-1,STI,TIMER-A_2ms,182,trigger
-364150000,TIMER-A_2ms,182,T,TASK_InputProcessing,182,activate
-364150000,TASK_InputProcessing,182,SCHED,SCHED_Tasks_C1,-1,processactivate
-364150100,TASK_InputProcessing,182,STI,IR_SCHED_Tasks_C1,1226,trigger
-364150100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-364150100,Core_1,0,T,TASK_InputProcessing,182,start
-364150100,TASK_InputProcessing,182,R,FUNC_SEMLOCK,365,start
-364150100,Core_1,0,C,Core_1,0,execute
-364150100,TASK_InputProcessing,182,C,Core_1,0,execute
-364152425,TASK_WritingActuator,182,SIG,SIG_Mixture,0,write,0
-364152425,TASK_WritingActuator,182,R,FUNC_WriteData,182,terminate
-364152425,TASK_WritingActuator,182,R,FUNC_SEMUNLOCK,364,start
-364250000,SIM,-1,STI,TIMER-1MS,364,trigger
-364250000,TIMER-1MS,364,T,TASK_1MS,364,activate
-364250000,TASK_1MS,364,SCHED,SCHED_Tasks_C1,-1,processactivate
-364250100,TASK_1MS,364,STI,IR_SCHED_Tasks_C1,1227,trigger
-364250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-364250100,TASK_InputProcessing,182,R,FUNC_SEMLOCK,365,suspend
-364250100,Core_1,0,T,TASK_InputProcessing,182,preempt
-364250100,Core_1,0,C,Core_1,0,idle_execution
-364250100,TASK_InputProcessing,182,C,Core_1,0,idle_execution
-364250100,Core_1,0,T,TASK_1MS,364,start
-364250100,TASK_1MS,364,R,FUNC_EXECTIME_1,663,start
-364250100,Core_1,0,C,Core_1,0,execute
-364250100,TASK_1MS,364,C,Core_1,0,execute
-364352425,TASK_WritingActuator,182,SEM,SEM_DataElement1,0,released,1
-364352425,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-364352425,TASK_WritingActuator,182,SCHED,SCHED_Tasks_C2,-1,schedulepoint
-364352425,Core_2,0,C,Core_2,0,lock
-364352475,TASK_WritingActuator,182,R,FUNC_SEMUNLOCK,364,terminate
-364352475,Core_2,0,T,TASK_WritingActuator,182,terminate
-364352475,TASK_WritingActuator,182,SCHED,SCHED_Tasks_C2,-1,processterminate
-364352475,Core_2,0,C,Core_2,0,unlock
-364352475,Core_2,0,C,Core_2,0,idle
-364352475,TASK_WritingActuator,182,C,Core_2,0,idle
-364352525,TASK_WritingActuator,182,STI,IR_SCHED_Tasks_C2,1173,trigger
-364352525,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-364352525,Core_2,0,T,TASK_5MS,182,start
-364352525,TASK_5MS,182,R,FUNC_EXECTIME_1,662,start
-364352525,Core_2,0,C,Core_2,0,execute
-364352525,TASK_5MS,182,C,Core_2,0,execute
-364599225,TASK_1MS,364,R,FUNC_EXECTIME_1,663,terminate
-364599225,Core_1,0,T,TASK_1MS,364,terminate
-364599225,TASK_1MS,364,SCHED,SCHED_Tasks_C1,-1,processterminate
-364599225,Core_1,0,C,Core_1,0,idle
-364599225,TASK_1MS,364,C,Core_1,0,idle
-364599325,TASK_1MS,364,STI,IR_SCHED_Tasks_C1,1228,trigger
-364599325,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-364599325,Core_1,0,C,Core_1,0,execute_idle
-364599325,TASK_InputProcessing,182,C,Core_1,0,execute_idle
-364599325,Core_1,0,T,TASK_InputProcessing,182,resume
-364599325,TASK_InputProcessing,182,R,FUNC_SEMLOCK,365,resume
-364624325,TASK_InputProcessing,182,SEM,SEM_DataElement1,0,requestsemaphore,0
-364624325,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-364624325,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-364624325,Core_1,0,C,Core_1,0,lock
-364624325,TASK_InputProcessing,182,SEM,SEM_DataElement1,0,assigned,1
-364624375,TASK_InputProcessing,182,R,FUNC_SEMLOCK,365,terminate
-364624375,Core_1,0,C,Core_1,0,unlock
-364624375,TASK_InputProcessing,182,R,FUNC_ReadSensorData,182,start
-364719575,TASK_5MS,182,R,FUNC_EXECTIME_1,662,terminate
-364719575,Core_2,0,T,TASK_5MS,182,terminate
-364719575,TASK_5MS,182,SCHED,SCHED_Tasks_C2,-1,processterminate
-364719575,Core_2,0,C,Core_2,0,idle
-364719575,TASK_5MS,182,C,Core_2,0,idle
-364719675,TASK_5MS,182,STI,IR_SCHED_Tasks_C2,1174,trigger
-364719675,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-364782925,TASK_InputProcessing,182,SIG,SIG_RotationSpeed,0,read,0
-364782925,TASK_InputProcessing,182,SIG,SIG_Lambda,0,read,0
-364782925,TASK_InputProcessing,182,SIG,SIG_Temperature,0,read,0
-364782925,TASK_InputProcessing,182,R,FUNC_ReadSensorData,182,terminate
-364782925,TASK_InputProcessing,182,R,FUNC_SEMUNLOCK,365,start
-364982925,TASK_InputProcessing,182,SEM,SEM_DataElement1,0,released,1
-364982925,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-364982925,TASK_InputProcessing,182,SCHED,SCHED_Tasks_C1,-1,schedulepoint
-364982925,Core_1,0,C,Core_1,0,lock
-364982975,TASK_InputProcessing,182,R,FUNC_SEMUNLOCK,365,terminate
-364982975,Core_1,0,C,Core_1,0,unlock
-364982975,TASK_InputProcessing,182,STI,IPA_InputReady,182,trigger
-364982975,IPA_InputReady,182,T,TASK_CalcEngineSpeed,182,activate
-364982975,TASK_CalcEngineSpeed,182,SCHED,SCHED_Tasks_C2,-1,processactivate
-364982975,Core_1,0,T,TASK_InputProcessing,182,terminate
-364982975,TASK_InputProcessing,182,SCHED,SCHED_Tasks_C1,-1,processterminate
-364982975,Core_1,0,C,Core_1,0,idle
-364982975,TASK_InputProcessing,182,C,Core_1,0,idle
-364983025,TASK_InputProcessing,182,STI,IR_SCHED_Tasks_C1,1229,trigger
-364983025,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-364983075,TASK_CalcEngineSpeed,182,STI,IR_SCHED_Tasks_C2,1175,trigger
-364983075,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-364983075,Core_2,0,T,TASK_CalcEngineSpeed,182,start
-364983075,TASK_CalcEngineSpeed,182,R,FUNC_ENGINESPEED,182,start
-364983075,Core_2,0,C,Core_2,0,execute
-364983075,TASK_CalcEngineSpeed,182,C,Core_2,0,execute
-365000000,SIM,-1,STI,TIMER-10MS,36,trigger
-365000000,TIMER-10MS,36,T,TASK_10MS,36,activate
-365000000,TASK_10MS,36,SCHED,SCHED_Tasks_C2,-1,processactivate
-365000100,TASK_10MS,36,STI,IR_SCHED_Tasks_C2,1176,trigger
-365000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-365170775,TASK_CalcEngineSpeed,182,R,FUNC_ENGINESPEED,182,terminate
-365170775,Core_2,0,T,TASK_CalcEngineSpeed,182,terminate
-365170775,TASK_CalcEngineSpeed,182,SCHED,SCHED_Tasks_C2,-1,processterminate
-365170775,Core_2,0,C,Core_2,0,idle
-365170775,TASK_CalcEngineSpeed,182,C,Core_2,0,idle
-365170875,TASK_CalcEngineSpeed,182,STI,IR_SCHED_Tasks_C2,1177,trigger
-365170875,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-365170875,Core_2,0,T,TASK_10MS,36,start
-365170875,TASK_10MS,36,R,FUNC_EXECTIME_1,664,start
-365170875,Core_2,0,C,Core_2,0,execute
-365170875,TASK_10MS,36,C,Core_2,0,execute
-365250000,SIM,-1,STI,TIMER-1MS,365,trigger
-365250000,TIMER-1MS,365,T,TASK_1MS,365,activate
-365250000,TASK_1MS,365,SCHED,SCHED_Tasks_C1,-1,processactivate
-365250100,TASK_1MS,365,STI,IR_SCHED_Tasks_C1,1230,trigger
-365250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-365250100,Core_1,0,T,TASK_1MS,365,start
-365250100,TASK_1MS,365,R,FUNC_EXECTIME_1,665,start
-365250100,Core_1,0,C,Core_1,0,execute
-365250100,TASK_1MS,365,C,Core_1,0,execute
-366000000,SIM,-1,STI,TIMER-B_2ms,183,trigger
-366000000,TIMER-B_2ms,183,T,TASK_WritingActuator,183,activate
-366000000,TASK_WritingActuator,183,SCHED,SCHED_Tasks_C2,-1,processactivate
-366000100,TASK_WritingActuator,183,STI,IR_SCHED_Tasks_C2,1178,trigger
-366000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-366000100,TASK_10MS,36,R,FUNC_EXECTIME_1,664,suspend
-366000100,Core_2,0,T,TASK_10MS,36,preempt
-366000100,Core_2,0,C,Core_2,0,idle_execution
-366000100,TASK_10MS,36,C,Core_2,0,idle_execution
-366000100,Core_2,0,T,TASK_WritingActuator,183,start
-366000100,TASK_WritingActuator,183,R,FUNC_SEMLOCK,366,start
-366000100,Core_2,0,C,Core_2,0,execute
-366000100,TASK_WritingActuator,183,C,Core_2,0,execute
-366020175,TASK_1MS,365,R,FUNC_EXECTIME_1,665,terminate
-366020175,Core_1,0,T,TASK_1MS,365,terminate
-366020175,TASK_1MS,365,SCHED,SCHED_Tasks_C1,-1,processterminate
-366020175,Core_1,0,C,Core_1,0,idle
-366020175,TASK_1MS,365,C,Core_1,0,idle
-366020275,TASK_1MS,365,STI,IR_SCHED_Tasks_C1,1231,trigger
-366020275,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-366100000,SIM,-1,STI,TIMER-5MS,183,trigger
-366100000,TIMER-5MS,183,T,TASK_5MS,183,activate
-366100000,TASK_5MS,183,SCHED,SCHED_Tasks_C2,-1,processactivate
-366100100,TASK_5MS,183,STI,IR_SCHED_Tasks_C2,1179,trigger
-366100100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-366125100,TASK_WritingActuator,183,SEM,SEM_DataElement1,0,requestsemaphore,0
-366125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-366125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-366125100,Core_2,0,C,Core_2,0,lock
-366125100,TASK_WritingActuator,183,SEM,SEM_DataElement1,0,assigned,1
-366125150,TASK_WritingActuator,183,R,FUNC_SEMLOCK,366,terminate
-366125150,Core_2,0,C,Core_2,0,unlock
-366125150,TASK_WritingActuator,183,R,FUNC_WriteData,183,start
-366150000,SIM,-1,STI,TIMER-A_2ms,183,trigger
-366150000,TIMER-A_2ms,183,T,TASK_InputProcessing,183,activate
-366150000,TASK_InputProcessing,183,SCHED,SCHED_Tasks_C1,-1,processactivate
-366150100,TASK_InputProcessing,183,STI,IR_SCHED_Tasks_C1,1232,trigger
-366150100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-366150100,Core_1,0,T,TASK_InputProcessing,183,start
-366150100,TASK_InputProcessing,183,R,FUNC_SEMLOCK,367,start
-366150100,Core_1,0,C,Core_1,0,execute
-366150100,TASK_InputProcessing,183,C,Core_1,0,execute
-366152250,TASK_WritingActuator,183,SIG,SIG_Mixture,0,write,0
-366152250,TASK_WritingActuator,183,R,FUNC_WriteData,183,terminate
-366152250,TASK_WritingActuator,183,R,FUNC_SEMUNLOCK,366,start
-366250000,SIM,-1,STI,TIMER-1MS,366,trigger
-366250000,TIMER-1MS,366,T,TASK_1MS,366,activate
-366250000,TASK_1MS,366,SCHED,SCHED_Tasks_C1,-1,processactivate
-366250100,TASK_1MS,366,STI,IR_SCHED_Tasks_C1,1233,trigger
-366250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-366250100,TASK_InputProcessing,183,R,FUNC_SEMLOCK,367,suspend
-366250100,Core_1,0,T,TASK_InputProcessing,183,preempt
-366250100,Core_1,0,C,Core_1,0,idle_execution
-366250100,TASK_InputProcessing,183,C,Core_1,0,idle_execution
-366250100,Core_1,0,T,TASK_1MS,366,start
-366250100,TASK_1MS,366,R,FUNC_EXECTIME_1,667,start
-366250100,Core_1,0,C,Core_1,0,execute
-366250100,TASK_1MS,366,C,Core_1,0,execute
-366352250,TASK_WritingActuator,183,SEM,SEM_DataElement1,0,released,1
-366352250,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-366352250,TASK_WritingActuator,183,SCHED,SCHED_Tasks_C2,-1,schedulepoint
-366352250,Core_2,0,C,Core_2,0,lock
-366352300,TASK_WritingActuator,183,R,FUNC_SEMUNLOCK,366,terminate
-366352300,Core_2,0,T,TASK_WritingActuator,183,terminate
-366352300,TASK_WritingActuator,183,SCHED,SCHED_Tasks_C2,-1,processterminate
-366352300,Core_2,0,C,Core_2,0,unlock
-366352300,Core_2,0,C,Core_2,0,idle
-366352300,TASK_WritingActuator,183,C,Core_2,0,idle
-366352350,TASK_WritingActuator,183,STI,IR_SCHED_Tasks_C2,1180,trigger
-366352350,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-366352350,Core_2,0,T,TASK_5MS,183,start
-366352350,TASK_5MS,183,R,FUNC_EXECTIME_1,666,start
-366352350,Core_2,0,C,Core_2,0,execute
-366352350,TASK_5MS,183,C,Core_2,0,execute
-366729425,TASK_1MS,366,R,FUNC_EXECTIME_1,667,terminate
-366729425,Core_1,0,T,TASK_1MS,366,terminate
-366729425,TASK_1MS,366,SCHED,SCHED_Tasks_C1,-1,processterminate
-366729425,Core_1,0,C,Core_1,0,idle
-366729425,TASK_1MS,366,C,Core_1,0,idle
-366729525,TASK_1MS,366,STI,IR_SCHED_Tasks_C1,1234,trigger
-366729525,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-366729525,Core_1,0,C,Core_1,0,execute_idle
-366729525,TASK_InputProcessing,183,C,Core_1,0,execute_idle
-366729525,Core_1,0,T,TASK_InputProcessing,183,resume
-366729525,TASK_InputProcessing,183,R,FUNC_SEMLOCK,367,resume
-366754525,TASK_InputProcessing,183,SEM,SEM_DataElement1,0,requestsemaphore,0
-366754525,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-366754525,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-366754525,Core_1,0,C,Core_1,0,lock
-366754525,TASK_InputProcessing,183,SEM,SEM_DataElement1,0,assigned,1
-366754575,TASK_InputProcessing,183,R,FUNC_SEMLOCK,367,terminate
-366754575,Core_1,0,C,Core_1,0,unlock
-366754575,TASK_InputProcessing,183,R,FUNC_ReadSensorData,183,start
-366917725,TASK_InputProcessing,183,SIG,SIG_RotationSpeed,0,read,0
-366917725,TASK_InputProcessing,183,SIG,SIG_Lambda,0,read,0
-366917725,TASK_InputProcessing,183,SIG,SIG_Temperature,0,read,0
-366917725,TASK_InputProcessing,183,R,FUNC_ReadSensorData,183,terminate
-366917725,TASK_InputProcessing,183,R,FUNC_SEMUNLOCK,367,start
-367117725,TASK_InputProcessing,183,SEM,SEM_DataElement1,0,released,1
-367117725,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-367117725,TASK_InputProcessing,183,SCHED,SCHED_Tasks_C1,-1,schedulepoint
-367117725,Core_1,0,C,Core_1,0,lock
-367117775,TASK_InputProcessing,183,R,FUNC_SEMUNLOCK,367,terminate
-367117775,Core_1,0,C,Core_1,0,unlock
-367117775,TASK_InputProcessing,183,STI,IPA_InputReady,183,trigger
-367117775,IPA_InputReady,183,T,TASK_CalcEngineSpeed,183,activate
-367117775,TASK_CalcEngineSpeed,183,SCHED,SCHED_Tasks_C2,-1,processactivate
-367117775,Core_1,0,T,TASK_InputProcessing,183,terminate
-367117775,TASK_InputProcessing,183,SCHED,SCHED_Tasks_C1,-1,processterminate
-367117775,Core_1,0,C,Core_1,0,idle
-367117775,TASK_InputProcessing,183,C,Core_1,0,idle
-367117825,TASK_InputProcessing,183,STI,IR_SCHED_Tasks_C1,1235,trigger
-367117825,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-367117875,TASK_CalcEngineSpeed,183,STI,IR_SCHED_Tasks_C2,1181,trigger
-367117875,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-367117875,TASK_5MS,183,R,FUNC_EXECTIME_1,666,suspend
-367117875,Core_2,0,T,TASK_5MS,183,preempt
-367117875,Core_2,0,C,Core_2,0,idle_execution
-367117875,TASK_5MS,183,C,Core_2,0,idle_execution
-367117875,Core_2,0,T,TASK_CalcEngineSpeed,183,start
-367117875,TASK_CalcEngineSpeed,183,R,FUNC_ENGINESPEED,183,start
-367117875,Core_2,0,C,Core_2,0,execute
-367117875,TASK_CalcEngineSpeed,183,C,Core_2,0,execute
-367250000,SIM,-1,STI,TIMER-1MS,367,trigger
-367250000,TIMER-1MS,367,T,TASK_1MS,367,activate
-367250000,TASK_1MS,367,SCHED,SCHED_Tasks_C1,-1,processactivate
-367250100,TASK_1MS,367,STI,IR_SCHED_Tasks_C1,1236,trigger
-367250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-367250100,Core_1,0,T,TASK_1MS,367,start
-367250100,TASK_1MS,367,R,FUNC_EXECTIME_1,668,start
-367250100,Core_1,0,C,Core_1,0,execute
-367250100,TASK_1MS,367,C,Core_1,0,execute
-367352450,TASK_CalcEngineSpeed,183,R,FUNC_ENGINESPEED,183,terminate
-367352450,Core_2,0,T,TASK_CalcEngineSpeed,183,terminate
-367352450,TASK_CalcEngineSpeed,183,SCHED,SCHED_Tasks_C2,-1,processterminate
-367352450,Core_2,0,C,Core_2,0,idle
-367352450,TASK_CalcEngineSpeed,183,C,Core_2,0,idle
-367352550,TASK_CalcEngineSpeed,183,STI,IR_SCHED_Tasks_C2,1182,trigger
-367352550,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-367352550,Core_2,0,C,Core_2,0,execute_idle
-367352550,TASK_5MS,183,C,Core_2,0,execute_idle
-367352550,Core_2,0,T,TASK_5MS,183,resume
-367352550,TASK_5MS,183,R,FUNC_EXECTIME_1,666,resume
-367601500,TASK_5MS,183,R,FUNC_EXECTIME_1,666,terminate
-367601500,Core_2,0,T,TASK_5MS,183,terminate
-367601500,TASK_5MS,183,SCHED,SCHED_Tasks_C2,-1,processterminate
-367601500,Core_2,0,C,Core_2,0,idle
-367601500,TASK_5MS,183,C,Core_2,0,idle
-367601600,TASK_5MS,183,STI,IR_SCHED_Tasks_C2,1183,trigger
-367601600,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-367601600,Core_2,0,C,Core_2,0,execute_idle
-367601600,TASK_10MS,36,C,Core_2,0,execute_idle
-367601600,Core_2,0,T,TASK_10MS,36,resume
-367601600,TASK_10MS,36,R,FUNC_EXECTIME_1,664,resume
-367690225,TASK_10MS,36,R,FUNC_EXECTIME_1,664,terminate
-367690225,Core_2,0,T,TASK_10MS,36,terminate
-367690225,TASK_10MS,36,SCHED,SCHED_Tasks_C2,-1,processterminate
-367690225,Core_2,0,C,Core_2,0,idle
-367690225,TASK_10MS,36,C,Core_2,0,idle
-367690325,TASK_10MS,36,STI,IR_SCHED_Tasks_C2,1184,trigger
-367690325,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-367910400,TASK_1MS,367,R,FUNC_EXECTIME_1,668,terminate
-367910400,Core_1,0,T,TASK_1MS,367,terminate
-367910400,TASK_1MS,367,SCHED,SCHED_Tasks_C1,-1,processterminate
-367910400,Core_1,0,C,Core_1,0,idle
-367910400,TASK_1MS,367,C,Core_1,0,idle
-367910500,TASK_1MS,367,STI,IR_SCHED_Tasks_C1,1237,trigger
-367910500,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-368000000,SIM,-1,STI,TIMER-B_2ms,184,trigger
-368000000,TIMER-B_2ms,184,T,TASK_WritingActuator,184,activate
-368000000,TASK_WritingActuator,184,SCHED,SCHED_Tasks_C2,-1,processactivate
-368000100,TASK_WritingActuator,184,STI,IR_SCHED_Tasks_C2,1185,trigger
-368000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-368000100,Core_2,0,T,TASK_WritingActuator,184,start
-368000100,TASK_WritingActuator,184,R,FUNC_SEMLOCK,368,start
-368000100,Core_2,0,C,Core_2,0,execute
-368000100,TASK_WritingActuator,184,C,Core_2,0,execute
-368100000,SIM,-1,STI,TIMER-5MS,184,trigger
-368100000,TIMER-5MS,184,T,TASK_5MS,184,activate
-368100000,TASK_5MS,184,SCHED,SCHED_Tasks_C2,-1,processactivate
-368100100,TASK_5MS,184,STI,IR_SCHED_Tasks_C2,1186,trigger
-368100100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-368125100,TASK_WritingActuator,184,SEM,SEM_DataElement1,0,requestsemaphore,0
-368125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-368125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-368125100,Core_2,0,C,Core_2,0,lock
-368125100,TASK_WritingActuator,184,SEM,SEM_DataElement1,0,assigned,1
-368125150,TASK_WritingActuator,184,R,FUNC_SEMLOCK,368,terminate
-368125150,Core_2,0,C,Core_2,0,unlock
-368125150,TASK_WritingActuator,184,R,FUNC_WriteData,184,start
-368150000,SIM,-1,STI,TIMER-A_2ms,184,trigger
-368150000,TIMER-A_2ms,184,T,TASK_InputProcessing,184,activate
-368150000,TASK_InputProcessing,184,SCHED,SCHED_Tasks_C1,-1,processactivate
-368150100,TASK_InputProcessing,184,STI,IR_SCHED_Tasks_C1,1238,trigger
-368150100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-368150100,Core_1,0,T,TASK_InputProcessing,184,start
-368150100,TASK_InputProcessing,184,R,FUNC_SEMLOCK,369,start
-368150100,Core_1,0,C,Core_1,0,execute
-368150100,TASK_InputProcessing,184,C,Core_1,0,execute
-368151700,TASK_WritingActuator,184,SIG,SIG_Mixture,0,write,0
-368151700,TASK_WritingActuator,184,R,FUNC_WriteData,184,terminate
-368151700,TASK_WritingActuator,184,R,FUNC_SEMUNLOCK,368,start
-368250000,SIM,-1,STI,TIMER-1MS,368,trigger
-368250000,TIMER-1MS,368,T,TASK_1MS,368,activate
-368250000,TASK_1MS,368,SCHED,SCHED_Tasks_C1,-1,processactivate
-368250100,TASK_1MS,368,STI,IR_SCHED_Tasks_C1,1239,trigger
-368250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-368250100,TASK_InputProcessing,184,R,FUNC_SEMLOCK,369,suspend
-368250100,Core_1,0,T,TASK_InputProcessing,184,preempt
-368250100,Core_1,0,C,Core_1,0,idle_execution
-368250100,TASK_InputProcessing,184,C,Core_1,0,idle_execution
-368250100,Core_1,0,T,TASK_1MS,368,start
-368250100,TASK_1MS,368,R,FUNC_EXECTIME_1,670,start
-368250100,Core_1,0,C,Core_1,0,execute
-368250100,TASK_1MS,368,C,Core_1,0,execute
-368351700,TASK_WritingActuator,184,SEM,SEM_DataElement1,0,released,1
-368351700,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-368351700,TASK_WritingActuator,184,SCHED,SCHED_Tasks_C2,-1,schedulepoint
-368351700,Core_2,0,C,Core_2,0,lock
-368351750,TASK_WritingActuator,184,R,FUNC_SEMUNLOCK,368,terminate
-368351750,Core_2,0,T,TASK_WritingActuator,184,terminate
-368351750,TASK_WritingActuator,184,SCHED,SCHED_Tasks_C2,-1,processterminate
-368351750,Core_2,0,C,Core_2,0,unlock
-368351750,Core_2,0,C,Core_2,0,idle
-368351750,TASK_WritingActuator,184,C,Core_2,0,idle
-368351800,TASK_WritingActuator,184,STI,IR_SCHED_Tasks_C2,1187,trigger
-368351800,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-368351800,Core_2,0,T,TASK_5MS,184,start
-368351800,TASK_5MS,184,R,FUNC_EXECTIME_1,669,start
-368351800,Core_2,0,C,Core_2,0,execute
-368351800,TASK_5MS,184,C,Core_2,0,execute
-368616275,TASK_1MS,368,R,FUNC_EXECTIME_1,670,terminate
-368616275,Core_1,0,T,TASK_1MS,368,terminate
-368616275,TASK_1MS,368,SCHED,SCHED_Tasks_C1,-1,processterminate
-368616275,Core_1,0,C,Core_1,0,idle
-368616275,TASK_1MS,368,C,Core_1,0,idle
-368616375,TASK_1MS,368,STI,IR_SCHED_Tasks_C1,1240,trigger
-368616375,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-368616375,Core_1,0,C,Core_1,0,execute_idle
-368616375,TASK_InputProcessing,184,C,Core_1,0,execute_idle
-368616375,Core_1,0,T,TASK_InputProcessing,184,resume
-368616375,TASK_InputProcessing,184,R,FUNC_SEMLOCK,369,resume
-368641375,TASK_InputProcessing,184,SEM,SEM_DataElement1,0,requestsemaphore,0
-368641375,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-368641375,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-368641375,Core_1,0,C,Core_1,0,lock
-368641375,TASK_InputProcessing,184,SEM,SEM_DataElement1,0,assigned,1
-368641425,TASK_InputProcessing,184,R,FUNC_SEMLOCK,369,terminate
-368641425,Core_1,0,C,Core_1,0,unlock
-368641425,TASK_InputProcessing,184,R,FUNC_ReadSensorData,184,start
-368803275,TASK_InputProcessing,184,SIG,SIG_RotationSpeed,0,read,0
-368803275,TASK_InputProcessing,184,SIG,SIG_Lambda,0,read,0
-368803275,TASK_InputProcessing,184,SIG,SIG_Temperature,0,read,0
-368803275,TASK_InputProcessing,184,R,FUNC_ReadSensorData,184,terminate
-368803275,TASK_InputProcessing,184,R,FUNC_SEMUNLOCK,369,start
-369003275,TASK_InputProcessing,184,SEM,SEM_DataElement1,0,released,1
-369003275,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-369003275,TASK_InputProcessing,184,SCHED,SCHED_Tasks_C1,-1,schedulepoint
-369003275,Core_1,0,C,Core_1,0,lock
-369003325,TASK_InputProcessing,184,R,FUNC_SEMUNLOCK,369,terminate
-369003325,Core_1,0,C,Core_1,0,unlock
-369003325,TASK_InputProcessing,184,STI,IPA_InputReady,184,trigger
-369003325,IPA_InputReady,184,T,TASK_CalcEngineSpeed,184,activate
-369003325,TASK_CalcEngineSpeed,184,SCHED,SCHED_Tasks_C2,-1,processactivate
-369003325,Core_1,0,T,TASK_InputProcessing,184,terminate
-369003325,TASK_InputProcessing,184,SCHED,SCHED_Tasks_C1,-1,processterminate
-369003325,Core_1,0,C,Core_1,0,idle
-369003325,TASK_InputProcessing,184,C,Core_1,0,idle
-369003375,TASK_InputProcessing,184,STI,IR_SCHED_Tasks_C1,1241,trigger
-369003375,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-369003425,TASK_CalcEngineSpeed,184,STI,IR_SCHED_Tasks_C2,1188,trigger
-369003425,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-369003425,TASK_5MS,184,R,FUNC_EXECTIME_1,669,suspend
-369003425,Core_2,0,T,TASK_5MS,184,preempt
-369003425,Core_2,0,C,Core_2,0,idle_execution
-369003425,TASK_5MS,184,C,Core_2,0,idle_execution
-369003425,Core_2,0,T,TASK_CalcEngineSpeed,184,start
-369003425,TASK_CalcEngineSpeed,184,R,FUNC_ENGINESPEED,184,start
-369003425,Core_2,0,C,Core_2,0,execute
-369003425,TASK_CalcEngineSpeed,184,C,Core_2,0,execute
-369128100,TASK_CalcEngineSpeed,184,R,FUNC_ENGINESPEED,184,terminate
-369128100,Core_2,0,T,TASK_CalcEngineSpeed,184,terminate
-369128100,TASK_CalcEngineSpeed,184,SCHED,SCHED_Tasks_C2,-1,processterminate
-369128100,Core_2,0,C,Core_2,0,idle
-369128100,TASK_CalcEngineSpeed,184,C,Core_2,0,idle
-369128200,TASK_CalcEngineSpeed,184,STI,IR_SCHED_Tasks_C2,1189,trigger
-369128200,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-369128200,Core_2,0,C,Core_2,0,execute_idle
-369128200,TASK_5MS,184,C,Core_2,0,execute_idle
-369128200,Core_2,0,T,TASK_5MS,184,resume
-369128200,TASK_5MS,184,R,FUNC_EXECTIME_1,669,resume
-369250000,SIM,-1,STI,TIMER-1MS,369,trigger
-369250000,TIMER-1MS,369,T,TASK_1MS,369,activate
-369250000,TASK_1MS,369,SCHED,SCHED_Tasks_C1,-1,processactivate
-369250100,TASK_1MS,369,STI,IR_SCHED_Tasks_C1,1242,trigger
-369250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-369250100,Core_1,0,T,TASK_1MS,369,start
-369250100,TASK_1MS,369,R,FUNC_EXECTIME_1,671,start
-369250100,Core_1,0,C,Core_1,0,execute
-369250100,TASK_1MS,369,C,Core_1,0,execute
-369403425,TASK_5MS,184,R,FUNC_EXECTIME_1,669,terminate
-369403425,Core_2,0,T,TASK_5MS,184,terminate
-369403425,TASK_5MS,184,SCHED,SCHED_Tasks_C2,-1,processterminate
-369403425,Core_2,0,C,Core_2,0,idle
-369403425,TASK_5MS,184,C,Core_2,0,idle
-369403525,TASK_5MS,184,STI,IR_SCHED_Tasks_C2,1190,trigger
-369403525,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-369714275,TASK_1MS,369,R,FUNC_EXECTIME_1,671,terminate
-369714275,Core_1,0,T,TASK_1MS,369,terminate
-369714275,TASK_1MS,369,SCHED,SCHED_Tasks_C1,-1,processterminate
-369714275,Core_1,0,C,Core_1,0,idle
-369714275,TASK_1MS,369,C,Core_1,0,idle
-369714375,TASK_1MS,369,STI,IR_SCHED_Tasks_C1,1243,trigger
-369714375,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-370000000,SIM,-1,STI,TIMER-B_2ms,185,trigger
-370000000,TIMER-B_2ms,185,T,TASK_WritingActuator,185,activate
-370000000,TASK_WritingActuator,185,SCHED,SCHED_Tasks_C2,-1,processactivate
-370000000,SIM,-1,STI,TIMER-10MS_2,37,trigger
-370000000,TIMER-10MS_2,37,T,TASK_10MS_DL2,37,activate
-370000000,TASK_10MS_DL2,37,SCHED,SCHED_Tasks_C1,-1,processactivate
-370000100,TASK_WritingActuator,185,STI,IR_SCHED_Tasks_C2,1191,trigger
-370000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-370000100,Core_2,0,T,TASK_WritingActuator,185,start
-370000100,TASK_WritingActuator,185,R,FUNC_SEMLOCK,370,start
-370000100,Core_2,0,C,Core_2,0,execute
-370000100,TASK_WritingActuator,185,C,Core_2,0,execute
-370000100,TASK_10MS_DL2,37,STI,IR_SCHED_Tasks_C1,1244,trigger
-370000100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-370000100,Core_1,0,T,TASK_10MS_DL2,37,start
-370000100,TASK_10MS_DL2,37,R,FUNC_EXECTIME_1,672,start
-370000100,Core_1,0,C,Core_1,0,execute
-370000100,TASK_10MS_DL2,37,C,Core_1,0,execute
-370100000,SIM,-1,STI,TIMER-5MS,185,trigger
-370100000,TIMER-5MS,185,T,TASK_5MS,185,activate
-370100000,TASK_5MS,185,SCHED,SCHED_Tasks_C2,-1,processactivate
-370100100,TASK_5MS,185,STI,IR_SCHED_Tasks_C2,1192,trigger
-370100100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-370125100,TASK_WritingActuator,185,SEM,SEM_DataElement1,0,requestsemaphore,0
-370125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-370125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-370125100,Core_2,0,C,Core_2,0,lock
-370125100,TASK_WritingActuator,185,SEM,SEM_DataElement1,0,assigned,1
-370125150,TASK_WritingActuator,185,R,FUNC_SEMLOCK,370,terminate
-370125150,Core_2,0,C,Core_2,0,unlock
-370125150,TASK_WritingActuator,185,R,FUNC_WriteData,185,start
-370150000,SIM,-1,STI,TIMER-A_2ms,185,trigger
-370150000,TIMER-A_2ms,185,T,TASK_InputProcessing,185,activate
-370150000,TASK_InputProcessing,185,SCHED,SCHED_Tasks_C1,-1,processactivate
-370150100,TASK_InputProcessing,185,STI,IR_SCHED_Tasks_C1,1245,trigger
-370150100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-370151400,TASK_WritingActuator,185,SIG,SIG_Mixture,0,write,0
-370151400,TASK_WritingActuator,185,R,FUNC_WriteData,185,terminate
-370151400,TASK_WritingActuator,185,R,FUNC_SEMUNLOCK,370,start
-370250000,SIM,-1,STI,TIMER-1MS,370,trigger
-370250000,TIMER-1MS,370,T,TASK_1MS,370,activate
-370250000,TASK_1MS,370,SCHED,SCHED_Tasks_C1,-1,processactivate
-370250100,TASK_1MS,370,STI,IR_SCHED_Tasks_C1,1246,trigger
-370250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-370250100,TASK_10MS_DL2,37,R,FUNC_EXECTIME_1,672,suspend
-370250100,Core_1,0,T,TASK_10MS_DL2,37,preempt
-370250100,Core_1,0,C,Core_1,0,idle_execution
-370250100,TASK_10MS_DL2,37,C,Core_1,0,idle_execution
-370250100,Core_1,0,T,TASK_1MS,370,start
-370250100,TASK_1MS,370,R,FUNC_EXECTIME_1,674,start
-370250100,Core_1,0,C,Core_1,0,execute
-370250100,TASK_1MS,370,C,Core_1,0,execute
-370351400,TASK_WritingActuator,185,SEM,SEM_DataElement1,0,released,1
-370351400,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-370351400,TASK_WritingActuator,185,SCHED,SCHED_Tasks_C2,-1,schedulepoint
-370351400,Core_2,0,C,Core_2,0,lock
-370351450,TASK_WritingActuator,185,R,FUNC_SEMUNLOCK,370,terminate
-370351450,Core_2,0,T,TASK_WritingActuator,185,terminate
-370351450,TASK_WritingActuator,185,SCHED,SCHED_Tasks_C2,-1,processterminate
-370351450,Core_2,0,C,Core_2,0,unlock
-370351450,Core_2,0,C,Core_2,0,idle
-370351450,TASK_WritingActuator,185,C,Core_2,0,idle
-370351500,TASK_WritingActuator,185,STI,IR_SCHED_Tasks_C2,1193,trigger
-370351500,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-370351500,Core_2,0,T,TASK_5MS,185,start
-370351500,TASK_5MS,185,R,FUNC_EXECTIME_1,673,start
-370351500,Core_2,0,C,Core_2,0,execute
-370351500,TASK_5MS,185,C,Core_2,0,execute
-370763350,TASK_1MS,370,R,FUNC_EXECTIME_1,674,terminate
-370763350,Core_1,0,T,TASK_1MS,370,terminate
-370763350,TASK_1MS,370,SCHED,SCHED_Tasks_C1,-1,processterminate
-370763350,Core_1,0,C,Core_1,0,idle
-370763350,TASK_1MS,370,C,Core_1,0,idle
-370763450,TASK_1MS,370,STI,IR_SCHED_Tasks_C1,1247,trigger
-370763450,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-370763450,Core_1,0,C,Core_1,0,execute_idle
-370763450,TASK_10MS_DL2,37,C,Core_1,0,execute_idle
-370763450,Core_1,0,T,TASK_10MS_DL2,37,resume
-370763450,TASK_10MS_DL2,37,R,FUNC_EXECTIME_1,672,resume
-370765050,TASK_5MS,185,R,FUNC_EXECTIME_1,673,terminate
-370765050,Core_2,0,T,TASK_5MS,185,terminate
-370765050,TASK_5MS,185,SCHED,SCHED_Tasks_C2,-1,processterminate
-370765050,Core_2,0,C,Core_2,0,idle
-370765050,TASK_5MS,185,C,Core_2,0,idle
-370765150,TASK_5MS,185,STI,IR_SCHED_Tasks_C2,1194,trigger
-370765150,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-371250000,SIM,-1,STI,TIMER-1MS,371,trigger
-371250000,TIMER-1MS,371,T,TASK_1MS,371,activate
-371250000,TASK_1MS,371,SCHED,SCHED_Tasks_C1,-1,processactivate
-371250100,TASK_1MS,371,STI,IR_SCHED_Tasks_C1,1248,trigger
-371250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-371250100,TASK_10MS_DL2,37,R,FUNC_EXECTIME_1,672,suspend
-371250100,Core_1,0,T,TASK_10MS_DL2,37,preempt
-371250100,Core_1,0,C,Core_1,0,idle_execution
-371250100,TASK_10MS_DL2,37,C,Core_1,0,idle_execution
-371250100,Core_1,0,T,TASK_1MS,371,start
-371250100,TASK_1MS,371,R,FUNC_EXECTIME_1,675,start
-371250100,Core_1,0,C,Core_1,0,execute
-371250100,TASK_1MS,371,C,Core_1,0,execute
-371914075,TASK_1MS,371,R,FUNC_EXECTIME_1,675,terminate
-371914075,Core_1,0,T,TASK_1MS,371,terminate
-371914075,TASK_1MS,371,SCHED,SCHED_Tasks_C1,-1,processterminate
-371914075,Core_1,0,C,Core_1,0,idle
-371914075,TASK_1MS,371,C,Core_1,0,idle
-371914175,TASK_1MS,371,STI,IR_SCHED_Tasks_C1,1249,trigger
-371914175,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-371914175,Core_1,0,C,Core_1,0,execute_idle
-371914175,TASK_10MS_DL2,37,C,Core_1,0,execute_idle
-371914175,Core_1,0,T,TASK_10MS_DL2,37,resume
-371914175,TASK_10MS_DL2,37,R,FUNC_EXECTIME_1,672,resume
-371964000,TASK_10MS_DL2,37,R,FUNC_EXECTIME_1,672,terminate
-371964000,Core_1,0,T,TASK_10MS_DL2,37,terminate
-371964000,TASK_10MS_DL2,37,SCHED,SCHED_Tasks_C1,-1,processterminate
-371964000,Core_1,0,C,Core_1,0,idle
-371964000,TASK_10MS_DL2,37,C,Core_1,0,idle
-371964100,TASK_10MS_DL2,37,STI,IR_SCHED_Tasks_C1,1250,trigger
-371964100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-371964100,Core_1,0,T,TASK_InputProcessing,185,start
-371964100,TASK_InputProcessing,185,R,FUNC_SEMLOCK,371,start
-371964100,Core_1,0,C,Core_1,0,execute
-371964100,TASK_InputProcessing,185,C,Core_1,0,execute
-372000000,SIM,-1,STI,TIMER-B_2ms,186,trigger
-372000000,TIMER-B_2ms,186,T,TASK_WritingActuator,186,activate
-372000000,TASK_WritingActuator,186,SCHED,SCHED_Tasks_C2,-1,processactivate
-372000100,TASK_WritingActuator,186,STI,IR_SCHED_Tasks_C2,1195,trigger
-372000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-372000100,Core_2,0,T,TASK_WritingActuator,186,start
-372000100,TASK_WritingActuator,186,R,FUNC_SEMLOCK,372,start
-372000100,Core_2,0,C,Core_2,0,execute
-372000100,TASK_WritingActuator,186,C,Core_2,0,execute
-372089100,TASK_InputProcessing,185,SEM,SEM_DataElement1,0,requestsemaphore,0
-372089100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-372089100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-372089100,Core_1,0,C,Core_1,0,lock
-372089100,TASK_InputProcessing,185,SEM,SEM_DataElement1,0,assigned,1
-372089150,TASK_InputProcessing,185,R,FUNC_SEMLOCK,371,terminate
-372089150,Core_1,0,C,Core_1,0,unlock
-372089150,TASK_InputProcessing,185,R,FUNC_ReadSensorData,185,start
-372100000,SIM,-1,STI,TIMER-5MS,186,trigger
-372100000,TIMER-5MS,186,T,TASK_5MS,186,activate
-372100000,TASK_5MS,186,SCHED,SCHED_Tasks_C2,-1,processactivate
-372100100,TASK_5MS,186,STI,IR_SCHED_Tasks_C2,1196,trigger
-372100100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-372125100,TASK_WritingActuator,186,SEM,SEM_DataElement1,0,requestsemaphore,1
-372125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,1
-372125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,overfull,2
-372125100,Core_2,0,C,Core_2,0,lock
-372125100,TASK_WritingActuator,186,SEM,SEM_DataElement1,0,waiting,2
-372125150,Core_2,0,T,TASK_WritingActuator,186,poll
-372125150,TASK_WritingActuator,186,SCHED,SCHED_Tasks_C2,-1,processpolling
-372125150,Core_2,0,C,Core_2,0,wait_postexecution
-372125150,TASK_WritingActuator,186,C,Core_2,0,wait_postexecution
-372125150,Core_2,0,C,Core_2,0,unlock
-372150000,SIM,-1,STI,TIMER-A_2ms,186,trigger
-372150000,TIMER-A_2ms,186,T,TASK_InputProcessing,186,activate
-372150000,TASK_InputProcessing,186,SCHED,SCHED_Tasks_C1,-1,processactivate
-372150100,TASK_InputProcessing,186,STI,IR_SCHED_Tasks_C1,1251,trigger
-372150100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-372249700,TASK_InputProcessing,185,SIG,SIG_RotationSpeed,0,read,0
-372249700,TASK_InputProcessing,185,SIG,SIG_Lambda,0,read,0
-372249700,TASK_InputProcessing,185,SIG,SIG_Temperature,0,read,0
-372249700,TASK_InputProcessing,185,R,FUNC_ReadSensorData,185,terminate
-372249700,TASK_InputProcessing,185,R,FUNC_SEMUNLOCK,371,start
-372250000,SIM,-1,STI,TIMER-1MS,372,trigger
-372250000,TIMER-1MS,372,T,TASK_1MS,372,activate
-372250000,TASK_1MS,372,SCHED,SCHED_Tasks_C1,-1,processactivate
-372250100,TASK_1MS,372,STI,IR_SCHED_Tasks_C1,1252,trigger
-372250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-372449700,TASK_InputProcessing,185,SEM,SEM_DataElement1,0,released,2
-372449700,TASK_WritingActuator,186,SEM,SEM_DataElement1,0,assigned,1
-372449700,Core_2,0,T,TASK_WritingActuator,186,run
-372449700,TASK_WritingActuator,186,R,FUNC_SEMLOCK,372,terminate
-372449700,TASK_WritingActuator,186,R,FUNC_WriteData,186,start
-372449700,Core_2,0,C,Core_2,0,execute_waiting
-372449700,TASK_WritingActuator,186,C,Core_2,0,execute_waiting
-372449700,SEM_DataElement1,0,SEM,SEM_DataElement1,0,full,1
-372449700,TASK_InputProcessing,185,SCHED,SCHED_Tasks_C1,-1,schedulepoint
-372449700,Core_1,0,C,Core_1,0,lock
-372449750,TASK_InputProcessing,185,R,FUNC_SEMUNLOCK,371,terminate
-372449750,Core_1,0,C,Core_1,0,unlock
-372449750,TASK_InputProcessing,185,STI,IPA_InputReady,185,trigger
-372449750,IPA_InputReady,185,T,TASK_CalcEngineSpeed,185,activate
-372449750,TASK_CalcEngineSpeed,185,SCHED,SCHED_Tasks_C2,-1,processactivate
-372449750,Core_1,0,T,TASK_InputProcessing,185,terminate
-372449750,TASK_InputProcessing,185,SCHED,SCHED_Tasks_C1,-1,processterminate
-372449750,Core_1,0,C,Core_1,0,idle
-372449750,TASK_InputProcessing,185,C,Core_1,0,idle
-372449800,TASK_InputProcessing,185,STI,IR_SCHED_Tasks_C1,1253,trigger
-372449800,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-372449800,Core_1,0,T,TASK_1MS,372,start
-372449800,TASK_1MS,372,R,FUNC_EXECTIME_1,677,start
-372449800,Core_1,0,C,Core_1,0,execute
-372449800,TASK_1MS,372,C,Core_1,0,execute
-372449850,TASK_CalcEngineSpeed,185,STI,IR_SCHED_Tasks_C2,1197,trigger
-372449850,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-372476150,TASK_WritingActuator,186,SIG,SIG_Mixture,0,write,0
-372476150,TASK_WritingActuator,186,R,FUNC_WriteData,186,terminate
-372476150,TASK_WritingActuator,186,R,FUNC_SEMUNLOCK,372,start
-372676150,TASK_WritingActuator,186,SEM,SEM_DataElement1,0,released,1
-372676150,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-372676150,TASK_WritingActuator,186,SCHED,SCHED_Tasks_C2,-1,schedulepoint
-372676150,Core_2,0,C,Core_2,0,lock
-372676200,TASK_WritingActuator,186,R,FUNC_SEMUNLOCK,372,terminate
-372676200,Core_2,0,T,TASK_WritingActuator,186,terminate
-372676200,TASK_WritingActuator,186,SCHED,SCHED_Tasks_C2,-1,processterminate
-372676200,Core_2,0,C,Core_2,0,unlock
-372676200,Core_2,0,C,Core_2,0,idle
-372676200,TASK_WritingActuator,186,C,Core_2,0,idle
-372676250,TASK_WritingActuator,186,STI,IR_SCHED_Tasks_C2,1198,trigger
-372676250,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-372676250,Core_2,0,T,TASK_CalcEngineSpeed,185,start
-372676250,TASK_CalcEngineSpeed,185,R,FUNC_ENGINESPEED,185,start
-372676250,Core_2,0,C,Core_2,0,execute
-372676250,TASK_CalcEngineSpeed,185,C,Core_2,0,execute
-372788425,TASK_CalcEngineSpeed,185,R,FUNC_ENGINESPEED,185,terminate
-372788425,Core_2,0,T,TASK_CalcEngineSpeed,185,terminate
-372788425,TASK_CalcEngineSpeed,185,SCHED,SCHED_Tasks_C2,-1,processterminate
-372788425,Core_2,0,C,Core_2,0,idle
-372788425,TASK_CalcEngineSpeed,185,C,Core_2,0,idle
-372788525,TASK_CalcEngineSpeed,185,STI,IR_SCHED_Tasks_C2,1199,trigger
-372788525,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-372788525,Core_2,0,T,TASK_5MS,186,start
-372788525,TASK_5MS,186,R,FUNC_EXECTIME_1,676,start
-372788525,Core_2,0,C,Core_2,0,execute
-372788525,TASK_5MS,186,C,Core_2,0,execute
-372956400,TASK_1MS,372,R,FUNC_EXECTIME_1,677,terminate
-372956400,Core_1,0,T,TASK_1MS,372,terminate
-372956400,TASK_1MS,372,SCHED,SCHED_Tasks_C1,-1,processterminate
-372956400,Core_1,0,C,Core_1,0,idle
-372956400,TASK_1MS,372,C,Core_1,0,idle
-372956500,TASK_1MS,372,STI,IR_SCHED_Tasks_C1,1254,trigger
-372956500,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-372956500,Core_1,0,T,TASK_InputProcessing,186,start
-372956500,TASK_InputProcessing,186,R,FUNC_SEMLOCK,373,start
-372956500,Core_1,0,C,Core_1,0,execute
-372956500,TASK_InputProcessing,186,C,Core_1,0,execute
-373081500,TASK_InputProcessing,186,SEM,SEM_DataElement1,0,requestsemaphore,0
-373081500,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-373081500,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-373081500,Core_1,0,C,Core_1,0,lock
-373081500,TASK_InputProcessing,186,SEM,SEM_DataElement1,0,assigned,1
-373081550,TASK_InputProcessing,186,R,FUNC_SEMLOCK,373,terminate
-373081550,Core_1,0,C,Core_1,0,unlock
-373081550,TASK_InputProcessing,186,R,FUNC_ReadSensorData,186,start
-373096025,TASK_5MS,186,R,FUNC_EXECTIME_1,676,terminate
-373096025,Core_2,0,T,TASK_5MS,186,terminate
-373096025,TASK_5MS,186,SCHED,SCHED_Tasks_C2,-1,processterminate
-373096025,Core_2,0,C,Core_2,0,idle
-373096025,TASK_5MS,186,C,Core_2,0,idle
-373096125,TASK_5MS,186,STI,IR_SCHED_Tasks_C2,1200,trigger
-373096125,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-373242000,TASK_InputProcessing,186,SIG,SIG_RotationSpeed,0,read,0
-373242000,TASK_InputProcessing,186,SIG,SIG_Lambda,0,read,0
-373242000,TASK_InputProcessing,186,SIG,SIG_Temperature,0,read,0
-373242000,TASK_InputProcessing,186,R,FUNC_ReadSensorData,186,terminate
-373242000,TASK_InputProcessing,186,R,FUNC_SEMUNLOCK,373,start
-373250000,SIM,-1,STI,TIMER-1MS,373,trigger
-373250000,TIMER-1MS,373,T,TASK_1MS,373,activate
-373250000,TASK_1MS,373,SCHED,SCHED_Tasks_C1,-1,processactivate
-373250100,TASK_1MS,373,STI,IR_SCHED_Tasks_C1,1255,trigger
-373250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-373442000,TASK_InputProcessing,186,SEM,SEM_DataElement1,0,released,1
-373442000,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-373442000,TASK_InputProcessing,186,SCHED,SCHED_Tasks_C1,-1,schedulepoint
-373442000,Core_1,0,C,Core_1,0,lock
-373442050,TASK_InputProcessing,186,R,FUNC_SEMUNLOCK,373,terminate
-373442050,Core_1,0,C,Core_1,0,unlock
-373442050,TASK_InputProcessing,186,STI,IPA_InputReady,186,trigger
-373442050,IPA_InputReady,186,T,TASK_CalcEngineSpeed,186,activate
-373442050,TASK_CalcEngineSpeed,186,SCHED,SCHED_Tasks_C2,-1,processactivate
-373442050,Core_1,0,T,TASK_InputProcessing,186,terminate
-373442050,TASK_InputProcessing,186,SCHED,SCHED_Tasks_C1,-1,processterminate
-373442050,Core_1,0,C,Core_1,0,idle
-373442050,TASK_InputProcessing,186,C,Core_1,0,idle
-373442100,TASK_InputProcessing,186,STI,IR_SCHED_Tasks_C1,1256,trigger
-373442100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-373442100,Core_1,0,T,TASK_1MS,373,start
-373442100,TASK_1MS,373,R,FUNC_EXECTIME_1,678,start
-373442100,Core_1,0,C,Core_1,0,execute
-373442100,TASK_1MS,373,C,Core_1,0,execute
-373442150,TASK_CalcEngineSpeed,186,STI,IR_SCHED_Tasks_C2,1201,trigger
-373442150,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-373442150,Core_2,0,T,TASK_CalcEngineSpeed,186,start
-373442150,TASK_CalcEngineSpeed,186,R,FUNC_ENGINESPEED,186,start
-373442150,Core_2,0,C,Core_2,0,execute
-373442150,TASK_CalcEngineSpeed,186,C,Core_2,0,execute
-373553350,TASK_CalcEngineSpeed,186,R,FUNC_ENGINESPEED,186,terminate
-373553350,Core_2,0,T,TASK_CalcEngineSpeed,186,terminate
-373553350,TASK_CalcEngineSpeed,186,SCHED,SCHED_Tasks_C2,-1,processterminate
-373553350,Core_2,0,C,Core_2,0,idle
-373553350,TASK_CalcEngineSpeed,186,C,Core_2,0,idle
-373553450,TASK_CalcEngineSpeed,186,STI,IR_SCHED_Tasks_C2,1202,trigger
-373553450,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-373883300,TASK_1MS,373,R,FUNC_EXECTIME_1,678,terminate
-373883300,Core_1,0,T,TASK_1MS,373,terminate
-373883300,TASK_1MS,373,SCHED,SCHED_Tasks_C1,-1,processterminate
-373883300,Core_1,0,C,Core_1,0,idle
-373883300,TASK_1MS,373,C,Core_1,0,idle
-373883400,TASK_1MS,373,STI,IR_SCHED_Tasks_C1,1257,trigger
-373883400,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-374000000,SIM,-1,STI,TIMER-B_2ms,187,trigger
-374000000,TIMER-B_2ms,187,T,TASK_WritingActuator,187,activate
-374000000,TASK_WritingActuator,187,SCHED,SCHED_Tasks_C2,-1,processactivate
-374000100,TASK_WritingActuator,187,STI,IR_SCHED_Tasks_C2,1203,trigger
-374000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-374000100,Core_2,0,T,TASK_WritingActuator,187,start
-374000100,TASK_WritingActuator,187,R,FUNC_SEMLOCK,374,start
-374000100,Core_2,0,C,Core_2,0,execute
-374000100,TASK_WritingActuator,187,C,Core_2,0,execute
-374100000,SIM,-1,STI,TIMER-5MS,187,trigger
-374100000,TIMER-5MS,187,T,TASK_5MS,187,activate
-374100000,TASK_5MS,187,SCHED,SCHED_Tasks_C2,-1,processactivate
-374100100,TASK_5MS,187,STI,IR_SCHED_Tasks_C2,1204,trigger
-374100100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-374125100,TASK_WritingActuator,187,SEM,SEM_DataElement1,0,requestsemaphore,0
-374125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-374125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-374125100,Core_2,0,C,Core_2,0,lock
-374125100,TASK_WritingActuator,187,SEM,SEM_DataElement1,0,assigned,1
-374125150,TASK_WritingActuator,187,R,FUNC_SEMLOCK,374,terminate
-374125150,Core_2,0,C,Core_2,0,unlock
-374125150,TASK_WritingActuator,187,R,FUNC_WriteData,187,start
-374150000,SIM,-1,STI,TIMER-A_2ms,187,trigger
-374150000,TIMER-A_2ms,187,T,TASK_InputProcessing,187,activate
-374150000,TASK_InputProcessing,187,SCHED,SCHED_Tasks_C1,-1,processactivate
-374150100,TASK_InputProcessing,187,STI,IR_SCHED_Tasks_C1,1258,trigger
-374150100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-374150100,Core_1,0,T,TASK_InputProcessing,187,start
-374150100,TASK_InputProcessing,187,R,FUNC_SEMLOCK,375,start
-374150100,Core_1,0,C,Core_1,0,execute
-374150100,TASK_InputProcessing,187,C,Core_1,0,execute
-374152275,TASK_WritingActuator,187,SIG,SIG_Mixture,0,write,0
-374152275,TASK_WritingActuator,187,R,FUNC_WriteData,187,terminate
-374152275,TASK_WritingActuator,187,R,FUNC_SEMUNLOCK,374,start
-374250000,SIM,-1,STI,TIMER-1MS,374,trigger
-374250000,TIMER-1MS,374,T,TASK_1MS,374,activate
-374250000,TASK_1MS,374,SCHED,SCHED_Tasks_C1,-1,processactivate
-374250100,TASK_1MS,374,STI,IR_SCHED_Tasks_C1,1259,trigger
-374250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-374250100,TASK_InputProcessing,187,R,FUNC_SEMLOCK,375,suspend
-374250100,Core_1,0,T,TASK_InputProcessing,187,preempt
-374250100,Core_1,0,C,Core_1,0,idle_execution
-374250100,TASK_InputProcessing,187,C,Core_1,0,idle_execution
-374250100,Core_1,0,T,TASK_1MS,374,start
-374250100,TASK_1MS,374,R,FUNC_EXECTIME_1,680,start
-374250100,Core_1,0,C,Core_1,0,execute
-374250100,TASK_1MS,374,C,Core_1,0,execute
-374352275,TASK_WritingActuator,187,SEM,SEM_DataElement1,0,released,1
-374352275,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-374352275,TASK_WritingActuator,187,SCHED,SCHED_Tasks_C2,-1,schedulepoint
-374352275,Core_2,0,C,Core_2,0,lock
-374352325,TASK_WritingActuator,187,R,FUNC_SEMUNLOCK,374,terminate
-374352325,Core_2,0,T,TASK_WritingActuator,187,terminate
-374352325,TASK_WritingActuator,187,SCHED,SCHED_Tasks_C2,-1,processterminate
-374352325,Core_2,0,C,Core_2,0,unlock
-374352325,Core_2,0,C,Core_2,0,idle
-374352325,TASK_WritingActuator,187,C,Core_2,0,idle
-374352375,TASK_WritingActuator,187,STI,IR_SCHED_Tasks_C2,1205,trigger
-374352375,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-374352375,Core_2,0,T,TASK_5MS,187,start
-374352375,TASK_5MS,187,R,FUNC_EXECTIME_1,679,start
-374352375,Core_2,0,C,Core_2,0,execute
-374352375,TASK_5MS,187,C,Core_2,0,execute
-374709975,TASK_1MS,374,R,FUNC_EXECTIME_1,680,terminate
-374709975,Core_1,0,T,TASK_1MS,374,terminate
-374709975,TASK_1MS,374,SCHED,SCHED_Tasks_C1,-1,processterminate
-374709975,Core_1,0,C,Core_1,0,idle
-374709975,TASK_1MS,374,C,Core_1,0,idle
-374710075,TASK_1MS,374,STI,IR_SCHED_Tasks_C1,1260,trigger
-374710075,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-374710075,Core_1,0,C,Core_1,0,execute_idle
-374710075,TASK_InputProcessing,187,C,Core_1,0,execute_idle
-374710075,Core_1,0,T,TASK_InputProcessing,187,resume
-374710075,TASK_InputProcessing,187,R,FUNC_SEMLOCK,375,resume
-374735075,TASK_InputProcessing,187,SEM,SEM_DataElement1,0,requestsemaphore,0
-374735075,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-374735075,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-374735075,Core_1,0,C,Core_1,0,lock
-374735075,TASK_InputProcessing,187,SEM,SEM_DataElement1,0,assigned,1
-374735125,TASK_InputProcessing,187,R,FUNC_SEMLOCK,375,terminate
-374735125,Core_1,0,C,Core_1,0,unlock
-374735125,TASK_InputProcessing,187,R,FUNC_ReadSensorData,187,start
-374897050,TASK_InputProcessing,187,SIG,SIG_RotationSpeed,0,read,0
-374897050,TASK_InputProcessing,187,SIG,SIG_Lambda,0,read,0
-374897050,TASK_InputProcessing,187,SIG,SIG_Temperature,0,read,0
-374897050,TASK_InputProcessing,187,R,FUNC_ReadSensorData,187,terminate
-374897050,TASK_InputProcessing,187,R,FUNC_SEMUNLOCK,375,start
-375000000,SIM,-1,STI,TIMER-10MS,37,trigger
-375000000,TIMER-10MS,37,T,TASK_10MS,37,activate
-375000000,TASK_10MS,37,SCHED,SCHED_Tasks_C2,-1,processactivate
-375000100,TASK_10MS,37,STI,IR_SCHED_Tasks_C2,1206,trigger
-375000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-375039700,TASK_5MS,187,R,FUNC_EXECTIME_1,679,terminate
-375039700,Core_2,0,T,TASK_5MS,187,terminate
-375039700,TASK_5MS,187,SCHED,SCHED_Tasks_C2,-1,processterminate
-375039700,Core_2,0,C,Core_2,0,idle
-375039700,TASK_5MS,187,C,Core_2,0,idle
-375039800,TASK_5MS,187,STI,IR_SCHED_Tasks_C2,1207,trigger
-375039800,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-375039800,Core_2,0,T,TASK_10MS,37,start
-375039800,TASK_10MS,37,R,FUNC_EXECTIME_1,681,start
-375039800,Core_2,0,C,Core_2,0,execute
-375039800,TASK_10MS,37,C,Core_2,0,execute
-375097050,TASK_InputProcessing,187,SEM,SEM_DataElement1,0,released,1
-375097050,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-375097050,TASK_InputProcessing,187,SCHED,SCHED_Tasks_C1,-1,schedulepoint
-375097050,Core_1,0,C,Core_1,0,lock
-375097100,TASK_InputProcessing,187,R,FUNC_SEMUNLOCK,375,terminate
-375097100,Core_1,0,C,Core_1,0,unlock
-375097100,TASK_InputProcessing,187,STI,IPA_InputReady,187,trigger
-375097100,IPA_InputReady,187,T,TASK_CalcEngineSpeed,187,activate
-375097100,TASK_CalcEngineSpeed,187,SCHED,SCHED_Tasks_C2,-1,processactivate
-375097100,Core_1,0,T,TASK_InputProcessing,187,terminate
-375097100,TASK_InputProcessing,187,SCHED,SCHED_Tasks_C1,-1,processterminate
-375097100,Core_1,0,C,Core_1,0,idle
-375097100,TASK_InputProcessing,187,C,Core_1,0,idle
-375097150,TASK_InputProcessing,187,STI,IR_SCHED_Tasks_C1,1261,trigger
-375097150,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-375097200,TASK_CalcEngineSpeed,187,STI,IR_SCHED_Tasks_C2,1208,trigger
-375097200,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-375097200,TASK_10MS,37,R,FUNC_EXECTIME_1,681,suspend
-375097200,Core_2,0,T,TASK_10MS,37,preempt
-375097200,Core_2,0,C,Core_2,0,idle_execution
-375097200,TASK_10MS,37,C,Core_2,0,idle_execution
-375097200,Core_2,0,T,TASK_CalcEngineSpeed,187,start
-375097200,TASK_CalcEngineSpeed,187,R,FUNC_ENGINESPEED,187,start
-375097200,Core_2,0,C,Core_2,0,execute
-375097200,TASK_CalcEngineSpeed,187,C,Core_2,0,execute
-375241700,TASK_CalcEngineSpeed,187,R,FUNC_ENGINESPEED,187,terminate
-375241700,Core_2,0,T,TASK_CalcEngineSpeed,187,terminate
-375241700,TASK_CalcEngineSpeed,187,SCHED,SCHED_Tasks_C2,-1,processterminate
-375241700,Core_2,0,C,Core_2,0,idle
-375241700,TASK_CalcEngineSpeed,187,C,Core_2,0,idle
-375241800,TASK_CalcEngineSpeed,187,STI,IR_SCHED_Tasks_C2,1209,trigger
-375241800,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-375241800,Core_2,0,C,Core_2,0,execute_idle
-375241800,TASK_10MS,37,C,Core_2,0,execute_idle
-375241800,Core_2,0,T,TASK_10MS,37,resume
-375241800,TASK_10MS,37,R,FUNC_EXECTIME_1,681,resume
-375250000,SIM,-1,STI,TIMER-1MS,375,trigger
-375250000,TIMER-1MS,375,T,TASK_1MS,375,activate
-375250000,TASK_1MS,375,SCHED,SCHED_Tasks_C1,-1,processactivate
-375250100,TASK_1MS,375,STI,IR_SCHED_Tasks_C1,1262,trigger
-375250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-375250100,Core_1,0,T,TASK_1MS,375,start
-375250100,TASK_1MS,375,R,FUNC_EXECTIME_1,682,start
-375250100,Core_1,0,C,Core_1,0,execute
-375250100,TASK_1MS,375,C,Core_1,0,execute
-375462475,TASK_10MS,37,R,FUNC_EXECTIME_1,681,terminate
-375462475,Core_2,0,T,TASK_10MS,37,terminate
-375462475,TASK_10MS,37,SCHED,SCHED_Tasks_C2,-1,processterminate
-375462475,Core_2,0,C,Core_2,0,idle
-375462475,TASK_10MS,37,C,Core_2,0,idle
-375462575,TASK_10MS,37,STI,IR_SCHED_Tasks_C2,1210,trigger
-375462575,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-375669375,TASK_1MS,375,R,FUNC_EXECTIME_1,682,terminate
-375669375,Core_1,0,T,TASK_1MS,375,terminate
-375669375,TASK_1MS,375,SCHED,SCHED_Tasks_C1,-1,processterminate
-375669375,Core_1,0,C,Core_1,0,idle
-375669375,TASK_1MS,375,C,Core_1,0,idle
-375669475,TASK_1MS,375,STI,IR_SCHED_Tasks_C1,1263,trigger
-375669475,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-376000000,SIM,-1,STI,TIMER-B_2ms,188,trigger
-376000000,TIMER-B_2ms,188,T,TASK_WritingActuator,188,activate
-376000000,TASK_WritingActuator,188,SCHED,SCHED_Tasks_C2,-1,processactivate
-376000100,TASK_WritingActuator,188,STI,IR_SCHED_Tasks_C2,1211,trigger
-376000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-376000100,Core_2,0,T,TASK_WritingActuator,188,start
-376000100,TASK_WritingActuator,188,R,FUNC_SEMLOCK,376,start
-376000100,Core_2,0,C,Core_2,0,execute
-376000100,TASK_WritingActuator,188,C,Core_2,0,execute
-376100000,SIM,-1,STI,TIMER-5MS,188,trigger
-376100000,TIMER-5MS,188,T,TASK_5MS,188,activate
-376100000,TASK_5MS,188,SCHED,SCHED_Tasks_C2,-1,processactivate
-376100100,TASK_5MS,188,STI,IR_SCHED_Tasks_C2,1212,trigger
-376100100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-376125100,TASK_WritingActuator,188,SEM,SEM_DataElement1,0,requestsemaphore,0
-376125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-376125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-376125100,Core_2,0,C,Core_2,0,lock
-376125100,TASK_WritingActuator,188,SEM,SEM_DataElement1,0,assigned,1
-376125150,TASK_WritingActuator,188,R,FUNC_SEMLOCK,376,terminate
-376125150,Core_2,0,C,Core_2,0,unlock
-376125150,TASK_WritingActuator,188,R,FUNC_WriteData,188,start
-376150000,SIM,-1,STI,TIMER-A_2ms,188,trigger
-376150000,TIMER-A_2ms,188,T,TASK_InputProcessing,188,activate
-376150000,TASK_InputProcessing,188,SCHED,SCHED_Tasks_C1,-1,processactivate
-376150100,TASK_InputProcessing,188,STI,IR_SCHED_Tasks_C1,1264,trigger
-376150100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-376150100,Core_1,0,T,TASK_InputProcessing,188,start
-376150100,TASK_InputProcessing,188,R,FUNC_SEMLOCK,377,start
-376150100,Core_1,0,C,Core_1,0,execute
-376150100,TASK_InputProcessing,188,C,Core_1,0,execute
-376151875,TASK_WritingActuator,188,SIG,SIG_Mixture,0,write,0
-376151875,TASK_WritingActuator,188,R,FUNC_WriteData,188,terminate
-376151875,TASK_WritingActuator,188,R,FUNC_SEMUNLOCK,376,start
-376250000,SIM,-1,STI,TIMER-1MS,376,trigger
-376250000,TIMER-1MS,376,T,TASK_1MS,376,activate
-376250000,TASK_1MS,376,SCHED,SCHED_Tasks_C1,-1,processactivate
-376250100,TASK_1MS,376,STI,IR_SCHED_Tasks_C1,1265,trigger
-376250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-376250100,TASK_InputProcessing,188,R,FUNC_SEMLOCK,377,suspend
-376250100,Core_1,0,T,TASK_InputProcessing,188,preempt
-376250100,Core_1,0,C,Core_1,0,idle_execution
-376250100,TASK_InputProcessing,188,C,Core_1,0,idle_execution
-376250100,Core_1,0,T,TASK_1MS,376,start
-376250100,TASK_1MS,376,R,FUNC_EXECTIME_1,684,start
-376250100,Core_1,0,C,Core_1,0,execute
-376250100,TASK_1MS,376,C,Core_1,0,execute
-376351875,TASK_WritingActuator,188,SEM,SEM_DataElement1,0,released,1
-376351875,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-376351875,TASK_WritingActuator,188,SCHED,SCHED_Tasks_C2,-1,schedulepoint
-376351875,Core_2,0,C,Core_2,0,lock
-376351925,TASK_WritingActuator,188,R,FUNC_SEMUNLOCK,376,terminate
-376351925,Core_2,0,T,TASK_WritingActuator,188,terminate
-376351925,TASK_WritingActuator,188,SCHED,SCHED_Tasks_C2,-1,processterminate
-376351925,Core_2,0,C,Core_2,0,unlock
-376351925,Core_2,0,C,Core_2,0,idle
-376351925,TASK_WritingActuator,188,C,Core_2,0,idle
-376351975,TASK_WritingActuator,188,STI,IR_SCHED_Tasks_C2,1213,trigger
-376351975,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-376351975,Core_2,0,T,TASK_5MS,188,start
-376351975,TASK_5MS,188,R,FUNC_EXECTIME_1,683,start
-376351975,Core_2,0,C,Core_2,0,execute
-376351975,TASK_5MS,188,C,Core_2,0,execute
-376599825,TASK_1MS,376,R,FUNC_EXECTIME_1,684,terminate
-376599825,Core_1,0,T,TASK_1MS,376,terminate
-376599825,TASK_1MS,376,SCHED,SCHED_Tasks_C1,-1,processterminate
-376599825,Core_1,0,C,Core_1,0,idle
-376599825,TASK_1MS,376,C,Core_1,0,idle
-376599925,TASK_1MS,376,STI,IR_SCHED_Tasks_C1,1266,trigger
-376599925,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-376599925,Core_1,0,C,Core_1,0,execute_idle
-376599925,TASK_InputProcessing,188,C,Core_1,0,execute_idle
-376599925,Core_1,0,T,TASK_InputProcessing,188,resume
-376599925,TASK_InputProcessing,188,R,FUNC_SEMLOCK,377,resume
-376624925,TASK_InputProcessing,188,SEM,SEM_DataElement1,0,requestsemaphore,0
-376624925,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-376624925,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-376624925,Core_1,0,C,Core_1,0,lock
-376624925,TASK_InputProcessing,188,SEM,SEM_DataElement1,0,assigned,1
-376624975,TASK_InputProcessing,188,R,FUNC_SEMLOCK,377,terminate
-376624975,Core_1,0,C,Core_1,0,unlock
-376624975,TASK_InputProcessing,188,R,FUNC_ReadSensorData,188,start
-376633450,TASK_5MS,188,R,FUNC_EXECTIME_1,683,terminate
-376633450,Core_2,0,T,TASK_5MS,188,terminate
-376633450,TASK_5MS,188,SCHED,SCHED_Tasks_C2,-1,processterminate
-376633450,Core_2,0,C,Core_2,0,idle
-376633450,TASK_5MS,188,C,Core_2,0,idle
-376633550,TASK_5MS,188,STI,IR_SCHED_Tasks_C2,1214,trigger
-376633550,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-376785725,TASK_InputProcessing,188,SIG,SIG_RotationSpeed,0,read,0
-376785725,TASK_InputProcessing,188,SIG,SIG_Lambda,0,read,0
-376785725,TASK_InputProcessing,188,SIG,SIG_Temperature,0,read,0
-376785725,TASK_InputProcessing,188,R,FUNC_ReadSensorData,188,terminate
-376785725,TASK_InputProcessing,188,R,FUNC_SEMUNLOCK,377,start
-376985725,TASK_InputProcessing,188,SEM,SEM_DataElement1,0,released,1
-376985725,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-376985725,TASK_InputProcessing,188,SCHED,SCHED_Tasks_C1,-1,schedulepoint
-376985725,Core_1,0,C,Core_1,0,lock
-376985775,TASK_InputProcessing,188,R,FUNC_SEMUNLOCK,377,terminate
-376985775,Core_1,0,C,Core_1,0,unlock
-376985775,TASK_InputProcessing,188,STI,IPA_InputReady,188,trigger
-376985775,IPA_InputReady,188,T,TASK_CalcEngineSpeed,188,activate
-376985775,TASK_CalcEngineSpeed,188,SCHED,SCHED_Tasks_C2,-1,processactivate
-376985775,Core_1,0,T,TASK_InputProcessing,188,terminate
-376985775,TASK_InputProcessing,188,SCHED,SCHED_Tasks_C1,-1,processterminate
-376985775,Core_1,0,C,Core_1,0,idle
-376985775,TASK_InputProcessing,188,C,Core_1,0,idle
-376985825,TASK_InputProcessing,188,STI,IR_SCHED_Tasks_C1,1267,trigger
-376985825,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-376985875,TASK_CalcEngineSpeed,188,STI,IR_SCHED_Tasks_C2,1215,trigger
-376985875,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-376985875,Core_2,0,T,TASK_CalcEngineSpeed,188,start
-376985875,TASK_CalcEngineSpeed,188,R,FUNC_ENGINESPEED,188,start
-376985875,Core_2,0,C,Core_2,0,execute
-376985875,TASK_CalcEngineSpeed,188,C,Core_2,0,execute
-377100625,TASK_CalcEngineSpeed,188,R,FUNC_ENGINESPEED,188,terminate
-377100625,Core_2,0,T,TASK_CalcEngineSpeed,188,terminate
-377100625,TASK_CalcEngineSpeed,188,SCHED,SCHED_Tasks_C2,-1,processterminate
-377100625,Core_2,0,C,Core_2,0,idle
-377100625,TASK_CalcEngineSpeed,188,C,Core_2,0,idle
-377100725,TASK_CalcEngineSpeed,188,STI,IR_SCHED_Tasks_C2,1216,trigger
-377100725,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-377250000,SIM,-1,STI,TIMER-1MS,377,trigger
-377250000,TIMER-1MS,377,T,TASK_1MS,377,activate
-377250000,TASK_1MS,377,SCHED,SCHED_Tasks_C1,-1,processactivate
-377250100,TASK_1MS,377,STI,IR_SCHED_Tasks_C1,1268,trigger
-377250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-377250100,Core_1,0,T,TASK_1MS,377,start
-377250100,TASK_1MS,377,R,FUNC_EXECTIME_1,685,start
-377250100,Core_1,0,C,Core_1,0,execute
-377250100,TASK_1MS,377,C,Core_1,0,execute
-377505325,TASK_1MS,377,R,FUNC_EXECTIME_1,685,terminate
-377505325,Core_1,0,T,TASK_1MS,377,terminate
-377505325,TASK_1MS,377,SCHED,SCHED_Tasks_C1,-1,processterminate
-377505325,Core_1,0,C,Core_1,0,idle
-377505325,TASK_1MS,377,C,Core_1,0,idle
-377505425,TASK_1MS,377,STI,IR_SCHED_Tasks_C1,1269,trigger
-377505425,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-378000000,SIM,-1,STI,TIMER-B_2ms,189,trigger
-378000000,TIMER-B_2ms,189,T,TASK_WritingActuator,189,activate
-378000000,TASK_WritingActuator,189,SCHED,SCHED_Tasks_C2,-1,processactivate
-378000100,TASK_WritingActuator,189,STI,IR_SCHED_Tasks_C2,1217,trigger
-378000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-378000100,Core_2,0,T,TASK_WritingActuator,189,start
-378000100,TASK_WritingActuator,189,R,FUNC_SEMLOCK,378,start
-378000100,Core_2,0,C,Core_2,0,execute
-378000100,TASK_WritingActuator,189,C,Core_2,0,execute
-378100000,SIM,-1,STI,TIMER-5MS,189,trigger
-378100000,TIMER-5MS,189,T,TASK_5MS,189,activate
-378100000,TASK_5MS,189,SCHED,SCHED_Tasks_C2,-1,processactivate
-378100100,TASK_5MS,189,STI,IR_SCHED_Tasks_C2,1218,trigger
-378100100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-378125100,TASK_WritingActuator,189,SEM,SEM_DataElement1,0,requestsemaphore,0
-378125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-378125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-378125100,Core_2,0,C,Core_2,0,lock
-378125100,TASK_WritingActuator,189,SEM,SEM_DataElement1,0,assigned,1
-378125150,TASK_WritingActuator,189,R,FUNC_SEMLOCK,378,terminate
-378125150,Core_2,0,C,Core_2,0,unlock
-378125150,TASK_WritingActuator,189,R,FUNC_WriteData,189,start
-378150000,SIM,-1,STI,TIMER-A_2ms,189,trigger
-378150000,TIMER-A_2ms,189,T,TASK_InputProcessing,189,activate
-378150000,TASK_InputProcessing,189,SCHED,SCHED_Tasks_C1,-1,processactivate
-378150100,TASK_InputProcessing,189,STI,IR_SCHED_Tasks_C1,1270,trigger
-378150100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-378150100,Core_1,0,T,TASK_InputProcessing,189,start
-378150100,TASK_InputProcessing,189,R,FUNC_SEMLOCK,379,start
-378150100,Core_1,0,C,Core_1,0,execute
-378150100,TASK_InputProcessing,189,C,Core_1,0,execute
-378152100,TASK_WritingActuator,189,SIG,SIG_Mixture,0,write,0
-378152100,TASK_WritingActuator,189,R,FUNC_WriteData,189,terminate
-378152100,TASK_WritingActuator,189,R,FUNC_SEMUNLOCK,378,start
-378250000,SIM,-1,STI,TIMER-1MS,378,trigger
-378250000,TIMER-1MS,378,T,TASK_1MS,378,activate
-378250000,TASK_1MS,378,SCHED,SCHED_Tasks_C1,-1,processactivate
-378250100,TASK_1MS,378,STI,IR_SCHED_Tasks_C1,1271,trigger
-378250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-378250100,TASK_InputProcessing,189,R,FUNC_SEMLOCK,379,suspend
-378250100,Core_1,0,T,TASK_InputProcessing,189,preempt
-378250100,Core_1,0,C,Core_1,0,idle_execution
-378250100,TASK_InputProcessing,189,C,Core_1,0,idle_execution
-378250100,Core_1,0,T,TASK_1MS,378,start
-378250100,TASK_1MS,378,R,FUNC_EXECTIME_1,687,start
-378250100,Core_1,0,C,Core_1,0,execute
-378250100,TASK_1MS,378,C,Core_1,0,execute
-378352100,TASK_WritingActuator,189,SEM,SEM_DataElement1,0,released,1
-378352100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-378352100,TASK_WritingActuator,189,SCHED,SCHED_Tasks_C2,-1,schedulepoint
-378352100,Core_2,0,C,Core_2,0,lock
-378352150,TASK_WritingActuator,189,R,FUNC_SEMUNLOCK,378,terminate
-378352150,Core_2,0,T,TASK_WritingActuator,189,terminate
-378352150,TASK_WritingActuator,189,SCHED,SCHED_Tasks_C2,-1,processterminate
-378352150,Core_2,0,C,Core_2,0,unlock
-378352150,Core_2,0,C,Core_2,0,idle
-378352150,TASK_WritingActuator,189,C,Core_2,0,idle
-378352200,TASK_WritingActuator,189,STI,IR_SCHED_Tasks_C2,1219,trigger
-378352200,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-378352200,Core_2,0,T,TASK_5MS,189,start
-378352200,TASK_5MS,189,R,FUNC_EXECTIME_1,686,start
-378352200,Core_2,0,C,Core_2,0,execute
-378352200,TASK_5MS,189,C,Core_2,0,execute
-378760950,TASK_5MS,189,R,FUNC_EXECTIME_1,686,terminate
-378760950,Core_2,0,T,TASK_5MS,189,terminate
-378760950,TASK_5MS,189,SCHED,SCHED_Tasks_C2,-1,processterminate
-378760950,Core_2,0,C,Core_2,0,idle
-378760950,TASK_5MS,189,C,Core_2,0,idle
-378761050,TASK_5MS,189,STI,IR_SCHED_Tasks_C2,1220,trigger
-378761050,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-378928175,TASK_1MS,378,R,FUNC_EXECTIME_1,687,terminate
-378928175,Core_1,0,T,TASK_1MS,378,terminate
-378928175,TASK_1MS,378,SCHED,SCHED_Tasks_C1,-1,processterminate
-378928175,Core_1,0,C,Core_1,0,idle
-378928175,TASK_1MS,378,C,Core_1,0,idle
-378928275,TASK_1MS,378,STI,IR_SCHED_Tasks_C1,1272,trigger
-378928275,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-378928275,Core_1,0,C,Core_1,0,execute_idle
-378928275,TASK_InputProcessing,189,C,Core_1,0,execute_idle
-378928275,Core_1,0,T,TASK_InputProcessing,189,resume
-378928275,TASK_InputProcessing,189,R,FUNC_SEMLOCK,379,resume
-378953275,TASK_InputProcessing,189,SEM,SEM_DataElement1,0,requestsemaphore,0
-378953275,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-378953275,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-378953275,Core_1,0,C,Core_1,0,lock
-378953275,TASK_InputProcessing,189,SEM,SEM_DataElement1,0,assigned,1
-378953325,TASK_InputProcessing,189,R,FUNC_SEMLOCK,379,terminate
-378953325,Core_1,0,C,Core_1,0,unlock
-378953325,TASK_InputProcessing,189,R,FUNC_ReadSensorData,189,start
-379115850,TASK_InputProcessing,189,SIG,SIG_RotationSpeed,0,read,0
-379115850,TASK_InputProcessing,189,SIG,SIG_Lambda,0,read,0
-379115850,TASK_InputProcessing,189,SIG,SIG_Temperature,0,read,0
-379115850,TASK_InputProcessing,189,R,FUNC_ReadSensorData,189,terminate
-379115850,TASK_InputProcessing,189,R,FUNC_SEMUNLOCK,379,start
-379250000,SIM,-1,STI,TIMER-1MS,379,trigger
-379250000,TIMER-1MS,379,T,TASK_1MS,379,activate
-379250000,TASK_1MS,379,SCHED,SCHED_Tasks_C1,-1,processactivate
-379250100,TASK_1MS,379,STI,IR_SCHED_Tasks_C1,1273,trigger
-379250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-379315850,TASK_InputProcessing,189,SEM,SEM_DataElement1,0,released,1
-379315850,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-379315850,TASK_InputProcessing,189,SCHED,SCHED_Tasks_C1,-1,schedulepoint
-379315850,Core_1,0,C,Core_1,0,lock
-379315900,TASK_InputProcessing,189,R,FUNC_SEMUNLOCK,379,terminate
-379315900,Core_1,0,C,Core_1,0,unlock
-379315900,TASK_InputProcessing,189,STI,IPA_InputReady,189,trigger
-379315900,IPA_InputReady,189,T,TASK_CalcEngineSpeed,189,activate
-379315900,TASK_CalcEngineSpeed,189,SCHED,SCHED_Tasks_C2,-1,processactivate
-379315900,Core_1,0,T,TASK_InputProcessing,189,terminate
-379315900,TASK_InputProcessing,189,SCHED,SCHED_Tasks_C1,-1,processterminate
-379315900,Core_1,0,C,Core_1,0,idle
-379315900,TASK_InputProcessing,189,C,Core_1,0,idle
-379315950,TASK_InputProcessing,189,STI,IR_SCHED_Tasks_C1,1274,trigger
-379315950,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-379315950,Core_1,0,T,TASK_1MS,379,start
-379315950,TASK_1MS,379,R,FUNC_EXECTIME_1,688,start
-379315950,Core_1,0,C,Core_1,0,execute
-379315950,TASK_1MS,379,C,Core_1,0,execute
-379316000,TASK_CalcEngineSpeed,189,STI,IR_SCHED_Tasks_C2,1221,trigger
-379316000,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-379316000,Core_2,0,T,TASK_CalcEngineSpeed,189,start
-379316000,TASK_CalcEngineSpeed,189,R,FUNC_ENGINESPEED,189,start
-379316000,Core_2,0,C,Core_2,0,execute
-379316000,TASK_CalcEngineSpeed,189,C,Core_2,0,execute
-379422725,TASK_CalcEngineSpeed,189,R,FUNC_ENGINESPEED,189,terminate
-379422725,Core_2,0,T,TASK_CalcEngineSpeed,189,terminate
-379422725,TASK_CalcEngineSpeed,189,SCHED,SCHED_Tasks_C2,-1,processterminate
-379422725,Core_2,0,C,Core_2,0,idle
-379422725,TASK_CalcEngineSpeed,189,C,Core_2,0,idle
-379422825,TASK_CalcEngineSpeed,189,STI,IR_SCHED_Tasks_C2,1222,trigger
-379422825,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-379675025,TASK_1MS,379,R,FUNC_EXECTIME_1,688,terminate
-379675025,Core_1,0,T,TASK_1MS,379,terminate
-379675025,TASK_1MS,379,SCHED,SCHED_Tasks_C1,-1,processterminate
-379675025,Core_1,0,C,Core_1,0,idle
-379675025,TASK_1MS,379,C,Core_1,0,idle
-379675125,TASK_1MS,379,STI,IR_SCHED_Tasks_C1,1275,trigger
-379675125,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-380000000,SIM,-1,STI,TIMER-B_2ms,190,trigger
-380000000,TIMER-B_2ms,190,T,TASK_WritingActuator,190,activate
-380000000,TASK_WritingActuator,190,SCHED,SCHED_Tasks_C2,-1,processactivate
-380000000,SIM,-1,STI,TIMER-10MS_2,38,trigger
-380000000,TIMER-10MS_2,38,T,TASK_10MS_DL2,38,activate
-380000000,TASK_10MS_DL2,38,SCHED,SCHED_Tasks_C1,-1,processactivate
-380000100,TASK_WritingActuator,190,STI,IR_SCHED_Tasks_C2,1223,trigger
-380000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-380000100,Core_2,0,T,TASK_WritingActuator,190,start
-380000100,TASK_WritingActuator,190,R,FUNC_SEMLOCK,380,start
-380000100,Core_2,0,C,Core_2,0,execute
-380000100,TASK_WritingActuator,190,C,Core_2,0,execute
-380000100,TASK_10MS_DL2,38,STI,IR_SCHED_Tasks_C1,1276,trigger
-380000100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-380000100,Core_1,0,T,TASK_10MS_DL2,38,start
-380000100,TASK_10MS_DL2,38,R,FUNC_EXECTIME_1,689,start
-380000100,Core_1,0,C,Core_1,0,execute
-380000100,TASK_10MS_DL2,38,C,Core_1,0,execute
-380005000,SIM,-1,STI,TIMER-20MS,19,trigger
-380005000,TIMER-20MS,19,T,TASK_20MS,19,activate
-380005000,TASK_20MS,19,SCHED,SCHED_Tasks_C1,-1,processactivate
-380005100,TASK_20MS,19,STI,IR_SCHED_Tasks_C1,1277,trigger
-380005100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-380100000,SIM,-1,STI,TIMER-5MS,190,trigger
-380100000,TIMER-5MS,190,T,TASK_5MS,190,activate
-380100000,TASK_5MS,190,SCHED,SCHED_Tasks_C2,-1,processactivate
-380100100,TASK_5MS,190,STI,IR_SCHED_Tasks_C2,1224,trigger
-380100100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-380125100,TASK_WritingActuator,190,SEM,SEM_DataElement1,0,requestsemaphore,0
-380125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-380125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-380125100,Core_2,0,C,Core_2,0,lock
-380125100,TASK_WritingActuator,190,SEM,SEM_DataElement1,0,assigned,1
-380125150,TASK_WritingActuator,190,R,FUNC_SEMLOCK,380,terminate
-380125150,Core_2,0,C,Core_2,0,unlock
-380125150,TASK_WritingActuator,190,R,FUNC_WriteData,190,start
-380150000,SIM,-1,STI,TIMER-A_2ms,190,trigger
-380150000,TIMER-A_2ms,190,T,TASK_InputProcessing,190,activate
-380150000,TASK_InputProcessing,190,SCHED,SCHED_Tasks_C1,-1,processactivate
-380150100,TASK_InputProcessing,190,STI,IR_SCHED_Tasks_C1,1278,trigger
-380150100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-380152425,TASK_WritingActuator,190,SIG,SIG_Mixture,0,write,0
-380152425,TASK_WritingActuator,190,R,FUNC_WriteData,190,terminate
-380152425,TASK_WritingActuator,190,R,FUNC_SEMUNLOCK,380,start
-380250000,SIM,-1,STI,TIMER-1MS,380,trigger
-380250000,TIMER-1MS,380,T,TASK_1MS,380,activate
-380250000,TASK_1MS,380,SCHED,SCHED_Tasks_C1,-1,processactivate
-380250100,TASK_1MS,380,STI,IR_SCHED_Tasks_C1,1279,trigger
-380250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-380250100,TASK_10MS_DL2,38,R,FUNC_EXECTIME_1,689,suspend
-380250100,Core_1,0,T,TASK_10MS_DL2,38,preempt
-380250100,Core_1,0,C,Core_1,0,idle_execution
-380250100,TASK_10MS_DL2,38,C,Core_1,0,idle_execution
-380250100,Core_1,0,T,TASK_1MS,380,start
-380250100,TASK_1MS,380,R,FUNC_EXECTIME_1,692,start
-380250100,Core_1,0,C,Core_1,0,execute
-380250100,TASK_1MS,380,C,Core_1,0,execute
-380352425,TASK_WritingActuator,190,SEM,SEM_DataElement1,0,released,1
-380352425,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-380352425,TASK_WritingActuator,190,SCHED,SCHED_Tasks_C2,-1,schedulepoint
-380352425,Core_2,0,C,Core_2,0,lock
-380352475,TASK_WritingActuator,190,R,FUNC_SEMUNLOCK,380,terminate
-380352475,Core_2,0,T,TASK_WritingActuator,190,terminate
-380352475,TASK_WritingActuator,190,SCHED,SCHED_Tasks_C2,-1,processterminate
-380352475,Core_2,0,C,Core_2,0,unlock
-380352475,Core_2,0,C,Core_2,0,idle
-380352475,TASK_WritingActuator,190,C,Core_2,0,idle
-380352525,TASK_WritingActuator,190,STI,IR_SCHED_Tasks_C2,1225,trigger
-380352525,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-380352525,Core_2,0,T,TASK_5MS,190,start
-380352525,TASK_5MS,190,R,FUNC_EXECTIME_1,691,start
-380352525,Core_2,0,C,Core_2,0,execute
-380352525,TASK_5MS,190,C,Core_2,0,execute
-380729475,TASK_5MS,190,R,FUNC_EXECTIME_1,691,terminate
-380729475,Core_2,0,T,TASK_5MS,190,terminate
-380729475,TASK_5MS,190,SCHED,SCHED_Tasks_C2,-1,processterminate
-380729475,Core_2,0,C,Core_2,0,idle
-380729475,TASK_5MS,190,C,Core_2,0,idle
-380729575,TASK_5MS,190,STI,IR_SCHED_Tasks_C2,1226,trigger
-380729575,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-380785225,TASK_1MS,380,R,FUNC_EXECTIME_1,692,terminate
-380785225,Core_1,0,T,TASK_1MS,380,terminate
-380785225,TASK_1MS,380,SCHED,SCHED_Tasks_C1,-1,processterminate
-380785225,Core_1,0,C,Core_1,0,idle
-380785225,TASK_1MS,380,C,Core_1,0,idle
-380785325,TASK_1MS,380,STI,IR_SCHED_Tasks_C1,1280,trigger
-380785325,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-380785325,Core_1,0,C,Core_1,0,execute_idle
-380785325,TASK_10MS_DL2,38,C,Core_1,0,execute_idle
-380785325,Core_1,0,T,TASK_10MS_DL2,38,resume
-380785325,TASK_10MS_DL2,38,R,FUNC_EXECTIME_1,689,resume
-381061950,TASK_10MS_DL2,38,R,FUNC_EXECTIME_1,689,terminate
-381061950,Core_1,0,T,TASK_10MS_DL2,38,terminate
-381061950,TASK_10MS_DL2,38,SCHED,SCHED_Tasks_C1,-1,processterminate
-381061950,Core_1,0,C,Core_1,0,idle
-381061950,TASK_10MS_DL2,38,C,Core_1,0,idle
-381062050,TASK_10MS_DL2,38,STI,IR_SCHED_Tasks_C1,1281,trigger
-381062050,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-381062050,Core_1,0,T,TASK_InputProcessing,190,start
-381062050,TASK_InputProcessing,190,R,FUNC_SEMLOCK,381,start
-381062050,Core_1,0,C,Core_1,0,execute
-381062050,TASK_InputProcessing,190,C,Core_1,0,execute
-381187050,TASK_InputProcessing,190,SEM,SEM_DataElement1,0,requestsemaphore,0
-381187050,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-381187050,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-381187050,Core_1,0,C,Core_1,0,lock
-381187050,TASK_InputProcessing,190,SEM,SEM_DataElement1,0,assigned,1
-381187100,TASK_InputProcessing,190,R,FUNC_SEMLOCK,381,terminate
-381187100,Core_1,0,C,Core_1,0,unlock
-381187100,TASK_InputProcessing,190,R,FUNC_ReadSensorData,190,start
-381250000,SIM,-1,STI,TIMER-1MS,381,trigger
-381250000,TIMER-1MS,381,T,TASK_1MS,381,activate
-381250000,TASK_1MS,381,SCHED,SCHED_Tasks_C1,-1,processactivate
-381250100,TASK_1MS,381,STI,IR_SCHED_Tasks_C1,1282,trigger
-381250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-381349475,TASK_InputProcessing,190,SIG,SIG_RotationSpeed,0,read,0
-381349475,TASK_InputProcessing,190,SIG,SIG_Lambda,0,read,0
-381349475,TASK_InputProcessing,190,SIG,SIG_Temperature,0,read,0
-381349475,TASK_InputProcessing,190,R,FUNC_ReadSensorData,190,terminate
-381349475,TASK_InputProcessing,190,R,FUNC_SEMUNLOCK,381,start
-381549475,TASK_InputProcessing,190,SEM,SEM_DataElement1,0,released,1
-381549475,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-381549475,TASK_InputProcessing,190,SCHED,SCHED_Tasks_C1,-1,schedulepoint
-381549475,Core_1,0,C,Core_1,0,lock
-381549525,TASK_InputProcessing,190,R,FUNC_SEMUNLOCK,381,terminate
-381549525,Core_1,0,C,Core_1,0,unlock
-381549525,TASK_InputProcessing,190,STI,IPA_InputReady,190,trigger
-381549525,IPA_InputReady,190,T,TASK_CalcEngineSpeed,190,activate
-381549525,TASK_CalcEngineSpeed,190,SCHED,SCHED_Tasks_C2,-1,processactivate
-381549525,Core_1,0,T,TASK_InputProcessing,190,terminate
-381549525,TASK_InputProcessing,190,SCHED,SCHED_Tasks_C1,-1,processterminate
-381549525,Core_1,0,C,Core_1,0,idle
-381549525,TASK_InputProcessing,190,C,Core_1,0,idle
-381549575,TASK_InputProcessing,190,STI,IR_SCHED_Tasks_C1,1283,trigger
-381549575,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-381549575,Core_1,0,T,TASK_1MS,381,start
-381549575,TASK_1MS,381,R,FUNC_EXECTIME_1,693,start
-381549575,Core_1,0,C,Core_1,0,execute
-381549575,TASK_1MS,381,C,Core_1,0,execute
-381549625,TASK_CalcEngineSpeed,190,STI,IR_SCHED_Tasks_C2,1227,trigger
-381549625,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-381549625,Core_2,0,T,TASK_CalcEngineSpeed,190,start
-381549625,TASK_CalcEngineSpeed,190,R,FUNC_ENGINESPEED,190,start
-381549625,Core_2,0,C,Core_2,0,execute
-381549625,TASK_CalcEngineSpeed,190,C,Core_2,0,execute
-381694025,TASK_CalcEngineSpeed,190,R,FUNC_ENGINESPEED,190,terminate
-381694025,Core_2,0,T,TASK_CalcEngineSpeed,190,terminate
-381694025,TASK_CalcEngineSpeed,190,SCHED,SCHED_Tasks_C2,-1,processterminate
-381694025,Core_2,0,C,Core_2,0,idle
-381694025,TASK_CalcEngineSpeed,190,C,Core_2,0,idle
-381694125,TASK_CalcEngineSpeed,190,STI,IR_SCHED_Tasks_C2,1228,trigger
-381694125,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-381993050,TASK_1MS,381,R,FUNC_EXECTIME_1,693,terminate
-381993050,Core_1,0,T,TASK_1MS,381,terminate
-381993050,TASK_1MS,381,SCHED,SCHED_Tasks_C1,-1,processterminate
-381993050,Core_1,0,C,Core_1,0,idle
-381993050,TASK_1MS,381,C,Core_1,0,idle
-381993150,TASK_1MS,381,STI,IR_SCHED_Tasks_C1,1284,trigger
-381993150,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-381993150,Core_1,0,T,TASK_20MS,19,start
-381993150,TASK_20MS,19,R,FUNC_EXECTIME_1,690,start
-381993150,Core_1,0,C,Core_1,0,execute
-381993150,TASK_20MS,19,C,Core_1,0,execute
-382000000,SIM,-1,STI,TIMER-B_2ms,191,trigger
-382000000,TIMER-B_2ms,191,T,TASK_WritingActuator,191,activate
-382000000,TASK_WritingActuator,191,SCHED,SCHED_Tasks_C2,-1,processactivate
-382000100,TASK_WritingActuator,191,STI,IR_SCHED_Tasks_C2,1229,trigger
-382000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-382000100,Core_2,0,T,TASK_WritingActuator,191,start
-382000100,TASK_WritingActuator,191,R,FUNC_SEMLOCK,382,start
-382000100,Core_2,0,C,Core_2,0,execute
-382000100,TASK_WritingActuator,191,C,Core_2,0,execute
-382100000,SIM,-1,STI,TIMER-5MS,191,trigger
-382100000,TIMER-5MS,191,T,TASK_5MS,191,activate
-382100000,TASK_5MS,191,SCHED,SCHED_Tasks_C2,-1,processactivate
-382100100,TASK_5MS,191,STI,IR_SCHED_Tasks_C2,1230,trigger
-382100100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-382125100,TASK_WritingActuator,191,SEM,SEM_DataElement1,0,requestsemaphore,0
-382125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-382125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-382125100,Core_2,0,C,Core_2,0,lock
-382125100,TASK_WritingActuator,191,SEM,SEM_DataElement1,0,assigned,1
-382125150,TASK_WritingActuator,191,R,FUNC_SEMLOCK,382,terminate
-382125150,Core_2,0,C,Core_2,0,unlock
-382125150,TASK_WritingActuator,191,R,FUNC_WriteData,191,start
-382150000,SIM,-1,STI,TIMER-A_2ms,191,trigger
-382150000,TIMER-A_2ms,191,T,TASK_InputProcessing,191,activate
-382150000,TASK_InputProcessing,191,SCHED,SCHED_Tasks_C1,-1,processactivate
-382150100,TASK_InputProcessing,191,STI,IR_SCHED_Tasks_C1,1285,trigger
-382150100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-382150100,TASK_20MS,19,R,FUNC_EXECTIME_1,690,suspend
-382150100,Core_1,0,T,TASK_20MS,19,preempt
-382150100,Core_1,0,C,Core_1,0,idle_execution
-382150100,TASK_20MS,19,C,Core_1,0,idle_execution
-382150100,Core_1,0,T,TASK_InputProcessing,191,start
-382150100,TASK_InputProcessing,191,R,FUNC_SEMLOCK,383,start
-382150100,Core_1,0,C,Core_1,0,execute
-382150100,TASK_InputProcessing,191,C,Core_1,0,execute
-382152525,TASK_WritingActuator,191,SIG,SIG_Mixture,0,write,0
-382152525,TASK_WritingActuator,191,R,FUNC_WriteData,191,terminate
-382152525,TASK_WritingActuator,191,R,FUNC_SEMUNLOCK,382,start
-382250000,SIM,-1,STI,TIMER-1MS,382,trigger
-382250000,TIMER-1MS,382,T,TASK_1MS,382,activate
-382250000,TASK_1MS,382,SCHED,SCHED_Tasks_C1,-1,processactivate
-382250100,TASK_1MS,382,STI,IR_SCHED_Tasks_C1,1286,trigger
-382250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-382250100,TASK_InputProcessing,191,R,FUNC_SEMLOCK,383,suspend
-382250100,Core_1,0,T,TASK_InputProcessing,191,preempt
-382250100,Core_1,0,C,Core_1,0,idle_execution
-382250100,TASK_InputProcessing,191,C,Core_1,0,idle_execution
-382250100,Core_1,0,T,TASK_1MS,382,start
-382250100,TASK_1MS,382,R,FUNC_EXECTIME_1,695,start
-382250100,Core_1,0,C,Core_1,0,execute
-382250100,TASK_1MS,382,C,Core_1,0,execute
-382352525,TASK_WritingActuator,191,SEM,SEM_DataElement1,0,released,1
-382352525,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-382352525,TASK_WritingActuator,191,SCHED,SCHED_Tasks_C2,-1,schedulepoint
-382352525,Core_2,0,C,Core_2,0,lock
-382352575,TASK_WritingActuator,191,R,FUNC_SEMUNLOCK,382,terminate
-382352575,Core_2,0,T,TASK_WritingActuator,191,terminate
-382352575,TASK_WritingActuator,191,SCHED,SCHED_Tasks_C2,-1,processterminate
-382352575,Core_2,0,C,Core_2,0,unlock
-382352575,Core_2,0,C,Core_2,0,idle
-382352575,TASK_WritingActuator,191,C,Core_2,0,idle
-382352625,TASK_WritingActuator,191,STI,IR_SCHED_Tasks_C2,1231,trigger
-382352625,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-382352625,Core_2,0,T,TASK_5MS,191,start
-382352625,TASK_5MS,191,R,FUNC_EXECTIME_1,694,start
-382352625,Core_2,0,C,Core_2,0,execute
-382352625,TASK_5MS,191,C,Core_2,0,execute
-382804025,TASK_1MS,382,R,FUNC_EXECTIME_1,695,terminate
-382804025,Core_1,0,T,TASK_1MS,382,terminate
-382804025,TASK_1MS,382,SCHED,SCHED_Tasks_C1,-1,processterminate
-382804025,Core_1,0,C,Core_1,0,idle
-382804025,TASK_1MS,382,C,Core_1,0,idle
-382804125,TASK_1MS,382,STI,IR_SCHED_Tasks_C1,1287,trigger
-382804125,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-382804125,Core_1,0,C,Core_1,0,execute_idle
-382804125,TASK_InputProcessing,191,C,Core_1,0,execute_idle
-382804125,Core_1,0,T,TASK_InputProcessing,191,resume
-382804125,TASK_InputProcessing,191,R,FUNC_SEMLOCK,383,resume
-382829125,TASK_InputProcessing,191,SEM,SEM_DataElement1,0,requestsemaphore,0
-382829125,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-382829125,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-382829125,Core_1,0,C,Core_1,0,lock
-382829125,TASK_InputProcessing,191,SEM,SEM_DataElement1,0,assigned,1
-382829175,TASK_InputProcessing,191,R,FUNC_SEMLOCK,383,terminate
-382829175,Core_1,0,C,Core_1,0,unlock
-382829175,TASK_InputProcessing,191,R,FUNC_ReadSensorData,191,start
-382991400,TASK_InputProcessing,191,SIG,SIG_RotationSpeed,0,read,0
-382991400,TASK_InputProcessing,191,SIG,SIG_Lambda,0,read,0
-382991400,TASK_InputProcessing,191,SIG,SIG_Temperature,0,read,0
-382991400,TASK_InputProcessing,191,R,FUNC_ReadSensorData,191,terminate
-382991400,TASK_InputProcessing,191,R,FUNC_SEMUNLOCK,383,start
-383080450,TASK_5MS,191,R,FUNC_EXECTIME_1,694,terminate
-383080450,Core_2,0,T,TASK_5MS,191,terminate
-383080450,TASK_5MS,191,SCHED,SCHED_Tasks_C2,-1,processterminate
-383080450,Core_2,0,C,Core_2,0,idle
-383080450,TASK_5MS,191,C,Core_2,0,idle
-383080550,TASK_5MS,191,STI,IR_SCHED_Tasks_C2,1232,trigger
-383080550,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-383191400,TASK_InputProcessing,191,SEM,SEM_DataElement1,0,released,1
-383191400,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-383191400,TASK_InputProcessing,191,SCHED,SCHED_Tasks_C1,-1,schedulepoint
-383191400,Core_1,0,C,Core_1,0,lock
-383191450,TASK_InputProcessing,191,R,FUNC_SEMUNLOCK,383,terminate
-383191450,Core_1,0,C,Core_1,0,unlock
-383191450,TASK_InputProcessing,191,STI,IPA_InputReady,191,trigger
-383191450,IPA_InputReady,191,T,TASK_CalcEngineSpeed,191,activate
-383191450,TASK_CalcEngineSpeed,191,SCHED,SCHED_Tasks_C2,-1,processactivate
-383191450,Core_1,0,T,TASK_InputProcessing,191,terminate
-383191450,TASK_InputProcessing,191,SCHED,SCHED_Tasks_C1,-1,processterminate
-383191450,Core_1,0,C,Core_1,0,idle
-383191450,TASK_InputProcessing,191,C,Core_1,0,idle
-383191500,TASK_InputProcessing,191,STI,IR_SCHED_Tasks_C1,1288,trigger
-383191500,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-383191500,Core_1,0,C,Core_1,0,execute_idle
-383191500,TASK_20MS,19,C,Core_1,0,execute_idle
-383191500,Core_1,0,T,TASK_20MS,19,resume
-383191500,TASK_20MS,19,R,FUNC_EXECTIME_1,690,resume
-383191550,TASK_CalcEngineSpeed,191,STI,IR_SCHED_Tasks_C2,1233,trigger
-383191550,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-383191550,Core_2,0,T,TASK_CalcEngineSpeed,191,start
-383191550,TASK_CalcEngineSpeed,191,R,FUNC_ENGINESPEED,191,start
-383191550,Core_2,0,C,Core_2,0,execute
-383191550,TASK_CalcEngineSpeed,191,C,Core_2,0,execute
-383250000,SIM,-1,STI,TIMER-1MS,383,trigger
-383250000,TIMER-1MS,383,T,TASK_1MS,383,activate
-383250000,TASK_1MS,383,SCHED,SCHED_Tasks_C1,-1,processactivate
-383250100,TASK_1MS,383,STI,IR_SCHED_Tasks_C1,1289,trigger
-383250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-383250100,TASK_20MS,19,R,FUNC_EXECTIME_1,690,suspend
-383250100,Core_1,0,T,TASK_20MS,19,preempt
-383250100,Core_1,0,C,Core_1,0,idle_execution
-383250100,TASK_20MS,19,C,Core_1,0,idle_execution
-383250100,Core_1,0,T,TASK_1MS,383,start
-383250100,TASK_1MS,383,R,FUNC_EXECTIME_1,696,start
-383250100,Core_1,0,C,Core_1,0,execute
-383250100,TASK_1MS,383,C,Core_1,0,execute
-383436900,TASK_CalcEngineSpeed,191,R,FUNC_ENGINESPEED,191,terminate
-383436900,Core_2,0,T,TASK_CalcEngineSpeed,191,terminate
-383436900,TASK_CalcEngineSpeed,191,SCHED,SCHED_Tasks_C2,-1,processterminate
-383436900,Core_2,0,C,Core_2,0,idle
-383436900,TASK_CalcEngineSpeed,191,C,Core_2,0,idle
-383437000,TASK_CalcEngineSpeed,191,STI,IR_SCHED_Tasks_C2,1234,trigger
-383437000,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-383947525,TASK_1MS,383,R,FUNC_EXECTIME_1,696,terminate
-383947525,Core_1,0,T,TASK_1MS,383,terminate
-383947525,TASK_1MS,383,SCHED,SCHED_Tasks_C1,-1,processterminate
-383947525,Core_1,0,C,Core_1,0,idle
-383947525,TASK_1MS,383,C,Core_1,0,idle
-383947625,TASK_1MS,383,STI,IR_SCHED_Tasks_C1,1290,trigger
-383947625,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-383947625,Core_1,0,C,Core_1,0,execute_idle
-383947625,TASK_20MS,19,C,Core_1,0,execute_idle
-383947625,Core_1,0,T,TASK_20MS,19,resume
-383947625,TASK_20MS,19,R,FUNC_EXECTIME_1,690,resume
-384000000,SIM,-1,STI,TIMER-B_2ms,192,trigger
-384000000,TIMER-B_2ms,192,T,TASK_WritingActuator,192,activate
-384000000,TASK_WritingActuator,192,SCHED,SCHED_Tasks_C2,-1,processactivate
-384000100,TASK_WritingActuator,192,STI,IR_SCHED_Tasks_C2,1235,trigger
-384000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-384000100,Core_2,0,T,TASK_WritingActuator,192,start
-384000100,TASK_WritingActuator,192,R,FUNC_SEMLOCK,384,start
-384000100,Core_2,0,C,Core_2,0,execute
-384000100,TASK_WritingActuator,192,C,Core_2,0,execute
-384100000,SIM,-1,STI,TIMER-5MS,192,trigger
-384100000,TIMER-5MS,192,T,TASK_5MS,192,activate
-384100000,TASK_5MS,192,SCHED,SCHED_Tasks_C2,-1,processactivate
-384100100,TASK_5MS,192,STI,IR_SCHED_Tasks_C2,1236,trigger
-384100100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-384125100,TASK_WritingActuator,192,SEM,SEM_DataElement1,0,requestsemaphore,0
-384125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-384125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-384125100,Core_2,0,C,Core_2,0,lock
-384125100,TASK_WritingActuator,192,SEM,SEM_DataElement1,0,assigned,1
-384125150,TASK_WritingActuator,192,R,FUNC_SEMLOCK,384,terminate
-384125150,Core_2,0,C,Core_2,0,unlock
-384125150,TASK_WritingActuator,192,R,FUNC_WriteData,192,start
-384150000,SIM,-1,STI,TIMER-A_2ms,192,trigger
-384150000,TIMER-A_2ms,192,T,TASK_InputProcessing,192,activate
-384150000,TASK_InputProcessing,192,SCHED,SCHED_Tasks_C1,-1,processactivate
-384150100,TASK_InputProcessing,192,STI,IR_SCHED_Tasks_C1,1291,trigger
-384150100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-384150100,TASK_20MS,19,R,FUNC_EXECTIME_1,690,suspend
-384150100,Core_1,0,T,TASK_20MS,19,preempt
-384150100,Core_1,0,C,Core_1,0,idle_execution
-384150100,TASK_20MS,19,C,Core_1,0,idle_execution
-384150100,Core_1,0,T,TASK_InputProcessing,192,start
-384150100,TASK_InputProcessing,192,R,FUNC_SEMLOCK,385,start
-384150100,Core_1,0,C,Core_1,0,execute
-384150100,TASK_InputProcessing,192,C,Core_1,0,execute
-384152225,TASK_WritingActuator,192,SIG,SIG_Mixture,0,write,0
-384152225,TASK_WritingActuator,192,R,FUNC_WriteData,192,terminate
-384152225,TASK_WritingActuator,192,R,FUNC_SEMUNLOCK,384,start
-384250000,SIM,-1,STI,TIMER-1MS,384,trigger
-384250000,TIMER-1MS,384,T,TASK_1MS,384,activate
-384250000,TASK_1MS,384,SCHED,SCHED_Tasks_C1,-1,processactivate
-384250100,TASK_1MS,384,STI,IR_SCHED_Tasks_C1,1292,trigger
-384250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-384250100,TASK_InputProcessing,192,R,FUNC_SEMLOCK,385,suspend
-384250100,Core_1,0,T,TASK_InputProcessing,192,preempt
-384250100,Core_1,0,C,Core_1,0,idle_execution
-384250100,TASK_InputProcessing,192,C,Core_1,0,idle_execution
-384250100,Core_1,0,T,TASK_1MS,384,start
-384250100,TASK_1MS,384,R,FUNC_EXECTIME_1,698,start
-384250100,Core_1,0,C,Core_1,0,execute
-384250100,TASK_1MS,384,C,Core_1,0,execute
-384352225,TASK_WritingActuator,192,SEM,SEM_DataElement1,0,released,1
-384352225,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-384352225,TASK_WritingActuator,192,SCHED,SCHED_Tasks_C2,-1,schedulepoint
-384352225,Core_2,0,C,Core_2,0,lock
-384352275,TASK_WritingActuator,192,R,FUNC_SEMUNLOCK,384,terminate
-384352275,Core_2,0,T,TASK_WritingActuator,192,terminate
-384352275,TASK_WritingActuator,192,SCHED,SCHED_Tasks_C2,-1,processterminate
-384352275,Core_2,0,C,Core_2,0,unlock
-384352275,Core_2,0,C,Core_2,0,idle
-384352275,TASK_WritingActuator,192,C,Core_2,0,idle
-384352325,TASK_WritingActuator,192,STI,IR_SCHED_Tasks_C2,1237,trigger
-384352325,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-384352325,Core_2,0,T,TASK_5MS,192,start
-384352325,TASK_5MS,192,R,FUNC_EXECTIME_1,697,start
-384352325,Core_2,0,C,Core_2,0,execute
-384352325,TASK_5MS,192,C,Core_2,0,execute
-384702100,TASK_5MS,192,R,FUNC_EXECTIME_1,697,terminate
-384702100,Core_2,0,T,TASK_5MS,192,terminate
-384702100,TASK_5MS,192,SCHED,SCHED_Tasks_C2,-1,processterminate
-384702100,Core_2,0,C,Core_2,0,idle
-384702100,TASK_5MS,192,C,Core_2,0,idle
-384702200,TASK_5MS,192,STI,IR_SCHED_Tasks_C2,1238,trigger
-384702200,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-384849200,TASK_1MS,384,R,FUNC_EXECTIME_1,698,terminate
-384849200,Core_1,0,T,TASK_1MS,384,terminate
-384849200,TASK_1MS,384,SCHED,SCHED_Tasks_C1,-1,processterminate
-384849200,Core_1,0,C,Core_1,0,idle
-384849200,TASK_1MS,384,C,Core_1,0,idle
-384849300,TASK_1MS,384,STI,IR_SCHED_Tasks_C1,1293,trigger
-384849300,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-384849300,Core_1,0,C,Core_1,0,execute_idle
-384849300,TASK_InputProcessing,192,C,Core_1,0,execute_idle
-384849300,Core_1,0,T,TASK_InputProcessing,192,resume
-384849300,TASK_InputProcessing,192,R,FUNC_SEMLOCK,385,resume
-384874300,TASK_InputProcessing,192,SEM,SEM_DataElement1,0,requestsemaphore,0
-384874300,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-384874300,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-384874300,Core_1,0,C,Core_1,0,lock
-384874300,TASK_InputProcessing,192,SEM,SEM_DataElement1,0,assigned,1
-384874350,TASK_InputProcessing,192,R,FUNC_SEMLOCK,385,terminate
-384874350,Core_1,0,C,Core_1,0,unlock
-384874350,TASK_InputProcessing,192,R,FUNC_ReadSensorData,192,start
-385000000,SIM,-1,STI,TIMER-10MS,38,trigger
-385000000,TIMER-10MS,38,T,TASK_10MS,38,activate
-385000000,TASK_10MS,38,SCHED,SCHED_Tasks_C2,-1,processactivate
-385000100,TASK_10MS,38,STI,IR_SCHED_Tasks_C2,1239,trigger
-385000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-385000100,Core_2,0,T,TASK_10MS,38,start
-385000100,TASK_10MS,38,R,FUNC_EXECTIME_1,699,start
-385000100,Core_2,0,C,Core_2,0,execute
-385000100,TASK_10MS,38,C,Core_2,0,execute
-385036050,TASK_InputProcessing,192,SIG,SIG_RotationSpeed,0,read,0
-385036050,TASK_InputProcessing,192,SIG,SIG_Lambda,0,read,0
-385036050,TASK_InputProcessing,192,SIG,SIG_Temperature,0,read,0
-385036050,TASK_InputProcessing,192,R,FUNC_ReadSensorData,192,terminate
-385036050,TASK_InputProcessing,192,R,FUNC_SEMUNLOCK,385,start
-385236050,TASK_InputProcessing,192,SEM,SEM_DataElement1,0,released,1
-385236050,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-385236050,TASK_InputProcessing,192,SCHED,SCHED_Tasks_C1,-1,schedulepoint
-385236050,Core_1,0,C,Core_1,0,lock
-385236100,TASK_InputProcessing,192,R,FUNC_SEMUNLOCK,385,terminate
-385236100,Core_1,0,C,Core_1,0,unlock
-385236100,TASK_InputProcessing,192,STI,IPA_InputReady,192,trigger
-385236100,IPA_InputReady,192,T,TASK_CalcEngineSpeed,192,activate
-385236100,TASK_CalcEngineSpeed,192,SCHED,SCHED_Tasks_C2,-1,processactivate
-385236100,Core_1,0,T,TASK_InputProcessing,192,terminate
-385236100,TASK_InputProcessing,192,SCHED,SCHED_Tasks_C1,-1,processterminate
-385236100,Core_1,0,C,Core_1,0,idle
-385236100,TASK_InputProcessing,192,C,Core_1,0,idle
-385236150,TASK_InputProcessing,192,STI,IR_SCHED_Tasks_C1,1294,trigger
-385236150,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-385236150,Core_1,0,C,Core_1,0,execute_idle
-385236150,TASK_20MS,19,C,Core_1,0,execute_idle
-385236150,Core_1,0,T,TASK_20MS,19,resume
-385236150,TASK_20MS,19,R,FUNC_EXECTIME_1,690,resume
-385236200,TASK_CalcEngineSpeed,192,STI,IR_SCHED_Tasks_C2,1240,trigger
-385236200,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-385236200,TASK_10MS,38,R,FUNC_EXECTIME_1,699,suspend
-385236200,Core_2,0,T,TASK_10MS,38,preempt
-385236200,Core_2,0,C,Core_2,0,idle_execution
-385236200,TASK_10MS,38,C,Core_2,0,idle_execution
-385236200,Core_2,0,T,TASK_CalcEngineSpeed,192,start
-385236200,TASK_CalcEngineSpeed,192,R,FUNC_ENGINESPEED,192,start
-385236200,Core_2,0,C,Core_2,0,execute
-385236200,TASK_CalcEngineSpeed,192,C,Core_2,0,execute
-385250000,SIM,-1,STI,TIMER-1MS,385,trigger
-385250000,TIMER-1MS,385,T,TASK_1MS,385,activate
-385250000,TASK_1MS,385,SCHED,SCHED_Tasks_C1,-1,processactivate
-385250100,TASK_1MS,385,STI,IR_SCHED_Tasks_C1,1295,trigger
-385250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-385250100,TASK_20MS,19,R,FUNC_EXECTIME_1,690,suspend
-385250100,Core_1,0,T,TASK_20MS,19,preempt
-385250100,Core_1,0,C,Core_1,0,idle_execution
-385250100,TASK_20MS,19,C,Core_1,0,idle_execution
-385250100,Core_1,0,T,TASK_1MS,385,start
-385250100,TASK_1MS,385,R,FUNC_EXECTIME_1,700,start
-385250100,Core_1,0,C,Core_1,0,execute
-385250100,TASK_1MS,385,C,Core_1,0,execute
-385416350,TASK_CalcEngineSpeed,192,R,FUNC_ENGINESPEED,192,terminate
-385416350,Core_2,0,T,TASK_CalcEngineSpeed,192,terminate
-385416350,TASK_CalcEngineSpeed,192,SCHED,SCHED_Tasks_C2,-1,processterminate
-385416350,Core_2,0,C,Core_2,0,idle
-385416350,TASK_CalcEngineSpeed,192,C,Core_2,0,idle
-385416450,TASK_CalcEngineSpeed,192,STI,IR_SCHED_Tasks_C2,1241,trigger
-385416450,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-385416450,Core_2,0,C,Core_2,0,execute_idle
-385416450,TASK_10MS,38,C,Core_2,0,execute_idle
-385416450,Core_2,0,T,TASK_10MS,38,resume
-385416450,TASK_10MS,38,R,FUNC_EXECTIME_1,699,resume
-385550875,TASK_10MS,38,R,FUNC_EXECTIME_1,699,terminate
-385550875,Core_2,0,T,TASK_10MS,38,terminate
-385550875,TASK_10MS,38,SCHED,SCHED_Tasks_C2,-1,processterminate
-385550875,Core_2,0,C,Core_2,0,idle
-385550875,TASK_10MS,38,C,Core_2,0,idle
-385550975,TASK_10MS,38,STI,IR_SCHED_Tasks_C2,1242,trigger
-385550975,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-385896550,TASK_1MS,385,R,FUNC_EXECTIME_1,700,terminate
-385896550,Core_1,0,T,TASK_1MS,385,terminate
-385896550,TASK_1MS,385,SCHED,SCHED_Tasks_C1,-1,processterminate
-385896550,Core_1,0,C,Core_1,0,idle
-385896550,TASK_1MS,385,C,Core_1,0,idle
-385896650,TASK_1MS,385,STI,IR_SCHED_Tasks_C1,1296,trigger
-385896650,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-385896650,Core_1,0,C,Core_1,0,execute_idle
-385896650,TASK_20MS,19,C,Core_1,0,execute_idle
-385896650,Core_1,0,T,TASK_20MS,19,resume
-385896650,TASK_20MS,19,R,FUNC_EXECTIME_1,690,resume
-385898625,TASK_20MS,19,R,FUNC_EXECTIME_1,690,terminate
-385898625,Core_1,0,T,TASK_20MS,19,terminate
-385898625,TASK_20MS,19,SCHED,SCHED_Tasks_C1,-1,processterminate
-385898625,Core_1,0,C,Core_1,0,idle
-385898625,TASK_20MS,19,C,Core_1,0,idle
-385898725,TASK_20MS,19,STI,IR_SCHED_Tasks_C1,1297,trigger
-385898725,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-386000000,SIM,-1,STI,TIMER-B_2ms,193,trigger
-386000000,TIMER-B_2ms,193,T,TASK_WritingActuator,193,activate
-386000000,TASK_WritingActuator,193,SCHED,SCHED_Tasks_C2,-1,processactivate
-386000100,TASK_WritingActuator,193,STI,IR_SCHED_Tasks_C2,1243,trigger
-386000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-386000100,Core_2,0,T,TASK_WritingActuator,193,start
-386000100,TASK_WritingActuator,193,R,FUNC_SEMLOCK,386,start
-386000100,Core_2,0,C,Core_2,0,execute
-386000100,TASK_WritingActuator,193,C,Core_2,0,execute
-386100000,SIM,-1,STI,TIMER-5MS,193,trigger
-386100000,TIMER-5MS,193,T,TASK_5MS,193,activate
-386100000,TASK_5MS,193,SCHED,SCHED_Tasks_C2,-1,processactivate
-386100100,TASK_5MS,193,STI,IR_SCHED_Tasks_C2,1244,trigger
-386100100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-386125100,TASK_WritingActuator,193,SEM,SEM_DataElement1,0,requestsemaphore,0
-386125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-386125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-386125100,Core_2,0,C,Core_2,0,lock
-386125100,TASK_WritingActuator,193,SEM,SEM_DataElement1,0,assigned,1
-386125150,TASK_WritingActuator,193,R,FUNC_SEMLOCK,386,terminate
-386125150,Core_2,0,C,Core_2,0,unlock
-386125150,TASK_WritingActuator,193,R,FUNC_WriteData,193,start
-386150000,SIM,-1,STI,TIMER-A_2ms,193,trigger
-386150000,TIMER-A_2ms,193,T,TASK_InputProcessing,193,activate
-386150000,TASK_InputProcessing,193,SCHED,SCHED_Tasks_C1,-1,processactivate
-386150100,TASK_InputProcessing,193,STI,IR_SCHED_Tasks_C1,1298,trigger
-386150100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-386150100,Core_1,0,T,TASK_InputProcessing,193,start
-386150100,TASK_InputProcessing,193,R,FUNC_SEMLOCK,387,start
-386150100,Core_1,0,C,Core_1,0,execute
-386150100,TASK_InputProcessing,193,C,Core_1,0,execute
-386151725,TASK_WritingActuator,193,SIG,SIG_Mixture,0,write,0
-386151725,TASK_WritingActuator,193,R,FUNC_WriteData,193,terminate
-386151725,TASK_WritingActuator,193,R,FUNC_SEMUNLOCK,386,start
-386250000,SIM,-1,STI,TIMER-1MS,386,trigger
-386250000,TIMER-1MS,386,T,TASK_1MS,386,activate
-386250000,TASK_1MS,386,SCHED,SCHED_Tasks_C1,-1,processactivate
-386250100,TASK_1MS,386,STI,IR_SCHED_Tasks_C1,1299,trigger
-386250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-386250100,TASK_InputProcessing,193,R,FUNC_SEMLOCK,387,suspend
-386250100,Core_1,0,T,TASK_InputProcessing,193,preempt
-386250100,Core_1,0,C,Core_1,0,idle_execution
-386250100,TASK_InputProcessing,193,C,Core_1,0,idle_execution
-386250100,Core_1,0,T,TASK_1MS,386,start
-386250100,TASK_1MS,386,R,FUNC_EXECTIME_1,702,start
-386250100,Core_1,0,C,Core_1,0,execute
-386250100,TASK_1MS,386,C,Core_1,0,execute
-386351725,TASK_WritingActuator,193,SEM,SEM_DataElement1,0,released,1
-386351725,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-386351725,TASK_WritingActuator,193,SCHED,SCHED_Tasks_C2,-1,schedulepoint
-386351725,Core_2,0,C,Core_2,0,lock
-386351775,TASK_WritingActuator,193,R,FUNC_SEMUNLOCK,386,terminate
-386351775,Core_2,0,T,TASK_WritingActuator,193,terminate
-386351775,TASK_WritingActuator,193,SCHED,SCHED_Tasks_C2,-1,processterminate
-386351775,Core_2,0,C,Core_2,0,unlock
-386351775,Core_2,0,C,Core_2,0,idle
-386351775,TASK_WritingActuator,193,C,Core_2,0,idle
-386351825,TASK_WritingActuator,193,STI,IR_SCHED_Tasks_C2,1245,trigger
-386351825,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-386351825,Core_2,0,T,TASK_5MS,193,start
-386351825,TASK_5MS,193,R,FUNC_EXECTIME_1,701,start
-386351825,Core_2,0,C,Core_2,0,execute
-386351825,TASK_5MS,193,C,Core_2,0,execute
-386692400,TASK_1MS,386,R,FUNC_EXECTIME_1,702,terminate
-386692400,Core_1,0,T,TASK_1MS,386,terminate
-386692400,TASK_1MS,386,SCHED,SCHED_Tasks_C1,-1,processterminate
-386692400,Core_1,0,C,Core_1,0,idle
-386692400,TASK_1MS,386,C,Core_1,0,idle
-386692500,TASK_1MS,386,STI,IR_SCHED_Tasks_C1,1300,trigger
-386692500,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-386692500,Core_1,0,C,Core_1,0,execute_idle
-386692500,TASK_InputProcessing,193,C,Core_1,0,execute_idle
-386692500,Core_1,0,T,TASK_InputProcessing,193,resume
-386692500,TASK_InputProcessing,193,R,FUNC_SEMLOCK,387,resume
-386717500,TASK_InputProcessing,193,SEM,SEM_DataElement1,0,requestsemaphore,0
-386717500,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-386717500,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-386717500,Core_1,0,C,Core_1,0,lock
-386717500,TASK_InputProcessing,193,SEM,SEM_DataElement1,0,assigned,1
-386717550,TASK_InputProcessing,193,R,FUNC_SEMLOCK,387,terminate
-386717550,Core_1,0,C,Core_1,0,unlock
-386717550,TASK_InputProcessing,193,R,FUNC_ReadSensorData,193,start
-386817225,TASK_5MS,193,R,FUNC_EXECTIME_1,701,terminate
-386817225,Core_2,0,T,TASK_5MS,193,terminate
-386817225,TASK_5MS,193,SCHED,SCHED_Tasks_C2,-1,processterminate
-386817225,Core_2,0,C,Core_2,0,idle
-386817225,TASK_5MS,193,C,Core_2,0,idle
-386817325,TASK_5MS,193,STI,IR_SCHED_Tasks_C2,1246,trigger
-386817325,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-386879700,TASK_InputProcessing,193,SIG,SIG_RotationSpeed,0,read,0
-386879700,TASK_InputProcessing,193,SIG,SIG_Lambda,0,read,0
-386879700,TASK_InputProcessing,193,SIG,SIG_Temperature,0,read,0
-386879700,TASK_InputProcessing,193,R,FUNC_ReadSensorData,193,terminate
-386879700,TASK_InputProcessing,193,R,FUNC_SEMUNLOCK,387,start
-387079700,TASK_InputProcessing,193,SEM,SEM_DataElement1,0,released,1
-387079700,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-387079700,TASK_InputProcessing,193,SCHED,SCHED_Tasks_C1,-1,schedulepoint
-387079700,Core_1,0,C,Core_1,0,lock
-387079750,TASK_InputProcessing,193,R,FUNC_SEMUNLOCK,387,terminate
-387079750,Core_1,0,C,Core_1,0,unlock
-387079750,TASK_InputProcessing,193,STI,IPA_InputReady,193,trigger
-387079750,IPA_InputReady,193,T,TASK_CalcEngineSpeed,193,activate
-387079750,TASK_CalcEngineSpeed,193,SCHED,SCHED_Tasks_C2,-1,processactivate
-387079750,Core_1,0,T,TASK_InputProcessing,193,terminate
-387079750,TASK_InputProcessing,193,SCHED,SCHED_Tasks_C1,-1,processterminate
-387079750,Core_1,0,C,Core_1,0,idle
-387079750,TASK_InputProcessing,193,C,Core_1,0,idle
-387079800,TASK_InputProcessing,193,STI,IR_SCHED_Tasks_C1,1301,trigger
-387079800,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-387079850,TASK_CalcEngineSpeed,193,STI,IR_SCHED_Tasks_C2,1247,trigger
-387079850,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-387079850,Core_2,0,T,TASK_CalcEngineSpeed,193,start
-387079850,TASK_CalcEngineSpeed,193,R,FUNC_ENGINESPEED,193,start
-387079850,Core_2,0,C,Core_2,0,execute
-387079850,TASK_CalcEngineSpeed,193,C,Core_2,0,execute
-387250000,SIM,-1,STI,TIMER-1MS,387,trigger
-387250000,TIMER-1MS,387,T,TASK_1MS,387,activate
-387250000,TASK_1MS,387,SCHED,SCHED_Tasks_C1,-1,processactivate
-387250100,TASK_1MS,387,STI,IR_SCHED_Tasks_C1,1302,trigger
-387250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-387250100,Core_1,0,T,TASK_1MS,387,start
-387250100,TASK_1MS,387,R,FUNC_EXECTIME_1,703,start
-387250100,Core_1,0,C,Core_1,0,execute
-387250100,TASK_1MS,387,C,Core_1,0,execute
-387320675,TASK_CalcEngineSpeed,193,R,FUNC_ENGINESPEED,193,terminate
-387320675,Core_2,0,T,TASK_CalcEngineSpeed,193,terminate
-387320675,TASK_CalcEngineSpeed,193,SCHED,SCHED_Tasks_C2,-1,processterminate
-387320675,Core_2,0,C,Core_2,0,idle
-387320675,TASK_CalcEngineSpeed,193,C,Core_2,0,idle
-387320775,TASK_CalcEngineSpeed,193,STI,IR_SCHED_Tasks_C2,1248,trigger
-387320775,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-387629000,TASK_1MS,387,R,FUNC_EXECTIME_1,703,terminate
-387629000,Core_1,0,T,TASK_1MS,387,terminate
-387629000,TASK_1MS,387,SCHED,SCHED_Tasks_C1,-1,processterminate
-387629000,Core_1,0,C,Core_1,0,idle
-387629000,TASK_1MS,387,C,Core_1,0,idle
-387629100,TASK_1MS,387,STI,IR_SCHED_Tasks_C1,1303,trigger
-387629100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-388000000,SIM,-1,STI,TIMER-B_2ms,194,trigger
-388000000,TIMER-B_2ms,194,T,TASK_WritingActuator,194,activate
-388000000,TASK_WritingActuator,194,SCHED,SCHED_Tasks_C2,-1,processactivate
-388000100,TASK_WritingActuator,194,STI,IR_SCHED_Tasks_C2,1249,trigger
-388000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-388000100,Core_2,0,T,TASK_WritingActuator,194,start
-388000100,TASK_WritingActuator,194,R,FUNC_SEMLOCK,388,start
-388000100,Core_2,0,C,Core_2,0,execute
-388000100,TASK_WritingActuator,194,C,Core_2,0,execute
-388100000,SIM,-1,STI,TIMER-5MS,194,trigger
-388100000,TIMER-5MS,194,T,TASK_5MS,194,activate
-388100000,TASK_5MS,194,SCHED,SCHED_Tasks_C2,-1,processactivate
-388100100,TASK_5MS,194,STI,IR_SCHED_Tasks_C2,1250,trigger
-388100100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-388125100,TASK_WritingActuator,194,SEM,SEM_DataElement1,0,requestsemaphore,0
-388125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-388125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-388125100,Core_2,0,C,Core_2,0,lock
-388125100,TASK_WritingActuator,194,SEM,SEM_DataElement1,0,assigned,1
-388125150,TASK_WritingActuator,194,R,FUNC_SEMLOCK,388,terminate
-388125150,Core_2,0,C,Core_2,0,unlock
-388125150,TASK_WritingActuator,194,R,FUNC_WriteData,194,start
-388150000,SIM,-1,STI,TIMER-A_2ms,194,trigger
-388150000,TIMER-A_2ms,194,T,TASK_InputProcessing,194,activate
-388150000,TASK_InputProcessing,194,SCHED,SCHED_Tasks_C1,-1,processactivate
-388150100,TASK_InputProcessing,194,STI,IR_SCHED_Tasks_C1,1304,trigger
-388150100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-388150100,Core_1,0,T,TASK_InputProcessing,194,start
-388150100,TASK_InputProcessing,194,R,FUNC_SEMLOCK,389,start
-388150100,Core_1,0,C,Core_1,0,execute
-388150100,TASK_InputProcessing,194,C,Core_1,0,execute
-388152450,TASK_WritingActuator,194,SIG,SIG_Mixture,0,write,0
-388152450,TASK_WritingActuator,194,R,FUNC_WriteData,194,terminate
-388152450,TASK_WritingActuator,194,R,FUNC_SEMUNLOCK,388,start
-388250000,SIM,-1,STI,TIMER-1MS,388,trigger
-388250000,TIMER-1MS,388,T,TASK_1MS,388,activate
-388250000,TASK_1MS,388,SCHED,SCHED_Tasks_C1,-1,processactivate
-388250100,TASK_1MS,388,STI,IR_SCHED_Tasks_C1,1305,trigger
-388250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-388250100,TASK_InputProcessing,194,R,FUNC_SEMLOCK,389,suspend
-388250100,Core_1,0,T,TASK_InputProcessing,194,preempt
-388250100,Core_1,0,C,Core_1,0,idle_execution
-388250100,TASK_InputProcessing,194,C,Core_1,0,idle_execution
-388250100,Core_1,0,T,TASK_1MS,388,start
-388250100,TASK_1MS,388,R,FUNC_EXECTIME_1,705,start
-388250100,Core_1,0,C,Core_1,0,execute
-388250100,TASK_1MS,388,C,Core_1,0,execute
-388352450,TASK_WritingActuator,194,SEM,SEM_DataElement1,0,released,1
-388352450,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-388352450,TASK_WritingActuator,194,SCHED,SCHED_Tasks_C2,-1,schedulepoint
-388352450,Core_2,0,C,Core_2,0,lock
-388352500,TASK_WritingActuator,194,R,FUNC_SEMUNLOCK,388,terminate
-388352500,Core_2,0,T,TASK_WritingActuator,194,terminate
-388352500,TASK_WritingActuator,194,SCHED,SCHED_Tasks_C2,-1,processterminate
-388352500,Core_2,0,C,Core_2,0,unlock
-388352500,Core_2,0,C,Core_2,0,idle
-388352500,TASK_WritingActuator,194,C,Core_2,0,idle
-388352550,TASK_WritingActuator,194,STI,IR_SCHED_Tasks_C2,1251,trigger
-388352550,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-388352550,Core_2,0,T,TASK_5MS,194,start
-388352550,TASK_5MS,194,R,FUNC_EXECTIME_1,704,start
-388352550,Core_2,0,C,Core_2,0,execute
-388352550,TASK_5MS,194,C,Core_2,0,execute
-388692825,TASK_5MS,194,R,FUNC_EXECTIME_1,704,terminate
-388692825,Core_2,0,T,TASK_5MS,194,terminate
-388692825,TASK_5MS,194,SCHED,SCHED_Tasks_C2,-1,processterminate
-388692825,Core_2,0,C,Core_2,0,idle
-388692825,TASK_5MS,194,C,Core_2,0,idle
-388692925,TASK_5MS,194,STI,IR_SCHED_Tasks_C2,1252,trigger
-388692925,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-388902150,TASK_1MS,388,R,FUNC_EXECTIME_1,705,terminate
-388902150,Core_1,0,T,TASK_1MS,388,terminate
-388902150,TASK_1MS,388,SCHED,SCHED_Tasks_C1,-1,processterminate
-388902150,Core_1,0,C,Core_1,0,idle
-388902150,TASK_1MS,388,C,Core_1,0,idle
-388902250,TASK_1MS,388,STI,IR_SCHED_Tasks_C1,1306,trigger
-388902250,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-388902250,Core_1,0,C,Core_1,0,execute_idle
-388902250,TASK_InputProcessing,194,C,Core_1,0,execute_idle
-388902250,Core_1,0,T,TASK_InputProcessing,194,resume
-388902250,TASK_InputProcessing,194,R,FUNC_SEMLOCK,389,resume
-388927250,TASK_InputProcessing,194,SEM,SEM_DataElement1,0,requestsemaphore,0
-388927250,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-388927250,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-388927250,Core_1,0,C,Core_1,0,lock
-388927250,TASK_InputProcessing,194,SEM,SEM_DataElement1,0,assigned,1
-388927300,TASK_InputProcessing,194,R,FUNC_SEMLOCK,389,terminate
-388927300,Core_1,0,C,Core_1,0,unlock
-388927300,TASK_InputProcessing,194,R,FUNC_ReadSensorData,194,start
-389088700,TASK_InputProcessing,194,SIG,SIG_RotationSpeed,0,read,0
-389088700,TASK_InputProcessing,194,SIG,SIG_Lambda,0,read,0
-389088700,TASK_InputProcessing,194,SIG,SIG_Temperature,0,read,0
-389088700,TASK_InputProcessing,194,R,FUNC_ReadSensorData,194,terminate
-389088700,TASK_InputProcessing,194,R,FUNC_SEMUNLOCK,389,start
-389250000,SIM,-1,STI,TIMER-1MS,389,trigger
-389250000,TIMER-1MS,389,T,TASK_1MS,389,activate
-389250000,TASK_1MS,389,SCHED,SCHED_Tasks_C1,-1,processactivate
-389250100,TASK_1MS,389,STI,IR_SCHED_Tasks_C1,1307,trigger
-389250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-389288700,TASK_InputProcessing,194,SEM,SEM_DataElement1,0,released,1
-389288700,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-389288700,TASK_InputProcessing,194,SCHED,SCHED_Tasks_C1,-1,schedulepoint
-389288700,Core_1,0,C,Core_1,0,lock
-389288750,TASK_InputProcessing,194,R,FUNC_SEMUNLOCK,389,terminate
-389288750,Core_1,0,C,Core_1,0,unlock
-389288750,TASK_InputProcessing,194,STI,IPA_InputReady,194,trigger
-389288750,IPA_InputReady,194,T,TASK_CalcEngineSpeed,194,activate
-389288750,TASK_CalcEngineSpeed,194,SCHED,SCHED_Tasks_C2,-1,processactivate
-389288750,Core_1,0,T,TASK_InputProcessing,194,terminate
-389288750,TASK_InputProcessing,194,SCHED,SCHED_Tasks_C1,-1,processterminate
-389288750,Core_1,0,C,Core_1,0,idle
-389288750,TASK_InputProcessing,194,C,Core_1,0,idle
-389288800,TASK_InputProcessing,194,STI,IR_SCHED_Tasks_C1,1308,trigger
-389288800,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-389288800,Core_1,0,T,TASK_1MS,389,start
-389288800,TASK_1MS,389,R,FUNC_EXECTIME_1,706,start
-389288800,Core_1,0,C,Core_1,0,execute
-389288800,TASK_1MS,389,C,Core_1,0,execute
-389288850,TASK_CalcEngineSpeed,194,STI,IR_SCHED_Tasks_C2,1253,trigger
-389288850,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-389288850,Core_2,0,T,TASK_CalcEngineSpeed,194,start
-389288850,TASK_CalcEngineSpeed,194,R,FUNC_ENGINESPEED,194,start
-389288850,Core_2,0,C,Core_2,0,execute
-389288850,TASK_CalcEngineSpeed,194,C,Core_2,0,execute
-389536250,TASK_CalcEngineSpeed,194,R,FUNC_ENGINESPEED,194,terminate
-389536250,Core_2,0,T,TASK_CalcEngineSpeed,194,terminate
-389536250,TASK_CalcEngineSpeed,194,SCHED,SCHED_Tasks_C2,-1,processterminate
-389536250,Core_2,0,C,Core_2,0,idle
-389536250,TASK_CalcEngineSpeed,194,C,Core_2,0,idle
-389536350,TASK_CalcEngineSpeed,194,STI,IR_SCHED_Tasks_C2,1254,trigger
-389536350,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-389628025,TASK_1MS,389,R,FUNC_EXECTIME_1,706,terminate
-389628025,Core_1,0,T,TASK_1MS,389,terminate
-389628025,TASK_1MS,389,SCHED,SCHED_Tasks_C1,-1,processterminate
-389628025,Core_1,0,C,Core_1,0,idle
-389628025,TASK_1MS,389,C,Core_1,0,idle
-389628125,TASK_1MS,389,STI,IR_SCHED_Tasks_C1,1309,trigger
-389628125,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-390000000,SIM,-1,STI,TIMER-B_2ms,195,trigger
-390000000,TIMER-B_2ms,195,T,TASK_WritingActuator,195,activate
-390000000,TASK_WritingActuator,195,SCHED,SCHED_Tasks_C2,-1,processactivate
-390000000,SIM,-1,STI,TIMER-10MS_2,39,trigger
-390000000,TIMER-10MS_2,39,T,TASK_10MS_DL2,39,activate
-390000000,TASK_10MS_DL2,39,SCHED,SCHED_Tasks_C1,-1,processactivate
-390000100,TASK_WritingActuator,195,STI,IR_SCHED_Tasks_C2,1255,trigger
-390000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-390000100,Core_2,0,T,TASK_WritingActuator,195,start
-390000100,TASK_WritingActuator,195,R,FUNC_SEMLOCK,390,start
-390000100,Core_2,0,C,Core_2,0,execute
-390000100,TASK_WritingActuator,195,C,Core_2,0,execute
-390000100,TASK_10MS_DL2,39,STI,IR_SCHED_Tasks_C1,1310,trigger
-390000100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-390000100,Core_1,0,T,TASK_10MS_DL2,39,start
-390000100,TASK_10MS_DL2,39,R,FUNC_EXECTIME_1,707,start
-390000100,Core_1,0,C,Core_1,0,execute
-390000100,TASK_10MS_DL2,39,C,Core_1,0,execute
-390100000,SIM,-1,STI,TIMER-5MS,195,trigger
-390100000,TIMER-5MS,195,T,TASK_5MS,195,activate
-390100000,TASK_5MS,195,SCHED,SCHED_Tasks_C2,-1,processactivate
-390100100,TASK_5MS,195,STI,IR_SCHED_Tasks_C2,1256,trigger
-390100100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-390125100,TASK_WritingActuator,195,SEM,SEM_DataElement1,0,requestsemaphore,0
-390125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-390125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-390125100,Core_2,0,C,Core_2,0,lock
-390125100,TASK_WritingActuator,195,SEM,SEM_DataElement1,0,assigned,1
-390125150,TASK_WritingActuator,195,R,FUNC_SEMLOCK,390,terminate
-390125150,Core_2,0,C,Core_2,0,unlock
-390125150,TASK_WritingActuator,195,R,FUNC_WriteData,195,start
-390150000,SIM,-1,STI,TIMER-A_2ms,195,trigger
-390150000,TIMER-A_2ms,195,T,TASK_InputProcessing,195,activate
-390150000,TASK_InputProcessing,195,SCHED,SCHED_Tasks_C1,-1,processactivate
-390150100,TASK_InputProcessing,195,STI,IR_SCHED_Tasks_C1,1311,trigger
-390150100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-390151500,TASK_WritingActuator,195,SIG,SIG_Mixture,0,write,0
-390151500,TASK_WritingActuator,195,R,FUNC_WriteData,195,terminate
-390151500,TASK_WritingActuator,195,R,FUNC_SEMUNLOCK,390,start
-390250000,SIM,-1,STI,TIMER-1MS,390,trigger
-390250000,TIMER-1MS,390,T,TASK_1MS,390,activate
-390250000,TASK_1MS,390,SCHED,SCHED_Tasks_C1,-1,processactivate
-390250100,TASK_1MS,390,STI,IR_SCHED_Tasks_C1,1312,trigger
-390250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-390250100,TASK_10MS_DL2,39,R,FUNC_EXECTIME_1,707,suspend
-390250100,Core_1,0,T,TASK_10MS_DL2,39,preempt
-390250100,Core_1,0,C,Core_1,0,idle_execution
-390250100,TASK_10MS_DL2,39,C,Core_1,0,idle_execution
-390250100,Core_1,0,T,TASK_1MS,390,start
-390250100,TASK_1MS,390,R,FUNC_EXECTIME_1,709,start
-390250100,Core_1,0,C,Core_1,0,execute
-390250100,TASK_1MS,390,C,Core_1,0,execute
-390351500,TASK_WritingActuator,195,SEM,SEM_DataElement1,0,released,1
-390351500,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-390351500,TASK_WritingActuator,195,SCHED,SCHED_Tasks_C2,-1,schedulepoint
-390351500,Core_2,0,C,Core_2,0,lock
-390351550,TASK_WritingActuator,195,R,FUNC_SEMUNLOCK,390,terminate
-390351550,Core_2,0,T,TASK_WritingActuator,195,terminate
-390351550,TASK_WritingActuator,195,SCHED,SCHED_Tasks_C2,-1,processterminate
-390351550,Core_2,0,C,Core_2,0,unlock
-390351550,Core_2,0,C,Core_2,0,idle
-390351550,TASK_WritingActuator,195,C,Core_2,0,idle
-390351600,TASK_WritingActuator,195,STI,IR_SCHED_Tasks_C2,1257,trigger
-390351600,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-390351600,Core_2,0,T,TASK_5MS,195,start
-390351600,TASK_5MS,195,R,FUNC_EXECTIME_1,708,start
-390351600,Core_2,0,C,Core_2,0,execute
-390351600,TASK_5MS,195,C,Core_2,0,execute
-390651950,TASK_1MS,390,R,FUNC_EXECTIME_1,709,terminate
-390651950,Core_1,0,T,TASK_1MS,390,terminate
-390651950,TASK_1MS,390,SCHED,SCHED_Tasks_C1,-1,processterminate
-390651950,Core_1,0,C,Core_1,0,idle
-390651950,TASK_1MS,390,C,Core_1,0,idle
-390652050,TASK_1MS,390,STI,IR_SCHED_Tasks_C1,1313,trigger
-390652050,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-390652050,Core_1,0,C,Core_1,0,execute_idle
-390652050,TASK_10MS_DL2,39,C,Core_1,0,execute_idle
-390652050,Core_1,0,T,TASK_10MS_DL2,39,resume
-390652050,TASK_10MS_DL2,39,R,FUNC_EXECTIME_1,707,resume
-390771575,TASK_10MS_DL2,39,R,FUNC_EXECTIME_1,707,terminate
-390771575,Core_1,0,T,TASK_10MS_DL2,39,terminate
-390771575,TASK_10MS_DL2,39,SCHED,SCHED_Tasks_C1,-1,processterminate
-390771575,Core_1,0,C,Core_1,0,idle
-390771575,TASK_10MS_DL2,39,C,Core_1,0,idle
-390771675,TASK_10MS_DL2,39,STI,IR_SCHED_Tasks_C1,1314,trigger
-390771675,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-390771675,Core_1,0,T,TASK_InputProcessing,195,start
-390771675,TASK_InputProcessing,195,R,FUNC_SEMLOCK,391,start
-390771675,Core_1,0,C,Core_1,0,execute
-390771675,TASK_InputProcessing,195,C,Core_1,0,execute
-390896675,TASK_InputProcessing,195,SEM,SEM_DataElement1,0,requestsemaphore,0
-390896675,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-390896675,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-390896675,Core_1,0,C,Core_1,0,lock
-390896675,TASK_InputProcessing,195,SEM,SEM_DataElement1,0,assigned,1
-390896725,TASK_InputProcessing,195,R,FUNC_SEMLOCK,391,terminate
-390896725,Core_1,0,C,Core_1,0,unlock
-390896725,TASK_InputProcessing,195,R,FUNC_ReadSensorData,195,start
-390954125,TASK_5MS,195,R,FUNC_EXECTIME_1,708,terminate
-390954125,Core_2,0,T,TASK_5MS,195,terminate
-390954125,TASK_5MS,195,SCHED,SCHED_Tasks_C2,-1,processterminate
-390954125,Core_2,0,C,Core_2,0,idle
-390954125,TASK_5MS,195,C,Core_2,0,idle
-390954225,TASK_5MS,195,STI,IR_SCHED_Tasks_C2,1258,trigger
-390954225,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-391060250,TASK_InputProcessing,195,SIG,SIG_RotationSpeed,0,read,0
-391060250,TASK_InputProcessing,195,SIG,SIG_Lambda,0,read,0
-391060250,TASK_InputProcessing,195,SIG,SIG_Temperature,0,read,0
-391060250,TASK_InputProcessing,195,R,FUNC_ReadSensorData,195,terminate
-391060250,TASK_InputProcessing,195,R,FUNC_SEMUNLOCK,391,start
-391250000,SIM,-1,STI,TIMER-1MS,391,trigger
-391250000,TIMER-1MS,391,T,TASK_1MS,391,activate
-391250000,TASK_1MS,391,SCHED,SCHED_Tasks_C1,-1,processactivate
-391250100,TASK_1MS,391,STI,IR_SCHED_Tasks_C1,1315,trigger
-391250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-391260250,TASK_InputProcessing,195,SEM,SEM_DataElement1,0,released,1
-391260250,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-391260250,TASK_InputProcessing,195,SCHED,SCHED_Tasks_C1,-1,schedulepoint
-391260250,Core_1,0,C,Core_1,0,lock
-391260300,TASK_InputProcessing,195,R,FUNC_SEMUNLOCK,391,terminate
-391260300,Core_1,0,C,Core_1,0,unlock
-391260300,TASK_InputProcessing,195,STI,IPA_InputReady,195,trigger
-391260300,IPA_InputReady,195,T,TASK_CalcEngineSpeed,195,activate
-391260300,TASK_CalcEngineSpeed,195,SCHED,SCHED_Tasks_C2,-1,processactivate
-391260300,Core_1,0,T,TASK_InputProcessing,195,terminate
-391260300,TASK_InputProcessing,195,SCHED,SCHED_Tasks_C1,-1,processterminate
-391260300,Core_1,0,C,Core_1,0,idle
-391260300,TASK_InputProcessing,195,C,Core_1,0,idle
-391260350,TASK_InputProcessing,195,STI,IR_SCHED_Tasks_C1,1316,trigger
-391260350,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-391260350,Core_1,0,T,TASK_1MS,391,start
-391260350,TASK_1MS,391,R,FUNC_EXECTIME_1,710,start
-391260350,Core_1,0,C,Core_1,0,execute
-391260350,TASK_1MS,391,C,Core_1,0,execute
-391260400,TASK_CalcEngineSpeed,195,STI,IR_SCHED_Tasks_C2,1259,trigger
-391260400,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-391260400,Core_2,0,T,TASK_CalcEngineSpeed,195,start
-391260400,TASK_CalcEngineSpeed,195,R,FUNC_ENGINESPEED,195,start
-391260400,Core_2,0,C,Core_2,0,execute
-391260400,TASK_CalcEngineSpeed,195,C,Core_2,0,execute
-391391575,TASK_CalcEngineSpeed,195,R,FUNC_ENGINESPEED,195,terminate
-391391575,Core_2,0,T,TASK_CalcEngineSpeed,195,terminate
-391391575,TASK_CalcEngineSpeed,195,SCHED,SCHED_Tasks_C2,-1,processterminate
-391391575,Core_2,0,C,Core_2,0,idle
-391391575,TASK_CalcEngineSpeed,195,C,Core_2,0,idle
-391391675,TASK_CalcEngineSpeed,195,STI,IR_SCHED_Tasks_C2,1260,trigger
-391391675,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-391745750,TASK_1MS,391,R,FUNC_EXECTIME_1,710,terminate
-391745750,Core_1,0,T,TASK_1MS,391,terminate
-391745750,TASK_1MS,391,SCHED,SCHED_Tasks_C1,-1,processterminate
-391745750,Core_1,0,C,Core_1,0,idle
-391745750,TASK_1MS,391,C,Core_1,0,idle
-391745850,TASK_1MS,391,STI,IR_SCHED_Tasks_C1,1317,trigger
-391745850,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-392000000,SIM,-1,STI,TIMER-B_2ms,196,trigger
-392000000,TIMER-B_2ms,196,T,TASK_WritingActuator,196,activate
-392000000,TASK_WritingActuator,196,SCHED,SCHED_Tasks_C2,-1,processactivate
-392000100,TASK_WritingActuator,196,STI,IR_SCHED_Tasks_C2,1261,trigger
-392000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-392000100,Core_2,0,T,TASK_WritingActuator,196,start
-392000100,TASK_WritingActuator,196,R,FUNC_SEMLOCK,392,start
-392000100,Core_2,0,C,Core_2,0,execute
-392000100,TASK_WritingActuator,196,C,Core_2,0,execute
-392100000,SIM,-1,STI,TIMER-5MS,196,trigger
-392100000,TIMER-5MS,196,T,TASK_5MS,196,activate
-392100000,TASK_5MS,196,SCHED,SCHED_Tasks_C2,-1,processactivate
-392100100,TASK_5MS,196,STI,IR_SCHED_Tasks_C2,1262,trigger
-392100100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-392125100,TASK_WritingActuator,196,SEM,SEM_DataElement1,0,requestsemaphore,0
-392125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-392125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-392125100,Core_2,0,C,Core_2,0,lock
-392125100,TASK_WritingActuator,196,SEM,SEM_DataElement1,0,assigned,1
-392125150,TASK_WritingActuator,196,R,FUNC_SEMLOCK,392,terminate
-392125150,Core_2,0,C,Core_2,0,unlock
-392125150,TASK_WritingActuator,196,R,FUNC_WriteData,196,start
-392150000,SIM,-1,STI,TIMER-A_2ms,196,trigger
-392150000,TIMER-A_2ms,196,T,TASK_InputProcessing,196,activate
-392150000,TASK_InputProcessing,196,SCHED,SCHED_Tasks_C1,-1,processactivate
-392150100,TASK_InputProcessing,196,STI,IR_SCHED_Tasks_C1,1318,trigger
-392150100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-392150100,Core_1,0,T,TASK_InputProcessing,196,start
-392150100,TASK_InputProcessing,196,R,FUNC_SEMLOCK,393,start
-392150100,Core_1,0,C,Core_1,0,execute
-392150100,TASK_InputProcessing,196,C,Core_1,0,execute
-392151700,TASK_WritingActuator,196,SIG,SIG_Mixture,0,write,0
-392151700,TASK_WritingActuator,196,R,FUNC_WriteData,196,terminate
-392151700,TASK_WritingActuator,196,R,FUNC_SEMUNLOCK,392,start
-392250000,SIM,-1,STI,TIMER-1MS,392,trigger
-392250000,TIMER-1MS,392,T,TASK_1MS,392,activate
-392250000,TASK_1MS,392,SCHED,SCHED_Tasks_C1,-1,processactivate
-392250100,TASK_1MS,392,STI,IR_SCHED_Tasks_C1,1319,trigger
-392250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-392250100,TASK_InputProcessing,196,R,FUNC_SEMLOCK,393,suspend
-392250100,Core_1,0,T,TASK_InputProcessing,196,preempt
-392250100,Core_1,0,C,Core_1,0,idle_execution
-392250100,TASK_InputProcessing,196,C,Core_1,0,idle_execution
-392250100,Core_1,0,T,TASK_1MS,392,start
-392250100,TASK_1MS,392,R,FUNC_EXECTIME_1,712,start
-392250100,Core_1,0,C,Core_1,0,execute
-392250100,TASK_1MS,392,C,Core_1,0,execute
-392351700,TASK_WritingActuator,196,SEM,SEM_DataElement1,0,released,1
-392351700,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-392351700,TASK_WritingActuator,196,SCHED,SCHED_Tasks_C2,-1,schedulepoint
-392351700,Core_2,0,C,Core_2,0,lock
-392351750,TASK_WritingActuator,196,R,FUNC_SEMUNLOCK,392,terminate
-392351750,Core_2,0,T,TASK_WritingActuator,196,terminate
-392351750,TASK_WritingActuator,196,SCHED,SCHED_Tasks_C2,-1,processterminate
-392351750,Core_2,0,C,Core_2,0,unlock
-392351750,Core_2,0,C,Core_2,0,idle
-392351750,TASK_WritingActuator,196,C,Core_2,0,idle
-392351800,TASK_WritingActuator,196,STI,IR_SCHED_Tasks_C2,1263,trigger
-392351800,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-392351800,Core_2,0,T,TASK_5MS,196,start
-392351800,TASK_5MS,196,R,FUNC_EXECTIME_1,711,start
-392351800,Core_2,0,C,Core_2,0,execute
-392351800,TASK_5MS,196,C,Core_2,0,execute
-392629925,TASK_5MS,196,R,FUNC_EXECTIME_1,711,terminate
-392629925,Core_2,0,T,TASK_5MS,196,terminate
-392629925,TASK_5MS,196,SCHED,SCHED_Tasks_C2,-1,processterminate
-392629925,Core_2,0,C,Core_2,0,idle
-392629925,TASK_5MS,196,C,Core_2,0,idle
-392630025,TASK_5MS,196,STI,IR_SCHED_Tasks_C2,1264,trigger
-392630025,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-392762675,TASK_1MS,392,R,FUNC_EXECTIME_1,712,terminate
-392762675,Core_1,0,T,TASK_1MS,392,terminate
-392762675,TASK_1MS,392,SCHED,SCHED_Tasks_C1,-1,processterminate
-392762675,Core_1,0,C,Core_1,0,idle
-392762675,TASK_1MS,392,C,Core_1,0,idle
-392762775,TASK_1MS,392,STI,IR_SCHED_Tasks_C1,1320,trigger
-392762775,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-392762775,Core_1,0,C,Core_1,0,execute_idle
-392762775,TASK_InputProcessing,196,C,Core_1,0,execute_idle
-392762775,Core_1,0,T,TASK_InputProcessing,196,resume
-392762775,TASK_InputProcessing,196,R,FUNC_SEMLOCK,393,resume
-392787775,TASK_InputProcessing,196,SEM,SEM_DataElement1,0,requestsemaphore,0
-392787775,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-392787775,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-392787775,Core_1,0,C,Core_1,0,lock
-392787775,TASK_InputProcessing,196,SEM,SEM_DataElement1,0,assigned,1
-392787825,TASK_InputProcessing,196,R,FUNC_SEMLOCK,393,terminate
-392787825,Core_1,0,C,Core_1,0,unlock
-392787825,TASK_InputProcessing,196,R,FUNC_ReadSensorData,196,start
-392951150,TASK_InputProcessing,196,SIG,SIG_RotationSpeed,0,read,0
-392951150,TASK_InputProcessing,196,SIG,SIG_Lambda,0,read,0
-392951150,TASK_InputProcessing,196,SIG,SIG_Temperature,0,read,0
-392951150,TASK_InputProcessing,196,R,FUNC_ReadSensorData,196,terminate
-392951150,TASK_InputProcessing,196,R,FUNC_SEMUNLOCK,393,start
-393151150,TASK_InputProcessing,196,SEM,SEM_DataElement1,0,released,1
-393151150,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-393151150,TASK_InputProcessing,196,SCHED,SCHED_Tasks_C1,-1,schedulepoint
-393151150,Core_1,0,C,Core_1,0,lock
-393151200,TASK_InputProcessing,196,R,FUNC_SEMUNLOCK,393,terminate
-393151200,Core_1,0,C,Core_1,0,unlock
-393151200,TASK_InputProcessing,196,STI,IPA_InputReady,196,trigger
-393151200,IPA_InputReady,196,T,TASK_CalcEngineSpeed,196,activate
-393151200,TASK_CalcEngineSpeed,196,SCHED,SCHED_Tasks_C2,-1,processactivate
-393151200,Core_1,0,T,TASK_InputProcessing,196,terminate
-393151200,TASK_InputProcessing,196,SCHED,SCHED_Tasks_C1,-1,processterminate
-393151200,Core_1,0,C,Core_1,0,idle
-393151200,TASK_InputProcessing,196,C,Core_1,0,idle
-393151250,TASK_InputProcessing,196,STI,IR_SCHED_Tasks_C1,1321,trigger
-393151250,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-393151300,TASK_CalcEngineSpeed,196,STI,IR_SCHED_Tasks_C2,1265,trigger
-393151300,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-393151300,Core_2,0,T,TASK_CalcEngineSpeed,196,start
-393151300,TASK_CalcEngineSpeed,196,R,FUNC_ENGINESPEED,196,start
-393151300,Core_2,0,C,Core_2,0,execute
-393151300,TASK_CalcEngineSpeed,196,C,Core_2,0,execute
-393250000,SIM,-1,STI,TIMER-1MS,393,trigger
-393250000,TIMER-1MS,393,T,TASK_1MS,393,activate
-393250000,TASK_1MS,393,SCHED,SCHED_Tasks_C1,-1,processactivate
-393250100,TASK_1MS,393,STI,IR_SCHED_Tasks_C1,1322,trigger
-393250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-393250100,Core_1,0,T,TASK_1MS,393,start
-393250100,TASK_1MS,393,R,FUNC_EXECTIME_1,713,start
-393250100,Core_1,0,C,Core_1,0,execute
-393250100,TASK_1MS,393,C,Core_1,0,execute
-393328325,TASK_CalcEngineSpeed,196,R,FUNC_ENGINESPEED,196,terminate
-393328325,Core_2,0,T,TASK_CalcEngineSpeed,196,terminate
-393328325,TASK_CalcEngineSpeed,196,SCHED,SCHED_Tasks_C2,-1,processterminate
-393328325,Core_2,0,C,Core_2,0,idle
-393328325,TASK_CalcEngineSpeed,196,C,Core_2,0,idle
-393328425,TASK_CalcEngineSpeed,196,STI,IR_SCHED_Tasks_C2,1266,trigger
-393328425,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-393638925,TASK_1MS,393,R,FUNC_EXECTIME_1,713,terminate
-393638925,Core_1,0,T,TASK_1MS,393,terminate
-393638925,TASK_1MS,393,SCHED,SCHED_Tasks_C1,-1,processterminate
-393638925,Core_1,0,C,Core_1,0,idle
-393638925,TASK_1MS,393,C,Core_1,0,idle
-393639025,TASK_1MS,393,STI,IR_SCHED_Tasks_C1,1323,trigger
-393639025,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-394000000,SIM,-1,STI,TIMER-B_2ms,197,trigger
-394000000,TIMER-B_2ms,197,T,TASK_WritingActuator,197,activate
-394000000,TASK_WritingActuator,197,SCHED,SCHED_Tasks_C2,-1,processactivate
-394000100,TASK_WritingActuator,197,STI,IR_SCHED_Tasks_C2,1267,trigger
-394000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-394000100,Core_2,0,T,TASK_WritingActuator,197,start
-394000100,TASK_WritingActuator,197,R,FUNC_SEMLOCK,394,start
-394000100,Core_2,0,C,Core_2,0,execute
-394000100,TASK_WritingActuator,197,C,Core_2,0,execute
-394100000,SIM,-1,STI,TIMER-5MS,197,trigger
-394100000,TIMER-5MS,197,T,TASK_5MS,197,activate
-394100000,TASK_5MS,197,SCHED,SCHED_Tasks_C2,-1,processactivate
-394100100,TASK_5MS,197,STI,IR_SCHED_Tasks_C2,1268,trigger
-394100100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-394125100,TASK_WritingActuator,197,SEM,SEM_DataElement1,0,requestsemaphore,0
-394125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-394125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-394125100,Core_2,0,C,Core_2,0,lock
-394125100,TASK_WritingActuator,197,SEM,SEM_DataElement1,0,assigned,1
-394125150,TASK_WritingActuator,197,R,FUNC_SEMLOCK,394,terminate
-394125150,Core_2,0,C,Core_2,0,unlock
-394125150,TASK_WritingActuator,197,R,FUNC_WriteData,197,start
-394150000,SIM,-1,STI,TIMER-A_2ms,197,trigger
-394150000,TIMER-A_2ms,197,T,TASK_InputProcessing,197,activate
-394150000,TASK_InputProcessing,197,SCHED,SCHED_Tasks_C1,-1,processactivate
-394150100,TASK_InputProcessing,197,STI,IR_SCHED_Tasks_C1,1324,trigger
-394150100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-394150100,Core_1,0,T,TASK_InputProcessing,197,start
-394150100,TASK_InputProcessing,197,R,FUNC_SEMLOCK,395,start
-394150100,Core_1,0,C,Core_1,0,execute
-394150100,TASK_InputProcessing,197,C,Core_1,0,execute
-394152275,TASK_WritingActuator,197,SIG,SIG_Mixture,0,write,0
-394152275,TASK_WritingActuator,197,R,FUNC_WriteData,197,terminate
-394152275,TASK_WritingActuator,197,R,FUNC_SEMUNLOCK,394,start
-394250000,SIM,-1,STI,TIMER-1MS,394,trigger
-394250000,TIMER-1MS,394,T,TASK_1MS,394,activate
-394250000,TASK_1MS,394,SCHED,SCHED_Tasks_C1,-1,processactivate
-394250100,TASK_1MS,394,STI,IR_SCHED_Tasks_C1,1325,trigger
-394250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-394250100,TASK_InputProcessing,197,R,FUNC_SEMLOCK,395,suspend
-394250100,Core_1,0,T,TASK_InputProcessing,197,preempt
-394250100,Core_1,0,C,Core_1,0,idle_execution
-394250100,TASK_InputProcessing,197,C,Core_1,0,idle_execution
-394250100,Core_1,0,T,TASK_1MS,394,start
-394250100,TASK_1MS,394,R,FUNC_EXECTIME_1,715,start
-394250100,Core_1,0,C,Core_1,0,execute
-394250100,TASK_1MS,394,C,Core_1,0,execute
-394352275,TASK_WritingActuator,197,SEM,SEM_DataElement1,0,released,1
-394352275,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-394352275,TASK_WritingActuator,197,SCHED,SCHED_Tasks_C2,-1,schedulepoint
-394352275,Core_2,0,C,Core_2,0,lock
-394352325,TASK_WritingActuator,197,R,FUNC_SEMUNLOCK,394,terminate
-394352325,Core_2,0,T,TASK_WritingActuator,197,terminate
-394352325,TASK_WritingActuator,197,SCHED,SCHED_Tasks_C2,-1,processterminate
-394352325,Core_2,0,C,Core_2,0,unlock
-394352325,Core_2,0,C,Core_2,0,idle
-394352325,TASK_WritingActuator,197,C,Core_2,0,idle
-394352375,TASK_WritingActuator,197,STI,IR_SCHED_Tasks_C2,1269,trigger
-394352375,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-394352375,Core_2,0,T,TASK_5MS,197,start
-394352375,TASK_5MS,197,R,FUNC_EXECTIME_1,714,start
-394352375,Core_2,0,C,Core_2,0,execute
-394352375,TASK_5MS,197,C,Core_2,0,execute
-394816075,TASK_5MS,197,R,FUNC_EXECTIME_1,714,terminate
-394816075,Core_2,0,T,TASK_5MS,197,terminate
-394816075,TASK_5MS,197,SCHED,SCHED_Tasks_C2,-1,processterminate
-394816075,Core_2,0,C,Core_2,0,idle
-394816075,TASK_5MS,197,C,Core_2,0,idle
-394816175,TASK_5MS,197,STI,IR_SCHED_Tasks_C2,1270,trigger
-394816175,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-394951350,TASK_1MS,394,R,FUNC_EXECTIME_1,715,terminate
-394951350,Core_1,0,T,TASK_1MS,394,terminate
-394951350,TASK_1MS,394,SCHED,SCHED_Tasks_C1,-1,processterminate
-394951350,Core_1,0,C,Core_1,0,idle
-394951350,TASK_1MS,394,C,Core_1,0,idle
-394951450,TASK_1MS,394,STI,IR_SCHED_Tasks_C1,1326,trigger
-394951450,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-394951450,Core_1,0,C,Core_1,0,execute_idle
-394951450,TASK_InputProcessing,197,C,Core_1,0,execute_idle
-394951450,Core_1,0,T,TASK_InputProcessing,197,resume
-394951450,TASK_InputProcessing,197,R,FUNC_SEMLOCK,395,resume
-394976450,TASK_InputProcessing,197,SEM,SEM_DataElement1,0,requestsemaphore,0
-394976450,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-394976450,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-394976450,Core_1,0,C,Core_1,0,lock
-394976450,TASK_InputProcessing,197,SEM,SEM_DataElement1,0,assigned,1
-394976500,TASK_InputProcessing,197,R,FUNC_SEMLOCK,395,terminate
-394976500,Core_1,0,C,Core_1,0,unlock
-394976500,TASK_InputProcessing,197,R,FUNC_ReadSensorData,197,start
-395000000,SIM,-1,STI,TIMER-10MS,39,trigger
-395000000,TIMER-10MS,39,T,TASK_10MS,39,activate
-395000000,TASK_10MS,39,SCHED,SCHED_Tasks_C2,-1,processactivate
-395000100,TASK_10MS,39,STI,IR_SCHED_Tasks_C2,1271,trigger
-395000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-395000100,Core_2,0,T,TASK_10MS,39,start
-395000100,TASK_10MS,39,R,FUNC_EXECTIME_1,716,start
-395000100,Core_2,0,C,Core_2,0,execute
-395000100,TASK_10MS,39,C,Core_2,0,execute
-395135825,TASK_InputProcessing,197,SIG,SIG_RotationSpeed,0,read,0
-395135825,TASK_InputProcessing,197,SIG,SIG_Lambda,0,read,0
-395135825,TASK_InputProcessing,197,SIG,SIG_Temperature,0,read,0
-395135825,TASK_InputProcessing,197,R,FUNC_ReadSensorData,197,terminate
-395135825,TASK_InputProcessing,197,R,FUNC_SEMUNLOCK,395,start
-395250000,SIM,-1,STI,TIMER-1MS,395,trigger
-395250000,TIMER-1MS,395,T,TASK_1MS,395,activate
-395250000,TASK_1MS,395,SCHED,SCHED_Tasks_C1,-1,processactivate
-395250100,TASK_1MS,395,STI,IR_SCHED_Tasks_C1,1327,trigger
-395250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-395335825,TASK_InputProcessing,197,SEM,SEM_DataElement1,0,released,1
-395335825,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-395335825,TASK_InputProcessing,197,SCHED,SCHED_Tasks_C1,-1,schedulepoint
-395335825,Core_1,0,C,Core_1,0,lock
-395335875,TASK_InputProcessing,197,R,FUNC_SEMUNLOCK,395,terminate
-395335875,Core_1,0,C,Core_1,0,unlock
-395335875,TASK_InputProcessing,197,STI,IPA_InputReady,197,trigger
-395335875,IPA_InputReady,197,T,TASK_CalcEngineSpeed,197,activate
-395335875,TASK_CalcEngineSpeed,197,SCHED,SCHED_Tasks_C2,-1,processactivate
-395335875,Core_1,0,T,TASK_InputProcessing,197,terminate
-395335875,TASK_InputProcessing,197,SCHED,SCHED_Tasks_C1,-1,processterminate
-395335875,Core_1,0,C,Core_1,0,idle
-395335875,TASK_InputProcessing,197,C,Core_1,0,idle
-395335925,TASK_InputProcessing,197,STI,IR_SCHED_Tasks_C1,1328,trigger
-395335925,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-395335925,Core_1,0,T,TASK_1MS,395,start
-395335925,TASK_1MS,395,R,FUNC_EXECTIME_1,717,start
-395335925,Core_1,0,C,Core_1,0,execute
-395335925,TASK_1MS,395,C,Core_1,0,execute
-395335975,TASK_CalcEngineSpeed,197,STI,IR_SCHED_Tasks_C2,1272,trigger
-395335975,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-395335975,TASK_10MS,39,R,FUNC_EXECTIME_1,716,suspend
-395335975,Core_2,0,T,TASK_10MS,39,preempt
-395335975,Core_2,0,C,Core_2,0,idle_execution
-395335975,TASK_10MS,39,C,Core_2,0,idle_execution
-395335975,Core_2,0,T,TASK_CalcEngineSpeed,197,start
-395335975,TASK_CalcEngineSpeed,197,R,FUNC_ENGINESPEED,197,start
-395335975,Core_2,0,C,Core_2,0,execute
-395335975,TASK_CalcEngineSpeed,197,C,Core_2,0,execute
-395489925,TASK_CalcEngineSpeed,197,R,FUNC_ENGINESPEED,197,terminate
-395489925,Core_2,0,T,TASK_CalcEngineSpeed,197,terminate
-395489925,TASK_CalcEngineSpeed,197,SCHED,SCHED_Tasks_C2,-1,processterminate
-395489925,Core_2,0,C,Core_2,0,idle
-395489925,TASK_CalcEngineSpeed,197,C,Core_2,0,idle
-395490025,TASK_CalcEngineSpeed,197,STI,IR_SCHED_Tasks_C2,1273,trigger
-395490025,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-395490025,Core_2,0,C,Core_2,0,execute_idle
-395490025,TASK_10MS,39,C,Core_2,0,execute_idle
-395490025,Core_2,0,T,TASK_10MS,39,resume
-395490025,TASK_10MS,39,R,FUNC_EXECTIME_1,716,resume
-395542850,TASK_10MS,39,R,FUNC_EXECTIME_1,716,terminate
-395542850,Core_2,0,T,TASK_10MS,39,terminate
-395542850,TASK_10MS,39,SCHED,SCHED_Tasks_C2,-1,processterminate
-395542850,Core_2,0,C,Core_2,0,idle
-395542850,TASK_10MS,39,C,Core_2,0,idle
-395542950,TASK_10MS,39,STI,IR_SCHED_Tasks_C2,1274,trigger
-395542950,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-395725675,TASK_1MS,395,R,FUNC_EXECTIME_1,717,terminate
-395725675,Core_1,0,T,TASK_1MS,395,terminate
-395725675,TASK_1MS,395,SCHED,SCHED_Tasks_C1,-1,processterminate
-395725675,Core_1,0,C,Core_1,0,idle
-395725675,TASK_1MS,395,C,Core_1,0,idle
-395725775,TASK_1MS,395,STI,IR_SCHED_Tasks_C1,1329,trigger
-395725775,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-396000000,SIM,-1,STI,TIMER-B_2ms,198,trigger
-396000000,TIMER-B_2ms,198,T,TASK_WritingActuator,198,activate
-396000000,TASK_WritingActuator,198,SCHED,SCHED_Tasks_C2,-1,processactivate
-396000100,TASK_WritingActuator,198,STI,IR_SCHED_Tasks_C2,1275,trigger
-396000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-396000100,Core_2,0,T,TASK_WritingActuator,198,start
-396000100,TASK_WritingActuator,198,R,FUNC_SEMLOCK,396,start
-396000100,Core_2,0,C,Core_2,0,execute
-396000100,TASK_WritingActuator,198,C,Core_2,0,execute
-396100000,SIM,-1,STI,TIMER-5MS,198,trigger
-396100000,TIMER-5MS,198,T,TASK_5MS,198,activate
-396100000,TASK_5MS,198,SCHED,SCHED_Tasks_C2,-1,processactivate
-396100100,TASK_5MS,198,STI,IR_SCHED_Tasks_C2,1276,trigger
-396100100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-396125100,TASK_WritingActuator,198,SEM,SEM_DataElement1,0,requestsemaphore,0
-396125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-396125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-396125100,Core_2,0,C,Core_2,0,lock
-396125100,TASK_WritingActuator,198,SEM,SEM_DataElement1,0,assigned,1
-396125150,TASK_WritingActuator,198,R,FUNC_SEMLOCK,396,terminate
-396125150,Core_2,0,C,Core_2,0,unlock
-396125150,TASK_WritingActuator,198,R,FUNC_WriteData,198,start
-396150000,SIM,-1,STI,TIMER-A_2ms,198,trigger
-396150000,TIMER-A_2ms,198,T,TASK_InputProcessing,198,activate
-396150000,TASK_InputProcessing,198,SCHED,SCHED_Tasks_C1,-1,processactivate
-396150100,TASK_InputProcessing,198,STI,IR_SCHED_Tasks_C1,1330,trigger
-396150100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-396150100,Core_1,0,T,TASK_InputProcessing,198,start
-396150100,TASK_InputProcessing,198,R,FUNC_SEMLOCK,397,start
-396150100,Core_1,0,C,Core_1,0,execute
-396150100,TASK_InputProcessing,198,C,Core_1,0,execute
-396151575,TASK_WritingActuator,198,SIG,SIG_Mixture,0,write,0
-396151575,TASK_WritingActuator,198,R,FUNC_WriteData,198,terminate
-396151575,TASK_WritingActuator,198,R,FUNC_SEMUNLOCK,396,start
-396250000,SIM,-1,STI,TIMER-1MS,396,trigger
-396250000,TIMER-1MS,396,T,TASK_1MS,396,activate
-396250000,TASK_1MS,396,SCHED,SCHED_Tasks_C1,-1,processactivate
-396250100,TASK_1MS,396,STI,IR_SCHED_Tasks_C1,1331,trigger
-396250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-396250100,TASK_InputProcessing,198,R,FUNC_SEMLOCK,397,suspend
-396250100,Core_1,0,T,TASK_InputProcessing,198,preempt
-396250100,Core_1,0,C,Core_1,0,idle_execution
-396250100,TASK_InputProcessing,198,C,Core_1,0,idle_execution
-396250100,Core_1,0,T,TASK_1MS,396,start
-396250100,TASK_1MS,396,R,FUNC_EXECTIME_1,719,start
-396250100,Core_1,0,C,Core_1,0,execute
-396250100,TASK_1MS,396,C,Core_1,0,execute
-396351575,TASK_WritingActuator,198,SEM,SEM_DataElement1,0,released,1
-396351575,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-396351575,TASK_WritingActuator,198,SCHED,SCHED_Tasks_C2,-1,schedulepoint
-396351575,Core_2,0,C,Core_2,0,lock
-396351625,TASK_WritingActuator,198,R,FUNC_SEMUNLOCK,396,terminate
-396351625,Core_2,0,T,TASK_WritingActuator,198,terminate
-396351625,TASK_WritingActuator,198,SCHED,SCHED_Tasks_C2,-1,processterminate
-396351625,Core_2,0,C,Core_2,0,unlock
-396351625,Core_2,0,C,Core_2,0,idle
-396351625,TASK_WritingActuator,198,C,Core_2,0,idle
-396351675,TASK_WritingActuator,198,STI,IR_SCHED_Tasks_C2,1277,trigger
-396351675,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-396351675,Core_2,0,T,TASK_5MS,198,start
-396351675,TASK_5MS,198,R,FUNC_EXECTIME_1,718,start
-396351675,Core_2,0,C,Core_2,0,execute
-396351675,TASK_5MS,198,C,Core_2,0,execute
-396846700,TASK_5MS,198,R,FUNC_EXECTIME_1,718,terminate
-396846700,Core_2,0,T,TASK_5MS,198,terminate
-396846700,TASK_5MS,198,SCHED,SCHED_Tasks_C2,-1,processterminate
-396846700,Core_2,0,C,Core_2,0,idle
-396846700,TASK_5MS,198,C,Core_2,0,idle
-396846800,TASK_5MS,198,STI,IR_SCHED_Tasks_C2,1278,trigger
-396846800,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-397152075,TASK_1MS,396,R,FUNC_EXECTIME_1,719,terminate
-397152075,Core_1,0,T,TASK_1MS,396,terminate
-397152075,TASK_1MS,396,SCHED,SCHED_Tasks_C1,-1,processterminate
-397152075,Core_1,0,C,Core_1,0,idle
-397152075,TASK_1MS,396,C,Core_1,0,idle
-397152175,TASK_1MS,396,STI,IR_SCHED_Tasks_C1,1332,trigger
-397152175,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-397152175,Core_1,0,C,Core_1,0,execute_idle
-397152175,TASK_InputProcessing,198,C,Core_1,0,execute_idle
-397152175,Core_1,0,T,TASK_InputProcessing,198,resume
-397152175,TASK_InputProcessing,198,R,FUNC_SEMLOCK,397,resume
-397177175,TASK_InputProcessing,198,SEM,SEM_DataElement1,0,requestsemaphore,0
-397177175,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-397177175,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-397177175,Core_1,0,C,Core_1,0,lock
-397177175,TASK_InputProcessing,198,SEM,SEM_DataElement1,0,assigned,1
-397177225,TASK_InputProcessing,198,R,FUNC_SEMLOCK,397,terminate
-397177225,Core_1,0,C,Core_1,0,unlock
-397177225,TASK_InputProcessing,198,R,FUNC_ReadSensorData,198,start
-397250000,SIM,-1,STI,TIMER-1MS,397,trigger
-397250000,TIMER-1MS,397,T,TASK_1MS,397,activate
-397250000,TASK_1MS,397,SCHED,SCHED_Tasks_C1,-1,processactivate
-397250100,TASK_1MS,397,STI,IR_SCHED_Tasks_C1,1333,trigger
-397250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-397339600,TASK_InputProcessing,198,SIG,SIG_RotationSpeed,0,read,0
-397339600,TASK_InputProcessing,198,SIG,SIG_Lambda,0,read,0
-397339600,TASK_InputProcessing,198,SIG,SIG_Temperature,0,read,0
-397339600,TASK_InputProcessing,198,R,FUNC_ReadSensorData,198,terminate
-397339600,TASK_InputProcessing,198,R,FUNC_SEMUNLOCK,397,start
-397539600,TASK_InputProcessing,198,SEM,SEM_DataElement1,0,released,1
-397539600,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-397539600,TASK_InputProcessing,198,SCHED,SCHED_Tasks_C1,-1,schedulepoint
-397539600,Core_1,0,C,Core_1,0,lock
-397539650,TASK_InputProcessing,198,R,FUNC_SEMUNLOCK,397,terminate
-397539650,Core_1,0,C,Core_1,0,unlock
-397539650,TASK_InputProcessing,198,STI,IPA_InputReady,198,trigger
-397539650,IPA_InputReady,198,T,TASK_CalcEngineSpeed,198,activate
-397539650,TASK_CalcEngineSpeed,198,SCHED,SCHED_Tasks_C2,-1,processactivate
-397539650,Core_1,0,T,TASK_InputProcessing,198,terminate
-397539650,TASK_InputProcessing,198,SCHED,SCHED_Tasks_C1,-1,processterminate
-397539650,Core_1,0,C,Core_1,0,idle
-397539650,TASK_InputProcessing,198,C,Core_1,0,idle
-397539700,TASK_InputProcessing,198,STI,IR_SCHED_Tasks_C1,1334,trigger
-397539700,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-397539700,Core_1,0,T,TASK_1MS,397,start
-397539700,TASK_1MS,397,R,FUNC_EXECTIME_1,720,start
-397539700,Core_1,0,C,Core_1,0,execute
-397539700,TASK_1MS,397,C,Core_1,0,execute
-397539750,TASK_CalcEngineSpeed,198,STI,IR_SCHED_Tasks_C2,1279,trigger
-397539750,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-397539750,Core_2,0,T,TASK_CalcEngineSpeed,198,start
-397539750,TASK_CalcEngineSpeed,198,R,FUNC_ENGINESPEED,198,start
-397539750,Core_2,0,C,Core_2,0,execute
-397539750,TASK_CalcEngineSpeed,198,C,Core_2,0,execute
-397685250,TASK_CalcEngineSpeed,198,R,FUNC_ENGINESPEED,198,terminate
-397685250,Core_2,0,T,TASK_CalcEngineSpeed,198,terminate
-397685250,TASK_CalcEngineSpeed,198,SCHED,SCHED_Tasks_C2,-1,processterminate
-397685250,Core_2,0,C,Core_2,0,idle
-397685250,TASK_CalcEngineSpeed,198,C,Core_2,0,idle
-397685350,TASK_CalcEngineSpeed,198,STI,IR_SCHED_Tasks_C2,1280,trigger
-397685350,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-397945050,TASK_1MS,397,R,FUNC_EXECTIME_1,720,terminate
-397945050,Core_1,0,T,TASK_1MS,397,terminate
-397945050,TASK_1MS,397,SCHED,SCHED_Tasks_C1,-1,processterminate
-397945050,Core_1,0,C,Core_1,0,idle
-397945050,TASK_1MS,397,C,Core_1,0,idle
-397945150,TASK_1MS,397,STI,IR_SCHED_Tasks_C1,1335,trigger
-397945150,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-398000000,SIM,-1,STI,TIMER-B_2ms,199,trigger
-398000000,TIMER-B_2ms,199,T,TASK_WritingActuator,199,activate
-398000000,TASK_WritingActuator,199,SCHED,SCHED_Tasks_C2,-1,processactivate
-398000100,TASK_WritingActuator,199,STI,IR_SCHED_Tasks_C2,1281,trigger
-398000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-398000100,Core_2,0,T,TASK_WritingActuator,199,start
-398000100,TASK_WritingActuator,199,R,FUNC_SEMLOCK,398,start
-398000100,Core_2,0,C,Core_2,0,execute
-398000100,TASK_WritingActuator,199,C,Core_2,0,execute
-398100000,SIM,-1,STI,TIMER-5MS,199,trigger
-398100000,TIMER-5MS,199,T,TASK_5MS,199,activate
-398100000,TASK_5MS,199,SCHED,SCHED_Tasks_C2,-1,processactivate
-398100100,TASK_5MS,199,STI,IR_SCHED_Tasks_C2,1282,trigger
-398100100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-398125100,TASK_WritingActuator,199,SEM,SEM_DataElement1,0,requestsemaphore,0
-398125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-398125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-398125100,Core_2,0,C,Core_2,0,lock
-398125100,TASK_WritingActuator,199,SEM,SEM_DataElement1,0,assigned,1
-398125150,TASK_WritingActuator,199,R,FUNC_SEMLOCK,398,terminate
-398125150,Core_2,0,C,Core_2,0,unlock
-398125150,TASK_WritingActuator,199,R,FUNC_WriteData,199,start
-398150000,SIM,-1,STI,TIMER-A_2ms,199,trigger
-398150000,TIMER-A_2ms,199,T,TASK_InputProcessing,199,activate
-398150000,TASK_InputProcessing,199,SCHED,SCHED_Tasks_C1,-1,processactivate
-398150100,TASK_InputProcessing,199,STI,IR_SCHED_Tasks_C1,1336,trigger
-398150100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-398150100,Core_1,0,T,TASK_InputProcessing,199,start
-398150100,TASK_InputProcessing,199,R,FUNC_SEMLOCK,399,start
-398150100,Core_1,0,C,Core_1,0,execute
-398150100,TASK_InputProcessing,199,C,Core_1,0,execute
-398152450,TASK_WritingActuator,199,SIG,SIG_Mixture,0,write,0
-398152450,TASK_WritingActuator,199,R,FUNC_WriteData,199,terminate
-398152450,TASK_WritingActuator,199,R,FUNC_SEMUNLOCK,398,start
-398250000,SIM,-1,STI,TIMER-1MS,398,trigger
-398250000,TIMER-1MS,398,T,TASK_1MS,398,activate
-398250000,TASK_1MS,398,SCHED,SCHED_Tasks_C1,-1,processactivate
-398250100,TASK_1MS,398,STI,IR_SCHED_Tasks_C1,1337,trigger
-398250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-398250100,TASK_InputProcessing,199,R,FUNC_SEMLOCK,399,suspend
-398250100,Core_1,0,T,TASK_InputProcessing,199,preempt
-398250100,Core_1,0,C,Core_1,0,idle_execution
-398250100,TASK_InputProcessing,199,C,Core_1,0,idle_execution
-398250100,Core_1,0,T,TASK_1MS,398,start
-398250100,TASK_1MS,398,R,FUNC_EXECTIME_1,722,start
-398250100,Core_1,0,C,Core_1,0,execute
-398250100,TASK_1MS,398,C,Core_1,0,execute
-398352450,TASK_WritingActuator,199,SEM,SEM_DataElement1,0,released,1
-398352450,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-398352450,TASK_WritingActuator,199,SCHED,SCHED_Tasks_C2,-1,schedulepoint
-398352450,Core_2,0,C,Core_2,0,lock
-398352500,TASK_WritingActuator,199,R,FUNC_SEMUNLOCK,398,terminate
-398352500,Core_2,0,T,TASK_WritingActuator,199,terminate
-398352500,TASK_WritingActuator,199,SCHED,SCHED_Tasks_C2,-1,processterminate
-398352500,Core_2,0,C,Core_2,0,unlock
-398352500,Core_2,0,C,Core_2,0,idle
-398352500,TASK_WritingActuator,199,C,Core_2,0,idle
-398352550,TASK_WritingActuator,199,STI,IR_SCHED_Tasks_C2,1283,trigger
-398352550,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-398352550,Core_2,0,T,TASK_5MS,199,start
-398352550,TASK_5MS,199,R,FUNC_EXECTIME_1,721,start
-398352550,Core_2,0,C,Core_2,0,execute
-398352550,TASK_5MS,199,C,Core_2,0,execute
-398623700,TASK_5MS,199,R,FUNC_EXECTIME_1,721,terminate
-398623700,Core_2,0,T,TASK_5MS,199,terminate
-398623700,TASK_5MS,199,SCHED,SCHED_Tasks_C2,-1,processterminate
-398623700,Core_2,0,C,Core_2,0,idle
-398623700,TASK_5MS,199,C,Core_2,0,idle
-398623800,TASK_5MS,199,STI,IR_SCHED_Tasks_C2,1284,trigger
-398623800,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-398723850,TASK_1MS,398,R,FUNC_EXECTIME_1,722,terminate
-398723850,Core_1,0,T,TASK_1MS,398,terminate
-398723850,TASK_1MS,398,SCHED,SCHED_Tasks_C1,-1,processterminate
-398723850,Core_1,0,C,Core_1,0,idle
-398723850,TASK_1MS,398,C,Core_1,0,idle
-398723950,TASK_1MS,398,STI,IR_SCHED_Tasks_C1,1338,trigger
-398723950,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-398723950,Core_1,0,C,Core_1,0,execute_idle
-398723950,TASK_InputProcessing,199,C,Core_1,0,execute_idle
-398723950,Core_1,0,T,TASK_InputProcessing,199,resume
-398723950,TASK_InputProcessing,199,R,FUNC_SEMLOCK,399,resume
-398748950,TASK_InputProcessing,199,SEM,SEM_DataElement1,0,requestsemaphore,0
-398748950,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-398748950,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-398748950,Core_1,0,C,Core_1,0,lock
-398748950,TASK_InputProcessing,199,SEM,SEM_DataElement1,0,assigned,1
-398749000,TASK_InputProcessing,199,R,FUNC_SEMLOCK,399,terminate
-398749000,Core_1,0,C,Core_1,0,unlock
-398749000,TASK_InputProcessing,199,R,FUNC_ReadSensorData,199,start
-398911125,TASK_InputProcessing,199,SIG,SIG_RotationSpeed,0,read,0
-398911125,TASK_InputProcessing,199,SIG,SIG_Lambda,0,read,0
-398911125,TASK_InputProcessing,199,SIG,SIG_Temperature,0,read,0
-398911125,TASK_InputProcessing,199,R,FUNC_ReadSensorData,199,terminate
-398911125,TASK_InputProcessing,199,R,FUNC_SEMUNLOCK,399,start
-399111125,TASK_InputProcessing,199,SEM,SEM_DataElement1,0,released,1
-399111125,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-399111125,TASK_InputProcessing,199,SCHED,SCHED_Tasks_C1,-1,schedulepoint
-399111125,Core_1,0,C,Core_1,0,lock
-399111175,TASK_InputProcessing,199,R,FUNC_SEMUNLOCK,399,terminate
-399111175,Core_1,0,C,Core_1,0,unlock
-399111175,TASK_InputProcessing,199,STI,IPA_InputReady,199,trigger
-399111175,IPA_InputReady,199,T,TASK_CalcEngineSpeed,199,activate
-399111175,TASK_CalcEngineSpeed,199,SCHED,SCHED_Tasks_C2,-1,processactivate
-399111175,Core_1,0,T,TASK_InputProcessing,199,terminate
-399111175,TASK_InputProcessing,199,SCHED,SCHED_Tasks_C1,-1,processterminate
-399111175,Core_1,0,C,Core_1,0,idle
-399111175,TASK_InputProcessing,199,C,Core_1,0,idle
-399111225,TASK_InputProcessing,199,STI,IR_SCHED_Tasks_C1,1339,trigger
-399111225,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-399111275,TASK_CalcEngineSpeed,199,STI,IR_SCHED_Tasks_C2,1285,trigger
-399111275,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-399111275,Core_2,0,T,TASK_CalcEngineSpeed,199,start
-399111275,TASK_CalcEngineSpeed,199,R,FUNC_ENGINESPEED,199,start
-399111275,Core_2,0,C,Core_2,0,execute
-399111275,TASK_CalcEngineSpeed,199,C,Core_2,0,execute
-399250000,SIM,-1,STI,TIMER-1MS,399,trigger
-399250000,TIMER-1MS,399,T,TASK_1MS,399,activate
-399250000,TASK_1MS,399,SCHED,SCHED_Tasks_C1,-1,processactivate
-399250100,TASK_1MS,399,STI,IR_SCHED_Tasks_C1,1340,trigger
-399250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-399250100,Core_1,0,T,TASK_1MS,399,start
-399250100,TASK_1MS,399,R,FUNC_EXECTIME_1,723,start
-399250100,Core_1,0,C,Core_1,0,execute
-399250100,TASK_1MS,399,C,Core_1,0,execute
-399284175,TASK_CalcEngineSpeed,199,R,FUNC_ENGINESPEED,199,terminate
-399284175,Core_2,0,T,TASK_CalcEngineSpeed,199,terminate
-399284175,TASK_CalcEngineSpeed,199,SCHED,SCHED_Tasks_C2,-1,processterminate
-399284175,Core_2,0,C,Core_2,0,idle
-399284175,TASK_CalcEngineSpeed,199,C,Core_2,0,idle
-399284275,TASK_CalcEngineSpeed,199,STI,IR_SCHED_Tasks_C2,1286,trigger
-399284275,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-399545925,TASK_1MS,399,R,FUNC_EXECTIME_1,723,terminate
-399545925,Core_1,0,T,TASK_1MS,399,terminate
-399545925,TASK_1MS,399,SCHED,SCHED_Tasks_C1,-1,processterminate
-399545925,Core_1,0,C,Core_1,0,idle
-399545925,TASK_1MS,399,C,Core_1,0,idle
-399546025,TASK_1MS,399,STI,IR_SCHED_Tasks_C1,1341,trigger
-399546025,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-400000000,SIM,-1,STI,TIMER-B_2ms,200,trigger
-400000000,TIMER-B_2ms,200,T,TASK_WritingActuator,200,activate
-400000000,TASK_WritingActuator,200,SCHED,SCHED_Tasks_C2,-1,processactivate
-400000000,SIM,-1,STI,TIMER-10MS_2,40,trigger
-400000000,TIMER-10MS_2,40,T,TASK_10MS_DL2,40,activate
-400000000,TASK_10MS_DL2,40,SCHED,SCHED_Tasks_C1,-1,processactivate
-400000000,SIM,-1,STI,TIMER-200MS,2,trigger
-400000000,TIMER-200MS,2,T,TASK_200MS,2,activate
-400000000,TASK_200MS,2,SCHED,SCHED_Tasks_C1,-1,processactivate
-400000100,TASK_WritingActuator,200,STI,IR_SCHED_Tasks_C2,1287,trigger
-400000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-400000100,Core_2,0,T,TASK_WritingActuator,200,start
-400000100,TASK_WritingActuator,200,R,FUNC_SEMLOCK,400,start
-400000100,Core_2,0,C,Core_2,0,execute
-400000100,TASK_WritingActuator,200,C,Core_2,0,execute
-400000100,TASK_10MS_DL2,40,STI,IR_SCHED_Tasks_C1,1342,trigger
-400000100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-400000100,Core_1,0,T,TASK_10MS_DL2,40,start
-400000100,TASK_10MS_DL2,40,R,FUNC_EXECTIME_1,724,start
-400000100,Core_1,0,C,Core_1,0,execute
-400000100,TASK_10MS_DL2,40,C,Core_1,0,execute
-400005000,SIM,-1,STI,TIMER-20MS,20,trigger
-400005000,TIMER-20MS,20,T,TASK_20MS,20,activate
-400005000,TASK_20MS,20,SCHED,SCHED_Tasks_C1,-1,processactivate
-400005100,TASK_20MS,20,STI,IR_SCHED_Tasks_C1,1343,trigger
-400005100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-400100000,SIM,-1,STI,TIMER-5MS,200,trigger
-400100000,TIMER-5MS,200,T,TASK_5MS,200,activate
-400100000,TASK_5MS,200,SCHED,SCHED_Tasks_C2,-1,processactivate
-400100000,SIM,-1,STI,TIMER-100MS,4,trigger
-400100000,TIMER-100MS,4,T,TASK_100MS,4,activate
-400100000,TASK_100MS,4,SCHED,SCHED_Tasks_C1,-1,processactivate
-400100100,TASK_5MS,200,STI,IR_SCHED_Tasks_C2,1288,trigger
-400100100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-400100100,TASK_100MS,4,STI,IR_SCHED_Tasks_C1,1344,trigger
-400100100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-400125100,TASK_WritingActuator,200,SEM,SEM_DataElement1,0,requestsemaphore,0
-400125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-400125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-400125100,Core_2,0,C,Core_2,0,lock
-400125100,TASK_WritingActuator,200,SEM,SEM_DataElement1,0,assigned,1
-400125150,TASK_WritingActuator,200,R,FUNC_SEMLOCK,400,terminate
-400125150,Core_2,0,C,Core_2,0,unlock
-400125150,TASK_WritingActuator,200,R,FUNC_WriteData,200,start
-400150000,SIM,-1,STI,TIMER-A_2ms,200,trigger
-400150000,TIMER-A_2ms,200,T,TASK_InputProcessing,200,activate
-400150000,TASK_InputProcessing,200,SCHED,SCHED_Tasks_C1,-1,processactivate
-400150100,TASK_InputProcessing,200,STI,IR_SCHED_Tasks_C1,1345,trigger
-400150100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-400152350,TASK_WritingActuator,200,SIG,SIG_Mixture,0,write,0
-400152350,TASK_WritingActuator,200,R,FUNC_WriteData,200,terminate
-400152350,TASK_WritingActuator,200,R,FUNC_SEMUNLOCK,400,start
-400250000,SIM,-1,STI,TIMER-1MS,400,trigger
-400250000,TIMER-1MS,400,T,TASK_1MS,400,activate
-400250000,TASK_1MS,400,SCHED,SCHED_Tasks_C1,-1,processactivate
-400250100,TASK_1MS,400,STI,IR_SCHED_Tasks_C1,1346,trigger
-400250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-400250100,TASK_10MS_DL2,40,R,FUNC_EXECTIME_1,724,suspend
-400250100,Core_1,0,T,TASK_10MS_DL2,40,preempt
-400250100,Core_1,0,C,Core_1,0,idle_execution
-400250100,TASK_10MS_DL2,40,C,Core_1,0,idle_execution
-400250100,Core_1,0,T,TASK_1MS,400,start
-400250100,TASK_1MS,400,R,FUNC_EXECTIME_1,729,start
-400250100,Core_1,0,C,Core_1,0,execute
-400250100,TASK_1MS,400,C,Core_1,0,execute
-400352350,TASK_WritingActuator,200,SEM,SEM_DataElement1,0,released,1
-400352350,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-400352350,TASK_WritingActuator,200,SCHED,SCHED_Tasks_C2,-1,schedulepoint
-400352350,Core_2,0,C,Core_2,0,lock
-400352400,TASK_WritingActuator,200,R,FUNC_SEMUNLOCK,400,terminate
-400352400,Core_2,0,T,TASK_WritingActuator,200,terminate
-400352400,TASK_WritingActuator,200,SCHED,SCHED_Tasks_C2,-1,processterminate
-400352400,Core_2,0,C,Core_2,0,unlock
-400352400,Core_2,0,C,Core_2,0,idle
-400352400,TASK_WritingActuator,200,C,Core_2,0,idle
-400352450,TASK_WritingActuator,200,STI,IR_SCHED_Tasks_C2,1289,trigger
-400352450,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-400352450,Core_2,0,T,TASK_5MS,200,start
-400352450,TASK_5MS,200,R,FUNC_EXECTIME_1,727,start
-400352450,Core_2,0,C,Core_2,0,execute
-400352450,TASK_5MS,200,C,Core_2,0,execute
-400946025,TASK_5MS,200,R,FUNC_EXECTIME_1,727,terminate
-400946025,Core_2,0,T,TASK_5MS,200,terminate
-400946025,TASK_5MS,200,SCHED,SCHED_Tasks_C2,-1,processterminate
-400946025,Core_2,0,C,Core_2,0,idle
-400946025,TASK_5MS,200,C,Core_2,0,idle
-400946125,TASK_5MS,200,STI,IR_SCHED_Tasks_C2,1290,trigger
-400946125,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-400984000,TASK_1MS,400,R,FUNC_EXECTIME_1,729,terminate
-400984000,Core_1,0,T,TASK_1MS,400,terminate
-400984000,TASK_1MS,400,SCHED,SCHED_Tasks_C1,-1,processterminate
-400984000,Core_1,0,C,Core_1,0,idle
-400984000,TASK_1MS,400,C,Core_1,0,idle
-400984100,TASK_1MS,400,STI,IR_SCHED_Tasks_C1,1347,trigger
-400984100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-400984100,Core_1,0,C,Core_1,0,execute_idle
-400984100,TASK_10MS_DL2,40,C,Core_1,0,execute_idle
-400984100,Core_1,0,T,TASK_10MS_DL2,40,resume
-400984100,TASK_10MS_DL2,40,R,FUNC_EXECTIME_1,724,resume
-401069675,TASK_10MS_DL2,40,R,FUNC_EXECTIME_1,724,terminate
-401069675,Core_1,0,T,TASK_10MS_DL2,40,terminate
-401069675,TASK_10MS_DL2,40,SCHED,SCHED_Tasks_C1,-1,processterminate
-401069675,Core_1,0,C,Core_1,0,idle
-401069675,TASK_10MS_DL2,40,C,Core_1,0,idle
-401069775,TASK_10MS_DL2,40,STI,IR_SCHED_Tasks_C1,1348,trigger
-401069775,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-401069775,Core_1,0,T,TASK_InputProcessing,200,start
-401069775,TASK_InputProcessing,200,R,FUNC_SEMLOCK,401,start
-401069775,Core_1,0,C,Core_1,0,execute
-401069775,TASK_InputProcessing,200,C,Core_1,0,execute
-401194775,TASK_InputProcessing,200,SEM,SEM_DataElement1,0,requestsemaphore,0
-401194775,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-401194775,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-401194775,Core_1,0,C,Core_1,0,lock
-401194775,TASK_InputProcessing,200,SEM,SEM_DataElement1,0,assigned,1
-401194825,TASK_InputProcessing,200,R,FUNC_SEMLOCK,401,terminate
-401194825,Core_1,0,C,Core_1,0,unlock
-401194825,TASK_InputProcessing,200,R,FUNC_ReadSensorData,200,start
-401250000,SIM,-1,STI,TIMER-1MS,401,trigger
-401250000,TIMER-1MS,401,T,TASK_1MS,401,activate
-401250000,TASK_1MS,401,SCHED,SCHED_Tasks_C1,-1,processactivate
-401250100,TASK_1MS,401,STI,IR_SCHED_Tasks_C1,1349,trigger
-401250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-401357175,TASK_InputProcessing,200,SIG,SIG_RotationSpeed,0,read,0
-401357175,TASK_InputProcessing,200,SIG,SIG_Lambda,0,read,0
-401357175,TASK_InputProcessing,200,SIG,SIG_Temperature,0,read,0
-401357175,TASK_InputProcessing,200,R,FUNC_ReadSensorData,200,terminate
-401357175,TASK_InputProcessing,200,R,FUNC_SEMUNLOCK,401,start
-401557175,TASK_InputProcessing,200,SEM,SEM_DataElement1,0,released,1
-401557175,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-401557175,TASK_InputProcessing,200,SCHED,SCHED_Tasks_C1,-1,schedulepoint
-401557175,Core_1,0,C,Core_1,0,lock
-401557225,TASK_InputProcessing,200,R,FUNC_SEMUNLOCK,401,terminate
-401557225,Core_1,0,C,Core_1,0,unlock
-401557225,TASK_InputProcessing,200,STI,IPA_InputReady,200,trigger
-401557225,IPA_InputReady,200,T,TASK_CalcEngineSpeed,200,activate
-401557225,TASK_CalcEngineSpeed,200,SCHED,SCHED_Tasks_C2,-1,processactivate
-401557225,Core_1,0,T,TASK_InputProcessing,200,terminate
-401557225,TASK_InputProcessing,200,SCHED,SCHED_Tasks_C1,-1,processterminate
-401557225,Core_1,0,C,Core_1,0,idle
-401557225,TASK_InputProcessing,200,C,Core_1,0,idle
-401557275,TASK_InputProcessing,200,STI,IR_SCHED_Tasks_C1,1350,trigger
-401557275,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-401557275,Core_1,0,T,TASK_1MS,401,start
-401557275,TASK_1MS,401,R,FUNC_EXECTIME_1,730,start
-401557275,Core_1,0,C,Core_1,0,execute
-401557275,TASK_1MS,401,C,Core_1,0,execute
-401557325,TASK_CalcEngineSpeed,200,STI,IR_SCHED_Tasks_C2,1291,trigger
-401557325,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-401557325,Core_2,0,T,TASK_CalcEngineSpeed,200,start
-401557325,TASK_CalcEngineSpeed,200,R,FUNC_ENGINESPEED,200,start
-401557325,Core_2,0,C,Core_2,0,execute
-401557325,TASK_CalcEngineSpeed,200,C,Core_2,0,execute
-401673775,TASK_CalcEngineSpeed,200,R,FUNC_ENGINESPEED,200,terminate
-401673775,Core_2,0,T,TASK_CalcEngineSpeed,200,terminate
-401673775,TASK_CalcEngineSpeed,200,SCHED,SCHED_Tasks_C2,-1,processterminate
-401673775,Core_2,0,C,Core_2,0,idle
-401673775,TASK_CalcEngineSpeed,200,C,Core_2,0,idle
-401673875,TASK_CalcEngineSpeed,200,STI,IR_SCHED_Tasks_C2,1292,trigger
-401673875,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-402000000,SIM,-1,STI,TIMER-B_2ms,201,trigger
-402000000,TIMER-B_2ms,201,T,TASK_WritingActuator,201,activate
-402000000,TASK_WritingActuator,201,SCHED,SCHED_Tasks_C2,-1,processactivate
-402000000,SIM,-1,STI,TIMER-50MS,8,trigger
-402000000,TIMER-50MS,8,T,TASK_50MS,8,activate
-402000000,TASK_50MS,8,SCHED,SCHED_Tasks_C2,-1,processactivate
-402000100,TASK_WritingActuator,201,STI,IR_SCHED_Tasks_C2,1293,trigger
-402000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-402000100,Core_2,0,T,TASK_WritingActuator,201,start
-402000100,TASK_WritingActuator,201,R,FUNC_SEMLOCK,402,start
-402000100,Core_2,0,C,Core_2,0,execute
-402000100,TASK_WritingActuator,201,C,Core_2,0,execute
-402041375,TASK_1MS,401,R,FUNC_EXECTIME_1,730,terminate
-402041375,Core_1,0,T,TASK_1MS,401,terminate
-402041375,TASK_1MS,401,SCHED,SCHED_Tasks_C1,-1,processterminate
-402041375,Core_1,0,C,Core_1,0,idle
-402041375,TASK_1MS,401,C,Core_1,0,idle
-402041475,TASK_1MS,401,STI,IR_SCHED_Tasks_C1,1351,trigger
-402041475,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-402041475,Core_1,0,T,TASK_20MS,20,start
-402041475,TASK_20MS,20,R,FUNC_EXECTIME_1,726,start
-402041475,Core_1,0,C,Core_1,0,execute
-402041475,TASK_20MS,20,C,Core_1,0,execute
-402100000,SIM,-1,STI,TIMER-5MS,201,trigger
-402100000,TIMER-5MS,201,T,TASK_5MS,201,activate
-402100000,TASK_5MS,201,SCHED,SCHED_Tasks_C2,-1,processactivate
-402100100,TASK_5MS,201,STI,IR_SCHED_Tasks_C2,1294,trigger
-402100100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-402125100,TASK_WritingActuator,201,SEM,SEM_DataElement1,0,requestsemaphore,0
-402125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-402125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-402125100,Core_2,0,C,Core_2,0,lock
-402125100,TASK_WritingActuator,201,SEM,SEM_DataElement1,0,assigned,1
-402125150,TASK_WritingActuator,201,R,FUNC_SEMLOCK,402,terminate
-402125150,Core_2,0,C,Core_2,0,unlock
-402125150,TASK_WritingActuator,201,R,FUNC_WriteData,201,start
-402150000,SIM,-1,STI,TIMER-A_2ms,201,trigger
-402150000,TIMER-A_2ms,201,T,TASK_InputProcessing,201,activate
-402150000,TASK_InputProcessing,201,SCHED,SCHED_Tasks_C1,-1,processactivate
-402150100,TASK_InputProcessing,201,STI,IR_SCHED_Tasks_C1,1352,trigger
-402150100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-402150100,TASK_20MS,20,R,FUNC_EXECTIME_1,726,suspend
-402150100,Core_1,0,T,TASK_20MS,20,preempt
-402150100,Core_1,0,C,Core_1,0,idle_execution
-402150100,TASK_20MS,20,C,Core_1,0,idle_execution
-402150100,Core_1,0,T,TASK_InputProcessing,201,start
-402150100,TASK_InputProcessing,201,R,FUNC_SEMLOCK,403,start
-402150100,Core_1,0,C,Core_1,0,execute
-402150100,TASK_InputProcessing,201,C,Core_1,0,execute
-402151625,TASK_WritingActuator,201,SIG,SIG_Mixture,0,write,0
-402151625,TASK_WritingActuator,201,R,FUNC_WriteData,201,terminate
-402151625,TASK_WritingActuator,201,R,FUNC_SEMUNLOCK,402,start
-402250000,SIM,-1,STI,TIMER-1MS,402,trigger
-402250000,TIMER-1MS,402,T,TASK_1MS,402,activate
-402250000,TASK_1MS,402,SCHED,SCHED_Tasks_C1,-1,processactivate
-402250100,TASK_1MS,402,STI,IR_SCHED_Tasks_C1,1353,trigger
-402250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-402250100,TASK_InputProcessing,201,R,FUNC_SEMLOCK,403,suspend
-402250100,Core_1,0,T,TASK_InputProcessing,201,preempt
-402250100,Core_1,0,C,Core_1,0,idle_execution
-402250100,TASK_InputProcessing,201,C,Core_1,0,idle_execution
-402250100,Core_1,0,T,TASK_1MS,402,start
-402250100,TASK_1MS,402,R,FUNC_EXECTIME_1,732,start
-402250100,Core_1,0,C,Core_1,0,execute
-402250100,TASK_1MS,402,C,Core_1,0,execute
-402351625,TASK_WritingActuator,201,SEM,SEM_DataElement1,0,released,1
-402351625,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-402351625,TASK_WritingActuator,201,SCHED,SCHED_Tasks_C2,-1,schedulepoint
-402351625,Core_2,0,C,Core_2,0,lock
-402351675,TASK_WritingActuator,201,R,FUNC_SEMUNLOCK,402,terminate
-402351675,Core_2,0,T,TASK_WritingActuator,201,terminate
-402351675,TASK_WritingActuator,201,SCHED,SCHED_Tasks_C2,-1,processterminate
-402351675,Core_2,0,C,Core_2,0,unlock
-402351675,Core_2,0,C,Core_2,0,idle
-402351675,TASK_WritingActuator,201,C,Core_2,0,idle
-402351725,TASK_WritingActuator,201,STI,IR_SCHED_Tasks_C2,1295,trigger
-402351725,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-402351725,Core_2,0,T,TASK_5MS,201,start
-402351725,TASK_5MS,201,R,FUNC_EXECTIME_1,731,start
-402351725,Core_2,0,C,Core_2,0,execute
-402351725,TASK_5MS,201,C,Core_2,0,execute
-402712300,TASK_5MS,201,R,FUNC_EXECTIME_1,731,terminate
-402712300,Core_2,0,T,TASK_5MS,201,terminate
-402712300,TASK_5MS,201,SCHED,SCHED_Tasks_C2,-1,processterminate
-402712300,Core_2,0,C,Core_2,0,idle
-402712300,TASK_5MS,201,C,Core_2,0,idle
-402712400,TASK_5MS,201,STI,IR_SCHED_Tasks_C2,1296,trigger
-402712400,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-402712400,Core_2,0,T,TASK_50MS,8,start
-402712400,TASK_50MS,8,R,FUNC_EXECTIME_2,8,start
-402712400,Core_2,0,C,Core_2,0,execute
-402712400,TASK_50MS,8,C,Core_2,0,execute
-402846900,TASK_1MS,402,R,FUNC_EXECTIME_1,732,terminate
-402846900,Core_1,0,T,TASK_1MS,402,terminate
-402846900,TASK_1MS,402,SCHED,SCHED_Tasks_C1,-1,processterminate
-402846900,Core_1,0,C,Core_1,0,idle
-402846900,TASK_1MS,402,C,Core_1,0,idle
-402847000,TASK_1MS,402,STI,IR_SCHED_Tasks_C1,1354,trigger
-402847000,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-402847000,Core_1,0,C,Core_1,0,execute_idle
-402847000,TASK_InputProcessing,201,C,Core_1,0,execute_idle
-402847000,Core_1,0,T,TASK_InputProcessing,201,resume
-402847000,TASK_InputProcessing,201,R,FUNC_SEMLOCK,403,resume
-402872000,TASK_InputProcessing,201,SEM,SEM_DataElement1,0,requestsemaphore,0
-402872000,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-402872000,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-402872000,Core_1,0,C,Core_1,0,lock
-402872000,TASK_InputProcessing,201,SEM,SEM_DataElement1,0,assigned,1
-402872050,TASK_InputProcessing,201,R,FUNC_SEMLOCK,403,terminate
-402872050,Core_1,0,C,Core_1,0,unlock
-402872050,TASK_InputProcessing,201,R,FUNC_ReadSensorData,201,start
-403032375,TASK_InputProcessing,201,SIG,SIG_RotationSpeed,0,read,0
-403032375,TASK_InputProcessing,201,SIG,SIG_Lambda,0,read,0
-403032375,TASK_InputProcessing,201,SIG,SIG_Temperature,0,read,0
-403032375,TASK_InputProcessing,201,R,FUNC_ReadSensorData,201,terminate
-403032375,TASK_InputProcessing,201,R,FUNC_SEMUNLOCK,403,start
-403212550,TASK_50MS,8,R,FUNC_EXECTIME_2,8,terminate
-403212550,Core_2,0,T,TASK_50MS,8,terminate
-403212550,TASK_50MS,8,SCHED,SCHED_Tasks_C2,-1,processterminate
-403212550,Core_2,0,C,Core_2,0,idle
-403212550,TASK_50MS,8,C,Core_2,0,idle
-403212650,TASK_50MS,8,STI,IR_SCHED_Tasks_C2,1297,trigger
-403212650,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-403232375,TASK_InputProcessing,201,SEM,SEM_DataElement1,0,released,1
-403232375,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-403232375,TASK_InputProcessing,201,SCHED,SCHED_Tasks_C1,-1,schedulepoint
-403232375,Core_1,0,C,Core_1,0,lock
-403232425,TASK_InputProcessing,201,R,FUNC_SEMUNLOCK,403,terminate
-403232425,Core_1,0,C,Core_1,0,unlock
-403232425,TASK_InputProcessing,201,STI,IPA_InputReady,201,trigger
-403232425,IPA_InputReady,201,T,TASK_CalcEngineSpeed,201,activate
-403232425,TASK_CalcEngineSpeed,201,SCHED,SCHED_Tasks_C2,-1,processactivate
-403232425,Core_1,0,T,TASK_InputProcessing,201,terminate
-403232425,TASK_InputProcessing,201,SCHED,SCHED_Tasks_C1,-1,processterminate
-403232425,Core_1,0,C,Core_1,0,idle
-403232425,TASK_InputProcessing,201,C,Core_1,0,idle
-403232475,TASK_InputProcessing,201,STI,IR_SCHED_Tasks_C1,1355,trigger
-403232475,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-403232475,Core_1,0,C,Core_1,0,execute_idle
-403232475,TASK_20MS,20,C,Core_1,0,execute_idle
-403232475,Core_1,0,T,TASK_20MS,20,resume
-403232475,TASK_20MS,20,R,FUNC_EXECTIME_1,726,resume
-403232525,TASK_CalcEngineSpeed,201,STI,IR_SCHED_Tasks_C2,1298,trigger
-403232525,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-403232525,Core_2,0,T,TASK_CalcEngineSpeed,201,start
-403232525,TASK_CalcEngineSpeed,201,R,FUNC_ENGINESPEED,201,start
-403232525,Core_2,0,C,Core_2,0,execute
-403232525,TASK_CalcEngineSpeed,201,C,Core_2,0,execute
-403250000,SIM,-1,STI,TIMER-1MS,403,trigger
-403250000,TIMER-1MS,403,T,TASK_1MS,403,activate
-403250000,TASK_1MS,403,SCHED,SCHED_Tasks_C1,-1,processactivate
-403250100,TASK_1MS,403,STI,IR_SCHED_Tasks_C1,1356,trigger
-403250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-403250100,TASK_20MS,20,R,FUNC_EXECTIME_1,726,suspend
-403250100,Core_1,0,T,TASK_20MS,20,preempt
-403250100,Core_1,0,C,Core_1,0,idle_execution
-403250100,TASK_20MS,20,C,Core_1,0,idle_execution
-403250100,Core_1,0,T,TASK_1MS,403,start
-403250100,TASK_1MS,403,R,FUNC_EXECTIME_1,733,start
-403250100,Core_1,0,C,Core_1,0,execute
-403250100,TASK_1MS,403,C,Core_1,0,execute
-403451975,TASK_CalcEngineSpeed,201,R,FUNC_ENGINESPEED,201,terminate
-403451975,Core_2,0,T,TASK_CalcEngineSpeed,201,terminate
-403451975,TASK_CalcEngineSpeed,201,SCHED,SCHED_Tasks_C2,-1,processterminate
-403451975,Core_2,0,C,Core_2,0,idle
-403451975,TASK_CalcEngineSpeed,201,C,Core_2,0,idle
-403452075,TASK_CalcEngineSpeed,201,STI,IR_SCHED_Tasks_C2,1299,trigger
-403452075,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-403721300,TASK_1MS,403,R,FUNC_EXECTIME_1,733,terminate
-403721300,Core_1,0,T,TASK_1MS,403,terminate
-403721300,TASK_1MS,403,SCHED,SCHED_Tasks_C1,-1,processterminate
-403721300,Core_1,0,C,Core_1,0,idle
-403721300,TASK_1MS,403,C,Core_1,0,idle
-403721400,TASK_1MS,403,STI,IR_SCHED_Tasks_C1,1357,trigger
-403721400,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-403721400,Core_1,0,C,Core_1,0,execute_idle
-403721400,TASK_20MS,20,C,Core_1,0,execute_idle
-403721400,Core_1,0,T,TASK_20MS,20,resume
-403721400,TASK_20MS,20,R,FUNC_EXECTIME_1,726,resume
-403892800,TASK_20MS,20,R,FUNC_EXECTIME_1,726,terminate
-403892800,Core_1,0,T,TASK_20MS,20,terminate
-403892800,TASK_20MS,20,SCHED,SCHED_Tasks_C1,-1,processterminate
-403892800,Core_1,0,C,Core_1,0,idle
-403892800,TASK_20MS,20,C,Core_1,0,idle
-403892900,TASK_20MS,20,STI,IR_SCHED_Tasks_C1,1358,trigger
-403892900,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-403892900,Core_1,0,T,TASK_100MS,4,start
-403892900,TASK_100MS,4,R,FUNC_EXECTIME_1,728,start
-403892900,Core_1,0,C,Core_1,0,execute
-403892900,TASK_100MS,4,C,Core_1,0,execute
-404000000,SIM,-1,STI,TIMER-B_2ms,202,trigger
-404000000,TIMER-B_2ms,202,T,TASK_WritingActuator,202,activate
-404000000,TASK_WritingActuator,202,SCHED,SCHED_Tasks_C2,-1,processactivate
-404000100,TASK_WritingActuator,202,STI,IR_SCHED_Tasks_C2,1300,trigger
-404000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-404000100,Core_2,0,T,TASK_WritingActuator,202,start
-404000100,TASK_WritingActuator,202,R,FUNC_SEMLOCK,404,start
-404000100,Core_2,0,C,Core_2,0,execute
-404000100,TASK_WritingActuator,202,C,Core_2,0,execute
-404100000,SIM,-1,STI,TIMER-5MS,202,trigger
-404100000,TIMER-5MS,202,T,TASK_5MS,202,activate
-404100000,TASK_5MS,202,SCHED,SCHED_Tasks_C2,-1,processactivate
-404100100,TASK_5MS,202,STI,IR_SCHED_Tasks_C2,1301,trigger
-404100100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-404125100,TASK_WritingActuator,202,SEM,SEM_DataElement1,0,requestsemaphore,0
-404125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-404125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-404125100,Core_2,0,C,Core_2,0,lock
-404125100,TASK_WritingActuator,202,SEM,SEM_DataElement1,0,assigned,1
-404125150,TASK_WritingActuator,202,R,FUNC_SEMLOCK,404,terminate
-404125150,Core_2,0,C,Core_2,0,unlock
-404125150,TASK_WritingActuator,202,R,FUNC_WriteData,202,start
-404150000,SIM,-1,STI,TIMER-A_2ms,202,trigger
-404150000,TIMER-A_2ms,202,T,TASK_InputProcessing,202,activate
-404150000,TASK_InputProcessing,202,SCHED,SCHED_Tasks_C1,-1,processactivate
-404150100,TASK_InputProcessing,202,STI,IR_SCHED_Tasks_C1,1359,trigger
-404150100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-404150100,TASK_100MS,4,R,FUNC_EXECTIME_1,728,suspend
-404150100,Core_1,0,T,TASK_100MS,4,preempt
-404150100,Core_1,0,C,Core_1,0,idle_execution
-404150100,TASK_100MS,4,C,Core_1,0,idle_execution
-404150100,Core_1,0,T,TASK_InputProcessing,202,start
-404150100,TASK_InputProcessing,202,R,FUNC_SEMLOCK,405,start
-404150100,Core_1,0,C,Core_1,0,execute
-404150100,TASK_InputProcessing,202,C,Core_1,0,execute
-404152500,TASK_WritingActuator,202,SIG,SIG_Mixture,0,write,0
-404152500,TASK_WritingActuator,202,R,FUNC_WriteData,202,terminate
-404152500,TASK_WritingActuator,202,R,FUNC_SEMUNLOCK,404,start
-404250000,SIM,-1,STI,TIMER-1MS,404,trigger
-404250000,TIMER-1MS,404,T,TASK_1MS,404,activate
-404250000,TASK_1MS,404,SCHED,SCHED_Tasks_C1,-1,processactivate
-404250100,TASK_1MS,404,STI,IR_SCHED_Tasks_C1,1360,trigger
-404250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-404250100,TASK_InputProcessing,202,R,FUNC_SEMLOCK,405,suspend
-404250100,Core_1,0,T,TASK_InputProcessing,202,preempt
-404250100,Core_1,0,C,Core_1,0,idle_execution
-404250100,TASK_InputProcessing,202,C,Core_1,0,idle_execution
-404250100,Core_1,0,T,TASK_1MS,404,start
-404250100,TASK_1MS,404,R,FUNC_EXECTIME_1,735,start
-404250100,Core_1,0,C,Core_1,0,execute
-404250100,TASK_1MS,404,C,Core_1,0,execute
-404352500,TASK_WritingActuator,202,SEM,SEM_DataElement1,0,released,1
-404352500,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-404352500,TASK_WritingActuator,202,SCHED,SCHED_Tasks_C2,-1,schedulepoint
-404352500,Core_2,0,C,Core_2,0,lock
-404352550,TASK_WritingActuator,202,R,FUNC_SEMUNLOCK,404,terminate
-404352550,Core_2,0,T,TASK_WritingActuator,202,terminate
-404352550,TASK_WritingActuator,202,SCHED,SCHED_Tasks_C2,-1,processterminate
-404352550,Core_2,0,C,Core_2,0,unlock
-404352550,Core_2,0,C,Core_2,0,idle
-404352550,TASK_WritingActuator,202,C,Core_2,0,idle
-404352600,TASK_WritingActuator,202,STI,IR_SCHED_Tasks_C2,1302,trigger
-404352600,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-404352600,Core_2,0,T,TASK_5MS,202,start
-404352600,TASK_5MS,202,R,FUNC_EXECTIME_1,734,start
-404352600,Core_2,0,C,Core_2,0,execute
-404352600,TASK_5MS,202,C,Core_2,0,execute
-404661650,TASK_1MS,404,R,FUNC_EXECTIME_1,735,terminate
-404661650,Core_1,0,T,TASK_1MS,404,terminate
-404661650,TASK_1MS,404,SCHED,SCHED_Tasks_C1,-1,processterminate
-404661650,Core_1,0,C,Core_1,0,idle
-404661650,TASK_1MS,404,C,Core_1,0,idle
-404661750,TASK_1MS,404,STI,IR_SCHED_Tasks_C1,1361,trigger
-404661750,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-404661750,Core_1,0,C,Core_1,0,execute_idle
-404661750,TASK_InputProcessing,202,C,Core_1,0,execute_idle
-404661750,Core_1,0,T,TASK_InputProcessing,202,resume
-404661750,TASK_InputProcessing,202,R,FUNC_SEMLOCK,405,resume
-404682400,TASK_5MS,202,R,FUNC_EXECTIME_1,734,terminate
-404682400,Core_2,0,T,TASK_5MS,202,terminate
-404682400,TASK_5MS,202,SCHED,SCHED_Tasks_C2,-1,processterminate
-404682400,Core_2,0,C,Core_2,0,idle
-404682400,TASK_5MS,202,C,Core_2,0,idle
-404682500,TASK_5MS,202,STI,IR_SCHED_Tasks_C2,1303,trigger
-404682500,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-404686750,TASK_InputProcessing,202,SEM,SEM_DataElement1,0,requestsemaphore,0
-404686750,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-404686750,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-404686750,Core_1,0,C,Core_1,0,lock
-404686750,TASK_InputProcessing,202,SEM,SEM_DataElement1,0,assigned,1
-404686800,TASK_InputProcessing,202,R,FUNC_SEMLOCK,405,terminate
-404686800,Core_1,0,C,Core_1,0,unlock
-404686800,TASK_InputProcessing,202,R,FUNC_ReadSensorData,202,start
-404849725,TASK_InputProcessing,202,SIG,SIG_RotationSpeed,0,read,0
-404849725,TASK_InputProcessing,202,SIG,SIG_Lambda,0,read,0
-404849725,TASK_InputProcessing,202,SIG,SIG_Temperature,0,read,0
-404849725,TASK_InputProcessing,202,R,FUNC_ReadSensorData,202,terminate
-404849725,TASK_InputProcessing,202,R,FUNC_SEMUNLOCK,405,start
-405000000,SIM,-1,STI,TIMER-10MS,40,trigger
-405000000,TIMER-10MS,40,T,TASK_10MS,40,activate
-405000000,TASK_10MS,40,SCHED,SCHED_Tasks_C2,-1,processactivate
-405000100,TASK_10MS,40,STI,IR_SCHED_Tasks_C2,1304,trigger
-405000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-405000100,Core_2,0,T,TASK_10MS,40,start
-405000100,TASK_10MS,40,R,FUNC_EXECTIME_1,736,start
-405000100,Core_2,0,C,Core_2,0,execute
-405000100,TASK_10MS,40,C,Core_2,0,execute
-405049725,TASK_InputProcessing,202,SEM,SEM_DataElement1,0,released,1
-405049725,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-405049725,TASK_InputProcessing,202,SCHED,SCHED_Tasks_C1,-1,schedulepoint
-405049725,Core_1,0,C,Core_1,0,lock
-405049775,TASK_InputProcessing,202,R,FUNC_SEMUNLOCK,405,terminate
-405049775,Core_1,0,C,Core_1,0,unlock
-405049775,TASK_InputProcessing,202,STI,IPA_InputReady,202,trigger
-405049775,IPA_InputReady,202,T,TASK_CalcEngineSpeed,202,activate
-405049775,TASK_CalcEngineSpeed,202,SCHED,SCHED_Tasks_C2,-1,processactivate
-405049775,Core_1,0,T,TASK_InputProcessing,202,terminate
-405049775,TASK_InputProcessing,202,SCHED,SCHED_Tasks_C1,-1,processterminate
-405049775,Core_1,0,C,Core_1,0,idle
-405049775,TASK_InputProcessing,202,C,Core_1,0,idle
-405049825,TASK_InputProcessing,202,STI,IR_SCHED_Tasks_C1,1362,trigger
-405049825,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-405049825,Core_1,0,C,Core_1,0,execute_idle
-405049825,TASK_100MS,4,C,Core_1,0,execute_idle
-405049825,Core_1,0,T,TASK_100MS,4,resume
-405049825,TASK_100MS,4,R,FUNC_EXECTIME_1,728,resume
-405049875,TASK_CalcEngineSpeed,202,STI,IR_SCHED_Tasks_C2,1305,trigger
-405049875,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-405049875,TASK_10MS,40,R,FUNC_EXECTIME_1,736,suspend
-405049875,Core_2,0,T,TASK_10MS,40,preempt
-405049875,Core_2,0,C,Core_2,0,idle_execution
-405049875,TASK_10MS,40,C,Core_2,0,idle_execution
-405049875,Core_2,0,T,TASK_CalcEngineSpeed,202,start
-405049875,TASK_CalcEngineSpeed,202,R,FUNC_ENGINESPEED,202,start
-405049875,Core_2,0,C,Core_2,0,execute
-405049875,TASK_CalcEngineSpeed,202,C,Core_2,0,execute
-405087000,TASK_100MS,4,R,FUNC_EXECTIME_1,728,terminate
-405087000,Core_1,0,T,TASK_100MS,4,terminate
-405087000,TASK_100MS,4,SCHED,SCHED_Tasks_C1,-1,processterminate
-405087000,Core_1,0,C,Core_1,0,idle
-405087000,TASK_100MS,4,C,Core_1,0,idle
-405087100,TASK_100MS,4,STI,IR_SCHED_Tasks_C1,1363,trigger
-405087100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-405087100,Core_1,0,T,TASK_200MS,2,start
-405087100,TASK_200MS,2,R,FUNC_EXECTIME_1,725,start
-405087100,Core_1,0,C,Core_1,0,execute
-405087100,TASK_200MS,2,C,Core_1,0,execute
-405216050,TASK_CalcEngineSpeed,202,R,FUNC_ENGINESPEED,202,terminate
-405216050,Core_2,0,T,TASK_CalcEngineSpeed,202,terminate
-405216050,TASK_CalcEngineSpeed,202,SCHED,SCHED_Tasks_C2,-1,processterminate
-405216050,Core_2,0,C,Core_2,0,idle
-405216050,TASK_CalcEngineSpeed,202,C,Core_2,0,idle
-405216150,TASK_CalcEngineSpeed,202,STI,IR_SCHED_Tasks_C2,1306,trigger
-405216150,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-405216150,Core_2,0,C,Core_2,0,execute_idle
-405216150,TASK_10MS,40,C,Core_2,0,execute_idle
-405216150,Core_2,0,T,TASK_10MS,40,resume
-405216150,TASK_10MS,40,R,FUNC_EXECTIME_1,736,resume
-405250000,SIM,-1,STI,TIMER-1MS,405,trigger
-405250000,TIMER-1MS,405,T,TASK_1MS,405,activate
-405250000,TASK_1MS,405,SCHED,SCHED_Tasks_C1,-1,processactivate
-405250100,TASK_1MS,405,STI,IR_SCHED_Tasks_C1,1364,trigger
-405250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-405250100,TASK_200MS,2,R,FUNC_EXECTIME_1,725,suspend
-405250100,Core_1,0,T,TASK_200MS,2,preempt
-405250100,Core_1,0,C,Core_1,0,idle_execution
-405250100,TASK_200MS,2,C,Core_1,0,idle_execution
-405250100,Core_1,0,T,TASK_1MS,405,start
-405250100,TASK_1MS,405,R,FUNC_EXECTIME_1,737,start
-405250100,Core_1,0,C,Core_1,0,execute
-405250100,TASK_1MS,405,C,Core_1,0,execute
-405696125,TASK_1MS,405,R,FUNC_EXECTIME_1,737,terminate
-405696125,Core_1,0,T,TASK_1MS,405,terminate
-405696125,TASK_1MS,405,SCHED,SCHED_Tasks_C1,-1,processterminate
-405696125,Core_1,0,C,Core_1,0,idle
-405696125,TASK_1MS,405,C,Core_1,0,idle
-405696225,TASK_1MS,405,STI,IR_SCHED_Tasks_C1,1365,trigger
-405696225,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-405696225,Core_1,0,C,Core_1,0,execute_idle
-405696225,TASK_200MS,2,C,Core_1,0,execute_idle
-405696225,Core_1,0,T,TASK_200MS,2,resume
-405696225,TASK_200MS,2,R,FUNC_EXECTIME_1,725,resume
-405697975,TASK_10MS,40,R,FUNC_EXECTIME_1,736,terminate
-405697975,Core_2,0,T,TASK_10MS,40,terminate
-405697975,TASK_10MS,40,SCHED,SCHED_Tasks_C2,-1,processterminate
-405697975,Core_2,0,C,Core_2,0,idle
-405697975,TASK_10MS,40,C,Core_2,0,idle
-405698075,TASK_10MS,40,STI,IR_SCHED_Tasks_C2,1307,trigger
-405698075,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-406000000,SIM,-1,STI,TIMER-B_2ms,203,trigger
-406000000,TIMER-B_2ms,203,T,TASK_WritingActuator,203,activate
-406000000,TASK_WritingActuator,203,SCHED,SCHED_Tasks_C2,-1,processactivate
-406000100,TASK_WritingActuator,203,STI,IR_SCHED_Tasks_C2,1308,trigger
-406000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-406000100,Core_2,0,T,TASK_WritingActuator,203,start
-406000100,TASK_WritingActuator,203,R,FUNC_SEMLOCK,406,start
-406000100,Core_2,0,C,Core_2,0,execute
-406000100,TASK_WritingActuator,203,C,Core_2,0,execute
-406100000,SIM,-1,STI,TIMER-5MS,203,trigger
-406100000,TIMER-5MS,203,T,TASK_5MS,203,activate
-406100000,TASK_5MS,203,SCHED,SCHED_Tasks_C2,-1,processactivate
-406100100,TASK_5MS,203,STI,IR_SCHED_Tasks_C2,1309,trigger
-406100100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-406125100,TASK_WritingActuator,203,SEM,SEM_DataElement1,0,requestsemaphore,0
-406125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-406125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-406125100,Core_2,0,C,Core_2,0,lock
-406125100,TASK_WritingActuator,203,SEM,SEM_DataElement1,0,assigned,1
-406125150,TASK_WritingActuator,203,R,FUNC_SEMLOCK,406,terminate
-406125150,Core_2,0,C,Core_2,0,unlock
-406125150,TASK_WritingActuator,203,R,FUNC_WriteData,203,start
-406150000,SIM,-1,STI,TIMER-A_2ms,203,trigger
-406150000,TIMER-A_2ms,203,T,TASK_InputProcessing,203,activate
-406150000,TASK_InputProcessing,203,SCHED,SCHED_Tasks_C1,-1,processactivate
-406150100,TASK_InputProcessing,203,STI,IR_SCHED_Tasks_C1,1366,trigger
-406150100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-406150100,TASK_200MS,2,R,FUNC_EXECTIME_1,725,suspend
-406150100,Core_1,0,T,TASK_200MS,2,preempt
-406150100,Core_1,0,C,Core_1,0,idle_execution
-406150100,TASK_200MS,2,C,Core_1,0,idle_execution
-406150100,Core_1,0,T,TASK_InputProcessing,203,start
-406150100,TASK_InputProcessing,203,R,FUNC_SEMLOCK,407,start
-406150100,Core_1,0,C,Core_1,0,execute
-406150100,TASK_InputProcessing,203,C,Core_1,0,execute
-406152200,TASK_WritingActuator,203,SIG,SIG_Mixture,0,write,0
-406152200,TASK_WritingActuator,203,R,FUNC_WriteData,203,terminate
-406152200,TASK_WritingActuator,203,R,FUNC_SEMUNLOCK,406,start
-406250000,SIM,-1,STI,TIMER-1MS,406,trigger
-406250000,TIMER-1MS,406,T,TASK_1MS,406,activate
-406250000,TASK_1MS,406,SCHED,SCHED_Tasks_C1,-1,processactivate
-406250100,TASK_1MS,406,STI,IR_SCHED_Tasks_C1,1367,trigger
-406250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-406250100,TASK_InputProcessing,203,R,FUNC_SEMLOCK,407,suspend
-406250100,Core_1,0,T,TASK_InputProcessing,203,preempt
-406250100,Core_1,0,C,Core_1,0,idle_execution
-406250100,TASK_InputProcessing,203,C,Core_1,0,idle_execution
-406250100,Core_1,0,T,TASK_1MS,406,start
-406250100,TASK_1MS,406,R,FUNC_EXECTIME_1,739,start
-406250100,Core_1,0,C,Core_1,0,execute
-406250100,TASK_1MS,406,C,Core_1,0,execute
-406352200,TASK_WritingActuator,203,SEM,SEM_DataElement1,0,released,1
-406352200,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-406352200,TASK_WritingActuator,203,SCHED,SCHED_Tasks_C2,-1,schedulepoint
-406352200,Core_2,0,C,Core_2,0,lock
-406352250,TASK_WritingActuator,203,R,FUNC_SEMUNLOCK,406,terminate
-406352250,Core_2,0,T,TASK_WritingActuator,203,terminate
-406352250,TASK_WritingActuator,203,SCHED,SCHED_Tasks_C2,-1,processterminate
-406352250,Core_2,0,C,Core_2,0,unlock
-406352250,Core_2,0,C,Core_2,0,idle
-406352250,TASK_WritingActuator,203,C,Core_2,0,idle
-406352300,TASK_WritingActuator,203,STI,IR_SCHED_Tasks_C2,1310,trigger
-406352300,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-406352300,Core_2,0,T,TASK_5MS,203,start
-406352300,TASK_5MS,203,R,FUNC_EXECTIME_1,738,start
-406352300,Core_2,0,C,Core_2,0,execute
-406352300,TASK_5MS,203,C,Core_2,0,execute
-406615125,TASK_1MS,406,R,FUNC_EXECTIME_1,739,terminate
-406615125,Core_1,0,T,TASK_1MS,406,terminate
-406615125,TASK_1MS,406,SCHED,SCHED_Tasks_C1,-1,processterminate
-406615125,Core_1,0,C,Core_1,0,idle
-406615125,TASK_1MS,406,C,Core_1,0,idle
-406615225,TASK_1MS,406,STI,IR_SCHED_Tasks_C1,1368,trigger
-406615225,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-406615225,Core_1,0,C,Core_1,0,execute_idle
-406615225,TASK_InputProcessing,203,C,Core_1,0,execute_idle
-406615225,Core_1,0,T,TASK_InputProcessing,203,resume
-406615225,TASK_InputProcessing,203,R,FUNC_SEMLOCK,407,resume
-406635825,TASK_5MS,203,R,FUNC_EXECTIME_1,738,terminate
-406635825,Core_2,0,T,TASK_5MS,203,terminate
-406635825,TASK_5MS,203,SCHED,SCHED_Tasks_C2,-1,processterminate
-406635825,Core_2,0,C,Core_2,0,idle
-406635825,TASK_5MS,203,C,Core_2,0,idle
-406635925,TASK_5MS,203,STI,IR_SCHED_Tasks_C2,1311,trigger
-406635925,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-406640225,TASK_InputProcessing,203,SEM,SEM_DataElement1,0,requestsemaphore,0
-406640225,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-406640225,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-406640225,Core_1,0,C,Core_1,0,lock
-406640225,TASK_InputProcessing,203,SEM,SEM_DataElement1,0,assigned,1
-406640275,TASK_InputProcessing,203,R,FUNC_SEMLOCK,407,terminate
-406640275,Core_1,0,C,Core_1,0,unlock
-406640275,TASK_InputProcessing,203,R,FUNC_ReadSensorData,203,start
-406801625,TASK_InputProcessing,203,SIG,SIG_RotationSpeed,0,read,0
-406801625,TASK_InputProcessing,203,SIG,SIG_Lambda,0,read,0
-406801625,TASK_InputProcessing,203,SIG,SIG_Temperature,0,read,0
-406801625,TASK_InputProcessing,203,R,FUNC_ReadSensorData,203,terminate
-406801625,TASK_InputProcessing,203,R,FUNC_SEMUNLOCK,407,start
-407001625,TASK_InputProcessing,203,SEM,SEM_DataElement1,0,released,1
-407001625,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-407001625,TASK_InputProcessing,203,SCHED,SCHED_Tasks_C1,-1,schedulepoint
-407001625,Core_1,0,C,Core_1,0,lock
-407001675,TASK_InputProcessing,203,R,FUNC_SEMUNLOCK,407,terminate
-407001675,Core_1,0,C,Core_1,0,unlock
-407001675,TASK_InputProcessing,203,STI,IPA_InputReady,203,trigger
-407001675,IPA_InputReady,203,T,TASK_CalcEngineSpeed,203,activate
-407001675,TASK_CalcEngineSpeed,203,SCHED,SCHED_Tasks_C2,-1,processactivate
-407001675,Core_1,0,T,TASK_InputProcessing,203,terminate
-407001675,TASK_InputProcessing,203,SCHED,SCHED_Tasks_C1,-1,processterminate
-407001675,Core_1,0,C,Core_1,0,idle
-407001675,TASK_InputProcessing,203,C,Core_1,0,idle
-407001725,TASK_InputProcessing,203,STI,IR_SCHED_Tasks_C1,1369,trigger
-407001725,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-407001725,Core_1,0,C,Core_1,0,execute_idle
-407001725,TASK_200MS,2,C,Core_1,0,execute_idle
-407001725,Core_1,0,T,TASK_200MS,2,resume
-407001725,TASK_200MS,2,R,FUNC_EXECTIME_1,725,resume
-407001775,TASK_CalcEngineSpeed,203,STI,IR_SCHED_Tasks_C2,1312,trigger
-407001775,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-407001775,Core_2,0,T,TASK_CalcEngineSpeed,203,start
-407001775,TASK_CalcEngineSpeed,203,R,FUNC_ENGINESPEED,203,start
-407001775,Core_2,0,C,Core_2,0,execute
-407001775,TASK_CalcEngineSpeed,203,C,Core_2,0,execute
-407072475,TASK_200MS,2,R,FUNC_EXECTIME_1,725,terminate
-407072475,TASK_200MS,2,SCHED,SCHED_Tasks_C1,-1,schedulepoint
-407072475,Core_1,0,T,TASK_200MS,2,preempt
-407072475,Core_1,0,C,Core_1,0,idle
-407072475,TASK_200MS,2,C,Core_1,0,idle
-407072575,TASK_200MS,2,STI,IR_SCHED_Tasks_C1,1370,trigger
-407072575,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-407072575,Core_1,0,T,TASK_200MS,2,resume
-407072575,TASK_200MS,2,R,FUNC_EXECTIME_1,740,start
-407072575,Core_1,0,C,Core_1,0,execute
-407072575,TASK_200MS,2,C,Core_1,0,execute
-407200250,TASK_CalcEngineSpeed,203,R,FUNC_ENGINESPEED,203,terminate
-407200250,Core_2,0,T,TASK_CalcEngineSpeed,203,terminate
-407200250,TASK_CalcEngineSpeed,203,SCHED,SCHED_Tasks_C2,-1,processterminate
-407200250,Core_2,0,C,Core_2,0,idle
-407200250,TASK_CalcEngineSpeed,203,C,Core_2,0,idle
-407200350,TASK_CalcEngineSpeed,203,STI,IR_SCHED_Tasks_C2,1313,trigger
-407200350,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-407250000,SIM,-1,STI,TIMER-1MS,407,trigger
-407250000,TIMER-1MS,407,T,TASK_1MS,407,activate
-407250000,TASK_1MS,407,SCHED,SCHED_Tasks_C1,-1,processactivate
-407250100,TASK_1MS,407,STI,IR_SCHED_Tasks_C1,1371,trigger
-407250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-407250100,TASK_200MS,2,R,FUNC_EXECTIME_1,740,suspend
-407250100,Core_1,0,T,TASK_200MS,2,preempt
-407250100,Core_1,0,C,Core_1,0,idle_execution
-407250100,TASK_200MS,2,C,Core_1,0,idle_execution
-407250100,Core_1,0,T,TASK_1MS,407,start
-407250100,TASK_1MS,407,R,FUNC_EXECTIME_1,743,start
-407250100,Core_1,0,C,Core_1,0,execute
-407250100,TASK_1MS,407,C,Core_1,0,execute
-407616025,TASK_1MS,407,R,FUNC_EXECTIME_1,743,terminate
-407616025,Core_1,0,T,TASK_1MS,407,terminate
-407616025,TASK_1MS,407,SCHED,SCHED_Tasks_C1,-1,processterminate
-407616025,Core_1,0,C,Core_1,0,idle
-407616025,TASK_1MS,407,C,Core_1,0,idle
-407616125,TASK_1MS,407,STI,IR_SCHED_Tasks_C1,1372,trigger
-407616125,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-407616125,Core_1,0,C,Core_1,0,execute_idle
-407616125,TASK_200MS,2,C,Core_1,0,execute_idle
-407616125,Core_1,0,T,TASK_200MS,2,resume
-407616125,TASK_200MS,2,R,FUNC_EXECTIME_1,740,resume
-408000000,SIM,-1,STI,TIMER-B_2ms,204,trigger
-408000000,TIMER-B_2ms,204,T,TASK_WritingActuator,204,activate
-408000000,TASK_WritingActuator,204,SCHED,SCHED_Tasks_C2,-1,processactivate
-408000100,TASK_WritingActuator,204,STI,IR_SCHED_Tasks_C2,1314,trigger
-408000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-408000100,Core_2,0,T,TASK_WritingActuator,204,start
-408000100,TASK_WritingActuator,204,R,FUNC_SEMLOCK,408,start
-408000100,Core_2,0,C,Core_2,0,execute
-408000100,TASK_WritingActuator,204,C,Core_2,0,execute
-408018875,TASK_200MS,2,R,FUNC_EXECTIME_1,740,terminate
-408018875,TASK_200MS,2,R,FUNC_EXECTIME_1,741,start
-408100000,SIM,-1,STI,TIMER-5MS,204,trigger
-408100000,TIMER-5MS,204,T,TASK_5MS,204,activate
-408100000,TASK_5MS,204,SCHED,SCHED_Tasks_C2,-1,processactivate
-408100100,TASK_5MS,204,STI,IR_SCHED_Tasks_C2,1315,trigger
-408100100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-408125100,TASK_WritingActuator,204,SEM,SEM_DataElement1,0,requestsemaphore,0
-408125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-408125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-408125100,Core_2,0,C,Core_2,0,lock
-408125100,TASK_WritingActuator,204,SEM,SEM_DataElement1,0,assigned,1
-408125150,TASK_WritingActuator,204,R,FUNC_SEMLOCK,408,terminate
-408125150,Core_2,0,C,Core_2,0,unlock
-408125150,TASK_WritingActuator,204,R,FUNC_WriteData,204,start
-408150000,SIM,-1,STI,TIMER-A_2ms,204,trigger
-408150000,TIMER-A_2ms,204,T,TASK_InputProcessing,204,activate
-408150000,TASK_InputProcessing,204,SCHED,SCHED_Tasks_C1,-1,processactivate
-408150100,TASK_InputProcessing,204,STI,IR_SCHED_Tasks_C1,1373,trigger
-408150100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-408150100,TASK_200MS,2,R,FUNC_EXECTIME_1,741,suspend
-408150100,Core_1,0,T,TASK_200MS,2,preempt
-408150100,Core_1,0,C,Core_1,0,idle_execution
-408150100,TASK_200MS,2,C,Core_1,0,idle_execution
-408150100,Core_1,0,T,TASK_InputProcessing,204,start
-408150100,TASK_InputProcessing,204,R,FUNC_SEMLOCK,409,start
-408150100,Core_1,0,C,Core_1,0,execute
-408150100,TASK_InputProcessing,204,C,Core_1,0,execute
-408151600,TASK_WritingActuator,204,SIG,SIG_Mixture,0,write,0
-408151600,TASK_WritingActuator,204,R,FUNC_WriteData,204,terminate
-408151600,TASK_WritingActuator,204,R,FUNC_SEMUNLOCK,408,start
-408250000,SIM,-1,STI,TIMER-1MS,408,trigger
-408250000,TIMER-1MS,408,T,TASK_1MS,408,activate
-408250000,TASK_1MS,408,SCHED,SCHED_Tasks_C1,-1,processactivate
-408250100,TASK_1MS,408,STI,IR_SCHED_Tasks_C1,1374,trigger
-408250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-408250100,TASK_InputProcessing,204,R,FUNC_SEMLOCK,409,suspend
-408250100,Core_1,0,T,TASK_InputProcessing,204,preempt
-408250100,Core_1,0,C,Core_1,0,idle_execution
-408250100,TASK_InputProcessing,204,C,Core_1,0,idle_execution
-408250100,Core_1,0,T,TASK_1MS,408,start
-408250100,TASK_1MS,408,R,FUNC_EXECTIME_1,745,start
-408250100,Core_1,0,C,Core_1,0,execute
-408250100,TASK_1MS,408,C,Core_1,0,execute
-408351600,TASK_WritingActuator,204,SEM,SEM_DataElement1,0,released,1
-408351600,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-408351600,TASK_WritingActuator,204,SCHED,SCHED_Tasks_C2,-1,schedulepoint
-408351600,Core_2,0,C,Core_2,0,lock
-408351650,TASK_WritingActuator,204,R,FUNC_SEMUNLOCK,408,terminate
-408351650,Core_2,0,T,TASK_WritingActuator,204,terminate
-408351650,TASK_WritingActuator,204,SCHED,SCHED_Tasks_C2,-1,processterminate
-408351650,Core_2,0,C,Core_2,0,unlock
-408351650,Core_2,0,C,Core_2,0,idle
-408351650,TASK_WritingActuator,204,C,Core_2,0,idle
-408351700,TASK_WritingActuator,204,STI,IR_SCHED_Tasks_C2,1316,trigger
-408351700,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-408351700,Core_2,0,T,TASK_5MS,204,start
-408351700,TASK_5MS,204,R,FUNC_EXECTIME_1,744,start
-408351700,Core_2,0,C,Core_2,0,execute
-408351700,TASK_5MS,204,C,Core_2,0,execute
-408900675,TASK_1MS,408,R,FUNC_EXECTIME_1,745,terminate
-408900675,Core_1,0,T,TASK_1MS,408,terminate
-408900675,TASK_1MS,408,SCHED,SCHED_Tasks_C1,-1,processterminate
-408900675,Core_1,0,C,Core_1,0,idle
-408900675,TASK_1MS,408,C,Core_1,0,idle
-408900775,TASK_1MS,408,STI,IR_SCHED_Tasks_C1,1375,trigger
-408900775,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-408900775,Core_1,0,C,Core_1,0,execute_idle
-408900775,TASK_InputProcessing,204,C,Core_1,0,execute_idle
-408900775,Core_1,0,T,TASK_InputProcessing,204,resume
-408900775,TASK_InputProcessing,204,R,FUNC_SEMLOCK,409,resume
-408922850,TASK_5MS,204,R,FUNC_EXECTIME_1,744,terminate
-408922850,Core_2,0,T,TASK_5MS,204,terminate
-408922850,TASK_5MS,204,SCHED,SCHED_Tasks_C2,-1,processterminate
-408922850,Core_2,0,C,Core_2,0,idle
-408922850,TASK_5MS,204,C,Core_2,0,idle
-408922950,TASK_5MS,204,STI,IR_SCHED_Tasks_C2,1317,trigger
-408922950,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-408925775,TASK_InputProcessing,204,SEM,SEM_DataElement1,0,requestsemaphore,0
-408925775,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-408925775,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-408925775,Core_1,0,C,Core_1,0,lock
-408925775,TASK_InputProcessing,204,SEM,SEM_DataElement1,0,assigned,1
-408925825,TASK_InputProcessing,204,R,FUNC_SEMLOCK,409,terminate
-408925825,Core_1,0,C,Core_1,0,unlock
-408925825,TASK_InputProcessing,204,R,FUNC_ReadSensorData,204,start
-409086750,TASK_InputProcessing,204,SIG,SIG_RotationSpeed,0,read,0
-409086750,TASK_InputProcessing,204,SIG,SIG_Lambda,0,read,0
-409086750,TASK_InputProcessing,204,SIG,SIG_Temperature,0,read,0
-409086750,TASK_InputProcessing,204,R,FUNC_ReadSensorData,204,terminate
-409086750,TASK_InputProcessing,204,R,FUNC_SEMUNLOCK,409,start
-409250000,SIM,-1,STI,TIMER-1MS,409,trigger
-409250000,TIMER-1MS,409,T,TASK_1MS,409,activate
-409250000,TASK_1MS,409,SCHED,SCHED_Tasks_C1,-1,processactivate
-409250100,TASK_1MS,409,STI,IR_SCHED_Tasks_C1,1376,trigger
-409250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-409286750,TASK_InputProcessing,204,SEM,SEM_DataElement1,0,released,1
-409286750,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-409286750,TASK_InputProcessing,204,SCHED,SCHED_Tasks_C1,-1,schedulepoint
-409286750,Core_1,0,C,Core_1,0,lock
-409286800,TASK_InputProcessing,204,R,FUNC_SEMUNLOCK,409,terminate
-409286800,Core_1,0,C,Core_1,0,unlock
-409286800,TASK_InputProcessing,204,STI,IPA_InputReady,204,trigger
-409286800,IPA_InputReady,204,T,TASK_CalcEngineSpeed,204,activate
-409286800,TASK_CalcEngineSpeed,204,SCHED,SCHED_Tasks_C2,-1,processactivate
-409286800,Core_1,0,T,TASK_InputProcessing,204,terminate
-409286800,TASK_InputProcessing,204,SCHED,SCHED_Tasks_C1,-1,processterminate
-409286800,Core_1,0,C,Core_1,0,idle
-409286800,TASK_InputProcessing,204,C,Core_1,0,idle
-409286850,TASK_InputProcessing,204,STI,IR_SCHED_Tasks_C1,1377,trigger
-409286850,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-409286850,Core_1,0,T,TASK_1MS,409,start
-409286850,TASK_1MS,409,R,FUNC_EXECTIME_1,746,start
-409286850,Core_1,0,C,Core_1,0,execute
-409286850,TASK_1MS,409,C,Core_1,0,execute
-409286900,TASK_CalcEngineSpeed,204,STI,IR_SCHED_Tasks_C2,1318,trigger
-409286900,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-409286900,Core_2,0,T,TASK_CalcEngineSpeed,204,start
-409286900,TASK_CalcEngineSpeed,204,R,FUNC_ENGINESPEED,204,start
-409286900,Core_2,0,C,Core_2,0,execute
-409286900,TASK_CalcEngineSpeed,204,C,Core_2,0,execute
-409532975,TASK_CalcEngineSpeed,204,R,FUNC_ENGINESPEED,204,terminate
-409532975,Core_2,0,T,TASK_CalcEngineSpeed,204,terminate
-409532975,TASK_CalcEngineSpeed,204,SCHED,SCHED_Tasks_C2,-1,processterminate
-409532975,Core_2,0,C,Core_2,0,idle
-409532975,TASK_CalcEngineSpeed,204,C,Core_2,0,idle
-409533075,TASK_CalcEngineSpeed,204,STI,IR_SCHED_Tasks_C2,1319,trigger
-409533075,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-409651625,TASK_1MS,409,R,FUNC_EXECTIME_1,746,terminate
-409651625,Core_1,0,T,TASK_1MS,409,terminate
-409651625,TASK_1MS,409,SCHED,SCHED_Tasks_C1,-1,processterminate
-409651625,Core_1,0,C,Core_1,0,idle
-409651625,TASK_1MS,409,C,Core_1,0,idle
-409651725,TASK_1MS,409,STI,IR_SCHED_Tasks_C1,1378,trigger
-409651725,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-409651725,Core_1,0,C,Core_1,0,execute_idle
-409651725,TASK_200MS,2,C,Core_1,0,execute_idle
-409651725,Core_1,0,T,TASK_200MS,2,resume
-409651725,TASK_200MS,2,R,FUNC_EXECTIME_1,741,resume
-410000000,SIM,-1,STI,TIMER-B_2ms,205,trigger
-410000000,TIMER-B_2ms,205,T,TASK_WritingActuator,205,activate
-410000000,TASK_WritingActuator,205,SCHED,SCHED_Tasks_C2,-1,processactivate
-410000000,SIM,-1,STI,TIMER-10MS_2,41,trigger
-410000000,TIMER-10MS_2,41,T,TASK_10MS_DL2,41,activate
-410000000,TASK_10MS_DL2,41,SCHED,SCHED_Tasks_C1,-1,processactivate
-410000100,TASK_WritingActuator,205,STI,IR_SCHED_Tasks_C2,1320,trigger
-410000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-410000100,Core_2,0,T,TASK_WritingActuator,205,start
-410000100,TASK_WritingActuator,205,R,FUNC_SEMLOCK,410,start
-410000100,Core_2,0,C,Core_2,0,execute
-410000100,TASK_WritingActuator,205,C,Core_2,0,execute
-410000100,TASK_10MS_DL2,41,STI,IR_SCHED_Tasks_C1,1379,trigger
-410000100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-410000100,TASK_200MS,2,R,FUNC_EXECTIME_1,741,suspend
-410000100,Core_1,0,T,TASK_200MS,2,preempt
-410000100,Core_1,0,C,Core_1,0,idle_execution
-410000100,TASK_200MS,2,C,Core_1,0,idle_execution
-410000100,Core_1,0,T,TASK_10MS_DL2,41,start
-410000100,TASK_10MS_DL2,41,R,FUNC_EXECTIME_1,747,start
-410000100,Core_1,0,C,Core_1,0,execute
-410000100,TASK_10MS_DL2,41,C,Core_1,0,execute
-410100000,SIM,-1,STI,TIMER-5MS,205,trigger
-410100000,TIMER-5MS,205,T,TASK_5MS,205,activate
-410100000,TASK_5MS,205,SCHED,SCHED_Tasks_C2,-1,processactivate
-410100100,TASK_5MS,205,STI,IR_SCHED_Tasks_C2,1321,trigger
-410100100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-410125100,TASK_WritingActuator,205,SEM,SEM_DataElement1,0,requestsemaphore,0
-410125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-410125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-410125100,Core_2,0,C,Core_2,0,lock
-410125100,TASK_WritingActuator,205,SEM,SEM_DataElement1,0,assigned,1
-410125150,TASK_WritingActuator,205,R,FUNC_SEMLOCK,410,terminate
-410125150,Core_2,0,C,Core_2,0,unlock
-410125150,TASK_WritingActuator,205,R,FUNC_WriteData,205,start
-410150000,SIM,-1,STI,TIMER-A_2ms,205,trigger
-410150000,TIMER-A_2ms,205,T,TASK_InputProcessing,205,activate
-410150000,TASK_InputProcessing,205,SCHED,SCHED_Tasks_C1,-1,processactivate
-410150100,TASK_InputProcessing,205,STI,IR_SCHED_Tasks_C1,1380,trigger
-410150100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-410152400,TASK_WritingActuator,205,SIG,SIG_Mixture,0,write,0
-410152400,TASK_WritingActuator,205,R,FUNC_WriteData,205,terminate
-410152400,TASK_WritingActuator,205,R,FUNC_SEMUNLOCK,410,start
-410250000,SIM,-1,STI,TIMER-1MS,410,trigger
-410250000,TIMER-1MS,410,T,TASK_1MS,410,activate
-410250000,TASK_1MS,410,SCHED,SCHED_Tasks_C1,-1,processactivate
-410250100,TASK_1MS,410,STI,IR_SCHED_Tasks_C1,1381,trigger
-410250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-410250100,TASK_10MS_DL2,41,R,FUNC_EXECTIME_1,747,suspend
-410250100,Core_1,0,T,TASK_10MS_DL2,41,preempt
-410250100,Core_1,0,C,Core_1,0,idle_execution
-410250100,TASK_10MS_DL2,41,C,Core_1,0,idle_execution
-410250100,Core_1,0,T,TASK_1MS,410,start
-410250100,TASK_1MS,410,R,FUNC_EXECTIME_1,749,start
-410250100,Core_1,0,C,Core_1,0,execute
-410250100,TASK_1MS,410,C,Core_1,0,execute
-410352400,TASK_WritingActuator,205,SEM,SEM_DataElement1,0,released,1
-410352400,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-410352400,TASK_WritingActuator,205,SCHED,SCHED_Tasks_C2,-1,schedulepoint
-410352400,Core_2,0,C,Core_2,0,lock
-410352450,TASK_WritingActuator,205,R,FUNC_SEMUNLOCK,410,terminate
-410352450,Core_2,0,T,TASK_WritingActuator,205,terminate
-410352450,TASK_WritingActuator,205,SCHED,SCHED_Tasks_C2,-1,processterminate
-410352450,Core_2,0,C,Core_2,0,unlock
-410352450,Core_2,0,C,Core_2,0,idle
-410352450,TASK_WritingActuator,205,C,Core_2,0,idle
-410352500,TASK_WritingActuator,205,STI,IR_SCHED_Tasks_C2,1322,trigger
-410352500,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-410352500,Core_2,0,T,TASK_5MS,205,start
-410352500,TASK_5MS,205,R,FUNC_EXECTIME_1,748,start
-410352500,Core_2,0,C,Core_2,0,execute
-410352500,TASK_5MS,205,C,Core_2,0,execute
-410693750,TASK_5MS,205,R,FUNC_EXECTIME_1,748,terminate
-410693750,Core_2,0,T,TASK_5MS,205,terminate
-410693750,TASK_5MS,205,SCHED,SCHED_Tasks_C2,-1,processterminate
-410693750,Core_2,0,C,Core_2,0,idle
-410693750,TASK_5MS,205,C,Core_2,0,idle
-410693850,TASK_5MS,205,STI,IR_SCHED_Tasks_C2,1323,trigger
-410693850,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-411250000,SIM,-1,STI,TIMER-1MS,411,trigger
-411250000,TIMER-1MS,411,T,TASK_1MS,411,activate
-411250000,TASK_1MS,411,SCHED,SCHED_Tasks_C1,-1,processactivate
-411250100,TASK_1MS,411,STI,IR_SCHED_Tasks_C1,1382,trigger
-411250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-411347775,TASK_1MS,410,R,FUNC_EXECTIME_1,749,terminate
-411347775,Core_1,0,T,TASK_1MS,410,terminate
-411347775,TASK_1MS,410,SCHED,SCHED_Tasks_C1,-1,processterminate
-411347775,Core_1,0,C,Core_1,0,idle
-411347775,TASK_1MS,410,C,Core_1,0,idle
-411347875,TASK_1MS,410,STI,IR_SCHED_Tasks_C1,1383,trigger
-411347875,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-411347875,Core_1,0,T,TASK_1MS,411,start
-411347875,TASK_1MS,411,R,FUNC_EXECTIME_1,750,start
-411347875,Core_1,0,C,Core_1,0,execute
-411347875,TASK_1MS,411,C,Core_1,0,execute
-411890550,TASK_1MS,411,R,FUNC_EXECTIME_1,750,terminate
-411890550,Core_1,0,T,TASK_1MS,411,terminate
-411890550,TASK_1MS,411,SCHED,SCHED_Tasks_C1,-1,processterminate
-411890550,Core_1,0,C,Core_1,0,idle
-411890550,TASK_1MS,411,C,Core_1,0,idle
-411890650,TASK_1MS,411,STI,IR_SCHED_Tasks_C1,1384,trigger
-411890650,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-411890650,Core_1,0,C,Core_1,0,execute_idle
-411890650,TASK_10MS_DL2,41,C,Core_1,0,execute_idle
-411890650,Core_1,0,T,TASK_10MS_DL2,41,resume
-411890650,TASK_10MS_DL2,41,R,FUNC_EXECTIME_1,747,resume
-412000000,SIM,-1,STI,TIMER-B_2ms,206,trigger
-412000000,TIMER-B_2ms,206,T,TASK_WritingActuator,206,activate
-412000000,TASK_WritingActuator,206,SCHED,SCHED_Tasks_C2,-1,processactivate
-412000100,TASK_WritingActuator,206,STI,IR_SCHED_Tasks_C2,1324,trigger
-412000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-412000100,Core_2,0,T,TASK_WritingActuator,206,start
-412000100,TASK_WritingActuator,206,R,FUNC_SEMLOCK,412,start
-412000100,Core_2,0,C,Core_2,0,execute
-412000100,TASK_WritingActuator,206,C,Core_2,0,execute
-412100000,SIM,-1,STI,TIMER-5MS,206,trigger
-412100000,TIMER-5MS,206,T,TASK_5MS,206,activate
-412100000,TASK_5MS,206,SCHED,SCHED_Tasks_C2,-1,processactivate
-412100100,TASK_5MS,206,STI,IR_SCHED_Tasks_C2,1325,trigger
-412100100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-412125100,TASK_WritingActuator,206,SEM,SEM_DataElement1,0,requestsemaphore,0
-412125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-412125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-412125100,Core_2,0,C,Core_2,0,lock
-412125100,TASK_WritingActuator,206,SEM,SEM_DataElement1,0,assigned,1
-412125150,TASK_WritingActuator,206,R,FUNC_SEMLOCK,412,terminate
-412125150,Core_2,0,C,Core_2,0,unlock
-412125150,TASK_WritingActuator,206,R,FUNC_WriteData,206,start
-412150000,SIM,-1,STI,TIMER-A_2ms,206,trigger
-412150000,TIMER-A_2ms,206,T,TASK_InputProcessing,206,activate
-412150000,TASK_InputProcessing,206,SCHED,SCHED_Tasks_C1,-1,processactivate
-412150100,TASK_InputProcessing,206,STI,IR_SCHED_Tasks_C1,1385,trigger
-412150100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-412152425,TASK_WritingActuator,206,SIG,SIG_Mixture,0,write,0
-412152425,TASK_WritingActuator,206,R,FUNC_WriteData,206,terminate
-412152425,TASK_WritingActuator,206,R,FUNC_SEMUNLOCK,412,start
-412250000,SIM,-1,STI,TIMER-1MS,412,trigger
-412250000,TIMER-1MS,412,T,TASK_1MS,412,activate
-412250000,TASK_1MS,412,SCHED,SCHED_Tasks_C1,-1,processactivate
-412250100,TASK_1MS,412,STI,IR_SCHED_Tasks_C1,1386,trigger
-412250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-412250100,TASK_10MS_DL2,41,R,FUNC_EXECTIME_1,747,suspend
-412250100,Core_1,0,T,TASK_10MS_DL2,41,preempt
-412250100,Core_1,0,C,Core_1,0,idle_execution
-412250100,TASK_10MS_DL2,41,C,Core_1,0,idle_execution
-412250100,Core_1,0,T,TASK_1MS,412,start
-412250100,TASK_1MS,412,R,FUNC_EXECTIME_1,752,start
-412250100,Core_1,0,C,Core_1,0,execute
-412250100,TASK_1MS,412,C,Core_1,0,execute
-412352425,TASK_WritingActuator,206,SEM,SEM_DataElement1,0,released,1
-412352425,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-412352425,TASK_WritingActuator,206,SCHED,SCHED_Tasks_C2,-1,schedulepoint
-412352425,Core_2,0,C,Core_2,0,lock
-412352475,TASK_WritingActuator,206,R,FUNC_SEMUNLOCK,412,terminate
-412352475,Core_2,0,T,TASK_WritingActuator,206,terminate
-412352475,TASK_WritingActuator,206,SCHED,SCHED_Tasks_C2,-1,processterminate
-412352475,Core_2,0,C,Core_2,0,unlock
-412352475,Core_2,0,C,Core_2,0,idle
-412352475,TASK_WritingActuator,206,C,Core_2,0,idle
-412352525,TASK_WritingActuator,206,STI,IR_SCHED_Tasks_C2,1326,trigger
-412352525,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-412352525,Core_2,0,T,TASK_5MS,206,start
-412352525,TASK_5MS,206,R,FUNC_EXECTIME_1,751,start
-412352525,Core_2,0,C,Core_2,0,execute
-412352525,TASK_5MS,206,C,Core_2,0,execute
-412725775,TASK_1MS,412,R,FUNC_EXECTIME_1,752,terminate
-412725775,Core_1,0,T,TASK_1MS,412,terminate
-412725775,TASK_1MS,412,SCHED,SCHED_Tasks_C1,-1,processterminate
-412725775,Core_1,0,C,Core_1,0,idle
-412725775,TASK_1MS,412,C,Core_1,0,idle
-412725875,TASK_1MS,412,STI,IR_SCHED_Tasks_C1,1387,trigger
-412725875,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-412725875,Core_1,0,C,Core_1,0,execute_idle
-412725875,TASK_10MS_DL2,41,C,Core_1,0,execute_idle
-412725875,Core_1,0,T,TASK_10MS_DL2,41,resume
-412725875,TASK_10MS_DL2,41,R,FUNC_EXECTIME_1,747,resume
-412791375,TASK_10MS_DL2,41,R,FUNC_EXECTIME_1,747,terminate
-412791375,Core_1,0,T,TASK_10MS_DL2,41,terminate
-412791375,TASK_10MS_DL2,41,SCHED,SCHED_Tasks_C1,-1,processterminate
-412791375,Core_1,0,C,Core_1,0,idle
-412791375,TASK_10MS_DL2,41,C,Core_1,0,idle
-412791475,TASK_10MS_DL2,41,STI,IR_SCHED_Tasks_C1,1388,trigger
-412791475,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-412791475,Core_1,0,T,TASK_InputProcessing,205,start
-412791475,TASK_InputProcessing,205,R,FUNC_SEMLOCK,411,start
-412791475,Core_1,0,C,Core_1,0,execute
-412791475,TASK_InputProcessing,205,C,Core_1,0,execute
-412916475,TASK_InputProcessing,205,SEM,SEM_DataElement1,0,requestsemaphore,0
-412916475,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-412916475,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-412916475,Core_1,0,C,Core_1,0,lock
-412916475,TASK_InputProcessing,205,SEM,SEM_DataElement1,0,assigned,1
-412916525,TASK_InputProcessing,205,R,FUNC_SEMLOCK,411,terminate
-412916525,Core_1,0,C,Core_1,0,unlock
-412916525,TASK_InputProcessing,205,R,FUNC_ReadSensorData,205,start
-413079800,TASK_InputProcessing,205,SIG,SIG_RotationSpeed,0,read,0
-413079800,TASK_InputProcessing,205,SIG,SIG_Lambda,0,read,0
-413079800,TASK_InputProcessing,205,SIG,SIG_Temperature,0,read,0
-413079800,TASK_InputProcessing,205,R,FUNC_ReadSensorData,205,terminate
-413079800,TASK_InputProcessing,205,R,FUNC_SEMUNLOCK,411,start
-413250000,SIM,-1,STI,TIMER-1MS,413,trigger
-413250000,TIMER-1MS,413,T,TASK_1MS,413,activate
-413250000,TASK_1MS,413,SCHED,SCHED_Tasks_C1,-1,processactivate
-413250100,TASK_1MS,413,STI,IR_SCHED_Tasks_C1,1389,trigger
-413250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-413259675,TASK_5MS,206,R,FUNC_EXECTIME_1,751,terminate
-413259675,Core_2,0,T,TASK_5MS,206,terminate
-413259675,TASK_5MS,206,SCHED,SCHED_Tasks_C2,-1,processterminate
-413259675,Core_2,0,C,Core_2,0,idle
-413259675,TASK_5MS,206,C,Core_2,0,idle
-413259775,TASK_5MS,206,STI,IR_SCHED_Tasks_C2,1327,trigger
-413259775,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-413279800,TASK_InputProcessing,205,SEM,SEM_DataElement1,0,released,1
-413279800,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-413279800,TASK_InputProcessing,205,SCHED,SCHED_Tasks_C1,-1,schedulepoint
-413279800,Core_1,0,C,Core_1,0,lock
-413279850,TASK_InputProcessing,205,R,FUNC_SEMUNLOCK,411,terminate
-413279850,Core_1,0,C,Core_1,0,unlock
-413279850,TASK_InputProcessing,205,STI,IPA_InputReady,205,trigger
-413279850,IPA_InputReady,205,T,TASK_CalcEngineSpeed,205,activate
-413279850,TASK_CalcEngineSpeed,205,SCHED,SCHED_Tasks_C2,-1,processactivate
-413279850,Core_1,0,T,TASK_InputProcessing,205,terminate
-413279850,TASK_InputProcessing,205,SCHED,SCHED_Tasks_C1,-1,processterminate
-413279850,Core_1,0,C,Core_1,0,idle
-413279850,TASK_InputProcessing,205,C,Core_1,0,idle
-413279900,TASK_InputProcessing,205,STI,IR_SCHED_Tasks_C1,1390,trigger
-413279900,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-413279900,Core_1,0,T,TASK_1MS,413,start
-413279900,TASK_1MS,413,R,FUNC_EXECTIME_1,753,start
-413279900,Core_1,0,C,Core_1,0,execute
-413279900,TASK_1MS,413,C,Core_1,0,execute
-413279950,TASK_CalcEngineSpeed,205,STI,IR_SCHED_Tasks_C2,1328,trigger
-413279950,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-413279950,Core_2,0,T,TASK_CalcEngineSpeed,205,start
-413279950,TASK_CalcEngineSpeed,205,R,FUNC_ENGINESPEED,205,start
-413279950,Core_2,0,C,Core_2,0,execute
-413279950,TASK_CalcEngineSpeed,205,C,Core_2,0,execute
-413514400,TASK_CalcEngineSpeed,205,R,FUNC_ENGINESPEED,205,terminate
-413514400,Core_2,0,T,TASK_CalcEngineSpeed,205,terminate
-413514400,TASK_CalcEngineSpeed,205,SCHED,SCHED_Tasks_C2,-1,processterminate
-413514400,Core_2,0,C,Core_2,0,idle
-413514400,TASK_CalcEngineSpeed,205,C,Core_2,0,idle
-413514500,TASK_CalcEngineSpeed,205,STI,IR_SCHED_Tasks_C2,1329,trigger
-413514500,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-413669575,TASK_1MS,413,R,FUNC_EXECTIME_1,753,terminate
-413669575,Core_1,0,T,TASK_1MS,413,terminate
-413669575,TASK_1MS,413,SCHED,SCHED_Tasks_C1,-1,processterminate
-413669575,Core_1,0,C,Core_1,0,idle
-413669575,TASK_1MS,413,C,Core_1,0,idle
-413669675,TASK_1MS,413,STI,IR_SCHED_Tasks_C1,1391,trigger
-413669675,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-413669675,Core_1,0,T,TASK_InputProcessing,206,start
-413669675,TASK_InputProcessing,206,R,FUNC_SEMLOCK,413,start
-413669675,Core_1,0,C,Core_1,0,execute
-413669675,TASK_InputProcessing,206,C,Core_1,0,execute
-413794675,TASK_InputProcessing,206,SEM,SEM_DataElement1,0,requestsemaphore,0
-413794675,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-413794675,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-413794675,Core_1,0,C,Core_1,0,lock
-413794675,TASK_InputProcessing,206,SEM,SEM_DataElement1,0,assigned,1
-413794725,TASK_InputProcessing,206,R,FUNC_SEMLOCK,413,terminate
-413794725,Core_1,0,C,Core_1,0,unlock
-413794725,TASK_InputProcessing,206,R,FUNC_ReadSensorData,206,start
-413954875,TASK_InputProcessing,206,SIG,SIG_RotationSpeed,0,read,0
-413954875,TASK_InputProcessing,206,SIG,SIG_Lambda,0,read,0
-413954875,TASK_InputProcessing,206,SIG,SIG_Temperature,0,read,0
-413954875,TASK_InputProcessing,206,R,FUNC_ReadSensorData,206,terminate
-413954875,TASK_InputProcessing,206,R,FUNC_SEMUNLOCK,413,start
-414000000,SIM,-1,STI,TIMER-B_2ms,207,trigger
-414000000,TIMER-B_2ms,207,T,TASK_WritingActuator,207,activate
-414000000,TASK_WritingActuator,207,SCHED,SCHED_Tasks_C2,-1,processactivate
-414000100,TASK_WritingActuator,207,STI,IR_SCHED_Tasks_C2,1330,trigger
-414000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-414000100,Core_2,0,T,TASK_WritingActuator,207,start
-414000100,TASK_WritingActuator,207,R,FUNC_SEMLOCK,414,start
-414000100,Core_2,0,C,Core_2,0,execute
-414000100,TASK_WritingActuator,207,C,Core_2,0,execute
-414100000,SIM,-1,STI,TIMER-5MS,207,trigger
-414100000,TIMER-5MS,207,T,TASK_5MS,207,activate
-414100000,TASK_5MS,207,SCHED,SCHED_Tasks_C2,-1,processactivate
-414100100,TASK_5MS,207,STI,IR_SCHED_Tasks_C2,1331,trigger
-414100100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-414125100,TASK_WritingActuator,207,SEM,SEM_DataElement1,0,requestsemaphore,1
-414125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,1
-414125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,overfull,2
-414125100,Core_2,0,C,Core_2,0,lock
-414125100,TASK_WritingActuator,207,SEM,SEM_DataElement1,0,waiting,2
-414125150,Core_2,0,T,TASK_WritingActuator,207,poll
-414125150,TASK_WritingActuator,207,SCHED,SCHED_Tasks_C2,-1,processpolling
-414125150,Core_2,0,C,Core_2,0,wait_postexecution
-414125150,TASK_WritingActuator,207,C,Core_2,0,wait_postexecution
-414125150,Core_2,0,C,Core_2,0,unlock
-414150000,SIM,-1,STI,TIMER-A_2ms,207,trigger
-414150000,TIMER-A_2ms,207,T,TASK_InputProcessing,207,activate
-414150000,TASK_InputProcessing,207,SCHED,SCHED_Tasks_C1,-1,processactivate
-414150100,TASK_InputProcessing,207,STI,IR_SCHED_Tasks_C1,1392,trigger
-414150100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-414154875,TASK_InputProcessing,206,SEM,SEM_DataElement1,0,released,2
-414154875,TASK_WritingActuator,207,SEM,SEM_DataElement1,0,assigned,1
-414154875,Core_2,0,T,TASK_WritingActuator,207,run
-414154875,TASK_WritingActuator,207,R,FUNC_SEMLOCK,414,terminate
-414154875,TASK_WritingActuator,207,R,FUNC_WriteData,207,start
-414154875,Core_2,0,C,Core_2,0,execute_waiting
-414154875,TASK_WritingActuator,207,C,Core_2,0,execute_waiting
-414154875,SEM_DataElement1,0,SEM,SEM_DataElement1,0,full,1
-414154875,TASK_InputProcessing,206,SCHED,SCHED_Tasks_C1,-1,schedulepoint
-414154875,Core_1,0,C,Core_1,0,lock
-414154925,TASK_InputProcessing,206,R,FUNC_SEMUNLOCK,413,terminate
-414154925,Core_1,0,C,Core_1,0,unlock
-414154925,TASK_InputProcessing,206,STI,IPA_InputReady,206,trigger
-414154925,IPA_InputReady,206,T,TASK_CalcEngineSpeed,206,activate
-414154925,TASK_CalcEngineSpeed,206,SCHED,SCHED_Tasks_C2,-1,processactivate
-414154925,Core_1,0,T,TASK_InputProcessing,206,terminate
-414154925,TASK_InputProcessing,206,SCHED,SCHED_Tasks_C1,-1,processterminate
-414154925,Core_1,0,C,Core_1,0,idle
-414154925,TASK_InputProcessing,206,C,Core_1,0,idle
-414154975,TASK_InputProcessing,206,STI,IR_SCHED_Tasks_C1,1393,trigger
-414154975,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-414154975,Core_1,0,T,TASK_InputProcessing,207,start
-414154975,TASK_InputProcessing,207,R,FUNC_SEMLOCK,415,start
-414154975,Core_1,0,C,Core_1,0,execute
-414154975,TASK_InputProcessing,207,C,Core_1,0,execute
-414155025,TASK_CalcEngineSpeed,206,STI,IR_SCHED_Tasks_C2,1332,trigger
-414155025,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-414182250,TASK_WritingActuator,207,SIG,SIG_Mixture,0,write,0
-414182250,TASK_WritingActuator,207,R,FUNC_WriteData,207,terminate
-414182250,TASK_WritingActuator,207,R,FUNC_SEMUNLOCK,414,start
-414250000,SIM,-1,STI,TIMER-1MS,414,trigger
-414250000,TIMER-1MS,414,T,TASK_1MS,414,activate
-414250000,TASK_1MS,414,SCHED,SCHED_Tasks_C1,-1,processactivate
-414250100,TASK_1MS,414,STI,IR_SCHED_Tasks_C1,1394,trigger
-414250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-414250100,TASK_InputProcessing,207,R,FUNC_SEMLOCK,415,suspend
-414250100,Core_1,0,T,TASK_InputProcessing,207,preempt
-414250100,Core_1,0,C,Core_1,0,idle_execution
-414250100,TASK_InputProcessing,207,C,Core_1,0,idle_execution
-414250100,Core_1,0,T,TASK_1MS,414,start
-414250100,TASK_1MS,414,R,FUNC_EXECTIME_1,755,start
-414250100,Core_1,0,C,Core_1,0,execute
-414250100,TASK_1MS,414,C,Core_1,0,execute
-414382250,TASK_WritingActuator,207,SEM,SEM_DataElement1,0,released,1
-414382250,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-414382250,TASK_WritingActuator,207,SCHED,SCHED_Tasks_C2,-1,schedulepoint
-414382250,Core_2,0,C,Core_2,0,lock
-414382300,TASK_WritingActuator,207,R,FUNC_SEMUNLOCK,414,terminate
-414382300,Core_2,0,T,TASK_WritingActuator,207,terminate
-414382300,TASK_WritingActuator,207,SCHED,SCHED_Tasks_C2,-1,processterminate
-414382300,Core_2,0,C,Core_2,0,unlock
-414382300,Core_2,0,C,Core_2,0,idle
-414382300,TASK_WritingActuator,207,C,Core_2,0,idle
-414382350,TASK_WritingActuator,207,STI,IR_SCHED_Tasks_C2,1333,trigger
-414382350,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-414382350,Core_2,0,T,TASK_CalcEngineSpeed,206,start
-414382350,TASK_CalcEngineSpeed,206,R,FUNC_ENGINESPEED,206,start
-414382350,Core_2,0,C,Core_2,0,execute
-414382350,TASK_CalcEngineSpeed,206,C,Core_2,0,execute
-414538750,TASK_CalcEngineSpeed,206,R,FUNC_ENGINESPEED,206,terminate
-414538750,Core_2,0,T,TASK_CalcEngineSpeed,206,terminate
-414538750,TASK_CalcEngineSpeed,206,SCHED,SCHED_Tasks_C2,-1,processterminate
-414538750,Core_2,0,C,Core_2,0,idle
-414538750,TASK_CalcEngineSpeed,206,C,Core_2,0,idle
-414538850,TASK_CalcEngineSpeed,206,STI,IR_SCHED_Tasks_C2,1334,trigger
-414538850,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-414538850,Core_2,0,T,TASK_5MS,207,start
-414538850,TASK_5MS,207,R,FUNC_EXECTIME_1,754,start
-414538850,Core_2,0,C,Core_2,0,execute
-414538850,TASK_5MS,207,C,Core_2,0,execute
-414676175,TASK_1MS,414,R,FUNC_EXECTIME_1,755,terminate
-414676175,Core_1,0,T,TASK_1MS,414,terminate
-414676175,TASK_1MS,414,SCHED,SCHED_Tasks_C1,-1,processterminate
-414676175,Core_1,0,C,Core_1,0,idle
-414676175,TASK_1MS,414,C,Core_1,0,idle
-414676275,TASK_1MS,414,STI,IR_SCHED_Tasks_C1,1395,trigger
-414676275,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-414676275,Core_1,0,C,Core_1,0,execute_idle
-414676275,TASK_InputProcessing,207,C,Core_1,0,execute_idle
-414676275,Core_1,0,T,TASK_InputProcessing,207,resume
-414676275,TASK_InputProcessing,207,R,FUNC_SEMLOCK,415,resume
-414706150,TASK_InputProcessing,207,SEM,SEM_DataElement1,0,requestsemaphore,0
-414706150,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-414706150,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-414706150,Core_1,0,C,Core_1,0,lock
-414706150,TASK_InputProcessing,207,SEM,SEM_DataElement1,0,assigned,1
-414706200,TASK_InputProcessing,207,R,FUNC_SEMLOCK,415,terminate
-414706200,Core_1,0,C,Core_1,0,unlock
-414706200,TASK_InputProcessing,207,R,FUNC_ReadSensorData,207,start
-414866700,TASK_InputProcessing,207,SIG,SIG_RotationSpeed,0,read,0
-414866700,TASK_InputProcessing,207,SIG,SIG_Lambda,0,read,0
-414866700,TASK_InputProcessing,207,SIG,SIG_Temperature,0,read,0
-414866700,TASK_InputProcessing,207,R,FUNC_ReadSensorData,207,terminate
-414866700,TASK_InputProcessing,207,R,FUNC_SEMUNLOCK,415,start
-414940225,TASK_5MS,207,R,FUNC_EXECTIME_1,754,terminate
-414940225,Core_2,0,T,TASK_5MS,207,terminate
-414940225,TASK_5MS,207,SCHED,SCHED_Tasks_C2,-1,processterminate
-414940225,Core_2,0,C,Core_2,0,idle
-414940225,TASK_5MS,207,C,Core_2,0,idle
-414940325,TASK_5MS,207,STI,IR_SCHED_Tasks_C2,1335,trigger
-414940325,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-415000000,SIM,-1,STI,TIMER-10MS,41,trigger
-415000000,TIMER-10MS,41,T,TASK_10MS,41,activate
-415000000,TASK_10MS,41,SCHED,SCHED_Tasks_C2,-1,processactivate
-415000100,TASK_10MS,41,STI,IR_SCHED_Tasks_C2,1336,trigger
-415000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-415000100,Core_2,0,T,TASK_10MS,41,start
-415000100,TASK_10MS,41,R,FUNC_EXECTIME_1,756,start
-415000100,Core_2,0,C,Core_2,0,execute
-415000100,TASK_10MS,41,C,Core_2,0,execute
-415066700,TASK_InputProcessing,207,SEM,SEM_DataElement1,0,released,1
-415066700,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-415066700,TASK_InputProcessing,207,SCHED,SCHED_Tasks_C1,-1,schedulepoint
-415066700,Core_1,0,C,Core_1,0,lock
-415066750,TASK_InputProcessing,207,R,FUNC_SEMUNLOCK,415,terminate
-415066750,Core_1,0,C,Core_1,0,unlock
-415066750,TASK_InputProcessing,207,STI,IPA_InputReady,207,trigger
-415066750,IPA_InputReady,207,T,TASK_CalcEngineSpeed,207,activate
-415066750,TASK_CalcEngineSpeed,207,SCHED,SCHED_Tasks_C2,-1,processactivate
-415066750,Core_1,0,T,TASK_InputProcessing,207,terminate
-415066750,TASK_InputProcessing,207,SCHED,SCHED_Tasks_C1,-1,processterminate
-415066750,Core_1,0,C,Core_1,0,idle
-415066750,TASK_InputProcessing,207,C,Core_1,0,idle
-415066800,TASK_InputProcessing,207,STI,IR_SCHED_Tasks_C1,1396,trigger
-415066800,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-415066800,Core_1,0,C,Core_1,0,execute_idle
-415066800,TASK_200MS,2,C,Core_1,0,execute_idle
-415066800,Core_1,0,T,TASK_200MS,2,resume
-415066800,TASK_200MS,2,R,FUNC_EXECTIME_1,741,resume
-415066850,TASK_CalcEngineSpeed,207,STI,IR_SCHED_Tasks_C2,1337,trigger
-415066850,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-415066850,TASK_10MS,41,R,FUNC_EXECTIME_1,756,suspend
-415066850,Core_2,0,T,TASK_10MS,41,preempt
-415066850,Core_2,0,C,Core_2,0,idle_execution
-415066850,TASK_10MS,41,C,Core_2,0,idle_execution
-415066850,Core_2,0,T,TASK_CalcEngineSpeed,207,start
-415066850,TASK_CalcEngineSpeed,207,R,FUNC_ENGINESPEED,207,start
-415066850,Core_2,0,C,Core_2,0,execute
-415066850,TASK_CalcEngineSpeed,207,C,Core_2,0,execute
-415250000,SIM,-1,STI,TIMER-1MS,415,trigger
-415250000,TIMER-1MS,415,T,TASK_1MS,415,activate
-415250000,TASK_1MS,415,SCHED,SCHED_Tasks_C1,-1,processactivate
-415250100,TASK_1MS,415,STI,IR_SCHED_Tasks_C1,1397,trigger
-415250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-415250100,TASK_200MS,2,R,FUNC_EXECTIME_1,741,suspend
-415250100,Core_1,0,T,TASK_200MS,2,preempt
-415250100,Core_1,0,C,Core_1,0,idle_execution
-415250100,TASK_200MS,2,C,Core_1,0,idle_execution
-415250100,Core_1,0,T,TASK_1MS,415,start
-415250100,TASK_1MS,415,R,FUNC_EXECTIME_1,757,start
-415250100,Core_1,0,C,Core_1,0,execute
-415250100,TASK_1MS,415,C,Core_1,0,execute
-415271200,TASK_CalcEngineSpeed,207,R,FUNC_ENGINESPEED,207,terminate
-415271200,Core_2,0,T,TASK_CalcEngineSpeed,207,terminate
-415271200,TASK_CalcEngineSpeed,207,SCHED,SCHED_Tasks_C2,-1,processterminate
-415271200,Core_2,0,C,Core_2,0,idle
-415271200,TASK_CalcEngineSpeed,207,C,Core_2,0,idle
-415271300,TASK_CalcEngineSpeed,207,STI,IR_SCHED_Tasks_C2,1338,trigger
-415271300,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-415271300,Core_2,0,C,Core_2,0,execute_idle
-415271300,TASK_10MS,41,C,Core_2,0,execute_idle
-415271300,Core_2,0,T,TASK_10MS,41,resume
-415271300,TASK_10MS,41,R,FUNC_EXECTIME_1,756,resume
-415890500,TASK_10MS,41,R,FUNC_EXECTIME_1,756,terminate
-415890500,Core_2,0,T,TASK_10MS,41,terminate
-415890500,TASK_10MS,41,SCHED,SCHED_Tasks_C2,-1,processterminate
-415890500,Core_2,0,C,Core_2,0,idle
-415890500,TASK_10MS,41,C,Core_2,0,idle
-415890600,TASK_10MS,41,STI,IR_SCHED_Tasks_C2,1339,trigger
-415890600,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-415972425,TASK_1MS,415,R,FUNC_EXECTIME_1,757,terminate
-415972425,Core_1,0,T,TASK_1MS,415,terminate
-415972425,TASK_1MS,415,SCHED,SCHED_Tasks_C1,-1,processterminate
-415972425,Core_1,0,C,Core_1,0,idle
-415972425,TASK_1MS,415,C,Core_1,0,idle
-415972525,TASK_1MS,415,STI,IR_SCHED_Tasks_C1,1398,trigger
-415972525,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-415972525,Core_1,0,C,Core_1,0,execute_idle
-415972525,TASK_200MS,2,C,Core_1,0,execute_idle
-415972525,Core_1,0,T,TASK_200MS,2,resume
-415972525,TASK_200MS,2,R,FUNC_EXECTIME_1,741,resume
-416000000,SIM,-1,STI,TIMER-B_2ms,208,trigger
-416000000,TIMER-B_2ms,208,T,TASK_WritingActuator,208,activate
-416000000,TASK_WritingActuator,208,SCHED,SCHED_Tasks_C2,-1,processactivate
-416000100,TASK_WritingActuator,208,STI,IR_SCHED_Tasks_C2,1340,trigger
-416000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-416000100,Core_2,0,T,TASK_WritingActuator,208,start
-416000100,TASK_WritingActuator,208,R,FUNC_SEMLOCK,416,start
-416000100,Core_2,0,C,Core_2,0,execute
-416000100,TASK_WritingActuator,208,C,Core_2,0,execute
-416100000,SIM,-1,STI,TIMER-5MS,208,trigger
-416100000,TIMER-5MS,208,T,TASK_5MS,208,activate
-416100000,TASK_5MS,208,SCHED,SCHED_Tasks_C2,-1,processactivate
-416100100,TASK_5MS,208,STI,IR_SCHED_Tasks_C2,1341,trigger
-416100100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-416102025,TASK_200MS,2,R,FUNC_EXECTIME_1,741,terminate
-416102025,TASK_200MS,2,R,FUNC_EXECTIME_1,742,start
-416125100,TASK_WritingActuator,208,SEM,SEM_DataElement1,0,requestsemaphore,0
-416125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-416125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-416125100,Core_2,0,C,Core_2,0,lock
-416125100,TASK_WritingActuator,208,SEM,SEM_DataElement1,0,assigned,1
-416125150,TASK_WritingActuator,208,R,FUNC_SEMLOCK,416,terminate
-416125150,Core_2,0,C,Core_2,0,unlock
-416125150,TASK_WritingActuator,208,R,FUNC_WriteData,208,start
-416150000,SIM,-1,STI,TIMER-A_2ms,208,trigger
-416150000,TIMER-A_2ms,208,T,TASK_InputProcessing,208,activate
-416150000,TASK_InputProcessing,208,SCHED,SCHED_Tasks_C1,-1,processactivate
-416150100,TASK_InputProcessing,208,STI,IR_SCHED_Tasks_C1,1399,trigger
-416150100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-416150100,TASK_200MS,2,R,FUNC_EXECTIME_1,742,suspend
-416150100,Core_1,0,T,TASK_200MS,2,preempt
-416150100,Core_1,0,C,Core_1,0,idle_execution
-416150100,TASK_200MS,2,C,Core_1,0,idle_execution
-416150100,Core_1,0,T,TASK_InputProcessing,208,start
-416150100,TASK_InputProcessing,208,R,FUNC_SEMLOCK,417,start
-416150100,Core_1,0,C,Core_1,0,execute
-416150100,TASK_InputProcessing,208,C,Core_1,0,execute
-416152250,TASK_WritingActuator,208,SIG,SIG_Mixture,0,write,0
-416152250,TASK_WritingActuator,208,R,FUNC_WriteData,208,terminate
-416152250,TASK_WritingActuator,208,R,FUNC_SEMUNLOCK,416,start
-416250000,SIM,-1,STI,TIMER-1MS,416,trigger
-416250000,TIMER-1MS,416,T,TASK_1MS,416,activate
-416250000,TASK_1MS,416,SCHED,SCHED_Tasks_C1,-1,processactivate
-416250100,TASK_1MS,416,STI,IR_SCHED_Tasks_C1,1400,trigger
-416250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-416250100,TASK_InputProcessing,208,R,FUNC_SEMLOCK,417,suspend
-416250100,Core_1,0,T,TASK_InputProcessing,208,preempt
-416250100,Core_1,0,C,Core_1,0,idle_execution
-416250100,TASK_InputProcessing,208,C,Core_1,0,idle_execution
-416250100,Core_1,0,T,TASK_1MS,416,start
-416250100,TASK_1MS,416,R,FUNC_EXECTIME_1,759,start
-416250100,Core_1,0,C,Core_1,0,execute
-416250100,TASK_1MS,416,C,Core_1,0,execute
-416352250,TASK_WritingActuator,208,SEM,SEM_DataElement1,0,released,1
-416352250,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-416352250,TASK_WritingActuator,208,SCHED,SCHED_Tasks_C2,-1,schedulepoint
-416352250,Core_2,0,C,Core_2,0,lock
-416352300,TASK_WritingActuator,208,R,FUNC_SEMUNLOCK,416,terminate
-416352300,Core_2,0,T,TASK_WritingActuator,208,terminate
-416352300,TASK_WritingActuator,208,SCHED,SCHED_Tasks_C2,-1,processterminate
-416352300,Core_2,0,C,Core_2,0,unlock
-416352300,Core_2,0,C,Core_2,0,idle
-416352300,TASK_WritingActuator,208,C,Core_2,0,idle
-416352350,TASK_WritingActuator,208,STI,IR_SCHED_Tasks_C2,1342,trigger
-416352350,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-416352350,Core_2,0,T,TASK_5MS,208,start
-416352350,TASK_5MS,208,R,FUNC_EXECTIME_1,758,start
-416352350,Core_2,0,C,Core_2,0,execute
-416352350,TASK_5MS,208,C,Core_2,0,execute
-416765625,TASK_1MS,416,R,FUNC_EXECTIME_1,759,terminate
-416765625,Core_1,0,T,TASK_1MS,416,terminate
-416765625,TASK_1MS,416,SCHED,SCHED_Tasks_C1,-1,processterminate
-416765625,Core_1,0,C,Core_1,0,idle
-416765625,TASK_1MS,416,C,Core_1,0,idle
-416765725,TASK_1MS,416,STI,IR_SCHED_Tasks_C1,1401,trigger
-416765725,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-416765725,Core_1,0,C,Core_1,0,execute_idle
-416765725,TASK_InputProcessing,208,C,Core_1,0,execute_idle
-416765725,Core_1,0,T,TASK_InputProcessing,208,resume
-416765725,TASK_InputProcessing,208,R,FUNC_SEMLOCK,417,resume
-416790725,TASK_InputProcessing,208,SEM,SEM_DataElement1,0,requestsemaphore,0
-416790725,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-416790725,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-416790725,Core_1,0,C,Core_1,0,lock
-416790725,TASK_InputProcessing,208,SEM,SEM_DataElement1,0,assigned,1
-416790775,TASK_InputProcessing,208,R,FUNC_SEMLOCK,417,terminate
-416790775,Core_1,0,C,Core_1,0,unlock
-416790775,TASK_InputProcessing,208,R,FUNC_ReadSensorData,208,start
-416930300,TASK_5MS,208,R,FUNC_EXECTIME_1,758,terminate
-416930300,Core_2,0,T,TASK_5MS,208,terminate
-416930300,TASK_5MS,208,SCHED,SCHED_Tasks_C2,-1,processterminate
-416930300,Core_2,0,C,Core_2,0,idle
-416930300,TASK_5MS,208,C,Core_2,0,idle
-416930400,TASK_5MS,208,STI,IR_SCHED_Tasks_C2,1343,trigger
-416930400,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-416951425,TASK_InputProcessing,208,SIG,SIG_RotationSpeed,0,read,0
-416951425,TASK_InputProcessing,208,SIG,SIG_Lambda,0,read,0
-416951425,TASK_InputProcessing,208,SIG,SIG_Temperature,0,read,0
-416951425,TASK_InputProcessing,208,R,FUNC_ReadSensorData,208,terminate
-416951425,TASK_InputProcessing,208,R,FUNC_SEMUNLOCK,417,start
-417151425,TASK_InputProcessing,208,SEM,SEM_DataElement1,0,released,1
-417151425,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-417151425,TASK_InputProcessing,208,SCHED,SCHED_Tasks_C1,-1,schedulepoint
-417151425,Core_1,0,C,Core_1,0,lock
-417151475,TASK_InputProcessing,208,R,FUNC_SEMUNLOCK,417,terminate
-417151475,Core_1,0,C,Core_1,0,unlock
-417151475,TASK_InputProcessing,208,STI,IPA_InputReady,208,trigger
-417151475,IPA_InputReady,208,T,TASK_CalcEngineSpeed,208,activate
-417151475,TASK_CalcEngineSpeed,208,SCHED,SCHED_Tasks_C2,-1,processactivate
-417151475,Core_1,0,T,TASK_InputProcessing,208,terminate
-417151475,TASK_InputProcessing,208,SCHED,SCHED_Tasks_C1,-1,processterminate
-417151475,Core_1,0,C,Core_1,0,idle
-417151475,TASK_InputProcessing,208,C,Core_1,0,idle
-417151525,TASK_InputProcessing,208,STI,IR_SCHED_Tasks_C1,1402,trigger
-417151525,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-417151525,Core_1,0,C,Core_1,0,execute_idle
-417151525,TASK_200MS,2,C,Core_1,0,execute_idle
-417151525,Core_1,0,T,TASK_200MS,2,resume
-417151525,TASK_200MS,2,R,FUNC_EXECTIME_1,742,resume
-417151575,TASK_CalcEngineSpeed,208,STI,IR_SCHED_Tasks_C2,1344,trigger
-417151575,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-417151575,Core_2,0,T,TASK_CalcEngineSpeed,208,start
-417151575,TASK_CalcEngineSpeed,208,R,FUNC_ENGINESPEED,208,start
-417151575,Core_2,0,C,Core_2,0,execute
-417151575,TASK_CalcEngineSpeed,208,C,Core_2,0,execute
-417250000,SIM,-1,STI,TIMER-1MS,417,trigger
-417250000,TIMER-1MS,417,T,TASK_1MS,417,activate
-417250000,TASK_1MS,417,SCHED,SCHED_Tasks_C1,-1,processactivate
-417250100,TASK_1MS,417,STI,IR_SCHED_Tasks_C1,1403,trigger
-417250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-417250100,TASK_200MS,2,R,FUNC_EXECTIME_1,742,suspend
-417250100,Core_1,0,T,TASK_200MS,2,preempt
-417250100,Core_1,0,C,Core_1,0,idle_execution
-417250100,TASK_200MS,2,C,Core_1,0,idle_execution
-417250100,Core_1,0,T,TASK_1MS,417,start
-417250100,TASK_1MS,417,R,FUNC_EXECTIME_1,760,start
-417250100,Core_1,0,C,Core_1,0,execute
-417250100,TASK_1MS,417,C,Core_1,0,execute
-417353250,TASK_CalcEngineSpeed,208,R,FUNC_ENGINESPEED,208,terminate
-417353250,Core_2,0,T,TASK_CalcEngineSpeed,208,terminate
-417353250,TASK_CalcEngineSpeed,208,SCHED,SCHED_Tasks_C2,-1,processterminate
-417353250,Core_2,0,C,Core_2,0,idle
-417353250,TASK_CalcEngineSpeed,208,C,Core_2,0,idle
-417353350,TASK_CalcEngineSpeed,208,STI,IR_SCHED_Tasks_C2,1345,trigger
-417353350,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-417699400,TASK_1MS,417,R,FUNC_EXECTIME_1,760,terminate
-417699400,Core_1,0,T,TASK_1MS,417,terminate
-417699400,TASK_1MS,417,SCHED,SCHED_Tasks_C1,-1,processterminate
-417699400,Core_1,0,C,Core_1,0,idle
-417699400,TASK_1MS,417,C,Core_1,0,idle
-417699500,TASK_1MS,417,STI,IR_SCHED_Tasks_C1,1404,trigger
-417699500,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-417699500,Core_1,0,C,Core_1,0,execute_idle
-417699500,TASK_200MS,2,C,Core_1,0,execute_idle
-417699500,Core_1,0,T,TASK_200MS,2,resume
-417699500,TASK_200MS,2,R,FUNC_EXECTIME_1,742,resume
-418000000,SIM,-1,STI,TIMER-B_2ms,209,trigger
-418000000,TIMER-B_2ms,209,T,TASK_WritingActuator,209,activate
-418000000,TASK_WritingActuator,209,SCHED,SCHED_Tasks_C2,-1,processactivate
-418000100,TASK_WritingActuator,209,STI,IR_SCHED_Tasks_C2,1346,trigger
-418000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-418000100,Core_2,0,T,TASK_WritingActuator,209,start
-418000100,TASK_WritingActuator,209,R,FUNC_SEMLOCK,418,start
-418000100,Core_2,0,C,Core_2,0,execute
-418000100,TASK_WritingActuator,209,C,Core_2,0,execute
-418100000,SIM,-1,STI,TIMER-5MS,209,trigger
-418100000,TIMER-5MS,209,T,TASK_5MS,209,activate
-418100000,TASK_5MS,209,SCHED,SCHED_Tasks_C2,-1,processactivate
-418100100,TASK_5MS,209,STI,IR_SCHED_Tasks_C2,1347,trigger
-418100100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-418125100,TASK_WritingActuator,209,SEM,SEM_DataElement1,0,requestsemaphore,0
-418125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-418125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-418125100,Core_2,0,C,Core_2,0,lock
-418125100,TASK_WritingActuator,209,SEM,SEM_DataElement1,0,assigned,1
-418125150,TASK_WritingActuator,209,R,FUNC_SEMLOCK,418,terminate
-418125150,Core_2,0,C,Core_2,0,unlock
-418125150,TASK_WritingActuator,209,R,FUNC_WriteData,209,start
-418150000,SIM,-1,STI,TIMER-A_2ms,209,trigger
-418150000,TIMER-A_2ms,209,T,TASK_InputProcessing,209,activate
-418150000,TASK_InputProcessing,209,SCHED,SCHED_Tasks_C1,-1,processactivate
-418150100,TASK_InputProcessing,209,STI,IR_SCHED_Tasks_C1,1405,trigger
-418150100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-418150100,TASK_200MS,2,R,FUNC_EXECTIME_1,742,suspend
-418150100,Core_1,0,T,TASK_200MS,2,preempt
-418150100,Core_1,0,C,Core_1,0,idle_execution
-418150100,TASK_200MS,2,C,Core_1,0,idle_execution
-418150100,Core_1,0,T,TASK_InputProcessing,209,start
-418150100,TASK_InputProcessing,209,R,FUNC_SEMLOCK,419,start
-418150100,Core_1,0,C,Core_1,0,execute
-418150100,TASK_InputProcessing,209,C,Core_1,0,execute
-418152325,TASK_WritingActuator,209,SIG,SIG_Mixture,0,write,0
-418152325,TASK_WritingActuator,209,R,FUNC_WriteData,209,terminate
-418152325,TASK_WritingActuator,209,R,FUNC_SEMUNLOCK,418,start
-418250000,SIM,-1,STI,TIMER-1MS,418,trigger
-418250000,TIMER-1MS,418,T,TASK_1MS,418,activate
-418250000,TASK_1MS,418,SCHED,SCHED_Tasks_C1,-1,processactivate
-418250100,TASK_1MS,418,STI,IR_SCHED_Tasks_C1,1406,trigger
-418250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-418250100,TASK_InputProcessing,209,R,FUNC_SEMLOCK,419,suspend
-418250100,Core_1,0,T,TASK_InputProcessing,209,preempt
-418250100,Core_1,0,C,Core_1,0,idle_execution
-418250100,TASK_InputProcessing,209,C,Core_1,0,idle_execution
-418250100,Core_1,0,T,TASK_1MS,418,start
-418250100,TASK_1MS,418,R,FUNC_EXECTIME_1,762,start
-418250100,Core_1,0,C,Core_1,0,execute
-418250100,TASK_1MS,418,C,Core_1,0,execute
-418352325,TASK_WritingActuator,209,SEM,SEM_DataElement1,0,released,1
-418352325,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-418352325,TASK_WritingActuator,209,SCHED,SCHED_Tasks_C2,-1,schedulepoint
-418352325,Core_2,0,C,Core_2,0,lock
-418352375,TASK_WritingActuator,209,R,FUNC_SEMUNLOCK,418,terminate
-418352375,Core_2,0,T,TASK_WritingActuator,209,terminate
-418352375,TASK_WritingActuator,209,SCHED,SCHED_Tasks_C2,-1,processterminate
-418352375,Core_2,0,C,Core_2,0,unlock
-418352375,Core_2,0,C,Core_2,0,idle
-418352375,TASK_WritingActuator,209,C,Core_2,0,idle
-418352425,TASK_WritingActuator,209,STI,IR_SCHED_Tasks_C2,1348,trigger
-418352425,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-418352425,Core_2,0,T,TASK_5MS,209,start
-418352425,TASK_5MS,209,R,FUNC_EXECTIME_1,761,start
-418352425,Core_2,0,C,Core_2,0,execute
-418352425,TASK_5MS,209,C,Core_2,0,execute
-418792100,TASK_5MS,209,R,FUNC_EXECTIME_1,761,terminate
-418792100,Core_2,0,T,TASK_5MS,209,terminate
-418792100,TASK_5MS,209,SCHED,SCHED_Tasks_C2,-1,processterminate
-418792100,Core_2,0,C,Core_2,0,idle
-418792100,TASK_5MS,209,C,Core_2,0,idle
-418792200,TASK_5MS,209,STI,IR_SCHED_Tasks_C2,1349,trigger
-418792200,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-419085375,TASK_1MS,418,R,FUNC_EXECTIME_1,762,terminate
-419085375,Core_1,0,T,TASK_1MS,418,terminate
-419085375,TASK_1MS,418,SCHED,SCHED_Tasks_C1,-1,processterminate
-419085375,Core_1,0,C,Core_1,0,idle
-419085375,TASK_1MS,418,C,Core_1,0,idle
-419085475,TASK_1MS,418,STI,IR_SCHED_Tasks_C1,1407,trigger
-419085475,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-419085475,Core_1,0,C,Core_1,0,execute_idle
-419085475,TASK_InputProcessing,209,C,Core_1,0,execute_idle
-419085475,Core_1,0,T,TASK_InputProcessing,209,resume
-419085475,TASK_InputProcessing,209,R,FUNC_SEMLOCK,419,resume
-419110475,TASK_InputProcessing,209,SEM,SEM_DataElement1,0,requestsemaphore,0
-419110475,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-419110475,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-419110475,Core_1,0,C,Core_1,0,lock
-419110475,TASK_InputProcessing,209,SEM,SEM_DataElement1,0,assigned,1
-419110525,TASK_InputProcessing,209,R,FUNC_SEMLOCK,419,terminate
-419110525,Core_1,0,C,Core_1,0,unlock
-419110525,TASK_InputProcessing,209,R,FUNC_ReadSensorData,209,start
-419250000,SIM,-1,STI,TIMER-1MS,419,trigger
-419250000,TIMER-1MS,419,T,TASK_1MS,419,activate
-419250000,TASK_1MS,419,SCHED,SCHED_Tasks_C1,-1,processactivate
-419250100,TASK_1MS,419,STI,IR_SCHED_Tasks_C1,1408,trigger
-419250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-419273450,TASK_InputProcessing,209,SIG,SIG_RotationSpeed,0,read,0
-419273450,TASK_InputProcessing,209,SIG,SIG_Lambda,0,read,0
-419273450,TASK_InputProcessing,209,SIG,SIG_Temperature,0,read,0
-419273450,TASK_InputProcessing,209,R,FUNC_ReadSensorData,209,terminate
-419273450,TASK_InputProcessing,209,R,FUNC_SEMUNLOCK,419,start
-419473450,TASK_InputProcessing,209,SEM,SEM_DataElement1,0,released,1
-419473450,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-419473450,TASK_InputProcessing,209,SCHED,SCHED_Tasks_C1,-1,schedulepoint
-419473450,Core_1,0,C,Core_1,0,lock
-419473500,TASK_InputProcessing,209,R,FUNC_SEMUNLOCK,419,terminate
-419473500,Core_1,0,C,Core_1,0,unlock
-419473500,TASK_InputProcessing,209,STI,IPA_InputReady,209,trigger
-419473500,IPA_InputReady,209,T,TASK_CalcEngineSpeed,209,activate
-419473500,TASK_CalcEngineSpeed,209,SCHED,SCHED_Tasks_C2,-1,processactivate
-419473500,Core_1,0,T,TASK_InputProcessing,209,terminate
-419473500,TASK_InputProcessing,209,SCHED,SCHED_Tasks_C1,-1,processterminate
-419473500,Core_1,0,C,Core_1,0,idle
-419473500,TASK_InputProcessing,209,C,Core_1,0,idle
-419473550,TASK_InputProcessing,209,STI,IR_SCHED_Tasks_C1,1409,trigger
-419473550,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-419473550,Core_1,0,T,TASK_1MS,419,start
-419473550,TASK_1MS,419,R,FUNC_EXECTIME_1,763,start
-419473550,Core_1,0,C,Core_1,0,execute
-419473550,TASK_1MS,419,C,Core_1,0,execute
-419473600,TASK_CalcEngineSpeed,209,STI,IR_SCHED_Tasks_C2,1350,trigger
-419473600,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-419473600,Core_2,0,T,TASK_CalcEngineSpeed,209,start
-419473600,TASK_CalcEngineSpeed,209,R,FUNC_ENGINESPEED,209,start
-419473600,Core_2,0,C,Core_2,0,execute
-419473600,TASK_CalcEngineSpeed,209,C,Core_2,0,execute
-419692225,TASK_CalcEngineSpeed,209,R,FUNC_ENGINESPEED,209,terminate
-419692225,Core_2,0,T,TASK_CalcEngineSpeed,209,terminate
-419692225,TASK_CalcEngineSpeed,209,SCHED,SCHED_Tasks_C2,-1,processterminate
-419692225,Core_2,0,C,Core_2,0,idle
-419692225,TASK_CalcEngineSpeed,209,C,Core_2,0,idle
-419692325,TASK_CalcEngineSpeed,209,STI,IR_SCHED_Tasks_C2,1351,trigger
-419692325,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-419978675,TASK_1MS,419,R,FUNC_EXECTIME_1,763,terminate
-419978675,Core_1,0,T,TASK_1MS,419,terminate
-419978675,TASK_1MS,419,SCHED,SCHED_Tasks_C1,-1,processterminate
-419978675,Core_1,0,C,Core_1,0,idle
-419978675,TASK_1MS,419,C,Core_1,0,idle
-419978775,TASK_1MS,419,STI,IR_SCHED_Tasks_C1,1410,trigger
-419978775,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-419978775,Core_1,0,C,Core_1,0,execute_idle
-419978775,TASK_200MS,2,C,Core_1,0,execute_idle
-419978775,Core_1,0,T,TASK_200MS,2,resume
-419978775,TASK_200MS,2,R,FUNC_EXECTIME_1,742,resume
-420000000,SIM,-1,STI,TIMER-B_2ms,210,trigger
-420000000,TIMER-B_2ms,210,T,TASK_WritingActuator,210,activate
-420000000,TASK_WritingActuator,210,SCHED,SCHED_Tasks_C2,-1,processactivate
-420000000,SIM,-1,STI,TIMER-10MS_2,42,trigger
-420000000,TIMER-10MS_2,42,T,TASK_10MS_DL2,42,activate
-420000000,TASK_10MS_DL2,42,SCHED,SCHED_Tasks_C1,-1,processactivate
-420000100,TASK_WritingActuator,210,STI,IR_SCHED_Tasks_C2,1352,trigger
-420000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-420000100,Core_2,0,T,TASK_WritingActuator,210,start
-420000100,TASK_WritingActuator,210,R,FUNC_SEMLOCK,420,start
-420000100,Core_2,0,C,Core_2,0,execute
-420000100,TASK_WritingActuator,210,C,Core_2,0,execute
-420000100,TASK_10MS_DL2,42,STI,IR_SCHED_Tasks_C1,1411,trigger
-420000100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-420000100,TASK_200MS,2,R,FUNC_EXECTIME_1,742,suspend
-420000100,Core_1,0,T,TASK_200MS,2,preempt
-420000100,Core_1,0,C,Core_1,0,idle_execution
-420000100,TASK_200MS,2,C,Core_1,0,idle_execution
-420000100,Core_1,0,T,TASK_10MS_DL2,42,start
-420000100,TASK_10MS_DL2,42,R,FUNC_EXECTIME_1,764,start
-420000100,Core_1,0,C,Core_1,0,execute
-420000100,TASK_10MS_DL2,42,C,Core_1,0,execute
-420005000,SIM,-1,STI,TIMER-20MS,21,trigger
-420005000,TIMER-20MS,21,T,TASK_20MS,21,activate
-420005000,TASK_20MS,21,SCHED,SCHED_Tasks_C1,-1,processactivate
-420005100,TASK_20MS,21,STI,IR_SCHED_Tasks_C1,1412,trigger
-420005100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-420100000,SIM,-1,STI,TIMER-5MS,210,trigger
-420100000,TIMER-5MS,210,T,TASK_5MS,210,activate
-420100000,TASK_5MS,210,SCHED,SCHED_Tasks_C2,-1,processactivate
-420100100,TASK_5MS,210,STI,IR_SCHED_Tasks_C2,1353,trigger
-420100100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-420125100,TASK_WritingActuator,210,SEM,SEM_DataElement1,0,requestsemaphore,0
-420125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-420125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-420125100,Core_2,0,C,Core_2,0,lock
-420125100,TASK_WritingActuator,210,SEM,SEM_DataElement1,0,assigned,1
-420125150,TASK_WritingActuator,210,R,FUNC_SEMLOCK,420,terminate
-420125150,Core_2,0,C,Core_2,0,unlock
-420125150,TASK_WritingActuator,210,R,FUNC_WriteData,210,start
-420150000,SIM,-1,STI,TIMER-A_2ms,210,trigger
-420150000,TIMER-A_2ms,210,T,TASK_InputProcessing,210,activate
-420150000,TASK_InputProcessing,210,SCHED,SCHED_Tasks_C1,-1,processactivate
-420150100,TASK_InputProcessing,210,STI,IR_SCHED_Tasks_C1,1413,trigger
-420150100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-420152250,TASK_WritingActuator,210,SIG,SIG_Mixture,0,write,0
-420152250,TASK_WritingActuator,210,R,FUNC_WriteData,210,terminate
-420152250,TASK_WritingActuator,210,R,FUNC_SEMUNLOCK,420,start
-420250000,SIM,-1,STI,TIMER-1MS,420,trigger
-420250000,TIMER-1MS,420,T,TASK_1MS,420,activate
-420250000,TASK_1MS,420,SCHED,SCHED_Tasks_C1,-1,processactivate
-420250100,TASK_1MS,420,STI,IR_SCHED_Tasks_C1,1414,trigger
-420250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-420250100,TASK_10MS_DL2,42,R,FUNC_EXECTIME_1,764,suspend
-420250100,Core_1,0,T,TASK_10MS_DL2,42,preempt
-420250100,Core_1,0,C,Core_1,0,idle_execution
-420250100,TASK_10MS_DL2,42,C,Core_1,0,idle_execution
-420250100,Core_1,0,T,TASK_1MS,420,start
-420250100,TASK_1MS,420,R,FUNC_EXECTIME_1,767,start
-420250100,Core_1,0,C,Core_1,0,execute
-420250100,TASK_1MS,420,C,Core_1,0,execute
-420352250,TASK_WritingActuator,210,SEM,SEM_DataElement1,0,released,1
-420352250,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-420352250,TASK_WritingActuator,210,SCHED,SCHED_Tasks_C2,-1,schedulepoint
-420352250,Core_2,0,C,Core_2,0,lock
-420352300,TASK_WritingActuator,210,R,FUNC_SEMUNLOCK,420,terminate
-420352300,Core_2,0,T,TASK_WritingActuator,210,terminate
-420352300,TASK_WritingActuator,210,SCHED,SCHED_Tasks_C2,-1,processterminate
-420352300,Core_2,0,C,Core_2,0,unlock
-420352300,Core_2,0,C,Core_2,0,idle
-420352300,TASK_WritingActuator,210,C,Core_2,0,idle
-420352350,TASK_WritingActuator,210,STI,IR_SCHED_Tasks_C2,1354,trigger
-420352350,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-420352350,Core_2,0,T,TASK_5MS,210,start
-420352350,TASK_5MS,210,R,FUNC_EXECTIME_1,766,start
-420352350,Core_2,0,C,Core_2,0,execute
-420352350,TASK_5MS,210,C,Core_2,0,execute
-420559250,TASK_1MS,420,R,FUNC_EXECTIME_1,767,terminate
-420559250,Core_1,0,T,TASK_1MS,420,terminate
-420559250,TASK_1MS,420,SCHED,SCHED_Tasks_C1,-1,processterminate
-420559250,Core_1,0,C,Core_1,0,idle
-420559250,TASK_1MS,420,C,Core_1,0,idle
-420559350,TASK_1MS,420,STI,IR_SCHED_Tasks_C1,1415,trigger
-420559350,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-420559350,Core_1,0,C,Core_1,0,execute_idle
-420559350,TASK_10MS_DL2,42,C,Core_1,0,execute_idle
-420559350,Core_1,0,T,TASK_10MS_DL2,42,resume
-420559350,TASK_10MS_DL2,42,R,FUNC_EXECTIME_1,764,resume
-420633150,TASK_10MS_DL2,42,R,FUNC_EXECTIME_1,764,terminate
-420633150,Core_1,0,T,TASK_10MS_DL2,42,terminate
-420633150,TASK_10MS_DL2,42,SCHED,SCHED_Tasks_C1,-1,processterminate
-420633150,Core_1,0,C,Core_1,0,idle
-420633150,TASK_10MS_DL2,42,C,Core_1,0,idle
-420633250,TASK_10MS_DL2,42,STI,IR_SCHED_Tasks_C1,1416,trigger
-420633250,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-420633250,Core_1,0,T,TASK_InputProcessing,210,start
-420633250,TASK_InputProcessing,210,R,FUNC_SEMLOCK,421,start
-420633250,Core_1,0,C,Core_1,0,execute
-420633250,TASK_InputProcessing,210,C,Core_1,0,execute
-420758250,TASK_InputProcessing,210,SEM,SEM_DataElement1,0,requestsemaphore,0
-420758250,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-420758250,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-420758250,Core_1,0,C,Core_1,0,lock
-420758250,TASK_InputProcessing,210,SEM,SEM_DataElement1,0,assigned,1
-420758300,TASK_InputProcessing,210,R,FUNC_SEMLOCK,421,terminate
-420758300,Core_1,0,C,Core_1,0,unlock
-420758300,TASK_InputProcessing,210,R,FUNC_ReadSensorData,210,start
-420923425,TASK_InputProcessing,210,SIG,SIG_RotationSpeed,0,read,0
-420923425,TASK_InputProcessing,210,SIG,SIG_Lambda,0,read,0
-420923425,TASK_InputProcessing,210,SIG,SIG_Temperature,0,read,0
-420923425,TASK_InputProcessing,210,R,FUNC_ReadSensorData,210,terminate
-420923425,TASK_InputProcessing,210,R,FUNC_SEMUNLOCK,421,start
-421002150,TASK_5MS,210,R,FUNC_EXECTIME_1,766,terminate
-421002150,Core_2,0,T,TASK_5MS,210,terminate
-421002150,TASK_5MS,210,SCHED,SCHED_Tasks_C2,-1,processterminate
-421002150,Core_2,0,C,Core_2,0,idle
-421002150,TASK_5MS,210,C,Core_2,0,idle
-421002250,TASK_5MS,210,STI,IR_SCHED_Tasks_C2,1355,trigger
-421002250,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-421123425,TASK_InputProcessing,210,SEM,SEM_DataElement1,0,released,1
-421123425,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-421123425,TASK_InputProcessing,210,SCHED,SCHED_Tasks_C1,-1,schedulepoint
-421123425,Core_1,0,C,Core_1,0,lock
-421123475,TASK_InputProcessing,210,R,FUNC_SEMUNLOCK,421,terminate
-421123475,Core_1,0,C,Core_1,0,unlock
-421123475,TASK_InputProcessing,210,STI,IPA_InputReady,210,trigger
-421123475,IPA_InputReady,210,T,TASK_CalcEngineSpeed,210,activate
-421123475,TASK_CalcEngineSpeed,210,SCHED,SCHED_Tasks_C2,-1,processactivate
-421123475,Core_1,0,T,TASK_InputProcessing,210,terminate
-421123475,TASK_InputProcessing,210,SCHED,SCHED_Tasks_C1,-1,processterminate
-421123475,Core_1,0,C,Core_1,0,idle
-421123475,TASK_InputProcessing,210,C,Core_1,0,idle
-421123525,TASK_InputProcessing,210,STI,IR_SCHED_Tasks_C1,1417,trigger
-421123525,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-421123525,Core_1,0,T,TASK_20MS,21,start
-421123525,TASK_20MS,21,R,FUNC_EXECTIME_1,765,start
-421123525,Core_1,0,C,Core_1,0,execute
-421123525,TASK_20MS,21,C,Core_1,0,execute
-421123575,TASK_CalcEngineSpeed,210,STI,IR_SCHED_Tasks_C2,1356,trigger
-421123575,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-421123575,Core_2,0,T,TASK_CalcEngineSpeed,210,start
-421123575,TASK_CalcEngineSpeed,210,R,FUNC_ENGINESPEED,210,start
-421123575,Core_2,0,C,Core_2,0,execute
-421123575,TASK_CalcEngineSpeed,210,C,Core_2,0,execute
-421237075,TASK_CalcEngineSpeed,210,R,FUNC_ENGINESPEED,210,terminate
-421237075,Core_2,0,T,TASK_CalcEngineSpeed,210,terminate
-421237075,TASK_CalcEngineSpeed,210,SCHED,SCHED_Tasks_C2,-1,processterminate
-421237075,Core_2,0,C,Core_2,0,idle
-421237075,TASK_CalcEngineSpeed,210,C,Core_2,0,idle
-421237175,TASK_CalcEngineSpeed,210,STI,IR_SCHED_Tasks_C2,1357,trigger
-421237175,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-421250000,SIM,-1,STI,TIMER-1MS,421,trigger
-421250000,TIMER-1MS,421,T,TASK_1MS,421,activate
-421250000,TASK_1MS,421,SCHED,SCHED_Tasks_C1,-1,processactivate
-421250100,TASK_1MS,421,STI,IR_SCHED_Tasks_C1,1418,trigger
-421250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-421250100,TASK_20MS,21,R,FUNC_EXECTIME_1,765,suspend
-421250100,Core_1,0,T,TASK_20MS,21,preempt
-421250100,Core_1,0,C,Core_1,0,idle_execution
-421250100,TASK_20MS,21,C,Core_1,0,idle_execution
-421250100,Core_1,0,T,TASK_1MS,421,start
-421250100,TASK_1MS,421,R,FUNC_EXECTIME_1,768,start
-421250100,Core_1,0,C,Core_1,0,execute
-421250100,TASK_1MS,421,C,Core_1,0,execute
-421830375,TASK_1MS,421,R,FUNC_EXECTIME_1,768,terminate
-421830375,Core_1,0,T,TASK_1MS,421,terminate
-421830375,TASK_1MS,421,SCHED,SCHED_Tasks_C1,-1,processterminate
-421830375,Core_1,0,C,Core_1,0,idle
-421830375,TASK_1MS,421,C,Core_1,0,idle
-421830475,TASK_1MS,421,STI,IR_SCHED_Tasks_C1,1419,trigger
-421830475,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-421830475,Core_1,0,C,Core_1,0,execute_idle
-421830475,TASK_20MS,21,C,Core_1,0,execute_idle
-421830475,Core_1,0,T,TASK_20MS,21,resume
-421830475,TASK_20MS,21,R,FUNC_EXECTIME_1,765,resume
-422000000,SIM,-1,STI,TIMER-B_2ms,211,trigger
-422000000,TIMER-B_2ms,211,T,TASK_WritingActuator,211,activate
-422000000,TASK_WritingActuator,211,SCHED,SCHED_Tasks_C2,-1,processactivate
-422000100,TASK_WritingActuator,211,STI,IR_SCHED_Tasks_C2,1358,trigger
-422000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-422000100,Core_2,0,T,TASK_WritingActuator,211,start
-422000100,TASK_WritingActuator,211,R,FUNC_SEMLOCK,422,start
-422000100,Core_2,0,C,Core_2,0,execute
-422000100,TASK_WritingActuator,211,C,Core_2,0,execute
-422100000,SIM,-1,STI,TIMER-5MS,211,trigger
-422100000,TIMER-5MS,211,T,TASK_5MS,211,activate
-422100000,TASK_5MS,211,SCHED,SCHED_Tasks_C2,-1,processactivate
-422100100,TASK_5MS,211,STI,IR_SCHED_Tasks_C2,1359,trigger
-422100100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-422125100,TASK_WritingActuator,211,SEM,SEM_DataElement1,0,requestsemaphore,0
-422125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-422125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-422125100,Core_2,0,C,Core_2,0,lock
-422125100,TASK_WritingActuator,211,SEM,SEM_DataElement1,0,assigned,1
-422125150,TASK_WritingActuator,211,R,FUNC_SEMLOCK,422,terminate
-422125150,Core_2,0,C,Core_2,0,unlock
-422125150,TASK_WritingActuator,211,R,FUNC_WriteData,211,start
-422150000,SIM,-1,STI,TIMER-A_2ms,211,trigger
-422150000,TIMER-A_2ms,211,T,TASK_InputProcessing,211,activate
-422150000,TASK_InputProcessing,211,SCHED,SCHED_Tasks_C1,-1,processactivate
-422150100,TASK_InputProcessing,211,STI,IR_SCHED_Tasks_C1,1420,trigger
-422150100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-422150100,TASK_20MS,21,R,FUNC_EXECTIME_1,765,suspend
-422150100,Core_1,0,T,TASK_20MS,21,preempt
-422150100,Core_1,0,C,Core_1,0,idle_execution
-422150100,TASK_20MS,21,C,Core_1,0,idle_execution
-422150100,Core_1,0,T,TASK_InputProcessing,211,start
-422150100,TASK_InputProcessing,211,R,FUNC_SEMLOCK,423,start
-422150100,Core_1,0,C,Core_1,0,execute
-422150100,TASK_InputProcessing,211,C,Core_1,0,execute
-422151275,TASK_WritingActuator,211,SIG,SIG_Mixture,0,write,0
-422151275,TASK_WritingActuator,211,R,FUNC_WriteData,211,terminate
-422151275,TASK_WritingActuator,211,R,FUNC_SEMUNLOCK,422,start
-422250000,SIM,-1,STI,TIMER-1MS,422,trigger
-422250000,TIMER-1MS,422,T,TASK_1MS,422,activate
-422250000,TASK_1MS,422,SCHED,SCHED_Tasks_C1,-1,processactivate
-422250100,TASK_1MS,422,STI,IR_SCHED_Tasks_C1,1421,trigger
-422250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-422250100,TASK_InputProcessing,211,R,FUNC_SEMLOCK,423,suspend
-422250100,Core_1,0,T,TASK_InputProcessing,211,preempt
-422250100,Core_1,0,C,Core_1,0,idle_execution
-422250100,TASK_InputProcessing,211,C,Core_1,0,idle_execution
-422250100,Core_1,0,T,TASK_1MS,422,start
-422250100,TASK_1MS,422,R,FUNC_EXECTIME_1,770,start
-422250100,Core_1,0,C,Core_1,0,execute
-422250100,TASK_1MS,422,C,Core_1,0,execute
-422351275,TASK_WritingActuator,211,SEM,SEM_DataElement1,0,released,1
-422351275,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-422351275,TASK_WritingActuator,211,SCHED,SCHED_Tasks_C2,-1,schedulepoint
-422351275,Core_2,0,C,Core_2,0,lock
-422351325,TASK_WritingActuator,211,R,FUNC_SEMUNLOCK,422,terminate
-422351325,Core_2,0,T,TASK_WritingActuator,211,terminate
-422351325,TASK_WritingActuator,211,SCHED,SCHED_Tasks_C2,-1,processterminate
-422351325,Core_2,0,C,Core_2,0,unlock
-422351325,Core_2,0,C,Core_2,0,idle
-422351325,TASK_WritingActuator,211,C,Core_2,0,idle
-422351375,TASK_WritingActuator,211,STI,IR_SCHED_Tasks_C2,1360,trigger
-422351375,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-422351375,Core_2,0,T,TASK_5MS,211,start
-422351375,TASK_5MS,211,R,FUNC_EXECTIME_1,769,start
-422351375,Core_2,0,C,Core_2,0,execute
-422351375,TASK_5MS,211,C,Core_2,0,execute
-422642350,TASK_5MS,211,R,FUNC_EXECTIME_1,769,terminate
-422642350,Core_2,0,T,TASK_5MS,211,terminate
-422642350,TASK_5MS,211,SCHED,SCHED_Tasks_C2,-1,processterminate
-422642350,Core_2,0,C,Core_2,0,idle
-422642350,TASK_5MS,211,C,Core_2,0,idle
-422642450,TASK_5MS,211,STI,IR_SCHED_Tasks_C2,1361,trigger
-422642450,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-422804125,TASK_1MS,422,R,FUNC_EXECTIME_1,770,terminate
-422804125,Core_1,0,T,TASK_1MS,422,terminate
-422804125,TASK_1MS,422,SCHED,SCHED_Tasks_C1,-1,processterminate
-422804125,Core_1,0,C,Core_1,0,idle
-422804125,TASK_1MS,422,C,Core_1,0,idle
-422804225,TASK_1MS,422,STI,IR_SCHED_Tasks_C1,1422,trigger
-422804225,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-422804225,Core_1,0,C,Core_1,0,execute_idle
-422804225,TASK_InputProcessing,211,C,Core_1,0,execute_idle
-422804225,Core_1,0,T,TASK_InputProcessing,211,resume
-422804225,TASK_InputProcessing,211,R,FUNC_SEMLOCK,423,resume
-422829225,TASK_InputProcessing,211,SEM,SEM_DataElement1,0,requestsemaphore,0
-422829225,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-422829225,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-422829225,Core_1,0,C,Core_1,0,lock
-422829225,TASK_InputProcessing,211,SEM,SEM_DataElement1,0,assigned,1
-422829275,TASK_InputProcessing,211,R,FUNC_SEMLOCK,423,terminate
-422829275,Core_1,0,C,Core_1,0,unlock
-422829275,TASK_InputProcessing,211,R,FUNC_ReadSensorData,211,start
-422993550,TASK_InputProcessing,211,SIG,SIG_RotationSpeed,0,read,0
-422993550,TASK_InputProcessing,211,SIG,SIG_Lambda,0,read,0
-422993550,TASK_InputProcessing,211,SIG,SIG_Temperature,0,read,0
-422993550,TASK_InputProcessing,211,R,FUNC_ReadSensorData,211,terminate
-422993550,TASK_InputProcessing,211,R,FUNC_SEMUNLOCK,423,start
-423193550,TASK_InputProcessing,211,SEM,SEM_DataElement1,0,released,1
-423193550,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-423193550,TASK_InputProcessing,211,SCHED,SCHED_Tasks_C1,-1,schedulepoint
-423193550,Core_1,0,C,Core_1,0,lock
-423193600,TASK_InputProcessing,211,R,FUNC_SEMUNLOCK,423,terminate
-423193600,Core_1,0,C,Core_1,0,unlock
-423193600,TASK_InputProcessing,211,STI,IPA_InputReady,211,trigger
-423193600,IPA_InputReady,211,T,TASK_CalcEngineSpeed,211,activate
-423193600,TASK_CalcEngineSpeed,211,SCHED,SCHED_Tasks_C2,-1,processactivate
-423193600,Core_1,0,T,TASK_InputProcessing,211,terminate
-423193600,TASK_InputProcessing,211,SCHED,SCHED_Tasks_C1,-1,processterminate
-423193600,Core_1,0,C,Core_1,0,idle
-423193600,TASK_InputProcessing,211,C,Core_1,0,idle
-423193650,TASK_InputProcessing,211,STI,IR_SCHED_Tasks_C1,1423,trigger
-423193650,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-423193650,Core_1,0,C,Core_1,0,execute_idle
-423193650,TASK_20MS,21,C,Core_1,0,execute_idle
-423193650,Core_1,0,T,TASK_20MS,21,resume
-423193650,TASK_20MS,21,R,FUNC_EXECTIME_1,765,resume
-423193700,TASK_CalcEngineSpeed,211,STI,IR_SCHED_Tasks_C2,1362,trigger
-423193700,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-423193700,Core_2,0,T,TASK_CalcEngineSpeed,211,start
-423193700,TASK_CalcEngineSpeed,211,R,FUNC_ENGINESPEED,211,start
-423193700,Core_2,0,C,Core_2,0,execute
-423193700,TASK_CalcEngineSpeed,211,C,Core_2,0,execute
-423250000,SIM,-1,STI,TIMER-1MS,423,trigger
-423250000,TIMER-1MS,423,T,TASK_1MS,423,activate
-423250000,TASK_1MS,423,SCHED,SCHED_Tasks_C1,-1,processactivate
-423250100,TASK_1MS,423,STI,IR_SCHED_Tasks_C1,1424,trigger
-423250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-423250100,TASK_20MS,21,R,FUNC_EXECTIME_1,765,suspend
-423250100,Core_1,0,T,TASK_20MS,21,preempt
-423250100,Core_1,0,C,Core_1,0,idle_execution
-423250100,TASK_20MS,21,C,Core_1,0,idle_execution
-423250100,Core_1,0,T,TASK_1MS,423,start
-423250100,TASK_1MS,423,R,FUNC_EXECTIME_1,771,start
-423250100,Core_1,0,C,Core_1,0,execute
-423250100,TASK_1MS,423,C,Core_1,0,execute
-423325050,TASK_CalcEngineSpeed,211,R,FUNC_ENGINESPEED,211,terminate
-423325050,Core_2,0,T,TASK_CalcEngineSpeed,211,terminate
-423325050,TASK_CalcEngineSpeed,211,SCHED,SCHED_Tasks_C2,-1,processterminate
-423325050,Core_2,0,C,Core_2,0,idle
-423325050,TASK_CalcEngineSpeed,211,C,Core_2,0,idle
-423325150,TASK_CalcEngineSpeed,211,STI,IR_SCHED_Tasks_C2,1363,trigger
-423325150,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-423520500,TASK_1MS,423,R,FUNC_EXECTIME_1,771,terminate
-423520500,Core_1,0,T,TASK_1MS,423,terminate
-423520500,TASK_1MS,423,SCHED,SCHED_Tasks_C1,-1,processterminate
-423520500,Core_1,0,C,Core_1,0,idle
-423520500,TASK_1MS,423,C,Core_1,0,idle
-423520600,TASK_1MS,423,STI,IR_SCHED_Tasks_C1,1425,trigger
-423520600,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-423520600,Core_1,0,C,Core_1,0,execute_idle
-423520600,TASK_20MS,21,C,Core_1,0,execute_idle
-423520600,Core_1,0,T,TASK_20MS,21,resume
-423520600,TASK_20MS,21,R,FUNC_EXECTIME_1,765,resume
-423726200,TASK_20MS,21,R,FUNC_EXECTIME_1,765,terminate
-423726200,Core_1,0,T,TASK_20MS,21,terminate
-423726200,TASK_20MS,21,SCHED,SCHED_Tasks_C1,-1,processterminate
-423726200,Core_1,0,C,Core_1,0,idle
-423726200,TASK_20MS,21,C,Core_1,0,idle
-423726300,TASK_20MS,21,STI,IR_SCHED_Tasks_C1,1426,trigger
-423726300,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-423726300,Core_1,0,C,Core_1,0,execute_idle
-423726300,TASK_200MS,2,C,Core_1,0,execute_idle
-423726300,Core_1,0,T,TASK_200MS,2,resume
-423726300,TASK_200MS,2,R,FUNC_EXECTIME_1,742,resume
-423730325,TASK_200MS,2,R,FUNC_EXECTIME_1,742,terminate
-423730325,TASK_200MS,2,SCHED,SCHED_Tasks_C1,-1,schedulepoint
-423730325,Core_1,0,T,TASK_200MS,2,preempt
-423730325,Core_1,0,C,Core_1,0,idle
-423730325,TASK_200MS,2,C,Core_1,0,idle
-423730425,TASK_200MS,2,STI,IR_SCHED_Tasks_C1,1427,trigger
-423730425,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-423730425,Core_1,0,T,TASK_200MS,2,resume
-423730425,TASK_200MS,2,R,FUNC_EXECTIME_1,772,start
-423730425,Core_1,0,C,Core_1,0,execute
-423730425,TASK_200MS,2,C,Core_1,0,execute
-424000000,SIM,-1,STI,TIMER-B_2ms,212,trigger
-424000000,TIMER-B_2ms,212,T,TASK_WritingActuator,212,activate
-424000000,TASK_WritingActuator,212,SCHED,SCHED_Tasks_C2,-1,processactivate
-424000100,TASK_WritingActuator,212,STI,IR_SCHED_Tasks_C2,1364,trigger
-424000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-424000100,Core_2,0,T,TASK_WritingActuator,212,start
-424000100,TASK_WritingActuator,212,R,FUNC_SEMLOCK,424,start
-424000100,Core_2,0,C,Core_2,0,execute
-424000100,TASK_WritingActuator,212,C,Core_2,0,execute
-424100000,SIM,-1,STI,TIMER-5MS,212,trigger
-424100000,TIMER-5MS,212,T,TASK_5MS,212,activate
-424100000,TASK_5MS,212,SCHED,SCHED_Tasks_C2,-1,processactivate
-424100100,TASK_5MS,212,STI,IR_SCHED_Tasks_C2,1365,trigger
-424100100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-424125100,TASK_WritingActuator,212,SEM,SEM_DataElement1,0,requestsemaphore,0
-424125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-424125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-424125100,Core_2,0,C,Core_2,0,lock
-424125100,TASK_WritingActuator,212,SEM,SEM_DataElement1,0,assigned,1
-424125150,TASK_WritingActuator,212,R,FUNC_SEMLOCK,424,terminate
-424125150,Core_2,0,C,Core_2,0,unlock
-424125150,TASK_WritingActuator,212,R,FUNC_WriteData,212,start
-424150000,SIM,-1,STI,TIMER-A_2ms,212,trigger
-424150000,TIMER-A_2ms,212,T,TASK_InputProcessing,212,activate
-424150000,TASK_InputProcessing,212,SCHED,SCHED_Tasks_C1,-1,processactivate
-424150100,TASK_InputProcessing,212,STI,IR_SCHED_Tasks_C1,1428,trigger
-424150100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-424150100,TASK_200MS,2,R,FUNC_EXECTIME_1,772,suspend
-424150100,Core_1,0,T,TASK_200MS,2,preempt
-424150100,Core_1,0,C,Core_1,0,idle_execution
-424150100,TASK_200MS,2,C,Core_1,0,idle_execution
-424150100,Core_1,0,T,TASK_InputProcessing,212,start
-424150100,TASK_InputProcessing,212,R,FUNC_SEMLOCK,425,start
-424150100,Core_1,0,C,Core_1,0,execute
-424150100,TASK_InputProcessing,212,C,Core_1,0,execute
-424152250,TASK_WritingActuator,212,SIG,SIG_Mixture,0,write,0
-424152250,TASK_WritingActuator,212,R,FUNC_WriteData,212,terminate
-424152250,TASK_WritingActuator,212,R,FUNC_SEMUNLOCK,424,start
-424250000,SIM,-1,STI,TIMER-1MS,424,trigger
-424250000,TIMER-1MS,424,T,TASK_1MS,424,activate
-424250000,TASK_1MS,424,SCHED,SCHED_Tasks_C1,-1,processactivate
-424250100,TASK_1MS,424,STI,IR_SCHED_Tasks_C1,1429,trigger
-424250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-424250100,TASK_InputProcessing,212,R,FUNC_SEMLOCK,425,suspend
-424250100,Core_1,0,T,TASK_InputProcessing,212,preempt
-424250100,Core_1,0,C,Core_1,0,idle_execution
-424250100,TASK_InputProcessing,212,C,Core_1,0,idle_execution
-424250100,Core_1,0,T,TASK_1MS,424,start
-424250100,TASK_1MS,424,R,FUNC_EXECTIME_1,774,start
-424250100,Core_1,0,C,Core_1,0,execute
-424250100,TASK_1MS,424,C,Core_1,0,execute
-424352250,TASK_WritingActuator,212,SEM,SEM_DataElement1,0,released,1
-424352250,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-424352250,TASK_WritingActuator,212,SCHED,SCHED_Tasks_C2,-1,schedulepoint
-424352250,Core_2,0,C,Core_2,0,lock
-424352300,TASK_WritingActuator,212,R,FUNC_SEMUNLOCK,424,terminate
-424352300,Core_2,0,T,TASK_WritingActuator,212,terminate
-424352300,TASK_WritingActuator,212,SCHED,SCHED_Tasks_C2,-1,processterminate
-424352300,Core_2,0,C,Core_2,0,unlock
-424352300,Core_2,0,C,Core_2,0,idle
-424352300,TASK_WritingActuator,212,C,Core_2,0,idle
-424352350,TASK_WritingActuator,212,STI,IR_SCHED_Tasks_C2,1366,trigger
-424352350,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-424352350,Core_2,0,T,TASK_5MS,212,start
-424352350,TASK_5MS,212,R,FUNC_EXECTIME_1,773,start
-424352350,Core_2,0,C,Core_2,0,execute
-424352350,TASK_5MS,212,C,Core_2,0,execute
-424762950,TASK_1MS,424,R,FUNC_EXECTIME_1,774,terminate
-424762950,Core_1,0,T,TASK_1MS,424,terminate
-424762950,TASK_1MS,424,SCHED,SCHED_Tasks_C1,-1,processterminate
-424762950,Core_1,0,C,Core_1,0,idle
-424762950,TASK_1MS,424,C,Core_1,0,idle
-424763050,TASK_1MS,424,STI,IR_SCHED_Tasks_C1,1430,trigger
-424763050,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-424763050,Core_1,0,C,Core_1,0,execute_idle
-424763050,TASK_InputProcessing,212,C,Core_1,0,execute_idle
-424763050,Core_1,0,T,TASK_InputProcessing,212,resume
-424763050,TASK_InputProcessing,212,R,FUNC_SEMLOCK,425,resume
-424788050,TASK_InputProcessing,212,SEM,SEM_DataElement1,0,requestsemaphore,0
-424788050,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-424788050,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-424788050,Core_1,0,C,Core_1,0,lock
-424788050,TASK_InputProcessing,212,SEM,SEM_DataElement1,0,assigned,1
-424788100,TASK_InputProcessing,212,R,FUNC_SEMLOCK,425,terminate
-424788100,Core_1,0,C,Core_1,0,unlock
-424788100,TASK_InputProcessing,212,R,FUNC_ReadSensorData,212,start
-424952875,TASK_InputProcessing,212,SIG,SIG_RotationSpeed,0,read,0
-424952875,TASK_InputProcessing,212,SIG,SIG_Lambda,0,read,0
-424952875,TASK_InputProcessing,212,SIG,SIG_Temperature,0,read,0
-424952875,TASK_InputProcessing,212,R,FUNC_ReadSensorData,212,terminate
-424952875,TASK_InputProcessing,212,R,FUNC_SEMUNLOCK,425,start
-425000000,SIM,-1,STI,TIMER-10MS,42,trigger
-425000000,TIMER-10MS,42,T,TASK_10MS,42,activate
-425000000,TASK_10MS,42,SCHED,SCHED_Tasks_C2,-1,processactivate
-425000100,TASK_10MS,42,STI,IR_SCHED_Tasks_C2,1367,trigger
-425000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-425127375,TASK_5MS,212,R,FUNC_EXECTIME_1,773,terminate
-425127375,Core_2,0,T,TASK_5MS,212,terminate
-425127375,TASK_5MS,212,SCHED,SCHED_Tasks_C2,-1,processterminate
-425127375,Core_2,0,C,Core_2,0,idle
-425127375,TASK_5MS,212,C,Core_2,0,idle
-425127475,TASK_5MS,212,STI,IR_SCHED_Tasks_C2,1368,trigger
-425127475,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-425127475,Core_2,0,T,TASK_10MS,42,start
-425127475,TASK_10MS,42,R,FUNC_EXECTIME_1,775,start
-425127475,Core_2,0,C,Core_2,0,execute
-425127475,TASK_10MS,42,C,Core_2,0,execute
-425152875,TASK_InputProcessing,212,SEM,SEM_DataElement1,0,released,1
-425152875,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-425152875,TASK_InputProcessing,212,SCHED,SCHED_Tasks_C1,-1,schedulepoint
-425152875,Core_1,0,C,Core_1,0,lock
-425152925,TASK_InputProcessing,212,R,FUNC_SEMUNLOCK,425,terminate
-425152925,Core_1,0,C,Core_1,0,unlock
-425152925,TASK_InputProcessing,212,STI,IPA_InputReady,212,trigger
-425152925,IPA_InputReady,212,T,TASK_CalcEngineSpeed,212,activate
-425152925,TASK_CalcEngineSpeed,212,SCHED,SCHED_Tasks_C2,-1,processactivate
-425152925,Core_1,0,T,TASK_InputProcessing,212,terminate
-425152925,TASK_InputProcessing,212,SCHED,SCHED_Tasks_C1,-1,processterminate
-425152925,Core_1,0,C,Core_1,0,idle
-425152925,TASK_InputProcessing,212,C,Core_1,0,idle
-425152975,TASK_InputProcessing,212,STI,IR_SCHED_Tasks_C1,1431,trigger
-425152975,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-425152975,Core_1,0,C,Core_1,0,execute_idle
-425152975,TASK_200MS,2,C,Core_1,0,execute_idle
-425152975,Core_1,0,T,TASK_200MS,2,resume
-425152975,TASK_200MS,2,R,FUNC_EXECTIME_1,772,resume
-425153025,TASK_CalcEngineSpeed,212,STI,IR_SCHED_Tasks_C2,1369,trigger
-425153025,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-425153025,TASK_10MS,42,R,FUNC_EXECTIME_1,775,suspend
-425153025,Core_2,0,T,TASK_10MS,42,preempt
-425153025,Core_2,0,C,Core_2,0,idle_execution
-425153025,TASK_10MS,42,C,Core_2,0,idle_execution
-425153025,Core_2,0,T,TASK_CalcEngineSpeed,212,start
-425153025,TASK_CalcEngineSpeed,212,R,FUNC_ENGINESPEED,212,start
-425153025,Core_2,0,C,Core_2,0,execute
-425153025,TASK_CalcEngineSpeed,212,C,Core_2,0,execute
-425250000,SIM,-1,STI,TIMER-1MS,425,trigger
-425250000,TIMER-1MS,425,T,TASK_1MS,425,activate
-425250000,TASK_1MS,425,SCHED,SCHED_Tasks_C1,-1,processactivate
-425250100,TASK_1MS,425,STI,IR_SCHED_Tasks_C1,1432,trigger
-425250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-425250100,TASK_200MS,2,R,FUNC_EXECTIME_1,772,suspend
-425250100,Core_1,0,T,TASK_200MS,2,preempt
-425250100,Core_1,0,C,Core_1,0,idle_execution
-425250100,TASK_200MS,2,C,Core_1,0,idle_execution
-425250100,Core_1,0,T,TASK_1MS,425,start
-425250100,TASK_1MS,425,R,FUNC_EXECTIME_1,776,start
-425250100,Core_1,0,C,Core_1,0,execute
-425250100,TASK_1MS,425,C,Core_1,0,execute
-425346025,TASK_CalcEngineSpeed,212,R,FUNC_ENGINESPEED,212,terminate
-425346025,Core_2,0,T,TASK_CalcEngineSpeed,212,terminate
-425346025,TASK_CalcEngineSpeed,212,SCHED,SCHED_Tasks_C2,-1,processterminate
-425346025,Core_2,0,C,Core_2,0,idle
-425346025,TASK_CalcEngineSpeed,212,C,Core_2,0,idle
-425346125,TASK_CalcEngineSpeed,212,STI,IR_SCHED_Tasks_C2,1370,trigger
-425346125,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-425346125,Core_2,0,C,Core_2,0,execute_idle
-425346125,TASK_10MS,42,C,Core_2,0,execute_idle
-425346125,Core_2,0,T,TASK_10MS,42,resume
-425346125,TASK_10MS,42,R,FUNC_EXECTIME_1,775,resume
-425809350,TASK_10MS,42,R,FUNC_EXECTIME_1,775,terminate
-425809350,Core_2,0,T,TASK_10MS,42,terminate
-425809350,TASK_10MS,42,SCHED,SCHED_Tasks_C2,-1,processterminate
-425809350,Core_2,0,C,Core_2,0,idle
-425809350,TASK_10MS,42,C,Core_2,0,idle
-425809450,TASK_10MS,42,STI,IR_SCHED_Tasks_C2,1371,trigger
-425809450,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-425850225,TASK_1MS,425,R,FUNC_EXECTIME_1,776,terminate
-425850225,Core_1,0,T,TASK_1MS,425,terminate
-425850225,TASK_1MS,425,SCHED,SCHED_Tasks_C1,-1,processterminate
-425850225,Core_1,0,C,Core_1,0,idle
-425850225,TASK_1MS,425,C,Core_1,0,idle
-425850325,TASK_1MS,425,STI,IR_SCHED_Tasks_C1,1433,trigger
-425850325,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-425850325,Core_1,0,C,Core_1,0,execute_idle
-425850325,TASK_200MS,2,C,Core_1,0,execute_idle
-425850325,Core_1,0,T,TASK_200MS,2,resume
-425850325,TASK_200MS,2,R,FUNC_EXECTIME_1,772,resume
-425945525,TASK_200MS,2,R,FUNC_EXECTIME_1,772,terminate
-425945525,TASK_200MS,2,SCHED,SCHED_Tasks_C1,-1,schedulepoint
-425945525,Core_1,0,T,TASK_200MS,2,preempt
-425945525,Core_1,0,C,Core_1,0,idle
-425945525,TASK_200MS,2,C,Core_1,0,idle
-425945625,TASK_200MS,2,STI,IR_SCHED_Tasks_C1,1434,trigger
-425945625,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-425945625,Core_1,0,T,TASK_200MS,2,resume
-425945625,TASK_200MS,2,R,FUNC_EXECTIME_1,777,start
-425945625,Core_1,0,C,Core_1,0,execute
-425945625,TASK_200MS,2,C,Core_1,0,execute
-426000000,SIM,-1,STI,TIMER-B_2ms,213,trigger
-426000000,TIMER-B_2ms,213,T,TASK_WritingActuator,213,activate
-426000000,TASK_WritingActuator,213,SCHED,SCHED_Tasks_C2,-1,processactivate
-426000100,TASK_WritingActuator,213,STI,IR_SCHED_Tasks_C2,1372,trigger
-426000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-426000100,Core_2,0,T,TASK_WritingActuator,213,start
-426000100,TASK_WritingActuator,213,R,FUNC_SEMLOCK,426,start
-426000100,Core_2,0,C,Core_2,0,execute
-426000100,TASK_WritingActuator,213,C,Core_2,0,execute
-426100000,SIM,-1,STI,TIMER-5MS,213,trigger
-426100000,TIMER-5MS,213,T,TASK_5MS,213,activate
-426100000,TASK_5MS,213,SCHED,SCHED_Tasks_C2,-1,processactivate
-426100100,TASK_5MS,213,STI,IR_SCHED_Tasks_C2,1373,trigger
-426100100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-426125100,TASK_WritingActuator,213,SEM,SEM_DataElement1,0,requestsemaphore,0
-426125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-426125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-426125100,Core_2,0,C,Core_2,0,lock
-426125100,TASK_WritingActuator,213,SEM,SEM_DataElement1,0,assigned,1
-426125150,TASK_WritingActuator,213,R,FUNC_SEMLOCK,426,terminate
-426125150,Core_2,0,C,Core_2,0,unlock
-426125150,TASK_WritingActuator,213,R,FUNC_WriteData,213,start
-426150000,SIM,-1,STI,TIMER-A_2ms,213,trigger
-426150000,TIMER-A_2ms,213,T,TASK_InputProcessing,213,activate
-426150000,TASK_InputProcessing,213,SCHED,SCHED_Tasks_C1,-1,processactivate
-426150100,TASK_InputProcessing,213,STI,IR_SCHED_Tasks_C1,1435,trigger
-426150100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-426150100,TASK_200MS,2,R,FUNC_EXECTIME_1,777,suspend
-426150100,Core_1,0,T,TASK_200MS,2,preempt
-426150100,Core_1,0,C,Core_1,0,idle_execution
-426150100,TASK_200MS,2,C,Core_1,0,idle_execution
-426150100,Core_1,0,T,TASK_InputProcessing,213,start
-426150100,TASK_InputProcessing,213,R,FUNC_SEMLOCK,427,start
-426150100,Core_1,0,C,Core_1,0,execute
-426150100,TASK_InputProcessing,213,C,Core_1,0,execute
-426152225,TASK_WritingActuator,213,SIG,SIG_Mixture,0,write,0
-426152225,TASK_WritingActuator,213,R,FUNC_WriteData,213,terminate
-426152225,TASK_WritingActuator,213,R,FUNC_SEMUNLOCK,426,start
-426250000,SIM,-1,STI,TIMER-1MS,426,trigger
-426250000,TIMER-1MS,426,T,TASK_1MS,426,activate
-426250000,TASK_1MS,426,SCHED,SCHED_Tasks_C1,-1,processactivate
-426250100,TASK_1MS,426,STI,IR_SCHED_Tasks_C1,1436,trigger
-426250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-426250100,TASK_InputProcessing,213,R,FUNC_SEMLOCK,427,suspend
-426250100,Core_1,0,T,TASK_InputProcessing,213,preempt
-426250100,Core_1,0,C,Core_1,0,idle_execution
-426250100,TASK_InputProcessing,213,C,Core_1,0,idle_execution
-426250100,Core_1,0,T,TASK_1MS,426,start
-426250100,TASK_1MS,426,R,FUNC_EXECTIME_1,779,start
-426250100,Core_1,0,C,Core_1,0,execute
-426250100,TASK_1MS,426,C,Core_1,0,execute
-426352225,TASK_WritingActuator,213,SEM,SEM_DataElement1,0,released,1
-426352225,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-426352225,TASK_WritingActuator,213,SCHED,SCHED_Tasks_C2,-1,schedulepoint
-426352225,Core_2,0,C,Core_2,0,lock
-426352275,TASK_WritingActuator,213,R,FUNC_SEMUNLOCK,426,terminate
-426352275,Core_2,0,T,TASK_WritingActuator,213,terminate
-426352275,TASK_WritingActuator,213,SCHED,SCHED_Tasks_C2,-1,processterminate
-426352275,Core_2,0,C,Core_2,0,unlock
-426352275,Core_2,0,C,Core_2,0,idle
-426352275,TASK_WritingActuator,213,C,Core_2,0,idle
-426352325,TASK_WritingActuator,213,STI,IR_SCHED_Tasks_C2,1374,trigger
-426352325,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-426352325,Core_2,0,T,TASK_5MS,213,start
-426352325,TASK_5MS,213,R,FUNC_EXECTIME_1,778,start
-426352325,Core_2,0,C,Core_2,0,execute
-426352325,TASK_5MS,213,C,Core_2,0,execute
-427062725,TASK_5MS,213,R,FUNC_EXECTIME_1,778,terminate
-427062725,Core_2,0,T,TASK_5MS,213,terminate
-427062725,TASK_5MS,213,SCHED,SCHED_Tasks_C2,-1,processterminate
-427062725,Core_2,0,C,Core_2,0,idle
-427062725,TASK_5MS,213,C,Core_2,0,idle
-427062825,TASK_5MS,213,STI,IR_SCHED_Tasks_C2,1375,trigger
-427062825,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-427118325,TASK_1MS,426,R,FUNC_EXECTIME_1,779,terminate
-427118325,Core_1,0,T,TASK_1MS,426,terminate
-427118325,TASK_1MS,426,SCHED,SCHED_Tasks_C1,-1,processterminate
-427118325,Core_1,0,C,Core_1,0,idle
-427118325,TASK_1MS,426,C,Core_1,0,idle
-427118425,TASK_1MS,426,STI,IR_SCHED_Tasks_C1,1437,trigger
-427118425,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-427118425,Core_1,0,C,Core_1,0,execute_idle
-427118425,TASK_InputProcessing,213,C,Core_1,0,execute_idle
-427118425,Core_1,0,T,TASK_InputProcessing,213,resume
-427118425,TASK_InputProcessing,213,R,FUNC_SEMLOCK,427,resume
-427143425,TASK_InputProcessing,213,SEM,SEM_DataElement1,0,requestsemaphore,0
-427143425,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-427143425,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-427143425,Core_1,0,C,Core_1,0,lock
-427143425,TASK_InputProcessing,213,SEM,SEM_DataElement1,0,assigned,1
-427143475,TASK_InputProcessing,213,R,FUNC_SEMLOCK,427,terminate
-427143475,Core_1,0,C,Core_1,0,unlock
-427143475,TASK_InputProcessing,213,R,FUNC_ReadSensorData,213,start
-427250000,SIM,-1,STI,TIMER-1MS,427,trigger
-427250000,TIMER-1MS,427,T,TASK_1MS,427,activate
-427250000,TASK_1MS,427,SCHED,SCHED_Tasks_C1,-1,processactivate
-427250100,TASK_1MS,427,STI,IR_SCHED_Tasks_C1,1438,trigger
-427250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-427306425,TASK_InputProcessing,213,SIG,SIG_RotationSpeed,0,read,0
-427306425,TASK_InputProcessing,213,SIG,SIG_Lambda,0,read,0
-427306425,TASK_InputProcessing,213,SIG,SIG_Temperature,0,read,0
-427306425,TASK_InputProcessing,213,R,FUNC_ReadSensorData,213,terminate
-427306425,TASK_InputProcessing,213,R,FUNC_SEMUNLOCK,427,start
-427506425,TASK_InputProcessing,213,SEM,SEM_DataElement1,0,released,1
-427506425,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-427506425,TASK_InputProcessing,213,SCHED,SCHED_Tasks_C1,-1,schedulepoint
-427506425,Core_1,0,C,Core_1,0,lock
-427506475,TASK_InputProcessing,213,R,FUNC_SEMUNLOCK,427,terminate
-427506475,Core_1,0,C,Core_1,0,unlock
-427506475,TASK_InputProcessing,213,STI,IPA_InputReady,213,trigger
-427506475,IPA_InputReady,213,T,TASK_CalcEngineSpeed,213,activate
-427506475,TASK_CalcEngineSpeed,213,SCHED,SCHED_Tasks_C2,-1,processactivate
-427506475,Core_1,0,T,TASK_InputProcessing,213,terminate
-427506475,TASK_InputProcessing,213,SCHED,SCHED_Tasks_C1,-1,processterminate
-427506475,Core_1,0,C,Core_1,0,idle
-427506475,TASK_InputProcessing,213,C,Core_1,0,idle
-427506525,TASK_InputProcessing,213,STI,IR_SCHED_Tasks_C1,1439,trigger
-427506525,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-427506525,Core_1,0,T,TASK_1MS,427,start
-427506525,TASK_1MS,427,R,FUNC_EXECTIME_1,780,start
-427506525,Core_1,0,C,Core_1,0,execute
-427506525,TASK_1MS,427,C,Core_1,0,execute
-427506575,TASK_CalcEngineSpeed,213,STI,IR_SCHED_Tasks_C2,1376,trigger
-427506575,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-427506575,Core_2,0,T,TASK_CalcEngineSpeed,213,start
-427506575,TASK_CalcEngineSpeed,213,R,FUNC_ENGINESPEED,213,start
-427506575,Core_2,0,C,Core_2,0,execute
-427506575,TASK_CalcEngineSpeed,213,C,Core_2,0,execute
-427755825,TASK_CalcEngineSpeed,213,R,FUNC_ENGINESPEED,213,terminate
-427755825,Core_2,0,T,TASK_CalcEngineSpeed,213,terminate
-427755825,TASK_CalcEngineSpeed,213,SCHED,SCHED_Tasks_C2,-1,processterminate
-427755825,Core_2,0,C,Core_2,0,idle
-427755825,TASK_CalcEngineSpeed,213,C,Core_2,0,idle
-427755925,TASK_CalcEngineSpeed,213,STI,IR_SCHED_Tasks_C2,1377,trigger
-427755925,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-428000000,SIM,-1,STI,TIMER-B_2ms,214,trigger
-428000000,TIMER-B_2ms,214,T,TASK_WritingActuator,214,activate
-428000000,TASK_WritingActuator,214,SCHED,SCHED_Tasks_C2,-1,processactivate
-428000100,TASK_WritingActuator,214,STI,IR_SCHED_Tasks_C2,1378,trigger
-428000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-428000100,Core_2,0,T,TASK_WritingActuator,214,start
-428000100,TASK_WritingActuator,214,R,FUNC_SEMLOCK,428,start
-428000100,Core_2,0,C,Core_2,0,execute
-428000100,TASK_WritingActuator,214,C,Core_2,0,execute
-428062675,TASK_1MS,427,R,FUNC_EXECTIME_1,780,terminate
-428062675,Core_1,0,T,TASK_1MS,427,terminate
-428062675,TASK_1MS,427,SCHED,SCHED_Tasks_C1,-1,processterminate
-428062675,Core_1,0,C,Core_1,0,idle
-428062675,TASK_1MS,427,C,Core_1,0,idle
-428062775,TASK_1MS,427,STI,IR_SCHED_Tasks_C1,1440,trigger
-428062775,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-428062775,Core_1,0,C,Core_1,0,execute_idle
-428062775,TASK_200MS,2,C,Core_1,0,execute_idle
-428062775,Core_1,0,T,TASK_200MS,2,resume
-428062775,TASK_200MS,2,R,FUNC_EXECTIME_1,777,resume
-428100000,SIM,-1,STI,TIMER-5MS,214,trigger
-428100000,TIMER-5MS,214,T,TASK_5MS,214,activate
-428100000,TASK_5MS,214,SCHED,SCHED_Tasks_C2,-1,processactivate
-428100100,TASK_5MS,214,STI,IR_SCHED_Tasks_C2,1379,trigger
-428100100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-428125100,TASK_WritingActuator,214,SEM,SEM_DataElement1,0,requestsemaphore,0
-428125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-428125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-428125100,Core_2,0,C,Core_2,0,lock
-428125100,TASK_WritingActuator,214,SEM,SEM_DataElement1,0,assigned,1
-428125150,TASK_WritingActuator,214,R,FUNC_SEMLOCK,428,terminate
-428125150,Core_2,0,C,Core_2,0,unlock
-428125150,TASK_WritingActuator,214,R,FUNC_WriteData,214,start
-428150000,SIM,-1,STI,TIMER-A_2ms,214,trigger
-428150000,TIMER-A_2ms,214,T,TASK_InputProcessing,214,activate
-428150000,TASK_InputProcessing,214,SCHED,SCHED_Tasks_C1,-1,processactivate
-428150100,TASK_InputProcessing,214,STI,IR_SCHED_Tasks_C1,1441,trigger
-428150100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-428150100,TASK_200MS,2,R,FUNC_EXECTIME_1,777,suspend
-428150100,Core_1,0,T,TASK_200MS,2,preempt
-428150100,Core_1,0,C,Core_1,0,idle_execution
-428150100,TASK_200MS,2,C,Core_1,0,idle_execution
-428150100,Core_1,0,T,TASK_InputProcessing,214,start
-428150100,TASK_InputProcessing,214,R,FUNC_SEMLOCK,429,start
-428150100,Core_1,0,C,Core_1,0,execute
-428150100,TASK_InputProcessing,214,C,Core_1,0,execute
-428151850,TASK_WritingActuator,214,SIG,SIG_Mixture,0,write,0
-428151850,TASK_WritingActuator,214,R,FUNC_WriteData,214,terminate
-428151850,TASK_WritingActuator,214,R,FUNC_SEMUNLOCK,428,start
-428250000,SIM,-1,STI,TIMER-1MS,428,trigger
-428250000,TIMER-1MS,428,T,TASK_1MS,428,activate
-428250000,TASK_1MS,428,SCHED,SCHED_Tasks_C1,-1,processactivate
-428250100,TASK_1MS,428,STI,IR_SCHED_Tasks_C1,1442,trigger
-428250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-428250100,TASK_InputProcessing,214,R,FUNC_SEMLOCK,429,suspend
-428250100,Core_1,0,T,TASK_InputProcessing,214,preempt
-428250100,Core_1,0,C,Core_1,0,idle_execution
-428250100,TASK_InputProcessing,214,C,Core_1,0,idle_execution
-428250100,Core_1,0,T,TASK_1MS,428,start
-428250100,TASK_1MS,428,R,FUNC_EXECTIME_1,782,start
-428250100,Core_1,0,C,Core_1,0,execute
-428250100,TASK_1MS,428,C,Core_1,0,execute
-428351850,TASK_WritingActuator,214,SEM,SEM_DataElement1,0,released,1
-428351850,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-428351850,TASK_WritingActuator,214,SCHED,SCHED_Tasks_C2,-1,schedulepoint
-428351850,Core_2,0,C,Core_2,0,lock
-428351900,TASK_WritingActuator,214,R,FUNC_SEMUNLOCK,428,terminate
-428351900,Core_2,0,T,TASK_WritingActuator,214,terminate
-428351900,TASK_WritingActuator,214,SCHED,SCHED_Tasks_C2,-1,processterminate
-428351900,Core_2,0,C,Core_2,0,unlock
-428351900,Core_2,0,C,Core_2,0,idle
-428351900,TASK_WritingActuator,214,C,Core_2,0,idle
-428351950,TASK_WritingActuator,214,STI,IR_SCHED_Tasks_C2,1380,trigger
-428351950,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-428351950,Core_2,0,T,TASK_5MS,214,start
-428351950,TASK_5MS,214,R,FUNC_EXECTIME_1,781,start
-428351950,Core_2,0,C,Core_2,0,execute
-428351950,TASK_5MS,214,C,Core_2,0,execute
-429027450,TASK_1MS,428,R,FUNC_EXECTIME_1,782,terminate
-429027450,Core_1,0,T,TASK_1MS,428,terminate
-429027450,TASK_1MS,428,SCHED,SCHED_Tasks_C1,-1,processterminate
-429027450,Core_1,0,C,Core_1,0,idle
-429027450,TASK_1MS,428,C,Core_1,0,idle
-429027550,TASK_1MS,428,STI,IR_SCHED_Tasks_C1,1443,trigger
-429027550,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-429027550,Core_1,0,C,Core_1,0,execute_idle
-429027550,TASK_InputProcessing,214,C,Core_1,0,execute_idle
-429027550,Core_1,0,T,TASK_InputProcessing,214,resume
-429027550,TASK_InputProcessing,214,R,FUNC_SEMLOCK,429,resume
-429052550,TASK_InputProcessing,214,SEM,SEM_DataElement1,0,requestsemaphore,0
-429052550,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-429052550,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-429052550,Core_1,0,C,Core_1,0,lock
-429052550,TASK_InputProcessing,214,SEM,SEM_DataElement1,0,assigned,1
-429052600,TASK_InputProcessing,214,R,FUNC_SEMLOCK,429,terminate
-429052600,Core_1,0,C,Core_1,0,unlock
-429052600,TASK_InputProcessing,214,R,FUNC_ReadSensorData,214,start
-429209475,TASK_5MS,214,R,FUNC_EXECTIME_1,781,terminate
-429209475,Core_2,0,T,TASK_5MS,214,terminate
-429209475,TASK_5MS,214,SCHED,SCHED_Tasks_C2,-1,processterminate
-429209475,Core_2,0,C,Core_2,0,idle
-429209475,TASK_5MS,214,C,Core_2,0,idle
-429209575,TASK_5MS,214,STI,IR_SCHED_Tasks_C2,1381,trigger
-429209575,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-429214125,TASK_InputProcessing,214,SIG,SIG_RotationSpeed,0,read,0
-429214125,TASK_InputProcessing,214,SIG,SIG_Lambda,0,read,0
-429214125,TASK_InputProcessing,214,SIG,SIG_Temperature,0,read,0
-429214125,TASK_InputProcessing,214,R,FUNC_ReadSensorData,214,terminate
-429214125,TASK_InputProcessing,214,R,FUNC_SEMUNLOCK,429,start
-429250000,SIM,-1,STI,TIMER-1MS,429,trigger
-429250000,TIMER-1MS,429,T,TASK_1MS,429,activate
-429250000,TASK_1MS,429,SCHED,SCHED_Tasks_C1,-1,processactivate
-429250100,TASK_1MS,429,STI,IR_SCHED_Tasks_C1,1444,trigger
-429250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-429414125,TASK_InputProcessing,214,SEM,SEM_DataElement1,0,released,1
-429414125,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-429414125,TASK_InputProcessing,214,SCHED,SCHED_Tasks_C1,-1,schedulepoint
-429414125,Core_1,0,C,Core_1,0,lock
-429414175,TASK_InputProcessing,214,R,FUNC_SEMUNLOCK,429,terminate
-429414175,Core_1,0,C,Core_1,0,unlock
-429414175,TASK_InputProcessing,214,STI,IPA_InputReady,214,trigger
-429414175,IPA_InputReady,214,T,TASK_CalcEngineSpeed,214,activate
-429414175,TASK_CalcEngineSpeed,214,SCHED,SCHED_Tasks_C2,-1,processactivate
-429414175,Core_1,0,T,TASK_InputProcessing,214,terminate
-429414175,TASK_InputProcessing,214,SCHED,SCHED_Tasks_C1,-1,processterminate
-429414175,Core_1,0,C,Core_1,0,idle
-429414175,TASK_InputProcessing,214,C,Core_1,0,idle
-429414225,TASK_InputProcessing,214,STI,IR_SCHED_Tasks_C1,1445,trigger
-429414225,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-429414225,Core_1,0,T,TASK_1MS,429,start
-429414225,TASK_1MS,429,R,FUNC_EXECTIME_1,783,start
-429414225,Core_1,0,C,Core_1,0,execute
-429414225,TASK_1MS,429,C,Core_1,0,execute
-429414275,TASK_CalcEngineSpeed,214,STI,IR_SCHED_Tasks_C2,1382,trigger
-429414275,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-429414275,Core_2,0,T,TASK_CalcEngineSpeed,214,start
-429414275,TASK_CalcEngineSpeed,214,R,FUNC_ENGINESPEED,214,start
-429414275,Core_2,0,C,Core_2,0,execute
-429414275,TASK_CalcEngineSpeed,214,C,Core_2,0,execute
-429520925,TASK_CalcEngineSpeed,214,R,FUNC_ENGINESPEED,214,terminate
-429520925,Core_2,0,T,TASK_CalcEngineSpeed,214,terminate
-429520925,TASK_CalcEngineSpeed,214,SCHED,SCHED_Tasks_C2,-1,processterminate
-429520925,Core_2,0,C,Core_2,0,idle
-429520925,TASK_CalcEngineSpeed,214,C,Core_2,0,idle
-429521025,TASK_CalcEngineSpeed,214,STI,IR_SCHED_Tasks_C2,1383,trigger
-429521025,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-429866850,TASK_1MS,429,R,FUNC_EXECTIME_1,783,terminate
-429866850,Core_1,0,T,TASK_1MS,429,terminate
-429866850,TASK_1MS,429,SCHED,SCHED_Tasks_C1,-1,processterminate
-429866850,Core_1,0,C,Core_1,0,idle
-429866850,TASK_1MS,429,C,Core_1,0,idle
-429866950,TASK_1MS,429,STI,IR_SCHED_Tasks_C1,1446,trigger
-429866950,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-429866950,Core_1,0,C,Core_1,0,execute_idle
-429866950,TASK_200MS,2,C,Core_1,0,execute_idle
-429866950,Core_1,0,T,TASK_200MS,2,resume
-429866950,TASK_200MS,2,R,FUNC_EXECTIME_1,777,resume
-430000000,SIM,-1,STI,TIMER-B_2ms,215,trigger
-430000000,TIMER-B_2ms,215,T,TASK_WritingActuator,215,activate
-430000000,TASK_WritingActuator,215,SCHED,SCHED_Tasks_C2,-1,processactivate
-430000000,SIM,-1,STI,TIMER-10MS_2,43,trigger
-430000000,TIMER-10MS_2,43,T,TASK_10MS_DL2,43,activate
-430000000,TASK_10MS_DL2,43,SCHED,SCHED_Tasks_C1,-1,processactivate
-430000100,TASK_WritingActuator,215,STI,IR_SCHED_Tasks_C2,1384,trigger
-430000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-430000100,Core_2,0,T,TASK_WritingActuator,215,start
-430000100,TASK_WritingActuator,215,R,FUNC_SEMLOCK,430,start
-430000100,Core_2,0,C,Core_2,0,execute
-430000100,TASK_WritingActuator,215,C,Core_2,0,execute
-430000100,TASK_10MS_DL2,43,STI,IR_SCHED_Tasks_C1,1447,trigger
-430000100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-430000100,TASK_200MS,2,R,FUNC_EXECTIME_1,777,suspend
-430000100,Core_1,0,T,TASK_200MS,2,preempt
-430000100,Core_1,0,C,Core_1,0,idle_execution
-430000100,TASK_200MS,2,C,Core_1,0,idle_execution
-430000100,Core_1,0,T,TASK_10MS_DL2,43,start
-430000100,TASK_10MS_DL2,43,R,FUNC_EXECTIME_1,784,start
-430000100,Core_1,0,C,Core_1,0,execute
-430000100,TASK_10MS_DL2,43,C,Core_1,0,execute
-430100000,SIM,-1,STI,TIMER-5MS,215,trigger
-430100000,TIMER-5MS,215,T,TASK_5MS,215,activate
-430100000,TASK_5MS,215,SCHED,SCHED_Tasks_C2,-1,processactivate
-430100100,TASK_5MS,215,STI,IR_SCHED_Tasks_C2,1385,trigger
-430100100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-430125100,TASK_WritingActuator,215,SEM,SEM_DataElement1,0,requestsemaphore,0
-430125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-430125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-430125100,Core_2,0,C,Core_2,0,lock
-430125100,TASK_WritingActuator,215,SEM,SEM_DataElement1,0,assigned,1
-430125150,TASK_WritingActuator,215,R,FUNC_SEMLOCK,430,terminate
-430125150,Core_2,0,C,Core_2,0,unlock
-430125150,TASK_WritingActuator,215,R,FUNC_WriteData,215,start
-430150000,SIM,-1,STI,TIMER-A_2ms,215,trigger
-430150000,TIMER-A_2ms,215,T,TASK_InputProcessing,215,activate
-430150000,TASK_InputProcessing,215,SCHED,SCHED_Tasks_C1,-1,processactivate
-430150100,TASK_InputProcessing,215,STI,IR_SCHED_Tasks_C1,1448,trigger
-430150100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-430152550,TASK_WritingActuator,215,SIG,SIG_Mixture,0,write,0
-430152550,TASK_WritingActuator,215,R,FUNC_WriteData,215,terminate
-430152550,TASK_WritingActuator,215,R,FUNC_SEMUNLOCK,430,start
-430250000,SIM,-1,STI,TIMER-1MS,430,trigger
-430250000,TIMER-1MS,430,T,TASK_1MS,430,activate
-430250000,TASK_1MS,430,SCHED,SCHED_Tasks_C1,-1,processactivate
-430250100,TASK_1MS,430,STI,IR_SCHED_Tasks_C1,1449,trigger
-430250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-430250100,TASK_10MS_DL2,43,R,FUNC_EXECTIME_1,784,suspend
-430250100,Core_1,0,T,TASK_10MS_DL2,43,preempt
-430250100,Core_1,0,C,Core_1,0,idle_execution
-430250100,TASK_10MS_DL2,43,C,Core_1,0,idle_execution
-430250100,Core_1,0,T,TASK_1MS,430,start
-430250100,TASK_1MS,430,R,FUNC_EXECTIME_1,786,start
-430250100,Core_1,0,C,Core_1,0,execute
-430250100,TASK_1MS,430,C,Core_1,0,execute
-430352550,TASK_WritingActuator,215,SEM,SEM_DataElement1,0,released,1
-430352550,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-430352550,TASK_WritingActuator,215,SCHED,SCHED_Tasks_C2,-1,schedulepoint
-430352550,Core_2,0,C,Core_2,0,lock
-430352600,TASK_WritingActuator,215,R,FUNC_SEMUNLOCK,430,terminate
-430352600,Core_2,0,T,TASK_WritingActuator,215,terminate
-430352600,TASK_WritingActuator,215,SCHED,SCHED_Tasks_C2,-1,processterminate
-430352600,Core_2,0,C,Core_2,0,unlock
-430352600,Core_2,0,C,Core_2,0,idle
-430352600,TASK_WritingActuator,215,C,Core_2,0,idle
-430352650,TASK_WritingActuator,215,STI,IR_SCHED_Tasks_C2,1386,trigger
-430352650,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-430352650,Core_2,0,T,TASK_5MS,215,start
-430352650,TASK_5MS,215,R,FUNC_EXECTIME_1,785,start
-430352650,Core_2,0,C,Core_2,0,execute
-430352650,TASK_5MS,215,C,Core_2,0,execute
-430680075,TASK_1MS,430,R,FUNC_EXECTIME_1,786,terminate
-430680075,Core_1,0,T,TASK_1MS,430,terminate
-430680075,TASK_1MS,430,SCHED,SCHED_Tasks_C1,-1,processterminate
-430680075,Core_1,0,C,Core_1,0,idle
-430680075,TASK_1MS,430,C,Core_1,0,idle
-430680175,TASK_1MS,430,STI,IR_SCHED_Tasks_C1,1450,trigger
-430680175,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-430680175,Core_1,0,C,Core_1,0,execute_idle
-430680175,TASK_10MS_DL2,43,C,Core_1,0,execute_idle
-430680175,Core_1,0,T,TASK_10MS_DL2,43,resume
-430680175,TASK_10MS_DL2,43,R,FUNC_EXECTIME_1,784,resume
-430764275,TASK_5MS,215,R,FUNC_EXECTIME_1,785,terminate
-430764275,Core_2,0,T,TASK_5MS,215,terminate
-430764275,TASK_5MS,215,SCHED,SCHED_Tasks_C2,-1,processterminate
-430764275,Core_2,0,C,Core_2,0,idle
-430764275,TASK_5MS,215,C,Core_2,0,idle
-430764375,TASK_5MS,215,STI,IR_SCHED_Tasks_C2,1387,trigger
-430764375,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-430840275,TASK_10MS_DL2,43,R,FUNC_EXECTIME_1,784,terminate
-430840275,Core_1,0,T,TASK_10MS_DL2,43,terminate
-430840275,TASK_10MS_DL2,43,SCHED,SCHED_Tasks_C1,-1,processterminate
-430840275,Core_1,0,C,Core_1,0,idle
-430840275,TASK_10MS_DL2,43,C,Core_1,0,idle
-430840375,TASK_10MS_DL2,43,STI,IR_SCHED_Tasks_C1,1451,trigger
-430840375,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-430840375,Core_1,0,T,TASK_InputProcessing,215,start
-430840375,TASK_InputProcessing,215,R,FUNC_SEMLOCK,431,start
-430840375,Core_1,0,C,Core_1,0,execute
-430840375,TASK_InputProcessing,215,C,Core_1,0,execute
-430965375,TASK_InputProcessing,215,SEM,SEM_DataElement1,0,requestsemaphore,0
-430965375,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-430965375,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-430965375,Core_1,0,C,Core_1,0,lock
-430965375,TASK_InputProcessing,215,SEM,SEM_DataElement1,0,assigned,1
-430965425,TASK_InputProcessing,215,R,FUNC_SEMLOCK,431,terminate
-430965425,Core_1,0,C,Core_1,0,unlock
-430965425,TASK_InputProcessing,215,R,FUNC_ReadSensorData,215,start
-431127975,TASK_InputProcessing,215,SIG,SIG_RotationSpeed,0,read,0
-431127975,TASK_InputProcessing,215,SIG,SIG_Lambda,0,read,0
-431127975,TASK_InputProcessing,215,SIG,SIG_Temperature,0,read,0
-431127975,TASK_InputProcessing,215,R,FUNC_ReadSensorData,215,terminate
-431127975,TASK_InputProcessing,215,R,FUNC_SEMUNLOCK,431,start
-431250000,SIM,-1,STI,TIMER-1MS,431,trigger
-431250000,TIMER-1MS,431,T,TASK_1MS,431,activate
-431250000,TASK_1MS,431,SCHED,SCHED_Tasks_C1,-1,processactivate
-431250100,TASK_1MS,431,STI,IR_SCHED_Tasks_C1,1452,trigger
-431250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-431327975,TASK_InputProcessing,215,SEM,SEM_DataElement1,0,released,1
-431327975,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-431327975,TASK_InputProcessing,215,SCHED,SCHED_Tasks_C1,-1,schedulepoint
-431327975,Core_1,0,C,Core_1,0,lock
-431328025,TASK_InputProcessing,215,R,FUNC_SEMUNLOCK,431,terminate
-431328025,Core_1,0,C,Core_1,0,unlock
-431328025,TASK_InputProcessing,215,STI,IPA_InputReady,215,trigger
-431328025,IPA_InputReady,215,T,TASK_CalcEngineSpeed,215,activate
-431328025,TASK_CalcEngineSpeed,215,SCHED,SCHED_Tasks_C2,-1,processactivate
-431328025,Core_1,0,T,TASK_InputProcessing,215,terminate
-431328025,TASK_InputProcessing,215,SCHED,SCHED_Tasks_C1,-1,processterminate
-431328025,Core_1,0,C,Core_1,0,idle
-431328025,TASK_InputProcessing,215,C,Core_1,0,idle
-431328075,TASK_InputProcessing,215,STI,IR_SCHED_Tasks_C1,1453,trigger
-431328075,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-431328075,Core_1,0,T,TASK_1MS,431,start
-431328075,TASK_1MS,431,R,FUNC_EXECTIME_1,787,start
-431328075,Core_1,0,C,Core_1,0,execute
-431328075,TASK_1MS,431,C,Core_1,0,execute
-431328125,TASK_CalcEngineSpeed,215,STI,IR_SCHED_Tasks_C2,1388,trigger
-431328125,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-431328125,Core_2,0,T,TASK_CalcEngineSpeed,215,start
-431328125,TASK_CalcEngineSpeed,215,R,FUNC_ENGINESPEED,215,start
-431328125,Core_2,0,C,Core_2,0,execute
-431328125,TASK_CalcEngineSpeed,215,C,Core_2,0,execute
-431506150,TASK_CalcEngineSpeed,215,R,FUNC_ENGINESPEED,215,terminate
-431506150,Core_2,0,T,TASK_CalcEngineSpeed,215,terminate
-431506150,TASK_CalcEngineSpeed,215,SCHED,SCHED_Tasks_C2,-1,processterminate
-431506150,Core_2,0,C,Core_2,0,idle
-431506150,TASK_CalcEngineSpeed,215,C,Core_2,0,idle
-431506250,TASK_CalcEngineSpeed,215,STI,IR_SCHED_Tasks_C2,1389,trigger
-431506250,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-431758500,TASK_1MS,431,R,FUNC_EXECTIME_1,787,terminate
-431758500,Core_1,0,T,TASK_1MS,431,terminate
-431758500,TASK_1MS,431,SCHED,SCHED_Tasks_C1,-1,processterminate
-431758500,Core_1,0,C,Core_1,0,idle
-431758500,TASK_1MS,431,C,Core_1,0,idle
-431758600,TASK_1MS,431,STI,IR_SCHED_Tasks_C1,1454,trigger
-431758600,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-431758600,Core_1,0,C,Core_1,0,execute_idle
-431758600,TASK_200MS,2,C,Core_1,0,execute_idle
-431758600,Core_1,0,T,TASK_200MS,2,resume
-431758600,TASK_200MS,2,R,FUNC_EXECTIME_1,777,resume
-431847350,TASK_200MS,2,R,FUNC_EXECTIME_1,777,terminate
-431847350,TASK_200MS,2,SCHED,SCHED_Tasks_C1,-1,schedulepoint
-431847350,Core_1,0,T,TASK_200MS,2,preempt
-431847350,Core_1,0,C,Core_1,0,idle
-431847350,TASK_200MS,2,C,Core_1,0,idle
-431847450,TASK_200MS,2,STI,IR_SCHED_Tasks_C1,1455,trigger
-431847450,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-431847450,Core_1,0,T,TASK_200MS,2,resume
-431847450,TASK_200MS,2,R,FUNC_EXECTIME_1,788,start
-431847450,Core_1,0,C,Core_1,0,execute
-431847450,TASK_200MS,2,C,Core_1,0,execute
-432000000,SIM,-1,STI,TIMER-B_2ms,216,trigger
-432000000,TIMER-B_2ms,216,T,TASK_WritingActuator,216,activate
-432000000,TASK_WritingActuator,216,SCHED,SCHED_Tasks_C2,-1,processactivate
-432000100,TASK_WritingActuator,216,STI,IR_SCHED_Tasks_C2,1390,trigger
-432000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-432000100,Core_2,0,T,TASK_WritingActuator,216,start
-432000100,TASK_WritingActuator,216,R,FUNC_SEMLOCK,432,start
-432000100,Core_2,0,C,Core_2,0,execute
-432000100,TASK_WritingActuator,216,C,Core_2,0,execute
-432100000,SIM,-1,STI,TIMER-5MS,216,trigger
-432100000,TIMER-5MS,216,T,TASK_5MS,216,activate
-432100000,TASK_5MS,216,SCHED,SCHED_Tasks_C2,-1,processactivate
-432100100,TASK_5MS,216,STI,IR_SCHED_Tasks_C2,1391,trigger
-432100100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-432125100,TASK_WritingActuator,216,SEM,SEM_DataElement1,0,requestsemaphore,0
-432125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-432125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-432125100,Core_2,0,C,Core_2,0,lock
-432125100,TASK_WritingActuator,216,SEM,SEM_DataElement1,0,assigned,1
-432125150,TASK_WritingActuator,216,R,FUNC_SEMLOCK,432,terminate
-432125150,Core_2,0,C,Core_2,0,unlock
-432125150,TASK_WritingActuator,216,R,FUNC_WriteData,216,start
-432150000,SIM,-1,STI,TIMER-A_2ms,216,trigger
-432150000,TIMER-A_2ms,216,T,TASK_InputProcessing,216,activate
-432150000,TASK_InputProcessing,216,SCHED,SCHED_Tasks_C1,-1,processactivate
-432150100,TASK_InputProcessing,216,STI,IR_SCHED_Tasks_C1,1456,trigger
-432150100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-432150100,TASK_200MS,2,R,FUNC_EXECTIME_1,788,suspend
-432150100,Core_1,0,T,TASK_200MS,2,preempt
-432150100,Core_1,0,C,Core_1,0,idle_execution
-432150100,TASK_200MS,2,C,Core_1,0,idle_execution
-432150100,Core_1,0,T,TASK_InputProcessing,216,start
-432150100,TASK_InputProcessing,216,R,FUNC_SEMLOCK,433,start
-432150100,Core_1,0,C,Core_1,0,execute
-432150100,TASK_InputProcessing,216,C,Core_1,0,execute
-432152025,TASK_WritingActuator,216,SIG,SIG_Mixture,0,write,0
-432152025,TASK_WritingActuator,216,R,FUNC_WriteData,216,terminate
-432152025,TASK_WritingActuator,216,R,FUNC_SEMUNLOCK,432,start
-432250000,SIM,-1,STI,TIMER-1MS,432,trigger
-432250000,TIMER-1MS,432,T,TASK_1MS,432,activate
-432250000,TASK_1MS,432,SCHED,SCHED_Tasks_C1,-1,processactivate
-432250100,TASK_1MS,432,STI,IR_SCHED_Tasks_C1,1457,trigger
-432250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-432250100,TASK_InputProcessing,216,R,FUNC_SEMLOCK,433,suspend
-432250100,Core_1,0,T,TASK_InputProcessing,216,preempt
-432250100,Core_1,0,C,Core_1,0,idle_execution
-432250100,TASK_InputProcessing,216,C,Core_1,0,idle_execution
-432250100,Core_1,0,T,TASK_1MS,432,start
-432250100,TASK_1MS,432,R,FUNC_EXECTIME_1,790,start
-432250100,Core_1,0,C,Core_1,0,execute
-432250100,TASK_1MS,432,C,Core_1,0,execute
-432352025,TASK_WritingActuator,216,SEM,SEM_DataElement1,0,released,1
-432352025,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-432352025,TASK_WritingActuator,216,SCHED,SCHED_Tasks_C2,-1,schedulepoint
-432352025,Core_2,0,C,Core_2,0,lock
-432352075,TASK_WritingActuator,216,R,FUNC_SEMUNLOCK,432,terminate
-432352075,Core_2,0,T,TASK_WritingActuator,216,terminate
-432352075,TASK_WritingActuator,216,SCHED,SCHED_Tasks_C2,-1,processterminate
-432352075,Core_2,0,C,Core_2,0,unlock
-432352075,Core_2,0,C,Core_2,0,idle
-432352075,TASK_WritingActuator,216,C,Core_2,0,idle
-432352125,TASK_WritingActuator,216,STI,IR_SCHED_Tasks_C2,1392,trigger
-432352125,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-432352125,Core_2,0,T,TASK_5MS,216,start
-432352125,TASK_5MS,216,R,FUNC_EXECTIME_1,789,start
-432352125,Core_2,0,C,Core_2,0,execute
-432352125,TASK_5MS,216,C,Core_2,0,execute
-432592800,TASK_1MS,432,R,FUNC_EXECTIME_1,790,terminate
-432592800,Core_1,0,T,TASK_1MS,432,terminate
-432592800,TASK_1MS,432,SCHED,SCHED_Tasks_C1,-1,processterminate
-432592800,Core_1,0,C,Core_1,0,idle
-432592800,TASK_1MS,432,C,Core_1,0,idle
-432592900,TASK_1MS,432,STI,IR_SCHED_Tasks_C1,1458,trigger
-432592900,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-432592900,Core_1,0,C,Core_1,0,execute_idle
-432592900,TASK_InputProcessing,216,C,Core_1,0,execute_idle
-432592900,Core_1,0,T,TASK_InputProcessing,216,resume
-432592900,TASK_InputProcessing,216,R,FUNC_SEMLOCK,433,resume
-432617900,TASK_InputProcessing,216,SEM,SEM_DataElement1,0,requestsemaphore,0
-432617900,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-432617900,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-432617900,Core_1,0,C,Core_1,0,lock
-432617900,TASK_InputProcessing,216,SEM,SEM_DataElement1,0,assigned,1
-432617950,TASK_InputProcessing,216,R,FUNC_SEMLOCK,433,terminate
-432617950,Core_1,0,C,Core_1,0,unlock
-432617950,TASK_InputProcessing,216,R,FUNC_ReadSensorData,216,start
-432701150,TASK_5MS,216,R,FUNC_EXECTIME_1,789,terminate
-432701150,Core_2,0,T,TASK_5MS,216,terminate
-432701150,TASK_5MS,216,SCHED,SCHED_Tasks_C2,-1,processterminate
-432701150,Core_2,0,C,Core_2,0,idle
-432701150,TASK_5MS,216,C,Core_2,0,idle
-432701250,TASK_5MS,216,STI,IR_SCHED_Tasks_C2,1393,trigger
-432701250,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-432776950,TASK_InputProcessing,216,SIG,SIG_RotationSpeed,0,read,0
-432776950,TASK_InputProcessing,216,SIG,SIG_Lambda,0,read,0
-432776950,TASK_InputProcessing,216,SIG,SIG_Temperature,0,read,0
-432776950,TASK_InputProcessing,216,R,FUNC_ReadSensorData,216,terminate
-432776950,TASK_InputProcessing,216,R,FUNC_SEMUNLOCK,433,start
-432976950,TASK_InputProcessing,216,SEM,SEM_DataElement1,0,released,1
-432976950,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-432976950,TASK_InputProcessing,216,SCHED,SCHED_Tasks_C1,-1,schedulepoint
-432976950,Core_1,0,C,Core_1,0,lock
-432977000,TASK_InputProcessing,216,R,FUNC_SEMUNLOCK,433,terminate
-432977000,Core_1,0,C,Core_1,0,unlock
-432977000,TASK_InputProcessing,216,STI,IPA_InputReady,216,trigger
-432977000,IPA_InputReady,216,T,TASK_CalcEngineSpeed,216,activate
-432977000,TASK_CalcEngineSpeed,216,SCHED,SCHED_Tasks_C2,-1,processactivate
-432977000,Core_1,0,T,TASK_InputProcessing,216,terminate
-432977000,TASK_InputProcessing,216,SCHED,SCHED_Tasks_C1,-1,processterminate
-432977000,Core_1,0,C,Core_1,0,idle
-432977000,TASK_InputProcessing,216,C,Core_1,0,idle
-432977050,TASK_InputProcessing,216,STI,IR_SCHED_Tasks_C1,1459,trigger
-432977050,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-432977050,Core_1,0,C,Core_1,0,execute_idle
-432977050,TASK_200MS,2,C,Core_1,0,execute_idle
-432977050,Core_1,0,T,TASK_200MS,2,resume
-432977050,TASK_200MS,2,R,FUNC_EXECTIME_1,788,resume
-432977100,TASK_CalcEngineSpeed,216,STI,IR_SCHED_Tasks_C2,1394,trigger
-432977100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-432977100,Core_2,0,T,TASK_CalcEngineSpeed,216,start
-432977100,TASK_CalcEngineSpeed,216,R,FUNC_ENGINESPEED,216,start
-432977100,Core_2,0,C,Core_2,0,execute
-432977100,TASK_CalcEngineSpeed,216,C,Core_2,0,execute
-433212350,TASK_CalcEngineSpeed,216,R,FUNC_ENGINESPEED,216,terminate
-433212350,Core_2,0,T,TASK_CalcEngineSpeed,216,terminate
-433212350,TASK_CalcEngineSpeed,216,SCHED,SCHED_Tasks_C2,-1,processterminate
-433212350,Core_2,0,C,Core_2,0,idle
-433212350,TASK_CalcEngineSpeed,216,C,Core_2,0,idle
-433212450,TASK_CalcEngineSpeed,216,STI,IR_SCHED_Tasks_C2,1395,trigger
-433212450,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-433250000,SIM,-1,STI,TIMER-1MS,433,trigger
-433250000,TIMER-1MS,433,T,TASK_1MS,433,activate
-433250000,TASK_1MS,433,SCHED,SCHED_Tasks_C1,-1,processactivate
-433250100,TASK_1MS,433,STI,IR_SCHED_Tasks_C1,1460,trigger
-433250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-433250100,TASK_200MS,2,R,FUNC_EXECTIME_1,788,suspend
-433250100,Core_1,0,T,TASK_200MS,2,preempt
-433250100,Core_1,0,C,Core_1,0,idle_execution
-433250100,TASK_200MS,2,C,Core_1,0,idle_execution
-433250100,Core_1,0,T,TASK_1MS,433,start
-433250100,TASK_1MS,433,R,FUNC_EXECTIME_1,791,start
-433250100,Core_1,0,C,Core_1,0,execute
-433250100,TASK_1MS,433,C,Core_1,0,execute
-433688250,TASK_1MS,433,R,FUNC_EXECTIME_1,791,terminate
-433688250,Core_1,0,T,TASK_1MS,433,terminate
-433688250,TASK_1MS,433,SCHED,SCHED_Tasks_C1,-1,processterminate
-433688250,Core_1,0,C,Core_1,0,idle
-433688250,TASK_1MS,433,C,Core_1,0,idle
-433688350,TASK_1MS,433,STI,IR_SCHED_Tasks_C1,1461,trigger
-433688350,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-433688350,Core_1,0,C,Core_1,0,execute_idle
-433688350,TASK_200MS,2,C,Core_1,0,execute_idle
-433688350,Core_1,0,T,TASK_200MS,2,resume
-433688350,TASK_200MS,2,R,FUNC_EXECTIME_1,788,resume
-433787900,TASK_200MS,2,R,FUNC_EXECTIME_1,788,terminate
-433787900,TASK_200MS,2,SCHED,SCHED_Tasks_C1,-1,schedulepoint
-433787900,Core_1,0,T,TASK_200MS,2,preempt
-433787900,Core_1,0,C,Core_1,0,idle
-433787900,TASK_200MS,2,C,Core_1,0,idle
-433788000,TASK_200MS,2,STI,IR_SCHED_Tasks_C1,1462,trigger
-433788000,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-433788000,Core_1,0,T,TASK_200MS,2,resume
-433788000,TASK_200MS,2,R,FUNC_EXECTIME_1,792,start
-433788000,Core_1,0,C,Core_1,0,execute
-433788000,TASK_200MS,2,C,Core_1,0,execute
-434000000,SIM,-1,STI,TIMER-B_2ms,217,trigger
-434000000,TIMER-B_2ms,217,T,TASK_WritingActuator,217,activate
-434000000,TASK_WritingActuator,217,SCHED,SCHED_Tasks_C2,-1,processactivate
-434000100,TASK_WritingActuator,217,STI,IR_SCHED_Tasks_C2,1396,trigger
-434000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-434000100,Core_2,0,T,TASK_WritingActuator,217,start
-434000100,TASK_WritingActuator,217,R,FUNC_SEMLOCK,434,start
-434000100,Core_2,0,C,Core_2,0,execute
-434000100,TASK_WritingActuator,217,C,Core_2,0,execute
-434100000,SIM,-1,STI,TIMER-5MS,217,trigger
-434100000,TIMER-5MS,217,T,TASK_5MS,217,activate
-434100000,TASK_5MS,217,SCHED,SCHED_Tasks_C2,-1,processactivate
-434100100,TASK_5MS,217,STI,IR_SCHED_Tasks_C2,1397,trigger
-434100100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-434125100,TASK_WritingActuator,217,SEM,SEM_DataElement1,0,requestsemaphore,0
-434125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-434125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-434125100,Core_2,0,C,Core_2,0,lock
-434125100,TASK_WritingActuator,217,SEM,SEM_DataElement1,0,assigned,1
-434125150,TASK_WritingActuator,217,R,FUNC_SEMLOCK,434,terminate
-434125150,Core_2,0,C,Core_2,0,unlock
-434125150,TASK_WritingActuator,217,R,FUNC_WriteData,217,start
-434150000,SIM,-1,STI,TIMER-A_2ms,217,trigger
-434150000,TIMER-A_2ms,217,T,TASK_InputProcessing,217,activate
-434150000,TASK_InputProcessing,217,SCHED,SCHED_Tasks_C1,-1,processactivate
-434150100,TASK_InputProcessing,217,STI,IR_SCHED_Tasks_C1,1463,trigger
-434150100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-434150100,TASK_200MS,2,R,FUNC_EXECTIME_1,792,suspend
-434150100,Core_1,0,T,TASK_200MS,2,preempt
-434150100,Core_1,0,C,Core_1,0,idle_execution
-434150100,TASK_200MS,2,C,Core_1,0,idle_execution
-434150100,Core_1,0,T,TASK_InputProcessing,217,start
-434150100,TASK_InputProcessing,217,R,FUNC_SEMLOCK,435,start
-434150100,Core_1,0,C,Core_1,0,execute
-434150100,TASK_InputProcessing,217,C,Core_1,0,execute
-434152275,TASK_WritingActuator,217,SIG,SIG_Mixture,0,write,0
-434152275,TASK_WritingActuator,217,R,FUNC_WriteData,217,terminate
-434152275,TASK_WritingActuator,217,R,FUNC_SEMUNLOCK,434,start
-434250000,SIM,-1,STI,TIMER-1MS,434,trigger
-434250000,TIMER-1MS,434,T,TASK_1MS,434,activate
-434250000,TASK_1MS,434,SCHED,SCHED_Tasks_C1,-1,processactivate
-434250100,TASK_1MS,434,STI,IR_SCHED_Tasks_C1,1464,trigger
-434250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-434250100,TASK_InputProcessing,217,R,FUNC_SEMLOCK,435,suspend
-434250100,Core_1,0,T,TASK_InputProcessing,217,preempt
-434250100,Core_1,0,C,Core_1,0,idle_execution
-434250100,TASK_InputProcessing,217,C,Core_1,0,idle_execution
-434250100,Core_1,0,T,TASK_1MS,434,start
-434250100,TASK_1MS,434,R,FUNC_EXECTIME_1,794,start
-434250100,Core_1,0,C,Core_1,0,execute
-434250100,TASK_1MS,434,C,Core_1,0,execute
-434352275,TASK_WritingActuator,217,SEM,SEM_DataElement1,0,released,1
-434352275,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-434352275,TASK_WritingActuator,217,SCHED,SCHED_Tasks_C2,-1,schedulepoint
-434352275,Core_2,0,C,Core_2,0,lock
-434352325,TASK_WritingActuator,217,R,FUNC_SEMUNLOCK,434,terminate
-434352325,Core_2,0,T,TASK_WritingActuator,217,terminate
-434352325,TASK_WritingActuator,217,SCHED,SCHED_Tasks_C2,-1,processterminate
-434352325,Core_2,0,C,Core_2,0,unlock
-434352325,Core_2,0,C,Core_2,0,idle
-434352325,TASK_WritingActuator,217,C,Core_2,0,idle
-434352375,TASK_WritingActuator,217,STI,IR_SCHED_Tasks_C2,1398,trigger
-434352375,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-434352375,Core_2,0,T,TASK_5MS,217,start
-434352375,TASK_5MS,217,R,FUNC_EXECTIME_1,793,start
-434352375,Core_2,0,C,Core_2,0,execute
-434352375,TASK_5MS,217,C,Core_2,0,execute
-434640175,TASK_5MS,217,R,FUNC_EXECTIME_1,793,terminate
-434640175,Core_2,0,T,TASK_5MS,217,terminate
-434640175,TASK_5MS,217,SCHED,SCHED_Tasks_C2,-1,processterminate
-434640175,Core_2,0,C,Core_2,0,idle
-434640175,TASK_5MS,217,C,Core_2,0,idle
-434640275,TASK_5MS,217,STI,IR_SCHED_Tasks_C2,1399,trigger
-434640275,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-434706850,TASK_1MS,434,R,FUNC_EXECTIME_1,794,terminate
-434706850,Core_1,0,T,TASK_1MS,434,terminate
-434706850,TASK_1MS,434,SCHED,SCHED_Tasks_C1,-1,processterminate
-434706850,Core_1,0,C,Core_1,0,idle
-434706850,TASK_1MS,434,C,Core_1,0,idle
-434706950,TASK_1MS,434,STI,IR_SCHED_Tasks_C1,1465,trigger
-434706950,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-434706950,Core_1,0,C,Core_1,0,execute_idle
-434706950,TASK_InputProcessing,217,C,Core_1,0,execute_idle
-434706950,Core_1,0,T,TASK_InputProcessing,217,resume
-434706950,TASK_InputProcessing,217,R,FUNC_SEMLOCK,435,resume
-434731950,TASK_InputProcessing,217,SEM,SEM_DataElement1,0,requestsemaphore,0
-434731950,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-434731950,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-434731950,Core_1,0,C,Core_1,0,lock
-434731950,TASK_InputProcessing,217,SEM,SEM_DataElement1,0,assigned,1
-434732000,TASK_InputProcessing,217,R,FUNC_SEMLOCK,435,terminate
-434732000,Core_1,0,C,Core_1,0,unlock
-434732000,TASK_InputProcessing,217,R,FUNC_ReadSensorData,217,start
-434892775,TASK_InputProcessing,217,SIG,SIG_RotationSpeed,0,read,0
-434892775,TASK_InputProcessing,217,SIG,SIG_Lambda,0,read,0
-434892775,TASK_InputProcessing,217,SIG,SIG_Temperature,0,read,0
-434892775,TASK_InputProcessing,217,R,FUNC_ReadSensorData,217,terminate
-434892775,TASK_InputProcessing,217,R,FUNC_SEMUNLOCK,435,start
-435000000,SIM,-1,STI,TIMER-10MS,43,trigger
-435000000,TIMER-10MS,43,T,TASK_10MS,43,activate
-435000000,TASK_10MS,43,SCHED,SCHED_Tasks_C2,-1,processactivate
-435000100,TASK_10MS,43,STI,IR_SCHED_Tasks_C2,1400,trigger
-435000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-435000100,Core_2,0,T,TASK_10MS,43,start
-435000100,TASK_10MS,43,R,FUNC_EXECTIME_1,795,start
-435000100,Core_2,0,C,Core_2,0,execute
-435000100,TASK_10MS,43,C,Core_2,0,execute
-435092775,TASK_InputProcessing,217,SEM,SEM_DataElement1,0,released,1
-435092775,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-435092775,TASK_InputProcessing,217,SCHED,SCHED_Tasks_C1,-1,schedulepoint
-435092775,Core_1,0,C,Core_1,0,lock
-435092825,TASK_InputProcessing,217,R,FUNC_SEMUNLOCK,435,terminate
-435092825,Core_1,0,C,Core_1,0,unlock
-435092825,TASK_InputProcessing,217,STI,IPA_InputReady,217,trigger
-435092825,IPA_InputReady,217,T,TASK_CalcEngineSpeed,217,activate
-435092825,TASK_CalcEngineSpeed,217,SCHED,SCHED_Tasks_C2,-1,processactivate
-435092825,Core_1,0,T,TASK_InputProcessing,217,terminate
-435092825,TASK_InputProcessing,217,SCHED,SCHED_Tasks_C1,-1,processterminate
-435092825,Core_1,0,C,Core_1,0,idle
-435092825,TASK_InputProcessing,217,C,Core_1,0,idle
-435092875,TASK_InputProcessing,217,STI,IR_SCHED_Tasks_C1,1466,trigger
-435092875,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-435092875,Core_1,0,C,Core_1,0,execute_idle
-435092875,TASK_200MS,2,C,Core_1,0,execute_idle
-435092875,Core_1,0,T,TASK_200MS,2,resume
-435092875,TASK_200MS,2,R,FUNC_EXECTIME_1,792,resume
-435092925,TASK_CalcEngineSpeed,217,STI,IR_SCHED_Tasks_C2,1401,trigger
-435092925,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-435092925,TASK_10MS,43,R,FUNC_EXECTIME_1,795,suspend
-435092925,Core_2,0,T,TASK_10MS,43,preempt
-435092925,Core_2,0,C,Core_2,0,idle_execution
-435092925,TASK_10MS,43,C,Core_2,0,idle_execution
-435092925,Core_2,0,T,TASK_CalcEngineSpeed,217,start
-435092925,TASK_CalcEngineSpeed,217,R,FUNC_ENGINESPEED,217,start
-435092925,Core_2,0,C,Core_2,0,execute
-435092925,TASK_CalcEngineSpeed,217,C,Core_2,0,execute
-435250000,SIM,-1,STI,TIMER-1MS,435,trigger
-435250000,TIMER-1MS,435,T,TASK_1MS,435,activate
-435250000,TASK_1MS,435,SCHED,SCHED_Tasks_C1,-1,processactivate
-435250100,TASK_1MS,435,STI,IR_SCHED_Tasks_C1,1467,trigger
-435250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-435250100,TASK_200MS,2,R,FUNC_EXECTIME_1,792,suspend
-435250100,Core_1,0,T,TASK_200MS,2,preempt
-435250100,Core_1,0,C,Core_1,0,idle_execution
-435250100,TASK_200MS,2,C,Core_1,0,idle_execution
-435250100,Core_1,0,T,TASK_1MS,435,start
-435250100,TASK_1MS,435,R,FUNC_EXECTIME_1,796,start
-435250100,Core_1,0,C,Core_1,0,execute
-435250100,TASK_1MS,435,C,Core_1,0,execute
-435333075,TASK_CalcEngineSpeed,217,R,FUNC_ENGINESPEED,217,terminate
-435333075,Core_2,0,T,TASK_CalcEngineSpeed,217,terminate
-435333075,TASK_CalcEngineSpeed,217,SCHED,SCHED_Tasks_C2,-1,processterminate
-435333075,Core_2,0,C,Core_2,0,idle
-435333075,TASK_CalcEngineSpeed,217,C,Core_2,0,idle
-435333175,TASK_CalcEngineSpeed,217,STI,IR_SCHED_Tasks_C2,1402,trigger
-435333175,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-435333175,Core_2,0,C,Core_2,0,execute_idle
-435333175,TASK_10MS,43,C,Core_2,0,execute_idle
-435333175,Core_2,0,T,TASK_10MS,43,resume
-435333175,TASK_10MS,43,R,FUNC_EXECTIME_1,795,resume
-435682425,TASK_1MS,435,R,FUNC_EXECTIME_1,796,terminate
-435682425,Core_1,0,T,TASK_1MS,435,terminate
-435682425,TASK_1MS,435,SCHED,SCHED_Tasks_C1,-1,processterminate
-435682425,Core_1,0,C,Core_1,0,idle
-435682425,TASK_1MS,435,C,Core_1,0,idle
-435682525,TASK_1MS,435,STI,IR_SCHED_Tasks_C1,1468,trigger
-435682525,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-435682525,Core_1,0,C,Core_1,0,execute_idle
-435682525,TASK_200MS,2,C,Core_1,0,execute_idle
-435682525,Core_1,0,T,TASK_200MS,2,resume
-435682525,TASK_200MS,2,R,FUNC_EXECTIME_1,792,resume
-435699225,TASK_200MS,2,R,FUNC_EXECTIME_1,792,terminate
-435699225,TASK_200MS,2,SCHED,SCHED_Tasks_C1,-1,schedulepoint
-435699225,Core_1,0,T,TASK_200MS,2,preempt
-435699225,Core_1,0,C,Core_1,0,idle
-435699225,TASK_200MS,2,C,Core_1,0,idle
-435699325,TASK_200MS,2,STI,IR_SCHED_Tasks_C1,1469,trigger
-435699325,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-435699325,Core_1,0,T,TASK_200MS,2,resume
-435699325,TASK_200MS,2,R,FUNC_EXECTIME_1,797,start
-435699325,Core_1,0,C,Core_1,0,execute
-435699325,TASK_200MS,2,C,Core_1,0,execute
-435959250,TASK_10MS,43,R,FUNC_EXECTIME_1,795,terminate
-435959250,Core_2,0,T,TASK_10MS,43,terminate
-435959250,TASK_10MS,43,SCHED,SCHED_Tasks_C2,-1,processterminate
-435959250,Core_2,0,C,Core_2,0,idle
-435959250,TASK_10MS,43,C,Core_2,0,idle
-435959350,TASK_10MS,43,STI,IR_SCHED_Tasks_C2,1403,trigger
-435959350,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-436000000,SIM,-1,STI,TIMER-B_2ms,218,trigger
-436000000,TIMER-B_2ms,218,T,TASK_WritingActuator,218,activate
-436000000,TASK_WritingActuator,218,SCHED,SCHED_Tasks_C2,-1,processactivate
-436000100,TASK_WritingActuator,218,STI,IR_SCHED_Tasks_C2,1404,trigger
-436000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-436000100,Core_2,0,T,TASK_WritingActuator,218,start
-436000100,TASK_WritingActuator,218,R,FUNC_SEMLOCK,436,start
-436000100,Core_2,0,C,Core_2,0,execute
-436000100,TASK_WritingActuator,218,C,Core_2,0,execute
-436042175,TASK_200MS,2,R,FUNC_EXECTIME_1,797,terminate
-436042175,TASK_200MS,2,R,FUNC_EXECTIME_1,798,start
-436100000,SIM,-1,STI,TIMER-5MS,218,trigger
-436100000,TIMER-5MS,218,T,TASK_5MS,218,activate
-436100000,TASK_5MS,218,SCHED,SCHED_Tasks_C2,-1,processactivate
-436100100,TASK_5MS,218,STI,IR_SCHED_Tasks_C2,1405,trigger
-436100100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-436125100,TASK_WritingActuator,218,SEM,SEM_DataElement1,0,requestsemaphore,0
-436125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-436125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-436125100,Core_2,0,C,Core_2,0,lock
-436125100,TASK_WritingActuator,218,SEM,SEM_DataElement1,0,assigned,1
-436125150,TASK_WritingActuator,218,R,FUNC_SEMLOCK,436,terminate
-436125150,Core_2,0,C,Core_2,0,unlock
-436125150,TASK_WritingActuator,218,R,FUNC_WriteData,218,start
-436150000,SIM,-1,STI,TIMER-A_2ms,218,trigger
-436150000,TIMER-A_2ms,218,T,TASK_InputProcessing,218,activate
-436150000,TASK_InputProcessing,218,SCHED,SCHED_Tasks_C1,-1,processactivate
-436150100,TASK_InputProcessing,218,STI,IR_SCHED_Tasks_C1,1470,trigger
-436150100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-436150100,TASK_200MS,2,R,FUNC_EXECTIME_1,798,suspend
-436150100,Core_1,0,T,TASK_200MS,2,preempt
-436150100,Core_1,0,C,Core_1,0,idle_execution
-436150100,TASK_200MS,2,C,Core_1,0,idle_execution
-436150100,Core_1,0,T,TASK_InputProcessing,218,start
-436150100,TASK_InputProcessing,218,R,FUNC_SEMLOCK,437,start
-436150100,Core_1,0,C,Core_1,0,execute
-436150100,TASK_InputProcessing,218,C,Core_1,0,execute
-436151675,TASK_WritingActuator,218,SIG,SIG_Mixture,0,write,0
-436151675,TASK_WritingActuator,218,R,FUNC_WriteData,218,terminate
-436151675,TASK_WritingActuator,218,R,FUNC_SEMUNLOCK,436,start
-436250000,SIM,-1,STI,TIMER-1MS,436,trigger
-436250000,TIMER-1MS,436,T,TASK_1MS,436,activate
-436250000,TASK_1MS,436,SCHED,SCHED_Tasks_C1,-1,processactivate
-436250100,TASK_1MS,436,STI,IR_SCHED_Tasks_C1,1471,trigger
-436250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-436250100,TASK_InputProcessing,218,R,FUNC_SEMLOCK,437,suspend
-436250100,Core_1,0,T,TASK_InputProcessing,218,preempt
-436250100,Core_1,0,C,Core_1,0,idle_execution
-436250100,TASK_InputProcessing,218,C,Core_1,0,idle_execution
-436250100,Core_1,0,T,TASK_1MS,436,start
-436250100,TASK_1MS,436,R,FUNC_EXECTIME_1,800,start
-436250100,Core_1,0,C,Core_1,0,execute
-436250100,TASK_1MS,436,C,Core_1,0,execute
-436351675,TASK_WritingActuator,218,SEM,SEM_DataElement1,0,released,1
-436351675,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-436351675,TASK_WritingActuator,218,SCHED,SCHED_Tasks_C2,-1,schedulepoint
-436351675,Core_2,0,C,Core_2,0,lock
-436351725,TASK_WritingActuator,218,R,FUNC_SEMUNLOCK,436,terminate
-436351725,Core_2,0,T,TASK_WritingActuator,218,terminate
-436351725,TASK_WritingActuator,218,SCHED,SCHED_Tasks_C2,-1,processterminate
-436351725,Core_2,0,C,Core_2,0,unlock
-436351725,Core_2,0,C,Core_2,0,idle
-436351725,TASK_WritingActuator,218,C,Core_2,0,idle
-436351775,TASK_WritingActuator,218,STI,IR_SCHED_Tasks_C2,1406,trigger
-436351775,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-436351775,Core_2,0,T,TASK_5MS,218,start
-436351775,TASK_5MS,218,R,FUNC_EXECTIME_1,799,start
-436351775,Core_2,0,C,Core_2,0,execute
-436351775,TASK_5MS,218,C,Core_2,0,execute
-436690375,TASK_5MS,218,R,FUNC_EXECTIME_1,799,terminate
-436690375,Core_2,0,T,TASK_5MS,218,terminate
-436690375,TASK_5MS,218,SCHED,SCHED_Tasks_C2,-1,processterminate
-436690375,Core_2,0,C,Core_2,0,idle
-436690375,TASK_5MS,218,C,Core_2,0,idle
-436690475,TASK_5MS,218,STI,IR_SCHED_Tasks_C2,1407,trigger
-436690475,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-436884625,TASK_1MS,436,R,FUNC_EXECTIME_1,800,terminate
-436884625,Core_1,0,T,TASK_1MS,436,terminate
-436884625,TASK_1MS,436,SCHED,SCHED_Tasks_C1,-1,processterminate
-436884625,Core_1,0,C,Core_1,0,idle
-436884625,TASK_1MS,436,C,Core_1,0,idle
-436884725,TASK_1MS,436,STI,IR_SCHED_Tasks_C1,1472,trigger
-436884725,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-436884725,Core_1,0,C,Core_1,0,execute_idle
-436884725,TASK_InputProcessing,218,C,Core_1,0,execute_idle
-436884725,Core_1,0,T,TASK_InputProcessing,218,resume
-436884725,TASK_InputProcessing,218,R,FUNC_SEMLOCK,437,resume
-436909725,TASK_InputProcessing,218,SEM,SEM_DataElement1,0,requestsemaphore,0
-436909725,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-436909725,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-436909725,Core_1,0,C,Core_1,0,lock
-436909725,TASK_InputProcessing,218,SEM,SEM_DataElement1,0,assigned,1
-436909775,TASK_InputProcessing,218,R,FUNC_SEMLOCK,437,terminate
-436909775,Core_1,0,C,Core_1,0,unlock
-436909775,TASK_InputProcessing,218,R,FUNC_ReadSensorData,218,start
-437071200,TASK_InputProcessing,218,SIG,SIG_RotationSpeed,0,read,0
-437071200,TASK_InputProcessing,218,SIG,SIG_Lambda,0,read,0
-437071200,TASK_InputProcessing,218,SIG,SIG_Temperature,0,read,0
-437071200,TASK_InputProcessing,218,R,FUNC_ReadSensorData,218,terminate
-437071200,TASK_InputProcessing,218,R,FUNC_SEMUNLOCK,437,start
-437250000,SIM,-1,STI,TIMER-1MS,437,trigger
-437250000,TIMER-1MS,437,T,TASK_1MS,437,activate
-437250000,TASK_1MS,437,SCHED,SCHED_Tasks_C1,-1,processactivate
-437250100,TASK_1MS,437,STI,IR_SCHED_Tasks_C1,1473,trigger
-437250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-437271200,TASK_InputProcessing,218,SEM,SEM_DataElement1,0,released,1
-437271200,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-437271200,TASK_InputProcessing,218,SCHED,SCHED_Tasks_C1,-1,schedulepoint
-437271200,Core_1,0,C,Core_1,0,lock
-437271250,TASK_InputProcessing,218,R,FUNC_SEMUNLOCK,437,terminate
-437271250,Core_1,0,C,Core_1,0,unlock
-437271250,TASK_InputProcessing,218,STI,IPA_InputReady,218,trigger
-437271250,IPA_InputReady,218,T,TASK_CalcEngineSpeed,218,activate
-437271250,TASK_CalcEngineSpeed,218,SCHED,SCHED_Tasks_C2,-1,processactivate
-437271250,Core_1,0,T,TASK_InputProcessing,218,terminate
-437271250,TASK_InputProcessing,218,SCHED,SCHED_Tasks_C1,-1,processterminate
-437271250,Core_1,0,C,Core_1,0,idle
-437271250,TASK_InputProcessing,218,C,Core_1,0,idle
-437271300,TASK_InputProcessing,218,STI,IR_SCHED_Tasks_C1,1474,trigger
-437271300,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-437271300,Core_1,0,T,TASK_1MS,437,start
-437271300,TASK_1MS,437,R,FUNC_EXECTIME_1,801,start
-437271300,Core_1,0,C,Core_1,0,execute
-437271300,TASK_1MS,437,C,Core_1,0,execute
-437271350,TASK_CalcEngineSpeed,218,STI,IR_SCHED_Tasks_C2,1408,trigger
-437271350,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-437271350,Core_2,0,T,TASK_CalcEngineSpeed,218,start
-437271350,TASK_CalcEngineSpeed,218,R,FUNC_ENGINESPEED,218,start
-437271350,Core_2,0,C,Core_2,0,execute
-437271350,TASK_CalcEngineSpeed,218,C,Core_2,0,execute
-437443550,TASK_CalcEngineSpeed,218,R,FUNC_ENGINESPEED,218,terminate
-437443550,Core_2,0,T,TASK_CalcEngineSpeed,218,terminate
-437443550,TASK_CalcEngineSpeed,218,SCHED,SCHED_Tasks_C2,-1,processterminate
-437443550,Core_2,0,C,Core_2,0,idle
-437443550,TASK_CalcEngineSpeed,218,C,Core_2,0,idle
-437443650,TASK_CalcEngineSpeed,218,STI,IR_SCHED_Tasks_C2,1409,trigger
-437443650,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-437897400,TASK_1MS,437,R,FUNC_EXECTIME_1,801,terminate
-437897400,Core_1,0,T,TASK_1MS,437,terminate
-437897400,TASK_1MS,437,SCHED,SCHED_Tasks_C1,-1,processterminate
-437897400,Core_1,0,C,Core_1,0,idle
-437897400,TASK_1MS,437,C,Core_1,0,idle
-437897500,TASK_1MS,437,STI,IR_SCHED_Tasks_C1,1475,trigger
-437897500,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-437897500,Core_1,0,C,Core_1,0,execute_idle
-437897500,TASK_200MS,2,C,Core_1,0,execute_idle
-437897500,Core_1,0,T,TASK_200MS,2,resume
-437897500,TASK_200MS,2,R,FUNC_EXECTIME_1,798,resume
-438000000,SIM,-1,STI,TIMER-B_2ms,219,trigger
-438000000,TIMER-B_2ms,219,T,TASK_WritingActuator,219,activate
-438000000,TASK_WritingActuator,219,SCHED,SCHED_Tasks_C2,-1,processactivate
-438000100,TASK_WritingActuator,219,STI,IR_SCHED_Tasks_C2,1410,trigger
-438000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-438000100,Core_2,0,T,TASK_WritingActuator,219,start
-438000100,TASK_WritingActuator,219,R,FUNC_SEMLOCK,438,start
-438000100,Core_2,0,C,Core_2,0,execute
-438000100,TASK_WritingActuator,219,C,Core_2,0,execute
-438100000,SIM,-1,STI,TIMER-5MS,219,trigger
-438100000,TIMER-5MS,219,T,TASK_5MS,219,activate
-438100000,TASK_5MS,219,SCHED,SCHED_Tasks_C2,-1,processactivate
-438100100,TASK_5MS,219,STI,IR_SCHED_Tasks_C2,1411,trigger
-438100100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-438122075,TASK_200MS,2,R,FUNC_EXECTIME_1,798,terminate
-438122075,Core_1,0,T,TASK_200MS,2,terminate
-438122075,TASK_200MS,2,SCHED,SCHED_Tasks_C1,-1,processterminate
-438122075,Core_1,0,C,Core_1,0,idle
-438122075,TASK_200MS,2,C,Core_1,0,idle
-438122175,TASK_200MS,2,STI,IR_SCHED_Tasks_C1,1476,trigger
-438122175,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-438125100,TASK_WritingActuator,219,SEM,SEM_DataElement1,0,requestsemaphore,0
-438125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-438125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-438125100,Core_2,0,C,Core_2,0,lock
-438125100,TASK_WritingActuator,219,SEM,SEM_DataElement1,0,assigned,1
-438125150,TASK_WritingActuator,219,R,FUNC_SEMLOCK,438,terminate
-438125150,Core_2,0,C,Core_2,0,unlock
-438125150,TASK_WritingActuator,219,R,FUNC_WriteData,219,start
-438150000,SIM,-1,STI,TIMER-A_2ms,219,trigger
-438150000,TIMER-A_2ms,219,T,TASK_InputProcessing,219,activate
-438150000,TASK_InputProcessing,219,SCHED,SCHED_Tasks_C1,-1,processactivate
-438150100,TASK_InputProcessing,219,STI,IR_SCHED_Tasks_C1,1477,trigger
-438150100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-438150100,Core_1,0,T,TASK_InputProcessing,219,start
-438150100,TASK_InputProcessing,219,R,FUNC_SEMLOCK,439,start
-438150100,Core_1,0,C,Core_1,0,execute
-438150100,TASK_InputProcessing,219,C,Core_1,0,execute
-438152100,TASK_WritingActuator,219,SIG,SIG_Mixture,0,write,0
-438152100,TASK_WritingActuator,219,R,FUNC_WriteData,219,terminate
-438152100,TASK_WritingActuator,219,R,FUNC_SEMUNLOCK,438,start
-438250000,SIM,-1,STI,TIMER-1MS,438,trigger
-438250000,TIMER-1MS,438,T,TASK_1MS,438,activate
-438250000,TASK_1MS,438,SCHED,SCHED_Tasks_C1,-1,processactivate
-438250100,TASK_1MS,438,STI,IR_SCHED_Tasks_C1,1478,trigger
-438250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-438250100,TASK_InputProcessing,219,R,FUNC_SEMLOCK,439,suspend
-438250100,Core_1,0,T,TASK_InputProcessing,219,preempt
-438250100,Core_1,0,C,Core_1,0,idle_execution
-438250100,TASK_InputProcessing,219,C,Core_1,0,idle_execution
-438250100,Core_1,0,T,TASK_1MS,438,start
-438250100,TASK_1MS,438,R,FUNC_EXECTIME_1,803,start
-438250100,Core_1,0,C,Core_1,0,execute
-438250100,TASK_1MS,438,C,Core_1,0,execute
-438352100,TASK_WritingActuator,219,SEM,SEM_DataElement1,0,released,1
-438352100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-438352100,TASK_WritingActuator,219,SCHED,SCHED_Tasks_C2,-1,schedulepoint
-438352100,Core_2,0,C,Core_2,0,lock
-438352150,TASK_WritingActuator,219,R,FUNC_SEMUNLOCK,438,terminate
-438352150,Core_2,0,T,TASK_WritingActuator,219,terminate
-438352150,TASK_WritingActuator,219,SCHED,SCHED_Tasks_C2,-1,processterminate
-438352150,Core_2,0,C,Core_2,0,unlock
-438352150,Core_2,0,C,Core_2,0,idle
-438352150,TASK_WritingActuator,219,C,Core_2,0,idle
-438352200,TASK_WritingActuator,219,STI,IR_SCHED_Tasks_C2,1412,trigger
-438352200,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-438352200,Core_2,0,T,TASK_5MS,219,start
-438352200,TASK_5MS,219,R,FUNC_EXECTIME_1,802,start
-438352200,Core_2,0,C,Core_2,0,execute
-438352200,TASK_5MS,219,C,Core_2,0,execute
-438643425,TASK_5MS,219,R,FUNC_EXECTIME_1,802,terminate
-438643425,Core_2,0,T,TASK_5MS,219,terminate
-438643425,TASK_5MS,219,SCHED,SCHED_Tasks_C2,-1,processterminate
-438643425,Core_2,0,C,Core_2,0,idle
-438643425,TASK_5MS,219,C,Core_2,0,idle
-438643525,TASK_5MS,219,STI,IR_SCHED_Tasks_C2,1413,trigger
-438643525,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-438875000,TASK_1MS,438,R,FUNC_EXECTIME_1,803,terminate
-438875000,Core_1,0,T,TASK_1MS,438,terminate
-438875000,TASK_1MS,438,SCHED,SCHED_Tasks_C1,-1,processterminate
-438875000,Core_1,0,C,Core_1,0,idle
-438875000,TASK_1MS,438,C,Core_1,0,idle
-438875100,TASK_1MS,438,STI,IR_SCHED_Tasks_C1,1479,trigger
-438875100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-438875100,Core_1,0,C,Core_1,0,execute_idle
-438875100,TASK_InputProcessing,219,C,Core_1,0,execute_idle
-438875100,Core_1,0,T,TASK_InputProcessing,219,resume
-438875100,TASK_InputProcessing,219,R,FUNC_SEMLOCK,439,resume
-438900100,TASK_InputProcessing,219,SEM,SEM_DataElement1,0,requestsemaphore,0
-438900100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-438900100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-438900100,Core_1,0,C,Core_1,0,lock
-438900100,TASK_InputProcessing,219,SEM,SEM_DataElement1,0,assigned,1
-438900150,TASK_InputProcessing,219,R,FUNC_SEMLOCK,439,terminate
-438900150,Core_1,0,C,Core_1,0,unlock
-438900150,TASK_InputProcessing,219,R,FUNC_ReadSensorData,219,start
-439060250,TASK_InputProcessing,219,SIG,SIG_RotationSpeed,0,read,0
-439060250,TASK_InputProcessing,219,SIG,SIG_Lambda,0,read,0
-439060250,TASK_InputProcessing,219,SIG,SIG_Temperature,0,read,0
-439060250,TASK_InputProcessing,219,R,FUNC_ReadSensorData,219,terminate
-439060250,TASK_InputProcessing,219,R,FUNC_SEMUNLOCK,439,start
-439250000,SIM,-1,STI,TIMER-1MS,439,trigger
-439250000,TIMER-1MS,439,T,TASK_1MS,439,activate
-439250000,TASK_1MS,439,SCHED,SCHED_Tasks_C1,-1,processactivate
-439250100,TASK_1MS,439,STI,IR_SCHED_Tasks_C1,1480,trigger
-439250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-439260250,TASK_InputProcessing,219,SEM,SEM_DataElement1,0,released,1
-439260250,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-439260250,TASK_InputProcessing,219,SCHED,SCHED_Tasks_C1,-1,schedulepoint
-439260250,Core_1,0,C,Core_1,0,lock
-439260300,TASK_InputProcessing,219,R,FUNC_SEMUNLOCK,439,terminate
-439260300,Core_1,0,C,Core_1,0,unlock
-439260300,TASK_InputProcessing,219,STI,IPA_InputReady,219,trigger
-439260300,IPA_InputReady,219,T,TASK_CalcEngineSpeed,219,activate
-439260300,TASK_CalcEngineSpeed,219,SCHED,SCHED_Tasks_C2,-1,processactivate
-439260300,Core_1,0,T,TASK_InputProcessing,219,terminate
-439260300,TASK_InputProcessing,219,SCHED,SCHED_Tasks_C1,-1,processterminate
-439260300,Core_1,0,C,Core_1,0,idle
-439260300,TASK_InputProcessing,219,C,Core_1,0,idle
-439260350,TASK_InputProcessing,219,STI,IR_SCHED_Tasks_C1,1481,trigger
-439260350,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-439260350,Core_1,0,T,TASK_1MS,439,start
-439260350,TASK_1MS,439,R,FUNC_EXECTIME_1,804,start
-439260350,Core_1,0,C,Core_1,0,execute
-439260350,TASK_1MS,439,C,Core_1,0,execute
-439260400,TASK_CalcEngineSpeed,219,STI,IR_SCHED_Tasks_C2,1414,trigger
-439260400,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-439260400,Core_2,0,T,TASK_CalcEngineSpeed,219,start
-439260400,TASK_CalcEngineSpeed,219,R,FUNC_ENGINESPEED,219,start
-439260400,Core_2,0,C,Core_2,0,execute
-439260400,TASK_CalcEngineSpeed,219,C,Core_2,0,execute
-439452850,TASK_CalcEngineSpeed,219,R,FUNC_ENGINESPEED,219,terminate
-439452850,Core_2,0,T,TASK_CalcEngineSpeed,219,terminate
-439452850,TASK_CalcEngineSpeed,219,SCHED,SCHED_Tasks_C2,-1,processterminate
-439452850,Core_2,0,C,Core_2,0,idle
-439452850,TASK_CalcEngineSpeed,219,C,Core_2,0,idle
-439452950,TASK_CalcEngineSpeed,219,STI,IR_SCHED_Tasks_C2,1415,trigger
-439452950,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-439648050,TASK_1MS,439,R,FUNC_EXECTIME_1,804,terminate
-439648050,Core_1,0,T,TASK_1MS,439,terminate
-439648050,TASK_1MS,439,SCHED,SCHED_Tasks_C1,-1,processterminate
-439648050,Core_1,0,C,Core_1,0,idle
-439648050,TASK_1MS,439,C,Core_1,0,idle
-439648150,TASK_1MS,439,STI,IR_SCHED_Tasks_C1,1482,trigger
-439648150,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-440000000,SIM,-1,STI,TIMER-B_2ms,220,trigger
-440000000,TIMER-B_2ms,220,T,TASK_WritingActuator,220,activate
-440000000,TASK_WritingActuator,220,SCHED,SCHED_Tasks_C2,-1,processactivate
-440000000,SIM,-1,STI,TIMER-10MS_2,44,trigger
-440000000,TIMER-10MS_2,44,T,TASK_10MS_DL2,44,activate
-440000000,TASK_10MS_DL2,44,SCHED,SCHED_Tasks_C1,-1,processactivate
-440000100,TASK_WritingActuator,220,STI,IR_SCHED_Tasks_C2,1416,trigger
-440000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-440000100,Core_2,0,T,TASK_WritingActuator,220,start
-440000100,TASK_WritingActuator,220,R,FUNC_SEMLOCK,440,start
-440000100,Core_2,0,C,Core_2,0,execute
-440000100,TASK_WritingActuator,220,C,Core_2,0,execute
-440000100,TASK_10MS_DL2,44,STI,IR_SCHED_Tasks_C1,1483,trigger
-440000100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-440000100,Core_1,0,T,TASK_10MS_DL2,44,start
-440000100,TASK_10MS_DL2,44,R,FUNC_EXECTIME_1,805,start
-440000100,Core_1,0,C,Core_1,0,execute
-440000100,TASK_10MS_DL2,44,C,Core_1,0,execute
-440005000,SIM,-1,STI,TIMER-20MS,22,trigger
-440005000,TIMER-20MS,22,T,TASK_20MS,22,activate
-440005000,TASK_20MS,22,SCHED,SCHED_Tasks_C1,-1,processactivate
-440005100,TASK_20MS,22,STI,IR_SCHED_Tasks_C1,1484,trigger
-440005100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-440100000,SIM,-1,STI,TIMER-5MS,220,trigger
-440100000,TIMER-5MS,220,T,TASK_5MS,220,activate
-440100000,TASK_5MS,220,SCHED,SCHED_Tasks_C2,-1,processactivate
-440100100,TASK_5MS,220,STI,IR_SCHED_Tasks_C2,1417,trigger
-440100100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-440125100,TASK_WritingActuator,220,SEM,SEM_DataElement1,0,requestsemaphore,0
-440125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-440125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-440125100,Core_2,0,C,Core_2,0,lock
-440125100,TASK_WritingActuator,220,SEM,SEM_DataElement1,0,assigned,1
-440125150,TASK_WritingActuator,220,R,FUNC_SEMLOCK,440,terminate
-440125150,Core_2,0,C,Core_2,0,unlock
-440125150,TASK_WritingActuator,220,R,FUNC_WriteData,220,start
-440150000,SIM,-1,STI,TIMER-A_2ms,220,trigger
-440150000,TIMER-A_2ms,220,T,TASK_InputProcessing,220,activate
-440150000,TASK_InputProcessing,220,SCHED,SCHED_Tasks_C1,-1,processactivate
-440150100,TASK_InputProcessing,220,STI,IR_SCHED_Tasks_C1,1485,trigger
-440150100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-440151100,TASK_WritingActuator,220,SIG,SIG_Mixture,0,write,0
-440151100,TASK_WritingActuator,220,R,FUNC_WriteData,220,terminate
-440151100,TASK_WritingActuator,220,R,FUNC_SEMUNLOCK,440,start
-440250000,SIM,-1,STI,TIMER-1MS,440,trigger
-440250000,TIMER-1MS,440,T,TASK_1MS,440,activate
-440250000,TASK_1MS,440,SCHED,SCHED_Tasks_C1,-1,processactivate
-440250100,TASK_1MS,440,STI,IR_SCHED_Tasks_C1,1486,trigger
-440250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-440250100,TASK_10MS_DL2,44,R,FUNC_EXECTIME_1,805,suspend
-440250100,Core_1,0,T,TASK_10MS_DL2,44,preempt
-440250100,Core_1,0,C,Core_1,0,idle_execution
-440250100,TASK_10MS_DL2,44,C,Core_1,0,idle_execution
-440250100,Core_1,0,T,TASK_1MS,440,start
-440250100,TASK_1MS,440,R,FUNC_EXECTIME_1,808,start
-440250100,Core_1,0,C,Core_1,0,execute
-440250100,TASK_1MS,440,C,Core_1,0,execute
-440351100,TASK_WritingActuator,220,SEM,SEM_DataElement1,0,released,1
-440351100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-440351100,TASK_WritingActuator,220,SCHED,SCHED_Tasks_C2,-1,schedulepoint
-440351100,Core_2,0,C,Core_2,0,lock
-440351150,TASK_WritingActuator,220,R,FUNC_SEMUNLOCK,440,terminate
-440351150,Core_2,0,T,TASK_WritingActuator,220,terminate
-440351150,TASK_WritingActuator,220,SCHED,SCHED_Tasks_C2,-1,processterminate
-440351150,Core_2,0,C,Core_2,0,unlock
-440351150,Core_2,0,C,Core_2,0,idle
-440351150,TASK_WritingActuator,220,C,Core_2,0,idle
-440351200,TASK_WritingActuator,220,STI,IR_SCHED_Tasks_C2,1418,trigger
-440351200,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-440351200,Core_2,0,T,TASK_5MS,220,start
-440351200,TASK_5MS,220,R,FUNC_EXECTIME_1,807,start
-440351200,Core_2,0,C,Core_2,0,execute
-440351200,TASK_5MS,220,C,Core_2,0,execute
-440761325,TASK_1MS,440,R,FUNC_EXECTIME_1,808,terminate
-440761325,Core_1,0,T,TASK_1MS,440,terminate
-440761325,TASK_1MS,440,SCHED,SCHED_Tasks_C1,-1,processterminate
-440761325,Core_1,0,C,Core_1,0,idle
-440761325,TASK_1MS,440,C,Core_1,0,idle
-440761425,TASK_1MS,440,STI,IR_SCHED_Tasks_C1,1487,trigger
-440761425,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-440761425,Core_1,0,C,Core_1,0,execute_idle
-440761425,TASK_10MS_DL2,44,C,Core_1,0,execute_idle
-440761425,Core_1,0,T,TASK_10MS_DL2,44,resume
-440761425,TASK_10MS_DL2,44,R,FUNC_EXECTIME_1,805,resume
-440767225,TASK_5MS,220,R,FUNC_EXECTIME_1,807,terminate
-440767225,Core_2,0,T,TASK_5MS,220,terminate
-440767225,TASK_5MS,220,SCHED,SCHED_Tasks_C2,-1,processterminate
-440767225,Core_2,0,C,Core_2,0,idle
-440767225,TASK_5MS,220,C,Core_2,0,idle
-440767325,TASK_5MS,220,STI,IR_SCHED_Tasks_C2,1419,trigger
-440767325,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-441052500,TASK_10MS_DL2,44,R,FUNC_EXECTIME_1,805,terminate
-441052500,Core_1,0,T,TASK_10MS_DL2,44,terminate
-441052500,TASK_10MS_DL2,44,SCHED,SCHED_Tasks_C1,-1,processterminate
-441052500,Core_1,0,C,Core_1,0,idle
-441052500,TASK_10MS_DL2,44,C,Core_1,0,idle
-441052600,TASK_10MS_DL2,44,STI,IR_SCHED_Tasks_C1,1488,trigger
-441052600,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-441052600,Core_1,0,T,TASK_InputProcessing,220,start
-441052600,TASK_InputProcessing,220,R,FUNC_SEMLOCK,441,start
-441052600,Core_1,0,C,Core_1,0,execute
-441052600,TASK_InputProcessing,220,C,Core_1,0,execute
-441177600,TASK_InputProcessing,220,SEM,SEM_DataElement1,0,requestsemaphore,0
-441177600,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-441177600,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-441177600,Core_1,0,C,Core_1,0,lock
-441177600,TASK_InputProcessing,220,SEM,SEM_DataElement1,0,assigned,1
-441177650,TASK_InputProcessing,220,R,FUNC_SEMLOCK,441,terminate
-441177650,Core_1,0,C,Core_1,0,unlock
-441177650,TASK_InputProcessing,220,R,FUNC_ReadSensorData,220,start
-441250000,SIM,-1,STI,TIMER-1MS,441,trigger
-441250000,TIMER-1MS,441,T,TASK_1MS,441,activate
-441250000,TASK_1MS,441,SCHED,SCHED_Tasks_C1,-1,processactivate
-441250100,TASK_1MS,441,STI,IR_SCHED_Tasks_C1,1489,trigger
-441250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-441334525,TASK_InputProcessing,220,SIG,SIG_RotationSpeed,0,read,0
-441334525,TASK_InputProcessing,220,SIG,SIG_Lambda,0,read,0
-441334525,TASK_InputProcessing,220,SIG,SIG_Temperature,0,read,0
-441334525,TASK_InputProcessing,220,R,FUNC_ReadSensorData,220,terminate
-441334525,TASK_InputProcessing,220,R,FUNC_SEMUNLOCK,441,start
-441534525,TASK_InputProcessing,220,SEM,SEM_DataElement1,0,released,1
-441534525,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-441534525,TASK_InputProcessing,220,SCHED,SCHED_Tasks_C1,-1,schedulepoint
-441534525,Core_1,0,C,Core_1,0,lock
-441534575,TASK_InputProcessing,220,R,FUNC_SEMUNLOCK,441,terminate
-441534575,Core_1,0,C,Core_1,0,unlock
-441534575,TASK_InputProcessing,220,STI,IPA_InputReady,220,trigger
-441534575,IPA_InputReady,220,T,TASK_CalcEngineSpeed,220,activate
-441534575,TASK_CalcEngineSpeed,220,SCHED,SCHED_Tasks_C2,-1,processactivate
-441534575,Core_1,0,T,TASK_InputProcessing,220,terminate
-441534575,TASK_InputProcessing,220,SCHED,SCHED_Tasks_C1,-1,processterminate
-441534575,Core_1,0,C,Core_1,0,idle
-441534575,TASK_InputProcessing,220,C,Core_1,0,idle
-441534625,TASK_InputProcessing,220,STI,IR_SCHED_Tasks_C1,1490,trigger
-441534625,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-441534625,Core_1,0,T,TASK_1MS,441,start
-441534625,TASK_1MS,441,R,FUNC_EXECTIME_1,809,start
-441534625,Core_1,0,C,Core_1,0,execute
-441534625,TASK_1MS,441,C,Core_1,0,execute
-441534675,TASK_CalcEngineSpeed,220,STI,IR_SCHED_Tasks_C2,1420,trigger
-441534675,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-441534675,Core_2,0,T,TASK_CalcEngineSpeed,220,start
-441534675,TASK_CalcEngineSpeed,220,R,FUNC_ENGINESPEED,220,start
-441534675,Core_2,0,C,Core_2,0,execute
-441534675,TASK_CalcEngineSpeed,220,C,Core_2,0,execute
-441702900,TASK_CalcEngineSpeed,220,R,FUNC_ENGINESPEED,220,terminate
-441702900,Core_2,0,T,TASK_CalcEngineSpeed,220,terminate
-441702900,TASK_CalcEngineSpeed,220,SCHED,SCHED_Tasks_C2,-1,processterminate
-441702900,Core_2,0,C,Core_2,0,idle
-441702900,TASK_CalcEngineSpeed,220,C,Core_2,0,idle
-441703000,TASK_CalcEngineSpeed,220,STI,IR_SCHED_Tasks_C2,1421,trigger
-441703000,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-441917100,TASK_1MS,441,R,FUNC_EXECTIME_1,809,terminate
-441917100,Core_1,0,T,TASK_1MS,441,terminate
-441917100,TASK_1MS,441,SCHED,SCHED_Tasks_C1,-1,processterminate
-441917100,Core_1,0,C,Core_1,0,idle
-441917100,TASK_1MS,441,C,Core_1,0,idle
-441917200,TASK_1MS,441,STI,IR_SCHED_Tasks_C1,1491,trigger
-441917200,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-441917200,Core_1,0,T,TASK_20MS,22,start
-441917200,TASK_20MS,22,R,FUNC_EXECTIME_1,806,start
-441917200,Core_1,0,C,Core_1,0,execute
-441917200,TASK_20MS,22,C,Core_1,0,execute
-442000000,SIM,-1,STI,TIMER-B_2ms,221,trigger
-442000000,TIMER-B_2ms,221,T,TASK_WritingActuator,221,activate
-442000000,TASK_WritingActuator,221,SCHED,SCHED_Tasks_C2,-1,processactivate
-442000100,TASK_WritingActuator,221,STI,IR_SCHED_Tasks_C2,1422,trigger
-442000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-442000100,Core_2,0,T,TASK_WritingActuator,221,start
-442000100,TASK_WritingActuator,221,R,FUNC_SEMLOCK,442,start
-442000100,Core_2,0,C,Core_2,0,execute
-442000100,TASK_WritingActuator,221,C,Core_2,0,execute
-442100000,SIM,-1,STI,TIMER-5MS,221,trigger
-442100000,TIMER-5MS,221,T,TASK_5MS,221,activate
-442100000,TASK_5MS,221,SCHED,SCHED_Tasks_C2,-1,processactivate
-442100100,TASK_5MS,221,STI,IR_SCHED_Tasks_C2,1423,trigger
-442100100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-442125100,TASK_WritingActuator,221,SEM,SEM_DataElement1,0,requestsemaphore,0
-442125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-442125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-442125100,Core_2,0,C,Core_2,0,lock
-442125100,TASK_WritingActuator,221,SEM,SEM_DataElement1,0,assigned,1
-442125150,TASK_WritingActuator,221,R,FUNC_SEMLOCK,442,terminate
-442125150,Core_2,0,C,Core_2,0,unlock
-442125150,TASK_WritingActuator,221,R,FUNC_WriteData,221,start
-442150000,SIM,-1,STI,TIMER-A_2ms,221,trigger
-442150000,TIMER-A_2ms,221,T,TASK_InputProcessing,221,activate
-442150000,TASK_InputProcessing,221,SCHED,SCHED_Tasks_C1,-1,processactivate
-442150100,TASK_InputProcessing,221,STI,IR_SCHED_Tasks_C1,1492,trigger
-442150100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-442150100,TASK_20MS,22,R,FUNC_EXECTIME_1,806,suspend
-442150100,Core_1,0,T,TASK_20MS,22,preempt
-442150100,Core_1,0,C,Core_1,0,idle_execution
-442150100,TASK_20MS,22,C,Core_1,0,idle_execution
-442150100,Core_1,0,T,TASK_InputProcessing,221,start
-442150100,TASK_InputProcessing,221,R,FUNC_SEMLOCK,443,start
-442150100,Core_1,0,C,Core_1,0,execute
-442150100,TASK_InputProcessing,221,C,Core_1,0,execute
-442152100,TASK_WritingActuator,221,SIG,SIG_Mixture,0,write,0
-442152100,TASK_WritingActuator,221,R,FUNC_WriteData,221,terminate
-442152100,TASK_WritingActuator,221,R,FUNC_SEMUNLOCK,442,start
-442250000,SIM,-1,STI,TIMER-1MS,442,trigger
-442250000,TIMER-1MS,442,T,TASK_1MS,442,activate
-442250000,TASK_1MS,442,SCHED,SCHED_Tasks_C1,-1,processactivate
-442250100,TASK_1MS,442,STI,IR_SCHED_Tasks_C1,1493,trigger
-442250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-442250100,TASK_InputProcessing,221,R,FUNC_SEMLOCK,443,suspend
-442250100,Core_1,0,T,TASK_InputProcessing,221,preempt
-442250100,Core_1,0,C,Core_1,0,idle_execution
-442250100,TASK_InputProcessing,221,C,Core_1,0,idle_execution
-442250100,Core_1,0,T,TASK_1MS,442,start
-442250100,TASK_1MS,442,R,FUNC_EXECTIME_1,811,start
-442250100,Core_1,0,C,Core_1,0,execute
-442250100,TASK_1MS,442,C,Core_1,0,execute
-442352100,TASK_WritingActuator,221,SEM,SEM_DataElement1,0,released,1
-442352100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-442352100,TASK_WritingActuator,221,SCHED,SCHED_Tasks_C2,-1,schedulepoint
-442352100,Core_2,0,C,Core_2,0,lock
-442352150,TASK_WritingActuator,221,R,FUNC_SEMUNLOCK,442,terminate
-442352150,Core_2,0,T,TASK_WritingActuator,221,terminate
-442352150,TASK_WritingActuator,221,SCHED,SCHED_Tasks_C2,-1,processterminate
-442352150,Core_2,0,C,Core_2,0,unlock
-442352150,Core_2,0,C,Core_2,0,idle
-442352150,TASK_WritingActuator,221,C,Core_2,0,idle
-442352200,TASK_WritingActuator,221,STI,IR_SCHED_Tasks_C2,1424,trigger
-442352200,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-442352200,Core_2,0,T,TASK_5MS,221,start
-442352200,TASK_5MS,221,R,FUNC_EXECTIME_1,810,start
-442352200,Core_2,0,C,Core_2,0,execute
-442352200,TASK_5MS,221,C,Core_2,0,execute
-442668150,TASK_1MS,442,R,FUNC_EXECTIME_1,811,terminate
-442668150,Core_1,0,T,TASK_1MS,442,terminate
-442668150,TASK_1MS,442,SCHED,SCHED_Tasks_C1,-1,processterminate
-442668150,Core_1,0,C,Core_1,0,idle
-442668150,TASK_1MS,442,C,Core_1,0,idle
-442668250,TASK_1MS,442,STI,IR_SCHED_Tasks_C1,1494,trigger
-442668250,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-442668250,Core_1,0,C,Core_1,0,execute_idle
-442668250,TASK_InputProcessing,221,C,Core_1,0,execute_idle
-442668250,Core_1,0,T,TASK_InputProcessing,221,resume
-442668250,TASK_InputProcessing,221,R,FUNC_SEMLOCK,443,resume
-442693250,TASK_InputProcessing,221,SEM,SEM_DataElement1,0,requestsemaphore,0
-442693250,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-442693250,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-442693250,Core_1,0,C,Core_1,0,lock
-442693250,TASK_InputProcessing,221,SEM,SEM_DataElement1,0,assigned,1
-442693300,TASK_InputProcessing,221,R,FUNC_SEMLOCK,443,terminate
-442693300,Core_1,0,C,Core_1,0,unlock
-442693300,TASK_InputProcessing,221,R,FUNC_ReadSensorData,221,start
-442823475,TASK_5MS,221,R,FUNC_EXECTIME_1,810,terminate
-442823475,Core_2,0,T,TASK_5MS,221,terminate
-442823475,TASK_5MS,221,SCHED,SCHED_Tasks_C2,-1,processterminate
-442823475,Core_2,0,C,Core_2,0,idle
-442823475,TASK_5MS,221,C,Core_2,0,idle
-442823575,TASK_5MS,221,STI,IR_SCHED_Tasks_C2,1425,trigger
-442823575,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-442857825,TASK_InputProcessing,221,SIG,SIG_RotationSpeed,0,read,0
-442857825,TASK_InputProcessing,221,SIG,SIG_Lambda,0,read,0
-442857825,TASK_InputProcessing,221,SIG,SIG_Temperature,0,read,0
-442857825,TASK_InputProcessing,221,R,FUNC_ReadSensorData,221,terminate
-442857825,TASK_InputProcessing,221,R,FUNC_SEMUNLOCK,443,start
-443057825,TASK_InputProcessing,221,SEM,SEM_DataElement1,0,released,1
-443057825,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-443057825,TASK_InputProcessing,221,SCHED,SCHED_Tasks_C1,-1,schedulepoint
-443057825,Core_1,0,C,Core_1,0,lock
-443057875,TASK_InputProcessing,221,R,FUNC_SEMUNLOCK,443,terminate
-443057875,Core_1,0,C,Core_1,0,unlock
-443057875,TASK_InputProcessing,221,STI,IPA_InputReady,221,trigger
-443057875,IPA_InputReady,221,T,TASK_CalcEngineSpeed,221,activate
-443057875,TASK_CalcEngineSpeed,221,SCHED,SCHED_Tasks_C2,-1,processactivate
-443057875,Core_1,0,T,TASK_InputProcessing,221,terminate
-443057875,TASK_InputProcessing,221,SCHED,SCHED_Tasks_C1,-1,processterminate
-443057875,Core_1,0,C,Core_1,0,idle
-443057875,TASK_InputProcessing,221,C,Core_1,0,idle
-443057925,TASK_InputProcessing,221,STI,IR_SCHED_Tasks_C1,1495,trigger
-443057925,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-443057925,Core_1,0,C,Core_1,0,execute_idle
-443057925,TASK_20MS,22,C,Core_1,0,execute_idle
-443057925,Core_1,0,T,TASK_20MS,22,resume
-443057925,TASK_20MS,22,R,FUNC_EXECTIME_1,806,resume
-443057975,TASK_CalcEngineSpeed,221,STI,IR_SCHED_Tasks_C2,1426,trigger
-443057975,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-443057975,Core_2,0,T,TASK_CalcEngineSpeed,221,start
-443057975,TASK_CalcEngineSpeed,221,R,FUNC_ENGINESPEED,221,start
-443057975,Core_2,0,C,Core_2,0,execute
-443057975,TASK_CalcEngineSpeed,221,C,Core_2,0,execute
-443159800,TASK_20MS,22,R,FUNC_EXECTIME_1,806,terminate
-443159800,Core_1,0,T,TASK_20MS,22,terminate
-443159800,TASK_20MS,22,SCHED,SCHED_Tasks_C1,-1,processterminate
-443159800,Core_1,0,C,Core_1,0,idle
-443159800,TASK_20MS,22,C,Core_1,0,idle
-443159900,TASK_20MS,22,STI,IR_SCHED_Tasks_C1,1496,trigger
-443159900,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-443207975,TASK_CalcEngineSpeed,221,R,FUNC_ENGINESPEED,221,terminate
-443207975,Core_2,0,T,TASK_CalcEngineSpeed,221,terminate
-443207975,TASK_CalcEngineSpeed,221,SCHED,SCHED_Tasks_C2,-1,processterminate
-443207975,Core_2,0,C,Core_2,0,idle
-443207975,TASK_CalcEngineSpeed,221,C,Core_2,0,idle
-443208075,TASK_CalcEngineSpeed,221,STI,IR_SCHED_Tasks_C2,1427,trigger
-443208075,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-443250000,SIM,-1,STI,TIMER-1MS,443,trigger
-443250000,TIMER-1MS,443,T,TASK_1MS,443,activate
-443250000,TASK_1MS,443,SCHED,SCHED_Tasks_C1,-1,processactivate
-443250100,TASK_1MS,443,STI,IR_SCHED_Tasks_C1,1497,trigger
-443250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-443250100,Core_1,0,T,TASK_1MS,443,start
-443250100,TASK_1MS,443,R,FUNC_EXECTIME_1,812,start
-443250100,Core_1,0,C,Core_1,0,execute
-443250100,TASK_1MS,443,C,Core_1,0,execute
-443918125,TASK_1MS,443,R,FUNC_EXECTIME_1,812,terminate
-443918125,Core_1,0,T,TASK_1MS,443,terminate
-443918125,TASK_1MS,443,SCHED,SCHED_Tasks_C1,-1,processterminate
-443918125,Core_1,0,C,Core_1,0,idle
-443918125,TASK_1MS,443,C,Core_1,0,idle
-443918225,TASK_1MS,443,STI,IR_SCHED_Tasks_C1,1498,trigger
-443918225,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-444000000,SIM,-1,STI,TIMER-B_2ms,222,trigger
-444000000,TIMER-B_2ms,222,T,TASK_WritingActuator,222,activate
-444000000,TASK_WritingActuator,222,SCHED,SCHED_Tasks_C2,-1,processactivate
-444000100,TASK_WritingActuator,222,STI,IR_SCHED_Tasks_C2,1428,trigger
-444000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-444000100,Core_2,0,T,TASK_WritingActuator,222,start
-444000100,TASK_WritingActuator,222,R,FUNC_SEMLOCK,444,start
-444000100,Core_2,0,C,Core_2,0,execute
-444000100,TASK_WritingActuator,222,C,Core_2,0,execute
-444100000,SIM,-1,STI,TIMER-5MS,222,trigger
-444100000,TIMER-5MS,222,T,TASK_5MS,222,activate
-444100000,TASK_5MS,222,SCHED,SCHED_Tasks_C2,-1,processactivate
-444100100,TASK_5MS,222,STI,IR_SCHED_Tasks_C2,1429,trigger
-444100100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-444125100,TASK_WritingActuator,222,SEM,SEM_DataElement1,0,requestsemaphore,0
-444125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-444125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-444125100,Core_2,0,C,Core_2,0,lock
-444125100,TASK_WritingActuator,222,SEM,SEM_DataElement1,0,assigned,1
-444125150,TASK_WritingActuator,222,R,FUNC_SEMLOCK,444,terminate
-444125150,Core_2,0,C,Core_2,0,unlock
-444125150,TASK_WritingActuator,222,R,FUNC_WriteData,222,start
-444150000,SIM,-1,STI,TIMER-A_2ms,222,trigger
-444150000,TIMER-A_2ms,222,T,TASK_InputProcessing,222,activate
-444150000,TASK_InputProcessing,222,SCHED,SCHED_Tasks_C1,-1,processactivate
-444150100,TASK_InputProcessing,222,STI,IR_SCHED_Tasks_C1,1499,trigger
-444150100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-444150100,Core_1,0,T,TASK_InputProcessing,222,start
-444150100,TASK_InputProcessing,222,R,FUNC_SEMLOCK,445,start
-444150100,Core_1,0,C,Core_1,0,execute
-444150100,TASK_InputProcessing,222,C,Core_1,0,execute
-444152425,TASK_WritingActuator,222,SIG,SIG_Mixture,0,write,0
-444152425,TASK_WritingActuator,222,R,FUNC_WriteData,222,terminate
-444152425,TASK_WritingActuator,222,R,FUNC_SEMUNLOCK,444,start
-444250000,SIM,-1,STI,TIMER-1MS,444,trigger
-444250000,TIMER-1MS,444,T,TASK_1MS,444,activate
-444250000,TASK_1MS,444,SCHED,SCHED_Tasks_C1,-1,processactivate
-444250100,TASK_1MS,444,STI,IR_SCHED_Tasks_C1,1500,trigger
-444250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-444250100,TASK_InputProcessing,222,R,FUNC_SEMLOCK,445,suspend
-444250100,Core_1,0,T,TASK_InputProcessing,222,preempt
-444250100,Core_1,0,C,Core_1,0,idle_execution
-444250100,TASK_InputProcessing,222,C,Core_1,0,idle_execution
-444250100,Core_1,0,T,TASK_1MS,444,start
-444250100,TASK_1MS,444,R,FUNC_EXECTIME_1,814,start
-444250100,Core_1,0,C,Core_1,0,execute
-444250100,TASK_1MS,444,C,Core_1,0,execute
-444352425,TASK_WritingActuator,222,SEM,SEM_DataElement1,0,released,1
-444352425,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-444352425,TASK_WritingActuator,222,SCHED,SCHED_Tasks_C2,-1,schedulepoint
-444352425,Core_2,0,C,Core_2,0,lock
-444352475,TASK_WritingActuator,222,R,FUNC_SEMUNLOCK,444,terminate
-444352475,Core_2,0,T,TASK_WritingActuator,222,terminate
-444352475,TASK_WritingActuator,222,SCHED,SCHED_Tasks_C2,-1,processterminate
-444352475,Core_2,0,C,Core_2,0,unlock
-444352475,Core_2,0,C,Core_2,0,idle
-444352475,TASK_WritingActuator,222,C,Core_2,0,idle
-444352525,TASK_WritingActuator,222,STI,IR_SCHED_Tasks_C2,1430,trigger
-444352525,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-444352525,Core_2,0,T,TASK_5MS,222,start
-444352525,TASK_5MS,222,R,FUNC_EXECTIME_1,813,start
-444352525,Core_2,0,C,Core_2,0,execute
-444352525,TASK_5MS,222,C,Core_2,0,execute
-444704350,TASK_1MS,444,R,FUNC_EXECTIME_1,814,terminate
-444704350,Core_1,0,T,TASK_1MS,444,terminate
-444704350,TASK_1MS,444,SCHED,SCHED_Tasks_C1,-1,processterminate
-444704350,Core_1,0,C,Core_1,0,idle
-444704350,TASK_1MS,444,C,Core_1,0,idle
-444704450,TASK_1MS,444,STI,IR_SCHED_Tasks_C1,1501,trigger
-444704450,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-444704450,Core_1,0,C,Core_1,0,execute_idle
-444704450,TASK_InputProcessing,222,C,Core_1,0,execute_idle
-444704450,Core_1,0,T,TASK_InputProcessing,222,resume
-444704450,TASK_InputProcessing,222,R,FUNC_SEMLOCK,445,resume
-444729450,TASK_InputProcessing,222,SEM,SEM_DataElement1,0,requestsemaphore,0
-444729450,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-444729450,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-444729450,Core_1,0,C,Core_1,0,lock
-444729450,TASK_InputProcessing,222,SEM,SEM_DataElement1,0,assigned,1
-444729500,TASK_InputProcessing,222,R,FUNC_SEMLOCK,445,terminate
-444729500,Core_1,0,C,Core_1,0,unlock
-444729500,TASK_InputProcessing,222,R,FUNC_ReadSensorData,222,start
-444894300,TASK_InputProcessing,222,SIG,SIG_RotationSpeed,0,read,0
-444894300,TASK_InputProcessing,222,SIG,SIG_Lambda,0,read,0
-444894300,TASK_InputProcessing,222,SIG,SIG_Temperature,0,read,0
-444894300,TASK_InputProcessing,222,R,FUNC_ReadSensorData,222,terminate
-444894300,TASK_InputProcessing,222,R,FUNC_SEMUNLOCK,445,start
-444958175,TASK_5MS,222,R,FUNC_EXECTIME_1,813,terminate
-444958175,Core_2,0,T,TASK_5MS,222,terminate
-444958175,TASK_5MS,222,SCHED,SCHED_Tasks_C2,-1,processterminate
-444958175,Core_2,0,C,Core_2,0,idle
-444958175,TASK_5MS,222,C,Core_2,0,idle
-444958275,TASK_5MS,222,STI,IR_SCHED_Tasks_C2,1431,trigger
-444958275,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-445000000,SIM,-1,STI,TIMER-10MS,44,trigger
-445000000,TIMER-10MS,44,T,TASK_10MS,44,activate
-445000000,TASK_10MS,44,SCHED,SCHED_Tasks_C2,-1,processactivate
-445000100,TASK_10MS,44,STI,IR_SCHED_Tasks_C2,1432,trigger
-445000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-445000100,Core_2,0,T,TASK_10MS,44,start
-445000100,TASK_10MS,44,R,FUNC_EXECTIME_1,815,start
-445000100,Core_2,0,C,Core_2,0,execute
-445000100,TASK_10MS,44,C,Core_2,0,execute
-445094300,TASK_InputProcessing,222,SEM,SEM_DataElement1,0,released,1
-445094300,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-445094300,TASK_InputProcessing,222,SCHED,SCHED_Tasks_C1,-1,schedulepoint
-445094300,Core_1,0,C,Core_1,0,lock
-445094350,TASK_InputProcessing,222,R,FUNC_SEMUNLOCK,445,terminate
-445094350,Core_1,0,C,Core_1,0,unlock
-445094350,TASK_InputProcessing,222,STI,IPA_InputReady,222,trigger
-445094350,IPA_InputReady,222,T,TASK_CalcEngineSpeed,222,activate
-445094350,TASK_CalcEngineSpeed,222,SCHED,SCHED_Tasks_C2,-1,processactivate
-445094350,Core_1,0,T,TASK_InputProcessing,222,terminate
-445094350,TASK_InputProcessing,222,SCHED,SCHED_Tasks_C1,-1,processterminate
-445094350,Core_1,0,C,Core_1,0,idle
-445094350,TASK_InputProcessing,222,C,Core_1,0,idle
-445094400,TASK_InputProcessing,222,STI,IR_SCHED_Tasks_C1,1502,trigger
-445094400,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-445094450,TASK_CalcEngineSpeed,222,STI,IR_SCHED_Tasks_C2,1433,trigger
-445094450,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-445094450,TASK_10MS,44,R,FUNC_EXECTIME_1,815,suspend
-445094450,Core_2,0,T,TASK_10MS,44,preempt
-445094450,Core_2,0,C,Core_2,0,idle_execution
-445094450,TASK_10MS,44,C,Core_2,0,idle_execution
-445094450,Core_2,0,T,TASK_CalcEngineSpeed,222,start
-445094450,TASK_CalcEngineSpeed,222,R,FUNC_ENGINESPEED,222,start
-445094450,Core_2,0,C,Core_2,0,execute
-445094450,TASK_CalcEngineSpeed,222,C,Core_2,0,execute
-445250000,SIM,-1,STI,TIMER-1MS,445,trigger
-445250000,TIMER-1MS,445,T,TASK_1MS,445,activate
-445250000,TASK_1MS,445,SCHED,SCHED_Tasks_C1,-1,processactivate
-445250100,TASK_1MS,445,STI,IR_SCHED_Tasks_C1,1503,trigger
-445250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-445250100,Core_1,0,T,TASK_1MS,445,start
-445250100,TASK_1MS,445,R,FUNC_EXECTIME_1,816,start
-445250100,Core_1,0,C,Core_1,0,execute
-445250100,TASK_1MS,445,C,Core_1,0,execute
-445260575,TASK_CalcEngineSpeed,222,R,FUNC_ENGINESPEED,222,terminate
-445260575,Core_2,0,T,TASK_CalcEngineSpeed,222,terminate
-445260575,TASK_CalcEngineSpeed,222,SCHED,SCHED_Tasks_C2,-1,processterminate
-445260575,Core_2,0,C,Core_2,0,idle
-445260575,TASK_CalcEngineSpeed,222,C,Core_2,0,idle
-445260675,TASK_CalcEngineSpeed,222,STI,IR_SCHED_Tasks_C2,1434,trigger
-445260675,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-445260675,Core_2,0,C,Core_2,0,execute_idle
-445260675,TASK_10MS,44,C,Core_2,0,execute_idle
-445260675,Core_2,0,T,TASK_10MS,44,resume
-445260675,TASK_10MS,44,R,FUNC_EXECTIME_1,815,resume
-445531550,TASK_10MS,44,R,FUNC_EXECTIME_1,815,terminate
-445531550,Core_2,0,T,TASK_10MS,44,terminate
-445531550,TASK_10MS,44,SCHED,SCHED_Tasks_C2,-1,processterminate
-445531550,Core_2,0,C,Core_2,0,idle
-445531550,TASK_10MS,44,C,Core_2,0,idle
-445531650,TASK_10MS,44,STI,IR_SCHED_Tasks_C2,1435,trigger
-445531650,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-445622600,TASK_1MS,445,R,FUNC_EXECTIME_1,816,terminate
-445622600,Core_1,0,T,TASK_1MS,445,terminate
-445622600,TASK_1MS,445,SCHED,SCHED_Tasks_C1,-1,processterminate
-445622600,Core_1,0,C,Core_1,0,idle
-445622600,TASK_1MS,445,C,Core_1,0,idle
-445622700,TASK_1MS,445,STI,IR_SCHED_Tasks_C1,1504,trigger
-445622700,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-446000000,SIM,-1,STI,TIMER-B_2ms,223,trigger
-446000000,TIMER-B_2ms,223,T,TASK_WritingActuator,223,activate
-446000000,TASK_WritingActuator,223,SCHED,SCHED_Tasks_C2,-1,processactivate
-446000100,TASK_WritingActuator,223,STI,IR_SCHED_Tasks_C2,1436,trigger
-446000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-446000100,Core_2,0,T,TASK_WritingActuator,223,start
-446000100,TASK_WritingActuator,223,R,FUNC_SEMLOCK,446,start
-446000100,Core_2,0,C,Core_2,0,execute
-446000100,TASK_WritingActuator,223,C,Core_2,0,execute
-446100000,SIM,-1,STI,TIMER-5MS,223,trigger
-446100000,TIMER-5MS,223,T,TASK_5MS,223,activate
-446100000,TASK_5MS,223,SCHED,SCHED_Tasks_C2,-1,processactivate
-446100100,TASK_5MS,223,STI,IR_SCHED_Tasks_C2,1437,trigger
-446100100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-446125100,TASK_WritingActuator,223,SEM,SEM_DataElement1,0,requestsemaphore,0
-446125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-446125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-446125100,Core_2,0,C,Core_2,0,lock
-446125100,TASK_WritingActuator,223,SEM,SEM_DataElement1,0,assigned,1
-446125150,TASK_WritingActuator,223,R,FUNC_SEMLOCK,446,terminate
-446125150,Core_2,0,C,Core_2,0,unlock
-446125150,TASK_WritingActuator,223,R,FUNC_WriteData,223,start
-446150000,SIM,-1,STI,TIMER-A_2ms,223,trigger
-446150000,TIMER-A_2ms,223,T,TASK_InputProcessing,223,activate
-446150000,TASK_InputProcessing,223,SCHED,SCHED_Tasks_C1,-1,processactivate
-446150100,TASK_InputProcessing,223,STI,IR_SCHED_Tasks_C1,1505,trigger
-446150100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-446150100,Core_1,0,T,TASK_InputProcessing,223,start
-446150100,TASK_InputProcessing,223,R,FUNC_SEMLOCK,447,start
-446150100,Core_1,0,C,Core_1,0,execute
-446150100,TASK_InputProcessing,223,C,Core_1,0,execute
-446152075,TASK_WritingActuator,223,SIG,SIG_Mixture,0,write,0
-446152075,TASK_WritingActuator,223,R,FUNC_WriteData,223,terminate
-446152075,TASK_WritingActuator,223,R,FUNC_SEMUNLOCK,446,start
-446250000,SIM,-1,STI,TIMER-1MS,446,trigger
-446250000,TIMER-1MS,446,T,TASK_1MS,446,activate
-446250000,TASK_1MS,446,SCHED,SCHED_Tasks_C1,-1,processactivate
-446250100,TASK_1MS,446,STI,IR_SCHED_Tasks_C1,1506,trigger
-446250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-446250100,TASK_InputProcessing,223,R,FUNC_SEMLOCK,447,suspend
-446250100,Core_1,0,T,TASK_InputProcessing,223,preempt
-446250100,Core_1,0,C,Core_1,0,idle_execution
-446250100,TASK_InputProcessing,223,C,Core_1,0,idle_execution
-446250100,Core_1,0,T,TASK_1MS,446,start
-446250100,TASK_1MS,446,R,FUNC_EXECTIME_1,818,start
-446250100,Core_1,0,C,Core_1,0,execute
-446250100,TASK_1MS,446,C,Core_1,0,execute
-446352075,TASK_WritingActuator,223,SEM,SEM_DataElement1,0,released,1
-446352075,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-446352075,TASK_WritingActuator,223,SCHED,SCHED_Tasks_C2,-1,schedulepoint
-446352075,Core_2,0,C,Core_2,0,lock
-446352125,TASK_WritingActuator,223,R,FUNC_SEMUNLOCK,446,terminate
-446352125,Core_2,0,T,TASK_WritingActuator,223,terminate
-446352125,TASK_WritingActuator,223,SCHED,SCHED_Tasks_C2,-1,processterminate
-446352125,Core_2,0,C,Core_2,0,unlock
-446352125,Core_2,0,C,Core_2,0,idle
-446352125,TASK_WritingActuator,223,C,Core_2,0,idle
-446352175,TASK_WritingActuator,223,STI,IR_SCHED_Tasks_C2,1438,trigger
-446352175,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-446352175,Core_2,0,T,TASK_5MS,223,start
-446352175,TASK_5MS,223,R,FUNC_EXECTIME_1,817,start
-446352175,Core_2,0,C,Core_2,0,execute
-446352175,TASK_5MS,223,C,Core_2,0,execute
-446922050,TASK_5MS,223,R,FUNC_EXECTIME_1,817,terminate
-446922050,Core_2,0,T,TASK_5MS,223,terminate
-446922050,TASK_5MS,223,SCHED,SCHED_Tasks_C2,-1,processterminate
-446922050,Core_2,0,C,Core_2,0,idle
-446922050,TASK_5MS,223,C,Core_2,0,idle
-446922150,TASK_5MS,223,STI,IR_SCHED_Tasks_C2,1439,trigger
-446922150,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-447017325,TASK_1MS,446,R,FUNC_EXECTIME_1,818,terminate
-447017325,Core_1,0,T,TASK_1MS,446,terminate
-447017325,TASK_1MS,446,SCHED,SCHED_Tasks_C1,-1,processterminate
-447017325,Core_1,0,C,Core_1,0,idle
-447017325,TASK_1MS,446,C,Core_1,0,idle
-447017425,TASK_1MS,446,STI,IR_SCHED_Tasks_C1,1507,trigger
-447017425,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-447017425,Core_1,0,C,Core_1,0,execute_idle
-447017425,TASK_InputProcessing,223,C,Core_1,0,execute_idle
-447017425,Core_1,0,T,TASK_InputProcessing,223,resume
-447017425,TASK_InputProcessing,223,R,FUNC_SEMLOCK,447,resume
-447042425,TASK_InputProcessing,223,SEM,SEM_DataElement1,0,requestsemaphore,0
-447042425,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-447042425,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-447042425,Core_1,0,C,Core_1,0,lock
-447042425,TASK_InputProcessing,223,SEM,SEM_DataElement1,0,assigned,1
-447042475,TASK_InputProcessing,223,R,FUNC_SEMLOCK,447,terminate
-447042475,Core_1,0,C,Core_1,0,unlock
-447042475,TASK_InputProcessing,223,R,FUNC_ReadSensorData,223,start
-447207275,TASK_InputProcessing,223,SIG,SIG_RotationSpeed,0,read,0
-447207275,TASK_InputProcessing,223,SIG,SIG_Lambda,0,read,0
-447207275,TASK_InputProcessing,223,SIG,SIG_Temperature,0,read,0
-447207275,TASK_InputProcessing,223,R,FUNC_ReadSensorData,223,terminate
-447207275,TASK_InputProcessing,223,R,FUNC_SEMUNLOCK,447,start
-447250000,SIM,-1,STI,TIMER-1MS,447,trigger
-447250000,TIMER-1MS,447,T,TASK_1MS,447,activate
-447250000,TASK_1MS,447,SCHED,SCHED_Tasks_C1,-1,processactivate
-447250100,TASK_1MS,447,STI,IR_SCHED_Tasks_C1,1508,trigger
-447250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-447407275,TASK_InputProcessing,223,SEM,SEM_DataElement1,0,released,1
-447407275,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-447407275,TASK_InputProcessing,223,SCHED,SCHED_Tasks_C1,-1,schedulepoint
-447407275,Core_1,0,C,Core_1,0,lock
-447407325,TASK_InputProcessing,223,R,FUNC_SEMUNLOCK,447,terminate
-447407325,Core_1,0,C,Core_1,0,unlock
-447407325,TASK_InputProcessing,223,STI,IPA_InputReady,223,trigger
-447407325,IPA_InputReady,223,T,TASK_CalcEngineSpeed,223,activate
-447407325,TASK_CalcEngineSpeed,223,SCHED,SCHED_Tasks_C2,-1,processactivate
-447407325,Core_1,0,T,TASK_InputProcessing,223,terminate
-447407325,TASK_InputProcessing,223,SCHED,SCHED_Tasks_C1,-1,processterminate
-447407325,Core_1,0,C,Core_1,0,idle
-447407325,TASK_InputProcessing,223,C,Core_1,0,idle
-447407375,TASK_InputProcessing,223,STI,IR_SCHED_Tasks_C1,1509,trigger
-447407375,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-447407375,Core_1,0,T,TASK_1MS,447,start
-447407375,TASK_1MS,447,R,FUNC_EXECTIME_1,819,start
-447407375,Core_1,0,C,Core_1,0,execute
-447407375,TASK_1MS,447,C,Core_1,0,execute
-447407425,TASK_CalcEngineSpeed,223,STI,IR_SCHED_Tasks_C2,1440,trigger
-447407425,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-447407425,Core_2,0,T,TASK_CalcEngineSpeed,223,start
-447407425,TASK_CalcEngineSpeed,223,R,FUNC_ENGINESPEED,223,start
-447407425,Core_2,0,C,Core_2,0,execute
-447407425,TASK_CalcEngineSpeed,223,C,Core_2,0,execute
-447587375,TASK_CalcEngineSpeed,223,R,FUNC_ENGINESPEED,223,terminate
-447587375,Core_2,0,T,TASK_CalcEngineSpeed,223,terminate
-447587375,TASK_CalcEngineSpeed,223,SCHED,SCHED_Tasks_C2,-1,processterminate
-447587375,Core_2,0,C,Core_2,0,idle
-447587375,TASK_CalcEngineSpeed,223,C,Core_2,0,idle
-447587475,TASK_CalcEngineSpeed,223,STI,IR_SCHED_Tasks_C2,1441,trigger
-447587475,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-448000000,SIM,-1,STI,TIMER-B_2ms,224,trigger
-448000000,TIMER-B_2ms,224,T,TASK_WritingActuator,224,activate
-448000000,TASK_WritingActuator,224,SCHED,SCHED_Tasks_C2,-1,processactivate
-448000100,TASK_WritingActuator,224,STI,IR_SCHED_Tasks_C2,1442,trigger
-448000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-448000100,Core_2,0,T,TASK_WritingActuator,224,start
-448000100,TASK_WritingActuator,224,R,FUNC_SEMLOCK,448,start
-448000100,Core_2,0,C,Core_2,0,execute
-448000100,TASK_WritingActuator,224,C,Core_2,0,execute
-448022225,TASK_1MS,447,R,FUNC_EXECTIME_1,819,terminate
-448022225,Core_1,0,T,TASK_1MS,447,terminate
-448022225,TASK_1MS,447,SCHED,SCHED_Tasks_C1,-1,processterminate
-448022225,Core_1,0,C,Core_1,0,idle
-448022225,TASK_1MS,447,C,Core_1,0,idle
-448022325,TASK_1MS,447,STI,IR_SCHED_Tasks_C1,1510,trigger
-448022325,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-448100000,SIM,-1,STI,TIMER-5MS,224,trigger
-448100000,TIMER-5MS,224,T,TASK_5MS,224,activate
-448100000,TASK_5MS,224,SCHED,SCHED_Tasks_C2,-1,processactivate
-448100100,TASK_5MS,224,STI,IR_SCHED_Tasks_C2,1443,trigger
-448100100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-448125100,TASK_WritingActuator,224,SEM,SEM_DataElement1,0,requestsemaphore,0
-448125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-448125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-448125100,Core_2,0,C,Core_2,0,lock
-448125100,TASK_WritingActuator,224,SEM,SEM_DataElement1,0,assigned,1
-448125150,TASK_WritingActuator,224,R,FUNC_SEMLOCK,448,terminate
-448125150,Core_2,0,C,Core_2,0,unlock
-448125150,TASK_WritingActuator,224,R,FUNC_WriteData,224,start
-448150000,SIM,-1,STI,TIMER-A_2ms,224,trigger
-448150000,TIMER-A_2ms,224,T,TASK_InputProcessing,224,activate
-448150000,TASK_InputProcessing,224,SCHED,SCHED_Tasks_C1,-1,processactivate
-448150100,TASK_InputProcessing,224,STI,IR_SCHED_Tasks_C1,1511,trigger
-448150100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-448150100,Core_1,0,T,TASK_InputProcessing,224,start
-448150100,TASK_InputProcessing,224,R,FUNC_SEMLOCK,449,start
-448150100,Core_1,0,C,Core_1,0,execute
-448150100,TASK_InputProcessing,224,C,Core_1,0,execute
-448152300,TASK_WritingActuator,224,SIG,SIG_Mixture,0,write,0
-448152300,TASK_WritingActuator,224,R,FUNC_WriteData,224,terminate
-448152300,TASK_WritingActuator,224,R,FUNC_SEMUNLOCK,448,start
-448250000,SIM,-1,STI,TIMER-1MS,448,trigger
-448250000,TIMER-1MS,448,T,TASK_1MS,448,activate
-448250000,TASK_1MS,448,SCHED,SCHED_Tasks_C1,-1,processactivate
-448250100,TASK_1MS,448,STI,IR_SCHED_Tasks_C1,1512,trigger
-448250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-448250100,TASK_InputProcessing,224,R,FUNC_SEMLOCK,449,suspend
-448250100,Core_1,0,T,TASK_InputProcessing,224,preempt
-448250100,Core_1,0,C,Core_1,0,idle_execution
-448250100,TASK_InputProcessing,224,C,Core_1,0,idle_execution
-448250100,Core_1,0,T,TASK_1MS,448,start
-448250100,TASK_1MS,448,R,FUNC_EXECTIME_1,821,start
-448250100,Core_1,0,C,Core_1,0,execute
-448250100,TASK_1MS,448,C,Core_1,0,execute
-448352300,TASK_WritingActuator,224,SEM,SEM_DataElement1,0,released,1
-448352300,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-448352300,TASK_WritingActuator,224,SCHED,SCHED_Tasks_C2,-1,schedulepoint
-448352300,Core_2,0,C,Core_2,0,lock
-448352350,TASK_WritingActuator,224,R,FUNC_SEMUNLOCK,448,terminate
-448352350,Core_2,0,T,TASK_WritingActuator,224,terminate
-448352350,TASK_WritingActuator,224,SCHED,SCHED_Tasks_C2,-1,processterminate
-448352350,Core_2,0,C,Core_2,0,unlock
-448352350,Core_2,0,C,Core_2,0,idle
-448352350,TASK_WritingActuator,224,C,Core_2,0,idle
-448352400,TASK_WritingActuator,224,STI,IR_SCHED_Tasks_C2,1444,trigger
-448352400,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-448352400,Core_2,0,T,TASK_5MS,224,start
-448352400,TASK_5MS,224,R,FUNC_EXECTIME_1,820,start
-448352400,Core_2,0,C,Core_2,0,execute
-448352400,TASK_5MS,224,C,Core_2,0,execute
-448801025,TASK_5MS,224,R,FUNC_EXECTIME_1,820,terminate
-448801025,Core_2,0,T,TASK_5MS,224,terminate
-448801025,TASK_5MS,224,SCHED,SCHED_Tasks_C2,-1,processterminate
-448801025,Core_2,0,C,Core_2,0,idle
-448801025,TASK_5MS,224,C,Core_2,0,idle
-448801125,TASK_5MS,224,STI,IR_SCHED_Tasks_C2,1445,trigger
-448801125,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-448918050,TASK_1MS,448,R,FUNC_EXECTIME_1,821,terminate
-448918050,Core_1,0,T,TASK_1MS,448,terminate
-448918050,TASK_1MS,448,SCHED,SCHED_Tasks_C1,-1,processterminate
-448918050,Core_1,0,C,Core_1,0,idle
-448918050,TASK_1MS,448,C,Core_1,0,idle
-448918150,TASK_1MS,448,STI,IR_SCHED_Tasks_C1,1513,trigger
-448918150,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-448918150,Core_1,0,C,Core_1,0,execute_idle
-448918150,TASK_InputProcessing,224,C,Core_1,0,execute_idle
-448918150,Core_1,0,T,TASK_InputProcessing,224,resume
-448918150,TASK_InputProcessing,224,R,FUNC_SEMLOCK,449,resume
-448943150,TASK_InputProcessing,224,SEM,SEM_DataElement1,0,requestsemaphore,0
-448943150,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-448943150,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-448943150,Core_1,0,C,Core_1,0,lock
-448943150,TASK_InputProcessing,224,SEM,SEM_DataElement1,0,assigned,1
-448943200,TASK_InputProcessing,224,R,FUNC_SEMLOCK,449,terminate
-448943200,Core_1,0,C,Core_1,0,unlock
-448943200,TASK_InputProcessing,224,R,FUNC_ReadSensorData,224,start
-449101975,TASK_InputProcessing,224,SIG,SIG_RotationSpeed,0,read,0
-449101975,TASK_InputProcessing,224,SIG,SIG_Lambda,0,read,0
-449101975,TASK_InputProcessing,224,SIG,SIG_Temperature,0,read,0
-449101975,TASK_InputProcessing,224,R,FUNC_ReadSensorData,224,terminate
-449101975,TASK_InputProcessing,224,R,FUNC_SEMUNLOCK,449,start
-449250000,SIM,-1,STI,TIMER-1MS,449,trigger
-449250000,TIMER-1MS,449,T,TASK_1MS,449,activate
-449250000,TASK_1MS,449,SCHED,SCHED_Tasks_C1,-1,processactivate
-449250100,TASK_1MS,449,STI,IR_SCHED_Tasks_C1,1514,trigger
-449250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-449301975,TASK_InputProcessing,224,SEM,SEM_DataElement1,0,released,1
-449301975,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-449301975,TASK_InputProcessing,224,SCHED,SCHED_Tasks_C1,-1,schedulepoint
-449301975,Core_1,0,C,Core_1,0,lock
-449302025,TASK_InputProcessing,224,R,FUNC_SEMUNLOCK,449,terminate
-449302025,Core_1,0,C,Core_1,0,unlock
-449302025,TASK_InputProcessing,224,STI,IPA_InputReady,224,trigger
-449302025,IPA_InputReady,224,T,TASK_CalcEngineSpeed,224,activate
-449302025,TASK_CalcEngineSpeed,224,SCHED,SCHED_Tasks_C2,-1,processactivate
-449302025,Core_1,0,T,TASK_InputProcessing,224,terminate
-449302025,TASK_InputProcessing,224,SCHED,SCHED_Tasks_C1,-1,processterminate
-449302025,Core_1,0,C,Core_1,0,idle
-449302025,TASK_InputProcessing,224,C,Core_1,0,idle
-449302075,TASK_InputProcessing,224,STI,IR_SCHED_Tasks_C1,1515,trigger
-449302075,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-449302075,Core_1,0,T,TASK_1MS,449,start
-449302075,TASK_1MS,449,R,FUNC_EXECTIME_1,822,start
-449302075,Core_1,0,C,Core_1,0,execute
-449302075,TASK_1MS,449,C,Core_1,0,execute
-449302125,TASK_CalcEngineSpeed,224,STI,IR_SCHED_Tasks_C2,1446,trigger
-449302125,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-449302125,Core_2,0,T,TASK_CalcEngineSpeed,224,start
-449302125,TASK_CalcEngineSpeed,224,R,FUNC_ENGINESPEED,224,start
-449302125,Core_2,0,C,Core_2,0,execute
-449302125,TASK_CalcEngineSpeed,224,C,Core_2,0,execute
-449545925,TASK_CalcEngineSpeed,224,R,FUNC_ENGINESPEED,224,terminate
-449545925,Core_2,0,T,TASK_CalcEngineSpeed,224,terminate
-449545925,TASK_CalcEngineSpeed,224,SCHED,SCHED_Tasks_C2,-1,processterminate
-449545925,Core_2,0,C,Core_2,0,idle
-449545925,TASK_CalcEngineSpeed,224,C,Core_2,0,idle
-449546025,TASK_CalcEngineSpeed,224,STI,IR_SCHED_Tasks_C2,1447,trigger
-449546025,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-450000000,SIM,-1,STI,TIMER-B_2ms,225,trigger
-450000000,TIMER-B_2ms,225,T,TASK_WritingActuator,225,activate
-450000000,TASK_WritingActuator,225,SCHED,SCHED_Tasks_C2,-1,processactivate
-450000000,SIM,-1,STI,TIMER-10MS_2,45,trigger
-450000000,TIMER-10MS_2,45,T,TASK_10MS_DL2,45,activate
-450000000,TASK_10MS_DL2,45,SCHED,SCHED_Tasks_C1,-1,processactivate
-450000100,TASK_WritingActuator,225,STI,IR_SCHED_Tasks_C2,1448,trigger
-450000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-450000100,Core_2,0,T,TASK_WritingActuator,225,start
-450000100,TASK_WritingActuator,225,R,FUNC_SEMLOCK,450,start
-450000100,Core_2,0,C,Core_2,0,execute
-450000100,TASK_WritingActuator,225,C,Core_2,0,execute
-450000100,TASK_10MS_DL2,45,STI,IR_SCHED_Tasks_C1,1516,trigger
-450000100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-450100000,SIM,-1,STI,TIMER-5MS,225,trigger
-450100000,TIMER-5MS,225,T,TASK_5MS,225,activate
-450100000,TASK_5MS,225,SCHED,SCHED_Tasks_C2,-1,processactivate
-450100100,TASK_5MS,225,STI,IR_SCHED_Tasks_C2,1449,trigger
-450100100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-450102275,TASK_1MS,449,R,FUNC_EXECTIME_1,822,terminate
-450102275,Core_1,0,T,TASK_1MS,449,terminate
-450102275,TASK_1MS,449,SCHED,SCHED_Tasks_C1,-1,processterminate
-450102275,Core_1,0,C,Core_1,0,idle
-450102275,TASK_1MS,449,C,Core_1,0,idle
-450102375,TASK_1MS,449,STI,IR_SCHED_Tasks_C1,1517,trigger
-450102375,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-450102375,Core_1,0,T,TASK_10MS_DL2,45,start
-450102375,TASK_10MS_DL2,45,R,FUNC_EXECTIME_1,823,start
-450102375,Core_1,0,C,Core_1,0,execute
-450102375,TASK_10MS_DL2,45,C,Core_1,0,execute
-450125100,TASK_WritingActuator,225,SEM,SEM_DataElement1,0,requestsemaphore,0
-450125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-450125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-450125100,Core_2,0,C,Core_2,0,lock
-450125100,TASK_WritingActuator,225,SEM,SEM_DataElement1,0,assigned,1
-450125150,TASK_WritingActuator,225,R,FUNC_SEMLOCK,450,terminate
-450125150,Core_2,0,C,Core_2,0,unlock
-450125150,TASK_WritingActuator,225,R,FUNC_WriteData,225,start
-450150000,SIM,-1,STI,TIMER-A_2ms,225,trigger
-450150000,TIMER-A_2ms,225,T,TASK_InputProcessing,225,activate
-450150000,TASK_InputProcessing,225,SCHED,SCHED_Tasks_C1,-1,processactivate
-450150100,TASK_InputProcessing,225,STI,IR_SCHED_Tasks_C1,1518,trigger
-450150100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-450152000,TASK_WritingActuator,225,SIG,SIG_Mixture,0,write,0
-450152000,TASK_WritingActuator,225,R,FUNC_WriteData,225,terminate
-450152000,TASK_WritingActuator,225,R,FUNC_SEMUNLOCK,450,start
-450250000,SIM,-1,STI,TIMER-1MS,450,trigger
-450250000,TIMER-1MS,450,T,TASK_1MS,450,activate
-450250000,TASK_1MS,450,SCHED,SCHED_Tasks_C1,-1,processactivate
-450250100,TASK_1MS,450,STI,IR_SCHED_Tasks_C1,1519,trigger
-450250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-450250100,TASK_10MS_DL2,45,R,FUNC_EXECTIME_1,823,suspend
-450250100,Core_1,0,T,TASK_10MS_DL2,45,preempt
-450250100,Core_1,0,C,Core_1,0,idle_execution
-450250100,TASK_10MS_DL2,45,C,Core_1,0,idle_execution
-450250100,Core_1,0,T,TASK_1MS,450,start
-450250100,TASK_1MS,450,R,FUNC_EXECTIME_1,825,start
-450250100,Core_1,0,C,Core_1,0,execute
-450250100,TASK_1MS,450,C,Core_1,0,execute
-450352000,TASK_WritingActuator,225,SEM,SEM_DataElement1,0,released,1
-450352000,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-450352000,TASK_WritingActuator,225,SCHED,SCHED_Tasks_C2,-1,schedulepoint
-450352000,Core_2,0,C,Core_2,0,lock
-450352050,TASK_WritingActuator,225,R,FUNC_SEMUNLOCK,450,terminate
-450352050,Core_2,0,T,TASK_WritingActuator,225,terminate
-450352050,TASK_WritingActuator,225,SCHED,SCHED_Tasks_C2,-1,processterminate
-450352050,Core_2,0,C,Core_2,0,unlock
-450352050,Core_2,0,C,Core_2,0,idle
-450352050,TASK_WritingActuator,225,C,Core_2,0,idle
-450352100,TASK_WritingActuator,225,STI,IR_SCHED_Tasks_C2,1450,trigger
-450352100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-450352100,Core_2,0,T,TASK_5MS,225,start
-450352100,TASK_5MS,225,R,FUNC_EXECTIME_1,824,start
-450352100,Core_2,0,C,Core_2,0,execute
-450352100,TASK_5MS,225,C,Core_2,0,execute
-450692200,TASK_1MS,450,R,FUNC_EXECTIME_1,825,terminate
-450692200,Core_1,0,T,TASK_1MS,450,terminate
-450692200,TASK_1MS,450,SCHED,SCHED_Tasks_C1,-1,processterminate
-450692200,Core_1,0,C,Core_1,0,idle
-450692200,TASK_1MS,450,C,Core_1,0,idle
-450692300,TASK_1MS,450,STI,IR_SCHED_Tasks_C1,1520,trigger
-450692300,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-450692300,Core_1,0,C,Core_1,0,execute_idle
-450692300,TASK_10MS_DL2,45,C,Core_1,0,execute_idle
-450692300,Core_1,0,T,TASK_10MS_DL2,45,resume
-450692300,TASK_10MS_DL2,45,R,FUNC_EXECTIME_1,823,resume
-450757700,TASK_5MS,225,R,FUNC_EXECTIME_1,824,terminate
-450757700,Core_2,0,T,TASK_5MS,225,terminate
-450757700,TASK_5MS,225,SCHED,SCHED_Tasks_C2,-1,processterminate
-450757700,Core_2,0,C,Core_2,0,idle
-450757700,TASK_5MS,225,C,Core_2,0,idle
-450757800,TASK_5MS,225,STI,IR_SCHED_Tasks_C2,1451,trigger
-450757800,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-450863425,TASK_10MS_DL2,45,R,FUNC_EXECTIME_1,823,terminate
-450863425,Core_1,0,T,TASK_10MS_DL2,45,terminate
-450863425,TASK_10MS_DL2,45,SCHED,SCHED_Tasks_C1,-1,processterminate
-450863425,Core_1,0,C,Core_1,0,idle
-450863425,TASK_10MS_DL2,45,C,Core_1,0,idle
-450863525,TASK_10MS_DL2,45,STI,IR_SCHED_Tasks_C1,1521,trigger
-450863525,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-450863525,Core_1,0,T,TASK_InputProcessing,225,start
-450863525,TASK_InputProcessing,225,R,FUNC_SEMLOCK,451,start
-450863525,Core_1,0,C,Core_1,0,execute
-450863525,TASK_InputProcessing,225,C,Core_1,0,execute
-450988525,TASK_InputProcessing,225,SEM,SEM_DataElement1,0,requestsemaphore,0
-450988525,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-450988525,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-450988525,Core_1,0,C,Core_1,0,lock
-450988525,TASK_InputProcessing,225,SEM,SEM_DataElement1,0,assigned,1
-450988575,TASK_InputProcessing,225,R,FUNC_SEMLOCK,451,terminate
-450988575,Core_1,0,C,Core_1,0,unlock
-450988575,TASK_InputProcessing,225,R,FUNC_ReadSensorData,225,start
-451150700,TASK_InputProcessing,225,SIG,SIG_RotationSpeed,0,read,0
-451150700,TASK_InputProcessing,225,SIG,SIG_Lambda,0,read,0
-451150700,TASK_InputProcessing,225,SIG,SIG_Temperature,0,read,0
-451150700,TASK_InputProcessing,225,R,FUNC_ReadSensorData,225,terminate
-451150700,TASK_InputProcessing,225,R,FUNC_SEMUNLOCK,451,start
-451250000,SIM,-1,STI,TIMER-1MS,451,trigger
-451250000,TIMER-1MS,451,T,TASK_1MS,451,activate
-451250000,TASK_1MS,451,SCHED,SCHED_Tasks_C1,-1,processactivate
-451250100,TASK_1MS,451,STI,IR_SCHED_Tasks_C1,1522,trigger
-451250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-451350700,TASK_InputProcessing,225,SEM,SEM_DataElement1,0,released,1
-451350700,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-451350700,TASK_InputProcessing,225,SCHED,SCHED_Tasks_C1,-1,schedulepoint
-451350700,Core_1,0,C,Core_1,0,lock
-451350750,TASK_InputProcessing,225,R,FUNC_SEMUNLOCK,451,terminate
-451350750,Core_1,0,C,Core_1,0,unlock
-451350750,TASK_InputProcessing,225,STI,IPA_InputReady,225,trigger
-451350750,IPA_InputReady,225,T,TASK_CalcEngineSpeed,225,activate
-451350750,TASK_CalcEngineSpeed,225,SCHED,SCHED_Tasks_C2,-1,processactivate
-451350750,Core_1,0,T,TASK_InputProcessing,225,terminate
-451350750,TASK_InputProcessing,225,SCHED,SCHED_Tasks_C1,-1,processterminate
-451350750,Core_1,0,C,Core_1,0,idle
-451350750,TASK_InputProcessing,225,C,Core_1,0,idle
-451350800,TASK_InputProcessing,225,STI,IR_SCHED_Tasks_C1,1523,trigger
-451350800,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-451350800,Core_1,0,T,TASK_1MS,451,start
-451350800,TASK_1MS,451,R,FUNC_EXECTIME_1,826,start
-451350800,Core_1,0,C,Core_1,0,execute
-451350800,TASK_1MS,451,C,Core_1,0,execute
-451350850,TASK_CalcEngineSpeed,225,STI,IR_SCHED_Tasks_C2,1452,trigger
-451350850,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-451350850,Core_2,0,T,TASK_CalcEngineSpeed,225,start
-451350850,TASK_CalcEngineSpeed,225,R,FUNC_ENGINESPEED,225,start
-451350850,Core_2,0,C,Core_2,0,execute
-451350850,TASK_CalcEngineSpeed,225,C,Core_2,0,execute
-451596325,TASK_CalcEngineSpeed,225,R,FUNC_ENGINESPEED,225,terminate
-451596325,Core_2,0,T,TASK_CalcEngineSpeed,225,terminate
-451596325,TASK_CalcEngineSpeed,225,SCHED,SCHED_Tasks_C2,-1,processterminate
-451596325,Core_2,0,C,Core_2,0,idle
-451596325,TASK_CalcEngineSpeed,225,C,Core_2,0,idle
-451596425,TASK_CalcEngineSpeed,225,STI,IR_SCHED_Tasks_C2,1453,trigger
-451596425,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-451806600,TASK_1MS,451,R,FUNC_EXECTIME_1,826,terminate
-451806600,Core_1,0,T,TASK_1MS,451,terminate
-451806600,TASK_1MS,451,SCHED,SCHED_Tasks_C1,-1,processterminate
-451806600,Core_1,0,C,Core_1,0,idle
-451806600,TASK_1MS,451,C,Core_1,0,idle
-451806700,TASK_1MS,451,STI,IR_SCHED_Tasks_C1,1524,trigger
-451806700,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-452000000,SIM,-1,STI,TIMER-B_2ms,226,trigger
-452000000,TIMER-B_2ms,226,T,TASK_WritingActuator,226,activate
-452000000,TASK_WritingActuator,226,SCHED,SCHED_Tasks_C2,-1,processactivate
-452000000,SIM,-1,STI,TIMER-50MS,9,trigger
-452000000,TIMER-50MS,9,T,TASK_50MS,9,activate
-452000000,TASK_50MS,9,SCHED,SCHED_Tasks_C2,-1,processactivate
-452000100,TASK_WritingActuator,226,STI,IR_SCHED_Tasks_C2,1454,trigger
-452000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-452000100,Core_2,0,T,TASK_WritingActuator,226,start
-452000100,TASK_WritingActuator,226,R,FUNC_SEMLOCK,452,start
-452000100,Core_2,0,C,Core_2,0,execute
-452000100,TASK_WritingActuator,226,C,Core_2,0,execute
-452100000,SIM,-1,STI,TIMER-5MS,226,trigger
-452100000,TIMER-5MS,226,T,TASK_5MS,226,activate
-452100000,TASK_5MS,226,SCHED,SCHED_Tasks_C2,-1,processactivate
-452100100,TASK_5MS,226,STI,IR_SCHED_Tasks_C2,1455,trigger
-452100100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-452125100,TASK_WritingActuator,226,SEM,SEM_DataElement1,0,requestsemaphore,0
-452125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-452125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-452125100,Core_2,0,C,Core_2,0,lock
-452125100,TASK_WritingActuator,226,SEM,SEM_DataElement1,0,assigned,1
-452125150,TASK_WritingActuator,226,R,FUNC_SEMLOCK,452,terminate
-452125150,Core_2,0,C,Core_2,0,unlock
-452125150,TASK_WritingActuator,226,R,FUNC_WriteData,226,start
-452150000,SIM,-1,STI,TIMER-A_2ms,226,trigger
-452150000,TIMER-A_2ms,226,T,TASK_InputProcessing,226,activate
-452150000,TASK_InputProcessing,226,SCHED,SCHED_Tasks_C1,-1,processactivate
-452150100,TASK_InputProcessing,226,STI,IR_SCHED_Tasks_C1,1525,trigger
-452150100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-452150100,Core_1,0,T,TASK_InputProcessing,226,start
-452150100,TASK_InputProcessing,226,R,FUNC_SEMLOCK,453,start
-452150100,Core_1,0,C,Core_1,0,execute
-452150100,TASK_InputProcessing,226,C,Core_1,0,execute
-452152575,TASK_WritingActuator,226,SIG,SIG_Mixture,0,write,0
-452152575,TASK_WritingActuator,226,R,FUNC_WriteData,226,terminate
-452152575,TASK_WritingActuator,226,R,FUNC_SEMUNLOCK,452,start
-452250000,SIM,-1,STI,TIMER-1MS,452,trigger
-452250000,TIMER-1MS,452,T,TASK_1MS,452,activate
-452250000,TASK_1MS,452,SCHED,SCHED_Tasks_C1,-1,processactivate
-452250100,TASK_1MS,452,STI,IR_SCHED_Tasks_C1,1526,trigger
-452250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-452250100,TASK_InputProcessing,226,R,FUNC_SEMLOCK,453,suspend
-452250100,Core_1,0,T,TASK_InputProcessing,226,preempt
-452250100,Core_1,0,C,Core_1,0,idle_execution
-452250100,TASK_InputProcessing,226,C,Core_1,0,idle_execution
-452250100,Core_1,0,T,TASK_1MS,452,start
-452250100,TASK_1MS,452,R,FUNC_EXECTIME_1,828,start
-452250100,Core_1,0,C,Core_1,0,execute
-452250100,TASK_1MS,452,C,Core_1,0,execute
-452352575,TASK_WritingActuator,226,SEM,SEM_DataElement1,0,released,1
-452352575,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-452352575,TASK_WritingActuator,226,SCHED,SCHED_Tasks_C2,-1,schedulepoint
-452352575,Core_2,0,C,Core_2,0,lock
-452352625,TASK_WritingActuator,226,R,FUNC_SEMUNLOCK,452,terminate
-452352625,Core_2,0,T,TASK_WritingActuator,226,terminate
-452352625,TASK_WritingActuator,226,SCHED,SCHED_Tasks_C2,-1,processterminate
-452352625,Core_2,0,C,Core_2,0,unlock
-452352625,Core_2,0,C,Core_2,0,idle
-452352625,TASK_WritingActuator,226,C,Core_2,0,idle
-452352675,TASK_WritingActuator,226,STI,IR_SCHED_Tasks_C2,1456,trigger
-452352675,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-452352675,Core_2,0,T,TASK_5MS,226,start
-452352675,TASK_5MS,226,R,FUNC_EXECTIME_1,827,start
-452352675,Core_2,0,C,Core_2,0,execute
-452352675,TASK_5MS,226,C,Core_2,0,execute
-452794875,TASK_5MS,226,R,FUNC_EXECTIME_1,827,terminate
-452794875,Core_2,0,T,TASK_5MS,226,terminate
-452794875,TASK_5MS,226,SCHED,SCHED_Tasks_C2,-1,processterminate
-452794875,Core_2,0,C,Core_2,0,idle
-452794875,TASK_5MS,226,C,Core_2,0,idle
-452794975,TASK_5MS,226,STI,IR_SCHED_Tasks_C2,1457,trigger
-452794975,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-452794975,Core_2,0,T,TASK_50MS,9,start
-452794975,TASK_50MS,9,R,FUNC_EXECTIME_2,9,start
-452794975,Core_2,0,C,Core_2,0,execute
-452794975,TASK_50MS,9,C,Core_2,0,execute
-452831150,TASK_1MS,452,R,FUNC_EXECTIME_1,828,terminate
-452831150,Core_1,0,T,TASK_1MS,452,terminate
-452831150,TASK_1MS,452,SCHED,SCHED_Tasks_C1,-1,processterminate
-452831150,Core_1,0,C,Core_1,0,idle
-452831150,TASK_1MS,452,C,Core_1,0,idle
-452831250,TASK_1MS,452,STI,IR_SCHED_Tasks_C1,1527,trigger
-452831250,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-452831250,Core_1,0,C,Core_1,0,execute_idle
-452831250,TASK_InputProcessing,226,C,Core_1,0,execute_idle
-452831250,Core_1,0,T,TASK_InputProcessing,226,resume
-452831250,TASK_InputProcessing,226,R,FUNC_SEMLOCK,453,resume
-452856250,TASK_InputProcessing,226,SEM,SEM_DataElement1,0,requestsemaphore,0
-452856250,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-452856250,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-452856250,Core_1,0,C,Core_1,0,lock
-452856250,TASK_InputProcessing,226,SEM,SEM_DataElement1,0,assigned,1
-452856300,TASK_InputProcessing,226,R,FUNC_SEMLOCK,453,terminate
-452856300,Core_1,0,C,Core_1,0,unlock
-452856300,TASK_InputProcessing,226,R,FUNC_ReadSensorData,226,start
-453015575,TASK_InputProcessing,226,SIG,SIG_RotationSpeed,0,read,0
-453015575,TASK_InputProcessing,226,SIG,SIG_Lambda,0,read,0
-453015575,TASK_InputProcessing,226,SIG,SIG_Temperature,0,read,0
-453015575,TASK_InputProcessing,226,R,FUNC_ReadSensorData,226,terminate
-453015575,TASK_InputProcessing,226,R,FUNC_SEMUNLOCK,453,start
-453215575,TASK_InputProcessing,226,SEM,SEM_DataElement1,0,released,1
-453215575,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-453215575,TASK_InputProcessing,226,SCHED,SCHED_Tasks_C1,-1,schedulepoint
-453215575,Core_1,0,C,Core_1,0,lock
-453215625,TASK_InputProcessing,226,R,FUNC_SEMUNLOCK,453,terminate
-453215625,Core_1,0,C,Core_1,0,unlock
-453215625,TASK_InputProcessing,226,STI,IPA_InputReady,226,trigger
-453215625,IPA_InputReady,226,T,TASK_CalcEngineSpeed,226,activate
-453215625,TASK_CalcEngineSpeed,226,SCHED,SCHED_Tasks_C2,-1,processactivate
-453215625,Core_1,0,T,TASK_InputProcessing,226,terminate
-453215625,TASK_InputProcessing,226,SCHED,SCHED_Tasks_C1,-1,processterminate
-453215625,Core_1,0,C,Core_1,0,idle
-453215625,TASK_InputProcessing,226,C,Core_1,0,idle
-453215675,TASK_InputProcessing,226,STI,IR_SCHED_Tasks_C1,1528,trigger
-453215675,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-453215725,TASK_CalcEngineSpeed,226,STI,IR_SCHED_Tasks_C2,1458,trigger
-453215725,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-453215725,TASK_50MS,9,R,FUNC_EXECTIME_2,9,suspend
-453215725,Core_2,0,T,TASK_50MS,9,preempt
-453215725,Core_2,0,C,Core_2,0,idle_execution
-453215725,TASK_50MS,9,C,Core_2,0,idle_execution
-453215725,Core_2,0,T,TASK_CalcEngineSpeed,226,start
-453215725,TASK_CalcEngineSpeed,226,R,FUNC_ENGINESPEED,226,start
-453215725,Core_2,0,C,Core_2,0,execute
-453215725,TASK_CalcEngineSpeed,226,C,Core_2,0,execute
-453250000,SIM,-1,STI,TIMER-1MS,453,trigger
-453250000,TIMER-1MS,453,T,TASK_1MS,453,activate
-453250000,TASK_1MS,453,SCHED,SCHED_Tasks_C1,-1,processactivate
-453250100,TASK_1MS,453,STI,IR_SCHED_Tasks_C1,1529,trigger
-453250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-453250100,Core_1,0,T,TASK_1MS,453,start
-453250100,TASK_1MS,453,R,FUNC_EXECTIME_1,829,start
-453250100,Core_1,0,C,Core_1,0,execute
-453250100,TASK_1MS,453,C,Core_1,0,execute
-453351300,TASK_CalcEngineSpeed,226,R,FUNC_ENGINESPEED,226,terminate
-453351300,Core_2,0,T,TASK_CalcEngineSpeed,226,terminate
-453351300,TASK_CalcEngineSpeed,226,SCHED,SCHED_Tasks_C2,-1,processterminate
-453351300,Core_2,0,C,Core_2,0,idle
-453351300,TASK_CalcEngineSpeed,226,C,Core_2,0,idle
-453351400,TASK_CalcEngineSpeed,226,STI,IR_SCHED_Tasks_C2,1459,trigger
-453351400,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-453351400,Core_2,0,C,Core_2,0,execute_idle
-453351400,TASK_50MS,9,C,Core_2,0,execute_idle
-453351400,Core_2,0,T,TASK_50MS,9,resume
-453351400,TASK_50MS,9,R,FUNC_EXECTIME_2,9,resume
-453466325,TASK_50MS,9,R,FUNC_EXECTIME_2,9,terminate
-453466325,Core_2,0,T,TASK_50MS,9,terminate
-453466325,TASK_50MS,9,SCHED,SCHED_Tasks_C2,-1,processterminate
-453466325,Core_2,0,C,Core_2,0,idle
-453466325,TASK_50MS,9,C,Core_2,0,idle
-453466425,TASK_50MS,9,STI,IR_SCHED_Tasks_C2,1460,trigger
-453466425,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-453739600,TASK_1MS,453,R,FUNC_EXECTIME_1,829,terminate
-453739600,Core_1,0,T,TASK_1MS,453,terminate
-453739600,TASK_1MS,453,SCHED,SCHED_Tasks_C1,-1,processterminate
-453739600,Core_1,0,C,Core_1,0,idle
-453739600,TASK_1MS,453,C,Core_1,0,idle
-453739700,TASK_1MS,453,STI,IR_SCHED_Tasks_C1,1530,trigger
-453739700,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-454000000,SIM,-1,STI,TIMER-B_2ms,227,trigger
-454000000,TIMER-B_2ms,227,T,TASK_WritingActuator,227,activate
-454000000,TASK_WritingActuator,227,SCHED,SCHED_Tasks_C2,-1,processactivate
-454000100,TASK_WritingActuator,227,STI,IR_SCHED_Tasks_C2,1461,trigger
-454000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-454000100,Core_2,0,T,TASK_WritingActuator,227,start
-454000100,TASK_WritingActuator,227,R,FUNC_SEMLOCK,454,start
-454000100,Core_2,0,C,Core_2,0,execute
-454000100,TASK_WritingActuator,227,C,Core_2,0,execute
-454100000,SIM,-1,STI,TIMER-5MS,227,trigger
-454100000,TIMER-5MS,227,T,TASK_5MS,227,activate
-454100000,TASK_5MS,227,SCHED,SCHED_Tasks_C2,-1,processactivate
-454100100,TASK_5MS,227,STI,IR_SCHED_Tasks_C2,1462,trigger
-454100100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-454125100,TASK_WritingActuator,227,SEM,SEM_DataElement1,0,requestsemaphore,0
-454125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-454125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-454125100,Core_2,0,C,Core_2,0,lock
-454125100,TASK_WritingActuator,227,SEM,SEM_DataElement1,0,assigned,1
-454125150,TASK_WritingActuator,227,R,FUNC_SEMLOCK,454,terminate
-454125150,Core_2,0,C,Core_2,0,unlock
-454125150,TASK_WritingActuator,227,R,FUNC_WriteData,227,start
-454150000,SIM,-1,STI,TIMER-A_2ms,227,trigger
-454150000,TIMER-A_2ms,227,T,TASK_InputProcessing,227,activate
-454150000,TASK_InputProcessing,227,SCHED,SCHED_Tasks_C1,-1,processactivate
-454150100,TASK_InputProcessing,227,STI,IR_SCHED_Tasks_C1,1531,trigger
-454150100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-454150100,Core_1,0,T,TASK_InputProcessing,227,start
-454150100,TASK_InputProcessing,227,R,FUNC_SEMLOCK,455,start
-454150100,Core_1,0,C,Core_1,0,execute
-454150100,TASK_InputProcessing,227,C,Core_1,0,execute
-454151650,TASK_WritingActuator,227,SIG,SIG_Mixture,0,write,0
-454151650,TASK_WritingActuator,227,R,FUNC_WriteData,227,terminate
-454151650,TASK_WritingActuator,227,R,FUNC_SEMUNLOCK,454,start
-454250000,SIM,-1,STI,TIMER-1MS,454,trigger
-454250000,TIMER-1MS,454,T,TASK_1MS,454,activate
-454250000,TASK_1MS,454,SCHED,SCHED_Tasks_C1,-1,processactivate
-454250100,TASK_1MS,454,STI,IR_SCHED_Tasks_C1,1532,trigger
-454250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-454250100,TASK_InputProcessing,227,R,FUNC_SEMLOCK,455,suspend
-454250100,Core_1,0,T,TASK_InputProcessing,227,preempt
-454250100,Core_1,0,C,Core_1,0,idle_execution
-454250100,TASK_InputProcessing,227,C,Core_1,0,idle_execution
-454250100,Core_1,0,T,TASK_1MS,454,start
-454250100,TASK_1MS,454,R,FUNC_EXECTIME_1,831,start
-454250100,Core_1,0,C,Core_1,0,execute
-454250100,TASK_1MS,454,C,Core_1,0,execute
-454351650,TASK_WritingActuator,227,SEM,SEM_DataElement1,0,released,1
-454351650,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-454351650,TASK_WritingActuator,227,SCHED,SCHED_Tasks_C2,-1,schedulepoint
-454351650,Core_2,0,C,Core_2,0,lock
-454351700,TASK_WritingActuator,227,R,FUNC_SEMUNLOCK,454,terminate
-454351700,Core_2,0,T,TASK_WritingActuator,227,terminate
-454351700,TASK_WritingActuator,227,SCHED,SCHED_Tasks_C2,-1,processterminate
-454351700,Core_2,0,C,Core_2,0,unlock
-454351700,Core_2,0,C,Core_2,0,idle
-454351700,TASK_WritingActuator,227,C,Core_2,0,idle
-454351750,TASK_WritingActuator,227,STI,IR_SCHED_Tasks_C2,1463,trigger
-454351750,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-454351750,Core_2,0,T,TASK_5MS,227,start
-454351750,TASK_5MS,227,R,FUNC_EXECTIME_1,830,start
-454351750,Core_2,0,C,Core_2,0,execute
-454351750,TASK_5MS,227,C,Core_2,0,execute
-454564450,TASK_1MS,454,R,FUNC_EXECTIME_1,831,terminate
-454564450,Core_1,0,T,TASK_1MS,454,terminate
-454564450,TASK_1MS,454,SCHED,SCHED_Tasks_C1,-1,processterminate
-454564450,Core_1,0,C,Core_1,0,idle
-454564450,TASK_1MS,454,C,Core_1,0,idle
-454564550,TASK_1MS,454,STI,IR_SCHED_Tasks_C1,1533,trigger
-454564550,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-454564550,Core_1,0,C,Core_1,0,execute_idle
-454564550,TASK_InputProcessing,227,C,Core_1,0,execute_idle
-454564550,Core_1,0,T,TASK_InputProcessing,227,resume
-454564550,TASK_InputProcessing,227,R,FUNC_SEMLOCK,455,resume
-454589550,TASK_InputProcessing,227,SEM,SEM_DataElement1,0,requestsemaphore,0
-454589550,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-454589550,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-454589550,Core_1,0,C,Core_1,0,lock
-454589550,TASK_InputProcessing,227,SEM,SEM_DataElement1,0,assigned,1
-454589600,TASK_InputProcessing,227,R,FUNC_SEMLOCK,455,terminate
-454589600,Core_1,0,C,Core_1,0,unlock
-454589600,TASK_InputProcessing,227,R,FUNC_ReadSensorData,227,start
-454750950,TASK_InputProcessing,227,SIG,SIG_RotationSpeed,0,read,0
-454750950,TASK_InputProcessing,227,SIG,SIG_Lambda,0,read,0
-454750950,TASK_InputProcessing,227,SIG,SIG_Temperature,0,read,0
-454750950,TASK_InputProcessing,227,R,FUNC_ReadSensorData,227,terminate
-454750950,TASK_InputProcessing,227,R,FUNC_SEMUNLOCK,455,start
-454752075,TASK_5MS,227,R,FUNC_EXECTIME_1,830,terminate
-454752075,Core_2,0,T,TASK_5MS,227,terminate
-454752075,TASK_5MS,227,SCHED,SCHED_Tasks_C2,-1,processterminate
-454752075,Core_2,0,C,Core_2,0,idle
-454752075,TASK_5MS,227,C,Core_2,0,idle
-454752175,TASK_5MS,227,STI,IR_SCHED_Tasks_C2,1464,trigger
-454752175,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-454950950,TASK_InputProcessing,227,SEM,SEM_DataElement1,0,released,1
-454950950,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-454950950,TASK_InputProcessing,227,SCHED,SCHED_Tasks_C1,-1,schedulepoint
-454950950,Core_1,0,C,Core_1,0,lock
-454951000,TASK_InputProcessing,227,R,FUNC_SEMUNLOCK,455,terminate
-454951000,Core_1,0,C,Core_1,0,unlock
-454951000,TASK_InputProcessing,227,STI,IPA_InputReady,227,trigger
-454951000,IPA_InputReady,227,T,TASK_CalcEngineSpeed,227,activate
-454951000,TASK_CalcEngineSpeed,227,SCHED,SCHED_Tasks_C2,-1,processactivate
-454951000,Core_1,0,T,TASK_InputProcessing,227,terminate
-454951000,TASK_InputProcessing,227,SCHED,SCHED_Tasks_C1,-1,processterminate
-454951000,Core_1,0,C,Core_1,0,idle
-454951000,TASK_InputProcessing,227,C,Core_1,0,idle
-454951050,TASK_InputProcessing,227,STI,IR_SCHED_Tasks_C1,1534,trigger
-454951050,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-454951100,TASK_CalcEngineSpeed,227,STI,IR_SCHED_Tasks_C2,1465,trigger
-454951100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-454951100,Core_2,0,T,TASK_CalcEngineSpeed,227,start
-454951100,TASK_CalcEngineSpeed,227,R,FUNC_ENGINESPEED,227,start
-454951100,Core_2,0,C,Core_2,0,execute
-454951100,TASK_CalcEngineSpeed,227,C,Core_2,0,execute
-455000000,SIM,-1,STI,TIMER-10MS,45,trigger
-455000000,TIMER-10MS,45,T,TASK_10MS,45,activate
-455000000,TASK_10MS,45,SCHED,SCHED_Tasks_C2,-1,processactivate
-455000100,TASK_10MS,45,STI,IR_SCHED_Tasks_C2,1466,trigger
-455000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-455088275,TASK_CalcEngineSpeed,227,R,FUNC_ENGINESPEED,227,terminate
-455088275,Core_2,0,T,TASK_CalcEngineSpeed,227,terminate
-455088275,TASK_CalcEngineSpeed,227,SCHED,SCHED_Tasks_C2,-1,processterminate
-455088275,Core_2,0,C,Core_2,0,idle
-455088275,TASK_CalcEngineSpeed,227,C,Core_2,0,idle
-455088375,TASK_CalcEngineSpeed,227,STI,IR_SCHED_Tasks_C2,1467,trigger
-455088375,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-455088375,Core_2,0,T,TASK_10MS,45,start
-455088375,TASK_10MS,45,R,FUNC_EXECTIME_1,832,start
-455088375,Core_2,0,C,Core_2,0,execute
-455088375,TASK_10MS,45,C,Core_2,0,execute
-455250000,SIM,-1,STI,TIMER-1MS,455,trigger
-455250000,TIMER-1MS,455,T,TASK_1MS,455,activate
-455250000,TASK_1MS,455,SCHED,SCHED_Tasks_C1,-1,processactivate
-455250100,TASK_1MS,455,STI,IR_SCHED_Tasks_C1,1535,trigger
-455250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-455250100,Core_1,0,T,TASK_1MS,455,start
-455250100,TASK_1MS,455,R,FUNC_EXECTIME_1,833,start
-455250100,Core_1,0,C,Core_1,0,execute
-455250100,TASK_1MS,455,C,Core_1,0,execute
-455669025,TASK_10MS,45,R,FUNC_EXECTIME_1,832,terminate
-455669025,Core_2,0,T,TASK_10MS,45,terminate
-455669025,TASK_10MS,45,SCHED,SCHED_Tasks_C2,-1,processterminate
-455669025,Core_2,0,C,Core_2,0,idle
-455669025,TASK_10MS,45,C,Core_2,0,idle
-455669125,TASK_10MS,45,STI,IR_SCHED_Tasks_C2,1468,trigger
-455669125,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-455910625,TASK_1MS,455,R,FUNC_EXECTIME_1,833,terminate
-455910625,Core_1,0,T,TASK_1MS,455,terminate
-455910625,TASK_1MS,455,SCHED,SCHED_Tasks_C1,-1,processterminate
-455910625,Core_1,0,C,Core_1,0,idle
-455910625,TASK_1MS,455,C,Core_1,0,idle
-455910725,TASK_1MS,455,STI,IR_SCHED_Tasks_C1,1536,trigger
-455910725,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-456000000,SIM,-1,STI,TIMER-B_2ms,228,trigger
-456000000,TIMER-B_2ms,228,T,TASK_WritingActuator,228,activate
-456000000,TASK_WritingActuator,228,SCHED,SCHED_Tasks_C2,-1,processactivate
-456000100,TASK_WritingActuator,228,STI,IR_SCHED_Tasks_C2,1469,trigger
-456000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-456000100,Core_2,0,T,TASK_WritingActuator,228,start
-456000100,TASK_WritingActuator,228,R,FUNC_SEMLOCK,456,start
-456000100,Core_2,0,C,Core_2,0,execute
-456000100,TASK_WritingActuator,228,C,Core_2,0,execute
-456100000,SIM,-1,STI,TIMER-5MS,228,trigger
-456100000,TIMER-5MS,228,T,TASK_5MS,228,activate
-456100000,TASK_5MS,228,SCHED,SCHED_Tasks_C2,-1,processactivate
-456100100,TASK_5MS,228,STI,IR_SCHED_Tasks_C2,1470,trigger
-456100100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-456125100,TASK_WritingActuator,228,SEM,SEM_DataElement1,0,requestsemaphore,0
-456125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-456125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-456125100,Core_2,0,C,Core_2,0,lock
-456125100,TASK_WritingActuator,228,SEM,SEM_DataElement1,0,assigned,1
-456125150,TASK_WritingActuator,228,R,FUNC_SEMLOCK,456,terminate
-456125150,Core_2,0,C,Core_2,0,unlock
-456125150,TASK_WritingActuator,228,R,FUNC_WriteData,228,start
-456150000,SIM,-1,STI,TIMER-A_2ms,228,trigger
-456150000,TIMER-A_2ms,228,T,TASK_InputProcessing,228,activate
-456150000,TASK_InputProcessing,228,SCHED,SCHED_Tasks_C1,-1,processactivate
-456150100,TASK_InputProcessing,228,STI,IR_SCHED_Tasks_C1,1537,trigger
-456150100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-456150100,Core_1,0,T,TASK_InputProcessing,228,start
-456150100,TASK_InputProcessing,228,R,FUNC_SEMLOCK,457,start
-456150100,Core_1,0,C,Core_1,0,execute
-456150100,TASK_InputProcessing,228,C,Core_1,0,execute
-456152450,TASK_WritingActuator,228,SIG,SIG_Mixture,0,write,0
-456152450,TASK_WritingActuator,228,R,FUNC_WriteData,228,terminate
-456152450,TASK_WritingActuator,228,R,FUNC_SEMUNLOCK,456,start
-456250000,SIM,-1,STI,TIMER-1MS,456,trigger
-456250000,TIMER-1MS,456,T,TASK_1MS,456,activate
-456250000,TASK_1MS,456,SCHED,SCHED_Tasks_C1,-1,processactivate
-456250100,TASK_1MS,456,STI,IR_SCHED_Tasks_C1,1538,trigger
-456250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-456250100,TASK_InputProcessing,228,R,FUNC_SEMLOCK,457,suspend
-456250100,Core_1,0,T,TASK_InputProcessing,228,preempt
-456250100,Core_1,0,C,Core_1,0,idle_execution
-456250100,TASK_InputProcessing,228,C,Core_1,0,idle_execution
-456250100,Core_1,0,T,TASK_1MS,456,start
-456250100,TASK_1MS,456,R,FUNC_EXECTIME_1,835,start
-456250100,Core_1,0,C,Core_1,0,execute
-456250100,TASK_1MS,456,C,Core_1,0,execute
-456352450,TASK_WritingActuator,228,SEM,SEM_DataElement1,0,released,1
-456352450,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-456352450,TASK_WritingActuator,228,SCHED,SCHED_Tasks_C2,-1,schedulepoint
-456352450,Core_2,0,C,Core_2,0,lock
-456352500,TASK_WritingActuator,228,R,FUNC_SEMUNLOCK,456,terminate
-456352500,Core_2,0,T,TASK_WritingActuator,228,terminate
-456352500,TASK_WritingActuator,228,SCHED,SCHED_Tasks_C2,-1,processterminate
-456352500,Core_2,0,C,Core_2,0,unlock
-456352500,Core_2,0,C,Core_2,0,idle
-456352500,TASK_WritingActuator,228,C,Core_2,0,idle
-456352550,TASK_WritingActuator,228,STI,IR_SCHED_Tasks_C2,1471,trigger
-456352550,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-456352550,Core_2,0,T,TASK_5MS,228,start
-456352550,TASK_5MS,228,R,FUNC_EXECTIME_1,834,start
-456352550,Core_2,0,C,Core_2,0,execute
-456352550,TASK_5MS,228,C,Core_2,0,execute
-456578125,TASK_1MS,456,R,FUNC_EXECTIME_1,835,terminate
-456578125,Core_1,0,T,TASK_1MS,456,terminate
-456578125,TASK_1MS,456,SCHED,SCHED_Tasks_C1,-1,processterminate
-456578125,Core_1,0,C,Core_1,0,idle
-456578125,TASK_1MS,456,C,Core_1,0,idle
-456578225,TASK_1MS,456,STI,IR_SCHED_Tasks_C1,1539,trigger
-456578225,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-456578225,Core_1,0,C,Core_1,0,execute_idle
-456578225,TASK_InputProcessing,228,C,Core_1,0,execute_idle
-456578225,Core_1,0,T,TASK_InputProcessing,228,resume
-456578225,TASK_InputProcessing,228,R,FUNC_SEMLOCK,457,resume
-456603225,TASK_InputProcessing,228,SEM,SEM_DataElement1,0,requestsemaphore,0
-456603225,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-456603225,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-456603225,Core_1,0,C,Core_1,0,lock
-456603225,TASK_InputProcessing,228,SEM,SEM_DataElement1,0,assigned,1
-456603275,TASK_InputProcessing,228,R,FUNC_SEMLOCK,457,terminate
-456603275,Core_1,0,C,Core_1,0,unlock
-456603275,TASK_InputProcessing,228,R,FUNC_ReadSensorData,228,start
-456765025,TASK_InputProcessing,228,SIG,SIG_RotationSpeed,0,read,0
-456765025,TASK_InputProcessing,228,SIG,SIG_Lambda,0,read,0
-456765025,TASK_InputProcessing,228,SIG,SIG_Temperature,0,read,0
-456765025,TASK_InputProcessing,228,R,FUNC_ReadSensorData,228,terminate
-456765025,TASK_InputProcessing,228,R,FUNC_SEMUNLOCK,457,start
-456880600,TASK_5MS,228,R,FUNC_EXECTIME_1,834,terminate
-456880600,Core_2,0,T,TASK_5MS,228,terminate
-456880600,TASK_5MS,228,SCHED,SCHED_Tasks_C2,-1,processterminate
-456880600,Core_2,0,C,Core_2,0,idle
-456880600,TASK_5MS,228,C,Core_2,0,idle
-456880700,TASK_5MS,228,STI,IR_SCHED_Tasks_C2,1472,trigger
-456880700,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-456965025,TASK_InputProcessing,228,SEM,SEM_DataElement1,0,released,1
-456965025,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-456965025,TASK_InputProcessing,228,SCHED,SCHED_Tasks_C1,-1,schedulepoint
-456965025,Core_1,0,C,Core_1,0,lock
-456965075,TASK_InputProcessing,228,R,FUNC_SEMUNLOCK,457,terminate
-456965075,Core_1,0,C,Core_1,0,unlock
-456965075,TASK_InputProcessing,228,STI,IPA_InputReady,228,trigger
-456965075,IPA_InputReady,228,T,TASK_CalcEngineSpeed,228,activate
-456965075,TASK_CalcEngineSpeed,228,SCHED,SCHED_Tasks_C2,-1,processactivate
-456965075,Core_1,0,T,TASK_InputProcessing,228,terminate
-456965075,TASK_InputProcessing,228,SCHED,SCHED_Tasks_C1,-1,processterminate
-456965075,Core_1,0,C,Core_1,0,idle
-456965075,TASK_InputProcessing,228,C,Core_1,0,idle
-456965125,TASK_InputProcessing,228,STI,IR_SCHED_Tasks_C1,1540,trigger
-456965125,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-456965175,TASK_CalcEngineSpeed,228,STI,IR_SCHED_Tasks_C2,1473,trigger
-456965175,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-456965175,Core_2,0,T,TASK_CalcEngineSpeed,228,start
-456965175,TASK_CalcEngineSpeed,228,R,FUNC_ENGINESPEED,228,start
-456965175,Core_2,0,C,Core_2,0,execute
-456965175,TASK_CalcEngineSpeed,228,C,Core_2,0,execute
-457160475,TASK_CalcEngineSpeed,228,R,FUNC_ENGINESPEED,228,terminate
-457160475,Core_2,0,T,TASK_CalcEngineSpeed,228,terminate
-457160475,TASK_CalcEngineSpeed,228,SCHED,SCHED_Tasks_C2,-1,processterminate
-457160475,Core_2,0,C,Core_2,0,idle
-457160475,TASK_CalcEngineSpeed,228,C,Core_2,0,idle
-457160575,TASK_CalcEngineSpeed,228,STI,IR_SCHED_Tasks_C2,1474,trigger
-457160575,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-457250000,SIM,-1,STI,TIMER-1MS,457,trigger
-457250000,TIMER-1MS,457,T,TASK_1MS,457,activate
-457250000,TASK_1MS,457,SCHED,SCHED_Tasks_C1,-1,processactivate
-457250100,TASK_1MS,457,STI,IR_SCHED_Tasks_C1,1541,trigger
-457250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-457250100,Core_1,0,T,TASK_1MS,457,start
-457250100,TASK_1MS,457,R,FUNC_EXECTIME_1,836,start
-457250100,Core_1,0,C,Core_1,0,execute
-457250100,TASK_1MS,457,C,Core_1,0,execute
-457850350,TASK_1MS,457,R,FUNC_EXECTIME_1,836,terminate
-457850350,Core_1,0,T,TASK_1MS,457,terminate
-457850350,TASK_1MS,457,SCHED,SCHED_Tasks_C1,-1,processterminate
-457850350,Core_1,0,C,Core_1,0,idle
-457850350,TASK_1MS,457,C,Core_1,0,idle
-457850450,TASK_1MS,457,STI,IR_SCHED_Tasks_C1,1542,trigger
-457850450,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-458000000,SIM,-1,STI,TIMER-B_2ms,229,trigger
-458000000,TIMER-B_2ms,229,T,TASK_WritingActuator,229,activate
-458000000,TASK_WritingActuator,229,SCHED,SCHED_Tasks_C2,-1,processactivate
-458000100,TASK_WritingActuator,229,STI,IR_SCHED_Tasks_C2,1475,trigger
-458000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-458000100,Core_2,0,T,TASK_WritingActuator,229,start
-458000100,TASK_WritingActuator,229,R,FUNC_SEMLOCK,458,start
-458000100,Core_2,0,C,Core_2,0,execute
-458000100,TASK_WritingActuator,229,C,Core_2,0,execute
-458100000,SIM,-1,STI,TIMER-5MS,229,trigger
-458100000,TIMER-5MS,229,T,TASK_5MS,229,activate
-458100000,TASK_5MS,229,SCHED,SCHED_Tasks_C2,-1,processactivate
-458100100,TASK_5MS,229,STI,IR_SCHED_Tasks_C2,1476,trigger
-458100100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-458125100,TASK_WritingActuator,229,SEM,SEM_DataElement1,0,requestsemaphore,0
-458125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-458125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-458125100,Core_2,0,C,Core_2,0,lock
-458125100,TASK_WritingActuator,229,SEM,SEM_DataElement1,0,assigned,1
-458125150,TASK_WritingActuator,229,R,FUNC_SEMLOCK,458,terminate
-458125150,Core_2,0,C,Core_2,0,unlock
-458125150,TASK_WritingActuator,229,R,FUNC_WriteData,229,start
-458150000,SIM,-1,STI,TIMER-A_2ms,229,trigger
-458150000,TIMER-A_2ms,229,T,TASK_InputProcessing,229,activate
-458150000,TASK_InputProcessing,229,SCHED,SCHED_Tasks_C1,-1,processactivate
-458150100,TASK_InputProcessing,229,STI,IR_SCHED_Tasks_C1,1543,trigger
-458150100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-458150100,Core_1,0,T,TASK_InputProcessing,229,start
-458150100,TASK_InputProcessing,229,R,FUNC_SEMLOCK,459,start
-458150100,Core_1,0,C,Core_1,0,execute
-458150100,TASK_InputProcessing,229,C,Core_1,0,execute
-458152500,TASK_WritingActuator,229,SIG,SIG_Mixture,0,write,0
-458152500,TASK_WritingActuator,229,R,FUNC_WriteData,229,terminate
-458152500,TASK_WritingActuator,229,R,FUNC_SEMUNLOCK,458,start
-458250000,SIM,-1,STI,TIMER-1MS,458,trigger
-458250000,TIMER-1MS,458,T,TASK_1MS,458,activate
-458250000,TASK_1MS,458,SCHED,SCHED_Tasks_C1,-1,processactivate
-458250100,TASK_1MS,458,STI,IR_SCHED_Tasks_C1,1544,trigger
-458250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-458250100,TASK_InputProcessing,229,R,FUNC_SEMLOCK,459,suspend
-458250100,Core_1,0,T,TASK_InputProcessing,229,preempt
-458250100,Core_1,0,C,Core_1,0,idle_execution
-458250100,TASK_InputProcessing,229,C,Core_1,0,idle_execution
-458250100,Core_1,0,T,TASK_1MS,458,start
-458250100,TASK_1MS,458,R,FUNC_EXECTIME_1,838,start
-458250100,Core_1,0,C,Core_1,0,execute
-458250100,TASK_1MS,458,C,Core_1,0,execute
-458352500,TASK_WritingActuator,229,SEM,SEM_DataElement1,0,released,1
-458352500,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-458352500,TASK_WritingActuator,229,SCHED,SCHED_Tasks_C2,-1,schedulepoint
-458352500,Core_2,0,C,Core_2,0,lock
-458352550,TASK_WritingActuator,229,R,FUNC_SEMUNLOCK,458,terminate
-458352550,Core_2,0,T,TASK_WritingActuator,229,terminate
-458352550,TASK_WritingActuator,229,SCHED,SCHED_Tasks_C2,-1,processterminate
-458352550,Core_2,0,C,Core_2,0,unlock
-458352550,Core_2,0,C,Core_2,0,idle
-458352550,TASK_WritingActuator,229,C,Core_2,0,idle
-458352600,TASK_WritingActuator,229,STI,IR_SCHED_Tasks_C2,1477,trigger
-458352600,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-458352600,Core_2,0,T,TASK_5MS,229,start
-458352600,TASK_5MS,229,R,FUNC_EXECTIME_1,837,start
-458352600,Core_2,0,C,Core_2,0,execute
-458352600,TASK_5MS,229,C,Core_2,0,execute
-458902325,TASK_1MS,458,R,FUNC_EXECTIME_1,838,terminate
-458902325,Core_1,0,T,TASK_1MS,458,terminate
-458902325,TASK_1MS,458,SCHED,SCHED_Tasks_C1,-1,processterminate
-458902325,Core_1,0,C,Core_1,0,idle
-458902325,TASK_1MS,458,C,Core_1,0,idle
-458902425,TASK_1MS,458,STI,IR_SCHED_Tasks_C1,1545,trigger
-458902425,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-458902425,Core_1,0,C,Core_1,0,execute_idle
-458902425,TASK_InputProcessing,229,C,Core_1,0,execute_idle
-458902425,Core_1,0,T,TASK_InputProcessing,229,resume
-458902425,TASK_InputProcessing,229,R,FUNC_SEMLOCK,459,resume
-458927425,TASK_InputProcessing,229,SEM,SEM_DataElement1,0,requestsemaphore,0
-458927425,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-458927425,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-458927425,Core_1,0,C,Core_1,0,lock
-458927425,TASK_InputProcessing,229,SEM,SEM_DataElement1,0,assigned,1
-458927475,TASK_InputProcessing,229,R,FUNC_SEMLOCK,459,terminate
-458927475,Core_1,0,C,Core_1,0,unlock
-458927475,TASK_InputProcessing,229,R,FUNC_ReadSensorData,229,start
-458952800,TASK_5MS,229,R,FUNC_EXECTIME_1,837,terminate
-458952800,Core_2,0,T,TASK_5MS,229,terminate
-458952800,TASK_5MS,229,SCHED,SCHED_Tasks_C2,-1,processterminate
-458952800,Core_2,0,C,Core_2,0,idle
-458952800,TASK_5MS,229,C,Core_2,0,idle
-458952900,TASK_5MS,229,STI,IR_SCHED_Tasks_C2,1478,trigger
-458952900,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-459089025,TASK_InputProcessing,229,SIG,SIG_RotationSpeed,0,read,0
-459089025,TASK_InputProcessing,229,SIG,SIG_Lambda,0,read,0
-459089025,TASK_InputProcessing,229,SIG,SIG_Temperature,0,read,0
-459089025,TASK_InputProcessing,229,R,FUNC_ReadSensorData,229,terminate
-459089025,TASK_InputProcessing,229,R,FUNC_SEMUNLOCK,459,start
-459250000,SIM,-1,STI,TIMER-1MS,459,trigger
-459250000,TIMER-1MS,459,T,TASK_1MS,459,activate
-459250000,TASK_1MS,459,SCHED,SCHED_Tasks_C1,-1,processactivate
-459250100,TASK_1MS,459,STI,IR_SCHED_Tasks_C1,1546,trigger
-459250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-459289025,TASK_InputProcessing,229,SEM,SEM_DataElement1,0,released,1
-459289025,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-459289025,TASK_InputProcessing,229,SCHED,SCHED_Tasks_C1,-1,schedulepoint
-459289025,Core_1,0,C,Core_1,0,lock
-459289075,TASK_InputProcessing,229,R,FUNC_SEMUNLOCK,459,terminate
-459289075,Core_1,0,C,Core_1,0,unlock
-459289075,TASK_InputProcessing,229,STI,IPA_InputReady,229,trigger
-459289075,IPA_InputReady,229,T,TASK_CalcEngineSpeed,229,activate
-459289075,TASK_CalcEngineSpeed,229,SCHED,SCHED_Tasks_C2,-1,processactivate
-459289075,Core_1,0,T,TASK_InputProcessing,229,terminate
-459289075,TASK_InputProcessing,229,SCHED,SCHED_Tasks_C1,-1,processterminate
-459289075,Core_1,0,C,Core_1,0,idle
-459289075,TASK_InputProcessing,229,C,Core_1,0,idle
-459289125,TASK_InputProcessing,229,STI,IR_SCHED_Tasks_C1,1547,trigger
-459289125,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-459289125,Core_1,0,T,TASK_1MS,459,start
-459289125,TASK_1MS,459,R,FUNC_EXECTIME_1,839,start
-459289125,Core_1,0,C,Core_1,0,execute
-459289125,TASK_1MS,459,C,Core_1,0,execute
-459289175,TASK_CalcEngineSpeed,229,STI,IR_SCHED_Tasks_C2,1479,trigger
-459289175,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-459289175,Core_2,0,T,TASK_CalcEngineSpeed,229,start
-459289175,TASK_CalcEngineSpeed,229,R,FUNC_ENGINESPEED,229,start
-459289175,Core_2,0,C,Core_2,0,execute
-459289175,TASK_CalcEngineSpeed,229,C,Core_2,0,execute
-459506175,TASK_CalcEngineSpeed,229,R,FUNC_ENGINESPEED,229,terminate
-459506175,Core_2,0,T,TASK_CalcEngineSpeed,229,terminate
-459506175,TASK_CalcEngineSpeed,229,SCHED,SCHED_Tasks_C2,-1,processterminate
-459506175,Core_2,0,C,Core_2,0,idle
-459506175,TASK_CalcEngineSpeed,229,C,Core_2,0,idle
-459506275,TASK_CalcEngineSpeed,229,STI,IR_SCHED_Tasks_C2,1480,trigger
-459506275,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-460000000,SIM,-1,STI,TIMER-B_2ms,230,trigger
-460000000,TIMER-B_2ms,230,T,TASK_WritingActuator,230,activate
-460000000,TASK_WritingActuator,230,SCHED,SCHED_Tasks_C2,-1,processactivate
-460000000,SIM,-1,STI,TIMER-10MS_2,46,trigger
-460000000,TIMER-10MS_2,46,T,TASK_10MS_DL2,46,activate
-460000000,TASK_10MS_DL2,46,SCHED,SCHED_Tasks_C1,-1,processactivate
-460000100,TASK_WritingActuator,230,STI,IR_SCHED_Tasks_C2,1481,trigger
-460000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-460000100,Core_2,0,T,TASK_WritingActuator,230,start
-460000100,TASK_WritingActuator,230,R,FUNC_SEMLOCK,460,start
-460000100,Core_2,0,C,Core_2,0,execute
-460000100,TASK_WritingActuator,230,C,Core_2,0,execute
-460000100,TASK_10MS_DL2,46,STI,IR_SCHED_Tasks_C1,1548,trigger
-460000100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-460005000,SIM,-1,STI,TIMER-20MS,23,trigger
-460005000,TIMER-20MS,23,T,TASK_20MS,23,activate
-460005000,TASK_20MS,23,SCHED,SCHED_Tasks_C1,-1,processactivate
-460005100,TASK_20MS,23,STI,IR_SCHED_Tasks_C1,1549,trigger
-460005100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-460100000,SIM,-1,STI,TIMER-5MS,230,trigger
-460100000,TIMER-5MS,230,T,TASK_5MS,230,activate
-460100000,TASK_5MS,230,SCHED,SCHED_Tasks_C2,-1,processactivate
-460100100,TASK_5MS,230,STI,IR_SCHED_Tasks_C2,1482,trigger
-460100100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-460125100,TASK_WritingActuator,230,SEM,SEM_DataElement1,0,requestsemaphore,0
-460125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-460125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-460125100,Core_2,0,C,Core_2,0,lock
-460125100,TASK_WritingActuator,230,SEM,SEM_DataElement1,0,assigned,1
-460125150,TASK_WritingActuator,230,R,FUNC_SEMLOCK,460,terminate
-460125150,Core_2,0,C,Core_2,0,unlock
-460125150,TASK_WritingActuator,230,R,FUNC_WriteData,230,start
-460150000,SIM,-1,STI,TIMER-A_2ms,230,trigger
-460150000,TIMER-A_2ms,230,T,TASK_InputProcessing,230,activate
-460150000,TASK_InputProcessing,230,SCHED,SCHED_Tasks_C1,-1,processactivate
-460150100,TASK_InputProcessing,230,STI,IR_SCHED_Tasks_C1,1550,trigger
-460150100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-460152325,TASK_WritingActuator,230,SIG,SIG_Mixture,0,write,0
-460152325,TASK_WritingActuator,230,R,FUNC_WriteData,230,terminate
-460152325,TASK_WritingActuator,230,R,FUNC_SEMUNLOCK,460,start
-460234175,TASK_1MS,459,R,FUNC_EXECTIME_1,839,terminate
-460234175,Core_1,0,T,TASK_1MS,459,terminate
-460234175,TASK_1MS,459,SCHED,SCHED_Tasks_C1,-1,processterminate
-460234175,Core_1,0,C,Core_1,0,idle
-460234175,TASK_1MS,459,C,Core_1,0,idle
-460234275,TASK_1MS,459,STI,IR_SCHED_Tasks_C1,1551,trigger
-460234275,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-460234275,Core_1,0,T,TASK_10MS_DL2,46,start
-460234275,TASK_10MS_DL2,46,R,FUNC_EXECTIME_1,840,start
-460234275,Core_1,0,C,Core_1,0,execute
-460234275,TASK_10MS_DL2,46,C,Core_1,0,execute
-460250000,SIM,-1,STI,TIMER-1MS,460,trigger
-460250000,TIMER-1MS,460,T,TASK_1MS,460,activate
-460250000,TASK_1MS,460,SCHED,SCHED_Tasks_C1,-1,processactivate
-460250100,TASK_1MS,460,STI,IR_SCHED_Tasks_C1,1552,trigger
-460250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-460250100,TASK_10MS_DL2,46,R,FUNC_EXECTIME_1,840,suspend
-460250100,Core_1,0,T,TASK_10MS_DL2,46,preempt
-460250100,Core_1,0,C,Core_1,0,idle_execution
-460250100,TASK_10MS_DL2,46,C,Core_1,0,idle_execution
-460250100,Core_1,0,T,TASK_1MS,460,start
-460250100,TASK_1MS,460,R,FUNC_EXECTIME_1,843,start
-460250100,Core_1,0,C,Core_1,0,execute
-460250100,TASK_1MS,460,C,Core_1,0,execute
-460352325,TASK_WritingActuator,230,SEM,SEM_DataElement1,0,released,1
-460352325,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-460352325,TASK_WritingActuator,230,SCHED,SCHED_Tasks_C2,-1,schedulepoint
-460352325,Core_2,0,C,Core_2,0,lock
-460352375,TASK_WritingActuator,230,R,FUNC_SEMUNLOCK,460,terminate
-460352375,Core_2,0,T,TASK_WritingActuator,230,terminate
-460352375,TASK_WritingActuator,230,SCHED,SCHED_Tasks_C2,-1,processterminate
-460352375,Core_2,0,C,Core_2,0,unlock
-460352375,Core_2,0,C,Core_2,0,idle
-460352375,TASK_WritingActuator,230,C,Core_2,0,idle
-460352425,TASK_WritingActuator,230,STI,IR_SCHED_Tasks_C2,1483,trigger
-460352425,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-460352425,Core_2,0,T,TASK_5MS,230,start
-460352425,TASK_5MS,230,R,FUNC_EXECTIME_1,842,start
-460352425,Core_2,0,C,Core_2,0,execute
-460352425,TASK_5MS,230,C,Core_2,0,execute
-460588125,TASK_1MS,460,R,FUNC_EXECTIME_1,843,terminate
-460588125,Core_1,0,T,TASK_1MS,460,terminate
-460588125,TASK_1MS,460,SCHED,SCHED_Tasks_C1,-1,processterminate
-460588125,Core_1,0,C,Core_1,0,idle
-460588125,TASK_1MS,460,C,Core_1,0,idle
-460588225,TASK_1MS,460,STI,IR_SCHED_Tasks_C1,1553,trigger
-460588225,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-460588225,Core_1,0,C,Core_1,0,execute_idle
-460588225,TASK_10MS_DL2,46,C,Core_1,0,execute_idle
-460588225,Core_1,0,T,TASK_10MS_DL2,46,resume
-460588225,TASK_10MS_DL2,46,R,FUNC_EXECTIME_1,840,resume
-461059875,TASK_5MS,230,R,FUNC_EXECTIME_1,842,terminate
-461059875,Core_2,0,T,TASK_5MS,230,terminate
-461059875,TASK_5MS,230,SCHED,SCHED_Tasks_C2,-1,processterminate
-461059875,Core_2,0,C,Core_2,0,idle
-461059875,TASK_5MS,230,C,Core_2,0,idle
-461059975,TASK_5MS,230,STI,IR_SCHED_Tasks_C2,1484,trigger
-461059975,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-461250000,SIM,-1,STI,TIMER-1MS,461,trigger
-461250000,TIMER-1MS,461,T,TASK_1MS,461,activate
-461250000,TASK_1MS,461,SCHED,SCHED_Tasks_C1,-1,processactivate
-461250100,TASK_1MS,461,STI,IR_SCHED_Tasks_C1,1554,trigger
-461250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-461250100,TASK_10MS_DL2,46,R,FUNC_EXECTIME_1,840,suspend
-461250100,Core_1,0,T,TASK_10MS_DL2,46,preempt
-461250100,Core_1,0,C,Core_1,0,idle_execution
-461250100,TASK_10MS_DL2,46,C,Core_1,0,idle_execution
-461250100,Core_1,0,T,TASK_1MS,461,start
-461250100,TASK_1MS,461,R,FUNC_EXECTIME_1,844,start
-461250100,Core_1,0,C,Core_1,0,execute
-461250100,TASK_1MS,461,C,Core_1,0,execute
-461639800,TASK_1MS,461,R,FUNC_EXECTIME_1,844,terminate
-461639800,Core_1,0,T,TASK_1MS,461,terminate
-461639800,TASK_1MS,461,SCHED,SCHED_Tasks_C1,-1,processterminate
-461639800,Core_1,0,C,Core_1,0,idle
-461639800,TASK_1MS,461,C,Core_1,0,idle
-461639900,TASK_1MS,461,STI,IR_SCHED_Tasks_C1,1555,trigger
-461639900,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-461639900,Core_1,0,C,Core_1,0,execute_idle
-461639900,TASK_10MS_DL2,46,C,Core_1,0,execute_idle
-461639900,Core_1,0,T,TASK_10MS_DL2,46,resume
-461639900,TASK_10MS_DL2,46,R,FUNC_EXECTIME_1,840,resume
-461657500,TASK_10MS_DL2,46,R,FUNC_EXECTIME_1,840,terminate
-461657500,Core_1,0,T,TASK_10MS_DL2,46,terminate
-461657500,TASK_10MS_DL2,46,SCHED,SCHED_Tasks_C1,-1,processterminate
-461657500,Core_1,0,C,Core_1,0,idle
-461657500,TASK_10MS_DL2,46,C,Core_1,0,idle
-461657600,TASK_10MS_DL2,46,STI,IR_SCHED_Tasks_C1,1556,trigger
-461657600,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-461657600,Core_1,0,T,TASK_InputProcessing,230,start
-461657600,TASK_InputProcessing,230,R,FUNC_SEMLOCK,461,start
-461657600,Core_1,0,C,Core_1,0,execute
-461657600,TASK_InputProcessing,230,C,Core_1,0,execute
-461782600,TASK_InputProcessing,230,SEM,SEM_DataElement1,0,requestsemaphore,0
-461782600,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-461782600,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-461782600,Core_1,0,C,Core_1,0,lock
-461782600,TASK_InputProcessing,230,SEM,SEM_DataElement1,0,assigned,1
-461782650,TASK_InputProcessing,230,R,FUNC_SEMLOCK,461,terminate
-461782650,Core_1,0,C,Core_1,0,unlock
-461782650,TASK_InputProcessing,230,R,FUNC_ReadSensorData,230,start
-461945725,TASK_InputProcessing,230,SIG,SIG_RotationSpeed,0,read,0
-461945725,TASK_InputProcessing,230,SIG,SIG_Lambda,0,read,0
-461945725,TASK_InputProcessing,230,SIG,SIG_Temperature,0,read,0
-461945725,TASK_InputProcessing,230,R,FUNC_ReadSensorData,230,terminate
-461945725,TASK_InputProcessing,230,R,FUNC_SEMUNLOCK,461,start
-462000000,SIM,-1,STI,TIMER-B_2ms,231,trigger
-462000000,TIMER-B_2ms,231,T,TASK_WritingActuator,231,activate
-462000000,TASK_WritingActuator,231,SCHED,SCHED_Tasks_C2,-1,processactivate
-462000100,TASK_WritingActuator,231,STI,IR_SCHED_Tasks_C2,1485,trigger
-462000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-462000100,Core_2,0,T,TASK_WritingActuator,231,start
-462000100,TASK_WritingActuator,231,R,FUNC_SEMLOCK,462,start
-462000100,Core_2,0,C,Core_2,0,execute
-462000100,TASK_WritingActuator,231,C,Core_2,0,execute
-462100000,SIM,-1,STI,TIMER-5MS,231,trigger
-462100000,TIMER-5MS,231,T,TASK_5MS,231,activate
-462100000,TASK_5MS,231,SCHED,SCHED_Tasks_C2,-1,processactivate
-462100100,TASK_5MS,231,STI,IR_SCHED_Tasks_C2,1486,trigger
-462100100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-462125100,TASK_WritingActuator,231,SEM,SEM_DataElement1,0,requestsemaphore,1
-462125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,1
-462125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,overfull,2
-462125100,Core_2,0,C,Core_2,0,lock
-462125100,TASK_WritingActuator,231,SEM,SEM_DataElement1,0,waiting,2
-462125150,Core_2,0,T,TASK_WritingActuator,231,poll
-462125150,TASK_WritingActuator,231,SCHED,SCHED_Tasks_C2,-1,processpolling
-462125150,Core_2,0,C,Core_2,0,wait_postexecution
-462125150,TASK_WritingActuator,231,C,Core_2,0,wait_postexecution
-462125150,Core_2,0,C,Core_2,0,unlock
-462145725,TASK_InputProcessing,230,SEM,SEM_DataElement1,0,released,2
-462145725,TASK_WritingActuator,231,SEM,SEM_DataElement1,0,assigned,1
-462145725,Core_2,0,T,TASK_WritingActuator,231,run
-462145725,TASK_WritingActuator,231,R,FUNC_SEMLOCK,462,terminate
-462145725,TASK_WritingActuator,231,R,FUNC_WriteData,231,start
-462145725,Core_2,0,C,Core_2,0,execute_waiting
-462145725,TASK_WritingActuator,231,C,Core_2,0,execute_waiting
-462145725,SEM_DataElement1,0,SEM,SEM_DataElement1,0,full,1
-462145725,TASK_InputProcessing,230,SCHED,SCHED_Tasks_C1,-1,schedulepoint
-462145725,Core_1,0,C,Core_1,0,lock
-462145775,TASK_InputProcessing,230,R,FUNC_SEMUNLOCK,461,terminate
-462145775,Core_1,0,C,Core_1,0,unlock
-462145775,TASK_InputProcessing,230,STI,IPA_InputReady,230,trigger
-462145775,IPA_InputReady,230,T,TASK_CalcEngineSpeed,230,activate
-462145775,TASK_CalcEngineSpeed,230,SCHED,SCHED_Tasks_C2,-1,processactivate
-462145775,Core_1,0,T,TASK_InputProcessing,230,terminate
-462145775,TASK_InputProcessing,230,SCHED,SCHED_Tasks_C1,-1,processterminate
-462145775,Core_1,0,C,Core_1,0,idle
-462145775,TASK_InputProcessing,230,C,Core_1,0,idle
-462145825,TASK_InputProcessing,230,STI,IR_SCHED_Tasks_C1,1557,trigger
-462145825,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-462145825,Core_1,0,T,TASK_20MS,23,start
-462145825,TASK_20MS,23,R,FUNC_EXECTIME_1,841,start
-462145825,Core_1,0,C,Core_1,0,execute
-462145825,TASK_20MS,23,C,Core_1,0,execute
-462145875,TASK_CalcEngineSpeed,230,STI,IR_SCHED_Tasks_C2,1487,trigger
-462145875,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-462150000,SIM,-1,STI,TIMER-A_2ms,231,trigger
-462150000,TIMER-A_2ms,231,T,TASK_InputProcessing,231,activate
-462150000,TASK_InputProcessing,231,SCHED,SCHED_Tasks_C1,-1,processactivate
-462150100,TASK_InputProcessing,231,STI,IR_SCHED_Tasks_C1,1558,trigger
-462150100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-462150100,TASK_20MS,23,R,FUNC_EXECTIME_1,841,suspend
-462150100,Core_1,0,T,TASK_20MS,23,preempt
-462150100,Core_1,0,C,Core_1,0,idle_execution
-462150100,TASK_20MS,23,C,Core_1,0,idle_execution
-462150100,Core_1,0,T,TASK_InputProcessing,231,start
-462150100,TASK_InputProcessing,231,R,FUNC_SEMLOCK,463,start
-462150100,Core_1,0,C,Core_1,0,execute
-462150100,TASK_InputProcessing,231,C,Core_1,0,execute
-462173050,TASK_WritingActuator,231,SIG,SIG_Mixture,0,write,0
-462173050,TASK_WritingActuator,231,R,FUNC_WriteData,231,terminate
-462173050,TASK_WritingActuator,231,R,FUNC_SEMUNLOCK,462,start
-462250000,SIM,-1,STI,TIMER-1MS,462,trigger
-462250000,TIMER-1MS,462,T,TASK_1MS,462,activate
-462250000,TASK_1MS,462,SCHED,SCHED_Tasks_C1,-1,processactivate
-462250100,TASK_1MS,462,STI,IR_SCHED_Tasks_C1,1559,trigger
-462250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-462250100,TASK_InputProcessing,231,R,FUNC_SEMLOCK,463,suspend
-462250100,Core_1,0,T,TASK_InputProcessing,231,preempt
-462250100,Core_1,0,C,Core_1,0,idle_execution
-462250100,TASK_InputProcessing,231,C,Core_1,0,idle_execution
-462250100,Core_1,0,T,TASK_1MS,462,start
-462250100,TASK_1MS,462,R,FUNC_EXECTIME_1,846,start
-462250100,Core_1,0,C,Core_1,0,execute
-462250100,TASK_1MS,462,C,Core_1,0,execute
-462373050,TASK_WritingActuator,231,SEM,SEM_DataElement1,0,released,1
-462373050,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-462373050,TASK_WritingActuator,231,SCHED,SCHED_Tasks_C2,-1,schedulepoint
-462373050,Core_2,0,C,Core_2,0,lock
-462373100,TASK_WritingActuator,231,R,FUNC_SEMUNLOCK,462,terminate
-462373100,Core_2,0,T,TASK_WritingActuator,231,terminate
-462373100,TASK_WritingActuator,231,SCHED,SCHED_Tasks_C2,-1,processterminate
-462373100,Core_2,0,C,Core_2,0,unlock
-462373100,Core_2,0,C,Core_2,0,idle
-462373100,TASK_WritingActuator,231,C,Core_2,0,idle
-462373150,TASK_WritingActuator,231,STI,IR_SCHED_Tasks_C2,1488,trigger
-462373150,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-462373150,Core_2,0,T,TASK_CalcEngineSpeed,230,start
-462373150,TASK_CalcEngineSpeed,230,R,FUNC_ENGINESPEED,230,start
-462373150,Core_2,0,C,Core_2,0,execute
-462373150,TASK_CalcEngineSpeed,230,C,Core_2,0,execute
-462611650,TASK_CalcEngineSpeed,230,R,FUNC_ENGINESPEED,230,terminate
-462611650,Core_2,0,T,TASK_CalcEngineSpeed,230,terminate
-462611650,TASK_CalcEngineSpeed,230,SCHED,SCHED_Tasks_C2,-1,processterminate
-462611650,Core_2,0,C,Core_2,0,idle
-462611650,TASK_CalcEngineSpeed,230,C,Core_2,0,idle
-462611750,TASK_CalcEngineSpeed,230,STI,IR_SCHED_Tasks_C2,1489,trigger
-462611750,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-462611750,Core_2,0,T,TASK_5MS,231,start
-462611750,TASK_5MS,231,R,FUNC_EXECTIME_1,845,start
-462611750,Core_2,0,C,Core_2,0,execute
-462611750,TASK_5MS,231,C,Core_2,0,execute
-463045125,TASK_1MS,462,R,FUNC_EXECTIME_1,846,terminate
-463045125,Core_1,0,T,TASK_1MS,462,terminate
-463045125,TASK_1MS,462,SCHED,SCHED_Tasks_C1,-1,processterminate
-463045125,Core_1,0,C,Core_1,0,idle
-463045125,TASK_1MS,462,C,Core_1,0,idle
-463045225,TASK_1MS,462,STI,IR_SCHED_Tasks_C1,1560,trigger
-463045225,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-463045225,Core_1,0,C,Core_1,0,execute_idle
-463045225,TASK_InputProcessing,231,C,Core_1,0,execute_idle
-463045225,Core_1,0,T,TASK_InputProcessing,231,resume
-463045225,TASK_InputProcessing,231,R,FUNC_SEMLOCK,463,resume
-463070225,TASK_InputProcessing,231,SEM,SEM_DataElement1,0,requestsemaphore,0
-463070225,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-463070225,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-463070225,Core_1,0,C,Core_1,0,lock
-463070225,TASK_InputProcessing,231,SEM,SEM_DataElement1,0,assigned,1
-463070275,TASK_InputProcessing,231,R,FUNC_SEMLOCK,463,terminate
-463070275,Core_1,0,C,Core_1,0,unlock
-463070275,TASK_InputProcessing,231,R,FUNC_ReadSensorData,231,start
-463230225,TASK_InputProcessing,231,SIG,SIG_RotationSpeed,0,read,0
-463230225,TASK_InputProcessing,231,SIG,SIG_Lambda,0,read,0
-463230225,TASK_InputProcessing,231,SIG,SIG_Temperature,0,read,0
-463230225,TASK_InputProcessing,231,R,FUNC_ReadSensorData,231,terminate
-463230225,TASK_InputProcessing,231,R,FUNC_SEMUNLOCK,463,start
-463250000,SIM,-1,STI,TIMER-1MS,463,trigger
-463250000,TIMER-1MS,463,T,TASK_1MS,463,activate
-463250000,TASK_1MS,463,SCHED,SCHED_Tasks_C1,-1,processactivate
-463250100,TASK_1MS,463,STI,IR_SCHED_Tasks_C1,1561,trigger
-463250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-463394500,TASK_5MS,231,R,FUNC_EXECTIME_1,845,terminate
-463394500,Core_2,0,T,TASK_5MS,231,terminate
-463394500,TASK_5MS,231,SCHED,SCHED_Tasks_C2,-1,processterminate
-463394500,Core_2,0,C,Core_2,0,idle
-463394500,TASK_5MS,231,C,Core_2,0,idle
-463394600,TASK_5MS,231,STI,IR_SCHED_Tasks_C2,1490,trigger
-463394600,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-463430225,TASK_InputProcessing,231,SEM,SEM_DataElement1,0,released,1
-463430225,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-463430225,TASK_InputProcessing,231,SCHED,SCHED_Tasks_C1,-1,schedulepoint
-463430225,Core_1,0,C,Core_1,0,lock
-463430275,TASK_InputProcessing,231,R,FUNC_SEMUNLOCK,463,terminate
-463430275,Core_1,0,C,Core_1,0,unlock
-463430275,TASK_InputProcessing,231,STI,IPA_InputReady,231,trigger
-463430275,IPA_InputReady,231,T,TASK_CalcEngineSpeed,231,activate
-463430275,TASK_CalcEngineSpeed,231,SCHED,SCHED_Tasks_C2,-1,processactivate
-463430275,Core_1,0,T,TASK_InputProcessing,231,terminate
-463430275,TASK_InputProcessing,231,SCHED,SCHED_Tasks_C1,-1,processterminate
-463430275,Core_1,0,C,Core_1,0,idle
-463430275,TASK_InputProcessing,231,C,Core_1,0,idle
-463430325,TASK_InputProcessing,231,STI,IR_SCHED_Tasks_C1,1562,trigger
-463430325,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-463430325,Core_1,0,T,TASK_1MS,463,start
-463430325,TASK_1MS,463,R,FUNC_EXECTIME_1,847,start
-463430325,Core_1,0,C,Core_1,0,execute
-463430325,TASK_1MS,463,C,Core_1,0,execute
-463430375,TASK_CalcEngineSpeed,231,STI,IR_SCHED_Tasks_C2,1491,trigger
-463430375,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-463430375,Core_2,0,T,TASK_CalcEngineSpeed,231,start
-463430375,TASK_CalcEngineSpeed,231,R,FUNC_ENGINESPEED,231,start
-463430375,Core_2,0,C,Core_2,0,execute
-463430375,TASK_CalcEngineSpeed,231,C,Core_2,0,execute
-463619475,TASK_CalcEngineSpeed,231,R,FUNC_ENGINESPEED,231,terminate
-463619475,Core_2,0,T,TASK_CalcEngineSpeed,231,terminate
-463619475,TASK_CalcEngineSpeed,231,SCHED,SCHED_Tasks_C2,-1,processterminate
-463619475,Core_2,0,C,Core_2,0,idle
-463619475,TASK_CalcEngineSpeed,231,C,Core_2,0,idle
-463619575,TASK_CalcEngineSpeed,231,STI,IR_SCHED_Tasks_C2,1492,trigger
-463619575,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-463857400,TASK_1MS,463,R,FUNC_EXECTIME_1,847,terminate
-463857400,Core_1,0,T,TASK_1MS,463,terminate
-463857400,TASK_1MS,463,SCHED,SCHED_Tasks_C1,-1,processterminate
-463857400,Core_1,0,C,Core_1,0,idle
-463857400,TASK_1MS,463,C,Core_1,0,idle
-463857500,TASK_1MS,463,STI,IR_SCHED_Tasks_C1,1563,trigger
-463857500,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-463857500,Core_1,0,C,Core_1,0,execute_idle
-463857500,TASK_20MS,23,C,Core_1,0,execute_idle
-463857500,Core_1,0,T,TASK_20MS,23,resume
-463857500,TASK_20MS,23,R,FUNC_EXECTIME_1,841,resume
-464000000,SIM,-1,STI,TIMER-B_2ms,232,trigger
-464000000,TIMER-B_2ms,232,T,TASK_WritingActuator,232,activate
-464000000,TASK_WritingActuator,232,SCHED,SCHED_Tasks_C2,-1,processactivate
-464000100,TASK_WritingActuator,232,STI,IR_SCHED_Tasks_C2,1493,trigger
-464000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-464000100,Core_2,0,T,TASK_WritingActuator,232,start
-464000100,TASK_WritingActuator,232,R,FUNC_SEMLOCK,464,start
-464000100,Core_2,0,C,Core_2,0,execute
-464000100,TASK_WritingActuator,232,C,Core_2,0,execute
-464100000,SIM,-1,STI,TIMER-5MS,232,trigger
-464100000,TIMER-5MS,232,T,TASK_5MS,232,activate
-464100000,TASK_5MS,232,SCHED,SCHED_Tasks_C2,-1,processactivate
-464100100,TASK_5MS,232,STI,IR_SCHED_Tasks_C2,1494,trigger
-464100100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-464125100,TASK_WritingActuator,232,SEM,SEM_DataElement1,0,requestsemaphore,0
-464125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-464125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-464125100,Core_2,0,C,Core_2,0,lock
-464125100,TASK_WritingActuator,232,SEM,SEM_DataElement1,0,assigned,1
-464125150,TASK_WritingActuator,232,R,FUNC_SEMLOCK,464,terminate
-464125150,Core_2,0,C,Core_2,0,unlock
-464125150,TASK_WritingActuator,232,R,FUNC_WriteData,232,start
-464150000,SIM,-1,STI,TIMER-A_2ms,232,trigger
-464150000,TIMER-A_2ms,232,T,TASK_InputProcessing,232,activate
-464150000,TASK_InputProcessing,232,SCHED,SCHED_Tasks_C1,-1,processactivate
-464150100,TASK_InputProcessing,232,STI,IR_SCHED_Tasks_C1,1564,trigger
-464150100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-464150100,TASK_20MS,23,R,FUNC_EXECTIME_1,841,suspend
-464150100,Core_1,0,T,TASK_20MS,23,preempt
-464150100,Core_1,0,C,Core_1,0,idle_execution
-464150100,TASK_20MS,23,C,Core_1,0,idle_execution
-464150100,Core_1,0,T,TASK_InputProcessing,232,start
-464150100,TASK_InputProcessing,232,R,FUNC_SEMLOCK,465,start
-464150100,Core_1,0,C,Core_1,0,execute
-464150100,TASK_InputProcessing,232,C,Core_1,0,execute
-464151850,TASK_WritingActuator,232,SIG,SIG_Mixture,0,write,0
-464151850,TASK_WritingActuator,232,R,FUNC_WriteData,232,terminate
-464151850,TASK_WritingActuator,232,R,FUNC_SEMUNLOCK,464,start
-464250000,SIM,-1,STI,TIMER-1MS,464,trigger
-464250000,TIMER-1MS,464,T,TASK_1MS,464,activate
-464250000,TASK_1MS,464,SCHED,SCHED_Tasks_C1,-1,processactivate
-464250100,TASK_1MS,464,STI,IR_SCHED_Tasks_C1,1565,trigger
-464250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-464250100,TASK_InputProcessing,232,R,FUNC_SEMLOCK,465,suspend
-464250100,Core_1,0,T,TASK_InputProcessing,232,preempt
-464250100,Core_1,0,C,Core_1,0,idle_execution
-464250100,TASK_InputProcessing,232,C,Core_1,0,idle_execution
-464250100,Core_1,0,T,TASK_1MS,464,start
-464250100,TASK_1MS,464,R,FUNC_EXECTIME_1,849,start
-464250100,Core_1,0,C,Core_1,0,execute
-464250100,TASK_1MS,464,C,Core_1,0,execute
-464351850,TASK_WritingActuator,232,SEM,SEM_DataElement1,0,released,1
-464351850,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-464351850,TASK_WritingActuator,232,SCHED,SCHED_Tasks_C2,-1,schedulepoint
-464351850,Core_2,0,C,Core_2,0,lock
-464351900,TASK_WritingActuator,232,R,FUNC_SEMUNLOCK,464,terminate
-464351900,Core_2,0,T,TASK_WritingActuator,232,terminate
-464351900,TASK_WritingActuator,232,SCHED,SCHED_Tasks_C2,-1,processterminate
-464351900,Core_2,0,C,Core_2,0,unlock
-464351900,Core_2,0,C,Core_2,0,idle
-464351900,TASK_WritingActuator,232,C,Core_2,0,idle
-464351950,TASK_WritingActuator,232,STI,IR_SCHED_Tasks_C2,1495,trigger
-464351950,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-464351950,Core_2,0,T,TASK_5MS,232,start
-464351950,TASK_5MS,232,R,FUNC_EXECTIME_1,848,start
-464351950,Core_2,0,C,Core_2,0,execute
-464351950,TASK_5MS,232,C,Core_2,0,execute
-464516800,TASK_1MS,464,R,FUNC_EXECTIME_1,849,terminate
-464516800,Core_1,0,T,TASK_1MS,464,terminate
-464516800,TASK_1MS,464,SCHED,SCHED_Tasks_C1,-1,processterminate
-464516800,Core_1,0,C,Core_1,0,idle
-464516800,TASK_1MS,464,C,Core_1,0,idle
-464516900,TASK_1MS,464,STI,IR_SCHED_Tasks_C1,1566,trigger
-464516900,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-464516900,Core_1,0,C,Core_1,0,execute_idle
-464516900,TASK_InputProcessing,232,C,Core_1,0,execute_idle
-464516900,Core_1,0,T,TASK_InputProcessing,232,resume
-464516900,TASK_InputProcessing,232,R,FUNC_SEMLOCK,465,resume
-464541900,TASK_InputProcessing,232,SEM,SEM_DataElement1,0,requestsemaphore,0
-464541900,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-464541900,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-464541900,Core_1,0,C,Core_1,0,lock
-464541900,TASK_InputProcessing,232,SEM,SEM_DataElement1,0,assigned,1
-464541950,TASK_InputProcessing,232,R,FUNC_SEMLOCK,465,terminate
-464541950,Core_1,0,C,Core_1,0,unlock
-464541950,TASK_InputProcessing,232,R,FUNC_ReadSensorData,232,start
-464705900,TASK_InputProcessing,232,SIG,SIG_RotationSpeed,0,read,0
-464705900,TASK_InputProcessing,232,SIG,SIG_Lambda,0,read,0
-464705900,TASK_InputProcessing,232,SIG,SIG_Temperature,0,read,0
-464705900,TASK_InputProcessing,232,R,FUNC_ReadSensorData,232,terminate
-464705900,TASK_InputProcessing,232,R,FUNC_SEMUNLOCK,465,start
-464905900,TASK_InputProcessing,232,SEM,SEM_DataElement1,0,released,1
-464905900,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-464905900,TASK_InputProcessing,232,SCHED,SCHED_Tasks_C1,-1,schedulepoint
-464905900,Core_1,0,C,Core_1,0,lock
-464905950,TASK_InputProcessing,232,R,FUNC_SEMUNLOCK,465,terminate
-464905950,Core_1,0,C,Core_1,0,unlock
-464905950,TASK_InputProcessing,232,STI,IPA_InputReady,232,trigger
-464905950,IPA_InputReady,232,T,TASK_CalcEngineSpeed,232,activate
-464905950,TASK_CalcEngineSpeed,232,SCHED,SCHED_Tasks_C2,-1,processactivate
-464905950,Core_1,0,T,TASK_InputProcessing,232,terminate
-464905950,TASK_InputProcessing,232,SCHED,SCHED_Tasks_C1,-1,processterminate
-464905950,Core_1,0,C,Core_1,0,idle
-464905950,TASK_InputProcessing,232,C,Core_1,0,idle
-464906000,TASK_InputProcessing,232,STI,IR_SCHED_Tasks_C1,1567,trigger
-464906000,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-464906000,Core_1,0,C,Core_1,0,execute_idle
-464906000,TASK_20MS,23,C,Core_1,0,execute_idle
-464906000,Core_1,0,T,TASK_20MS,23,resume
-464906000,TASK_20MS,23,R,FUNC_EXECTIME_1,841,resume
-464906050,TASK_CalcEngineSpeed,232,STI,IR_SCHED_Tasks_C2,1496,trigger
-464906050,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-464906050,TASK_5MS,232,R,FUNC_EXECTIME_1,848,suspend
-464906050,Core_2,0,T,TASK_5MS,232,preempt
-464906050,Core_2,0,C,Core_2,0,idle_execution
-464906050,TASK_5MS,232,C,Core_2,0,idle_execution
-464906050,Core_2,0,T,TASK_CalcEngineSpeed,232,start
-464906050,TASK_CalcEngineSpeed,232,R,FUNC_ENGINESPEED,232,start
-464906050,Core_2,0,C,Core_2,0,execute
-464906050,TASK_CalcEngineSpeed,232,C,Core_2,0,execute
-465000000,SIM,-1,STI,TIMER-10MS,46,trigger
-465000000,TIMER-10MS,46,T,TASK_10MS,46,activate
-465000000,TASK_10MS,46,SCHED,SCHED_Tasks_C2,-1,processactivate
-465000100,TASK_10MS,46,STI,IR_SCHED_Tasks_C2,1497,trigger
-465000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-465066225,TASK_CalcEngineSpeed,232,R,FUNC_ENGINESPEED,232,terminate
-465066225,Core_2,0,T,TASK_CalcEngineSpeed,232,terminate
-465066225,TASK_CalcEngineSpeed,232,SCHED,SCHED_Tasks_C2,-1,processterminate
-465066225,Core_2,0,C,Core_2,0,idle
-465066225,TASK_CalcEngineSpeed,232,C,Core_2,0,idle
-465066325,TASK_CalcEngineSpeed,232,STI,IR_SCHED_Tasks_C2,1498,trigger
-465066325,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-465066325,Core_2,0,C,Core_2,0,execute_idle
-465066325,TASK_5MS,232,C,Core_2,0,execute_idle
-465066325,Core_2,0,T,TASK_5MS,232,resume
-465066325,TASK_5MS,232,R,FUNC_EXECTIME_1,848,resume
-465113075,TASK_5MS,232,R,FUNC_EXECTIME_1,848,terminate
-465113075,Core_2,0,T,TASK_5MS,232,terminate
-465113075,TASK_5MS,232,SCHED,SCHED_Tasks_C2,-1,processterminate
-465113075,Core_2,0,C,Core_2,0,idle
-465113075,TASK_5MS,232,C,Core_2,0,idle
-465113175,TASK_5MS,232,STI,IR_SCHED_Tasks_C2,1499,trigger
-465113175,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-465113175,Core_2,0,T,TASK_10MS,46,start
-465113175,TASK_10MS,46,R,FUNC_EXECTIME_1,850,start
-465113175,Core_2,0,C,Core_2,0,execute
-465113175,TASK_10MS,46,C,Core_2,0,execute
-465250000,SIM,-1,STI,TIMER-1MS,465,trigger
-465250000,TIMER-1MS,465,T,TASK_1MS,465,activate
-465250000,TASK_1MS,465,SCHED,SCHED_Tasks_C1,-1,processactivate
-465250100,TASK_1MS,465,STI,IR_SCHED_Tasks_C1,1568,trigger
-465250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-465250100,TASK_20MS,23,R,FUNC_EXECTIME_1,841,suspend
-465250100,Core_1,0,T,TASK_20MS,23,preempt
-465250100,Core_1,0,C,Core_1,0,idle_execution
-465250100,TASK_20MS,23,C,Core_1,0,idle_execution
-465250100,Core_1,0,T,TASK_1MS,465,start
-465250100,TASK_1MS,465,R,FUNC_EXECTIME_1,851,start
-465250100,Core_1,0,C,Core_1,0,execute
-465250100,TASK_1MS,465,C,Core_1,0,execute
-465701375,TASK_1MS,465,R,FUNC_EXECTIME_1,851,terminate
-465701375,Core_1,0,T,TASK_1MS,465,terminate
-465701375,TASK_1MS,465,SCHED,SCHED_Tasks_C1,-1,processterminate
-465701375,Core_1,0,C,Core_1,0,idle
-465701375,TASK_1MS,465,C,Core_1,0,idle
-465701475,TASK_1MS,465,STI,IR_SCHED_Tasks_C1,1569,trigger
-465701475,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-465701475,Core_1,0,C,Core_1,0,execute_idle
-465701475,TASK_20MS,23,C,Core_1,0,execute_idle
-465701475,Core_1,0,T,TASK_20MS,23,resume
-465701475,TASK_20MS,23,R,FUNC_EXECTIME_1,841,resume
-465725575,TASK_10MS,46,R,FUNC_EXECTIME_1,850,terminate
-465725575,Core_2,0,T,TASK_10MS,46,terminate
-465725575,TASK_10MS,46,SCHED,SCHED_Tasks_C2,-1,processterminate
-465725575,Core_2,0,C,Core_2,0,idle
-465725575,TASK_10MS,46,C,Core_2,0,idle
-465725675,TASK_10MS,46,STI,IR_SCHED_Tasks_C2,1500,trigger
-465725675,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-465813400,TASK_20MS,23,R,FUNC_EXECTIME_1,841,terminate
-465813400,Core_1,0,T,TASK_20MS,23,terminate
-465813400,TASK_20MS,23,SCHED,SCHED_Tasks_C1,-1,processterminate
-465813400,Core_1,0,C,Core_1,0,idle
-465813400,TASK_20MS,23,C,Core_1,0,idle
-465813500,TASK_20MS,23,STI,IR_SCHED_Tasks_C1,1570,trigger
-465813500,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-466000000,SIM,-1,STI,TIMER-B_2ms,233,trigger
-466000000,TIMER-B_2ms,233,T,TASK_WritingActuator,233,activate
-466000000,TASK_WritingActuator,233,SCHED,SCHED_Tasks_C2,-1,processactivate
-466000100,TASK_WritingActuator,233,STI,IR_SCHED_Tasks_C2,1501,trigger
-466000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-466000100,Core_2,0,T,TASK_WritingActuator,233,start
-466000100,TASK_WritingActuator,233,R,FUNC_SEMLOCK,466,start
-466000100,Core_2,0,C,Core_2,0,execute
-466000100,TASK_WritingActuator,233,C,Core_2,0,execute
-466100000,SIM,-1,STI,TIMER-5MS,233,trigger
-466100000,TIMER-5MS,233,T,TASK_5MS,233,activate
-466100000,TASK_5MS,233,SCHED,SCHED_Tasks_C2,-1,processactivate
-466100100,TASK_5MS,233,STI,IR_SCHED_Tasks_C2,1502,trigger
-466100100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-466125100,TASK_WritingActuator,233,SEM,SEM_DataElement1,0,requestsemaphore,0
-466125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-466125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-466125100,Core_2,0,C,Core_2,0,lock
-466125100,TASK_WritingActuator,233,SEM,SEM_DataElement1,0,assigned,1
-466125150,TASK_WritingActuator,233,R,FUNC_SEMLOCK,466,terminate
-466125150,Core_2,0,C,Core_2,0,unlock
-466125150,TASK_WritingActuator,233,R,FUNC_WriteData,233,start
-466150000,SIM,-1,STI,TIMER-A_2ms,233,trigger
-466150000,TIMER-A_2ms,233,T,TASK_InputProcessing,233,activate
-466150000,TASK_InputProcessing,233,SCHED,SCHED_Tasks_C1,-1,processactivate
-466150100,TASK_InputProcessing,233,STI,IR_SCHED_Tasks_C1,1571,trigger
-466150100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-466150100,Core_1,0,T,TASK_InputProcessing,233,start
-466150100,TASK_InputProcessing,233,R,FUNC_SEMLOCK,467,start
-466150100,Core_1,0,C,Core_1,0,execute
-466150100,TASK_InputProcessing,233,C,Core_1,0,execute
-466152125,TASK_WritingActuator,233,SIG,SIG_Mixture,0,write,0
-466152125,TASK_WritingActuator,233,R,FUNC_WriteData,233,terminate
-466152125,TASK_WritingActuator,233,R,FUNC_SEMUNLOCK,466,start
-466250000,SIM,-1,STI,TIMER-1MS,466,trigger
-466250000,TIMER-1MS,466,T,TASK_1MS,466,activate
-466250000,TASK_1MS,466,SCHED,SCHED_Tasks_C1,-1,processactivate
-466250100,TASK_1MS,466,STI,IR_SCHED_Tasks_C1,1572,trigger
-466250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-466250100,TASK_InputProcessing,233,R,FUNC_SEMLOCK,467,suspend
-466250100,Core_1,0,T,TASK_InputProcessing,233,preempt
-466250100,Core_1,0,C,Core_1,0,idle_execution
-466250100,TASK_InputProcessing,233,C,Core_1,0,idle_execution
-466250100,Core_1,0,T,TASK_1MS,466,start
-466250100,TASK_1MS,466,R,FUNC_EXECTIME_1,853,start
-466250100,Core_1,0,C,Core_1,0,execute
-466250100,TASK_1MS,466,C,Core_1,0,execute
-466352125,TASK_WritingActuator,233,SEM,SEM_DataElement1,0,released,1
-466352125,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-466352125,TASK_WritingActuator,233,SCHED,SCHED_Tasks_C2,-1,schedulepoint
-466352125,Core_2,0,C,Core_2,0,lock
-466352175,TASK_WritingActuator,233,R,FUNC_SEMUNLOCK,466,terminate
-466352175,Core_2,0,T,TASK_WritingActuator,233,terminate
-466352175,TASK_WritingActuator,233,SCHED,SCHED_Tasks_C2,-1,processterminate
-466352175,Core_2,0,C,Core_2,0,unlock
-466352175,Core_2,0,C,Core_2,0,idle
-466352175,TASK_WritingActuator,233,C,Core_2,0,idle
-466352225,TASK_WritingActuator,233,STI,IR_SCHED_Tasks_C2,1503,trigger
-466352225,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-466352225,Core_2,0,T,TASK_5MS,233,start
-466352225,TASK_5MS,233,R,FUNC_EXECTIME_1,852,start
-466352225,Core_2,0,C,Core_2,0,execute
-466352225,TASK_5MS,233,C,Core_2,0,execute
-466826950,TASK_5MS,233,R,FUNC_EXECTIME_1,852,terminate
-466826950,Core_2,0,T,TASK_5MS,233,terminate
-466826950,TASK_5MS,233,SCHED,SCHED_Tasks_C2,-1,processterminate
-466826950,Core_2,0,C,Core_2,0,idle
-466826950,TASK_5MS,233,C,Core_2,0,idle
-466827050,TASK_5MS,233,STI,IR_SCHED_Tasks_C2,1504,trigger
-466827050,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-466899675,TASK_1MS,466,R,FUNC_EXECTIME_1,853,terminate
-466899675,Core_1,0,T,TASK_1MS,466,terminate
-466899675,TASK_1MS,466,SCHED,SCHED_Tasks_C1,-1,processterminate
-466899675,Core_1,0,C,Core_1,0,idle
-466899675,TASK_1MS,466,C,Core_1,0,idle
-466899775,TASK_1MS,466,STI,IR_SCHED_Tasks_C1,1573,trigger
-466899775,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-466899775,Core_1,0,C,Core_1,0,execute_idle
-466899775,TASK_InputProcessing,233,C,Core_1,0,execute_idle
-466899775,Core_1,0,T,TASK_InputProcessing,233,resume
-466899775,TASK_InputProcessing,233,R,FUNC_SEMLOCK,467,resume
-466924775,TASK_InputProcessing,233,SEM,SEM_DataElement1,0,requestsemaphore,0
-466924775,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-466924775,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-466924775,Core_1,0,C,Core_1,0,lock
-466924775,TASK_InputProcessing,233,SEM,SEM_DataElement1,0,assigned,1
-466924825,TASK_InputProcessing,233,R,FUNC_SEMLOCK,467,terminate
-466924825,Core_1,0,C,Core_1,0,unlock
-466924825,TASK_InputProcessing,233,R,FUNC_ReadSensorData,233,start
-467086275,TASK_InputProcessing,233,SIG,SIG_RotationSpeed,0,read,0
-467086275,TASK_InputProcessing,233,SIG,SIG_Lambda,0,read,0
-467086275,TASK_InputProcessing,233,SIG,SIG_Temperature,0,read,0
-467086275,TASK_InputProcessing,233,R,FUNC_ReadSensorData,233,terminate
-467086275,TASK_InputProcessing,233,R,FUNC_SEMUNLOCK,467,start
-467250000,SIM,-1,STI,TIMER-1MS,467,trigger
-467250000,TIMER-1MS,467,T,TASK_1MS,467,activate
-467250000,TASK_1MS,467,SCHED,SCHED_Tasks_C1,-1,processactivate
-467250100,TASK_1MS,467,STI,IR_SCHED_Tasks_C1,1574,trigger
-467250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-467286275,TASK_InputProcessing,233,SEM,SEM_DataElement1,0,released,1
-467286275,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-467286275,TASK_InputProcessing,233,SCHED,SCHED_Tasks_C1,-1,schedulepoint
-467286275,Core_1,0,C,Core_1,0,lock
-467286325,TASK_InputProcessing,233,R,FUNC_SEMUNLOCK,467,terminate
-467286325,Core_1,0,C,Core_1,0,unlock
-467286325,TASK_InputProcessing,233,STI,IPA_InputReady,233,trigger
-467286325,IPA_InputReady,233,T,TASK_CalcEngineSpeed,233,activate
-467286325,TASK_CalcEngineSpeed,233,SCHED,SCHED_Tasks_C2,-1,processactivate
-467286325,Core_1,0,T,TASK_InputProcessing,233,terminate
-467286325,TASK_InputProcessing,233,SCHED,SCHED_Tasks_C1,-1,processterminate
-467286325,Core_1,0,C,Core_1,0,idle
-467286325,TASK_InputProcessing,233,C,Core_1,0,idle
-467286375,TASK_InputProcessing,233,STI,IR_SCHED_Tasks_C1,1575,trigger
-467286375,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-467286375,Core_1,0,T,TASK_1MS,467,start
-467286375,TASK_1MS,467,R,FUNC_EXECTIME_1,854,start
-467286375,Core_1,0,C,Core_1,0,execute
-467286375,TASK_1MS,467,C,Core_1,0,execute
-467286425,TASK_CalcEngineSpeed,233,STI,IR_SCHED_Tasks_C2,1505,trigger
-467286425,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-467286425,Core_2,0,T,TASK_CalcEngineSpeed,233,start
-467286425,TASK_CalcEngineSpeed,233,R,FUNC_ENGINESPEED,233,start
-467286425,Core_2,0,C,Core_2,0,execute
-467286425,TASK_CalcEngineSpeed,233,C,Core_2,0,execute
-467422050,TASK_CalcEngineSpeed,233,R,FUNC_ENGINESPEED,233,terminate
-467422050,Core_2,0,T,TASK_CalcEngineSpeed,233,terminate
-467422050,TASK_CalcEngineSpeed,233,SCHED,SCHED_Tasks_C2,-1,processterminate
-467422050,Core_2,0,C,Core_2,0,idle
-467422050,TASK_CalcEngineSpeed,233,C,Core_2,0,idle
-467422150,TASK_CalcEngineSpeed,233,STI,IR_SCHED_Tasks_C2,1506,trigger
-467422150,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-467847125,TASK_1MS,467,R,FUNC_EXECTIME_1,854,terminate
-467847125,Core_1,0,T,TASK_1MS,467,terminate
-467847125,TASK_1MS,467,SCHED,SCHED_Tasks_C1,-1,processterminate
-467847125,Core_1,0,C,Core_1,0,idle
-467847125,TASK_1MS,467,C,Core_1,0,idle
-467847225,TASK_1MS,467,STI,IR_SCHED_Tasks_C1,1576,trigger
-467847225,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-468000000,SIM,-1,STI,TIMER-B_2ms,234,trigger
-468000000,TIMER-B_2ms,234,T,TASK_WritingActuator,234,activate
-468000000,TASK_WritingActuator,234,SCHED,SCHED_Tasks_C2,-1,processactivate
-468000100,TASK_WritingActuator,234,STI,IR_SCHED_Tasks_C2,1507,trigger
-468000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-468000100,Core_2,0,T,TASK_WritingActuator,234,start
-468000100,TASK_WritingActuator,234,R,FUNC_SEMLOCK,468,start
-468000100,Core_2,0,C,Core_2,0,execute
-468000100,TASK_WritingActuator,234,C,Core_2,0,execute
-468100000,SIM,-1,STI,TIMER-5MS,234,trigger
-468100000,TIMER-5MS,234,T,TASK_5MS,234,activate
-468100000,TASK_5MS,234,SCHED,SCHED_Tasks_C2,-1,processactivate
-468100100,TASK_5MS,234,STI,IR_SCHED_Tasks_C2,1508,trigger
-468100100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-468125100,TASK_WritingActuator,234,SEM,SEM_DataElement1,0,requestsemaphore,0
-468125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-468125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-468125100,Core_2,0,C,Core_2,0,lock
-468125100,TASK_WritingActuator,234,SEM,SEM_DataElement1,0,assigned,1
-468125150,TASK_WritingActuator,234,R,FUNC_SEMLOCK,468,terminate
-468125150,Core_2,0,C,Core_2,0,unlock
-468125150,TASK_WritingActuator,234,R,FUNC_WriteData,234,start
-468150000,SIM,-1,STI,TIMER-A_2ms,234,trigger
-468150000,TIMER-A_2ms,234,T,TASK_InputProcessing,234,activate
-468150000,TASK_InputProcessing,234,SCHED,SCHED_Tasks_C1,-1,processactivate
-468150100,TASK_InputProcessing,234,STI,IR_SCHED_Tasks_C1,1577,trigger
-468150100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-468150100,Core_1,0,T,TASK_InputProcessing,234,start
-468150100,TASK_InputProcessing,234,R,FUNC_SEMLOCK,469,start
-468150100,Core_1,0,C,Core_1,0,execute
-468150100,TASK_InputProcessing,234,C,Core_1,0,execute
-468152300,TASK_WritingActuator,234,SIG,SIG_Mixture,0,write,0
-468152300,TASK_WritingActuator,234,R,FUNC_WriteData,234,terminate
-468152300,TASK_WritingActuator,234,R,FUNC_SEMUNLOCK,468,start
-468250000,SIM,-1,STI,TIMER-1MS,468,trigger
-468250000,TIMER-1MS,468,T,TASK_1MS,468,activate
-468250000,TASK_1MS,468,SCHED,SCHED_Tasks_C1,-1,processactivate
-468250100,TASK_1MS,468,STI,IR_SCHED_Tasks_C1,1578,trigger
-468250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-468250100,TASK_InputProcessing,234,R,FUNC_SEMLOCK,469,suspend
-468250100,Core_1,0,T,TASK_InputProcessing,234,preempt
-468250100,Core_1,0,C,Core_1,0,idle_execution
-468250100,TASK_InputProcessing,234,C,Core_1,0,idle_execution
-468250100,Core_1,0,T,TASK_1MS,468,start
-468250100,TASK_1MS,468,R,FUNC_EXECTIME_1,856,start
-468250100,Core_1,0,C,Core_1,0,execute
-468250100,TASK_1MS,468,C,Core_1,0,execute
-468352300,TASK_WritingActuator,234,SEM,SEM_DataElement1,0,released,1
-468352300,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-468352300,TASK_WritingActuator,234,SCHED,SCHED_Tasks_C2,-1,schedulepoint
-468352300,Core_2,0,C,Core_2,0,lock
-468352350,TASK_WritingActuator,234,R,FUNC_SEMUNLOCK,468,terminate
-468352350,Core_2,0,T,TASK_WritingActuator,234,terminate
-468352350,TASK_WritingActuator,234,SCHED,SCHED_Tasks_C2,-1,processterminate
-468352350,Core_2,0,C,Core_2,0,unlock
-468352350,Core_2,0,C,Core_2,0,idle
-468352350,TASK_WritingActuator,234,C,Core_2,0,idle
-468352400,TASK_WritingActuator,234,STI,IR_SCHED_Tasks_C2,1509,trigger
-468352400,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-468352400,Core_2,0,T,TASK_5MS,234,start
-468352400,TASK_5MS,234,R,FUNC_EXECTIME_1,855,start
-468352400,Core_2,0,C,Core_2,0,execute
-468352400,TASK_5MS,234,C,Core_2,0,execute
-468592750,TASK_1MS,468,R,FUNC_EXECTIME_1,856,terminate
-468592750,Core_1,0,T,TASK_1MS,468,terminate
-468592750,TASK_1MS,468,SCHED,SCHED_Tasks_C1,-1,processterminate
-468592750,Core_1,0,C,Core_1,0,idle
-468592750,TASK_1MS,468,C,Core_1,0,idle
-468592850,TASK_1MS,468,STI,IR_SCHED_Tasks_C1,1579,trigger
-468592850,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-468592850,Core_1,0,C,Core_1,0,execute_idle
-468592850,TASK_InputProcessing,234,C,Core_1,0,execute_idle
-468592850,Core_1,0,T,TASK_InputProcessing,234,resume
-468592850,TASK_InputProcessing,234,R,FUNC_SEMLOCK,469,resume
-468617850,TASK_InputProcessing,234,SEM,SEM_DataElement1,0,requestsemaphore,0
-468617850,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-468617850,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-468617850,Core_1,0,C,Core_1,0,lock
-468617850,TASK_InputProcessing,234,SEM,SEM_DataElement1,0,assigned,1
-468617900,TASK_InputProcessing,234,R,FUNC_SEMLOCK,469,terminate
-468617900,Core_1,0,C,Core_1,0,unlock
-468617900,TASK_InputProcessing,234,R,FUNC_ReadSensorData,234,start
-468775450,TASK_InputProcessing,234,SIG,SIG_RotationSpeed,0,read,0
-468775450,TASK_InputProcessing,234,SIG,SIG_Lambda,0,read,0
-468775450,TASK_InputProcessing,234,SIG,SIG_Temperature,0,read,0
-468775450,TASK_InputProcessing,234,R,FUNC_ReadSensorData,234,terminate
-468775450,TASK_InputProcessing,234,R,FUNC_SEMUNLOCK,469,start
-468916000,TASK_5MS,234,R,FUNC_EXECTIME_1,855,terminate
-468916000,Core_2,0,T,TASK_5MS,234,terminate
-468916000,TASK_5MS,234,SCHED,SCHED_Tasks_C2,-1,processterminate
-468916000,Core_2,0,C,Core_2,0,idle
-468916000,TASK_5MS,234,C,Core_2,0,idle
-468916100,TASK_5MS,234,STI,IR_SCHED_Tasks_C2,1510,trigger
-468916100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-468975450,TASK_InputProcessing,234,SEM,SEM_DataElement1,0,released,1
-468975450,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-468975450,TASK_InputProcessing,234,SCHED,SCHED_Tasks_C1,-1,schedulepoint
-468975450,Core_1,0,C,Core_1,0,lock
-468975500,TASK_InputProcessing,234,R,FUNC_SEMUNLOCK,469,terminate
-468975500,Core_1,0,C,Core_1,0,unlock
-468975500,TASK_InputProcessing,234,STI,IPA_InputReady,234,trigger
-468975500,IPA_InputReady,234,T,TASK_CalcEngineSpeed,234,activate
-468975500,TASK_CalcEngineSpeed,234,SCHED,SCHED_Tasks_C2,-1,processactivate
-468975500,Core_1,0,T,TASK_InputProcessing,234,terminate
-468975500,TASK_InputProcessing,234,SCHED,SCHED_Tasks_C1,-1,processterminate
-468975500,Core_1,0,C,Core_1,0,idle
-468975500,TASK_InputProcessing,234,C,Core_1,0,idle
-468975550,TASK_InputProcessing,234,STI,IR_SCHED_Tasks_C1,1580,trigger
-468975550,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-468975600,TASK_CalcEngineSpeed,234,STI,IR_SCHED_Tasks_C2,1511,trigger
-468975600,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-468975600,Core_2,0,T,TASK_CalcEngineSpeed,234,start
-468975600,TASK_CalcEngineSpeed,234,R,FUNC_ENGINESPEED,234,start
-468975600,Core_2,0,C,Core_2,0,execute
-468975600,TASK_CalcEngineSpeed,234,C,Core_2,0,execute
-469115800,TASK_CalcEngineSpeed,234,R,FUNC_ENGINESPEED,234,terminate
-469115800,Core_2,0,T,TASK_CalcEngineSpeed,234,terminate
-469115800,TASK_CalcEngineSpeed,234,SCHED,SCHED_Tasks_C2,-1,processterminate
-469115800,Core_2,0,C,Core_2,0,idle
-469115800,TASK_CalcEngineSpeed,234,C,Core_2,0,idle
-469115900,TASK_CalcEngineSpeed,234,STI,IR_SCHED_Tasks_C2,1512,trigger
-469115900,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-469250000,SIM,-1,STI,TIMER-1MS,469,trigger
-469250000,TIMER-1MS,469,T,TASK_1MS,469,activate
-469250000,TASK_1MS,469,SCHED,SCHED_Tasks_C1,-1,processactivate
-469250100,TASK_1MS,469,STI,IR_SCHED_Tasks_C1,1581,trigger
-469250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-469250100,Core_1,0,T,TASK_1MS,469,start
-469250100,TASK_1MS,469,R,FUNC_EXECTIME_1,857,start
-469250100,Core_1,0,C,Core_1,0,execute
-469250100,TASK_1MS,469,C,Core_1,0,execute
-469849250,TASK_1MS,469,R,FUNC_EXECTIME_1,857,terminate
-469849250,Core_1,0,T,TASK_1MS,469,terminate
-469849250,TASK_1MS,469,SCHED,SCHED_Tasks_C1,-1,processterminate
-469849250,Core_1,0,C,Core_1,0,idle
-469849250,TASK_1MS,469,C,Core_1,0,idle
-469849350,TASK_1MS,469,STI,IR_SCHED_Tasks_C1,1582,trigger
-469849350,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-470000000,SIM,-1,STI,TIMER-B_2ms,235,trigger
-470000000,TIMER-B_2ms,235,T,TASK_WritingActuator,235,activate
-470000000,TASK_WritingActuator,235,SCHED,SCHED_Tasks_C2,-1,processactivate
-470000000,SIM,-1,STI,TIMER-10MS_2,47,trigger
-470000000,TIMER-10MS_2,47,T,TASK_10MS_DL2,47,activate
-470000000,TASK_10MS_DL2,47,SCHED,SCHED_Tasks_C1,-1,processactivate
-470000100,TASK_WritingActuator,235,STI,IR_SCHED_Tasks_C2,1513,trigger
-470000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-470000100,Core_2,0,T,TASK_WritingActuator,235,start
-470000100,TASK_WritingActuator,235,R,FUNC_SEMLOCK,470,start
-470000100,Core_2,0,C,Core_2,0,execute
-470000100,TASK_WritingActuator,235,C,Core_2,0,execute
-470000100,TASK_10MS_DL2,47,STI,IR_SCHED_Tasks_C1,1583,trigger
-470000100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-470000100,Core_1,0,T,TASK_10MS_DL2,47,start
-470000100,TASK_10MS_DL2,47,R,FUNC_EXECTIME_1,858,start
-470000100,Core_1,0,C,Core_1,0,execute
-470000100,TASK_10MS_DL2,47,C,Core_1,0,execute
-470100000,SIM,-1,STI,TIMER-5MS,235,trigger
-470100000,TIMER-5MS,235,T,TASK_5MS,235,activate
-470100000,TASK_5MS,235,SCHED,SCHED_Tasks_C2,-1,processactivate
-470100100,TASK_5MS,235,STI,IR_SCHED_Tasks_C2,1514,trigger
-470100100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-470125100,TASK_WritingActuator,235,SEM,SEM_DataElement1,0,requestsemaphore,0
-470125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-470125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-470125100,Core_2,0,C,Core_2,0,lock
-470125100,TASK_WritingActuator,235,SEM,SEM_DataElement1,0,assigned,1
-470125150,TASK_WritingActuator,235,R,FUNC_SEMLOCK,470,terminate
-470125150,Core_2,0,C,Core_2,0,unlock
-470125150,TASK_WritingActuator,235,R,FUNC_WriteData,235,start
-470150000,SIM,-1,STI,TIMER-A_2ms,235,trigger
-470150000,TIMER-A_2ms,235,T,TASK_InputProcessing,235,activate
-470150000,TASK_InputProcessing,235,SCHED,SCHED_Tasks_C1,-1,processactivate
-470150100,TASK_InputProcessing,235,STI,IR_SCHED_Tasks_C1,1584,trigger
-470150100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-470152375,TASK_WritingActuator,235,SIG,SIG_Mixture,0,write,0
-470152375,TASK_WritingActuator,235,R,FUNC_WriteData,235,terminate
-470152375,TASK_WritingActuator,235,R,FUNC_SEMUNLOCK,470,start
-470250000,SIM,-1,STI,TIMER-1MS,470,trigger
-470250000,TIMER-1MS,470,T,TASK_1MS,470,activate
-470250000,TASK_1MS,470,SCHED,SCHED_Tasks_C1,-1,processactivate
-470250100,TASK_1MS,470,STI,IR_SCHED_Tasks_C1,1585,trigger
-470250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-470250100,TASK_10MS_DL2,47,R,FUNC_EXECTIME_1,858,suspend
-470250100,Core_1,0,T,TASK_10MS_DL2,47,preempt
-470250100,Core_1,0,C,Core_1,0,idle_execution
-470250100,TASK_10MS_DL2,47,C,Core_1,0,idle_execution
-470250100,Core_1,0,T,TASK_1MS,470,start
-470250100,TASK_1MS,470,R,FUNC_EXECTIME_1,860,start
-470250100,Core_1,0,C,Core_1,0,execute
-470250100,TASK_1MS,470,C,Core_1,0,execute
-470352375,TASK_WritingActuator,235,SEM,SEM_DataElement1,0,released,1
-470352375,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-470352375,TASK_WritingActuator,235,SCHED,SCHED_Tasks_C2,-1,schedulepoint
-470352375,Core_2,0,C,Core_2,0,lock
-470352425,TASK_WritingActuator,235,R,FUNC_SEMUNLOCK,470,terminate
-470352425,Core_2,0,T,TASK_WritingActuator,235,terminate
-470352425,TASK_WritingActuator,235,SCHED,SCHED_Tasks_C2,-1,processterminate
-470352425,Core_2,0,C,Core_2,0,unlock
-470352425,Core_2,0,C,Core_2,0,idle
-470352425,TASK_WritingActuator,235,C,Core_2,0,idle
-470352475,TASK_WritingActuator,235,STI,IR_SCHED_Tasks_C2,1515,trigger
-470352475,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-470352475,Core_2,0,T,TASK_5MS,235,start
-470352475,TASK_5MS,235,R,FUNC_EXECTIME_1,859,start
-470352475,Core_2,0,C,Core_2,0,execute
-470352475,TASK_5MS,235,C,Core_2,0,execute
-470569825,TASK_1MS,470,R,FUNC_EXECTIME_1,860,terminate
-470569825,Core_1,0,T,TASK_1MS,470,terminate
-470569825,TASK_1MS,470,SCHED,SCHED_Tasks_C1,-1,processterminate
-470569825,Core_1,0,C,Core_1,0,idle
-470569825,TASK_1MS,470,C,Core_1,0,idle
-470569925,TASK_1MS,470,STI,IR_SCHED_Tasks_C1,1586,trigger
-470569925,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-470569925,Core_1,0,C,Core_1,0,execute_idle
-470569925,TASK_10MS_DL2,47,C,Core_1,0,execute_idle
-470569925,Core_1,0,T,TASK_10MS_DL2,47,resume
-470569925,TASK_10MS_DL2,47,R,FUNC_EXECTIME_1,858,resume
-470597925,TASK_10MS_DL2,47,R,FUNC_EXECTIME_1,858,terminate
-470597925,Core_1,0,T,TASK_10MS_DL2,47,terminate
-470597925,TASK_10MS_DL2,47,SCHED,SCHED_Tasks_C1,-1,processterminate
-470597925,Core_1,0,C,Core_1,0,idle
-470597925,TASK_10MS_DL2,47,C,Core_1,0,idle
-470598025,TASK_10MS_DL2,47,STI,IR_SCHED_Tasks_C1,1587,trigger
-470598025,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-470598025,Core_1,0,T,TASK_InputProcessing,235,start
-470598025,TASK_InputProcessing,235,R,FUNC_SEMLOCK,471,start
-470598025,Core_1,0,C,Core_1,0,execute
-470598025,TASK_InputProcessing,235,C,Core_1,0,execute
-470723025,TASK_InputProcessing,235,SEM,SEM_DataElement1,0,requestsemaphore,0
-470723025,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-470723025,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-470723025,Core_1,0,C,Core_1,0,lock
-470723025,TASK_InputProcessing,235,SEM,SEM_DataElement1,0,assigned,1
-470723075,TASK_InputProcessing,235,R,FUNC_SEMLOCK,471,terminate
-470723075,Core_1,0,C,Core_1,0,unlock
-470723075,TASK_InputProcessing,235,R,FUNC_ReadSensorData,235,start
-470887525,TASK_InputProcessing,235,SIG,SIG_RotationSpeed,0,read,0
-470887525,TASK_InputProcessing,235,SIG,SIG_Lambda,0,read,0
-470887525,TASK_InputProcessing,235,SIG,SIG_Temperature,0,read,0
-470887525,TASK_InputProcessing,235,R,FUNC_ReadSensorData,235,terminate
-470887525,TASK_InputProcessing,235,R,FUNC_SEMUNLOCK,471,start
-470919225,TASK_5MS,235,R,FUNC_EXECTIME_1,859,terminate
-470919225,Core_2,0,T,TASK_5MS,235,terminate
-470919225,TASK_5MS,235,SCHED,SCHED_Tasks_C2,-1,processterminate
-470919225,Core_2,0,C,Core_2,0,idle
-470919225,TASK_5MS,235,C,Core_2,0,idle
-470919325,TASK_5MS,235,STI,IR_SCHED_Tasks_C2,1516,trigger
-470919325,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-471087525,TASK_InputProcessing,235,SEM,SEM_DataElement1,0,released,1
-471087525,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-471087525,TASK_InputProcessing,235,SCHED,SCHED_Tasks_C1,-1,schedulepoint
-471087525,Core_1,0,C,Core_1,0,lock
-471087575,TASK_InputProcessing,235,R,FUNC_SEMUNLOCK,471,terminate
-471087575,Core_1,0,C,Core_1,0,unlock
-471087575,TASK_InputProcessing,235,STI,IPA_InputReady,235,trigger
-471087575,IPA_InputReady,235,T,TASK_CalcEngineSpeed,235,activate
-471087575,TASK_CalcEngineSpeed,235,SCHED,SCHED_Tasks_C2,-1,processactivate
-471087575,Core_1,0,T,TASK_InputProcessing,235,terminate
-471087575,TASK_InputProcessing,235,SCHED,SCHED_Tasks_C1,-1,processterminate
-471087575,Core_1,0,C,Core_1,0,idle
-471087575,TASK_InputProcessing,235,C,Core_1,0,idle
-471087625,TASK_InputProcessing,235,STI,IR_SCHED_Tasks_C1,1588,trigger
-471087625,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-471087675,TASK_CalcEngineSpeed,235,STI,IR_SCHED_Tasks_C2,1517,trigger
-471087675,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-471087675,Core_2,0,T,TASK_CalcEngineSpeed,235,start
-471087675,TASK_CalcEngineSpeed,235,R,FUNC_ENGINESPEED,235,start
-471087675,Core_2,0,C,Core_2,0,execute
-471087675,TASK_CalcEngineSpeed,235,C,Core_2,0,execute
-471204475,TASK_CalcEngineSpeed,235,R,FUNC_ENGINESPEED,235,terminate
-471204475,Core_2,0,T,TASK_CalcEngineSpeed,235,terminate
-471204475,TASK_CalcEngineSpeed,235,SCHED,SCHED_Tasks_C2,-1,processterminate
-471204475,Core_2,0,C,Core_2,0,idle
-471204475,TASK_CalcEngineSpeed,235,C,Core_2,0,idle
-471204575,TASK_CalcEngineSpeed,235,STI,IR_SCHED_Tasks_C2,1518,trigger
-471204575,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-471250000,SIM,-1,STI,TIMER-1MS,471,trigger
-471250000,TIMER-1MS,471,T,TASK_1MS,471,activate
-471250000,TASK_1MS,471,SCHED,SCHED_Tasks_C1,-1,processactivate
-471250100,TASK_1MS,471,STI,IR_SCHED_Tasks_C1,1589,trigger
-471250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-471250100,Core_1,0,T,TASK_1MS,471,start
-471250100,TASK_1MS,471,R,FUNC_EXECTIME_1,861,start
-471250100,Core_1,0,C,Core_1,0,execute
-471250100,TASK_1MS,471,C,Core_1,0,execute
-471752550,TASK_1MS,471,R,FUNC_EXECTIME_1,861,terminate
-471752550,Core_1,0,T,TASK_1MS,471,terminate
-471752550,TASK_1MS,471,SCHED,SCHED_Tasks_C1,-1,processterminate
-471752550,Core_1,0,C,Core_1,0,idle
-471752550,TASK_1MS,471,C,Core_1,0,idle
-471752650,TASK_1MS,471,STI,IR_SCHED_Tasks_C1,1590,trigger
-471752650,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-472000000,SIM,-1,STI,TIMER-B_2ms,236,trigger
-472000000,TIMER-B_2ms,236,T,TASK_WritingActuator,236,activate
-472000000,TASK_WritingActuator,236,SCHED,SCHED_Tasks_C2,-1,processactivate
-472000100,TASK_WritingActuator,236,STI,IR_SCHED_Tasks_C2,1519,trigger
-472000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-472000100,Core_2,0,T,TASK_WritingActuator,236,start
-472000100,TASK_WritingActuator,236,R,FUNC_SEMLOCK,472,start
-472000100,Core_2,0,C,Core_2,0,execute
-472000100,TASK_WritingActuator,236,C,Core_2,0,execute
-472100000,SIM,-1,STI,TIMER-5MS,236,trigger
-472100000,TIMER-5MS,236,T,TASK_5MS,236,activate
-472100000,TASK_5MS,236,SCHED,SCHED_Tasks_C2,-1,processactivate
-472100100,TASK_5MS,236,STI,IR_SCHED_Tasks_C2,1520,trigger
-472100100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-472125100,TASK_WritingActuator,236,SEM,SEM_DataElement1,0,requestsemaphore,0
-472125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-472125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-472125100,Core_2,0,C,Core_2,0,lock
-472125100,TASK_WritingActuator,236,SEM,SEM_DataElement1,0,assigned,1
-472125150,TASK_WritingActuator,236,R,FUNC_SEMLOCK,472,terminate
-472125150,Core_2,0,C,Core_2,0,unlock
-472125150,TASK_WritingActuator,236,R,FUNC_WriteData,236,start
-472150000,SIM,-1,STI,TIMER-A_2ms,236,trigger
-472150000,TIMER-A_2ms,236,T,TASK_InputProcessing,236,activate
-472150000,TASK_InputProcessing,236,SCHED,SCHED_Tasks_C1,-1,processactivate
-472150100,TASK_InputProcessing,236,STI,IR_SCHED_Tasks_C1,1591,trigger
-472150100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-472150100,Core_1,0,T,TASK_InputProcessing,236,start
-472150100,TASK_InputProcessing,236,R,FUNC_SEMLOCK,473,start
-472150100,Core_1,0,C,Core_1,0,execute
-472150100,TASK_InputProcessing,236,C,Core_1,0,execute
-472152350,TASK_WritingActuator,236,SIG,SIG_Mixture,0,write,0
-472152350,TASK_WritingActuator,236,R,FUNC_WriteData,236,terminate
-472152350,TASK_WritingActuator,236,R,FUNC_SEMUNLOCK,472,start
-472250000,SIM,-1,STI,TIMER-1MS,472,trigger
-472250000,TIMER-1MS,472,T,TASK_1MS,472,activate
-472250000,TASK_1MS,472,SCHED,SCHED_Tasks_C1,-1,processactivate
-472250100,TASK_1MS,472,STI,IR_SCHED_Tasks_C1,1592,trigger
-472250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-472250100,TASK_InputProcessing,236,R,FUNC_SEMLOCK,473,suspend
-472250100,Core_1,0,T,TASK_InputProcessing,236,preempt
-472250100,Core_1,0,C,Core_1,0,idle_execution
-472250100,TASK_InputProcessing,236,C,Core_1,0,idle_execution
-472250100,Core_1,0,T,TASK_1MS,472,start
-472250100,TASK_1MS,472,R,FUNC_EXECTIME_1,863,start
-472250100,Core_1,0,C,Core_1,0,execute
-472250100,TASK_1MS,472,C,Core_1,0,execute
-472352350,TASK_WritingActuator,236,SEM,SEM_DataElement1,0,released,1
-472352350,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-472352350,TASK_WritingActuator,236,SCHED,SCHED_Tasks_C2,-1,schedulepoint
-472352350,Core_2,0,C,Core_2,0,lock
-472352400,TASK_WritingActuator,236,R,FUNC_SEMUNLOCK,472,terminate
-472352400,Core_2,0,T,TASK_WritingActuator,236,terminate
-472352400,TASK_WritingActuator,236,SCHED,SCHED_Tasks_C2,-1,processterminate
-472352400,Core_2,0,C,Core_2,0,unlock
-472352400,Core_2,0,C,Core_2,0,idle
-472352400,TASK_WritingActuator,236,C,Core_2,0,idle
-472352450,TASK_WritingActuator,236,STI,IR_SCHED_Tasks_C2,1521,trigger
-472352450,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-472352450,Core_2,0,T,TASK_5MS,236,start
-472352450,TASK_5MS,236,R,FUNC_EXECTIME_1,862,start
-472352450,Core_2,0,C,Core_2,0,execute
-472352450,TASK_5MS,236,C,Core_2,0,execute
-472556500,TASK_1MS,472,R,FUNC_EXECTIME_1,863,terminate
-472556500,Core_1,0,T,TASK_1MS,472,terminate
-472556500,TASK_1MS,472,SCHED,SCHED_Tasks_C1,-1,processterminate
-472556500,Core_1,0,C,Core_1,0,idle
-472556500,TASK_1MS,472,C,Core_1,0,idle
-472556600,TASK_1MS,472,STI,IR_SCHED_Tasks_C1,1593,trigger
-472556600,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-472556600,Core_1,0,C,Core_1,0,execute_idle
-472556600,TASK_InputProcessing,236,C,Core_1,0,execute_idle
-472556600,Core_1,0,T,TASK_InputProcessing,236,resume
-472556600,TASK_InputProcessing,236,R,FUNC_SEMLOCK,473,resume
-472581600,TASK_InputProcessing,236,SEM,SEM_DataElement1,0,requestsemaphore,0
-472581600,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-472581600,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-472581600,Core_1,0,C,Core_1,0,lock
-472581600,TASK_InputProcessing,236,SEM,SEM_DataElement1,0,assigned,1
-472581650,TASK_InputProcessing,236,R,FUNC_SEMLOCK,473,terminate
-472581650,Core_1,0,C,Core_1,0,unlock
-472581650,TASK_InputProcessing,236,R,FUNC_ReadSensorData,236,start
-472734250,TASK_5MS,236,R,FUNC_EXECTIME_1,862,terminate
-472734250,Core_2,0,T,TASK_5MS,236,terminate
-472734250,TASK_5MS,236,SCHED,SCHED_Tasks_C2,-1,processterminate
-472734250,Core_2,0,C,Core_2,0,idle
-472734250,TASK_5MS,236,C,Core_2,0,idle
-472734350,TASK_5MS,236,STI,IR_SCHED_Tasks_C2,1522,trigger
-472734350,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-472740850,TASK_InputProcessing,236,SIG,SIG_RotationSpeed,0,read,0
-472740850,TASK_InputProcessing,236,SIG,SIG_Lambda,0,read,0
-472740850,TASK_InputProcessing,236,SIG,SIG_Temperature,0,read,0
-472740850,TASK_InputProcessing,236,R,FUNC_ReadSensorData,236,terminate
-472740850,TASK_InputProcessing,236,R,FUNC_SEMUNLOCK,473,start
-472940850,TASK_InputProcessing,236,SEM,SEM_DataElement1,0,released,1
-472940850,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-472940850,TASK_InputProcessing,236,SCHED,SCHED_Tasks_C1,-1,schedulepoint
-472940850,Core_1,0,C,Core_1,0,lock
-472940900,TASK_InputProcessing,236,R,FUNC_SEMUNLOCK,473,terminate
-472940900,Core_1,0,C,Core_1,0,unlock
-472940900,TASK_InputProcessing,236,STI,IPA_InputReady,236,trigger
-472940900,IPA_InputReady,236,T,TASK_CalcEngineSpeed,236,activate
-472940900,TASK_CalcEngineSpeed,236,SCHED,SCHED_Tasks_C2,-1,processactivate
-472940900,Core_1,0,T,TASK_InputProcessing,236,terminate
-472940900,TASK_InputProcessing,236,SCHED,SCHED_Tasks_C1,-1,processterminate
-472940900,Core_1,0,C,Core_1,0,idle
-472940900,TASK_InputProcessing,236,C,Core_1,0,idle
-472940950,TASK_InputProcessing,236,STI,IR_SCHED_Tasks_C1,1594,trigger
-472940950,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-472941000,TASK_CalcEngineSpeed,236,STI,IR_SCHED_Tasks_C2,1523,trigger
-472941000,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-472941000,Core_2,0,T,TASK_CalcEngineSpeed,236,start
-472941000,TASK_CalcEngineSpeed,236,R,FUNC_ENGINESPEED,236,start
-472941000,Core_2,0,C,Core_2,0,execute
-472941000,TASK_CalcEngineSpeed,236,C,Core_2,0,execute
-473190325,TASK_CalcEngineSpeed,236,R,FUNC_ENGINESPEED,236,terminate
-473190325,Core_2,0,T,TASK_CalcEngineSpeed,236,terminate
-473190325,TASK_CalcEngineSpeed,236,SCHED,SCHED_Tasks_C2,-1,processterminate
-473190325,Core_2,0,C,Core_2,0,idle
-473190325,TASK_CalcEngineSpeed,236,C,Core_2,0,idle
-473190425,TASK_CalcEngineSpeed,236,STI,IR_SCHED_Tasks_C2,1524,trigger
-473190425,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-473250000,SIM,-1,STI,TIMER-1MS,473,trigger
-473250000,TIMER-1MS,473,T,TASK_1MS,473,activate
-473250000,TASK_1MS,473,SCHED,SCHED_Tasks_C1,-1,processactivate
-473250100,TASK_1MS,473,STI,IR_SCHED_Tasks_C1,1595,trigger
-473250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-473250100,Core_1,0,T,TASK_1MS,473,start
-473250100,TASK_1MS,473,R,FUNC_EXECTIME_1,864,start
-473250100,Core_1,0,C,Core_1,0,execute
-473250100,TASK_1MS,473,C,Core_1,0,execute
-473800150,TASK_1MS,473,R,FUNC_EXECTIME_1,864,terminate
-473800150,Core_1,0,T,TASK_1MS,473,terminate
-473800150,TASK_1MS,473,SCHED,SCHED_Tasks_C1,-1,processterminate
-473800150,Core_1,0,C,Core_1,0,idle
-473800150,TASK_1MS,473,C,Core_1,0,idle
-473800250,TASK_1MS,473,STI,IR_SCHED_Tasks_C1,1596,trigger
-473800250,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-474000000,SIM,-1,STI,TIMER-B_2ms,237,trigger
-474000000,TIMER-B_2ms,237,T,TASK_WritingActuator,237,activate
-474000000,TASK_WritingActuator,237,SCHED,SCHED_Tasks_C2,-1,processactivate
-474000100,TASK_WritingActuator,237,STI,IR_SCHED_Tasks_C2,1525,trigger
-474000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-474000100,Core_2,0,T,TASK_WritingActuator,237,start
-474000100,TASK_WritingActuator,237,R,FUNC_SEMLOCK,474,start
-474000100,Core_2,0,C,Core_2,0,execute
-474000100,TASK_WritingActuator,237,C,Core_2,0,execute
-474100000,SIM,-1,STI,TIMER-5MS,237,trigger
-474100000,TIMER-5MS,237,T,TASK_5MS,237,activate
-474100000,TASK_5MS,237,SCHED,SCHED_Tasks_C2,-1,processactivate
-474100100,TASK_5MS,237,STI,IR_SCHED_Tasks_C2,1526,trigger
-474100100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-474125100,TASK_WritingActuator,237,SEM,SEM_DataElement1,0,requestsemaphore,0
-474125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-474125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-474125100,Core_2,0,C,Core_2,0,lock
-474125100,TASK_WritingActuator,237,SEM,SEM_DataElement1,0,assigned,1
-474125150,TASK_WritingActuator,237,R,FUNC_SEMLOCK,474,terminate
-474125150,Core_2,0,C,Core_2,0,unlock
-474125150,TASK_WritingActuator,237,R,FUNC_WriteData,237,start
-474150000,SIM,-1,STI,TIMER-A_2ms,237,trigger
-474150000,TIMER-A_2ms,237,T,TASK_InputProcessing,237,activate
-474150000,TASK_InputProcessing,237,SCHED,SCHED_Tasks_C1,-1,processactivate
-474150100,TASK_InputProcessing,237,STI,IR_SCHED_Tasks_C1,1597,trigger
-474150100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-474150100,Core_1,0,T,TASK_InputProcessing,237,start
-474150100,TASK_InputProcessing,237,R,FUNC_SEMLOCK,475,start
-474150100,Core_1,0,C,Core_1,0,execute
-474150100,TASK_InputProcessing,237,C,Core_1,0,execute
-474152225,TASK_WritingActuator,237,SIG,SIG_Mixture,0,write,0
-474152225,TASK_WritingActuator,237,R,FUNC_WriteData,237,terminate
-474152225,TASK_WritingActuator,237,R,FUNC_SEMUNLOCK,474,start
-474250000,SIM,-1,STI,TIMER-1MS,474,trigger
-474250000,TIMER-1MS,474,T,TASK_1MS,474,activate
-474250000,TASK_1MS,474,SCHED,SCHED_Tasks_C1,-1,processactivate
-474250100,TASK_1MS,474,STI,IR_SCHED_Tasks_C1,1598,trigger
-474250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-474250100,TASK_InputProcessing,237,R,FUNC_SEMLOCK,475,suspend
-474250100,Core_1,0,T,TASK_InputProcessing,237,preempt
-474250100,Core_1,0,C,Core_1,0,idle_execution
-474250100,TASK_InputProcessing,237,C,Core_1,0,idle_execution
-474250100,Core_1,0,T,TASK_1MS,474,start
-474250100,TASK_1MS,474,R,FUNC_EXECTIME_1,866,start
-474250100,Core_1,0,C,Core_1,0,execute
-474250100,TASK_1MS,474,C,Core_1,0,execute
-474352225,TASK_WritingActuator,237,SEM,SEM_DataElement1,0,released,1
-474352225,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-474352225,TASK_WritingActuator,237,SCHED,SCHED_Tasks_C2,-1,schedulepoint
-474352225,Core_2,0,C,Core_2,0,lock
-474352275,TASK_WritingActuator,237,R,FUNC_SEMUNLOCK,474,terminate
-474352275,Core_2,0,T,TASK_WritingActuator,237,terminate
-474352275,TASK_WritingActuator,237,SCHED,SCHED_Tasks_C2,-1,processterminate
-474352275,Core_2,0,C,Core_2,0,unlock
-474352275,Core_2,0,C,Core_2,0,idle
-474352275,TASK_WritingActuator,237,C,Core_2,0,idle
-474352325,TASK_WritingActuator,237,STI,IR_SCHED_Tasks_C2,1527,trigger
-474352325,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-474352325,Core_2,0,T,TASK_5MS,237,start
-474352325,TASK_5MS,237,R,FUNC_EXECTIME_1,865,start
-474352325,Core_2,0,C,Core_2,0,execute
-474352325,TASK_5MS,237,C,Core_2,0,execute
-474694400,TASK_1MS,474,R,FUNC_EXECTIME_1,866,terminate
-474694400,Core_1,0,T,TASK_1MS,474,terminate
-474694400,TASK_1MS,474,SCHED,SCHED_Tasks_C1,-1,processterminate
-474694400,Core_1,0,C,Core_1,0,idle
-474694400,TASK_1MS,474,C,Core_1,0,idle
-474694500,TASK_1MS,474,STI,IR_SCHED_Tasks_C1,1599,trigger
-474694500,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-474694500,Core_1,0,C,Core_1,0,execute_idle
-474694500,TASK_InputProcessing,237,C,Core_1,0,execute_idle
-474694500,Core_1,0,T,TASK_InputProcessing,237,resume
-474694500,TASK_InputProcessing,237,R,FUNC_SEMLOCK,475,resume
-474719500,TASK_InputProcessing,237,SEM,SEM_DataElement1,0,requestsemaphore,0
-474719500,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-474719500,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-474719500,Core_1,0,C,Core_1,0,lock
-474719500,TASK_InputProcessing,237,SEM,SEM_DataElement1,0,assigned,1
-474719550,TASK_InputProcessing,237,R,FUNC_SEMLOCK,475,terminate
-474719550,Core_1,0,C,Core_1,0,unlock
-474719550,TASK_InputProcessing,237,R,FUNC_ReadSensorData,237,start
-474883575,TASK_InputProcessing,237,SIG,SIG_RotationSpeed,0,read,0
-474883575,TASK_InputProcessing,237,SIG,SIG_Lambda,0,read,0
-474883575,TASK_InputProcessing,237,SIG,SIG_Temperature,0,read,0
-474883575,TASK_InputProcessing,237,R,FUNC_ReadSensorData,237,terminate
-474883575,TASK_InputProcessing,237,R,FUNC_SEMUNLOCK,475,start
-475000000,SIM,-1,STI,TIMER-10MS,47,trigger
-475000000,TIMER-10MS,47,T,TASK_10MS,47,activate
-475000000,TASK_10MS,47,SCHED,SCHED_Tasks_C2,-1,processactivate
-475000100,TASK_10MS,47,STI,IR_SCHED_Tasks_C2,1528,trigger
-475000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-475083575,TASK_InputProcessing,237,SEM,SEM_DataElement1,0,released,1
-475083575,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-475083575,TASK_InputProcessing,237,SCHED,SCHED_Tasks_C1,-1,schedulepoint
-475083575,Core_1,0,C,Core_1,0,lock
-475083625,TASK_InputProcessing,237,R,FUNC_SEMUNLOCK,475,terminate
-475083625,Core_1,0,C,Core_1,0,unlock
-475083625,TASK_InputProcessing,237,STI,IPA_InputReady,237,trigger
-475083625,IPA_InputReady,237,T,TASK_CalcEngineSpeed,237,activate
-475083625,TASK_CalcEngineSpeed,237,SCHED,SCHED_Tasks_C2,-1,processactivate
-475083625,Core_1,0,T,TASK_InputProcessing,237,terminate
-475083625,TASK_InputProcessing,237,SCHED,SCHED_Tasks_C1,-1,processterminate
-475083625,Core_1,0,C,Core_1,0,idle
-475083625,TASK_InputProcessing,237,C,Core_1,0,idle
-475083675,TASK_InputProcessing,237,STI,IR_SCHED_Tasks_C1,1600,trigger
-475083675,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-475083725,TASK_CalcEngineSpeed,237,STI,IR_SCHED_Tasks_C2,1529,trigger
-475083725,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-475083725,TASK_5MS,237,R,FUNC_EXECTIME_1,865,suspend
-475083725,Core_2,0,T,TASK_5MS,237,preempt
-475083725,Core_2,0,C,Core_2,0,idle_execution
-475083725,TASK_5MS,237,C,Core_2,0,idle_execution
-475083725,Core_2,0,T,TASK_CalcEngineSpeed,237,start
-475083725,TASK_CalcEngineSpeed,237,R,FUNC_ENGINESPEED,237,start
-475083725,Core_2,0,C,Core_2,0,execute
-475083725,TASK_CalcEngineSpeed,237,C,Core_2,0,execute
-475250000,SIM,-1,STI,TIMER-1MS,475,trigger
-475250000,TIMER-1MS,475,T,TASK_1MS,475,activate
-475250000,TASK_1MS,475,SCHED,SCHED_Tasks_C1,-1,processactivate
-475250100,TASK_1MS,475,STI,IR_SCHED_Tasks_C1,1601,trigger
-475250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-475250100,Core_1,0,T,TASK_1MS,475,start
-475250100,TASK_1MS,475,R,FUNC_EXECTIME_1,868,start
-475250100,Core_1,0,C,Core_1,0,execute
-475250100,TASK_1MS,475,C,Core_1,0,execute
-475323225,TASK_CalcEngineSpeed,237,R,FUNC_ENGINESPEED,237,terminate
-475323225,Core_2,0,T,TASK_CalcEngineSpeed,237,terminate
-475323225,TASK_CalcEngineSpeed,237,SCHED,SCHED_Tasks_C2,-1,processterminate
-475323225,Core_2,0,C,Core_2,0,idle
-475323225,TASK_CalcEngineSpeed,237,C,Core_2,0,idle
-475323325,TASK_CalcEngineSpeed,237,STI,IR_SCHED_Tasks_C2,1530,trigger
-475323325,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-475323325,Core_2,0,C,Core_2,0,execute_idle
-475323325,TASK_5MS,237,C,Core_2,0,execute_idle
-475323325,Core_2,0,T,TASK_5MS,237,resume
-475323325,TASK_5MS,237,R,FUNC_EXECTIME_1,865,resume
-475346600,TASK_5MS,237,R,FUNC_EXECTIME_1,865,terminate
-475346600,Core_2,0,T,TASK_5MS,237,terminate
-475346600,TASK_5MS,237,SCHED,SCHED_Tasks_C2,-1,processterminate
-475346600,Core_2,0,C,Core_2,0,idle
-475346600,TASK_5MS,237,C,Core_2,0,idle
-475346700,TASK_5MS,237,STI,IR_SCHED_Tasks_C2,1531,trigger
-475346700,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-475346700,Core_2,0,T,TASK_10MS,47,start
-475346700,TASK_10MS,47,R,FUNC_EXECTIME_1,867,start
-475346700,Core_2,0,C,Core_2,0,execute
-475346700,TASK_10MS,47,C,Core_2,0,execute
-475613225,TASK_1MS,475,R,FUNC_EXECTIME_1,868,terminate
-475613225,Core_1,0,T,TASK_1MS,475,terminate
-475613225,TASK_1MS,475,SCHED,SCHED_Tasks_C1,-1,processterminate
-475613225,Core_1,0,C,Core_1,0,idle
-475613225,TASK_1MS,475,C,Core_1,0,idle
-475613325,TASK_1MS,475,STI,IR_SCHED_Tasks_C1,1602,trigger
-475613325,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-476000000,SIM,-1,STI,TIMER-B_2ms,238,trigger
-476000000,TIMER-B_2ms,238,T,TASK_WritingActuator,238,activate
-476000000,TASK_WritingActuator,238,SCHED,SCHED_Tasks_C2,-1,processactivate
-476000100,TASK_WritingActuator,238,STI,IR_SCHED_Tasks_C2,1532,trigger
-476000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-476000100,TASK_10MS,47,R,FUNC_EXECTIME_1,867,suspend
-476000100,Core_2,0,T,TASK_10MS,47,preempt
-476000100,Core_2,0,C,Core_2,0,idle_execution
-476000100,TASK_10MS,47,C,Core_2,0,idle_execution
-476000100,Core_2,0,T,TASK_WritingActuator,238,start
-476000100,TASK_WritingActuator,238,R,FUNC_SEMLOCK,476,start
-476000100,Core_2,0,C,Core_2,0,execute
-476000100,TASK_WritingActuator,238,C,Core_2,0,execute
-476100000,SIM,-1,STI,TIMER-5MS,238,trigger
-476100000,TIMER-5MS,238,T,TASK_5MS,238,activate
-476100000,TASK_5MS,238,SCHED,SCHED_Tasks_C2,-1,processactivate
-476100100,TASK_5MS,238,STI,IR_SCHED_Tasks_C2,1533,trigger
-476100100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-476125100,TASK_WritingActuator,238,SEM,SEM_DataElement1,0,requestsemaphore,0
-476125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-476125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-476125100,Core_2,0,C,Core_2,0,lock
-476125100,TASK_WritingActuator,238,SEM,SEM_DataElement1,0,assigned,1
-476125150,TASK_WritingActuator,238,R,FUNC_SEMLOCK,476,terminate
-476125150,Core_2,0,C,Core_2,0,unlock
-476125150,TASK_WritingActuator,238,R,FUNC_WriteData,238,start
-476150000,SIM,-1,STI,TIMER-A_2ms,238,trigger
-476150000,TIMER-A_2ms,238,T,TASK_InputProcessing,238,activate
-476150000,TASK_InputProcessing,238,SCHED,SCHED_Tasks_C1,-1,processactivate
-476150100,TASK_InputProcessing,238,STI,IR_SCHED_Tasks_C1,1603,trigger
-476150100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-476150100,Core_1,0,T,TASK_InputProcessing,238,start
-476150100,TASK_InputProcessing,238,R,FUNC_SEMLOCK,477,start
-476150100,Core_1,0,C,Core_1,0,execute
-476150100,TASK_InputProcessing,238,C,Core_1,0,execute
-476152350,TASK_WritingActuator,238,SIG,SIG_Mixture,0,write,0
-476152350,TASK_WritingActuator,238,R,FUNC_WriteData,238,terminate
-476152350,TASK_WritingActuator,238,R,FUNC_SEMUNLOCK,476,start
-476250000,SIM,-1,STI,TIMER-1MS,476,trigger
-476250000,TIMER-1MS,476,T,TASK_1MS,476,activate
-476250000,TASK_1MS,476,SCHED,SCHED_Tasks_C1,-1,processactivate
-476250100,TASK_1MS,476,STI,IR_SCHED_Tasks_C1,1604,trigger
-476250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-476250100,TASK_InputProcessing,238,R,FUNC_SEMLOCK,477,suspend
-476250100,Core_1,0,T,TASK_InputProcessing,238,preempt
-476250100,Core_1,0,C,Core_1,0,idle_execution
-476250100,TASK_InputProcessing,238,C,Core_1,0,idle_execution
-476250100,Core_1,0,T,TASK_1MS,476,start
-476250100,TASK_1MS,476,R,FUNC_EXECTIME_1,870,start
-476250100,Core_1,0,C,Core_1,0,execute
-476250100,TASK_1MS,476,C,Core_1,0,execute
-476352350,TASK_WritingActuator,238,SEM,SEM_DataElement1,0,released,1
-476352350,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-476352350,TASK_WritingActuator,238,SCHED,SCHED_Tasks_C2,-1,schedulepoint
-476352350,Core_2,0,C,Core_2,0,lock
-476352400,TASK_WritingActuator,238,R,FUNC_SEMUNLOCK,476,terminate
-476352400,Core_2,0,T,TASK_WritingActuator,238,terminate
-476352400,TASK_WritingActuator,238,SCHED,SCHED_Tasks_C2,-1,processterminate
-476352400,Core_2,0,C,Core_2,0,unlock
-476352400,Core_2,0,C,Core_2,0,idle
-476352400,TASK_WritingActuator,238,C,Core_2,0,idle
-476352450,TASK_WritingActuator,238,STI,IR_SCHED_Tasks_C2,1534,trigger
-476352450,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-476352450,Core_2,0,T,TASK_5MS,238,start
-476352450,TASK_5MS,238,R,FUNC_EXECTIME_1,869,start
-476352450,Core_2,0,C,Core_2,0,execute
-476352450,TASK_5MS,238,C,Core_2,0,execute
-476771325,TASK_1MS,476,R,FUNC_EXECTIME_1,870,terminate
-476771325,Core_1,0,T,TASK_1MS,476,terminate
-476771325,TASK_1MS,476,SCHED,SCHED_Tasks_C1,-1,processterminate
-476771325,Core_1,0,C,Core_1,0,idle
-476771325,TASK_1MS,476,C,Core_1,0,idle
-476771425,TASK_1MS,476,STI,IR_SCHED_Tasks_C1,1605,trigger
-476771425,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-476771425,Core_1,0,C,Core_1,0,execute_idle
-476771425,TASK_InputProcessing,238,C,Core_1,0,execute_idle
-476771425,Core_1,0,T,TASK_InputProcessing,238,resume
-476771425,TASK_InputProcessing,238,R,FUNC_SEMLOCK,477,resume
-476796425,TASK_InputProcessing,238,SEM,SEM_DataElement1,0,requestsemaphore,0
-476796425,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-476796425,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-476796425,Core_1,0,C,Core_1,0,lock
-476796425,TASK_InputProcessing,238,SEM,SEM_DataElement1,0,assigned,1
-476796475,TASK_InputProcessing,238,R,FUNC_SEMLOCK,477,terminate
-476796475,Core_1,0,C,Core_1,0,unlock
-476796475,TASK_InputProcessing,238,R,FUNC_ReadSensorData,238,start
-476955175,TASK_InputProcessing,238,SIG,SIG_RotationSpeed,0,read,0
-476955175,TASK_InputProcessing,238,SIG,SIG_Lambda,0,read,0
-476955175,TASK_InputProcessing,238,SIG,SIG_Temperature,0,read,0
-476955175,TASK_InputProcessing,238,R,FUNC_ReadSensorData,238,terminate
-476955175,TASK_InputProcessing,238,R,FUNC_SEMUNLOCK,477,start
-476967550,TASK_5MS,238,R,FUNC_EXECTIME_1,869,terminate
-476967550,Core_2,0,T,TASK_5MS,238,terminate
-476967550,TASK_5MS,238,SCHED,SCHED_Tasks_C2,-1,processterminate
-476967550,Core_2,0,C,Core_2,0,idle
-476967550,TASK_5MS,238,C,Core_2,0,idle
-476967650,TASK_5MS,238,STI,IR_SCHED_Tasks_C2,1535,trigger
-476967650,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-476967650,Core_2,0,C,Core_2,0,execute_idle
-476967650,TASK_10MS,47,C,Core_2,0,execute_idle
-476967650,Core_2,0,T,TASK_10MS,47,resume
-476967650,TASK_10MS,47,R,FUNC_EXECTIME_1,867,resume
-477155175,TASK_InputProcessing,238,SEM,SEM_DataElement1,0,released,1
-477155175,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-477155175,TASK_InputProcessing,238,SCHED,SCHED_Tasks_C1,-1,schedulepoint
-477155175,Core_1,0,C,Core_1,0,lock
-477155225,TASK_InputProcessing,238,R,FUNC_SEMUNLOCK,477,terminate
-477155225,Core_1,0,C,Core_1,0,unlock
-477155225,TASK_InputProcessing,238,STI,IPA_InputReady,238,trigger
-477155225,IPA_InputReady,238,T,TASK_CalcEngineSpeed,238,activate
-477155225,TASK_CalcEngineSpeed,238,SCHED,SCHED_Tasks_C2,-1,processactivate
-477155225,Core_1,0,T,TASK_InputProcessing,238,terminate
-477155225,TASK_InputProcessing,238,SCHED,SCHED_Tasks_C1,-1,processterminate
-477155225,Core_1,0,C,Core_1,0,idle
-477155225,TASK_InputProcessing,238,C,Core_1,0,idle
-477155275,TASK_InputProcessing,238,STI,IR_SCHED_Tasks_C1,1606,trigger
-477155275,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-477155325,TASK_CalcEngineSpeed,238,STI,IR_SCHED_Tasks_C2,1536,trigger
-477155325,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-477155325,TASK_10MS,47,R,FUNC_EXECTIME_1,867,suspend
-477155325,Core_2,0,T,TASK_10MS,47,preempt
-477155325,Core_2,0,C,Core_2,0,idle_execution
-477155325,TASK_10MS,47,C,Core_2,0,idle_execution
-477155325,Core_2,0,T,TASK_CalcEngineSpeed,238,start
-477155325,TASK_CalcEngineSpeed,238,R,FUNC_ENGINESPEED,238,start
-477155325,Core_2,0,C,Core_2,0,execute
-477155325,TASK_CalcEngineSpeed,238,C,Core_2,0,execute
-477250000,SIM,-1,STI,TIMER-1MS,477,trigger
-477250000,TIMER-1MS,477,T,TASK_1MS,477,activate
-477250000,TASK_1MS,477,SCHED,SCHED_Tasks_C1,-1,processactivate
-477250100,TASK_1MS,477,STI,IR_SCHED_Tasks_C1,1607,trigger
-477250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-477250100,Core_1,0,T,TASK_1MS,477,start
-477250100,TASK_1MS,477,R,FUNC_EXECTIME_1,871,start
-477250100,Core_1,0,C,Core_1,0,execute
-477250100,TASK_1MS,477,C,Core_1,0,execute
-477354625,TASK_CalcEngineSpeed,238,R,FUNC_ENGINESPEED,238,terminate
-477354625,Core_2,0,T,TASK_CalcEngineSpeed,238,terminate
-477354625,TASK_CalcEngineSpeed,238,SCHED,SCHED_Tasks_C2,-1,processterminate
-477354625,Core_2,0,C,Core_2,0,idle
-477354625,TASK_CalcEngineSpeed,238,C,Core_2,0,idle
-477354725,TASK_CalcEngineSpeed,238,STI,IR_SCHED_Tasks_C2,1537,trigger
-477354725,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-477354725,Core_2,0,C,Core_2,0,execute_idle
-477354725,TASK_10MS,47,C,Core_2,0,execute_idle
-477354725,Core_2,0,T,TASK_10MS,47,resume
-477354725,TASK_10MS,47,R,FUNC_EXECTIME_1,867,resume
-477415025,TASK_10MS,47,R,FUNC_EXECTIME_1,867,terminate
-477415025,Core_2,0,T,TASK_10MS,47,terminate
-477415025,TASK_10MS,47,SCHED,SCHED_Tasks_C2,-1,processterminate
-477415025,Core_2,0,C,Core_2,0,idle
-477415025,TASK_10MS,47,C,Core_2,0,idle
-477415125,TASK_10MS,47,STI,IR_SCHED_Tasks_C2,1538,trigger
-477415125,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-477808425,TASK_1MS,477,R,FUNC_EXECTIME_1,871,terminate
-477808425,Core_1,0,T,TASK_1MS,477,terminate
-477808425,TASK_1MS,477,SCHED,SCHED_Tasks_C1,-1,processterminate
-477808425,Core_1,0,C,Core_1,0,idle
-477808425,TASK_1MS,477,C,Core_1,0,idle
-477808525,TASK_1MS,477,STI,IR_SCHED_Tasks_C1,1608,trigger
-477808525,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-478000000,SIM,-1,STI,TIMER-B_2ms,239,trigger
-478000000,TIMER-B_2ms,239,T,TASK_WritingActuator,239,activate
-478000000,TASK_WritingActuator,239,SCHED,SCHED_Tasks_C2,-1,processactivate
-478000100,TASK_WritingActuator,239,STI,IR_SCHED_Tasks_C2,1539,trigger
-478000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-478000100,Core_2,0,T,TASK_WritingActuator,239,start
-478000100,TASK_WritingActuator,239,R,FUNC_SEMLOCK,478,start
-478000100,Core_2,0,C,Core_2,0,execute
-478000100,TASK_WritingActuator,239,C,Core_2,0,execute
-478100000,SIM,-1,STI,TIMER-5MS,239,trigger
-478100000,TIMER-5MS,239,T,TASK_5MS,239,activate
-478100000,TASK_5MS,239,SCHED,SCHED_Tasks_C2,-1,processactivate
-478100100,TASK_5MS,239,STI,IR_SCHED_Tasks_C2,1540,trigger
-478100100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-478125100,TASK_WritingActuator,239,SEM,SEM_DataElement1,0,requestsemaphore,0
-478125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-478125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-478125100,Core_2,0,C,Core_2,0,lock
-478125100,TASK_WritingActuator,239,SEM,SEM_DataElement1,0,assigned,1
-478125150,TASK_WritingActuator,239,R,FUNC_SEMLOCK,478,terminate
-478125150,Core_2,0,C,Core_2,0,unlock
-478125150,TASK_WritingActuator,239,R,FUNC_WriteData,239,start
-478150000,SIM,-1,STI,TIMER-A_2ms,239,trigger
-478150000,TIMER-A_2ms,239,T,TASK_InputProcessing,239,activate
-478150000,TASK_InputProcessing,239,SCHED,SCHED_Tasks_C1,-1,processactivate
-478150100,TASK_InputProcessing,239,STI,IR_SCHED_Tasks_C1,1609,trigger
-478150100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-478150100,Core_1,0,T,TASK_InputProcessing,239,start
-478150100,TASK_InputProcessing,239,R,FUNC_SEMLOCK,479,start
-478150100,Core_1,0,C,Core_1,0,execute
-478150100,TASK_InputProcessing,239,C,Core_1,0,execute
-478151500,TASK_WritingActuator,239,SIG,SIG_Mixture,0,write,0
-478151500,TASK_WritingActuator,239,R,FUNC_WriteData,239,terminate
-478151500,TASK_WritingActuator,239,R,FUNC_SEMUNLOCK,478,start
-478250000,SIM,-1,STI,TIMER-1MS,478,trigger
-478250000,TIMER-1MS,478,T,TASK_1MS,478,activate
-478250000,TASK_1MS,478,SCHED,SCHED_Tasks_C1,-1,processactivate
-478250100,TASK_1MS,478,STI,IR_SCHED_Tasks_C1,1610,trigger
-478250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-478250100,TASK_InputProcessing,239,R,FUNC_SEMLOCK,479,suspend
-478250100,Core_1,0,T,TASK_InputProcessing,239,preempt
-478250100,Core_1,0,C,Core_1,0,idle_execution
-478250100,TASK_InputProcessing,239,C,Core_1,0,idle_execution
-478250100,Core_1,0,T,TASK_1MS,478,start
-478250100,TASK_1MS,478,R,FUNC_EXECTIME_1,873,start
-478250100,Core_1,0,C,Core_1,0,execute
-478250100,TASK_1MS,478,C,Core_1,0,execute
-478351500,TASK_WritingActuator,239,SEM,SEM_DataElement1,0,released,1
-478351500,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-478351500,TASK_WritingActuator,239,SCHED,SCHED_Tasks_C2,-1,schedulepoint
-478351500,Core_2,0,C,Core_2,0,lock
-478351550,TASK_WritingActuator,239,R,FUNC_SEMUNLOCK,478,terminate
-478351550,Core_2,0,T,TASK_WritingActuator,239,terminate
-478351550,TASK_WritingActuator,239,SCHED,SCHED_Tasks_C2,-1,processterminate
-478351550,Core_2,0,C,Core_2,0,unlock
-478351550,Core_2,0,C,Core_2,0,idle
-478351550,TASK_WritingActuator,239,C,Core_2,0,idle
-478351600,TASK_WritingActuator,239,STI,IR_SCHED_Tasks_C2,1541,trigger
-478351600,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-478351600,Core_2,0,T,TASK_5MS,239,start
-478351600,TASK_5MS,239,R,FUNC_EXECTIME_1,872,start
-478351600,Core_2,0,C,Core_2,0,execute
-478351600,TASK_5MS,239,C,Core_2,0,execute
-478642200,TASK_1MS,478,R,FUNC_EXECTIME_1,873,terminate
-478642200,Core_1,0,T,TASK_1MS,478,terminate
-478642200,TASK_1MS,478,SCHED,SCHED_Tasks_C1,-1,processterminate
-478642200,Core_1,0,C,Core_1,0,idle
-478642200,TASK_1MS,478,C,Core_1,0,idle
-478642300,TASK_1MS,478,STI,IR_SCHED_Tasks_C1,1611,trigger
-478642300,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-478642300,Core_1,0,C,Core_1,0,execute_idle
-478642300,TASK_InputProcessing,239,C,Core_1,0,execute_idle
-478642300,Core_1,0,T,TASK_InputProcessing,239,resume
-478642300,TASK_InputProcessing,239,R,FUNC_SEMLOCK,479,resume
-478667300,TASK_InputProcessing,239,SEM,SEM_DataElement1,0,requestsemaphore,0
-478667300,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-478667300,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-478667300,Core_1,0,C,Core_1,0,lock
-478667300,TASK_InputProcessing,239,SEM,SEM_DataElement1,0,assigned,1
-478667350,TASK_InputProcessing,239,R,FUNC_SEMLOCK,479,terminate
-478667350,Core_1,0,C,Core_1,0,unlock
-478667350,TASK_InputProcessing,239,R,FUNC_ReadSensorData,239,start
-478830100,TASK_InputProcessing,239,SIG,SIG_RotationSpeed,0,read,0
-478830100,TASK_InputProcessing,239,SIG,SIG_Lambda,0,read,0
-478830100,TASK_InputProcessing,239,SIG,SIG_Temperature,0,read,0
-478830100,TASK_InputProcessing,239,R,FUNC_ReadSensorData,239,terminate
-478830100,TASK_InputProcessing,239,R,FUNC_SEMUNLOCK,479,start
-479030100,TASK_InputProcessing,239,SEM,SEM_DataElement1,0,released,1
-479030100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-479030100,TASK_InputProcessing,239,SCHED,SCHED_Tasks_C1,-1,schedulepoint
-479030100,Core_1,0,C,Core_1,0,lock
-479030150,TASK_InputProcessing,239,R,FUNC_SEMUNLOCK,479,terminate
-479030150,Core_1,0,C,Core_1,0,unlock
-479030150,TASK_InputProcessing,239,STI,IPA_InputReady,239,trigger
-479030150,IPA_InputReady,239,T,TASK_CalcEngineSpeed,239,activate
-479030150,TASK_CalcEngineSpeed,239,SCHED,SCHED_Tasks_C2,-1,processactivate
-479030150,Core_1,0,T,TASK_InputProcessing,239,terminate
-479030150,TASK_InputProcessing,239,SCHED,SCHED_Tasks_C1,-1,processterminate
-479030150,Core_1,0,C,Core_1,0,idle
-479030150,TASK_InputProcessing,239,C,Core_1,0,idle
-479030200,TASK_InputProcessing,239,STI,IR_SCHED_Tasks_C1,1612,trigger
-479030200,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-479030250,TASK_CalcEngineSpeed,239,STI,IR_SCHED_Tasks_C2,1542,trigger
-479030250,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-479030250,TASK_5MS,239,R,FUNC_EXECTIME_1,872,suspend
-479030250,Core_2,0,T,TASK_5MS,239,preempt
-479030250,Core_2,0,C,Core_2,0,idle_execution
-479030250,TASK_5MS,239,C,Core_2,0,idle_execution
-479030250,Core_2,0,T,TASK_CalcEngineSpeed,239,start
-479030250,TASK_CalcEngineSpeed,239,R,FUNC_ENGINESPEED,239,start
-479030250,Core_2,0,C,Core_2,0,execute
-479030250,TASK_CalcEngineSpeed,239,C,Core_2,0,execute
-479250000,SIM,-1,STI,TIMER-1MS,479,trigger
-479250000,TIMER-1MS,479,T,TASK_1MS,479,activate
-479250000,TASK_1MS,479,SCHED,SCHED_Tasks_C1,-1,processactivate
-479250100,TASK_1MS,479,STI,IR_SCHED_Tasks_C1,1613,trigger
-479250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-479250100,Core_1,0,T,TASK_1MS,479,start
-479250100,TASK_1MS,479,R,FUNC_EXECTIME_1,874,start
-479250100,Core_1,0,C,Core_1,0,execute
-479250100,TASK_1MS,479,C,Core_1,0,execute
-479271500,TASK_CalcEngineSpeed,239,R,FUNC_ENGINESPEED,239,terminate
-479271500,Core_2,0,T,TASK_CalcEngineSpeed,239,terminate
-479271500,TASK_CalcEngineSpeed,239,SCHED,SCHED_Tasks_C2,-1,processterminate
-479271500,Core_2,0,C,Core_2,0,idle
-479271500,TASK_CalcEngineSpeed,239,C,Core_2,0,idle
-479271600,TASK_CalcEngineSpeed,239,STI,IR_SCHED_Tasks_C2,1543,trigger
-479271600,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-479271600,Core_2,0,C,Core_2,0,execute_idle
-479271600,TASK_5MS,239,C,Core_2,0,execute_idle
-479271600,Core_2,0,T,TASK_5MS,239,resume
-479271600,TASK_5MS,239,R,FUNC_EXECTIME_1,872,resume
-479478600,TASK_5MS,239,R,FUNC_EXECTIME_1,872,terminate
-479478600,Core_2,0,T,TASK_5MS,239,terminate
-479478600,TASK_5MS,239,SCHED,SCHED_Tasks_C2,-1,processterminate
-479478600,Core_2,0,C,Core_2,0,idle
-479478600,TASK_5MS,239,C,Core_2,0,idle
-479478700,TASK_5MS,239,STI,IR_SCHED_Tasks_C2,1544,trigger
-479478700,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-479832750,TASK_1MS,479,R,FUNC_EXECTIME_1,874,terminate
-479832750,Core_1,0,T,TASK_1MS,479,terminate
-479832750,TASK_1MS,479,SCHED,SCHED_Tasks_C1,-1,processterminate
-479832750,Core_1,0,C,Core_1,0,idle
-479832750,TASK_1MS,479,C,Core_1,0,idle
-479832850,TASK_1MS,479,STI,IR_SCHED_Tasks_C1,1614,trigger
-479832850,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-480000000,SIM,-1,STI,TIMER-B_2ms,240,trigger
-480000000,TIMER-B_2ms,240,T,TASK_WritingActuator,240,activate
-480000000,TASK_WritingActuator,240,SCHED,SCHED_Tasks_C2,-1,processactivate
-480000000,SIM,-1,STI,TIMER-10MS_2,48,trigger
-480000000,TIMER-10MS_2,48,T,TASK_10MS_DL2,48,activate
-480000000,TASK_10MS_DL2,48,SCHED,SCHED_Tasks_C1,-1,processactivate
-480000100,TASK_WritingActuator,240,STI,IR_SCHED_Tasks_C2,1545,trigger
-480000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-480000100,Core_2,0,T,TASK_WritingActuator,240,start
-480000100,TASK_WritingActuator,240,R,FUNC_SEMLOCK,480,start
-480000100,Core_2,0,C,Core_2,0,execute
-480000100,TASK_WritingActuator,240,C,Core_2,0,execute
-480000100,TASK_10MS_DL2,48,STI,IR_SCHED_Tasks_C1,1615,trigger
-480000100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-480000100,Core_1,0,T,TASK_10MS_DL2,48,start
-480000100,TASK_10MS_DL2,48,R,FUNC_EXECTIME_1,875,start
-480000100,Core_1,0,C,Core_1,0,execute
-480000100,TASK_10MS_DL2,48,C,Core_1,0,execute
-480005000,SIM,-1,STI,TIMER-20MS,24,trigger
-480005000,TIMER-20MS,24,T,TASK_20MS,24,activate
-480005000,TASK_20MS,24,SCHED,SCHED_Tasks_C1,-1,processactivate
-480005100,TASK_20MS,24,STI,IR_SCHED_Tasks_C1,1616,trigger
-480005100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-480100000,SIM,-1,STI,TIMER-5MS,240,trigger
-480100000,TIMER-5MS,240,T,TASK_5MS,240,activate
-480100000,TASK_5MS,240,SCHED,SCHED_Tasks_C2,-1,processactivate
-480100100,TASK_5MS,240,STI,IR_SCHED_Tasks_C2,1546,trigger
-480100100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-480125100,TASK_WritingActuator,240,SEM,SEM_DataElement1,0,requestsemaphore,0
-480125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-480125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-480125100,Core_2,0,C,Core_2,0,lock
-480125100,TASK_WritingActuator,240,SEM,SEM_DataElement1,0,assigned,1
-480125150,TASK_WritingActuator,240,R,FUNC_SEMLOCK,480,terminate
-480125150,Core_2,0,C,Core_2,0,unlock
-480125150,TASK_WritingActuator,240,R,FUNC_WriteData,240,start
-480150000,SIM,-1,STI,TIMER-A_2ms,240,trigger
-480150000,TIMER-A_2ms,240,T,TASK_InputProcessing,240,activate
-480150000,TASK_InputProcessing,240,SCHED,SCHED_Tasks_C1,-1,processactivate
-480150100,TASK_InputProcessing,240,STI,IR_SCHED_Tasks_C1,1617,trigger
-480150100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-480152200,TASK_WritingActuator,240,SIG,SIG_Mixture,0,write,0
-480152200,TASK_WritingActuator,240,R,FUNC_WriteData,240,terminate
-480152200,TASK_WritingActuator,240,R,FUNC_SEMUNLOCK,480,start
-480250000,SIM,-1,STI,TIMER-1MS,480,trigger
-480250000,TIMER-1MS,480,T,TASK_1MS,480,activate
-480250000,TASK_1MS,480,SCHED,SCHED_Tasks_C1,-1,processactivate
-480250100,TASK_1MS,480,STI,IR_SCHED_Tasks_C1,1618,trigger
-480250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-480250100,TASK_10MS_DL2,48,R,FUNC_EXECTIME_1,875,suspend
-480250100,Core_1,0,T,TASK_10MS_DL2,48,preempt
-480250100,Core_1,0,C,Core_1,0,idle_execution
-480250100,TASK_10MS_DL2,48,C,Core_1,0,idle_execution
-480250100,Core_1,0,T,TASK_1MS,480,start
-480250100,TASK_1MS,480,R,FUNC_EXECTIME_1,878,start
-480250100,Core_1,0,C,Core_1,0,execute
-480250100,TASK_1MS,480,C,Core_1,0,execute
-480352200,TASK_WritingActuator,240,SEM,SEM_DataElement1,0,released,1
-480352200,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-480352200,TASK_WritingActuator,240,SCHED,SCHED_Tasks_C2,-1,schedulepoint
-480352200,Core_2,0,C,Core_2,0,lock
-480352250,TASK_WritingActuator,240,R,FUNC_SEMUNLOCK,480,terminate
-480352250,Core_2,0,T,TASK_WritingActuator,240,terminate
-480352250,TASK_WritingActuator,240,SCHED,SCHED_Tasks_C2,-1,processterminate
-480352250,Core_2,0,C,Core_2,0,unlock
-480352250,Core_2,0,C,Core_2,0,idle
-480352250,TASK_WritingActuator,240,C,Core_2,0,idle
-480352300,TASK_WritingActuator,240,STI,IR_SCHED_Tasks_C2,1547,trigger
-480352300,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-480352300,Core_2,0,T,TASK_5MS,240,start
-480352300,TASK_5MS,240,R,FUNC_EXECTIME_1,877,start
-480352300,Core_2,0,C,Core_2,0,execute
-480352300,TASK_5MS,240,C,Core_2,0,execute
-480708550,TASK_5MS,240,R,FUNC_EXECTIME_1,877,terminate
-480708550,Core_2,0,T,TASK_5MS,240,terminate
-480708550,TASK_5MS,240,SCHED,SCHED_Tasks_C2,-1,processterminate
-480708550,Core_2,0,C,Core_2,0,idle
-480708550,TASK_5MS,240,C,Core_2,0,idle
-480708650,TASK_5MS,240,STI,IR_SCHED_Tasks_C2,1548,trigger
-480708650,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-481134575,TASK_1MS,480,R,FUNC_EXECTIME_1,878,terminate
-481134575,Core_1,0,T,TASK_1MS,480,terminate
-481134575,TASK_1MS,480,SCHED,SCHED_Tasks_C1,-1,processterminate
-481134575,Core_1,0,C,Core_1,0,idle
-481134575,TASK_1MS,480,C,Core_1,0,idle
-481134675,TASK_1MS,480,STI,IR_SCHED_Tasks_C1,1619,trigger
-481134675,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-481134675,Core_1,0,C,Core_1,0,execute_idle
-481134675,TASK_10MS_DL2,48,C,Core_1,0,execute_idle
-481134675,Core_1,0,T,TASK_10MS_DL2,48,resume
-481134675,TASK_10MS_DL2,48,R,FUNC_EXECTIME_1,875,resume
-481238025,TASK_10MS_DL2,48,R,FUNC_EXECTIME_1,875,terminate
-481238025,Core_1,0,T,TASK_10MS_DL2,48,terminate
-481238025,TASK_10MS_DL2,48,SCHED,SCHED_Tasks_C1,-1,processterminate
-481238025,Core_1,0,C,Core_1,0,idle
-481238025,TASK_10MS_DL2,48,C,Core_1,0,idle
-481238125,TASK_10MS_DL2,48,STI,IR_SCHED_Tasks_C1,1620,trigger
-481238125,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-481238125,Core_1,0,T,TASK_InputProcessing,240,start
-481238125,TASK_InputProcessing,240,R,FUNC_SEMLOCK,481,start
-481238125,Core_1,0,C,Core_1,0,execute
-481238125,TASK_InputProcessing,240,C,Core_1,0,execute
-481250000,SIM,-1,STI,TIMER-1MS,481,trigger
-481250000,TIMER-1MS,481,T,TASK_1MS,481,activate
-481250000,TASK_1MS,481,SCHED,SCHED_Tasks_C1,-1,processactivate
-481250100,TASK_1MS,481,STI,IR_SCHED_Tasks_C1,1621,trigger
-481250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-481250100,TASK_InputProcessing,240,R,FUNC_SEMLOCK,481,suspend
-481250100,Core_1,0,T,TASK_InputProcessing,240,preempt
-481250100,Core_1,0,C,Core_1,0,idle_execution
-481250100,TASK_InputProcessing,240,C,Core_1,0,idle_execution
-481250100,Core_1,0,T,TASK_1MS,481,start
-481250100,TASK_1MS,481,R,FUNC_EXECTIME_1,879,start
-481250100,Core_1,0,C,Core_1,0,execute
-481250100,TASK_1MS,481,C,Core_1,0,execute
-481867875,TASK_1MS,481,R,FUNC_EXECTIME_1,879,terminate
-481867875,Core_1,0,T,TASK_1MS,481,terminate
-481867875,TASK_1MS,481,SCHED,SCHED_Tasks_C1,-1,processterminate
-481867875,Core_1,0,C,Core_1,0,idle
-481867875,TASK_1MS,481,C,Core_1,0,idle
-481867975,TASK_1MS,481,STI,IR_SCHED_Tasks_C1,1622,trigger
-481867975,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-481867975,Core_1,0,C,Core_1,0,execute_idle
-481867975,TASK_InputProcessing,240,C,Core_1,0,execute_idle
-481867975,Core_1,0,T,TASK_InputProcessing,240,resume
-481867975,TASK_InputProcessing,240,R,FUNC_SEMLOCK,481,resume
-481981000,TASK_InputProcessing,240,SEM,SEM_DataElement1,0,requestsemaphore,0
-481981000,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-481981000,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-481981000,Core_1,0,C,Core_1,0,lock
-481981000,TASK_InputProcessing,240,SEM,SEM_DataElement1,0,assigned,1
-481981050,TASK_InputProcessing,240,R,FUNC_SEMLOCK,481,terminate
-481981050,Core_1,0,C,Core_1,0,unlock
-481981050,TASK_InputProcessing,240,R,FUNC_ReadSensorData,240,start
-482000000,SIM,-1,STI,TIMER-B_2ms,241,trigger
-482000000,TIMER-B_2ms,241,T,TASK_WritingActuator,241,activate
-482000000,TASK_WritingActuator,241,SCHED,SCHED_Tasks_C2,-1,processactivate
-482000100,TASK_WritingActuator,241,STI,IR_SCHED_Tasks_C2,1549,trigger
-482000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-482000100,Core_2,0,T,TASK_WritingActuator,241,start
-482000100,TASK_WritingActuator,241,R,FUNC_SEMLOCK,482,start
-482000100,Core_2,0,C,Core_2,0,execute
-482000100,TASK_WritingActuator,241,C,Core_2,0,execute
-482100000,SIM,-1,STI,TIMER-5MS,241,trigger
-482100000,TIMER-5MS,241,T,TASK_5MS,241,activate
-482100000,TASK_5MS,241,SCHED,SCHED_Tasks_C2,-1,processactivate
-482100100,TASK_5MS,241,STI,IR_SCHED_Tasks_C2,1550,trigger
-482100100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-482125100,TASK_WritingActuator,241,SEM,SEM_DataElement1,0,requestsemaphore,1
-482125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,1
-482125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,overfull,2
-482125100,Core_2,0,C,Core_2,0,lock
-482125100,TASK_WritingActuator,241,SEM,SEM_DataElement1,0,waiting,2
-482125150,Core_2,0,T,TASK_WritingActuator,241,poll
-482125150,TASK_WritingActuator,241,SCHED,SCHED_Tasks_C2,-1,processpolling
-482125150,Core_2,0,C,Core_2,0,wait_postexecution
-482125150,TASK_WritingActuator,241,C,Core_2,0,wait_postexecution
-482125150,Core_2,0,C,Core_2,0,unlock
-482143325,TASK_InputProcessing,240,SIG,SIG_RotationSpeed,0,read,0
-482143325,TASK_InputProcessing,240,SIG,SIG_Lambda,0,read,0
-482143325,TASK_InputProcessing,240,SIG,SIG_Temperature,0,read,0
-482143325,TASK_InputProcessing,240,R,FUNC_ReadSensorData,240,terminate
-482143325,TASK_InputProcessing,240,R,FUNC_SEMUNLOCK,481,start
-482150000,SIM,-1,STI,TIMER-A_2ms,241,trigger
-482150000,TIMER-A_2ms,241,T,TASK_InputProcessing,241,activate
-482150000,TASK_InputProcessing,241,SCHED,SCHED_Tasks_C1,-1,processactivate
-482150100,TASK_InputProcessing,241,STI,IR_SCHED_Tasks_C1,1623,trigger
-482150100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-482250000,SIM,-1,STI,TIMER-1MS,482,trigger
-482250000,TIMER-1MS,482,T,TASK_1MS,482,activate
-482250000,TASK_1MS,482,SCHED,SCHED_Tasks_C1,-1,processactivate
-482250100,TASK_1MS,482,STI,IR_SCHED_Tasks_C1,1624,trigger
-482250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-482343325,TASK_InputProcessing,240,SEM,SEM_DataElement1,0,released,2
-482343325,TASK_WritingActuator,241,SEM,SEM_DataElement1,0,assigned,1
-482343325,Core_2,0,T,TASK_WritingActuator,241,run
-482343325,TASK_WritingActuator,241,R,FUNC_SEMLOCK,482,terminate
-482343325,TASK_WritingActuator,241,R,FUNC_WriteData,241,start
-482343325,Core_2,0,C,Core_2,0,execute_waiting
-482343325,TASK_WritingActuator,241,C,Core_2,0,execute_waiting
-482343325,SEM_DataElement1,0,SEM,SEM_DataElement1,0,full,1
-482343325,TASK_InputProcessing,240,SCHED,SCHED_Tasks_C1,-1,schedulepoint
-482343325,Core_1,0,C,Core_1,0,lock
-482343375,TASK_InputProcessing,240,R,FUNC_SEMUNLOCK,481,terminate
-482343375,Core_1,0,C,Core_1,0,unlock
-482343375,TASK_InputProcessing,240,STI,IPA_InputReady,240,trigger
-482343375,IPA_InputReady,240,T,TASK_CalcEngineSpeed,240,activate
-482343375,TASK_CalcEngineSpeed,240,SCHED,SCHED_Tasks_C2,-1,processactivate
-482343375,Core_1,0,T,TASK_InputProcessing,240,terminate
-482343375,TASK_InputProcessing,240,SCHED,SCHED_Tasks_C1,-1,processterminate
-482343375,Core_1,0,C,Core_1,0,idle
-482343375,TASK_InputProcessing,240,C,Core_1,0,idle
-482343425,TASK_InputProcessing,240,STI,IR_SCHED_Tasks_C1,1625,trigger
-482343425,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-482343425,Core_1,0,T,TASK_1MS,482,start
-482343425,TASK_1MS,482,R,FUNC_EXECTIME_1,881,start
-482343425,Core_1,0,C,Core_1,0,execute
-482343425,TASK_1MS,482,C,Core_1,0,execute
-482343475,TASK_CalcEngineSpeed,240,STI,IR_SCHED_Tasks_C2,1551,trigger
-482343475,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-482370400,TASK_WritingActuator,241,SIG,SIG_Mixture,0,write,0
-482370400,TASK_WritingActuator,241,R,FUNC_WriteData,241,terminate
-482370400,TASK_WritingActuator,241,R,FUNC_SEMUNLOCK,482,start
-482570400,TASK_WritingActuator,241,SEM,SEM_DataElement1,0,released,1
-482570400,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-482570400,TASK_WritingActuator,241,SCHED,SCHED_Tasks_C2,-1,schedulepoint
-482570400,Core_2,0,C,Core_2,0,lock
-482570450,TASK_WritingActuator,241,R,FUNC_SEMUNLOCK,482,terminate
-482570450,Core_2,0,T,TASK_WritingActuator,241,terminate
-482570450,TASK_WritingActuator,241,SCHED,SCHED_Tasks_C2,-1,processterminate
-482570450,Core_2,0,C,Core_2,0,unlock
-482570450,Core_2,0,C,Core_2,0,idle
-482570450,TASK_WritingActuator,241,C,Core_2,0,idle
-482570500,TASK_WritingActuator,241,STI,IR_SCHED_Tasks_C2,1552,trigger
-482570500,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-482570500,Core_2,0,T,TASK_CalcEngineSpeed,240,start
-482570500,TASK_CalcEngineSpeed,240,R,FUNC_ENGINESPEED,240,start
-482570500,Core_2,0,C,Core_2,0,execute
-482570500,TASK_CalcEngineSpeed,240,C,Core_2,0,execute
-482759325,TASK_CalcEngineSpeed,240,R,FUNC_ENGINESPEED,240,terminate
-482759325,Core_2,0,T,TASK_CalcEngineSpeed,240,terminate
-482759325,TASK_CalcEngineSpeed,240,SCHED,SCHED_Tasks_C2,-1,processterminate
-482759325,Core_2,0,C,Core_2,0,idle
-482759325,TASK_CalcEngineSpeed,240,C,Core_2,0,idle
-482759425,TASK_CalcEngineSpeed,240,STI,IR_SCHED_Tasks_C2,1553,trigger
-482759425,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-482759425,Core_2,0,T,TASK_5MS,241,start
-482759425,TASK_5MS,241,R,FUNC_EXECTIME_1,880,start
-482759425,Core_2,0,C,Core_2,0,execute
-482759425,TASK_5MS,241,C,Core_2,0,execute
-482857525,TASK_1MS,482,R,FUNC_EXECTIME_1,881,terminate
-482857525,Core_1,0,T,TASK_1MS,482,terminate
-482857525,TASK_1MS,482,SCHED,SCHED_Tasks_C1,-1,processterminate
-482857525,Core_1,0,C,Core_1,0,idle
-482857525,TASK_1MS,482,C,Core_1,0,idle
-482857625,TASK_1MS,482,STI,IR_SCHED_Tasks_C1,1626,trigger
-482857625,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-482857625,Core_1,0,T,TASK_InputProcessing,241,start
-482857625,TASK_InputProcessing,241,R,FUNC_SEMLOCK,483,start
-482857625,Core_1,0,C,Core_1,0,execute
-482857625,TASK_InputProcessing,241,C,Core_1,0,execute
-482982625,TASK_InputProcessing,241,SEM,SEM_DataElement1,0,requestsemaphore,0
-482982625,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-482982625,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-482982625,Core_1,0,C,Core_1,0,lock
-482982625,TASK_InputProcessing,241,SEM,SEM_DataElement1,0,assigned,1
-482982675,TASK_InputProcessing,241,R,FUNC_SEMLOCK,483,terminate
-482982675,Core_1,0,C,Core_1,0,unlock
-482982675,TASK_InputProcessing,241,R,FUNC_ReadSensorData,241,start
-483145450,TASK_InputProcessing,241,SIG,SIG_RotationSpeed,0,read,0
-483145450,TASK_InputProcessing,241,SIG,SIG_Lambda,0,read,0
-483145450,TASK_InputProcessing,241,SIG,SIG_Temperature,0,read,0
-483145450,TASK_InputProcessing,241,R,FUNC_ReadSensorData,241,terminate
-483145450,TASK_InputProcessing,241,R,FUNC_SEMUNLOCK,483,start
-483250000,SIM,-1,STI,TIMER-1MS,483,trigger
-483250000,TIMER-1MS,483,T,TASK_1MS,483,activate
-483250000,TASK_1MS,483,SCHED,SCHED_Tasks_C1,-1,processactivate
-483250100,TASK_1MS,483,STI,IR_SCHED_Tasks_C1,1627,trigger
-483250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-483326050,TASK_5MS,241,R,FUNC_EXECTIME_1,880,terminate
-483326050,Core_2,0,T,TASK_5MS,241,terminate
-483326050,TASK_5MS,241,SCHED,SCHED_Tasks_C2,-1,processterminate
-483326050,Core_2,0,C,Core_2,0,idle
-483326050,TASK_5MS,241,C,Core_2,0,idle
-483326150,TASK_5MS,241,STI,IR_SCHED_Tasks_C2,1554,trigger
-483326150,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-483345450,TASK_InputProcessing,241,SEM,SEM_DataElement1,0,released,1
-483345450,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-483345450,TASK_InputProcessing,241,SCHED,SCHED_Tasks_C1,-1,schedulepoint
-483345450,Core_1,0,C,Core_1,0,lock
-483345500,TASK_InputProcessing,241,R,FUNC_SEMUNLOCK,483,terminate
-483345500,Core_1,0,C,Core_1,0,unlock
-483345500,TASK_InputProcessing,241,STI,IPA_InputReady,241,trigger
-483345500,IPA_InputReady,241,T,TASK_CalcEngineSpeed,241,activate
-483345500,TASK_CalcEngineSpeed,241,SCHED,SCHED_Tasks_C2,-1,processactivate
-483345500,Core_1,0,T,TASK_InputProcessing,241,terminate
-483345500,TASK_InputProcessing,241,SCHED,SCHED_Tasks_C1,-1,processterminate
-483345500,Core_1,0,C,Core_1,0,idle
-483345500,TASK_InputProcessing,241,C,Core_1,0,idle
-483345550,TASK_InputProcessing,241,STI,IR_SCHED_Tasks_C1,1628,trigger
-483345550,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-483345550,Core_1,0,T,TASK_1MS,483,start
-483345550,TASK_1MS,483,R,FUNC_EXECTIME_1,882,start
-483345550,Core_1,0,C,Core_1,0,execute
-483345550,TASK_1MS,483,C,Core_1,0,execute
-483345600,TASK_CalcEngineSpeed,241,STI,IR_SCHED_Tasks_C2,1555,trigger
-483345600,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-483345600,Core_2,0,T,TASK_CalcEngineSpeed,241,start
-483345600,TASK_CalcEngineSpeed,241,R,FUNC_ENGINESPEED,241,start
-483345600,Core_2,0,C,Core_2,0,execute
-483345600,TASK_CalcEngineSpeed,241,C,Core_2,0,execute
-483478075,TASK_CalcEngineSpeed,241,R,FUNC_ENGINESPEED,241,terminate
-483478075,Core_2,0,T,TASK_CalcEngineSpeed,241,terminate
-483478075,TASK_CalcEngineSpeed,241,SCHED,SCHED_Tasks_C2,-1,processterminate
-483478075,Core_2,0,C,Core_2,0,idle
-483478075,TASK_CalcEngineSpeed,241,C,Core_2,0,idle
-483478175,TASK_CalcEngineSpeed,241,STI,IR_SCHED_Tasks_C2,1556,trigger
-483478175,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-483687075,TASK_1MS,483,R,FUNC_EXECTIME_1,882,terminate
-483687075,Core_1,0,T,TASK_1MS,483,terminate
-483687075,TASK_1MS,483,SCHED,SCHED_Tasks_C1,-1,processterminate
-483687075,Core_1,0,C,Core_1,0,idle
-483687075,TASK_1MS,483,C,Core_1,0,idle
-483687175,TASK_1MS,483,STI,IR_SCHED_Tasks_C1,1629,trigger
-483687175,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-483687175,Core_1,0,T,TASK_20MS,24,start
-483687175,TASK_20MS,24,R,FUNC_EXECTIME_1,876,start
-483687175,Core_1,0,C,Core_1,0,execute
-483687175,TASK_20MS,24,C,Core_1,0,execute
-484000000,SIM,-1,STI,TIMER-B_2ms,242,trigger
-484000000,TIMER-B_2ms,242,T,TASK_WritingActuator,242,activate
-484000000,TASK_WritingActuator,242,SCHED,SCHED_Tasks_C2,-1,processactivate
-484000100,TASK_WritingActuator,242,STI,IR_SCHED_Tasks_C2,1557,trigger
-484000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-484000100,Core_2,0,T,TASK_WritingActuator,242,start
-484000100,TASK_WritingActuator,242,R,FUNC_SEMLOCK,484,start
-484000100,Core_2,0,C,Core_2,0,execute
-484000100,TASK_WritingActuator,242,C,Core_2,0,execute
-484100000,SIM,-1,STI,TIMER-5MS,242,trigger
-484100000,TIMER-5MS,242,T,TASK_5MS,242,activate
-484100000,TASK_5MS,242,SCHED,SCHED_Tasks_C2,-1,processactivate
-484100100,TASK_5MS,242,STI,IR_SCHED_Tasks_C2,1558,trigger
-484100100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-484125100,TASK_WritingActuator,242,SEM,SEM_DataElement1,0,requestsemaphore,0
-484125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-484125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-484125100,Core_2,0,C,Core_2,0,lock
-484125100,TASK_WritingActuator,242,SEM,SEM_DataElement1,0,assigned,1
-484125150,TASK_WritingActuator,242,R,FUNC_SEMLOCK,484,terminate
-484125150,Core_2,0,C,Core_2,0,unlock
-484125150,TASK_WritingActuator,242,R,FUNC_WriteData,242,start
-484150000,SIM,-1,STI,TIMER-A_2ms,242,trigger
-484150000,TIMER-A_2ms,242,T,TASK_InputProcessing,242,activate
-484150000,TASK_InputProcessing,242,SCHED,SCHED_Tasks_C1,-1,processactivate
-484150100,TASK_InputProcessing,242,STI,IR_SCHED_Tasks_C1,1630,trigger
-484150100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-484150100,TASK_20MS,24,R,FUNC_EXECTIME_1,876,suspend
-484150100,Core_1,0,T,TASK_20MS,24,preempt
-484150100,Core_1,0,C,Core_1,0,idle_execution
-484150100,TASK_20MS,24,C,Core_1,0,idle_execution
-484150100,Core_1,0,T,TASK_InputProcessing,242,start
-484150100,TASK_InputProcessing,242,R,FUNC_SEMLOCK,485,start
-484150100,Core_1,0,C,Core_1,0,execute
-484150100,TASK_InputProcessing,242,C,Core_1,0,execute
-484152275,TASK_WritingActuator,242,SIG,SIG_Mixture,0,write,0
-484152275,TASK_WritingActuator,242,R,FUNC_WriteData,242,terminate
-484152275,TASK_WritingActuator,242,R,FUNC_SEMUNLOCK,484,start
-484250000,SIM,-1,STI,TIMER-1MS,484,trigger
-484250000,TIMER-1MS,484,T,TASK_1MS,484,activate
-484250000,TASK_1MS,484,SCHED,SCHED_Tasks_C1,-1,processactivate
-484250100,TASK_1MS,484,STI,IR_SCHED_Tasks_C1,1631,trigger
-484250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-484250100,TASK_InputProcessing,242,R,FUNC_SEMLOCK,485,suspend
-484250100,Core_1,0,T,TASK_InputProcessing,242,preempt
-484250100,Core_1,0,C,Core_1,0,idle_execution
-484250100,TASK_InputProcessing,242,C,Core_1,0,idle_execution
-484250100,Core_1,0,T,TASK_1MS,484,start
-484250100,TASK_1MS,484,R,FUNC_EXECTIME_1,884,start
-484250100,Core_1,0,C,Core_1,0,execute
-484250100,TASK_1MS,484,C,Core_1,0,execute
-484352275,TASK_WritingActuator,242,SEM,SEM_DataElement1,0,released,1
-484352275,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-484352275,TASK_WritingActuator,242,SCHED,SCHED_Tasks_C2,-1,schedulepoint
-484352275,Core_2,0,C,Core_2,0,lock
-484352325,TASK_WritingActuator,242,R,FUNC_SEMUNLOCK,484,terminate
-484352325,Core_2,0,T,TASK_WritingActuator,242,terminate
-484352325,TASK_WritingActuator,242,SCHED,SCHED_Tasks_C2,-1,processterminate
-484352325,Core_2,0,C,Core_2,0,unlock
-484352325,Core_2,0,C,Core_2,0,idle
-484352325,TASK_WritingActuator,242,C,Core_2,0,idle
-484352375,TASK_WritingActuator,242,STI,IR_SCHED_Tasks_C2,1559,trigger
-484352375,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-484352375,Core_2,0,T,TASK_5MS,242,start
-484352375,TASK_5MS,242,R,FUNC_EXECTIME_1,883,start
-484352375,Core_2,0,C,Core_2,0,execute
-484352375,TASK_5MS,242,C,Core_2,0,execute
-484660125,TASK_1MS,484,R,FUNC_EXECTIME_1,884,terminate
-484660125,Core_1,0,T,TASK_1MS,484,terminate
-484660125,TASK_1MS,484,SCHED,SCHED_Tasks_C1,-1,processterminate
-484660125,Core_1,0,C,Core_1,0,idle
-484660125,TASK_1MS,484,C,Core_1,0,idle
-484660225,TASK_1MS,484,STI,IR_SCHED_Tasks_C1,1632,trigger
-484660225,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-484660225,Core_1,0,C,Core_1,0,execute_idle
-484660225,TASK_InputProcessing,242,C,Core_1,0,execute_idle
-484660225,Core_1,0,T,TASK_InputProcessing,242,resume
-484660225,TASK_InputProcessing,242,R,FUNC_SEMLOCK,485,resume
-484685225,TASK_InputProcessing,242,SEM,SEM_DataElement1,0,requestsemaphore,0
-484685225,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-484685225,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-484685225,Core_1,0,C,Core_1,0,lock
-484685225,TASK_InputProcessing,242,SEM,SEM_DataElement1,0,assigned,1
-484685275,TASK_InputProcessing,242,R,FUNC_SEMLOCK,485,terminate
-484685275,Core_1,0,C,Core_1,0,unlock
-484685275,TASK_InputProcessing,242,R,FUNC_ReadSensorData,242,start
-484850050,TASK_InputProcessing,242,SIG,SIG_RotationSpeed,0,read,0
-484850050,TASK_InputProcessing,242,SIG,SIG_Lambda,0,read,0
-484850050,TASK_InputProcessing,242,SIG,SIG_Temperature,0,read,0
-484850050,TASK_InputProcessing,242,R,FUNC_ReadSensorData,242,terminate
-484850050,TASK_InputProcessing,242,R,FUNC_SEMUNLOCK,485,start
-485000000,SIM,-1,STI,TIMER-10MS,48,trigger
-485000000,TIMER-10MS,48,T,TASK_10MS,48,activate
-485000000,TASK_10MS,48,SCHED,SCHED_Tasks_C2,-1,processactivate
-485000100,TASK_10MS,48,STI,IR_SCHED_Tasks_C2,1560,trigger
-485000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-485050050,TASK_InputProcessing,242,SEM,SEM_DataElement1,0,released,1
-485050050,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-485050050,TASK_InputProcessing,242,SCHED,SCHED_Tasks_C1,-1,schedulepoint
-485050050,Core_1,0,C,Core_1,0,lock
-485050100,TASK_InputProcessing,242,R,FUNC_SEMUNLOCK,485,terminate
-485050100,Core_1,0,C,Core_1,0,unlock
-485050100,TASK_InputProcessing,242,STI,IPA_InputReady,242,trigger
-485050100,IPA_InputReady,242,T,TASK_CalcEngineSpeed,242,activate
-485050100,TASK_CalcEngineSpeed,242,SCHED,SCHED_Tasks_C2,-1,processactivate
-485050100,Core_1,0,T,TASK_InputProcessing,242,terminate
-485050100,TASK_InputProcessing,242,SCHED,SCHED_Tasks_C1,-1,processterminate
-485050100,Core_1,0,C,Core_1,0,idle
-485050100,TASK_InputProcessing,242,C,Core_1,0,idle
-485050150,TASK_InputProcessing,242,STI,IR_SCHED_Tasks_C1,1633,trigger
-485050150,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-485050150,Core_1,0,C,Core_1,0,execute_idle
-485050150,TASK_20MS,24,C,Core_1,0,execute_idle
-485050150,Core_1,0,T,TASK_20MS,24,resume
-485050150,TASK_20MS,24,R,FUNC_EXECTIME_1,876,resume
-485050200,TASK_CalcEngineSpeed,242,STI,IR_SCHED_Tasks_C2,1561,trigger
-485050200,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-485050200,TASK_5MS,242,R,FUNC_EXECTIME_1,883,suspend
-485050200,Core_2,0,T,TASK_5MS,242,preempt
-485050200,Core_2,0,C,Core_2,0,idle_execution
-485050200,TASK_5MS,242,C,Core_2,0,idle_execution
-485050200,Core_2,0,T,TASK_CalcEngineSpeed,242,start
-485050200,TASK_CalcEngineSpeed,242,R,FUNC_ENGINESPEED,242,start
-485050200,Core_2,0,C,Core_2,0,execute
-485050200,TASK_CalcEngineSpeed,242,C,Core_2,0,execute
-485051200,TASK_20MS,24,R,FUNC_EXECTIME_1,876,terminate
-485051200,Core_1,0,T,TASK_20MS,24,terminate
-485051200,TASK_20MS,24,SCHED,SCHED_Tasks_C1,-1,processterminate
-485051200,Core_1,0,C,Core_1,0,idle
-485051200,TASK_20MS,24,C,Core_1,0,idle
-485051300,TASK_20MS,24,STI,IR_SCHED_Tasks_C1,1634,trigger
-485051300,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-485250000,SIM,-1,STI,TIMER-1MS,485,trigger
-485250000,TIMER-1MS,485,T,TASK_1MS,485,activate
-485250000,TASK_1MS,485,SCHED,SCHED_Tasks_C1,-1,processactivate
-485250100,TASK_1MS,485,STI,IR_SCHED_Tasks_C1,1635,trigger
-485250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-485250100,Core_1,0,T,TASK_1MS,485,start
-485250100,TASK_1MS,485,R,FUNC_EXECTIME_1,886,start
-485250100,Core_1,0,C,Core_1,0,execute
-485250100,TASK_1MS,485,C,Core_1,0,execute
-485279475,TASK_CalcEngineSpeed,242,R,FUNC_ENGINESPEED,242,terminate
-485279475,Core_2,0,T,TASK_CalcEngineSpeed,242,terminate
-485279475,TASK_CalcEngineSpeed,242,SCHED,SCHED_Tasks_C2,-1,processterminate
-485279475,Core_2,0,C,Core_2,0,idle
-485279475,TASK_CalcEngineSpeed,242,C,Core_2,0,idle
-485279575,TASK_CalcEngineSpeed,242,STI,IR_SCHED_Tasks_C2,1562,trigger
-485279575,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-485279575,Core_2,0,C,Core_2,0,execute_idle
-485279575,TASK_5MS,242,C,Core_2,0,execute_idle
-485279575,Core_2,0,T,TASK_5MS,242,resume
-485279575,TASK_5MS,242,R,FUNC_EXECTIME_1,883,resume
-485605225,TASK_5MS,242,R,FUNC_EXECTIME_1,883,terminate
-485605225,Core_2,0,T,TASK_5MS,242,terminate
-485605225,TASK_5MS,242,SCHED,SCHED_Tasks_C2,-1,processterminate
-485605225,Core_2,0,C,Core_2,0,idle
-485605225,TASK_5MS,242,C,Core_2,0,idle
-485605325,TASK_5MS,242,STI,IR_SCHED_Tasks_C2,1563,trigger
-485605325,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-485605325,Core_2,0,T,TASK_10MS,48,start
-485605325,TASK_10MS,48,R,FUNC_EXECTIME_1,885,start
-485605325,Core_2,0,C,Core_2,0,execute
-485605325,TASK_10MS,48,C,Core_2,0,execute
-485713150,TASK_1MS,485,R,FUNC_EXECTIME_1,886,terminate
-485713150,Core_1,0,T,TASK_1MS,485,terminate
-485713150,TASK_1MS,485,SCHED,SCHED_Tasks_C1,-1,processterminate
-485713150,Core_1,0,C,Core_1,0,idle
-485713150,TASK_1MS,485,C,Core_1,0,idle
-485713250,TASK_1MS,485,STI,IR_SCHED_Tasks_C1,1636,trigger
-485713250,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-485975400,TASK_10MS,48,R,FUNC_EXECTIME_1,885,terminate
-485975400,Core_2,0,T,TASK_10MS,48,terminate
-485975400,TASK_10MS,48,SCHED,SCHED_Tasks_C2,-1,processterminate
-485975400,Core_2,0,C,Core_2,0,idle
-485975400,TASK_10MS,48,C,Core_2,0,idle
-485975500,TASK_10MS,48,STI,IR_SCHED_Tasks_C2,1564,trigger
-485975500,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-486000000,SIM,-1,STI,TIMER-B_2ms,243,trigger
-486000000,TIMER-B_2ms,243,T,TASK_WritingActuator,243,activate
-486000000,TASK_WritingActuator,243,SCHED,SCHED_Tasks_C2,-1,processactivate
-486000100,TASK_WritingActuator,243,STI,IR_SCHED_Tasks_C2,1565,trigger
-486000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-486000100,Core_2,0,T,TASK_WritingActuator,243,start
-486000100,TASK_WritingActuator,243,R,FUNC_SEMLOCK,486,start
-486000100,Core_2,0,C,Core_2,0,execute
-486000100,TASK_WritingActuator,243,C,Core_2,0,execute
-486100000,SIM,-1,STI,TIMER-5MS,243,trigger
-486100000,TIMER-5MS,243,T,TASK_5MS,243,activate
-486100000,TASK_5MS,243,SCHED,SCHED_Tasks_C2,-1,processactivate
-486100100,TASK_5MS,243,STI,IR_SCHED_Tasks_C2,1566,trigger
-486100100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-486125100,TASK_WritingActuator,243,SEM,SEM_DataElement1,0,requestsemaphore,0
-486125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-486125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-486125100,Core_2,0,C,Core_2,0,lock
-486125100,TASK_WritingActuator,243,SEM,SEM_DataElement1,0,assigned,1
-486125150,TASK_WritingActuator,243,R,FUNC_SEMLOCK,486,terminate
-486125150,Core_2,0,C,Core_2,0,unlock
-486125150,TASK_WritingActuator,243,R,FUNC_WriteData,243,start
-486150000,SIM,-1,STI,TIMER-A_2ms,243,trigger
-486150000,TIMER-A_2ms,243,T,TASK_InputProcessing,243,activate
-486150000,TASK_InputProcessing,243,SCHED,SCHED_Tasks_C1,-1,processactivate
-486150100,TASK_InputProcessing,243,STI,IR_SCHED_Tasks_C1,1637,trigger
-486150100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-486150100,Core_1,0,T,TASK_InputProcessing,243,start
-486150100,TASK_InputProcessing,243,R,FUNC_SEMLOCK,487,start
-486150100,Core_1,0,C,Core_1,0,execute
-486150100,TASK_InputProcessing,243,C,Core_1,0,execute
-486152250,TASK_WritingActuator,243,SIG,SIG_Mixture,0,write,0
-486152250,TASK_WritingActuator,243,R,FUNC_WriteData,243,terminate
-486152250,TASK_WritingActuator,243,R,FUNC_SEMUNLOCK,486,start
-486250000,SIM,-1,STI,TIMER-1MS,486,trigger
-486250000,TIMER-1MS,486,T,TASK_1MS,486,activate
-486250000,TASK_1MS,486,SCHED,SCHED_Tasks_C1,-1,processactivate
-486250100,TASK_1MS,486,STI,IR_SCHED_Tasks_C1,1638,trigger
-486250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-486250100,TASK_InputProcessing,243,R,FUNC_SEMLOCK,487,suspend
-486250100,Core_1,0,T,TASK_InputProcessing,243,preempt
-486250100,Core_1,0,C,Core_1,0,idle_execution
-486250100,TASK_InputProcessing,243,C,Core_1,0,idle_execution
-486250100,Core_1,0,T,TASK_1MS,486,start
-486250100,TASK_1MS,486,R,FUNC_EXECTIME_1,888,start
-486250100,Core_1,0,C,Core_1,0,execute
-486250100,TASK_1MS,486,C,Core_1,0,execute
-486352250,TASK_WritingActuator,243,SEM,SEM_DataElement1,0,released,1
-486352250,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-486352250,TASK_WritingActuator,243,SCHED,SCHED_Tasks_C2,-1,schedulepoint
-486352250,Core_2,0,C,Core_2,0,lock
-486352300,TASK_WritingActuator,243,R,FUNC_SEMUNLOCK,486,terminate
-486352300,Core_2,0,T,TASK_WritingActuator,243,terminate
-486352300,TASK_WritingActuator,243,SCHED,SCHED_Tasks_C2,-1,processterminate
-486352300,Core_2,0,C,Core_2,0,unlock
-486352300,Core_2,0,C,Core_2,0,idle
-486352300,TASK_WritingActuator,243,C,Core_2,0,idle
-486352350,TASK_WritingActuator,243,STI,IR_SCHED_Tasks_C2,1567,trigger
-486352350,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-486352350,Core_2,0,T,TASK_5MS,243,start
-486352350,TASK_5MS,243,R,FUNC_EXECTIME_1,887,start
-486352350,Core_2,0,C,Core_2,0,execute
-486352350,TASK_5MS,243,C,Core_2,0,execute
-486849825,TASK_1MS,486,R,FUNC_EXECTIME_1,888,terminate
-486849825,Core_1,0,T,TASK_1MS,486,terminate
-486849825,TASK_1MS,486,SCHED,SCHED_Tasks_C1,-1,processterminate
-486849825,Core_1,0,C,Core_1,0,idle
-486849825,TASK_1MS,486,C,Core_1,0,idle
-486849925,TASK_1MS,486,STI,IR_SCHED_Tasks_C1,1639,trigger
-486849925,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-486849925,Core_1,0,C,Core_1,0,execute_idle
-486849925,TASK_InputProcessing,243,C,Core_1,0,execute_idle
-486849925,Core_1,0,T,TASK_InputProcessing,243,resume
-486849925,TASK_InputProcessing,243,R,FUNC_SEMLOCK,487,resume
-486874925,TASK_InputProcessing,243,SEM,SEM_DataElement1,0,requestsemaphore,0
-486874925,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-486874925,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-486874925,Core_1,0,C,Core_1,0,lock
-486874925,TASK_InputProcessing,243,SEM,SEM_DataElement1,0,assigned,1
-486874975,TASK_InputProcessing,243,R,FUNC_SEMLOCK,487,terminate
-486874975,Core_1,0,C,Core_1,0,unlock
-486874975,TASK_InputProcessing,243,R,FUNC_ReadSensorData,243,start
-486944100,TASK_5MS,243,R,FUNC_EXECTIME_1,887,terminate
-486944100,Core_2,0,T,TASK_5MS,243,terminate
-486944100,TASK_5MS,243,SCHED,SCHED_Tasks_C2,-1,processterminate
-486944100,Core_2,0,C,Core_2,0,idle
-486944100,TASK_5MS,243,C,Core_2,0,idle
-486944200,TASK_5MS,243,STI,IR_SCHED_Tasks_C2,1568,trigger
-486944200,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-487038425,TASK_InputProcessing,243,SIG,SIG_RotationSpeed,0,read,0
-487038425,TASK_InputProcessing,243,SIG,SIG_Lambda,0,read,0
-487038425,TASK_InputProcessing,243,SIG,SIG_Temperature,0,read,0
-487038425,TASK_InputProcessing,243,R,FUNC_ReadSensorData,243,terminate
-487038425,TASK_InputProcessing,243,R,FUNC_SEMUNLOCK,487,start
-487238425,TASK_InputProcessing,243,SEM,SEM_DataElement1,0,released,1
-487238425,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-487238425,TASK_InputProcessing,243,SCHED,SCHED_Tasks_C1,-1,schedulepoint
-487238425,Core_1,0,C,Core_1,0,lock
-487238475,TASK_InputProcessing,243,R,FUNC_SEMUNLOCK,487,terminate
-487238475,Core_1,0,C,Core_1,0,unlock
-487238475,TASK_InputProcessing,243,STI,IPA_InputReady,243,trigger
-487238475,IPA_InputReady,243,T,TASK_CalcEngineSpeed,243,activate
-487238475,TASK_CalcEngineSpeed,243,SCHED,SCHED_Tasks_C2,-1,processactivate
-487238475,Core_1,0,T,TASK_InputProcessing,243,terminate
-487238475,TASK_InputProcessing,243,SCHED,SCHED_Tasks_C1,-1,processterminate
-487238475,Core_1,0,C,Core_1,0,idle
-487238475,TASK_InputProcessing,243,C,Core_1,0,idle
-487238525,TASK_InputProcessing,243,STI,IR_SCHED_Tasks_C1,1640,trigger
-487238525,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-487238575,TASK_CalcEngineSpeed,243,STI,IR_SCHED_Tasks_C2,1569,trigger
-487238575,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-487238575,Core_2,0,T,TASK_CalcEngineSpeed,243,start
-487238575,TASK_CalcEngineSpeed,243,R,FUNC_ENGINESPEED,243,start
-487238575,Core_2,0,C,Core_2,0,execute
-487238575,TASK_CalcEngineSpeed,243,C,Core_2,0,execute
-487250000,SIM,-1,STI,TIMER-1MS,487,trigger
-487250000,TIMER-1MS,487,T,TASK_1MS,487,activate
-487250000,TASK_1MS,487,SCHED,SCHED_Tasks_C1,-1,processactivate
-487250100,TASK_1MS,487,STI,IR_SCHED_Tasks_C1,1641,trigger
-487250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-487250100,Core_1,0,T,TASK_1MS,487,start
-487250100,TASK_1MS,487,R,FUNC_EXECTIME_1,889,start
-487250100,Core_1,0,C,Core_1,0,execute
-487250100,TASK_1MS,487,C,Core_1,0,execute
-487395100,TASK_CalcEngineSpeed,243,R,FUNC_ENGINESPEED,243,terminate
-487395100,Core_2,0,T,TASK_CalcEngineSpeed,243,terminate
-487395100,TASK_CalcEngineSpeed,243,SCHED,SCHED_Tasks_C2,-1,processterminate
-487395100,Core_2,0,C,Core_2,0,idle
-487395100,TASK_CalcEngineSpeed,243,C,Core_2,0,idle
-487395200,TASK_CalcEngineSpeed,243,STI,IR_SCHED_Tasks_C2,1570,trigger
-487395200,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-487647225,TASK_1MS,487,R,FUNC_EXECTIME_1,889,terminate
-487647225,Core_1,0,T,TASK_1MS,487,terminate
-487647225,TASK_1MS,487,SCHED,SCHED_Tasks_C1,-1,processterminate
-487647225,Core_1,0,C,Core_1,0,idle
-487647225,TASK_1MS,487,C,Core_1,0,idle
-487647325,TASK_1MS,487,STI,IR_SCHED_Tasks_C1,1642,trigger
-487647325,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-488000000,SIM,-1,STI,TIMER-B_2ms,244,trigger
-488000000,TIMER-B_2ms,244,T,TASK_WritingActuator,244,activate
-488000000,TASK_WritingActuator,244,SCHED,SCHED_Tasks_C2,-1,processactivate
-488000100,TASK_WritingActuator,244,STI,IR_SCHED_Tasks_C2,1571,trigger
-488000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-488000100,Core_2,0,T,TASK_WritingActuator,244,start
-488000100,TASK_WritingActuator,244,R,FUNC_SEMLOCK,488,start
-488000100,Core_2,0,C,Core_2,0,execute
-488000100,TASK_WritingActuator,244,C,Core_2,0,execute
-488100000,SIM,-1,STI,TIMER-5MS,244,trigger
-488100000,TIMER-5MS,244,T,TASK_5MS,244,activate
-488100000,TASK_5MS,244,SCHED,SCHED_Tasks_C2,-1,processactivate
-488100100,TASK_5MS,244,STI,IR_SCHED_Tasks_C2,1572,trigger
-488100100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-488125100,TASK_WritingActuator,244,SEM,SEM_DataElement1,0,requestsemaphore,0
-488125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-488125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-488125100,Core_2,0,C,Core_2,0,lock
-488125100,TASK_WritingActuator,244,SEM,SEM_DataElement1,0,assigned,1
-488125150,TASK_WritingActuator,244,R,FUNC_SEMLOCK,488,terminate
-488125150,Core_2,0,C,Core_2,0,unlock
-488125150,TASK_WritingActuator,244,R,FUNC_WriteData,244,start
-488150000,SIM,-1,STI,TIMER-A_2ms,244,trigger
-488150000,TIMER-A_2ms,244,T,TASK_InputProcessing,244,activate
-488150000,TASK_InputProcessing,244,SCHED,SCHED_Tasks_C1,-1,processactivate
-488150100,TASK_InputProcessing,244,STI,IR_SCHED_Tasks_C1,1643,trigger
-488150100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-488150100,Core_1,0,T,TASK_InputProcessing,244,start
-488150100,TASK_InputProcessing,244,R,FUNC_SEMLOCK,489,start
-488150100,Core_1,0,C,Core_1,0,execute
-488150100,TASK_InputProcessing,244,C,Core_1,0,execute
-488152150,TASK_WritingActuator,244,SIG,SIG_Mixture,0,write,0
-488152150,TASK_WritingActuator,244,R,FUNC_WriteData,244,terminate
-488152150,TASK_WritingActuator,244,R,FUNC_SEMUNLOCK,488,start
-488250000,SIM,-1,STI,TIMER-1MS,488,trigger
-488250000,TIMER-1MS,488,T,TASK_1MS,488,activate
-488250000,TASK_1MS,488,SCHED,SCHED_Tasks_C1,-1,processactivate
-488250100,TASK_1MS,488,STI,IR_SCHED_Tasks_C1,1644,trigger
-488250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-488250100,TASK_InputProcessing,244,R,FUNC_SEMLOCK,489,suspend
-488250100,Core_1,0,T,TASK_InputProcessing,244,preempt
-488250100,Core_1,0,C,Core_1,0,idle_execution
-488250100,TASK_InputProcessing,244,C,Core_1,0,idle_execution
-488250100,Core_1,0,T,TASK_1MS,488,start
-488250100,TASK_1MS,488,R,FUNC_EXECTIME_1,891,start
-488250100,Core_1,0,C,Core_1,0,execute
-488250100,TASK_1MS,488,C,Core_1,0,execute
-488352150,TASK_WritingActuator,244,SEM,SEM_DataElement1,0,released,1
-488352150,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-488352150,TASK_WritingActuator,244,SCHED,SCHED_Tasks_C2,-1,schedulepoint
-488352150,Core_2,0,C,Core_2,0,lock
-488352200,TASK_WritingActuator,244,R,FUNC_SEMUNLOCK,488,terminate
-488352200,Core_2,0,T,TASK_WritingActuator,244,terminate
-488352200,TASK_WritingActuator,244,SCHED,SCHED_Tasks_C2,-1,processterminate
-488352200,Core_2,0,C,Core_2,0,unlock
-488352200,Core_2,0,C,Core_2,0,idle
-488352200,TASK_WritingActuator,244,C,Core_2,0,idle
-488352250,TASK_WritingActuator,244,STI,IR_SCHED_Tasks_C2,1573,trigger
-488352250,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-488352250,Core_2,0,T,TASK_5MS,244,start
-488352250,TASK_5MS,244,R,FUNC_EXECTIME_1,890,start
-488352250,Core_2,0,C,Core_2,0,execute
-488352250,TASK_5MS,244,C,Core_2,0,execute
-488703050,TASK_5MS,244,R,FUNC_EXECTIME_1,890,terminate
-488703050,Core_2,0,T,TASK_5MS,244,terminate
-488703050,TASK_5MS,244,SCHED,SCHED_Tasks_C2,-1,processterminate
-488703050,Core_2,0,C,Core_2,0,idle
-488703050,TASK_5MS,244,C,Core_2,0,idle
-488703150,TASK_5MS,244,STI,IR_SCHED_Tasks_C2,1574,trigger
-488703150,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-488757975,TASK_1MS,488,R,FUNC_EXECTIME_1,891,terminate
-488757975,Core_1,0,T,TASK_1MS,488,terminate
-488757975,TASK_1MS,488,SCHED,SCHED_Tasks_C1,-1,processterminate
-488757975,Core_1,0,C,Core_1,0,idle
-488757975,TASK_1MS,488,C,Core_1,0,idle
-488758075,TASK_1MS,488,STI,IR_SCHED_Tasks_C1,1645,trigger
-488758075,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-488758075,Core_1,0,C,Core_1,0,execute_idle
-488758075,TASK_InputProcessing,244,C,Core_1,0,execute_idle
-488758075,Core_1,0,T,TASK_InputProcessing,244,resume
-488758075,TASK_InputProcessing,244,R,FUNC_SEMLOCK,489,resume
-488783075,TASK_InputProcessing,244,SEM,SEM_DataElement1,0,requestsemaphore,0
-488783075,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-488783075,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-488783075,Core_1,0,C,Core_1,0,lock
-488783075,TASK_InputProcessing,244,SEM,SEM_DataElement1,0,assigned,1
-488783125,TASK_InputProcessing,244,R,FUNC_SEMLOCK,489,terminate
-488783125,Core_1,0,C,Core_1,0,unlock
-488783125,TASK_InputProcessing,244,R,FUNC_ReadSensorData,244,start
-488941300,TASK_InputProcessing,244,SIG,SIG_RotationSpeed,0,read,0
-488941300,TASK_InputProcessing,244,SIG,SIG_Lambda,0,read,0
-488941300,TASK_InputProcessing,244,SIG,SIG_Temperature,0,read,0
-488941300,TASK_InputProcessing,244,R,FUNC_ReadSensorData,244,terminate
-488941300,TASK_InputProcessing,244,R,FUNC_SEMUNLOCK,489,start
-489141300,TASK_InputProcessing,244,SEM,SEM_DataElement1,0,released,1
-489141300,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-489141300,TASK_InputProcessing,244,SCHED,SCHED_Tasks_C1,-1,schedulepoint
-489141300,Core_1,0,C,Core_1,0,lock
-489141350,TASK_InputProcessing,244,R,FUNC_SEMUNLOCK,489,terminate
-489141350,Core_1,0,C,Core_1,0,unlock
-489141350,TASK_InputProcessing,244,STI,IPA_InputReady,244,trigger
-489141350,IPA_InputReady,244,T,TASK_CalcEngineSpeed,244,activate
-489141350,TASK_CalcEngineSpeed,244,SCHED,SCHED_Tasks_C2,-1,processactivate
-489141350,Core_1,0,T,TASK_InputProcessing,244,terminate
-489141350,TASK_InputProcessing,244,SCHED,SCHED_Tasks_C1,-1,processterminate
-489141350,Core_1,0,C,Core_1,0,idle
-489141350,TASK_InputProcessing,244,C,Core_1,0,idle
-489141400,TASK_InputProcessing,244,STI,IR_SCHED_Tasks_C1,1646,trigger
-489141400,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-489141450,TASK_CalcEngineSpeed,244,STI,IR_SCHED_Tasks_C2,1575,trigger
-489141450,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-489141450,Core_2,0,T,TASK_CalcEngineSpeed,244,start
-489141450,TASK_CalcEngineSpeed,244,R,FUNC_ENGINESPEED,244,start
-489141450,Core_2,0,C,Core_2,0,execute
-489141450,TASK_CalcEngineSpeed,244,C,Core_2,0,execute
-489250000,SIM,-1,STI,TIMER-1MS,489,trigger
-489250000,TIMER-1MS,489,T,TASK_1MS,489,activate
-489250000,TASK_1MS,489,SCHED,SCHED_Tasks_C1,-1,processactivate
-489250100,TASK_1MS,489,STI,IR_SCHED_Tasks_C1,1647,trigger
-489250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-489250100,Core_1,0,T,TASK_1MS,489,start
-489250100,TASK_1MS,489,R,FUNC_EXECTIME_1,892,start
-489250100,Core_1,0,C,Core_1,0,execute
-489250100,TASK_1MS,489,C,Core_1,0,execute
-489331650,TASK_CalcEngineSpeed,244,R,FUNC_ENGINESPEED,244,terminate
-489331650,Core_2,0,T,TASK_CalcEngineSpeed,244,terminate
-489331650,TASK_CalcEngineSpeed,244,SCHED,SCHED_Tasks_C2,-1,processterminate
-489331650,Core_2,0,C,Core_2,0,idle
-489331650,TASK_CalcEngineSpeed,244,C,Core_2,0,idle
-489331750,TASK_CalcEngineSpeed,244,STI,IR_SCHED_Tasks_C2,1576,trigger
-489331750,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-489699100,TASK_1MS,489,R,FUNC_EXECTIME_1,892,terminate
-489699100,Core_1,0,T,TASK_1MS,489,terminate
-489699100,TASK_1MS,489,SCHED,SCHED_Tasks_C1,-1,processterminate
-489699100,Core_1,0,C,Core_1,0,idle
-489699100,TASK_1MS,489,C,Core_1,0,idle
-489699200,TASK_1MS,489,STI,IR_SCHED_Tasks_C1,1648,trigger
-489699200,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-490000000,SIM,-1,STI,TIMER-B_2ms,245,trigger
-490000000,TIMER-B_2ms,245,T,TASK_WritingActuator,245,activate
-490000000,TASK_WritingActuator,245,SCHED,SCHED_Tasks_C2,-1,processactivate
-490000000,SIM,-1,STI,TIMER-10MS_2,49,trigger
-490000000,TIMER-10MS_2,49,T,TASK_10MS_DL2,49,activate
-490000000,TASK_10MS_DL2,49,SCHED,SCHED_Tasks_C1,-1,processactivate
-490000100,TASK_WritingActuator,245,STI,IR_SCHED_Tasks_C2,1577,trigger
-490000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-490000100,Core_2,0,T,TASK_WritingActuator,245,start
-490000100,TASK_WritingActuator,245,R,FUNC_SEMLOCK,490,start
-490000100,Core_2,0,C,Core_2,0,execute
-490000100,TASK_WritingActuator,245,C,Core_2,0,execute
-490000100,TASK_10MS_DL2,49,STI,IR_SCHED_Tasks_C1,1649,trigger
-490000100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-490000100,Core_1,0,T,TASK_10MS_DL2,49,start
-490000100,TASK_10MS_DL2,49,R,FUNC_EXECTIME_1,893,start
-490000100,Core_1,0,C,Core_1,0,execute
-490000100,TASK_10MS_DL2,49,C,Core_1,0,execute
-490100000,SIM,-1,STI,TIMER-5MS,245,trigger
-490100000,TIMER-5MS,245,T,TASK_5MS,245,activate
-490100000,TASK_5MS,245,SCHED,SCHED_Tasks_C2,-1,processactivate
-490100100,TASK_5MS,245,STI,IR_SCHED_Tasks_C2,1578,trigger
-490100100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-490125100,TASK_WritingActuator,245,SEM,SEM_DataElement1,0,requestsemaphore,0
-490125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-490125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-490125100,Core_2,0,C,Core_2,0,lock
-490125100,TASK_WritingActuator,245,SEM,SEM_DataElement1,0,assigned,1
-490125150,TASK_WritingActuator,245,R,FUNC_SEMLOCK,490,terminate
-490125150,Core_2,0,C,Core_2,0,unlock
-490125150,TASK_WritingActuator,245,R,FUNC_WriteData,245,start
-490150000,SIM,-1,STI,TIMER-A_2ms,245,trigger
-490150000,TIMER-A_2ms,245,T,TASK_InputProcessing,245,activate
-490150000,TASK_InputProcessing,245,SCHED,SCHED_Tasks_C1,-1,processactivate
-490150100,TASK_InputProcessing,245,STI,IR_SCHED_Tasks_C1,1650,trigger
-490150100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-490152225,TASK_WritingActuator,245,SIG,SIG_Mixture,0,write,0
-490152225,TASK_WritingActuator,245,R,FUNC_WriteData,245,terminate
-490152225,TASK_WritingActuator,245,R,FUNC_SEMUNLOCK,490,start
-490250000,SIM,-1,STI,TIMER-1MS,490,trigger
-490250000,TIMER-1MS,490,T,TASK_1MS,490,activate
-490250000,TASK_1MS,490,SCHED,SCHED_Tasks_C1,-1,processactivate
-490250100,TASK_1MS,490,STI,IR_SCHED_Tasks_C1,1651,trigger
-490250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-490250100,TASK_10MS_DL2,49,R,FUNC_EXECTIME_1,893,suspend
-490250100,Core_1,0,T,TASK_10MS_DL2,49,preempt
-490250100,Core_1,0,C,Core_1,0,idle_execution
-490250100,TASK_10MS_DL2,49,C,Core_1,0,idle_execution
-490250100,Core_1,0,T,TASK_1MS,490,start
-490250100,TASK_1MS,490,R,FUNC_EXECTIME_1,895,start
-490250100,Core_1,0,C,Core_1,0,execute
-490250100,TASK_1MS,490,C,Core_1,0,execute
-490352225,TASK_WritingActuator,245,SEM,SEM_DataElement1,0,released,1
-490352225,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-490352225,TASK_WritingActuator,245,SCHED,SCHED_Tasks_C2,-1,schedulepoint
-490352225,Core_2,0,C,Core_2,0,lock
-490352275,TASK_WritingActuator,245,R,FUNC_SEMUNLOCK,490,terminate
-490352275,Core_2,0,T,TASK_WritingActuator,245,terminate
-490352275,TASK_WritingActuator,245,SCHED,SCHED_Tasks_C2,-1,processterminate
-490352275,Core_2,0,C,Core_2,0,unlock
-490352275,Core_2,0,C,Core_2,0,idle
-490352275,TASK_WritingActuator,245,C,Core_2,0,idle
-490352325,TASK_WritingActuator,245,STI,IR_SCHED_Tasks_C2,1579,trigger
-490352325,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-490352325,Core_2,0,T,TASK_5MS,245,start
-490352325,TASK_5MS,245,R,FUNC_EXECTIME_1,894,start
-490352325,Core_2,0,C,Core_2,0,execute
-490352325,TASK_5MS,245,C,Core_2,0,execute
-490644525,TASK_5MS,245,R,FUNC_EXECTIME_1,894,terminate
-490644525,Core_2,0,T,TASK_5MS,245,terminate
-490644525,TASK_5MS,245,SCHED,SCHED_Tasks_C2,-1,processterminate
-490644525,Core_2,0,C,Core_2,0,idle
-490644525,TASK_5MS,245,C,Core_2,0,idle
-490644625,TASK_5MS,245,STI,IR_SCHED_Tasks_C2,1580,trigger
-490644625,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-490695150,TASK_1MS,490,R,FUNC_EXECTIME_1,895,terminate
-490695150,Core_1,0,T,TASK_1MS,490,terminate
-490695150,TASK_1MS,490,SCHED,SCHED_Tasks_C1,-1,processterminate
-490695150,Core_1,0,C,Core_1,0,idle
-490695150,TASK_1MS,490,C,Core_1,0,idle
-490695250,TASK_1MS,490,STI,IR_SCHED_Tasks_C1,1652,trigger
-490695250,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-490695250,Core_1,0,C,Core_1,0,execute_idle
-490695250,TASK_10MS_DL2,49,C,Core_1,0,execute_idle
-490695250,Core_1,0,T,TASK_10MS_DL2,49,resume
-490695250,TASK_10MS_DL2,49,R,FUNC_EXECTIME_1,893,resume
-491018900,TASK_10MS_DL2,49,R,FUNC_EXECTIME_1,893,terminate
-491018900,Core_1,0,T,TASK_10MS_DL2,49,terminate
-491018900,TASK_10MS_DL2,49,SCHED,SCHED_Tasks_C1,-1,processterminate
-491018900,Core_1,0,C,Core_1,0,idle
-491018900,TASK_10MS_DL2,49,C,Core_1,0,idle
-491019000,TASK_10MS_DL2,49,STI,IR_SCHED_Tasks_C1,1653,trigger
-491019000,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-491019000,Core_1,0,T,TASK_InputProcessing,245,start
-491019000,TASK_InputProcessing,245,R,FUNC_SEMLOCK,491,start
-491019000,Core_1,0,C,Core_1,0,execute
-491019000,TASK_InputProcessing,245,C,Core_1,0,execute
-491144000,TASK_InputProcessing,245,SEM,SEM_DataElement1,0,requestsemaphore,0
-491144000,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-491144000,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-491144000,Core_1,0,C,Core_1,0,lock
-491144000,TASK_InputProcessing,245,SEM,SEM_DataElement1,0,assigned,1
-491144050,TASK_InputProcessing,245,R,FUNC_SEMLOCK,491,terminate
-491144050,Core_1,0,C,Core_1,0,unlock
-491144050,TASK_InputProcessing,245,R,FUNC_ReadSensorData,245,start
-491250000,SIM,-1,STI,TIMER-1MS,491,trigger
-491250000,TIMER-1MS,491,T,TASK_1MS,491,activate
-491250000,TASK_1MS,491,SCHED,SCHED_Tasks_C1,-1,processactivate
-491250100,TASK_1MS,491,STI,IR_SCHED_Tasks_C1,1654,trigger
-491250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-491305900,TASK_InputProcessing,245,SIG,SIG_RotationSpeed,0,read,0
-491305900,TASK_InputProcessing,245,SIG,SIG_Lambda,0,read,0
-491305900,TASK_InputProcessing,245,SIG,SIG_Temperature,0,read,0
-491305900,TASK_InputProcessing,245,R,FUNC_ReadSensorData,245,terminate
-491305900,TASK_InputProcessing,245,R,FUNC_SEMUNLOCK,491,start
-491505900,TASK_InputProcessing,245,SEM,SEM_DataElement1,0,released,1
-491505900,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-491505900,TASK_InputProcessing,245,SCHED,SCHED_Tasks_C1,-1,schedulepoint
-491505900,Core_1,0,C,Core_1,0,lock
-491505950,TASK_InputProcessing,245,R,FUNC_SEMUNLOCK,491,terminate
-491505950,Core_1,0,C,Core_1,0,unlock
-491505950,TASK_InputProcessing,245,STI,IPA_InputReady,245,trigger
-491505950,IPA_InputReady,245,T,TASK_CalcEngineSpeed,245,activate
-491505950,TASK_CalcEngineSpeed,245,SCHED,SCHED_Tasks_C2,-1,processactivate
-491505950,Core_1,0,T,TASK_InputProcessing,245,terminate
-491505950,TASK_InputProcessing,245,SCHED,SCHED_Tasks_C1,-1,processterminate
-491505950,Core_1,0,C,Core_1,0,idle
-491505950,TASK_InputProcessing,245,C,Core_1,0,idle
-491506000,TASK_InputProcessing,245,STI,IR_SCHED_Tasks_C1,1655,trigger
-491506000,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-491506000,Core_1,0,T,TASK_1MS,491,start
-491506000,TASK_1MS,491,R,FUNC_EXECTIME_1,896,start
-491506000,Core_1,0,C,Core_1,0,execute
-491506000,TASK_1MS,491,C,Core_1,0,execute
-491506050,TASK_CalcEngineSpeed,245,STI,IR_SCHED_Tasks_C2,1581,trigger
-491506050,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-491506050,Core_2,0,T,TASK_CalcEngineSpeed,245,start
-491506050,TASK_CalcEngineSpeed,245,R,FUNC_ENGINESPEED,245,start
-491506050,Core_2,0,C,Core_2,0,execute
-491506050,TASK_CalcEngineSpeed,245,C,Core_2,0,execute
-491658900,TASK_CalcEngineSpeed,245,R,FUNC_ENGINESPEED,245,terminate
-491658900,Core_2,0,T,TASK_CalcEngineSpeed,245,terminate
-491658900,TASK_CalcEngineSpeed,245,SCHED,SCHED_Tasks_C2,-1,processterminate
-491658900,Core_2,0,C,Core_2,0,idle
-491658900,TASK_CalcEngineSpeed,245,C,Core_2,0,idle
-491659000,TASK_CalcEngineSpeed,245,STI,IR_SCHED_Tasks_C2,1582,trigger
-491659000,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-492000000,SIM,-1,STI,TIMER-B_2ms,246,trigger
-492000000,TIMER-B_2ms,246,T,TASK_WritingActuator,246,activate
-492000000,TASK_WritingActuator,246,SCHED,SCHED_Tasks_C2,-1,processactivate
-492000100,TASK_WritingActuator,246,STI,IR_SCHED_Tasks_C2,1583,trigger
-492000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-492000100,Core_2,0,T,TASK_WritingActuator,246,start
-492000100,TASK_WritingActuator,246,R,FUNC_SEMLOCK,492,start
-492000100,Core_2,0,C,Core_2,0,execute
-492000100,TASK_WritingActuator,246,C,Core_2,0,execute
-492011950,TASK_1MS,491,R,FUNC_EXECTIME_1,896,terminate
-492011950,Core_1,0,T,TASK_1MS,491,terminate
-492011950,TASK_1MS,491,SCHED,SCHED_Tasks_C1,-1,processterminate
-492011950,Core_1,0,C,Core_1,0,idle
-492011950,TASK_1MS,491,C,Core_1,0,idle
-492012050,TASK_1MS,491,STI,IR_SCHED_Tasks_C1,1656,trigger
-492012050,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-492100000,SIM,-1,STI,TIMER-5MS,246,trigger
-492100000,TIMER-5MS,246,T,TASK_5MS,246,activate
-492100000,TASK_5MS,246,SCHED,SCHED_Tasks_C2,-1,processactivate
-492100100,TASK_5MS,246,STI,IR_SCHED_Tasks_C2,1584,trigger
-492100100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-492125100,TASK_WritingActuator,246,SEM,SEM_DataElement1,0,requestsemaphore,0
-492125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-492125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-492125100,Core_2,0,C,Core_2,0,lock
-492125100,TASK_WritingActuator,246,SEM,SEM_DataElement1,0,assigned,1
-492125150,TASK_WritingActuator,246,R,FUNC_SEMLOCK,492,terminate
-492125150,Core_2,0,C,Core_2,0,unlock
-492125150,TASK_WritingActuator,246,R,FUNC_WriteData,246,start
-492150000,SIM,-1,STI,TIMER-A_2ms,246,trigger
-492150000,TIMER-A_2ms,246,T,TASK_InputProcessing,246,activate
-492150000,TASK_InputProcessing,246,SCHED,SCHED_Tasks_C1,-1,processactivate
-492150100,TASK_InputProcessing,246,STI,IR_SCHED_Tasks_C1,1657,trigger
-492150100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-492150100,Core_1,0,T,TASK_InputProcessing,246,start
-492150100,TASK_InputProcessing,246,R,FUNC_SEMLOCK,493,start
-492150100,Core_1,0,C,Core_1,0,execute
-492150100,TASK_InputProcessing,246,C,Core_1,0,execute
-492152575,TASK_WritingActuator,246,SIG,SIG_Mixture,0,write,0
-492152575,TASK_WritingActuator,246,R,FUNC_WriteData,246,terminate
-492152575,TASK_WritingActuator,246,R,FUNC_SEMUNLOCK,492,start
-492250000,SIM,-1,STI,TIMER-1MS,492,trigger
-492250000,TIMER-1MS,492,T,TASK_1MS,492,activate
-492250000,TASK_1MS,492,SCHED,SCHED_Tasks_C1,-1,processactivate
-492250100,TASK_1MS,492,STI,IR_SCHED_Tasks_C1,1658,trigger
-492250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-492250100,TASK_InputProcessing,246,R,FUNC_SEMLOCK,493,suspend
-492250100,Core_1,0,T,TASK_InputProcessing,246,preempt
-492250100,Core_1,0,C,Core_1,0,idle_execution
-492250100,TASK_InputProcessing,246,C,Core_1,0,idle_execution
-492250100,Core_1,0,T,TASK_1MS,492,start
-492250100,TASK_1MS,492,R,FUNC_EXECTIME_1,898,start
-492250100,Core_1,0,C,Core_1,0,execute
-492250100,TASK_1MS,492,C,Core_1,0,execute
-492352575,TASK_WritingActuator,246,SEM,SEM_DataElement1,0,released,1
-492352575,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-492352575,TASK_WritingActuator,246,SCHED,SCHED_Tasks_C2,-1,schedulepoint
-492352575,Core_2,0,C,Core_2,0,lock
-492352625,TASK_WritingActuator,246,R,FUNC_SEMUNLOCK,492,terminate
-492352625,Core_2,0,T,TASK_WritingActuator,246,terminate
-492352625,TASK_WritingActuator,246,SCHED,SCHED_Tasks_C2,-1,processterminate
-492352625,Core_2,0,C,Core_2,0,unlock
-492352625,Core_2,0,C,Core_2,0,idle
-492352625,TASK_WritingActuator,246,C,Core_2,0,idle
-492352675,TASK_WritingActuator,246,STI,IR_SCHED_Tasks_C2,1585,trigger
-492352675,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-492352675,Core_2,0,T,TASK_5MS,246,start
-492352675,TASK_5MS,246,R,FUNC_EXECTIME_1,897,start
-492352675,Core_2,0,C,Core_2,0,execute
-492352675,TASK_5MS,246,C,Core_2,0,execute
-492574050,TASK_1MS,492,R,FUNC_EXECTIME_1,898,terminate
-492574050,Core_1,0,T,TASK_1MS,492,terminate
-492574050,TASK_1MS,492,SCHED,SCHED_Tasks_C1,-1,processterminate
-492574050,Core_1,0,C,Core_1,0,idle
-492574050,TASK_1MS,492,C,Core_1,0,idle
-492574150,TASK_1MS,492,STI,IR_SCHED_Tasks_C1,1659,trigger
-492574150,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-492574150,Core_1,0,C,Core_1,0,execute_idle
-492574150,TASK_InputProcessing,246,C,Core_1,0,execute_idle
-492574150,Core_1,0,T,TASK_InputProcessing,246,resume
-492574150,TASK_InputProcessing,246,R,FUNC_SEMLOCK,493,resume
-492599150,TASK_InputProcessing,246,SEM,SEM_DataElement1,0,requestsemaphore,0
-492599150,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-492599150,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-492599150,Core_1,0,C,Core_1,0,lock
-492599150,TASK_InputProcessing,246,SEM,SEM_DataElement1,0,assigned,1
-492599200,TASK_InputProcessing,246,R,FUNC_SEMLOCK,493,terminate
-492599200,Core_1,0,C,Core_1,0,unlock
-492599200,TASK_InputProcessing,246,R,FUNC_ReadSensorData,246,start
-492707750,TASK_5MS,246,R,FUNC_EXECTIME_1,897,terminate
-492707750,Core_2,0,T,TASK_5MS,246,terminate
-492707750,TASK_5MS,246,SCHED,SCHED_Tasks_C2,-1,processterminate
-492707750,Core_2,0,C,Core_2,0,idle
-492707750,TASK_5MS,246,C,Core_2,0,idle
-492707850,TASK_5MS,246,STI,IR_SCHED_Tasks_C2,1586,trigger
-492707850,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-492765250,TASK_InputProcessing,246,SIG,SIG_RotationSpeed,0,read,0
-492765250,TASK_InputProcessing,246,SIG,SIG_Lambda,0,read,0
-492765250,TASK_InputProcessing,246,SIG,SIG_Temperature,0,read,0
-492765250,TASK_InputProcessing,246,R,FUNC_ReadSensorData,246,terminate
-492765250,TASK_InputProcessing,246,R,FUNC_SEMUNLOCK,493,start
-492965250,TASK_InputProcessing,246,SEM,SEM_DataElement1,0,released,1
-492965250,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-492965250,TASK_InputProcessing,246,SCHED,SCHED_Tasks_C1,-1,schedulepoint
-492965250,Core_1,0,C,Core_1,0,lock
-492965300,TASK_InputProcessing,246,R,FUNC_SEMUNLOCK,493,terminate
-492965300,Core_1,0,C,Core_1,0,unlock
-492965300,TASK_InputProcessing,246,STI,IPA_InputReady,246,trigger
-492965300,IPA_InputReady,246,T,TASK_CalcEngineSpeed,246,activate
-492965300,TASK_CalcEngineSpeed,246,SCHED,SCHED_Tasks_C2,-1,processactivate
-492965300,Core_1,0,T,TASK_InputProcessing,246,terminate
-492965300,TASK_InputProcessing,246,SCHED,SCHED_Tasks_C1,-1,processterminate
-492965300,Core_1,0,C,Core_1,0,idle
-492965300,TASK_InputProcessing,246,C,Core_1,0,idle
-492965350,TASK_InputProcessing,246,STI,IR_SCHED_Tasks_C1,1660,trigger
-492965350,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-492965400,TASK_CalcEngineSpeed,246,STI,IR_SCHED_Tasks_C2,1587,trigger
-492965400,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-492965400,Core_2,0,T,TASK_CalcEngineSpeed,246,start
-492965400,TASK_CalcEngineSpeed,246,R,FUNC_ENGINESPEED,246,start
-492965400,Core_2,0,C,Core_2,0,execute
-492965400,TASK_CalcEngineSpeed,246,C,Core_2,0,execute
-493128975,TASK_CalcEngineSpeed,246,R,FUNC_ENGINESPEED,246,terminate
-493128975,Core_2,0,T,TASK_CalcEngineSpeed,246,terminate
-493128975,TASK_CalcEngineSpeed,246,SCHED,SCHED_Tasks_C2,-1,processterminate
-493128975,Core_2,0,C,Core_2,0,idle
-493128975,TASK_CalcEngineSpeed,246,C,Core_2,0,idle
-493129075,TASK_CalcEngineSpeed,246,STI,IR_SCHED_Tasks_C2,1588,trigger
-493129075,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-493250000,SIM,-1,STI,TIMER-1MS,493,trigger
-493250000,TIMER-1MS,493,T,TASK_1MS,493,activate
-493250000,TASK_1MS,493,SCHED,SCHED_Tasks_C1,-1,processactivate
-493250100,TASK_1MS,493,STI,IR_SCHED_Tasks_C1,1661,trigger
-493250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-493250100,Core_1,0,T,TASK_1MS,493,start
-493250100,TASK_1MS,493,R,FUNC_EXECTIME_1,899,start
-493250100,Core_1,0,C,Core_1,0,execute
-493250100,TASK_1MS,493,C,Core_1,0,execute
-493581300,TASK_1MS,493,R,FUNC_EXECTIME_1,899,terminate
-493581300,Core_1,0,T,TASK_1MS,493,terminate
-493581300,TASK_1MS,493,SCHED,SCHED_Tasks_C1,-1,processterminate
-493581300,Core_1,0,C,Core_1,0,idle
-493581300,TASK_1MS,493,C,Core_1,0,idle
-493581400,TASK_1MS,493,STI,IR_SCHED_Tasks_C1,1662,trigger
-493581400,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-494000000,SIM,-1,STI,TIMER-B_2ms,247,trigger
-494000000,TIMER-B_2ms,247,T,TASK_WritingActuator,247,activate
-494000000,TASK_WritingActuator,247,SCHED,SCHED_Tasks_C2,-1,processactivate
-494000100,TASK_WritingActuator,247,STI,IR_SCHED_Tasks_C2,1589,trigger
-494000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-494000100,Core_2,0,T,TASK_WritingActuator,247,start
-494000100,TASK_WritingActuator,247,R,FUNC_SEMLOCK,494,start
-494000100,Core_2,0,C,Core_2,0,execute
-494000100,TASK_WritingActuator,247,C,Core_2,0,execute
-494100000,SIM,-1,STI,TIMER-5MS,247,trigger
-494100000,TIMER-5MS,247,T,TASK_5MS,247,activate
-494100000,TASK_5MS,247,SCHED,SCHED_Tasks_C2,-1,processactivate
-494100100,TASK_5MS,247,STI,IR_SCHED_Tasks_C2,1590,trigger
-494100100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-494125100,TASK_WritingActuator,247,SEM,SEM_DataElement1,0,requestsemaphore,0
-494125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-494125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-494125100,Core_2,0,C,Core_2,0,lock
-494125100,TASK_WritingActuator,247,SEM,SEM_DataElement1,0,assigned,1
-494125150,TASK_WritingActuator,247,R,FUNC_SEMLOCK,494,terminate
-494125150,Core_2,0,C,Core_2,0,unlock
-494125150,TASK_WritingActuator,247,R,FUNC_WriteData,247,start
-494150000,SIM,-1,STI,TIMER-A_2ms,247,trigger
-494150000,TIMER-A_2ms,247,T,TASK_InputProcessing,247,activate
-494150000,TASK_InputProcessing,247,SCHED,SCHED_Tasks_C1,-1,processactivate
-494150100,TASK_InputProcessing,247,STI,IR_SCHED_Tasks_C1,1663,trigger
-494150100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-494150100,Core_1,0,T,TASK_InputProcessing,247,start
-494150100,TASK_InputProcessing,247,R,FUNC_SEMLOCK,495,start
-494150100,Core_1,0,C,Core_1,0,execute
-494150100,TASK_InputProcessing,247,C,Core_1,0,execute
-494151825,TASK_WritingActuator,247,SIG,SIG_Mixture,0,write,0
-494151825,TASK_WritingActuator,247,R,FUNC_WriteData,247,terminate
-494151825,TASK_WritingActuator,247,R,FUNC_SEMUNLOCK,494,start
-494250000,SIM,-1,STI,TIMER-1MS,494,trigger
-494250000,TIMER-1MS,494,T,TASK_1MS,494,activate
-494250000,TASK_1MS,494,SCHED,SCHED_Tasks_C1,-1,processactivate
-494250100,TASK_1MS,494,STI,IR_SCHED_Tasks_C1,1664,trigger
-494250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-494250100,TASK_InputProcessing,247,R,FUNC_SEMLOCK,495,suspend
-494250100,Core_1,0,T,TASK_InputProcessing,247,preempt
-494250100,Core_1,0,C,Core_1,0,idle_execution
-494250100,TASK_InputProcessing,247,C,Core_1,0,idle_execution
-494250100,Core_1,0,T,TASK_1MS,494,start
-494250100,TASK_1MS,494,R,FUNC_EXECTIME_1,901,start
-494250100,Core_1,0,C,Core_1,0,execute
-494250100,TASK_1MS,494,C,Core_1,0,execute
-494351825,TASK_WritingActuator,247,SEM,SEM_DataElement1,0,released,1
-494351825,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-494351825,TASK_WritingActuator,247,SCHED,SCHED_Tasks_C2,-1,schedulepoint
-494351825,Core_2,0,C,Core_2,0,lock
-494351875,TASK_WritingActuator,247,R,FUNC_SEMUNLOCK,494,terminate
-494351875,Core_2,0,T,TASK_WritingActuator,247,terminate
-494351875,TASK_WritingActuator,247,SCHED,SCHED_Tasks_C2,-1,processterminate
-494351875,Core_2,0,C,Core_2,0,unlock
-494351875,Core_2,0,C,Core_2,0,idle
-494351875,TASK_WritingActuator,247,C,Core_2,0,idle
-494351925,TASK_WritingActuator,247,STI,IR_SCHED_Tasks_C2,1591,trigger
-494351925,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-494351925,Core_2,0,T,TASK_5MS,247,start
-494351925,TASK_5MS,247,R,FUNC_EXECTIME_1,900,start
-494351925,Core_2,0,C,Core_2,0,execute
-494351925,TASK_5MS,247,C,Core_2,0,execute
-494516475,TASK_1MS,494,R,FUNC_EXECTIME_1,901,terminate
-494516475,Core_1,0,T,TASK_1MS,494,terminate
-494516475,TASK_1MS,494,SCHED,SCHED_Tasks_C1,-1,processterminate
-494516475,Core_1,0,C,Core_1,0,idle
-494516475,TASK_1MS,494,C,Core_1,0,idle
-494516575,TASK_1MS,494,STI,IR_SCHED_Tasks_C1,1665,trigger
-494516575,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-494516575,Core_1,0,C,Core_1,0,execute_idle
-494516575,TASK_InputProcessing,247,C,Core_1,0,execute_idle
-494516575,Core_1,0,T,TASK_InputProcessing,247,resume
-494516575,TASK_InputProcessing,247,R,FUNC_SEMLOCK,495,resume
-494541575,TASK_InputProcessing,247,SEM,SEM_DataElement1,0,requestsemaphore,0
-494541575,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-494541575,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-494541575,Core_1,0,C,Core_1,0,lock
-494541575,TASK_InputProcessing,247,SEM,SEM_DataElement1,0,assigned,1
-494541625,TASK_InputProcessing,247,R,FUNC_SEMLOCK,495,terminate
-494541625,Core_1,0,C,Core_1,0,unlock
-494541625,TASK_InputProcessing,247,R,FUNC_ReadSensorData,247,start
-494705200,TASK_InputProcessing,247,SIG,SIG_RotationSpeed,0,read,0
-494705200,TASK_InputProcessing,247,SIG,SIG_Lambda,0,read,0
-494705200,TASK_InputProcessing,247,SIG,SIG_Temperature,0,read,0
-494705200,TASK_InputProcessing,247,R,FUNC_ReadSensorData,247,terminate
-494705200,TASK_InputProcessing,247,R,FUNC_SEMUNLOCK,495,start
-494905200,TASK_InputProcessing,247,SEM,SEM_DataElement1,0,released,1
-494905200,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-494905200,TASK_InputProcessing,247,SCHED,SCHED_Tasks_C1,-1,schedulepoint
-494905200,Core_1,0,C,Core_1,0,lock
-494905250,TASK_InputProcessing,247,R,FUNC_SEMUNLOCK,495,terminate
-494905250,Core_1,0,C,Core_1,0,unlock
-494905250,TASK_InputProcessing,247,STI,IPA_InputReady,247,trigger
-494905250,IPA_InputReady,247,T,TASK_CalcEngineSpeed,247,activate
-494905250,TASK_CalcEngineSpeed,247,SCHED,SCHED_Tasks_C2,-1,processactivate
-494905250,Core_1,0,T,TASK_InputProcessing,247,terminate
-494905250,TASK_InputProcessing,247,SCHED,SCHED_Tasks_C1,-1,processterminate
-494905250,Core_1,0,C,Core_1,0,idle
-494905250,TASK_InputProcessing,247,C,Core_1,0,idle
-494905300,TASK_InputProcessing,247,STI,IR_SCHED_Tasks_C1,1666,trigger
-494905300,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-494905350,TASK_CalcEngineSpeed,247,STI,IR_SCHED_Tasks_C2,1592,trigger
-494905350,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-494905350,TASK_5MS,247,R,FUNC_EXECTIME_1,900,suspend
-494905350,Core_2,0,T,TASK_5MS,247,preempt
-494905350,Core_2,0,C,Core_2,0,idle_execution
-494905350,TASK_5MS,247,C,Core_2,0,idle_execution
-494905350,Core_2,0,T,TASK_CalcEngineSpeed,247,start
-494905350,TASK_CalcEngineSpeed,247,R,FUNC_ENGINESPEED,247,start
-494905350,Core_2,0,C,Core_2,0,execute
-494905350,TASK_CalcEngineSpeed,247,C,Core_2,0,execute
-495000000,SIM,-1,STI,TIMER-10MS,49,trigger
-495000000,TIMER-10MS,49,T,TASK_10MS,49,activate
-495000000,TASK_10MS,49,SCHED,SCHED_Tasks_C2,-1,processactivate
-495000100,TASK_10MS,49,STI,IR_SCHED_Tasks_C2,1593,trigger
-495000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-495106200,TASK_CalcEngineSpeed,247,R,FUNC_ENGINESPEED,247,terminate
-495106200,Core_2,0,T,TASK_CalcEngineSpeed,247,terminate
-495106200,TASK_CalcEngineSpeed,247,SCHED,SCHED_Tasks_C2,-1,processterminate
-495106200,Core_2,0,C,Core_2,0,idle
-495106200,TASK_CalcEngineSpeed,247,C,Core_2,0,idle
-495106300,TASK_CalcEngineSpeed,247,STI,IR_SCHED_Tasks_C2,1594,trigger
-495106300,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-495106300,Core_2,0,C,Core_2,0,execute_idle
-495106300,TASK_5MS,247,C,Core_2,0,execute_idle
-495106300,Core_2,0,T,TASK_5MS,247,resume
-495106300,TASK_5MS,247,R,FUNC_EXECTIME_1,900,resume
-495165900,TASK_5MS,247,R,FUNC_EXECTIME_1,900,terminate
-495165900,Core_2,0,T,TASK_5MS,247,terminate
-495165900,TASK_5MS,247,SCHED,SCHED_Tasks_C2,-1,processterminate
-495165900,Core_2,0,C,Core_2,0,idle
-495165900,TASK_5MS,247,C,Core_2,0,idle
-495166000,TASK_5MS,247,STI,IR_SCHED_Tasks_C2,1595,trigger
-495166000,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-495166000,Core_2,0,T,TASK_10MS,49,start
-495166000,TASK_10MS,49,R,FUNC_EXECTIME_1,902,start
-495166000,Core_2,0,C,Core_2,0,execute
-495166000,TASK_10MS,49,C,Core_2,0,execute
-495250000,SIM,-1,STI,TIMER-1MS,495,trigger
-495250000,TIMER-1MS,495,T,TASK_1MS,495,activate
-495250000,TASK_1MS,495,SCHED,SCHED_Tasks_C1,-1,processactivate
-495250100,TASK_1MS,495,STI,IR_SCHED_Tasks_C1,1667,trigger
-495250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-495250100,Core_1,0,T,TASK_1MS,495,start
-495250100,TASK_1MS,495,R,FUNC_EXECTIME_1,903,start
-495250100,Core_1,0,C,Core_1,0,execute
-495250100,TASK_1MS,495,C,Core_1,0,execute
-495617425,TASK_1MS,495,R,FUNC_EXECTIME_1,903,terminate
-495617425,Core_1,0,T,TASK_1MS,495,terminate
-495617425,TASK_1MS,495,SCHED,SCHED_Tasks_C1,-1,processterminate
-495617425,Core_1,0,C,Core_1,0,idle
-495617425,TASK_1MS,495,C,Core_1,0,idle
-495617525,TASK_1MS,495,STI,IR_SCHED_Tasks_C1,1668,trigger
-495617525,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-495822100,TASK_10MS,49,R,FUNC_EXECTIME_1,902,terminate
-495822100,Core_2,0,T,TASK_10MS,49,terminate
-495822100,TASK_10MS,49,SCHED,SCHED_Tasks_C2,-1,processterminate
-495822100,Core_2,0,C,Core_2,0,idle
-495822100,TASK_10MS,49,C,Core_2,0,idle
-495822200,TASK_10MS,49,STI,IR_SCHED_Tasks_C2,1596,trigger
-495822200,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-496000000,SIM,-1,STI,TIMER-B_2ms,248,trigger
-496000000,TIMER-B_2ms,248,T,TASK_WritingActuator,248,activate
-496000000,TASK_WritingActuator,248,SCHED,SCHED_Tasks_C2,-1,processactivate
-496000100,TASK_WritingActuator,248,STI,IR_SCHED_Tasks_C2,1597,trigger
-496000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-496000100,Core_2,0,T,TASK_WritingActuator,248,start
-496000100,TASK_WritingActuator,248,R,FUNC_SEMLOCK,496,start
-496000100,Core_2,0,C,Core_2,0,execute
-496000100,TASK_WritingActuator,248,C,Core_2,0,execute
-496100000,SIM,-1,STI,TIMER-5MS,248,trigger
-496100000,TIMER-5MS,248,T,TASK_5MS,248,activate
-496100000,TASK_5MS,248,SCHED,SCHED_Tasks_C2,-1,processactivate
-496100100,TASK_5MS,248,STI,IR_SCHED_Tasks_C2,1598,trigger
-496100100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-496125100,TASK_WritingActuator,248,SEM,SEM_DataElement1,0,requestsemaphore,0
-496125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-496125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-496125100,Core_2,0,C,Core_2,0,lock
-496125100,TASK_WritingActuator,248,SEM,SEM_DataElement1,0,assigned,1
-496125150,TASK_WritingActuator,248,R,FUNC_SEMLOCK,496,terminate
-496125150,Core_2,0,C,Core_2,0,unlock
-496125150,TASK_WritingActuator,248,R,FUNC_WriteData,248,start
-496150000,SIM,-1,STI,TIMER-A_2ms,248,trigger
-496150000,TIMER-A_2ms,248,T,TASK_InputProcessing,248,activate
-496150000,TASK_InputProcessing,248,SCHED,SCHED_Tasks_C1,-1,processactivate
-496150100,TASK_InputProcessing,248,STI,IR_SCHED_Tasks_C1,1669,trigger
-496150100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-496150100,Core_1,0,T,TASK_InputProcessing,248,start
-496150100,TASK_InputProcessing,248,R,FUNC_SEMLOCK,497,start
-496150100,Core_1,0,C,Core_1,0,execute
-496150100,TASK_InputProcessing,248,C,Core_1,0,execute
-496152275,TASK_WritingActuator,248,SIG,SIG_Mixture,0,write,0
-496152275,TASK_WritingActuator,248,R,FUNC_WriteData,248,terminate
-496152275,TASK_WritingActuator,248,R,FUNC_SEMUNLOCK,496,start
-496250000,SIM,-1,STI,TIMER-1MS,496,trigger
-496250000,TIMER-1MS,496,T,TASK_1MS,496,activate
-496250000,TASK_1MS,496,SCHED,SCHED_Tasks_C1,-1,processactivate
-496250100,TASK_1MS,496,STI,IR_SCHED_Tasks_C1,1670,trigger
-496250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-496250100,TASK_InputProcessing,248,R,FUNC_SEMLOCK,497,suspend
-496250100,Core_1,0,T,TASK_InputProcessing,248,preempt
-496250100,Core_1,0,C,Core_1,0,idle_execution
-496250100,TASK_InputProcessing,248,C,Core_1,0,idle_execution
-496250100,Core_1,0,T,TASK_1MS,496,start
-496250100,TASK_1MS,496,R,FUNC_EXECTIME_1,905,start
-496250100,Core_1,0,C,Core_1,0,execute
-496250100,TASK_1MS,496,C,Core_1,0,execute
-496352275,TASK_WritingActuator,248,SEM,SEM_DataElement1,0,released,1
-496352275,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-496352275,TASK_WritingActuator,248,SCHED,SCHED_Tasks_C2,-1,schedulepoint
-496352275,Core_2,0,C,Core_2,0,lock
-496352325,TASK_WritingActuator,248,R,FUNC_SEMUNLOCK,496,terminate
-496352325,Core_2,0,T,TASK_WritingActuator,248,terminate
-496352325,TASK_WritingActuator,248,SCHED,SCHED_Tasks_C2,-1,processterminate
-496352325,Core_2,0,C,Core_2,0,unlock
-496352325,Core_2,0,C,Core_2,0,idle
-496352325,TASK_WritingActuator,248,C,Core_2,0,idle
-496352375,TASK_WritingActuator,248,STI,IR_SCHED_Tasks_C2,1599,trigger
-496352375,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-496352375,Core_2,0,T,TASK_5MS,248,start
-496352375,TASK_5MS,248,R,FUNC_EXECTIME_1,904,start
-496352375,Core_2,0,C,Core_2,0,execute
-496352375,TASK_5MS,248,C,Core_2,0,execute
-496658650,TASK_5MS,248,R,FUNC_EXECTIME_1,904,terminate
-496658650,Core_2,0,T,TASK_5MS,248,terminate
-496658650,TASK_5MS,248,SCHED,SCHED_Tasks_C2,-1,processterminate
-496658650,Core_2,0,C,Core_2,0,idle
-496658650,TASK_5MS,248,C,Core_2,0,idle
-496658750,TASK_5MS,248,STI,IR_SCHED_Tasks_C2,1600,trigger
-496658750,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-496714900,TASK_1MS,496,R,FUNC_EXECTIME_1,905,terminate
-496714900,Core_1,0,T,TASK_1MS,496,terminate
-496714900,TASK_1MS,496,SCHED,SCHED_Tasks_C1,-1,processterminate
-496714900,Core_1,0,C,Core_1,0,idle
-496714900,TASK_1MS,496,C,Core_1,0,idle
-496715000,TASK_1MS,496,STI,IR_SCHED_Tasks_C1,1671,trigger
-496715000,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-496715000,Core_1,0,C,Core_1,0,execute_idle
-496715000,TASK_InputProcessing,248,C,Core_1,0,execute_idle
-496715000,Core_1,0,T,TASK_InputProcessing,248,resume
-496715000,TASK_InputProcessing,248,R,FUNC_SEMLOCK,497,resume
-496740000,TASK_InputProcessing,248,SEM,SEM_DataElement1,0,requestsemaphore,0
-496740000,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-496740000,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-496740000,Core_1,0,C,Core_1,0,lock
-496740000,TASK_InputProcessing,248,SEM,SEM_DataElement1,0,assigned,1
-496740050,TASK_InputProcessing,248,R,FUNC_SEMLOCK,497,terminate
-496740050,Core_1,0,C,Core_1,0,unlock
-496740050,TASK_InputProcessing,248,R,FUNC_ReadSensorData,248,start
-496903850,TASK_InputProcessing,248,SIG,SIG_RotationSpeed,0,read,0
-496903850,TASK_InputProcessing,248,SIG,SIG_Lambda,0,read,0
-496903850,TASK_InputProcessing,248,SIG,SIG_Temperature,0,read,0
-496903850,TASK_InputProcessing,248,R,FUNC_ReadSensorData,248,terminate
-496903850,TASK_InputProcessing,248,R,FUNC_SEMUNLOCK,497,start
-497103850,TASK_InputProcessing,248,SEM,SEM_DataElement1,0,released,1
-497103850,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-497103850,TASK_InputProcessing,248,SCHED,SCHED_Tasks_C1,-1,schedulepoint
-497103850,Core_1,0,C,Core_1,0,lock
-497103900,TASK_InputProcessing,248,R,FUNC_SEMUNLOCK,497,terminate
-497103900,Core_1,0,C,Core_1,0,unlock
-497103900,TASK_InputProcessing,248,STI,IPA_InputReady,248,trigger
-497103900,IPA_InputReady,248,T,TASK_CalcEngineSpeed,248,activate
-497103900,TASK_CalcEngineSpeed,248,SCHED,SCHED_Tasks_C2,-1,processactivate
-497103900,Core_1,0,T,TASK_InputProcessing,248,terminate
-497103900,TASK_InputProcessing,248,SCHED,SCHED_Tasks_C1,-1,processterminate
-497103900,Core_1,0,C,Core_1,0,idle
-497103900,TASK_InputProcessing,248,C,Core_1,0,idle
-497103950,TASK_InputProcessing,248,STI,IR_SCHED_Tasks_C1,1672,trigger
-497103950,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-497104000,TASK_CalcEngineSpeed,248,STI,IR_SCHED_Tasks_C2,1601,trigger
-497104000,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-497104000,Core_2,0,T,TASK_CalcEngineSpeed,248,start
-497104000,TASK_CalcEngineSpeed,248,R,FUNC_ENGINESPEED,248,start
-497104000,Core_2,0,C,Core_2,0,execute
-497104000,TASK_CalcEngineSpeed,248,C,Core_2,0,execute
-497231100,TASK_CalcEngineSpeed,248,R,FUNC_ENGINESPEED,248,terminate
-497231100,Core_2,0,T,TASK_CalcEngineSpeed,248,terminate
-497231100,TASK_CalcEngineSpeed,248,SCHED,SCHED_Tasks_C2,-1,processterminate
-497231100,Core_2,0,C,Core_2,0,idle
-497231100,TASK_CalcEngineSpeed,248,C,Core_2,0,idle
-497231200,TASK_CalcEngineSpeed,248,STI,IR_SCHED_Tasks_C2,1602,trigger
-497231200,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-497250000,SIM,-1,STI,TIMER-1MS,497,trigger
-497250000,TIMER-1MS,497,T,TASK_1MS,497,activate
-497250000,TASK_1MS,497,SCHED,SCHED_Tasks_C1,-1,processactivate
-497250100,TASK_1MS,497,STI,IR_SCHED_Tasks_C1,1673,trigger
-497250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-497250100,Core_1,0,T,TASK_1MS,497,start
-497250100,TASK_1MS,497,R,FUNC_EXECTIME_1,906,start
-497250100,Core_1,0,C,Core_1,0,execute
-497250100,TASK_1MS,497,C,Core_1,0,execute
-497830450,TASK_1MS,497,R,FUNC_EXECTIME_1,906,terminate
-497830450,Core_1,0,T,TASK_1MS,497,terminate
-497830450,TASK_1MS,497,SCHED,SCHED_Tasks_C1,-1,processterminate
-497830450,Core_1,0,C,Core_1,0,idle
-497830450,TASK_1MS,497,C,Core_1,0,idle
-497830550,TASK_1MS,497,STI,IR_SCHED_Tasks_C1,1674,trigger
-497830550,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-498000000,SIM,-1,STI,TIMER-B_2ms,249,trigger
-498000000,TIMER-B_2ms,249,T,TASK_WritingActuator,249,activate
-498000000,TASK_WritingActuator,249,SCHED,SCHED_Tasks_C2,-1,processactivate
-498000100,TASK_WritingActuator,249,STI,IR_SCHED_Tasks_C2,1603,trigger
-498000100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-498000100,Core_2,0,T,TASK_WritingActuator,249,start
-498000100,TASK_WritingActuator,249,R,FUNC_SEMLOCK,498,start
-498000100,Core_2,0,C,Core_2,0,execute
-498000100,TASK_WritingActuator,249,C,Core_2,0,execute
-498100000,SIM,-1,STI,TIMER-5MS,249,trigger
-498100000,TIMER-5MS,249,T,TASK_5MS,249,activate
-498100000,TASK_5MS,249,SCHED,SCHED_Tasks_C2,-1,processactivate
-498100100,TASK_5MS,249,STI,IR_SCHED_Tasks_C2,1604,trigger
-498100100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-498125100,TASK_WritingActuator,249,SEM,SEM_DataElement1,0,requestsemaphore,0
-498125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-498125100,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-498125100,Core_2,0,C,Core_2,0,lock
-498125100,TASK_WritingActuator,249,SEM,SEM_DataElement1,0,assigned,1
-498125150,TASK_WritingActuator,249,R,FUNC_SEMLOCK,498,terminate
-498125150,Core_2,0,C,Core_2,0,unlock
-498125150,TASK_WritingActuator,249,R,FUNC_WriteData,249,start
-498150000,SIM,-1,STI,TIMER-A_2ms,249,trigger
-498150000,TIMER-A_2ms,249,T,TASK_InputProcessing,249,activate
-498150000,TASK_InputProcessing,249,SCHED,SCHED_Tasks_C1,-1,processactivate
-498150100,TASK_InputProcessing,249,STI,IR_SCHED_Tasks_C1,1675,trigger
-498150100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-498150100,Core_1,0,T,TASK_InputProcessing,249,start
-498150100,TASK_InputProcessing,249,R,FUNC_SEMLOCK,499,start
-498150100,Core_1,0,C,Core_1,0,execute
-498150100,TASK_InputProcessing,249,C,Core_1,0,execute
-498151850,TASK_WritingActuator,249,SIG,SIG_Mixture,0,write,0
-498151850,TASK_WritingActuator,249,R,FUNC_WriteData,249,terminate
-498151850,TASK_WritingActuator,249,R,FUNC_SEMUNLOCK,498,start
-498250000,SIM,-1,STI,TIMER-1MS,498,trigger
-498250000,TIMER-1MS,498,T,TASK_1MS,498,activate
-498250000,TASK_1MS,498,SCHED,SCHED_Tasks_C1,-1,processactivate
-498250100,TASK_1MS,498,STI,IR_SCHED_Tasks_C1,1676,trigger
-498250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-498250100,TASK_InputProcessing,249,R,FUNC_SEMLOCK,499,suspend
-498250100,Core_1,0,T,TASK_InputProcessing,249,preempt
-498250100,Core_1,0,C,Core_1,0,idle_execution
-498250100,TASK_InputProcessing,249,C,Core_1,0,idle_execution
-498250100,Core_1,0,T,TASK_1MS,498,start
-498250100,TASK_1MS,498,R,FUNC_EXECTIME_1,908,start
-498250100,Core_1,0,C,Core_1,0,execute
-498250100,TASK_1MS,498,C,Core_1,0,execute
-498351850,TASK_WritingActuator,249,SEM,SEM_DataElement1,0,released,1
-498351850,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-498351850,TASK_WritingActuator,249,SCHED,SCHED_Tasks_C2,-1,schedulepoint
-498351850,Core_2,0,C,Core_2,0,lock
-498351900,TASK_WritingActuator,249,R,FUNC_SEMUNLOCK,498,terminate
-498351900,Core_2,0,T,TASK_WritingActuator,249,terminate
-498351900,TASK_WritingActuator,249,SCHED,SCHED_Tasks_C2,-1,processterminate
-498351900,Core_2,0,C,Core_2,0,unlock
-498351900,Core_2,0,C,Core_2,0,idle
-498351900,TASK_WritingActuator,249,C,Core_2,0,idle
-498351950,TASK_WritingActuator,249,STI,IR_SCHED_Tasks_C2,1605,trigger
-498351950,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-498351950,Core_2,0,T,TASK_5MS,249,start
-498351950,TASK_5MS,249,R,FUNC_EXECTIME_1,907,start
-498351950,Core_2,0,C,Core_2,0,execute
-498351950,TASK_5MS,249,C,Core_2,0,execute
-498616125,TASK_1MS,498,R,FUNC_EXECTIME_1,908,terminate
-498616125,Core_1,0,T,TASK_1MS,498,terminate
-498616125,TASK_1MS,498,SCHED,SCHED_Tasks_C1,-1,processterminate
-498616125,Core_1,0,C,Core_1,0,idle
-498616125,TASK_1MS,498,C,Core_1,0,idle
-498616225,TASK_1MS,498,STI,IR_SCHED_Tasks_C1,1677,trigger
-498616225,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-498616225,Core_1,0,C,Core_1,0,execute_idle
-498616225,TASK_InputProcessing,249,C,Core_1,0,execute_idle
-498616225,Core_1,0,T,TASK_InputProcessing,249,resume
-498616225,TASK_InputProcessing,249,R,FUNC_SEMLOCK,499,resume
-498641225,TASK_InputProcessing,249,SEM,SEM_DataElement1,0,requestsemaphore,0
-498641225,SEM_DataElement1,0,SEM,SEM_DataElement1,0,queued,0
-498641225,SEM_DataElement1,0,SEM,SEM_DataElement1,0,lock,1
-498641225,Core_1,0,C,Core_1,0,lock
-498641225,TASK_InputProcessing,249,SEM,SEM_DataElement1,0,assigned,1
-498641275,TASK_InputProcessing,249,R,FUNC_SEMLOCK,499,terminate
-498641275,Core_1,0,C,Core_1,0,unlock
-498641275,TASK_InputProcessing,249,R,FUNC_ReadSensorData,249,start
-498652000,TASK_5MS,249,R,FUNC_EXECTIME_1,907,terminate
-498652000,Core_2,0,T,TASK_5MS,249,terminate
-498652000,TASK_5MS,249,SCHED,SCHED_Tasks_C2,-1,processterminate
-498652000,Core_2,0,C,Core_2,0,idle
-498652000,TASK_5MS,249,C,Core_2,0,idle
-498652100,TASK_5MS,249,STI,IR_SCHED_Tasks_C2,1606,trigger
-498652100,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-498805675,TASK_InputProcessing,249,SIG,SIG_RotationSpeed,0,read,0
-498805675,TASK_InputProcessing,249,SIG,SIG_Lambda,0,read,0
-498805675,TASK_InputProcessing,249,SIG,SIG_Temperature,0,read,0
-498805675,TASK_InputProcessing,249,R,FUNC_ReadSensorData,249,terminate
-498805675,TASK_InputProcessing,249,R,FUNC_SEMUNLOCK,499,start
-499005675,TASK_InputProcessing,249,SEM,SEM_DataElement1,0,released,1
-499005675,SEM_DataElement1,0,SEM,SEM_DataElement1,0,unlock,0
-499005675,TASK_InputProcessing,249,SCHED,SCHED_Tasks_C1,-1,schedulepoint
-499005675,Core_1,0,C,Core_1,0,lock
-499005725,TASK_InputProcessing,249,R,FUNC_SEMUNLOCK,499,terminate
-499005725,Core_1,0,C,Core_1,0,unlock
-499005725,TASK_InputProcessing,249,STI,IPA_InputReady,249,trigger
-499005725,IPA_InputReady,249,T,TASK_CalcEngineSpeed,249,activate
-499005725,TASK_CalcEngineSpeed,249,SCHED,SCHED_Tasks_C2,-1,processactivate
-499005725,Core_1,0,T,TASK_InputProcessing,249,terminate
-499005725,TASK_InputProcessing,249,SCHED,SCHED_Tasks_C1,-1,processterminate
-499005725,Core_1,0,C,Core_1,0,idle
-499005725,TASK_InputProcessing,249,C,Core_1,0,idle
-499005775,TASK_InputProcessing,249,STI,IR_SCHED_Tasks_C1,1678,trigger
-499005775,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-499005825,TASK_CalcEngineSpeed,249,STI,IR_SCHED_Tasks_C2,1607,trigger
-499005825,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-499005825,Core_2,0,T,TASK_CalcEngineSpeed,249,start
-499005825,TASK_CalcEngineSpeed,249,R,FUNC_ENGINESPEED,249,start
-499005825,Core_2,0,C,Core_2,0,execute
-499005825,TASK_CalcEngineSpeed,249,C,Core_2,0,execute
-499250000,SIM,-1,STI,TIMER-1MS,499,trigger
-499250000,TIMER-1MS,499,T,TASK_1MS,499,activate
-499250000,TASK_1MS,499,SCHED,SCHED_Tasks_C1,-1,processactivate
-499250100,TASK_1MS,499,STI,IR_SCHED_Tasks_C1,1679,trigger
-499250100,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-499250100,Core_1,0,T,TASK_1MS,499,start
-499250100,TASK_1MS,499,R,FUNC_EXECTIME_1,909,start
-499250100,Core_1,0,C,Core_1,0,execute
-499250100,TASK_1MS,499,C,Core_1,0,execute
-499253725,TASK_CalcEngineSpeed,249,R,FUNC_ENGINESPEED,249,terminate
-499253725,Core_2,0,T,TASK_CalcEngineSpeed,249,terminate
-499253725,TASK_CalcEngineSpeed,249,SCHED,SCHED_Tasks_C2,-1,processterminate
-499253725,Core_2,0,C,Core_2,0,idle
-499253725,TASK_CalcEngineSpeed,249,C,Core_2,0,idle
-499253825,TASK_CalcEngineSpeed,249,STI,IR_SCHED_Tasks_C2,1608,trigger
-499253825,SCHED_Tasks_C2,-1,SCHED,SCHED_Tasks_C2,-1,schedule
-499713500,TASK_1MS,499,R,FUNC_EXECTIME_1,909,terminate
-499713500,Core_1,0,T,TASK_1MS,499,terminate
-499713500,TASK_1MS,499,SCHED,SCHED_Tasks_C1,-1,processterminate
-499713500,Core_1,0,C,Core_1,0,idle
-499713500,TASK_1MS,499,C,Core_1,0,idle
-499713600,TASK_1MS,499,STI,IR_SCHED_Tasks_C1,1680,trigger
-499713600,SCHED_Tasks_C1,-1,SCHED,SCHED_Tasks_C1,-1,schedule
-500000000,SIM,-1,STI,TIMER-B_2ms,250,trigger
-500000000,TIMER-B_2ms,250,T,TASK_WritingActuator,250,activate
-500000000,TASK_WritingActuator,250,SCHED,SCHED_Tasks_C2,-1,processactivate
-500000000,SIM,-1,STI,TIMER-10MS_2,50,trigger
-500000000,TIMER-10MS_2,50,T,TASK_10MS_DL2,50,activate
-500000000,TASK_10MS_DL2,50,SCHED,SCHED_Tasks_C1,-1,processactivate
diff --git a/lttng/org.eclipse.linuxtools.btf.core/.classpath b/lttng/org.eclipse.linuxtools.btf.core/.classpath
deleted file mode 100644
index 098194ca4b..0000000000
--- a/lttng/org.eclipse.linuxtools.btf.core/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
- <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.7"/>
- <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
- <classpathentry kind="src" path="src"/>
- <classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/lttng/org.eclipse.linuxtools.btf.core/.project b/lttng/org.eclipse.linuxtools.btf.core/.project
deleted file mode 100644
index 9ff6440f47..0000000000
--- a/lttng/org.eclipse.linuxtools.btf.core/.project
+++ /dev/null
@@ -1,34 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>org.eclipse.linuxtools.btf.core</name>
- <comment></comment>
- <projects>
- </projects>
- <buildSpec>
- <buildCommand>
- <name>org.eclipse.jdt.core.javabuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.ManifestBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.SchemaBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.api.tools.apiAnalysisBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>org.eclipse.pde.PluginNature</nature>
- <nature>org.eclipse.jdt.core.javanature</nature>
- <nature>org.eclipse.pde.api.tools.apiAnalysisNature</nature>
- </natures>
-</projectDescription>
diff --git a/lttng/org.eclipse.linuxtools.btf.core/.settings/org.eclipse.core.resources.prefs b/lttng/org.eclipse.linuxtools.btf.core/.settings/org.eclipse.core.resources.prefs
deleted file mode 100644
index 99f26c0203..0000000000
--- a/lttng/org.eclipse.linuxtools.btf.core/.settings/org.eclipse.core.resources.prefs
+++ /dev/null
@@ -1,2 +0,0 @@
-eclipse.preferences.version=1
-encoding/<project>=UTF-8
diff --git a/lttng/org.eclipse.linuxtools.btf.core/.settings/org.eclipse.core.runtime.prefs b/lttng/org.eclipse.linuxtools.btf.core/.settings/org.eclipse.core.runtime.prefs
deleted file mode 100644
index 5a0ad22d2a..0000000000
--- a/lttng/org.eclipse.linuxtools.btf.core/.settings/org.eclipse.core.runtime.prefs
+++ /dev/null
@@ -1,2 +0,0 @@
-eclipse.preferences.version=1
-line.separator=\n
diff --git a/lttng/org.eclipse.linuxtools.btf.core/.settings/org.eclipse.jdt.core.prefs b/lttng/org.eclipse.linuxtools.btf.core/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index 9f3662cd78..0000000000
--- a/lttng/org.eclipse.linuxtools.btf.core/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,394 +0,0 @@
-eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.annotation.inheritNullAnnotations=enabled
-org.eclipse.jdt.core.compiler.annotation.missingNonNullByDefaultAnnotation=ignore
-org.eclipse.jdt.core.compiler.annotation.nonnull=org.eclipse.jdt.annotation.NonNull
-org.eclipse.jdt.core.compiler.annotation.nonnullbydefault=org.eclipse.jdt.annotation.NonNullByDefault
-org.eclipse.jdt.core.compiler.annotation.nullable=org.eclipse.jdt.annotation.Nullable
-org.eclipse.jdt.core.compiler.annotation.nullanalysis=enabled
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.7
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.doc.comment.support=enabled
-org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=error
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
-org.eclipse.jdt.core.compiler.problem.comparingIdentical=error
-org.eclipse.jdt.core.compiler.problem.deadCode=error
-org.eclipse.jdt.core.compiler.problem.deprecation=error
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled
-org.eclipse.jdt.core.compiler.problem.discouragedReference=warning
-org.eclipse.jdt.core.compiler.problem.emptyStatement=error
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.problem.explicitlyClosedAutoCloseable=error
-org.eclipse.jdt.core.compiler.problem.fallthroughCase=error
-org.eclipse.jdt.core.compiler.problem.fatalOptionalError=disabled
-org.eclipse.jdt.core.compiler.problem.fieldHiding=error
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=error
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=error
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=error
-org.eclipse.jdt.core.compiler.problem.includeNullInfoFromAsserts=disabled
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=error
-org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=error
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=error
-org.eclipse.jdt.core.compiler.problem.invalidJavadoc=warning
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTags=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=protected
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=error
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=error
-org.eclipse.jdt.core.compiler.problem.missingDefaultCase=error
-org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=error
-org.eclipse.jdt.core.compiler.problem.missingEnumCaseDespiteDefault=enabled
-org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=error
-org.eclipse.jdt.core.compiler.problem.missingJavadocComments=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=protected
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagDescription=all_standard_tags
-org.eclipse.jdt.core.compiler.problem.missingJavadocTags=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsMethodTypeParameters=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=protected
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=error
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotationForInterfaceMethodImplementation=enabled
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=error
-org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=error
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=error
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=error
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=warning
-org.eclipse.jdt.core.compiler.problem.nonnullParameterAnnotationDropped=warning
-org.eclipse.jdt.core.compiler.problem.nullAnnotationInferenceConflict=warning
-org.eclipse.jdt.core.compiler.problem.nullReference=error
-org.eclipse.jdt.core.compiler.problem.nullSpecViolation=error
-org.eclipse.jdt.core.compiler.problem.nullUncheckedConversion=warning
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=error
-org.eclipse.jdt.core.compiler.problem.parameterAssignment=error
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=error
-org.eclipse.jdt.core.compiler.problem.potentialNullReference=error
-org.eclipse.jdt.core.compiler.problem.potentiallyUnclosedCloseable=warning
-org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning
-org.eclipse.jdt.core.compiler.problem.redundantNullAnnotation=warning
-org.eclipse.jdt.core.compiler.problem.redundantNullCheck=error
-org.eclipse.jdt.core.compiler.problem.redundantSpecificationOfTypeArguments=error
-org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=error
-org.eclipse.jdt.core.compiler.problem.reportMethodCanBePotentiallyStatic=ignore
-org.eclipse.jdt.core.compiler.problem.reportMethodCanBeStatic=error
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=error
-org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=disabled
-org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
-org.eclipse.jdt.core.compiler.problem.syntacticNullAnalysisForFields=enabled
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
-org.eclipse.jdt.core.compiler.problem.typeParameterHiding=error
-org.eclipse.jdt.core.compiler.problem.unavoidableGenericTypeProblems=disabled
-org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
-org.eclipse.jdt.core.compiler.problem.unclosedCloseable=error
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
-org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=error
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=error
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=error
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=warning
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=disabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=disabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=error
-org.eclipse.jdt.core.compiler.problem.unusedLabel=error
-org.eclipse.jdt.core.compiler.problem.unusedLocal=error
-org.eclipse.jdt.core.compiler.problem.unusedObjectAllocation=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=error
-org.eclipse.jdt.core.compiler.problem.unusedTypeParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedWarningToken=error
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=error
-org.eclipse.jdt.core.compiler.source=1.7
-org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_assignment=0
-org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
-org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
-org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
-org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
-org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0
-org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=80
-org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=0
-org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch=16
-org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_after_package=1
-org.eclipse.jdt.core.formatter.blank_lines_before_field=0
-org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
-org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
-org.eclipse.jdt.core.formatter.blank_lines_before_method=1
-org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
-org.eclipse.jdt.core.formatter.blank_lines_before_package=0
-org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
-org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
-org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
-org.eclipse.jdt.core.formatter.comment.format_block_comments=true
-org.eclipse.jdt.core.formatter.comment.format_header=false
-org.eclipse.jdt.core.formatter.comment.format_html=true
-org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=true
-org.eclipse.jdt.core.formatter.comment.format_line_comments=true
-org.eclipse.jdt.core.formatter.comment.format_source_code=true
-org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true
-org.eclipse.jdt.core.formatter.comment.indent_root_tags=true
-org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
-org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=insert
-org.eclipse.jdt.core.formatter.comment.line_length=80
-org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries=true
-org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries=true
-org.eclipse.jdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments=false
-org.eclipse.jdt.core.formatter.compact_else_if=true
-org.eclipse.jdt.core.formatter.continuation_indentation=2
-org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2
-org.eclipse.jdt.core.formatter.disabling_tag=@formatter\:off
-org.eclipse.jdt.core.formatter.enabling_tag=@formatter\:on
-org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
-org.eclipse.jdt.core.formatter.format_line_comment_starting_on_first_column=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
-org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_empty_lines=false
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=false
-org.eclipse.jdt.core.formatter.indentation.size=4
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_label=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_try=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources=insert
-org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_try=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
-org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.join_lines_in_comments=true
-org.eclipse.jdt.core.formatter.join_wrapped_lines=false
-org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.lineSplit=250
-org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
-org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
-org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true
-org.eclipse.jdt.core.formatter.tabulation.char=space
-org.eclipse.jdt.core.formatter.tabulation.size=4
-org.eclipse.jdt.core.formatter.use_on_off_tags=false
-org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
-org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
-org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true
-org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true
diff --git a/lttng/org.eclipse.linuxtools.btf.core/.settings/org.eclipse.jdt.ui.prefs b/lttng/org.eclipse.linuxtools.btf.core/.settings/org.eclipse.jdt.ui.prefs
deleted file mode 100644
index 4fd0c7006a..0000000000
--- a/lttng/org.eclipse.linuxtools.btf.core/.settings/org.eclipse.jdt.ui.prefs
+++ /dev/null
@@ -1,56 +0,0 @@
-eclipse.preferences.version=1
-editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
-formatter_profile=_tmf-style
-formatter_settings_version=12
-sp_cleanup.add_default_serial_version_id=true
-sp_cleanup.add_generated_serial_version_id=false
-sp_cleanup.add_missing_annotations=false
-sp_cleanup.add_missing_deprecated_annotations=true
-sp_cleanup.add_missing_methods=false
-sp_cleanup.add_missing_nls_tags=false
-sp_cleanup.add_missing_override_annotations=true
-sp_cleanup.add_missing_override_annotations_interface_methods=true
-sp_cleanup.add_serial_version_id=false
-sp_cleanup.always_use_blocks=true
-sp_cleanup.always_use_parentheses_in_expressions=false
-sp_cleanup.always_use_this_for_non_static_field_access=false
-sp_cleanup.always_use_this_for_non_static_method_access=false
-sp_cleanup.convert_to_enhanced_for_loop=false
-sp_cleanup.correct_indentation=false
-sp_cleanup.format_source_code=false
-sp_cleanup.format_source_code_changes_only=false
-sp_cleanup.make_local_variable_final=false
-sp_cleanup.make_parameters_final=false
-sp_cleanup.make_private_fields_final=true
-sp_cleanup.make_type_abstract_if_missing_method=false
-sp_cleanup.make_variable_declarations_final=false
-sp_cleanup.never_use_blocks=false
-sp_cleanup.never_use_parentheses_in_expressions=true
-sp_cleanup.on_save_use_additional_actions=true
-sp_cleanup.organize_imports=false
-sp_cleanup.qualify_static_field_accesses_with_declaring_class=false
-sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_with_declaring_class=false
-sp_cleanup.qualify_static_method_accesses_with_declaring_class=false
-sp_cleanup.remove_private_constructors=true
-sp_cleanup.remove_trailing_whitespaces=true
-sp_cleanup.remove_trailing_whitespaces_all=true
-sp_cleanup.remove_trailing_whitespaces_ignore_empty=false
-sp_cleanup.remove_unnecessary_casts=false
-sp_cleanup.remove_unnecessary_nls_tags=false
-sp_cleanup.remove_unused_imports=false
-sp_cleanup.remove_unused_local_variables=false
-sp_cleanup.remove_unused_private_fields=true
-sp_cleanup.remove_unused_private_members=false
-sp_cleanup.remove_unused_private_methods=true
-sp_cleanup.remove_unused_private_types=true
-sp_cleanup.sort_members=false
-sp_cleanup.sort_members_all=false
-sp_cleanup.use_blocks=true
-sp_cleanup.use_blocks_only_for_return_and_throw=false
-sp_cleanup.use_parentheses_in_expressions=false
-sp_cleanup.use_this_for_non_static_field_access=false
-sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=true
-sp_cleanup.use_this_for_non_static_method_access=false
-sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true
diff --git a/lttng/org.eclipse.linuxtools.btf.core/.settings/org.eclipse.pde.api.tools.prefs b/lttng/org.eclipse.linuxtools.btf.core/.settings/org.eclipse.pde.api.tools.prefs
deleted file mode 100644
index acc3abd47c..0000000000
--- a/lttng/org.eclipse.linuxtools.btf.core/.settings/org.eclipse.pde.api.tools.prefs
+++ /dev/null
@@ -1,97 +0,0 @@
-ANNOTATION_ELEMENT_TYPE_ADDED_METHOD_WITHOUT_DEFAULT_VALUE=Error
-ANNOTATION_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
-ANNOTATION_ELEMENT_TYPE_REMOVED_FIELD=Error
-ANNOTATION_ELEMENT_TYPE_REMOVED_METHOD=Error
-ANNOTATION_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
-API_COMPONENT_ELEMENT_TYPE_REMOVED_API_TYPE=Error
-API_COMPONENT_ELEMENT_TYPE_REMOVED_REEXPORTED_API_TYPE=Error
-API_COMPONENT_ELEMENT_TYPE_REMOVED_REEXPORTED_TYPE=Error
-API_COMPONENT_ELEMENT_TYPE_REMOVED_TYPE=Error
-API_USE_SCAN_FIELD_SEVERITY=Error
-API_USE_SCAN_METHOD_SEVERITY=Error
-API_USE_SCAN_TYPE_SEVERITY=Error
-CLASS_ELEMENT_TYPE_ADDED_METHOD=Error
-CLASS_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
-CLASS_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
-CLASS_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error
-CLASS_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
-CLASS_ELEMENT_TYPE_CHANGED_NON_ABSTRACT_TO_ABSTRACT=Error
-CLASS_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error
-CLASS_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
-CLASS_ELEMENT_TYPE_REMOVED_CONSTRUCTOR=Error
-CLASS_ELEMENT_TYPE_REMOVED_FIELD=Error
-CLASS_ELEMENT_TYPE_REMOVED_METHOD=Error
-CLASS_ELEMENT_TYPE_REMOVED_SUPERCLASS=Error
-CLASS_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
-CLASS_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
-CONSTRUCTOR_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
-CONSTRUCTOR_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
-CONSTRUCTOR_ELEMENT_TYPE_CHANGED_VARARGS_TO_ARRAY=Error
-CONSTRUCTOR_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
-ENUM_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error
-ENUM_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
-ENUM_ELEMENT_TYPE_REMOVED_ENUM_CONSTANT=Error
-ENUM_ELEMENT_TYPE_REMOVED_FIELD=Error
-ENUM_ELEMENT_TYPE_REMOVED_METHOD=Error
-ENUM_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
-FIELD_ELEMENT_TYPE_ADDED_VALUE=Error
-FIELD_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
-FIELD_ELEMENT_TYPE_CHANGED_FINAL_TO_NON_FINAL_STATIC_CONSTANT=Error
-FIELD_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error
-FIELD_ELEMENT_TYPE_CHANGED_NON_STATIC_TO_STATIC=Error
-FIELD_ELEMENT_TYPE_CHANGED_STATIC_TO_NON_STATIC=Error
-FIELD_ELEMENT_TYPE_CHANGED_TYPE=Error
-FIELD_ELEMENT_TYPE_CHANGED_VALUE=Error
-FIELD_ELEMENT_TYPE_REMOVED_TYPE_ARGUMENT=Error
-FIELD_ELEMENT_TYPE_REMOVED_VALUE=Error
-ILLEGAL_EXTEND=Warning
-ILLEGAL_IMPLEMENT=Warning
-ILLEGAL_INSTANTIATE=Warning
-ILLEGAL_OVERRIDE=Warning
-ILLEGAL_REFERENCE=Warning
-INTERFACE_ELEMENT_TYPE_ADDED_FIELD=Error
-INTERFACE_ELEMENT_TYPE_ADDED_METHOD=Error
-INTERFACE_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
-INTERFACE_ELEMENT_TYPE_ADDED_SUPER_INTERFACE_WITH_METHODS=Error
-INTERFACE_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
-INTERFACE_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error
-INTERFACE_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
-INTERFACE_ELEMENT_TYPE_REMOVED_FIELD=Error
-INTERFACE_ELEMENT_TYPE_REMOVED_METHOD=Error
-INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
-INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
-INVALID_JAVADOC_TAG=Warning
-INVALID_REFERENCE_IN_SYSTEM_LIBRARIES=Warning
-LEAK_EXTEND=Warning
-LEAK_FIELD_DECL=Warning
-LEAK_IMPLEMENT=Warning
-LEAK_METHOD_PARAM=Warning
-LEAK_METHOD_RETURN_TYPE=Warning
-METHOD_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
-METHOD_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
-METHOD_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
-METHOD_ELEMENT_TYPE_CHANGED_NON_ABSTRACT_TO_ABSTRACT=Error
-METHOD_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error
-METHOD_ELEMENT_TYPE_CHANGED_NON_STATIC_TO_STATIC=Error
-METHOD_ELEMENT_TYPE_CHANGED_STATIC_TO_NON_STATIC=Error
-METHOD_ELEMENT_TYPE_CHANGED_VARARGS_TO_ARRAY=Error
-METHOD_ELEMENT_TYPE_REMOVED_ANNOTATION_DEFAULT_VALUE=Error
-METHOD_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
-MISSING_EE_DESCRIPTIONS=Ignore
-TYPE_PARAMETER_ELEMENT_TYPE_ADDED_CLASS_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_ADDED_INTERFACE_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_CHANGED_CLASS_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_CHANGED_INTERFACE_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_CLASS_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error
-UNUSED_PROBLEM_FILTERS=Warning
-automatically_removed_unused_problem_filters=false
-eclipse.preferences.version=1
-incompatible_api_component_version=Error
-incompatible_api_component_version_include_major_without_breaking_change=Disabled
-incompatible_api_component_version_include_minor_without_api_change=Disabled
-invalid_since_tag_version=Error
-malformed_since_tag=Error
-missing_since_tag=Error
-report_api_breakage_when_major_version_incremented=Disabled
-report_resolution_errors_api_component=Warning
diff --git a/lttng/org.eclipse.linuxtools.btf.core/.settings/org.eclipse.pde.prefs b/lttng/org.eclipse.linuxtools.btf.core/.settings/org.eclipse.pde.prefs
deleted file mode 100644
index d92b94fd4b..0000000000
--- a/lttng/org.eclipse.linuxtools.btf.core/.settings/org.eclipse.pde.prefs
+++ /dev/null
@@ -1,32 +0,0 @@
-compilers.f.unresolved-features=1
-compilers.f.unresolved-plugins=1
-compilers.incompatible-environment=1
-compilers.p.build=1
-compilers.p.build.bin.includes=1
-compilers.p.build.encodings=2
-compilers.p.build.java.compiler=2
-compilers.p.build.java.compliance=1
-compilers.p.build.missing.output=2
-compilers.p.build.output.library=1
-compilers.p.build.source.library=1
-compilers.p.build.src.includes=1
-compilers.p.deprecated=1
-compilers.p.discouraged-class=1
-compilers.p.internal=1
-compilers.p.missing-packages=1
-compilers.p.missing-version-export-package=2
-compilers.p.missing-version-import-package=2
-compilers.p.missing-version-require-bundle=2
-compilers.p.no-required-att=0
-compilers.p.not-externalized-att=1
-compilers.p.unknown-attribute=1
-compilers.p.unknown-class=1
-compilers.p.unknown-element=1
-compilers.p.unknown-identifier=1
-compilers.p.unknown-resource=1
-compilers.p.unresolved-ex-points=0
-compilers.p.unresolved-import=0
-compilers.s.create-docs=false
-compilers.s.doc-folder=doc
-compilers.s.open-tags=1
-eclipse.preferences.version=1
diff --git a/lttng/org.eclipse.linuxtools.btf.core/META-INF/MANIFEST.MF b/lttng/org.eclipse.linuxtools.btf.core/META-INF/MANIFEST.MF
deleted file mode 100644
index 9751babc35..0000000000
--- a/lttng/org.eclipse.linuxtools.btf.core/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,18 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %Bundle-Name
-Bundle-Vendor: %Bundle-Vendor
-Bundle-Version: 3.1.0.qualifier
-Bundle-Localization: plugin
-Bundle-SymbolicName: org.eclipse.linuxtools.btf.core;singleton:=true
-Bundle-Activator: org.eclipse.linuxtools.btf.core.Activator
-Bundle-ActivationPolicy: lazy
-Bundle-RequiredExecutionEnvironment: JavaSE-1.7
-Require-Bundle: org.eclipse.core.runtime,
- org.eclipse.core.resources,
- org.eclipse.linuxtools.tmf.core;bundle-version="3.1.0"
-Export-Package: org.eclipse.linuxtools.btf.core,
- org.eclipse.linuxtools.btf.core.analysis,
- org.eclipse.linuxtools.btf.core.event,
- org.eclipse.linuxtools.btf.core.trace
-Import-Package: com.google.common.collect
diff --git a/lttng/org.eclipse.linuxtools.btf.core/about.html b/lttng/org.eclipse.linuxtools.btf.core/about.html
deleted file mode 100644
index c258ef55d8..0000000000
--- a/lttng/org.eclipse.linuxtools.btf.core/about.html
+++ /dev/null
@@ -1,28 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
-<title>About</title>
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
-
-<p>June 5, 2006</p>
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;). Unless otherwise
-indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is available
-at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is
-being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content. Check the Redistributor's license that was
-provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at <a href="http://www.eclipse.org/">http://www.eclipse.org</a>.</p>
-
-</body>
-</html> \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.btf.core/build.properties b/lttng/org.eclipse.linuxtools.btf.core/build.properties
deleted file mode 100644
index 748e4f916b..0000000000
--- a/lttng/org.eclipse.linuxtools.btf.core/build.properties
+++ /dev/null
@@ -1,23 +0,0 @@
-###############################################################################
-# Copyright (c) 2014 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:
-# Ericsson - Initial API and implementation
-###############################################################################
-
-source.. = src/
-output.. = bin/
-bin.includes = META-INF/,\
- plugin.properties,\
- plugin.xml,\
- about.html,\
- .,\
- plugin.xml
-src.includes = about.html
-additional.bundles = org.eclipse.jdt.annotation
-jars.extra.classpath = platform:/plugin/org.eclipse.jdt.annotation
diff --git a/lttng/org.eclipse.linuxtools.btf.core/plugin.properties b/lttng/org.eclipse.linuxtools.btf.core/plugin.properties
deleted file mode 100644
index dcb89496df..0000000000
--- a/lttng/org.eclipse.linuxtools.btf.core/plugin.properties
+++ /dev/null
@@ -1,15 +0,0 @@
-###############################################################################
-# Copyright (c) 2014 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:
-# Ericsson - Initial API and implementation
-###############################################################################
-
-#Properties file for org.eclipse.linuxtools.btf.core
-Bundle-Vendor = Eclipse Linux Tools
-Bundle-Name = Linux Tools BTF Plug-in
diff --git a/lttng/org.eclipse.linuxtools.btf.core/plugin.xml b/lttng/org.eclipse.linuxtools.btf.core/plugin.xml
deleted file mode 100644
index e6d9fb7f24..0000000000
--- a/lttng/org.eclipse.linuxtools.btf.core/plugin.xml
+++ /dev/null
@@ -1,32 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.4"?>
-<plugin>
- <extension
- point="org.eclipse.linuxtools.tmf.core.tracetype">
- <type
- category="org.eclipse.linuxtools.btf.category"
- event_type="org.eclipse.linuxtools.tmf.core.event.TmfEvent"
- id="org.eclipse.linuxtools.btf.trace"
- isDirectory="false"
- name="BTF Trace"
- trace_type="org.eclipse.linuxtools.btf.core.trace.BtfTrace">
- </type>
- <category
- id="org.eclipse.linuxtools.btf.category"
- name="BTF Traces">
- </category>
- </extension>
- <extension
- point="org.eclipse.linuxtools.tmf.core.analysis">
- <module
- analysis_module="org.eclipse.linuxtools.btf.core.analysis.BtfAnalysisModule"
- automatic="true"
- id="org.eclipse.linuxtools.btf.core.analysis"
- name="BTF Analysis">
- <tracetype
- applies="true"
- class="org.eclipse.linuxtools.btf.core.trace.BtfTrace">
- </tracetype>
- </module>
- </extension>
-</plugin>
diff --git a/lttng/org.eclipse.linuxtools.btf.core/pom.xml b/lttng/org.eclipse.linuxtools.btf.core/pom.xml
deleted file mode 100644
index 8346815b4e..0000000000
--- a/lttng/org.eclipse.linuxtools.btf.core/pom.xml
+++ /dev/null
@@ -1,36 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Copyright (C) 2011, Red Hat, Inc.
-
- 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
--->
-<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
- <modelVersion>4.0.0</modelVersion>
-
- <parent>
- <artifactId>linuxtools-lttng-parent</artifactId>
- <groupId>org.eclipse.linuxtools.lttng</groupId>
- <version>3.2.0-SNAPSHOT</version>
- </parent>
-
- <artifactId>org.eclipse.linuxtools.btf.core</artifactId>
- <version>3.1.0-SNAPSHOT</version>
- <packaging>eclipse-plugin</packaging>
-
- <name>Best Trace Format Plug-in</name>
-
- <build>
- <plugins>
- <plugin>
- <groupId>org.eclipse.tycho</groupId>
- <artifactId>tycho-source-plugin</artifactId>
- </plugin>
- </plugins>
- </build>
-
- <groupId>org.eclipse.linuxtools.btf</groupId>
-</project>
diff --git a/lttng/org.eclipse.linuxtools.btf.core/src/org/eclipse/linuxtools/btf/core/Activator.java b/lttng/org.eclipse.linuxtools.btf.core/src/org/eclipse/linuxtools/btf/core/Activator.java
deleted file mode 100644
index a6056440ae..0000000000
--- a/lttng/org.eclipse.linuxtools.btf.core/src/org/eclipse/linuxtools/btf/core/Activator.java
+++ /dev/null
@@ -1,185 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 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:
- * Matthew Khouzam - Initial implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.btf.core;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Plugin;
-import org.eclipse.core.runtime.Status;
-import org.osgi.framework.BundleContext;
-
-/**
- * The activator class controls the plug-in life cycle. No more than one such
- * plug-in can exist at any time.
- * <p>
- * It also provides the plug-in's general logging facility and manages the
- * internal tracer.
- */
-public class Activator extends Plugin {
-
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
-
- /**
- * The plug-in ID
- */
- public static final String PLUGIN_ID = "org.eclipse.linuxtools.btf.core"; //$NON-NLS-1$
-
- /**
- * The shared instance
- */
- private static Activator fPlugin;
-
- // ------------------------------------------------------------------------
- // Constructors
- // ------------------------------------------------------------------------
-
- /**
- * Constructor
- */
- public Activator() {
- setDefault(this);
- }
-
- // ------------------------------------------------------------------------
- // Accessors
- // ------------------------------------------------------------------------
-
- /**
- * Returns the BTF plug-in instance.
- *
- * @return the BTF plug-in instance.
- */
- public static Activator getDefault() {
- return fPlugin;
- }
-
- // Sets plug-in instance
- private static void setDefault(Activator plugin) {
- fPlugin = plugin;
- }
-
- // ------------------------------------------------------------------------
- // Plugin
- // ------------------------------------------------------------------------
-
- @Override
- public void start(BundleContext context) throws Exception {
- super.start(context);
- setDefault(this);
- }
-
- @Override
- public void stop(BundleContext context) throws Exception {
- setDefault(null);
- super.stop(context);
- }
-
-
- // ------------------------------------------------------------------------
- // Log an IStatus
- // ------------------------------------------------------------------------
-
- /**
- * Log an IStatus object directly
- *
- * @param status
- * The status to log
- */
- public static void log(IStatus status) {
- fPlugin.getLog().log(status);
- }
-
- // ------------------------------------------------------------------------
- // Log INFO
- // ------------------------------------------------------------------------
-
- /**
- * Logs a message with severity INFO in the runtime log of the plug-in.
- *
- * @param message
- * A message to log
- */
- public static void logInfo(String message) {
- fPlugin.getLog().log(new Status(IStatus.INFO, PLUGIN_ID, message));
- }
-
- /**
- * Logs a message and exception with severity INFO in the runtime log of the
- * plug-in.
- *
- * @param message
- * A message to log
- * @param exception
- * The corresponding exception
- */
- public static void logInfo(String message, Throwable exception) {
- fPlugin.getLog().log(new Status(IStatus.INFO, PLUGIN_ID, message, exception));
- }
-
- // ------------------------------------------------------------------------
- // Log WARNING
- // ------------------------------------------------------------------------
-
- /**
- * Logs a message and exception with severity WARNING in the runtime log of
- * the plug-in.
- *
- * @param message
- * A message to log
- */
- public static void logWarning(String message) {
- fPlugin.getLog().log(new Status(IStatus.WARNING, PLUGIN_ID, message));
- }
-
- /**
- * Logs a message and exception with severity WARNING in the runtime log of
- * the plug-in.
- *
- * @param message
- * A message to log
- * @param exception
- * The corresponding exception
- */
- public static void logWarning(String message, Throwable exception) {
- fPlugin.getLog().log(new Status(IStatus.WARNING, PLUGIN_ID, message, exception));
- }
-
- // ------------------------------------------------------------------------
- // Log ERROR
- // ------------------------------------------------------------------------
-
- /**
- * Logs a message and exception with severity ERROR in the runtime log of
- * the plug-in.
- *
- * @param message
- * A message to log
- */
- public static void logError(String message) {
- fPlugin.getLog().log(new Status(IStatus.ERROR, PLUGIN_ID, message));
- }
-
- /**
- * Logs a message and exception with severity ERROR in the runtime log of
- * the plug-in.
- *
- * @param message
- * A message to log
- * @param exception
- * The corresponding exception
- */
- public static void logError(String message, Throwable exception) {
- fPlugin.getLog().log(new Status(IStatus.ERROR, PLUGIN_ID, message, exception));
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.btf.core/src/org/eclipse/linuxtools/btf/core/Messages.java b/lttng/org.eclipse.linuxtools.btf.core/src/org/eclipse/linuxtools/btf/core/Messages.java
deleted file mode 100644
index 3deb9c17f9..0000000000
--- a/lttng/org.eclipse.linuxtools.btf.core/src/org/eclipse/linuxtools/btf/core/Messages.java
+++ /dev/null
@@ -1,73 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 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:
- * Matthew Khouzam - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.btf.core;
-
-import org.eclipse.osgi.util.NLS;
-
-/**
- * BTF messages, taken from the spec
- *
- * @author Matthew Khouzam
- */
-@SuppressWarnings("javadoc")
-public class Messages extends NLS {
- private static final String BUNDLE_NAME = "org.eclipse.linuxtools.btf.core.messages"; //$NON-NLS-1$
- public static String BtfTypeId_CDescr;
- public static String BtfTypeId_CName;
- public static String BtfTypeId_ECUDescr;
- public static String BtfTypeId_ECUName;
- public static String BtfTypeId_IBDescr;
- public static String BtfTypeId_IBName;
- public static String BtfTypeId_ISRDescr;
- public static String BtfTypeId_ISRName;
- public static String BtfTypeId_PDescr;
- public static String BtfTypeId_PName;
- public static String BtfTypeId_RDescr;
- public static String BtfTypeId_RName;
- public static String BtfTypeId_SCHEDDescr;
- public static String BtfTypeId_SCHEDName;
- public static String BtfTypeId_SEMDescr;
- public static String BtfTypeId_SEMName;
- public static String BtfTypeId_SIGDescr;
- public static String BtfTypeId_SIGName;
- public static String BtfTypeId_SIMDescr;
- public static String BtfTypeId_SIMName;
- public static String BtfTypeId_STIDescr;
- public static String BtfTypeId_STIName;
- public static String BtfTypeId_TDescr;
- public static String BtfTypeId_TName;
- public static String BTFPayload_Activate;
- public static String BTFPayload_BoundedMigration;
- public static String BTFPayload_EnforcedMigration;
- public static String BTFPayload_FullMigration;
- public static String BTFPayload_MapLimitExceeded;
- public static String BTFPayload_Park;
- public static String BTFPayload_PhaseMigration;
- public static String BTFPayload_Poll;
- public static String BTFPayload_PollParking;
- public static String BTFPayload_Preempt;
- public static String BTFPayload_Release;
- public static String BTFPayload_ReleaseParking;
- public static String BTFPayload_Resume;
- public static String BTFPayload_Run;
- public static String BTFPayload_Start;
- public static String BTFPayload_Terminate;
- public static String BTFPayload_Wait;
- static {
- // initialize resource bundle
- NLS.initializeMessages(BUNDLE_NAME, Messages.class);
- }
-
- private Messages() {
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.btf.core/src/org/eclipse/linuxtools/btf/core/analysis/BtfAnalysisModule.java b/lttng/org.eclipse.linuxtools.btf.core/src/org/eclipse/linuxtools/btf/core/analysis/BtfAnalysisModule.java
deleted file mode 100644
index 32956a928c..0000000000
--- a/lttng/org.eclipse.linuxtools.btf.core/src/org/eclipse/linuxtools/btf/core/analysis/BtfAnalysisModule.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 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:
- * Alexandre Montplaisir - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.btf.core.analysis;
-
-import org.eclipse.linuxtools.btf.core.trace.BtfTrace;
-import org.eclipse.linuxtools.tmf.core.exceptions.TmfAnalysisException;
-import org.eclipse.linuxtools.tmf.core.statesystem.ITmfStateProvider;
-import org.eclipse.linuxtools.tmf.core.statesystem.TmfStateSystemAnalysisModule;
-import org.eclipse.linuxtools.tmf.core.trace.ITmfTrace;
-
-/**
- * Analysis module for the BTF base analysis
- *
- * @author Alexandre Montplaisir
- */
-public class BtfAnalysisModule extends TmfStateSystemAnalysisModule {
-
- @Override
- public void setTrace(ITmfTrace trace) throws TmfAnalysisException {
- if (!(trace instanceof BtfTrace)) {
- throw new IllegalArgumentException("BtfAnalysisModule: trace should be of type BtfTrace"); //$NON-NLS-1$
- }
- super.setTrace(trace);
- }
-
- @Override
- protected BtfTrace getTrace() {
- return (BtfTrace) super.getTrace();
- }
-
- @Override
- protected ITmfStateProvider createStateProvider() {
- return new BtfStateProvider(getTrace());
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.btf.core/src/org/eclipse/linuxtools/btf/core/analysis/BtfStateProvider.java b/lttng/org.eclipse.linuxtools.btf.core/src/org/eclipse/linuxtools/btf/core/analysis/BtfStateProvider.java
deleted file mode 100644
index 500e79edd3..0000000000
--- a/lttng/org.eclipse.linuxtools.btf.core/src/org/eclipse/linuxtools/btf/core/analysis/BtfStateProvider.java
+++ /dev/null
@@ -1,275 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 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:
- * Alexandre Montplaisir - Initial API and implementation
- * Matthew Khouzam - Add the task state system from figure 3 from the spec
- *******************************************************************************/
-
-package org.eclipse.linuxtools.btf.core.analysis;
-
-import org.eclipse.linuxtools.btf.core.event.BtfEvent;
-import org.eclipse.linuxtools.btf.core.trace.BtfColumnNames;
-import org.eclipse.linuxtools.btf.core.trace.BtfTrace;
-import org.eclipse.linuxtools.statesystem.core.ITmfStateSystemBuilder;
-import org.eclipse.linuxtools.statesystem.core.exceptions.AttributeNotFoundException;
-import org.eclipse.linuxtools.statesystem.core.statevalue.ITmfStateValue;
-import org.eclipse.linuxtools.statesystem.core.statevalue.TmfStateValue;
-import org.eclipse.linuxtools.tmf.core.event.ITmfEvent;
-import org.eclipse.linuxtools.tmf.core.event.TmfEvent;
-import org.eclipse.linuxtools.tmf.core.statesystem.AbstractTmfStateProvider;
-import org.eclipse.linuxtools.tmf.core.statesystem.ITmfStateProvider;
-
-/**
- * State provider for the default BTF analysis.
- *
- * The generated attribute tree will look like this:
- *
- * <pre>
- * {root}
- * +- Cores
- * | +- Core 1 (not running/Name of the running Task)
- * | +- Core 2 (not running/Name of the running Task)
- * |
- * +- Tasks
- * +- Task A
- * | +- Core 1 (not running/running/suspended)
- * | | +- Runnable A1 (not running/running/suspended)
- * | | +- Runnable A2 (not running/running/suspended)
- * | +- Core 2
- * | | +- Runnable A1
- * | | +- Runnable A2
- * | +- ActiveCore
- * |
- * +- Task B
- * +- Core 1
- * | +- Runnable B1
- * | +- Runnable B2
- * +- Core 2
- * | +- Runnable B1
- * | +- Runnable B2
- * +- ActiveCore
- * </pre>
- *
- * @author Alexandre Montplaisir
- */
-public class BtfStateProvider extends AbstractTmfStateProvider {
-
- private static final int PROVIDER_VERSION = 3;
-
- private static class TmfNamedStateValue {
- private final String fName;
- private final TmfStateValue fValue;
-
- public TmfNamedStateValue(TmfStateValue value, String name) {
- fValue = value;
- fName = name;
- }
-
- public TmfStateValue getValue() {
- return fValue;
- }
-
- @Override
- public String toString() {
- return fName;
- }
- }
-
- private static final TmfNamedStateValue STATE_CORE_IDLE = new TmfNamedStateValue(TmfStateValue.newValueInt(0), "Idle"); //$NON-NLS-1$
-
- private static final TmfNamedStateValue STATE_NOT_RUNNING = new TmfNamedStateValue(TmfStateValue.nullValue(), "Not Running"); //$NON-NLS-1$
- private static final TmfNamedStateValue STATE_RUNNING = new TmfNamedStateValue(TmfStateValue.newValueInt((1)), "RUNNING"); //$NON-NLS-1$
- private static final TmfNamedStateValue STATE_SUSPENDED = new TmfNamedStateValue(TmfStateValue.newValueInt((2)), "SUSPENDED"); //$NON-NLS-1$
-
- private static final TmfNamedStateValue STATE_TASK_ACTIVE = new TmfNamedStateValue(TmfStateValue.newValueInt((4)), "Active"); //$NON-NLS-1$
- private static final TmfNamedStateValue STATE_TASK_READY = new TmfNamedStateValue(TmfStateValue.newValueInt((5)), "Ready"); //$NON-NLS-1$
- private static final TmfNamedStateValue STATE_TASK_RUNNING = new TmfNamedStateValue(TmfStateValue.newValueInt((6)), "Task Running"); //$NON-NLS-1$
- private static final TmfNamedStateValue STATE_TASK_WAITING = new TmfNamedStateValue(TmfStateValue.newValueInt((7)), "Waiting"); //$NON-NLS-1$
- private static final TmfNamedStateValue STATE_TASK_PARKING = new TmfNamedStateValue(TmfStateValue.newValueInt((8)), "Parking"); //$NON-NLS-1$
- private static final TmfNamedStateValue STATE_TASK_POLLING = new TmfNamedStateValue(TmfStateValue.newValueInt((9)), "Polling"); //$NON-NLS-1$
- private static final TmfNamedStateValue STATE_TASK_TERMINATED = new TmfNamedStateValue(TmfStateValue.nullValue(), "Terminated"); //$NON-NLS-1$
-
- private static final String ENTITY_CORE = "Core"; //$NON-NLS-1$
- private static final String ENTITY_TASK = "TASK"; //$NON-NLS-1$
- // private static final String ENTITY_RUNNABLE = "RUNNABLE";
-
- private static final String ATTRIBUTE_TASKS = "Tasks"; //$NON-NLS-1$
- private static final String ATTRIBUTE_CORES = "Cores"; //$NON-NLS-1$
- private static final String ATTRIBUTE_ACTIVE_CORE = "ActiveCore"; //$NON-NLS-1$
-
- /**
- * Constructor
- *
- * @param trace
- * The trace for which we will be building this state system
- */
- public BtfStateProvider(BtfTrace trace) {
- super(trace, TmfEvent.class, "Btf State Provider"); //$NON-NLS-1$
- }
-
- @Override
- public BtfTrace getTrace() {
- return (BtfTrace) super.getTrace();
- }
-
- @Override
- public int getVersion() {
- return PROVIDER_VERSION;
- }
-
- @Override
- public ITmfStateProvider getNewInstance() {
- return new BtfStateProvider(getTrace());
- }
-
- @Override
- protected void eventHandle(ITmfEvent ev) {
- BtfEvent event = (BtfEvent) ev;
- final ITmfStateSystemBuilder ssb = this.ss;
-
- final long ts = event.getTimestamp().getValue();
- final String eventType = (String) event.getContent().getField(BtfColumnNames.EVENT.toString()).getValue();
- final String source = event.getSource();
- final String target = event.getReference();
- String task;
- int quark;
- try {
- switch (eventType) {
-
- case "activate": //$NON-NLS-1$
- updateTaskStateSystem(ssb, ts, event, STATE_TASK_ACTIVE);
- break;
-
- case "start": //$NON-NLS-1$
- case "resume": //$NON-NLS-1$
- updateTaskStateSystem(ssb, ts, event, STATE_TASK_RUNNING);
-
- if (source.startsWith(ENTITY_CORE)) {
- String core = source;
- task = target;
-
- quark = ssb.getQuarkAbsoluteAndAdd(ATTRIBUTE_TASKS, task, core);
- ssb.modifyAttribute(ts, STATE_RUNNING.getValue(), quark);
-
- /* Mark this task as active in the ActiveCore attribute */
- quark = ssb.getQuarkAbsoluteAndAdd(ATTRIBUTE_TASKS, task, ATTRIBUTE_ACTIVE_CORE);
- ITmfStateValue value = TmfStateValue.newValueString(core);
- ssb.modifyAttribute(ts, value, quark);
-
- /* Mark this task as active in the Cores/* attribute */
- quark = ssb.getQuarkAbsoluteAndAdd(ATTRIBUTE_CORES, core);
- /* Until the view can display the string */
- value = STATE_RUNNING.getValue();
- ssb.modifyAttribute(ts, value, quark);
-
- } else if (source.startsWith(ENTITY_TASK)) {
- task = source;
- String runnable = target;
- String core = getCoreOfTask(ssb, task);
-
- quark = ssb.getQuarkAbsoluteAndAdd(ATTRIBUTE_TASKS, task, core, runnable);
- ssb.modifyAttribute(ts, STATE_RUNNING.getValue(), quark);
- }
- break;
-
- case "suspend": //$NON-NLS-1$
- /* "suspend" events only happen on Tasks */
- if (source.startsWith(ENTITY_TASK)) {
- task = source;
- String runnable = target;
- String core = getCoreOfTask(ssb, task);
-
- /* We'll update both the Core and Runnable attributes */
- quark = ssb.getQuarkAbsoluteAndAdd(ATTRIBUTE_TASKS, task, core);
- ssb.modifyAttribute(ts, STATE_SUSPENDED.getValue(), quark);
- quark = ssb.getQuarkRelativeAndAdd(quark, runnable);
- ss.modifyAttribute(ts, STATE_SUSPENDED.getValue(), quark);
- }
- break;
-
- case "terminate": //$NON-NLS-1$
- updateTaskStateSystem(ssb, ts, event, STATE_TASK_TERMINATED);
-
- if (source.startsWith(ENTITY_CORE)) {
- String core = source;
- task = target;
-
- quark = ssb.getQuarkAbsoluteAndAdd(ATTRIBUTE_TASKS, task, core);
- ssb.modifyAttribute(ts, STATE_NOT_RUNNING.getValue(), quark);
-
- /* Remove our "active task on core" bookmark */
- quark = ssb.getQuarkAbsoluteAndAdd(ATTRIBUTE_TASKS, task, ATTRIBUTE_ACTIVE_CORE);
- ITmfStateValue value = TmfStateValue.nullValue();
- ssb.modifyAttribute(ts, value, quark);
-
- /* Mark the Cores/* attribute as not running */
- quark = ssb.getQuarkAbsoluteAndAdd(ATTRIBUTE_CORES, core);
- ssb.modifyAttribute(ts, STATE_CORE_IDLE.getValue(), quark);
-
- } else if (source.startsWith(ENTITY_TASK)) {
- task = source;
- String runnable = target;
- String core = getCoreOfTask(ssb, task);
-
- quark = ssb.getQuarkAbsoluteAndAdd(ATTRIBUTE_TASKS, task, core, runnable);
- ssb.modifyAttribute(ts, STATE_NOT_RUNNING.getValue(), quark);
- }
- break;
-
- case "preempt": //$NON-NLS-1$
- case "release": //$NON-NLS-1$
- case "release_parking": //$NON-NLS-1$
- updateTaskStateSystem(ssb, ts, event, STATE_TASK_READY);
- break;
- case "wait": //$NON-NLS-1$
- updateTaskStateSystem(ssb, ts, event, STATE_TASK_WAITING);
- break;
- case "park": //$NON-NLS-1$
- updateTaskStateSystem(ssb, ts, event, STATE_TASK_PARKING);
- break;
- case "poll": //$NON-NLS-1$
- //$FALL-THROUGH$
- case "poll_parking": //$NON-NLS-1$
- updateTaskStateSystem(ssb, ts, event, STATE_TASK_POLLING);
- break;
- case "run": //$NON-NLS-1$
- updateTaskStateSystem(ssb, ts, event, STATE_TASK_RUNNING);
- break;
- default:
- break;
-
- }
- } catch (AttributeNotFoundException e) {
- throw new IllegalStateException(e);
- }
- }
-
- private static void updateTaskStateSystem(
- final ITmfStateSystemBuilder ssb,
- final long ts, BtfEvent event,
- TmfNamedStateValue stateValue)
- throws AttributeNotFoundException {
- String name = event.getType().getName();
- if (name.equals("Task")) { //$NON-NLS-1$
- String task = event.getReference();
- int quark = ssb.getQuarkAbsoluteAndAdd(ATTRIBUTE_TASKS, task);
- ssb.modifyAttribute(ts, stateValue.getValue(), quark);
- }
- }
-
- private static String getCoreOfTask(ITmfStateSystemBuilder ssb, String task) {
- try {
- int quark = ssb.getQuarkAbsolute(ATTRIBUTE_TASKS, task, ATTRIBUTE_ACTIVE_CORE);
- ITmfStateValue value = ssb.queryOngoingState(quark);
- return value.unboxStr();
- } catch (AttributeNotFoundException e) {
- throw new IllegalStateException(e);
- }
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.btf.core/src/org/eclipse/linuxtools/btf/core/event/BTFPayload.java b/lttng/org.eclipse.linuxtools.btf.core/src/org/eclipse/linuxtools/btf/core/event/BTFPayload.java
deleted file mode 100644
index f334103ff7..0000000000
--- a/lttng/org.eclipse.linuxtools.btf.core/src/org/eclipse/linuxtools/btf/core/event/BTFPayload.java
+++ /dev/null
@@ -1,105 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 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:
- * Matthew Khouzam - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.btf.core.event;
-
-import java.util.Map;
-
-import org.eclipse.linuxtools.btf.core.Messages;
-import org.eclipse.linuxtools.tmf.core.event.TmfEventField;
-
-import com.google.common.collect.ImmutableMap;
-import com.google.common.collect.ImmutableMap.Builder;
-
-/**
- * BTF event information (Table 7 and 8 from the spec)
- *
- * @author Matthew Khouzam
- */
-public class BTFPayload {
-
- private static final Map<String, String> EVENT_DESCRIPTIONS;
- private static final String EMPTY = "TBA"; //$NON-NLS-1$
- private static final Map<String, TmfEventField[]> FIELDS;
- private static final TmfEventField[] TBA_FIELD = new TmfEventField[] { new TmfEventField(EMPTY, EMPTY, new TmfEventField[] { new TmfEventField(EMPTY, EMPTY, null) }) };
-
- static {
- ImmutableMap.Builder<String, String> builder = new Builder<>();
- builder.put("activate", Messages.BTFPayload_Activate); //$NON-NLS-1$
- builder.put("start", Messages.BTFPayload_Start); //$NON-NLS-1$
- builder.put("preempt", Messages.BTFPayload_Preempt); //$NON-NLS-1$
- builder.put("resume", Messages.BTFPayload_Resume); //$NON-NLS-1$
- builder.put("terminate", Messages.BTFPayload_Terminate); //$NON-NLS-1$
- builder.put("poll", Messages.BTFPayload_Poll); //$NON-NLS-1$
- builder.put("run", Messages.BTFPayload_Run); //$NON-NLS-1$
- builder.put("park", Messages.BTFPayload_Park); //$NON-NLS-1$
- builder.put("poll_parking", Messages.BTFPayload_PollParking); //$NON-NLS-1$
- builder.put("release_parking", Messages.BTFPayload_ReleaseParking); //$NON-NLS-1$
- builder.put("wait", Messages.BTFPayload_Wait); //$NON-NLS-1$
- builder.put("release", Messages.BTFPayload_Release); //$NON-NLS-1$
- builder.put("deadline", EMPTY); //$NON-NLS-1$
- builder.put("mpalimitexceeded", Messages.BTFPayload_MapLimitExceeded); //$NON-NLS-1$
- builder.put("boundedmigration", Messages.BTFPayload_BoundedMigration); //$NON-NLS-1$
- builder.put("phasemigration", Messages.BTFPayload_PhaseMigration); //$NON-NLS-1$
- builder.put("fullmigration", Messages.BTFPayload_FullMigration); //$NON-NLS-1$
- builder.put("enforcedmigration", Messages.BTFPayload_EnforcedMigration); //$NON-NLS-1$
- // not yet defined
- builder.put("execute_idle", EMPTY); //$NON-NLS-1$
- builder.put("processterminate", EMPTY); //$NON-NLS-1$
- builder.put("idle", EMPTY); //$NON-NLS-1$
- builder.put("schedule", EMPTY); //$NON-NLS-1$
- builder.put("trigger", EMPTY); //$NON-NLS-1$
- builder.put("schedulepoint", EMPTY); //$NON-NLS-1$
- builder.put("requestsemaphore", EMPTY); //$NON-NLS-1$
- builder.put("queued", EMPTY); //$NON-NLS-1$
- builder.put("lock", EMPTY); //$NON-NLS-1$
- builder.put("assigned", EMPTY); //$NON-NLS-1$
- builder.put("unlock", EMPTY); //$NON-NLS-1$
- builder.put("released", EMPTY); //$NON-NLS-1$
- builder.put("ready", EMPTY); //$NON-NLS-1$
- builder.put("free", EMPTY); //$NON-NLS-1$
- builder.put("set_frequence", EMPTY); //$NON-NLS-1$
- builder.put("processactivate", EMPTY); //$NON-NLS-1$
- builder.put("execute", EMPTY); //$NON-NLS-1$
- builder.put("idle_execution", EMPTY); //$NON-NLS-1$
- builder.put("suspend", EMPTY); //$NON-NLS-1$
- builder.put("read", EMPTY); //$NON-NLS-1$
- builder.put("write", EMPTY); //$NON-NLS-1$
- builder.put("processpolling", EMPTY); //$NON-NLS-1$
- builder.put("execute_waiting", EMPTY); //$NON-NLS-1$
- builder.put("wait_postexecution", EMPTY); //$NON-NLS-1$
- builder.put("waiting", EMPTY); //$NON-NLS-1$
- builder.put("overfull", EMPTY); //$NON-NLS-1$
- builder.put("full", EMPTY); //$NON-NLS-1$
-
- EVENT_DESCRIPTIONS = builder.build();
- ImmutableMap.Builder<String, TmfEventField[]> fieldBuilder = new Builder<>();
- for (String key : EVENT_DESCRIPTIONS.keySet()) {
- fieldBuilder.put(key, new TmfEventField[] { new TmfEventField("description", EVENT_DESCRIPTIONS.get(key), null) }); //$NON-NLS-1$
- }
- FIELDS = fieldBuilder.build();
- }
-
- /**
- * gets the description of a field
- *
- * @param key
- * the field name
- * @return the description
- */
- public static TmfEventField[] getFieldDescription(String key) {
- String shortKey = key.split(",", 2)[0]; //$NON-NLS-1$
- TmfEventField[] retVal = FIELDS.get(shortKey);
- return (retVal == null) ? TBA_FIELD : retVal;
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.btf.core/src/org/eclipse/linuxtools/btf/core/event/BtfEvent.java b/lttng/org.eclipse.linuxtools.btf.core/src/org/eclipse/linuxtools/btf/core/event/BtfEvent.java
deleted file mode 100644
index b688b7dacb..0000000000
--- a/lttng/org.eclipse.linuxtools.btf.core/src/org/eclipse/linuxtools/btf/core/event/BtfEvent.java
+++ /dev/null
@@ -1,66 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 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:
- * Matthew Khouzam - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.btf.core.event;
-
-import org.eclipse.linuxtools.tmf.core.event.ITmfEventField;
-import org.eclipse.linuxtools.tmf.core.event.ITmfEventType;
-import org.eclipse.linuxtools.tmf.core.event.TmfEvent;
-import org.eclipse.linuxtools.tmf.core.timestamp.ITmfTimestamp;
-import org.eclipse.linuxtools.tmf.core.trace.ITmfTrace;
-
-/**
- * A Btf event, basically a wrapper for the TmfEvent with the additional field
- * of "description"
- *
- * @author Matthew Khouzam
- */
-public class BtfEvent extends TmfEvent {
-
- private final String fDescription;
-
- /**
- * Standard constructor.
- *
- * @param trace
- * the parent trace
- * @param rank
- * the event rank
- * @param timestamp
- * the event timestamp
- * @param source
- * the event source
- * @param type
- * the event type
- * @param description
- * a description of the type
- * @param content
- * the event content (payload)
- * @param reference
- * the event reference
- */
- public BtfEvent(final ITmfTrace trace, long rank, final ITmfTimestamp timestamp, final String source,
- final ITmfEventType type, String description, final ITmfEventField content, final String reference) {
- super(trace, rank, timestamp, source, type, content, reference);
- fDescription = description;
- }
-
- /**
- * Gets a description
- *
- * @return the description
- */
- public String getEventDescription() {
- return fDescription;
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.btf.core/src/org/eclipse/linuxtools/btf/core/event/BtfEventType.java b/lttng/org.eclipse.linuxtools.btf.core/src/org/eclipse/linuxtools/btf/core/event/BtfEventType.java
deleted file mode 100644
index 2b2045fa40..0000000000
--- a/lttng/org.eclipse.linuxtools.btf.core/src/org/eclipse/linuxtools/btf/core/event/BtfEventType.java
+++ /dev/null
@@ -1,127 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 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:
- * Matthew Khouzam - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.btf.core.event;
-
-import java.util.Collection;
-import java.util.List;
-
-import org.eclipse.linuxtools.btf.core.Messages;
-import org.eclipse.linuxtools.btf.core.trace.BtfColumnNames;
-import org.eclipse.linuxtools.tmf.core.event.ITmfEventField;
-import org.eclipse.linuxtools.tmf.core.event.TmfEventField;
-import org.eclipse.linuxtools.tmf.core.event.TmfEventType;
-
-import com.google.common.collect.ImmutableList;
-
-/**
- * Btf event type, can get a description from the spec
- *
- * @author Matthew Khouzam
- */
-public class BtfEventType extends TmfEventType {
-
- private static final String[] FIELD_WITH_NOTES_COLUMNS = new String[] {
- BtfColumnNames.EVENT.toString(),
- BtfColumnNames.SOURCE_INSTANCE.toString(),
- BtfColumnNames.TARGET_INSTANCE.toString() };
-
- private static final String[] FIELDS_WITHOUT_NOTES_COLUMNS = new String[] {
- BtfColumnNames.EVENT.toString(),
- BtfColumnNames.SOURCE_INSTANCE.toString(),
- BtfColumnNames.TARGET_INSTANCE.toString(),
- BtfColumnNames.NOTES.toString() };
- private static final ITmfEventField FIELDS_WITHOUT_NOTES = TmfEventField.makeRoot(FIELD_WITH_NOTES_COLUMNS);
- private static final ITmfEventField FIELDS_WITH_NOTES = TmfEventField.makeRoot(FIELDS_WITHOUT_NOTES_COLUMNS);
- private final String fName;
- private final String fDescription;
- private final boolean fHasNotes;
- private final List<String> fCols;
- private final ITmfEventField fFields;
-
- /**
- * The type constructor
- * @param name the event name
- * @param description the event description
- */
- public BtfEventType(String name, String description) {
- super();
- fName = name;
- fDescription = description;
- fHasNotes = (fName.equals(Messages.BtfTypeId_SIGName) || fName.equals(Messages.BtfTypeId_SEMName));
- fCols = ImmutableList.copyOf(fHasNotes ? FIELDS_WITHOUT_NOTES_COLUMNS : FIELD_WITH_NOTES_COLUMNS);
- fFields = (fHasNotes ? FIELDS_WITH_NOTES : FIELDS_WITHOUT_NOTES);
- }
-
- /**
- * does the event have an eighth column
- *
- * @return if the name is "sem" or "sig" true
- */
- public boolean hasNotes() {
- return fHasNotes;
- }
-
- /**
- * @return the name
- */
- @Override
- public String getName() {
- return fName;
- }
-
- @Override
- public Collection<String> getFieldNames() {
- return fCols;
- }
-
- @Override
- public ITmfEventField getRootField() {
- return fFields;
- }
-
- /**
- * @return the description
- */
- public String getDescription() {
- return fDescription;
- }
-
- /**
- * Gets the event field values
- *
- * @param event
- * the "event" payload
- * @param sourceInstance
- * source instance
- * @param targetInstance
- * target instance
- * @return a field.
- */
- public ITmfEventField generateContent(String event, long sourceInstance, long targetInstance) {
- String[] data;
- TmfEventField retField;
- TmfEventField sourceInstanceField = new TmfEventField(fCols.get(1), sourceInstance, null);
- TmfEventField targetInstanceField = new TmfEventField(fCols.get(2), sourceInstance, null);
- if (fHasNotes) {
- data = event.split(",", 2); //$NON-NLS-1$
- TmfEventField eventField = new TmfEventField(fCols.get(0), data[0], BTFPayload.getFieldDescription(data[0]));
- TmfEventField notesField = new TmfEventField(fCols.get(3), data[1], null);
- retField = new TmfEventField(ITmfEventField.ROOT_FIELD_ID, null, new TmfEventField[] { eventField, sourceInstanceField, targetInstanceField, notesField });
- } else {
- data = new String[] { event };
- TmfEventField eventField = new TmfEventField(fCols.get(0), data[0], BTFPayload.getFieldDescription(data[0]));
- retField = new TmfEventField(ITmfEventField.ROOT_FIELD_ID, null, new TmfEventField[] { eventField, sourceInstanceField, targetInstanceField });
- }
- return retField;
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.btf.core/src/org/eclipse/linuxtools/btf/core/messages.properties b/lttng/org.eclipse.linuxtools.btf.core/src/org/eclipse/linuxtools/btf/core/messages.properties
deleted file mode 100644
index 46c6aa4e5b..0000000000
--- a/lttng/org.eclipse.linuxtools.btf.core/src/org/eclipse/linuxtools/btf/core/messages.properties
+++ /dev/null
@@ -1,53 +0,0 @@
-###############################################################################
-# Copyright (c) 2014 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:
-# Matthew Khouzam - Initial API and implementation
-###############################################################################
-
-BtfTypeId_CDescr=Hardware device which is part of a processor and executes software.
-BtfTypeId_CName=Core
-BtfTypeId_ECUDescr=Hardware device which has at least one processor.
-BtfTypeId_ECUName=Electronic Control Unit
-BtfTypeId_IBDescr=Sub-fraction of a Runnable
-BtfTypeId_IBName=Instruction Block
-BtfTypeId_ISRDescr=Object handled by Interrupt-Management Unit and calling all \u201CTop-Level\u201D Runnables. An ISR is the specialization of a Process type.
-BtfTypeId_ISRName=Interrupt-Service-Routine
-BtfTypeId_PDescr=Hardware device which has at least one core.
-BtfTypeId_PName=Processor
-BtfTypeId_RDescr=Object, called by a Process or another Runnable.
-BtfTypeId_RName=Runnable
-BtfTypeId_SCHEDDescr=Part of operating system which assigns processes to cores.
-BtfTypeId_SCHEDName=Scheduler
-BtfTypeId_SEMDescr=Operating system object, for restricting access to resources.
-BtfTypeId_SEMName=Semaphore
-BtfTypeId_SIGDescr=Shared data object (e.g. variable) in a software.
-BtfTypeId_SIGName=Signal
-BtfTypeId_SIMDescr=Trigger point for a Task or ISR
-BtfTypeId_SIMName=Simulation
-BtfTypeId_STIDescr=Trigger point for a Task or ISR
-BtfTypeId_STIName=Stimulus
-BtfTypeId_TDescr=Object handled by OS Scheduler, and calling all "Top-Level" Runnables. A Task is the specialization of a Process type.
-BtfTypeId_TName=Task
-BTFPayload_Activate=Process instance is activated by a stimulus
-BTFPayload_BoundedMigration=When last executing core of previous instance is not equal to first executing core of this instance
-BTFPayload_EnforcedMigration=When a process migrates at a predefined position in execution to another scheduler.
-BTFPayload_FullMigration=When the executing core before a suspend is not equal to new executing core and there is a schedule point right before this execution
-BTFPayload_MapLimitExceeded=When there are more process instances of this process as the MPA-LIMIT value (MPA = MultipleProcessActivation)
-BTFPayload_Park=Active waiting process instance is suspended by another process.
-BTFPayload_PhaseMigration=When the executing core before a suspend is not equal to the new executing core and there is no schedule point right before this execution
-BTFPayload_Poll=Process instance has requested a resource by polling (active waiting) which is not available
-BTFPayload_PollParking=Parking process instance is allocated to the core and again polls (i.e. actively waits) for a resource.
-BTFPayload_Preempt=Executing process instance is stopped by the scheduler, e.g. because of a higher priority process which is activated.
-BTFPayload_Release=OS EVENT which was requested by a process is set (see OSEK 2.2.3 Extended Task Model, SET_Event()) and process is ready to proceed execution.
-BTFPayload_ReleaseParking=Resource which is requested by parking process instance becomes available, but parking process stays suspended and changes to READY state.
-BTFPayload_Resume=Suspended process instance continues execution on the same or other core.
-BTFPayload_Run=Process instance resumes execution after polling (i.e. active waiting) for a resource
-BTFPayload_Start=Process instance is allocated to the core and starts execution for the first time
-BTFPayload_Terminate=Process instance has finished execution
-BTFPayload_Wait=Process has requested a non-set OS EVENT (see OSEK 2.2.3 Extended Task Model, WAIT_Event() ).
diff --git a/lttng/org.eclipse.linuxtools.btf.core/src/org/eclipse/linuxtools/btf/core/trace/BtfColumnNames.java b/lttng/org.eclipse.linuxtools.btf.core/src/org/eclipse/linuxtools/btf/core/trace/BtfColumnNames.java
deleted file mode 100644
index 9b4f43fe76..0000000000
--- a/lttng/org.eclipse.linuxtools.btf.core/src/org/eclipse/linuxtools/btf/core/trace/BtfColumnNames.java
+++ /dev/null
@@ -1,67 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 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:
- * Matthew Khouzam - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.btf.core.trace;
-
-import org.eclipse.jdt.annotation.NonNull;
-
-/**
- * Column names
- *
- * @author Matthew Khouzam
- */
-public enum BtfColumnNames {
-
- /**
- * The event timestamp
- */
- TIMESTAMP("Timestamp"), //$NON-NLS-1$
- /**
- * The source
- */
- SOURCE("Source"), //$NON-NLS-1$
- /**
- * The source instance
- */
- SOURCE_INSTANCE("Source instance"), //$NON-NLS-1$
- /**
- * The event field name
- */
- EVENT_TYPE("Event type"), //$NON-NLS-1$
- /**
- * The target
- */
- TARGET("Target"), //$NON-NLS-1$
- /**
- * The target instance
- */
- TARGET_INSTANCE("Target instance"), //$NON-NLS-1$
- /**
- * The event
- */
- EVENT("Event"), //$NON-NLS-1$
- /**
- * Notes
- */
- NOTES("Notes"); //$NON-NLS-1$
-
- private final @NonNull String fField;
-
- private BtfColumnNames(@NonNull String field) {
- fField = field;
- }
-
- @Override
- public @NonNull String toString() {
- return fField;
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.btf.core/src/org/eclipse/linuxtools/btf/core/trace/BtfEventTypeFactory.java b/lttng/org.eclipse.linuxtools.btf.core/src/org/eclipse/linuxtools/btf/core/trace/BtfEventTypeFactory.java
deleted file mode 100644
index 2d8ddc9e50..0000000000
--- a/lttng/org.eclipse.linuxtools.btf.core/src/org/eclipse/linuxtools/btf/core/trace/BtfEventTypeFactory.java
+++ /dev/null
@@ -1,66 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 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:
- * Matthew Khouzam - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.btf.core.trace;
-
-import java.util.Map;
-
-import org.eclipse.linuxtools.btf.core.Messages;
-import org.eclipse.linuxtools.btf.core.event.BtfEventType;
-
-import com.google.common.collect.ImmutableMap;
-
-/**
- * Entity Types for BTF
- *
- * @author Matthew Khouzam
- */
-public final class BtfEventTypeFactory {
-
- private BtfEventTypeFactory() {}
-
- private static final Map<String, BtfEventType> TYPES;
-
- static {
- ImmutableMap.Builder<String, BtfEventType> builder = new ImmutableMap.Builder<>();
- // Environment
- builder.put("STI", new BtfEventType(Messages.BtfTypeId_STIName, Messages.BtfTypeId_STIDescr)); //$NON-NLS-1$
- // Software
- builder.put("T", new BtfEventType(Messages.BtfTypeId_TName, Messages.BtfTypeId_TDescr)); //$NON-NLS-1$
- builder.put("ISR", new BtfEventType(Messages.BtfTypeId_ISRName, Messages.BtfTypeId_ISRDescr)); //$NON-NLS-1$
- builder.put("R", new BtfEventType(Messages.BtfTypeId_RName, Messages.BtfTypeId_RDescr)); //$NON-NLS-1$
- builder.put("IB", new BtfEventType(Messages.BtfTypeId_IBName, Messages.BtfTypeId_IBDescr)); //$NON-NLS-1$
- // Hardware
- builder.put("ECU", new BtfEventType(Messages.BtfTypeId_ECUName, Messages.BtfTypeId_ECUDescr)); //$NON-NLS-1$
- builder.put("P", new BtfEventType(Messages.BtfTypeId_PName, Messages.BtfTypeId_PDescr)); //$NON-NLS-1$
- builder.put("C", new BtfEventType(Messages.BtfTypeId_CName, Messages.BtfTypeId_CDescr)); //$NON-NLS-1$
- // Operating system
- builder.put("SCHED", new BtfEventType(Messages.BtfTypeId_SCHEDName, Messages.BtfTypeId_SCHEDDescr)); //$NON-NLS-1$
- builder.put("SIG", new BtfEventType(Messages.BtfTypeId_SIGName, Messages.BtfTypeId_SIGDescr)); //$NON-NLS-1$
- builder.put("SEM", new BtfEventType(Messages.BtfTypeId_SEMName, Messages.BtfTypeId_SEMDescr)); //$NON-NLS-1$
- // Information
- builder.put("SIM", new BtfEventType(Messages.BtfTypeId_SIMName, Messages.BtfTypeId_SIMDescr)); //$NON-NLS-1$
- TYPES = builder.build();
- }
-
- /**
- * Parse the string and get a type id
- *
- * @param typeName
- * the string to parse
- * @return a BTF trace type, can be null if the string is invalid.
- */
- public static BtfEventType parse(String typeName) {
- return TYPES.get(typeName);
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.btf.core/src/org/eclipse/linuxtools/btf/core/trace/BtfTimstampFormat.java b/lttng/org.eclipse.linuxtools.btf.core/src/org/eclipse/linuxtools/btf/core/trace/BtfTimstampFormat.java
deleted file mode 100644
index 6b24e1abbe..0000000000
--- a/lttng/org.eclipse.linuxtools.btf.core/src/org/eclipse/linuxtools/btf/core/trace/BtfTimstampFormat.java
+++ /dev/null
@@ -1,103 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 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:
- * Matthew Khouzam - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.btf.core.trace;
-
-import org.eclipse.linuxtools.tmf.core.timestamp.ITmfTimestamp;
-import org.eclipse.linuxtools.tmf.core.timestamp.TmfTimestamp;
-
-/**
- * Timstamp format of BTF timescale as per v2.1 of the spec
- *
- * @author Matthew Khouzam
- */
-public enum BtfTimstampFormat {
- /**
- * Picoseconds
- */
- PS("ps", -12, 0.001), //$NON-NLS-1$
- /**
- * Nanoseconds
- */
- NS("ns", -9, 1.0), //$NON-NLS-1$
- /**
- * Microseconds
- */
- US("us", -6, 1000.0), //$NON-NLS-1$
- /**
- * Milliseconds
- */
- MS("ms", -3, 1000000.0), //$NON-NLS-1$
- /**
- * Seconds
- */
- S("s", 0, 1000000000.0); //$NON-NLS-1$
-
- private final String fName;
- private final int fScale;
- private final double fScaleFactor;
-
- private BtfTimstampFormat(String name, int scale, double scaleFactor) {
- fName = name;
- fScale = scale;
- fScaleFactor = scaleFactor;
- }
-
- /**
- * Get the scaling factor
- *
- * @return the scaling factor
- */
- public double getScaleFactor() {
- return fScaleFactor;
- }
-
- @Override
- public String toString() {
- return fName;
- }
-
- /**
- * Parse a string to get a scale
- *
- * @param text
- * the timestamp in text "ns", "ms" ...
- * @return a BtfTimestampFormat object
- */
- public static BtfTimstampFormat parse(String text) {
- switch (text.toLowerCase()) {
- case "ps": //$NON-NLS-1$
- throw new IllegalArgumentException("ps not yet supported"); //$NON-NLS-1$
- case "ns": //$NON-NLS-1$
- return BtfTimstampFormat.NS;
- case "us": //$NON-NLS-1$
- return BtfTimstampFormat.US;
- case "ms": //$NON-NLS-1$
- return BtfTimstampFormat.MS;
- case "s": //$NON-NLS-1$
- return BtfTimstampFormat.S;
- default:
- throw new IllegalArgumentException(text + " not a valid argument, use ps, ns, us, ms, s"); //$NON-NLS-1$
- }
- }
-
- /**
- * Create an ITmfTimestamp with a proper scale
- *
- * @param timestamp
- * timestamp without scale
- * @return TmfTimestamp with proper scale
- */
- public ITmfTimestamp createTimestamp(long timestamp) {
- return new TmfTimestamp(timestamp, fScale);
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.btf.core/src/org/eclipse/linuxtools/btf/core/trace/BtfTrace.java b/lttng/org.eclipse.linuxtools.btf.core/src/org/eclipse/linuxtools/btf/core/trace/BtfTrace.java
deleted file mode 100644
index ec6a17d2b2..0000000000
--- a/lttng/org.eclipse.linuxtools.btf.core/src/org/eclipse/linuxtools/btf/core/trace/BtfTrace.java
+++ /dev/null
@@ -1,435 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 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:
- * Matthew Khouzam - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.btf.core.trace;
-
-import java.io.File;
-import java.io.FileNotFoundException;
-import java.io.IOException;
-import java.io.RandomAccessFile;
-import java.nio.ByteBuffer;
-import java.text.ParseException;
-import java.text.SimpleDateFormat;
-import java.util.Date;
-import java.util.HashMap;
-import java.util.Map;
-import java.util.TreeMap;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.linuxtools.btf.core.Activator;
-import org.eclipse.linuxtools.btf.core.event.BtfEvent;
-import org.eclipse.linuxtools.btf.core.event.BtfEventType;
-import org.eclipse.linuxtools.tmf.core.event.ITmfEvent;
-import org.eclipse.linuxtools.tmf.core.event.ITmfEventField;
-import org.eclipse.linuxtools.tmf.core.exceptions.TmfTraceException;
-import org.eclipse.linuxtools.tmf.core.io.BufferedRandomAccessFile;
-import org.eclipse.linuxtools.tmf.core.parsers.custom.CustomTxtTraceContext;
-import org.eclipse.linuxtools.tmf.core.timestamp.TmfTimestamp;
-import org.eclipse.linuxtools.tmf.core.trace.ITmfContext;
-import org.eclipse.linuxtools.tmf.core.trace.ITmfEventParser;
-import org.eclipse.linuxtools.tmf.core.trace.ITmfTraceProperties;
-import org.eclipse.linuxtools.tmf.core.trace.TmfContext;
-import org.eclipse.linuxtools.tmf.core.trace.TmfTrace;
-import org.eclipse.linuxtools.tmf.core.trace.TraceValidationStatus;
-import org.eclipse.linuxtools.tmf.core.trace.indexer.ITmfPersistentlyIndexable;
-import org.eclipse.linuxtools.tmf.core.trace.indexer.ITmfTraceIndexer;
-import org.eclipse.linuxtools.tmf.core.trace.indexer.TmfBTreeTraceIndexer;
-import org.eclipse.linuxtools.tmf.core.trace.indexer.checkpoint.ITmfCheckpoint;
-import org.eclipse.linuxtools.tmf.core.trace.indexer.checkpoint.TmfCheckpoint;
-import org.eclipse.linuxtools.tmf.core.trace.location.ITmfLocation;
-import org.eclipse.linuxtools.tmf.core.trace.location.TmfLongLocation;
-
-import com.google.common.collect.ImmutableMap;
-
-/**
- * BTF reader. Reads Best Trace Format traces.
- *
- * @author Matthew Khouzam
- */
-public class BtfTrace extends TmfTrace implements ITmfEventParser, ITmfPersistentlyIndexable, ITmfTraceProperties, AutoCloseable {
-
- private static final String VERSION = "#version"; //$NON-NLS-1$
- private static final String CREATOR = "#creator"; //$NON-NLS-1$
- private static final String CREATIONDATE = "#creationDate"; //$NON-NLS-1$
- private static final String INPUTFILE = "#inputFile"; //$NON-NLS-1$
- private static final String TIMESCALE = "#timeScale"; //$NON-NLS-1$
- private static final String ENTITYTYPE = "#entityType"; //$NON-NLS-1$
- private static final String ENTITYTABLE = "#entityTable"; //$NON-NLS-1$
- private static final String ENTITYTYPETABLE = "#entityTypeTable"; //$NON-NLS-1$
-
- // lower-case helpers
- private static final String lCREATIONDATE = "#creationdate"; //$NON-NLS-1$
- private static final String lINPUTFILE = "#inputfile"; //$NON-NLS-1$
- private static final String lTIMESCALE = "#timescale"; //$NON-NLS-1$
- private static final String lENTITYTYPE = "#entitytype"; //$NON-NLS-1$
- private static final String lENTITYTABLE = "#entitytable"; //$NON-NLS-1$
- private static final String lENTITYTYPETABLE = "#entitytypetable"; //$NON-NLS-1$
-
- private static final TmfLongLocation NULL_LOCATION = new TmfLongLocation(-1L);
-
- private static final SimpleDateFormat ISO8601DATEFORMAT = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssX"); //$NON-NLS-1$
-
- private static final int CACHE_SIZE = 256;
- private static final int MAX_CONFIDENCE = 100;
- private static final int MAX_LINES = 100;
-
- private static int fCheckpointSize = -1;
-
- private final Map<String, String> fProperties = new HashMap<>();
-
- private final Map<Integer, String> fEntityTable = new TreeMap<>();
- private final Map<BtfEventType, String> fEntityTypeTable = new HashMap<>();
- private final Map<Integer, BtfEventType> fEntityTypes = new TreeMap<>();
-
- private String fVersion;
- private String fCreator;
- private String fCreationDate;
- private String fInputFile;
- // default unit is ns
- private BtfTimstampFormat fTsFormat = BtfTimstampFormat.NS;
-
- private File fFile;
- private RandomAccessFile fFileInput;
- private long fDataOffset;
- private long fTsOffset = 0;
-
- /**
- * Default constructor
- */
- public BtfTrace() {
- super();
- setCacheSize(CACHE_SIZE);
- fProperties.put(TIMESCALE, fTsFormat.toString());
- }
-
- private void parseHeader(RandomAccessFile input) throws IOException {
- String line = input.readLine();
- long pos = 0;
- while (line != null && line.startsWith("#")) { //$NON-NLS-1$
- String[] tokens = line.split(" ", 2); //$NON-NLS-1$
- /*
- * please note that the examples we were given and the spec are NOT
- * consistent, so we are ignoring the case to avoid issues
- */
- switch (tokens[0].toLowerCase()) {
- case VERSION:
- fVersion = tokens[1];
- fProperties.put(VERSION, fVersion);
- break;
- case CREATOR:
- fCreator = tokens[1];
- fProperties.put(CREATOR, fCreator);
- break;
- case lCREATIONDATE:
- fCreationDate = tokens[1];
- fProperties.put(CREATIONDATE, fCreationDate);
-
- try {
- Date dateTime = ISO8601DATEFORMAT.parse(fCreationDate);
- fTsOffset = dateTime.getTime() * 1000000L;
- } catch (ParseException e) {
- Activator.logWarning("Creation date error: " + e.getMessage()); //$NON-NLS-1$
- }
- break;
- case lINPUTFILE:
- fInputFile = tokens[1];
- fProperties.put(INPUTFILE, fInputFile);
- break;
- case lTIMESCALE:
- fTsFormat = BtfTimstampFormat.parse(tokens[1]);
- fProperties.put(TIMESCALE, fTsFormat.toString());
- break;
- case lENTITYTYPE:
- pos = fFileInput.getFilePointer();
- line = fFileInput.readLine();
- while (line.startsWith("#-")) { //$NON-NLS-1$
- String tempLine = line.substring(1);
- String[] elements = tempLine.split(" ", 2); //$NON-NLS-1$
- fEntityTypes.put(Integer.parseInt(elements[0]), BtfEventTypeFactory.parse(elements[1]));
- pos = fFileInput.getFilePointer();
- line = fFileInput.readLine();
- }
- fFileInput.seek(pos);
- fProperties.put(ENTITYTYPE, fEntityTypes.toString());
- break;
- case lENTITYTABLE:
- pos = fFileInput.getFilePointer();
- line = fFileInput.readLine();
- while (line.startsWith("#-")) { //$NON-NLS-1$
- String tempLine = line.substring(1);
- String[] elements = tempLine.split(" ", 2); //$NON-NLS-1$
- fEntityTable.put(Integer.parseInt(elements[0]), elements[1]);
- pos = fFileInput.getFilePointer();
- line = fFileInput.readLine();
- }
- fProperties.put(ENTITYTABLE, fEntityTable.toString());
- fFileInput.seek(pos);
- break;
- case lENTITYTYPETABLE:
- pos = fFileInput.getFilePointer();
- line = fFileInput.readLine();
- while (line.startsWith("#-")) { //$NON-NLS-1$
- String tempLine = line.substring(1);
- String[] elements = tempLine.split(" ", 2); //$NON-NLS-1$
- fEntityTypeTable.put(BtfEventTypeFactory.parse(elements[0]), elements[1]);
- pos = fFileInput.getFilePointer();
- line = fFileInput.readLine();
- }
- fFileInput.seek(pos);
- fProperties.put(ENTITYTYPETABLE, fEntityTypeTable.toString());
- break;
- default:
- break;
- }
- fDataOffset = input.getFilePointer();
- line = input.readLine();
- }
- fTsOffset = (long) (fTsOffset * fTsFormat.getScaleFactor());
- }
-
- @Override
- public void initTrace(IResource resource, String path, Class<? extends ITmfEvent> type) throws TmfTraceException {
- super.initTrace(resource, path, type);
- fFile = new File(path);
- try {
- fFileInput = new RandomAccessFile(fFile, "r"); //$NON-NLS-1$
- parseHeader(fFileInput);
- } catch (IOException e) {
- throw new TmfTraceException(e.getMessage(), e);
- }
-
- }
-
- @Override
- public IStatus validate(IProject project, String path) {
- File file = new File(path);
- if (!file.exists()) {
- return new Status(IStatus.ERROR, Activator.PLUGIN_ID, "File not found: " + path); //$NON-NLS-1$
- }
- if (!file.isFile()) {
- return new Status(IStatus.ERROR, Activator.PLUGIN_ID, "Not a file. It's a directory: " + path); //$NON-NLS-1$
- }
- int confidence = 0;
- try (BufferedRandomAccessFile rafile = new BufferedRandomAccessFile(path, "r")) { //$NON-NLS-1$
- int lineCount = 0;
- int matches = 0;
- String line = rafile.getNextLine();
- while ((line != null) && line.startsWith("#")) { //$NON-NLS-1$
- line = rafile.getNextLine();
- }
- while ((line != null) && (lineCount++ < MAX_LINES)) {
- try {
- ITmfEvent event = parseLine(0, line);
- if (event != null) {
- matches++;
- }
- } catch (RuntimeException e) {
- confidence = Integer.MIN_VALUE;
- }
-
- confidence = MAX_CONFIDENCE * matches / lineCount;
- line = rafile.getNextLine();
- }
- } catch (IOException e) {
- Activator.logError("Error validating file: " + path, e); //$NON-NLS-1$
- return new Status(IStatus.ERROR, Activator.PLUGIN_ID, "IOException validating file: " + path, e); //$NON-NLS-1$
- }
-
- return new TraceValidationStatus(confidence, Activator.PLUGIN_ID);
- }
-
- @Override
- public ITmfLocation getCurrentLocation() {
- long temp = -1;
- try {
- temp = fFileInput.getFilePointer();
- } catch (IOException e) {
- }
- return new TmfLongLocation(temp);
- }
-
- @Override
- public double getLocationRatio(ITmfLocation location) {
- long size = fFile.length() - fDataOffset;
- long pos;
- try {
- pos = fFileInput.getFilePointer() - fDataOffset;
- } catch (IOException e) {
- pos = 0;
- }
- return 1.0 / size * pos;
- }
-
- @Override
- public ITmfContext seekEvent(ITmfLocation location) {
- final TmfContext context = new TmfContext(NULL_LOCATION, ITmfContext.UNKNOWN_RANK);
- if (NULL_LOCATION.equals(location) || fFile == null) {
- return context;
- }
- try {
- if (location == null) {
- fFileInput.seek(fDataOffset);
- } else if (location.getLocationInfo() instanceof Long) {
- fFileInput.seek((Long) location.getLocationInfo());
- }
- context.setLocation(new TmfLongLocation(fFileInput.getFilePointer()));
- return context;
- } catch (final FileNotFoundException e) {
- Activator.logError("Error seeking event. File not found: " + getPath(), e); //$NON-NLS-1$
- return context;
- } catch (final IOException e) {
- Activator.logError("Error seeking event. File: " + getPath(), e); //$NON-NLS-1$
- return context;
- }
- }
-
- @Override
- public ITmfContext seekEvent(double ratio) {
- if (fFile == null) {
- return new TmfContext(NULL_LOCATION, ITmfContext.UNKNOWN_RANK);
- }
- try {
- long pos = Math.round(ratio * fFile.length()) - fDataOffset;
- while (pos > 0) {
- fFileInput.seek(pos - 1);
- if (fFileInput.read() == '\n') {
- break;
- }
- pos--;
- }
- final ITmfLocation location = new TmfLongLocation(pos);
- final ITmfContext context = seekEvent(location);
- context.setRank(ITmfContext.UNKNOWN_RANK);
- return context;
- } catch (final IOException e) {
- Activator.logError("Error seeking event. File: " + getPath(), e); //$NON-NLS-1$
- return new CustomTxtTraceContext(NULL_LOCATION, ITmfContext.UNKNOWN_RANK);
- }
- }
-
- @Override
- public ITmfEvent parseEvent(ITmfContext tmfContext) {
- if (fFile == null || (!(tmfContext instanceof TmfContext))) {
- return null;
- }
-
- final TmfContext context = (TmfContext) tmfContext;
- if (context.getLocation() == null
- || !(context.getLocation().getLocationInfo() instanceof Long)
- || NULL_LOCATION.equals(context.getLocation())) {
- return null;
- }
-
- return parseLine(context);
-
- }
-
- /**
- * Parse a line with a context
- *
- * @param context
- * the context, has a location
- * @return the event from a given line
- */
- private ITmfEvent parseLine(TmfContext context) {
- try {
- if (!context.getLocation().getLocationInfo().equals(fFileInput.getFilePointer())) {
- seekEvent(context.getLocation());
- }
- } catch (IOException e1) {
- seekEvent(context.getLocation());
- }
- String line;
- try {
- line = fFileInput.readLine();
- return parseLine(context.getRank(), line);
-
- } catch (IOException e) {
- }
-
- return null;
- }
-
- /**
- * Parse a line of text and make an event using it.
- *
- * @param rank
- * the rank of the event
- * @param line
- * the raw string of the event
- * @return the event
- */
- private ITmfEvent parseLine(long rank, String line) {
- if (line == null) {
- return null;
- }
- String[] tokens = line.split(",", 7); //$NON-NLS-1$
- long timestamp = Long.parseLong(tokens[0]);
- String source = tokens[1];
- long sourceInstance = Long.parseLong(tokens[2]);
- BtfEventType type = BtfEventTypeFactory.parse(tokens[3]);
- String target = tokens[4];
- long targetInstance = Long.parseLong(tokens[5]);
- String event = tokens[6];
-
- ITmfEventField content = type.generateContent(event, sourceInstance, targetInstance);
-
- return new BtfEvent(this, rank,
- getTimestampTransform().transform(fTsFormat.createTimestamp(timestamp + fTsOffset)),
- source,
- type,
- type.getDescription(),
- content,
- target);
- }
-
- @Override
- public int getCheckpointSize() {
- synchronized (getClass()) {
- if (fCheckpointSize == -1) {
- TmfCheckpoint c = new TmfCheckpoint(TmfTimestamp.ZERO, new TmfLongLocation(0L), 0);
- ByteBuffer b = ByteBuffer.allocate(ITmfCheckpoint.MAX_SERIALIZE_SIZE);
- b.clear();
- c.serialize(b);
- fCheckpointSize = b.position();
- }
- }
-
- return fCheckpointSize;
- }
-
- @Override
- public ITmfLocation restoreLocation(ByteBuffer bufferIn) {
- return new TmfLongLocation(bufferIn);
- }
-
- @Override
- protected ITmfTraceIndexer createIndexer(int interval) {
- return new TmfBTreeTraceIndexer(this, interval);
- }
-
- @Override
- public Map<String, String> getTraceProperties() {
- return ImmutableMap.copyOf(fProperties);
- }
-
- @Override
- public void close() throws IOException {
- if (fFileInput != null) {
- fFileInput.close();
- }
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.btf.ui/.classpath b/lttng/org.eclipse.linuxtools.btf.ui/.classpath
deleted file mode 100644
index 098194ca4b..0000000000
--- a/lttng/org.eclipse.linuxtools.btf.ui/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
- <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.7"/>
- <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
- <classpathentry kind="src" path="src"/>
- <classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/lttng/org.eclipse.linuxtools.btf.ui/.project b/lttng/org.eclipse.linuxtools.btf.ui/.project
deleted file mode 100644
index 9cfb43246b..0000000000
--- a/lttng/org.eclipse.linuxtools.btf.ui/.project
+++ /dev/null
@@ -1,34 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>org.eclipse.linuxtools.btf.ui</name>
- <comment></comment>
- <projects>
- </projects>
- <buildSpec>
- <buildCommand>
- <name>org.eclipse.jdt.core.javabuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.ManifestBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.SchemaBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.api.tools.apiAnalysisBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>org.eclipse.pde.PluginNature</nature>
- <nature>org.eclipse.jdt.core.javanature</nature>
- <nature>org.eclipse.pde.api.tools.apiAnalysisNature</nature>
- </natures>
-</projectDescription>
diff --git a/lttng/org.eclipse.linuxtools.btf.ui/.settings/org.eclipse.core.resources.prefs b/lttng/org.eclipse.linuxtools.btf.ui/.settings/org.eclipse.core.resources.prefs
deleted file mode 100644
index 99f26c0203..0000000000
--- a/lttng/org.eclipse.linuxtools.btf.ui/.settings/org.eclipse.core.resources.prefs
+++ /dev/null
@@ -1,2 +0,0 @@
-eclipse.preferences.version=1
-encoding/<project>=UTF-8
diff --git a/lttng/org.eclipse.linuxtools.btf.ui/.settings/org.eclipse.core.runtime.prefs b/lttng/org.eclipse.linuxtools.btf.ui/.settings/org.eclipse.core.runtime.prefs
deleted file mode 100644
index 5a0ad22d2a..0000000000
--- a/lttng/org.eclipse.linuxtools.btf.ui/.settings/org.eclipse.core.runtime.prefs
+++ /dev/null
@@ -1,2 +0,0 @@
-eclipse.preferences.version=1
-line.separator=\n
diff --git a/lttng/org.eclipse.linuxtools.btf.ui/.settings/org.eclipse.jdt.core.prefs b/lttng/org.eclipse.linuxtools.btf.ui/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index 9f3662cd78..0000000000
--- a/lttng/org.eclipse.linuxtools.btf.ui/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,394 +0,0 @@
-eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.annotation.inheritNullAnnotations=enabled
-org.eclipse.jdt.core.compiler.annotation.missingNonNullByDefaultAnnotation=ignore
-org.eclipse.jdt.core.compiler.annotation.nonnull=org.eclipse.jdt.annotation.NonNull
-org.eclipse.jdt.core.compiler.annotation.nonnullbydefault=org.eclipse.jdt.annotation.NonNullByDefault
-org.eclipse.jdt.core.compiler.annotation.nullable=org.eclipse.jdt.annotation.Nullable
-org.eclipse.jdt.core.compiler.annotation.nullanalysis=enabled
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.7
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.doc.comment.support=enabled
-org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=error
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
-org.eclipse.jdt.core.compiler.problem.comparingIdentical=error
-org.eclipse.jdt.core.compiler.problem.deadCode=error
-org.eclipse.jdt.core.compiler.problem.deprecation=error
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled
-org.eclipse.jdt.core.compiler.problem.discouragedReference=warning
-org.eclipse.jdt.core.compiler.problem.emptyStatement=error
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.problem.explicitlyClosedAutoCloseable=error
-org.eclipse.jdt.core.compiler.problem.fallthroughCase=error
-org.eclipse.jdt.core.compiler.problem.fatalOptionalError=disabled
-org.eclipse.jdt.core.compiler.problem.fieldHiding=error
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=error
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=error
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=error
-org.eclipse.jdt.core.compiler.problem.includeNullInfoFromAsserts=disabled
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=error
-org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=error
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=error
-org.eclipse.jdt.core.compiler.problem.invalidJavadoc=warning
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTags=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=protected
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=error
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=error
-org.eclipse.jdt.core.compiler.problem.missingDefaultCase=error
-org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=error
-org.eclipse.jdt.core.compiler.problem.missingEnumCaseDespiteDefault=enabled
-org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=error
-org.eclipse.jdt.core.compiler.problem.missingJavadocComments=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=protected
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagDescription=all_standard_tags
-org.eclipse.jdt.core.compiler.problem.missingJavadocTags=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsMethodTypeParameters=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=protected
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=error
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotationForInterfaceMethodImplementation=enabled
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=error
-org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=error
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=error
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=error
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=warning
-org.eclipse.jdt.core.compiler.problem.nonnullParameterAnnotationDropped=warning
-org.eclipse.jdt.core.compiler.problem.nullAnnotationInferenceConflict=warning
-org.eclipse.jdt.core.compiler.problem.nullReference=error
-org.eclipse.jdt.core.compiler.problem.nullSpecViolation=error
-org.eclipse.jdt.core.compiler.problem.nullUncheckedConversion=warning
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=error
-org.eclipse.jdt.core.compiler.problem.parameterAssignment=error
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=error
-org.eclipse.jdt.core.compiler.problem.potentialNullReference=error
-org.eclipse.jdt.core.compiler.problem.potentiallyUnclosedCloseable=warning
-org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning
-org.eclipse.jdt.core.compiler.problem.redundantNullAnnotation=warning
-org.eclipse.jdt.core.compiler.problem.redundantNullCheck=error
-org.eclipse.jdt.core.compiler.problem.redundantSpecificationOfTypeArguments=error
-org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=error
-org.eclipse.jdt.core.compiler.problem.reportMethodCanBePotentiallyStatic=ignore
-org.eclipse.jdt.core.compiler.problem.reportMethodCanBeStatic=error
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=error
-org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=disabled
-org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
-org.eclipse.jdt.core.compiler.problem.syntacticNullAnalysisForFields=enabled
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
-org.eclipse.jdt.core.compiler.problem.typeParameterHiding=error
-org.eclipse.jdt.core.compiler.problem.unavoidableGenericTypeProblems=disabled
-org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
-org.eclipse.jdt.core.compiler.problem.unclosedCloseable=error
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
-org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=error
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=error
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=error
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=warning
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=disabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=disabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=error
-org.eclipse.jdt.core.compiler.problem.unusedLabel=error
-org.eclipse.jdt.core.compiler.problem.unusedLocal=error
-org.eclipse.jdt.core.compiler.problem.unusedObjectAllocation=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=error
-org.eclipse.jdt.core.compiler.problem.unusedTypeParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedWarningToken=error
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=error
-org.eclipse.jdt.core.compiler.source=1.7
-org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_assignment=0
-org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
-org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
-org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
-org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
-org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0
-org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=80
-org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=0
-org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch=16
-org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_after_package=1
-org.eclipse.jdt.core.formatter.blank_lines_before_field=0
-org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
-org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
-org.eclipse.jdt.core.formatter.blank_lines_before_method=1
-org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
-org.eclipse.jdt.core.formatter.blank_lines_before_package=0
-org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
-org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
-org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
-org.eclipse.jdt.core.formatter.comment.format_block_comments=true
-org.eclipse.jdt.core.formatter.comment.format_header=false
-org.eclipse.jdt.core.formatter.comment.format_html=true
-org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=true
-org.eclipse.jdt.core.formatter.comment.format_line_comments=true
-org.eclipse.jdt.core.formatter.comment.format_source_code=true
-org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true
-org.eclipse.jdt.core.formatter.comment.indent_root_tags=true
-org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
-org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=insert
-org.eclipse.jdt.core.formatter.comment.line_length=80
-org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries=true
-org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries=true
-org.eclipse.jdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments=false
-org.eclipse.jdt.core.formatter.compact_else_if=true
-org.eclipse.jdt.core.formatter.continuation_indentation=2
-org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2
-org.eclipse.jdt.core.formatter.disabling_tag=@formatter\:off
-org.eclipse.jdt.core.formatter.enabling_tag=@formatter\:on
-org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
-org.eclipse.jdt.core.formatter.format_line_comment_starting_on_first_column=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
-org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_empty_lines=false
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=false
-org.eclipse.jdt.core.formatter.indentation.size=4
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_label=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_try=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources=insert
-org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_try=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
-org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.join_lines_in_comments=true
-org.eclipse.jdt.core.formatter.join_wrapped_lines=false
-org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.lineSplit=250
-org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
-org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
-org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true
-org.eclipse.jdt.core.formatter.tabulation.char=space
-org.eclipse.jdt.core.formatter.tabulation.size=4
-org.eclipse.jdt.core.formatter.use_on_off_tags=false
-org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
-org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
-org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true
-org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true
diff --git a/lttng/org.eclipse.linuxtools.btf.ui/.settings/org.eclipse.jdt.ui.prefs b/lttng/org.eclipse.linuxtools.btf.ui/.settings/org.eclipse.jdt.ui.prefs
deleted file mode 100644
index 4fd0c7006a..0000000000
--- a/lttng/org.eclipse.linuxtools.btf.ui/.settings/org.eclipse.jdt.ui.prefs
+++ /dev/null
@@ -1,56 +0,0 @@
-eclipse.preferences.version=1
-editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
-formatter_profile=_tmf-style
-formatter_settings_version=12
-sp_cleanup.add_default_serial_version_id=true
-sp_cleanup.add_generated_serial_version_id=false
-sp_cleanup.add_missing_annotations=false
-sp_cleanup.add_missing_deprecated_annotations=true
-sp_cleanup.add_missing_methods=false
-sp_cleanup.add_missing_nls_tags=false
-sp_cleanup.add_missing_override_annotations=true
-sp_cleanup.add_missing_override_annotations_interface_methods=true
-sp_cleanup.add_serial_version_id=false
-sp_cleanup.always_use_blocks=true
-sp_cleanup.always_use_parentheses_in_expressions=false
-sp_cleanup.always_use_this_for_non_static_field_access=false
-sp_cleanup.always_use_this_for_non_static_method_access=false
-sp_cleanup.convert_to_enhanced_for_loop=false
-sp_cleanup.correct_indentation=false
-sp_cleanup.format_source_code=false
-sp_cleanup.format_source_code_changes_only=false
-sp_cleanup.make_local_variable_final=false
-sp_cleanup.make_parameters_final=false
-sp_cleanup.make_private_fields_final=true
-sp_cleanup.make_type_abstract_if_missing_method=false
-sp_cleanup.make_variable_declarations_final=false
-sp_cleanup.never_use_blocks=false
-sp_cleanup.never_use_parentheses_in_expressions=true
-sp_cleanup.on_save_use_additional_actions=true
-sp_cleanup.organize_imports=false
-sp_cleanup.qualify_static_field_accesses_with_declaring_class=false
-sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_with_declaring_class=false
-sp_cleanup.qualify_static_method_accesses_with_declaring_class=false
-sp_cleanup.remove_private_constructors=true
-sp_cleanup.remove_trailing_whitespaces=true
-sp_cleanup.remove_trailing_whitespaces_all=true
-sp_cleanup.remove_trailing_whitespaces_ignore_empty=false
-sp_cleanup.remove_unnecessary_casts=false
-sp_cleanup.remove_unnecessary_nls_tags=false
-sp_cleanup.remove_unused_imports=false
-sp_cleanup.remove_unused_local_variables=false
-sp_cleanup.remove_unused_private_fields=true
-sp_cleanup.remove_unused_private_members=false
-sp_cleanup.remove_unused_private_methods=true
-sp_cleanup.remove_unused_private_types=true
-sp_cleanup.sort_members=false
-sp_cleanup.sort_members_all=false
-sp_cleanup.use_blocks=true
-sp_cleanup.use_blocks_only_for_return_and_throw=false
-sp_cleanup.use_parentheses_in_expressions=false
-sp_cleanup.use_this_for_non_static_field_access=false
-sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=true
-sp_cleanup.use_this_for_non_static_method_access=false
-sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true
diff --git a/lttng/org.eclipse.linuxtools.btf.ui/.settings/org.eclipse.pde.api.tools.prefs b/lttng/org.eclipse.linuxtools.btf.ui/.settings/org.eclipse.pde.api.tools.prefs
deleted file mode 100644
index acc3abd47c..0000000000
--- a/lttng/org.eclipse.linuxtools.btf.ui/.settings/org.eclipse.pde.api.tools.prefs
+++ /dev/null
@@ -1,97 +0,0 @@
-ANNOTATION_ELEMENT_TYPE_ADDED_METHOD_WITHOUT_DEFAULT_VALUE=Error
-ANNOTATION_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
-ANNOTATION_ELEMENT_TYPE_REMOVED_FIELD=Error
-ANNOTATION_ELEMENT_TYPE_REMOVED_METHOD=Error
-ANNOTATION_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
-API_COMPONENT_ELEMENT_TYPE_REMOVED_API_TYPE=Error
-API_COMPONENT_ELEMENT_TYPE_REMOVED_REEXPORTED_API_TYPE=Error
-API_COMPONENT_ELEMENT_TYPE_REMOVED_REEXPORTED_TYPE=Error
-API_COMPONENT_ELEMENT_TYPE_REMOVED_TYPE=Error
-API_USE_SCAN_FIELD_SEVERITY=Error
-API_USE_SCAN_METHOD_SEVERITY=Error
-API_USE_SCAN_TYPE_SEVERITY=Error
-CLASS_ELEMENT_TYPE_ADDED_METHOD=Error
-CLASS_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
-CLASS_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
-CLASS_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error
-CLASS_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
-CLASS_ELEMENT_TYPE_CHANGED_NON_ABSTRACT_TO_ABSTRACT=Error
-CLASS_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error
-CLASS_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
-CLASS_ELEMENT_TYPE_REMOVED_CONSTRUCTOR=Error
-CLASS_ELEMENT_TYPE_REMOVED_FIELD=Error
-CLASS_ELEMENT_TYPE_REMOVED_METHOD=Error
-CLASS_ELEMENT_TYPE_REMOVED_SUPERCLASS=Error
-CLASS_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
-CLASS_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
-CONSTRUCTOR_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
-CONSTRUCTOR_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
-CONSTRUCTOR_ELEMENT_TYPE_CHANGED_VARARGS_TO_ARRAY=Error
-CONSTRUCTOR_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
-ENUM_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error
-ENUM_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
-ENUM_ELEMENT_TYPE_REMOVED_ENUM_CONSTANT=Error
-ENUM_ELEMENT_TYPE_REMOVED_FIELD=Error
-ENUM_ELEMENT_TYPE_REMOVED_METHOD=Error
-ENUM_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
-FIELD_ELEMENT_TYPE_ADDED_VALUE=Error
-FIELD_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
-FIELD_ELEMENT_TYPE_CHANGED_FINAL_TO_NON_FINAL_STATIC_CONSTANT=Error
-FIELD_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error
-FIELD_ELEMENT_TYPE_CHANGED_NON_STATIC_TO_STATIC=Error
-FIELD_ELEMENT_TYPE_CHANGED_STATIC_TO_NON_STATIC=Error
-FIELD_ELEMENT_TYPE_CHANGED_TYPE=Error
-FIELD_ELEMENT_TYPE_CHANGED_VALUE=Error
-FIELD_ELEMENT_TYPE_REMOVED_TYPE_ARGUMENT=Error
-FIELD_ELEMENT_TYPE_REMOVED_VALUE=Error
-ILLEGAL_EXTEND=Warning
-ILLEGAL_IMPLEMENT=Warning
-ILLEGAL_INSTANTIATE=Warning
-ILLEGAL_OVERRIDE=Warning
-ILLEGAL_REFERENCE=Warning
-INTERFACE_ELEMENT_TYPE_ADDED_FIELD=Error
-INTERFACE_ELEMENT_TYPE_ADDED_METHOD=Error
-INTERFACE_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
-INTERFACE_ELEMENT_TYPE_ADDED_SUPER_INTERFACE_WITH_METHODS=Error
-INTERFACE_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
-INTERFACE_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error
-INTERFACE_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
-INTERFACE_ELEMENT_TYPE_REMOVED_FIELD=Error
-INTERFACE_ELEMENT_TYPE_REMOVED_METHOD=Error
-INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
-INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
-INVALID_JAVADOC_TAG=Warning
-INVALID_REFERENCE_IN_SYSTEM_LIBRARIES=Warning
-LEAK_EXTEND=Warning
-LEAK_FIELD_DECL=Warning
-LEAK_IMPLEMENT=Warning
-LEAK_METHOD_PARAM=Warning
-LEAK_METHOD_RETURN_TYPE=Warning
-METHOD_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
-METHOD_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
-METHOD_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
-METHOD_ELEMENT_TYPE_CHANGED_NON_ABSTRACT_TO_ABSTRACT=Error
-METHOD_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error
-METHOD_ELEMENT_TYPE_CHANGED_NON_STATIC_TO_STATIC=Error
-METHOD_ELEMENT_TYPE_CHANGED_STATIC_TO_NON_STATIC=Error
-METHOD_ELEMENT_TYPE_CHANGED_VARARGS_TO_ARRAY=Error
-METHOD_ELEMENT_TYPE_REMOVED_ANNOTATION_DEFAULT_VALUE=Error
-METHOD_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
-MISSING_EE_DESCRIPTIONS=Ignore
-TYPE_PARAMETER_ELEMENT_TYPE_ADDED_CLASS_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_ADDED_INTERFACE_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_CHANGED_CLASS_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_CHANGED_INTERFACE_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_CLASS_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error
-UNUSED_PROBLEM_FILTERS=Warning
-automatically_removed_unused_problem_filters=false
-eclipse.preferences.version=1
-incompatible_api_component_version=Error
-incompatible_api_component_version_include_major_without_breaking_change=Disabled
-incompatible_api_component_version_include_minor_without_api_change=Disabled
-invalid_since_tag_version=Error
-malformed_since_tag=Error
-missing_since_tag=Error
-report_api_breakage_when_major_version_incremented=Disabled
-report_resolution_errors_api_component=Warning
diff --git a/lttng/org.eclipse.linuxtools.btf.ui/.settings/org.eclipse.pde.prefs b/lttng/org.eclipse.linuxtools.btf.ui/.settings/org.eclipse.pde.prefs
deleted file mode 100644
index d92b94fd4b..0000000000
--- a/lttng/org.eclipse.linuxtools.btf.ui/.settings/org.eclipse.pde.prefs
+++ /dev/null
@@ -1,32 +0,0 @@
-compilers.f.unresolved-features=1
-compilers.f.unresolved-plugins=1
-compilers.incompatible-environment=1
-compilers.p.build=1
-compilers.p.build.bin.includes=1
-compilers.p.build.encodings=2
-compilers.p.build.java.compiler=2
-compilers.p.build.java.compliance=1
-compilers.p.build.missing.output=2
-compilers.p.build.output.library=1
-compilers.p.build.source.library=1
-compilers.p.build.src.includes=1
-compilers.p.deprecated=1
-compilers.p.discouraged-class=1
-compilers.p.internal=1
-compilers.p.missing-packages=1
-compilers.p.missing-version-export-package=2
-compilers.p.missing-version-import-package=2
-compilers.p.missing-version-require-bundle=2
-compilers.p.no-required-att=0
-compilers.p.not-externalized-att=1
-compilers.p.unknown-attribute=1
-compilers.p.unknown-class=1
-compilers.p.unknown-element=1
-compilers.p.unknown-identifier=1
-compilers.p.unknown-resource=1
-compilers.p.unresolved-ex-points=0
-compilers.p.unresolved-import=0
-compilers.s.create-docs=false
-compilers.s.doc-folder=doc
-compilers.s.open-tags=1
-eclipse.preferences.version=1
diff --git a/lttng/org.eclipse.linuxtools.btf.ui/META-INF/MANIFEST.MF b/lttng/org.eclipse.linuxtools.btf.ui/META-INF/MANIFEST.MF
deleted file mode 100644
index 766f4bcf4c..0000000000
--- a/lttng/org.eclipse.linuxtools.btf.ui/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,20 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %Bundle-Name
-Bundle-Vendor: %Bundle-Vendor
-Bundle-Version: 3.1.0.qualifier
-Bundle-Localization: plugin
-Bundle-SymbolicName: org.eclipse.linuxtools.btf.ui;singleton:=true
-Bundle-Activator: org.eclipse.linuxtools.btf.ui.Activator
-Bundle-ActivationPolicy: lazy
-Bundle-RequiredExecutionEnvironment: JavaSE-1.7
-Require-Bundle: org.eclipse.core.runtime,
- org.eclipse.core.resources,
- org.eclipse.linuxtools.tmf.core,
- org.eclipse.linuxtools.tmf.ui,
- org.eclipse.swt,
- org.eclipse.jface,
- org.eclipse.ui.ide,
- org.eclipse.linuxtools.btf.core
-Export-Package: org.eclipse.linuxtools.btf.ui
-Import-Package: com.google.common.collect
diff --git a/lttng/org.eclipse.linuxtools.btf.ui/about.html b/lttng/org.eclipse.linuxtools.btf.ui/about.html
deleted file mode 100644
index c258ef55d8..0000000000
--- a/lttng/org.eclipse.linuxtools.btf.ui/about.html
+++ /dev/null
@@ -1,28 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
-<title>About</title>
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
-
-<p>June 5, 2006</p>
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;). Unless otherwise
-indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is available
-at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is
-being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content. Check the Redistributor's license that was
-provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at <a href="http://www.eclipse.org/">http://www.eclipse.org</a>.</p>
-
-</body>
-</html> \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.btf.ui/btf-view.xml b/lttng/org.eclipse.linuxtools.btf.ui/btf-view.xml
deleted file mode 100644
index de7619d84e..0000000000
--- a/lttng/org.eclipse.linuxtools.btf.ui/btf-view.xml
+++ /dev/null
@@ -1,40 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<tmfxml xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:noNamespaceSchemaLocation="stateprovider.xsd">
-
- <timeGraphView id="org.eclipse.linuxtools.btf.analysis.xml">
- <head>
- <analysis id="org.eclipse.linuxtools.btf.core.analysis" />
- <label value="BTF View" />
- </head>
- <!-- StateValues -->
- <definedValue name="STATE_CORE_IDLE" value="0" color="#888888" />
- <definedValue name="STATE_RUNNING" value="1" color="#95bc5f" />
- <definedValue name="STATE_SUSPENDED" value="2" color="#bcdd68" />
- <!-- sat = 20, val = 90 -->
- <definedValue name="STATE_TASK_NOTSTARTED" value="3" color="#FFFFFF"/>
- <definedValue name="STATE_TASK_ACTIVE" value="4" color="#e4e6b8" />
- <definedValue name="STATE_TASK_READY" value="5" color="#d4e6b8" />
- <definedValue name="STATE_TASK_RUNNING" value="6" color="#95bc5f" />
- <definedValue name="STATE_TASK_WAITING" value="7" color="#e6b8c2" />
- <definedValue name="STATE_TASK_PARKING" value="8" color="#c7b8e6" />
- <definedValue name="STATE_TASK_POLLING" value="9" color="#b8e4e6" />
-
- <!-- Control Flow View -->
- <entry path="Tasks/*">
- <display type="self" />
- <entry path="Core*/*">
- <display type="self" />
- </entry>
- </entry>
- <entry path="Cores">
- <display type="self" />
- <entry path="Core*">
- <display type="self" />
- <entry path="*">
- <display type="self" />
- </entry>
- </entry>
- </entry>
- </timeGraphView>
-</tmfxml>
diff --git a/lttng/org.eclipse.linuxtools.btf.ui/build.properties b/lttng/org.eclipse.linuxtools.btf.ui/build.properties
deleted file mode 100644
index 748e4f916b..0000000000
--- a/lttng/org.eclipse.linuxtools.btf.ui/build.properties
+++ /dev/null
@@ -1,23 +0,0 @@
-###############################################################################
-# Copyright (c) 2014 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:
-# Ericsson - Initial API and implementation
-###############################################################################
-
-source.. = src/
-output.. = bin/
-bin.includes = META-INF/,\
- plugin.properties,\
- plugin.xml,\
- about.html,\
- .,\
- plugin.xml
-src.includes = about.html
-additional.bundles = org.eclipse.jdt.annotation
-jars.extra.classpath = platform:/plugin/org.eclipse.jdt.annotation
diff --git a/lttng/org.eclipse.linuxtools.btf.ui/icons/btf.png b/lttng/org.eclipse.linuxtools.btf.ui/icons/btf.png
deleted file mode 100644
index 4ef1a0d988..0000000000
--- a/lttng/org.eclipse.linuxtools.btf.ui/icons/btf.png
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.btf.ui/plugin.properties b/lttng/org.eclipse.linuxtools.btf.ui/plugin.properties
deleted file mode 100644
index a650b18828..0000000000
--- a/lttng/org.eclipse.linuxtools.btf.ui/plugin.properties
+++ /dev/null
@@ -1,15 +0,0 @@
-###############################################################################
-# Copyright (c) 2014 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:
-# Ericsson - Initial API and implementation
-###############################################################################
-
-#Properties file for org.eclipse.linuxtools.btf.ui
-Bundle-Vendor = Eclipse Linux Tools
-Bundle-Name = Linux Tools BTF UI Plug-in
diff --git a/lttng/org.eclipse.linuxtools.btf.ui/plugin.xml b/lttng/org.eclipse.linuxtools.btf.ui/plugin.xml
deleted file mode 100644
index 4e347df33d..0000000000
--- a/lttng/org.eclipse.linuxtools.btf.ui/plugin.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.4"?>
-<plugin>
- <extension
- point="org.eclipse.linuxtools.tmf.ui.tracetypeui">
- <type
- icon="icons/btf.png"
- tracetype="org.eclipse.linuxtools.btf.trace">
- <eventTableColumns
- class="org.eclipse.linuxtools.btf.ui.BtfEventTableColumns">
- </eventTableColumns>
- </type>
- </extension>
-</plugin>
diff --git a/lttng/org.eclipse.linuxtools.btf.ui/pom.xml b/lttng/org.eclipse.linuxtools.btf.ui/pom.xml
deleted file mode 100644
index 252c737e71..0000000000
--- a/lttng/org.eclipse.linuxtools.btf.ui/pom.xml
+++ /dev/null
@@ -1,36 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Copyright (C) 2011, Red Hat, Inc.
-
- 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
--->
-<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
- <modelVersion>4.0.0</modelVersion>
-
- <parent>
- <artifactId>linuxtools-lttng-parent</artifactId>
- <groupId>org.eclipse.linuxtools.lttng</groupId>
- <version>3.2.0-SNAPSHOT</version>
- </parent>
-
- <artifactId>org.eclipse.linuxtools.btf.ui</artifactId>
- <version>3.1.0-SNAPSHOT</version>
- <packaging>eclipse-plugin</packaging>
-
- <name>Best Trace Format UI Plug-in</name>
-
- <build>
- <plugins>
- <plugin>
- <groupId>org.eclipse.tycho</groupId>
- <artifactId>tycho-source-plugin</artifactId>
- </plugin>
- </plugins>
- </build>
-
- <groupId>org.eclipse.linuxtools.btf</groupId>
-</project>
diff --git a/lttng/org.eclipse.linuxtools.btf.ui/src/org/eclipse/linuxtools/btf/ui/Activator.java b/lttng/org.eclipse.linuxtools.btf.ui/src/org/eclipse/linuxtools/btf/ui/Activator.java
deleted file mode 100644
index 5591d06a74..0000000000
--- a/lttng/org.eclipse.linuxtools.btf.ui/src/org/eclipse/linuxtools/btf/ui/Activator.java
+++ /dev/null
@@ -1,192 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 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:
- * Matthew Khouzam - Initial implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.btf.ui;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.Plugin;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.linuxtools.btf.core.event.BtfEvent;
-import org.osgi.framework.BundleContext;
-
-/**
- * The activator class controls the plug-in life cycle. No more than one such
- * plug-in can exist at any time.
- * <p>
- * It also provides the plug-in's general logging facility and manages the
- * internal tracer.
- */
-public class Activator extends Plugin {
-
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
-
- /**
- * The plug-in ID
- */
- public static final String PLUGIN_ID = "org.eclipse.linuxtools.btf.ui"; //$NON-NLS-1$
-
- /**
- * The shared instance
- */
- private static Activator fPlugin;
-
- private BtfEventAdapterFactory fBtfEventAdapterFactory;
-
-
- // ------------------------------------------------------------------------
- // Constructors
- // ------------------------------------------------------------------------
-
- /**
- * Constructor
- */
- public Activator() {
- setDefault(this);
- }
-
- // ------------------------------------------------------------------------
- // Accessors
- // ------------------------------------------------------------------------
-
- /**
- * Returns the BTF plug-in instance.
- *
- * @return the BTF plug-in instance.
- */
- public static Activator getDefault() {
- return fPlugin;
- }
-
- // Sets plug-in instance
- private static void setDefault(Activator plugin) {
- fPlugin = plugin;
- }
-
- // ------------------------------------------------------------------------
- // Plugin
- // ------------------------------------------------------------------------
-
- @Override
- public void start(BundleContext context) throws Exception {
- super.start(context);
- setDefault(this);
- fBtfEventAdapterFactory = new BtfEventAdapterFactory();
- Platform.getAdapterManager().registerAdapters(fBtfEventAdapterFactory, BtfEvent.class);
- }
-
- @Override
- public void stop(BundleContext context) throws Exception {
- setDefault(null);
- super.stop(context);
- }
-
-
- // ------------------------------------------------------------------------
- // Log an IStatus
- // ------------------------------------------------------------------------
-
- /**
- * Log an IStatus object directly
- *
- * @param status
- * The status to log
- */
- public static void log(IStatus status) {
- fPlugin.getLog().log(status);
- }
-
- // ------------------------------------------------------------------------
- // Log INFO
- // ------------------------------------------------------------------------
-
- /**
- * Logs a message with severity INFO in the runtime log of the plug-in.
- *
- * @param message
- * A message to log
- */
- public static void logInfo(String message) {
- fPlugin.getLog().log(new Status(IStatus.INFO, PLUGIN_ID, message));
- }
-
- /**
- * Logs a message and exception with severity INFO in the runtime log of the
- * plug-in.
- *
- * @param message
- * A message to log
- * @param exception
- * The corresponding exception
- */
- public static void logInfo(String message, Throwable exception) {
- fPlugin.getLog().log(new Status(IStatus.INFO, PLUGIN_ID, message, exception));
- }
-
- // ------------------------------------------------------------------------
- // Log WARNING
- // ------------------------------------------------------------------------
-
- /**
- * Logs a message and exception with severity WARNING in the runtime log of
- * the plug-in.
- *
- * @param message
- * A message to log
- */
- public static void logWarning(String message) {
- fPlugin.getLog().log(new Status(IStatus.WARNING, PLUGIN_ID, message));
- }
-
- /**
- * Logs a message and exception with severity WARNING in the runtime log of
- * the plug-in.
- *
- * @param message
- * A message to log
- * @param exception
- * The corresponding exception
- */
- public static void logWarning(String message, Throwable exception) {
- fPlugin.getLog().log(new Status(IStatus.WARNING, PLUGIN_ID, message, exception));
- }
-
- // ------------------------------------------------------------------------
- // Log ERROR
- // ------------------------------------------------------------------------
-
- /**
- * Logs a message and exception with severity ERROR in the runtime log of
- * the plug-in.
- *
- * @param message
- * A message to log
- */
- public static void logError(String message) {
- fPlugin.getLog().log(new Status(IStatus.ERROR, PLUGIN_ID, message));
- }
-
- /**
- * Logs a message and exception with severity ERROR in the runtime log of
- * the plug-in.
- *
- * @param message
- * A message to log
- * @param exception
- * The corresponding exception
- */
- public static void logError(String message, Throwable exception) {
- fPlugin.getLog().log(new Status(IStatus.ERROR, PLUGIN_ID, message, exception));
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.btf.ui/src/org/eclipse/linuxtools/btf/ui/BtfEventAdapterFactory.java b/lttng/org.eclipse.linuxtools.btf.ui/src/org/eclipse/linuxtools/btf/ui/BtfEventAdapterFactory.java
deleted file mode 100644
index 53ce385767..0000000000
--- a/lttng/org.eclipse.linuxtools.btf.ui/src/org/eclipse/linuxtools/btf/ui/BtfEventAdapterFactory.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 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:
- * Matthew Khouzam - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.btf.ui;
-
-import org.eclipse.core.runtime.IAdapterFactory;
-import org.eclipse.linuxtools.btf.core.event.BtfEvent;
-import org.eclipse.ui.views.properties.IPropertySource;
-
-/**
- * Btf Event Adaptor Factory
- *
- * @author Matthew Khouzam
- */
-public class BtfEventAdapterFactory implements IAdapterFactory {
-
- private static final Class<?>[] PROPERTIES = new Class[] {
- IPropertySource.class
- };
-
- @Override
- public Class<?>[] getAdapterList() {
- return PROPERTIES;
- }
-
- @Override
- public Object getAdapter(Object element, Class key) {
- if (element instanceof BtfEvent && IPropertySource.class.equals(key)) {
- BtfEvent tmfEvent = (BtfEvent) element;
- return new BtfEventPropertySource(tmfEvent);
- }
- return null;
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.btf.ui/src/org/eclipse/linuxtools/btf/ui/BtfEventPropertySource.java b/lttng/org.eclipse.linuxtools.btf.ui/src/org/eclipse/linuxtools/btf/ui/BtfEventPropertySource.java
deleted file mode 100644
index 2e02af104f..0000000000
--- a/lttng/org.eclipse.linuxtools.btf.ui/src/org/eclipse/linuxtools/btf/ui/BtfEventPropertySource.java
+++ /dev/null
@@ -1,234 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 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:
- * Matthew Khouzam - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.btf.ui;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.linuxtools.btf.core.event.BtfEvent;
-import org.eclipse.linuxtools.tmf.core.event.ITmfEventField;
-import org.eclipse.linuxtools.tmf.ui.properties.ReadOnlyTextPropertyDescriptor;
-import org.eclipse.linuxtools.tmf.ui.viewers.events.TmfEventPropertySource;
-import org.eclipse.ui.views.properties.IPropertyDescriptor;
-import org.eclipse.ui.views.properties.IPropertySource;
-
-/**
- * Btf event property source
- *
- * @author Matthew Khouzam
- */
-public class BtfEventPropertySource extends TmfEventPropertySource {
-
- private static final String ID_EVENT_EVENT = "event_event"; //$NON-NLS-1$
- private static final String ID_EVENT_TIMESTAMP = "event_timestamp"; //$NON-NLS-1$
- private static final String ID_EVENT_SOURCE = "event_source"; //$NON-NLS-1$
- private static final String ID_EVENT_TYPE = "event_type"; //$NON-NLS-1$
- private static final String ID_EVENT_TARGET = "event_target"; //$NON-NLS-1$
- private final BtfEvent fEvent;
-
- /**
- * Btf Event property source
- *
- * @param event
- * the event
- */
- public BtfEventPropertySource(BtfEvent event) {
- super(event);
- fEvent = event;
-
- }
-
- @Override
- public IPropertyDescriptor[] getPropertyDescriptors() {
- return new IPropertyDescriptor[] {
- new ReadOnlyTextPropertyDescriptor(ID_EVENT_TIMESTAMP, "Timestamp"), //$NON-NLS-1$
- new ReadOnlyTextPropertyDescriptor(ID_EVENT_SOURCE, "Source"), //$NON-NLS-1$
- new ReadOnlyTextPropertyDescriptor(ID_EVENT_TYPE, "Type"), //$NON-NLS-1$
- new ReadOnlyTextPropertyDescriptor(ID_EVENT_TARGET, "Target"), //$NON-NLS-1$
- new ReadOnlyTextPropertyDescriptor(ID_EVENT_EVENT, "event") //$NON-NLS-1$
- };
- }
-
- private class TargetPropertySource implements IPropertySource {
- private static final String INSTANCE = "Instance"; //$NON-NLS-1$
- private final String fTarget;
- private final String fInstance;
-
- public TargetPropertySource(String target, String instance) {
- fTarget = target;
- fInstance = instance;
- }
-
- @Override
- public Object getEditableValue() {
- return fTarget;
- }
-
- @Override
- public IPropertyDescriptor[] getPropertyDescriptors() {
- return new IPropertyDescriptor[] {
- new ReadOnlyTextPropertyDescriptor(INSTANCE, INSTANCE)
- };
- }
-
- @Override
- public Object getPropertyValue(Object id) {
- if (INSTANCE.equals(id)) {
- return fInstance;
- }
- return null;
- }
-
- @Override
- public boolean isPropertySet(Object id) {
- return INSTANCE.equals(id);
- }
-
- @Override
- public void resetPropertyValue(Object id) {
- }
-
- @Override
- public void setPropertyValue(Object id, Object value) {
- }
-
- }
-
- private class TypePropertySource implements IPropertySource {
- private static final String DESCRIPTION = "Description"; //$NON-NLS-1$
- private final String fType;
- private final String fDescr;
-
- public TypePropertySource(String type, String descr) {
- fType = type;
- fDescr = descr;
- }
-
- @Override
- public Object getEditableValue() {
- return fType;
- }
-
- @Override
- public IPropertyDescriptor[] getPropertyDescriptors() {
- IPropertyDescriptor[] descriptors = new IPropertyDescriptor[1];
- descriptors[0] = new ReadOnlyTextPropertyDescriptor(DESCRIPTION, DESCRIPTION);
- return descriptors;
- }
-
- @Override
- public Object getPropertyValue(Object id) {
- if (DESCRIPTION.equals(id)) {
- return fDescr;
- }
- return null;
- }
-
- @Override
- public boolean isPropertySet(Object id) {
- return DESCRIPTION.equals(id);
- }
-
- @Override
- public void resetPropertyValue(Object id) {
- }
-
- @Override
- public void setPropertyValue(Object id, Object value) {
- }
- }
-
- private class EventPropertySource implements IPropertySource {
- private static final String DESCRIPTION = "Description"; //$NON-NLS-1$
- private static final String NOTE = "Note"; //$NON-NLS-1$
- final String fEventName;
- final String fNote;
- final String fEventDescription;
-
- public EventPropertySource(String event, String note) {
- fEventName = event;
- fNote = note;
-
- ITmfEventField content = fEvent.getContent();
- String first = content.getFieldNames().iterator().next();
- content = content.getField(first);
- first = content.getFieldNames().iterator().next();
- fEventDescription = content.getField(first).getValue().toString();
- }
-
- @Override
- public Object getEditableValue() {
- return fEventName;
- }
-
- @Override
- public IPropertyDescriptor[] getPropertyDescriptors() {
- if (fNote == null) {
- return new IPropertyDescriptor[] {
- new ReadOnlyTextPropertyDescriptor(DESCRIPTION, DESCRIPTION)
- };
- }
- return new IPropertyDescriptor[] {
- new ReadOnlyTextPropertyDescriptor(DESCRIPTION, DESCRIPTION),
- new ReadOnlyTextPropertyDescriptor(NOTE, NOTE)
- };
- }
-
- @Override
- public Object getPropertyValue(Object id) {
- if (NOTE.equals(id)) {
- return fNote;
- } else if (DESCRIPTION.equals(id)) {
- return fEventDescription;
- }
- return null;
- }
-
- @Override
- public boolean isPropertySet(Object id) {
- return false;
- }
-
- @Override
- public void resetPropertyValue(Object id) {
- }
-
- @Override
- public void setPropertyValue(Object id, Object value) {
- }
-
- }
-
- @Override
- public Object getPropertyValue(Object id) {
- if (id instanceof String) {
- String id2 = (String) id;
- final ITmfEventField content = fEvent.getContent();
- List<String> fieldNames = new ArrayList<>(content.getFieldNames());
- switch (id2) {
- case ID_EVENT_TARGET:
- return new TargetPropertySource(fEvent.getReference(), content.getField(fieldNames.get(2)).toString());
- case ID_EVENT_SOURCE:
- return new TargetPropertySource(fEvent.getSource(), content.getField(fieldNames.get(1)).toString());
- case ID_EVENT_TYPE:
- return new TypePropertySource(fEvent.getType().getName(), fEvent.getEventDescription());
- case ID_EVENT_EVENT:
- ITmfEventField noteField = (fieldNames.size() > 3) ? content.getField(fieldNames.get(3)) : null;
- return new EventPropertySource(content.getField(fieldNames.get(0)).getValue().toString(), (noteField == null) ? null : noteField.getValue().toString());
- default:
- break;
- }
- }
- return super.getPropertyValue(id);
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.btf.ui/src/org/eclipse/linuxtools/btf/ui/BtfEventTableColumns.java b/lttng/org.eclipse.linuxtools.btf.ui/src/org/eclipse/linuxtools/btf/ui/BtfEventTableColumns.java
deleted file mode 100644
index 59a959202d..0000000000
--- a/lttng/org.eclipse.linuxtools.btf.ui/src/org/eclipse/linuxtools/btf/ui/BtfEventTableColumns.java
+++ /dev/null
@@ -1,140 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 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:
- * Matthew Khouzam - Initial API and implementation
- * Alexandre Montplaisir - Update to new Event Table API
- *******************************************************************************/
-
-package org.eclipse.linuxtools.btf.ui;
-
-import java.util.Collection;
-
-import org.eclipse.jdt.annotation.NonNull;
-import org.eclipse.linuxtools.btf.core.trace.BtfColumnNames;
-import org.eclipse.linuxtools.tmf.core.event.ITmfEvent;
-import org.eclipse.linuxtools.tmf.ui.viewers.events.columns.ITmfEventTableColumns;
-import org.eclipse.linuxtools.tmf.ui.viewers.events.columns.TmfEventTableColumn;
-import org.eclipse.linuxtools.tmf.ui.viewers.events.columns.TmfEventTableFieldColumn;
-
-import com.google.common.collect.ImmutableList;
-
-/**
- * Columns to use in the BTF event table
- *
- * @author Alexandre Montplaisir
- */
-public class BtfEventTableColumns implements ITmfEventTableColumns {
-
- // ------------------------------------------------------------------------
- // Column definition
- // ------------------------------------------------------------------------
-
- @SuppressWarnings("null")
- private static final @NonNull Collection<TmfEventTableColumn> BTF_COLUMNS = ImmutableList.of(
- TmfEventTableColumn.BaseColumns.TIMESTAMP,
- new BtfSourceColumn(),
- new BtfSourceInstanceColumn(),
- TmfEventTableColumn.BaseColumns.EVENT_TYPE,
- new BtfTargetColumn(),
- new BtfTargetInstanceColumn(),
- new BtfEventColumn(),
- new BtfNotesColumn()
- );
-
- /**
- * The "source" column, whose value comes from {@link ITmfEvent#getSource()}
- */
- private static class BtfSourceColumn extends TmfEventTableColumn {
-
- public BtfSourceColumn() {
- super(BtfColumnNames.SOURCE.toString(), null);
- }
-
- @Override
- public String getItemString(ITmfEvent event) {
- String ret = event.getSource();
- return (ret == null ? EMPTY_STRING : ret);
- }
-
- @Override
- public String getFilterFieldId() {
- return ITmfEvent.EVENT_FIELD_SOURCE;
- }
- }
-
- /**
- * The "source instance" column, whose value comes from the field of the
- * same name.
- */
- private static class BtfSourceInstanceColumn extends TmfEventTableFieldColumn {
- public BtfSourceInstanceColumn() {
- super(BtfColumnNames.SOURCE_INSTANCE.toString());
- }
- }
-
- /**
- * The "target" column, taking its value from
- * {@link ITmfEvent#getReference()}.
- */
- private static class BtfTargetColumn extends TmfEventTableColumn {
-
- public BtfTargetColumn() {
- super(BtfColumnNames.TARGET.toString());
- }
-
- @Override
- public String getItemString(ITmfEvent event) {
- String ret = event.getReference();
- return (ret == null ? EMPTY_STRING : ret);
- }
-
- @Override
- public String getFilterFieldId() {
- return ITmfEvent.EVENT_FIELD_REFERENCE;
- }
- }
-
- /**
- * The "target instance" column, whose value comes from the field of the
- * same name.
- */
- private static class BtfTargetInstanceColumn extends TmfEventTableFieldColumn {
- public BtfTargetInstanceColumn() {
- super(BtfColumnNames.TARGET_INSTANCE.toString());
- }
- }
-
- /**
- * The "event" column, whose value comes from the field of the same name.
- */
- private static class BtfEventColumn extends TmfEventTableFieldColumn {
- public BtfEventColumn() {
- super(BtfColumnNames.EVENT.toString());
- }
- }
-
- /**
- * The "notes" column, whose value comes from the field of the same name, if
- * present.
- */
- private static class BtfNotesColumn extends TmfEventTableFieldColumn {
- public BtfNotesColumn() {
- super(BtfColumnNames.NOTES.toString());
- }
- }
-
- // ------------------------------------------------------------------------
- // ITmfEventTableColumns
- // ------------------------------------------------------------------------
-
- @Override
- public Collection<? extends TmfEventTableColumn> getEventTableColumns() {
- return BTF_COLUMNS;
- }
-} \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.ctf.core.tests/.classpath b/lttng/org.eclipse.linuxtools.ctf.core.tests/.classpath
deleted file mode 100644
index e85573bd22..0000000000
--- a/lttng/org.eclipse.linuxtools.ctf.core.tests/.classpath
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
- <classpathentry kind="src" path="src"/>
- <classpathentry kind="src" path="perf"/>
- <classpathentry kind="src" path="shared"/>
- <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.7"/>
- <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
- <classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/lttng/org.eclipse.linuxtools.ctf.core.tests/.project b/lttng/org.eclipse.linuxtools.ctf.core.tests/.project
deleted file mode 100644
index 0df1aa7e2c..0000000000
--- a/lttng/org.eclipse.linuxtools.ctf.core.tests/.project
+++ /dev/null
@@ -1,34 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>org.eclipse.linuxtools.ctf.core.tests</name>
- <comment></comment>
- <projects>
- </projects>
- <buildSpec>
- <buildCommand>
- <name>org.eclipse.jdt.core.javabuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.ManifestBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.SchemaBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.api.tools.apiAnalysisBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>org.eclipse.jdt.core.javanature</nature>
- <nature>org.eclipse.pde.PluginNature</nature>
- <nature>org.eclipse.pde.api.tools.apiAnalysisNature</nature>
- </natures>
-</projectDescription>
diff --git a/lttng/org.eclipse.linuxtools.ctf.core.tests/.settings/org.eclipse.core.resources.prefs b/lttng/org.eclipse.linuxtools.ctf.core.tests/.settings/org.eclipse.core.resources.prefs
deleted file mode 100644
index 99f26c0203..0000000000
--- a/lttng/org.eclipse.linuxtools.ctf.core.tests/.settings/org.eclipse.core.resources.prefs
+++ /dev/null
@@ -1,2 +0,0 @@
-eclipse.preferences.version=1
-encoding/<project>=UTF-8
diff --git a/lttng/org.eclipse.linuxtools.ctf.core.tests/.settings/org.eclipse.core.runtime.prefs b/lttng/org.eclipse.linuxtools.ctf.core.tests/.settings/org.eclipse.core.runtime.prefs
deleted file mode 100644
index 5a0ad22d2a..0000000000
--- a/lttng/org.eclipse.linuxtools.ctf.core.tests/.settings/org.eclipse.core.runtime.prefs
+++ /dev/null
@@ -1,2 +0,0 @@
-eclipse.preferences.version=1
-line.separator=\n
diff --git a/lttng/org.eclipse.linuxtools.ctf.core.tests/.settings/org.eclipse.jdt.core.prefs b/lttng/org.eclipse.linuxtools.ctf.core.tests/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index f3fc64575b..0000000000
--- a/lttng/org.eclipse.linuxtools.ctf.core.tests/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,393 +0,0 @@
-eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.annotation.inheritNullAnnotations=enabled
-org.eclipse.jdt.core.compiler.annotation.missingNonNullByDefaultAnnotation=ignore
-org.eclipse.jdt.core.compiler.annotation.nonnull=org.eclipse.jdt.annotation.NonNull
-org.eclipse.jdt.core.compiler.annotation.nonnullbydefault=org.eclipse.jdt.annotation.NonNullByDefault
-org.eclipse.jdt.core.compiler.annotation.nullable=org.eclipse.jdt.annotation.Nullable
-org.eclipse.jdt.core.compiler.annotation.nullanalysis=enabled
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.7
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.doc.comment.support=enabled
-org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=error
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
-org.eclipse.jdt.core.compiler.problem.comparingIdentical=error
-org.eclipse.jdt.core.compiler.problem.deadCode=error
-org.eclipse.jdt.core.compiler.problem.deprecation=error
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=enabled
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled
-org.eclipse.jdt.core.compiler.problem.discouragedReference=error
-org.eclipse.jdt.core.compiler.problem.emptyStatement=error
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.problem.explicitlyClosedAutoCloseable=error
-org.eclipse.jdt.core.compiler.problem.fallthroughCase=error
-org.eclipse.jdt.core.compiler.problem.fatalOptionalError=disabled
-org.eclipse.jdt.core.compiler.problem.fieldHiding=error
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=error
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=error
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=error
-org.eclipse.jdt.core.compiler.problem.includeNullInfoFromAsserts=disabled
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=error
-org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=error
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=error
-org.eclipse.jdt.core.compiler.problem.invalidJavadoc=warning
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTags=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=protected
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=error
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=error
-org.eclipse.jdt.core.compiler.problem.missingDefaultCase=error
-org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=error
-org.eclipse.jdt.core.compiler.problem.missingEnumCaseDespiteDefault=enabled
-org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=error
-org.eclipse.jdt.core.compiler.problem.missingJavadocComments=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=protected
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagDescription=all_standard_tags
-org.eclipse.jdt.core.compiler.problem.missingJavadocTags=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsMethodTypeParameters=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=protected
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=error
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotationForInterfaceMethodImplementation=enabled
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=error
-org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=error
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=error
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=error
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=ignore
-org.eclipse.jdt.core.compiler.problem.nonnullParameterAnnotationDropped=warning
-org.eclipse.jdt.core.compiler.problem.nullAnnotationInferenceConflict=warning
-org.eclipse.jdt.core.compiler.problem.nullReference=error
-org.eclipse.jdt.core.compiler.problem.nullSpecViolation=error
-org.eclipse.jdt.core.compiler.problem.nullUncheckedConversion=warning
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=error
-org.eclipse.jdt.core.compiler.problem.parameterAssignment=error
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=error
-org.eclipse.jdt.core.compiler.problem.potentialNullReference=error
-org.eclipse.jdt.core.compiler.problem.potentiallyUnclosedCloseable=warning
-org.eclipse.jdt.core.compiler.problem.rawTypeReference=error
-org.eclipse.jdt.core.compiler.problem.redundantNullAnnotation=warning
-org.eclipse.jdt.core.compiler.problem.redundantNullCheck=error
-org.eclipse.jdt.core.compiler.problem.redundantSpecificationOfTypeArguments=error
-org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=error
-org.eclipse.jdt.core.compiler.problem.reportMethodCanBePotentiallyStatic=ignore
-org.eclipse.jdt.core.compiler.problem.reportMethodCanBeStatic=error
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=error
-org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=disabled
-org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
-org.eclipse.jdt.core.compiler.problem.syntacticNullAnalysisForFields=enabled
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
-org.eclipse.jdt.core.compiler.problem.typeParameterHiding=error
-org.eclipse.jdt.core.compiler.problem.unavoidableGenericTypeProblems=disabled
-org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=error
-org.eclipse.jdt.core.compiler.problem.unclosedCloseable=error
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
-org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=error
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=error
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=error
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=error
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=disabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=disabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=error
-org.eclipse.jdt.core.compiler.problem.unusedLabel=error
-org.eclipse.jdt.core.compiler.problem.unusedLocal=error
-org.eclipse.jdt.core.compiler.problem.unusedObjectAllocation=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=error
-org.eclipse.jdt.core.compiler.problem.unusedTypeParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedWarningToken=error
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=error
-org.eclipse.jdt.core.compiler.source=1.7
-org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_assignment=0
-org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
-org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
-org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
-org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
-org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0
-org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=80
-org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=0
-org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch=16
-org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_after_package=1
-org.eclipse.jdt.core.formatter.blank_lines_before_field=0
-org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
-org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
-org.eclipse.jdt.core.formatter.blank_lines_before_method=1
-org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
-org.eclipse.jdt.core.formatter.blank_lines_before_package=0
-org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
-org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
-org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
-org.eclipse.jdt.core.formatter.comment.format_block_comments=true
-org.eclipse.jdt.core.formatter.comment.format_header=false
-org.eclipse.jdt.core.formatter.comment.format_html=true
-org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=true
-org.eclipse.jdt.core.formatter.comment.format_line_comments=true
-org.eclipse.jdt.core.formatter.comment.format_source_code=true
-org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true
-org.eclipse.jdt.core.formatter.comment.indent_root_tags=true
-org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
-org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=insert
-org.eclipse.jdt.core.formatter.comment.line_length=80
-org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries=true
-org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries=true
-org.eclipse.jdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments=false
-org.eclipse.jdt.core.formatter.compact_else_if=true
-org.eclipse.jdt.core.formatter.continuation_indentation=2
-org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2
-org.eclipse.jdt.core.formatter.disabling_tag=@formatter\:off
-org.eclipse.jdt.core.formatter.enabling_tag=@formatter\:on
-org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
-org.eclipse.jdt.core.formatter.format_line_comment_starting_on_first_column=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
-org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_empty_lines=false
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=false
-org.eclipse.jdt.core.formatter.indentation.size=4
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_label=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_try=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources=insert
-org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_try=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
-org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.join_lines_in_comments=true
-org.eclipse.jdt.core.formatter.join_wrapped_lines=false
-org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.lineSplit=250
-org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
-org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
-org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true
-org.eclipse.jdt.core.formatter.tabulation.char=space
-org.eclipse.jdt.core.formatter.tabulation.size=4
-org.eclipse.jdt.core.formatter.use_on_off_tags=false
-org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
-org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
-org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true
-org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true
diff --git a/lttng/org.eclipse.linuxtools.ctf.core.tests/.settings/org.eclipse.jdt.ui.prefs b/lttng/org.eclipse.linuxtools.ctf.core.tests/.settings/org.eclipse.jdt.ui.prefs
deleted file mode 100644
index 4fd0c7006a..0000000000
--- a/lttng/org.eclipse.linuxtools.ctf.core.tests/.settings/org.eclipse.jdt.ui.prefs
+++ /dev/null
@@ -1,56 +0,0 @@
-eclipse.preferences.version=1
-editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
-formatter_profile=_tmf-style
-formatter_settings_version=12
-sp_cleanup.add_default_serial_version_id=true
-sp_cleanup.add_generated_serial_version_id=false
-sp_cleanup.add_missing_annotations=false
-sp_cleanup.add_missing_deprecated_annotations=true
-sp_cleanup.add_missing_methods=false
-sp_cleanup.add_missing_nls_tags=false
-sp_cleanup.add_missing_override_annotations=true
-sp_cleanup.add_missing_override_annotations_interface_methods=true
-sp_cleanup.add_serial_version_id=false
-sp_cleanup.always_use_blocks=true
-sp_cleanup.always_use_parentheses_in_expressions=false
-sp_cleanup.always_use_this_for_non_static_field_access=false
-sp_cleanup.always_use_this_for_non_static_method_access=false
-sp_cleanup.convert_to_enhanced_for_loop=false
-sp_cleanup.correct_indentation=false
-sp_cleanup.format_source_code=false
-sp_cleanup.format_source_code_changes_only=false
-sp_cleanup.make_local_variable_final=false
-sp_cleanup.make_parameters_final=false
-sp_cleanup.make_private_fields_final=true
-sp_cleanup.make_type_abstract_if_missing_method=false
-sp_cleanup.make_variable_declarations_final=false
-sp_cleanup.never_use_blocks=false
-sp_cleanup.never_use_parentheses_in_expressions=true
-sp_cleanup.on_save_use_additional_actions=true
-sp_cleanup.organize_imports=false
-sp_cleanup.qualify_static_field_accesses_with_declaring_class=false
-sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_with_declaring_class=false
-sp_cleanup.qualify_static_method_accesses_with_declaring_class=false
-sp_cleanup.remove_private_constructors=true
-sp_cleanup.remove_trailing_whitespaces=true
-sp_cleanup.remove_trailing_whitespaces_all=true
-sp_cleanup.remove_trailing_whitespaces_ignore_empty=false
-sp_cleanup.remove_unnecessary_casts=false
-sp_cleanup.remove_unnecessary_nls_tags=false
-sp_cleanup.remove_unused_imports=false
-sp_cleanup.remove_unused_local_variables=false
-sp_cleanup.remove_unused_private_fields=true
-sp_cleanup.remove_unused_private_members=false
-sp_cleanup.remove_unused_private_methods=true
-sp_cleanup.remove_unused_private_types=true
-sp_cleanup.sort_members=false
-sp_cleanup.sort_members_all=false
-sp_cleanup.use_blocks=true
-sp_cleanup.use_blocks_only_for_return_and_throw=false
-sp_cleanup.use_parentheses_in_expressions=false
-sp_cleanup.use_this_for_non_static_field_access=false
-sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=true
-sp_cleanup.use_this_for_non_static_method_access=false
-sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true
diff --git a/lttng/org.eclipse.linuxtools.ctf.core.tests/.settings/org.eclipse.pde.api.tools.prefs b/lttng/org.eclipse.linuxtools.ctf.core.tests/.settings/org.eclipse.pde.api.tools.prefs
deleted file mode 100644
index acc3abd47c..0000000000
--- a/lttng/org.eclipse.linuxtools.ctf.core.tests/.settings/org.eclipse.pde.api.tools.prefs
+++ /dev/null
@@ -1,97 +0,0 @@
-ANNOTATION_ELEMENT_TYPE_ADDED_METHOD_WITHOUT_DEFAULT_VALUE=Error
-ANNOTATION_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
-ANNOTATION_ELEMENT_TYPE_REMOVED_FIELD=Error
-ANNOTATION_ELEMENT_TYPE_REMOVED_METHOD=Error
-ANNOTATION_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
-API_COMPONENT_ELEMENT_TYPE_REMOVED_API_TYPE=Error
-API_COMPONENT_ELEMENT_TYPE_REMOVED_REEXPORTED_API_TYPE=Error
-API_COMPONENT_ELEMENT_TYPE_REMOVED_REEXPORTED_TYPE=Error
-API_COMPONENT_ELEMENT_TYPE_REMOVED_TYPE=Error
-API_USE_SCAN_FIELD_SEVERITY=Error
-API_USE_SCAN_METHOD_SEVERITY=Error
-API_USE_SCAN_TYPE_SEVERITY=Error
-CLASS_ELEMENT_TYPE_ADDED_METHOD=Error
-CLASS_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
-CLASS_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
-CLASS_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error
-CLASS_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
-CLASS_ELEMENT_TYPE_CHANGED_NON_ABSTRACT_TO_ABSTRACT=Error
-CLASS_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error
-CLASS_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
-CLASS_ELEMENT_TYPE_REMOVED_CONSTRUCTOR=Error
-CLASS_ELEMENT_TYPE_REMOVED_FIELD=Error
-CLASS_ELEMENT_TYPE_REMOVED_METHOD=Error
-CLASS_ELEMENT_TYPE_REMOVED_SUPERCLASS=Error
-CLASS_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
-CLASS_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
-CONSTRUCTOR_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
-CONSTRUCTOR_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
-CONSTRUCTOR_ELEMENT_TYPE_CHANGED_VARARGS_TO_ARRAY=Error
-CONSTRUCTOR_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
-ENUM_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error
-ENUM_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
-ENUM_ELEMENT_TYPE_REMOVED_ENUM_CONSTANT=Error
-ENUM_ELEMENT_TYPE_REMOVED_FIELD=Error
-ENUM_ELEMENT_TYPE_REMOVED_METHOD=Error
-ENUM_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
-FIELD_ELEMENT_TYPE_ADDED_VALUE=Error
-FIELD_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
-FIELD_ELEMENT_TYPE_CHANGED_FINAL_TO_NON_FINAL_STATIC_CONSTANT=Error
-FIELD_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error
-FIELD_ELEMENT_TYPE_CHANGED_NON_STATIC_TO_STATIC=Error
-FIELD_ELEMENT_TYPE_CHANGED_STATIC_TO_NON_STATIC=Error
-FIELD_ELEMENT_TYPE_CHANGED_TYPE=Error
-FIELD_ELEMENT_TYPE_CHANGED_VALUE=Error
-FIELD_ELEMENT_TYPE_REMOVED_TYPE_ARGUMENT=Error
-FIELD_ELEMENT_TYPE_REMOVED_VALUE=Error
-ILLEGAL_EXTEND=Warning
-ILLEGAL_IMPLEMENT=Warning
-ILLEGAL_INSTANTIATE=Warning
-ILLEGAL_OVERRIDE=Warning
-ILLEGAL_REFERENCE=Warning
-INTERFACE_ELEMENT_TYPE_ADDED_FIELD=Error
-INTERFACE_ELEMENT_TYPE_ADDED_METHOD=Error
-INTERFACE_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
-INTERFACE_ELEMENT_TYPE_ADDED_SUPER_INTERFACE_WITH_METHODS=Error
-INTERFACE_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
-INTERFACE_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error
-INTERFACE_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
-INTERFACE_ELEMENT_TYPE_REMOVED_FIELD=Error
-INTERFACE_ELEMENT_TYPE_REMOVED_METHOD=Error
-INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
-INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
-INVALID_JAVADOC_TAG=Warning
-INVALID_REFERENCE_IN_SYSTEM_LIBRARIES=Warning
-LEAK_EXTEND=Warning
-LEAK_FIELD_DECL=Warning
-LEAK_IMPLEMENT=Warning
-LEAK_METHOD_PARAM=Warning
-LEAK_METHOD_RETURN_TYPE=Warning
-METHOD_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
-METHOD_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
-METHOD_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
-METHOD_ELEMENT_TYPE_CHANGED_NON_ABSTRACT_TO_ABSTRACT=Error
-METHOD_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error
-METHOD_ELEMENT_TYPE_CHANGED_NON_STATIC_TO_STATIC=Error
-METHOD_ELEMENT_TYPE_CHANGED_STATIC_TO_NON_STATIC=Error
-METHOD_ELEMENT_TYPE_CHANGED_VARARGS_TO_ARRAY=Error
-METHOD_ELEMENT_TYPE_REMOVED_ANNOTATION_DEFAULT_VALUE=Error
-METHOD_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
-MISSING_EE_DESCRIPTIONS=Ignore
-TYPE_PARAMETER_ELEMENT_TYPE_ADDED_CLASS_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_ADDED_INTERFACE_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_CHANGED_CLASS_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_CHANGED_INTERFACE_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_CLASS_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error
-UNUSED_PROBLEM_FILTERS=Warning
-automatically_removed_unused_problem_filters=false
-eclipse.preferences.version=1
-incompatible_api_component_version=Error
-incompatible_api_component_version_include_major_without_breaking_change=Disabled
-incompatible_api_component_version_include_minor_without_api_change=Disabled
-invalid_since_tag_version=Error
-malformed_since_tag=Error
-missing_since_tag=Error
-report_api_breakage_when_major_version_incremented=Disabled
-report_resolution_errors_api_component=Warning
diff --git a/lttng/org.eclipse.linuxtools.ctf.core.tests/.settings/org.eclipse.pde.prefs b/lttng/org.eclipse.linuxtools.ctf.core.tests/.settings/org.eclipse.pde.prefs
deleted file mode 100644
index 62cfa90dee..0000000000
--- a/lttng/org.eclipse.linuxtools.ctf.core.tests/.settings/org.eclipse.pde.prefs
+++ /dev/null
@@ -1,32 +0,0 @@
-compilers.f.unresolved-features=1
-compilers.f.unresolved-plugins=1
-compilers.incompatible-environment=1
-compilers.p.build=1
-compilers.p.build.bin.includes=1
-compilers.p.build.encodings=2
-compilers.p.build.java.compiler=2
-compilers.p.build.java.compliance=1
-compilers.p.build.missing.output=2
-compilers.p.build.output.library=1
-compilers.p.build.source.library=1
-compilers.p.build.src.includes=1
-compilers.p.deprecated=1
-compilers.p.discouraged-class=1
-compilers.p.internal=1
-compilers.p.missing-packages=2
-compilers.p.missing-version-export-package=2
-compilers.p.missing-version-import-package=2
-compilers.p.missing-version-require-bundle=2
-compilers.p.no-required-att=0
-compilers.p.not-externalized-att=2
-compilers.p.unknown-attribute=1
-compilers.p.unknown-class=1
-compilers.p.unknown-element=1
-compilers.p.unknown-identifier=1
-compilers.p.unknown-resource=1
-compilers.p.unresolved-ex-points=0
-compilers.p.unresolved-import=0
-compilers.s.create-docs=false
-compilers.s.doc-folder=doc
-compilers.s.open-tags=1
-eclipse.preferences.version=1
diff --git a/lttng/org.eclipse.linuxtools.ctf.core.tests/META-INF/MANIFEST.MF b/lttng/org.eclipse.linuxtools.ctf.core.tests/META-INF/MANIFEST.MF
deleted file mode 100644
index 0e91a14b1d..0000000000
--- a/lttng/org.eclipse.linuxtools.ctf.core.tests/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,27 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %Bundle-Name
-Bundle-Vendor: %Bundle-Vendor
-Bundle-Version: 3.1.0.qualifier
-Bundle-Localization: plugin
-Bundle-SymbolicName: org.eclipse.linuxtools.ctf.core.tests;singleton:=true
-Bundle-Activator: org.eclipse.linuxtools.ctf.core.tests.CtfCoreTestPlugin
-Bundle-ActivationPolicy: lazy
-Bundle-RequiredExecutionEnvironment: JavaSE-1.7
-Require-Bundle: org.junit;bundle-version="4.0.0",
- org.eclipse.core.runtime;bundle-version="3.8.0",
- org.eclipse.linuxtools.ctf.core;bundle-version="3.1.0"
-Export-Package: org.eclipse.linuxtools.ctf.core.tests;x-friends:="org.eclipse.linuxtools.lttng.alltests",
- org.eclipse.linuxtools.ctf.core.tests.ctftestsuite;x-internal:=true,
- org.eclipse.linuxtools.ctf.core.tests.event;x-internal:=true,
- org.eclipse.linuxtools.ctf.core.tests.io;x-internal:=true,
- org.eclipse.linuxtools.ctf.core.tests.perf,
- org.eclipse.linuxtools.ctf.core.tests.perf.trace;x-internal:=true,
- org.eclipse.linuxtools.ctf.core.tests.scope,
- org.eclipse.linuxtools.ctf.core.tests.shared,
- org.eclipse.linuxtools.ctf.core.tests.synthetictraces;x-internal:=true,
- org.eclipse.linuxtools.ctf.core.tests.trace;x-internal:=true,
- org.eclipse.linuxtools.ctf.core.tests.types;x-internal:=true
-Import-Package: com.google.common.collect,
- org.antlr.runtime;version="3.2.0",
- org.eclipse.test.performance
diff --git a/lttng/org.eclipse.linuxtools.ctf.core.tests/about.html b/lttng/org.eclipse.linuxtools.ctf.core.tests/about.html
deleted file mode 100644
index c258ef55d8..0000000000
--- a/lttng/org.eclipse.linuxtools.ctf.core.tests/about.html
+++ /dev/null
@@ -1,28 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
-<title>About</title>
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
-
-<p>June 5, 2006</p>
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;). Unless otherwise
-indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is available
-at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is
-being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content. Check the Redistributor's license that was
-provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at <a href="http://www.eclipse.org/">http://www.eclipse.org</a>.</p>
-
-</body>
-</html> \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.ctf.core.tests/build.properties b/lttng/org.eclipse.linuxtools.ctf.core.tests/build.properties
deleted file mode 100644
index 148733444d..0000000000
--- a/lttng/org.eclipse.linuxtools.ctf.core.tests/build.properties
+++ /dev/null
@@ -1,23 +0,0 @@
-###############################################################################
-# Copyright (c) 2013 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:
-# Ericsson - Initial API and implementation
-###############################################################################
-
-source.. = shared,\
- src/,\
- perf/
-output.. = bin/
-bin.includes = META-INF/,\
- .,\
- plugin.properties,\
- traces/get-traces.xml
-src.includes = about.html
-additional.bundles = org.eclipse.jdt.annotation
-jars.extra.classpath = platform:/plugin/org.eclipse.jdt.annotation
diff --git a/lttng/org.eclipse.linuxtools.ctf.core.tests/perf/org/eclipse/linuxtools/ctf/core/tests/perf/AllPerfTests.java b/lttng/org.eclipse.linuxtools.ctf.core.tests/perf/org/eclipse/linuxtools/ctf/core/tests/perf/AllPerfTests.java
deleted file mode 100644
index feea3ab0b8..0000000000
--- a/lttng/org.eclipse.linuxtools.ctf.core.tests/perf/org/eclipse/linuxtools/ctf/core/tests/perf/AllPerfTests.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 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:
- * Alexandre Montplaisir - Initial implementation and API
- *******************************************************************************/
-
-package org.eclipse.linuxtools.ctf.core.tests.perf;
-
-import org.junit.runner.RunWith;
-import org.junit.runners.Suite;
-
-/**
- * Run all performance test suites.
- *
- * @author Alexandre Montplaisir
- */
-@RunWith(Suite.class)
-@Suite.SuiteClasses({
- org.eclipse.linuxtools.ctf.core.tests.perf.trace.AllPerfTests.class
-})
-public class AllPerfTests {
-
-}
diff --git a/lttng/org.eclipse.linuxtools.ctf.core.tests/perf/org/eclipse/linuxtools/ctf/core/tests/perf/trace/AllPerfTests.java b/lttng/org.eclipse.linuxtools.ctf.core.tests/perf/org/eclipse/linuxtools/ctf/core/tests/perf/trace/AllPerfTests.java
deleted file mode 100644
index fe6ba6d44e..0000000000
--- a/lttng/org.eclipse.linuxtools.ctf.core.tests/perf/org/eclipse/linuxtools/ctf/core/tests/perf/trace/AllPerfTests.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 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:
- * Alexandre Montplaisir - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.ctf.core.tests.perf.trace;
-
-import org.junit.runner.RunWith;
-import org.junit.runners.Suite;
-
-/**
- * Test suite
- */
-@RunWith(Suite.class)
-@Suite.SuiteClasses({
- TraceReadBenchmark.class,
- TraceSeekBenchmark.class
-})
-public class AllPerfTests {
-}
diff --git a/lttng/org.eclipse.linuxtools.ctf.core.tests/perf/org/eclipse/linuxtools/ctf/core/tests/perf/trace/TraceReadBenchmark.java b/lttng/org.eclipse.linuxtools.ctf.core.tests/perf/org/eclipse/linuxtools/ctf/core/tests/perf/trace/TraceReadBenchmark.java
deleted file mode 100644
index fb581f4cfd..0000000000
--- a/lttng/org.eclipse.linuxtools.ctf.core.tests/perf/org/eclipse/linuxtools/ctf/core/tests/perf/trace/TraceReadBenchmark.java
+++ /dev/null
@@ -1,88 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2012, 2014 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:
- * Matthew Khouzam - Initial API and implementation
- * Alexandre Montplaisir - Convert to a org.eclipse.test.performance test
- *******************************************************************************/
-
-package org.eclipse.linuxtools.ctf.core.tests.perf.trace;
-
-import static org.junit.Assert.fail;
-import static org.junit.Assume.assumeTrue;
-
-import org.eclipse.linuxtools.ctf.core.event.EventDefinition;
-import org.eclipse.linuxtools.ctf.core.tests.shared.CtfTestTrace;
-import org.eclipse.linuxtools.ctf.core.trace.CTFReaderException;
-import org.eclipse.linuxtools.ctf.core.trace.CTFTrace;
-import org.eclipse.linuxtools.ctf.core.trace.CTFTraceReader;
-import org.eclipse.test.performance.Dimension;
-import org.eclipse.test.performance.Performance;
-import org.eclipse.test.performance.PerformanceMeter;
-import org.junit.Test;
-
-/**
- * Benchmark of the CTF parser for reading a trace
- *
- * @author Matthew Khouzam
- * @author Alexandre Montplaisir
- */
-public class TraceReadBenchmark {
-
- private static final String TEST_SUITE_NAME = "CTF Read Benchmark";
- private static final String TEST_ID = "org.eclipse.linuxtools#" + TEST_SUITE_NAME;
- private static final int LOOP_COUNT = 100;
-
- /**
- * Benchmark reading the trace "kernel"
- */
- @Test
- public void testKernelTrace() {
- readTrace(CtfTestTrace.KERNEL, "trace-kernel", true);
- }
-
- /**
- * Benchmark reading the bigger trace "kernel_vm"
- */
- @Test
- public void testKernelVmTrace() {
- readTrace(CtfTestTrace.KERNEL_VM, "trace-kernel-vm", false);
- }
-
- private static void readTrace(CtfTestTrace testTrace, String testName, boolean inGlobalSummary) {
- assumeTrue(testTrace.exists());
-
- Performance perf = Performance.getDefault();
- PerformanceMeter pm = perf.createPerformanceMeter(TEST_ID + '#' + testName);
- perf.tagAsSummary(pm, TEST_SUITE_NAME + ':' + testName, Dimension.CPU_TIME);
-
- if (inGlobalSummary) {
- perf.tagAsGlobalSummary(pm, TEST_SUITE_NAME + ':' + testName, Dimension.CPU_TIME);
- }
-
- for (int loop = 0; loop < LOOP_COUNT; loop++) {
- pm.start();
- try (CTFTrace trace = testTrace.getTrace();
- CTFTraceReader traceReader = new CTFTraceReader(trace);) {
-
- while (traceReader.hasMoreEvents()) {
- EventDefinition ed = traceReader.getCurrentEventDef();
- /* Do something with the event */
- ed.getCPU();
- traceReader.advance();
- }
-
- } catch (CTFReaderException e) {
- /* Should not happen if assumeTrue() passed above */
- fail("Test failed at iteration " + loop + ':' + e.getMessage());
- }
- pm.stop();
- }
- pm.commit();
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.ctf.core.tests/perf/org/eclipse/linuxtools/ctf/core/tests/perf/trace/TraceSeekBenchmark.java b/lttng/org.eclipse.linuxtools.ctf.core.tests/perf/org/eclipse/linuxtools/ctf/core/tests/perf/trace/TraceSeekBenchmark.java
deleted file mode 100644
index be8fc8254b..0000000000
--- a/lttng/org.eclipse.linuxtools.ctf.core.tests/perf/org/eclipse/linuxtools/ctf/core/tests/perf/trace/TraceSeekBenchmark.java
+++ /dev/null
@@ -1,116 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2012, 2014 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:
- * Matthew Khouzam - Initial API and implementation
- * Alexandre Montplaisir - Convert to a org.eclipse.test.performance test
- *******************************************************************************/
-
-package org.eclipse.linuxtools.ctf.core.tests.perf.trace;
-
-import static org.junit.Assert.fail;
-import static org.junit.Assume.assumeTrue;
-
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Random;
-
-import org.eclipse.linuxtools.ctf.core.event.EventDefinition;
-import org.eclipse.linuxtools.ctf.core.tests.shared.CtfTestTrace;
-import org.eclipse.linuxtools.ctf.core.trace.CTFReaderException;
-import org.eclipse.linuxtools.ctf.core.trace.CTFTrace;
-import org.eclipse.linuxtools.ctf.core.trace.CTFTraceReader;
-import org.eclipse.test.performance.Dimension;
-import org.eclipse.test.performance.Performance;
-import org.eclipse.test.performance.PerformanceMeter;
-import org.junit.Test;
-
-/**
- * Tests for performance regressions of the ctf reader. It only tests the ctf
- * reader, not tmf.
- * <br>
- * This test runs in 3 passes.
- * <ul>
- * <li>first it opens a trace</li>
- * <li>then it reads the trace completely</li>
- * <li>then it randomly (seeded) seeks NB_SEEKS locations in the trace and reads one
- * event at each position.</li>
- * </ul>
- *
- * @author Matthew Khouzam
- * @author Alexandre Montplaisir
- */
-public class TraceSeekBenchmark {
-
- private static final Random RND = new Random(1000);
-
- private static final int LOOP_COUNT = 25;
- private static final int NB_SEEKS = 500;
- private static final String TEST_SUITE_NAME = "CTF Read & Seek Benchmark (" + NB_SEEKS + " seeks)";
- private static final String TEST_ID = "org.eclipse.linuxtools#" + TEST_SUITE_NAME;
-
- /**
- * Run the benchmark scenario for the trace "kernel"
- */
- @Test
- public void testKernelTrace() {
- readAndSeekTrace(CtfTestTrace.KERNEL, "trace-kernel", true);
- }
-
- private static void readAndSeekTrace(CtfTestTrace testTrace, String testName, boolean inGlobalSummary) {
- assumeTrue(testTrace.exists());
-
- Performance perf = Performance.getDefault();
- PerformanceMeter pm = perf.createPerformanceMeter(TEST_ID + '#' + testName);
- perf.tagAsSummary(pm, TEST_SUITE_NAME + ':' + testName, Dimension.CPU_TIME);
-
- if (inGlobalSummary) {
- perf.tagAsGlobalSummary(pm, TEST_SUITE_NAME + ':' + testName, Dimension.CPU_TIME);
- }
-
- for (int loop = 0; loop < LOOP_COUNT; loop++) {
- try (CTFTrace trace = testTrace.getTrace();
- CTFTraceReader traceReader = new CTFTraceReader(trace);) {
-
- /* Read the whole trace to find out the start and end times */
- EventDefinition firstEvent = traceReader.getCurrentEventDef();
- final long startTime = firstEvent.getTimestamp();
- long endTime = startTime;
- while (traceReader.hasMoreEvents()) {
- EventDefinition ev = traceReader.getCurrentEventDef();
- endTime = ev.getTimestamp();
- traceReader.advance();
- }
-
- /* Generate the timestamps we will seek to */
- List<Long> seekTimestamps = new LinkedList<>();
- final long range = endTime - startTime;
- for (int i = 0; i < NB_SEEKS; i++) {
- long delta = (RND.nextLong() % range);
- if (delta < 0) {
- delta += range;
- }
- seekTimestamps.add(startTime + delta);
- }
-
- /* Benchmark seeking to the generated timestamps */
- pm.start();
- for (Long ts : seekTimestamps) {
- traceReader.seek(ts);
- traceReader.advance();
- }
- pm.stop();
-
- } catch (CTFReaderException e) {
- /* Should not happen if assumeTrue() passed above */
- fail("Test failed at iteration " + loop + ':' + e.getMessage());
- }
- }
- pm.commit();
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.ctf.core.tests/plugin.properties b/lttng/org.eclipse.linuxtools.ctf.core.tests/plugin.properties
deleted file mode 100644
index e09398253e..0000000000
--- a/lttng/org.eclipse.linuxtools.ctf.core.tests/plugin.properties
+++ /dev/null
@@ -1,15 +0,0 @@
-###############################################################################
-# Copyright (c) 2013 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:
-# Ericsson - Initial API and implementation
-###############################################################################
-
-#Properties file for org.eclipse.linuxtools.ctf.core.tests
-Bundle-Vendor = Eclipse Linux Tools
-Bundle-Name = Linux Tools CTF Core Tests Plug-in \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.ctf.core.tests/pom.xml b/lttng/org.eclipse.linuxtools.ctf.core.tests/pom.xml
deleted file mode 100644
index 524a1cfdc9..0000000000
--- a/lttng/org.eclipse.linuxtools.ctf.core.tests/pom.xml
+++ /dev/null
@@ -1,111 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Copyright (C) 2011, Red Hat, Inc. and others
-
- 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
--->
-
-<project xmlns="http://maven.apache.org/POM/4.0.0"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
- <modelVersion>4.0.0</modelVersion>
-
- <parent>
- <artifactId>linuxtools-lttng-parent</artifactId>
- <groupId>org.eclipse.linuxtools.lttng</groupId>
- <version>3.2.0-SNAPSHOT</version>
- </parent>
-
- <name>Linux Tools CTF Core Tests Plug-in</name>
- <groupId>org.eclipse.linuxtools.ctf</groupId>
- <artifactId>org.eclipse.linuxtools.ctf.core.tests</artifactId>
- <version>3.1.0-SNAPSHOT</version>
- <packaging>eclipse-test-plugin</packaging>
-
- <!-- Do not download the test traces if "maven.test.skip" is set -->
- <profiles>
- <profile>
- <id>download-traces</id>
- <activation>
- <property>
- <name>!maven.test.skip</name>
- </property>
- </activation>
-
- <build>
- <plugins>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-antrun-plugin</artifactId>
- <executions>
- <execution>
- <id>prepare</id>
- <phase>pre-integration-test</phase>
- <configuration>
- <target>
- <ant antfile="get-traces.xml" dir="traces" />
- </target>
- </configuration>
- <goals>
- <goal>run</goal>
- </goals>
- </execution>
- </executions>
- </plugin>
- </plugins>
- </build>
- </profile>
- </profiles>
-
- <build>
- <plugins>
- <plugin>
- <groupId>org.eclipse.tycho</groupId>
- <artifactId>tycho-surefire-plugin</artifactId>
- <version>${tycho-version}</version>
- <configuration>
- <includes>
- <include>**/AllCtfCoreTests.*</include>
- </includes>
- <useUIHarness>false</useUIHarness>
- <useUIThread>false</useUIThread>
- <product>org.eclipse.platform.ide</product>
- </configuration>
- </plugin>
-
- <!-- We don't use the ant file to clean because of http://jira.codehaus.org/browse/MANTRUN-78 -->
- <plugin>
- <artifactId>maven-clean-plugin</artifactId>
- <version>2.5</version>
- <executions>
- <execution>
- <id>clean-traces</id>
- <phase>clean</phase>
- <configuration>
- <filesets>
- <fileset><directory>traces/ctf-testsuite</directory></fileset>
- <fileset><directory>traces/cyg-profile</directory></fileset>
- <fileset><directory>traces/django-benchmark</directory></fileset>
- <fileset><directory>traces/funky_trace</directory></fileset>
- <fileset><directory>traces/hello-lost</directory></fileset>
- <fileset><directory>traces/kernel</directory></fileset>
- <fileset><directory>traces/kernel_vm</directory></fileset>
- <fileset><directory>traces/synctraces</directory></fileset>
- <fileset><directory>traces/synthetic-trace</directory></fileset>
- <fileset><directory>traces/trace2</directory></fileset>
- <fileset><directory>traces/exp</directory></fileset>
- </filesets>
- </configuration>
- <goals>
- <goal>clean</goal>
- </goals>
- </execution>
- </executions>
- </plugin>
- </plugins>
- </build>
-
-</project>
diff --git a/lttng/org.eclipse.linuxtools.ctf.core.tests/shared/org/eclipse/linuxtools/ctf/core/tests/shared/CtfTestTrace.java b/lttng/org.eclipse.linuxtools.ctf.core.tests/shared/org/eclipse/linuxtools/ctf/core/tests/shared/CtfTestTrace.java
deleted file mode 100644
index 2640fa7937..0000000000
--- a/lttng/org.eclipse.linuxtools.ctf.core.tests/shared/org/eclipse/linuxtools/ctf/core/tests/shared/CtfTestTrace.java
+++ /dev/null
@@ -1,251 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 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:
- * Alexandre Montplaisir - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.ctf.core.tests.shared;
-
-import java.io.File;
-
-import org.eclipse.linuxtools.ctf.core.tests.synthetictraces.LttngKernelTraceGenerator;
-import org.eclipse.linuxtools.ctf.core.trace.CTFReaderException;
-import org.eclipse.linuxtools.ctf.core.trace.CTFTrace;
-
-/**
- * Here is the list of the available test traces for the CTF parser.
- *
- * Make sure you run the traces/get-traces.xml Ant script to download them
- * first!
- *
- * @author Alexandre Montplaisir
- */
-public enum CtfTestTrace {
- /**
- * Example kernel trace
- *
- * <pre>
- * Trace Size: 13 MB
- * Tracer: lttng-modules 2.0.0
- * Event count: 695 319
- * Kernel version: 3.0.0-16-generic-pae
- * Trace length: 10s
- * </pre>
- */
- KERNEL("../org.eclipse.linuxtools.ctf.core.tests/traces/kernel"),
-
- /**
- * Another kernel trace
- *
- * <pre>
- * Trace Size: 14 MB
- * Tracer: lttng-modules 2.0.0
- * Event count: 595 641
- * Kernel version: 3.2.0-18-generic
- * Trace length: 11s
- * </pre>
- */
- TRACE2("../org.eclipse.linuxtools.ctf.core.tests/traces/trace2"),
-
- /**
- * Kernel trace with event contexts: pid, ppid, tid, procname,
- * perf_page_fault, perf_major_faults, perf_minor_faults
- *
- * <pre>
- * Trace Size: 56 MB
- * Tracer: lttng-modules 2.1.0
- * Event count: 714 484
- * Kernel version: 3.8.1
- * Trace length: 29s
- * </pre>
- */
- KERNEL_VM("../org.eclipse.linuxtools.ctf.core.tests/traces/kernel_vm"),
-
- /**
- * Kernel trace with all events enabled. Contains 'inet_sock_local_*' events
- * provided by Francis's Giraldeau lttng-modules addons branch to trace TCP
- * events. Can be used along with {@link CtfTestTrace#SYNC_DEST} for trace
- * synchronization.
- *
- * <pre>
- * Trace Size: 2.4 MB
- * Tracer: lttng-modules 2.1.0
- * Event count: 110 771
- * Kernel version: 3.6.11-1-ARCH
- * Trace length: 22s
- * </pre>
- */
- SYNC_SRC("../org.eclipse.linuxtools.ctf.core.tests/traces/synctraces/scp_src"),
-
- /**
- * Kernel trace with all events enabled. Contains 'inet_sock_local_*' events
- * provided by Francis's Giraldeau lttng-modules addons branch to trace TCP
- * events. Can be used along with {@link CtfTestTrace#SYNC_SRC} for trace
- * synchronization.
- *
- * <pre>
- * Trace Size: 1.9 MB
- * Tracer: lttng-modules 2.1.0
- * Event count: 85 729
- * Kernel version: 3.6.11-1-ARCH
- * Trace length: 17s
- * </pre>
- */
- SYNC_DEST("../org.eclipse.linuxtools.ctf.core.tests/traces/synctraces/scp_dest"),
-
- /**
- * LTTng Kernel trace. Contains 'inet_sock_local_*' events provided by
- * Francis's Giraldeau lttng-modules addons branch to trace TCP events. Can
- * be used along with {@link CtfTestTrace#DJANGO_DB} and
- * {@link CtfTestTrace#DJANGO_HTTPD} for trace synchronization.
- *
- * <pre>
- * Trace Size: 33 MB
- * Tracer: lttng-modules 2.4.0
- * Event count: 754 787
- * Kernel version: 3.13.0-24-generic
- * Trace length: 15s
- * </pre>
- */
- DJANGO_CLIENT("../org.eclipse.linuxtools.ctf.core.tests/traces/django-benchmark/django-client"),
-
- /**
- * LTTng Kernel trace. Contains 'inet_sock_local_*' events provided by
- * Francis's Giraldeau lttng-modules addons branch to trace TCP events. Can
- * be used along with {@link CtfTestTrace#DJANGO_CLIENT} and
- * {@link CtfTestTrace#DJANGO_HTTPD} for trace synchronization.
- *
- * <pre>
- * Trace Size: 28 MB
- * Tracer: lttng-modules 2.4.0
- * Event count: 692 098
- * Kernel version: 3.13.0-24-generic
- * Trace length: 14s
- * </pre>
- */
- DJANGO_DB("../org.eclipse.linuxtools.ctf.core.tests/traces/django-benchmark/django-db"),
-
- /**
- * LTTng Kernel trace. Contains 'inet_sock_local_*' events provided by
- * Francis's Giraldeau lttng-modules addons branch to trace TCP events. Can
- * be used along with {@link CtfTestTrace#DJANGO_DB} and
- * {@link CtfTestTrace#DJANGO_CLIENT} for trace synchronization.
- *
- * <pre>
- * Trace Size: 31 MB
- * Tracer: lttng-modules 2.4.0
- * Event count: 779 096
- * Kernel version:3.13.0-24-generic
- * Trace length: 13s
- * </pre>
- */
- DJANGO_HTTPD("../org.eclipse.linuxtools.ctf.core.tests/traces/django-benchmark/django-httpd"),
-
- /**
- * UST trace with lots of lost events
- *
- * <pre>
- * Trace Size: 3.4 MB
- * Tracer: lttng-ust 2.3
- * Event count: 1 000 000, with 967 700 lost events
- * Trace length: 279ms
- * </pre>
- */
- HELLO_LOST("../org.eclipse.linuxtools.ctf.core.tests/traces/hello-lost"),
-
- /**
- * UST trace with lttng-ust-cyg-profile events (aka -finstrument-functions)
- *
- * <pre>
- * Trace Size: 236 KB
- * Tracer: lttng-ust 2.3
- * Event count: 4 977
- * Trace length: 10s
- * </pre>
- */
- CYG_PROFILE("../org.eclipse.linuxtools.ctf.core.tests/traces/cyg-profile/glxgears-cyg-profile"),
-
- /**
- * UST trace with lttng-ust-cyg-profile-fast events (no address in
- * func_exit)
- *
- * <pre>
- * Trace Size: 184 KB
- * Tracer: lttng-ust 2.3
- * Event count: 5 161
- * Trace length: 11s
- * </pre>
- */
- CYG_PROFILE_FAST("../org.eclipse.linuxtools.ctf.core.tests/traces/cyg-profile/glxgears-cyg-profile-fast"),
-
- /** Autogenerated Syntetic trace */
- SYNTHETIC_TRACE(LttngKernelTraceGenerator.getPath()),
-
- /** Trace with non-standard field sizes */
- FUNKY_TRACE("../org.eclipse.linuxtools.ctf.core.tests/traces/funky_trace"),
-
- /** Set of many traces, do not call getTrace */
- TRACE_EXPERIMENT("../org.eclipse.linuxtools.ctf.core.tests/traces/exp");
-
- private final String fPath;
- private CTFTrace fTrace = null;
- private CTFTrace fTraceFromFile = null;
-
- private CtfTestTrace(String path) {
- fPath = path;
- }
-
- /** @return The path to the test trace */
- public String getPath() {
- return fPath;
- }
-
- /**
- * Get a CTFTrace instance of a test trace. Make sure
- * {@link #exists()} before calling this!
- *
- * @return The CTFTrace object
- * @throws CTFReaderException
- * If the trace cannot be found.
- */
- public CTFTrace getTrace() throws CTFReaderException {
- if (fTrace == null) {
- fTrace = new CTFTrace(fPath);
- }
- return fTrace;
- }
-
- /**
- * Get a CTFTrace instance created from a File. Make sure
- * {@link #exists()} before calling this!
- *
- * @return The CTFTrace object
- * @throws CTFReaderException
- * If the trace cannot be found.
- */
- public CTFTrace getTraceFromFile() throws CTFReaderException {
- if (fTraceFromFile == null) {
- fTraceFromFile = new CTFTrace(new File(fPath));
- }
- return fTraceFromFile;
- }
-
- /**
- * Check if this test trace actually exists on disk.
- *
- * @return If the trace exists
- */
- public boolean exists() {
- try {
- getTrace();
- } catch (CTFReaderException e) {
- return false;
- }
- return true;
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.ctf.core.tests/src/org/eclipse/linuxtools/ctf/core/tests/AllCtfCoreTests.java b/lttng/org.eclipse.linuxtools.ctf.core.tests/src/org/eclipse/linuxtools/ctf/core/tests/AllCtfCoreTests.java
deleted file mode 100644
index c096537d72..0000000000
--- a/lttng/org.eclipse.linuxtools.ctf.core.tests/src/org/eclipse/linuxtools/ctf/core/tests/AllCtfCoreTests.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 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:
- * Matthew Khouzam - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.ctf.core.tests;
-
-import org.junit.runner.RunWith;
-import org.junit.runners.Suite;
-
-/**
- * The class <code>TestAll</code> builds a suite that can be used to run all of
- * the tests within its package as well as within any subpackages of its
- * package.
- *
- * @author ematkho
- * @version 1.0
- */
-@RunWith(Suite.class)
-@Suite.SuiteClasses({
- CtfCorePluginTest.class,
- org.eclipse.linuxtools.ctf.core.tests.ctftestsuite.TestAll.class,
- org.eclipse.linuxtools.ctf.core.tests.event.TestAll.class,
- org.eclipse.linuxtools.ctf.core.tests.io.TestAll.class,
- org.eclipse.linuxtools.ctf.core.tests.scope.TestAll.class,
- org.eclipse.linuxtools.ctf.core.tests.trace.TestAll.class,
- org.eclipse.linuxtools.ctf.core.tests.types.TestAll.class
-})
-public class AllCtfCoreTests {
-}
diff --git a/lttng/org.eclipse.linuxtools.ctf.core.tests/src/org/eclipse/linuxtools/ctf/core/tests/CtfCorePluginTest.java b/lttng/org.eclipse.linuxtools.ctf.core.tests/src/org/eclipse/linuxtools/ctf/core/tests/CtfCorePluginTest.java
deleted file mode 100644
index ba6841d551..0000000000
--- a/lttng/org.eclipse.linuxtools.ctf.core.tests/src/org/eclipse/linuxtools/ctf/core/tests/CtfCorePluginTest.java
+++ /dev/null
@@ -1,62 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011, 2013 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.ctf.core.tests;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.fail;
-
-import org.eclipse.linuxtools.internal.ctf.core.Activator;
-import org.junit.Test;
-
-/**
- * <b><u>CtfCorePluginTest</u></b>
- * <p>
- * Test the CTF core plug-in activator
- */
-@SuppressWarnings("javadoc")
-public class CtfCorePluginTest {
-
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
-
- // Plug-in instantiation
- private final static Activator fPlugin = Activator.getDefault();
-
-
- // ------------------------------------------------------------------------
- // Test cases
- // ------------------------------------------------------------------------
-
- @Test
- public void testCtfCorePluginId() {
- assertEquals(
- "Plugin ID", "org.eclipse.linuxtools.ctf", Activator.PLUGIN_ID);
- }
-
- @Test
- public void testGetDefault() {
- Activator plugin = Activator.getDefault();
- assertEquals("getDefault()", plugin, fPlugin);
- }
-
- @Test
- public void testLog() {
- try {
- Activator.log("Some message");
- } catch (Exception e) {
- fail();
- }
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.ctf.core.tests/src/org/eclipse/linuxtools/ctf/core/tests/CtfCoreTestPlugin.java b/lttng/org.eclipse.linuxtools.ctf.core.tests/src/org/eclipse/linuxtools/ctf/core/tests/CtfCoreTestPlugin.java
deleted file mode 100644
index 1c10204f08..0000000000
--- a/lttng/org.eclipse.linuxtools.ctf.core.tests/src/org/eclipse/linuxtools/ctf/core/tests/CtfCoreTestPlugin.java
+++ /dev/null
@@ -1,109 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 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:
- * Alexandre Montplaisir - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.ctf.core.tests;
-
-import java.io.File;
-import java.net.URISyntaxException;
-
-import org.eclipse.core.runtime.Plugin;
-import org.eclipse.core.runtime.URIUtil;
-import org.eclipse.linuxtools.internal.ctf.core.Activator;
-import org.osgi.framework.BundleContext;
-
-/**
- * The activator class controls the plug-in life cycle
- */
-public class CtfCoreTestPlugin extends Plugin {
-
- private static final String TEMP_DIR_NAME = ".temp"; //$NON-NLS-1$
-
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
-
- /** The plug-in ID */
- public static final String PLUGIN_ID = "org.eclipse.linuxtools.ctf.core.tests";
-
- // The shared instance
- private static CtfCoreTestPlugin fPlugin;
-
- // ------------------------------------------------------------------------
- // Constructors
- // ------------------------------------------------------------------------
-
- /**
- * The constructor
- */
- public CtfCoreTestPlugin() {
- setDefault(this);
- }
-
- // ------------------------------------------------------------------------
- // Accessors
- // ------------------------------------------------------------------------
-
- /**
- * @return the shared instance
- */
- public static CtfCoreTestPlugin getDefault() {
- return fPlugin;
- }
-
- /**
- * @param plugin
- * the shared instance
- */
- private static void setDefault(CtfCoreTestPlugin plugin) {
- fPlugin = plugin;
- }
-
- // ------------------------------------------------------------------------
- // Operations
- // ------------------------------------------------------------------------
-
- @Override
- public void start(BundleContext context) throws Exception {
- super.start(context);
- setDefault(this);
- }
-
- @Override
- public void stop(BundleContext context) throws Exception {
- setDefault(null);
- super.stop(context);
- }
-
- /**
- * Get the temporary directory path. If there is an instance of Eclipse
- * running, the temporary directory will reside under the workspace.
- *
- * @return the temporary directory path suitable to be passed to the
- * java.io.File constructor without a trailing separator
- */
- public static String getTemporaryDirPath() {
- String property = System.getProperty("osgi.instance.area"); //$NON-NLS-1$
- if (property != null) {
- try {
- File dir = URIUtil.toFile(URIUtil.fromString(property));
- dir = new File(dir.getAbsolutePath() + File.separator + TEMP_DIR_NAME);
- if (!dir.exists()) {
- dir.mkdirs();
- }
- return dir.getAbsolutePath();
- } catch (URISyntaxException e) {
- Activator.logError(e.getLocalizedMessage(), e);
- }
- }
- return System.getProperty("java.io.tmpdir"); //$NON-NLS-1$
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.ctf.core.tests/src/org/eclipse/linuxtools/ctf/core/tests/ctftestsuite/CtfTestSuiteTests.java b/lttng/org.eclipse.linuxtools.ctf.core.tests/src/org/eclipse/linuxtools/ctf/core/tests/ctftestsuite/CtfTestSuiteTests.java
deleted file mode 100644
index 62e18f3e56..0000000000
--- a/lttng/org.eclipse.linuxtools.ctf.core.tests/src/org/eclipse/linuxtools/ctf/core/tests/ctftestsuite/CtfTestSuiteTests.java
+++ /dev/null
@@ -1,176 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013, 2014 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:
- * Alexandre Montplaisir - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.ctf.core.tests.ctftestsuite;
-
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.fail;
-
-import java.io.File;
-import java.util.LinkedList;
-import java.util.List;
-
-import org.eclipse.linuxtools.ctf.core.trace.CTFReaderException;
-import org.eclipse.linuxtools.ctf.core.trace.CTFTrace;
-import org.eclipse.linuxtools.ctf.core.trace.CTFTraceReader;
-import org.junit.Rule;
-import org.junit.Test;
-import org.junit.rules.TestRule;
-import org.junit.rules.Timeout;
-import org.junit.runner.RunWith;
-import org.junit.runners.Parameterized;
-import org.junit.runners.Parameterized.Parameters;
-
-/**
- * Parameterized test class running the CTF Test Suite
- *
- * (from https://github.com/efficios/ctf-testsuite).
- *
- * @author Alexandre Montplaisir
- */
-@RunWith(Parameterized.class)
-public class CtfTestSuiteTests {
-
- /** Time-out tests after 10 seconds. */
- @Rule
- public TestRule globalTimeout = new Timeout(10000);
-
- private static final String BASE_PATH = "traces/ctf-testsuite/tests/1.8/";
-
- /**
- * Test we know are currently failing. Ignore them so we can at least run
- * the others.
- *
- * TODO Actually fix them!
- */
- private static final String[] IGNORED_TESTS = {
- "regression/metadata/pass/sequence-typedef-length",
- "regression/metadata/pass/array-of-struct"
- };
-
- private final String fTracePath;
- private final boolean fExpectSuccess;
-
- // ------------------------------------------------------------------------
- // Methods for the Parametrized runner
- // ------------------------------------------------------------------------
-
- /**
- * Get the existing trace paths in the CTF-Testsuite git tree.
- *
- * @return The list of CTF traces (directories) to test
- */
- @Parameters(name = "{index}: {0}")
- public static Iterable<Object[]> getTracePaths() {
- final List<Object[]> dirs = new LinkedList<>();
-
- addDirsFrom(dirs, BASE_PATH + "fuzzing/metadata/fail", false);
- addDirsFrom(dirs, BASE_PATH + "fuzzing/metadata/pass", true);
- addDirsFrom(dirs, BASE_PATH + "fuzzing/stream/fail", false);
- addDirsFrom(dirs, BASE_PATH + "fuzzing/stream/pass", true);
-
- addDirsFrom(dirs, BASE_PATH + "regression/metadata/fail", false);
- addDirsFrom(dirs, BASE_PATH + "regression/metadata/pass", true);
- addDirsFrom(dirs, BASE_PATH + "regression/stream/fail", false);
- addDirsFrom(dirs, BASE_PATH + "regression/stream/pass", true);
-
- addDirsFrom(dirs, BASE_PATH + "stress/metadata/fail", false);
- addDirsFrom(dirs, BASE_PATH + "stress/metadata/pass", true);
- addDirsFrom(dirs, BASE_PATH + "stress/stream/fail", false);
- addDirsFrom(dirs, BASE_PATH + "stress/stream/pass", true);
-
- return dirs;
- }
-
- private static void addDirsFrom(List<Object[]> dirs, String path, boolean expectSuccess) {
- File[] traceDirs = (new File(path)).listFiles();
- if (traceDirs == null) {
- return;
- }
- for (File traceDir : traceDirs) {
- /* Skip the "run.sh" files and blacklisted tests */
- if (!traceDir.isDirectory() || testIsBlacklisted(traceDir.getPath())) {
- continue;
- }
-
- /* Add this test case to the list of tests to run */
- Object array[] = new Object[] { traceDir.getPath(), expectSuccess };
- dirs.add(array);
- }
- }
-
- private static boolean testIsBlacklisted(String fullPath) {
- for (String ignoredTest : IGNORED_TESTS) {
- if (fullPath.contains(new File(ignoredTest).getPath())) {
- return true;
- }
- }
- return false;
- }
-
- // ------------------------------------------------------------------------
- // Test constructor
- // ------------------------------------------------------------------------
-
- /**
- * Constructor for the parametrized tests
- *
- * @param tracePath
- * The complete path to the trace to test
- * @param expectSuccess
- * Should this trace parse successfully, or not.
- */
- public CtfTestSuiteTests(String tracePath, boolean expectSuccess) {
- fTracePath = tracePath;
- fExpectSuccess = expectSuccess;
- }
-
- // ------------------------------------------------------------------------
- // Test methods
- // ------------------------------------------------------------------------
-
- /**
- * Test opening and reading the trace
- */
- @Test
- public void testTrace() {
- try (/* Instantiate the trace (which implies parsing the metadata) */
- CTFTrace trace = new CTFTrace(fTracePath);
- /* Read the trace until the end */
- CTFTraceReader reader = new CTFTraceReader(trace);) {
-
- reader.getCurrentEventDef();
- while (reader.advance()) {
- assertNotNull(reader.getCurrentEventDef());
- }
-
- checkIfWeShoudlSucceed();
- } catch (CTFReaderException e) {
- checkIfWeShouldFail(e);
- } catch (OutOfMemoryError e) {
- checkIfWeShouldFail(e);
- }
- }
-
- private void checkIfWeShoudlSucceed() {
- if (!fExpectSuccess) {
- fail("Trace was expected to fail parsing: " + fTracePath);
- }
- }
-
- private void checkIfWeShouldFail(Throwable e) {
- if (fExpectSuccess) {
- fail("Trace was expected to succeed, but failed parsing: " +
- fTracePath + " (" + e.getMessage() + ")");
- }
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.ctf.core.tests/src/org/eclipse/linuxtools/ctf/core/tests/ctftestsuite/TestAll.java b/lttng/org.eclipse.linuxtools.ctf.core.tests/src/org/eclipse/linuxtools/ctf/core/tests/ctftestsuite/TestAll.java
deleted file mode 100644
index 1258d72064..0000000000
--- a/lttng/org.eclipse.linuxtools.ctf.core.tests/src/org/eclipse/linuxtools/ctf/core/tests/ctftestsuite/TestAll.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013, 2014 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:
- * Alexandre Montplaisir - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.ctf.core.tests.ctftestsuite;
-
-import org.junit.runner.RunWith;
-import org.junit.runners.Suite;
-
-/**
- * The class <code>TestAll</code> builds a suite that can be used to run all of
- * the tests within its package as well as within any subpackages of its
- * package.
- *
- * @author ematkho
- */
-@RunWith(Suite.class)
-@Suite.SuiteClasses({
- CtfTestSuiteTests.class
-})
-public class TestAll {
-
-}
diff --git a/lttng/org.eclipse.linuxtools.ctf.core.tests/src/org/eclipse/linuxtools/ctf/core/tests/event/CTFCallsiteTest.java b/lttng/org.eclipse.linuxtools.ctf.core.tests/src/org/eclipse/linuxtools/ctf/core/tests/event/CTFCallsiteTest.java
deleted file mode 100644
index be25a3f8d4..0000000000
--- a/lttng/org.eclipse.linuxtools.ctf.core.tests/src/org/eclipse/linuxtools/ctf/core/tests/event/CTFCallsiteTest.java
+++ /dev/null
@@ -1,112 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013, 2014 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:
- * Matthew Khouzam - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.ctf.core.tests.event;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertTrue;
-
-import java.util.Arrays;
-import java.util.HashMap;
-import java.util.Map;
-
-import org.eclipse.linuxtools.ctf.core.event.CTFCallsite;
-import org.junit.Test;
-
-/**
- * The class <code>CTFCallsiteTest</code> contains tests for the class
- * <code>{@link CTFCallsite}</code>.
- *
- * @author Matthew Khouzam
- * @version $Revision: 1.0 $
- */
-
-public class CTFCallsiteTest {
-
- private static CTFCallsite GenerateCS(long ip){
- return new CTFCallsite("event name", "func name", ip, "file.java", 1);
- }
-
- /**
- * Test the constructor
- */
- @Test
- public void constructorTest(){
- CTFCallsite cs = GenerateCS(0x01);
- assertNotNull(cs);
- }
-
- /**
- * Test the getters
- */
- @Test
- public void getterTest(){
- CTFCallsite cs = GenerateCS(0x01);
- assertEquals("ip", 1, cs.getIp());
- assertEquals("ip", "event name", cs.getEventName());
- assertEquals("ip", "file.java", cs.getFileName());
- assertEquals("ip", "func name", cs.getFunctionName());
- }
-
- /**
- * Test the hash code
- */
- @Test
- public void hashCodeTest(){
- CTFCallsite cs = GenerateCS(0x01);
- Map<CTFCallsite, Object> test = new HashMap<>();
- test.put(cs, new Object());
- assertTrue(test.containsKey(cs));
- assertTrue(test.containsKey(GenerateCS(0x01)));
- assertFalse(test.containsKey(GenerateCS(0x02)));
- assertFalse(test.containsKey(new CTFCallsite("event nam", "func name", 1, "file.java", 1)));
- assertFalse(test.containsKey(new CTFCallsite("event name", "func nam", 1, "file.java", 1)));
- assertFalse(test.containsKey(new CTFCallsite("event name", "func name", 1, "file.jav", 1)));
- assertFalse(test.containsKey(new CTFCallsite("event name", "func name", 1, "file.java", 2)));
- }
-
- /**
- * Test the comparator (it should sort using the IP)
- */
- @Test
- public void comparatorTest(){
- CTFCallsite cs[] = new CTFCallsite[5];
- long vals[] = {1L, 0L, -2L, 2L, -1L};
- for(int i = 0 ; i < 5 ; i++ ){
- cs[i] = GenerateCS(vals[i]);
- }
-
- assertEquals(1, cs[0].compareTo(cs[1]));
- assertEquals(-1, cs[1].compareTo(cs[0]));
- assertEquals(0, cs[0].compareTo(cs[0]));
- assertEquals(-1, cs[0].compareTo(cs[2]));
- assertEquals(1, cs[2].compareTo(cs[0]));
-
- Arrays.sort(cs);
-
- assertEquals( 0L, cs[0].getIp());
- assertEquals( 1L, cs[1].getIp());
- assertEquals( 2L, cs[2].getIp());
- assertEquals( -2L , cs[3].getIp());
- assertEquals( -1L, cs[4].getIp());
- }
-
- /**
- * Tests the output of a callsite toString function
- */
- @Test
- public void toStringTest(){
- CTFCallsite cs = GenerateCS(0x01);
- assertEquals("file.java/func name:1", cs.toString());
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.ctf.core.tests/src/org/eclipse/linuxtools/ctf/core/tests/event/CTFEventDefinitionTest.java b/lttng/org.eclipse.linuxtools.ctf.core.tests/src/org/eclipse/linuxtools/ctf/core/tests/event/CTFEventDefinitionTest.java
deleted file mode 100644
index cda9ec4ccd..0000000000
--- a/lttng/org.eclipse.linuxtools.ctf.core.tests/src/org/eclipse/linuxtools/ctf/core/tests/event/CTFEventDefinitionTest.java
+++ /dev/null
@@ -1,145 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 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:
- * Matthew Khouzam - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.ctf.core.tests.event;
-
-import static org.junit.Assert.assertTrue;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertNull;
-
-import java.nio.ByteOrder;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.List;
-
-import org.eclipse.linuxtools.ctf.core.event.EventDefinition;
-import org.eclipse.linuxtools.ctf.core.event.scope.LexicalScope;
-import org.eclipse.linuxtools.ctf.core.event.types.Definition;
-import org.eclipse.linuxtools.ctf.core.event.types.Encoding;
-import org.eclipse.linuxtools.ctf.core.event.types.IntegerDeclaration;
-import org.eclipse.linuxtools.ctf.core.event.types.IntegerDefinition;
-import org.eclipse.linuxtools.ctf.core.event.types.StructDeclaration;
-import org.eclipse.linuxtools.ctf.core.event.types.StructDefinition;
-import org.eclipse.linuxtools.internal.ctf.core.event.EventDeclaration;
-import org.junit.Before;
-import org.junit.Test;
-
-/**
- * Test the event definition
- *
- * @author Matthew Khouzam
- *
- */
-public class CTFEventDefinitionTest {
- List<EventDefinition> fixture;
-
- /**
- * Making a power set of configurations to test the event definition
- */
- @Before
- public void init() {
- fixture = new ArrayList<>();
- IntegerDeclaration pidDec = IntegerDeclaration.createDeclaration(5, false, 10, ByteOrder.LITTLE_ENDIAN, Encoding.NONE, "", 8);
- IntegerDeclaration ctxDec = IntegerDeclaration.createDeclaration(16, false, 10, ByteOrder.LITTLE_ENDIAN, Encoding.NONE, "", 8);
- IntegerDefinition pid = new IntegerDefinition(pidDec, null, "pid", 3);
- IntegerDefinition pod = new IntegerDefinition(pidDec, null, "pod", 3);
- IntegerDefinition ctx = new IntegerDefinition(pidDec, null, "ctx", 3);
-
- StructDeclaration streamContextDec = new StructDeclaration(8);
- streamContextDec.addField("pid", pidDec);
- streamContextDec.addField("ctx", ctxDec);
- StructDeclaration eventContextDec = new StructDeclaration(8);
- streamContextDec.addField("pod", pidDec);
- streamContextDec.addField("ctx", pidDec);
- StructDeclaration fDec = new StructDeclaration(8);
- EventDeclaration eventDeclaration = new EventDeclaration();
-
- fDec.addField("pid", pidDec);
- fDec.addField("ctx", ctxDec);
- fDec.addField("pod", pidDec);
-
- List<String> sFieldNames = Arrays.asList("pid", "ctx");
- List<String> eFieldNames = Arrays.asList("pod", "ctx");
- List<String> fieldNames = Arrays.asList("pid", "ctx", "pod");
-
- Definition[] sDefs = { pid, ctx };
- Definition[] eDefs = { pod, ctx };
- Definition[] fDefs = { pid, ctx, pod };
-
- StructDeclaration pContextDec = new StructDeclaration(8);
-
- StructDefinition sContext = new StructDefinition(streamContextDec, null, LexicalScope.STREAM_PACKET_CONTEXT.toString(), sFieldNames, sDefs);
- StructDefinition eContext = new StructDefinition(eventContextDec, null, LexicalScope.STREAM_EVENT_CONTEXT.toString(), eFieldNames, eDefs);
- StructDefinition pContext = new StructDefinition(pContextDec, null, LexicalScope.FIELDS.toString(), Collections.EMPTY_LIST, new Definition[0]);
- StructDefinition fields = new StructDefinition(fDec, null, LexicalScope.FIELDS.toString(), fieldNames, fDefs);
-
- fixture.add(new EventDefinition(eventDeclaration, null, 100, null, null, null, null));
- fixture.add(new EventDefinition(eventDeclaration, null, 100, null, null, null, fields));
- fixture.add(new EventDefinition(eventDeclaration, null, 100, null, null, pContext, null));
- fixture.add(new EventDefinition(eventDeclaration, null, 100, null, null, pContext, fields));
- fixture.add(new EventDefinition(eventDeclaration, null, 100, null, eContext, null, null));
- fixture.add(new EventDefinition(eventDeclaration, null, 100, null, eContext, null, fields));
- fixture.add(new EventDefinition(eventDeclaration, null, 100, null, eContext, pContext, null));
- fixture.add(new EventDefinition(eventDeclaration, null, 100, null, eContext, pContext, fields));
- fixture.add(new EventDefinition(eventDeclaration, null, 100, sContext, null, null, null));
- fixture.add(new EventDefinition(eventDeclaration, null, 100, sContext, null, null, fields));
- fixture.add(new EventDefinition(eventDeclaration, null, 100, sContext, null, pContext, null));
- fixture.add(new EventDefinition(eventDeclaration, null, 100, sContext, null, pContext, fields));
- fixture.add(new EventDefinition(eventDeclaration, null, 100, sContext, eContext, null, null));
- fixture.add(new EventDefinition(eventDeclaration, null, 100, sContext, eContext, null, fields));
- fixture.add(new EventDefinition(eventDeclaration, null, 100, sContext, eContext, pContext, null));
- fixture.add(new EventDefinition(eventDeclaration, null, 100, sContext, eContext, pContext, fields));
- }
-
- /**
- * Test all the events
- */
- @Test
- public void testEvents() {
- int i = 0;
- for (EventDefinition ed : fixture) {
- test(i, ed);
- i++;
- }
- }
-
- private static void test(int rank, EventDefinition ed) {
- String title = "event #" + rank;
- assertEquals(title, 100L, ed.getTimestamp());
- StructDefinition context = ed.getContext();
- if (rank >= 4) {
- assertNotNull(title, context);
- if (rank >= 12) {
- assertEquals(title, 3, context.getFieldNames().size());
- } else {
- assertEquals(title, 2, context.getFieldNames().size());
- }
-
- } else {
- assertNull(title, context);
- }
- if (((rank / 4) % 2) == 1) {
- assertNotNull(title, ed.getEventContext());
- }else{
- assertNull(title, ed.getEventContext());
- }
- if (rank % 2 == 1) {
- assertNotNull(title, ed.getFields());
- assertEquals(title, 3, ed.getFields().getFieldNames().size());
- } else {
- assertNull(title, ed.getFields());
- }
- assertTrue(title, ed.toString().startsWith("Event type: null" + System.getProperty("line.separator") + "Timestamp: 100"));
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.ctf.core.tests/src/org/eclipse/linuxtools/ctf/core/tests/event/CTFEventFieldTest.java b/lttng/org.eclipse.linuxtools.ctf.core.tests/src/org/eclipse/linuxtools/ctf/core/tests/event/CTFEventFieldTest.java
deleted file mode 100644
index 366c7e65cd..0000000000
--- a/lttng/org.eclipse.linuxtools.ctf.core.tests/src/org/eclipse/linuxtools/ctf/core/tests/event/CTFEventFieldTest.java
+++ /dev/null
@@ -1,141 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 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:
- * Matthew Khouzam - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.ctf.core.tests.event;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-
-import java.nio.ByteBuffer;
-import java.nio.ByteOrder;
-
-import org.eclipse.jdt.annotation.NonNull;
-import org.eclipse.linuxtools.ctf.core.event.io.BitBuffer;
-import org.eclipse.linuxtools.ctf.core.event.types.Definition;
-import org.eclipse.linuxtools.ctf.core.event.types.Encoding;
-import org.eclipse.linuxtools.ctf.core.event.types.IDefinition;
-import org.eclipse.linuxtools.ctf.core.event.types.IntegerDeclaration;
-import org.eclipse.linuxtools.ctf.core.event.types.IntegerDefinition;
-import org.eclipse.linuxtools.ctf.core.event.types.StringDeclaration;
-import org.eclipse.linuxtools.ctf.core.event.types.StringDefinition;
-import org.eclipse.linuxtools.ctf.core.event.types.StructDeclaration;
-import org.eclipse.linuxtools.ctf.core.event.types.StructDefinition;
-import org.eclipse.linuxtools.ctf.core.trace.CTFReaderException;
-import org.eclipse.linuxtools.internal.ctf.core.event.types.SequenceDeclaration;
-import org.junit.Test;
-
-import com.google.common.collect.ImmutableList;
-
-/**
- * The class <code>CTFEventFieldTest</code> contains tests for the class
- * <code>{@link CTFEventField}</code>.
- *
- * @author ematkho
- * @version $Revision: 1.0 $
- */
-@SuppressWarnings("javadoc")
-public class CTFEventFieldTest {
-
- @NonNull
- private static final String fieldName = "id";
-
- /**
- * Run the CTFEventField parseField(Definition,String) method test.
- *
- * @throws CTFReaderException
- */
- @Test
- public void testParseField_complex() throws CTFReaderException {
- int len = 32;
- IntegerDeclaration id = IntegerDeclaration.createDeclaration(
- len,
- false,
- len,
- ByteOrder.LITTLE_ENDIAN,
- Encoding.ASCII,
- "",
- len);
- String lengthName = "LengthName";
- StructDeclaration structDec = new StructDeclaration(0);
- structDec.addField(lengthName, id);
- StructDefinition structDef = new StructDefinition(
- structDec,
- null,
- lengthName,
- ImmutableList.of(lengthName),
- new Definition[] {
- new IntegerDefinition(
- id,
- null,
- lengthName,
- 32)
- });
-
- SequenceDeclaration sd = new SequenceDeclaration(lengthName, id);
- ByteBuffer byb = testMemory(ByteBuffer.allocate(1024));
- for (int i = 0; i < 1024; i++) {
- byb.put((byte) i);
- }
- BitBuffer bb = new BitBuffer(byb);
- IDefinition fieldDef = sd.createDefinition(structDef, "fff-fffield", bb);
-
- assertNotNull(fieldDef);
- }
-
- @NonNull
- private static ByteBuffer testMemory(ByteBuffer buffer) {
- if (buffer == null) {
- throw new IllegalStateException("Failed to allocate memory");
- }
- return buffer;
- }
-
- /**
- * Run the CTFEventField parseField(Definition,String) method test.
- *
- * @throws CTFReaderException
- */
- @Test
- public void testParseField_simple() throws CTFReaderException {
- final StringDeclaration elemType = new StringDeclaration();
- byte[] bytes = { 'T', 'e', 's', 't', '\0' };
- ByteBuffer bb = testMemory(ByteBuffer.wrap(bytes));
- IDefinition fieldDef = elemType.createDefinition(null, fieldName, new BitBuffer(bb));
-
- assertNotNull(fieldDef);
- }
-
- /**
- * Run the CTFEventField parseField(Definition,String) method test.
- */
- @Test
- public void testParseField_simple2() {
- IntegerDefinition fieldDef = new IntegerDefinition(
- IntegerDeclaration.createDeclaration(1, false, 1, ByteOrder.BIG_ENDIAN,
- Encoding.ASCII, "", 8), null, fieldName, 1L);
-
- assertNotNull(fieldDef);
- }
-
- /**
- *
- */
- @Test
- public void testParseField_simple3() {
- StringDefinition fieldDef = new StringDefinition(
- new StringDeclaration(), null, fieldName, "Hello World");
-
- String other = "\"Hello World\"";
- assertNotNull(fieldDef);
- assertEquals(fieldDef.toString(), other);
- }
-
-} \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.ctf.core.tests/src/org/eclipse/linuxtools/ctf/core/tests/event/TestAll.java b/lttng/org.eclipse.linuxtools.ctf.core.tests/src/org/eclipse/linuxtools/ctf/core/tests/event/TestAll.java
deleted file mode 100644
index e0f0d83f40..0000000000
--- a/lttng/org.eclipse.linuxtools.ctf.core.tests/src/org/eclipse/linuxtools/ctf/core/tests/event/TestAll.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013, 2014 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:
- * Matthew Khouzam - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.ctf.core.tests.event;
-
-import org.junit.runner.RunWith;
-import org.junit.runners.Suite;
-
-/**
- * The class <code>TestAll</code> builds a suite that can be used to run all of
- * the tests within its package as well as within any subpackages of its
- * package.
- *
- * @author ematkho
- * @version $Revision: 1.0 $
- */
-@RunWith(Suite.class)
-@Suite.SuiteClasses({
- CTFCallsiteTest.class,
- CTFEventDefinitionTest.class,
- CTFEventFieldTest.class
-})
-public class TestAll {
-
-}
diff --git a/lttng/org.eclipse.linuxtools.ctf.core.tests/src/org/eclipse/linuxtools/ctf/core/tests/io/BitBufferIntTest.java b/lttng/org.eclipse.linuxtools.ctf.core.tests/src/org/eclipse/linuxtools/ctf/core/tests/io/BitBufferIntTest.java
deleted file mode 100644
index f2d607af5a..0000000000
--- a/lttng/org.eclipse.linuxtools.ctf.core.tests/src/org/eclipse/linuxtools/ctf/core/tests/io/BitBufferIntTest.java
+++ /dev/null
@@ -1,572 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013, 2014 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:
- * Alexandre Montplaisir - Extracted from BitBufferTest, cleanup
- * Matthew Khouzam - Additional tests
- *******************************************************************************/
-
-package org.eclipse.linuxtools.ctf.core.tests.io;
-
-import static org.junit.Assert.assertEquals;
-
-import java.nio.ByteBuffer;
-import java.nio.ByteOrder;
-
-import org.eclipse.linuxtools.ctf.core.event.io.BitBuffer;
-import org.eclipse.linuxtools.ctf.core.trace.CTFReaderException;
-import org.junit.Before;
-import org.junit.Test;
-
-/**
- * Part of the {@link BitBuffer} tests which test the methods to read/write
- * integers. These are separated from the main file because the fixture is
- * different.
- *
- * @author Alexandre Montplaisir
- */
-public class BitBufferIntTest {
-
- private BitBuffer fixture;
-
- /**
- * Perform pre-test initialization.
- *
- * @throws CTFReaderException
- * Out of bounds, won't happen
- */
- @Before
- public void setUp() throws CTFReaderException {
- ByteBuffer allocateDirect = ByteBuffer.allocateDirect(128);
- if (allocateDirect == null) {
- throw new IllegalStateException("Failed to allocate memory");
- }
- fixture = new BitBuffer(allocateDirect);
- fixture.setByteOrder(ByteOrder.BIG_ENDIAN);
- fixture = createBuffer();
- }
-
- private static BitBuffer createBuffer() throws CTFReaderException {
- return createBuffer(16);
- }
-
- private static BitBuffer createBuffer(int j) throws CTFReaderException {
- final byte[] bytes = new byte[j];
- for (int i = 0; i < j; i++) {
- bytes[i] = (byte) (i % 0xff);
- }
- ByteBuffer wrap = ByteBuffer.wrap(bytes);
- if (wrap == null) {
- throw new IllegalStateException("Failed to allocate memory");
- }
- BitBuffer fixture = new BitBuffer(wrap);
- fixture.position(1);
- return fixture;
- }
-
- /**
- * Test {@link BitBuffer#getInt} with a basic value
- *
- * @throws CTFReaderException
- * Not expected
- */
- @Test
- public void testGetInt_base() throws CTFReaderException {
- int result = fixture.getInt();
- assertEquals(0x020406, result);
- }
-
- /**
- * Test {@link BitBuffer#getInt} with explicit seek at pos 0.
- *
- * @throws CTFReaderException
- * Not expected
- */
- @Test
- public void testGetInt_pos0() throws CTFReaderException {
- fixture.position(0);
- int result = fixture.getInt();
- assertEquals(0x010203, result);
- }
-
- /**
- * Test {@link BitBuffer#get} with seek at pos 1.
- *
- * @throws CTFReaderException
- * Not expected
- */
- @Test
- public void testGetInt_pos1() throws CTFReaderException {
- fixture.position(1);
-
- long result = fixture.get(1, true);
- assertEquals(0, result);
- }
-
- /**
- * Test {@link BitBuffer#get} with seek at pos 2.
- *
- * @throws CTFReaderException
- * Not expected
- */
- @Test
- public void testGetInt_pos2() throws CTFReaderException {
- fixture.position(2);
-
- long result = fixture.get(0, true);
- assertEquals(0, result);
- }
-
- /**
- * Test {@link BitBuffer#get} with explicit little-endian reading.
- *
- * @throws CTFReaderException
- * Not expected
- */
- @Test
- public void testGetInt_le2() throws CTFReaderException {
- BitBuffer leFixture = createBuffer(128);
- leFixture.setByteOrder(ByteOrder.LITTLE_ENDIAN);
- leFixture.position(0);
- long result = leFixture.get(24, false);
- assertEquals(0x020100, result);
- }
-
- /**
- * Test {@link BitBuffer#get} with explicit little-endian reading, with an
- * offset.
- *
- * @throws CTFReaderException
- * Not expected
- */
- @Test
- public void testGetInt_le1() throws CTFReaderException {
- BitBuffer leFixture = createBuffer(128);
- leFixture.setByteOrder(ByteOrder.LITTLE_ENDIAN);
- leFixture.position(1);
- long result = leFixture.get(24, false);
- assertEquals(0x810080, result); /* 0x020100 down-shifted */
- }
-
- /**
- * Test {@link BitBuffer#get} with a 32-bit out-of-bounds read. Should throw
- * an exception.
- *
- * @throws CTFReaderException
- * Expected
- */
- @Test(expected = CTFReaderException.class)
- public void testGetInt_invalid() throws CTFReaderException {
- BitBuffer smallFixture = createBuffer(2);
- smallFixture.setByteOrder(ByteOrder.BIG_ENDIAN);
-
- smallFixture.position(10);
-
- /* This will attempt to read past the buffer's end. */
- smallFixture.get(32, true);
- }
-
- /**
- * Test {@link BitBuffer#get} with a 64-bit out-of-bounds read. Should throw
- * an exception.
- *
- * @throws CTFReaderException
- * Expected
- */
- @Test(expected = CTFReaderException.class)
- public void testGetInt_invalid2() throws CTFReaderException {
- BitBuffer smallFixture = createBuffer(2);
- smallFixture.setByteOrder(ByteOrder.BIG_ENDIAN);
-
- smallFixture.position(1);
-
- /* This will attempt to read past the buffer's end. */
- smallFixture.get(64, true);
- }
-
- /**
- * Test {@link BitBuffer#getLong}.
- *
- * @throws CTFReaderException
- * error
- */
- @Test
- public void testGetLong_pos0() throws CTFReaderException {
- fixture.position(0);
- long result = fixture.getLong();
- assertEquals(0x01020304050607L, result);
- }
-
- /**
- * Test {@link BitBuffer#getLong} with an offset of 7.
- *
- * @throws CTFReaderException
- * error
- */
- @Test
- public void testGetLong_pos7() throws CTFReaderException {
- fixture.position(7);
- long result = fixture.getLong();
- assertEquals(0x81018202830384L, result);
- }
-
- /**
- * Test {@link BitBuffer#getLong} with an offset of 8.
- *
- * @throws CTFReaderException
- * error
- */
- @Test
- public void testGetLong_pos8() throws CTFReaderException {
- fixture.position(8);
- long result = fixture.getLong();
- assertEquals(0x0102030405060708L, result);
- }
-
- /**
- * Test {@link BitBuffer#getLong} with a little-endian buffer.
- *
- * @throws CTFReaderException
- * error
- */
- @Test
- public void testGetLong_pos0LE() throws CTFReaderException {
- fixture.position(0);
- fixture.setByteOrder(ByteOrder.LITTLE_ENDIAN);
- long result = fixture.getLong();
- assertEquals(0x0706050403020100L, result);
- }
-
- /**
- * Test {@link BitBuffer#getLong} with a little-endian buffer at pos 7.
- *
- * @throws CTFReaderException
- * error
- */
- @Test
- public void testGetLong_pos7LE() throws CTFReaderException {
- fixture.position(7);
- fixture.setByteOrder(ByteOrder.LITTLE_ENDIAN);
- long result = fixture.getLong();
- assertEquals(0x100e0c0a08060402L, result);
- }
-
- /**
- * Test {@link BitBuffer#getLong} with a little-endian buffer at pos 8.
- *
- * @throws CTFReaderException
- * error
- */
- @Test
- public void testGetLong_pos8LE() throws CTFReaderException {
- fixture.position(8);
- fixture.setByteOrder(ByteOrder.LITTLE_ENDIAN);
- long result = fixture.getLong();
- assertEquals(0x0807060504030201L, result);
- }
-
- /**
- * Test {@link BitBuffer#get} for >32 bits in length.
- *
- * @throws CTFReaderException
- * error
- */
- @Test
- public void testGet35_pos0BE() throws CTFReaderException {
- fixture.position(0);
- long result = fixture.get(35, false);
- assertEquals(0x081018L, result);
- }
-
- /**
- * Test {@link BitBuffer#get} for >32 bits in length at an offset position.
- *
- * @throws CTFReaderException
- * error
- */
- @Test
- public void testGet35_pos8BE() throws CTFReaderException {
- fixture.position(8);
- long result = fixture.get(35, false);
- assertEquals(0x08101820L, result);
- }
-
- /**
- * Test {@link BitBuffer#get} for >32 bits in length in little-endian.
- *
- * @throws CTFReaderException
- * error
- */
- @Test
- public void testGet35_pos0LE() throws CTFReaderException {
- fixture.position(0);
- fixture.setByteOrder(ByteOrder.LITTLE_ENDIAN);
- long result = fixture.get(35, false);
- assertEquals(0x0403020100L, result);
- }
-
- /**
- * Test {@link BitBuffer#get} for >32 bits in length, in little-endian, at
- * position 7.
- *
- * @throws CTFReaderException
- * error
- */
- @Test
- public void testGetLong35_pos7LE() throws CTFReaderException {
- fixture.position(7);
- fixture.setByteOrder(ByteOrder.LITTLE_ENDIAN);
- long result = fixture.get(35, false);
- assertEquals(0x0208060402L, result);
- }
-
- /**
- * Test {@link BitBuffer#get} for >32 bits in length, in little-endian, at
- * position 8.
- *
- * @throws CTFReaderException
- * error
- */
- @Test
- public void testGetLong35_pos8LE() throws CTFReaderException {
- fixture.position(8);
- fixture.setByteOrder(ByteOrder.LITTLE_ENDIAN);
- long result = fixture.get(35, false);
- assertEquals(0x0504030201L, result);
- }
-
- /**
- * Test {@link BitBuffer#get} for >32 bits in length, in little-endian, for
- * a signed value.
- *
- * @throws CTFReaderException
- * error
- */
- @Test
- public void testGetLong35s_pos0LE() throws CTFReaderException {
- fixture.position(0);
- fixture.setByteOrder(ByteOrder.LITTLE_ENDIAN);
- long result = fixture.get(35, true);
- assertEquals(0xfffffffc03020100L, result);
- }
-
- /**
- * Test {@link BitBuffer#get} for >32 bits in length, in little-endian, for
- * a signed value, at position 7.
- *
- * @throws CTFReaderException
- * error
- */
- @Test
- public void testGetLong35s_pos7LE() throws CTFReaderException {
- fixture.position(7);
- fixture.setByteOrder(ByteOrder.LITTLE_ENDIAN);
- long result = fixture.get(35, true);
- assertEquals(0x0208060402L, result);
- }
-
- /**
- * Test {@link BitBuffer#get} for >32 bits in length, in little-endian, for
- * a signed value, at position 8.
- *
- * @throws CTFReaderException
- * error
- */
- @Test
- public void testGetLong35s_pos8LE() throws CTFReaderException {
- fixture.position(8);
- fixture.setByteOrder(ByteOrder.LITTLE_ENDIAN);
- long result = fixture.get(35, true);
- assertEquals(0xfffffffd04030201L, result);
- }
-
- /**
- * Test reading negative values as signed values.
- *
- * @throws CTFReaderException
- * error
- */
- @Test
- public void testGetSigned() throws CTFReaderException {
- fixture.position(0);
- fixture.putInt(-1);
- fixture.putInt(-1);
- fixture.position(0);
- fixture.setByteOrder(ByteOrder.LITTLE_ENDIAN);
-
- long result = fixture.get(32, true);
- assertEquals(-1L, result);
- }
-
- /**
- * Test reading negative values as unsigned values.
- *
- * @throws CTFReaderException
- * error
- */
- @Test
- public void testGetUnsigned() throws CTFReaderException {
- fixture.position(0);
- fixture.putInt(-1);
- fixture.putInt(-1);
- fixture.position(0);
- fixture.setByteOrder(ByteOrder.LITTLE_ENDIAN);
-
- long result = fixture.get(32, false);
- assertEquals(0xFFFFFFFFL, result);
- }
-
- /**
- * Test reading 24 bits of a 32-bit negative value as a signed value.
- *
- * @throws CTFReaderException
- * error
- */
- @Test
- public void testGet24Signed() throws CTFReaderException {
- fixture.position(0);
- fixture.putInt(-1);
- fixture.putInt(-1);
- fixture.position(0);
- fixture.setByteOrder(ByteOrder.LITTLE_ENDIAN);
-
- long result = fixture.get(24, true);
- assertEquals(-1L, result);
- }
-
- /**
- * Test reading 24 bits of a 32-bit negative value as an unsigned value.
- *
- * @throws CTFReaderException
- * error
- */
- @Test
- public void testGet24Unsigned() throws CTFReaderException {
- fixture.position(0);
- fixture.putInt(-1);
- fixture.putInt(-1);
- fixture.position(0);
- fixture.setByteOrder(ByteOrder.LITTLE_ENDIAN);
-
- long result = fixture.get(24, false);
- assertEquals(0xFFFFFFL, result);
- }
-
- /**
- * Test {@link BitBuffer#putInt(int)}
- *
- * @throws CTFReaderException
- * Not expected
- */
- @Test
- public void testPutInt() throws CTFReaderException {
- fixture.position(1);
- fixture.putInt(1);
- }
-
- /**
- * Test {@link BitBuffer#putInt(int, int)}
- *
- * @throws CTFReaderException
- * Not expected
- */
- @Test
- public void testPutInt_length1() throws CTFReaderException {
- fixture.position(1);
- fixture.putInt(1, 1);
- }
-
- /**
- * Test {@link BitBuffer#putInt(int, int)} with length = 0.
- *
- * @throws CTFReaderException
- * Not expected
- */
- @Test
- public void testPutInt_length0() throws CTFReaderException {
- fixture.position(1);
- fixture.putInt(0, 1);
- }
-
- /**
- * Test {@link BitBuffer#putInt(int)} Little endian
- *
- * @throws CTFReaderException
- * Not expected
- */
- @Test
- public void testPutIntLe() throws CTFReaderException {
- fixture.setByteOrder(ByteOrder.LITTLE_ENDIAN);
- fixture.position(1);
- fixture.putInt(1);
- }
-
- /**
- * Test {@link BitBuffer#putInt(int, int)} Little endian
- *
- * @throws CTFReaderException
- * Not expected
- */
- @Test
- public void testPutIntLe_length1() throws CTFReaderException {
- fixture.setByteOrder(ByteOrder.LITTLE_ENDIAN);
- fixture.position(1);
- fixture.putInt(1, 1);
- }
-
- /**
- * Test {@link BitBuffer#putInt(int, int)} with length = 0. Little endian
- *
- * @throws CTFReaderException
- * Not expected
- */
- @Test
- public void testPutIntLe_length0() throws CTFReaderException {
- fixture.setByteOrder(ByteOrder.LITTLE_ENDIAN);
- fixture.position(1);
- fixture.putInt(0, 1);
- }
-
- /**
- * Test writing and reading a value defined in hex format.
- *
- * @throws CTFReaderException
- * Not expected
- */
- @Test
- public void testPutInt_hex() throws CTFReaderException {
- final int value = 0x010203;
-
- for (int i = 0; i <= 32; i++) {
- fixture.position(i);
- fixture.putInt(value);
-
- fixture.position(i);
- int read = fixture.getInt();
-
- assertEquals(value, read);
- }
- }
-
- /**
- * Test {@link BitBuffer#putInt} with an out-of-bounds length. An exception
- * should be thrown.
- *
- * @throws CTFReaderException
- * Expected
- */
- @Test(expected = CTFReaderException.class)
- public void testPutInt_invalid() throws CTFReaderException {
- BitBuffer fixture2;
- fixture2 = createBuffer(4);
- fixture2.setByteOrder(ByteOrder.BIG_ENDIAN);
- fixture2.position(1);
-
- /* This will try writing past the buffer's end */
- fixture2.putInt(32, 1);
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.ctf.core.tests/src/org/eclipse/linuxtools/ctf/core/tests/io/BitBufferTest.java b/lttng/org.eclipse.linuxtools.ctf.core.tests/src/org/eclipse/linuxtools/ctf/core/tests/io/BitBufferTest.java
deleted file mode 100644
index 9a88de959e..0000000000
--- a/lttng/org.eclipse.linuxtools.ctf.core.tests/src/org/eclipse/linuxtools/ctf/core/tests/io/BitBufferTest.java
+++ /dev/null
@@ -1,212 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 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:
- * Matthew Khouzam - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.ctf.core.tests.io;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-
-import java.nio.ByteBuffer;
-import java.nio.ByteOrder;
-
-import org.eclipse.jdt.annotation.NonNull;
-import org.eclipse.linuxtools.ctf.core.event.io.BitBuffer;
-import org.eclipse.linuxtools.ctf.core.trace.CTFReaderException;
-import org.junit.Before;
-import org.junit.Test;
-
-/**
- * The class <code>BitBufferTest</code> contains tests for the class
- * <code>{@link BitBuffer}</code>.
- *
- * @author ematkho
- * @version $Revision: 1.0 $
- */
-public class BitBufferTest {
-
- private BitBuffer fixture;
-
- /**
- * Perform pre-test initialization.
- *
- * @throws CTFReaderException
- * An error that cannot happen (position is under 128)
- */
- @Before
- public void setUp() throws CTFReaderException {
- fixture = new BitBuffer(Util.testMemory(ByteBuffer.allocateDirect(1)));
- fixture.setByteOrder(ByteOrder.BIG_ENDIAN);
- fixture.position(1);
- }
-
- /**
- * Run the BitBuffer() constructor test.
- */
- @Test
- public void testBitBuffer() {
- BitBuffer result = new BitBuffer();
-
- assertNotNull(result);
- assertEquals(0, result.position());
- assertNotNull(result.getByteBuffer());
- }
-
- /**
- * Run the BitBuffer(ByteBuffer) constructor test.
- */
- @Test
- public void testBitBuffer_fromByteBuffer() {
- BitBuffer result = new BitBuffer(Util.testMemory(ByteBuffer.allocate(0)));
- assertNotNull(result);
- assertEquals(0, result.position());
- }
-
- /**
- * Run the boolean canRead(int) method test.
- */
- @Test
- public void testCanRead_1param() {
- int length = 1;
- boolean result = fixture.canRead(length);
-
- assertEquals(true, result);
- }
-
- /**
- * Run the void clear() method test.
- */
- @Test
- public void testClear() {
- fixture.clear();
- }
-
- /**
- * Run the ByteBuffer getByteBuffer() method test.
- */
- @Test
- public void testGetByteBuffer() {
- ByteBuffer result = fixture.getByteBuffer();
-
- assertNotNull(result);
- assertEquals("java.nio.DirectByteBuffer[pos=0 lim=1 cap=1]", result.toString());
- assertEquals(true, result.isDirect());
- assertEquals(false, result.hasArray());
- assertEquals(1, result.limit());
- assertEquals(1, result.remaining());
- assertEquals(0, result.position());
- assertEquals(1, result.capacity());
- assertEquals(true, result.hasRemaining());
- assertEquals(false, result.isReadOnly());
- }
-
- /**
- * Run the ByteOrder getByteOrder() method test.
- */
- @Test
- public void testGetByteOrder() {
- ByteOrder result = fixture.getByteOrder();
-
- assertNotNull(result);
- assertEquals("BIG_ENDIAN", result.toString());
- }
-
- /**
- * Run the ByteOrder order() method test.
- */
- @Test
- public void testGetOrder() {
- ByteOrder result = fixture.getByteOrder();
-
- assertNotNull(result);
- assertEquals("BIG_ENDIAN", result.toString());
- }
-
- /**
- * Run the void order(ByteOrder) method test.
- */
- @Test
- public void testSetOrder() {
- ByteOrder order = ByteOrder.BIG_ENDIAN;
-
- fixture.setByteOrder(order);
- }
-
- /**
- * Run the int position() method test.
- */
- @Test
- public void testGetPosition() {
- long result = fixture.position();
-
- assertEquals(1, result);
- }
-
- /**
- * Run the void position(int) method test.
- *
- * @throws CTFReaderException
- * out of bounds? won't happen
- */
- @Test
- public void testSetPosition() throws CTFReaderException {
- int newPosition = 1;
- fixture.position(newPosition);
- }
-
- /**
- * Run the void setByteOrder(ByteOrder) method test.
- */
- @Test
- public void testSetByteOrder() {
- ByteOrder byteOrder = ByteOrder.BIG_ENDIAN;
- fixture.setByteOrder(byteOrder);
- }
-
- /**
- * Test the get function
- */
- @Test
- public void testGetBytes() {
- @NonNull
- byte[] data = new byte[2];
- ByteBuffer bb = ByteBuffer.allocate(10);
- bb.put((byte) 0);
- bb.put((byte) 1);
- bb.put((byte) 1);
- bb.put((byte) 0);
- fixture = new BitBuffer(bb);
- fixture.get(data);
- assertEquals(0, data[0]);
- assertEquals(1, data[1]);
- fixture.get(data);
- assertEquals(1, data[0]);
- assertEquals(0, data[1]);
- }
-
- /**
- * Test the get function
- *
- * @throws CTFReaderException
- * won't happen but we seek in a buffer
- */
- @Test
- public void testGetBytesMiddle() throws CTFReaderException {
- @NonNull
- byte[] data = new byte[5];
- // this string has been carefully selected and tested... don't change
- // the string and expect the result to be the same.
- fixture = new BitBuffer(Util.testMemory(ByteBuffer.wrap(new String("hello world").getBytes())));
- fixture.position(6 * 8);
- fixture.get(data);
- String actual = new String(data);
- assertEquals("world", actual);
- }
-} \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.ctf.core.tests/src/org/eclipse/linuxtools/ctf/core/tests/io/TestAll.java b/lttng/org.eclipse.linuxtools.ctf.core.tests/src/org/eclipse/linuxtools/ctf/core/tests/io/TestAll.java
deleted file mode 100644
index 8110a45d37..0000000000
--- a/lttng/org.eclipse.linuxtools.ctf.core.tests/src/org/eclipse/linuxtools/ctf/core/tests/io/TestAll.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 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:
- * Matthew Khouzam - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.ctf.core.tests.io;
-
-import org.junit.runner.RunWith;
-import org.junit.runners.Suite;
-
-/**
- * The class <code>TestAll</code> builds a suite that can be used to run all of
- * the tests within its package as well as within any subpackages of its
- * package.
- *
- * @author ematkho
- * @version $Revision: 1.0 $
- */
-@RunWith(Suite.class)
-@Suite.SuiteClasses({
- BitBufferIntTest.class,
- BitBufferTest.class
-})
-public class TestAll {
-
-}
diff --git a/lttng/org.eclipse.linuxtools.ctf.core.tests/src/org/eclipse/linuxtools/ctf/core/tests/io/Util.java b/lttng/org.eclipse.linuxtools.ctf.core.tests/src/org/eclipse/linuxtools/ctf/core/tests/io/Util.java
deleted file mode 100644
index 490ea9b8ea..0000000000
--- a/lttng/org.eclipse.linuxtools.ctf.core.tests/src/org/eclipse/linuxtools/ctf/core/tests/io/Util.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 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:
- * Matthew Khouzam - Initial API and implementation
- ******************************************************************************/
-
-package org.eclipse.linuxtools.ctf.core.tests.io;
-
-import java.nio.ByteBuffer;
-
-import org.eclipse.jdt.annotation.NonNull;
-
-/**
- * Helpers for the tests
- *
- * @author Matthew Khouzam
- */
-public final class Util {
-
- private Util() {
- }
-
- /**
- * Wrapper to make sure the bytebuffer is not null
- *
- * @param buffer
- * a potentially null byte buffer
- * @return a non-null byte buffer or an illegal state exception
- */
- @NonNull
- public static ByteBuffer testMemory(ByteBuffer buffer) {
- if (buffer == null) {
- throw new IllegalStateException("Failed to alloc");
- }
- return buffer;
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.ctf.core.tests/src/org/eclipse/linuxtools/ctf/core/tests/scope/LexicalScopeTest.java b/lttng/org.eclipse.linuxtools.ctf.core.tests/src/org/eclipse/linuxtools/ctf/core/tests/scope/LexicalScopeTest.java
deleted file mode 100644
index 9fafff934d..0000000000
--- a/lttng/org.eclipse.linuxtools.ctf.core.tests/src/org/eclipse/linuxtools/ctf/core/tests/scope/LexicalScopeTest.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 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:
- * Matthew Khouzam - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.ctf.core.tests.scope;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-
-import org.eclipse.linuxtools.ctf.core.event.scope.LexicalScope;
-import org.junit.Test;
-
-/**
- * Lexical test
- *
- * @author Matthew Khouzam
- */
-public class LexicalScopeTest {
-
- /**
- * Root test
- */
- @Test
- public void testRoot(){
- LexicalScope scope = LexicalScope.ROOT;
- assertNotNull(scope);
- }
-
- /**
- * Test a more complex node
- */
- @Test
- public void testComplexNode(){
- LexicalScope scope = LexicalScope.STREAM_EVENT_CONTEXT;
- assertEquals("context", scope.getName());
- assertEquals("stream.event.context", scope.toString());
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.ctf.core.tests/src/org/eclipse/linuxtools/ctf/core/tests/scope/TestAll.java b/lttng/org.eclipse.linuxtools.ctf.core.tests/src/org/eclipse/linuxtools/ctf/core/tests/scope/TestAll.java
deleted file mode 100644
index aa95a4ecd6..0000000000
--- a/lttng/org.eclipse.linuxtools.ctf.core.tests/src/org/eclipse/linuxtools/ctf/core/tests/scope/TestAll.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 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:
- * Matthew Khouzam - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.ctf.core.tests.scope;
-
-import org.junit.runner.RunWith;
-import org.junit.runners.Suite;
-
-/**
- * The class <code>TestAll</code> builds a suite that can be used to run all of
- * the tests within its package as well as within any subpackages of its
- * package.
- *
- * @author Matthew Khouzam
- * @version $Revision: 1.0 $
- */
-@RunWith(Suite.class)
-@Suite.SuiteClasses({
- LexicalScopeTest.class
-})
-public class TestAll {
-
-}
diff --git a/lttng/org.eclipse.linuxtools.ctf.core.tests/src/org/eclipse/linuxtools/ctf/core/tests/synthetictraces/LttngKernelTraceGenerator.java b/lttng/org.eclipse.linuxtools.ctf.core.tests/src/org/eclipse/linuxtools/ctf/core/tests/synthetictraces/LttngKernelTraceGenerator.java
deleted file mode 100644
index 07d3ecab17..0000000000
--- a/lttng/org.eclipse.linuxtools.ctf.core.tests/src/org/eclipse/linuxtools/ctf/core/tests/synthetictraces/LttngKernelTraceGenerator.java
+++ /dev/null
@@ -1,476 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013, 2014 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:
- * Matthew Khouzam - Initial API and implementation
- * Marc-Andre Laperle - Move generation to traces folder
- *******************************************************************************/
-
-package org.eclipse.linuxtools.ctf.core.tests.synthetictraces;
-
-import java.io.File;
-import java.io.FileNotFoundException;
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.net.URL;
-import java.nio.ByteBuffer;
-import java.nio.ByteOrder;
-import java.nio.channels.FileChannel;
-import java.util.Arrays;
-import java.util.List;
-import java.util.Random;
-
-import org.eclipse.core.runtime.FileLocator;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.linuxtools.ctf.core.tests.CtfCoreTestPlugin;
-
-/**
- * Generate a kernel trace
- *
- * @author Matthew Khouzam
- */
-public class LttngKernelTraceGenerator {
-
- private static final String metadata = "/* CTF 1.8 */ \n" +
- "typealias integer { size = 8; align = 8; signed = false; } := uint8_t;\n" +
- "typealias integer { size = 16; align = 8; signed = false; } := uint16_t;\n" +
- "typealias integer { size = 32; align = 8; signed = false; } := uint32_t;\n" +
- "typealias integer { size = 64; align = 8; signed = false; } := uint64_t;\n" +
- "typealias integer { size = 32; align = 8; signed = false; } := unsigned long;\n" +
- "typealias integer { size = 5; align = 1; signed = false; } := uint5_t;\n" +
- "typealias integer { size = 27; align = 1; signed = false; } := uint27_t;\n" +
- "\n" +
- "trace {\n" +
- " major = 1;\n" +
- " minor = 8;\n" +
- " uuid = \"11111111-1111-1111-1111-111111111111\";\n" +
- " byte_order = le;\n" +
- " packet.header := struct {\n" +
- " uint32_t magic;\n" +
- " uint8_t uuid[16];\n" +
- " uint32_t stream_id;\n" +
- " };\n" +
- "};\n" +
- "\n" +
- "env {\n" +
- " hostname = \"synthetic-host\";\n" +
- " domain = \"kernel\";\n" +
- " sysname = \"FakeLinux\";\n" +
- " kernel_release = \"1.0\";\n" +
- " kernel_version = \"Fake Os Synthetic Trace\";\n" +
- " tracer_name = \"lttng-modules\";\n" +
- " tracer_major = 2;\n" +
- " tracer_minor = 1;\n" +
- " tracer_patchlevel = 0;\n" +
- "};\n" +
- "\n" +
- "clock {\n" +
- " name = monotonic;\n" +
- " uuid = \"bbff68f0-c633-4ea1-92cd-bd11024ec4de\";\n" +
- " description = \"Monotonic Clock\";\n" +
- " freq = 1000000000; /* Frequency, in Hz */\n" +
- " /* clock value offset from Epoch is: offset * (1/freq) */\n" +
- " offset = 1368000272650993664;\n" +
- "};\n" +
- "\n" +
- "typealias integer {\n" +
- " size = 27; align = 1; signed = false;\n" +
- " map = clock.monotonic.value;\n" +
- "} := uint27_clock_monotonic_t;\n" +
- "\n" +
- "typealias integer {\n" +
- " size = 32; align = 8; signed = false;\n" +
- " map = clock.monotonic.value;\n" +
- "} := uint32_clock_monotonic_t;\n" +
- "\n" +
- "typealias integer {\n" +
- " size = 64; align = 8; signed = false;\n" +
- " map = clock.monotonic.value;\n" +
- "} := uint64_clock_monotonic_t;\n" +
- "\n" +
- "struct packet_context {\n" +
- " uint64_clock_monotonic_t timestamp_begin;\n" +
- " uint64_clock_monotonic_t timestamp_end;\n" +
- " uint64_t content_size;\n" +
- " uint64_t packet_size;\n" +
- " unsigned long events_discarded;\n" +
- " uint32_t cpu_id;\n" +
- "};\n" +
- "\n" +
- "struct event_header_compact {\n" +
- " enum : uint5_t { compact = 0 ... 30, extended = 31 } id;\n" +
- " variant <id> {\n" +
- " struct {\n" +
- " uint27_clock_monotonic_t timestamp;\n" +
- " } compact;\n" +
- " struct {\n" +
- " uint32_t id;\n" +
- " uint64_clock_monotonic_t timestamp;\n" +
- " } extended;\n" +
- " } v;\n" +
- "} align(8);\n" +
- "\n" +
- "struct event_header_large {\n" +
- " enum : uint16_t { compact = 0 ... 65534, extended = 65535 } id;\n" +
- " variant <id> {\n" +
- " struct {\n" +
- " uint32_clock_monotonic_t timestamp;\n" +
- " } compact;\n" +
- " struct {\n" +
- " uint32_t id;\n" +
- " uint64_clock_monotonic_t timestamp;\n" +
- " } extended;\n" +
- " } v;\n" +
- "} align(8);\n" +
- "\n" +
- "stream {\n" +
- " id = 0;\n" +
- " event.header := struct event_header_compact;\n" +
- " packet.context := struct packet_context;\n" +
- "};\n" +
- "\n" +
- "event {\n" +
- " name = sched_switch;\n" +
- " id = 0;\n" +
- " stream_id = 0;\n" +
- " fields := struct {\n" +
- " integer { size = 8; align = 8; signed = 1; encoding = UTF8; base = 10; } _prev_comm[16];\n" +
- " integer { size = 32; align = 8; signed = 1; encoding = none; base = 10; } _prev_tid;\n" +
- " integer { size = 32; align = 8; signed = 1; encoding = none; base = 10; } _prev_prio;\n" +
- " integer { size = 32; align = 8; signed = 1; encoding = none; base = 10; } _prev_state;\n" +
- " integer { size = 8; align = 8; signed = 1; encoding = UTF8; base = 10; } _next_comm[16];\n" +
- " integer { size = 32; align = 8; signed = 1; encoding = none; base = 10; } _next_tid;\n" +
- " integer { size = 32; align = 8; signed = 1; encoding = none; base = 10; } _next_prio;\n" +
- " };\n" +
- "};\n" +
- "\n";
-
- private final List<String> fProcesses;
- private final long fDuration;
- private final long fNbEvents;
- private final int fNbChans;
-
- private static final String[] sfProcesses = {
- "IDLE",
- "gnuplot",
- "starcraft 2:pt3",
- "bash",
- "smash",
- "thrash",
- "fireball",
- "Half-life 3",
- "ST: The game"
- };
-
-
- private static final String TRACES_DIRECTORY = "traces";
- private static final String TRACE_NAME = "synthetic-trace";
-
- /**
- * Main, not always needed
- *
- * @param args
- * args
- */
- public static void main(String[] args) {
- // not using createTempFile as this is a directory
- String path = CtfCoreTestPlugin.getTemporaryDirPath() + File.separator + TRACE_NAME;
- generateLttngKernelTrace(new File(path));
- }
-
- /**
- * Gets the name of the trace (top directory name)
- *
- * @return the name of the trace
- */
- public static String getName() {
- return TRACE_NAME;
- }
-
- /**
- * Get the path
- *
- * @return the path
- */
- public static String getPath() {
- CtfCoreTestPlugin plugin = CtfCoreTestPlugin.getDefault();
- if (plugin == null) {
- return null;
- }
- URL location = FileLocator.find(plugin.getBundle(), new Path(TRACES_DIRECTORY), null);
- File file = null;
- try {
- IPath path = new Path(FileLocator.toFileURL(location).getPath()).append(TRACE_NAME);
- file = path.toFile();
- } catch (IOException e) {
- // Shouldn't happen but at least throw something to get the test to fail early
- throw new IllegalStateException();
- }
-
- if (!file.exists()) {
- generateLttngKernelTrace(file);
- }
- return file.getAbsolutePath();
- }
-
- /**
- * Generate a trace
- *
- * @param file
- * the file to write the trace to
- */
- public static void generateLttngKernelTrace(File file) {
- final int cpus = 25;
- LttngKernelTraceGenerator gt = new LttngKernelTraceGenerator(2l * Integer.MAX_VALUE - 100, 500000, cpus);
- gt.writeTrace(file);
- }
-
- /**
- * Make a kernel trace
- *
- * @param duration
- * the duration of the trace
- * @param events
- * the number of events in a trace
- * @param nbChannels
- * the number of channels in the trace
- */
- public LttngKernelTraceGenerator(long duration, long events, int nbChannels) {
- fProcesses = Arrays.asList(sfProcesses);
- fDuration = duration;
- fNbEvents = events;
- fNbChans = nbChannels;
- }
-
- /**
- * Write the trace to a file
- *
- * @param file
- * the file to write the trace to
- */
- public void writeTrace(File file) {
-
- if (!file.exists()) {
- file.mkdir();
- } else {
- if (file.isFile()) {
- file.delete();
- file.mkdir();
- } else {
- // the ctf parser doesn't recurse, so we don't need to.
- final File[] listFiles = file.listFiles();
- for (File child : listFiles) {
- child.delete();
- }
- }
- }
-
- File metadataFile = new File(file.getPath() + File.separator + "metadata");
- File[] streams = new File[fNbChans];
- FileChannel[] channels = new FileChannel[fNbChans];
-
- try {
- for (int i = 0; i < fNbChans; i++) {
- streams[i] = new File(file.getPath() + File.separator + "channel" + i);
- channels[i] = new FileOutputStream(streams[i]).getChannel();
- }
- } catch (FileNotFoundException e) {
- }
- // determine the number of events per channel
- long evPerChan = fNbEvents / fNbChans;
- int delta = (int) (fDuration / evPerChan);
- int offsetTime = 0;
- for (int chan = 0; chan < fNbChans; chan++) {
- int currentSpace = 0;
- ByteBuffer bb = ByteBuffer.allocate(65536);
- bb.order(ByteOrder.LITTLE_ENDIAN);
- Random rnd = new Random(1337);
- int rnd0 = rnd.nextInt(fProcesses.size());
- String prevComm = fProcesses.get(rnd0);
- int prevPID = rnd0 + chan * fProcesses.size();
- if (rnd0 == 0) {
- prevPID = 0;
- }
- int prevPrio = 0;
- int prevPos = -1;
- for (int eventNb = 0; eventNb < evPerChan; eventNb++) {
- int ts = eventNb * delta + delta / (fNbChans + 1) * chan;
-
- int pos = rnd.nextInt((int) (fProcesses.size() * 1.5));
- if (pos >= fProcesses.size()) {
- pos = 0;
- }
- while (pos == prevPos) {
- pos = rnd.nextInt((int) (fProcesses.size() * 1.5));
- if (pos >= fProcesses.size()) {
- pos = 0;
- }
- }
- String nextComm = fProcesses.get(pos);
- int nextPID = pos + fProcesses.size() * chan;
- if (pos == 0) {
- nextPID = 0;
- }
- int nextPrio = 0;
- if (EventWriter.SIZE > currentSpace) {
- // pad to end
- for (int i = 0; i < currentSpace; i++) {
- bb.put((byte) 0x00);
- }
- // write new packet
- PacketWriter pw = new PacketWriter(bb);
- int tsBegin = ts;
- offsetTime = ts;
- int tsEnd = (eventNb + (PacketWriter.SIZE / EventWriter.SIZE)) * delta + 1;
- pw.writeNewHeader(tsBegin, tsEnd, chan);
- currentSpace = PacketWriter.CONTENT_SIZE;
- }
- EventWriter ew = new EventWriter(bb);
- int prev_state = rnd.nextInt(100);
- if (prev_state != 0) {
- prev_state = 1;
- }
- final int shrunkenTimestamp = ts - offsetTime;
- final int tsMask = (1 << 27) - 1;
- if (shrunkenTimestamp > ((1 << 27) + tsMask)) {
- new Object();
- System.err.println("PROBLEM");
- }
- final int clampedTs = ts & tsMask;
- int evSize = ew.writeEvent(clampedTs, prevComm, prevPID, prevPrio, prev_state, nextComm, nextPID, nextPrio);
- currentSpace -= evSize;
- prevComm = nextComm;
- prevPID = nextPID;
- prevPrio = nextPrio;
- if (bb.position() > 63000) {
- writeToDisk(channels, chan, bb);
- }
- }
- for (int i = 0; i < currentSpace; i++) {
- bb.put((byte) 0x00);
- }
- writeToDisk(channels, chan, bb);
- try {
- channels[chan].close();
- } catch (IOException e) {
- e.printStackTrace();
- }
- }
- try (FileOutputStream fos = new FileOutputStream(metadataFile);) {
- fos.write(metadata.getBytes());
- } catch (IOException e) {
- }
- }
-
- private static void writeToDisk(FileChannel[] channels, int chan, ByteBuffer bb) {
- try {
- bb.flip();
- channels[chan].write(bb);
- bb.clear();
- } catch (IOException e) {
- e.printStackTrace();
- }
- }
-
- private class EventWriter {
- public static final int SIZE =
- 4 + // timestamp
- 16 + // prev_comm
- 4 + // prev_tid
- 4 + // prev_prio
- 4 + // prev_state
- 16 + // current_comm
- 4 + // next_tid
- 4; // next_prio
- private final ByteBuffer data;
-
- public EventWriter(ByteBuffer bb) {
- data = bb;
- }
-
- public int writeEvent(int ts, String prev_comm, int prev_tid, int prev_prio, int prev_state, String next_comm, int next_tid, int next_prio) {
- byte[] bOut = new byte[16];
- byte[] bIn = new byte[16];
- byte[] temp = prev_comm.getBytes();
- for (int i = 0; i < Math.min(temp.length, 16); i++) {
- bOut[i] = temp[i];
- }
- temp = next_comm.getBytes();
- for (int i = 0; i < Math.min(temp.length, 16); i++) {
- bIn[i] = temp[i];
- }
-
- int timestamp = ts << 5;
-
- data.putInt(timestamp);
- data.put(bOut);
- data.putInt(prev_tid);
- data.putInt(prev_prio);
- data.putInt(prev_state);
- data.put(bIn);
- data.putInt(next_tid);
- data.putInt(next_prio);
- return SIZE;
- }
-
- }
-
- private class PacketWriter {
- private static final int SIZE = 4096;
- private static final int HEADER_SIZE = 64;
- private static final int CONTENT_SIZE = SIZE - HEADER_SIZE;
-
- private final ByteBuffer data;
-
- public PacketWriter(ByteBuffer bb) {
- data = bb;
- }
-
- public void writeNewHeader(int tsBegin, int tsEnd, int cpu) {
- final int magicLE = 0xC1FC1FC1;
- byte uuid[] = {
- 0x11, 0x11, 0x11, 0x11,
- 0x11, 0x11, 0x11, 0x11,
- 0x11, 0x11, 0x11, 0x11,
- 0x11, 0x11, 0x11, 0x11 };
- // packet header
-
- // magic number 4
- data.putInt(magicLE);
- // uuid 16
- data.put(uuid);
- // stream ID 4
- data.putInt(0);
-
- // packet context
- // timestamp_begin 8
- data.putLong(tsBegin);
-
- // timestamp_end 8
- data.putLong(tsEnd);
-
- // content_size 8
- data.putLong((CONTENT_SIZE / EventWriter.SIZE * EventWriter.SIZE + HEADER_SIZE) * 8);
-
- // packet_size 8
- data.putLong((SIZE) * 8);
-
- // events_discarded 4
- data.putInt(0);
-
- // cpu_id 4
- data.putInt(cpu);
-
- }
-
- }
-
-
-
-}
diff --git a/lttng/org.eclipse.linuxtools.ctf.core.tests/src/org/eclipse/linuxtools/ctf/core/tests/trace/CTFStreamInputPacketIndexEntryTest.java b/lttng/org.eclipse.linuxtools.ctf.core.tests/src/org/eclipse/linuxtools/ctf/core/tests/trace/CTFStreamInputPacketIndexEntryTest.java
deleted file mode 100644
index 9ec59d0d65..0000000000
--- a/lttng/org.eclipse.linuxtools.ctf.core.tests/src/org/eclipse/linuxtools/ctf/core/tests/trace/CTFStreamInputPacketIndexEntryTest.java
+++ /dev/null
@@ -1,69 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 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:
- * Matthew Khouzam - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.ctf.core.tests.trace;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-
-import org.eclipse.linuxtools.internal.ctf.core.trace.StreamInputPacketIndexEntry;
-import org.junit.Before;
-import org.junit.Test;
-
-/**
- * The class <code>StreamInputPacketIndexEntryTest</code> contains tests for the
- * class <code>{@link StreamInputPacketIndexEntry}</code>.
- *
- * @author ematkho
- * @version $Revision: 1.0 $
- */
-public class CTFStreamInputPacketIndexEntryTest {
-
- private StreamInputPacketIndexEntry fixture;
-
- /**
- * Perform pre-test initialization.
- */
- @Before
- public void setUp() {
- fixture = new StreamInputPacketIndexEntry(1L);
- }
-
- /**
- * Run the StreamInputPacketIndexEntry(long) constructor test.
- */
- @Test
- public void testStreamInputPacketIndexEntry_1() {
- String expectedResult = "StreamInputPacketIndexEntry [offsetBytes=1, " +
- "timestampBegin=0, timestampEnd=0]";
-
- assertNotNull(fixture);
- assertEquals(expectedResult, fixture.toString());
- }
-
- /**
- * Run the String toString() method test.
- */
- @Test
- public void testToString() {
- String expectedResult = "StreamInputPacketIndexEntry [offsetBytes=1,"+
- " timestampBegin=1, timestampEnd=1]";
-
-
- fixture.setContentSizeBits(1);
- fixture.setDataOffsetBits(1);
- fixture.setTimestampEnd(1L);
- fixture.setPacketSizeBits(1);
- fixture.setTimestampBegin(1L);
-
- assertEquals(expectedResult, fixture.toString());
- }
-} \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.ctf.core.tests/src/org/eclipse/linuxtools/ctf/core/tests/trace/CTFStreamInputPacketIndexTest.java b/lttng/org.eclipse.linuxtools.ctf.core.tests/src/org/eclipse/linuxtools/ctf/core/tests/trace/CTFStreamInputPacketIndexTest.java
deleted file mode 100644
index a9aef8bf93..0000000000
--- a/lttng/org.eclipse.linuxtools.ctf.core.tests/src/org/eclipse/linuxtools/ctf/core/tests/trace/CTFStreamInputPacketIndexTest.java
+++ /dev/null
@@ -1,166 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 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:
- * Matthew Khouzam - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.ctf.core.tests.trace;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-
-import java.util.Collection;
-import java.util.ListIterator;
-
-import org.eclipse.linuxtools.ctf.core.trace.CTFReaderException;
-import org.eclipse.linuxtools.internal.ctf.core.trace.StreamInputPacketIndex;
-import org.eclipse.linuxtools.internal.ctf.core.trace.StreamInputPacketIndexEntry;
-import org.junit.Before;
-import org.junit.Test;
-
-/**
- * The class <code>StreamInputPacketIndexTest</code> contains tests for the
- * class <code>{@link StreamInputPacketIndex}</code>.
- *
- * @author ematkho
- * @version $Revision: 1.0 $
- */
-@SuppressWarnings("javadoc")
-public class CTFStreamInputPacketIndexTest {
-
- private StreamInputPacketIndex fixture;
- private StreamInputPacketIndexEntry entry;
-
- /**
- * Perform pre-test initialization.
- *
- * @throws CTFReaderException
- */
- @Before
- public void setUp() throws CTFReaderException {
- fixture = new StreamInputPacketIndex();
- fixture.addEntry(new StreamInputPacketIndexEntry(1L));
- entry = new StreamInputPacketIndexEntry(1L);
- }
-
- /**
- * Run the StreamInputPacketIndex() constructor test.
- */
- @Test
- public void testStreamInputPacketIndex() {
- assertNotNull(fixture);
- }
-
- /**
- * Run the void addEntry(StreamInputPacketIndexEntry) method test, by
- * specifying only 1 parameter to the entry.
- *
- * @throws CTFReaderException
- */
- @Test
- public void testAddEntry_1param() throws CTFReaderException {
- entry.setPacketSizeBits(0);
- fixture.addEntry(entry);
- }
-
- /**
- * Run the void addEntry(StreamInputPacketIndexEntry) method test by
- * specifying 2 parameters to the entry.
- *
- * @throws CTFReaderException
- */
- @Test
- public void testAddEntry_2params() throws CTFReaderException {
- entry.setPacketSizeBits(1);
- entry.setContentSizeBits(0);
- fixture.addEntry(entry);
- }
-
- /**
- * Run the void addEntry(StreamInputPacketIndexEntry) method test, by
- * specifying all 4 parameters to the entry.
- *
- * @throws CTFReaderException
- */
- @Test
- public void testAddEntry_4params() throws CTFReaderException {
- entry.setTimestampBegin(1L);
- entry.setPacketSizeBits(1);
- entry.setContentSizeBits(1);
- entry.setTimestampEnd(1L);
- fixture.addEntry(entry);
- }
-
- /**
- * Run the Collection<StreamInputPacketIndexEntry> getEntries() method test.
- */
- @Test
- public void testGetEntries() {
- Collection<StreamInputPacketIndexEntry> result = fixture.getEntries();
-
- assertNotNull(result);
- assertEquals(1, result.size());
- }
-
- /**
- * Run the ListIterator<StreamInputPacketIndexEntry> listIterator() method
- * test, with no parameter to listIterator().
- */
- @Test
- public void testListIterator_noparam() {
- ListIterator<StreamInputPacketIndexEntry> result = fixture.listIterator();
-
- assertNotNull(result);
- assertEquals(true, result.hasNext());
- assertEquals(-1, result.previousIndex());
- assertEquals(false, result.hasPrevious());
- assertEquals(0, result.nextIndex());
- }
-
- /**
- * Run the ListIterator<StreamInputPacketIndexEntry> listIterator(n) method
- * test, with n = 1.
- */
- @Test
- public void testListIterator_withparam() {
- ListIterator<StreamInputPacketIndexEntry> result = fixture.listIterator(1);
-
- assertNotNull(result);
- assertEquals(false, result.hasNext());
- assertEquals(0, result.previousIndex());
- assertEquals(true, result.hasPrevious());
- assertEquals(1, result.nextIndex());
- assertEquals(false, result.hasNext());
- }
-
- /**
- * Run the ListIterator<StreamInputPacketIndexEntry> search(long) method
- * test with a valid timestamp.
- */
- @Test
- public void testSearch_valid() {
- ListIterator<StreamInputPacketIndexEntry> result = fixture.search(1L);
-
- assertNotNull(result);
- assertEquals(true, result.hasNext());
- assertEquals(-1, result.previousIndex());
- assertEquals(false, result.hasPrevious());
- assertEquals(0, result.nextIndex());
- }
-
- /**
- * Run the ListIterator<StreamInputPacketIndexEntry> search(long) method
- * test with an invalid timestamp.
- */
- @Test(expected = java.lang.IllegalArgumentException.class)
- public void testSearch_invalid() {
- ListIterator<StreamInputPacketIndexEntry> result = fixture.search(-1L);
-
- assertNotNull(result);
- }
-} \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.ctf.core.tests/src/org/eclipse/linuxtools/ctf/core/tests/trace/CTFStreamInputReaderTest.java b/lttng/org.eclipse.linuxtools.ctf.core.tests/src/org/eclipse/linuxtools/ctf/core/tests/trace/CTFStreamInputReaderTest.java
deleted file mode 100644
index c2ea8a74ac..0000000000
--- a/lttng/org.eclipse.linuxtools.ctf.core.tests/src/org/eclipse/linuxtools/ctf/core/tests/trace/CTFStreamInputReaderTest.java
+++ /dev/null
@@ -1,228 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013, 2014 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:
- * Matthew Khouzam - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.ctf.core.tests.trace;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assume.assumeTrue;
-
-import java.io.File;
-import java.io.IOException;
-import java.util.Set;
-
-import org.eclipse.linuxtools.ctf.core.event.EventDefinition;
-import org.eclipse.linuxtools.ctf.core.event.types.Definition;
-import org.eclipse.linuxtools.ctf.core.event.types.StringDeclaration;
-import org.eclipse.linuxtools.ctf.core.event.types.StringDefinition;
-import org.eclipse.linuxtools.ctf.core.event.types.StructDeclaration;
-import org.eclipse.linuxtools.ctf.core.event.types.StructDefinition;
-import org.eclipse.linuxtools.ctf.core.tests.shared.CtfTestTrace;
-import org.eclipse.linuxtools.ctf.core.trace.CTFReaderException;
-import org.eclipse.linuxtools.ctf.core.trace.CTFResponse;
-import org.eclipse.linuxtools.ctf.core.trace.CTFTrace;
-import org.eclipse.linuxtools.ctf.core.trace.CTFStream;
-import org.eclipse.linuxtools.ctf.core.trace.CTFStreamInput;
-import org.eclipse.linuxtools.ctf.core.trace.CTFStreamInputReader;
-import org.eclipse.linuxtools.internal.ctf.core.event.EventDeclaration;
-import org.junit.Before;
-import org.junit.Test;
-
-import com.google.common.collect.ImmutableList;
-
-/**
- * The class <code>StreamInputReaderTest</code> contains tests for the class
- * <code>{@link CTFStreamInputReader}</code>.
- *
- * @author ematkho
- * @version $Revision: 1.0 $
- */
-@SuppressWarnings("javadoc")
-public class CTFStreamInputReaderTest {
-
- private static final CtfTestTrace testTrace = CtfTestTrace.KERNEL;
-
- private CTFStreamInputReader fixture;
-
- private static ImmutableList<String> wrap(String s) {
- return ImmutableList.<String> builder().add(s).build();
- }
-
- /**
- * Perform pre-test initialization.
- *
- * @throws CTFReaderException
- */
- @Before
- public void setUp() throws CTFReaderException {
- fixture = getStreamInputReader();
- fixture.setName(1);
- fixture.setCurrentEvent(new EventDefinition(new EventDeclaration(),
- getStreamInputReader(), 0, null, null,
- new StructDefinition(
- new StructDeclaration(0),
- null,
- "packet",
- wrap( "field" ),
- new Definition[] { new StringDefinition(new StringDeclaration(), null, "field", "test") }),
- null)
- );
- }
-
- private static CTFStreamInputReader getStreamInputReader() throws CTFReaderException {
- assumeTrue(testTrace.exists());
- CTFTrace trace = testTrace.getTrace();
- CTFStream s = trace.getStream((long) 0);
- Set<CTFStreamInput> streamInput = s.getStreamInputs();
- CTFStreamInputReader retVal = null;
- for (CTFStreamInput si : streamInput) {
- /*
- * For the tests, we'll use the stream input corresponding to the
- * CPU 0
- */
- if (si.getFilename().endsWith("0_0")) {
- retVal = new CTFStreamInputReader(si);
- break;
- }
- }
- return retVal;
- }
-
- /**
- * Run the StreamInputReader(StreamInput) constructor test, with a valid
- * trace.
- */
- @Test
- public void testStreamInputReader_valid() {
- assertNotNull(fixture);
- }
-
- /**
- * Run the StreamInputReader(StreamInput) constructor test, with an invalid
- * trace.
- *
- * @throws CTFReaderException
- * @throws IOException
- */
- @Test(expected = CTFReaderException.class)
- public void testStreamInputReader_invalid() throws CTFReaderException, IOException {
- try (CTFStreamInput streamInput = new CTFStreamInput(new CTFStream(new CTFTrace("")), new File(""));
- CTFStreamInputReader result = new CTFStreamInputReader(streamInput)) {
- assertNotNull(result);
- }
- }
-
- /**
- * Run the int getCPU() method test.
- */
- @Test
- public void testGetCPU() {
- int result = fixture.getCPU();
- assertEquals(0, result);
- }
-
- /**
- * Run the EventDefinition getCurrentEvent() method test.
- */
- @Test
- public void testGetCurrentEvent() {
- EventDefinition result = fixture.getCurrentEvent();
- assertNotNull(result);
- }
-
- /**
- * Run the StructDefinition getCurrentPacketContext() method test.
- */
- @Test
- public void testGetCurrentPacketContext() {
- StructDefinition result = fixture.getCurrentEvent().getPacketContext();
- assertNotNull(result);
- }
-
- /**
- * Run the int getName() method test.
- */
- @Test
- public void testGetName() {
- int result = fixture.getName();
- assertEquals(1, result);
- }
-
- /**
- * Run the void goToLastEvent() method test.
- *
- * @throws CTFReaderException
- * error
- */
- @Test
- public void testGoToLastEvent1() throws CTFReaderException {
- final long endTimestamp = goToEnd();
- final long endTime = 4287422460315L;
- assertEquals(endTime, endTimestamp);
- }
-
- /**
- * Run the void goToLastEvent() method test.
- *
- * @throws CTFReaderException
- * error
- */
- @Test
- public void testGoToLastEvent2() throws CTFReaderException {
- long timestamp = -1;
- while (fixture.readNextEvent().equals(CTFResponse.OK)) {
- timestamp = fixture.getCurrentEvent().getTimestamp();
- }
- long endTimestamp = goToEnd();
- assertEquals(0, timestamp - endTimestamp);
- }
-
- private long goToEnd() throws CTFReaderException {
- fixture.goToLastEvent();
- return fixture.getCurrentEvent().getTimestamp();
- }
-
- /**
- * Run the boolean readNextEvent() method test.
- *
- * @throws CTFReaderException
- * error
- */
- @Test
- public void testReadNextEvent() throws CTFReaderException {
- assertEquals(CTFResponse.OK, fixture.readNextEvent());
- }
-
- /**
- * Run the void seek(long) method test. Seek by direct timestamp
- *
- * @throws CTFReaderException
- * error
- */
- @Test
- public void testSeek_timestamp() throws CTFReaderException {
- long timestamp = 1L;
- fixture.seek(timestamp);
- }
-
- /**
- * Run the seek test. Seek by passing an EventDefinition to which we've
- * given the timestamp we want.
- *
- * @throws CTFReaderException
- */
- @Test
- public void testSeek_eventDefinition() throws CTFReaderException {
- EventDefinition eventDefinition = new EventDefinition(
- new EventDeclaration(), getStreamInputReader(), 1L, null, null, null, null);
- fixture.setCurrentEvent(eventDefinition);
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.ctf.core.tests/src/org/eclipse/linuxtools/ctf/core/tests/trace/CTFStreamInputReaderTimestampComparatorTest.java b/lttng/org.eclipse.linuxtools.ctf.core.tests/src/org/eclipse/linuxtools/ctf/core/tests/trace/CTFStreamInputReaderTimestampComparatorTest.java
deleted file mode 100644
index 84ecfb4e0f..0000000000
--- a/lttng/org.eclipse.linuxtools.ctf.core.tests/src/org/eclipse/linuxtools/ctf/core/tests/trace/CTFStreamInputReaderTimestampComparatorTest.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 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:
- * Matthew Khouzam - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.ctf.core.tests.trace;
-
-import static org.junit.Assert.assertNotNull;
-
-import org.eclipse.linuxtools.internal.ctf.core.trace.StreamInputReaderTimestampComparator;
-import org.junit.Before;
-import org.junit.Test;
-
-/**
- * The class <code>StreamInputReaderTimestampComparatorTest</code> contains
- * tests for the class <code>{@link StreamInputReaderTimestampComparator}</code>
- *
- * @author ematkho
- * @version $Revision: 1.0 $
- */
-public class CTFStreamInputReaderTimestampComparatorTest {
-
- private StreamInputReaderTimestampComparator fixture;
-
- /**
- * Perform pre-test initialization.
- */
- @Before
- public void setUp() {
- fixture = new StreamInputReaderTimestampComparator();
- }
-
- /**
- * Run the StreamInputReaderTimestampComparator() constructor test.
- */
- @Test
- public void testStreamInputReaderTimestampComparator_1() {
- assertNotNull(fixture);
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.ctf.core.tests/src/org/eclipse/linuxtools/ctf/core/tests/trace/CTFStreamInputTest.java b/lttng/org.eclipse.linuxtools.ctf.core.tests/src/org/eclipse/linuxtools/ctf/core/tests/trace/CTFStreamInputTest.java
deleted file mode 100644
index efce3c64cd..0000000000
--- a/lttng/org.eclipse.linuxtools.ctf.core.tests/src/org/eclipse/linuxtools/ctf/core/tests/trace/CTFStreamInputTest.java
+++ /dev/null
@@ -1,173 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 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:
- * Matthew Khouzam - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.ctf.core.tests.trace;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertNull;
-import static org.junit.Assert.assertTrue;
-import static org.junit.Assume.assumeTrue;
-
-import java.io.File;
-import java.io.FilenameFilter;
-
-import org.eclipse.jdt.annotation.NonNull;
-import org.eclipse.linuxtools.ctf.core.event.types.IDefinition;
-import org.eclipse.linuxtools.ctf.core.tests.shared.CtfTestTrace;
-import org.eclipse.linuxtools.ctf.core.trace.CTFReaderException;
-import org.eclipse.linuxtools.ctf.core.trace.CTFStream;
-import org.eclipse.linuxtools.ctf.core.trace.CTFStreamInput;
-import org.junit.Before;
-import org.junit.Test;
-
-/**
- * The class <code>StreamInputTest</code> contains tests for the class
- * <code>{@link CTFStreamInput}</code>.
- *
- * @author ematkho
- * @version $Revision: 1.0 $
- */
-@SuppressWarnings("javadoc")
-public class CTFStreamInputTest {
-
- private static final CtfTestTrace testTrace = CtfTestTrace.KERNEL;
-
- private CTFStreamInput fixture;
-
- /**
- * Perform pre-test initialization.
- *
- * @throws CTFReaderException
- */
- @Before
- public void setUp() throws CTFReaderException {
- assumeTrue(testTrace.exists());
- fixture = new CTFStreamInput(new CTFStream(testTrace.getTrace()), createFile());
- fixture.setTimestampEnd(1L);
- }
-
- @NonNull
- private static File createFile() {
- File path = new File(testTrace.getPath());
- final File[] listFiles = path.listFiles(new FilenameFilter() {
- @Override
- public boolean accept(File dir, String name) {
- if (name.contains("hann")) {
- return true;
- }
- return false;
- }
- });
- assertNotNull(listFiles);
- final File returnFile = listFiles[0];
- assertNotNull(returnFile);
- return returnFile;
- }
-
- /**
- * Run the StreamInput(Stream,FileChannel,File) constructor test.
- */
- @Test
- public void testStreamInput() {
- assertNotNull(fixture);
- }
-
- /**
- * Run the String getFilename() method test.
- */
- @Test
- public void testGetFilename() {
- String result = fixture.getFilename();
- assertNotNull(result);
- }
-
- /**
- * Run the String getPath() method test.
- */
- @Test
- public void testGetPath() {
- String result = fixture.getScopePath().toString();
- assertNotNull(result);
- }
-
- /**
- * Run the Stream getStream() method test.
- */
- @Test
- public void testGetStream() {
- CTFStream result = fixture.getStream();
- assertNotNull(result);
- }
-
- /**
- * Run the long getTimestampEnd() method test.
- */
- @Test
- public void testGetTimestampEnd() {
- long result = fixture.getTimestampEnd();
- assertTrue(0L < result);
- }
-
- /**
- * Run the Definition lookupDefinition(String) method test.
- */
- @Test
- public void testLookupDefinition() {
- IDefinition result = fixture.lookupDefinition("id");
- assertNull(result);
- }
-
- /**
- * Run the void setTimestampEnd(long) method test.
- */
- @Test
- public void testSetTimestampEnd() {
- fixture.setTimestampEnd(1L);
- assertEquals(fixture.getTimestampEnd(), 1L);
- }
-
- CTFStreamInput s1;
- CTFStreamInput s2;
-
- @Test
- public void testEquals1() throws CTFReaderException {
- s1 = new CTFStreamInput(new CTFStream(testTrace.getTrace()),
- createFile());
- assertFalse(s1.equals(null));
- }
-
- @Test
- public void testEquals2() throws CTFReaderException {
- s1 = new CTFStreamInput(new CTFStream(testTrace.getTrace()),
- createFile());
- assertFalse(s1.equals(new Long(23L)));
-
- }
-
- @Test
- public void testEquals3() throws CTFReaderException {
- s1 = new CTFStreamInput(new CTFStream(testTrace.getTrace()),
- createFile());
- assertEquals(s1, s1);
-
- }
-
- @Test
- public void testEquals4() throws CTFReaderException {
- s1 = new CTFStreamInput(new CTFStream(testTrace.getTrace()),
- createFile());
- s2 = new CTFStreamInput(new CTFStream(testTrace.getTrace()),
- createFile());
- assertEquals(s1, s2);
- }
-} \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.ctf.core.tests/src/org/eclipse/linuxtools/ctf/core/tests/trace/CTFStreamTest.java b/lttng/org.eclipse.linuxtools.ctf.core.tests/src/org/eclipse/linuxtools/ctf/core/tests/trace/CTFStreamTest.java
deleted file mode 100644
index b4012494f2..0000000000
--- a/lttng/org.eclipse.linuxtools.ctf.core.tests/src/org/eclipse/linuxtools/ctf/core/tests/trace/CTFStreamTest.java
+++ /dev/null
@@ -1,261 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 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:
- * Matthew Khouzam - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.ctf.core.tests.trace;
-
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertTrue;
-import static org.junit.Assume.assumeTrue;
-
-import java.io.File;
-import java.io.FilenameFilter;
-import java.io.IOException;
-import java.util.Set;
-
-import org.eclipse.jdt.annotation.NonNull;
-import org.eclipse.linuxtools.ctf.core.event.types.IDeclaration;
-import org.eclipse.linuxtools.ctf.core.event.types.StructDeclaration;
-import org.eclipse.linuxtools.ctf.core.tests.shared.CtfTestTrace;
-import org.eclipse.linuxtools.ctf.core.trace.CTFReaderException;
-import org.eclipse.linuxtools.ctf.core.trace.CTFStream;
-import org.eclipse.linuxtools.ctf.core.trace.CTFStreamInput;
-import org.eclipse.linuxtools.ctf.core.trace.CTFTrace;
-import org.eclipse.linuxtools.internal.ctf.core.event.EventDeclaration;
-import org.eclipse.linuxtools.internal.ctf.core.event.metadata.exceptions.ParseException;
-import org.junit.After;
-import org.junit.Before;
-import org.junit.BeforeClass;
-import org.junit.Test;
-
-/**
- * The class <code>StreamTest</code> contains tests for the class
- * <code>{@link CTFStream}</code>.
- *
- * @author ematkho
- * @version $Revision: 1.0 $
- */
-@SuppressWarnings("javadoc")
-public class CTFStreamTest {
-
- private static final CtfTestTrace testTrace = CtfTestTrace.KERNEL;
-
- private CTFStream fixture;
-
- private CTFStreamInput fInput;
-
- @BeforeClass
- public static void initialize() {
- assumeTrue(testTrace.exists());
- }
-
- /**
- * Perform pre-test initialization.
- *
- * @throws CTFReaderException
- */
- @Before
- public void setUp() throws CTFReaderException {
- fixture = new CTFStream(testTrace.getTrace());
- fixture.setEventContext(new StructDeclaration(1L));
- fixture.setPacketContext(new StructDeclaration(1L));
- fixture.setEventHeader(new StructDeclaration(1L));
- fixture.setId(1L);
- fInput = new CTFStreamInput(new CTFStream(testTrace.getTrace()), createFile());
- fixture.addInput(fInput);
- }
-
- @After
- public void tearDown() throws IOException {
- fInput.close();
- }
-
- @NonNull
- private static File createFile() {
- File path = new File(testTrace.getPath());
- final File[] listFiles = path.listFiles(new FilenameFilter() {
- @Override
- public boolean accept(File dir, String name) {
- if (name.contains("hann")) {
- return true;
- }
- return false;
- }
- });
- assertNotNull(listFiles);
- final File returnFile = listFiles[0];
- assertNotNull(returnFile);
- return returnFile;
- }
-
- /**
- * Run the Stream(CTFTrace) constructor test.
- *
- * @throws CTFReaderException
- */
- @Test
- public void testStream() throws CTFReaderException {
- try (CTFTrace trace = testTrace.getTrace()) {
- CTFStream result = new CTFStream(trace);
- assertNotNull(result);
- }
- }
-
- /**
- * Run the void addEvent(EventDeclaration) method test with the basic event.
- *
- * @throws ParseException
- */
- @Test
- public void testAddEvent_base() throws ParseException {
- EventDeclaration event = new EventDeclaration();
- fixture.addEvent(event);
- }
-
- /**
- * Run the boolean eventContextIsSet() method test.
- */
- @Test
- public void testEventContextIsSet() {
- assertTrue(fixture.isEventContextSet());
- }
-
- /**
- * Run the boolean eventContextIsSet() method test.
- */
- @Test
- public void testToString() {
- assertNotNull(fixture.toString());
- }
-
- /**
- * Run the boolean eventHeaderIsSet() method test.
- */
- @Test
- public void testEventHeaderIsSet() {
- assertTrue(fixture.isEventHeaderSet());
- }
-
- /**
- * Run the StructDeclaration getEventContextDecl() method test.
- */
- @Test
- public void testGetEventContextDecl() {
- assertNotNull(fixture.getEventContextDecl());
- }
-
- /**
- * Run the StructDeclaration getEventHeaderDecl() method test.
- */
- @Test
- public void testGetEventHeaderDecl() {
- IDeclaration eventHeaderDecl = fixture.getEventHeaderDeclaration();
- assertNotNull(eventHeaderDecl);
- }
-
- /**
- * Run the HashMap<Long, EventDeclaration> getEvents() method test.
- */
- @Test
- public void testGetEvents() {
- assertNotNull(fixture.getEventDeclarations());
- }
-
- /**
- * Run the Long getId() method test.
- */
- @Test
- public void testGetId() {
- Long result = fixture.getId();
- assertNotNull(result);
- }
-
- /**
- * Run the StructDeclaration getPacketContextDecl() method test.
- */
- @Test
- public void testGetPacketContextDecl() {
- StructDeclaration result = fixture.getPacketContextDecl();
- assertNotNull(result);
- }
-
- /**
- * Run the Set<StreamInput> getStreamInputs() method test.
- */
- @Test
- public void testGetStreamInputs() {
- Set<CTFStreamInput> result = fixture.getStreamInputs();
- assertNotNull(result);
- }
-
- /**
- * Run the CTFTrace getTrace() method test.
- */
- @Test
- public void testGetTrace() {
- try (CTFTrace result = fixture.getTrace();) {
- assertNotNull(result);
- }
- }
-
- /**
- * Run the boolean idIsSet() method test.
- */
- @Test
- public void testIdIsSet() {
- boolean result = fixture.isIdSet();
- assertTrue(result);
- }
-
- /**
- * Run the boolean packetContextIsSet() method test.
- */
- @Test
- public void testPacketContextIsSet() {
- boolean result = fixture.isPacketContextSet();
- assertTrue(result);
- }
-
- /**
- * Run the void setEventContext(StructDeclaration) method test.
- */
- @Test
- public void testSetEventContext() {
- StructDeclaration eventContext = new StructDeclaration(1L);
- fixture.setEventContext(eventContext);
- }
-
- /**
- * Run the void setEventHeader(StructDeclaration) method test.
- */
- @Test
- public void testSetEventHeader() {
- StructDeclaration eventHeader = new StructDeclaration(1L);
- fixture.setEventHeader(eventHeader);
- }
-
- /**
- * Run the void setId(long) method test.
- */
- @Test
- public void testSetId() {
- long id = 1L;
- fixture.setId(id);
- }
-
- /**
- * Run the void setPacketContext(StructDeclaration) method test.
- */
- @Test
- public void testSetPacketContext() {
- StructDeclaration packetContext = new StructDeclaration(1L);
- fixture.setPacketContext(packetContext);
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.ctf.core.tests/src/org/eclipse/linuxtools/ctf/core/tests/trace/CTFTraceCallsitePerformanceTest.java b/lttng/org.eclipse.linuxtools.ctf.core.tests/src/org/eclipse/linuxtools/ctf/core/tests/trace/CTFTraceCallsitePerformanceTest.java
deleted file mode 100644
index eec6104caf..0000000000
--- a/lttng/org.eclipse.linuxtools.ctf.core.tests/src/org/eclipse/linuxtools/ctf/core/tests/trace/CTFTraceCallsitePerformanceTest.java
+++ /dev/null
@@ -1,202 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 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:
- * Matthew Khouzam - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.ctf.core.tests.trace;
-
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertTrue;
-import static org.junit.Assume.assumeTrue;
-
-import java.util.Random;
-import java.util.TreeSet;
-
-import org.eclipse.linuxtools.ctf.core.event.CTFCallsite;
-import org.eclipse.linuxtools.ctf.core.tests.shared.CtfTestTrace;
-import org.eclipse.linuxtools.ctf.core.trace.CTFReaderException;
-import org.eclipse.linuxtools.ctf.core.trace.CTFTrace;
-import org.junit.Before;
-import org.junit.Test;
-
-/**
- * Test the performance of the callsite storage in the CTF trace.
- *
- * @author Matthew Khouzam
- */
-public class CTFTraceCallsitePerformanceTest {
-
- private static final CtfTestTrace testTrace = CtfTestTrace.KERNEL;
-
- private static final int NUMBER_OF_SEEKS = 100000;
-
- private final String[] callsites = { "Alligator", "Bunny", "Cat",
- "Dolphin", "Echidna", "Gazelle", "Heron", "Ibex", "Jackalope",
- "Koala", "Lynx", "Meerkat", "Narwhal", "Ocelot", "Pangolin",
- "Quetzal", "Ringtail", "Sandpiper", "Tiger", "Urchin", "Vulture",
- "Walrus", "X-Ray Tetra", "Zonkey" };
-
- private final String[] functions = { "sentence", "together", "children",
- "mountain", "chipmunk", "crashing", "drinking", "insisted",
- "insulted", "invented", "squinted", "standing", "swishing",
- "talented", "whiplash", "complain", "granddad", "sprinkle",
- "surprise", "umbrella", "anything", "anywhere", "baseball",
- "birthday", "bluebird", "cheerful", "colorful", "daylight",
- "doghouse", "driveway", "everyone" };
-
- private final String[] files = { "Adult.java", "Aeroplane.java",
- "Air.java", "Airforce.java", "Airport.java", "Album.java",
- "Alphabet.java", "Apple.java", "Arm.java", "Army.java", "Babby.java" };
-
- Random rnd = new Random();
- CTFTrace fTrace = null;
-
- /**
- * main, launches the tests.
- * @param args not read
- */
- public static void main(String[] args) {
- new org.junit.runner.JUnitCore().run(CTFTraceCallsitePerformanceTest.class);
- }
-
-
- /**
- * sets up the test by making a new trace.
- * @throws CTFReaderException an exception from the reader
- * @throws SecurityException an exception from accessing files illegally
- * @throws IllegalArgumentException an exception for passing bad values
- */
- @Before
- public void setup() throws CTFReaderException, SecurityException,
- IllegalArgumentException {
- assumeTrue(testTrace.exists());
- fTrace = new CTFTrace(testTrace.getPath());
- }
-
- private void addCallsites(int numCallsites) {
- long stepSize = (Long.MAX_VALUE / (numCallsites + 1));
- int jitter = (int) Math.min(stepSize, Integer.MAX_VALUE);
- for (int i = 0; i < numCallsites; i++) {
- final long ip = ((i)) * stepSize + rnd.nextInt(jitter);
- fTrace.addCallsite(getRandomElement(callsites),
- getRandomElement(functions), ip, getRandomElement(files),
- (ip / 1000000) * 100);
- }
- }
-
- private String getRandomElement(String[] array) {
- return array[rnd.nextInt(array.length)];
- }
-
- private long testMain() {
- TreeSet<CTFCallsite> l = fTrace.getCallsiteCandidates(callsites[0]);
- CTFCallsite cs = fTrace.getCallsite(1);
- CTFCallsite cs1 = fTrace.getCallsite(callsites[0]);
- CTFCallsite cs2 = fTrace.getCallsite(callsites[0], 1);
- assertNotNull(l);
- assertNotNull(cs);
- assertNotNull(cs1);
- assertNotNull(cs2);
- /* performance test */
- long start = System.nanoTime();
- perfTest();
- long end = System.nanoTime();
- long diff = end - start;
- assertTrue(diff > 0);
- return diff;
- }
-
- /**
- * @param callsiteSize
- */
- private void test(int callsiteSize) {
- addCallsites(callsiteSize);
- long ns = testMain();
- System.out.println( "perf ( " + callsiteSize + ", " + ns + ")");
- }
-
- private void perfTest() {
- for (int i = 0; i < NUMBER_OF_SEEKS; i++) {
- fTrace.getCallsite((((long) rnd.nextInt()) << 16L));
- }
- }
-
- /**
- * Test seeks with 1000 callsites
- */
- @Test
- public void test1KCallsites() {
- test(1000);
- }
-
- /**
- * Test seeks with 2000 callsites
- */
- @Test
- public void test2KCallsites() {
- test(2000);
- }
-
- /**
- * Test seeks with 5000 callsites
- */
- @Test
- public void test5KCallsites() {
- test(5000);
- }
-
- /**
- * Test seeks with 10000 callsites
- */
- @Test
- public void test10KCallsites() {
- test(10000);
- }
-
- /**
- * Test seeks with 20000 callsites
- */
- @Test
- public void test20KCallsites() {
- test(20000);
- }
-
- /**
- * Test seeks with 50000 callsites
- */
- @Test
- public void test50KCallsites() {
- test(50000);
- }
-
- /**
- * Test seeks with 100000 callsites
- */
- @Test
- public void test100KCallsites() {
- test(100000);
- }
-
- /**
- * Test seeks with 1000000 callsites
- */
- @Test
- public void test1MCallsites() {
- test(1000000);
- }
-
- /**
- * Test seeks with 2000000 callsites
- */
- @Test
- public void test2MCallsites() {
- test(2000000);
- }
-}
-
diff --git a/lttng/org.eclipse.linuxtools.ctf.core.tests/src/org/eclipse/linuxtools/ctf/core/tests/trace/CTFTraceGrowingStreamTest.java b/lttng/org.eclipse.linuxtools.ctf.core.tests/src/org/eclipse/linuxtools/ctf/core/tests/trace/CTFTraceGrowingStreamTest.java
deleted file mode 100644
index 85ef1ecde0..0000000000
--- a/lttng/org.eclipse.linuxtools.ctf.core.tests/src/org/eclipse/linuxtools/ctf/core/tests/trace/CTFTraceGrowingStreamTest.java
+++ /dev/null
@@ -1,158 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 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:
- * Matthew Khouzam - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.ctf.core.tests.trace;
-
-import static org.junit.Assert.*;
-
-import java.io.File;
-import java.io.FileNotFoundException;
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.io.PrintWriter;
-import java.nio.ByteBuffer;
-import java.nio.ByteOrder;
-import java.nio.file.Files;
-import java.nio.file.Path;
-import java.nio.file.attribute.FileAttribute;
-import java.util.UUID;
-
-import org.eclipse.linuxtools.ctf.core.trace.CTFReaderException;
-import org.eclipse.linuxtools.ctf.core.trace.CTFTrace;
-import org.eclipse.linuxtools.ctf.core.trace.CTFTraceReader;
-import org.junit.Before;
-import org.junit.Test;
-
-/**
- * Tests growing streams
- *
- * @author Matthew Khouzam
- *
- */
-public class CTFTraceGrowingStreamTest {
-
- private Path fCtfDirectory;
- private File fGrowingStream;
- private byte[][] fPackets;
- private CTFTrace fFixture;
- private UUID fUUID;
-
- /**
- * Run before every test
- *
- * @throws IOException won't happen
- * @throws CTFReaderException won't happen
- */
- @Before
- public void init() throws IOException, CTFReaderException {
- fCtfDirectory = Files.createTempDirectory("temptrace", new FileAttribute<?>[] {});
- File metadata = new File(fCtfDirectory.toString() + "/" + "metadata");
- fGrowingStream = new File(fCtfDirectory.toString() + "/" + "stream");
- fUUID = UUID.randomUUID();
- fPackets = new byte[2][];
- fPackets[0] = new byte[32];
- fPackets[1] = new byte[32];
- try (PrintWriter pw = new PrintWriter(metadata)) {
- pw.println("/*CTF 1.8*/");
- pw.println("typealias integer { size = 8; align = 8; signed = false; base = 10; } := uint8_t;");
- pw.println("typealias integer { size = 32; align = 32; signed = false; base = hex; } := uint32_t;");
-
- pw.println("trace {");
- pw.println(" major = 0;");
- pw.println(" minor = 1;");
- pw.println(" uuid = \"" + fUUID.toString() + "\";");
- pw.println(" byte_order = le;");
- pw.println(" packet.header := struct {");
- pw.println(" uint32_t magic;");
- pw.println(" uint8_t uuid[16];");
- pw.println(" };");
- pw.println("};");
- pw.println("");
- pw.println("stream {");
- pw.println(" packet.context := struct {");
- pw.println(" uint32_t packet_size;");
- pw.println(" uint32_t content_size;");
- pw.println(" };");
- pw.println("};");
- pw.println("");
- pw.println("event {");
- pw.println(" name = thing;");
- pw.println(" fields := struct { uint32_t f; };");
- pw.println("};");
- pw.println("");
- pw.close();
- }
- setupPacket(fPackets[0], 41);
- setupPacket(fPackets[1], 0xbab4face);
-
- try (FileOutputStream fos = new FileOutputStream(fGrowingStream)) {
- fos.write(fPackets[0]);
- }
- fFixture = new CTFTrace(fCtfDirectory.toString());
- }
-
- private void setupPacket(byte data[], int value) {
- ByteBuffer bb = ByteBuffer.wrap(data);
- bb.clear();
- bb.order(ByteOrder.LITTLE_ENDIAN);
- bb.putInt(0xc1fc1fc1);
- bb.order(ByteOrder.BIG_ENDIAN);
- bb.putLong(fUUID.getMostSignificantBits());
- bb.putLong(fUUID.getLeastSignificantBits());
- bb.order(ByteOrder.LITTLE_ENDIAN);
- bb.putInt(256);
- bb.putInt(256);
- bb.putInt(value);
- }
-
- /**
- * Test a growing stream
- *
- * @throws CTFReaderException won't happen
- * @throws IOException won't happen
- * @throws FileNotFoundException won't happen
- */
- @Test
- public void testGrowingLive() throws CTFReaderException, FileNotFoundException, IOException {
- try (CTFTraceReader reader = new CTFTraceReader(fFixture);) {
- reader.setLive(true);
- assertEquals("0x29", reader.getCurrentEventDef().getFields().getDefinition("f").toString());
- reader.advance();
- try (FileOutputStream fos = new FileOutputStream(fGrowingStream, true)) {
- fos.write(fPackets[1]);
- }
- reader.advance();
- assertNotNull(reader.getCurrentEventDef());
- assertEquals("0xbab4face", reader.getCurrentEventDef().getFields().getDefinition("f").toString());
- }
- }
-
- /**
- * Test a growing stream
- *
- * @throws CTFReaderException won't happen
- * @throws IOException won't happen
- * @throws FileNotFoundException won't happen
- */
- @Test
- public void testGrowingNotLive() throws CTFReaderException, FileNotFoundException, IOException {
- try (CTFTraceReader reader = new CTFTraceReader(fFixture);) {
- reader.setLive(false);
- assertEquals("0x29", reader.getCurrentEventDef().getFields().getDefinition("f").toString());
- reader.advance();
- try (FileOutputStream fos = new FileOutputStream(fGrowingStream, true)) {
- fos.write(fPackets[1]);
- }
- reader.advance();
- assertNull(reader.getCurrentEventDef());
- }
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.ctf.core.tests/src/org/eclipse/linuxtools/ctf/core/tests/trace/CTFTraceGrowingTest.java b/lttng/org.eclipse.linuxtools.ctf.core.tests/src/org/eclipse/linuxtools/ctf/core/tests/trace/CTFTraceGrowingTest.java
deleted file mode 100644
index e4f96a8d04..0000000000
--- a/lttng/org.eclipse.linuxtools.ctf.core.tests/src/org/eclipse/linuxtools/ctf/core/tests/trace/CTFTraceGrowingTest.java
+++ /dev/null
@@ -1,190 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 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: Matthew Khouzam - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.ctf.core.tests.trace;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertNull;
-import static org.junit.Assert.assertTrue;
-
-import java.io.BufferedReader;
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileNotFoundException;
-import java.io.IOException;
-import java.io.InputStreamReader;
-
-import org.eclipse.linuxtools.ctf.core.event.EventDefinition;
-import org.eclipse.linuxtools.ctf.core.tests.shared.CtfTestTrace;
-import org.eclipse.linuxtools.ctf.core.trace.CTFReaderException;
-import org.eclipse.linuxtools.ctf.core.trace.CTFTrace;
-import org.eclipse.linuxtools.ctf.core.trace.CTFTraceReader;
-import org.eclipse.linuxtools.ctf.core.trace.Metadata;
-import org.junit.Before;
-import org.junit.Test;
-
-/**
- * Tests for streaming support
- *
- * @author Matthew Khouzam
- *
- */
-public class CTFTraceGrowingTest {
- final private String fPathName = CtfTestTrace.SYNTHETIC_TRACE.getPath();
-
- final private CTFTrace fixture = new CTFTrace();
-
- /**
- * Init
- *
- * @throws IOException
- * an IO error
- * @throws FileNotFoundException
- * file's not there
- * @throws CTFReaderException
- * error in metadata
- */
- @Before
- public void init() throws FileNotFoundException, IOException, CTFReaderException {
- Metadata md = new Metadata(fixture);
- File metadata = new File(fPathName + "/" + "metadata");
-
- try (BufferedReader reader = new BufferedReader(new InputStreamReader(new FileInputStream(metadata)))) {
-
- StringBuilder sb = new StringBuilder();
- String line = null;
- while ((line = reader.readLine()) != null) {
- sb.append(line);
- }
- String result = sb.toString();
- md.parseText(result);
- }
- }
-
- /**
- * Empty trace test
- *
- * @throws CTFReaderException
- * will not happen
- */
- @Test
- public void testEmptyStream() throws CTFReaderException {
- try (CTFTraceReader reader = new CTFTraceReader(fixture);) {
- assertNull(reader.getCurrentEventDef());
- }
- }
-
- /**
- * Add a stream
- *
- * @throws CTFReaderException
- * should not happen
- */
- @Test
- public void testAddStream() throws CTFReaderException {
- File stream = new File(fPathName + "/" + "channel1");
- try (CTFTraceReader reader = new CTFTraceReader(fixture);) {
- fixture.addStreamFile(stream);
- reader.update();
- assertTrue(reader.advance());
- assertNotNull(reader.getCurrentEventDef());
- }
- }
-
- /**
- * Adds two a stream
- *
- * @throws CTFReaderException
- * should not happen
- */
- @Test
- public void testAddTwoStreams1() throws CTFReaderException {
- File stream = new File(fPathName + "/" + "channel1");
- try (CTFTraceReader reader = new CTFTraceReader(fixture);) {
- fixture.addStreamFile(stream);
- stream = new File(fPathName + "/" + "channel2");
- fixture.addStreamFile(stream);
- reader.update();
- assertTrue(reader.advance());
- EventDefinition currentEventDef = reader.getCurrentEventDef();
- assertNotNull(reader.getCurrentEventDef());
- assertEquals(16518l, currentEventDef.getTimestamp());
- }
- }
-
- /**
- * Adds two a stream
- *
- * @throws CTFReaderException
- * should not happen
- */
- @Test
- public void testAddTwoStreams2() throws CTFReaderException {
- File stream = new File(fPathName + "/" + "channel1");
- try (CTFTraceReader reader = new CTFTraceReader(fixture);) {
- fixture.addStreamFile(stream);
- stream = new File(fPathName + "/" + "channel2");
- reader.update();
- assertTrue(reader.advance());
- fixture.addStreamFile(stream);
- reader.update();
- assertTrue(reader.advance());
- EventDefinition currentEventDef = reader.getCurrentEventDef();
- assertNotNull(currentEventDef);
- assertEquals(223007L, currentEventDef.getTimestamp());
- }
- }
-
- /**
- * Tests that update does not change the position
- *
- * @throws CTFReaderException
- * should not happen
- */
- @Test
- public void testAddTwoStreams3() throws CTFReaderException {
- File stream = new File(fPathName + "/" + "channel1");
- try (CTFTraceReader reader = new CTFTraceReader(fixture);) {
- fixture.addStreamFile(stream);
- stream = new File(fPathName + "/" + "channel2");
- reader.update();
- reader.update();
- reader.update();
- assertTrue(reader.advance());
- fixture.addStreamFile(stream);
- reader.update();
- reader.update();
- reader.update();
- reader.update();
- assertTrue(reader.advance());
- EventDefinition currentEventDef = reader.getCurrentEventDef();
- assertNotNull(currentEventDef);
- assertEquals(223007L, currentEventDef.getTimestamp());
- }
- }
-
- /**
- * Test adding a bad stream
- *
- * @throws CTFReaderException
- * should happen
- */
- @Test(expected = CTFReaderException.class)
- public void testAddStreamFail() throws CTFReaderException {
- File stream = new File(fPathName + "/" + "metadata");
- try (CTFTraceReader reader = new CTFTraceReader(fixture);) {
- fixture.addStreamFile(stream);
- assertNull(reader.getCurrentEventDef());
- }
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.ctf.core.tests/src/org/eclipse/linuxtools/ctf/core/tests/trace/CTFTraceReaderTest.java b/lttng/org.eclipse.linuxtools.ctf.core.tests/src/org/eclipse/linuxtools/ctf/core/tests/trace/CTFTraceReaderTest.java
deleted file mode 100644
index 89909ce372..0000000000
--- a/lttng/org.eclipse.linuxtools.ctf.core.tests/src/org/eclipse/linuxtools/ctf/core/tests/trace/CTFTraceReaderTest.java
+++ /dev/null
@@ -1,314 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 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:
- * Matthew Khouzam - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.ctf.core.tests.trace;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertTrue;
-import static org.junit.Assume.assumeTrue;
-
-import org.eclipse.linuxtools.ctf.core.event.EventDefinition;
-import org.eclipse.linuxtools.ctf.core.tests.shared.CtfTestTrace;
-import org.eclipse.linuxtools.ctf.core.trace.CTFReaderException;
-import org.eclipse.linuxtools.ctf.core.trace.CTFTrace;
-import org.eclipse.linuxtools.ctf.core.trace.CTFTraceReader;
-import org.junit.Before;
-import org.junit.Test;
-
-/**
- * The class <code>CTFTraceReaderTest</code> contains tests for the class
- * <code>{@link CTFTraceReader}</code>.
- *
- * @author ematkho
- * @version $Revision: 1.0 $
- */
-@SuppressWarnings("javadoc")
-public class CTFTraceReaderTest {
-
- private static final CtfTestTrace testTrace = CtfTestTrace.KERNEL;
-
- private CTFTraceReader fixture;
-
- /**
- * Perform pre-test initialization.
- *
- * @throws CTFReaderException
- */
- @Before
- public void setUp() throws CTFReaderException {
- assumeTrue(testTrace.exists());
- fixture = new CTFTraceReader(testTrace.getTrace());
- }
-
- /**
- * Run the CTFTraceReader(CTFTrace) constructor test. Open a known good
- * trace.
- *
- * @throws CTFReaderException
- */
- @Test
- public void testOpen_existing() throws CTFReaderException {
- try (CTFTrace trace = testTrace.getTrace();
- CTFTraceReader result = new CTFTraceReader(trace);) {
- assertNotNull(result);
- }
- }
-
- /**
- * Run the CTFTraceReader(CTFTrace) constructor test. Open a non-existing
- * trace, expect the exception.
- *
- * @throws CTFReaderException
- */
- @Test(expected = org.eclipse.linuxtools.ctf.core.trace.CTFReaderException.class)
- public void testOpen_nonexisting() throws CTFReaderException {
- try (CTFTrace trace = new CTFTrace("badfile.bad");
- CTFTraceReader result = new CTFTraceReader(trace);) {
- assertNotNull(result);
- }
- }
-
- /**
- * Run the CTFTraceReader(CTFTrace) constructor test. Try to pen an invalid
- * path, expect exception.
- *
- * @throws CTFReaderException
- */
- @Test(expected = org.eclipse.linuxtools.ctf.core.trace.CTFReaderException.class)
- public void testOpen_invalid() throws CTFReaderException {
- try (CTFTrace trace = new CTFTrace("");
- CTFTraceReader result = new CTFTraceReader(trace);) {
- assertNotNull(result);
- }
- }
-
- /**
- * Run the boolean advance() method test. Test advancing normally.
- * @throws CTFReaderException error
- */
- @Test
- public void testAdvance_normal() throws CTFReaderException {
- boolean result = fixture.advance();
- assertTrue(result);
- }
-
- /**
- * Run the boolean advance() method test. Test advancing when we're at the
- * end, so we expect that there is no more events.
- * @throws CTFReaderException error
- */
- @Test
- public void testAdvance_end() throws CTFReaderException {
- int i = 0;
- boolean result = fixture.advance();
- while (result) {
- result = fixture.advance();
- i++;
- }
- fixture.seek(0);
- fixture.advance();
- fixture.goToLastEvent();
- i = 1;
- result = fixture.advance();
- while (result) {
- result = fixture.advance();
- i++;
- }
- assertFalse(result);
- assertEquals(i, 1);
- }
-
- /**
- * Run the CTFTraceReader copy constructor test.
- * @throws CTFReaderException error
- */
- @Test
- public void testCopyFrom() throws CTFReaderException {
- try (CTFTraceReader result = fixture.copyFrom();) {
- assertNotNull(result);
- }
- }
-
- /**
- * Test the hashCode method.
- */
- @Test
- public void testHash() {
- int result = fixture.hashCode();
- assertTrue(0 != result);
- }
-
- /**
- * Test the equals method. Uses the class-wide 'fixture' and another
- * method-local 'fixture2', which both point to the same trace.
- *
- * Both trace reader are different objects, so they shouldn't "equals" each
- * other.
- *
- * @throws CTFReaderException
- */
- @Test
- public void testEquals() throws CTFReaderException {
- try (CTFTraceReader fixture2 = new CTFTraceReader(testTrace.getTrace());) {
- assertEquals(fixture, fixture2);
- }
- }
-
- /**
- * Run the getCurrentEventDef() method test. Get the first event's
- * definition.
- */
- @Test
- public void testGetCurrentEventDef_first() {
- EventDefinition result = fixture.getCurrentEventDef();
- assertNotNull(result);
- }
-
- /**
- * Run the getCurrentEventDef() method test. Get the last event's
- * definition.
- * @throws CTFReaderException error
- */
- @Test
- public void testGetCurrentEventDef_last() throws CTFReaderException {
- fixture.goToLastEvent();
- EventDefinition result = fixture.getCurrentEventDef();
- assertNotNull(result);
- }
-
- /**
- * Run the long getEndTime() method test.
- */
- @Test
- public void testGetEndTime() {
- long result = fixture.getEndTime();
- assertTrue(0L < result);
- }
-
- /**
- * Run the long getStartTime() method test.
- */
- @Test
- public void testGetStartTime() {
- long result = fixture.getStartTime();
- assertTrue(0L < result);
- }
-
- /**
- * Run the void goToLastEvent() method test.
- * @throws CTFReaderException error
- */
- @Test
- public void testGoToLastEvent() throws CTFReaderException {
- fixture.goToLastEvent();
- long ts1 = getTimestamp();
- long ts2 = fixture.getEndTime();
- assertEquals(ts1, ts2);
- }
-
- /**
- * Run the boolean hasMoreEvents() method test.
- *
- * @throws CTFReaderException
- */
- @Test
- public void testHasMoreEvents() {
- boolean result = fixture.hasMoreEvents();
- assertTrue(result);
- }
-
- /**
- * Run the void printStats() method test with no 'width' parameter.
- * @throws CTFReaderException error
- */
- @Test
- public void testPrintStats_noparam() throws CTFReaderException {
- fixture.advance();
- fixture.printStats();
- }
-
- /**
- * Run the void printStats(int) method test with width = 0.
- * @throws CTFReaderException error
- */
- @Test
- public void testPrintStats_width0() throws CTFReaderException {
- fixture.advance();
- fixture.printStats(0);
- }
-
- /**
- * Run the void printStats(int) method test with width = 1.
- * @throws CTFReaderException error
- */
- @Test
- public void testPrintStats_width1() throws CTFReaderException {
- fixture.advance();
- fixture.printStats(1);
- }
-
- /**
- * Run the void printStats(int) method test with width = 2.
- * @throws CTFReaderException error
- */
- @Test
- public void testPrintStats_width2() throws CTFReaderException {
- fixture.advance();
- fixture.printStats(2);
- }
-
- /**
- * Run the void printStats(int) method test with width = 10.
- * @throws CTFReaderException error
- */
- @Test
- public void testPrintStats_width10() throws CTFReaderException {
- fixture.advance();
- fixture.printStats(10);
- }
-
- /**
- * Run the void printStats(int) method test with width = 100.
- * @throws CTFReaderException error
- */
- @Test
- public void testPrintStats_100() throws CTFReaderException {
- for (int i = 0; i < 1000; i++) {
- fixture.advance();
- }
- fixture.printStats(100);
- }
-
- /**
- * Run the boolean seek(long) method test.
- * @throws CTFReaderException error
- */
- @Test
- public void testSeek() throws CTFReaderException {
- long timestamp = 1L;
- boolean result = fixture.seek(timestamp);
- assertTrue(result);
- }
-
-
-
- /**
- * @return
- */
- private long getTimestamp() {
- if (fixture.getCurrentEventDef() != null) {
- return fixture.getTrace().timestampCyclesToNanos(fixture.getCurrentEventDef().getTimestamp());
- }
- return -1;
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.ctf.core.tests/src/org/eclipse/linuxtools/ctf/core/tests/trace/CTFTraceTest.java b/lttng/org.eclipse.linuxtools.ctf.core.tests/src/org/eclipse/linuxtools/ctf/core/tests/trace/CTFTraceTest.java
deleted file mode 100644
index aac1d6b445..0000000000
--- a/lttng/org.eclipse.linuxtools.ctf.core.tests/src/org/eclipse/linuxtools/ctf/core/tests/trace/CTFTraceTest.java
+++ /dev/null
@@ -1,410 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013, 2014 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:
- * Matthew Khouzam - Initial API and implementation
- * Marc-Andre Laperle - Test in traces directory recursively
- * Simon Delisle - Add test for getCallsite(eventName, ip)
- *******************************************************************************/
-
-package org.eclipse.linuxtools.ctf.core.tests.trace;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertNull;
-import static org.junit.Assert.assertTrue;
-import static org.junit.Assert.fail;
-import static org.junit.Assume.assumeTrue;
-
-import java.io.File;
-import java.nio.ByteOrder;
-import java.util.UUID;
-
-import org.eclipse.linuxtools.ctf.core.event.CTFClock;
-import org.eclipse.linuxtools.ctf.core.event.types.IDefinition;
-import org.eclipse.linuxtools.ctf.core.event.types.StructDeclaration;
-import org.eclipse.linuxtools.ctf.core.tests.shared.CtfTestTrace;
-import org.eclipse.linuxtools.ctf.core.trace.CTFReaderException;
-import org.eclipse.linuxtools.ctf.core.trace.CTFTrace;
-import org.eclipse.linuxtools.ctf.core.trace.CTFStream;
-import org.eclipse.linuxtools.internal.ctf.core.event.metadata.exceptions.ParseException;
-import org.junit.Before;
-import org.junit.Test;
-
-/**
- * The class <code>CTFTraceTest</code> contains tests for the class
- * <code>{@link CTFTrace}</code>.
- *
- * @author ematkho
- */
-public class CTFTraceTest {
-
- private static final CtfTestTrace testTrace = CtfTestTrace.KERNEL;
-
- private CTFTrace fixture;
-
- /**
- * Perform pre-test initialization.
- */
- @Before
- public void setUp() {
- assumeTrue(testTrace.exists());
- try {
- fixture = testTrace.getTraceFromFile();
- } catch (CTFReaderException e) {
- /* If the assumeTrue() call passed, this should not happen. */
- fail();
- }
- fixture.setMinor(1L);
- fixture.setUUID(UUID.randomUUID());
- fixture.setPacketHeader(new StructDeclaration(1L));
- fixture.setMajor(1L);
- fixture.setByteOrder(ByteOrder.BIG_ENDIAN);
- }
-
- /**
- * Run the CTFTrace(File) constructor test with a known existing trace.
- */
- @Test
- public void testOpen_existing() {
- try (CTFTrace result = testTrace.getTraceFromFile();) {
- assertNotNull(result.getUUID());
- } catch (CTFReaderException e) {
- fail();
- }
- }
-
- /**
- * Run the CTFTrace(File) constructor test with an invalid path.
- *
- * @throws CTFReaderException
- * is expected
- */
- @Test(expected = org.eclipse.linuxtools.ctf.core.trace.CTFReaderException.class)
- public void testOpen_invalid() throws CTFReaderException {
- File path = new File("");
- try (CTFTrace result = new CTFTrace(path);) {
- assertNotNull(result);
- }
- }
-
- /**
- * Run the boolean UUIDIsSet() method test.
- */
- @Test
- public void testUUIDIsSet() {
- boolean result = fixture.uuidIsSet();
- assertTrue(result);
- }
-
- /**
- * Run the void addStream(Stream) method test.
- */
- @Test
- public void testAddStream() {
- // test number of streams
- int nbStreams = fixture.nbStreams();
- assertEquals(1, nbStreams);
-
- // Add a stream
- try {
- CTFStream stream = new CTFStream(testTrace.getTrace());
- stream.setId(1234);
- fixture.addStream(stream);
- } catch (CTFReaderException e) {
- fail();
- } catch (ParseException e) {
- fail();
- }
-
- // test number of streams
- nbStreams = fixture.nbStreams();
- assertEquals(2, nbStreams);
- }
-
- /**
- * Run the boolean byteOrderIsSet() method test.
- */
- @Test
- public void testByteOrderIsSet() {
- boolean result = fixture.byteOrderIsSet();
- assertTrue(result);
- }
-
- /**
- * Run the ByteOrder getByteOrder() method test.
- */
- @Test
- public void testGetByteOrder_1() {
- ByteOrder result = fixture.getByteOrder();
- assertNotNull(result);
- }
-
- /**
- * Run the long getMajor() method test.
- */
- @Test
- public void testGetMajor() {
- long result = fixture.getMajor();
- assertEquals(1L, result);
- }
-
- /**
- * Run the long getMinor() method test.
- */
- @Test
- public void testGetMinor() {
- long result = fixture.getMinor();
- assertEquals(1L, result);
- }
-
- /**
- * Run the StructDeclaration getPacketHeader() method test.
- */
- @Test
- public void testGetPacketHeader() {
- StructDeclaration result = fixture.getPacketHeader();
- assertNotNull(result);
- }
-
- /**
- * Run the String getPath() method test.
- */
- @Test
- public void testGetPath() {
- String result = fixture.getPath();
- assertNotNull(result);
- }
-
- /**
- * Run the Stream getStream(Long) method test.
- */
- @Test
- public void testGetStream() {
- Long id = new Long(0L);
- CTFStream result = fixture.getStream(id);
- assertNotNull(result);
- }
-
- /**
- * Run the File getTraceDirectory() method test.
- */
- @Test
- public void testGetTraceDirectory() {
- File result = fixture.getTraceDirectory();
- assertNotNull(result);
- }
-
- /**
- * Run the UUID getUUID() method test.
- */
- @Test
- public void testGetUUID() {
- UUID result = fixture.getUUID();
- assertNotNull(result);
- }
-
- /**
- * Run the Definition lookupDefinition(String) method test.
- */
- @Test
- public void testLookupDefinition() {
- String lookupPath = "trace.packet.header";
- IDefinition result = fixture.lookupDefinition(lookupPath);
- assertNotNull(result);
- }
-
- /**
- * Run the boolean majorIsSet() method test.
- */
- @Test
- public void testMajorIsSet() {
- boolean result = fixture.majorIsSet();
- assertTrue(result);
- }
-
- /**
- * Run the boolean minorIsSet() method test.
- */
- @Test
- public void testMinorIsSet() {
- boolean result = fixture.minorIsSet();
- assertTrue(result);
- }
-
- /**
- * Run the boolean packetHeaderIsSet() method test with a valid header set.
- */
- @Test
- public void testPacketHeaderIsSet_valid() {
- boolean result = fixture.packetHeaderIsSet();
- assertTrue(result);
- }
-
- /**
- * Run the boolean packetHeaderIsSet() method test, without having a valid
- * header set.
- */
- @Test
- public void testPacketHeaderIsSet_invalid() {
- try (CTFTrace fixture2 = testTrace.getTraceFromFile();){
- fixture2.setMinor(1L);
- fixture2.setUUID(UUID.randomUUID());
- fixture2.setPacketHeader((StructDeclaration) null); /* it's null here! */
- fixture2.setMajor(1L);
- fixture2.setByteOrder(ByteOrder.BIG_ENDIAN);
-
- boolean result = fixture2.packetHeaderIsSet();
- assertFalse(result);
- } catch (CTFReaderException e) {
- fail();
- }
- }
-
- /**
- * Run the void setByteOrder(ByteOrder) method test.
- */
- @Test
- public void testSetByteOrder() {
- ByteOrder byteOrder = ByteOrder.BIG_ENDIAN;
- fixture.setByteOrder(byteOrder);
- }
-
- /**
- * Run the void setMajor(long) method test.
- */
- @Test
- public void testSetMajor() {
- long major = 1L;
- fixture.setMajor(major);
- }
-
- /**
- * Run the void setMinor(long) method test.
- */
- @Test
- public void testSetMinor() {
- long minor = 1L;
- fixture.setMinor(minor);
- }
-
- /**
- * Run the void setPacketHeader(StructDeclaration) method test.
- */
- @Test
- public void testSetPacketHeader() {
- StructDeclaration packetHeader = new StructDeclaration(1L);
- fixture.setPacketHeader(packetHeader);
- }
-
- /**
- * Run the void setUUID(UUID) method test.
- */
- @Test
- public void testSetUUID() {
- UUID uuid = UUID.randomUUID();
- fixture.setUUID(uuid);
- }
-
- /**
- * Run the CTFClock getClock/setClock method test.
- */
- @Test
- public void testGetSetClock_1() {
- String name = "clockyClock";
- fixture.addClock(name, new CTFClock());
- CTFClock result = fixture.getClock(name);
-
- assertNotNull(result);
- }
-
- /**
- * Run the CTFClock getClock/setClock method test.
- */
- @Test
- public void testGetSetClock_2() {
- String name = "";
- CTFClock ctfClock = new CTFClock();
- ctfClock.addAttribute("name", "Bob");
- ctfClock.addAttribute("pi", new Double(java.lang.Math.PI));
- fixture.addClock(name, ctfClock);
- CTFClock result = fixture.getClock(name);
-
- assertNotNull(result);
- assertTrue((Double) ctfClock.getProperty("pi") > 3.0);
- assertTrue(ctfClock.getName().equals("Bob"));
- }
-
- /**
- * Run the String lookupEnvironment(String) method test.
- */
- @Test
- public void testLookupEnvironment_1() {
- String key = "";
- String result = fixture.getEnvironment().get(key);
- assertNull(result);
- }
-
- /**
- * Run the String lookupEnvironment(String) method test.
- */
- @Test
- public void testLookupEnvironment_2() {
- String key = "otherTest";
- String result = fixture.getEnvironment().get(key);
- assertNull(result);
- }
-
- /**
- * Run the String lookupEnvironment(String) method test.
- */
- @Test
- public void testLookupEnvironment_3() {
- String key = "test";
- fixture.addEnvironmentVar(key, key);
- String result = fixture.getEnvironment().get(key);
- assertTrue(result.equals(key));
- }
-
- /**
- * Run the String lookupEnvironment(String) method test.
- */
- @Test
- public void testLookupEnvironment_4() {
- String key = "test";
- fixture.addEnvironmentVar(key, "bozo");
- fixture.addEnvironmentVar(key, "the clown");
- String result = fixture.getEnvironment().get(key);
- assertNotNull(result);
- }
-
- /**
- * Test for getCallsite(eventName, ip)
- * @throws CTFReaderException not expected
- */
- @Test
- public void callsitePosition() throws CTFReaderException {
- long ip1 = 2;
- long ip2 = 5;
- long ip3 = 7;
- try (CTFTrace callsiteTest = testTrace.getTraceFromFile()) {
- callsiteTest.addCallsite("testEvent", null, ip1, null, 23);
- callsiteTest.addCallsite("testEvent", null, ip2, null, 50);
- callsiteTest.addCallsite("testEvent", null, ip3, null, 15);
-
- assertEquals(2, (callsiteTest.getCallsite("testEvent", 1)).getIp());
- assertEquals(2, (callsiteTest.getCallsite("testEvent", 2)).getIp());
- assertEquals(5, (callsiteTest.getCallsite("testEvent", 3)).getIp());
- assertEquals(5, (callsiteTest.getCallsite("testEvent", 5)).getIp());
- assertEquals(7, (callsiteTest.getCallsite("testEvent", 6)).getIp());
- assertEquals(7, (callsiteTest.getCallsite("testEvent", 7)).getIp());
- assertEquals(7, (callsiteTest.getCallsite("testEvent", 8)).getIp());
- }
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.ctf.core.tests/src/org/eclipse/linuxtools/ctf/core/tests/trace/IOstructgenTest.java b/lttng/org.eclipse.linuxtools.ctf.core.tests/src/org/eclipse/linuxtools/ctf/core/tests/trace/IOstructgenTest.java
deleted file mode 100644
index af166cb16c..0000000000
--- a/lttng/org.eclipse.linuxtools.ctf.core.tests/src/org/eclipse/linuxtools/ctf/core/tests/trace/IOstructgenTest.java
+++ /dev/null
@@ -1,520 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013, 2014 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:
- * Matthew Khouzam - Initial API and implementation
- * Simon Delisle - Generate dummy trace
- *******************************************************************************/
-
-package org.eclipse.linuxtools.ctf.core.tests.trace;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-
-import java.io.File;
-import java.io.FileOutputStream;
-import java.io.FileWriter;
-import java.io.IOException;
-import java.nio.ByteBuffer;
-import java.nio.ByteOrder;
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.linuxtools.ctf.core.event.IEventDeclaration;
-import org.eclipse.linuxtools.ctf.core.tests.CtfCoreTestPlugin;
-import org.eclipse.linuxtools.ctf.core.trace.CTFReaderException;
-import org.eclipse.linuxtools.ctf.core.trace.CTFTrace;
-import org.eclipse.linuxtools.internal.ctf.core.event.EventDeclaration;
-import org.eclipse.linuxtools.internal.ctf.core.event.metadata.IOStructGen;
-import org.junit.After;
-import org.junit.Test;
-
-/**
- * Unit tests for {@link IOStructGen}
- *
- * @author Matthew Khouzam
- */
-public class IOstructgenTest {
-
- private static final String metadataDecs = "typealias integer { size = 8; align = 8; signed = false; } := uint8_t;\n"
- + "typealias integer { size = 16; align = 8; signed = false; } := uint16_t;\n"
- + "typealias integer { size = 32; align = 8; signed = false; } := uint32_t;\n"
- + "typealias integer { size = 64; align = 8; signed = false; } := uint64_t;\n"
- + "typealias integer { size = 64; align = 8; signed = false; } := unsigned long;\n"
- + "typealias integer { size = 5; align = 1; signed = false; } := uint5_t;\n"
- + "typealias integer { size = 27; align = 1; signed = false; } := uint27_t;\n"
- + "typealias integer { size = 32; align = 1; signed = true; base = decimal; } := int32_t;\n"
- + "typealias integer { size = 31; align = 1; signed = true; base = dec; } := int31_t;\n"
- + "typealias integer { size = 30; align = 1; signed = true; base = d; } := int30_t;\n"
- + "typealias integer { size = 29; align = 1; signed = true; base = i; } := int29_t;\n"
- + "typealias integer { size = 28; align = 1; signed = true; base = u; } := int28_t;\n"
- + "typealias integer { size = 27; align = 1; signed = true; base = hexadecimal; } := int27_t;\n"
- + "typealias integer { size = 26; align = 1; signed = true; base = hex; } := int26_t;\n"
- + "typealias integer { size = 25; align = 1; signed = true; base = x; } := int25_t;\n"
- + "typealias integer { size = 24; align = 1; signed = true; base = X; } := int24_t;\n"
- + "typealias integer { size = 23; align = 1; signed = true; base = p; } := int23_t;\n"
- + "typealias integer { size = 22; align = 1; signed = true; base = 16; } := int22_t;\n"
- + "typealias integer { size = 21; align = 1; signed = true; base = oct; } := int21_t;\n"
- + "typealias integer { size = 20; align = 1; signed = true; base = b; } := int20_t;\n"
- + "typealias integer { size = 19; align = 1; signed = true; base = octal; } := int19_t;\n"
- + "typealias integer { size = 18; align = 1; signed = true; base = o; } := int18_t;\n"
- + "typealias integer { size = 17; align = 1; signed = true; base = binary; } := int17_t;\n"
- + "\n"
- + "trace {\n"
- + " major = 1;\n"
- + " minor = 8;\n"
- + " uuid = \"b04d391b-e736-44c1-8d89-4bb438857f8d\";\n"
- + " byte_order = le;\n"
- + " packet.header := struct {\n"
- + " uint32_t magic;\n"
- + " uint8_t uuid[16];\n"
- + " uint32_t stream_id;\n" + " };\n" + "};\n" + "\n";
- private static final String environmentMD = "env {\n"
- + " hostname = \"DemoSystem\";\n"
- + " vpid = 1337;\n"
- + " procname = \"demo\";\n"
- + " domain = \"autogenerated\";\n"
- + " tracer_name = \"tmf\";\n"
- + " tracer_major = 2;\n"
- + " tracer_minor = 0x01;\n"
- + " tracer_patchlevel = 0;\n"
- + "};\n" + "\n";
- private static final String clockMD = "clock {\n" + " name = monotonic;\n"
- + " uuid = \"cbf9f42e-9be7-4798-a96f-11db556e2ebb\";\n"
- + " description = \"Monotonic Clock\";\n"
- + " freq = 1000000000; /* Frequency, in Hz */\n"
- + " /* clock value offset from Epoch is: offset * (1/freq) */\n"
- + " offset = 1350310657466295832;\n" + "};\n"
- + "\n";
-
- private static final String ctfStart =
- "typealias integer {\n"
- + " size = 27; align = 1; signed = false;\n"
- + " map = clock.monotonic.value;\n"
- + "} := uint27_clock_monotonic_t;\n"
- + "\n"
- + "typealias integer {\n"
- + " size = 32; align = 8; signed = false;\n"
- + " map = clock.monotonic.value;\n"
- + "} := uint32_clock_monotonic_t;\n"
- + "\n"
- + "typealias integer {\n"
- + " size = 64; align = 8; signed = false;\n"
- + " map = clock.monotonic.value;\n"
- + "} := uint64_clock_monotonic_t;\n"
- + "\n";
-
- private static final String ctfHeaders =
- "struct packet_context {\n"
- + " uint64_clock_monotonic_t timestamp_begin;\n"
- + " uint64_clock_monotonic_t timestamp_end;\n"
- + " uint64_t content_size;\n"
- + " uint64_t packet_size;\n"
- + " unsigned long events_discarded;\n"
- + " uint32_t cpu_id;\n"
- + "};\n"
- + "\n"
- + "struct event_header_compact {\n"
- + " enum : uint5_t { compact = 0 ... 30, extended = 31 } id;\n"
- + " variant <id> {\n"
- + " struct {\n"
- + " uint27_clock_monotonic_t timestamp;\n"
- + " } compact;\n"
- + " struct {\n"
- + " uint32_t id;\n"
- + " uint64_clock_monotonic_t timestamp;\n"
- + " } extended;\n"
- + " } v;\n"
- + "} align(8);\n"
- + "\n"
- + "struct event_header_large {\n"
- + " enum : uint16_t { compact = 0 ... 65534, extended = 65535 } id;\n"
- + " variant <id> {\n" + " struct {\n"
- + " uint32_clock_monotonic_t timestamp;\n"
- + " } compact;\n" + " struct {\n"
- + " uint32_t id;\n"
- + " uint64_clock_monotonic_t timestamp;\n"
- + " } extended;\n" + " } v;\n" + "} align(8);\n" + "\n";
-
- private static final String ctfBody = "stream {\n"
- + " id = 0;\n"
- + " event.header := struct event_header_compact;\n"
- + " packet.context := struct packet_context;\n"
- + " event.context := struct {\n"
- + " integer { size = 64; align = 8; signed = 0; encoding = none; base = 16; } _ip;\n"
- + " };\n"
- + "};\n"
- + "\n"
- + "event {\n"
- + " name = \"ust_tests_demo3:done\";\n"
- + " id = 0;\n"
- + " stream_id = 0;\n"
- + " loglevel = 4;\n"
- + " fields := struct {\n"
- + " integer { size = 32; align = 8; signed = 1; encoding = none; base = 10; } _value;\n"
- + " };\n"
- + "};\n"
- + "\n"
- + "event {\n"
- + " name = \"ust_tests_demo:starting\";\n"
- + " id = 1;\n"
- + " stream_id = 0;\n"
- + " loglevel = 2;\n"
- + " model.emf.uri = \"http://example.com/path_to_model?q=ust_tests_demo:starting\";\n"
- + " fields := struct {\n"
- + " integer { size = 32; align = 8; signed = 1; encoding = none; base = 10; } _value;\n"
- + " };\n"
- + "};\n"
- + "\n"
- + "event {\n"
- + " name = \"ust_tests_demo:done\";\n"
- + " id = 2;\n"
- + " stream_id = 0;\n"
- + " loglevel = 2;\n"
- + " model.emf.uri = \"http://example.com/path_to_model?q=ust_tests_demo:done\";\n"
- + " fields := struct {\n"
- + " integer { size = 32; align = 8; signed = 1; encoding = none; base = 10; } _value;\n"
- + " };\n"
- + "};\n"
- + "\n"
- + "event {\n"
- + " name = \"ust_tests_demo2:loop\";\n"
- + " id = 3;\n"
- + " stream_id = 0;\n"
- + " loglevel = 4;\n"
- + " fields := struct {\n"
- + " integer { size = 32; align = 8; signed = 1; encoding = none; base = 10; } _intfield;\n"
- + " integer { size = 32; align = 8; signed = 1; encoding = none; base = 16; } _intfield2;\n"
- + " integer { size = 64; align = 8; signed = 1; encoding = none; base = 10; } _longfield;\n"
- + " integer { size = 32; align = 8; signed = 1; encoding = none; base = 10; byte_order = be; } _netintfield;\n"
- + " integer { size = 32; align = 8; signed = 1; encoding = none; base = 16; byte_order = be; } _netintfieldhex;\n"
- + " integer { size = 64; align = 8; signed = 1; encoding = none; base = 10; } _arrfield1[3];\n"
- + " integer { size = 8; align = 8; signed = 1; encoding = UTF8; base = 10; } _arrfield2[10];\n"
- + " integer { size = 64; align = 8; signed = 0; encoding = none; base = 10; } __seqfield1_length;\n"
- + " integer { size = 8; align = 8; signed = 1; encoding = none; base = 10; } _seqfield1[ __seqfield1_length ];\n"
- + " integer { size = 64; align = 8; signed = 0; encoding = none; base = 10; } __seqfield2_length;\n"
- + " integer { size = 8; align = 8; signed = 1; encoding = UTF8; base = 10; } _seqfield2[ __seqfield2_length ];\n"
- + " string _stringfield;\n"
- + " floating_point { exp_dig = 8; mant_dig = 24; align = 8; } _floatfield;\n"
- + " floating_point { exp_dig = 11; mant_dig = 53; align = 8; } _doublefield;\n"
- + " };\n"
- + "};\n"
- + "\n";
-
- private static final String enumMd =
- "typealias integer { size = 32; align = 8; signed = false; } := int;\n"
- + "typealias enum { ONE = 0, a,b,c=10, d} := useless_enum;\n"
- + "struct useless{ \n"
- + " enum : uint8_t { A=0, \"B\",} enum3;\n"
- + " useless_enum enum2;"
- + " enum { C, D, E } enum4;\n"
- + " uint16_t val;\n"
- + "} ;\n"
- + "\n"
- + "event {\n"
- + " name = \"enumEvent\";\n"
- + " id = 6;\n"
- + " stream_id = 0;\n"
- + " loglevel = 5;\n"
- + " fields := struct{\n"
- + " uint16_t _some_field;\n"
- // + " useless junk;\n"
- // + " bad_enum a;\n"
- + " enum {A, B, C = 3 , } _other_enum;\n"
- + " };\n"
- + "};\n"
- + "\n";
-
- private final static String contextMD =
- "event {\n" +
- " name = \"someOtherEvent\";\n" +
- " id = 5;\n" +
- " stream_id = 0;\n" +
- " loglevel = 5;\n" +
- " context := struct{\n" +
- " uint16_t _someContext;\n" +
- " };\n" +
- " fields := struct{\n" +
- " uint16_t _somefield;\n" +
- " };\n" +
- "};\n " +
- "\n";
-
- private static final String callsiteMD =
- "callsite {\n"
- + " name = \"ust_tests_demo2:loop\";\n"
- + " func = \"main\";\n" + " ip = 0x400a29;\n"
- + " file = \"demo.c\";\n" + " line = 59;\n" + "};\n" + "\n"
- + "callsite {\n" + " name = \"ust_tests_demo3:done\";\n"
- + " func = \"main\";\n" + " ip = 0x400a6c;\n"
- + " file = \"demo.c\";\n" + " line = 62;\n" + "};\n" + "\n"
- + "callsite {\n" + " name = \"ust_tests_demo:done\";\n"
- + " func = \"main\";\n" + " ip = 0x400aaf;\n"
- + " file = \"demo.c\";\n" + " line = 61;\n" + "};\n" + "\n"
- + "callsite {\n" + " name = \"ust_tests_demo:starting\";\n"
- + " func = \"main\";\n" + " ip = 0x400af2;\n"
- + " file = \"demo.c\";\n" + " line = 55;\n" + "};\n";
-
- private static final String simpleTSDL = metadataDecs + ctfStart + ctfHeaders
- + ctfBody;
- private static final String enumTSDL = metadataDecs + ctfStart + ctfHeaders
- + ctfBody + enumMd;
- private static final String clockTSDL = metadataDecs + clockMD + ctfStart
- + ctfHeaders + ctfBody;
- private static final String envTSDL = metadataDecs + environmentMD + ctfStart
- + ctfHeaders + ctfBody;
- private static final String contextTSDL = metadataDecs + environmentMD + ctfStart
- + ctfHeaders + ctfBody + contextMD;
- private static final String callsiteTSDL = metadataDecs + ctfStart + ctfHeaders
- + ctfBody + callsiteMD;
- private static final String allDressedTSDL = metadataDecs + environmentMD + clockMD
- + ctfStart + ctfHeaders + ctfBody + enumMd + callsiteMD;
-
- static final String tempTraceDir = CtfCoreTestPlugin.getTemporaryDirPath()
- + File.separator + "tempTrace";
-
- private static final int DATA_SIZE = 4096;
-
- private static final int HEADER_SIZE = 68;
-
- private static final int PACKET_SIZE = DATA_SIZE + HEADER_SIZE + 512;
-
- private CTFTrace trace;
-
- private static class Event {
- private static final int EVENT_SIZE = 16;
- private int eventId;
- private int eventTimestamp;
- private int eventContent;
-
- public Event(int id, int content) {
- eventId = id;
- eventTimestamp = 0;
- eventContent = content;
- }
-
- public void setEventTimestamp(int eventTimestamp) {
- this.eventTimestamp = eventTimestamp;
- }
-
- public void setEventContent(int eventContent) {
- this.eventContent = eventContent;
- }
-
- public void writeEvent(ByteBuffer data) {
- // Id and Timestamp
- int timeId = eventTimestamp << 5;
- timeId |= eventId & 0x1f;
- data.putInt(timeId);
-
- // Context
- long ip = 0x0000facedecafe00L + ((data.position() /
- getSize()) & 0x0F);
- data.putLong(ip);
-
- // Content
- data.putInt(eventContent);
-
- }
-
- public int getSize() {
- return EVENT_SIZE;
- }
-
- }
-
- private static void deltree(File f) {
- for (File elem : f.listFiles()) {
- if (elem.isDirectory()) {
- deltree(elem);
- }
- elem.delete();
- }
- f.delete();
- }
-
- private static void createDummyTrace(String metadata) {
- File dir = new File(tempTraceDir);
- if (dir.exists()) {
- deltree(dir);
- }
- dir.mkdirs();
-
- File metadataFile = new File(tempTraceDir + "/metadata");
- try (FileWriter fw = new FileWriter(metadataFile);) {
- fw.write(metadata);
- } catch (IOException e) {
- e.printStackTrace();
- }
-
- byte magicLE[] = { (byte) 0xC1, (byte) 0x1F, (byte) 0xFC,
- (byte) 0xC1 };
- byte uuid[] = { (byte) 0xb0, 0x4d, 0x39, 0x1b, (byte) 0xe7,
- 0x36, 0x44, (byte) 0xc1, (byte) 0x8d, (byte) 0x89, 0x4b,
- (byte) 0xb4, 0x38, (byte) 0x85, 0x7f, (byte) 0x8d };
-
- Event ev = new Event(2, 2);
-
- final int nbEvents = (DATA_SIZE / ev.getSize()) - 1;
- final int contentSize = (nbEvents * ev.getSize() +
- HEADER_SIZE) * 8;
-
- ByteBuffer data = ByteBuffer.allocate(PACKET_SIZE);
- data.order(ByteOrder.LITTLE_ENDIAN);
- data.clear();
-
- // packet header
- // magic number 4
- data.put(magicLE);
- // uuid 16
- data.put(uuid);
- // stream ID 4
- data.putInt(0);
-
- // packet context
- // timestamp_begin 8
- data.putLong(0xa500);
-
- // timestamp_end 8
- data.putLong(nbEvents * 0x10000 + 0xa5a6);
-
- // content_size 8
- data.putLong(contentSize);
-
- // packet_size 8
- data.putLong(PACKET_SIZE * 8);
-
- // events_discarded 8
- data.putLong(0);
-
- // cpu_id 4
- data.putInt(0);
-
- // fill me
- for (int i = 0; i < nbEvents; i++) {
- ev.setEventTimestamp(i * 0x10000 + 0xa5a5);
- ev.setEventContent(i);
- ev.writeEvent(data);
- }
-
- // The byteBuffer needs to be flipped in file writing mode
- data.flip();
-
- File dummyFile = new File(tempTraceDir + "/dummyChan");
- try (FileOutputStream fos = new FileOutputStream(dummyFile);) {
- fos.getChannel().write(data);
- } catch (IOException e) {
- e.printStackTrace();
- }
-
- }
-
- /**
- * Close trace
- */
- @After
- public void tearDown(){
- trace.close();
- }
-
- /**
- * Simple test (only the minimum)
- *
- * @throws CTFReaderException
- * something wrong happened
- */
- @Test
- public void TSDLSimpleTest() throws CTFReaderException {
- createDummyTrace(simpleTSDL);
- trace = new CTFTrace(tempTraceDir);
- assertNotNull(trace);
- }
-
- /**
- * Test with environment variables
- *
- * @throws CTFReaderException
- * something wrong happened
- */
- @Test
- public void TSDLEnvironmentTest() throws CTFReaderException {
- createDummyTrace(envTSDL);
- trace = new CTFTrace(tempTraceDir);
- assertNotNull(trace);
- }
-
- /**
- * Test with Clocks
- *
- * @throws CTFReaderException
- * something wrong happened
- */
- @Test
- public void TSDLEnumTest() throws CTFReaderException {
- createDummyTrace(enumTSDL);
- trace = new CTFTrace(tempTraceDir);
- assertNotNull(trace);
- }
-
- /**
- * Test with Clocks
- *
- * @throws CTFReaderException
- * something wrong happened
- */
- @Test
- public void TSDLClockTest() throws CTFReaderException {
- createDummyTrace(clockTSDL);
- trace = new CTFTrace(tempTraceDir);
- assertNotNull(trace);
- }
-
- /**
- * Test with Contexts
- *
- * @throws CTFReaderException
- * something wrong happened
- */
- @Test
- public void TSDLContextTest() throws CTFReaderException {
- createDummyTrace(contextTSDL);
- trace = new CTFTrace(tempTraceDir);
- assertNotNull(trace);
- }
-
- /**
- * Test with Callsites
- *
- * @throws CTFReaderException
- * something wrong happened
- */
- @Test
- public void TSDLCallsiteTest() throws CTFReaderException {
- createDummyTrace(callsiteTSDL);
- trace = new CTFTrace(tempTraceDir);
- assertNotNull(trace);
- }
-
- /**
- * Test everything
- *
- * @throws CTFReaderException
- * something wrong happened
- */
- @Test
- public void TSDLAllTest() throws CTFReaderException {
- createDummyTrace(allDressedTSDL);
- trace = new CTFTrace(tempTraceDir);
- assertNotNull(trace);
-
- final List<IEventDeclaration> eventDeclarations = new ArrayList<>(trace.getEventDeclarations(0L));
- final EventDeclaration eventDeclaration = (EventDeclaration) eventDeclarations.get(2);
- assertEquals("http://example.com/path_to_model?q=ust_tests_demo:done",
- eventDeclaration.getCustomAttribute("model.emf.uri"));
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.ctf.core.tests/src/org/eclipse/linuxtools/ctf/core/tests/trace/MetadataTest.java b/lttng/org.eclipse.linuxtools.ctf.core.tests/src/org/eclipse/linuxtools/ctf/core/tests/trace/MetadataTest.java
deleted file mode 100644
index ab835bfb67..0000000000
--- a/lttng/org.eclipse.linuxtools.ctf.core.tests/src/org/eclipse/linuxtools/ctf/core/tests/trace/MetadataTest.java
+++ /dev/null
@@ -1,254 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013, 2014 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:
- * Matthew Khouzam - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.ctf.core.tests.trace;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertNull;
-import static org.junit.Assert.fail;
-import static org.junit.Assume.assumeTrue;
-
-import java.nio.ByteOrder;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.UUID;
-
-import org.eclipse.linuxtools.ctf.core.event.IEventDeclaration;
-import org.eclipse.linuxtools.ctf.core.tests.shared.CtfTestTrace;
-import org.eclipse.linuxtools.ctf.core.trace.CTFReaderException;
-import org.eclipse.linuxtools.ctf.core.trace.CTFStream;
-import org.eclipse.linuxtools.ctf.core.trace.CTFTrace;
-import org.eclipse.linuxtools.ctf.core.trace.Metadata;
-import org.junit.Before;
-import org.junit.Test;
-
-/**
- * The class <code>MetadataTest</code> contains tests for the class
- * <code>{@link Metadata}</code>.
- *
- * @author ematkho
- * @version $Revision: 1.0 $
- */
-@SuppressWarnings("javadoc")
-public class MetadataTest {
-
- private static final CtfTestTrace testTrace = CtfTestTrace.KERNEL;
- private static final String mdStart = "typealias integer { size = 8; align = 8; signed = false; } := uint8_t;\n" +
- " typealias integer { size = 16; align = 8; signed = false; } := uint16_t;\n" +
- " typealias integer { size = 32; align = 8; signed = false; } := uint32_t;\n" +
- " typealias integer { size = 64; align = 8; signed = false; } := uint64_t;\n" +
- " typealias integer { size = 64; align = 8; signed = false; } := unsigned long;\n" +
- " typealias integer { size = 5; align = 1; signed = false; } := uint5_t;\n" +
- " typealias integer { size = 27; align = 1; signed = false; } := uint27_t;\n" +
- "" +
- " trace {\n" +
- " major = 1;\n" +
- " minor = 8;\n" +
- " uuid = \"8b1258ba-effb-554b-b779-fbd676746000\";\n" +
- " byte_order = le;\n" +
- " packet.header := struct {\n" +
- " uint32_t magic;\n" +
- " uint8_t uuid[16];\n" +
- " uint32_t stream_id;\n" +
- " };\n" +
- " };\n" +
- "" +
- " env {\n" +
- " hostname = \"computer\";\n" +
- " domain = \"kernel\";\n" +
- " sysname = \"BeOS\";\n" +
- " kernel_release = \"95\";\n" +
- " kernel_version = \"BeWare 95\";\n" +
- " tracer_name = \"BeOS Tracer\";\n" +
- " tracer_major = 2;\n" +
- " tracer_minor = 3;\n" +
- " tracer_patchlevel = 0;\n" +
- " };\n" +
- " clock {\n" +
- " name = monotonic;\n" +
- " uuid = \"4d737a79-e3f1-4f4d-a649-42015266baf5\";\n" +
- " description = \"Monotonic Clock\";\n" +
- " freq = 1000000000; /* Frequency, in Hz */\n" +
- " /* clock value offset from Epoch is: offset * (1/freq) */\n" +
- " offset = 1383600210829415521;\n" +
- " };\n" +
-
- " typealias integer {\n" +
- "size = 27; align = 1; signed = false;\n" +
- " map = clock.monotonic.value;\n" +
- " } := uint27_clock_monotonic_t;\n" +
- " \n" +
- " typealias integer {\n" +
- " size = 32; align = 8; signed = false;\n" +
- " map = clock.monotonic.value;\n" +
- " } := uint32_clock_monotonic_t;\n" +
- " \n" +
- " typealias integer {\n" +
- " size = 64; align = 8; signed = false;\n" +
- " map = clock.monotonic.value;\n" +
- " } := uint64_clock_monotonic_t;\n" +
- " \n" +
- " struct packet_context {\n" +
- " uint64_clock_monotonic_t timestamp_begin;\n" +
- " uint64_clock_monotonic_t timestamp_end;\n" +
- " uint64_t content_size;\n" +
- " uint64_t packet_size;\n" +
- " unsigned long events_discarded;\n" +
- " uint32_t cpu_id;\n" +
- " };\n" +
- " \n" +
- " struct event_header_compact {\n" +
- " enum : uint5_t { compact = 0 ... 30, extended = 31 } id;\n" +
- " variant <id> {\n" +
- " struct {\n" +
- " uint27_clock_monotonic_t timestamp;\n" +
- " } compact;\n" +
- " struct {\n" +
- " uint32_t id;\n" +
- " uint64_clock_monotonic_t timestamp;\n" +
- " } extended;\n" +
- " } v;\n" +
- " } align(8);\n" +
- " \n" +
- " struct event_header_large {\n" +
- " enum : uint16_t { compact = 0 ... 65534, extended = 65535 } id;\n" +
- " variant <id> {\n" +
- " struct {\n" +
- " uint32_clock_monotonic_t timestamp;\n" +
- " } compact;\n" +
- " struct {\n" +
- " uint32_t id;\n" +
- " uint64_clock_monotonic_t timestamp;\n" +
- " } extended;\n" +
- " } v;\n" +
- " } align(8);\n" +
- " \n" +
- " stream {\n" +
- " id = 0;\n" +
- " event.header := struct event_header_compact;\n" +
- " packet.context := struct packet_context;\n" +
- " };\n" +
- " \n" +
- " event {\n" +
- " name = sched_switch;\n" +
- " id = 0;\n" +
- " stream_id = 0;\n" +
- " fields := struct {\n" +
- " integer { size = 8; align = 8; signed = 1; encoding = UTF8; base = 10; } _prev_comm[16];\n" +
- " integer { size = 32; align = 8; signed = 1; encoding = none; base = 10; } _prev_tid;\n" +
- " integer { size = 32; align = 8; signed = 1; encoding = none; base = 10; } _prev_prio;\n" +
- " integer { size = 64; align = 8; signed = 1; encoding = none; base = 10; } _prev_state;\n" +
- " integer { size = 8; align = 8; signed = 1; encoding = UTF8; base = 10; } _next_comm[16];\n" +
- " integer { size = 32; align = 8; signed = 1; encoding = none; base = 10; } _next_tid;\n" +
- " integer { size = 32; align = 8; signed = 1; encoding = none; base = 10; } _next_prio;\n" +
- " };\n" +
- " };";
-
- private static final String mdSecond = " event {\n" +
- " name = bozo_the_clown;\n" +
- " id = 1;\n" +
- " stream_id = 0;\n" +
- " fields := struct {\n" +
- " integer { size = 32; align = 8; signed = 1; encoding = none; base = 10; } clown_nose;\n" +
- " };\n" +
- " };";
-
- private Metadata fixture;
-
- /**
- * Perform pre-test initialization.
- *
- * @throws CTFReaderException
- */
- @Before
- public void setUp() throws CTFReaderException {
- assumeTrue(testTrace.exists());
- fixture = new Metadata(testTrace.getTrace());
- }
-
- /**
- * Run the Metadata(CTFTrace) constructor test.
- */
- @Test
- public void testMetadata() {
- assertNotNull(fixture);
- }
-
- @Test
- public void testTextMD() throws CTFReaderException {
- testSingleFragment();
- }
-
- protected CTFTrace testSingleFragment() throws CTFReaderException {
- fixture = new Metadata();
- CTFTrace trace = fixture.getTrace();
- for (CTFStream s : trace.getStreams()) {
- fail("This should be empty, has" + s.toString());
- }
- fixture.parseText(mdStart);
- int count = 0;
- for (CTFStream s : trace.getStreams()) {
- count++;
- assertNotNull(s);
- }
- assertEquals(1, count);
- assertEquals(1, trace.getEventDeclarations(0L).size());
- return trace;
- }
-
- @Test
- public void testStreamTextMD() throws CTFReaderException {
- try (CTFTrace trace = testSingleFragment();) {
- fixture.parseTextFragment(mdSecond);
- final List<IEventDeclaration> eventDeclarations = new ArrayList<>(trace.getEventDeclarations(0L));
- assertEquals(2, eventDeclarations.size());
- assertEquals("bozo_the_clown", eventDeclarations.get(1).getName());
- }
- }
-
- /**
- * Run the ByteOrder getDetectedByteOrder() method test.
- *
- * @throws CTFReaderException
- */
- @Test
- public void testGetDetectedByteOrder() throws CTFReaderException {
- setUp();
- ByteOrder result = fixture.getDetectedByteOrder();
- assertNull(result);
- }
-
- /**
- * Test toString
- *
- * @throws CTFReaderException
- */
- @Test
- public void testToString() throws CTFReaderException {
- setUp();
- String result = fixture.toString();
- assertNotNull(result);
- }
-
- /**
- * Run the void parse() method test.
- *
- * @throws CTFReaderException
- */
- @Test
- public void testParse() throws CTFReaderException {
- setUp();
- assertEquals(new UUID(0xd18e637435a1cd42L, 0x8e70a9cffa712793L), testTrace.getTrace().getUUID());
- assertEquals(1332166405241713920.0, testTrace.getTrace().getClock().getClockOffset(), 200.0);
- assertEquals(8, testTrace.getTrace().getEnvironment().size());
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.ctf.core.tests/src/org/eclipse/linuxtools/ctf/core/tests/trace/TestAll.java b/lttng/org.eclipse.linuxtools.ctf.core.tests/src/org/eclipse/linuxtools/ctf/core/tests/trace/TestAll.java
deleted file mode 100644
index 10098c300c..0000000000
--- a/lttng/org.eclipse.linuxtools.ctf.core.tests/src/org/eclipse/linuxtools/ctf/core/tests/trace/TestAll.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013-2014 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:
- * Matthew Khouzam - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.ctf.core.tests.trace;
-
-import org.junit.runner.RunWith;
-import org.junit.runners.Suite;
-
-/**
- * The class <code>TestAll</code> builds a suite that can be used to run all of
- * the tests within its package as well as within any subpackages of its
- * package.
- *
- * @author Matthew Khouzam
- * @version $Revision: 1.0 $
- */
-@RunWith(Suite.class)
-@Suite.SuiteClasses({
- CTFTraceCallsitePerformanceTest.class,
- CTFTraceReaderTest.class,
- CTFTraceTest.class,
- CTFTraceGrowingTest.class,
- IOstructgenTest.class,
- MetadataTest.class,
- CTFStreamInputPacketIndexEntryTest.class,
- CTFStreamInputPacketIndexTest.class,
- CTFStreamInputReaderTest.class,
- CTFStreamInputReaderTimestampComparatorTest.class,
- CTFStreamInputTest.class,
- CTFStreamTest.class,
- UtilsTest.class
-})
-public class TestAll {
-
-}
diff --git a/lttng/org.eclipse.linuxtools.ctf.core.tests/src/org/eclipse/linuxtools/ctf/core/tests/trace/UtilsTest.java b/lttng/org.eclipse.linuxtools.ctf.core.tests/src/org/eclipse/linuxtools/ctf/core/tests/trace/UtilsTest.java
deleted file mode 100644
index b3fbfdf478..0000000000
--- a/lttng/org.eclipse.linuxtools.ctf.core.tests/src/org/eclipse/linuxtools/ctf/core/tests/trace/UtilsTest.java
+++ /dev/null
@@ -1,118 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 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:
- * Matthew Khouzam - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.ctf.core.tests.trace;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-
-import java.util.UUID;
-
-import org.eclipse.linuxtools.ctf.core.trace.Utils;
-import org.junit.Test;
-
-/**
- * The class <code>UtilsTest</code> contains tests for the class
- * {@link Utils}.
- *
- * @author ematkho
- * @version $Revision: 1.0 $
- */
-public class UtilsTest {
-
- /**
- * Run the UUID makeUUID(byte[]) method test.
- */
- @Test
- public void testMakeUUID() {
- int byteSize = 32;
- byte[] bytes = new byte[byteSize];
- for (int i = 0; i < byteSize; i++) {
- bytes[i] = (byte) (i);
- }
-
- UUID result = Utils.makeUUID(bytes);
- assertNotNull(result);
- }
-
- /**
- * Run the UUID makeUUID(byte[]) method test.
- */
- @Test
- public void testMakeUUID_2() {
- byte[] bytes = new byte[] { (byte) 1, (byte) 1, (byte) 0, (byte) 0,
- (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 1, (byte) 1,
- (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0 };
-
- UUID result = Utils.makeUUID(bytes);
-
- assertNotNull(result);
- assertEquals(72339069014638592L, result.getLeastSignificantBits());
- assertEquals(72339069014638592L, result.getMostSignificantBits());
- assertEquals("01010000-0000-0000-0101-000000000000", result.toString());
- assertEquals(0, result.variant());
- assertEquals(0, result.version());
- }
-
- /**
- * Run the UUID makeUUID(byte[]) method test.
- */
- @Test
- public void testMakeUUID_3() {
- byte[] bytes = new byte[] { (byte) 0, (byte) 0, (byte) 0, (byte) 0,
- (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0,
- (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0 };
-
- UUID result = Utils.makeUUID(bytes);
-
- assertNotNull(result);
- assertEquals(0L, result.getLeastSignificantBits());
- assertEquals(0L, result.getMostSignificantBits());
- assertEquals("00000000-0000-0000-0000-000000000000", result.toString());
- assertEquals(0, result.variant());
- assertEquals(0, result.version());
- }
-
- /**
- * Run the int unsignedCompare(long,long) method test.
- */
- @Test
- public void testUnsignedCompare() {
- long a = 1L;
- long b = 1L;
- int result;
-
- result = Utils.unsignedCompare(a, b);
- assertEquals(0, result);
-
- result = Utils.unsignedCompare(0L, 1L);
- assertEquals(-1, result);
- result = Utils.unsignedCompare(0xFFFFFFFFL, 0x100000000L);
- assertEquals(-1, result);
- result = Utils.unsignedCompare(-4L, -1L);
- assertEquals(-1, result);
- result = Utils.unsignedCompare(-0x80000000L, -1L);
- assertEquals(-1, result);
- result = Utils.unsignedCompare(0x7FFFFFFFFFFFFFFEL, 0x7FFFFFFFFFFFFFFFL);
- assertEquals(-1, result);
-
- result = Utils.unsignedCompare(1L, 0L);
- assertEquals(1, result);
- result = Utils.unsignedCompare(0x100000000L, 0xFFFFFFFFL);
- assertEquals(1, result);
- result = Utils.unsignedCompare(-1L, -4L);
- assertEquals(1, result);
- result = Utils.unsignedCompare(-1L, -0x80000000L);
- assertEquals(1, result);
- result = Utils.unsignedCompare(0x7FFFFFFFFFFFFFFFL, 0x7FFFFFFFFFFFFFFEL);
- assertEquals(1, result);
- }
-} \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.ctf.core.tests/src/org/eclipse/linuxtools/ctf/core/tests/types/ArrayDeclaration2Test.java b/lttng/org.eclipse.linuxtools.ctf.core.tests/src/org/eclipse/linuxtools/ctf/core/tests/types/ArrayDeclaration2Test.java
deleted file mode 100644
index d453cae205..0000000000
--- a/lttng/org.eclipse.linuxtools.ctf.core.tests/src/org/eclipse/linuxtools/ctf/core/tests/types/ArrayDeclaration2Test.java
+++ /dev/null
@@ -1,144 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 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:
- * Matthew Khouzam - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.ctf.core.tests.types;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertTrue;
-
-import java.nio.ByteBuffer;
-import java.nio.ByteOrder;
-
-import org.eclipse.linuxtools.ctf.core.event.io.BitBuffer;
-import org.eclipse.linuxtools.ctf.core.event.scope.IDefinitionScope;
-import org.eclipse.linuxtools.ctf.core.event.types.AbstractArrayDefinition;
-import org.eclipse.linuxtools.ctf.core.event.types.CompoundDeclaration;
-import org.eclipse.linuxtools.ctf.core.event.types.Encoding;
-import org.eclipse.linuxtools.ctf.core.event.types.IDeclaration;
-import org.eclipse.linuxtools.ctf.core.event.types.IntegerDeclaration;
-import org.eclipse.linuxtools.ctf.core.event.types.StringDeclaration;
-import org.eclipse.linuxtools.ctf.core.tests.io.Util;
-import org.eclipse.linuxtools.ctf.core.trace.CTFReaderException;
-import org.eclipse.linuxtools.internal.ctf.core.event.types.ArrayDeclaration;
-import org.junit.Before;
-import org.junit.Test;
-
-/**
- * The class <code>ArrayDeclaration2Test</code> contains tests for the class
- * <code>{@link ArrayDeclaration}</code>.
- *
- * @author Matthew Khouzam
- * @version $Revision: 1.0 $
- */
-public class ArrayDeclaration2Test {
-
- private ArrayDeclaration fixture;
-
- /**
- * Perform pre-test initialization.
- */
- @Before
- public void setUp() {
- fixture = new ArrayDeclaration(1, new StringDeclaration());
- }
-
- /**
- * Run the ArrayDeclaration(int,Declaration) constructor test.
- */
- @Test
- public void testArrayDeclaration() {
- int length = 1;
- IDeclaration elemType = new StringDeclaration();
- ArrayDeclaration result = new ArrayDeclaration(length, elemType);
-
- assertNotNull(result);
- String left = "[declaration] array[";
- String right = result.toString().substring(0, left.length());
- assertEquals(left, right);
- assertEquals(1, result.getLength());
- }
-
- /**
- * Run the ArrayDefinition createDefinition(DefinitionScope,String) method
- * test.
- *
- * @throws CTFReaderException
- * error in the bitbuffer
- */
- @Test
- public void testCreateDefinition() throws CTFReaderException {
- String fieldName = "";
- IDefinitionScope definitionScope = null;
- AbstractArrayDefinition result;
- byte[] array = { 't', 'e', 's', 't', '\0', 't', 'h', 'i', 's', '\0' };
- BitBuffer bb = new BitBuffer(Util.testMemory(ByteBuffer.wrap(array)));
- result = fixture.createDefinition(definitionScope, fieldName, bb);
-
- assertNotNull(result);
- }
-
-
-
- /**
- * Run the Declaration getElementType() method test.
- */
- @Test
- public void testGetElementType() {
- IDeclaration result = fixture.getElementType();
- assertNotNull(result);
- }
-
- /**
- * Run the int getLength() method test.
- */
- @Test
- public void testGetLength() {
- int result = fixture.getLength();
- assertEquals(1, result);
- }
-
- /**
- * Run the boolean isString() method test.
- */
- @Test
- public void testIsString_ownDefs() {
- // it's an array of strings, not a string
- assertFalse(fixture.isString());
- }
-
- /**
- * Run the boolean isString() method test.
- */
- @Test
- public void testIsString_complex() {
- final IntegerDeclaration id = IntegerDeclaration.createDeclaration(8, false, 16,
- ByteOrder.LITTLE_ENDIAN, Encoding.UTF8, "", 8);
- CompoundDeclaration ad = new ArrayDeclaration(0, id);
-
- boolean result = ad.isString();
-
- assertTrue(result);
- }
-
- /**
- * Run the String toString() method test.
- */
- @Test
- public void testToString() {
- String result = fixture.toString();
- String left = "[declaration] array[";
- String right = result.substring(0, left.length());
-
- assertEquals(left, right);
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.ctf.core.tests/src/org/eclipse/linuxtools/ctf/core/tests/types/ArrayDefinition2Test.java b/lttng/org.eclipse.linuxtools.ctf.core.tests/src/org/eclipse/linuxtools/ctf/core/tests/types/ArrayDefinition2Test.java
deleted file mode 100644
index dd01911cc2..0000000000
--- a/lttng/org.eclipse.linuxtools.ctf.core.tests/src/org/eclipse/linuxtools/ctf/core/tests/types/ArrayDefinition2Test.java
+++ /dev/null
@@ -1,259 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 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:
- * Matthew Khouzam - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.ctf.core.tests.types;
-
-import static org.junit.Assert.assertNotNull;
-
-import java.nio.ByteBuffer;
-import java.nio.ByteOrder;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
-
-import org.eclipse.jdt.annotation.NonNull;
-import org.eclipse.linuxtools.ctf.core.event.io.BitBuffer;
-import org.eclipse.linuxtools.ctf.core.event.scope.IDefinitionScope;
-import org.eclipse.linuxtools.ctf.core.event.scope.LexicalScope;
-import org.eclipse.linuxtools.ctf.core.event.types.CompoundDeclaration;
-import org.eclipse.linuxtools.ctf.core.event.types.Definition;
-import org.eclipse.linuxtools.ctf.core.event.types.Encoding;
-import org.eclipse.linuxtools.ctf.core.event.types.IDeclaration;
-import org.eclipse.linuxtools.ctf.core.event.types.IDefinition;
-import org.eclipse.linuxtools.ctf.core.event.types.IntegerDeclaration;
-import org.eclipse.linuxtools.ctf.core.event.types.IntegerDefinition;
-import org.eclipse.linuxtools.ctf.core.event.types.StringDeclaration;
-import org.eclipse.linuxtools.ctf.core.event.types.StringDefinition;
-import org.eclipse.linuxtools.ctf.core.tests.io.Util;
-import org.eclipse.linuxtools.ctf.core.trace.CTFReaderException;
-import org.eclipse.linuxtools.ctf.core.trace.CTFTrace;
-import org.eclipse.linuxtools.internal.ctf.core.event.types.ArrayDeclaration;
-import org.eclipse.linuxtools.internal.ctf.core.event.types.ArrayDefinition;
-import org.junit.Before;
-import org.junit.Test;
-
-/**
- * The class <code>ArrayDefinition2Test</code> contains tests for the class
- * <code>{@link ArrayDefinition}</code>.
- *
- */
-public class ArrayDefinition2Test {
-
- private @NonNull CTFTrace trace = new CTFTrace();
- private ArrayDefinition charArrayFixture;
- private ArrayDefinition stringArrayFixture;
- private ArrayDefinition longArrayFixture;
-
- /**
- * Perform pre-test initialization.
- *
- * structDef shouldn't be null after parsing the CTFTraceReader object, so
- * we can ignore the warning.
- */
- @Before
- public void setUp() {
- charArrayFixture = createCharArray();
- stringArrayFixture = createStringArray();
- longArrayFixture = createLongArray();
- }
-
- private ArrayDefinition createLongArray() {
- IntegerDeclaration decl = IntegerDeclaration.createDeclaration(32, false, 10, ByteOrder.BIG_ENDIAN, Encoding.NONE, "none", 8);
- List<Definition> defs = createIntDefs(10, 32);
- ArrayDefinition temp = setUpDeclaration(decl, defs);
- return temp;
- }
-
- private ArrayDefinition createCharArray() {
- IntegerDeclaration decl = IntegerDeclaration.createDeclaration(8, false, 10, ByteOrder.BIG_ENDIAN, Encoding.UTF8, "none", 8);
- List<Definition> defs = createIntDefs(4, 8);
- ArrayDefinition temp = setUpDeclaration(decl, defs);
- return temp;
- }
-
- private ArrayDefinition createStringArray() {
- StringDeclaration strDecl = new StringDeclaration();
- List<Definition> defs = createDefs();
- ArrayDefinition temp = setUpDeclaration(strDecl, defs);
- return temp;
- }
-
- private ArrayDefinition setUpDeclaration(IDeclaration decl,
- @NonNull List<Definition> defs) {
- CompoundDeclaration ad = new ArrayDeclaration(0, decl);
- ArrayDefinition temp = new ArrayDefinition(ad, this.trace, "Testx", defs);
- return temp;
- }
-
- @NonNull
- private static List<Definition> createIntDefs(int size, int bits) {
- List<Definition> defs = new ArrayList<>(size);
- for (int i = 0; i < size; i++) {
- String content = "test" + i;
- defs.add(new IntegerDefinition(IntegerDeclaration.createDeclaration(bits, false,
- 16, ByteOrder.LITTLE_ENDIAN, Encoding.UTF8, content, 24), null, content, i));
- }
- return defs;
- }
-
- @NonNull
- private static List<Definition> createDefs() {
- int size = 4;
- List<Definition> defs = new ArrayList<>();
- for (int i = 0; i < size; i++) {
- String content = "test" + i;
- defs.add(new StringDefinition(
- new StringDeclaration(Encoding.UTF8), null, content, content));
- }
- return defs;
- }
-
- /**
- * Run the ArrayDefinition(ArrayDeclaration,DefinitionScope,String)
- * constructor test.
- */
- @Test
- public void testArrayDefinition_baseDeclaration() {
- CompoundDeclaration declaration = (CompoundDeclaration) charArrayFixture.getDeclaration();
- String fieldName = "";
-
- @SuppressWarnings("null")
- ArrayDefinition result = new ArrayDefinition(declaration, this.trace, fieldName, Arrays.asList(new Definition[0]));
- assertNotNull(result);
- }
-
- /**
- * Run the ArrayDefinition(ArrayDeclaration,DefinitionScope,String)
- * constructor test.
- */
- @Test
- public void testArrayDefinition_newDeclaration() {
- CompoundDeclaration declaration = new ArrayDeclaration(0,
- new StringDeclaration());
- IDefinitionScope definitionScope = getDefinitionScope();
-
- String fieldName = "";
- @SuppressWarnings("null")
- ArrayDefinition result = new ArrayDefinition(declaration, definitionScope, fieldName, Arrays.asList(new Definition[0]));
- assertNotNull(result);
- }
-
- /**
- * Run the ArrayDeclaration getDeclaration() method test.
- */
- @Test
- public void testGetDeclaration() {
- CompoundDeclaration result = (CompoundDeclaration) charArrayFixture.getDeclaration();
-
- assertNotNull(result);
- }
-
- /**
- * Run the Definition getDefinitions().get(int) method test.
- */
- @Test
- public void testgetElem_noDefs() {
- int i = 0;
- IDefinition result = charArrayFixture.getDefinitions().get(i);
-
- assertNotNull(result);
- }
-
- /**
- * Run the Definition getDefinitions().get(int) method test.
- */
- @Test
- public void testgetElem_withDefs() {
- List<Definition> defs = createDefs();
- IDefinitionScope definitionScope = getDefinitionScope();
- ArrayDefinition ad = new ArrayDefinition((CompoundDeclaration) charArrayFixture.getDeclaration(), definitionScope, "test", defs);
- int j = 1;
-
- IDefinition result = ad.getDefinitions().get(j);
-
- assertNotNull(result);
- }
-
- @NonNull
- private static IDefinitionScope getDefinitionScope() {
- return new IDefinitionScope() {
-
- @Override
- public Definition lookupDefinition(String lookupPath) {
- return null;
- }
-
- @Override
- public LexicalScope getScopePath() {
- return null;
- }
- };
- }
-
- /**
- * Run the void read(BitBuffer) method test.
- *
- * @throws CTFReaderException
- * error
- */
- @Test
- public void testRead_noDefs() throws CTFReaderException {
- BitBuffer input = new BitBuffer(Util.testMemory(ByteBuffer.allocateDirect(128)));
- charArrayFixture.getDeclaration().createDefinition(null, "test", input);
- }
-
- /**
- * Run the String toString() method test.
- */
- @Test
- public void testToString_char() {
- String result = charArrayFixture.toString();
- assertNotNull(result);
- }
-
- /**
- * Run the String toString() method test.
- */
- @Test
- public void testToString_long() {
- String result = longArrayFixture.toString();
- assertNotNull(result);
- }
-
- /**
- * Run the String toString() method test.
- */
- @Test
- public void testToString_string() {
- String result = stringArrayFixture.toString();
- assertNotNull(result);
- }
-
- /**
- * Run the String toString() method test.
- */
- @Test
- public void testToString_withDefs() {
- String result = charArrayFixture.toString();
-
- assertNotNull(result);
- }
-
- /**
- * Run the String toString() method test.
- */
- @Test
- public void testToStringStringArray() {
- String result = stringArrayFixture.toString();
-
- assertNotNull(result);
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.ctf.core.tests/src/org/eclipse/linuxtools/ctf/core/tests/types/DefinitionTest.java b/lttng/org.eclipse.linuxtools.ctf.core.tests/src/org/eclipse/linuxtools/ctf/core/tests/types/DefinitionTest.java
deleted file mode 100644
index 7d95e9e527..0000000000
--- a/lttng/org.eclipse.linuxtools.ctf.core.tests/src/org/eclipse/linuxtools/ctf/core/tests/types/DefinitionTest.java
+++ /dev/null
@@ -1,64 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 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:
- * Matthew Khouzam - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.ctf.core.tests.types;
-
-import static org.junit.Assert.assertNotNull;
-
-import org.eclipse.jdt.annotation.NonNull;
-import org.eclipse.linuxtools.ctf.core.event.scope.IDefinitionScope;
-import org.eclipse.linuxtools.ctf.core.event.types.Definition;
-import org.eclipse.linuxtools.ctf.core.event.types.IDeclaration;
-import org.eclipse.linuxtools.ctf.core.event.types.IDefinition;
-import org.eclipse.linuxtools.ctf.core.event.types.StringDeclaration;
-import org.junit.Test;
-
-/**
- * The class <code>DefinitionTest</code> contains tests for the class
- * <code>{@link Definition}</code>.
- *
- * @author Matthew Khouzam
- * @version $Revision: 1.0 $
- */
-public class DefinitionTest {
-
- /**
- * Since Definition is abstract, we'll minimally extend it here to
- * instantiate it.
- */
- static class DefTest extends Definition {
-
- @NonNull
- private static final StringDeclaration STRINGDEF = new StringDeclaration();
-
- public DefTest(IDefinitionScope definitionScope, @NonNull String fieldName) {
- super(DefTest.STRINGDEF, definitionScope, fieldName);
- }
-
- @Override
- @NonNull
- public IDeclaration getDeclaration() {
- return DefTest.STRINGDEF;
- }
-
- }
-
- /**
- * Test a definition
- */
- @Test
- public void testToString() {
- IDefinition fixture = new DefTest(null, "Hello");
- String result = fixture.toString();
-
- assertNotNull(result);
- }
-} \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.ctf.core.tests/src/org/eclipse/linuxtools/ctf/core/tests/types/EnumDeclarationTest.java b/lttng/org.eclipse.linuxtools.ctf.core.tests/src/org/eclipse/linuxtools/ctf/core/tests/types/EnumDeclarationTest.java
deleted file mode 100644
index 4a6e53df7e..0000000000
--- a/lttng/org.eclipse.linuxtools.ctf.core.tests/src/org/eclipse/linuxtools/ctf/core/tests/types/EnumDeclarationTest.java
+++ /dev/null
@@ -1,123 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 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:
- * Matthew Khouzam - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.ctf.core.tests.types;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertNull;
-import static org.junit.Assert.assertTrue;
-
-import java.nio.ByteBuffer;
-import java.nio.ByteOrder;
-
-import org.eclipse.linuxtools.ctf.core.event.io.BitBuffer;
-import org.eclipse.linuxtools.ctf.core.event.scope.IDefinitionScope;
-import org.eclipse.linuxtools.ctf.core.event.types.Encoding;
-import org.eclipse.linuxtools.ctf.core.event.types.EnumDeclaration;
-import org.eclipse.linuxtools.ctf.core.event.types.EnumDefinition;
-import org.eclipse.linuxtools.ctf.core.event.types.IntegerDeclaration;
-import org.eclipse.linuxtools.ctf.core.tests.io.Util;
-import org.eclipse.linuxtools.ctf.core.trace.CTFReaderException;
-import org.junit.Before;
-import org.junit.Test;
-
-/**
- * The class <code>EnumDeclarationTest</code> contains tests for the class
- * <code>{@link EnumDeclaration}</code>.
- *
- * @author ematkho
- * @version $Revision: 1.0 $
- */
-public class EnumDeclarationTest {
-
- private EnumDeclaration fixture;
-
- /**
- * Perform pre-test initialization.
- */
- @Before
- public void setUp() {
- fixture = new EnumDeclaration(IntegerDeclaration.createDeclaration(1, false, 1,
- ByteOrder.BIG_ENDIAN, Encoding.ASCII, "", 8));
- }
-
- /**
- * Run the EnumDeclaration(IntegerDeclaration) constructor test.
- */
- @Test
- public void testEnumDeclaration() {
- IntegerDeclaration containerType = IntegerDeclaration.createDeclaration(1, false, 1,
- ByteOrder.BIG_ENDIAN, Encoding.ASCII, "", 8);
-
- EnumDeclaration result = new EnumDeclaration(containerType);
-
- assertNotNull(result);
- String left = "[declaration] enum[";
- assertEquals(left, result.toString().substring(0, left.length()));
- }
-
- /**
- * Run the boolean add(long,long,String) method test.
- */
- @Test
- public void testAdd() {
- long low = 1L;
- long high = 1L;
- String label = "";
-
- boolean result = fixture.add(low, high, label);
-
- assertTrue(result);
- }
-
- /**
- * Run the EnumDefinition createDefinition(DefinitionScope,String) method
- * test.
- *
- * @throws CTFReaderException
- * out of bounds error, won't happen
- */
- @Test
- public void testCreateDefinition() throws CTFReaderException {
- IDefinitionScope definitionScope = null;
- String fieldName = "";
- byte[] array = { 't', 'e', 's', 't', '\0', 't', 'h', 'i', 's', '\0' };
- BitBuffer bb = new BitBuffer(Util.testMemory(ByteBuffer.wrap(array)));
-
- EnumDefinition result = fixture.createDefinition(definitionScope,
- fieldName, bb);
-
- assertNotNull(result);
- }
-
- /**
- * Run the String query(long) method test.
- */
- @Test
- public void testQuery() {
- long value = 0;
- String result = fixture.query(value);
-
- assertNull(result);
- }
-
- /**
- * Run the String toString() method test.
- */
- @Test
- public void testToString() {
- String result = fixture.toString();
-
- String left = "[declaration] enum[";
- assertEquals(left, result.substring(0, left.length()));
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.ctf.core.tests/src/org/eclipse/linuxtools/ctf/core/tests/types/EnumDefinitionTest.java b/lttng/org.eclipse.linuxtools.ctf.core.tests/src/org/eclipse/linuxtools/ctf/core/tests/types/EnumDefinitionTest.java
deleted file mode 100644
index 7525f7be07..0000000000
--- a/lttng/org.eclipse.linuxtools.ctf.core.tests/src/org/eclipse/linuxtools/ctf/core/tests/types/EnumDefinitionTest.java
+++ /dev/null
@@ -1,95 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 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:
- * Matthew Khouzam - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.ctf.core.tests.types;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-
-import java.nio.ByteOrder;
-
-import org.eclipse.linuxtools.ctf.core.event.types.Encoding;
-import org.eclipse.linuxtools.ctf.core.event.types.EnumDeclaration;
-import org.eclipse.linuxtools.ctf.core.event.types.EnumDefinition;
-import org.eclipse.linuxtools.ctf.core.event.types.IntegerDeclaration;
-import org.eclipse.linuxtools.ctf.core.event.types.IntegerDefinition;
-import org.junit.Before;
-import org.junit.Test;
-
-/**
- * The class <code>EnumDefinitionTest</code> contains tests for the class
- * <code>{@link EnumDefinition}</code>.
- *
- * @author ematkho
- * @version $Revision: 1.0 $
- */
-public class EnumDefinitionTest {
-
- private EnumDefinition fixtureA;
- private EnumDefinition fixtureB;
-
- /**
- * Perform pre-test initialization.
- */
- @Before
- public void setUp() {
- IntegerDeclaration integerDeclaration = IntegerDeclaration.createDeclaration(1, false, 1, ByteOrder.BIG_ENDIAN,
- Encoding.ASCII, "", 8);
- EnumDeclaration declaration = new EnumDeclaration(
- integerDeclaration);
- declaration.add(0, 10, "a");
- declaration.add(11, 20, "b");
- String fieldName = "";
-
- fixtureA = new EnumDefinition(declaration, null, fieldName, new IntegerDefinition(integerDeclaration, null, fieldName, 4));
- fixtureB = new EnumDefinition(declaration, null, fieldName, new IntegerDefinition(integerDeclaration, null, fieldName, 12));
- }
-
- /**
- * Run the EnumDefinition(EnumDeclaration,DefinitionScope,String)
- * constructor test.
- */
- @Test
- public void testEnumDefinition() {
- assertNotNull(fixtureA);
- assertNotNull(fixtureB);
- }
-
- /**
- * Run the String getValue() method test.
- */
- @Test
- public void testGetValue() {
- String result = fixtureA.getValue();
-
- assertNotNull(result);
- assertEquals("a", result);
- }
-
- /**
- * Run the long getIntegerValue() method test.
- */
- @Test
- public void testGetIntegerValue_one() {
- long result = fixtureA.getIntegerValue();
- assertEquals(4L, result);
- }
-
- /**
- * Run the String toString() method test.
- */
- @Test
- public void testToString() {
- String result = fixtureB.toString();
-
- assertEquals("{ value = b, container = 12 }", result);
- }
-} \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.ctf.core.tests/src/org/eclipse/linuxtools/ctf/core/tests/types/EventDeclarationTest.java b/lttng/org.eclipse.linuxtools.ctf.core.tests/src/org/eclipse/linuxtools/ctf/core/tests/types/EventDeclarationTest.java
deleted file mode 100644
index ddb000ded0..0000000000
--- a/lttng/org.eclipse.linuxtools.ctf.core.tests/src/org/eclipse/linuxtools/ctf/core/tests/types/EventDeclarationTest.java
+++ /dev/null
@@ -1,375 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 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:
- * Matthew Khouzam - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.ctf.core.tests.types;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertNull;
-import static org.junit.Assert.assertTrue;
-import static org.junit.Assume.assumeTrue;
-
-import org.eclipse.linuxtools.ctf.core.event.EventDefinition;
-import org.eclipse.linuxtools.ctf.core.event.types.StructDeclaration;
-import org.eclipse.linuxtools.ctf.core.tests.shared.CtfTestTrace;
-import org.eclipse.linuxtools.ctf.core.trace.CTFReaderException;
-import org.eclipse.linuxtools.ctf.core.trace.CTFTrace;
-import org.eclipse.linuxtools.ctf.core.trace.CTFTraceReader;
-import org.eclipse.linuxtools.ctf.core.trace.CTFStream;
-import org.eclipse.linuxtools.internal.ctf.core.event.EventDeclaration;
-import org.junit.Before;
-import org.junit.Test;
-
-/**
- * The class <code>EventDeclarationTest</code> contains tests for the class
- * <code>{@link EventDeclaration}</code>.
- *
- * @author ematkho
- * @version $Revision: 1.0 $
- */
-@SuppressWarnings("javadoc")
-public class EventDeclarationTest {
-
- private static final CtfTestTrace testTrace = CtfTestTrace.KERNEL;
-
- private EventDeclaration fixture;
-
- /**
- * Perform pre-test initialization.
- *
- * @throws CTFReaderException
- */
- @Before
- public void setUp() throws CTFReaderException {
- assumeTrue(testTrace.exists());
- fixture = new EventDeclaration();
- fixture.setContext(new StructDeclaration(1L));
- fixture.setId(1L);
- fixture.setFields(new StructDeclaration(1L));
- fixture.setStream(new CTFStream(testTrace.getTrace()));
- fixture.setName("");
- }
-
- /**
- * Run the EventDeclaration() constructor test.
- */
- @Test
- public void testEventDeclaration() {
- EventDeclaration result = new EventDeclaration();
- assertNotNull(result);
- }
-
- /**
- * Run the boolean contextIsSet() method test.
- */
- @Test
- public void testContextIsSet() {
- boolean result = fixture.contextIsSet();
- assertTrue(result);
- }
-
- /**
- * Run the boolean contextIsSet() method test.
- */
- @Test
- public void testContextIsSet_null() {
- fixture.setContext((StructDeclaration) null);
-
- boolean result = fixture.contextIsSet();
- assertFalse(result);
- }
-
- /**
- * Run the boolean equals(Object) method test.
- *
- * @throws CTFReaderException
- */
- @Test
- public void testEquals() throws CTFReaderException {
- EventDeclaration obj = new EventDeclaration();
- obj.setContext(new StructDeclaration(1L));
- obj.setId(1L);
- obj.setFields(new StructDeclaration(1L));
- obj.setStream(new CTFStream(testTrace.getTrace()));
- obj.setName("");
-
- assertTrue(fixture.equals(fixture));
- boolean result = fixture.equals(obj);
- assertFalse(result);
- }
-
- /**
- * Run the boolean equals(Object) method test.
- */
- @Test
- public void testEquals_null() {
- Object obj = null;
-
- boolean result = fixture.equals(obj);
- assertFalse(result);
- }
-
- /**
- * Run the boolean equals(Object) method test.
- */
- @Test
- public void testEquals_emptyObject() {
- Object obj = new Object();
-
- boolean result = fixture.equals(obj);
- assertFalse(result);
- }
-
- /**
- * Run the boolean equals(Object) method test.
- */
- @Test
- public void testEquals_other1() {
- EventDeclaration obj = new EventDeclaration();
- obj.setContext(fixture.getContext());
-
- boolean result = fixture.equals(obj);
- assertFalse(result);
- }
-
- /**
- * Run the boolean equals(Object) method test.
- */
- @Test
- public void testEquals_other2() {
- EventDeclaration obj = new EventDeclaration();
- obj.setContext(new StructDeclaration(1L));
- obj.setFields(new StructDeclaration(1L));
-
- boolean result = fixture.equals(obj);
- assertFalse(result);
- }
-
- /**
- * Run the boolean equals(Object) method test.
- */
- @Test
- public void testEquals_other3() {
- EventDeclaration obj = new EventDeclaration();
- obj.setContext(new StructDeclaration(1L));
- obj.setId(1L);
- obj.setFields(new StructDeclaration(1L));
-
- boolean result = fixture.equals(obj);
- assertFalse(result);
- }
-
- /**
- * Run the boolean equals(Object) method test.
- */
- @Test
- public void testEquals_other4() {
- EventDeclaration obj = new EventDeclaration();
- obj.setContext(new StructDeclaration(1L));
- obj.setId(1L);
- obj.setFields(new StructDeclaration(1L));
- obj.setName("");
-
- boolean result = fixture.equals(obj);
- assertFalse(result);
- }
-
- /**
- * Run the boolean fieldsIsSet() method test.
- */
- @Test
- public void testFieldsIsSet() {
- boolean result = fixture.fieldsIsSet();
- assertTrue(result);
- }
-
- /**
- * Run the boolean fieldsIsSet() method test.
- */
- @Test
- public void testFieldsIsSet_null() {
- fixture.setFields((StructDeclaration) null);
-
- boolean result = fixture.fieldsIsSet();
- assertFalse(result);
- }
-
- /**
- * Run the StructDeclaration getFields() method test.
- */
- @Test
- public void testGetFields() {
- StructDeclaration result = fixture.getFields();
- assertNotNull(result);
- }
-
- /**
- * Run the Long getId() method test.
- */
- @Test
- public void testGetId() {
- assertEquals(1,fixture.id());
- }
-
- /**
- * Run the String getName() method test.
- */
- @Test
- public void testGetName() {
- String result = fixture.getName();
- assertNotNull(result);
- }
-
- /**
- * Run the Stream getStream() method test.
- */
- @Test
- public void testGetStream() {
- CTFStream result = fixture.getStream();
- assertNotNull(result);
- }
-
- /**
- * Run the int hashCode() method test.
- */
- @Test
- public void testHashCode() {
- int result = fixture.hashCode();
- assertTrue(0 != result);
- }
-
- /**
- * Run the int hashCode() method test.
- */
- @Test
- public void testHashCode_null() {
- fixture.setStream((CTFStream) null);
- fixture.setName((String) null);
-
- int result = fixture.hashCode();
- assertTrue(0 != result);
- }
-
- /**
- * Run the boolean idIsSet() method test.
- */
- @Test
- public void testIdIsSet() {
- boolean result = fixture.idIsSet();
- assertTrue(result);
- }
-
- /**
- * Run the boolean nameIsSet() method test.
- */
- @Test
- public void testNameIsSet() {
- boolean result = fixture.nameIsSet();
- assertTrue(result);
- }
-
- /**
- * Run the boolean nameIsSet() method test.
- */
- @Test
- public void testNameIsSet_null() {
- fixture.setName((String) null);
-
- boolean result = fixture.nameIsSet();
- assertFalse(result);
- }
-
- /**
- * Run the boolean streamIsSet() method test.
- */
- @Test
- public void testStreamIsSet() {
- boolean result = fixture.streamIsSet();
- assertTrue(result);
- }
-
- /**
- * Run the boolean streamIsSet() method test.
- */
- @Test
- public void testStreamIsSet_null() {
- fixture.setStream((CTFStream) null);
-
- boolean result = fixture.streamIsSet();
- assertEquals(false, result);
- }
-
- /**
- * Test for the EventDefinition class
- *
- * @throws CTFReaderException
- */
- @Test
- public void testEventDefinition() throws CTFReaderException {
- try (CTFTrace trace = testTrace.getTrace();) {
- EventDefinition ed = null;
- try (CTFTraceReader tr = new CTFTraceReader(trace);) {
- tr.advance();
- ed = tr.getCurrentEventDef();
- }
-
- assertNotNull(ed);
- assertNotNull(ed.getScopePath());
- assertNotNull(ed.getDeclaration());
- assertNotNull(ed.getFields());
- assertNull(ed.getContext());
- assertNotNull(ed.getPacketContext());
- assertNotNull(ed.getCPU());
- assertNotNull(ed.getStreamInputReader());
- assertNull(ed.lookupDefinition("context"));
- assertNotNull(ed.lookupDefinition("fields"));
- assertNull(ed.lookupDefinition("other"));
- assertNotNull(ed.toString());
- }
- }
-
- EventDeclaration e1;
- EventDeclaration e2;
-
-
- @Test
- public void testEquals1(){
- e1 = new EventDeclaration();
- assertFalse(e1.equals(null));
- }
-
- @Test
- public void testEquals2(){
- e1 = EventDeclaration.getLostEventDeclaration();
- assertFalse(e1.equals(new Long(23L)));
- }
-
- @Test
- public void testEquals3(){
- e1 = EventDeclaration.getLostEventDeclaration();
- assertEquals(e1,e1);
- }
-
- @Test
- public void testEquals4(){
- e1 = EventDeclaration.getLostEventDeclaration();
- e2 = EventDeclaration.getLostEventDeclaration();
- assertEquals(e1,e2);
- }
-
- @Test
- public void testEquals5(){
- e1 = EventDeclaration.getLostEventDeclaration();
- e2 = new EventDeclaration();
- assertFalse(e1.equals(e2));
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.ctf.core.tests/src/org/eclipse/linuxtools/ctf/core/tests/types/EventHeaderDeclarationTest.java b/lttng/org.eclipse.linuxtools.ctf.core.tests/src/org/eclipse/linuxtools/ctf/core/tests/types/EventHeaderDeclarationTest.java
deleted file mode 100644
index e5a8c0d758..0000000000
--- a/lttng/org.eclipse.linuxtools.ctf.core.tests/src/org/eclipse/linuxtools/ctf/core/tests/types/EventHeaderDeclarationTest.java
+++ /dev/null
@@ -1,377 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 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:
- * Matthew Khouzam - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.linuxtools.ctf.core.tests.types;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-
-import java.nio.ByteBuffer;
-import java.nio.ByteOrder;
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.linuxtools.ctf.core.event.io.BitBuffer;
-import org.eclipse.linuxtools.ctf.core.event.types.Encoding;
-import org.eclipse.linuxtools.ctf.core.event.types.EnumDeclaration;
-import org.eclipse.linuxtools.ctf.core.event.types.FloatDeclaration;
-import org.eclipse.linuxtools.ctf.core.event.types.IntegerDeclaration;
-import org.eclipse.linuxtools.ctf.core.event.types.IntegerDefinition;
-import org.eclipse.linuxtools.ctf.core.event.types.StringDeclaration;
-import org.eclipse.linuxtools.ctf.core.event.types.StructDeclaration;
-import org.eclipse.linuxtools.ctf.core.event.types.VariantDeclaration;
-import org.eclipse.linuxtools.ctf.core.trace.CTFReaderException;
-import org.eclipse.linuxtools.internal.ctf.core.event.types.composite.EventHeaderCompactDeclaration;
-import org.eclipse.linuxtools.internal.ctf.core.event.types.composite.EventHeaderDefinition;
-import org.eclipse.linuxtools.internal.ctf.core.event.types.composite.EventHeaderLargeDeclaration;
-import org.junit.Before;
-import org.junit.Test;
-
-/**
- * Event header declaration tests
- *
- * @author Matthew Khouzam
- *
- */
-public class EventHeaderDeclarationTest {
-
- private static final int ID = 2222;
- private static final int TIMESTAMP = 1000;
- private static final int VALID_LARGE = 1;
- private static final int VALID_COMPACT = 0;
-
- private final List<StructDeclaration> declarations = new ArrayList<>();
-
- /**
- * Setup
- */
- @Before
- public void init() {
- declarations.clear();
-
- /**
- * do not reflow
- *
- * <pre>
- * struct event_header_compact {
- * enum : uint5_t { compact = 0 ... 30, extended = 31 } id;
- * variant <id> {
- * struct {
- * uint27_clock_monotonic_t timestamp;
- * } compact;
- * struct {
- * uint32_t id;
- * uint64_clock_monotonic_t timestamp;
- * } extended;
- * } v;
- * } align(8);
- * </pre>
- */
-
- StructDeclaration base = new StructDeclaration(8);
- EnumDeclaration enumDec = new EnumDeclaration(IntegerDeclaration.createDeclaration(5, false,
- 10, ByteOrder.BIG_ENDIAN, Encoding.NONE, "", 1));
- enumDec.add(0, 30, "compact");
- enumDec.add(31, 31, "extended");
- base.addField("id", enumDec);
- VariantDeclaration variantV = new VariantDeclaration();
- StructDeclaration compact = new StructDeclaration(1);
- compact.addField("timestamp", IntegerDeclaration.createDeclaration(27, false, 10, ByteOrder.BIG_ENDIAN, Encoding.NONE, "", 1));
- variantV.addField("compact", compact);
- StructDeclaration large = new StructDeclaration(1);
- large.addField("id", IntegerDeclaration.UINT_32B_DECL);
- large.addField("timestamp", IntegerDeclaration.UINT_64B_DECL);
- variantV.addField("extended", large);
- base.addField("v", variantV);
- declarations.add(base);
-
- /**
- * Do not reflow
- *
- * <pre>
- * struct event_header_large {
- * enum : uint16_t { compact = 0 ... 65534, extended = 65535 } id;
- * variant <id> {
- * struct {
- * uint32_clock_monotonic_t timestamp;
- * } compact;
- * struct {
- * uint32_t id;
- * uint64_clock_monotonic_t timestamp;
- * } extended;
- * } v;
- * } align(8);
- * </pre>
- */
-
- base = new StructDeclaration(8);
- enumDec = new EnumDeclaration(IntegerDeclaration.createDeclaration(16, false,
- 10, ByteOrder.BIG_ENDIAN, Encoding.NONE, "", 1));
- enumDec.add(0, 30, "compact");
- enumDec.add(31, 31, "extended");
- base.addField("id", enumDec);
- variantV = new VariantDeclaration();
- compact = new StructDeclaration(8);
- compact.addField("timestamp", IntegerDeclaration.UINT_32B_DECL);
- variantV.addField("compact", compact);
- large = new StructDeclaration(8);
- large.addField("id", IntegerDeclaration.UINT_32B_DECL);
- large.addField("timestamp", IntegerDeclaration.UINT_64B_DECL);
- variantV.addField("extended", large);
- base.addField("v", variantV);
- declarations.add(base);
-
- // bad - well, sounds nice though
- base = new StructDeclaration(8);
- base.addField("potato salad", new FloatDeclaration(8, 8, ByteOrder.BIG_ENDIAN, 8));
- base.addField("bbq ribs", new FloatDeclaration(8, 8, ByteOrder.BIG_ENDIAN, 8));
- declarations.add(base);
- // bad
- base = new StructDeclaration(8);
- base.addField("id", new EnumDeclaration(IntegerDeclaration.UINT_16B_DECL));
- base.addField("v", new FloatDeclaration(8, 8, ByteOrder.BIG_ENDIAN, 8));
- declarations.add(base);
- // bad
- base = new StructDeclaration(8);
- base.addField("id", new EnumDeclaration(IntegerDeclaration.UINT_5B_DECL));
- base.addField("v", new FloatDeclaration(8, 8, ByteOrder.BIG_ENDIAN, 8));
- declarations.add(base);
- // bad
- base = new StructDeclaration(8);
- base.addField("id", new EnumDeclaration(IntegerDeclaration.UINT_5B_DECL));
- variantV = new VariantDeclaration();
- compact = new StructDeclaration(8);
- compact.addField("timestamp", IntegerDeclaration.UINT_27B_DECL);
- variantV.addField("compact1", compact);
- large = new StructDeclaration(8);
- large.addField("id", IntegerDeclaration.UINT_32B_DECL);
- large.addField("timestamp", IntegerDeclaration.UINT_64B_DECL);
- variantV.addField("extended", large);
- base.addField("v", variantV);
- declarations.add(base);
-
- // bad
- base = new StructDeclaration(8);
- base.addField("id", new EnumDeclaration(IntegerDeclaration.UINT_5B_DECL));
- variantV = new VariantDeclaration();
- compact = new StructDeclaration(8);
- compact.addField("timestamp", IntegerDeclaration.UINT_27B_DECL);
- variantV.addField("compact", compact);
- large = new StructDeclaration(8);
- large.addField("id", IntegerDeclaration.UINT_32B_DECL);
- large.addField("timestamp1", IntegerDeclaration.UINT_64B_DECL);
- variantV.addField("extended", large);
- base.addField("v", variantV);
- declarations.add(base);
-
- // bad
- base = new StructDeclaration(8);
- base.addField("id", new EnumDeclaration(IntegerDeclaration.UINT_5B_DECL));
- variantV = new VariantDeclaration();
- compact = new StructDeclaration(8);
- compact.addField("timestamp", IntegerDeclaration.UINT_27B_DECL);
- variantV.addField("compact", compact);
- large = new StructDeclaration(8);
- large.addField("id", IntegerDeclaration.UINT_32B_DECL);
- large.addField("timestamp", new StringDeclaration());
- variantV.addField("extended", large);
- base.addField("v", variantV);
- declarations.add(base);
-
- // bad
- base = new StructDeclaration(8);
- base.addField("id", new EnumDeclaration(IntegerDeclaration.UINT_5B_DECL));
- variantV = new VariantDeclaration();
- compact = new StructDeclaration(8);
- compact.addField("timestamp", IntegerDeclaration.UINT_27B_DECL);
- variantV.addField("compact", compact);
- variantV.addField("surprise!", compact);
- large = new StructDeclaration(8);
- large.addField("id", IntegerDeclaration.UINT_32B_DECL);
- large.addField("timestamp", new StringDeclaration());
- variantV.addField("extended", large);
- base.addField("v", variantV);
- declarations.add(base);
-
- // bad
- base = new StructDeclaration(8);
- base.addField("id", new EnumDeclaration(IntegerDeclaration.UINT_16B_DECL));
- variantV = new VariantDeclaration();
- compact = new StructDeclaration(8);
- compact.addField("timestamp", IntegerDeclaration.UINT_27B_DECL);
- variantV.addField("compact", compact);
- variantV.addField("surprise!", compact);
- large = new StructDeclaration(8);
- large.addField("id", IntegerDeclaration.UINT_32B_DECL);
- large.addField("timestamp", new StringDeclaration());
- variantV.addField("extended", large);
- base.addField("v", variantV);
- declarations.add(base);
- // bad
- base = new StructDeclaration(8);
- base.addField("id", new FloatDeclaration(8, 8, ByteOrder.BIG_ENDIAN, 8));
- base.addField("v", new FloatDeclaration(8, 8, ByteOrder.BIG_ENDIAN, 8));
- declarations.add(base);
- // bad
- base = new StructDeclaration(8);
- base.addField("id", IntegerDeclaration.INT_32B_DECL);
- base.addField("timestamp", IntegerDeclaration.INT_32B_DECL);
- declarations.add(base);
- // bad
- base = new StructDeclaration(8);
- base.addField("id", new EnumDeclaration(IntegerDeclaration.INT_8_DECL));
- base.addField("timestamp", IntegerDeclaration.INT_32B_DECL);
- declarations.add(base);
- }
-
- /**
- * Validate a compact declaration
- */
- @Test
- public void validateCompact() {
- assertEquals(true, EventHeaderCompactDeclaration.isCompactEventHeader(declarations.get(VALID_COMPACT)));
- }
-
- /**
- * Fail if it validates
- */
- @Test
- public void validateCompactFail() {
- for (int i = 0; i < declarations.size(); i++) {
- if (i == VALID_COMPACT) {
- continue;
- }
- assertEquals(false, EventHeaderCompactDeclaration.isCompactEventHeader(declarations.get(i)));
- }
- }
-
- /**
- * Validate a large declaration
- */
- @Test
- public void validateLarge() {
- assertEquals(true, EventHeaderLargeDeclaration.isLargeEventHeader(declarations.get(VALID_LARGE)));
- }
-
- /**
- * Fail if it validates
- */
- @Test
- public void validateLargeFail() {
- for (int i = 0; i < declarations.size(); i++) {
- if (i == VALID_LARGE) {
- continue;
- }
- assertEquals(false, EventHeaderLargeDeclaration.isLargeEventHeader(declarations.get(i)));
- }
- }
-
- /**
- * Test an compact compact header
- *
- * @throws CTFReaderException
- * if {@link BitBuffer} is null
- */
- @Test
- public void testCompactCompact() throws CTFReaderException {
- ByteBuffer buffer = ByteBuffer.allocate(16);
- buffer.putInt(0x80000042);
- byte[] validCompact1 = buffer.array();
-
- EventHeaderCompactDeclaration decl = new EventHeaderCompactDeclaration(ByteOrder.BIG_ENDIAN);
- final ByteBuffer input = ByteBuffer.wrap(validCompact1);
- assertNotNull(input);
- EventHeaderDefinition def = decl.createDefinition(null, "bla", new BitBuffer(input));
- assertNotNull(def);
- assertEquals(16, def.getId());
- assertEquals(0x42, def.getTimestamp());
- }
-
- /**
- * Test an extended compact header
- *
- * @throws CTFReaderException
- * if {@link BitBuffer} is null
- */
- @Test
- public void testCompactExtended() throws CTFReaderException {
- ByteBuffer buffer = ByteBuffer.allocate(16);
- buffer.put((byte) 0xFF);
- buffer.putInt(ID);
- buffer.putLong(TIMESTAMP);
- byte[] validCompact2 = buffer.array();
-
- EventHeaderCompactDeclaration decl = new EventHeaderCompactDeclaration(ByteOrder.BIG_ENDIAN);
- final ByteBuffer input = ByteBuffer.wrap(validCompact2);
- assertNotNull(input);
- EventHeaderDefinition def = decl.createDefinition(null, "bla", new BitBuffer(input));
- assertNotNull(def);
- assertEquals(ID, def.getId());
- assertEquals(TIMESTAMP, def.getTimestamp());
- }
-
- /**
- * Test an compact large header
- *
- * @throws CTFReaderException
- * if {@link BitBuffer} is null
- */
- @Test
- public void testLargeCompact() throws CTFReaderException {
- ByteBuffer buffer = ByteBuffer.allocate(16);
- buffer.putShort((short) ID);
- buffer.putInt(TIMESTAMP);
- byte[] validLarge1 = buffer.array();
-
- EventHeaderLargeDeclaration decl = new EventHeaderLargeDeclaration(ByteOrder.BIG_ENDIAN);
- final ByteBuffer input = ByteBuffer.wrap(validLarge1);
- assertNotNull(input);
- EventHeaderDefinition def = decl.createDefinition(null, "bla", new BitBuffer(input));
- assertNotNull(def);
- assertEquals(ID, def.getId());
- assertEquals(TIMESTAMP, def.getTimestamp());
- assertEquals(ID, ((IntegerDefinition) def.getDefinition("id")).getValue());
- assertEquals(TIMESTAMP, ((IntegerDefinition) def.getDefinition("timestamp")).getValue());
- }
-
- /**
- * Test an large large header
- *
- * @throws CTFReaderException
- * if {@link BitBuffer} is null
- */
- @Test
- public void testLargeExtended() throws CTFReaderException {
- ByteBuffer buffer = ByteBuffer.allocate(16);
- buffer.putShort((short) -1);
- buffer.putInt(ID);
- buffer.putLong(TIMESTAMP);
- byte[] validLarge2 = buffer.array();
-
- EventHeaderLargeDeclaration decl = new EventHeaderLargeDeclaration(ByteOrder.BIG_ENDIAN);
- final ByteBuffer input = ByteBuffer.wrap(validLarge2);
- assertNotNull(input);
- EventHeaderDefinition def = decl.createDefinition(null, "bla", new BitBuffer(input));
- assertNotNull(def);
- assertEquals(ID, def.getId());
- assertEquals(TIMESTAMP, def.getTimestamp());
- assertEquals(ID, ((IntegerDefinition) def.getDefinition("id")).getValue());
- assertEquals(TIMESTAMP, ((IntegerDefinition) def.getDefinition("timestamp")).getValue());
- }
-
- /**
- * Test maximum sizes, make sure they don't change unannounced
- */
- @Test
- public void testMaxSizes() {
- assertEquals(112, (new EventHeaderLargeDeclaration(ByteOrder.BIG_ENDIAN)).getMaximumSize());
- assertEquals(104, (new EventHeaderCompactDeclaration(ByteOrder.BIG_ENDIAN)).getMaximumSize());
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.ctf.core.tests/src/org/eclipse/linuxtools/ctf/core/tests/types/FloatDeclarationTest.java b/lttng/org.eclipse.linuxtools.ctf.core.tests/src/org/eclipse/linuxtools/ctf/core/tests/types/FloatDeclarationTest.java
deleted file mode 100644
index d9eb1cf8b2..0000000000
--- a/lttng/org.eclipse.linuxtools.ctf.core.tests/src/org/eclipse/linuxtools/ctf/core/tests/types/FloatDeclarationTest.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 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:
- * Matthew Khouzam - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.ctf.core.tests.types;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertTrue;
-
-import java.nio.ByteOrder;
-
-import org.eclipse.linuxtools.ctf.core.event.types.FloatDeclaration;
-import org.junit.Test;
-
-@SuppressWarnings("javadoc")
-public class FloatDeclarationTest {
- private FloatDeclaration fixture;
-
-
- @Test
- public void ctorTest() {
- for( int i = 1; i < 20; i++) {
- fixture = new FloatDeclaration(i, 32-i, ByteOrder.nativeOrder(), 0);
- assertNotNull(fixture);
- }
- }
-
- @Test
- public void getterTest() {
- fixture = new FloatDeclaration(8, 24, ByteOrder.nativeOrder(), 1);
- assertEquals( fixture.getAlignment(), 1);
- assertEquals( fixture.getByteOrder(), ByteOrder.nativeOrder());
- assertEquals( fixture.getExponent(), 8);
- assertEquals( fixture.getMantissa(), 24);
- }
-
- @Test
- public void toStringTest() {
- fixture = new FloatDeclaration(8, 24, ByteOrder.nativeOrder(), 0);
- assertTrue(fixture.toString().contains("float"));
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.ctf.core.tests/src/org/eclipse/linuxtools/ctf/core/tests/types/FloatDefinitionTest.java b/lttng/org.eclipse.linuxtools.ctf.core.tests/src/org/eclipse/linuxtools/ctf/core/tests/types/FloatDefinitionTest.java
deleted file mode 100644
index 2998a11bce..0000000000
--- a/lttng/org.eclipse.linuxtools.ctf.core.tests/src/org/eclipse/linuxtools/ctf/core/tests/types/FloatDefinitionTest.java
+++ /dev/null
@@ -1,167 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 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:
- * Matthew Khouzam - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.ctf.core.tests.types;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-
-import java.nio.ByteBuffer;
-import java.nio.ByteOrder;
-
-import org.eclipse.jdt.annotation.NonNull;
-import org.eclipse.linuxtools.ctf.core.event.io.BitBuffer;
-import org.eclipse.linuxtools.ctf.core.event.types.FloatDeclaration;
-import org.eclipse.linuxtools.ctf.core.event.types.FloatDefinition;
-import org.eclipse.linuxtools.ctf.core.event.types.IntegerDefinition;
-import org.eclipse.linuxtools.ctf.core.trace.CTFReaderException;
-import org.junit.Before;
-import org.junit.Test;
-
-/**
- * The class <code>IntegerDefinitionTest</code> contains tests for the class
- * <code>{@link IntegerDefinition}</code>.
- *
- * @author ematkho
- * @version $Revision: 1.0 $
- */
-@SuppressWarnings("javadoc")
-public class FloatDefinitionTest {
-
- private FloatDefinition fixture;
- private FloatDefinition singleFixture;
- private FloatDefinition doubleFixture; // all the way.
- private FloatDeclaration parent;
- @NonNull
- private static final String fieldName = "float";
-
- /**
- * Perform pre-test initialization.
- *
- * @throws CTFReaderException
- * error creating floats
- */
- @Before
- public void setUp() throws CTFReaderException {
- testFloat248();
- testFloat5311();
- }
-
- @Test
- public void testFloat248() throws CTFReaderException {
- parent = new FloatDeclaration(8, 24, ByteOrder.nativeOrder(), 0);
- BitBuffer bb = create32BitFloatByteBuffer();
- singleFixture = parent.createDefinition(null, fieldName, bb);
- assertNotNull(singleFixture);
- }
-
- @Test
- public void testFloat5311() throws CTFReaderException {
- parent = new FloatDeclaration(11, 53, ByteOrder.nativeOrder(), 0);
- BitBuffer bb = create64BitFloatByteBuffer();
- doubleFixture = parent.createDefinition(null, fieldName, bb);
- assertNotNull(doubleFixture);
- }
-
- @Test
- public void testFloat32Bit() throws CTFReaderException {
- for (int i = 1; i < 31; i++) {
- parent = new FloatDeclaration(i, 32 - i, ByteOrder.nativeOrder(), 0);
-
- fixture = parent.createDefinition(null, fieldName, create32BitFloatByteBuffer());
- assertNotNull(fixture);
- assertEquals("test" + i, "2.0", fixture.toString());
- }
- }
-
- @Test
- public void testFloat64Bit() throws CTFReaderException {
- for (int i = 1; i < 63; i++) {
- parent = new FloatDeclaration(i, 64 - i, ByteOrder.nativeOrder(), 0);
- fixture = parent.createDefinition(null, fieldName, create64BitFloatByteBuffer());
- assertNotNull(fixture);
- if (i <= 32) {
- assertEquals("test" + i, "2.0", fixture.toString());
- } else if (i == 33) {
- assertEquals("test" + i, "1.0", fixture.toString());
- } else {
- assertNotNull(fixture.getValue());
- }
-
- }
- }
-
- @Test
- public void testFloat48Bit() throws CTFReaderException {
- parent = new FloatDeclaration(12, 32, ByteOrder.nativeOrder(), 0);
- fixture = parent.createDefinition(null, fieldName, create64BitFloatByteBuffer());
- assertNotNull(fixture);
- assertEquals(Double.NaN, fixture.getValue(), 0.1);
- }
-
- /**
- * Run the IntegerDeclaration getDeclaration() method test.
- */
- @Test
- public void testGetDeclaration() {
- FloatDeclaration result = singleFixture.getDeclaration();
- assertNotNull(result);
- }
-
- /**
- * Run the long getValue() method test.
- */
- @Test
- public void testGetValue() {
- double result = singleFixture.getValue();
- assertEquals(2.0, result, 0.1);
- }
-
- /**
- * Run the String toString() method test.
- */
- @Test
- public void testToString() {
- String result = singleFixture.toString();
- assertNotNull(result);
- assertEquals("2.0", result);
- }
-
- @NonNull
- private static BitBuffer create32BitFloatByteBuffer() {
- float[] data = new float[2];
- data[0] = 2.0f;
- data[1] = 3.14f;
- ByteBuffer byb = ByteBuffer.allocate(128);
- byb.order(ByteOrder.nativeOrder());
- byb.mark();
- byb.putFloat(data[0]);
- byb.putFloat(data[1]);
- byb.reset();
- BitBuffer bb = new BitBuffer(byb);
- return bb;
- }
-
- @NonNull
- private static BitBuffer create64BitFloatByteBuffer() {
- double[] data = new double[2];
- data[0] = 2.0f;
- data[1] = 3.14f;
- ByteBuffer byb = ByteBuffer.allocate(128);
- byb.order(ByteOrder.nativeOrder());
- byb.mark();
- byb.putDouble(data[0]);
- byb.putDouble(data[1]);
- byb.reset();
- BitBuffer bb = new BitBuffer(byb);
- return bb;
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.ctf.core.tests/src/org/eclipse/linuxtools/ctf/core/tests/types/IntegerDeclarationTest.java b/lttng/org.eclipse.linuxtools.ctf.core.tests/src/org/eclipse/linuxtools/ctf/core/tests/types/IntegerDeclarationTest.java
deleted file mode 100644
index 004bbe2d94..0000000000
--- a/lttng/org.eclipse.linuxtools.ctf.core.tests/src/org/eclipse/linuxtools/ctf/core/tests/types/IntegerDeclarationTest.java
+++ /dev/null
@@ -1,280 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013, 2014 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:
- * Matthew Khouzam - Initial API and implementation
- * Marc-Andre Laperle - Add min/maximum for validation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.ctf.core.tests.types;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-
-import java.math.BigInteger;
-import java.nio.ByteOrder;
-
-import org.eclipse.linuxtools.ctf.core.event.types.Encoding;
-import org.eclipse.linuxtools.ctf.core.event.types.IntegerDeclaration;
-import org.junit.Before;
-import org.junit.Test;
-
-/**
- * The class <code>IntegerDeclarationTest</code> contains tests for the class
- * <code>{@link IntegerDeclaration}</code>.
- *
- * @author ematkho
- * @version $Revision: 1.0 $
- */
-public class IntegerDeclarationTest {
-
- private IntegerDeclaration fixture;
-
- /**
- * Perform pre-test initialization.
- */
- @Before
- public void setUp() {
- fixture = IntegerDeclaration.createDeclaration(1, false, 1, ByteOrder.BIG_ENDIAN,
- Encoding.ASCII, "", 32);
- }
-
- /**
- * Run the IntegerDeclaration(int,boolean,int,ByteOrder,Encoding)
- * constructor test.
- */
- @Test
- public void testIntegerDeclaration() {
- int len = 1;
- boolean signed = false;
- int base = 1;
- ByteOrder byteOrder = ByteOrder.BIG_ENDIAN;
- Encoding encoding = Encoding.ASCII;
-
- IntegerDeclaration result = IntegerDeclaration.createDeclaration(len, signed, base,
- byteOrder, encoding, "", 16);
-
- assertNotNull(result);
- assertEquals(1, result.getBase());
- assertEquals(false, result.isCharacter());
- String outputValue = "[declaration] integer[";
- assertEquals(outputValue,
- result.toString().substring(0, outputValue.length()));
- assertEquals(1, result.getLength());
- assertEquals(false, result.isSigned());
- }
-
- /**
- * Test that IntegerDeclaration throws when constructing a signed 1 bit
- * declaration
- */
- @Test(expected = java.lang.IllegalArgumentException.class)
- public void testIntegerDeclarationIllegalArgSignedBit() {
- int len = 1;
- boolean signed = true;
- int base = 1;
- ByteOrder byteOrder = ByteOrder.BIG_ENDIAN;
- Encoding encoding = Encoding.ASCII;
- IntegerDeclaration.createDeclaration(len, signed, base, byteOrder, encoding, "", 16);
- }
-
- /**
- * Test that IntegerDeclaration throws when constructing a invalid length
- * declaration
- */
- @Test(expected = java.lang.IllegalArgumentException.class)
- public void testIntegerDeclarationIllegalArgBadLenght() {
- int len = 0;
- boolean signed = false;
- int base = 1;
- ByteOrder byteOrder = ByteOrder.BIG_ENDIAN;
- Encoding encoding = Encoding.ASCII;
- IntegerDeclaration.createDeclaration(len, signed, base, byteOrder, encoding, "", 16);
- }
-
- /**
- * Test the factory part more rigorously to make sure there are no
- * regressions
- */
- @Test
- public void testIntegerDeclarationBruteForce() {
- ByteOrder[] bos = { ByteOrder.LITTLE_ENDIAN, ByteOrder.BIG_ENDIAN };
- Encoding[] encodings = { Encoding.ASCII, Encoding.NONE, Encoding.UTF8 };
- boolean[] signeds = { true, false }; // not a real word
- String[] clocks = { "something", "" };
- int[] bases = { 2, 4, 6, 8, 10, 12, 16 };
- for (int len = 2; len < 65; len++) {
- for (ByteOrder bo : bos) {
- for (boolean signed : signeds) {
- for (int base : bases) {
- for (Encoding enc : encodings) {
- for (String clock : clocks) {
- assertNotNull(enc);
- assertNotNull(clock);
- IntegerDeclaration intDec = IntegerDeclaration.createDeclaration(len, signed, base, bo, enc, clock, 8);
- String title = Integer.toString(len) + " " + bo + " " + signed + " " + base + " " + enc;
- assertEquals(title, signed, intDec.isSigned());
- assertEquals(title, base, intDec.getBase());
- // at len 8 le and be are the same
- if (len != 8) {
- assertEquals(title, bo, intDec.getByteOrder());
- }
- assertEquals(title, len, intDec.getLength());
- assertEquals(title, len, intDec.getMaximumSize());
- assertEquals(title, clock, intDec.getClock());
- assertEquals(title, !signed && len == 8, intDec.isUnsignedByte());
- }
- }
- }
- }
- }
- }
- }
-
- /**
- * Run the int getBase() method test.
- */
- @Test
- public void testGetBase() {
- int result = fixture.getBase();
- assertEquals(1, result);
- }
-
- /**
- * Run the ByteOrder getByteOrder() method test.
- */
- @Test
- public void testGetByteOrder() {
- ByteOrder result = fixture.getByteOrder();
- assertNotNull(result);
- assertEquals("BIG_ENDIAN", result.toString());
- }
-
- /**
- * Run the Encoding getEncoding() method test.
- */
- @Test
- public void testGetEncoding() {
- Encoding result = fixture.getEncoding();
- assertNotNull(result);
- assertEquals("ASCII", result.name());
- assertEquals("ASCII", result.toString());
- assertEquals(1, result.ordinal());
- }
-
- /**
- * Run the int getLength() method test.
- */
- @Test
- public void testGetLength() {
- int result = fixture.getLength();
- assertEquals(1, result);
- }
-
- /**
- * Run the boolean isCharacter() method test.
- */
- @Test
- public void testIsCharacter() {
- boolean result = fixture.isCharacter();
- assertEquals(false, result);
- }
-
- /**
- * Run the boolean isCharacter() method test.
- */
- @Test
- public void testIsCharacter_8bytes() {
- IntegerDeclaration fixture8 = IntegerDeclaration.createDeclaration(8, true, 1,
- ByteOrder.BIG_ENDIAN, Encoding.ASCII, "", 8);
-
- boolean result = fixture8.isCharacter();
- assertEquals(true, result);
- }
-
- /**
- * Run the boolean isSigned() method test.
- */
- @Test
- public void testIsSigned_signed() {
- IntegerDeclaration fixtureSigned = IntegerDeclaration.createDeclaration(2, true,
- 1, ByteOrder.BIG_ENDIAN, Encoding.ASCII, "", 8);
- boolean result = fixtureSigned.isSigned();
- assertEquals(true, result);
- }
-
- /**
- * Run the boolean isSigned() method test.
- */
- @Test
- public void testIsSigned_unsigned() {
- boolean result = fixture.isSigned();
- assertEquals(false, result);
- }
-
- /**
- * Run the String toString() method test.
- */
- @Test
- public void testToString() {
- String result = fixture.toString();
- String trunc = result.substring(0, 22);
- assertEquals("[declaration] integer[", trunc);
- }
-
- /**
- * Run the long getMaxValue() method test.
- */
- @Test
- public void testMaxValue() {
- assertEquals(BigInteger.ONE, fixture.getMaxValue());
-
- IntegerDeclaration signed8bit = IntegerDeclaration.createDeclaration(8, true, 1, ByteOrder.BIG_ENDIAN, Encoding.ASCII, "", 32);
- assertEquals(BigInteger.valueOf(127), signed8bit.getMaxValue());
-
- IntegerDeclaration unsigned8bit = IntegerDeclaration.createDeclaration(8, false, 1, ByteOrder.BIG_ENDIAN, Encoding.ASCII, "", 32);
- assertEquals(BigInteger.valueOf(255), unsigned8bit.getMaxValue());
-
- IntegerDeclaration signed32bit = IntegerDeclaration.createDeclaration(32, true, 1, ByteOrder.BIG_ENDIAN, Encoding.ASCII, "", 32);
- assertEquals(BigInteger.valueOf(2147483647), signed32bit.getMaxValue());
-
- IntegerDeclaration unsigned32bit = IntegerDeclaration.createDeclaration(32, false, 1, ByteOrder.BIG_ENDIAN, Encoding.ASCII, "", 32);
- assertEquals(BigInteger.valueOf(4294967295l), unsigned32bit.getMaxValue());
-
- IntegerDeclaration signed64bit = IntegerDeclaration.createDeclaration(64, true, 1, ByteOrder.BIG_ENDIAN, Encoding.ASCII, "", 32);
- assertEquals(BigInteger.valueOf(9223372036854775807L), signed64bit.getMaxValue());
-
- IntegerDeclaration unsigned64bit = IntegerDeclaration.createDeclaration(64, false, 1, ByteOrder.BIG_ENDIAN, Encoding.ASCII, "", 32);
- assertEquals(BigInteger.valueOf(2).pow(64).subtract(BigInteger.ONE), unsigned64bit.getMaxValue());
- }
-
- /**
- * Run the long getMinValue() method test.
- */
- @Test
- public void testMinValue() {
- assertEquals(BigInteger.ZERO, fixture.getMinValue());
-
- IntegerDeclaration signed8bit = IntegerDeclaration.createDeclaration(8, true, 1, ByteOrder.BIG_ENDIAN, Encoding.ASCII, "", 32);
- assertEquals(BigInteger.valueOf(-128), signed8bit.getMinValue());
-
- IntegerDeclaration unsigned8bit = IntegerDeclaration.createDeclaration(8, false, 1, ByteOrder.BIG_ENDIAN, Encoding.ASCII, "", 32);
- assertEquals(BigInteger.ZERO, unsigned8bit.getMinValue());
-
- IntegerDeclaration signed32bit = IntegerDeclaration.createDeclaration(32, true, 1, ByteOrder.BIG_ENDIAN, Encoding.ASCII, "", 32);
- assertEquals(BigInteger.valueOf(-2147483648), signed32bit.getMinValue());
-
- IntegerDeclaration unsigned32bit = IntegerDeclaration.createDeclaration(32, false, 1, ByteOrder.BIG_ENDIAN, Encoding.ASCII, "", 32);
- assertEquals(BigInteger.ZERO, unsigned32bit.getMinValue());
-
- IntegerDeclaration signed64bit = IntegerDeclaration.createDeclaration(64, true, 1, ByteOrder.BIG_ENDIAN, Encoding.ASCII, "", 32);
- assertEquals(BigInteger.valueOf(-9223372036854775808L), signed64bit.getMinValue());
-
- IntegerDeclaration unsigned64bit = IntegerDeclaration.createDeclaration(64, false, 1, ByteOrder.BIG_ENDIAN, Encoding.ASCII, "", 32);
- assertEquals(BigInteger.ZERO, unsigned64bit.getMinValue());
- }
-} \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.ctf.core.tests/src/org/eclipse/linuxtools/ctf/core/tests/types/IntegerDefinitionTest.java b/lttng/org.eclipse.linuxtools.ctf.core.tests/src/org/eclipse/linuxtools/ctf/core/tests/types/IntegerDefinitionTest.java
deleted file mode 100644
index 1522c90dd5..0000000000
--- a/lttng/org.eclipse.linuxtools.ctf.core.tests/src/org/eclipse/linuxtools/ctf/core/tests/types/IntegerDefinitionTest.java
+++ /dev/null
@@ -1,143 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 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:
- * Matthew Khouzam - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.ctf.core.tests.types;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-
-import java.nio.ByteBuffer;
-import java.nio.ByteOrder;
-
-import org.eclipse.jdt.annotation.NonNull;
-import org.eclipse.linuxtools.ctf.core.event.io.BitBuffer;
-import org.eclipse.linuxtools.ctf.core.event.scope.IDefinitionScope;
-import org.eclipse.linuxtools.ctf.core.event.types.Encoding;
-import org.eclipse.linuxtools.ctf.core.event.types.IntegerDeclaration;
-import org.eclipse.linuxtools.ctf.core.event.types.IntegerDefinition;
-import org.eclipse.linuxtools.ctf.core.trace.CTFReaderException;
-import org.junit.Before;
-import org.junit.Test;
-
-/**
- * The class <code>IntegerDefinitionTest</code> contains tests for the class
- * <code>{@link IntegerDefinition}</code>.
- *
- * @author ematkho
- * @version $Revision: 1.0 $
- */
-public class IntegerDefinitionTest {
-
- private IntegerDefinition fixture;
- @NonNull private static final String NAME = "testInt";
- @NonNull private static final String clockName = "clock";
-
- /**
- * Perform pre-test initialization.
- *
- * @throws CTFReaderException
- * won't happen
- */
- @Before
- public void setUp() throws CTFReaderException {
- IntegerDeclaration id = IntegerDeclaration.createDeclaration(1, false, 1, ByteOrder.BIG_ENDIAN, Encoding.NONE, clockName, 8);
- ByteBuffer byb = ByteBuffer.allocate(128);
- byb.mark();
- byb.putInt(1);
- byb.reset();
- BitBuffer bb = new BitBuffer(byb);
- fixture = id.createDefinition(null, NAME, bb);
- }
-
- /**
- * Run the IntegerDefinition(IntegerDeclaration,DefinitionScope,String)
- * constructor test.
- */
- @Test
- public void testIntegerDefinition() {
- IntegerDeclaration declaration = IntegerDeclaration.createDeclaration(1, false, 1,
- ByteOrder.BIG_ENDIAN, Encoding.ASCII, "", 8);
- IDefinitionScope definitionScope = null;
- String fieldName = "";
-
- IntegerDefinition result = new IntegerDefinition(declaration,
- definitionScope, fieldName, 1);
- assertNotNull(result);
- }
-
- /**
- * Run the IntegerDeclaration getDeclaration() method test.
- */
- @Test
- public void testGetDeclaration() {
- IntegerDeclaration result = fixture.getDeclaration();
- assertNotNull(result);
- }
-
- /**
- * Run the long getValue() method test.
- */
- @Test
- public void testGetValue() {
- long result = fixture.getValue();
- assertEquals(0L, result);
- }
-
- /**
- * Run the String toString() method test.
- */
- @Test
- public void testToString() {
- String result = fixture.toString();
- assertEquals("0", result);
- }
-
- /**
- * Run the IntegerDefinition formatNumber(Long, int, boolean) method test
- * for unsigned values.
- */
- @Test
- public void testFormatNumber_unsignedLong() {
-
- long unsignedLongValue = -64;
- String result = IntegerDefinition.formatNumber(unsignedLongValue, 10, false);
- // -64 + 2^64 = 18446744073709551552
- assertEquals("18446744073709551552", result);
-
- unsignedLongValue = -131940199973272L;
- result = IntegerDefinition.formatNumber(unsignedLongValue, 10, false);
- // -131940199973272l + 2^64 = 18446612133509578344
- assertEquals("18446612133509578344", result);
-
- unsignedLongValue = 123456789L;
- result = IntegerDefinition.formatNumber(unsignedLongValue, 10, false);
- assertEquals("123456789", result);
- }
-
- /**
- * Run the IntegerDefinition formatNumber(Long, int, boolean) method test
- * for signed values.
- */
- @Test
- public void testFormatNumber_signedLong() {
- long signedValue = -64L;
- String result = IntegerDefinition.formatNumber(signedValue, 10, true);
- assertEquals("-64", result);
-
- signedValue = -131940199973272L;
- result = IntegerDefinition.formatNumber(signedValue, 10, true);
- assertEquals("-131940199973272", result);
-
- signedValue = 123456789L;
- result = IntegerDefinition.formatNumber(signedValue, 10, true);
- assertEquals("123456789", result);
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.ctf.core.tests/src/org/eclipse/linuxtools/ctf/core/tests/types/IntegerEndiannessTest.java b/lttng/org.eclipse.linuxtools.ctf.core.tests/src/org/eclipse/linuxtools/ctf/core/tests/types/IntegerEndiannessTest.java
deleted file mode 100644
index 38eb823ed4..0000000000
--- a/lttng/org.eclipse.linuxtools.ctf.core.tests/src/org/eclipse/linuxtools/ctf/core/tests/types/IntegerEndiannessTest.java
+++ /dev/null
@@ -1,118 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 École Polytechnique de Montréal, 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:
- * Geneviève Bastien - Initial API and implementation
- * Alexandre Montplaisir - Split out in separate class
- * Matthew Khouzam - update api (exceptions)
- *******************************************************************************/
-
-package org.eclipse.linuxtools.ctf.core.tests.types;
-
-import static org.junit.Assert.assertEquals;
-
-import java.nio.ByteBuffer;
-import java.nio.ByteOrder;
-
-import org.eclipse.jdt.annotation.NonNull;
-import org.eclipse.linuxtools.ctf.core.event.io.BitBuffer;
-import org.eclipse.linuxtools.ctf.core.event.types.Encoding;
-import org.eclipse.linuxtools.ctf.core.event.types.IntegerDeclaration;
-import org.eclipse.linuxtools.ctf.core.event.types.IntegerDefinition;
-import org.eclipse.linuxtools.ctf.core.trace.CTFReaderException;
-import org.junit.Before;
-import org.junit.Test;
-
-/**
- * Endianness test for {@link IntegerDefinition}.
- *
- * @author Geneviève Bastien
- */
-public class IntegerEndiannessTest {
-
- private static final @NonNull String name = "testInt";
- private static final @NonNull String clockName = "clock";
-
- private ByteBuffer bb;
-
- private @NonNull BitBuffer input = new BitBuffer();
-
- /**
- * Set up the bit-buffer to be used
- */
- @Before
- public void setUp() {
- bb = java.nio.ByteBuffer.allocateDirect(8);
- final ByteBuffer byb = bb;
- if (byb == null) {
- throw new IllegalStateException("Failed to allocate memory");
- }
- bb.put((byte) 0xab);
- bb.put((byte) 0xcd);
- bb.put((byte) 0xef);
- bb.put((byte) 0x12);
- bb.put((byte) 0x34);
- bb.put((byte) 0x56);
- bb.put((byte) 0x78);
- bb.put((byte) 0x9a);
-
- input = new BitBuffer(byb);
- }
-
- /**
- * Read 32-bits BE
- *
- * @throws CTFReaderException
- * error
- */
- @Test
- public void test32BE() throws CTFReaderException {
- IntegerDeclaration be = IntegerDeclaration.createDeclaration(32, true, 1, ByteOrder.BIG_ENDIAN, Encoding.NONE, clockName, 8);
- IntegerDefinition fixture_be = be.createDefinition(null, name, input);
- assertEquals(0xabcdef12, fixture_be.getValue());
- }
-
- /**
- * Read 64-bits BE
- *
- * @throws CTFReaderException
- * error
- */
- @Test
- public void test64BE() throws CTFReaderException {
- IntegerDeclaration be = IntegerDeclaration.createDeclaration(64, true, 1, ByteOrder.BIG_ENDIAN, Encoding.NONE, clockName, 8);
- IntegerDefinition fixture_be = be.createDefinition(null, name, input);
- assertEquals(0xabcdef123456789aL, fixture_be.getValue());
- }
-
- /**
- * Read 32-bits LE
- *
- * @throws CTFReaderException
- * error
- */
- @Test
- public void test32LE() throws CTFReaderException {
- IntegerDeclaration le = IntegerDeclaration.createDeclaration(32, true, 1, ByteOrder.LITTLE_ENDIAN, Encoding.NONE, clockName, 8);
- IntegerDefinition fixture_le = le.createDefinition(null, name, input);
- assertEquals(0x12efcdab, fixture_le.getValue());
- }
-
- /**
- * Read 64-bits LE
- *
- * @throws CTFReaderException
- * error
- */
- @Test
- public void test64LE() throws CTFReaderException {
- IntegerDeclaration le = IntegerDeclaration.createDeclaration(64, true, 1, ByteOrder.LITTLE_ENDIAN, Encoding.NONE, clockName, 8);
- IntegerDefinition fixture_le = le.createDefinition(null, name, input);
- assertEquals(0x9a78563412efcdabL, fixture_le.getValue());
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.ctf.core.tests/src/org/eclipse/linuxtools/ctf/core/tests/types/SequenceDeclaration2Test.java b/lttng/org.eclipse.linuxtools.ctf.core.tests/src/org/eclipse/linuxtools/ctf/core/tests/types/SequenceDeclaration2Test.java
deleted file mode 100644
index 21dec6dcc6..0000000000
--- a/lttng/org.eclipse.linuxtools.ctf.core.tests/src/org/eclipse/linuxtools/ctf/core/tests/types/SequenceDeclaration2Test.java
+++ /dev/null
@@ -1,126 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 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:
- * Matthew Khouzam - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.ctf.core.tests.types;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-
-import java.nio.ByteBuffer;
-import java.nio.ByteOrder;
-
-import org.eclipse.jdt.annotation.NonNull;
-import org.eclipse.linuxtools.ctf.core.event.io.BitBuffer;
-import org.eclipse.linuxtools.ctf.core.event.types.AbstractArrayDefinition;
-import org.eclipse.linuxtools.ctf.core.event.types.Definition;
-import org.eclipse.linuxtools.ctf.core.event.types.Encoding;
-import org.eclipse.linuxtools.ctf.core.event.types.IDeclaration;
-import org.eclipse.linuxtools.ctf.core.event.types.IntegerDeclaration;
-import org.eclipse.linuxtools.ctf.core.event.types.IntegerDefinition;
-import org.eclipse.linuxtools.ctf.core.event.types.StringDeclaration;
-import org.eclipse.linuxtools.ctf.core.event.types.StructDeclaration;
-import org.eclipse.linuxtools.ctf.core.event.types.StructDefinition;
-import org.eclipse.linuxtools.ctf.core.trace.CTFReaderException;
-import org.eclipse.linuxtools.internal.ctf.core.event.types.SequenceDeclaration;
-import org.junit.Before;
-import org.junit.Test;
-
-import com.google.common.collect.ImmutableList;
-
-/**
- * The class <code>SequenceDeclarationTest</code> contains tests for the class
- * <code>{@link SequenceDeclaration}</code>.
- *
- * @author ematkho
- * @version $Revision: 1.0 $
- */
-@SuppressWarnings("javadoc")
-public class SequenceDeclaration2Test {
-
- @NonNull private static final String FIELD_NAME = "LengthName";
-
- private SequenceDeclaration fixture;
- @NonNull private BitBuffer input = new BitBuffer();
-
- @Before
- public void setUp() {
- fixture = new SequenceDeclaration(FIELD_NAME, new StringDeclaration());
- byte array[] = { 't', 'e', 's', 't', '\0', 't', 'h', 'i', 's', '\0' };
- ByteBuffer byb = ByteBuffer.wrap(array);
- if( byb == null){
- throw new IllegalStateException("Failed to allocate memory");
- }
- input = new BitBuffer(byb);
- }
-
- /**
- * Run the SequenceDeclaration(String,Declaration) constructor test.
- */
- @Test
- public void testSequenceDeclaration() {
- String lengthName = "";
- IDeclaration elemType = new StringDeclaration();
-
- SequenceDeclaration result = new SequenceDeclaration(lengthName, elemType);
- assertNotNull(result);
- String string = "[declaration] sequence[";
- assertEquals(string, result.toString().substring(0, string.length()));
- }
-
- /**
- * Run the SequenceDefinition createDefinition(DefinitionScope,String)
- * method test.
- *
- * @throws CTFReaderException
- * an error in the bitbuffer
- */
- @Test
- public void testCreateDefinition() throws CTFReaderException {
- long seqLen = 2;
- IntegerDeclaration id = IntegerDeclaration.createDeclaration(8, false, 8,
- ByteOrder.LITTLE_ENDIAN, Encoding.UTF8, "", 32);
- StructDeclaration structDec = new StructDeclaration(0);
- structDec.addField(FIELD_NAME, id);
- StructDefinition structDef = new StructDefinition(
- structDec,
- null,
- "x",
- ImmutableList.of(FIELD_NAME),
- new Definition[] {
- new IntegerDefinition(
- id,
- null,
- FIELD_NAME,
- seqLen)
- });
- AbstractArrayDefinition result = fixture.createDefinition(structDef, FIELD_NAME, input);
- assertNotNull(result);
- }
-
- /**
- * Run the Declaration getElementType() method test.
- */
- @Test
- public void testGetElementType() {
- IDeclaration result = fixture.getElementType();
- assertNotNull(result);
- }
-
- /**
- * Run the String toString() method test.
- */
- @Test
- public void testToString() {
- String result = fixture.toString();
- String left = "[declaration] sequence[";
- assertEquals(left, result.substring(0, left.length()));
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.ctf.core.tests/src/org/eclipse/linuxtools/ctf/core/tests/types/SequenceDefinition2Test.java b/lttng/org.eclipse.linuxtools.ctf.core.tests/src/org/eclipse/linuxtools/ctf/core/tests/types/SequenceDefinition2Test.java
deleted file mode 100644
index cbd23dee04..0000000000
--- a/lttng/org.eclipse.linuxtools.ctf.core.tests/src/org/eclipse/linuxtools/ctf/core/tests/types/SequenceDefinition2Test.java
+++ /dev/null
@@ -1,127 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 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:
- * Matthew Khouzam - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.ctf.core.tests.types;
-
-import static org.junit.Assert.assertNotNull;
-
-import java.nio.ByteBuffer;
-import java.nio.ByteOrder;
-
-import org.eclipse.linuxtools.ctf.core.event.io.BitBuffer;
-import org.eclipse.linuxtools.ctf.core.event.types.Definition;
-import org.eclipse.linuxtools.ctf.core.event.types.Encoding;
-import org.eclipse.linuxtools.ctf.core.event.types.IDefinition;
-import org.eclipse.linuxtools.ctf.core.event.types.IntegerDeclaration;
-import org.eclipse.linuxtools.ctf.core.event.types.IntegerDefinition;
-import org.eclipse.linuxtools.ctf.core.event.types.StructDeclaration;
-import org.eclipse.linuxtools.ctf.core.event.types.StructDefinition;
-import org.eclipse.linuxtools.ctf.core.trace.CTFReaderException;
-import org.eclipse.linuxtools.internal.ctf.core.event.types.ByteArrayDefinition;
-import org.eclipse.linuxtools.internal.ctf.core.event.types.SequenceDeclaration;
-import org.junit.Before;
-import org.junit.Test;
-
-import com.google.common.collect.ImmutableList;
-
-/**
- * The class <code>SequenceDefinition2Test</code> contains tests for the class
- * <code>{@link SequenceDefinition2}</code>.
- *
- * @author ematkho
- * @version $Revision: 1.0 $
- */
-@SuppressWarnings("javadoc")
-public class SequenceDefinition2Test {
-
- private ByteArrayDefinition fixture;
- private final static int seqLen = 15;
-
- private static ImmutableList<String> wrap(String s) {
- return ImmutableList.<String> builder().add(s).build();
- }
-
- /**
- * Perform pre-test initialization.
- *
- * @throws CTFReaderException
- */
- @Before
- public void setUp() throws CTFReaderException {
- fixture = initString();
- }
-
- private static ByteArrayDefinition initString() throws CTFReaderException {
- StructDeclaration structDec;
- StructDefinition structDef;
-
- int len = 8;
- IntegerDeclaration id = IntegerDeclaration.createDeclaration(len, false, len,
- ByteOrder.LITTLE_ENDIAN, Encoding.UTF8, "", 8);
- String lengthName = "LengthName";
- structDec = new StructDeclaration(0);
- structDec.addField(lengthName, id);
-
- structDef = new StructDefinition(structDec, null, "x", wrap(lengthName), new Definition[] { new IntegerDefinition(id, null, lengthName, seqLen) });
-
- SequenceDeclaration sd = new SequenceDeclaration(lengthName, id);
- ByteBuffer allocateDirect = java.nio.ByteBuffer.allocateDirect(seqLen * len);
- if( allocateDirect == null){
- throw new IllegalStateException("Failed to allocate memory");
- }
- BitBuffer input = new BitBuffer(allocateDirect);
- for (int i = 0; i < seqLen; i++) {
- input.putInt(i);
- }
-
- ByteArrayDefinition ret = (ByteArrayDefinition) sd.createDefinition(structDef, "TestX", input);
- assertNotNull(ret);
- return ret;
- }
-
- /**
- * Run the FixedStringDefinition(SequenceDeclaration,DefinitionScope,String)
- * constructor test.
- */
- @Test
- public void testFixedStringDefinition() {
- assertNotNull(fixture);
- }
-
- /**
- * Run the SequenceDeclaration getDeclaration() method test.
- */
- @Test
- public void testGetDeclaration() {
- SequenceDeclaration result = (SequenceDeclaration) fixture.getDeclaration();
- assertNotNull(result);
- }
-
- /**
- * Run the Definition getElem(int) method test.
- */
- @Test
- public void testGetElem() {
- int i = 1;
- IDefinition result = fixture.getDefinitions().get(i);
- assertNotNull(result);
- }
-
- /**
- * Run the String toString() method test.
- */
- @Test
- public void testToString() {
- String result = fixture.toString();
- assertNotNull(result);
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.ctf.core.tests/src/org/eclipse/linuxtools/ctf/core/tests/types/StringDeclarationTest.java b/lttng/org.eclipse.linuxtools.ctf.core.tests/src/org/eclipse/linuxtools/ctf/core/tests/types/StringDeclarationTest.java
deleted file mode 100644
index 1042ecfdea..0000000000
--- a/lttng/org.eclipse.linuxtools.ctf.core.tests/src/org/eclipse/linuxtools/ctf/core/tests/types/StringDeclarationTest.java
+++ /dev/null
@@ -1,118 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 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:
- * Matthew Khouzam - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.ctf.core.tests.types;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-
-import java.nio.ByteBuffer;
-
-import org.eclipse.linuxtools.ctf.core.event.io.BitBuffer;
-import org.eclipse.linuxtools.ctf.core.event.scope.IDefinitionScope;
-import org.eclipse.linuxtools.ctf.core.event.types.Encoding;
-import org.eclipse.linuxtools.ctf.core.event.types.StringDeclaration;
-import org.eclipse.linuxtools.ctf.core.event.types.StringDefinition;
-import org.eclipse.linuxtools.ctf.core.trace.CTFReaderException;
-import org.junit.Before;
-import org.junit.Test;
-
-/**
- * The class <code>StringDeclarationTest</code> contains tests for the class
- * <code>{@link StringDeclaration}</code>.
- *
- * @author ematkho
- * @version $Revision: 1.0 $
- */
-public class StringDeclarationTest {
-
- private StringDeclaration fixture;
-
- /**
- * Perform pre-test initialization.
- */
- @Before
- public void setUp() {
- fixture = new StringDeclaration(Encoding.ASCII);
- }
-
- /**
- * Run the StringDeclaration() constructor test.
- */
- @Test
- public void testStringDeclaration() {
- StringDeclaration result = new StringDeclaration();
-
- assertNotNull(result);
- String string = "[declaration] string[";
- assertEquals(string, result.toString().substring(0, string.length()));
- }
-
- /**
- * Run the StringDeclaration(Encoding) constructor test.
- */
- @Test
- public void testStringDeclaration_2() {
- Encoding encoding = Encoding.ASCII;
- StringDeclaration result = new StringDeclaration(encoding);
-
- assertNotNull(result);
- String string = "[declaration] string[";
- assertEquals(string, result.toString().substring(0, string.length()));
- }
-
- /**
- * Run the StringDefinition createDefinition(DefinitionScope,String) method
- * test.
- *
- * @throws CTFReaderException
- * out of buffer exception
- */
- @Test
- public void testCreateDefinition() throws CTFReaderException {
- IDefinitionScope definitionScope = null;
- String fieldName = "id";
- ByteBuffer allocate = ByteBuffer.allocate(100);
- if (allocate == null) {
- throw new IllegalStateException("Failed to allocate memory");
- }
- BitBuffer bb = new BitBuffer(allocate);
- StringDefinition result = fixture.createDefinition(definitionScope,
- fieldName, bb);
-
- assertNotNull(result);
- }
-
- /**
- * Run the Encoding getEncoding() method test.
- */
- @Test
- public void testGetEncoding() {
- Encoding result = fixture.getEncoding();
-
- assertNotNull(result);
- assertEquals("ASCII", result.name());
- assertEquals("ASCII", result.toString());
- assertEquals(1, result.ordinal());
- }
-
- /**
- * Run the String toString() method test.
- */
- @Test
- public void testToString() {
- String result = fixture.toString();
- String left = "[declaration] string[";
- String right = result.substring(0, left.length());
-
- assertEquals(left, right);
- }
-} \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.ctf.core.tests/src/org/eclipse/linuxtools/ctf/core/tests/types/StringDefinitionTest.java b/lttng/org.eclipse.linuxtools.ctf.core.tests/src/org/eclipse/linuxtools/ctf/core/tests/types/StringDefinitionTest.java
deleted file mode 100644
index 6a93c92643..0000000000
--- a/lttng/org.eclipse.linuxtools.ctf.core.tests/src/org/eclipse/linuxtools/ctf/core/tests/types/StringDefinitionTest.java
+++ /dev/null
@@ -1,114 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 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:
- * Matthew Khouzam - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.ctf.core.tests.types;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-
-import java.nio.ByteBuffer;
-
-import org.eclipse.linuxtools.ctf.core.event.io.BitBuffer;
-import org.eclipse.linuxtools.ctf.core.event.scope.IDefinitionScope;
-import org.eclipse.linuxtools.ctf.core.event.types.StringDeclaration;
-import org.eclipse.linuxtools.ctf.core.event.types.StringDefinition;
-import org.eclipse.linuxtools.ctf.core.trace.CTFReaderException;
-import org.junit.Before;
-import org.junit.Test;
-
-/**
- * The class <code>StringDefinitionTest</code> contains tests for the class
- * <code>{@link StringDefinition}</code>.
- *
- * @author ematkho
- * @version $Revision: 1.0 $
- */
-public class StringDefinitionTest {
-
- private StringDefinition fixture;
- private String testString;
-
- /**
- * Perform pre-test initialization.
- *
- * @throws CTFReaderException
- * won't happen
- */
- @Before
- public void setUp() throws CTFReaderException {
- String name = "testString";
- StringDeclaration stringDec = new StringDeclaration();
- ByteBuffer byteBuffer = ByteBuffer.allocate(100);
- if (byteBuffer == null) {
- throw new IllegalStateException("Failed to allocate memory");
- }
- BitBuffer bb = new BitBuffer(byteBuffer);
- byteBuffer.mark();
- testString = new String("testString");
- byteBuffer.put(testString.getBytes());
- byteBuffer.reset();
- fixture = stringDec.createDefinition(null, name, bb);
- }
-
- /**
- * Run the StringDefinition(StringDeclaration,DefinitionScope,String)
- * constructor test.
- */
- @Test
- public void testStringDefinition() {
- StringDeclaration declaration = new StringDeclaration();
- IDefinitionScope definitionScope = null;
- String fieldName = "";
-
- StringDefinition result = new StringDefinition(declaration,
- definitionScope, fieldName, "");
-
- assertNotNull(result);
- }
-
- /**
- * Run the StringDeclaration getDeclaration() method test.
- */
- @Test
- public void testGetDeclaration() {
- StringDeclaration result = fixture.getDeclaration();
- assertNotNull(result);
- }
-
- /**
- * Run the String getValue() method test.
- */
- @Test
- public void testGetValue() {
- String result = fixture.getValue();
- assertNotNull(result);
- }
-
- /**
- * Run the String setValue() method test.
- */
- @Test
- public void testSetValue() {
-
- String result = fixture.getValue();
- assertNotNull(result);
- assertEquals("testString", result);
- }
-
- /**
- * Run the String toString() method test.
- */
- @Test
- public void testToString() {
- String result = fixture.toString();
- assertNotNull(result);
- }
-} \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.ctf.core.tests/src/org/eclipse/linuxtools/ctf/core/tests/types/StructDeclarationTest.java b/lttng/org.eclipse.linuxtools.ctf.core.tests/src/org/eclipse/linuxtools/ctf/core/tests/types/StructDeclarationTest.java
deleted file mode 100644
index 62588755e5..0000000000
--- a/lttng/org.eclipse.linuxtools.ctf.core.tests/src/org/eclipse/linuxtools/ctf/core/tests/types/StructDeclarationTest.java
+++ /dev/null
@@ -1,141 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 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:
- * Matthew Khouzam - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.ctf.core.tests.types;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertNull;
-import static org.junit.Assert.assertTrue;
-
-import java.nio.ByteBuffer;
-
-import org.eclipse.linuxtools.ctf.core.event.io.BitBuffer;
-import org.eclipse.linuxtools.ctf.core.event.types.IDeclaration;
-import org.eclipse.linuxtools.ctf.core.event.types.StringDeclaration;
-import org.eclipse.linuxtools.ctf.core.event.types.StructDeclaration;
-import org.eclipse.linuxtools.ctf.core.event.types.StructDefinition;
-import org.eclipse.linuxtools.ctf.core.trace.CTFReaderException;
-import org.junit.Before;
-import org.junit.Test;
-
-/**
- * The class <code>StructDeclarationTest</code> contains tests for the class
- * <code>{@link StructDeclaration}</code>.
- *
- * @author ematkho
- * @version $Revision: 1.0 $
- */
-public class StructDeclarationTest {
-
- private StructDeclaration fixture;
-
- /**
- * Perform pre-test initialization.
- */
- @Before
- public void setUp() {
- fixture = new StructDeclaration(1L);
- }
-
- /**
- * Run the StructDeclaration(long) constructor test.
- */
- @Test
- public void testStructDeclaration() {
- assertNotNull(fixture);
- assertEquals(1L, fixture.getMaxAlign());
-
- String regex = "^\\[declaration\\] struct\\[[0-9a-f]{1,8}\\]$";
- assertTrue(fixture.toString().matches(regex));
- }
-
- /**
- * Run the void addField(String,Declaration) method test.
- */
- @Test
- public void testAddField() {
- String name = "";
- IDeclaration declaration = new StringDeclaration();
- fixture.addField(name, declaration);
- }
-
- /**
- * Run the StructDefinition createDefinition(DefinitionScope,String) method
- * test.
- *
- * @throws CTFReaderException
- * out of bounds
- */
- @Test
- public void testCreateDefinition() throws CTFReaderException {
- String fieldName = "";
- ByteBuffer allocate = ByteBuffer.allocate(100);
- if( allocate == null){
- throw new IllegalStateException("Failed to allocate memory");
- }
- BitBuffer bb = new BitBuffer(allocate);
- StructDefinition result = fixture.createDefinition(null, fieldName, bb);
- assertNotNull(result);
- }
-
- /**
- * Run the Declaration getField(String) method test.
- */
- @Test
- public void testGetField() {
- IDeclaration result = fixture.getField("test");
-
- assertNull(result);
- }
-
- /**
- * Run the List<String> getFieldsList() method test.
- */
- @Test
- public void testGetFieldsList() {
- Iterable<String> result = fixture.getFieldsList();
-
- assertNotNull(result);
- assertEquals(false, result.iterator().hasNext());
- }
-
- /**
- * Run the long getMinAlign() method test.
- */
- @Test
- public void testGetMinAlign() {
- long result = fixture.getMaxAlign();
- assertEquals(1L, result);
- }
-
- /**
- * Run the boolean hasField(String) method test.
- */
- @Test
- public void testHasField() {
- String name = "";
- boolean result = fixture.hasField(name);
-
- assertEquals(false, result);
- }
-
- /**
- * Run the String toString() method test.
- */
- @Test
- public void testToString() {
- String result = fixture.toString();
- String trunc = result.substring(0, 21);
-
- assertEquals("[declaration] struct[", trunc);
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.ctf.core.tests/src/org/eclipse/linuxtools/ctf/core/tests/types/StructDefinitionTest.java b/lttng/org.eclipse.linuxtools.ctf.core.tests/src/org/eclipse/linuxtools/ctf/core/tests/types/StructDefinitionTest.java
deleted file mode 100644
index f7a312425c..0000000000
--- a/lttng/org.eclipse.linuxtools.ctf.core.tests/src/org/eclipse/linuxtools/ctf/core/tests/types/StructDefinitionTest.java
+++ /dev/null
@@ -1,239 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 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:
- * Matthew Khouzam - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.ctf.core.tests.types;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertNull;
-
-import java.nio.ByteBuffer;
-
-import org.eclipse.jdt.annotation.NonNull;
-import org.eclipse.linuxtools.ctf.core.event.io.BitBuffer;
-import org.eclipse.linuxtools.ctf.core.event.types.AbstractArrayDefinition;
-import org.eclipse.linuxtools.ctf.core.event.types.EnumDeclaration;
-import org.eclipse.linuxtools.ctf.core.event.types.EnumDefinition;
-import org.eclipse.linuxtools.ctf.core.event.types.IDefinition;
-import org.eclipse.linuxtools.ctf.core.event.types.IntegerDeclaration;
-import org.eclipse.linuxtools.ctf.core.event.types.IntegerDefinition;
-import org.eclipse.linuxtools.ctf.core.event.types.StringDeclaration;
-import org.eclipse.linuxtools.ctf.core.event.types.StringDefinition;
-import org.eclipse.linuxtools.ctf.core.event.types.StructDeclaration;
-import org.eclipse.linuxtools.ctf.core.event.types.StructDefinition;
-import org.eclipse.linuxtools.ctf.core.event.types.VariantDeclaration;
-import org.eclipse.linuxtools.ctf.core.event.types.VariantDefinition;
-import org.eclipse.linuxtools.ctf.core.tests.io.Util;
-import org.eclipse.linuxtools.ctf.core.trace.CTFReaderException;
-import org.eclipse.linuxtools.internal.ctf.core.event.types.SequenceDeclaration;
-import org.junit.Before;
-import org.junit.Test;
-
-/**
- * The class <code>StructDefinitionTest</code> contains tests for the class
- * <code>{@link StructDefinition}</code>.
- *
- * @author ematkho
- * @version $Revision: 1.0 $
- */
-public class StructDefinitionTest {
-
- private static final @NonNull String TEST_STRUCT_ID = "testStruct";
- private static final @NonNull String ENUM_2 = "y";
- private static final @NonNull String ENUM_1 = "x";
- private static final @NonNull String TAG_ID = "Tag";
- private static final @NonNull String INT_ID = "_id";
- private static final @NonNull String STRING_ID = "_args";
- private static final @NonNull String ENUM_ID = "_enumArgs";
- private static final @NonNull String SEQUENCE_ID = "_seq";
- private static final @NonNull String LENGTH_SEQ = "_len";
- private static final @NonNull String VAR_FIELD_NAME = "SomeVariant";
-
- private StructDefinition fixture;
- private StructDefinition emptyStruct;
- private StructDefinition simpleStruct;
-
- /**
- * Perform pre-test initialization.
- *
- * @throws CTFReaderException
- * won't happen
- */
- @Before
- public void setUp() throws CTFReaderException {
- StructDeclaration sDec = new StructDeclaration(12);
- IntegerDeclaration id = IntegerDeclaration.INT_32B_DECL;
- IntegerDeclaration lenDec = IntegerDeclaration.UINT_8_DECL;
- StringDeclaration sd = new StringDeclaration();
- EnumDeclaration ed = new EnumDeclaration(id);
- SequenceDeclaration seqDec = new SequenceDeclaration(LENGTH_SEQ, id);
- VariantDeclaration varDec = new VariantDeclaration();
- EnumDeclaration tagDec = new EnumDeclaration(id);
- tagDec.add(0, 1, ENUM_1);
- tagDec.add(2, 3, ENUM_2);
- varDec.addField(ENUM_2, id);
- varDec.addField(ENUM_1, sd);
- varDec.setTag(TAG_ID);
- sDec.addField(INT_ID, id);
- sDec.addField(STRING_ID, sd);
- sDec.addField(ENUM_ID, ed);
- sDec.addField(TAG_ID, tagDec);
- sDec.addField(LENGTH_SEQ, lenDec);
- sDec.addField(SEQUENCE_ID, seqDec);
- sDec.addField(VAR_FIELD_NAME, varDec);
- byte bytes[] = new byte[100];
- bytes[4] = 1;
- bytes[8] = 2;
- bytes[13] = 3;
- BitBuffer bb = new BitBuffer(Util.testMemory(ByteBuffer.wrap(bytes)));
- fixture = sDec.createDefinition(null, TEST_STRUCT_ID, bb);
- EnumDefinition eDef = tagDec.createDefinition(fixture, TAG_ID, bb);
- assertNotNull(eDef);
- VariantDefinition vd = varDec.createDefinition(fixture, VAR_FIELD_NAME, bb);
- assertNotNull(vd);
- // Create an empty struct
- StructDeclaration esDec = new StructDeclaration(32);
- emptyStruct = esDec.createDefinition(null, TEST_STRUCT_ID, bb);
-
- // Create a simple struct with two items
- StructDeclaration ssDec = new StructDeclaration(32);
- ssDec.addField(INT_ID, id);
- ssDec.addField(STRING_ID, sd);
- simpleStruct = ssDec.createDefinition(null, TEST_STRUCT_ID, bb);
- }
-
- /**
- * Run the StructDeclaration getDeclaration() method test.
- */
- @Test
- public void testGetDeclaration() {
- StructDeclaration result = fixture.getDeclaration();
- assertNotNull(result);
- }
-
- /**
- * Run the HashMap<String, Definition> getDefinitions() method test.
- */
- @Test
- public void testGetDefinitions_1() {
- IDefinition result = fixture.getDefinition("_id");
- assertNotNull(result);
- }
-
- /**
- * Run the ArrayDefinition lookupArray(String) method test.
- */
- @Test
- public void testLookupArray() {
- String name = INT_ID;
- AbstractArrayDefinition result = fixture.lookupArrayDefinition(name);
- assertNull(result);
- }
-
- /**
- * Run the Definition lookupDefinition(String) method test.
- */
- @Test
- public void testLookupDefinition() {
- String lookupPath = "args";
- IDefinition result = fixture.lookupDefinition(lookupPath);
-
- assertNotNull(result);
- }
-
- /**
- * Run the EnumDefinition lookupEnum(String) method test.
- */
- @Test
- public void testLookupEnum() {
- String name = ENUM_ID;
- EnumDefinition result = fixture.lookupEnum(name);
- assertNotNull(result);
- }
-
- /**
- * Run the IntegerDefinition lookupInteger(String) method test.
- */
- @Test
- public void testLookupInteger_1() {
- String name = "_id";
- IntegerDefinition result = fixture.lookupInteger(name);
- assertNotNull(result);
- }
-
- /**
- * Run the IntegerDefinition lookupInteger(String) method test.
- */
- @Test
- public void testLookupInteger_2() {
- String name = VAR_FIELD_NAME;
- IntegerDefinition result = fixture.lookupInteger(name);
- assertNull(result);
- }
-
- /**
- * Run the SequenceDefinition lookupSequence(String) method test.
- */
- @Test
- public void testLookupFixedStringDefinition() {
- String name = SEQUENCE_ID;
- AbstractArrayDefinition result = fixture.lookupArrayDefinition(name);
- assertNotNull(result);
- }
-
- /**
- * Run the StringDefinition lookupString(String) method test.
- */
- @Test
- public void testLookupString() {
- String name = VAR_FIELD_NAME;
- StringDefinition result = fixture.lookupString(name);
-
- assertNull(result);
- }
-
- /**
- * Run the StructDefinition lookupStruct(String) method test.
- */
- @Test
- public void testLookupStruct() {
- String name = VAR_FIELD_NAME;
- StructDefinition result = fixture.lookupStruct(name);
-
- assertNull(result);
- }
-
- /**
- * Run the VariantDefinition lookupVariant(String) method test.
- */
- @Test
- public void testLookupVariant() {
- String name = VAR_FIELD_NAME;
- VariantDefinition result = fixture.lookupVariant(name);
-
- assertNotNull(result);
- }
-
- /**
- * Run the String toString() method test.
- */
- @Test
- public void testToString() {
- String result = fixture.toString();
- assertNotNull(result);
-
- result = emptyStruct.toString();
- assertEquals("{ }", result);
-
- result = simpleStruct.toString();
- assertEquals("{ _id = 0, _args = \"\" }", result);
- }
-} \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.ctf.core.tests/src/org/eclipse/linuxtools/ctf/core/tests/types/TestAll.java b/lttng/org.eclipse.linuxtools.ctf.core.tests/src/org/eclipse/linuxtools/ctf/core/tests/types/TestAll.java
deleted file mode 100644
index df208733f4..0000000000
--- a/lttng/org.eclipse.linuxtools.ctf.core.tests/src/org/eclipse/linuxtools/ctf/core/tests/types/TestAll.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 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:
- * Matthew Khouzam - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.ctf.core.tests.types;
-
-import org.junit.runner.RunWith;
-import org.junit.runners.Suite;
-
-/**
- * The class <code>TestAll</code> builds a suite that can be used to run all of
- * the tests within its package as well as within any subpackages of its
- * package.
- *
- * @author ematkho
- * @version $Revision: 1.0 $
- */
-@RunWith(Suite.class)
-@Suite.SuiteClasses({
- ArrayDeclaration2Test.class,
- ArrayDefinition2Test.class,
- DefinitionTest.class,
- EnumDeclarationTest.class,
- EnumDefinitionTest.class,
- EventDeclarationTest.class,
- EventHeaderDeclarationTest.class,
- FloatDeclarationTest.class,
- FloatDefinitionTest.class,
- IntegerDeclarationTest.class,
- IntegerDefinitionTest.class,
- IntegerEndiannessTest.class,
- SequenceDeclaration2Test.class,
- SequenceDefinition2Test.class,
- StringDeclarationTest.class,
- StringDefinitionTest.class,
- StructDeclarationTest.class,
- StructDefinitionTest.class,
- VariantDeclarationTest.class,
- VariantDefinitionTest.class,
-})
-public class TestAll {
-
-}
diff --git a/lttng/org.eclipse.linuxtools.ctf.core.tests/src/org/eclipse/linuxtools/ctf/core/tests/types/VariantDeclarationTest.java b/lttng/org.eclipse.linuxtools.ctf.core.tests/src/org/eclipse/linuxtools/ctf/core/tests/types/VariantDeclarationTest.java
deleted file mode 100644
index f37ce6b1e5..0000000000
--- a/lttng/org.eclipse.linuxtools.ctf.core.tests/src/org/eclipse/linuxtools/ctf/core/tests/types/VariantDeclarationTest.java
+++ /dev/null
@@ -1,209 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 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:
- * Matthew Khouzam - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.ctf.core.tests.types;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assume.assumeTrue;
-
-import java.nio.ByteBuffer;
-
-import org.eclipse.linuxtools.ctf.core.event.io.BitBuffer;
-import org.eclipse.linuxtools.ctf.core.event.scope.IDefinitionScope;
-import org.eclipse.linuxtools.ctf.core.event.types.Definition;
-import org.eclipse.linuxtools.ctf.core.event.types.EnumDeclaration;
-import org.eclipse.linuxtools.ctf.core.event.types.EnumDefinition;
-import org.eclipse.linuxtools.ctf.core.event.types.IDeclaration;
-import org.eclipse.linuxtools.ctf.core.event.types.IntegerDeclaration;
-import org.eclipse.linuxtools.ctf.core.event.types.IntegerDefinition;
-import org.eclipse.linuxtools.ctf.core.event.types.StringDeclaration;
-import org.eclipse.linuxtools.ctf.core.event.types.StringDefinition;
-import org.eclipse.linuxtools.ctf.core.event.types.StructDeclaration;
-import org.eclipse.linuxtools.ctf.core.event.types.StructDefinition;
-import org.eclipse.linuxtools.ctf.core.event.types.VariantDeclaration;
-import org.eclipse.linuxtools.ctf.core.event.types.VariantDefinition;
-import org.eclipse.linuxtools.ctf.core.tests.shared.CtfTestTrace;
-import org.eclipse.linuxtools.ctf.core.trace.CTFReaderException;
-import org.junit.Before;
-import org.junit.Test;
-
-import com.google.common.collect.ImmutableList;
-
-/**
- * The class <code>VariantDeclarationTest</code> contains tests for the class
- * <code>{@link VariantDeclaration}</code>.
- *
- * @author ematkho
- * @version $Revision: 1.0 $
- */
-public class VariantDeclarationTest {
-
- private static final CtfTestTrace testTrace = CtfTestTrace.KERNEL;
-
- private VariantDeclaration fixture;
-
- /**
- * Perform pre-test initialization.
- */
- @Before
- public void setUp() {
- fixture = new VariantDeclaration();
- }
-
- private static IDefinitionScope createDefinitionScope() throws CTFReaderException {
- assumeTrue(testTrace.exists());
- StructDeclaration declaration = new StructDeclaration(8);
- VariantDeclaration variantDeclaration = new VariantDeclaration();
- variantDeclaration.addField("a", IntegerDeclaration.INT_32B_DECL);
- variantDeclaration.addField("b", IntegerDeclaration.INT_32L_DECL);
- variantDeclaration.setTag("a");
-
- EnumDeclaration enumDeclaration = new EnumDeclaration(IntegerDeclaration.UINT_8_DECL);
- enumDeclaration.add(0, 1, "a");
- enumDeclaration.add(2, 2, "b");
- declaration.addField("tag", enumDeclaration);
- declaration.addField("variant", variantDeclaration);
- EnumDefinition tagDef = new EnumDefinition(
- enumDeclaration,
- null,
- "tag",
- new IntegerDefinition(
- IntegerDeclaration.UINT_8_DECL,
- null,
- "test",
- 0)
- );
- VariantDefinition variantDefinition = new VariantDefinition(
- variantDeclaration,
- testTrace.getTrace(),
- "tag",
- "tag",
- new StringDefinition(
- new StringDeclaration(),
- null,
- "f",
- "tag"
- ));
-
- IDefinitionScope definitionScope = new StructDefinition(
- declaration,
- variantDefinition,
- "",
- ImmutableList.of("tag", variantDefinition.getCurrentFieldName()),
- new Definition[] { tagDef, variantDefinition }
- );
-
- return definitionScope;
- }
-
- /**
- * Run the VariantDeclaration() constructor test.
- */
- @Test
- public void testVariantDeclaration() {
- assertNotNull(fixture);
- assertEquals(false, fixture.isTagged());
- String left = "[declaration] variant[";
- assertEquals(left, fixture.toString().substring(0, left.length()));
- }
-
- /**
- * Run the void addField(String,Declaration) method test.
- */
- @Test
- public void testAddField() {
- fixture.setTag("");
- String tag = "";
- IDeclaration declaration = new StringDeclaration();
- fixture.addField(tag, declaration);
- }
-
- /**
- * Run the VariantDefinition createDefinition(DefinitionScope,String) method
- * test.
- *
- * @throws CTFReaderException
- * Should not happen
- */
- @Test
- public void testCreateDefinition() throws CTFReaderException {
- fixture.setTag("tag");
- fixture.addField("a", IntegerDeclaration.UINT_64B_DECL);
- IDefinitionScope definitionScope = createDefinitionScope();
- String fieldName = "";
- ByteBuffer allocate = ByteBuffer.allocate(100);
- if( allocate == null){
- throw new IllegalStateException("Failed to allocate memory");
- }
- BitBuffer bb = new BitBuffer(allocate);
- VariantDefinition result = fixture.createDefinition(definitionScope, fieldName, bb);
-
- assertNotNull(result);
- }
-
- /**
- * Run the boolean hasField(String) method test.
- */
- @Test
- public void testHasField() {
- fixture.setTag("");
- String tag = "";
- boolean result = fixture.hasField(tag);
-
- assertEquals(false, result);
- }
-
- /**
- * Run the boolean isTagged() method test.
- */
- @Test
- public void testIsTagged() {
- fixture.setTag("");
- boolean result = fixture.isTagged();
-
- assertEquals(true, result);
- }
-
- /**
- * Run the boolean isTagged() method test.
- */
- @Test
- public void testIsTagged_null() {
- fixture.setTag((String) null);
- boolean result = fixture.isTagged();
-
- assertEquals(false, result);
- }
-
- /**
- * Run the void setTag(String) method test.
- */
- @Test
- public void testSetTag() {
- fixture.setTag("");
- String tag = "";
- fixture.setTag(tag);
- }
-
- /**
- * Run the String toString() method test.
- */
- @Test
- public void testToString() {
- fixture.setTag("");
- String result = fixture.toString();
- String left = "[declaration] variant[";
- String right = result.substring(0, left.length());
-
- assertEquals(left, right);
- }
-} \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.ctf.core.tests/src/org/eclipse/linuxtools/ctf/core/tests/types/VariantDefinitionTest.java b/lttng/org.eclipse.linuxtools.ctf.core.tests/src/org/eclipse/linuxtools/ctf/core/tests/types/VariantDefinitionTest.java
deleted file mode 100644
index 8c690bad89..0000000000
--- a/lttng/org.eclipse.linuxtools.ctf.core.tests/src/org/eclipse/linuxtools/ctf/core/tests/types/VariantDefinitionTest.java
+++ /dev/null
@@ -1,291 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013, 2014 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:
- * Matthew Khouzam - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.ctf.core.tests.types;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertNull;
-
-import java.nio.ByteBuffer;
-import java.nio.ByteOrder;
-
-import org.eclipse.jdt.annotation.NonNull;
-import org.eclipse.linuxtools.ctf.core.event.io.BitBuffer;
-import org.eclipse.linuxtools.ctf.core.event.scope.IDefinitionScope;
-import org.eclipse.linuxtools.ctf.core.event.types.AbstractArrayDefinition;
-import org.eclipse.linuxtools.ctf.core.event.types.CompoundDeclaration;
-import org.eclipse.linuxtools.ctf.core.event.types.Definition;
-import org.eclipse.linuxtools.ctf.core.event.types.Encoding;
-import org.eclipse.linuxtools.ctf.core.event.types.EnumDeclaration;
-import org.eclipse.linuxtools.ctf.core.event.types.EnumDefinition;
-import org.eclipse.linuxtools.ctf.core.event.types.FloatDeclaration;
-import org.eclipse.linuxtools.ctf.core.event.types.IDefinition;
-import org.eclipse.linuxtools.ctf.core.event.types.IntegerDeclaration;
-import org.eclipse.linuxtools.ctf.core.event.types.IntegerDefinition;
-import org.eclipse.linuxtools.ctf.core.event.types.StringDeclaration;
-import org.eclipse.linuxtools.ctf.core.event.types.StringDefinition;
-import org.eclipse.linuxtools.ctf.core.event.types.StructDeclaration;
-import org.eclipse.linuxtools.ctf.core.event.types.StructDefinition;
-import org.eclipse.linuxtools.ctf.core.event.types.VariantDeclaration;
-import org.eclipse.linuxtools.ctf.core.event.types.VariantDefinition;
-import org.eclipse.linuxtools.ctf.core.tests.io.Util;
-import org.eclipse.linuxtools.ctf.core.trace.CTFReaderException;
-import org.eclipse.linuxtools.internal.ctf.core.event.types.ArrayDeclaration;
-import org.junit.Before;
-import org.junit.Test;
-
-import com.google.common.collect.ImmutableList;
-
-/**
- * The class <code>VariantDefinitionTest</code> contains tests for the class
- * <code>{@link VariantDefinition}</code>.
- *
- * @author ematkho
- * @version $Revision: 1.0 $
- */
-public class VariantDefinitionTest {
-
- private VariantDefinition fixture;
-
- StructDefinition fStructDefinition;
- private static final @NonNull String TEST_STRUCT_ID = "testStruct";
- private static final @NonNull String ENUM_7 = "g";
- private static final @NonNull String ENUM_6 = "f";
- private static final @NonNull String ENUM_5 = "e";
- private static final @NonNull String ENUM_4 = "d";
- private static final @NonNull String ENUM_3 = "c";
- private static final @NonNull String ENUM_2 = "b";
- private static final @NonNull String ENUM_1 = "a";
- private static final @NonNull String TAG_ID = "a";
- private static final @NonNull String LENGTH_SEQ = "_len";
- private static final @NonNull String VAR_FIELD_NAME = "var";
- private static final @NonNull String ENUM_8 = "bbq ribs";
-
- /**
- * Perform pre-test initialization.
- *
- * Not sure it needs to be that complicated, oh well...
- *
- * @throws CTFReaderException
- * won't happen
- */
- @Before
- public void setUp() throws CTFReaderException {
- StructDeclaration sDec = new StructDeclaration(12);
- StructDeclaration smallStruct = new StructDeclaration(8);
- IntegerDeclaration iDec = IntegerDeclaration.createDeclaration(32, false, 32, ByteOrder.BIG_ENDIAN, Encoding.NONE, "", 8);
- IntegerDeclaration lenDec = IntegerDeclaration.createDeclaration(8, false, 8, ByteOrder.BIG_ENDIAN, Encoding.NONE, "", 8);
- StringDeclaration strDec = new StringDeclaration();
- EnumDeclaration enDec = new EnumDeclaration(iDec);
- VariantDeclaration varDec = new VariantDeclaration();
- EnumDeclaration tagDec = new EnumDeclaration(iDec);
- CompoundDeclaration arrDec = new ArrayDeclaration(2, iDec);
- FloatDeclaration fDec = new FloatDeclaration(8, 24, ByteOrder.BIG_ENDIAN, 8);
- tagDec.add(0, 1, ENUM_1);
- tagDec.add(2, 3, ENUM_2);
- tagDec.add(4, 5, ENUM_3);
- tagDec.add(8, 9, ENUM_5);
- tagDec.add(10, 11, ENUM_6);
- tagDec.add(12, 13, ENUM_7);
- varDec.addField(ENUM_4, lenDec);
- varDec.addField(ENUM_7, fDec);
- varDec.addField(ENUM_6, smallStruct);
- varDec.addField(ENUM_5, enDec);
- varDec.addField(ENUM_3, arrDec);
- varDec.addField(ENUM_2, iDec);
- varDec.addField(ENUM_1, strDec);
-
- sDec.addField(TAG_ID, tagDec);
- sDec.addField(LENGTH_SEQ, lenDec);
-
- sDec.addField(VAR_FIELD_NAME, varDec);
- varDec.setTag(TAG_ID);
-
- final ByteBuffer byteBuffer = Util.testMemory(ByteBuffer.allocate(100));
- BitBuffer bb = new BitBuffer(byteBuffer);
- byteBuffer.mark();
- byteBuffer.putInt(1);
- byteBuffer.putInt(2);
- byteBuffer.putInt(3);
- byteBuffer.reset();
- fStructDefinition = sDec.createDefinition(null, TEST_STRUCT_ID, bb);
- fixture = (VariantDefinition) fStructDefinition.getDefinition(VAR_FIELD_NAME);
- }
-
- /**
- * Run the VariantDefinition(VariantDeclaration,DefinitionScope,String)
- *
- * @throws CTFReaderException
- * should not happen
- */
- @Test
- public void testVariantDefinition() throws CTFReaderException {
- VariantDeclaration declaration = new VariantDeclaration();
- declaration.setTag("");
- VariantDeclaration variantDeclaration = new VariantDeclaration();
- variantDeclaration.addField("", new EnumDeclaration(IntegerDeclaration.INT_32B_DECL));
- variantDeclaration.addField("a", IntegerDeclaration.INT_64B_DECL);
- declaration.addField(ENUM_3, new StringDeclaration());
- variantDeclaration.setTag("a");
-
- byte[] bytes = new byte[128];
- ByteBuffer byb = ByteBuffer.wrap(bytes);
- byb.mark();
- byb.putInt(0);
- byb.putShort((short) 2);
- byb.put(new String("hello").getBytes());
- byb.reset();
- BitBuffer bb = new BitBuffer(byb);
- VariantDefinition variantDefinition = variantDeclaration.createDefinition(fStructDefinition, "field", bb);
- EnumDeclaration declaration2 = new EnumDeclaration(IntegerDeclaration.INT_8_DECL);
- declaration2.add(0, 2, ENUM_3);
- EnumDefinition enumDefinition = new EnumDefinition(
- declaration2,
- null,
- "a",
- new IntegerDefinition(
- IntegerDeclaration.INT_8_DECL,
- null,
- "A",
- 1
- ));
- IDefinitionScope definitionScope = new StructDefinition(
- new StructDeclaration(1L),
- variantDefinition,
- "",
- ImmutableList.<String> of("", "variant"),
- new Definition[] { enumDefinition, variantDefinition }
- );
- String fieldName = "";
- declaration.setTag("");
- VariantDefinition result = declaration.createDefinition(definitionScope, fieldName, bb);
- assertNotNull(result);
- }
-
- /**
- * Run the Definition getCurrentField() method test.
- */
- @Test
- public void testGetCurrentField() {
- IDefinition result = fixture.getCurrentField();
- assertNotNull(result);
- }
-
- /**
- * Run the String getCurrentFieldName() method test.
- */
- @Test
- public void testGetCurrentFieldName() {
- String result = fixture.getCurrentFieldName();
- assertNotNull(result);
- }
-
- /**
- * Run the VariantDeclaration getDeclaration() method test.
- */
- @Test
- public void testGetDeclaration() {
- VariantDeclaration result = fixture.getDeclaration();
- assertNotNull(result);
- }
-
- /**
- * Run the HashMap<String, Definition> getDefinitions() method test.
- */
- @Test
- public void testGetDefinitions() {
- IDefinition result = fixture.getCurrentField();
- assertNotNull(result);
- }
-
- /**
- * Run the String getPath() method test.
- */
- @Test
- public void testGetPath() {
- String result = fixture.getScopePath().toString();
- assertNotNull(result);
- }
-
- /**
- * Run the ArrayDefinition lookupArray(String) method test.
- */
- @Test
- public void testLookupArray() {
- AbstractArrayDefinition result = fixture.lookupArrayDefinition(ENUM_3);
- assertNull(result);
- }
-
- /**
- * Run the Definition lookupDefinition(String) method test.
- */
- @Test
- public void testLookupDefinition() {
- IDefinition result = fixture.lookupDefinition(ENUM_1);
- assertNotNull(result);
- assertEquals("a", ((EnumDefinition) result).getStringValue());
- }
-
- /**
- * Run the EnumDefinition lookupEnum(String) method test.
- */
- @Test
- public void testLookupEnum() {
- EnumDefinition result = fixture.lookupEnum(ENUM_5);
- assertNull(result);
- }
-
- /**
- * Run the IntegerDefinition lookupInteger(String) method test.
- */
- @Test
- public void testLookupInteger() {
- IntegerDefinition result = fixture.lookupInteger(ENUM_2);
- assertNull(result);
- }
-
- /**
- * Run the StringDefinition lookupString(String) method test.
- */
- @Test
- public void testLookupString() {
- StringDefinition result = fixture.lookupString(ENUM_1);
- assertNull(result);
- }
-
- /**
- * Run the StructDefinition lookupStruct(String) method test.
- */
- @Test
- public void testLookupStruct() {
- StructDefinition result = fixture.lookupStruct(ENUM_6);
- assertNull(result);
- }
-
- /**
- * Run the VariantDefinition lookupVariant(String) method test.
- */
- @Test
- public void testLookupVariant() {
- VariantDefinition result = fixture.lookupVariant(ENUM_8);
- assertNull(result);
- }
-
- /**
- * Run the String toString() method test.
- */
- @Test
- public void testToString() {
- String result = fixture.toString();
- assertEquals("{ a = \"\" }", result);
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.ctf.core.tests/traces/.gitignore b/lttng/org.eclipse.linuxtools.ctf.core.tests/traces/.gitignore
deleted file mode 100644
index e2c57663a2..0000000000
--- a/lttng/org.eclipse.linuxtools.ctf.core.tests/traces/.gitignore
+++ /dev/null
@@ -1,16 +0,0 @@
-*.bz2
-*.gz
-*.tar
-*.ht
-*.zip
-/ctf-testsuite
-/cyg-profile
-/funky_trace
-/hello-lost
-/kernel
-/kernel_vm
-/synctraces
-/synthetic-trace
-/trace2
-/exp
-/django-benchmark
diff --git a/lttng/org.eclipse.linuxtools.ctf.core.tests/traces/cyg-profile.tar.bz2.MD5 b/lttng/org.eclipse.linuxtools.ctf.core.tests/traces/cyg-profile.tar.bz2.MD5
deleted file mode 100644
index 3b2a1c09cb..0000000000
--- a/lttng/org.eclipse.linuxtools.ctf.core.tests/traces/cyg-profile.tar.bz2.MD5
+++ /dev/null
@@ -1 +0,0 @@
-088795f3d7b483d197ffad51137ab39e
diff --git a/lttng/org.eclipse.linuxtools.ctf.core.tests/traces/django-benchmark.tar.gz.MD5 b/lttng/org.eclipse.linuxtools.ctf.core.tests/traces/django-benchmark.tar.gz.MD5
deleted file mode 100644
index 48a14c6161..0000000000
--- a/lttng/org.eclipse.linuxtools.ctf.core.tests/traces/django-benchmark.tar.gz.MD5
+++ /dev/null
@@ -1 +0,0 @@
-afd538a1dc0c42e825292f0ce4123583
diff --git a/lttng/org.eclipse.linuxtools.ctf.core.tests/traces/funky_trace.tar.bz2.MD5 b/lttng/org.eclipse.linuxtools.ctf.core.tests/traces/funky_trace.tar.bz2.MD5
deleted file mode 100644
index f3809d5631..0000000000
--- a/lttng/org.eclipse.linuxtools.ctf.core.tests/traces/funky_trace.tar.bz2.MD5
+++ /dev/null
@@ -1 +0,0 @@
-9c68dba0f722d4c4a34791651c5b0e83
diff --git a/lttng/org.eclipse.linuxtools.ctf.core.tests/traces/get-traces.xml b/lttng/org.eclipse.linuxtools.ctf.core.tests/traces/get-traces.xml
deleted file mode 100644
index a008111e60..0000000000
--- a/lttng/org.eclipse.linuxtools.ctf.core.tests/traces/get-traces.xml
+++ /dev/null
@@ -1,136 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-<!--
- Copyright (C) 2013, Red Hat, Inc. and others
-
- 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
--->
-
-<project name="Extract Traces" default="main" >
-<target name="main">
- <antcall>
- <target name="checkAnyTraceExists"/>
- <target name="verifyChecksum"/>
- <target name="deleteFailedCheckSumTraces"/>
- </antcall>
- <antcall target="downloadTraceFiles"/>
- <exec executable = "git" failifexecutionfails="false" timeout="20000">
- <arg value = "clone"/>
- <arg value = "https://github.com/efficios/ctf-testsuite.git"/>
- </exec>
- <condition property="testSuiteExists">
- <and>
- <available file="ctf-testsuite" type="dir"/>
- </and>
- </condition>
- <antcall target="pullTestSuite"/>
- <condition property="tracesExist">
- <and>
- <available file="sample-ctf-trace-20120412.tar.bz2"/>
- <available file="trace2.tar.bz2"/>
- <available file="kernel_vm.tar.bz2" />
- <available file="synctraces.tar.gz" />
- <available file="django-benchmark.tar.gz" />
- <available file="hello-lost.tar.bz2" />
- <available file="cyg-profile.tar.bz2" />
- <available file="funky_trace.tar.bz2" />
- </and>
- </condition>
- <antcall target="extractTraces"/>
-</target>
-
-<target name="checkAnyTraceExists">
- <pathconvert property="anyTraceExists" setonempty="false" pathsep=" ">
- <path>
- <fileset dir="." includes="*.tar.bz2" />
- <fileset dir="." includes="*.tar.gz" />
- <fileset dir="." includes="*.zip" />
- </path>
- </pathconvert>
-</target>
-
-<target name="verifyChecksum">
- <echo message="Verifying: ${anyTraceExists}"/>
- <condition property="failedCheckSum">
- <and>
- <isset property="anyTraceExists"/>
- <not>
- <and>
- <checksum>
- <fileset dir="." includes="*.tar.bz2" />
- <fileset dir="." includes="*.tar.gz" />
- <fileset dir="." includes="*.zip" />
- </checksum>
- </and>
- </not>
- </and>
- </condition>
-</target>
-
-
-<target name="deleteFailedCheckSumTraces" if="failedCheckSum">
- <echo message="Some traces have failed the checksum tests. Deleting traces."/>
- <delete verbose="true">
- <fileset dir="." includes="*.tar.bz2" />
- <fileset dir="." includes="*.tar.gz" />
- <fileset dir="." includes="*.zip" />
- </delete>
-</target>
-
-<target name="warnFailedCheckSum" if="failedCheckSum">
- <echo message="WARNING: Some downloaded traces failed the checkum."/>
-</target>
-
-<target name="downloadTraceFiles">
- <echo message="Attempting to download test traces"/>
- <get ignoreerrors="true" maxtime="60" skipexisting="true" dest="sample-ctf-trace-20120412.tar.bz2" src="http://lttng.org/files/samples/sample-ctf-trace-20120412.tar.bz2"/>
- <get ignoreerrors="true" maxtime="60" skipexisting="true" dest="trace2.tar.bz2" src="http://www.dorsal.polymtl.ca/~alexmont/data/trace2.tar.bz2"/>
- <get ignoreerrors="true" maxtime="60" skipexisting="true" dest="kernel_vm.tar.bz2" src="http://www.dorsal.polymtl.ca/~alexmont/data/kernel_vm.tar.bz2" />
- <get ignoreerrors="true" maxtime="60" skipexisting="true" dest="synctraces.tar.gz" src="http://www.dorsal.polymtl.ca/~gbastien/traces/synctraces.tar.gz" />
- <get ignoreerrors="true" maxtime="200" skipexisting="true" dest="django-benchmark.tar.gz" src="http://www.dorsal.polymtl.ca/~gbastien/traces/django-benchmark.tgz" />
- <get ignoreerrors="true" maxtime="60" skipexisting="true" dest="hello-lost.tar.bz2" src="http://www.dorsal.polymtl.ca/~alexmont/data/hello-lost.tar.bz2" />
- <get ignoreerrors="true" maxtime="60" skipexisting="true" dest="cyg-profile.tar.bz2" src="http://www.dorsal.polymtl.ca/~alexmont/data/cyg-profile.tar.bz2" />
- <get ignoreerrors="true" maxtime="60" skipexisting="true" dest="funky_trace.tar.bz2" src="http://www.dorsal.polymtl.ca/~alexmont/data/funky_trace.tar.bz2" />
- <get ignoreerrors="true" maxtime="200" skipexisting="true" dest="testtraceExp.zip" src="http://secretaire.dorsal.polymtl.ca/~mattkhouzam/testTrace-200Overlap.zip" />
-</target>
-
-<target name="pullTestSuite" if="testSuiteExists">
- <exec executable = "git" failifexecutionfails="false" dir="ctf-testsuite" timeout="20000">
- <arg value = "fetch"/>
- </exec>
- <exec executable = "git" failifexecutionfails="false" dir="ctf-testsuite" timeout="20000">
- <arg value = "checkout"/>
- <arg value = "1f096f5356d09"/>
- </exec>
-</target>
-
-<target name="extractTraces" if="tracesExist">
- <antcall>
- <target name="checkAnyTraceExists"/>
- <target name="verifyChecksum"/>
- <target name="warnFailedCheckSum"/>
- </antcall>
- <bunzip2 src="sample-ctf-trace-20120412.tar.bz2"/>
- <bunzip2 src="trace2.tar.bz2"/>
- <bunzip2 src="kernel_vm.tar.bz2" />
- <gunzip src="synctraces.tar.gz" />
- <gunzip src="django-benchmark.tar.gz" />
- <bunzip2 src="hello-lost.tar.bz2" />
- <bunzip2 src="cyg-profile.tar.bz2" />
- <bunzip2 src="funky_trace.tar.bz2" />
- <unzip src="testtraceExp.zip" dest="./exp" />
-
- <untar src="sample-ctf-trace-20120412.tar" dest="." />
- <untar src="trace2.tar" dest="." />
- <untar src="kernel_vm.tar" dest="." />
- <untar src="synctraces.tar" dest="." />
- <untar src="django-benchmark.tar" dest="." />
- <untar src="hello-lost.tar" dest="." />
- <untar src="cyg-profile.tar" dest="." />
- <untar src="funky_trace.tar" dest="." />
-
- <echo message="Traces extracted successfully"/>
-</target>
-</project>
diff --git a/lttng/org.eclipse.linuxtools.ctf.core.tests/traces/hello-lost.tar.bz2.MD5 b/lttng/org.eclipse.linuxtools.ctf.core.tests/traces/hello-lost.tar.bz2.MD5
deleted file mode 100644
index d5311dfd9b..0000000000
--- a/lttng/org.eclipse.linuxtools.ctf.core.tests/traces/hello-lost.tar.bz2.MD5
+++ /dev/null
@@ -1 +0,0 @@
-4ca17df0c3e3a0dc14940a988630d2d1
diff --git a/lttng/org.eclipse.linuxtools.ctf.core.tests/traces/kernel_vm.tar.bz2.MD5 b/lttng/org.eclipse.linuxtools.ctf.core.tests/traces/kernel_vm.tar.bz2.MD5
deleted file mode 100644
index 52fd4db9c0..0000000000
--- a/lttng/org.eclipse.linuxtools.ctf.core.tests/traces/kernel_vm.tar.bz2.MD5
+++ /dev/null
@@ -1 +0,0 @@
-0aa7f55c4305e642e62c482474b937b3
diff --git a/lttng/org.eclipse.linuxtools.ctf.core.tests/traces/sample-ctf-trace-20120412.tar.bz2.MD5 b/lttng/org.eclipse.linuxtools.ctf.core.tests/traces/sample-ctf-trace-20120412.tar.bz2.MD5
deleted file mode 100644
index d254576e17..0000000000
--- a/lttng/org.eclipse.linuxtools.ctf.core.tests/traces/sample-ctf-trace-20120412.tar.bz2.MD5
+++ /dev/null
@@ -1 +0,0 @@
-6b54b6b4ff7313eb7cd1edb44b39b1d3
diff --git a/lttng/org.eclipse.linuxtools.ctf.core.tests/traces/synctraces.tar.gz.MD5 b/lttng/org.eclipse.linuxtools.ctf.core.tests/traces/synctraces.tar.gz.MD5
deleted file mode 100644
index 465fb8e53a..0000000000
--- a/lttng/org.eclipse.linuxtools.ctf.core.tests/traces/synctraces.tar.gz.MD5
+++ /dev/null
@@ -1 +0,0 @@
-715e024f8b641d5cb3c5541d34ade5da
diff --git a/lttng/org.eclipse.linuxtools.ctf.core.tests/traces/testtraceExp.zip.MD5 b/lttng/org.eclipse.linuxtools.ctf.core.tests/traces/testtraceExp.zip.MD5
deleted file mode 100644
index 1c04aff5f7..0000000000
--- a/lttng/org.eclipse.linuxtools.ctf.core.tests/traces/testtraceExp.zip.MD5
+++ /dev/null
@@ -1 +0,0 @@
-6c0bffcfaee984bc70eab5bcddce4708
diff --git a/lttng/org.eclipse.linuxtools.ctf.core.tests/traces/trace2.tar.bz2.MD5 b/lttng/org.eclipse.linuxtools.ctf.core.tests/traces/trace2.tar.bz2.MD5
deleted file mode 100644
index 303fb63cde..0000000000
--- a/lttng/org.eclipse.linuxtools.ctf.core.tests/traces/trace2.tar.bz2.MD5
+++ /dev/null
@@ -1 +0,0 @@
-6971bb6f2385abdb17d017f4faaefc16
diff --git a/lttng/org.eclipse.linuxtools.ctf.core/.classpath b/lttng/org.eclipse.linuxtools.ctf.core/.classpath
deleted file mode 100644
index 952038856c..0000000000
--- a/lttng/org.eclipse.linuxtools.ctf.core/.classpath
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
- <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.7"/>
- <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
- <classpathentry kind="src" path="src"/>
- <classpathentry combineaccessrules="false" kind="src" path="/org.eclipse.linuxtools.ctf.parser"/>
- <classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/lttng/org.eclipse.linuxtools.ctf.core/.project b/lttng/org.eclipse.linuxtools.ctf.core/.project
deleted file mode 100644
index 6de9331826..0000000000
--- a/lttng/org.eclipse.linuxtools.ctf.core/.project
+++ /dev/null
@@ -1,34 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>org.eclipse.linuxtools.ctf.core</name>
- <comment></comment>
- <projects>
- </projects>
- <buildSpec>
- <buildCommand>
- <name>org.eclipse.jdt.core.javabuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.ManifestBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.SchemaBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.api.tools.apiAnalysisBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>org.eclipse.pde.PluginNature</nature>
- <nature>org.eclipse.jdt.core.javanature</nature>
- <nature>org.eclipse.pde.api.tools.apiAnalysisNature</nature>
- </natures>
-</projectDescription>
diff --git a/lttng/org.eclipse.linuxtools.ctf.core/.settings/org.eclipse.core.resources.prefs b/lttng/org.eclipse.linuxtools.ctf.core/.settings/org.eclipse.core.resources.prefs
deleted file mode 100644
index 99f26c0203..0000000000
--- a/lttng/org.eclipse.linuxtools.ctf.core/.settings/org.eclipse.core.resources.prefs
+++ /dev/null
@@ -1,2 +0,0 @@
-eclipse.preferences.version=1
-encoding/<project>=UTF-8
diff --git a/lttng/org.eclipse.linuxtools.ctf.core/.settings/org.eclipse.core.runtime.prefs b/lttng/org.eclipse.linuxtools.ctf.core/.settings/org.eclipse.core.runtime.prefs
deleted file mode 100644
index 5a0ad22d2a..0000000000
--- a/lttng/org.eclipse.linuxtools.ctf.core/.settings/org.eclipse.core.runtime.prefs
+++ /dev/null
@@ -1,2 +0,0 @@
-eclipse.preferences.version=1
-line.separator=\n
diff --git a/lttng/org.eclipse.linuxtools.ctf.core/.settings/org.eclipse.jdt.core.prefs b/lttng/org.eclipse.linuxtools.ctf.core/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index 9f3662cd78..0000000000
--- a/lttng/org.eclipse.linuxtools.ctf.core/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,394 +0,0 @@
-eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.annotation.inheritNullAnnotations=enabled
-org.eclipse.jdt.core.compiler.annotation.missingNonNullByDefaultAnnotation=ignore
-org.eclipse.jdt.core.compiler.annotation.nonnull=org.eclipse.jdt.annotation.NonNull
-org.eclipse.jdt.core.compiler.annotation.nonnullbydefault=org.eclipse.jdt.annotation.NonNullByDefault
-org.eclipse.jdt.core.compiler.annotation.nullable=org.eclipse.jdt.annotation.Nullable
-org.eclipse.jdt.core.compiler.annotation.nullanalysis=enabled
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.7
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.doc.comment.support=enabled
-org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=error
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
-org.eclipse.jdt.core.compiler.problem.comparingIdentical=error
-org.eclipse.jdt.core.compiler.problem.deadCode=error
-org.eclipse.jdt.core.compiler.problem.deprecation=error
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled
-org.eclipse.jdt.core.compiler.problem.discouragedReference=warning
-org.eclipse.jdt.core.compiler.problem.emptyStatement=error
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.problem.explicitlyClosedAutoCloseable=error
-org.eclipse.jdt.core.compiler.problem.fallthroughCase=error
-org.eclipse.jdt.core.compiler.problem.fatalOptionalError=disabled
-org.eclipse.jdt.core.compiler.problem.fieldHiding=error
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=error
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=error
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=error
-org.eclipse.jdt.core.compiler.problem.includeNullInfoFromAsserts=disabled
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=error
-org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=error
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=error
-org.eclipse.jdt.core.compiler.problem.invalidJavadoc=warning
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTags=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=protected
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=error
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=error
-org.eclipse.jdt.core.compiler.problem.missingDefaultCase=error
-org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=error
-org.eclipse.jdt.core.compiler.problem.missingEnumCaseDespiteDefault=enabled
-org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=error
-org.eclipse.jdt.core.compiler.problem.missingJavadocComments=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=protected
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagDescription=all_standard_tags
-org.eclipse.jdt.core.compiler.problem.missingJavadocTags=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsMethodTypeParameters=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=protected
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=error
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotationForInterfaceMethodImplementation=enabled
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=error
-org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=error
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=error
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=error
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=warning
-org.eclipse.jdt.core.compiler.problem.nonnullParameterAnnotationDropped=warning
-org.eclipse.jdt.core.compiler.problem.nullAnnotationInferenceConflict=warning
-org.eclipse.jdt.core.compiler.problem.nullReference=error
-org.eclipse.jdt.core.compiler.problem.nullSpecViolation=error
-org.eclipse.jdt.core.compiler.problem.nullUncheckedConversion=warning
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=error
-org.eclipse.jdt.core.compiler.problem.parameterAssignment=error
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=error
-org.eclipse.jdt.core.compiler.problem.potentialNullReference=error
-org.eclipse.jdt.core.compiler.problem.potentiallyUnclosedCloseable=warning
-org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning
-org.eclipse.jdt.core.compiler.problem.redundantNullAnnotation=warning
-org.eclipse.jdt.core.compiler.problem.redundantNullCheck=error
-org.eclipse.jdt.core.compiler.problem.redundantSpecificationOfTypeArguments=error
-org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=error
-org.eclipse.jdt.core.compiler.problem.reportMethodCanBePotentiallyStatic=ignore
-org.eclipse.jdt.core.compiler.problem.reportMethodCanBeStatic=error
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=error
-org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=disabled
-org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
-org.eclipse.jdt.core.compiler.problem.syntacticNullAnalysisForFields=enabled
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
-org.eclipse.jdt.core.compiler.problem.typeParameterHiding=error
-org.eclipse.jdt.core.compiler.problem.unavoidableGenericTypeProblems=disabled
-org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
-org.eclipse.jdt.core.compiler.problem.unclosedCloseable=error
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
-org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=error
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=error
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=error
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=warning
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=disabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=disabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=error
-org.eclipse.jdt.core.compiler.problem.unusedLabel=error
-org.eclipse.jdt.core.compiler.problem.unusedLocal=error
-org.eclipse.jdt.core.compiler.problem.unusedObjectAllocation=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=error
-org.eclipse.jdt.core.compiler.problem.unusedTypeParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedWarningToken=error
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=error
-org.eclipse.jdt.core.compiler.source=1.7
-org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_assignment=0
-org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
-org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
-org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
-org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
-org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0
-org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=80
-org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=0
-org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch=16
-org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_after_package=1
-org.eclipse.jdt.core.formatter.blank_lines_before_field=0
-org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
-org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
-org.eclipse.jdt.core.formatter.blank_lines_before_method=1
-org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
-org.eclipse.jdt.core.formatter.blank_lines_before_package=0
-org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
-org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
-org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
-org.eclipse.jdt.core.formatter.comment.format_block_comments=true
-org.eclipse.jdt.core.formatter.comment.format_header=false
-org.eclipse.jdt.core.formatter.comment.format_html=true
-org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=true
-org.eclipse.jdt.core.formatter.comment.format_line_comments=true
-org.eclipse.jdt.core.formatter.comment.format_source_code=true
-org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true
-org.eclipse.jdt.core.formatter.comment.indent_root_tags=true
-org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
-org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=insert
-org.eclipse.jdt.core.formatter.comment.line_length=80
-org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries=true
-org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries=true
-org.eclipse.jdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments=false
-org.eclipse.jdt.core.formatter.compact_else_if=true
-org.eclipse.jdt.core.formatter.continuation_indentation=2
-org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2
-org.eclipse.jdt.core.formatter.disabling_tag=@formatter\:off
-org.eclipse.jdt.core.formatter.enabling_tag=@formatter\:on
-org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
-org.eclipse.jdt.core.formatter.format_line_comment_starting_on_first_column=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
-org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_empty_lines=false
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=false
-org.eclipse.jdt.core.formatter.indentation.size=4
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_label=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_try=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources=insert
-org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_try=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
-org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.join_lines_in_comments=true
-org.eclipse.jdt.core.formatter.join_wrapped_lines=false
-org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.lineSplit=250
-org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
-org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
-org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true
-org.eclipse.jdt.core.formatter.tabulation.char=space
-org.eclipse.jdt.core.formatter.tabulation.size=4
-org.eclipse.jdt.core.formatter.use_on_off_tags=false
-org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
-org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
-org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true
-org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true
diff --git a/lttng/org.eclipse.linuxtools.ctf.core/.settings/org.eclipse.jdt.ui.prefs b/lttng/org.eclipse.linuxtools.ctf.core/.settings/org.eclipse.jdt.ui.prefs
deleted file mode 100644
index 4fd0c7006a..0000000000
--- a/lttng/org.eclipse.linuxtools.ctf.core/.settings/org.eclipse.jdt.ui.prefs
+++ /dev/null
@@ -1,56 +0,0 @@
-eclipse.preferences.version=1
-editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
-formatter_profile=_tmf-style
-formatter_settings_version=12
-sp_cleanup.add_default_serial_version_id=true
-sp_cleanup.add_generated_serial_version_id=false
-sp_cleanup.add_missing_annotations=false
-sp_cleanup.add_missing_deprecated_annotations=true
-sp_cleanup.add_missing_methods=false
-sp_cleanup.add_missing_nls_tags=false
-sp_cleanup.add_missing_override_annotations=true
-sp_cleanup.add_missing_override_annotations_interface_methods=true
-sp_cleanup.add_serial_version_id=false
-sp_cleanup.always_use_blocks=true
-sp_cleanup.always_use_parentheses_in_expressions=false
-sp_cleanup.always_use_this_for_non_static_field_access=false
-sp_cleanup.always_use_this_for_non_static_method_access=false
-sp_cleanup.convert_to_enhanced_for_loop=false
-sp_cleanup.correct_indentation=false
-sp_cleanup.format_source_code=false
-sp_cleanup.format_source_code_changes_only=false
-sp_cleanup.make_local_variable_final=false
-sp_cleanup.make_parameters_final=false
-sp_cleanup.make_private_fields_final=true
-sp_cleanup.make_type_abstract_if_missing_method=false
-sp_cleanup.make_variable_declarations_final=false
-sp_cleanup.never_use_blocks=false
-sp_cleanup.never_use_parentheses_in_expressions=true
-sp_cleanup.on_save_use_additional_actions=true
-sp_cleanup.organize_imports=false
-sp_cleanup.qualify_static_field_accesses_with_declaring_class=false
-sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_with_declaring_class=false
-sp_cleanup.qualify_static_method_accesses_with_declaring_class=false
-sp_cleanup.remove_private_constructors=true
-sp_cleanup.remove_trailing_whitespaces=true
-sp_cleanup.remove_trailing_whitespaces_all=true
-sp_cleanup.remove_trailing_whitespaces_ignore_empty=false
-sp_cleanup.remove_unnecessary_casts=false
-sp_cleanup.remove_unnecessary_nls_tags=false
-sp_cleanup.remove_unused_imports=false
-sp_cleanup.remove_unused_local_variables=false
-sp_cleanup.remove_unused_private_fields=true
-sp_cleanup.remove_unused_private_members=false
-sp_cleanup.remove_unused_private_methods=true
-sp_cleanup.remove_unused_private_types=true
-sp_cleanup.sort_members=false
-sp_cleanup.sort_members_all=false
-sp_cleanup.use_blocks=true
-sp_cleanup.use_blocks_only_for_return_and_throw=false
-sp_cleanup.use_parentheses_in_expressions=false
-sp_cleanup.use_this_for_non_static_field_access=false
-sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=true
-sp_cleanup.use_this_for_non_static_method_access=false
-sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true
diff --git a/lttng/org.eclipse.linuxtools.ctf.core/.settings/org.eclipse.pde.api.tools.prefs b/lttng/org.eclipse.linuxtools.ctf.core/.settings/org.eclipse.pde.api.tools.prefs
deleted file mode 100644
index acc3abd47c..0000000000
--- a/lttng/org.eclipse.linuxtools.ctf.core/.settings/org.eclipse.pde.api.tools.prefs
+++ /dev/null
@@ -1,97 +0,0 @@
-ANNOTATION_ELEMENT_TYPE_ADDED_METHOD_WITHOUT_DEFAULT_VALUE=Error
-ANNOTATION_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
-ANNOTATION_ELEMENT_TYPE_REMOVED_FIELD=Error
-ANNOTATION_ELEMENT_TYPE_REMOVED_METHOD=Error
-ANNOTATION_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
-API_COMPONENT_ELEMENT_TYPE_REMOVED_API_TYPE=Error
-API_COMPONENT_ELEMENT_TYPE_REMOVED_REEXPORTED_API_TYPE=Error
-API_COMPONENT_ELEMENT_TYPE_REMOVED_REEXPORTED_TYPE=Error
-API_COMPONENT_ELEMENT_TYPE_REMOVED_TYPE=Error
-API_USE_SCAN_FIELD_SEVERITY=Error
-API_USE_SCAN_METHOD_SEVERITY=Error
-API_USE_SCAN_TYPE_SEVERITY=Error
-CLASS_ELEMENT_TYPE_ADDED_METHOD=Error
-CLASS_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
-CLASS_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
-CLASS_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error
-CLASS_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
-CLASS_ELEMENT_TYPE_CHANGED_NON_ABSTRACT_TO_ABSTRACT=Error
-CLASS_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error
-CLASS_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
-CLASS_ELEMENT_TYPE_REMOVED_CONSTRUCTOR=Error
-CLASS_ELEMENT_TYPE_REMOVED_FIELD=Error
-CLASS_ELEMENT_TYPE_REMOVED_METHOD=Error
-CLASS_ELEMENT_TYPE_REMOVED_SUPERCLASS=Error
-CLASS_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
-CLASS_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
-CONSTRUCTOR_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
-CONSTRUCTOR_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
-CONSTRUCTOR_ELEMENT_TYPE_CHANGED_VARARGS_TO_ARRAY=Error
-CONSTRUCTOR_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
-ENUM_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error
-ENUM_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
-ENUM_ELEMENT_TYPE_REMOVED_ENUM_CONSTANT=Error
-ENUM_ELEMENT_TYPE_REMOVED_FIELD=Error
-ENUM_ELEMENT_TYPE_REMOVED_METHOD=Error
-ENUM_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
-FIELD_ELEMENT_TYPE_ADDED_VALUE=Error
-FIELD_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
-FIELD_ELEMENT_TYPE_CHANGED_FINAL_TO_NON_FINAL_STATIC_CONSTANT=Error
-FIELD_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error
-FIELD_ELEMENT_TYPE_CHANGED_NON_STATIC_TO_STATIC=Error
-FIELD_ELEMENT_TYPE_CHANGED_STATIC_TO_NON_STATIC=Error
-FIELD_ELEMENT_TYPE_CHANGED_TYPE=Error
-FIELD_ELEMENT_TYPE_CHANGED_VALUE=Error
-FIELD_ELEMENT_TYPE_REMOVED_TYPE_ARGUMENT=Error
-FIELD_ELEMENT_TYPE_REMOVED_VALUE=Error
-ILLEGAL_EXTEND=Warning
-ILLEGAL_IMPLEMENT=Warning
-ILLEGAL_INSTANTIATE=Warning
-ILLEGAL_OVERRIDE=Warning
-ILLEGAL_REFERENCE=Warning
-INTERFACE_ELEMENT_TYPE_ADDED_FIELD=Error
-INTERFACE_ELEMENT_TYPE_ADDED_METHOD=Error
-INTERFACE_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
-INTERFACE_ELEMENT_TYPE_ADDED_SUPER_INTERFACE_WITH_METHODS=Error
-INTERFACE_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
-INTERFACE_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error
-INTERFACE_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
-INTERFACE_ELEMENT_TYPE_REMOVED_FIELD=Error
-INTERFACE_ELEMENT_TYPE_REMOVED_METHOD=Error
-INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
-INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
-INVALID_JAVADOC_TAG=Warning
-INVALID_REFERENCE_IN_SYSTEM_LIBRARIES=Warning
-LEAK_EXTEND=Warning
-LEAK_FIELD_DECL=Warning
-LEAK_IMPLEMENT=Warning
-LEAK_METHOD_PARAM=Warning
-LEAK_METHOD_RETURN_TYPE=Warning
-METHOD_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
-METHOD_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
-METHOD_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
-METHOD_ELEMENT_TYPE_CHANGED_NON_ABSTRACT_TO_ABSTRACT=Error
-METHOD_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error
-METHOD_ELEMENT_TYPE_CHANGED_NON_STATIC_TO_STATIC=Error
-METHOD_ELEMENT_TYPE_CHANGED_STATIC_TO_NON_STATIC=Error
-METHOD_ELEMENT_TYPE_CHANGED_VARARGS_TO_ARRAY=Error
-METHOD_ELEMENT_TYPE_REMOVED_ANNOTATION_DEFAULT_VALUE=Error
-METHOD_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
-MISSING_EE_DESCRIPTIONS=Ignore
-TYPE_PARAMETER_ELEMENT_TYPE_ADDED_CLASS_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_ADDED_INTERFACE_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_CHANGED_CLASS_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_CHANGED_INTERFACE_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_CLASS_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error
-UNUSED_PROBLEM_FILTERS=Warning
-automatically_removed_unused_problem_filters=false
-eclipse.preferences.version=1
-incompatible_api_component_version=Error
-incompatible_api_component_version_include_major_without_breaking_change=Disabled
-incompatible_api_component_version_include_minor_without_api_change=Disabled
-invalid_since_tag_version=Error
-malformed_since_tag=Error
-missing_since_tag=Error
-report_api_breakage_when_major_version_incremented=Disabled
-report_resolution_errors_api_component=Warning
diff --git a/lttng/org.eclipse.linuxtools.ctf.core/.settings/org.eclipse.pde.prefs b/lttng/org.eclipse.linuxtools.ctf.core/.settings/org.eclipse.pde.prefs
deleted file mode 100644
index d92b94fd4b..0000000000
--- a/lttng/org.eclipse.linuxtools.ctf.core/.settings/org.eclipse.pde.prefs
+++ /dev/null
@@ -1,32 +0,0 @@
-compilers.f.unresolved-features=1
-compilers.f.unresolved-plugins=1
-compilers.incompatible-environment=1
-compilers.p.build=1
-compilers.p.build.bin.includes=1
-compilers.p.build.encodings=2
-compilers.p.build.java.compiler=2
-compilers.p.build.java.compliance=1
-compilers.p.build.missing.output=2
-compilers.p.build.output.library=1
-compilers.p.build.source.library=1
-compilers.p.build.src.includes=1
-compilers.p.deprecated=1
-compilers.p.discouraged-class=1
-compilers.p.internal=1
-compilers.p.missing-packages=1
-compilers.p.missing-version-export-package=2
-compilers.p.missing-version-import-package=2
-compilers.p.missing-version-require-bundle=2
-compilers.p.no-required-att=0
-compilers.p.not-externalized-att=1
-compilers.p.unknown-attribute=1
-compilers.p.unknown-class=1
-compilers.p.unknown-element=1
-compilers.p.unknown-identifier=1
-compilers.p.unknown-resource=1
-compilers.p.unresolved-ex-points=0
-compilers.p.unresolved-import=0
-compilers.s.create-docs=false
-compilers.s.doc-folder=doc
-compilers.s.open-tags=1
-eclipse.preferences.version=1
diff --git a/lttng/org.eclipse.linuxtools.ctf.core/META-INF/MANIFEST.MF b/lttng/org.eclipse.linuxtools.ctf.core/META-INF/MANIFEST.MF
deleted file mode 100644
index 62d19d9e64..0000000000
--- a/lttng/org.eclipse.linuxtools.ctf.core/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,29 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %Bundle-Name
-Bundle-Vendor: %Bundle-Vendor
-Bundle-Version: 3.2.0.qualifier
-Bundle-Localization: plugin
-Bundle-SymbolicName: org.eclipse.linuxtools.ctf.core;singleton:=true
-Bundle-Activator: org.eclipse.linuxtools.internal.ctf.core.Activator
-Bundle-ActivationPolicy: lazy
-Bundle-RequiredExecutionEnvironment: JavaSE-1.7
-Require-Bundle: org.eclipse.core.runtime,
- org.eclipse.linuxtools.ctf.parser;bundle-version="3.1.0"
-Export-Package: org.eclipse.linuxtools.ctf.core,
- org.eclipse.linuxtools.ctf.core.event,
- org.eclipse.linuxtools.ctf.core.event.io,
- org.eclipse.linuxtools.ctf.core.event.scope,
- org.eclipse.linuxtools.ctf.core.event.types,
- org.eclipse.linuxtools.ctf.core.trace,
- org.eclipse.linuxtools.internal.ctf.core;x-friends:="org.eclipse.linuxtools.ctf.core.tests",
- org.eclipse.linuxtools.internal.ctf.core.event;x-friends:="org.eclipse.linuxtools.ctf.core.tests",
- org.eclipse.linuxtools.internal.ctf.core.event.metadata;x-friends:="org.eclipse.linuxtools.ctf.core.tests",
- org.eclipse.linuxtools.internal.ctf.core.event.metadata.exceptions;x-friends:="org.eclipse.linuxtools.ctf.core.tests",
- org.eclipse.linuxtools.internal.ctf.core.event.types;x-friends:="org.eclipse.linuxtools.ctf.core.tests,org.eclipse.linuxtools.tmf.ctf.core,org.eclipse.linuxtools.tmf.ctf.core.tests",
- org.eclipse.linuxtools.internal.ctf.core.event.types.composite;x-friends:="org.eclipse.linuxtools.ctf.core.tests",
- org.eclipse.linuxtools.internal.ctf.core.trace;x-friends:="org.eclipse.linuxtools.ctf.core.tests"
-Import-Package: com.google.common.base,
- com.google.common.collect,
- org.antlr.runtime;version="3.2.0",
- org.antlr.runtime.tree;version="3.2.0"
diff --git a/lttng/org.eclipse.linuxtools.ctf.core/about.html b/lttng/org.eclipse.linuxtools.ctf.core/about.html
deleted file mode 100644
index c258ef55d8..0000000000
--- a/lttng/org.eclipse.linuxtools.ctf.core/about.html
+++ /dev/null
@@ -1,28 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
-<title>About</title>
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
-
-<p>June 5, 2006</p>
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;). Unless otherwise
-indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is available
-at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is
-being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content. Check the Redistributor's license that was
-provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at <a href="http://www.eclipse.org/">http://www.eclipse.org</a>.</p>
-
-</body>
-</html> \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.ctf.core/build.properties b/lttng/org.eclipse.linuxtools.ctf.core/build.properties
deleted file mode 100644
index 7a2207a1a0..0000000000
--- a/lttng/org.eclipse.linuxtools.ctf.core/build.properties
+++ /dev/null
@@ -1,21 +0,0 @@
-###############################################################################
-# Copyright (c) 2013 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:
-# Ericsson - Initial API and implementation
-###############################################################################
-
-source.. = src/
-output.. = bin/
-bin.includes = META-INF/,\
- .,\
- about.html,\
- plugin.properties
-src.includes = about.html
-additional.bundles = org.eclipse.jdt.annotation
-jars.extra.classpath = platform:/plugin/org.eclipse.jdt.annotation \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.ctf.core/other/lttng b/lttng/org.eclipse.linuxtools.ctf.core/other/lttng
deleted file mode 100644
index 1eeecef40f..0000000000
--- a/lttng/org.eclipse.linuxtools.ctf.core/other/lttng
+++ /dev/null
@@ -1,131 +0,0 @@
-#!/bin/bash
-# LTTng Trace Control bash completion
-#
-
-_lttng_complete_sessions() {
- local sessions
- if ! _complete_as_root ; then
- sessions=$(for i in $(ls -d ~/.lttng/*/); do basename $i; done)
- COMPREPLY=( $(compgen -W "${sessions}" -- $cur) )
- #else
- # Permission denied, what should we do ?
- # sessions=$(for i in $(ls -d ~root/.lttng/*/); do basename $i; done)
- #COMPREPLY=( $(compgen -W "${sessions}" -- $cur) )
- fi
-}
-
-_lttng_create() {
- local create_opts
- create_opts="-h --help -o --output"
-
- case $prev in
- --output|-o)
- _filedir -d
- return
- ;;
- esac
-
- case $cur in
- -*)
- COMPREPLY=( $(compgen -W "${create_opts}" -- $cur) )
- return
- ;;
- esac
-}
-
-_lttng_start_stop() {
- local start_stop_opts
- start_stop_opts="-h --help"
-
- case $cur in
- -*)
- COMPREPLY=( $(compgen -W "${start_stop_opts}" -- $cur) )
- ;;
- *)
- _lttng_complete_sessions
- ;;
- esac
-}
-
-_lttng_opts() {
- local opts
- opts=$(lttng --dump-options)
-
- COMPREPLY=( $(compgen -W "${opts}" -- $cur) )
-}
-
-_lttng_commands() {
- COMPREPLY=( $(compgen -W "$commands" -- $cur) )
-}
-
-_lttng_before_command() {
- # Check if the previous word should alter the behavior
- case $prev in
- --group|-g)
- COMPREPLY=( $(compgen -g -- $cur) )
- return
- ;;
- esac
-
- case $cur in
- -*)
- # If the current word starts with a dash, complete with options
- _lttng_opts
- ;;
- *)
- # Otherwise complete with commands
- _lttng_commands
- ;;
- esac
-}
-
-_lttng_after_command() {
- case $command_found in
- "create")
- _lttng_create
- ;;
- "start"|"stop")
- _lttng_start_stop
- ;;
- esac
-}
-
-_lttng_is_command() {
- for command in $commands; do
- if [ "$1" == "$command" ]; then
- return 0
- fi
- done
-
- return 1
-}
-
-_lttng() {
- local cur prev commands command_found command_found_index
-
- cur="${COMP_WORDS[COMP_CWORD]}"
- prev="${COMP_WORDS[COMP_CWORD-1]}"
- commands=$(lttng --dump-commands)
-
- command_found=""
- command_found_index=-1
-
- for (( i = 1 ; i < ${#COMP_WORDS[@]} ; i++ )); do
- _lttng_is_command ${COMP_WORDS[$i]}
- if [ $? -eq 0 ]; then
- command_found=${COMP_WORDS[$i]}
- command_found_index=$i
- break
- fi
-
- done
-
- if [ -n "$command_found" ] && [ "$COMP_CWORD" -gt "$command_found_index" ]; then
- _lttng_after_command
- else
- _lttng_before_command
- fi
-}
-
-complete -F _lttng lttng
-
diff --git a/lttng/org.eclipse.linuxtools.ctf.core/plugin.properties b/lttng/org.eclipse.linuxtools.ctf.core/plugin.properties
deleted file mode 100644
index 26f3f29625..0000000000
--- a/lttng/org.eclipse.linuxtools.ctf.core/plugin.properties
+++ /dev/null
@@ -1,15 +0,0 @@
-###############################################################################
-# Copyright (c) 2013 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:
-# Ericsson - Initial API and implementation
-###############################################################################
-
-#Properties file for org.eclipse.linuxtools.ctf.core
-Bundle-Vendor = Eclipse Linux Tools
-Bundle-Name = Linux Tools CTF Core Plug-in
diff --git a/lttng/org.eclipse.linuxtools.ctf.core/pom.xml b/lttng/org.eclipse.linuxtools.ctf.core/pom.xml
deleted file mode 100644
index 119d77a3d1..0000000000
--- a/lttng/org.eclipse.linuxtools.ctf.core/pom.xml
+++ /dev/null
@@ -1,44 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Copyright (C) 2011, Red Hat, Inc.
-
- 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
--->
-<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
- <modelVersion>4.0.0</modelVersion>
-
- <parent>
- <artifactId>linuxtools-lttng-parent</artifactId>
- <groupId>org.eclipse.linuxtools.lttng</groupId>
- <version>3.2.0-SNAPSHOT</version>
- </parent>
-
- <name>Linux Tools CTF Core Plug-in</name>
- <groupId>org.eclipse.linuxtools.ctf</groupId>
- <artifactId>org.eclipse.linuxtools.ctf.core</artifactId>
- <version>3.2.0-SNAPSHOT</version>
- <packaging>eclipse-plugin</packaging>
-
- <build>
- <!-- workaround for https://issues.sonatype.org/browse/TYCHO-168 -->
- <resources>
- <resource>
- <directory>src</directory>
- <excludes>
- <exclude>**/*.java</exclude>
- </excludes>
- </resource>
- </resources>
- <plugins>
- <plugin>
- <groupId>org.eclipse.tycho</groupId>
- <artifactId>tycho-source-plugin</artifactId>
- </plugin>
- </plugins>
- </build>
-
-</project>
diff --git a/lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/ctf/core/CTFStrings.java b/lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/ctf/core/CTFStrings.java
deleted file mode 100644
index fd42aa1597..0000000000
--- a/lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/ctf/core/CTFStrings.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 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:
- * Alexandre Montplaisir - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.ctf.core;
-
-import org.eclipse.jdt.annotation.NonNullByDefault;
-
-/**
- * Non-externalized strings for use with the CTF plugin (event names, field
- * names, etc.)
- *
- * @author Alexandre Montplaisir
- * @since 2.2
- */
-@SuppressWarnings("nls")
-@NonNullByDefault
-public interface CTFStrings {
-
- /** Event name for lost events */
- static final String LOST_EVENT_NAME = "Lost event";
-
- /**
- * Name of the field in lost events indicating how many actual events were
- * lost
- */
- static final String LOST_EVENTS_FIELD = "Lost events";
-
- /**
- * Name of the field in lost events indicating the time range
- */
- static final String LOST_EVENTS_DURATION = "duration";
-}
diff --git a/lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/ctf/core/event/CTFCallsite.java b/lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/ctf/core/event/CTFCallsite.java
deleted file mode 100644
index 79948d5cd6..0000000000
--- a/lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/ctf/core/event/CTFCallsite.java
+++ /dev/null
@@ -1,210 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2012, 2013 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:
- * Matthew Khouzam - Initial API and implementation
- *
- *******************************************************************************/
-
-package org.eclipse.linuxtools.ctf.core.event;
-
-/**
- * Callsite information to help with cdt integration
- *
- * @author Matthew Khouzam
- *
- * @since 1.2
- */
-public class CTFCallsite implements Comparable<CTFCallsite> {
-
- private static final long MASK32 = 0x00000000ffffffffL;
-
- /**
- * The event name
- */
- private final String fEventName;
-
- /**
- * the file name of the callsite
- */
- private final String fFileName;
-
- /**
- * the instruction pointer
- */
- private final long fIp;
-
- /**
- * the function name
- */
- private final String fFunctionName;
-
- /**
- * the line number of the callsite
- */
- private final long fLineNumber;
-
- /**
- * The callsite constructor
- *
- * @param en
- * The event name
- * @param func
- * the function name
- * @param ip
- * the instruction pointer of the callsite
- * @param fn
- * the file name of the callsite
- * @param line
- * the line number of the callsite
- */
- public CTFCallsite(String en, String func, long ip, String fn, long line) {
- fEventName = en;
- fFileName = fn;
- fFunctionName = func;
- fIp = ip;
- fLineNumber = line;
- }
-
- /**
- * @return the eventName
- */
- public String getEventName() {
- return fEventName;
- }
-
- /**
- * @return the fileName
- */
- public String getFileName() {
- return fFileName;
- }
-
- /**
- * @return the ip
- */
- public long getIp() {
- return fIp;
- }
-
- /**
- * @return the functionName
- */
- public String getFunctionName() {
- return fFunctionName;
- }
-
- /**
- * @return the lineNumber
- */
- public long getLineNumber() {
- return fLineNumber;
- }
-
- /*
- * The callsites will be sorted by calling addresses. To do this we take IPs
- * (instruction pointers) and compare them. Java only supports signed
- * operation and since memory addresses are unsigned, we will convert the
- * longs into integers that contain the high and low bytes and compare them.
- */
- @Override
- public int compareTo(CTFCallsite o) {
- /*
- * mask32 is 32 zeros followed by 32 ones, when we bitwise and this it
- * will return the lower 32 bits
- */
-
- long other = o.fIp;
- /*
- * To get a high int: we downshift by 32 and bitwise and with the mask
- * to get rid of the sign
- *
- * To get the low int: we bitwise and with the mask.
- */
- long otherHigh = (other >> 32) & MASK32;
- long otherLow = other & MASK32;
- long ownHigh = (fIp >> 32) & MASK32;
- long ownLow = fIp & MASK32;
- /* are the high values different, if so ignore the lower values */
- if (ownHigh > otherHigh) {
- return 1;
- }
- if (ownHigh < otherHigh ) {
- return -1;
- }
- /* the high values are the same, compare the lower values */
- if (ownLow > otherLow) {
- return 1;
- }
- if (ownLow < otherLow) {
- return -1;
- }
- /* the values are identical */
- return 0;
- }
-
- @Override
- public int hashCode() {
- final int prime = 31;
- int result = 1;
- result = prime * result + ((fEventName == null) ? 0 : fEventName.hashCode());
- result = prime * result + ((fFileName == null) ? 0 : fFileName.hashCode());
- result = prime * result + ((fFunctionName == null) ? 0 : fFunctionName.hashCode());
- result = prime * result + (int) (fIp ^ (fIp >>> 32));
- result = prime * result + (int) (fLineNumber ^ (fLineNumber >>> 32));
- return result;
- }
-
-
- @Override
- public boolean equals(Object obj) {
- if (this == obj) {
- return true;
- }
- if (obj == null) {
- return false;
- }
- if (getClass() != obj.getClass()) {
- return false;
- }
- CTFCallsite other = (CTFCallsite) obj;
- if (fEventName == null) {
- if (other.fEventName != null) {
- return false;
- }
- } else if (!fEventName.equals(other.fEventName)) {
- return false;
- }
- if (fFileName == null) {
- if (other.fFileName != null) {
- return false;
- }
- } else if (!fFileName.equals(other.fFileName)) {
- return false;
- }
- if (fFunctionName == null) {
- if (other.fFunctionName != null) {
- return false;
- }
- } else if (!fFunctionName.equals(other.fFunctionName)) {
- return false;
- }
- if (fIp != other.fIp) {
- return false;
- }
- if (fLineNumber != other.fLineNumber) {
- return false;
- }
- return true;
- }
-
- @Override
- public String toString() {
- return fFileName + "/" + fFunctionName + ":" + fLineNumber; //$NON-NLS-1$ //$NON-NLS-2$
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/ctf/core/event/CTFClock.java b/lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/ctf/core/event/CTFClock.java
deleted file mode 100644
index 7b90cc1421..0000000000
--- a/lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/ctf/core/event/CTFClock.java
+++ /dev/null
@@ -1,133 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011, 2014 Ericsson, Ecole Polytechnique de Montreal and others
- *
- * 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: Matthew Khouzam - Initial API and implementation
- * Contributors: Simon Marchi - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.ctf.core.event;
-
-import java.util.HashMap;
-import java.util.Map;
-
-/**
- * Clock description used in CTF traces
- */
-public class CTFClock {
-
- private static final long ONE_BILLION_L = 1000000000L;
- private static final double ONE_BILLION_D = 1000000000.0;
-
- private static final String NAME = "name"; //$NON-NLS-1$
- private static final String FREQ = "freq"; //$NON-NLS-1$
- private static final String OFFSET = "offset"; //$NON-NLS-1$
-
- private long fClockOffset = 0;
- private double fClockScale = 1.0;
- private double fClockAntiScale = 1.0;
-
- /**
- * Field properties.
- */
- private final Map<String, Object> fProperties = new HashMap<>();
- /**
- * Field name.
- */
- private String fName;
- private boolean fIsScaled = false;
-
- /**
- * Default constructor
- */
- public CTFClock() {
- }
-
- /**
- * Method addAttribute.
- *
- * @param key
- * String
- * @param value
- * Object
- */
- public void addAttribute(String key, Object value) {
- fProperties.put(key, value);
- if (key.equals(NAME)) {
- fName = (String) value;
- }
- if (key.equals(FREQ)) {
- /*
- * Long is converted to a double. the double is then dividing
- * another double that double is saved. this is precise as long as
- * the long is under 53 bits long. this is ok as long as we don't
- * have a system with a frequency of > 1 600 000 000 GHz with
- * 200 ppm precision
- */
- fIsScaled = !((Long) getProperty(FREQ)).equals(ONE_BILLION_L);
- fClockScale = ONE_BILLION_D / ((Long) getProperty(FREQ)).doubleValue();
- fClockAntiScale = 1.0 / fClockScale;
-
- }
- if (key.equals(OFFSET)) {
- fClockOffset = (Long) getProperty(OFFSET);
- }
- }
-
- /**
- * Method getName.
- *
- * @return String
- */
- public String getName() {
- return fName;
- }
-
- /**
- * Method getProperty.
- *
- * @param key
- * String
- * @return Object
- */
- public Object getProperty(String key) {
- return fProperties.get(key);
- }
-
- /**
- * @return the clockOffset
- * @since 2.0
- */
- public long getClockOffset() {
- return fClockOffset;
- }
-
- /**
- * @return the clockScale
- * @since 2.0
- */
- public double getClockScale() {
- return fClockScale;
- }
-
- /**
- * @return the clockAntiScale
- * @since 2.0
- */
- public double getClockAntiScale() {
- return fClockAntiScale;
- }
-
- /**
- * @return is the clock in ns or cycles?
- * @since 2.0
- */
- public boolean isClockScaled() {
- return fIsScaled;
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/ctf/core/event/EventDefinition.java b/lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/ctf/core/event/EventDefinition.java
deleted file mode 100644
index f2fb8ca885..0000000000
--- a/lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/ctf/core/event/EventDefinition.java
+++ /dev/null
@@ -1,299 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011-2013 Ericsson, Ecole Polytechnique de Montreal and others
- *
- * 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: Matthew Khouzam - Initial API and implementation
- * Contributors: Simon Marchi - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.ctf.core.event;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.jdt.annotation.NonNull;
-import org.eclipse.linuxtools.ctf.core.event.scope.IDefinitionScope;
-import org.eclipse.linuxtools.ctf.core.event.scope.LexicalScope;
-import org.eclipse.linuxtools.ctf.core.event.types.Definition;
-import org.eclipse.linuxtools.ctf.core.event.types.StructDeclaration;
-import org.eclipse.linuxtools.ctf.core.event.types.StructDefinition;
-import org.eclipse.linuxtools.ctf.core.trace.CTFStreamInputReader;
-import org.eclipse.linuxtools.internal.ctf.core.event.EventDeclaration;
-
-import com.google.common.collect.ImmutableList;
-import com.google.common.collect.ImmutableList.Builder;
-
-/**
- * Representation of a particular instance of an event.
- */
-public final class EventDefinition implements IDefinitionScope {
-
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
-
- /**
- * A null event, can be used for testing or poison pilling
- *
- * @since 3.0
- */
- @NonNull
- public static final EventDefinition NULL_EVENT = new EventDefinition(new EventDeclaration(), null, -1L, null, null, null, null);
-
- /**
- * The corresponding event declaration.
- */
- private final IEventDeclaration fDeclaration;
-
- /**
- * The timestamp of the current event.
- */
- private final long fTimestamp;
-
- /**
- * The event context structure definition.
- */
- private final StructDefinition fEventContext;
-
- private final StructDefinition fStreamContext;
-
- private final StructDefinition fPacketContext;
-
- /**
- * The event fields structure definition.
- */
- private final StructDefinition fFields;
-
- /**
- * The StreamInputReader that reads this event definition.
- */
- private final CTFStreamInputReader fStreamInputReader;
-
- // ------------------------------------------------------------------------
- // Constructors
- // ------------------------------------------------------------------------
-
- /**
- * Constructs an event definition.
- *
- * @param declaration
- * The corresponding event declaration
- * @param streamInputReader
- * The SIR from where this EventDef was read
- * @param timestamp
- * event timestamp
- * @param eventContext
- * The event context
- * @param packetContext
- * the packet context
- * @param streamContext
- * the stream context
- * @param fields
- * The event fields
- * @since 3.0
- */
- public EventDefinition(IEventDeclaration declaration,
- CTFStreamInputReader streamInputReader,
- long timestamp,
- StructDefinition streamContext,
- StructDefinition eventContext,
- StructDefinition packetContext,
- StructDefinition fields) {
- fDeclaration = declaration;
- fStreamInputReader = streamInputReader;
- fTimestamp = timestamp;
- fFields = fields;
- fEventContext = eventContext;
- fPacketContext = packetContext;
- fStreamContext = streamContext;
- }
-
- // ------------------------------------------------------------------------
- // Getters/Setters/Predicates
- // ------------------------------------------------------------------------
-
- /**
- * @since 3.0
- */
- @Override
- public LexicalScope getScopePath() {
- String eventName = fDeclaration.getName();
- if (eventName == null) {
- return null;
- }
- LexicalScope myScope = LexicalScope.EVENT.getChild(eventName);
- if (myScope == null) {
- myScope = new LexicalScope(LexicalScope.EVENT, eventName);
- }
- return myScope;
- }
-
- /**
- * Gets the declaration (the form) of the data
- *
- * @return the event declaration
- * @since 2.0
- */
- public IEventDeclaration getDeclaration() {
- return fDeclaration;
- }
-
- /**
- * Gets the fields of a definition
- *
- * @return the fields of a definition in struct form. Can be null.
- */
- public StructDefinition getFields() {
- return fFields;
- }
-
- /**
- * Gets the context of this event without the context of the stream
- *
- * @return the context in struct form
- * @since 1.2
- */
- public StructDefinition getEventContext() {
- return fEventContext;
- }
-
- /**
- * Gets the context of this event within a stream
- *
- * @return the context in struct form
- */
- public StructDefinition getContext() {
-
- /* Most common case so far */
- if (fStreamContext == null) {
- return fEventContext;
- }
-
- /* streamContext is not null, but the context of the event is null */
- if (fEventContext == null) {
- return fStreamContext;
- }
-
- // TODO: cache if this is a performance issue
-
- /* The stream context and event context are assigned. */
- StructDeclaration mergedDeclaration = new StructDeclaration(1);
-
- Builder<String> builder = ImmutableList.<String> builder();
- List<Definition> fieldValues = new ArrayList<>();
-
- /* Add fields from the stream */
- for (String fieldName : fStreamContext.getFieldNames()) {
- Definition definition = fStreamContext.getDefinition(fieldName);
- mergedDeclaration.addField(fieldName, definition.getDeclaration());
- builder.add(fieldName);
- fieldValues.add(definition);
- }
-
- ImmutableList<String> fieldNames = builder.build();
- /*
- * Add fields from the event context, overwrite the stream ones if
- * needed.
- */
- for (String fieldName : fEventContext.getFieldNames()) {
- Definition definition = fEventContext.getDefinition(fieldName);
- mergedDeclaration.addField(fieldName, definition.getDeclaration());
- if (fieldNames.contains(fieldName)) {
- fieldValues.set((fieldNames.indexOf(fieldName)), definition);
- } else {
- builder.add(fieldName);
- fieldValues.add(definition);
- }
- }
- fieldNames = builder.build();
- StructDefinition mergedContext = new StructDefinition(mergedDeclaration, this, "context", //$NON-NLS-1$
- fieldNames,
- fieldValues.toArray(new Definition[fieldValues.size()]));
- return mergedContext;
- }
-
- /**
- * Gets the stream input reader that this event was made by
- *
- * @return the parent
- * @since 3.0
- */
- public CTFStreamInputReader getStreamInputReader() {
- return fStreamInputReader;
- }
-
- /**
- * Gets the context of packet the event is in.
- *
- * @return the packet context
- */
- public StructDefinition getPacketContext() {
- return fPacketContext;
- }
-
- /**
- * gets the CPU the event was generated by. Slightly LTTng specific
- *
- * @return The CPU the event was generated by
- */
- public int getCPU() {
- return fStreamInputReader.getCPU();
- }
-
- /**
- * @return the timestamp
- */
- public long getTimestamp() {
- return fTimestamp;
- }
-
- // ------------------------------------------------------------------------
- // Operations
- // ------------------------------------------------------------------------
-
- @Override
- public Definition lookupDefinition(String lookupPath) {
- if (lookupPath.equals("context")) { //$NON-NLS-1$
- return fEventContext;
- } else if (lookupPath.equals("fields")) { //$NON-NLS-1$
- return fFields;
- } else {
- return null;
- }
- }
-
- @Override
- public String toString() {
- Iterable<String> list;
- StringBuilder retString = new StringBuilder();
- final String cr = System.getProperty("line.separator");//$NON-NLS-1$
-
- retString.append("Event type: " + fDeclaration.getName() + cr); //$NON-NLS-1$
- retString.append("Timestamp: " + Long.toString(fTimestamp) + cr); //$NON-NLS-1$
-
- if (fEventContext != null) {
- list = fEventContext.getDeclaration().getFieldsList();
-
- for (String field : list) {
- retString.append(field
- + " : " + fEventContext.getDefinition(field).toString() + cr); //$NON-NLS-1$
- }
- }
-
- if (fFields != null) {
- list = fFields.getDeclaration().getFieldsList();
-
- for (String field : list) {
- retString.append(field
- + " : " + fFields.getDefinition(field).toString() + cr); //$NON-NLS-1$
- }
- }
-
- return retString.toString();
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/ctf/core/event/IEventDeclaration.java b/lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/ctf/core/event/IEventDeclaration.java
deleted file mode 100644
index 6107114716..0000000000
--- a/lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/ctf/core/event/IEventDeclaration.java
+++ /dev/null
@@ -1,111 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011-2013 Ericsson, Ecole Polytechnique de Montreal and others
- *
- * 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: Matthew Khouzam - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.ctf.core.event;
-
-import java.util.Set;
-
-import org.eclipse.jdt.annotation.NonNull;
-import org.eclipse.linuxtools.ctf.core.event.io.BitBuffer;
-import org.eclipse.linuxtools.ctf.core.event.types.StructDeclaration;
-import org.eclipse.linuxtools.ctf.core.trace.CTFReaderException;
-import org.eclipse.linuxtools.ctf.core.trace.CTFStream;
-import org.eclipse.linuxtools.ctf.core.trace.CTFStreamInputReader;
-
-/**
- * Representation of one type of event. A bit like "int" or "long" but for trace
- * events.
- *
- * @author Matthew Khouzam
- * @since 2.0
- */
-public interface IEventDeclaration {
-
- /**
- * Creates an instance of EventDefinition corresponding to this declaration.
- *
- * @param streamInputReader
- * The StreamInputReader for which this definition is created.
- * @param input
- * the bitbuffer input source
- * @param timestamp
- * The timestamp when the event was taken
- * @return A new EventDefinition.
- * @throws CTFReaderException
- * As a bitbuffer is used to read, it could have wrapped
- * IOExceptions.
- * @since 3.0
- */
- EventDefinition createDefinition(CTFStreamInputReader streamInputReader, @NonNull BitBuffer input, long timestamp) throws CTFReaderException;
-
- /**
- * Gets the name of an event declaration
- *
- * @return the name
- */
- String getName();
-
- /**
- * Gets the fields of an event declaration
- *
- * @return fields the fields in {@link StructDeclaration} format
- */
- StructDeclaration getFields();
-
- /**
- * Gets the context of an event declaration
- *
- * @return context the fields in {@link StructDeclaration} format
- */
- StructDeclaration getContext();
-
- /**
- * Gets the id of an event declaration
- *
- * @return The EventDeclaration ID
- */
- Long getId();
-
- /**
- * Gets the {@link CTFStream} of an event declaration
- *
- * @return the stream
- * @since 3.0
- */
- CTFStream getStream();
-
- /**
- * What is the log level of this event?
- *
- * @return the log level.
- * @since 2.0
- */
- long getLogLevel();
-
- /**
- * Get the {@link Set} of names of the custom CTF attributes.
- *
- * @return The set of custom attributes
- * @since 2.0
- */
- Set<String> getCustomAttributes();
-
- /**
- * Get the value of a given CTF attribute.
- *
- * @param key
- * The CTF attribute name
- * @return the CTF attribute
- * @since 2.0
- */
- String getCustomAttribute(String key);
-
-}
diff --git a/lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/ctf/core/event/io/BitBuffer.java b/lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/ctf/core/event/io/BitBuffer.java
deleted file mode 100644
index 0556371273..0000000000
--- a/lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/ctf/core/event/io/BitBuffer.java
+++ /dev/null
@@ -1,687 +0,0 @@
-/*******************************************************************************.
- * Copyright (c) 2011, 2014 Ericsson, Ecole Polytechnique de Montreal and others
- *
- * 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:
- * Matthew Khouzam - Initial Design and implementation + overhaul
- * Francis Giraldeau - Initial API and implementation
- * Philippe Proulx - Some refinement and optimization
- * Etienne Bergeron <Etienne.Bergeron@gmail.com> - fix zero size read + cleanup
- *******************************************************************************/
-
-package org.eclipse.linuxtools.ctf.core.event.io;
-
-import java.nio.BufferUnderflowException;
-import java.nio.ByteBuffer;
-import java.nio.ByteOrder;
-
-import org.eclipse.jdt.annotation.NonNull;
-import org.eclipse.linuxtools.ctf.core.trace.CTFReaderException;
-
-/**
- * <b><u>BitBuffer</u></b>
- * <p>
- * A bitwise buffer capable of accessing fields with bit offsets.
- *
- * @since 2.0
- */
-public final class BitBuffer {
-
- // ------------------------------------------------------------------------
- // Constants
- // ------------------------------------------------------------------------
-
- /* default bit width */
- /** 8 bits to a char */
- public static final int BIT_CHAR = 8;
- /** 16 bits to a short */
- public static final int BIT_SHORT = 16;
- /** 32 bits to an int */
- public static final int BIT_INT = 32;
- /** 32 bits to a float */
- public static final int BIT_FLOAT = 32;
- /** 64 bits to a long */
- public static final int BIT_LONG = 64;
-
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
-
- private final @NonNull ByteBuffer fBuffer;
- private final long fBitCapacity;
-
- /**
- * Bit-buffer's position, maximum value = Integer.MAX_VALUE * 8
- */
- private long fPosition;
- private ByteOrder fByteOrder;
-
- // ------------------------------------------------------------------------
- // Constructors
- // ------------------------------------------------------------------------
- /**
- * Default constructor, makes a big-endian buffer
- */
- @SuppressWarnings("null")
- public BitBuffer() {
- this(ByteBuffer.allocateDirect(0), ByteOrder.BIG_ENDIAN);
- }
-
- /**
- * Constructor, makes a big-endian buffer
- *
- * @param buf
- * the bytebuffer to read
- */
- public BitBuffer(@NonNull ByteBuffer buf) {
- this(buf, ByteOrder.BIG_ENDIAN);
- }
-
- /**
- * Constructor that is fully parameterizable
- *
- * @param buf
- * the buffer to read
- * @param order
- * the byte order (big-endian, little-endian, network?)
- */
- public BitBuffer(@NonNull ByteBuffer buf, ByteOrder order) {
- fBuffer = buf;
- setByteOrder(order);
- resetPosition();
- fBitCapacity = fBuffer.capacity() * BIT_CHAR;
- }
-
- private void resetPosition() {
- fPosition = 0;
- }
-
- // ------------------------------------------------------------------------
- // 'Get' operations on buffer
- // ------------------------------------------------------------------------
-
- /**
- * Relative <i>get</i> method for reading 32-bit integer.
- *
- * Reads next four bytes from the current bit position according to current
- * byte order.
- *
- * @return The int value (signed) read from the buffer
- * @throws CTFReaderException
- * An error occurred reading the long. This exception can be
- * raised if the buffer tries to read out of bounds
- */
- public int getInt() throws CTFReaderException {
- return getInt(BIT_INT, true);
- }
-
- /**
- * Relative <i>get</i> method for reading 64-bit integer.
- *
- * Reads next eight bytes from the current bit position according to current
- * byte order.
- *
- * @return The long value (signed) read from the buffer
- * @throws CTFReaderException
- * An error occurred reading the long. This exception can be
- * raised if the buffer tries to read out of bounds
- * @since 3.0
- */
- public long getLong() throws CTFReaderException {
- return get(BIT_LONG, true);
- }
-
- /**
- * Relative <i>get</i> method for reading long of <i>length</i> bits.
- *
- * Reads <i>length</i> bits starting at the current position. The result is
- * signed extended if <i>signed</i> is true. The current position is
- * increased of <i>length</i> bits.
- *
- * @param length
- * The length in bits of this integer
- * @param signed
- * The sign extended flag
- * @return The long value read from the buffer
- * @throws CTFReaderException
- * An error occurred reading the data. If more than 64 bits at a
- * time are read, or the buffer is read beyond its end, this
- * exception will be raised.
- * @since 3.0
- */
- public long get(int length, boolean signed) throws CTFReaderException {
- if (length > BIT_LONG) {
- throw new CTFReaderException("Cannot read a long longer than 64 bits. Rquested: " + length); //$NON-NLS-1$
- }
- if (length > BIT_INT) {
- final int highShift = length - BIT_INT;
- long a = getInt();
- long b = getInt(highShift, false);
- long retVal;
- /* Cast the signed-extended int into a unsigned int. */
- a &= 0xFFFFFFFFL;
- b &= (1L << highShift) - 1L;
-
- retVal = (fByteOrder == ByteOrder.BIG_ENDIAN) ? ((a << highShift) | b) : ((b << BIT_INT) | a);
- /* sign extend */
- if (signed) {
- int signExtendBits = BIT_LONG - length;
- retVal = (retVal << signExtendBits) >> signExtendBits;
- }
- return retVal;
- }
- long retVal = getInt(length, signed);
- return (signed ? retVal : (retVal & 0xFFFFFFFFL));
- }
-
- /**
- * Relative bulk <i>get</i> method.
- *
- * <p>
- * This method transfers <strong>bytes</strong> from this buffer into the
- * given destination array. This method currently only supports reads
- * aligned to 8 bytes. It is up to the developer to shift the bits in
- * post-processing to do unaligned reads.
- *
- * @param dst
- * the bytes to write to
- * @throws BufferUnderflowException
- * - If there are fewer than length bytes remaining in this
- * buffer
- * @since 3.1
- */
- public void get(@NonNull byte[] dst) {
- fBuffer.position((int) (fPosition / 8));
- fBuffer.get(dst);
- fPosition += dst.length * 8;
- }
-
- /**
- * Relative <i>get</i> method for reading integer of <i>length</i> bits.
- *
- * Reads <i>length</i> bits starting at the current position. The result is
- * signed extended if <i>signed</i> is true. The current position is
- * increased of <i>length</i> bits.
- *
- * @param length
- * The length in bits of this integer
- * @param signed
- * The sign extended flag
- * @return The int value read from the buffer
- * @throws CTFReaderException
- * An error occurred reading the data. When the buffer is read
- * beyond its end, this exception will be raised.
- */
- private int getInt(int length, boolean signed) throws CTFReaderException {
-
- /* Nothing to read. */
- if (length == 0) {
- return 0;
- }
-
- /* Validate that the buffer has enough bits. */
- if (!canRead(length)) {
- throw new CTFReaderException("Cannot read the integer, " + //$NON-NLS-1$
- "the buffer does not have enough remaining space. " + //$NON-NLS-1$
- "Requested:" + length); //$NON-NLS-1$
- }
-
- /* Get the value from the byte buffer. */
- int val = 0;
- boolean gotIt = false;
-
- /*
- * Try a fast read when the position is byte-aligned by using
- * java.nio.ByteBuffer's native methods
- */
- /*
- * A faster alignment detection as the compiler cannot guaranty that pos
- * is always positive.
- */
- if ((fPosition & (BitBuffer.BIT_CHAR - 1)) == 0) {
- switch (length) {
- case BitBuffer.BIT_CHAR:
- // Byte
- val = fBuffer.get((int) (fPosition / 8));
- if (!signed) {
- val = val & 0xff;
- }
- gotIt = true;
- break;
-
- case BitBuffer.BIT_SHORT:
- // Word
- val = fBuffer.getShort((int) (fPosition / 8));
- if (!signed) {
- val = val & 0xffff;
- }
- gotIt = true;
- break;
-
- case BitBuffer.BIT_INT:
- // Double word
- val = fBuffer.getInt((int) (fPosition / 8));
- gotIt = true;
- break;
-
- default:
- break;
- }
- }
-
- /* When not byte-aligned, fall-back to a general decoder. */
- if (!gotIt) {
- // Nothing read yet: use longer methods
- if (fByteOrder == ByteOrder.LITTLE_ENDIAN) {
- val = getIntLE(fPosition, length, signed);
- } else {
- val = getIntBE(fPosition, length, signed);
- }
- }
- fPosition += length;
-
- return val;
- }
-
- private int getIntBE(long index, int length, boolean signed) {
- if ((length <= 0) || (length > BIT_INT)) {
- throw new IllegalArgumentException("Length must be between 1-32 bits"); //$NON-NLS-1$
- }
- long end = index + length;
- int startByte = (int) (index / BIT_CHAR);
- int endByte = (int) ((end + (BIT_CHAR - 1)) / BIT_CHAR);
- int currByte, lshift, cshift, mask, cmask, cache;
- int value = 0;
-
- currByte = startByte;
- cache = fBuffer.get(currByte) & 0xFF;
- boolean isNeg = (cache & (1 << (BIT_CHAR - (index % BIT_CHAR) - 1))) != 0;
- if (signed && isNeg) {
- value = ~0;
- }
- if (startByte == (endByte - 1)) {
- cmask = cache >>> ((BIT_CHAR - (end % BIT_CHAR)) % BIT_CHAR);
- if (((length) % BIT_CHAR) > 0) {
- mask = ~((~0) << length);
- cmask &= mask;
- }
- value <<= length;
- value |= cmask;
- return value;
- }
- cshift = (int) (index % BIT_CHAR);
- if (cshift > 0) {
- mask = ~((~0) << (BIT_CHAR - cshift));
- cmask = cache & mask;
- lshift = BIT_CHAR - cshift;
- value <<= lshift;
- value |= cmask;
- currByte++;
- }
- for (; currByte < (endByte - 1); currByte++) {
- value <<= BIT_CHAR;
- value |= fBuffer.get(currByte) & 0xFF;
- }
- lshift = (int) (end % BIT_CHAR);
- if (lshift > 0) {
- mask = ~((~0) << lshift);
- cmask = fBuffer.get(currByte) & 0xFF;
- cmask >>>= BIT_CHAR - lshift;
- cmask &= mask;
- value <<= lshift;
- value |= cmask;
- } else {
- value <<= BIT_CHAR;
- value |= fBuffer.get(currByte) & 0xFF;
- }
- return value;
- }
-
- private int getIntLE(long index, int length, boolean signed) {
- if ((length <= 0) || (length > BIT_INT)) {
- throw new IllegalArgumentException("Length must be between 1-32 bits"); //$NON-NLS-1$
- }
- long end = index + length;
- int startByte = (int) (index / BIT_CHAR);
- int endByte = (int) ((end + (BIT_CHAR - 1)) / BIT_CHAR);
- int currByte, lshift, cshift, mask, cmask, cache, mod;
- int value = 0;
-
- currByte = endByte - 1;
- cache = fBuffer.get(currByte) & 0xFF;
- mod = (int) (end % BIT_CHAR);
- lshift = (mod > 0) ? mod : BIT_CHAR;
- boolean isNeg = (cache & (1 << (lshift - 1))) != 0;
- if (signed && isNeg) {
- value = ~0;
- }
- if (startByte == (endByte - 1)) {
- cmask = cache >>> (index % BIT_CHAR);
- if (((length) % BIT_CHAR) > 0) {
- mask = ~((~0) << length);
- cmask &= mask;
- }
- value <<= length;
- value |= cmask;
- return value;
- }
- cshift = (int) (end % BIT_CHAR);
- if (cshift > 0) {
- mask = ~((~0) << cshift);
- cmask = cache & mask;
- value <<= cshift;
- value |= cmask;
- currByte--;
- }
- for (; currByte >= (startByte + 1); currByte--) {
- value <<= BIT_CHAR;
- value |= fBuffer.get(currByte) & 0xFF;
- }
- lshift = (int) (index % BIT_CHAR);
- if (lshift > 0) {
- mask = ~((~0) << (BIT_CHAR - lshift));
- cmask = fBuffer.get(currByte) & 0xFF;
- cmask >>>= lshift;
- cmask &= mask;
- value <<= (BIT_CHAR - lshift);
- value |= cmask;
- } else {
- value <<= BIT_CHAR;
- value |= fBuffer.get(currByte) & 0xFF;
- }
- return value;
- }
-
- // ------------------------------------------------------------------------
- // 'Put' operations on buffer
- // ------------------------------------------------------------------------
-
- /**
- * Relative <i>put</i> method to write signed 32-bit integer.
- *
- * Write four bytes starting from current bit position in the buffer
- * according to the current byte order. The current position is increased of
- * <i>length</i> bits.
- *
- * @param value
- * The int value to write
- * @throws CTFReaderException
- * An error occurred writing the data. If the buffer is written
- * beyond its end, this exception will be raised.
- */
- public void putInt(int value) throws CTFReaderException {
- putInt(BIT_INT, value);
- }
-
- /**
- * Relative <i>put</i> method to write <i>length</i> bits integer.
- *
- * Writes <i>length</i> lower-order bits from the provided <i>value</i>,
- * starting from current bit position in the buffer. Sequential bytes are
- * written according to the current byte order. The sign bit is carried to
- * the MSB if signed is true. The sign bit is included in <i>length</i>. The
- * current position is increased of <i>length</i>.
- *
- * @param length
- * The number of bits to write
- * @param value
- * The value to write
- * @throws CTFReaderException
- * An error occurred writing the data. If the buffer is written
- * beyond its end, this exception will be raised.
- */
- public void putInt(int length, int value) throws CTFReaderException {
- final long curPos = fPosition;
-
- if (!canRead(length)) {
- throw new CTFReaderException("Cannot write to bitbuffer, " //$NON-NLS-1$
- + "insufficient space. Requested: " + length); //$NON-NLS-1$
- }
- if (length == 0) {
- return;
- }
- if (fByteOrder == ByteOrder.LITTLE_ENDIAN) {
- putIntLE(curPos, length, value);
- } else {
- putIntBE(curPos, length, value);
- }
- fPosition += length;
- }
-
- private void putIntBE(long index, int length, int value) {
- if ((length <= 0) || (length > BIT_INT)) {
- throw new IllegalArgumentException("Length must be between 1-32 bits"); //$NON-NLS-1$
- }
- long end = index + length;
- int startByte = (int) (index / BIT_CHAR);
- int endByte = (int) ((end + (BIT_CHAR - 1)) / BIT_CHAR);
- int currByte, lshift, cshift, mask, cmask;
- int correctedValue = value;
-
- /*
- * mask v high bits. Works for unsigned and two complement signed
- * numbers which value do not overflow on length bits.
- */
-
- if (length < BIT_INT) {
- correctedValue &= ~(~0 << length);
- }
-
- /* sub byte */
- if (startByte == (endByte - 1)) {
- lshift = (int) ((BIT_CHAR - (end % BIT_CHAR)) % BIT_CHAR);
- mask = ~((~0) << lshift);
- if ((index % BIT_CHAR) > 0) {
- mask |= (~(0)) << (BIT_CHAR - (index % BIT_CHAR));
- }
- cmask = correctedValue << lshift;
- /*
- * low bits are cleared because of left-shift and high bits are
- * already cleared
- */
- cmask &= ~mask;
- int b = fBuffer.get(startByte) & 0xFF;
- fBuffer.put(startByte, (byte) ((b & mask) | cmask));
- return;
- }
-
- /* head byte contains MSB */
- currByte = endByte - 1;
- cshift = (int) (end % BIT_CHAR);
- if (cshift > 0) {
- lshift = BIT_CHAR - cshift;
- mask = ~((~0) << lshift);
- cmask = correctedValue << lshift;
- cmask &= ~mask;
- int b = fBuffer.get(currByte) & 0xFF;
- fBuffer.put(currByte, (byte) ((b & mask) | cmask));
- correctedValue >>>= cshift;
- currByte--;
- }
-
- /* middle byte(s) */
- for (; currByte >= (startByte + 1); currByte--) {
- fBuffer.put(currByte, (byte) correctedValue);
- correctedValue >>>= BIT_CHAR;
- }
- /* end byte contains LSB */
- if ((index % BIT_CHAR) > 0) {
- mask = (~0) << (BIT_CHAR - (index % BIT_CHAR));
- cmask = correctedValue & ~mask;
- int b = fBuffer.get(currByte) & 0xFF;
- fBuffer.put(currByte, (byte) ((b & mask) | cmask));
- } else {
- fBuffer.put(currByte, (byte) correctedValue);
- }
- }
-
- private void putIntLE(long index, int length, int value) {
- if ((length <= 0) || (length > BIT_INT)) {
- throw new IllegalArgumentException("Length must be between 1-32 bits"); //$NON-NLS-1$
- }
- long end = index + length;
- int startByte = (int) (index / BIT_CHAR);
- int endByte = (int) ((end + (BIT_CHAR - 1)) / BIT_CHAR);
- int currByte, lshift, cshift, mask, cmask;
- int correctedValue = value;
-
- /*
- * mask v high bits. Works for unsigned and two complement signed
- * numbers which value do not overflow on length bits.
- */
-
- if (length < BIT_INT) {
- correctedValue &= ~(~0 << length);
- }
-
- /* sub byte */
- if (startByte == (endByte - 1)) {
- lshift = (int) (index % BIT_CHAR);
- mask = ~((~0) << lshift);
- if ((end % BIT_CHAR) > 0) {
- mask |= (~(0)) << (end % BIT_CHAR);
- }
- cmask = correctedValue << lshift;
- /*
- * low bits are cleared because of left-shift and high bits are
- * already cleared
- */
- cmask &= ~mask;
- int b = fBuffer.get(startByte) & 0xFF;
- fBuffer.put(startByte, (byte) ((b & mask) | cmask));
- return;
- }
-
- /* head byte */
- currByte = startByte;
- cshift = (int) (index % BIT_CHAR);
- if (cshift > 0) {
- mask = ~((~0) << cshift);
- cmask = correctedValue << cshift;
- cmask &= ~mask;
- int b = fBuffer.get(currByte) & 0xFF;
- fBuffer.put(currByte, (byte) ((b & mask) | cmask));
- correctedValue >>>= BIT_CHAR - cshift;
- currByte++;
- }
-
- /* middle byte(s) */
- for (; currByte < (endByte - 1); currByte++) {
- fBuffer.put(currByte, (byte) correctedValue);
- correctedValue >>>= BIT_CHAR;
- }
- /* end byte */
- if ((end % BIT_CHAR) > 0) {
- mask = (~0) << (end % BIT_CHAR);
- cmask = correctedValue & ~mask;
- int b = fBuffer.get(currByte) & 0xFF;
- fBuffer.put(currByte, (byte) ((b & mask) | cmask));
- } else {
- fBuffer.put(currByte, (byte) correctedValue);
- }
- }
-
- // ------------------------------------------------------------------------
- // Buffer attributes handling
- // ------------------------------------------------------------------------
-
- /**
- * Can this buffer be read for thus amount of bits?
- *
- * @param length
- * the length in bits to read
- * @return does the buffer have enough room to read the next "length"
- */
- public boolean canRead(int length) {
- return ((fPosition + length) <= fBitCapacity);
- }
-
- /**
- * Sets the order of the buffer.
- *
- * @param order
- * The order of the buffer.
- */
- public void setByteOrder(ByteOrder order) {
- fByteOrder = order;
- fBuffer.order(order);
- }
-
- /**
- * Sets the order of the buffer.
- *
- * @return The order of the buffer.
- */
- public ByteOrder getByteOrder() {
- return fByteOrder;
- }
-
- /**
- * Sets the position in the buffer.
- *
- * @param newPosition
- * The new position of the buffer.
- * @throws CTFReaderException
- * Thrown on out of bounds exceptions
- * @since 3.0
- */
- public void position(long newPosition) throws CTFReaderException {
-
-
- if (newPosition > fBitCapacity) {
- throw new CTFReaderException("Out of bounds exception on a position move, attempting to access position: " + newPosition); //$NON-NLS-1$
- }
- fPosition = newPosition;
- }
-
- /**
- *
- * Sets the position in the buffer.
- *
- * @return order The position of the buffer.
- * @since 3.0
- */
- public long position() {
- return fPosition;
- }
-
- /**
- * Sets the byte buffer
- *
- * @param buf
- * the byte buffer
- */
- @Deprecated
- public void setByteBuffer(ByteBuffer buf) {
- /*
- * to avoid "The method setByteBuffer(ByteBuffer) from the type
- * BitBuffer can be declared as static"
- */
- long data = fPosition;
- fPosition = data;
- throw new UnsupportedOperationException("Bytebuffers are now final"); //$NON-NLS-1$
-
- }
-
- /**
- * Gets the byte buffer
- *
- * @return The byte buffer
- */
- public ByteBuffer getByteBuffer() {
- return fBuffer;
- }
-
- /**
- * Resets the bitbuffer.
- */
- public void clear() {
- resetPosition();
- fBuffer.clear();
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/ctf/core/event/scope/EventHeaderScope.java b/lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/ctf/core/event/scope/EventHeaderScope.java
deleted file mode 100644
index e5d3d89855..0000000000
--- a/lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/ctf/core/event/scope/EventHeaderScope.java
+++ /dev/null
@@ -1,67 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 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:
- * Matthew Khouzam - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.ctf.core.event.scope;
-
-import org.eclipse.jdt.annotation.NonNullByDefault;
-import org.eclipse.jdt.annotation.Nullable;
-
-/**
- * A lttng specific speedup node (the packet header with ID and V) of a lexical
- * scope
- *
- * @author Matthew Khouzam
- * @since 3.1
- */
-@NonNullByDefault
-public class EventHeaderScope extends LexicalScope {
-
- /**
- * Event header id string
- */
- public static final LexicalScope EVENT_HEADER_ID = new LexicalScope(EVENT_HEADER, "id"); //$NON-NLS-1$
-
- /**
- * Event header v as in variant string
- */
- public static final LexicalScope EVENT_HEADER_V = new EventHeaderVScope(EVENT_HEADER, "v"); //$NON-NLS-1$
-
- /**
- * The scope constructor
- *
- * @param parent
- * The parent node, can be null, but shouldn't
- * @param name
- * the name of the field
- */
- public EventHeaderScope(LexicalScope parent, String name) {
- super(parent, name);
- }
-
- @Override
- @Nullable
- public LexicalScope getChild(String name) {
- if (name.equals(EVENT_HEADER_ID.getName())) {
- return EVENT_HEADER_ID;
- }
- if (name.equals(EVENT_HEADER_V.getName())) {
- return EVENT_HEADER_V;
- }
- return super.getChild(name);
- }
-
- @Override
- public String toString() {
- return "event.header"; //$NON-NLS-1$
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/ctf/core/event/scope/EventHeaderVScope.java b/lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/ctf/core/event/scope/EventHeaderVScope.java
deleted file mode 100644
index 7b213c2caa..0000000000
--- a/lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/ctf/core/event/scope/EventHeaderVScope.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 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:
- * Matthew Khouzam - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.ctf.core.event.scope;
-
-import org.eclipse.jdt.annotation.NonNullByDefault;
-import org.eclipse.jdt.annotation.Nullable;
-
-/**
- * A lttng specific speedup node (v variant for event headers) of a lexical
- * scope they normally contain a timestamp
- *
- * @author Matthew Khouzam
- * @since 3.1
- */
-@NonNullByDefault
-public class EventHeaderVScope extends LexicalScope {
-
- /**
- * Packet header v id string
- */
- public static final LexicalScope PACKET_HEADER_V_ID = new LexicalScope(PACKET_HEADER, "id"); //$NON-NLS-1$
- /**
- * Packet header v timestamp string
- */
- public static final LexicalScope PACKET_HEADER_V_TIMESTAMP = new LexicalScope(PACKET_HEADER, "timestamp"); //$NON-NLS-1$
-
- /**
- * The scope constructor
- *
- * @param parent
- * The parent node, can be null, but shouldn't
- * @param name
- * the name of the field
- */
- public EventHeaderVScope(LexicalScope parent, String name) {
- super(parent, name);
- }
-
- @Override
- @Nullable
- public LexicalScope getChild(String name) {
- if (name.equals(PACKET_HEADER_V_TIMESTAMP.getName())) {
- return PACKET_HEADER_V_TIMESTAMP;
- }
- if (name.equals(PACKET_HEADER_V_ID.getName())) {
- return PACKET_HEADER_V_ID;
- }
- return super.getChild(name);
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/ctf/core/event/scope/FieldsScope.java b/lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/ctf/core/event/scope/FieldsScope.java
deleted file mode 100644
index 1740cd7bc8..0000000000
--- a/lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/ctf/core/event/scope/FieldsScope.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 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:
- * Matthew Khouzam - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.ctf.core.event.scope;
-
-import org.eclipse.jdt.annotation.NonNullByDefault;
-import org.eclipse.jdt.annotation.Nullable;
-
-/**
- * A lttng specific speedup node field scope of a lexical scope
- *
- * @author Matthew Khouzam
- * @since 3.1
- */
-@NonNullByDefault
-public class FieldsScope extends LexicalScope {
-
- /**
- * ret field
- */
- public static final LexicalScope FIELDS_RET = new LexicalScope(FIELDS, "_ret"); //$NON-NLS-1$
-
- /**
- * tid field
- */
- public static final LexicalScope FIELDS_TID = new LexicalScope(FIELDS, "_tid"); //$NON-NLS-1$
-
- /**
- * The scope constructor
- *
- * @param parent
- * The parent node, can be null, but shouldn't
- * @param name
- * the name of the field
- */
- public FieldsScope(LexicalScope parent, String name) {
- super(parent, name);
- }
-
- @Override
- @Nullable
- public LexicalScope getChild(String name) {
- if (name.equals(FIELDS_RET.getName())) {
- return FIELDS_RET;
- }
- if (name.equals(FIELDS_TID.getName())) {
- return FIELDS_TID;
- }
- return super.getChild(name);
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/ctf/core/event/scope/IDefinitionScope.java b/lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/ctf/core/event/scope/IDefinitionScope.java
deleted file mode 100644
index 864a574a1e..0000000000
--- a/lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/ctf/core/event/scope/IDefinitionScope.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011, 2013 Ericsson, Ecole Polytechnique de Montreal and others
- *
- * 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: Matthew Khouzam - Initial API and implementation
- * Contributors: Simon Marchi - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.ctf.core.event.scope;
-
-import org.eclipse.linuxtools.ctf.core.event.types.Definition;
-
-/**
- * The scope of a CTF definition. Used for compound types.
- *
- * @version 1.0
- * @author Matthew Khouzam
- * @author Simon Marchi
- * @since 3.0
- */
-public interface IDefinitionScope {
-
- /**
- * Gets the path in a C style for the scope.
- *
- * @return the path
- * @since 3.0
- */
- LexicalScope getScopePath();
-
- /**
- * Looks up in this definition scope.
- *
- * @param lookupPath
- * The path to look up
- * @return The Definition that was read
- */
- // TODO: change to IDefintion
- Definition lookupDefinition(String lookupPath);
-}
diff --git a/lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/ctf/core/event/scope/LexicalScope.java b/lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/ctf/core/event/scope/LexicalScope.java
deleted file mode 100644
index 6eb9422de5..0000000000
--- a/lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/ctf/core/event/scope/LexicalScope.java
+++ /dev/null
@@ -1,291 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 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: Matthew Khouzam - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.ctf.core.event.scope;
-
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.Map;
-
-import org.eclipse.jdt.annotation.NonNull;
-import org.eclipse.jdt.annotation.NonNullByDefault;
-import org.eclipse.jdt.annotation.Nullable;
-
-import com.google.common.base.Joiner;
-
-/**
- * A node of a lexical scope
- *
- * @author Matthew Khouzam
- * @since 3.0
- */
-@NonNullByDefault
-public class LexicalScope implements Comparable<LexicalScope> {
- /**
- * Empty string
- *
- * @since 3.0
- */
- public static final LexicalScope ROOT = new RootScope();
-
- /**
- * Trace string
- *
- * @since 3.0
- */
- public static final LexicalScope TRACE = new LexicalScope(ROOT, "trace"); //$NON-NLS-1$
-
- /**
- * Env string
- *
- * @since 3.0
- */
- public static final LexicalScope ENV = new LexicalScope(ROOT, "env"); //$NON-NLS-1$
-
- /**
- * Stream string
- *
- * @since 3.0
- */
- public static final LexicalScope STREAM = new LexicalScope(ROOT, "stream"); //$NON-NLS-1$
-
- /**
- * Event string
- *
- * @since 3.0
- */
- public static final LexicalScope EVENT = new LexicalScope(ROOT, "event"); //$NON-NLS-1$
-
- /**
- * Variant string
- *
- * @since 3.0
- */
- public static final LexicalScope VARIANT = new LexicalScope(ROOT, "variant"); //$NON-NLS-1$
-
- /**
- * packet string
- *
- * @since 3.0
- */
- public static final LexicalScope PACKET = new LexicalScope(ROOT, "packet"); //$NON-NLS-1$
-
- /**
- * Packet header string
- *
- * @since 3.0
- *
- */
- public static final LexicalScope PACKET_HEADER = new PacketHeaderScope();
-
- /**
- * Stream packet scope
- *
- * @since 3.0
- */
- public static final LexicalScope STREAM_PACKET = new LexicalScope(STREAM, "packet"); //$NON-NLS-1$
-
- /**
- * Stream Packet header string
- *
- * @since 3.0
- */
- public static final LexicalScope STREAM_PACKET_CONTEXT = new LexicalScope(STREAM_PACKET, "context"); //$NON-NLS-1$
-
- /**
- * Trace packet scope
- *
- * @since 3.0
- */
- public static final LexicalScope TRACE_PACKET = new LexicalScope(TRACE, "packet"); //$NON-NLS-1$
-
- /**
- * Stream event scope
- *
- * @since 3.0
- */
- public static final LexicalScope STREAM_EVENT = new LexicalScope(STREAM, "event"); //$NON-NLS-1$
-
- /**
- * Trace packet header string
- *
- * @since 3.0
- */
- public static final LexicalScope TRACE_PACKET_HEADER = new LexicalScope(TRACE_PACKET, "header"); //$NON-NLS-1$
-
- /**
- * Stream event context
- *
- * @since 3.0
- */
- public static final LexicalScope STREAM_EVENT_CONTEXT = new LexicalScope(STREAM_EVENT, "context"); //$NON-NLS-1$
-
- /**
- * Stream event header
- *
- * @since 3.0
- */
- public static final LexicalScope STREAM_EVENT_HEADER = new LexicalScope(STREAM_EVENT, "header"); //$NON-NLS-1$
-
- /**
- * Event header
- *
- * @since 3.1
- */
- public static final LexicalScope EVENT_HEADER = new EventHeaderScope(EVENT, "header"); //$NON-NLS-1$
-
- /**
- * Fields in an event
- *
- * @since 3.0
- */
- public static final LexicalScope FIELDS = new FieldsScope(ROOT, "fields"); //$NON-NLS-1$
-
- /**
- * Context of an event
- *
- * @since 3.0
- */
- public static final LexicalScope CONTEXT = new LexicalScope(ROOT, "context"); //$NON-NLS-1$
-
- /**
- * Sorted list of parent paths
- *
- * @since 3.0
- */
- public static final LexicalScope[] PARENT_PATHS = {
- ROOT,
- CONTEXT,
- FIELDS,
- PACKET_HEADER,
- STREAM_EVENT_CONTEXT,
- STREAM_EVENT_HEADER,
- STREAM_PACKET_CONTEXT,
- TRACE_PACKET_HEADER
- };
-
- private int hash = 0;
- private final String fName;
- private final String fPath;
- private final Map<String, LexicalScope> fChildren;
-
- /**
- * The scope constructor
- *
- * @param parent
- * The parent node, can be null, but shouldn't
- * @param name
- * the name of the field
- */
- @SuppressWarnings("null")
- public LexicalScope(@Nullable LexicalScope parent, String name) {
- fName = name;
- if (parent != null) {
- String pathString = Joiner.on('.').skipNulls().join(parent.fPath, parent.getName());
- /*
- * if joiner return null, we get an NPE... so we won't assign fPath
- * to null
- */
- if (pathString.startsWith(".")) { //$NON-NLS-1$
- /*
- * substring throws an exception or returns a string, it won't
- * return null
- */
- pathString = pathString.substring(1);
- }
- fPath = pathString;
- parent.addChild(fName, this);
- } else {
- fPath = ""; //$NON-NLS-1$
- }
- @NonNull
- Map<String, LexicalScope> children =
- Collections.synchronizedMap(new HashMap<String, LexicalScope>());
- fChildren = children;
- }
-
- /**
- * Adds a child lexical scope
- *
- * @param name
- * the name of the child
- * @param child
- * the child
- */
- private void addChild(String name, LexicalScope child) {
- fChildren.put(name, child);
- }
-
- /**
- * Get the name
- *
- * @return the name
- */
- public String getName() {
- return fName;
- }
-
- /**
- * Gets a child of a given name
- *
- * @param name
- * the child
- * @return the scope, can be null
- */
- @Nullable
- public LexicalScope getChild(String name) {
- return fChildren.get(name);
- }
-
- @Override
- public String toString() {
- return (fPath.isEmpty() ? fName : fPath + '.' + fName);
- }
-
- @Override
- public int compareTo(@Nullable LexicalScope other) {
- if (other == null) {
- throw new IllegalArgumentException();
- }
- int comp = fPath.compareTo(other.fPath);
- if (comp == 0) {
- return fName.compareTo(other.fName);
- }
- return comp;
- }
-
- @Override
- public synchronized int hashCode() {
- if (hash == 0) {
- final int prime = 31;
- hash = prime * (prime + fName.hashCode()) + fPath.hashCode();
- }
- return hash;
- }
-
- @Override
- public boolean equals(@Nullable Object obj) {
- if (this == obj) {
- return true;
- }
- if (obj == null) {
- return false;
- }
- if (getClass() != obj.getClass()) {
- return false;
- }
- LexicalScope other = (LexicalScope) obj;
- if (!fName.equals(other.fName)) {
- return false;
- }
- return fPath.equals(other.fPath);
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/ctf/core/event/scope/PacketHeaderScope.java b/lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/ctf/core/event/scope/PacketHeaderScope.java
deleted file mode 100644
index a47101c6fb..0000000000
--- a/lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/ctf/core/event/scope/PacketHeaderScope.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 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:
- * Matthew Khouzam - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.ctf.core.event.scope;
-
-import org.eclipse.jdt.annotation.NonNullByDefault;
-
-/**
- * A lttng specific speedup node (the packet header with magic, uuid and stream
- * id ) of a lexical scope the sole reason to have this is to accelerate tostring()
- *
- * @author Matthew Khouzam
- * @since 3.1
- */
-@NonNullByDefault
-public class PacketHeaderScope extends LexicalScope {
-
- /**
- * Constructor
- */
- public PacketHeaderScope() {
- super(PACKET, "header"); //$NON-NLS-1$
- }
-
- @Override
- public String toString() {
- return "packet.header"; //$NON-NLS-1$
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/ctf/core/event/scope/RootScope.java b/lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/ctf/core/event/scope/RootScope.java
deleted file mode 100644
index ab187df2b7..0000000000
--- a/lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/ctf/core/event/scope/RootScope.java
+++ /dev/null
@@ -1,65 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 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:
- * Matthew Khouzam - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.ctf.core.event.scope;
-
-import org.eclipse.jdt.annotation.NonNullByDefault;
-import org.eclipse.jdt.annotation.Nullable;
-
-/**
- * A lttng specific speedup node a root with accelerated returns for some scopes
- * of a lexical scope
- *
- * @author Matthew Khouzam
- * @since 3.1
- */
-@NonNullByDefault
-public class RootScope extends LexicalScope {
-
- /**
- * The scope constructor
- */
- public RootScope() {
- super(null, ""); //$NON-NLS-1$
- }
-
- @Override
- @Nullable
- public LexicalScope getChild(String name) {
- /*
- * This happens ~40 % of the time
- */
- if (name.equals(EVENT_HEADER.toString())) {
- return EVENT_HEADER;
- }
- /*
- * This happens ~30 % of the time
- */
- if (name.equals(FIELDS.toString())) {
- return FIELDS;
- }
- /*
- * This happens ~30 % of the time
- */
- if (name.equals(CONTEXT.toString())) {
- return CONTEXT;
- }
- /*
- * This happens ~1 % of the time
- */
- if (name.equals(PACKET_HEADER.toString())) {
- return PACKET_HEADER;
- }
- return super.getChild(name);
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/ctf/core/event/types/AbstractArrayDefinition.java b/lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/ctf/core/event/types/AbstractArrayDefinition.java
deleted file mode 100644
index f724f25c97..0000000000
--- a/lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/ctf/core/event/types/AbstractArrayDefinition.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 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:
- * Matthew Khouzam - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.linuxtools.ctf.core.event.types;
-
-import java.util.List;
-
-import org.eclipse.jdt.annotation.NonNullByDefault;
-import org.eclipse.jdt.annotation.Nullable;
-import org.eclipse.linuxtools.ctf.core.event.scope.IDefinitionScope;
-
-/**
- * Array definition, used for compound definitions and fixed length strings
- *
- * @author Matthew Khouzam
- * @since 3.1
- */
-@NonNullByDefault
-public abstract class AbstractArrayDefinition extends Definition {
-
- /**
- * Constructor
- *
- * @param declaration
- * the event declaration
- *
- * @param definitionScope
- * the definition is in a scope, (normally a struct) what is it?
- * @param fieldName
- * the name of the definition. (it is a field in the parent
- * scope)
- */
- public AbstractArrayDefinition(IDeclaration declaration, @Nullable IDefinitionScope definitionScope, String fieldName) {
- super(declaration, definitionScope, fieldName);
- }
-
- /**
- * Get the defintions, an array is a collection of definitions
- *
- * @return the definitions
- */
- public abstract List<Definition> getDefinitions();
-
-} \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/ctf/core/event/types/ArrayDeclaration.java b/lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/ctf/core/event/types/ArrayDeclaration.java
deleted file mode 100644
index fcbc3f3c76..0000000000
--- a/lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/ctf/core/event/types/ArrayDeclaration.java
+++ /dev/null
@@ -1,149 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011, 2013 Ericsson, Ecole Polytechnique de Montreal and others
- *
- * 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: Matthew Khouzam - Initial API and implementation
- * Contributors: Simon Marchi - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.ctf.core.event.types;
-
-import java.util.List;
-
-import org.eclipse.jdt.annotation.NonNull;
-import org.eclipse.linuxtools.ctf.core.event.io.BitBuffer;
-import org.eclipse.linuxtools.ctf.core.event.scope.IDefinitionScope;
-import org.eclipse.linuxtools.ctf.core.trace.CTFReaderException;
-
-import com.google.common.collect.ArrayListMultimap;
-import com.google.common.collect.ImmutableList;
-import com.google.common.collect.ImmutableList.Builder;
-import com.google.common.collect.Multimap;
-
-/**
- * A CTF array declaration
- *
- * Arrays are fixed-length. Their length is declared in the type declaration
- * within the meta-data. They contain an array of "inner type" elements, which
- * can refer to any type not containing the type of the array being declared (no
- * circular dependency). The length is the number of elements in an array.
- *
- * @deprecated use
- * {@link org.eclipse.linuxtools.internal.ctf.core.event.types.ArrayDeclaration}
- * @version 1.0
- * @author Matthew Khouzam
- * @author Simon Marchi
- */
-@Deprecated
-public class ArrayDeclaration extends CompoundDeclaration {
-
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
-
- private final int fLength;
- private final IDeclaration fElemType;
-
- /**
- * <pre>
- * Cache where we can pre-generate the children names
- * Key&colon; parent name
- * Value&colon; children names
- * ex: field &#8594; &lbrace;field&lbrack;0&rbrack;, field&lbrack;1&rbrack;, &hellip; field&lbrack;n&rbrack;&rbrace;
- * </pre>
- *
- * TODO: investigate performance
- */
- private final Multimap<String, String> fChildrenNames = ArrayListMultimap.<String, String> create();
-
- // ------------------------------------------------------------------------
- // Constructors
- // ------------------------------------------------------------------------
-
- /**
- * Constructor
- *
- * @param length
- * how many elements in the array
- * @param elemType
- * what type of element is in the array
- */
- public ArrayDeclaration(int length, IDeclaration elemType) {
- fLength = length;
- fElemType = elemType;
- }
-
- // ------------------------------------------------------------------------
- // Getters/Setters/Predicates
- // ------------------------------------------------------------------------
-
- @Override
- public IDeclaration getElementType() {
- return fElemType;
- }
-
- /**
- *
- * @return how many elements in the array
- */
- public int getLength() {
- return fLength;
- }
-
- // ------------------------------------------------------------------------
- // Operations
- // ------------------------------------------------------------------------
-
- /**
- * @since 3.0
- */
- @Deprecated
- @Override
- public ArrayDefinition createDefinition(IDefinitionScope definitionScope,
- @NonNull String fieldName, BitBuffer input) throws CTFReaderException {
- alignRead(input);
- List<Definition> definitions = read(input, definitionScope, fieldName);
- return new ArrayDefinition(this, definitionScope, fieldName, definitions);
- }
-
- @Override
- public String toString() {
- /* Only used for debugging */
- return "[declaration] array[" + Integer.toHexString(hashCode()) + ']'; //$NON-NLS-1$
- }
-
- @NonNull
- private List<Definition> read(@NonNull BitBuffer input, IDefinitionScope definitionScope, String fieldName) throws CTFReaderException {
- Builder<Definition> definitions = new ImmutableList.Builder<>();
- if (!fChildrenNames.containsKey(fieldName)) {
- for (int i = 0; i < fLength; i++) {
- fChildrenNames.put(fieldName, fieldName + '[' + i + ']');
- }
- }
- List<String> elemNames = (List<String>) fChildrenNames.get(fieldName);
- for (int i = 0; i < fLength; i++) {
- String name = elemNames.get(i);
- if (name == null) {
- throw new IllegalStateException();
- }
- definitions.add(fElemType.createDefinition(definitionScope, name, input));
- }
- @SuppressWarnings("null")
- @NonNull ImmutableList<Definition> ret = definitions.build();
- return ret;
- }
-
- /**
- * @since 3.0
- */
- @Override
- public int getMaximumSize() {
- long val = (long) fLength * fElemType.getMaximumSize();
- return (int) Math.min(Integer.MAX_VALUE, val);
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/ctf/core/event/types/ArrayDefinition.java b/lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/ctf/core/event/types/ArrayDefinition.java
deleted file mode 100644
index 3c0ca255fe..0000000000
--- a/lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/ctf/core/event/types/ArrayDefinition.java
+++ /dev/null
@@ -1,134 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011, 2013 Ericsson, Ecole Polytechnique de Montreal and others
- *
- * 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: Matthew Khouzam - Initial API and implementation
- * Contributors: Simon Marchi - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.ctf.core.event.types;
-
-import java.util.List;
-
-import org.eclipse.jdt.annotation.NonNull;
-import org.eclipse.jdt.annotation.NonNullByDefault;
-import org.eclipse.jdt.annotation.Nullable;
-import org.eclipse.linuxtools.ctf.core.event.scope.IDefinitionScope;
-
-import com.google.common.base.Joiner;
-import com.google.common.collect.ImmutableList;
-
-/**
- * A CTF array definition
- *
- * Arrays are fixed-length. Their length is declared in the type declaration
- * within the meta-data. They contain an array of "inner type" elements, which
- * can refer to any type not containing the type of the array being declared (no
- * circular dependency). The length is the number of elements in an array.
- *
- * @deprecated use {@link AbstractArrayDefinition}
- * @version 1.0
- * @author Matthew Khouzam
- * @author Simon Marchi
- */
-@NonNullByDefault
-@Deprecated
-public final class ArrayDefinition extends AbstractArrayDefinition{
-
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
-
- private final ImmutableList<Definition> fDefinitions;
-
- // ------------------------------------------------------------------------
- // Constructors
- // ------------------------------------------------------------------------
-
- /**
- * Constructor
- *
- * @param declaration
- * the parent declaration
- * @param definitionScope
- * the parent scope
- * @param fieldName
- * the field name
- * @param definitions
- * the content of the array
- * @since 3.0
- */
- public ArrayDefinition(ArrayDeclaration declaration,
- @Nullable IDefinitionScope definitionScope,
- String fieldName,
- List<Definition> definitions) {
- super(declaration, definitionScope, fieldName);
- @SuppressWarnings("null")
- @NonNull ImmutableList<Definition> list = ImmutableList.copyOf(definitions);
- fDefinitions = list;
-
- }
-
- // ------------------------------------------------------------------------
- // Getters/Setters/Predicates
- // ------------------------------------------------------------------------
-
- @Override
- public List<Definition> getDefinitions() {
- return fDefinitions;
- }
-
- /**
- * Get the element at i
- *
- * @param i the index (cannot be negative)
- * @return The element at I, if I &gt; length, null, if I &lt; 0, the method throws an out of bounds exception
- */
- @Nullable
- public Definition getElem(int i) {
- if (i > fDefinitions.size()) {
- return null;
- }
-
- return fDefinitions.get(i);
- }
-
- @Override
- public ArrayDeclaration getDeclaration() {
- return (ArrayDeclaration) super.getDeclaration();
- }
-
- // ------------------------------------------------------------------------
- // Operations
- // ------------------------------------------------------------------------
-
- @Override
- public String toString() {
- StringBuilder b = new StringBuilder();
-
- if (getDeclaration().isString()) {
- for (Definition def : fDefinitions) {
- IntegerDefinition character = (IntegerDefinition) def;
-
- if (character.getValue() == 0) {
- break;
- }
-
- b.append(character.toString());
- }
- } else {
- b.append('[');
- Joiner joiner = Joiner.on(", ").skipNulls(); //$NON-NLS-1$
- b.append(joiner.join(fDefinitions));
- b.append(']');
- }
-
- @SuppressWarnings("null")
- @NonNull String ret = b.toString();
- return ret;
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/ctf/core/event/types/CompoundDeclaration.java b/lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/ctf/core/event/types/CompoundDeclaration.java
deleted file mode 100644
index fc4c0c02c9..0000000000
--- a/lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/ctf/core/event/types/CompoundDeclaration.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 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:
- * Matthew Khouzam - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.ctf.core.event.types;
-
-
-/**
- * Parent of sequences and arrays
- *
- * @author Matthew Khouzam
- * @since 3.1
- */
-public abstract class CompoundDeclaration extends Declaration {
-
- /**
- * Get the element type
- *
- * @return the type of element in the array
- */
- public abstract IDeclaration getElementType();
-
- @Override
- public long getAlignment() {
- return getElementType().getAlignment();
- }
-
- /**
- * Sometimes, strings are encoded as an array of 1-byte integers (each one
- * being an UTF-8 byte).
- *
- * @return true if this array is in fact an UTF-8 string. false if it's a
- * "normal" array of generic Definition's.
- */
- public boolean isString(){
- IDeclaration elementType = getElementType();
- if (elementType instanceof IntegerDeclaration) {
- IntegerDeclaration elemInt = (IntegerDeclaration) elementType;
- return elemInt.isCharacter();
- }
- return false;
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/ctf/core/event/types/Declaration.java b/lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/ctf/core/event/types/Declaration.java
deleted file mode 100644
index df30eaf4dc..0000000000
--- a/lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/ctf/core/event/types/Declaration.java
+++ /dev/null
@@ -1,69 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 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: Matthew Khouzam - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.ctf.core.event.types;
-
-import org.eclipse.jdt.annotation.NonNull;
-import org.eclipse.linuxtools.ctf.core.event.io.BitBuffer;
-import org.eclipse.linuxtools.ctf.core.event.scope.IDefinitionScope;
-import org.eclipse.linuxtools.ctf.core.event.scope.LexicalScope;
-import org.eclipse.linuxtools.ctf.core.trace.CTFReaderException;
-
-/**
- * Declaration base, it helps for basic functionality that is often called, so
- * performance is often a high priority in this class
- *
- * @author Matthew Khouzam
- * @since 3.0
- */
-public abstract class Declaration implements IDeclaration {
-
- @Override
- public LexicalScope getPath(IDefinitionScope definitionScope, @NonNull String fieldName) {
- if (definitionScope != null) {
- final LexicalScope parentPath = definitionScope.getScopePath();
- if (parentPath != null) {
- LexicalScope myScope = parentPath.getChild(fieldName);
- if (myScope == null) {
- myScope = new LexicalScope(parentPath, fieldName);
- }
- return myScope;
- }
- }
- LexicalScope child = LexicalScope.ROOT.getChild(fieldName);
- if (child != null) {
- return child;
- }
- return new LexicalScope(LexicalScope.ROOT, fieldName);
- }
-
- /**
- * Offset the buffer position wrt the current alignment.
- *
- * @param input
- * The bitbuffer that is being read
- * @throws CTFReaderException
- * Happens when there is an out of bounds exception
- * @since 3.0
- */
- protected final void alignRead(BitBuffer input) throws CTFReaderException {
- long mask = getAlignment() - 1;
- /*
- * The alignment is a power of 2
- */
- long pos = input.position();
- if ((pos & mask) == 0) {
- return;
- }
- pos = (pos + mask) & ~mask;
- input.position(pos);
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/ctf/core/event/types/Definition.java b/lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/ctf/core/event/types/Definition.java
deleted file mode 100644
index 46c64d0452..0000000000
--- a/lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/ctf/core/event/types/Definition.java
+++ /dev/null
@@ -1,140 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011, 2013 Ericsson, Ecole Polytechnique de Montreal and others
- *
- * 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: Matthew Khouzam - Initial API and implementation
- * Contributors: Simon Marchi - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.ctf.core.event.types;
-
-import org.eclipse.jdt.annotation.NonNull;
-import org.eclipse.linuxtools.ctf.core.event.scope.IDefinitionScope;
-import org.eclipse.linuxtools.ctf.core.event.scope.LexicalScope;
-
-/**
- * A CTF definition
- *
- * A definition is like an object of a declaration class. It fills the
- * declaration with values. <br>
- * An example: <br>
- * int i = 0; <br>
- * <b>int</b> is the declaration.<br>
- * <b>i</b> is the definition.<br>
- * <b>0</b> is the value assigned to the definition, not the declaration.<br>
- *
- * @version 1.0
- * @author Matthew Khouzam
- * @author Simon Marchi
- */
-public abstract class Definition implements IDefinition {
-
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
-
- private final String fFieldName;
-
- /** The complete path of this field */
- private final @NonNull LexicalScope fPath;
-
- private final IDefinitionScope fDefinitionScope;
-
- @NonNull
- private final IDeclaration fDeclaration;
-
- // ------------------------------------------------------------------------
- // Constructors
- // ------------------------------------------------------------------------
-
- /**
- * Constructor
- *
- * @param declaration
- * the event declaration
- * @param definitionScope
- * the definition is in a scope, (normally a struct) what is it?
- * @param fieldName
- * the name of the definition. (it is a field in the parent
- * scope)
- * @since 3.0
- */
- public Definition(@NonNull IDeclaration declaration, IDefinitionScope definitionScope, @NonNull String fieldName) {
- this(declaration, definitionScope, fieldName, declaration.getPath(definitionScope, fieldName));
- }
-
- /**
- * Constructor This one takes the scope and thus speeds up definition
- * creation
- *
- *
- * @param declaration
- * the event declaration
- *
- * @param definitionScope
- * the definition is in a scope, (normally a struct) what is it?
- *
- * @param fieldName
- * the name of the defintions. it is a field in the parent scope.
- *
- * @param scope
- * the scope
- * @since 3.1
- */
- public Definition(@NonNull IDeclaration declaration, IDefinitionScope definitionScope, @NonNull String fieldName, @NonNull LexicalScope scope) {
- fDeclaration = declaration;
- fDefinitionScope = definitionScope;
- fFieldName = fieldName;
- fPath = scope;
- }
-
- // ------------------------------------------------------------------------
- // Getters
- // ------------------------------------------------------------------------
-
- /**
- * Get the field name in its container.
- *
- * @return The field name
- * @since 2.0
- */
- protected String getFieldName() {
- return fFieldName;
- }
-
- @Override
- public LexicalScope getScopePath() {
- return fPath;
- }
-
- /**
- * Get the definition scope in which this definition is found.
- *
- * The complete path of a definition is thus the path of the definition
- * scope DOT the name of the definition (name of the field in its container)
- *
- * @return The definition scope
- * @since 3.0
- */
- protected IDefinitionScope getDefinitionScope() {
- return fDefinitionScope;
- }
-
- // ------------------------------------------------------------------------
- // Operations
- // ------------------------------------------------------------------------
-
- @Override
- public IDeclaration getDeclaration() {
- return fDeclaration;
- }
-
- @Override
- public String toString() {
- return fPath.toString() + '[' + Integer.toHexString(hashCode()) + ']';
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/ctf/core/event/types/Encoding.java b/lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/ctf/core/event/types/Encoding.java
deleted file mode 100644
index a529d1ee6d..0000000000
--- a/lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/ctf/core/event/types/Encoding.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011-2012 Ericsson, Ecole Polytechnique de Montreal and others
- *
- * 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: Matthew Khouzam - Initial API and implementation
- * Contributors: Simon Marchi - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.ctf.core.event.types;
-
-import org.eclipse.jdt.annotation.NonNullByDefault;
-
-/**
- * CTF encoding types
- *
- * @version 1.0
- * @author Matthew Khouzam
- * @author Simon Marchi
- */
-@NonNullByDefault
-public enum Encoding {
- /** UTF-8 encoding */
- UTF8,
- /** Ascii encoding */
- ASCII,
- /** No encoding, maybe not even text */
- NONE
-}
diff --git a/lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/ctf/core/event/types/EnumDeclaration.java b/lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/ctf/core/event/types/EnumDeclaration.java
deleted file mode 100644
index 304cb9ad2f..0000000000
--- a/lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/ctf/core/event/types/EnumDeclaration.java
+++ /dev/null
@@ -1,221 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011, 2014 Ericsson, Ecole Polytechnique de Montreal and others
- *
- * 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: Matthew Khouzam - Initial API and implementation
- * Contributors: Simon Marchi - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.ctf.core.event.types;
-
-import java.util.Collections;
-import java.util.HashSet;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Set;
-
-import org.eclipse.linuxtools.ctf.core.event.io.BitBuffer;
-import org.eclipse.linuxtools.ctf.core.event.scope.IDefinitionScope;
-import org.eclipse.linuxtools.ctf.core.trace.CTFReaderException;
-
-/**
- * A CTF enum declaration.
- *
- * The definition of a enum point basic data type. It will take the data from a
- * trace and store it (and make it fit) as an integer and a string.
- *
- * @version 1.0
- * @author Matthew Khouzam
- * @author Simon Marchi
- */
-public final class EnumDeclaration extends Declaration implements ISimpleDatatypeDeclaration {
-
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
-
- private final EnumTable fTable = new EnumTable();
- private final IntegerDeclaration fContainerType;
- private final Set<String> fLabels = new HashSet<>();
-
- // ------------------------------------------------------------------------
- // Constructors
- // ------------------------------------------------------------------------
-
- /**
- * constructor
- *
- * @param containerType
- * the enum is an int, this is the type that the data is
- * contained in. If you have 1000 possible values, you need at
- * least a 10 bit enum. If you store 2 values in a 128 bit int,
- * you are wasting space.
- */
- public EnumDeclaration(IntegerDeclaration containerType) {
- fContainerType = containerType;
- }
-
- // ------------------------------------------------------------------------
- // Getters/Setters/Predicates
- // ------------------------------------------------------------------------
-
- /**
- *
- * @return The container type
- */
- public IntegerDeclaration getContainerType() {
- return fContainerType;
- }
-
- @Override
- public long getAlignment() {
- return this.getContainerType().getAlignment();
- }
-
- /**
- * @since 3.0
- */
- @Override
- public int getMaximumSize() {
- return fContainerType.getMaximumSize();
- }
-
- // ------------------------------------------------------------------------
- // Operations
- // ------------------------------------------------------------------------
-
- /**
- * @since 3.0
- */
- @Override
- public EnumDefinition createDefinition(IDefinitionScope definitionScope, String fieldName, BitBuffer input) throws CTFReaderException {
- alignRead(input);
- IntegerDefinition value = getContainerType().createDefinition(definitionScope, fieldName, input);
- return new EnumDefinition(this, definitionScope, fieldName, value);
- }
-
- /**
- * Add a value. Do not overlap, this is <em><strong>not</strong></em> an
- * interval tree.
- *
- * @param low
- * lowest value that this int can be to have label as a return
- * string
- * @param high
- * highest value that this int can be to have label as a return
- * string
- * @param label
- * the name of the value.
- * @return was the value be added? true == success
- */
- public boolean add(long low, long high, String label) {
- fLabels.add(label);
- return fTable.add(low, high, label);
- }
-
- /**
- * Check if the label for a value (enum a{day=0,night=1} would return "day"
- * for query(0)
- *
- * @param value
- * the value to lookup
- * @return the label of that value, can be null
- */
- public String query(long value) {
- return fTable.query(value);
- }
-
- /**
- * Gets a set of labels of the enum
- *
- * @return A set of labels of the enum, can be empty but not null
- * @since 3.0
- */
- public Set<String> getLabels() {
- return Collections.unmodifiableSet(fLabels);
- }
-
- /*
- * Maps integer range -> string. A simple list for now, but feel free to
- * optimize it. Babeltrace suggests an interval tree.
- */
- private class EnumTable {
-
- private final List<LabelAndRange> ranges = new LinkedList<>();
-
- public EnumTable() {
- }
-
- public boolean add(long low, long high, String label) {
- LabelAndRange newRange = new LabelAndRange(low, high, label);
-
- for (LabelAndRange r : ranges) {
- if (r.intersects(newRange)) {
- return false;
- }
- }
-
- ranges.add(newRange);
-
- return true;
- }
-
- /**
- * Return the first label that matches a value
- *
- * @param value
- * the value to query
- * @return the label corresponding to that value
- */
- public String query(long value) {
- for (LabelAndRange r : ranges) {
- if (r.intersects(value)) {
- return r.getLabel();
- }
- }
- return null;
- }
-
- }
-
- private static class LabelAndRange {
-
- private final long low, high;
- private final String fLabel;
-
- /**
- * Get the label
- *
- * @return the label
- */
- public String getLabel() {
- return fLabel;
- }
-
- public LabelAndRange(long low, long high, String str) {
- this.low = low;
- this.high = high;
- this.fLabel = str;
- }
-
- public boolean intersects(long i) {
- return (i >= this.low) && (i <= this.high);
- }
-
- public boolean intersects(LabelAndRange other) {
- return this.intersects(other.low)
- || this.intersects(other.high);
- }
- }
-
- @Override
- public String toString() {
- /* Only used for debugging */
- return "[declaration] enum[" + Integer.toHexString(hashCode()) + ']'; //$NON-NLS-1$
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/ctf/core/event/types/EnumDefinition.java b/lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/ctf/core/event/types/EnumDefinition.java
deleted file mode 100644
index 09f6927f50..0000000000
--- a/lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/ctf/core/event/types/EnumDefinition.java
+++ /dev/null
@@ -1,108 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011, 2013 Ericsson, Ecole Polytechnique de Montreal and others
- *
- * 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: Matthew Khouzam - Initial API and implementation
- * Contributors: Simon Marchi - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.ctf.core.event.types;
-
-import org.eclipse.jdt.annotation.NonNull;
-import org.eclipse.linuxtools.ctf.core.event.scope.IDefinitionScope;
-
-/**
- * A CTF enum definition.
- *
- * The definition of a enum point basic data type. It will take the data from a
- * trace and store it (and make it fit) as an integer and a string.
- *
- * @version 1.0
- * @author Matthew Khouzam
- * @author Simon Marchi
- */
-public final class EnumDefinition extends SimpleDatatypeDefinition {
-
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
-
- private final long fIntegerValue;
-
- private final String fValue;
-
- // ------------------------------------------------------------------------
- // Constructors
- // ------------------------------------------------------------------------
-
- /**
- * Constructor
- *
- * @param declaration
- * the parent declaration
- * @param definitionScope
- * the parent scope
- * @param fieldName
- * the field name
- * @param intValue
- * the value of the enum
- * @since 3.0
- */
- public EnumDefinition(@NonNull EnumDeclaration declaration,
- IDefinitionScope definitionScope, @NonNull String fieldName, IntegerDefinition intValue) {
- super(declaration, definitionScope, fieldName);
-
- fIntegerValue = intValue.getValue();
- fValue = declaration.query(fIntegerValue);
- }
-
- // ------------------------------------------------------------------------
- // Getters/Setters/Predicates
- // ------------------------------------------------------------------------
-
- /**
- * Gets the value of the enum in string format so
- * "Enum a{DAY="0", NIGHT="1"}; will return "DAY"
- *
- * @return the value of the enum.
- */
- public String getValue() {
- return fValue;
- }
-
- @Override
- public String getStringValue() {
- return getValue();
- }
-
- /**
- * Gets the value of the enum in string format so
- * "Enum a{DAY="0", NIGHT="1"}; will return 0
- *
- * @return the value of the enum.
- */
- @Override
- public Long getIntegerValue() {
- return fIntegerValue;
- }
-
- @Override
- public EnumDeclaration getDeclaration() {
- return (EnumDeclaration) super.getDeclaration();
- }
-
- // ------------------------------------------------------------------------
- // Operations
- // ------------------------------------------------------------------------
-
- @Override
- public String toString() {
- return "{ value = " + getValue() + //$NON-NLS-1$
- ", container = " + fIntegerValue + //$NON-NLS-1$
- " }"; //$NON-NLS-1$
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/ctf/core/event/types/FloatDeclaration.java b/lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/ctf/core/event/types/FloatDeclaration.java
deleted file mode 100644
index 084cae691f..0000000000
--- a/lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/ctf/core/event/types/FloatDeclaration.java
+++ /dev/null
@@ -1,177 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011, 2013 Ericsson, Ecole Polytechnique de Montreal and others
- *
- * 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: Matthew Khouzam - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.ctf.core.event.types;
-
-import java.nio.ByteOrder;
-
-import org.eclipse.linuxtools.ctf.core.event.io.BitBuffer;
-import org.eclipse.linuxtools.ctf.core.event.scope.IDefinitionScope;
-import org.eclipse.linuxtools.ctf.core.trace.CTFReaderException;
-
-/**
- * A CTF float declaration.
- *
- * The declaration of a floating point basic data type.
- *
- * @version 1.0
- * @author Matthew Khouzam
- */
-public final class FloatDeclaration extends Declaration implements ISimpleDatatypeDeclaration {
-
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
-
- private final int fMantissa;
- private final int fExponent;
- private final ByteOrder fByteOrder;
- private final long fAlignement;
-
- // ------------------------------------------------------------------------
- // Constructors
- // ------------------------------------------------------------------------
-
- /**
- * Constructor
- *
- * @param exponent
- * The exponent size in bits
- * @param mantissa
- * The mantissa size in bits (+1 for sign) (see CTF spec)
- * @param byteOrder
- * The byte order
- * @param alignment
- * The alignment. Should be &ge; 1
- */
- public FloatDeclaration(int exponent, int mantissa, ByteOrder byteOrder,
- long alignment) {
- fMantissa = mantissa;
- fExponent = exponent;
- fByteOrder = byteOrder;
- fAlignement = Math.max(alignment, 1);
-
- }
-
- // ------------------------------------------------------------------------
- // Getters/Setters/Predicates
- // ------------------------------------------------------------------------
-
- /**
- * @return the mant
- */
- public int getMantissa() {
- return fMantissa;
- }
-
- /**
- * @return the exp
- */
- public int getExponent() {
- return fExponent;
- }
-
- /**
- * @return the byteOrder
- */
- public ByteOrder getByteOrder() {
- return fByteOrder;
- }
-
- @Override
- public long getAlignment() {
- return fAlignement;
- }
-
- /**
- * @since 3.0
- */
- @Override
- public int getMaximumSize() {
- return fMantissa + fExponent + 1;
- }
-
- // ------------------------------------------------------------------------
- // Operations
- // ------------------------------------------------------------------------
-
- /**
- * @since 3.0
- */
- @Override
- public FloatDefinition createDefinition(IDefinitionScope definitionScope,
- String fieldName, BitBuffer input) throws CTFReaderException {
- ByteOrder byteOrder = input.getByteOrder();
- input.setByteOrder(fByteOrder);
- double value = read(input);
- input.setByteOrder(byteOrder);
- return new FloatDefinition(this, definitionScope, fieldName, value);
- }
-
- @Override
- public String toString() {
- /* Only used for debugging */
- return "[declaration] float[" + Integer.toHexString(hashCode()) + ']'; //$NON-NLS-1$
- }
-
- private double read(BitBuffer input) throws CTFReaderException {
- /* Offset the buffer position wrt the current alignment */
- alignRead(input);
- final int exp = getExponent();
- final int mant = getMantissa();
- double value = Double.NaN;
- if ((exp + mant) == 32) {
- value = readRawFloat32(input, mant, exp);
- } else if ((exp + mant) == 64) {
- value = readRawFloat64(input, mant, exp);
- }
- return value;
- }
-
- private static double readRawFloat32(BitBuffer input, final int manBits,
- final int expBits) throws CTFReaderException {
- long temp = input.get(32, false);
- return createFloat(temp, manBits - 1, expBits);
- }
-
- private static double readRawFloat64(BitBuffer input, final int manBits,
- final int expBits) throws CTFReaderException {
- long temp = input.get(64, false);
- return createFloat(temp, manBits - 1, expBits);
- }
-
- /**
- * Create a float from the raw value, Mathematicians beware.
- *
- * @param rawValue
- * The raw value( up to 64 bits)
- * @param manBits
- * number of bits in the mantissa
- * @param expBits
- * number of bits in the exponent
- */
- private static double createFloat(long rawValue, final int manBits,
- final int expBits) {
- long manShift = 1L << (manBits);
- long manMask = manShift - 1;
- long expMask = (1L << expBits) - 1;
-
- int exp = (int) ((rawValue >> (manBits)) & expMask) + 1;
- long man = (rawValue & manMask);
- final int offsetExponent = exp - (1 << (expBits - 1));
- double expPow = Math.pow(2.0, offsetExponent);
- double ret = man * 1.0f;
- ret /= manShift;
- ret += 1.0;
- ret *= expPow;
- return ret;
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/ctf/core/event/types/FloatDefinition.java b/lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/ctf/core/event/types/FloatDefinition.java
deleted file mode 100644
index aa6d6db27d..0000000000
--- a/lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/ctf/core/event/types/FloatDefinition.java
+++ /dev/null
@@ -1,84 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011, 2013 Ericsson, Ecole Polytechnique de Montreal and others
- *
- * 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: Matthew Khouzam - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.ctf.core.event.types;
-
-import org.eclipse.jdt.annotation.NonNull;
-import org.eclipse.linuxtools.ctf.core.event.scope.IDefinitionScope;
-
-/**
- * A CTF float definition.
- *
- * The definition of a floating point basic data type. It will take the data
- * from a trace and store it (and make it fit) as a double.
- *
- * @version 1.0
- * @author Matthew Khouzam
- * @author Simon Marchi
- */
-public final class FloatDefinition extends Definition {
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
-
- private final double fValue;
-
- // ------------------------------------------------------------------------
- // Constructors
- // ------------------------------------------------------------------------
-
- /**
- * Constructor
- *
- * @param declaration
- * the parent declaration
- * @param definitionScope
- * the parent scope
- * @param fieldName
- * the field name
- * @param value
- * field value
- * @since 3.0
- */
- public FloatDefinition(@NonNull FloatDeclaration declaration,
- IDefinitionScope definitionScope, @NonNull String fieldName, double value) {
- super(declaration, definitionScope, fieldName);
- fValue = value;
- }
-
- // ------------------------------------------------------------------------
- // Getters/Setters/Predicates
- // ------------------------------------------------------------------------
-
- /**
- * The value of a float stored, fit into a double. This should be extended
- * for exotic floats if this is necessary.
- *
- * @return the value of the float field fit into a double.
- */
- public double getValue() {
- return fValue;
- }
-
- @Override
- public FloatDeclaration getDeclaration() {
- return (FloatDeclaration) super.getDeclaration();
- }
-
- // ------------------------------------------------------------------------
- // Operations
- // ------------------------------------------------------------------------
-
- @Override
- public String toString() {
- return String.valueOf(fValue);
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/ctf/core/event/types/ICompositeDefinition.java b/lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/ctf/core/event/types/ICompositeDefinition.java
deleted file mode 100644
index df27c9a067..0000000000
--- a/lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/ctf/core/event/types/ICompositeDefinition.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 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:
- * Matthew Khouzam - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.ctf.core.event.types;
-
-import java.util.List;
-
-/**
- * Interface for data definitions containing heterogenous definitions
- * (subfields)
- *
- * @author Matthew Khouzam
- * @since 3.1
- */
-public interface ICompositeDefinition extends IDefinition {
-
- /**
- * Gets the definition of the field
- *
- * @param fieldName
- * the fieldname
- * @return The definitions of all the fields
- */
- Definition getDefinition(String fieldName);
-
- /**
- * Gets an array of the field names
- *
- * @return the field names array
- */
- List<String> getFieldNames();
-
-}
diff --git a/lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/ctf/core/event/types/IDeclaration.java b/lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/ctf/core/event/types/IDeclaration.java
deleted file mode 100644
index 6f0f50712b..0000000000
--- a/lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/ctf/core/event/types/IDeclaration.java
+++ /dev/null
@@ -1,81 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011, 2013 Ericsson, Ecole Polytechnique de Montreal and others
- *
- * 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: Matthew Khouzam - Initial API and implementation
- * Contributors: Simon Marchi - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.ctf.core.event.types;
-
-import org.eclipse.jdt.annotation.NonNull;
-import org.eclipse.linuxtools.ctf.core.event.io.BitBuffer;
-import org.eclipse.linuxtools.ctf.core.event.scope.IDefinitionScope;
-import org.eclipse.linuxtools.ctf.core.event.scope.LexicalScope;
-import org.eclipse.linuxtools.ctf.core.trace.CTFReaderException;
-
-/**
- * A CTF data type declaration.
- *
- * An example: <br>
- * int i = 0; <br>
- * <b>int</b> is the declaration.<br>
- * <b>i</b> is the definition.<br>
- * <b>0</b> is the value assigned to the definition, not the declaration.<br>
- *
- * @version 1.0
- * @author Matthew Khouzam
- * @author Simon Marchi
- */
-public interface IDeclaration {
-
- /**
- * Create a definition from this declaration
- *
- * @param definitionScope
- * the definition scope, the parent where the definition will be
- * placed
- * @param fieldName
- * the name of the definition
- * @param input
- * a bitbuffer to read from
- * @return a reference to the definition
- * @throws CTFReaderException
- * error in reading
- * @since 3.0
- */
- Definition createDefinition(IDefinitionScope definitionScope, @NonNull String fieldName, @NonNull BitBuffer input) throws CTFReaderException;
-
- /**
- * Get the path of a definition
- *
- * @param definitionScope
- * the scope of the definition
- * @param fieldName
- * the name of the definition
- * @return the path of the definition
- * @since 3.0
- */
- public @NonNull LexicalScope getPath(IDefinitionScope definitionScope, @NonNull String fieldName);
-
- /**
- * The minimum alignment. if the field is 32 bits, the definition will pad
- * all the data up to (position%32==0)
- *
- * @return the alignment in bits
- */
- long getAlignment();
-
- /**
- * The MAXIMUM size of this declaration
- *
- * @return the maximum size
- * @since 3.0
- */
- int getMaximumSize();
-
-}
diff --git a/lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/ctf/core/event/types/IDefinition.java b/lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/ctf/core/event/types/IDefinition.java
deleted file mode 100644
index ef6d2294b2..0000000000
--- a/lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/ctf/core/event/types/IDefinition.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 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:
- * Matthew Khouzam - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.ctf.core.event.types;
-
-import org.eclipse.jdt.annotation.NonNullByDefault;
-import org.eclipse.linuxtools.ctf.core.event.scope.LexicalScope;
-
-/**
- * Interface for data definitions. A definition is when a value is given to a
- * declaration
- *
- * @author Matthew Khouzam
- * @since 3.1
- */
-@NonNullByDefault
-public interface IDefinition {
-
- /**
- * Get the complete path of this field.
- *
- * @return The path
- */
- LexicalScope getScopePath();
-
- /**
- * Get the declaration of this definition
- *
- * @return the declaration of a datatype
- */
- IDeclaration getDeclaration();
-
-} \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/ctf/core/event/types/IEventHeaderDeclaration.java b/lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/ctf/core/event/types/IEventHeaderDeclaration.java
deleted file mode 100644
index f9de437fd7..0000000000
--- a/lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/ctf/core/event/types/IEventHeaderDeclaration.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 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:
- * Matthew Khouzam - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.ctf.core.event.types;
-
-import org.eclipse.jdt.annotation.NonNullByDefault;
-
-/**
- * Event header declaration abstract class
- *
- * @author Matthew Khouzam
- * @since 3.1
- */
-@NonNullByDefault
-public interface IEventHeaderDeclaration extends IDeclaration {
- /**
- * The id of an event
- */
- String ID = "id"; //$NON-NLS-1$
- /**
- * The name of a timestamp field
- */
- String TIMESTAMP = "timestamp"; //$NON-NLS-1$
- /**
- * Extended header
- */
- String EXTENDED = "extended"; //$NON-NLS-1$
- /**
- * Compact header (not to be confused with compact vs large)
- */
- String COMPACT = "compact"; //$NON-NLS-1$
-}
diff --git a/lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/ctf/core/event/types/ISimpleDatatypeDeclaration.java b/lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/ctf/core/event/types/ISimpleDatatypeDeclaration.java
deleted file mode 100644
index a67556a696..0000000000
--- a/lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/ctf/core/event/types/ISimpleDatatypeDeclaration.java
+++ /dev/null
@@ -1,23 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 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:
- * Matthew Khouzam - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.ctf.core.event.types;
-
-/**
- * Common interface for simple CTF data types (which do not contain sub-fields).
- *
- * @author Matthew Khouzam
- * @since 3.1
- */
-public interface ISimpleDatatypeDeclaration {
-
-}
diff --git a/lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/ctf/core/event/types/IntegerDeclaration.java b/lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/ctf/core/event/types/IntegerDeclaration.java
deleted file mode 100644
index 486553f2cb..0000000000
--- a/lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/ctf/core/event/types/IntegerDeclaration.java
+++ /dev/null
@@ -1,474 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011, 2014 Ericsson, Ecole Polytechnique de Montreal and others
- *
- * 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:
- * Matthew Khouzam - Initial API and implementation
- * Simon Marchi - Initial API and implementation
- * Marc-Andre Laperle - Add min/maximum for validation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.ctf.core.event.types;
-
-import java.math.BigInteger;
-import java.nio.ByteOrder;
-
-import org.eclipse.jdt.annotation.NonNull;
-import org.eclipse.jdt.annotation.NonNullByDefault;
-import org.eclipse.jdt.annotation.Nullable;
-import org.eclipse.linuxtools.ctf.core.event.io.BitBuffer;
-import org.eclipse.linuxtools.ctf.core.event.scope.IDefinitionScope;
-import org.eclipse.linuxtools.ctf.core.trace.CTFReaderException;
-
-/**
- * A CTF integer declaration.
- *
- * The declaration of a integer basic data type.
- *
- * @version 1.0
- * @author Matthew Khouzam
- * @author Simon Marchi
- */
-@NonNullByDefault
-public class IntegerDeclaration extends Declaration implements ISimpleDatatypeDeclaration {
-
- // ------------------------------------------------------------------------
- // Helpers
- // ------------------------------------------------------------------------
-
- /**
- * unsigned int 32 bits big endian
- *
- * @since 3.0
- */
- public static final IntegerDeclaration UINT_32B_DECL = new IntegerDeclaration(32, false, ByteOrder.BIG_ENDIAN);
- /**
- * unsigned int 32 bits little endian
- *
- * @since 3.0
- */
- public static final IntegerDeclaration UINT_32L_DECL = new IntegerDeclaration(32, false, ByteOrder.LITTLE_ENDIAN);
- /**
- * signed int 32 bits big endian
- *
- * @since 3.0
- */
- public static final IntegerDeclaration INT_32B_DECL = new IntegerDeclaration(32, true, ByteOrder.BIG_ENDIAN);
- /**
- * signed int 32 bits little endian
- *
- * @since 3.0
- */
- public static final IntegerDeclaration INT_32L_DECL = new IntegerDeclaration(32, true, ByteOrder.LITTLE_ENDIAN);
- /**
- * unsigned int 32 bits big endian
- *
- * @since 3.0
- */
- public static final IntegerDeclaration UINT_64B_DECL = new IntegerDeclaration(64, false, ByteOrder.BIG_ENDIAN);
- /**
- * unsigned int 64 bits little endian
- *
- * @since 3.0
- */
- public static final IntegerDeclaration UINT_64L_DECL = new IntegerDeclaration(64, false, ByteOrder.LITTLE_ENDIAN);
- /**
- * signed int 64 bits big endian
- *
- * @since 3.0
- */
- public static final IntegerDeclaration INT_64B_DECL = new IntegerDeclaration(64, true, ByteOrder.BIG_ENDIAN);
- /**
- * signed int 64 bits little endian
- *
- * @since 3.0
- */
- public static final IntegerDeclaration INT_64L_DECL = new IntegerDeclaration(64, true, ByteOrder.LITTLE_ENDIAN);
- /**
- * unsigned 8 bit int endianness doesn't matter since it's 8 bits (byte)
- *
- * @since 3.0
- */
- public static final IntegerDeclaration UINT_8_DECL = new IntegerDeclaration(8, false, ByteOrder.BIG_ENDIAN);
- /**
- * signed 8 bit int endianness doesn't matter since it's 8 bits (char)
- *
- * @since 3.0
- */
- public static final IntegerDeclaration INT_8_DECL = new IntegerDeclaration(8, true, ByteOrder.BIG_ENDIAN);
- /**
- * Unsigned 5 bit int, used for event headers
- *
- * @since 3.1
- */
- public static final IntegerDeclaration UINT_5B_DECL = new IntegerDeclaration(5, false, ByteOrder.BIG_ENDIAN);
- /**
- * Unsigned 5 bit int, used for event headers
- *
- * @since 3.1
- */
- public static final IntegerDeclaration UINT_5L_DECL = new IntegerDeclaration(5, false, ByteOrder.LITTLE_ENDIAN);
- /**
- * Unsigned 5 bit int, used for event headers
- *
- * @since 3.1
- */
- public static final IntegerDeclaration UINT_27B_DECL = new IntegerDeclaration(27, false, ByteOrder.BIG_ENDIAN);
- /**
- * Unsigned 5 bit int, used for event headers
- *
- * @since 3.1
- */
- public static final IntegerDeclaration UINT_27L_DECL = new IntegerDeclaration(27, false, ByteOrder.LITTLE_ENDIAN);
- /**
- * Unsigned 16 bit int, used for event headers
- *
- * @since 3.1
- */
- public static final IntegerDeclaration UINT_16B_DECL = new IntegerDeclaration(16, false, ByteOrder.BIG_ENDIAN);
- /**
- * Unsigned 16 bit int, used for event headers
- *
- * @since 3.1
- */
- public static final IntegerDeclaration UINT_16L_DECL = new IntegerDeclaration(16, false, ByteOrder.LITTLE_ENDIAN);
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
-
- private final int fLength;
- private final boolean fSigned;
- private final int fBase;
- private final ByteOrder fByteOrder;
- private final Encoding fEncoding;
- private final long fAlignment;
- private final String fClock;
-
- // ------------------------------------------------------------------------
- // Constructors
- // ------------------------------------------------------------------------
-
- /**
- * Factory, some common types cached
- *
- * @param len
- * The length in bits
- * @param signed
- * Is the integer signed? false == unsigned
- * @param base
- * The base (10-16 are most common)
- * @param byteOrder
- * Big-endian little-endian or other
- * @param encoding
- * ascii, utf8 or none.
- * @param clock
- * The clock path, can be null
- * @param alignment
- * The minimum alignment. Should be >= 1
- * @return the integer declaration
- * @since 3.0
- */
- public static IntegerDeclaration createDeclaration(int len, boolean signed, int base,
- @Nullable ByteOrder byteOrder, Encoding encoding, String clock, long alignment) {
- if (encoding.equals(Encoding.NONE) && (alignment == 8) && (clock.equals("")) && base == 10) { //$NON-NLS-1$
- switch (len) {
- case 5:
- if (!signed) {
- if (byteOrder != null && byteOrder.equals(ByteOrder.BIG_ENDIAN)) {
- return UINT_5B_DECL;
- }
- return UINT_5L_DECL;
- }
- break;
- case 8:
- return signed ? INT_8_DECL : UINT_8_DECL;
- case 16:
- if (!signed) {
- if (byteOrder != null && byteOrder.equals(ByteOrder.BIG_ENDIAN)) {
- return UINT_16B_DECL;
- }
- return UINT_16L_DECL;
- }
- break;
- case 27:
- if (!signed) {
- if (byteOrder != null && byteOrder.equals(ByteOrder.BIG_ENDIAN)) {
- return UINT_27B_DECL;
- }
- return UINT_27L_DECL;
- }
- break;
- case 32:
- if (signed) {
- if (byteOrder != null && byteOrder.equals(ByteOrder.BIG_ENDIAN)) {
- return INT_32B_DECL;
- }
- return INT_32L_DECL;
- }
- if (byteOrder != null && byteOrder.equals(ByteOrder.BIG_ENDIAN)) {
- return UINT_32B_DECL;
- }
- return UINT_32L_DECL;
- case 64:
- if (signed) {
- if (byteOrder != null && byteOrder.equals(ByteOrder.BIG_ENDIAN)) {
- return INT_64B_DECL;
- }
- return INT_64L_DECL;
- }
- if (byteOrder != null && byteOrder.equals(ByteOrder.BIG_ENDIAN)) {
- return UINT_64B_DECL;
- }
- return UINT_64L_DECL;
- default:
- }
- }
- return new IntegerDeclaration(len, signed, base, byteOrder, encoding, clock, alignment);
- }
-
- /**
- * Constructor
- *
- * @param len
- * The length in bits
- * @param signed
- * Is the integer signed? false == unsigned
- * @param base
- * The base (10-16 are most common)
- * @param byteOrder
- * Big-endian little-endian or other
- * @param encoding
- * ascii, utf8 or none.
- * @param clock
- * The clock path, can be null
- * @param alignment
- * The minimum alignment. Should be &ge; 1
- */
- private IntegerDeclaration(int len, boolean signed, int base,
- @Nullable ByteOrder byteOrder, Encoding encoding, String clock, long alignment) {
- if (len <= 0 || len == 1 && signed) {
- throw new IllegalArgumentException();
- }
-
- fLength = len;
- fSigned = signed;
- fBase = base;
-
- @SuppressWarnings("null")
- @NonNull
- ByteOrder actualByteOrder = (byteOrder == null ? ByteOrder.nativeOrder() : byteOrder);
- fByteOrder = actualByteOrder;
-
- fEncoding = encoding;
- fClock = clock;
- fAlignment = Math.max(alignment, 1);
- }
-
- private IntegerDeclaration(int len, boolean signed, @Nullable ByteOrder byteOrder) {
- this(len, signed, 10, byteOrder, Encoding.NONE, "", 8); //$NON-NLS-1$
- }
-
- // ------------------------------------------------------------------------
- // Getters/Setters/Predicates
- // ------------------------------------------------------------------------
-
- /**
- * Is the integer signed?
- *
- * @return the is the integer signed
- */
- public boolean isSigned() {
- return fSigned;
- }
-
- /**
- * Get the integer base commonly decimal or hex
- *
- * @return the integer base
- */
- public int getBase() {
- return fBase;
- }
-
- /**
- * Get the byte order
- *
- * @return the byte order
- */
- public ByteOrder getByteOrder() {
- return fByteOrder;
- }
-
- /**
- * Get encoding, chars are 8 bit ints
- *
- * @return the encoding
- */
- public Encoding getEncoding() {
- return fEncoding;
- }
-
- /**
- * Is the integer a character (8 bits and encoded?)
- *
- * @return is the integer a char
- */
- public boolean isCharacter() {
- return (fLength == 8) && (fEncoding != Encoding.NONE);
- }
-
- /**
- * Is the integer an unsigned byte (8 bits and no sign)?
- *
- * @return is the integer an unsigned byte
- * @since 3.1
- */
- public boolean isUnsignedByte() {
- return (fLength == 8) && (!fSigned);
- }
-
- /**
- * Get the length in bits for this integer
- *
- * @return the length of the integer
- */
- public int getLength() {
- return fLength;
- }
-
- @Override
- public long getAlignment() {
- return fAlignment;
- }
-
- /**
- * The integer's clock, since timestamps are stored in ints
- *
- * @return the integer's clock, can be null. (most often it is)
- */
- public String getClock() {
- return fClock;
- }
-
- /**
- * @since 3.0
- */
- @Override
- public int getMaximumSize() {
- return fLength;
- }
-
- // ------------------------------------------------------------------------
- // Operations
- // ------------------------------------------------------------------------
-
- /**
- * @since 3.0
- */
- @Override
- public IntegerDefinition createDefinition(@Nullable IDefinitionScope definitionScope,
- String fieldName, BitBuffer input) throws CTFReaderException {
- ByteOrder byteOrder = input.getByteOrder();
- input.setByteOrder(fByteOrder);
- long value = read(input);
- input.setByteOrder(byteOrder);
- return new IntegerDefinition(this, definitionScope, fieldName, value);
- }
-
- @Override
- public String toString() {
- /* Only used for debugging */
- return "[declaration] integer[" + Integer.toHexString(hashCode()) + ']'; //$NON-NLS-1$
- }
-
- /**
- * Get the maximum value for this integer declaration.
- *
- * @return The maximum value for this integer declaration
- * @since 2.0
- */
- public BigInteger getMaxValue() {
- /*
- * Compute the number of bits able to represent an unsigned number,
- * ignoring sign bit.
- */
- int significantBits = fLength - (fSigned ? 1 : 0);
- /*
- * For a given N significant bits, compute the maximal value which is (1
- * << N) - 1.
- */
-
- @SuppressWarnings("null")
- @NonNull
- BigInteger ret = BigInteger.ONE.shiftLeft(significantBits).subtract(BigInteger.ONE);
- return ret;
- }
-
- /**
- * Get the minimum value for this integer declaration.
- *
- * @return The minimum value for this integer declaration
- * @since 2.0
- */
- public BigInteger getMinValue() {
- if (!fSigned) {
- @SuppressWarnings("null")
- @NonNull
- BigInteger ret = BigInteger.ZERO;
- return ret;
- }
-
- /*
- * Compute the number of bits able to represent an unsigned number,
- * without the sign bit.
- */
- int significantBits = fLength - 1;
- /*
- * For a given N significant bits, compute the minimal value which is -
- * (1 << N).
- */
- @SuppressWarnings("null")
- @NonNull
- BigInteger ret = BigInteger.ONE.shiftLeft(significantBits).negate();
- return ret;
- }
-
- private long read(BitBuffer input) throws CTFReaderException {
- /* Offset the buffer position wrt the current alignment */
- alignRead(input);
-
- boolean signed = isSigned();
- int length = getLength();
- long bits = 0;
-
- /*
- * Is the endianness of this field the same as the endianness of the
- * input buffer? If not, then temporarily set the buffer's endianness to
- * this field's just to read the data
- */
- ByteOrder previousByteOrder = input.getByteOrder();
- if ((getByteOrder() != input.getByteOrder())) {
- input.setByteOrder(getByteOrder());
- }
-
- if (length > 64) {
- throw new CTFReaderException("Cannot read an integer with over 64 bits. Length given: " + length); //$NON-NLS-1$
- }
-
- bits = input.get(length, signed);
-
- /*
- * Put the input buffer's endianness back to original if it was changed
- */
- if (previousByteOrder != input.getByteOrder()) {
- input.setByteOrder(previousByteOrder);
- }
-
- return bits;
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/ctf/core/event/types/IntegerDefinition.java b/lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/ctf/core/event/types/IntegerDefinition.java
deleted file mode 100644
index 15486c7c7e..0000000000
--- a/lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/ctf/core/event/types/IntegerDefinition.java
+++ /dev/null
@@ -1,149 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011, 2013 Ericsson, Ecole Polytechnique de Montreal and others
- *
- * 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: Matthew Khouzam - Initial API and implementation
- * Contributors: Simon Marchi - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.ctf.core.event.types;
-
-import java.math.BigInteger;
-
-import org.eclipse.jdt.annotation.NonNull;
-import org.eclipse.linuxtools.ctf.core.event.scope.IDefinitionScope;
-
-/**
- * A CTF integer definition.
- *
- * The definition of a integer basic data type. It will take the data from a
- * trace and store it (and make it fit) as a long.
- *
- * @version 1.0
- * @author Matthew Khouzam
- * @author Simon Marchi
- */
-public final class IntegerDefinition extends SimpleDatatypeDefinition {
-
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
-
- private final long fValue;
-
- // ------------------------------------------------------------------------
- // Constructors
- // ------------------------------------------------------------------------
-
- /**
- * Constructor
- *
- * @param declaration
- * the parent declaration
- * @param definitionScope
- * the parent scope
- * @param fieldName
- * the field name
- * @param value
- * integer value
- * @since 3.0
- */
- public IntegerDefinition(@NonNull IntegerDeclaration declaration,
- IDefinitionScope definitionScope, @NonNull String fieldName, long value) {
- super(declaration, definitionScope, fieldName);
- fValue = value;
- }
-
- // ------------------------------------------------------------------------
- // Getters/Setters/Predicates
- // ------------------------------------------------------------------------
-
- /**
- * Gets the value of the integer
- *
- * @return the value of the integer (in long)
- */
- public long getValue() {
- return fValue;
- }
-
- @Override
- public IntegerDeclaration getDeclaration() {
- return (IntegerDeclaration) super.getDeclaration();
- }
-
- // ------------------------------------------------------------------------
- // Operations
- // ------------------------------------------------------------------------
-
- @Override
- public Long getIntegerValue() {
- return getValue();
- }
-
- @Override
- public String getStringValue() {
- return this.toString();
- }
-
- @Override
- public String toString() {
- if (getDeclaration().isCharacter()) {
- char c = (char) fValue;
- return Character.toString(c);
- }
- return formatNumber(fValue, getDeclaration().getBase(), getDeclaration().isSigned());
- }
-
- /**
- * Print a numeric value as a string in a given base
- *
- * @param value
- * The value to print as string
- * @param base
- * The base for this value
- * @param signed
- * Is the value signed or not
- * @return formatted number string
- * @since 3.0
- */
- public static final String formatNumber(long value, int base, boolean signed) {
- String s;
- /* Format the number correctly according to the integer's base */
- switch (base) {
- case 2:
- s = "0b" + Long.toBinaryString(value); //$NON-NLS-1$
- break;
- case 8:
- s = "0" + Long.toOctalString(value); //$NON-NLS-1$
- break;
- case 16:
- s = "0x" + Long.toHexString(value); //$NON-NLS-1$
- break;
- case 10:
- default:
- /* For non-standard base, we'll just print it as a decimal number */
- if (!signed && value < 0) {
- /*
- * Since there are no 'unsigned long', handle this case with
- * BigInteger
- */
- BigInteger bigInteger = BigInteger.valueOf(value);
- /*
- * we add 2^64 to the negative number to get the real unsigned
- * value
- */
- bigInteger = bigInteger.add(BigInteger.valueOf(1).shiftLeft(64));
- s = bigInteger.toString();
- } else {
- s = Long.toString(value);
- }
- break;
- }
- return s;
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/ctf/core/event/types/ScopedDefinition.java b/lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/ctf/core/event/types/ScopedDefinition.java
deleted file mode 100644
index 4519831463..0000000000
--- a/lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/ctf/core/event/types/ScopedDefinition.java
+++ /dev/null
@@ -1,185 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 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:
- * Matthew Khouzam - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.ctf.core.event.types;
-
-import org.eclipse.jdt.annotation.NonNullByDefault;
-import org.eclipse.jdt.annotation.Nullable;
-import org.eclipse.linuxtools.ctf.core.event.scope.IDefinitionScope;
-import org.eclipse.linuxtools.ctf.core.event.scope.LexicalScope;
-
-/**
- * Scoped defintion. a defintion where you can lookup various datatypes
- *
- * TODO: replace by default methods and an interface when java 8 is upon us
- *
- * @author Matthew Khouzam
- * @since 3.1
- */
-@NonNullByDefault
-public abstract class ScopedDefinition extends Definition implements IDefinitionScope {
-
- /**
- * Constructor
- *
- * @param declaration
- * the event declaration
- * @param definitionScope
- * the definition is in a scope, (normally a struct) what is it?
- * @param fieldName
- * the name of the definition. (it is a field in the parent
- * scope)
- */
- public ScopedDefinition(IDeclaration declaration, @Nullable IDefinitionScope definitionScope, String fieldName) {
- super(declaration, definitionScope, fieldName);
- }
-
- /**
- * Constructor This one takes the scope and thus speeds up definition
- * creation
- *
- * @param declaration
- * the parent declaration
- * @param definitionScope
- * the parent scope
- * @param fieldName
- * the field name
- * @param scope
- * the lexical scope
- * @since 3.1
- */
- public ScopedDefinition(StructDeclaration declaration, @Nullable IDefinitionScope definitionScope, String fieldName, LexicalScope scope) {
- super(declaration, definitionScope, fieldName, scope);
- }
-
- /**
- * Lookup an array in a struct. If the name returns a non-array (like an
- * int) then the method returns null
- *
- * @param name
- * the name of the array
- * @return the array or null.
- */
- public @Nullable AbstractArrayDefinition lookupArrayDefinition(String name) {
- Definition def = lookupDefinition(name);
- return (AbstractArrayDefinition) ((def instanceof AbstractArrayDefinition) ? def : null);
- }
-
- /**
- * Lookup an array in a struct. If the name returns a non-array (like an
- * int) then the method returns null
- *
- * @param name
- * the name of the array
- * @return the array or null.
- * @deprecated use {@link ScopedDefinition#lookupArrayDefinition(String)}
- */
- @Deprecated
- @Nullable
- public ArrayDefinition lookupArray(String name) {
- Definition def = lookupDefinition(name);
- return (ArrayDefinition) ((def instanceof ArrayDefinition) ? def : null);
- }
-
- /**
- * Lookup an enum in a struct. If the name returns a non-enum (like an int)
- * then the method returns null
- *
- * @param name
- * the name of the enum
- * @return the enum or null if a definition is not found or it does not
- * match the desired datatype.
- */
- @Nullable
- public EnumDefinition lookupEnum(String name) {
- Definition def = lookupDefinition(name);
- return (EnumDefinition) ((def instanceof EnumDefinition) ? def : null);
- }
-
- /**
- * Lookup an integer in a struct. If the name returns a non-integer (like an
- * float) then the method returns null
- *
- * @param name
- * the name of the integer
- * @return the integer or null if a definition is not found or it does not
- * match the desired datatype.
- */
- @Nullable
- public IntegerDefinition lookupInteger(String name) {
- Definition def = lookupDefinition(name);
- return (IntegerDefinition) ((def instanceof IntegerDefinition) ? def : null);
- }
-
- /**
- * Lookup a sequence in a struct. If the name returns a non-sequence (like
- * an int) then the method returns null
- *
- * @param name
- * the name of the sequence
- * @return the sequence or null if a definition is not found or it does not
- * match the desired datatype.
- * @since 3.0
- * @deprecated use {@link ScopedDefinition#lookupArrayDefinition(String)}
- */
- @Deprecated
- @Nullable
- public SequenceDefinition lookupSequence(String name) {
- Definition def = lookupDefinition(name);
- return (SequenceDefinition) ((def instanceof SequenceDefinition) ? def : null);
- }
-
- /**
- * Lookup a string in a struct. If the name returns a non-string (like an
- * int) then the method returns null
- *
- * @param name
- * the name of the string
- * @return the string or null if a definition is not found or it does not
- * match the desired datatype.
- */
- @Nullable
- public StringDefinition lookupString(String name) {
- Definition def = lookupDefinition(name);
- return (StringDefinition) ((def instanceof StringDefinition) ? def : null);
- }
-
- /**
- * Lookup a struct in a struct. If the name returns a non-struct (like an
- * int) then the method returns null
- *
- * @param name
- * the name of the struct
- * @return the struct or null if a definition is not found or it does not
- * match the desired datatype.
- */
- @Nullable
- public StructDefinition lookupStruct(String name) {
- Definition def = lookupDefinition(name);
- return (StructDefinition) ((def instanceof StructDefinition) ? def : null);
- }
-
- /**
- * Lookup a variant in a struct. If the name returns a non-variant (like an
- * int) then the method returns null
- *
- * @param name
- * the name of the variant
- * @return the variant or null if a definition is not found or it does not
- * match the desired datatype.
- */
- @Nullable
- public VariantDefinition lookupVariant(String name) {
- Definition def = lookupDefinition(name);
- return (VariantDefinition) ((def instanceof VariantDefinition) ? def : null);
- }
-} \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/ctf/core/event/types/SequenceDeclaration.java b/lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/ctf/core/event/types/SequenceDeclaration.java
deleted file mode 100644
index 68e0ff7a6c..0000000000
--- a/lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/ctf/core/event/types/SequenceDeclaration.java
+++ /dev/null
@@ -1,145 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011-2012 Ericsson, Ecole Polytechnique de Montreal and others
- *
- * 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: Matthew Khouzam - Initial API and implementation
- * Contributors: Simon Marchi - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.ctf.core.event.types;
-
-import java.util.Collection;
-import java.util.List;
-
-import org.eclipse.linuxtools.ctf.core.event.io.BitBuffer;
-import org.eclipse.linuxtools.ctf.core.event.scope.IDefinitionScope;
-import org.eclipse.linuxtools.ctf.core.trace.CTFReaderException;
-
-import com.google.common.collect.ArrayListMultimap;
-import com.google.common.collect.ImmutableList;
-import com.google.common.collect.ImmutableList.Builder;
-import com.google.common.collect.Multimap;
-
-/**
- * A CTF sequence declaration.
- *
- * An array where the size is fixed but declared in the trace, unlike array
- * where it is declared with a literal
- * @deprecated use {@link org.eclipse.linuxtools.internal.ctf.core.event.types.SequenceDeclaration}
- * @version 1.0
- * @author Matthew Khouzam
- * @author Simon Marchi
- */
-@Deprecated
-public class SequenceDeclaration extends CompoundDeclaration {
-
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
-
- private final IDeclaration fElemType;
- private final String fLengthName;
- private final Multimap<String, String> fPaths = ArrayListMultimap.<String, String>create();
-
- // ------------------------------------------------------------------------
- // Constructors
- // ------------------------------------------------------------------------
-
- /**
- * Constructor
- *
- * @param lengthName
- * the name of the field describing the length
- * @param elemType
- * The element type
- */
- public SequenceDeclaration(String lengthName, IDeclaration elemType) {
- fElemType = elemType;
- fLengthName = lengthName;
- }
-
- // ------------------------------------------------------------------------
- // Getters/Setters/Predicates
- // ------------------------------------------------------------------------
-
- @Override
- public IDeclaration getElementType() {
- return fElemType;
- }
-
- /**
- * Gets the name of the length field
- *
- * @return the name of the length field
- */
- public String getLengthName() {
- return fLengthName;
- }
-
- // ------------------------------------------------------------------------
- // Operations
- // ------------------------------------------------------------------------
-
- /**
- * @since 3.0
- */
- @SuppressWarnings("null") // immutablelist
- @Override
- public SequenceDefinition createDefinition(
- IDefinitionScope definitionScope, String fieldName, BitBuffer input) throws CTFReaderException {
- IDefinition lenDef = null;
-
- if (definitionScope != null) {
- lenDef = definitionScope.lookupDefinition(getLengthName());
- }
-
- if (lenDef == null) {
- throw new CTFReaderException("Sequence length field not found"); //$NON-NLS-1$
- }
-
- if (!(lenDef instanceof IntegerDefinition)) {
- throw new CTFReaderException("Sequence length field not integer"); //$NON-NLS-1$
- }
-
- IntegerDefinition lengthDefinition = (IntegerDefinition) lenDef;
-
- if (lengthDefinition.getDeclaration().isSigned()) {
- throw new CTFReaderException("Sequence length must not be signed"); //$NON-NLS-1$
- }
-
- long length = lengthDefinition.getValue();
- if ((length > Integer.MAX_VALUE) || (!input.canRead((int) length * fElemType.getMaximumSize()))) {
- throw new CTFReaderException("Sequence length too long " + length); //$NON-NLS-1$
- }
-
- Collection<String> collection = fPaths.get(fieldName);
- while (collection.size() < length) {
- fPaths.put(fieldName, fieldName + '[' + collection.size() + ']');
- }
- List<String> paths = (List<String>) fPaths.get(fieldName);
- Builder<Definition> definitions = new ImmutableList.Builder<>();
- for (int i = 0; i < length; i++) {
- definitions.add(fElemType.createDefinition(definitionScope, paths.get(i), input));
- }
- return new SequenceDefinition(this, definitionScope, fieldName, definitions.build());
- }
-
- @Override
- public String toString() {
- /* Only used for debugging */
- return "[declaration] sequence[" + Integer.toHexString(hashCode()) + ']'; //$NON-NLS-1$
- }
-
- /**
- * @since 3.0
- */
- @Override
- public int getMaximumSize() {
- return Integer.MAX_VALUE;
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/ctf/core/event/types/SequenceDefinition.java b/lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/ctf/core/event/types/SequenceDefinition.java
deleted file mode 100644
index 3f0a290048..0000000000
--- a/lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/ctf/core/event/types/SequenceDefinition.java
+++ /dev/null
@@ -1,126 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011, 2013 Ericsson, Ecole Polytechnique de Montreal and others
- *
- * 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: Matthew Khouzam - Initial API and implementation
- * Contributors: Simon Marchi - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.ctf.core.event.types;
-
-import java.util.List;
-
-import org.eclipse.jdt.annotation.NonNull;
-import org.eclipse.linuxtools.ctf.core.event.scope.IDefinitionScope;
-
-import com.google.common.base.Joiner;
-import com.google.common.collect.ImmutableList;
-
-/**
- * A CTF sequence definition (a fixed-size array).
- *
- * An array where the size is fixed but declared in the trace, unlike array
- * where it is declared with a literal
- *
- * @deprecated use {@link AbstractArrayDefinition}
- * @version 1.0
- * @author Matthew Khouzam
- * @author Simon Marchi
- */
-@Deprecated
-public final class SequenceDefinition extends Definition {
-
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
-
- private final ImmutableList<Definition> fDefinitions;
-
- // ------------------------------------------------------------------------
- // Constructors
- // ------------------------------------------------------------------------
-
- /**
- * Constructor
- *
- * @param declaration
- * the parent declaration
- * @param definitionScope
- * the parent scope
- * @param fieldName
- * the field name
- * @param definitions
- * Definitions
- * @since 3.0
- */
- public SequenceDefinition(@NonNull SequenceDeclaration declaration, IDefinitionScope definitionScope, @NonNull String fieldName, List<Definition> definitions) {
- super(declaration, definitionScope, fieldName);
- fDefinitions = ImmutableList.copyOf(definitions);
- }
-
- // ------------------------------------------------------------------------
- // Getters/Setters/Predicates
- // ------------------------------------------------------------------------
-
- @Override
- public SequenceDeclaration getDeclaration() {
- return (SequenceDeclaration) super.getDeclaration();
- }
-
- /**
- * The length of the sequence in number of elements so a sequence of 5
- * GIANT_rediculous_long_ints is the same as a sequence of 5 bits. (5)
- *
- * @return the length of the sequence
- */
- public int getLength() {
- return fDefinitions.size();
- }
-
- /**
- * Get the element at i
- *
- * @param i
- * the index (cannot be negative)
- * @return The element at I, if I &gt; length, null, if I &lt; 0, the method
- * throws an out of bounds exception
- */
- public Definition getElem(int i) {
- if (i > fDefinitions.size()) {
- return null;
- }
- return fDefinitions.get(i);
- }
-
- // ------------------------------------------------------------------------
- // Operations
- // ------------------------------------------------------------------------
-
- @Override
- public String toString() {
- StringBuilder b = new StringBuilder();
-
- if (getDeclaration().isString()) {
- for (Definition def : fDefinitions) {
- IntegerDefinition character = (IntegerDefinition) def;
-
- if (character.getValue() == 0) {
- break;
- }
-
- b.append(character.toString());
- }
- } else {
- b.append('[');
- Joiner joiner = Joiner.on(", ").skipNulls(); //$NON-NLS-1$
- b.append(joiner.join(fDefinitions));
- b.append(']');
- }
-
- return b.toString();
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/ctf/core/event/types/SimpleDatatypeDefinition.java b/lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/ctf/core/event/types/SimpleDatatypeDefinition.java
deleted file mode 100644
index 492d19f20c..0000000000
--- a/lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/ctf/core/event/types/SimpleDatatypeDefinition.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011, 2013 Ericsson, Ecole Polytechnique de Montreal and others
- *
- * 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: Matthew Khouzam - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.ctf.core.event.types;
-
-import org.eclipse.jdt.annotation.NonNull;
-import org.eclipse.linuxtools.ctf.core.event.scope.IDefinitionScope;
-
-/**
- * Simple Datatype definition is a datatype that allows the addition of
- * getIntegerValue and getStringValue to a class.
- *
- * @author Matthew Khouzam
- * @since 1.2
- */
-public abstract class SimpleDatatypeDefinition extends Definition {
-
- /**
- * Create a new SimpleDatatypeDefinition
- *
- * @param declaration
- * definition's declaration
- * @param definitionScope
- * The scope of this definition
- * @param fieldName
- * The name of the field matching this definition in the parent
- * scope
- * @since 3.0
- */
- public SimpleDatatypeDefinition(@NonNull IDeclaration declaration, IDefinitionScope definitionScope,
- @NonNull String fieldName) {
- super(declaration, definitionScope, fieldName);
- }
-
- /**
- * Gets the value in integer form
- *
- * @return the integer in a Long, can be null
- */
- public Long getIntegerValue() {
- return null;
- }
-
- /**
- * Gets the value in string form
- *
- * @return the integer in a String, can be null
- */
- public String getStringValue() {
- return null;
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/ctf/core/event/types/StringDeclaration.java b/lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/ctf/core/event/types/StringDeclaration.java
deleted file mode 100644
index 710f75aa4e..0000000000
--- a/lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/ctf/core/event/types/StringDeclaration.java
+++ /dev/null
@@ -1,114 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011, 2013 Ericsson, Ecole Polytechnique de Montreal and others
- *
- * 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: Matthew Khouzam - Initial API and implementation
- * Contributors: Simon Marchi - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.ctf.core.event.types;
-
-import org.eclipse.linuxtools.ctf.core.event.io.BitBuffer;
-import org.eclipse.linuxtools.ctf.core.event.scope.IDefinitionScope;
-import org.eclipse.linuxtools.ctf.core.trace.CTFReaderException;
-
-/**
- * A CTF string declaration.
- *
- * Strings are an array of bytes of variable size and are terminated by a '\0'
- * "NULL" character. Their encoding is described in the TSDL meta-data. In
- * absence of encoding attribute information, the default encoding is UTF-8.
- *
- * @version 1.0
- * @author Matthew Khouzam
- * @author Simon Marchi
- */
-public class StringDeclaration extends Declaration {
-
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
-
- private final Encoding fEncoding;
-
- // ------------------------------------------------------------------------
- // Constructors
- // ------------------------------------------------------------------------
-
- /**
- * Generate a UTF8 string declaration
- */
- public StringDeclaration() {
- fEncoding = Encoding.UTF8;
- }
-
- /**
- * Generate an encoded string declaration
- * @param encoding the encoding, utf8 or ascii
- */
- public StringDeclaration(Encoding encoding) {
- fEncoding = encoding;
- }
-
- // ------------------------------------------------------------------------
- // Getters/Setters/Predicates
- // ------------------------------------------------------------------------
-
- /**
- *
- * @return the character encoding.
- */
- public Encoding getEncoding() {
- return fEncoding;
- }
-
- @Override
- public long getAlignment() {
- // See ctf 4.2.5: Strings are always aligned on byte size.
- return 8;
- }
-
- /**
- * @since 3.0
- */
- @Override
- public int getMaximumSize() {
- return Integer.MAX_VALUE;
- }
- // ------------------------------------------------------------------------
- // Operations
- // ------------------------------------------------------------------------
-
- /**
- * @since 3.0
- */
- @Override
- public StringDefinition createDefinition(IDefinitionScope definitionScope,
- String fieldName, BitBuffer input) throws CTFReaderException {
- String value = read(input);
- return new StringDefinition(this, definitionScope, fieldName, value);
- }
-
- private String read(BitBuffer input) throws CTFReaderException {
- /* Offset the buffer position wrt the current alignment */
- alignRead(input);
-
- StringBuilder sb = new StringBuilder();
- char c = (char) input.get(8, false);
- while (c != 0) {
- sb.append(c);
- c = (char) input.get(8, false);
- }
- return sb.toString();
- }
- @Override
- public String toString() {
- /* Only used for debugging */
- return "[declaration] string[" + Integer.toHexString(hashCode()) + ']'; //$NON-NLS-1$
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/ctf/core/event/types/StringDefinition.java b/lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/ctf/core/event/types/StringDefinition.java
deleted file mode 100644
index 853605248c..0000000000
--- a/lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/ctf/core/event/types/StringDefinition.java
+++ /dev/null
@@ -1,87 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011, 2013 Ericsson, Ecole Polytechnique de Montreal and others
- *
- * 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: Matthew Khouzam - Initial API and implementation
- * Contributors: Simon Marchi - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.ctf.core.event.types;
-
-import org.eclipse.jdt.annotation.NonNull;
-import org.eclipse.linuxtools.ctf.core.event.scope.IDefinitionScope;
-
-/**
- * A CTF string definition (similar to a C null-terminated byte array).
- *
- * Strings are an array of bytes of variable size and are terminated by a '\0'
- * "NULL" character. Their encoding is described in the TSDL meta-data. In
- * absence of encoding attribute information, the default encoding is UTF-8.
- *
- * @version 1.0
- * @author Matthew Khouzam
- * @author Simon Marchi
- */
-public final class StringDefinition extends Definition {
-
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
-
- private final String fString;
-
- // ------------------------------------------------------------------------
- // Constructors
- // ------------------------------------------------------------------------
-
- /**
- * Constructor
- *
- * @param declaration
- * the parent declaration
- * @param definitionScope
- * the parent scope
- * @param fieldName
- * the field name
- * @param value
- * The String value
- * @since 3.0
- */
- public StringDefinition(@NonNull StringDeclaration declaration,
- IDefinitionScope definitionScope, @NonNull String fieldName, String value) {
- super(declaration, definitionScope, fieldName);
- fString = value;
- }
-
- // ------------------------------------------------------------------------
- // Getters/Setters/Predicates
- // ------------------------------------------------------------------------
-
- @Override
- public StringDeclaration getDeclaration() {
- return (StringDeclaration) super.getDeclaration();
- }
-
- /**
- * Gets the string (value)
- *
- * @return the string
- */
- public String getValue() {
- return fString;
- }
-
- // ------------------------------------------------------------------------
- // Operations
- // ------------------------------------------------------------------------
-
- @Override
- public String toString() {
- return '\"' + getValue() + '\"';
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/ctf/core/event/types/StructDeclaration.java b/lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/ctf/core/event/types/StructDeclaration.java
deleted file mode 100644
index a356e8650a..0000000000
--- a/lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/ctf/core/event/types/StructDeclaration.java
+++ /dev/null
@@ -1,261 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011, 2014 Ericsson, Ecole Polytechnique de Montreal and others
- *
- * 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: Matthew Khouzam - Initial API and implementation
- * Contributors: Simon Marchi - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.ctf.core.event.types;
-
-import java.util.Iterator;
-import java.util.LinkedHashMap;
-import java.util.Map;
-
-import org.eclipse.jdt.annotation.NonNull;
-import org.eclipse.jdt.annotation.Nullable;
-import org.eclipse.linuxtools.ctf.core.event.io.BitBuffer;
-import org.eclipse.linuxtools.ctf.core.event.scope.IDefinitionScope;
-import org.eclipse.linuxtools.ctf.core.event.scope.LexicalScope;
-import org.eclipse.linuxtools.ctf.core.trace.CTFReaderException;
-
-/**
- * A CTF structure declaration.
- *
- * A structure is similar to a C structure, it is a compound data type that
- * contains other datatypes in fields. they are stored in an hashmap and indexed
- * by names which are strings.
- *
- * @version 1.0
- * @author Matthew Khouzam
- * @author Simon Marchi
- */
-public class StructDeclaration extends Declaration {
-
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
-
- /** linked list of field names. So fieldName->fieldValue */
- private final @NonNull Map<String, IDeclaration> fFieldMap = new LinkedHashMap<>();
-
- /** maximum bit alignment */
- private long fMaxAlign;
-
- // ------------------------------------------------------------------------
- // Constructors
- // ------------------------------------------------------------------------
-
- /**
- * The struct declaration, add fields later
- *
- * @param align
- * the minimum alignment of the struct. (if a struct is 8bit
- * aligned and has a 32 bit aligned field, the struct becomes 32
- * bit aligned.
- */
- public StructDeclaration(long align) {
- fMaxAlign = Math.max(align, 1);
- }
-
- /**
- * Struct declaration constructor
- *
- * @param names
- * the names of all the fields
- * @param declarations
- * all the fields
- * @since 3.0
- */
- public StructDeclaration(String[] names, Declaration[] declarations) {
- fMaxAlign = 1;
-
- for (int i = 0; i < names.length; i++) {
- addField(names[i], declarations[i]);
- }
- }
-
- // ------------------------------------------------------------------------
- // Getters/Setters/Predicates
- // ------------------------------------------------------------------------
-
- /**
- * Get current alignment
- *
- * @return the alignment of the struct and all its fields
- */
- public long getMaxAlign() {
- return fMaxAlign;
- }
-
- /**
- * Query if the struct has a given field
- *
- * @param name
- * the name of the field, scopeless please
- * @return does the field exist?
- */
- public boolean hasField(String name) {
- return fFieldMap.containsKey(name);
- }
-
- /**
- * Get the fields of the struct as a map.
- *
- * @return a Map of the fields (key is the name)
- * @since 2.0
- */
- public Map<String, IDeclaration> getFields() {
- return fFieldMap;
- }
-
- /**
- * Get the field declaration corresponding to a field name.
- *
- * @param fieldName
- * The field name
- * @return The declaration of the field, or null if there is no such field.
- * @since 3.1
- */
- @Nullable
- public IDeclaration getField(String fieldName) {
- return fFieldMap.get(fieldName);
- }
-
- /**
- * Gets the field list. Very important since the map of fields does not
- * retain the order of the fields.
- *
- * @return the field list.
- * @since 3.0
- */
- public Iterable<String> getFieldsList() {
- return fFieldMap.keySet();
- }
-
- @Override
- public long getAlignment() {
- return this.fMaxAlign;
- }
-
- /**
- * @since 3.0
- */
- @Override
- public int getMaximumSize() {
- int maxSize = 0;
- for (IDeclaration field : fFieldMap.values()) {
- maxSize += field.getMaximumSize();
- }
- return Math.min(maxSize, Integer.MAX_VALUE);
- }
-
- // ------------------------------------------------------------------------
- // Operations
- // ------------------------------------------------------------------------
-
- /**
- * @since 3.0
- */
- @Override
- public StructDefinition createDefinition(IDefinitionScope definitionScope,
- String fieldName, BitBuffer input) throws CTFReaderException {
- alignRead(input);
- final Definition[] myFields = new Definition[fFieldMap.size()];
- StructDefinition structDefinition = new StructDefinition(this, definitionScope, fieldName, fFieldMap.keySet(), myFields);
- fillStruct(input, myFields, structDefinition);
- return structDefinition;
- }
-
- /**
- * Create a definition from this declaration. This is a faster constructor
- * as it has a lexical scope and this does not need to look it up.
- *
- * @param definitionScope
- * the definition scope, the parent where the definition will be
- * placed
- * @param fieldScope
- * the scope of the definition
- * @param input
- * a bitbuffer to read from
- * @return a reference to the definition
- * @throws CTFReaderException
- * error in reading
- * @since 3.1
- */
- public StructDefinition createDefinition(IDefinitionScope definitionScope,
- LexicalScope fieldScope, @NonNull BitBuffer input) throws CTFReaderException {
- alignRead(input);
- final Definition[] myFields = new Definition[fFieldMap.size()];
- /*
- * Key set is NOT null
- */
- @SuppressWarnings("null")
- StructDefinition structDefinition = new StructDefinition(this, definitionScope, fieldScope, fieldScope.getName(), fFieldMap.keySet(), myFields);
- fillStruct(input, myFields, structDefinition);
- return structDefinition;
- }
-
- /**
- * Add a field to the struct
- *
- * @param name
- * the name of the field, scopeless
- * @param declaration
- * the declaration of the field
- */
- public void addField(String name, IDeclaration declaration) {
- fFieldMap.put(name, declaration);
- fMaxAlign = Math.max(fMaxAlign, declaration.getAlignment());
- }
-
- @SuppressWarnings("null")
- private void fillStruct(@NonNull BitBuffer input, final Definition[] myFields, StructDefinition structDefinition) throws CTFReaderException {
- Iterator<Map.Entry<String, IDeclaration>> iter = fFieldMap.entrySet().iterator();
- for (int i = 0; i < fFieldMap.size(); i++) {
- Map.Entry<String, IDeclaration> entry = iter.next();
- myFields[i] = entry.getValue().createDefinition(structDefinition, entry.getKey(), input);
- }
- }
-
- @Override
- public String toString() {
- /* Only used for debugging */
- return "[declaration] struct[" + Integer.toHexString(hashCode()) + ']'; //$NON-NLS-1$
- }
-
- @Override
- public int hashCode() {
- final int prime = 31;
- int result = 1;
- result = (prime * result) + fFieldMap.entrySet().hashCode();
- result = (prime * result) + (int) (fMaxAlign ^ (fMaxAlign >>> 32));
- return result;
- }
-
- @Override
- public boolean equals(Object obj) {
- if (this == obj) {
- return true;
- }
- if (obj == null) {
- return false;
- }
- if (!(obj instanceof StructDeclaration)) {
- return false;
- }
- StructDeclaration other = (StructDeclaration) obj;
- if (!fFieldMap.entrySet().equals(other.fFieldMap.entrySet())) {
- return false;
- }
- if (fMaxAlign != other.fMaxAlign) {
- return false;
- }
- return true;
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/ctf/core/event/types/StructDefinition.java b/lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/ctf/core/event/types/StructDefinition.java
deleted file mode 100644
index c3962e8bdf..0000000000
--- a/lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/ctf/core/event/types/StructDefinition.java
+++ /dev/null
@@ -1,213 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011, 2014 Ericsson, Ecole Polytechnique de Montreal and others
- *
- * 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: Matthew Khouzam - Initial API and implementation
- * Contributors: Simon Marchi - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.ctf.core.event.types;
-
-import java.util.Collections;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.jdt.annotation.NonNull;
-import org.eclipse.linuxtools.ctf.core.event.scope.IDefinitionScope;
-import org.eclipse.linuxtools.ctf.core.event.scope.LexicalScope;
-
-import com.google.common.base.Joiner;
-import com.google.common.collect.ImmutableList;
-import com.google.common.collect.ImmutableMap;
-import com.google.common.collect.ImmutableMap.Builder;
-
-/**
- * A CTF structure definition (similar to a C structure).
- *
- * A structure is similar to a C structure, it is a compound data type that
- * contains other datatypes in fields. they are stored in an hashmap and indexed
- * by names which are strings.
- *
- * TODO: move me to internal
- *
- * @version 1.0
- * @author Matthew Khouzam
- * @author Simon Marchi
- */
-public final class StructDefinition extends ScopedDefinition implements ICompositeDefinition {
-
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
-
- private final ImmutableList<String> fFieldNames;
- private final Definition[] fDefinitions;
- private Map<String, Definition> fDefinitionsMap = null;
-
- // ------------------------------------------------------------------------
- // Constructors
- // ------------------------------------------------------------------------
-
- /**
- * *DEPRECATED* TODO: To remove once we break the API...
- *
- * Not marked with the annotation to not annoy callers using a List, which
- * is still as valid with the new constructor. But the compiler gives an
- * error even though a Iterable is a List too...
- *
- * @param declaration
- * the parent declaration
- * @param definitionScope
- * the parent scope
- * @param structFieldName
- * the field name
- * @param fieldNames
- * the list of fields
- * @param definitions
- * the definitions
- * @since 3.1
- */
- public StructDefinition(@NonNull StructDeclaration declaration,
- IDefinitionScope definitionScope,
- @NonNull String structFieldName,
- List<String> fieldNames,
- Definition[] definitions) {
- this(declaration, definitionScope, structFieldName, (Iterable<String>) fieldNames, definitions);
- }
-
- /**
- * Constructor
- *
- * @param declaration
- * the parent declaration
- * @param definitionScope
- * the parent scope
- * @param structFieldName
- * the field name
- * @param fieldNames
- * the list of fields
- * @param definitions
- * the definitions
- * @since 3.1
- */
- public StructDefinition(@NonNull StructDeclaration declaration,
- IDefinitionScope definitionScope,
- @NonNull String structFieldName,
- Iterable<String> fieldNames,
- Definition[] definitions) {
- super(declaration, definitionScope, structFieldName);
- fFieldNames = ImmutableList.copyOf(fieldNames);
- fDefinitions = definitions;
- if (fFieldNames.isEmpty()) {
- fDefinitionsMap = Collections.EMPTY_MAP;
- }
- }
-
- /**
- * Constructor This one takes the scope and thus speeds up definition
- * creation
- *
- * @param declaration
- * the parent declaration
- * @param definitionScope
- * the parent scope
- * @param scope
- * the scope of this variable
- * @param structFieldName
- * the field name
- * @param fieldNames
- * the list of fields
- * @param definitions
- * the definitions
- * @since 3.1
- */
- public StructDefinition(@NonNull StructDeclaration declaration,
- IDefinitionScope definitionScope, @NonNull LexicalScope scope,
- @NonNull String structFieldName, @NonNull Iterable<String> fieldNames, Definition[] definitions) {
- super(declaration, definitionScope, structFieldName, scope);
- fFieldNames = ImmutableList.copyOf(fieldNames);
- fDefinitions = definitions;
- if (fFieldNames.isEmpty()) {
- fDefinitionsMap = Collections.EMPTY_MAP;
- }
- }
-
- // ------------------------------------------------------------------------
- // Getters/Setters/Predicates
- // ------------------------------------------------------------------------
-
- @Override
- public Definition getDefinition(String fieldName) {
- if (fDefinitionsMap == null) {
- /* Build the definitions map */
- Builder<String, Definition> mapBuilder = new ImmutableMap.Builder<>();
- for (int i = 0; i < fFieldNames.size(); i++) {
- if (fDefinitions[i] != null) {
- mapBuilder.put(fFieldNames.get(i), fDefinitions[i]);
- }
- }
- fDefinitionsMap = mapBuilder.build();
- }
- return fDefinitionsMap.get(fieldName);
- }
-
- @Override
- public List<String> getFieldNames() {
- return fFieldNames;
- }
-
- @Override
- public StructDeclaration getDeclaration() {
- return (StructDeclaration) super.getDeclaration();
- }
-
- // ------------------------------------------------------------------------
- // Operations
- // ------------------------------------------------------------------------
-
- @Override
- public Definition lookupDefinition(String lookupPath) {
- /*
- * The fields are created in order of appearance, so if a variant or
- * sequence refers to a field that is after it, the field's definition
- * will not be there yet in the hashmap.
- */
- int val = fFieldNames.indexOf(lookupPath);
- if (val != -1) {
- return fDefinitions[val];
- }
- String lookupUnderscored = "_" + lookupPath; //$NON-NLS-1$
- val = fFieldNames.indexOf(lookupUnderscored);
- if (val != -1) {
- return fDefinitions[val];
- }
- return null;
- }
-
- @Override
- public String toString() {
- StringBuilder builder = new StringBuilder();
-
- builder.append("{ "); //$NON-NLS-1$
-
- if (fFieldNames != null) {
- List<String> fields = new LinkedList<>();
- for (String field : fFieldNames) {
- String appendee = field + " = " + lookupDefinition(field).toString(); //$NON-NLS-1$
- fields.add(appendee);
- }
- Joiner joiner = Joiner.on(", ").skipNulls(); //$NON-NLS-1$
- builder.append(joiner.join(fields));
- }
-
- builder.append(" }"); //$NON-NLS-1$
-
- return builder.toString();
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/ctf/core/event/types/VariantDeclaration.java b/lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/ctf/core/event/types/VariantDeclaration.java
deleted file mode 100644
index b32572ca92..0000000000
--- a/lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/ctf/core/event/types/VariantDeclaration.java
+++ /dev/null
@@ -1,189 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011, 2014 Ericsson, Ecole Polytechnique de Montreal and others
- *
- * 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: Matthew Khouzam - Initial API and implementation
- * Contributors: Simon Marchi - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.ctf.core.event.types;
-
-import java.util.Collection;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.Map;
-
-import org.eclipse.linuxtools.ctf.core.event.io.BitBuffer;
-import org.eclipse.linuxtools.ctf.core.event.scope.IDefinitionScope;
-import org.eclipse.linuxtools.ctf.core.trace.CTFReaderException;
-
-/**
- * A CTFC variant declaration.
- *
- * A variant is similar to a C union, only taking the minimum size of the types,
- * it is a compound data type that contains other datatypes in fields. they are
- * stored in an hashmap and indexed by names which are strings.
- *
- * @version 1.0
- * @author Matthew Khouzam
- * @author Simon Marchi
- */
-public class VariantDeclaration extends Declaration {
-
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
-
- private String fTag = null;
- private static final long ALIGNMENT = 1;
- private final Map<String, IDeclaration> fFields = Collections.synchronizedMap(new HashMap<String, IDeclaration>());
- private EnumDefinition fTagDef;
- private IDeclaration fDeclarationToPopulate;
- private IDefinitionScope fPrevDefinitionScope;
-
- // ------------------------------------------------------------------------
- // Constructors
- // ------------------------------------------------------------------------
-
- /**
- * Constructor
- */
- public VariantDeclaration() {
- }
-
- // ------------------------------------------------------------------------
- // Getters/Setters/Predicates
- // ------------------------------------------------------------------------
-
- /**
- * @return Does the variant have a tag
- */
- public boolean isTagged() {
- return fTag != null;
- }
-
- /**
- * Lookup if a field exists in the variant
- *
- * @param fieldTag
- * the field tag name
- * @return true = field tag exists
- */
- public boolean hasField(String fieldTag) {
- return fFields.containsKey(fieldTag);
- }
-
- /**
- * Sets the tag in a variant
- *
- * @param tag
- * the tag
- */
- public void setTag(String tag) {
- fTag = tag;
- fTagDef = null;
- }
-
- /**
- * Gets current variant tag
- *
- * @return the variant tag.
- */
- public String getTag() {
- return fTag;
- }
-
- /**
- * Gets the fields of the variant
- *
- * @return the fields of the variant
- * @since 2.0
- */
- public Map<String, IDeclaration> getFields() {
- return this.fFields;
- }
-
- @Override
- public long getAlignment() {
- return ALIGNMENT;
- }
-
- // ------------------------------------------------------------------------
- // Operations
- // ------------------------------------------------------------------------
-
- /**
- * @since 3.0
- */
- @Override
- public VariantDefinition createDefinition(IDefinitionScope definitionScope,
- String fieldName, BitBuffer input) throws CTFReaderException {
- alignRead(input);
- if (fPrevDefinitionScope != definitionScope) {
- fTagDef = null;
- fPrevDefinitionScope = definitionScope;
- }
- EnumDefinition tagDef = fTagDef;
- if (tagDef == null) {
- Definition def = definitionScope.lookupDefinition(fTag);
- tagDef = (EnumDefinition) ((def instanceof EnumDefinition) ? def : null);
- }
- if (tagDef == null) {
- throw new CTFReaderException("Tag is not defined " + fTag); //$NON-NLS-1$
- }
- String varFieldName = tagDef.getStringValue();
- fDeclarationToPopulate = fFields.get(varFieldName);
- if (fDeclarationToPopulate == null) {
- throw new CTFReaderException("Unknown enum selector for variant " + //$NON-NLS-1$
- definitionScope.getScopePath().toString());
- }
- Definition fieldValue = fDeclarationToPopulate.createDefinition(definitionScope, fieldName, input);
- return new VariantDefinition(this, definitionScope, varFieldName, fieldName, fieldValue);
- }
-
- /**
- * Add a field to this CTF Variant
- *
- * @param fieldTag
- * The tag of the new field
- * @param declaration
- * The Declaration of this new field
- */
- public void addField(String fieldTag, IDeclaration declaration) {
- fFields.put(fieldTag, declaration);
- }
-
- /**
- * gets the tag definition
- *
- * @return the fTagDef
- * @since 3.0
- */
- public EnumDefinition getTagDef() {
- return fTagDef;
- }
-
- /**
- * @since 3.0
- */
- @Override
- public int getMaximumSize() {
- Collection<IDeclaration> values = fFields.values();
- int maxSize = 0;
- for (IDeclaration field : values) {
- maxSize = Math.max(maxSize, field.getMaximumSize());
- }
- return maxSize;
- }
-
- @Override
- public String toString() {
- /* Only used for debugging */
- return "[declaration] variant[" + Integer.toHexString(hashCode()) + ']'; //$NON-NLS-1$
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/ctf/core/event/types/VariantDefinition.java b/lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/ctf/core/event/types/VariantDefinition.java
deleted file mode 100644
index 6302f863f6..0000000000
--- a/lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/ctf/core/event/types/VariantDefinition.java
+++ /dev/null
@@ -1,116 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011, 2014 Ericsson, Ecole Polytechnique de Montreal and others
- *
- * 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: Matthew Khouzam - Initial API and implementation
- * Contributors: Simon Marchi - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.ctf.core.event.types;
-
-import org.eclipse.jdt.annotation.NonNull;
-import org.eclipse.linuxtools.ctf.core.event.scope.IDefinitionScope;
-
-/**
- * A CTF variant definition (similar to a C union).
- *
- * A variant is similar to a C union, only taking the minimum size of the types,
- * it is a compound data type that contains other datatypes in fields. they are
- * stored in an hashmap and indexed by names which are strings.
- *
- * @version 1.0
- * @author Matthew Khouzam
- * @author Simon Marchi
- */
-public final class VariantDefinition extends ScopedDefinition {
-
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
-
- private final Definition fDefinition;
- private final String fCurrentField;
- private final String fFieldName;
-
- // ------------------------------------------------------------------------
- // Constructors
- // ------------------------------------------------------------------------
-
- /**
- * Constructor
- *
- * @param declaration
- * the parent declaration
- * @param definitionScope
- * the parent scope
- * @param selectedField
- * the selected field
- * @param fieldName
- * the field name
- * @param fieldValue
- * the field value
- * @since 3.0
- */
- public VariantDefinition(@NonNull VariantDeclaration declaration,
- IDefinitionScope definitionScope, String selectedField, @NonNull String fieldName, Definition fieldValue) {
- super(declaration, definitionScope, fieldName);
-
- fFieldName = fieldName;
- fCurrentField = selectedField;
- fDefinition = fieldValue;
-
- }
-
- // ------------------------------------------------------------------------
- // Getters/Setters/Predicates
- // ------------------------------------------------------------------------
-
- @Override
- public VariantDeclaration getDeclaration() {
- return (VariantDeclaration) super.getDeclaration();
- }
-
- /**
- * Get the current field name
- *
- * @return the current field name
- */
- public String getCurrentFieldName() {
- return fCurrentField;
- }
-
- /**
- * Get the current field
- *
- * @return the current field
- */
- public Definition getCurrentField() {
- return fDefinition;
- }
-
- // ------------------------------------------------------------------------
- // Operations
- // ------------------------------------------------------------------------
-
- @Override
- public Definition lookupDefinition(String lookupPath) {
- if (lookupPath == null) {
- return null;
- }
- if (lookupPath.equals(fFieldName)) {
- return fDefinition;
- }
- return getDefinitionScope().lookupDefinition(lookupPath);
- }
-
- @Override
- public String toString() {
- return "{ " + getCurrentFieldName() + //$NON-NLS-1$
- " = " + getCurrentField() + //$NON-NLS-1$
- " }"; //$NON-NLS-1$
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/ctf/core/trace/CTFReaderException.java b/lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/ctf/core/trace/CTFReaderException.java
deleted file mode 100644
index c124a870de..0000000000
--- a/lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/ctf/core/trace/CTFReaderException.java
+++ /dev/null
@@ -1,66 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011, 2013 Ericsson, Ecole Polytechnique de Montreal
- *
- * 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:
- * Alexandre Montplaisir - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.ctf.core.trace;
-
-/**
- * General exception that is thrown when there is a problem somewhere with the
- * CTF trace reader.
- *
- * @version 1.0
- * @author Alexandre Montplaisir
- */
-public class CTFReaderException extends Exception {
-
- private static final long serialVersionUID = 2065258365219777672L;
-
- /**
- * Default constructor with no message.
- */
- public CTFReaderException() {
- super();
- }
-
- /**
- * Constructor with an attached message.
- *
- * @param message
- * The message attached to this exception
- */
- public CTFReaderException(String message) {
- super(message);
- }
-
- /**
- * Re-throw an exception into this type.
- *
- * @param e
- * The previous Exception we caught
- */
- public CTFReaderException(Exception e) {
- super(e);
- }
-
- /**
- * Constructor with an attached message and re-throw an exception into this type.
- *
- * @param message
- * The message attached to this exception
- * @param exception
- * The previous Exception caught
- * @since 2.0
- */
- public CTFReaderException(String message, Throwable exception) {
- super(message, exception);
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/ctf/core/trace/CTFResponse.java b/lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/ctf/core/trace/CTFResponse.java
deleted file mode 100644
index 262ff3cd10..0000000000
--- a/lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/ctf/core/trace/CTFResponse.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 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: Matthew Khouzam - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.linuxtools.ctf.core.trace;
-
-/**
- * A response to a request
- *
- * @author Matthew Khouzam
- * @since 3.0
- *
- */
-public enum CTFResponse {
- /**
- * The operation was successful
- */
- OK,
- /**
- * The operation cannot be yet completed
- */
- WAIT,
- /**
- * The operation was finished
- */
- FINISH,
- /**
- * The operation failed
- */
- ERROR
-}
diff --git a/lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/ctf/core/trace/CTFStream.java b/lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/ctf/core/trace/CTFStream.java
deleted file mode 100644
index 8b94e3a69a..0000000000
--- a/lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/ctf/core/trace/CTFStream.java
+++ /dev/null
@@ -1,384 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011, 2014 Ericsson, Ecole Polytechnique de Montreal and others
- *
- * 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: Matthew Khouzam - Initial API and implementation
- * Contributors: Simon Marchi - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.ctf.core.trace;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-
-import org.eclipse.jdt.annotation.NonNull;
-import org.eclipse.jdt.annotation.Nullable;
-import org.eclipse.linuxtools.ctf.core.event.IEventDeclaration;
-import org.eclipse.linuxtools.ctf.core.event.types.IDeclaration;
-import org.eclipse.linuxtools.ctf.core.event.types.IEventHeaderDeclaration;
-import org.eclipse.linuxtools.ctf.core.event.types.StructDeclaration;
-import org.eclipse.linuxtools.internal.ctf.core.event.EventDeclaration;
-import org.eclipse.linuxtools.internal.ctf.core.event.metadata.exceptions.ParseException;
-
-/**
- * <b><u>Stream</u></b>
- * <p>
- * Represents a stream in a trace.
- *
- * @since 3.0
- */
-public class CTFStream {
-
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
-
- /**
- * The numerical ID of the stream
- */
- private Long fId = null;
-
- /**
- * Declarations of the stream-specific structures
- */
- private StructDeclaration fPacketContextDecl = null;
- private IDeclaration fEventHeaderDecl = null;
- private StructDeclaration fEventContextDecl = null;
-
- /**
- * The trace to which the stream belongs
- */
- private CTFTrace fTrace = null;
-
- /**
- * Maps event ids to events
- */
- private final ArrayList<IEventDeclaration> fEvents = new ArrayList<>();
-
- private boolean fEventUnsetId = false;
-
- /**
- * The inputs associated to this stream
- */
- private final Set<CTFStreamInput> fInputs = new HashSet<>();
-
- // ------------------------------------------------------------------------
- // Constructors
- // ------------------------------------------------------------------------
-
- /**
- * Constructs a Stream that belongs to a Trace
- *
- * @param trace
- * The trace to which belongs this stream.
- */
- public CTFStream(CTFTrace trace) {
- fTrace = trace;
- }
-
- // ------------------------------------------------------------------------
- // Getters/Setters/Predicates
- // ------------------------------------------------------------------------
-
- /**
- * Sets the id of a stream
- *
- * @param id
- * the id of a stream
- */
- public void setId(long id) {
- fId = id;
- }
-
- /**
- * Gets the id of a stream
- *
- * @return id the id of a stream
- */
- public Long getId() {
- return fId;
- }
-
- /**
- * Is the id of a stream set
- *
- * @return If the ID is set or not
- */
- public boolean isIdSet() {
- return fId != null;
- }
-
- /**
- *
- * @return is the event header set (timestamp and stuff) (see Ctf Spec)
- */
- public boolean isEventHeaderSet() {
- return fEventHeaderDecl != null;
- }
-
- /**
- *
- * @return is the event context set (pid and stuff) (see Ctf Spec)
- */
- public boolean isEventContextSet() {
- return fEventContextDecl != null;
- }
-
- /**
- *
- * @return Is the packet context set (see Ctf Spec)
- */
- public boolean isPacketContextSet() {
- return fPacketContextDecl != null;
- }
-
- /**
- * Sets the event header
- *
- * @param eventHeader
- * the current event header for all events in this stream
- */
- public void setEventHeader(StructDeclaration eventHeader) {
- fEventHeaderDecl = eventHeader;
- }
-
- /**
- * Sets the event header, this typically has the id and the timestamp
- *
- * @param eventHeader
- * the current event header for all events in this stream
- * @since 3.1
- */
- public void setEventHeader(IEventHeaderDeclaration eventHeader) {
- fEventHeaderDecl = eventHeader;
- }
-
- /**
- *
- * @param eventContext
- * the context for all events in this stream
- */
- public void setEventContext(StructDeclaration eventContext) {
- fEventContextDecl = eventContext;
- }
-
- /**
- *
- * @param packetContext
- * the packet context for all packets in this stream
- */
- public void setPacketContext(StructDeclaration packetContext) {
- fPacketContextDecl = packetContext;
- }
-
- /**
- *
- * @return the event header declaration in structdeclaration form
- * @deprecated use {@link CTFStream#getEventHeaderDeclaration()}
- */
- @Deprecated
- public StructDeclaration getEventHeaderDecl() {
- return (StructDeclaration) ((fEventHeaderDecl instanceof StructDeclaration) ? fEventHeaderDecl : null);
- }
-
- /**
- * Gets the event header declaration
- *
- * @return the event header declaration in declaration form
- * @since 3.1
- */
- public IDeclaration getEventHeaderDeclaration() {
- return fEventHeaderDecl;
- }
-
- /**
- *
- * @return the event context declaration in structdeclaration form
- */
- public StructDeclaration getEventContextDecl() {
- return fEventContextDecl;
- }
-
- /**
- *
- * @return the packet context declaration in structdeclaration form
- */
- public StructDeclaration getPacketContextDecl() {
- return fPacketContextDecl;
- }
-
- /**
- *
- * @return the set of all stream inputs for this stream
- */
- public Set<CTFStreamInput> getStreamInputs() {
- return fInputs;
- }
-
- /**
- *
- * @return the parent trace
- */
- public CTFTrace getTrace() {
- return fTrace;
- }
-
- /**
- *
- * @return all the event declarations for this stream, using the id as a key
- * for the hashmap.
- * @deprecated use {@link CTFStream#getEventDeclarations()}
- */
- @Deprecated
- public Map<Long, IEventDeclaration> getEvents() {
- throw new UnsupportedOperationException();
- }
-
- /**
- * Get all the event declarations in this stream.
- *
- * @return The event declarations for this stream
- * @since 3.2
- */
- public @NonNull Collection<IEventDeclaration> getEventDeclarations() {
- List<IEventDeclaration> retVal = new ArrayList<>(fEvents);
- retVal.removeAll(Collections.<IEventDeclaration> singletonList(null));
- return retVal;
- }
-
- /**
- * Get the event declaration for a given ID.
- *
- * @param eventId
- * The ID, can be {@link EventDeclaration#UNSET_EVENT_ID}, or any
- * positive value
- * @return The event declaration with the given ID for this stream, or
- * 'null' if there are no declaration with this ID
- * @throws IllegalArgumentException
- * If the passed ID is invalid
- * @since 3.2
- */
- public @Nullable IEventDeclaration getEventDeclaration(int eventId) {
- int eventIndex = (eventId == EventDeclaration.UNSET_EVENT_ID) ? 0 : eventId;
- if (eventIndex < 0) {
- /* Any negative value other than UNSET_EVENT_ID is invalid */
- throw new IllegalArgumentException("Event ID cannot be negative."); //$NON-NLS-1$
- }
- if (eventIndex >= fEvents.size()) {
- /* This ID could be valid, but there are no declarations with it */
- return null;
- }
- return fEvents.get(eventIndex);
- }
-
- // ------------------------------------------------------------------------
- // Operations
- // ------------------------------------------------------------------------
-
- /**
- * Adds an event to the event list.
- *
- * An event in a stream can omit its id if it is the only event in this
- * stream. An event for which no id has been specified has a null id. It is
- * thus not possible to add an event with the null key if the map is not
- * empty. It is also not possible to add an event to the map if the null key
- * is present in the map.
- *
- * @param event
- * The event to add
- * @throws ParseException
- * If there was a problem reading the event or adding it to the
- * stream
- */
- public void addEvent(IEventDeclaration event) throws ParseException {
- if (fEventUnsetId) {
- throw new ParseException("Event without id with multiple events in a stream"); //$NON-NLS-1$
- }
- int id = ((EventDeclaration) event).id();
-
- /*
- * If there is an event without id (the null key), it must be the only
- * one
- */
- if (id == EventDeclaration.UNSET_EVENT_ID) {
- if (!fEvents.isEmpty()) {
- throw new ParseException("Event without id with multiple events in a stream"); //$NON-NLS-1$
- }
- fEventUnsetId = true;
- fEvents.add(event);
- } else {
- /* Check if an event with the same ID already exists */
- if (fEvents.size() > id && fEvents.get(id) != null) {
- throw new ParseException("Event id already exists"); //$NON-NLS-1$
- }
- ensureSize(fEvents, id);
- /* Put the event in the list */
- fEvents.set(id, event);
- }
- }
-
- /**
- * Add a list of event declarations to this stream. There must be no overlap
- * between the two lists of event declarations. This will merge the two
- * lists and preserve the indexes of both lists.
- *
- * @param events
- * list of the events to add
- * @throws CTFReaderException
- * if the list already contains data
- * @since 3.2
- */
- public void addEvents(Collection<IEventDeclaration> events) throws CTFReaderException {
- if (fEventUnsetId) {
- throw new CTFReaderException("Cannot add to a stream with an unidentified event"); //$NON-NLS-1$
- }
- if (fEvents.isEmpty()) {
- fEvents.addAll(events);
- return;
- }
- for (IEventDeclaration event : events) {
- if (event != null) {
- int index = event.getId().intValue();
- ensureSize(fEvents, index);
- if (fEvents.get(index) != null) {
- throw new CTFReaderException("Both lists have an event defined at position " + index); //$NON-NLS-1$
- }
- fEvents.set(index, event);
- }
- }
- }
-
- private static void ensureSize(ArrayList<? extends Object> list, int index) {
- list.ensureCapacity(index);
- while (list.size() <= index) {
- list.add(null);
- }
- }
-
- /**
- * Add an input to this Stream
- *
- * @param input
- * The StreamInput to add.
- */
- public void addInput(CTFStreamInput input) {
- fInputs.add(input);
- }
-
- @Override
- public String toString() {
- return "Stream [id=" + fId + ", packetContextDecl=" + fPacketContextDecl //$NON-NLS-1$ //$NON-NLS-2$
- + ", eventHeaderDecl=" + fEventHeaderDecl //$NON-NLS-1$
- + ", eventContextDecl=" + fEventContextDecl + ", trace=" + fTrace //$NON-NLS-1$ //$NON-NLS-2$
- + ", events=" + fEvents + ", inputs=" + fInputs + "]"; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/ctf/core/trace/CTFStreamInput.java b/lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/ctf/core/trace/CTFStreamInput.java
deleted file mode 100644
index db8c6371c6..0000000000
--- a/lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/ctf/core/trace/CTFStreamInput.java
+++ /dev/null
@@ -1,494 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011, 2014 Ericsson, Ecole Polytechnique de Montreal and others
- *
- * 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: Matthew Khouzam - Initial API and implementation
- * Contributors: Simon Marchi - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.ctf.core.trace;
-
-import java.io.File;
-import java.io.IOException;
-import java.nio.ByteBuffer;
-import java.nio.channels.FileChannel;
-import java.nio.channels.FileChannel.MapMode;
-import java.nio.file.StandardOpenOption;
-import java.util.UUID;
-
-import org.eclipse.jdt.annotation.NonNull;
-import org.eclipse.linuxtools.ctf.core.event.io.BitBuffer;
-import org.eclipse.linuxtools.ctf.core.event.scope.IDefinitionScope;
-import org.eclipse.linuxtools.ctf.core.event.scope.LexicalScope;
-import org.eclipse.linuxtools.ctf.core.event.types.Definition;
-import org.eclipse.linuxtools.ctf.core.event.types.EnumDefinition;
-import org.eclipse.linuxtools.ctf.core.event.types.FloatDefinition;
-import org.eclipse.linuxtools.ctf.core.event.types.IDefinition;
-import org.eclipse.linuxtools.ctf.core.event.types.IntegerDefinition;
-import org.eclipse.linuxtools.ctf.core.event.types.StringDefinition;
-import org.eclipse.linuxtools.ctf.core.event.types.StructDeclaration;
-import org.eclipse.linuxtools.ctf.core.event.types.StructDefinition;
-import org.eclipse.linuxtools.internal.ctf.core.SafeMappedByteBuffer;
-import org.eclipse.linuxtools.internal.ctf.core.event.types.ArrayDefinition;
-import org.eclipse.linuxtools.internal.ctf.core.trace.StreamInputPacketIndex;
-import org.eclipse.linuxtools.internal.ctf.core.trace.StreamInputPacketIndexEntry;
-
-/**
- * <b><u>StreamInput</u></b>
- * <p>
- * Represents a trace file that belongs to a certain stream.
- *
- * @since 3.0
- */
-// TODO: remove AutoCloseable
-public class CTFStreamInput implements IDefinitionScope, AutoCloseable {
-
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
-
- /**
- * The associated Stream
- */
- private final CTFStream fStream;
-
- /**
- * Information on the file (used for debugging)
- */
- @NonNull
- private final File fFile;
-
- /**
- * The packet index of this input
- */
- private final StreamInputPacketIndex fIndex;
-
- private long fTimestampEnd;
-
- /**
- * Definition of trace packet header
- */
- private StructDeclaration fTracePacketHeaderDecl = null;
-
- /**
- * Definition of trace stream packet context
- */
- private StructDeclaration fStreamPacketContextDecl = null;
-
- /**
- * Total number of lost events in this stream
- */
- private long fLostSoFar = 0;
-
- // ------------------------------------------------------------------------
- // Constructors
- // ------------------------------------------------------------------------
-
- /**
- * Constructs a StreamInput.
- *
- * @param stream
- * The stream to which this StreamInput belongs to.
- * @param file
- * Information about the trace file (for debugging purposes).
- */
- public CTFStreamInput(CTFStream stream, @NonNull File file) {
- fStream = stream;
- fFile = file;
- fIndex = new StreamInputPacketIndex();
- }
-
- @Override
- public void close() throws IOException {
- }
-
- // ------------------------------------------------------------------------
- // Getters/Setters/Predicates
- // ------------------------------------------------------------------------
-
- /**
- * Gets the stream the streamInput wrapper is wrapping
- *
- * @return the stream the streamInput wrapper is wrapping
- */
- public CTFStream getStream() {
- return fStream;
- }
-
- /**
- * The common streamInput Index
- *
- * @return the stream input Index
- */
- StreamInputPacketIndex getIndex() {
- return fIndex;
- }
-
- /**
- * Gets the filename of the streamInput file.
- *
- * @return the filename of the streaminput file.
- */
- public String getFilename() {
- return fFile.getName();
- }
-
- /**
- * Gets the last read timestamp of a stream. (this is not necessarily the
- * last time in the stream.)
- *
- * @return the last read timestamp
- */
- public long getTimestampEnd() {
- return fTimestampEnd;
- }
-
- /**
- * Sets the last read timestamp of a stream. (this is not necessarily the
- * last time in the stream.)
- *
- * @param timestampEnd
- * the last read timestamp
- */
- public void setTimestampEnd(long timestampEnd) {
- fTimestampEnd = timestampEnd;
- }
-
- /**
- * Useless for streaminputs
- */
- @Override
- public LexicalScope getScopePath() {
- return LexicalScope.STREAM;
- }
-
- // ------------------------------------------------------------------------
- // Operations
- // ------------------------------------------------------------------------
-
- @Override
- public Definition lookupDefinition(String lookupPath) {
- /* TODO: lookup in different dynamic scopes is not supported yet. */
- return null;
- }
-
- /**
- * Create the index for this trace file.
- */
- public void setupIndex() {
-
- /*
- * The BitBuffer to extract data from the StreamInput
- */
- BitBuffer bitBuffer = new BitBuffer();
- bitBuffer.setByteOrder(getStream().getTrace().getByteOrder());
-
- /*
- * Create the definitions we need to read the packet headers + contexts
- */
- if (getStream().getTrace().getPacketHeader() != null) {
- fTracePacketHeaderDecl = getStream().getTrace().getPacketHeader();
- }
-
- if (getStream().getPacketContextDecl() != null) {
- fStreamPacketContextDecl = getStream().getPacketContextDecl();
- }
-
- }
-
- /**
- * Adds the next packet header index entry to the index of a stream input.
- *
- * <strong>This method is slow and can corrupt data if not used
- * properly</strong>
- *
- * @return true if there are more packets to add
- * @throws CTFReaderException
- * If there was a problem reading the packed header
- */
- public boolean addPacketHeaderIndex() throws CTFReaderException {
- long currentPos = 0L;
- if (!fIndex.getEntries().isEmpty()) {
- StreamInputPacketIndexEntry pos = fIndex.getEntries().lastElement();
- currentPos = computeNextOffset(pos);
- }
- long fileSize = getStreamSize();
- if (currentPos < fileSize) {
-
- StreamInputPacketIndexEntry packetIndex = new StreamInputPacketIndexEntry(
- currentPos);
- createPacketIndexEntry(fileSize, currentPos, packetIndex);
- fIndex.addEntry(packetIndex);
- return true;
- }
- return false;
- }
-
- private long getStreamSize() {
- return fFile.length();
- }
-
- private long createPacketIndexEntry(long fileSizeBytes, long packetOffsetBytes, StreamInputPacketIndexEntry packetIndex)
- throws CTFReaderException {
-
- long pos = readPacketHeader(fileSizeBytes, packetOffsetBytes, packetIndex);
-
- /* Basic validation */
- if (packetIndex.getContentSizeBits() > packetIndex.getPacketSizeBits()) {
- throw new CTFReaderException("Content size > packet size"); //$NON-NLS-1$
- }
-
- if (packetIndex.getPacketSizeBits() > ((fileSizeBytes - packetIndex
- .getOffsetBytes()) * 8)) {
- throw new CTFReaderException("Not enough data remaining in the file for the size of this packet"); //$NON-NLS-1$
- }
-
- /*
- * Offset in the file, in bits
- */
- packetIndex.setDataOffsetBits(pos);
-
- /*
- * Update the counting packet offset
- */
- return computeNextOffset(packetIndex);
- }
-
- /**
- * @param packetIndex
- * @return
- */
- private static long computeNextOffset(
- StreamInputPacketIndexEntry packetIndex) {
- return packetIndex.getOffsetBytes()
- + ((packetIndex.getPacketSizeBits() + 7) / 8);
- }
-
- private long readPacketHeader(long fileSizeBytes,
- long packetOffsetBytes, StreamInputPacketIndexEntry packetIndex) throws CTFReaderException {
- long position = -1;
- /*
- * Initial size, it should map at least the packet header + context
- * size.
- *
- * TODO: use a less arbitrary size.
- */
- long mapSize = 4096;
- /*
- * If there is less data remaining than what we want to map, reduce the
- * map size.
- */
- if ((fileSizeBytes - packetIndex.getOffsetBytes()) < mapSize) {
- mapSize = fileSizeBytes - packetIndex.getOffsetBytes();
- }
-
- /*
- * Map the packet.
- */
- try (FileChannel fc = FileChannel.open(fFile.toPath(), StandardOpenOption.READ)) {
- ByteBuffer map = SafeMappedByteBuffer.map(fc, MapMode.READ_ONLY, packetOffsetBytes, mapSize);
- if (map == null) {
- throw new CTFReaderException("Failed to allocate mapped byte buffer"); //$NON-NLS-1$
- }
- /*
- * create a packet bit buffer to read the packet header
- */
- BitBuffer bitBuffer = new BitBuffer(map);
- bitBuffer.setByteOrder(getStream().getTrace().getByteOrder());
- /*
- * Read the trace packet header if it exists.
- */
- if (fTracePacketHeaderDecl != null) {
- parseTracePacketHeader(fTracePacketHeaderDecl, bitBuffer);
- }
-
- /*
- * Read the stream packet context if it exists.
- */
- if (fStreamPacketContextDecl != null) {
- parsePacketContext(fileSizeBytes, fStreamPacketContextDecl,
- bitBuffer, packetIndex);
- } else {
- setPacketContextNull(fileSizeBytes, packetIndex);
- }
-
- position = bitBuffer.position();
- } catch (IOException e) {
- throw new CTFReaderException(e);
- }
- return position;
- }
-
- private void parseTracePacketHeader(StructDeclaration tracePacketHeaderDecl,
- @NonNull BitBuffer bitBuffer) throws CTFReaderException {
- StructDefinition tracePacketHeaderDef = tracePacketHeaderDecl.createDefinition(fStream.getTrace(), LexicalScope.TRACE_PACKET_HEADER, bitBuffer);
-
- /*
- * Check the CTF magic number
- */
- IntegerDefinition magicDef = (IntegerDefinition) tracePacketHeaderDef
- .lookupDefinition("magic"); //$NON-NLS-1$
- if (magicDef != null) {
- int magic = (int) magicDef.getValue();
- if (magic != Utils.CTF_MAGIC) {
- throw new CTFReaderException(
- "CTF magic mismatch " + Integer.toHexString(magic) + " vs " + Integer.toHexString(Utils.CTF_MAGIC)); //$NON-NLS-1$//$NON-NLS-2$
- }
- }
-
- /*
- * Check the trace UUID
- */
- ArrayDefinition uuidDef =
- (ArrayDefinition) tracePacketHeaderDef.lookupDefinition("uuid"); //$NON-NLS-1$
- if (uuidDef != null) {
- UUID uuid = Utils.getUUIDfromDefinition(uuidDef);
-
- if (!getStream().getTrace().getUUID().equals(uuid)) {
- throw new CTFReaderException("UUID mismatch"); //$NON-NLS-1$
- }
- }
-
- /*
- * Check that the stream id did not change
- */
- IntegerDefinition streamIDDef = (IntegerDefinition) tracePacketHeaderDef
- .lookupDefinition("stream_id"); //$NON-NLS-1$
- if (streamIDDef != null) {
- long streamID = streamIDDef.getValue();
-
- if (streamID != getStream().getId()) {
- throw new CTFReaderException("Stream ID changing within a StreamInput"); //$NON-NLS-1$
- }
- }
- }
-
- /**
- * Gets the wrapped file
- *
- * @return the file
- */
- @NonNull
- File getFile() {
- return fFile;
- }
-
- private static void setPacketContextNull(long fileSizeBytes,
- StreamInputPacketIndexEntry packetIndex) {
- /*
- * If there is no packet context, infer the content and packet size from
- * the file size (assume that there is only one packet and no padding)
- */
- packetIndex.setContentSizeBits(fileSizeBytes * 8);
- packetIndex.setPacketSizeBits(fileSizeBytes * 8);
- }
-
- private void parsePacketContext(long fileSizeBytes,
- StructDeclaration streamPacketContextDecl, @NonNull BitBuffer bitBuffer,
- StreamInputPacketIndexEntry packetIndex) throws CTFReaderException {
- StructDefinition streamPacketContextDef = streamPacketContextDecl.createDefinition(this, LexicalScope.STREAM_PACKET_CONTEXT, bitBuffer);
-
- for (String field : streamPacketContextDef.getDeclaration()
- .getFieldsList()) {
- IDefinition id = streamPacketContextDef.lookupDefinition(field);
- if (id instanceof IntegerDefinition) {
- packetIndex.addAttribute(field,
- ((IntegerDefinition) id).getValue());
- } else if (id instanceof FloatDefinition) {
- packetIndex.addAttribute(field,
- ((FloatDefinition) id).getValue());
- } else if (id instanceof EnumDefinition) {
- packetIndex.addAttribute(field,
- ((EnumDefinition) id).getValue());
- } else if (id instanceof StringDefinition) {
- packetIndex.addAttribute(field,
- ((StringDefinition) id).getValue());
- }
- }
-
- Long contentSize = (Long) packetIndex.lookupAttribute("content_size"); //$NON-NLS-1$
- Long packetSize = (Long) packetIndex.lookupAttribute("packet_size"); //$NON-NLS-1$
- Long tsBegin = (Long) packetIndex.lookupAttribute("timestamp_begin"); //$NON-NLS-1$
- Long tsEnd = (Long) packetIndex.lookupAttribute("timestamp_end"); //$NON-NLS-1$
- String device = (String) packetIndex.lookupAttribute("device"); //$NON-NLS-1$
- // LTTng Specific
- Long cpuId = (Long) packetIndex.lookupAttribute("cpu_id"); //$NON-NLS-1$
- Long lostEvents = (Long) packetIndex.lookupAttribute("events_discarded"); //$NON-NLS-1$
-
- /* Read the content size in bits */
- if (contentSize != null) {
- packetIndex.setContentSizeBits(contentSize.intValue());
- } else if (packetSize != null) {
- packetIndex.setContentSizeBits(packetSize.longValue());
- } else {
- packetIndex.setContentSizeBits((int) (fileSizeBytes * 8));
- }
-
- /* Read the packet size in bits */
- if (packetSize != null) {
- packetIndex.setPacketSizeBits(packetSize.intValue());
- } else if (packetIndex.getContentSizeBits() != 0) {
- packetIndex.setPacketSizeBits(packetIndex.getContentSizeBits());
- } else {
- packetIndex.setPacketSizeBits((int) (fileSizeBytes * 8));
- }
-
- /* Read the begin timestamp */
- if (tsBegin != null) {
- packetIndex.setTimestampBegin(tsBegin.longValue());
- }
-
- /* Read the end timestamp */
- if (tsEnd != null) {
- if (tsEnd == -1) {
- tsEnd = Long.MAX_VALUE;
- }
- packetIndex.setTimestampEnd(tsEnd.longValue());
- setTimestampEnd(packetIndex.getTimestampEnd());
- }
-
- if (device != null) {
- packetIndex.setTarget(device);
- }
-
- if (cpuId != null) {
- packetIndex.setTarget("CPU" + cpuId.toString()); //$NON-NLS-1$
- }
-
- if (lostEvents != null) {
- packetIndex.setLostEvents(lostEvents - fLostSoFar);
- fLostSoFar = lostEvents;
- }
- }
-
- @Override
- public int hashCode() {
- final int prime = 31;
- int result = 1;
- result = (prime * result) + fFile.hashCode();
- return result;
- }
-
- @Override
- public boolean equals(Object obj) {
- if (this == obj) {
- return true;
- }
- if (obj == null) {
- return false;
- }
- if (!(obj instanceof CTFStreamInput)) {
- return false;
- }
- CTFStreamInput other = (CTFStreamInput) obj;
- if (!fFile.equals(other.fFile)) {
- return false;
- }
- return true;
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/ctf/core/trace/CTFStreamInputPacketReader.java b/lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/ctf/core/trace/CTFStreamInputPacketReader.java
deleted file mode 100644
index 29ef23f9ff..0000000000
--- a/lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/ctf/core/trace/CTFStreamInputPacketReader.java
+++ /dev/null
@@ -1,542 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011, 2014 Ericsson, Ecole Polytechnique de Montreal and others
- *
- * 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: Matthew Khouzam - Initial API and implementation
- * Contributors: Simon Marchi - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.linuxtools.ctf.core.trace;
-
-import java.io.IOException;
-import java.nio.ByteBuffer;
-import java.nio.channels.FileChannel.MapMode;
-
-import org.eclipse.jdt.annotation.NonNull;
-import org.eclipse.jdt.annotation.Nullable;
-import org.eclipse.linuxtools.ctf.core.CTFStrings;
-import org.eclipse.linuxtools.ctf.core.event.EventDefinition;
-import org.eclipse.linuxtools.ctf.core.event.IEventDeclaration;
-import org.eclipse.linuxtools.ctf.core.event.io.BitBuffer;
-import org.eclipse.linuxtools.ctf.core.event.scope.IDefinitionScope;
-import org.eclipse.linuxtools.ctf.core.event.scope.LexicalScope;
-import org.eclipse.linuxtools.ctf.core.event.types.Definition;
-import org.eclipse.linuxtools.ctf.core.event.types.ICompositeDefinition;
-import org.eclipse.linuxtools.ctf.core.event.types.IDeclaration;
-import org.eclipse.linuxtools.ctf.core.event.types.IDefinition;
-import org.eclipse.linuxtools.ctf.core.event.types.IEventHeaderDeclaration;
-import org.eclipse.linuxtools.ctf.core.event.types.IntegerDeclaration;
-import org.eclipse.linuxtools.ctf.core.event.types.IntegerDefinition;
-import org.eclipse.linuxtools.ctf.core.event.types.SimpleDatatypeDefinition;
-import org.eclipse.linuxtools.ctf.core.event.types.StructDeclaration;
-import org.eclipse.linuxtools.ctf.core.event.types.StructDefinition;
-import org.eclipse.linuxtools.ctf.core.event.types.VariantDefinition;
-import org.eclipse.linuxtools.internal.ctf.core.SafeMappedByteBuffer;
-import org.eclipse.linuxtools.internal.ctf.core.event.EventDeclaration;
-import org.eclipse.linuxtools.internal.ctf.core.event.types.composite.EventHeaderDefinition;
-import org.eclipse.linuxtools.internal.ctf.core.trace.StreamInputPacketIndexEntry;
-
-import com.google.common.collect.ImmutableList;
-
-/**
- * CTF trace packet reader. Reads the events of a packet of a trace file.
- *
- * @author Matthew Khouzam
- * @author Simon Marchi
- * @since 3.0
- */
-public class CTFStreamInputPacketReader implements IDefinitionScope, AutoCloseable {
-
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
-
- /** BitBuffer used to read the trace file. */
- @Nullable
- private BitBuffer fBitBuffer;
-
- /** StreamInputReader that uses this StreamInputPacketReader. */
- private final CTFStreamInputReader fStreamInputReader;
-
- /** Trace packet header. */
- private final StructDeclaration fTracePacketHeaderDecl;
-
- /** Stream packet context definition. */
- private final StructDeclaration fStreamPacketContextDecl;
-
- /** Stream event header definition. */
- private final IDeclaration fStreamEventHeaderDecl;
-
- /** Stream event context definition. */
- private final StructDeclaration fStreamEventContextDecl;
-
- private ICompositeDefinition fCurrentTracePacketHeaderDef;
- private ICompositeDefinition fCurrentStreamEventHeaderDef;
- private ICompositeDefinition fCurrentStreamPacketContextDef;
- /** Reference to the index entry of the current packet. */
- private StreamInputPacketIndexEntry fCurrentPacket = null;
-
- /**
- * Last timestamp recorded.
- *
- * Needed to calculate the complete timestamp values for the events with
- * compact headers.
- */
- private long fLastTimestamp = 0;
-
- /** CPU id of current packet. */
- private int fCurrentCpu = 0;
-
- private int fLostEventsInThisPacket;
-
- private long fLostEventsDuration;
-
- private boolean fHasLost = false;
-
- // ------------------------------------------------------------------------
- // Constructors
- // ------------------------------------------------------------------------
-
- /**
- * Constructs a StreamInputPacketReader.
- *
- * @param streamInputReader
- * The StreamInputReader to which this packet reader belongs to.
- */
- public CTFStreamInputPacketReader(CTFStreamInputReader streamInputReader) {
- fStreamInputReader = streamInputReader;
-
- /* Set the BitBuffer's byte order. */
- ByteBuffer allocateDirect = ByteBuffer.allocateDirect(0);
- if (allocateDirect == null) {
- throw new IllegalStateException("Unable to allocate 0 bytes!"); //$NON-NLS-1$
- }
- fBitBuffer = new BitBuffer(allocateDirect);
-
- final CTFStream currentStream = streamInputReader.getStreamInput().getStream();
- fTracePacketHeaderDecl = currentStream.getTrace().getPacketHeader();
- fStreamPacketContextDecl = currentStream.getPacketContextDecl();
- fStreamEventHeaderDecl = currentStream.getEventHeaderDeclaration();
- fStreamEventContextDecl = currentStream.getEventContextDecl();
- }
-
- /**
- * Get the event context defintiion
- *
- * @param input
- * the bitbuffer to read from
- * @return an context definition, can be null
- * @throws CTFReaderException
- * out of bounds exception or such
- */
- public StructDefinition getEventContextDefinition(@NonNull BitBuffer input) throws CTFReaderException {
- return fStreamEventContextDecl.createDefinition(fStreamInputReader.getStreamInput(), LexicalScope.STREAM_EVENT_CONTEXT, input);
- }
-
- /**
- * Get the stream context defintiion
- *
- * @param input
- * the bitbuffer to read from
- * @return an context definition, can be null
- * @throws CTFReaderException
- * out of bounds exception or such
- * @deprecated it was not used
- */
- @Deprecated
- public StructDefinition getStreamEventHeaderDefinition(@NonNull BitBuffer input) throws CTFReaderException {
- if (!(fStreamEventHeaderDecl instanceof StructDeclaration)) {
- throw new IllegalStateException("Definition is not a struct definition, this is a deprecated method that doesn't work so well, stop using it."); //$NON-NLS-1$
- }
- return ((StructDeclaration) fStreamEventHeaderDecl).createDefinition(this, LexicalScope.STREAM_EVENT_HEADER, input);
- }
-
- /**
- * Get the packet context defintiion
- *
- * @param input
- * the bitbuffer to read from
- * @return an context definition, can be null
- * @throws CTFReaderException
- * out of bounds exception or such
- */
- public StructDefinition getStreamPacketContextDefinition(@NonNull BitBuffer input) throws CTFReaderException {
- return fStreamPacketContextDecl.createDefinition(fStreamInputReader.getStreamInput(), LexicalScope.STREAM_PACKET_CONTEXT, input);
- }
-
- /**
- * Get the event header defintiion
- *
- * @param input
- * the bitbuffer to read from
- * @return an header definition, can be null
- * @throws CTFReaderException
- * out of bounds exception or such
- */
- public StructDefinition getTracePacketHeaderDefinition(@NonNull BitBuffer input) throws CTFReaderException {
- return fTracePacketHeaderDecl.createDefinition(fStreamInputReader.getStreamInput().getStream().getTrace(), LexicalScope.TRACE_PACKET_HEADER, input);
- }
-
- /**
- * Dispose the StreamInputPacketReader
- */
- @Override
- public void close() {
- fBitBuffer = null;
- }
-
- // ------------------------------------------------------------------------
- // Getters/Setters/Predicates
- // ------------------------------------------------------------------------
-
- /**
- * Gets the current packet
- *
- * @return the current packet
- */
- StreamInputPacketIndexEntry getCurrentPacket() {
- return fCurrentPacket;
- }
-
- /**
- * Gets the CPU (core) number
- *
- * @return the CPU (core) number
- */
- public int getCPU() {
- return fCurrentCpu;
- }
-
- @Override
- public LexicalScope getScopePath() {
- return LexicalScope.PACKET;
- }
-
- // ------------------------------------------------------------------------
- // Operations
- // ------------------------------------------------------------------------
-
- @NonNull
- private ByteBuffer getByteBufferAt(long position, long size) throws CTFReaderException, IOException {
- ByteBuffer map = SafeMappedByteBuffer.map(fStreamInputReader.getFc(), MapMode.READ_ONLY, position, size);
- if (map == null) {
- throw new CTFReaderException("Failed to allocate mapped byte buffer"); //$NON-NLS-1$
- }
- return map;
- }
- /**
- * Changes the current packet to the given one.
- *
- * @param currentPacket
- * The index entry of the packet to switch to.
- * @throws CTFReaderException
- * If we get an error reading the packet
- */
- void setCurrentPacket(StreamInputPacketIndexEntry currentPacket) throws CTFReaderException {
- StreamInputPacketIndexEntry prevPacket = null;
- fCurrentPacket = currentPacket;
-
- if (fCurrentPacket != null) {
- /*
- * Change the map of the BitBuffer.
- */
- ByteBuffer bb = null;
- try {
- bb = getByteBufferAt(
- fCurrentPacket.getOffsetBytes(),
- (fCurrentPacket.getPacketSizeBits() + 7) / 8);
- } catch (IOException e) {
- throw new CTFReaderException(e.getMessage(), e);
- }
-
- BitBuffer bitBuffer = new BitBuffer(bb);
- fBitBuffer = bitBuffer;
- /*
- * Read trace packet header.
- */
- if (fTracePacketHeaderDecl != null) {
- fCurrentTracePacketHeaderDef = getTracePacketHeaderDefinition(bitBuffer);
- }
-
- /*
- * Read stream packet context.
- */
- if (fStreamPacketContextDecl != null) {
- fCurrentStreamPacketContextDef = getStreamPacketContextDefinition(bitBuffer);
-
- /* Read CPU ID */
- if (getCurrentPacket().getTarget() != null) {
- fCurrentCpu = (int) getCurrentPacket().getTargetId();
- }
-
- /* Read number of lost events */
- fLostEventsInThisPacket = (int) getCurrentPacket().getLostEvents();
- if (fLostEventsInThisPacket != 0) {
- fHasLost = true;
- /*
- * Compute the duration of the lost event time range. If the
- * current packet is the first packet, duration will be set
- * to 1.
- */
- long lostEventsStartTime;
- int index = fStreamInputReader.getStreamInput().getIndex().getEntries().indexOf(currentPacket);
- if (index == 0) {
- lostEventsStartTime = currentPacket.getTimestampBegin() + 1;
- } else {
- prevPacket = fStreamInputReader.getStreamInput().getIndex().getEntries().get(index - 1);
- lostEventsStartTime = prevPacket.getTimestampEnd();
- }
- fLostEventsDuration = Math.abs(lostEventsStartTime - currentPacket.getTimestampBegin());
- }
- }
-
- /*
- * Use the timestamp begin of the packet as the reference for the
- * timestamp reconstitution.
- */
- fLastTimestamp = currentPacket.getTimestampBegin();
- } else {
- fBitBuffer = null;
- fLastTimestamp = 0;
- }
- }
-
- /**
- * Returns whether it is possible to read any more events from this packet.
- *
- * @return True if it is possible to read any more events from this packet.
- */
- public boolean hasMoreEvents() {
- BitBuffer bitBuffer = fBitBuffer;
- StreamInputPacketIndexEntry currentPacket = fCurrentPacket;
- if (currentPacket != null && bitBuffer != null) {
- return fHasLost || (bitBuffer.position() < currentPacket.getContentSizeBits());
- }
- return false;
- }
-
- /**
- * Reads the next event of the packet into the right event definition.
- *
- * @return The event definition containing the event data that was just
- * read.
- * @throws CTFReaderException
- * If there was a problem reading the trace
- */
- public EventDefinition readNextEvent() throws CTFReaderException {
- /* Default values for those fields */
- // compromise since we cannot have 64 bit addressing of arrays yet.
- int eventID = (int) EventDeclaration.UNSET_EVENT_ID;
- long timestamp = 0;
- if (fHasLost) {
- fHasLost = false;
- EventDeclaration lostEventDeclaration = EventDeclaration.getLostEventDeclaration();
- StructDeclaration lostFields = lostEventDeclaration.getFields();
- // this is a hard coded map, we know it's not null
- IntegerDeclaration lostFieldsDecl = (IntegerDeclaration) lostFields.getField(CTFStrings.LOST_EVENTS_FIELD);
- if (lostFieldsDecl == null)
- {
- throw new IllegalStateException("Lost events count not declared!"); //$NON-NLS-1$
- }
- IntegerDeclaration lostEventsDurationDecl = (IntegerDeclaration) lostFields.getField(CTFStrings.LOST_EVENTS_DURATION);
- if (lostEventsDurationDecl == null) {
- throw new IllegalStateException("Lost events duration not declared!"); //$NON-NLS-1$
- }
- IntegerDefinition lostDurationDef = new IntegerDefinition(lostFieldsDecl, null, CTFStrings.LOST_EVENTS_DURATION, fLostEventsDuration);
- IntegerDefinition lostCountDef = new IntegerDefinition(lostEventsDurationDecl, null, CTFStrings.LOST_EVENTS_FIELD, fLostEventsInThisPacket);
- IntegerDefinition[] fields = new IntegerDefinition[] { lostCountDef, lostDurationDef };
- /* this is weird notation, but it's the java notation */
- final ImmutableList<String> fieldNameList = ImmutableList.<String> builder().add(CTFStrings.LOST_EVENTS_FIELD).add(CTFStrings.LOST_EVENTS_DURATION).build();
- return new EventDefinition(
- lostEventDeclaration,
- fStreamInputReader,
- fLastTimestamp,
- null,
- null,
- null,
- new StructDefinition(
- lostFields,
- this, "fields", //$NON-NLS-1$
- fieldNameList,
- fields
- ));
-
- }
-
- final BitBuffer currentBitBuffer = fBitBuffer;
- if (currentBitBuffer == null) {
- return null;
- }
- final long posStart = currentBitBuffer.position();
- /* Read the stream event header. */
- if (fStreamEventHeaderDecl != null) {
- if (fStreamEventHeaderDecl instanceof IEventHeaderDeclaration) {
- fCurrentStreamEventHeaderDef = (ICompositeDefinition) fStreamEventHeaderDecl.createDefinition(null, "", currentBitBuffer); //$NON-NLS-1$
- EventHeaderDefinition ehd = (EventHeaderDefinition) fCurrentStreamEventHeaderDef;
- eventID = ehd.getId();
- timestamp = calculateTimestamp(ehd.getTimestamp(), ehd.getTimestampLength());
- } else {
- fCurrentStreamEventHeaderDef = ((StructDeclaration) fStreamEventHeaderDecl).createDefinition(null, LexicalScope.EVENT_HEADER, currentBitBuffer);
- StructDefinition StructEventHeaderDef = (StructDefinition) fCurrentStreamEventHeaderDef;
- /* Check for the event id. */
- IDefinition idDef = StructEventHeaderDef.lookupDefinition("id"); //$NON-NLS-1$
- SimpleDatatypeDefinition simpleIdDef = null;
- if (idDef instanceof SimpleDatatypeDefinition) {
- simpleIdDef = ((SimpleDatatypeDefinition) idDef);
- } else if (idDef != null) {
- throw new CTFReaderException("Id defintion not an integer, enum or float definiton in event header."); //$NON-NLS-1$
- }
-
- /*
- * Get the timestamp from the event header (may be overridden
- * later on)
- */
- IntegerDefinition timestampDef = StructEventHeaderDef.lookupInteger("timestamp"); //$NON-NLS-1$
-
- /* Check for the variant v. */
- IDefinition variantDef = StructEventHeaderDef.lookupDefinition("v"); //$NON-NLS-1$
- if (variantDef instanceof VariantDefinition) {
-
- /* Get the variant current field */
- StructDefinition variantCurrentField = (StructDefinition) ((VariantDefinition) variantDef).getCurrentField();
-
- /*
- * Try to get the id field in the current field of the
- * variant. If it is present, it overrides the previously
- * read event id.
- */
- IDefinition vIdDef = variantCurrentField.lookupDefinition("id"); //$NON-NLS-1$
- if (vIdDef instanceof IntegerDefinition) {
- simpleIdDef = (SimpleDatatypeDefinition) vIdDef;
- }
-
- /*
- * Get the timestamp. This would overwrite any previous
- * timestamp definition
- */
- timestampDef = variantCurrentField.lookupInteger("timestamp"); //$NON-NLS-1$
- }
- if (simpleIdDef != null) {
- eventID = simpleIdDef.getIntegerValue().intValue();
- }
- if (timestampDef != null) {
- timestamp = calculateTimestamp(timestampDef);
- } // else timestamp remains 0
- }
- }
- /* Get the right event definition using the event id. */
- IEventDeclaration eventDeclaration = fStreamInputReader.getStreamInput().getStream().getEventDeclaration(eventID);
- if (eventDeclaration == null) {
- throw new CTFReaderException("Incorrect event id : " + eventID); //$NON-NLS-1$
- }
- EventDefinition eventDef = eventDeclaration.createDefinition(fStreamInputReader, currentBitBuffer, timestamp);
-
- /*
- * Set the event timestamp using the timestamp calculated by
- * updateTimestamp.
- */
-
- if (posStart == currentBitBuffer.position()) {
- throw new CTFReaderException("Empty event not allowed, event: " + eventDef.getDeclaration().getName()); //$NON-NLS-1$
- }
-
- return eventDef;
- }
-
- /**
- * Calculates the timestamp value of the event, possibly using the timestamp
- * from the last event.
- *
- * @param timestampDef
- * Integer definition of the timestamp.
- * @return The calculated timestamp value.
- */
- private long calculateTimestamp(IntegerDefinition timestampDef) {
- int len = timestampDef.getDeclaration().getLength();
- final long value = timestampDef.getValue();
-
- return calculateTimestamp(value, len);
- }
-
- private long calculateTimestamp(final long value, int len) {
- long newval;
- long majorasbitmask;
- /*
- * If the timestamp length is 64 bits, it is a full timestamp.
- */
- if (len == 64) {
- fLastTimestamp = value;
- return fLastTimestamp;
- }
-
- /*
- * Bit mask to keep / remove all old / new bits.
- */
- majorasbitmask = (1L << len) - 1;
-
- /*
- * If the new value is smaller than the corresponding bits of the last
- * timestamp, we assume an overflow of the compact representation.
- */
- newval = value;
- if (newval < (fLastTimestamp & majorasbitmask)) {
- newval = newval + (1L << len);
- }
-
- /* Keep only the high bits of the old value */
- fLastTimestamp = fLastTimestamp & ~majorasbitmask;
-
- /* Then add the low bits of the new value */
- fLastTimestamp = fLastTimestamp + newval;
-
- return fLastTimestamp;
- }
-
- @Override
- public Definition lookupDefinition(String lookupPath) {
- if (lookupPath.equals(LexicalScope.STREAM_PACKET_CONTEXT.toString())) {
- return (Definition) fCurrentStreamPacketContextDef;
- }
- if (lookupPath.equals(LexicalScope.TRACE_PACKET_HEADER.toString())) {
- return (Definition) fCurrentTracePacketHeaderDef;
- }
- return null;
- }
-
- /**
- * Get stream event header
- *
- * @return the stream event header
- * @deprecated use
- * {@link CTFStreamInputPacketReader#getStreamEventHeaderDefinition()}
- */
- @Deprecated
- public StructDefinition getCurrentStreamEventHeader() {
- return (StructDefinition) ((fCurrentStreamEventHeaderDef instanceof StructDefinition) ? fCurrentStreamEventHeaderDef : null);
- }
-
- /**
- * Get stream event header
- *
- * @return the stream event header
- * @since 3.1
- */
- public ICompositeDefinition getStreamEventHeaderDefinition() {
- return fCurrentStreamEventHeaderDef;
- }
-
- /**
- * Get the current packet event header
- *
- * @return the current packet event header
- */
- public StructDefinition getCurrentPacketEventHeader() {
- if (fCurrentTracePacketHeaderDef instanceof StructDefinition) {
- return (StructDefinition) fCurrentTracePacketHeaderDef;
- }
- return null;
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/ctf/core/trace/CTFStreamInputReader.java b/lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/ctf/core/trace/CTFStreamInputReader.java
deleted file mode 100644
index c7965b3988..0000000000
--- a/lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/ctf/core/trace/CTFStreamInputReader.java
+++ /dev/null
@@ -1,495 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011, 2014 Ericsson, Ecole Polytechnique de Montreal and others
- *
- * 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: Matthew Khouzam - Initial API and implementation
- * Contributors: Simon Marchi - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.ctf.core.trace;
-
-import java.io.File;
-import java.io.IOException;
-import java.nio.ByteOrder;
-import java.nio.channels.FileChannel;
-import java.nio.file.StandardOpenOption;
-
-import org.eclipse.jdt.annotation.NonNull;
-import org.eclipse.linuxtools.ctf.core.event.EventDefinition;
-import org.eclipse.linuxtools.ctf.core.event.IEventDeclaration;
-import org.eclipse.linuxtools.ctf.core.event.types.StructDeclaration;
-import org.eclipse.linuxtools.internal.ctf.core.Activator;
-import org.eclipse.linuxtools.internal.ctf.core.trace.StreamInputPacketIndexEntry;
-
-import com.google.common.collect.ImmutableList;
-
-/**
- * A CTF trace event reader. Reads the events of a trace file.
- *
- * @author Matthew Khouzam
- * @author Simon Marchi
- * @since 3.0
- */
-public class CTFStreamInputReader implements AutoCloseable {
-
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
-
- /**
- * The StreamInput we are reading.
- */
- private final @NonNull File fFile;
-
- private final @NonNull CTFStreamInput fStreamInput;
-
- private final FileChannel fFileChannel;
-
- /**
- * The packet reader used to read packets from this trace file.
- */
- private final CTFStreamInputPacketReader fPacketReader;
-
- /**
- * Iterator on the packet index
- */
- private int fPacketIndex;
-
- /**
- * Reference to the current event of this trace file (iow, the last on that
- * was read, the next one to be returned)
- */
- private EventDefinition fCurrentEvent = null;
-
- private int fId;
-
- private CTFTraceReader fParent;
-
- /**
- * Live trace reading
- */
- private boolean fLive = false;
-
- // ------------------------------------------------------------------------
- // Constructors
- // ------------------------------------------------------------------------
- /**
- * Constructs a StreamInputReader that reads a StreamInput.
- *
- * @param streamInput
- * The StreamInput to read.
- * @throws CTFReaderException
- * If the file cannot be opened
- */
- public CTFStreamInputReader(CTFStreamInput streamInput) throws CTFReaderException {
- if (streamInput == null) {
- throw new IllegalArgumentException("stream cannot be null"); //$NON-NLS-1$
- }
- fStreamInput = streamInput;
- fFile = fStreamInput.getFile();
- try {
- fFileChannel = FileChannel.open(fFile.toPath(), StandardOpenOption.READ);
- } catch (IOException e) {
- throw new CTFReaderException(e);
- }
- fPacketReader = new CTFStreamInputPacketReader(this);
- /*
- * Get the iterator on the packet index.
- */
- fPacketIndex = 0;
- /*
- * Make first packet the current one.
- */
- goToNextPacket();
- }
-
- /**
- * Dispose the StreamInputReader, closes the file channel and its packet
- * reader
- *
- * @throws IOException
- * If an I/O error occurs
- */
- @Override
- public void close() throws IOException {
- fFileChannel.close();
- fPacketReader.close();
- }
-
- // ------------------------------------------------------------------------
- // Getters/Setters/Predicates
- // ------------------------------------------------------------------------
-
- /**
- * Gets the current event in this stream
- *
- * @return the current event in the stream, null if the stream is
- * finished/empty/malformed
- */
- public EventDefinition getCurrentEvent() {
- return fCurrentEvent;
- }
-
- /**
- * Gets the byte order for a trace
- *
- * @return the trace byte order
- */
- public ByteOrder getByteOrder() {
- return fStreamInput.getStream().getTrace().getByteOrder();
- }
-
- /**
- * Gets the name of the stream (it's an id and a number)
- *
- * @return gets the stream name (it's a number)
- */
- public int getName() {
- return fId;
- }
-
- /**
- * Sets the name of the stream
- *
- * @param name
- * the name of the stream, (it's a number)
- */
- public void setName(int name) {
- fId = name;
- }
-
- /**
- * Gets the CPU of a stream. It's the same as the one in /proc or running
- * the asm CPUID instruction
- *
- * @return The CPU id (a number)
- */
- public int getCPU() {
- return fPacketReader.getCPU();
- }
-
- /**
- * Gets the filename of the stream being read
- *
- * @return The filename of the stream being read
- */
- public String getFilename() {
- return fStreamInput.getFilename();
- }
-
- /*
- * for internal use only
- */
- CTFStreamInput getStreamInput() {
- return fStreamInput;
- }
-
- /**
- * Gets the event definition set for this StreamInput
- *
- * @return Unmodifiable set with the event definitions
- */
- public Iterable<IEventDeclaration> getEventDeclarations() {
- return ImmutableList.copyOf(fStreamInput.getStream().getEventDeclarations());
- }
-
- /**
- * Set the trace to live mode
- *
- * @param live
- * whether the trace is read live or not
- */
- public void setLive(boolean live) {
- fLive = live;
- }
-
- /**
- * Get if the trace is to read live or not
- *
- * @return whether the trace is live or not
- */
- public boolean isLive() {
- return fLive;
- }
-
- /**
- * Get the event context of the stream
- *
- * @return the event context declaration of the stream
- */
- public StructDeclaration getStreamEventContextDecl() {
- return getStreamInput().getStream().getEventContextDecl();
- }
-
- // ------------------------------------------------------------------------
- // Operations
- // ------------------------------------------------------------------------
- /**
- * Reads the next event in the current event variable.
- *
- * @return If an event has been successfully read.
- * @throws CTFReaderException
- * if an error occurs
- */
- public CTFResponse readNextEvent() throws CTFReaderException {
-
- /*
- * Change packet if needed
- */
- if (!fPacketReader.hasMoreEvents()) {
- final StreamInputPacketIndexEntry prevPacket = fPacketReader
- .getCurrentPacket();
- if (prevPacket != null || fLive) {
- goToNextPacket();
- }
-
- }
-
- /*
- * If an event is available, read it.
- */
- if (fPacketReader.hasMoreEvents()) {
- setCurrentEvent(fPacketReader.readNextEvent());
- return CTFResponse.OK;
- }
- this.setCurrentEvent(null);
- return fLive ? CTFResponse.WAIT : CTFResponse.FINISH;
- }
-
- /**
- * Change the current packet of the packet reader to the next one.
- *
- * @throws CTFReaderException
- * if an error occurs
- */
- private void goToNextPacket() throws CTFReaderException {
- fPacketIndex++;
- // did we already index the packet?
- if (getPacketSize() >= (fPacketIndex + 1)) {
- fPacketReader.setCurrentPacket(getPacket());
- } else {
- // go to the next packet if there is one, index it at the same time
- if (fStreamInput.addPacketHeaderIndex()) {
- fPacketIndex = getPacketSize() - 1;
- fPacketReader.setCurrentPacket(getPacket());
- } else {
- // out of packets
- fPacketReader.setCurrentPacket(null);
- }
- }
- }
-
- /**
- * @return
- */
- private int getPacketSize() {
- return fStreamInput.getIndex().getEntries().size();
- }
-
- /**
- * Changes the location of the trace file reader so that the current event
- * is the first event with a timestamp greater or equal the given timestamp.
- *
- * @param timestamp
- * The timestamp to seek to.
- * @return The offset compared to the current position
- * @throws CTFReaderException
- * if an error occurs
- */
- public long seek(long timestamp) throws CTFReaderException {
- long offset = 0;
-
- gotoPacket(timestamp);
-
- /*
- * index up to the desired timestamp.
- */
- while ((fPacketReader.getCurrentPacket() != null)
- && (fPacketReader.getCurrentPacket().getTimestampEnd() < timestamp)) {
- try {
- fStreamInput.addPacketHeaderIndex();
- goToNextPacket();
- } catch (CTFReaderException e) {
- // do nothing here
- Activator.log(e.getMessage());
- }
- }
- if (fPacketReader.getCurrentPacket() == null) {
- gotoPacket(timestamp);
- }
-
- /*
- * Advance until either of these conditions are met:
- *
- * - reached the end of the trace file (the given timestamp is after the
- * last event)
- *
- * - found the first event with a timestamp greater or equal the given
- * timestamp.
- */
- readNextEvent();
- boolean done = (this.getCurrentEvent() == null);
- while (!done && (this.getCurrentEvent().getTimestamp() < timestamp)) {
- readNextEvent();
- done = (this.getCurrentEvent() == null);
- offset++;
- }
- return offset;
- }
-
- /**
- * @param timestamp
- * the time to seek
- * @throws CTFReaderException
- * if an error occurs
- */
- private void gotoPacket(long timestamp) throws CTFReaderException {
- fPacketIndex = fStreamInput.getIndex().search(timestamp)
- .previousIndex();
- /*
- * Switch to this packet.
- */
- goToNextPacket();
- }
-
- /**
- * Seeks the last event of a stream and returns it.
- *
- * @throws CTFReaderException
- * if an error occurs
- */
- public void goToLastEvent() throws CTFReaderException {
- /*
- * Search in the index for the packet to search in.
- */
- final int len = fStreamInput.getIndex().getEntries().size();
-
- /*
- * Go to beginning of trace.
- */
- seek(0);
- /*
- * if the trace is empty.
- */
- if ((len == 0) || (fPacketReader.hasMoreEvents() == false)) {
- /*
- * This means the trace is empty. abort.
- */
- return;
- }
- /*
- * Go to the last packet that contains events.
- */
- for (int pos = len - 1; pos > 0; pos--) {
- fPacketIndex = pos;
- fPacketReader.setCurrentPacket(getPacket());
- if (fPacketReader.hasMoreEvents()) {
- break;
- }
- }
-
- /*
- * Go until the end of that packet
- */
- EventDefinition prevEvent = null;
- while (fCurrentEvent != null) {
- prevEvent = fCurrentEvent;
- this.readNextEvent();
- }
- /*
- * Go back to the previous event
- */
- this.setCurrentEvent(prevEvent);
- }
-
- /**
- * @return the parent
- */
- public CTFTraceReader getParent() {
- return fParent;
- }
-
- /**
- * @param parent
- * the parent to set
- */
- public void setParent(CTFTraceReader parent) {
- fParent = parent;
- }
-
- /**
- * Sets the current event in a stream input reader
- *
- * @param currentEvent
- * the event to set
- */
- public void setCurrentEvent(EventDefinition currentEvent) {
- fCurrentEvent = currentEvent;
- }
-
- /**
- * @return the packetIndexIt
- */
- private int getPacketIndex() {
- return fPacketIndex;
- }
-
- private StreamInputPacketIndexEntry getPacket() {
- return fStreamInput.getIndex().getEntries().get(getPacketIndex());
- }
-
- /**
- * Get the file channel wrapped by this reader
- *
- * @return the file channel
- */
- FileChannel getFc() {
- return fFileChannel;
- }
-
- /**
- * @return the packetReader
- */
- public CTFStreamInputPacketReader getPacketReader() {
- return fPacketReader;
- }
-
- @Override
- public int hashCode() {
- final int prime = 31;
- int result = 1;
- result = (prime * result) + fId;
- result = (prime * result)
- + fFile.hashCode();
- return result;
- }
-
- @Override
- public boolean equals(Object obj) {
- if (this == obj) {
- return true;
- }
- if (obj == null) {
- return false;
- }
- if (!(obj instanceof CTFStreamInputReader)) {
- return false;
- }
- CTFStreamInputReader other = (CTFStreamInputReader) obj;
- if (fId != other.fId) {
- return false;
- }
- return fFile.equals(other.fFile);
- }
-
- @Override
- public String toString() {
- // this helps debugging
- return fId + ' ' + fCurrentEvent.toString();
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/ctf/core/trace/CTFTrace.java b/lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/ctf/core/trace/CTFTrace.java
deleted file mode 100644
index b383e93a9e..0000000000
--- a/lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/ctf/core/trace/CTFTrace.java
+++ /dev/null
@@ -1,1007 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011, 2014 Ericsson, Ecole Polytechnique de Montreal and others
- *
- * 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:
- * Matthew Khouzam - Initial API and implementation
- * Alexandre Montplaisir - Initial API and implementation
- * Simon Delisle - Replace LinkedList by TreeSet in callsitesByName attribute
- *******************************************************************************/
-
-package org.eclipse.linuxtools.ctf.core.trace;
-
-import java.io.File;
-import java.io.FileFilter;
-import java.io.IOException;
-import java.io.Serializable;
-import java.nio.ByteBuffer;
-import java.nio.ByteOrder;
-import java.nio.channels.FileChannel;
-import java.nio.channels.FileChannel.MapMode;
-import java.nio.file.StandardOpenOption;
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.Comparator;
-import java.util.HashMap;
-import java.util.Map;
-import java.util.Set;
-import java.util.TreeSet;
-import java.util.UUID;
-
-import org.eclipse.linuxtools.ctf.core.event.CTFCallsite;
-import org.eclipse.linuxtools.ctf.core.event.CTFClock;
-import org.eclipse.linuxtools.ctf.core.event.IEventDeclaration;
-import org.eclipse.linuxtools.ctf.core.event.io.BitBuffer;
-import org.eclipse.linuxtools.ctf.core.event.scope.IDefinitionScope;
-import org.eclipse.linuxtools.ctf.core.event.scope.LexicalScope;
-import org.eclipse.linuxtools.ctf.core.event.types.Definition;
-import org.eclipse.linuxtools.ctf.core.event.types.IDefinition;
-import org.eclipse.linuxtools.ctf.core.event.types.IntegerDefinition;
-import org.eclipse.linuxtools.ctf.core.event.types.StructDeclaration;
-import org.eclipse.linuxtools.ctf.core.event.types.StructDefinition;
-import org.eclipse.linuxtools.internal.ctf.core.SafeMappedByteBuffer;
-import org.eclipse.linuxtools.internal.ctf.core.event.CTFCallsiteComparator;
-import org.eclipse.linuxtools.internal.ctf.core.event.metadata.exceptions.ParseException;
-import org.eclipse.linuxtools.internal.ctf.core.event.types.ArrayDefinition;
-
-/**
- * A CTF trace on the file system.
- *
- * Represents a trace on the filesystem. It is responsible of parsing the
- * metadata, creating declarations data structures, indexing the event packets
- * (in other words, all the work that can be shared between readers), but the
- * actual reading of events is left to TraceReader.
- *
- * @author Matthew Khouzam
- * @version $Revision: 1.0 $
- */
-public class CTFTrace implements IDefinitionScope, AutoCloseable {
-
- @Override
- public String toString() {
- /* Only for debugging, shouldn't be externalized */
- return "CTFTrace [path=" + fPath + ", major=" + fMajor + ", minor=" //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- + fMinor + ", uuid=" + fUuid + "]"; //$NON-NLS-1$ //$NON-NLS-2$
- }
-
- /**
- * The trace directory on the filesystem.
- */
- private final File fPath;
-
- /**
- * Major CTF version number
- */
- private Long fMajor;
-
- /**
- * Minor CTF version number
- */
- private Long fMinor;
-
- /**
- * Trace UUID
- */
- private UUID fUuid;
-
- /**
- * Trace byte order
- */
- private ByteOrder fByteOrder;
-
- /**
- * Packet header structure declaration
- */
- private StructDeclaration fPacketHeaderDecl = null;
-
- /**
- * The clock of the trace
- */
- private CTFClock fSingleClock = null;
-
- /**
- * Packet header structure definition
- *
- * This is only used when opening the trace files, to read the first packet
- * header and see if they are valid trace files.
- */
- private StructDefinition fPacketHeaderDef;
-
- /**
- * Collection of streams contained in the trace.
- */
- private final Map<Long, CTFStream> fStreams = new HashMap<>();
-
- /**
- * Collection of environment variables set by the tracer
- */
- private final Map<String, String> fEnvironment = new HashMap<>();
-
- /**
- * Collection of all the clocks in a system.
- */
- private final Map<String, CTFClock> fClocks = new HashMap<>();
-
- /** Handlers for the metadata files */
- private static final FileFilter METADATA_FILE_FILTER = new MetadataFileFilter();
- private static final Comparator<File> METADATA_COMPARATOR = new MetadataComparator();
-
- /** Callsite helpers */
- private CTFCallsiteComparator fCtfCallsiteComparator = new CTFCallsiteComparator();
-
- private Map<String, TreeSet<CTFCallsite>> fCallsitesByName = new HashMap<>();
-
- /** Callsite helpers */
- private TreeSet<CTFCallsite> fCallsitesByIP = new TreeSet<>();
-
- // ------------------------------------------------------------------------
- // Constructors
- // ------------------------------------------------------------------------
-
- /**
- * Trace constructor.
- *
- * @param path
- * Filesystem path of the trace directory
- * @throws CTFReaderException
- * If no CTF trace was found at the path
- */
- public CTFTrace(String path) throws CTFReaderException {
- this(new File(path));
-
- }
-
- /**
- * Trace constructor.
- *
- * @param path
- * Filesystem path of the trace directory.
- * @throws CTFReaderException
- * If no CTF trace was found at the path
- */
- public CTFTrace(File path) throws CTFReaderException {
- fPath = path;
- final Metadata metadata = new Metadata(this);
-
- /* Set up the internal containers for this trace */
- if (!fPath.exists()) {
- throw new CTFReaderException("Trace (" + path.getPath() + ") doesn't exist. Deleted or moved?"); //$NON-NLS-1$ //$NON-NLS-2$
- }
-
- if (!fPath.isDirectory()) {
- throw new CTFReaderException("Path must be a valid directory"); //$NON-NLS-1$
- }
-
- /* Open and parse the metadata file */
- metadata.parseFile();
-
- init(path);
- }
-
- /**
- * Streamed constructor
- *
- * @since 3.0
- */
- public CTFTrace() {
- fPath = null;
- }
-
- private void init(File path) throws CTFReaderException {
-
- /* Open all the trace files */
-
- /* List files not called metadata and not hidden. */
- File[] files = path.listFiles(METADATA_FILE_FILTER);
- Arrays.sort(files, METADATA_COMPARATOR);
-
- /* Try to open each file */
- for (File streamFile : files) {
- openStreamInput(streamFile);
- }
-
- /* Create their index */
- for (CTFStream stream : getStreams()) {
- Set<CTFStreamInput> inputs = stream.getStreamInputs();
- for (CTFStreamInput s : inputs) {
- addStream(s);
- }
- }
- }
-
- /**
- * Dispose the trace
- *
- * FIXME Not needed anymore, class doesn't need to be AutoCloseable.
- *
- * @since 3.0
- */
- @Override
- public void close() {
- }
-
- // ------------------------------------------------------------------------
- // Getters/Setters/Predicates
- // ------------------------------------------------------------------------
-
- /**
- * Gets an event declaration hash map for a given streamID
- *
- * @param streamId
- * The ID of the stream from which to read
- * @return The Hash map with the event declarations
- * @since 2.0
- * @deprecated use {@link CTFTrace#getEventDeclarations(Long)}
- */
- @Deprecated
- public Map<Long, IEventDeclaration> getEvents(Long streamId) {
- return fStreams.get(streamId).getEvents();
- }
-
- /**
- * Gets an event declaration list for a given streamID
- *
- * @param streamId
- * The ID of the stream from which to read
- * @return The list of event declarations
- * @since 3.2
- */
- public Collection<IEventDeclaration> getEventDeclarations(Long streamId) {
- return fStreams.get(streamId).getEventDeclarations();
- }
-
- /**
- * Get an event by it's ID
- *
- * @param streamId
- * The ID of the stream from which to read
- * @param id
- * the ID of the event
- * @return the event declaration
- * @since 2.0
- * @deprecated use {@link CTFTrace#getEventType(long, int)} instead
- */
- @Deprecated
- public IEventDeclaration getEventType(long streamId, long id) {
- return getStream(streamId).getEventDeclaration((int) id);
- }
-
- /**
- * Get an event by it's ID
- *
- * @param streamId
- * The ID of the stream from which to read
- * @param id
- * the ID of the event
- * @return the event declaration
- * @since 3.2
- */
- public IEventDeclaration getEventType(long streamId, int id) {
- return getEvents(streamId).get(id);
- }
-
- /**
- * Method getStream gets the stream for a given id
- *
- * @param id
- * Long the id of the stream
- * @return Stream the stream that we need
- * @since 3.0
- */
- public CTFStream getStream(Long id) {
- return fStreams.get(id);
- }
-
- /**
- * Method nbStreams gets the number of available streams
- *
- * @return int the number of streams
- */
- public int nbStreams() {
- return fStreams.size();
- }
-
- /**
- * Method setMajor sets the major version of the trace (DO NOT USE)
- *
- * @param major
- * long the major version
- */
- public void setMajor(long major) {
- fMajor = major;
- }
-
- /**
- * Method setMinor sets the minor version of the trace (DO NOT USE)
- *
- * @param minor
- * long the minor version
- */
- public void setMinor(long minor) {
- fMinor = minor;
- }
-
- /**
- * Method setUUID sets the UUID of a trace
- *
- * @param uuid
- * UUID
- */
- public void setUUID(UUID uuid) {
- fUuid = uuid;
- }
-
- /**
- * Method setByteOrder sets the byte order
- *
- * @param byteOrder
- * ByteOrder of the trace, can be little-endian or big-endian
- */
- public void setByteOrder(ByteOrder byteOrder) {
- fByteOrder = byteOrder;
- }
-
- /**
- * Method setPacketHeader sets the packet header of a trace (DO NOT USE)
- *
- * @param packetHeader
- * StructDeclaration the header in structdeclaration form
- */
- public void setPacketHeader(StructDeclaration packetHeader) {
- fPacketHeaderDecl = packetHeader;
- }
-
- /**
- * Method majorIsSet is the major version number set?
- *
- * @return boolean is the major set?
- * @since 3.0
- */
- public boolean majorIsSet() {
- return fMajor != null;
- }
-
- /**
- * Method minorIsSet. is the minor version number set?
- *
- * @return boolean is the minor set?
- */
- public boolean minorIsSet() {
- return fMinor != null;
- }
-
- /**
- * Method UUIDIsSet is the UUID set?
- *
- * @return boolean is the UUID set?
- * @since 2.0
- */
- public boolean uuidIsSet() {
- return fUuid != null;
- }
-
- /**
- * Method byteOrderIsSet is the byteorder set?
- *
- * @return boolean is the byteorder set?
- */
- public boolean byteOrderIsSet() {
- return fByteOrder != null;
- }
-
- /**
- * Method packetHeaderIsSet is the packet header set?
- *
- * @return boolean is the packet header set?
- */
- public boolean packetHeaderIsSet() {
- return fPacketHeaderDecl != null;
- }
-
- /**
- * Method getUUID gets the trace UUID
- *
- * @return UUID gets the trace UUID
- */
- public UUID getUUID() {
- return fUuid;
- }
-
- /**
- * Method getMajor gets the trace major version
- *
- * @return long gets the trace major version
- */
- public long getMajor() {
- return fMajor;
- }
-
- /**
- * Method getMinor gets the trace minor version
- *
- * @return long gets the trace minor version
- */
- public long getMinor() {
- return fMinor;
- }
-
- /**
- * Method getByteOrder gets the trace byte order
- *
- * @return ByteOrder gets the trace byte order
- */
- public final ByteOrder getByteOrder() {
- return fByteOrder;
- }
-
- /**
- * Method getPacketHeader gets the trace packet header
- *
- * @return StructDeclaration gets the trace packet header
- */
- public StructDeclaration getPacketHeader() {
- return fPacketHeaderDecl;
- }
-
- /**
- * Method getTraceDirectory gets the trace directory
- *
- * @return File the path in "File" format.
- */
- public File getTraceDirectory() {
- return fPath;
- }
-
- /**
- * Get all the streams as an iterable.
- *
- * @return Iterable&lt;Stream&gt; an iterable over streams.
- * @since 3.0
- */
- public Iterable<CTFStream> getStreams() {
- return fStreams.values();
- }
-
- /**
- * Method getPath gets the path of the trace directory
- *
- * @return String the path of the trace directory, in string format.
- * @see java.io.File#getPath()
- */
- public String getPath() {
- return (fPath != null) ? fPath.getPath() : ""; //$NON-NLS-1$
- }
-
- // ------------------------------------------------------------------------
- // Operations
- // ------------------------------------------------------------------------
-
- private void addStream(CTFStreamInput s) {
-
- /*
- * add the stream
- */
- CTFStream stream = s.getStream();
- fStreams.put(stream.getId(), stream);
-
- /*
- * index the trace
- */
- s.setupIndex();
- }
-
- /**
- * Tries to open the given file, reads the first packet header of the file
- * and check its validity. This will add a file to a stream as a streaminput
- *
- * @param streamFile
- * A trace file in the trace directory.
- * @param index
- * Which index in the class' streamFileChannel array this file
- * must use
- * @throws CTFReaderException
- * if there is a file error
- */
- private CTFStream openStreamInput(File streamFile) throws CTFReaderException {
- ByteBuffer byteBuffer;
- BitBuffer streamBitBuffer;
- CTFStream stream;
-
- if (!streamFile.canRead()) {
- throw new CTFReaderException("Unreadable file : " //$NON-NLS-1$
- + streamFile.getPath());
- }
-
- try (FileChannel fc = FileChannel.open(streamFile.toPath(), StandardOpenOption.READ)) {
- /* Map one memory page of 4 kiB */
- byteBuffer = SafeMappedByteBuffer.map(fc, MapMode.READ_ONLY, 0, (int) Math.min(fc.size(), 4096L));
- if (byteBuffer == null) {
- throw new IllegalStateException("Failed to allocate memory"); //$NON-NLS-1$
- }
- /* Create a BitBuffer with this mapping and the trace byte order */
- streamBitBuffer = new BitBuffer(byteBuffer, this.getByteOrder());
-
- if (fPacketHeaderDecl != null) {
- /* Read the packet header */
- fPacketHeaderDef = fPacketHeaderDecl.createDefinition(this, LexicalScope.PACKET_HEADER, streamBitBuffer);
- }
- } catch (IOException e) {
- /* Shouldn't happen at this stage if every other check passed */
- throw new CTFReaderException(e);
- }
- if (fPacketHeaderDef != null) {
- validateMagicNumber(fPacketHeaderDef);
-
- validateUUID(fPacketHeaderDef);
-
- /* Read the stream ID */
- IDefinition streamIDDef = fPacketHeaderDef.lookupDefinition("stream_id"); //$NON-NLS-1$
-
- if (streamIDDef instanceof IntegerDefinition) {
- /* This doubles as a null check */
- long streamID = ((IntegerDefinition) streamIDDef).getValue();
- stream = fStreams.get(streamID);
- } else {
- /* No stream_id in the packet header */
- stream = fStreams.get(null);
- }
-
- } else {
- /* No packet header, we suppose there is only one stream */
- stream = fStreams.get(null);
- }
-
- if (stream == null) {
- throw new CTFReaderException("Unexpected end of stream"); //$NON-NLS-1$
- }
-
- /*
- * Create the stream input and add a reference to the streamInput in the
- * stream.
- */
- stream.addInput(new CTFStreamInput(stream, streamFile));
- return stream;
- }
-
- private void validateUUID(StructDefinition packetHeaderDef) throws CTFReaderException {
- IDefinition lookupDefinition = packetHeaderDef.lookupDefinition("uuid"); //$NON-NLS-1$
- ArrayDefinition uuidDef = (ArrayDefinition) lookupDefinition;
- if (uuidDef != null) {
- UUID otheruuid = Utils.getUUIDfromDefinition(uuidDef);
- if (!fUuid.equals(otheruuid)) {
- throw new CTFReaderException("UUID mismatch"); //$NON-NLS-1$
- }
- }
- }
-
- private static void validateMagicNumber(StructDefinition packetHeaderDef) throws CTFReaderException {
- IntegerDefinition magicDef = (IntegerDefinition) packetHeaderDef.lookupDefinition("magic"); //$NON-NLS-1$
- int magic = (int) magicDef.getValue();
- if (magic != Utils.CTF_MAGIC) {
- throw new CTFReaderException("CTF magic mismatch"); //$NON-NLS-1$
- }
- }
-
- // ------------------------------------------------------------------------
- // IDefinitionScope
- // ------------------------------------------------------------------------
-
- /**
- * @since 3.0
- */
- @Override
- public LexicalScope getScopePath() {
- return LexicalScope.TRACE;
- }
-
- /**
- * Looks up a definition from packet
- *
- * @param lookupPath
- * String
- * @return Definition
- * @see org.eclipse.linuxtools.ctf.core.event.scope.IDefinitionScope#lookupDefinition(String)
- */
- @Override
- public Definition lookupDefinition(String lookupPath) {
- if (lookupPath.equals(LexicalScope.TRACE_PACKET_HEADER.toString())) {
- return fPacketHeaderDef;
- }
- return null;
- }
-
- // ------------------------------------------------------------------------
- // Live trace reading
- // ------------------------------------------------------------------------
-
- /**
- * Add a new stream file to support new streams while the trace is being
- * read.
- *
- * @param streamFile
- * the file of the stream
- * @throws CTFReaderException
- * A stream had an issue being read
- * @since 3.0
- */
- public void addStreamFile(File streamFile) throws CTFReaderException {
- openStreamInput(streamFile);
- }
-
- /**
- * Registers a new stream to the trace.
- *
- * @param stream
- * A stream object.
- * @throws ParseException
- * If there was some problem reading the metadata
- * @since 3.0
- */
- public void addStream(CTFStream stream) throws ParseException {
- /*
- * If there is already a stream without id (the null key), it must be
- * the only one
- */
- if (fStreams.get(null) != null) {
- throw new ParseException("Stream without id with multiple streams"); //$NON-NLS-1$
- }
-
- /*
- * If the stream we try to add has the null key, it must be the only
- * one. Thus, if the streams container is not empty, it is not valid.
- */
- if ((stream.getId() == null) && (fStreams.size() != 0)) {
- throw new ParseException("Stream without id with multiple streams"); //$NON-NLS-1$
- }
-
- /*
- * If a stream with the same ID already exists, it is not valid.
- */
- CTFStream existingStream = fStreams.get(stream.getId());
- if (existingStream != null) {
- throw new ParseException("Stream id already exists"); //$NON-NLS-1$
- }
-
- /* This stream is valid and has a unique id. */
- fStreams.put(stream.getId(), stream);
- }
-
- /**
- * Gets the Environment variables from the trace metadata (See CTF spec)
- *
- * @return The environment variables in the form of an unmodifiable map
- * (key, value)
- * @since 2.0
- */
- public Map<String, String> getEnvironment() {
- return Collections.unmodifiableMap(fEnvironment);
- }
-
- /**
- * Add a variable to the environment variables
- *
- * @param varName
- * the name of the variable
- * @param varValue
- * the value of the variable
- */
- public void addEnvironmentVar(String varName, String varValue) {
- fEnvironment.put(varName, varValue);
- }
-
- /**
- * Add a clock to the clock list
- *
- * @param nameValue
- * the name of the clock (full name with scope)
- * @param ctfClock
- * the clock
- */
- public void addClock(String nameValue, CTFClock ctfClock) {
- fClocks.put(nameValue, ctfClock);
- }
-
- /**
- * gets the clock with a specific name
- *
- * @param name
- * the name of the clock.
- * @return the clock
- */
- public CTFClock getClock(String name) {
- return fClocks.get(name);
- }
-
- /**
- * gets the clock if there is only one. (this is 100% of the use cases as of
- * June 2012)
- *
- * @return the clock
- */
- public final CTFClock getClock() {
- if (fSingleClock != null && fClocks.size() == 1) {
- return fSingleClock;
- }
- if (fClocks.size() == 1) {
- fSingleClock = fClocks.get(fClocks.keySet().iterator().next());
- return fSingleClock;
- }
- return null;
- }
-
- /**
- * gets the time offset of a clock with respect to UTC in nanoseconds
- *
- * @return the time offset of a clock with respect to UTC in nanoseconds
- */
- public final long getOffset() {
- if (getClock() == null) {
- return 0;
- }
- return fSingleClock.getClockOffset();
- }
-
- /**
- * gets the time offset of a clock with respect to UTC in nanoseconds
- *
- * @return the time offset of a clock with respect to UTC in nanoseconds
- */
- private double getTimeScale() {
- if (getClock() == null) {
- return 1.0;
- }
- return fSingleClock.getClockScale();
- }
-
- /**
- * Gets the current first packet start time
- *
- * @return the current start time
- * @since 3.0
- */
- public long getCurrentStartTime() {
- long currentStart = Long.MAX_VALUE;
- for (CTFStream stream : fStreams.values()) {
- for (CTFStreamInput si : stream.getStreamInputs()) {
- currentStart = Math.min(currentStart, si.getIndex().getEntries().get(0).getTimestampBegin());
- }
- }
- return timestampCyclesToNanos(currentStart);
- }
-
- /**
- * Gets the current last packet end time
- *
- * @return the current end time
- * @since 3.0
- */
- public long getCurrentEndTime() {
- long currentEnd = Long.MIN_VALUE;
- for (CTFStream stream : fStreams.values()) {
- for (CTFStreamInput si : stream.getStreamInputs()) {
- currentEnd = Math.max(currentEnd, si.getTimestampEnd());
- }
- }
- return timestampCyclesToNanos(currentEnd);
- }
-
- /**
- * Does the trace need to time scale?
- *
- * @return if the trace is in ns or cycles.
- */
- private boolean clockNeedsScale() {
- if (getClock() == null) {
- return false;
- }
- return fSingleClock.isClockScaled();
- }
-
- /**
- * the inverse clock for returning to a scale.
- *
- * @return 1.0 / scale
- */
- private double getInverseTimeScale() {
- if (getClock() == null) {
- return 1.0;
- }
- return fSingleClock.getClockAntiScale();
- }
-
- /**
- * @param cycles
- * clock cycles since boot
- * @return time in nanoseconds UTC offset
- * @since 2.0
- */
- public long timestampCyclesToNanos(long cycles) {
- long retVal = cycles + getOffset();
- /*
- * this fix is since quite often the offset will be > than 53 bits and
- * therefore the conversion will be lossy
- */
- if (clockNeedsScale()) {
- retVal = (long) (retVal * getTimeScale());
- }
- return retVal;
- }
-
- /**
- * @param nanos
- * time in nanoseconds UTC offset
- * @return clock cycles since boot.
- * @since 2.0
- */
- public long timestampNanoToCycles(long nanos) {
- long retVal;
- /*
- * this fix is since quite often the offset will be > than 53 bits and
- * therefore the conversion will be lossy
- */
- if (clockNeedsScale()) {
- retVal = (long) (nanos * getInverseTimeScale());
- } else {
- retVal = nanos;
- }
- return retVal - getOffset();
- }
-
- /**
- * Adds a callsite
- *
- * @param eventName
- * the event name of the callsite
- * @param funcName
- * the name of the callsite function
- * @param ip
- * the ip of the callsite
- * @param fileName
- * the filename of the callsite
- * @param lineNumber
- * the line number of the callsite
- */
- public void addCallsite(String eventName, String funcName, long ip,
- String fileName, long lineNumber) {
- final CTFCallsite cs = new CTFCallsite(eventName, funcName, ip,
- fileName, lineNumber);
- TreeSet<CTFCallsite> csl = fCallsitesByName.get(eventName);
- if (csl == null) {
- csl = new TreeSet<>(fCtfCallsiteComparator);
- fCallsitesByName.put(eventName, csl);
- }
-
- csl.add(cs);
-
- fCallsitesByIP.add(cs);
- }
-
- /**
- * Gets the set of callsites associated to an event name. O(1)
- *
- * @param eventName
- * the event name
- * @return the callsite set can be empty
- * @since 3.0
- */
- public TreeSet<CTFCallsite> getCallsiteCandidates(String eventName) {
- TreeSet<CTFCallsite> retVal = fCallsitesByName.get(eventName);
- if (retVal == null) {
- retVal = new TreeSet<>(fCtfCallsiteComparator);
- }
- return retVal;
- }
-
- /**
- * The I'm feeling lucky of getCallsiteCandidates O(1)
- *
- * @param eventName
- * the event name
- * @return the first callsite that has that event name, can be null
- * @since 1.2
- */
- public CTFCallsite getCallsite(String eventName) {
- TreeSet<CTFCallsite> callsites = fCallsitesByName.get(eventName);
- if (callsites != null) {
- return callsites.first();
- }
- return null;
- }
-
- /**
- * Gets a callsite from the instruction pointer O(log(n))
- *
- * @param ip
- * the instruction pointer to lookup
- * @return the callsite just before that IP in the list remember the IP is
- * backwards on X86, can be null if no callsite is before the IP.
- * @since 1.2
- */
- public CTFCallsite getCallsite(long ip) {
- CTFCallsite cs = new CTFCallsite(null, null, ip, null, 0L);
- return fCallsitesByIP.ceiling(cs);
- }
-
- /**
- * Gets a callsite using the event name and instruction pointer O(log(n))
- *
- * @param eventName
- * the name of the event
- * @param ip
- * the instruction pointer
- * @return the closest matching callsite, can be null
- */
- public CTFCallsite getCallsite(String eventName, long ip) {
- final TreeSet<CTFCallsite> candidates = fCallsitesByName.get(eventName);
- if (candidates == null) {
- return null;
- }
- final CTFCallsite dummyCs = new CTFCallsite(null, null, ip, null, -1);
- final CTFCallsite callsite = candidates.ceiling(dummyCs);
- if (callsite == null) {
- return candidates.floor(dummyCs);
- }
- return callsite;
- }
-
- /**
- * Add a new stream
- *
- * @param id
- * the ID of the stream
- * @param streamFile
- * new file in the stream
- * @throws CTFReaderException
- * The file must exist
- * @since 3.0
- */
- // TODO: remove suppress warning
- @SuppressWarnings("resource")
- public void addStream(long id, File streamFile) throws CTFReaderException {
- CTFStream stream = null;
- final File file = streamFile;
- if (file == null) {
- throw new CTFReaderException("cannot create a stream with no file"); //$NON-NLS-1$
- }
- if (fStreams.containsKey(id)) {
- stream = fStreams.get(id);
- } else {
- stream = new CTFStream(this);
- fStreams.put(id, stream);
- }
- stream.addInput(new CTFStreamInput(stream, file));
- }
-}
-
-class MetadataFileFilter implements FileFilter {
-
- @Override
- public boolean accept(File pathname) {
- if (pathname.isDirectory()) {
- return false;
- }
- if (pathname.isHidden()) {
- return false;
- }
- if (pathname.getName().equals("metadata")) { //$NON-NLS-1$
- return false;
- }
- return true;
- }
-
-}
-
-class MetadataComparator implements Comparator<File>, Serializable {
-
- private static final long serialVersionUID = 1L;
-
- @Override
- public int compare(File o1, File o2) {
- return o1.getName().compareTo(o2.getName());
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/ctf/core/trace/CTFTraceReader.java b/lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/ctf/core/trace/CTFTraceReader.java
deleted file mode 100644
index 0590798ed0..0000000000
--- a/lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/ctf/core/trace/CTFTraceReader.java
+++ /dev/null
@@ -1,573 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011, 2014 Ericsson, Ecole Polytechnique de Montreal and others
- *
- * 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:
- * Matthew Khouzam - Initial API and implementation
- * Alexandre Montplaisir - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.ctf.core.trace;
-
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.HashSet;
-import java.util.List;
-import java.util.PriorityQueue;
-import java.util.Set;
-
-import org.eclipse.linuxtools.ctf.core.event.EventDefinition;
-import org.eclipse.linuxtools.ctf.core.event.IEventDeclaration;
-import org.eclipse.linuxtools.internal.ctf.core.Activator;
-import org.eclipse.linuxtools.internal.ctf.core.trace.StreamInputReaderTimestampComparator;
-
-import com.google.common.collect.ImmutableSet;
-import com.google.common.collect.ImmutableSet.Builder;
-
-/**
- * A CTF trace reader. Reads the events of a trace.
- *
- * @version 1.0
- * @author Matthew Khouzam
- * @author Alexandre Montplaisir
- */
-public class CTFTraceReader implements AutoCloseable {
-
- private static final int MIN_PRIO_SIZE = 16;
-
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
-
- /**
- * The trace to read from.
- */
- private final CTFTrace fTrace;
-
- /**
- * Vector of all the trace file readers.
- */
- private final List<CTFStreamInputReader> fStreamInputReaders = new ArrayList<>();
-
- /**
- * Priority queue to order the trace file readers by timestamp.
- */
- private PriorityQueue<CTFStreamInputReader> fPrio;
-
- /**
- * Array to count the number of event per trace file.
- */
- private long[] fEventCountPerTraceFile;
-
- /**
- * Timestamp of the first event in the trace
- */
- private long fStartTime;
-
- /**
- * Timestamp of the last event read so far
- */
- private long fEndTime;
-
- // ------------------------------------------------------------------------
- // Constructors
- // ------------------------------------------------------------------------
-
- /**
- * Constructs a TraceReader to read a trace.
- *
- * @param trace
- * The trace to read from.
- * @throws CTFReaderException
- * if an error occurs
- */
- public CTFTraceReader(CTFTrace trace) throws CTFReaderException {
- fTrace = trace;
- fStreamInputReaders.clear();
-
- /**
- * Create the trace file readers.
- */
- createStreamInputReaders();
-
- /**
- * Populate the timestamp-based priority queue.
- */
- populateStreamInputReaderHeap();
-
- /**
- * Get the start Time of this trace bear in mind that the trace could be
- * empty.
- */
- fStartTime = 0;
- if (hasMoreEvents()) {
- fStartTime = getTopStream().getCurrentEvent().getTimestamp();
- setEndTime(fStartTime);
- }
- }
-
- /**
- * Copy constructor
- *
- * @return The new CTFTraceReader
- * @throws CTFReaderException
- * if an error occurs
- */
- public CTFTraceReader copyFrom() throws CTFReaderException {
- CTFTraceReader newReader = null;
-
- newReader = new CTFTraceReader(fTrace);
- newReader.fStartTime = fStartTime;
- newReader.setEndTime(fEndTime);
- return newReader;
- }
-
- /**
- * Dispose the CTFTraceReader
- *
- * @since 3.0
- */
- @Override
- public void close() {
- for (CTFStreamInputReader reader : fStreamInputReaders) {
- if (reader != null) {
- try {
- reader.close();
- } catch (IOException e) {
- Activator.logError(e.getMessage(), e);
- }
- }
- }
- fStreamInputReaders.clear();
- }
-
- // ------------------------------------------------------------------------
- // Getters/Setters/Predicates
- // ------------------------------------------------------------------------
-
- /**
- * Return the start time of this trace (== timestamp of the first event)
- *
- * @return the trace start time
- */
- public long getStartTime() {
- return fStartTime;
- }
-
- /**
- * Set the trace's end time
- *
- * @param endTime
- * The end time to use
- */
- protected final void setEndTime(long endTime) {
- fEndTime = endTime;
- }
-
- /**
- * Get the priority queue of this trace reader.
- *
- * @return The priority queue of input readers
- * @since 2.0
- */
- protected PriorityQueue<CTFStreamInputReader> getPrio() {
- return fPrio;
- }
-
- // ------------------------------------------------------------------------
- // Operations
- // ------------------------------------------------------------------------
-
- /**
- * Creates one trace file reader per trace file contained in the trace.
- *
- * @throws CTFReaderException
- * if an error occurs
- */
- private void createStreamInputReaders() throws CTFReaderException {
- /*
- * For each stream.
- */
- for (CTFStream stream : fTrace.getStreams()) {
- Set<CTFStreamInput> streamInputs = stream.getStreamInputs();
-
- /*
- * For each trace file of the stream.
- */
- for (CTFStreamInput streamInput : streamInputs) {
-
- /*
- * Create a reader and add it to the group.
- */
- fStreamInputReaders.add(new CTFStreamInputReader(streamInput));
- }
- }
-
- /*
- * Create the array to count the number of event per trace file.
- */
- fEventCountPerTraceFile = new long[fStreamInputReaders.size()];
- }
-
- /**
- * Update the priority queue to make it match the parent trace
- *
- * @throws CTFReaderException
- * An error occured
- *
- * @since 3.0
- */
- public void update() throws CTFReaderException {
- Set<CTFStreamInputReader> readers = new HashSet<>();
- for (CTFStream stream : fTrace.getStreams()) {
- Set<CTFStreamInput> streamInputs = stream.getStreamInputs();
- for (CTFStreamInput streamInput : streamInputs) {
- /*
- * Create a reader.
- */
- CTFStreamInputReader streamInputReader = new CTFStreamInputReader(
- streamInput);
-
- /*
- * Add it to the group.
- */
- if (!fStreamInputReaders.contains(streamInputReader)) {
- streamInputReader.readNextEvent();
- fStreamInputReaders.add(streamInputReader);
- readers.add(streamInputReader);
- }
- }
- }
- long[] temp = fEventCountPerTraceFile;
- fEventCountPerTraceFile = new long[readers.size() + temp.length];
- for (CTFStreamInputReader reader : readers) {
- fPrio.add(reader);
- }
- for (int i = 0; i < temp.length; i++) {
- fEventCountPerTraceFile[i] = temp[i];
- }
- }
-
- /**
- * Gets an iterable of the stream input readers, useful for foreaches
- *
- * @return the iterable of the stream input readers
- * @since 3.0
- */
- public Iterable<IEventDeclaration> getEventDeclarations() {
- ImmutableSet.Builder<IEventDeclaration> builder = new Builder<>();
- for (CTFStreamInputReader sir : fStreamInputReaders) {
- builder.addAll(sir.getEventDeclarations());
- }
- return builder.build();
- }
-
- /**
- * Initializes the priority queue used to choose the trace file with the
- * lower next event timestamp.
- *
- * @throws CTFReaderException
- * if an error occurs
- */
- private void populateStreamInputReaderHeap() throws CTFReaderException {
- if (fStreamInputReaders.isEmpty()) {
- fPrio = new PriorityQueue<>(MIN_PRIO_SIZE,
- new StreamInputReaderTimestampComparator());
- return;
- }
-
- /*
- * Create the priority queue with a size twice as bigger as the number
- * of reader in order to avoid constant resizing.
- */
- fPrio = new PriorityQueue<>(
- Math.max(fStreamInputReaders.size() * 2, MIN_PRIO_SIZE),
- new StreamInputReaderTimestampComparator());
-
- int pos = 0;
-
- for (CTFStreamInputReader reader : fStreamInputReaders) {
- /*
- * Add each trace file reader in the priority queue, if we are able
- * to read an event from it.
- */
- reader.setParent(this);
- CTFResponse readNextEvent = reader.readNextEvent();
- if (readNextEvent == CTFResponse.OK || readNextEvent == CTFResponse.WAIT) {
- fPrio.add(reader);
-
- fEventCountPerTraceFile[pos] = 0;
- reader.setName(pos);
-
- pos++;
- }
- }
- }
-
- /**
- * Get the current event, which is the current event of the trace file
- * reader with the lowest timestamp.
- *
- * @return An event definition, or null of the trace reader reached the end
- * of the trace.
- */
- public EventDefinition getCurrentEventDef() {
- CTFStreamInputReader top = getTopStream();
- return (top != null) ? top.getCurrentEvent() : null;
- }
-
- /**
- * Go to the next event.
- *
- * @return True if an event was read.
- * @throws CTFReaderException
- * if an error occurs
- */
- public boolean advance() throws CTFReaderException {
- /*
- * Remove the reader from the top of the priority queue.
- */
- CTFStreamInputReader top = fPrio.poll();
-
- /*
- * If the queue was empty.
- */
- if (top == null) {
- return false;
- }
- /*
- * Read the next event of this reader.
- */
- switch (top.readNextEvent()) {
- case OK: {
- /*
- * Add it back in the queue.
- */
- fPrio.add(top);
- final long topEnd = fTrace.timestampCyclesToNanos(top.getCurrentEvent().getTimestamp());
- setEndTime(Math.max(topEnd, getEndTime()));
- fEventCountPerTraceFile[top.getName()]++;
-
- if (top.getCurrentEvent() != null) {
- fEndTime = Math.max(top.getCurrentEvent().getTimestamp(),
- fEndTime);
- }
- break;
- }
- case WAIT: {
- fPrio.add(top);
- break;
- }
- case FINISH:
- break;
- case ERROR:
- default:
- // something bad happend
- }
- /*
- * If there is no reader in the queue, it means the trace reader reached
- * the end of the trace.
- */
- return hasMoreEvents();
- }
-
- /**
- * Go to the last event in the trace.
- *
- * @throws CTFReaderException
- * if an error occurs
- */
- public void goToLastEvent() throws CTFReaderException {
- seek(getEndTime());
- while (fPrio.size() > 1) {
- advance();
- }
- }
-
- /**
- * Seeks to a given timestamp. It will seek to the nearest event greater or
- * equal to timestamp. If a trace is [10 20 30 40] and you are looking for
- * 19, it will give you 20. If you want 20, you will get 20, if you want 21,
- * you will get 30. The value -inf will seek to the first element and the
- * value +inf will seek to the end of the file (past the last event).
- *
- * @param timestamp
- * the timestamp to seek to
- * @return true if there are events above or equal the seek timestamp, false
- * if seek at the end of the trace (no valid event).
- * @throws CTFReaderException
- * if an error occurs
- */
- public boolean seek(long timestamp) throws CTFReaderException {
- /*
- * Remove all the trace readers from the priority queue
- */
- fPrio.clear();
- for (CTFStreamInputReader streamInputReader : fStreamInputReaders) {
- /*
- * Seek the trace reader.
- */
- streamInputReader.seek(timestamp);
-
- /*
- * Add it to the priority queue if there is a current event.
- */
- if (streamInputReader.getCurrentEvent() != null) {
- fPrio.add(streamInputReader);
- }
- }
- return hasMoreEvents();
- }
-
- /**
- * Gets the stream with the oldest event
- *
- * @return the stream with the oldest event
- * @since 3.0
- */
- public CTFStreamInputReader getTopStream() {
- return fPrio.peek();
- }
-
- /**
- * Does the trace have more events?
- *
- * @return true if yes.
- */
- public final boolean hasMoreEvents() {
- return fPrio.size() > 0;
- }
-
- /**
- * Prints the event count stats.
- */
- public void printStats() {
- printStats(60);
- }
-
- /**
- * Prints the event count stats.
- *
- * @param width
- * Width of the display.
- */
- public void printStats(int width) {
- int numEvents = 0;
- if (width == 0) {
- return;
- }
-
- for (long i : fEventCountPerTraceFile) {
- numEvents += i;
- }
-
- for (int j = 0; j < fEventCountPerTraceFile.length; j++) {
- CTFStreamInputReader se = fStreamInputReaders.get(j);
-
- long len = (width * fEventCountPerTraceFile[se.getName()])
- / numEvents;
-
- StringBuilder sb = new StringBuilder(se.getFilename());
- sb.append("\t["); //$NON-NLS-1$
-
- for (int i = 0; i < len; i++) {
- sb.append('+');
- }
-
- for (long i = len; i < width; i++) {
- sb.append(' ');
- }
-
- sb.append("]\t" + fEventCountPerTraceFile[se.getName()] + " Events"); //$NON-NLS-1$//$NON-NLS-2$
- Activator.log(sb.toString());
- }
- }
-
- /**
- * Gets the last event timestamp that was read. This is NOT necessarily the
- * last event in a trace, just the last one read so far.
- *
- * @return the last event
- */
- public long getEndTime() {
- return fEndTime;
- }
-
- /**
- * Sets a trace to be live or not
- *
- * @param live
- * whether the trace is live
- * @since 3.0
- */
- public void setLive(boolean live) {
- for (CTFStreamInputReader s : fPrio) {
- s.setLive(live);
- }
- }
-
- /**
- * Get if the trace is to read live or not
- *
- * @return whether the trace is live or not
- * @since 3.0
- *
- */
- public boolean isLive() {
- return getTopStream().isLive();
- }
-
- @Override
- public int hashCode() {
- final int prime = 31;
- int result = 1;
- result = (prime * result) + (int) (fStartTime ^ (fStartTime >>> 32));
- result = (prime * result) + fStreamInputReaders.hashCode();
- result = (prime * result) + ((fTrace == null) ? 0 : fTrace.hashCode());
- return result;
- }
-
- @Override
- public boolean equals(Object obj) {
- if (this == obj) {
- return true;
- }
- if (obj == null) {
- return false;
- }
- if (!(obj instanceof CTFTraceReader)) {
- return false;
- }
- CTFTraceReader other = (CTFTraceReader) obj;
- if (!fStreamInputReaders.equals(other.fStreamInputReaders)) {
- return false;
- }
- if (fTrace == null) {
- if (other.fTrace != null) {
- return false;
- }
- } else if (!fTrace.equals(other.fTrace)) {
- return false;
- }
- return true;
- }
-
- @Override
- public String toString() {
- /* Only for debugging, shouldn't be externalized */
- return "CTFTraceReader [trace=" + fTrace + ']'; //$NON-NLS-1$
- }
-
- /**
- * Gets the parent trace
- *
- * @return the parent trace
- */
- public CTFTrace getTrace() {
- return fTrace;
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/ctf/core/trace/Metadata.java b/lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/ctf/core/trace/Metadata.java
deleted file mode 100644
index 41edcdb5b6..0000000000
--- a/lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/ctf/core/trace/Metadata.java
+++ /dev/null
@@ -1,457 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011, 2014 Ericsson, Ecole Polytechnique de Montreal and others
- *
- * 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:
- * Matthew Khouzam - Initial API and implementation
- * Simon Marchi - Initial API and implementation
- * Matthew Khouzam - Update for live trace reading support
- *******************************************************************************/
-
-package org.eclipse.linuxtools.ctf.core.trace;
-
-import java.io.FileInputStream;
-import java.io.FileNotFoundException;
-import java.io.FileReader;
-import java.io.IOException;
-import java.io.Reader;
-import java.io.StringReader;
-import java.nio.ByteBuffer;
-import java.nio.ByteOrder;
-import java.nio.channels.FileChannel;
-import java.util.UUID;
-
-import org.antlr.runtime.ANTLRReaderStream;
-import org.antlr.runtime.CommonTokenStream;
-import org.antlr.runtime.RecognitionException;
-import org.antlr.runtime.tree.CommonTree;
-import org.antlr.runtime.tree.RewriteCardinalityException;
-import org.eclipse.linuxtools.ctf.parser.CTFLexer;
-import org.eclipse.linuxtools.ctf.parser.CTFParser;
-import org.eclipse.linuxtools.ctf.parser.CTFParser.parse_return;
-import org.eclipse.linuxtools.internal.ctf.core.event.metadata.IOStructGen;
-import org.eclipse.linuxtools.internal.ctf.core.event.metadata.exceptions.CtfAntlrException;
-import org.eclipse.linuxtools.internal.ctf.core.event.metadata.exceptions.ParseException;
-
-/**
- * The CTF trace metadata TSDL file
- *
- * @version 1.0
- * @author Matthew Khouzam
- * @author Simon Marchi
- */
-public class Metadata {
-
- // ------------------------------------------------------------------------
- // Constants
- // ------------------------------------------------------------------------
-
- /**
- * Name of the metadata file in the trace directory
- */
- private static final String METADATA_FILENAME = "metadata"; //$NON-NLS-1$
-
- /**
- * Size of the metadata packet header, in bytes, computed by hand.
- */
- private static final int METADATA_PACKET_HEADER_SIZE = 37;
-
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
-
- /**
- * Byte order as detected when reading the TSDL magic number.
- */
- private ByteOrder detectedByteOrder = null;
-
- /**
- * The trace file to which belongs this metadata file.
- */
- private final CTFTrace trace;
-
- private IOStructGen fTreeParser;
-
- // ------------------------------------------------------------------------
- // Constructors
- // ------------------------------------------------------------------------
-
- /**
- * Constructs a Metadata object.
- *
- * @param trace
- * The trace to which belongs this metadata file.
- */
- public Metadata(CTFTrace trace) {
- this.trace = trace;
- }
-
- /**
- * For network streaming
- *
- * @since 3.0
- */
- public Metadata() {
- trace = new CTFTrace();
- }
-
- // ------------------------------------------------------------------------
- // Getters/Setters/Predicates
- // ------------------------------------------------------------------------
-
- /**
- * Returns the ByteOrder that was detected while parsing the metadata.
- *
- * @return The byte order.
- */
- public ByteOrder getDetectedByteOrder() {
- return detectedByteOrder;
- }
-
- /**
- * Gets the parent trace
- *
- * @return the parent trace
- * @since 3.0
- */
- public CTFTrace getTrace() {
- return trace;
- }
-
- // ------------------------------------------------------------------------
- // Operations
- // ------------------------------------------------------------------------
-
- /**
- * Parse the metadata file.
- *
- * @throws CTFReaderException
- * If there was a problem parsing the metadata
- * @since 3.0
- */
- public void parseFile() throws CTFReaderException {
-
- /*
- * Reader. It will contain a StringReader if we are using packet-based
- * metadata and it will contain a FileReader if we have text-based
- * metadata.
- */
-
- try (FileInputStream fis = new FileInputStream(getMetadataPath());
- FileChannel metadataFileChannel = fis.getChannel();
- /* Check if metadata is packet-based, if not it is text based */
- Reader metadataTextInput =
- (isPacketBased(metadataFileChannel) ?
- readBinaryMetaData(metadataFileChannel) :
- new FileReader(getMetadataPath()));) {
-
- readMetaDataText(metadataTextInput);
-
- } catch (FileNotFoundException e) {
- throw new CTFReaderException("Cannot find metadata file!"); //$NON-NLS-1$
- } catch (IOException | ParseException e) {
- throw new CTFReaderException(e);
- } catch (RecognitionException | RewriteCardinalityException e) {
- throw new CtfAntlrException(e);
- }
- }
-
- private Reader readBinaryMetaData(FileChannel metadataFileChannel) throws CTFReaderException {
- /* Create StringBuffer to receive metadata text */
- StringBuffer metadataText = new StringBuffer();
-
- /*
- * Read metadata packet one by one, appending the text to the
- * StringBuffer
- */
- MetadataPacketHeader packetHeader = readMetadataPacket(
- metadataFileChannel, metadataText);
- while (packetHeader != null) {
- packetHeader = readMetadataPacket(metadataFileChannel,
- metadataText);
- }
-
- /* Wrap the metadata string with a StringReader */
- return new StringReader(metadataText.toString());
- }
-
- /**
- * Read the metadata from a formatted TSDL string
- *
- * @param data
- * the data to read
- * @throws CTFReaderException
- * this exception wraps a ParseException, IOException or
- * CtfAntlrException, three exceptions that can be obtained from
- * parsing a TSDL file
- * @since 3.0
- */
- public void parseText(String data) throws CTFReaderException {
- Reader metadataTextInput = new StringReader(data);
- try {
- readMetaDataText(metadataTextInput);
- } catch (IOException | ParseException e) {
- throw new CTFReaderException(e);
- } catch (RecognitionException | RewriteCardinalityException e) {
- throw new CtfAntlrException(e);
- }
-
- }
-
- private void readMetaDataText(Reader metadataTextInput) throws IOException, RecognitionException, ParseException {
- CommonTree tree = createAST(metadataTextInput);
-
- /* Generate IO structures (declarations) */
- fTreeParser = new IOStructGen(tree, trace);
- fTreeParser.generate();
- }
-
- /**
- * Read a metadata fragment from a formatted TSDL string
- *
- * @param dataFragment
- * the data to read
- * @throws CTFReaderException
- * this exception wraps a ParseException, IOException or
- * CtfAntlrException, three exceptions that can be obtained from
- * parsing a TSDL file
- * @since 3.0
- */
- public void parseTextFragment(String dataFragment) throws CTFReaderException {
- Reader metadataTextInput = new StringReader(dataFragment);
- try {
- readMetaDataTextFragment(metadataTextInput);
- } catch (IOException | ParseException e) {
- throw new CTFReaderException(e);
- } catch (RecognitionException | RewriteCardinalityException e) {
- throw new CtfAntlrException(e);
- }
- }
-
- private void readMetaDataTextFragment(Reader metadataTextInput) throws IOException, RecognitionException, ParseException {
- CommonTree tree = createAST(metadataTextInput);
- fTreeParser.setTree(tree);
- fTreeParser.generateFragment();
- }
-
- private static CommonTree createAST(Reader metadataTextInput) throws IOException,
- RecognitionException {
- /* Create an ANTLR reader */
- ANTLRReaderStream antlrStream;
- antlrStream = new ANTLRReaderStream(metadataTextInput);
-
- /* Parse the metadata text and get the AST */
- CTFLexer ctfLexer = new CTFLexer(antlrStream);
- CommonTokenStream tokens = new CommonTokenStream(ctfLexer);
- CTFParser ctfParser = new CTFParser(tokens, false);
-
- parse_return pr = ctfParser.parse();
- return pr.getTree();
- }
-
- /**
- * Determines whether the metadata file is packet-based by looking at the
- * TSDL magic number. If it is packet-based, it also gives information about
- * the endianness of the trace using the detectedByteOrder attribute.
- *
- * @param metadataFileChannel
- * FileChannel of the metadata file.
- * @return True if the metadata is packet-based.
- * @throws CTFReaderException
- */
- private boolean isPacketBased(FileChannel metadataFileChannel)
- throws CTFReaderException {
- /*
- * Create a ByteBuffer to read the TSDL magic number (default is
- * big-endian)
- */
- ByteBuffer magicByteBuffer = ByteBuffer.allocate(Utils.TSDL_MAGIC_LEN);
-
- /* Read without changing file position */
- try {
- metadataFileChannel.read(magicByteBuffer, 0);
- } catch (IOException e) {
- throw new CTFReaderException("Unable to read metadata file channel.", e); //$NON-NLS-1$
- }
-
- /* Get the first int from the file */
- int magic = magicByteBuffer.getInt(0);
-
- /* Check if it matches */
- if (Utils.TSDL_MAGIC == magic) {
- detectedByteOrder = ByteOrder.BIG_ENDIAN;
- return true;
- }
-
- /* Try the same thing, but with little-endian */
- magicByteBuffer.order(ByteOrder.LITTLE_ENDIAN);
- magic = magicByteBuffer.getInt(0);
-
- if (Utils.TSDL_MAGIC == magic) {
- detectedByteOrder = ByteOrder.LITTLE_ENDIAN;
- return true;
- }
-
- return false;
- }
-
- private String getMetadataPath() {
- /* Path of metadata file = trace directory path + metadata filename */
- if (trace.getTraceDirectory() == null) {
- return new String();
- }
- return trace.getTraceDirectory().getPath()
- + Utils.SEPARATOR + METADATA_FILENAME;
- }
-
- /**
- * Reads a metadata packet from the given metadata FileChannel, do some
- * basic validation and append the text to the StringBuffer.
- *
- * @param metadataFileChannel
- * Metadata FileChannel
- * @param metadataText
- * StringBuffer to which the metadata text will be appended.
- * @return A structure describing the header of the metadata packet, or null
- * if the end of the file is reached.
- * @throws CTFReaderException
- */
- private MetadataPacketHeader readMetadataPacket(
- FileChannel metadataFileChannel, StringBuffer metadataText)
- throws CTFReaderException {
- /* Allocate a ByteBuffer for the header */
- ByteBuffer headerByteBuffer = ByteBuffer.allocate(METADATA_PACKET_HEADER_SIZE);
-
- /* Read the header */
- try {
- int nbBytesRead = metadataFileChannel.read(headerByteBuffer);
-
- /* Return null if EOF */
- if (nbBytesRead < 0) {
- return null;
- }
-
- if (nbBytesRead != METADATA_PACKET_HEADER_SIZE) {
- throw new CTFReaderException("Error reading the metadata header."); //$NON-NLS-1$
- }
-
- } catch (IOException e) {
- throw new CTFReaderException("Error reading the metadata header.", e); //$NON-NLS-1$
- }
-
- /* Set ByteBuffer's position to 0 */
- headerByteBuffer.position(0);
-
- /* Use byte order that was detected with the magic number */
- headerByteBuffer.order(detectedByteOrder);
-
- MetadataPacketHeader header = new MetadataPacketHeader(headerByteBuffer);
-
- /* Check TSDL magic number */
- if (!header.isMagicValid()) {
- throw new CTFReaderException("TSDL magic number does not match"); //$NON-NLS-1$
- }
-
- /* Check UUID */
- if (!trace.uuidIsSet()) {
- trace.setUUID(header.getUuid());
- } else if (!trace.getUUID().equals(header.getUuid())) {
- throw new CTFReaderException("UUID mismatch"); //$NON-NLS-1$
- }
-
- /* Extract the text from the packet */
- int payloadSize = ((header.getContentSize() / 8) - METADATA_PACKET_HEADER_SIZE);
- if (payloadSize < 0) {
- throw new CTFReaderException("Invalid metadata packet payload size."); //$NON-NLS-1$
- }
- int skipSize = (header.getPacketSize() - header.getContentSize()) / 8;
-
- /* Read the payload + the padding in a ByteBuffer */
- ByteBuffer payloadByteBuffer = ByteBuffer.allocateDirect(payloadSize
- + skipSize);
- try {
- metadataFileChannel.read(payloadByteBuffer);
- } catch (IOException e) {
- throw new CTFReaderException("Error reading metadata packet payload.", e); //$NON-NLS-1$
- }
- payloadByteBuffer.rewind();
-
- /* Read only the payload from the ByteBuffer into a byte array */
- byte payloadByteArray[] = new byte[payloadByteBuffer.remaining()];
- payloadByteBuffer.get(payloadByteArray, 0, payloadSize);
-
- /* Convert the byte array to a String */
- String str = new String(payloadByteArray, 0, payloadSize);
-
- /* Append it to the existing metadata */
- metadataText.append(str);
-
- return header;
- }
-
- private static class MetadataPacketHeader {
-
- private final int fMagic;
- private final UUID fUuid;
- private final int fChecksum;
- private final int fContentSize;
- private final int fPacketSize;
- private final byte fCompressionScheme;
- private final byte fEncryptionScheme;
- private final byte fChecksumScheme;
- private final byte fCtfMajorVersion;
- private final byte fCtfMinorVersion;
-
- public MetadataPacketHeader(ByteBuffer headerByteBuffer) {
- /* Read from the ByteBuffer */
- fMagic = headerByteBuffer.getInt();
- byte[] uuidBytes = new byte[16];
- headerByteBuffer.get(uuidBytes);
- fUuid = Utils.makeUUID(uuidBytes);
- fChecksum = headerByteBuffer.getInt();
- fContentSize = headerByteBuffer.getInt();
- fPacketSize = headerByteBuffer.getInt();
- fCompressionScheme = headerByteBuffer.get();
- fEncryptionScheme = headerByteBuffer.get();
- fChecksumScheme = headerByteBuffer.get();
- fCtfMajorVersion = headerByteBuffer.get();
- fCtfMinorVersion = headerByteBuffer.get();
- }
-
- public boolean isMagicValid() {
- return fMagic == Utils.TSDL_MAGIC;
- }
-
- public UUID getUuid() {
- return fUuid;
- }
-
- public int getContentSize() {
- return fContentSize;
- }
-
- public int getPacketSize() {
- return fPacketSize;
- }
-
- @Override
- public String toString() {
- /* Only for debugging, shouldn't be externalized */
- /* Therefore it cannot be covered by test cases */
- return "MetadataPacketHeader [magic=0x" //$NON-NLS-1$
- + Integer.toHexString(fMagic) + ", uuid=" //$NON-NLS-1$
- + fUuid.toString() + ", checksum=" + fChecksum //$NON-NLS-1$
- + ", contentSize=" + fContentSize + ", packetSize=" //$NON-NLS-1$ //$NON-NLS-2$
- + fPacketSize + ", compressionScheme=" + fCompressionScheme //$NON-NLS-1$
- + ", encryptionScheme=" + fEncryptionScheme //$NON-NLS-1$
- + ", checksumScheme=" + fChecksumScheme //$NON-NLS-1$
- + ", ctfMajorVersion=" + fCtfMajorVersion //$NON-NLS-1$
- + ", ctfMinorVersion=" + fCtfMinorVersion + ']'; //$NON-NLS-1$
- }
-
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/ctf/core/trace/Utils.java b/lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/ctf/core/trace/Utils.java
deleted file mode 100644
index 72c1124124..0000000000
--- a/lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/ctf/core/trace/Utils.java
+++ /dev/null
@@ -1,183 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011, 2013 Ericsson, Ecole Polytechnique de Montreal and others
- *
- * 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: Matthew Khouzam - Initial API and implementation
- * Contributors: Simon Marchi - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.ctf.core.trace;
-
-import java.util.UUID;
-
-import org.eclipse.linuxtools.ctf.core.event.types.AbstractArrayDefinition;
-import org.eclipse.linuxtools.ctf.core.event.types.CompoundDeclaration;
-import org.eclipse.linuxtools.ctf.core.event.types.IDeclaration;
-import org.eclipse.linuxtools.ctf.core.event.types.IntegerDeclaration;
-import org.eclipse.linuxtools.ctf.core.event.types.IntegerDefinition;
-
-/**
- * Various utilities.
- *
- * @version 1.0
- * @author Matthew Khouzam
- * @author Simon Marchi
- */
-public final class Utils {
-
- private Utils() {
- }
-
- // ------------------------------------------------------------------------
- // Constants
- // ------------------------------------------------------------------------
-
- /**
- * CTF magic number. (sort of looks like CTF CTF CT)
- */
- public static final int CTF_MAGIC = 0xC1FC1FC1;
-
- /**
- * TSDL magic number. (sort of looks like TSDL LSDT)
- */
- public static final int TSDL_MAGIC = 0x75D11D57;
-
- /**
- * TSDL magic number length in bytes.
- */
- public static final int TSDL_MAGIC_LEN = 4;
-
- /**
- * Directory separator on the current platform.
- */
- public static final String SEPARATOR = System.getProperty("file.separator"); //$NON-NLS-1$
-
- /**
- * Length in bytes of a UUID value.
- */
- public static final int UUID_LEN = 16;
-
- // ------------------------------------------------------------------------
- // Operations
- // ------------------------------------------------------------------------
-
- /**
- * Performs an unsigned long comparison on two unsigned long numbers.
- *
- * <strong> As Java does not support unsigned types and arithmetic,
- * parameters are received encoded as a signed long (two-complement) but the
- * operation is an unsigned comparator.</strong>
- *
- * @param left
- * Left operand of the comparator.
- * @param right
- * Right operand of the comparator.
- * @return -1 if left &lt; right, 1 if left &gt; right, 0 if left == right.
- */
- public static int unsignedCompare(long left, long right) {
- /*
- * This method assumes that the arithmetic overflow on signed integer
- * wrap on a circular domain (modulo arithmetic in two-complement),
- * which is the defined behavior in Java.
- *
- * This idea is to rotate the domain by the length of the negative
- * space, and then use the signed operator.
- */
- final long a = left + Long.MIN_VALUE;
- final long b = right + Long.MIN_VALUE;
- if (a < b) {
- return -1;
- } else if (a > b) {
- return 1;
- }
- return 0;
- }
-
- /**
- * Gets a UUID from an array defintion
- *
- * @param uuidDef
- * the array defintions, must contain integer bytes
- * @return the UUID
- * @throws CTFReaderException
- * if the definition contains less than 16 elements
- * @since 3.1
- */
- public static UUID getUUIDfromDefinition(AbstractArrayDefinition uuidDef) throws CTFReaderException {
- byte[] uuidArray = new byte[16];
- IDeclaration declaration = uuidDef.getDeclaration();
- if (!(declaration instanceof CompoundDeclaration)) {
- throw new CTFReaderException("UUID must be a sequence of unsigned bytes"); //$NON-NLS-1$
- }
- CompoundDeclaration uuidDec = (CompoundDeclaration) declaration;
-
- IDeclaration uuidElem = uuidDec.getElementType();
- if (!(uuidElem instanceof IntegerDeclaration)) {
- throw new CTFReaderException("UUID must be a sequence of unsigned bytes"); //$NON-NLS-1$
- }
- IntegerDeclaration intUuidElem = (IntegerDeclaration) uuidElem;
- if (!intUuidElem.isUnsignedByte()) {
- throw new CTFReaderException("UUID must be a sequence of unsigned bytes"); //$NON-NLS-1$
- }
- return getUUID(uuidDef, uuidArray);
- }
-
- private static UUID getUUID(AbstractArrayDefinition uuidDef, byte[] uuidArray) throws CTFReaderException {
- for (int i = 0; i < uuidArray.length; i++) {
- IntegerDefinition uuidByteDef = (IntegerDefinition) uuidDef.getDefinitions().get(i);
- if (uuidByteDef == null) {
- throw new CTFReaderException("UUID incomplete, only " + i + " bytes available"); //$NON-NLS-1$ //$NON-NLS-2$
- }
- uuidArray[i] = (byte) uuidByteDef.getValue();
- }
-
- UUID uuid = Utils.makeUUID(uuidArray);
- return uuid;
- }
-
- /**
- * Gets a UUID from an array defintion
- *
- * @param uuidDef
- * the array defintions, must contain integer bytes
- * @return the UUID
- * @throws CTFReaderException
- * if the definition contains less than 16 elements
- * @since 3.1
- * @deprecated use
- * {@link Utils#getUUIDfromDefinition(AbstractArrayDefinition uuidDef)}
- */
- @Deprecated
- public static UUID getUUIDfromDefinition(org.eclipse.linuxtools.ctf.core.event.types.ArrayDefinition uuidDef) throws CTFReaderException {
- byte[] uuidArray = new byte[16];
- return getUUID(uuidDef, uuidArray);
- }
-
- /**
- * Creates a UUID object from an array of 16 bytes.
- *
- * @param bytes
- * Array of 16 bytes.
- * @return A UUID object.
- */
- public static UUID makeUUID(byte bytes[]) {
- long high = 0;
- long low = 0;
-
- assert (bytes.length == Utils.UUID_LEN);
-
- for (int i = 0; i < 8; i++) {
- low = (low << 8) | (bytes[i + 8] & 0xFF);
- high = (high << 8) | (bytes[i] & 0xFF);
- }
-
- UUID uuid = new UUID(high, low);
-
- return uuid;
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/internal/ctf/core/Activator.java b/lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/internal/ctf/core/Activator.java
deleted file mode 100644
index 8ec788da27..0000000000
--- a/lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/internal/ctf/core/Activator.java
+++ /dev/null
@@ -1,142 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011, 2013 Ericsson, Ecole Polytechnique de Montreal and others
- *
- * 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.internal.ctf.core;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Plugin;
-import org.eclipse.core.runtime.Status;
-import org.osgi.framework.BundleContext;
-
-/**
- * <b><u>Activator</u></b>
- * <p>
- * The activator class controls the plug-in life cycle.
- */
-public class Activator extends Plugin {
-
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
-
- /**
- * The plug-in ID
- */
- public static final String PLUGIN_ID = "org.eclipse.linuxtools.ctf"; //$NON-NLS-1$
-
- /**
- * The shared instance
- */
- private static Activator fPlugin;
-
- // ------------------------------------------------------------------------
- // Constructors
- // ------------------------------------------------------------------------
-
- /**
- * Constructor
- */
- public Activator() {
- setDefault(this);
- }
-
- // ------------------------------------------------------------------------
- // Accessors
- // ------------------------------------------------------------------------
-
- /**
- * Get the default activator
- * @return the default activator
- */
- public static Activator getDefault() {
- return fPlugin;
- }
-
- /**
- * Sets the default activator
- *
- * @param plugin the default activator
- */
- private static void setDefault(Activator plugin) {
- fPlugin = plugin;
- }
-
- // ------------------------------------------------------------------------
- // Plugin
- // ------------------------------------------------------------------------
-
- @Override
- public void start(BundleContext context) throws Exception {
- super.start(context);
- setDefault(this);
- }
-
- @Override
- public void stop(BundleContext context) throws Exception {
- setDefault(null);
- super.stop(context);
- }
-
- // ------------------------------------------------------------------------
- // Logging
- // ------------------------------------------------------------------------
-
- /**
- * Log a message
- *
- * @param msg
- * The message to log
- */
- public static void log(String msg) {
- log(msg, null);
- }
-
- /**
- * Log a message with an exception
- *
- * @param msg
- * The message
- * @param e
- * The exception
- */
- public static void log(String msg, Exception e) {
- getDefault().getLog().log(new Status(IStatus.INFO, PLUGIN_ID, IStatus.OK, msg, e));
- }
-
- /**
- * Log an error, with an associated exception
- *
- * @param msg
- * The error message
- * @param e
- * The cause
- */
- public static void logError(String msg, Exception e) {
- getDefault().getLog().log(new Status(IStatus.ERROR, PLUGIN_ID, IStatus.OK, msg, e));
- }
-
- /**
- * Log a message
- *
- * @param severity
- * Desired severity of the message in the log, one of
- * {@link IStatus#INFO}, {@link IStatus#WARNING} or
- * {@link IStatus#ERROR}
- * @param msg
- * The message to log
- */
- public static void log(int severity, String msg) {
- getDefault().getLog().log(new Status(severity, PLUGIN_ID, msg));
- }
-
-
-}
diff --git a/lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/internal/ctf/core/SafeMappedByteBuffer.java b/lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/internal/ctf/core/SafeMappedByteBuffer.java
deleted file mode 100644
index ff2f3459fe..0000000000
--- a/lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/internal/ctf/core/SafeMappedByteBuffer.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 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:
- * Marc-Andre Laperle - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.internal.ctf.core;
-
-import java.io.IOException;
-import java.nio.ByteBuffer;
-import java.nio.channels.FileChannel;
-
-/**
- * A common utility for mapping a ByteBuffer safely to work around a bug on
- * Windows which prevents deleting a file after it was mapped. On Windows, the
- * ByteBuffer will be allocated and the file will be read instead of being
- * mapped.
- *
- * http://bugs.java.com/view_bug.do?bug_id=4715154
- */
-public class SafeMappedByteBuffer {
-
- private static final boolean IS_WIN32 = System.getProperty("os.name").startsWith("Windows"); //$NON-NLS-1$//$NON-NLS-2$
-
- /**
- * Maps a region of this channel's file directly into memory. On Windows,
- * this will allocate a new ByteBuffer and read the file.
- *
- * @param fc
- * the file channel
- * @param mode
- * the mapping mode
- * @param position
- * the position within the file
- * @param size
- * the size of the region to be mapped (or read)
- * @return the mapped ByteBuffer
- * @throws IOException
- * on FileChannel operations failures
- */
- public static ByteBuffer map(FileChannel fc, FileChannel.MapMode mode, long position, long size) throws IOException {
- ByteBuffer byteBuffer;
- if (IS_WIN32) {
- byteBuffer = ByteBuffer.allocate((int) size);
- fc.read(byteBuffer, position);
- } else {
- byteBuffer = fc.map(mode, position, size);
- }
-
- return byteBuffer;
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/internal/ctf/core/event/CTFCallsiteComparator.java b/lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/internal/ctf/core/event/CTFCallsiteComparator.java
deleted file mode 100644
index ab36f0af9d..0000000000
--- a/lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/internal/ctf/core/event/CTFCallsiteComparator.java
+++ /dev/null
@@ -1,72 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 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:
- * Simon Delisle - Initial implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.internal.ctf.core.event;
-
-import java.util.Comparator;
-
-import org.eclipse.linuxtools.ctf.core.event.CTFCallsite;
-
-/**
- * Comparator for CTFCallsite
- *
- * @author Simon Delisle
- * @since 3.0
- *
- */
-public class CTFCallsiteComparator implements Comparator<CTFCallsite> {
-
- private static final long MASK32 = 0x00000000ffffffffL;
-
- /*
- * The callsites will be sorted by calling addresses. To do this we take IPs
- * (instruction pointers) and compare them. Java only supports signed
- * operation and since memory addresses are unsigned, we will convert the
- * longs into integers that contain the high and low bytes and compare them.
- */
- @Override
- public int compare(CTFCallsite o1, CTFCallsite o2) {
- /*
- * mask32 is 32 zeros followed by 32 ones, when we bitwise and this it
- * will return the lower 32 bits
- */
-
- long other = o2.getIp();
- /*
- * To get a high int: we downshift by 32 and bitwise and with the mask
- * to get rid of the sign
- *
- * To get the low int: we bitwise and with the mask.
- */
- long otherHigh = (other >> 32) & MASK32;
- long otherLow = other & MASK32;
- long ownHigh = (o1.getIp() >> 32) & MASK32;
- long ownLow = o1.getIp() & MASK32;
- /* are the high values different, if so ignore the lower values */
- if (ownHigh > otherHigh) {
- return 1;
- }
- if (ownHigh < otherHigh ) {
- return -1;
- }
- /* the high values are the same, compare the lower values */
- if (ownLow > otherLow) {
- return 1;
- }
- if (ownLow < otherLow) {
- return -1;
- }
- /* the values are identical */
- return 0;
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/internal/ctf/core/event/EventDeclaration.java b/lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/internal/ctf/core/event/EventDeclaration.java
deleted file mode 100644
index 7aa0976e7d..0000000000
--- a/lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/internal/ctf/core/event/EventDeclaration.java
+++ /dev/null
@@ -1,369 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011, 2014 Ericsson, Ecole Polytechnique de Montreal and others
- *
- * 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: Matthew Khouzam - Initial API and implementation
- * Contributors: Simon Marchi - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.internal.ctf.core.event;
-
-import java.util.HashMap;
-import java.util.Map;
-import java.util.Set;
-
-import org.eclipse.jdt.annotation.NonNull;
-import org.eclipse.linuxtools.ctf.core.CTFStrings;
-import org.eclipse.linuxtools.ctf.core.event.EventDefinition;
-import org.eclipse.linuxtools.ctf.core.event.IEventDeclaration;
-import org.eclipse.linuxtools.ctf.core.event.io.BitBuffer;
-import org.eclipse.linuxtools.ctf.core.event.scope.LexicalScope;
-import org.eclipse.linuxtools.ctf.core.event.types.Declaration;
-import org.eclipse.linuxtools.ctf.core.event.types.IntegerDeclaration;
-import org.eclipse.linuxtools.ctf.core.event.types.StructDeclaration;
-import org.eclipse.linuxtools.ctf.core.event.types.StructDefinition;
-import org.eclipse.linuxtools.ctf.core.trace.CTFReaderException;
-import org.eclipse.linuxtools.ctf.core.trace.CTFStream;
-import org.eclipse.linuxtools.ctf.core.trace.CTFStreamInputReader;
-
-/**
- * Representation of one type of event. A bit like "int" or "long" but for trace
- * events.
- */
-public class EventDeclaration implements IEventDeclaration {
-
- /** Id of lost events */
- public static final long LOST_EVENT_ID = -1L;
-
- /** Id of events when not set */
- public static final long UNSET_EVENT_ID = -2L;
-
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
-
- /**
- * Name of the event
- */
- private String fName;
-
- /**
- * Event context structure declaration
- */
- private StructDeclaration fContext = null;
-
- /**
- * Event fields structure declaration
- */
- private StructDeclaration fFields = null;
-
- /**
- * Stream to which belongs this event.
- */
- private CTFStream fStream = null;
-
- /**
- * Loglevel of an event
- */
- private long fLogLevel;
-
- /** Map of this event type's custom CTF attributes */
- private final Map<String, String> fCustomAttributes = new HashMap<>();
-
- private int fId = (int) UNSET_EVENT_ID;
-
- // ------------------------------------------------------------------------
- // Constructors
- // ------------------------------------------------------------------------
-
- /**
- * Default constructor. Use the setters afterwards to set the fields
- * accordingly.
- */
- public EventDeclaration() {
- }
-
- @Override
- public EventDefinition createDefinition(CTFStreamInputReader streamInputReader, @NonNull BitBuffer input, long timestamp) throws CTFReaderException {
- StructDeclaration streamEventContextDecl = streamInputReader.getStreamEventContextDecl();
- StructDefinition streamEventContext = streamEventContextDecl != null ? streamEventContextDecl.createDefinition(fStream.getTrace(), LexicalScope.STREAM_EVENT_CONTEXT, input) : null;
- StructDefinition packetContext = streamInputReader.getPacketReader().getCurrentPacketEventHeader();
- StructDefinition eventContext = fContext != null ? fContext.createDefinition(fStream.getTrace(), LexicalScope.CONTEXT, input) : null;
- StructDefinition eventPayload = fFields != null ? fFields.createDefinition(fStream.getTrace(), LexicalScope.FIELDS, input) : null;
-
- // a bit lttng specific
- // CTF doesn't require a timestamp,
- // but it's passed to us
- return new EventDefinition(
- this,
- streamInputReader,
- timestamp,
- streamEventContext,
- eventContext,
- packetContext,
- eventPayload);
- }
-
- /**
- * Creates a "lost" event. This is a synthetic event that is there to show
- * that there should be something there.
- *
- * @return the lost event
- */
- public static synchronized EventDeclaration getLostEventDeclaration() {
- EventDeclaration lostEvent = new EventDeclaration();
- String[] fieldNames = new String[] { CTFStrings.LOST_EVENTS_FIELD, CTFStrings.LOST_EVENTS_DURATION };
- Declaration[] fieldDeclarations = new Declaration[] { IntegerDeclaration.UINT_32B_DECL, IntegerDeclaration.UINT_64B_DECL };
- lostEvent.fFields = new StructDeclaration(fieldNames, fieldDeclarations);
- lostEvent.fId = (int) LOST_EVENT_ID;
- lostEvent.fName = CTFStrings.LOST_EVENT_NAME;
- return lostEvent;
- }
-
- // ------------------------------------------------------------------------
- // Getters/Setters/Predicates
- // ------------------------------------------------------------------------
-
- /**
- * Sets a name for an event Declaration
- *
- * @param name
- * the name
- */
- public void setName(String name) {
- fName = name;
- }
-
- @Override
- public String getName() {
- return fName;
- }
-
- /**
- * Sets the context for an event declaration (see CTF specification)
- *
- * @param context
- * the context in structdeclaration format
- */
- public void setContext(StructDeclaration context) {
- fContext = context;
- }
-
- /**
- * Sets the fields of an event declaration
- *
- * @param fields
- * the fields in structdeclaration format
- */
- public void setFields(StructDeclaration fields) {
- fFields = fields;
- }
-
- @Override
- public StructDeclaration getFields() {
- return fFields;
- }
-
- @Override
- public StructDeclaration getContext() {
- return fContext;
- }
-
- /**
- * Sets the id of an event declaration
- *
- * @param id
- * the id
- */
- public void setId(long id) {
- if (id < 0 || id > Integer.MAX_VALUE) {
- throw new IllegalArgumentException("id out of range"); //$NON-NLS-1$
- }
- fId = (int) id;
- }
-
- @Override
- public Long getId() {
- return Long.valueOf(fId);
- }
-
- /**
- * Faster get id assuming you have less than a billion event types
- *
- * @return the event id
- */
- public int id() {
- return fId;
- }
-
- /**
- * Sets the stream of an event declaration
- *
- * @param stream
- * the stream
- * @since 2.0
- */
- public void setStream(CTFStream stream) {
- fStream = stream;
- }
-
- @Override
- public CTFStream getStream() {
- return fStream;
- }
-
- /**
- * Is the name of the event declaration set
- *
- * @return is the name set?
- */
- public boolean nameIsSet() {
- return fName != null;
- }
-
- /**
- * Is the context set
- *
- * @return is the context set
- */
- public boolean contextIsSet() {
- return fContext != null;
- }
-
- /**
- * Is a field set?
- *
- * @return Is the field set?
- */
- public boolean fieldsIsSet() {
- return fFields != null;
- }
-
- /**
- * Is the id set?
- *
- * @return is the id set?
- */
- public boolean idIsSet() {
- return (fId != UNSET_EVENT_ID);
- }
-
- /**
- * Is the stream set?
- *
- * @return is the stream set?
- */
- public boolean streamIsSet() {
- return fStream != null;
- }
-
- @Override
- public long getLogLevel() {
- return fLogLevel;
- }
-
- /**
- * Sets the log level
- *
- * @param level
- * the log level
- */
- public void setLogLevel(long level) {
- fLogLevel = level;
- }
-
- @Override
- public Set<String> getCustomAttributes() {
- return fCustomAttributes.keySet();
- }
-
- @Override
- public String getCustomAttribute(String key) {
- return fCustomAttributes.get(key);
- }
-
- /**
- * Sets a custom attribute value.
- *
- * @param key
- * the key of the attribute
- * @param value
- * the value of the attribute
- * @since 2.0
- */
- public void setCustomAttribute(String key, String value) {
- fCustomAttributes.put(key, value);
- }
-
- // ------------------------------------------------------------------------
- // Operations
- // ------------------------------------------------------------------------
-
- @Override
- public boolean equals(Object obj) {
- if (this == obj) {
- return true;
- }
- if (obj == null) {
- return false;
- }
- if (!(obj instanceof EventDeclaration)) {
- return false;
- }
- EventDeclaration other = (EventDeclaration) obj;
- if (fContext == null) {
- if (other.fContext != null) {
- return false;
- }
- } else if (!fContext.equals(other.fContext)) {
- return false;
- }
- if (fFields == null) {
- if (other.fFields != null) {
- return false;
- }
- } else if (!fFields.equals(other.fFields)) {
- return false;
- }
- if (fId != (other.fId)) {
- return false;
- }
- if (fName == null) {
- if (other.fName != null) {
- return false;
- }
- } else if (!fName.equals(other.fName)) {
- return false;
- }
- if (fStream == null) {
- if (other.fStream != null) {
- return false;
- }
- } else if (!fStream.equals(other.fStream)) {
- return false;
- }
- if (!fCustomAttributes.equals(other.fCustomAttributes)) {
- return false;
- }
- return true;
- }
-
- @Override
- public int hashCode() {
- final int prime = 31;
- int result = 1;
- result = (prime * result)
- + ((fContext == null) ? 0 : fContext.hashCode());
- result = (prime * result) + ((fFields == null) ? 0 : fFields.hashCode());
- result = (prime * result) + fId;
- result = (prime * result) + ((fName == null) ? 0 : fName.hashCode());
- result = (prime * result) + ((fStream == null) ? 0 : fStream.hashCode());
- result = (prime * result) + fCustomAttributes.hashCode();
- return result;
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/internal/ctf/core/event/metadata/DeclarationScope.java b/lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/internal/ctf/core/event/metadata/DeclarationScope.java
deleted file mode 100644
index f532912424..0000000000
--- a/lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/internal/ctf/core/event/metadata/DeclarationScope.java
+++ /dev/null
@@ -1,395 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011, 2014 Ericsson, Ecole Polytechnique de Montreal and others
- *
- * 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: Matthew Khouzam - Initial Design and Grammar
- * Contributors: Simon Marchi - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.internal.ctf.core.event.metadata;
-
-import java.util.HashMap;
-import java.util.Map;
-import java.util.Set;
-
-import org.eclipse.linuxtools.ctf.core.event.types.EnumDeclaration;
-import org.eclipse.linuxtools.ctf.core.event.types.IDeclaration;
-import org.eclipse.linuxtools.ctf.core.event.types.StructDeclaration;
-import org.eclipse.linuxtools.ctf.core.event.types.VariantDeclaration;
-import org.eclipse.linuxtools.internal.ctf.core.event.metadata.exceptions.ParseException;
-
-/**
- * <b><u>DeclarationScope</u></b>
- * <p>
- * A DeclarationScope keeps track of the various CTF declarations for a given
- * scope.
- *
- * TODO: The notion of "symbols" and the notion of "scope" are misused in this
- * parser, which leads to inefficient tree management. It should be cleaned up.
- *
- * @author Matthew Khouzam
- * @author Simon Marchi
- *
- */
-class DeclarationScope {
-
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
-
- private DeclarationScope fParentScope = null;
-
- private final Map<String, StructDeclaration> fStructs = new HashMap<>();
- private final Map<String, EnumDeclaration> fEnums = new HashMap<>();
- private final Map<String, VariantDeclaration> fVariants = new HashMap<>();
- private final Map<String, IDeclaration> fTypes = new HashMap<>();
- private final Map<String, IDeclaration> fIdentifiers = new HashMap<>();
-
- // ------------------------------------------------------------------------
- // Constructors
- // ------------------------------------------------------------------------
-
- /**
- * Creates a declaration scope with no parent.
- */
- public DeclarationScope() {
- }
-
- /**
- * Creates a declaration scope with the specified parent.
- *
- * @param parentScope
- * The parent of the newly created scope.
- */
- public DeclarationScope(DeclarationScope parentScope) {
- fParentScope = parentScope;
- }
-
- // ------------------------------------------------------------------------
- // Getters/Setters/Predicates
- // ------------------------------------------------------------------------
-
- /**
- * Returns the parent of the current scope.
- *
- * @return The parent scope.
- */
- public DeclarationScope getParentScope() {
- return fParentScope;
- }
-
- // ------------------------------------------------------------------------
- // Registration operations
- // ------------------------------------------------------------------------
-
- /**
- * Registers a type declaration.
- *
- * @param name
- * The name of the type.
- * @param declaration
- * The type declaration.
- * @throws ParseException
- * if a type with the same name has already been defined.
- */
- public void registerType(String name, IDeclaration declaration)
- throws ParseException {
- /* Check if the type has been defined in the current scope */
- if (fTypes.containsKey(name)) {
- throw new ParseException("Type has already been defined:" + name); //$NON-NLS-1$
- }
-
- /* Add it to the register. */
- fTypes.put(name, declaration);
- }
-
- /**
- * Registers an identifier declaration.
- *
- * @param name
- * name of the identifier
- * @param declaration
- * the identfier's declaration
- * @throws ParseException
- * if an identifier with the same name has already been defined.
- */
- public void registerIdentifier(String name, IDeclaration declaration) throws ParseException {
- /* Check if the type has been defined in the current scope */
- if (fIdentifiers.containsKey(name)) {
- throw new ParseException("Identifier has already been defined:" + name); //$NON-NLS-1$
- }
-
- /* Add it to the register. */
- fIdentifiers.put(name, declaration);
- }
-
- /**
- * Registers a struct declaration.
- *
- * @param name
- * The name of the struct.
- * @param declaration
- * The declaration of the struct.
- * @throws ParseException
- * if a struct with the same name has already been registered.
- */
- public void registerStruct(String name, StructDeclaration declaration)
- throws ParseException {
- /* Check if the struct has been defined in the current scope. */
- if (fStructs.containsKey(name)) {
- throw new ParseException("Struct has already been defined:" + name); //$NON-NLS-1$
- }
-
- /* Add it to the register. */
- fStructs.put(name, declaration);
-
- /* It also defined a new type, so add it to the type declarations. */
- String structPrefix = "struct "; //$NON-NLS-1$
- registerType(structPrefix + name, declaration);
- }
-
- /**
- * Registers an enum declaration.
- *
- * @param name
- * The name of the enum.
- * @param declaration
- * The declaration of the enum.
- * @throws ParseException
- * if an enum with the same name has already been registered.
- */
- public void registerEnum(String name, EnumDeclaration declaration)
- throws ParseException {
- /* Check if the enum has been defined in the current scope. */
- if (lookupEnum(name) != null) {
- throw new ParseException("Enum has already been defined:" + name); //$NON-NLS-1$
- }
-
- /* Add it to the register. */
- fEnums.put(name, declaration);
-
- /* It also defined a new type, so add it to the type declarations. */
- String enumPrefix = "enum "; //$NON-NLS-1$
- registerType(enumPrefix + name, declaration);
- }
-
- /**
- * Registers a variant declaration.
- *
- * @param name
- * The name of the variant.
- * @param declaration
- * The declaration of the variant.
- * @throws ParseException
- * if a variant with the same name has already been registered.
- */
- public void registerVariant(String name, VariantDeclaration declaration)
- throws ParseException {
- /* Check if the variant has been defined in the current scope. */
- if (lookupVariant(name) != null) {
- throw new ParseException("Variant has already been defined:" + name); //$NON-NLS-1$
- }
-
- /* Add it to the register. */
- fVariants.put(name, declaration);
-
- /* It also defined a new type, so add it to the type declarations. */
- String variantPrefix = "variant "; //$NON-NLS-1$
- registerType(variantPrefix + name, declaration);
- }
-
- // ------------------------------------------------------------------------
- // Lookup operations
- // ------------------------------------------------------------------------
-
- /**
- * Looks up a type declaration in the current scope.
- *
- * @param name
- * The name of the type to search for.
- * @return The type declaration, or null if no type with that name has been
- * defined.
- */
- public IDeclaration lookupType(String name) {
- return fTypes.get(name);
- }
-
- /**
- * Looks up a type declaration in the current scope and recursively in the
- * parent scopes.
- *
- * @param name
- * The name of the type to search for.
- * @return The type declaration, or null if no type with that name has been
- * defined.
- */
- public IDeclaration lookupTypeRecursive(String name) {
- IDeclaration declaration = lookupType(name);
- if (declaration != null) {
- return declaration;
- } else if (fParentScope != null) {
- return fParentScope.lookupTypeRecursive(name);
- } else {
- return null;
- }
- }
-
- /**
- * Looks up a struct declaration.
- *
- * @param name
- * The name of the struct to search for.
- * @return The struct declaration, or null if no struct with that name has
- * been defined.
- */
- public StructDeclaration lookupStruct(String name) {
- return fStructs.get(name);
- }
-
- /**
- * Looks up a struct declaration in the current scope and recursively in the
- * parent scopes.
- *
- * @param name
- * The name of the struct to search for.
- * @return The struct declaration, or null if no struct with that name has
- * been defined.
- */
- public StructDeclaration lookupStructRecursive(String name) {
- StructDeclaration declaration = lookupStruct(name);
- if (declaration != null) {
- return declaration;
- } else if (fParentScope != null) {
- return fParentScope.lookupStructRecursive(name);
- } else {
- return null;
- }
- }
-
- /**
- * Looks up an enum declaration.
- *
- * @param name
- * The name of the enum to search for.
- * @return The enum declaration, or null if no enum with that name has been
- * defined.
- */
- public EnumDeclaration lookupEnum(String name) {
- return fEnums.get(name);
- }
-
- /**
- * Looks up an enum declaration in the current scope and recursively in the
- * parent scopes.
- *
- * @param name
- * The name of the enum to search for.
- * @return The enum declaration, or null if no enum with that name has been
- * defined.
- */
- public EnumDeclaration lookupEnumRecursive(String name) {
- EnumDeclaration declaration = lookupEnum(name);
- if (declaration != null) {
- return declaration;
- } else if (fParentScope != null) {
- return fParentScope.lookupEnumRecursive(name);
- } else {
- return null;
- }
- }
-
- /**
- * Looks up a variant declaration.
- *
- * @param name
- * The name of the variant to search for.
- * @return The variant declaration, or null if no variant with that name has
- * been defined.
- */
- public VariantDeclaration lookupVariant(String name) {
- return fVariants.get(name);
- }
-
- /**
- * Looks up a variant declaration in the current scope and recursively in
- * the parent scopes.
- *
- * @param name
- * The name of the variant to search for.
- * @return The variant declaration, or null if no variant with that name has
- * been defined.
- */
- public VariantDeclaration lookupVariantRecursive(String name) {
- VariantDeclaration declaration = lookupVariant(name);
- if (declaration != null) {
- return declaration;
- } else if (fParentScope != null) {
- return fParentScope.lookupVariantRecursive(name);
- } else {
- return null;
- }
- }
-
- /**
- * Lookup query for an identifier in this scope.
- *
- * @param identifier
- * the name of the identifier to search for. In the case of int
- * x; it would be "x"
- * @return the declaration of the type associated to that identifier
- */
- public IDeclaration lookupIdentifier(String identifier) {
- return fIdentifiers.get(identifier);
- }
-
- /**
- * Lookup query for an identifier through this scope and its ancestors.
- * An ancestor scope is a scope in which this scope is nested.
- *
- * @param identifier
- * the name of the identifier to search for. In the case of int
- * x; it would be "x"
- * @return the declaration of the type associated to that identifier
- */
- public IDeclaration lookupIdentifierRecursive(String identifier) {
- IDeclaration declaration = lookupIdentifier(identifier);
- if (declaration != null) {
- return declaration;
- } else if (fParentScope != null) {
- return fParentScope.lookupIdentifierRecursive(identifier);
- }
- return null;
- }
-
- /**
- * Get all the type names of this scope.
- *
- * @return The type names
- */
- public Set<String> getTypeNames() {
- return fTypes.keySet();
- }
-
- /**
- * Replace a type with a new one.
- *
- * @param name
- * The name of the type
- * @param newType
- * The type
- * @throws ParseException
- * If the type does not exist.
- */
- public void replaceType(String name, IDeclaration newType) throws ParseException {
- if (fTypes.containsKey(name)) {
- fTypes.put(name, newType);
- } else {
- throw new ParseException("Trace does not contain type:" + name); //$NON-NLS-1$
- }
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/internal/ctf/core/event/metadata/IOStructGen.java b/lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/internal/ctf/core/event/metadata/IOStructGen.java
deleted file mode 100644
index f50bfa6a28..0000000000
--- a/lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/internal/ctf/core/event/metadata/IOStructGen.java
+++ /dev/null
@@ -1,2772 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011, 2014 Ericsson, Ecole Polytechnique de Montreal and others
- *
- * 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:
- * Matthew Khouzam - Initial Design and Grammar
- * Francis Giraldeau - Initial API and implementation
- * Simon Marchi - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.internal.ctf.core.event.metadata;
-
-import java.math.BigInteger;
-import java.nio.ByteOrder;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.HashSet;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Set;
-import java.util.UUID;
-
-import org.antlr.runtime.tree.CommonTree;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.jdt.annotation.NonNull;
-import org.eclipse.linuxtools.ctf.core.event.CTFClock;
-import org.eclipse.linuxtools.ctf.core.event.types.Encoding;
-import org.eclipse.linuxtools.ctf.core.event.types.EnumDeclaration;
-import org.eclipse.linuxtools.ctf.core.event.types.FloatDeclaration;
-import org.eclipse.linuxtools.ctf.core.event.types.IDeclaration;
-import org.eclipse.linuxtools.ctf.core.event.types.IEventHeaderDeclaration;
-import org.eclipse.linuxtools.ctf.core.event.types.IntegerDeclaration;
-import org.eclipse.linuxtools.ctf.core.event.types.StringDeclaration;
-import org.eclipse.linuxtools.ctf.core.event.types.StructDeclaration;
-import org.eclipse.linuxtools.ctf.core.event.types.VariantDeclaration;
-import org.eclipse.linuxtools.ctf.core.trace.CTFStream;
-import org.eclipse.linuxtools.ctf.core.trace.CTFTrace;
-import org.eclipse.linuxtools.ctf.parser.CTFParser;
-import org.eclipse.linuxtools.internal.ctf.core.Activator;
-import org.eclipse.linuxtools.internal.ctf.core.event.EventDeclaration;
-import org.eclipse.linuxtools.internal.ctf.core.event.metadata.exceptions.ParseException;
-import org.eclipse.linuxtools.internal.ctf.core.event.types.ArrayDeclaration;
-import org.eclipse.linuxtools.internal.ctf.core.event.types.SequenceDeclaration;
-import org.eclipse.linuxtools.internal.ctf.core.event.types.StructDeclarationFlattener;
-import org.eclipse.linuxtools.internal.ctf.core.event.types.composite.EventHeaderCompactDeclaration;
-import org.eclipse.linuxtools.internal.ctf.core.event.types.composite.EventHeaderLargeDeclaration;
-
-import com.google.common.collect.Iterables;
-
-/**
- * IOStructGen
- */
-public class IOStructGen {
-
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
-
- private static final @NonNull String MAP = "map"; //$NON-NLS-1$
- private static final @NonNull String ENCODING = "encoding"; //$NON-NLS-1$
- private static final @NonNull String BASE = "base"; //$NON-NLS-1$
- private static final @NonNull String SIZE = "size"; //$NON-NLS-1$
- private static final @NonNull String SIGNED = "signed"; //$NON-NLS-1$
- private static final @NonNull String LINE = "line"; //$NON-NLS-1$
- private static final @NonNull String FILE = "file"; //$NON-NLS-1$
- private static final @NonNull String IP = "ip"; //$NON-NLS-1$
- private static final @NonNull String FUNC = "func"; //$NON-NLS-1$
- private static final @NonNull String NAME = "name"; //$NON-NLS-1$
- private static final @NonNull String EMPTY_STRING = ""; //$NON-NLS-1$
- private static final int INTEGER_BASE_16 = 16;
- private static final int INTEGER_BASE_10 = 10;
- private static final int INTEGER_BASE_8 = 8;
- private static final int INTEGER_BASE_2 = 2;
- private static final long DEFAULT_ALIGNMENT = 8;
- private static final int DEFAULT_FLOAT_EXPONENT = 8;
- private static final int DEFAULT_FLOAT_MANTISSA = 24;
- private static final int DEFAULT_INT_BASE = 10;
- /**
- * The trace
- */
- private final CTFTrace fTrace;
- private CommonTree fTree;
-
- /**
- * The current declaration scope.
- */
- private DeclarationScope fScope = null;
-
- /**
- * Data helpers needed for streaming
- */
-
- private boolean fHasBeenParsed = false;
-
- // ------------------------------------------------------------------------
- // Constructor
- // ------------------------------------------------------------------------
-
- /**
- * Constructor
- *
- * @param tree
- * the tree (ANTLR generated) with the parsed TSDL data.
- * @param trace
- * the trace containing the places to put all the read metadata
- */
- public IOStructGen(CommonTree tree, CTFTrace trace) {
- fTrace = trace;
- fTree = tree;
-
- }
-
- /**
- * Parse the tree and populate the trace defined in the constructor.
- *
- * @throws ParseException
- * If there was a problem parsing the metadata
- */
- public void generate() throws ParseException {
- parseRoot(fTree);
- }
-
- /**
- * Parse a partial tree and populate the trace defined in the constructor.
- * Does not check for a "trace" block as there is only one in the trace and
- * thus
- *
- * @throws ParseException
- * If there was a problem parsing the metadata
- */
- public void generateFragment() throws ParseException {
- parseIncompleteRoot(fTree);
- }
-
- // ------------------------------------------------------------------------
- // Operations
- // ------------------------------------------------------------------------
-
- /**
- * Sets a new tree to parse
- *
- * @param newTree
- * the new tree to parse
- */
- public void setTree(CommonTree newTree) {
- fTree = newTree;
- }
-
- /**
- * Parse the root node.
- *
- * @param root
- * A ROOT node.
- * @throws ParseException
- */
- private void parseRoot(CommonTree root) throws ParseException {
-
- List<CommonTree> children = root.getChildren();
- List<CommonTree> events = new ArrayList<>();
-
- CommonTree traceNode = null;
- boolean hasStreams = false;
-
- /* Create a new declaration scope with no parent. */
- pushScope();
- for (CommonTree child : children) {
- final int type = child.getType();
- switch (type) {
- case CTFParser.DECLARATION:
- parseRootDeclaration(child);
- break;
- case CTFParser.TRACE:
- if (traceNode != null) {
- throw new ParseException("Only one trace block is allowed"); //$NON-NLS-1$
- }
- traceNode = child;
- parseTrace(traceNode);
- break;
- case CTFParser.STREAM:
- parseStream(child);
- hasStreams = true;
- break;
- case CTFParser.EVENT:
- events.add(child);
- break;
- case CTFParser.CLOCK:
- parseClock(child);
- break;
- case CTFParser.ENV:
- parseEnvironment(child);
- break;
- case CTFParser.CALLSITE:
- parseCallsite(child);
- break;
- default:
- childTypeError(child);
- }
- }
- if (traceNode == null) {
- throw new ParseException("Missing trace block"); //$NON-NLS-1$
- }
- parseEvents(events, hasStreams);
- popScope();
- fHasBeenParsed = true;
- }
-
- private void parseEvents(List<CommonTree> events, boolean hasStreams) throws ParseException {
- if (!hasStreams && !events.isEmpty()) {
- fTrace.addStream(new CTFStream(fTrace));
- }
- for (CommonTree event : events) {
- parseEvent(event);
- }
- }
-
- private void parseIncompleteRoot(CommonTree root) throws ParseException {
- if (!fHasBeenParsed) {
- throw new ParseException("You need to run generate first"); //$NON-NLS-1$
- }
- List<CommonTree> children = root.getChildren();
- List<CommonTree> events = new ArrayList<>();
- /* Create a new declaration scope with no parent. */
- pushScope();
-
- for (CommonTree child : children) {
- final int type = child.getType();
- switch (type) {
- case CTFParser.DECLARATION:
- parseRootDeclaration(child);
- break;
- case CTFParser.TRACE:
- throw new ParseException("Trace block defined here, please use generate and not generateFragment to parse this fragment"); //$NON-NLS-1$
- case CTFParser.STREAM:
- parseStream(child);
- break;
- case CTFParser.EVENT:
- events.add(child);
- break;
- case CTFParser.CLOCK:
- parseClock(child);
- break;
- case CTFParser.ENV:
- parseEnvironment(child);
- break;
- case CTFParser.CALLSITE:
- parseCallsite(child);
- break;
- default:
- childTypeError(child);
- }
- }
- parseEvents(events, !Iterables.isEmpty(fTrace.getStreams()));
- popScope();
- }
-
- private void parseCallsite(CommonTree callsite) {
-
- List<CommonTree> children = callsite.getChildren();
- String name = null;
- String funcName = null;
- long lineNumber = -1;
- long ip = -1;
- String fileName = null;
-
- for (CommonTree child : children) {
- String left;
- /* this is a regex to find the leading and trailing quotes */
- final String regex = "^\"|\"$"; //$NON-NLS-1$
- /*
- * this is to replace the previous quotes with nothing...
- * effectively deleting them
- */
- final String nullString = EMPTY_STRING;
- left = child.getChild(0).getChild(0).getChild(0).getText();
- if (left.equals(NAME)) {
- name = child.getChild(1).getChild(0).getChild(0).getText().replaceAll(regex, nullString);
- } else if (left.equals(FUNC)) {
- funcName = child.getChild(1).getChild(0).getChild(0).getText().replaceAll(regex, nullString);
- } else if (left.equals(IP)) {
- ip = Long.decode(child.getChild(1).getChild(0).getChild(0).getText());
- } else if (left.equals(FILE)) {
- fileName = child.getChild(1).getChild(0).getChild(0).getText().replaceAll(regex, nullString);
- } else if (left.equals(LINE)) {
- lineNumber = Long.parseLong(child.getChild(1).getChild(0).getChild(0).getText());
- }
- }
- fTrace.addCallsite(name, funcName, ip, fileName, lineNumber);
- }
-
- private void parseEnvironment(CommonTree environment) {
- List<CommonTree> children = environment.getChildren();
- for (CommonTree child : children) {
- String left;
- String right;
- left = child.getChild(0).getChild(0).getChild(0).getText();
- right = child.getChild(1).getChild(0).getChild(0).getText();
- fTrace.addEnvironmentVar(left, right);
- }
- }
-
- private void parseClock(CommonTree clock) throws ParseException {
- List<CommonTree> children = clock.getChildren();
- CTFClock ctfClock = new CTFClock();
- for (CommonTree child : children) {
- final String key = child.getChild(0).getChild(0).getChild(0).getText();
- final CommonTree value = (CommonTree) child.getChild(1).getChild(0).getChild(0);
- final int type = value.getType();
- final String text = value.getText();
- switch (type) {
- case CTFParser.INTEGER:
- case CTFParser.DECIMAL_LITERAL:
- /*
- * Not a pretty hack, this is to make sure that there is no
- * number overflow due to 63 bit integers. The offset should
- * only really be an issue in the year 2262. the tracer in C/ASM
- * can write an offset in an unsigned 64 bit long. In java, the
- * last bit, being set to 1 will be read as a negative number,
- * but since it is too big a positive it will throw an
- * exception. this will happen in 2^63 ns from 1970. Therefore
- * 293 years from 1970
- */
- Long numValue;
- try {
- numValue = Long.parseLong(text);
- } catch (NumberFormatException e) {
- throw new ParseException("Number conversion issue with " + text, e); //$NON-NLS-1$
- }
- ctfClock.addAttribute(key, numValue);
- break;
- default:
- ctfClock.addAttribute(key, text);
- }
-
- }
- String nameValue = ctfClock.getName();
- fTrace.addClock(nameValue, ctfClock);
- }
-
- private void parseTrace(CommonTree traceNode) throws ParseException {
-
- List<CommonTree> children = traceNode.getChildren();
- if (children == null) {
- throw new ParseException("Trace block is empty"); //$NON-NLS-1$
- }
-
- pushScope();
-
- for (CommonTree child : children) {
- switch (child.getType()) {
- case CTFParser.TYPEALIAS:
- parseTypealias(child);
- break;
- case CTFParser.TYPEDEF:
- parseTypedef(child);
- break;
- case CTFParser.CTF_EXPRESSION_TYPE:
- case CTFParser.CTF_EXPRESSION_VAL:
- parseTraceDeclaration(child);
- break;
- default:
- childTypeError(child);
- break;
- }
- }
-
- /*
- * If trace byte order was not specified and not using packet based
- * metadata
- */
- if (fTrace.getByteOrder() == null) {
- throw new ParseException("Trace byte order not set"); //$NON-NLS-1$
- }
-
- popScope();
- }
-
- private void parseTraceDeclaration(CommonTree traceDecl)
- throws ParseException {
-
- /* There should be a left and right */
-
- CommonTree leftNode = (CommonTree) traceDecl.getChild(0);
- CommonTree rightNode = (CommonTree) traceDecl.getChild(1);
-
- List<CommonTree> leftStrings = leftNode.getChildren();
-
- if (!isAnyUnaryString(leftStrings.get(0))) {
- throw new ParseException("Left side of CTF assignment must be a string"); //$NON-NLS-1$
- }
-
- String left = concatenateUnaryStrings(leftStrings);
-
- if (left.equals(MetadataStrings.MAJOR)) {
- if (fTrace.majorIsSet()) {
- throw new ParseException("major is already set"); //$NON-NLS-1$
- }
-
- fTrace.setMajor(getMajorOrMinor(rightNode));
- } else if (left.equals(MetadataStrings.MINOR)) {
- if (fTrace.minorIsSet()) {
- throw new ParseException("minor is already set"); //$NON-NLS-1$
- }
-
- fTrace.setMinor(getMajorOrMinor(rightNode));
- } else if (left.equals(MetadataStrings.UUID_STRING)) {
- UUID uuid = getUUID(rightNode);
-
- /*
- * If uuid was already set by a metadata packet, compare it to see
- * if it matches
- */
- if (fTrace.uuidIsSet()) {
- if (fTrace.getUUID().compareTo(uuid) != 0) {
- throw new ParseException("UUID mismatch. Packet says " //$NON-NLS-1$
- + fTrace.getUUID() + " but metadata says " + uuid); //$NON-NLS-1$
- }
- } else {
- fTrace.setUUID(uuid);
- }
-
- } else if (left.equals(MetadataStrings.BYTE_ORDER)) {
- ByteOrder byteOrder = getByteOrder(rightNode);
-
- /*
- * If byte order was already set by a metadata packet, compare it to
- * see if it matches
- */
- if (fTrace.getByteOrder() != null) {
- if (fTrace.getByteOrder() != byteOrder) {
- throw new ParseException(
- "Endianness mismatch. Magic number says " //$NON-NLS-1$
- + fTrace.getByteOrder()
- + " but metadata says " + byteOrder); //$NON-NLS-1$
- }
- } else {
- fTrace.setByteOrder(byteOrder);
- final DeclarationScope parentScope = fScope.getParentScope();
-
- for (String type : parentScope.getTypeNames()) {
- IDeclaration d = parentScope.lookupType(type);
- if (d instanceof IntegerDeclaration) {
- addByteOrder(byteOrder, parentScope, type, (IntegerDeclaration) d);
- } else if (d instanceof StructDeclaration) {
- setAlign(parentScope, (StructDeclaration) d, byteOrder);
- }
- }
- }
- } else if (left.equals(MetadataStrings.PACKET_HEADER)) {
- if (fTrace.packetHeaderIsSet()) {
- throw new ParseException("packet.header already defined"); //$NON-NLS-1$
- }
-
- CommonTree typeSpecifier = (CommonTree) rightNode.getChild(0);
-
- if (typeSpecifier.getType() != CTFParser.TYPE_SPECIFIER_LIST) {
- throw new ParseException("packet.header expects a type specifier"); //$NON-NLS-1$
- }
-
- IDeclaration packetHeaderDecl = parseTypeSpecifierList(
- typeSpecifier, null);
-
- if (!(packetHeaderDecl instanceof StructDeclaration)) {
- throw new ParseException("packet.header expects a struct"); //$NON-NLS-1$
- }
-
- fTrace.setPacketHeader((StructDeclaration) packetHeaderDecl);
- } else {
- Activator.log(IStatus.WARNING, Messages.IOStructGen_UnknownTraceAttributeWarning + " " + left); //$NON-NLS-1$
- }
- }
-
- private static void addByteOrder(ByteOrder byteOrder,
- final DeclarationScope parentScope, String name,
- IntegerDeclaration decl) throws ParseException {
-
- if (decl.getByteOrder() != byteOrder) {
- IntegerDeclaration newI;
- newI = IntegerDeclaration.createDeclaration(decl.getLength(), decl.isSigned(),
- decl.getBase(), byteOrder, decl.getEncoding(),
- decl.getClock(), decl.getAlignment());
- parentScope.replaceType(name, newI);
- }
- }
-
- private void setAlign(DeclarationScope parentScope, StructDeclaration sd,
- ByteOrder byteOrder) throws ParseException {
-
- for (String s : sd.getFieldsList()) {
- IDeclaration d = sd.getField(s);
-
- if (d instanceof StructDeclaration) {
- setAlign(parentScope, (StructDeclaration) d, byteOrder);
-
- } else if (d instanceof VariantDeclaration) {
- setAlign(parentScope, (VariantDeclaration) d, byteOrder);
- } else if (d instanceof IntegerDeclaration) {
- IntegerDeclaration decl = (IntegerDeclaration) d;
- if (decl.getByteOrder() != byteOrder) {
- IntegerDeclaration newI;
- newI = IntegerDeclaration.createDeclaration(decl.getLength(),
- decl.isSigned(), decl.getBase(), byteOrder,
- decl.getEncoding(), decl.getClock(),
- decl.getAlignment());
- sd.getFields().put(s, newI);
- }
- }
- }
- }
-
- private void setAlign(DeclarationScope parentScope, VariantDeclaration vd,
- ByteOrder byteOrder) throws ParseException {
-
- for (String s : vd.getFields().keySet()) {
- IDeclaration d = vd.getFields().get(s);
-
- if (d instanceof StructDeclaration) {
- setAlign(parentScope, (StructDeclaration) d, byteOrder);
-
- } else if (d instanceof IntegerDeclaration) {
- IntegerDeclaration decl = (IntegerDeclaration) d;
- IntegerDeclaration newI;
- newI = IntegerDeclaration.createDeclaration(decl.getLength(),
- decl.isSigned(), decl.getBase(), byteOrder,
- decl.getEncoding(), decl.getClock(),
- decl.getAlignment());
- vd.getFields().put(s, newI);
- }
- }
- }
-
- private void parseStream(CommonTree streamNode) throws ParseException {
-
- CTFStream stream = new CTFStream(fTrace);
-
- List<CommonTree> children = streamNode.getChildren();
- if (children == null) {
- throw new ParseException("Empty stream block"); //$NON-NLS-1$
- }
-
- pushScope();
-
- for (CommonTree child : children) {
- switch (child.getType()) {
- case CTFParser.TYPEALIAS:
- parseTypealias(child);
- break;
- case CTFParser.TYPEDEF:
- parseTypedef(child);
- break;
- case CTFParser.CTF_EXPRESSION_TYPE:
- case CTFParser.CTF_EXPRESSION_VAL:
- parseStreamDeclaration(child, stream);
- break;
- default:
- childTypeError(child);
- break;
- }
- }
-
- if (stream.isIdSet() &&
- (!fTrace.packetHeaderIsSet() || !fTrace.getPacketHeader().hasField(MetadataStrings.STREAM_ID))) {
- throw new ParseException("Stream has an ID, but there is no stream_id field in packet header."); //$NON-NLS-1$
- }
-
- fTrace.addStream(stream);
-
- popScope();
- }
-
- private void parseStreamDeclaration(CommonTree streamDecl, CTFStream stream)
- throws ParseException {
-
- /* There should be a left and right */
-
- CommonTree leftNode = (CommonTree) streamDecl.getChild(0);
- CommonTree rightNode = (CommonTree) streamDecl.getChild(1);
-
- List<CommonTree> leftStrings = leftNode.getChildren();
-
- if (!isAnyUnaryString(leftStrings.get(0))) {
- throw new ParseException("Left side of CTF assignment must be a string"); //$NON-NLS-1$
- }
-
- String left = concatenateUnaryStrings(leftStrings);
-
- if (left.equals(MetadataStrings.ID)) {
- if (stream.isIdSet()) {
- throw new ParseException("stream id already defined"); //$NON-NLS-1$
- }
-
- long streamID = getStreamID(rightNode);
-
- stream.setId(streamID);
- } else if (left.equals(MetadataStrings.EVENT_HEADER)) {
- if (stream.isEventHeaderSet()) {
- throw new ParseException("event.header already defined"); //$NON-NLS-1$
- }
-
- CommonTree typeSpecifier = (CommonTree) rightNode.getChild(0);
-
- if (typeSpecifier.getType() != CTFParser.TYPE_SPECIFIER_LIST) {
- throw new ParseException("event.header expects a type specifier"); //$NON-NLS-1$
- }
-
- IDeclaration eventHeaderDecl = parseTypeSpecifierList(
- typeSpecifier, null);
-
- if (eventHeaderDecl instanceof StructDeclaration) {
- stream.setEventHeader((StructDeclaration) eventHeaderDecl);
- } else if (eventHeaderDecl instanceof IEventHeaderDeclaration) {
- stream.setEventHeader((IEventHeaderDeclaration) eventHeaderDecl);
- } else {
- throw new ParseException("event.header expects a struct"); //$NON-NLS-1$
- }
-
- } else if (left.equals(MetadataStrings.EVENT_CONTEXT)) {
- if (stream.isEventContextSet()) {
- throw new ParseException("event.context already defined"); //$NON-NLS-1$
- }
-
- CommonTree typeSpecifier = (CommonTree) rightNode.getChild(0);
-
- if (typeSpecifier.getType() != CTFParser.TYPE_SPECIFIER_LIST) {
- throw new ParseException("event.context expects a type specifier"); //$NON-NLS-1$
- }
-
- IDeclaration eventContextDecl = parseTypeSpecifierList(
- typeSpecifier, null);
-
- if (!(eventContextDecl instanceof StructDeclaration)) {
- throw new ParseException("event.context expects a struct"); //$NON-NLS-1$
- }
-
- stream.setEventContext((StructDeclaration) eventContextDecl);
- } else if (left.equals(MetadataStrings.PACKET_CONTEXT)) {
- if (stream.isPacketContextSet()) {
- throw new ParseException("packet.context already defined"); //$NON-NLS-1$
- }
-
- CommonTree typeSpecifier = (CommonTree) rightNode.getChild(0);
-
- if (typeSpecifier.getType() != CTFParser.TYPE_SPECIFIER_LIST) {
- throw new ParseException("packet.context expects a type specifier"); //$NON-NLS-1$
- }
-
- IDeclaration packetContextDecl = parseTypeSpecifierList(
- typeSpecifier, null);
-
- if (!(packetContextDecl instanceof StructDeclaration)) {
- throw new ParseException("packet.context expects a struct"); //$NON-NLS-1$
- }
-
- stream.setPacketContext((StructDeclaration) packetContextDecl);
- } else {
- Activator.log(IStatus.WARNING, Messages.IOStructGen_UnknownStreamAttributeWarning + " " + left); //$NON-NLS-1$
- }
- }
-
- private void parseEvent(CommonTree eventNode) throws ParseException {
-
- List<CommonTree> children = eventNode.getChildren();
- if (children == null) {
- throw new ParseException("Empty event block"); //$NON-NLS-1$
- }
-
- EventDeclaration event = new EventDeclaration();
-
- pushScope();
-
- for (CommonTree child : children) {
- switch (child.getType()) {
- case CTFParser.TYPEALIAS:
- parseTypealias(child);
- break;
- case CTFParser.TYPEDEF:
- parseTypedef(child);
- break;
- case CTFParser.CTF_EXPRESSION_TYPE:
- case CTFParser.CTF_EXPRESSION_VAL:
- parseEventDeclaration(child, event);
- break;
- default:
- childTypeError(child);
- break;
- }
- }
-
- if (!event.nameIsSet()) {
- throw new ParseException("Event name not set"); //$NON-NLS-1$
- }
-
- /*
- * If the event did not specify a stream, then the trace must be single
- * stream
- */
- if (!event.streamIsSet()) {
- if (fTrace.nbStreams() > 1) {
- throw new ParseException("Event without stream_id with more than one stream"); //$NON-NLS-1$
- }
-
- /*
- * If the event did not specify a stream, the only existing stream
- * must not have an id. Note: That behavior could be changed, it
- * could be possible to just get the only existing stream, whatever
- * is its id.
- */
- CTFStream stream = fTrace.getStream(null);
-
- if (stream != null) {
- event.setStream(stream);
- } else {
- throw new ParseException("Event without stream_id, but there is no stream without id"); //$NON-NLS-1$
- }
- }
-
- /*
- * Add the event to the stream.
- */
- event.getStream().addEvent(event);
-
- popScope();
- }
-
- private void parseEventDeclaration(CommonTree eventDecl,
- EventDeclaration event) throws ParseException {
-
- /* There should be a left and right */
-
- CommonTree leftNode = (CommonTree) eventDecl.getChild(0);
- CommonTree rightNode = (CommonTree) eventDecl.getChild(1);
-
- List<CommonTree> leftStrings = leftNode.getChildren();
-
- if (!isAnyUnaryString(leftStrings.get(0))) {
- throw new ParseException("Left side of CTF assignment must be a string"); //$NON-NLS-1$
- }
-
- String left = concatenateUnaryStrings(leftStrings);
-
- if (left.equals(MetadataStrings.NAME2)) {
- if (event.nameIsSet()) {
- throw new ParseException("name already defined"); //$NON-NLS-1$
- }
-
- String name = getEventName(rightNode);
-
- event.setName(name);
- } else if (left.equals(MetadataStrings.ID)) {
- if (event.idIsSet()) {
- throw new ParseException("id already defined"); //$NON-NLS-1$
- }
-
- long id = getEventID(rightNode);
- if (id > Integer.MAX_VALUE) {
- throw new ParseException("id is greater than int.maxvalue, unsupported. id : " + id); //$NON-NLS-1$
- }
- if (id < 0) {
- throw new ParseException("negative id, unsupported. id : " + id); //$NON-NLS-1$
- }
- event.setId((int) id);
- } else if (left.equals(MetadataStrings.STREAM_ID)) {
- if (event.streamIsSet()) {
- throw new ParseException("stream id already defined"); //$NON-NLS-1$
- }
-
- long streamId = getStreamID(rightNode);
-
- CTFStream stream = fTrace.getStream(streamId);
-
- if (stream == null) {
- throw new ParseException("Stream " + streamId + " not found"); //$NON-NLS-1$ //$NON-NLS-2$
- }
-
- event.setStream(stream);
- } else if (left.equals(MetadataStrings.CONTEXT)) {
- if (event.contextIsSet()) {
- throw new ParseException("context already defined"); //$NON-NLS-1$
- }
-
- CommonTree typeSpecifier = (CommonTree) rightNode.getChild(0);
-
- if (typeSpecifier.getType() != CTFParser.TYPE_SPECIFIER_LIST) {
- throw new ParseException("context expects a type specifier"); //$NON-NLS-1$
- }
-
- IDeclaration contextDecl = parseTypeSpecifierList(typeSpecifier,
- null);
-
- if (!(contextDecl instanceof StructDeclaration)) {
- throw new ParseException("context expects a struct"); //$NON-NLS-1$
- }
-
- event.setContext((StructDeclaration) contextDecl);
- } else if (left.equals(MetadataStrings.FIELDS_STRING)) {
- if (event.fieldsIsSet()) {
- throw new ParseException("fields already defined"); //$NON-NLS-1$
- }
-
- CommonTree typeSpecifier = (CommonTree) rightNode.getChild(0);
-
- if (typeSpecifier.getType() != CTFParser.TYPE_SPECIFIER_LIST) {
- throw new ParseException("fields expects a type specifier"); //$NON-NLS-1$
- }
-
- IDeclaration fieldsDecl;
- fieldsDecl = parseTypeSpecifierList(typeSpecifier, null);
-
- if (!(fieldsDecl instanceof StructDeclaration)) {
- throw new ParseException("fields expects a struct"); //$NON-NLS-1$
- }
- /*
- * The underscores in the event names. These underscores were added
- * by the LTTng tracer.
- */
- final StructDeclaration fields = (StructDeclaration) fieldsDecl;
- event.setFields(fields);
- } else if (left.equals(MetadataStrings.LOGLEVEL2)) {
- long logLevel = parseUnaryInteger((CommonTree) rightNode.getChild(0));
- event.setLogLevel(logLevel);
- } else {
- /* Custom event attribute, we'll add it to the attributes map */
- String right = parseUnaryString((CommonTree) rightNode.getChild(0));
- event.setCustomAttribute(left, right);
- }
- }
-
- /**
- * Parses a declaration at the root level.
- *
- * @param declaration
- * The declaration subtree.
- * @throws ParseException
- */
- private void parseRootDeclaration(CommonTree declaration)
- throws ParseException {
-
- List<CommonTree> children = declaration.getChildren();
-
- for (CommonTree child : children) {
- switch (child.getType()) {
- case CTFParser.TYPEDEF:
- parseTypedef(child);
- break;
- case CTFParser.TYPEALIAS:
- parseTypealias(child);
- break;
- case CTFParser.TYPE_SPECIFIER_LIST:
- parseTypeSpecifierList(child, null);
- break;
- default:
- childTypeError(child);
- }
- }
- }
-
- /**
- * Parses a typealias node. It parses the target, the alias, and registers
- * the type in the current scope.
- *
- * @param typealias
- * A TYPEALIAS node.
- * @throws ParseException
- */
- private void parseTypealias(CommonTree typealias) throws ParseException {
-
- List<CommonTree> children = typealias.getChildren();
-
- CommonTree target = null;
- CommonTree alias = null;
-
- for (CommonTree child : children) {
- switch (child.getType()) {
- case CTFParser.TYPEALIAS_TARGET:
- target = child;
- break;
- case CTFParser.TYPEALIAS_ALIAS:
- alias = child;
- break;
- default:
- childTypeError(child);
- break;
- }
- }
-
- IDeclaration targetDeclaration = parseTypealiasTarget(target);
-
- if ((targetDeclaration instanceof VariantDeclaration)
- && ((VariantDeclaration) targetDeclaration).isTagged()) {
- throw new ParseException("Typealias of untagged variant is not permitted"); //$NON-NLS-1$
- }
-
- String aliasString = parseTypealiasAlias(alias);
-
- getCurrentScope().registerType(aliasString, targetDeclaration);
- }
-
- /**
- * Parses the target part of a typealias and gets the corresponding
- * declaration.
- *
- * @param target
- * A TYPEALIAS_TARGET node.
- * @return The corresponding declaration.
- * @throws ParseException
- */
- private IDeclaration parseTypealiasTarget(CommonTree target)
- throws ParseException {
-
- List<CommonTree> children = target.getChildren();
-
- CommonTree typeSpecifierList = null;
- CommonTree typeDeclaratorList = null;
- CommonTree typeDeclarator = null;
- StringBuilder identifierSB = new StringBuilder();
-
- for (CommonTree child : children) {
- switch (child.getType()) {
- case CTFParser.TYPE_SPECIFIER_LIST:
- typeSpecifierList = child;
- break;
- case CTFParser.TYPE_DECLARATOR_LIST:
- typeDeclaratorList = child;
- break;
- default:
- childTypeError(child);
- break;
- }
- }
-
- if (typeDeclaratorList != null) {
- /*
- * Only allow one declarator
- *
- * eg: "typealias uint8_t *, ** := puint8_t;" is not permitted,
- * otherwise the new type puint8_t would maps to two different
- * types.
- */
- if (typeDeclaratorList.getChildCount() != 1) {
- throw new ParseException("Only one type declarator is allowed in the typealias target"); //$NON-NLS-1$
- }
-
- typeDeclarator = (CommonTree) typeDeclaratorList.getChild(0);
- }
-
- /* Parse the target type and get the declaration */
- IDeclaration targetDeclaration = parseTypeDeclarator(typeDeclarator,
- typeSpecifierList, identifierSB);
-
- /*
- * We don't allow identifier in the target
- *
- * eg: "typealias uint8_t* hello := puint8_t;", the "hello" is not
- * permitted
- */
- if (identifierSB.length() > 0) {
- throw new ParseException("Identifier (" + identifierSB.toString() //$NON-NLS-1$
- + ") not expected in the typealias target"); //$NON-NLS-1$
- }
-
- return targetDeclaration;
- }
-
- /**
- * Parses the alias part of a typealias. It parses the underlying specifier
- * list and declarator and creates the string representation that will be
- * used to register the type.
- *
- * @param alias
- * A TYPEALIAS_ALIAS node.
- * @return The string representation of the alias.
- * @throws ParseException
- */
- private static String parseTypealiasAlias(CommonTree alias)
- throws ParseException {
-
- List<CommonTree> children = alias.getChildren();
-
- CommonTree typeSpecifierList = null;
- CommonTree typeDeclaratorList = null;
- CommonTree typeDeclarator = null;
- List<CommonTree> pointers = new LinkedList<>();
-
- for (CommonTree child : children) {
- switch (child.getType()) {
- case CTFParser.TYPE_SPECIFIER_LIST:
- typeSpecifierList = child;
- break;
- case CTFParser.TYPE_DECLARATOR_LIST:
- typeDeclaratorList = child;
- break;
- default:
- childTypeError(child);
- break;
- }
- }
-
- /* If there is a type declarator list, extract the pointers */
- if (typeDeclaratorList != null) {
- /*
- * Only allow one declarator
- *
- * eg: "typealias uint8_t := puint8_t *, **;" is not permitted.
- */
- if (typeDeclaratorList.getChildCount() != 1) {
- throw new ParseException("Only one type declarator is allowed in the typealias alias"); //$NON-NLS-1$
- }
-
- typeDeclarator = (CommonTree) typeDeclaratorList.getChild(0);
-
- List<CommonTree> typeDeclaratorChildren = typeDeclarator.getChildren();
-
- for (CommonTree child : typeDeclaratorChildren) {
- switch (child.getType()) {
- case CTFParser.POINTER:
- pointers.add(child);
- break;
- case CTFParser.IDENTIFIER:
- throw new ParseException("Identifier (" + child.getText() //$NON-NLS-1$
- + ") not expected in the typealias target"); //$NON-NLS-1$
- default:
- childTypeError(child);
- break;
- }
- }
- }
-
- return createTypeDeclarationString(typeSpecifierList, pointers);
- }
-
- /**
- * Parses a typedef node. This creates and registers a new declaration for
- * each declarator found in the typedef.
- *
- * @param typedef
- * A TYPEDEF node.
- * @throws ParseException
- * If there is an error creating the declaration.
- */
- private void parseTypedef(CommonTree typedef) throws ParseException {
-
- CommonTree typeDeclaratorListNode = (CommonTree) typedef.getFirstChildWithType(CTFParser.TYPE_DECLARATOR_LIST);
-
- CommonTree typeSpecifierListNode = (CommonTree) typedef.getFirstChildWithType(CTFParser.TYPE_SPECIFIER_LIST);
-
- List<CommonTree> typeDeclaratorList = typeDeclaratorListNode.getChildren();
-
- for (CommonTree typeDeclaratorNode : typeDeclaratorList) {
- StringBuilder identifierSB = new StringBuilder();
-
- IDeclaration typeDeclaration = parseTypeDeclarator(
- typeDeclaratorNode, typeSpecifierListNode, identifierSB);
-
- if ((typeDeclaration instanceof VariantDeclaration)
- && ((VariantDeclaration) typeDeclaration).isTagged()) {
- throw new ParseException("Typealias of untagged variant is not permitted"); //$NON-NLS-1$
- }
-
- getCurrentScope().registerType(identifierSB.toString(),
- typeDeclaration);
- }
- }
-
- /**
- * Parses a pair type declarator / type specifier list and returns the
- * corresponding declaration. If it is present, it also writes the
- * identifier of the declarator in the given {@link StringBuilder}.
- *
- * @param typeDeclarator
- * A TYPE_DECLARATOR node.
- * @param typeSpecifierList
- * A TYPE_SPECIFIER_LIST node.
- * @param identifierSB
- * A StringBuilder that will receive the identifier found in the
- * declarator.
- * @return The corresponding declaration.
- * @throws ParseException
- * If there is an error finding or creating the declaration.
- */
- private IDeclaration parseTypeDeclarator(CommonTree typeDeclarator,
- CommonTree typeSpecifierList, StringBuilder identifierSB)
- throws ParseException {
-
- IDeclaration declaration = null;
- List<CommonTree> children = null;
- List<CommonTree> pointers = new LinkedList<>();
- List<CommonTree> lengths = new LinkedList<>();
- CommonTree identifier = null;
-
- /* Separate the tokens by type */
- if (typeDeclarator != null) {
- children = typeDeclarator.getChildren();
- for (CommonTree child : children) {
-
- switch (child.getType()) {
- case CTFParser.POINTER:
- pointers.add(child);
- break;
- case CTFParser.IDENTIFIER:
- identifier = child;
- break;
- case CTFParser.LENGTH:
- lengths.add(child);
- break;
- default:
- childTypeError(child);
- break;
- }
- }
-
- }
-
- /*
- * Parse the type specifier list, which is the "base" type. For example,
- * it would be int in int a[3][len].
- */
- declaration = parseTypeSpecifierList(typeSpecifierList, pointers);
-
- /*
- * Each length subscript means that we must create a nested array or
- * sequence. For example, int a[3][len] means that we have an array of 3
- * (sequences of length 'len' of (int)).
- */
- if (!lengths.isEmpty()) {
- /* We begin at the end */
- Collections.reverse(lengths);
-
- for (CommonTree length : lengths) {
- /*
- * By looking at the first expression, we can determine whether
- * it is an array or a sequence.
- */
- List<CommonTree> lengthChildren = length.getChildren();
-
- CommonTree first = lengthChildren.get(0);
- if (isUnaryInteger(first)) {
- /* Array */
- int arrayLength = (int) parseUnaryInteger(first);
-
- if (arrayLength < 1) {
- throw new ParseException("Array length is negative"); //$NON-NLS-1$
- }
-
- /* Create the array declaration. */
- declaration = new ArrayDeclaration(arrayLength, declaration);
- } else if (isAnyUnaryString(first)) {
- /* Sequence */
- String lengthName = concatenateUnaryStrings(lengthChildren);
-
- /* check that lengthName was declared */
- if (isSignedIntegerField(lengthName)) {
- throw new ParseException("Sequence declared with length that is not an unsigned integer"); //$NON-NLS-1$
- }
- /* Create the sequence declaration. */
- declaration = new SequenceDeclaration(lengthName,
- declaration);
- } else {
- childTypeError(first);
- }
- }
- }
-
- if (identifier != null) {
- identifierSB.append(identifier.getText());
- }
-
- return declaration;
- }
-
- private boolean isSignedIntegerField(String lengthName) throws ParseException {
- IDeclaration decl = getCurrentScope().lookupIdentifierRecursive(lengthName);
- if (decl instanceof IntegerDeclaration) {
- return ((IntegerDeclaration) decl).isSigned();
- }
- throw new ParseException("Is not an integer: " + lengthName); //$NON-NLS-1$
-
- }
-
- /**
- * Parses a type specifier list and returns the corresponding declaration.
- *
- * @param typeSpecifierList
- * A TYPE_SPECIFIER_LIST node.
- * @param pointerList
- * A list of POINTER nodes that apply to the specified type.
- * @return The corresponding declaration.
- * @throws ParseException
- * If the type has not been defined or if there is an error
- * creating the declaration.
- */
- private IDeclaration parseTypeSpecifierList(CommonTree typeSpecifierList,
- List<CommonTree> pointerList) throws ParseException {
- IDeclaration declaration = null;
-
- /*
- * By looking at the first element of the type specifier list, we can
- * determine which type it belongs to.
- */
- CommonTree firstChild = (CommonTree) typeSpecifierList.getChild(0);
-
- switch (firstChild.getType()) {
- case CTFParser.FLOATING_POINT:
- declaration = parseFloat(firstChild);
- break;
- case CTFParser.INTEGER:
- declaration = parseInteger(firstChild);
- break;
- case CTFParser.STRING:
- declaration = parseString(firstChild);
- break;
- case CTFParser.STRUCT:
- declaration = parseStruct(firstChild);
- StructDeclaration structDeclaration = (StructDeclaration) declaration;
- IDeclaration idEnumDecl = structDeclaration.getFields().get("id"); //$NON-NLS-1$
- if (EventHeaderCompactDeclaration.isCompactEventHeader(structDeclaration)) {
- ByteOrder bo = ((EnumDeclaration) idEnumDecl).getContainerType().getByteOrder();
- declaration = new EventHeaderCompactDeclaration(bo);
- } else if (EventHeaderLargeDeclaration.isLargeEventHeader(structDeclaration)) {
- ByteOrder bo = ((EnumDeclaration) idEnumDecl).getContainerType().getByteOrder();
- declaration = new EventHeaderLargeDeclaration(bo);
- }
- break;
- case CTFParser.VARIANT:
- declaration = parseVariant(firstChild);
- break;
- case CTFParser.ENUM:
- declaration = parseEnum(firstChild);
- break;
- case CTFParser.IDENTIFIER:
- case CTFParser.FLOATTOK:
- case CTFParser.INTTOK:
- case CTFParser.LONGTOK:
- case CTFParser.SHORTTOK:
- case CTFParser.SIGNEDTOK:
- case CTFParser.UNSIGNEDTOK:
- case CTFParser.CHARTOK:
- case CTFParser.DOUBLETOK:
- case CTFParser.VOIDTOK:
- case CTFParser.BOOLTOK:
- case CTFParser.COMPLEXTOK:
- case CTFParser.IMAGINARYTOK:
- declaration = parseTypeDeclaration(typeSpecifierList, pointerList);
- break;
- default:
- childTypeError(firstChild);
- }
-
- return declaration;
- }
-
- private IDeclaration parseFloat(CommonTree floatingPoint)
- throws ParseException {
-
- List<CommonTree> children = floatingPoint.getChildren();
-
- /*
- * If the integer has no attributes, then it is missing the size
- * attribute which is required
- */
- if (children == null) {
- throw new ParseException("float: missing size attribute"); //$NON-NLS-1$
- }
-
- /* The return value */
- FloatDeclaration floatDeclaration = null;
- ByteOrder byteOrder = fTrace.getByteOrder();
- long alignment = 0;
-
- int exponent = DEFAULT_FLOAT_EXPONENT;
- int mantissa = DEFAULT_FLOAT_MANTISSA;
-
- /* Iterate on all integer children */
- for (CommonTree child : children) {
- switch (child.getType()) {
- case CTFParser.CTF_EXPRESSION_VAL:
- /*
- * An assignment expression must have 2 children, left and right
- */
-
- CommonTree leftNode = (CommonTree) child.getChild(0);
- CommonTree rightNode = (CommonTree) child.getChild(1);
-
- List<CommonTree> leftStrings = leftNode.getChildren();
-
- if (!isAnyUnaryString(leftStrings.get(0))) {
- throw new ParseException("Left side of ctf expression must be a string"); //$NON-NLS-1$
- }
- String left = concatenateUnaryStrings(leftStrings);
-
- if (left.equals(MetadataStrings.EXP_DIG)) {
- exponent = (int) parseUnaryInteger((CommonTree) rightNode.getChild(0));
- } else if (left.equals(MetadataStrings.BYTE_ORDER)) {
- byteOrder = getByteOrder(rightNode);
- } else if (left.equals(MetadataStrings.MANT_DIG)) {
- mantissa = (int) parseUnaryInteger((CommonTree) rightNode.getChild(0));
- } else if (left.equals(MetadataStrings.ALIGN)) {
- alignment = getAlignment(rightNode);
- } else {
- throw new ParseException("Float: unknown attribute " + left); //$NON-NLS-1$
- }
-
- break;
- default:
- childTypeError(child);
- break;
- }
- }
- int size = mantissa + exponent;
- if (size == 0) {
- throw new ParseException("Float missing size attribute"); //$NON-NLS-1$
- }
-
- if (alignment == 0) {
- alignment = ((size % DEFAULT_ALIGNMENT) == 0) ? 1 : DEFAULT_ALIGNMENT;
- }
-
- floatDeclaration = new FloatDeclaration(exponent, mantissa, byteOrder, alignment);
-
- return floatDeclaration;
-
- }
-
- /**
- * Parses a type specifier list as a user-declared type.
- *
- * @param typeSpecifierList
- * A TYPE_SPECIFIER_LIST node containing a user-declared type.
- * @param pointerList
- * A list of POINTER nodes that apply to the type specified in
- * typeSpecifierList.
- * @return The corresponding declaration.
- * @throws ParseException
- * If the type does not exist (has not been found).
- */
- private IDeclaration parseTypeDeclaration(CommonTree typeSpecifierList,
- List<CommonTree> pointerList) throws ParseException {
- /* Create the string representation of the type declaration */
- String typeStringRepresentation = createTypeDeclarationString(
- typeSpecifierList, pointerList);
-
- /* Use the string representation to search the type in the current scope */
- IDeclaration decl = getCurrentScope().lookupTypeRecursive(
- typeStringRepresentation);
-
- if (decl == null) {
- throw new ParseException("Type " + typeStringRepresentation //$NON-NLS-1$
- + " has not been defined."); //$NON-NLS-1$
- }
-
- return decl;
- }
-
- /**
- * Parses an integer declaration node.
- *
- * @param integer
- * An INTEGER node.
- * @return The corresponding integer declaration.
- * @throws ParseException
- */
- private IntegerDeclaration parseInteger(CommonTree integer)
- throws ParseException {
-
- List<CommonTree> children = integer.getChildren();
-
- /*
- * If the integer has no attributes, then it is missing the size
- * attribute which is required
- */
- if (children == null) {
- throw new ParseException("integer: missing size attribute"); //$NON-NLS-1$
- }
-
- /* The return value */
- IntegerDeclaration integerDeclaration = null;
- boolean signed = false;
- ByteOrder byteOrder = fTrace.getByteOrder();
- long size = 0;
- long alignment = 0;
- int base = DEFAULT_INT_BASE;
- @NonNull
- String clock = EMPTY_STRING;
-
- Encoding encoding = Encoding.NONE;
-
- /* Iterate on all integer children */
- for (CommonTree child : children) {
- switch (child.getType()) {
- case CTFParser.CTF_EXPRESSION_VAL:
- /*
- * An assignment expression must have 2 children, left and right
- */
-
- CommonTree leftNode = (CommonTree) child.getChild(0);
- CommonTree rightNode = (CommonTree) child.getChild(1);
-
- List<CommonTree> leftStrings = leftNode.getChildren();
-
- if (!isAnyUnaryString(leftStrings.get(0))) {
- throw new ParseException("Left side of ctf expression must be a string"); //$NON-NLS-1$
- }
- String left = concatenateUnaryStrings(leftStrings);
-
- if (left.equals(SIGNED)) {
- signed = getSigned(rightNode);
- } else if (left.equals(MetadataStrings.BYTE_ORDER)) {
- byteOrder = getByteOrder(rightNode);
- } else if (left.equals(SIZE)) {
- size = getSize(rightNode);
- } else if (left.equals(MetadataStrings.ALIGN)) {
- alignment = getAlignment(rightNode);
- } else if (left.equals(BASE)) {
- base = getBase(rightNode);
- } else if (left.equals(ENCODING)) {
- encoding = getEncoding(rightNode);
- } else if (left.equals(MAP)) {
- clock = getClock(rightNode);
- } else {
- Activator.log(IStatus.WARNING, Messages.IOStructGen_UnknownIntegerAttributeWarning + " " + left); //$NON-NLS-1$
- }
-
- break;
- default:
- childTypeError(child);
- break;
- }
- }
-
- if (size == 0) {
- throw new ParseException("Integer missing size attribute"); //$NON-NLS-1$
- }
-
- if (alignment == 0) {
- alignment = ((size % DEFAULT_ALIGNMENT) == 0) ? 1 : DEFAULT_ALIGNMENT;
- }
-
- integerDeclaration = IntegerDeclaration.createDeclaration((int) size, signed, base,
- byteOrder, encoding, clock, alignment);
-
- return integerDeclaration;
- }
-
- @NonNull
- private static String getClock(CommonTree rightNode) {
- String clock = rightNode.getChild(1).getChild(0).getChild(0).getText();
- return clock == null ? EMPTY_STRING : clock;
- }
-
- private static StringDeclaration parseString(CommonTree string)
- throws ParseException {
-
- List<CommonTree> children = string.getChildren();
- StringDeclaration stringDeclaration = null;
-
- if (children == null) {
- stringDeclaration = new StringDeclaration();
- } else {
- Encoding encoding = Encoding.UTF8;
- for (CommonTree child : children) {
- switch (child.getType()) {
- case CTFParser.CTF_EXPRESSION_VAL:
- /*
- * An assignment expression must have 2 children, left and
- * right
- */
-
- CommonTree leftNode = (CommonTree) child.getChild(0);
- CommonTree rightNode = (CommonTree) child.getChild(1);
-
- List<CommonTree> leftStrings = leftNode.getChildren();
-
- if (!isAnyUnaryString(leftStrings.get(0))) {
- throw new ParseException("Left side of ctf expression must be a string"); //$NON-NLS-1$
- }
- String left = concatenateUnaryStrings(leftStrings);
-
- if (left.equals(ENCODING)) {
- encoding = getEncoding(rightNode);
- } else {
- throw new ParseException("String: unknown attribute " //$NON-NLS-1$
- + left);
- }
-
- break;
- default:
- childTypeError(child);
- break;
- }
- }
-
- stringDeclaration = new StringDeclaration(encoding);
- }
-
- return stringDeclaration;
- }
-
- /**
- * Parses a struct declaration and returns the corresponding declaration.
- *
- * @param struct
- * An STRUCT node.
- * @return The corresponding struct declaration.
- * @throws ParseException
- */
- private StructDeclaration parseStruct(CommonTree struct)
- throws ParseException {
-
- List<CommonTree> children = struct.getChildren();
-
- /* The return value */
- StructDeclaration structDeclaration = null;
-
- /* Name */
- String structName = null;
- boolean hasName = false;
-
- /* Body */
- CommonTree structBody = null;
- boolean hasBody = false;
-
- /* Align */
- long structAlign = 0;
-
- /* Loop on all children and identify what we have to work with. */
- for (CommonTree child : children) {
- switch (child.getType()) {
- case CTFParser.STRUCT_NAME: {
- hasName = true;
-
- CommonTree structNameIdentifier = (CommonTree) child.getChild(0);
-
- structName = structNameIdentifier.getText();
-
- break;
- }
- case CTFParser.STRUCT_BODY: {
- hasBody = true;
-
- structBody = child;
-
- break;
- }
- case CTFParser.ALIGN: {
- CommonTree structAlignExpression = (CommonTree) child.getChild(0);
-
- structAlign = getAlignment(structAlignExpression);
-
- break;
- }
- default:
- childTypeError(child);
-
- break;
- }
- }
-
- /*
- * If a struct has just a body and no name (just like the song,
- * "A Struct With No Name" by America (sorry for that...)), it's a
- * definition of a new type, so we create the type declaration and
- * return it. We can't add it to the declaration scope since there is no
- * name, but that's what we want because it won't be possible to use it
- * again to declare another field.
- *
- * If it has just a name, we look it up in the declaration scope and
- * return the associated declaration. If it is not found in the
- * declaration scope, it means that a struct with that name has not been
- * declared, which is an error.
- *
- * If it has both, then we create the type declaration and register it
- * to the current scope.
- *
- * If it has none, then what are we doing here ?
- */
- if (hasBody) {
- /*
- * If struct has a name, check if already defined in the current
- * scope.
- */
- if (hasName && (getCurrentScope().lookupStruct(structName) != null)) {
- throw new ParseException("struct " + structName //$NON-NLS-1$
- + " already defined."); //$NON-NLS-1$
- }
- /* Create the declaration */
- structDeclaration = new StructDeclaration(structAlign);
-
- /* Parse the body */
- parseStructBody(structBody, structDeclaration);
-
- /* If struct has name, add it to the current scope. */
- if (hasName) {
- getCurrentScope().registerStruct(structName, structDeclaration);
- }
- } else /* !hasBody */{
- if (hasName) {
- /* Name and !body */
-
- /* Lookup the name in the current scope. */
- structDeclaration = getCurrentScope().lookupStructRecursive(structName);
-
- /*
- * If not found, it means that a struct with such name has not
- * been defined
- */
- if (structDeclaration == null) {
- throw new ParseException("struct " + structName //$NON-NLS-1$
- + " is not defined"); //$NON-NLS-1$
- }
- } else {
- /* !Name and !body */
-
- /* We can't do anything with that. */
- throw new ParseException("struct with no name and no body"); //$NON-NLS-1$
- }
- }
- return StructDeclarationFlattener.tryFlattenStruct(structDeclaration);
- }
-
- /**
- * Parses a struct body, adding the fields to specified structure
- * declaration.
- *
- * @param structBody
- * A STRUCT_BODY node.
- * @param structDeclaration
- * The struct declaration.
- * @throws ParseException
- */
- private void parseStructBody(CommonTree structBody,
- StructDeclaration structDeclaration) throws ParseException {
-
- List<CommonTree> structDeclarations = structBody.getChildren();
-
- /*
- * If structDeclaration is null, structBody has no children and the
- * struct body is empty.
- */
- if (structDeclarations != null) {
- pushScope();
-
- for (CommonTree declarationNode : structDeclarations) {
- switch (declarationNode.getType()) {
- case CTFParser.TYPEALIAS:
- parseTypealias(declarationNode);
- break;
- case CTFParser.TYPEDEF:
- parseTypedef(declarationNode);
- break;
- case CTFParser.SV_DECLARATION:
- parseStructDeclaration(declarationNode, structDeclaration);
- break;
- default:
- childTypeError(declarationNode);
- break;
- }
- }
- popScope();
- }
- }
-
- /**
- * Parses a declaration found in a struct.
- *
- * @param declaration
- * A SV_DECLARATION node.
- * @param struct
- * A struct declaration. (I know, little name clash here...)
- * @throws ParseException
- */
- private void parseStructDeclaration(CommonTree declaration,
- StructDeclaration struct) throws ParseException {
-
- /* Get the type specifier list node */
- CommonTree typeSpecifierListNode = (CommonTree) declaration.getFirstChildWithType(CTFParser.TYPE_SPECIFIER_LIST);
-
- /* Get the type declarator list node */
- CommonTree typeDeclaratorListNode = (CommonTree) declaration.getFirstChildWithType(CTFParser.TYPE_DECLARATOR_LIST);
-
- /* Get the type declarator list */
- List<CommonTree> typeDeclaratorList = typeDeclaratorListNode.getChildren();
-
- /*
- * For each type declarator, parse the declaration and add a field to
- * the struct
- */
- for (CommonTree typeDeclaratorNode : typeDeclaratorList) {
-
- StringBuilder identifierSB = new StringBuilder();
-
- IDeclaration decl = parseTypeDeclarator(typeDeclaratorNode,
- typeSpecifierListNode, identifierSB);
- String fieldName = identifierSB.toString();
- getCurrentScope().registerIdentifier(fieldName, decl);
-
- if (struct.hasField(fieldName)) {
- throw new ParseException("struct: duplicate field " //$NON-NLS-1$
- + fieldName);
- }
-
- struct.addField(fieldName, decl);
-
- }
- }
-
- /**
- * Parses an enum declaration and returns the corresponding declaration.
- *
- * @param theEnum
- * An ENUM node.
- * @return The corresponding enum declaration.
- * @throws ParseException
- */
- private EnumDeclaration parseEnum(CommonTree theEnum) throws ParseException {
-
- List<CommonTree> children = theEnum.getChildren();
-
- /* The return value */
- EnumDeclaration enumDeclaration = null;
-
- /* Name */
- String enumName = null;
-
- /* Body */
- CommonTree enumBody = null;
-
- /* Container type */
- IntegerDeclaration containerTypeDeclaration = null;
-
- /* Loop on all children and identify what we have to work with. */
- for (CommonTree child : children) {
- switch (child.getType()) {
- case CTFParser.ENUM_NAME: {
- CommonTree enumNameIdentifier = (CommonTree) child.getChild(0);
- enumName = enumNameIdentifier.getText();
- break;
- }
- case CTFParser.ENUM_BODY: {
- enumBody = child;
- break;
- }
- case CTFParser.ENUM_CONTAINER_TYPE: {
- containerTypeDeclaration = parseEnumContainerType(child);
- break;
- }
- default:
- childTypeError(child);
- break;
- }
- }
-
- /*
- * If the container type has not been defined explicitly, we assume it
- * is "int".
- */
- if (containerTypeDeclaration == null) {
- IDeclaration enumDecl;
- /*
- * it could be because the enum was already declared.
- */
- if (enumName != null) {
- enumDecl = getCurrentScope().lookupEnumRecursive(enumName);
- if (enumDecl != null) {
- return (EnumDeclaration) enumDecl;
- }
- }
-
- IDeclaration decl = getCurrentScope().lookupTypeRecursive("int"); //$NON-NLS-1$
-
- if (decl == null) {
- throw new ParseException("enum container type implicit and type int not defined"); //$NON-NLS-1$
- } else if (!(decl instanceof IntegerDeclaration)) {
- throw new ParseException("enum container type implicit and type int not an integer"); //$NON-NLS-1$
- }
-
- containerTypeDeclaration = (IntegerDeclaration) decl;
- }
-
- /*
- * If it has a body, it's a new declaration, otherwise it's a reference
- * to an existing declaration. Same logic as struct.
- */
- if (enumBody != null) {
- /*
- * If enum has a name, check if already defined in the current
- * scope.
- */
- if ((enumName != null)
- && (getCurrentScope().lookupEnum(enumName) != null)) {
- throw new ParseException("enum " + enumName //$NON-NLS-1$
- + " already defined"); //$NON-NLS-1$
- }
-
- /* Create the declaration */
- enumDeclaration = new EnumDeclaration(containerTypeDeclaration);
-
- /* Parse the body */
- parseEnumBody(enumBody, enumDeclaration);
-
- /* If the enum has name, add it to the current scope. */
- if (enumName != null) {
- getCurrentScope().registerEnum(enumName, enumDeclaration);
- }
- } else {
- if (enumName != null) {
- /* Name and !body */
-
- /* Lookup the name in the current scope. */
- enumDeclaration = getCurrentScope().lookupEnumRecursive(enumName);
-
- /*
- * If not found, it means that an enum with such name has not
- * been defined
- */
- if (enumDeclaration == null) {
- throw new ParseException("enum " + enumName //$NON-NLS-1$
- + " is not defined"); //$NON-NLS-1$
- }
- } else {
- /* !Name and !body */
- throw new ParseException("enum with no name and no body"); //$NON-NLS-1$
- }
- }
-
- return enumDeclaration;
-
- }
-
- /**
- * Parses an enum body, adding the enumerators to the specified enum
- * declaration.
- *
- * @param enumBody
- * An ENUM_BODY node.
- * @param enumDeclaration
- * The enum declaration.
- * @throws ParseException
- */
- private void parseEnumBody(CommonTree enumBody,
- EnumDeclaration enumDeclaration) throws ParseException {
-
- List<CommonTree> enumerators = enumBody.getChildren();
- /* enum body can't be empty (unlike struct). */
-
- pushScope();
-
- /*
- * Start at -1, so that if the first enumrator has no explicit value, it
- * will choose 0
- */
- long lastHigh = -1;
-
- for (CommonTree enumerator : enumerators) {
- lastHigh = parseEnumEnumerator(enumerator, enumDeclaration,
- lastHigh);
- }
-
- popScope();
-
- }
-
- /**
- * Parses an enumerator node and adds an enumerator declaration to an
- * enumeration declaration.
- *
- * The high value of the range of the last enumerator is needed in case the
- * current enumerator does not specify its value.
- *
- * @param enumerator
- * An ENUM_ENUMERATOR node.
- * @param enumDeclaration
- * en enumeration declaration to which will be added the
- * enumerator.
- * @param lastHigh
- * The high value of the range of the last enumerator
- * @return The high value of the value range of the current enumerator.
- * @throws ParseException
- */
- private static long parseEnumEnumerator(CommonTree enumerator,
- EnumDeclaration enumDeclaration, long lastHigh)
- throws ParseException {
-
- List<CommonTree> children = enumerator.getChildren();
-
- long low = 0, high = 0;
- boolean valueSpecified = false;
- String label = null;
-
- for (CommonTree child : children) {
- if (isAnyUnaryString(child)) {
- label = parseUnaryString(child);
- } else if (child.getType() == CTFParser.ENUM_VALUE) {
-
- valueSpecified = true;
-
- low = parseUnaryInteger((CommonTree) child.getChild(0));
- high = low;
- } else if (child.getType() == CTFParser.ENUM_VALUE_RANGE) {
-
- valueSpecified = true;
-
- low = parseUnaryInteger((CommonTree) child.getChild(0));
- high = parseUnaryInteger((CommonTree) child.getChild(1));
- } else {
- childTypeError(child);
- }
- }
-
- if (!valueSpecified) {
- low = lastHigh + 1;
- high = low;
- }
-
- if (low > high) {
- throw new ParseException("enum low value greater than high value"); //$NON-NLS-1$
- }
-
- if (!enumDeclaration.add(low, high, label)) {
- throw new ParseException("enum declarator values overlap."); //$NON-NLS-1$
- }
-
- if (valueSpecified && (BigInteger.valueOf(low).compareTo(enumDeclaration.getContainerType().getMinValue()) == -1 ||
- BigInteger.valueOf(high).compareTo(enumDeclaration.getContainerType().getMaxValue()) == 1)) {
- throw new ParseException("enum value is not in range"); //$NON-NLS-1$
- }
-
- return high;
- }
-
- /**
- * Parses an enum container type node and returns the corresponding integer
- * type.
- *
- * @param enumContainerType
- * An ENUM_CONTAINER_TYPE node.
- * @return An integer declaration corresponding to the container type.
- * @throws ParseException
- * If the type does not parse correctly or if it is not an
- * integer type.
- */
- private IntegerDeclaration parseEnumContainerType(
- CommonTree enumContainerType) throws ParseException {
-
- /* Get the child, which should be a type specifier list */
- CommonTree typeSpecifierList = (CommonTree) enumContainerType.getChild(0);
-
- /* Parse it and get the corresponding declaration */
- IDeclaration decl = parseTypeSpecifierList(typeSpecifierList, null);
-
- /* If is is an integer, return it, else throw an error */
- if (decl instanceof IntegerDeclaration) {
- return (IntegerDeclaration) decl;
- }
- throw new ParseException("enum container type must be an integer"); //$NON-NLS-1$
- }
-
- private VariantDeclaration parseVariant(CommonTree variant)
- throws ParseException {
-
- List<CommonTree> children = variant.getChildren();
- VariantDeclaration variantDeclaration = null;
-
- boolean hasName = false;
- String variantName = null;
-
- boolean hasBody = false;
- CommonTree variantBody = null;
-
- boolean hasTag = false;
- String variantTag = null;
-
- for (CommonTree child : children) {
- switch (child.getType()) {
- case CTFParser.VARIANT_NAME:
-
- hasName = true;
-
- CommonTree variantNameIdentifier = (CommonTree) child.getChild(0);
-
- variantName = variantNameIdentifier.getText();
-
- break;
- case CTFParser.VARIANT_TAG:
-
- hasTag = true;
-
- CommonTree variantTagIdentifier = (CommonTree) child.getChild(0);
-
- variantTag = variantTagIdentifier.getText();
-
- break;
- case CTFParser.VARIANT_BODY:
-
- hasBody = true;
-
- variantBody = child;
-
- break;
- default:
- childTypeError(child);
- break;
- }
- }
-
- if (hasBody) {
- /*
- * If variant has a name, check if already defined in the current
- * scope.
- */
- if (hasName
- && (getCurrentScope().lookupVariant(variantName) != null)) {
- throw new ParseException("variant " + variantName //$NON-NLS-1$
- + " already defined."); //$NON-NLS-1$
- }
-
- /* Create the declaration */
- variantDeclaration = new VariantDeclaration();
-
- /* Parse the body */
- parseVariantBody(variantBody, variantDeclaration);
-
- /* If variant has name, add it to the current scope. */
- if (hasName) {
- getCurrentScope().registerVariant(variantName,
- variantDeclaration);
- }
- } else /* !hasBody */{
- if (hasName) {
- /* Name and !body */
-
- /* Lookup the name in the current scope. */
- variantDeclaration = getCurrentScope().lookupVariantRecursive(
- variantName);
-
- /*
- * If not found, it means that a struct with such name has not
- * been defined
- */
- if (variantDeclaration == null) {
- throw new ParseException("variant " + variantName //$NON-NLS-1$
- + " is not defined"); //$NON-NLS-1$
- }
- } else {
- /* !Name and !body */
-
- /* We can't do anything with that. */
- throw new ParseException("variant with no name and no body"); //$NON-NLS-1$
- }
- }
-
- if (hasTag) {
- variantDeclaration.setTag(variantTag);
-
- IDeclaration decl = getCurrentScope().lookupIdentifierRecursive(variantTag);
- if (decl == null) {
- throw new ParseException("Variant tag not found: " + variantTag); //$NON-NLS-1$
- }
- if (!(decl instanceof EnumDeclaration)) {
- throw new ParseException("Variant tag must be an enum: " + variantTag); //$NON-NLS-1$
- }
- EnumDeclaration tagDecl = (EnumDeclaration) decl;
- Set<String> intersection = new HashSet<>(tagDecl.getLabels());
- intersection.retainAll(variantDeclaration.getFields().keySet());
- if (intersection.isEmpty()) {
- throw new ParseException("Variant contains no values of the tag, impossible to use: " + variantName); //$NON-NLS-1$
- }
- }
-
- return variantDeclaration;
- }
-
- private void parseVariantBody(CommonTree variantBody,
- VariantDeclaration variantDeclaration) throws ParseException {
-
- List<CommonTree> variantDeclarations = variantBody.getChildren();
-
- pushScope();
-
- for (CommonTree declarationNode : variantDeclarations) {
- switch (declarationNode.getType()) {
- case CTFParser.TYPEALIAS:
- parseTypealias(declarationNode);
- break;
- case CTFParser.TYPEDEF:
- parseTypedef(declarationNode);
- break;
- case CTFParser.SV_DECLARATION:
- parseVariantDeclaration(declarationNode, variantDeclaration);
- break;
- default:
- childTypeError(declarationNode);
- break;
- }
- }
-
- popScope();
- }
-
- private void parseVariantDeclaration(CommonTree declaration,
- VariantDeclaration variant) throws ParseException {
-
- /* Get the type specifier list node */
- CommonTree typeSpecifierListNode = (CommonTree) declaration.getFirstChildWithType(CTFParser.TYPE_SPECIFIER_LIST);
-
- /* Get the type declarator list node */
- CommonTree typeDeclaratorListNode = (CommonTree) declaration.getFirstChildWithType(CTFParser.TYPE_DECLARATOR_LIST);
-
- /* Get the type declarator list */
- List<CommonTree> typeDeclaratorList = typeDeclaratorListNode.getChildren();
-
- /*
- * For each type declarator, parse the declaration and add a field to
- * the variant
- */
- for (CommonTree typeDeclaratorNode : typeDeclaratorList) {
-
- StringBuilder identifierSB = new StringBuilder();
-
- IDeclaration decl = parseTypeDeclarator(typeDeclaratorNode,
- typeSpecifierListNode, identifierSB);
-
- String name = identifierSB.toString();
-
- if (variant.hasField(name)) {
- throw new ParseException("variant: duplicate field " //$NON-NLS-1$
- + name);
- }
-
- getCurrentScope().registerIdentifier(name, decl);
-
- variant.addField(name, decl);
- }
- }
-
- /**
- * Creates the string representation of a type declaration (type specifier
- * list + pointers).
- *
- * @param typeSpecifierList
- * A TYPE_SPECIFIER_LIST node.
- * @param pointers
- * A list of POINTER nodes.
- * @return The string representation.
- * @throws ParseException
- */
- private static String createTypeDeclarationString(
- CommonTree typeSpecifierList, List<CommonTree> pointers)
- throws ParseException {
- StringBuilder sb = new StringBuilder();
-
- createTypeSpecifierListString(typeSpecifierList, sb);
- createPointerListString(pointers, sb);
-
- return sb.toString();
- }
-
- /**
- * Creates the string representation of a list of type specifiers.
- *
- * @param typeSpecifierList
- * A TYPE_SPECIFIER_LIST node.
- * @param sb
- * A StringBuilder to which will be appended the string.
- * @throws ParseException
- */
- private static void createTypeSpecifierListString(
- CommonTree typeSpecifierList, StringBuilder sb)
- throws ParseException {
-
- List<CommonTree> children = typeSpecifierList.getChildren();
-
- boolean firstItem = true;
-
- for (CommonTree child : children) {
- if (!firstItem) {
- sb.append(' ');
-
- }
-
- firstItem = false;
-
- /* Append the string that represents this type specifier. */
- createTypeSpecifierString(child, sb);
- }
- }
-
- /**
- * Creates the string representation of a type specifier.
- *
- * @param typeSpecifier
- * A TYPE_SPECIFIER node.
- * @param sb
- * A StringBuilder to which will be appended the string.
- * @throws ParseException
- */
- private static void createTypeSpecifierString(CommonTree typeSpecifier,
- StringBuilder sb) throws ParseException {
- switch (typeSpecifier.getType()) {
- case CTFParser.FLOATTOK:
- case CTFParser.INTTOK:
- case CTFParser.LONGTOK:
- case CTFParser.SHORTTOK:
- case CTFParser.SIGNEDTOK:
- case CTFParser.UNSIGNEDTOK:
- case CTFParser.CHARTOK:
- case CTFParser.DOUBLETOK:
- case CTFParser.VOIDTOK:
- case CTFParser.BOOLTOK:
- case CTFParser.COMPLEXTOK:
- case CTFParser.IMAGINARYTOK:
- case CTFParser.CONSTTOK:
- case CTFParser.IDENTIFIER:
- sb.append(typeSpecifier.getText());
- break;
- case CTFParser.STRUCT: {
- CommonTree structName = (CommonTree) typeSpecifier.getFirstChildWithType(CTFParser.STRUCT_NAME);
- if (structName == null) {
- throw new ParseException("nameless struct found in createTypeSpecifierString"); //$NON-NLS-1$
- }
-
- CommonTree structNameIdentifier = (CommonTree) structName.getChild(0);
-
- sb.append(structNameIdentifier.getText());
- break;
- }
- case CTFParser.VARIANT: {
- CommonTree variantName = (CommonTree) typeSpecifier.getFirstChildWithType(CTFParser.VARIANT_NAME);
- if (variantName == null) {
- throw new ParseException("nameless variant found in createTypeSpecifierString"); //$NON-NLS-1$
- }
-
- CommonTree variantNameIdentifier = (CommonTree) variantName.getChild(0);
-
- sb.append(variantNameIdentifier.getText());
- break;
- }
- case CTFParser.ENUM: {
- CommonTree enumName = (CommonTree) typeSpecifier.getFirstChildWithType(CTFParser.ENUM_NAME);
- if (enumName == null) {
- throw new ParseException("nameless enum found in createTypeSpecifierString"); //$NON-NLS-1$
- }
-
- CommonTree enumNameIdentifier = (CommonTree) enumName.getChild(0);
-
- sb.append(enumNameIdentifier.getText());
- break;
- }
- case CTFParser.FLOATING_POINT:
- case CTFParser.INTEGER:
- case CTFParser.STRING:
- throw new ParseException("CTF type found in createTypeSpecifierString"); //$NON-NLS-1$
- default:
- childTypeError(typeSpecifier);
- break;
- }
- }
-
- /**
- * Creates the string representation of a list of pointers.
- *
- * @param pointerList
- * A list of pointer nodes. If pointerList is null, this function
- * does nothing.
- * @param sb
- * A stringbuilder to which will be appended the string.
- */
- private static void createPointerListString(List<CommonTree> pointerList,
- StringBuilder sb) {
- if (pointerList == null) {
- return;
- }
-
- for (CommonTree pointer : pointerList) {
-
- sb.append(" *"); //$NON-NLS-1$
- if (pointer.getChildCount() > 0) {
-
- sb.append(" const"); //$NON-NLS-1$
- }
- }
- }
-
- /**
- * @param node
- * The node to check.
- * @return True if the given node is an unary string.
- */
- private static boolean isUnaryString(CommonTree node) {
- return ((node.getType() == CTFParser.UNARY_EXPRESSION_STRING));
- }
-
- /**
- * @param node
- * The node to check.
- * @return True if the given node is any type of unary string (no quotes,
- * quotes, etc).
- */
- private static boolean isAnyUnaryString(CommonTree node) {
- return ((node.getType() == CTFParser.UNARY_EXPRESSION_STRING) || (node.getType() == CTFParser.UNARY_EXPRESSION_STRING_QUOTES));
- }
-
- /**
- * @param node
- * The node to check.
- * @return True if the given node is an unary integer.
- */
- private static boolean isUnaryInteger(CommonTree node) {
- return ((node.getType() == CTFParser.UNARY_EXPRESSION_DEC) ||
- (node.getType() == CTFParser.UNARY_EXPRESSION_HEX) || (node.getType() == CTFParser.UNARY_EXPRESSION_OCT));
- }
-
- /**
- * Parses a unary string node and return the string value.
- *
- * @param unaryString
- * The unary string node to parse (type UNARY_EXPRESSION_STRING
- * or UNARY_EXPRESSION_STRING_QUOTES).
- * @return The string value.
- */
- /*
- * It would be really nice to remove the quotes earlier, such as in the
- * parser.
- */
- private static String parseUnaryString(CommonTree unaryString) {
-
- CommonTree value = (CommonTree) unaryString.getChild(0);
- String strval = value.getText();
-
- /* Remove quotes */
- if (unaryString.getType() == CTFParser.UNARY_EXPRESSION_STRING_QUOTES) {
- strval = strval.substring(1, strval.length() - 1);
- }
-
- return strval;
- }
-
- /**
- * Parses an unary integer (dec, hex or oct).
- *
- * @param unaryInteger
- * An unary integer node.
- * @return The integer value.
- * @throws ParseException
- * on an invalid integer format ("bob" for example)
- */
- private static long parseUnaryInteger(CommonTree unaryInteger) throws ParseException {
-
- List<CommonTree> children = unaryInteger.getChildren();
- CommonTree value = children.get(0);
- String strval = value.getText();
-
- long intval;
- try {
- intval = Long.decode(strval);
- } catch (NumberFormatException e) {
- throw new ParseException("Invalid integer format: " + strval, e); //$NON-NLS-1$
- }
-
- /* The rest of children are sign */
- if ((children.size() % 2) == 0) {
- return -intval;
- }
- return intval;
- }
-
- private static long getMajorOrMinor(CommonTree rightNode)
- throws ParseException {
-
- CommonTree firstChild = (CommonTree) rightNode.getChild(0);
-
- if (isUnaryInteger(firstChild)) {
- if (rightNode.getChildCount() > 1) {
- throw new ParseException("Invalid value for major/minor"); //$NON-NLS-1$
- }
-
- long m = parseUnaryInteger(firstChild);
-
- if (m < 0) {
- throw new ParseException("Invalid value for major/minor"); //$NON-NLS-1$
- }
-
- return m;
- }
- throw new ParseException("Invalid value for major/minor"); //$NON-NLS-1$
- }
-
- private static UUID getUUID(CommonTree rightNode) throws ParseException {
-
- CommonTree firstChild = (CommonTree) rightNode.getChild(0);
-
- if (isAnyUnaryString(firstChild)) {
- if (rightNode.getChildCount() > 1) {
- throw new ParseException("Invalid value for UUID"); //$NON-NLS-1$
- }
-
- String uuidstr = parseUnaryString(firstChild);
-
- try {
- return UUID.fromString(uuidstr);
- } catch (IllegalArgumentException e) {
- throw new ParseException("Invalid format for UUID", e); //$NON-NLS-1$
- }
- }
- throw new ParseException("Invalid value for UUID"); //$NON-NLS-1$
- }
-
- /**
- * Gets the value of a "signed" integer attribute.
- *
- * @param rightNode
- * A CTF_RIGHT node.
- * @return The "signed" value as a boolean.
- * @throws ParseException
- */
- private static boolean getSigned(CommonTree rightNode)
- throws ParseException {
-
- boolean ret = false;
- CommonTree firstChild = (CommonTree) rightNode.getChild(0);
-
- if (isUnaryString(firstChild)) {
- String strval = concatenateUnaryStrings(rightNode.getChildren());
-
- if (strval.equals(MetadataStrings.TRUE)
- || strval.equals(MetadataStrings.TRUE2)) {
- ret = true;
- } else if (strval.equals(MetadataStrings.FALSE)
- || strval.equals(MetadataStrings.FALSE2)) {
- ret = false;
- } else {
- throw new ParseException("Invalid boolean value " //$NON-NLS-1$
- + firstChild.getChild(0).getText());
- }
- } else if (isUnaryInteger(firstChild)) {
- /* Happens if the value is something like "1234.hello" */
- if (rightNode.getChildCount() > 1) {
- throw new ParseException("Invalid boolean value"); //$NON-NLS-1$
- }
-
- long intval = parseUnaryInteger(firstChild);
-
- if (intval == 1) {
- ret = true;
- } else if (intval == 0) {
- ret = false;
- } else {
- throw new ParseException("Invalid boolean value " //$NON-NLS-1$
- + firstChild.getChild(0).getText());
- }
- } else {
- throw new ParseException();
- }
-
- return ret;
- }
-
- /**
- * Gets the value of a "byte_order" integer attribute.
- *
- * @param rightNode
- * A CTF_RIGHT node.
- * @return The "byte_order" value.
- * @throws ParseException
- */
- private ByteOrder getByteOrder(CommonTree rightNode) throws ParseException {
-
- CommonTree firstChild = (CommonTree) rightNode.getChild(0);
-
- if (isUnaryString(firstChild)) {
- String strval = concatenateUnaryStrings(rightNode.getChildren());
-
- if (strval.equals(MetadataStrings.LE)) {
- return ByteOrder.LITTLE_ENDIAN;
- } else if (strval.equals(MetadataStrings.BE)
- || strval.equals(MetadataStrings.NETWORK)) {
- return ByteOrder.BIG_ENDIAN;
- } else if (strval.equals(MetadataStrings.NATIVE)) {
- return fTrace.getByteOrder();
- } else {
- throw new ParseException("Invalid value for byte order"); //$NON-NLS-1$
- }
- }
- throw new ParseException("Invalid value for byte order"); //$NON-NLS-1$
- }
-
- /**
- * Determines if the given value is a valid alignment value.
- *
- * @param alignment
- * The value to check.
- * @return True if it is valid.
- */
- private static boolean isValidAlignment(long alignment) {
- return !((alignment <= 0) || ((alignment & (alignment - 1)) != 0));
- }
-
- /**
- * Gets the value of a "size" integer attribute.
- *
- * @param rightNode
- * A CTF_RIGHT node.
- * @return The "size" value.
- * @throws ParseException
- */
- private static long getSize(CommonTree rightNode) throws ParseException {
-
- CommonTree firstChild = (CommonTree) rightNode.getChild(0);
-
- if (isUnaryInteger(firstChild)) {
- if (rightNode.getChildCount() > 1) {
- throw new ParseException("Invalid value for size"); //$NON-NLS-1$
- }
-
- long size = parseUnaryInteger(firstChild);
-
- if (size < 1) {
- throw new ParseException("Invalid value for size"); //$NON-NLS-1$
- }
-
- return size;
- }
- throw new ParseException("Invalid value for size"); //$NON-NLS-1$
- }
-
- /**
- * Gets the value of a "align" integer or struct attribute.
- *
- * @param node
- * A CTF_RIGHT node or directly an unary integer.
- * @return The align value.
- * @throws ParseException
- */
- private static long getAlignment(CommonTree node) throws ParseException {
-
- /*
- * If a CTF_RIGHT node was passed, call getAlignment with the first
- * child
- */
- if (node.getType() == CTFParser.CTF_RIGHT) {
- if (node.getChildCount() > 1) {
- throw new ParseException("Invalid alignment value"); //$NON-NLS-1$
- }
-
- return getAlignment((CommonTree) node.getChild(0));
- } else if (isUnaryInteger(node)) {
- long alignment = parseUnaryInteger(node);
-
- if (!isValidAlignment(alignment)) {
- throw new ParseException("Invalid value for alignment : " //$NON-NLS-1$
- + alignment);
- }
-
- return alignment;
- }
- throw new ParseException("Invalid value for alignment"); //$NON-NLS-1$
- }
-
- /**
- * Gets the value of a "base" integer attribute.
- *
- * @param rightNode
- * An CTF_RIGHT node.
- * @return The "base" value.
- * @throws ParseException
- */
- private static int getBase(CommonTree rightNode) throws ParseException {
-
- CommonTree firstChild = (CommonTree) rightNode.getChild(0);
-
- if (isUnaryInteger(firstChild)) {
- if (rightNode.getChildCount() > 1) {
- throw new ParseException("invalid base value"); //$NON-NLS-1$
- }
-
- long intval = parseUnaryInteger(firstChild);
- if ((intval == INTEGER_BASE_2) || (intval == INTEGER_BASE_8) || (intval == INTEGER_BASE_10)
- || (intval == INTEGER_BASE_16)) {
- return (int) intval;
- }
- throw new ParseException("Invalid value for base"); //$NON-NLS-1$
- } else if (isUnaryString(firstChild)) {
- String strval = concatenateUnaryStrings(rightNode.getChildren());
-
- if (strval.equals(MetadataStrings.DECIMAL)
- || strval.equals(MetadataStrings.DEC)
- || strval.equals(MetadataStrings.DEC_CTE)
- || strval.equals(MetadataStrings.INT_MOD)
- || strval.equals(MetadataStrings.UNSIGNED_CTE)) {
- return INTEGER_BASE_10;
- } else if (strval.equals(MetadataStrings.HEXADECIMAL)
- || strval.equals(MetadataStrings.HEX)
- || strval.equals(MetadataStrings.X)
- || strval.equals(MetadataStrings.X2)
- || strval.equals(MetadataStrings.POINTER)) {
- return INTEGER_BASE_16;
- } else if (strval.equals(MetadataStrings.OCTAL)
- || strval.equals(MetadataStrings.OCT)
- || strval.equals(MetadataStrings.OCTAL_CTE)) {
- return INTEGER_BASE_8;
- } else if (strval.equals(MetadataStrings.BINARY)
- || strval.equals(MetadataStrings.BIN)) {
- return INTEGER_BASE_2;
- } else {
- throw new ParseException("Invalid value for base"); //$NON-NLS-1$
- }
- } else {
- throw new ParseException("invalid value for base"); //$NON-NLS-1$
- }
- }
-
- /**
- * Gets the value of an "encoding" integer attribute.
- *
- * @param rightNode
- * A CTF_RIGHT node.
- * @return The "encoding" value.
- * @throws ParseException
- */
- @NonNull
- private static Encoding getEncoding(CommonTree rightNode)
- throws ParseException {
-
- CommonTree firstChild = (CommonTree) rightNode.getChild(0);
-
- if (isUnaryString(firstChild)) {
- String strval = concatenateUnaryStrings(rightNode.getChildren());
-
- if (strval.equals(MetadataStrings.UTF8)) {
- return Encoding.UTF8;
- } else if (strval.equals(MetadataStrings.ASCII)) {
- return Encoding.ASCII;
- } else if (strval.equals(MetadataStrings.NONE)) {
- return Encoding.NONE;
- } else {
- throw new ParseException("Invalid value for encoding"); //$NON-NLS-1$
- }
- }
- throw new ParseException("Invalid value for encoding"); //$NON-NLS-1$
- }
-
- private static long getStreamID(CommonTree rightNode) throws ParseException {
-
- CommonTree firstChild = (CommonTree) rightNode.getChild(0);
-
- if (isUnaryInteger(firstChild)) {
- if (rightNode.getChildCount() > 1) {
- throw new ParseException("invalid value for stream id"); //$NON-NLS-1$
- }
-
- long intval = parseUnaryInteger(firstChild);
-
- return intval;
- }
- throw new ParseException("invalid value for stream id"); //$NON-NLS-1$
- }
-
- private static String getEventName(CommonTree rightNode)
- throws ParseException {
-
- CommonTree firstChild = (CommonTree) rightNode.getChild(0);
-
- if (isAnyUnaryString(firstChild)) {
- String str = concatenateUnaryStrings(rightNode.getChildren());
-
- return str;
- }
- throw new ParseException("invalid value for event name"); //$NON-NLS-1$
- }
-
- private static long getEventID(CommonTree rightNode) throws ParseException {
-
- CommonTree firstChild = (CommonTree) rightNode.getChild(0);
-
- if (isUnaryInteger(firstChild)) {
- if (rightNode.getChildCount() > 1) {
- throw new ParseException("invalid value for event id"); //$NON-NLS-1$
- }
-
- long intval = parseUnaryInteger(firstChild);
- if (intval > Integer.MAX_VALUE) {
- throw new ParseException("Event id larger than int.maxvalue, something is amiss"); //$NON-NLS-1$
- }
- return intval;
- }
- throw new ParseException("invalid value for event id"); //$NON-NLS-1$
- }
-
- /**
- * Concatenates a list of unary strings separated by arrows (->) or dots.
- *
- * @param strings
- * A list, first element being an unary string, subsequent
- * elements being ARROW or DOT nodes with unary strings as child.
- * @return The string representation of the unary string chain.
- */
- private static String concatenateUnaryStrings(List<CommonTree> strings) {
-
- StringBuilder sb = new StringBuilder();
-
- CommonTree first = strings.get(0);
- sb.append(parseUnaryString(first));
-
- boolean isFirst = true;
-
- for (CommonTree ref : strings) {
- if (isFirst) {
- isFirst = false;
- continue;
- }
-
- CommonTree id = (CommonTree) ref.getChild(0);
-
- if (ref.getType() == CTFParser.ARROW) {
- sb.append("->"); //$NON-NLS-1$
- } else { /* DOT */
- sb.append('.');
- }
-
- sb.append(parseUnaryString(id));
- }
-
- return sb.toString();
- }
-
- /**
- * Throws a ParseException stating that the parent-child relation between
- * the given node and its parent is not valid. It means that the shape of
- * the AST is unexpected.
- *
- * @param child
- * The invalid child node.
- * @throws ParseException
- */
- private static void childTypeError(CommonTree child) throws ParseException {
- CommonTree parent = (CommonTree) child.getParent();
- String error = "Parent " + CTFParser.tokenNames[parent.getType()] //$NON-NLS-1$
- + " can't have a child of type " //$NON-NLS-1$
- + CTFParser.tokenNames[child.getType()] + "."; //$NON-NLS-1$
-
- throw new ParseException(error);
- }
-
- // ------------------------------------------------------------------------
- // Scope management
- // ------------------------------------------------------------------------
-
- /**
- * Adds a new declaration scope on the top of the scope stack.
- */
- private void pushScope() {
- fScope = new DeclarationScope(fScope);
- }
-
- /**
- * Removes the top declaration scope from the scope stack.
- */
- private void popScope() {
- fScope = fScope.getParentScope();
- }
-
- /**
- * Returns the current declaration scope.
- *
- * @return The current declaration scope.
- */
- private DeclarationScope getCurrentScope() {
- return fScope;
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/internal/ctf/core/event/metadata/Messages.java b/lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/internal/ctf/core/event/metadata/Messages.java
deleted file mode 100644
index b8ace5b587..0000000000
--- a/lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/internal/ctf/core/event/metadata/Messages.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 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:
- * Marc-Andre Laperle - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.internal.ctf.core.event.metadata;
-
-import org.eclipse.osgi.util.NLS;
-
-@SuppressWarnings("javadoc")
-public class Messages extends NLS {
-
- private static final String BUNDLE_NAME = "org.eclipse.linuxtools.internal.ctf.core.event.metadata.messages"; //$NON-NLS-1$
-
- public static String IOStructGen_UnknownTraceAttributeWarning;
- public static String IOStructGen_UnknownStreamAttributeWarning;
- public static String IOStructGen_UnknownIntegerAttributeWarning;
-
- static {
- // initialize resource bundle
- NLS.initializeMessages(BUNDLE_NAME, Messages.class);
- }
-
- private Messages() {
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/internal/ctf/core/event/metadata/MetadataStrings.java b/lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/internal/ctf/core/event/metadata/MetadataStrings.java
deleted file mode 100644
index b321f4cb42..0000000000
--- a/lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/internal/ctf/core/event/metadata/MetadataStrings.java
+++ /dev/null
@@ -1,111 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011, 2013 Ericsson, Ecole Polytechnique de Montreal and others
- *
- * 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: Matthew Khouzam - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.internal.ctf.core.event.metadata;
-
-/**
- * Strings generated from the TSDL grammar. Note that they are static final so
- * they get quarked. See CTF specs for more details
- *
- * @author Matthew Khouzam and All
- */
-@SuppressWarnings("nls")
-public interface MetadataStrings {
-
- /** None */
-
- static final String NONE = "none";
- /** Ascii */
- static final String ASCII = "ASCII";
- /** UTF8 */
- static final String UTF8 = "UTF8";
- /** b (for binary like b11010010 */
- static final String BIN = "b";
- /** Binary */
- static final String BINARY = "binary";
- /** Octal like o177 */
- static final String OCTAL_CTE = "o";
- /** Octal like oct177 */
- static final String OCT = "oct";
- /** Octal like octal177 */
- static final String OCTAL = "octal";
- /** Pointer (memory address for all the hardcore Java gurus out there)*/
- static final String POINTER = "p";
- /** X for hex */
- static final String X2 = "X";
- /** x for hex */
- static final String X = "x";
- /** hex */
- static final String HEX = "hex";
- /** Hexadecimal */
- static final String HEXADECIMAL = "hexadecimal";
- /** unsigned like in 10000ul */
- static final String UNSIGNED_CTE = "u";
- /** Decimal */
- static final String DEC_CTE = "d";
- /** Integer like 1000i */
- static final String INT_MOD = "i";
- /** Decimal */
- static final String DEC = "dec";
- /** Decimal */
- static final String DECIMAL = "decimal";
- /** native for byteorders*/
- static final String NATIVE = "native";
- /** network for byteorders*/
- static final String NETWORK = "network";
- /** Big endian */
- static final String BE = "be";
- /** Little endian */
- static final String LE = "le";
- /** Alignment of a field */
- static final String ALIGN = "align";
- /** Mantissa digits */
- static final String MANT_DIG = "mant_dig";
- /** Exponent digits */
- static final String EXP_DIG = "exp_dig";
- /** Loglevel */
- static final String LOGLEVEL2 = "loglevel";
- /** Name */
- static final String NAME2 = "name";
- /** Event context */
- static final String EVENT_CONTEXT = "event.context";
- /** Fields */
- static final String FIELDS_STRING = "fields";
- /** context */
- static final String CONTEXT = "context";
- /** Stream ID */
- static final String STREAM_ID = "stream_id";
- /** Packet context */
- static final String PACKET_CONTEXT = "packet.context";
- /** ID */
- static final String ID = "id";
- /** Packet Header */
- static final String PACKET_HEADER = "packet.header";
- /** Event Header */
- static final String EVENT_HEADER = "event.header";
- /** Byte order */
- static final String BYTE_ORDER = "byte_order";
- /** UUID */
- static final String UUID_STRING = "uuid";
- /** False */
- static final String FALSE2 = "FALSE";
- /** False */
- static final String FALSE = "false";
- /** True */
- static final String TRUE2 = "TRUE";
- /** True */
- static final String TRUE = "true";
- /** Minor (Version)*/
- static final String MINOR = "minor";
- /** Major (Version)*/
- static final String MAJOR = "major";
-
-}
diff --git a/lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/internal/ctf/core/event/metadata/exceptions/CtfAntlrException.java b/lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/internal/ctf/core/event/metadata/exceptions/CtfAntlrException.java
deleted file mode 100644
index dadac914d5..0000000000
--- a/lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/internal/ctf/core/event/metadata/exceptions/CtfAntlrException.java
+++ /dev/null
@@ -1,129 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013, 2014 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:
- * Alexandre Montplaisir - Initial API and implementation
- * Matthew Khouzam - Addition to have more descriptive errors
- *******************************************************************************/
-
-package org.eclipse.linuxtools.internal.ctf.core.event.metadata.exceptions;
-
-import java.lang.reflect.Field;
-
-import org.antlr.runtime.MismatchedTokenException;
-import org.antlr.runtime.RecognitionException;
-import org.eclipse.linuxtools.ctf.core.trace.CTFReaderException;
-import org.eclipse.linuxtools.ctf.parser.CTFLexer;
-
-/**
- * CTF Reader exception but dealing with Antlr-specific parsing problems.
- *
- * It is separated from the main {@link CTFReaderException} - and is not part of
- * the API - to isolate the Antlr-specific classes and avoid pushing that
- * dependency to the users of this plugin.
- *
- * @author Matthew Khouzam
- */
-public class CtfAntlrException extends CTFReaderException {
-
- private static final long serialVersionUID = -7078624493350073777L;
-
- private int fErrorLine = -1;
- private String fFile = ""; //$NON-NLS-1$
- private String fExpectingName = ""; //$NON-NLS-1$
- private int fExpectedValue = -1;
- private String fActualName = ""; //$NON-NLS-1$
- private int fActualValue = -1;
-
- /**
- * Re-throw the exception but read its data
- *
- * @param e
- * the previous recognition exception (Antlr specific)
- */
- public CtfAntlrException(RecognitionException e) {
- super(e);
- this.fErrorLine = e.line;
- this.fFile = "metadata"; //$NON-NLS-1$ // we're in CTF, the only thing using antlr is metadata
- }
-
- /**
- * Re-throw the exception but read its data
- *
- * @param e
- * the previous recognition exception (Antlr specific)
- */
- public CtfAntlrException(MismatchedTokenException e) {
- super(e);
- this.fErrorLine = e.line;
- this.fFile = "metadata"; //$NON-NLS-1$ // we're in CTF, the only thing using antlr is metadata
- parseMismatchedException(e);
- }
-
- /**
- * Re-throw the exception but read its data
- *
- * @param e
- * the previous rewrite exception (Antlr specific)
- */
- public CtfAntlrException(Exception e) {
- super(e);
- this.fErrorLine = -1;
- this.fFile = "metadata"; //$NON-NLS-1$ // we're in CTF, the only thing using antlr is metadata
- }
-
- private void parseMismatchedException(MismatchedTokenException m) {
- // Iterate through the tokens that are hidden in the CTFLexer
- // They are private static final int fields.
- for (Field f : CTFLexer.class.getDeclaredFields()) {
- f.setAccessible(true);
- String name;
- int value;
- try {
- name = f.getName();
- final boolean isInt = (f.getType().isPrimitive());
- if (isInt) {
- value = ((Integer) f.get(null)).intValue();
- if (value == m.expecting) {
- this.fExpectingName = name;
- this.fExpectedValue = value;
- }
- if (value == m.c) {
- this.fActualName = name;
- this.fActualValue = value;
- }
- }
- } catch (NullPointerException e1) {
- // Pokemon, gotta catch em all!
- // actually useful since f may not have a
- // value
- } catch (IllegalArgumentException e1) {
- // Catch these exceptions (reflexion)
- } catch (IllegalAccessException e1) {
- // Catch these exceptions (reflexion)
- }
- if (!this.fExpectingName.isEmpty() && !this.fActualName.isEmpty()) {
- return;
- }
- }
- }
-
- @Override
- public String getMessage() {
- final String message = super.getMessage();
- if (fErrorLine == -1) {
- return message;
- }
- String expected = "" + this.fExpectedValue; //$NON-NLS-1$
- String actual = "" + this.fActualValue; //$NON-NLS-1$
- String newMessage = message.replaceAll(expected, this.fExpectingName);
- newMessage = newMessage.replaceAll(actual, this.fActualName);
- return newMessage + " at " + fFile + ":" + fErrorLine; //$NON-NLS-1$ //$NON-NLS-2$
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/internal/ctf/core/event/metadata/exceptions/ParseException.java b/lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/internal/ctf/core/event/metadata/exceptions/ParseException.java
deleted file mode 100644
index 21ba83cdd6..0000000000
--- a/lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/internal/ctf/core/event/metadata/exceptions/ParseException.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011, 2013 Ericsson, Ecole Polytechnique de Montreal and others
- *
- * 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: Matthew Khouzam - Initial API and implementation
- * Contributors: Simon Marchi - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.internal.ctf.core.event.metadata.exceptions;
-
-
-/**
- * <b><u>ParseException</u></b>
- */
-public class ParseException extends Exception {
-
- private static final long serialVersionUID = 7901917601459652080L;
-
- /**
- * Empty constructor
- */
- public ParseException() {
- super();
- }
-
- /**
- * Constructor
- *
- * @param message to be sent to logs
- */
- public ParseException(String message) {
- super(message);
- }
-
- /**
- * Copy constructor
- * @param e the exception to throw
- */
- public ParseException(Exception e) {
- super(e);
- }
-
- /**
- * Constructs a new exception with the specified detail message and
- * cause. <p>Note that the detail message associated with
- * {@code cause} is <i>not</i> automatically incorporated in
- * this exception's detail message.
- *
- * @param message the detail message (which is saved for later retrieval
- * by the {@link #getMessage()} method).
- * @param cause the cause (which is saved for later retrieval by the
- * {@link #getCause()} method). (A <tt>null</tt> value is
- * permitted, and indicates that the cause is nonexistent or
- * unknown.)
- */
- public ParseException(String message, Exception cause) {
- super(message, cause);
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/internal/ctf/core/event/metadata/messages.properties b/lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/internal/ctf/core/event/metadata/messages.properties
deleted file mode 100644
index cfb4f52f22..0000000000
--- a/lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/internal/ctf/core/event/metadata/messages.properties
+++ /dev/null
@@ -1,17 +0,0 @@
-###############################################################################
-# Copyright (c) 2013 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:
-# Marc-Andre Laperle - Initial API and implementation
-# Alexandre Montplaisir - Added strings from DeclarationScope
-###############################################################################
-
-#IOStructGen
-IOStructGen_UnknownTraceAttributeWarning=Unknown trace attribute:
-IOStructGen_UnknownStreamAttributeWarning=Unknown stream attribute:
-IOStructGen_UnknownIntegerAttributeWarning=Unknown integer attribute:
diff --git a/lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/internal/ctf/core/event/types/ArrayDeclaration.java b/lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/internal/ctf/core/event/types/ArrayDeclaration.java
deleted file mode 100644
index 8979f609d7..0000000000
--- a/lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/internal/ctf/core/event/types/ArrayDeclaration.java
+++ /dev/null
@@ -1,147 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 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:
- * Matthew Khouzam - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.internal.ctf.core.event.types;
-
-import java.util.List;
-
-import org.eclipse.jdt.annotation.NonNull;
-import org.eclipse.linuxtools.ctf.core.event.io.BitBuffer;
-import org.eclipse.linuxtools.ctf.core.event.scope.IDefinitionScope;
-import org.eclipse.linuxtools.ctf.core.event.types.AbstractArrayDefinition;
-import org.eclipse.linuxtools.ctf.core.event.types.CompoundDeclaration;
-import org.eclipse.linuxtools.ctf.core.event.types.Definition;
-import org.eclipse.linuxtools.ctf.core.event.types.IDeclaration;
-import org.eclipse.linuxtools.ctf.core.trace.CTFReaderException;
-
-import com.google.common.collect.ArrayListMultimap;
-import com.google.common.collect.ImmutableList;
-import com.google.common.collect.ImmutableList.Builder;
-
-/**
- * A CTF array declaration
- *
- * Arrays are fixed-length. Their length is declared in the type declaration
- * within the meta-data. They contain an array of "inner type" elements, which
- * can refer to any type not containing the type of the array being declared (no
- * circular dependency). The length is the number of elements in an array.
- *
- * @author Matthew Khouzam
- * @since 3.1
- */
-public final class ArrayDeclaration extends CompoundDeclaration {
-
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
-
- private final int fLength;
- private final IDeclaration fElemType;
-
- /**
- * <pre>
- * Cache where we can pre-generate the children names
- * Key&colon; parent name
- * Value&colon; children names
- * ex: field &#8594; &lbrace;field&lbrack;0&rbrack;, field&lbrack;1&rbrack;, &hellip; field&lbrack;n&rbrack;&rbrace;
- * </pre>
- *
- * TODO: investigate performance
- */
- private final ArrayListMultimap<String, String> fChildrenNames = ArrayListMultimap.create();
-
- // ------------------------------------------------------------------------
- // Constructors
- // ------------------------------------------------------------------------
-
- /**
- * Constructor
- *
- * @param length
- * how many elements in the array
- * @param elemType
- * what type of element is in the array
- */
- public ArrayDeclaration(int length, IDeclaration elemType) {
- fLength = length;
- fElemType = elemType;
- }
-
- // ------------------------------------------------------------------------
- // Getters/Setters/Predicates
- // ------------------------------------------------------------------------
-
- @Override
- public IDeclaration getElementType() {
- return fElemType;
- }
-
- /**
- * Get the length of the array
- *
- * @return the length of the array
- */
- public int getLength() {
- return fLength;
- }
-
- // ------------------------------------------------------------------------
- // Operations
- // ------------------------------------------------------------------------
-
- @Override
- public AbstractArrayDefinition createDefinition(IDefinitionScope definitionScope,
- @NonNull String fieldName, BitBuffer input) throws CTFReaderException {
- alignRead(input);
- if (isString()) {
- byte[] data = new byte[fLength];
- input.get(data);
- return new ByteArrayDefinition(this, definitionScope, fieldName, data);
- }
- List<Definition> definitions = read(input, definitionScope, fieldName);
- return new ArrayDefinition(this, definitionScope, fieldName, definitions);
- }
-
- @Override
- public String toString() {
- /* Only used for debugging */
- return "[declaration] array[" + Integer.toHexString(hashCode()) + ']'; //$NON-NLS-1$
- }
-
- @NonNull
- private List<Definition> read(@NonNull BitBuffer input, IDefinitionScope definitionScope, String fieldName) throws CTFReaderException {
- Builder<Definition> definitions = new ImmutableList.Builder<>();
- if (!fChildrenNames.containsKey(fieldName)) {
- for (int i = 0; i < fLength; i++) {
- fChildrenNames.put(fieldName, fieldName + '[' + i + ']');
- }
- }
- List<String> elemNames = fChildrenNames.get(fieldName);
- for (int i = 0; i < fLength; i++) {
- String name = elemNames.get(i);
- if (name == null) {
- throw new IllegalStateException();
- }
- definitions.add(fElemType.createDefinition(definitionScope, name, input));
- }
- @SuppressWarnings("null")
- @NonNull ImmutableList<Definition> ret = definitions.build();
- return ret;
- }
-
- @Override
- public int getMaximumSize() {
- long val = (long) fLength * fElemType.getMaximumSize();
- return (int) Math.min(Integer.MAX_VALUE, val);
- }
-
-} \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/internal/ctf/core/event/types/ArrayDefinition.java b/lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/internal/ctf/core/event/types/ArrayDefinition.java
deleted file mode 100644
index c6d4832e88..0000000000
--- a/lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/internal/ctf/core/event/types/ArrayDefinition.java
+++ /dev/null
@@ -1,108 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 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:
- * Matthew Khouzam - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.internal.ctf.core.event.types;
-
-import java.util.List;
-
-import org.eclipse.jdt.annotation.NonNull;
-import org.eclipse.jdt.annotation.NonNullByDefault;
-import org.eclipse.jdt.annotation.Nullable;
-import org.eclipse.linuxtools.ctf.core.event.scope.IDefinitionScope;
-import org.eclipse.linuxtools.ctf.core.event.types.AbstractArrayDefinition;
-import org.eclipse.linuxtools.ctf.core.event.types.CompoundDeclaration;
-import org.eclipse.linuxtools.ctf.core.event.types.Definition;
-
-import com.google.common.base.Joiner;
-import com.google.common.collect.ImmutableList;
-
-/**
- * A CTF array definition
- *
- * Arrays are fixed-length. Their length is declared in the type declaration
- * within the meta-data. They contain an array of "inner type" elements, which
- * can refer to any type not containing the type of the array being declared (no
- * circular dependency). The length is the number of elements in an array.
- *
- * @version 1.0
- * @author Matthew Khouzam
- * @since 3.1
- */
-@NonNullByDefault
-public final class ArrayDefinition extends AbstractArrayDefinition {
-
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
-
- private final ImmutableList<Definition> fDefinitions;
-
- // ------------------------------------------------------------------------
- // Constructors
- // ------------------------------------------------------------------------
-
- /**
- * Constructor
- *
- * @param declaration
- * the parent declaration
- * @param definitionScope
- * the parent scope
- * @param fieldName
- * the field name
- * @param definitions
- * the content of the array
- */
- public ArrayDefinition(CompoundDeclaration declaration,
- @Nullable IDefinitionScope definitionScope,
- String fieldName,
- List<Definition> definitions) {
- super(declaration, definitionScope, fieldName);
- @SuppressWarnings("null")
- @NonNull ImmutableList<Definition> list = ImmutableList.copyOf(definitions);
- fDefinitions = list;
- }
-
- // ------------------------------------------------------------------------
- // Getters/Setters/Predicates
- // ------------------------------------------------------------------------
-
- @Override
- public List<Definition> getDefinitions() {
- return fDefinitions;
- }
-
- /**
- * Get the the number of elements in the array
- *
- * @return how many elements in the array
- */
- public int getLength() {
- return fDefinitions.size();
- }
-
- // ------------------------------------------------------------------------
- // Operations
- // ------------------------------------------------------------------------
-
- @Override
- public String toString() {
- StringBuilder b = new StringBuilder();
- b.append('[');
- Joiner joiner = Joiner.on(", ").skipNulls(); //$NON-NLS-1$
- b.append(joiner.join(fDefinitions));
- b.append(']');
- @SuppressWarnings("null")
- @NonNull String ret = b.toString();
- return ret;
- }
-} \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/internal/ctf/core/event/types/ByteArrayDefinition.java b/lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/internal/ctf/core/event/types/ByteArrayDefinition.java
deleted file mode 100644
index ddda448608..0000000000
--- a/lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/internal/ctf/core/event/types/ByteArrayDefinition.java
+++ /dev/null
@@ -1,100 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 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:
- * Matthew Khouzam - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.internal.ctf.core.event.types;
-
-import java.util.Arrays;
-import java.util.List;
-
-import org.eclipse.jdt.annotation.NonNull;
-import org.eclipse.jdt.annotation.NonNullByDefault;
-import org.eclipse.jdt.annotation.Nullable;
-import org.eclipse.linuxtools.ctf.core.event.scope.IDefinitionScope;
-import org.eclipse.linuxtools.ctf.core.event.types.AbstractArrayDefinition;
-import org.eclipse.linuxtools.ctf.core.event.types.CompoundDeclaration;
-import org.eclipse.linuxtools.ctf.core.event.types.Definition;
-import org.eclipse.linuxtools.ctf.core.event.types.IntegerDeclaration;
-import org.eclipse.linuxtools.ctf.core.event.types.IntegerDefinition;
-
-import com.google.common.collect.ImmutableList;
-
-/**
- * A fixed length string definition
- *
- * @author Matthew Khouzam
- * @since 3.1
- */
-@NonNullByDefault
-public final class ByteArrayDefinition extends AbstractArrayDefinition {
-
- private final byte[] fContent;
- private transient @Nullable List<Definition> fDefs;
-
- /**
- * An fixed length string declaration, it's created by sequence or array
- * defintions
- *
- * @param declaration
- * the declaration
- * @param definitionScope
- * the definition scope
- * @param fieldName
- * the field name
- * @param content
- * the string content
- */
- public ByteArrayDefinition(CompoundDeclaration declaration,
- @Nullable IDefinitionScope definitionScope,
- String fieldName,
- byte[] content) {
- super(declaration, definitionScope, fieldName);
- fContent = content;
-
- }
-
- @Override
- public synchronized List<Definition> getDefinitions() {
- List<Definition> defs = fDefs;
- if (defs == null) {
- ImmutableList.Builder<Definition> builder = new ImmutableList.Builder<>();
- for (int i = 0; i < fContent.length; i++) {
- IntegerDeclaration charDecl = IntegerDeclaration.UINT_8_DECL;
- String fieldName = getFieldName() + '[' + i + ']';
- byte fieldValue = fContent[i];
- builder.add(new IntegerDefinition(charDecl, getDefinitionScope(), fieldName, fieldValue));
- }
- @SuppressWarnings("null")
- @NonNull List<Definition> ret = builder.build();
- fDefs = ret;
- return ret;
- }
-
- return defs;
- }
-
- @Override
- public String toString() {
- /*
- * the string is a byte array and may contain more than the string plus
- * a null char, this will truncate it back to a null char
- */
- int pos = -1;
- for (int i = 0; i < fContent.length; i++) {
- if (fContent[i] == 0) {
- pos = i;
- break;
- }
- }
- byte[] bytes = (pos != -1) ? (Arrays.copyOf(fContent, pos)) : fContent;
- return new String(bytes);
- }
-} \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/internal/ctf/core/event/types/SequenceDeclaration.java b/lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/internal/ctf/core/event/types/SequenceDeclaration.java
deleted file mode 100644
index 5dd35bb609..0000000000
--- a/lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/internal/ctf/core/event/types/SequenceDeclaration.java
+++ /dev/null
@@ -1,152 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 Ericsson, Ecole Polytechnique de Montreal and others
- *
- * 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: Matthew Khouzam - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.internal.ctf.core.event.types;
-
-import java.util.Collection;
-import java.util.List;
-
-import org.eclipse.jdt.annotation.NonNull;
-import org.eclipse.linuxtools.ctf.core.event.io.BitBuffer;
-import org.eclipse.linuxtools.ctf.core.event.scope.IDefinitionScope;
-import org.eclipse.linuxtools.ctf.core.event.types.AbstractArrayDefinition;
-import org.eclipse.linuxtools.ctf.core.event.types.CompoundDeclaration;
-import org.eclipse.linuxtools.ctf.core.event.types.Definition;
-import org.eclipse.linuxtools.ctf.core.event.types.IDeclaration;
-import org.eclipse.linuxtools.ctf.core.event.types.IDefinition;
-import org.eclipse.linuxtools.ctf.core.event.types.IntegerDefinition;
-import org.eclipse.linuxtools.ctf.core.trace.CTFReaderException;
-
-import com.google.common.collect.ArrayListMultimap;
-import com.google.common.collect.ImmutableList;
-import com.google.common.collect.ImmutableList.Builder;
-import com.google.common.collect.Multimap;
-
-/**
- * A CTF sequence declaration.
- *
- * An array where the size is fixed but declared in the trace, unlike array
- * where it is declared with a literal
- *
- * @author Matthew Khouzam
- * @since 3.1
- */
-public class SequenceDeclaration extends CompoundDeclaration {
-
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
-
- private final IDeclaration fElemType;
- private final String fLengthName;
- private final Multimap<String, String> fPaths = ArrayListMultimap.create();
-
- // ------------------------------------------------------------------------
- // Constructors
- // ------------------------------------------------------------------------
-
- /**
- * Constructor
- *
- * @param lengthName
- * the name of the field describing the length
- * @param elemType
- * The element type
- */
- public SequenceDeclaration(String lengthName, IDeclaration elemType) {
- fElemType = elemType;
- fLengthName = lengthName;
- }
-
- // ------------------------------------------------------------------------
- // Getters/Setters/Predicates
- // ------------------------------------------------------------------------
-
- @Override
- public IDeclaration getElementType() {
- return fElemType;
- }
-
- /**
- * Gets the name of the length field
- *
- * @return the name of the length field
- */
- public String getLengthName() {
- return fLengthName;
- }
-
- // ------------------------------------------------------------------------
- // Operations
- // ------------------------------------------------------------------------
-
- @Override
- public AbstractArrayDefinition createDefinition(
- IDefinitionScope definitionScope, String fieldName, BitBuffer input) throws CTFReaderException {
- IDefinition lenDef = null;
-
- if (definitionScope != null) {
- lenDef = definitionScope.lookupDefinition(getLengthName());
- }
-
- if (lenDef == null) {
- throw new CTFReaderException("Sequence length field not found"); //$NON-NLS-1$
- }
-
- if (!(lenDef instanceof IntegerDefinition)) {
- throw new CTFReaderException("Sequence length field not integer"); //$NON-NLS-1$
- }
-
- IntegerDefinition lengthDefinition = (IntegerDefinition) lenDef;
-
- if (lengthDefinition.getDeclaration().isSigned()) {
- throw new CTFReaderException("Sequence length must not be signed"); //$NON-NLS-1$
- }
-
- long length = lengthDefinition.getValue();
- if ((length > Integer.MAX_VALUE) || (!input.canRead((int) length * fElemType.getMaximumSize()))) {
- throw new CTFReaderException("Sequence length too long " + length); //$NON-NLS-1$
- }
-
- if (isString()) {
- // Don't create "useless" definitions
- byte[] data = new byte[(int) length];
- input.get(data);
- return new ByteArrayDefinition(this, definitionScope, fieldName, data);
- }
- Collection<String> collection = fPaths.get(fieldName);
- while (collection.size() < length) {
- fPaths.put(fieldName, fieldName + '[' + collection.size() + ']');
- }
- List<String> paths = (List<String>) fPaths.get(fieldName);
- Builder<Definition> definitions = new ImmutableList.Builder<>();
- for (int i = 0; i < length; i++) {
- @SuppressWarnings("null")
- @NonNull String elemName = paths.get(i);
- definitions.add(fElemType.createDefinition(definitionScope, elemName, input));
- }
- @SuppressWarnings("null")
- @NonNull ImmutableList<Definition> build = definitions.build();
- return new ArrayDefinition(this, definitionScope, fieldName, build);
- }
-
- @Override
- public String toString() {
- /* Only used for debugging */
- return "[declaration] sequence[" + Integer.toHexString(hashCode()) + ']'; //$NON-NLS-1$
- }
-
- @Override
- public int getMaximumSize() {
- return Integer.MAX_VALUE;
- }
-
-} \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/internal/ctf/core/event/types/StructDeclarationFlattener.java b/lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/internal/ctf/core/event/types/StructDeclarationFlattener.java
deleted file mode 100644
index 33e6578024..0000000000
--- a/lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/internal/ctf/core/event/types/StructDeclarationFlattener.java
+++ /dev/null
@@ -1,112 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 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:
- * Matthew Khouzam - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.internal.ctf.core.event.types;
-
-import org.eclipse.jdt.annotation.NonNull;
-import org.eclipse.linuxtools.ctf.core.event.types.IDeclaration;
-import org.eclipse.linuxtools.ctf.core.event.types.ISimpleDatatypeDeclaration;
-import org.eclipse.linuxtools.ctf.core.event.types.StructDeclaration;
-
-/**
- * A fixed size struct declaration is a declaration of a structure that has no
- * variant or sequence fields. This will accelerate reading of the trace.
- *
- * @author Matthew Khouzam
- * @since 3.0
- */
-public final class StructDeclarationFlattener {
-
- private StructDeclarationFlattener() {}
-
- /**
- * Flatten a {@link StructDeclaration}, if it can be (which means if it
- * contains only fixed-size elements).
- *
- * This does not modify the declaration passed in parameter, you need to use
- * the return value.
- *
- * @param sd
- * The initial StructDeclaration
- * @return The flattened struct. Or if it couldn't be flattened, the 'sd'
- * struct itself
- */
- public static StructDeclaration tryFlattenStruct(@NonNull StructDeclaration sd) {
- if (canBeFlattened(sd)) {
- return newFlattenedStruct(sd);
- }
- return sd;
- }
-
- /**
- * Check if this struct is fixed size
- *
- * @param sd
- * the struct
- * @return if the struct is of fixed size
- */
- private static boolean canBeFlattened(@NonNull StructDeclaration sd) {
- for (String field : sd.getFieldsList()) {
- IDeclaration dec = sd.getField(field);
- if (!isFixedSize(dec)) {
- return false;
- }
- }
- return true;
- }
-
- private static boolean isFixedSize(IDeclaration dec) {
- if (dec instanceof ISimpleDatatypeDeclaration) {
- return true;
- }
- if (dec instanceof ArrayDeclaration) {
- return isFixedSize(((ArrayDeclaration) dec).getElementType());
- }
- if (dec instanceof StructDeclaration) {
- StructDeclaration sDec = ((StructDeclaration) dec);
- return canBeFlattened(sDec);
- }
- return false;
- }
-
- private static StructDeclaration newFlattenedStruct(@NonNull StructDeclaration sd) {
- StructDeclaration flatStruct = new StructDeclaration(sd.getAlignment());
- for (String name : sd.getFieldsList()) {
- depthFirstAdd(name, flatStruct, sd.getField(name));
- }
- return flatStruct;
- }
-
- private static void depthFirstAdd(String path, StructDeclaration flatStruct, IDeclaration dec) {
- if (dec instanceof ISimpleDatatypeDeclaration) {
- flatStruct.addField(path, dec);
- } else if (dec instanceof ArrayDeclaration) {
- ArrayDeclaration ad = (ArrayDeclaration) dec;
- int lastIndexOf = path.lastIndexOf('.');
-
- String name = (lastIndexOf > 0) ? path.substring(lastIndexOf) : path;
- if (((ArrayDeclaration) dec).isString()) {
- flatStruct.addField(path, dec);
- } else {
- for (int i = 0; i < ad.getLength(); i++) {
- depthFirstAdd(path + '.' + name + '[' + i + ']', flatStruct, ad.getElementType());
- }
- }
- } else if (dec instanceof StructDeclaration) {
- StructDeclaration sDec = ((StructDeclaration) dec);
- for (String name : sDec.getFieldsList()) {
- depthFirstAdd(path + '.' + name, flatStruct, sDec.getField(name));
- }
- }
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/internal/ctf/core/event/types/composite/EventHeaderCompactDeclaration.java b/lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/internal/ctf/core/event/types/composite/EventHeaderCompactDeclaration.java
deleted file mode 100644
index c81e0f5cf9..0000000000
--- a/lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/internal/ctf/core/event/types/composite/EventHeaderCompactDeclaration.java
+++ /dev/null
@@ -1,219 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 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:
- * Matthew Khouzam - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.internal.ctf.core.event.types.composite;
-
-import java.nio.ByteOrder;
-
-import org.eclipse.linuxtools.ctf.core.event.io.BitBuffer;
-import org.eclipse.linuxtools.ctf.core.event.scope.IDefinitionScope;
-import org.eclipse.linuxtools.ctf.core.event.types.Declaration;
-import org.eclipse.linuxtools.ctf.core.event.types.EnumDeclaration;
-import org.eclipse.linuxtools.ctf.core.event.types.IDeclaration;
-import org.eclipse.linuxtools.ctf.core.event.types.IEventHeaderDeclaration;
-import org.eclipse.linuxtools.ctf.core.event.types.IntegerDeclaration;
-import org.eclipse.linuxtools.ctf.core.event.types.StructDeclaration;
-import org.eclipse.linuxtools.ctf.core.event.types.VariantDeclaration;
-import org.eclipse.linuxtools.ctf.core.trace.CTFReaderException;
-
-/**
- * An event header declaration is a declaration of a structure defined in the
- * CTF spec examples section 6.1.1 . It is used in LTTng traces. This will
- * accelerate reading of the trace.
- *
- * Reminder
- *
- * <pre>
- * struct event_header_compact {
- * enum : uint5_t { compact = 0 ... 30, extended = 31 } id;
- * variant <id> {
- * struct {
- * uint27_clock_monotonic_t timestamp;
- * } compact;
- * struct {
- * uint32_t id;
- * uint64_clock_monotonic_t timestamp;
- * } extended;
- * } v;
- * } align(8);
- * </pre>
- *
- * @author Matthew Khouzam
- */
-public class EventHeaderCompactDeclaration extends Declaration implements IEventHeaderDeclaration {
-
- private static final int COMPACT_SIZE = 1;
- private static final int VARIANT_SIZE = 2;
- private static final int EXTENDED_FIELD_SIZE = 2;
- /**
- * The id is 5 bits
- */
- private static final int COMPACT_ID = 5;
- private static final int COMPACT_ALIGN = 1;
- private static final int EXTENDED_VALUE = 31;
- /**
- * Full sized id is 32 bits
- */
- private static final int ID_SIZE = 32;
- /**
- * Full sized timestamp is 64 bits
- */
- private static final int FULL_TS = 64;
- /**
- * Compact timestamp is 27 bits,
- */
- private static final int COMPACT_TS = 27;
- private static final int COMPACT_TS_ALIGN = 1;
- /**
- * Maximum size = largest this header can be
- */
- private static final int MAX_SIZE = 104;
- /**
- * Byte aligned
- */
- private static final int ALIGN = 8;
- /**
- * Name of the variant according to the spec
- */
- private static final String V = "v"; //$NON-NLS-1$
-
- private final ByteOrder fByteOrder;
-
- /**
- * Event Header Declaration
- *
- * @param byteOrder
- * the byteorder
- */
- public EventHeaderCompactDeclaration(ByteOrder byteOrder) {
- fByteOrder = byteOrder;
- }
-
- @Override
- public EventHeaderDefinition createDefinition(IDefinitionScope definitionScope, String fieldName, BitBuffer input) throws CTFReaderException {
- alignRead(input);
- ByteOrder bo = input.getByteOrder();
- input.setByteOrder(fByteOrder);
- int enumId = (int) input.get(COMPACT_ID, false);
- if (enumId != EXTENDED_VALUE) {
- long timestamp2 = input.get(COMPACT_TS, false);
- input.setByteOrder(bo);
- return new EventHeaderDefinition(this, enumId, timestamp2, COMPACT_TS);
- }
- // needed since we read 5 bits
- input.position(input.position() + 3);
- long id = input.get(ID_SIZE, false);
- if (id > Integer.MAX_VALUE) {
- throw new CTFReaderException("ID " + id + " larger than " + Integer.MAX_VALUE + " is currently unsupported by the parser"); //$NON-NLS-1$//$NON-NLS-2$ //$NON-NLS-3$
- }
- long timestampLong = input.get(FULL_TS, false);
- input.setByteOrder(bo);
- return new EventHeaderDefinition(this, (int) id, timestampLong, FULL_TS);
-
- }
-
- @Override
- public long getAlignment() {
- return ALIGN;
- }
-
- @Override
- public int getMaximumSize() {
- return MAX_SIZE;
- }
-
- /**
- * Check if a given struct declaration is an event header
- *
- * @param declaration
- * the declaration
- * @return true if the struct is a compact event header
- */
- public static boolean isCompactEventHeader(StructDeclaration declaration) {
-
- IDeclaration iDeclaration = declaration.getFields().get(ID);
- if (!(iDeclaration instanceof EnumDeclaration)) {
- return false;
- }
- EnumDeclaration eId = (EnumDeclaration) iDeclaration;
- final IntegerDeclaration containerType = eId.getContainerType();
- if (containerType.getLength() != COMPACT_ID) {
- return false;
- }
- if (containerType.getAlignment() != COMPACT_ALIGN) {
- return false;
- }
-
- iDeclaration = declaration.getFields().get(V);
-
- if (!(iDeclaration instanceof VariantDeclaration)) {
- return false;
- }
- VariantDeclaration vDec = (VariantDeclaration) iDeclaration;
- if (!vDec.hasField(COMPACT) || !vDec.hasField(EXTENDED)) {
- return false;
- }
- if (vDec.getFields().size() != VARIANT_SIZE) {
- return false;
- }
- iDeclaration = vDec.getFields().get(COMPACT);
- if (!(iDeclaration instanceof StructDeclaration)) {
- return false;
- }
- StructDeclaration compactDec = (StructDeclaration) iDeclaration;
- if (compactDec.getFields().size() != COMPACT_SIZE) {
- return false;
- }
- if (!compactDec.hasField(TIMESTAMP)) {
- return false;
- }
- iDeclaration = compactDec.getFields().get(TIMESTAMP);
- if (!(iDeclaration instanceof IntegerDeclaration)) {
- return false;
- }
- IntegerDeclaration tsDec = (IntegerDeclaration) iDeclaration;
- if (tsDec.getLength() != COMPACT_TS || tsDec.isSigned() || tsDec.getAlignment() != COMPACT_TS_ALIGN) {
- return false;
- }
- iDeclaration = vDec.getFields().get(EXTENDED);
- if (!(iDeclaration instanceof StructDeclaration)) {
- return false;
- }
- StructDeclaration extendedDec = (StructDeclaration) iDeclaration;
- if (extendedDec.getAlignment() != ALIGN) {
- return false;
- }
- if (!extendedDec.hasField(TIMESTAMP)) {
- return false;
- }
- if (extendedDec.getFields().size() != EXTENDED_FIELD_SIZE) {
- return false;
- }
- iDeclaration = extendedDec.getFields().get(TIMESTAMP);
- if (!(iDeclaration instanceof IntegerDeclaration)) {
- return false;
- }
- tsDec = (IntegerDeclaration) iDeclaration;
- if (tsDec.getLength() != FULL_TS || tsDec.isSigned()) {
- return false;
- }
- iDeclaration = extendedDec.getFields().get(ID);
- if (!(iDeclaration instanceof IntegerDeclaration)) {
- return false;
- }
- IntegerDeclaration iId = (IntegerDeclaration) iDeclaration;
- if (iId.getLength() != ID_SIZE || iId.isSigned()) {
- return false;
- }
- return true;
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/internal/ctf/core/event/types/composite/EventHeaderDefinition.java b/lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/internal/ctf/core/event/types/composite/EventHeaderDefinition.java
deleted file mode 100644
index 66c7f637c7..0000000000
--- a/lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/internal/ctf/core/event/types/composite/EventHeaderDefinition.java
+++ /dev/null
@@ -1,105 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 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:
- * Matthew Khouzam - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.internal.ctf.core.event.types.composite;
-
-import java.util.List;
-
-import org.eclipse.jdt.annotation.NonNull;
-import org.eclipse.linuxtools.ctf.core.event.scope.LexicalScope;
-import org.eclipse.linuxtools.ctf.core.event.types.Declaration;
-import org.eclipse.linuxtools.ctf.core.event.types.Definition;
-import org.eclipse.linuxtools.ctf.core.event.types.ICompositeDefinition;
-import org.eclipse.linuxtools.ctf.core.event.types.IEventHeaderDeclaration;
-import org.eclipse.linuxtools.ctf.core.event.types.IntegerDeclaration;
-import org.eclipse.linuxtools.ctf.core.event.types.IntegerDefinition;
-
-import com.google.common.collect.ImmutableList;
-
-/**
- * An event header definition, as shown in the example of the CTF spec examples
- * section 6.1.1
- *
- * @author Matthew Khouzam
- */
-public final class EventHeaderDefinition extends Definition implements ICompositeDefinition {
-
- private static final List<String> FIELD_NAMES = ImmutableList.of(
- IEventHeaderDeclaration.ID,
- IEventHeaderDeclaration.TIMESTAMP
- );
-
- private final int fId;
- private final long fTimestamp;
- private final int fTimestampLength;
-
- /**
- * Event header defintion
- *
- * @param id
- * the event id
- * @param timestamp
- * the timestamp
- * @param eventHeaderDecl
- * The declaration of this defintion
- * @param timestampLength
- * the number of bits valid in the timestamp
- */
- public EventHeaderDefinition(@NonNull Declaration eventHeaderDecl, int id, long timestamp, int timestampLength) {
- super(eventHeaderDecl, null, LexicalScope.EVENT_HEADER.toString(), LexicalScope.EVENT_HEADER);
- fId = id;
- fTimestamp = timestamp;
- fTimestampLength = timestampLength;
- }
-
- /**
- * Gets the timestamp declaration
- *
- * @return the timestamp declaration
- */
- public int getTimestampLength() {
- return fTimestampLength;
- }
-
- /**
- * Get the event id
- *
- * @return the event id
- */
- public int getId() {
- return fId;
- }
-
- /**
- * Get the timestamp
- *
- * @return the timestamp
- */
- public long getTimestamp() {
- return fTimestamp;
- }
-
- @Override
- public Definition getDefinition(String fieldName) {
- if (fieldName.equals(IEventHeaderDeclaration.ID)) {
- return new IntegerDefinition(IntegerDeclaration.INT_32B_DECL, null, IEventHeaderDeclaration.ID, getId());
- } else if (fieldName.equals(IEventHeaderDeclaration.TIMESTAMP)) {
- return new IntegerDefinition(IntegerDeclaration.INT_64B_DECL, null, IEventHeaderDeclaration.TIMESTAMP, getTimestamp());
- }
- return null;
- }
-
- @Override
- public List<String> getFieldNames() {
- return FIELD_NAMES;
- }
-} \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/internal/ctf/core/event/types/composite/EventHeaderLargeDeclaration.java b/lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/internal/ctf/core/event/types/composite/EventHeaderLargeDeclaration.java
deleted file mode 100644
index 3a6ebfe74d..0000000000
--- a/lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/internal/ctf/core/event/types/composite/EventHeaderLargeDeclaration.java
+++ /dev/null
@@ -1,215 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 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:
- * Matthew Khouzam - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.internal.ctf.core.event.types.composite;
-
-import java.nio.ByteOrder;
-
-import org.eclipse.linuxtools.ctf.core.event.io.BitBuffer;
-import org.eclipse.linuxtools.ctf.core.event.scope.IDefinitionScope;
-import org.eclipse.linuxtools.ctf.core.event.types.Declaration;
-import org.eclipse.linuxtools.ctf.core.event.types.EnumDeclaration;
-import org.eclipse.linuxtools.ctf.core.event.types.IDeclaration;
-import org.eclipse.linuxtools.ctf.core.event.types.IEventHeaderDeclaration;
-import org.eclipse.linuxtools.ctf.core.event.types.IntegerDeclaration;
-import org.eclipse.linuxtools.ctf.core.event.types.StructDeclaration;
-import org.eclipse.linuxtools.ctf.core.event.types.VariantDeclaration;
-import org.eclipse.linuxtools.ctf.core.trace.CTFReaderException;
-
-/**
- * An event header declaration is a declaration of a structure defined in the
- * CTF spec examples section 6.1.1 . It is used in LTTng traces. This will
- * accelerate reading of the trace.
- *
- * Reminder
- *
- * <pre>
- * struct event_header_large {
- * enum : uint16_t { compact = 0 ... 65534, extended = 65535 } id;
- * variant <id> {
- * struct {
- * uint32_clock_monotonic_t timestamp;
- * } compact;
- * struct {
- * uint32_t id;
- * uint64_clock_monotonic_t timestamp;
- * } extended;
- * } v;
- * } align(8);
- * </pre>
- *
- * @author Matthew Khouzam
- */
-public class EventHeaderLargeDeclaration extends Declaration implements IEventHeaderDeclaration {
-
- /**
- * The id is 16 bits
- */
- private static final int COMPACT_ID = 16;
- private static final int EXTENDED_VALUE = 65535;
- /**
- * Full sized id is 32 bits
- */
- private static final int ID_SIZE = 32;
- /**
- * Full sized timestamp is 64 bits
- */
- private static final int FULL_TS = 64;
- /**
- * Compact timestamp is 32 bits,
- */
- private static final int COMPACT_TS = 32;
- /**
- * Maximum size = largest this header can be
- */
- private static final int MAX_SIZE = 112;
- /**
- * Byte aligned
- */
- private static final int ALIGN = 8;
- /**
- * Name of the variant according to the spec
- */
- private static final String V = "v"; //$NON-NLS-1$
- private static final int VARIANT_SIZE = 2;
- private static final int COMPACT_SIZE = 1;
- private static final int EXTENDED_FIELD_SIZE = 2;
- private static final long COMPACT_ALIGN = 1;
- private static final long COMPACT_TS_ALIGN = 8;
-
- private final ByteOrder fByteOrder;
-
- /**
- * Event Header Declaration
- *
- * @param byteOrder
- * the byteorder
- */
- public EventHeaderLargeDeclaration(ByteOrder byteOrder) {
- fByteOrder = byteOrder;
- }
-
- @Override
- public EventHeaderDefinition createDefinition(IDefinitionScope definitionScope, String fieldName, BitBuffer input) throws CTFReaderException {
- alignRead(input);
- ByteOrder bo = input.getByteOrder();
- input.setByteOrder(fByteOrder);
- int first = (int) input.get(COMPACT_ID, false);
- long second = input.get(COMPACT_TS, false);
- if (first != EXTENDED_VALUE) {
- input.setByteOrder(bo);
- return new EventHeaderDefinition(this, first, second, COMPACT_TS);
- }
- long timestampLong = input.get(FULL_TS, false);
- input.setByteOrder(bo);
- if (second > Integer.MAX_VALUE) {
- throw new CTFReaderException("ID " + second + " larger than " + Integer.MAX_VALUE + " is currently unsupported by the parser"); //$NON-NLS-1$//$NON-NLS-2$ //$NON-NLS-3$
- }
- return new EventHeaderDefinition(this, (int) second, timestampLong, FULL_TS);
- }
-
- @Override
- public long getAlignment() {
- return ALIGN;
- }
-
- @Override
- public int getMaximumSize() {
- return MAX_SIZE;
- }
-
- /**
- * Check if a given struct declaration is an event header
- *
- * @param declaration
- * the declaration
- * @return true if the event is a large event header
- */
- public static boolean isLargeEventHeader(StructDeclaration declaration) {
-
- IDeclaration iDeclaration = declaration.getFields().get(ID);
- if (!(iDeclaration instanceof EnumDeclaration)) {
- return false;
- }
- EnumDeclaration eId = (EnumDeclaration) iDeclaration;
- final IntegerDeclaration containerType = eId.getContainerType();
- if (containerType.getLength() != COMPACT_ID) {
- return false;
- }
- if (containerType.getAlignment() != COMPACT_ALIGN) {
- return false;
- }
- iDeclaration = declaration.getFields().get(V);
-
- if (!(iDeclaration instanceof VariantDeclaration)) {
- return false;
- }
- VariantDeclaration vDec = (VariantDeclaration) iDeclaration;
- if (!vDec.hasField(COMPACT) || !vDec.hasField(EXTENDED)) {
- return false;
- }
- if (vDec.getFields().size() != VARIANT_SIZE) {
- return false;
- }
- iDeclaration = vDec.getFields().get(COMPACT);
- if (!(iDeclaration instanceof StructDeclaration)) {
- return false;
- }
- StructDeclaration compactDec = (StructDeclaration) iDeclaration;
- if (compactDec.getFields().size() != COMPACT_SIZE) {
- return false;
- }
- if (!compactDec.hasField(TIMESTAMP)) {
- return false;
- }
- iDeclaration = compactDec.getFields().get(TIMESTAMP);
- if (!(iDeclaration instanceof IntegerDeclaration)) {
- return false;
- }
- IntegerDeclaration tsDec = (IntegerDeclaration) iDeclaration;
- if (tsDec.getLength() != COMPACT_TS || tsDec.isSigned() || tsDec.getAlignment() != COMPACT_TS_ALIGN) {
- return false;
- }
- iDeclaration = vDec.getFields().get(EXTENDED);
- if (!(iDeclaration instanceof StructDeclaration)) {
- return false;
- }
- StructDeclaration extendedDec = (StructDeclaration) iDeclaration;
- if (extendedDec.getAlignment() != ALIGN) {
- return false;
- }
- if (!extendedDec.hasField(TIMESTAMP)) {
- return false;
- }
- if (extendedDec.getFields().size() != EXTENDED_FIELD_SIZE) {
- return false;
- }
- iDeclaration = extendedDec.getFields().get(TIMESTAMP);
- if (!(iDeclaration instanceof IntegerDeclaration)) {
- return false;
- }
- tsDec = (IntegerDeclaration) iDeclaration;
- if (tsDec.getLength() != FULL_TS || tsDec.isSigned()) {
- return false;
- }
- iDeclaration = extendedDec.getFields().get(ID);
- if (!(iDeclaration instanceof IntegerDeclaration)) {
- return false;
- }
- IntegerDeclaration iId = (IntegerDeclaration) iDeclaration;
- if (iId.getLength() != ID_SIZE || iId.isSigned()) {
- return false;
- }
- return true;
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/internal/ctf/core/trace/StreamInputPacketIndex.java b/lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/internal/ctf/core/trace/StreamInputPacketIndex.java
deleted file mode 100644
index dd901533ce..0000000000
--- a/lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/internal/ctf/core/trace/StreamInputPacketIndex.java
+++ /dev/null
@@ -1,166 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011, 2014 Ericsson, Ecole Polytechnique de Montreal and others
- *
- * 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: Matthew Khouzam - Initial API and implementation
- * Contributors: Simon Marchi - Initial API and implementation
- * Contributors: Etienne Bergeron <etienne.bergeron@gmail.com>
- * Contributors: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
- *******************************************************************************/
-
-package org.eclipse.linuxtools.internal.ctf.core.trace;
-
-import java.util.ListIterator;
-import java.util.Vector;
-
-import org.eclipse.linuxtools.ctf.core.trace.CTFReaderException;
-
-/**
- * <b><u>StreamInputPacketIndex</u></b>
- * <p>
- * TODO Implement me. Please.
- */
-public class StreamInputPacketIndex {
-
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
-
- /**
- * Entries of the index. They are sorted by increasing begin timestamp.
- * index builder.
- */
- private final Vector<StreamInputPacketIndexEntry> entries = new Vector<>();
-
- // ------------------------------------------------------------------------
- // Getters/Setters/Predicates
- // ------------------------------------------------------------------------
-
- /**
- * Gets the entries
- *
- * @return the entries
- */
- public Vector<StreamInputPacketIndexEntry> getEntries() {
- return this.entries;
- }
-
- /**
- * Gets an iterator to the entries
- *
- * @return an iterator to the entries
- */
- public ListIterator<StreamInputPacketIndexEntry> listIterator() {
- return this.entries.listIterator();
- }
-
- /**
- * Gets an iterator to the entries at a given position
- *
- * @param n
- * the position to get
- * @return the iterator
- */
- public ListIterator<StreamInputPacketIndexEntry> listIterator(int n) {
- return this.entries.listIterator(n);
- }
-
- // ------------------------------------------------------------------------
- // Operations
- // ------------------------------------------------------------------------
-
- /**
- * Adds an entry to the index.
- *
- * @param entry
- * The entry to add
- * @throws CTFReaderException
- * If there was a problem reading the entry
- */
- public void addEntry(StreamInputPacketIndexEntry entry)
- throws CTFReaderException {
- assert (entry.getContentSizeBits() != 0);
-
- /* Validate consistent entry. */
- if (entry.getTimestampBegin() > entry.getTimestampEnd()) {
- throw new CTFReaderException("Packet begin timestamp is after end timestamp"); //$NON-NLS-1$
- }
-
- /* Validate entries are inserted in monotonic increasing timestamp order. */
- if (!this.entries.isEmpty()) {
- if (entry.getTimestampBegin() < this.entries.lastElement()
- .getTimestampBegin()) {
- throw new CTFReaderException("Packets begin timestamp decreasing"); //$NON-NLS-1$
- }
- }
- this.entries.add(entry);
- }
-
- /**
- * Returns the first PacketIndexEntry that could include the timestamp,
- * that is the last packet with a begin timestamp smaller than the given timestamp.
- *
- * @param timestamp
- * The timestamp to look for.
- * @return The StreamInputPacketEntry that corresponds to the packet that
- * includes the given timestamp.
- */
- public ListIterator<StreamInputPacketIndexEntry> search(final long timestamp) {
- /*
- * Start with min and max covering all the elements.
- */
- int max = this.entries.size() - 1;
- int min = 0;
-
- int guessI;
- StreamInputPacketIndexEntry guessEntry = null;
-
- /*
- * If the index is empty, return the iterator at the very beginning.
- */
- if (this.getEntries().isEmpty()) {
- return this.getEntries().listIterator();
- }
-
- if (timestamp < 0) {
- throw new IllegalArgumentException("timestamp is negative"); //$NON-NLS-1$
- }
-
- /* Binary search */
- for (;;) {
- /*
- * Guess in the middle of min and max.
- */
- guessI = min + ((max - min) / 2);
- guessEntry = this.entries.get(guessI);
-
- /*
- * If we reached the point where we focus on a single packet, our
- * search is done.
- */
- if (min == max) {
- break;
- }
-
- if (timestamp <= guessEntry.getTimestampEnd()) {
- /*
- * If the timestamp is lower or equal to the end of the guess packet,
- * then the guess packet becomes the new inclusive max.
- */
- max = guessI;
- } else {
- /*
- * If the timestamp is greater than the end of the guess packet, then
- * the new inclusive min is the packet after the guess packet.
- */
- min = guessI + 1;
- }
- }
-
- return this.entries.listIterator(guessI);
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/internal/ctf/core/trace/StreamInputPacketIndexEntry.java b/lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/internal/ctf/core/trace/StreamInputPacketIndexEntry.java
deleted file mode 100644
index 5074216fd7..0000000000
--- a/lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/internal/ctf/core/trace/StreamInputPacketIndexEntry.java
+++ /dev/null
@@ -1,261 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011, 2014 Ericsson, Ecole Polytechnique de Montreal and others
- *
- * 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: Matthew Khouzam - Initial API and implementation
- * Contributors: Simon Marchi - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.internal.ctf.core.trace;
-
-import java.util.HashMap;
-import java.util.Map;
-
-/**
- * <b><u>StreamInputPacketIndexEntry</u></b>
- * <p>
- * Represents an entry in the index of event packets.
- */
-public class StreamInputPacketIndexEntry {
-
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
-
- /**
- * Offset of the packet in the file, in bytes
- */
- final private long fOffsetBytes;
-
- /**
- * Offset of the data in the packet, in bits
- */
- private long fDataOffsetBits = 0;
-
- /**
- * Packet size, in bits
- */
- private long fPacketSizeBits = 0;
-
- /**
- * Content size, in bits
- */
- private long fContentSizeBits = 0;
-
- /**
- * Begin timestamp
- */
- private long fTimestampBegin = 0;
-
- /**
- * End timestamp
- */
- private long fTimestampEnd = 0;
-
- /**
- * How many lost events are there?
- */
- private long fLostEvents = 0;
-
- /**
- * Which target is being traced
- */
- private String fTarget ;
- private long fTargetID;
-
- /**
- * Attributes of this index entry
- */
- private final Map<String, Object> fAttributes = new HashMap<>();
-
-
- // ------------------------------------------------------------------------
- // Constructors
- // ------------------------------------------------------------------------
-
- /**
- * Constructs an index entry.
- *
- * @param offset
- * The offset of the packet in the file, in bytes.
- */
-
- public StreamInputPacketIndexEntry(long offset) {
- fOffsetBytes = offset;
- }
-
- // ------------------------------------------------------------------------
- // Operations
- // ------------------------------------------------------------------------
-
- /**
- * Returns whether the packet includes (inclusively) the given timestamp in
- * the begin-end timestamp range.
- *
- * @param ts
- * The timestamp to check.
- * @return True if the packet includes the timestamp.
- */
- boolean includes(long ts) {
- return (ts >= fTimestampBegin) && (ts <= fTimestampEnd);
- }
-
- @Override
- public String toString() {
- return "StreamInputPacketIndexEntry [offsetBytes=" + fOffsetBytes //$NON-NLS-1$
- + ", timestampBegin=" + fTimestampBegin + ", timestampEnd=" //$NON-NLS-1$ //$NON-NLS-2$
- + fTimestampEnd + "]"; //$NON-NLS-1$
- }
-
- // ------------------------------------------------------------------------
- // Getters and Setters
- // ------------------------------------------------------------------------
-
- /**
- * @return the offsetBytes
- */
- public long getOffsetBytes() {
- return fOffsetBytes;
- }
-
- /**
- * @return the dataOffsetBits
- */
- public long getDataOffsetBits() {
- return fDataOffsetBits;
- }
-
- /**
- * @param dataOffsetBits
- * the dataOffsetBits to set
- */
- public void setDataOffsetBits(long dataOffsetBits) {
- fDataOffsetBits = dataOffsetBits;
- }
-
- /**
- * @return the packetSizeBits
- */
- public long getPacketSizeBits() {
- return fPacketSizeBits;
- }
-
- /**
- * @param packetSizeBits
- * the packetSizeBits to set
- */
- public void setPacketSizeBits(long packetSizeBits) {
- fPacketSizeBits = packetSizeBits;
- }
-
- /**
- * @return the contentSizeBits
- */
- public long getContentSizeBits() {
- return fContentSizeBits;
- }
-
- /**
- * @param contentSizeBits
- * the contentSizeBits to set
- */
- public void setContentSizeBits(long contentSizeBits) {
- fContentSizeBits = contentSizeBits;
- }
-
- /**
- * @return the timestampBegin
- */
- public long getTimestampBegin() {
- return fTimestampBegin;
- }
-
- /**
- * @param timestampBegin
- * the timestampBegin to set
- */
- public void setTimestampBegin(long timestampBegin) {
- fTimestampBegin = timestampBegin;
- }
-
- /**
- * @return the timestampEnd
- */
- public long getTimestampEnd() {
- return fTimestampEnd;
- }
-
- /**
- * @param timestampEnd
- * the timestampEnd to set
- */
- public void setTimestampEnd(long timestampEnd) {
- fTimestampEnd = timestampEnd;
- }
-
- /**
- * @return the lostEvents in this packet
- */
- public long getLostEvents() {
- return fLostEvents;
- }
-
- /**
- * @param lostEvents the lostEvents to set
- */
- public void setLostEvents(long lostEvents) {
- fLostEvents = lostEvents;
- }
-
- /**
- * Add an attribute to this index entry
- *
- * @param field
- * The name of the attribute
- * @param value
- * The value to insert
- */
- public void addAttribute(String field, Object value) {
- fAttributes.put(field, value);
- }
-
- /**
- * Retrieve the value of an existing attribute
- *
- * @param field
- * The name of the attribute
- * @return The value that was stored, or null if it wasn't found
- */
- public Object lookupAttribute(String field){
- return fAttributes.get(field);
- }
-
- /**
- * @return The target that is being traced
- */
- public String getTarget() {
- return fTarget;
- }
-
- /**
- * Assign a target to this index entry
- *
- * @param target
- * The target to assign
- */
- public void setTarget(String target) {
- fTarget = target;
- fTargetID = Integer.parseInt(target.replaceAll("[\\D]", "")); //$NON-NLS-1$ //$NON-NLS-2$ // slow
- }
-
- /**
- * @return The ID of the target
- */
- public long getTargetId(){
- return fTargetID;
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/internal/ctf/core/trace/StreamInputReaderTimestampComparator.java b/lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/internal/ctf/core/trace/StreamInputReaderTimestampComparator.java
deleted file mode 100644
index 01582c254b..0000000000
--- a/lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/internal/ctf/core/trace/StreamInputReaderTimestampComparator.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011, 2013 Ericsson, Ecole Polytechnique de Montreal and others
- *
- * 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: Matthew Khouzam - Initial API and implementation
- * Contributors: Simon Marchi - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.internal.ctf.core.trace;
-
-import java.io.Serializable;
-import java.util.Comparator;
-
-import org.eclipse.linuxtools.ctf.core.event.EventDefinition;
-import org.eclipse.linuxtools.ctf.core.trace.CTFStreamInputReader;
-import org.eclipse.linuxtools.ctf.core.trace.Utils;
-
-/**
- * <b><u>StreamInputReaderTimestampComparator</u></b>
- * <p>
- * Compares two StreamInputReader by their timestamp (smaller comes before).
- */
-public class StreamInputReaderTimestampComparator implements
- Comparator<CTFStreamInputReader>, Serializable {
-
- // ------------------------------------------------------------------------
- // Constants
- // ------------------------------------------------------------------------
-
- private static final long serialVersionUID = 1066434959451875045L;
-
- // ------------------------------------------------------------------------
- // Operations
- // ------------------------------------------------------------------------
-
- /**
- * @throws NullPointerException
- * If any {@link CTFStreamInputReader} parameter is null, of if any
- * of them does not contain a current event.
- */
- @Override
- public int compare(CTFStreamInputReader a, CTFStreamInputReader b) {
- EventDefinition event_a = a.getCurrentEvent();
- EventDefinition event_b = b.getCurrentEvent();
-
- long ta = event_a.getTimestamp();
- long tb = event_b.getTimestamp();
- return Utils.unsignedCompare(ta, tb);
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.ctf.parser.tests/.classpath b/lttng/org.eclipse.linuxtools.ctf.parser.tests/.classpath
deleted file mode 100644
index 098194ca4b..0000000000
--- a/lttng/org.eclipse.linuxtools.ctf.parser.tests/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
- <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.7"/>
- <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
- <classpathentry kind="src" path="src"/>
- <classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/lttng/org.eclipse.linuxtools.ctf.parser.tests/.project b/lttng/org.eclipse.linuxtools.ctf.parser.tests/.project
deleted file mode 100644
index 2c6d567dec..0000000000
--- a/lttng/org.eclipse.linuxtools.ctf.parser.tests/.project
+++ /dev/null
@@ -1,34 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>org.eclipse.linuxtools.ctf.parser.tests</name>
- <comment></comment>
- <projects>
- </projects>
- <buildSpec>
- <buildCommand>
- <name>org.eclipse.jdt.core.javabuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.ManifestBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.SchemaBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.api.tools.apiAnalysisBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>org.eclipse.pde.PluginNature</nature>
- <nature>org.eclipse.jdt.core.javanature</nature>
- <nature>org.eclipse.pde.api.tools.apiAnalysisNature</nature>
- </natures>
-</projectDescription>
diff --git a/lttng/org.eclipse.linuxtools.ctf.parser.tests/.settings/org.eclipse.core.resources.prefs b/lttng/org.eclipse.linuxtools.ctf.parser.tests/.settings/org.eclipse.core.resources.prefs
deleted file mode 100644
index 99f26c0203..0000000000
--- a/lttng/org.eclipse.linuxtools.ctf.parser.tests/.settings/org.eclipse.core.resources.prefs
+++ /dev/null
@@ -1,2 +0,0 @@
-eclipse.preferences.version=1
-encoding/<project>=UTF-8
diff --git a/lttng/org.eclipse.linuxtools.ctf.parser.tests/.settings/org.eclipse.core.runtime.prefs b/lttng/org.eclipse.linuxtools.ctf.parser.tests/.settings/org.eclipse.core.runtime.prefs
deleted file mode 100644
index 5a0ad22d2a..0000000000
--- a/lttng/org.eclipse.linuxtools.ctf.parser.tests/.settings/org.eclipse.core.runtime.prefs
+++ /dev/null
@@ -1,2 +0,0 @@
-eclipse.preferences.version=1
-line.separator=\n
diff --git a/lttng/org.eclipse.linuxtools.ctf.parser.tests/.settings/org.eclipse.jdt.core.prefs b/lttng/org.eclipse.linuxtools.ctf.parser.tests/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index f3fc64575b..0000000000
--- a/lttng/org.eclipse.linuxtools.ctf.parser.tests/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,393 +0,0 @@
-eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.annotation.inheritNullAnnotations=enabled
-org.eclipse.jdt.core.compiler.annotation.missingNonNullByDefaultAnnotation=ignore
-org.eclipse.jdt.core.compiler.annotation.nonnull=org.eclipse.jdt.annotation.NonNull
-org.eclipse.jdt.core.compiler.annotation.nonnullbydefault=org.eclipse.jdt.annotation.NonNullByDefault
-org.eclipse.jdt.core.compiler.annotation.nullable=org.eclipse.jdt.annotation.Nullable
-org.eclipse.jdt.core.compiler.annotation.nullanalysis=enabled
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.7
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.doc.comment.support=enabled
-org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=error
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
-org.eclipse.jdt.core.compiler.problem.comparingIdentical=error
-org.eclipse.jdt.core.compiler.problem.deadCode=error
-org.eclipse.jdt.core.compiler.problem.deprecation=error
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=enabled
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled
-org.eclipse.jdt.core.compiler.problem.discouragedReference=error
-org.eclipse.jdt.core.compiler.problem.emptyStatement=error
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.problem.explicitlyClosedAutoCloseable=error
-org.eclipse.jdt.core.compiler.problem.fallthroughCase=error
-org.eclipse.jdt.core.compiler.problem.fatalOptionalError=disabled
-org.eclipse.jdt.core.compiler.problem.fieldHiding=error
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=error
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=error
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=error
-org.eclipse.jdt.core.compiler.problem.includeNullInfoFromAsserts=disabled
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=error
-org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=error
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=error
-org.eclipse.jdt.core.compiler.problem.invalidJavadoc=warning
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTags=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=protected
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=error
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=error
-org.eclipse.jdt.core.compiler.problem.missingDefaultCase=error
-org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=error
-org.eclipse.jdt.core.compiler.problem.missingEnumCaseDespiteDefault=enabled
-org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=error
-org.eclipse.jdt.core.compiler.problem.missingJavadocComments=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=protected
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagDescription=all_standard_tags
-org.eclipse.jdt.core.compiler.problem.missingJavadocTags=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsMethodTypeParameters=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=protected
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=error
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotationForInterfaceMethodImplementation=enabled
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=error
-org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=error
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=error
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=error
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=ignore
-org.eclipse.jdt.core.compiler.problem.nonnullParameterAnnotationDropped=warning
-org.eclipse.jdt.core.compiler.problem.nullAnnotationInferenceConflict=warning
-org.eclipse.jdt.core.compiler.problem.nullReference=error
-org.eclipse.jdt.core.compiler.problem.nullSpecViolation=error
-org.eclipse.jdt.core.compiler.problem.nullUncheckedConversion=warning
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=error
-org.eclipse.jdt.core.compiler.problem.parameterAssignment=error
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=error
-org.eclipse.jdt.core.compiler.problem.potentialNullReference=error
-org.eclipse.jdt.core.compiler.problem.potentiallyUnclosedCloseable=warning
-org.eclipse.jdt.core.compiler.problem.rawTypeReference=error
-org.eclipse.jdt.core.compiler.problem.redundantNullAnnotation=warning
-org.eclipse.jdt.core.compiler.problem.redundantNullCheck=error
-org.eclipse.jdt.core.compiler.problem.redundantSpecificationOfTypeArguments=error
-org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=error
-org.eclipse.jdt.core.compiler.problem.reportMethodCanBePotentiallyStatic=ignore
-org.eclipse.jdt.core.compiler.problem.reportMethodCanBeStatic=error
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=error
-org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=disabled
-org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
-org.eclipse.jdt.core.compiler.problem.syntacticNullAnalysisForFields=enabled
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
-org.eclipse.jdt.core.compiler.problem.typeParameterHiding=error
-org.eclipse.jdt.core.compiler.problem.unavoidableGenericTypeProblems=disabled
-org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=error
-org.eclipse.jdt.core.compiler.problem.unclosedCloseable=error
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
-org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=error
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=error
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=error
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=error
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=disabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=disabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=error
-org.eclipse.jdt.core.compiler.problem.unusedLabel=error
-org.eclipse.jdt.core.compiler.problem.unusedLocal=error
-org.eclipse.jdt.core.compiler.problem.unusedObjectAllocation=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=error
-org.eclipse.jdt.core.compiler.problem.unusedTypeParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedWarningToken=error
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=error
-org.eclipse.jdt.core.compiler.source=1.7
-org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_assignment=0
-org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
-org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
-org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
-org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
-org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0
-org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=80
-org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=0
-org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch=16
-org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_after_package=1
-org.eclipse.jdt.core.formatter.blank_lines_before_field=0
-org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
-org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
-org.eclipse.jdt.core.formatter.blank_lines_before_method=1
-org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
-org.eclipse.jdt.core.formatter.blank_lines_before_package=0
-org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
-org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
-org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
-org.eclipse.jdt.core.formatter.comment.format_block_comments=true
-org.eclipse.jdt.core.formatter.comment.format_header=false
-org.eclipse.jdt.core.formatter.comment.format_html=true
-org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=true
-org.eclipse.jdt.core.formatter.comment.format_line_comments=true
-org.eclipse.jdt.core.formatter.comment.format_source_code=true
-org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true
-org.eclipse.jdt.core.formatter.comment.indent_root_tags=true
-org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
-org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=insert
-org.eclipse.jdt.core.formatter.comment.line_length=80
-org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries=true
-org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries=true
-org.eclipse.jdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments=false
-org.eclipse.jdt.core.formatter.compact_else_if=true
-org.eclipse.jdt.core.formatter.continuation_indentation=2
-org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2
-org.eclipse.jdt.core.formatter.disabling_tag=@formatter\:off
-org.eclipse.jdt.core.formatter.enabling_tag=@formatter\:on
-org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
-org.eclipse.jdt.core.formatter.format_line_comment_starting_on_first_column=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
-org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_empty_lines=false
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=false
-org.eclipse.jdt.core.formatter.indentation.size=4
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_label=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_try=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources=insert
-org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_try=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
-org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.join_lines_in_comments=true
-org.eclipse.jdt.core.formatter.join_wrapped_lines=false
-org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.lineSplit=250
-org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
-org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
-org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true
-org.eclipse.jdt.core.formatter.tabulation.char=space
-org.eclipse.jdt.core.formatter.tabulation.size=4
-org.eclipse.jdt.core.formatter.use_on_off_tags=false
-org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
-org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
-org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true
-org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true
diff --git a/lttng/org.eclipse.linuxtools.ctf.parser.tests/.settings/org.eclipse.jdt.ui.prefs b/lttng/org.eclipse.linuxtools.ctf.parser.tests/.settings/org.eclipse.jdt.ui.prefs
deleted file mode 100644
index 4fd0c7006a..0000000000
--- a/lttng/org.eclipse.linuxtools.ctf.parser.tests/.settings/org.eclipse.jdt.ui.prefs
+++ /dev/null
@@ -1,56 +0,0 @@
-eclipse.preferences.version=1
-editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
-formatter_profile=_tmf-style
-formatter_settings_version=12
-sp_cleanup.add_default_serial_version_id=true
-sp_cleanup.add_generated_serial_version_id=false
-sp_cleanup.add_missing_annotations=false
-sp_cleanup.add_missing_deprecated_annotations=true
-sp_cleanup.add_missing_methods=false
-sp_cleanup.add_missing_nls_tags=false
-sp_cleanup.add_missing_override_annotations=true
-sp_cleanup.add_missing_override_annotations_interface_methods=true
-sp_cleanup.add_serial_version_id=false
-sp_cleanup.always_use_blocks=true
-sp_cleanup.always_use_parentheses_in_expressions=false
-sp_cleanup.always_use_this_for_non_static_field_access=false
-sp_cleanup.always_use_this_for_non_static_method_access=false
-sp_cleanup.convert_to_enhanced_for_loop=false
-sp_cleanup.correct_indentation=false
-sp_cleanup.format_source_code=false
-sp_cleanup.format_source_code_changes_only=false
-sp_cleanup.make_local_variable_final=false
-sp_cleanup.make_parameters_final=false
-sp_cleanup.make_private_fields_final=true
-sp_cleanup.make_type_abstract_if_missing_method=false
-sp_cleanup.make_variable_declarations_final=false
-sp_cleanup.never_use_blocks=false
-sp_cleanup.never_use_parentheses_in_expressions=true
-sp_cleanup.on_save_use_additional_actions=true
-sp_cleanup.organize_imports=false
-sp_cleanup.qualify_static_field_accesses_with_declaring_class=false
-sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_with_declaring_class=false
-sp_cleanup.qualify_static_method_accesses_with_declaring_class=false
-sp_cleanup.remove_private_constructors=true
-sp_cleanup.remove_trailing_whitespaces=true
-sp_cleanup.remove_trailing_whitespaces_all=true
-sp_cleanup.remove_trailing_whitespaces_ignore_empty=false
-sp_cleanup.remove_unnecessary_casts=false
-sp_cleanup.remove_unnecessary_nls_tags=false
-sp_cleanup.remove_unused_imports=false
-sp_cleanup.remove_unused_local_variables=false
-sp_cleanup.remove_unused_private_fields=true
-sp_cleanup.remove_unused_private_members=false
-sp_cleanup.remove_unused_private_methods=true
-sp_cleanup.remove_unused_private_types=true
-sp_cleanup.sort_members=false
-sp_cleanup.sort_members_all=false
-sp_cleanup.use_blocks=true
-sp_cleanup.use_blocks_only_for_return_and_throw=false
-sp_cleanup.use_parentheses_in_expressions=false
-sp_cleanup.use_this_for_non_static_field_access=false
-sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=true
-sp_cleanup.use_this_for_non_static_method_access=false
-sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true
diff --git a/lttng/org.eclipse.linuxtools.ctf.parser.tests/.settings/org.eclipse.pde.api.tools.prefs b/lttng/org.eclipse.linuxtools.ctf.parser.tests/.settings/org.eclipse.pde.api.tools.prefs
deleted file mode 100644
index acc3abd47c..0000000000
--- a/lttng/org.eclipse.linuxtools.ctf.parser.tests/.settings/org.eclipse.pde.api.tools.prefs
+++ /dev/null
@@ -1,97 +0,0 @@
-ANNOTATION_ELEMENT_TYPE_ADDED_METHOD_WITHOUT_DEFAULT_VALUE=Error
-ANNOTATION_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
-ANNOTATION_ELEMENT_TYPE_REMOVED_FIELD=Error
-ANNOTATION_ELEMENT_TYPE_REMOVED_METHOD=Error
-ANNOTATION_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
-API_COMPONENT_ELEMENT_TYPE_REMOVED_API_TYPE=Error
-API_COMPONENT_ELEMENT_TYPE_REMOVED_REEXPORTED_API_TYPE=Error
-API_COMPONENT_ELEMENT_TYPE_REMOVED_REEXPORTED_TYPE=Error
-API_COMPONENT_ELEMENT_TYPE_REMOVED_TYPE=Error
-API_USE_SCAN_FIELD_SEVERITY=Error
-API_USE_SCAN_METHOD_SEVERITY=Error
-API_USE_SCAN_TYPE_SEVERITY=Error
-CLASS_ELEMENT_TYPE_ADDED_METHOD=Error
-CLASS_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
-CLASS_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
-CLASS_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error
-CLASS_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
-CLASS_ELEMENT_TYPE_CHANGED_NON_ABSTRACT_TO_ABSTRACT=Error
-CLASS_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error
-CLASS_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
-CLASS_ELEMENT_TYPE_REMOVED_CONSTRUCTOR=Error
-CLASS_ELEMENT_TYPE_REMOVED_FIELD=Error
-CLASS_ELEMENT_TYPE_REMOVED_METHOD=Error
-CLASS_ELEMENT_TYPE_REMOVED_SUPERCLASS=Error
-CLASS_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
-CLASS_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
-CONSTRUCTOR_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
-CONSTRUCTOR_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
-CONSTRUCTOR_ELEMENT_TYPE_CHANGED_VARARGS_TO_ARRAY=Error
-CONSTRUCTOR_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
-ENUM_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error
-ENUM_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
-ENUM_ELEMENT_TYPE_REMOVED_ENUM_CONSTANT=Error
-ENUM_ELEMENT_TYPE_REMOVED_FIELD=Error
-ENUM_ELEMENT_TYPE_REMOVED_METHOD=Error
-ENUM_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
-FIELD_ELEMENT_TYPE_ADDED_VALUE=Error
-FIELD_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
-FIELD_ELEMENT_TYPE_CHANGED_FINAL_TO_NON_FINAL_STATIC_CONSTANT=Error
-FIELD_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error
-FIELD_ELEMENT_TYPE_CHANGED_NON_STATIC_TO_STATIC=Error
-FIELD_ELEMENT_TYPE_CHANGED_STATIC_TO_NON_STATIC=Error
-FIELD_ELEMENT_TYPE_CHANGED_TYPE=Error
-FIELD_ELEMENT_TYPE_CHANGED_VALUE=Error
-FIELD_ELEMENT_TYPE_REMOVED_TYPE_ARGUMENT=Error
-FIELD_ELEMENT_TYPE_REMOVED_VALUE=Error
-ILLEGAL_EXTEND=Warning
-ILLEGAL_IMPLEMENT=Warning
-ILLEGAL_INSTANTIATE=Warning
-ILLEGAL_OVERRIDE=Warning
-ILLEGAL_REFERENCE=Warning
-INTERFACE_ELEMENT_TYPE_ADDED_FIELD=Error
-INTERFACE_ELEMENT_TYPE_ADDED_METHOD=Error
-INTERFACE_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
-INTERFACE_ELEMENT_TYPE_ADDED_SUPER_INTERFACE_WITH_METHODS=Error
-INTERFACE_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
-INTERFACE_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error
-INTERFACE_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
-INTERFACE_ELEMENT_TYPE_REMOVED_FIELD=Error
-INTERFACE_ELEMENT_TYPE_REMOVED_METHOD=Error
-INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
-INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
-INVALID_JAVADOC_TAG=Warning
-INVALID_REFERENCE_IN_SYSTEM_LIBRARIES=Warning
-LEAK_EXTEND=Warning
-LEAK_FIELD_DECL=Warning
-LEAK_IMPLEMENT=Warning
-LEAK_METHOD_PARAM=Warning
-LEAK_METHOD_RETURN_TYPE=Warning
-METHOD_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
-METHOD_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
-METHOD_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
-METHOD_ELEMENT_TYPE_CHANGED_NON_ABSTRACT_TO_ABSTRACT=Error
-METHOD_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error
-METHOD_ELEMENT_TYPE_CHANGED_NON_STATIC_TO_STATIC=Error
-METHOD_ELEMENT_TYPE_CHANGED_STATIC_TO_NON_STATIC=Error
-METHOD_ELEMENT_TYPE_CHANGED_VARARGS_TO_ARRAY=Error
-METHOD_ELEMENT_TYPE_REMOVED_ANNOTATION_DEFAULT_VALUE=Error
-METHOD_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
-MISSING_EE_DESCRIPTIONS=Ignore
-TYPE_PARAMETER_ELEMENT_TYPE_ADDED_CLASS_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_ADDED_INTERFACE_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_CHANGED_CLASS_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_CHANGED_INTERFACE_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_CLASS_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error
-UNUSED_PROBLEM_FILTERS=Warning
-automatically_removed_unused_problem_filters=false
-eclipse.preferences.version=1
-incompatible_api_component_version=Error
-incompatible_api_component_version_include_major_without_breaking_change=Disabled
-incompatible_api_component_version_include_minor_without_api_change=Disabled
-invalid_since_tag_version=Error
-malformed_since_tag=Error
-missing_since_tag=Error
-report_api_breakage_when_major_version_incremented=Disabled
-report_resolution_errors_api_component=Warning
diff --git a/lttng/org.eclipse.linuxtools.ctf.parser.tests/.settings/org.eclipse.pde.prefs b/lttng/org.eclipse.linuxtools.ctf.parser.tests/.settings/org.eclipse.pde.prefs
deleted file mode 100644
index 62cfa90dee..0000000000
--- a/lttng/org.eclipse.linuxtools.ctf.parser.tests/.settings/org.eclipse.pde.prefs
+++ /dev/null
@@ -1,32 +0,0 @@
-compilers.f.unresolved-features=1
-compilers.f.unresolved-plugins=1
-compilers.incompatible-environment=1
-compilers.p.build=1
-compilers.p.build.bin.includes=1
-compilers.p.build.encodings=2
-compilers.p.build.java.compiler=2
-compilers.p.build.java.compliance=1
-compilers.p.build.missing.output=2
-compilers.p.build.output.library=1
-compilers.p.build.source.library=1
-compilers.p.build.src.includes=1
-compilers.p.deprecated=1
-compilers.p.discouraged-class=1
-compilers.p.internal=1
-compilers.p.missing-packages=2
-compilers.p.missing-version-export-package=2
-compilers.p.missing-version-import-package=2
-compilers.p.missing-version-require-bundle=2
-compilers.p.no-required-att=0
-compilers.p.not-externalized-att=2
-compilers.p.unknown-attribute=1
-compilers.p.unknown-class=1
-compilers.p.unknown-element=1
-compilers.p.unknown-identifier=1
-compilers.p.unknown-resource=1
-compilers.p.unresolved-ex-points=0
-compilers.p.unresolved-import=0
-compilers.s.create-docs=false
-compilers.s.doc-folder=doc
-compilers.s.open-tags=1
-eclipse.preferences.version=1
diff --git a/lttng/org.eclipse.linuxtools.ctf.parser.tests/META-INF/MANIFEST.MF b/lttng/org.eclipse.linuxtools.ctf.parser.tests/META-INF/MANIFEST.MF
deleted file mode 100644
index 7dfa176b7b..0000000000
--- a/lttng/org.eclipse.linuxtools.ctf.parser.tests/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,15 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %Bundle-Name
-Bundle-Vendor: %Bundle-Vendor
-Bundle-Version: 3.1.0.qualifier
-Bundle-Localization: plugin
-Bundle-SymbolicName: org.eclipse.linuxtools.ctf.parser.tests;singleton:=true
-Bundle-ActivationPolicy: lazy
-Bundle-RequiredExecutionEnvironment: JavaSE-1.7
-Require-Bundle: org.junit;bundle-version="4.0.0",
- org.eclipse.core.runtime,
- org.eclipse.linuxtools.ctf.parser;bundle-version="3.1.0"
-Export-Package: org.eclipse.linuxtools.ctf.parser.tests
-Import-Package: org.antlr.runtime;version="3.2.0",
- org.antlr.runtime.tree;version="3.2.0"
diff --git a/lttng/org.eclipse.linuxtools.ctf.parser.tests/about.html b/lttng/org.eclipse.linuxtools.ctf.parser.tests/about.html
deleted file mode 100644
index c258ef55d8..0000000000
--- a/lttng/org.eclipse.linuxtools.ctf.parser.tests/about.html
+++ /dev/null
@@ -1,28 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
-<title>About</title>
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
-
-<p>June 5, 2006</p>
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;). Unless otherwise
-indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is available
-at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is
-being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content. Check the Redistributor's license that was
-provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at <a href="http://www.eclipse.org/">http://www.eclipse.org</a>.</p>
-
-</body>
-</html> \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.ctf.parser.tests/build.properties b/lttng/org.eclipse.linuxtools.ctf.parser.tests/build.properties
deleted file mode 100644
index 9141cf0dd5..0000000000
--- a/lttng/org.eclipse.linuxtools.ctf.parser.tests/build.properties
+++ /dev/null
@@ -1,18 +0,0 @@
-###############################################################################
-# Copyright (c) 2013 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:
-# Etienne Bergeron - Initial API and implementation
-###############################################################################
-
-source.. = src/
-output.. = bin/
-bin.includes = META-INF/,\
- .,\
- plugin.properties
-src.includes = about.html
diff --git a/lttng/org.eclipse.linuxtools.ctf.parser.tests/plugin.properties b/lttng/org.eclipse.linuxtools.ctf.parser.tests/plugin.properties
deleted file mode 100644
index d9e2e122bd..0000000000
--- a/lttng/org.eclipse.linuxtools.ctf.parser.tests/plugin.properties
+++ /dev/null
@@ -1,15 +0,0 @@
-###############################################################################
-# Copyright (c) 2013 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:
-# Etienne Bergeron - Initial API and implementation
-###############################################################################
-
-#Properties file for org.eclipse.linuxtools.ctf.parser.tests
-Bundle-Vendor = Eclipse Linux Tools
-Bundle-Name = Linux Tools CTF Parser Tests Plug-in
diff --git a/lttng/org.eclipse.linuxtools.ctf.parser.tests/pom.xml b/lttng/org.eclipse.linuxtools.ctf.parser.tests/pom.xml
deleted file mode 100644
index e50f957977..0000000000
--- a/lttng/org.eclipse.linuxtools.ctf.parser.tests/pom.xml
+++ /dev/null
@@ -1,44 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Copyright (c) 2013 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
--->
-<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
- <modelVersion>4.0.0</modelVersion>
-
- <parent>
- <artifactId>linuxtools-lttng-parent</artifactId>
- <groupId>org.eclipse.linuxtools.lttng</groupId>
- <version>3.2.0-SNAPSHOT</version>
- </parent>
-
- <artifactId>org.eclipse.linuxtools.ctf.parser.tests</artifactId>
- <groupId>org.eclipse.linuxtools.ctf</groupId>
- <version>3.1.0-SNAPSHOT</version>
- <packaging>eclipse-test-plugin</packaging>
-
- <name>Linux Tools CTF Parser Tests Plug-in</name>
-
- <build>
- <plugins>
- <plugin>
- <groupId>org.eclipse.tycho</groupId>
- <artifactId>tycho-surefire-plugin</artifactId>
- <version>${tycho-version}</version>
- <configuration>
- <testSuite>org.eclipse.linuxtools.ctf.parser.tests</testSuite>
- <testClass>org.eclipse.linuxtools.ctf.parser.tests.AllCtfParserTests</testClass>
- <useUIHarness>false</useUIHarness>
- <useUIThread>false</useUIThread>
- <product>org.eclipse.platform.ide</product>
- </configuration>
- </plugin>
- </plugins>
- </build>
-
-</project>
diff --git a/lttng/org.eclipse.linuxtools.ctf.parser.tests/src/org/eclipse/linuxtools/ctf/parser/tests/AllCtfParserTests.java b/lttng/org.eclipse.linuxtools.ctf.parser.tests/src/org/eclipse/linuxtools/ctf/parser/tests/AllCtfParserTests.java
deleted file mode 100644
index 19e2e83d4c..0000000000
--- a/lttng/org.eclipse.linuxtools.ctf.parser.tests/src/org/eclipse/linuxtools/ctf/parser/tests/AllCtfParserTests.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 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:
- * Etienne Bergeron - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.ctf.parser.tests;
-
-import org.junit.runner.RunWith;
-import org.junit.runners.Suite;
-
-/**
- * Master test suite for CTF parser.
- */
-@RunWith(Suite.class)
-@Suite.SuiteClasses({
- CtfLexerTest.class,
- CtfParserTest.class
-})
-
-public class AllCtfParserTests {
-
-}
diff --git a/lttng/org.eclipse.linuxtools.ctf.parser.tests/src/org/eclipse/linuxtools/ctf/parser/tests/CtfLexerTest.java b/lttng/org.eclipse.linuxtools.ctf.parser.tests/src/org/eclipse/linuxtools/ctf/parser/tests/CtfLexerTest.java
deleted file mode 100644
index e5b5e35234..0000000000
--- a/lttng/org.eclipse.linuxtools.ctf.parser.tests/src/org/eclipse/linuxtools/ctf/parser/tests/CtfLexerTest.java
+++ /dev/null
@@ -1,471 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013, 2014 Etienne Bergeron
- *
- * 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:
- * Etienne Bergeron - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.ctf.parser.tests;
-
-import static org.junit.Assert.fail;
-
-import java.util.LinkedList;
-import java.util.List;
-
-import org.antlr.runtime.ANTLRStringStream;
-import org.antlr.runtime.CharStream;
-import org.antlr.runtime.Token;
-import org.eclipse.linuxtools.ctf.parser.CTFLexer;
-import org.junit.Ignore;
-import org.junit.Test;
-
-/**
- * This test validates the CTF-Lexer implementation.
- *
- * The test splits a string into tokens with the compiled lexer and
- * validates the sequences of tokens produced by comparing their type
- * and content.
- *
- * @author Etienne Bergeron
- */
-public class CtfLexerTest {
-
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
-
- private final List<Token> tokens = new LinkedList<>();
-
- // ------------------------------------------------------------------------
- // Operations
- // ------------------------------------------------------------------------
-
- private void tokenize(String content) {
- CharStream cs = new ANTLRStringStream(content);
- CTFLexer lexer = new CTFLexer(cs);
-
- tokens.clear();
- for (;;) {
- Token token = lexer.nextToken();
- if (token == Token.EOF_TOKEN) {
- return;
- }
- tokens.add(token);
- }
- }
-
- private void checkToken(int type, String content) {
- Token token = tokens.remove(0);
- if (token.getType() != type) {
- fail("Invalid type [value " + token.getType()
- + " but expect " + type + "]."
- + " Fail to tokenize:" + content);
- } else if (token.getText().compareTo(content) != 0) {
- fail("Invalid content [value " + token.getText()
- + " but expect " + content + "].");
- }
- }
-
- private void checkSingle(int type, String content) {
- tokenize(content);
- checkToken(type, content);
- }
-
- // ------------------------------------------------------------------------
- // Test cases
- // ------------------------------------------------------------------------
-
- /**
- * Validate the parsing of keywords
- */
- @Test
- public void testKeywords() {
- checkSingle(CTFLexer.ALIGNTOK, "align");
- checkSingle(CTFLexer.CONSTTOK, "const");
- checkSingle(CTFLexer.CHARTOK, "char");
- checkSingle(CTFLexer.DOUBLETOK, "double");
- checkSingle(CTFLexer.ENUMTOK, "enum");
- checkSingle(CTFLexer.EVENTTOK, "event");
- checkSingle(CTFLexer.FLOATINGPOINTTOK, "floating_point");
- checkSingle(CTFLexer.FLOATTOK, "float");
- checkSingle(CTFLexer.INTEGERTOK, "integer");
- checkSingle(CTFLexer.INTTOK, "int");
- checkSingle(CTFLexer.LONGTOK, "long");
- checkSingle(CTFLexer.SHORTTOK, "short");
- checkSingle(CTFLexer.SIGNEDTOK, "signed");
- checkSingle(CTFLexer.STREAMTOK, "stream");
- checkSingle(CTFLexer.STRINGTOK, "string");
- checkSingle(CTFLexer.STRUCTTOK, "struct");
- checkSingle(CTFLexer.TRACETOK, "trace");
- checkSingle(CTFLexer.TYPEALIASTOK, "typealias");
- checkSingle(CTFLexer.TYPEDEFTOK, "typedef");
- checkSingle(CTFLexer.UNSIGNEDTOK, "unsigned");
- checkSingle(CTFLexer.VARIANTTOK, "variant");
- checkSingle(CTFLexer.VOIDTOK, "void");
- checkSingle(CTFLexer.BOOLTOK, "_Bool");
- checkSingle(CTFLexer.COMPLEXTOK, "_Complex");
- checkSingle(CTFLexer.IMAGINARYTOK, "_Imaginary");
- checkSingle(CTFLexer.ENVTOK, "env");
- checkSingle(CTFLexer.CLOCKTOK, "clock");
- checkSingle(CTFLexer.CALLSITETOK, "callsite");
- checkSingle(CTFLexer.NANNUMBERTOK, "NaN");
- checkSingle(CTFLexer.INFINITYTOK, "+inf");
- checkSingle(CTFLexer.NINFINITYTOK, "-inf");
- }
-
- /**
- * Validate the parsing of symbols
- */
- @Test
- public void testSymbols() {
- tokenize(" , : ... ");
- checkToken(CTFLexer.WS, " ");
- checkToken(CTFLexer.SEPARATOR, ",");
- checkToken(CTFLexer.WS, " ");
- checkToken(CTFLexer.COLON, ":");
- checkToken(CTFLexer.WS, " ");
- checkToken(CTFLexer.ELIPSES, "...");
- checkToken(CTFLexer.WS, " ");
-
- tokenize(" = := = ");
- checkToken(CTFLexer.WS, " ");
- checkToken(CTFLexer.ASSIGNMENT, "=");
- checkToken(CTFLexer.WS, " ");
- checkToken(CTFLexer.TYPE_ASSIGNMENT, ":=");
- checkToken(CTFLexer.WS, " ");
-
- tokenize(" <<>> ");
- checkToken(CTFLexer.WS, " ");
- checkToken(CTFLexer.LT, "<");
- checkToken(CTFLexer.LT, "<");
- checkToken(CTFLexer.GT, ">");
- checkToken(CTFLexer.GT, ">");
- checkToken(CTFLexer.WS, " ");
-
- tokenize(" ({[]}) ");
- checkToken(CTFLexer.WS, " ");
- checkToken(CTFLexer.LPAREN, "(");
- checkToken(CTFLexer.LCURL, "{");
- checkToken(CTFLexer.OPENBRAC, "[");
- checkToken(CTFLexer.CLOSEBRAC, "]");
- checkToken(CTFLexer.RCURL, "}");
- checkToken(CTFLexer.RPAREN, ")");
- checkToken(CTFLexer.WS, " ");
-
- tokenize(";;");
- checkToken(CTFLexer.TERM, ";");
- checkToken(CTFLexer.TERM, ";");
-
- tokenize(" ++ -- ");
- checkToken(CTFLexer.WS, " ");
- checkToken(CTFLexer.SIGN, "+");
- checkToken(CTFLexer.SIGN, "+");
- checkToken(CTFLexer.WS, " ");
- checkToken(CTFLexer.SIGN, "-");
- checkToken(CTFLexer.SIGN, "-");
- checkToken(CTFLexer.WS, " ");
-
- tokenize("-> .*.");
- checkToken(CTFLexer.ARROW, "->");
- checkToken(CTFLexer.WS, " ");
- checkToken(CTFLexer.DOT, ".");
- checkToken(CTFLexer.POINTER, "*");
- checkToken(CTFLexer.DOT, ".");
- }
-
- /**
- * Validate the parsing of literals
- */
- @Test
- public void testLiterals() {
- tokenize("01 02 010");
- checkToken(CTFLexer.OCTAL_LITERAL, "01");
- checkToken(CTFLexer.WS, " ");
- checkToken(CTFLexer.OCTAL_LITERAL, "02");
- checkToken(CTFLexer.WS, " ");
- checkToken(CTFLexer.OCTAL_LITERAL, "010");
-
- tokenize("1 2 10 1024 ");
- checkToken(CTFLexer.DECIMAL_LITERAL, "1");
- checkToken(CTFLexer.WS, " ");
- checkToken(CTFLexer.DECIMAL_LITERAL, "2");
- checkToken(CTFLexer.WS, " ");
- checkToken(CTFLexer.DECIMAL_LITERAL, "10");
- checkToken(CTFLexer.WS, " ");
- checkToken(CTFLexer.DECIMAL_LITERAL, "1024");
- checkToken(CTFLexer.WS, " ");
-
- tokenize("0x01 0x02 0x0F0");
- checkToken(CTFLexer.HEX_LITERAL, "0x01");
- checkToken(CTFLexer.WS, " ");
- checkToken(CTFLexer.HEX_LITERAL, "0x02");
- checkToken(CTFLexer.WS, " ");
- checkToken(CTFLexer.HEX_LITERAL, "0x0F0");
- }
-
- /**
- * Validate the parsing of literals with hexa prefix
- */
- @Test
- public void testLiteralPrefixes() {
- checkSingle(CTFLexer.HEX_LITERAL, "0x1");
- checkSingle(CTFLexer.HEX_LITERAL, "0X1");
- }
-
- /**
- * Validate the parsing of literals with type suffix
- */
- @Test
- public void testLiteralSuffixes() {
- checkSingle(CTFLexer.DECIMAL_LITERAL, "0l");
- checkSingle(CTFLexer.DECIMAL_LITERAL, "0L");
- checkSingle(CTFLexer.DECIMAL_LITERAL, "0ll");
- checkSingle(CTFLexer.DECIMAL_LITERAL, "0LL");
- checkSingle(CTFLexer.DECIMAL_LITERAL, "0ul");
- checkSingle(CTFLexer.DECIMAL_LITERAL, "0uL");
- checkSingle(CTFLexer.DECIMAL_LITERAL, "0ull");
- checkSingle(CTFLexer.DECIMAL_LITERAL, "0uLL");
- checkSingle(CTFLexer.DECIMAL_LITERAL, "0Ul");
- checkSingle(CTFLexer.DECIMAL_LITERAL, "0UL");
- checkSingle(CTFLexer.DECIMAL_LITERAL, "0Ull");
- checkSingle(CTFLexer.DECIMAL_LITERAL, "0ULL");
- }
-
- /**
- * Validate the accepted characters in literals.
- */
- @Test
- public void testLiteralDigits() {
- checkSingle(CTFLexer.OCTAL_LITERAL, "001234567");
-
- checkSingle(CTFLexer.DECIMAL_LITERAL, "123456");
- checkSingle(CTFLexer.DECIMAL_LITERAL, "987654");
-
- checkSingle(CTFLexer.HEX_LITERAL, "0x012345");
- checkSingle(CTFLexer.HEX_LITERAL, "0x678990");
- checkSingle(CTFLexer.HEX_LITERAL, "0xABCDEF");
- checkSingle(CTFLexer.HEX_LITERAL, "0xabcdef");
- }
-
- /**
- * Validate zero literal to be the right token.
- */
- @Test
- public void testLiteralZero() {
- checkSingle(CTFLexer.OCTAL_LITERAL, "00");
- checkSingle(CTFLexer.DECIMAL_LITERAL, "0");
- checkSingle(CTFLexer.HEX_LITERAL, "0x0");
- }
-
- /**
- * Validate character literals
- */
- @Test
- public void testCharLiteral() {
- checkSingle(CTFLexer.CHARACTER_LITERAL, "'x'");
- checkSingle(CTFLexer.CHARACTER_LITERAL, "'\\''");
- checkSingle(CTFLexer.CHARACTER_LITERAL, "' '");
- checkSingle(CTFLexer.CHARACTER_LITERAL, "L'1'");
- }
-
- /**
- * Validate escaped character literals
- */
- @Test
- public void testEscapeCharLiteral() {
- checkSingle(CTFLexer.CHARACTER_LITERAL, "'\\a'");
- checkSingle(CTFLexer.CHARACTER_LITERAL, "'\\b'");
- checkSingle(CTFLexer.CHARACTER_LITERAL, "'\\f'");
- checkSingle(CTFLexer.CHARACTER_LITERAL, "'\\n'");
- checkSingle(CTFLexer.CHARACTER_LITERAL, "'\\r'");
- checkSingle(CTFLexer.CHARACTER_LITERAL, "'\\t'");
- checkSingle(CTFLexer.CHARACTER_LITERAL, "'\\v'");
- checkSingle(CTFLexer.CHARACTER_LITERAL, "'\\''");
- checkSingle(CTFLexer.CHARACTER_LITERAL, "'\\\"'");
- checkSingle(CTFLexer.CHARACTER_LITERAL, "'\\\\'");
-
- checkSingle(CTFLexer.CHARACTER_LITERAL, "'\001'");
- checkSingle(CTFLexer.CHARACTER_LITERAL, "'\01'");
- checkSingle(CTFLexer.CHARACTER_LITERAL, "'\1'");
-
- checkSingle(CTFLexer.CHARACTER_LITERAL, "'\\x1A'");
- checkSingle(CTFLexer.CHARACTER_LITERAL, "'\\x1a'");
- checkSingle(CTFLexer.CHARACTER_LITERAL, "'\\xa'");
- checkSingle(CTFLexer.CHARACTER_LITERAL, "'\\x0'");
-
- checkSingle(CTFLexer.CHARACTER_LITERAL, "'\uABCD'");
- checkSingle(CTFLexer.CHARACTER_LITERAL, "'\u0123'");
- checkSingle(CTFLexer.CHARACTER_LITERAL, "'\u012345678'");
- checkSingle(CTFLexer.CHARACTER_LITERAL, "'\uFEDCBA987'");
- }
-
- /**
- * Validate string literals
- */
- @Test
- public void testStringLiteral() {
- checkSingle(CTFLexer.STRING_LITERAL, "\"\"");
- checkSingle(CTFLexer.STRING_LITERAL, "\"x\"");
- checkSingle(CTFLexer.STRING_LITERAL, "\"\\\"\"");
- checkSingle(CTFLexer.STRING_LITERAL, "\" \"");
- checkSingle(CTFLexer.STRING_LITERAL, "L\"1\"");
-
- checkSingle(CTFLexer.STRING_LITERAL, "\"This is \\n a multiline\\r\\n\"");
- checkSingle(CTFLexer.STRING_LITERAL, "L\"This is \\n a multiline\\r\\n\"");
- }
-
- /**
- * Validate string literals with escape sequence
- */
- @Test
- public void testEscapeStringLiteral() {
- checkSingle(CTFLexer.STRING_LITERAL, "\"\\a\"");
- checkSingle(CTFLexer.STRING_LITERAL, "\"\\b\"");
- checkSingle(CTFLexer.STRING_LITERAL, "\"\\f\"");
- checkSingle(CTFLexer.STRING_LITERAL, "\"\\n\"");
- checkSingle(CTFLexer.STRING_LITERAL, "\"\\r\"");
- checkSingle(CTFLexer.STRING_LITERAL, "\"\\t\"");
- checkSingle(CTFLexer.STRING_LITERAL, "\"\\v\"");
- checkSingle(CTFLexer.STRING_LITERAL, "\"\\'\"");
- checkSingle(CTFLexer.STRING_LITERAL, "\"\\\"\"");
- checkSingle(CTFLexer.STRING_LITERAL, "\"\\\\\"");
-
- checkSingle(CTFLexer.STRING_LITERAL, "\"\001\"");
- checkSingle(CTFLexer.STRING_LITERAL, "\"\01\"");
- checkSingle(CTFLexer.STRING_LITERAL, "\"\1\"");
-
- checkSingle(CTFLexer.STRING_LITERAL, "\"\\x1A\"");
- checkSingle(CTFLexer.STRING_LITERAL, "\"\\x1a\"");
- checkSingle(CTFLexer.STRING_LITERAL, "\"\\xa\"");
- checkSingle(CTFLexer.STRING_LITERAL, "\"\\x0\"");
-
- checkSingle(CTFLexer.STRING_LITERAL, "\"\uABCD\"");
- checkSingle(CTFLexer.STRING_LITERAL, "\"\u0123\"");
- checkSingle(CTFLexer.STRING_LITERAL, "\"\u012345678\"");
- checkSingle(CTFLexer.STRING_LITERAL, "\"\uFEDCBA987\"");
- }
-
- /**
- * Validate spaces parsing
- */
- @Test
- public void testWhitespaces() {
- tokenize(" \r\t\n\u000C ");
- checkToken(CTFLexer.WS, " ");
- checkToken(CTFLexer.WS, " ");
- checkToken(CTFLexer.WS, "\r");
- checkToken(CTFLexer.WS, "\t");
- checkToken(CTFLexer.WS, "\n");
- checkToken(CTFLexer.WS, "\u000C");
- checkToken(CTFLexer.WS, " ");
- }
-
- /**
- * Validate comments parsing
- */
- @Test
- public void testComment() {
- tokenize(" /* test */ ");
- checkToken(CTFLexer.WS, " ");
- checkToken(CTFLexer.COMMENT, "/* test */");
- checkToken(CTFLexer.WS, " ");
- }
-
- /**
- * Validate complex nested comments parsing
- */
- @Test
- public void testNestedComment() {
- tokenize(" /* /* */ ");
- checkToken(CTFLexer.WS, " ");
- checkToken(CTFLexer.COMMENT, "/* /* */");
- checkToken(CTFLexer.WS, " ");
-
- tokenize(" /* /* * ** / */ ");
- checkToken(CTFLexer.WS, " ");
- checkToken(CTFLexer.COMMENT, "/* /* * ** / */");
- checkToken(CTFLexer.WS, " ");
- }
-
- /**
- * Validate multi-lines comments
- */
- @Test
- public void testMultiLineComment() {
- tokenize(" /*\ntest\n*/ ");
- checkToken(CTFLexer.WS, " ");
- checkToken(CTFLexer.COMMENT, "/*\ntest\n*/");
- checkToken(CTFLexer.WS, " ");
- }
-
- /**
- * Validate single line comments
- */
- @Test
- public void testLineComment() {
- tokenize(" // asdad\r\n ");
- checkToken(CTFLexer.WS, " ");
- checkToken(CTFLexer.LINE_COMMENT, "// asdad\r\n");
- checkToken(CTFLexer.WS, " ");
- }
-
- /**
- * Validate incomplete comments parsing
- */
- @Ignore("Lexer must be fixed first")
- @Test
- public void testLineCommentWithEOF() {
- tokenize("//");
- checkToken(CTFLexer.LINE_COMMENT, "//");
- }
-
- /**
- * Validate parsing of mixed kind of comments
- */
- @Test
- public void testMixedComment() {
- tokenize(" // /*\n");
- checkToken(CTFLexer.WS, " ");
- checkToken(CTFLexer.LINE_COMMENT, "// /*\n");
-
- tokenize(" /*\n//\n*/ ");
- checkToken(CTFLexer.WS, " ");
- checkToken(CTFLexer.COMMENT, "/*\n//\n*/");
- checkToken(CTFLexer.WS, " ");
- }
-
- /**
- * Validate parsing identifiers
- */
- @Test
- public void testIdentifier() {
- tokenize("_ a a1 B ");
- checkToken(CTFLexer.IDENTIFIER, "_");
- checkToken(CTFLexer.WS, " ");
- checkToken(CTFLexer.IDENTIFIER, "a");
- checkToken(CTFLexer.WS, " ");
- checkToken(CTFLexer.IDENTIFIER, "a1");
- checkToken(CTFLexer.WS, " ");
- checkToken(CTFLexer.IDENTIFIER, "B");
- checkToken(CTFLexer.WS, " ");
- }
-
- /**
- * Validate accepted characters within an identifier
- */
- @Test
- public void testIdentifierLetters() {
- checkSingle(CTFLexer.IDENTIFIER, "ABCDEFGHI");
- checkSingle(CTFLexer.IDENTIFIER, "JKLMNOPQR");
- checkSingle(CTFLexer.IDENTIFIER, "STUVWXYZ");
- checkSingle(CTFLexer.IDENTIFIER, "abcdefghi");
- checkSingle(CTFLexer.IDENTIFIER, "jklmnopqr");
- checkSingle(CTFLexer.IDENTIFIER, "stuvwxyz");
- checkSingle(CTFLexer.IDENTIFIER, "_0123456789");
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.ctf.parser.tests/src/org/eclipse/linuxtools/ctf/parser/tests/CtfParserTest.java b/lttng/org.eclipse.linuxtools.ctf.parser.tests/src/org/eclipse/linuxtools/ctf/parser/tests/CtfParserTest.java
deleted file mode 100644
index 9eb4a739c2..0000000000
--- a/lttng/org.eclipse.linuxtools.ctf.parser.tests/src/org/eclipse/linuxtools/ctf/parser/tests/CtfParserTest.java
+++ /dev/null
@@ -1,652 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 Etienne Bergeron
- *
- * 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:
- * Etienne Bergeron - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.ctf.parser.tests;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.fail;
-
-import org.antlr.runtime.ANTLRStringStream;
-import org.antlr.runtime.CharStream;
-import org.antlr.runtime.CommonTokenStream;
-import org.antlr.runtime.RecognitionException;
-import org.antlr.runtime.tree.CommonTree;
-import org.eclipse.linuxtools.ctf.parser.CTFLexer;
-import org.eclipse.linuxtools.ctf.parser.CTFParser;
-import org.junit.Ignore;
-import org.junit.Test;
-
-/**
- * This test validates the CTF-Parser implementation.
- *
- * The goal of these tests is to validate syntactic rules and not the
- * CTF semantic. Each test parses a string with a given rule of the
- * compiled parser and validates the resulting tree by using match rules.
- *
- * @author Etienne Bergeron
- */
-public class CtfParserTest {
-
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
-
- private CTFParser parser;
-
- // ------------------------------------------------------------------------
- // Matches - Helper class and functions to match a parsed tree.
- // ------------------------------------------------------------------------
-
- private class TreeMatcher {
- int fType;
- String fText;
- TreeMatcher[] fChild;
-
- TreeMatcher(int type, String text, TreeMatcher child[]) {
- fType = type;
- fText = text;
- fChild = child;
- }
-
- void matches(CommonTree tree) {
- if (fType == -1) {
- return;
- }
- if (tree.getType() != fType) {
- fail("Type mismatch!" +
- " expected:" + fType +
- " actual:" + tree.getType());
- }
-
- if (fText != null) {
- if (tree.getText().compareTo(fText) != 0) {
- fail("Text mismatch!" +
- " expected:" + fText +
- " actual:" + tree.getText());
- }
- }
-
- if (fChild != null) {
- int size = fChild.length;
- if (tree.getChildren() == null) {
- if (size != 0) {
- fail("Invalid children!"
- + "Expect: " + size + "child");
- }
- } else {
- if (tree.getChildren().size() != size) {
- fail("Invalid number of childs!"
- + " expected:" + size
- + " actual:" + tree.getChildren().size());
- }
-
- for (int i = 0; i < size; ++i) {
- fChild[i].matches((CommonTree) tree.getChild(i));
- }
- }
- }
- }
- }
-
- void Matches(TreeMatcher matcher, CommonTree tree) {
- if (tree == null) {
- fail("Parsing failed!");
- }
- matcher.matches(tree);
- }
-
- TreeMatcher All() {
- return new TreeMatcher(-1, null, null);
- }
-
- TreeMatcher Node(int type, TreeMatcher... child) {
- return new TreeMatcher(type, null, child);
- }
-
- TreeMatcher Node(int type, String text, TreeMatcher... child) {
- return new TreeMatcher(type, text, child);
- }
-
- TreeMatcher List(TreeMatcher... child) {
- return new TreeMatcher(0, null, child);
- }
-
- // ------------------------------------------------------------------------
- // Operations
- // ------------------------------------------------------------------------
-
- private void setInput(String content) {
- CharStream cs = new ANTLRStringStream(content);
- CTFLexer lexer = new CTFLexer(cs);
- CommonTokenStream tokens = new CommonTokenStream(lexer);
- parser = new CTFParser(tokens, false);
- }
-
- private CommonTree primaryExpression(String content) {
- try {
- setInput(content);
- return parser.primaryExpression().getTree();
- } catch (RecognitionException e) {
- return null;
- }
- }
-
- private CommonTree unaryExpression(String content) {
- try {
- setInput(content);
- return parser.unaryExpression().getTree();
- } catch (RecognitionException e) {
- return null;
- }
- }
-
- private CommonTree declaration(String content) {
- try {
- setInput(content);
- return parser.declaration().getTree();
- } catch (RecognitionException e) {
- return null;
- }
- }
-
- // ------------------------------------------------------------------------
- // Test cases
- // ------------------------------------------------------------------------
-
-
- /**
- * Validate that parsing of an empty expression is invalid.
- */
- @Test
- public void testPrimaryExpression() {
- CommonTree tree_empty = primaryExpression("");
- assertEquals(null, tree_empty);
- }
-
- /**
- * Validate parsing of literals through a primary expression
- */
- @Test
- public void testIntegerLiteralPrimaryExpression() {
- Matches(Node(CTFParser.UNARY_EXPRESSION_DEC,
- Node(CTFParser.DECIMAL_LITERAL, "123")),
- primaryExpression("123"));
-
- Matches(Node(CTFParser.UNARY_EXPRESSION_HEX,
- Node(CTFParser.HEX_LITERAL, "0x123")),
- primaryExpression("0x123"));
-
- Matches(Node(CTFParser.UNARY_EXPRESSION_OCT,
- Node(CTFParser.OCTAL_LITERAL, "0123")),
- primaryExpression("0123"));
-
- Matches(Node(CTFParser.UNARY_EXPRESSION_DEC,
- Node(CTFParser.DECIMAL_LITERAL, "123"),
- Node(CTFParser.SIGN, "-")),
- primaryExpression("-123"));
-
- Matches(Node(CTFParser.UNARY_EXPRESSION_DEC,
- Node(CTFParser.DECIMAL_LITERAL, "123"),
- Node(CTFParser.SIGN, "-")),
- primaryExpression(" - 123"));
-
- Matches(Node(CTFParser.UNARY_EXPRESSION_DEC,
- Node(CTFParser.DECIMAL_LITERAL, "123"),
- Node(CTFParser.SIGN, "-"),
- Node(CTFParser.SIGN, "-"),
- Node(CTFParser.SIGN, "+")),
- primaryExpression(" - - + 123"));
-
- Matches(Node(CTFParser.UNARY_EXPRESSION_HEX,
- Node(CTFParser.HEX_LITERAL, "0x123"),
- Node(CTFParser.SIGN, "+"),
- Node(CTFParser.SIGN, "-")),
- primaryExpression("+ - 0x123"));
-
- Matches(Node(CTFParser.UNARY_EXPRESSION_OCT,
- Node(CTFParser.OCTAL_LITERAL, "0123"),
- Node(CTFParser.SIGN, "+"),
- Node(CTFParser.SIGN, "-")),
- primaryExpression("+ - 0123"));
- }
-
- /**
- * Validate parsing of a character literals through a primary expression
- */
- @Test
- public void testCharacterLiteralPrimaryExpression() {
- Matches(Node(CTFParser.CHARACTER_LITERAL, "'a'"),
- primaryExpression("'a'"));
-
- Matches(Node(CTFParser.CHARACTER_LITERAL, "'\\n'"),
- primaryExpression("'\\n'"));
- }
-
- /**
- * Validate parsing of a string literals through a primary expression
- */
- @Test
- public void testStringLiteralPrimaryExpression() {
- Matches(Node(CTFParser.UNARY_EXPRESSION_STRING_QUOTES,
- Node(CTFParser.STRING_LITERAL, "\"aaa\"")),
- primaryExpression("\"aaa\""));
-
- Matches(Node(CTFParser.UNARY_EXPRESSION_STRING_QUOTES,
- Node(CTFParser.STRING_LITERAL, "L\"aaa\"")),
- primaryExpression("L\"aaa\""));
-
- Matches(Node(CTFParser.UNARY_EXPRESSION_STRING_QUOTES,
- Node(CTFParser.STRING_LITERAL, "\"aaa\\n\"")),
- primaryExpression("\"aaa\\n\""));
- }
-
- /**
- * Validate parsing of keywords through a primary expression
- */
- @Test
- public void testKeywordPrimaryExpression() {
- Matches(Node(CTFParser.UNARY_EXPRESSION_STRING,
- Node(CTFParser.SIGNEDTOK, "signed")),
- primaryExpression("signed"));
- Matches(Node(CTFParser.UNARY_EXPRESSION_STRING,
- Node(CTFParser.ALIGNTOK, "align")),
- primaryExpression("align"));
- }
-
- /**
- * Validate parsing of identifiers through a primary expression
- */
- @Test
- public void testIdentifierPrimaryExpression() {
- Matches(Node(CTFParser.UNARY_EXPRESSION_STRING,
- Node(CTFParser.IDENTIFIER, "x")),
- primaryExpression("x"));
- Matches(Node(CTFParser.UNARY_EXPRESSION_STRING,
- Node(CTFParser.IDENTIFIER, "_123")),
- primaryExpression("_123"));
- }
-
- /**
- * Validate that parsing of an empty unary expression is invalid.
- */
- @Test
- public void testUnaryExpression() {
- CommonTree tree_empty = unaryExpression("");
- assertEquals(null, tree_empty);
- }
-
- /**
- * Validate parsing primary expression through an unary expression
- */
- @Test
- public void testSimpleUnaryExpression() {
- Matches(Node(CTFParser.UNARY_EXPRESSION_DEC,
- Node(CTFParser.DECIMAL_LITERAL, "123")),
- unaryExpression("123"));
-
- Matches(Node(CTFParser.UNARY_EXPRESSION_STRING,
- Node(CTFParser.IDENTIFIER, "x")),
- unaryExpression("x"));
- }
-
- /**
- * Validate parsing array through an unary expression
- */
- @Test
- public void testArrayUnaryExpression() {
- Matches(List(Node(CTFParser.UNARY_EXPRESSION_STRING,
- Node(CTFParser.IDENTIFIER, "x")),
- Node(CTFParser.OPENBRAC),
- Node(CTFParser.UNARY_EXPRESSION_DEC,
- Node(CTFParser.DECIMAL_LITERAL, "1"))),
- unaryExpression("x[1]"));
-
- Matches(List(Node(CTFParser.UNARY_EXPRESSION_STRING,
- Node(CTFParser.IDENTIFIER, "x")),
- Node(CTFParser.OPENBRAC),
- Node(CTFParser.UNARY_EXPRESSION_STRING,
- Node(CTFParser.IDENTIFIER, "n"))),
- unaryExpression("x[n]"));
-
- Matches(List(Node(CTFParser.UNARY_EXPRESSION_STRING,
- Node(CTFParser.IDENTIFIER, "x")),
- Node(CTFParser.OPENBRAC),
- Node(CTFParser.UNARY_EXPRESSION_STRING,
- Node(CTFParser.IDENTIFIER, "n")),
- Node(CTFParser.OPENBRAC),
- Node(CTFParser.UNARY_EXPRESSION_DEC,
- Node(CTFParser.DECIMAL_LITERAL, "1"))),
- unaryExpression("x[n][1]"));
-
- Matches(List(Node(CTFParser.UNARY_EXPRESSION_STRING,
- Node(CTFParser.IDENTIFIER, "x")),
- Node(CTFParser.OPENBRAC),
- Node(CTFParser.UNARY_EXPRESSION_STRING,
- Node(CTFParser.IDENTIFIER, "n")),
- Node(CTFParser.OPENBRAC),
- Node(CTFParser.UNARY_EXPRESSION_DEC,
- Node(CTFParser.DECIMAL_LITERAL, "1"),
- Node(CTFParser.SIGN, "+"))),
- unaryExpression("x[n][+1]"));
- }
-
- /**
- * Validate parsing array with keywords through an unary expression
- */
- @Test
- public void testSpecialArrayUnaryExpression() {
- // Added for CTF-v1.8
- Matches(List(Node(CTFParser.TRACE),
- Node(CTFParser.OPENBRAC),
- Node(CTFParser.UNARY_EXPRESSION_STRING,
- Node(CTFParser.IDENTIFIER, "n"))),
- unaryExpression("trace[n]"));
-
- Matches(List(Node(CTFParser.CLOCK),
- Node(CTFParser.OPENBRAC),
- Node(CTFParser.UNARY_EXPRESSION_STRING,
- Node(CTFParser.IDENTIFIER, "n")),
- Node(CTFParser.OPENBRAC),
- Node(CTFParser.UNARY_EXPRESSION_DEC,
- Node(CTFParser.DECIMAL_LITERAL, "1"))),
- unaryExpression("clock[n][1]"));
- }
-
- /**
- * Validate parsing member expression through an unary expression
- */
- @Test
- public void testMemberUnaryExpression() {
- Matches(List(Node(CTFParser.UNARY_EXPRESSION_STRING,
- Node(CTFParser.IDENTIFIER, "x")),
- Node(CTFParser.DOT,
- Node(CTFParser.UNARY_EXPRESSION_STRING,
- Node(CTFParser.IDENTIFIER, "y")))),
- unaryExpression("x.y"));
-
- Matches(List(Node(CTFParser.UNARY_EXPRESSION_STRING,
- Node(CTFParser.IDENTIFIER, "x")),
- Node(CTFParser.DOT,
- Node(CTFParser.UNARY_EXPRESSION_STRING,
- Node(CTFParser.IDENTIFIER, "y"))),
- Node(CTFParser.DOT,
- Node(CTFParser.UNARY_EXPRESSION_STRING,
- Node(CTFParser.IDENTIFIER, "z")))),
- unaryExpression("x.y.z"));
- }
-
- /**
- * Validate parsing pointer expression through an unary expression
- */
- @Test
- public void testPointerUnaryExpression() {
- Matches(List(Node(CTFParser.UNARY_EXPRESSION_STRING,
- Node(CTFParser.IDENTIFIER, "x")),
- Node(CTFParser.ARROW,
- Node(CTFParser.UNARY_EXPRESSION_STRING,
- Node(CTFParser.IDENTIFIER, "y")))),
- unaryExpression("x->y"));
-
- Matches(List(Node(CTFParser.UNARY_EXPRESSION_STRING,
- Node(CTFParser.IDENTIFIER, "x")),
- Node(CTFParser.ARROW,
- Node(CTFParser.UNARY_EXPRESSION_STRING,
- Node(CTFParser.IDENTIFIER, "y"))),
- Node(CTFParser.ARROW,
- Node(CTFParser.UNARY_EXPRESSION_STRING,
- Node(CTFParser.IDENTIFIER, "z")))),
- unaryExpression("x->y->z"));
- }
-
- /**
- * Validate complex expressions through an unary expression
- */
- @Test
- public void testMixedUnaryExpression() {
- Matches(List(Node(CTFParser.UNARY_EXPRESSION_STRING,
- Node(CTFParser.IDENTIFIER, "x")),
- Node(CTFParser.OPENBRAC),
- Node(CTFParser.UNARY_EXPRESSION_DEC,
- Node(CTFParser.DECIMAL_LITERAL, "2")),
- Node(CTFParser.ARROW,
- Node(CTFParser.UNARY_EXPRESSION_STRING,
- Node(CTFParser.IDENTIFIER, "y"))),
- Node(CTFParser.DOT,
- Node(CTFParser.UNARY_EXPRESSION_STRING,
- Node(CTFParser.IDENTIFIER, "z"))),
- Node(CTFParser.OPENBRAC),
- Node(CTFParser.UNARY_EXPRESSION_DEC,
- Node(CTFParser.DECIMAL_LITERAL, "1"))),
- unaryExpression("x[2]->y.z[1]"));
- }
-
- /**
- * Validate that parsing of an empty declaration is invalid.
- */
- @Test
- public void testDeclaration() {
- CommonTree tree_empty = declaration("");
- assertEquals(null, tree_empty);
- }
-
- /**
- * Validate parsing of integer declaration
- */
- @Test
- public void testIntegerTypeAliasDeclaration() {
- // TODO: replace the "all" match with a better tree matcher.
- Matches(All(),
- declaration("typealias integer { } := int;"));
- Matches(All(),
- declaration("typealias integer { signed=true; } := int;"));
- }
-
- /**
- * Validate parsing of floating declaration
- */
- @Test
- public void testFloatingTypeAliasDeclaration() {
- // TODO: replace the "all" match with a better tree matcher.
- Matches(All(),
- declaration("typealias floating_point { } := float;"));
- Matches(All(),
- declaration("typealias floating_point { align = 32; } := float;"));
- }
-
- /**
- * Validate parsing of typedef declaration
- */
- @Ignore("This need a fix to the grammar to support a dummy initial scope. ")
- @Test
- public void testTypedefDeclaration() {
- // TODO: replace the "all" match with a better tree matcher.
- Matches(All(),
- declaration("typedef dummy int;"));
- Matches(All(),
- declaration("typedef integer { } int;"));
- }
-
- /**
- * Validate parsing of an enum declaration
- */
- @Test
- public void testEnumDeclaration() {
- Matches(Node(CTFParser.DECLARATION,
- Node(CTFParser.TYPE_SPECIFIER_LIST,
- Node(CTFParser.ENUM,
- Node(CTFParser.ENUM_NAME,
- Node(CTFParser.IDENTIFIER, "name")),
- Node(CTFParser.ENUM_BODY,
- Node(CTFParser.ENUM_ENUMERATOR,
- Node(CTFParser.UNARY_EXPRESSION_STRING,
- Node(CTFParser.IDENTIFIER, "A"))))))),
- declaration("enum name { A };"));
-
- Matches(Node(CTFParser.DECLARATION,
- Node(CTFParser.TYPE_SPECIFIER_LIST,
- Node(CTFParser.ENUM,
- Node(CTFParser.ENUM_NAME, All()),
- Node(CTFParser.ENUM_CONTAINER_TYPE,
- Node(CTFParser.TYPE_SPECIFIER_LIST,
- Node(CTFParser.INTTOK))),
- Node(CTFParser.ENUM_BODY, All())))),
- declaration("enum name : int { A };"));
-
- Matches(Node(CTFParser.DECLARATION,
- Node(CTFParser.TYPE_SPECIFIER_LIST,
- Node(CTFParser.ENUM,
- Node(CTFParser.ENUM_BODY, All())))),
- declaration("enum { A };"));
-
- Matches(Node(CTFParser.DECLARATION,
- Node(CTFParser.TYPE_SPECIFIER_LIST,
- Node(CTFParser.ENUM,
- Node(CTFParser.ENUM_CONTAINER_TYPE,
- Node(CTFParser.TYPE_SPECIFIER_LIST,
- Node(CTFParser.INTTOK))),
- Node(CTFParser.ENUM_BODY, All())))),
- declaration("enum : int { A };"));
- }
-
- /**
- * Validate parsing of an enumerator
- */
- @Ignore("The grammar needs to be fixed.")
- @Test
- public void testDeclaratorOfEnumDeclaration() {
- /* TODO: This test crash the parser. */
- Matches(All(),
- declaration("enum { };"));
-
- Matches(Node(CTFParser.DECLARATION,
- Node(CTFParser.TYPE_SPECIFIER_LIST,
- Node(CTFParser.ENUM,
- Node(CTFParser.ENUM_BODY,
- Node(CTFParser.ENUM_ENUMERATOR,
- Node(CTFParser.UNARY_EXPRESSION_STRING,
- Node(CTFParser.IDENTIFIER, "A"))),
- Node(CTFParser.ENUM_ENUMERATOR,
- Node(CTFParser.UNARY_EXPRESSION_STRING,
- Node(CTFParser.IDENTIFIER, "B")),
- Node(CTFParser.ENUM_VALUE,
- Node(CTFParser.UNARY_EXPRESSION_DEC,
- Node(CTFParser.DECIMAL_LITERAL, "2")))),
- Node(CTFParser.ENUM_ENUMERATOR,
- Node(CTFParser.UNARY_EXPRESSION_STRING,
- Node(CTFParser.IDENTIFIER, "C")),
- Node(CTFParser.ENUM_VALUE_RANGE,
- Node(CTFParser.UNARY_EXPRESSION_DEC,
- Node(CTFParser.DECIMAL_LITERAL, "3")),
- Node(CTFParser.UNARY_EXPRESSION_DEC,
- Node(CTFParser.DECIMAL_LITERAL, "5")))))))),
- declaration("enum { A, B=2, C=3...5 };"));
-
- Matches(Node(CTFParser.DECLARATION,
- Node(CTFParser.TYPE_SPECIFIER_LIST,
- Node(CTFParser.ENUM,
- Node(CTFParser.ENUM_BODY,
- Node(CTFParser.ENUM_ENUMERATOR,
- Node(CTFParser.UNARY_EXPRESSION_STRING_QUOTES,
- Node(CTFParser.STRING_LITERAL, "\"A\""))),
- Node(CTFParser.ENUM_ENUMERATOR,
- Node(CTFParser.UNARY_EXPRESSION_STRING_QUOTES,
- Node(CTFParser.STRING_LITERAL, "\"B\"")),
- All()))))),
- declaration("enum { \"A\", \"B\"=2 };"));
- }
-
- /**
- * Validate parsing of empty declaration
- */
- @Ignore("The grammar need to be fixed to support empty ctf-body.")
- @Test
- public void testEmptyDeclaration() {
- /* TODO: An exception is throw when building an common tree without
- * assignments in the ctf-body.
- */
- Matches(All(),
- declaration("env { };"));
- Matches(All(),
- declaration("trace { };"));
- Matches(All(),
- declaration("stream { };"));
- Matches(All(),
- declaration("event { };"));
- }
-
- /**
- * Validate parsing of an environment declaration
- */
- @Test
- public void testEnvDeclaration() {
- Matches(Node(CTFParser.ENV,
- Node(CTFParser.CTF_EXPRESSION_VAL,
- Node(CTFParser.CTF_LEFT,
- Node(CTFParser.UNARY_EXPRESSION_STRING,
- Node(CTFParser.IDENTIFIER, "pid"))),
- Node(CTFParser.CTF_RIGHT,
- Node(CTFParser.UNARY_EXPRESSION_STRING,
- Node(CTFParser.IDENTIFIER, "value"))))),
- declaration("env { pid = value; };"));
-
- Matches(Node(CTFParser.ENV,
- Node(CTFParser.CTF_EXPRESSION_VAL, All(), All()),
- Node(CTFParser.CTF_EXPRESSION_VAL, All(), All()),
- Node(CTFParser.CTF_EXPRESSION_VAL, All(), All())),
- declaration("env { pid = value; proc_name = \"name\"; x = y;};"));
- }
-
- /**
- * Validate parsing of a trace declaration
- */
- @Ignore("The grammar need to be fixed.")
- @Test
- public void testTraceDeclaration() {
- Matches(Node(CTFParser.TRACE,
- Node(CTFParser.CTF_EXPRESSION_VAL,
- Node(CTFParser.CTF_LEFT,
- Node(CTFParser.UNARY_EXPRESSION_STRING,
- Node(CTFParser.IDENTIFIER, "major"))),
- Node(CTFParser.CTF_RIGHT,
- Node(CTFParser.UNARY_EXPRESSION_DEC,
- Node(CTFParser.DECIMAL_LITERAL, "1"))))),
- declaration("trace { major = 1; };"));
-
- Matches(Node(CTFParser.TRACE,
- Node(CTFParser.CTF_EXPRESSION_TYPE,
- Node(CTFParser.CTF_LEFT,
- Node(CTFParser.UNARY_EXPRESSION_STRING,
- Node(CTFParser.IDENTIFIER, "packet")),
- Node(CTFParser.DOT,
- Node(CTFParser.UNARY_EXPRESSION_STRING,
- Node(CTFParser.IDENTIFIER, "header")))),
- Node(CTFParser.CTF_RIGHT,
- Node(CTFParser.TYPE_SPECIFIER_LIST,
- Node(CTFParser.STRUCT,
- Node(CTFParser.STRUCT_NAME,
- Node(CTFParser.IDENTIFIER, "dummy"))))))),
- declaration("trace { packet.header := struct dummy; };"));
-
- /* TODO: This test crash the parser. */
- Matches(Node(CTFParser.TRACE,
- All()),
- declaration("trace { typedef x y; };"));
-
- Matches(Node(CTFParser.TRACE,
- Node(CTFParser.CTF_EXPRESSION_VAL, All(), All()),
- Node(CTFParser.CTF_EXPRESSION_VAL, All(), All()),
- Node(CTFParser.CTF_EXPRESSION_TYPE, All(), All())),
- declaration("trace { major = 1; minor = 1;"
- + "packet.header := struct dummy; };"));
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.ctf.parser/.classpath b/lttng/org.eclipse.linuxtools.ctf.parser/.classpath
deleted file mode 100644
index 2a738be944..0000000000
--- a/lttng/org.eclipse.linuxtools.ctf.parser/.classpath
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
- <classpathentry kind="src" path="src/main/antlr3"/>
- <classpathentry kind="src" path="target/generated-sources/antlr3"/>
- <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.7"/>
- <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
- <classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/lttng/org.eclipse.linuxtools.ctf.parser/.project b/lttng/org.eclipse.linuxtools.ctf.parser/.project
deleted file mode 100644
index 171263a9ce..0000000000
--- a/lttng/org.eclipse.linuxtools.ctf.parser/.project
+++ /dev/null
@@ -1,35 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>org.eclipse.linuxtools.ctf.parser</name>
- <comment></comment>
- <projects>
- </projects>
- <buildSpec>
- <buildCommand>
- <name>org.eclipse.jdt.core.javabuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.ManifestBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.SchemaBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.api.tools.apiAnalysisBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>org.eclipse.jdt.core.javanature</nature>
- <nature>org.eclipse.pde.PluginNature</nature>
- <nature>org.deved.antlride.core.nature</nature>
- <nature>org.eclipse.pde.api.tools.apiAnalysisNature</nature>
- </natures>
-</projectDescription>
diff --git a/lttng/org.eclipse.linuxtools.ctf.parser/.settings/org.eclipse.core.resources.prefs b/lttng/org.eclipse.linuxtools.ctf.parser/.settings/org.eclipse.core.resources.prefs
deleted file mode 100644
index 99f26c0203..0000000000
--- a/lttng/org.eclipse.linuxtools.ctf.parser/.settings/org.eclipse.core.resources.prefs
+++ /dev/null
@@ -1,2 +0,0 @@
-eclipse.preferences.version=1
-encoding/<project>=UTF-8
diff --git a/lttng/org.eclipse.linuxtools.ctf.parser/.settings/org.eclipse.core.runtime.prefs b/lttng/org.eclipse.linuxtools.ctf.parser/.settings/org.eclipse.core.runtime.prefs
deleted file mode 100644
index 5a0ad22d2a..0000000000
--- a/lttng/org.eclipse.linuxtools.ctf.parser/.settings/org.eclipse.core.runtime.prefs
+++ /dev/null
@@ -1,2 +0,0 @@
-eclipse.preferences.version=1
-line.separator=\n
diff --git a/lttng/org.eclipse.linuxtools.ctf.parser/.settings/org.eclipse.jdt.core.prefs b/lttng/org.eclipse.linuxtools.ctf.parser/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index d7ed4a155c..0000000000
--- a/lttng/org.eclipse.linuxtools.ctf.parser/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,393 +0,0 @@
-eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.annotation.inheritNullAnnotations=enabled
-org.eclipse.jdt.core.compiler.annotation.missingNonNullByDefaultAnnotation=ignore
-org.eclipse.jdt.core.compiler.annotation.nonnull=org.eclipse.jdt.annotation.NonNull
-org.eclipse.jdt.core.compiler.annotation.nonnullbydefault=org.eclipse.jdt.annotation.NonNullByDefault
-org.eclipse.jdt.core.compiler.annotation.nullable=org.eclipse.jdt.annotation.Nullable
-org.eclipse.jdt.core.compiler.annotation.nullanalysis=enabled
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.7
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.doc.comment.support=disabled
-org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
-org.eclipse.jdt.core.compiler.problem.comparingIdentical=warning
-org.eclipse.jdt.core.compiler.problem.deadCode=ignore
-org.eclipse.jdt.core.compiler.problem.deprecation=warning
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=enabled
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled
-org.eclipse.jdt.core.compiler.problem.discouragedReference=warning
-org.eclipse.jdt.core.compiler.problem.emptyStatement=ignore
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.problem.explicitlyClosedAutoCloseable=error
-org.eclipse.jdt.core.compiler.problem.fallthroughCase=warning
-org.eclipse.jdt.core.compiler.problem.fatalOptionalError=disabled
-org.eclipse.jdt.core.compiler.problem.fieldHiding=warning
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
-org.eclipse.jdt.core.compiler.problem.includeNullInfoFromAsserts=disabled
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
-org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=warning
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=warning
-org.eclipse.jdt.core.compiler.problem.invalidJavadoc=warning
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTags=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=protected
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
-org.eclipse.jdt.core.compiler.problem.missingDefaultCase=ignore
-org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=warning
-org.eclipse.jdt.core.compiler.problem.missingEnumCaseDespiteDefault=enabled
-org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocComments=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=protected
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagDescription=all_standard_tags
-org.eclipse.jdt.core.compiler.problem.missingJavadocTags=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsMethodTypeParameters=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=protected
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotationForInterfaceMethodImplementation=enabled
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning
-org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=warning
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=ignore
-org.eclipse.jdt.core.compiler.problem.nonnullParameterAnnotationDropped=warning
-org.eclipse.jdt.core.compiler.problem.nullAnnotationInferenceConflict=warning
-org.eclipse.jdt.core.compiler.problem.nullReference=error
-org.eclipse.jdt.core.compiler.problem.nullSpecViolation=error
-org.eclipse.jdt.core.compiler.problem.nullUncheckedConversion=warning
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
-org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning
-org.eclipse.jdt.core.compiler.problem.potentialNullReference=warning
-org.eclipse.jdt.core.compiler.problem.potentiallyUnclosedCloseable=ignore
-org.eclipse.jdt.core.compiler.problem.rawTypeReference=ignore
-org.eclipse.jdt.core.compiler.problem.redundantNullAnnotation=warning
-org.eclipse.jdt.core.compiler.problem.redundantNullCheck=ignore
-org.eclipse.jdt.core.compiler.problem.redundantSpecificationOfTypeArguments=ignore
-org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=warning
-org.eclipse.jdt.core.compiler.problem.reportMethodCanBePotentiallyStatic=ignore
-org.eclipse.jdt.core.compiler.problem.reportMethodCanBeStatic=warning
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
-org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=disabled
-org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
-org.eclipse.jdt.core.compiler.problem.syntacticNullAnalysisForFields=enabled
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
-org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
-org.eclipse.jdt.core.compiler.problem.unavoidableGenericTypeProblems=disabled
-org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=ignore
-org.eclipse.jdt.core.compiler.problem.unclosedCloseable=warning
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
-org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=ignore
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=warning
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=disabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=disabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=ignore
-org.eclipse.jdt.core.compiler.problem.unusedLabel=warning
-org.eclipse.jdt.core.compiler.problem.unusedLocal=ignore
-org.eclipse.jdt.core.compiler.problem.unusedObjectAllocation=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=ignore
-org.eclipse.jdt.core.compiler.problem.unusedTypeParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.source=1.7
-org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_assignment=0
-org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
-org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
-org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
-org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
-org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0
-org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=80
-org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=0
-org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch=16
-org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_after_package=1
-org.eclipse.jdt.core.formatter.blank_lines_before_field=0
-org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
-org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
-org.eclipse.jdt.core.formatter.blank_lines_before_method=1
-org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
-org.eclipse.jdt.core.formatter.blank_lines_before_package=0
-org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
-org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
-org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
-org.eclipse.jdt.core.formatter.comment.format_block_comments=true
-org.eclipse.jdt.core.formatter.comment.format_header=false
-org.eclipse.jdt.core.formatter.comment.format_html=true
-org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=true
-org.eclipse.jdt.core.formatter.comment.format_line_comments=true
-org.eclipse.jdt.core.formatter.comment.format_source_code=true
-org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true
-org.eclipse.jdt.core.formatter.comment.indent_root_tags=true
-org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
-org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=insert
-org.eclipse.jdt.core.formatter.comment.line_length=80
-org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries=true
-org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries=true
-org.eclipse.jdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments=false
-org.eclipse.jdt.core.formatter.compact_else_if=true
-org.eclipse.jdt.core.formatter.continuation_indentation=2
-org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2
-org.eclipse.jdt.core.formatter.disabling_tag=@formatter\:off
-org.eclipse.jdt.core.formatter.enabling_tag=@formatter\:on
-org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
-org.eclipse.jdt.core.formatter.format_line_comment_starting_on_first_column=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
-org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_empty_lines=false
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=false
-org.eclipse.jdt.core.formatter.indentation.size=4
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_label=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_try=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources=insert
-org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_try=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
-org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.join_lines_in_comments=true
-org.eclipse.jdt.core.formatter.join_wrapped_lines=false
-org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.lineSplit=250
-org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
-org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
-org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true
-org.eclipse.jdt.core.formatter.tabulation.char=space
-org.eclipse.jdt.core.formatter.tabulation.size=4
-org.eclipse.jdt.core.formatter.use_on_off_tags=false
-org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
-org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
-org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true
-org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true
diff --git a/lttng/org.eclipse.linuxtools.ctf.parser/.settings/org.eclipse.jdt.ui.prefs b/lttng/org.eclipse.linuxtools.ctf.parser/.settings/org.eclipse.jdt.ui.prefs
deleted file mode 100644
index 4fd0c7006a..0000000000
--- a/lttng/org.eclipse.linuxtools.ctf.parser/.settings/org.eclipse.jdt.ui.prefs
+++ /dev/null
@@ -1,56 +0,0 @@
-eclipse.preferences.version=1
-editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
-formatter_profile=_tmf-style
-formatter_settings_version=12
-sp_cleanup.add_default_serial_version_id=true
-sp_cleanup.add_generated_serial_version_id=false
-sp_cleanup.add_missing_annotations=false
-sp_cleanup.add_missing_deprecated_annotations=true
-sp_cleanup.add_missing_methods=false
-sp_cleanup.add_missing_nls_tags=false
-sp_cleanup.add_missing_override_annotations=true
-sp_cleanup.add_missing_override_annotations_interface_methods=true
-sp_cleanup.add_serial_version_id=false
-sp_cleanup.always_use_blocks=true
-sp_cleanup.always_use_parentheses_in_expressions=false
-sp_cleanup.always_use_this_for_non_static_field_access=false
-sp_cleanup.always_use_this_for_non_static_method_access=false
-sp_cleanup.convert_to_enhanced_for_loop=false
-sp_cleanup.correct_indentation=false
-sp_cleanup.format_source_code=false
-sp_cleanup.format_source_code_changes_only=false
-sp_cleanup.make_local_variable_final=false
-sp_cleanup.make_parameters_final=false
-sp_cleanup.make_private_fields_final=true
-sp_cleanup.make_type_abstract_if_missing_method=false
-sp_cleanup.make_variable_declarations_final=false
-sp_cleanup.never_use_blocks=false
-sp_cleanup.never_use_parentheses_in_expressions=true
-sp_cleanup.on_save_use_additional_actions=true
-sp_cleanup.organize_imports=false
-sp_cleanup.qualify_static_field_accesses_with_declaring_class=false
-sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_with_declaring_class=false
-sp_cleanup.qualify_static_method_accesses_with_declaring_class=false
-sp_cleanup.remove_private_constructors=true
-sp_cleanup.remove_trailing_whitespaces=true
-sp_cleanup.remove_trailing_whitespaces_all=true
-sp_cleanup.remove_trailing_whitespaces_ignore_empty=false
-sp_cleanup.remove_unnecessary_casts=false
-sp_cleanup.remove_unnecessary_nls_tags=false
-sp_cleanup.remove_unused_imports=false
-sp_cleanup.remove_unused_local_variables=false
-sp_cleanup.remove_unused_private_fields=true
-sp_cleanup.remove_unused_private_members=false
-sp_cleanup.remove_unused_private_methods=true
-sp_cleanup.remove_unused_private_types=true
-sp_cleanup.sort_members=false
-sp_cleanup.sort_members_all=false
-sp_cleanup.use_blocks=true
-sp_cleanup.use_blocks_only_for_return_and_throw=false
-sp_cleanup.use_parentheses_in_expressions=false
-sp_cleanup.use_this_for_non_static_field_access=false
-sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=true
-sp_cleanup.use_this_for_non_static_method_access=false
-sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true
diff --git a/lttng/org.eclipse.linuxtools.ctf.parser/.settings/org.eclipse.pde.api.tools.prefs b/lttng/org.eclipse.linuxtools.ctf.parser/.settings/org.eclipse.pde.api.tools.prefs
deleted file mode 100644
index acc3abd47c..0000000000
--- a/lttng/org.eclipse.linuxtools.ctf.parser/.settings/org.eclipse.pde.api.tools.prefs
+++ /dev/null
@@ -1,97 +0,0 @@
-ANNOTATION_ELEMENT_TYPE_ADDED_METHOD_WITHOUT_DEFAULT_VALUE=Error
-ANNOTATION_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
-ANNOTATION_ELEMENT_TYPE_REMOVED_FIELD=Error
-ANNOTATION_ELEMENT_TYPE_REMOVED_METHOD=Error
-ANNOTATION_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
-API_COMPONENT_ELEMENT_TYPE_REMOVED_API_TYPE=Error
-API_COMPONENT_ELEMENT_TYPE_REMOVED_REEXPORTED_API_TYPE=Error
-API_COMPONENT_ELEMENT_TYPE_REMOVED_REEXPORTED_TYPE=Error
-API_COMPONENT_ELEMENT_TYPE_REMOVED_TYPE=Error
-API_USE_SCAN_FIELD_SEVERITY=Error
-API_USE_SCAN_METHOD_SEVERITY=Error
-API_USE_SCAN_TYPE_SEVERITY=Error
-CLASS_ELEMENT_TYPE_ADDED_METHOD=Error
-CLASS_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
-CLASS_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
-CLASS_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error
-CLASS_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
-CLASS_ELEMENT_TYPE_CHANGED_NON_ABSTRACT_TO_ABSTRACT=Error
-CLASS_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error
-CLASS_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
-CLASS_ELEMENT_TYPE_REMOVED_CONSTRUCTOR=Error
-CLASS_ELEMENT_TYPE_REMOVED_FIELD=Error
-CLASS_ELEMENT_TYPE_REMOVED_METHOD=Error
-CLASS_ELEMENT_TYPE_REMOVED_SUPERCLASS=Error
-CLASS_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
-CLASS_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
-CONSTRUCTOR_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
-CONSTRUCTOR_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
-CONSTRUCTOR_ELEMENT_TYPE_CHANGED_VARARGS_TO_ARRAY=Error
-CONSTRUCTOR_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
-ENUM_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error
-ENUM_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
-ENUM_ELEMENT_TYPE_REMOVED_ENUM_CONSTANT=Error
-ENUM_ELEMENT_TYPE_REMOVED_FIELD=Error
-ENUM_ELEMENT_TYPE_REMOVED_METHOD=Error
-ENUM_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
-FIELD_ELEMENT_TYPE_ADDED_VALUE=Error
-FIELD_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
-FIELD_ELEMENT_TYPE_CHANGED_FINAL_TO_NON_FINAL_STATIC_CONSTANT=Error
-FIELD_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error
-FIELD_ELEMENT_TYPE_CHANGED_NON_STATIC_TO_STATIC=Error
-FIELD_ELEMENT_TYPE_CHANGED_STATIC_TO_NON_STATIC=Error
-FIELD_ELEMENT_TYPE_CHANGED_TYPE=Error
-FIELD_ELEMENT_TYPE_CHANGED_VALUE=Error
-FIELD_ELEMENT_TYPE_REMOVED_TYPE_ARGUMENT=Error
-FIELD_ELEMENT_TYPE_REMOVED_VALUE=Error
-ILLEGAL_EXTEND=Warning
-ILLEGAL_IMPLEMENT=Warning
-ILLEGAL_INSTANTIATE=Warning
-ILLEGAL_OVERRIDE=Warning
-ILLEGAL_REFERENCE=Warning
-INTERFACE_ELEMENT_TYPE_ADDED_FIELD=Error
-INTERFACE_ELEMENT_TYPE_ADDED_METHOD=Error
-INTERFACE_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
-INTERFACE_ELEMENT_TYPE_ADDED_SUPER_INTERFACE_WITH_METHODS=Error
-INTERFACE_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
-INTERFACE_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error
-INTERFACE_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
-INTERFACE_ELEMENT_TYPE_REMOVED_FIELD=Error
-INTERFACE_ELEMENT_TYPE_REMOVED_METHOD=Error
-INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
-INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
-INVALID_JAVADOC_TAG=Warning
-INVALID_REFERENCE_IN_SYSTEM_LIBRARIES=Warning
-LEAK_EXTEND=Warning
-LEAK_FIELD_DECL=Warning
-LEAK_IMPLEMENT=Warning
-LEAK_METHOD_PARAM=Warning
-LEAK_METHOD_RETURN_TYPE=Warning
-METHOD_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
-METHOD_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
-METHOD_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
-METHOD_ELEMENT_TYPE_CHANGED_NON_ABSTRACT_TO_ABSTRACT=Error
-METHOD_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error
-METHOD_ELEMENT_TYPE_CHANGED_NON_STATIC_TO_STATIC=Error
-METHOD_ELEMENT_TYPE_CHANGED_STATIC_TO_NON_STATIC=Error
-METHOD_ELEMENT_TYPE_CHANGED_VARARGS_TO_ARRAY=Error
-METHOD_ELEMENT_TYPE_REMOVED_ANNOTATION_DEFAULT_VALUE=Error
-METHOD_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
-MISSING_EE_DESCRIPTIONS=Ignore
-TYPE_PARAMETER_ELEMENT_TYPE_ADDED_CLASS_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_ADDED_INTERFACE_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_CHANGED_CLASS_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_CHANGED_INTERFACE_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_CLASS_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error
-UNUSED_PROBLEM_FILTERS=Warning
-automatically_removed_unused_problem_filters=false
-eclipse.preferences.version=1
-incompatible_api_component_version=Error
-incompatible_api_component_version_include_major_without_breaking_change=Disabled
-incompatible_api_component_version_include_minor_without_api_change=Disabled
-invalid_since_tag_version=Error
-malformed_since_tag=Error
-missing_since_tag=Error
-report_api_breakage_when_major_version_incremented=Disabled
-report_resolution_errors_api_component=Warning
diff --git a/lttng/org.eclipse.linuxtools.ctf.parser/.settings/org.eclipse.pde.prefs b/lttng/org.eclipse.linuxtools.ctf.parser/.settings/org.eclipse.pde.prefs
deleted file mode 100644
index 97b4320800..0000000000
--- a/lttng/org.eclipse.linuxtools.ctf.parser/.settings/org.eclipse.pde.prefs
+++ /dev/null
@@ -1,32 +0,0 @@
-compilers.f.unresolved-features=1
-compilers.f.unresolved-plugins=1
-compilers.incompatible-environment=1
-compilers.p.build=1
-compilers.p.build.bin.includes=1
-compilers.p.build.encodings=2
-compilers.p.build.java.compiler=2
-compilers.p.build.java.compliance=1
-compilers.p.build.missing.output=2
-compilers.p.build.output.library=1
-compilers.p.build.source.library=1
-compilers.p.build.src.includes=1
-compilers.p.deprecated=1
-compilers.p.discouraged-class=1
-compilers.p.internal=1
-compilers.p.missing-packages=1
-compilers.p.missing-version-export-package=2
-compilers.p.missing-version-import-package=2
-compilers.p.missing-version-require-bundle=2
-compilers.p.no-required-att=0
-compilers.p.not-externalized-att=2
-compilers.p.unknown-attribute=1
-compilers.p.unknown-class=1
-compilers.p.unknown-element=1
-compilers.p.unknown-identifier=1
-compilers.p.unknown-resource=1
-compilers.p.unresolved-ex-points=0
-compilers.p.unresolved-import=0
-compilers.s.create-docs=false
-compilers.s.doc-folder=doc
-compilers.s.open-tags=1
-eclipse.preferences.version=1
diff --git a/lttng/org.eclipse.linuxtools.ctf.parser/META-INF/MANIFEST.MF b/lttng/org.eclipse.linuxtools.ctf.parser/META-INF/MANIFEST.MF
deleted file mode 100644
index fab59529cb..0000000000
--- a/lttng/org.eclipse.linuxtools.ctf.parser/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,11 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %Bundle-Name
-Bundle-Vendor: %Bundle-Vendor
-Bundle-Version: 3.1.0.qualifier
-Bundle-Localization: plugin
-Bundle-SymbolicName: org.eclipse.linuxtools.ctf.parser
-Bundle-RequiredExecutionEnvironment: JavaSE-1.7
-Export-Package: org.eclipse.linuxtools.ctf.parser;x-friends:="org.eclipse.linuxtools.ctf.core,org.eclipse.linuxtools.ctf.parser.tests"
-Import-Package: org.antlr.runtime;version="3.2.0",
- org.antlr.runtime.tree;version="3.2.0"
diff --git a/lttng/org.eclipse.linuxtools.ctf.parser/README b/lttng/org.eclipse.linuxtools.ctf.parser/README
deleted file mode 100644
index f2be96f58d..0000000000
--- a/lttng/org.eclipse.linuxtools.ctf.parser/README
+++ /dev/null
@@ -1,11 +0,0 @@
-This file describes how to build the CTF Java parser files. They are stored in
-the git repository (to avoid additional compile-time dependencies), but if you
-do modify the .g files in src/, you should rebuild the resulting .java files and
-commit them.
-
-To rebuild the parser files, run Maven with the "ctf-grammar" profile, as such:
-$ mvn clean install -Pctf-grammar
-
-Alternatively, you can also run the "generate-grammar.sh" script to regenerate
-the parser files. That script requires "antlr3" to be installed on the system.
-
diff --git a/lttng/org.eclipse.linuxtools.ctf.parser/about.html b/lttng/org.eclipse.linuxtools.ctf.parser/about.html
deleted file mode 100644
index c258ef55d8..0000000000
--- a/lttng/org.eclipse.linuxtools.ctf.parser/about.html
+++ /dev/null
@@ -1,28 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
-<title>About</title>
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
-
-<p>June 5, 2006</p>
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;). Unless otherwise
-indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is available
-at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is
-being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content. Check the Redistributor's license that was
-provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at <a href="http://www.eclipse.org/">http://www.eclipse.org</a>.</p>
-
-</body>
-</html> \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.ctf.parser/build.properties b/lttng/org.eclipse.linuxtools.ctf.parser/build.properties
deleted file mode 100644
index 4e83b9a9a8..0000000000
--- a/lttng/org.eclipse.linuxtools.ctf.parser/build.properties
+++ /dev/null
@@ -1,21 +0,0 @@
-###############################################################################
-# Copyright (c) 2013 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:
-# Ericsson - Initial API and implementation
-###############################################################################
-
-source.. = src/main/antlr3,\
- target/generated-sources/antlr3
-output.. = bin/
-bin.includes = META-INF/,\
- plugin.properties,\
- about.html,\
- .
-jars.compile.order = .
-src.includes = about.html
diff --git a/lttng/org.eclipse.linuxtools.ctf.parser/generate-grammar.sh b/lttng/org.eclipse.linuxtools.ctf.parser/generate-grammar.sh
deleted file mode 100755
index 46b62034dd..0000000000
--- a/lttng/org.eclipse.linuxtools.ctf.parser/generate-grammar.sh
+++ /dev/null
@@ -1,22 +0,0 @@
-#!/bin/bash
-#*******************************************************************************
-# Copyright (c) 2012, 2013 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:
-# Alexandre Montplaisir - Initial version
-#*******************************************************************************
-
-# If you do not have (or do not feel like setting up) Maven, but you have Antlr3
-# installed on your system, you can use this script to generate the Java CTF
-# parser files.
-
-SRC=src/main/antlr3/org/eclipse/linuxtools/ctf/parser
-DEST=target/generated-sources/antlr3/org/eclipse/linuxtools/ctf/parser
-
-antlr3 $SRC/CTFLexer.g -fo $DEST
-antlr3 $SRC/CTFParser.g -fo $DEST
diff --git a/lttng/org.eclipse.linuxtools.ctf.parser/plugin.properties b/lttng/org.eclipse.linuxtools.ctf.parser/plugin.properties
deleted file mode 100644
index ab67e44dd0..0000000000
--- a/lttng/org.eclipse.linuxtools.ctf.parser/plugin.properties
+++ /dev/null
@@ -1,15 +0,0 @@
-###############################################################################
-# Copyright (c) 2013 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:
-# Ericsson - Initial API and implementation
-###############################################################################
-
-#Properties file for org.eclipse.linuxtools.ctf.parser
-Bundle-Vendor = Eclipse Linux Tools
-Bundle-Name = Linux Tools CTF Parser Plug-in
diff --git a/lttng/org.eclipse.linuxtools.ctf.parser/pom.xml b/lttng/org.eclipse.linuxtools.ctf.parser/pom.xml
deleted file mode 100644
index bbc9a7cf6e..0000000000
--- a/lttng/org.eclipse.linuxtools.ctf.parser/pom.xml
+++ /dev/null
@@ -1,86 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Copyright (C) 2011, Red Hat, Inc.
-
- 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
--->
-<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
- <modelVersion>4.0.0</modelVersion>
-
- <parent>
- <artifactId>linuxtools-lttng-parent</artifactId>
- <groupId>org.eclipse.linuxtools.lttng</groupId>
- <version>3.2.0-SNAPSHOT</version>
- </parent>
-
- <name>Linux Tools CTF Parser Plug-in</name>
- <groupId>org.eclipse.linuxtools.ctf</groupId>
- <artifactId>org.eclipse.linuxtools.ctf.parser</artifactId>
- <version>3.1.0-SNAPSHOT</version>
- <packaging>eclipse-plugin</packaging>
-
- <build>
- <plugins>
- <plugin>
- <groupId>org.eclipse.tycho</groupId>
- <artifactId>tycho-source-plugin</artifactId>
- </plugin>
- <!-- Do not delete the existing .java parser files in target/ -->
- <plugin>
- <artifactId>maven-clean-plugin</artifactId>
- <version>2.5</version>
- <configuration>
- <excludeDefaultDirectories>true</excludeDefaultDirectories>
- <filesets>
- <fileset>
- <directory>target</directory>
- <followSymlinks>false</followSymlinks>
- <includes>
- <include>*/**</include>
- </includes>
- <excludes>
- <exclude>generated-sources/antlr3/org/eclipse/linuxtools/ctf/parser/CTFLexer.java</exclude>
- <exclude>generated-sources/antlr3/org/eclipse/linuxtools/ctf/parser/CTFParser.java</exclude>
- </excludes>
- </fileset>
- </filesets>
- </configuration>
- </plugin>
- </plugins>
- </build>
-
- <!-- Only rebuild the CTF grammar files if the ctf-grammar profile is active -->
- <profiles>
- <profile>
- <id>ctf-grammar</id>
- <build>
- <plugins>
- <plugin>
- <groupId>org.antlr</groupId>
- <artifactId>antlr3-maven-plugin</artifactId>
- <version>3.5.2</version>
- <executions>
- <execution>
- <goals>
- <goal>antlr</goal>
- </goals>
- </execution>
- </executions>
- <dependencies>
- <dependency>
- <groupId>org.antlr</groupId>
- <artifactId>antlr-runtime</artifactId>
- <version>3.5.2</version>
- </dependency>
- </dependencies>
- </plugin>
- </plugins>
- </build>
- </profile>
- </profiles>
-
-</project>
diff --git a/lttng/org.eclipse.linuxtools.ctf.parser/src/main/antlr3/org/eclipse/linuxtools/ctf/parser/CTFLexer.g b/lttng/org.eclipse.linuxtools.ctf.parser/src/main/antlr3/org/eclipse/linuxtools/ctf/parser/CTFLexer.g
deleted file mode 100644
index 65fa012c7c..0000000000
--- a/lttng/org.eclipse.linuxtools.ctf.parser/src/main/antlr3/org/eclipse/linuxtools/ctf/parser/CTFLexer.g
+++ /dev/null
@@ -1,196 +0,0 @@
-lexer grammar CTFLexer;
-
-options {
- language = Java;
-}
-
-@lexer::header {
-/*******************************************************************************
- * Copyright (c) 2010, 2014 Ericsson, Ecole Polytechnique de Montréal and others
- *
- * 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:
- * Matthew Khouzam - Initial API and implementation
- * Simon Marchi - Initial API and implementation
- * Etienne Bergeron - Update to Antlr 3.5 syntax
- *******************************************************************************/
-
-package org.eclipse.linuxtools.ctf.parser;
-}
-
-/*
- * Lexer tokens
- */
-
-/*
- * Keywords
- */
-ALIGNTOK : 'align' ;
-CONSTTOK : 'const' ;
-CHARTOK : 'char' ;
-DOUBLETOK : 'double' ;
-ENUMTOK : 'enum' ;
-EVENTTOK : 'event' ;
-FLOATINGPOINTTOK : 'floating_point' ;
-FLOATTOK : 'float' ;
-INTEGERTOK : 'integer' ;
-INTTOK : 'int' ;
-LONGTOK : 'long' ;
-SHORTTOK : 'short' ;
-SIGNEDTOK : 'signed' ;
-STREAMTOK : 'stream' ;
-STRINGTOK : 'string' ;
-STRUCTTOK : 'struct' ;
-TRACETOK : 'trace' ;
-TYPEALIASTOK : 'typealias' ;
-TYPEDEFTOK : 'typedef' ;
-UNSIGNEDTOK : 'unsigned' ;
-VARIANTTOK : 'variant' ;
-VOIDTOK : 'void' ;
-BOOLTOK : '_Bool' ;
-COMPLEXTOK : '_Complex' ;
-IMAGINARYTOK : '_Imaginary' ;
-ENVTOK : 'env' ;
-CLOCKTOK : 'clock' ;
-/*
- * Callsite tokens (CTF v1.9)
- */
-CALLSITETOK : 'callsite' ;
-
-
-/*
- * These tokens are not part of the CTF standard.
- * There are planned to be in CTF v1.9
- */
-NANNUMBERTOK : 'NaN' ;
-INFINITYTOK : '+inf' ;
-NINFINITYTOK : '-inf' ;
-
-/*
- * Symbols
- */
-SEPARATOR : ',' ;
-COLON : ':' ;
-ELIPSES : '...' ;
-ASSIGNMENT : '=' ;
-TYPE_ASSIGNMENT : ':=' ;
-LT : '<' ;
-GT : '>' ;
-OPENBRAC : '[' ;
-CLOSEBRAC : ']' ;
-LPAREN : '(' ;
-RPAREN : ')' ;
-LCURL : '{' ;
-RCURL : '}' ;
-TERM : ';' ;
-POINTER : '*' ;
-SIGN : '+' | '-' ;
-ARROW : '->' ;
-DOT : '.' ;
-fragment BACKSLASH : '\\' ;
-
-/* Helpers for integer literals */
-fragment DIGIT : '0'..'9' ;
-fragment OCT_DIGIT : '0'..'7' ;
-fragment OCT_PREFIX : '0' ;
-fragment NONZERO_DIGIT : '1'..'9' ;
-fragment HEX_DIGIT : DIGIT | ('a'..'f') | ('A'..'F') ;
-fragment HEX_PREFIX : '0' ('x' | 'X') ;
-
-/*
- * Integer literals
- */
-OCTAL_LITERAL : OCT_PREFIX (OCT_DIGIT)+ INTEGER_TYPES_SUFFIX? ;
-DECIMAL_LITERAL : DIGIT+ INTEGER_TYPES_SUFFIX? ;
-HEX_LITERAL : HEX_PREFIX HEX_DIGIT+ INTEGER_TYPES_SUFFIX? ;
-
-/**
- * Integer suffix for long, long long and unsigned.
- *
- * Matches all possible combination of L, LL and U.
- */
-fragment INTEGER_TYPES_SUFFIX
- : ('l' ('l')? | 'L' ('L')?) // l, ll
- | ('u' | 'U') // u
- | ('u' | 'U') ('l' ('l')? | 'L' ('L')?) // ul, ull
- | ('l' ('l')? | 'L' ('L')?) ('u'| 'U') // lu, llu
- ;
-
-/**
- * Escape sequences
- */
-fragment ESCAPE_SEQUENCE
- : BACKSLASH ('\'' | '"' | '?' | BACKSLASH | 'a' | 'b' | 'f' | 'n' | 'r' | 't' | 'v' )
- | OCTAL_ESCAPE
- | UNICODE_ESCAPE
- | HEXADECIMAL_ESCAPE
- ;
-
-/**
- * Octal escape sequence
- */
-fragment OCTAL_ESCAPE
- : BACKSLASH ('0'..'3') ('0'..'7') ('0'..'7')
- | BACKSLASH ('0'..'7') ('0'..'7')
- | BACKSLASH ('0'..'7')
- ;
-
-/**
- * Hexadecimal escape sequence
- */
-fragment HEXADECIMAL_ESCAPE : BACKSLASH 'x' HEX_DIGIT+ ;
-
-/**
- * Unicode escape sequence
- */
-fragment UNICODE_ESCAPE
- : BACKSLASH 'u' HEX_DIGIT HEX_DIGIT HEX_DIGIT HEX_DIGIT
- | BACKSLASH 'U' HEX_DIGIT HEX_DIGIT HEX_DIGIT HEX_DIGIT HEX_DIGIT HEX_DIGIT HEX_DIGIT HEX_DIGIT
- ;
-
-
-/* Used in both character and string literal */
-fragment STRINGPREFIX : 'L';
-
-/*
- * Character literal
- */
-CHARACTER_LITERAL : STRINGPREFIX? SINGLEQUOTE CHAR_CONTENT+ SINGLEQUOTE ;
-fragment CHAR_CONTENT : (ESCAPE_SEQUENCE | ~(BACKSLASH | SINGLEQUOTE)) ;
-fragment SINGLEQUOTE : '\'';
-
-/*
- * String literal
- */
-STRING_LITERAL : STRINGPREFIX? DOUBLEQUOTE STRING_CONTENT* DOUBLEQUOTE ;
-fragment STRING_CONTENT : (ESCAPE_SEQUENCE | ~(BACKSLASH | DOUBLEQUOTE)) ;
-fragment DOUBLEQUOTE : '"' ;
-
-/**
- * Whitespaces
- */
-WS : (' ' | '\r' | '\t' | '\u000C' | '\n') { $channel = HIDDEN; } ;
-
-/**
- * Multiline comment
- */
-// About the greedy option: see page 100-101 of The Definitive ANTLR reference
-// COMMENT : '/*' ( options { greedy = false; } : . )* '*/' { $channel = HIDDEN; } ;
-COMMENT : COMMENT_OPEN .* COMMENT_CLOSE { $channel = HIDDEN; } ;
-fragment COMMENT_OPEN : '/*';
-fragment COMMENT_CLOSE : '*/';
-
-/**
- * Single line comment
- */
-LINE_COMMENT : '//' ~('\n')* '\n' { $channel = HIDDEN; } ;
-
-/**
- * Identifiers
- */
-IDENTIFIER : NONDIGIT (NONDIGIT | DIGIT)* ;
-fragment NONDIGIT : ('_') | ('A'..'Z') | ('a'..'z') ;
diff --git a/lttng/org.eclipse.linuxtools.ctf.parser/src/main/antlr3/org/eclipse/linuxtools/ctf/parser/CTFParser.g b/lttng/org.eclipse.linuxtools.ctf.parser/src/main/antlr3/org/eclipse/linuxtools/ctf/parser/CTFParser.g
deleted file mode 100644
index 20aa958419..0000000000
--- a/lttng/org.eclipse.linuxtools.ctf.parser/src/main/antlr3/org/eclipse/linuxtools/ctf/parser/CTFParser.g
+++ /dev/null
@@ -1,648 +0,0 @@
-parser grammar CTFParser;
-
-options {
- language = Java;
- output = AST;
- ASTLabelType = CommonTree;
- tokenVocab = CTFLexer;
-}
-
-tokens {
- ROOT;
-
- EVENT;
- STREAM;
- TRACE;
- ENV;
- CLOCK;
- CALLSITE;
-
- DECLARATION;
- SV_DECLARATION;
- TYPE_SPECIFIER_LIST;
- TYPE_DECLARATOR_LIST;
- TYPE_DECLARATOR;
-
- STRUCT;
- STRUCT_NAME;
- STRUCT_BODY;
- ALIGN;
-
- CTF_EXPRESSION_TYPE;
- CTF_EXPRESSION_VAL;
- CTF_LEFT;
- CTF_RIGHT;
-
- UNARY_EXPRESSION_STRING;
- UNARY_EXPRESSION_STRING_QUOTES;
- UNARY_EXPRESSION_DEC;
- UNARY_EXPRESSION_HEX;
- UNARY_EXPRESSION_OCT;
- LENGTH;
-
- TYPEDEF;
-
- TYPEALIAS;
- TYPEALIAS_TARGET;
- TYPEALIAS_ALIAS;
-
- INTEGER;
- STRING;
- FLOATING_POINT;
-
- ENUM;
- ENUM_CONTAINER_TYPE;
- ENUM_ENUMERATOR;
- ENUM_NAME;
- ENUM_VALUE;
- ENUM_VALUE_RANGE;
- ENUM_BODY;
-
- VARIANT;
- VARIANT_NAME;
- VARIANT_TAG;
- VARIANT_BODY;
-
- DECLARATOR;
- LENGTH;
-}
-
-/*
- * Scope for the tracking of types.
- * For now we just track the names (it's a simple Set), but
- * later we will have to track the info about the target type.
- */
-scope Symbols {
- Set<String> types;
-}
-
-@header {
-/*******************************************************************************
- * Copyright (c) 2010, 2014 Ericsson, Ecole Polytechnique de Montréal and others
- *
- * 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:
- * Matthew Khouzam - Initial API and implementation
- * Simon Marchi - Initial API and implementation
- * Etienne Bergeron - Update to Antlr 3.5 syntax
- *******************************************************************************/
-
-package org.eclipse.linuxtools.ctf.parser;
-
-import java.util.Set;
-import java.util.HashSet;
-}
-
-@members {
- public CTFParser(TokenStream input, boolean verbose) {
- this(input);
- this.verbose = verbose;
- }
-
- /**
- * This method is overriden to disable automatic error recovery.
- * On a mismatched token, it simply re-throw an exception.
- */
- @Override
- protected Object recoverFromMismatchedToken(IntStream input, int ttype, BitSet follow) throws RecognitionException {
- throw new MismatchedTokenException(ttype, input);
- }
-
- /**
- * Checks if a given name has been defined has a type.
- * From: http://www.antlr.org/grammar/1153358328744/C.g
- *
- * @param name The name to check.
- * @return True if is is a type, false otherwise.
- */
- boolean isTypeName(String name) {
- for (int i = Symbols_stack.size() - 1; i >= 0; i--) {
- Symbols_scope scope = (Symbols_scope) Symbols_stack.get(i);
- if (scope.types.contains(name)) {
- return true;
- }
- }
- return false;
- }
-
- void addTypeName(String name) {
- $Symbols::types.add(name);
- if (verbose) {
- debug_print("New type: " + name);
- }
- }
-
- boolean _inTypedef = false;
-
- void typedefOn() {
- debug_print("typedefOn");
- _inTypedef = true;
- }
-
- void typedefOff() {
- debug_print("typedefOff");
- _inTypedef = false;
- }
-
- boolean inTypedef() {
- return _inTypedef;
- }
-
- boolean _inTypealiasAlias = false;
-
- void typealiasAliasOn() {
- debug_print("typealiasAliasOn");
- _inTypealiasAlias = true;
- }
-
- void typealiasAliasOff() {
- debug_print("typealiasAliasOff");
- _inTypealiasAlias = false;
- }
-
- boolean inTypealiasAlias() {
- return _inTypealiasAlias;
- }
-
- void debug_print(String str) {
- if (verbose) {
- System.out.println(str);
- }
- }
-
- /* Prints rule entry and exit while parsing */
- boolean verbose = false;
-}
-
- /*
- * Override the catch clause to disable automatic error recovery.
- * By default, the catch block of every rule simple rethrows the error.
- */
-@rulecatch {
- catch (RecognitionException e) {
- throw e;
- }
-}
-
-/* The top-level rule. */
-parse
-scope Symbols;
-@init {
- $Symbols::types = new HashSet<String>();
-}
- : declaration+ EOF -> ^(ROOT declaration+)
- ;
-
-numberLiteral
- : SIGN*
- ( HEX_LITERAL -> ^(UNARY_EXPRESSION_HEX HEX_LITERAL SIGN*)
- | DECIMAL_LITERAL -> ^(UNARY_EXPRESSION_DEC DECIMAL_LITERAL SIGN*)
- | OCTAL_LITERAL -> ^(UNARY_EXPRESSION_OCT OCTAL_LITERAL SIGN*)
- )
- ;
-
-primaryExpression
- : (IDENTIFIER) => IDENTIFIER
- -> ^(UNARY_EXPRESSION_STRING IDENTIFIER)
- | (ctfKeyword) => ctfKeyword -> ^(UNARY_EXPRESSION_STRING ctfKeyword)
- | (STRING_LITERAL) => STRING_LITERAL
- -> ^(UNARY_EXPRESSION_STRING_QUOTES STRING_LITERAL)
- /*| (LPAREN unaryExpression RPAREN)*/ // Not supported yet
- | numberLiteral
- | enumConstant
- | CHARACTER_LITERAL
- ;
-
-postfixExpressionSuffix
- : OPENBRAC unaryExpression CLOSEBRAC!
- | (ref=DOT | ref=ARROW) IDENTIFIER
- -> ^($ref ^(UNARY_EXPRESSION_STRING IDENTIFIER))
- ;
-
-postfixExpression
- : primaryExpression postfixExpressionSuffix*
- | ctfSpecifierHead postfixExpressionSuffix+ // added for ctf-v1.8
- ;
-
-unaryExpression
- : postfixExpression
- /* | ((SIGN postfixExpression[true]) | postfixExpression[false]) */
- ;
-
-enumConstant
- : STRING_LITERAL -> ^(UNARY_EXPRESSION_STRING_QUOTES STRING_LITERAL)
- | IDENTIFIER -> ^(UNARY_EXPRESSION_STRING IDENTIFIER)
- | ctfKeyword -> ^(UNARY_EXPRESSION_STRING ctfKeyword)
- ;
-
-// 2.2
-
-declaration
-@after {
- if (inTypedef()) {
- typedefOff();
- }
-}
- : declarationSpecifiers declaratorList? TERM
- // When the declaration is completely parsed and was a typedef,
- // we add the declarators to the symbol table.
- -> {inTypedef()}?
- ^(DECLARATION ^(TYPEDEF declaratorList declarationSpecifiers))
- -> ^(DECLARATION declarationSpecifiers declaratorList?)
- | ctfSpecifier TERM!
- ;
-
-declarationSpecifiers
- : (
- // We don't want to keep the typedef keyword in the specifier list.
- // Instead, we keep track that we encountered a typedef in the declaration.
- storageClassSpecifier
- | typeQualifier
- | typeSpecifier
- )+ -> ^(TYPE_SPECIFIER_LIST typeQualifier* typeSpecifier*)
- ;
-
-declaratorList
- : declarator (SEPARATOR declarator)*
- -> ^(TYPE_DECLARATOR_LIST declarator+)
- ;
-
-abstractDeclaratorList
- : abstractDeclarator (SEPARATOR abstractDeclarator)*
- -> ^(TYPE_DECLARATOR_LIST abstractDeclarator+)
- ;
-
-storageClassSpecifier
- : TYPEDEFTOK { typedefOn(); }
- ;
-
-typeSpecifier
- : FLOATTOK
- | INTTOK
- | LONGTOK
- | SHORTTOK
- | SIGNEDTOK
- | UNSIGNEDTOK
- | CHARTOK
- | DOUBLETOK
- | VOIDTOK
- | BOOLTOK
- | COMPLEXTOK
- | IMAGINARYTOK
- | structSpecifier
- | variantSpecifier
- | enumSpecifier
- | ctfTypeSpecifier
- | { inTypealiasAlias() || isTypeName(input.LT(1).getText()) }? => typedefName
- ;
-
-typeQualifier
- : CONSTTOK
- ;
-
-alignAttribute
- : ALIGNTOK LPAREN unaryExpression RPAREN -> ^(ALIGN unaryExpression)
- ;
-
- // you can have an empty struct but not an empty variant
-structBody
-scope Symbols;
-@init {
- $Symbols::types = new HashSet<String>();
-}
- : LCURL structOrVariantDeclarationList? RCURL
- -> ^(STRUCT_BODY structOrVariantDeclarationList?)
- ;
-
-structSpecifier
- : STRUCTTOK
- (
- // We have an IDENTIFIER after 'struct'
- (
- structName
- (
- alignAttribute
- |
- (
- structBody
- ( /* structBody can return an empty tree, so we need those ? */
- alignAttribute
- |
- /* empty */
- )
- )
- |
- /* empty */
- )
- )
- |
- // We have a body after 'struct'
- (
- structBody
- (
- alignAttribute
- |
- /* empty */
- )
- )
- ) -> ^(STRUCT structName? structBody? alignAttribute?)
- ;
-
-structName
- : IDENTIFIER -> ^(STRUCT_NAME IDENTIFIER)
- ;
-
-structOrVariantDeclarationList
- : structOrVariantDeclaration+
- ;
-
-structOrVariantDeclaration
- :
- (
- (
- declarationSpecifiers
- (
- /* If we met a "typedef" */
- {inTypedef()}? => declaratorList {typedefOff();}
- -> ^(TYPEDEF declaratorList declarationSpecifiers)
- | structOrVariantDeclaratorList
- -> ^(SV_DECLARATION declarationSpecifiers structOrVariantDeclaratorList)
- )
- )
- |
- // Lines 3 and 4
- typealiasDecl -> typealiasDecl
- )
- TERM
- ;
-
-specifierQualifierList
- : (typeQualifier | typeSpecifier)+
- -> ^(TYPE_SPECIFIER_LIST typeQualifier* typeSpecifier*)
- ;
-
-structOrVariantDeclaratorList
- : structOrVariantDeclarator (SEPARATOR structOrVariantDeclarator)*
- -> ^(TYPE_DECLARATOR_LIST structOrVariantDeclarator+)
- ;
-
-structOrVariantDeclarator
- :
- /* Bitfields not supported yet */
- (declarator (COLON numberLiteral)?) -> declarator
- /*| (COLON numberLiteral)*/
- ;
-
-variantSpecifier
- : VARIANTTOK
- (
- (
- variantName
- (
- (
- variantTag
- (
- variantBody
- |
- /* empty */
- )
- )
- |
- variantBody
- )
- )
- | (variantTag variantBody)
- | variantBody
- ) -> ^(VARIANT variantName? variantTag? variantBody?)
- ;
-
-variantName
- : IDENTIFIER -> ^(VARIANT_NAME IDENTIFIER)
- ;
-
-variantBody
-scope Symbols;
-@init {
- $Symbols::types = new HashSet<String>();
-}
- : LCURL structOrVariantDeclarationList RCURL
- -> ^(VARIANT_BODY structOrVariantDeclarationList)
- ;
-
-variantTag
- : LT IDENTIFIER GT -> ^(VARIANT_TAG IDENTIFIER)
- ;
-
-enumSpecifier
- : ENUMTOK
- (
- // Lines 1 to 5, when we have "ENUMTOK IDENTIFIER".
- (
- enumName
- (
- enumContainerType enumBody
- |
- enumBody
- |
- // no enumDeclarator or enumBodym
- )
- )
- |
- // Lines 1, 2, 4, 5, when we have no IDENTIFIER.
- (
- enumContainerType enumBody
- |
- enumBody
- )
- ) -> ^(ENUM enumName? enumContainerType? enumBody?)
- ;
-
-enumName
- : IDENTIFIER -> ^(ENUM_NAME IDENTIFIER)
- ;
-
-enumBody
- : LCURL enumeratorList SEPARATOR? RCURL -> ^(ENUM_BODY enumeratorList)
- ;
-
-enumContainerType
- : COLON declarationSpecifiers -> ^(ENUM_CONTAINER_TYPE declarationSpecifiers)
- ;
-
-enumeratorList
- : enumerator (SEPARATOR enumerator)* -> (^(ENUM_ENUMERATOR enumerator))+
- ;
-
-enumerator
- : enumConstant enumeratorValue?
- ;
-
-enumeratorValue
- : ASSIGNMENT e1=unaryExpression
- ( /* empty */
- -> ^(ENUM_VALUE $e1)
- | ELIPSES e2=unaryExpression
- -> ^(ENUM_VALUE_RANGE $e1 $e2)
- )
- ;
-
-declarator
- : pointer* directDeclarator
- -> ^(TYPE_DECLARATOR pointer* directDeclarator)
- ;
-
-directDeclarator
- : (
- IDENTIFIER
- { if (inTypedef()) addTypeName($IDENTIFIER.text); }
- { debug_print($IDENTIFIER.text); }
- /*| LPAREN declarator RPAREN*/ /* Not supported yet */
- )
- directDeclaratorSuffix*
- ;
-
-directDeclaratorSuffix
- : OPENBRAC directDeclaratorLength CLOSEBRAC
- -> ^(LENGTH directDeclaratorLength)
- ;
-
-directDeclaratorLength
- : unaryExpression
- ;
-
-abstractDeclarator
- : pointer+ directAbstractDeclarator?
- -> ^(TYPE_DECLARATOR pointer+ directAbstractDeclarator?)
- | directAbstractDeclarator
- -> ^(TYPE_DECLARATOR directAbstractDeclarator)
- ;
-
-/**
- * In the CTF grammar, direct-abstract-declarator can be empty (because of
- * identifier-opt). We take care of that by appending a '?' to each use of
- * "abstractDeclaratorList".
- */
-directAbstractDeclarator
- : (
- IDENTIFIER
- | (LPAREN abstractDeclarator RPAREN)
- ) (
- OPENBRAC unaryExpression? CLOSEBRAC
- )?
- ;
-
-pointer
- : POINTER typeQualifierList? -> ^(POINTER typeQualifierList?)
- ;
-
-typeQualifierList
- : typeQualifier+
- ;
-
-typedefName
- : {inTypealiasAlias() || isTypeName(input.LT(1).getText())}? IDENTIFIER { if ((inTypedef() || inTypealiasAlias()) && !isTypeName($IDENTIFIER.text)) { addTypeName($IDENTIFIER.text); } }
- ;
-
-/**
- * What goes in the target part of a typealias.
- *
- * For example, the integer part in:
- * typealias integer {...} := my_new_integer;
- */
-typealiasTarget
- : declarationSpecifiers abstractDeclaratorList?
- ;
-
-/**
- * What goes in the alias part of a typealias.
- *
- * For example, the my_new_integer part in:
- * typealias integer {...} := my_new_integer;
- */
-typealiasAlias
-@init {
- typealiasAliasOn();
-}
-@after {
- typealiasAliasOff();
-}
- : abstractDeclaratorList
- | declarationSpecifiers abstractDeclaratorList?
- ;
-
-typealiasDecl
- : TYPEALIASTOK typealiasTarget TYPE_ASSIGNMENT typealiasAlias
- -> ^(TYPEALIAS
- ^(TYPEALIAS_TARGET typealiasTarget)
- ^(TYPEALIAS_ALIAS typealiasAlias))
- ;
-
-// 2.3 CTF stuff
-
-// TODO: Ajouter ceux qui manquent
-ctfKeyword
- : ALIGNTOK
- | EVENTTOK
- | SIGNEDTOK
- | STRINGTOK
- ;
-
-ctfSpecifier
- // event {...}, stream {...}, trace {...}
- : ctfSpecifierHead ctfBody -> ^(ctfSpecifierHead ctfBody)
- // typealias
- | typealiasDecl -> ^(DECLARATION typealiasDecl)
- ;
-
-ctfSpecifierHead
- : EVENTTOK -> EVENT
- | STREAMTOK -> STREAM
- | TRACETOK -> TRACE
- | ENVTOK -> ENV
- | CLOCKTOK -> CLOCK
- | CALLSITETOK -> CALLSITE
- ;
-
-ctfTypeSpecifier
- /* ctfBody can return an empty tree if the body is empty */
- : FLOATINGPOINTTOK ctfBody -> ^(FLOATING_POINT ctfBody?)
- | INTEGERTOK ctfBody -> ^(INTEGER ctfBody?)
- | STRINGTOK ctfBody? -> ^(STRING ctfBody?)
- ;
-
-ctfBody
-scope Symbols;
-@init {
- $Symbols::types = new HashSet<String>();
-}
- : LCURL ctfAssignmentExpressionList? RCURL -> ctfAssignmentExpressionList?
- ;
-
-ctfAssignmentExpressionList
- : (ctfAssignmentExpression TERM!)+
- ;
-
-ctfAssignmentExpression
-@after {
- if (inTypedef()) {
- typedefOff();
- }
-}
- : left=unaryExpression
- ( assignment=ASSIGNMENT right1=unaryExpression
- -> ^(CTF_EXPRESSION_VAL
- ^(CTF_LEFT $left)
- ^(CTF_RIGHT $right1))
- | type_assignment=TYPE_ASSIGNMENT right2=typeSpecifier
- -> ^(CTF_EXPRESSION_TYPE
- ^(CTF_LEFT $left)
- ^(CTF_RIGHT ^(TYPE_SPECIFIER_LIST $right2)))
- )
- | (declarationSpecifiers {inTypedef()}? declaratorList)
- -> ^(TYPEDEF declaratorList declarationSpecifiers)
- | typealiasDecl
- ;
diff --git a/lttng/org.eclipse.linuxtools.ctf.parser/target/generated-sources/antlr3/org/eclipse/linuxtools/ctf/parser/CTFLexer.java b/lttng/org.eclipse.linuxtools.ctf.parser/target/generated-sources/antlr3/org/eclipse/linuxtools/ctf/parser/CTFLexer.java
deleted file mode 100644
index 9bbc764844..0000000000
--- a/lttng/org.eclipse.linuxtools.ctf.parser/target/generated-sources/antlr3/org/eclipse/linuxtools/ctf/parser/CTFLexer.java
+++ /dev/null
@@ -1,3494 +0,0 @@
-// $ANTLR 3.5.2 org/eclipse/linuxtools/ctf/parser/CTFLexer.g 2014-11-28 16:43:12
-
-/*******************************************************************************
- * Copyright (c) 2010, 2014 Ericsson, Ecole Polytechnique de Montréal and others
- *
- * 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:
- * Matthew Khouzam - Initial API and implementation
- * Simon Marchi - Initial API and implementation
- * Etienne Bergeron - Update to Antlr 3.5 syntax
- *******************************************************************************/
-
-package org.eclipse.linuxtools.ctf.parser;
-
-
-import org.antlr.runtime.*;
-import java.util.Stack;
-import java.util.List;
-import java.util.ArrayList;
-
-@SuppressWarnings("all")
-public class CTFLexer extends Lexer {
- public static final int EOF=-1;
- public static final int ALIGNTOK=4;
- public static final int ARROW=5;
- public static final int ASSIGNMENT=6;
- public static final int BACKSLASH=7;
- public static final int BOOLTOK=8;
- public static final int CALLSITETOK=9;
- public static final int CHARACTER_LITERAL=10;
- public static final int CHARTOK=11;
- public static final int CHAR_CONTENT=12;
- public static final int CLOCKTOK=13;
- public static final int CLOSEBRAC=14;
- public static final int COLON=15;
- public static final int COMMENT=16;
- public static final int COMMENT_CLOSE=17;
- public static final int COMMENT_OPEN=18;
- public static final int COMPLEXTOK=19;
- public static final int CONSTTOK=20;
- public static final int DECIMAL_LITERAL=21;
- public static final int DIGIT=22;
- public static final int DOT=23;
- public static final int DOUBLEQUOTE=24;
- public static final int DOUBLETOK=25;
- public static final int ELIPSES=26;
- public static final int ENUMTOK=27;
- public static final int ENVTOK=28;
- public static final int ESCAPE_SEQUENCE=29;
- public static final int EVENTTOK=30;
- public static final int FLOATINGPOINTTOK=31;
- public static final int FLOATTOK=32;
- public static final int GT=33;
- public static final int HEXADECIMAL_ESCAPE=34;
- public static final int HEX_DIGIT=35;
- public static final int HEX_LITERAL=36;
- public static final int HEX_PREFIX=37;
- public static final int IDENTIFIER=38;
- public static final int IMAGINARYTOK=39;
- public static final int INFINITYTOK=40;
- public static final int INTEGERTOK=41;
- public static final int INTEGER_TYPES_SUFFIX=42;
- public static final int INTTOK=43;
- public static final int LCURL=44;
- public static final int LINE_COMMENT=45;
- public static final int LONGTOK=46;
- public static final int LPAREN=47;
- public static final int LT=48;
- public static final int NANNUMBERTOK=49;
- public static final int NINFINITYTOK=50;
- public static final int NONDIGIT=51;
- public static final int NONZERO_DIGIT=52;
- public static final int OCTAL_ESCAPE=53;
- public static final int OCTAL_LITERAL=54;
- public static final int OCT_DIGIT=55;
- public static final int OCT_PREFIX=56;
- public static final int OPENBRAC=57;
- public static final int POINTER=58;
- public static final int RCURL=59;
- public static final int RPAREN=60;
- public static final int SEPARATOR=61;
- public static final int SHORTTOK=62;
- public static final int SIGN=63;
- public static final int SIGNEDTOK=64;
- public static final int SINGLEQUOTE=65;
- public static final int STREAMTOK=66;
- public static final int STRINGPREFIX=67;
- public static final int STRINGTOK=68;
- public static final int STRING_CONTENT=69;
- public static final int STRING_LITERAL=70;
- public static final int STRUCTTOK=71;
- public static final int TERM=72;
- public static final int TRACETOK=73;
- public static final int TYPEALIASTOK=74;
- public static final int TYPEDEFTOK=75;
- public static final int TYPE_ASSIGNMENT=76;
- public static final int UNICODE_ESCAPE=77;
- public static final int UNSIGNEDTOK=78;
- public static final int VARIANTTOK=79;
- public static final int VOIDTOK=80;
- public static final int WS=81;
-
- // delegates
- // delegators
- public Lexer[] getDelegates() {
- return new Lexer[] {};
- }
-
- public CTFLexer() {}
- public CTFLexer(CharStream input) {
- this(input, new RecognizerSharedState());
- }
- public CTFLexer(CharStream input, RecognizerSharedState state) {
- super(input,state);
- }
- @Override public String getGrammarFileName() { return "org/eclipse/linuxtools/ctf/parser/CTFLexer.g"; }
-
- // $ANTLR start "ALIGNTOK"
- public final void mALIGNTOK() throws RecognitionException {
- try {
- int _type = ALIGNTOK;
- int _channel = DEFAULT_TOKEN_CHANNEL;
- // org/eclipse/linuxtools/ctf/parser/CTFLexer.g:32:18: ( 'align' )
- // org/eclipse/linuxtools/ctf/parser/CTFLexer.g:32:20: 'align'
- {
- match("align");
-
- }
-
- state.type = _type;
- state.channel = _channel;
- }
- finally {
- // do for sure before leaving
- }
- }
- // $ANTLR end "ALIGNTOK"
-
- // $ANTLR start "CONSTTOK"
- public final void mCONSTTOK() throws RecognitionException {
- try {
- int _type = CONSTTOK;
- int _channel = DEFAULT_TOKEN_CHANNEL;
- // org/eclipse/linuxtools/ctf/parser/CTFLexer.g:33:18: ( 'const' )
- // org/eclipse/linuxtools/ctf/parser/CTFLexer.g:33:20: 'const'
- {
- match("const");
-
- }
-
- state.type = _type;
- state.channel = _channel;
- }
- finally {
- // do for sure before leaving
- }
- }
- // $ANTLR end "CONSTTOK"
-
- // $ANTLR start "CHARTOK"
- public final void mCHARTOK() throws RecognitionException {
- try {
- int _type = CHARTOK;
- int _channel = DEFAULT_TOKEN_CHANNEL;
- // org/eclipse/linuxtools/ctf/parser/CTFLexer.g:34:18: ( 'char' )
- // org/eclipse/linuxtools/ctf/parser/CTFLexer.g:34:20: 'char'
- {
- match("char");
-
- }
-
- state.type = _type;
- state.channel = _channel;
- }
- finally {
- // do for sure before leaving
- }
- }
- // $ANTLR end "CHARTOK"
-
- // $ANTLR start "DOUBLETOK"
- public final void mDOUBLETOK() throws RecognitionException {
- try {
- int _type = DOUBLETOK;
- int _channel = DEFAULT_TOKEN_CHANNEL;
- // org/eclipse/linuxtools/ctf/parser/CTFLexer.g:35:18: ( 'double' )
- // org/eclipse/linuxtools/ctf/parser/CTFLexer.g:35:20: 'double'
- {
- match("double");
-
- }
-
- state.type = _type;
- state.channel = _channel;
- }
- finally {
- // do for sure before leaving
- }
- }
- // $ANTLR end "DOUBLETOK"
-
- // $ANTLR start "ENUMTOK"
- public final void mENUMTOK() throws RecognitionException {
- try {
- int _type = ENUMTOK;
- int _channel = DEFAULT_TOKEN_CHANNEL;
- // org/eclipse/linuxtools/ctf/parser/CTFLexer.g:36:18: ( 'enum' )
- // org/eclipse/linuxtools/ctf/parser/CTFLexer.g:36:20: 'enum'
- {
- match("enum");
-
- }
-
- state.type = _type;
- state.channel = _channel;
- }
- finally {
- // do for sure before leaving
- }
- }
- // $ANTLR end "ENUMTOK"
-
- // $ANTLR start "EVENTTOK"
- public final void mEVENTTOK() throws RecognitionException {
- try {
- int _type = EVENTTOK;
- int _channel = DEFAULT_TOKEN_CHANNEL;
- // org/eclipse/linuxtools/ctf/parser/CTFLexer.g:37:18: ( 'event' )
- // org/eclipse/linuxtools/ctf/parser/CTFLexer.g:37:20: 'event'
- {
- match("event");
-
- }
-
- state.type = _type;
- state.channel = _channel;
- }
- finally {
- // do for sure before leaving
- }
- }
- // $ANTLR end "EVENTTOK"
-
- // $ANTLR start "FLOATINGPOINTTOK"
- public final void mFLOATINGPOINTTOK() throws RecognitionException {
- try {
- int _type = FLOATINGPOINTTOK;
- int _channel = DEFAULT_TOKEN_CHANNEL;
- // org/eclipse/linuxtools/ctf/parser/CTFLexer.g:38:18: ( 'floating_point' )
- // org/eclipse/linuxtools/ctf/parser/CTFLexer.g:38:20: 'floating_point'
- {
- match("floating_point");
-
- }
-
- state.type = _type;
- state.channel = _channel;
- }
- finally {
- // do for sure before leaving
- }
- }
- // $ANTLR end "FLOATINGPOINTTOK"
-
- // $ANTLR start "FLOATTOK"
- public final void mFLOATTOK() throws RecognitionException {
- try {
- int _type = FLOATTOK;
- int _channel = DEFAULT_TOKEN_CHANNEL;
- // org/eclipse/linuxtools/ctf/parser/CTFLexer.g:39:18: ( 'float' )
- // org/eclipse/linuxtools/ctf/parser/CTFLexer.g:39:20: 'float'
- {
- match("float");
-
- }
-
- state.type = _type;
- state.channel = _channel;
- }
- finally {
- // do for sure before leaving
- }
- }
- // $ANTLR end "FLOATTOK"
-
- // $ANTLR start "INTEGERTOK"
- public final void mINTEGERTOK() throws RecognitionException {
- try {
- int _type = INTEGERTOK;
- int _channel = DEFAULT_TOKEN_CHANNEL;
- // org/eclipse/linuxtools/ctf/parser/CTFLexer.g:40:18: ( 'integer' )
- // org/eclipse/linuxtools/ctf/parser/CTFLexer.g:40:20: 'integer'
- {
- match("integer");
-
- }
-
- state.type = _type;
- state.channel = _channel;
- }
- finally {
- // do for sure before leaving
- }
- }
- // $ANTLR end "INTEGERTOK"
-
- // $ANTLR start "INTTOK"
- public final void mINTTOK() throws RecognitionException {
- try {
- int _type = INTTOK;
- int _channel = DEFAULT_TOKEN_CHANNEL;
- // org/eclipse/linuxtools/ctf/parser/CTFLexer.g:41:18: ( 'int' )
- // org/eclipse/linuxtools/ctf/parser/CTFLexer.g:41:20: 'int'
- {
- match("int");
-
- }
-
- state.type = _type;
- state.channel = _channel;
- }
- finally {
- // do for sure before leaving
- }
- }
- // $ANTLR end "INTTOK"
-
- // $ANTLR start "LONGTOK"
- public final void mLONGTOK() throws RecognitionException {
- try {
- int _type = LONGTOK;
- int _channel = DEFAULT_TOKEN_CHANNEL;
- // org/eclipse/linuxtools/ctf/parser/CTFLexer.g:42:18: ( 'long' )
- // org/eclipse/linuxtools/ctf/parser/CTFLexer.g:42:20: 'long'
- {
- match("long");
-
- }
-
- state.type = _type;
- state.channel = _channel;
- }
- finally {
- // do for sure before leaving
- }
- }
- // $ANTLR end "LONGTOK"
-
- // $ANTLR start "SHORTTOK"
- public final void mSHORTTOK() throws RecognitionException {
- try {
- int _type = SHORTTOK;
- int _channel = DEFAULT_TOKEN_CHANNEL;
- // org/eclipse/linuxtools/ctf/parser/CTFLexer.g:43:18: ( 'short' )
- // org/eclipse/linuxtools/ctf/parser/CTFLexer.g:43:20: 'short'
- {
- match("short");
-
- }
-
- state.type = _type;
- state.channel = _channel;
- }
- finally {
- // do for sure before leaving
- }
- }
- // $ANTLR end "SHORTTOK"
-
- // $ANTLR start "SIGNEDTOK"
- public final void mSIGNEDTOK() throws RecognitionException {
- try {
- int _type = SIGNEDTOK;
- int _channel = DEFAULT_TOKEN_CHANNEL;
- // org/eclipse/linuxtools/ctf/parser/CTFLexer.g:44:18: ( 'signed' )
- // org/eclipse/linuxtools/ctf/parser/CTFLexer.g:44:20: 'signed'
- {
- match("signed");
-
- }
-
- state.type = _type;
- state.channel = _channel;
- }
- finally {
- // do for sure before leaving
- }
- }
- // $ANTLR end "SIGNEDTOK"
-
- // $ANTLR start "STREAMTOK"
- public final void mSTREAMTOK() throws RecognitionException {
- try {
- int _type = STREAMTOK;
- int _channel = DEFAULT_TOKEN_CHANNEL;
- // org/eclipse/linuxtools/ctf/parser/CTFLexer.g:45:18: ( 'stream' )
- // org/eclipse/linuxtools/ctf/parser/CTFLexer.g:45:20: 'stream'
- {
- match("stream");
-
- }
-
- state.type = _type;
- state.channel = _channel;
- }
- finally {
- // do for sure before leaving
- }
- }
- // $ANTLR end "STREAMTOK"
-
- // $ANTLR start "STRINGTOK"
- public final void mSTRINGTOK() throws RecognitionException {
- try {
- int _type = STRINGTOK;
- int _channel = DEFAULT_TOKEN_CHANNEL;
- // org/eclipse/linuxtools/ctf/parser/CTFLexer.g:46:18: ( 'string' )
- // org/eclipse/linuxtools/ctf/parser/CTFLexer.g:46:20: 'string'
- {
- match("string");
-
- }
-
- state.type = _type;
- state.channel = _channel;
- }
- finally {
- // do for sure before leaving
- }
- }
- // $ANTLR end "STRINGTOK"
-
- // $ANTLR start "STRUCTTOK"
- public final void mSTRUCTTOK() throws RecognitionException {
- try {
- int _type = STRUCTTOK;
- int _channel = DEFAULT_TOKEN_CHANNEL;
- // org/eclipse/linuxtools/ctf/parser/CTFLexer.g:47:18: ( 'struct' )
- // org/eclipse/linuxtools/ctf/parser/CTFLexer.g:47:20: 'struct'
- {
- match("struct");
-
- }
-
- state.type = _type;
- state.channel = _channel;
- }
- finally {
- // do for sure before leaving
- }
- }
- // $ANTLR end "STRUCTTOK"
-
- // $ANTLR start "TRACETOK"
- public final void mTRACETOK() throws RecognitionException {
- try {
- int _type = TRACETOK;
- int _channel = DEFAULT_TOKEN_CHANNEL;
- // org/eclipse/linuxtools/ctf/parser/CTFLexer.g:48:18: ( 'trace' )
- // org/eclipse/linuxtools/ctf/parser/CTFLexer.g:48:20: 'trace'
- {
- match("trace");
-
- }
-
- state.type = _type;
- state.channel = _channel;
- }
- finally {
- // do for sure before leaving
- }
- }
- // $ANTLR end "TRACETOK"
-
- // $ANTLR start "TYPEALIASTOK"
- public final void mTYPEALIASTOK() throws RecognitionException {
- try {
- int _type = TYPEALIASTOK;
- int _channel = DEFAULT_TOKEN_CHANNEL;
- // org/eclipse/linuxtools/ctf/parser/CTFLexer.g:49:18: ( 'typealias' )
- // org/eclipse/linuxtools/ctf/parser/CTFLexer.g:49:20: 'typealias'
- {
- match("typealias");
-
- }
-
- state.type = _type;
- state.channel = _channel;
- }
- finally {
- // do for sure before leaving
- }
- }
- // $ANTLR end "TYPEALIASTOK"
-
- // $ANTLR start "TYPEDEFTOK"
- public final void mTYPEDEFTOK() throws RecognitionException {
- try {
- int _type = TYPEDEFTOK;
- int _channel = DEFAULT_TOKEN_CHANNEL;
- // org/eclipse/linuxtools/ctf/parser/CTFLexer.g:50:18: ( 'typedef' )
- // org/eclipse/linuxtools/ctf/parser/CTFLexer.g:50:20: 'typedef'
- {
- match("typedef");
-
- }
-
- state.type = _type;
- state.channel = _channel;
- }
- finally {
- // do for sure before leaving
- }
- }
- // $ANTLR end "TYPEDEFTOK"
-
- // $ANTLR start "UNSIGNEDTOK"
- public final void mUNSIGNEDTOK() throws RecognitionException {
- try {
- int _type = UNSIGNEDTOK;
- int _channel = DEFAULT_TOKEN_CHANNEL;
- // org/eclipse/linuxtools/ctf/parser/CTFLexer.g:51:18: ( 'unsigned' )
- // org/eclipse/linuxtools/ctf/parser/CTFLexer.g:51:20: 'unsigned'
- {
- match("unsigned");
-
- }
-
- state.type = _type;
- state.channel = _channel;
- }
- finally {
- // do for sure before leaving
- }
- }
- // $ANTLR end "UNSIGNEDTOK"
-
- // $ANTLR start "VARIANTTOK"
- public final void mVARIANTTOK() throws RecognitionException {
- try {
- int _type = VARIANTTOK;
- int _channel = DEFAULT_TOKEN_CHANNEL;
- // org/eclipse/linuxtools/ctf/parser/CTFLexer.g:52:18: ( 'variant' )
- // org/eclipse/linuxtools/ctf/parser/CTFLexer.g:52:20: 'variant'
- {
- match("variant");
-
- }
-
- state.type = _type;
- state.channel = _channel;
- }
- finally {
- // do for sure before leaving
- }
- }
- // $ANTLR end "VARIANTTOK"
-
- // $ANTLR start "VOIDTOK"
- public final void mVOIDTOK() throws RecognitionException {
- try {
- int _type = VOIDTOK;
- int _channel = DEFAULT_TOKEN_CHANNEL;
- // org/eclipse/linuxtools/ctf/parser/CTFLexer.g:53:18: ( 'void' )
- // org/eclipse/linuxtools/ctf/parser/CTFLexer.g:53:20: 'void'
- {
- match("void");
-
- }
-
- state.type = _type;
- state.channel = _channel;
- }
- finally {
- // do for sure before leaving
- }
- }
- // $ANTLR end "VOIDTOK"
-
- // $ANTLR start "BOOLTOK"
- public final void mBOOLTOK() throws RecognitionException {
- try {
- int _type = BOOLTOK;
- int _channel = DEFAULT_TOKEN_CHANNEL;
- // org/eclipse/linuxtools/ctf/parser/CTFLexer.g:54:18: ( '_Bool' )
- // org/eclipse/linuxtools/ctf/parser/CTFLexer.g:54:20: '_Bool'
- {
- match("_Bool");
-
- }
-
- state.type = _type;
- state.channel = _channel;
- }
- finally {
- // do for sure before leaving
- }
- }
- // $ANTLR end "BOOLTOK"
-
- // $ANTLR start "COMPLEXTOK"
- public final void mCOMPLEXTOK() throws RecognitionException {
- try {
- int _type = COMPLEXTOK;
- int _channel = DEFAULT_TOKEN_CHANNEL;
- // org/eclipse/linuxtools/ctf/parser/CTFLexer.g:55:18: ( '_Complex' )
- // org/eclipse/linuxtools/ctf/parser/CTFLexer.g:55:20: '_Complex'
- {
- match("_Complex");
-
- }
-
- state.type = _type;
- state.channel = _channel;
- }
- finally {
- // do for sure before leaving
- }
- }
- // $ANTLR end "COMPLEXTOK"
-
- // $ANTLR start "IMAGINARYTOK"
- public final void mIMAGINARYTOK() throws RecognitionException {
- try {
- int _type = IMAGINARYTOK;
- int _channel = DEFAULT_TOKEN_CHANNEL;
- // org/eclipse/linuxtools/ctf/parser/CTFLexer.g:56:18: ( '_Imaginary' )
- // org/eclipse/linuxtools/ctf/parser/CTFLexer.g:56:20: '_Imaginary'
- {
- match("_Imaginary");
-
- }
-
- state.type = _type;
- state.channel = _channel;
- }
- finally {
- // do for sure before leaving
- }
- }
- // $ANTLR end "IMAGINARYTOK"
-
- // $ANTLR start "ENVTOK"
- public final void mENVTOK() throws RecognitionException {
- try {
- int _type = ENVTOK;
- int _channel = DEFAULT_TOKEN_CHANNEL;
- // org/eclipse/linuxtools/ctf/parser/CTFLexer.g:57:18: ( 'env' )
- // org/eclipse/linuxtools/ctf/parser/CTFLexer.g:57:20: 'env'
- {
- match("env");
-
- }
-
- state.type = _type;
- state.channel = _channel;
- }
- finally {
- // do for sure before leaving
- }
- }
- // $ANTLR end "ENVTOK"
-
- // $ANTLR start "CLOCKTOK"
- public final void mCLOCKTOK() throws RecognitionException {
- try {
- int _type = CLOCKTOK;
- int _channel = DEFAULT_TOKEN_CHANNEL;
- // org/eclipse/linuxtools/ctf/parser/CTFLexer.g:58:18: ( 'clock' )
- // org/eclipse/linuxtools/ctf/parser/CTFLexer.g:58:20: 'clock'
- {
- match("clock");
-
- }
-
- state.type = _type;
- state.channel = _channel;
- }
- finally {
- // do for sure before leaving
- }
- }
- // $ANTLR end "CLOCKTOK"
-
- // $ANTLR start "CALLSITETOK"
- public final void mCALLSITETOK() throws RecognitionException {
- try {
- int _type = CALLSITETOK;
- int _channel = DEFAULT_TOKEN_CHANNEL;
- // org/eclipse/linuxtools/ctf/parser/CTFLexer.g:62:18: ( 'callsite' )
- // org/eclipse/linuxtools/ctf/parser/CTFLexer.g:62:20: 'callsite'
- {
- match("callsite");
-
- }
-
- state.type = _type;
- state.channel = _channel;
- }
- finally {
- // do for sure before leaving
- }
- }
- // $ANTLR end "CALLSITETOK"
-
- // $ANTLR start "NANNUMBERTOK"
- public final void mNANNUMBERTOK() throws RecognitionException {
- try {
- int _type = NANNUMBERTOK;
- int _channel = DEFAULT_TOKEN_CHANNEL;
- // org/eclipse/linuxtools/ctf/parser/CTFLexer.g:69:15: ( 'NaN' )
- // org/eclipse/linuxtools/ctf/parser/CTFLexer.g:69:17: 'NaN'
- {
- match("NaN");
-
- }
-
- state.type = _type;
- state.channel = _channel;
- }
- finally {
- // do for sure before leaving
- }
- }
- // $ANTLR end "NANNUMBERTOK"
-
- // $ANTLR start "INFINITYTOK"
- public final void mINFINITYTOK() throws RecognitionException {
- try {
- int _type = INFINITYTOK;
- int _channel = DEFAULT_TOKEN_CHANNEL;
- // org/eclipse/linuxtools/ctf/parser/CTFLexer.g:70:15: ( '+inf' )
- // org/eclipse/linuxtools/ctf/parser/CTFLexer.g:70:17: '+inf'
- {
- match("+inf");
-
- }
-
- state.type = _type;
- state.channel = _channel;
- }
- finally {
- // do for sure before leaving
- }
- }
- // $ANTLR end "INFINITYTOK"
-
- // $ANTLR start "NINFINITYTOK"
- public final void mNINFINITYTOK() throws RecognitionException {
- try {
- int _type = NINFINITYTOK;
- int _channel = DEFAULT_TOKEN_CHANNEL;
- // org/eclipse/linuxtools/ctf/parser/CTFLexer.g:71:15: ( '-inf' )
- // org/eclipse/linuxtools/ctf/parser/CTFLexer.g:71:17: '-inf'
- {
- match("-inf");
-
- }
-
- state.type = _type;
- state.channel = _channel;
- }
- finally {
- // do for sure before leaving
- }
- }
- // $ANTLR end "NINFINITYTOK"
-
- // $ANTLR start "SEPARATOR"
- public final void mSEPARATOR() throws RecognitionException {
- try {
- int _type = SEPARATOR;
- int _channel = DEFAULT_TOKEN_CHANNEL;
- // org/eclipse/linuxtools/ctf/parser/CTFLexer.g:76:20: ( ',' )
- // org/eclipse/linuxtools/ctf/parser/CTFLexer.g:76:22: ','
- {
- match(',');
- }
-
- state.type = _type;
- state.channel = _channel;
- }
- finally {
- // do for sure before leaving
- }
- }
- // $ANTLR end "SEPARATOR"
-
- // $ANTLR start "COLON"
- public final void mCOLON() throws RecognitionException {
- try {
- int _type = COLON;
- int _channel = DEFAULT_TOKEN_CHANNEL;
- // org/eclipse/linuxtools/ctf/parser/CTFLexer.g:77:20: ( ':' )
- // org/eclipse/linuxtools/ctf/parser/CTFLexer.g:77:22: ':'
- {
- match(':');
- }
-
- state.type = _type;
- state.channel = _channel;
- }
- finally {
- // do for sure before leaving
- }
- }
- // $ANTLR end "COLON"
-
- // $ANTLR start "ELIPSES"
- public final void mELIPSES() throws RecognitionException {
- try {
- int _type = ELIPSES;
- int _channel = DEFAULT_TOKEN_CHANNEL;
- // org/eclipse/linuxtools/ctf/parser/CTFLexer.g:78:20: ( '...' )
- // org/eclipse/linuxtools/ctf/parser/CTFLexer.g:78:22: '...'
- {
- match("...");
-
- }
-
- state.type = _type;
- state.channel = _channel;
- }
- finally {
- // do for sure before leaving
- }
- }
- // $ANTLR end "ELIPSES"
-
- // $ANTLR start "ASSIGNMENT"
- public final void mASSIGNMENT() throws RecognitionException {
- try {
- int _type = ASSIGNMENT;
- int _channel = DEFAULT_TOKEN_CHANNEL;
- // org/eclipse/linuxtools/ctf/parser/CTFLexer.g:79:20: ( '=' )
- // org/eclipse/linuxtools/ctf/parser/CTFLexer.g:79:22: '='
- {
- match('=');
- }
-
- state.type = _type;
- state.channel = _channel;
- }
- finally {
- // do for sure before leaving
- }
- }
- // $ANTLR end "ASSIGNMENT"
-
- // $ANTLR start "TYPE_ASSIGNMENT"
- public final void mTYPE_ASSIGNMENT() throws RecognitionException {
- try {
- int _type = TYPE_ASSIGNMENT;
- int _channel = DEFAULT_TOKEN_CHANNEL;
- // org/eclipse/linuxtools/ctf/parser/CTFLexer.g:80:20: ( ':=' )
- // org/eclipse/linuxtools/ctf/parser/CTFLexer.g:80:22: ':='
- {
- match(":=");
-
- }
-
- state.type = _type;
- state.channel = _channel;
- }
- finally {
- // do for sure before leaving
- }
- }
- // $ANTLR end "TYPE_ASSIGNMENT"
-
- // $ANTLR start "LT"
- public final void mLT() throws RecognitionException {
- try {
- int _type = LT;
- int _channel = DEFAULT_TOKEN_CHANNEL;
- // org/eclipse/linuxtools/ctf/parser/CTFLexer.g:81:20: ( '<' )
- // org/eclipse/linuxtools/ctf/parser/CTFLexer.g:81:22: '<'
- {
- match('<');
- }
-
- state.type = _type;
- state.channel = _channel;
- }
- finally {
- // do for sure before leaving
- }
- }
- // $ANTLR end "LT"
-
- // $ANTLR start "GT"
- public final void mGT() throws RecognitionException {
- try {
- int _type = GT;
- int _channel = DEFAULT_TOKEN_CHANNEL;
- // org/eclipse/linuxtools/ctf/parser/CTFLexer.g:82:20: ( '>' )
- // org/eclipse/linuxtools/ctf/parser/CTFLexer.g:82:22: '>'
- {
- match('>');
- }
-
- state.type = _type;
- state.channel = _channel;
- }
- finally {
- // do for sure before leaving
- }
- }
- // $ANTLR end "GT"
-
- // $ANTLR start "OPENBRAC"
- public final void mOPENBRAC() throws RecognitionException {
- try {
- int _type = OPENBRAC;
- int _channel = DEFAULT_TOKEN_CHANNEL;
- // org/eclipse/linuxtools/ctf/parser/CTFLexer.g:83:20: ( '[' )
- // org/eclipse/linuxtools/ctf/parser/CTFLexer.g:83:22: '['
- {
- match('[');
- }
-
- state.type = _type;
- state.channel = _channel;
- }
- finally {
- // do for sure before leaving
- }
- }
- // $ANTLR end "OPENBRAC"
-
- // $ANTLR start "CLOSEBRAC"
- public final void mCLOSEBRAC() throws RecognitionException {
- try {
- int _type = CLOSEBRAC;
- int _channel = DEFAULT_TOKEN_CHANNEL;
- // org/eclipse/linuxtools/ctf/parser/CTFLexer.g:84:20: ( ']' )
- // org/eclipse/linuxtools/ctf/parser/CTFLexer.g:84:22: ']'
- {
- match(']');
- }
-
- state.type = _type;
- state.channel = _channel;
- }
- finally {
- // do for sure before leaving
- }
- }
- // $ANTLR end "CLOSEBRAC"
-
- // $ANTLR start "LPAREN"
- public final void mLPAREN() throws RecognitionException {
- try {
- int _type = LPAREN;
- int _channel = DEFAULT_TOKEN_CHANNEL;
- // org/eclipse/linuxtools/ctf/parser/CTFLexer.g:85:20: ( '(' )
- // org/eclipse/linuxtools/ctf/parser/CTFLexer.g:85:22: '('
- {
- match('(');
- }
-
- state.type = _type;
- state.channel = _channel;
- }
- finally {
- // do for sure before leaving
- }
- }
- // $ANTLR end "LPAREN"
-
- // $ANTLR start "RPAREN"
- public final void mRPAREN() throws RecognitionException {
- try {
- int _type = RPAREN;
- int _channel = DEFAULT_TOKEN_CHANNEL;
- // org/eclipse/linuxtools/ctf/parser/CTFLexer.g:86:20: ( ')' )
- // org/eclipse/linuxtools/ctf/parser/CTFLexer.g:86:22: ')'
- {
- match(')');
- }
-
- state.type = _type;
- state.channel = _channel;
- }
- finally {
- // do for sure before leaving
- }
- }
- // $ANTLR end "RPAREN"
-
- // $ANTLR start "LCURL"
- public final void mLCURL() throws RecognitionException {
- try {
- int _type = LCURL;
- int _channel = DEFAULT_TOKEN_CHANNEL;
- // org/eclipse/linuxtools/ctf/parser/CTFLexer.g:87:20: ( '{' )
- // org/eclipse/linuxtools/ctf/parser/CTFLexer.g:87:22: '{'
- {
- match('{');
- }
-
- state.type = _type;
- state.channel = _channel;
- }
- finally {
- // do for sure before leaving
- }
- }
- // $ANTLR end "LCURL"
-
- // $ANTLR start "RCURL"
- public final void mRCURL() throws RecognitionException {
- try {
- int _type = RCURL;
- int _channel = DEFAULT_TOKEN_CHANNEL;
- // org/eclipse/linuxtools/ctf/parser/CTFLexer.g:88:20: ( '}' )
- // org/eclipse/linuxtools/ctf/parser/CTFLexer.g:88:22: '}'
- {
- match('}');
- }
-
- state.type = _type;
- state.channel = _channel;
- }
- finally {
- // do for sure before leaving
- }
- }
- // $ANTLR end "RCURL"
-
- // $ANTLR start "TERM"
- public final void mTERM() throws RecognitionException {
- try {
- int _type = TERM;
- int _channel = DEFAULT_TOKEN_CHANNEL;
- // org/eclipse/linuxtools/ctf/parser/CTFLexer.g:89:20: ( ';' )
- // org/eclipse/linuxtools/ctf/parser/CTFLexer.g:89:22: ';'
- {
- match(';');
- }
-
- state.type = _type;
- state.channel = _channel;
- }
- finally {
- // do for sure before leaving
- }
- }
- // $ANTLR end "TERM"
-
- // $ANTLR start "POINTER"
- public final void mPOINTER() throws RecognitionException {
- try {
- int _type = POINTER;
- int _channel = DEFAULT_TOKEN_CHANNEL;
- // org/eclipse/linuxtools/ctf/parser/CTFLexer.g:90:20: ( '*' )
- // org/eclipse/linuxtools/ctf/parser/CTFLexer.g:90:22: '*'
- {
- match('*');
- }
-
- state.type = _type;
- state.channel = _channel;
- }
- finally {
- // do for sure before leaving
- }
- }
- // $ANTLR end "POINTER"
-
- // $ANTLR start "SIGN"
- public final void mSIGN() throws RecognitionException {
- try {
- int _type = SIGN;
- int _channel = DEFAULT_TOKEN_CHANNEL;
- // org/eclipse/linuxtools/ctf/parser/CTFLexer.g:91:20: ( '+' | '-' )
- // org/eclipse/linuxtools/ctf/parser/CTFLexer.g:
- {
- if ( input.LA(1)=='+'||input.LA(1)=='-' ) {
- input.consume();
- }
- else {
- MismatchedSetException mse = new MismatchedSetException(null,input);
- recover(mse);
- throw mse;
- }
- }
-
- state.type = _type;
- state.channel = _channel;
- }
- finally {
- // do for sure before leaving
- }
- }
- // $ANTLR end "SIGN"
-
- // $ANTLR start "ARROW"
- public final void mARROW() throws RecognitionException {
- try {
- int _type = ARROW;
- int _channel = DEFAULT_TOKEN_CHANNEL;
- // org/eclipse/linuxtools/ctf/parser/CTFLexer.g:92:20: ( '->' )
- // org/eclipse/linuxtools/ctf/parser/CTFLexer.g:92:22: '->'
- {
- match("->");
-
- }
-
- state.type = _type;
- state.channel = _channel;
- }
- finally {
- // do for sure before leaving
- }
- }
- // $ANTLR end "ARROW"
-
- // $ANTLR start "DOT"
- public final void mDOT() throws RecognitionException {
- try {
- int _type = DOT;
- int _channel = DEFAULT_TOKEN_CHANNEL;
- // org/eclipse/linuxtools/ctf/parser/CTFLexer.g:93:20: ( '.' )
- // org/eclipse/linuxtools/ctf/parser/CTFLexer.g:93:22: '.'
- {
- match('.');
- }
-
- state.type = _type;
- state.channel = _channel;
- }
- finally {
- // do for sure before leaving
- }
- }
- // $ANTLR end "DOT"
-
- // $ANTLR start "BACKSLASH"
- public final void mBACKSLASH() throws RecognitionException {
- try {
- // org/eclipse/linuxtools/ctf/parser/CTFLexer.g:94:20: ( '\\\\' )
- // org/eclipse/linuxtools/ctf/parser/CTFLexer.g:94:22: '\\\\'
- {
- match('\\');
- }
-
- }
- finally {
- // do for sure before leaving
- }
- }
- // $ANTLR end "BACKSLASH"
-
- // $ANTLR start "DIGIT"
- public final void mDIGIT() throws RecognitionException {
- try {
- // org/eclipse/linuxtools/ctf/parser/CTFLexer.g:97:16: ( '0' .. '9' )
- // org/eclipse/linuxtools/ctf/parser/CTFLexer.g:
- {
- if ( (input.LA(1) >= '0' && input.LA(1) <= '9') ) {
- input.consume();
- }
- else {
- MismatchedSetException mse = new MismatchedSetException(null,input);
- recover(mse);
- throw mse;
- }
- }
-
- }
- finally {
- // do for sure before leaving
- }
- }
- // $ANTLR end "DIGIT"
-
- // $ANTLR start "OCT_DIGIT"
- public final void mOCT_DIGIT() throws RecognitionException {
- try {
- // org/eclipse/linuxtools/ctf/parser/CTFLexer.g:98:20: ( '0' .. '7' )
- // org/eclipse/linuxtools/ctf/parser/CTFLexer.g:
- {
- if ( (input.LA(1) >= '0' && input.LA(1) <= '7') ) {
- input.consume();
- }
- else {
- MismatchedSetException mse = new MismatchedSetException(null,input);
- recover(mse);
- throw mse;
- }
- }
-
- }
- finally {
- // do for sure before leaving
- }
- }
- // $ANTLR end "OCT_DIGIT"
-
- // $ANTLR start "OCT_PREFIX"
- public final void mOCT_PREFIX() throws RecognitionException {
- try {
- // org/eclipse/linuxtools/ctf/parser/CTFLexer.g:99:21: ( '0' )
- // org/eclipse/linuxtools/ctf/parser/CTFLexer.g:99:23: '0'
- {
- match('0');
- }
-
- }
- finally {
- // do for sure before leaving
- }
- }
- // $ANTLR end "OCT_PREFIX"
-
- // $ANTLR start "NONZERO_DIGIT"
- public final void mNONZERO_DIGIT() throws RecognitionException {
- try {
- // org/eclipse/linuxtools/ctf/parser/CTFLexer.g:100:24: ( '1' .. '9' )
- // org/eclipse/linuxtools/ctf/parser/CTFLexer.g:
- {
- if ( (input.LA(1) >= '1' && input.LA(1) <= '9') ) {
- input.consume();
- }
- else {
- MismatchedSetException mse = new MismatchedSetException(null,input);
- recover(mse);
- throw mse;
- }
- }
-
- }
- finally {
- // do for sure before leaving
- }
- }
- // $ANTLR end "NONZERO_DIGIT"
-
- // $ANTLR start "HEX_DIGIT"
- public final void mHEX_DIGIT() throws RecognitionException {
- try {
- // org/eclipse/linuxtools/ctf/parser/CTFLexer.g:101:20: ( DIGIT | ( 'a' .. 'f' ) | ( 'A' .. 'F' ) )
- // org/eclipse/linuxtools/ctf/parser/CTFLexer.g:
- {
- if ( (input.LA(1) >= '0' && input.LA(1) <= '9')||(input.LA(1) >= 'A' && input.LA(1) <= 'F')||(input.LA(1) >= 'a' && input.LA(1) <= 'f') ) {
- input.consume();
- }
- else {
- MismatchedSetException mse = new MismatchedSetException(null,input);
- recover(mse);
- throw mse;
- }
- }
-
- }
- finally {
- // do for sure before leaving
- }
- }
- // $ANTLR end "HEX_DIGIT"
-
- // $ANTLR start "HEX_PREFIX"
- public final void mHEX_PREFIX() throws RecognitionException {
- try {
- // org/eclipse/linuxtools/ctf/parser/CTFLexer.g:102:21: ( '0' ( 'x' | 'X' ) )
- // org/eclipse/linuxtools/ctf/parser/CTFLexer.g:102:23: '0' ( 'x' | 'X' )
- {
- match('0');
- if ( input.LA(1)=='X'||input.LA(1)=='x' ) {
- input.consume();
- }
- else {
- MismatchedSetException mse = new MismatchedSetException(null,input);
- recover(mse);
- throw mse;
- }
- }
-
- }
- finally {
- // do for sure before leaving
- }
- }
- // $ANTLR end "HEX_PREFIX"
-
- // $ANTLR start "OCTAL_LITERAL"
- public final void mOCTAL_LITERAL() throws RecognitionException {
- try {
- int _type = OCTAL_LITERAL;
- int _channel = DEFAULT_TOKEN_CHANNEL;
- // org/eclipse/linuxtools/ctf/parser/CTFLexer.g:107:15: ( OCT_PREFIX ( OCT_DIGIT )+ ( INTEGER_TYPES_SUFFIX )? )
- // org/eclipse/linuxtools/ctf/parser/CTFLexer.g:107:17: OCT_PREFIX ( OCT_DIGIT )+ ( INTEGER_TYPES_SUFFIX )?
- {
- mOCT_PREFIX();
-
- // org/eclipse/linuxtools/ctf/parser/CTFLexer.g:107:28: ( OCT_DIGIT )+
- int cnt1=0;
- loop1:
- while (true) {
- int alt1=2;
- int LA1_0 = input.LA(1);
- if ( ((LA1_0 >= '0' && LA1_0 <= '7')) ) {
- alt1=1;
- }
-
- switch (alt1) {
- case 1 :
- // org/eclipse/linuxtools/ctf/parser/CTFLexer.g:
- {
- if ( (input.LA(1) >= '0' && input.LA(1) <= '7') ) {
- input.consume();
- }
- else {
- MismatchedSetException mse = new MismatchedSetException(null,input);
- recover(mse);
- throw mse;
- }
- }
- break;
-
- default :
- if ( cnt1 >= 1 ) break loop1;
- EarlyExitException eee = new EarlyExitException(1, input);
- throw eee;
- }
- cnt1++;
- }
-
- // org/eclipse/linuxtools/ctf/parser/CTFLexer.g:107:41: ( INTEGER_TYPES_SUFFIX )?
- int alt2=2;
- int LA2_0 = input.LA(1);
- if ( (LA2_0=='L'||LA2_0=='U'||LA2_0=='l'||LA2_0=='u') ) {
- alt2=1;
- }
- switch (alt2) {
- case 1 :
- // org/eclipse/linuxtools/ctf/parser/CTFLexer.g:107:41: INTEGER_TYPES_SUFFIX
- {
- mINTEGER_TYPES_SUFFIX();
-
- }
- break;
-
- }
-
- }
-
- state.type = _type;
- state.channel = _channel;
- }
- finally {
- // do for sure before leaving
- }
- }
- // $ANTLR end "OCTAL_LITERAL"
-
- // $ANTLR start "DECIMAL_LITERAL"
- public final void mDECIMAL_LITERAL() throws RecognitionException {
- try {
- int _type = DECIMAL_LITERAL;
- int _channel = DEFAULT_TOKEN_CHANNEL;
- // org/eclipse/linuxtools/ctf/parser/CTFLexer.g:108:17: ( ( DIGIT )+ ( INTEGER_TYPES_SUFFIX )? )
- // org/eclipse/linuxtools/ctf/parser/CTFLexer.g:108:19: ( DIGIT )+ ( INTEGER_TYPES_SUFFIX )?
- {
- // org/eclipse/linuxtools/ctf/parser/CTFLexer.g:108:19: ( DIGIT )+
- int cnt3=0;
- loop3:
- while (true) {
- int alt3=2;
- int LA3_0 = input.LA(1);
- if ( ((LA3_0 >= '0' && LA3_0 <= '9')) ) {
- alt3=1;
- }
-
- switch (alt3) {
- case 1 :
- // org/eclipse/linuxtools/ctf/parser/CTFLexer.g:
- {
- if ( (input.LA(1) >= '0' && input.LA(1) <= '9') ) {
- input.consume();
- }
- else {
- MismatchedSetException mse = new MismatchedSetException(null,input);
- recover(mse);
- throw mse;
- }
- }
- break;
-
- default :
- if ( cnt3 >= 1 ) break loop3;
- EarlyExitException eee = new EarlyExitException(3, input);
- throw eee;
- }
- cnt3++;
- }
-
- // org/eclipse/linuxtools/ctf/parser/CTFLexer.g:108:26: ( INTEGER_TYPES_SUFFIX )?
- int alt4=2;
- int LA4_0 = input.LA(1);
- if ( (LA4_0=='L'||LA4_0=='U'||LA4_0=='l'||LA4_0=='u') ) {
- alt4=1;
- }
- switch (alt4) {
- case 1 :
- // org/eclipse/linuxtools/ctf/parser/CTFLexer.g:108:26: INTEGER_TYPES_SUFFIX
- {
- mINTEGER_TYPES_SUFFIX();
-
- }
- break;
-
- }
-
- }
-
- state.type = _type;
- state.channel = _channel;
- }
- finally {
- // do for sure before leaving
- }
- }
- // $ANTLR end "DECIMAL_LITERAL"
-
- // $ANTLR start "HEX_LITERAL"
- public final void mHEX_LITERAL() throws RecognitionException {
- try {
- int _type = HEX_LITERAL;
- int _channel = DEFAULT_TOKEN_CHANNEL;
- // org/eclipse/linuxtools/ctf/parser/CTFLexer.g:109:13: ( HEX_PREFIX ( HEX_DIGIT )+ ( INTEGER_TYPES_SUFFIX )? )
- // org/eclipse/linuxtools/ctf/parser/CTFLexer.g:109:15: HEX_PREFIX ( HEX_DIGIT )+ ( INTEGER_TYPES_SUFFIX )?
- {
- mHEX_PREFIX();
-
- // org/eclipse/linuxtools/ctf/parser/CTFLexer.g:109:26: ( HEX_DIGIT )+
- int cnt5=0;
- loop5:
- while (true) {
- int alt5=2;
- int LA5_0 = input.LA(1);
- if ( ((LA5_0 >= '0' && LA5_0 <= '9')||(LA5_0 >= 'A' && LA5_0 <= 'F')||(LA5_0 >= 'a' && LA5_0 <= 'f')) ) {
- alt5=1;
- }
-
- switch (alt5) {
- case 1 :
- // org/eclipse/linuxtools/ctf/parser/CTFLexer.g:
- {
- if ( (input.LA(1) >= '0' && input.LA(1) <= '9')||(input.LA(1) >= 'A' && input.LA(1) <= 'F')||(input.LA(1) >= 'a' && input.LA(1) <= 'f') ) {
- input.consume();
- }
- else {
- MismatchedSetException mse = new MismatchedSetException(null,input);
- recover(mse);
- throw mse;
- }
- }
- break;
-
- default :
- if ( cnt5 >= 1 ) break loop5;
- EarlyExitException eee = new EarlyExitException(5, input);
- throw eee;
- }
- cnt5++;
- }
-
- // org/eclipse/linuxtools/ctf/parser/CTFLexer.g:109:37: ( INTEGER_TYPES_SUFFIX )?
- int alt6=2;
- int LA6_0 = input.LA(1);
- if ( (LA6_0=='L'||LA6_0=='U'||LA6_0=='l'||LA6_0=='u') ) {
- alt6=1;
- }
- switch (alt6) {
- case 1 :
- // org/eclipse/linuxtools/ctf/parser/CTFLexer.g:109:37: INTEGER_TYPES_SUFFIX
- {
- mINTEGER_TYPES_SUFFIX();
-
- }
- break;
-
- }
-
- }
-
- state.type = _type;
- state.channel = _channel;
- }
- finally {
- // do for sure before leaving
- }
- }
- // $ANTLR end "HEX_LITERAL"
-
- // $ANTLR start "INTEGER_TYPES_SUFFIX"
- public final void mINTEGER_TYPES_SUFFIX() throws RecognitionException {
- try {
- // org/eclipse/linuxtools/ctf/parser/CTFLexer.g:117:3: ( ( 'l' ( 'l' )? | 'L' ( 'L' )? ) | ( 'u' | 'U' ) | ( 'u' | 'U' ) ( 'l' ( 'l' )? | 'L' ( 'L' )? ) | ( 'l' ( 'l' )? | 'L' ( 'L' )? ) ( 'u' | 'U' ) )
- int alt16=4;
- switch ( input.LA(1) ) {
- case 'l':
- {
- switch ( input.LA(2) ) {
- case 'l':
- {
- int LA16_4 = input.LA(3);
- if ( (LA16_4=='U'||LA16_4=='u') ) {
- alt16=4;
- }
-
- else {
- alt16=1;
- }
-
- }
- break;
- case 'U':
- case 'u':
- {
- alt16=4;
- }
- break;
- default:
- alt16=1;
- }
- }
- break;
- case 'L':
- {
- switch ( input.LA(2) ) {
- case 'L':
- {
- int LA16_7 = input.LA(3);
- if ( (LA16_7=='U'||LA16_7=='u') ) {
- alt16=4;
- }
-
- else {
- alt16=1;
- }
-
- }
- break;
- case 'U':
- case 'u':
- {
- alt16=4;
- }
- break;
- default:
- alt16=1;
- }
- }
- break;
- case 'U':
- case 'u':
- {
- int LA16_3 = input.LA(2);
- if ( (LA16_3=='L'||LA16_3=='l') ) {
- alt16=3;
- }
-
- else {
- alt16=2;
- }
-
- }
- break;
- default:
- NoViableAltException nvae =
- new NoViableAltException("", 16, 0, input);
- throw nvae;
- }
- switch (alt16) {
- case 1 :
- // org/eclipse/linuxtools/ctf/parser/CTFLexer.g:117:5: ( 'l' ( 'l' )? | 'L' ( 'L' )? )
- {
- // org/eclipse/linuxtools/ctf/parser/CTFLexer.g:117:5: ( 'l' ( 'l' )? | 'L' ( 'L' )? )
- int alt9=2;
- int LA9_0 = input.LA(1);
- if ( (LA9_0=='l') ) {
- alt9=1;
- }
- else if ( (LA9_0=='L') ) {
- alt9=2;
- }
-
- else {
- NoViableAltException nvae =
- new NoViableAltException("", 9, 0, input);
- throw nvae;
- }
-
- switch (alt9) {
- case 1 :
- // org/eclipse/linuxtools/ctf/parser/CTFLexer.g:117:6: 'l' ( 'l' )?
- {
- match('l');
- // org/eclipse/linuxtools/ctf/parser/CTFLexer.g:117:10: ( 'l' )?
- int alt7=2;
- int LA7_0 = input.LA(1);
- if ( (LA7_0=='l') ) {
- alt7=1;
- }
- switch (alt7) {
- case 1 :
- // org/eclipse/linuxtools/ctf/parser/CTFLexer.g:117:11: 'l'
- {
- match('l');
- }
- break;
-
- }
-
- }
- break;
- case 2 :
- // org/eclipse/linuxtools/ctf/parser/CTFLexer.g:117:19: 'L' ( 'L' )?
- {
- match('L');
- // org/eclipse/linuxtools/ctf/parser/CTFLexer.g:117:23: ( 'L' )?
- int alt8=2;
- int LA8_0 = input.LA(1);
- if ( (LA8_0=='L') ) {
- alt8=1;
- }
- switch (alt8) {
- case 1 :
- // org/eclipse/linuxtools/ctf/parser/CTFLexer.g:117:24: 'L'
- {
- match('L');
- }
- break;
-
- }
-
- }
- break;
-
- }
-
- }
- break;
- case 2 :
- // org/eclipse/linuxtools/ctf/parser/CTFLexer.g:118:5: ( 'u' | 'U' )
- {
- if ( input.LA(1)=='U'||input.LA(1)=='u' ) {
- input.consume();
- }
- else {
- MismatchedSetException mse = new MismatchedSetException(null,input);
- recover(mse);
- throw mse;
- }
- }
- break;
- case 3 :
- // org/eclipse/linuxtools/ctf/parser/CTFLexer.g:119:5: ( 'u' | 'U' ) ( 'l' ( 'l' )? | 'L' ( 'L' )? )
- {
- if ( input.LA(1)=='U'||input.LA(1)=='u' ) {
- input.consume();
- }
- else {
- MismatchedSetException mse = new MismatchedSetException(null,input);
- recover(mse);
- throw mse;
- }
- // org/eclipse/linuxtools/ctf/parser/CTFLexer.g:119:17: ( 'l' ( 'l' )? | 'L' ( 'L' )? )
- int alt12=2;
- int LA12_0 = input.LA(1);
- if ( (LA12_0=='l') ) {
- alt12=1;
- }
- else if ( (LA12_0=='L') ) {
- alt12=2;
- }
-
- else {
- NoViableAltException nvae =
- new NoViableAltException("", 12, 0, input);
- throw nvae;
- }
-
- switch (alt12) {
- case 1 :
- // org/eclipse/linuxtools/ctf/parser/CTFLexer.g:119:18: 'l' ( 'l' )?
- {
- match('l');
- // org/eclipse/linuxtools/ctf/parser/CTFLexer.g:119:22: ( 'l' )?
- int alt10=2;
- int LA10_0 = input.LA(1);
- if ( (LA10_0=='l') ) {
- alt10=1;
- }
- switch (alt10) {
- case 1 :
- // org/eclipse/linuxtools/ctf/parser/CTFLexer.g:119:23: 'l'
- {
- match('l');
- }
- break;
-
- }
-
- }
- break;
- case 2 :
- // org/eclipse/linuxtools/ctf/parser/CTFLexer.g:119:31: 'L' ( 'L' )?
- {
- match('L');
- // org/eclipse/linuxtools/ctf/parser/CTFLexer.g:119:35: ( 'L' )?
- int alt11=2;
- int LA11_0 = input.LA(1);
- if ( (LA11_0=='L') ) {
- alt11=1;
- }
- switch (alt11) {
- case 1 :
- // org/eclipse/linuxtools/ctf/parser/CTFLexer.g:119:36: 'L'
- {
- match('L');
- }
- break;
-
- }
-
- }
- break;
-
- }
-
- }
- break;
- case 4 :
- // org/eclipse/linuxtools/ctf/parser/CTFLexer.g:120:5: ( 'l' ( 'l' )? | 'L' ( 'L' )? ) ( 'u' | 'U' )
- {
- // org/eclipse/linuxtools/ctf/parser/CTFLexer.g:120:5: ( 'l' ( 'l' )? | 'L' ( 'L' )? )
- int alt15=2;
- int LA15_0 = input.LA(1);
- if ( (LA15_0=='l') ) {
- alt15=1;
- }
- else if ( (LA15_0=='L') ) {
- alt15=2;
- }
-
- else {
- NoViableAltException nvae =
- new NoViableAltException("", 15, 0, input);
- throw nvae;
- }
-
- switch (alt15) {
- case 1 :
- // org/eclipse/linuxtools/ctf/parser/CTFLexer.g:120:6: 'l' ( 'l' )?
- {
- match('l');
- // org/eclipse/linuxtools/ctf/parser/CTFLexer.g:120:10: ( 'l' )?
- int alt13=2;
- int LA13_0 = input.LA(1);
- if ( (LA13_0=='l') ) {
- alt13=1;
- }
- switch (alt13) {
- case 1 :
- // org/eclipse/linuxtools/ctf/parser/CTFLexer.g:120:11: 'l'
- {
- match('l');
- }
- break;
-
- }
-
- }
- break;
- case 2 :
- // org/eclipse/linuxtools/ctf/parser/CTFLexer.g:120:19: 'L' ( 'L' )?
- {
- match('L');
- // org/eclipse/linuxtools/ctf/parser/CTFLexer.g:120:23: ( 'L' )?
- int alt14=2;
- int LA14_0 = input.LA(1);
- if ( (LA14_0=='L') ) {
- alt14=1;
- }
- switch (alt14) {
- case 1 :
- // org/eclipse/linuxtools/ctf/parser/CTFLexer.g:120:24: 'L'
- {
- match('L');
- }
- break;
-
- }
-
- }
- break;
-
- }
-
- if ( input.LA(1)=='U'||input.LA(1)=='u' ) {
- input.consume();
- }
- else {
- MismatchedSetException mse = new MismatchedSetException(null,input);
- recover(mse);
- throw mse;
- }
- }
- break;
-
- }
- }
- finally {
- // do for sure before leaving
- }
- }
- // $ANTLR end "INTEGER_TYPES_SUFFIX"
-
- // $ANTLR start "ESCAPE_SEQUENCE"
- public final void mESCAPE_SEQUENCE() throws RecognitionException {
- try {
- // org/eclipse/linuxtools/ctf/parser/CTFLexer.g:127:3: ( BACKSLASH ( '\\'' | '\"' | '?' | BACKSLASH | 'a' | 'b' | 'f' | 'n' | 'r' | 't' | 'v' ) | OCTAL_ESCAPE | UNICODE_ESCAPE | HEXADECIMAL_ESCAPE )
- int alt17=4;
- int LA17_0 = input.LA(1);
- if ( (LA17_0=='\\') ) {
- switch ( input.LA(2) ) {
- case '\"':
- case '\'':
- case '?':
- case '\\':
- case 'a':
- case 'b':
- case 'f':
- case 'n':
- case 'r':
- case 't':
- case 'v':
- {
- alt17=1;
- }
- break;
- case '0':
- case '1':
- case '2':
- case '3':
- case '4':
- case '5':
- case '6':
- case '7':
- {
- alt17=2;
- }
- break;
- case 'U':
- case 'u':
- {
- alt17=3;
- }
- break;
- case 'x':
- {
- alt17=4;
- }
- break;
- default:
- int nvaeMark = input.mark();
- try {
- input.consume();
- NoViableAltException nvae =
- new NoViableAltException("", 17, 1, input);
- throw nvae;
- } finally {
- input.rewind(nvaeMark);
- }
- }
- }
-
- else {
- NoViableAltException nvae =
- new NoViableAltException("", 17, 0, input);
- throw nvae;
- }
-
- switch (alt17) {
- case 1 :
- // org/eclipse/linuxtools/ctf/parser/CTFLexer.g:127:5: BACKSLASH ( '\\'' | '\"' | '?' | BACKSLASH | 'a' | 'b' | 'f' | 'n' | 'r' | 't' | 'v' )
- {
- mBACKSLASH();
-
- if ( input.LA(1)=='\"'||input.LA(1)=='\''||input.LA(1)=='?'||input.LA(1)=='\\'||(input.LA(1) >= 'a' && input.LA(1) <= 'b')||input.LA(1)=='f'||input.LA(1)=='n'||input.LA(1)=='r'||input.LA(1)=='t'||input.LA(1)=='v' ) {
- input.consume();
- }
- else {
- MismatchedSetException mse = new MismatchedSetException(null,input);
- recover(mse);
- throw mse;
- }
- }
- break;
- case 2 :
- // org/eclipse/linuxtools/ctf/parser/CTFLexer.g:128:5: OCTAL_ESCAPE
- {
- mOCTAL_ESCAPE();
-
- }
- break;
- case 3 :
- // org/eclipse/linuxtools/ctf/parser/CTFLexer.g:129:5: UNICODE_ESCAPE
- {
- mUNICODE_ESCAPE();
-
- }
- break;
- case 4 :
- // org/eclipse/linuxtools/ctf/parser/CTFLexer.g:130:5: HEXADECIMAL_ESCAPE
- {
- mHEXADECIMAL_ESCAPE();
-
- }
- break;
-
- }
- }
- finally {
- // do for sure before leaving
- }
- }
- // $ANTLR end "ESCAPE_SEQUENCE"
-
- // $ANTLR start "OCTAL_ESCAPE"
- public final void mOCTAL_ESCAPE() throws RecognitionException {
- try {
- // org/eclipse/linuxtools/ctf/parser/CTFLexer.g:137:3: ( BACKSLASH ( '0' .. '3' ) ( '0' .. '7' ) ( '0' .. '7' ) | BACKSLASH ( '0' .. '7' ) ( '0' .. '7' ) | BACKSLASH ( '0' .. '7' ) )
- int alt18=3;
- int LA18_0 = input.LA(1);
- if ( (LA18_0=='\\') ) {
- int LA18_1 = input.LA(2);
- if ( ((LA18_1 >= '0' && LA18_1 <= '3')) ) {
- int LA18_2 = input.LA(3);
- if ( ((LA18_2 >= '0' && LA18_2 <= '7')) ) {
- int LA18_4 = input.LA(4);
- if ( ((LA18_4 >= '0' && LA18_4 <= '7')) ) {
- alt18=1;
- }
-
- else {
- alt18=2;
- }
-
- }
-
- else {
- alt18=3;
- }
-
- }
- else if ( ((LA18_1 >= '4' && LA18_1 <= '7')) ) {
- int LA18_3 = input.LA(3);
- if ( ((LA18_3 >= '0' && LA18_3 <= '7')) ) {
- alt18=2;
- }
-
- else {
- alt18=3;
- }
-
- }
-
- else {
- int nvaeMark = input.mark();
- try {
- input.consume();
- NoViableAltException nvae =
- new NoViableAltException("", 18, 1, input);
- throw nvae;
- } finally {
- input.rewind(nvaeMark);
- }
- }
-
- }
-
- else {
- NoViableAltException nvae =
- new NoViableAltException("", 18, 0, input);
- throw nvae;
- }
-
- switch (alt18) {
- case 1 :
- // org/eclipse/linuxtools/ctf/parser/CTFLexer.g:137:5: BACKSLASH ( '0' .. '3' ) ( '0' .. '7' ) ( '0' .. '7' )
- {
- mBACKSLASH();
-
- if ( (input.LA(1) >= '0' && input.LA(1) <= '3') ) {
- input.consume();
- }
- else {
- MismatchedSetException mse = new MismatchedSetException(null,input);
- recover(mse);
- throw mse;
- }
- if ( (input.LA(1) >= '0' && input.LA(1) <= '7') ) {
- input.consume();
- }
- else {
- MismatchedSetException mse = new MismatchedSetException(null,input);
- recover(mse);
- throw mse;
- }
- if ( (input.LA(1) >= '0' && input.LA(1) <= '7') ) {
- input.consume();
- }
- else {
- MismatchedSetException mse = new MismatchedSetException(null,input);
- recover(mse);
- throw mse;
- }
- }
- break;
- case 2 :
- // org/eclipse/linuxtools/ctf/parser/CTFLexer.g:138:5: BACKSLASH ( '0' .. '7' ) ( '0' .. '7' )
- {
- mBACKSLASH();
-
- if ( (input.LA(1) >= '0' && input.LA(1) <= '7') ) {
- input.consume();
- }
- else {
- MismatchedSetException mse = new MismatchedSetException(null,input);
- recover(mse);
- throw mse;
- }
- if ( (input.LA(1) >= '0' && input.LA(1) <= '7') ) {
- input.consume();
- }
- else {
- MismatchedSetException mse = new MismatchedSetException(null,input);
- recover(mse);
- throw mse;
- }
- }
- break;
- case 3 :
- // org/eclipse/linuxtools/ctf/parser/CTFLexer.g:139:5: BACKSLASH ( '0' .. '7' )
- {
- mBACKSLASH();
-
- if ( (input.LA(1) >= '0' && input.LA(1) <= '7') ) {
- input.consume();
- }
- else {
- MismatchedSetException mse = new MismatchedSetException(null,input);
- recover(mse);
- throw mse;
- }
- }
- break;
-
- }
- }
- finally {
- // do for sure before leaving
- }
- }
- // $ANTLR end "OCTAL_ESCAPE"
-
- // $ANTLR start "HEXADECIMAL_ESCAPE"
- public final void mHEXADECIMAL_ESCAPE() throws RecognitionException {
- try {
- // org/eclipse/linuxtools/ctf/parser/CTFLexer.g:145:29: ( BACKSLASH 'x' ( HEX_DIGIT )+ )
- // org/eclipse/linuxtools/ctf/parser/CTFLexer.g:145:31: BACKSLASH 'x' ( HEX_DIGIT )+
- {
- mBACKSLASH();
-
- match('x');
- // org/eclipse/linuxtools/ctf/parser/CTFLexer.g:145:45: ( HEX_DIGIT )+
- int cnt19=0;
- loop19:
- while (true) {
- int alt19=2;
- int LA19_0 = input.LA(1);
- if ( ((LA19_0 >= '0' && LA19_0 <= '9')||(LA19_0 >= 'A' && LA19_0 <= 'F')||(LA19_0 >= 'a' && LA19_0 <= 'f')) ) {
- alt19=1;
- }
-
- switch (alt19) {
- case 1 :
- // org/eclipse/linuxtools/ctf/parser/CTFLexer.g:
- {
- if ( (input.LA(1) >= '0' && input.LA(1) <= '9')||(input.LA(1) >= 'A' && input.LA(1) <= 'F')||(input.LA(1) >= 'a' && input.LA(1) <= 'f') ) {
- input.consume();
- }
- else {
- MismatchedSetException mse = new MismatchedSetException(null,input);
- recover(mse);
- throw mse;
- }
- }
- break;
-
- default :
- if ( cnt19 >= 1 ) break loop19;
- EarlyExitException eee = new EarlyExitException(19, input);
- throw eee;
- }
- cnt19++;
- }
-
- }
-
- }
- finally {
- // do for sure before leaving
- }
- }
- // $ANTLR end "HEXADECIMAL_ESCAPE"
-
- // $ANTLR start "UNICODE_ESCAPE"
- public final void mUNICODE_ESCAPE() throws RecognitionException {
- try {
- // org/eclipse/linuxtools/ctf/parser/CTFLexer.g:151:3: ( BACKSLASH 'u' HEX_DIGIT HEX_DIGIT HEX_DIGIT HEX_DIGIT | BACKSLASH 'U' HEX_DIGIT HEX_DIGIT HEX_DIGIT HEX_DIGIT HEX_DIGIT HEX_DIGIT HEX_DIGIT HEX_DIGIT )
- int alt20=2;
- int LA20_0 = input.LA(1);
- if ( (LA20_0=='\\') ) {
- int LA20_1 = input.LA(2);
- if ( (LA20_1=='u') ) {
- alt20=1;
- }
- else if ( (LA20_1=='U') ) {
- alt20=2;
- }
-
- else {
- int nvaeMark = input.mark();
- try {
- input.consume();
- NoViableAltException nvae =
- new NoViableAltException("", 20, 1, input);
- throw nvae;
- } finally {
- input.rewind(nvaeMark);
- }
- }
-
- }
-
- else {
- NoViableAltException nvae =
- new NoViableAltException("", 20, 0, input);
- throw nvae;
- }
-
- switch (alt20) {
- case 1 :
- // org/eclipse/linuxtools/ctf/parser/CTFLexer.g:151:5: BACKSLASH 'u' HEX_DIGIT HEX_DIGIT HEX_DIGIT HEX_DIGIT
- {
- mBACKSLASH();
-
- match('u');
- mHEX_DIGIT();
-
- mHEX_DIGIT();
-
- mHEX_DIGIT();
-
- mHEX_DIGIT();
-
- }
- break;
- case 2 :
- // org/eclipse/linuxtools/ctf/parser/CTFLexer.g:152:5: BACKSLASH 'U' HEX_DIGIT HEX_DIGIT HEX_DIGIT HEX_DIGIT HEX_DIGIT HEX_DIGIT HEX_DIGIT HEX_DIGIT
- {
- mBACKSLASH();
-
- match('U');
- mHEX_DIGIT();
-
- mHEX_DIGIT();
-
- mHEX_DIGIT();
-
- mHEX_DIGIT();
-
- mHEX_DIGIT();
-
- mHEX_DIGIT();
-
- mHEX_DIGIT();
-
- mHEX_DIGIT();
-
- }
- break;
-
- }
- }
- finally {
- // do for sure before leaving
- }
- }
- // $ANTLR end "UNICODE_ESCAPE"
-
- // $ANTLR start "STRINGPREFIX"
- public final void mSTRINGPREFIX() throws RecognitionException {
- try {
- // org/eclipse/linuxtools/ctf/parser/CTFLexer.g:157:23: ( 'L' )
- // org/eclipse/linuxtools/ctf/parser/CTFLexer.g:157:25: 'L'
- {
- match('L');
- }
-
- }
- finally {
- // do for sure before leaving
- }
- }
- // $ANTLR end "STRINGPREFIX"
-
- // $ANTLR start "CHARACTER_LITERAL"
- public final void mCHARACTER_LITERAL() throws RecognitionException {
- try {
- int _type = CHARACTER_LITERAL;
- int _channel = DEFAULT_TOKEN_CHANNEL;
- // org/eclipse/linuxtools/ctf/parser/CTFLexer.g:162:19: ( ( STRINGPREFIX )? SINGLEQUOTE ( CHAR_CONTENT )+ SINGLEQUOTE )
- // org/eclipse/linuxtools/ctf/parser/CTFLexer.g:162:21: ( STRINGPREFIX )? SINGLEQUOTE ( CHAR_CONTENT )+ SINGLEQUOTE
- {
- // org/eclipse/linuxtools/ctf/parser/CTFLexer.g:162:21: ( STRINGPREFIX )?
- int alt21=2;
- int LA21_0 = input.LA(1);
- if ( (LA21_0=='L') ) {
- alt21=1;
- }
- switch (alt21) {
- case 1 :
- // org/eclipse/linuxtools/ctf/parser/CTFLexer.g:
- {
- if ( input.LA(1)=='L' ) {
- input.consume();
- }
- else {
- MismatchedSetException mse = new MismatchedSetException(null,input);
- recover(mse);
- throw mse;
- }
- }
- break;
-
- }
-
- mSINGLEQUOTE();
-
- // org/eclipse/linuxtools/ctf/parser/CTFLexer.g:162:47: ( CHAR_CONTENT )+
- int cnt22=0;
- loop22:
- while (true) {
- int alt22=2;
- int LA22_0 = input.LA(1);
- if ( ((LA22_0 >= '\u0000' && LA22_0 <= '&')||(LA22_0 >= '(' && LA22_0 <= '\uFFFF')) ) {
- alt22=1;
- }
-
- switch (alt22) {
- case 1 :
- // org/eclipse/linuxtools/ctf/parser/CTFLexer.g:162:47: CHAR_CONTENT
- {
- mCHAR_CONTENT();
-
- }
- break;
-
- default :
- if ( cnt22 >= 1 ) break loop22;
- EarlyExitException eee = new EarlyExitException(22, input);
- throw eee;
- }
- cnt22++;
- }
-
- mSINGLEQUOTE();
-
- }
-
- state.type = _type;
- state.channel = _channel;
- }
- finally {
- // do for sure before leaving
- }
- }
- // $ANTLR end "CHARACTER_LITERAL"
-
- // $ANTLR start "CHAR_CONTENT"
- public final void mCHAR_CONTENT() throws RecognitionException {
- try {
- // org/eclipse/linuxtools/ctf/parser/CTFLexer.g:163:23: ( ( ESCAPE_SEQUENCE |~ ( BACKSLASH | SINGLEQUOTE ) ) )
- // org/eclipse/linuxtools/ctf/parser/CTFLexer.g:163:25: ( ESCAPE_SEQUENCE |~ ( BACKSLASH | SINGLEQUOTE ) )
- {
- // org/eclipse/linuxtools/ctf/parser/CTFLexer.g:163:25: ( ESCAPE_SEQUENCE |~ ( BACKSLASH | SINGLEQUOTE ) )
- int alt23=2;
- int LA23_0 = input.LA(1);
- if ( (LA23_0=='\\') ) {
- alt23=1;
- }
- else if ( ((LA23_0 >= '\u0000' && LA23_0 <= '&')||(LA23_0 >= '(' && LA23_0 <= '[')||(LA23_0 >= ']' && LA23_0 <= '\uFFFF')) ) {
- alt23=2;
- }
-
- else {
- NoViableAltException nvae =
- new NoViableAltException("", 23, 0, input);
- throw nvae;
- }
-
- switch (alt23) {
- case 1 :
- // org/eclipse/linuxtools/ctf/parser/CTFLexer.g:163:26: ESCAPE_SEQUENCE
- {
- mESCAPE_SEQUENCE();
-
- }
- break;
- case 2 :
- // org/eclipse/linuxtools/ctf/parser/CTFLexer.g:163:44: ~ ( BACKSLASH | SINGLEQUOTE )
- {
- if ( (input.LA(1) >= '\u0000' && input.LA(1) <= '&')||(input.LA(1) >= '(' && input.LA(1) <= '[')||(input.LA(1) >= ']' && input.LA(1) <= '\uFFFF') ) {
- input.consume();
- }
- else {
- MismatchedSetException mse = new MismatchedSetException(null,input);
- recover(mse);
- throw mse;
- }
- }
- break;
-
- }
-
- }
-
- }
- finally {
- // do for sure before leaving
- }
- }
- // $ANTLR end "CHAR_CONTENT"
-
- // $ANTLR start "SINGLEQUOTE"
- public final void mSINGLEQUOTE() throws RecognitionException {
- try {
- // org/eclipse/linuxtools/ctf/parser/CTFLexer.g:164:22: ( '\\'' )
- // org/eclipse/linuxtools/ctf/parser/CTFLexer.g:164:24: '\\''
- {
- match('\'');
- }
-
- }
- finally {
- // do for sure before leaving
- }
- }
- // $ANTLR end "SINGLEQUOTE"
-
- // $ANTLR start "STRING_LITERAL"
- public final void mSTRING_LITERAL() throws RecognitionException {
- try {
- int _type = STRING_LITERAL;
- int _channel = DEFAULT_TOKEN_CHANNEL;
- // org/eclipse/linuxtools/ctf/parser/CTFLexer.g:169:16: ( ( STRINGPREFIX )? DOUBLEQUOTE ( STRING_CONTENT )* DOUBLEQUOTE )
- // org/eclipse/linuxtools/ctf/parser/CTFLexer.g:169:18: ( STRINGPREFIX )? DOUBLEQUOTE ( STRING_CONTENT )* DOUBLEQUOTE
- {
- // org/eclipse/linuxtools/ctf/parser/CTFLexer.g:169:18: ( STRINGPREFIX )?
- int alt24=2;
- int LA24_0 = input.LA(1);
- if ( (LA24_0=='L') ) {
- alt24=1;
- }
- switch (alt24) {
- case 1 :
- // org/eclipse/linuxtools/ctf/parser/CTFLexer.g:
- {
- if ( input.LA(1)=='L' ) {
- input.consume();
- }
- else {
- MismatchedSetException mse = new MismatchedSetException(null,input);
- recover(mse);
- throw mse;
- }
- }
- break;
-
- }
-
- mDOUBLEQUOTE();
-
- // org/eclipse/linuxtools/ctf/parser/CTFLexer.g:169:44: ( STRING_CONTENT )*
- loop25:
- while (true) {
- int alt25=2;
- int LA25_0 = input.LA(1);
- if ( ((LA25_0 >= '\u0000' && LA25_0 <= '!')||(LA25_0 >= '#' && LA25_0 <= '\uFFFF')) ) {
- alt25=1;
- }
-
- switch (alt25) {
- case 1 :
- // org/eclipse/linuxtools/ctf/parser/CTFLexer.g:169:44: STRING_CONTENT
- {
- mSTRING_CONTENT();
-
- }
- break;
-
- default :
- break loop25;
- }
- }
-
- mDOUBLEQUOTE();
-
- }
-
- state.type = _type;
- state.channel = _channel;
- }
- finally {
- // do for sure before leaving
- }
- }
- // $ANTLR end "STRING_LITERAL"
-
- // $ANTLR start "STRING_CONTENT"
- public final void mSTRING_CONTENT() throws RecognitionException {
- try {
- // org/eclipse/linuxtools/ctf/parser/CTFLexer.g:170:25: ( ( ESCAPE_SEQUENCE |~ ( BACKSLASH | DOUBLEQUOTE ) ) )
- // org/eclipse/linuxtools/ctf/parser/CTFLexer.g:170:27: ( ESCAPE_SEQUENCE |~ ( BACKSLASH | DOUBLEQUOTE ) )
- {
- // org/eclipse/linuxtools/ctf/parser/CTFLexer.g:170:27: ( ESCAPE_SEQUENCE |~ ( BACKSLASH | DOUBLEQUOTE ) )
- int alt26=2;
- int LA26_0 = input.LA(1);
- if ( (LA26_0=='\\') ) {
- alt26=1;
- }
- else if ( ((LA26_0 >= '\u0000' && LA26_0 <= '!')||(LA26_0 >= '#' && LA26_0 <= '[')||(LA26_0 >= ']' && LA26_0 <= '\uFFFF')) ) {
- alt26=2;
- }
-
- else {
- NoViableAltException nvae =
- new NoViableAltException("", 26, 0, input);
- throw nvae;
- }
-
- switch (alt26) {
- case 1 :
- // org/eclipse/linuxtools/ctf/parser/CTFLexer.g:170:28: ESCAPE_SEQUENCE
- {
- mESCAPE_SEQUENCE();
-
- }
- break;
- case 2 :
- // org/eclipse/linuxtools/ctf/parser/CTFLexer.g:170:46: ~ ( BACKSLASH | DOUBLEQUOTE )
- {
- if ( (input.LA(1) >= '\u0000' && input.LA(1) <= '!')||(input.LA(1) >= '#' && input.LA(1) <= '[')||(input.LA(1) >= ']' && input.LA(1) <= '\uFFFF') ) {
- input.consume();
- }
- else {
- MismatchedSetException mse = new MismatchedSetException(null,input);
- recover(mse);
- throw mse;
- }
- }
- break;
-
- }
-
- }
-
- }
- finally {
- // do for sure before leaving
- }
- }
- // $ANTLR end "STRING_CONTENT"
-
- // $ANTLR start "DOUBLEQUOTE"
- public final void mDOUBLEQUOTE() throws RecognitionException {
- try {
- // org/eclipse/linuxtools/ctf/parser/CTFLexer.g:171:22: ( '\"' )
- // org/eclipse/linuxtools/ctf/parser/CTFLexer.g:171:24: '\"'
- {
- match('\"');
- }
-
- }
- finally {
- // do for sure before leaving
- }
- }
- // $ANTLR end "DOUBLEQUOTE"
-
- // $ANTLR start "WS"
- public final void mWS() throws RecognitionException {
- try {
- int _type = WS;
- int _channel = DEFAULT_TOKEN_CHANNEL;
- // org/eclipse/linuxtools/ctf/parser/CTFLexer.g:176:4: ( ( ' ' | '\\r' | '\\t' | '\\u000C' | '\\n' ) )
- // org/eclipse/linuxtools/ctf/parser/CTFLexer.g:176:6: ( ' ' | '\\r' | '\\t' | '\\u000C' | '\\n' )
- {
- if ( (input.LA(1) >= '\t' && input.LA(1) <= '\n')||(input.LA(1) >= '\f' && input.LA(1) <= '\r')||input.LA(1)==' ' ) {
- input.consume();
- }
- else {
- MismatchedSetException mse = new MismatchedSetException(null,input);
- recover(mse);
- throw mse;
- }
- _channel = HIDDEN;
- }
-
- state.type = _type;
- state.channel = _channel;
- }
- finally {
- // do for sure before leaving
- }
- }
- // $ANTLR end "WS"
-
- // $ANTLR start "COMMENT"
- public final void mCOMMENT() throws RecognitionException {
- try {
- int _type = COMMENT;
- int _channel = DEFAULT_TOKEN_CHANNEL;
- // org/eclipse/linuxtools/ctf/parser/CTFLexer.g:183:9: ( COMMENT_OPEN ( . )* COMMENT_CLOSE )
- // org/eclipse/linuxtools/ctf/parser/CTFLexer.g:183:11: COMMENT_OPEN ( . )* COMMENT_CLOSE
- {
- mCOMMENT_OPEN();
-
- // org/eclipse/linuxtools/ctf/parser/CTFLexer.g:183:24: ( . )*
- loop27:
- while (true) {
- int alt27=2;
- int LA27_0 = input.LA(1);
- if ( (LA27_0=='*') ) {
- int LA27_1 = input.LA(2);
- if ( (LA27_1=='/') ) {
- alt27=2;
- }
- else if ( ((LA27_1 >= '\u0000' && LA27_1 <= '.')||(LA27_1 >= '0' && LA27_1 <= '\uFFFF')) ) {
- alt27=1;
- }
-
- }
- else if ( ((LA27_0 >= '\u0000' && LA27_0 <= ')')||(LA27_0 >= '+' && LA27_0 <= '\uFFFF')) ) {
- alt27=1;
- }
-
- switch (alt27) {
- case 1 :
- // org/eclipse/linuxtools/ctf/parser/CTFLexer.g:183:24: .
- {
- matchAny();
- }
- break;
-
- default :
- break loop27;
- }
- }
-
- mCOMMENT_CLOSE();
-
- _channel = HIDDEN;
- }
-
- state.type = _type;
- state.channel = _channel;
- }
- finally {
- // do for sure before leaving
- }
- }
- // $ANTLR end "COMMENT"
-
- // $ANTLR start "COMMENT_OPEN"
- public final void mCOMMENT_OPEN() throws RecognitionException {
- try {
- // org/eclipse/linuxtools/ctf/parser/CTFLexer.g:184:23: ( '/*' )
- // org/eclipse/linuxtools/ctf/parser/CTFLexer.g:184:25: '/*'
- {
- match("/*");
-
- }
-
- }
- finally {
- // do for sure before leaving
- }
- }
- // $ANTLR end "COMMENT_OPEN"
-
- // $ANTLR start "COMMENT_CLOSE"
- public final void mCOMMENT_CLOSE() throws RecognitionException {
- try {
- // org/eclipse/linuxtools/ctf/parser/CTFLexer.g:185:24: ( '*/' )
- // org/eclipse/linuxtools/ctf/parser/CTFLexer.g:185:26: '*/'
- {
- match("*/");
-
- }
-
- }
- finally {
- // do for sure before leaving
- }
- }
- // $ANTLR end "COMMENT_CLOSE"
-
- // $ANTLR start "LINE_COMMENT"
- public final void mLINE_COMMENT() throws RecognitionException {
- try {
- int _type = LINE_COMMENT;
- int _channel = DEFAULT_TOKEN_CHANNEL;
- // org/eclipse/linuxtools/ctf/parser/CTFLexer.g:190:14: ( '//' (~ ( '\\n' ) )* '\\n' )
- // org/eclipse/linuxtools/ctf/parser/CTFLexer.g:190:16: '//' (~ ( '\\n' ) )* '\\n'
- {
- match("//");
-
- // org/eclipse/linuxtools/ctf/parser/CTFLexer.g:190:21: (~ ( '\\n' ) )*
- loop28:
- while (true) {
- int alt28=2;
- int LA28_0 = input.LA(1);
- if ( ((LA28_0 >= '\u0000' && LA28_0 <= '\t')||(LA28_0 >= '\u000B' && LA28_0 <= '\uFFFF')) ) {
- alt28=1;
- }
-
- switch (alt28) {
- case 1 :
- // org/eclipse/linuxtools/ctf/parser/CTFLexer.g:
- {
- if ( (input.LA(1) >= '\u0000' && input.LA(1) <= '\t')||(input.LA(1) >= '\u000B' && input.LA(1) <= '\uFFFF') ) {
- input.consume();
- }
- else {
- MismatchedSetException mse = new MismatchedSetException(null,input);
- recover(mse);
- throw mse;
- }
- }
- break;
-
- default :
- break loop28;
- }
- }
-
- match('\n');
- _channel = HIDDEN;
- }
-
- state.type = _type;
- state.channel = _channel;
- }
- finally {
- // do for sure before leaving
- }
- }
- // $ANTLR end "LINE_COMMENT"
-
- // $ANTLR start "IDENTIFIER"
- public final void mIDENTIFIER() throws RecognitionException {
- try {
- int _type = IDENTIFIER;
- int _channel = DEFAULT_TOKEN_CHANNEL;
- // org/eclipse/linuxtools/ctf/parser/CTFLexer.g:195:12: ( NONDIGIT ( NONDIGIT | DIGIT )* )
- // org/eclipse/linuxtools/ctf/parser/CTFLexer.g:195:14: NONDIGIT ( NONDIGIT | DIGIT )*
- {
- mNONDIGIT();
-
- // org/eclipse/linuxtools/ctf/parser/CTFLexer.g:195:23: ( NONDIGIT | DIGIT )*
- loop29:
- while (true) {
- int alt29=2;
- int LA29_0 = input.LA(1);
- if ( ((LA29_0 >= '0' && LA29_0 <= '9')||(LA29_0 >= 'A' && LA29_0 <= 'Z')||LA29_0=='_'||(LA29_0 >= 'a' && LA29_0 <= 'z')) ) {
- alt29=1;
- }
-
- switch (alt29) {
- case 1 :
- // org/eclipse/linuxtools/ctf/parser/CTFLexer.g:
- {
- if ( (input.LA(1) >= '0' && input.LA(1) <= '9')||(input.LA(1) >= 'A' && input.LA(1) <= 'Z')||input.LA(1)=='_'||(input.LA(1) >= 'a' && input.LA(1) <= 'z') ) {
- input.consume();
- }
- else {
- MismatchedSetException mse = new MismatchedSetException(null,input);
- recover(mse);
- throw mse;
- }
- }
- break;
-
- default :
- break loop29;
- }
- }
-
- }
-
- state.type = _type;
- state.channel = _channel;
- }
- finally {
- // do for sure before leaving
- }
- }
- // $ANTLR end "IDENTIFIER"
-
- // $ANTLR start "NONDIGIT"
- public final void mNONDIGIT() throws RecognitionException {
- try {
- // org/eclipse/linuxtools/ctf/parser/CTFLexer.g:196:19: ( ( '_' ) | ( 'A' .. 'Z' ) | ( 'a' .. 'z' ) )
- // org/eclipse/linuxtools/ctf/parser/CTFLexer.g:
- {
- if ( (input.LA(1) >= 'A' && input.LA(1) <= 'Z')||input.LA(1)=='_'||(input.LA(1) >= 'a' && input.LA(1) <= 'z') ) {
- input.consume();
- }
- else {
- MismatchedSetException mse = new MismatchedSetException(null,input);
- recover(mse);
- throw mse;
- }
- }
-
- }
- finally {
- // do for sure before leaving
- }
- }
- // $ANTLR end "NONDIGIT"
-
- @Override
- public void mTokens() throws RecognitionException {
- // org/eclipse/linuxtools/ctf/parser/CTFLexer.g:1:8: ( ALIGNTOK | CONSTTOK | CHARTOK | DOUBLETOK | ENUMTOK | EVENTTOK | FLOATINGPOINTTOK | FLOATTOK | INTEGERTOK | INTTOK | LONGTOK | SHORTTOK | SIGNEDTOK | STREAMTOK | STRINGTOK | STRUCTTOK | TRACETOK | TYPEALIASTOK | TYPEDEFTOK | UNSIGNEDTOK | VARIANTTOK | VOIDTOK | BOOLTOK | COMPLEXTOK | IMAGINARYTOK | ENVTOK | CLOCKTOK | CALLSITETOK | NANNUMBERTOK | INFINITYTOK | NINFINITYTOK | SEPARATOR | COLON | ELIPSES | ASSIGNMENT | TYPE_ASSIGNMENT | LT | GT | OPENBRAC | CLOSEBRAC | LPAREN | RPAREN | LCURL | RCURL | TERM | POINTER | SIGN | ARROW | DOT | OCTAL_LITERAL | DECIMAL_LITERAL | HEX_LITERAL | CHARACTER_LITERAL | STRING_LITERAL | WS | COMMENT | LINE_COMMENT | IDENTIFIER )
- int alt30=58;
- alt30 = dfa30.predict(input);
- switch (alt30) {
- case 1 :
- // org/eclipse/linuxtools/ctf/parser/CTFLexer.g:1:10: ALIGNTOK
- {
- mALIGNTOK();
-
- }
- break;
- case 2 :
- // org/eclipse/linuxtools/ctf/parser/CTFLexer.g:1:19: CONSTTOK
- {
- mCONSTTOK();
-
- }
- break;
- case 3 :
- // org/eclipse/linuxtools/ctf/parser/CTFLexer.g:1:28: CHARTOK
- {
- mCHARTOK();
-
- }
- break;
- case 4 :
- // org/eclipse/linuxtools/ctf/parser/CTFLexer.g:1:36: DOUBLETOK
- {
- mDOUBLETOK();
-
- }
- break;
- case 5 :
- // org/eclipse/linuxtools/ctf/parser/CTFLexer.g:1:46: ENUMTOK
- {
- mENUMTOK();
-
- }
- break;
- case 6 :
- // org/eclipse/linuxtools/ctf/parser/CTFLexer.g:1:54: EVENTTOK
- {
- mEVENTTOK();
-
- }
- break;
- case 7 :
- // org/eclipse/linuxtools/ctf/parser/CTFLexer.g:1:63: FLOATINGPOINTTOK
- {
- mFLOATINGPOINTTOK();
-
- }
- break;
- case 8 :
- // org/eclipse/linuxtools/ctf/parser/CTFLexer.g:1:80: FLOATTOK
- {
- mFLOATTOK();
-
- }
- break;
- case 9 :
- // org/eclipse/linuxtools/ctf/parser/CTFLexer.g:1:89: INTEGERTOK
- {
- mINTEGERTOK();
-
- }
- break;
- case 10 :
- // org/eclipse/linuxtools/ctf/parser/CTFLexer.g:1:100: INTTOK
- {
- mINTTOK();
-
- }
- break;
- case 11 :
- // org/eclipse/linuxtools/ctf/parser/CTFLexer.g:1:107: LONGTOK
- {
- mLONGTOK();
-
- }
- break;
- case 12 :
- // org/eclipse/linuxtools/ctf/parser/CTFLexer.g:1:115: SHORTTOK
- {
- mSHORTTOK();
-
- }
- break;
- case 13 :
- // org/eclipse/linuxtools/ctf/parser/CTFLexer.g:1:124: SIGNEDTOK
- {
- mSIGNEDTOK();
-
- }
- break;
- case 14 :
- // org/eclipse/linuxtools/ctf/parser/CTFLexer.g:1:134: STREAMTOK
- {
- mSTREAMTOK();
-
- }
- break;
- case 15 :
- // org/eclipse/linuxtools/ctf/parser/CTFLexer.g:1:144: STRINGTOK
- {
- mSTRINGTOK();
-
- }
- break;
- case 16 :
- // org/eclipse/linuxtools/ctf/parser/CTFLexer.g:1:154: STRUCTTOK
- {
- mSTRUCTTOK();
-
- }
- break;
- case 17 :
- // org/eclipse/linuxtools/ctf/parser/CTFLexer.g:1:164: TRACETOK
- {
- mTRACETOK();
-
- }
- break;
- case 18 :
- // org/eclipse/linuxtools/ctf/parser/CTFLexer.g:1:173: TYPEALIASTOK
- {
- mTYPEALIASTOK();
-
- }
- break;
- case 19 :
- // org/eclipse/linuxtools/ctf/parser/CTFLexer.g:1:186: TYPEDEFTOK
- {
- mTYPEDEFTOK();
-
- }
- break;
- case 20 :
- // org/eclipse/linuxtools/ctf/parser/CTFLexer.g:1:197: UNSIGNEDTOK
- {
- mUNSIGNEDTOK();
-
- }
- break;
- case 21 :
- // org/eclipse/linuxtools/ctf/parser/CTFLexer.g:1:209: VARIANTTOK
- {
- mVARIANTTOK();
-
- }
- break;
- case 22 :
- // org/eclipse/linuxtools/ctf/parser/CTFLexer.g:1:220: VOIDTOK
- {
- mVOIDTOK();
-
- }
- break;
- case 23 :
- // org/eclipse/linuxtools/ctf/parser/CTFLexer.g:1:228: BOOLTOK
- {
- mBOOLTOK();
-
- }
- break;
- case 24 :
- // org/eclipse/linuxtools/ctf/parser/CTFLexer.g:1:236: COMPLEXTOK
- {
- mCOMPLEXTOK();
-
- }
- break;
- case 25 :
- // org/eclipse/linuxtools/ctf/parser/CTFLexer.g:1:247: IMAGINARYTOK
- {
- mIMAGINARYTOK();
-
- }
- break;
- case 26 :
- // org/eclipse/linuxtools/ctf/parser/CTFLexer.g:1:260: ENVTOK
- {
- mENVTOK();
-
- }
- break;
- case 27 :
- // org/eclipse/linuxtools/ctf/parser/CTFLexer.g:1:267: CLOCKTOK
- {
- mCLOCKTOK();
-
- }
- break;
- case 28 :
- // org/eclipse/linuxtools/ctf/parser/CTFLexer.g:1:276: CALLSITETOK
- {
- mCALLSITETOK();
-
- }
- break;
- case 29 :
- // org/eclipse/linuxtools/ctf/parser/CTFLexer.g:1:288: NANNUMBERTOK
- {
- mNANNUMBERTOK();
-
- }
- break;
- case 30 :
- // org/eclipse/linuxtools/ctf/parser/CTFLexer.g:1:301: INFINITYTOK
- {
- mINFINITYTOK();
-
- }
- break;
- case 31 :
- // org/eclipse/linuxtools/ctf/parser/CTFLexer.g:1:313: NINFINITYTOK
- {
- mNINFINITYTOK();
-
- }
- break;
- case 32 :
- // org/eclipse/linuxtools/ctf/parser/CTFLexer.g:1:326: SEPARATOR
- {
- mSEPARATOR();
-
- }
- break;
- case 33 :
- // org/eclipse/linuxtools/ctf/parser/CTFLexer.g:1:336: COLON
- {
- mCOLON();
-
- }
- break;
- case 34 :
- // org/eclipse/linuxtools/ctf/parser/CTFLexer.g:1:342: ELIPSES
- {
- mELIPSES();
-
- }
- break;
- case 35 :
- // org/eclipse/linuxtools/ctf/parser/CTFLexer.g:1:350: ASSIGNMENT
- {
- mASSIGNMENT();
-
- }
- break;
- case 36 :
- // org/eclipse/linuxtools/ctf/parser/CTFLexer.g:1:361: TYPE_ASSIGNMENT
- {
- mTYPE_ASSIGNMENT();
-
- }
- break;
- case 37 :
- // org/eclipse/linuxtools/ctf/parser/CTFLexer.g:1:377: LT
- {
- mLT();
-
- }
- break;
- case 38 :
- // org/eclipse/linuxtools/ctf/parser/CTFLexer.g:1:380: GT
- {
- mGT();
-
- }
- break;
- case 39 :
- // org/eclipse/linuxtools/ctf/parser/CTFLexer.g:1:383: OPENBRAC
- {
- mOPENBRAC();
-
- }
- break;
- case 40 :
- // org/eclipse/linuxtools/ctf/parser/CTFLexer.g:1:392: CLOSEBRAC
- {
- mCLOSEBRAC();
-
- }
- break;
- case 41 :
- // org/eclipse/linuxtools/ctf/parser/CTFLexer.g:1:402: LPAREN
- {
- mLPAREN();
-
- }
- break;
- case 42 :
- // org/eclipse/linuxtools/ctf/parser/CTFLexer.g:1:409: RPAREN
- {
- mRPAREN();
-
- }
- break;
- case 43 :
- // org/eclipse/linuxtools/ctf/parser/CTFLexer.g:1:416: LCURL
- {
- mLCURL();
-
- }
- break;
- case 44 :
- // org/eclipse/linuxtools/ctf/parser/CTFLexer.g:1:422: RCURL
- {
- mRCURL();
-
- }
- break;
- case 45 :
- // org/eclipse/linuxtools/ctf/parser/CTFLexer.g:1:428: TERM
- {
- mTERM();
-
- }
- break;
- case 46 :
- // org/eclipse/linuxtools/ctf/parser/CTFLexer.g:1:433: POINTER
- {
- mPOINTER();
-
- }
- break;
- case 47 :
- // org/eclipse/linuxtools/ctf/parser/CTFLexer.g:1:441: SIGN
- {
- mSIGN();
-
- }
- break;
- case 48 :
- // org/eclipse/linuxtools/ctf/parser/CTFLexer.g:1:446: ARROW
- {
- mARROW();
-
- }
- break;
- case 49 :
- // org/eclipse/linuxtools/ctf/parser/CTFLexer.g:1:452: DOT
- {
- mDOT();
-
- }
- break;
- case 50 :
- // org/eclipse/linuxtools/ctf/parser/CTFLexer.g:1:456: OCTAL_LITERAL
- {
- mOCTAL_LITERAL();
-
- }
- break;
- case 51 :
- // org/eclipse/linuxtools/ctf/parser/CTFLexer.g:1:470: DECIMAL_LITERAL
- {
- mDECIMAL_LITERAL();
-
- }
- break;
- case 52 :
- // org/eclipse/linuxtools/ctf/parser/CTFLexer.g:1:486: HEX_LITERAL
- {
- mHEX_LITERAL();
-
- }
- break;
- case 53 :
- // org/eclipse/linuxtools/ctf/parser/CTFLexer.g:1:498: CHARACTER_LITERAL
- {
- mCHARACTER_LITERAL();
-
- }
- break;
- case 54 :
- // org/eclipse/linuxtools/ctf/parser/CTFLexer.g:1:516: STRING_LITERAL
- {
- mSTRING_LITERAL();
-
- }
- break;
- case 55 :
- // org/eclipse/linuxtools/ctf/parser/CTFLexer.g:1:531: WS
- {
- mWS();
-
- }
- break;
- case 56 :
- // org/eclipse/linuxtools/ctf/parser/CTFLexer.g:1:534: COMMENT
- {
- mCOMMENT();
-
- }
- break;
- case 57 :
- // org/eclipse/linuxtools/ctf/parser/CTFLexer.g:1:542: LINE_COMMENT
- {
- mLINE_COMMENT();
-
- }
- break;
- case 58 :
- // org/eclipse/linuxtools/ctf/parser/CTFLexer.g:1:555: IDENTIFIER
- {
- mIDENTIFIER();
-
- }
- break;
-
- }
- }
-
-
- protected DFA30 dfa30 = new DFA30(this);
- static final String DFA30_eotS =
- "\1\uffff\15\45\2\76\1\uffff\1\102\1\104\13\uffff\1\37\1\uffff\1\45\5\uffff"+
- "\27\45\11\uffff\1\144\2\uffff\7\45\1\154\2\45\1\160\14\45\1\177\3\144"+
- "\1\uffff\2\45\1\u0087\3\45\1\u008b\1\uffff\3\45\1\uffff\1\u008f\11\45"+
- "\1\u009a\3\45\1\uffff\1\144\1\uffff\3\144\1\u00a0\1\u00a1\1\uffff\1\u00a2"+
- "\2\45\1\uffff\1\u00a5\1\u00a7\1\45\1\uffff\1\u00a9\4\45\1\u00ae\4\45\1"+
- "\uffff\1\u00b3\2\45\5\uffff\1\45\1\u00b7\1\uffff\1\45\1\uffff\1\45\1\uffff"+
- "\1\u00ba\1\u00bb\1\u00bc\1\u00bd\1\uffff\4\45\1\uffff\3\45\1\uffff\1\45"+
- "\1\u00c6\4\uffff\1\45\1\u00c8\1\45\1\u00ca\2\45\1\u00cd\1\45\1\uffff\1"+
- "\45\1\uffff\1\u00d0\1\uffff\1\u00d1\1\45\1\uffff\1\45\1\u00d4\2\uffff"+
- "\2\45\1\uffff\1\u00d7\1\45\1\uffff\2\45\1\u00db\1\uffff";
- static final String DFA30_eofS =
- "\u00dc\uffff";
- static final String DFA30_minS =
- "\1\11\1\154\1\141\1\157\1\156\1\154\1\156\1\157\1\150\1\162\1\156\1\141"+
- "\1\102\1\141\1\151\1\76\1\uffff\1\75\1\56\13\uffff\1\60\1\uffff\1\42\3"+
- "\uffff\1\52\1\uffff\1\151\1\156\1\141\1\157\1\154\2\165\1\145\1\157\1"+
- "\164\1\156\1\157\1\147\1\162\1\141\1\160\1\163\1\162\1\151\2\157\1\155"+
- "\1\116\11\uffff\1\60\2\uffff\1\147\1\163\1\162\1\143\1\154\1\142\1\155"+
- "\1\60\1\156\1\141\1\60\1\147\1\162\1\156\1\145\1\143\1\145\2\151\1\144"+
- "\1\157\1\155\1\141\1\60\1\125\2\114\1\uffff\1\156\1\164\1\60\1\153\1\163"+
- "\1\154\1\60\1\uffff\2\164\1\147\1\uffff\1\60\1\164\1\145\1\141\1\156\1"+
- "\143\1\145\1\141\1\147\1\141\1\60\1\154\1\160\1\147\1\uffff\1\125\1\uffff"+
- "\1\125\1\154\1\114\2\60\1\uffff\1\60\1\151\1\145\1\uffff\2\60\1\145\1"+
- "\uffff\1\60\1\144\1\155\1\147\1\164\1\60\1\154\1\145\2\156\1\uffff\1\60"+
- "\1\154\1\151\5\uffff\1\164\1\60\1\uffff\1\156\1\uffff\1\162\1\uffff\4"+
- "\60\1\uffff\1\151\1\146\1\145\1\164\1\uffff\1\145\1\156\1\145\1\uffff"+
- "\1\147\1\60\4\uffff\1\141\1\60\1\144\1\60\1\170\1\141\1\60\1\137\1\uffff"+
- "\1\163\1\uffff\1\60\1\uffff\1\60\1\162\1\uffff\1\160\1\60\2\uffff\1\171"+
- "\1\157\1\uffff\1\60\1\151\1\uffff\1\156\1\164\1\60\1\uffff";
- static final String DFA30_maxS =
- "\1\175\1\154\2\157\1\166\1\154\1\156\1\157\1\164\1\171\1\156\1\157\1\111"+
- "\1\141\2\151\1\uffff\1\75\1\56\13\uffff\1\170\1\uffff\1\47\3\uffff\1\57"+
- "\1\uffff\1\151\1\156\1\141\1\157\1\154\1\165\1\166\1\145\1\157\1\164\1"+
- "\156\1\157\1\147\1\162\1\141\1\160\1\163\1\162\1\151\2\157\1\155\1\116"+
- "\11\uffff\1\165\2\uffff\1\147\1\163\1\162\1\143\1\154\1\142\1\155\1\172"+
- "\1\156\1\141\1\172\1\147\1\162\1\156\1\165\1\143\1\145\2\151\1\144\1\157"+
- "\1\155\1\141\1\172\2\165\1\154\1\uffff\1\156\1\164\1\172\1\153\1\163\1"+
- "\154\1\172\1\uffff\2\164\1\147\1\uffff\1\172\1\164\1\145\1\141\1\156\1"+
- "\143\1\145\1\144\1\147\1\141\1\172\1\154\1\160\1\147\1\uffff\1\165\1\uffff"+
- "\1\165\1\154\1\114\2\172\1\uffff\1\172\1\151\1\145\1\uffff\2\172\1\145"+
- "\1\uffff\1\172\1\144\1\155\1\147\1\164\1\172\1\154\1\145\2\156\1\uffff"+
- "\1\172\1\154\1\151\5\uffff\1\164\1\172\1\uffff\1\156\1\uffff\1\162\1\uffff"+
- "\4\172\1\uffff\1\151\1\146\1\145\1\164\1\uffff\1\145\1\156\1\145\1\uffff"+
- "\1\147\1\172\4\uffff\1\141\1\172\1\144\1\172\1\170\1\141\1\172\1\137\1"+
- "\uffff\1\163\1\uffff\1\172\1\uffff\1\172\1\162\1\uffff\1\160\1\172\2\uffff"+
- "\1\171\1\157\1\uffff\1\172\1\151\1\uffff\1\156\1\164\1\172\1\uffff";
- static final String DFA30_acceptS =
- "\20\uffff\1\40\2\uffff\1\43\1\45\1\46\1\47\1\50\1\51\1\52\1\53\1\54\1"+
- "\55\1\56\1\uffff\1\63\1\uffff\1\65\1\66\1\67\1\uffff\1\72\27\uffff\1\36"+
- "\1\57\1\37\1\60\1\44\1\41\1\42\1\61\1\64\1\uffff\1\70\1\71\33\uffff\1"+
- "\62\7\uffff\1\32\3\uffff\1\12\16\uffff\1\35\1\uffff\1\62\5\uffff\1\3\3"+
- "\uffff\1\5\3\uffff\1\13\12\uffff\1\26\3\uffff\2\62\1\1\1\2\1\33\2\uffff"+
- "\1\6\1\uffff\1\10\1\uffff\1\14\4\uffff\1\21\4\uffff\1\27\3\uffff\1\4\2"+
- "\uffff\1\15\1\16\1\17\1\20\10\uffff\1\11\1\uffff\1\23\1\uffff\1\25\2\uffff"+
- "\1\34\2\uffff\1\24\1\30\2\uffff\1\22\2\uffff\1\31\3\uffff\1\7";
- static final String DFA30_specialS =
- "\u00dc\uffff}>";
- static final String[] DFA30_transitionS = {
- "\2\43\1\uffff\2\43\22\uffff\1\43\1\uffff\1\42\4\uffff\1\41\1\30\1\31"+
- "\1\35\1\16\1\20\1\17\1\22\1\44\1\36\11\37\1\21\1\34\1\24\1\23\1\25\2"+
- "\uffff\13\45\1\40\1\45\1\15\14\45\1\26\1\uffff\1\27\1\uffff\1\14\1\uffff"+
- "\1\1\1\45\1\2\1\3\1\4\1\5\2\45\1\6\2\45\1\7\6\45\1\10\1\11\1\12\1\13"+
- "\4\45\1\32\1\uffff\1\33",
- "\1\46",
- "\1\52\6\uffff\1\50\3\uffff\1\51\2\uffff\1\47",
- "\1\53",
- "\1\54\7\uffff\1\55",
- "\1\56",
- "\1\57",
- "\1\60",
- "\1\61\1\62\12\uffff\1\63",
- "\1\64\6\uffff\1\65",
- "\1\66",
- "\1\67\15\uffff\1\70",
- "\1\71\1\72\5\uffff\1\73",
- "\1\74",
- "\1\75",
- "\1\100\52\uffff\1\77",
- "",
- "\1\101",
- "\1\103",
- "",
- "",
- "",
- "",
- "",
- "",
- "",
- "",
- "",
- "",
- "",
- "\10\106\40\uffff\1\105\37\uffff\1\105",
- "",
- "\1\42\4\uffff\1\41",
- "",
- "",
- "",
- "\1\107\4\uffff\1\110",
- "",
- "\1\111",
- "\1\112",
- "\1\113",
- "\1\114",
- "\1\115",
- "\1\116",
- "\1\117\1\120",
- "\1\121",
- "\1\122",
- "\1\123",
- "\1\124",
- "\1\125",
- "\1\126",
- "\1\127",
- "\1\130",
- "\1\131",
- "\1\132",
- "\1\133",
- "\1\134",
- "\1\135",
- "\1\136",
- "\1\137",
- "\1\140",
- "",
- "",
- "",
- "",
- "",
- "",
- "",
- "",
- "",
- "\10\106\2\37\22\uffff\1\142\10\uffff\1\143\26\uffff\1\141\10\uffff\1"+
- "\143",
- "",
- "",
- "\1\145",
- "\1\146",
- "\1\147",
- "\1\150",
- "\1\151",
- "\1\152",
- "\1\153",
- "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
- "\1\155",
- "\1\156",
- "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\4\45\1\157\25\45",
- "\1\161",
- "\1\162",
- "\1\163",
- "\1\164\3\uffff\1\165\13\uffff\1\166",
- "\1\167",
- "\1\170",
- "\1\171",
- "\1\172",
- "\1\173",
- "\1\174",
- "\1\175",
- "\1\176",
- "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
- "\1\u0081\26\uffff\1\u0080\10\uffff\1\u0081",
- "\1\u0082\10\uffff\1\u0081\37\uffff\1\u0081",
- "\1\u0084\37\uffff\1\u0083",
- "",
- "\1\u0085",
- "\1\u0086",
- "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
- "\1\u0088",
- "\1\u0089",
- "\1\u008a",
- "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
- "",
- "\1\u008c",
- "\1\u008d",
- "\1\u008e",
- "",
- "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
- "\1\u0090",
- "\1\u0091",
- "\1\u0092",
- "\1\u0093",
- "\1\u0094",
- "\1\u0095",
- "\1\u0096\2\uffff\1\u0097",
- "\1\u0098",
- "\1\u0099",
- "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
- "\1\u009b",
- "\1\u009c",
- "\1\u009d",
- "",
- "\1\u0081\37\uffff\1\u0081",
- "",
- "\1\u0081\37\uffff\1\u0081",
- "\1\u009e",
- "\1\u009f",
- "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
- "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
- "",
- "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
- "\1\u00a3",
- "\1\u00a4",
- "",
- "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
- "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\10\45\1\u00a6\21\45",
- "\1\u00a8",
- "",
- "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
- "\1\u00aa",
- "\1\u00ab",
- "\1\u00ac",
- "\1\u00ad",
- "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
- "\1\u00af",
- "\1\u00b0",
- "\1\u00b1",
- "\1\u00b2",
- "",
- "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
- "\1\u00b4",
- "\1\u00b5",
- "",
- "",
- "",
- "",
- "",
- "\1\u00b6",
- "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
- "",
- "\1\u00b8",
- "",
- "\1\u00b9",
- "",
- "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
- "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
- "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
- "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
- "",
- "\1\u00be",
- "\1\u00bf",
- "\1\u00c0",
- "\1\u00c1",
- "",
- "\1\u00c2",
- "\1\u00c3",
- "\1\u00c4",
- "",
- "\1\u00c5",
- "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
- "",
- "",
- "",
- "",
- "\1\u00c7",
- "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
- "\1\u00c9",
- "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
- "\1\u00cb",
- "\1\u00cc",
- "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
- "\1\u00ce",
- "",
- "\1\u00cf",
- "",
- "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
- "",
- "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
- "\1\u00d2",
- "",
- "\1\u00d3",
- "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
- "",
- "",
- "\1\u00d5",
- "\1\u00d6",
- "",
- "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
- "\1\u00d8",
- "",
- "\1\u00d9",
- "\1\u00da",
- "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
- ""
- };
-
- static final short[] DFA30_eot = DFA.unpackEncodedString(DFA30_eotS);
- static final short[] DFA30_eof = DFA.unpackEncodedString(DFA30_eofS);
- static final char[] DFA30_min = DFA.unpackEncodedStringToUnsignedChars(DFA30_minS);
- static final char[] DFA30_max = DFA.unpackEncodedStringToUnsignedChars(DFA30_maxS);
- static final short[] DFA30_accept = DFA.unpackEncodedString(DFA30_acceptS);
- static final short[] DFA30_special = DFA.unpackEncodedString(DFA30_specialS);
- static final short[][] DFA30_transition;
-
- static {
- int numStates = DFA30_transitionS.length;
- DFA30_transition = new short[numStates][];
- for (int i=0; i<numStates; i++) {
- DFA30_transition[i] = DFA.unpackEncodedString(DFA30_transitionS[i]);
- }
- }
-
- protected class DFA30 extends DFA {
-
- public DFA30(BaseRecognizer recognizer) {
- this.recognizer = recognizer;
- this.decisionNumber = 30;
- this.eot = DFA30_eot;
- this.eof = DFA30_eof;
- this.min = DFA30_min;
- this.max = DFA30_max;
- this.accept = DFA30_accept;
- this.special = DFA30_special;
- this.transition = DFA30_transition;
- }
- @Override
- public String getDescription() {
- return "1:1: Tokens : ( ALIGNTOK | CONSTTOK | CHARTOK | DOUBLETOK | ENUMTOK | EVENTTOK | FLOATINGPOINTTOK | FLOATTOK | INTEGERTOK | INTTOK | LONGTOK | SHORTTOK | SIGNEDTOK | STREAMTOK | STRINGTOK | STRUCTTOK | TRACETOK | TYPEALIASTOK | TYPEDEFTOK | UNSIGNEDTOK | VARIANTTOK | VOIDTOK | BOOLTOK | COMPLEXTOK | IMAGINARYTOK | ENVTOK | CLOCKTOK | CALLSITETOK | NANNUMBERTOK | INFINITYTOK | NINFINITYTOK | SEPARATOR | COLON | ELIPSES | ASSIGNMENT | TYPE_ASSIGNMENT | LT | GT | OPENBRAC | CLOSEBRAC | LPAREN | RPAREN | LCURL | RCURL | TERM | POINTER | SIGN | ARROW | DOT | OCTAL_LITERAL | DECIMAL_LITERAL | HEX_LITERAL | CHARACTER_LITERAL | STRING_LITERAL | WS | COMMENT | LINE_COMMENT | IDENTIFIER );";
- }
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.ctf.parser/target/generated-sources/antlr3/org/eclipse/linuxtools/ctf/parser/CTFParser.java b/lttng/org.eclipse.linuxtools.ctf.parser/target/generated-sources/antlr3/org/eclipse/linuxtools/ctf/parser/CTFParser.java
deleted file mode 100644
index a95266447c..0000000000
--- a/lttng/org.eclipse.linuxtools.ctf.parser/target/generated-sources/antlr3/org/eclipse/linuxtools/ctf/parser/CTFParser.java
+++ /dev/null
@@ -1,8550 +0,0 @@
-// $ANTLR 3.5.2 org/eclipse/linuxtools/ctf/parser/CTFParser.g 2014-11-28 16:43:12
-
-/*******************************************************************************
- * Copyright (c) 2010, 2014 Ericsson, Ecole Polytechnique de Montréal and others
- *
- * 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:
- * Matthew Khouzam - Initial API and implementation
- * Simon Marchi - Initial API and implementation
- * Etienne Bergeron - Update to Antlr 3.5 syntax
- *******************************************************************************/
-
-package org.eclipse.linuxtools.ctf.parser;
-
-import java.util.Set;
-import java.util.HashSet;
-
-
-import org.antlr.runtime.*;
-import java.util.Stack;
-import java.util.List;
-import java.util.ArrayList;
-import java.util.Map;
-import java.util.HashMap;
-
-import org.antlr.runtime.tree.*;
-
-
-@SuppressWarnings("all")
-public class CTFParser extends Parser {
- public static final String[] tokenNames = new String[] {
- "<invalid>", "<EOR>", "<DOWN>", "<UP>", "ALIGNTOK", "ARROW", "ASSIGNMENT",
- "BACKSLASH", "BOOLTOK", "CALLSITETOK", "CHARACTER_LITERAL", "CHARTOK",
- "CHAR_CONTENT", "CLOCKTOK", "CLOSEBRAC", "COLON", "COMMENT", "COMMENT_CLOSE",
- "COMMENT_OPEN", "COMPLEXTOK", "CONSTTOK", "DECIMAL_LITERAL", "DIGIT",
- "DOT", "DOUBLEQUOTE", "DOUBLETOK", "ELIPSES", "ENUMTOK", "ENVTOK", "ESCAPE_SEQUENCE",
- "EVENTTOK", "FLOATINGPOINTTOK", "FLOATTOK", "GT", "HEXADECIMAL_ESCAPE",
- "HEX_DIGIT", "HEX_LITERAL", "HEX_PREFIX", "IDENTIFIER", "IMAGINARYTOK",
- "INFINITYTOK", "INTEGERTOK", "INTEGER_TYPES_SUFFIX", "INTTOK", "LCURL",
- "LINE_COMMENT", "LONGTOK", "LPAREN", "LT", "NANNUMBERTOK", "NINFINITYTOK",
- "NONDIGIT", "NONZERO_DIGIT", "OCTAL_ESCAPE", "OCTAL_LITERAL", "OCT_DIGIT",
- "OCT_PREFIX", "OPENBRAC", "POINTER", "RCURL", "RPAREN", "SEPARATOR", "SHORTTOK",
- "SIGN", "SIGNEDTOK", "SINGLEQUOTE", "STREAMTOK", "STRINGPREFIX", "STRINGTOK",
- "STRING_CONTENT", "STRING_LITERAL", "STRUCTTOK", "TERM", "TRACETOK", "TYPEALIASTOK",
- "TYPEDEFTOK", "TYPE_ASSIGNMENT", "UNICODE_ESCAPE", "UNSIGNEDTOK", "VARIANTTOK",
- "VOIDTOK", "WS", "ALIGN", "CALLSITE", "CLOCK", "CTF_EXPRESSION_TYPE",
- "CTF_EXPRESSION_VAL", "CTF_LEFT", "CTF_RIGHT", "DECLARATION", "DECLARATOR",
- "ENUM", "ENUM_BODY", "ENUM_CONTAINER_TYPE", "ENUM_ENUMERATOR", "ENUM_NAME",
- "ENUM_VALUE", "ENUM_VALUE_RANGE", "ENV", "EVENT", "FLOATING_POINT", "INTEGER",
- "LENGTH", "ROOT", "STREAM", "STRING", "STRUCT", "STRUCT_BODY", "STRUCT_NAME",
- "SV_DECLARATION", "TRACE", "TYPEALIAS", "TYPEALIAS_ALIAS", "TYPEALIAS_TARGET",
- "TYPEDEF", "TYPE_DECLARATOR", "TYPE_DECLARATOR_LIST", "TYPE_SPECIFIER_LIST",
- "UNARY_EXPRESSION_DEC", "UNARY_EXPRESSION_HEX", "UNARY_EXPRESSION_OCT",
- "UNARY_EXPRESSION_STRING", "UNARY_EXPRESSION_STRING_QUOTES", "VARIANT",
- "VARIANT_BODY", "VARIANT_NAME", "VARIANT_TAG"
- };
- public static final int EOF=-1;
- public static final int ALIGNTOK=4;
- public static final int ARROW=5;
- public static final int ASSIGNMENT=6;
- public static final int BACKSLASH=7;
- public static final int BOOLTOK=8;
- public static final int CALLSITETOK=9;
- public static final int CHARACTER_LITERAL=10;
- public static final int CHARTOK=11;
- public static final int CHAR_CONTENT=12;
- public static final int CLOCKTOK=13;
- public static final int CLOSEBRAC=14;
- public static final int COLON=15;
- public static final int COMMENT=16;
- public static final int COMMENT_CLOSE=17;
- public static final int COMMENT_OPEN=18;
- public static final int COMPLEXTOK=19;
- public static final int CONSTTOK=20;
- public static final int DECIMAL_LITERAL=21;
- public static final int DIGIT=22;
- public static final int DOT=23;
- public static final int DOUBLEQUOTE=24;
- public static final int DOUBLETOK=25;
- public static final int ELIPSES=26;
- public static final int ENUMTOK=27;
- public static final int ENVTOK=28;
- public static final int ESCAPE_SEQUENCE=29;
- public static final int EVENTTOK=30;
- public static final int FLOATINGPOINTTOK=31;
- public static final int FLOATTOK=32;
- public static final int GT=33;
- public static final int HEXADECIMAL_ESCAPE=34;
- public static final int HEX_DIGIT=35;
- public static final int HEX_LITERAL=36;
- public static final int HEX_PREFIX=37;
- public static final int IDENTIFIER=38;
- public static final int IMAGINARYTOK=39;
- public static final int INFINITYTOK=40;
- public static final int INTEGERTOK=41;
- public static final int INTEGER_TYPES_SUFFIX=42;
- public static final int INTTOK=43;
- public static final int LCURL=44;
- public static final int LINE_COMMENT=45;
- public static final int LONGTOK=46;
- public static final int LPAREN=47;
- public static final int LT=48;
- public static final int NANNUMBERTOK=49;
- public static final int NINFINITYTOK=50;
- public static final int NONDIGIT=51;
- public static final int NONZERO_DIGIT=52;
- public static final int OCTAL_ESCAPE=53;
- public static final int OCTAL_LITERAL=54;
- public static final int OCT_DIGIT=55;
- public static final int OCT_PREFIX=56;
- public static final int OPENBRAC=57;
- public static final int POINTER=58;
- public static final int RCURL=59;
- public static final int RPAREN=60;
- public static final int SEPARATOR=61;
- public static final int SHORTTOK=62;
- public static final int SIGN=63;
- public static final int SIGNEDTOK=64;
- public static final int SINGLEQUOTE=65;
- public static final int STREAMTOK=66;
- public static final int STRINGPREFIX=67;
- public static final int STRINGTOK=68;
- public static final int STRING_CONTENT=69;
- public static final int STRING_LITERAL=70;
- public static final int STRUCTTOK=71;
- public static final int TERM=72;
- public static final int TRACETOK=73;
- public static final int TYPEALIASTOK=74;
- public static final int TYPEDEFTOK=75;
- public static final int TYPE_ASSIGNMENT=76;
- public static final int UNICODE_ESCAPE=77;
- public static final int UNSIGNEDTOK=78;
- public static final int VARIANTTOK=79;
- public static final int VOIDTOK=80;
- public static final int WS=81;
- public static final int ALIGN=82;
- public static final int CALLSITE=83;
- public static final int CLOCK=84;
- public static final int CTF_EXPRESSION_TYPE=85;
- public static final int CTF_EXPRESSION_VAL=86;
- public static final int CTF_LEFT=87;
- public static final int CTF_RIGHT=88;
- public static final int DECLARATION=89;
- public static final int DECLARATOR=90;
- public static final int ENUM=91;
- public static final int ENUM_BODY=92;
- public static final int ENUM_CONTAINER_TYPE=93;
- public static final int ENUM_ENUMERATOR=94;
- public static final int ENUM_NAME=95;
- public static final int ENUM_VALUE=96;
- public static final int ENUM_VALUE_RANGE=97;
- public static final int ENV=98;
- public static final int EVENT=99;
- public static final int FLOATING_POINT=100;
- public static final int INTEGER=101;
- public static final int LENGTH=102;
- public static final int ROOT=103;
- public static final int STREAM=104;
- public static final int STRING=105;
- public static final int STRUCT=106;
- public static final int STRUCT_BODY=107;
- public static final int STRUCT_NAME=108;
- public static final int SV_DECLARATION=109;
- public static final int TRACE=110;
- public static final int TYPEALIAS=111;
- public static final int TYPEALIAS_ALIAS=112;
- public static final int TYPEALIAS_TARGET=113;
- public static final int TYPEDEF=114;
- public static final int TYPE_DECLARATOR=115;
- public static final int TYPE_DECLARATOR_LIST=116;
- public static final int TYPE_SPECIFIER_LIST=117;
- public static final int UNARY_EXPRESSION_DEC=118;
- public static final int UNARY_EXPRESSION_HEX=119;
- public static final int UNARY_EXPRESSION_OCT=120;
- public static final int UNARY_EXPRESSION_STRING=121;
- public static final int UNARY_EXPRESSION_STRING_QUOTES=122;
- public static final int VARIANT=123;
- public static final int VARIANT_BODY=124;
- public static final int VARIANT_NAME=125;
- public static final int VARIANT_TAG=126;
-
- // delegates
- public Parser[] getDelegates() {
- return new Parser[] {};
- }
-
- // delegators
-
- protected static class Symbols_scope {
- Set<String> types;
- }
- protected Stack<Symbols_scope> Symbols_stack = new Stack<Symbols_scope>();
-
-
- public CTFParser(TokenStream input) {
- this(input, new RecognizerSharedState());
- }
- public CTFParser(TokenStream input, RecognizerSharedState state) {
- super(input, state);
- }
-
- protected TreeAdaptor adaptor = new CommonTreeAdaptor();
-
- public void setTreeAdaptor(TreeAdaptor adaptor) {
- this.adaptor = adaptor;
- }
- public TreeAdaptor getTreeAdaptor() {
- return adaptor;
- }
- @Override public String[] getTokenNames() { return CTFParser.tokenNames; }
- @Override public String getGrammarFileName() { return "org/eclipse/linuxtools/ctf/parser/CTFParser.g"; }
-
-
- public CTFParser(TokenStream input, boolean verbose) {
- this(input);
- this.verbose = verbose;
- }
-
- /**
- * This method is overriden to disable automatic error recovery.
- * On a mismatched token, it simply re-throw an exception.
- */
- @Override
- protected Object recoverFromMismatchedToken(IntStream input, int ttype, BitSet follow) throws RecognitionException {
- throw new MismatchedTokenException(ttype, input);
- }
-
- /**
- * Checks if a given name has been defined has a type.
- * From: http://www.antlr.org/grammar/1153358328744/C.g
- *
- * @param name The name to check.
- * @return True if is is a type, false otherwise.
- */
- boolean isTypeName(String name) {
- for (int i = Symbols_stack.size() - 1; i >= 0; i--) {
- Symbols_scope scope = (Symbols_scope) Symbols_stack.get(i);
- if (scope.types.contains(name)) {
- return true;
- }
- }
- return false;
- }
-
- void addTypeName(String name) {
- Symbols_stack.peek().types.add(name);
- if (verbose) {
- debug_print("New type: " + name);
- }
- }
-
- boolean _inTypedef = false;
-
- void typedefOn() {
- debug_print("typedefOn");
- _inTypedef = true;
- }
-
- void typedefOff() {
- debug_print("typedefOff");
- _inTypedef = false;
- }
-
- boolean inTypedef() {
- return _inTypedef;
- }
-
- boolean _inTypealiasAlias = false;
-
- void typealiasAliasOn() {
- debug_print("typealiasAliasOn");
- _inTypealiasAlias = true;
- }
-
- void typealiasAliasOff() {
- debug_print("typealiasAliasOff");
- _inTypealiasAlias = false;
- }
-
- boolean inTypealiasAlias() {
- return _inTypealiasAlias;
- }
-
- void debug_print(String str) {
- if (verbose) {
- System.out.println(str);
- }
- }
-
- /* Prints rule entry and exit while parsing */
- boolean verbose = false;
-
-
- public static class parse_return extends ParserRuleReturnScope {
- CommonTree tree;
- @Override
- public CommonTree getTree() { return tree; }
- };
-
-
- // $ANTLR start "parse"
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:192:1: parse : ( declaration )+ EOF -> ^( ROOT ( declaration )+ ) ;
- public final CTFParser.parse_return parse() throws RecognitionException {
- Symbols_stack.push(new Symbols_scope());
-
- CTFParser.parse_return retval = new CTFParser.parse_return();
- retval.start = input.LT(1);
-
- CommonTree root_0 = null;
-
- Token EOF2=null;
- ParserRuleReturnScope declaration1 =null;
-
- CommonTree EOF2_tree=null;
- RewriteRuleTokenStream stream_EOF=new RewriteRuleTokenStream(adaptor,"token EOF");
- RewriteRuleSubtreeStream stream_declaration=new RewriteRuleSubtreeStream(adaptor,"rule declaration");
-
-
- Symbols_stack.peek().types = new HashSet<String>();
-
- try {
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:197:3: ( ( declaration )+ EOF -> ^( ROOT ( declaration )+ ) )
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:197:5: ( declaration )+ EOF
- {
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:197:5: ( declaration )+
- int cnt1=0;
- loop1:
- while (true) {
- int alt1=2;
- int LA1_0 = input.LA(1);
- if ( (LA1_0==BOOLTOK||LA1_0==CHARTOK||(LA1_0 >= COMPLEXTOK && LA1_0 <= CONSTTOK)||LA1_0==DOUBLETOK||LA1_0==ENUMTOK||(LA1_0 >= FLOATINGPOINTTOK && LA1_0 <= FLOATTOK)||LA1_0==IMAGINARYTOK||LA1_0==INTEGERTOK||LA1_0==INTTOK||LA1_0==LONGTOK||LA1_0==SHORTTOK||LA1_0==SIGNEDTOK||LA1_0==STRINGTOK||LA1_0==STRUCTTOK||LA1_0==TYPEDEFTOK||(LA1_0 >= UNSIGNEDTOK && LA1_0 <= VOIDTOK)) ) {
- alt1=1;
- }
- else if ( (LA1_0==IDENTIFIER) && (( inTypealiasAlias() || isTypeName(input.LT(1).getText()) ))) {
- alt1=1;
- }
- else if ( (LA1_0==CALLSITETOK||LA1_0==CLOCKTOK||LA1_0==ENVTOK||LA1_0==EVENTTOK||LA1_0==STREAMTOK||(LA1_0 >= TRACETOK && LA1_0 <= TYPEALIASTOK)) ) {
- alt1=1;
- }
-
- switch (alt1) {
- case 1 :
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:197:5: declaration
- {
- pushFollow(FOLLOW_declaration_in_parse449);
- declaration1=declaration();
- state._fsp--;
- if (state.failed) return retval;
- if ( state.backtracking==0 ) stream_declaration.add(declaration1.getTree());
- }
- break;
-
- default :
- if ( cnt1 >= 1 ) break loop1;
- if (state.backtracking>0) {state.failed=true; return retval;}
- EarlyExitException eee = new EarlyExitException(1, input);
- throw eee;
- }
- cnt1++;
- }
-
- EOF2=(Token)match(input,EOF,FOLLOW_EOF_in_parse452); if (state.failed) return retval;
- if ( state.backtracking==0 ) stream_EOF.add(EOF2);
-
- // AST REWRITE
- // elements: declaration
- // token labels:
- // rule labels: retval
- // token list labels:
- // rule list labels:
- // wildcard labels:
- if ( state.backtracking==0 ) {
- retval.tree = root_0;
- RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
-
- root_0 = (CommonTree)adaptor.nil();
- // 197:22: -> ^( ROOT ( declaration )+ )
- {
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:197:25: ^( ROOT ( declaration )+ )
- {
- CommonTree root_1 = (CommonTree)adaptor.nil();
- root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(ROOT, "ROOT"), root_1);
- if ( !(stream_declaration.hasNext()) ) {
- throw new RewriteEarlyExitException();
- }
- while ( stream_declaration.hasNext() ) {
- adaptor.addChild(root_1, stream_declaration.nextTree());
- }
- stream_declaration.reset();
-
- adaptor.addChild(root_0, root_1);
- }
-
- }
-
-
- retval.tree = root_0;
- }
-
- }
-
- retval.stop = input.LT(-1);
-
- if ( state.backtracking==0 ) {
- retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0);
- adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
- }
- }
-
- catch (RecognitionException e) {
- throw e;
- }
-
- finally {
- // do for sure before leaving
- Symbols_stack.pop();
-
- }
- return retval;
- }
- // $ANTLR end "parse"
-
-
- public static class numberLiteral_return extends ParserRuleReturnScope {
- CommonTree tree;
- @Override
- public CommonTree getTree() { return tree; }
- };
-
-
- // $ANTLR start "numberLiteral"
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:200:1: numberLiteral : ( SIGN )* ( HEX_LITERAL -> ^( UNARY_EXPRESSION_HEX HEX_LITERAL ( SIGN )* ) | DECIMAL_LITERAL -> ^( UNARY_EXPRESSION_DEC DECIMAL_LITERAL ( SIGN )* ) | OCTAL_LITERAL -> ^( UNARY_EXPRESSION_OCT OCTAL_LITERAL ( SIGN )* ) ) ;
- public final CTFParser.numberLiteral_return numberLiteral() throws RecognitionException {
- CTFParser.numberLiteral_return retval = new CTFParser.numberLiteral_return();
- retval.start = input.LT(1);
-
- CommonTree root_0 = null;
-
- Token SIGN3=null;
- Token HEX_LITERAL4=null;
- Token DECIMAL_LITERAL5=null;
- Token OCTAL_LITERAL6=null;
-
- CommonTree SIGN3_tree=null;
- CommonTree HEX_LITERAL4_tree=null;
- CommonTree DECIMAL_LITERAL5_tree=null;
- CommonTree OCTAL_LITERAL6_tree=null;
- RewriteRuleTokenStream stream_SIGN=new RewriteRuleTokenStream(adaptor,"token SIGN");
- RewriteRuleTokenStream stream_OCTAL_LITERAL=new RewriteRuleTokenStream(adaptor,"token OCTAL_LITERAL");
- RewriteRuleTokenStream stream_HEX_LITERAL=new RewriteRuleTokenStream(adaptor,"token HEX_LITERAL");
- RewriteRuleTokenStream stream_DECIMAL_LITERAL=new RewriteRuleTokenStream(adaptor,"token DECIMAL_LITERAL");
-
- try {
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:201:3: ( ( SIGN )* ( HEX_LITERAL -> ^( UNARY_EXPRESSION_HEX HEX_LITERAL ( SIGN )* ) | DECIMAL_LITERAL -> ^( UNARY_EXPRESSION_DEC DECIMAL_LITERAL ( SIGN )* ) | OCTAL_LITERAL -> ^( UNARY_EXPRESSION_OCT OCTAL_LITERAL ( SIGN )* ) ) )
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:201:5: ( SIGN )* ( HEX_LITERAL -> ^( UNARY_EXPRESSION_HEX HEX_LITERAL ( SIGN )* ) | DECIMAL_LITERAL -> ^( UNARY_EXPRESSION_DEC DECIMAL_LITERAL ( SIGN )* ) | OCTAL_LITERAL -> ^( UNARY_EXPRESSION_OCT OCTAL_LITERAL ( SIGN )* ) )
- {
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:201:5: ( SIGN )*
- loop2:
- while (true) {
- int alt2=2;
- int LA2_0 = input.LA(1);
- if ( (LA2_0==SIGN) ) {
- alt2=1;
- }
-
- switch (alt2) {
- case 1 :
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:201:5: SIGN
- {
- SIGN3=(Token)match(input,SIGN,FOLLOW_SIGN_in_numberLiteral474); if (state.failed) return retval;
- if ( state.backtracking==0 ) stream_SIGN.add(SIGN3);
-
- }
- break;
-
- default :
- break loop2;
- }
- }
-
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:202:7: ( HEX_LITERAL -> ^( UNARY_EXPRESSION_HEX HEX_LITERAL ( SIGN )* ) | DECIMAL_LITERAL -> ^( UNARY_EXPRESSION_DEC DECIMAL_LITERAL ( SIGN )* ) | OCTAL_LITERAL -> ^( UNARY_EXPRESSION_OCT OCTAL_LITERAL ( SIGN )* ) )
- int alt3=3;
- switch ( input.LA(1) ) {
- case HEX_LITERAL:
- {
- alt3=1;
- }
- break;
- case DECIMAL_LITERAL:
- {
- alt3=2;
- }
- break;
- case OCTAL_LITERAL:
- {
- alt3=3;
- }
- break;
- default:
- if (state.backtracking>0) {state.failed=true; return retval;}
- NoViableAltException nvae =
- new NoViableAltException("", 3, 0, input);
- throw nvae;
- }
- switch (alt3) {
- case 1 :
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:202:9: HEX_LITERAL
- {
- HEX_LITERAL4=(Token)match(input,HEX_LITERAL,FOLLOW_HEX_LITERAL_in_numberLiteral485); if (state.failed) return retval;
- if ( state.backtracking==0 ) stream_HEX_LITERAL.add(HEX_LITERAL4);
-
- // AST REWRITE
- // elements: HEX_LITERAL, SIGN
- // token labels:
- // rule labels: retval
- // token list labels:
- // rule list labels:
- // wildcard labels:
- if ( state.backtracking==0 ) {
- retval.tree = root_0;
- RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
-
- root_0 = (CommonTree)adaptor.nil();
- // 202:21: -> ^( UNARY_EXPRESSION_HEX HEX_LITERAL ( SIGN )* )
- {
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:202:24: ^( UNARY_EXPRESSION_HEX HEX_LITERAL ( SIGN )* )
- {
- CommonTree root_1 = (CommonTree)adaptor.nil();
- root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(UNARY_EXPRESSION_HEX, "UNARY_EXPRESSION_HEX"), root_1);
- adaptor.addChild(root_1, stream_HEX_LITERAL.nextNode());
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:202:59: ( SIGN )*
- while ( stream_SIGN.hasNext() ) {
- adaptor.addChild(root_1, stream_SIGN.nextNode());
- }
- stream_SIGN.reset();
-
- adaptor.addChild(root_0, root_1);
- }
-
- }
-
-
- retval.tree = root_0;
- }
-
- }
- break;
- case 2 :
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:203:9: DECIMAL_LITERAL
- {
- DECIMAL_LITERAL5=(Token)match(input,DECIMAL_LITERAL,FOLLOW_DECIMAL_LITERAL_in_numberLiteral506); if (state.failed) return retval;
- if ( state.backtracking==0 ) stream_DECIMAL_LITERAL.add(DECIMAL_LITERAL5);
-
- // AST REWRITE
- // elements: DECIMAL_LITERAL, SIGN
- // token labels:
- // rule labels: retval
- // token list labels:
- // rule list labels:
- // wildcard labels:
- if ( state.backtracking==0 ) {
- retval.tree = root_0;
- RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
-
- root_0 = (CommonTree)adaptor.nil();
- // 203:25: -> ^( UNARY_EXPRESSION_DEC DECIMAL_LITERAL ( SIGN )* )
- {
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:203:28: ^( UNARY_EXPRESSION_DEC DECIMAL_LITERAL ( SIGN )* )
- {
- CommonTree root_1 = (CommonTree)adaptor.nil();
- root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(UNARY_EXPRESSION_DEC, "UNARY_EXPRESSION_DEC"), root_1);
- adaptor.addChild(root_1, stream_DECIMAL_LITERAL.nextNode());
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:203:67: ( SIGN )*
- while ( stream_SIGN.hasNext() ) {
- adaptor.addChild(root_1, stream_SIGN.nextNode());
- }
- stream_SIGN.reset();
-
- adaptor.addChild(root_0, root_1);
- }
-
- }
-
-
- retval.tree = root_0;
- }
-
- }
- break;
- case 3 :
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:204:9: OCTAL_LITERAL
- {
- OCTAL_LITERAL6=(Token)match(input,OCTAL_LITERAL,FOLLOW_OCTAL_LITERAL_in_numberLiteral527); if (state.failed) return retval;
- if ( state.backtracking==0 ) stream_OCTAL_LITERAL.add(OCTAL_LITERAL6);
-
- // AST REWRITE
- // elements: OCTAL_LITERAL, SIGN
- // token labels:
- // rule labels: retval
- // token list labels:
- // rule list labels:
- // wildcard labels:
- if ( state.backtracking==0 ) {
- retval.tree = root_0;
- RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
-
- root_0 = (CommonTree)adaptor.nil();
- // 204:23: -> ^( UNARY_EXPRESSION_OCT OCTAL_LITERAL ( SIGN )* )
- {
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:204:26: ^( UNARY_EXPRESSION_OCT OCTAL_LITERAL ( SIGN )* )
- {
- CommonTree root_1 = (CommonTree)adaptor.nil();
- root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(UNARY_EXPRESSION_OCT, "UNARY_EXPRESSION_OCT"), root_1);
- adaptor.addChild(root_1, stream_OCTAL_LITERAL.nextNode());
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:204:63: ( SIGN )*
- while ( stream_SIGN.hasNext() ) {
- adaptor.addChild(root_1, stream_SIGN.nextNode());
- }
- stream_SIGN.reset();
-
- adaptor.addChild(root_0, root_1);
- }
-
- }
-
-
- retval.tree = root_0;
- }
-
- }
- break;
-
- }
-
- }
-
- retval.stop = input.LT(-1);
-
- if ( state.backtracking==0 ) {
- retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0);
- adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
- }
- }
-
- catch (RecognitionException e) {
- throw e;
- }
-
- finally {
- // do for sure before leaving
- }
- return retval;
- }
- // $ANTLR end "numberLiteral"
-
-
- public static class primaryExpression_return extends ParserRuleReturnScope {
- CommonTree tree;
- @Override
- public CommonTree getTree() { return tree; }
- };
-
-
- // $ANTLR start "primaryExpression"
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:208:1: primaryExpression : ( ( IDENTIFIER )=> IDENTIFIER -> ^( UNARY_EXPRESSION_STRING IDENTIFIER ) | ( ctfKeyword )=> ctfKeyword -> ^( UNARY_EXPRESSION_STRING ctfKeyword ) | ( STRING_LITERAL )=> STRING_LITERAL -> ^( UNARY_EXPRESSION_STRING_QUOTES STRING_LITERAL ) | numberLiteral | enumConstant | CHARACTER_LITERAL );
- public final CTFParser.primaryExpression_return primaryExpression() throws RecognitionException {
- CTFParser.primaryExpression_return retval = new CTFParser.primaryExpression_return();
- retval.start = input.LT(1);
-
- CommonTree root_0 = null;
-
- Token IDENTIFIER7=null;
- Token STRING_LITERAL9=null;
- Token CHARACTER_LITERAL12=null;
- ParserRuleReturnScope ctfKeyword8 =null;
- ParserRuleReturnScope numberLiteral10 =null;
- ParserRuleReturnScope enumConstant11 =null;
-
- CommonTree IDENTIFIER7_tree=null;
- CommonTree STRING_LITERAL9_tree=null;
- CommonTree CHARACTER_LITERAL12_tree=null;
- RewriteRuleTokenStream stream_STRING_LITERAL=new RewriteRuleTokenStream(adaptor,"token STRING_LITERAL");
- RewriteRuleTokenStream stream_IDENTIFIER=new RewriteRuleTokenStream(adaptor,"token IDENTIFIER");
- RewriteRuleSubtreeStream stream_ctfKeyword=new RewriteRuleSubtreeStream(adaptor,"rule ctfKeyword");
-
- try {
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:209:3: ( ( IDENTIFIER )=> IDENTIFIER -> ^( UNARY_EXPRESSION_STRING IDENTIFIER ) | ( ctfKeyword )=> ctfKeyword -> ^( UNARY_EXPRESSION_STRING ctfKeyword ) | ( STRING_LITERAL )=> STRING_LITERAL -> ^( UNARY_EXPRESSION_STRING_QUOTES STRING_LITERAL ) | numberLiteral | enumConstant | CHARACTER_LITERAL )
- int alt4=6;
- switch ( input.LA(1) ) {
- case IDENTIFIER:
- {
- int LA4_1 = input.LA(2);
- if ( (synpred1_CTFParser()) ) {
- alt4=1;
- }
- else if ( (true) ) {
- alt4=5;
- }
-
- }
- break;
- case ALIGNTOK:
- case EVENTTOK:
- case SIGNEDTOK:
- case STRINGTOK:
- {
- int LA4_2 = input.LA(2);
- if ( (synpred2_CTFParser()) ) {
- alt4=2;
- }
- else if ( (true) ) {
- alt4=5;
- }
-
- }
- break;
- case STRING_LITERAL:
- {
- int LA4_3 = input.LA(2);
- if ( (synpred3_CTFParser()) ) {
- alt4=3;
- }
- else if ( (true) ) {
- alt4=5;
- }
-
- }
- break;
- case DECIMAL_LITERAL:
- case HEX_LITERAL:
- case OCTAL_LITERAL:
- case SIGN:
- {
- alt4=4;
- }
- break;
- case CHARACTER_LITERAL:
- {
- alt4=6;
- }
- break;
- default:
- if (state.backtracking>0) {state.failed=true; return retval;}
- NoViableAltException nvae =
- new NoViableAltException("", 4, 0, input);
- throw nvae;
- }
- switch (alt4) {
- case 1 :
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:209:5: ( IDENTIFIER )=> IDENTIFIER
- {
- IDENTIFIER7=(Token)match(input,IDENTIFIER,FOLLOW_IDENTIFIER_in_primaryExpression565); if (state.failed) return retval;
- if ( state.backtracking==0 ) stream_IDENTIFIER.add(IDENTIFIER7);
-
- // AST REWRITE
- // elements: IDENTIFIER
- // token labels:
- // rule labels: retval
- // token list labels:
- // rule list labels:
- // wildcard labels:
- if ( state.backtracking==0 ) {
- retval.tree = root_0;
- RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
-
- root_0 = (CommonTree)adaptor.nil();
- // 210:7: -> ^( UNARY_EXPRESSION_STRING IDENTIFIER )
- {
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:210:10: ^( UNARY_EXPRESSION_STRING IDENTIFIER )
- {
- CommonTree root_1 = (CommonTree)adaptor.nil();
- root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(UNARY_EXPRESSION_STRING, "UNARY_EXPRESSION_STRING"), root_1);
- adaptor.addChild(root_1, stream_IDENTIFIER.nextNode());
- adaptor.addChild(root_0, root_1);
- }
-
- }
-
-
- retval.tree = root_0;
- }
-
- }
- break;
- case 2 :
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:211:5: ( ctfKeyword )=> ctfKeyword
- {
- pushFollow(FOLLOW_ctfKeyword_in_primaryExpression591);
- ctfKeyword8=ctfKeyword();
- state._fsp--;
- if (state.failed) return retval;
- if ( state.backtracking==0 ) stream_ctfKeyword.add(ctfKeyword8.getTree());
- // AST REWRITE
- // elements: ctfKeyword
- // token labels:
- // rule labels: retval
- // token list labels:
- // rule list labels:
- // wildcard labels:
- if ( state.backtracking==0 ) {
- retval.tree = root_0;
- RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
-
- root_0 = (CommonTree)adaptor.nil();
- // 211:32: -> ^( UNARY_EXPRESSION_STRING ctfKeyword )
- {
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:211:35: ^( UNARY_EXPRESSION_STRING ctfKeyword )
- {
- CommonTree root_1 = (CommonTree)adaptor.nil();
- root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(UNARY_EXPRESSION_STRING, "UNARY_EXPRESSION_STRING"), root_1);
- adaptor.addChild(root_1, stream_ctfKeyword.nextTree());
- adaptor.addChild(root_0, root_1);
- }
-
- }
-
-
- retval.tree = root_0;
- }
-
- }
- break;
- case 3 :
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:212:5: ( STRING_LITERAL )=> STRING_LITERAL
- {
- STRING_LITERAL9=(Token)match(input,STRING_LITERAL,FOLLOW_STRING_LITERAL_in_primaryExpression611); if (state.failed) return retval;
- if ( state.backtracking==0 ) stream_STRING_LITERAL.add(STRING_LITERAL9);
-
- // AST REWRITE
- // elements: STRING_LITERAL
- // token labels:
- // rule labels: retval
- // token list labels:
- // rule list labels:
- // wildcard labels:
- if ( state.backtracking==0 ) {
- retval.tree = root_0;
- RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
-
- root_0 = (CommonTree)adaptor.nil();
- // 213:7: -> ^( UNARY_EXPRESSION_STRING_QUOTES STRING_LITERAL )
- {
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:213:10: ^( UNARY_EXPRESSION_STRING_QUOTES STRING_LITERAL )
- {
- CommonTree root_1 = (CommonTree)adaptor.nil();
- root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(UNARY_EXPRESSION_STRING_QUOTES, "UNARY_EXPRESSION_STRING_QUOTES"), root_1);
- adaptor.addChild(root_1, stream_STRING_LITERAL.nextNode());
- adaptor.addChild(root_0, root_1);
- }
-
- }
-
-
- retval.tree = root_0;
- }
-
- }
- break;
- case 4 :
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:215:5: numberLiteral
- {
- root_0 = (CommonTree)adaptor.nil();
-
-
- pushFollow(FOLLOW_numberLiteral_in_primaryExpression636);
- numberLiteral10=numberLiteral();
- state._fsp--;
- if (state.failed) return retval;
- if ( state.backtracking==0 ) adaptor.addChild(root_0, numberLiteral10.getTree());
-
- }
- break;
- case 5 :
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:216:5: enumConstant
- {
- root_0 = (CommonTree)adaptor.nil();
-
-
- pushFollow(FOLLOW_enumConstant_in_primaryExpression642);
- enumConstant11=enumConstant();
- state._fsp--;
- if (state.failed) return retval;
- if ( state.backtracking==0 ) adaptor.addChild(root_0, enumConstant11.getTree());
-
- }
- break;
- case 6 :
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:217:5: CHARACTER_LITERAL
- {
- root_0 = (CommonTree)adaptor.nil();
-
-
- CHARACTER_LITERAL12=(Token)match(input,CHARACTER_LITERAL,FOLLOW_CHARACTER_LITERAL_in_primaryExpression648); if (state.failed) return retval;
- if ( state.backtracking==0 ) {
- CHARACTER_LITERAL12_tree = (CommonTree)adaptor.create(CHARACTER_LITERAL12);
- adaptor.addChild(root_0, CHARACTER_LITERAL12_tree);
- }
-
- }
- break;
-
- }
- retval.stop = input.LT(-1);
-
- if ( state.backtracking==0 ) {
- retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0);
- adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
- }
- }
-
- catch (RecognitionException e) {
- throw e;
- }
-
- finally {
- // do for sure before leaving
- }
- return retval;
- }
- // $ANTLR end "primaryExpression"
-
-
- public static class postfixExpressionSuffix_return extends ParserRuleReturnScope {
- CommonTree tree;
- @Override
- public CommonTree getTree() { return tree; }
- };
-
-
- // $ANTLR start "postfixExpressionSuffix"
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:220:1: postfixExpressionSuffix : ( OPENBRAC unaryExpression CLOSEBRAC !| (ref= DOT |ref= ARROW ) IDENTIFIER -> ^( $ref ^( UNARY_EXPRESSION_STRING IDENTIFIER ) ) );
- public final CTFParser.postfixExpressionSuffix_return postfixExpressionSuffix() throws RecognitionException {
- CTFParser.postfixExpressionSuffix_return retval = new CTFParser.postfixExpressionSuffix_return();
- retval.start = input.LT(1);
-
- CommonTree root_0 = null;
-
- Token ref=null;
- Token OPENBRAC13=null;
- Token CLOSEBRAC15=null;
- Token IDENTIFIER16=null;
- ParserRuleReturnScope unaryExpression14 =null;
-
- CommonTree ref_tree=null;
- CommonTree OPENBRAC13_tree=null;
- CommonTree CLOSEBRAC15_tree=null;
- CommonTree IDENTIFIER16_tree=null;
- RewriteRuleTokenStream stream_ARROW=new RewriteRuleTokenStream(adaptor,"token ARROW");
- RewriteRuleTokenStream stream_DOT=new RewriteRuleTokenStream(adaptor,"token DOT");
- RewriteRuleTokenStream stream_IDENTIFIER=new RewriteRuleTokenStream(adaptor,"token IDENTIFIER");
-
- try {
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:221:3: ( OPENBRAC unaryExpression CLOSEBRAC !| (ref= DOT |ref= ARROW ) IDENTIFIER -> ^( $ref ^( UNARY_EXPRESSION_STRING IDENTIFIER ) ) )
- int alt6=2;
- int LA6_0 = input.LA(1);
- if ( (LA6_0==OPENBRAC) ) {
- alt6=1;
- }
- else if ( (LA6_0==ARROW||LA6_0==DOT) ) {
- alt6=2;
- }
-
- else {
- if (state.backtracking>0) {state.failed=true; return retval;}
- NoViableAltException nvae =
- new NoViableAltException("", 6, 0, input);
- throw nvae;
- }
-
- switch (alt6) {
- case 1 :
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:221:5: OPENBRAC unaryExpression CLOSEBRAC !
- {
- root_0 = (CommonTree)adaptor.nil();
-
-
- OPENBRAC13=(Token)match(input,OPENBRAC,FOLLOW_OPENBRAC_in_postfixExpressionSuffix661); if (state.failed) return retval;
- if ( state.backtracking==0 ) {
- OPENBRAC13_tree = (CommonTree)adaptor.create(OPENBRAC13);
- adaptor.addChild(root_0, OPENBRAC13_tree);
- }
-
- pushFollow(FOLLOW_unaryExpression_in_postfixExpressionSuffix663);
- unaryExpression14=unaryExpression();
- state._fsp--;
- if (state.failed) return retval;
- if ( state.backtracking==0 ) adaptor.addChild(root_0, unaryExpression14.getTree());
-
- CLOSEBRAC15=(Token)match(input,CLOSEBRAC,FOLLOW_CLOSEBRAC_in_postfixExpressionSuffix665); if (state.failed) return retval;
- }
- break;
- case 2 :
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:222:5: (ref= DOT |ref= ARROW ) IDENTIFIER
- {
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:222:5: (ref= DOT |ref= ARROW )
- int alt5=2;
- int LA5_0 = input.LA(1);
- if ( (LA5_0==DOT) ) {
- alt5=1;
- }
- else if ( (LA5_0==ARROW) ) {
- alt5=2;
- }
-
- else {
- if (state.backtracking>0) {state.failed=true; return retval;}
- NoViableAltException nvae =
- new NoViableAltException("", 5, 0, input);
- throw nvae;
- }
-
- switch (alt5) {
- case 1 :
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:222:6: ref= DOT
- {
- ref=(Token)match(input,DOT,FOLLOW_DOT_in_postfixExpressionSuffix675); if (state.failed) return retval;
- if ( state.backtracking==0 ) stream_DOT.add(ref);
-
- }
- break;
- case 2 :
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:222:16: ref= ARROW
- {
- ref=(Token)match(input,ARROW,FOLLOW_ARROW_in_postfixExpressionSuffix681); if (state.failed) return retval;
- if ( state.backtracking==0 ) stream_ARROW.add(ref);
-
- }
- break;
-
- }
-
- IDENTIFIER16=(Token)match(input,IDENTIFIER,FOLLOW_IDENTIFIER_in_postfixExpressionSuffix684); if (state.failed) return retval;
- if ( state.backtracking==0 ) stream_IDENTIFIER.add(IDENTIFIER16);
-
- // AST REWRITE
- // elements: IDENTIFIER, ref
- // token labels: ref
- // rule labels: retval
- // token list labels:
- // rule list labels:
- // wildcard labels:
- if ( state.backtracking==0 ) {
- retval.tree = root_0;
- RewriteRuleTokenStream stream_ref=new RewriteRuleTokenStream(adaptor,"token ref",ref);
- RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
-
- root_0 = (CommonTree)adaptor.nil();
- // 223:7: -> ^( $ref ^( UNARY_EXPRESSION_STRING IDENTIFIER ) )
- {
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:223:10: ^( $ref ^( UNARY_EXPRESSION_STRING IDENTIFIER ) )
- {
- CommonTree root_1 = (CommonTree)adaptor.nil();
- root_1 = (CommonTree)adaptor.becomeRoot(stream_ref.nextNode(), root_1);
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:223:17: ^( UNARY_EXPRESSION_STRING IDENTIFIER )
- {
- CommonTree root_2 = (CommonTree)adaptor.nil();
- root_2 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(UNARY_EXPRESSION_STRING, "UNARY_EXPRESSION_STRING"), root_2);
- adaptor.addChild(root_2, stream_IDENTIFIER.nextNode());
- adaptor.addChild(root_1, root_2);
- }
-
- adaptor.addChild(root_0, root_1);
- }
-
- }
-
-
- retval.tree = root_0;
- }
-
- }
- break;
-
- }
- retval.stop = input.LT(-1);
-
- if ( state.backtracking==0 ) {
- retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0);
- adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
- }
- }
-
- catch (RecognitionException e) {
- throw e;
- }
-
- finally {
- // do for sure before leaving
- }
- return retval;
- }
- // $ANTLR end "postfixExpressionSuffix"
-
-
- public static class postfixExpression_return extends ParserRuleReturnScope {
- CommonTree tree;
- @Override
- public CommonTree getTree() { return tree; }
- };
-
-
- // $ANTLR start "postfixExpression"
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:226:1: postfixExpression : ( primaryExpression ( postfixExpressionSuffix )* | ctfSpecifierHead ( postfixExpressionSuffix )+ );
- public final CTFParser.postfixExpression_return postfixExpression() throws RecognitionException {
- CTFParser.postfixExpression_return retval = new CTFParser.postfixExpression_return();
- retval.start = input.LT(1);
-
- CommonTree root_0 = null;
-
- ParserRuleReturnScope primaryExpression17 =null;
- ParserRuleReturnScope postfixExpressionSuffix18 =null;
- ParserRuleReturnScope ctfSpecifierHead19 =null;
- ParserRuleReturnScope postfixExpressionSuffix20 =null;
-
-
- try {
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:227:3: ( primaryExpression ( postfixExpressionSuffix )* | ctfSpecifierHead ( postfixExpressionSuffix )+ )
- int alt9=2;
- switch ( input.LA(1) ) {
- case ALIGNTOK:
- case CHARACTER_LITERAL:
- case DECIMAL_LITERAL:
- case HEX_LITERAL:
- case IDENTIFIER:
- case OCTAL_LITERAL:
- case SIGN:
- case SIGNEDTOK:
- case STRINGTOK:
- case STRING_LITERAL:
- {
- alt9=1;
- }
- break;
- case EVENTTOK:
- {
- alt9=1;
- }
- break;
- case CALLSITETOK:
- case CLOCKTOK:
- case ENVTOK:
- case STREAMTOK:
- case TRACETOK:
- {
- alt9=2;
- }
- break;
- default:
- if (state.backtracking>0) {state.failed=true; return retval;}
- NoViableAltException nvae =
- new NoViableAltException("", 9, 0, input);
- throw nvae;
- }
- switch (alt9) {
- case 1 :
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:227:5: primaryExpression ( postfixExpressionSuffix )*
- {
- root_0 = (CommonTree)adaptor.nil();
-
-
- pushFollow(FOLLOW_primaryExpression_in_postfixExpression716);
- primaryExpression17=primaryExpression();
- state._fsp--;
- if (state.failed) return retval;
- if ( state.backtracking==0 ) adaptor.addChild(root_0, primaryExpression17.getTree());
-
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:227:23: ( postfixExpressionSuffix )*
- loop7:
- while (true) {
- int alt7=2;
- int LA7_0 = input.LA(1);
- if ( (LA7_0==ARROW||LA7_0==DOT||LA7_0==OPENBRAC) ) {
- alt7=1;
- }
-
- switch (alt7) {
- case 1 :
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:227:23: postfixExpressionSuffix
- {
- pushFollow(FOLLOW_postfixExpressionSuffix_in_postfixExpression718);
- postfixExpressionSuffix18=postfixExpressionSuffix();
- state._fsp--;
- if (state.failed) return retval;
- if ( state.backtracking==0 ) adaptor.addChild(root_0, postfixExpressionSuffix18.getTree());
-
- }
- break;
-
- default :
- break loop7;
- }
- }
-
- }
- break;
- case 2 :
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:228:5: ctfSpecifierHead ( postfixExpressionSuffix )+
- {
- root_0 = (CommonTree)adaptor.nil();
-
-
- pushFollow(FOLLOW_ctfSpecifierHead_in_postfixExpression725);
- ctfSpecifierHead19=ctfSpecifierHead();
- state._fsp--;
- if (state.failed) return retval;
- if ( state.backtracking==0 ) adaptor.addChild(root_0, ctfSpecifierHead19.getTree());
-
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:228:22: ( postfixExpressionSuffix )+
- int cnt8=0;
- loop8:
- while (true) {
- int alt8=2;
- int LA8_0 = input.LA(1);
- if ( (LA8_0==ARROW||LA8_0==DOT||LA8_0==OPENBRAC) ) {
- alt8=1;
- }
-
- switch (alt8) {
- case 1 :
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:228:22: postfixExpressionSuffix
- {
- pushFollow(FOLLOW_postfixExpressionSuffix_in_postfixExpression727);
- postfixExpressionSuffix20=postfixExpressionSuffix();
- state._fsp--;
- if (state.failed) return retval;
- if ( state.backtracking==0 ) adaptor.addChild(root_0, postfixExpressionSuffix20.getTree());
-
- }
- break;
-
- default :
- if ( cnt8 >= 1 ) break loop8;
- if (state.backtracking>0) {state.failed=true; return retval;}
- EarlyExitException eee = new EarlyExitException(8, input);
- throw eee;
- }
- cnt8++;
- }
-
- }
- break;
-
- }
- retval.stop = input.LT(-1);
-
- if ( state.backtracking==0 ) {
- retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0);
- adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
- }
- }
-
- catch (RecognitionException e) {
- throw e;
- }
-
- finally {
- // do for sure before leaving
- }
- return retval;
- }
- // $ANTLR end "postfixExpression"
-
-
- public static class unaryExpression_return extends ParserRuleReturnScope {
- CommonTree tree;
- @Override
- public CommonTree getTree() { return tree; }
- };
-
-
- // $ANTLR start "unaryExpression"
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:231:1: unaryExpression : postfixExpression ;
- public final CTFParser.unaryExpression_return unaryExpression() throws RecognitionException {
- CTFParser.unaryExpression_return retval = new CTFParser.unaryExpression_return();
- retval.start = input.LT(1);
-
- CommonTree root_0 = null;
-
- ParserRuleReturnScope postfixExpression21 =null;
-
-
- try {
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:232:3: ( postfixExpression )
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:232:5: postfixExpression
- {
- root_0 = (CommonTree)adaptor.nil();
-
-
- pushFollow(FOLLOW_postfixExpression_in_unaryExpression743);
- postfixExpression21=postfixExpression();
- state._fsp--;
- if (state.failed) return retval;
- if ( state.backtracking==0 ) adaptor.addChild(root_0, postfixExpression21.getTree());
-
- }
-
- retval.stop = input.LT(-1);
-
- if ( state.backtracking==0 ) {
- retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0);
- adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
- }
- }
-
- catch (RecognitionException e) {
- throw e;
- }
-
- finally {
- // do for sure before leaving
- }
- return retval;
- }
- // $ANTLR end "unaryExpression"
-
-
- public static class enumConstant_return extends ParserRuleReturnScope {
- CommonTree tree;
- @Override
- public CommonTree getTree() { return tree; }
- };
-
-
- // $ANTLR start "enumConstant"
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:236:1: enumConstant : ( STRING_LITERAL -> ^( UNARY_EXPRESSION_STRING_QUOTES STRING_LITERAL ) | IDENTIFIER -> ^( UNARY_EXPRESSION_STRING IDENTIFIER ) | ctfKeyword -> ^( UNARY_EXPRESSION_STRING ctfKeyword ) );
- public final CTFParser.enumConstant_return enumConstant() throws RecognitionException {
- CTFParser.enumConstant_return retval = new CTFParser.enumConstant_return();
- retval.start = input.LT(1);
-
- CommonTree root_0 = null;
-
- Token STRING_LITERAL22=null;
- Token IDENTIFIER23=null;
- ParserRuleReturnScope ctfKeyword24 =null;
-
- CommonTree STRING_LITERAL22_tree=null;
- CommonTree IDENTIFIER23_tree=null;
- RewriteRuleTokenStream stream_STRING_LITERAL=new RewriteRuleTokenStream(adaptor,"token STRING_LITERAL");
- RewriteRuleTokenStream stream_IDENTIFIER=new RewriteRuleTokenStream(adaptor,"token IDENTIFIER");
- RewriteRuleSubtreeStream stream_ctfKeyword=new RewriteRuleSubtreeStream(adaptor,"rule ctfKeyword");
-
- try {
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:237:3: ( STRING_LITERAL -> ^( UNARY_EXPRESSION_STRING_QUOTES STRING_LITERAL ) | IDENTIFIER -> ^( UNARY_EXPRESSION_STRING IDENTIFIER ) | ctfKeyword -> ^( UNARY_EXPRESSION_STRING ctfKeyword ) )
- int alt10=3;
- switch ( input.LA(1) ) {
- case STRING_LITERAL:
- {
- alt10=1;
- }
- break;
- case IDENTIFIER:
- {
- alt10=2;
- }
- break;
- case ALIGNTOK:
- case EVENTTOK:
- case SIGNEDTOK:
- case STRINGTOK:
- {
- alt10=3;
- }
- break;
- default:
- if (state.backtracking>0) {state.failed=true; return retval;}
- NoViableAltException nvae =
- new NoViableAltException("", 10, 0, input);
- throw nvae;
- }
- switch (alt10) {
- case 1 :
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:237:5: STRING_LITERAL
- {
- STRING_LITERAL22=(Token)match(input,STRING_LITERAL,FOLLOW_STRING_LITERAL_in_enumConstant760); if (state.failed) return retval;
- if ( state.backtracking==0 ) stream_STRING_LITERAL.add(STRING_LITERAL22);
-
- // AST REWRITE
- // elements: STRING_LITERAL
- // token labels:
- // rule labels: retval
- // token list labels:
- // rule list labels:
- // wildcard labels:
- if ( state.backtracking==0 ) {
- retval.tree = root_0;
- RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
-
- root_0 = (CommonTree)adaptor.nil();
- // 237:20: -> ^( UNARY_EXPRESSION_STRING_QUOTES STRING_LITERAL )
- {
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:237:23: ^( UNARY_EXPRESSION_STRING_QUOTES STRING_LITERAL )
- {
- CommonTree root_1 = (CommonTree)adaptor.nil();
- root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(UNARY_EXPRESSION_STRING_QUOTES, "UNARY_EXPRESSION_STRING_QUOTES"), root_1);
- adaptor.addChild(root_1, stream_STRING_LITERAL.nextNode());
- adaptor.addChild(root_0, root_1);
- }
-
- }
-
-
- retval.tree = root_0;
- }
-
- }
- break;
- case 2 :
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:238:5: IDENTIFIER
- {
- IDENTIFIER23=(Token)match(input,IDENTIFIER,FOLLOW_IDENTIFIER_in_enumConstant774); if (state.failed) return retval;
- if ( state.backtracking==0 ) stream_IDENTIFIER.add(IDENTIFIER23);
-
- // AST REWRITE
- // elements: IDENTIFIER
- // token labels:
- // rule labels: retval
- // token list labels:
- // rule list labels:
- // wildcard labels:
- if ( state.backtracking==0 ) {
- retval.tree = root_0;
- RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
-
- root_0 = (CommonTree)adaptor.nil();
- // 238:16: -> ^( UNARY_EXPRESSION_STRING IDENTIFIER )
- {
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:238:19: ^( UNARY_EXPRESSION_STRING IDENTIFIER )
- {
- CommonTree root_1 = (CommonTree)adaptor.nil();
- root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(UNARY_EXPRESSION_STRING, "UNARY_EXPRESSION_STRING"), root_1);
- adaptor.addChild(root_1, stream_IDENTIFIER.nextNode());
- adaptor.addChild(root_0, root_1);
- }
-
- }
-
-
- retval.tree = root_0;
- }
-
- }
- break;
- case 3 :
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:239:5: ctfKeyword
- {
- pushFollow(FOLLOW_ctfKeyword_in_enumConstant788);
- ctfKeyword24=ctfKeyword();
- state._fsp--;
- if (state.failed) return retval;
- if ( state.backtracking==0 ) stream_ctfKeyword.add(ctfKeyword24.getTree());
- // AST REWRITE
- // elements: ctfKeyword
- // token labels:
- // rule labels: retval
- // token list labels:
- // rule list labels:
- // wildcard labels:
- if ( state.backtracking==0 ) {
- retval.tree = root_0;
- RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
-
- root_0 = (CommonTree)adaptor.nil();
- // 239:16: -> ^( UNARY_EXPRESSION_STRING ctfKeyword )
- {
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:239:19: ^( UNARY_EXPRESSION_STRING ctfKeyword )
- {
- CommonTree root_1 = (CommonTree)adaptor.nil();
- root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(UNARY_EXPRESSION_STRING, "UNARY_EXPRESSION_STRING"), root_1);
- adaptor.addChild(root_1, stream_ctfKeyword.nextTree());
- adaptor.addChild(root_0, root_1);
- }
-
- }
-
-
- retval.tree = root_0;
- }
-
- }
- break;
-
- }
- retval.stop = input.LT(-1);
-
- if ( state.backtracking==0 ) {
- retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0);
- adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
- }
- }
-
- catch (RecognitionException e) {
- throw e;
- }
-
- finally {
- // do for sure before leaving
- }
- return retval;
- }
- // $ANTLR end "enumConstant"
-
-
- public static class declaration_return extends ParserRuleReturnScope {
- CommonTree tree;
- @Override
- public CommonTree getTree() { return tree; }
- };
-
-
- // $ANTLR start "declaration"
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:244:1: declaration : ( declarationSpecifiers ( declaratorList )? TERM -> {inTypedef()}? ^( DECLARATION ^( TYPEDEF declaratorList declarationSpecifiers ) ) -> ^( DECLARATION declarationSpecifiers ( declaratorList )? ) | ctfSpecifier TERM !);
- public final CTFParser.declaration_return declaration() throws RecognitionException {
- CTFParser.declaration_return retval = new CTFParser.declaration_return();
- retval.start = input.LT(1);
-
- CommonTree root_0 = null;
-
- Token TERM27=null;
- Token TERM29=null;
- ParserRuleReturnScope declarationSpecifiers25 =null;
- ParserRuleReturnScope declaratorList26 =null;
- ParserRuleReturnScope ctfSpecifier28 =null;
-
- CommonTree TERM27_tree=null;
- CommonTree TERM29_tree=null;
- RewriteRuleTokenStream stream_TERM=new RewriteRuleTokenStream(adaptor,"token TERM");
- RewriteRuleSubtreeStream stream_declaratorList=new RewriteRuleSubtreeStream(adaptor,"rule declaratorList");
- RewriteRuleSubtreeStream stream_declarationSpecifiers=new RewriteRuleSubtreeStream(adaptor,"rule declarationSpecifiers");
-
- try {
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:250:3: ( declarationSpecifiers ( declaratorList )? TERM -> {inTypedef()}? ^( DECLARATION ^( TYPEDEF declaratorList declarationSpecifiers ) ) -> ^( DECLARATION declarationSpecifiers ( declaratorList )? ) | ctfSpecifier TERM !)
- int alt12=2;
- int LA12_0 = input.LA(1);
- if ( (LA12_0==BOOLTOK||LA12_0==CHARTOK||(LA12_0 >= COMPLEXTOK && LA12_0 <= CONSTTOK)||LA12_0==DOUBLETOK||LA12_0==ENUMTOK||(LA12_0 >= FLOATINGPOINTTOK && LA12_0 <= FLOATTOK)||LA12_0==IMAGINARYTOK||LA12_0==INTEGERTOK||LA12_0==INTTOK||LA12_0==LONGTOK||LA12_0==SHORTTOK||LA12_0==SIGNEDTOK||LA12_0==STRINGTOK||LA12_0==STRUCTTOK||LA12_0==TYPEDEFTOK||(LA12_0 >= UNSIGNEDTOK && LA12_0 <= VOIDTOK)) ) {
- alt12=1;
- }
- else if ( (LA12_0==IDENTIFIER) && (( inTypealiasAlias() || isTypeName(input.LT(1).getText()) ))) {
- alt12=1;
- }
- else if ( (LA12_0==CALLSITETOK||LA12_0==CLOCKTOK||LA12_0==ENVTOK||LA12_0==EVENTTOK||LA12_0==STREAMTOK||(LA12_0 >= TRACETOK && LA12_0 <= TYPEALIASTOK)) ) {
- alt12=2;
- }
-
- else {
- if (state.backtracking>0) {state.failed=true; return retval;}
- NoViableAltException nvae =
- new NoViableAltException("", 12, 0, input);
- throw nvae;
- }
-
- switch (alt12) {
- case 1 :
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:250:5: declarationSpecifiers ( declaratorList )? TERM
- {
- pushFollow(FOLLOW_declarationSpecifiers_in_declaration816);
- declarationSpecifiers25=declarationSpecifiers();
- state._fsp--;
- if (state.failed) return retval;
- if ( state.backtracking==0 ) stream_declarationSpecifiers.add(declarationSpecifiers25.getTree());
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:250:27: ( declaratorList )?
- int alt11=2;
- int LA11_0 = input.LA(1);
- if ( (LA11_0==IDENTIFIER||LA11_0==POINTER) ) {
- alt11=1;
- }
- switch (alt11) {
- case 1 :
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:250:27: declaratorList
- {
- pushFollow(FOLLOW_declaratorList_in_declaration818);
- declaratorList26=declaratorList();
- state._fsp--;
- if (state.failed) return retval;
- if ( state.backtracking==0 ) stream_declaratorList.add(declaratorList26.getTree());
- }
- break;
-
- }
-
- TERM27=(Token)match(input,TERM,FOLLOW_TERM_in_declaration821); if (state.failed) return retval;
- if ( state.backtracking==0 ) stream_TERM.add(TERM27);
-
- // AST REWRITE
- // elements: declaratorList, declarationSpecifiers, declarationSpecifiers, declaratorList
- // token labels:
- // rule labels: retval
- // token list labels:
- // rule list labels:
- // wildcard labels:
- if ( state.backtracking==0 ) {
- retval.tree = root_0;
- RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
-
- root_0 = (CommonTree)adaptor.nil();
- // 253:7: -> {inTypedef()}? ^( DECLARATION ^( TYPEDEF declaratorList declarationSpecifiers ) )
- if (inTypedef()) {
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:254:10: ^( DECLARATION ^( TYPEDEF declaratorList declarationSpecifiers ) )
- {
- CommonTree root_1 = (CommonTree)adaptor.nil();
- root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(DECLARATION, "DECLARATION"), root_1);
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:254:24: ^( TYPEDEF declaratorList declarationSpecifiers )
- {
- CommonTree root_2 = (CommonTree)adaptor.nil();
- root_2 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(TYPEDEF, "TYPEDEF"), root_2);
- adaptor.addChild(root_2, stream_declaratorList.nextTree());
- adaptor.addChild(root_2, stream_declarationSpecifiers.nextTree());
- adaptor.addChild(root_1, root_2);
- }
-
- adaptor.addChild(root_0, root_1);
- }
-
- }
-
- else // 255:7: -> ^( DECLARATION declarationSpecifiers ( declaratorList )? )
- {
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:255:10: ^( DECLARATION declarationSpecifiers ( declaratorList )? )
- {
- CommonTree root_1 = (CommonTree)adaptor.nil();
- root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(DECLARATION, "DECLARATION"), root_1);
- adaptor.addChild(root_1, stream_declarationSpecifiers.nextTree());
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:255:46: ( declaratorList )?
- if ( stream_declaratorList.hasNext() ) {
- adaptor.addChild(root_1, stream_declaratorList.nextTree());
- }
- stream_declaratorList.reset();
-
- adaptor.addChild(root_0, root_1);
- }
-
- }
-
-
- retval.tree = root_0;
- }
-
- }
- break;
- case 2 :
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:256:5: ctfSpecifier TERM !
- {
- root_0 = (CommonTree)adaptor.nil();
-
-
- pushFollow(FOLLOW_ctfSpecifier_in_declaration889);
- ctfSpecifier28=ctfSpecifier();
- state._fsp--;
- if (state.failed) return retval;
- if ( state.backtracking==0 ) adaptor.addChild(root_0, ctfSpecifier28.getTree());
-
- TERM29=(Token)match(input,TERM,FOLLOW_TERM_in_declaration891); if (state.failed) return retval;
- }
- break;
-
- }
- retval.stop = input.LT(-1);
-
- if ( state.backtracking==0 ) {
- retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0);
- adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
- }
- if ( state.backtracking==0 ) {
- if (inTypedef()) {
- typedefOff();
- }
- }
- }
-
- catch (RecognitionException e) {
- throw e;
- }
-
- finally {
- // do for sure before leaving
- }
- return retval;
- }
- // $ANTLR end "declaration"
-
-
- public static class declarationSpecifiers_return extends ParserRuleReturnScope {
- CommonTree tree;
- @Override
- public CommonTree getTree() { return tree; }
- };
-
-
- // $ANTLR start "declarationSpecifiers"
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:259:1: declarationSpecifiers : ( storageClassSpecifier | typeQualifier | typeSpecifier )+ -> ^( TYPE_SPECIFIER_LIST ( typeQualifier )* ( typeSpecifier )* ) ;
- public final CTFParser.declarationSpecifiers_return declarationSpecifiers() throws RecognitionException {
- CTFParser.declarationSpecifiers_return retval = new CTFParser.declarationSpecifiers_return();
- retval.start = input.LT(1);
-
- CommonTree root_0 = null;
-
- ParserRuleReturnScope storageClassSpecifier30 =null;
- ParserRuleReturnScope typeQualifier31 =null;
- ParserRuleReturnScope typeSpecifier32 =null;
-
- RewriteRuleSubtreeStream stream_typeSpecifier=new RewriteRuleSubtreeStream(adaptor,"rule typeSpecifier");
- RewriteRuleSubtreeStream stream_typeQualifier=new RewriteRuleSubtreeStream(adaptor,"rule typeQualifier");
- RewriteRuleSubtreeStream stream_storageClassSpecifier=new RewriteRuleSubtreeStream(adaptor,"rule storageClassSpecifier");
-
- try {
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:260:3: ( ( storageClassSpecifier | typeQualifier | typeSpecifier )+ -> ^( TYPE_SPECIFIER_LIST ( typeQualifier )* ( typeSpecifier )* ) )
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:260:5: ( storageClassSpecifier | typeQualifier | typeSpecifier )+
- {
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:260:5: ( storageClassSpecifier | typeQualifier | typeSpecifier )+
- int cnt13=0;
- loop13:
- while (true) {
- int alt13=4;
- switch ( input.LA(1) ) {
- case IDENTIFIER:
- {
- int LA13_2 = input.LA(2);
- if ( ((( inTypealiasAlias() || isTypeName(input.LT(1).getText()) )&&(inTypealiasAlias() || isTypeName(input.LT(1).getText())))) ) {
- alt13=3;
- }
-
- }
- break;
- case TYPEDEFTOK:
- {
- alt13=1;
- }
- break;
- case CONSTTOK:
- {
- alt13=2;
- }
- break;
- case BOOLTOK:
- case CHARTOK:
- case COMPLEXTOK:
- case DOUBLETOK:
- case ENUMTOK:
- case FLOATINGPOINTTOK:
- case FLOATTOK:
- case IMAGINARYTOK:
- case INTEGERTOK:
- case INTTOK:
- case LONGTOK:
- case SHORTTOK:
- case SIGNEDTOK:
- case STRINGTOK:
- case STRUCTTOK:
- case UNSIGNEDTOK:
- case VARIANTTOK:
- case VOIDTOK:
- {
- alt13=3;
- }
- break;
- }
- switch (alt13) {
- case 1 :
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:263:9: storageClassSpecifier
- {
- pushFollow(FOLLOW_storageClassSpecifier_in_declarationSpecifiers929);
- storageClassSpecifier30=storageClassSpecifier();
- state._fsp--;
- if (state.failed) return retval;
- if ( state.backtracking==0 ) stream_storageClassSpecifier.add(storageClassSpecifier30.getTree());
- }
- break;
- case 2 :
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:264:9: typeQualifier
- {
- pushFollow(FOLLOW_typeQualifier_in_declarationSpecifiers939);
- typeQualifier31=typeQualifier();
- state._fsp--;
- if (state.failed) return retval;
- if ( state.backtracking==0 ) stream_typeQualifier.add(typeQualifier31.getTree());
- }
- break;
- case 3 :
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:265:9: typeSpecifier
- {
- pushFollow(FOLLOW_typeSpecifier_in_declarationSpecifiers949);
- typeSpecifier32=typeSpecifier();
- state._fsp--;
- if (state.failed) return retval;
- if ( state.backtracking==0 ) stream_typeSpecifier.add(typeSpecifier32.getTree());
- }
- break;
-
- default :
- if ( cnt13 >= 1 ) break loop13;
- if (state.backtracking>0) {state.failed=true; return retval;}
- EarlyExitException eee = new EarlyExitException(13, input);
- throw eee;
- }
- cnt13++;
- }
-
- // AST REWRITE
- // elements: typeSpecifier, typeQualifier
- // token labels:
- // rule labels: retval
- // token list labels:
- // rule list labels:
- // wildcard labels:
- if ( state.backtracking==0 ) {
- retval.tree = root_0;
- RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
-
- root_0 = (CommonTree)adaptor.nil();
- // 266:6: -> ^( TYPE_SPECIFIER_LIST ( typeQualifier )* ( typeSpecifier )* )
- {
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:266:9: ^( TYPE_SPECIFIER_LIST ( typeQualifier )* ( typeSpecifier )* )
- {
- CommonTree root_1 = (CommonTree)adaptor.nil();
- root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(TYPE_SPECIFIER_LIST, "TYPE_SPECIFIER_LIST"), root_1);
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:266:31: ( typeQualifier )*
- while ( stream_typeQualifier.hasNext() ) {
- adaptor.addChild(root_1, stream_typeQualifier.nextTree());
- }
- stream_typeQualifier.reset();
-
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:266:46: ( typeSpecifier )*
- while ( stream_typeSpecifier.hasNext() ) {
- adaptor.addChild(root_1, stream_typeSpecifier.nextTree());
- }
- stream_typeSpecifier.reset();
-
- adaptor.addChild(root_0, root_1);
- }
-
- }
-
-
- retval.tree = root_0;
- }
-
- }
-
- retval.stop = input.LT(-1);
-
- if ( state.backtracking==0 ) {
- retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0);
- adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
- }
- }
-
- catch (RecognitionException e) {
- throw e;
- }
-
- finally {
- // do for sure before leaving
- }
- return retval;
- }
- // $ANTLR end "declarationSpecifiers"
-
-
- public static class declaratorList_return extends ParserRuleReturnScope {
- CommonTree tree;
- @Override
- public CommonTree getTree() { return tree; }
- };
-
-
- // $ANTLR start "declaratorList"
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:269:1: declaratorList : declarator ( SEPARATOR declarator )* -> ^( TYPE_DECLARATOR_LIST ( declarator )+ ) ;
- public final CTFParser.declaratorList_return declaratorList() throws RecognitionException {
- CTFParser.declaratorList_return retval = new CTFParser.declaratorList_return();
- retval.start = input.LT(1);
-
- CommonTree root_0 = null;
-
- Token SEPARATOR34=null;
- ParserRuleReturnScope declarator33 =null;
- ParserRuleReturnScope declarator35 =null;
-
- CommonTree SEPARATOR34_tree=null;
- RewriteRuleTokenStream stream_SEPARATOR=new RewriteRuleTokenStream(adaptor,"token SEPARATOR");
- RewriteRuleSubtreeStream stream_declarator=new RewriteRuleSubtreeStream(adaptor,"rule declarator");
-
- try {
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:270:3: ( declarator ( SEPARATOR declarator )* -> ^( TYPE_DECLARATOR_LIST ( declarator )+ ) )
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:270:5: declarator ( SEPARATOR declarator )*
- {
- pushFollow(FOLLOW_declarator_in_declaratorList979);
- declarator33=declarator();
- state._fsp--;
- if (state.failed) return retval;
- if ( state.backtracking==0 ) stream_declarator.add(declarator33.getTree());
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:270:16: ( SEPARATOR declarator )*
- loop14:
- while (true) {
- int alt14=2;
- int LA14_0 = input.LA(1);
- if ( (LA14_0==SEPARATOR) ) {
- alt14=1;
- }
-
- switch (alt14) {
- case 1 :
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:270:17: SEPARATOR declarator
- {
- SEPARATOR34=(Token)match(input,SEPARATOR,FOLLOW_SEPARATOR_in_declaratorList982); if (state.failed) return retval;
- if ( state.backtracking==0 ) stream_SEPARATOR.add(SEPARATOR34);
-
- pushFollow(FOLLOW_declarator_in_declaratorList984);
- declarator35=declarator();
- state._fsp--;
- if (state.failed) return retval;
- if ( state.backtracking==0 ) stream_declarator.add(declarator35.getTree());
- }
- break;
-
- default :
- break loop14;
- }
- }
-
- // AST REWRITE
- // elements: declarator
- // token labels:
- // rule labels: retval
- // token list labels:
- // rule list labels:
- // wildcard labels:
- if ( state.backtracking==0 ) {
- retval.tree = root_0;
- RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
-
- root_0 = (CommonTree)adaptor.nil();
- // 271:7: -> ^( TYPE_DECLARATOR_LIST ( declarator )+ )
- {
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:271:10: ^( TYPE_DECLARATOR_LIST ( declarator )+ )
- {
- CommonTree root_1 = (CommonTree)adaptor.nil();
- root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(TYPE_DECLARATOR_LIST, "TYPE_DECLARATOR_LIST"), root_1);
- if ( !(stream_declarator.hasNext()) ) {
- throw new RewriteEarlyExitException();
- }
- while ( stream_declarator.hasNext() ) {
- adaptor.addChild(root_1, stream_declarator.nextTree());
- }
- stream_declarator.reset();
-
- adaptor.addChild(root_0, root_1);
- }
-
- }
-
-
- retval.tree = root_0;
- }
-
- }
-
- retval.stop = input.LT(-1);
-
- if ( state.backtracking==0 ) {
- retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0);
- adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
- }
- }
-
- catch (RecognitionException e) {
- throw e;
- }
-
- finally {
- // do for sure before leaving
- }
- return retval;
- }
- // $ANTLR end "declaratorList"
-
-
- public static class abstractDeclaratorList_return extends ParserRuleReturnScope {
- CommonTree tree;
- @Override
- public CommonTree getTree() { return tree; }
- };
-
-
- // $ANTLR start "abstractDeclaratorList"
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:274:1: abstractDeclaratorList : abstractDeclarator ( SEPARATOR abstractDeclarator )* -> ^( TYPE_DECLARATOR_LIST ( abstractDeclarator )+ ) ;
- public final CTFParser.abstractDeclaratorList_return abstractDeclaratorList() throws RecognitionException {
- CTFParser.abstractDeclaratorList_return retval = new CTFParser.abstractDeclaratorList_return();
- retval.start = input.LT(1);
-
- CommonTree root_0 = null;
-
- Token SEPARATOR37=null;
- ParserRuleReturnScope abstractDeclarator36 =null;
- ParserRuleReturnScope abstractDeclarator38 =null;
-
- CommonTree SEPARATOR37_tree=null;
- RewriteRuleTokenStream stream_SEPARATOR=new RewriteRuleTokenStream(adaptor,"token SEPARATOR");
- RewriteRuleSubtreeStream stream_abstractDeclarator=new RewriteRuleSubtreeStream(adaptor,"rule abstractDeclarator");
-
- try {
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:275:3: ( abstractDeclarator ( SEPARATOR abstractDeclarator )* -> ^( TYPE_DECLARATOR_LIST ( abstractDeclarator )+ ) )
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:275:5: abstractDeclarator ( SEPARATOR abstractDeclarator )*
- {
- pushFollow(FOLLOW_abstractDeclarator_in_abstractDeclaratorList1014);
- abstractDeclarator36=abstractDeclarator();
- state._fsp--;
- if (state.failed) return retval;
- if ( state.backtracking==0 ) stream_abstractDeclarator.add(abstractDeclarator36.getTree());
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:275:24: ( SEPARATOR abstractDeclarator )*
- loop15:
- while (true) {
- int alt15=2;
- int LA15_0 = input.LA(1);
- if ( (LA15_0==SEPARATOR) ) {
- alt15=1;
- }
-
- switch (alt15) {
- case 1 :
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:275:25: SEPARATOR abstractDeclarator
- {
- SEPARATOR37=(Token)match(input,SEPARATOR,FOLLOW_SEPARATOR_in_abstractDeclaratorList1017); if (state.failed) return retval;
- if ( state.backtracking==0 ) stream_SEPARATOR.add(SEPARATOR37);
-
- pushFollow(FOLLOW_abstractDeclarator_in_abstractDeclaratorList1019);
- abstractDeclarator38=abstractDeclarator();
- state._fsp--;
- if (state.failed) return retval;
- if ( state.backtracking==0 ) stream_abstractDeclarator.add(abstractDeclarator38.getTree());
- }
- break;
-
- default :
- break loop15;
- }
- }
-
- // AST REWRITE
- // elements: abstractDeclarator
- // token labels:
- // rule labels: retval
- // token list labels:
- // rule list labels:
- // wildcard labels:
- if ( state.backtracking==0 ) {
- retval.tree = root_0;
- RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
-
- root_0 = (CommonTree)adaptor.nil();
- // 276:7: -> ^( TYPE_DECLARATOR_LIST ( abstractDeclarator )+ )
- {
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:276:10: ^( TYPE_DECLARATOR_LIST ( abstractDeclarator )+ )
- {
- CommonTree root_1 = (CommonTree)adaptor.nil();
- root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(TYPE_DECLARATOR_LIST, "TYPE_DECLARATOR_LIST"), root_1);
- if ( !(stream_abstractDeclarator.hasNext()) ) {
- throw new RewriteEarlyExitException();
- }
- while ( stream_abstractDeclarator.hasNext() ) {
- adaptor.addChild(root_1, stream_abstractDeclarator.nextTree());
- }
- stream_abstractDeclarator.reset();
-
- adaptor.addChild(root_0, root_1);
- }
-
- }
-
-
- retval.tree = root_0;
- }
-
- }
-
- retval.stop = input.LT(-1);
-
- if ( state.backtracking==0 ) {
- retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0);
- adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
- }
- }
-
- catch (RecognitionException e) {
- throw e;
- }
-
- finally {
- // do for sure before leaving
- }
- return retval;
- }
- // $ANTLR end "abstractDeclaratorList"
-
-
- public static class storageClassSpecifier_return extends ParserRuleReturnScope {
- CommonTree tree;
- @Override
- public CommonTree getTree() { return tree; }
- };
-
-
- // $ANTLR start "storageClassSpecifier"
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:279:1: storageClassSpecifier : TYPEDEFTOK ;
- public final CTFParser.storageClassSpecifier_return storageClassSpecifier() throws RecognitionException {
- CTFParser.storageClassSpecifier_return retval = new CTFParser.storageClassSpecifier_return();
- retval.start = input.LT(1);
-
- CommonTree root_0 = null;
-
- Token TYPEDEFTOK39=null;
-
- CommonTree TYPEDEFTOK39_tree=null;
-
- try {
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:280:3: ( TYPEDEFTOK )
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:280:5: TYPEDEFTOK
- {
- root_0 = (CommonTree)adaptor.nil();
-
-
- TYPEDEFTOK39=(Token)match(input,TYPEDEFTOK,FOLLOW_TYPEDEFTOK_in_storageClassSpecifier1049); if (state.failed) return retval;
- if ( state.backtracking==0 ) {
- TYPEDEFTOK39_tree = (CommonTree)adaptor.create(TYPEDEFTOK39);
- adaptor.addChild(root_0, TYPEDEFTOK39_tree);
- }
-
- if ( state.backtracking==0 ) { typedefOn(); }
- }
-
- retval.stop = input.LT(-1);
-
- if ( state.backtracking==0 ) {
- retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0);
- adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
- }
- }
-
- catch (RecognitionException e) {
- throw e;
- }
-
- finally {
- // do for sure before leaving
- }
- return retval;
- }
- // $ANTLR end "storageClassSpecifier"
-
-
- public static class typeSpecifier_return extends ParserRuleReturnScope {
- CommonTree tree;
- @Override
- public CommonTree getTree() { return tree; }
- };
-
-
- // $ANTLR start "typeSpecifier"
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:283:1: typeSpecifier : ( FLOATTOK | INTTOK | LONGTOK | SHORTTOK | SIGNEDTOK | UNSIGNEDTOK | CHARTOK | DOUBLETOK | VOIDTOK | BOOLTOK | COMPLEXTOK | IMAGINARYTOK | structSpecifier | variantSpecifier | enumSpecifier | ctfTypeSpecifier |{...}? => typedefName );
- public final CTFParser.typeSpecifier_return typeSpecifier() throws RecognitionException {
- CTFParser.typeSpecifier_return retval = new CTFParser.typeSpecifier_return();
- retval.start = input.LT(1);
-
- CommonTree root_0 = null;
-
- Token FLOATTOK40=null;
- Token INTTOK41=null;
- Token LONGTOK42=null;
- Token SHORTTOK43=null;
- Token SIGNEDTOK44=null;
- Token UNSIGNEDTOK45=null;
- Token CHARTOK46=null;
- Token DOUBLETOK47=null;
- Token VOIDTOK48=null;
- Token BOOLTOK49=null;
- Token COMPLEXTOK50=null;
- Token IMAGINARYTOK51=null;
- ParserRuleReturnScope structSpecifier52 =null;
- ParserRuleReturnScope variantSpecifier53 =null;
- ParserRuleReturnScope enumSpecifier54 =null;
- ParserRuleReturnScope ctfTypeSpecifier55 =null;
- ParserRuleReturnScope typedefName56 =null;
-
- CommonTree FLOATTOK40_tree=null;
- CommonTree INTTOK41_tree=null;
- CommonTree LONGTOK42_tree=null;
- CommonTree SHORTTOK43_tree=null;
- CommonTree SIGNEDTOK44_tree=null;
- CommonTree UNSIGNEDTOK45_tree=null;
- CommonTree CHARTOK46_tree=null;
- CommonTree DOUBLETOK47_tree=null;
- CommonTree VOIDTOK48_tree=null;
- CommonTree BOOLTOK49_tree=null;
- CommonTree COMPLEXTOK50_tree=null;
- CommonTree IMAGINARYTOK51_tree=null;
-
- try {
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:284:3: ( FLOATTOK | INTTOK | LONGTOK | SHORTTOK | SIGNEDTOK | UNSIGNEDTOK | CHARTOK | DOUBLETOK | VOIDTOK | BOOLTOK | COMPLEXTOK | IMAGINARYTOK | structSpecifier | variantSpecifier | enumSpecifier | ctfTypeSpecifier |{...}? => typedefName )
- int alt16=17;
- int LA16_0 = input.LA(1);
- if ( (LA16_0==FLOATTOK) ) {
- alt16=1;
- }
- else if ( (LA16_0==INTTOK) ) {
- alt16=2;
- }
- else if ( (LA16_0==LONGTOK) ) {
- alt16=3;
- }
- else if ( (LA16_0==SHORTTOK) ) {
- alt16=4;
- }
- else if ( (LA16_0==SIGNEDTOK) ) {
- alt16=5;
- }
- else if ( (LA16_0==UNSIGNEDTOK) ) {
- alt16=6;
- }
- else if ( (LA16_0==CHARTOK) ) {
- alt16=7;
- }
- else if ( (LA16_0==DOUBLETOK) ) {
- alt16=8;
- }
- else if ( (LA16_0==VOIDTOK) ) {
- alt16=9;
- }
- else if ( (LA16_0==BOOLTOK) ) {
- alt16=10;
- }
- else if ( (LA16_0==COMPLEXTOK) ) {
- alt16=11;
- }
- else if ( (LA16_0==IMAGINARYTOK) ) {
- alt16=12;
- }
- else if ( (LA16_0==STRUCTTOK) ) {
- alt16=13;
- }
- else if ( (LA16_0==VARIANTTOK) ) {
- alt16=14;
- }
- else if ( (LA16_0==ENUMTOK) ) {
- alt16=15;
- }
- else if ( (LA16_0==FLOATINGPOINTTOK||LA16_0==INTEGERTOK||LA16_0==STRINGTOK) ) {
- alt16=16;
- }
- else if ( (LA16_0==IDENTIFIER) && (( inTypealiasAlias() || isTypeName(input.LT(1).getText()) ))) {
- alt16=17;
- }
-
- switch (alt16) {
- case 1 :
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:284:5: FLOATTOK
- {
- root_0 = (CommonTree)adaptor.nil();
-
-
- FLOATTOK40=(Token)match(input,FLOATTOK,FOLLOW_FLOATTOK_in_typeSpecifier1065); if (state.failed) return retval;
- if ( state.backtracking==0 ) {
- FLOATTOK40_tree = (CommonTree)adaptor.create(FLOATTOK40);
- adaptor.addChild(root_0, FLOATTOK40_tree);
- }
-
- }
- break;
- case 2 :
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:285:5: INTTOK
- {
- root_0 = (CommonTree)adaptor.nil();
-
-
- INTTOK41=(Token)match(input,INTTOK,FOLLOW_INTTOK_in_typeSpecifier1071); if (state.failed) return retval;
- if ( state.backtracking==0 ) {
- INTTOK41_tree = (CommonTree)adaptor.create(INTTOK41);
- adaptor.addChild(root_0, INTTOK41_tree);
- }
-
- }
- break;
- case 3 :
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:286:5: LONGTOK
- {
- root_0 = (CommonTree)adaptor.nil();
-
-
- LONGTOK42=(Token)match(input,LONGTOK,FOLLOW_LONGTOK_in_typeSpecifier1077); if (state.failed) return retval;
- if ( state.backtracking==0 ) {
- LONGTOK42_tree = (CommonTree)adaptor.create(LONGTOK42);
- adaptor.addChild(root_0, LONGTOK42_tree);
- }
-
- }
- break;
- case 4 :
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:287:5: SHORTTOK
- {
- root_0 = (CommonTree)adaptor.nil();
-
-
- SHORTTOK43=(Token)match(input,SHORTTOK,FOLLOW_SHORTTOK_in_typeSpecifier1083); if (state.failed) return retval;
- if ( state.backtracking==0 ) {
- SHORTTOK43_tree = (CommonTree)adaptor.create(SHORTTOK43);
- adaptor.addChild(root_0, SHORTTOK43_tree);
- }
-
- }
- break;
- case 5 :
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:288:5: SIGNEDTOK
- {
- root_0 = (CommonTree)adaptor.nil();
-
-
- SIGNEDTOK44=(Token)match(input,SIGNEDTOK,FOLLOW_SIGNEDTOK_in_typeSpecifier1089); if (state.failed) return retval;
- if ( state.backtracking==0 ) {
- SIGNEDTOK44_tree = (CommonTree)adaptor.create(SIGNEDTOK44);
- adaptor.addChild(root_0, SIGNEDTOK44_tree);
- }
-
- }
- break;
- case 6 :
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:289:5: UNSIGNEDTOK
- {
- root_0 = (CommonTree)adaptor.nil();
-
-
- UNSIGNEDTOK45=(Token)match(input,UNSIGNEDTOK,FOLLOW_UNSIGNEDTOK_in_typeSpecifier1095); if (state.failed) return retval;
- if ( state.backtracking==0 ) {
- UNSIGNEDTOK45_tree = (CommonTree)adaptor.create(UNSIGNEDTOK45);
- adaptor.addChild(root_0, UNSIGNEDTOK45_tree);
- }
-
- }
- break;
- case 7 :
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:290:5: CHARTOK
- {
- root_0 = (CommonTree)adaptor.nil();
-
-
- CHARTOK46=(Token)match(input,CHARTOK,FOLLOW_CHARTOK_in_typeSpecifier1101); if (state.failed) return retval;
- if ( state.backtracking==0 ) {
- CHARTOK46_tree = (CommonTree)adaptor.create(CHARTOK46);
- adaptor.addChild(root_0, CHARTOK46_tree);
- }
-
- }
- break;
- case 8 :
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:291:5: DOUBLETOK
- {
- root_0 = (CommonTree)adaptor.nil();
-
-
- DOUBLETOK47=(Token)match(input,DOUBLETOK,FOLLOW_DOUBLETOK_in_typeSpecifier1107); if (state.failed) return retval;
- if ( state.backtracking==0 ) {
- DOUBLETOK47_tree = (CommonTree)adaptor.create(DOUBLETOK47);
- adaptor.addChild(root_0, DOUBLETOK47_tree);
- }
-
- }
- break;
- case 9 :
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:292:5: VOIDTOK
- {
- root_0 = (CommonTree)adaptor.nil();
-
-
- VOIDTOK48=(Token)match(input,VOIDTOK,FOLLOW_VOIDTOK_in_typeSpecifier1113); if (state.failed) return retval;
- if ( state.backtracking==0 ) {
- VOIDTOK48_tree = (CommonTree)adaptor.create(VOIDTOK48);
- adaptor.addChild(root_0, VOIDTOK48_tree);
- }
-
- }
- break;
- case 10 :
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:293:5: BOOLTOK
- {
- root_0 = (CommonTree)adaptor.nil();
-
-
- BOOLTOK49=(Token)match(input,BOOLTOK,FOLLOW_BOOLTOK_in_typeSpecifier1119); if (state.failed) return retval;
- if ( state.backtracking==0 ) {
- BOOLTOK49_tree = (CommonTree)adaptor.create(BOOLTOK49);
- adaptor.addChild(root_0, BOOLTOK49_tree);
- }
-
- }
- break;
- case 11 :
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:294:5: COMPLEXTOK
- {
- root_0 = (CommonTree)adaptor.nil();
-
-
- COMPLEXTOK50=(Token)match(input,COMPLEXTOK,FOLLOW_COMPLEXTOK_in_typeSpecifier1125); if (state.failed) return retval;
- if ( state.backtracking==0 ) {
- COMPLEXTOK50_tree = (CommonTree)adaptor.create(COMPLEXTOK50);
- adaptor.addChild(root_0, COMPLEXTOK50_tree);
- }
-
- }
- break;
- case 12 :
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:295:5: IMAGINARYTOK
- {
- root_0 = (CommonTree)adaptor.nil();
-
-
- IMAGINARYTOK51=(Token)match(input,IMAGINARYTOK,FOLLOW_IMAGINARYTOK_in_typeSpecifier1131); if (state.failed) return retval;
- if ( state.backtracking==0 ) {
- IMAGINARYTOK51_tree = (CommonTree)adaptor.create(IMAGINARYTOK51);
- adaptor.addChild(root_0, IMAGINARYTOK51_tree);
- }
-
- }
- break;
- case 13 :
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:296:5: structSpecifier
- {
- root_0 = (CommonTree)adaptor.nil();
-
-
- pushFollow(FOLLOW_structSpecifier_in_typeSpecifier1137);
- structSpecifier52=structSpecifier();
- state._fsp--;
- if (state.failed) return retval;
- if ( state.backtracking==0 ) adaptor.addChild(root_0, structSpecifier52.getTree());
-
- }
- break;
- case 14 :
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:297:5: variantSpecifier
- {
- root_0 = (CommonTree)adaptor.nil();
-
-
- pushFollow(FOLLOW_variantSpecifier_in_typeSpecifier1143);
- variantSpecifier53=variantSpecifier();
- state._fsp--;
- if (state.failed) return retval;
- if ( state.backtracking==0 ) adaptor.addChild(root_0, variantSpecifier53.getTree());
-
- }
- break;
- case 15 :
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:298:5: enumSpecifier
- {
- root_0 = (CommonTree)adaptor.nil();
-
-
- pushFollow(FOLLOW_enumSpecifier_in_typeSpecifier1149);
- enumSpecifier54=enumSpecifier();
- state._fsp--;
- if (state.failed) return retval;
- if ( state.backtracking==0 ) adaptor.addChild(root_0, enumSpecifier54.getTree());
-
- }
- break;
- case 16 :
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:299:5: ctfTypeSpecifier
- {
- root_0 = (CommonTree)adaptor.nil();
-
-
- pushFollow(FOLLOW_ctfTypeSpecifier_in_typeSpecifier1155);
- ctfTypeSpecifier55=ctfTypeSpecifier();
- state._fsp--;
- if (state.failed) return retval;
- if ( state.backtracking==0 ) adaptor.addChild(root_0, ctfTypeSpecifier55.getTree());
-
- }
- break;
- case 17 :
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:300:5: {...}? => typedefName
- {
- root_0 = (CommonTree)adaptor.nil();
-
-
- if ( !(( inTypealiasAlias() || isTypeName(input.LT(1).getText()) )) ) {
- if (state.backtracking>0) {state.failed=true; return retval;}
- throw new FailedPredicateException(input, "typeSpecifier", " inTypealiasAlias() || isTypeName(input.LT(1).getText()) ");
- }
- pushFollow(FOLLOW_typedefName_in_typeSpecifier1165);
- typedefName56=typedefName();
- state._fsp--;
- if (state.failed) return retval;
- if ( state.backtracking==0 ) adaptor.addChild(root_0, typedefName56.getTree());
-
- }
- break;
-
- }
- retval.stop = input.LT(-1);
-
- if ( state.backtracking==0 ) {
- retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0);
- adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
- }
- }
-
- catch (RecognitionException e) {
- throw e;
- }
-
- finally {
- // do for sure before leaving
- }
- return retval;
- }
- // $ANTLR end "typeSpecifier"
-
-
- public static class typeQualifier_return extends ParserRuleReturnScope {
- CommonTree tree;
- @Override
- public CommonTree getTree() { return tree; }
- };
-
-
- // $ANTLR start "typeQualifier"
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:303:1: typeQualifier : CONSTTOK ;
- public final CTFParser.typeQualifier_return typeQualifier() throws RecognitionException {
- CTFParser.typeQualifier_return retval = new CTFParser.typeQualifier_return();
- retval.start = input.LT(1);
-
- CommonTree root_0 = null;
-
- Token CONSTTOK57=null;
-
- CommonTree CONSTTOK57_tree=null;
-
- try {
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:304:3: ( CONSTTOK )
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:304:5: CONSTTOK
- {
- root_0 = (CommonTree)adaptor.nil();
-
-
- CONSTTOK57=(Token)match(input,CONSTTOK,FOLLOW_CONSTTOK_in_typeQualifier1178); if (state.failed) return retval;
- if ( state.backtracking==0 ) {
- CONSTTOK57_tree = (CommonTree)adaptor.create(CONSTTOK57);
- adaptor.addChild(root_0, CONSTTOK57_tree);
- }
-
- }
-
- retval.stop = input.LT(-1);
-
- if ( state.backtracking==0 ) {
- retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0);
- adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
- }
- }
-
- catch (RecognitionException e) {
- throw e;
- }
-
- finally {
- // do for sure before leaving
- }
- return retval;
- }
- // $ANTLR end "typeQualifier"
-
-
- public static class alignAttribute_return extends ParserRuleReturnScope {
- CommonTree tree;
- @Override
- public CommonTree getTree() { return tree; }
- };
-
-
- // $ANTLR start "alignAttribute"
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:307:1: alignAttribute : ALIGNTOK LPAREN unaryExpression RPAREN -> ^( ALIGN unaryExpression ) ;
- public final CTFParser.alignAttribute_return alignAttribute() throws RecognitionException {
- CTFParser.alignAttribute_return retval = new CTFParser.alignAttribute_return();
- retval.start = input.LT(1);
-
- CommonTree root_0 = null;
-
- Token ALIGNTOK58=null;
- Token LPAREN59=null;
- Token RPAREN61=null;
- ParserRuleReturnScope unaryExpression60 =null;
-
- CommonTree ALIGNTOK58_tree=null;
- CommonTree LPAREN59_tree=null;
- CommonTree RPAREN61_tree=null;
- RewriteRuleTokenStream stream_RPAREN=new RewriteRuleTokenStream(adaptor,"token RPAREN");
- RewriteRuleTokenStream stream_ALIGNTOK=new RewriteRuleTokenStream(adaptor,"token ALIGNTOK");
- RewriteRuleTokenStream stream_LPAREN=new RewriteRuleTokenStream(adaptor,"token LPAREN");
- RewriteRuleSubtreeStream stream_unaryExpression=new RewriteRuleSubtreeStream(adaptor,"rule unaryExpression");
-
- try {
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:308:3: ( ALIGNTOK LPAREN unaryExpression RPAREN -> ^( ALIGN unaryExpression ) )
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:308:5: ALIGNTOK LPAREN unaryExpression RPAREN
- {
- ALIGNTOK58=(Token)match(input,ALIGNTOK,FOLLOW_ALIGNTOK_in_alignAttribute1191); if (state.failed) return retval;
- if ( state.backtracking==0 ) stream_ALIGNTOK.add(ALIGNTOK58);
-
- LPAREN59=(Token)match(input,LPAREN,FOLLOW_LPAREN_in_alignAttribute1193); if (state.failed) return retval;
- if ( state.backtracking==0 ) stream_LPAREN.add(LPAREN59);
-
- pushFollow(FOLLOW_unaryExpression_in_alignAttribute1195);
- unaryExpression60=unaryExpression();
- state._fsp--;
- if (state.failed) return retval;
- if ( state.backtracking==0 ) stream_unaryExpression.add(unaryExpression60.getTree());
- RPAREN61=(Token)match(input,RPAREN,FOLLOW_RPAREN_in_alignAttribute1197); if (state.failed) return retval;
- if ( state.backtracking==0 ) stream_RPAREN.add(RPAREN61);
-
- // AST REWRITE
- // elements: unaryExpression
- // token labels:
- // rule labels: retval
- // token list labels:
- // rule list labels:
- // wildcard labels:
- if ( state.backtracking==0 ) {
- retval.tree = root_0;
- RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
-
- root_0 = (CommonTree)adaptor.nil();
- // 308:44: -> ^( ALIGN unaryExpression )
- {
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:308:47: ^( ALIGN unaryExpression )
- {
- CommonTree root_1 = (CommonTree)adaptor.nil();
- root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(ALIGN, "ALIGN"), root_1);
- adaptor.addChild(root_1, stream_unaryExpression.nextTree());
- adaptor.addChild(root_0, root_1);
- }
-
- }
-
-
- retval.tree = root_0;
- }
-
- }
-
- retval.stop = input.LT(-1);
-
- if ( state.backtracking==0 ) {
- retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0);
- adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
- }
- }
-
- catch (RecognitionException e) {
- throw e;
- }
-
- finally {
- // do for sure before leaving
- }
- return retval;
- }
- // $ANTLR end "alignAttribute"
-
-
- public static class structBody_return extends ParserRuleReturnScope {
- CommonTree tree;
- @Override
- public CommonTree getTree() { return tree; }
- };
-
-
- // $ANTLR start "structBody"
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:312:1: structBody : LCURL ( structOrVariantDeclarationList )? RCURL -> ^( STRUCT_BODY ( structOrVariantDeclarationList )? ) ;
- public final CTFParser.structBody_return structBody() throws RecognitionException {
- Symbols_stack.push(new Symbols_scope());
-
- CTFParser.structBody_return retval = new CTFParser.structBody_return();
- retval.start = input.LT(1);
-
- CommonTree root_0 = null;
-
- Token LCURL62=null;
- Token RCURL64=null;
- ParserRuleReturnScope structOrVariantDeclarationList63 =null;
-
- CommonTree LCURL62_tree=null;
- CommonTree RCURL64_tree=null;
- RewriteRuleTokenStream stream_LCURL=new RewriteRuleTokenStream(adaptor,"token LCURL");
- RewriteRuleTokenStream stream_RCURL=new RewriteRuleTokenStream(adaptor,"token RCURL");
- RewriteRuleSubtreeStream stream_structOrVariantDeclarationList=new RewriteRuleSubtreeStream(adaptor,"rule structOrVariantDeclarationList");
-
-
- Symbols_stack.peek().types = new HashSet<String>();
-
- try {
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:317:3: ( LCURL ( structOrVariantDeclarationList )? RCURL -> ^( STRUCT_BODY ( structOrVariantDeclarationList )? ) )
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:317:5: LCURL ( structOrVariantDeclarationList )? RCURL
- {
- LCURL62=(Token)match(input,LCURL,FOLLOW_LCURL_in_structBody1231); if (state.failed) return retval;
- if ( state.backtracking==0 ) stream_LCURL.add(LCURL62);
-
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:317:11: ( structOrVariantDeclarationList )?
- int alt17=2;
- int LA17_0 = input.LA(1);
- if ( (LA17_0==BOOLTOK||LA17_0==CHARTOK||(LA17_0 >= COMPLEXTOK && LA17_0 <= CONSTTOK)||LA17_0==DOUBLETOK||LA17_0==ENUMTOK||(LA17_0 >= FLOATINGPOINTTOK && LA17_0 <= FLOATTOK)||LA17_0==IMAGINARYTOK||LA17_0==INTEGERTOK||LA17_0==INTTOK||LA17_0==LONGTOK||LA17_0==SHORTTOK||LA17_0==SIGNEDTOK||LA17_0==STRINGTOK||LA17_0==STRUCTTOK||LA17_0==TYPEDEFTOK||(LA17_0 >= UNSIGNEDTOK && LA17_0 <= VOIDTOK)) ) {
- alt17=1;
- }
- else if ( (LA17_0==IDENTIFIER) && (( inTypealiasAlias() || isTypeName(input.LT(1).getText()) ))) {
- alt17=1;
- }
- else if ( (LA17_0==TYPEALIASTOK) ) {
- alt17=1;
- }
- switch (alt17) {
- case 1 :
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:317:11: structOrVariantDeclarationList
- {
- pushFollow(FOLLOW_structOrVariantDeclarationList_in_structBody1233);
- structOrVariantDeclarationList63=structOrVariantDeclarationList();
- state._fsp--;
- if (state.failed) return retval;
- if ( state.backtracking==0 ) stream_structOrVariantDeclarationList.add(structOrVariantDeclarationList63.getTree());
- }
- break;
-
- }
-
- RCURL64=(Token)match(input,RCURL,FOLLOW_RCURL_in_structBody1236); if (state.failed) return retval;
- if ( state.backtracking==0 ) stream_RCURL.add(RCURL64);
-
- // AST REWRITE
- // elements: structOrVariantDeclarationList
- // token labels:
- // rule labels: retval
- // token list labels:
- // rule list labels:
- // wildcard labels:
- if ( state.backtracking==0 ) {
- retval.tree = root_0;
- RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
-
- root_0 = (CommonTree)adaptor.nil();
- // 318:7: -> ^( STRUCT_BODY ( structOrVariantDeclarationList )? )
- {
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:318:10: ^( STRUCT_BODY ( structOrVariantDeclarationList )? )
- {
- CommonTree root_1 = (CommonTree)adaptor.nil();
- root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(STRUCT_BODY, "STRUCT_BODY"), root_1);
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:318:24: ( structOrVariantDeclarationList )?
- if ( stream_structOrVariantDeclarationList.hasNext() ) {
- adaptor.addChild(root_1, stream_structOrVariantDeclarationList.nextTree());
- }
- stream_structOrVariantDeclarationList.reset();
-
- adaptor.addChild(root_0, root_1);
- }
-
- }
-
-
- retval.tree = root_0;
- }
-
- }
-
- retval.stop = input.LT(-1);
-
- if ( state.backtracking==0 ) {
- retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0);
- adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
- }
- }
-
- catch (RecognitionException e) {
- throw e;
- }
-
- finally {
- // do for sure before leaving
- Symbols_stack.pop();
-
- }
- return retval;
- }
- // $ANTLR end "structBody"
-
-
- public static class structSpecifier_return extends ParserRuleReturnScope {
- CommonTree tree;
- @Override
- public CommonTree getTree() { return tree; }
- };
-
-
- // $ANTLR start "structSpecifier"
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:321:1: structSpecifier : STRUCTTOK ( ( structName ( alignAttribute | ( structBody ( alignAttribute |) ) |) ) | ( structBody ( alignAttribute |) ) ) -> ^( STRUCT ( structName )? ( structBody )? ( alignAttribute )? ) ;
- public final CTFParser.structSpecifier_return structSpecifier() throws RecognitionException {
- CTFParser.structSpecifier_return retval = new CTFParser.structSpecifier_return();
- retval.start = input.LT(1);
-
- CommonTree root_0 = null;
-
- Token STRUCTTOK65=null;
- ParserRuleReturnScope structName66 =null;
- ParserRuleReturnScope alignAttribute67 =null;
- ParserRuleReturnScope structBody68 =null;
- ParserRuleReturnScope alignAttribute69 =null;
- ParserRuleReturnScope structBody70 =null;
- ParserRuleReturnScope alignAttribute71 =null;
-
- CommonTree STRUCTTOK65_tree=null;
- RewriteRuleTokenStream stream_STRUCTTOK=new RewriteRuleTokenStream(adaptor,"token STRUCTTOK");
- RewriteRuleSubtreeStream stream_structName=new RewriteRuleSubtreeStream(adaptor,"rule structName");
- RewriteRuleSubtreeStream stream_structBody=new RewriteRuleSubtreeStream(adaptor,"rule structBody");
- RewriteRuleSubtreeStream stream_alignAttribute=new RewriteRuleSubtreeStream(adaptor,"rule alignAttribute");
-
- try {
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:322:3: ( STRUCTTOK ( ( structName ( alignAttribute | ( structBody ( alignAttribute |) ) |) ) | ( structBody ( alignAttribute |) ) ) -> ^( STRUCT ( structName )? ( structBody )? ( alignAttribute )? ) )
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:322:5: STRUCTTOK ( ( structName ( alignAttribute | ( structBody ( alignAttribute |) ) |) ) | ( structBody ( alignAttribute |) ) )
- {
- STRUCTTOK65=(Token)match(input,STRUCTTOK,FOLLOW_STRUCTTOK_in_structSpecifier1264); if (state.failed) return retval;
- if ( state.backtracking==0 ) stream_STRUCTTOK.add(STRUCTTOK65);
-
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:323:3: ( ( structName ( alignAttribute | ( structBody ( alignAttribute |) ) |) ) | ( structBody ( alignAttribute |) ) )
- int alt21=2;
- int LA21_0 = input.LA(1);
- if ( (LA21_0==IDENTIFIER) ) {
- alt21=1;
- }
- else if ( (LA21_0==LCURL) ) {
- alt21=2;
- }
-
- else {
- if (state.backtracking>0) {state.failed=true; return retval;}
- NoViableAltException nvae =
- new NoViableAltException("", 21, 0, input);
- throw nvae;
- }
-
- switch (alt21) {
- case 1 :
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:325:5: ( structName ( alignAttribute | ( structBody ( alignAttribute |) ) |) )
- {
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:325:5: ( structName ( alignAttribute | ( structBody ( alignAttribute |) ) |) )
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:326:9: structName ( alignAttribute | ( structBody ( alignAttribute |) ) |)
- {
- pushFollow(FOLLOW_structName_in_structSpecifier1289);
- structName66=structName();
- state._fsp--;
- if (state.failed) return retval;
- if ( state.backtracking==0 ) stream_structName.add(structName66.getTree());
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:327:9: ( alignAttribute | ( structBody ( alignAttribute |) ) |)
- int alt19=3;
- switch ( input.LA(1) ) {
- case ALIGNTOK:
- {
- alt19=1;
- }
- break;
- case LCURL:
- {
- switch ( input.LA(2) ) {
- case BOOLTOK:
- case CHARTOK:
- case COMPLEXTOK:
- case CONSTTOK:
- case DOUBLETOK:
- case ENUMTOK:
- case FLOATINGPOINTTOK:
- case FLOATTOK:
- case IMAGINARYTOK:
- case INTEGERTOK:
- case INTTOK:
- case LONGTOK:
- case RCURL:
- case SHORTTOK:
- case STRUCTTOK:
- case TYPEALIASTOK:
- case TYPEDEFTOK:
- case UNSIGNEDTOK:
- case VARIANTTOK:
- case VOIDTOK:
- {
- alt19=2;
- }
- break;
- case SIGNEDTOK:
- {
- int LA19_5 = input.LA(3);
- if ( (LA19_5==BOOLTOK||LA19_5==CHARTOK||(LA19_5 >= COMPLEXTOK && LA19_5 <= CONSTTOK)||LA19_5==DOUBLETOK||LA19_5==ENUMTOK||(LA19_5 >= FLOATINGPOINTTOK && LA19_5 <= FLOATTOK)||(LA19_5 >= IDENTIFIER && LA19_5 <= IMAGINARYTOK)||LA19_5==INTEGERTOK||LA19_5==INTTOK||LA19_5==LONGTOK||LA19_5==POINTER||LA19_5==SHORTTOK||LA19_5==SIGNEDTOK||LA19_5==STRINGTOK||LA19_5==STRUCTTOK||LA19_5==TYPEDEFTOK||(LA19_5 >= UNSIGNEDTOK && LA19_5 <= VOIDTOK)) ) {
- alt19=2;
- }
- else if ( (LA19_5==ASSIGNMENT||LA19_5==RCURL||LA19_5==SEPARATOR) ) {
- alt19=3;
- }
-
- else {
- if (state.backtracking>0) {state.failed=true; return retval;}
- int nvaeMark = input.mark();
- try {
- for (int nvaeConsume = 0; nvaeConsume < 3 - 1; nvaeConsume++) {
- input.consume();
- }
- NoViableAltException nvae =
- new NoViableAltException("", 19, 5, input);
- throw nvae;
- } finally {
- input.rewind(nvaeMark);
- }
- }
-
- }
- break;
- case STRINGTOK:
- {
- int LA19_6 = input.LA(3);
- if ( (LA19_6==BOOLTOK||LA19_6==CHARTOK||(LA19_6 >= COMPLEXTOK && LA19_6 <= CONSTTOK)||LA19_6==DOUBLETOK||LA19_6==ENUMTOK||(LA19_6 >= FLOATINGPOINTTOK && LA19_6 <= FLOATTOK)||(LA19_6 >= IDENTIFIER && LA19_6 <= IMAGINARYTOK)||LA19_6==INTEGERTOK||(LA19_6 >= INTTOK && LA19_6 <= LCURL)||LA19_6==LONGTOK||LA19_6==POINTER||LA19_6==SHORTTOK||LA19_6==SIGNEDTOK||LA19_6==STRINGTOK||LA19_6==STRUCTTOK||LA19_6==TYPEDEFTOK||(LA19_6 >= UNSIGNEDTOK && LA19_6 <= VOIDTOK)) ) {
- alt19=2;
- }
- else if ( (LA19_6==ASSIGNMENT||LA19_6==RCURL||LA19_6==SEPARATOR) ) {
- alt19=3;
- }
-
- else {
- if (state.backtracking>0) {state.failed=true; return retval;}
- int nvaeMark = input.mark();
- try {
- for (int nvaeConsume = 0; nvaeConsume < 3 - 1; nvaeConsume++) {
- input.consume();
- }
- NoViableAltException nvae =
- new NoViableAltException("", 19, 6, input);
- throw nvae;
- } finally {
- input.rewind(nvaeMark);
- }
- }
-
- }
- break;
- case IDENTIFIER:
- {
- int LA19_7 = input.LA(3);
- if ( (LA19_7==BOOLTOK||LA19_7==CHARTOK||(LA19_7 >= COMPLEXTOK && LA19_7 <= CONSTTOK)||LA19_7==DOUBLETOK||LA19_7==ENUMTOK||(LA19_7 >= FLOATINGPOINTTOK && LA19_7 <= FLOATTOK)||(LA19_7 >= IDENTIFIER && LA19_7 <= IMAGINARYTOK)||LA19_7==INTEGERTOK||LA19_7==INTTOK||LA19_7==LONGTOK||LA19_7==POINTER||LA19_7==SHORTTOK||LA19_7==SIGNEDTOK||LA19_7==STRINGTOK||LA19_7==STRUCTTOK||LA19_7==TYPEDEFTOK||(LA19_7 >= UNSIGNEDTOK && LA19_7 <= VOIDTOK)) ) {
- alt19=2;
- }
- else if ( (LA19_7==ASSIGNMENT||LA19_7==RCURL||LA19_7==SEPARATOR) ) {
- alt19=3;
- }
-
- else {
- if (state.backtracking>0) {state.failed=true; return retval;}
- int nvaeMark = input.mark();
- try {
- for (int nvaeConsume = 0; nvaeConsume < 3 - 1; nvaeConsume++) {
- input.consume();
- }
- NoViableAltException nvae =
- new NoViableAltException("", 19, 7, input);
- throw nvae;
- } finally {
- input.rewind(nvaeMark);
- }
- }
-
- }
- break;
- case ALIGNTOK:
- case EVENTTOK:
- case STRING_LITERAL:
- {
- alt19=3;
- }
- break;
- default:
- if (state.backtracking>0) {state.failed=true; return retval;}
- int nvaeMark = input.mark();
- try {
- input.consume();
- NoViableAltException nvae =
- new NoViableAltException("", 19, 2, input);
- throw nvae;
- } finally {
- input.rewind(nvaeMark);
- }
- }
- }
- break;
- case EOF:
- case BOOLTOK:
- case CHARTOK:
- case COMPLEXTOK:
- case CONSTTOK:
- case DOUBLETOK:
- case ENUMTOK:
- case FLOATINGPOINTTOK:
- case FLOATTOK:
- case IDENTIFIER:
- case IMAGINARYTOK:
- case INTEGERTOK:
- case INTTOK:
- case LONGTOK:
- case LPAREN:
- case POINTER:
- case SHORTTOK:
- case SIGNEDTOK:
- case STRINGTOK:
- case STRUCTTOK:
- case TERM:
- case TYPEDEFTOK:
- case TYPE_ASSIGNMENT:
- case UNSIGNEDTOK:
- case VARIANTTOK:
- case VOIDTOK:
- {
- alt19=3;
- }
- break;
- default:
- if (state.backtracking>0) {state.failed=true; return retval;}
- NoViableAltException nvae =
- new NoViableAltException("", 19, 0, input);
- throw nvae;
- }
- switch (alt19) {
- case 1 :
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:328:11: alignAttribute
- {
- pushFollow(FOLLOW_alignAttribute_in_structSpecifier1311);
- alignAttribute67=alignAttribute();
- state._fsp--;
- if (state.failed) return retval;
- if ( state.backtracking==0 ) stream_alignAttribute.add(alignAttribute67.getTree());
- }
- break;
- case 2 :
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:330:11: ( structBody ( alignAttribute |) )
- {
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:330:11: ( structBody ( alignAttribute |) )
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:331:13: structBody ( alignAttribute |)
- {
- pushFollow(FOLLOW_structBody_in_structSpecifier1347);
- structBody68=structBody();
- state._fsp--;
- if (state.failed) return retval;
- if ( state.backtracking==0 ) stream_structBody.add(structBody68.getTree());
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:332:13: ( alignAttribute |)
- int alt18=2;
- int LA18_0 = input.LA(1);
- if ( (LA18_0==ALIGNTOK) ) {
- alt18=1;
- }
- else if ( (LA18_0==EOF||LA18_0==BOOLTOK||LA18_0==CHARTOK||(LA18_0 >= COMPLEXTOK && LA18_0 <= CONSTTOK)||LA18_0==DOUBLETOK||LA18_0==ENUMTOK||(LA18_0 >= FLOATINGPOINTTOK && LA18_0 <= FLOATTOK)||(LA18_0 >= IDENTIFIER && LA18_0 <= IMAGINARYTOK)||LA18_0==INTEGERTOK||(LA18_0 >= INTTOK && LA18_0 <= LCURL)||(LA18_0 >= LONGTOK && LA18_0 <= LPAREN)||LA18_0==POINTER||LA18_0==SHORTTOK||LA18_0==SIGNEDTOK||LA18_0==STRINGTOK||(LA18_0 >= STRUCTTOK && LA18_0 <= TERM)||(LA18_0 >= TYPEDEFTOK && LA18_0 <= TYPE_ASSIGNMENT)||(LA18_0 >= UNSIGNEDTOK && LA18_0 <= VOIDTOK)) ) {
- alt18=2;
- }
-
- else {
- if (state.backtracking>0) {state.failed=true; return retval;}
- NoViableAltException nvae =
- new NoViableAltException("", 18, 0, input);
- throw nvae;
- }
-
- switch (alt18) {
- case 1 :
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:333:14: alignAttribute
- {
- pushFollow(FOLLOW_alignAttribute_in_structSpecifier1378);
- alignAttribute69=alignAttribute();
- state._fsp--;
- if (state.failed) return retval;
- if ( state.backtracking==0 ) stream_alignAttribute.add(alignAttribute69.getTree());
- }
- break;
- case 2 :
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:336:13:
- {
- }
- break;
-
- }
-
- }
-
- }
- break;
- case 3 :
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:340:9:
- {
- }
- break;
-
- }
-
- }
-
- }
- break;
- case 2 :
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:344:5: ( structBody ( alignAttribute |) )
- {
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:344:5: ( structBody ( alignAttribute |) )
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:345:7: structBody ( alignAttribute |)
- {
- pushFollow(FOLLOW_structBody_in_structSpecifier1494);
- structBody70=structBody();
- state._fsp--;
- if (state.failed) return retval;
- if ( state.backtracking==0 ) stream_structBody.add(structBody70.getTree());
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:346:7: ( alignAttribute |)
- int alt20=2;
- int LA20_0 = input.LA(1);
- if ( (LA20_0==ALIGNTOK) ) {
- alt20=1;
- }
- else if ( (LA20_0==EOF||LA20_0==BOOLTOK||LA20_0==CHARTOK||(LA20_0 >= COMPLEXTOK && LA20_0 <= CONSTTOK)||LA20_0==DOUBLETOK||LA20_0==ENUMTOK||(LA20_0 >= FLOATINGPOINTTOK && LA20_0 <= FLOATTOK)||(LA20_0 >= IDENTIFIER && LA20_0 <= IMAGINARYTOK)||LA20_0==INTEGERTOK||(LA20_0 >= INTTOK && LA20_0 <= LCURL)||(LA20_0 >= LONGTOK && LA20_0 <= LPAREN)||LA20_0==POINTER||LA20_0==SHORTTOK||LA20_0==SIGNEDTOK||LA20_0==STRINGTOK||(LA20_0 >= STRUCTTOK && LA20_0 <= TERM)||(LA20_0 >= TYPEDEFTOK && LA20_0 <= TYPE_ASSIGNMENT)||(LA20_0 >= UNSIGNEDTOK && LA20_0 <= VOIDTOK)) ) {
- alt20=2;
- }
-
- else {
- if (state.backtracking>0) {state.failed=true; return retval;}
- NoViableAltException nvae =
- new NoViableAltException("", 20, 0, input);
- throw nvae;
- }
-
- switch (alt20) {
- case 1 :
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:347:9: alignAttribute
- {
- pushFollow(FOLLOW_alignAttribute_in_structSpecifier1512);
- alignAttribute71=alignAttribute();
- state._fsp--;
- if (state.failed) return retval;
- if ( state.backtracking==0 ) stream_alignAttribute.add(alignAttribute71.getTree());
- }
- break;
- case 2 :
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:350:7:
- {
- }
- break;
-
- }
-
- }
-
- }
- break;
-
- }
-
- // AST REWRITE
- // elements: structName, structBody, alignAttribute
- // token labels:
- // rule labels: retval
- // token list labels:
- // rule list labels:
- // wildcard labels:
- if ( state.backtracking==0 ) {
- retval.tree = root_0;
- RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
-
- root_0 = (CommonTree)adaptor.nil();
- // 352:5: -> ^( STRUCT ( structName )? ( structBody )? ( alignAttribute )? )
- {
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:352:8: ^( STRUCT ( structName )? ( structBody )? ( alignAttribute )? )
- {
- CommonTree root_1 = (CommonTree)adaptor.nil();
- root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(STRUCT, "STRUCT"), root_1);
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:352:17: ( structName )?
- if ( stream_structName.hasNext() ) {
- adaptor.addChild(root_1, stream_structName.nextTree());
- }
- stream_structName.reset();
-
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:352:29: ( structBody )?
- if ( stream_structBody.hasNext() ) {
- adaptor.addChild(root_1, stream_structBody.nextTree());
- }
- stream_structBody.reset();
-
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:352:41: ( alignAttribute )?
- if ( stream_alignAttribute.hasNext() ) {
- adaptor.addChild(root_1, stream_alignAttribute.nextTree());
- }
- stream_alignAttribute.reset();
-
- adaptor.addChild(root_0, root_1);
- }
-
- }
-
-
- retval.tree = root_0;
- }
-
- }
-
- retval.stop = input.LT(-1);
-
- if ( state.backtracking==0 ) {
- retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0);
- adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
- }
- }
-
- catch (RecognitionException e) {
- throw e;
- }
-
- finally {
- // do for sure before leaving
- }
- return retval;
- }
- // $ANTLR end "structSpecifier"
-
-
- public static class structName_return extends ParserRuleReturnScope {
- CommonTree tree;
- @Override
- public CommonTree getTree() { return tree; }
- };
-
-
- // $ANTLR start "structName"
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:355:1: structName : IDENTIFIER -> ^( STRUCT_NAME IDENTIFIER ) ;
- public final CTFParser.structName_return structName() throws RecognitionException {
- CTFParser.structName_return retval = new CTFParser.structName_return();
- retval.start = input.LT(1);
-
- CommonTree root_0 = null;
-
- Token IDENTIFIER72=null;
-
- CommonTree IDENTIFIER72_tree=null;
- RewriteRuleTokenStream stream_IDENTIFIER=new RewriteRuleTokenStream(adaptor,"token IDENTIFIER");
-
- try {
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:356:3: ( IDENTIFIER -> ^( STRUCT_NAME IDENTIFIER ) )
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:356:5: IDENTIFIER
- {
- IDENTIFIER72=(Token)match(input,IDENTIFIER,FOLLOW_IDENTIFIER_in_structName1578); if (state.failed) return retval;
- if ( state.backtracking==0 ) stream_IDENTIFIER.add(IDENTIFIER72);
-
- // AST REWRITE
- // elements: IDENTIFIER
- // token labels:
- // rule labels: retval
- // token list labels:
- // rule list labels:
- // wildcard labels:
- if ( state.backtracking==0 ) {
- retval.tree = root_0;
- RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
-
- root_0 = (CommonTree)adaptor.nil();
- // 356:16: -> ^( STRUCT_NAME IDENTIFIER )
- {
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:356:19: ^( STRUCT_NAME IDENTIFIER )
- {
- CommonTree root_1 = (CommonTree)adaptor.nil();
- root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(STRUCT_NAME, "STRUCT_NAME"), root_1);
- adaptor.addChild(root_1, stream_IDENTIFIER.nextNode());
- adaptor.addChild(root_0, root_1);
- }
-
- }
-
-
- retval.tree = root_0;
- }
-
- }
-
- retval.stop = input.LT(-1);
-
- if ( state.backtracking==0 ) {
- retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0);
- adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
- }
- }
-
- catch (RecognitionException e) {
- throw e;
- }
-
- finally {
- // do for sure before leaving
- }
- return retval;
- }
- // $ANTLR end "structName"
-
-
- public static class structOrVariantDeclarationList_return extends ParserRuleReturnScope {
- CommonTree tree;
- @Override
- public CommonTree getTree() { return tree; }
- };
-
-
- // $ANTLR start "structOrVariantDeclarationList"
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:359:1: structOrVariantDeclarationList : ( structOrVariantDeclaration )+ ;
- public final CTFParser.structOrVariantDeclarationList_return structOrVariantDeclarationList() throws RecognitionException {
- CTFParser.structOrVariantDeclarationList_return retval = new CTFParser.structOrVariantDeclarationList_return();
- retval.start = input.LT(1);
-
- CommonTree root_0 = null;
-
- ParserRuleReturnScope structOrVariantDeclaration73 =null;
-
-
- try {
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:360:3: ( ( structOrVariantDeclaration )+ )
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:360:5: ( structOrVariantDeclaration )+
- {
- root_0 = (CommonTree)adaptor.nil();
-
-
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:360:5: ( structOrVariantDeclaration )+
- int cnt22=0;
- loop22:
- while (true) {
- int alt22=2;
- int LA22_0 = input.LA(1);
- if ( (LA22_0==BOOLTOK||LA22_0==CHARTOK||(LA22_0 >= COMPLEXTOK && LA22_0 <= CONSTTOK)||LA22_0==DOUBLETOK||LA22_0==ENUMTOK||(LA22_0 >= FLOATINGPOINTTOK && LA22_0 <= FLOATTOK)||LA22_0==IMAGINARYTOK||LA22_0==INTEGERTOK||LA22_0==INTTOK||LA22_0==LONGTOK||LA22_0==SHORTTOK||LA22_0==SIGNEDTOK||LA22_0==STRINGTOK||LA22_0==STRUCTTOK||LA22_0==TYPEDEFTOK||(LA22_0 >= UNSIGNEDTOK && LA22_0 <= VOIDTOK)) ) {
- alt22=1;
- }
- else if ( (LA22_0==IDENTIFIER) && (( inTypealiasAlias() || isTypeName(input.LT(1).getText()) ))) {
- alt22=1;
- }
- else if ( (LA22_0==TYPEALIASTOK) ) {
- alt22=1;
- }
-
- switch (alt22) {
- case 1 :
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:360:5: structOrVariantDeclaration
- {
- pushFollow(FOLLOW_structOrVariantDeclaration_in_structOrVariantDeclarationList1599);
- structOrVariantDeclaration73=structOrVariantDeclaration();
- state._fsp--;
- if (state.failed) return retval;
- if ( state.backtracking==0 ) adaptor.addChild(root_0, structOrVariantDeclaration73.getTree());
-
- }
- break;
-
- default :
- if ( cnt22 >= 1 ) break loop22;
- if (state.backtracking>0) {state.failed=true; return retval;}
- EarlyExitException eee = new EarlyExitException(22, input);
- throw eee;
- }
- cnt22++;
- }
-
- }
-
- retval.stop = input.LT(-1);
-
- if ( state.backtracking==0 ) {
- retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0);
- adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
- }
- }
-
- catch (RecognitionException e) {
- throw e;
- }
-
- finally {
- // do for sure before leaving
- }
- return retval;
- }
- // $ANTLR end "structOrVariantDeclarationList"
-
-
- public static class structOrVariantDeclaration_return extends ParserRuleReturnScope {
- CommonTree tree;
- @Override
- public CommonTree getTree() { return tree; }
- };
-
-
- // $ANTLR start "structOrVariantDeclaration"
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:363:1: structOrVariantDeclaration : ( ( declarationSpecifiers ({...}? => declaratorList -> ^( TYPEDEF declaratorList declarationSpecifiers ) | structOrVariantDeclaratorList -> ^( SV_DECLARATION declarationSpecifiers structOrVariantDeclaratorList ) ) ) | typealiasDecl -> typealiasDecl ) TERM ;
- public final CTFParser.structOrVariantDeclaration_return structOrVariantDeclaration() throws RecognitionException {
- CTFParser.structOrVariantDeclaration_return retval = new CTFParser.structOrVariantDeclaration_return();
- retval.start = input.LT(1);
-
- CommonTree root_0 = null;
-
- Token TERM78=null;
- ParserRuleReturnScope declarationSpecifiers74 =null;
- ParserRuleReturnScope declaratorList75 =null;
- ParserRuleReturnScope structOrVariantDeclaratorList76 =null;
- ParserRuleReturnScope typealiasDecl77 =null;
-
- CommonTree TERM78_tree=null;
- RewriteRuleTokenStream stream_TERM=new RewriteRuleTokenStream(adaptor,"token TERM");
- RewriteRuleSubtreeStream stream_declaratorList=new RewriteRuleSubtreeStream(adaptor,"rule declaratorList");
- RewriteRuleSubtreeStream stream_typealiasDecl=new RewriteRuleSubtreeStream(adaptor,"rule typealiasDecl");
- RewriteRuleSubtreeStream stream_declarationSpecifiers=new RewriteRuleSubtreeStream(adaptor,"rule declarationSpecifiers");
- RewriteRuleSubtreeStream stream_structOrVariantDeclaratorList=new RewriteRuleSubtreeStream(adaptor,"rule structOrVariantDeclaratorList");
-
- try {
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:364:3: ( ( ( declarationSpecifiers ({...}? => declaratorList -> ^( TYPEDEF declaratorList declarationSpecifiers ) | structOrVariantDeclaratorList -> ^( SV_DECLARATION declarationSpecifiers structOrVariantDeclaratorList ) ) ) | typealiasDecl -> typealiasDecl ) TERM )
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:365:3: ( ( declarationSpecifiers ({...}? => declaratorList -> ^( TYPEDEF declaratorList declarationSpecifiers ) | structOrVariantDeclaratorList -> ^( SV_DECLARATION declarationSpecifiers structOrVariantDeclaratorList ) ) ) | typealiasDecl -> typealiasDecl ) TERM
- {
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:365:3: ( ( declarationSpecifiers ({...}? => declaratorList -> ^( TYPEDEF declaratorList declarationSpecifiers ) | structOrVariantDeclaratorList -> ^( SV_DECLARATION declarationSpecifiers structOrVariantDeclaratorList ) ) ) | typealiasDecl -> typealiasDecl )
- int alt24=2;
- int LA24_0 = input.LA(1);
- if ( (LA24_0==BOOLTOK||LA24_0==CHARTOK||(LA24_0 >= COMPLEXTOK && LA24_0 <= CONSTTOK)||LA24_0==DOUBLETOK||LA24_0==ENUMTOK||(LA24_0 >= FLOATINGPOINTTOK && LA24_0 <= FLOATTOK)||LA24_0==IMAGINARYTOK||LA24_0==INTEGERTOK||LA24_0==INTTOK||LA24_0==LONGTOK||LA24_0==SHORTTOK||LA24_0==SIGNEDTOK||LA24_0==STRINGTOK||LA24_0==STRUCTTOK||LA24_0==TYPEDEFTOK||(LA24_0 >= UNSIGNEDTOK && LA24_0 <= VOIDTOK)) ) {
- alt24=1;
- }
- else if ( (LA24_0==IDENTIFIER) && (( inTypealiasAlias() || isTypeName(input.LT(1).getText()) ))) {
- alt24=1;
- }
- else if ( (LA24_0==TYPEALIASTOK) ) {
- alt24=2;
- }
-
- else {
- if (state.backtracking>0) {state.failed=true; return retval;}
- NoViableAltException nvae =
- new NoViableAltException("", 24, 0, input);
- throw nvae;
- }
-
- switch (alt24) {
- case 1 :
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:366:7: ( declarationSpecifiers ({...}? => declaratorList -> ^( TYPEDEF declaratorList declarationSpecifiers ) | structOrVariantDeclaratorList -> ^( SV_DECLARATION declarationSpecifiers structOrVariantDeclaratorList ) ) )
- {
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:366:7: ( declarationSpecifiers ({...}? => declaratorList -> ^( TYPEDEF declaratorList declarationSpecifiers ) | structOrVariantDeclaratorList -> ^( SV_DECLARATION declarationSpecifiers structOrVariantDeclaratorList ) ) )
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:367:8: declarationSpecifiers ({...}? => declaratorList -> ^( TYPEDEF declaratorList declarationSpecifiers ) | structOrVariantDeclaratorList -> ^( SV_DECLARATION declarationSpecifiers structOrVariantDeclaratorList ) )
- {
- pushFollow(FOLLOW_declarationSpecifiers_in_structOrVariantDeclaration1632);
- declarationSpecifiers74=declarationSpecifiers();
- state._fsp--;
- if (state.failed) return retval;
- if ( state.backtracking==0 ) stream_declarationSpecifiers.add(declarationSpecifiers74.getTree());
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:368:10: ({...}? => declaratorList -> ^( TYPEDEF declaratorList declarationSpecifiers ) | structOrVariantDeclaratorList -> ^( SV_DECLARATION declarationSpecifiers structOrVariantDeclaratorList ) )
- int alt23=2;
- alt23 = dfa23.predict(input);
- switch (alt23) {
- case 1 :
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:370:12: {...}? => declaratorList
- {
- if ( !((inTypedef())) ) {
- if (state.backtracking>0) {state.failed=true; return retval;}
- throw new FailedPredicateException(input, "structOrVariantDeclaration", "inTypedef()");
- }
- pushFollow(FOLLOW_declaratorList_in_structOrVariantDeclaration1673);
- declaratorList75=declaratorList();
- state._fsp--;
- if (state.failed) return retval;
- if ( state.backtracking==0 ) stream_declaratorList.add(declaratorList75.getTree());
- if ( state.backtracking==0 ) {typedefOff();}
- // AST REWRITE
- // elements: declaratorList, declarationSpecifiers
- // token labels:
- // rule labels: retval
- // token list labels:
- // rule list labels:
- // wildcard labels:
- if ( state.backtracking==0 ) {
- retval.tree = root_0;
- RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
-
- root_0 = (CommonTree)adaptor.nil();
- // 371:14: -> ^( TYPEDEF declaratorList declarationSpecifiers )
- {
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:371:17: ^( TYPEDEF declaratorList declarationSpecifiers )
- {
- CommonTree root_1 = (CommonTree)adaptor.nil();
- root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(TYPEDEF, "TYPEDEF"), root_1);
- adaptor.addChild(root_1, stream_declaratorList.nextTree());
- adaptor.addChild(root_1, stream_declarationSpecifiers.nextTree());
- adaptor.addChild(root_0, root_1);
- }
-
- }
-
-
- retval.tree = root_0;
- }
-
- }
- break;
- case 2 :
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:372:14: structOrVariantDeclaratorList
- {
- pushFollow(FOLLOW_structOrVariantDeclaratorList_in_structOrVariantDeclaration1713);
- structOrVariantDeclaratorList76=structOrVariantDeclaratorList();
- state._fsp--;
- if (state.failed) return retval;
- if ( state.backtracking==0 ) stream_structOrVariantDeclaratorList.add(structOrVariantDeclaratorList76.getTree());
- // AST REWRITE
- // elements: declarationSpecifiers, structOrVariantDeclaratorList
- // token labels:
- // rule labels: retval
- // token list labels:
- // rule list labels:
- // wildcard labels:
- if ( state.backtracking==0 ) {
- retval.tree = root_0;
- RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
-
- root_0 = (CommonTree)adaptor.nil();
- // 373:14: -> ^( SV_DECLARATION declarationSpecifiers structOrVariantDeclaratorList )
- {
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:373:17: ^( SV_DECLARATION declarationSpecifiers structOrVariantDeclaratorList )
- {
- CommonTree root_1 = (CommonTree)adaptor.nil();
- root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(SV_DECLARATION, "SV_DECLARATION"), root_1);
- adaptor.addChild(root_1, stream_declarationSpecifiers.nextTree());
- adaptor.addChild(root_1, stream_structOrVariantDeclaratorList.nextTree());
- adaptor.addChild(root_0, root_1);
- }
-
- }
-
-
- retval.tree = root_0;
- }
-
- }
- break;
-
- }
-
- }
-
- }
- break;
- case 2 :
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:378:5: typealiasDecl
- {
- pushFollow(FOLLOW_typealiasDecl_in_structOrVariantDeclaration1772);
- typealiasDecl77=typealiasDecl();
- state._fsp--;
- if (state.failed) return retval;
- if ( state.backtracking==0 ) stream_typealiasDecl.add(typealiasDecl77.getTree());
- // AST REWRITE
- // elements: typealiasDecl
- // token labels:
- // rule labels: retval
- // token list labels:
- // rule list labels:
- // wildcard labels:
- if ( state.backtracking==0 ) {
- retval.tree = root_0;
- RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
-
- root_0 = (CommonTree)adaptor.nil();
- // 378:19: -> typealiasDecl
- {
- adaptor.addChild(root_0, stream_typealiasDecl.nextTree());
- }
-
-
- retval.tree = root_0;
- }
-
- }
- break;
-
- }
-
- TERM78=(Token)match(input,TERM,FOLLOW_TERM_in_structOrVariantDeclaration1784); if (state.failed) return retval;
- if ( state.backtracking==0 ) stream_TERM.add(TERM78);
-
- }
-
- retval.stop = input.LT(-1);
-
- if ( state.backtracking==0 ) {
- retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0);
- adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
- }
- }
-
- catch (RecognitionException e) {
- throw e;
- }
-
- finally {
- // do for sure before leaving
- }
- return retval;
- }
- // $ANTLR end "structOrVariantDeclaration"
-
-
- public static class specifierQualifierList_return extends ParserRuleReturnScope {
- CommonTree tree;
- @Override
- public CommonTree getTree() { return tree; }
- };
-
-
- // $ANTLR start "specifierQualifierList"
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:383:1: specifierQualifierList : ( typeQualifier | typeSpecifier )+ -> ^( TYPE_SPECIFIER_LIST ( typeQualifier )* ( typeSpecifier )* ) ;
- public final CTFParser.specifierQualifierList_return specifierQualifierList() throws RecognitionException {
- CTFParser.specifierQualifierList_return retval = new CTFParser.specifierQualifierList_return();
- retval.start = input.LT(1);
-
- CommonTree root_0 = null;
-
- ParserRuleReturnScope typeQualifier79 =null;
- ParserRuleReturnScope typeSpecifier80 =null;
-
- RewriteRuleSubtreeStream stream_typeSpecifier=new RewriteRuleSubtreeStream(adaptor,"rule typeSpecifier");
- RewriteRuleSubtreeStream stream_typeQualifier=new RewriteRuleSubtreeStream(adaptor,"rule typeQualifier");
-
- try {
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:384:3: ( ( typeQualifier | typeSpecifier )+ -> ^( TYPE_SPECIFIER_LIST ( typeQualifier )* ( typeSpecifier )* ) )
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:384:5: ( typeQualifier | typeSpecifier )+
- {
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:384:5: ( typeQualifier | typeSpecifier )+
- int cnt25=0;
- loop25:
- while (true) {
- int alt25=3;
- int LA25_0 = input.LA(1);
- if ( (LA25_0==CONSTTOK) ) {
- alt25=1;
- }
- else if ( (LA25_0==BOOLTOK||LA25_0==CHARTOK||LA25_0==COMPLEXTOK||LA25_0==DOUBLETOK||LA25_0==ENUMTOK||(LA25_0 >= FLOATINGPOINTTOK && LA25_0 <= FLOATTOK)||LA25_0==IMAGINARYTOK||LA25_0==INTEGERTOK||LA25_0==INTTOK||LA25_0==LONGTOK||LA25_0==SHORTTOK||LA25_0==SIGNEDTOK||LA25_0==STRINGTOK||LA25_0==STRUCTTOK||(LA25_0 >= UNSIGNEDTOK && LA25_0 <= VOIDTOK)) ) {
- alt25=2;
- }
- else if ( (LA25_0==IDENTIFIER) && (( inTypealiasAlias() || isTypeName(input.LT(1).getText()) ))) {
- alt25=2;
- }
-
- switch (alt25) {
- case 1 :
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:384:6: typeQualifier
- {
- pushFollow(FOLLOW_typeQualifier_in_specifierQualifierList1798);
- typeQualifier79=typeQualifier();
- state._fsp--;
- if (state.failed) return retval;
- if ( state.backtracking==0 ) stream_typeQualifier.add(typeQualifier79.getTree());
- }
- break;
- case 2 :
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:384:22: typeSpecifier
- {
- pushFollow(FOLLOW_typeSpecifier_in_specifierQualifierList1802);
- typeSpecifier80=typeSpecifier();
- state._fsp--;
- if (state.failed) return retval;
- if ( state.backtracking==0 ) stream_typeSpecifier.add(typeSpecifier80.getTree());
- }
- break;
-
- default :
- if ( cnt25 >= 1 ) break loop25;
- if (state.backtracking>0) {state.failed=true; return retval;}
- EarlyExitException eee = new EarlyExitException(25, input);
- throw eee;
- }
- cnt25++;
- }
-
- // AST REWRITE
- // elements: typeQualifier, typeSpecifier
- // token labels:
- // rule labels: retval
- // token list labels:
- // rule list labels:
- // wildcard labels:
- if ( state.backtracking==0 ) {
- retval.tree = root_0;
- RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
-
- root_0 = (CommonTree)adaptor.nil();
- // 385:7: -> ^( TYPE_SPECIFIER_LIST ( typeQualifier )* ( typeSpecifier )* )
- {
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:385:10: ^( TYPE_SPECIFIER_LIST ( typeQualifier )* ( typeSpecifier )* )
- {
- CommonTree root_1 = (CommonTree)adaptor.nil();
- root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(TYPE_SPECIFIER_LIST, "TYPE_SPECIFIER_LIST"), root_1);
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:385:32: ( typeQualifier )*
- while ( stream_typeQualifier.hasNext() ) {
- adaptor.addChild(root_1, stream_typeQualifier.nextTree());
- }
- stream_typeQualifier.reset();
-
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:385:47: ( typeSpecifier )*
- while ( stream_typeSpecifier.hasNext() ) {
- adaptor.addChild(root_1, stream_typeSpecifier.nextTree());
- }
- stream_typeSpecifier.reset();
-
- adaptor.addChild(root_0, root_1);
- }
-
- }
-
-
- retval.tree = root_0;
- }
-
- }
-
- retval.stop = input.LT(-1);
-
- if ( state.backtracking==0 ) {
- retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0);
- adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
- }
- }
-
- catch (RecognitionException e) {
- throw e;
- }
-
- finally {
- // do for sure before leaving
- }
- return retval;
- }
- // $ANTLR end "specifierQualifierList"
-
-
- public static class structOrVariantDeclaratorList_return extends ParserRuleReturnScope {
- CommonTree tree;
- @Override
- public CommonTree getTree() { return tree; }
- };
-
-
- // $ANTLR start "structOrVariantDeclaratorList"
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:388:1: structOrVariantDeclaratorList : structOrVariantDeclarator ( SEPARATOR structOrVariantDeclarator )* -> ^( TYPE_DECLARATOR_LIST ( structOrVariantDeclarator )+ ) ;
- public final CTFParser.structOrVariantDeclaratorList_return structOrVariantDeclaratorList() throws RecognitionException {
- CTFParser.structOrVariantDeclaratorList_return retval = new CTFParser.structOrVariantDeclaratorList_return();
- retval.start = input.LT(1);
-
- CommonTree root_0 = null;
-
- Token SEPARATOR82=null;
- ParserRuleReturnScope structOrVariantDeclarator81 =null;
- ParserRuleReturnScope structOrVariantDeclarator83 =null;
-
- CommonTree SEPARATOR82_tree=null;
- RewriteRuleTokenStream stream_SEPARATOR=new RewriteRuleTokenStream(adaptor,"token SEPARATOR");
- RewriteRuleSubtreeStream stream_structOrVariantDeclarator=new RewriteRuleSubtreeStream(adaptor,"rule structOrVariantDeclarator");
-
- try {
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:389:3: ( structOrVariantDeclarator ( SEPARATOR structOrVariantDeclarator )* -> ^( TYPE_DECLARATOR_LIST ( structOrVariantDeclarator )+ ) )
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:389:5: structOrVariantDeclarator ( SEPARATOR structOrVariantDeclarator )*
- {
- pushFollow(FOLLOW_structOrVariantDeclarator_in_structOrVariantDeclaratorList1835);
- structOrVariantDeclarator81=structOrVariantDeclarator();
- state._fsp--;
- if (state.failed) return retval;
- if ( state.backtracking==0 ) stream_structOrVariantDeclarator.add(structOrVariantDeclarator81.getTree());
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:389:31: ( SEPARATOR structOrVariantDeclarator )*
- loop26:
- while (true) {
- int alt26=2;
- int LA26_0 = input.LA(1);
- if ( (LA26_0==SEPARATOR) ) {
- alt26=1;
- }
-
- switch (alt26) {
- case 1 :
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:389:32: SEPARATOR structOrVariantDeclarator
- {
- SEPARATOR82=(Token)match(input,SEPARATOR,FOLLOW_SEPARATOR_in_structOrVariantDeclaratorList1838); if (state.failed) return retval;
- if ( state.backtracking==0 ) stream_SEPARATOR.add(SEPARATOR82);
-
- pushFollow(FOLLOW_structOrVariantDeclarator_in_structOrVariantDeclaratorList1840);
- structOrVariantDeclarator83=structOrVariantDeclarator();
- state._fsp--;
- if (state.failed) return retval;
- if ( state.backtracking==0 ) stream_structOrVariantDeclarator.add(structOrVariantDeclarator83.getTree());
- }
- break;
-
- default :
- break loop26;
- }
- }
-
- // AST REWRITE
- // elements: structOrVariantDeclarator
- // token labels:
- // rule labels: retval
- // token list labels:
- // rule list labels:
- // wildcard labels:
- if ( state.backtracking==0 ) {
- retval.tree = root_0;
- RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
-
- root_0 = (CommonTree)adaptor.nil();
- // 390:7: -> ^( TYPE_DECLARATOR_LIST ( structOrVariantDeclarator )+ )
- {
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:390:10: ^( TYPE_DECLARATOR_LIST ( structOrVariantDeclarator )+ )
- {
- CommonTree root_1 = (CommonTree)adaptor.nil();
- root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(TYPE_DECLARATOR_LIST, "TYPE_DECLARATOR_LIST"), root_1);
- if ( !(stream_structOrVariantDeclarator.hasNext()) ) {
- throw new RewriteEarlyExitException();
- }
- while ( stream_structOrVariantDeclarator.hasNext() ) {
- adaptor.addChild(root_1, stream_structOrVariantDeclarator.nextTree());
- }
- stream_structOrVariantDeclarator.reset();
-
- adaptor.addChild(root_0, root_1);
- }
-
- }
-
-
- retval.tree = root_0;
- }
-
- }
-
- retval.stop = input.LT(-1);
-
- if ( state.backtracking==0 ) {
- retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0);
- adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
- }
- }
-
- catch (RecognitionException e) {
- throw e;
- }
-
- finally {
- // do for sure before leaving
- }
- return retval;
- }
- // $ANTLR end "structOrVariantDeclaratorList"
-
-
- public static class structOrVariantDeclarator_return extends ParserRuleReturnScope {
- CommonTree tree;
- @Override
- public CommonTree getTree() { return tree; }
- };
-
-
- // $ANTLR start "structOrVariantDeclarator"
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:393:1: structOrVariantDeclarator : ( declarator ( COLON numberLiteral )? ) -> declarator ;
- public final CTFParser.structOrVariantDeclarator_return structOrVariantDeclarator() throws RecognitionException {
- CTFParser.structOrVariantDeclarator_return retval = new CTFParser.structOrVariantDeclarator_return();
- retval.start = input.LT(1);
-
- CommonTree root_0 = null;
-
- Token COLON85=null;
- ParserRuleReturnScope declarator84 =null;
- ParserRuleReturnScope numberLiteral86 =null;
-
- CommonTree COLON85_tree=null;
- RewriteRuleTokenStream stream_COLON=new RewriteRuleTokenStream(adaptor,"token COLON");
- RewriteRuleSubtreeStream stream_declarator=new RewriteRuleSubtreeStream(adaptor,"rule declarator");
- RewriteRuleSubtreeStream stream_numberLiteral=new RewriteRuleSubtreeStream(adaptor,"rule numberLiteral");
-
- try {
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:394:3: ( ( declarator ( COLON numberLiteral )? ) -> declarator )
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:396:5: ( declarator ( COLON numberLiteral )? )
- {
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:396:5: ( declarator ( COLON numberLiteral )? )
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:396:6: declarator ( COLON numberLiteral )?
- {
- pushFollow(FOLLOW_declarator_in_structOrVariantDeclarator1879);
- declarator84=declarator();
- state._fsp--;
- if (state.failed) return retval;
- if ( state.backtracking==0 ) stream_declarator.add(declarator84.getTree());
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:396:17: ( COLON numberLiteral )?
- int alt27=2;
- int LA27_0 = input.LA(1);
- if ( (LA27_0==COLON) ) {
- alt27=1;
- }
- switch (alt27) {
- case 1 :
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:396:18: COLON numberLiteral
- {
- COLON85=(Token)match(input,COLON,FOLLOW_COLON_in_structOrVariantDeclarator1882); if (state.failed) return retval;
- if ( state.backtracking==0 ) stream_COLON.add(COLON85);
-
- pushFollow(FOLLOW_numberLiteral_in_structOrVariantDeclarator1884);
- numberLiteral86=numberLiteral();
- state._fsp--;
- if (state.failed) return retval;
- if ( state.backtracking==0 ) stream_numberLiteral.add(numberLiteral86.getTree());
- }
- break;
-
- }
-
- }
-
- // AST REWRITE
- // elements: declarator
- // token labels:
- // rule labels: retval
- // token list labels:
- // rule list labels:
- // wildcard labels:
- if ( state.backtracking==0 ) {
- retval.tree = root_0;
- RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
-
- root_0 = (CommonTree)adaptor.nil();
- // 396:41: -> declarator
- {
- adaptor.addChild(root_0, stream_declarator.nextTree());
- }
-
-
- retval.tree = root_0;
- }
-
- }
-
- retval.stop = input.LT(-1);
-
- if ( state.backtracking==0 ) {
- retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0);
- adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
- }
- }
-
- catch (RecognitionException e) {
- throw e;
- }
-
- finally {
- // do for sure before leaving
- }
- return retval;
- }
- // $ANTLR end "structOrVariantDeclarator"
-
-
- public static class variantSpecifier_return extends ParserRuleReturnScope {
- CommonTree tree;
- @Override
- public CommonTree getTree() { return tree; }
- };
-
-
- // $ANTLR start "variantSpecifier"
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:400:1: variantSpecifier : VARIANTTOK ( ( variantName ( ( variantTag ( variantBody |) ) | variantBody ) ) | ( variantTag variantBody ) | variantBody ) -> ^( VARIANT ( variantName )? ( variantTag )? ( variantBody )? ) ;
- public final CTFParser.variantSpecifier_return variantSpecifier() throws RecognitionException {
- CTFParser.variantSpecifier_return retval = new CTFParser.variantSpecifier_return();
- retval.start = input.LT(1);
-
- CommonTree root_0 = null;
-
- Token VARIANTTOK87=null;
- ParserRuleReturnScope variantName88 =null;
- ParserRuleReturnScope variantTag89 =null;
- ParserRuleReturnScope variantBody90 =null;
- ParserRuleReturnScope variantBody91 =null;
- ParserRuleReturnScope variantTag92 =null;
- ParserRuleReturnScope variantBody93 =null;
- ParserRuleReturnScope variantBody94 =null;
-
- CommonTree VARIANTTOK87_tree=null;
- RewriteRuleTokenStream stream_VARIANTTOK=new RewriteRuleTokenStream(adaptor,"token VARIANTTOK");
- RewriteRuleSubtreeStream stream_variantName=new RewriteRuleSubtreeStream(adaptor,"rule variantName");
- RewriteRuleSubtreeStream stream_variantTag=new RewriteRuleSubtreeStream(adaptor,"rule variantTag");
- RewriteRuleSubtreeStream stream_variantBody=new RewriteRuleSubtreeStream(adaptor,"rule variantBody");
-
- try {
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:401:3: ( VARIANTTOK ( ( variantName ( ( variantTag ( variantBody |) ) | variantBody ) ) | ( variantTag variantBody ) | variantBody ) -> ^( VARIANT ( variantName )? ( variantTag )? ( variantBody )? ) )
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:401:5: VARIANTTOK ( ( variantName ( ( variantTag ( variantBody |) ) | variantBody ) ) | ( variantTag variantBody ) | variantBody )
- {
- VARIANTTOK87=(Token)match(input,VARIANTTOK,FOLLOW_VARIANTTOK_in_variantSpecifier1908); if (state.failed) return retval;
- if ( state.backtracking==0 ) stream_VARIANTTOK.add(VARIANTTOK87);
-
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:402:3: ( ( variantName ( ( variantTag ( variantBody |) ) | variantBody ) ) | ( variantTag variantBody ) | variantBody )
- int alt30=3;
- switch ( input.LA(1) ) {
- case IDENTIFIER:
- {
- alt30=1;
- }
- break;
- case LT:
- {
- alt30=2;
- }
- break;
- case LCURL:
- {
- alt30=3;
- }
- break;
- default:
- if (state.backtracking>0) {state.failed=true; return retval;}
- NoViableAltException nvae =
- new NoViableAltException("", 30, 0, input);
- throw nvae;
- }
- switch (alt30) {
- case 1 :
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:403:5: ( variantName ( ( variantTag ( variantBody |) ) | variantBody ) )
- {
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:403:5: ( variantName ( ( variantTag ( variantBody |) ) | variantBody ) )
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:404:7: variantName ( ( variantTag ( variantBody |) ) | variantBody )
- {
- pushFollow(FOLLOW_variantName_in_variantSpecifier1926);
- variantName88=variantName();
- state._fsp--;
- if (state.failed) return retval;
- if ( state.backtracking==0 ) stream_variantName.add(variantName88.getTree());
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:405:7: ( ( variantTag ( variantBody |) ) | variantBody )
- int alt29=2;
- int LA29_0 = input.LA(1);
- if ( (LA29_0==LT) ) {
- alt29=1;
- }
- else if ( (LA29_0==LCURL) ) {
- alt29=2;
- }
-
- else {
- if (state.backtracking>0) {state.failed=true; return retval;}
- NoViableAltException nvae =
- new NoViableAltException("", 29, 0, input);
- throw nvae;
- }
-
- switch (alt29) {
- case 1 :
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:406:9: ( variantTag ( variantBody |) )
- {
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:406:9: ( variantTag ( variantBody |) )
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:407:11: variantTag ( variantBody |)
- {
- pushFollow(FOLLOW_variantTag_in_variantSpecifier1956);
- variantTag89=variantTag();
- state._fsp--;
- if (state.failed) return retval;
- if ( state.backtracking==0 ) stream_variantTag.add(variantTag89.getTree());
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:408:11: ( variantBody |)
- int alt28=2;
- int LA28_0 = input.LA(1);
- if ( (LA28_0==LCURL) ) {
- switch ( input.LA(2) ) {
- case BOOLTOK:
- case CHARTOK:
- case COMPLEXTOK:
- case CONSTTOK:
- case DOUBLETOK:
- case ENUMTOK:
- case FLOATINGPOINTTOK:
- case FLOATTOK:
- case IMAGINARYTOK:
- case INTEGERTOK:
- case INTTOK:
- case LONGTOK:
- case SHORTTOK:
- case STRUCTTOK:
- case TYPEALIASTOK:
- case TYPEDEFTOK:
- case UNSIGNEDTOK:
- case VARIANTTOK:
- case VOIDTOK:
- {
- alt28=1;
- }
- break;
- case SIGNEDTOK:
- {
- int LA28_4 = input.LA(3);
- if ( (LA28_4==BOOLTOK||LA28_4==CHARTOK||(LA28_4 >= COMPLEXTOK && LA28_4 <= CONSTTOK)||LA28_4==DOUBLETOK||LA28_4==ENUMTOK||(LA28_4 >= FLOATINGPOINTTOK && LA28_4 <= FLOATTOK)||(LA28_4 >= IDENTIFIER && LA28_4 <= IMAGINARYTOK)||LA28_4==INTEGERTOK||LA28_4==INTTOK||LA28_4==LONGTOK||LA28_4==POINTER||LA28_4==SHORTTOK||LA28_4==SIGNEDTOK||LA28_4==STRINGTOK||LA28_4==STRUCTTOK||LA28_4==TYPEDEFTOK||(LA28_4 >= UNSIGNEDTOK && LA28_4 <= VOIDTOK)) ) {
- alt28=1;
- }
- else if ( (LA28_4==ASSIGNMENT||LA28_4==RCURL||LA28_4==SEPARATOR) ) {
- alt28=2;
- }
-
- else {
- if (state.backtracking>0) {state.failed=true; return retval;}
- int nvaeMark = input.mark();
- try {
- for (int nvaeConsume = 0; nvaeConsume < 3 - 1; nvaeConsume++) {
- input.consume();
- }
- NoViableAltException nvae =
- new NoViableAltException("", 28, 4, input);
- throw nvae;
- } finally {
- input.rewind(nvaeMark);
- }
- }
-
- }
- break;
- case STRINGTOK:
- {
- int LA28_5 = input.LA(3);
- if ( (LA28_5==BOOLTOK||LA28_5==CHARTOK||(LA28_5 >= COMPLEXTOK && LA28_5 <= CONSTTOK)||LA28_5==DOUBLETOK||LA28_5==ENUMTOK||(LA28_5 >= FLOATINGPOINTTOK && LA28_5 <= FLOATTOK)||(LA28_5 >= IDENTIFIER && LA28_5 <= IMAGINARYTOK)||LA28_5==INTEGERTOK||(LA28_5 >= INTTOK && LA28_5 <= LCURL)||LA28_5==LONGTOK||LA28_5==POINTER||LA28_5==SHORTTOK||LA28_5==SIGNEDTOK||LA28_5==STRINGTOK||LA28_5==STRUCTTOK||LA28_5==TYPEDEFTOK||(LA28_5 >= UNSIGNEDTOK && LA28_5 <= VOIDTOK)) ) {
- alt28=1;
- }
- else if ( (LA28_5==ASSIGNMENT||LA28_5==RCURL||LA28_5==SEPARATOR) ) {
- alt28=2;
- }
-
- else {
- if (state.backtracking>0) {state.failed=true; return retval;}
- int nvaeMark = input.mark();
- try {
- for (int nvaeConsume = 0; nvaeConsume < 3 - 1; nvaeConsume++) {
- input.consume();
- }
- NoViableAltException nvae =
- new NoViableAltException("", 28, 5, input);
- throw nvae;
- } finally {
- input.rewind(nvaeMark);
- }
- }
-
- }
- break;
- case IDENTIFIER:
- {
- int LA28_6 = input.LA(3);
- if ( (LA28_6==BOOLTOK||LA28_6==CHARTOK||(LA28_6 >= COMPLEXTOK && LA28_6 <= CONSTTOK)||LA28_6==DOUBLETOK||LA28_6==ENUMTOK||(LA28_6 >= FLOATINGPOINTTOK && LA28_6 <= FLOATTOK)||(LA28_6 >= IDENTIFIER && LA28_6 <= IMAGINARYTOK)||LA28_6==INTEGERTOK||LA28_6==INTTOK||LA28_6==LONGTOK||LA28_6==POINTER||LA28_6==SHORTTOK||LA28_6==SIGNEDTOK||LA28_6==STRINGTOK||LA28_6==STRUCTTOK||LA28_6==TYPEDEFTOK||(LA28_6 >= UNSIGNEDTOK && LA28_6 <= VOIDTOK)) ) {
- alt28=1;
- }
- else if ( (LA28_6==ASSIGNMENT||LA28_6==RCURL||LA28_6==SEPARATOR) ) {
- alt28=2;
- }
-
- else {
- if (state.backtracking>0) {state.failed=true; return retval;}
- int nvaeMark = input.mark();
- try {
- for (int nvaeConsume = 0; nvaeConsume < 3 - 1; nvaeConsume++) {
- input.consume();
- }
- NoViableAltException nvae =
- new NoViableAltException("", 28, 6, input);
- throw nvae;
- } finally {
- input.rewind(nvaeMark);
- }
- }
-
- }
- break;
- case ALIGNTOK:
- case EVENTTOK:
- case STRING_LITERAL:
- {
- alt28=2;
- }
- break;
- default:
- if (state.backtracking>0) {state.failed=true; return retval;}
- int nvaeMark = input.mark();
- try {
- input.consume();
- NoViableAltException nvae =
- new NoViableAltException("", 28, 1, input);
- throw nvae;
- } finally {
- input.rewind(nvaeMark);
- }
- }
- }
- else if ( (LA28_0==EOF||LA28_0==BOOLTOK||LA28_0==CHARTOK||(LA28_0 >= COMPLEXTOK && LA28_0 <= CONSTTOK)||LA28_0==DOUBLETOK||LA28_0==ENUMTOK||(LA28_0 >= FLOATINGPOINTTOK && LA28_0 <= FLOATTOK)||(LA28_0 >= IDENTIFIER && LA28_0 <= IMAGINARYTOK)||LA28_0==INTEGERTOK||LA28_0==INTTOK||(LA28_0 >= LONGTOK && LA28_0 <= LPAREN)||LA28_0==POINTER||LA28_0==SHORTTOK||LA28_0==SIGNEDTOK||LA28_0==STRINGTOK||(LA28_0 >= STRUCTTOK && LA28_0 <= TERM)||(LA28_0 >= TYPEDEFTOK && LA28_0 <= TYPE_ASSIGNMENT)||(LA28_0 >= UNSIGNEDTOK && LA28_0 <= VOIDTOK)) ) {
- alt28=2;
- }
-
- else {
- if (state.backtracking>0) {state.failed=true; return retval;}
- NoViableAltException nvae =
- new NoViableAltException("", 28, 0, input);
- throw nvae;
- }
-
- switch (alt28) {
- case 1 :
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:409:13: variantBody
- {
- pushFollow(FOLLOW_variantBody_in_variantSpecifier1982);
- variantBody90=variantBody();
- state._fsp--;
- if (state.failed) return retval;
- if ( state.backtracking==0 ) stream_variantBody.add(variantBody90.getTree());
- }
- break;
- case 2 :
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:412:11:
- {
- }
- break;
-
- }
-
- }
-
- }
- break;
- case 2 :
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:415:9: variantBody
- {
- pushFollow(FOLLOW_variantBody_in_variantSpecifier2050);
- variantBody91=variantBody();
- state._fsp--;
- if (state.failed) return retval;
- if ( state.backtracking==0 ) stream_variantBody.add(variantBody91.getTree());
- }
- break;
-
- }
-
- }
-
- }
- break;
- case 2 :
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:418:5: ( variantTag variantBody )
- {
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:418:5: ( variantTag variantBody )
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:418:6: variantTag variantBody
- {
- pushFollow(FOLLOW_variantTag_in_variantSpecifier2071);
- variantTag92=variantTag();
- state._fsp--;
- if (state.failed) return retval;
- if ( state.backtracking==0 ) stream_variantTag.add(variantTag92.getTree());
- pushFollow(FOLLOW_variantBody_in_variantSpecifier2073);
- variantBody93=variantBody();
- state._fsp--;
- if (state.failed) return retval;
- if ( state.backtracking==0 ) stream_variantBody.add(variantBody93.getTree());
- }
-
- }
- break;
- case 3 :
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:419:5: variantBody
- {
- pushFollow(FOLLOW_variantBody_in_variantSpecifier2080);
- variantBody94=variantBody();
- state._fsp--;
- if (state.failed) return retval;
- if ( state.backtracking==0 ) stream_variantBody.add(variantBody94.getTree());
- }
- break;
-
- }
-
- // AST REWRITE
- // elements: variantName, variantBody, variantTag
- // token labels:
- // rule labels: retval
- // token list labels:
- // rule list labels:
- // wildcard labels:
- if ( state.backtracking==0 ) {
- retval.tree = root_0;
- RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
-
- root_0 = (CommonTree)adaptor.nil();
- // 420:5: -> ^( VARIANT ( variantName )? ( variantTag )? ( variantBody )? )
- {
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:420:8: ^( VARIANT ( variantName )? ( variantTag )? ( variantBody )? )
- {
- CommonTree root_1 = (CommonTree)adaptor.nil();
- root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(VARIANT, "VARIANT"), root_1);
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:420:18: ( variantName )?
- if ( stream_variantName.hasNext() ) {
- adaptor.addChild(root_1, stream_variantName.nextTree());
- }
- stream_variantName.reset();
-
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:420:31: ( variantTag )?
- if ( stream_variantTag.hasNext() ) {
- adaptor.addChild(root_1, stream_variantTag.nextTree());
- }
- stream_variantTag.reset();
-
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:420:43: ( variantBody )?
- if ( stream_variantBody.hasNext() ) {
- adaptor.addChild(root_1, stream_variantBody.nextTree());
- }
- stream_variantBody.reset();
-
- adaptor.addChild(root_0, root_1);
- }
-
- }
-
-
- retval.tree = root_0;
- }
-
- }
-
- retval.stop = input.LT(-1);
-
- if ( state.backtracking==0 ) {
- retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0);
- adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
- }
- }
-
- catch (RecognitionException e) {
- throw e;
- }
-
- finally {
- // do for sure before leaving
- }
- return retval;
- }
- // $ANTLR end "variantSpecifier"
-
-
- public static class variantName_return extends ParserRuleReturnScope {
- CommonTree tree;
- @Override
- public CommonTree getTree() { return tree; }
- };
-
-
- // $ANTLR start "variantName"
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:423:1: variantName : IDENTIFIER -> ^( VARIANT_NAME IDENTIFIER ) ;
- public final CTFParser.variantName_return variantName() throws RecognitionException {
- CTFParser.variantName_return retval = new CTFParser.variantName_return();
- retval.start = input.LT(1);
-
- CommonTree root_0 = null;
-
- Token IDENTIFIER95=null;
-
- CommonTree IDENTIFIER95_tree=null;
- RewriteRuleTokenStream stream_IDENTIFIER=new RewriteRuleTokenStream(adaptor,"token IDENTIFIER");
-
- try {
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:424:3: ( IDENTIFIER -> ^( VARIANT_NAME IDENTIFIER ) )
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:424:5: IDENTIFIER
- {
- IDENTIFIER95=(Token)match(input,IDENTIFIER,FOLLOW_IDENTIFIER_in_variantName2112); if (state.failed) return retval;
- if ( state.backtracking==0 ) stream_IDENTIFIER.add(IDENTIFIER95);
-
- // AST REWRITE
- // elements: IDENTIFIER
- // token labels:
- // rule labels: retval
- // token list labels:
- // rule list labels:
- // wildcard labels:
- if ( state.backtracking==0 ) {
- retval.tree = root_0;
- RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
-
- root_0 = (CommonTree)adaptor.nil();
- // 424:16: -> ^( VARIANT_NAME IDENTIFIER )
- {
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:424:19: ^( VARIANT_NAME IDENTIFIER )
- {
- CommonTree root_1 = (CommonTree)adaptor.nil();
- root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(VARIANT_NAME, "VARIANT_NAME"), root_1);
- adaptor.addChild(root_1, stream_IDENTIFIER.nextNode());
- adaptor.addChild(root_0, root_1);
- }
-
- }
-
-
- retval.tree = root_0;
- }
-
- }
-
- retval.stop = input.LT(-1);
-
- if ( state.backtracking==0 ) {
- retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0);
- adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
- }
- }
-
- catch (RecognitionException e) {
- throw e;
- }
-
- finally {
- // do for sure before leaving
- }
- return retval;
- }
- // $ANTLR end "variantName"
-
-
- public static class variantBody_return extends ParserRuleReturnScope {
- CommonTree tree;
- @Override
- public CommonTree getTree() { return tree; }
- };
-
-
- // $ANTLR start "variantBody"
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:427:1: variantBody : LCURL structOrVariantDeclarationList RCURL -> ^( VARIANT_BODY structOrVariantDeclarationList ) ;
- public final CTFParser.variantBody_return variantBody() throws RecognitionException {
- Symbols_stack.push(new Symbols_scope());
-
- CTFParser.variantBody_return retval = new CTFParser.variantBody_return();
- retval.start = input.LT(1);
-
- CommonTree root_0 = null;
-
- Token LCURL96=null;
- Token RCURL98=null;
- ParserRuleReturnScope structOrVariantDeclarationList97 =null;
-
- CommonTree LCURL96_tree=null;
- CommonTree RCURL98_tree=null;
- RewriteRuleTokenStream stream_LCURL=new RewriteRuleTokenStream(adaptor,"token LCURL");
- RewriteRuleTokenStream stream_RCURL=new RewriteRuleTokenStream(adaptor,"token RCURL");
- RewriteRuleSubtreeStream stream_structOrVariantDeclarationList=new RewriteRuleSubtreeStream(adaptor,"rule structOrVariantDeclarationList");
-
-
- Symbols_stack.peek().types = new HashSet<String>();
-
- try {
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:432:3: ( LCURL structOrVariantDeclarationList RCURL -> ^( VARIANT_BODY structOrVariantDeclarationList ) )
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:432:5: LCURL structOrVariantDeclarationList RCURL
- {
- LCURL96=(Token)match(input,LCURL,FOLLOW_LCURL_in_variantBody2143); if (state.failed) return retval;
- if ( state.backtracking==0 ) stream_LCURL.add(LCURL96);
-
- pushFollow(FOLLOW_structOrVariantDeclarationList_in_variantBody2145);
- structOrVariantDeclarationList97=structOrVariantDeclarationList();
- state._fsp--;
- if (state.failed) return retval;
- if ( state.backtracking==0 ) stream_structOrVariantDeclarationList.add(structOrVariantDeclarationList97.getTree());
- RCURL98=(Token)match(input,RCURL,FOLLOW_RCURL_in_variantBody2147); if (state.failed) return retval;
- if ( state.backtracking==0 ) stream_RCURL.add(RCURL98);
-
- // AST REWRITE
- // elements: structOrVariantDeclarationList
- // token labels:
- // rule labels: retval
- // token list labels:
- // rule list labels:
- // wildcard labels:
- if ( state.backtracking==0 ) {
- retval.tree = root_0;
- RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
-
- root_0 = (CommonTree)adaptor.nil();
- // 433:7: -> ^( VARIANT_BODY structOrVariantDeclarationList )
- {
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:433:10: ^( VARIANT_BODY structOrVariantDeclarationList )
- {
- CommonTree root_1 = (CommonTree)adaptor.nil();
- root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(VARIANT_BODY, "VARIANT_BODY"), root_1);
- adaptor.addChild(root_1, stream_structOrVariantDeclarationList.nextTree());
- adaptor.addChild(root_0, root_1);
- }
-
- }
-
-
- retval.tree = root_0;
- }
-
- }
-
- retval.stop = input.LT(-1);
-
- if ( state.backtracking==0 ) {
- retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0);
- adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
- }
- }
-
- catch (RecognitionException e) {
- throw e;
- }
-
- finally {
- // do for sure before leaving
- Symbols_stack.pop();
-
- }
- return retval;
- }
- // $ANTLR end "variantBody"
-
-
- public static class variantTag_return extends ParserRuleReturnScope {
- CommonTree tree;
- @Override
- public CommonTree getTree() { return tree; }
- };
-
-
- // $ANTLR start "variantTag"
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:436:1: variantTag : LT IDENTIFIER GT -> ^( VARIANT_TAG IDENTIFIER ) ;
- public final CTFParser.variantTag_return variantTag() throws RecognitionException {
- CTFParser.variantTag_return retval = new CTFParser.variantTag_return();
- retval.start = input.LT(1);
-
- CommonTree root_0 = null;
-
- Token LT99=null;
- Token IDENTIFIER100=null;
- Token GT101=null;
-
- CommonTree LT99_tree=null;
- CommonTree IDENTIFIER100_tree=null;
- CommonTree GT101_tree=null;
- RewriteRuleTokenStream stream_GT=new RewriteRuleTokenStream(adaptor,"token GT");
- RewriteRuleTokenStream stream_LT=new RewriteRuleTokenStream(adaptor,"token LT");
- RewriteRuleTokenStream stream_IDENTIFIER=new RewriteRuleTokenStream(adaptor,"token IDENTIFIER");
-
- try {
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:437:3: ( LT IDENTIFIER GT -> ^( VARIANT_TAG IDENTIFIER ) )
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:437:5: LT IDENTIFIER GT
- {
- LT99=(Token)match(input,LT,FOLLOW_LT_in_variantTag2174); if (state.failed) return retval;
- if ( state.backtracking==0 ) stream_LT.add(LT99);
-
- IDENTIFIER100=(Token)match(input,IDENTIFIER,FOLLOW_IDENTIFIER_in_variantTag2176); if (state.failed) return retval;
- if ( state.backtracking==0 ) stream_IDENTIFIER.add(IDENTIFIER100);
-
- GT101=(Token)match(input,GT,FOLLOW_GT_in_variantTag2178); if (state.failed) return retval;
- if ( state.backtracking==0 ) stream_GT.add(GT101);
-
- // AST REWRITE
- // elements: IDENTIFIER
- // token labels:
- // rule labels: retval
- // token list labels:
- // rule list labels:
- // wildcard labels:
- if ( state.backtracking==0 ) {
- retval.tree = root_0;
- RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
-
- root_0 = (CommonTree)adaptor.nil();
- // 437:22: -> ^( VARIANT_TAG IDENTIFIER )
- {
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:437:25: ^( VARIANT_TAG IDENTIFIER )
- {
- CommonTree root_1 = (CommonTree)adaptor.nil();
- root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(VARIANT_TAG, "VARIANT_TAG"), root_1);
- adaptor.addChild(root_1, stream_IDENTIFIER.nextNode());
- adaptor.addChild(root_0, root_1);
- }
-
- }
-
-
- retval.tree = root_0;
- }
-
- }
-
- retval.stop = input.LT(-1);
-
- if ( state.backtracking==0 ) {
- retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0);
- adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
- }
- }
-
- catch (RecognitionException e) {
- throw e;
- }
-
- finally {
- // do for sure before leaving
- }
- return retval;
- }
- // $ANTLR end "variantTag"
-
-
- public static class enumSpecifier_return extends ParserRuleReturnScope {
- CommonTree tree;
- @Override
- public CommonTree getTree() { return tree; }
- };
-
-
- // $ANTLR start "enumSpecifier"
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:440:1: enumSpecifier : ENUMTOK ( ( enumName ( enumContainerType enumBody | enumBody |) ) | ( enumContainerType enumBody | enumBody ) ) -> ^( ENUM ( enumName )? ( enumContainerType )? ( enumBody )? ) ;
- public final CTFParser.enumSpecifier_return enumSpecifier() throws RecognitionException {
- CTFParser.enumSpecifier_return retval = new CTFParser.enumSpecifier_return();
- retval.start = input.LT(1);
-
- CommonTree root_0 = null;
-
- Token ENUMTOK102=null;
- ParserRuleReturnScope enumName103 =null;
- ParserRuleReturnScope enumContainerType104 =null;
- ParserRuleReturnScope enumBody105 =null;
- ParserRuleReturnScope enumBody106 =null;
- ParserRuleReturnScope enumContainerType107 =null;
- ParserRuleReturnScope enumBody108 =null;
- ParserRuleReturnScope enumBody109 =null;
-
- CommonTree ENUMTOK102_tree=null;
- RewriteRuleTokenStream stream_ENUMTOK=new RewriteRuleTokenStream(adaptor,"token ENUMTOK");
- RewriteRuleSubtreeStream stream_enumName=new RewriteRuleSubtreeStream(adaptor,"rule enumName");
- RewriteRuleSubtreeStream stream_enumContainerType=new RewriteRuleSubtreeStream(adaptor,"rule enumContainerType");
- RewriteRuleSubtreeStream stream_enumBody=new RewriteRuleSubtreeStream(adaptor,"rule enumBody");
-
- try {
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:441:3: ( ENUMTOK ( ( enumName ( enumContainerType enumBody | enumBody |) ) | ( enumContainerType enumBody | enumBody ) ) -> ^( ENUM ( enumName )? ( enumContainerType )? ( enumBody )? ) )
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:441:5: ENUMTOK ( ( enumName ( enumContainerType enumBody | enumBody |) ) | ( enumContainerType enumBody | enumBody ) )
- {
- ENUMTOK102=(Token)match(input,ENUMTOK,FOLLOW_ENUMTOK_in_enumSpecifier2199); if (state.failed) return retval;
- if ( state.backtracking==0 ) stream_ENUMTOK.add(ENUMTOK102);
-
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:442:5: ( ( enumName ( enumContainerType enumBody | enumBody |) ) | ( enumContainerType enumBody | enumBody ) )
- int alt33=2;
- int LA33_0 = input.LA(1);
- if ( (LA33_0==IDENTIFIER) ) {
- alt33=1;
- }
- else if ( (LA33_0==COLON||LA33_0==LCURL) ) {
- alt33=2;
- }
-
- else {
- if (state.backtracking>0) {state.failed=true; return retval;}
- NoViableAltException nvae =
- new NoViableAltException("", 33, 0, input);
- throw nvae;
- }
-
- switch (alt33) {
- case 1 :
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:444:9: ( enumName ( enumContainerType enumBody | enumBody |) )
- {
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:444:9: ( enumName ( enumContainerType enumBody | enumBody |) )
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:445:13: enumName ( enumContainerType enumBody | enumBody |)
- {
- pushFollow(FOLLOW_enumName_in_enumSpecifier2238);
- enumName103=enumName();
- state._fsp--;
- if (state.failed) return retval;
- if ( state.backtracking==0 ) stream_enumName.add(enumName103.getTree());
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:446:13: ( enumContainerType enumBody | enumBody |)
- int alt31=3;
- switch ( input.LA(1) ) {
- case COLON:
- {
- alt31=1;
- }
- break;
- case LCURL:
- {
- alt31=2;
- }
- break;
- case EOF:
- case BOOLTOK:
- case CHARTOK:
- case COMPLEXTOK:
- case CONSTTOK:
- case DOUBLETOK:
- case ENUMTOK:
- case FLOATINGPOINTTOK:
- case FLOATTOK:
- case IDENTIFIER:
- case IMAGINARYTOK:
- case INTEGERTOK:
- case INTTOK:
- case LONGTOK:
- case LPAREN:
- case POINTER:
- case SHORTTOK:
- case SIGNEDTOK:
- case STRINGTOK:
- case STRUCTTOK:
- case TERM:
- case TYPEDEFTOK:
- case TYPE_ASSIGNMENT:
- case UNSIGNEDTOK:
- case VARIANTTOK:
- case VOIDTOK:
- {
- alt31=3;
- }
- break;
- default:
- if (state.backtracking>0) {state.failed=true; return retval;}
- NoViableAltException nvae =
- new NoViableAltException("", 31, 0, input);
- throw nvae;
- }
- switch (alt31) {
- case 1 :
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:447:17: enumContainerType enumBody
- {
- pushFollow(FOLLOW_enumContainerType_in_enumSpecifier2270);
- enumContainerType104=enumContainerType();
- state._fsp--;
- if (state.failed) return retval;
- if ( state.backtracking==0 ) stream_enumContainerType.add(enumContainerType104.getTree());
- pushFollow(FOLLOW_enumBody_in_enumSpecifier2272);
- enumBody105=enumBody();
- state._fsp--;
- if (state.failed) return retval;
- if ( state.backtracking==0 ) stream_enumBody.add(enumBody105.getTree());
- }
- break;
- case 2 :
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:449:17: enumBody
- {
- pushFollow(FOLLOW_enumBody_in_enumSpecifier2302);
- enumBody106=enumBody();
- state._fsp--;
- if (state.failed) return retval;
- if ( state.backtracking==0 ) stream_enumBody.add(enumBody106.getTree());
- }
- break;
- case 3 :
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:452:13:
- {
- }
- break;
-
- }
-
- }
-
- }
- break;
- case 2 :
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:456:9: ( enumContainerType enumBody | enumBody )
- {
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:456:9: ( enumContainerType enumBody | enumBody )
- int alt32=2;
- int LA32_0 = input.LA(1);
- if ( (LA32_0==COLON) ) {
- alt32=1;
- }
- else if ( (LA32_0==LCURL) ) {
- alt32=2;
- }
-
- else {
- if (state.backtracking>0) {state.failed=true; return retval;}
- NoViableAltException nvae =
- new NoViableAltException("", 32, 0, input);
- throw nvae;
- }
-
- switch (alt32) {
- case 1 :
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:457:13: enumContainerType enumBody
- {
- pushFollow(FOLLOW_enumContainerType_in_enumSpecifier2394);
- enumContainerType107=enumContainerType();
- state._fsp--;
- if (state.failed) return retval;
- if ( state.backtracking==0 ) stream_enumContainerType.add(enumContainerType107.getTree());
- pushFollow(FOLLOW_enumBody_in_enumSpecifier2396);
- enumBody108=enumBody();
- state._fsp--;
- if (state.failed) return retval;
- if ( state.backtracking==0 ) stream_enumBody.add(enumBody108.getTree());
- }
- break;
- case 2 :
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:459:13: enumBody
- {
- pushFollow(FOLLOW_enumBody_in_enumSpecifier2420);
- enumBody109=enumBody();
- state._fsp--;
- if (state.failed) return retval;
- if ( state.backtracking==0 ) stream_enumBody.add(enumBody109.getTree());
- }
- break;
-
- }
-
- }
- break;
-
- }
-
- // AST REWRITE
- // elements: enumBody, enumContainerType, enumName
- // token labels:
- // rule labels: retval
- // token list labels:
- // rule list labels:
- // wildcard labels:
- if ( state.backtracking==0 ) {
- retval.tree = root_0;
- RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
-
- root_0 = (CommonTree)adaptor.nil();
- // 461:7: -> ^( ENUM ( enumName )? ( enumContainerType )? ( enumBody )? )
- {
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:461:10: ^( ENUM ( enumName )? ( enumContainerType )? ( enumBody )? )
- {
- CommonTree root_1 = (CommonTree)adaptor.nil();
- root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(ENUM, "ENUM"), root_1);
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:461:17: ( enumName )?
- if ( stream_enumName.hasNext() ) {
- adaptor.addChild(root_1, stream_enumName.nextTree());
- }
- stream_enumName.reset();
-
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:461:27: ( enumContainerType )?
- if ( stream_enumContainerType.hasNext() ) {
- adaptor.addChild(root_1, stream_enumContainerType.nextTree());
- }
- stream_enumContainerType.reset();
-
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:461:46: ( enumBody )?
- if ( stream_enumBody.hasNext() ) {
- adaptor.addChild(root_1, stream_enumBody.nextTree());
- }
- stream_enumBody.reset();
-
- adaptor.addChild(root_0, root_1);
- }
-
- }
-
-
- retval.tree = root_0;
- }
-
- }
-
- retval.stop = input.LT(-1);
-
- if ( state.backtracking==0 ) {
- retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0);
- adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
- }
- }
-
- catch (RecognitionException e) {
- throw e;
- }
-
- finally {
- // do for sure before leaving
- }
- return retval;
- }
- // $ANTLR end "enumSpecifier"
-
-
- public static class enumName_return extends ParserRuleReturnScope {
- CommonTree tree;
- @Override
- public CommonTree getTree() { return tree; }
- };
-
-
- // $ANTLR start "enumName"
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:464:1: enumName : IDENTIFIER -> ^( ENUM_NAME IDENTIFIER ) ;
- public final CTFParser.enumName_return enumName() throws RecognitionException {
- CTFParser.enumName_return retval = new CTFParser.enumName_return();
- retval.start = input.LT(1);
-
- CommonTree root_0 = null;
-
- Token IDENTIFIER110=null;
-
- CommonTree IDENTIFIER110_tree=null;
- RewriteRuleTokenStream stream_IDENTIFIER=new RewriteRuleTokenStream(adaptor,"token IDENTIFIER");
-
- try {
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:465:3: ( IDENTIFIER -> ^( ENUM_NAME IDENTIFIER ) )
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:465:5: IDENTIFIER
- {
- IDENTIFIER110=(Token)match(input,IDENTIFIER,FOLLOW_IDENTIFIER_in_enumName2464); if (state.failed) return retval;
- if ( state.backtracking==0 ) stream_IDENTIFIER.add(IDENTIFIER110);
-
- // AST REWRITE
- // elements: IDENTIFIER
- // token labels:
- // rule labels: retval
- // token list labels:
- // rule list labels:
- // wildcard labels:
- if ( state.backtracking==0 ) {
- retval.tree = root_0;
- RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
-
- root_0 = (CommonTree)adaptor.nil();
- // 465:16: -> ^( ENUM_NAME IDENTIFIER )
- {
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:465:19: ^( ENUM_NAME IDENTIFIER )
- {
- CommonTree root_1 = (CommonTree)adaptor.nil();
- root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(ENUM_NAME, "ENUM_NAME"), root_1);
- adaptor.addChild(root_1, stream_IDENTIFIER.nextNode());
- adaptor.addChild(root_0, root_1);
- }
-
- }
-
-
- retval.tree = root_0;
- }
-
- }
-
- retval.stop = input.LT(-1);
-
- if ( state.backtracking==0 ) {
- retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0);
- adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
- }
- }
-
- catch (RecognitionException e) {
- throw e;
- }
-
- finally {
- // do for sure before leaving
- }
- return retval;
- }
- // $ANTLR end "enumName"
-
-
- public static class enumBody_return extends ParserRuleReturnScope {
- CommonTree tree;
- @Override
- public CommonTree getTree() { return tree; }
- };
-
-
- // $ANTLR start "enumBody"
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:468:1: enumBody : LCURL enumeratorList ( SEPARATOR )? RCURL -> ^( ENUM_BODY enumeratorList ) ;
- public final CTFParser.enumBody_return enumBody() throws RecognitionException {
- CTFParser.enumBody_return retval = new CTFParser.enumBody_return();
- retval.start = input.LT(1);
-
- CommonTree root_0 = null;
-
- Token LCURL111=null;
- Token SEPARATOR113=null;
- Token RCURL114=null;
- ParserRuleReturnScope enumeratorList112 =null;
-
- CommonTree LCURL111_tree=null;
- CommonTree SEPARATOR113_tree=null;
- CommonTree RCURL114_tree=null;
- RewriteRuleTokenStream stream_LCURL=new RewriteRuleTokenStream(adaptor,"token LCURL");
- RewriteRuleTokenStream stream_SEPARATOR=new RewriteRuleTokenStream(adaptor,"token SEPARATOR");
- RewriteRuleTokenStream stream_RCURL=new RewriteRuleTokenStream(adaptor,"token RCURL");
- RewriteRuleSubtreeStream stream_enumeratorList=new RewriteRuleSubtreeStream(adaptor,"rule enumeratorList");
-
- try {
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:469:3: ( LCURL enumeratorList ( SEPARATOR )? RCURL -> ^( ENUM_BODY enumeratorList ) )
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:469:5: LCURL enumeratorList ( SEPARATOR )? RCURL
- {
- LCURL111=(Token)match(input,LCURL,FOLLOW_LCURL_in_enumBody2485); if (state.failed) return retval;
- if ( state.backtracking==0 ) stream_LCURL.add(LCURL111);
-
- pushFollow(FOLLOW_enumeratorList_in_enumBody2487);
- enumeratorList112=enumeratorList();
- state._fsp--;
- if (state.failed) return retval;
- if ( state.backtracking==0 ) stream_enumeratorList.add(enumeratorList112.getTree());
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:469:26: ( SEPARATOR )?
- int alt34=2;
- int LA34_0 = input.LA(1);
- if ( (LA34_0==SEPARATOR) ) {
- alt34=1;
- }
- switch (alt34) {
- case 1 :
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:469:26: SEPARATOR
- {
- SEPARATOR113=(Token)match(input,SEPARATOR,FOLLOW_SEPARATOR_in_enumBody2489); if (state.failed) return retval;
- if ( state.backtracking==0 ) stream_SEPARATOR.add(SEPARATOR113);
-
- }
- break;
-
- }
-
- RCURL114=(Token)match(input,RCURL,FOLLOW_RCURL_in_enumBody2492); if (state.failed) return retval;
- if ( state.backtracking==0 ) stream_RCURL.add(RCURL114);
-
- // AST REWRITE
- // elements: enumeratorList
- // token labels:
- // rule labels: retval
- // token list labels:
- // rule list labels:
- // wildcard labels:
- if ( state.backtracking==0 ) {
- retval.tree = root_0;
- RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
-
- root_0 = (CommonTree)adaptor.nil();
- // 469:43: -> ^( ENUM_BODY enumeratorList )
- {
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:469:46: ^( ENUM_BODY enumeratorList )
- {
- CommonTree root_1 = (CommonTree)adaptor.nil();
- root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(ENUM_BODY, "ENUM_BODY"), root_1);
- adaptor.addChild(root_1, stream_enumeratorList.nextTree());
- adaptor.addChild(root_0, root_1);
- }
-
- }
-
-
- retval.tree = root_0;
- }
-
- }
-
- retval.stop = input.LT(-1);
-
- if ( state.backtracking==0 ) {
- retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0);
- adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
- }
- }
-
- catch (RecognitionException e) {
- throw e;
- }
-
- finally {
- // do for sure before leaving
- }
- return retval;
- }
- // $ANTLR end "enumBody"
-
-
- public static class enumContainerType_return extends ParserRuleReturnScope {
- CommonTree tree;
- @Override
- public CommonTree getTree() { return tree; }
- };
-
-
- // $ANTLR start "enumContainerType"
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:472:1: enumContainerType : COLON declarationSpecifiers -> ^( ENUM_CONTAINER_TYPE declarationSpecifiers ) ;
- public final CTFParser.enumContainerType_return enumContainerType() throws RecognitionException {
- CTFParser.enumContainerType_return retval = new CTFParser.enumContainerType_return();
- retval.start = input.LT(1);
-
- CommonTree root_0 = null;
-
- Token COLON115=null;
- ParserRuleReturnScope declarationSpecifiers116 =null;
-
- CommonTree COLON115_tree=null;
- RewriteRuleTokenStream stream_COLON=new RewriteRuleTokenStream(adaptor,"token COLON");
- RewriteRuleSubtreeStream stream_declarationSpecifiers=new RewriteRuleSubtreeStream(adaptor,"rule declarationSpecifiers");
-
- try {
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:473:3: ( COLON declarationSpecifiers -> ^( ENUM_CONTAINER_TYPE declarationSpecifiers ) )
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:473:5: COLON declarationSpecifiers
- {
- COLON115=(Token)match(input,COLON,FOLLOW_COLON_in_enumContainerType2513); if (state.failed) return retval;
- if ( state.backtracking==0 ) stream_COLON.add(COLON115);
-
- pushFollow(FOLLOW_declarationSpecifiers_in_enumContainerType2515);
- declarationSpecifiers116=declarationSpecifiers();
- state._fsp--;
- if (state.failed) return retval;
- if ( state.backtracking==0 ) stream_declarationSpecifiers.add(declarationSpecifiers116.getTree());
- // AST REWRITE
- // elements: declarationSpecifiers
- // token labels:
- // rule labels: retval
- // token list labels:
- // rule list labels:
- // wildcard labels:
- if ( state.backtracking==0 ) {
- retval.tree = root_0;
- RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
-
- root_0 = (CommonTree)adaptor.nil();
- // 473:33: -> ^( ENUM_CONTAINER_TYPE declarationSpecifiers )
- {
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:473:36: ^( ENUM_CONTAINER_TYPE declarationSpecifiers )
- {
- CommonTree root_1 = (CommonTree)adaptor.nil();
- root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(ENUM_CONTAINER_TYPE, "ENUM_CONTAINER_TYPE"), root_1);
- adaptor.addChild(root_1, stream_declarationSpecifiers.nextTree());
- adaptor.addChild(root_0, root_1);
- }
-
- }
-
-
- retval.tree = root_0;
- }
-
- }
-
- retval.stop = input.LT(-1);
-
- if ( state.backtracking==0 ) {
- retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0);
- adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
- }
- }
-
- catch (RecognitionException e) {
- throw e;
- }
-
- finally {
- // do for sure before leaving
- }
- return retval;
- }
- // $ANTLR end "enumContainerType"
-
-
- public static class enumeratorList_return extends ParserRuleReturnScope {
- CommonTree tree;
- @Override
- public CommonTree getTree() { return tree; }
- };
-
-
- // $ANTLR start "enumeratorList"
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:476:1: enumeratorList : enumerator ( SEPARATOR enumerator )* -> ( ^( ENUM_ENUMERATOR enumerator ) )+ ;
- public final CTFParser.enumeratorList_return enumeratorList() throws RecognitionException {
- CTFParser.enumeratorList_return retval = new CTFParser.enumeratorList_return();
- retval.start = input.LT(1);
-
- CommonTree root_0 = null;
-
- Token SEPARATOR118=null;
- ParserRuleReturnScope enumerator117 =null;
- ParserRuleReturnScope enumerator119 =null;
-
- CommonTree SEPARATOR118_tree=null;
- RewriteRuleTokenStream stream_SEPARATOR=new RewriteRuleTokenStream(adaptor,"token SEPARATOR");
- RewriteRuleSubtreeStream stream_enumerator=new RewriteRuleSubtreeStream(adaptor,"rule enumerator");
-
- try {
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:477:3: ( enumerator ( SEPARATOR enumerator )* -> ( ^( ENUM_ENUMERATOR enumerator ) )+ )
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:477:5: enumerator ( SEPARATOR enumerator )*
- {
- pushFollow(FOLLOW_enumerator_in_enumeratorList2536);
- enumerator117=enumerator();
- state._fsp--;
- if (state.failed) return retval;
- if ( state.backtracking==0 ) stream_enumerator.add(enumerator117.getTree());
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:477:16: ( SEPARATOR enumerator )*
- loop35:
- while (true) {
- int alt35=2;
- int LA35_0 = input.LA(1);
- if ( (LA35_0==SEPARATOR) ) {
- int LA35_1 = input.LA(2);
- if ( (LA35_1==ALIGNTOK||LA35_1==EVENTTOK||LA35_1==IDENTIFIER||LA35_1==SIGNEDTOK||LA35_1==STRINGTOK||LA35_1==STRING_LITERAL) ) {
- alt35=1;
- }
-
- }
-
- switch (alt35) {
- case 1 :
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:477:17: SEPARATOR enumerator
- {
- SEPARATOR118=(Token)match(input,SEPARATOR,FOLLOW_SEPARATOR_in_enumeratorList2539); if (state.failed) return retval;
- if ( state.backtracking==0 ) stream_SEPARATOR.add(SEPARATOR118);
-
- pushFollow(FOLLOW_enumerator_in_enumeratorList2541);
- enumerator119=enumerator();
- state._fsp--;
- if (state.failed) return retval;
- if ( state.backtracking==0 ) stream_enumerator.add(enumerator119.getTree());
- }
- break;
-
- default :
- break loop35;
- }
- }
-
- // AST REWRITE
- // elements: enumerator
- // token labels:
- // rule labels: retval
- // token list labels:
- // rule list labels:
- // wildcard labels:
- if ( state.backtracking==0 ) {
- retval.tree = root_0;
- RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
-
- root_0 = (CommonTree)adaptor.nil();
- // 477:40: -> ( ^( ENUM_ENUMERATOR enumerator ) )+
- {
- if ( !(stream_enumerator.hasNext()) ) {
- throw new RewriteEarlyExitException();
- }
- while ( stream_enumerator.hasNext() ) {
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:477:44: ^( ENUM_ENUMERATOR enumerator )
- {
- CommonTree root_1 = (CommonTree)adaptor.nil();
- root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(ENUM_ENUMERATOR, "ENUM_ENUMERATOR"), root_1);
- adaptor.addChild(root_1, stream_enumerator.nextTree());
- adaptor.addChild(root_0, root_1);
- }
-
- }
- stream_enumerator.reset();
-
- }
-
-
- retval.tree = root_0;
- }
-
- }
-
- retval.stop = input.LT(-1);
-
- if ( state.backtracking==0 ) {
- retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0);
- adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
- }
- }
-
- catch (RecognitionException e) {
- throw e;
- }
-
- finally {
- // do for sure before leaving
- }
- return retval;
- }
- // $ANTLR end "enumeratorList"
-
-
- public static class enumerator_return extends ParserRuleReturnScope {
- CommonTree tree;
- @Override
- public CommonTree getTree() { return tree; }
- };
-
-
- // $ANTLR start "enumerator"
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:480:1: enumerator : enumConstant ( enumeratorValue )? ;
- public final CTFParser.enumerator_return enumerator() throws RecognitionException {
- CTFParser.enumerator_return retval = new CTFParser.enumerator_return();
- retval.start = input.LT(1);
-
- CommonTree root_0 = null;
-
- ParserRuleReturnScope enumConstant120 =null;
- ParserRuleReturnScope enumeratorValue121 =null;
-
-
- try {
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:481:3: ( enumConstant ( enumeratorValue )? )
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:481:5: enumConstant ( enumeratorValue )?
- {
- root_0 = (CommonTree)adaptor.nil();
-
-
- pushFollow(FOLLOW_enumConstant_in_enumerator2567);
- enumConstant120=enumConstant();
- state._fsp--;
- if (state.failed) return retval;
- if ( state.backtracking==0 ) adaptor.addChild(root_0, enumConstant120.getTree());
-
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:481:18: ( enumeratorValue )?
- int alt36=2;
- int LA36_0 = input.LA(1);
- if ( (LA36_0==ASSIGNMENT) ) {
- alt36=1;
- }
- switch (alt36) {
- case 1 :
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:481:18: enumeratorValue
- {
- pushFollow(FOLLOW_enumeratorValue_in_enumerator2569);
- enumeratorValue121=enumeratorValue();
- state._fsp--;
- if (state.failed) return retval;
- if ( state.backtracking==0 ) adaptor.addChild(root_0, enumeratorValue121.getTree());
-
- }
- break;
-
- }
-
- }
-
- retval.stop = input.LT(-1);
-
- if ( state.backtracking==0 ) {
- retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0);
- adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
- }
- }
-
- catch (RecognitionException e) {
- throw e;
- }
-
- finally {
- // do for sure before leaving
- }
- return retval;
- }
- // $ANTLR end "enumerator"
-
-
- public static class enumeratorValue_return extends ParserRuleReturnScope {
- CommonTree tree;
- @Override
- public CommonTree getTree() { return tree; }
- };
-
-
- // $ANTLR start "enumeratorValue"
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:484:1: enumeratorValue : ASSIGNMENT e1= unaryExpression ( -> ^( ENUM_VALUE $e1) | ELIPSES e2= unaryExpression -> ^( ENUM_VALUE_RANGE $e1 $e2) ) ;
- public final CTFParser.enumeratorValue_return enumeratorValue() throws RecognitionException {
- CTFParser.enumeratorValue_return retval = new CTFParser.enumeratorValue_return();
- retval.start = input.LT(1);
-
- CommonTree root_0 = null;
-
- Token ASSIGNMENT122=null;
- Token ELIPSES123=null;
- ParserRuleReturnScope e1 =null;
- ParserRuleReturnScope e2 =null;
-
- CommonTree ASSIGNMENT122_tree=null;
- CommonTree ELIPSES123_tree=null;
- RewriteRuleTokenStream stream_ASSIGNMENT=new RewriteRuleTokenStream(adaptor,"token ASSIGNMENT");
- RewriteRuleTokenStream stream_ELIPSES=new RewriteRuleTokenStream(adaptor,"token ELIPSES");
- RewriteRuleSubtreeStream stream_unaryExpression=new RewriteRuleSubtreeStream(adaptor,"rule unaryExpression");
-
- try {
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:485:3: ( ASSIGNMENT e1= unaryExpression ( -> ^( ENUM_VALUE $e1) | ELIPSES e2= unaryExpression -> ^( ENUM_VALUE_RANGE $e1 $e2) ) )
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:485:5: ASSIGNMENT e1= unaryExpression ( -> ^( ENUM_VALUE $e1) | ELIPSES e2= unaryExpression -> ^( ENUM_VALUE_RANGE $e1 $e2) )
- {
- ASSIGNMENT122=(Token)match(input,ASSIGNMENT,FOLLOW_ASSIGNMENT_in_enumeratorValue2583); if (state.failed) return retval;
- if ( state.backtracking==0 ) stream_ASSIGNMENT.add(ASSIGNMENT122);
-
- pushFollow(FOLLOW_unaryExpression_in_enumeratorValue2587);
- e1=unaryExpression();
- state._fsp--;
- if (state.failed) return retval;
- if ( state.backtracking==0 ) stream_unaryExpression.add(e1.getTree());
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:486:7: ( -> ^( ENUM_VALUE $e1) | ELIPSES e2= unaryExpression -> ^( ENUM_VALUE_RANGE $e1 $e2) )
- int alt37=2;
- int LA37_0 = input.LA(1);
- if ( (LA37_0==RCURL||LA37_0==SEPARATOR) ) {
- alt37=1;
- }
- else if ( (LA37_0==ELIPSES) ) {
- alt37=2;
- }
-
- else {
- if (state.backtracking>0) {state.failed=true; return retval;}
- NoViableAltException nvae =
- new NoViableAltException("", 37, 0, input);
- throw nvae;
- }
-
- switch (alt37) {
- case 1 :
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:487:11:
- {
- // AST REWRITE
- // elements: e1
- // token labels:
- // rule labels: retval, e1
- // token list labels:
- // rule list labels:
- // wildcard labels:
- if ( state.backtracking==0 ) {
- retval.tree = root_0;
- RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
- RewriteRuleSubtreeStream stream_e1=new RewriteRuleSubtreeStream(adaptor,"rule e1",e1!=null?e1.getTree():null);
-
- root_0 = (CommonTree)adaptor.nil();
- // 487:11: -> ^( ENUM_VALUE $e1)
- {
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:487:14: ^( ENUM_VALUE $e1)
- {
- CommonTree root_1 = (CommonTree)adaptor.nil();
- root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(ENUM_VALUE, "ENUM_VALUE"), root_1);
- adaptor.addChild(root_1, stream_e1.nextTree());
- adaptor.addChild(root_0, root_1);
- }
-
- }
-
-
- retval.tree = root_0;
- }
-
- }
- break;
- case 2 :
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:488:9: ELIPSES e2= unaryExpression
- {
- ELIPSES123=(Token)match(input,ELIPSES,FOLLOW_ELIPSES_in_enumeratorValue2626); if (state.failed) return retval;
- if ( state.backtracking==0 ) stream_ELIPSES.add(ELIPSES123);
-
- pushFollow(FOLLOW_unaryExpression_in_enumeratorValue2630);
- e2=unaryExpression();
- state._fsp--;
- if (state.failed) return retval;
- if ( state.backtracking==0 ) stream_unaryExpression.add(e2.getTree());
- // AST REWRITE
- // elements: e1, e2
- // token labels:
- // rule labels: retval, e1, e2
- // token list labels:
- // rule list labels:
- // wildcard labels:
- if ( state.backtracking==0 ) {
- retval.tree = root_0;
- RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
- RewriteRuleSubtreeStream stream_e1=new RewriteRuleSubtreeStream(adaptor,"rule e1",e1!=null?e1.getTree():null);
- RewriteRuleSubtreeStream stream_e2=new RewriteRuleSubtreeStream(adaptor,"rule e2",e2!=null?e2.getTree():null);
-
- root_0 = (CommonTree)adaptor.nil();
- // 489:11: -> ^( ENUM_VALUE_RANGE $e1 $e2)
- {
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:489:14: ^( ENUM_VALUE_RANGE $e1 $e2)
- {
- CommonTree root_1 = (CommonTree)adaptor.nil();
- root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(ENUM_VALUE_RANGE, "ENUM_VALUE_RANGE"), root_1);
- adaptor.addChild(root_1, stream_e1.nextTree());
- adaptor.addChild(root_1, stream_e2.nextTree());
- adaptor.addChild(root_0, root_1);
- }
-
- }
-
-
- retval.tree = root_0;
- }
-
- }
- break;
-
- }
-
- }
-
- retval.stop = input.LT(-1);
-
- if ( state.backtracking==0 ) {
- retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0);
- adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
- }
- }
-
- catch (RecognitionException e) {
- throw e;
- }
-
- finally {
- // do for sure before leaving
- }
- return retval;
- }
- // $ANTLR end "enumeratorValue"
-
-
- public static class declarator_return extends ParserRuleReturnScope {
- CommonTree tree;
- @Override
- public CommonTree getTree() { return tree; }
- };
-
-
- // $ANTLR start "declarator"
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:493:1: declarator : ( pointer )* directDeclarator -> ^( TYPE_DECLARATOR ( pointer )* directDeclarator ) ;
- public final CTFParser.declarator_return declarator() throws RecognitionException {
- CTFParser.declarator_return retval = new CTFParser.declarator_return();
- retval.start = input.LT(1);
-
- CommonTree root_0 = null;
-
- ParserRuleReturnScope pointer124 =null;
- ParserRuleReturnScope directDeclarator125 =null;
-
- RewriteRuleSubtreeStream stream_directDeclarator=new RewriteRuleSubtreeStream(adaptor,"rule directDeclarator");
- RewriteRuleSubtreeStream stream_pointer=new RewriteRuleSubtreeStream(adaptor,"rule pointer");
-
- try {
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:494:3: ( ( pointer )* directDeclarator -> ^( TYPE_DECLARATOR ( pointer )* directDeclarator ) )
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:494:5: ( pointer )* directDeclarator
- {
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:494:5: ( pointer )*
- loop38:
- while (true) {
- int alt38=2;
- int LA38_0 = input.LA(1);
- if ( (LA38_0==POINTER) ) {
- alt38=1;
- }
-
- switch (alt38) {
- case 1 :
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:494:5: pointer
- {
- pushFollow(FOLLOW_pointer_in_declarator2673);
- pointer124=pointer();
- state._fsp--;
- if (state.failed) return retval;
- if ( state.backtracking==0 ) stream_pointer.add(pointer124.getTree());
- }
- break;
-
- default :
- break loop38;
- }
- }
-
- pushFollow(FOLLOW_directDeclarator_in_declarator2676);
- directDeclarator125=directDeclarator();
- state._fsp--;
- if (state.failed) return retval;
- if ( state.backtracking==0 ) stream_directDeclarator.add(directDeclarator125.getTree());
- // AST REWRITE
- // elements: directDeclarator, pointer
- // token labels:
- // rule labels: retval
- // token list labels:
- // rule list labels:
- // wildcard labels:
- if ( state.backtracking==0 ) {
- retval.tree = root_0;
- RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
-
- root_0 = (CommonTree)adaptor.nil();
- // 495:7: -> ^( TYPE_DECLARATOR ( pointer )* directDeclarator )
- {
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:495:10: ^( TYPE_DECLARATOR ( pointer )* directDeclarator )
- {
- CommonTree root_1 = (CommonTree)adaptor.nil();
- root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(TYPE_DECLARATOR, "TYPE_DECLARATOR"), root_1);
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:495:28: ( pointer )*
- while ( stream_pointer.hasNext() ) {
- adaptor.addChild(root_1, stream_pointer.nextTree());
- }
- stream_pointer.reset();
-
- adaptor.addChild(root_1, stream_directDeclarator.nextTree());
- adaptor.addChild(root_0, root_1);
- }
-
- }
-
-
- retval.tree = root_0;
- }
-
- }
-
- retval.stop = input.LT(-1);
-
- if ( state.backtracking==0 ) {
- retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0);
- adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
- }
- }
-
- catch (RecognitionException e) {
- throw e;
- }
-
- finally {
- // do for sure before leaving
- }
- return retval;
- }
- // $ANTLR end "declarator"
-
-
- public static class directDeclarator_return extends ParserRuleReturnScope {
- CommonTree tree;
- @Override
- public CommonTree getTree() { return tree; }
- };
-
-
- // $ANTLR start "directDeclarator"
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:498:1: directDeclarator : ( IDENTIFIER ) ( directDeclaratorSuffix )* ;
- public final CTFParser.directDeclarator_return directDeclarator() throws RecognitionException {
- CTFParser.directDeclarator_return retval = new CTFParser.directDeclarator_return();
- retval.start = input.LT(1);
-
- CommonTree root_0 = null;
-
- Token IDENTIFIER126=null;
- ParserRuleReturnScope directDeclaratorSuffix127 =null;
-
- CommonTree IDENTIFIER126_tree=null;
-
- try {
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:499:3: ( ( IDENTIFIER ) ( directDeclaratorSuffix )* )
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:499:5: ( IDENTIFIER ) ( directDeclaratorSuffix )*
- {
- root_0 = (CommonTree)adaptor.nil();
-
-
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:499:5: ( IDENTIFIER )
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:500:7: IDENTIFIER
- {
- IDENTIFIER126=(Token)match(input,IDENTIFIER,FOLLOW_IDENTIFIER_in_directDeclarator2714); if (state.failed) return retval;
- if ( state.backtracking==0 ) {
- IDENTIFIER126_tree = (CommonTree)adaptor.create(IDENTIFIER126);
- adaptor.addChild(root_0, IDENTIFIER126_tree);
- }
-
- if ( state.backtracking==0 ) { if (inTypedef()) addTypeName((IDENTIFIER126!=null?IDENTIFIER126.getText():null)); }
- if ( state.backtracking==0 ) { debug_print((IDENTIFIER126!=null?IDENTIFIER126.getText():null)); }
- }
-
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:505:5: ( directDeclaratorSuffix )*
- loop39:
- while (true) {
- int alt39=2;
- int LA39_0 = input.LA(1);
- if ( (LA39_0==OPENBRAC) ) {
- alt39=1;
- }
-
- switch (alt39) {
- case 1 :
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:505:5: directDeclaratorSuffix
- {
- pushFollow(FOLLOW_directDeclaratorSuffix_in_directDeclarator2754);
- directDeclaratorSuffix127=directDeclaratorSuffix();
- state._fsp--;
- if (state.failed) return retval;
- if ( state.backtracking==0 ) adaptor.addChild(root_0, directDeclaratorSuffix127.getTree());
-
- }
- break;
-
- default :
- break loop39;
- }
- }
-
- }
-
- retval.stop = input.LT(-1);
-
- if ( state.backtracking==0 ) {
- retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0);
- adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
- }
- }
-
- catch (RecognitionException e) {
- throw e;
- }
-
- finally {
- // do for sure before leaving
- }
- return retval;
- }
- // $ANTLR end "directDeclarator"
-
-
- public static class directDeclaratorSuffix_return extends ParserRuleReturnScope {
- CommonTree tree;
- @Override
- public CommonTree getTree() { return tree; }
- };
-
-
- // $ANTLR start "directDeclaratorSuffix"
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:508:1: directDeclaratorSuffix : OPENBRAC directDeclaratorLength CLOSEBRAC -> ^( LENGTH directDeclaratorLength ) ;
- public final CTFParser.directDeclaratorSuffix_return directDeclaratorSuffix() throws RecognitionException {
- CTFParser.directDeclaratorSuffix_return retval = new CTFParser.directDeclaratorSuffix_return();
- retval.start = input.LT(1);
-
- CommonTree root_0 = null;
-
- Token OPENBRAC128=null;
- Token CLOSEBRAC130=null;
- ParserRuleReturnScope directDeclaratorLength129 =null;
-
- CommonTree OPENBRAC128_tree=null;
- CommonTree CLOSEBRAC130_tree=null;
- RewriteRuleTokenStream stream_OPENBRAC=new RewriteRuleTokenStream(adaptor,"token OPENBRAC");
- RewriteRuleTokenStream stream_CLOSEBRAC=new RewriteRuleTokenStream(adaptor,"token CLOSEBRAC");
- RewriteRuleSubtreeStream stream_directDeclaratorLength=new RewriteRuleSubtreeStream(adaptor,"rule directDeclaratorLength");
-
- try {
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:509:3: ( OPENBRAC directDeclaratorLength CLOSEBRAC -> ^( LENGTH directDeclaratorLength ) )
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:509:5: OPENBRAC directDeclaratorLength CLOSEBRAC
- {
- OPENBRAC128=(Token)match(input,OPENBRAC,FOLLOW_OPENBRAC_in_directDeclaratorSuffix2768); if (state.failed) return retval;
- if ( state.backtracking==0 ) stream_OPENBRAC.add(OPENBRAC128);
-
- pushFollow(FOLLOW_directDeclaratorLength_in_directDeclaratorSuffix2770);
- directDeclaratorLength129=directDeclaratorLength();
- state._fsp--;
- if (state.failed) return retval;
- if ( state.backtracking==0 ) stream_directDeclaratorLength.add(directDeclaratorLength129.getTree());
- CLOSEBRAC130=(Token)match(input,CLOSEBRAC,FOLLOW_CLOSEBRAC_in_directDeclaratorSuffix2772); if (state.failed) return retval;
- if ( state.backtracking==0 ) stream_CLOSEBRAC.add(CLOSEBRAC130);
-
- // AST REWRITE
- // elements: directDeclaratorLength
- // token labels:
- // rule labels: retval
- // token list labels:
- // rule list labels:
- // wildcard labels:
- if ( state.backtracking==0 ) {
- retval.tree = root_0;
- RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
-
- root_0 = (CommonTree)adaptor.nil();
- // 510:7: -> ^( LENGTH directDeclaratorLength )
- {
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:510:10: ^( LENGTH directDeclaratorLength )
- {
- CommonTree root_1 = (CommonTree)adaptor.nil();
- root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(LENGTH, "LENGTH"), root_1);
- adaptor.addChild(root_1, stream_directDeclaratorLength.nextTree());
- adaptor.addChild(root_0, root_1);
- }
-
- }
-
-
- retval.tree = root_0;
- }
-
- }
-
- retval.stop = input.LT(-1);
-
- if ( state.backtracking==0 ) {
- retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0);
- adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
- }
- }
-
- catch (RecognitionException e) {
- throw e;
- }
-
- finally {
- // do for sure before leaving
- }
- return retval;
- }
- // $ANTLR end "directDeclaratorSuffix"
-
-
- public static class directDeclaratorLength_return extends ParserRuleReturnScope {
- CommonTree tree;
- @Override
- public CommonTree getTree() { return tree; }
- };
-
-
- // $ANTLR start "directDeclaratorLength"
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:513:1: directDeclaratorLength : unaryExpression ;
- public final CTFParser.directDeclaratorLength_return directDeclaratorLength() throws RecognitionException {
- CTFParser.directDeclaratorLength_return retval = new CTFParser.directDeclaratorLength_return();
- retval.start = input.LT(1);
-
- CommonTree root_0 = null;
-
- ParserRuleReturnScope unaryExpression131 =null;
-
-
- try {
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:514:3: ( unaryExpression )
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:514:5: unaryExpression
- {
- root_0 = (CommonTree)adaptor.nil();
-
-
- pushFollow(FOLLOW_unaryExpression_in_directDeclaratorLength2800);
- unaryExpression131=unaryExpression();
- state._fsp--;
- if (state.failed) return retval;
- if ( state.backtracking==0 ) adaptor.addChild(root_0, unaryExpression131.getTree());
-
- }
-
- retval.stop = input.LT(-1);
-
- if ( state.backtracking==0 ) {
- retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0);
- adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
- }
- }
-
- catch (RecognitionException e) {
- throw e;
- }
-
- finally {
- // do for sure before leaving
- }
- return retval;
- }
- // $ANTLR end "directDeclaratorLength"
-
-
- public static class abstractDeclarator_return extends ParserRuleReturnScope {
- CommonTree tree;
- @Override
- public CommonTree getTree() { return tree; }
- };
-
-
- // $ANTLR start "abstractDeclarator"
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:517:1: abstractDeclarator : ( ( pointer )+ ( directAbstractDeclarator )? -> ^( TYPE_DECLARATOR ( pointer )+ ( directAbstractDeclarator )? ) | directAbstractDeclarator -> ^( TYPE_DECLARATOR directAbstractDeclarator ) );
- public final CTFParser.abstractDeclarator_return abstractDeclarator() throws RecognitionException {
- CTFParser.abstractDeclarator_return retval = new CTFParser.abstractDeclarator_return();
- retval.start = input.LT(1);
-
- CommonTree root_0 = null;
-
- ParserRuleReturnScope pointer132 =null;
- ParserRuleReturnScope directAbstractDeclarator133 =null;
- ParserRuleReturnScope directAbstractDeclarator134 =null;
-
- RewriteRuleSubtreeStream stream_pointer=new RewriteRuleSubtreeStream(adaptor,"rule pointer");
- RewriteRuleSubtreeStream stream_directAbstractDeclarator=new RewriteRuleSubtreeStream(adaptor,"rule directAbstractDeclarator");
-
- try {
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:518:3: ( ( pointer )+ ( directAbstractDeclarator )? -> ^( TYPE_DECLARATOR ( pointer )+ ( directAbstractDeclarator )? ) | directAbstractDeclarator -> ^( TYPE_DECLARATOR directAbstractDeclarator ) )
- int alt42=2;
- int LA42_0 = input.LA(1);
- if ( (LA42_0==POINTER) ) {
- alt42=1;
- }
- else if ( (LA42_0==IDENTIFIER||LA42_0==LPAREN) ) {
- alt42=2;
- }
-
- else {
- if (state.backtracking>0) {state.failed=true; return retval;}
- NoViableAltException nvae =
- new NoViableAltException("", 42, 0, input);
- throw nvae;
- }
-
- switch (alt42) {
- case 1 :
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:518:5: ( pointer )+ ( directAbstractDeclarator )?
- {
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:518:5: ( pointer )+
- int cnt40=0;
- loop40:
- while (true) {
- int alt40=2;
- int LA40_0 = input.LA(1);
- if ( (LA40_0==POINTER) ) {
- alt40=1;
- }
-
- switch (alt40) {
- case 1 :
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:518:5: pointer
- {
- pushFollow(FOLLOW_pointer_in_abstractDeclarator2813);
- pointer132=pointer();
- state._fsp--;
- if (state.failed) return retval;
- if ( state.backtracking==0 ) stream_pointer.add(pointer132.getTree());
- }
- break;
-
- default :
- if ( cnt40 >= 1 ) break loop40;
- if (state.backtracking>0) {state.failed=true; return retval;}
- EarlyExitException eee = new EarlyExitException(40, input);
- throw eee;
- }
- cnt40++;
- }
-
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:518:14: ( directAbstractDeclarator )?
- int alt41=2;
- int LA41_0 = input.LA(1);
- if ( (LA41_0==IDENTIFIER||LA41_0==LPAREN) ) {
- alt41=1;
- }
- switch (alt41) {
- case 1 :
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:518:14: directAbstractDeclarator
- {
- pushFollow(FOLLOW_directAbstractDeclarator_in_abstractDeclarator2816);
- directAbstractDeclarator133=directAbstractDeclarator();
- state._fsp--;
- if (state.failed) return retval;
- if ( state.backtracking==0 ) stream_directAbstractDeclarator.add(directAbstractDeclarator133.getTree());
- }
- break;
-
- }
-
- // AST REWRITE
- // elements: directAbstractDeclarator, pointer
- // token labels:
- // rule labels: retval
- // token list labels:
- // rule list labels:
- // wildcard labels:
- if ( state.backtracking==0 ) {
- retval.tree = root_0;
- RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
-
- root_0 = (CommonTree)adaptor.nil();
- // 519:7: -> ^( TYPE_DECLARATOR ( pointer )+ ( directAbstractDeclarator )? )
- {
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:519:10: ^( TYPE_DECLARATOR ( pointer )+ ( directAbstractDeclarator )? )
- {
- CommonTree root_1 = (CommonTree)adaptor.nil();
- root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(TYPE_DECLARATOR, "TYPE_DECLARATOR"), root_1);
- if ( !(stream_pointer.hasNext()) ) {
- throw new RewriteEarlyExitException();
- }
- while ( stream_pointer.hasNext() ) {
- adaptor.addChild(root_1, stream_pointer.nextTree());
- }
- stream_pointer.reset();
-
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:519:37: ( directAbstractDeclarator )?
- if ( stream_directAbstractDeclarator.hasNext() ) {
- adaptor.addChild(root_1, stream_directAbstractDeclarator.nextTree());
- }
- stream_directAbstractDeclarator.reset();
-
- adaptor.addChild(root_0, root_1);
- }
-
- }
-
-
- retval.tree = root_0;
- }
-
- }
- break;
- case 2 :
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:520:5: directAbstractDeclarator
- {
- pushFollow(FOLLOW_directAbstractDeclarator_in_abstractDeclarator2841);
- directAbstractDeclarator134=directAbstractDeclarator();
- state._fsp--;
- if (state.failed) return retval;
- if ( state.backtracking==0 ) stream_directAbstractDeclarator.add(directAbstractDeclarator134.getTree());
- // AST REWRITE
- // elements: directAbstractDeclarator
- // token labels:
- // rule labels: retval
- // token list labels:
- // rule list labels:
- // wildcard labels:
- if ( state.backtracking==0 ) {
- retval.tree = root_0;
- RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
-
- root_0 = (CommonTree)adaptor.nil();
- // 521:7: -> ^( TYPE_DECLARATOR directAbstractDeclarator )
- {
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:521:10: ^( TYPE_DECLARATOR directAbstractDeclarator )
- {
- CommonTree root_1 = (CommonTree)adaptor.nil();
- root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(TYPE_DECLARATOR, "TYPE_DECLARATOR"), root_1);
- adaptor.addChild(root_1, stream_directAbstractDeclarator.nextTree());
- adaptor.addChild(root_0, root_1);
- }
-
- }
-
-
- retval.tree = root_0;
- }
-
- }
- break;
-
- }
- retval.stop = input.LT(-1);
-
- if ( state.backtracking==0 ) {
- retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0);
- adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
- }
- }
-
- catch (RecognitionException e) {
- throw e;
- }
-
- finally {
- // do for sure before leaving
- }
- return retval;
- }
- // $ANTLR end "abstractDeclarator"
-
-
- public static class directAbstractDeclarator_return extends ParserRuleReturnScope {
- CommonTree tree;
- @Override
- public CommonTree getTree() { return tree; }
- };
-
-
- // $ANTLR start "directAbstractDeclarator"
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:529:1: directAbstractDeclarator : ( IDENTIFIER | ( LPAREN abstractDeclarator RPAREN ) ) ( OPENBRAC ( unaryExpression )? CLOSEBRAC )? ;
- public final CTFParser.directAbstractDeclarator_return directAbstractDeclarator() throws RecognitionException {
- CTFParser.directAbstractDeclarator_return retval = new CTFParser.directAbstractDeclarator_return();
- retval.start = input.LT(1);
-
- CommonTree root_0 = null;
-
- Token IDENTIFIER135=null;
- Token LPAREN136=null;
- Token RPAREN138=null;
- Token OPENBRAC139=null;
- Token CLOSEBRAC141=null;
- ParserRuleReturnScope abstractDeclarator137 =null;
- ParserRuleReturnScope unaryExpression140 =null;
-
- CommonTree IDENTIFIER135_tree=null;
- CommonTree LPAREN136_tree=null;
- CommonTree RPAREN138_tree=null;
- CommonTree OPENBRAC139_tree=null;
- CommonTree CLOSEBRAC141_tree=null;
-
- try {
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:530:3: ( ( IDENTIFIER | ( LPAREN abstractDeclarator RPAREN ) ) ( OPENBRAC ( unaryExpression )? CLOSEBRAC )? )
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:530:5: ( IDENTIFIER | ( LPAREN abstractDeclarator RPAREN ) ) ( OPENBRAC ( unaryExpression )? CLOSEBRAC )?
- {
- root_0 = (CommonTree)adaptor.nil();
-
-
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:530:5: ( IDENTIFIER | ( LPAREN abstractDeclarator RPAREN ) )
- int alt43=2;
- int LA43_0 = input.LA(1);
- if ( (LA43_0==IDENTIFIER) ) {
- alt43=1;
- }
- else if ( (LA43_0==LPAREN) ) {
- alt43=2;
- }
-
- else {
- if (state.backtracking>0) {state.failed=true; return retval;}
- NoViableAltException nvae =
- new NoViableAltException("", 43, 0, input);
- throw nvae;
- }
-
- switch (alt43) {
- case 1 :
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:531:7: IDENTIFIER
- {
- IDENTIFIER135=(Token)match(input,IDENTIFIER,FOLLOW_IDENTIFIER_in_directAbstractDeclarator2878); if (state.failed) return retval;
- if ( state.backtracking==0 ) {
- IDENTIFIER135_tree = (CommonTree)adaptor.create(IDENTIFIER135);
- adaptor.addChild(root_0, IDENTIFIER135_tree);
- }
-
- }
- break;
- case 2 :
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:532:9: ( LPAREN abstractDeclarator RPAREN )
- {
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:532:9: ( LPAREN abstractDeclarator RPAREN )
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:532:10: LPAREN abstractDeclarator RPAREN
- {
- LPAREN136=(Token)match(input,LPAREN,FOLLOW_LPAREN_in_directAbstractDeclarator2889); if (state.failed) return retval;
- if ( state.backtracking==0 ) {
- LPAREN136_tree = (CommonTree)adaptor.create(LPAREN136);
- adaptor.addChild(root_0, LPAREN136_tree);
- }
-
- pushFollow(FOLLOW_abstractDeclarator_in_directAbstractDeclarator2891);
- abstractDeclarator137=abstractDeclarator();
- state._fsp--;
- if (state.failed) return retval;
- if ( state.backtracking==0 ) adaptor.addChild(root_0, abstractDeclarator137.getTree());
-
- RPAREN138=(Token)match(input,RPAREN,FOLLOW_RPAREN_in_directAbstractDeclarator2893); if (state.failed) return retval;
- if ( state.backtracking==0 ) {
- RPAREN138_tree = (CommonTree)adaptor.create(RPAREN138);
- adaptor.addChild(root_0, RPAREN138_tree);
- }
-
- }
-
- }
- break;
-
- }
-
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:533:5: ( OPENBRAC ( unaryExpression )? CLOSEBRAC )?
- int alt45=2;
- int LA45_0 = input.LA(1);
- if ( (LA45_0==OPENBRAC) ) {
- alt45=1;
- }
- switch (alt45) {
- case 1 :
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:534:7: OPENBRAC ( unaryExpression )? CLOSEBRAC
- {
- OPENBRAC139=(Token)match(input,OPENBRAC,FOLLOW_OPENBRAC_in_directAbstractDeclarator2908); if (state.failed) return retval;
- if ( state.backtracking==0 ) {
- OPENBRAC139_tree = (CommonTree)adaptor.create(OPENBRAC139);
- adaptor.addChild(root_0, OPENBRAC139_tree);
- }
-
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:534:16: ( unaryExpression )?
- int alt44=2;
- int LA44_0 = input.LA(1);
- if ( (LA44_0==ALIGNTOK||(LA44_0 >= CALLSITETOK && LA44_0 <= CHARACTER_LITERAL)||LA44_0==CLOCKTOK||LA44_0==DECIMAL_LITERAL||LA44_0==ENVTOK||LA44_0==EVENTTOK||LA44_0==HEX_LITERAL||LA44_0==IDENTIFIER||LA44_0==OCTAL_LITERAL||(LA44_0 >= SIGN && LA44_0 <= SIGNEDTOK)||LA44_0==STREAMTOK||LA44_0==STRINGTOK||LA44_0==STRING_LITERAL||LA44_0==TRACETOK) ) {
- alt44=1;
- }
- switch (alt44) {
- case 1 :
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:534:16: unaryExpression
- {
- pushFollow(FOLLOW_unaryExpression_in_directAbstractDeclarator2910);
- unaryExpression140=unaryExpression();
- state._fsp--;
- if (state.failed) return retval;
- if ( state.backtracking==0 ) adaptor.addChild(root_0, unaryExpression140.getTree());
-
- }
- break;
-
- }
-
- CLOSEBRAC141=(Token)match(input,CLOSEBRAC,FOLLOW_CLOSEBRAC_in_directAbstractDeclarator2913); if (state.failed) return retval;
- if ( state.backtracking==0 ) {
- CLOSEBRAC141_tree = (CommonTree)adaptor.create(CLOSEBRAC141);
- adaptor.addChild(root_0, CLOSEBRAC141_tree);
- }
-
- }
- break;
-
- }
-
- }
-
- retval.stop = input.LT(-1);
-
- if ( state.backtracking==0 ) {
- retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0);
- adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
- }
- }
-
- catch (RecognitionException e) {
- throw e;
- }
-
- finally {
- // do for sure before leaving
- }
- return retval;
- }
- // $ANTLR end "directAbstractDeclarator"
-
-
- public static class pointer_return extends ParserRuleReturnScope {
- CommonTree tree;
- @Override
- public CommonTree getTree() { return tree; }
- };
-
-
- // $ANTLR start "pointer"
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:538:1: pointer : POINTER ( typeQualifierList )? -> ^( POINTER ( typeQualifierList )? ) ;
- public final CTFParser.pointer_return pointer() throws RecognitionException {
- CTFParser.pointer_return retval = new CTFParser.pointer_return();
- retval.start = input.LT(1);
-
- CommonTree root_0 = null;
-
- Token POINTER142=null;
- ParserRuleReturnScope typeQualifierList143 =null;
-
- CommonTree POINTER142_tree=null;
- RewriteRuleTokenStream stream_POINTER=new RewriteRuleTokenStream(adaptor,"token POINTER");
- RewriteRuleSubtreeStream stream_typeQualifierList=new RewriteRuleSubtreeStream(adaptor,"rule typeQualifierList");
-
- try {
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:539:3: ( POINTER ( typeQualifierList )? -> ^( POINTER ( typeQualifierList )? ) )
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:539:5: POINTER ( typeQualifierList )?
- {
- POINTER142=(Token)match(input,POINTER,FOLLOW_POINTER_in_pointer2931); if (state.failed) return retval;
- if ( state.backtracking==0 ) stream_POINTER.add(POINTER142);
-
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:539:13: ( typeQualifierList )?
- int alt46=2;
- int LA46_0 = input.LA(1);
- if ( (LA46_0==CONSTTOK) ) {
- alt46=1;
- }
- switch (alt46) {
- case 1 :
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:539:13: typeQualifierList
- {
- pushFollow(FOLLOW_typeQualifierList_in_pointer2933);
- typeQualifierList143=typeQualifierList();
- state._fsp--;
- if (state.failed) return retval;
- if ( state.backtracking==0 ) stream_typeQualifierList.add(typeQualifierList143.getTree());
- }
- break;
-
- }
-
- // AST REWRITE
- // elements: typeQualifierList, POINTER
- // token labels:
- // rule labels: retval
- // token list labels:
- // rule list labels:
- // wildcard labels:
- if ( state.backtracking==0 ) {
- retval.tree = root_0;
- RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
-
- root_0 = (CommonTree)adaptor.nil();
- // 539:32: -> ^( POINTER ( typeQualifierList )? )
- {
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:539:35: ^( POINTER ( typeQualifierList )? )
- {
- CommonTree root_1 = (CommonTree)adaptor.nil();
- root_1 = (CommonTree)adaptor.becomeRoot(stream_POINTER.nextNode(), root_1);
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:539:45: ( typeQualifierList )?
- if ( stream_typeQualifierList.hasNext() ) {
- adaptor.addChild(root_1, stream_typeQualifierList.nextTree());
- }
- stream_typeQualifierList.reset();
-
- adaptor.addChild(root_0, root_1);
- }
-
- }
-
-
- retval.tree = root_0;
- }
-
- }
-
- retval.stop = input.LT(-1);
-
- if ( state.backtracking==0 ) {
- retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0);
- adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
- }
- }
-
- catch (RecognitionException e) {
- throw e;
- }
-
- finally {
- // do for sure before leaving
- }
- return retval;
- }
- // $ANTLR end "pointer"
-
-
- public static class typeQualifierList_return extends ParserRuleReturnScope {
- CommonTree tree;
- @Override
- public CommonTree getTree() { return tree; }
- };
-
-
- // $ANTLR start "typeQualifierList"
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:542:1: typeQualifierList : ( typeQualifier )+ ;
- public final CTFParser.typeQualifierList_return typeQualifierList() throws RecognitionException {
- CTFParser.typeQualifierList_return retval = new CTFParser.typeQualifierList_return();
- retval.start = input.LT(1);
-
- CommonTree root_0 = null;
-
- ParserRuleReturnScope typeQualifier144 =null;
-
-
- try {
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:543:3: ( ( typeQualifier )+ )
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:543:5: ( typeQualifier )+
- {
- root_0 = (CommonTree)adaptor.nil();
-
-
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:543:5: ( typeQualifier )+
- int cnt47=0;
- loop47:
- while (true) {
- int alt47=2;
- int LA47_0 = input.LA(1);
- if ( (LA47_0==CONSTTOK) ) {
- alt47=1;
- }
-
- switch (alt47) {
- case 1 :
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:543:5: typeQualifier
- {
- pushFollow(FOLLOW_typeQualifier_in_typeQualifierList2956);
- typeQualifier144=typeQualifier();
- state._fsp--;
- if (state.failed) return retval;
- if ( state.backtracking==0 ) adaptor.addChild(root_0, typeQualifier144.getTree());
-
- }
- break;
-
- default :
- if ( cnt47 >= 1 ) break loop47;
- if (state.backtracking>0) {state.failed=true; return retval;}
- EarlyExitException eee = new EarlyExitException(47, input);
- throw eee;
- }
- cnt47++;
- }
-
- }
-
- retval.stop = input.LT(-1);
-
- if ( state.backtracking==0 ) {
- retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0);
- adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
- }
- }
-
- catch (RecognitionException e) {
- throw e;
- }
-
- finally {
- // do for sure before leaving
- }
- return retval;
- }
- // $ANTLR end "typeQualifierList"
-
-
- public static class typedefName_return extends ParserRuleReturnScope {
- CommonTree tree;
- @Override
- public CommonTree getTree() { return tree; }
- };
-
-
- // $ANTLR start "typedefName"
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:546:1: typedefName :{...}? IDENTIFIER ;
- public final CTFParser.typedefName_return typedefName() throws RecognitionException {
- CTFParser.typedefName_return retval = new CTFParser.typedefName_return();
- retval.start = input.LT(1);
-
- CommonTree root_0 = null;
-
- Token IDENTIFIER145=null;
-
- CommonTree IDENTIFIER145_tree=null;
-
- try {
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:547:3: ({...}? IDENTIFIER )
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:547:5: {...}? IDENTIFIER
- {
- root_0 = (CommonTree)adaptor.nil();
-
-
- if ( !((inTypealiasAlias() || isTypeName(input.LT(1).getText()))) ) {
- if (state.backtracking>0) {state.failed=true; return retval;}
- throw new FailedPredicateException(input, "typedefName", "inTypealiasAlias() || isTypeName(input.LT(1).getText())");
- }
- IDENTIFIER145=(Token)match(input,IDENTIFIER,FOLLOW_IDENTIFIER_in_typedefName2972); if (state.failed) return retval;
- if ( state.backtracking==0 ) {
- IDENTIFIER145_tree = (CommonTree)adaptor.create(IDENTIFIER145);
- adaptor.addChild(root_0, IDENTIFIER145_tree);
- }
-
- if ( state.backtracking==0 ) { if ((inTypedef() || inTypealiasAlias()) && !isTypeName((IDENTIFIER145!=null?IDENTIFIER145.getText():null))) { addTypeName((IDENTIFIER145!=null?IDENTIFIER145.getText():null)); } }
- }
-
- retval.stop = input.LT(-1);
-
- if ( state.backtracking==0 ) {
- retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0);
- adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
- }
- }
-
- catch (RecognitionException e) {
- throw e;
- }
-
- finally {
- // do for sure before leaving
- }
- return retval;
- }
- // $ANTLR end "typedefName"
-
-
- public static class typealiasTarget_return extends ParserRuleReturnScope {
- CommonTree tree;
- @Override
- public CommonTree getTree() { return tree; }
- };
-
-
- // $ANTLR start "typealiasTarget"
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:556:1: typealiasTarget : declarationSpecifiers ( abstractDeclaratorList )? ;
- public final CTFParser.typealiasTarget_return typealiasTarget() throws RecognitionException {
- CTFParser.typealiasTarget_return retval = new CTFParser.typealiasTarget_return();
- retval.start = input.LT(1);
-
- CommonTree root_0 = null;
-
- ParserRuleReturnScope declarationSpecifiers146 =null;
- ParserRuleReturnScope abstractDeclaratorList147 =null;
-
-
- try {
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:557:3: ( declarationSpecifiers ( abstractDeclaratorList )? )
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:557:5: declarationSpecifiers ( abstractDeclaratorList )?
- {
- root_0 = (CommonTree)adaptor.nil();
-
-
- pushFollow(FOLLOW_declarationSpecifiers_in_typealiasTarget2989);
- declarationSpecifiers146=declarationSpecifiers();
- state._fsp--;
- if (state.failed) return retval;
- if ( state.backtracking==0 ) adaptor.addChild(root_0, declarationSpecifiers146.getTree());
-
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:557:27: ( abstractDeclaratorList )?
- int alt48=2;
- int LA48_0 = input.LA(1);
- if ( (LA48_0==IDENTIFIER||LA48_0==LPAREN||LA48_0==POINTER) ) {
- alt48=1;
- }
- switch (alt48) {
- case 1 :
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:557:27: abstractDeclaratorList
- {
- pushFollow(FOLLOW_abstractDeclaratorList_in_typealiasTarget2991);
- abstractDeclaratorList147=abstractDeclaratorList();
- state._fsp--;
- if (state.failed) return retval;
- if ( state.backtracking==0 ) adaptor.addChild(root_0, abstractDeclaratorList147.getTree());
-
- }
- break;
-
- }
-
- }
-
- retval.stop = input.LT(-1);
-
- if ( state.backtracking==0 ) {
- retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0);
- adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
- }
- }
-
- catch (RecognitionException e) {
- throw e;
- }
-
- finally {
- // do for sure before leaving
- }
- return retval;
- }
- // $ANTLR end "typealiasTarget"
-
-
- public static class typealiasAlias_return extends ParserRuleReturnScope {
- CommonTree tree;
- @Override
- public CommonTree getTree() { return tree; }
- };
-
-
- // $ANTLR start "typealiasAlias"
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:566:1: typealiasAlias : ( abstractDeclaratorList | declarationSpecifiers ( abstractDeclaratorList )? );
- public final CTFParser.typealiasAlias_return typealiasAlias() throws RecognitionException {
- CTFParser.typealiasAlias_return retval = new CTFParser.typealiasAlias_return();
- retval.start = input.LT(1);
-
- CommonTree root_0 = null;
-
- ParserRuleReturnScope abstractDeclaratorList148 =null;
- ParserRuleReturnScope declarationSpecifiers149 =null;
- ParserRuleReturnScope abstractDeclaratorList150 =null;
-
-
-
- typealiasAliasOn();
-
- try {
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:573:3: ( abstractDeclaratorList | declarationSpecifiers ( abstractDeclaratorList )? )
- int alt50=2;
- switch ( input.LA(1) ) {
- case LPAREN:
- case POINTER:
- {
- alt50=1;
- }
- break;
- case IDENTIFIER:
- {
- int LA50_2 = input.LA(2);
- if ( (!(((( inTypealiasAlias() || isTypeName(input.LT(1).getText()) )&&(inTypealiasAlias() || isTypeName(input.LT(1).getText())))))) ) {
- alt50=1;
- }
- else if ( ((( inTypealiasAlias() || isTypeName(input.LT(1).getText()) )&&(inTypealiasAlias() || isTypeName(input.LT(1).getText())))) ) {
- alt50=2;
- }
-
- else {
- if (state.backtracking>0) {state.failed=true; return retval;}
- int nvaeMark = input.mark();
- try {
- input.consume();
- NoViableAltException nvae =
- new NoViableAltException("", 50, 2, input);
- throw nvae;
- } finally {
- input.rewind(nvaeMark);
- }
- }
-
- }
- break;
- case BOOLTOK:
- case CHARTOK:
- case COMPLEXTOK:
- case CONSTTOK:
- case DOUBLETOK:
- case ENUMTOK:
- case FLOATINGPOINTTOK:
- case FLOATTOK:
- case IMAGINARYTOK:
- case INTEGERTOK:
- case INTTOK:
- case LONGTOK:
- case SHORTTOK:
- case SIGNEDTOK:
- case STRINGTOK:
- case STRUCTTOK:
- case TYPEDEFTOK:
- case UNSIGNEDTOK:
- case VARIANTTOK:
- case VOIDTOK:
- {
- alt50=2;
- }
- break;
- default:
- if (state.backtracking>0) {state.failed=true; return retval;}
- NoViableAltException nvae =
- new NoViableAltException("", 50, 0, input);
- throw nvae;
- }
- switch (alt50) {
- case 1 :
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:573:5: abstractDeclaratorList
- {
- root_0 = (CommonTree)adaptor.nil();
-
-
- pushFollow(FOLLOW_abstractDeclaratorList_in_typealiasAlias3017);
- abstractDeclaratorList148=abstractDeclaratorList();
- state._fsp--;
- if (state.failed) return retval;
- if ( state.backtracking==0 ) adaptor.addChild(root_0, abstractDeclaratorList148.getTree());
-
- }
- break;
- case 2 :
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:574:5: declarationSpecifiers ( abstractDeclaratorList )?
- {
- root_0 = (CommonTree)adaptor.nil();
-
-
- pushFollow(FOLLOW_declarationSpecifiers_in_typealiasAlias3023);
- declarationSpecifiers149=declarationSpecifiers();
- state._fsp--;
- if (state.failed) return retval;
- if ( state.backtracking==0 ) adaptor.addChild(root_0, declarationSpecifiers149.getTree());
-
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:574:27: ( abstractDeclaratorList )?
- int alt49=2;
- int LA49_0 = input.LA(1);
- if ( (LA49_0==IDENTIFIER||LA49_0==LPAREN||LA49_0==POINTER) ) {
- alt49=1;
- }
- switch (alt49) {
- case 1 :
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:574:27: abstractDeclaratorList
- {
- pushFollow(FOLLOW_abstractDeclaratorList_in_typealiasAlias3025);
- abstractDeclaratorList150=abstractDeclaratorList();
- state._fsp--;
- if (state.failed) return retval;
- if ( state.backtracking==0 ) adaptor.addChild(root_0, abstractDeclaratorList150.getTree());
-
- }
- break;
-
- }
-
- }
- break;
-
- }
- retval.stop = input.LT(-1);
-
- if ( state.backtracking==0 ) {
- retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0);
- adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
- }
- if ( state.backtracking==0 ) {
- typealiasAliasOff();
- }
- }
-
- catch (RecognitionException e) {
- throw e;
- }
-
- finally {
- // do for sure before leaving
- }
- return retval;
- }
- // $ANTLR end "typealiasAlias"
-
-
- public static class typealiasDecl_return extends ParserRuleReturnScope {
- CommonTree tree;
- @Override
- public CommonTree getTree() { return tree; }
- };
-
-
- // $ANTLR start "typealiasDecl"
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:577:1: typealiasDecl : TYPEALIASTOK typealiasTarget TYPE_ASSIGNMENT typealiasAlias -> ^( TYPEALIAS ^( TYPEALIAS_TARGET typealiasTarget ) ^( TYPEALIAS_ALIAS typealiasAlias ) ) ;
- public final CTFParser.typealiasDecl_return typealiasDecl() throws RecognitionException {
- CTFParser.typealiasDecl_return retval = new CTFParser.typealiasDecl_return();
- retval.start = input.LT(1);
-
- CommonTree root_0 = null;
-
- Token TYPEALIASTOK151=null;
- Token TYPE_ASSIGNMENT153=null;
- ParserRuleReturnScope typealiasTarget152 =null;
- ParserRuleReturnScope typealiasAlias154 =null;
-
- CommonTree TYPEALIASTOK151_tree=null;
- CommonTree TYPE_ASSIGNMENT153_tree=null;
- RewriteRuleTokenStream stream_TYPE_ASSIGNMENT=new RewriteRuleTokenStream(adaptor,"token TYPE_ASSIGNMENT");
- RewriteRuleTokenStream stream_TYPEALIASTOK=new RewriteRuleTokenStream(adaptor,"token TYPEALIASTOK");
- RewriteRuleSubtreeStream stream_typealiasAlias=new RewriteRuleSubtreeStream(adaptor,"rule typealiasAlias");
- RewriteRuleSubtreeStream stream_typealiasTarget=new RewriteRuleSubtreeStream(adaptor,"rule typealiasTarget");
-
- try {
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:578:3: ( TYPEALIASTOK typealiasTarget TYPE_ASSIGNMENT typealiasAlias -> ^( TYPEALIAS ^( TYPEALIAS_TARGET typealiasTarget ) ^( TYPEALIAS_ALIAS typealiasAlias ) ) )
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:578:5: TYPEALIASTOK typealiasTarget TYPE_ASSIGNMENT typealiasAlias
- {
- TYPEALIASTOK151=(Token)match(input,TYPEALIASTOK,FOLLOW_TYPEALIASTOK_in_typealiasDecl3039); if (state.failed) return retval;
- if ( state.backtracking==0 ) stream_TYPEALIASTOK.add(TYPEALIASTOK151);
-
- pushFollow(FOLLOW_typealiasTarget_in_typealiasDecl3041);
- typealiasTarget152=typealiasTarget();
- state._fsp--;
- if (state.failed) return retval;
- if ( state.backtracking==0 ) stream_typealiasTarget.add(typealiasTarget152.getTree());
- TYPE_ASSIGNMENT153=(Token)match(input,TYPE_ASSIGNMENT,FOLLOW_TYPE_ASSIGNMENT_in_typealiasDecl3043); if (state.failed) return retval;
- if ( state.backtracking==0 ) stream_TYPE_ASSIGNMENT.add(TYPE_ASSIGNMENT153);
-
- pushFollow(FOLLOW_typealiasAlias_in_typealiasDecl3045);
- typealiasAlias154=typealiasAlias();
- state._fsp--;
- if (state.failed) return retval;
- if ( state.backtracking==0 ) stream_typealiasAlias.add(typealiasAlias154.getTree());
- // AST REWRITE
- // elements: typealiasTarget, typealiasAlias
- // token labels:
- // rule labels: retval
- // token list labels:
- // rule list labels:
- // wildcard labels:
- if ( state.backtracking==0 ) {
- retval.tree = root_0;
- RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
-
- root_0 = (CommonTree)adaptor.nil();
- // 579:7: -> ^( TYPEALIAS ^( TYPEALIAS_TARGET typealiasTarget ) ^( TYPEALIAS_ALIAS typealiasAlias ) )
- {
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:579:10: ^( TYPEALIAS ^( TYPEALIAS_TARGET typealiasTarget ) ^( TYPEALIAS_ALIAS typealiasAlias ) )
- {
- CommonTree root_1 = (CommonTree)adaptor.nil();
- root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(TYPEALIAS, "TYPEALIAS"), root_1);
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:580:14: ^( TYPEALIAS_TARGET typealiasTarget )
- {
- CommonTree root_2 = (CommonTree)adaptor.nil();
- root_2 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(TYPEALIAS_TARGET, "TYPEALIAS_TARGET"), root_2);
- adaptor.addChild(root_2, stream_typealiasTarget.nextTree());
- adaptor.addChild(root_1, root_2);
- }
-
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:581:14: ^( TYPEALIAS_ALIAS typealiasAlias )
- {
- CommonTree root_2 = (CommonTree)adaptor.nil();
- root_2 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(TYPEALIAS_ALIAS, "TYPEALIAS_ALIAS"), root_2);
- adaptor.addChild(root_2, stream_typealiasAlias.nextTree());
- adaptor.addChild(root_1, root_2);
- }
-
- adaptor.addChild(root_0, root_1);
- }
-
- }
-
-
- retval.tree = root_0;
- }
-
- }
-
- retval.stop = input.LT(-1);
-
- if ( state.backtracking==0 ) {
- retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0);
- adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
- }
- }
-
- catch (RecognitionException e) {
- throw e;
- }
-
- finally {
- // do for sure before leaving
- }
- return retval;
- }
- // $ANTLR end "typealiasDecl"
-
-
- public static class ctfKeyword_return extends ParserRuleReturnScope {
- CommonTree tree;
- @Override
- public CommonTree getTree() { return tree; }
- };
-
-
- // $ANTLR start "ctfKeyword"
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:587:1: ctfKeyword : ( ALIGNTOK | EVENTTOK | SIGNEDTOK | STRINGTOK );
- public final CTFParser.ctfKeyword_return ctfKeyword() throws RecognitionException {
- CTFParser.ctfKeyword_return retval = new CTFParser.ctfKeyword_return();
- retval.start = input.LT(1);
-
- CommonTree root_0 = null;
-
- Token set155=null;
-
- CommonTree set155_tree=null;
-
- try {
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:588:3: ( ALIGNTOK | EVENTTOK | SIGNEDTOK | STRINGTOK )
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:
- {
- root_0 = (CommonTree)adaptor.nil();
-
-
- set155=input.LT(1);
- if ( input.LA(1)==ALIGNTOK||input.LA(1)==EVENTTOK||input.LA(1)==SIGNEDTOK||input.LA(1)==STRINGTOK ) {
- input.consume();
- if ( state.backtracking==0 ) adaptor.addChild(root_0, (CommonTree)adaptor.create(set155));
- state.errorRecovery=false;
- state.failed=false;
- }
- else {
- if (state.backtracking>0) {state.failed=true; return retval;}
- MismatchedSetException mse = new MismatchedSetException(null,input);
- throw mse;
- }
- }
-
- retval.stop = input.LT(-1);
-
- if ( state.backtracking==0 ) {
- retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0);
- adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
- }
- }
-
- catch (RecognitionException e) {
- throw e;
- }
-
- finally {
- // do for sure before leaving
- }
- return retval;
- }
- // $ANTLR end "ctfKeyword"
-
-
- public static class ctfSpecifier_return extends ParserRuleReturnScope {
- CommonTree tree;
- @Override
- public CommonTree getTree() { return tree; }
- };
-
-
- // $ANTLR start "ctfSpecifier"
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:594:1: ctfSpecifier : ( ctfSpecifierHead ctfBody -> ^( ctfSpecifierHead ctfBody ) | typealiasDecl -> ^( DECLARATION typealiasDecl ) );
- public final CTFParser.ctfSpecifier_return ctfSpecifier() throws RecognitionException {
- CTFParser.ctfSpecifier_return retval = new CTFParser.ctfSpecifier_return();
- retval.start = input.LT(1);
-
- CommonTree root_0 = null;
-
- ParserRuleReturnScope ctfSpecifierHead156 =null;
- ParserRuleReturnScope ctfBody157 =null;
- ParserRuleReturnScope typealiasDecl158 =null;
-
- RewriteRuleSubtreeStream stream_ctfSpecifierHead=new RewriteRuleSubtreeStream(adaptor,"rule ctfSpecifierHead");
- RewriteRuleSubtreeStream stream_typealiasDecl=new RewriteRuleSubtreeStream(adaptor,"rule typealiasDecl");
- RewriteRuleSubtreeStream stream_ctfBody=new RewriteRuleSubtreeStream(adaptor,"rule ctfBody");
-
- try {
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:596:3: ( ctfSpecifierHead ctfBody -> ^( ctfSpecifierHead ctfBody ) | typealiasDecl -> ^( DECLARATION typealiasDecl ) )
- int alt51=2;
- int LA51_0 = input.LA(1);
- if ( (LA51_0==CALLSITETOK||LA51_0==CLOCKTOK||LA51_0==ENVTOK||LA51_0==EVENTTOK||LA51_0==STREAMTOK||LA51_0==TRACETOK) ) {
- alt51=1;
- }
- else if ( (LA51_0==TYPEALIASTOK) ) {
- alt51=2;
- }
-
- else {
- if (state.backtracking>0) {state.failed=true; return retval;}
- NoViableAltException nvae =
- new NoViableAltException("", 51, 0, input);
- throw nvae;
- }
-
- switch (alt51) {
- case 1 :
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:596:5: ctfSpecifierHead ctfBody
- {
- pushFollow(FOLLOW_ctfSpecifierHead_in_ctfSpecifier3145);
- ctfSpecifierHead156=ctfSpecifierHead();
- state._fsp--;
- if (state.failed) return retval;
- if ( state.backtracking==0 ) stream_ctfSpecifierHead.add(ctfSpecifierHead156.getTree());
- pushFollow(FOLLOW_ctfBody_in_ctfSpecifier3147);
- ctfBody157=ctfBody();
- state._fsp--;
- if (state.failed) return retval;
- if ( state.backtracking==0 ) stream_ctfBody.add(ctfBody157.getTree());
- // AST REWRITE
- // elements: ctfBody, ctfSpecifierHead
- // token labels:
- // rule labels: retval
- // token list labels:
- // rule list labels:
- // wildcard labels:
- if ( state.backtracking==0 ) {
- retval.tree = root_0;
- RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
-
- root_0 = (CommonTree)adaptor.nil();
- // 596:30: -> ^( ctfSpecifierHead ctfBody )
- {
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:596:33: ^( ctfSpecifierHead ctfBody )
- {
- CommonTree root_1 = (CommonTree)adaptor.nil();
- root_1 = (CommonTree)adaptor.becomeRoot(stream_ctfSpecifierHead.nextNode(), root_1);
- adaptor.addChild(root_1, stream_ctfBody.nextTree());
- adaptor.addChild(root_0, root_1);
- }
-
- }
-
-
- retval.tree = root_0;
- }
-
- }
- break;
- case 2 :
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:598:5: typealiasDecl
- {
- pushFollow(FOLLOW_typealiasDecl_in_ctfSpecifier3164);
- typealiasDecl158=typealiasDecl();
- state._fsp--;
- if (state.failed) return retval;
- if ( state.backtracking==0 ) stream_typealiasDecl.add(typealiasDecl158.getTree());
- // AST REWRITE
- // elements: typealiasDecl
- // token labels:
- // rule labels: retval
- // token list labels:
- // rule list labels:
- // wildcard labels:
- if ( state.backtracking==0 ) {
- retval.tree = root_0;
- RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
-
- root_0 = (CommonTree)adaptor.nil();
- // 598:19: -> ^( DECLARATION typealiasDecl )
- {
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:598:22: ^( DECLARATION typealiasDecl )
- {
- CommonTree root_1 = (CommonTree)adaptor.nil();
- root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(DECLARATION, "DECLARATION"), root_1);
- adaptor.addChild(root_1, stream_typealiasDecl.nextTree());
- adaptor.addChild(root_0, root_1);
- }
-
- }
-
-
- retval.tree = root_0;
- }
-
- }
- break;
-
- }
- retval.stop = input.LT(-1);
-
- if ( state.backtracking==0 ) {
- retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0);
- adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
- }
- }
-
- catch (RecognitionException e) {
- throw e;
- }
-
- finally {
- // do for sure before leaving
- }
- return retval;
- }
- // $ANTLR end "ctfSpecifier"
-
-
- public static class ctfSpecifierHead_return extends ParserRuleReturnScope {
- CommonTree tree;
- @Override
- public CommonTree getTree() { return tree; }
- };
-
-
- // $ANTLR start "ctfSpecifierHead"
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:601:1: ctfSpecifierHead : ( EVENTTOK -> EVENT | STREAMTOK -> STREAM | TRACETOK -> TRACE | ENVTOK -> ENV | CLOCKTOK -> CLOCK | CALLSITETOK -> CALLSITE );
- public final CTFParser.ctfSpecifierHead_return ctfSpecifierHead() throws RecognitionException {
- CTFParser.ctfSpecifierHead_return retval = new CTFParser.ctfSpecifierHead_return();
- retval.start = input.LT(1);
-
- CommonTree root_0 = null;
-
- Token EVENTTOK159=null;
- Token STREAMTOK160=null;
- Token TRACETOK161=null;
- Token ENVTOK162=null;
- Token CLOCKTOK163=null;
- Token CALLSITETOK164=null;
-
- CommonTree EVENTTOK159_tree=null;
- CommonTree STREAMTOK160_tree=null;
- CommonTree TRACETOK161_tree=null;
- CommonTree ENVTOK162_tree=null;
- CommonTree CLOCKTOK163_tree=null;
- CommonTree CALLSITETOK164_tree=null;
- RewriteRuleTokenStream stream_EVENTTOK=new RewriteRuleTokenStream(adaptor,"token EVENTTOK");
- RewriteRuleTokenStream stream_CALLSITETOK=new RewriteRuleTokenStream(adaptor,"token CALLSITETOK");
- RewriteRuleTokenStream stream_STREAMTOK=new RewriteRuleTokenStream(adaptor,"token STREAMTOK");
- RewriteRuleTokenStream stream_ENVTOK=new RewriteRuleTokenStream(adaptor,"token ENVTOK");
- RewriteRuleTokenStream stream_CLOCKTOK=new RewriteRuleTokenStream(adaptor,"token CLOCKTOK");
- RewriteRuleTokenStream stream_TRACETOK=new RewriteRuleTokenStream(adaptor,"token TRACETOK");
-
- try {
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:602:3: ( EVENTTOK -> EVENT | STREAMTOK -> STREAM | TRACETOK -> TRACE | ENVTOK -> ENV | CLOCKTOK -> CLOCK | CALLSITETOK -> CALLSITE )
- int alt52=6;
- switch ( input.LA(1) ) {
- case EVENTTOK:
- {
- alt52=1;
- }
- break;
- case STREAMTOK:
- {
- alt52=2;
- }
- break;
- case TRACETOK:
- {
- alt52=3;
- }
- break;
- case ENVTOK:
- {
- alt52=4;
- }
- break;
- case CLOCKTOK:
- {
- alt52=5;
- }
- break;
- case CALLSITETOK:
- {
- alt52=6;
- }
- break;
- default:
- if (state.backtracking>0) {state.failed=true; return retval;}
- NoViableAltException nvae =
- new NoViableAltException("", 52, 0, input);
- throw nvae;
- }
- switch (alt52) {
- case 1 :
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:602:5: EVENTTOK
- {
- EVENTTOK159=(Token)match(input,EVENTTOK,FOLLOW_EVENTTOK_in_ctfSpecifierHead3185); if (state.failed) return retval;
- if ( state.backtracking==0 ) stream_EVENTTOK.add(EVENTTOK159);
-
- // AST REWRITE
- // elements:
- // token labels:
- // rule labels: retval
- // token list labels:
- // rule list labels:
- // wildcard labels:
- if ( state.backtracking==0 ) {
- retval.tree = root_0;
- RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
-
- root_0 = (CommonTree)adaptor.nil();
- // 602:14: -> EVENT
- {
- adaptor.addChild(root_0, (CommonTree)adaptor.create(EVENT, "EVENT"));
- }
-
-
- retval.tree = root_0;
- }
-
- }
- break;
- case 2 :
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:603:5: STREAMTOK
- {
- STREAMTOK160=(Token)match(input,STREAMTOK,FOLLOW_STREAMTOK_in_ctfSpecifierHead3195); if (state.failed) return retval;
- if ( state.backtracking==0 ) stream_STREAMTOK.add(STREAMTOK160);
-
- // AST REWRITE
- // elements:
- // token labels:
- // rule labels: retval
- // token list labels:
- // rule list labels:
- // wildcard labels:
- if ( state.backtracking==0 ) {
- retval.tree = root_0;
- RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
-
- root_0 = (CommonTree)adaptor.nil();
- // 603:15: -> STREAM
- {
- adaptor.addChild(root_0, (CommonTree)adaptor.create(STREAM, "STREAM"));
- }
-
-
- retval.tree = root_0;
- }
-
- }
- break;
- case 3 :
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:604:5: TRACETOK
- {
- TRACETOK161=(Token)match(input,TRACETOK,FOLLOW_TRACETOK_in_ctfSpecifierHead3205); if (state.failed) return retval;
- if ( state.backtracking==0 ) stream_TRACETOK.add(TRACETOK161);
-
- // AST REWRITE
- // elements:
- // token labels:
- // rule labels: retval
- // token list labels:
- // rule list labels:
- // wildcard labels:
- if ( state.backtracking==0 ) {
- retval.tree = root_0;
- RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
-
- root_0 = (CommonTree)adaptor.nil();
- // 604:14: -> TRACE
- {
- adaptor.addChild(root_0, (CommonTree)adaptor.create(TRACE, "TRACE"));
- }
-
-
- retval.tree = root_0;
- }
-
- }
- break;
- case 4 :
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:605:5: ENVTOK
- {
- ENVTOK162=(Token)match(input,ENVTOK,FOLLOW_ENVTOK_in_ctfSpecifierHead3215); if (state.failed) return retval;
- if ( state.backtracking==0 ) stream_ENVTOK.add(ENVTOK162);
-
- // AST REWRITE
- // elements:
- // token labels:
- // rule labels: retval
- // token list labels:
- // rule list labels:
- // wildcard labels:
- if ( state.backtracking==0 ) {
- retval.tree = root_0;
- RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
-
- root_0 = (CommonTree)adaptor.nil();
- // 605:12: -> ENV
- {
- adaptor.addChild(root_0, (CommonTree)adaptor.create(ENV, "ENV"));
- }
-
-
- retval.tree = root_0;
- }
-
- }
- break;
- case 5 :
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:606:5: CLOCKTOK
- {
- CLOCKTOK163=(Token)match(input,CLOCKTOK,FOLLOW_CLOCKTOK_in_ctfSpecifierHead3225); if (state.failed) return retval;
- if ( state.backtracking==0 ) stream_CLOCKTOK.add(CLOCKTOK163);
-
- // AST REWRITE
- // elements:
- // token labels:
- // rule labels: retval
- // token list labels:
- // rule list labels:
- // wildcard labels:
- if ( state.backtracking==0 ) {
- retval.tree = root_0;
- RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
-
- root_0 = (CommonTree)adaptor.nil();
- // 606:14: -> CLOCK
- {
- adaptor.addChild(root_0, (CommonTree)adaptor.create(CLOCK, "CLOCK"));
- }
-
-
- retval.tree = root_0;
- }
-
- }
- break;
- case 6 :
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:607:5: CALLSITETOK
- {
- CALLSITETOK164=(Token)match(input,CALLSITETOK,FOLLOW_CALLSITETOK_in_ctfSpecifierHead3235); if (state.failed) return retval;
- if ( state.backtracking==0 ) stream_CALLSITETOK.add(CALLSITETOK164);
-
- // AST REWRITE
- // elements:
- // token labels:
- // rule labels: retval
- // token list labels:
- // rule list labels:
- // wildcard labels:
- if ( state.backtracking==0 ) {
- retval.tree = root_0;
- RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
-
- root_0 = (CommonTree)adaptor.nil();
- // 607:17: -> CALLSITE
- {
- adaptor.addChild(root_0, (CommonTree)adaptor.create(CALLSITE, "CALLSITE"));
- }
-
-
- retval.tree = root_0;
- }
-
- }
- break;
-
- }
- retval.stop = input.LT(-1);
-
- if ( state.backtracking==0 ) {
- retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0);
- adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
- }
- }
-
- catch (RecognitionException e) {
- throw e;
- }
-
- finally {
- // do for sure before leaving
- }
- return retval;
- }
- // $ANTLR end "ctfSpecifierHead"
-
-
- public static class ctfTypeSpecifier_return extends ParserRuleReturnScope {
- CommonTree tree;
- @Override
- public CommonTree getTree() { return tree; }
- };
-
-
- // $ANTLR start "ctfTypeSpecifier"
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:610:1: ctfTypeSpecifier : ( FLOATINGPOINTTOK ctfBody -> ^( FLOATING_POINT ( ctfBody )? ) | INTEGERTOK ctfBody -> ^( INTEGER ( ctfBody )? ) | STRINGTOK ( ctfBody )? -> ^( STRING ( ctfBody )? ) );
- public final CTFParser.ctfTypeSpecifier_return ctfTypeSpecifier() throws RecognitionException {
- CTFParser.ctfTypeSpecifier_return retval = new CTFParser.ctfTypeSpecifier_return();
- retval.start = input.LT(1);
-
- CommonTree root_0 = null;
-
- Token FLOATINGPOINTTOK165=null;
- Token INTEGERTOK167=null;
- Token STRINGTOK169=null;
- ParserRuleReturnScope ctfBody166 =null;
- ParserRuleReturnScope ctfBody168 =null;
- ParserRuleReturnScope ctfBody170 =null;
-
- CommonTree FLOATINGPOINTTOK165_tree=null;
- CommonTree INTEGERTOK167_tree=null;
- CommonTree STRINGTOK169_tree=null;
- RewriteRuleTokenStream stream_FLOATINGPOINTTOK=new RewriteRuleTokenStream(adaptor,"token FLOATINGPOINTTOK");
- RewriteRuleTokenStream stream_STRINGTOK=new RewriteRuleTokenStream(adaptor,"token STRINGTOK");
- RewriteRuleTokenStream stream_INTEGERTOK=new RewriteRuleTokenStream(adaptor,"token INTEGERTOK");
- RewriteRuleSubtreeStream stream_ctfBody=new RewriteRuleSubtreeStream(adaptor,"rule ctfBody");
-
- try {
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:612:3: ( FLOATINGPOINTTOK ctfBody -> ^( FLOATING_POINT ( ctfBody )? ) | INTEGERTOK ctfBody -> ^( INTEGER ( ctfBody )? ) | STRINGTOK ( ctfBody )? -> ^( STRING ( ctfBody )? ) )
- int alt54=3;
- switch ( input.LA(1) ) {
- case FLOATINGPOINTTOK:
- {
- alt54=1;
- }
- break;
- case INTEGERTOK:
- {
- alt54=2;
- }
- break;
- case STRINGTOK:
- {
- alt54=3;
- }
- break;
- default:
- if (state.backtracking>0) {state.failed=true; return retval;}
- NoViableAltException nvae =
- new NoViableAltException("", 54, 0, input);
- throw nvae;
- }
- switch (alt54) {
- case 1 :
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:612:5: FLOATINGPOINTTOK ctfBody
- {
- FLOATINGPOINTTOK165=(Token)match(input,FLOATINGPOINTTOK,FOLLOW_FLOATINGPOINTTOK_in_ctfTypeSpecifier3258); if (state.failed) return retval;
- if ( state.backtracking==0 ) stream_FLOATINGPOINTTOK.add(FLOATINGPOINTTOK165);
-
- pushFollow(FOLLOW_ctfBody_in_ctfTypeSpecifier3260);
- ctfBody166=ctfBody();
- state._fsp--;
- if (state.failed) return retval;
- if ( state.backtracking==0 ) stream_ctfBody.add(ctfBody166.getTree());
- // AST REWRITE
- // elements: ctfBody
- // token labels:
- // rule labels: retval
- // token list labels:
- // rule list labels:
- // wildcard labels:
- if ( state.backtracking==0 ) {
- retval.tree = root_0;
- RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
-
- root_0 = (CommonTree)adaptor.nil();
- // 612:30: -> ^( FLOATING_POINT ( ctfBody )? )
- {
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:612:33: ^( FLOATING_POINT ( ctfBody )? )
- {
- CommonTree root_1 = (CommonTree)adaptor.nil();
- root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(FLOATING_POINT, "FLOATING_POINT"), root_1);
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:612:50: ( ctfBody )?
- if ( stream_ctfBody.hasNext() ) {
- adaptor.addChild(root_1, stream_ctfBody.nextTree());
- }
- stream_ctfBody.reset();
-
- adaptor.addChild(root_0, root_1);
- }
-
- }
-
-
- retval.tree = root_0;
- }
-
- }
- break;
- case 2 :
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:613:5: INTEGERTOK ctfBody
- {
- INTEGERTOK167=(Token)match(input,INTEGERTOK,FOLLOW_INTEGERTOK_in_ctfTypeSpecifier3275); if (state.failed) return retval;
- if ( state.backtracking==0 ) stream_INTEGERTOK.add(INTEGERTOK167);
-
- pushFollow(FOLLOW_ctfBody_in_ctfTypeSpecifier3277);
- ctfBody168=ctfBody();
- state._fsp--;
- if (state.failed) return retval;
- if ( state.backtracking==0 ) stream_ctfBody.add(ctfBody168.getTree());
- // AST REWRITE
- // elements: ctfBody
- // token labels:
- // rule labels: retval
- // token list labels:
- // rule list labels:
- // wildcard labels:
- if ( state.backtracking==0 ) {
- retval.tree = root_0;
- RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
-
- root_0 = (CommonTree)adaptor.nil();
- // 613:24: -> ^( INTEGER ( ctfBody )? )
- {
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:613:27: ^( INTEGER ( ctfBody )? )
- {
- CommonTree root_1 = (CommonTree)adaptor.nil();
- root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(INTEGER, "INTEGER"), root_1);
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:613:37: ( ctfBody )?
- if ( stream_ctfBody.hasNext() ) {
- adaptor.addChild(root_1, stream_ctfBody.nextTree());
- }
- stream_ctfBody.reset();
-
- adaptor.addChild(root_0, root_1);
- }
-
- }
-
-
- retval.tree = root_0;
- }
-
- }
- break;
- case 3 :
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:614:5: STRINGTOK ( ctfBody )?
- {
- STRINGTOK169=(Token)match(input,STRINGTOK,FOLLOW_STRINGTOK_in_ctfTypeSpecifier3292); if (state.failed) return retval;
- if ( state.backtracking==0 ) stream_STRINGTOK.add(STRINGTOK169);
-
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:614:15: ( ctfBody )?
- int alt53=2;
- int LA53_0 = input.LA(1);
- if ( (LA53_0==LCURL) ) {
- alt53=1;
- }
- switch (alt53) {
- case 1 :
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:614:15: ctfBody
- {
- pushFollow(FOLLOW_ctfBody_in_ctfTypeSpecifier3294);
- ctfBody170=ctfBody();
- state._fsp--;
- if (state.failed) return retval;
- if ( state.backtracking==0 ) stream_ctfBody.add(ctfBody170.getTree());
- }
- break;
-
- }
-
- // AST REWRITE
- // elements: ctfBody
- // token labels:
- // rule labels: retval
- // token list labels:
- // rule list labels:
- // wildcard labels:
- if ( state.backtracking==0 ) {
- retval.tree = root_0;
- RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
-
- root_0 = (CommonTree)adaptor.nil();
- // 614:24: -> ^( STRING ( ctfBody )? )
- {
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:614:27: ^( STRING ( ctfBody )? )
- {
- CommonTree root_1 = (CommonTree)adaptor.nil();
- root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(STRING, "STRING"), root_1);
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:614:36: ( ctfBody )?
- if ( stream_ctfBody.hasNext() ) {
- adaptor.addChild(root_1, stream_ctfBody.nextTree());
- }
- stream_ctfBody.reset();
-
- adaptor.addChild(root_0, root_1);
- }
-
- }
-
-
- retval.tree = root_0;
- }
-
- }
- break;
-
- }
- retval.stop = input.LT(-1);
-
- if ( state.backtracking==0 ) {
- retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0);
- adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
- }
- }
-
- catch (RecognitionException e) {
- throw e;
- }
-
- finally {
- // do for sure before leaving
- }
- return retval;
- }
- // $ANTLR end "ctfTypeSpecifier"
-
-
- public static class ctfBody_return extends ParserRuleReturnScope {
- CommonTree tree;
- @Override
- public CommonTree getTree() { return tree; }
- };
-
-
- // $ANTLR start "ctfBody"
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:617:1: ctfBody : LCURL ( ctfAssignmentExpressionList )? RCURL -> ( ctfAssignmentExpressionList )? ;
- public final CTFParser.ctfBody_return ctfBody() throws RecognitionException {
- Symbols_stack.push(new Symbols_scope());
-
- CTFParser.ctfBody_return retval = new CTFParser.ctfBody_return();
- retval.start = input.LT(1);
-
- CommonTree root_0 = null;
-
- Token LCURL171=null;
- Token RCURL173=null;
- ParserRuleReturnScope ctfAssignmentExpressionList172 =null;
-
- CommonTree LCURL171_tree=null;
- CommonTree RCURL173_tree=null;
- RewriteRuleTokenStream stream_LCURL=new RewriteRuleTokenStream(adaptor,"token LCURL");
- RewriteRuleTokenStream stream_RCURL=new RewriteRuleTokenStream(adaptor,"token RCURL");
- RewriteRuleSubtreeStream stream_ctfAssignmentExpressionList=new RewriteRuleSubtreeStream(adaptor,"rule ctfAssignmentExpressionList");
-
-
- Symbols_stack.peek().types = new HashSet<String>();
-
- try {
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:622:3: ( LCURL ( ctfAssignmentExpressionList )? RCURL -> ( ctfAssignmentExpressionList )? )
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:622:5: LCURL ( ctfAssignmentExpressionList )? RCURL
- {
- LCURL171=(Token)match(input,LCURL,FOLLOW_LCURL_in_ctfBody3327); if (state.failed) return retval;
- if ( state.backtracking==0 ) stream_LCURL.add(LCURL171);
-
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:622:11: ( ctfAssignmentExpressionList )?
- int alt55=2;
- int LA55_0 = input.LA(1);
- if ( (LA55_0==ALIGNTOK||(LA55_0 >= BOOLTOK && LA55_0 <= CHARTOK)||LA55_0==CLOCKTOK||(LA55_0 >= COMPLEXTOK && LA55_0 <= DECIMAL_LITERAL)||LA55_0==DOUBLETOK||(LA55_0 >= ENUMTOK && LA55_0 <= ENVTOK)||(LA55_0 >= EVENTTOK && LA55_0 <= FLOATTOK)||LA55_0==HEX_LITERAL||(LA55_0 >= IDENTIFIER && LA55_0 <= IMAGINARYTOK)||LA55_0==INTEGERTOK||LA55_0==INTTOK||LA55_0==LONGTOK||LA55_0==OCTAL_LITERAL||(LA55_0 >= SHORTTOK && LA55_0 <= SIGNEDTOK)||LA55_0==STREAMTOK||LA55_0==STRINGTOK||(LA55_0 >= STRING_LITERAL && LA55_0 <= STRUCTTOK)||(LA55_0 >= TRACETOK && LA55_0 <= TYPEDEFTOK)||(LA55_0 >= UNSIGNEDTOK && LA55_0 <= VOIDTOK)) ) {
- alt55=1;
- }
- switch (alt55) {
- case 1 :
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:622:11: ctfAssignmentExpressionList
- {
- pushFollow(FOLLOW_ctfAssignmentExpressionList_in_ctfBody3329);
- ctfAssignmentExpressionList172=ctfAssignmentExpressionList();
- state._fsp--;
- if (state.failed) return retval;
- if ( state.backtracking==0 ) stream_ctfAssignmentExpressionList.add(ctfAssignmentExpressionList172.getTree());
- }
- break;
-
- }
-
- RCURL173=(Token)match(input,RCURL,FOLLOW_RCURL_in_ctfBody3332); if (state.failed) return retval;
- if ( state.backtracking==0 ) stream_RCURL.add(RCURL173);
-
- // AST REWRITE
- // elements: ctfAssignmentExpressionList
- // token labels:
- // rule labels: retval
- // token list labels:
- // rule list labels:
- // wildcard labels:
- if ( state.backtracking==0 ) {
- retval.tree = root_0;
- RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
-
- root_0 = (CommonTree)adaptor.nil();
- // 622:46: -> ( ctfAssignmentExpressionList )?
- {
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:622:49: ( ctfAssignmentExpressionList )?
- if ( stream_ctfAssignmentExpressionList.hasNext() ) {
- adaptor.addChild(root_0, stream_ctfAssignmentExpressionList.nextTree());
- }
- stream_ctfAssignmentExpressionList.reset();
-
- }
-
-
- retval.tree = root_0;
- }
-
- }
-
- retval.stop = input.LT(-1);
-
- if ( state.backtracking==0 ) {
- retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0);
- adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
- }
- }
-
- catch (RecognitionException e) {
- throw e;
- }
-
- finally {
- // do for sure before leaving
- Symbols_stack.pop();
-
- }
- return retval;
- }
- // $ANTLR end "ctfBody"
-
-
- public static class ctfAssignmentExpressionList_return extends ParserRuleReturnScope {
- CommonTree tree;
- @Override
- public CommonTree getTree() { return tree; }
- };
-
-
- // $ANTLR start "ctfAssignmentExpressionList"
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:625:1: ctfAssignmentExpressionList : ( ctfAssignmentExpression TERM !)+ ;
- public final CTFParser.ctfAssignmentExpressionList_return ctfAssignmentExpressionList() throws RecognitionException {
- CTFParser.ctfAssignmentExpressionList_return retval = new CTFParser.ctfAssignmentExpressionList_return();
- retval.start = input.LT(1);
-
- CommonTree root_0 = null;
-
- Token TERM175=null;
- ParserRuleReturnScope ctfAssignmentExpression174 =null;
-
- CommonTree TERM175_tree=null;
-
- try {
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:626:3: ( ( ctfAssignmentExpression TERM !)+ )
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:626:5: ( ctfAssignmentExpression TERM !)+
- {
- root_0 = (CommonTree)adaptor.nil();
-
-
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:626:5: ( ctfAssignmentExpression TERM !)+
- int cnt56=0;
- loop56:
- while (true) {
- int alt56=2;
- int LA56_0 = input.LA(1);
- if ( (LA56_0==ALIGNTOK||(LA56_0 >= BOOLTOK && LA56_0 <= CHARTOK)||LA56_0==CLOCKTOK||(LA56_0 >= COMPLEXTOK && LA56_0 <= DECIMAL_LITERAL)||LA56_0==DOUBLETOK||(LA56_0 >= ENUMTOK && LA56_0 <= ENVTOK)||(LA56_0 >= EVENTTOK && LA56_0 <= FLOATTOK)||LA56_0==HEX_LITERAL||(LA56_0 >= IDENTIFIER && LA56_0 <= IMAGINARYTOK)||LA56_0==INTEGERTOK||LA56_0==INTTOK||LA56_0==LONGTOK||LA56_0==OCTAL_LITERAL||(LA56_0 >= SHORTTOK && LA56_0 <= SIGNEDTOK)||LA56_0==STREAMTOK||LA56_0==STRINGTOK||(LA56_0 >= STRING_LITERAL && LA56_0 <= STRUCTTOK)||(LA56_0 >= TRACETOK && LA56_0 <= TYPEDEFTOK)||(LA56_0 >= UNSIGNEDTOK && LA56_0 <= VOIDTOK)) ) {
- alt56=1;
- }
-
- switch (alt56) {
- case 1 :
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:626:6: ctfAssignmentExpression TERM !
- {
- pushFollow(FOLLOW_ctfAssignmentExpression_in_ctfAssignmentExpressionList3351);
- ctfAssignmentExpression174=ctfAssignmentExpression();
- state._fsp--;
- if (state.failed) return retval;
- if ( state.backtracking==0 ) adaptor.addChild(root_0, ctfAssignmentExpression174.getTree());
-
- TERM175=(Token)match(input,TERM,FOLLOW_TERM_in_ctfAssignmentExpressionList3353); if (state.failed) return retval;
- }
- break;
-
- default :
- if ( cnt56 >= 1 ) break loop56;
- if (state.backtracking>0) {state.failed=true; return retval;}
- EarlyExitException eee = new EarlyExitException(56, input);
- throw eee;
- }
- cnt56++;
- }
-
- }
-
- retval.stop = input.LT(-1);
-
- if ( state.backtracking==0 ) {
- retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0);
- adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
- }
- }
-
- catch (RecognitionException e) {
- throw e;
- }
-
- finally {
- // do for sure before leaving
- }
- return retval;
- }
- // $ANTLR end "ctfAssignmentExpressionList"
-
-
- public static class ctfAssignmentExpression_return extends ParserRuleReturnScope {
- CommonTree tree;
- @Override
- public CommonTree getTree() { return tree; }
- };
-
-
- // $ANTLR start "ctfAssignmentExpression"
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:629:1: ctfAssignmentExpression : (left= unaryExpression (assignment= ASSIGNMENT right1= unaryExpression -> ^( CTF_EXPRESSION_VAL ^( CTF_LEFT $left) ^( CTF_RIGHT $right1) ) |type_assignment= TYPE_ASSIGNMENT right2= typeSpecifier -> ^( CTF_EXPRESSION_TYPE ^( CTF_LEFT $left) ^( CTF_RIGHT ^( TYPE_SPECIFIER_LIST $right2) ) ) ) | ( declarationSpecifiers {...}? declaratorList ) -> ^( TYPEDEF declaratorList declarationSpecifiers ) | typealiasDecl );
- public final CTFParser.ctfAssignmentExpression_return ctfAssignmentExpression() throws RecognitionException {
- CTFParser.ctfAssignmentExpression_return retval = new CTFParser.ctfAssignmentExpression_return();
- retval.start = input.LT(1);
-
- CommonTree root_0 = null;
-
- Token assignment=null;
- Token type_assignment=null;
- ParserRuleReturnScope left =null;
- ParserRuleReturnScope right1 =null;
- ParserRuleReturnScope right2 =null;
- ParserRuleReturnScope declarationSpecifiers176 =null;
- ParserRuleReturnScope declaratorList177 =null;
- ParserRuleReturnScope typealiasDecl178 =null;
-
- CommonTree assignment_tree=null;
- CommonTree type_assignment_tree=null;
- RewriteRuleTokenStream stream_ASSIGNMENT=new RewriteRuleTokenStream(adaptor,"token ASSIGNMENT");
- RewriteRuleTokenStream stream_TYPE_ASSIGNMENT=new RewriteRuleTokenStream(adaptor,"token TYPE_ASSIGNMENT");
- RewriteRuleSubtreeStream stream_declaratorList=new RewriteRuleSubtreeStream(adaptor,"rule declaratorList");
- RewriteRuleSubtreeStream stream_unaryExpression=new RewriteRuleSubtreeStream(adaptor,"rule unaryExpression");
- RewriteRuleSubtreeStream stream_declarationSpecifiers=new RewriteRuleSubtreeStream(adaptor,"rule declarationSpecifiers");
- RewriteRuleSubtreeStream stream_typeSpecifier=new RewriteRuleSubtreeStream(adaptor,"rule typeSpecifier");
-
- try {
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:635:3: (left= unaryExpression (assignment= ASSIGNMENT right1= unaryExpression -> ^( CTF_EXPRESSION_VAL ^( CTF_LEFT $left) ^( CTF_RIGHT $right1) ) |type_assignment= TYPE_ASSIGNMENT right2= typeSpecifier -> ^( CTF_EXPRESSION_TYPE ^( CTF_LEFT $left) ^( CTF_RIGHT ^( TYPE_SPECIFIER_LIST $right2) ) ) ) | ( declarationSpecifiers {...}? declaratorList ) -> ^( TYPEDEF declaratorList declarationSpecifiers ) | typealiasDecl )
- int alt58=3;
- switch ( input.LA(1) ) {
- case IDENTIFIER:
- {
- int LA58_1 = input.LA(2);
- if ( ((LA58_1 >= ARROW && LA58_1 <= ASSIGNMENT)||LA58_1==DOT||LA58_1==OPENBRAC||LA58_1==TYPE_ASSIGNMENT) ) {
- alt58=1;
- }
- else if ( (LA58_1==BOOLTOK||LA58_1==CHARTOK||(LA58_1 >= COMPLEXTOK && LA58_1 <= CONSTTOK)||LA58_1==DOUBLETOK||LA58_1==ENUMTOK||(LA58_1 >= FLOATINGPOINTTOK && LA58_1 <= FLOATTOK)||(LA58_1 >= IDENTIFIER && LA58_1 <= IMAGINARYTOK)||LA58_1==INTEGERTOK||LA58_1==INTTOK||LA58_1==LONGTOK||LA58_1==POINTER||LA58_1==SHORTTOK||LA58_1==SIGNEDTOK||LA58_1==STRINGTOK||LA58_1==STRUCTTOK||LA58_1==TYPEDEFTOK||(LA58_1 >= UNSIGNEDTOK && LA58_1 <= VOIDTOK)) && (( inTypealiasAlias() || isTypeName(input.LT(1).getText()) ))) {
- alt58=2;
- }
-
- }
- break;
- case ALIGNTOK:
- case CALLSITETOK:
- case CHARACTER_LITERAL:
- case CLOCKTOK:
- case DECIMAL_LITERAL:
- case ENVTOK:
- case EVENTTOK:
- case HEX_LITERAL:
- case OCTAL_LITERAL:
- case SIGN:
- case STREAMTOK:
- case STRING_LITERAL:
- case TRACETOK:
- {
- alt58=1;
- }
- break;
- case SIGNEDTOK:
- {
- switch ( input.LA(2) ) {
- case ARROW:
- case ASSIGNMENT:
- case DOT:
- case OPENBRAC:
- case TYPE_ASSIGNMENT:
- {
- alt58=1;
- }
- break;
- case BOOLTOK:
- case CHARTOK:
- case COMPLEXTOK:
- case CONSTTOK:
- case DOUBLETOK:
- case ENUMTOK:
- case FLOATINGPOINTTOK:
- case FLOATTOK:
- case IDENTIFIER:
- case IMAGINARYTOK:
- case INTEGERTOK:
- case INTTOK:
- case LONGTOK:
- case POINTER:
- case SHORTTOK:
- case SIGNEDTOK:
- case STRINGTOK:
- case STRUCTTOK:
- case UNSIGNEDTOK:
- case VARIANTTOK:
- case VOIDTOK:
- {
- alt58=2;
- }
- break;
- case TYPEDEFTOK:
- {
- alt58=2;
- }
- break;
- default:
- if (state.backtracking>0) {state.failed=true; return retval;}
- int nvaeMark = input.mark();
- try {
- input.consume();
- NoViableAltException nvae =
- new NoViableAltException("", 58, 3, input);
- throw nvae;
- } finally {
- input.rewind(nvaeMark);
- }
- }
- }
- break;
- case BOOLTOK:
- case CHARTOK:
- case COMPLEXTOK:
- case CONSTTOK:
- case DOUBLETOK:
- case ENUMTOK:
- case FLOATINGPOINTTOK:
- case FLOATTOK:
- case IMAGINARYTOK:
- case INTEGERTOK:
- case INTTOK:
- case LONGTOK:
- case SHORTTOK:
- case STRUCTTOK:
- case TYPEDEFTOK:
- case UNSIGNEDTOK:
- case VARIANTTOK:
- case VOIDTOK:
- {
- alt58=2;
- }
- break;
- case STRINGTOK:
- {
- switch ( input.LA(2) ) {
- case ARROW:
- case ASSIGNMENT:
- case DOT:
- case OPENBRAC:
- case TYPE_ASSIGNMENT:
- {
- alt58=1;
- }
- break;
- case BOOLTOK:
- case CHARTOK:
- case COMPLEXTOK:
- case CONSTTOK:
- case DOUBLETOK:
- case ENUMTOK:
- case FLOATINGPOINTTOK:
- case FLOATTOK:
- case IDENTIFIER:
- case IMAGINARYTOK:
- case INTEGERTOK:
- case INTTOK:
- case LCURL:
- case LONGTOK:
- case POINTER:
- case SHORTTOK:
- case SIGNEDTOK:
- case STRINGTOK:
- case STRUCTTOK:
- case UNSIGNEDTOK:
- case VARIANTTOK:
- case VOIDTOK:
- {
- alt58=2;
- }
- break;
- case TYPEDEFTOK:
- {
- alt58=2;
- }
- break;
- default:
- if (state.backtracking>0) {state.failed=true; return retval;}
- int nvaeMark = input.mark();
- try {
- input.consume();
- NoViableAltException nvae =
- new NoViableAltException("", 58, 5, input);
- throw nvae;
- } finally {
- input.rewind(nvaeMark);
- }
- }
- }
- break;
- case TYPEALIASTOK:
- {
- alt58=3;
- }
- break;
- default:
- if (state.backtracking>0) {state.failed=true; return retval;}
- NoViableAltException nvae =
- new NoViableAltException("", 58, 0, input);
- throw nvae;
- }
- switch (alt58) {
- case 1 :
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:635:5: left= unaryExpression (assignment= ASSIGNMENT right1= unaryExpression -> ^( CTF_EXPRESSION_VAL ^( CTF_LEFT $left) ^( CTF_RIGHT $right1) ) |type_assignment= TYPE_ASSIGNMENT right2= typeSpecifier -> ^( CTF_EXPRESSION_TYPE ^( CTF_LEFT $left) ^( CTF_RIGHT ^( TYPE_SPECIFIER_LIST $right2) ) ) )
- {
- pushFollow(FOLLOW_unaryExpression_in_ctfAssignmentExpression3376);
- left=unaryExpression();
- state._fsp--;
- if (state.failed) return retval;
- if ( state.backtracking==0 ) stream_unaryExpression.add(left.getTree());
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:636:7: (assignment= ASSIGNMENT right1= unaryExpression -> ^( CTF_EXPRESSION_VAL ^( CTF_LEFT $left) ^( CTF_RIGHT $right1) ) |type_assignment= TYPE_ASSIGNMENT right2= typeSpecifier -> ^( CTF_EXPRESSION_TYPE ^( CTF_LEFT $left) ^( CTF_RIGHT ^( TYPE_SPECIFIER_LIST $right2) ) ) )
- int alt57=2;
- int LA57_0 = input.LA(1);
- if ( (LA57_0==ASSIGNMENT) ) {
- alt57=1;
- }
- else if ( (LA57_0==TYPE_ASSIGNMENT) ) {
- alt57=2;
- }
-
- else {
- if (state.backtracking>0) {state.failed=true; return retval;}
- NoViableAltException nvae =
- new NoViableAltException("", 57, 0, input);
- throw nvae;
- }
-
- switch (alt57) {
- case 1 :
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:636:9: assignment= ASSIGNMENT right1= unaryExpression
- {
- assignment=(Token)match(input,ASSIGNMENT,FOLLOW_ASSIGNMENT_in_ctfAssignmentExpression3388); if (state.failed) return retval;
- if ( state.backtracking==0 ) stream_ASSIGNMENT.add(assignment);
-
- pushFollow(FOLLOW_unaryExpression_in_ctfAssignmentExpression3392);
- right1=unaryExpression();
- state._fsp--;
- if (state.failed) return retval;
- if ( state.backtracking==0 ) stream_unaryExpression.add(right1.getTree());
- // AST REWRITE
- // elements: left, right1
- // token labels:
- // rule labels: retval, left, right1
- // token list labels:
- // rule list labels:
- // wildcard labels:
- if ( state.backtracking==0 ) {
- retval.tree = root_0;
- RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
- RewriteRuleSubtreeStream stream_left=new RewriteRuleSubtreeStream(adaptor,"rule left",left!=null?left.getTree():null);
- RewriteRuleSubtreeStream stream_right1=new RewriteRuleSubtreeStream(adaptor,"rule right1",right1!=null?right1.getTree():null);
-
- root_0 = (CommonTree)adaptor.nil();
- // 637:11: -> ^( CTF_EXPRESSION_VAL ^( CTF_LEFT $left) ^( CTF_RIGHT $right1) )
- {
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:637:14: ^( CTF_EXPRESSION_VAL ^( CTF_LEFT $left) ^( CTF_RIGHT $right1) )
- {
- CommonTree root_1 = (CommonTree)adaptor.nil();
- root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(CTF_EXPRESSION_VAL, "CTF_EXPRESSION_VAL"), root_1);
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:638:18: ^( CTF_LEFT $left)
- {
- CommonTree root_2 = (CommonTree)adaptor.nil();
- root_2 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(CTF_LEFT, "CTF_LEFT"), root_2);
- adaptor.addChild(root_2, stream_left.nextTree());
- adaptor.addChild(root_1, root_2);
- }
-
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:639:18: ^( CTF_RIGHT $right1)
- {
- CommonTree root_2 = (CommonTree)adaptor.nil();
- root_2 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(CTF_RIGHT, "CTF_RIGHT"), root_2);
- adaptor.addChild(root_2, stream_right1.nextTree());
- adaptor.addChild(root_1, root_2);
- }
-
- adaptor.addChild(root_0, root_1);
- }
-
- }
-
-
- retval.tree = root_0;
- }
-
- }
- break;
- case 2 :
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:640:9: type_assignment= TYPE_ASSIGNMENT right2= typeSpecifier
- {
- type_assignment=(Token)match(input,TYPE_ASSIGNMENT,FOLLOW_TYPE_ASSIGNMENT_in_ctfAssignmentExpression3468); if (state.failed) return retval;
- if ( state.backtracking==0 ) stream_TYPE_ASSIGNMENT.add(type_assignment);
-
- pushFollow(FOLLOW_typeSpecifier_in_ctfAssignmentExpression3472);
- right2=typeSpecifier();
- state._fsp--;
- if (state.failed) return retval;
- if ( state.backtracking==0 ) stream_typeSpecifier.add(right2.getTree());
- // AST REWRITE
- // elements: right2, left
- // token labels:
- // rule labels: retval, left, right2
- // token list labels:
- // rule list labels:
- // wildcard labels:
- if ( state.backtracking==0 ) {
- retval.tree = root_0;
- RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
- RewriteRuleSubtreeStream stream_left=new RewriteRuleSubtreeStream(adaptor,"rule left",left!=null?left.getTree():null);
- RewriteRuleSubtreeStream stream_right2=new RewriteRuleSubtreeStream(adaptor,"rule right2",right2!=null?right2.getTree():null);
-
- root_0 = (CommonTree)adaptor.nil();
- // 641:11: -> ^( CTF_EXPRESSION_TYPE ^( CTF_LEFT $left) ^( CTF_RIGHT ^( TYPE_SPECIFIER_LIST $right2) ) )
- {
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:641:14: ^( CTF_EXPRESSION_TYPE ^( CTF_LEFT $left) ^( CTF_RIGHT ^( TYPE_SPECIFIER_LIST $right2) ) )
- {
- CommonTree root_1 = (CommonTree)adaptor.nil();
- root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(CTF_EXPRESSION_TYPE, "CTF_EXPRESSION_TYPE"), root_1);
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:642:18: ^( CTF_LEFT $left)
- {
- CommonTree root_2 = (CommonTree)adaptor.nil();
- root_2 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(CTF_LEFT, "CTF_LEFT"), root_2);
- adaptor.addChild(root_2, stream_left.nextTree());
- adaptor.addChild(root_1, root_2);
- }
-
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:643:18: ^( CTF_RIGHT ^( TYPE_SPECIFIER_LIST $right2) )
- {
- CommonTree root_2 = (CommonTree)adaptor.nil();
- root_2 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(CTF_RIGHT, "CTF_RIGHT"), root_2);
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:643:30: ^( TYPE_SPECIFIER_LIST $right2)
- {
- CommonTree root_3 = (CommonTree)adaptor.nil();
- root_3 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(TYPE_SPECIFIER_LIST, "TYPE_SPECIFIER_LIST"), root_3);
- adaptor.addChild(root_3, stream_right2.nextTree());
- adaptor.addChild(root_2, root_3);
- }
-
- adaptor.addChild(root_1, root_2);
- }
-
- adaptor.addChild(root_0, root_1);
- }
-
- }
-
-
- retval.tree = root_0;
- }
-
- }
- break;
-
- }
-
- }
- break;
- case 2 :
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:645:5: ( declarationSpecifiers {...}? declaratorList )
- {
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:645:5: ( declarationSpecifiers {...}? declaratorList )
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:645:6: declarationSpecifiers {...}? declaratorList
- {
- pushFollow(FOLLOW_declarationSpecifiers_in_ctfAssignmentExpression3555);
- declarationSpecifiers176=declarationSpecifiers();
- state._fsp--;
- if (state.failed) return retval;
- if ( state.backtracking==0 ) stream_declarationSpecifiers.add(declarationSpecifiers176.getTree());
- if ( !((inTypedef())) ) {
- if (state.backtracking>0) {state.failed=true; return retval;}
- throw new FailedPredicateException(input, "ctfAssignmentExpression", "inTypedef()");
- }
- pushFollow(FOLLOW_declaratorList_in_ctfAssignmentExpression3559);
- declaratorList177=declaratorList();
- state._fsp--;
- if (state.failed) return retval;
- if ( state.backtracking==0 ) stream_declaratorList.add(declaratorList177.getTree());
- }
-
- // AST REWRITE
- // elements: declarationSpecifiers, declaratorList
- // token labels:
- // rule labels: retval
- // token list labels:
- // rule list labels:
- // wildcard labels:
- if ( state.backtracking==0 ) {
- retval.tree = root_0;
- RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
-
- root_0 = (CommonTree)adaptor.nil();
- // 646:7: -> ^( TYPEDEF declaratorList declarationSpecifiers )
- {
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:646:10: ^( TYPEDEF declaratorList declarationSpecifiers )
- {
- CommonTree root_1 = (CommonTree)adaptor.nil();
- root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(TYPEDEF, "TYPEDEF"), root_1);
- adaptor.addChild(root_1, stream_declaratorList.nextTree());
- adaptor.addChild(root_1, stream_declarationSpecifiers.nextTree());
- adaptor.addChild(root_0, root_1);
- }
-
- }
-
-
- retval.tree = root_0;
- }
-
- }
- break;
- case 3 :
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:647:5: typealiasDecl
- {
- root_0 = (CommonTree)adaptor.nil();
-
-
- pushFollow(FOLLOW_typealiasDecl_in_ctfAssignmentExpression3582);
- typealiasDecl178=typealiasDecl();
- state._fsp--;
- if (state.failed) return retval;
- if ( state.backtracking==0 ) adaptor.addChild(root_0, typealiasDecl178.getTree());
-
- }
- break;
-
- }
- retval.stop = input.LT(-1);
-
- if ( state.backtracking==0 ) {
- retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0);
- adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
- }
- if ( state.backtracking==0 ) {
- if (inTypedef()) {
- typedefOff();
- }
- }
- }
-
- catch (RecognitionException e) {
- throw e;
- }
-
- finally {
- // do for sure before leaving
- }
- return retval;
- }
- // $ANTLR end "ctfAssignmentExpression"
-
- // $ANTLR start synpred1_CTFParser
- public final void synpred1_CTFParser_fragment() throws RecognitionException {
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:209:5: ( IDENTIFIER )
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:209:6: IDENTIFIER
- {
- match(input,IDENTIFIER,FOLLOW_IDENTIFIER_in_synpred1_CTFParser560); if (state.failed) return;
-
- }
-
- }
- // $ANTLR end synpred1_CTFParser
-
- // $ANTLR start synpred2_CTFParser
- public final void synpred2_CTFParser_fragment() throws RecognitionException {
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:211:5: ( ctfKeyword )
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:211:6: ctfKeyword
- {
- pushFollow(FOLLOW_ctfKeyword_in_synpred2_CTFParser586);
- ctfKeyword();
- state._fsp--;
- if (state.failed) return;
-
- }
-
- }
- // $ANTLR end synpred2_CTFParser
-
- // $ANTLR start synpred3_CTFParser
- public final void synpred3_CTFParser_fragment() throws RecognitionException {
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:212:5: ( STRING_LITERAL )
- // org/eclipse/linuxtools/ctf/parser/CTFParser.g:212:6: STRING_LITERAL
- {
- match(input,STRING_LITERAL,FOLLOW_STRING_LITERAL_in_synpred3_CTFParser606); if (state.failed) return;
-
- }
-
- }
- // $ANTLR end synpred3_CTFParser
-
- // Delegated rules
-
- public final boolean synpred2_CTFParser() {
- state.backtracking++;
- int start = input.mark();
- try {
- synpred2_CTFParser_fragment(); // can never throw exception
- } catch (RecognitionException re) {
- System.err.println("impossible: "+re);
- }
- boolean success = !state.failed;
- input.rewind(start);
- state.backtracking--;
- state.failed=false;
- return success;
- }
- public final boolean synpred1_CTFParser() {
- state.backtracking++;
- int start = input.mark();
- try {
- synpred1_CTFParser_fragment(); // can never throw exception
- } catch (RecognitionException re) {
- System.err.println("impossible: "+re);
- }
- boolean success = !state.failed;
- input.rewind(start);
- state.backtracking--;
- state.failed=false;
- return success;
- }
- public final boolean synpred3_CTFParser() {
- state.backtracking++;
- int start = input.mark();
- try {
- synpred3_CTFParser_fragment(); // can never throw exception
- } catch (RecognitionException re) {
- System.err.println("impossible: "+re);
- }
- boolean success = !state.failed;
- input.rewind(start);
- state.backtracking--;
- state.failed=false;
- return success;
- }
-
-
- protected DFA23 dfa23 = new DFA23(this);
- static final String DFA23_eotS =
- "\10\uffff";
- static final String DFA23_eofS =
- "\10\uffff";
- static final String DFA23_minS =
- "\1\46\1\24\1\0\1\24\1\0\2\uffff\1\0";
- static final String DFA23_maxS =
- "\2\72\1\0\1\72\1\0\2\uffff\1\0";
- static final String DFA23_acceptS =
- "\5\uffff\1\1\1\2\1\uffff";
- static final String DFA23_specialS =
- "\2\uffff\1\2\1\uffff\1\1\2\uffff\1\0}>";
- static final String[] DFA23_transitionS = {
- "\1\2\23\uffff\1\1",
- "\1\3\21\uffff\1\4\23\uffff\1\1",
- "\1\uffff",
- "\1\3\21\uffff\1\7\23\uffff\1\1",
- "\1\uffff",
- "",
- "",
- "\1\uffff"
- };
-
- static final short[] DFA23_eot = DFA.unpackEncodedString(DFA23_eotS);
- static final short[] DFA23_eof = DFA.unpackEncodedString(DFA23_eofS);
- static final char[] DFA23_min = DFA.unpackEncodedStringToUnsignedChars(DFA23_minS);
- static final char[] DFA23_max = DFA.unpackEncodedStringToUnsignedChars(DFA23_maxS);
- static final short[] DFA23_accept = DFA.unpackEncodedString(DFA23_acceptS);
- static final short[] DFA23_special = DFA.unpackEncodedString(DFA23_specialS);
- static final short[][] DFA23_transition;
-
- static {
- int numStates = DFA23_transitionS.length;
- DFA23_transition = new short[numStates][];
- for (int i=0; i<numStates; i++) {
- DFA23_transition[i] = DFA.unpackEncodedString(DFA23_transitionS[i]);
- }
- }
-
- protected class DFA23 extends DFA {
-
- public DFA23(BaseRecognizer recognizer) {
- this.recognizer = recognizer;
- this.decisionNumber = 23;
- this.eot = DFA23_eot;
- this.eof = DFA23_eof;
- this.min = DFA23_min;
- this.max = DFA23_max;
- this.accept = DFA23_accept;
- this.special = DFA23_special;
- this.transition = DFA23_transition;
- }
- @Override
- public String getDescription() {
- return "368:10: ({...}? => declaratorList -> ^( TYPEDEF declaratorList declarationSpecifiers ) | structOrVariantDeclaratorList -> ^( SV_DECLARATION declarationSpecifiers structOrVariantDeclaratorList ) )";
- }
- @Override
- public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
- TokenStream input = (TokenStream)_input;
- int _s = s;
- switch ( s ) {
- case 0 :
- int LA23_7 = input.LA(1);
-
- int index23_7 = input.index();
- input.rewind();
- s = -1;
- if ( ((inTypedef())) ) {s = 5;}
- else if ( (true) ) {s = 6;}
-
- input.seek(index23_7);
- if ( s>=0 ) return s;
- break;
-
- case 1 :
- int LA23_4 = input.LA(1);
-
- int index23_4 = input.index();
- input.rewind();
- s = -1;
- if ( ((inTypedef())) ) {s = 5;}
- else if ( (true) ) {s = 6;}
-
- input.seek(index23_4);
- if ( s>=0 ) return s;
- break;
-
- case 2 :
- int LA23_2 = input.LA(1);
-
- int index23_2 = input.index();
- input.rewind();
- s = -1;
- if ( ((inTypedef())) ) {s = 5;}
- else if ( (true) ) {s = 6;}
-
- input.seek(index23_2);
- if ( s>=0 ) return s;
- break;
- }
- if (state.backtracking>0) {state.failed=true; return -1;}
- NoViableAltException nvae =
- new NoViableAltException(getDescription(), 23, _s, input);
- error(nvae);
- throw nvae;
- }
- }
-
- public static final BitSet FOLLOW_declaration_in_parse449 = new BitSet(new long[]{0x40004AC1DA182B00L,0x000000000001CE95L});
- public static final BitSet FOLLOW_EOF_in_parse452 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_SIGN_in_numberLiteral474 = new BitSet(new long[]{0x8040001000200000L});
- public static final BitSet FOLLOW_HEX_LITERAL_in_numberLiteral485 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_DECIMAL_LITERAL_in_numberLiteral506 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_OCTAL_LITERAL_in_numberLiteral527 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_IDENTIFIER_in_primaryExpression565 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_ctfKeyword_in_primaryExpression591 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_STRING_LITERAL_in_primaryExpression611 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_numberLiteral_in_primaryExpression636 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_enumConstant_in_primaryExpression642 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_CHARACTER_LITERAL_in_primaryExpression648 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_OPENBRAC_in_postfixExpressionSuffix661 = new BitSet(new long[]{0x8040005050202610L,0x0000000000000255L});
- public static final BitSet FOLLOW_unaryExpression_in_postfixExpressionSuffix663 = new BitSet(new long[]{0x0000000000004000L});
- public static final BitSet FOLLOW_CLOSEBRAC_in_postfixExpressionSuffix665 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_DOT_in_postfixExpressionSuffix675 = new BitSet(new long[]{0x0000004000000000L});
- public static final BitSet FOLLOW_ARROW_in_postfixExpressionSuffix681 = new BitSet(new long[]{0x0000004000000000L});
- public static final BitSet FOLLOW_IDENTIFIER_in_postfixExpressionSuffix684 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_primaryExpression_in_postfixExpression716 = new BitSet(new long[]{0x0200000000800022L});
- public static final BitSet FOLLOW_postfixExpressionSuffix_in_postfixExpression718 = new BitSet(new long[]{0x0200000000800022L});
- public static final BitSet FOLLOW_ctfSpecifierHead_in_postfixExpression725 = new BitSet(new long[]{0x0200000000800020L});
- public static final BitSet FOLLOW_postfixExpressionSuffix_in_postfixExpression727 = new BitSet(new long[]{0x0200000000800022L});
- public static final BitSet FOLLOW_postfixExpression_in_unaryExpression743 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_STRING_LITERAL_in_enumConstant760 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_IDENTIFIER_in_enumConstant774 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_ctfKeyword_in_enumConstant788 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_declarationSpecifiers_in_declaration816 = new BitSet(new long[]{0x0400004000000000L,0x0000000000000100L});
- public static final BitSet FOLLOW_declaratorList_in_declaration818 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000100L});
- public static final BitSet FOLLOW_TERM_in_declaration821 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_ctfSpecifier_in_declaration889 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000100L});
- public static final BitSet FOLLOW_TERM_in_declaration891 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_storageClassSpecifier_in_declarationSpecifiers929 = new BitSet(new long[]{0x40004AC18A180902L,0x000000000001C891L});
- public static final BitSet FOLLOW_typeQualifier_in_declarationSpecifiers939 = new BitSet(new long[]{0x40004AC18A180902L,0x000000000001C891L});
- public static final BitSet FOLLOW_typeSpecifier_in_declarationSpecifiers949 = new BitSet(new long[]{0x40004AC18A180902L,0x000000000001C891L});
- public static final BitSet FOLLOW_declarator_in_declaratorList979 = new BitSet(new long[]{0x2000000000000002L});
- public static final BitSet FOLLOW_SEPARATOR_in_declaratorList982 = new BitSet(new long[]{0x0400004000000000L});
- public static final BitSet FOLLOW_declarator_in_declaratorList984 = new BitSet(new long[]{0x2000000000000002L});
- public static final BitSet FOLLOW_abstractDeclarator_in_abstractDeclaratorList1014 = new BitSet(new long[]{0x2000000000000002L});
- public static final BitSet FOLLOW_SEPARATOR_in_abstractDeclaratorList1017 = new BitSet(new long[]{0x0400804000000000L});
- public static final BitSet FOLLOW_abstractDeclarator_in_abstractDeclaratorList1019 = new BitSet(new long[]{0x2000000000000002L});
- public static final BitSet FOLLOW_TYPEDEFTOK_in_storageClassSpecifier1049 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_FLOATTOK_in_typeSpecifier1065 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_INTTOK_in_typeSpecifier1071 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_LONGTOK_in_typeSpecifier1077 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_SHORTTOK_in_typeSpecifier1083 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_SIGNEDTOK_in_typeSpecifier1089 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_UNSIGNEDTOK_in_typeSpecifier1095 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_CHARTOK_in_typeSpecifier1101 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_DOUBLETOK_in_typeSpecifier1107 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_VOIDTOK_in_typeSpecifier1113 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_BOOLTOK_in_typeSpecifier1119 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_COMPLEXTOK_in_typeSpecifier1125 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_IMAGINARYTOK_in_typeSpecifier1131 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_structSpecifier_in_typeSpecifier1137 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_variantSpecifier_in_typeSpecifier1143 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_enumSpecifier_in_typeSpecifier1149 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_ctfTypeSpecifier_in_typeSpecifier1155 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_typedefName_in_typeSpecifier1165 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_CONSTTOK_in_typeQualifier1178 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_ALIGNTOK_in_alignAttribute1191 = new BitSet(new long[]{0x0000800000000000L});
- public static final BitSet FOLLOW_LPAREN_in_alignAttribute1193 = new BitSet(new long[]{0x8040005050202610L,0x0000000000000255L});
- public static final BitSet FOLLOW_unaryExpression_in_alignAttribute1195 = new BitSet(new long[]{0x1000000000000000L});
- public static final BitSet FOLLOW_RPAREN_in_alignAttribute1197 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_LCURL_in_structBody1231 = new BitSet(new long[]{0x48004AC18A180900L,0x000000000001CC91L});
- public static final BitSet FOLLOW_structOrVariantDeclarationList_in_structBody1233 = new BitSet(new long[]{0x0800000000000000L});
- public static final BitSet FOLLOW_RCURL_in_structBody1236 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_STRUCTTOK_in_structSpecifier1264 = new BitSet(new long[]{0x0000104000000000L});
- public static final BitSet FOLLOW_structName_in_structSpecifier1289 = new BitSet(new long[]{0x0000100000000012L});
- public static final BitSet FOLLOW_alignAttribute_in_structSpecifier1311 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_structBody_in_structSpecifier1347 = new BitSet(new long[]{0x0000000000000012L});
- public static final BitSet FOLLOW_alignAttribute_in_structSpecifier1378 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_structBody_in_structSpecifier1494 = new BitSet(new long[]{0x0000000000000012L});
- public static final BitSet FOLLOW_alignAttribute_in_structSpecifier1512 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_IDENTIFIER_in_structName1578 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_structOrVariantDeclaration_in_structOrVariantDeclarationList1599 = new BitSet(new long[]{0x40004AC18A180902L,0x000000000001CC91L});
- public static final BitSet FOLLOW_declarationSpecifiers_in_structOrVariantDeclaration1632 = new BitSet(new long[]{0x0400004000000000L});
- public static final BitSet FOLLOW_declaratorList_in_structOrVariantDeclaration1673 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000100L});
- public static final BitSet FOLLOW_structOrVariantDeclaratorList_in_structOrVariantDeclaration1713 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000100L});
- public static final BitSet FOLLOW_typealiasDecl_in_structOrVariantDeclaration1772 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000100L});
- public static final BitSet FOLLOW_TERM_in_structOrVariantDeclaration1784 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_typeQualifier_in_specifierQualifierList1798 = new BitSet(new long[]{0x40004AC18A180902L,0x000000000001C091L});
- public static final BitSet FOLLOW_typeSpecifier_in_specifierQualifierList1802 = new BitSet(new long[]{0x40004AC18A180902L,0x000000000001C091L});
- public static final BitSet FOLLOW_structOrVariantDeclarator_in_structOrVariantDeclaratorList1835 = new BitSet(new long[]{0x2000000000000002L});
- public static final BitSet FOLLOW_SEPARATOR_in_structOrVariantDeclaratorList1838 = new BitSet(new long[]{0x0400004000000000L});
- public static final BitSet FOLLOW_structOrVariantDeclarator_in_structOrVariantDeclaratorList1840 = new BitSet(new long[]{0x2000000000000002L});
- public static final BitSet FOLLOW_declarator_in_structOrVariantDeclarator1879 = new BitSet(new long[]{0x0000000000008002L});
- public static final BitSet FOLLOW_COLON_in_structOrVariantDeclarator1882 = new BitSet(new long[]{0x8040001000200000L});
- public static final BitSet FOLLOW_numberLiteral_in_structOrVariantDeclarator1884 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_VARIANTTOK_in_variantSpecifier1908 = new BitSet(new long[]{0x0001104000000000L});
- public static final BitSet FOLLOW_variantName_in_variantSpecifier1926 = new BitSet(new long[]{0x0001100000000000L});
- public static final BitSet FOLLOW_variantTag_in_variantSpecifier1956 = new BitSet(new long[]{0x0000100000000002L});
- public static final BitSet FOLLOW_variantBody_in_variantSpecifier1982 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_variantBody_in_variantSpecifier2050 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_variantTag_in_variantSpecifier2071 = new BitSet(new long[]{0x0000100000000000L});
- public static final BitSet FOLLOW_variantBody_in_variantSpecifier2073 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_variantBody_in_variantSpecifier2080 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_IDENTIFIER_in_variantName2112 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_LCURL_in_variantBody2143 = new BitSet(new long[]{0x40004AC18A180900L,0x000000000001CC91L});
- public static final BitSet FOLLOW_structOrVariantDeclarationList_in_variantBody2145 = new BitSet(new long[]{0x0800000000000000L});
- public static final BitSet FOLLOW_RCURL_in_variantBody2147 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_LT_in_variantTag2174 = new BitSet(new long[]{0x0000004000000000L});
- public static final BitSet FOLLOW_IDENTIFIER_in_variantTag2176 = new BitSet(new long[]{0x0000000200000000L});
- public static final BitSet FOLLOW_GT_in_variantTag2178 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_ENUMTOK_in_enumSpecifier2199 = new BitSet(new long[]{0x0000104000008000L});
- public static final BitSet FOLLOW_enumName_in_enumSpecifier2238 = new BitSet(new long[]{0x0000100000008002L});
- public static final BitSet FOLLOW_enumContainerType_in_enumSpecifier2270 = new BitSet(new long[]{0x0000100000000000L});
- public static final BitSet FOLLOW_enumBody_in_enumSpecifier2272 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_enumBody_in_enumSpecifier2302 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_enumContainerType_in_enumSpecifier2394 = new BitSet(new long[]{0x0000100000000000L});
- public static final BitSet FOLLOW_enumBody_in_enumSpecifier2396 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_enumBody_in_enumSpecifier2420 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_IDENTIFIER_in_enumName2464 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_LCURL_in_enumBody2485 = new BitSet(new long[]{0x0000004040000010L,0x0000000000000051L});
- public static final BitSet FOLLOW_enumeratorList_in_enumBody2487 = new BitSet(new long[]{0x2800000000000000L});
- public static final BitSet FOLLOW_SEPARATOR_in_enumBody2489 = new BitSet(new long[]{0x0800000000000000L});
- public static final BitSet FOLLOW_RCURL_in_enumBody2492 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_COLON_in_enumContainerType2513 = new BitSet(new long[]{0x40004AC18A180900L,0x000000000001C891L});
- public static final BitSet FOLLOW_declarationSpecifiers_in_enumContainerType2515 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_enumerator_in_enumeratorList2536 = new BitSet(new long[]{0x2000000000000002L});
- public static final BitSet FOLLOW_SEPARATOR_in_enumeratorList2539 = new BitSet(new long[]{0x0000004040000010L,0x0000000000000051L});
- public static final BitSet FOLLOW_enumerator_in_enumeratorList2541 = new BitSet(new long[]{0x2000000000000002L});
- public static final BitSet FOLLOW_enumConstant_in_enumerator2567 = new BitSet(new long[]{0x0000000000000042L});
- public static final BitSet FOLLOW_enumeratorValue_in_enumerator2569 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_ASSIGNMENT_in_enumeratorValue2583 = new BitSet(new long[]{0x8040005050202610L,0x0000000000000255L});
- public static final BitSet FOLLOW_unaryExpression_in_enumeratorValue2587 = new BitSet(new long[]{0x0000000004000002L});
- public static final BitSet FOLLOW_ELIPSES_in_enumeratorValue2626 = new BitSet(new long[]{0x8040005050202610L,0x0000000000000255L});
- public static final BitSet FOLLOW_unaryExpression_in_enumeratorValue2630 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_pointer_in_declarator2673 = new BitSet(new long[]{0x0400004000000000L});
- public static final BitSet FOLLOW_directDeclarator_in_declarator2676 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_IDENTIFIER_in_directDeclarator2714 = new BitSet(new long[]{0x0200000000000002L});
- public static final BitSet FOLLOW_directDeclaratorSuffix_in_directDeclarator2754 = new BitSet(new long[]{0x0200000000000002L});
- public static final BitSet FOLLOW_OPENBRAC_in_directDeclaratorSuffix2768 = new BitSet(new long[]{0x8040005050202610L,0x0000000000000255L});
- public static final BitSet FOLLOW_directDeclaratorLength_in_directDeclaratorSuffix2770 = new BitSet(new long[]{0x0000000000004000L});
- public static final BitSet FOLLOW_CLOSEBRAC_in_directDeclaratorSuffix2772 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_unaryExpression_in_directDeclaratorLength2800 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_pointer_in_abstractDeclarator2813 = new BitSet(new long[]{0x0400804000000002L});
- public static final BitSet FOLLOW_directAbstractDeclarator_in_abstractDeclarator2816 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_directAbstractDeclarator_in_abstractDeclarator2841 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_IDENTIFIER_in_directAbstractDeclarator2878 = new BitSet(new long[]{0x0200000000000002L});
- public static final BitSet FOLLOW_LPAREN_in_directAbstractDeclarator2889 = new BitSet(new long[]{0x0400804000000000L});
- public static final BitSet FOLLOW_abstractDeclarator_in_directAbstractDeclarator2891 = new BitSet(new long[]{0x1000000000000000L});
- public static final BitSet FOLLOW_RPAREN_in_directAbstractDeclarator2893 = new BitSet(new long[]{0x0200000000000002L});
- public static final BitSet FOLLOW_OPENBRAC_in_directAbstractDeclarator2908 = new BitSet(new long[]{0x8040005050206610L,0x0000000000000255L});
- public static final BitSet FOLLOW_unaryExpression_in_directAbstractDeclarator2910 = new BitSet(new long[]{0x0000000000004000L});
- public static final BitSet FOLLOW_CLOSEBRAC_in_directAbstractDeclarator2913 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_POINTER_in_pointer2931 = new BitSet(new long[]{0x0000000000100002L});
- public static final BitSet FOLLOW_typeQualifierList_in_pointer2933 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_typeQualifier_in_typeQualifierList2956 = new BitSet(new long[]{0x0000000000100002L});
- public static final BitSet FOLLOW_IDENTIFIER_in_typedefName2972 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_declarationSpecifiers_in_typealiasTarget2989 = new BitSet(new long[]{0x0400804000000002L});
- public static final BitSet FOLLOW_abstractDeclaratorList_in_typealiasTarget2991 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_abstractDeclaratorList_in_typealiasAlias3017 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_declarationSpecifiers_in_typealiasAlias3023 = new BitSet(new long[]{0x0400804000000002L});
- public static final BitSet FOLLOW_abstractDeclaratorList_in_typealiasAlias3025 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_TYPEALIASTOK_in_typealiasDecl3039 = new BitSet(new long[]{0x40004AC18A180900L,0x000000000001C891L});
- public static final BitSet FOLLOW_typealiasTarget_in_typealiasDecl3041 = new BitSet(new long[]{0x0000000000000000L,0x0000000000001000L});
- public static final BitSet FOLLOW_TYPE_ASSIGNMENT_in_typealiasDecl3043 = new BitSet(new long[]{0x4400CAC18A180900L,0x000000000001C891L});
- public static final BitSet FOLLOW_typealiasAlias_in_typealiasDecl3045 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_ctfSpecifierHead_in_ctfSpecifier3145 = new BitSet(new long[]{0x0000100000000000L});
- public static final BitSet FOLLOW_ctfBody_in_ctfSpecifier3147 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_typealiasDecl_in_ctfSpecifier3164 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_EVENTTOK_in_ctfSpecifierHead3185 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_STREAMTOK_in_ctfSpecifierHead3195 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_TRACETOK_in_ctfSpecifierHead3205 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_ENVTOK_in_ctfSpecifierHead3215 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_CLOCKTOK_in_ctfSpecifierHead3225 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_CALLSITETOK_in_ctfSpecifierHead3235 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_FLOATINGPOINTTOK_in_ctfTypeSpecifier3258 = new BitSet(new long[]{0x0000100000000000L});
- public static final BitSet FOLLOW_ctfBody_in_ctfTypeSpecifier3260 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_INTEGERTOK_in_ctfTypeSpecifier3275 = new BitSet(new long[]{0x0000100000000000L});
- public static final BitSet FOLLOW_ctfBody_in_ctfTypeSpecifier3277 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_STRINGTOK_in_ctfTypeSpecifier3292 = new BitSet(new long[]{0x0000100000000002L});
- public static final BitSet FOLLOW_ctfBody_in_ctfTypeSpecifier3294 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_LCURL_in_ctfBody3327 = new BitSet(new long[]{0xC8404AD1DA382F10L,0x000000000001CED5L});
- public static final BitSet FOLLOW_ctfAssignmentExpressionList_in_ctfBody3329 = new BitSet(new long[]{0x0800000000000000L});
- public static final BitSet FOLLOW_RCURL_in_ctfBody3332 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_ctfAssignmentExpression_in_ctfAssignmentExpressionList3351 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000100L});
- public static final BitSet FOLLOW_TERM_in_ctfAssignmentExpressionList3353 = new BitSet(new long[]{0xC0404AD1DA382F12L,0x000000000001CED5L});
- public static final BitSet FOLLOW_unaryExpression_in_ctfAssignmentExpression3376 = new BitSet(new long[]{0x0000000000000040L,0x0000000000001000L});
- public static final BitSet FOLLOW_ASSIGNMENT_in_ctfAssignmentExpression3388 = new BitSet(new long[]{0x8040005050202610L,0x0000000000000255L});
- public static final BitSet FOLLOW_unaryExpression_in_ctfAssignmentExpression3392 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_TYPE_ASSIGNMENT_in_ctfAssignmentExpression3468 = new BitSet(new long[]{0x40004AC18A080900L,0x000000000001C091L});
- public static final BitSet FOLLOW_typeSpecifier_in_ctfAssignmentExpression3472 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_declarationSpecifiers_in_ctfAssignmentExpression3555 = new BitSet(new long[]{0x0400004000000000L});
- public static final BitSet FOLLOW_declaratorList_in_ctfAssignmentExpression3559 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_typealiasDecl_in_ctfAssignmentExpression3582 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_IDENTIFIER_in_synpred1_CTFParser560 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_ctfKeyword_in_synpred2_CTFParser586 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_STRING_LITERAL_in_synpred3_CTFParser606 = new BitSet(new long[]{0x0000000000000002L});
-}
diff --git a/lttng/org.eclipse.linuxtools.ctf/.project b/lttng/org.eclipse.linuxtools.ctf/.project
deleted file mode 100644
index 541e09f33e..0000000000
--- a/lttng/org.eclipse.linuxtools.ctf/.project
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>org.eclipse.linuxtools.ctf</name>
- <comment></comment>
- <projects>
- </projects>
- <buildSpec>
- <buildCommand>
- <name>org.eclipse.pde.FeatureBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>org.eclipse.pde.FeatureNature</nature>
- </natures>
-</projectDescription>
diff --git a/lttng/org.eclipse.linuxtools.ctf/.settings/org.eclipse.core.resources.prefs b/lttng/org.eclipse.linuxtools.ctf/.settings/org.eclipse.core.resources.prefs
deleted file mode 100644
index 99f26c0203..0000000000
--- a/lttng/org.eclipse.linuxtools.ctf/.settings/org.eclipse.core.resources.prefs
+++ /dev/null
@@ -1,2 +0,0 @@
-eclipse.preferences.version=1
-encoding/<project>=UTF-8
diff --git a/lttng/org.eclipse.linuxtools.ctf/.settings/org.eclipse.core.runtime.prefs b/lttng/org.eclipse.linuxtools.ctf/.settings/org.eclipse.core.runtime.prefs
deleted file mode 100644
index 5a0ad22d2a..0000000000
--- a/lttng/org.eclipse.linuxtools.ctf/.settings/org.eclipse.core.runtime.prefs
+++ /dev/null
@@ -1,2 +0,0 @@
-eclipse.preferences.version=1
-line.separator=\n
diff --git a/lttng/org.eclipse.linuxtools.ctf/build.properties b/lttng/org.eclipse.linuxtools.ctf/build.properties
deleted file mode 100644
index 5e5b5e15a1..0000000000
--- a/lttng/org.eclipse.linuxtools.ctf/build.properties
+++ /dev/null
@@ -1,14 +0,0 @@
-###############################################################################
-# Copyright (c) 2013 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:
-# Ericsson - Initial API and implementation
-###############################################################################
-
-bin.includes = feature.xml,\
- feature.properties
diff --git a/lttng/org.eclipse.linuxtools.ctf/feature.properties b/lttng/org.eclipse.linuxtools.ctf/feature.properties
deleted file mode 100644
index d4413b0727..0000000000
--- a/lttng/org.eclipse.linuxtools.ctf/feature.properties
+++ /dev/null
@@ -1,20 +0,0 @@
-###############################################################################
-# Copyright (c) 2008, 2013 Red Hat, Inc., 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:
-# Ericsson - Initial API and implementation
-###############################################################################
-
-featureName=CTF - Common Trace Format
-
-description=Plug-ins to integrate CTF into the workbench.
-
-featureProvider=Eclipse Linux Tools
-
-copyright=Copyright 2011 Ericsson
-
diff --git a/lttng/org.eclipse.linuxtools.ctf/feature.xml b/lttng/org.eclipse.linuxtools.ctf/feature.xml
deleted file mode 100644
index 52bef81b10..0000000000
--- a/lttng/org.eclipse.linuxtools.ctf/feature.xml
+++ /dev/null
@@ -1,44 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<feature
- id="org.eclipse.linuxtools.ctf"
- label="%featureName"
- version="3.2.0.qualifier"
- provider-name="%featureProvider"
- license-feature="org.eclipse.license"
- license-feature-version="0.0.0">
-
- <description url="http://www.example.com/description">
- %description
- </description>
-
- <copyright url="http://www.example.com/copyright">
- %copyright
- </copyright>
-
- <license url="%licenseURL">
- %license
- </license>
-
- <url>
- <update label="Linux Tools Update Site" url="http://download.eclipse.org/linuxtools/update"/>
- </url>
-
- <requires>
- <import plugin="org.antlr.runtime" version="3.2.0" match="greaterOrEqual"/>
- <import plugin="org.eclipse.core.runtime"/>
- </requires>
-
- <plugin
- id="org.eclipse.linuxtools.ctf.parser"
- download-size="0"
- install-size="0"
- version="0.0.0"/>
-
- <plugin
- id="org.eclipse.linuxtools.ctf.core"
- download-size="0"
- install-size="0"
- version="0.0.0"
- unpack="false"/>
-
-</feature>
diff --git a/lttng/org.eclipse.linuxtools.ctf/pom.xml b/lttng/org.eclipse.linuxtools.ctf/pom.xml
deleted file mode 100644
index c93c23ebd2..0000000000
--- a/lttng/org.eclipse.linuxtools.ctf/pom.xml
+++ /dev/null
@@ -1,58 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Copyright (C) 2011, Red Hat, Inc.
-
- 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
--->
-<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
- <modelVersion>4.0.0</modelVersion>
-
- <parent>
- <artifactId>linuxtools-lttng-parent</artifactId>
- <groupId>org.eclipse.linuxtools.lttng</groupId>
- <version>3.2.0-SNAPSHOT</version>
- </parent>
-
- <name>Linux Tools CTF (Common Trace Format) Feature</name>
- <artifactId>org.eclipse.linuxtools.ctf</artifactId>
- <groupId>org.eclipse.linuxtools.ctf</groupId>
- <version>3.2.0-SNAPSHOT</version>
-
- <packaging>eclipse-feature</packaging>
-
- <build>
- <plugins>
- <plugin>
- <groupId>org.eclipse.tycho.extras</groupId>
- <artifactId>tycho-source-feature-plugin</artifactId>
- <executions>
- <execution>
- <id>source-feature</id>
- <phase>package</phase>
- <goals>
- <goal>source-feature</goal>
- </goals>
- </execution>
- </executions>
- </plugin>
- <plugin>
- <groupId>org.eclipse.tycho</groupId>
- <artifactId>tycho-p2-plugin</artifactId>
- <version>${tycho-version}</version>
- <executions>
- <execution>
- <id>attached-p2-metadata</id>
- <phase>package</phase>
- <goals>
- <goal>p2-metadata</goal>
- </goals>
- </execution>
- </executions>
- </plugin>
- </plugins>
- </build>
-</project>
diff --git a/lttng/org.eclipse.linuxtools.gdbtrace.core.tests/.classpath b/lttng/org.eclipse.linuxtools.gdbtrace.core.tests/.classpath
deleted file mode 100644
index 098194ca4b..0000000000
--- a/lttng/org.eclipse.linuxtools.gdbtrace.core.tests/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
- <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.7"/>
- <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
- <classpathentry kind="src" path="src"/>
- <classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/lttng/org.eclipse.linuxtools.gdbtrace.core.tests/.project b/lttng/org.eclipse.linuxtools.gdbtrace.core.tests/.project
deleted file mode 100644
index 91296408fc..0000000000
--- a/lttng/org.eclipse.linuxtools.gdbtrace.core.tests/.project
+++ /dev/null
@@ -1,34 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>org.eclipse.linuxtools.gdbtrace.core.tests</name>
- <comment></comment>
- <projects>
- </projects>
- <buildSpec>
- <buildCommand>
- <name>org.eclipse.jdt.core.javabuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.ManifestBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.SchemaBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.api.tools.apiAnalysisBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>org.eclipse.pde.PluginNature</nature>
- <nature>org.eclipse.jdt.core.javanature</nature>
- <nature>org.eclipse.pde.api.tools.apiAnalysisNature</nature>
- </natures>
-</projectDescription>
diff --git a/lttng/org.eclipse.linuxtools.gdbtrace.core.tests/.settings/org.eclipse.core.resources.prefs b/lttng/org.eclipse.linuxtools.gdbtrace.core.tests/.settings/org.eclipse.core.resources.prefs
deleted file mode 100644
index 99f26c0203..0000000000
--- a/lttng/org.eclipse.linuxtools.gdbtrace.core.tests/.settings/org.eclipse.core.resources.prefs
+++ /dev/null
@@ -1,2 +0,0 @@
-eclipse.preferences.version=1
-encoding/<project>=UTF-8
diff --git a/lttng/org.eclipse.linuxtools.gdbtrace.core.tests/.settings/org.eclipse.core.runtime.prefs b/lttng/org.eclipse.linuxtools.gdbtrace.core.tests/.settings/org.eclipse.core.runtime.prefs
deleted file mode 100644
index 5a0ad22d2a..0000000000
--- a/lttng/org.eclipse.linuxtools.gdbtrace.core.tests/.settings/org.eclipse.core.runtime.prefs
+++ /dev/null
@@ -1,2 +0,0 @@
-eclipse.preferences.version=1
-line.separator=\n
diff --git a/lttng/org.eclipse.linuxtools.gdbtrace.core.tests/.settings/org.eclipse.jdt.core.prefs b/lttng/org.eclipse.linuxtools.gdbtrace.core.tests/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index f3fc64575b..0000000000
--- a/lttng/org.eclipse.linuxtools.gdbtrace.core.tests/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,393 +0,0 @@
-eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.annotation.inheritNullAnnotations=enabled
-org.eclipse.jdt.core.compiler.annotation.missingNonNullByDefaultAnnotation=ignore
-org.eclipse.jdt.core.compiler.annotation.nonnull=org.eclipse.jdt.annotation.NonNull
-org.eclipse.jdt.core.compiler.annotation.nonnullbydefault=org.eclipse.jdt.annotation.NonNullByDefault
-org.eclipse.jdt.core.compiler.annotation.nullable=org.eclipse.jdt.annotation.Nullable
-org.eclipse.jdt.core.compiler.annotation.nullanalysis=enabled
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.7
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.doc.comment.support=enabled
-org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=error
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
-org.eclipse.jdt.core.compiler.problem.comparingIdentical=error
-org.eclipse.jdt.core.compiler.problem.deadCode=error
-org.eclipse.jdt.core.compiler.problem.deprecation=error
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=enabled
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled
-org.eclipse.jdt.core.compiler.problem.discouragedReference=error
-org.eclipse.jdt.core.compiler.problem.emptyStatement=error
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.problem.explicitlyClosedAutoCloseable=error
-org.eclipse.jdt.core.compiler.problem.fallthroughCase=error
-org.eclipse.jdt.core.compiler.problem.fatalOptionalError=disabled
-org.eclipse.jdt.core.compiler.problem.fieldHiding=error
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=error
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=error
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=error
-org.eclipse.jdt.core.compiler.problem.includeNullInfoFromAsserts=disabled
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=error
-org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=error
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=error
-org.eclipse.jdt.core.compiler.problem.invalidJavadoc=warning
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTags=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=protected
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=error
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=error
-org.eclipse.jdt.core.compiler.problem.missingDefaultCase=error
-org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=error
-org.eclipse.jdt.core.compiler.problem.missingEnumCaseDespiteDefault=enabled
-org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=error
-org.eclipse.jdt.core.compiler.problem.missingJavadocComments=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=protected
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagDescription=all_standard_tags
-org.eclipse.jdt.core.compiler.problem.missingJavadocTags=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsMethodTypeParameters=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=protected
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=error
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotationForInterfaceMethodImplementation=enabled
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=error
-org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=error
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=error
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=error
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=ignore
-org.eclipse.jdt.core.compiler.problem.nonnullParameterAnnotationDropped=warning
-org.eclipse.jdt.core.compiler.problem.nullAnnotationInferenceConflict=warning
-org.eclipse.jdt.core.compiler.problem.nullReference=error
-org.eclipse.jdt.core.compiler.problem.nullSpecViolation=error
-org.eclipse.jdt.core.compiler.problem.nullUncheckedConversion=warning
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=error
-org.eclipse.jdt.core.compiler.problem.parameterAssignment=error
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=error
-org.eclipse.jdt.core.compiler.problem.potentialNullReference=error
-org.eclipse.jdt.core.compiler.problem.potentiallyUnclosedCloseable=warning
-org.eclipse.jdt.core.compiler.problem.rawTypeReference=error
-org.eclipse.jdt.core.compiler.problem.redundantNullAnnotation=warning
-org.eclipse.jdt.core.compiler.problem.redundantNullCheck=error
-org.eclipse.jdt.core.compiler.problem.redundantSpecificationOfTypeArguments=error
-org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=error
-org.eclipse.jdt.core.compiler.problem.reportMethodCanBePotentiallyStatic=ignore
-org.eclipse.jdt.core.compiler.problem.reportMethodCanBeStatic=error
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=error
-org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=disabled
-org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
-org.eclipse.jdt.core.compiler.problem.syntacticNullAnalysisForFields=enabled
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
-org.eclipse.jdt.core.compiler.problem.typeParameterHiding=error
-org.eclipse.jdt.core.compiler.problem.unavoidableGenericTypeProblems=disabled
-org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=error
-org.eclipse.jdt.core.compiler.problem.unclosedCloseable=error
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
-org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=error
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=error
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=error
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=error
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=disabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=disabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=error
-org.eclipse.jdt.core.compiler.problem.unusedLabel=error
-org.eclipse.jdt.core.compiler.problem.unusedLocal=error
-org.eclipse.jdt.core.compiler.problem.unusedObjectAllocation=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=error
-org.eclipse.jdt.core.compiler.problem.unusedTypeParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedWarningToken=error
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=error
-org.eclipse.jdt.core.compiler.source=1.7
-org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_assignment=0
-org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
-org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
-org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
-org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
-org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0
-org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=80
-org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=0
-org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch=16
-org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_after_package=1
-org.eclipse.jdt.core.formatter.blank_lines_before_field=0
-org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
-org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
-org.eclipse.jdt.core.formatter.blank_lines_before_method=1
-org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
-org.eclipse.jdt.core.formatter.blank_lines_before_package=0
-org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
-org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
-org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
-org.eclipse.jdt.core.formatter.comment.format_block_comments=true
-org.eclipse.jdt.core.formatter.comment.format_header=false
-org.eclipse.jdt.core.formatter.comment.format_html=true
-org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=true
-org.eclipse.jdt.core.formatter.comment.format_line_comments=true
-org.eclipse.jdt.core.formatter.comment.format_source_code=true
-org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true
-org.eclipse.jdt.core.formatter.comment.indent_root_tags=true
-org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
-org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=insert
-org.eclipse.jdt.core.formatter.comment.line_length=80
-org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries=true
-org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries=true
-org.eclipse.jdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments=false
-org.eclipse.jdt.core.formatter.compact_else_if=true
-org.eclipse.jdt.core.formatter.continuation_indentation=2
-org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2
-org.eclipse.jdt.core.formatter.disabling_tag=@formatter\:off
-org.eclipse.jdt.core.formatter.enabling_tag=@formatter\:on
-org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
-org.eclipse.jdt.core.formatter.format_line_comment_starting_on_first_column=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
-org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_empty_lines=false
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=false
-org.eclipse.jdt.core.formatter.indentation.size=4
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_label=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_try=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources=insert
-org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_try=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
-org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.join_lines_in_comments=true
-org.eclipse.jdt.core.formatter.join_wrapped_lines=false
-org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.lineSplit=250
-org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
-org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
-org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true
-org.eclipse.jdt.core.formatter.tabulation.char=space
-org.eclipse.jdt.core.formatter.tabulation.size=4
-org.eclipse.jdt.core.formatter.use_on_off_tags=false
-org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
-org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
-org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true
-org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true
diff --git a/lttng/org.eclipse.linuxtools.gdbtrace.core.tests/.settings/org.eclipse.jdt.ui.prefs b/lttng/org.eclipse.linuxtools.gdbtrace.core.tests/.settings/org.eclipse.jdt.ui.prefs
deleted file mode 100644
index 4fd0c7006a..0000000000
--- a/lttng/org.eclipse.linuxtools.gdbtrace.core.tests/.settings/org.eclipse.jdt.ui.prefs
+++ /dev/null
@@ -1,56 +0,0 @@
-eclipse.preferences.version=1
-editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
-formatter_profile=_tmf-style
-formatter_settings_version=12
-sp_cleanup.add_default_serial_version_id=true
-sp_cleanup.add_generated_serial_version_id=false
-sp_cleanup.add_missing_annotations=false
-sp_cleanup.add_missing_deprecated_annotations=true
-sp_cleanup.add_missing_methods=false
-sp_cleanup.add_missing_nls_tags=false
-sp_cleanup.add_missing_override_annotations=true
-sp_cleanup.add_missing_override_annotations_interface_methods=true
-sp_cleanup.add_serial_version_id=false
-sp_cleanup.always_use_blocks=true
-sp_cleanup.always_use_parentheses_in_expressions=false
-sp_cleanup.always_use_this_for_non_static_field_access=false
-sp_cleanup.always_use_this_for_non_static_method_access=false
-sp_cleanup.convert_to_enhanced_for_loop=false
-sp_cleanup.correct_indentation=false
-sp_cleanup.format_source_code=false
-sp_cleanup.format_source_code_changes_only=false
-sp_cleanup.make_local_variable_final=false
-sp_cleanup.make_parameters_final=false
-sp_cleanup.make_private_fields_final=true
-sp_cleanup.make_type_abstract_if_missing_method=false
-sp_cleanup.make_variable_declarations_final=false
-sp_cleanup.never_use_blocks=false
-sp_cleanup.never_use_parentheses_in_expressions=true
-sp_cleanup.on_save_use_additional_actions=true
-sp_cleanup.organize_imports=false
-sp_cleanup.qualify_static_field_accesses_with_declaring_class=false
-sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_with_declaring_class=false
-sp_cleanup.qualify_static_method_accesses_with_declaring_class=false
-sp_cleanup.remove_private_constructors=true
-sp_cleanup.remove_trailing_whitespaces=true
-sp_cleanup.remove_trailing_whitespaces_all=true
-sp_cleanup.remove_trailing_whitespaces_ignore_empty=false
-sp_cleanup.remove_unnecessary_casts=false
-sp_cleanup.remove_unnecessary_nls_tags=false
-sp_cleanup.remove_unused_imports=false
-sp_cleanup.remove_unused_local_variables=false
-sp_cleanup.remove_unused_private_fields=true
-sp_cleanup.remove_unused_private_members=false
-sp_cleanup.remove_unused_private_methods=true
-sp_cleanup.remove_unused_private_types=true
-sp_cleanup.sort_members=false
-sp_cleanup.sort_members_all=false
-sp_cleanup.use_blocks=true
-sp_cleanup.use_blocks_only_for_return_and_throw=false
-sp_cleanup.use_parentheses_in_expressions=false
-sp_cleanup.use_this_for_non_static_field_access=false
-sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=true
-sp_cleanup.use_this_for_non_static_method_access=false
-sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true
diff --git a/lttng/org.eclipse.linuxtools.gdbtrace.core.tests/.settings/org.eclipse.pde.api.tools.prefs b/lttng/org.eclipse.linuxtools.gdbtrace.core.tests/.settings/org.eclipse.pde.api.tools.prefs
deleted file mode 100644
index acc3abd47c..0000000000
--- a/lttng/org.eclipse.linuxtools.gdbtrace.core.tests/.settings/org.eclipse.pde.api.tools.prefs
+++ /dev/null
@@ -1,97 +0,0 @@
-ANNOTATION_ELEMENT_TYPE_ADDED_METHOD_WITHOUT_DEFAULT_VALUE=Error
-ANNOTATION_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
-ANNOTATION_ELEMENT_TYPE_REMOVED_FIELD=Error
-ANNOTATION_ELEMENT_TYPE_REMOVED_METHOD=Error
-ANNOTATION_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
-API_COMPONENT_ELEMENT_TYPE_REMOVED_API_TYPE=Error
-API_COMPONENT_ELEMENT_TYPE_REMOVED_REEXPORTED_API_TYPE=Error
-API_COMPONENT_ELEMENT_TYPE_REMOVED_REEXPORTED_TYPE=Error
-API_COMPONENT_ELEMENT_TYPE_REMOVED_TYPE=Error
-API_USE_SCAN_FIELD_SEVERITY=Error
-API_USE_SCAN_METHOD_SEVERITY=Error
-API_USE_SCAN_TYPE_SEVERITY=Error
-CLASS_ELEMENT_TYPE_ADDED_METHOD=Error
-CLASS_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
-CLASS_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
-CLASS_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error
-CLASS_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
-CLASS_ELEMENT_TYPE_CHANGED_NON_ABSTRACT_TO_ABSTRACT=Error
-CLASS_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error
-CLASS_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
-CLASS_ELEMENT_TYPE_REMOVED_CONSTRUCTOR=Error
-CLASS_ELEMENT_TYPE_REMOVED_FIELD=Error
-CLASS_ELEMENT_TYPE_REMOVED_METHOD=Error
-CLASS_ELEMENT_TYPE_REMOVED_SUPERCLASS=Error
-CLASS_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
-CLASS_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
-CONSTRUCTOR_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
-CONSTRUCTOR_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
-CONSTRUCTOR_ELEMENT_TYPE_CHANGED_VARARGS_TO_ARRAY=Error
-CONSTRUCTOR_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
-ENUM_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error
-ENUM_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
-ENUM_ELEMENT_TYPE_REMOVED_ENUM_CONSTANT=Error
-ENUM_ELEMENT_TYPE_REMOVED_FIELD=Error
-ENUM_ELEMENT_TYPE_REMOVED_METHOD=Error
-ENUM_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
-FIELD_ELEMENT_TYPE_ADDED_VALUE=Error
-FIELD_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
-FIELD_ELEMENT_TYPE_CHANGED_FINAL_TO_NON_FINAL_STATIC_CONSTANT=Error
-FIELD_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error
-FIELD_ELEMENT_TYPE_CHANGED_NON_STATIC_TO_STATIC=Error
-FIELD_ELEMENT_TYPE_CHANGED_STATIC_TO_NON_STATIC=Error
-FIELD_ELEMENT_TYPE_CHANGED_TYPE=Error
-FIELD_ELEMENT_TYPE_CHANGED_VALUE=Error
-FIELD_ELEMENT_TYPE_REMOVED_TYPE_ARGUMENT=Error
-FIELD_ELEMENT_TYPE_REMOVED_VALUE=Error
-ILLEGAL_EXTEND=Warning
-ILLEGAL_IMPLEMENT=Warning
-ILLEGAL_INSTANTIATE=Warning
-ILLEGAL_OVERRIDE=Warning
-ILLEGAL_REFERENCE=Warning
-INTERFACE_ELEMENT_TYPE_ADDED_FIELD=Error
-INTERFACE_ELEMENT_TYPE_ADDED_METHOD=Error
-INTERFACE_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
-INTERFACE_ELEMENT_TYPE_ADDED_SUPER_INTERFACE_WITH_METHODS=Error
-INTERFACE_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
-INTERFACE_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error
-INTERFACE_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
-INTERFACE_ELEMENT_TYPE_REMOVED_FIELD=Error
-INTERFACE_ELEMENT_TYPE_REMOVED_METHOD=Error
-INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
-INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
-INVALID_JAVADOC_TAG=Warning
-INVALID_REFERENCE_IN_SYSTEM_LIBRARIES=Warning
-LEAK_EXTEND=Warning
-LEAK_FIELD_DECL=Warning
-LEAK_IMPLEMENT=Warning
-LEAK_METHOD_PARAM=Warning
-LEAK_METHOD_RETURN_TYPE=Warning
-METHOD_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
-METHOD_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
-METHOD_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
-METHOD_ELEMENT_TYPE_CHANGED_NON_ABSTRACT_TO_ABSTRACT=Error
-METHOD_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error
-METHOD_ELEMENT_TYPE_CHANGED_NON_STATIC_TO_STATIC=Error
-METHOD_ELEMENT_TYPE_CHANGED_STATIC_TO_NON_STATIC=Error
-METHOD_ELEMENT_TYPE_CHANGED_VARARGS_TO_ARRAY=Error
-METHOD_ELEMENT_TYPE_REMOVED_ANNOTATION_DEFAULT_VALUE=Error
-METHOD_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
-MISSING_EE_DESCRIPTIONS=Ignore
-TYPE_PARAMETER_ELEMENT_TYPE_ADDED_CLASS_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_ADDED_INTERFACE_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_CHANGED_CLASS_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_CHANGED_INTERFACE_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_CLASS_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error
-UNUSED_PROBLEM_FILTERS=Warning
-automatically_removed_unused_problem_filters=false
-eclipse.preferences.version=1
-incompatible_api_component_version=Error
-incompatible_api_component_version_include_major_without_breaking_change=Disabled
-incompatible_api_component_version_include_minor_without_api_change=Disabled
-invalid_since_tag_version=Error
-malformed_since_tag=Error
-missing_since_tag=Error
-report_api_breakage_when_major_version_incremented=Disabled
-report_resolution_errors_api_component=Warning
diff --git a/lttng/org.eclipse.linuxtools.gdbtrace.core.tests/.settings/org.eclipse.pde.prefs b/lttng/org.eclipse.linuxtools.gdbtrace.core.tests/.settings/org.eclipse.pde.prefs
deleted file mode 100644
index 62cfa90dee..0000000000
--- a/lttng/org.eclipse.linuxtools.gdbtrace.core.tests/.settings/org.eclipse.pde.prefs
+++ /dev/null
@@ -1,32 +0,0 @@
-compilers.f.unresolved-features=1
-compilers.f.unresolved-plugins=1
-compilers.incompatible-environment=1
-compilers.p.build=1
-compilers.p.build.bin.includes=1
-compilers.p.build.encodings=2
-compilers.p.build.java.compiler=2
-compilers.p.build.java.compliance=1
-compilers.p.build.missing.output=2
-compilers.p.build.output.library=1
-compilers.p.build.source.library=1
-compilers.p.build.src.includes=1
-compilers.p.deprecated=1
-compilers.p.discouraged-class=1
-compilers.p.internal=1
-compilers.p.missing-packages=2
-compilers.p.missing-version-export-package=2
-compilers.p.missing-version-import-package=2
-compilers.p.missing-version-require-bundle=2
-compilers.p.no-required-att=0
-compilers.p.not-externalized-att=2
-compilers.p.unknown-attribute=1
-compilers.p.unknown-class=1
-compilers.p.unknown-element=1
-compilers.p.unknown-identifier=1
-compilers.p.unknown-resource=1
-compilers.p.unresolved-ex-points=0
-compilers.p.unresolved-import=0
-compilers.s.create-docs=false
-compilers.s.doc-folder=doc
-compilers.s.open-tags=1
-eclipse.preferences.version=1
diff --git a/lttng/org.eclipse.linuxtools.gdbtrace.core.tests/META-INF/MANIFEST.MF b/lttng/org.eclipse.linuxtools.gdbtrace.core.tests/META-INF/MANIFEST.MF
deleted file mode 100644
index deb245e75a..0000000000
--- a/lttng/org.eclipse.linuxtools.gdbtrace.core.tests/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,13 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %Bundle-Name
-Bundle-Vendor: %Bundle-Vendor
-Bundle-Version: 3.1.0.qualifier
-Bundle-Localization: plugin
-Bundle-SymbolicName: org.eclipse.linuxtools.gdbtrace.core.tests;singleton:=true
-Bundle-ActivationPolicy: lazy
-Bundle-RequiredExecutionEnvironment: JavaSE-1.7
-Require-Bundle: org.junit;bundle-version="4.0.0",
- org.eclipse.core.runtime,
- org.eclipse.linuxtools.gdbtrace.core;bundle-version="3.1.0"
-Export-Package: org.eclipse.linuxtools.gdbtrace.core.tests
diff --git a/lttng/org.eclipse.linuxtools.gdbtrace.core.tests/about.html b/lttng/org.eclipse.linuxtools.gdbtrace.core.tests/about.html
deleted file mode 100644
index c258ef55d8..0000000000
--- a/lttng/org.eclipse.linuxtools.gdbtrace.core.tests/about.html
+++ /dev/null
@@ -1,28 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
-<title>About</title>
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
-
-<p>June 5, 2006</p>
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;). Unless otherwise
-indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is available
-at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is
-being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content. Check the Redistributor's license that was
-provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at <a href="http://www.eclipse.org/">http://www.eclipse.org</a>.</p>
-
-</body>
-</html> \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.gdbtrace.core.tests/build.properties b/lttng/org.eclipse.linuxtools.gdbtrace.core.tests/build.properties
deleted file mode 100644
index f7a0b9854e..0000000000
--- a/lttng/org.eclipse.linuxtools.gdbtrace.core.tests/build.properties
+++ /dev/null
@@ -1,18 +0,0 @@
-###############################################################################
-# Copyright (c) 2013 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:
-# Ericsson - Initial API and implementation
-###############################################################################
-
-source.. = src/
-output.. = bin/
-bin.includes = META-INF/,\
- .,\
- plugin.properties
-src.includes = about.html
diff --git a/lttng/org.eclipse.linuxtools.gdbtrace.core.tests/plugin.properties b/lttng/org.eclipse.linuxtools.gdbtrace.core.tests/plugin.properties
deleted file mode 100644
index e3898368e8..0000000000
--- a/lttng/org.eclipse.linuxtools.gdbtrace.core.tests/plugin.properties
+++ /dev/null
@@ -1,15 +0,0 @@
-###############################################################################
-# Copyright (c) 2013 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:
-# Ericsson - Initial API and implementation
-###############################################################################
-
-#Properties file for org.eclipse.linuxtools.gdbtrace.core.tests
-Bundle-Vendor = Eclipse Linux Tools
-Bundle-Name = Linux Tools GDB Tracepoint Analysis Core Tests Plug-in
diff --git a/lttng/org.eclipse.linuxtools.gdbtrace.core.tests/pom.xml b/lttng/org.eclipse.linuxtools.gdbtrace.core.tests/pom.xml
deleted file mode 100644
index 52f302e12c..0000000000
--- a/lttng/org.eclipse.linuxtools.gdbtrace.core.tests/pom.xml
+++ /dev/null
@@ -1,44 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Copyright (c) 2013 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
--->
-<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
- <modelVersion>4.0.0</modelVersion>
-
- <parent>
- <artifactId>linuxtools-lttng-parent</artifactId>
- <groupId>org.eclipse.linuxtools.lttng</groupId>
- <version>3.2.0-SNAPSHOT</version>
- </parent>
-
- <artifactId>org.eclipse.linuxtools.gdbtrace.core.tests</artifactId>
- <groupId>org.eclipse.linuxtools.gdbtrace</groupId>
- <version>3.1.0-SNAPSHOT</version>
- <packaging>eclipse-test-plugin</packaging>
-
- <name>Linux Tools GDB Tracepoint Analysis Core Tests Plug-in</name>
-
- <build>
- <plugins>
- <plugin>
- <groupId>org.eclipse.tycho</groupId>
- <artifactId>tycho-surefire-plugin</artifactId>
- <version>${tycho-version}</version>
- <configuration>
- <testSuite>org.eclipse.linuxtools.gdbtrace.core.tests</testSuite>
- <testClass>org.eclipse.linuxtools.gdbtrace.core.tests.AllGdbTraceCoreTests</testClass>
- <useUIHarness>false</useUIHarness>
- <useUIThread>false</useUIThread>
- <product>org.eclipse.platform.ide</product>
- </configuration>
- </plugin>
- </plugins>
- </build>
-
-</project>
diff --git a/lttng/org.eclipse.linuxtools.gdbtrace.core.tests/src/org/eclipse/linuxtools/gdbtrace/core/tests/AllGdbTraceCoreTests.java b/lttng/org.eclipse.linuxtools.gdbtrace.core.tests/src/org/eclipse/linuxtools/gdbtrace/core/tests/AllGdbTraceCoreTests.java
deleted file mode 100644
index 6b43da5bc8..0000000000
--- a/lttng/org.eclipse.linuxtools.gdbtrace.core.tests/src/org/eclipse/linuxtools/gdbtrace/core/tests/AllGdbTraceCoreTests.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 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:
- * Patrick Tasse - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.gdbtrace.core.tests;
-
-import org.junit.runner.RunWith;
-import org.junit.runners.Suite;
-
-/**
- * Master test suite for GDB Tracepoint Analysis Core.
- */
-@RunWith(Suite.class)
-@Suite.SuiteClasses({
- GdbTraceCorePluginTest.class
-})
-
-public class AllGdbTraceCoreTests {
-
-}
diff --git a/lttng/org.eclipse.linuxtools.gdbtrace.core.tests/src/org/eclipse/linuxtools/gdbtrace/core/tests/GdbTraceCorePluginTest.java b/lttng/org.eclipse.linuxtools.gdbtrace.core.tests/src/org/eclipse/linuxtools/gdbtrace/core/tests/GdbTraceCorePluginTest.java
deleted file mode 100644
index b5b27b561a..0000000000
--- a/lttng/org.eclipse.linuxtools.gdbtrace.core.tests/src/org/eclipse/linuxtools/gdbtrace/core/tests/GdbTraceCorePluginTest.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 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:
- * Patrick Tasse - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.gdbtrace.core.tests;
-
-import static org.junit.Assert.assertEquals;
-
-import org.eclipse.core.runtime.Plugin;
-import org.eclipse.linuxtools.internal.gdbtrace.core.GdbTraceCorePlugin;
-import org.junit.Test;
-
-@SuppressWarnings("javadoc")
-public class GdbTraceCorePluginTest {
-
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
-
- // Plug-in instantiation
- private final static Plugin fPlugin = GdbTraceCorePlugin.getDefault();
-
- // ------------------------------------------------------------------------
- // Test cases
- // ------------------------------------------------------------------------
-
- @Test
- public void testPluginId() {
- assertEquals("Plugin ID", "org.eclipse.linuxtools.gdbtrace.core", GdbTraceCorePlugin.PLUGIN_ID);
- }
-
- @Test
- public void testGetDefault() {
- Plugin plugin = GdbTraceCorePlugin.getDefault();
- assertEquals("getDefault()", plugin, fPlugin);
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.gdbtrace.core/.classpath b/lttng/org.eclipse.linuxtools.gdbtrace.core/.classpath
deleted file mode 100644
index 098194ca4b..0000000000
--- a/lttng/org.eclipse.linuxtools.gdbtrace.core/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
- <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.7"/>
- <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
- <classpathentry kind="src" path="src"/>
- <classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/lttng/org.eclipse.linuxtools.gdbtrace.core/.project b/lttng/org.eclipse.linuxtools.gdbtrace.core/.project
deleted file mode 100644
index 8fae4fb5a5..0000000000
--- a/lttng/org.eclipse.linuxtools.gdbtrace.core/.project
+++ /dev/null
@@ -1,34 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>org.eclipse.linuxtools.gdbtrace.core</name>
- <comment></comment>
- <projects>
- </projects>
- <buildSpec>
- <buildCommand>
- <name>org.eclipse.jdt.core.javabuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.ManifestBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.SchemaBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.api.tools.apiAnalysisBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>org.eclipse.pde.PluginNature</nature>
- <nature>org.eclipse.jdt.core.javanature</nature>
- <nature>org.eclipse.pde.api.tools.apiAnalysisNature</nature>
- </natures>
-</projectDescription>
diff --git a/lttng/org.eclipse.linuxtools.gdbtrace.core/.settings/org.eclipse.core.resources.prefs b/lttng/org.eclipse.linuxtools.gdbtrace.core/.settings/org.eclipse.core.resources.prefs
deleted file mode 100644
index 99f26c0203..0000000000
--- a/lttng/org.eclipse.linuxtools.gdbtrace.core/.settings/org.eclipse.core.resources.prefs
+++ /dev/null
@@ -1,2 +0,0 @@
-eclipse.preferences.version=1
-encoding/<project>=UTF-8
diff --git a/lttng/org.eclipse.linuxtools.gdbtrace.core/.settings/org.eclipse.core.runtime.prefs b/lttng/org.eclipse.linuxtools.gdbtrace.core/.settings/org.eclipse.core.runtime.prefs
deleted file mode 100644
index 5a0ad22d2a..0000000000
--- a/lttng/org.eclipse.linuxtools.gdbtrace.core/.settings/org.eclipse.core.runtime.prefs
+++ /dev/null
@@ -1,2 +0,0 @@
-eclipse.preferences.version=1
-line.separator=\n
diff --git a/lttng/org.eclipse.linuxtools.gdbtrace.core/.settings/org.eclipse.jdt.core.prefs b/lttng/org.eclipse.linuxtools.gdbtrace.core/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index 9f3662cd78..0000000000
--- a/lttng/org.eclipse.linuxtools.gdbtrace.core/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,394 +0,0 @@
-eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.annotation.inheritNullAnnotations=enabled
-org.eclipse.jdt.core.compiler.annotation.missingNonNullByDefaultAnnotation=ignore
-org.eclipse.jdt.core.compiler.annotation.nonnull=org.eclipse.jdt.annotation.NonNull
-org.eclipse.jdt.core.compiler.annotation.nonnullbydefault=org.eclipse.jdt.annotation.NonNullByDefault
-org.eclipse.jdt.core.compiler.annotation.nullable=org.eclipse.jdt.annotation.Nullable
-org.eclipse.jdt.core.compiler.annotation.nullanalysis=enabled
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.7
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.doc.comment.support=enabled
-org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=error
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
-org.eclipse.jdt.core.compiler.problem.comparingIdentical=error
-org.eclipse.jdt.core.compiler.problem.deadCode=error
-org.eclipse.jdt.core.compiler.problem.deprecation=error
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled
-org.eclipse.jdt.core.compiler.problem.discouragedReference=warning
-org.eclipse.jdt.core.compiler.problem.emptyStatement=error
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.problem.explicitlyClosedAutoCloseable=error
-org.eclipse.jdt.core.compiler.problem.fallthroughCase=error
-org.eclipse.jdt.core.compiler.problem.fatalOptionalError=disabled
-org.eclipse.jdt.core.compiler.problem.fieldHiding=error
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=error
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=error
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=error
-org.eclipse.jdt.core.compiler.problem.includeNullInfoFromAsserts=disabled
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=error
-org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=error
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=error
-org.eclipse.jdt.core.compiler.problem.invalidJavadoc=warning
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTags=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=protected
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=error
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=error
-org.eclipse.jdt.core.compiler.problem.missingDefaultCase=error
-org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=error
-org.eclipse.jdt.core.compiler.problem.missingEnumCaseDespiteDefault=enabled
-org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=error
-org.eclipse.jdt.core.compiler.problem.missingJavadocComments=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=protected
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagDescription=all_standard_tags
-org.eclipse.jdt.core.compiler.problem.missingJavadocTags=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsMethodTypeParameters=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=protected
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=error
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotationForInterfaceMethodImplementation=enabled
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=error
-org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=error
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=error
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=error
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=warning
-org.eclipse.jdt.core.compiler.problem.nonnullParameterAnnotationDropped=warning
-org.eclipse.jdt.core.compiler.problem.nullAnnotationInferenceConflict=warning
-org.eclipse.jdt.core.compiler.problem.nullReference=error
-org.eclipse.jdt.core.compiler.problem.nullSpecViolation=error
-org.eclipse.jdt.core.compiler.problem.nullUncheckedConversion=warning
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=error
-org.eclipse.jdt.core.compiler.problem.parameterAssignment=error
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=error
-org.eclipse.jdt.core.compiler.problem.potentialNullReference=error
-org.eclipse.jdt.core.compiler.problem.potentiallyUnclosedCloseable=warning
-org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning
-org.eclipse.jdt.core.compiler.problem.redundantNullAnnotation=warning
-org.eclipse.jdt.core.compiler.problem.redundantNullCheck=error
-org.eclipse.jdt.core.compiler.problem.redundantSpecificationOfTypeArguments=error
-org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=error
-org.eclipse.jdt.core.compiler.problem.reportMethodCanBePotentiallyStatic=ignore
-org.eclipse.jdt.core.compiler.problem.reportMethodCanBeStatic=error
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=error
-org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=disabled
-org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
-org.eclipse.jdt.core.compiler.problem.syntacticNullAnalysisForFields=enabled
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
-org.eclipse.jdt.core.compiler.problem.typeParameterHiding=error
-org.eclipse.jdt.core.compiler.problem.unavoidableGenericTypeProblems=disabled
-org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
-org.eclipse.jdt.core.compiler.problem.unclosedCloseable=error
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
-org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=error
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=error
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=error
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=warning
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=disabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=disabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=error
-org.eclipse.jdt.core.compiler.problem.unusedLabel=error
-org.eclipse.jdt.core.compiler.problem.unusedLocal=error
-org.eclipse.jdt.core.compiler.problem.unusedObjectAllocation=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=error
-org.eclipse.jdt.core.compiler.problem.unusedTypeParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedWarningToken=error
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=error
-org.eclipse.jdt.core.compiler.source=1.7
-org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_assignment=0
-org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
-org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
-org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
-org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
-org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0
-org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=80
-org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=0
-org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch=16
-org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_after_package=1
-org.eclipse.jdt.core.formatter.blank_lines_before_field=0
-org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
-org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
-org.eclipse.jdt.core.formatter.blank_lines_before_method=1
-org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
-org.eclipse.jdt.core.formatter.blank_lines_before_package=0
-org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
-org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
-org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
-org.eclipse.jdt.core.formatter.comment.format_block_comments=true
-org.eclipse.jdt.core.formatter.comment.format_header=false
-org.eclipse.jdt.core.formatter.comment.format_html=true
-org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=true
-org.eclipse.jdt.core.formatter.comment.format_line_comments=true
-org.eclipse.jdt.core.formatter.comment.format_source_code=true
-org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true
-org.eclipse.jdt.core.formatter.comment.indent_root_tags=true
-org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
-org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=insert
-org.eclipse.jdt.core.formatter.comment.line_length=80
-org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries=true
-org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries=true
-org.eclipse.jdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments=false
-org.eclipse.jdt.core.formatter.compact_else_if=true
-org.eclipse.jdt.core.formatter.continuation_indentation=2
-org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2
-org.eclipse.jdt.core.formatter.disabling_tag=@formatter\:off
-org.eclipse.jdt.core.formatter.enabling_tag=@formatter\:on
-org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
-org.eclipse.jdt.core.formatter.format_line_comment_starting_on_first_column=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
-org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_empty_lines=false
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=false
-org.eclipse.jdt.core.formatter.indentation.size=4
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_label=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_try=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources=insert
-org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_try=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
-org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.join_lines_in_comments=true
-org.eclipse.jdt.core.formatter.join_wrapped_lines=false
-org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.lineSplit=250
-org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
-org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
-org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true
-org.eclipse.jdt.core.formatter.tabulation.char=space
-org.eclipse.jdt.core.formatter.tabulation.size=4
-org.eclipse.jdt.core.formatter.use_on_off_tags=false
-org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
-org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
-org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true
-org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true
diff --git a/lttng/org.eclipse.linuxtools.gdbtrace.core/.settings/org.eclipse.jdt.ui.prefs b/lttng/org.eclipse.linuxtools.gdbtrace.core/.settings/org.eclipse.jdt.ui.prefs
deleted file mode 100644
index 4fd0c7006a..0000000000
--- a/lttng/org.eclipse.linuxtools.gdbtrace.core/.settings/org.eclipse.jdt.ui.prefs
+++ /dev/null
@@ -1,56 +0,0 @@
-eclipse.preferences.version=1
-editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
-formatter_profile=_tmf-style
-formatter_settings_version=12
-sp_cleanup.add_default_serial_version_id=true
-sp_cleanup.add_generated_serial_version_id=false
-sp_cleanup.add_missing_annotations=false
-sp_cleanup.add_missing_deprecated_annotations=true
-sp_cleanup.add_missing_methods=false
-sp_cleanup.add_missing_nls_tags=false
-sp_cleanup.add_missing_override_annotations=true
-sp_cleanup.add_missing_override_annotations_interface_methods=true
-sp_cleanup.add_serial_version_id=false
-sp_cleanup.always_use_blocks=true
-sp_cleanup.always_use_parentheses_in_expressions=false
-sp_cleanup.always_use_this_for_non_static_field_access=false
-sp_cleanup.always_use_this_for_non_static_method_access=false
-sp_cleanup.convert_to_enhanced_for_loop=false
-sp_cleanup.correct_indentation=false
-sp_cleanup.format_source_code=false
-sp_cleanup.format_source_code_changes_only=false
-sp_cleanup.make_local_variable_final=false
-sp_cleanup.make_parameters_final=false
-sp_cleanup.make_private_fields_final=true
-sp_cleanup.make_type_abstract_if_missing_method=false
-sp_cleanup.make_variable_declarations_final=false
-sp_cleanup.never_use_blocks=false
-sp_cleanup.never_use_parentheses_in_expressions=true
-sp_cleanup.on_save_use_additional_actions=true
-sp_cleanup.organize_imports=false
-sp_cleanup.qualify_static_field_accesses_with_declaring_class=false
-sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_with_declaring_class=false
-sp_cleanup.qualify_static_method_accesses_with_declaring_class=false
-sp_cleanup.remove_private_constructors=true
-sp_cleanup.remove_trailing_whitespaces=true
-sp_cleanup.remove_trailing_whitespaces_all=true
-sp_cleanup.remove_trailing_whitespaces_ignore_empty=false
-sp_cleanup.remove_unnecessary_casts=false
-sp_cleanup.remove_unnecessary_nls_tags=false
-sp_cleanup.remove_unused_imports=false
-sp_cleanup.remove_unused_local_variables=false
-sp_cleanup.remove_unused_private_fields=true
-sp_cleanup.remove_unused_private_members=false
-sp_cleanup.remove_unused_private_methods=true
-sp_cleanup.remove_unused_private_types=true
-sp_cleanup.sort_members=false
-sp_cleanup.sort_members_all=false
-sp_cleanup.use_blocks=true
-sp_cleanup.use_blocks_only_for_return_and_throw=false
-sp_cleanup.use_parentheses_in_expressions=false
-sp_cleanup.use_this_for_non_static_field_access=false
-sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=true
-sp_cleanup.use_this_for_non_static_method_access=false
-sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true
diff --git a/lttng/org.eclipse.linuxtools.gdbtrace.core/.settings/org.eclipse.pde.api.tools.prefs b/lttng/org.eclipse.linuxtools.gdbtrace.core/.settings/org.eclipse.pde.api.tools.prefs
deleted file mode 100644
index acc3abd47c..0000000000
--- a/lttng/org.eclipse.linuxtools.gdbtrace.core/.settings/org.eclipse.pde.api.tools.prefs
+++ /dev/null
@@ -1,97 +0,0 @@
-ANNOTATION_ELEMENT_TYPE_ADDED_METHOD_WITHOUT_DEFAULT_VALUE=Error
-ANNOTATION_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
-ANNOTATION_ELEMENT_TYPE_REMOVED_FIELD=Error
-ANNOTATION_ELEMENT_TYPE_REMOVED_METHOD=Error
-ANNOTATION_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
-API_COMPONENT_ELEMENT_TYPE_REMOVED_API_TYPE=Error
-API_COMPONENT_ELEMENT_TYPE_REMOVED_REEXPORTED_API_TYPE=Error
-API_COMPONENT_ELEMENT_TYPE_REMOVED_REEXPORTED_TYPE=Error
-API_COMPONENT_ELEMENT_TYPE_REMOVED_TYPE=Error
-API_USE_SCAN_FIELD_SEVERITY=Error
-API_USE_SCAN_METHOD_SEVERITY=Error
-API_USE_SCAN_TYPE_SEVERITY=Error
-CLASS_ELEMENT_TYPE_ADDED_METHOD=Error
-CLASS_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
-CLASS_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
-CLASS_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error
-CLASS_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
-CLASS_ELEMENT_TYPE_CHANGED_NON_ABSTRACT_TO_ABSTRACT=Error
-CLASS_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error
-CLASS_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
-CLASS_ELEMENT_TYPE_REMOVED_CONSTRUCTOR=Error
-CLASS_ELEMENT_TYPE_REMOVED_FIELD=Error
-CLASS_ELEMENT_TYPE_REMOVED_METHOD=Error
-CLASS_ELEMENT_TYPE_REMOVED_SUPERCLASS=Error
-CLASS_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
-CLASS_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
-CONSTRUCTOR_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
-CONSTRUCTOR_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
-CONSTRUCTOR_ELEMENT_TYPE_CHANGED_VARARGS_TO_ARRAY=Error
-CONSTRUCTOR_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
-ENUM_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error
-ENUM_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
-ENUM_ELEMENT_TYPE_REMOVED_ENUM_CONSTANT=Error
-ENUM_ELEMENT_TYPE_REMOVED_FIELD=Error
-ENUM_ELEMENT_TYPE_REMOVED_METHOD=Error
-ENUM_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
-FIELD_ELEMENT_TYPE_ADDED_VALUE=Error
-FIELD_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
-FIELD_ELEMENT_TYPE_CHANGED_FINAL_TO_NON_FINAL_STATIC_CONSTANT=Error
-FIELD_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error
-FIELD_ELEMENT_TYPE_CHANGED_NON_STATIC_TO_STATIC=Error
-FIELD_ELEMENT_TYPE_CHANGED_STATIC_TO_NON_STATIC=Error
-FIELD_ELEMENT_TYPE_CHANGED_TYPE=Error
-FIELD_ELEMENT_TYPE_CHANGED_VALUE=Error
-FIELD_ELEMENT_TYPE_REMOVED_TYPE_ARGUMENT=Error
-FIELD_ELEMENT_TYPE_REMOVED_VALUE=Error
-ILLEGAL_EXTEND=Warning
-ILLEGAL_IMPLEMENT=Warning
-ILLEGAL_INSTANTIATE=Warning
-ILLEGAL_OVERRIDE=Warning
-ILLEGAL_REFERENCE=Warning
-INTERFACE_ELEMENT_TYPE_ADDED_FIELD=Error
-INTERFACE_ELEMENT_TYPE_ADDED_METHOD=Error
-INTERFACE_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
-INTERFACE_ELEMENT_TYPE_ADDED_SUPER_INTERFACE_WITH_METHODS=Error
-INTERFACE_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
-INTERFACE_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error
-INTERFACE_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
-INTERFACE_ELEMENT_TYPE_REMOVED_FIELD=Error
-INTERFACE_ELEMENT_TYPE_REMOVED_METHOD=Error
-INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
-INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
-INVALID_JAVADOC_TAG=Warning
-INVALID_REFERENCE_IN_SYSTEM_LIBRARIES=Warning
-LEAK_EXTEND=Warning
-LEAK_FIELD_DECL=Warning
-LEAK_IMPLEMENT=Warning
-LEAK_METHOD_PARAM=Warning
-LEAK_METHOD_RETURN_TYPE=Warning
-METHOD_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
-METHOD_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
-METHOD_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
-METHOD_ELEMENT_TYPE_CHANGED_NON_ABSTRACT_TO_ABSTRACT=Error
-METHOD_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error
-METHOD_ELEMENT_TYPE_CHANGED_NON_STATIC_TO_STATIC=Error
-METHOD_ELEMENT_TYPE_CHANGED_STATIC_TO_NON_STATIC=Error
-METHOD_ELEMENT_TYPE_CHANGED_VARARGS_TO_ARRAY=Error
-METHOD_ELEMENT_TYPE_REMOVED_ANNOTATION_DEFAULT_VALUE=Error
-METHOD_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
-MISSING_EE_DESCRIPTIONS=Ignore
-TYPE_PARAMETER_ELEMENT_TYPE_ADDED_CLASS_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_ADDED_INTERFACE_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_CHANGED_CLASS_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_CHANGED_INTERFACE_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_CLASS_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error
-UNUSED_PROBLEM_FILTERS=Warning
-automatically_removed_unused_problem_filters=false
-eclipse.preferences.version=1
-incompatible_api_component_version=Error
-incompatible_api_component_version_include_major_without_breaking_change=Disabled
-incompatible_api_component_version_include_minor_without_api_change=Disabled
-invalid_since_tag_version=Error
-malformed_since_tag=Error
-missing_since_tag=Error
-report_api_breakage_when_major_version_incremented=Disabled
-report_resolution_errors_api_component=Warning
diff --git a/lttng/org.eclipse.linuxtools.gdbtrace.core/.settings/org.eclipse.pde.prefs b/lttng/org.eclipse.linuxtools.gdbtrace.core/.settings/org.eclipse.pde.prefs
deleted file mode 100644
index d92b94fd4b..0000000000
--- a/lttng/org.eclipse.linuxtools.gdbtrace.core/.settings/org.eclipse.pde.prefs
+++ /dev/null
@@ -1,32 +0,0 @@
-compilers.f.unresolved-features=1
-compilers.f.unresolved-plugins=1
-compilers.incompatible-environment=1
-compilers.p.build=1
-compilers.p.build.bin.includes=1
-compilers.p.build.encodings=2
-compilers.p.build.java.compiler=2
-compilers.p.build.java.compliance=1
-compilers.p.build.missing.output=2
-compilers.p.build.output.library=1
-compilers.p.build.source.library=1
-compilers.p.build.src.includes=1
-compilers.p.deprecated=1
-compilers.p.discouraged-class=1
-compilers.p.internal=1
-compilers.p.missing-packages=1
-compilers.p.missing-version-export-package=2
-compilers.p.missing-version-import-package=2
-compilers.p.missing-version-require-bundle=2
-compilers.p.no-required-att=0
-compilers.p.not-externalized-att=1
-compilers.p.unknown-attribute=1
-compilers.p.unknown-class=1
-compilers.p.unknown-element=1
-compilers.p.unknown-identifier=1
-compilers.p.unknown-resource=1
-compilers.p.unresolved-ex-points=0
-compilers.p.unresolved-import=0
-compilers.s.create-docs=false
-compilers.s.doc-folder=doc
-compilers.s.open-tags=1
-eclipse.preferences.version=1
diff --git a/lttng/org.eclipse.linuxtools.gdbtrace.core/META-INF/MANIFEST.MF b/lttng/org.eclipse.linuxtools.gdbtrace.core/META-INF/MANIFEST.MF
deleted file mode 100644
index 7749bcf37d..0000000000
--- a/lttng/org.eclipse.linuxtools.gdbtrace.core/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,24 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %Bundle-Name
-Bundle-SymbolicName: org.eclipse.linuxtools.gdbtrace.core;singleton:=true
-Bundle-Version: 3.1.0.qualifier
-Bundle-Localization: plugin
-Bundle-Activator: org.eclipse.linuxtools.internal.gdbtrace.core.GdbTraceCorePlugin
-Require-Bundle: org.eclipse.core.runtime,
- org.eclipse.ui,
- org.eclipse.ui.ide,
- org.eclipse.debug.core,
- org.eclipse.debug.ui,
- org.eclipse.linuxtools.tmf.core;bundle-version="3.1.0",
- org.eclipse.linuxtools.tmf.ui;bundle-version="3.1.0",
- org.eclipse.cdt.dsf,
- org.eclipse.cdt.dsf.gdb
-Bundle-ActivationPolicy: lazy
-Bundle-RequiredExecutionEnvironment: JavaSE-1.7
-Bundle-Vendor: %Bundle-Vendor
-Export-Package: org.eclipse.linuxtools.internal.gdbtrace.core;x-friend
- s:="org.eclipse.linuxtools.gdbtrace.core.tests",org.eclipse.linuxtool
- s.internal.gdbtrace.core.event;x-friends:="org.eclipse.linuxtools.gdb
- trace.ui",org.eclipse.linuxtools.internal.gdbtrace.core.trace;x-frien
- ds:="org.eclipse.linuxtools.gdbtrace.ui"
diff --git a/lttng/org.eclipse.linuxtools.gdbtrace.core/about.html b/lttng/org.eclipse.linuxtools.gdbtrace.core/about.html
deleted file mode 100644
index c258ef55d8..0000000000
--- a/lttng/org.eclipse.linuxtools.gdbtrace.core/about.html
+++ /dev/null
@@ -1,28 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
-<title>About</title>
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
-
-<p>June 5, 2006</p>
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;). Unless otherwise
-indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is available
-at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is
-being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content. Check the Redistributor's license that was
-provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at <a href="http://www.eclipse.org/">http://www.eclipse.org</a>.</p>
-
-</body>
-</html> \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.gdbtrace.core/build.properties b/lttng/org.eclipse.linuxtools.gdbtrace.core/build.properties
deleted file mode 100644
index fddf99c635..0000000000
--- a/lttng/org.eclipse.linuxtools.gdbtrace.core/build.properties
+++ /dev/null
@@ -1,22 +0,0 @@
-###############################################################################
-# Copyright (c) 2013, 2014 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:
-# Ericsson - Initial API and implementation
-###############################################################################
-
-source.. = src/
-output.. = bin/
-bin.includes = META-INF/,\
- .,\
- plugin.properties,\
- about.html,\
- plugin.xml
-src.includes = about.html
-additional.bundles = org.eclipse.jdt.annotation
-jars.extra.classpath = platform:/plugin/org.eclipse.jdt.annotation
diff --git a/lttng/org.eclipse.linuxtools.gdbtrace.core/plugin.properties b/lttng/org.eclipse.linuxtools.gdbtrace.core/plugin.properties
deleted file mode 100644
index f0b87e9df1..0000000000
--- a/lttng/org.eclipse.linuxtools.gdbtrace.core/plugin.properties
+++ /dev/null
@@ -1,15 +0,0 @@
-###############################################################################
-# Copyright (c) 2013 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:
-# Ericsson - Initial API and implementation
-###############################################################################
-
-#Properties file for org.eclipse.linuxtools.gdbtrace.core
-Bundle-Vendor = Eclipse Linux Tools
-Bundle-Name = Linux Tools GDB Tracepoint Analysis Core Plug-in
diff --git a/lttng/org.eclipse.linuxtools.gdbtrace.core/plugin.xml b/lttng/org.eclipse.linuxtools.gdbtrace.core/plugin.xml
deleted file mode 100644
index 59eb10d6e2..0000000000
--- a/lttng/org.eclipse.linuxtools.gdbtrace.core/plugin.xml
+++ /dev/null
@@ -1,19 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.4"?>
-<plugin>
- <extension
- point="org.eclipse.linuxtools.tmf.core.tracetype">
- <category
- id="org.eclipse.linuxtools.gdbtrace.core.category"
- name="GDB">
- </category>
- <type
- category="org.eclipse.linuxtools.gdbtrace.core.category"
- event_type="org.eclipse.linuxtools.internal.gdbtrace.core.event.GdbTraceEvent"
- id="org.eclipse.linuxtools.gdbtrace.ui.type.gdb"
- name="GDB Trace"
- trace_type="org.eclipse.linuxtools.internal.gdbtrace.core.trace.GdbTrace">
- </type>
- </extension>
-
-</plugin>
diff --git a/lttng/org.eclipse.linuxtools.gdbtrace.core/pom.xml b/lttng/org.eclipse.linuxtools.gdbtrace.core/pom.xml
deleted file mode 100644
index 7a0ff09091..0000000000
--- a/lttng/org.eclipse.linuxtools.gdbtrace.core/pom.xml
+++ /dev/null
@@ -1,36 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Copyright (c) 2013 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
--->
-<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
- <modelVersion>4.0.0</modelVersion>
-
- <parent>
- <artifactId>linuxtools-lttng-parent</artifactId>
- <groupId>org.eclipse.linuxtools.lttng</groupId>
- <version>3.2.0-SNAPSHOT</version>
- </parent>
-
- <artifactId>org.eclipse.linuxtools.gdbtrace.core</artifactId>
- <groupId>org.eclipse.linuxtools.gdbtrace</groupId>
- <version>3.1.0-SNAPSHOT</version>
- <packaging>eclipse-plugin</packaging>
-
- <name>Linux Tools GDB Tracepoint Analysis Core Plug-in</name>
-
- <build>
- <plugins>
- <plugin>
- <groupId>org.eclipse.tycho</groupId>
- <artifactId>tycho-source-plugin</artifactId>
- </plugin>
- </plugins>
- </build>
-
-</project>
diff --git a/lttng/org.eclipse.linuxtools.gdbtrace.core/src/org/eclipse/linuxtools/internal/gdbtrace/core/Activator.java b/lttng/org.eclipse.linuxtools.gdbtrace.core/src/org/eclipse/linuxtools/internal/gdbtrace/core/Activator.java
deleted file mode 100644
index 5052894f89..0000000000
--- a/lttng/org.eclipse.linuxtools.gdbtrace.core/src/org/eclipse/linuxtools/internal/gdbtrace/core/Activator.java
+++ /dev/null
@@ -1,140 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 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:
- * Matthew Khouzam - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.internal.gdbtrace.core;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Plugin;
-import org.eclipse.core.runtime.Status;
-
-/**
- * The activator class controls the plug-in life cycle. No more than one such
- * plug-in can exist at any time.
- * <p>
- * It also provides the plug-in's general logging facility and manages the
- * internal tracer.
- */
-public class Activator extends Plugin {
-
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
-
- /**
- * The plug-in ID
- */
- public static final String PLUGIN_ID = "org.eclipse.linuxtools.gdbtrace.core"; //$NON-NLS-1$
-
- /**
- * The shared instance
- */
- private static Activator fPlugin;
-
- // ------------------------------------------------------------------------
- // Constructors
- // ------------------------------------------------------------------------
-
- /**
- * Constructor
- */
- public Activator() {
- setDefault(this);
- }
-
- // ------------------------------------------------------------------------
- // Accessors
- // ------------------------------------------------------------------------
-
- /**
- * Returns the TMF Core plug-in instance.
- *
- * @return the TMF Core plug-in instance.
- */
- public static Activator getDefault() {
- return fPlugin;
- }
-
- // Sets plug-in instance
- private static void setDefault(Activator plugin) {
- fPlugin = plugin;
- }
-
- // ------------------------------------------------------------------------
- // Log INFO
- // ------------------------------------------------------------------------
-
- /**
- * Logs a message with severity INFO in the runtime log of the plug-in.
- *
- * @param message A message to log
- */
- public static void logInfo(String message) {
- fPlugin.getLog().log(new Status(IStatus.INFO, PLUGIN_ID, message));
- }
-
- /**
- * Logs a message and exception with severity INFO in the runtime log of the plug-in.
- *
- * @param message A message to log
- * @param exception The corresponding exception
- */
- public static void logInfo(String message, Throwable exception) {
- fPlugin.getLog().log(new Status(IStatus.INFO, PLUGIN_ID, message, exception));
- }
-
- // ------------------------------------------------------------------------
- // Log WARNING
- // ------------------------------------------------------------------------
-
- /**
- * Logs a message and exception with severity WARNING in the runtime log of the plug-in.
- *
- * @param message A message to log
- */
- public static void logWarning(String message) {
- fPlugin.getLog().log(new Status(IStatus.WARNING, PLUGIN_ID, message));
- }
-
- /**
- * Logs a message and exception with severity WARNING in the runtime log of the plug-in.
- *
- * @param message A message to log
- * @param exception The corresponding exception
- */
- public static void logWarning(String message, Throwable exception) {
- fPlugin.getLog().log(new Status(IStatus.WARNING, PLUGIN_ID, message, exception));
- }
-
- // ------------------------------------------------------------------------
- // Log ERROR
- // ------------------------------------------------------------------------
-
- /**
- * Logs a message and exception with severity ERROR in the runtime log of the plug-in.
- *
- * @param message A message to log
- */
- public static void logError(String message) {
- fPlugin.getLog().log(new Status(IStatus.ERROR, PLUGIN_ID, message));
- }
-
- /**
- * Logs a message and exception with severity ERROR in the runtime log of the plug-in.
- *
- * @param message A message to log
- * @param exception The corresponding exception
- */
- public static void logError(String message, Throwable exception) {
- fPlugin.getLog().log(new Status(IStatus.ERROR, PLUGIN_ID, message, exception));
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.gdbtrace.core/src/org/eclipse/linuxtools/internal/gdbtrace/core/GdbTraceCorePlugin.java b/lttng/org.eclipse.linuxtools.gdbtrace.core/src/org/eclipse/linuxtools/internal/gdbtrace/core/GdbTraceCorePlugin.java
deleted file mode 100644
index 230323df25..0000000000
--- a/lttng/org.eclipse.linuxtools.gdbtrace.core/src/org/eclipse/linuxtools/internal/gdbtrace/core/GdbTraceCorePlugin.java
+++ /dev/null
@@ -1,85 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011, 2013 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
- * Patrick Tasse - Updated for TMF 2.0
- *******************************************************************************/
-
-package org.eclipse.linuxtools.internal.gdbtrace.core;
-
-import org.eclipse.core.runtime.Plugin;
-import org.osgi.framework.BundleContext;
-
-/**
- * GDB Tracepoint Analysis Core plug-in activator
- * @author Francois Chouinard
- */
-public class GdbTraceCorePlugin extends Plugin {
-
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
-
- /** The plug-in ID */
- public static final String PLUGIN_ID = "org.eclipse.linuxtools.gdbtrace.core"; //$NON-NLS-1$
-
- private static GdbTraceCorePlugin plugin;
-
- private static BundleContext fBundleContext;
-
- // ------------------------------------------------------------------------
- // Constructor
- // ------------------------------------------------------------------------
-
- /**
- * Constructor
- */
- public GdbTraceCorePlugin() {
- }
-
- // ------------------------------------------------------------------------
- // Plugin
- // ------------------------------------------------------------------------
-
- @Override
- public void start(BundleContext context) throws Exception {
- super.start(context);
- plugin = this;
- fBundleContext = context;
- }
-
- @Override
- public void stop(BundleContext context) throws Exception {
- plugin = null;
- super.stop(context);
- }
-
- // ------------------------------------------------------------------------
- // Accessor
- // ------------------------------------------------------------------------
-
- /**
- * Returns the GDB Tracepoints Core plug-in instance.
- *
- * @return the GDB Tracepoints Core plug-in instance
- */
- public static GdbTraceCorePlugin getDefault() {
- return plugin;
- }
-
- /**
- * Returns the bundle context
- *
- * @return the bundle context
- */
- public static BundleContext getBundleContext() {
- return fBundleContext;
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.gdbtrace.core/src/org/eclipse/linuxtools/internal/gdbtrace/core/event/GdbTraceEvent.java b/lttng/org.eclipse.linuxtools.gdbtrace.core/src/org/eclipse/linuxtools/internal/gdbtrace/core/event/GdbTraceEvent.java
deleted file mode 100644
index 06599f3629..0000000000
--- a/lttng/org.eclipse.linuxtools.gdbtrace.core/src/org/eclipse/linuxtools/internal/gdbtrace/core/event/GdbTraceEvent.java
+++ /dev/null
@@ -1,64 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011, 2013 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
- * Patrick Tasse - Updated for TMF 2.0
- *******************************************************************************/
-
-package org.eclipse.linuxtools.internal.gdbtrace.core.event;
-
-import org.eclipse.linuxtools.internal.gdbtrace.core.trace.GdbTrace;
-import org.eclipse.linuxtools.tmf.core.event.ITmfEventType;
-import org.eclipse.linuxtools.tmf.core.event.TmfEvent;
-import org.eclipse.linuxtools.tmf.core.timestamp.ITmfTimestamp;
-
-/**
- * GDB Trace implementation of TmfEvent
- * @author Francois Chouinard
- */
-public class GdbTraceEvent extends TmfEvent {
-
- // ------------------------------------------------------------------------
- // Constructors
- // ------------------------------------------------------------------------
-
- /**
- * Default constructor
- */
- public GdbTraceEvent() {
- }
-
- /**
- * Full constructor
- *
- * @param trace
- * the parent trace
- * @param timestamp
- * the event timestamp
- * @param source
- * the event source
- * @param type
- * the event type
- * @param content
- * the event content
- * @param reference
- * the event reference
- */
- public GdbTraceEvent(GdbTrace trace, ITmfTimestamp timestamp, String source,
- ITmfEventType type, GdbTraceEventContent content, String reference) {
- super(trace, timestamp, source, type, content, reference);
- }
-
- @Override
- public GdbTraceEventContent getContent() {
- /* We only allow GdbTraceEventContent at the constructor */
- return (GdbTraceEventContent) super.getContent();
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.gdbtrace.core/src/org/eclipse/linuxtools/internal/gdbtrace/core/event/GdbTraceEventContent.java b/lttng/org.eclipse.linuxtools.gdbtrace.core/src/org/eclipse/linuxtools/internal/gdbtrace/core/event/GdbTraceEventContent.java
deleted file mode 100644
index 99d7f33e40..0000000000
--- a/lttng/org.eclipse.linuxtools.gdbtrace.core/src/org/eclipse/linuxtools/internal/gdbtrace/core/event/GdbTraceEventContent.java
+++ /dev/null
@@ -1,92 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011, 2013 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
- * Patrick Tasse - Updated for TMF 2.0
- *******************************************************************************/
-
-package org.eclipse.linuxtools.internal.gdbtrace.core.event;
-
-import org.eclipse.jdt.annotation.NonNull;
-import org.eclipse.linuxtools.tmf.core.event.ITmfEventField;
-import org.eclipse.linuxtools.tmf.core.event.TmfEventField;
-
-/**
- * GDB Trace implementation of TmfEventField
- * @author Francois Chouinard
- */
-public class GdbTraceEventContent extends TmfEventField {
-
- /** Trace Frame field name */
- public static final @NonNull String TRACE_FRAME = "Trace Frame"; //$NON-NLS-1$
- /** Tracepoint field name */
- public static final @NonNull String TRACEPOINT = "Tracepoint"; //$NON-NLS-1$
-
- // Tracepoint number
- private int fTracepointNumber = 0;
- // frame number
- private int fFrameNumber = 0;
-
- // ------------------------------------------------------------------------
- // Constructors
- // ------------------------------------------------------------------------
-
- /**
- * Full constructor
- * @param content the raw content
- * @param tracepointNumber the tracepoint number
- * @param frameNumber the frame number
- */
- public GdbTraceEventContent(String content, int tracepointNumber, int frameNumber) {
- // TmfEvent parent, Object content
- super(ITmfEventField.ROOT_FIELD_ID,
- content.replaceAll("\r?\n", " | "), //$NON-NLS-1$ //$NON-NLS-2$
- new ITmfEventField[] {
- new TmfEventField(TRACE_FRAME, frameNumber, null),
- new TmfEventField(TRACEPOINT, tracepointNumber, null)
- });
-
- fTracepointNumber = tracepointNumber;
- fFrameNumber = frameNumber;
- }
-
- /**
- * @param other the original event content
- */
- public GdbTraceEventContent(GdbTraceEventContent other) {
- super(other);
- }
-
- // ------------------------------------------------------------------------
- // Accessors
- // ------------------------------------------------------------------------
-
- /**
- * @return the tracepointNumber
- */
- public int getTracepointNumber() {
- return fTracepointNumber;
- }
-
- /**
- * @return the frameNumber
- */
- public int getFrameNumber() {
- return fFrameNumber;
- }
-
- // ------------------------------------------------------------------------
- // Object
- // ------------------------------------------------------------------------
-
- @Override
- public String toString() {
- return getValue().toString();
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.gdbtrace.core/src/org/eclipse/linuxtools/internal/gdbtrace/core/trace/DsfGdbAdaptor.java b/lttng/org.eclipse.linuxtools.gdbtrace.core/src/org/eclipse/linuxtools/internal/gdbtrace/core/trace/DsfGdbAdaptor.java
deleted file mode 100644
index 2d03a60ff6..0000000000
--- a/lttng/org.eclipse.linuxtools.gdbtrace.core/src/org/eclipse/linuxtools/internal/gdbtrace/core/trace/DsfGdbAdaptor.java
+++ /dev/null
@@ -1,878 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011, 2014 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:
- * Marc Dumais - Initial implementation
- * Francois Chouinard - Misc improvements, DSF signal handling, dynamic experiment
- * Patrick Tasse - Updated for TMF 2.0
- * Bernd Hufmann - Fixed deadlock during shutdown
- *******************************************************************************/
-
-package org.eclipse.linuxtools.internal.gdbtrace.core.trace;
-
-import java.util.HashMap;
-import java.util.Hashtable;
-import java.util.List;
-import java.util.Map;
-import java.util.concurrent.ExecutionException;
-import java.util.concurrent.RejectedExecutionException;
-import java.util.concurrent.TimeUnit;
-import java.util.concurrent.TimeoutException;
-
-import org.eclipse.cdt.dsf.concurrent.DataRequestMonitor;
-import org.eclipse.cdt.dsf.concurrent.DsfExecutor;
-import org.eclipse.cdt.dsf.concurrent.IDsfStatusConstants;
-import org.eclipse.cdt.dsf.concurrent.Query;
-import org.eclipse.cdt.dsf.datamodel.DMContexts;
-import org.eclipse.cdt.dsf.datamodel.IDMContext;
-import org.eclipse.cdt.dsf.debug.service.IBreakpoints;
-import org.eclipse.cdt.dsf.debug.service.IBreakpoints.IBreakpointsTargetDMContext;
-import org.eclipse.cdt.dsf.debug.service.IRunControl.IContainerDMContext;
-import org.eclipse.cdt.dsf.debug.service.command.ICommandControlService;
-import org.eclipse.cdt.dsf.debug.service.command.ICommandControlService.ICommandControlDMContext;
-import org.eclipse.cdt.dsf.gdb.IGdbDebugPreferenceConstants;
-import org.eclipse.cdt.dsf.gdb.internal.GdbPlugin;
-import org.eclipse.cdt.dsf.gdb.launching.GdbLaunch;
-import org.eclipse.cdt.dsf.gdb.service.GDBTraceControl_7_2.TraceRecordSelectedChangedEvent;
-import org.eclipse.cdt.dsf.gdb.service.IGDBTraceControl;
-import org.eclipse.cdt.dsf.gdb.service.IGDBTraceControl.ITraceRecordDMContext;
-import org.eclipse.cdt.dsf.gdb.service.IGDBTraceControl.ITraceRecordDMData;
-import org.eclipse.cdt.dsf.gdb.service.IGDBTraceControl.ITraceRecordSelectedChangedDMEvent;
-import org.eclipse.cdt.dsf.gdb.service.IGDBTraceControl.ITraceStatusDMData;
-import org.eclipse.cdt.dsf.gdb.service.IGDBTraceControl.ITraceTargetDMContext;
-import org.eclipse.cdt.dsf.mi.service.IMICommandControl;
-import org.eclipse.cdt.dsf.mi.service.IMIProcesses;
-import org.eclipse.cdt.dsf.mi.service.MIBreakpointDMData;
-import org.eclipse.cdt.dsf.mi.service.MIBreakpoints;
-import org.eclipse.cdt.dsf.mi.service.command.CommandFactory;
-import org.eclipse.cdt.dsf.mi.service.command.output.MIBreakListInfo;
-import org.eclipse.cdt.dsf.mi.service.command.output.MIBreakpoint;
-import org.eclipse.cdt.dsf.service.DsfServiceEventHandler;
-import org.eclipse.cdt.dsf.service.DsfServicesTracker;
-import org.eclipse.cdt.dsf.service.DsfSession;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.debug.core.DebugException;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.ILaunch;
-import org.eclipse.debug.core.ILaunchConfigurationType;
-import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy;
-import org.eclipse.debug.core.ILaunchesListener2;
-import org.eclipse.debug.internal.ui.viewers.model.provisional.ITreeModelViewer;
-import org.eclipse.debug.ui.AbstractDebugView;
-import org.eclipse.debug.ui.DebugUITools;
-import org.eclipse.debug.ui.IDebugUIConstants;
-import org.eclipse.debug.ui.contexts.DebugContextEvent;
-import org.eclipse.debug.ui.contexts.IDebugContextListener;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.linuxtools.internal.gdbtrace.core.Activator;
-import org.eclipse.linuxtools.internal.gdbtrace.core.GdbTraceCorePlugin;
-import org.eclipse.linuxtools.internal.gdbtrace.core.event.GdbTraceEvent;
-import org.eclipse.linuxtools.internal.gdbtrace.core.event.GdbTraceEventContent;
-import org.eclipse.linuxtools.tmf.core.event.ITmfEventType;
-import org.eclipse.linuxtools.tmf.core.event.TmfEventField;
-import org.eclipse.linuxtools.tmf.core.event.TmfEventType;
-import org.eclipse.linuxtools.tmf.core.timestamp.TmfTimestamp;
-import org.eclipse.linuxtools.tmf.core.trace.ITmfTrace;
-import org.eclipse.linuxtools.tmf.core.trace.TmfExperiment;
-import org.eclipse.linuxtools.tmf.ui.editors.ITmfTraceEditor;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.ui.IEditorInput;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.IEditorReference;
-import org.eclipse.ui.IFileEditorInput;
-import org.eclipse.ui.IViewPart;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.ide.IDE;
-
-/**
- * Adaptor to access GDB Tracepoint frames, previously collected and saved in a
- * file by GDB. One instance of this maps to a single DSF-GDB session.
- * <p>
- * This class offers the functions of starting a post-mortem GDB session with a
- * tracepoint data file, navigate the data frames and return the data contained
- * in a given tracepoint frame.
- * <p>
- * Note: GDB 7.2 or later is required to handle tracepoints
- *
- * @author Marc Dumais
- * @author Francois Chouinard
- */
-@SuppressWarnings("restriction")
-public class DsfGdbAdaptor {
-
- private GdbTrace fGdbTrace;
-
- private int fNumberOfFrames = 0;
- private boolean fIsTimeoutEnabled;
- private int fTimeout;
-
- private ILaunch fLaunch;
- private boolean isTerminating;
- private DsfSession fDsfSession = null;
- private String fSessionId;
-
- private String tracedExecutable = ""; //$NON-NLS-1$
-
- private String gdb72Executable = ""; //$NON-NLS-1$
- private String fTraceFilePath = ""; //$NON-NLS-1$
- private String fTraceFile = ""; //$NON-NLS-1$
- private String sourceLocator = ""; //$NON-NLS-1$
-
- // To save tracepoints detailed info. The key is the rank of the
- // breakpoint (tracepoint is a kind of breakpoint)
- private Map<Integer, MIBreakpointDMData> fTpInfo = new HashMap<>();
-
- private TmfEventType tmfEventType = new TmfEventType(ITmfEventType.DEFAULT_CONTEXT_ID, "GDB Tracepoint", TmfEventField.makeRoot(new String[] { "Content" })); //$NON-NLS-1$ //$NON-NLS-2$
-
- {
- new DsfGdbPlatformEventListener();
- }
-
- /**
- * <b><u>DsfGdbPlatformEventListener</u></b>
- * <p>
- * Listens to platform and DSF-GDB events that announce important events
- * about the launchers or a change in debug context that we might need to
- * react-to.
- * <p>
- * @author Francois Chouinard
- */
- private class DsfGdbPlatformEventListener implements
- ILaunchesListener2, IDebugContextListener {
-
- /**
- *
- */
- public DsfGdbPlatformEventListener() {
- Display.getDefault().syncExec(new Runnable() {
- @Override
- public void run() {
- DebugPlugin.getDefault().getLaunchManager().addLaunchListener(DsfGdbPlatformEventListener.this);
- IWorkbench wb = PlatformUI.getWorkbench();
- IWorkbenchWindow win = wb.getActiveWorkbenchWindow();
- DebugUITools.getDebugContextManager().getContextService(win).addDebugContextListener(DsfGdbPlatformEventListener.this);
- }
- });
- }
-
- @Override
- public synchronized void launchesRemoved(ILaunch[] launches) {
- }
-
- @Override
- public synchronized void launchesAdded(ILaunch[] launches) {
- }
-
- @Override
- public synchronized void launchesChanged(ILaunch[] launches) {
- }
-
- @Override
- public synchronized void launchesTerminated(ILaunch[] launches) {
- for (ILaunch launch : launches) {
- String sessionId = ((GdbLaunch) launch).getSession().getId();
- closeGdbTraceEditor(sessionId);
- }
- }
-
- private String fCurrentSessionId = ""; //$NON-NLS-1$
- @Override
- public void debugContextChanged(DebugContextEvent event) {
- ISelection selection = event.getContext();
- if (selection instanceof IStructuredSelection) {
- List<?> eventContextList = ((IStructuredSelection) selection).toList();
- for (Object eventContext : eventContextList) {
- if (eventContext instanceof IAdaptable) {
- IDMContext context = (IDMContext) ((IAdaptable) eventContext).getAdapter(IDMContext.class);
- if (context != null) {
- String sessionId;
- synchronized(fCurrentSessionId) {
- sessionId = context.getSessionId();
- if (sessionId.equals(fCurrentSessionId)) {
- return;
- }
- }
- fCurrentSessionId = sessionId;
- // Get the current trace record
- final DsfExecutor executor = DsfSession.getSession(sessionId).getExecutor();
- final DsfServicesTracker tracker = new DsfServicesTracker(GdbTraceCorePlugin.getBundleContext(), sessionId);
- Query<ITraceRecordDMContext> getCurrentRecordQuery = new Query<ITraceRecordDMContext>() {
- @Override
- public void execute(final DataRequestMonitor<ITraceRecordDMContext> queryRm) {
- final IGDBTraceControl traceControl = tracker.getService(IGDBTraceControl.class);
- final ICommandControlService commandControl = tracker.getService(ICommandControlService.class);
- if (traceControl != null && commandControl != null) {
- ITraceTargetDMContext traceContext = (ITraceTargetDMContext) commandControl.getContext();
- traceControl.getCurrentTraceRecordContext(traceContext, queryRm);
- } else {
- queryRm.done();
- }
- }
- };
- try {
- executor.execute(getCurrentRecordQuery);
- ITraceRecordDMContext record;
- if (DsfGdbAdaptor.this.fIsTimeoutEnabled) {
- record = getCurrentRecordQuery.get(fTimeout, TimeUnit.MILLISECONDS);
- } else {
- record = getCurrentRecordQuery.get();
- }
- // If we get a trace record, it means that this can be used
- if (record != null && record.getRecordId() != null) {
- int recordId = Integer.parseInt(record.getRecordId());
- selectGdbTraceEditor(sessionId, recordId);
- break;
- }
- } catch (InterruptedException e) {
- Activator.logError("Interruption exception", e); //$NON-NLS-1$
- } catch (ExecutionException e) {
- Activator.logError("GDB exception", e); //$NON-NLS-1$
- } catch (RejectedExecutionException e) {
- Activator.logError("Request rejected exception", e); //$NON-NLS-1$
- } catch (TimeoutException e) {
- Activator.logError("Timeout", e); //$NON-NLS-1$
- } finally {
- tracker.dispose();
- }
- // else not DSF-GDB or GDB < 7.2
- }
- }
- // else not DSF
- }
- }
- }
- } // class DsfGdbPlatformEventListener
-
- /**
- * Constructor for DsfGdbAdaptor. This is used when we want to launch a
- * DSF-GDB session and use it as source in our tracing perspective.
- * i.e. when launching from the Project Explorer
- *
- * @param trace the GDB trace
- * @param gdbExec GDB executable. Must be version 7.2 or later.
- * @param traceFile previously generated GDB tracepoint file
- * @param tracedExecutable executable that was used to generate the tracefile
- * workspace, where the traced executable was taken from.
- */
- public DsfGdbAdaptor(GdbTrace trace, String gdbExec, String traceFile, String tracedExecutable) {
- this.fGdbTrace = trace;
- this.gdb72Executable = gdbExec;
- this.fTraceFilePath = traceFile;
- this.fTraceFile = traceFile.substring(traceFile.lastIndexOf(IPath.SEPARATOR) + 1);
- this.tracedExecutable = tracedExecutable;
-
- try {
- launchDGBPostMortemTrace();
- } catch (CoreException e) {
- e.printStackTrace();
- }
- }
-
- /**
- * Builds a launcher and launches a Post-mortem GDB session, based on a
- * previously-gathered GDB Tracepoint file. The information used to
- * create the launcher is provided to the constructor of this class,
- * at instantiation time.
- * <p>
- * Note: Requires GDB 7.2 or later
- */
- private void launchDGBPostMortemTrace() throws CoreException {
- fIsTimeoutEnabled = Platform.getPreferencesService().getBoolean(GdbPlugin.PLUGIN_ID, IGdbDebugPreferenceConstants.PREF_COMMAND_TIMEOUT, false, null);
- if (fIsTimeoutEnabled) {
- fTimeout = Platform.getPreferencesService().getInt(GdbPlugin.PLUGIN_ID, IGdbDebugPreferenceConstants.PREF_COMMAND_TIMEOUT_VALUE, IGdbDebugPreferenceConstants.COMMAND_TIMEOUT_VALUE_DEFAULT, null);
- }
-
- ILaunchConfigurationType configType = DebugPlugin
- .getDefault()
- .getLaunchManager()
- .getLaunchConfigurationType("org.eclipse.cdt.launch.postmortemLaunchType"); //$NON-NLS-1$
- ILaunchConfigurationWorkingCopy wc = configType.newInstance(null, fTraceFile);
-
- wc.setAttribute("org.eclipse.cdt.dsf.gdb.DEBUG_NAME", gdb72Executable); //$NON-NLS-1$
- wc.setAttribute("org.eclipse.cdt.dsf.gdb.POST_MORTEM_TYPE", "TRACE_FILE"); //$NON-NLS-1$ //$NON-NLS-2$
- wc.setAttribute("org.eclipse.cdt.launch.ATTR_BUILD_BEFORE_LAUNCH_ATTR", 0); //$NON-NLS-1$
- wc.setAttribute("org.eclipse.cdt.launch.COREFILE_PATH", fTraceFilePath); //$NON-NLS-1$
- wc.setAttribute("org.eclipse.cdt.launch.DEBUGGER_START_MODE", "core"); //$NON-NLS-1$ //$NON-NLS-2$
- wc.setAttribute("org.eclipse.cdt.launch.PROGRAM_NAME", tracedExecutable); //$NON-NLS-1$
- // So that the GDB launch is synchronous
- wc.setAttribute("org.eclipse.debug.ui.ATTR_LAUNCH_IN_BACKGROUND", false); //$NON-NLS-1$
-
- if (!sourceLocator.isEmpty()) {
- wc.setAttribute("org.eclipse.debug.core.source_locator_memento", sourceLocator); //$NON-NLS-1$
- }
-
- // Launch GDB session
- fLaunch = wc.doSave().launch("debug", null); //$NON-NLS-1$
- isTerminating = false;
-
- if (fLaunch instanceof GdbLaunch) {
- fSessionId = ((GdbLaunch) fLaunch).getSession().getId();
- }
-
- fDsfSession = ((GdbLaunch) fLaunch).getSession();
- fDsfSession.addServiceEventListener(this, null);
-
- // Find the number of frames contained in the tracepoint file
- fNumberOfFrames = findNumFrames();
- }
-
- /**
- * This method terminates the current DSF-GDB session
- */
- public void dispose() {
- if (fLaunch != null && fLaunch.canTerminate() && !isTerminating) {
- isTerminating = true;
- try {
- fLaunch.terminate();
- } catch (DebugException e) {
- e.printStackTrace();
- }
- fLaunch = null;
- }
- }
-
- /**
- * This method will try (once per call) to get the number of GDB tracepoint
- * frames for the current session, from DSF-GDB, until it succeeds at
- * getting an amount different than zero.
- *
- * @return The number of frames in current session or zero if unsuccessful
- */
- public int getNumberOfFrames() {
- if (fNumberOfFrames == 0) {
- fNumberOfFrames = findNumFrames();
- }
- return fNumberOfFrames;
- }
-
-
- /**
- * Wrapper around the selecting of a frame and the reading of its
- * information. this is a work-around for the potential problem of
- * concurrent access to these functions by more than one thread,
- * where two clients might interfere with each other.
- * <p>
- * Note: We also try to get the tracepoint info here, if it's not
- * already filled-in.
- *
- * @param rank a long corresponding to the number of the frame to be
- * selected and read
- * @return A GdbTraceEvent object, or null in case of failure.
- */
- public synchronized GdbTraceEvent selectAndReadFrame(final long rank) {
- // lazy init of tracepoints info
- if(fTpInfo.isEmpty()) {
- getTracepointInfo();
- }
- if (selectDataFrame(rank, false)) {
- GdbTraceEvent event = getTraceFrameData(rank);
- long ts = event.getTimestamp().getValue();
- if (ts == rank) {
- return event;
- }
- }
- return null;
- }
-
-
- /**
- * This class implements a best-effort look-up of the detailed tracepoint
- * information (source code filename, line number, etc...).
- */
- private void getTracepointInfo() {
-
- // Get the latest executor/service tracker
- final DsfExecutor executor = DsfSession.getSession(fSessionId).getExecutor();
- final DsfServicesTracker tracker = new DsfServicesTracker(GdbTraceCorePlugin.getBundleContext(), fSessionId);
-
- Query<Object> selectRecordQuery = new Query<Object>() {
- @Override
- public void execute(final DataRequestMonitor<Object> drm) {
-
- // A breakpoint is no longer GDB-global but tied to a specific process
- // So we need to find our process and the ask for its breakpoints
- IMIProcesses procService = tracker.getService(IMIProcesses.class);
- final ICommandControlService cmdControl = tracker.getService(ICommandControlService.class);
- if (procService == null || cmdControl == null) {
- drm.setStatus(new Status(IStatus.ERROR, GdbPlugin.PLUGIN_ID, IDsfStatusConstants.INTERNAL_ERROR, "Could not find necessary services", null)); //$NON-NLS-1$
- drm.done();
- return;
- }
-
- ITraceTargetDMContext context = (ITraceTargetDMContext) cmdControl.getContext();
- ICommandControlDMContext cmdControlDMC = DMContexts.getAncestorOfType(context, ICommandControlDMContext.class);
-
- procService.getProcessesBeingDebugged(
- cmdControlDMC,
- new DataRequestMonitor<IDMContext[]>(executor, drm) {
- @Override
- protected void handleSuccess() {
- assert getData() != null;
- assert getData().length == 1;
- if (getData() == null || getData().length < 1) {
- drm.done();
- return;
- }
-
- // Choose the first process for now, until gdb can tell
- // us which process the trace record is associated with.
- IContainerDMContext containerDMC = (IContainerDMContext)(getData()[0]);
- IBreakpointsTargetDMContext bpTargetDMC = DMContexts.getAncestorOfType(containerDMC , IBreakpointsTargetDMContext.class);
-
- CommandFactory cmdFactory = tracker.getService(IMICommandControl.class).getCommandFactory();
- IBreakpoints bpService = tracker.getService(MIBreakpoints.class);
- if (cmdFactory == null || bpService == null) {
- drm.setStatus(new Status(IStatus.ERROR, GdbPlugin.PLUGIN_ID, IDsfStatusConstants.INTERNAL_ERROR, "Could not find necessary services", null)); //$NON-NLS-1$
- drm.done();
- return;
- }
-
- // Execute the command
- cmdControl.queueCommand(cmdFactory.createMIBreakList(bpTargetDMC),
- new DataRequestMonitor<MIBreakListInfo>(executor, drm) {
- @Override
- protected void handleSuccess() {
- MIBreakpoint[] breakpoints = getData().getMIBreakpoints();
- for (int i = 0; i < breakpoints.length; i++) {
- MIBreakpointDMData breakpoint = new MIBreakpointDMData(breakpoints[i]);
- String type = breakpoint.getBreakpointType();
- // Only save info if the current breakpoint is of type tracepoint
- if(type.compareTo(MIBreakpoints.TRACEPOINT) == 0 ) {
- fTpInfo.put(new Integer(breakpoint.getReference()), breakpoint);
- }
- }
- drm.done();
- }
- });
- }
- });
- }
- };
- try {
- executor.execute(selectRecordQuery);
- if (fIsTimeoutEnabled) {
- selectRecordQuery.get(fTimeout, TimeUnit.MILLISECONDS); // blocks until time out
- } else {
- selectRecordQuery.get(); // blocks
- }
- } catch (InterruptedException e) {
- Activator.logError("Interruption exception", e); //$NON-NLS-1$
- } catch (ExecutionException e) {
- Activator.logError("GDB exception", e); //$NON-NLS-1$
- } catch (RejectedExecutionException e) {
- Activator.logError("Request rejected exception", e); //$NON-NLS-1$
- } catch (TimeoutException e) {
- Activator.logError("Timeout", e); //$NON-NLS-1$
- } finally {
- tracker.dispose();
- }
- }
-
- /**
- * Returns the number of frames contained in currently loaded tracepoint GDB
- * session.
- * <p>
- * Note: A postmortem GDB session must be started before calling
- * this method
- *
- * @return the number of frames contained in currently loaded tracepoint GDB
- * session or zero in case of error
- */
- private synchronized int findNumFrames() {
- int frameNum = 0;
-
- if (DsfSession.getSession(fSessionId) == null) {
- return 0;
- }
-
- final DsfExecutor executor = DsfSession.getSession(fSessionId)
- .getExecutor();
- final DsfServicesTracker tracker = new DsfServicesTracker(
- GdbTraceCorePlugin.getBundleContext(), fSessionId);
-
- Query<ITraceStatusDMData> selectRecordQuery = new Query<ITraceStatusDMData>() {
- @Override
- public void execute(
- final DataRequestMonitor<ITraceStatusDMData> queryRm) {
- final IGDBTraceControl traceControl = tracker
- .getService(IGDBTraceControl.class);
-
- final ICommandControlService commandControl = tracker
- .getService(ICommandControlService.class);
- final ITraceTargetDMContext dmc = (ITraceTargetDMContext) commandControl
- .getContext();
-
- if (traceControl != null) {
- traceControl.getTraceStatus(dmc, queryRm);
- } else {
- queryRm.done();
- }
- }
- };
- try {
- executor.execute(selectRecordQuery);
- ITraceStatusDMData data;
- if (fIsTimeoutEnabled) {
- data = selectRecordQuery.get(fTimeout, TimeUnit.MILLISECONDS); // blocks until time out
- } else {
- data = selectRecordQuery.get(); // blocks
- }
-
- frameNum = data.getNumberOfCollectedFrame();
- } catch (InterruptedException e) {
- Activator.logError("Interruption exception", e); //$NON-NLS-1$
- } catch (ExecutionException e) {
- Activator.logError("GDB exception", e); //$NON-NLS-1$
- } catch (RejectedExecutionException e) {
- Activator.logError("Request rejected exception", e); //$NON-NLS-1$
- } catch (TimeoutException e) {
- Activator.logError("Timeout", e); //$NON-NLS-1$
- } finally {
- tracker.dispose();
- }
- return frameNum;
- }
-
- /**
- * This method uses the DSF-GDB interface to select a given frame number
- * in the current GDB tracepoint session.
- *
- * @param rank the rank of the tracepoint frame to select.
- * @param update true if visualization should be updated
- * @return boolean true if select worked.
- */
- public boolean selectDataFrame(final long rank, final boolean update) {
- boolean status = true;
-
- final DsfSession dsfSession = DsfSession.getSession(fSessionId);
- if (dsfSession == null) {
- return false;
- }
-
- if (update) {
- /*
- * Clear the selection to ensure that the new selection is not
- * prevented from overriding the current selection by the DSF
- * selection policy. This could be removed when DSF provides
- * an API to force the trace record selection in the Debug view.
- */
- Display.getDefault().syncExec(new Runnable() {
- @Override
- public void run() {
- for (IWorkbenchWindow wbWindow : PlatformUI.getWorkbench().getWorkbenchWindows()) {
- for (IWorkbenchPage wbPage : wbWindow.getPages()) {
- IViewPart vp = wbPage.findView(IDebugUIConstants.ID_DEBUG_VIEW);
- if (vp instanceof AbstractDebugView) {
- Viewer viewer = ((AbstractDebugView) vp).getViewer();
- if (viewer instanceof ITreeModelViewer) {
- ((ITreeModelViewer) viewer).setSelection(StructuredSelection.EMPTY, false, true);
- }
- }
- }
- }
- }
- });
- }
-
- final DsfExecutor executor = dsfSession.getExecutor();
- final DsfServicesTracker tracker = new DsfServicesTracker(GdbTraceCorePlugin.getBundleContext(), fSessionId);
-
- Query<Object> selectRecordQuery = new Query<Object>() {
- @Override
- public void execute(final DataRequestMonitor<Object> queryRm) {
- final IGDBTraceControl traceControl = tracker.getService(IGDBTraceControl.class);
-
- final ICommandControlService commandControl = tracker.getService(ICommandControlService.class);
- final ITraceTargetDMContext dmc = (ITraceTargetDMContext) commandControl.getContext();
-
- if (traceControl != null) {
- ITraceRecordDMContext newCtx = traceControl.createTraceRecordContext(dmc, Integer.toString((int) rank));
- if (update) {
- dsfSession.dispatchEvent(new TraceRecordSelectedChangedEvent(newCtx), new Hashtable<String, String>());
- }
- traceControl.selectTraceRecord(newCtx, queryRm);
- } else {
- queryRm.done();
- }
- }
- };
- try {
- executor.execute(selectRecordQuery);
- if (fIsTimeoutEnabled) {
- selectRecordQuery.get(fTimeout, TimeUnit.MILLISECONDS); // blocks until time out
- } else {
- selectRecordQuery.get(); // blocks
- }
- } catch (InterruptedException e) {
- status = false;
- Activator.logError("Interruption exception", e); //$NON-NLS-1$
- } catch (ExecutionException e) {
- status = false;
- Activator.logError("GDB exception", e); //$NON-NLS-1$
- } catch (RejectedExecutionException e) {
- status = false;
- Activator.logError("Request rejected exception", e); //$NON-NLS-1$
- } catch (TimeoutException e) {
- status = false;
- Activator.logError("Timeout", e); //$NON-NLS-1$
- } finally {
- tracker.dispose();
- }
- return status;
- }
-
- /**
- * This method uses DSF-GDB to read the currently selected GDB tracepoint
- * data frame. An object of type GdbTraceEvent is build based on the
- * information contained in the data frame and returned to the caller.
- * <p>
- * NOTE : A frame must be selected before calling this method!
- *
- * @param rank for internal purposes - does <b>not</b> control which
- * frame will be read!
- * @return parsed tp frame, in the form of a GdbTraceEvent
- */
- private GdbTraceEvent getTraceFrameData(final long rank) {
-
- if (DsfSession.getSession(fSessionId) == null) {
- return null;
- }
-
- final DsfExecutor executor = DsfSession.getSession(fSessionId).getExecutor();
- final DsfServicesTracker tracker = new DsfServicesTracker(GdbTraceCorePlugin.getBundleContext(), fSessionId);
-
- Query<ITraceRecordDMData> getFrameDataQuery = new Query<ITraceRecordDMData>() {
- @Override
- public void execute(final DataRequestMonitor<ITraceRecordDMData> rm) {
- final IGDBTraceControl traceControl = tracker.getService(IGDBTraceControl.class);
-
- final ICommandControlService commandControl = tracker.getService(ICommandControlService.class);
- final ITraceTargetDMContext dmc = (ITraceTargetDMContext) commandControl.getContext();
-
- if (traceControl != null) {
- traceControl.getCurrentTraceRecordContext(dmc,
- new DataRequestMonitor<ITraceRecordDMContext>(executor, rm) {
- @Override
- protected void handleSuccess() {
- traceControl.getTraceRecordData(getData(), rm);
- }
- });
- } else {
- rm.done();
- }
- }
- };
- try {
- // Execute the above query
- executor.execute(getFrameDataQuery);
- ITraceRecordDMData data;
- if (fIsTimeoutEnabled) {
- data = getFrameDataQuery.get(fTimeout, TimeUnit.MILLISECONDS); // blocking call until time out
- } else {
- data = getFrameDataQuery.get();
- }
-
- if (data == null) {
- return null;
- }
-
- String ts = data.getTimestamp();
- if (ts == null) {
- ts = "0"; //$NON-NLS-1$
- }
-
- // get corresponding TP data
- String tmfEventRef;
- MIBreakpointDMData bp = fTpInfo.get(Integer.valueOf(data.getTracepointNumber()));
- if (bp != null) {
- tmfEventRef = bp.getFileName() + ":" + bp.getLineNumber() + " :: " + bp.getFunctionName(); //$NON-NLS-1$ //$NON-NLS-2$
- }
- else {
- tmfEventRef = tracedExecutable;
- }
-
- GdbTraceEventContent evContent = new GdbTraceEventContent(
- data.getContent(),
- Integer.parseInt(data.getTracepointNumber()),
- Integer.parseInt(data.getRecordId()));
-
- GdbTraceEvent ev = new GdbTraceEvent(fGdbTrace,
- new TmfTimestamp(Integer.parseInt(data.getRecordId())),
- "Tracepoint: " + data.getTracepointNumber() + ", Frame: " + data.getRecordId(), //$NON-NLS-1$ //$NON-NLS-2$
- tmfEventType,
- evContent,
- tmfEventRef);
-
- return ev;
-
- } catch (InterruptedException e) {
- return createExceptionEvent(rank, "Interruption exception"); //$NON-NLS-1$
- } catch (java.util.concurrent.ExecutionException e) {
- return createExceptionEvent(rank, "GDB exception"); //$NON-NLS-1$
- } catch (RejectedExecutionException e) {
- return createExceptionEvent(rank, "Request rejected exception"); //$NON-NLS-1$
- } catch (TimeoutException e) {
- return createExceptionEvent(rank, "Timeout"); //$NON-NLS-1$
- }
-
- finally {
- tracker.dispose();
- }
- }
-
- /**
- * This is a helper method for getTraceFrameData, to create for it a
- * "best effort" GdbTraceEvent when a problem occurs during the reading.
- *
- * @param rank long containing the number of the frame where the problem occurred
- * @param message String containing a brief explanation of problem.
- * @return a GdbTraceEvent object, filled as best as possible
- */
- private GdbTraceEvent createExceptionEvent(final long rank, final String message) {
- // get corresponding TP data
- String tmfEventRef;
- String tmfEventSrc;
- MIBreakpointDMData bp = fTpInfo.get(rank);
- if (bp != null) {
- tmfEventRef = bp.getFileName() + ":" + bp.getLineNumber() + " :: " + bp.getFunctionName(); //$NON-NLS-1$ //$NON-NLS-2$
- tmfEventSrc = bp.getFileName() + " :: " + bp.getFunctionName() + ", line: " + bp.getLineNumber(); //$NON-NLS-1$ //$NON-NLS-2$
- }
- else {
- tmfEventRef = tracedExecutable;
- tmfEventSrc = "Tracepoint: n/a"; //$NON-NLS-1$
- }
-
- GdbTraceEventContent evContent = new GdbTraceEventContent("ERROR: " + message, 0, 0); //$NON-NLS-1$
-
- GdbTraceEvent ev = new GdbTraceEvent(fGdbTrace,
- new TmfTimestamp(rank),
- tmfEventSrc,
- tmfEventType,
- evContent,
- tmfEventRef);
-
- return ev;
- }
-
- /**
- * @return DSF-GDB session id of the current session.
- */
- public String getSessionId() {
- return fSessionId;
- }
-
- /**
- * Handler method that catches the DSF "record selected changed" event.
- * It in turn creates a TMF "time sync" signal.
- * @param event TraceRecordSelectedChangedEvent: The DSF event.
- */
- @DsfServiceEventHandler
- public void handleDSFRecordSelectedEvents(final ITraceRecordSelectedChangedDMEvent event) {
- if (event instanceof TraceRecordSelectedChangedEvent) {
- TraceRecordSelectedChangedEvent traceEvent = (TraceRecordSelectedChangedEvent) event;
- ITraceRecordDMContext context = traceEvent.getDMContext();
- final String reference = context.getRecordId();
- if (reference != null) {
- int recordId = Integer.parseInt(reference);
- selectGdbTraceEditor(context.getSessionId(), recordId);
- }
- }
- }
-
- private static void closeGdbTraceEditor(final String sessionId) {
- Display.getDefault().asyncExec(new Runnable() {
- @Override
- public void run() {
- for (IWorkbenchWindow wbWindow : PlatformUI.getWorkbench().getWorkbenchWindows()) {
- for (IWorkbenchPage wbPage : wbWindow.getPages()) {
- for (IEditorReference editorReference : wbPage.getEditorReferences()) {
- IEditorPart editor = editorReference.getEditor(false);
- if (editor instanceof ITmfTraceEditor) {
- ITmfTrace trace = ((ITmfTraceEditor) editor).getTrace();
- if (trace instanceof GdbTrace) {
- if (((GdbTrace) trace).getDsfSessionId().equals(sessionId)) {
- wbPage.closeEditor(editor, false);
- }
- }
- }
- }
- }
- }
- }
- });
- }
-
- private static void selectGdbTraceEditor(final String sessionId, final int recordId) {
- Display.getDefault().asyncExec(new Runnable() {
- @Override
- public void run() {
- for (IWorkbenchWindow wbWindow : PlatformUI.getWorkbench().getWorkbenchWindows()) {
- for (IWorkbenchPage wbPage : wbWindow.getPages()) {
- for (IEditorReference editorReference : wbPage.getEditorReferences()) {
- IEditorPart editor = editorReference.getEditor(false);
- if (editor instanceof ITmfTraceEditor) {
- ITmfTrace trace = ((ITmfTraceEditor) editor).getTrace();
- if (trace instanceof GdbTrace) {
- if (((GdbTrace) trace).getDsfSessionId().equals(sessionId)) {
- wbPage.bringToTop(editor);
- if (recordId != -1) {
- gotoRank(editor, recordId);
- }
- return;
- }
- } else if (trace instanceof TmfExperiment) {
- TmfExperiment experiment = (TmfExperiment) trace;
- int nbTraces = experiment.getTraces().length;
- for (int i = 0; i < nbTraces; i++) {
- GdbTrace gdbTrace = (GdbTrace) experiment.getTraces()[i];
- if (gdbTrace.getDsfSessionId().equals(sessionId)) {
- wbPage.bringToTop(editor);
- if (recordId != -1) {
- int rank = recordId * nbTraces + i;
- gotoRank(editor, rank);
- }
- return;
- }
- }
- }
- }
- }
- }
- }
- }
- });
- }
-
- private static void gotoRank(IEditorPart editor, int rank) {
- IEditorInput editorInput = editor.getEditorInput();
- if (editorInput instanceof IFileEditorInput) {
- IFile file = ((IFileEditorInput) editorInput).getFile();
- try {
- final IMarker marker = file.createMarker(IMarker.MARKER);
- marker.setAttribute(IMarker.LOCATION, (Integer) rank);
- IDE.gotoMarker(editor, marker);
- marker.delete();
- } catch (CoreException e) {
- e.printStackTrace();
- }
- }
- }
-} \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.gdbtrace.core/src/org/eclipse/linuxtools/internal/gdbtrace/core/trace/GdbTrace.java b/lttng/org.eclipse.linuxtools.gdbtrace.core/src/org/eclipse/linuxtools/internal/gdbtrace/core/trace/GdbTrace.java
deleted file mode 100644
index 097f49e4cf..0000000000
--- a/lttng/org.eclipse.linuxtools.gdbtrace.core/src/org/eclipse/linuxtools/internal/gdbtrace/core/trace/GdbTrace.java
+++ /dev/null
@@ -1,227 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011, 2014 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:
- * Marc Dumais - Initial implementation
- * Francois Chouinard - Initial API and implementation
- * Patrick Tasse - Updated for TMF 2.0
- * Matthew Khouzam - update validate
- *******************************************************************************/
-
-package org.eclipse.linuxtools.internal.gdbtrace.core.trace;
-
-import java.io.BufferedInputStream;
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.IOException;
-import java.util.Arrays;
-
-import org.eclipse.cdt.dsf.gdb.IGDBLaunchConfigurationConstants;
-import org.eclipse.cdt.dsf.gdb.IGdbDebugPreferenceConstants;
-import org.eclipse.cdt.dsf.gdb.internal.GdbPlugin;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.QualifiedName;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.linuxtools.internal.gdbtrace.core.Activator;
-import org.eclipse.linuxtools.internal.gdbtrace.core.GdbTraceCorePlugin;
-import org.eclipse.linuxtools.internal.gdbtrace.core.event.GdbTraceEvent;
-import org.eclipse.linuxtools.tmf.core.event.ITmfEvent;
-import org.eclipse.linuxtools.tmf.core.exceptions.TmfTraceException;
-import org.eclipse.linuxtools.tmf.core.timestamp.ITmfTimestamp;
-import org.eclipse.linuxtools.tmf.core.trace.ITmfContext;
-import org.eclipse.linuxtools.tmf.core.trace.ITmfEventParser;
-import org.eclipse.linuxtools.tmf.core.trace.TmfContext;
-import org.eclipse.linuxtools.tmf.core.trace.TmfTrace;
-import org.eclipse.linuxtools.tmf.core.trace.TraceValidationStatus;
-import org.eclipse.linuxtools.tmf.core.trace.location.ITmfLocation;
-import org.eclipse.linuxtools.tmf.core.trace.location.TmfLongLocation;
-import org.eclipse.osgi.util.NLS;
-
-/**
- * GDB Tracepoint extension of TmfTrace. This class implements the necessary
- * methods and functionalities so that a GDB tracepoint file can be used by the
- * TMF framework as a "tracer".
- * <p>
- *
- * @author Marc Dumais
- * @author Francois Chouinard
- * @author Matthew Khouzam
- */
-@SuppressWarnings("restriction")
-public class GdbTrace extends TmfTrace implements ITmfEventParser {
-
- // ------------------------------------------------------------------------
- // Constants
- // ------------------------------------------------------------------------
-
- private static final int CACHE_SIZE = 20;
-
- private static final byte[] HEADER = new byte[] {0x7f, 'T', 'R', 'A', 'C', 'E'};
-
- /** The qualified name for the 'executable' persistent property */
- public static final QualifiedName EXEC_KEY = new QualifiedName(GdbTraceCorePlugin.PLUGIN_ID, "executable"); //$NON-NLS-1$
-
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
-
- // Interface to access GDB Tracepoints
- private DsfGdbAdaptor fGdbTpRef;
- private long fNbFrames = 0;
-
- // The trace location
- long fLocation;
-
- // ------------------------------------------------------------------------
- // Constructor
- // ------------------------------------------------------------------------
-
- /**
- * Default constructor
- */
- public GdbTrace() {
- setCacheSize(CACHE_SIZE);
- }
-
- @Override
- public IStatus validate(IProject project, String path) {
- File file = new File(path);
- if (!file.exists()) {
- return new Status(IStatus.ERROR, Activator.PLUGIN_ID,
- NLS.bind(Messages.GdbTrace_FileNotFound, path));
- }
- if (!file.isFile()) {
- return new Status(IStatus.ERROR, Activator.PLUGIN_ID,
- NLS.bind(Messages.GdbTrace_GdbTracesMustBeAFile, path));
- }
- try (BufferedInputStream stream = new BufferedInputStream(new FileInputStream(file))) {
- byte[] buffer = new byte[HEADER.length];
- int read = stream.read(buffer);
- if (read != HEADER.length || !Arrays.equals(buffer, HEADER)) {
- return new Status(IStatus.ERROR, Activator.PLUGIN_ID,
- NLS.bind(Messages.GdbTrace_NotGdbTraceFile, path));
- }
- } catch (IOException e) {
- return new Status(IStatus.ERROR, Activator.PLUGIN_ID,
- NLS.bind(Messages.GdbTrace_IOException, path), e);
- }
- return new TraceValidationStatus(100, GdbTraceCorePlugin.PLUGIN_ID);
- }
-
- @Override
- public void initTrace(IResource resource, String path, Class<? extends ITmfEvent> type) throws TmfTraceException {
- try {
- String tracedExecutable = resource.getPersistentProperty(EXEC_KEY);
- if (tracedExecutable == null) {
- throw new TmfTraceException(Messages.GdbTrace_ExecutableNotSet);
- }
-
- String defaultGdbCommand = Platform.getPreferencesService().getString(GdbPlugin.PLUGIN_ID,
- IGdbDebugPreferenceConstants.PREF_DEFAULT_GDB_COMMAND,
- IGDBLaunchConfigurationConstants.DEBUGGER_DEBUG_NAME_DEFAULT, null);
-
- fGdbTpRef = new DsfGdbAdaptor(this, defaultGdbCommand, path, tracedExecutable);
- fNbFrames = getNbFrames();
- } catch (CoreException e) {
- throw new TmfTraceException(Messages.GdbTrace_FailedToInitializeTrace, e);
- }
-
- super.initTrace(resource, path, type);
- }
-
- @Override
- public synchronized void dispose() {
- if (fGdbTpRef != null) {
- fGdbTpRef.dispose();
- }
- super.dispose();
- }
-
- /**
- * @return GDB-DSF session id
- */
- public String getDsfSessionId() {
- return fGdbTpRef.getSessionId();
- }
-
- /**
- * @return the number of frames in current tp session
- */
- public synchronized long getNbFrames() {
- fNbFrames = fGdbTpRef.getNumberOfFrames();
- return fNbFrames;
- }
-
- // ------------------------------------------------------------------------
- // TmfTrace
- // ------------------------------------------------------------------------
-
- @Override
- public synchronized TmfContext seekEvent(ITmfLocation location) {
- fLocation = (location != null) ? ((Long) location.getLocationInfo()) : 0;
- return new TmfContext(new TmfLongLocation(fLocation), fLocation);
- }
-
- @Override
- public synchronized ITmfContext seekEvent(double ratio) {
- TmfContext context = seekEvent((long) ratio * getNbEvents());
- return context;
- }
-
- @Override
- public double getLocationRatio(ITmfLocation location) {
- if (getNbEvents() > 0 && location instanceof TmfLongLocation) {
- return (double) ((TmfLongLocation) location).getLocationInfo() / getNbEvents();
- }
- return 0;
- }
-
- @Override
- public ITmfLocation getCurrentLocation() {
- return new TmfLongLocation(fLocation);
- }
-
- @Override
- public GdbTraceEvent parseEvent(ITmfContext context) {
- if (context.getRank() >= fNbFrames) {
- return null;
- }
- // work-around to ensure that the select and parse of trace frame will
- // be atomic
- GdbTraceEvent event = fGdbTpRef.selectAndReadFrame(context.getRank());
- fLocation++;
- return event;
- }
-
- @Override
- public synchronized TmfContext seekEvent(ITmfTimestamp timestamp) {
- long rank = timestamp.getValue();
- return seekEvent(rank);
- }
-
- @Override
- public synchronized TmfContext seekEvent(long rank) {
- fLocation = rank;
- TmfContext context = new TmfContext(new TmfLongLocation(fLocation), rank);
- return context;
- }
-
- /**
- * Select a frame and update the visualization
- *
- * @param rank
- * the rank
- */
- public synchronized void selectFrame(long rank) {
- fGdbTpRef.selectDataFrame(rank, true);
- }
-} \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.gdbtrace.core/src/org/eclipse/linuxtools/internal/gdbtrace/core/trace/Messages.java b/lttng/org.eclipse.linuxtools.gdbtrace.core/src/org/eclipse/linuxtools/internal/gdbtrace/core/trace/Messages.java
deleted file mode 100644
index 9c39492e19..0000000000
--- a/lttng/org.eclipse.linuxtools.gdbtrace.core/src/org/eclipse/linuxtools/internal/gdbtrace/core/trace/Messages.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013, 2014 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:
- * Matthew Khouzam - Initial API and implementation
- * Patrick Tasse - Update for GDB trace validation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.internal.gdbtrace.core.trace;
-
-import org.eclipse.osgi.util.NLS;
-
-/**
- * Message bundle for gdbtrace.core.trace
- *
- * @author Matthew Khouzam
- */
-public class Messages extends NLS {
-
- private static final String BUNDLE_NAME = "org.eclipse.linuxtools.internal.gdbtrace.core.trace.messages"; //$NON-NLS-1$
-
- /** Executable not set - trace is not associated to an executable.*/
- public static String GdbTrace_ExecutableNotSet;
-
- /** Failed to initialize trace */
- public static String GdbTrace_FailedToInitializeTrace;
-
- /** File not found */
- public static String GdbTrace_FileNotFound;
-
- /** Trace must be a file, not a directory or something else */
- public static String GdbTrace_GdbTracesMustBeAFile;
-
- /** IOException validating trace file */
- public static String GdbTrace_IOException;
-
- /** File is not a GDB trace file */
- public static String GdbTrace_NotGdbTraceFile;
-
- static {
- // initialize resource bundle
- NLS.initializeMessages(BUNDLE_NAME, Messages.class);
- }
-
- private Messages() {
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.gdbtrace.core/src/org/eclipse/linuxtools/internal/gdbtrace/core/trace/messages.properties b/lttng/org.eclipse.linuxtools.gdbtrace.core/src/org/eclipse/linuxtools/internal/gdbtrace/core/trace/messages.properties
deleted file mode 100644
index 7c5e513c38..0000000000
--- a/lttng/org.eclipse.linuxtools.gdbtrace.core/src/org/eclipse/linuxtools/internal/gdbtrace/core/trace/messages.properties
+++ /dev/null
@@ -1,18 +0,0 @@
-###############################################################################
-# Copyright (c) 2013-2014 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:
-# Ericsson - Initial API and implementation
-###############################################################################
-
-GdbTrace_ExecutableNotSet=Trace executable not set
-GdbTrace_FailedToInitializeTrace=Failed to initialize trace
-GdbTrace_FileNotFound=File not found: {0}
-GdbTrace_GdbTracesMustBeAFile=GdbTrace must be a file: {0} is not a file
-GdbTrace_IOException=IOException validating file: {0}
-GdbTrace_NotGdbTraceFile=The file {0} is not a GDB binary trace file
diff --git a/lttng/org.eclipse.linuxtools.gdbtrace.help/.empty.dtd b/lttng/org.eclipse.linuxtools.gdbtrace.help/.empty.dtd
deleted file mode 100644
index e69de29bb2..0000000000
--- a/lttng/org.eclipse.linuxtools.gdbtrace.help/.empty.dtd
+++ /dev/null
diff --git a/lttng/org.eclipse.linuxtools.gdbtrace.help/.externalToolBuilders/Help Builder.launch b/lttng/org.eclipse.linuxtools.gdbtrace.help/.externalToolBuilders/Help Builder.launch
deleted file mode 100644
index 6563595642..0000000000
--- a/lttng/org.eclipse.linuxtools.gdbtrace.help/.externalToolBuilders/Help Builder.launch
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<launchConfiguration type="org.eclipse.ant.AntBuilderLaunchConfigurationType">
-<stringAttribute key="org.eclipse.ant.ui.ATTR_ANT_CLEAN_TARGETS" value="clean,"/>
-<booleanAttribute key="org.eclipse.ant.ui.ATTR_TARGETS_UPDATED" value="true"/>
-<booleanAttribute key="org.eclipse.ant.ui.DEFAULT_VM_INSTALL" value="false"/>
-<stringAttribute key="org.eclipse.debug.core.ATTR_REFRESH_SCOPE" value="${working_set:&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;&#10;&lt;resources&gt;&#10;&lt;item path=&quot;/org.eclipse.linuxtools.gdbtrace.help&quot; type=&quot;4&quot;/&gt;&#10;&lt;/resources&gt;}"/>
-<booleanAttribute key="org.eclipse.debug.ui.ATTR_LAUNCH_IN_BACKGROUND" value="false"/>
-<stringAttribute key="org.eclipse.jdt.launching.CLASSPATH_PROVIDER" value="org.eclipse.ant.ui.AntClasspathProvider"/>
-<booleanAttribute key="org.eclipse.jdt.launching.DEFAULT_CLASSPATH" value="true"/>
-<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="org.eclipse.linuxtools.gdbtrace.help"/>
-<mapAttribute key="org.eclipse.ui.externaltools.ATTR_ANT_PROPERTIES">
-<mapEntry key="eclipse.home" value="${eclipse_home}"/>
-</mapAttribute>
-<stringAttribute key="org.eclipse.ui.externaltools.ATTR_LOCATION" value="${workspace_loc:/org.eclipse.linuxtools.gdbtrace.help/build.xml}"/>
-<stringAttribute key="org.eclipse.ui.externaltools.ATTR_RUN_BUILD_KINDS" value="incremental,clean"/>
-<booleanAttribute key="org.eclipse.ui.externaltools.ATTR_TRIGGERS_CONFIGURED" value="true"/>
-</launchConfiguration>
diff --git a/lttng/org.eclipse.linuxtools.gdbtrace.help/.project b/lttng/org.eclipse.linuxtools.gdbtrace.help/.project
deleted file mode 100644
index 8882569258..0000000000
--- a/lttng/org.eclipse.linuxtools.gdbtrace.help/.project
+++ /dev/null
@@ -1,36 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>org.eclipse.linuxtools.gdbtrace.help</name>
- <comment></comment>
- <projects>
- </projects>
- <buildSpec>
- <buildCommand>
- <name>org.eclipse.ui.externaltools.ExternalToolBuilder</name>
- <triggers>clean,full,incremental,</triggers>
- <arguments>
- <dictionary>
- <key>LaunchConfigHandle</key>
- <value>&lt;project&gt;/.externalToolBuilders/Help Builder.launch</value>
- </dictionary>
- <dictionary>
- <key>incclean</key>
- <value>true</value>
- </dictionary>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.ManifestBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.SchemaBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>org.eclipse.pde.PluginNature</nature>
- </natures>
-</projectDescription>
diff --git a/lttng/org.eclipse.linuxtools.gdbtrace.help/.settings/org.eclipse.core.resources.prefs b/lttng/org.eclipse.linuxtools.gdbtrace.help/.settings/org.eclipse.core.resources.prefs
deleted file mode 100644
index 99f26c0203..0000000000
--- a/lttng/org.eclipse.linuxtools.gdbtrace.help/.settings/org.eclipse.core.resources.prefs
+++ /dev/null
@@ -1,2 +0,0 @@
-eclipse.preferences.version=1
-encoding/<project>=UTF-8
diff --git a/lttng/org.eclipse.linuxtools.gdbtrace.help/.settings/org.eclipse.core.runtime.prefs b/lttng/org.eclipse.linuxtools.gdbtrace.help/.settings/org.eclipse.core.runtime.prefs
deleted file mode 100644
index 5a0ad22d2a..0000000000
--- a/lttng/org.eclipse.linuxtools.gdbtrace.help/.settings/org.eclipse.core.runtime.prefs
+++ /dev/null
@@ -1,2 +0,0 @@
-eclipse.preferences.version=1
-line.separator=\n
diff --git a/lttng/org.eclipse.linuxtools.gdbtrace.help/META-INF/MANIFEST.MF b/lttng/org.eclipse.linuxtools.gdbtrace.help/META-INF/MANIFEST.MF
deleted file mode 100644
index baddfa9874..0000000000
--- a/lttng/org.eclipse.linuxtools.gdbtrace.help/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,8 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %Bundle-Name
-Bundle-Vendor: %Bundle-Vendor
-Bundle-Version: 3.1.0.qualifier
-Bundle-Localization: plugin
-Bundle-SymbolicName: org.eclipse.linuxtools.gdbtrace.help;singleton:=true
-Require-Bundle: org.eclipse.help
diff --git a/lttng/org.eclipse.linuxtools.gdbtrace.help/README b/lttng/org.eclipse.linuxtools.gdbtrace.help/README
deleted file mode 100644
index d617d59678..0000000000
--- a/lttng/org.eclipse.linuxtools.gdbtrace.help/README
+++ /dev/null
@@ -1,19 +0,0 @@
-This describes how to build the documentation found in the o.e.l.gdbtrace.help
-plugin.
-
-
-Your Eclipse environment first needs to have the "Mylyn Wikitext" plugin
-installed. It can be found in the default Eclipse repository, under
-"Collaboration".
-
-Once that is installed, you should be able to use the manual Eclipse builder to
-generate the doc : select the gdbtrace.help plugin and choose, in the top-menu,
-"Project -> Build Project".
-
-It uses the build.xml Ant script, but it's recommended to run it from within
-Eclipse, since the builder will pass some environment variables that the script
-needs.
-
-You might get a warning from build.properties because of a missing file. This
-file gets generated with the rest of the doc, so once you have run these steps
-(and refreshed the project if needed), the warning should disappear. \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.gdbtrace.help/about.html b/lttng/org.eclipse.linuxtools.gdbtrace.help/about.html
deleted file mode 100644
index c258ef55d8..0000000000
--- a/lttng/org.eclipse.linuxtools.gdbtrace.help/about.html
+++ /dev/null
@@ -1,28 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
-<title>About</title>
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
-
-<p>June 5, 2006</p>
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;). Unless otherwise
-indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is available
-at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is
-being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content. Check the Redistributor's license that was
-provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at <a href="http://www.eclipse.org/">http://www.eclipse.org</a>.</p>
-
-</body>
-</html> \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.gdbtrace.help/book.css b/lttng/org.eclipse.linuxtools.gdbtrace.help/book.css
deleted file mode 100644
index 797473964a..0000000000
--- a/lttng/org.eclipse.linuxtools.gdbtrace.help/book.css
+++ /dev/null
@@ -1,59 +0,0 @@
-/* following font face declarations need to be removed for DBCS */
-
-
-body, h1, h2, h3, h4, p, table, td, caption, th, ul, ol, dl, li, dd, dt {font-family: Arial, sans-serif; color: #000000}
-pre { font-family: Courier, monospace}
-
-/* end font face declarations */
-
-/* following font size declarations should be OK for DBCS */
-body, h1, h2, h3, h4, p, table, td, caption, th, ul, ol, dl, li, dd, dt {font-size: 12pt; }
-pre { font-size: 12pt}
-
-/* end font size declarations */
-
-body { background: #FFFFFF}
-h1 { font-size: 18pt; margin-top: 5; margin-bottom: 1 }
-h2 { font-size: 14pt; margin-top: 25; margin-bottom: 3 }
-h3 { font-size: 11pt; margin-top: 20; margin-bottom: 3 }
-h4 { font-size: 10pt; margin-top: 20; margin-bottom: 3; font-style: italic }
-h5 { font size: 13.5pt; }
-p { font-size: 12pt; }
-pre { margin-left: 6; font-size: 9pt }
-
-a:link { color: #006699 }
-a:visited { color: #996699 }
-a:hover { color: #006699 }
-
-ul { margin-top: 0; margin-bottom: 10 }
-li { margin-top: 0; margin-bottom: 0 }
-li p { margin-top: 0; margin-bottom: 0 }
-ol { margin-top: 0; margin-bottom: 10 }
-dl { margin-top: 0; margin-bottom: 10 }
-dt { margin-top: 0; margin-bottom: 0; font-weight: bold }
-dd { margin-top: 0; margin-bottom: 0 }
-strong { font-weight: bold}
-em { font-style: italic}
-var { font-style: italic}
-div.revision { border-left-style: solid; border-left-width: thin;
- border-left-color: #7B68EE; padding-left:5 }
-th { font-weight: bold }
-.hidden {
- display: none;
-}
-
-/* Mike Behm's addition to the style sheet */
-.userinput { font-family: monospace; }
-.guitab, .important, .guibutton, .selectblue, .guimenu, .guilabel,
-.notetitle {
- color: #000000;
- font-family: helvetica, arial, sans-serif;
- font-weight: bold;
- }
-div.linux {display:none;}
-.firsterm {font-style:italic;}
-
-.typewriter {font-family:monospace;}
-.bold {font-weight:600;}
-.linethrough {text-decoration: line-through;}
-.underline {text-decoration: underline;}
diff --git a/lttng/org.eclipse.linuxtools.gdbtrace.help/build.properties b/lttng/org.eclipse.linuxtools.gdbtrace.help/build.properties
deleted file mode 100644
index c582a1ef33..0000000000
--- a/lttng/org.eclipse.linuxtools.gdbtrace.help/build.properties
+++ /dev/null
@@ -1,21 +0,0 @@
-###############################################################################
-# Copyright (c) 2013 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:
-# Ericsson - Initial API and implementation
-###############################################################################
-
-bin.includes = META-INF/,\
- about.html,\
- book.css,\
- doc/,\
- plugin.properties,\
- plugin.xml
-jars.extra.classpath = platform:/plugin/org.eclipse.mylyn.wikitext.core,\
- platform:/plugin/org.eclipse.mylyn.wikitext.mediawiki.core
-src.includes = about.html
diff --git a/lttng/org.eclipse.linuxtools.gdbtrace.help/build.xml b/lttng/org.eclipse.linuxtools.gdbtrace.help/build.xml
deleted file mode 100644
index 98bf7f75bc..0000000000
--- a/lttng/org.eclipse.linuxtools.gdbtrace.help/build.xml
+++ /dev/null
@@ -1,97 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Copyright (c) 2013 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
--->
-<project name="org.eclipse.linuxtools.gdbtrace.help" default="build">
- <description>
- Generate Eclipse help content for the Linux Tools GDB Tracepoint Analysis user guide
- </description>
-
- <!-- Set correct values -->
- <property name="help.doc.url.base" value="http://wiki.eclipse.org" />
- <property name="ug.path" value="Linux_Tools_Project/GDB_Tracepoint_Analysis/User_Guide" />
- <property name="ug.title" value="GDB Tracepoint Analysis User Guide" />
-
- <path id="wikitext.tasks.classpath">
- <!-- Search in the local Eclipse installation directory for the Wikitext plugin -->
- <fileset dir="${eclipse.home}/plugins" erroronmissingdir="false">
- <include name="org.eclipse.mylyn.wikitext.*core*.jar" />
- <include name="com.google.guava_*.jar" />
- </fileset>
-
- <!-- For Maven builds: use the compile_classpath -->
- <pathelement path="${compile_classpath}" />
- </path>
-
- <taskdef classpathref="wikitext.tasks.classpath" resource="org/eclipse/mylyn/internal/wikitext/mediawiki/core/tasks/tasks.properties" />
- <taskdef classpathref="wikitext.tasks.classpath" resource="org/eclipse/mylyn/wikitext/core/util/anttask/tasks.properties" />
- <!-- Different location in more recent versions of Mylyn (Luna ?) -->
- <taskdef classpathref="wikitext.tasks.classpath" resource="org/eclipse/mylyn/wikitext/core/ant/tasks.properties" />
-
- <target name="build" description="Generate Eclipse help content for the Linux Tools GDB Tracepoint Analysis User Guide">
- <wikitext-to-eclipse-help markupLanguage="MediaWiki"
- validate="true"
- failonvalidationerror="true"
- overwrite="true"
- multipleOutputFiles="true"
- navigationimages="true"
- title="${ug.title}"
- formatoutput="true"
- helpPrefix="doc">
- <fileset dir="./doc">
- <include name="User-Guide.mediawiki" />
- </fileset>
- <stylesheet url="book.css" />
- </wikitext-to-eclipse-help>
- <antcall target="test" />
- </target>
-
- <target name="test" description="Verify that all of the HTML files are well-formed XML">
- <!--
- Don't bother with DTD validation: we only care if the files are well-formed.
- We therefore provide an empty DTD
- -->
- <xmlvalidate lenient="true">
- <fileset dir="doc">
- <include name="**/*.html" />
- </fileset>
- <dtd publicid="-//W3C//DTD XHTML 1.0 Transitional//EN" location=".empty.dtd" />
- </xmlvalidate>
- </target>
-
- <!-- If you need a proxy for the "download" target, set it here -->
- <!--
- <setproxy proxyhost="host" proxyport="port"/>
- -->
-
- <target name="download" description="Download the current contents of the GDB Tracepoint Analysis User Guide from the Eclipse wiki">
- <mediawiki-to-eclipse-help wikiBaseUrl="${help.doc.url.base}" title="${ug.title}" formatoutput="true" dest="." templateExcludes="*eclipseproject*">
- <path name="${ug.path}" title="${ug.title}" generateToc="false" />
- <stylesheet url="book.css" />
- <pageAppendum>
-= Updating This Document =
-
-This document is maintained in a collaborative wiki. If you wish to update or modify this document please visit
-http://wiki.eclipse.org/Linux_Tools_Project/GDB_Tracepoint_Analysis/User_Guide.
- </pageAppendum>
- </mediawiki-to-eclipse-help>
- </target>
-
- <target name ="clean" description="Delete all generated files">
- <delete failonerror="false" includeemptydirs="true">
- <!-- Files under doc/ (generated locally) -->
- <fileset dir="doc" includes="**/*.html" />
- <fileset dir="doc" includes="**/*.xml" />
-
- <!-- Files downloaded from the Eclipse wiki -->
- <fileset dir="Linux_Tools_Project" />
- <fileset file="toc.xml" />
- </delete>
- </target>
-
-</project>
diff --git a/lttng/org.eclipse.linuxtools.gdbtrace.help/doc/.gitignore b/lttng/org.eclipse.linuxtools.gdbtrace.help/doc/.gitignore
deleted file mode 100644
index 28d48547c4..0000000000
--- a/lttng/org.eclipse.linuxtools.gdbtrace.help/doc/.gitignore
+++ /dev/null
@@ -1,2 +0,0 @@
-*.html
-*.xml
diff --git a/lttng/org.eclipse.linuxtools.gdbtrace.help/doc/User-Guide.mediawiki b/lttng/org.eclipse.linuxtools.gdbtrace.help/doc/User-Guide.mediawiki
deleted file mode 100644
index 088c955cc3..0000000000
--- a/lttng/org.eclipse.linuxtools.gdbtrace.help/doc/User-Guide.mediawiki
+++ /dev/null
@@ -1,90 +0,0 @@
-
-= Overview =
-
-The GDB Tracepoint Analysis feature is an extension to the Tracing and Monitoring Framework that allows the visualization and analysis of C/C++ tracepoint data collected by GDB and stored to a log file.
-
-= Getting Started =
-
-The feature can be installed from the Eclipse update site by selecting '''Linux Tools''' > '''GDB Tracepoint Analysis'''.
-
-The feature requires GDB version 7.2 or later to be installed on the local host. The executable program 'gdb' must be found in the path.
-
-= GDB Trace Perspective =
-
-To open the perspective, select '''Window''' > '''Open Perspective''' > '''Other...''' > '''GDB Trace'''.
-
-The perspective includes the following views by default:
-
-* '''Project Explorer''': This view shows the projects in the workspace and is used to create and manage Tracing projects.
-* '''Debug''': This view shows the running C/C++ Postmortem Debugger instances and displays the thread and stack trace associated with a tracepoint.
-* '''Trace Control''': This view shows the status of the debugger and allows navigation of trace records.
-* '''Console''': This view displays console output of the C/C++ Postmortem Debugger.
-
-The editor area contains the '''Events''' and '''C/C++''' editors when a GDB Trace is opened.
-
-[[Image:images/GDBTracePerspective.png]]
-
-= Collecting Tracepoint Data =
-
-Collecting the C/C++ tracepoint data is outside the scope of this feature. It can be done from the GDB command line or by using the CDT debug component within Eclipse. See the CDT FAQ entry in the [[#References | References]] section.
-
-= Importing Tracepoint Data =
-
-Some information in this section is redundant with the LTTng User Guide. For further details, see the LTTng User Guide entry in the [[#References | References]] section.
-
-== Creating a Tracing Project ==
-
-In the '''Project Explorer''' view, right-click and select '''New''' > '''Project...''' from the context menu. In the '''New Project''' dialog, select '''Tracing''' > '''Tracing Project''', click '''Next''', name your project and click '''Finish'''.
-
-== Importing a GDB Trace ==
-
-In your tracing project, right-click on the '''Traces''' folder and select '''Import...'''. Browse to, or enter, a source directory. Select the trace file in the tree. Optionally set the trace type to '''GDB : GDB Trace'''. Click '''Finish'''.
-
-Alternatively, the trace can be drag & dropped to the '''Traces''' folder from any external file manager.
-
-== Selecting the GDB Trace Type ==
-
-Right-click the imported trace in the '''Traces''' folder and choose '''Select Trace Type...''' > '''GDB''' > '''GDB Trace''' from the context menu. This step can be omitted if the trace type was selected at import.
-
-The trace will be updated with the GDB icon [[Image:images/gdb_icon16.png]].
-
-== Selecting the Trace Executable ==
-
-The executable file that created the tracepoint data must be identified so that the C/C++ Postmortem Debugger can be launched properly.
-
-Right-click the GDB trace in the '''Traces''' folder and choose '''Select Trace Executable...''' from the context menu. Browse to, or enter, the path of the executable file and press '''OK'''.
-
-The selected file must be recognized by GDB as an executable.
-
-= Visualizing Tracepoint Data =
-
-== Opening a GDB Trace ==
-
-In the '''Traces''' folder, double-click the GDB trace or right-click it and select '''Open''' from the context menu.
-
-The tracepoint data will be opened in an Events editor, and a C/C++ Postmortem Debugger instance will be launched.
-
-If available in the workspace, the source code corresponding to the first trace record will also be opened in a C/C++ editor.
-
-At this point it is recommended to relocate the Events editor outside of the default editor area, so that it is not hidden by the C/C++ editor.
-
-== Viewing Trace Data ==
-
-In the Events editor, a table is shown with one row for each trace record. The '''Trace Frame''' column shows the sequential trace record number. The '''Tracepoint''' column shows the number assigned by GDB at collection time for this tracepoint. The '''File''' column shows the file name, line number and method where the tracepoint was set. The '''Content''' column shows the data collected at run-time by the tracepoint.
-
-Searching and filtering can be done on any column by entering a regular expression in the column header.
-
-== Navigating the GDB Trace ==
-
-Trace records can be selected in the Events editor using the keyboard or mouse. The C/C++ Postmortem Debugger in the '''Debug''' view will be updated to show the stack trace of the current trace record.
-
-The trace can also be navigated from the '''Trace Control''' view by clicking the '''Next Trace Record''' or '''Previous Trace Record''' buttons. The Events editor and '''Debug''' views will be updated.
-
-= References =
-
-* [http://wiki.eclipse.org/index.php/Linux_Tools_Project/LTTng2/User_Guide LTTng User Guide]
-* [http://wiki.eclipse.org/CDT/User/FAQ#How_can_I_trace_my_application_using_C.2FC.2B.2B_Tracepoints.3F CDT FAQ - How can I trace my application using C/C++ Tracepoints?]
-
-= Updating This Document =
-
-This document is maintained in a collaborative wiki. If you wish to update or modify this document please visit [http://wiki.eclipse.org/index.php/Linux_Tools_Project/GDB_Tracepoint_Analysis/User_Guide http://wiki.eclipse.org/Linux_Tools_Project/GDB_Tracepoint_Analysis/User_Guide]
diff --git a/lttng/org.eclipse.linuxtools.gdbtrace.help/doc/images/GDBTracePerspective.png b/lttng/org.eclipse.linuxtools.gdbtrace.help/doc/images/GDBTracePerspective.png
deleted file mode 100644
index af032e4fc3..0000000000
--- a/lttng/org.eclipse.linuxtools.gdbtrace.help/doc/images/GDBTracePerspective.png
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.gdbtrace.help/doc/images/gdb_icon16.png b/lttng/org.eclipse.linuxtools.gdbtrace.help/doc/images/gdb_icon16.png
deleted file mode 100644
index 89f7666bc4..0000000000
--- a/lttng/org.eclipse.linuxtools.gdbtrace.help/doc/images/gdb_icon16.png
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.gdbtrace.help/doc/images/home.gif b/lttng/org.eclipse.linuxtools.gdbtrace.help/doc/images/home.gif
deleted file mode 100644
index 4472e8ce5b..0000000000
--- a/lttng/org.eclipse.linuxtools.gdbtrace.help/doc/images/home.gif
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.gdbtrace.help/doc/images/next.gif b/lttng/org.eclipse.linuxtools.gdbtrace.help/doc/images/next.gif
deleted file mode 100644
index e2f8c3e1fe..0000000000
--- a/lttng/org.eclipse.linuxtools.gdbtrace.help/doc/images/next.gif
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.gdbtrace.help/doc/images/prev.gif b/lttng/org.eclipse.linuxtools.gdbtrace.help/doc/images/prev.gif
deleted file mode 100644
index 4fb4150103..0000000000
--- a/lttng/org.eclipse.linuxtools.gdbtrace.help/doc/images/prev.gif
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.gdbtrace.help/plugin.properties b/lttng/org.eclipse.linuxtools.gdbtrace.help/plugin.properties
deleted file mode 100644
index 24ba7c1fcf..0000000000
--- a/lttng/org.eclipse.linuxtools.gdbtrace.help/plugin.properties
+++ /dev/null
@@ -1,15 +0,0 @@
-###############################################################################
-# Copyright (c) 2013 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:
-# Ericsson - Initial API and implementation
-###############################################################################
-
-#Properties file for org.eclipse.linuxtools.gdbtrace.help
-Bundle-Vendor = Eclipse Linux Tools
-Bundle-Name = Linux Tools GDB Tracepoint Analysis Help Plug-in \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.gdbtrace.help/plugin.xml b/lttng/org.eclipse.linuxtools.gdbtrace.help/plugin.xml
deleted file mode 100644
index 151a1fa4dc..0000000000
--- a/lttng/org.eclipse.linuxtools.gdbtrace.help/plugin.xml
+++ /dev/null
@@ -1,18 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Copyright (c) 2013 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
--->
-<plugin>
-<!-- This part should be in a documentation plugin -->
-<!-- Configure the help contribution for this plugin -->
- <extension point="org.eclipse.help.toc">
- <toc
- file="doc/User-Guide-toc.xml"
- primary="true" />
- </extension>
-</plugin>
diff --git a/lttng/org.eclipse.linuxtools.gdbtrace.help/pom.xml b/lttng/org.eclipse.linuxtools.gdbtrace.help/pom.xml
deleted file mode 100644
index 9f9b38967e..0000000000
--- a/lttng/org.eclipse.linuxtools.gdbtrace.help/pom.xml
+++ /dev/null
@@ -1,86 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Copyright (c) 2013 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
--->
-<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
- <modelVersion>4.0.0</modelVersion>
-
- <parent>
- <artifactId>linuxtools-lttng-parent</artifactId>
- <groupId>org.eclipse.linuxtools.lttng</groupId>
- <version>3.2.0-SNAPSHOT</version>
- </parent>
-
- <artifactId>org.eclipse.linuxtools.gdbtrace.help</artifactId>
- <version>3.1.0-SNAPSHOT</version>
- <packaging>eclipse-plugin</packaging>
-
- <name>Linux Tools GDB Tracepoint Analysis Help Plug-in</name>
-
- <build>
- <plugins>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-antrun-plugin</artifactId>
- <executions>
- <execution>
- <id>generate-documentation</id>
- <phase>generate-sources</phase>
- <configuration>
- <echo>Generating GDB Tracepoint Analysis Help Files</echo>
- <target>
- <property name="compile_classpath" refid="maven.compile.classpath" />
- <ant target="build" inheritRefs="true" antfile="build.xml" />
- </target>
- </configuration>
- <goals>
- <goal>run</goal>
- </goals>
- </execution>
- <execution>
- <id>clean-documentation</id>
- <phase>clean</phase>
- <configuration>
- <echo>Cleaning up generated GDB Tracepoint Analysis Help Files</echo>
- <target>
- <ant target="clean" antfile="build.xml" />
- </target>
- </configuration>
- <goals>
- <goal>run</goal>
- </goals>
- </execution>
- </executions>
-
- <dependencies>
- <dependency>
- <groupId>org.apache.ant</groupId>
- <artifactId>ant</artifactId>
- <version>1.8.1</version>
- </dependency>
-
- <dependency>
- <groupId>org.apache.ant</groupId>
- <artifactId>ant-launcher</artifactId>
- <version>1.8.1</version>
- </dependency>
-
- <dependency>
- <groupId>org.apache.ant</groupId>
- <artifactId>ant-nodeps</artifactId>
- <version>1.8.1</version>
- </dependency>
-
- </dependencies>
- </plugin>
- </plugins>
- </build>
-
- <groupId>org.eclipse.linuxtools.gdbtrace</groupId>
-</project>
diff --git a/lttng/org.eclipse.linuxtools.gdbtrace.ui.tests/.classpath b/lttng/org.eclipse.linuxtools.gdbtrace.ui.tests/.classpath
deleted file mode 100644
index 098194ca4b..0000000000
--- a/lttng/org.eclipse.linuxtools.gdbtrace.ui.tests/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
- <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.7"/>
- <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
- <classpathentry kind="src" path="src"/>
- <classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/lttng/org.eclipse.linuxtools.gdbtrace.ui.tests/.project b/lttng/org.eclipse.linuxtools.gdbtrace.ui.tests/.project
deleted file mode 100644
index c5c1c59018..0000000000
--- a/lttng/org.eclipse.linuxtools.gdbtrace.ui.tests/.project
+++ /dev/null
@@ -1,34 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>org.eclipse.linuxtools.gdbtrace.ui.tests</name>
- <comment></comment>
- <projects>
- </projects>
- <buildSpec>
- <buildCommand>
- <name>org.eclipse.jdt.core.javabuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.ManifestBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.SchemaBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.api.tools.apiAnalysisBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>org.eclipse.pde.PluginNature</nature>
- <nature>org.eclipse.jdt.core.javanature</nature>
- <nature>org.eclipse.pde.api.tools.apiAnalysisNature</nature>
- </natures>
-</projectDescription>
diff --git a/lttng/org.eclipse.linuxtools.gdbtrace.ui.tests/.settings/org.eclipse.core.resources.prefs b/lttng/org.eclipse.linuxtools.gdbtrace.ui.tests/.settings/org.eclipse.core.resources.prefs
deleted file mode 100644
index 99f26c0203..0000000000
--- a/lttng/org.eclipse.linuxtools.gdbtrace.ui.tests/.settings/org.eclipse.core.resources.prefs
+++ /dev/null
@@ -1,2 +0,0 @@
-eclipse.preferences.version=1
-encoding/<project>=UTF-8
diff --git a/lttng/org.eclipse.linuxtools.gdbtrace.ui.tests/.settings/org.eclipse.core.runtime.prefs b/lttng/org.eclipse.linuxtools.gdbtrace.ui.tests/.settings/org.eclipse.core.runtime.prefs
deleted file mode 100644
index 5a0ad22d2a..0000000000
--- a/lttng/org.eclipse.linuxtools.gdbtrace.ui.tests/.settings/org.eclipse.core.runtime.prefs
+++ /dev/null
@@ -1,2 +0,0 @@
-eclipse.preferences.version=1
-line.separator=\n
diff --git a/lttng/org.eclipse.linuxtools.gdbtrace.ui.tests/.settings/org.eclipse.jdt.core.prefs b/lttng/org.eclipse.linuxtools.gdbtrace.ui.tests/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index f3fc64575b..0000000000
--- a/lttng/org.eclipse.linuxtools.gdbtrace.ui.tests/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,393 +0,0 @@
-eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.annotation.inheritNullAnnotations=enabled
-org.eclipse.jdt.core.compiler.annotation.missingNonNullByDefaultAnnotation=ignore
-org.eclipse.jdt.core.compiler.annotation.nonnull=org.eclipse.jdt.annotation.NonNull
-org.eclipse.jdt.core.compiler.annotation.nonnullbydefault=org.eclipse.jdt.annotation.NonNullByDefault
-org.eclipse.jdt.core.compiler.annotation.nullable=org.eclipse.jdt.annotation.Nullable
-org.eclipse.jdt.core.compiler.annotation.nullanalysis=enabled
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.7
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.doc.comment.support=enabled
-org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=error
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
-org.eclipse.jdt.core.compiler.problem.comparingIdentical=error
-org.eclipse.jdt.core.compiler.problem.deadCode=error
-org.eclipse.jdt.core.compiler.problem.deprecation=error
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=enabled
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled
-org.eclipse.jdt.core.compiler.problem.discouragedReference=error
-org.eclipse.jdt.core.compiler.problem.emptyStatement=error
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.problem.explicitlyClosedAutoCloseable=error
-org.eclipse.jdt.core.compiler.problem.fallthroughCase=error
-org.eclipse.jdt.core.compiler.problem.fatalOptionalError=disabled
-org.eclipse.jdt.core.compiler.problem.fieldHiding=error
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=error
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=error
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=error
-org.eclipse.jdt.core.compiler.problem.includeNullInfoFromAsserts=disabled
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=error
-org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=error
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=error
-org.eclipse.jdt.core.compiler.problem.invalidJavadoc=warning
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTags=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=protected
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=error
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=error
-org.eclipse.jdt.core.compiler.problem.missingDefaultCase=error
-org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=error
-org.eclipse.jdt.core.compiler.problem.missingEnumCaseDespiteDefault=enabled
-org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=error
-org.eclipse.jdt.core.compiler.problem.missingJavadocComments=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=protected
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagDescription=all_standard_tags
-org.eclipse.jdt.core.compiler.problem.missingJavadocTags=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsMethodTypeParameters=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=protected
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=error
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotationForInterfaceMethodImplementation=enabled
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=error
-org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=error
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=error
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=error
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=ignore
-org.eclipse.jdt.core.compiler.problem.nonnullParameterAnnotationDropped=warning
-org.eclipse.jdt.core.compiler.problem.nullAnnotationInferenceConflict=warning
-org.eclipse.jdt.core.compiler.problem.nullReference=error
-org.eclipse.jdt.core.compiler.problem.nullSpecViolation=error
-org.eclipse.jdt.core.compiler.problem.nullUncheckedConversion=warning
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=error
-org.eclipse.jdt.core.compiler.problem.parameterAssignment=error
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=error
-org.eclipse.jdt.core.compiler.problem.potentialNullReference=error
-org.eclipse.jdt.core.compiler.problem.potentiallyUnclosedCloseable=warning
-org.eclipse.jdt.core.compiler.problem.rawTypeReference=error
-org.eclipse.jdt.core.compiler.problem.redundantNullAnnotation=warning
-org.eclipse.jdt.core.compiler.problem.redundantNullCheck=error
-org.eclipse.jdt.core.compiler.problem.redundantSpecificationOfTypeArguments=error
-org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=error
-org.eclipse.jdt.core.compiler.problem.reportMethodCanBePotentiallyStatic=ignore
-org.eclipse.jdt.core.compiler.problem.reportMethodCanBeStatic=error
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=error
-org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=disabled
-org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
-org.eclipse.jdt.core.compiler.problem.syntacticNullAnalysisForFields=enabled
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
-org.eclipse.jdt.core.compiler.problem.typeParameterHiding=error
-org.eclipse.jdt.core.compiler.problem.unavoidableGenericTypeProblems=disabled
-org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=error
-org.eclipse.jdt.core.compiler.problem.unclosedCloseable=error
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
-org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=error
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=error
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=error
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=error
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=disabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=disabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=error
-org.eclipse.jdt.core.compiler.problem.unusedLabel=error
-org.eclipse.jdt.core.compiler.problem.unusedLocal=error
-org.eclipse.jdt.core.compiler.problem.unusedObjectAllocation=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=error
-org.eclipse.jdt.core.compiler.problem.unusedTypeParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedWarningToken=error
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=error
-org.eclipse.jdt.core.compiler.source=1.7
-org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_assignment=0
-org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
-org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
-org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
-org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
-org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0
-org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=80
-org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=0
-org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch=16
-org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_after_package=1
-org.eclipse.jdt.core.formatter.blank_lines_before_field=0
-org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
-org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
-org.eclipse.jdt.core.formatter.blank_lines_before_method=1
-org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
-org.eclipse.jdt.core.formatter.blank_lines_before_package=0
-org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
-org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
-org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
-org.eclipse.jdt.core.formatter.comment.format_block_comments=true
-org.eclipse.jdt.core.formatter.comment.format_header=false
-org.eclipse.jdt.core.formatter.comment.format_html=true
-org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=true
-org.eclipse.jdt.core.formatter.comment.format_line_comments=true
-org.eclipse.jdt.core.formatter.comment.format_source_code=true
-org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true
-org.eclipse.jdt.core.formatter.comment.indent_root_tags=true
-org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
-org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=insert
-org.eclipse.jdt.core.formatter.comment.line_length=80
-org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries=true
-org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries=true
-org.eclipse.jdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments=false
-org.eclipse.jdt.core.formatter.compact_else_if=true
-org.eclipse.jdt.core.formatter.continuation_indentation=2
-org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2
-org.eclipse.jdt.core.formatter.disabling_tag=@formatter\:off
-org.eclipse.jdt.core.formatter.enabling_tag=@formatter\:on
-org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
-org.eclipse.jdt.core.formatter.format_line_comment_starting_on_first_column=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
-org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_empty_lines=false
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=false
-org.eclipse.jdt.core.formatter.indentation.size=4
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_label=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_try=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources=insert
-org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_try=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
-org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.join_lines_in_comments=true
-org.eclipse.jdt.core.formatter.join_wrapped_lines=false
-org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.lineSplit=250
-org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
-org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
-org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true
-org.eclipse.jdt.core.formatter.tabulation.char=space
-org.eclipse.jdt.core.formatter.tabulation.size=4
-org.eclipse.jdt.core.formatter.use_on_off_tags=false
-org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
-org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
-org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true
-org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true
diff --git a/lttng/org.eclipse.linuxtools.gdbtrace.ui.tests/.settings/org.eclipse.jdt.ui.prefs b/lttng/org.eclipse.linuxtools.gdbtrace.ui.tests/.settings/org.eclipse.jdt.ui.prefs
deleted file mode 100644
index 4fd0c7006a..0000000000
--- a/lttng/org.eclipse.linuxtools.gdbtrace.ui.tests/.settings/org.eclipse.jdt.ui.prefs
+++ /dev/null
@@ -1,56 +0,0 @@
-eclipse.preferences.version=1
-editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
-formatter_profile=_tmf-style
-formatter_settings_version=12
-sp_cleanup.add_default_serial_version_id=true
-sp_cleanup.add_generated_serial_version_id=false
-sp_cleanup.add_missing_annotations=false
-sp_cleanup.add_missing_deprecated_annotations=true
-sp_cleanup.add_missing_methods=false
-sp_cleanup.add_missing_nls_tags=false
-sp_cleanup.add_missing_override_annotations=true
-sp_cleanup.add_missing_override_annotations_interface_methods=true
-sp_cleanup.add_serial_version_id=false
-sp_cleanup.always_use_blocks=true
-sp_cleanup.always_use_parentheses_in_expressions=false
-sp_cleanup.always_use_this_for_non_static_field_access=false
-sp_cleanup.always_use_this_for_non_static_method_access=false
-sp_cleanup.convert_to_enhanced_for_loop=false
-sp_cleanup.correct_indentation=false
-sp_cleanup.format_source_code=false
-sp_cleanup.format_source_code_changes_only=false
-sp_cleanup.make_local_variable_final=false
-sp_cleanup.make_parameters_final=false
-sp_cleanup.make_private_fields_final=true
-sp_cleanup.make_type_abstract_if_missing_method=false
-sp_cleanup.make_variable_declarations_final=false
-sp_cleanup.never_use_blocks=false
-sp_cleanup.never_use_parentheses_in_expressions=true
-sp_cleanup.on_save_use_additional_actions=true
-sp_cleanup.organize_imports=false
-sp_cleanup.qualify_static_field_accesses_with_declaring_class=false
-sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_with_declaring_class=false
-sp_cleanup.qualify_static_method_accesses_with_declaring_class=false
-sp_cleanup.remove_private_constructors=true
-sp_cleanup.remove_trailing_whitespaces=true
-sp_cleanup.remove_trailing_whitespaces_all=true
-sp_cleanup.remove_trailing_whitespaces_ignore_empty=false
-sp_cleanup.remove_unnecessary_casts=false
-sp_cleanup.remove_unnecessary_nls_tags=false
-sp_cleanup.remove_unused_imports=false
-sp_cleanup.remove_unused_local_variables=false
-sp_cleanup.remove_unused_private_fields=true
-sp_cleanup.remove_unused_private_members=false
-sp_cleanup.remove_unused_private_methods=true
-sp_cleanup.remove_unused_private_types=true
-sp_cleanup.sort_members=false
-sp_cleanup.sort_members_all=false
-sp_cleanup.use_blocks=true
-sp_cleanup.use_blocks_only_for_return_and_throw=false
-sp_cleanup.use_parentheses_in_expressions=false
-sp_cleanup.use_this_for_non_static_field_access=false
-sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=true
-sp_cleanup.use_this_for_non_static_method_access=false
-sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true
diff --git a/lttng/org.eclipse.linuxtools.gdbtrace.ui.tests/.settings/org.eclipse.pde.api.tools.prefs b/lttng/org.eclipse.linuxtools.gdbtrace.ui.tests/.settings/org.eclipse.pde.api.tools.prefs
deleted file mode 100644
index acc3abd47c..0000000000
--- a/lttng/org.eclipse.linuxtools.gdbtrace.ui.tests/.settings/org.eclipse.pde.api.tools.prefs
+++ /dev/null
@@ -1,97 +0,0 @@
-ANNOTATION_ELEMENT_TYPE_ADDED_METHOD_WITHOUT_DEFAULT_VALUE=Error
-ANNOTATION_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
-ANNOTATION_ELEMENT_TYPE_REMOVED_FIELD=Error
-ANNOTATION_ELEMENT_TYPE_REMOVED_METHOD=Error
-ANNOTATION_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
-API_COMPONENT_ELEMENT_TYPE_REMOVED_API_TYPE=Error
-API_COMPONENT_ELEMENT_TYPE_REMOVED_REEXPORTED_API_TYPE=Error
-API_COMPONENT_ELEMENT_TYPE_REMOVED_REEXPORTED_TYPE=Error
-API_COMPONENT_ELEMENT_TYPE_REMOVED_TYPE=Error
-API_USE_SCAN_FIELD_SEVERITY=Error
-API_USE_SCAN_METHOD_SEVERITY=Error
-API_USE_SCAN_TYPE_SEVERITY=Error
-CLASS_ELEMENT_TYPE_ADDED_METHOD=Error
-CLASS_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
-CLASS_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
-CLASS_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error
-CLASS_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
-CLASS_ELEMENT_TYPE_CHANGED_NON_ABSTRACT_TO_ABSTRACT=Error
-CLASS_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error
-CLASS_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
-CLASS_ELEMENT_TYPE_REMOVED_CONSTRUCTOR=Error
-CLASS_ELEMENT_TYPE_REMOVED_FIELD=Error
-CLASS_ELEMENT_TYPE_REMOVED_METHOD=Error
-CLASS_ELEMENT_TYPE_REMOVED_SUPERCLASS=Error
-CLASS_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
-CLASS_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
-CONSTRUCTOR_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
-CONSTRUCTOR_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
-CONSTRUCTOR_ELEMENT_TYPE_CHANGED_VARARGS_TO_ARRAY=Error
-CONSTRUCTOR_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
-ENUM_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error
-ENUM_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
-ENUM_ELEMENT_TYPE_REMOVED_ENUM_CONSTANT=Error
-ENUM_ELEMENT_TYPE_REMOVED_FIELD=Error
-ENUM_ELEMENT_TYPE_REMOVED_METHOD=Error
-ENUM_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
-FIELD_ELEMENT_TYPE_ADDED_VALUE=Error
-FIELD_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
-FIELD_ELEMENT_TYPE_CHANGED_FINAL_TO_NON_FINAL_STATIC_CONSTANT=Error
-FIELD_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error
-FIELD_ELEMENT_TYPE_CHANGED_NON_STATIC_TO_STATIC=Error
-FIELD_ELEMENT_TYPE_CHANGED_STATIC_TO_NON_STATIC=Error
-FIELD_ELEMENT_TYPE_CHANGED_TYPE=Error
-FIELD_ELEMENT_TYPE_CHANGED_VALUE=Error
-FIELD_ELEMENT_TYPE_REMOVED_TYPE_ARGUMENT=Error
-FIELD_ELEMENT_TYPE_REMOVED_VALUE=Error
-ILLEGAL_EXTEND=Warning
-ILLEGAL_IMPLEMENT=Warning
-ILLEGAL_INSTANTIATE=Warning
-ILLEGAL_OVERRIDE=Warning
-ILLEGAL_REFERENCE=Warning
-INTERFACE_ELEMENT_TYPE_ADDED_FIELD=Error
-INTERFACE_ELEMENT_TYPE_ADDED_METHOD=Error
-INTERFACE_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
-INTERFACE_ELEMENT_TYPE_ADDED_SUPER_INTERFACE_WITH_METHODS=Error
-INTERFACE_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
-INTERFACE_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error
-INTERFACE_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
-INTERFACE_ELEMENT_TYPE_REMOVED_FIELD=Error
-INTERFACE_ELEMENT_TYPE_REMOVED_METHOD=Error
-INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
-INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
-INVALID_JAVADOC_TAG=Warning
-INVALID_REFERENCE_IN_SYSTEM_LIBRARIES=Warning
-LEAK_EXTEND=Warning
-LEAK_FIELD_DECL=Warning
-LEAK_IMPLEMENT=Warning
-LEAK_METHOD_PARAM=Warning
-LEAK_METHOD_RETURN_TYPE=Warning
-METHOD_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
-METHOD_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
-METHOD_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
-METHOD_ELEMENT_TYPE_CHANGED_NON_ABSTRACT_TO_ABSTRACT=Error
-METHOD_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error
-METHOD_ELEMENT_TYPE_CHANGED_NON_STATIC_TO_STATIC=Error
-METHOD_ELEMENT_TYPE_CHANGED_STATIC_TO_NON_STATIC=Error
-METHOD_ELEMENT_TYPE_CHANGED_VARARGS_TO_ARRAY=Error
-METHOD_ELEMENT_TYPE_REMOVED_ANNOTATION_DEFAULT_VALUE=Error
-METHOD_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
-MISSING_EE_DESCRIPTIONS=Ignore
-TYPE_PARAMETER_ELEMENT_TYPE_ADDED_CLASS_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_ADDED_INTERFACE_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_CHANGED_CLASS_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_CHANGED_INTERFACE_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_CLASS_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error
-UNUSED_PROBLEM_FILTERS=Warning
-automatically_removed_unused_problem_filters=false
-eclipse.preferences.version=1
-incompatible_api_component_version=Error
-incompatible_api_component_version_include_major_without_breaking_change=Disabled
-incompatible_api_component_version_include_minor_without_api_change=Disabled
-invalid_since_tag_version=Error
-malformed_since_tag=Error
-missing_since_tag=Error
-report_api_breakage_when_major_version_incremented=Disabled
-report_resolution_errors_api_component=Warning
diff --git a/lttng/org.eclipse.linuxtools.gdbtrace.ui.tests/.settings/org.eclipse.pde.prefs b/lttng/org.eclipse.linuxtools.gdbtrace.ui.tests/.settings/org.eclipse.pde.prefs
deleted file mode 100644
index 62cfa90dee..0000000000
--- a/lttng/org.eclipse.linuxtools.gdbtrace.ui.tests/.settings/org.eclipse.pde.prefs
+++ /dev/null
@@ -1,32 +0,0 @@
-compilers.f.unresolved-features=1
-compilers.f.unresolved-plugins=1
-compilers.incompatible-environment=1
-compilers.p.build=1
-compilers.p.build.bin.includes=1
-compilers.p.build.encodings=2
-compilers.p.build.java.compiler=2
-compilers.p.build.java.compliance=1
-compilers.p.build.missing.output=2
-compilers.p.build.output.library=1
-compilers.p.build.source.library=1
-compilers.p.build.src.includes=1
-compilers.p.deprecated=1
-compilers.p.discouraged-class=1
-compilers.p.internal=1
-compilers.p.missing-packages=2
-compilers.p.missing-version-export-package=2
-compilers.p.missing-version-import-package=2
-compilers.p.missing-version-require-bundle=2
-compilers.p.no-required-att=0
-compilers.p.not-externalized-att=2
-compilers.p.unknown-attribute=1
-compilers.p.unknown-class=1
-compilers.p.unknown-element=1
-compilers.p.unknown-identifier=1
-compilers.p.unknown-resource=1
-compilers.p.unresolved-ex-points=0
-compilers.p.unresolved-import=0
-compilers.s.create-docs=false
-compilers.s.doc-folder=doc
-compilers.s.open-tags=1
-eclipse.preferences.version=1
diff --git a/lttng/org.eclipse.linuxtools.gdbtrace.ui.tests/META-INF/MANIFEST.MF b/lttng/org.eclipse.linuxtools.gdbtrace.ui.tests/META-INF/MANIFEST.MF
deleted file mode 100644
index 0039346872..0000000000
--- a/lttng/org.eclipse.linuxtools.gdbtrace.ui.tests/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,14 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %Bundle-Name
-Bundle-Vendor: %Bundle-Vendor
-Bundle-Version: 3.1.0.qualifier
-Bundle-Localization: plugin
-Bundle-SymbolicName: org.eclipse.linuxtools.gdbtrace.ui.tests;singleton:=true
-Bundle-ActivationPolicy: lazy
-Bundle-RequiredExecutionEnvironment: JavaSE-1.7
-Require-Bundle: org.junit;bundle-version="4.0.0",
- org.eclipse.core.runtime,
- org.eclipse.ui,
- org.eclipse.linuxtools.gdbtrace.ui;bundle-version="3.1.0"
-Export-Package: org.eclipse.linuxtools.gdbtrace.ui.tests
diff --git a/lttng/org.eclipse.linuxtools.gdbtrace.ui.tests/about.html b/lttng/org.eclipse.linuxtools.gdbtrace.ui.tests/about.html
deleted file mode 100644
index c258ef55d8..0000000000
--- a/lttng/org.eclipse.linuxtools.gdbtrace.ui.tests/about.html
+++ /dev/null
@@ -1,28 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
-<title>About</title>
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
-
-<p>June 5, 2006</p>
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;). Unless otherwise
-indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is available
-at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is
-being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content. Check the Redistributor's license that was
-provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at <a href="http://www.eclipse.org/">http://www.eclipse.org</a>.</p>
-
-</body>
-</html> \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.gdbtrace.ui.tests/build.properties b/lttng/org.eclipse.linuxtools.gdbtrace.ui.tests/build.properties
deleted file mode 100644
index f7a0b9854e..0000000000
--- a/lttng/org.eclipse.linuxtools.gdbtrace.ui.tests/build.properties
+++ /dev/null
@@ -1,18 +0,0 @@
-###############################################################################
-# Copyright (c) 2013 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:
-# Ericsson - Initial API and implementation
-###############################################################################
-
-source.. = src/
-output.. = bin/
-bin.includes = META-INF/,\
- .,\
- plugin.properties
-src.includes = about.html
diff --git a/lttng/org.eclipse.linuxtools.gdbtrace.ui.tests/plugin.properties b/lttng/org.eclipse.linuxtools.gdbtrace.ui.tests/plugin.properties
deleted file mode 100644
index 0af0d23b85..0000000000
--- a/lttng/org.eclipse.linuxtools.gdbtrace.ui.tests/plugin.properties
+++ /dev/null
@@ -1,15 +0,0 @@
-###############################################################################
-# Copyright (c) 2013 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:
-# Ericsson - Initial API and implementation
-###############################################################################
-
-#Properties file for org.eclipse.linuxtools.gdbtrace.ui.tests
-Bundle-Vendor = Eclipse Linux Tools
-Bundle-Name = Linux Tools GDB Tracepoint Analysis UI Tests Plug-in
diff --git a/lttng/org.eclipse.linuxtools.gdbtrace.ui.tests/pom.xml b/lttng/org.eclipse.linuxtools.gdbtrace.ui.tests/pom.xml
deleted file mode 100644
index 01fc193bca..0000000000
--- a/lttng/org.eclipse.linuxtools.gdbtrace.ui.tests/pom.xml
+++ /dev/null
@@ -1,44 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Copyright (c) 2013 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
--->
-<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
- <modelVersion>4.0.0</modelVersion>
-
- <parent>
- <artifactId>linuxtools-lttng-parent</artifactId>
- <groupId>org.eclipse.linuxtools.lttng</groupId>
- <version>3.2.0-SNAPSHOT</version>
- </parent>
-
- <artifactId>org.eclipse.linuxtools.gdbtrace.ui.tests</artifactId>
- <groupId>org.eclipse.linuxtools.gdbtrace</groupId>
- <version>3.1.0-SNAPSHOT</version>
- <packaging>eclipse-test-plugin</packaging>
-
- <name>Linux Tools GDB Tracepoint Analysis UI Tests Plug-in</name>
-
- <build>
- <plugins>
- <plugin>
- <groupId>org.eclipse.tycho</groupId>
- <artifactId>tycho-surefire-plugin</artifactId>
- <version>${tycho-version}</version>
- <configuration>
- <testSuite>org.eclipse.linuxtools.gdbtrace.ui.tests</testSuite>
- <testClass>org.eclipse.linuxtools.gdbtrace.ui.tests.AllGdbTraceUITests</testClass>
- <useUIHarness>false</useUIHarness>
- <useUIThread>false</useUIThread>
- <product>org.eclipse.platform.ide</product>
- </configuration>
- </plugin>
- </plugins>
- </build>
-
-</project>
diff --git a/lttng/org.eclipse.linuxtools.gdbtrace.ui.tests/src/org/eclipse/linuxtools/gdbtrace/ui/tests/AllGdbTraceUITests.java b/lttng/org.eclipse.linuxtools.gdbtrace.ui.tests/src/org/eclipse/linuxtools/gdbtrace/ui/tests/AllGdbTraceUITests.java
deleted file mode 100644
index 119111a035..0000000000
--- a/lttng/org.eclipse.linuxtools.gdbtrace.ui.tests/src/org/eclipse/linuxtools/gdbtrace/ui/tests/AllGdbTraceUITests.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 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:
- * Patrick Tasse - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.gdbtrace.ui.tests;
-
-import org.junit.runner.RunWith;
-import org.junit.runners.Suite;
-
-/**
- * Master test suite for GDB Tracepoint Analysis UI.
- */
-@RunWith(Suite.class)
-@Suite.SuiteClasses({
- GdbTraceUIPluginTest.class
-})
-
-public class AllGdbTraceUITests {
-
-}
diff --git a/lttng/org.eclipse.linuxtools.gdbtrace.ui.tests/src/org/eclipse/linuxtools/gdbtrace/ui/tests/GdbTraceUIPluginTest.java b/lttng/org.eclipse.linuxtools.gdbtrace.ui.tests/src/org/eclipse/linuxtools/gdbtrace/ui/tests/GdbTraceUIPluginTest.java
deleted file mode 100644
index b5cfbb787b..0000000000
--- a/lttng/org.eclipse.linuxtools.gdbtrace.ui.tests/src/org/eclipse/linuxtools/gdbtrace/ui/tests/GdbTraceUIPluginTest.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 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:
- * Patrick Tasse - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.gdbtrace.ui.tests;
-
-import static org.junit.Assert.assertEquals;
-
-import org.eclipse.core.runtime.Plugin;
-import org.eclipse.linuxtools.internal.gdbtrace.ui.GdbTraceUIPlugin;
-import org.junit.Test;
-
-@SuppressWarnings("javadoc")
-public class GdbTraceUIPluginTest {
-
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
-
- // Plug-in instantiation
- private final static Plugin fPlugin = GdbTraceUIPlugin.getDefault();
-
- // ------------------------------------------------------------------------
- // Test cases
- // ------------------------------------------------------------------------
-
- @Test
- public void testPluginId() {
- assertEquals("Plugin ID", "org.eclipse.linuxtools.gdbtrace.ui", GdbTraceUIPlugin.PLUGIN_ID);
- }
-
- @Test
- public void testGetDefault() {
- Plugin plugin = GdbTraceUIPlugin.getDefault();
- assertEquals("getDefault()", plugin, fPlugin);
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.gdbtrace.ui/.classpath b/lttng/org.eclipse.linuxtools.gdbtrace.ui/.classpath
deleted file mode 100644
index 098194ca4b..0000000000
--- a/lttng/org.eclipse.linuxtools.gdbtrace.ui/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
- <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.7"/>
- <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
- <classpathentry kind="src" path="src"/>
- <classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/lttng/org.eclipse.linuxtools.gdbtrace.ui/.project b/lttng/org.eclipse.linuxtools.gdbtrace.ui/.project
deleted file mode 100644
index 27c8c19eb2..0000000000
--- a/lttng/org.eclipse.linuxtools.gdbtrace.ui/.project
+++ /dev/null
@@ -1,34 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>org.eclipse.linuxtools.gdbtrace.ui</name>
- <comment></comment>
- <projects>
- </projects>
- <buildSpec>
- <buildCommand>
- <name>org.eclipse.jdt.core.javabuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.ManifestBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.SchemaBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.api.tools.apiAnalysisBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>org.eclipse.pde.PluginNature</nature>
- <nature>org.eclipse.jdt.core.javanature</nature>
- <nature>org.eclipse.pde.api.tools.apiAnalysisNature</nature>
- </natures>
-</projectDescription>
diff --git a/lttng/org.eclipse.linuxtools.gdbtrace.ui/.settings/org.eclipse.core.resources.prefs b/lttng/org.eclipse.linuxtools.gdbtrace.ui/.settings/org.eclipse.core.resources.prefs
deleted file mode 100644
index 99f26c0203..0000000000
--- a/lttng/org.eclipse.linuxtools.gdbtrace.ui/.settings/org.eclipse.core.resources.prefs
+++ /dev/null
@@ -1,2 +0,0 @@
-eclipse.preferences.version=1
-encoding/<project>=UTF-8
diff --git a/lttng/org.eclipse.linuxtools.gdbtrace.ui/.settings/org.eclipse.core.runtime.prefs b/lttng/org.eclipse.linuxtools.gdbtrace.ui/.settings/org.eclipse.core.runtime.prefs
deleted file mode 100644
index 5a0ad22d2a..0000000000
--- a/lttng/org.eclipse.linuxtools.gdbtrace.ui/.settings/org.eclipse.core.runtime.prefs
+++ /dev/null
@@ -1,2 +0,0 @@
-eclipse.preferences.version=1
-line.separator=\n
diff --git a/lttng/org.eclipse.linuxtools.gdbtrace.ui/.settings/org.eclipse.jdt.core.prefs b/lttng/org.eclipse.linuxtools.gdbtrace.ui/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index 9f3662cd78..0000000000
--- a/lttng/org.eclipse.linuxtools.gdbtrace.ui/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,394 +0,0 @@
-eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.annotation.inheritNullAnnotations=enabled
-org.eclipse.jdt.core.compiler.annotation.missingNonNullByDefaultAnnotation=ignore
-org.eclipse.jdt.core.compiler.annotation.nonnull=org.eclipse.jdt.annotation.NonNull
-org.eclipse.jdt.core.compiler.annotation.nonnullbydefault=org.eclipse.jdt.annotation.NonNullByDefault
-org.eclipse.jdt.core.compiler.annotation.nullable=org.eclipse.jdt.annotation.Nullable
-org.eclipse.jdt.core.compiler.annotation.nullanalysis=enabled
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.7
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.doc.comment.support=enabled
-org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=error
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
-org.eclipse.jdt.core.compiler.problem.comparingIdentical=error
-org.eclipse.jdt.core.compiler.problem.deadCode=error
-org.eclipse.jdt.core.compiler.problem.deprecation=error
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled
-org.eclipse.jdt.core.compiler.problem.discouragedReference=warning
-org.eclipse.jdt.core.compiler.problem.emptyStatement=error
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.problem.explicitlyClosedAutoCloseable=error
-org.eclipse.jdt.core.compiler.problem.fallthroughCase=error
-org.eclipse.jdt.core.compiler.problem.fatalOptionalError=disabled
-org.eclipse.jdt.core.compiler.problem.fieldHiding=error
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=error
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=error
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=error
-org.eclipse.jdt.core.compiler.problem.includeNullInfoFromAsserts=disabled
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=error
-org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=error
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=error
-org.eclipse.jdt.core.compiler.problem.invalidJavadoc=warning
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTags=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=protected
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=error
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=error
-org.eclipse.jdt.core.compiler.problem.missingDefaultCase=error
-org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=error
-org.eclipse.jdt.core.compiler.problem.missingEnumCaseDespiteDefault=enabled
-org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=error
-org.eclipse.jdt.core.compiler.problem.missingJavadocComments=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=protected
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagDescription=all_standard_tags
-org.eclipse.jdt.core.compiler.problem.missingJavadocTags=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsMethodTypeParameters=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=protected
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=error
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotationForInterfaceMethodImplementation=enabled
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=error
-org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=error
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=error
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=error
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=warning
-org.eclipse.jdt.core.compiler.problem.nonnullParameterAnnotationDropped=warning
-org.eclipse.jdt.core.compiler.problem.nullAnnotationInferenceConflict=warning
-org.eclipse.jdt.core.compiler.problem.nullReference=error
-org.eclipse.jdt.core.compiler.problem.nullSpecViolation=error
-org.eclipse.jdt.core.compiler.problem.nullUncheckedConversion=warning
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=error
-org.eclipse.jdt.core.compiler.problem.parameterAssignment=error
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=error
-org.eclipse.jdt.core.compiler.problem.potentialNullReference=error
-org.eclipse.jdt.core.compiler.problem.potentiallyUnclosedCloseable=warning
-org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning
-org.eclipse.jdt.core.compiler.problem.redundantNullAnnotation=warning
-org.eclipse.jdt.core.compiler.problem.redundantNullCheck=error
-org.eclipse.jdt.core.compiler.problem.redundantSpecificationOfTypeArguments=error
-org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=error
-org.eclipse.jdt.core.compiler.problem.reportMethodCanBePotentiallyStatic=ignore
-org.eclipse.jdt.core.compiler.problem.reportMethodCanBeStatic=error
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=error
-org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=disabled
-org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
-org.eclipse.jdt.core.compiler.problem.syntacticNullAnalysisForFields=enabled
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
-org.eclipse.jdt.core.compiler.problem.typeParameterHiding=error
-org.eclipse.jdt.core.compiler.problem.unavoidableGenericTypeProblems=disabled
-org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
-org.eclipse.jdt.core.compiler.problem.unclosedCloseable=error
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
-org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=error
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=error
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=error
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=warning
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=disabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=disabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=error
-org.eclipse.jdt.core.compiler.problem.unusedLabel=error
-org.eclipse.jdt.core.compiler.problem.unusedLocal=error
-org.eclipse.jdt.core.compiler.problem.unusedObjectAllocation=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=error
-org.eclipse.jdt.core.compiler.problem.unusedTypeParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedWarningToken=error
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=error
-org.eclipse.jdt.core.compiler.source=1.7
-org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_assignment=0
-org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
-org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
-org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
-org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
-org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0
-org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=80
-org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=0
-org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch=16
-org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_after_package=1
-org.eclipse.jdt.core.formatter.blank_lines_before_field=0
-org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
-org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
-org.eclipse.jdt.core.formatter.blank_lines_before_method=1
-org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
-org.eclipse.jdt.core.formatter.blank_lines_before_package=0
-org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
-org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
-org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
-org.eclipse.jdt.core.formatter.comment.format_block_comments=true
-org.eclipse.jdt.core.formatter.comment.format_header=false
-org.eclipse.jdt.core.formatter.comment.format_html=true
-org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=true
-org.eclipse.jdt.core.formatter.comment.format_line_comments=true
-org.eclipse.jdt.core.formatter.comment.format_source_code=true
-org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true
-org.eclipse.jdt.core.formatter.comment.indent_root_tags=true
-org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
-org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=insert
-org.eclipse.jdt.core.formatter.comment.line_length=80
-org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries=true
-org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries=true
-org.eclipse.jdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments=false
-org.eclipse.jdt.core.formatter.compact_else_if=true
-org.eclipse.jdt.core.formatter.continuation_indentation=2
-org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2
-org.eclipse.jdt.core.formatter.disabling_tag=@formatter\:off
-org.eclipse.jdt.core.formatter.enabling_tag=@formatter\:on
-org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
-org.eclipse.jdt.core.formatter.format_line_comment_starting_on_first_column=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
-org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_empty_lines=false
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=false
-org.eclipse.jdt.core.formatter.indentation.size=4
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_label=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_try=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources=insert
-org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_try=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
-org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.join_lines_in_comments=true
-org.eclipse.jdt.core.formatter.join_wrapped_lines=false
-org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.lineSplit=250
-org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
-org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
-org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true
-org.eclipse.jdt.core.formatter.tabulation.char=space
-org.eclipse.jdt.core.formatter.tabulation.size=4
-org.eclipse.jdt.core.formatter.use_on_off_tags=false
-org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
-org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
-org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true
-org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true
diff --git a/lttng/org.eclipse.linuxtools.gdbtrace.ui/.settings/org.eclipse.jdt.ui.prefs b/lttng/org.eclipse.linuxtools.gdbtrace.ui/.settings/org.eclipse.jdt.ui.prefs
deleted file mode 100644
index 4fd0c7006a..0000000000
--- a/lttng/org.eclipse.linuxtools.gdbtrace.ui/.settings/org.eclipse.jdt.ui.prefs
+++ /dev/null
@@ -1,56 +0,0 @@
-eclipse.preferences.version=1
-editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
-formatter_profile=_tmf-style
-formatter_settings_version=12
-sp_cleanup.add_default_serial_version_id=true
-sp_cleanup.add_generated_serial_version_id=false
-sp_cleanup.add_missing_annotations=false
-sp_cleanup.add_missing_deprecated_annotations=true
-sp_cleanup.add_missing_methods=false
-sp_cleanup.add_missing_nls_tags=false
-sp_cleanup.add_missing_override_annotations=true
-sp_cleanup.add_missing_override_annotations_interface_methods=true
-sp_cleanup.add_serial_version_id=false
-sp_cleanup.always_use_blocks=true
-sp_cleanup.always_use_parentheses_in_expressions=false
-sp_cleanup.always_use_this_for_non_static_field_access=false
-sp_cleanup.always_use_this_for_non_static_method_access=false
-sp_cleanup.convert_to_enhanced_for_loop=false
-sp_cleanup.correct_indentation=false
-sp_cleanup.format_source_code=false
-sp_cleanup.format_source_code_changes_only=false
-sp_cleanup.make_local_variable_final=false
-sp_cleanup.make_parameters_final=false
-sp_cleanup.make_private_fields_final=true
-sp_cleanup.make_type_abstract_if_missing_method=false
-sp_cleanup.make_variable_declarations_final=false
-sp_cleanup.never_use_blocks=false
-sp_cleanup.never_use_parentheses_in_expressions=true
-sp_cleanup.on_save_use_additional_actions=true
-sp_cleanup.organize_imports=false
-sp_cleanup.qualify_static_field_accesses_with_declaring_class=false
-sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_with_declaring_class=false
-sp_cleanup.qualify_static_method_accesses_with_declaring_class=false
-sp_cleanup.remove_private_constructors=true
-sp_cleanup.remove_trailing_whitespaces=true
-sp_cleanup.remove_trailing_whitespaces_all=true
-sp_cleanup.remove_trailing_whitespaces_ignore_empty=false
-sp_cleanup.remove_unnecessary_casts=false
-sp_cleanup.remove_unnecessary_nls_tags=false
-sp_cleanup.remove_unused_imports=false
-sp_cleanup.remove_unused_local_variables=false
-sp_cleanup.remove_unused_private_fields=true
-sp_cleanup.remove_unused_private_members=false
-sp_cleanup.remove_unused_private_methods=true
-sp_cleanup.remove_unused_private_types=true
-sp_cleanup.sort_members=false
-sp_cleanup.sort_members_all=false
-sp_cleanup.use_blocks=true
-sp_cleanup.use_blocks_only_for_return_and_throw=false
-sp_cleanup.use_parentheses_in_expressions=false
-sp_cleanup.use_this_for_non_static_field_access=false
-sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=true
-sp_cleanup.use_this_for_non_static_method_access=false
-sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true
diff --git a/lttng/org.eclipse.linuxtools.gdbtrace.ui/.settings/org.eclipse.pde.api.tools.prefs b/lttng/org.eclipse.linuxtools.gdbtrace.ui/.settings/org.eclipse.pde.api.tools.prefs
deleted file mode 100644
index acc3abd47c..0000000000
--- a/lttng/org.eclipse.linuxtools.gdbtrace.ui/.settings/org.eclipse.pde.api.tools.prefs
+++ /dev/null
@@ -1,97 +0,0 @@
-ANNOTATION_ELEMENT_TYPE_ADDED_METHOD_WITHOUT_DEFAULT_VALUE=Error
-ANNOTATION_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
-ANNOTATION_ELEMENT_TYPE_REMOVED_FIELD=Error
-ANNOTATION_ELEMENT_TYPE_REMOVED_METHOD=Error
-ANNOTATION_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
-API_COMPONENT_ELEMENT_TYPE_REMOVED_API_TYPE=Error
-API_COMPONENT_ELEMENT_TYPE_REMOVED_REEXPORTED_API_TYPE=Error
-API_COMPONENT_ELEMENT_TYPE_REMOVED_REEXPORTED_TYPE=Error
-API_COMPONENT_ELEMENT_TYPE_REMOVED_TYPE=Error
-API_USE_SCAN_FIELD_SEVERITY=Error
-API_USE_SCAN_METHOD_SEVERITY=Error
-API_USE_SCAN_TYPE_SEVERITY=Error
-CLASS_ELEMENT_TYPE_ADDED_METHOD=Error
-CLASS_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
-CLASS_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
-CLASS_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error
-CLASS_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
-CLASS_ELEMENT_TYPE_CHANGED_NON_ABSTRACT_TO_ABSTRACT=Error
-CLASS_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error
-CLASS_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
-CLASS_ELEMENT_TYPE_REMOVED_CONSTRUCTOR=Error
-CLASS_ELEMENT_TYPE_REMOVED_FIELD=Error
-CLASS_ELEMENT_TYPE_REMOVED_METHOD=Error
-CLASS_ELEMENT_TYPE_REMOVED_SUPERCLASS=Error
-CLASS_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
-CLASS_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
-CONSTRUCTOR_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
-CONSTRUCTOR_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
-CONSTRUCTOR_ELEMENT_TYPE_CHANGED_VARARGS_TO_ARRAY=Error
-CONSTRUCTOR_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
-ENUM_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error
-ENUM_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
-ENUM_ELEMENT_TYPE_REMOVED_ENUM_CONSTANT=Error
-ENUM_ELEMENT_TYPE_REMOVED_FIELD=Error
-ENUM_ELEMENT_TYPE_REMOVED_METHOD=Error
-ENUM_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
-FIELD_ELEMENT_TYPE_ADDED_VALUE=Error
-FIELD_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
-FIELD_ELEMENT_TYPE_CHANGED_FINAL_TO_NON_FINAL_STATIC_CONSTANT=Error
-FIELD_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error
-FIELD_ELEMENT_TYPE_CHANGED_NON_STATIC_TO_STATIC=Error
-FIELD_ELEMENT_TYPE_CHANGED_STATIC_TO_NON_STATIC=Error
-FIELD_ELEMENT_TYPE_CHANGED_TYPE=Error
-FIELD_ELEMENT_TYPE_CHANGED_VALUE=Error
-FIELD_ELEMENT_TYPE_REMOVED_TYPE_ARGUMENT=Error
-FIELD_ELEMENT_TYPE_REMOVED_VALUE=Error
-ILLEGAL_EXTEND=Warning
-ILLEGAL_IMPLEMENT=Warning
-ILLEGAL_INSTANTIATE=Warning
-ILLEGAL_OVERRIDE=Warning
-ILLEGAL_REFERENCE=Warning
-INTERFACE_ELEMENT_TYPE_ADDED_FIELD=Error
-INTERFACE_ELEMENT_TYPE_ADDED_METHOD=Error
-INTERFACE_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
-INTERFACE_ELEMENT_TYPE_ADDED_SUPER_INTERFACE_WITH_METHODS=Error
-INTERFACE_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
-INTERFACE_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error
-INTERFACE_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
-INTERFACE_ELEMENT_TYPE_REMOVED_FIELD=Error
-INTERFACE_ELEMENT_TYPE_REMOVED_METHOD=Error
-INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
-INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
-INVALID_JAVADOC_TAG=Warning
-INVALID_REFERENCE_IN_SYSTEM_LIBRARIES=Warning
-LEAK_EXTEND=Warning
-LEAK_FIELD_DECL=Warning
-LEAK_IMPLEMENT=Warning
-LEAK_METHOD_PARAM=Warning
-LEAK_METHOD_RETURN_TYPE=Warning
-METHOD_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
-METHOD_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
-METHOD_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
-METHOD_ELEMENT_TYPE_CHANGED_NON_ABSTRACT_TO_ABSTRACT=Error
-METHOD_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error
-METHOD_ELEMENT_TYPE_CHANGED_NON_STATIC_TO_STATIC=Error
-METHOD_ELEMENT_TYPE_CHANGED_STATIC_TO_NON_STATIC=Error
-METHOD_ELEMENT_TYPE_CHANGED_VARARGS_TO_ARRAY=Error
-METHOD_ELEMENT_TYPE_REMOVED_ANNOTATION_DEFAULT_VALUE=Error
-METHOD_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
-MISSING_EE_DESCRIPTIONS=Ignore
-TYPE_PARAMETER_ELEMENT_TYPE_ADDED_CLASS_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_ADDED_INTERFACE_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_CHANGED_CLASS_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_CHANGED_INTERFACE_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_CLASS_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error
-UNUSED_PROBLEM_FILTERS=Warning
-automatically_removed_unused_problem_filters=false
-eclipse.preferences.version=1
-incompatible_api_component_version=Error
-incompatible_api_component_version_include_major_without_breaking_change=Disabled
-incompatible_api_component_version_include_minor_without_api_change=Disabled
-invalid_since_tag_version=Error
-malformed_since_tag=Error
-missing_since_tag=Error
-report_api_breakage_when_major_version_incremented=Disabled
-report_resolution_errors_api_component=Warning
diff --git a/lttng/org.eclipse.linuxtools.gdbtrace.ui/.settings/org.eclipse.pde.prefs b/lttng/org.eclipse.linuxtools.gdbtrace.ui/.settings/org.eclipse.pde.prefs
deleted file mode 100644
index d92b94fd4b..0000000000
--- a/lttng/org.eclipse.linuxtools.gdbtrace.ui/.settings/org.eclipse.pde.prefs
+++ /dev/null
@@ -1,32 +0,0 @@
-compilers.f.unresolved-features=1
-compilers.f.unresolved-plugins=1
-compilers.incompatible-environment=1
-compilers.p.build=1
-compilers.p.build.bin.includes=1
-compilers.p.build.encodings=2
-compilers.p.build.java.compiler=2
-compilers.p.build.java.compliance=1
-compilers.p.build.missing.output=2
-compilers.p.build.output.library=1
-compilers.p.build.source.library=1
-compilers.p.build.src.includes=1
-compilers.p.deprecated=1
-compilers.p.discouraged-class=1
-compilers.p.internal=1
-compilers.p.missing-packages=1
-compilers.p.missing-version-export-package=2
-compilers.p.missing-version-import-package=2
-compilers.p.missing-version-require-bundle=2
-compilers.p.no-required-att=0
-compilers.p.not-externalized-att=1
-compilers.p.unknown-attribute=1
-compilers.p.unknown-class=1
-compilers.p.unknown-element=1
-compilers.p.unknown-identifier=1
-compilers.p.unknown-resource=1
-compilers.p.unresolved-ex-points=0
-compilers.p.unresolved-import=0
-compilers.s.create-docs=false
-compilers.s.doc-folder=doc
-compilers.s.open-tags=1
-eclipse.preferences.version=1
diff --git a/lttng/org.eclipse.linuxtools.gdbtrace.ui/META-INF/MANIFEST.MF b/lttng/org.eclipse.linuxtools.gdbtrace.ui/META-INF/MANIFEST.MF
deleted file mode 100644
index 8d4ba4c9bf..0000000000
--- a/lttng/org.eclipse.linuxtools.gdbtrace.ui/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,28 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %Bundle-Name
-Bundle-Vendor: %Bundle-Vendor
-Bundle-SymbolicName: org.eclipse.linuxtools.gdbtrace.ui;singleton:=true
-Bundle-Version: 3.1.0.qualifier
-Bundle-Localization: plugin
-Bundle-Activator: org.eclipse.linuxtools.internal.gdbtrace.ui.GdbTraceUIPlugin
-Require-Bundle: org.eclipse.core.runtime,
- org.eclipse.core.resources,
- org.eclipse.ui,
- org.eclipse.ui.console,
- org.eclipse.ui.ide,
- org.eclipse.debug.ui,
- org.eclipse.linuxtools.tmf.core;bundle-version="3.1.0",
- org.eclipse.linuxtools.tmf.ui;bundle-version="3.1.0",
- org.eclipse.linuxtools.gdbtrace.core;bundle-version="3.1.0"
-Bundle-ActivationPolicy: lazy
-Bundle-RequiredExecutionEnvironment: JavaSE-1.7
-Export-Package: org.eclipse.linuxtools.internal.gdbtrace.ui;x-friends:
- ="org.eclipse.linuxtools.gdbtrace.ui.tests",org.eclipse.linuxtools.in
- ternal.gdbtrace.ui.views;x-internal:=true,org.eclipse.linuxtools.inte
- rnal.gdbtrace.ui.views.events;x-internal:=true,org.eclipse.linuxtools
- .internal.gdbtrace.ui.views.project.dialogs;x-internal:=true,org.ecli
- pse.linuxtools.internal.gdbtrace.ui.views.project.handlers;x-internal
- :=true
-Import-Package: com.google.common.collect,
- org.eclipse.cdt.core
diff --git a/lttng/org.eclipse.linuxtools.gdbtrace.ui/about.html b/lttng/org.eclipse.linuxtools.gdbtrace.ui/about.html
deleted file mode 100644
index c258ef55d8..0000000000
--- a/lttng/org.eclipse.linuxtools.gdbtrace.ui/about.html
+++ /dev/null
@@ -1,28 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
-<title>About</title>
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
-
-<p>June 5, 2006</p>
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;). Unless otherwise
-indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is available
-at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is
-being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content. Check the Redistributor's license that was
-provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at <a href="http://www.eclipse.org/">http://www.eclipse.org</a>.</p>
-
-</body>
-</html> \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.gdbtrace.ui/build.properties b/lttng/org.eclipse.linuxtools.gdbtrace.ui/build.properties
deleted file mode 100644
index 42bfedd20e..0000000000
--- a/lttng/org.eclipse.linuxtools.gdbtrace.ui/build.properties
+++ /dev/null
@@ -1,23 +0,0 @@
-###############################################################################
-# Copyright (c) 2013 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:
-# Ericsson - Initial API and implementation
-###############################################################################
-
-source.. = src/
-output.. = bin/
-bin.includes = META-INF/,\
- .,\
- icons/,\
- about.html,\
- plugin.xml,\
- plugin.properties
-src.includes = about.html
-additional.bundles = org.eclipse.jdt.annotation
-jars.extra.classpath = platform:/plugin/org.eclipse.jdt.annotation
diff --git a/lttng/org.eclipse.linuxtools.gdbtrace.ui/icons/obj16/gdb_icon16.png b/lttng/org.eclipse.linuxtools.gdbtrace.ui/icons/obj16/gdb_icon16.png
deleted file mode 100644
index 89f7666bc4..0000000000
--- a/lttng/org.eclipse.linuxtools.gdbtrace.ui/icons/obj16/gdb_icon16.png
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.gdbtrace.ui/plugin.properties b/lttng/org.eclipse.linuxtools.gdbtrace.ui/plugin.properties
deleted file mode 100644
index 2a4a7463ae..0000000000
--- a/lttng/org.eclipse.linuxtools.gdbtrace.ui/plugin.properties
+++ /dev/null
@@ -1,22 +0,0 @@
-###############################################################################
-# Copyright (c) 2013 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:
-# Ericsson - Initial API and implementation
-###############################################################################
-
-#Properties file for org.eclipse.linuxtools.gdbtrace.ui
-Bundle-Vendor = Eclipse Linux Tools
-Bundle-Name = Linux Tools GDB Tracepoint Analysis UI Plug-in
-
-# org.eclipse.ui.perspectives
-perspective.name = GDB Trace
-
-# org.eclipse.ui.commands
-commands.project.trace.selectexecutable = Select Trace Executable...
-commands.project.trace.selectexecutable.description = Select executable binary file for a GDB trace
diff --git a/lttng/org.eclipse.linuxtools.gdbtrace.ui/plugin.xml b/lttng/org.eclipse.linuxtools.gdbtrace.ui/plugin.xml
deleted file mode 100644
index 94af21e989..0000000000
--- a/lttng/org.eclipse.linuxtools.gdbtrace.ui/plugin.xml
+++ /dev/null
@@ -1,101 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Copyright (c) 2013 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
--->
-<?eclipse version="3.4"?>
-<plugin>
- <extension
- point="org.eclipse.ui.perspectives">
- <perspective
- class="org.eclipse.linuxtools.internal.gdbtrace.ui.views.GdbPerspectiveFactory"
- icon="icons/obj16/gdb_icon16.png"
- id="org.eclipse.linuxtools.gdbtrace.perspective"
- name="%perspective.name">
- </perspective>
- </extension>
- <extension
- point="org.eclipse.ui.commands">
- <command
- description="%commands.project.trace.selectexecutable.description"
- id="org.eclipse.linuxtools.gdbtrace.ui.command.project.trace.selectexecutable"
- name="%commands.project.trace.selectexecutable">
- </command>
- </extension>
- <extension
- point="org.eclipse.ui.menus">
- <menuContribution
- locationURI="popup:org.eclipse.ui.popup.any?after=additions">
- <command
- commandId="org.eclipse.linuxtools.gdbtrace.ui.command.project.trace.selectexecutable"
- label="%commands.project.trace.selectexecutable"
- style="push"
- tooltip="%commands.project.trace.selectexecutable.description">
- <visibleWhen
- checkEnabled="false">
- <with
- variable="selection">
- <iterate
- ifEmpty="false"
- operator="and">
- <test
- property="org.eclipse.linuxtools.tmf.ui.traceType"
- value="org.eclipse.linuxtools.gdbtrace.ui.type.gdb">
- </test>
- </iterate>
- </with>
- </visibleWhen>
- </command>
- </menuContribution>
- </extension>
- <extension
- point="org.eclipse.ui.handlers">
- <handler
- class="org.eclipse.linuxtools.internal.gdbtrace.ui.views.project.handlers.SelectTraceExecutableHandler"
- commandId="org.eclipse.linuxtools.gdbtrace.ui.command.project.trace.selectexecutable">
- <activeWhen>
- <iterate
- ifEmpty="false"
- operator="and">
- <instanceof
- value="org.eclipse.linuxtools.tmf.ui.project.model.TmfTraceElement">
- </instanceof>
- </iterate>
- </activeWhen>
- </handler>
- </extension>
- <extension
- point="org.eclipse.ui.navigator.navigatorContent">
- <commonWizard
- associatedExtensionId="org.eclipse.linuxtools.tmf.ui.navigator.content"
- menuGroupId="org.eclipse.linuxtools.tmf.ui.views.ui.wizards.menuGroupId"
- type="new"
- wizardId="org.eclipse.linuxtools.tmf.ui.views.ui.wizards.newProject">
- <enablement>
- <with variable="activeWorkbenchWindow.activePerspective">
- <equals
- value="org.eclipse.linuxtools.gdbtrace.perspective">
- </equals>
- </with>
- </enablement>
- </commonWizard>
- </extension>
- <extension
- point="org.eclipse.linuxtools.tmf.ui.tracetypeui">
- <type
- icon="icons/obj16/gdb_icon16.png"
- tracetype="org.eclipse.linuxtools.gdbtrace.ui.type.gdb">
- <eventsTableType
- class="org.eclipse.linuxtools.internal.gdbtrace.ui.views.events.GdbEventsTable">
- </eventsTableType>
- <eventTableColumns
- class="org.eclipse.linuxtools.internal.gdbtrace.ui.views.events.GdbEventTableColumns">
- </eventTableColumns>
- </type>
- </extension>
-
-</plugin>
diff --git a/lttng/org.eclipse.linuxtools.gdbtrace.ui/pom.xml b/lttng/org.eclipse.linuxtools.gdbtrace.ui/pom.xml
deleted file mode 100644
index 74aa71ce94..0000000000
--- a/lttng/org.eclipse.linuxtools.gdbtrace.ui/pom.xml
+++ /dev/null
@@ -1,36 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Copyright (c) 2013 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
--->
-<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
- <modelVersion>4.0.0</modelVersion>
-
- <parent>
- <artifactId>linuxtools-lttng-parent</artifactId>
- <groupId>org.eclipse.linuxtools.lttng</groupId>
- <version>3.2.0-SNAPSHOT</version>
- </parent>
-
- <artifactId>org.eclipse.linuxtools.gdbtrace.ui</artifactId>
- <groupId>org.eclipse.linuxtools.gdbtrace</groupId>
- <version>3.1.0-SNAPSHOT</version>
- <packaging>eclipse-plugin</packaging>
-
- <name>Linux Tools GDB Tracepoint Analysis UI Plug-in</name>
-
- <build>
- <plugins>
- <plugin>
- <groupId>org.eclipse.tycho</groupId>
- <artifactId>tycho-source-plugin</artifactId>
- </plugin>
- </plugins>
- </build>
-
-</project>
diff --git a/lttng/org.eclipse.linuxtools.gdbtrace.ui/src/org/eclipse/linuxtools/internal/gdbtrace/ui/GdbTraceUIPlugin.java b/lttng/org.eclipse.linuxtools.gdbtrace.ui/src/org/eclipse/linuxtools/internal/gdbtrace/ui/GdbTraceUIPlugin.java
deleted file mode 100644
index 3a11d4ba6c..0000000000
--- a/lttng/org.eclipse.linuxtools.gdbtrace.ui/src/org/eclipse/linuxtools/internal/gdbtrace/ui/GdbTraceUIPlugin.java
+++ /dev/null
@@ -1,73 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011, 2013 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
- * Patrick Tasse - Updated for TMF 2.0
- *******************************************************************************/
-
-package org.eclipse.linuxtools.internal.gdbtrace.ui;
-
-import org.eclipse.ui.plugin.AbstractUIPlugin;
-import org.osgi.framework.BundleContext;
-
-/**
- * GDB Tracepoint Analysis UI plug-in activator
- * @author Francois Chouinard
- */
-public class GdbTraceUIPlugin extends AbstractUIPlugin {
-
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
-
- /** The plug-in ID */
- public static final String PLUGIN_ID = "org.eclipse.linuxtools.gdbtrace.ui"; //$NON-NLS-1$
-
- private static GdbTraceUIPlugin plugin;
-
- // ------------------------------------------------------------------------
- // Constructor
- // ------------------------------------------------------------------------
-
- /**
- * Constructor
- */
- public GdbTraceUIPlugin() {
- }
-
- // ------------------------------------------------------------------------
- // AbstractUIPlugin
- // ------------------------------------------------------------------------
-
- @Override
- public void start(BundleContext context) throws Exception {
- super.start(context);
- plugin = this;
- }
-
- @Override
- public void stop(BundleContext context) throws Exception {
- plugin = null;
- super.stop(context);
- }
-
- // ------------------------------------------------------------------------
- // Accessor
- // ------------------------------------------------------------------------
-
- /**
- * Returns the GDB Tracepoints UI plug-in instance.
- *
- * @return the GDB Tracepoints UI plug-in instance
- */
- public static GdbTraceUIPlugin getDefault() {
- return plugin;
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.gdbtrace.ui/src/org/eclipse/linuxtools/internal/gdbtrace/ui/views/GdbPerspectiveFactory.java b/lttng/org.eclipse.linuxtools.gdbtrace.ui/src/org/eclipse/linuxtools/internal/gdbtrace/ui/views/GdbPerspectiveFactory.java
deleted file mode 100644
index 8bff0382d9..0000000000
--- a/lttng/org.eclipse.linuxtools.gdbtrace.ui/src/org/eclipse/linuxtools/internal/gdbtrace/ui/views/GdbPerspectiveFactory.java
+++ /dev/null
@@ -1,79 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011, 2013 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
- * Patrick Tasse - Updated for TMF 2.0
- *******************************************************************************/
-
-package org.eclipse.linuxtools.internal.gdbtrace.ui.views;
-
-import org.eclipse.debug.ui.IDebugUIConstants;
-import org.eclipse.linuxtools.internal.gdbtrace.ui.GdbTraceUIPlugin;
-import org.eclipse.linuxtools.tmf.ui.project.wizards.NewTmfProjectWizard;
-import org.eclipse.ui.IFolderLayout;
-import org.eclipse.ui.IPageLayout;
-import org.eclipse.ui.IPerspectiveFactory;
-import org.eclipse.ui.console.IConsoleConstants;
-
-/**
- * GDB Trace perspective factory
- * @author Francois Chouinard
- */
-public class GdbPerspectiveFactory implements IPerspectiveFactory {
-
- // ------------------------------------------------------------------------
- // Constants
- // ------------------------------------------------------------------------
-
- /** The perspective ID */
- public static final String ID = GdbTraceUIPlugin.PLUGIN_ID + ".perspective"; //$NON-NLS-1$
-
- // Folders
- private static final String EditorArea = IPageLayout.ID_EDITOR_AREA;
- private static final String ProjectFolder = "ProjectFolder"; //$NON-NLS-1$
- private static final String ConsoleFolder = "ConsoleFolder"; //$NON-NLS-1$
- private static final String DebugFolder = "DebugFolder"; //$NON-NLS-1$
- private static final String TraceControlFolder = "TraceControlFolder"; //$NON-NLS-1$
-
- // Standard Debug Views
- private static final String DEBUG_VIEW_ID = IDebugUIConstants.ID_DEBUG_VIEW;
- private static final String TRACE_CONTROL_VIEW_ID = "org.eclipse.cdt.dsf.gdb.ui.tracecontrol.view"; //$NON-NLS-1$
-
- // Standard Eclipse views
- private static final String PROJECT_VIEW_ID = IPageLayout.ID_PROJECT_EXPLORER;
- private static final String CONSOLE_VIEW_ID = IConsoleConstants.ID_CONSOLE_VIEW;
-
- // ------------------------------------------------------------------------
- // IPerspectiveFactory
- // ------------------------------------------------------------------------
-
- @Override
- public void createInitialLayout(IPageLayout layout) {
-
- layout.setEditorAreaVisible(true);
-
- // Create the project folder
- IFolderLayout projectFolder = layout.createFolder(ProjectFolder, IPageLayout.LEFT, 0.15f, EditorArea);
- projectFolder.addView(PROJECT_VIEW_ID);
-
- // Create the console folder
- IFolderLayout consoleFolder = layout.createFolder(ConsoleFolder, IPageLayout.BOTTOM, 0.50f, ProjectFolder);
- consoleFolder.addView(CONSOLE_VIEW_ID);
-
- // Create the debug folder
- IFolderLayout debugFolder = layout.createFolder(DebugFolder, IPageLayout.TOP, 0.50f, EditorArea);
- debugFolder.addView(DEBUG_VIEW_ID);
-
- // Create the middle right folder
- IFolderLayout traceControlFolder = layout.createFolder(TraceControlFolder, IPageLayout.RIGHT, 0.50f, DebugFolder);
- traceControlFolder.addView(TRACE_CONTROL_VIEW_ID);
-
- layout.addNewWizardShortcut(NewTmfProjectWizard.ID);
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.gdbtrace.ui/src/org/eclipse/linuxtools/internal/gdbtrace/ui/views/events/GdbEventTableColumns.java b/lttng/org.eclipse.linuxtools.gdbtrace.ui/src/org/eclipse/linuxtools/internal/gdbtrace/ui/views/events/GdbEventTableColumns.java
deleted file mode 100644
index 781fc9a9d1..0000000000
--- a/lttng/org.eclipse.linuxtools.gdbtrace.ui/src/org/eclipse/linuxtools/internal/gdbtrace/ui/views/events/GdbEventTableColumns.java
+++ /dev/null
@@ -1,82 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 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:
- * Alexandre Montplaisir - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.internal.gdbtrace.ui.views.events;
-
-import java.util.Collection;
-
-import org.eclipse.jdt.annotation.NonNull;
-import org.eclipse.linuxtools.internal.gdbtrace.core.event.GdbTraceEventContent;
-import org.eclipse.linuxtools.tmf.core.event.ITmfEvent;
-import org.eclipse.linuxtools.tmf.ui.viewers.events.columns.ITmfEventTableColumns;
-import org.eclipse.linuxtools.tmf.ui.viewers.events.columns.TmfEventTableColumn;
-import org.eclipse.linuxtools.tmf.ui.viewers.events.columns.TmfEventTableFieldColumn;
-
-import com.google.common.collect.ImmutableList;
-
-/**
- * Event table column definition for GDB traces.
- *
- * @author Alexandre Montplaisir
- */
-public class GdbEventTableColumns implements ITmfEventTableColumns {
-
- // ------------------------------------------------------------------------
- // Column definition
- // ------------------------------------------------------------------------
-
- @SuppressWarnings("null")
- static final @NonNull Collection<TmfEventTableColumn> GDB_COLUMNS = ImmutableList.of(
- new GdbTraceFrameColumn(),
- new GdbTracepointColumn(),
- new GdbFileColumn()
- );
-
- private static class GdbTraceFrameColumn extends TmfEventTableFieldColumn {
- public GdbTraceFrameColumn() {
- super(GdbTraceEventContent.TRACE_FRAME);
- }
- }
-
- private static class GdbTracepointColumn extends TmfEventTableFieldColumn {
- public GdbTracepointColumn() {
- super(GdbTraceEventContent.TRACEPOINT);
- }
- }
-
- private static class GdbFileColumn extends TmfEventTableColumn {
-
- public GdbFileColumn() {
- super("File"); //$NON-NLS-1$
- }
-
- @Override
- public String getItemString(ITmfEvent event) {
- String ret = event.getReference();
- return (ret == null ? EMPTY_STRING : ret);
- }
-
- @Override
- public String getFilterFieldId() {
- return ITmfEvent.EVENT_FIELD_REFERENCE;
- }
- }
-
- // ------------------------------------------------------------------------
- // ITmfEventTableColumns
- // ------------------------------------------------------------------------
-
- @Override
- public Collection<? extends TmfEventTableColumn> getEventTableColumns() {
- return GDB_COLUMNS;
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.gdbtrace.ui/src/org/eclipse/linuxtools/internal/gdbtrace/ui/views/events/GdbEventsTable.java b/lttng/org.eclipse.linuxtools.gdbtrace.ui/src/org/eclipse/linuxtools/internal/gdbtrace/ui/views/events/GdbEventsTable.java
deleted file mode 100644
index 9b79b04779..0000000000
--- a/lttng/org.eclipse.linuxtools.gdbtrace.ui/src/org/eclipse/linuxtools/internal/gdbtrace/ui/views/events/GdbEventsTable.java
+++ /dev/null
@@ -1,135 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 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:
- * Patrick Tasse - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.internal.gdbtrace.ui.views.events;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.core.runtime.jobs.Job;
-import org.eclipse.jface.viewers.ISelectionChangedListener;
-import org.eclipse.jface.viewers.SelectionChangedEvent;
-import org.eclipse.linuxtools.internal.gdbtrace.core.event.GdbTraceEvent;
-import org.eclipse.linuxtools.internal.gdbtrace.core.event.GdbTraceEventContent;
-import org.eclipse.linuxtools.internal.gdbtrace.core.trace.GdbTrace;
-import org.eclipse.linuxtools.tmf.core.signal.TmfSignalHandler;
-import org.eclipse.linuxtools.tmf.core.signal.TmfTimeSynchSignal;
-import org.eclipse.linuxtools.tmf.core.signal.TmfTraceUpdatedSignal;
-import org.eclipse.linuxtools.tmf.core.trace.ITmfTrace;
-import org.eclipse.linuxtools.tmf.core.trace.TmfExperiment;
-import org.eclipse.linuxtools.tmf.ui.viewers.events.TmfEventsTable;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.TableItem;
-
-/**
- * GDB Event Table
- *
- * @author Patrick Tasse
- */
-public class GdbEventsTable extends TmfEventsTable {
-
- // ------------------------------------------------------------------------
- // Fields
- // ------------------------------------------------------------------------
-
- private GdbTrace fSelectedTrace = null;
- private long fSelectedFrame = 0;
-
- // ------------------------------------------------------------------------
- // Constructor
- // ------------------------------------------------------------------------
-
- /**
- * Constructor
- *
- * @param parent
- * the parent
- * @param cacheSize
- * the cache size
- */
- public GdbEventsTable(Composite parent, int cacheSize) {
- super(parent, cacheSize, GdbEventTableColumns.GDB_COLUMNS);
- // Set the alignment of the first two columns
- fTable.getColumns()[0].setAlignment(SWT.RIGHT);
- fTable.getColumns()[1].setAlignment(SWT.RIGHT);
-
- // Synchronize currently selected frame in GDB with table selection
- addSelectionChangedListener(new ISelectionChangedListener() {
- @Override
- public void selectionChanged(SelectionChangedEvent e) {
- TableItem[] selection = fTable.getSelection();
- if (selection.length > 0) {
- TableItem selectedTableItem = selection[0];
- if (selectedTableItem != null) {
- Object data = selectedTableItem.getData();
- if (data instanceof GdbTraceEvent) {
- GdbTraceEvent event = (GdbTraceEvent) data;
- GdbTrace gdbTrace = (GdbTrace) event.getTrace();
- GdbTraceEventContent content = event.getContent();
- selectFrame(gdbTrace, content.getFrameNumber());
- return;
- }
- }
- }
- fSelectedTrace = null;
- }
- });
- }
-
- @Override
- public void setTrace(ITmfTrace trace, boolean disposeOnClose) {
- super.setTrace(trace, disposeOnClose);
- if (trace instanceof GdbTrace) {
- fSelectedTrace = (GdbTrace) trace;
- fSelectedFrame = 0;
- } else if (trace instanceof TmfExperiment) {
- TmfExperiment experiment = (TmfExperiment) trace;
- if (experiment.getTraces().length > 0) {
- fSelectedTrace = (GdbTrace) experiment.getTraces()[0];
- fSelectedFrame = 0;
- }
- }
- }
-
- @Override
- @TmfSignalHandler
- public void currentTimeUpdated(final TmfTimeSynchSignal signal) {
- // do not synchronize on time
- }
-
- private void selectFrame(final GdbTrace gdbTrace, final long frameNumber) {
- Job b = new Job("GDB Trace select frame") { //$NON-NLS-1$
- @Override
- protected IStatus run(IProgressMonitor monitor) {
- // This sends commands to GDB and can potentially wait on the UI
- // thread (gdb traces console buffer full) so it needs to be
- // exectued on a non-UI thread
- gdbTrace.selectFrame(frameNumber);
- fSelectedTrace = gdbTrace;
- fSelectedFrame = frameNumber;
- return Status.OK_STATUS;
- }
- };
- b.setSystem(true);
- b.schedule();
- }
-
- @Override
- @TmfSignalHandler
- public void traceUpdated(TmfTraceUpdatedSignal signal) {
- super.traceUpdated(signal);
- if (fSelectedTrace.getNbFrames() == fSelectedTrace.getNbEvents()) {
- selectFrame(fSelectedTrace, fSelectedFrame);
- }
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.gdbtrace.ui/src/org/eclipse/linuxtools/internal/gdbtrace/ui/views/project/dialogs/Messages.java b/lttng/org.eclipse.linuxtools.gdbtrace.ui/src/org/eclipse/linuxtools/internal/gdbtrace/ui/views/project/dialogs/Messages.java
deleted file mode 100644
index b1d1c23332..0000000000
--- a/lttng/org.eclipse.linuxtools.gdbtrace.ui/src/org/eclipse/linuxtools/internal/gdbtrace/ui/views/project/dialogs/Messages.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 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:
- * Patrick Tasse - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.internal.gdbtrace.ui.views.project.dialogs;
-
-import org.eclipse.osgi.util.NLS;
-
-@SuppressWarnings("javadoc")
-public class Messages extends NLS {
- private static final String BUNDLE_NAME = "org.eclipse.linuxtools.internal.gdbtrace.ui.views.project.dialogs.messages"; //$NON-NLS-1$
- public static String SelectTraceExecutableDialog_BinaryError;
- public static String SelectTraceExecutableDialog_Browse;
- public static String SelectTraceExecutableDialog_ExecutableName;
- public static String SelectTraceExecutableDialog_ExecutablePrompt;
- public static String SelectTraceExecutableDialog_Message;
- public static String SelectTraceExecutableDialog_Title;
-
- static {
- // initialize resource bundle
- NLS.initializeMessages(BUNDLE_NAME, Messages.class);
- }
-
- private Messages() {
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.gdbtrace.ui/src/org/eclipse/linuxtools/internal/gdbtrace/ui/views/project/dialogs/SelectTraceExecutableDialog.java b/lttng/org.eclipse.linuxtools.gdbtrace.ui/src/org/eclipse/linuxtools/internal/gdbtrace/ui/views/project/dialogs/SelectTraceExecutableDialog.java
deleted file mode 100644
index 259b077029..0000000000
--- a/lttng/org.eclipse.linuxtools.gdbtrace.ui/src/org/eclipse/linuxtools/internal/gdbtrace/ui/views/project/dialogs/SelectTraceExecutableDialog.java
+++ /dev/null
@@ -1,190 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011, 2013 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
- * Patrick Tasse - Updated for TMF 2.0
- *******************************************************************************/
-
-package org.eclipse.linuxtools.internal.gdbtrace.ui.views.project.dialogs;
-
-import java.io.File;
-import java.io.IOException;
-import java.util.Arrays;
-
-import org.eclipse.cdt.core.CCorePlugin;
-import org.eclipse.cdt.core.IBinaryParser;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.linuxtools.internal.gdbtrace.ui.GdbTraceUIPlugin;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.graphics.Font;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.FileDialog;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Listener;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.ui.dialogs.SelectionStatusDialog;
-
-/**
- * Dialog implementation for the Select Trace Executable command
- *
- * @author Francois Chouinard
- */
-public class SelectTraceExecutableDialog extends SelectionStatusDialog {
-
- private final IStatus OK_STATUS = new Status(IStatus.OK, GdbTraceUIPlugin.PLUGIN_ID, ""); //$NON-NLS-1$
- private final IStatus PATH_ERROR_STATUS = new Status(IStatus.ERROR, GdbTraceUIPlugin.PLUGIN_ID, Messages.SelectTraceExecutableDialog_Message);
- private final IStatus BINARY_ERROR_STATUS = new Status(IStatus.ERROR, GdbTraceUIPlugin.PLUGIN_ID, Messages.SelectTraceExecutableDialog_BinaryError);
-
- private Text fExecutableNameEntry;
- private IPath fExecutablePath;
-
- /**
- * Creates a SelectTraceExecutableDialog
- *
- * @param parentShell parent of the new dialog
- */
- public SelectTraceExecutableDialog(Shell parentShell) {
- super(parentShell);
- setTitle(Messages.SelectTraceExecutableDialog_Title);
- setStatusLineAboveButtons(true);
- setHelpAvailable(false);
- }
-
- @Override
- protected void computeResult() {
- setResult(Arrays.asList(new IPath[] { fExecutablePath }));
- }
-
- @Override
- public void create() {
- super.create();
- getButton(IDialogConstants.OK_ID).setEnabled(false);
- }
-
- @Override
- protected Control createDialogArea(Composite parent) {
- Composite composite = (Composite) super.createDialogArea(parent);
- composite.setLayout(new GridLayout());
- composite.setLayoutData(new GridData(GridData.FILL_BOTH));
-
- createFolderNameGroup(composite);
-
- setStatusLineAboveButtons(true);
- updateStatus(PATH_ERROR_STATUS);
-
- return composite;
- }
-
- /**
- * Creates the folder name specification controls.
- *
- * @param parent the parent composite
- */
- private void createFolderNameGroup(Composite parent) {
- final Shell shell = parent.getShell();
- Font font = parent.getFont();
- Composite composite = new Composite(parent, SWT.NONE);
- GridLayout layout = new GridLayout(3, false);
- composite.setLayout(layout);
- composite.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-
- // Executable name label
- Label label = new Label(composite, SWT.NONE);
- label.setFont(font);
- label.setText(Messages.SelectTraceExecutableDialog_ExecutableName);
-
- // Executable name entry field
- fExecutableNameEntry = new Text(composite, SWT.BORDER);
- GridData data = new GridData(GridData.FILL_HORIZONTAL);
- data.widthHint = IDialogConstants.ENTRY_FIELD_WIDTH;
- fExecutableNameEntry.setLayoutData(data);
- fExecutableNameEntry.setFont(font);
- fExecutableNameEntry.addListener(SWT.Modify, new Listener() {
- @Override
- public void handleEvent(Event event) {
- fExecutablePath = Path.fromOSString(fExecutableNameEntry.getText());
- if (! validateExecutableName()) {
- updateStatus(PATH_ERROR_STATUS);
- } else if (! validateExecutableBinary()) {
- updateStatus(BINARY_ERROR_STATUS);
- } else {
- updateStatus(OK_STATUS);
- }
- }
- });
-
- // Browse button
- Button browseExecutableButton = new Button(composite, SWT.NONE);
- browseExecutableButton.setText(Messages.SelectTraceExecutableDialog_Browse);
- browseExecutableButton.addSelectionListener(new SelectionAdapter() {
- @Override
- public void widgetSelected(SelectionEvent event) {
- FileDialog dlg = new FileDialog(shell);
- String workspacePath = ResourcesPlugin.getWorkspace().getRoot().getLocation().toOSString();
- dlg.setFilterPath(workspacePath);
- dlg.setText(Messages.SelectTraceExecutableDialog_ExecutablePrompt);
- String path = dlg.open();
- if (path != null) {
- fExecutableNameEntry.setText(path);
- }
- }
- });
-
- }
-
- /**
- * Checks whether the executable location is valid.
- */
- private boolean validateExecutableName() {
- if (fExecutablePath != null) {
- File file = new File(fExecutablePath.toOSString());
- return file.exists() && file.isFile();
- }
- return false;
- }
-
- /**
- * Checks whether the executable location is a recognized executable.
- */
- private boolean validateExecutableBinary() {
- try {
- IBinaryParser parser = CCorePlugin.getDefault().getDefaultBinaryParser();
- IBinaryParser.IBinaryFile binary = parser.getBinary(fExecutablePath);
- if (binary instanceof IBinaryParser.IBinaryObject) {
- return true;
- }
- } catch (CoreException e) {
- } catch (IOException e) {
- }
- return false;
- }
-
- /**
- * Returns the selected executable path.
- * @return the executable path
- */
- public IPath getExecutablePath() {
- return fExecutablePath;
- }
-
-} \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.gdbtrace.ui/src/org/eclipse/linuxtools/internal/gdbtrace/ui/views/project/dialogs/messages.properties b/lttng/org.eclipse.linuxtools.gdbtrace.ui/src/org/eclipse/linuxtools/internal/gdbtrace/ui/views/project/dialogs/messages.properties
deleted file mode 100644
index b75faf1a65..0000000000
--- a/lttng/org.eclipse.linuxtools.gdbtrace.ui/src/org/eclipse/linuxtools/internal/gdbtrace/ui/views/project/dialogs/messages.properties
+++ /dev/null
@@ -1,18 +0,0 @@
-###############################################################################
-# Copyright (c) 2013 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:
-# Ericsson - Initial API and implementation
-###############################################################################
-
-SelectTraceExecutableDialog_BinaryError=Selected file is not a GDB recognized executable
-SelectTraceExecutableDialog_Browse=Browse...
-SelectTraceExecutableDialog_ExecutableName=Executable Path:
-SelectTraceExecutableDialog_ExecutablePrompt=Select Executable File
-SelectTraceExecutableDialog_Message=Select the executable file that generated this trace
-SelectTraceExecutableDialog_Title=Select Executable File
diff --git a/lttng/org.eclipse.linuxtools.gdbtrace.ui/src/org/eclipse/linuxtools/internal/gdbtrace/ui/views/project/handlers/SelectTraceExecutableHandler.java b/lttng/org.eclipse.linuxtools.gdbtrace.ui/src/org/eclipse/linuxtools/internal/gdbtrace/ui/views/project/handlers/SelectTraceExecutableHandler.java
deleted file mode 100644
index 51e63f1ab9..0000000000
--- a/lttng/org.eclipse.linuxtools.gdbtrace.ui/src/org/eclipse/linuxtools/internal/gdbtrace/ui/views/project/handlers/SelectTraceExecutableHandler.java
+++ /dev/null
@@ -1,71 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 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:
- * Patrick Tasse - Initial API and implementation
- * Bernd Hufmann - Improved trace selection
- *******************************************************************************/
-
-package org.eclipse.linuxtools.internal.gdbtrace.ui.views.project.handlers;
-
-import org.eclipse.core.commands.AbstractHandler;
-import org.eclipse.core.commands.ExecutionEvent;
-import org.eclipse.core.commands.ExecutionException;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.window.Window;
-import org.eclipse.linuxtools.internal.gdbtrace.core.trace.GdbTrace;
-import org.eclipse.linuxtools.internal.gdbtrace.ui.views.project.dialogs.SelectTraceExecutableDialog;
-import org.eclipse.linuxtools.tmf.ui.project.model.TmfTraceElement;
-import org.eclipse.swt.widgets.MessageBox;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.handlers.HandlerUtil;
-
-/**
- * Handler for the Select Trace Executable command
- * @author Patrick Tasse
- */
-public class SelectTraceExecutableHandler extends AbstractHandler {
-
- @Override
- public Object execute(ExecutionEvent event) throws ExecutionException {
- Shell shell = HandlerUtil.getActiveShell(event);
-
- // Get the selection before opening the dialog because otherwise the
- // getCurrentSelection() call will always return null
- ISelection selection = HandlerUtil.getCurrentSelection(event);
-
- SelectTraceExecutableDialog dialog = new SelectTraceExecutableDialog(shell);
- dialog.open();
- if (dialog.getReturnCode() != Window.OK) {
- return null;
- }
- IPath tracedExecutable = dialog.getExecutablePath();
-
- if (selection instanceof IStructuredSelection) {
- for (Object o : ((IStructuredSelection) selection).toList()) {
- TmfTraceElement traceElement = (TmfTraceElement) o;
- IResource resource = traceElement.getResource();
- try {
- resource.setPersistentProperty(GdbTrace.EXEC_KEY, tracedExecutable.toString());
- } catch (CoreException e) {
- final MessageBox mb = new MessageBox(PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell());
- mb.setText(e.getClass().getName());
- mb.setMessage(e.getMessage());
- mb.open();
- }
- }
- }
- return null;
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.gdbtrace/.project b/lttng/org.eclipse.linuxtools.gdbtrace/.project
deleted file mode 100644
index 4c937ffeaa..0000000000
--- a/lttng/org.eclipse.linuxtools.gdbtrace/.project
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>org.eclipse.linuxtools.gdbtrace</name>
- <comment></comment>
- <projects>
- </projects>
- <buildSpec>
- <buildCommand>
- <name>org.eclipse.pde.FeatureBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>org.eclipse.pde.FeatureNature</nature>
- </natures>
-</projectDescription>
diff --git a/lttng/org.eclipse.linuxtools.gdbtrace/.settings/org.eclipse.core.resources.prefs b/lttng/org.eclipse.linuxtools.gdbtrace/.settings/org.eclipse.core.resources.prefs
deleted file mode 100644
index 99f26c0203..0000000000
--- a/lttng/org.eclipse.linuxtools.gdbtrace/.settings/org.eclipse.core.resources.prefs
+++ /dev/null
@@ -1,2 +0,0 @@
-eclipse.preferences.version=1
-encoding/<project>=UTF-8
diff --git a/lttng/org.eclipse.linuxtools.gdbtrace/.settings/org.eclipse.core.runtime.prefs b/lttng/org.eclipse.linuxtools.gdbtrace/.settings/org.eclipse.core.runtime.prefs
deleted file mode 100644
index 5a0ad22d2a..0000000000
--- a/lttng/org.eclipse.linuxtools.gdbtrace/.settings/org.eclipse.core.runtime.prefs
+++ /dev/null
@@ -1,2 +0,0 @@
-eclipse.preferences.version=1
-line.separator=\n
diff --git a/lttng/org.eclipse.linuxtools.gdbtrace/build.properties b/lttng/org.eclipse.linuxtools.gdbtrace/build.properties
deleted file mode 100644
index c0db4e0a72..0000000000
--- a/lttng/org.eclipse.linuxtools.gdbtrace/build.properties
+++ /dev/null
@@ -1,15 +0,0 @@
-###############################################################################
-# Copyright (c) 2013 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:
-# Ericsson - Initial API and implementation
-###############################################################################
-
-bin.includes = feature.xml,\
- feature.properties,\
- p2.inf
diff --git a/lttng/org.eclipse.linuxtools.gdbtrace/feature.properties b/lttng/org.eclipse.linuxtools.gdbtrace/feature.properties
deleted file mode 100644
index 83026be8bc..0000000000
--- a/lttng/org.eclipse.linuxtools.gdbtrace/feature.properties
+++ /dev/null
@@ -1,21 +0,0 @@
-###############################################################################
-# Copyright (c) 2013 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:
-# Ericsson - Initial API and implementation
-###############################################################################
-
-featureName=GDB Tracepoint Analysis
-
-description=Plug-ins to integrate GDB tracepoint analysis into the workbench. \
-Includes the TMF (Tracing and Monitoring Framework) feature.
-
-featureProvider=Eclipse Linux Tools
-
-copyright=Copyright 2013 Ericsson
-
diff --git a/lttng/org.eclipse.linuxtools.gdbtrace/feature.xml b/lttng/org.eclipse.linuxtools.gdbtrace/feature.xml
deleted file mode 100644
index 2c228e480b..0000000000
--- a/lttng/org.eclipse.linuxtools.gdbtrace/feature.xml
+++ /dev/null
@@ -1,65 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<feature
- id="org.eclipse.linuxtools.gdbtrace"
- label="%featureName"
- version="3.2.0.qualifier"
- provider-name="%featureProvider"
- license-feature="org.eclipse.license"
- license-feature-version="0.0.0">
-
- <description>
- %description
- </description>
-
- <copyright>
- %copyright
- </copyright>
-
- <license url="%licenseURL">
- %license
- </license>
-
- <includes
- id="org.eclipse.linuxtools.tmf"
- version="0.0.0"
- name="Tracing and Monitoring Framework (TMF)"/>
-
- <requires>
- <import plugin="org.eclipse.core.runtime"/>
- <import plugin="org.eclipse.core.resources"/>
- <import plugin="org.eclipse.ui"/>
- <import plugin="org.eclipse.ui.console"/>
- <import plugin="org.eclipse.ui.ide"/>
- <import plugin="org.eclipse.debug.core"/>
- <import plugin="org.eclipse.debug.ui"/>
- <import plugin="org.eclipse.help"/>
- <import plugin="org.eclipse.cdt.core"/>
- <import plugin="org.eclipse.cdt.dsf"/>
- <import plugin="org.eclipse.cdt.dsf.gdb"/>
- <import plugin="org.eclipse.cdt.dsf.gdb.ui"/>
- <import plugin="org.eclipse.linuxtools.tmf.core" version="3.1.0" match="greaterOrEqual"/>
- <import plugin="org.eclipse.linuxtools.tmf.ui" version="3.1.0" match="greaterOrEqual"/>
- <import plugin="org.eclipse.linuxtools.gdbtrace.core" version="3.1.0" match="greaterOrEqual"/>
- </requires>
-
- <plugin
- id="org.eclipse.linuxtools.gdbtrace.core"
- download-size="0"
- install-size="0"
- version="0.0.0"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.linuxtools.gdbtrace.ui"
- download-size="0"
- install-size="0"
- version="0.0.0"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.linuxtools.gdbtrace.help"
- download-size="0"
- install-size="0"
- version="0.0.0"/>
-
-</feature>
diff --git a/lttng/org.eclipse.linuxtools.gdbtrace/p2.inf b/lttng/org.eclipse.linuxtools.gdbtrace/p2.inf
deleted file mode 100644
index 5246a0c824..0000000000
--- a/lttng/org.eclipse.linuxtools.gdbtrace/p2.inf
+++ /dev/null
@@ -1,3 +0,0 @@
-instructions.configure=\
-org.eclipse.equinox.p2.touchpoint.eclipse.addRepository(location:http${#58}//download.eclipse.org/linuxtools/updates-nightly,type:0,name:Linux Tools,enabled:false); \
-org.eclipse.equinox.p2.touchpoint.eclipse.addRepository(location:http${#58}//download.eclipse.org/linuxtools/updates-nightly,type:1,name:Linux Tools,enabled:false);
diff --git a/lttng/org.eclipse.linuxtools.gdbtrace/pom.xml b/lttng/org.eclipse.linuxtools.gdbtrace/pom.xml
deleted file mode 100644
index 6ccc8c7ade..0000000000
--- a/lttng/org.eclipse.linuxtools.gdbtrace/pom.xml
+++ /dev/null
@@ -1,64 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Copyright (c) 2013 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
--->
-<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
- <modelVersion>4.0.0</modelVersion>
-
- <parent>
- <artifactId>linuxtools-lttng-parent</artifactId>
- <groupId>org.eclipse.linuxtools.lttng</groupId>
- <version>3.2.0-SNAPSHOT</version>
- </parent>
-
- <artifactId>org.eclipse.linuxtools.gdbtrace</artifactId>
- <groupId>org.eclipse.linuxtools.gdbtrace</groupId>
- <version>3.2.0-SNAPSHOT</version>
- <packaging>eclipse-feature</packaging>
-
- <name>Linux Tools GDB Tracepoint Analysis Feature</name>
-
- <build>
- <plugins>
- <plugin>
- <groupId>org.eclipse.tycho.extras</groupId>
- <artifactId>tycho-source-feature-plugin</artifactId>
- <executions>
- <execution>
- <id>source-feature</id>
- <phase>package</phase>
- <goals>
- <goal>source-feature</goal>
- </goals>
- <configuration>
- <excludes>
- <plugin id="org.eclipse.linuxtools.gdbtrace.help"/>
- </excludes>
- </configuration>
- </execution>
- </executions>
- </plugin>
- <plugin>
- <groupId>org.eclipse.tycho</groupId>
- <artifactId>tycho-p2-plugin</artifactId>
- <version>${tycho-version}</version>
- <executions>
- <execution>
- <id>attached-p2-metadata</id>
- <phase>package</phase>
- <goals>
- <goal>p2-metadata</goal>
- </goals>
- </execution>
- </executions>
- </plugin>
- </plugins>
- </build>
-
-</project>
diff --git a/lttng/org.eclipse.linuxtools.lttng.alltests/.classpath b/lttng/org.eclipse.linuxtools.lttng.alltests/.classpath
deleted file mode 100644
index 098194ca4b..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng.alltests/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
- <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.7"/>
- <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
- <classpathentry kind="src" path="src"/>
- <classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/lttng/org.eclipse.linuxtools.lttng.alltests/.gitignore b/lttng/org.eclipse.linuxtools.lttng.alltests/.gitignore
deleted file mode 100644
index 94a2dd146a..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng.alltests/.gitignore
+++ /dev/null
@@ -1 +0,0 @@
-*.json \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.lttng.alltests/.project b/lttng/org.eclipse.linuxtools.lttng.alltests/.project
deleted file mode 100644
index 849f406b7b..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng.alltests/.project
+++ /dev/null
@@ -1,34 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>org.eclipse.linuxtools.lttng.alltests</name>
- <comment></comment>
- <projects>
- </projects>
- <buildSpec>
- <buildCommand>
- <name>org.eclipse.jdt.core.javabuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.ManifestBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.SchemaBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.api.tools.apiAnalysisBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>org.eclipse.pde.PluginNature</nature>
- <nature>org.eclipse.jdt.core.javanature</nature>
- <nature>org.eclipse.pde.api.tools.apiAnalysisNature</nature>
- </natures>
-</projectDescription>
diff --git a/lttng/org.eclipse.linuxtools.lttng.alltests/.settings/org.eclipse.core.resources.prefs b/lttng/org.eclipse.linuxtools.lttng.alltests/.settings/org.eclipse.core.resources.prefs
deleted file mode 100644
index 99f26c0203..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng.alltests/.settings/org.eclipse.core.resources.prefs
+++ /dev/null
@@ -1,2 +0,0 @@
-eclipse.preferences.version=1
-encoding/<project>=UTF-8
diff --git a/lttng/org.eclipse.linuxtools.lttng.alltests/.settings/org.eclipse.core.runtime.prefs b/lttng/org.eclipse.linuxtools.lttng.alltests/.settings/org.eclipse.core.runtime.prefs
deleted file mode 100644
index 5a0ad22d2a..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng.alltests/.settings/org.eclipse.core.runtime.prefs
+++ /dev/null
@@ -1,2 +0,0 @@
-eclipse.preferences.version=1
-line.separator=\n
diff --git a/lttng/org.eclipse.linuxtools.lttng.alltests/.settings/org.eclipse.jdt.core.prefs b/lttng/org.eclipse.linuxtools.lttng.alltests/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index f3fc64575b..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng.alltests/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,393 +0,0 @@
-eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.annotation.inheritNullAnnotations=enabled
-org.eclipse.jdt.core.compiler.annotation.missingNonNullByDefaultAnnotation=ignore
-org.eclipse.jdt.core.compiler.annotation.nonnull=org.eclipse.jdt.annotation.NonNull
-org.eclipse.jdt.core.compiler.annotation.nonnullbydefault=org.eclipse.jdt.annotation.NonNullByDefault
-org.eclipse.jdt.core.compiler.annotation.nullable=org.eclipse.jdt.annotation.Nullable
-org.eclipse.jdt.core.compiler.annotation.nullanalysis=enabled
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.7
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.doc.comment.support=enabled
-org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=error
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
-org.eclipse.jdt.core.compiler.problem.comparingIdentical=error
-org.eclipse.jdt.core.compiler.problem.deadCode=error
-org.eclipse.jdt.core.compiler.problem.deprecation=error
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=enabled
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled
-org.eclipse.jdt.core.compiler.problem.discouragedReference=error
-org.eclipse.jdt.core.compiler.problem.emptyStatement=error
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.problem.explicitlyClosedAutoCloseable=error
-org.eclipse.jdt.core.compiler.problem.fallthroughCase=error
-org.eclipse.jdt.core.compiler.problem.fatalOptionalError=disabled
-org.eclipse.jdt.core.compiler.problem.fieldHiding=error
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=error
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=error
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=error
-org.eclipse.jdt.core.compiler.problem.includeNullInfoFromAsserts=disabled
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=error
-org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=error
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=error
-org.eclipse.jdt.core.compiler.problem.invalidJavadoc=warning
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTags=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=protected
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=error
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=error
-org.eclipse.jdt.core.compiler.problem.missingDefaultCase=error
-org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=error
-org.eclipse.jdt.core.compiler.problem.missingEnumCaseDespiteDefault=enabled
-org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=error
-org.eclipse.jdt.core.compiler.problem.missingJavadocComments=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=protected
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagDescription=all_standard_tags
-org.eclipse.jdt.core.compiler.problem.missingJavadocTags=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsMethodTypeParameters=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=protected
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=error
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotationForInterfaceMethodImplementation=enabled
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=error
-org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=error
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=error
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=error
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=ignore
-org.eclipse.jdt.core.compiler.problem.nonnullParameterAnnotationDropped=warning
-org.eclipse.jdt.core.compiler.problem.nullAnnotationInferenceConflict=warning
-org.eclipse.jdt.core.compiler.problem.nullReference=error
-org.eclipse.jdt.core.compiler.problem.nullSpecViolation=error
-org.eclipse.jdt.core.compiler.problem.nullUncheckedConversion=warning
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=error
-org.eclipse.jdt.core.compiler.problem.parameterAssignment=error
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=error
-org.eclipse.jdt.core.compiler.problem.potentialNullReference=error
-org.eclipse.jdt.core.compiler.problem.potentiallyUnclosedCloseable=warning
-org.eclipse.jdt.core.compiler.problem.rawTypeReference=error
-org.eclipse.jdt.core.compiler.problem.redundantNullAnnotation=warning
-org.eclipse.jdt.core.compiler.problem.redundantNullCheck=error
-org.eclipse.jdt.core.compiler.problem.redundantSpecificationOfTypeArguments=error
-org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=error
-org.eclipse.jdt.core.compiler.problem.reportMethodCanBePotentiallyStatic=ignore
-org.eclipse.jdt.core.compiler.problem.reportMethodCanBeStatic=error
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=error
-org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=disabled
-org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
-org.eclipse.jdt.core.compiler.problem.syntacticNullAnalysisForFields=enabled
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
-org.eclipse.jdt.core.compiler.problem.typeParameterHiding=error
-org.eclipse.jdt.core.compiler.problem.unavoidableGenericTypeProblems=disabled
-org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=error
-org.eclipse.jdt.core.compiler.problem.unclosedCloseable=error
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
-org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=error
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=error
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=error
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=error
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=disabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=disabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=error
-org.eclipse.jdt.core.compiler.problem.unusedLabel=error
-org.eclipse.jdt.core.compiler.problem.unusedLocal=error
-org.eclipse.jdt.core.compiler.problem.unusedObjectAllocation=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=error
-org.eclipse.jdt.core.compiler.problem.unusedTypeParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedWarningToken=error
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=error
-org.eclipse.jdt.core.compiler.source=1.7
-org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_assignment=0
-org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
-org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
-org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
-org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
-org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0
-org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=80
-org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=0
-org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch=16
-org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_after_package=1
-org.eclipse.jdt.core.formatter.blank_lines_before_field=0
-org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
-org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
-org.eclipse.jdt.core.formatter.blank_lines_before_method=1
-org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
-org.eclipse.jdt.core.formatter.blank_lines_before_package=0
-org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
-org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
-org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
-org.eclipse.jdt.core.formatter.comment.format_block_comments=true
-org.eclipse.jdt.core.formatter.comment.format_header=false
-org.eclipse.jdt.core.formatter.comment.format_html=true
-org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=true
-org.eclipse.jdt.core.formatter.comment.format_line_comments=true
-org.eclipse.jdt.core.formatter.comment.format_source_code=true
-org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true
-org.eclipse.jdt.core.formatter.comment.indent_root_tags=true
-org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
-org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=insert
-org.eclipse.jdt.core.formatter.comment.line_length=80
-org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries=true
-org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries=true
-org.eclipse.jdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments=false
-org.eclipse.jdt.core.formatter.compact_else_if=true
-org.eclipse.jdt.core.formatter.continuation_indentation=2
-org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2
-org.eclipse.jdt.core.formatter.disabling_tag=@formatter\:off
-org.eclipse.jdt.core.formatter.enabling_tag=@formatter\:on
-org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
-org.eclipse.jdt.core.formatter.format_line_comment_starting_on_first_column=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
-org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_empty_lines=false
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=false
-org.eclipse.jdt.core.formatter.indentation.size=4
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_label=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_try=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources=insert
-org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_try=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
-org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.join_lines_in_comments=true
-org.eclipse.jdt.core.formatter.join_wrapped_lines=false
-org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.lineSplit=250
-org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
-org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
-org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true
-org.eclipse.jdt.core.formatter.tabulation.char=space
-org.eclipse.jdt.core.formatter.tabulation.size=4
-org.eclipse.jdt.core.formatter.use_on_off_tags=false
-org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
-org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
-org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true
-org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true
diff --git a/lttng/org.eclipse.linuxtools.lttng.alltests/.settings/org.eclipse.jdt.ui.prefs b/lttng/org.eclipse.linuxtools.lttng.alltests/.settings/org.eclipse.jdt.ui.prefs
deleted file mode 100644
index 4fd0c7006a..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng.alltests/.settings/org.eclipse.jdt.ui.prefs
+++ /dev/null
@@ -1,56 +0,0 @@
-eclipse.preferences.version=1
-editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
-formatter_profile=_tmf-style
-formatter_settings_version=12
-sp_cleanup.add_default_serial_version_id=true
-sp_cleanup.add_generated_serial_version_id=false
-sp_cleanup.add_missing_annotations=false
-sp_cleanup.add_missing_deprecated_annotations=true
-sp_cleanup.add_missing_methods=false
-sp_cleanup.add_missing_nls_tags=false
-sp_cleanup.add_missing_override_annotations=true
-sp_cleanup.add_missing_override_annotations_interface_methods=true
-sp_cleanup.add_serial_version_id=false
-sp_cleanup.always_use_blocks=true
-sp_cleanup.always_use_parentheses_in_expressions=false
-sp_cleanup.always_use_this_for_non_static_field_access=false
-sp_cleanup.always_use_this_for_non_static_method_access=false
-sp_cleanup.convert_to_enhanced_for_loop=false
-sp_cleanup.correct_indentation=false
-sp_cleanup.format_source_code=false
-sp_cleanup.format_source_code_changes_only=false
-sp_cleanup.make_local_variable_final=false
-sp_cleanup.make_parameters_final=false
-sp_cleanup.make_private_fields_final=true
-sp_cleanup.make_type_abstract_if_missing_method=false
-sp_cleanup.make_variable_declarations_final=false
-sp_cleanup.never_use_blocks=false
-sp_cleanup.never_use_parentheses_in_expressions=true
-sp_cleanup.on_save_use_additional_actions=true
-sp_cleanup.organize_imports=false
-sp_cleanup.qualify_static_field_accesses_with_declaring_class=false
-sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_with_declaring_class=false
-sp_cleanup.qualify_static_method_accesses_with_declaring_class=false
-sp_cleanup.remove_private_constructors=true
-sp_cleanup.remove_trailing_whitespaces=true
-sp_cleanup.remove_trailing_whitespaces_all=true
-sp_cleanup.remove_trailing_whitespaces_ignore_empty=false
-sp_cleanup.remove_unnecessary_casts=false
-sp_cleanup.remove_unnecessary_nls_tags=false
-sp_cleanup.remove_unused_imports=false
-sp_cleanup.remove_unused_local_variables=false
-sp_cleanup.remove_unused_private_fields=true
-sp_cleanup.remove_unused_private_members=false
-sp_cleanup.remove_unused_private_methods=true
-sp_cleanup.remove_unused_private_types=true
-sp_cleanup.sort_members=false
-sp_cleanup.sort_members_all=false
-sp_cleanup.use_blocks=true
-sp_cleanup.use_blocks_only_for_return_and_throw=false
-sp_cleanup.use_parentheses_in_expressions=false
-sp_cleanup.use_this_for_non_static_field_access=false
-sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=true
-sp_cleanup.use_this_for_non_static_method_access=false
-sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true
diff --git a/lttng/org.eclipse.linuxtools.lttng.alltests/.settings/org.eclipse.pde.api.tools.prefs b/lttng/org.eclipse.linuxtools.lttng.alltests/.settings/org.eclipse.pde.api.tools.prefs
deleted file mode 100644
index acc3abd47c..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng.alltests/.settings/org.eclipse.pde.api.tools.prefs
+++ /dev/null
@@ -1,97 +0,0 @@
-ANNOTATION_ELEMENT_TYPE_ADDED_METHOD_WITHOUT_DEFAULT_VALUE=Error
-ANNOTATION_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
-ANNOTATION_ELEMENT_TYPE_REMOVED_FIELD=Error
-ANNOTATION_ELEMENT_TYPE_REMOVED_METHOD=Error
-ANNOTATION_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
-API_COMPONENT_ELEMENT_TYPE_REMOVED_API_TYPE=Error
-API_COMPONENT_ELEMENT_TYPE_REMOVED_REEXPORTED_API_TYPE=Error
-API_COMPONENT_ELEMENT_TYPE_REMOVED_REEXPORTED_TYPE=Error
-API_COMPONENT_ELEMENT_TYPE_REMOVED_TYPE=Error
-API_USE_SCAN_FIELD_SEVERITY=Error
-API_USE_SCAN_METHOD_SEVERITY=Error
-API_USE_SCAN_TYPE_SEVERITY=Error
-CLASS_ELEMENT_TYPE_ADDED_METHOD=Error
-CLASS_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
-CLASS_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
-CLASS_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error
-CLASS_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
-CLASS_ELEMENT_TYPE_CHANGED_NON_ABSTRACT_TO_ABSTRACT=Error
-CLASS_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error
-CLASS_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
-CLASS_ELEMENT_TYPE_REMOVED_CONSTRUCTOR=Error
-CLASS_ELEMENT_TYPE_REMOVED_FIELD=Error
-CLASS_ELEMENT_TYPE_REMOVED_METHOD=Error
-CLASS_ELEMENT_TYPE_REMOVED_SUPERCLASS=Error
-CLASS_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
-CLASS_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
-CONSTRUCTOR_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
-CONSTRUCTOR_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
-CONSTRUCTOR_ELEMENT_TYPE_CHANGED_VARARGS_TO_ARRAY=Error
-CONSTRUCTOR_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
-ENUM_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error
-ENUM_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
-ENUM_ELEMENT_TYPE_REMOVED_ENUM_CONSTANT=Error
-ENUM_ELEMENT_TYPE_REMOVED_FIELD=Error
-ENUM_ELEMENT_TYPE_REMOVED_METHOD=Error
-ENUM_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
-FIELD_ELEMENT_TYPE_ADDED_VALUE=Error
-FIELD_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
-FIELD_ELEMENT_TYPE_CHANGED_FINAL_TO_NON_FINAL_STATIC_CONSTANT=Error
-FIELD_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error
-FIELD_ELEMENT_TYPE_CHANGED_NON_STATIC_TO_STATIC=Error
-FIELD_ELEMENT_TYPE_CHANGED_STATIC_TO_NON_STATIC=Error
-FIELD_ELEMENT_TYPE_CHANGED_TYPE=Error
-FIELD_ELEMENT_TYPE_CHANGED_VALUE=Error
-FIELD_ELEMENT_TYPE_REMOVED_TYPE_ARGUMENT=Error
-FIELD_ELEMENT_TYPE_REMOVED_VALUE=Error
-ILLEGAL_EXTEND=Warning
-ILLEGAL_IMPLEMENT=Warning
-ILLEGAL_INSTANTIATE=Warning
-ILLEGAL_OVERRIDE=Warning
-ILLEGAL_REFERENCE=Warning
-INTERFACE_ELEMENT_TYPE_ADDED_FIELD=Error
-INTERFACE_ELEMENT_TYPE_ADDED_METHOD=Error
-INTERFACE_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
-INTERFACE_ELEMENT_TYPE_ADDED_SUPER_INTERFACE_WITH_METHODS=Error
-INTERFACE_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
-INTERFACE_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error
-INTERFACE_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
-INTERFACE_ELEMENT_TYPE_REMOVED_FIELD=Error
-INTERFACE_ELEMENT_TYPE_REMOVED_METHOD=Error
-INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
-INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
-INVALID_JAVADOC_TAG=Warning
-INVALID_REFERENCE_IN_SYSTEM_LIBRARIES=Warning
-LEAK_EXTEND=Warning
-LEAK_FIELD_DECL=Warning
-LEAK_IMPLEMENT=Warning
-LEAK_METHOD_PARAM=Warning
-LEAK_METHOD_RETURN_TYPE=Warning
-METHOD_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
-METHOD_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
-METHOD_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
-METHOD_ELEMENT_TYPE_CHANGED_NON_ABSTRACT_TO_ABSTRACT=Error
-METHOD_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error
-METHOD_ELEMENT_TYPE_CHANGED_NON_STATIC_TO_STATIC=Error
-METHOD_ELEMENT_TYPE_CHANGED_STATIC_TO_NON_STATIC=Error
-METHOD_ELEMENT_TYPE_CHANGED_VARARGS_TO_ARRAY=Error
-METHOD_ELEMENT_TYPE_REMOVED_ANNOTATION_DEFAULT_VALUE=Error
-METHOD_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
-MISSING_EE_DESCRIPTIONS=Ignore
-TYPE_PARAMETER_ELEMENT_TYPE_ADDED_CLASS_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_ADDED_INTERFACE_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_CHANGED_CLASS_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_CHANGED_INTERFACE_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_CLASS_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error
-UNUSED_PROBLEM_FILTERS=Warning
-automatically_removed_unused_problem_filters=false
-eclipse.preferences.version=1
-incompatible_api_component_version=Error
-incompatible_api_component_version_include_major_without_breaking_change=Disabled
-incompatible_api_component_version_include_minor_without_api_change=Disabled
-invalid_since_tag_version=Error
-malformed_since_tag=Error
-missing_since_tag=Error
-report_api_breakage_when_major_version_incremented=Disabled
-report_resolution_errors_api_component=Warning
diff --git a/lttng/org.eclipse.linuxtools.lttng.alltests/.settings/org.eclipse.pde.prefs b/lttng/org.eclipse.linuxtools.lttng.alltests/.settings/org.eclipse.pde.prefs
deleted file mode 100644
index 62cfa90dee..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng.alltests/.settings/org.eclipse.pde.prefs
+++ /dev/null
@@ -1,32 +0,0 @@
-compilers.f.unresolved-features=1
-compilers.f.unresolved-plugins=1
-compilers.incompatible-environment=1
-compilers.p.build=1
-compilers.p.build.bin.includes=1
-compilers.p.build.encodings=2
-compilers.p.build.java.compiler=2
-compilers.p.build.java.compliance=1
-compilers.p.build.missing.output=2
-compilers.p.build.output.library=1
-compilers.p.build.source.library=1
-compilers.p.build.src.includes=1
-compilers.p.deprecated=1
-compilers.p.discouraged-class=1
-compilers.p.internal=1
-compilers.p.missing-packages=2
-compilers.p.missing-version-export-package=2
-compilers.p.missing-version-import-package=2
-compilers.p.missing-version-require-bundle=2
-compilers.p.no-required-att=0
-compilers.p.not-externalized-att=2
-compilers.p.unknown-attribute=1
-compilers.p.unknown-class=1
-compilers.p.unknown-element=1
-compilers.p.unknown-identifier=1
-compilers.p.unknown-resource=1
-compilers.p.unresolved-ex-points=0
-compilers.p.unresolved-import=0
-compilers.s.create-docs=false
-compilers.s.doc-folder=doc
-compilers.s.open-tags=1
-eclipse.preferences.version=1
diff --git a/lttng/org.eclipse.linuxtools.lttng.alltests/META-INF/MANIFEST.MF b/lttng/org.eclipse.linuxtools.lttng.alltests/META-INF/MANIFEST.MF
deleted file mode 100644
index 3bdc3e252d..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng.alltests/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,39 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %Bundle-Name
-Bundle-Vendor: %Bundle-Vendor
-Bundle-Version: 3.1.0.qualifier
-Bundle-Localization: plugin
-Bundle-SymbolicName: org.eclipse.linuxtools.lttng.alltests;singleton:=true
-Bundle-ActivationPolicy: lazy
-Bundle-RequiredExecutionEnvironment: JavaSE-1.7
-Require-Bundle: org.junit;bundle-version="4.0.0",
- org.eclipse.core.runtime,
- org.eclipse.test.performance,
- org.eclipse.linuxtools.ctf.core.tests;bundle-version="2.1.0",
- org.eclipse.linuxtools.gdbtrace.core.tests;bundle-version="1.1.0",
- org.eclipse.linuxtools.gdbtrace.ui.tests;bundle-version="1.1.0",
- org.eclipse.linuxtools.lttng2.control.core.tests;bundle-version="2.1.0",
- org.eclipse.linuxtools.lttng2.control.ui.tests;bundle-version="2.1.0",
- org.eclipse.linuxtools.lttng2.kernel.core.tests;bundle-version="2.1.0",
- org.eclipse.linuxtools.lttng2.kernel.ui.swtbot.tests;bundle-version="3.1.0",
- org.eclipse.linuxtools.lttng2.kernel.ui.tests;bundle-version="2.1.0",
- org.eclipse.linuxtools.lttng2.ust.core.tests;bundle-version="2.1.0",
- org.eclipse.linuxtools.lttng2.ust.ui.tests;bundle-version="2.1.0",
- org.eclipse.linuxtools.statesystem.core.tests;bundle-version="3.1.0",
- org.eclipse.linuxtools.tmf.core.tests;bundle-version="2.1.0",
- org.eclipse.linuxtools.tmf.ctf.core.tests;bundle-version="3.1.0",
- org.eclipse.linuxtools.tmf.ctf.ui.swtbot.tests;bundle-version="3.1.0",
- org.eclipse.linuxtools.tmf.ui.swtbot.tests;bundle-version="3.1.0",
- org.eclipse.linuxtools.tmf.ui.tests;bundle-version="2.1.0",
- org.eclipse.linuxtools.ctf.parser.tests;bundle-version="3.1.0",
- org.eclipse.linuxtools.btf.core.tests;bundle-version="3.1.0",
- org.eclipse.linuxtools.tmf.analysis.xml.core.tests;bundle-version="1.1.0",
- org.eclipse.linuxtools.tmf.analysis.xml.ui.tests;bundle-version="1.1.0",
- org.eclipse.linuxtools.pcap.core.tests;bundle-version="1.0.0",
- org.eclipse.linuxtools.tmf.pcap.core.tests;bundle-version="1.0.0",
- org.eclipse.linuxtools.tmf.pcap.ui.swtbot.tests;bundle-version="1.0.0"
-Export-Package: org.eclipse.linuxtools.lttng.alltests;x-internal:=true
-Import-Package: org.apache.derby.jdbc,
- org.json
-Bundle-Activator: org.eclipse.linuxtools.lttng.alltests.Activator
diff --git a/lttng/org.eclipse.linuxtools.lttng.alltests/RunAllCoreTests.launch b/lttng/org.eclipse.linuxtools.lttng.alltests/RunAllCoreTests.launch
deleted file mode 100644
index 13dae5cd7b..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng.alltests/RunAllCoreTests.launch
+++ /dev/null
@@ -1,41 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<launchConfiguration type="org.eclipse.pde.ui.JunitLaunchConfig">
-<booleanAttribute key="append.args" value="true"/>
-<booleanAttribute key="askclear" value="false"/>
-<booleanAttribute key="automaticAdd" value="true"/>
-<booleanAttribute key="automaticValidate" value="false"/>
-<stringAttribute key="bootstrap" value=""/>
-<stringAttribute key="checked" value="[NONE]"/>
-<booleanAttribute key="clearConfig" value="true"/>
-<booleanAttribute key="clearws" value="true"/>
-<booleanAttribute key="clearwslog" value="false"/>
-<stringAttribute key="configLocation" value="${workspace_loc}/.metadata/.plugins/org.eclipse.pde.core/pde-junit"/>
-<booleanAttribute key="default" value="true"/>
-<booleanAttribute key="includeOptional" value="true"/>
-<stringAttribute key="location" value="${workspace_loc}/../junit-workspace"/>
-<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
-<listEntry value="/org.eclipse.linuxtools.lttng.alltests/src/org/eclipse/linuxtools/lttng/alltests/RunAllCoreTests.java"/>
-</listAttribute>
-<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
-<listEntry value="1"/>
-</listAttribute>
-<stringAttribute key="org.eclipse.jdt.junit.CONTAINER" value=""/>
-<booleanAttribute key="org.eclipse.jdt.junit.KEEPRUNNING_ATTR" value="false"/>
-<stringAttribute key="org.eclipse.jdt.junit.TESTNAME" value=""/>
-<stringAttribute key="org.eclipse.jdt.junit.TEST_KIND" value="org.eclipse.jdt.junit.loader.junit4"/>
-<stringAttribute key="org.eclipse.jdt.launching.JRE_CONTAINER" value="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.7"/>
-<stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="org.eclipse.linuxtools.lttng.alltests.RunAllCoreTests"/>
-<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="-os ${target.os} -ws ${target.ws} -arch ${target.arch} -nl ${target.nl} -consoleLog -consolelog"/>
-<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="org.eclipse.linuxtools.lttng.alltests"/>
-<stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER" value="org.eclipse.pde.ui.workbenchClasspathProvider"/>
-<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-Xms40m&#10;-Xmx512M&#10;-XX:MaxPermSize=256m"/>
-<stringAttribute key="pde.version" value="3.3"/>
-<stringAttribute key="product" value="org.eclipse.platform.ide"/>
-<booleanAttribute key="run_in_ui_thread" value="false"/>
-<booleanAttribute key="show_selected_only" value="false"/>
-<booleanAttribute key="tracing" value="false"/>
-<booleanAttribute key="useCustomFeatures" value="false"/>
-<booleanAttribute key="useDefaultConfig" value="true"/>
-<booleanAttribute key="useDefaultConfigArea" value="false"/>
-<booleanAttribute key="useProduct" value="true"/>
-</launchConfiguration>
diff --git a/lttng/org.eclipse.linuxtools.lttng.alltests/about.html b/lttng/org.eclipse.linuxtools.lttng.alltests/about.html
deleted file mode 100644
index c258ef55d8..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng.alltests/about.html
+++ /dev/null
@@ -1,28 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
-<title>About</title>
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
-
-<p>June 5, 2006</p>
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;). Unless otherwise
-indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is available
-at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is
-being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content. Check the Redistributor's license that was
-provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at <a href="http://www.eclipse.org/">http://www.eclipse.org</a>.</p>
-
-</body>
-</html> \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.lttng.alltests/build.properties b/lttng/org.eclipse.linuxtools.lttng.alltests/build.properties
deleted file mode 100644
index f7a0b9854e..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng.alltests/build.properties
+++ /dev/null
@@ -1,18 +0,0 @@
-###############################################################################
-# Copyright (c) 2013 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:
-# Ericsson - Initial API and implementation
-###############################################################################
-
-source.. = src/
-output.. = bin/
-bin.includes = META-INF/,\
- .,\
- plugin.properties
-src.includes = about.html
diff --git a/lttng/org.eclipse.linuxtools.lttng.alltests/plugin.properties b/lttng/org.eclipse.linuxtools.lttng.alltests/plugin.properties
deleted file mode 100644
index e9a8bb61ac..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng.alltests/plugin.properties
+++ /dev/null
@@ -1,15 +0,0 @@
-###############################################################################
-# Copyright (c) 2013 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:
-# Ericsson - Initial API and implementation
-###############################################################################
-
-#Properties file for org.eclipse.linuxtools.lttng.alltests
-Bundle-Vendor = Eclipse Linux Tools
-Bundle-Name = Linux Tools LTTng Component All Tests
diff --git a/lttng/org.eclipse.linuxtools.lttng.alltests/pom.xml b/lttng/org.eclipse.linuxtools.lttng.alltests/pom.xml
deleted file mode 100644
index b964b22255..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng.alltests/pom.xml
+++ /dev/null
@@ -1,100 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Copyright (C) 2014 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
--->
-<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
- <modelVersion>4.0.0</modelVersion>
-
- <parent>
- <artifactId>linuxtools-lttng-parent</artifactId>
- <groupId>org.eclipse.linuxtools.lttng</groupId>
- <version>3.2.0-SNAPSHOT</version>
- </parent>
-
- <artifactId>org.eclipse.linuxtools.lttng.alltests</artifactId>
- <version>3.1.0-SNAPSHOT</version>
- <packaging>eclipse-test-plugin</packaging>
-
- <name>Linux Tools LTTng Component All Tests</name>
-
- <properties>
- <perf.database.loc>//127.0.0.1</perf.database.loc>
- <perf.config>build=20140707-1632;host=myhost;config=linux;jvm=1.7</perf.config>
- <perfFilesDestination>target</perfFilesDestination>
- </properties>
-
- <build>
- <plugins>
- <plugin>
- <groupId>org.eclipse.tycho</groupId>
- <artifactId>tycho-surefire-plugin</artifactId>
- <version>${tycho-version}</version>
- <configuration>
- <argLine>-Declipse.perf.dbloc=${perf.database.loc} -Declipse.perf.config=${perf.config}</argLine>
- <runOrder>reversealphabetical</runOrder>
- <includes>
- <include>**/RunAllPerfTests.java</include>
- <include>**/PerfResultsToJSon.java</include>
- </includes>
- <useUIHarness>false</useUIHarness>
- <useUIThread>false</useUIThread>
- <product>org.eclipse.platform.ide</product>
- </configuration>
- </plugin>
- <plugin>
- <artifactId>maven-antrun-plugin</artifactId>
- <executions>
- <execution>
- <id>deploy-performance-files</id>
- <phase>install</phase>
- <goals>
- <goal>run</goal>
- </goals>
- <configuration>
- <target>
- <copy includeemptydirs="false"
- todir="${perfFilesDestination}">
- <fileset dir=".">
- <include name="*.json" />
- <include name="*.js" />
- </fileset>
- </copy>
- </target>
- </configuration>
- </execution>
- </executions>
- </plugin>
- <!-- We don't use the ant file to clean because of http://jira.codehaus.org/browse/MANTRUN-78 -->
- <plugin>
- <artifactId>maven-clean-plugin</artifactId>
- <version>2.5</version>
- <executions>
- <execution>
- <id>clean-performance-files</id>
- <phase>clean</phase>
- <configuration>
- <filesets>
- <fileset>
- <directory>.</directory>
- <includes>
- <include>*.json</include>
- <include>*.js</include>
- </includes>
- </fileset>
- </filesets>
- </configuration>
- <goals>
- <goal>clean</goal>
- </goals>
- </execution>
- </executions>
- </plugin>
- </plugins>
- </build>
-</project>
diff --git a/lttng/org.eclipse.linuxtools.lttng.alltests/src/org/eclipse/linuxtools/lttng/alltests/Activator.java b/lttng/org.eclipse.linuxtools.lttng.alltests/src/org/eclipse/linuxtools/lttng/alltests/Activator.java
deleted file mode 100644
index a159ffe48d..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng.alltests/src/org/eclipse/linuxtools/lttng/alltests/Activator.java
+++ /dev/null
@@ -1,173 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 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:
- * Marc-Andre Laperle - Initial implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.lttng.alltests;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Plugin;
-import org.eclipse.core.runtime.Status;
-import org.osgi.framework.BundleContext;
-
-/**
- * The activator class controls the plug-in life cycle. No more than one such
- * plug-in can exist at any time.
- * <p>
- * It also provides the plug-in's general logging facility and manages the
- * internal tracer.
- */
-public class Activator extends Plugin {
-
- /**
- * The plug-in ID
- */
- public static final String PLUGIN_ID = "org.eclipse.linuxtools.lttng.alltests"; //$NON-NLS-1$
-
- /**
- * The shared instance
- */
- private static Activator fPlugin;
-
- /**
- * Constructor
- */
- public Activator() {
- setDefault(this);
- }
-
- // ------------------------------------------------------------------------
- // Accessors
- // ------------------------------------------------------------------------
-
- /**
- * Returns the AllTests plug-in instance.
- *
- * @return the AllTests plug-in instance.
- */
- public static Activator getDefault() {
- return fPlugin;
- }
-
- // Sets plug-in instance
- private static void setDefault(Activator plugin) {
- fPlugin = plugin;
- }
-
- // ------------------------------------------------------------------------
- // Plugin
- // ------------------------------------------------------------------------
-
- @Override
- public void start(BundleContext context) throws Exception {
- super.start(context);
- setDefault(this);
- }
-
- @Override
- public void stop(BundleContext context) throws Exception {
- setDefault(null);
- super.stop(context);
- }
-
-
- /**
- * Log an IStatus object directly
- *
- * @param status
- * The status to log
- */
- public static void log(IStatus status) {
- fPlugin.getLog().log(status);
- }
-
- // ------------------------------------------------------------------------
- // Log INFO
- // ------------------------------------------------------------------------
-
- /**
- * Logs a message with severity INFO in the runtime log of the plug-in.
- *
- * @param message
- * A message to log
- */
- public static void logInfo(String message) {
- fPlugin.getLog().log(new Status(IStatus.INFO, PLUGIN_ID, message));
- }
-
- /**
- * Logs a message and exception with severity INFO in the runtime log of the
- * plug-in.
- *
- * @param message
- * A message to log
- * @param exception
- * The corresponding exception
- */
- public static void logInfo(String message, Throwable exception) {
- fPlugin.getLog().log(new Status(IStatus.INFO, PLUGIN_ID, message, exception));
- }
-
- // ------------------------------------------------------------------------
- // Log WARNING
- // ------------------------------------------------------------------------
-
- /**
- * Logs a message and exception with severity WARNING in the runtime log of
- * the plug-in.
- *
- * @param message
- * A message to log
- */
- public static void logWarning(String message) {
- fPlugin.getLog().log(new Status(IStatus.WARNING, PLUGIN_ID, message));
- }
-
- /**
- * Logs a message and exception with severity WARNING in the runtime log of
- * the plug-in.
- *
- * @param message
- * A message to log
- * @param exception
- * The corresponding exception
- */
- public static void logWarning(String message, Throwable exception) {
- fPlugin.getLog().log(new Status(IStatus.WARNING, PLUGIN_ID, message, exception));
- }
-
- // ------------------------------------------------------------------------
- // Log ERROR
- // ------------------------------------------------------------------------
-
- /**
- * Logs a message and exception with severity ERROR in the runtime log of
- * the plug-in.
- *
- * @param message
- * A message to log
- */
- public static void logError(String message) {
- fPlugin.getLog().log(new Status(IStatus.ERROR, PLUGIN_ID, message));
- }
-
- /**
- * Logs a message and exception with severity ERROR in the runtime log of
- * the plug-in.
- *
- * @param message
- * A message to log
- * @param exception
- * The corresponding exception
- */
- public static void logError(String message, Throwable exception) {
- fPlugin.getLog().log(new Status(IStatus.ERROR, PLUGIN_ID, message, exception));
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.lttng.alltests/src/org/eclipse/linuxtools/lttng/alltests/RunAllCoreTests.java b/lttng/org.eclipse.linuxtools.lttng.alltests/src/org/eclipse/linuxtools/lttng/alltests/RunAllCoreTests.java
deleted file mode 100644
index b35dc7e278..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng.alltests/src/org/eclipse/linuxtools/lttng/alltests/RunAllCoreTests.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013, 2014 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:
- * Alexandre Montplaisir - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.lttng.alltests;
-
-import org.junit.runner.RunWith;
-import org.junit.runners.Suite;
-
-/**
- * Master test suite for all Linux Tools LTTng unit tests.
- */
-@RunWith(Suite.class)
-@Suite.SuiteClasses({
- org.eclipse.linuxtools.btf.core.tests.AllTests.class,
- org.eclipse.linuxtools.ctf.core.tests.AllCtfCoreTests.class,
- org.eclipse.linuxtools.ctf.parser.tests.AllCtfParserTests.class,
- org.eclipse.linuxtools.gdbtrace.core.tests.AllGdbTraceCoreTests.class,
- org.eclipse.linuxtools.lttng2.control.core.tests.AllTests.class,
- org.eclipse.linuxtools.lttng2.kernel.core.tests.AllTests.class,
- org.eclipse.linuxtools.lttng2.ust.core.tests.AllTests.class,
- org.eclipse.linuxtools.pcap.core.tests.AllPcapCoreTests.class,
- org.eclipse.linuxtools.statesystem.core.tests.AllTests.class,
- org.eclipse.linuxtools.tmf.analysis.xml.core.tests.AllAnalysisXmlCoreTests.class,
- org.eclipse.linuxtools.tmf.core.tests.AllTmfCoreTests.class,
- org.eclipse.linuxtools.tmf.ctf.core.tests.AllTests.class,
- org.eclipse.linuxtools.tmf.pcap.core.tests.AllTmfPcapCoreTests.class
-})
-public class RunAllCoreTests {
-
-}
diff --git a/lttng/org.eclipse.linuxtools.lttng.alltests/src/org/eclipse/linuxtools/lttng/alltests/RunAllUITests.java b/lttng/org.eclipse.linuxtools.lttng.alltests/src/org/eclipse/linuxtools/lttng/alltests/RunAllUITests.java
deleted file mode 100644
index 56030d33ac..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng.alltests/src/org/eclipse/linuxtools/lttng/alltests/RunAllUITests.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013, 2014 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:
- * Alexandre Montplaisir - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.lttng.alltests;
-
-import org.junit.runner.RunWith;
-import org.junit.runners.Suite;
-
-/**
- * Master test suite for all Linux Tools LTTng unit tests.
- */
-@RunWith(Suite.class)
-@Suite.SuiteClasses({
- org.eclipse.linuxtools.gdbtrace.ui.tests.AllGdbTraceUITests.class,
- org.eclipse.linuxtools.lttng2.control.ui.tests.AllTests.class,
- org.eclipse.linuxtools.lttng2.kernel.ui.tests.AllTests.class,
- org.eclipse.linuxtools.lttng2.ust.ui.tests.AllTests.class,
- org.eclipse.linuxtools.tmf.analysis.xml.ui.tests.AllAnalysisXmlUiTests.class,
- org.eclipse.linuxtools.tmf.ui.tests.AllTmfUITests.class,
-})
-public class RunAllUITests {
-
-}
diff --git a/lttng/org.eclipse.linuxtools.lttng.alltests/src/org/eclipse/linuxtools/lttng/alltests/perf/PerfResultsToJSon.java b/lttng/org.eclipse.linuxtools.lttng.alltests/src/org/eclipse/linuxtools/lttng/alltests/perf/PerfResultsToJSon.java
deleted file mode 100644
index 1b02935b6b..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng.alltests/src/org/eclipse/linuxtools/lttng/alltests/perf/PerfResultsToJSon.java
+++ /dev/null
@@ -1,624 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 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:
- * Marc-Andre Laperle - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.lttng.alltests.perf;
-
-import java.io.FileWriter;
-import java.io.IOException;
-import java.text.ParseException;
-import java.text.SimpleDateFormat;
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.Iterator;
-import java.util.List;
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
-
-import org.eclipse.linuxtools.lttng.alltests.Activator;
-import org.eclipse.test.internal.performance.PerformanceTestPlugin;
-import org.eclipse.test.internal.performance.data.Dim;
-import org.eclipse.test.internal.performance.db.DB;
-import org.eclipse.test.internal.performance.db.Scenario;
-import org.eclipse.test.internal.performance.db.SummaryEntry;
-import org.eclipse.test.internal.performance.db.TimeSeries;
-import org.eclipse.test.internal.performance.db.Variations;
-import org.json.JSONArray;
-import org.json.JSONException;
-import org.json.JSONObject;
-import org.junit.Test;
-
-/**
- * Convert results from the database to JSON suitable for display.
- *
- * Normal charts:
- *
- * Individual charts are generated into JSON files in the form chart#.json where
- * # is incremented for each new chart. A chart contains data points consisting
- * of X and Y values suitable for a line chart. Each point can also have
- * additional data, for example the commit id. This format is compatible with
- * nvd3. For example:
- *
- * <pre>
- * <code>
- * [{
- * "key": "Experiment Benchmark:84 traces",
- * "values": [{
- * "label": {"commit": "fe3c142"},
- * "x": 1405024320000,
- * "y": 17592
- * }]
- * }]
- * </code>
- * </pre>
- *
- * Normal charts metadata:
- *
- * Each chart has an entry in the metada.js file which organizes the charts per
- * component and contains additional information to augment the format expected
- * by nvd3. Each entry contains the combination of OS and JVM, the filename (in
- * JSON format), the title of the chart, the unit (seconds, etc) and the
- * dimension (CPU time, used heap, etc).
- *
- * <pre>
- * <code>
- * var MetaData = {
- * "applicationComponents": {
- * "Experiment benchmark": {
- * "name": "Experiment benchmark",
- * "tests": [
- * {
- * "dimension": "CPU Time",
- * "file": "chart12",
- * "jvm": "1.7",
- * "os": "linux",
- * "title": "Experiment Benchmark:84 traces",
- * "unit": "s"
- * },
- * {
- * "dimension": "CPU Time",
- * "file": "chart11",
- * "jvm": "1.7",
- * "os": "linux",
- * "title": "Experiment Benchmark:6 traces",
- * "unit": "s"
- * },
- * ...
- * </code>
- * </pre>
- *
- * Overview charts:
- *
- * In addition to the normal charts, overview charts are generated. An overview
- * chart presents a summary of the scenarios ran for a given OS and JVM
- * combination. Only scenarios marked as "global" are added to the overview
- * because of space concerns. Overview charts are generated under the
- * chart_overview#.json name and look similar in structure to the normal charts
- * except that they contain more than one series.
- *
- * <pre>
- * <code>
- * [
- * {
- * "key": "CTF Read & Seek Benchmark (500 seeks):tr",
- * "values": [
- * {
- * "label": {"commit": "4d34345"},
- * "x": 1405436820000,
- * "y": 5382.5
- * },
- * ...
- * ]
- * },
- * {
- * "key": "CTF Read Benchmark:trace-kernel",
- * "values": [
- * {
- * "label": {"commit": "4d34345"},
- * "x": 1405436820000,
- * "y": 1311.5
- * },
- * ...
- * ]
- * },
- * ...
- * </code>
- * </pre>
- *
- * Overview charts metadata:
- *
- * Overview charts also have similar metadata entries to normal charts except
- * they are not organized by component.
- *
- * <pre>
- * <code>
- * var MetaData = {
- * ...
- * "overviews": {
- * "1": {
- * "dimension": "",
- * "file": "chart_overview0",
- * "jvm": "1.7",
- * "os": "linux",
- * "title": "linux / 1.7",
- * "unit": ""
- * },
- * "2": {
- * "dimension": "",
- * "file": "chart_overview1",
- * "jvm": "1.7",
- * "os": "windows",
- * "title": "windows / 1.7",
- * "unit": ""
- * },
- * ...
- * </code>
- * </pre>
- *
- * Finally, since we want to be able to filter all the charts by OS/JVM
- * combination, there is a section in the metadata that lists all the
- * combinations:
- *
- * <pre>
- * <code>
- * "osjvm": {
- * "1": {
- * "description": "linux / 1.7",
- * "jvm": "1.7",
- * "os": "linux"
- * },
- * "2": {
- * "description": "windows / 1.7",
- * "jvm": "1.7",
- * "os": "windows"
- * },
- * "3": {
- * "description": "mac / 1.7",
- * "jvm": "1.7",
- * "os": "mac"
- * }
- * },
- * </code>
- * </pre>
- *
- * All of this data is meant to be view on a website. Specifically, the source
- * code for our implementation is available on GitHub at
- * https://github.com/PSRCode/ITCFYWebsite
- *
- * It makes use of the NVD3 project to display the charts based on the data
- * generated by this class.
- */
-public class PerfResultsToJSon {
-
- /*
- * Labels
- */
- private static final String APPLICATION_COMPONENTS_LABEL = "applicationComponents";
- private static final String BUILD_LABEL = "build";
- private static final String COMMIT_LABEL = "commit";
- private static final String CONFIG_LABEL = "config";
- private static final String DESCRIPTION_LABEL = "description";
- private static final String DIMENSION_LABEL = "dimension";
- private static final String FILE_LABEL = "file";
- private static final String HOST_LABEL = "host";
- private static final String JVM_LABEL = "jvm";
- private static final String KEY_LABEL = "key";
- private static final String LABEL_LABEL = "label";
- private static final String NAME_LABEL = "name";
- private static final String OS_LABEL = "os";
- private static final String OSJVM_LABEL = "osjvm";
- private static final String OVERVIEWS_LABEL = "overviews";
- private static final String TESTS_LABEL = "tests";
- private static final String TITLE_LABEL = "title";
- private static final String UNIT_LABEL = "unit";
- private static final String VALUES_LABEL = "values";
- private static final String X_LABEL = "x";
- private static final String Y_LABEL = "y";
-
- private static final String BUILD_DATE_FORMAT = "yyyyMMdd-HHmm";
- private static final String OVERVIEW_CHART_FILE_NAME = "chart_overview";
- private static final String METADATA_FILE_NAME = "meta";
- private static final String METADATA_FILE_NAME_EXTENSION = ".js";
- private static final String CHART_FILE_NAME = "chart";
- private static final String CHART_FILE_NAME_EXTENSION = ".json";
- private static final String WILDCARD_PATTERN = "%";
- private static final String COMPONENT_SEPARATOR = "#";
- private static final String META_DATA_JAVASCRIPT_START = "var MetaData = ";
-
- private static Pattern BUILD_DATE_PATTERN = Pattern.compile("(\\w+-\\w+)(-\\w+)?");
- private static Pattern COMMIT_PATTERN = Pattern.compile(".*-.*-(.*)");
-
- private JSONObject fApplicationComponents = new JSONObject();
- private JSONObject fOverviews = new JSONObject();
-
- private int fNumChart = 0;
- private int fNumOverviewChart = 0;
-
- /**
- * Convert results from the database to JSON suitable for display
- *
- * <pre>
- * For each variant (os/jvm combination)
- * - For each summary entry (scenario)
- * - Generate a chart
- * - Add it to global summary (if needed)
- * - Create the metadata for this test
- * - Create an overview chart for this os/jvm
- * </pre>
- *
- * @throws JSONException
- * JSON error
- * @throws IOException
- * IO error
- */
- @Test
- public void parseResults() throws JSONException, IOException {
- Variations configVariations = PerformanceTestPlugin.getVariations();
- JSONObject osJvmVariants = createOsJvm();
-
- Iterator<?> keysIt = osJvmVariants.keys();
- while (keysIt.hasNext()) {
- JSONArray overviewSummarySeries = new JSONArray();
-
- JSONObject variant = osJvmVariants.getJSONObject((String) keysIt.next());
- String seriesKey = PerformanceTestPlugin.BUILD;
-
- // Clone the variations from the environment because it might have
- // extra parameters like host=, etc.
- Variations buildVariations = (Variations) configVariations.clone();
- buildVariations.setProperty(JVM_LABEL, variant.getString(JVM_LABEL));
- buildVariations.setProperty(CONFIG_LABEL, variant.getString(OS_LABEL));
- buildVariations.setProperty(BUILD_LABEL, WILDCARD_PATTERN);
-
- Scenario[] scenarios = DB.queryScenarios(buildVariations, WILDCARD_PATTERN, seriesKey, null);
- SummaryEntry[] summaryEntries = DB.querySummaries(buildVariations, WILDCARD_PATTERN);
- for (SummaryEntry entry : summaryEntries) {
- Scenario scenario = getScenario(entry.scenarioName, scenarios);
- JSONObject scenarioSeries = createScenarioChart(scenario, entry, buildVariations);
- // Add to global summary
- if (scenarioSeries != null && entry.isGlobal) {
- overviewSummarySeries.put(scenarioSeries);
- }
- }
-
- JSONObject overviewMetadata = createOverviewChart(overviewSummarySeries, buildVariations);
- fOverviews.put(Integer.toString(fNumOverviewChart), overviewMetadata);
- }
-
- // Create the matadata javascript file that includes OS/JVM combinations
- // (for filtering), application components and overviews (one of OS/JVM
- // combination)
- JSONObject rootMetadata = new JSONObject();
- rootMetadata.put(OSJVM_LABEL, osJvmVariants);
- rootMetadata.put(APPLICATION_COMPONENTS_LABEL, fApplicationComponents);
- rootMetadata.put(OVERVIEWS_LABEL, fOverviews);
- try (FileWriter fw1 = new FileWriter(METADATA_FILE_NAME + METADATA_FILE_NAME_EXTENSION)) {
- fw1.write(META_DATA_JAVASCRIPT_START + rootMetadata.toString(4));
- }
- }
-
- /**
- * Create chart for a scenario instance and add it to the relevant metadatas
- *
- * @param scenario
- * the scenario. For example,
- * "CTF Read & Seek Benchmark (500 seeks)".
- * @param entry
- * an entry from the summary. Only scenarios that are part of the
- * summary are processed.
- * @param variations
- * all variations to consider to create the scenario chart. For
- * example build=%;jvm=1.7;config=linux will generate a chart for
- * all builds on Linux / JVM 1.7
- *
- * @return
- * @throws JSONException
- * JSON error
- * @throws IOException
- * IO error
- */
- private JSONObject createScenarioChart(Scenario scenario, SummaryEntry entry, Variations variations) throws JSONException, IOException {
- if (scenario == null) {
- return null;
- }
- String[] split = entry.scenarioName.split(COMPONENT_SEPARATOR);
- if (split.length < 3) {
- Activator.logError("Invalid scenario name \"" + entry.scenarioName + "\", it must be in format: org.package.foo#component#test");
- return null;
- }
-
- // Generate individual chart
- JSONArray rootScenario = new JSONArray();
- JSONObject series = createSerie(scenario, variations, entry.shortName, entry.dimension);
- rootScenario.put(series);
- int numChart = fNumChart++;
- try (FileWriter fw = new FileWriter(CHART_FILE_NAME + numChart + CHART_FILE_NAME_EXTENSION)) {
- fw.write(rootScenario.toString(4));
- }
-
- // Create the metadata
- JSONObject testMetadata = new JSONObject();
- testMetadata.put(TITLE_LABEL, entry.shortName);
- testMetadata.put(FILE_LABEL, CHART_FILE_NAME + numChart);
- testMetadata.put(OS_LABEL, variations.getProperty(CONFIG_LABEL));
- testMetadata.put(JVM_LABEL, variations.getProperty(JVM_LABEL));
- testMetadata.put(DIMENSION_LABEL, entry.dimension.getName());
- testMetadata.put(UNIT_LABEL, entry.dimension.getUnit().getShortName());
-
- // Add the scenario to the metadata, under the correct component
- String componentName = split[1];
- JSONObject componentObject = null;
- if (fApplicationComponents.has(componentName)) {
- componentObject = fApplicationComponents.getJSONObject(componentName);
- } else {
- componentObject = new JSONObject();
- componentObject.put(NAME_LABEL, componentName);
- componentObject.put(TESTS_LABEL, new JSONArray());
- fApplicationComponents.put(componentName, componentObject);
- }
- JSONArray tests = componentObject.getJSONArray(TESTS_LABEL);
- tests.put(testMetadata);
-
- return series;
- }
-
- /**
- * Create an overview chart for this OS / JVM combination. The chart is made
- * of multiple series (scenarios) that were marked as global.
- *
- * @param overviewSummarySeries
- * an array of series to include in the chart (multiple
- * scenarios)
- * @param variations
- * the variations used to generate the series to be included in
- * this overview chart. For example build=%;jvm=1.7;config=linux
- * will generate an overview chart for Linux / JVM 1.7
- * @return the overview metadata JSON object
- * @throws JSONException
- * JSON error
- * @throws IOException
- * io error
- */
- private JSONObject createOverviewChart(JSONArray overviewSummarySeries, Variations variations) throws IOException, JSONException {
- int numOverviewChart = fNumOverviewChart++;
- try (FileWriter fw = new FileWriter(OVERVIEW_CHART_FILE_NAME + numOverviewChart + CHART_FILE_NAME_EXTENSION)) {
- fw.write(overviewSummarySeries.toString(4));
- }
-
- String os = variations.getProperty(CONFIG_LABEL);
- String jvm = variations.getProperty(JVM_LABEL);
-
- // Create the overview metadata
- JSONObject overviewMetadata = new JSONObject();
- overviewMetadata.put(TITLE_LABEL, os + " / " + jvm);
- overviewMetadata.put(FILE_LABEL, OVERVIEW_CHART_FILE_NAME + numOverviewChart);
- overviewMetadata.put(OS_LABEL, os);
- overviewMetadata.put(JVM_LABEL, jvm);
- overviewMetadata.put(DIMENSION_LABEL, "");
- overviewMetadata.put(UNIT_LABEL, "");
-
- return overviewMetadata;
- }
-
- private static Scenario getScenario(String scenarioName, Scenario[] scenarios) {
- for (int i = 0; i < scenarios.length; i++) {
- Scenario s = scenarios[i];
- if (s.getScenarioName().equals(scenarioName)) {
- return s;
- }
-
- }
- return null;
- }
-
- /**
- * Get all combinations of OS / JVM. This will be used for filtering.
- *
- * @return the JSON object containing all the combinations
- * @throws JSONException
- * JSON error
- */
- private static JSONObject createOsJvm() throws JSONException {
- JSONObject osjvm = new JSONObject();
- List<String> oses = getDistinctOses();
-
- int osJvmIndex = 1;
- for (String os : oses) {
- String key = JVM_LABEL;
- Variations v = new Variations();
-
- v.setProperty(BUILD_LABEL, WILDCARD_PATTERN);
- v.setProperty(HOST_LABEL, WILDCARD_PATTERN);
- v.setProperty(CONFIG_LABEL, os);
- v.setProperty(JVM_LABEL, WILDCARD_PATTERN);
-
- List<String> jvms = new ArrayList<>();
- DB.queryDistinctValues(jvms, key, v, WILDCARD_PATTERN);
- for (String jvm : jvms) {
- JSONObject osjvmItem = new JSONObject();
- osjvmItem.put(OS_LABEL, os);
- osjvmItem.put(JVM_LABEL, jvm);
- osjvmItem.put(DESCRIPTION_LABEL, os + " / " + jvm);
- osjvm.put(Integer.toString(osJvmIndex), osjvmItem);
- osJvmIndex++;
- }
- }
-
- return osjvm;
- }
-
- /**
- * Get all the distinct OS values
- *
- * @return the distinct OS values
- */
- private static List<String> getDistinctOses() {
- List<String> configs = new ArrayList<>();
- String key = PerformanceTestPlugin.CONFIG;
- Variations v = new Variations();
- v.setProperty(WILDCARD_PATTERN, WILDCARD_PATTERN);
- DB.queryDistinctValues(configs, key, v, WILDCARD_PATTERN);
- return configs;
- }
-
- /**
- * This main can be run from within Eclipse provided everything is on the
- * class path.
- *
- * @param args
- * the arguments
- * @throws JSONException
- * JSON error
- * @throws IOException
- * io error
- */
- public static void main(String[] args) throws JSONException, IOException {
- new PerfResultsToJSon().parseResults();
- }
-
- /**
- * Create a series of data points for a given scenario through variations
- *
- * @param scenario
- * the scenario. For example,
- * "CTF Read & Seek Benchmark (500 seeks)".
- * @param variations
- * all variations to consider to create the series. For example
- * build=%;jvm=1.7;config=linux will generate the series for all
- * builds on Linux / JVM 1.7
- * @param shortName
- * the short name of the scenario
- * @param dimension
- * the dimension of interest (CPU time, used java heap, etc).
- * @return the generated JSON object representing a series of data points
- * for this scenario
- * @throws JSONException
- */
- private static JSONObject createSerie(Scenario scenario, Variations variations, String shortName, Dim dimension) throws JSONException {
- JSONObject o = new JSONObject();
- o.putOpt(KEY_LABEL, shortName);
- o.putOpt(VALUES_LABEL, createDataPoints(scenario, variations, dimension));
- return o;
- }
-
- /**
- * Create data points for a given scenario and variations.
- *
- * @param s
- * the scenario. For example,
- * "CTF Read & Seek Benchmark (500 seeks)".
- * @param variations
- * all variations to consider to create the data points. For
- * example build=%;jvm=1.7;config=linux will generate the data
- * points for all builds on Linux / JVM 1.7
- * @param dimension
- * the dimension of interest (CPU time, used java heap, etc).
- *
- * @return the generated JSON array of points
- * @throws JSONException
- * JSON error
- */
- private static JSONArray createDataPoints(Scenario s, Variations variations, Dim dimension) throws JSONException {
- // Can be uncommented to see raw dump
- //s.dump(System.out, PerformanceTestPlugin.BUILD);
-
- String[] builds = DB.querySeriesValues(s.getScenarioName(), variations, PerformanceTestPlugin.BUILD);
- Date[] dates = new Date[builds.length];
- String[] commits = new String[builds.length];
- for (int i = 0; i < builds.length; i++) {
- dates[i] = parseBuildDate(builds[i]);
- commits[i] = parseCommit(builds[i]);
- }
-
- TimeSeries timeSeries = s.getTimeSeries(dimension);
- JSONArray dataPoints = new JSONArray();
- int length = timeSeries.getLength();
- for (int i = 0; i < length; i++) {
- JSONObject point = new JSONObject();
- if (dates[i] == null) {
- continue;
- }
- point.put(X_LABEL, dates[i].getTime());
- double value = 0;
- if (timeSeries.getCount(i) > 0) {
- value = timeSeries.getValue(i);
- if (Double.isNaN(value)) {
- value = 0;
- }
- }
- point.put(Y_LABEL, value);
- dataPoints.put(point);
- point.put(LABEL_LABEL, createLabel(commits[i]));
- }
- return dataPoints;
- }
-
- /**
- * Create a label JSONObject which is used to attach more information to a
- * data point.
- *
- * @param commit
- * the commit id for this data point
- * @return the resulting JSON object
- * @throws JSONException
- * JSON error
- */
- private static JSONObject createLabel(String commit) throws JSONException {
- /*
- * Here we could add more information about this specific data point
- * like the commit author, the commit message, etc.
- */
- JSONObject label = new JSONObject();
- if (commit != null && !commit.isEmpty()) {
- label.put(COMMIT_LABEL, commit);
- }
- return label;
- }
-
- /**
- * Get the commit id out of the build= string
- *
- * @param build
- * the build string
- * @return the parsed commit id
- */
- private static String parseCommit(String build) {
- Matcher matcher = COMMIT_PATTERN.matcher(build);
- if (matcher.matches()) {
- return matcher.group(1);
- }
- return null;
- }
-
- /**
- * Get the Date out of the build= string
- *
- * @param build
- * the build string
- * @return the parsed Date
- */
- private static Date parseBuildDate(String build) {
- Matcher matcher = BUILD_DATE_PATTERN.matcher(build);
- Date date = null;
- if (matcher.matches()) {
- String dateStr = matcher.group(1);
- SimpleDateFormat f = new SimpleDateFormat(BUILD_DATE_FORMAT);
- try {
- date = dateStr.length() > BUILD_DATE_FORMAT.length() ?
- f.parse(dateStr.substring(dateStr.length() - BUILD_DATE_FORMAT.length())) :
- f.parse(dateStr);
- } catch (ParseException e) {
- return null;
- }
- }
- return date;
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.lttng.alltests/src/org/eclipse/linuxtools/lttng/alltests/perf/RunAllPerfTests.java b/lttng/org.eclipse.linuxtools.lttng.alltests/src/org/eclipse/linuxtools/lttng/alltests/perf/RunAllPerfTests.java
deleted file mode 100644
index 623005644a..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng.alltests/src/org/eclipse/linuxtools/lttng/alltests/perf/RunAllPerfTests.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 École Polytechnique de Montréal
- *
- * 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:
- * Geneviève Bastien - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.lttng.alltests.perf;
-
-import org.junit.runner.RunWith;
-import org.junit.runners.Suite;
-
-/**
- * Master test suite for all Linux Tools LTTng performance tests.
- */
-@RunWith(Suite.class)
-@Suite.SuiteClasses({
- org.eclipse.linuxtools.ctf.core.tests.perf.AllPerfTests.class,
- org.eclipse.linuxtools.lttng2.kernel.core.tests.perf.AllPerfTests.class,
- org.eclipse.linuxtools.pcap.core.tests.perf.AllPerfTests.class,
- org.eclipse.linuxtools.tmf.core.tests.perf.AllPerfTests.class,
- org.eclipse.linuxtools.tmf.ctf.core.tests.perf.AllPerfTests.class
-})
-public class RunAllPerfTests {
-
-}
diff --git a/lttng/org.eclipse.linuxtools.lttng.alltests/src/org/eclipse/linuxtools/lttng/alltests/swtbot/RunAllSWTBotTests.java b/lttng/org.eclipse.linuxtools.lttng.alltests/src/org/eclipse/linuxtools/lttng/alltests/swtbot/RunAllSWTBotTests.java
deleted file mode 100644
index b94cab57b8..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng.alltests/src/org/eclipse/linuxtools/lttng/alltests/swtbot/RunAllSWTBotTests.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 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:
- * Marc-Andre Laperle - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.lttng.alltests.swtbot;
-
-import org.junit.runner.RunWith;
-import org.junit.runners.Suite;
-
-/**
- * Master test suite for all SWTBot Linux Tools LTTng unit tests.
- *
- * Note that the SWTBot tests need to be executed in a non-UI thread
- * which is why they are separated in a different test suite.
- */
-@RunWith(Suite.class)
-@Suite.SuiteClasses({
- org.eclipse.linuxtools.tmf.ui.swtbot.tests.AllTmfUISWTBotTests.class,
- org.eclipse.linuxtools.tmf.ctf.ui.swtbot.tests.AllTests.class,
- org.eclipse.linuxtools.tmf.pcap.ui.swtbot.tests.AllTests.class,
- org.eclipse.linuxtools.lttng2.kernel.ui.swtbot.tests.AllTests.class
-})
-public class RunAllSWTBotTests {
-
-}
diff --git a/lttng/org.eclipse.linuxtools.lttng.help/.empty.dtd b/lttng/org.eclipse.linuxtools.lttng.help/.empty.dtd
deleted file mode 100644
index e69de29bb2..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng.help/.empty.dtd
+++ /dev/null
diff --git a/lttng/org.eclipse.linuxtools.lttng.help/.externalToolBuilders/Lttng Help Build.launch b/lttng/org.eclipse.linuxtools.lttng.help/.externalToolBuilders/Lttng Help Build.launch
deleted file mode 100644
index 6c6310311e..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng.help/.externalToolBuilders/Lttng Help Build.launch
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<launchConfiguration type="org.eclipse.ant.AntBuilderLaunchConfigurationType">
-<stringAttribute key="org.eclipse.ant.ui.ATTR_ANT_CLEAN_TARGETS" value="clean,"/>
-<booleanAttribute key="org.eclipse.ant.ui.ATTR_TARGETS_UPDATED" value="true"/>
-<booleanAttribute key="org.eclipse.ant.ui.DEFAULT_VM_INSTALL" value="false"/>
-<stringAttribute key="org.eclipse.debug.core.ATTR_REFRESH_SCOPE" value="${working_set:&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;&#10;&lt;resources&gt;&#10;&lt;item path=&quot;/org.eclipse.linuxtools.lttng.help&quot; type=&quot;4&quot;/&gt;&#10;&lt;/resources&gt;}"/>
-<booleanAttribute key="org.eclipse.debug.ui.ATTR_LAUNCH_IN_BACKGROUND" value="false"/>
-<stringAttribute key="org.eclipse.jdt.launching.CLASSPATH_PROVIDER" value="org.eclipse.ant.ui.AntClasspathProvider"/>
-<booleanAttribute key="org.eclipse.jdt.launching.DEFAULT_CLASSPATH" value="true"/>
-<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="org.eclipse.linuxtools.lttng.help"/>
-<mapAttribute key="org.eclipse.ui.externaltools.ATTR_ANT_PROPERTIES">
-<mapEntry key="eclipse.home" value="${eclipse_home}"/>
-</mapAttribute>
-<stringAttribute key="org.eclipse.ui.externaltools.ATTR_LOCATION" value="${workspace_loc:/org.eclipse.linuxtools.lttng.help/build.xml}"/>
-<stringAttribute key="org.eclipse.ui.externaltools.ATTR_RUN_BUILD_KINDS" value="incremental,clean"/>
-<booleanAttribute key="org.eclipse.ui.externaltools.ATTR_TRIGGERS_CONFIGURED" value="true"/>
-</launchConfiguration>
diff --git a/lttng/org.eclipse.linuxtools.lttng.help/.project b/lttng/org.eclipse.linuxtools.lttng.help/.project
deleted file mode 100644
index 73ca2176b0..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng.help/.project
+++ /dev/null
@@ -1,36 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>org.eclipse.linuxtools.lttng.help</name>
- <comment></comment>
- <projects>
- </projects>
- <buildSpec>
- <buildCommand>
- <name>org.eclipse.ui.externaltools.ExternalToolBuilder</name>
- <triggers>clean,full,incremental,</triggers>
- <arguments>
- <dictionary>
- <key>LaunchConfigHandle</key>
- <value>&lt;project&gt;/.externalToolBuilders/Lttng Help Build.launch</value>
- </dictionary>
- <dictionary>
- <key>incclean</key>
- <value>true</value>
- </dictionary>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.ManifestBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.SchemaBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>org.eclipse.pde.PluginNature</nature>
- </natures>
-</projectDescription>
diff --git a/lttng/org.eclipse.linuxtools.lttng.help/.settings/org.eclipse.core.resources.prefs b/lttng/org.eclipse.linuxtools.lttng.help/.settings/org.eclipse.core.resources.prefs
deleted file mode 100644
index 99f26c0203..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng.help/.settings/org.eclipse.core.resources.prefs
+++ /dev/null
@@ -1,2 +0,0 @@
-eclipse.preferences.version=1
-encoding/<project>=UTF-8
diff --git a/lttng/org.eclipse.linuxtools.lttng.help/.settings/org.eclipse.core.runtime.prefs b/lttng/org.eclipse.linuxtools.lttng.help/.settings/org.eclipse.core.runtime.prefs
deleted file mode 100644
index 5a0ad22d2a..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng.help/.settings/org.eclipse.core.runtime.prefs
+++ /dev/null
@@ -1,2 +0,0 @@
-eclipse.preferences.version=1
-line.separator=\n
diff --git a/lttng/org.eclipse.linuxtools.lttng.help/META-INF/MANIFEST.MF b/lttng/org.eclipse.linuxtools.lttng.help/META-INF/MANIFEST.MF
deleted file mode 100644
index 3f5c61860b..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng.help/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,8 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %Bundle-Name
-Bundle-Vendor: %Bundle-Vendor
-Bundle-Version: 3.1.0.qualifier
-Bundle-Localization: plugin
-Bundle-SymbolicName: org.eclipse.linuxtools.lttng.help;singleton:=true
-Require-Bundle: org.eclipse.help
diff --git a/lttng/org.eclipse.linuxtools.lttng.help/README b/lttng/org.eclipse.linuxtools.lttng.help/README
deleted file mode 100644
index 38b3f9df7c..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng.help/README
+++ /dev/null
@@ -1,19 +0,0 @@
-This describes how to build the documentation found in the o.e.l.lttng.help
-plugin.
-
-
-Your Eclipse environment first needs to have the "Mylyn Wikitext" plugin
-installed. It can be found in the default Eclipse repository, under
-"Collaboration".
-
-Once that is installed, you should be able to use the manual Eclipse builder to
-generate the doc : select the lttng.help plugin and choose, in the top-menu,
-"Project -> Build Project".
-
-It uses the build.xml Ant script, but it's recommended to run it from within
-Eclipse, since the builder will pass some environment variables that the script
-needs.
-
-You might get a warning from build.properties because of a missing file. This
-file gets generated with the rest of the doc, so once you have run these steps
-(and refreshed the project if needed), the warning should disappear. \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.lttng.help/about.html b/lttng/org.eclipse.linuxtools.lttng.help/about.html
deleted file mode 100644
index c258ef55d8..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng.help/about.html
+++ /dev/null
@@ -1,28 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
-<title>About</title>
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
-
-<p>June 5, 2006</p>
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;). Unless otherwise
-indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is available
-at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is
-being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content. Check the Redistributor's license that was
-provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at <a href="http://www.eclipse.org/">http://www.eclipse.org</a>.</p>
-
-</body>
-</html> \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.lttng.help/book.css b/lttng/org.eclipse.linuxtools.lttng.help/book.css
deleted file mode 100644
index 797473964a..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng.help/book.css
+++ /dev/null
@@ -1,59 +0,0 @@
-/* following font face declarations need to be removed for DBCS */
-
-
-body, h1, h2, h3, h4, p, table, td, caption, th, ul, ol, dl, li, dd, dt {font-family: Arial, sans-serif; color: #000000}
-pre { font-family: Courier, monospace}
-
-/* end font face declarations */
-
-/* following font size declarations should be OK for DBCS */
-body, h1, h2, h3, h4, p, table, td, caption, th, ul, ol, dl, li, dd, dt {font-size: 12pt; }
-pre { font-size: 12pt}
-
-/* end font size declarations */
-
-body { background: #FFFFFF}
-h1 { font-size: 18pt; margin-top: 5; margin-bottom: 1 }
-h2 { font-size: 14pt; margin-top: 25; margin-bottom: 3 }
-h3 { font-size: 11pt; margin-top: 20; margin-bottom: 3 }
-h4 { font-size: 10pt; margin-top: 20; margin-bottom: 3; font-style: italic }
-h5 { font size: 13.5pt; }
-p { font-size: 12pt; }
-pre { margin-left: 6; font-size: 9pt }
-
-a:link { color: #006699 }
-a:visited { color: #996699 }
-a:hover { color: #006699 }
-
-ul { margin-top: 0; margin-bottom: 10 }
-li { margin-top: 0; margin-bottom: 0 }
-li p { margin-top: 0; margin-bottom: 0 }
-ol { margin-top: 0; margin-bottom: 10 }
-dl { margin-top: 0; margin-bottom: 10 }
-dt { margin-top: 0; margin-bottom: 0; font-weight: bold }
-dd { margin-top: 0; margin-bottom: 0 }
-strong { font-weight: bold}
-em { font-style: italic}
-var { font-style: italic}
-div.revision { border-left-style: solid; border-left-width: thin;
- border-left-color: #7B68EE; padding-left:5 }
-th { font-weight: bold }
-.hidden {
- display: none;
-}
-
-/* Mike Behm's addition to the style sheet */
-.userinput { font-family: monospace; }
-.guitab, .important, .guibutton, .selectblue, .guimenu, .guilabel,
-.notetitle {
- color: #000000;
- font-family: helvetica, arial, sans-serif;
- font-weight: bold;
- }
-div.linux {display:none;}
-.firsterm {font-style:italic;}
-
-.typewriter {font-family:monospace;}
-.bold {font-weight:600;}
-.linethrough {text-decoration: line-through;}
-.underline {text-decoration: underline;}
diff --git a/lttng/org.eclipse.linuxtools.lttng.help/build.properties b/lttng/org.eclipse.linuxtools.lttng.help/build.properties
deleted file mode 100644
index df5ec6a3ff..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng.help/build.properties
+++ /dev/null
@@ -1,22 +0,0 @@
-###############################################################################
-# Copyright (c) 2013, 2014 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:
-# Ericsson - Initial API and implementation
-###############################################################################
-
-bin.includes = plugin.xml,\
- META-INF/,\
- about.html,\
- plugin.properties,\
- book.css,\
- doc/,\
- reference/
-jars.extra.classpath = platform:/plugin/org.eclipse.mylyn.wikitext.core,\
- platform:/plugin/org.eclipse.mylyn.wikitext.mediawiki.core
-src.includes = about.html
diff --git a/lttng/org.eclipse.linuxtools.lttng.help/build.xml b/lttng/org.eclipse.linuxtools.lttng.help/build.xml
deleted file mode 100644
index 8552ac9845..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng.help/build.xml
+++ /dev/null
@@ -1,90 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project name="org.eclipse.linuxtools.lttng.help" default="build">
- <description>
- Generate Eclipse help content for the Linux Tools LTTng user guide
- </description>
-
- <!-- Set correct values -->
- <property name="help.doc.url.base" value="http://wiki.eclipse.org" />
- <property name="ug.path" value="Linux_Tools_Project/LTTng2/User_Guide" />
- <property name="ug.title" value="LTTng Plug-in User Guide" />
-
- <path id="wikitext.tasks.classpath">
- <!-- Search in the local Eclipse installation directory for the Wikitext plugin -->
- <fileset dir="${eclipse.home}/plugins" erroronmissingdir="false">
- <include name="org.eclipse.mylyn.wikitext.*core*.jar" />
- <include name="com.google.guava_*.jar" />
- </fileset>
-
- <!-- For Maven builds: use the compile_classpath -->
- <pathelement path="${compile_classpath}" />
- </path>
-
- <taskdef classpathref="wikitext.tasks.classpath" resource="org/eclipse/mylyn/internal/wikitext/mediawiki/core/tasks/tasks.properties" />
- <taskdef classpathref="wikitext.tasks.classpath" resource="org/eclipse/mylyn/wikitext/core/util/anttask/tasks.properties" />
- <!-- Different location in more recent versions of Mylyn (Luna ?) -->
- <taskdef classpathref="wikitext.tasks.classpath" resource="org/eclipse/mylyn/wikitext/core/ant/tasks.properties" />
-
- <target name="build" description="Generate Eclipse help content for the Linux Tools LTTng User Guide">
- <wikitext-to-eclipse-help markupLanguage="MediaWiki"
- validate="true"
- failonvalidationerror="true"
- overwrite="true"
- multipleOutputFiles="true"
- navigationimages="true"
- title="${ug.title}"
- formatoutput="true"
- helpPrefix="doc">
- <fileset dir="./doc">
- <include name="User-Guide.mediawiki" />
- </fileset>
- <stylesheet url="book.css" />
- </wikitext-to-eclipse-help>
- <antcall target="test" />
- </target>
-
- <target name="test" description="Verify that all of the HTML files are well-formed XML">
- <!--
- Don't bother with DTD validation: we only care if the files are well-formed.
- We therefore provide an empty DTD
- -->
- <xmlvalidate lenient="true">
- <fileset dir="doc">
- <include name="**/*.html" />
- </fileset>
- <dtd publicid="-//W3C//DTD XHTML 1.0 Transitional//EN" location=".empty.dtd" />
- </xmlvalidate>
- </target>
-
-
- <!-- If you need a proxy for the "download" target, set it here -->
- <!--
- <setproxy proxyhost="host" proxyport="port"/>
- -->
-
- <target name="download" description="Download the current contents of the LTTng User Guide from the Eclipse wiki">
- <mediawiki-to-eclipse-help wikiBaseUrl="${help.doc.url.base}" title="${ug.title}" formatoutput="true" dest="." templateExcludes="*eclipseproject*">
- <path name="${ug.path}" title="${ug.title}" generateToc="false" />
- <stylesheet url="book.css" />
- <pageAppendum>
-= Updating This Document =
-
-This document is maintained in a collaborative wiki. If you wish to update or modify this document please visit
-http://wiki.eclipse.org/Linux_Tools_Project/LTTng2/User_Guide.
- </pageAppendum>
- </mediawiki-to-eclipse-help>
- </target>
-
- <target name ="clean" description="Delete all generated files">
- <delete failonerror="false" includeemptydirs="true">
- <!-- Files under doc/ (generated locally) -->
- <fileset dir="doc" includes="**/*.html" />
- <fileset dir="doc" includes="**/*.xml" />
-
- <!-- Files downloaded from the Eclipse wiki -->
- <fileset dir="Linux_Tools_Project" />
- <fileset file="toc.xml" />
- </delete>
- </target>
-
-</project>
diff --git a/lttng/org.eclipse.linuxtools.lttng.help/doc/.gitignore b/lttng/org.eclipse.linuxtools.lttng.help/doc/.gitignore
deleted file mode 100644
index 28d48547c4..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng.help/doc/.gitignore
+++ /dev/null
@@ -1,2 +0,0 @@
-*.html
-*.xml
diff --git a/lttng/org.eclipse.linuxtools.lttng.help/doc/User-Guide.mediawiki b/lttng/org.eclipse.linuxtools.lttng.help/doc/User-Guide.mediawiki
deleted file mode 100644
index 86b3b38941..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng.help/doc/User-Guide.mediawiki
+++ /dev/null
@@ -1,2333 +0,0 @@
-
-= Overview =
-
-LTTng (Linux Trace Toolkit, next generation) is a highly efficient tracing tool for Linux that can be used to track down kernel and application performance issues as well as troubleshoot problems involving multiple concurrent processes and threads. It consists of a set of kernel modules, daemons - to collect the raw tracing data - and a set of tools to control, visualize and analyze the generated data. It also provides support for user space application instrumentation.
-For more information about LTTng, refer to the project [http://lttng.org site]
-
-'''Note''': This User Guide covers the integration of the latest LTTng (up to v2.4) in Eclipse.
-
-== About Tracing ==
-
-Tracing is a troubleshooting technique used to understand the behavior of an instrumented application by collecting information on its execution path. A tracer is the software used for tracing. Tracing can be used to troubleshoot a wide range of bugs that are otherwise extremely challenging. These include, for example, performance problems in complex parallel systems or real-time systems.
-
-Tracing is similar to logging: it consists in recording events that happen in a system at selected execution locations. However, compared to logging, it is generally aimed at developers and it usually records low-level events at a high rate. Tracers can typically generate thousands of events per second. The generated traces can easily contain millions of events and have sizes from many megabytes to tens of gigabytes. Tracers must therefore be optimized to handle a lot of data while having a small impact on the system.
-
-Traces may include events from the operating system kernel (IRQ handler entry/exit, system call entry/exit, scheduling activity, network activity, etc). They can also consists of application events (a.k.a UST - User Space Tracing) or a mix of the two.
-
-For the maximum level of detail, tracing events may be viewed like a log file. However, trace analyzers and viewers are available to derive useful information from the raw data coupled with knowledge of the traced program. These programs must be specially designed to handle quickly the enormous amount of data a trace may contain.
-
-== LTTng integration ==
-
-The LTTng plug-in for Eclipse provides an Eclipse integration for the control of the LTTng tracer as well as fetching and visualization of the traces produced. It also provides the foundation for user-defined analysis tools.
-
-The LTTng Eclipse plug-in provides the following views:
-
-* ''Project'' - an extension to the standard Eclipse Project view tailored for tracing projects
-* ''Control'' - to control the tracer and configure the tracepoints
-* ''Events'' - a versatile view that presents the raw events in tabular format with support for searching, filtering and bookmarking
-* ''Statistics'' - a view that that provides simple statistics on event occurrences by type
-* ''Histogram'' - a view that displays the event density with respect to time in traces
-
-These views can be extended or tailored for specific trace types (e.g. kernel, HW, user app).
-
-At present, the LTTng Eclipse plug-in for Eclipse supports the following kernel-oriented views:
-
-* ''Control Flow'' - to visualize processes state transitions
-* ''Resources'' - to visualize system resources state transitions
-* ''CPU usage'' - to visualize the usage of the processor with respect to the time in traces
-
-It also supports the following User Space traces views:
-
-* ''Memory Usage'' - to visualize the memory usage per thread with respect to time in the traces
-* ''Call Stack'' - to visualize the call stack's evolution over time
-
-Although the control and fetching parts are targeted at the LTTng tracer, the underlying framework can also be used to process any trace that complies with the ''Common Trace Format'' ([http://www.efficios.com/ctf CTF]). CTF specifies a very efficient and compact binary trace format that is meant to be application-, architecture-, and language-agnostic.
-
-== Features ==
-
-The LTTng Eclipse plug-in has a number of features to allow efficient handling of very large traces (and sets of large traces):
-
-* Support for arbitrarily large traces (larger than available memory)
-* Support for correlating multiple time-ordered traces
-* Support for zooming down to the nanosecond on any part of a trace or set of traces
-* Views synchronization of currently selected time or time range, and window time range
-* Efficient searching and filtering of events
-* Support for trace bookmarks
-* Support for importing and exporting trace packages
-
-There is also support for the integration of non-LTTng trace types:
-
-* Built-in CTF parser
-* Dynamic creation of customized parsers (for XML and text traces)
-* Dynamic creation of customized state systems (from XML files)
-* Dynamic creation of customized views (from XML files)
-
-= Installation =
-
-This section describes the installation of the LTTng tracer and the LTTng Eclipse plug-ins as well as their dependencies.
-
-== LTTng Tracer ==
-
-While the Eclipse plug-ins can run on the standard Eclipse platforms (Linux, Mac, Windows), the LTTng tracer and its accompanying tools run on Linux.
-
-The tracer and tools have been available for download in Ubuntu since 12.04. They can easily be installed with the following command:
-
-<pre>
- > sudo apt-get install lttng-tools
-</pre>
-
-For other distributions, older Ubuntu distributions, or the latest, bleeding edge LTTng tracer, please refer to the [http://lttng.org/download LTTng website] for installation information.
-
-'''Note''': The LTTng tracer (and accompanying tools) is required only if you want to create your own traces (the usual case). If you intend to simply analyze existing traces then it is not necessary to install the tracer.
-
-== LTTng Eclipse Plug-ins ==
-
-The easiest way to install the LTTng plug-ins for Eclipse is through the Software Updates and Add-ons menu. For information on how to use this menu, refer to this [http://wiki.eclipse.org/Linux_Tools_Project/PluginInstallHelp#Installing_Updates_From_the_Linux_Tools_Update_Site link].
-
-The LTTng plug-ins are structured as a stack of features/plug-ins as following:
-
-* '''CTF''' - A CTF parser that can also be used as a standalone component
-** ''Feature'': org.eclipse.linuxtools.ctf
-** ''Plug-ins'': org.eclipse.linuxtools.ctf.core, org.eclipse.linuxtools.ctf.parser
-
-* '''State System Core''' - State system for TMF
-** ''Plug-ins'': org.eclipse.linuxtools.statesystem.core
-
-* '''TMF''' - ''Tracing and Monitoring Framework'' a framework for generic trace processing
-** ''Feature'': org.eclipse.linuxtools.tmf
-** ''Plug-ins'': org.eclipse.linuxtools.tmf.core, org.eclipse.linuxtools.tmf.ui. org.eclipse.linuxtools.tmf.analysis.xml.core, org.eclipse.linuxtools.tmf.analysis.xml.ui
-
-* '''CTF support for TMF''' - CTF support for the TMF Feature
-** ''Feature'': org.eclipse.linuxtools.tmf.ctf
-** ''Plug-ins'': org.eclipse.linuxtools.tmf.ctf.core
-
-* '''LTTng''' - The wrapper for the LTTng tracer control. Can be used for kernel or application tracing.
-** ''Feature'': org.eclipse.linuxtools.lttng2.control
-** ''Plug-ins'': org.eclipse.linuxtools.lttng2.control.core, org.eclipse.linuxtools.lttng2.control.ui
-
-* '''LTTng Kernel''' - Analysis components specific to Linux kernel traces
-** ''Feature'': org.eclipse.linuxtools.lttng2.kernel
-** ''Plug-ins'': org.eclipse.linuxtools.lttng2.kernel.core, org.eclipse.linuxtools.lttng2.kernel.ui
-
-* '''LTTng UST''' - Analysis components specific to Linux userspace traces
-** ''Feature'': org.eclipse.linuxtools.lttng2.ust
-** ''Plug-ins'': org.eclipse.linuxtools.lttng2.ust.core, org.eclipse.linuxtools.lttng2.ust.ui
-
-== LTTng Eclipse Dependencies ==
-
-The Eclipse LTTng controls the LTTng tracer through an ''ssh'' connection, if the tracer is running locally it can use or bypass the ''ssh'' connection.
-
-Therefore, the target system (where the tracer runs) needs to run an ''ssh'' server as well as ''sftp'' server (for file transfer) to which you have permission to connect.
-
-On the host side (where Eclipse is running), you also need to have Eclipse Remote Services installed to handle the SSH connection and transport. The Remote Services can be installed the standard way (''Help'' > ''Install New Software...'' > ''General Purpose Tools'' > ''Remote Services'').
-
-== Installation Verification ==
-
-If you do not have any, sample LTTng traces can be found here [http://lttng.org/download]. At the bottom of the page there is a link to some sample LTTng 2.0 kernel traces. The trace needs to be uncompressed to be read.
-
-Here are the quick steps to verify that your installation is functional:
-
-* Start Eclipse
-* Open the LTTng perspective
-* Create a Tracing project
-** Right-click in the Project view and select "New Project"
-** Enter the name of your project (e.g. "MyLTTngProject")
-** The project will be created. It will contain 2 empty folders: "Traces" and "Experiments"
-* Open a sample trace
-** Right-click on the newly created project "Traces" folder and select "Open Trace..."
-** Navigate to the sample LTTng trace that you want to visualize and select any file in the trace folder
-** The newly imported trace should appear under the Traces folder
-* Visualize the trace
-** Expand the Traces folder
-** Double-click on the trace
-** The trace should load and the views be populated
-
-If an error message is displayed, you might want to double-check that the trace type is correctly set (right-click on the trace and "Select Trace Type...").
-
-Refer to [[#Tracing Perspective]] for detailed description of the views and their usage.
-
-= LTTng =
-
-== Tracing Perspective ==
-
-The '''Tracing''' perspective is part of the '''Tracing and Monitoring Framework (TMF)''' and groups the following views:
-
-* [[#Project_View | Project View]]
-* [[#Events_Editor | Events Editor]]
-* [[#Histogram_View | Histogram View]]
-* [[#Statistics_View | Statistics View]]
-
-The views are synchronized i.e. selecting an event, a timestamp, a time range, etc will update the other views accordingly.
-
-[[Image:images/TracingPerspective.png]]
-
-The perspective can be opened from the Eclipse Open Perspective dialog ('''Window > Open Perspective... > Other''').
-
-[[Image:images/ShowTracingPerspective.png]]
-
-In addition to these views, the '''Tracing and Monitoring Framework (TMF)''' feature provides a set of generic tracing specific views, such as:
-
-* [[#Colors_View | Colors View]]
-* [[#Filters_View | Filters View]]
-* [[#Time_Chart_View | Time Chart View]]
-* [[#State_System_Explorer_View | State System Explorer View]]
-* [[#Call_Stack_View | Call Stack View]]
-
-The framework also supports user creation of [[#Custom_Parsers | Custom Parsers]].
-
-To open one of the above '''Tracing''' views, use the Eclipse Show View dialog ('''Window > Show View > Other...'''). Then select the relevant view from the '''Tracing''' category.
-
-[[Image:images/ShowTracingViews.png]]
-
-Additionally, the '''LTTng''' feature provides an '''LTTng Tracer Control''' functionality. It comes with a dedicated '''Control View'''.
-
-* [[#LTTng_Tracer_Control | LTTng Tracer Control]]
-
-== Project View ==
-
-The project view is the standard Eclipse Project Explorer. '''Tracing''' projects are well integrated in the Eclipse's Common Navigator Framework. The Project Explorer shows '''Tracing''' project with a small "T" decorator in the upper right of the project folder icon.
-
-=== Creating a Tracing Project ===
-
-A new '''Tracing''' project can be created using the New Tracing Project wizard. To create a new '''Tracing''' select '''File > New > Project...''' from the main menu bar or alternatively form the context-sensitive menu (click with right mouse button in the '''Project Explorer'''.
-
-The first page of project wizard will open.
-
-[[Image:images/NewTracingProjectPage1.png]]
-
-In the list of project categories, expand category '''Tracing''' and select '''Tracing Project''' and the click on '''Next >'''. A second page of the wizard will show. Now enter the a name in the field '''Project Name''', select a location if required and the press on '''Finish'''.
-
-[[Image:images/NewTracingProjectPage2.png]]
-
-A new project will appear in the '''Project Explorer''' view.
-
-[[Image:images/NewProjectExplorer.png]]
-
-Tracing projects have two sub-folders: '''Traces''' which holds the individual traces, and '''Experiments''' which holds sets of traces that we want to correlate.
-
-=== Importing Traces to the Project ===
-
-The '''Traces''' folder holds the set of traces available for a tracing project. It can optionally contain a tree of trace folders to organize traces into sub-folders. The following chapters will explain different ways to import traces to the '''Traces''' folder of a tracing project.
-
-* [[#Opening a Trace | Opening a Trace]]
-* [[#Importing | Importing]]
-* [[#Drag and Drop | Drag and Drop]]
-
-==== Opening a Trace ====
-
-To open a trace, right-click on a target trace folder and select '''Open Trace...'''.
-
-[[Image:images/OpenTraceFile.png]]
-
-A new dialog will show for selecting a trace to open. Select a trace file and then click on '''OK'''. Note that for traces that are directories (such as Common Trace Format (CTF) traces) any file in the trace directory can be selected to open the trace. Now, the trace viewer will attempt to detect the trace types of the selected trace. The auto detection algorithm will validate the trace against all known trace types. If multiple trace types are valid, a trace type is chosen based on a confidence criteria. The validation process and the computation of the confidence level are trace type specific. After successful validation the trace will be linked into the selected target trace folder and then opened with the detected trace type.
-
-Note that a trace type is an extension point of the '''Tracing and Monitoring Framework (TMF)'''. Depending on the which features are loaded, the list of available trace types can vary.
-
-==== Importing ====
-
-To import a set of traces to a trace folder, right-click on the target folder and select '''Import...''' from the context-sensitive menu.
-
-[[Image:images/ProjectImportTraceAction.png]]
-
-At this point, the '''Import Trace Wizard''' will show for selecting traces to import. By default, it shows the correct destination directory where the traces will be imported to. Now, specify the location of the traces in the '''Root directory'''. For that click on the button '''Browse''', browse the media to the location of the traces and click on '''OK'''. Then select the traces to import in the list of files and folders.
-
-Traces can also be imported from an archive file such as a zip or a tar file by selecting the '''Select archive file''' option then by clicking '''Browse'''. Then select the traces to import in the list of files and folders as usual.
-
-Optionally, select the '''Trace Type''' from the drop-down menu. If '''Trace Type''' is set to '''<Automatic Detection>''', the wizard will attempt to detect the trace types of the selected files. The automatic detection algorithm validates a trace against all known trace types. If multiple trace types are valid, a trace type is chosen based on a confidence criteria. The validation process and the computation of the confidence level are trace type specific. Optionally, '''Import unrecognized traces''' can be selected to import trace files that could not be automatically detected by '''<Automatic Detection>'''.
-
-Select or deselect the checkboxes for '''Overwrite existing trace without warning''', '''Create links in workspace''' and '''Preserve folder structure'''. When all options are configured, click on '''Finish'''.
-
-Note that traces of certain types (e.g. LTTng Kernel) are actually a composite of multiple channel traces grouped under a folder. Either the folder or its files can be selected to import the trace.
-
-The option '''Preserve folder structure''' will create, if necessary, the structure of folders relative to (and excluding) the selected '''Root directory''' (or '''Archive file''') into the target trace folder.
-
-[[Image:images/ProjectImportTraceDialog.png]]
-
-If a trace already exists with the same name in the target trace folder, the user can choose to rename the imported trace, overwrite the original trace or skip the trace. When rename is chosen, a number is appended to the trace name, for example smalltrace becomes smalltrace(2).
-
-[[Image:images/ProjectImportTraceDialogRename.png]]
-
-If one selects '''Rename All''', '''Overwrite All''' or '''Skip All''' the choice will be applied for all traces with a name conflict.
-
-Upon successful importing, the traces will be stored in the target trace folder. If a trace type was associated to a trace, then the corresponding icon will be displayed. If no trace type is detected the default editor icon associated with this file type will be displayed. Linked traces will have a little arrow as decorator on the right bottom corner.
-
-Note that trace type is an extension point of the '''Tracing and Monitoring Framework (TMF)'''. Depending on the which features are loaded, the list of trace types can vary.
-
-Alternatively, one can open the '''Import...''' menu from the '''File''' main menu, then select '''Tracing''' > '''Trace Import''' and click on '''Next >'''.
-
-[[Image:images/ProjectImportWizardSelect.png]]
-
-At this point, the '''Import Trace Wizard''' will show. To import traces to the tracing project, follow the instructions that were described above.
-
-==== Drag and Drop ====
-
-Traces can be also be imported to a project by dragging from another tracing project and dropping to the project's target trace folder. The trace will be copied and the trace type will be set.
-
-Any resource can be dragged and dropped from a non-tracing project, and any file or folder can be dragged from an external tool, into a tracing project's trace folder. The resource will be copied or imported as a new trace and it will be attempted to detect the trace types of the imported resource. The automatic detection algorithm validates a trace against all known trace types. If multiple trace types are valid, a trace type is chosen based on a confidence criteria. The validation process and the computation of the confidence level are trace type specific. If no trace type is detected the user needs to set the trace type manually.
-
-To import the trace as a link, use the platform-specific key modifier while dragging the source trace. A link will be created in the target project to the trace's location on the file system.
-
-If a folder containing traces is dropped on a trace folder, the full directory structure will be copied or linked to the target trace folder. The trace type of the contained traces will not be auto-detected.
-
-It is also possible to drop a trace, resource, file or folder into an existing experiment. If the item does not already exist as a trace in the project's trace folder, it will first be copied or imported, then the trace will be added to the experiment.
-
-=== Trace Package Exporting and Importing ===
-
-A trace package is an archive file that contains the trace itself and can also contain its bookmarks and its supplementary files. Including supplementary files in the package can improve performance of opening an imported trace but at the expense of package size.
-
-==== Exporting ====
-
-The '''Export Trace Package Wizard''' allows users to select a trace and export its files and bookmarks to an archive on a media.
-
-The '''Traces''' folder holds the set of traces available for a tracing project. To export traces contained in the '''Traces''' folder, one can open the '''Export...''' menu from the '''File''' main menu. Then select '''Trace Package Export'''
-
-[[Image:images/tracePackageImages/fileExport.png]]
-
-At this point, the '''Trace Package Export''' is opened. The project containing the traces has to be selected first then the traces to be exported.
-
-[[Image:images/tracePackageImages/chooseTrace.png]]
-
-One can also open the wizard and skip the first page by expanding the project, selecting traces or trace folders under the '''Traces''' folder, then right-clicking and selecting the '''Export Trace Package...''' menu item in the context-sensitive menu.
-
-[[Image:images/tracePackageImages/exportSelectedTrace.png]]
-
-Next, the user can choose the content to export and various format options for the resulting file.
-
-[[Image:images/tracePackageImages/exportPackage.png]]
-
-The '''Trace''' item is always selected and represents the files that constitute the trace. The '''Supplementary files''' items represent files that are typically generated when a trace is opened by the viewer. Sharing these files can speed up opening a trace dramatically but also increases the size of the exported archive file. The ''Size'' column can help to decide whether or not to include these files. Lastly, by selecting '''Bookmarks''', the user can export all the bookmarks so that they can be shared along with the trace.
-
-The '''To archive file''' field is used to specify the location where to save the resulting archive.
-
-The '''Options''' section allows the user to choose between a tar archive or a zip archive. Compression can also be toggled on or off.
-
-When Finish button is clicked, the package is generated and saved to the media. The folder structure of the selected traces relative to the '''Traces''' folder is preserved in the trace package.
-
-==== Importing ====
-
-The '''Import Trace Package Wizard''' allows users to select a previously exported trace package from their media and import the content of the package in the workspace.
-
-The '''Traces''' folder holds the set of traces for a tracing project. To import a trace package to the '''Traces''' folder, one can open the '''Import...''' menu from the '''File''' main menu. Then select '''Trace Package Import'''.
-
-[[Image:images/tracePackageImages/fileImport.png]]
-
-One can also open the wizard by expanding the project name, right-clicking on a target folder under the '''Traces''' folder then selecting '''Import Trace Package...''' menu item in the context-sensitive menu.
-
-[[Image:images/tracePackageImages/importTraceFolder.png]]
-
-At this point, the '''Trace Package Import Wizard''' is opened.
-
-[[Image:images/tracePackageImages/importPackage.png]]
-
-The '''From archive file''' field is used to specify the location of the trace package to export. The user can choose the content to import in the tree.
-
-If the wizard was opened using the File menu, the destination project has to be selected in the '''Into project''' field.
-
-When Finish is clicked, the trace is imported in the target folder. The folder structure from the trace package is restored in the target folder.
-
-=== Selecting a Trace Type ===
-
-If no trace type was selected a trace type has to be associated to a trace before it can be opened. To select a trace type select the relevant trace and click the right mouse button. In the context-sensitive menu, select '''Select Trace Type...''' menu item. A sub-menu will show will all available trace type categories. From the relevant category select the required trace type. The examples, below show how to select the '''Common Trace Format''' types '''LTTng Kernel''' and '''Generic CTF trace'''.
-
-[[Image:images/SelectLTTngKernelTraceType.png]]
-
-[[Image:images/SelectGenericCTFTraceType.png]]
-
-After selecting the trace type, the trace icon will be updated with the corresponding trace type icon.
-
-[[Image:images/ExplorerWithAssociatedTraceType.png]]
-
-=== Opening a Trace or Experiment ===
-
-A trace or experiment can be opened by double-clicking the left mouse button on the trace or experiment in the '''Project Explorer''' view. Alternatively, select the trace or experiment in the in the '''Project Explorer''' view and click the right mouse button. Then select '''Open''' menu item of the context-sensitive menu. If there is no trace type set for a file resource then the file will be opened in the default editor associated with this file type.
-
-[[Image:images/OpenTraceAction.png]]
-
-When opening a trace or experiment, all currently opened views which are relevant for the corresponding trace type will be updated.
-
-If a trace resource is a file (and not a directory), then the '''Open With''' menu item is available in the context-sensitive menu and can be used to open the trace source file with any applicable internal or external editor. In that case the trace will not be processed by the tracing application.
-
-=== Creating a Experiment ===
-
-An experiment consists in an arbitrary number of aggregated traces for purpose of correlation. In the degenerate case, an experiment can consist of a single trace. The experiment provides a unified, time-ordered stream of the individual trace events.
-
-To create an experiment, select the folder '''Experiments''' and click the right mouse button. Then select '''New...'''.
-
-[[Image:images/NewExperimentAction.png]]
-
-A new display will open for entering the experiment name. Type the name of the experiment in the text field '''Experiment Name''' and the click on '''OK'''.
-
-[[Image:images/NewExperimentDialog.png]]
-
-=== Selecting Traces for an Experiment ===
-
-After creating an experiment, traces need to be added to the experiment. To select traces for an experiment select the newly create experiment and click the right mouse button. Select '''Select Traces...''' from the context sensitive menu.
-
-[[Image:images/SelectTracesAction.png]]
-
-A new dialog box will open with a list of available traces. The filter text box can be used to quickly find traces. Use buttons '''Select All''' or '''Deselect All''' to select or deselect all traces. Select the traces to add from the list and then click on '''Finish'''.
-
-[[Image:images/SelectTracesDialog.png]]
-
-Now the selected traces will be linked to the experiment and will be shown under the '''Experiments''' folder.
-
-[[Image:images/ExplorerWithExperiment.png]]
-
-Alternatively, traces can be added to an experiment using [[#Drag_and_Drop | Drag and Drop]].
-
-=== Removing Traces from an Experiment ===
-
-To remove one or more traces for an experiment select the trace(s) to remove under the Experiment folder and click the right mouse button. Select '''Remove''' from the context sensitive menu.
-
-[[Image:images/RemoveTracesAction.png]]
-
-After that the selected trace(s) are removed from the experiment. Note that the traces are still in the '''Traces''' folder.
-
-=== Renaming a Trace or Experiment ===
-
-Traces and Experiment can be renamed from the '''Project Explorer''' view. To rename a trace or experiment select the relevant trace and click the right mouse button. Then select '''Rename...''' from the context sensitive menu. The trace or experiment needs to be closed in order to do this operation.
-
-[[Image:images/RenameTraceAction.png]]
-
-A new dialog box will show for entering a new name. Enter a new trace or experiment name respectively in the relevant text field and click on '''OK'''. If the new name already exists the dialog box will show an error and a different name has to be entered.
-
-[[Image:images/RenameTraceDialog.png]]
-
-[[Image:images/RenameExperimentDialog.png]]
-
-After successful renaming the new name will show in the '''Project Explorer'''. In case of a trace all reference links to that trace will be updated too. Note that linked traces only changes the display name, the underlying trace resource will stay the original name.
-
-Note that all supplementary files will be also handled accordingly (see also [[#Deleting Supplementary Files | Deleting Supplementary Files]]).
-
-=== Copying a Trace or Experiment ===
-
-To copy a trace or experiment select the relevant trace or experiment in the '''Project Explorer''' view and click the right mouse button. Then select '''Copy...''' from the context sensitive menu.
-
-[[Image:images/CopyTraceAction.png]]
-
-A new dialog box will show for entering a new name. Enter a new trace or experiment name respectively in the relevant text field and click on '''OK'''. If the new name already exists the dialog box will show an error and a different name has to be entered.
-
-[[Image:images/CopyTraceDialog.png]]
-
-[[Image:images/CopyExperimentDialog.png]]
-
-After successful copy operation the new trace or experiment respectively will show in the '''Project Explorer'''. In case of a linked trace, the copied trace will be a link to the original trace too.
-
-Note that the directory for all supplementary files will be copied, too. (see also [[#Deleting Supplementary Files | Deleting Supplementary Files]]).
-
-=== Deleting a Trace or Experiment ===
-
-To delete a trace or experiment select the relevant trace or experiment in the '''Project Explorer''' view and click the right mouse button. Then select '''Delete...''' from the context sensitive menu. The trace or experiment needs to be closed in order to do this operation.
-
-[[Image:images/DeleteExperimentAction.png]]
-
-A confirmation dialog box will open. To perform the deletion press '''OK''' otherwise select '''Cancel'''.
-
-[[Image:images/DeleteExperimentConfirmationDialog.png]]
-
-After successful operation the selected trace or experiment will be removed from the project. In case of a linked trace only the link will be removed. The actual trace resource remain on the disk.
-
-Note that the directory for all supplementary files will be deleted, too. (see also [[#Deleting Supplementary Files | Deleting Supplementary Files]]).
-
-=== Deleting Supplementary Files ===
-
-Supplementary files are by definition trace specific files that accompany a trace. These file could be temporary files, persistent indexes or any other persistent data files created by the LTTng integration in Eclipse during parsing a trace. For the LTTng 2.0 trace viewer a persistent state history of the Linux Kernel is created and is stored under the name '''stateHistory.ht'''. The statistics for all traces are stored under '''statistics.ht'''. Other state systems may appear in the same folder as more custom views are added.
-
-All supplementary file are hidden from the user and are handled internally by the TMF. However, there is a possibility to delete the supplementary files so that there are recreated when opening a trace.
-
-To delete all supplementary files from one or many traces and experiments, select the relevant traces and experiments in the '''Project Explorer''' view and click the right mouse button. Then select the '''Delete Supplementary Files...''' menu item from the context-sensitive menu.
-
-[[Image:images/DeleteSupplementaryFilesAction.png]]
-
-A new dialog box will open with a list of supplementary files, grouped under the trace or experiment they belong to. Select the file(s) to delete from the list and press '''OK'''. The traces and experiments that need to be closed in order to do this operation will automatically be closed.
-
-[[Image:images/DeleteSupplementaryFilesDialog.png]]
-
-=== Link with Editor ===
-
-The tracing projects support the feature '''Link With Editor''' of the Project Explorer view. With this feature it is now possible to<br/>
-* select a trace element in the Project Explorer view and the corresponding [[#Events Editor | Events Editor]] will get focus if the relevant trace is open.
-* select an [[#Events Editor | Events Editor]] and the corresponding trace element will be highlighted in the Project Explorer view.
-
-To enable or disable this feature toggle the '''Link With Editor''' button of the Project Explorer view as shown below.
-
-[[Image:images/TMF_LinkWithEditor.png]]
-
-== Events Editor ==
-
-The Events editor shows the basic trace data elements (events) in a tabular format. The editors can be dragged in the editor area so that several traces may be shown side by side. These traces are synchronized by timestamp.
-
-[[Image:images/LTTng2EventsEditor.png]]
-
-The header displays the current trace (or experiment) name.
-
-Being part of the '''Tracing and Monitoring''' Framework, the default table displays the following fields:
-
-* '''Timestamp''': the event timestamp
-* '''Source''': the source of the event
-* '''Type''': the event type and localization
-* '''Reference''' the event reference
-* '''Content''': the raw event content
-
-The first row of the table is the header row a.k.a. the Search and Filter row.
-
-The highlighted event is the ''current event'' and is synchronized with the other views. If you select another event, the other views will be updated accordingly. The properties view will display a more detailed view of the selected event.
-
-An event range can be selected by holding the '''Shift''' key while clicking another event or using any of the cursor keys ('''Up'''', '''Down''', '''PageUp''', '''PageDown''', '''Home''', '''End'''). The first and last events in the selection will be used to determine the current selected time range for synchronization with the other views.
-
-[[Image:images/LTTng2EventProperties.png]]
-
-The Events editor can be closed, disposing a trace. When this is done, all the views displaying the information will be updated with the trace data of the next event editor tab. If all the editor tabs are closed, then the views will display their empty states.
-
-=== Searching and Filtering ===
-
-Searching and filtering of events in the table can be performed by entering matching conditions in one or multiple columns in the header row (the first row below the column header).
-
-To toggle between searching and filtering, click on the 'search' ([[Image:images/TmfEventSearch.gif]]) or 'filter' ([[Image:images/TmfEventFilter.gif]]) icon in the header row's left margin, or right-click on the header row and select '''Show Filter Bar''' or '''Show Search Bar''' in the context menu.
-
-To apply a matching condition to a specific column, click on the column's header row cell, type in a [http://download.oracle.com/javase/7/docs/api/java/util/regex/Pattern.html regular expression] and press the '''ENTER''' key. You can also enter a simple text string and it will be automatically be replaced with a 'contains' regular expression.
-
-When matching conditions are applied to two or more columns, all conditions must be met for the event to match (i.e. 'and' behavior).
-
-To clear all matching conditions in the header row, press the '''DEL''' key.
-
-==== Searching ====
-
-When a searching condition is applied to the header row, the table will select the next matching event starting from the top currently displayed event. Wrapping will occur if there is no match until the end of the trace.
-
-All matching events will have a 'search match' icon in their left margin. Non-matching events will be dimmed.
-
-[[Image:images/DefaultTmfEvents-Search.png]]
-
-Pressing the '''ENTER''' key will search and select the next matching event. Pressing the '''SHIFT-ENTER''' key will search and select the previous matching event. Wrapping will occur in both directions.
-
-Press '''ESC''' to cancel an ongoing search.
-
-Press '''DEL''' to clear the header row and reset all events to normal.
-
-==== Filtering ====
-
-When a filtering condition is entered in the head row, the table will clear all events and fill itself with matching events as they are found from the beginning of the trace.
-
-A status row will be displayed before and after the matching events, dynamically showing how many matching events were found and how many events were processed so far. Once the filtering is completed, the status row icon in the left margin will change from a 'stop' to a 'filter' icon.
-
-[[Image:images/DefaultTmfEvents-Filter.png]]
-
-Press '''ESC''' to stop an ongoing filtering. In this case the status row icon will remain as a 'stop' icon to indicate that not all events were processed.
-
-Press '''DEL''' or right-click on the table and select '''Clear Filters''' from the context menu to clear the header row and remove the filtering. All trace events will be now shown in the table. Note that the currently selected event will remain selected even after the filter is removed.
-
-You can also search on the subset of filtered events by toggling the header row to the Search Bar while a filter is applied. Searching and filtering conditions are independent of each other.
-
-==== Bookmarking ====
-
-Any event of interest can be tagged with a bookmark.
-
-To add a bookmark, double-click the left margin next to an event, or right-click the margin and select '''Add bookmark...'''. Alternatively use the '''Edit''' > '''Add bookmark...''' menu. Edit the bookmark description as desired and press '''OK'''.
-
-The bookmark will be displayed in the left margin, and hovering the mouse over the bookmark icon will display the description in a tooltip.
-
-The bookmark will be added to the '''Bookmarks''' view. In this view the bookmark description can be edited, and the bookmark can be deleted. Double-clicking the bookmark or selecting '''Go to''' from its context menu will open the trace or experiment and go directly to the event that was bookmarked.
-
-To remove a bookmark, double-click its icon, select '''Remove Bookmark''' from the left margin context menu, or select '''Delete''' from the Bookmarks view.
-
-[[Image:images/Bookmarks.png]]
-
-=== Event Source Lookup ===
-
-For CTF traces using specification v1.8.2 or above, information can optionally be embedded in the trace to indicate the source of a trace event. This is accessed through the event context menu by right-clicking on an event in the table.
-
-==== Source Code ====
-
-If a source file is available in the trace for the selected event, the item '''Open Source Code''' is shown in the context menu. Selecting this menu item will attempt to find the source file in all opened projects in the workspace. If multiple candidates exist, a selection dialog will be shown to the user. The selected source file will be opened, at the correct line, in its default language editor. If no candidate is found, an error dialog is shown displaying the source code information.
-
-==== EMF Model ====
-
-If an EMF model URI is available in the trace for the selected event, the item '''Open Model Element''' is shown in the context menu. Selecting this menu item will attempt to open the model file in the project specified in the URI. The model file will be opened in its default model editor. If the model file is not found, an error dialog is shown displaying the URI information.
-
-=== Exporting To Text ===
-It is possible to export the content of the trace to a text file based on the columns displayed in the events table. If a filter (see '''[[#Filtering| Filtering]]''') was defined prior exporting only events that match the filter will be exported to the file. To export the trace to text, press the right mouse button on the events table. A context-sensitive menu will show. Select the '''Export To Text...''' menu option. A file locater dialog will open. Fill in the file name and location and then press on '''OK'''. A window with a progress bar will open till the export is finished.
-
-''Note'': The columns in the text file are separated by tabs.
-
-=== Collapsing of Repetitive Events ===
-The implementation for collapsing of repetitive events is trace type specific and is only available for certain trace types. For example, a trace type could allow collapsing of consecutive events that have the same event content but not the same timestamp. If a trace type supports this feature then it is possible to select the '''Collapse Events''' menu item after pressing the right mouse button in the table.
-
-When the collapsing of events is executing, the table will clear all events and fill itself with all relevant events. If the collapse condition is met, the first column of the table will show the number of times this event was repeated consecutively.
-
-[[Image:images/TablePreCollapse.png]]
-
-A status row will be displayed before and after the events, dynamically showing how many non-collapsed events were found and how many events were processed so far. Once the collapsing is completed, the status row icon in the left margin will change from a 'stop' to a 'filter' icon.
-
-[[Image:images/TablePostCollapse.png]]
-
-To clear collapsing, press the right mouse button in the table and select menu item '''Clear Filters''' in the context sensitive menu. ''Note'' that collapsing is also removed when another filter is applied to the table.
-
-== Histogram View ==
-
-The Histogram View displays the trace events distribution with respect to time. When streaming a trace, this view is dynamically updated as the events are received.
-
-[[Image:images/HistogramView.png]]
-
-The '''Hide Lost Events''' toggle button [[Image:images/hide_lost_events.gif]] in the local toolbar allows to hide the bars of lost events. When the button is selected it can be toggled again to show the lost events.
-
-The '''Activate Trace Coloring''' toggle button [[Image:images/show_hist_traces.gif]] in the local toolbar allows to use separate colors for each trace of an experiment. Note that this feature is not available if your experiment contains more than twenty two traces. When activated, a legend is displayed at the bottom on the histogram view.
-
-On the top left, there are three text controls:
-
-* '''Selection Start''': Displays the start time of the current selection
-* '''Selection End''': Displays the end time of the current selection
-* '''Window Span''': Displays the current zoom window size in seconds
-
-The controls can be used to modify their respective value. After validation, the other controls and views will be synchronized and updated accordingly. To modify both selection times simultaneously, press the link icon [[Image:images/link.gif]] which disables the '''Selection End''' control input.
-
-The large (full) histogram, at the bottom, shows the event distribution over the whole trace or set of traces. It also has a smaller semi-transparent orange window, with a cross-hair, that shows the current zoom window.
-
-The smaller (zoom) histogram, on top right, corresponds to the current zoom window, a sub-range of the event set.
-
-The x-axis of each histogram corresponds to the event timestamps. The start time and end time of the histogram range is displayed. The y-axis shows the maximum number of events in the corresponding histogram bars.
-
-The vertical blue line(s) show the current selection time (or range). If applicable, the region in the selection range will be shaded.
-
-The mouse can be used to control the histogram:
-
-* '''Left-click''': Set a selection time
-* '''Left-drag''': Set a selection range
-* '''Shift-left-click or drag''': Extend or shrink the selection range
-
-* '''Middle-click or Ctrl-left-click''': Center the zoom window on mouse (full histogram only)
-* '''Middle-drag or Ctrl-left-drag''': Move the zoom window
-
-* '''Right-drag''': Set the zoom window
-* '''Shift-right-click or drag''': Extend or shrink the zoom window (full histogram only)
-
-* '''Mouse wheel up''': Zoom in
-* '''Mouse wheel down''': Zoom out
-
-Hovering the mouse over an histogram bar pops up an information window that displays the start/end time of the corresponding bar, as well as the number of events (and lost events) it represents. If the mouse is over the selection range, the selection span in seconds is displayed.
-
-In each histogram, the following keys are handled:
-
-* '''Left Arrow''': Moves the current event to the previous non-empty bar
-* '''Right Arrow''': Moves the current event to the next non-empty bar
-* '''Home''': Sets the current time to the first non-empty bar
-* '''End''': Sets the current time to the last non-empty histogram bar
-* '''Plus (+)''': Zoom in
-* '''Minus (-)''': Zoom out
-
-== Statistics View ==
-
-The Statistics View displays the various event counters that are collected when analyzing a trace. The data is organized per trace. After opening a trace, the element '''Statistics''' is added under the '''Tmf Statistics Analysis''' tree element in the Project Explorer. To open the view, double-click the '''Statistics''' tree element. Alternatively, select '''Statistics''' under '''Tracing''' within the '''Show View''' window ('''Window''' -> '''Show View''' -> '''Other...'''). This view shows 3 columns: ''Level'' ''Events total'' and ''Events in selected time range''. After parsing a trace the view will display the number of events per event type in the second column and in the third, the currently selected time range's event type distribution is shown. The cells where the number of events are printed also contain a colored bar with a number that indicates the percentage of the event count in relation to the total number of events. The statistics is collected for the whole trace. This view is part of the '''Tracing and Monitoring Framework (TMF)''' and is generic. It will work for any trace type extensions. For the LTTng 2.0 integration the Statistics view will display statistics as shown below.:
-
-[[Image:images/LTTng2StatisticsView.png]]
-
-By default, the statistics use a state system, therefore will load very quickly once the state system is written to the disk as a supplementary file.
-
-== Colors View ==
-
-[[Image:images/ColorsView.png]]
-
-The Colors view allows the user to define a prioritized list of color settings.
-
-A color setting associates a foreground and background color (used in any events table), and a tick color (used in the Time Chart view), with an event filter.
-
-In an events table, any event row that matches the event filter of a color setting will be displayed with the specified foreground and background colors. If the event matches multiple filters, the color setting with the highest priority will be used.
-
-The same principle applies to the event tick colors in the Time Chart view. If a tick represents many events, the tick color of the highest priority matching event will be used.
-
-Color settings can be inserted, deleted, reordered, imported and exported using the buttons in the Colors view toolbar. Changes to the color settings are applied immediately, and are persisted to disk.
-
-== Filters View ==
-
-[[Image:images/FiltersView.png]]
-
-The Filters view allows the user to define preset filters that can be applied to any events table.
-
-The filters can be more complex than what can be achieved with the filter header row in the events table. The filter is defined in a tree node structure, where the node types can be any of '''EVENTTYPE''', '''AND''', '''OR''', '''CONTAINS''', '''EQUALS''', '''MATCHES''' or '''COMPARE'''. Some nodes types have restrictions on their possible children in the tree.
-
-The '''EVENTTYPE''' node filters against the event type of the trace as defined in a plug-in extension or in a custom parsers. When used, any child node will have its field combo box restricted to the possible fields of that event type.
-
-The '''AND''' node applies the logical ''and'' condition on all of its children. All children conditions must be true for the filter to match. A ''not'' operator can be applied to invert the condition.
-
-The '''OR''' node applies the logical ''or'' condition on all of its children. At least one children condition must be true for the filter to match. A ''not'' operator can be applied to invert the condition.
-
-The '''CONTAINS''' node matches when the specified event ''field'' value contains the specified ''value'' string. A ''not'' operator can be applied to invert the condition. The condition can be case sensitive or insensitive.
-
-The '''EQUALS''' node matches when the specified event ''field'' value equals exactly the specified ''value'' string. A ''not'' operator can be applied to invert the condition. The condition can be case sensitive or insensitive.
-
-The '''MATCHES''' node matches when the specified event ''field'' value matches against the specified ''regular expression''. A ''not'' operator can be applied to invert the condition.
-
-The '''COMPARE''' node matches when the specified event ''field'' value compared with the specified ''value'' gives the specified ''result''. The result can be set to ''smaller than'', ''equal'' or ''greater than''. The type of comparison can be numerical, alphanumerical or based on time stamp. A ''not'' operator can be applied to invert the condition.
-
-Filters can be added, deleted, imported and exported using the buttons in the Filters view toolbar. The nodes in the view can be Cut (Ctrl-X), Copied (Ctrl-C) and Pasted (Ctrl-V) by using the buttons in the toolbar or by using the key bindings. This makes it easier to quickly build new filters from existing ones. Changes to the preset filters are only applied and persisted to disk when the '''save filters''' button is pressed.
-
-To apply a saved preset filter in an events table, right-click on the table and select '''Apply preset filter...''' > ''filter name''.
-
-== Time Chart View ==
-
-[[Image:images/TimeChartView.png]]
-
-The Time Chart view allows the user to visualize every open trace in a common time chart. Each trace is display in its own row and ticks are display for every punctual event. As the user zooms using the mouse wheel or by right-clicking and dragging in the time scale, more detailed event data is computed from the traces.
-
-Time synchronization is enabled between the time chart view and other trace viewers such as the events table.
-
-Color settings defined in the Colors view can be used to change the tick color of events displayed in the Time Chart view.
-
-When a search is applied in the events table, the ticks corresponding to matching events in the Time Chart view are decorated with a marker below the tick.
-
-When a bookmark is applied in the events table, the ticks corresponding to the bookmarked event in the Time Chart view is decorated with a bookmark above the tick.
-
-When a filter is applied in the events table, the non-matching ticks are removed from the Time Chart view.
-
-The Time Chart only supports traces that are opened in an editor. The use of an editor is specified in the plug-in extension for that trace type, or is enabled by default for custom traces.
-
-== State System Explorer View ==
-
-The State System Explorer view allows the user to inspect the state interval values of every attribute of a state system at a particular time.
-
-The view shows a tree of currently selected traces and their registered state system IDs. For each state system the tree structure of attributes is displayed. The attribute name, quark, value, start and end time, and full attribute path are shown for each attribute.
-
-To modify the time of attributes shown in the view, select a different current time in other views that support time synchronization (e.g. event table, histogram view). When a time range is selected, this view uses the begin time.
-
-== Custom Parsers ==
-
-Custom parser wizards allow the user to define their own parsers for text or XML traces. The user defines how the input should be parsed into internal trace events and identifies the event fields that should be created and displayed. Traces created using a custom parser can be correlated with other built-in traces or traces added by plug-in extension.
-
-=== Creating a custom text parser ===
-
-The '''New Custom Text Parser''' wizard can be used to create a custom parser for text logs. It can be launched several ways:
-
-* Select '''File''' &gt; '''New''' &gt; '''Other...''' &gt; '''Tracing''' &gt; '''Custom Text Parser'''
-* Open the '''[[#Managing custom parsers|Manage Custom Parsers]]''' dialog, select the '''Text''' radio button and click the '''New...''' button
-
-[[Image:images/CustomTextParserInput.png]]
-
-Fill out the first wizard page with the following information:
-
-* '''Category:''' Enter a category name for the trace type.
-* '''Trace type:''' Enter a name for the trace type, which is also the name of the custom parser.
-* '''Time Stamp format:''' Enter the date and time pattern that will be used to output the Time Stamp.<br>
-Note: information about date and time patterns can be found here: [../reference/api/org/eclipse/linuxtools/tmf/core/timestamp/TmfTimestampFormat.html TmfTimestampFormat]
-
-Click the '''Add next line''', '''Add child line''' or '''Remove line''' buttons to create a new line of input or delete it. For each line of input, enter the following information:
-
-* '''Regular expression:''' Enter a regular expression that should match the input line in the log, using capturing groups to extract the data.<br>
-Note: information about date and time patterns can be found here: [http://java.sun.com/javase/6/docs/api/java/util/regex/Pattern.html]
-
-* '''Cardinality:''' Enter the minimum and maximum number of lines matching this line's regular expression that must be found in the log. At least the minimum number of lines must be found before the parser will consider the next line. Child lines will always be considered first.
-
-<u>Important note:</u> The custom parsers identify a log entry when the first line's regular expression matches (Root Line n). Each subsequent text line in the log is attempted to be matched against the regular expression of the parser's input lines in the order that they are defined (Line n.*). Only the first matching input line will be used to process the captured data to be stored in the log entry. When a text line matches a Root Line's regular expression, a new log entry is started.
-
-Click the '''Add group''' or '''Remove group''' buttons to define the data extracted from the capturing groups in the line's regular expression. For each group, enter the following information:
-
-* '''Name combo:''' Select a name for the extracted data:
-** '''Time Stamp''': Select this option to identify the time stamp data. The input's data and time pattern must be entered in the format: text box.
-** '''Message''': Select this option to identify the main log entry's message. This is usually a group which could have text of greater length.
-** '''Other''': Select this option to identify any non-standard data. The name must be entered in the name: text box.
-
-* '''Action combo:''' Select the action to be performed on the extracted data:
-** '''Set''': Select this option to overwrite the data for the chosen name when there is a match for this group.
-** '''Append''': Select this option to append to the data with the chosen name, if any, when there is a match for this group.
-** '''Append with |''' : Select this option to append to the data with the chosen name, if any, when there is a match for this group, using a | separator between matches.
-
-The '''Preview input''' text box can be used to enter any log data that will be processed against the defined custom parser. When the wizard is invoked from a selected log file resource, this input will be automatically filled with the file contents.
-
-The '''Preview:''' text field of each capturing group and of the Time Stamp will be filled from the parsed data of the first matching log entry.
-
-In the '''Preview input''' text box, the matching entries are highlighted with different colors:
-
-* <code><span style="background:#FFFF00">&nbsp;Yellow&nbsp;</span></code> : indicates uncaptured text in a matching line.
-* <code><span style="background:#00FF00">&nbsp;Green&nbsp;&nbsp;</span></code> : indicates a captured group in the matching line's regular expression for which a custom parser group is defined. This data will be stored by the custom parser.
-* <code><span style="background:#FF00FF">&nbsp;Magenta</span></code> : indicates a captured group in the matching line's regular expression for which there is no custom parser group defined. This data will be lost.
-* <code>&nbsp;White&nbsp;&nbsp;</code> : indicates a non-matching line.
-
-The first line of a matching entry is highlighted with darker colors.
-
-By default only the first matching entry will be highlighted. To highlight all matching entries in the preview input data, click the '''Highlight All''' button. This might take a few seconds to process, depending on the input size.
-
-Click the '''Next >''' button to go to the second page of the wizard.
-
-[[Image:images/CustomTextParserOutput.png]]
-
-On this page, the list of default and custom data is shown, along with a preview of the custom parser log table output.
-
-The custom data output can be modified by the following options:
-
-* '''Visibility:''' Select or unselect the checkbox to display the custom data or hide it.
-
-* '''Column order:''' Click '''Move before''' or '''Move after''' to change the display order of custom data.
-
-The table at the bottom of the page shows a preview of the custom parser log table output according to the selected options, using the matching entries of the previous page's '''Preview input''' log data.
-
-Click the '''Finish''' button to close the wizard and save the custom parser.
-
-=== Creating a custom XML parser ===
-
-The '''New Custom XML Parser''' wizard can be used to create a custom parser for XML logs. It can be launched several ways:
-
-* Select '''File''' &gt; '''New''' &gt; '''Other...''' &gt; '''Tracing''' &gt; '''Custom XML Parser'''
-* Open the '''[[#Managing custom parsers|Manage Custom Parsers]]''' dialog, select the '''XML''' radio button and click the '''New...''' button
-
-[[Image:images/CustomXMLParserInput.png]]
-
-Fill out the first wizard page with the following information:
-
-* '''Category:''' Enter a category name for the trace type.
-* '''Trace type:''' Enter a name for the trace type, which is also the name of the custom parser.
-* '''Time Stamp format:''' Enter the date and time pattern that will be used to output the Time Stamp.<br>
-
-Note: information about date and time patterns can be found here: [../reference/api/org/eclipse/linuxtools/tmf/core/timestamp/TmfTimestampFormat.html TmfTimestampFormat]
-
-Click the '''Add document element''' button to create a new document element and enter a name for the root-level document element of the XML file.
-
-Click the '''Add child''' button to create a new element of input to the document element or any other element. For each element, enter the following information:
-
-* '''Element name:''' Enter a name for the element that must match an element of the XML file.
-* '''Log entry:''' Select this checkbox to identify an element which represents a log entry. Each element with this name in the XML file will be parsed to a new log entry. At least one log entry element must be identified in the XML document. Log entry elements cannot be nested.
-* '''Name combo:''' Select a name for the extracted data:
-** '''Ignore''': Select this option to ignore the extracted element's data at this level. It is still possible to extract data from this element's child elements.
-** '''Time Stamp''': Select this option to identify the time stamp data. The input's data and time pattern must be entered in the format: text box.
-** '''Message''': Select this option to identify the main log entry's message. This is usually an input which could have text of greater length.
-** '''Other''': Select this option to identify any non-standard data. The name must be entered in the name: text box. It does not have to match the element name.
-* '''Action combo:''' Select the action to be performed on the extracted data:
-** '''Set''': Select this option to overwrite the data for the chosen name when there is a match for this element.
-** '''Append''': Select this option to append to the data with the chosen name, if any, when there is a match for this element.
-** '''Append with |''' : Select this option to append to the data with the chosen name, if any, when there is a match for this element, using a | separator between matches.
-
-Note: An element's extracted data 'value' is a parsed string representation of all its attributes, children elements and their own values. To extract more specific information from an element, ignore its data value and extract the data from one or many of its attributes and children elements.
-
-Click the '''Add attribute''' button to create a new attribute input from the document element or any other element. For each attribute, enter the following information:
-
-* '''Attribute name:''' Enter a name for the attribute that must match an attribute of this element in the XML file.
-* '''Name combo:''' Select a name for the extracted data:
-** '''Time Stamp''': Select this option to identify the time stamp data. The input's data and time pattern must be entered in the format: text box.
-** '''Message''': Select this option to identify the main log entry's message. This is usually an input which could have text of greater length.
-** '''Other''': Select this option to identify any non-standard data. The name must be entered in the name: text box. It does not have to match the element name.
-* '''Action combo:''' Select the action to be performed on the extracted data:
-** '''Set''': Select this option to overwrite the data for the chosen name when there is a match for this element.
-** '''Append''': Select this option to append to the data with the chosen name, if any, when there is a match for this element.
-** '''Append with |''' : Select this option to append to the data with the chosen name, if any, when there is a match for this element, using a | separator between matches.
-
-Note: A log entry can inherited input data from its parent elements if the data is extracted at a higher level.
-
-Click the '''Feeling lucky''' button to automatically and recursively create child elements and attributes for the current element, according to the XML element data found in the '''Preview input''' text box, if any.
-
-Click the '''Remove element''' or '''Remove attribute''' buttons to remove the extraction of this input data. Take note that all children elements and attributes are also removed.
-
-The '''Preview input''' text box can be used to enter any XML log data that will be processed against the defined custom parser. When the wizard is invoked from a selected log file resource, this input will be automatically filled with the file contents.
-
-The '''Preview:''' text field of each capturing element and attribute and of the Time Stamp will be filled from the parsed data of the first matching log entry. Also, when creating a new child element or attribute, its element or attribute name will be suggested if possible from the preview input data.
-
-Click the '''Next >''' button to go to the second page of the wizard.
-
-[[Image:images/CustomXMLParserOutput.png]]
-
-On this page, the list of default and custom data is shown, along with a preview of the custom parser log table output.
-
-The custom data output can be modified by the following options:
-
-* '''Visibility:''' Select or unselect the checkbox to display the custom data or hide it.
-* '''Column order:''' Click '''Move before''' or '''Move before''' to change the display order of custom data.
-
-The table at the bottom of the page shows a preview of the custom parser log table output according to the selected options, using the matching entries of the previous page's '''Preview input''' log data.
-
-Click the '''Finish''' button to close the wizard and save the custom parser.
-
-=== Managing custom parsers ===
-
-The '''Manage Custom Parsers''' dialog is used to manage the list of custom parsers used by the tool. To open the dialog:
-
-* Open the '''Project Explorer''' view.
-* Select '''Manage Custom Parsers...''' from the '''Traces''' folder context menu, or from a trace's '''Select Trace Type...''' context sub-menu.
-
-[[Image:images/ManageCustomParsers.png]]
-
-The ordered list of currently defined custom parsers for the selected type is displayed on the left side of the dialog.
-
-To change the type of custom parser to manage, select the '''Text''' or '''XML''' radio button.
-
-The following actions can be performed from this dialog:
-
-* New...
-
-Click the '''New...''' button to launch the '''New Custom Parser''' wizard.
-
-* Edit...
-
-Select a custom parser from the list and click the '''Edit...''' button to launch the '''Edit Custom Parser''' wizard.
-
-* Delete
-
-Select a custom parser from the list and click the '''Delete''' button to remove the custom parser.
-
-* Import...
-
-Click the '''Import...''' button and select a file from the opened file dialog to import all its custom parsers. If any parser conflicts with an existing built-in or custom trace type, the user will be prompted to skip or rename the imported parser.
-
-* Export...
-
-Select a custom parser from the list, click the '''Export...''' button and enter or select a file in the opened file dialog to export the custom parser. Note that if an existing file containing custom parsers is selected, the custom parser will be appended to the file.
-
-=== Opening a trace using a custom parser ===
-
-Once a custom parser has been created, any [[#Importing Traces to the Project|imported trace]] file can be opened and parsed using it.
-
-To do so:
-
-* Select a trace in the '''Project Explorer''' view
-* Right-click the trace and select '''Select Trace Type...''' &gt; ''category name'' &gt; ''parser name''
-* Double-click the trace or right-click it and select '''Open'''
-
-The trace will be opened in an editor showing the events table, and an entry will be added for it in the Time Chart view.
-
-= LTTng Tracer Control =
-
-The LTTng Tracer Control in Eclipse for the LTTng Tracer toolchain version v2.0 (or later) is done using SSH and requires an SSH server to be running on the remote host. For the SSH connection the SSH implementation of Remote Services is used. The functions to control the LTTng tracer (e.g. start and stop), either locally or remotely, are available from a dedicated Control View.
-
-In the following sections the LTTng 2.0 tracer control integration in Eclipse is described. Please refer to the LTTng 2.0 tracer control command line manual for more details and descriptions about all commands and their command line parameters [[#References | References]].
-
-== Control View ==
-To open the Control View, select '''Window->Show View->Other...->LTTng->Control View''.
-
-[[Image:images/LTTngControlView.png]]
-
-=== Creating a New Connection to a Remote Host ===
-
-To connect to a remote host, select the '''New Connection''' button in the Control View.
-
-[[Image:images/LTTngControlViewConnect.png]]
-
-A new dialog is opened for selecting a remote connection. You can also edit or define a remote connection from here.
-
-[[Image:images/LTTng2NewConnection.png]]
-
-To define a new remote host using the default SSH service, select '''Buit-in SSH''' and then select '''Create...'''.
-This will start the standard '''New Connection''' wizard provided by the Remote Services plugin.
-Similar, to edit the definition of a remote connection, select '''Edit...''' and use the '''Edit Connection'''
-wizard provided by the SSH service.
-In case you have installed an additional adapter for the Remote Services, you can choose to define a remote connection
-based on this adapter.
-
-[[Image:images/LTTng2NewRemoteConnection.png]]
-
-To use an existing connection definition, select the relevant entry in the tree and then select '''Ok'''.
-
-[[Image:images/LTTng2SelectConnection.png]]
-
-A new display will show for providing the user name and password. This display only opens if no password had been saved before. Enter user name and password in the '''Password Required''' dialog box and select '''Ok'''.
-
-[[Image:images/LTTng2EnterPassword.png]]
-
-After pressing '''Ok''' the SSH connection will be established and after successful login the Control View implementation retrieves the LTTng Tracer Control information. This information will be displayed in the Control View in form of a tree structure.
-
-[[Image:images/LTTng2ControlViewFilled.png]]
-
-The top level tree node is the representation of the remote connection (host). The connection name of the connection will be displayed. Depending on the connection state different icons are displayed. If the node is '''CONNECTED''' the icon is shown [[Image:images/Target_connected.gif]], otherwise (states '''CONNECTING''', '''DISCONNNECTING''' or '''DISCONNECTED''' the icon is [[Image:images/Target_disconnected.gif]].
-
-Under the host level two folder groups are located. The first one is the '''Provider''' group. The second one is the '''Sessions''' group.
-
-Under the '''Provider''' group all trace providers are displayed. Trace providers are '''Kernel''' and any user space application that supports UST tracing. Under each provider a corresponding list of events are displayed.
-
-Under the '''Sessions''' group all current sessions will be shown. The level under the sessions show the configured domains. Currently the LTTng 2.0 Tracer Toolchan supports domain '''Kernel''' and '''UST global'''. Under each domain the configured channels will be displayed. The last level is under the channels where the configured events are displayed.
-
-Each session can be '''ACTIVE''' or '''INACTIVE'''. Active means that tracing has been started, inactive means that the tracing has been stopped. Depending on the state of a session a different icon is displayed. The icon for an active session is [[Image:images/Session_active.gif]]. The icon for an inactive session is [[Image:images/Session_inactive.gif]].
-
-Each channel can be '''ENABLED''' or '''DISABLED'''. An enabled channel means that all configured events of that channel will be traced and a disabled channel won't trace any of its configured events. Different icons are displayed depending on the state of the channel. The icon for an enabled channel is [[Image:images/Channel.gif]] and the icon for a disabled channel is [[Image:images/Channel_disabled.gif]].
-
-Events within a channel can be in state '''ENABLED''' or '''DISABLED'''. Enabled events are stored in the trace when passed during program execution. Disabled events on the other hand won't be traced. Depending on the state of the event the icons for the event is different. An enabled event has the icon [[Image:images/Event_enabled.gif]] and a disabled event the icon [[Image:images/Event_disabled.gif]].
-
-=== Disconnecting from a Remote Host ===
-
-To disconnect from a remote host, select the host in the Control View and press the '''Disconnect''' button. Alternatively, press the right mouse button. A context-sensitive menu will show. Select the '''Disconnect''' button.
-
-[[Image:images/LTTng2ControlViewDisconnect.png]]
-
-=== Connecting to a Remote Host ===
-
-To connect to a remote host, select the host in the Control View and press the '''Connect''' button. Alternatively, press the right mouse button. A context-sensitive menu will show. Select the '''Connect''' button. This will start the connection process as discribed in [[#Creating a New Connection to a Remote Host | Creating a New Connection to a Remote Host]].
-
-[[Image:images/LTTng2ControlViewConnect.png]]
-
-=== Deleting to a Remote Host Connection ===
-
-To delete a remote host connection, select the host in the Control View and press the '''Delete''' button. Alternatively, press the right mouse button. A context-sensitive menu will show. Select the '''Delete''' button. For that command to be active the connection state has to be '''DISCONNECTED''' and the trace has to be closed.
-
-[[Image:images/LTTng2ControlViewDelete.png]]
-
-=== Creating a Tracing Session ===
-To create a tracing session, select the tree node '''Sessions''' and press the right mouse button. Then select the '''Create Session...''' button of the context-sensitive menu.
-
-[[Image:images/LTTng2CreateSessionAction.png]]
-
-A dialog box will open for entering information about the session to be created.
-
-[[Image:images/LTTng2CreateSessionDialog.png]]
-
-Fill in the '''Session Name''' and optionally the '''Session Path''' and press '''Ok'''. Upon successful operation a new session will be created and added under the tree node '''Sessions'''.
-
-=== Creating a Tracing Session With Advanced Options ===
-LTTng Tools version v2.1.0 introduces the possibility to configure the trace output location at session creation time. The trace can be stored in the (tracer) local file system or can be transferred over the network.
-
-To create a tracing session and configure the trace output, open the trace session dialog as described in chapter [[#Creating a Tracing Session | Creating a Tracing Session]]. A dialog box will open for entering information about the session to be created.
-
-[[Image:images/LTTng2CreateSessionDialog_Advanced.png]]
-
-The button '''Advanced >>>''' will only show if the remote host has LTTng Tools v2.1.0 installed. To configure the trace output select the '''Advanced >>>''' button. The Dialog box will be shown new fields to configure the trace output location.
-
-[[Image:images/LTTng2CreateSessionDialog_TracePath.png]]
-
-By default, the button '''Use same protocol and address for data and control''' is selected which allows to configure the same '''Protocol''' and '''Address''' for both data URL and control URL.
-
-If button '''Use same protocol and address for data and control''' is selected the '''Protocol''' can be '''net''' for the default network protocol which is TCP (IPv4), '''net6''' for the default network protocol which is TCP (IPv6) and '''file''' for the local file system. For '''net''' and '''net6''' the port can be configured. Enter a value in '''Port''' for data and control URL or keep them empty for the default port to be used. Using '''file''' as protocol no port can be configured and the text fields are disabled.
-
-If button '''Use same protocol and address for data and control''' is not selected the '''Protocol''' can be '''net''' for the default network protocol which is TCP (IPv4), '''net6''' for the default network protocol which is TCP (IPv6), '''tcp''' for the network protocol TCP (IPv4) and '''tcp6''' for the network protocol TCP (IPv6). Note that for '''net''' and '''net6''' always the default port is used and hence the port text fields are disabled. To configure non-default ports use '''tcp''' or '''tcp6'''.
-
-The text field '''Trace Path''' allows for specifying the path relative to the location defined by the '''relayd''' or relative to the location specified by the '''Address''' when using protocol '''file'''. For more information about the '''relayd''' see '''LTTng relayd User Manual''' in chapter [[#References | References]].
-
-To create a session with advanced options, fill in the relevant parameters and press '''Ok'''. Upon successful operation a new session will be created and added under the tree node '''Sessions'''.
-
-=== Creating a Snapshot Tracing Session ===
-LTTng Tools version v2.3.0 introduces the possibility to create snapshot tracing sessions. After starting tracing the trace events are not stored on disk or over the network. They are only transfered to disk or over the network when the user records a snapshot. To create such a snapshot session, open the trace session dialog as described in chapter [[#Creating a Tracing Session | Creating a Tracing Session]].
-
-[[Image:images/LTTng2CreateSessionDialog_Snapshot.png]]
-
-Fill in all necessary information, select the radio button for '''Snapshot Mode''' and press '''Ok'''. By default, the location for the snapshot output will be on the host where the host is located.
-
-Refer to chapter [[#Recording a Snapshot | Recording a Snapshot]] for how to create a snapshot.
-
-=== Creating a Live Tracing Session ====
-LTTng Tools version v2.4.0 introduces the possibility to create live tracing sessions. The live mode allows you to stream the trace and view it while it's being recorded. To create such a live session, open the trace session dialog as described in chapter [[#Creating a Tracing Session | Creating a Tracing Session]].
-
-[[Image:images/LTTng2CreateSessionDialog_Live.png]]
-
-In the advanced options, it is possible to set the '''Live Delay'''. The '''Live Delay''' is the delay in micro seconds before the data is flushed and streamed.
-
-[[Image:images/LTTng2CreateSessionDialog_Live_Advanced.png]]
-
-Fill in all necessary information, select the radio button for '''Live Mode''' and press '''Ok'''.
-
-=== Enabling Channels - General ===
-
-Enabling channels can be done using a session tree node when the domain hasn't be created in the session or, alternatively on a domain tree node of a session in case the domain is already available.
-
-=== Enabling Channels On Session Level ===
-
-To enable a channel, select the tree node of the relevant session and press the right mouse button. Then select the '''Enable Channel...''' button of the context-sensitive menu.
-
-[[Image:images/LTTng2CreateChannelAction.png]]
-
-A dialog box will open for entering information about the channel to be created.
-
-[[Image:images/LTTng2CreateChannelDialog.png]]
-
-By default the domain '''Kernel''' is selected. To create a UST channel, select '''UST''' under the domain section. The label <Default> in any text box indicates that the default value of the tracer will be configured. To initialize the dialog box press button '''Default'''.
-
-If required update the following channel information and then press '''Ok'''.
-
-* '''Channel Name''': The name of the channel.
-* '''Sub Buffer size''': The size of the sub-buffers of the channel (in bytes).
-* '''Number of Sub Buffers''': The number of sub-buffers of the channel.
-* '''Switch Timer Interval''': The switch timer interval.
-* '''Read Timer Interval''': The read timer interval.
-* '''Discard Mode''': '''Overwrite''' events in buffer or '''Discard''' new events when buffer is full.
-
-Upon successful operation, the requested domain will be created under the session tree node as well as the requested channel will be added under the domain. The channel will be '''ENABLED'''.
-
-=== Configuring Trace File Rotation ===
-
-Since LTTng Tools v2.2.0 it is possible to set the maximum size of trace files and the maximum number of them. These options are located in the same dialog box that is used for enabling channels.
-
-[[Image:images/LTTng2CreateChannelDialogFileRotation.png]]
-
-* '''Maximum size of trace files''': The maximum size of trace files
-* '''Maximum number of trace files''': The maximum number of trace files
-
-=== Configuring per UID and per PID Buffers (UST only) ===
-
-Since LTTng Tools v2.2.0 it is possible to configure the type of buffers for '''UST''' application. It is now possible to choose between per '''UID''' buffers (per user ID) and per '''PID''' buffers (per process ID) using the dialog box for enabling channels.
-
-[[Image:images/LTTng2CreateChannelDialogPerUIDBuffers.png]]
-
-* '''Per PID buffers''': To activate the per PID buffers option for UST channels
-* '''Per UID buffers''': To activate the per UID buffers option for UST channels
-
-If no buffer type is selected then the default value of the tracer will be configured.
-
-Note that '''Global shared buffers''' is only for kernel channel and is pre-selected when '''Kernel''' is selected in the dalog box.
-
-=== Configuring Periodical Flush for metadata Channel ===
-
-Since LTTng Tools v2.2.0 it is possible to configure periodical flush for the metadata channel. To set this, use the checkbox '''Configure metadata channel''' then fill the switch timer interval.
-
-[[Image:images/LTTng2CreateChannelDialogMetadataFlush.png]]
-
-=== Enabling Channels On Domain Level ===
-
-Once a domain is available, channels can be enabled directly using the domain. To enable a channel under an existing domain, select the tree node of the relevant domain and press the right mouse button. Then select the '''Enable Channel...''' button of the context-sensitive menu.
-
-[[Image:images/LTTng2CreateChannelOnDomainAction.png]]
-
-The dialog box for enabling channel will open for entering information about the channel to be created. Note that the domain is pre-selected and cannot be changed. Fill the relevant information and press '''Ok'''.
-
-=== Enabling and Disabling Channels ===
-
-To disable one or more enabled channels, select the tree nodes of the relevant channels and press the right mouse button. Then select the '''Disable Channel''' menu item of the context-sensitive menu.
-
-[[Image:images/LTTng2DisableChannelAction.png]]
-
-Upon successful operation, the selected channels will be '''DISABLED''' and the icons for the channels will be updated.
-
-To enable one or more disabled channels, select the tree nodes of the relevant channels and press the right mouse button. Then select the '''Enable Channel''' menu item of the context-sensitive menu.
-
-[[Image:images/LTTng2EnableChannelAction.png]]
-
-Upon successful operation, the selected channels will be '''ENABLED''' and the icons for the channels will be updated.
-
-=== Enabling Events - General ===
-
-Enabling events can be done using different levels in the tree node. It can be done on the session, domain level and channel level. For the case of session or domain, i.e. when no specific channels is assigned then enabling of events is done on the default channel with the name '''channel0''' which created, if not already exists, by the LTTng tracer control on the server side.
-
-=== Enabling Kernel Events On Session Level ===
-
-To enable events, select the tree node of the relevant session and press the right mouse button. Then select the '''Enable Event (default channel)...''' button of the context-sensitive menu.
-
-[[Image:images/LTTng2EventOnSessionAction.png]]
-
-A dialog box will open for entering information about events to be enabled.
-
-[[Image:images/LTTng2EventOnSessionDialog.png]]
-
-By default the domain '''Kernel''' is selected and the kernel specific data sections are created. From this dialog box kernel '''Tracepoint''' events, '''System calls (Syscall)''', a '''Dynamic Probe''' or a '''Dynamic Function entry/return''' probe can be enabled. Note that events of one of these types at a time can be enabled.
-
-To enable '''Tracepoint''' events, first select the corresponding '''Select''' button, then select either all tracepoins (select '''All''') or select selectively one or more tracepoints in the displayed tree of tracepoints and finally press '''Ok'''.
-
-[[Image:images/LTTng2TracepointEventsDialog.png]]
-
-Upon successful operation, the domain '''Kernel''' will be created in the tree (if neccessary), the default channel with name "channel0" will be added under the domain (if necessary) as well as all requested events of type '''TRACEPOINT''' under the channel. The channel and events will be '''ENABLED'''.
-
-[[Image:images/LTTng2EnabledKernelTracepoints.png]]
-
-To enable all '''Syscalls''', select the corresponding '''Select''' button and press '''Ok'''.
-
-[[Image:images/LTTng2SyscallsDialog.png]]
-
-Upon successful operation, the event with the name '''syscalls''' and event type '''SYSCALL''' will be added under the default channel (channel0). If necessary the domain '''Kernel''' and the channel '''channel0''' will be created.
-
-[[Image:images/LTTng2EnabledKernelSyscalls.png]]
-
-To enable a '''Dynamic Probe''' event, select the corresponding '''Select''' button, fill the '''Event Name''' and '''Probe''' fields and press '''Ok'''. Note that the probe can be an address, symbol or a symbol+offset where the address and offset can be octal (0NNN...), decimal (NNN...) or hexadecimal (0xNNN...).
-
-[[Image:images/LTTng2ProbeEventDialog.png]]
-
-Upon successful operation, the dynamic probe event with the given name and event type '''PROBE''' will be added under the default channel (channel0). If necessary the domain '''Kernel''' and the channel '''channel0''' will be created.
-
-[[Image:images/LTTng2EnabledKernelProbeEvent.png]]
-
-To enable a '''Dynamic Function entry/return Probe''' event, select the corresponding '''Select''' button, fill the '''Event Name''' and '''Function''' fields and press '''Ok'''. Note that the funtion probe can be an address, symbol or a symbol+offset where the address and offset can be octal (0NNN...), decimal (NNN...) or hexadecimal (0xNNN...).
-
-[[Image:images/LTTng2FunctionEventDialog.png]]
-
-Upon successful operation, the dynamic function probe event with the given name and event type '''PROBE''' will be added under the default channel (channel0). If necessary the domain '''Kernel''' and the channel '''channel0''' will be created.
-
-[[Image:images/LTTng2EnabledFunctionProbeEvent.png]]
-
-=== Enabling UST Events On Session Level ===
-
-For enabling UST events, first open the enable events dialog as described in section [[#Enabling Kernel Events On Session Level | Enabling Kernel Events On Session Level]] and select domain '''UST'''.
-
-To enable '''Tracepoint''' events, first select the corresponding '''Select''' button, then select either all tracepoins (select '''All''') or select selectively one or more tracepoints in the displayed tree of tracepoints and finally press '''Ok'''.
-
-[[Image:images/LTTng2UstTracepointEventsDialog.png]]
-
-Upon successful operation, the domain '''UST global''' will be created in the tree (if neccessary), the default channel with name "channel0" will be added under the domain (if necessary) as well as all requested events under the channel. The channel and events will be '''ENABLED'''. Note that for the case that '''All''' tracepoints were selected the wildcard '''*''' is used which will be shown in the Control View as below.
-
-[[Image:images/LTTng2EnabledAllUstTracepoints.png]]
-
-For UST it is possible to enable '''Tracepoint''' events using a wildcard. To enable '''Tracepoint''' events with a wildcard, select first the corresponding '''Select''' button, fill the '''Wildcard''' field and press '''Ok'''.
-
-[[Image:images/LTTng2UstWildcardEventsDialog.png]]
-
-Upon successful operation, the event with the given wildcard and event type '''TRACEPOINT''' will be added under the default channel (channel0). If necessary the domain '''UST global''' and the channel '''channel0''' will be created.
-
-[[Image:images/LTTng2EnabledUstWildcardEvents.png]]
-
-For UST it is possible to enable '''Tracepoint''' events using log levels. To enable '''Tracepoint''' events using log levels, select first the corresponding '''Select''' button, select a log level from the drop down menu, fill in the relevant information (see below) and press '''Ok'''.
-
-* '''Event Name''': Name to display
-* '''loglevel''': To specify if a range of log levels (0 to selected log level) shall be configured
-* '''loglevel-only''': To specify that only the specified log level shall be configured
-
-[[Image:images/LTTng2UstLoglevelEventsDialog.png]]
-
-Upon successful operation, the event with the given event name and event type '''TRACEPOINT''' will be added under the default channel (channel0). If necessary the domain '''UST global''' and the channel '''channel0''' will be created.
-
-[[Image:images/LTTng2EnabledUstLoglevelEvents.png]]
-
-=== Enabling Events On Domain Level ===
-
-Kernel events can also be enabled on the domain level. For that select the relevant domain tree node, click the right mouse button and the select '''Enable Event (default channel)...'''. A new dialog box will open for providing information about the events to be enabled. Depending on the domain, '''Kernel''' or '''UST global''', the domain specifc fields are shown and the domain selector is preselected and read-only.
-
-[[Image:images/LTTng2EventOnDomainAction.png]]
-
-To enable events for domain '''Kernel''' follow the instructions in section [[#Enabling Kernel Events On Session Level | Enabling Kernel Events On Session Level]], for domain '''UST global''', see section [[#Enabling UST Events On Session Level | Enabling UST Events On Session Level]].
-The events will be add to the default channel '''channel0'''. This channel will be created by on the server side if neccessary.
-
-=== Enabling Events On Channel Level ===
-
-Kernel events can also be enabled on the channel level. If necessary, create a channel as described in sections [[#Enabling Channels On Session Level | Enabling Channels On Session Level]] or [[#Enabling Channels On Domain Level | Enabling Channels On Domain Level]].
-
-Then select the relevant channel tree node, click the right mouse button and the select '''Enable Event...'''. A new dialog box will open for providing information about the events to be enabled. Depending on the domain, '''Kernel''' or '''UST global''', the domain specifc fields are shown and the domain selector is preselected and read-only.
-
-[[Image:images/LTTng2EventOnChannelAction.png]]
-
-To enable events for domain '''Kernel''' follow the instructions in section [[#Enabling Kernel Events On Session Level | Enabling Kernel Events On Session Level]], for domain '''UST global''' [[#Enabling UST Events On Session Level | Enabling UST Events On Session Level]].
-
-When enabling events on the channel level, the events will be add to the selected channel.
-
-=== Enabling and Disabling Events ===
-
-To disable one or more enabled events, select the tree nodes of the relevant events and click the right mouse button. Then select '''Disable Event''' menu item in the context-sensitive menu.
-
-[[Image:images/LTTng2DisableEventAction.png]]
-
-Upon successful operation, the selected events will be '''DISABLED''' and the icons for these events will be updated.
-
-To enable one or more disabled events, select the tree nodes of the relevant events and press the right mouse button. Then select the '''Enable Event''' menu item of the context-sensitive menu.
-
-[[Image:images/LTTng2EnableEventAction.png]]
-
-Upon successful operation, the selected events will be '''ENABLED''' and the icons for these events will be updated.
-
-'''Note''': There is currently a limitation for kernel event of type '''SYSCALL'''. This kernel event can not be disabled. An error will appear when trying to disable this type of event. A work-around for that is to have the syscall event in a separate channel and disable the channel instead of the event.
-
-=== Enabling Tracepoint Events From Provider ===
-
-It is possible to enable events of type '''Tracepoint''' directly from the providers and assign the enabled event to a session and channel. Before doing that a session has to be created as described in section [[#Creating a Tracing Session | Creating a Tracing Session]]. Also, if other than default channel '''channel0''' is required, create a channel as described in sections [[#Enabling Channels On Session Level | Enabling Channels On Session Level]] or [[#Enabling Channels On Domain Level | Enabling Channels On Domain Level]].
-
-To assign tracepoint events to a session and channel, select the events to be enabled under the provider (e.g. provider '''Kernel'''), click right mouse button and then select '''Enable Event...''' menu item from the context sensitive menu.
-
-[[Image:images/LTTng2AssignEventAction.png]]
-
-A new display will open for defining the session and channel.
-
-[[Image:images/LTTng2AssignEventDialog.png]]
-
-Select a session from the '''Session List''' drop-down menu, a channel from the '''Channel List''' drop-down menu and the press '''Ok'''. Upon successful operation, the selected events will be added to the selected session and channel of the domain that the selected provider belongs to. In case that there was no channel available, the domain and the default channel '''channel0''' will be created for corresponding session. The newly added events will be '''ENABLED'''.
-
-[[Image:images/LTTng2AssignedEvents.png]]
-
-=== Configuring Filter Expression On UST Event Fields ===
-
-Since LTTng Tools v2.1.0 it is possible to configure a filter expression on UST event fields. To configure a filter expression on UST event fields, open the enable event dialog as described in chapters [[#Enabling UST Events On Session Level | Enabling UST Events On Session Level]], [[#Enabling Events On Domain Level | Enabling Events On Domain Level]] or [[#Enabling Events On Channel Level | Enabling Events On Channel Level]], select UST if needed, select the relevant '''Tracepoint''' event(s) and enter the filter expression in the '''Filter Expression''' text field.
-
-[[Image:images/LTTng2EnableEventWithFilter.png]]
-
-Alternatively, open the dialog box for assigning events to a session and channel described in [[#Enabling Tracepoint Events From Provider | Enabling Tracepoint Events From Provider]] (for UST providers) and enter the filter expression in the '''Filter Expression''' text field.
-
-[[Image:images/LTTng2AssignEventDialogWithFilter.png]]
-
-For the syntax of the filter expression refer to the '''LTTng Tracer Control Command Line Tool User Manual''' of chapter [[#References |References]].
-
-=== Adding Contexts to Channels and Events of a Domain ===
-
-It is possible to add contexts to channels and events. Adding contexts on channels and events from the domain level, will enable the specified contexts to all channels of the domain and all their events. To add contexts on the domain level, select a domain, click right mouse button on a domain tree node (e.g. provider '''Kernel''') and select the menu item '''Add Context...''' from the context-sensitive menu.
-
-[[Image:images/LTTng2AddContextOnDomainAction.png]]
-
-A new display will open for selecting one or more contexts to add.
-
-[[Image:images/LTTng2AddContextDialog.png]]
-
-The tree shows all available context that can be added. Select one or more context and the press '''Ok'''. Upon successful operation, the selected context will be added to all channels and their events of the selected domain.
-
-'''Note''': The LTTng UST tracer only supports contexts '''procname''', '''pthread_id''', '''vpid''' '''vtid'''. Adding any other contexts in the UST domina will fail.
-
-=== Adding Contexts to All Events of a Channel ===
-
-Adding contexts on channels and events from the channel level, will enable the specified contexts to all events of the selected channel. To add contexts on the channel level, select a channel, click right mouse button on a channel tree node and select the menu item '''Add Context...''' from the context-sensitive menu.
-
-[[Image:images/LTTng2AddContextOnChannelAction.png]]
-
-A new display will open for selecting one or more contexts to add. Select one or more contexts as described in chapter [[#Adding Contexts to Channels and Events of a Domain | Adding Contexts to Channels and Events of a Domain]]. Upon successful operation, the selected context will be added to all channels and their events of the selected domain. '''Note''' that the LTTng 2.0 tracer control on the remote host doesn't provide a way to retrieve added contexts. Hence it's not possible to display the context information in the GUI.
-
-=== Adding Contexts to an Event of a Specific Channel ===
-
-Adding contexts to an event of a channel is only available in LTTng Tools versions v2.0.0-2.1.x. The menu option won't be visible for LTTng Tools version v2.2.0 or later. To add contexts on an event select an event of a channel, click right mouse button on the corresponding event tree node and select the menu item '''Add Context...''' from the context-sensitive menu.
-
-[[Image:images/LTTng2AddContextToEventsAction.png]]
-
-A new display will open for selecting one or more contexts to add. Select one or more contexts as described in chapter [[#Adding Contexts to Channels and Events of a Domain | Adding Contexts to Channels and Events of a Domain]]. Upon successful operation, the selected context will be added to the selected event.
-
-=== Start Tracing ===
-
-To start tracing, select one or more sessions to start in the Control View and press the '''Start''' button. Alternatively, press the right mouse button on the session tree nodes. A context-sensitive menu will show. Then select the '''Start''' menu item.
-
-[[Image:images/LTTng2StartTracingAction.png]]
-
-Upon successful operation, the tracing session will be '''ACTIVE''' and the icon of the session will be updated.
-
-=== Recording a Snapshot ===
-
-LTTng Tools version v2.3.0 introduces the possibility to create snapshot tracing sessions. After creating a snapshot session (see [[#Creating a Snapshot Tracing Session | Creating a Snapshot Tracing Session]]) and starting tracing (see [[#Start Tracing | Start Tracing]]) it possible to record snapshots. To record a snapshot select one or more sessions and press the '''Record Snapshot''' button. Alternatively, press the right mouse button on the session tree nodes. A context-sensitive menu will show. Then select the '''Recored Snapshot''' menu item.
-
-[[Image:images/LTTng2RecordSnapshotAction.png]]
-
-This action can be executed many times. It is possible to import the recorded snpshots to a tracing project. The trace session might be '''ACTIVE''' or '''INACTIVE''' for that. Refer to section [[#Importing Session Traces to a Tracing Project | Importing Session Traces to a Tracing Project]] on how to import a trace to a tracing project.
-
-=== Stop Tracing ===
-
-To stop tracing, select one or more sessions to stop in the Control View and press the '''Stop''' button. Alternatively, click the right mouse button on the session tree node. A context-sensitive menu will show. Then select the '''Stop''' menu item.
-
-[[Image:images/LTTng2StopTracingAction.png]]
-
-Upon successful operation, the tracing session will be '''INACTIVE''' and the icon of the session will be updated.
-
-=== Destroying a Tracing Session ===
-
-To destroy a tracing session, select one or more sessions to destroy in the Control View and press the '''Destroy''' button. Alternatively, click the right mouse button on the session tree node. A context-sensitive menu will show. Then select the '''Destroy...''' menu item. Note that the session has to be '''INACTIVE''' for this operation.
-
-[[Image:images/LTTng2DestroySessionAction.png]]
-
-A confirmation dialog box will open. Click on '''Ok''' to destroy the session otherwise click on '''Cancel'''.
-
-[[Image:images/LTTng2DestroyConfirmationDialog.png]]
-
-Upon successful operation, the tracing session will be destroyed and removed from the tree.
-
-=== Refreshing the Node Information ===
-
-To refresh the remote host information, select any node in the tree of the Control View and press the '''Refresh''' button. Alternatively, click the right mouse button on any tree node. A context-sensitive menu will show. Then select the '''Refresh''' menu item.
-
-[[Image:images/LTTng2RefreshAction.png]]
-
-Upon successful operation, the tree in the Control View will be refreshed with the remote host configuration.
-
-=== Quantifing LTTng overhead (Calibrate) ===
-
-The LTTng calibrate command can be used to find out the combined average overhead of the LTTng tracer and the instrumentation mechanisms used. For now, the only calibration implemented is that of the kernel function
-instrumentation (kretprobes). To run the calibrate command, select the a domain (e.g. '''Kernel'''), click the right mouse button on the domain tree node. A context-sensitive menu will show. Select the '''Calibrate''' menu item.
-
-[[Image:images/LTTng2CalibrateAction.png]]
-
-Upon successful operation, the calibrate command is executed and relevant information is stored in the trace. Note: that the trace has to be active so that to command as any effect.
-
-=== Importing Session Traces to a Tracing Project ===
-
-To import traces from a tracing session, select the relevant session and click on the '''Import''' Button. Alternatively, click the right mouse button on the session tree node and select the menu item '''Import...''' from the context-sensitive menu.
-
-[[Image:images/LTTng2ImportAction.png]]
-
-A new display will open for selecting the traces to import.
-
-[[Image:images/LTTng2ImportDialog.png]]
-
-By default all traces are selected. A default project with the name '''Remote''' is selected which will be created if necessary. Update the list of traces to be imported, if necessary, by selecting and deselecting the relevant traces in the tree viewer. Use buttons '''Select All''' or '''Deselect All''' to select or deselect all traces. Also if needed, change the tracing project from the '''Available Projects''' combo box. Select the Overwrite button ('''Overwrite existing trace without warning''') if required. Then press button '''Ok'''. Upon successful import operation the selected traces will be stored in the '''Traces''' directory of the specified tracing project. The session directory structure as well as the trace names will be preserved in the destination tracing project. For '''Kernel''' traces the trace type '''LTTng Kernel Trace''' and for '''UST''' traces the trace type '''LTTng UST Trace''' will be set. From the '''Project Explorer''' view, the trace can be analyzed further.
-
-'''Note''': If the overwrite button ('''Overwrite existing trace without warning''') was not selected and a trace with the same name of a trace to be imported already exists in the destination directory of the project, then a new confirmation dialog box will open.
-
-[[Image:images/LTTng2ImportOverwriteConfirmationDialog.png]]
-
-To Overwrite select the '''Overwrite''' Button and press '''Ok'''.
-
-If the existing trace should not be overwritten select, then select the '''Rename''' option of the confirmation dialog box above, enter a new name and then press '''Ok'''.
-
-[[Image:images/LTTng2ImportRenameDialog.png]]
-
-=== Importing Network Traces to a Tracing Project ===
-
-Since LTTng Tools v2.1.0 it is possible to store traces over the network. To import network traces, execute the '''Import''' action as described in chapter [[#Importing Session Traces to a Tracing Project | Importing Session Traces to a Tracing Project]]. For network traces the '''Import Trace Wizard''' will be displayed. Follow the instructions in chapter [[#Importing | Importing]] to import the network traces of the current session.
-
-== Properties View ==
-
-The Control View provides property information of selected tree component. Depending on the selected tree component different properties are displayed in the property view. For example, when selecting the node level the property view will be filled as followed:
-
-[[Image:images/LTTng2PropertyView.png]]
-
-'''List of properties''':
-
-* '''Host''' Properties
-** '''Connection Name''': The alias name to be displayed in the Control View.
-** '''Host Name''': The IP address or DNS name of the remote system.
-** '''State''': The state of the connection ('''CONNECTED''', '''CONNECTING''', '''DISCONNNECTING''' or '''DISCONNECTED''').
-* '''Kernel Provider''' Properties
-** '''Provider Name''': The name of the provider.
-* '''UST Provider''' Properties
-** '''Provider Name''': The name of the provider.
-** '''Process ID''': The process ID of the provider.
-* '''Event''' Properties (Provider)
-** '''Event Name''': The name of the event.
-** '''Event Type''': The event type ('''TRACEPOINT''' only).
-** '''Fields''': Shows a list of fields defined for the selected event. (UST only, since support for LTTng Tools v2.1.0)
-** '''Log Level''': The log level of the event.
-* '''Session''' Properties
-** '''Session Name''': The name of the Session.
-** '''Session Path''': The path on the remote host where the traces will be stored. (Not shown for snapshot sessions).
-** '''State''': The state of the session ('''ACTIVE''' or '''INACTIVE''')
-** '''Snapshot ID''': The snapshot ID. (Only shown for snapshot sessions).
-** '''Snapshot Name''': The name of the snapshot output configuration. (Only shown for snapshot sessions).
-** '''Snapshot Path''': The path where the snapshot session is located. (Only shown for snapshot sessions).
-* '''Domain''' Properties
-** '''Domain Name''': The name of the domain.
-** '''Buffer Type''': The buffer type of the domain.
-* '''Channel''' Properties
-** '''Channel Name''': The name of the channel.
-** '''Number of Sub Buffers''': The number of sub-buffers of the channel.
-** '''Output type''': The output type for the trace (e.g. ''splice()'' or ''mmap()'')
-** '''Overwrite Mode''': The channel overwrite mode ('''true''' for overwrite mode, '''false''' for discard)
-** '''Read Timer Interval''': The read timer interval.
-** '''State''': The channel state ('''ENABLED''' or '''DISABLED''')
-** '''Sub Buffer size''': The size of the sub-buffers of the channel (in bytes).
-** '''Switch Timer Interval''': The switch timer interval.
-* '''Event''' Properties (Channel)
-** '''Event Name''': The name of the event.
-** '''Event Type''': The event type ('''TRACEPOINT''', '''SYSCALL''' or '''PROBE''').
-** '''Log Level''': The log level of the event. (For LTTng Tools v2.4.0 or later, '''<=''' prior the log level name will indicate a range of log levels and '''==''' a single log level.)
-** '''State''': The Event state ('''ENABLED''' or '''DISABLED''')
-** '''Filter''': Shows '''with filter''' if a filter expression is configured else property '''Filter''' is omitted. (since support for LTTng Tools v2.1.0)
-
-== LTTng Tracer Control Preferences ==
-
-Serveral LTTng 2.0 tracer control preferences exists which can be configured. To configure these preferences, select '''Window->Preferences''' from the top level menu. The preference display will open. Then select '''Tracing->LTTng Tracer Control Preferences'''. This preferences page allows the user to specify the tracing group of the user and to specify the command execution timeout as well as it allows the user to configure the logging of LTTng 2.0 tracer control commands and results to a file.
-
-[[Image:images/LTTng2Preferences.png]]
-
-To change the tracing group of the user which will be specified on each command line, enter the new group name in the '''Tracing Group''' text field and click button '''OK'''. The default tracing group is '''tracing''' and can be restored by pressing the '''Restore Defaults''' button.
-
-[[Image:images/LTTng2PreferencesGroup.png]]
-
-To configure logging of trace control commands and the corresponding command result to a file, selected the button '''Logging'''. To append to an existing log file, select the '''Append''' button. Deselect the '''Append''' button to overwrite any existing log file. It's possible to specify a verbose level. There are 3 levels with inceasing verbosity from '''Level 1''' to '''Level 3'''. To change the verbosity level, select the relevant level or select '''None'''. If '''None''' is selected only commands and command results are logged. Then press on button '''OK'''. The log file will be stored in the users home directory with the name ''lttng_tracer_control.log''. The name and location cannot be changed. To reset to default preferences, click on the button '''Restore Defaults'''.
-
-[[Image:images/LTTng2PreferencesLogging.png]]
-
-To configure the LTTng command execution timeout, enter a timeout value into the text field '''Command Timeout (in seconds)''' and press on button '''OK'''. To reset to the default value of 15 seconds, click on the button '''Restore Defaults'''.
-
-[[Image:images/LTTng2PreferencesTimeout.png]]
-
-= LTTng Kernel Analysis =
-
-Historically, LTTng was developped to trace the Linux kernel and, over time, a number of kernel-oriented analysis views were developped and organized in a perspective.
-
-This section presents a description of the LTTng Kernel Perspective.
-
-== LTTng Kernel Perspective ==
-
-The '''LTTng Kernel''' perspective is built upon the [[#Tracing_Perspective | Tracing Perspective]], re-organizes them slightly and adds the following views:
-
-* [[#Control_Flow_View | Control Flow View]] - to visualize processes state transitions
-* [[#Resources_View | Resources View]] - to visualize system resources state transitions
-* [[#LTTng_Tracer_Control | LTTng Tracer Control]] - to configure LTTng tracing sessions remotely
-
-[[Image:images/LTTngKernelPerspective.png]]
-
-
-The perspective can be opened from the Eclipse Open Perspective dialog ('''Window > Open Perspective... > Other''').
-
-
-[[Image:images/OpenLTTngKernelPerspective.png]]
-
-== Control Flow View ==
-
-The '''''Control Flow''''' view is a LTTng-specific view that shows per-process events graphically. The LTTng Kernel analysis is executed the first time a LTTng Kernel is opened. After opening the trace, the element '''Control Flow''' is added under the '''LTTng Kernel Analysis''' tree element in the Project Explorer. To open the view, double-click the '''Control Flow''' tree element.
-
-[[Image:images/Cfv_show_view.png]]
-
-Alternatively, select ''Control Flow'' under ''LTTng'' within the ''Show View'' window ('''Window''' -> '''Show View''' -> '''Other...'''):
-
-You should get something like this:
-
-[[Image:images/Cfv_global.png]]
-
-The view is divided into the following important sections: '''process tree and information''', '''control flow''' and the '''toolbar'''.
-
-The following sections provide detailed information for each part of the Control Flow View.
-
-=== Process tree and information ===
-
-Processes are organized as a tree within this view. This way, child and parent processes are easy to identify.
-
-[[Image:images/Cfv_process_tree.png]]
-
-The layout is based on the states computed from the trace events.
-
-A given process may be shown at different places within the tree since the nodes are '''unique (TID, birth time) couples'''. This means that if process B of parent A dies, you'll still see it in the tree. If process A forks process B again, it will be shown as a different node since it won't have the same birth time (and probably not the same TID). This has the advantage that the tree, once loaded, never changes: horizontal scrolling within the [[#Control flow|control flow]] remains possible.
-
-The TID column shows the process node's '''thread ID''' and the PTID column shows its '''parent thread ID''' (nothing is shown if the process has no parent).
-
-=== Control flow ===
-
-This part of the Control Flow View is probably the most interesting one. Using the mouse, you can navigate through the trace (go left, right) and zoom on a specific region to inspect its details.
-
-The colored bars you see represent '''states''' for the associated process node. When a process state changes in time, so does the color. For state '''SYSCALL''' the name of the system call is displayed in the state bar. States colors legend is available through a [[#Toolbar|toolbar button]]:
-
-[[Image:images/Cfv_legend.png]]
-
-This dark yellow is what you'll see most of the time since scheduling puts processes on hold while others run.
-
-The vertical blue line with T1 above it is the '''current selection indicator'''. When a time range is selected, the region between the begin and end time of the selection will be shaded and two lines with T1 and T2 above will be displayed. The time stamps corresponding to T1, T2 and their delta are shown in the status line when the mouse is hovering over the control flow.
-
-Arrows can be displayed that follow the execution of each CPU across processes. The arrows indicate when the scheduler switches from one process to another for a given CPU. The CPU being followed is indicated on the state tooltip. When the scheduler switches to and from the idle process, the arrow skips to the next process which executes on the CPU after the idle process. Note that an appropriate zoom level is required for all arrows to be displayed.
-
-The display of arrows is optional and can be toggled using the '''Hide Arrows''' toolbar button. It is also possible to follow a CPU's execution across state changes and the scheduler's process switching using the '''Follow CPU Forward/Backward''' toolbar buttons.
-
-==== Using the mouse ====
-
-The states flow is usable with the mouse. The following actions are set:
-
-* '''left-click''': select a time or time range begin time
-* '''Shift-left-click''': select a time range end time
-* '''left-drag horizontally''': select a time range or change the time range begin or end time
-* '''middle-drag or Ctrl-left-drag horizontally''': pan left or right
-* '''right-drag horizontally''': [[#Zoom region|zoom region]]
-* '''click on a colored bar''': the associated process node is selected and the current time indicator is moved where the click happened
-* '''mouse wheel up/down''': scroll up or down
-* '''Ctrl-mouse wheel up/down''': zoom in or out
-* '''drag the time ruler horizontally''': zoom in or out with fixed start time
-* '''double-click the time ruler''': reset zoom to full range
-
-When the current time indicator is changed (when clicking in the states flow), all the other views are '''synchronized'''. For example, the [[#LTTng Kernel Events Editor|Events Editor]] will show the event matching the current time indicator. The reverse behaviour is also implemented: selecting an event within the Events View will update the Control Flow View current time indicator.
-
-==== Incomplete regions ====
-
-You'll notice '''small dots''' over the colored bars at some places:
-
-[[Image:images/Cfv_small_dots.png]]
-
-Those dots mean the underlying region is '''incomplete''': there's not enough pixels to view all the events. In other words, you have to zoom in.
-
-When zooming in, small dots start to disappear:
-
-[[Image:images/Cfv_zoom.png]]
-
-When no dots are left, you are viewing '''all the events and states''' within that region.
-
-==== Zoom region ====
-
-To zoom in on a specific region, '''right-click and drag''' in order to draw a time range:
-
-[[Image:images/Cfv_zoom_region.png]]
-
-The states flow horizontal space will only show the selected region.
-
-==== Tooltips ====
-
-Hover the cursor over a colored bar and a '''tooltip''' will pop up:
-
-[[Image:images/Cfv_tooltip.png]]
-
-The tooltip indicates:
-
-* the process name
-* the pointed state name
-* the CPU (if applicable)
-* the system call name (if applicable)
-* the pointed state date and start/stop times
-* the pointed state duration (seconds)
-
-=== Toolbar ===
-
-The Control Flow View '''toolbar''', located at the top right of the view, has shortcut buttons to perform common actions:
-
-{|
-| [[Image:images/filter_items.gif]]
-| Show View Filter
-| Opens the process filter dialog
-|-
-| [[Image:images/show_legend.gif]]
-| Show Legend
-| Displays the states legend
-|-
-| [[Image:images/home_nav.gif]]
-| Reset the Time Scale to Default
-| Resets the zoom window to the full range
-|-
-| [[Image:images/prev_event.gif]]
-| Select Previous Event
-| Selects the previous state for the selected process
-|-
-| [[Image:images/next_event.gif]]
-| Select Next Event
-| Selects the next state for the selected process
-|-
-| [[Image:images/prev_menu.gif]]
-| Select Previous Process
-| Selects the previous process
-|-
-| [[Image:images/next_menu.gif]]
-| Select Next Process
-| Selects the next process
-|-
-| [[Image:images/zoomin_nav.gif]]
-| Zoom In
-| Zooms in on the selection by 50%
-|-
-| [[Image:images/zoomout_nav.gif]]
-| Zoom Out
-| Zooms out on the selection by 50%
-|-
-| [[Image:images/hide_arrows.gif]]
-| Hide Arrows
-| Toggles the display of arrows on or off
-|-
-| [[Image:images/follow_arrow_bwd.gif]]
-| Follow CPU Backward
-| Selects the previous state following CPU execution across processes
-|-
-| [[Image:images/follow_arrow_fwd.gif]]
-| Follow CPU Forward
-| Selects the next state following CPU execution across processes
-|}
-
-== Resources View ==
-
-This view is specific to LTTng kernel traces. The LTTng Kernel analysis is executed the first time a LTTng Kernel is opened. After opening the trace, the element '''Resources''' is added under the '''LTTng Kernel Analysis''' tree element of the Project Explorer. To open the view, double-click the '''Resources''' tree element.
-
-Alternatively, go in '''Window''' -> '''Show View''' -> '''Other...''' and select '''LTTng/Resources''' in the list.
-
-[[Image:images/Rv_example.png|Example of resources view with all trace points and syscalls enabled]]
-
-This view shows the state of system resources i.e. if changes occured during the trace either on '''CPUs''', '''IRQs''' or '''soft IRQs''', it will appear in this view. The left side of the view present a list of resources that are affected by at least one event of the trace. The right side illustrate the state in which each resource is at some point in time. For state '''USERMODE''' it also prints the process name in the state bar. For state '''SYSCALL''' the name of the system call is
-displayed in the state region.
-
-Just like other views, according to which trace points and system calls are activated, the content of this view may change from one trace to another.
-
-Each state are represented by one color so it is faster to say what is happening.
-
-[[Image:images/Rv_legend.png|Color for each state]]
-
-To go through the state of a resource, you first have to select the resource and the timestamp that interest you. For the latter, you can pick some time before the interesting part of the trace.
-
-[[Image:images/RV_infobox1.png|Shows the state of an IRQ]]
-
-Then, by selecting '''Next Event''', it will show the next state transition and the event that occured at this time.
-
-[[Image:images/RV_infobox2.png|Shows the next state of the IRQ]]
-
-This view is also synchronized with the others : [[#Histogram_View | Histogram View]], [[#LTTng_Kernel_Events_Editor | Events Editor]], [[#Control_Flow_View | Control Flow View]], etc.
-
-=== Navigation ===
-
-See Control Flow View's '''[[#Using_the_mouse | Using the mouse]]''' and '''[[#Zoom_region | Zoom region]]'''.
-
-=== Incomplete regions ===
-
-See Control Flow View's '''[[#Incomplete_regions | Incomplete regions]]'''.
-
-=== Toolbar ===
-
-The Resources View '''toolbar''', located at the top right of the view, has shortcut buttons to perform common actions:
-
-{|
-| [[Image:images/show_legend.gif]]
-| Show Legend
-| Displays the states legend
-|-
-| [[Image:images/home_nav.gif]]
-| Reset the Time Scale to Default
-| Resets the zoom window to the full range
-|-
-| [[Image:images/prev_event.gif]]
-| Select Previous Event
-| Selects the previous state for the selected resource
-|-
-| [[Image:images/next_event.gif]]
-| Select Next Event
-| Selects the next state for the selected resource
-|-
-| [[Image:images/prev_menu.gif]]
-| Select Previous Resource
-| Selects the previous resource
-|-
-| [[Image:images/next_menu.gif]]
-| Select Next Resource
-| Selects the next resource
-|-
-| [[Image:images/zoomin_nav.gif]]
-| Zoom In
-| Zooms in on the selection by 50%
-|-
-| [[Image:images/zoomout_nav.gif]]
-| Zoom Out
-| Zooms out on the selection by 50%
-|}
-
-== LTTng CPU Usage View ==
-
-The CPU Usage analysis and view is specific to LTTng Kernel traces. The CPU usage is derived from a kernel trace as long as the '''sched_switch''' event was enabled during the collection of the trace. This analysis is executed the first time that the CPU Usage view is opened after opening the trace. To open the view, double-click on the '''CPU Usage''' tree element under the '''LTTng Kernel Analysis''' tree element of the Project Explorer.
-
-[[Image:images/LTTng_OpenCpuUsageView.png]]
-
-Now, the CPU Usage view will show:
-
-[[Image:images/LTTng_CpuUsageView.png]]
-
-The view is divided into the following important sections: '''Process Information''' and the '''CPU Usage Chart'''.
-
-
-=== Process Information ===
-The Process Information is displayed on the left side of the view and shows all threads that were executing on all available CPUs in the current time range. For each process, it shows in different columns the thread ID (TID), process name (Process), the average (%) execution time and the actual execution time (Time) during the current time range. It shows all threads that were executing on the CPUs in the current time range.
-
-
-=== CPU Usage Chart ===
-
-The CPU Usage Chart on the right side of the view, plots the total time spent on all CPUs of all processes and the time of the selected process.
-
-
-==== Using the mouse ====
-
-The CPU Usage chart is usable with the mouse. The following actions are set:
-
-* '''left-click''': select a time or time range begin time
-* '''Shift-left-click''': select a time range end time
-* '''left-drag horizontally''': select a time range or change the time range begin or end time
-* '''middle-drag''': pan left or right
-* '''right-drag horizontally''': zoom region
-* '''mouse wheel up/down''': zoom in or out
-
-
-==== Tooltips ====
-
-Hover the cursor over a line of the chart and a tooltip will pop up with the following information:
-* '''time''': current time of mouse position
-* '''Total''': The total CPU usage
-
-
-[[Image:images/LTTng_CpuUsageViewToolTip.png]]
-
-
-== LTTng Kernel Events Editor ==
-
-The LTTng Kernel Events editor '''is''' the plain TMF [[#Events_Editor | Events Editor]], except that it provides its own specialized viewer to replace the standard one. In short, it has exactly the same behaviour but the layout is slightly different:
-
-* '''Timestamp''': the event timestamp
-* '''Channel''': the event channel (data collector)
-* '''Event Type''': the event type (or kernel marker)
-* '''Content''': the raw event content
-
-[[Image:images/LTTng2EventsEditor.png]]
-
-= LTTng-UST Analyses =
-
-The Userspace traces are taken on an application level. With kernel traces, you know what events you will have as the domain is known and cloistered. Userspace traces can contain pretty much anything. Some analyses are offered if certain events are enabled.
-
-== Call Stack View ==
-
-The Call Stack view allows the user to visualize the call stack per thread over time, if the application and trace provide this information.
-
-To open this view go in '''Window''' -> '''Show View''' -> '''Other...''' and select '''Tracing/Call Stack''' in the list. The view shows the call stack information for the currently selected trace. Conversely, you can select a trace and expand it in the '''Project Explorer''' then expand '''LTTng-UST CallStack Analysis''' (the trace must be loaded) and open '''Call Stack'''.
-
-The table on the left-hand side of the view shows the threads and call stack. The function name, depth, entry and exit time and duration are shown for the call stack at the selected time.
-
-Double-clicking on a function entry in the table will zoom the time graph to the selected function's range of execution.
-
-The time graph on the right-hand side of the view shows the call stack state graphically over time. The function name is visible on each call stack event if size permits. The color of each call stack event is randomly assigned based on the function name, allowing for easy identification of repeated calls to the same function.
-
-Clicking on the time graph will set the current time and consequently update the table with the current call stack information.
-
-Shift-clicking on the time graph will select a time range. When the selection is a time range, the begin time is used to update the stack information.
-
-Double-clicking on a call stack event will zoom the time graph to the selected function's range of execution.
-
-Clicking the '''Select Next Event''' or '''Select Previous Event''' or using the left and right arrows will navigate to the next or previous call stack event, and select the function currently at the top of the call stack.
-
-Clicking the '''Import Mapping File''' ([[Image:images/import.gif]]) icon will open a file selection dialog, allowing you to import a text file containing mappings from function addresses to function names. If the callstack provider for the current trace type only provides function addresses, a mapping file will be required to get the function names in the view. See the following sections for an example with LTTng-UST traces.
-
-=== Using the Callstack View with LTTng-UST traces ===
-
-There is support in the LTTng-UST integration plugin to display the callstack of applications traced with the ''liblttng-ust-cyg-profile.so'' library (see the ''liblttng-ust-cyg-profile'' man page for additional information). To do so, you need to:
-
-* Recompile your application with "''-g -finstrument-functions''".
-* Add the ''vtid'' and ''procname'' contexts to your trace session. See the [[#Adding Contexts to Channels and Events of a Domain]] section. Or if using the command-line:
-** <pre>lttng add-context -u -t vtid -t procname</pre>
-* Preload the ''liblttng-ust-cyg-profile'' library when running your program:
-** <pre>LD_PRELOAD=/usr/lib/liblttng-ust-cyg-profile.so ./myprogram</pre>
-
-Once you load the resulting trace, making sure it's set to the ''Common Trace Format - LTTng UST Trace'' type, the Callstack View should be populated with the relevant information. However, since GCC's cyg-profile instrumentation only provides function addresses, and not names, an additional step is required to get the function names showing in the view. The following section explains how to do so.
-
-=== Importing a function name mapping file for LTTng-UST traces ===
-
-If you followed the steps in the previous section, you should have a Callstack View populated with function entries and exits. However, the view will display the function addresses instead of names in the intervals, which are not very useful by themselves. To get the actual function names, you need to:
-
-* Generate a mapping file from the binary, using:
-** <pre>nm myprogram > mapping.txt</pre>
-* Click the '''Import Mapping File''' ([[Image:images/import.gif]]) button in the Callstack View, and select the ''mapping.txt'' file that was just created.
-
-The view should now update to display the function names instead. Make sure the binary used for taking the trace is the one used for this step too (otherwise, there is a good chance of the addresses not being the same).
-
-== Memory Usage ==
-
-The Memory Usage view allows the user to visualize the active memory usage per thread over time, if the application and trace provide this information.
-
-The view shows the memory consumption for the currently selected trace.
-
-The time chart plots heap memory usage graphically over time. There is one line per process, unassigned memory usage is mapped to "Other".
-
-In this implementation, the user needs to trace while hooking the ''liblttng-ust-libc-wrapper'' by running ''LD_PRELOAD=liblttng-ust-libc-wrapper.so'' '''<exename>'''. This will add tracepoints to memory allocation and freeing to the heap, NOT shared memory or stack usage. If the contexts '''vtid''' and '''procname''' are enabled, then the view will associate the heap usage to processes. As detailed earlier, to enable the contexts, see the [[#Adding Contexts to Channels and Events of a Domain]] section. Or if using the command-line:
-* <pre>lttng add-context -u -t vtid -t procname</pre>
-
-If thread information is available the view will look like this:
-
-[[Image:images/memoryUsage/memory-usage-multithread.png]]
-
-If thread information is not available it will look like this:
-
-[[Image:images/memoryUsage/memory-usage-no-thread-info.png]]
-
-The view allows selection of a specific time by left-clicking on a point in the chart. Left mouse dragging will select a time range. Right mouse dragging on the area will zoom in on that window. Middle mouse dragging will move the display window. Mouse wheel operations will zoom in and out also.
-
-Please note this view will not show shared memory or stack memory usage.
-
-= Trace synchronization =
-
-It is possible to synchronize traces from different machines so that they have the same time reference. Events from the reference trace will have the same timestamps as usual, but the events from traces synchronized with the first one will have their timestamps transformed according to the formula obtained after synchronization.
-
-== Obtain synchronizable traces ==
-
-To synchronize traces from different machines, they need to exchange packets through the network and have events enabled such that the data can be matched from one trace to the other. For now, only TCP packets can be matched between two traces.
-
-LTTng traces that can be synchronized are obtained using one of two methods (both methods are compatible):
-
-=== LTTng-module network tracepoint with complete data ===
-
-The tracepoints '''net_dev_queue''' and '''netif_receive_skb''' will be used for synchronization. Both tracepoints are available in lttng-modules since version 2.2, but they do not contain sufficient data to be used to synchronize traces.
-
-An experimental branch introduces this extra data: lttng-modules will need to be compiled by hand.
-
-Obtain the source code for the experimental lttng-modules
-
- # git clone git://git.dorsal.polymtl.ca/~gbastien/lttng-modules.git
- # cd lttng-modules
-
-Checkout the ''net_data_experimental'' branch, compile and install lttng-modules as per the lttng-modules documentation
-
- # git checkout net_data_experimental
- # make
- # sudo make modules_install
- # sudo depmod -a
-
-This experimental branch adds IP, IPv6 and TCP header data to the tracepoints. Packets received and sent with other protocols do not have this extra header data, but all packets are captured.
-
-=== LTTng-modules addons kernel module with dynamic tracepoints ===
-
-This method adds dynamic instrumentation on TCP packets via extra kernel modules. Only TCP packets are captured.
-
-Obtain the source code, along with lttng-modules
-
- # git clone https://github.com/giraldeau/lttng-modules.git
- # cd lttng-modules
-
-Checkout the addons branch, compile and install lttng-modules as per the lttng-modules documentation. The ''make'' command will fail at first with a message about the unset SYSMAP variable. Instructions on how to generate a System.map are mentioned in the error message.
-
- # git checkout addons
- # make
- # (follow the instructions to obtain the System.map file and set the SYSMAP variable)
- # make
- # sudo make modules_install
- # sudo depmod -a
-
-The lttng-addons modules must be inserted manually for the TCP tracepoints to be made available.
-
- # sudo modprobe lttng-addons
- # sudo modprobe lttng-probe-addons
-
-The following tracepoints will be available
-
- # sudo lttng list -k
- Kernel events:
- -------------
- ...
- inet_sock_create (loglevel: TRACE_EMERG (0)) (type: tracepoint)
- inet_sock_delete (loglevel: TRACE_EMERG (0)) (type: tracepoint)
- inet_sock_clone (loglevel: TRACE_EMERG (0)) (type: tracepoint)
- inet_accept (loglevel: TRACE_EMERG (0)) (type: tracepoint)
- inet_connect (loglevel: TRACE_EMERG (0)) (type: tracepoint)
- inet_sock_local_in (loglevel: TRACE_EMERG (0)) (type: tracepoint)
- inet_sock_local_out (loglevel: TRACE_EMERG (0)) (type: tracepoint)
- ...
-
-The ones used for trace synchronization are '''inet_sock_local_in''' and '''inet_sock_local_out'''.
-
-== Synchronize traces in TMF ==
-
-In order to synchronize traces, create a new experiment and select all traces that need to be synchronized. Right-click on the experiment and select '''Synchronize traces'''. For each trace whose time needs to be transformed, a new trace named as the original but followed by a '_' will be created with the transformed timestamps, and the original trace will be replaced in the experiment. The original trace can still be accessed under the '''Traces''' folder.
-
-[[Image:images/Sync_menu.png|Right-click synchronize traces to perform the trace synchronization]]
-
-When opening the experiment now, all the views will be synchronized. The following screenshot presents the differences in the filtered Control Flow View before and after the time synchronization.
-
-[[Image:images/Sync_cfv.png|Example of Control Flow View before and after trace synchronization]]
-
-Information on the quality of the synchronization, the timestamp transformation formula and some synchronization statistics can be visualized in the '''Synchronization''' view. To open the '''Synchronization''' view, use the Eclipse Show View dialog ('''Window''' -> '''Show View''' -> '''Other...'''). Then select '''Synchronization''' under '''Tracing'''.
-
-[[Image:images/Sync_view.png|Example of Synchronization view]]
-
-= Time offsetting =
-
-The time offsetting feature allows the user to apply a fixed offset to all event timestamps in a trace. It can be used, for example, to adjust the start time of a trace, or to manually align the timestamp of events from different traces.
-
-== Basic mode ==
-
-If the time offset to apply is known, it can be applied directly to the trace. In the '''Project Explorer''' view, select a trace, right-click and select '''Apply Time Offset...'''. It is also possible to select multiple traces, experiments or trace folders. All contained traces will be selected.
-
-[[Image:images/TimeOffsetApply.png|Apply Time Offset menu]]
-
-The dialog opens, in '''Basic''' mode.
-
-[[Image:images/TimeOffsetBasicDialog.png|Apply Time Offset dialog - Basic mode]]
-
-Enter a time offset to apply in the '''Offset in seconds''' column, with or without decimals. Then press the '''OK''' button.
-
-[[Image:images/TimeOffsetBasicDialogFilled.png|Apply Time Offset dialog - Basic mode - filled]]
-
-The time offset is applied to the trace and can be seen in the '''time offset''' property in the '''Properties''' view when the trace is selected.
-
-The applied time offset is added to any time offset or time transformation formula currently set for the trace, and the resulting offset replaces any previous setting.
-
-== Advanced mode ==
-
-The time offset can also be computed using selected trace events or manually entered timestamps. After selecting one or more traces in the '''Project Explorer''' view, right-click and select '''Apply Time Offset...'''. In the opened dialog, select the '''Advanced''' button.
-
-[[Image:images/TimeOffsetAdvancedDialog.png|Apply Time Offset dialog - Advanced mode]]
-
-Double-clicking a trace name will open the trace in an editor. The '''Reference Time''' will be set to the trace start time. Selecting any event in the trace editor will set the '''Reference Time''' for that trace to the event's timestamp.
-
-Selecting an event or a time in any view or editor that supports time synchronization will set the '''Target Time''' for every trace in the dialog.
-
-Pressing the '''<<''' button will compute the time offset that should be applied in order to make the reference time align to the target time, provided that both fields are set.
-
-The '''Reference Time''', '''Target Time''' and '''Offset in seconds''' fields can also be edited and entered manually.
-
-To synchronize two events from different traces, first select an event in the trace to which the time offset should be applied, which will set its '''Reference Time''' field.
-
-[[Image:images/TimeOffsetAdvancedSetReference.png|Apply Time Offset dialog - Set Reference Time]]
-
-Then select a corresponding event in the second trace, which will set the '''Target Time''' field for the first trace.
-
-[[Image:images/TimeOffsetAdvancedSetTarget.png|Apply Time Offset dialog - Set Target Time]]
-
-Finally, press the '''<<''' button, which will automatically compute the time offset that should be applied in order to make the first event's timestamp align to the second event's timestamp.
-
-[[Image:images/TimeOffsetAdvancedComputeOffset.png|Apply Time Offset dialog - Compute Offset]]
-
-Then press the '''OK''' button. The time offset is applied to the trace and can be seen in the '''time offset''' property in the '''Properties''' view when the trace is selected.
-
-The applied time offset is added to any time offset or time transformation formula currently set for the trace, and the resulting offset replaces any previous setting.
-
-[[Image:images/TimeOffsetProperty.png|Time Offset - Properties view]]
-
-== Clearing time offset ==
-
-The time offset previously applied can be cleared to reset the trace to its original timestamps. In the '''Project Explorer''' view, select a trace, right-click and select '''Clear Time Offset'''. It is also possible to select multiple traces, experiments or trace folders. All contained traces will be affected.
-
-The time offset or any time transformation formula will be deleted.
-
-= Timestamp formatting =
-
-Most views that show timestamps are displayed in the same time format. The unified timestamp format can be changed in the Preferences page. To get to that page, click on '''Window''' -> '''Preferences''' -> '''Tracing''' -> '''Time Format'''. Then a window will show the time format preferences.
-
-[[Image:images/TmfTimestampFormatPage.png]]
-
-The preference page has several subsections:
-
-* '''Current Format''' a format string generated by the page
-* '''Sample Display''' an example of a timestamp formatted with the '''Current Format''' string.
-* '''Time Zone''' the time zone to use when displaying the time. The value '''Local time''' corresponds to the local, system-configured, time zone.
-* '''Data and Time format''' how to format the date (days/months/years) and the time (hours/minutes/seconds)
-* '''Sub-second format''' how much precision is shown for the sub-second units
-* '''Date delimiter''' the character used to delimit the date units such as months and years
-* '''Time delimiter''' the character to separate super-second time units such as seconds and minutes
-* '''Sub-Second Delimiter''' the character to separate the sub-second groups such as milliseconds and nanoseconds
-* '''Restore Defaults''' restores the system settings
-* '''Apply''' apply changes
-
-This will update all the displayed timestamps.
-
-= Data driven analysis =
-
-It is possible to define custom trace analyses and a way to view them in an XML format. These kind of analyses allow doing more with the trace data than what the default analyses shipped with TMF offer. It can be customized to a specific problem, and fine-tuned to show exactly what you're looking for.
-
-== Importing an XML file containing analysis ==
-
-If you already have an XML file defining state providers and/or views, you can import it in your TMF workspace by right-clicking on the ''Traces'' or ''Experiments'' folder and selecting ''Import XML Analysis''.
-
-[[Image:images/import_XML_analysis.png| Import XML analysis menu]]
-
-You will be prompted to select the file. It will be validated before importing it and if successful, the new analysis and views will be shown under the traces for which they apply. You will need to close any already opened traces and re-open them before the new analysis can be executed.
-
-Right now, there is no way to "unimport" analyses from within the application. A UI to manage the imported analyses is currently being worked on. In the meantime, you can navigate to your workspace directory, and delete the files in .metadata/.plugins/org.eclipse.linuxtools.tmf.analysis.xml.core/xml_files .
-
-== Defining XML components ==
-
-To define XML components, you need to create a new XML file and use the XSD that comes with the XML plugin.
-
-''For now, the XSD is only available through the source code in org.eclipse.linuxtools.tmf.analysis.xml.core/src/org/eclipse/linuxtools/tmf/analysis/xml/core/module/xmlDefinition.xsd''.
-
-An empty file, with no content yet would look like this:
-
-<pre>
-<?xml version="1.0" encoding="UTF-8"?>
-<tmfxml xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:noNamespaceSchemaLocation="xmlDefinition.xsd">
-
-</tmfxml>
-</pre>
-
-== Defining an XML state provider ==
-
-The state system is a component of TMF which can track the states of different elements of the system over the duration of a trace. To build this state system, events have to go chronologically through a state provider, which defines what changes are caused by the event to the system.
-
-The state system obtained by the state provider can then be used to populate data-driven views without having to re-read the trace, or to query specific timestamps in the trace without needing to access the trace file.
-
-=== Definitions and example ===
-
-Before we start, we'll define a few terms used in the following sections. The interested reader should read the [[Developer-Guide|Tmf Developer Guide]] for more complete description of the state system and state providers.
-
-* The '''state system''' can be viewed as a model of the system, where the different elements (attributes) can be seen as a tree, and their evolution (states) is tracked through time.
-
-* '''Attribute''': An attribute is the smallest element of the model that can be in any particular state. Since many attributes may have the same name, each attribute is represented by its full path in the attribute tree.
-
-* '''State''': A state is a value assigned to an attribute at a given time. Each model has its own state values.
-
-* '''Attribute tree''': Elements in the model can be placed in a tree-like structure, for logical grouping. Each element in the tree can have both children and a state. Also, the tree is just a logical structure, all elements may be top-level elements.
-
-* '''State history''': Whereas the attribute tree may be seen as the first dimension of the state system, the state history is the second dimension, over time. It tracks the intervals at which an attribute was in a given state.
-
-In the following sections, we'll use an example trace with the following events:
-
-* start(number): A new task with ID 'number' just started.
-* execute(number, fct_name): The task with ID 'number' is executing a critical section named 'fct_name'.
-* wait(number): The task with ID 'number' cannot execute a critical section and needs to wait for it.
-* exec_end(fct_name): A task finished executing the critical section named 'fct_name'.
-* stop(number): The task with ID 'number' has just finished.
-
-=== Determining the state system structure ===
-
-The first thing to do is to determine the attribute tree we'll use to represent the model of the system. The attribute tree is like a file system with directories and files, where files are logically gathered in the same parent directory. There is no one good way to build a tree, the logic will depend on the situation and on the person defining it.
-
-The generated state system may be used later on to populate views, so attributes of the tree could be grouped in such a way as to make it easy to reach them with a simple path. The view will then be more simple.
-
-In our example case, we'll want to track the status of each task and, for each critical section, which task is running them.
-
-<pre>
-|- Tasks
-| |- 1
-| |- 2
-| ...
-|- Critical section
- |- Crit_sect1
- |- Crit_sect2
- ...
-</pre>
-
-Then we determine how each event will affect the state of the attributes. But first, let's ask ourselves what values should each state take.
-
-Let's see with the tree:
-
-<pre>
-|- Tasks -> Empty
-| |- 1 -> Each task can be in one of
-| |- 2 RUNNING, CRITICAL, WAITING
-| ...
-|- Critical section -> Empty
- |- Crit_sect1 -> Each critical section will hold the currently running task number
- |- Crit_sect2
- ...
-</pre>
-
-Then we determine how each event will affect the state of the attributes. In the attribute paths below, elements in {} are values coming from the trace event, while strings are constants. For the sake of simplicity, we'll say "update attribute", but if an attribute does not exist, it will be created.
-
-* start(number): Update state value of attribute "Tasks/{number}" to "RUNNING".
-* execute(number, fct_name): Update state value of attribute "Tasks/{number}" to "CRITICAL" and Update attribute "Critical section/{fct_name}" to "{number}".
-* wait(number): Update state value of attribute "Tasks/{number}" to "WAITING".
-* exec_end(fct_name): Update state value of attribute "Tasks/{valueOf Critical section/{fct_name}}" to RUNNING and update "Critical section/{fct_name}" to null.
-* stop(number): Update state value of attribute "Tasks/{number}" to null.
-
-=== Writing the XML state provider ===
-
-Once the model is done at a high level, it is time to translate it to an XML data-driven analysis. For details on how to use each XML element, refer to the documentation available in the XSD files. Some elements will be commented on below.
-
-First define the state provider element.
-
-The "version" attribute indicates which version of the state system is defined here. Once a state provider has been defined for a trace type, it will typically be used by a team of people and it may be modified over time. This version number should be bumped each time a new version of the state provider is published. This will force a rebuild of any existing state histories (if applicable) whose version number is different from the current one.
-
-The "id" attribute uniquely identifies this state provider, and the analysis that will contain it.
-
-<pre>
-<stateProvider version="0" id="my.test.state.provider">
-</pre>
-
-Optional header information can be added to the state provider. A "traceType" should be defined to tell TMF which trace type this analysis will apply to. If no tracetype is specified, the analysis will appear under every trace. A "label" can optionally be added to have a more user-friendly name for the analysis.
-
-<pre>
-<head>
- <traceType id="my.trace.id" />
- <label value="My test analysis" />
-</head>
-</pre>
-
-If pre-defined values will be used in the state provider, they must be defined before the state providers. They can then be referred to in the state changes by name, preceded by the '$' sign. It is not necessary to use pre-defined values, the state change can use values like (100, 101, 102) directly.
-
-<pre>
-<definedValue name="RUNNING" value="100" />
-<definedValue name="CRITICAL" value="101" />
-<definedValue name="WAITING" value="102" />
-</pre>
-
-The following event handler shows what to do with the event named ''start''. It causes one state change. The sequence of '''stateAttribute''' elements represents the path to the attribute in the attribute tree, each element being one level of the tree. The '''stateValue''' indicates which value to assign to the attribute at the given path. The "$RUNNING" value means it will use the predefined value named RUNNING above.
-
-Suppose the actual event is ''start(3)''. The result of this state change is that at the time of the event, the state system attribute "Tasks/3" will have value 100.
-
-<pre>
-<eventHandler eventName="start">
- <stateChange>
- <stateAttribute type="constant" value="Tasks" />
- <stateAttribute type="eventField" value="number" />
- <stateValue type="int" value="$RUNNING" />
- </stateChange>
-</eventHandler>
-</pre>
-
-The full XML file for the example above would look like this:
-
-<pre>
-<?xml version="1.0" encoding="UTF-8"?>
-<tmfxml xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../org.eclipse.linuxtools.tmf.analysis.xml.core/src/org/eclipse/linuxtools/tmf/analysis/xml/core/module/xmlDefinition.xsd">
- <stateProvider version="0" id="my.test.state.provider">
- <head>
- <traceType id="my.trace.id" />
- <label value="My test analysis" />
- </head>
-
- <definedValue name="RUNNING" value="100" />
- <definedValue name="CRITICAL" value="101" />
- <definedValue name="WAITING" value="102" />
-
- <eventHandler eventName="start">
- <stateChange>
- <stateAttribute type="constant" value="Tasks" />
- <stateAttribute type="eventField" value="number" />
- <stateValue type="int" value="$RUNNING" />
- </stateChange>
- </eventHandler>
- <eventHandler eventName="execute">
- <stateChange>
- <stateAttribute type="constant" value="Tasks" />
- <stateAttribute type="eventField" value="number" />
- <stateValue type="int" value="$CRITICAL" />
- </stateChange>
- <stateChange>
- <stateAttribute type="constant" value="Critical section" />
- <stateAttribute type="eventField" value="fct_name" />
- <stateValue type="eventField" value="number" />
- </stateChange>
- </eventHandler>
- <eventHandler eventName="wait">
- <stateChange>
- <stateAttribute type="constant" value="Tasks" />
- <stateAttribute type="eventField" value="number" />
- <stateValue type="int" value="$WAITING" />
- </stateChange>
- </eventHandler>
- <eventHandler eventName="exec_end">
- <stateChange>
- <stateAttribute type="constant" value="Tasks" />
- <stateAttribute type="query">
- <stateAttribute type="constant" value="Critical section" />
- <stateAttribute type="eventField" value="fct_name" />
- </stateAttribute>
- <stateValue type="int" value="$RUNNING" />
- </stateChange>
- <stateChange>
- <stateAttribute type="constant" value="Critical section" />
- <stateAttribute type="eventField" value="fct_name" />
- <stateValue type="null" />
- </stateChange>
- </eventHandler>
- <eventHandler eventName="stop">
- <stateChange>
- <stateAttribute type="constant" value="Tasks" />
- <stateAttribute type="eventField" value="number" />
- <stateValue type="null" />
- </stateChange>
- </eventHandler>
- </stateProvider>
-</tmfxml>
-</pre>
-
-=== Debugging the XML state provider ===
-
-To debug the state system that was generated by the XML state provider, one could use the [[#State System Explorer View | State System Explorer View]], along with the events editor. By selecting an event, you can see what changes this event caused and the states of other attributes at the time.
-
-If there are corrections to make, you may modify the XML state provider file, and re-import it. To re-run the analysis, you must first delete the supplementary files by right-clicking on your trace, and selecting ''Delete supplementary files...''. Check you analysis's .ht file, so that the analysis will be run again when the trace is reopened. The supplementary file deletion will have closed the trace, so it needs to be opened again to use the newly imported analysis file.
-
-If modifications are made to the XML state provider after it has been "published", the '''version''' attribute of the '''xmlStateProvider''' element should be updated. This avoids having to delete each trace's supplementary file manually. If the saved state system used a previous version, it will automatically be rebuilt from the XML file.
-
-== Defining an XML time graph view ==
-
-A time graph view is a view divided in two, with a tree viewer on the left showing information on the different entries to display and a Gantt-like viewer on the right, showing the state of the entries over time. The [[#Control_Flow_View | Control Flow View]] is an example of a time graph view.
-
-Such views can be defined in XML using the data in the state system. The state system itself could have been built by an XML-defined state provider or by any pre-defined Java analysis. It only requires knowing the structure of the state system, which can be explored using the [[#State System Explorer View | State System Explorer View]] (or programmatically using the methods in ''ITmfStateSystem'').
-
-In the example above, suppose we want to display the status for each task. In the state system, it means the path of the entries to display is "Tasks/*". The attribute whose value should be shown in the Gantt chart is the entry attribute itself. So the XML to display these entries would be as such:
-
-<pre>
-<entry path="Tasks/*">
- <display type="self" />
-</entry>
-</pre>
-
-But first, the view has to be declared. It has an ID, to uniquely identify this view among all the available XML files.
-
-<pre>
-<timeGraphView id="my.test.time.graph.view">
-</pre>
-
-Optional header information can be added to the view. '''analysis''' elements will associate the view only to the analysis identified by the "id" attribute. It can be either the ID of the state provider, like in this case, or the analysis ID of any analysis defined in Java. If no analysis is specified, the view will appear under every analysis with a state system. The '''label''' element allows to give a more user-friendly name to the view. The label does not have to be unique. As long as the ID is unique, views for different analyses can use the same name.
-
-<pre>
-<head>
- <analysis id="my.test.state.provider" />
- <label value="My Sample XML View" />
-</head>
-</pre>
-
-Also, if the values of the attributes to display are known, they can be defined, along with a text to explain them and a color to draw them with. Note that the values are the same as defined in the state provider, but the name does not have to be the same. While in the state provider, a simple constant string makes sense to use in state changes. But in the view, the name will appear in the legend, so a user-friendly text is more appropriate.
-
-<pre>
-<definedValue name="The process is running" value="100" color="#118811" />
-<definedValue name="Critical section" value="101" color="#881111" />
-<definedValue name="Waiting for critical section" value="102" color="#AEB522" />
-</pre>
-
-Here is the full XML for the time graph view:
-
-<pre>
-<tmfxml xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../org.eclipse.linuxtools.tmf.analysis.xml.core/src/org/eclipse/linuxtools/tmf/analysis/xml/core/module/xmlDefinition.xsd">
- <timeGraphView id="my.test.time.graph.view">
- <head>
- <analysis id="my.test.state.provider" />
- <label value="My Sample XML View" />
- </head>
-
- <definedValue name="The process is running" value="100" color="#118811" />
- <definedValue name="Critical section" value="101" color="#881111" />
- <definedValue name="Waiting for critical section" value="102" color="#AEB522" />
-
- <entry path="Tasks/*">
- <display type="self" />
- </entry>
- </timeGraphView>
-</tmfxml>
-</pre>
-
-The following screenshot shows the result of the preceding example on a test trace. The trace used, as well as the XML file are available [http://secretaire.dorsal.polymtl.ca/~gbastien/Xml4Traces/XML_documentation_example.tar.gz here].
-
-[[Image:images/Xml_analysis_screenshot.png| XML analysis with view]]
-
-== Defining an XML XY chart ==
-
-An XY chart displays series as a set of numerical values over time. The X-axis represents the time and is synchronized with the trace's current time range. The Y-axis can be any numerical value.
-
-Such views can be defined in XML using the data in the state system. The state system itself could have been built by an XML-defined state provider or by any pre-defined Java analysis. It only requires knowing the structure of the state system, which can be explored using the [[#State System Explorer View | State System Explorer View]] (or programmatically using the methods in ''ITmfStateSystem'').
-
-We will use the LTTng Kernel Analysis on LTTng kernel traces to show an example XY chart. In this state system, the status of each CPU is a numerical value. We will display this value as the Y axis of the series. There will be one series per CPU. The XML to display these entries would be as such:
-
-<pre>
-<entry path="CPUs/*">
- <display type="constant" value="Status" />
- <name type="self" />
-</entry>
-</pre>
-
-But first, the view has to be declared. It has an ID, to uniquely identify this view among all the available XML files.
-
-<pre>
-<xyView id="my.test.xy.chart.view">
-</pre>
-
-Like for the time graph views, optional header information can be added to the view. '''analysis''' elements will associate the view only to the analysis identified by the "id" attribute. It can be either the ID of the state provider, like in this case, or the analysis ID of any analysis defined in Java. If no analysis is specified, the view will appear under every analysis with a state system. The '''label''' element allows to give a more user-friendly name to the view. The label does not have to be unique. As long as the ID is unique, views for different analyses can use the same name.
-
-<pre>
-<head>
- <analysis id="org.eclipse.linuxtools.lttng2.kernel.analysis" />
- <label value="CPU status XY view" />
-</head>
-</pre>
-
-Here is the full XML for the XY Chart that displays the CPU status over time of an LTTng Kernel Trace:
-
-<pre>
-<tmfxml xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../org.eclipse.linuxtools.tmf.analysis.xml.core/src/org/eclipse/linuxtools/tmf/analysis/xml/core/module/xmlDefinition.xsd">
- <xyView id="my.test.xy.chart.view">
- <head>
- <analysis id="org.eclipse.linuxtools.lttng2.kernel.analysis" />
- <label value="CPU status XY view" />
- </head>
-
- <entry path="CPUs/*">
- <display type="constant" value="Status" />
- <name type="self" />
- </entry>
- </xyView>
-</tmfxml>
-</pre>
-
-The following screenshot shows the result of the preceding example on a LTTng Kernel Trace.
-
-[[Image:images/XML_xy_chart.png| XML XY chart]]
-
-= Limitations =
-
-* When parsing text traces, the timestamps are assumed to be in the local time zone. This means that when combining it to CTF binary traces, there could be offsets by a few hours depending on where the traces were taken and where they were read.
-* LTTng Tools v2.1.0 introduced the command line options ''--no-consumer'' and ''--disable-consumer'' for session creation as well as the commands ''enable-consumer'' and ''disable-consumer''. The LTTng Tracer Control in Eclipse doesn't support these options and commands because they will obsolete in LTTng Tools v2.2.0 and because the procedure for session creation offers already all relevant advanced parameters.
-
-= How to use LTTng to diagnose problems =
-
-LTTng is a tracer, it will give an enormous amount of information about the system it is running on. This means it can solve many types of problems.
-
-The following are examples of problems that can be solved with a tracer.
-
-== Random stutters ==
-
-Bob is running a computer program and it stutters periodically every 2 minutes. The CPU load is relatively low and Bob isn't running low on RAM.
-
-He decides to trace his complete system for 10 minutes. He opens the LTTng view in eclipse. From the control, he creates a session and enables all kernel tracepoints.
-
-He now has a 10 GB trace file. He imports the trace to his viewer and loads it up.
-
-A cursory look at the histogram bar on the bottom show relatively even event distribution, there are no interesting spikes, so he will have to dig deeper to find the issue. If he had seen a spike every 2 minutes, there would be strong chances this would be the first thing to investigate as it would imply a lot of kernel activity at the same period as his glitch, this would have been a path to investigate.
-
-As Bob suspects that he may be having some hardware raising IRQs or some other hardware based issue and adding delays. He looks at the ressource view and doesn't see anything abnormal.
-
-Bob did note an exact second one glitch occured: 11:58:03. He zooms into the time range or 11:58:02-11:58:04 using the histogram.He is happy to see the time is human readable local wall clock time and no longer in "nanseconds since the last reboot". <br>In the resource view, once again, he sees many soft irqs being raised at the same time, around the time his gui would freeze. He changes views and looks at the control flow view at that time and sees a process spending a lot of time in the kernel: FooMonitor- his temperature monitoring software.
-
-At this point he closes FooMonitor and notices the bug dissapeared. He could call it a day but he wants to see what was causing the system to freeze. He cannot justify closing a piece of software without understanding the issue. It may be a conflict that HIS software is causing after all.
-
-The system freezes around the time this program is running. He clicks on the process in the control flow view and looks at the corresponding events in the detailed events view. He sees: open - read - close repeated hundreds of times on the same file. The file being read was /dev/HWmonitor. He sends a report to the FooMonitor team and warns his team that FooMonitor was glitching their performance.
-
-The FooMonitor team finds that they were calling a system bus call that would halt a cpu while reading the temperature so that the core would not induce an 0.1 degree error in the reading, by disabling this feature, they improve their software and stop the glitches from occurring on their custommer's machine. They also optimize their code to open the file read and clone it once.
-
-By using system wide kernel tracing, even without deep kernel knowledge Bob was able to isolate a bug in a rogue piece of software in his system.
-
-== Slow I/O ==
-
-Alice is running her server. She noticed that one of her nodes was slowing down, and wasn't sure why, upon reading the trace she noticed that her time between a block request and complete was around 10ms.
-
-This is abnormal, normally her server handles IOs in under 100us, since they are quite local.
-
-She walks up to the server and hears the hard drive thrashing, This prompts her to look up in the events view the sectors being read in the block complete requests. There are her requests interleaved with other ones at the opposite side of the hard drive.
-
-She sees the tracer writing but there is another process that is writing to the server disk non stop. She looks in the control flow view and sees that there's a program from another fellow engineer, "Wally" that is writing in his home in a loop "All work and no play makes Jack a dull boy.".
-
-Alice kills the program, and immediately the server speeds up. She then goes to discuss this with Wally and implements strict hard disk quotas on the server.
-
-= References =
-
-* [http://www.eclipse.org/linuxtools/projectPages/lttng/ Linux Tools - LTTng integration]
-* [http://www.lttng.org/ LTTng project]
-* [http://lttng.org/files/doc/man-pages/man1/lttng.1.html LTTng Tracer Control Command Line Tool User Manual]
-* [http://lttng.org/files/doc/man-pages/man8/lttng-relayd.8.html LTTng relayd User Manual]
-* [http://wiki.eclipse.org/Linux_Tools_Project/TMF/User_Guide TMF User Guide]
-
-= Updating This Document =
-
-This document is maintained in a collaborative wiki. If you wish to update or modify this document please visit [http://wiki.eclipse.org/index.php/Linux_Tools_Project/LTTng2/User_Guide http://wiki.eclipse.org/Linux_Tools_Project/LTTng2/User_Guide]
diff --git a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/Bookmarks.png b/lttng/org.eclipse.linuxtools.lttng.help/doc/images/Bookmarks.png
deleted file mode 100644
index 7fa081069f..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/Bookmarks.png
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/Cfv_global.png b/lttng/org.eclipse.linuxtools.lttng.help/doc/images/Cfv_global.png
deleted file mode 100644
index 16c21fc3a1..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/Cfv_global.png
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/Cfv_legend.png b/lttng/org.eclipse.linuxtools.lttng.help/doc/images/Cfv_legend.png
deleted file mode 100644
index 5749d72b72..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/Cfv_legend.png
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/Cfv_process_tree.png b/lttng/org.eclipse.linuxtools.lttng.help/doc/images/Cfv_process_tree.png
deleted file mode 100644
index 7f45fbb377..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/Cfv_process_tree.png
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/Cfv_show_view.png b/lttng/org.eclipse.linuxtools.lttng.help/doc/images/Cfv_show_view.png
deleted file mode 100644
index 1ddb600a33..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/Cfv_show_view.png
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/Cfv_small_dots.png b/lttng/org.eclipse.linuxtools.lttng.help/doc/images/Cfv_small_dots.png
deleted file mode 100644
index c0a6704383..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/Cfv_small_dots.png
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/Cfv_tooltip.png b/lttng/org.eclipse.linuxtools.lttng.help/doc/images/Cfv_tooltip.png
deleted file mode 100644
index d74a5c63bd..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/Cfv_tooltip.png
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/Cfv_zoom.png b/lttng/org.eclipse.linuxtools.lttng.help/doc/images/Cfv_zoom.png
deleted file mode 100644
index cfcab94712..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/Cfv_zoom.png
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/Cfv_zoom_region.png b/lttng/org.eclipse.linuxtools.lttng.help/doc/images/Cfv_zoom_region.png
deleted file mode 100644
index f02bfdf347..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/Cfv_zoom_region.png
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/Channel.gif b/lttng/org.eclipse.linuxtools.lttng.help/doc/images/Channel.gif
deleted file mode 100644
index e8efe69dc3..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/Channel.gif
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/Channel_disabled.gif b/lttng/org.eclipse.linuxtools.lttng.help/doc/images/Channel_disabled.gif
deleted file mode 100644
index 413c1b953e..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/Channel_disabled.gif
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/ColorsView.png b/lttng/org.eclipse.linuxtools.lttng.help/doc/images/ColorsView.png
deleted file mode 100644
index 892d3a0857..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/ColorsView.png
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/CopyExperimentDialog.png b/lttng/org.eclipse.linuxtools.lttng.help/doc/images/CopyExperimentDialog.png
deleted file mode 100644
index 8c22c587cd..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/CopyExperimentDialog.png
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/CopyTraceAction.png b/lttng/org.eclipse.linuxtools.lttng.help/doc/images/CopyTraceAction.png
deleted file mode 100644
index 684dcc7f79..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/CopyTraceAction.png
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/CopyTraceDialog.png b/lttng/org.eclipse.linuxtools.lttng.help/doc/images/CopyTraceDialog.png
deleted file mode 100644
index 9a3c92bc53..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/CopyTraceDialog.png
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/CustomTextParserInput.png b/lttng/org.eclipse.linuxtools.lttng.help/doc/images/CustomTextParserInput.png
deleted file mode 100644
index 239dc118d3..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/CustomTextParserInput.png
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/CustomTextParserOutput.png b/lttng/org.eclipse.linuxtools.lttng.help/doc/images/CustomTextParserOutput.png
deleted file mode 100644
index e1d01bbf18..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/CustomTextParserOutput.png
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/CustomXMLParserInput.png b/lttng/org.eclipse.linuxtools.lttng.help/doc/images/CustomXMLParserInput.png
deleted file mode 100644
index 3e861b4e1d..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/CustomXMLParserInput.png
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/CustomXMLParserOutput.png b/lttng/org.eclipse.linuxtools.lttng.help/doc/images/CustomXMLParserOutput.png
deleted file mode 100644
index fb0a1492b1..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/CustomXMLParserOutput.png
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/DefaultTmfEvents-Filter.png b/lttng/org.eclipse.linuxtools.lttng.help/doc/images/DefaultTmfEvents-Filter.png
deleted file mode 100644
index 969a5f1bce..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/DefaultTmfEvents-Filter.png
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/DefaultTmfEvents-Search.png b/lttng/org.eclipse.linuxtools.lttng.help/doc/images/DefaultTmfEvents-Search.png
deleted file mode 100644
index d26e9bea3c..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/DefaultTmfEvents-Search.png
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/DeleteExperimentAction.png b/lttng/org.eclipse.linuxtools.lttng.help/doc/images/DeleteExperimentAction.png
deleted file mode 100644
index 696e449934..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/DeleteExperimentAction.png
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/DeleteExperimentConfirmationDialog.png b/lttng/org.eclipse.linuxtools.lttng.help/doc/images/DeleteExperimentConfirmationDialog.png
deleted file mode 100644
index 99d3edd666..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/DeleteExperimentConfirmationDialog.png
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/DeleteSupplementaryFilesAction.png b/lttng/org.eclipse.linuxtools.lttng.help/doc/images/DeleteSupplementaryFilesAction.png
deleted file mode 100644
index c5c83994fd..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/DeleteSupplementaryFilesAction.png
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/DeleteSupplementaryFilesDialog.png b/lttng/org.eclipse.linuxtools.lttng.help/doc/images/DeleteSupplementaryFilesDialog.png
deleted file mode 100644
index 32275c7642..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/DeleteSupplementaryFilesDialog.png
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/Event_disabled.gif b/lttng/org.eclipse.linuxtools.lttng.help/doc/images/Event_disabled.gif
deleted file mode 100644
index 2966a28163..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/Event_disabled.gif
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/Event_enabled.gif b/lttng/org.eclipse.linuxtools.lttng.help/doc/images/Event_enabled.gif
deleted file mode 100644
index 11d3d8da1e..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/Event_enabled.gif
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/ExplorerWithAssociatedTraceType.png b/lttng/org.eclipse.linuxtools.lttng.help/doc/images/ExplorerWithAssociatedTraceType.png
deleted file mode 100644
index 512a0c9cdb..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/ExplorerWithAssociatedTraceType.png
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/ExplorerWithExperiment.png b/lttng/org.eclipse.linuxtools.lttng.help/doc/images/ExplorerWithExperiment.png
deleted file mode 100644
index 2ec110c5c0..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/ExplorerWithExperiment.png
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/FiltersView.png b/lttng/org.eclipse.linuxtools.lttng.help/doc/images/FiltersView.png
deleted file mode 100644
index 6fe7c392df..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/FiltersView.png
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/HistogramView.png b/lttng/org.eclipse.linuxtools.lttng.help/doc/images/HistogramView.png
deleted file mode 100644
index e261175392..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/HistogramView.png
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2AddContextDialog.png b/lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2AddContextDialog.png
deleted file mode 100644
index 1c0dd8c0e8..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2AddContextDialog.png
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2AddContextOnChannelAction.png b/lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2AddContextOnChannelAction.png
deleted file mode 100644
index af4c8701c3..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2AddContextOnChannelAction.png
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2AddContextOnDomainAction.png b/lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2AddContextOnDomainAction.png
deleted file mode 100644
index ebfac852f9..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2AddContextOnDomainAction.png
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2AddContextToEventsAction.png b/lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2AddContextToEventsAction.png
deleted file mode 100644
index a8c5d6b51a..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2AddContextToEventsAction.png
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2AssignEventAction.png b/lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2AssignEventAction.png
deleted file mode 100644
index 0d0c80ae36..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2AssignEventAction.png
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2AssignEventDialog.png b/lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2AssignEventDialog.png
deleted file mode 100644
index 86b7c39426..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2AssignEventDialog.png
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2AssignEventDialogWithFilter.png b/lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2AssignEventDialogWithFilter.png
deleted file mode 100644
index 60ee053e24..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2AssignEventDialogWithFilter.png
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2AssignedEvents.png b/lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2AssignedEvents.png
deleted file mode 100644
index e6aa621052..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2AssignedEvents.png
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2CalibrateAction.png b/lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2CalibrateAction.png
deleted file mode 100644
index cf9464ff46..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2CalibrateAction.png
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2ControlViewConnect.png b/lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2ControlViewConnect.png
deleted file mode 100644
index df18cc7997..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2ControlViewConnect.png
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2ControlViewDelete.png b/lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2ControlViewDelete.png
deleted file mode 100644
index 95e8f11977..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2ControlViewDelete.png
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2ControlViewDisconnect.png b/lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2ControlViewDisconnect.png
deleted file mode 100644
index a2283db759..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2ControlViewDisconnect.png
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2ControlViewFilled.png b/lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2ControlViewFilled.png
deleted file mode 100644
index a8e7dfd648..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2ControlViewFilled.png
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2CreateChannelAction.png b/lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2CreateChannelAction.png
deleted file mode 100644
index 8e09a7e185..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2CreateChannelAction.png
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2CreateChannelDialog.png b/lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2CreateChannelDialog.png
deleted file mode 100644
index c42bee186e..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2CreateChannelDialog.png
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2CreateChannelDialogFileRotation.png b/lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2CreateChannelDialogFileRotation.png
deleted file mode 100644
index c26d2b4de0..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2CreateChannelDialogFileRotation.png
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2CreateChannelDialogMetadataFlush.png b/lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2CreateChannelDialogMetadataFlush.png
deleted file mode 100644
index 8ac0e24f01..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2CreateChannelDialogMetadataFlush.png
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2CreateChannelDialogPerUIDBuffers.png b/lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2CreateChannelDialogPerUIDBuffers.png
deleted file mode 100644
index 0ed3c7f6f2..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2CreateChannelDialogPerUIDBuffers.png
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2CreateChannelOnDomainAction.png b/lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2CreateChannelOnDomainAction.png
deleted file mode 100644
index 9a41ef7ae6..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2CreateChannelOnDomainAction.png
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2CreateSessionAction.png b/lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2CreateSessionAction.png
deleted file mode 100644
index 87da033447..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2CreateSessionAction.png
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2CreateSessionDialog.png b/lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2CreateSessionDialog.png
deleted file mode 100644
index 4a0cf0bdb1..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2CreateSessionDialog.png
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2CreateSessionDialog_Advanced.png b/lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2CreateSessionDialog_Advanced.png
deleted file mode 100644
index 49d6777629..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2CreateSessionDialog_Advanced.png
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2CreateSessionDialog_Live.png b/lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2CreateSessionDialog_Live.png
deleted file mode 100644
index 9705f2ccf4..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2CreateSessionDialog_Live.png
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2CreateSessionDialog_Live_Advanced.png b/lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2CreateSessionDialog_Live_Advanced.png
deleted file mode 100644
index 1433649ddf..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2CreateSessionDialog_Live_Advanced.png
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2CreateSessionDialog_Snapshot.png b/lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2CreateSessionDialog_Snapshot.png
deleted file mode 100644
index 53add22481..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2CreateSessionDialog_Snapshot.png
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2CreateSessionDialog_TracePath.png b/lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2CreateSessionDialog_TracePath.png
deleted file mode 100644
index 371a7c80e4..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2CreateSessionDialog_TracePath.png
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2DestroyConfirmationDialog.png b/lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2DestroyConfirmationDialog.png
deleted file mode 100644
index 26c1563a7a..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2DestroyConfirmationDialog.png
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2DestroySessionAction.png b/lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2DestroySessionAction.png
deleted file mode 100644
index ae4e9f934a..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2DestroySessionAction.png
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2DisableChannelAction.png b/lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2DisableChannelAction.png
deleted file mode 100644
index ec82ae759b..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2DisableChannelAction.png
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2DisableEventAction.png b/lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2DisableEventAction.png
deleted file mode 100644
index 5a9544ebcf..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2DisableEventAction.png
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2EnableChannelAction.png b/lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2EnableChannelAction.png
deleted file mode 100644
index a311c33146..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2EnableChannelAction.png
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2EnableEventAction.png b/lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2EnableEventAction.png
deleted file mode 100644
index dd2997f677..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2EnableEventAction.png
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2EnableEventWithFilter.png b/lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2EnableEventWithFilter.png
deleted file mode 100644
index 76d4d1d0d6..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2EnableEventWithFilter.png
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2EnabledAllUstTracepoints.png b/lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2EnabledAllUstTracepoints.png
deleted file mode 100644
index 83e8c30df2..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2EnabledAllUstTracepoints.png
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2EnabledFunctionProbeEvent.png b/lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2EnabledFunctionProbeEvent.png
deleted file mode 100644
index 039d775bc1..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2EnabledFunctionProbeEvent.png
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2EnabledKernelProbeEvent.png b/lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2EnabledKernelProbeEvent.png
deleted file mode 100644
index ab41433825..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2EnabledKernelProbeEvent.png
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2EnabledKernelSyscalls.png b/lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2EnabledKernelSyscalls.png
deleted file mode 100644
index 53458c1af5..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2EnabledKernelSyscalls.png
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2EnabledKernelTracepoints.png b/lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2EnabledKernelTracepoints.png
deleted file mode 100644
index 39fe5127dc..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2EnabledKernelTracepoints.png
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2EnabledUstLoglevelEvents.png b/lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2EnabledUstLoglevelEvents.png
deleted file mode 100644
index 74aee41f9a..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2EnabledUstLoglevelEvents.png
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2EnabledUstWildcardEvents.png b/lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2EnabledUstWildcardEvents.png
deleted file mode 100644
index ba1469f5cf..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2EnabledUstWildcardEvents.png
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2EnterPassword.png b/lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2EnterPassword.png
deleted file mode 100644
index dffcb687b3..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2EnterPassword.png
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2EnvironmentsView.png b/lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2EnvironmentsView.png
deleted file mode 100644
index b303d274d5..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2EnvironmentsView.png
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2EventOnChannelAction.png b/lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2EventOnChannelAction.png
deleted file mode 100644
index 52d971281b..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2EventOnChannelAction.png
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2EventOnDomainAction.png b/lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2EventOnDomainAction.png
deleted file mode 100644
index e7b480537f..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2EventOnDomainAction.png
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2EventOnSessionAction.png b/lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2EventOnSessionAction.png
deleted file mode 100644
index 10cce0690b..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2EventOnSessionAction.png
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2EventOnSessionDialog.png b/lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2EventOnSessionDialog.png
deleted file mode 100644
index af952a94c5..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2EventOnSessionDialog.png
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2EventProperties.png b/lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2EventProperties.png
deleted file mode 100644
index b5c8e2947b..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2EventProperties.png
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2EventsEditor.png b/lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2EventsEditor.png
deleted file mode 100644
index e0d662da4f..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2EventsEditor.png
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2FunctionEventDialog.png b/lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2FunctionEventDialog.png
deleted file mode 100644
index 82c49b50cf..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2FunctionEventDialog.png
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2ImportAction.png b/lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2ImportAction.png
deleted file mode 100644
index ec933af2cc..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2ImportAction.png
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2ImportDialog.png b/lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2ImportDialog.png
deleted file mode 100644
index 09b3520ea6..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2ImportDialog.png
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2ImportOverwriteConfirmationDialog.png b/lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2ImportOverwriteConfirmationDialog.png
deleted file mode 100644
index 5688ac3e10..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2ImportOverwriteConfirmationDialog.png
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2ImportRenameDialog.png b/lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2ImportRenameDialog.png
deleted file mode 100644
index 10e39decc1..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2ImportRenameDialog.png
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2NewConnection.png b/lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2NewConnection.png
deleted file mode 100644
index bb9fc83612..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2NewConnection.png
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2NewRemoteConnection.png b/lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2NewRemoteConnection.png
deleted file mode 100644
index 3048f7e697..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2NewRemoteConnection.png
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2Preferences.png b/lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2Preferences.png
deleted file mode 100644
index 6381fc826f..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2Preferences.png
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2PreferencesGroup.png b/lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2PreferencesGroup.png
deleted file mode 100644
index 51ddcc7fc7..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2PreferencesGroup.png
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2PreferencesLogging.png b/lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2PreferencesLogging.png
deleted file mode 100644
index d8eff9385e..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2PreferencesLogging.png
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2PreferencesTimeout.png b/lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2PreferencesTimeout.png
deleted file mode 100644
index 300ed48a40..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2PreferencesTimeout.png
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2ProbeEventDialog.png b/lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2ProbeEventDialog.png
deleted file mode 100644
index 0b44eee2c6..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2ProbeEventDialog.png
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2PropertyView.png b/lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2PropertyView.png
deleted file mode 100644
index addf1b1ec9..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2PropertyView.png
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2RecordSnapshotAction.png b/lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2RecordSnapshotAction.png
deleted file mode 100644
index 8c8ae5619c..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2RecordSnapshotAction.png
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2RefreshAction.png b/lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2RefreshAction.png
deleted file mode 100644
index 993eb08643..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2RefreshAction.png
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2SelectConnection.png b/lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2SelectConnection.png
deleted file mode 100644
index e6e0ff2636..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2SelectConnection.png
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2StartTracingAction.png b/lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2StartTracingAction.png
deleted file mode 100644
index ccb4a7884b..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2StartTracingAction.png
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2StatisticsView.png b/lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2StatisticsView.png
deleted file mode 100644
index 1e05685361..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2StatisticsView.png
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2StopTracingAction.png b/lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2StopTracingAction.png
deleted file mode 100644
index a8684d8072..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2StopTracingAction.png
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2SyscallsDialog.png b/lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2SyscallsDialog.png
deleted file mode 100644
index c94f825548..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2SyscallsDialog.png
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2TracepointEventsDialog.png b/lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2TracepointEventsDialog.png
deleted file mode 100644
index 55bcc75084..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2TracepointEventsDialog.png
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2UstLoglevelEventsDialog.png b/lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2UstLoglevelEventsDialog.png
deleted file mode 100644
index bba92064fb..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2UstLoglevelEventsDialog.png
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2UstTracepointEventsDialog.png b/lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2UstTracepointEventsDialog.png
deleted file mode 100644
index 11b08fc45a..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2UstTracepointEventsDialog.png
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2UstWildcardEventsDialog.png b/lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2UstWildcardEventsDialog.png
deleted file mode 100644
index 50d92abc60..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng2UstWildcardEventsDialog.png
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTngControlView.png b/lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTngControlView.png
deleted file mode 100644
index 52583634c9..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTngControlView.png
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTngControlViewConnect.png b/lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTngControlViewConnect.png
deleted file mode 100644
index 73fd9c87fe..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTngControlViewConnect.png
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTngKernelPerspective.png b/lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTngKernelPerspective.png
deleted file mode 100644
index e68e369742..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTngKernelPerspective.png
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng_CpuUsageView.png b/lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng_CpuUsageView.png
deleted file mode 100644
index 747ab8e255..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng_CpuUsageView.png
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng_CpuUsageViewToolTip.png b/lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng_CpuUsageViewToolTip.png
deleted file mode 100644
index b09e7c002d..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng_CpuUsageViewToolTip.png
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng_OpenCpuUsageView.png b/lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng_OpenCpuUsageView.png
deleted file mode 100644
index f111f6050e..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/LTTng_OpenCpuUsageView.png
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/ManageCustomParsers.png b/lttng/org.eclipse.linuxtools.lttng.help/doc/images/ManageCustomParsers.png
deleted file mode 100644
index cce4cf47d0..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/ManageCustomParsers.png
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/NewExperimentAction.png b/lttng/org.eclipse.linuxtools.lttng.help/doc/images/NewExperimentAction.png
deleted file mode 100644
index d72b119317..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/NewExperimentAction.png
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/NewExperimentDialog.png b/lttng/org.eclipse.linuxtools.lttng.help/doc/images/NewExperimentDialog.png
deleted file mode 100644
index 7c12173457..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/NewExperimentDialog.png
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/NewProjectExplorer.png b/lttng/org.eclipse.linuxtools.lttng.help/doc/images/NewProjectExplorer.png
deleted file mode 100644
index 8c644d4b5b..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/NewProjectExplorer.png
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/NewTracingProjectPage1.png b/lttng/org.eclipse.linuxtools.lttng.help/doc/images/NewTracingProjectPage1.png
deleted file mode 100644
index b0d56378ab..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/NewTracingProjectPage1.png
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/NewTracingProjectPage2.png b/lttng/org.eclipse.linuxtools.lttng.help/doc/images/NewTracingProjectPage2.png
deleted file mode 100644
index a0c958ce75..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/NewTracingProjectPage2.png
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/OpenLTTngKernelPerspective.png b/lttng/org.eclipse.linuxtools.lttng.help/doc/images/OpenLTTngKernelPerspective.png
deleted file mode 100644
index 2692689e3e..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/OpenLTTngKernelPerspective.png
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/OpenTraceAction.png b/lttng/org.eclipse.linuxtools.lttng.help/doc/images/OpenTraceAction.png
deleted file mode 100644
index c1a96d47e2..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/OpenTraceAction.png
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/OpenTraceFile.png b/lttng/org.eclipse.linuxtools.lttng.help/doc/images/OpenTraceFile.png
deleted file mode 100644
index ffacf221f5..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/OpenTraceFile.png
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/ProjectImportTraceAction.png b/lttng/org.eclipse.linuxtools.lttng.help/doc/images/ProjectImportTraceAction.png
deleted file mode 100644
index 634a8c9b03..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/ProjectImportTraceAction.png
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/ProjectImportTraceDialog.png b/lttng/org.eclipse.linuxtools.lttng.help/doc/images/ProjectImportTraceDialog.png
deleted file mode 100644
index 9ddcc3e687..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/ProjectImportTraceDialog.png
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/ProjectImportTraceDialogRename.png b/lttng/org.eclipse.linuxtools.lttng.help/doc/images/ProjectImportTraceDialogRename.png
deleted file mode 100644
index 1ddf19ee53..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/ProjectImportTraceDialogRename.png
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/ProjectImportWizardSelect.png b/lttng/org.eclipse.linuxtools.lttng.help/doc/images/ProjectImportWizardSelect.png
deleted file mode 100644
index b9837cad29..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/ProjectImportWizardSelect.png
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/RV_infobox1.png b/lttng/org.eclipse.linuxtools.lttng.help/doc/images/RV_infobox1.png
deleted file mode 100644
index 0d38a9a3a1..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/RV_infobox1.png
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/RV_infobox2.png b/lttng/org.eclipse.linuxtools.lttng.help/doc/images/RV_infobox2.png
deleted file mode 100644
index fc4d33d69a..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/RV_infobox2.png
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/RemoveTracesAction.png b/lttng/org.eclipse.linuxtools.lttng.help/doc/images/RemoveTracesAction.png
deleted file mode 100644
index 611d9971e6..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/RemoveTracesAction.png
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/RenameExperimentDialog.png b/lttng/org.eclipse.linuxtools.lttng.help/doc/images/RenameExperimentDialog.png
deleted file mode 100644
index 4d648c4717..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/RenameExperimentDialog.png
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/RenameTraceAction.png b/lttng/org.eclipse.linuxtools.lttng.help/doc/images/RenameTraceAction.png
deleted file mode 100644
index 12da11b4c8..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/RenameTraceAction.png
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/RenameTraceDialog.png b/lttng/org.eclipse.linuxtools.lttng.help/doc/images/RenameTraceDialog.png
deleted file mode 100644
index e1cb4b761c..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/RenameTraceDialog.png
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/Rv_example.png b/lttng/org.eclipse.linuxtools.lttng.help/doc/images/Rv_example.png
deleted file mode 100644
index 702fcee8cb..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/Rv_example.png
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/Rv_legend.png b/lttng/org.eclipse.linuxtools.lttng.help/doc/images/Rv_legend.png
deleted file mode 100644
index e946becdcd..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/Rv_legend.png
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/SelectGenericCTFTraceType.png b/lttng/org.eclipse.linuxtools.lttng.help/doc/images/SelectGenericCTFTraceType.png
deleted file mode 100644
index de13326b02..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/SelectGenericCTFTraceType.png
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/SelectLTTngKernelTraceType.png b/lttng/org.eclipse.linuxtools.lttng.help/doc/images/SelectLTTngKernelTraceType.png
deleted file mode 100644
index a1a921ae18..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/SelectLTTngKernelTraceType.png
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/SelectTracesAction.png b/lttng/org.eclipse.linuxtools.lttng.help/doc/images/SelectTracesAction.png
deleted file mode 100644
index a1c3157bba..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/SelectTracesAction.png
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/SelectTracesDialog.png b/lttng/org.eclipse.linuxtools.lttng.help/doc/images/SelectTracesDialog.png
deleted file mode 100644
index 84ebe597e8..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/SelectTracesDialog.png
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/Session_active.gif b/lttng/org.eclipse.linuxtools.lttng.help/doc/images/Session_active.gif
deleted file mode 100644
index 57a42bca84..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/Session_active.gif
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/Session_inactive.gif b/lttng/org.eclipse.linuxtools.lttng.help/doc/images/Session_inactive.gif
deleted file mode 100644
index 13d3f5b5a5..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/Session_inactive.gif
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/ShowTracingPerspective.png b/lttng/org.eclipse.linuxtools.lttng.help/doc/images/ShowTracingPerspective.png
deleted file mode 100644
index cf868f792d..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/ShowTracingPerspective.png
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/ShowTracingViews.png b/lttng/org.eclipse.linuxtools.lttng.help/doc/images/ShowTracingViews.png
deleted file mode 100644
index c400a92c19..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/ShowTracingViews.png
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/Sync_cfv.png b/lttng/org.eclipse.linuxtools.lttng.help/doc/images/Sync_cfv.png
deleted file mode 100644
index b42a032e2c..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/Sync_cfv.png
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/Sync_menu.png b/lttng/org.eclipse.linuxtools.lttng.help/doc/images/Sync_menu.png
deleted file mode 100644
index db93145719..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/Sync_menu.png
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/Sync_view.png b/lttng/org.eclipse.linuxtools.lttng.help/doc/images/Sync_view.png
deleted file mode 100644
index 2fb31bbefb..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/Sync_view.png
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/TMF_LinkWithEditor.png b/lttng/org.eclipse.linuxtools.lttng.help/doc/images/TMF_LinkWithEditor.png
deleted file mode 100644
index 810a70fb84..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/TMF_LinkWithEditor.png
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/TablePostCollapse.png b/lttng/org.eclipse.linuxtools.lttng.help/doc/images/TablePostCollapse.png
deleted file mode 100644
index bfc8c2f296..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/TablePostCollapse.png
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/TablePreCollapse.png b/lttng/org.eclipse.linuxtools.lttng.help/doc/images/TablePreCollapse.png
deleted file mode 100644
index b5078af821..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/TablePreCollapse.png
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/Target_connected.gif b/lttng/org.eclipse.linuxtools.lttng.help/doc/images/Target_connected.gif
deleted file mode 100644
index def312aa12..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/Target_connected.gif
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/Target_disconnected.gif b/lttng/org.eclipse.linuxtools.lttng.help/doc/images/Target_disconnected.gif
deleted file mode 100644
index 2104ab4545..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/Target_disconnected.gif
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/TimeChartView.png b/lttng/org.eclipse.linuxtools.lttng.help/doc/images/TimeChartView.png
deleted file mode 100644
index 0ead584f81..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/TimeChartView.png
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/TimeOffsetAdvancedComputeOffset.png b/lttng/org.eclipse.linuxtools.lttng.help/doc/images/TimeOffsetAdvancedComputeOffset.png
deleted file mode 100644
index cf53365158..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/TimeOffsetAdvancedComputeOffset.png
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/TimeOffsetAdvancedDialog.png b/lttng/org.eclipse.linuxtools.lttng.help/doc/images/TimeOffsetAdvancedDialog.png
deleted file mode 100644
index 0f33434034..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/TimeOffsetAdvancedDialog.png
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/TimeOffsetAdvancedSetReference.png b/lttng/org.eclipse.linuxtools.lttng.help/doc/images/TimeOffsetAdvancedSetReference.png
deleted file mode 100644
index c84ea37e8a..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/TimeOffsetAdvancedSetReference.png
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/TimeOffsetAdvancedSetTarget.png b/lttng/org.eclipse.linuxtools.lttng.help/doc/images/TimeOffsetAdvancedSetTarget.png
deleted file mode 100644
index 2a9cf9a653..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/TimeOffsetAdvancedSetTarget.png
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/TimeOffsetApply.png b/lttng/org.eclipse.linuxtools.lttng.help/doc/images/TimeOffsetApply.png
deleted file mode 100644
index f6ea526770..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/TimeOffsetApply.png
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/TimeOffsetBasicDialog.png b/lttng/org.eclipse.linuxtools.lttng.help/doc/images/TimeOffsetBasicDialog.png
deleted file mode 100644
index 8842180ddc..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/TimeOffsetBasicDialog.png
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/TimeOffsetBasicDialogFilled.png b/lttng/org.eclipse.linuxtools.lttng.help/doc/images/TimeOffsetBasicDialogFilled.png
deleted file mode 100644
index 72085acd87..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/TimeOffsetBasicDialogFilled.png
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/TimeOffsetProperty.png b/lttng/org.eclipse.linuxtools.lttng.help/doc/images/TimeOffsetProperty.png
deleted file mode 100644
index 5fe7d50f08..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/TimeOffsetProperty.png
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/TmfEventFilter.gif b/lttng/org.eclipse.linuxtools.lttng.help/doc/images/TmfEventFilter.gif
deleted file mode 100644
index ef51bd544f..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/TmfEventFilter.gif
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/TmfEventSearch.gif b/lttng/org.eclipse.linuxtools.lttng.help/doc/images/TmfEventSearch.gif
deleted file mode 100644
index d540a01f4d..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/TmfEventSearch.gif
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/TmfTimestampFormatPage.png b/lttng/org.eclipse.linuxtools.lttng.help/doc/images/TmfTimestampFormatPage.png
deleted file mode 100644
index 4dbc7d99bc..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/TmfTimestampFormatPage.png
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/TracingPerspective.png b/lttng/org.eclipse.linuxtools.lttng.help/doc/images/TracingPerspective.png
deleted file mode 100644
index 69b815578a..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/TracingPerspective.png
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/XML_xy_chart.png b/lttng/org.eclipse.linuxtools.lttng.help/doc/images/XML_xy_chart.png
deleted file mode 100644
index 5c88da64d5..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/XML_xy_chart.png
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/Xml_analysis_screenshot.png b/lttng/org.eclipse.linuxtools.lttng.help/doc/images/Xml_analysis_screenshot.png
deleted file mode 100644
index 292c239ba3..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/Xml_analysis_screenshot.png
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/filter_items.gif b/lttng/org.eclipse.linuxtools.lttng.help/doc/images/filter_items.gif
deleted file mode 100644
index ef51bd544f..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/filter_items.gif
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/follow_arrow_bwd.gif b/lttng/org.eclipse.linuxtools.lttng.help/doc/images/follow_arrow_bwd.gif
deleted file mode 100644
index 04b5a0525b..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/follow_arrow_bwd.gif
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/follow_arrow_fwd.gif b/lttng/org.eclipse.linuxtools.lttng.help/doc/images/follow_arrow_fwd.gif
deleted file mode 100644
index b8aa056fc9..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/follow_arrow_fwd.gif
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/hide_arrows.gif b/lttng/org.eclipse.linuxtools.lttng.help/doc/images/hide_arrows.gif
deleted file mode 100644
index 6fe858df88..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/hide_arrows.gif
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/hide_lost_events.gif b/lttng/org.eclipse.linuxtools.lttng.help/doc/images/hide_lost_events.gif
deleted file mode 100644
index bb46075ce4..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/hide_lost_events.gif
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/home.gif b/lttng/org.eclipse.linuxtools.lttng.help/doc/images/home.gif
deleted file mode 100644
index 4472e8ce5b..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/home.gif
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/home_nav.gif b/lttng/org.eclipse.linuxtools.lttng.help/doc/images/home_nav.gif
deleted file mode 100644
index fd0c669509..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/home_nav.gif
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/import.gif b/lttng/org.eclipse.linuxtools.lttng.help/doc/images/import.gif
deleted file mode 100644
index d38085ad9c..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/import.gif
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/import_XML_analysis.png b/lttng/org.eclipse.linuxtools.lttng.help/doc/images/import_XML_analysis.png
deleted file mode 100644
index 70836df2e5..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/import_XML_analysis.png
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/link.gif b/lttng/org.eclipse.linuxtools.lttng.help/doc/images/link.gif
deleted file mode 100644
index e085688898..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/link.gif
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/memoryUsage/memory-usage-multithread.png b/lttng/org.eclipse.linuxtools.lttng.help/doc/images/memoryUsage/memory-usage-multithread.png
deleted file mode 100644
index 2634abc24c..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/memoryUsage/memory-usage-multithread.png
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/memoryUsage/memory-usage-no-thread-info.png b/lttng/org.eclipse.linuxtools.lttng.help/doc/images/memoryUsage/memory-usage-no-thread-info.png
deleted file mode 100644
index fb74815ce6..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/memoryUsage/memory-usage-no-thread-info.png
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/next.gif b/lttng/org.eclipse.linuxtools.lttng.help/doc/images/next.gif
deleted file mode 100644
index e2f8c3e1fe..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/next.gif
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/next_event.gif b/lttng/org.eclipse.linuxtools.lttng.help/doc/images/next_event.gif
deleted file mode 100644
index da6c4b66f6..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/next_event.gif
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/next_menu.gif b/lttng/org.eclipse.linuxtools.lttng.help/doc/images/next_menu.gif
deleted file mode 100644
index 9b5b581b2b..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/next_menu.gif
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/prev.gif b/lttng/org.eclipse.linuxtools.lttng.help/doc/images/prev.gif
deleted file mode 100644
index 4fb4150103..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/prev.gif
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/prev_event.gif b/lttng/org.eclipse.linuxtools.lttng.help/doc/images/prev_event.gif
deleted file mode 100644
index ed3e7c26ee..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/prev_event.gif
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/prev_menu.gif b/lttng/org.eclipse.linuxtools.lttng.help/doc/images/prev_menu.gif
deleted file mode 100644
index 091e884006..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/prev_menu.gif
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/show_hist_traces.gif b/lttng/org.eclipse.linuxtools.lttng.help/doc/images/show_hist_traces.gif
deleted file mode 100644
index 40febb20ab..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/show_hist_traces.gif
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/show_legend.gif b/lttng/org.eclipse.linuxtools.lttng.help/doc/images/show_legend.gif
deleted file mode 100644
index f40ce6b179..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/show_legend.gif
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/tracePackageImages/chooseTrace.png b/lttng/org.eclipse.linuxtools.lttng.help/doc/images/tracePackageImages/chooseTrace.png
deleted file mode 100644
index 02353a85c9..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/tracePackageImages/chooseTrace.png
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/tracePackageImages/exportPackage.png b/lttng/org.eclipse.linuxtools.lttng.help/doc/images/tracePackageImages/exportPackage.png
deleted file mode 100644
index b81d56817b..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/tracePackageImages/exportPackage.png
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/tracePackageImages/exportSelectedTrace.png b/lttng/org.eclipse.linuxtools.lttng.help/doc/images/tracePackageImages/exportSelectedTrace.png
deleted file mode 100644
index b61d6137c6..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/tracePackageImages/exportSelectedTrace.png
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/tracePackageImages/fileExport.png b/lttng/org.eclipse.linuxtools.lttng.help/doc/images/tracePackageImages/fileExport.png
deleted file mode 100644
index 83d2467677..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/tracePackageImages/fileExport.png
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/tracePackageImages/fileImport.png b/lttng/org.eclipse.linuxtools.lttng.help/doc/images/tracePackageImages/fileImport.png
deleted file mode 100644
index 6949a29a86..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/tracePackageImages/fileImport.png
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/tracePackageImages/importPackage.png b/lttng/org.eclipse.linuxtools.lttng.help/doc/images/tracePackageImages/importPackage.png
deleted file mode 100644
index 899cf1b40d..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/tracePackageImages/importPackage.png
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/tracePackageImages/importTraceFolder.png b/lttng/org.eclipse.linuxtools.lttng.help/doc/images/tracePackageImages/importTraceFolder.png
deleted file mode 100644
index 79281df77b..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/tracePackageImages/importTraceFolder.png
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/zoomin_nav.gif b/lttng/org.eclipse.linuxtools.lttng.help/doc/images/zoomin_nav.gif
deleted file mode 100644
index 31441e34e4..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/zoomin_nav.gif
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/zoomout_nav.gif b/lttng/org.eclipse.linuxtools.lttng.help/doc/images/zoomout_nav.gif
deleted file mode 100644
index 1f874009ad..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng.help/doc/images/zoomout_nav.gif
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.lttng.help/images/home.gif b/lttng/org.eclipse.linuxtools.lttng.help/images/home.gif
deleted file mode 100644
index 4472e8ce5b..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng.help/images/home.gif
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.lttng.help/images/next.gif b/lttng/org.eclipse.linuxtools.lttng.help/images/next.gif
deleted file mode 100644
index e2f8c3e1fe..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng.help/images/next.gif
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.lttng.help/images/prev.gif b/lttng/org.eclipse.linuxtools.lttng.help/images/prev.gif
deleted file mode 100644
index 4fb4150103..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng.help/images/prev.gif
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.lttng.help/plugin.properties b/lttng/org.eclipse.linuxtools.lttng.help/plugin.properties
deleted file mode 100644
index ce46ef4fba..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng.help/plugin.properties
+++ /dev/null
@@ -1,15 +0,0 @@
-###############################################################################
-# Copyright (c) 2013 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:
-# Ericsson - Initial API and implementation
-###############################################################################
-
-#Properties file for org.eclipse.linuxtools.lttng.help
-Bundle-Vendor = Eclipse Linux Tools
-Bundle-Name = Linux Tools LTTng Help Plug-in \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.lttng.help/plugin.xml b/lttng/org.eclipse.linuxtools.lttng.help/plugin.xml
deleted file mode 100644
index 8236399816..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng.help/plugin.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin>
-<!-- This part should be in a documentation plugin -->
-<!-- Configure the help contribution for this plugin -->
- <extension point="org.eclipse.help.toc">
- <toc
- file="doc/User-Guide-toc.xml"
- primary="true" />
- </extension>
-</plugin>
diff --git a/lttng/org.eclipse.linuxtools.lttng.help/pom.xml b/lttng/org.eclipse.linuxtools.lttng.help/pom.xml
deleted file mode 100644
index dc02f11a43..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng.help/pom.xml
+++ /dev/null
@@ -1,86 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Copyright (C) 2011, Red Hat, Inc.
-
- 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
--->
-<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
- <modelVersion>4.0.0</modelVersion>
-
- <parent>
- <artifactId>linuxtools-lttng-parent</artifactId>
- <groupId>org.eclipse.linuxtools.lttng</groupId>
- <version>3.2.0-SNAPSHOT</version>
- </parent>
-
- <artifactId>org.eclipse.linuxtools.lttng.help</artifactId>
- <version>3.1.0-SNAPSHOT</version>
- <packaging>eclipse-plugin</packaging>
-
- <name>Linux Tools LTTng Help Plug-in</name>
-
- <build>
- <plugins>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-antrun-plugin</artifactId>
- <executions>
- <execution>
- <id>generate-documentation</id>
- <phase>generate-sources</phase>
- <configuration>
- <echo>Generating LTTng Help Files</echo>
- <target>
- <property name="compile_classpath" refid="maven.compile.classpath" />
- <ant target="build" inheritRefs="true" antfile="build.xml" />
- </target>
- </configuration>
- <goals>
- <goal>run</goal>
- </goals>
- </execution>
- <execution>
- <id>clean-documentation</id>
- <phase>clean</phase>
- <configuration>
- <echo>Cleaning up generated LTTng Help Files</echo>
- <target>
- <ant target="clean" antfile="build.xml" />
- </target>
- </configuration>
- <goals>
- <goal>run</goal>
- </goals>
- </execution>
- </executions>
-
- <dependencies>
- <dependency>
- <groupId>org.apache.ant</groupId>
- <artifactId>ant</artifactId>
- <version>1.8.1</version>
- </dependency>
-
- <dependency>
- <groupId>org.apache.ant</groupId>
- <artifactId>ant-launcher</artifactId>
- <version>1.8.1</version>
- </dependency>
-
- <dependency>
- <groupId>org.apache.ant</groupId>
- <artifactId>ant-nodeps</artifactId>
- <version>1.8.1</version>
- </dependency>
-
- </dependencies>
- </plugin>
- </plugins>
- </build>
-
- <groupId>org.eclipse.linuxtools.lttng</groupId>
-</project>
diff --git a/lttng/org.eclipse.linuxtools.lttng.help/reference/api/allclasses-frame.html b/lttng/org.eclipse.linuxtools.lttng.help/reference/api/allclasses-frame.html
deleted file mode 100644
index 34b4157fbf..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng.help/reference/api/allclasses-frame.html
+++ /dev/null
@@ -1,18 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (version 1.7.0_51) on Sat Feb 22 08:24:16 EST 2014 -->
-<title>All Classes</title>
-<meta name="date" content="2014-02-22">
-<link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
-</head>
-<body>
-<h1 class="bar">All Classes</h1>
-<div class="indexContainer">
-<ul>
-<li><a href="org/eclipse/linuxtools/tmf/core/timestamp/TmfTimestampFormat.html" title="class in org.eclipse.linuxtools.tmf.core.timestamp" target="classFrame">TmfTimestampFormat</a></li>
-</ul>
-</div>
-</body>
-</html>
diff --git a/lttng/org.eclipse.linuxtools.lttng.help/reference/api/allclasses-noframe.html b/lttng/org.eclipse.linuxtools.lttng.help/reference/api/allclasses-noframe.html
deleted file mode 100644
index b7eec2603f..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng.help/reference/api/allclasses-noframe.html
+++ /dev/null
@@ -1,18 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (version 1.7.0_51) on Sat Feb 22 08:24:16 EST 2014 -->
-<title>All Classes</title>
-<meta name="date" content="2014-02-22">
-<link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
-</head>
-<body>
-<h1 class="bar">All Classes</h1>
-<div class="indexContainer">
-<ul>
-<li><a href="org/eclipse/linuxtools/tmf/core/timestamp/TmfTimestampFormat.html" title="class in org.eclipse.linuxtools.tmf.core.timestamp">TmfTimestampFormat</a></li>
-</ul>
-</div>
-</body>
-</html>
diff --git a/lttng/org.eclipse.linuxtools.lttng.help/reference/api/constant-values.html b/lttng/org.eclipse.linuxtools.lttng.help/reference/api/constant-values.html
deleted file mode 100644
index 458cbeccc7..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng.help/reference/api/constant-values.html
+++ /dev/null
@@ -1,61 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (version 1.7.0_51) on Sat Feb 22 08:24:16 EST 2014 -->
-<title>Constant Field Values</title>
-<meta name="date" content="2014-02-22">
-<link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
-</head>
-<body>
-<script type="text/javascript"><!--
- if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="Constant Field Values";
- }
-//-->
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<div class="header">
-<h1 title="Constant Field Values" class="title">Constant Field Values</h1>
-<h2 title="Contents">Contents</h2>
-<ul>
-<li><a href="#org.eclipse">org.eclipse.*</a></li>
-</ul>
-</div>
-<div class="constantValuesContainer"><a name="org.eclipse">
-<!-- -->
-</a>
-<h2 title="org.eclipse">org.eclipse.*</h2>
-<ul class="blockList">
-<li class="blockList">
-<table border="0" cellpadding="3" cellspacing="0" summary="Constant Field Values table, listing constant fields, and values">
-<caption><span>org.eclipse.linuxtools.tmf.core.timestamp.<a href="org/eclipse/linuxtools/tmf/core/timestamp/TmfTimestampFormat.html" title="class in org.eclipse.linuxtools.tmf.core.timestamp">TmfTimestampFormat</a></span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th scope="col">Constant Field</th>
-<th class="colLast" scope="col">Value</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colFirst"><a name="org.eclipse.linuxtools.tmf.core.timestamp.TmfTimestampFormat.DEFAULT_INTERVAL_PATTERN">
-<!-- -->
-</a><code>public&nbsp;static&nbsp;final&nbsp;<a href="http://download.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
-<td><code><a href="org/eclipse/linuxtools/tmf/core/timestamp/TmfTimestampFormat.html#DEFAULT_INTERVAL_PATTERN">DEFAULT_INTERVAL_PATTERN</a></code></td>
-<td class="colLast"><code>"TTT.SSS SSS SSS"</code></td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><a name="org.eclipse.linuxtools.tmf.core.timestamp.TmfTimestampFormat.DEFAULT_TIME_PATTERN">
-<!-- -->
-</a><code>public&nbsp;static&nbsp;final&nbsp;<a href="http://download.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
-<td><code><a href="org/eclipse/linuxtools/tmf/core/timestamp/TmfTimestampFormat.html#DEFAULT_TIME_PATTERN">DEFAULT_TIME_PATTERN</a></code></td>
-<td class="colLast"><code>"HH:mm:ss.SSS SSS SSS"</code></td>
-</tr>
-</tbody>
-</table>
-</li>
-</ul>
-</div>
-</body>
-</html>
diff --git a/lttng/org.eclipse.linuxtools.lttng.help/reference/api/deprecated-list.html b/lttng/org.eclipse.linuxtools.lttng.help/reference/api/deprecated-list.html
deleted file mode 100644
index e1d59827c9..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng.help/reference/api/deprecated-list.html
+++ /dev/null
@@ -1,59 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (version 1.7.0_51) on Sat Feb 22 08:24:16 EST 2014 -->
-<title>Deprecated List</title>
-<meta name="date" content="2014-02-22">
-<link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
-</head>
-<body>
-<script type="text/javascript"><!--
- if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="Deprecated List";
- }
-//-->
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<div class="header">
-<h1 title="Deprecated API" class="title">Deprecated API</h1>
-<h2 title="Contents">Contents</h2>
-<ul>
-<li><a href="#method">Deprecated Methods</a></li>
-</ul>
-</div>
-<div class="contentContainer"><a name="method">
-<!-- -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<table border="0" cellpadding="3" cellspacing="0" summary="Deprecated Methods table, listing deprecated methods, and an explanation">
-<caption><span>Deprecated Methods</span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colOne" scope="col">Method and Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colOne"><a href="org/eclipse/linuxtools/tmf/core/timestamp/TmfTimestampFormat.html#setDefaultIntervalFormat(java.lang.String)">org.eclipse.linuxtools.tmf.core.timestamp.TmfTimestampFormat.setDefaultIntervalFormat(String)</a>
-<div class="block"><i>The default interval format pattern depends on the
- preferences, see <code>TmfTimePreferences</code>. To change the
- default time pattern, modify the preferences and call
- <a href="org/eclipse/linuxtools/tmf/core/timestamp/TmfTimestampFormat.html#updateDefaultFormats()"><code>updateDefaultFormats()</code></a></i></div>
-</td>
-</tr>
-<tr class="rowColor">
-<td class="colOne"><a href="org/eclipse/linuxtools/tmf/core/timestamp/TmfTimestampFormat.html#setDefaultTimeFormat(java.lang.String)">org.eclipse.linuxtools.tmf.core.timestamp.TmfTimestampFormat.setDefaultTimeFormat(String)</a>
-<div class="block"><i>The default time pattern depends on the preferences, see
- <code>TmfTimePreferences</code>. To change the default time
- pattern, modify the preferences and call <a href="org/eclipse/linuxtools/tmf/core/timestamp/TmfTimestampFormat.html#updateDefaultFormats()"><code>updateDefaultFormats()</code></a></i></div>
-</td>
-</tr>
-</tbody>
-</table>
-</li>
-</ul>
-</div>
-</body>
-</html>
diff --git a/lttng/org.eclipse.linuxtools.lttng.help/reference/api/help-doc.html b/lttng/org.eclipse.linuxtools.lttng.help/reference/api/help-doc.html
deleted file mode 100644
index 39510122cc..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng.help/reference/api/help-doc.html
+++ /dev/null
@@ -1,110 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (version 1.7.0_51) on Sat Feb 22 08:24:16 EST 2014 -->
-<title>API Help</title>
-<meta name="date" content="2014-02-22">
-<link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
-</head>
-<body>
-<script type="text/javascript"><!--
- if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="API Help";
- }
-//-->
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<div class="header">
-<h1 class="title">How This API Document Is Organized</h1>
-<div class="subTitle">This API (Application Programming Interface) document has pages corresponding to the items in the navigation bar, described as follows.</div>
-</div>
-<div class="contentContainer">
-<ul class="blockList">
-<li class="blockList">
-<h2>Package</h2>
-<p>Each package has a page that contains a list of its classes and interfaces, with a summary for each. This page can contain six categories:</p>
-<ul>
-<li>Interfaces (italic)</li>
-<li>Classes</li>
-<li>Enums</li>
-<li>Exceptions</li>
-<li>Errors</li>
-<li>Annotation Types</li>
-</ul>
-</li>
-<li class="blockList">
-<h2>Class/Interface</h2>
-<p>Each class, interface, nested class and nested interface has its own separate page. Each of these pages has three sections consisting of a class/interface description, summary tables, and detailed member descriptions:</p>
-<ul>
-<li>Class inheritance diagram</li>
-<li>Direct Subclasses</li>
-<li>All Known Subinterfaces</li>
-<li>All Known Implementing Classes</li>
-<li>Class/interface declaration</li>
-<li>Class/interface description</li>
-</ul>
-<ul>
-<li>Nested Class Summary</li>
-<li>Field Summary</li>
-<li>Constructor Summary</li>
-<li>Method Summary</li>
-</ul>
-<ul>
-<li>Field Detail</li>
-<li>Constructor Detail</li>
-<li>Method Detail</li>
-</ul>
-<p>Each summary entry contains the first sentence from the detailed description for that item. The summary entries are alphabetical, while the detailed descriptions are in the order they appear in the source code. This preserves the logical groupings established by the programmer.</p>
-</li>
-<li class="blockList">
-<h2>Annotation Type</h2>
-<p>Each annotation type has its own separate page with the following sections:</p>
-<ul>
-<li>Annotation Type declaration</li>
-<li>Annotation Type description</li>
-<li>Required Element Summary</li>
-<li>Optional Element Summary</li>
-<li>Element Detail</li>
-</ul>
-</li>
-<li class="blockList">
-<h2>Enum</h2>
-<p>Each enum has its own separate page with the following sections:</p>
-<ul>
-<li>Enum declaration</li>
-<li>Enum description</li>
-<li>Enum Constant Summary</li>
-<li>Enum Constant Detail</li>
-</ul>
-</li>
-<li class="blockList">
-<h2>Deprecated API</h2>
-<p>The <a href="deprecated-list.html">Deprecated API</a> page lists all of the API that have been deprecated. A deprecated API is not recommended for use, generally due to improvements, and a replacement API is usually given. Deprecated APIs may be removed in future implementations.</p>
-</li>
-<li class="blockList">
-<h2>Prev/Next</h2>
-<p>These links take you to the next or previous class, interface, package, or related page.</p>
-</li>
-<li class="blockList">
-<h2>Frames/No Frames</h2>
-<p>These links show and hide the HTML frames. All pages are available with or without frames.</p>
-</li>
-<li class="blockList">
-<h2>All Classes</h2>
-<p>The <a href="allclasses-noframe.html">All Classes</a> link shows all classes and interfaces except non-static nested types.</p>
-</li>
-<li class="blockList">
-<h2>Serialized Form</h2>
-<p>Each serializable or externalizable class has a description of its serialization fields and methods. This information is of interest to re-implementors, not to developers using the API. While there is no link in the navigation bar, you can get to this information by going to any serialized class and clicking "Serialized Form" in the "See also" section of the class description.</p>
-</li>
-<li class="blockList">
-<h2>Constant Field Values</h2>
-<p>The <a href="constant-values.html">Constant Field Values</a> page lists the static final fields and their values.</p>
-</li>
-</ul>
-<em>This help file applies to API documentation generated using the standard doclet.</em></div>
-</body>
-</html>
diff --git a/lttng/org.eclipse.linuxtools.lttng.help/reference/api/index.html b/lttng/org.eclipse.linuxtools.lttng.help/reference/api/index.html
deleted file mode 100644
index bc778c59b8..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng.help/reference/api/index.html
+++ /dev/null
@@ -1,64 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc on Sat Feb 22 08:24:16 EST 2014 -->
-<title>Generated Documentation (Untitled)</title>
-<script type="text/javascript">
- targetPage = "" + window.location.search;
- if (targetPage != "" && targetPage != "undefined")
- targetPage = targetPage.substring(1);
- if (targetPage.indexOf(":") != -1 || (targetPage != "" && !validURL(targetPage)))
- targetPage = "undefined";
- function validURL(url) {
- var pos = url.indexOf(".html");
- if (pos == -1 || pos != url.length - 5)
- return false;
- var allowNumber = false;
- var allowSep = false;
- var seenDot = false;
- for (var i = 0; i < url.length - 5; i++) {
- var ch = url.charAt(i);
- if ('a' <= ch && ch <= 'z' ||
- 'A' <= ch && ch <= 'Z' ||
- ch == '$' ||
- ch == '_') {
- allowNumber = true;
- allowSep = true;
- } else if ('0' <= ch && ch <= '9'
- || ch == '-') {
- if (!allowNumber)
- return false;
- } else if (ch == '/' || ch == '.') {
- if (!allowSep)
- return false;
- allowNumber = false;
- allowSep = false;
- if (ch == '.')
- seenDot = true;
- if (ch == '/' && seenDot)
- return false;
- } else {
- return false;
- }
- }
- return true;
- }
- function loadFrames() {
- if (targetPage != "" && targetPage != "undefined")
- top.classFrame.location = top.targetPage;
- }
-</script>
-</head>
-<frameset cols="20%,80%" title="Documentation frame" onload="top.loadFrames()">
-<frame src="allclasses-frame.html" name="packageFrame" title="All classes and interfaces (except non-static nested types)">
-<frame src="org/eclipse/linuxtools/tmf/core/timestamp/package-summary.html" name="classFrame" title="Package, class and interface descriptions" scrolling="yes">
-<noframes>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<h2>Frame Alert</h2>
-<p>This document is designed to be viewed using the frames feature. If you see this message, you are using a non-frame-capable web client. Link to <a href="org/eclipse/linuxtools/tmf/core/timestamp/package-summary.html">Non-frame version</a>.</p>
-</noframes>
-</frameset>
-</html>
diff --git a/lttng/org.eclipse.linuxtools.lttng.help/reference/api/org/eclipse/linuxtools/tmf/core/timestamp/TmfTimestampFormat.html b/lttng/org.eclipse.linuxtools.lttng.help/reference/api/org/eclipse/linuxtools/tmf/core/timestamp/TmfTimestampFormat.html
deleted file mode 100644
index ccd6875fdb..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng.help/reference/api/org/eclipse/linuxtools/tmf/core/timestamp/TmfTimestampFormat.html
+++ /dev/null
@@ -1,622 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (version 1.7.0_51) on Sat Feb 22 08:24:16 EST 2014 -->
-<title>TmfTimestampFormat</title>
-<meta name="date" content="2014-02-22">
-<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
-</head>
-<body>
-<script type="text/javascript"><!--
- if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="TmfTimestampFormat";
- }
-//-->
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ======== START OF CLASS DATA ======== -->
-<div class="header">
-<div class="subTitle">org.eclipse.linuxtools.tmf.core.timestamp</div>
-<h2 title="Class TmfTimestampFormat" class="title">Class TmfTimestampFormat</h2>
-</div>
-<div class="contentContainer">
-<ul class="inheritance">
-<li><a href="http://download.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
-<li>
-<ul class="inheritance">
-<li><a href="http://download.oracle.com/javase/7/docs/api/java/text/Format.html?is-external=true" title="class or interface in java.text">java.text.Format</a></li>
-<li>
-<ul class="inheritance">
-<li><a href="http://download.oracle.com/javase/7/docs/api/java/text/DateFormat.html?is-external=true" title="class or interface in java.text">java.text.DateFormat</a></li>
-<li>
-<ul class="inheritance">
-<li><a href="http://download.oracle.com/javase/7/docs/api/java/text/SimpleDateFormat.html?is-external=true" title="class or interface in java.text">java.text.SimpleDateFormat</a></li>
-<li>
-<ul class="inheritance">
-<li>org.eclipse.linuxtools.tmf.core.timestamp.TmfTimestampFormat</li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-<div class="description">
-<ul class="blockList">
-<li class="blockList">
-<dl>
-<dt>All Implemented Interfaces:</dt>
-<dd><a href="http://download.oracle.com/javase/7/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>, <a href="http://download.oracle.com/javase/7/docs/api/java/lang/Cloneable.html?is-external=true" title="class or interface in java.lang">Cloneable</a></dd>
-</dl>
-<hr>
-<br>
-<pre>public class <span class="strong">TmfTimestampFormat</span>
-extends <a href="http://download.oracle.com/javase/7/docs/api/java/text/SimpleDateFormat.html?is-external=true" title="class or interface in java.text">SimpleDateFormat</a></pre>
-<div class="block">A formatting and parsing facility that can handle timestamps that span the
- epoch with a precision down to the nanosecond. It can be understood as an
- extension of SimpleDateFormat that supports seconds since the epoch (Jan 1,
- 1970, 00:00:00 GMT), additional sub-second patterns and optional delimiters.
- <p>
- The timestamp representation is broken down into a number of optional
- components that can be assembled into a fairly simple way.
-
- <h4>Date and Time Patterns</h4>
- All date and time pattern letters defined in <a href="http://download.oracle.com/javase/7/docs/api/java/text/SimpleDateFormat.html?is-external=true" title="class or interface in java.text"><code>SimpleDateFormat</code></a> are
- supported with the following exceptions:
- <blockquote>
- <table border=0 cellspacing=3 cellpadding=0 >
- <tr bgcolor="#ccccff">
- <th align=left>Format
- <th align=left>Description
- <th align=left>Value Range
- <th align=left>Example
- <tr bgcolor="#eeeeff">
- <td><code>T</code>
- <td>The seconds since the epoch
- <td><code>0-9223372036</code>
- <td><code>1332170682</code>
- <tr>
- <td><code>S</code>
- <td>Millisecond
- <td><code>N/A</code>
- <td><code>Not supported</code>
- <tr bgcolor="#eeeeff">
- <td><code>W</code>
- <td>Week in month
- <td><code>N/A</code>
- <td><code>Not supported</code>
- </table>
- </blockquote>
- <p>
- <strong>Note:</strong> When parsing, if "T" is used, no other Date and Time
- pattern letter will be interpreted and the entire pre-delimiter input string
- will be parsed as a number. Also, "T" should be used for time intervals.
- <p>
- <strong>Note:</strong> The decimal separator between the Date and Time
- pattern and the Sub-Seconds pattern is mandatory (if there is a fractional
- part) and must be one of the sub-second delimiters. Date and Time pattern
- letters are not interpreted after the decimal separator.
- <p>
- <h4>Sub-Seconds Patterns</h4>
- <blockquote>
- <table border=0 cellspacing=3 cellpadding=0 >
- <tr bgcolor="#ccccff">
- <th align=left>Format
- <th align=left>Description
- <th align=left>Value Range
- <th align=left>Example
- <tr>
- <td><code>S</code>
- <td>Fraction of second
- <td><code>0-999999999</code>
- <td><code>123456789</code>
- <tr bgcolor="#eeeeff">
- <td><code>C</code>
- <td>Microseconds in ms
- <td><code>0-999</code>
- <td><code>456</code>
- <tr>
- <td><code>N</code>
- <td>Nanoseconds in &#181s
- <td><code>0-999</code>
- <td><code>789</code>
- </table>
- </blockquote>
- <strong>Note:</strong> The fraction of second pattern can be split, in which
- case parsing and formatting continues at the next digit. Digits beyond the
- total number of pattern letters are ignored when parsing and truncated when
- formatting.
- <p>
- <strong>Note:</strong> When parsing, "S", "C" and "N" are interchangeable
- and are all handled as fraction of second ("S"). The use of "C" and "N" is
- discouraged but is supported for backward compatibility.
- <p>
-
- The recognized sub-second delimiters are:
- <ul>
- <li>Space ("<code> </code>")
- <li>Period ("<code>.</code>")
- <li>Comma ("<code>,</code>")
- <li>Dash ("<code>-</code>")
- <li>Underline ("<code>_</code>")
- <li>Colon ("<code>:</code>")
- <li>Semicolon ("<code>;</code>")
- <li>Slash ("<code>/</code>")
- <li>Single-quote ("<code>''</code>")
- <li>Double-quote ("<code>"</code>")
- </ul>
- <p>
- <strong>Note:</strong> When parsing, sub-second delimiters are optional if
- unquoted. However, an extra delimiter or any other unexpected character in
- the input string ends the parsing of digits. All other quoted or unquoted
- characters in the sub-second pattern are matched against the input string.
-
- <h4>Examples</h4>
- The following examples show how timestamp patterns are interpreted in
- the U.S. locale. The given timestamp is 1332170682539677389L, the number
- of nanoseconds since 1970/01/01.
-
- <blockquote>
- <table border=0 cellspacing=3 cellpadding=0>
- <tr bgcolor="#ccccff">
- <th align=left>Date and Time Pattern
- <th align=left>Result
- <tr>
- <td><code>"yyyy-MM-dd HH:mm:ss.SSS.SSS.SSS"</code>
- <td><code>2012-03-19 11:24:42.539.677.389</code>
- <tr bgcolor="#eeeeff">
- <td><code>"yyyy-MM-dd HH:mm:ss.SSS.SSS"</code>
- <td><code>2012-03-19 11:24:42.539.677</code>
- <tr>
- <td><code>"yyyy-D HH:mm:ss.SSS.SSS"</code>
- <td><code>2012-79 11:24:42.539.677</code>
- <tr bgcolor="#eeeeff">
- <td><code>"ss,SSSS"</code>
- <td><code>42,5397</code>
- <tr>
- <td><code>"T.SSS SSS SSS"</code>
- <td><code>1332170682.539 677 389</code>
- <tr bgcolor="#eeeeff">
- <td><code>"T"</code>
- <td><code>1332170682</code>
- </table>
- </blockquote>
- <p></div>
-<dl><dt><span class="strong">Since:</span></dt>
- <dd>2.0</dd>
-<dt><span class="strong">Version:</span></dt>
- <dd>1.0</dd>
-<dt><span class="strong">Author:</span></dt>
- <dd>Francois Chouinard</dd>
-<dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../../serialized-form.html#org.eclipse.linuxtools.tmf.core.timestamp.TmfTimestampFormat">Serialized Form</a></dd></dl>
-</li>
-</ul>
-</div>
-<div class="summary">
-<ul class="blockList">
-<li class="blockList">
-<!-- ======== NESTED CLASS SUMMARY ======== -->
-<ul class="blockList">
-<li class="blockList"><a name="nested_class_summary">
-<!-- -->
-</a>
-<h3>Nested Class Summary</h3>
-<ul class="blockList">
-<li class="blockList"><a name="nested_classes_inherited_from_class_java.text.DateFormat">
-<!-- -->
-</a>
-<h3>Nested classes/interfaces inherited from class&nbsp;java.text.<a href="http://download.oracle.com/javase/7/docs/api/java/text/DateFormat.html?is-external=true" title="class or interface in java.text">DateFormat</a></h3>
-<code><a href="http://download.oracle.com/javase/7/docs/api/java/text/DateFormat.Field.html?is-external=true" title="class or interface in java.text">DateFormat.Field</a></code></li>
-</ul>
-</li>
-</ul>
-<!-- =========== FIELD SUMMARY =========== -->
-<ul class="blockList">
-<li class="blockList"><a name="field_summary">
-<!-- -->
-</a>
-<h3>Field Summary</h3>
-<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Field Summary table, listing fields, and an explanation">
-<caption><span>Fields</span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Field and Description</th>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><code>static <a href="http://download.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
-<td class="colLast"><code><strong><a href="../../../../../../org/eclipse/linuxtools/tmf/core/timestamp/TmfTimestampFormat.html#DEFAULT_INTERVAL_PATTERN">DEFAULT_INTERVAL_PATTERN</a></strong></code>
-<div class="block">The default interval pattern</div>
-</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code>static <a href="http://download.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
-<td class="colLast"><code><strong><a href="../../../../../../org/eclipse/linuxtools/tmf/core/timestamp/TmfTimestampFormat.html#DEFAULT_TIME_PATTERN">DEFAULT_TIME_PATTERN</a></strong></code>
-<div class="block">The default timestamp pattern</div>
-</td>
-</tr>
-</table>
-<ul class="blockList">
-<li class="blockList"><a name="fields_inherited_from_class_java.text.DateFormat">
-<!-- -->
-</a>
-<h3>Fields inherited from class&nbsp;java.text.<a href="http://download.oracle.com/javase/7/docs/api/java/text/DateFormat.html?is-external=true" title="class or interface in java.text">DateFormat</a></h3>
-<code><a href="http://download.oracle.com/javase/7/docs/api/java/text/DateFormat.html?is-external=true#AM_PM_FIELD" title="class or interface in java.text">AM_PM_FIELD</a>, <a href="http://download.oracle.com/javase/7/docs/api/java/text/DateFormat.html?is-external=true#DATE_FIELD" title="class or interface in java.text">DATE_FIELD</a>, <a href="http://download.oracle.com/javase/7/docs/api/java/text/DateFormat.html?is-external=true#DAY_OF_WEEK_FIELD" title="class or interface in java.text">DAY_OF_WEEK_FIELD</a>, <a href="http://download.oracle.com/javase/7/docs/api/java/text/DateFormat.html?is-external=true#DAY_OF_WEEK_IN_MONTH_FIELD" title="class or interface in java.text">DAY_OF_WEEK_IN_MONTH_FIELD</a>, <a href="http://download.oracle.com/javase/7/docs/api/java/text/DateFormat.html?is-external=true#DAY_OF_YEAR_FIELD" title="class or interface in java.text">DAY_OF_YEAR_FIELD</a>, <a href="http://download.oracle.com/javase/7/docs/api/java/text/DateFormat.html?is-external=true#DEFAULT" title="class or interface in java.text">DEFAULT</a>, <a href="http://download.oracle.com/javase/7/docs/api/java/text/DateFormat.html?is-external=true#ERA_FIELD" title="class or interface in java.text">ERA_FIELD</a>, <a href="http://download.oracle.com/javase/7/docs/api/java/text/DateFormat.html?is-external=true#FULL" title="class or interface in java.text">FULL</a>, <a href="http://download.oracle.com/javase/7/docs/api/java/text/DateFormat.html?is-external=true#HOUR_OF_DAY0_FIELD" title="class or interface in java.text">HOUR_OF_DAY0_FIELD</a>, <a href="http://download.oracle.com/javase/7/docs/api/java/text/DateFormat.html?is-external=true#HOUR_OF_DAY1_FIELD" title="class or interface in java.text">HOUR_OF_DAY1_FIELD</a>, <a href="http://download.oracle.com/javase/7/docs/api/java/text/DateFormat.html?is-external=true#HOUR0_FIELD" title="class or interface in java.text">HOUR0_FIELD</a>, <a href="http://download.oracle.com/javase/7/docs/api/java/text/DateFormat.html?is-external=true#HOUR1_FIELD" title="class or interface in java.text">HOUR1_FIELD</a>, <a href="http://download.oracle.com/javase/7/docs/api/java/text/DateFormat.html?is-external=true#LONG" title="class or interface in java.text">LONG</a>, <a href="http://download.oracle.com/javase/7/docs/api/java/text/DateFormat.html?is-external=true#MEDIUM" title="class or interface in java.text">MEDIUM</a>, <a href="http://download.oracle.com/javase/7/docs/api/java/text/DateFormat.html?is-external=true#MILLISECOND_FIELD" title="class or interface in java.text">MILLISECOND_FIELD</a>, <a href="http://download.oracle.com/javase/7/docs/api/java/text/DateFormat.html?is-external=true#MINUTE_FIELD" title="class or interface in java.text">MINUTE_FIELD</a>, <a href="http://download.oracle.com/javase/7/docs/api/java/text/DateFormat.html?is-external=true#MONTH_FIELD" title="class or interface in java.text">MONTH_FIELD</a>, <a href="http://download.oracle.com/javase/7/docs/api/java/text/DateFormat.html?is-external=true#SECOND_FIELD" title="class or interface in java.text">SECOND_FIELD</a>, <a href="http://download.oracle.com/javase/7/docs/api/java/text/DateFormat.html?is-external=true#SHORT" title="class or interface in java.text">SHORT</a>, <a href="http://download.oracle.com/javase/7/docs/api/java/text/DateFormat.html?is-external=true#TIMEZONE_FIELD" title="class or interface in java.text">TIMEZONE_FIELD</a>, <a href="http://download.oracle.com/javase/7/docs/api/java/text/DateFormat.html?is-external=true#WEEK_OF_MONTH_FIELD" title="class or interface in java.text">WEEK_OF_MONTH_FIELD</a>, <a href="http://download.oracle.com/javase/7/docs/api/java/text/DateFormat.html?is-external=true#WEEK_OF_YEAR_FIELD" title="class or interface in java.text">WEEK_OF_YEAR_FIELD</a>, <a href="http://download.oracle.com/javase/7/docs/api/java/text/DateFormat.html?is-external=true#YEAR_FIELD" title="class or interface in java.text">YEAR_FIELD</a></code></li>
-</ul>
-</li>
-</ul>
-<!-- ======== CONSTRUCTOR SUMMARY ======== -->
-<ul class="blockList">
-<li class="blockList"><a name="constructor_summary">
-<!-- -->
-</a>
-<h3>Constructor Summary</h3>
-<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
-<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colOne" scope="col">Constructor and Description</th>
-</tr>
-<tr class="altColor">
-<td class="colOne"><code><strong><a href="../../../../../../org/eclipse/linuxtools/tmf/core/timestamp/TmfTimestampFormat.html#TmfTimestampFormat()">TmfTimestampFormat</a></strong>()</code>
-<div class="block">The default constructor (uses the default pattern)</div>
-</td>
-</tr>
-<tr class="rowColor">
-<td class="colOne"><code><strong><a href="../../../../../../org/eclipse/linuxtools/tmf/core/timestamp/TmfTimestampFormat.html#TmfTimestampFormat(java.lang.String)">TmfTimestampFormat</a></strong>(<a href="http://download.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;pattern)</code>
-<div class="block">The normal constructor</div>
-</td>
-</tr>
-<tr class="altColor">
-<td class="colOne"><code><strong><a href="../../../../../../org/eclipse/linuxtools/tmf/core/timestamp/TmfTimestampFormat.html#TmfTimestampFormat(java.lang.String, java.util.TimeZone)">TmfTimestampFormat</a></strong>(<a href="http://download.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;pattern,
- <a href="http://download.oracle.com/javase/7/docs/api/java/util/TimeZone.html?is-external=true" title="class or interface in java.util">TimeZone</a>&nbsp;timeZone)</code>
-<div class="block">The full constructor</div>
-</td>
-</tr>
-<tr class="rowColor">
-<td class="colOne"><code><strong><a href="../../../../../../org/eclipse/linuxtools/tmf/core/timestamp/TmfTimestampFormat.html#TmfTimestampFormat(org.eclipse.linuxtools.tmf.core.timestamp.TmfTimestampFormat)">TmfTimestampFormat</a></strong>(<a href="../../../../../../org/eclipse/linuxtools/tmf/core/timestamp/TmfTimestampFormat.html" title="class in org.eclipse.linuxtools.tmf.core.timestamp">TmfTimestampFormat</a>&nbsp;other)</code>
-<div class="block">The copy constructor</div>
-</td>
-</tr>
-</table>
-</li>
-</ul>
-<!-- ========== METHOD SUMMARY =========== -->
-<ul class="blockList">
-<li class="blockList"><a name="method_summary">
-<!-- -->
-</a>
-<h3>Method Summary</h3>
-<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
-<caption><span>Methods</span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Method and Description</th>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><strong><a href="../../../../../../org/eclipse/linuxtools/tmf/core/timestamp/TmfTimestampFormat.html#applyPattern(java.lang.String)">applyPattern</a></strong>(<a href="http://download.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;pattern)</code>&nbsp;</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code><a href="http://download.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
-<td class="colLast"><code><strong><a href="../../../../../../org/eclipse/linuxtools/tmf/core/timestamp/TmfTimestampFormat.html#format(long)">format</a></strong>(long&nbsp;value)</code>
-<div class="block">Format the timestamp according to its pattern.</div>
-</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><code>static <a href="../../../../../../org/eclipse/linuxtools/tmf/core/timestamp/TmfTimestampFormat.html" title="class in org.eclipse.linuxtools.tmf.core.timestamp">TmfTimestampFormat</a></code></td>
-<td class="colLast"><code><strong><a href="../../../../../../org/eclipse/linuxtools/tmf/core/timestamp/TmfTimestampFormat.html#getDefaulIntervalFormat()">getDefaulIntervalFormat</a></strong>()</code>&nbsp;</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code>static <a href="../../../../../../org/eclipse/linuxtools/tmf/core/timestamp/TmfTimestampFormat.html" title="class in org.eclipse.linuxtools.tmf.core.timestamp">TmfTimestampFormat</a></code></td>
-<td class="colLast"><code><strong><a href="../../../../../../org/eclipse/linuxtools/tmf/core/timestamp/TmfTimestampFormat.html#getDefaulTimeFormat()">getDefaulTimeFormat</a></strong>()</code>&nbsp;</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><code>long</code></td>
-<td class="colLast"><code><strong><a href="../../../../../../org/eclipse/linuxtools/tmf/core/timestamp/TmfTimestampFormat.html#parseValue(java.lang.String)">parseValue</a></strong>(<a href="http://download.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;source)</code>
-<div class="block">Parse a string according to the format pattern</div>
-</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code>long</code></td>
-<td class="colLast"><code><strong><a href="../../../../../../org/eclipse/linuxtools/tmf/core/timestamp/TmfTimestampFormat.html#parseValue(java.lang.String, long)">parseValue</a></strong>(<a href="http://download.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;source,
- long&nbsp;ref)</code>
-<div class="block">Parse a string according to the format pattern</div>
-</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><code>static void</code></td>
-<td class="colLast"><code><strong><a href="../../../../../../org/eclipse/linuxtools/tmf/core/timestamp/TmfTimestampFormat.html#setDefaultIntervalFormat(java.lang.String)">setDefaultIntervalFormat</a></strong>(<a href="http://download.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;pattern)</code>
-<div class="block"><strong>Deprecated.</strong>&nbsp;
-<div class="block"><i>The default interval format pattern depends on the
- preferences, see <code>TmfTimePreferences</code>. To change the
- default time pattern, modify the preferences and call
- <a href="../../../../../../org/eclipse/linuxtools/tmf/core/timestamp/TmfTimestampFormat.html#updateDefaultFormats()"><code>updateDefaultFormats()</code></a></i></div>
-</div>
-</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code>static void</code></td>
-<td class="colLast"><code><strong><a href="../../../../../../org/eclipse/linuxtools/tmf/core/timestamp/TmfTimestampFormat.html#setDefaultTimeFormat(java.lang.String)">setDefaultTimeFormat</a></strong>(<a href="http://download.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;pattern)</code>
-<div class="block"><strong>Deprecated.</strong>&nbsp;
-<div class="block"><i>The default time pattern depends on the preferences, see
- <code>TmfTimePreferences</code>. To change the default time
- pattern, modify the preferences and call <a href="../../../../../../org/eclipse/linuxtools/tmf/core/timestamp/TmfTimestampFormat.html#updateDefaultFormats()"><code>updateDefaultFormats()</code></a></i></div>
-</div>
-</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><code><a href="http://download.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
-<td class="colLast"><code><strong><a href="../../../../../../org/eclipse/linuxtools/tmf/core/timestamp/TmfTimestampFormat.html#toPattern()">toPattern</a></strong>()</code>&nbsp;</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code>static void</code></td>
-<td class="colLast"><code><strong><a href="../../../../../../org/eclipse/linuxtools/tmf/core/timestamp/TmfTimestampFormat.html#updateDefaultFormats()">updateDefaultFormats</a></strong>()</code>&nbsp;</td>
-</tr>
-</table>
-<ul class="blockList">
-<li class="blockList"><a name="methods_inherited_from_class_java.text.SimpleDateFormat">
-<!-- -->
-</a>
-<h3>Methods inherited from class&nbsp;java.text.<a href="http://download.oracle.com/javase/7/docs/api/java/text/SimpleDateFormat.html?is-external=true" title="class or interface in java.text">SimpleDateFormat</a></h3>
-<code><a href="http://download.oracle.com/javase/7/docs/api/java/text/SimpleDateFormat.html?is-external=true#applyLocalizedPattern(java.lang.String)" title="class or interface in java.text">applyLocalizedPattern</a>, <a href="http://download.oracle.com/javase/7/docs/api/java/text/SimpleDateFormat.html?is-external=true#clone()" title="class or interface in java.text">clone</a>, <a href="http://download.oracle.com/javase/7/docs/api/java/text/SimpleDateFormat.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.text">equals</a>, <a href="http://download.oracle.com/javase/7/docs/api/java/text/SimpleDateFormat.html?is-external=true#format(java.util.Date, java.lang.StringBuffer, java.text.FieldPosition)" title="class or interface in java.text">format</a>, <a href="http://download.oracle.com/javase/7/docs/api/java/text/SimpleDateFormat.html?is-external=true#formatToCharacterIterator(java.lang.Object)" title="class or interface in java.text">formatToCharacterIterator</a>, <a href="http://download.oracle.com/javase/7/docs/api/java/text/SimpleDateFormat.html?is-external=true#get2DigitYearStart()" title="class or interface in java.text">get2DigitYearStart</a>, <a href="http://download.oracle.com/javase/7/docs/api/java/text/SimpleDateFormat.html?is-external=true#getDateFormatSymbols()" title="class or interface in java.text">getDateFormatSymbols</a>, <a href="http://download.oracle.com/javase/7/docs/api/java/text/SimpleDateFormat.html?is-external=true#hashCode()" title="class or interface in java.text">hashCode</a>, <a href="http://download.oracle.com/javase/7/docs/api/java/text/SimpleDateFormat.html?is-external=true#parse(java.lang.String, java.text.ParsePosition)" title="class or interface in java.text">parse</a>, <a href="http://download.oracle.com/javase/7/docs/api/java/text/SimpleDateFormat.html?is-external=true#set2DigitYearStart(java.util.Date)" title="class or interface in java.text">set2DigitYearStart</a>, <a href="http://download.oracle.com/javase/7/docs/api/java/text/SimpleDateFormat.html?is-external=true#setDateFormatSymbols(java.text.DateFormatSymbols)" title="class or interface in java.text">setDateFormatSymbols</a>, <a href="http://download.oracle.com/javase/7/docs/api/java/text/SimpleDateFormat.html?is-external=true#toLocalizedPattern()" title="class or interface in java.text">toLocalizedPattern</a></code></li>
-</ul>
-<ul class="blockList">
-<li class="blockList"><a name="methods_inherited_from_class_java.text.DateFormat">
-<!-- -->
-</a>
-<h3>Methods inherited from class&nbsp;java.text.<a href="http://download.oracle.com/javase/7/docs/api/java/text/DateFormat.html?is-external=true" title="class or interface in java.text">DateFormat</a></h3>
-<code><a href="http://download.oracle.com/javase/7/docs/api/java/text/DateFormat.html?is-external=true#format(java.util.Date)" title="class or interface in java.text">format</a>, <a href="http://download.oracle.com/javase/7/docs/api/java/text/DateFormat.html?is-external=true#format(java.lang.Object, java.lang.StringBuffer, java.text.FieldPosition)" title="class or interface in java.text">format</a>, <a href="http://download.oracle.com/javase/7/docs/api/java/text/DateFormat.html?is-external=true#getAvailableLocales()" title="class or interface in java.text">getAvailableLocales</a>, <a href="http://download.oracle.com/javase/7/docs/api/java/text/DateFormat.html?is-external=true#getCalendar()" title="class or interface in java.text">getCalendar</a>, <a href="http://download.oracle.com/javase/7/docs/api/java/text/DateFormat.html?is-external=true#getDateInstance()" title="class or interface in java.text">getDateInstance</a>, <a href="http://download.oracle.com/javase/7/docs/api/java/text/DateFormat.html?is-external=true#getDateInstance(int)" title="class or interface in java.text">getDateInstance</a>, <a href="http://download.oracle.com/javase/7/docs/api/java/text/DateFormat.html?is-external=true#getDateInstance(int, java.util.Locale)" title="class or interface in java.text">getDateInstance</a>, <a href="http://download.oracle.com/javase/7/docs/api/java/text/DateFormat.html?is-external=true#getDateTimeInstance()" title="class or interface in java.text">getDateTimeInstance</a>, <a href="http://download.oracle.com/javase/7/docs/api/java/text/DateFormat.html?is-external=true#getDateTimeInstance(int, int)" title="class or interface in java.text">getDateTimeInstance</a>, <a href="http://download.oracle.com/javase/7/docs/api/java/text/DateFormat.html?is-external=true#getDateTimeInstance(int, int, java.util.Locale)" title="class or interface in java.text">getDateTimeInstance</a>, <a href="http://download.oracle.com/javase/7/docs/api/java/text/DateFormat.html?is-external=true#getInstance()" title="class or interface in java.text">getInstance</a>, <a href="http://download.oracle.com/javase/7/docs/api/java/text/DateFormat.html?is-external=true#getNumberFormat()" title="class or interface in java.text">getNumberFormat</a>, <a href="http://download.oracle.com/javase/7/docs/api/java/text/DateFormat.html?is-external=true#getTimeInstance()" title="class or interface in java.text">getTimeInstance</a>, <a href="http://download.oracle.com/javase/7/docs/api/java/text/DateFormat.html?is-external=true#getTimeInstance(int)" title="class or interface in java.text">getTimeInstance</a>, <a href="http://download.oracle.com/javase/7/docs/api/java/text/DateFormat.html?is-external=true#getTimeInstance(int, java.util.Locale)" title="class or interface in java.text">getTimeInstance</a>, <a href="http://download.oracle.com/javase/7/docs/api/java/text/DateFormat.html?is-external=true#getTimeZone()" title="class or interface in java.text">getTimeZone</a>, <a href="http://download.oracle.com/javase/7/docs/api/java/text/DateFormat.html?is-external=true#isLenient()" title="class or interface in java.text">isLenient</a>, <a href="http://download.oracle.com/javase/7/docs/api/java/text/DateFormat.html?is-external=true#parse(java.lang.String)" title="class or interface in java.text">parse</a>, <a href="http://download.oracle.com/javase/7/docs/api/java/text/DateFormat.html?is-external=true#parseObject(java.lang.String, java.text.ParsePosition)" title="class or interface in java.text">parseObject</a>, <a href="http://download.oracle.com/javase/7/docs/api/java/text/DateFormat.html?is-external=true#setCalendar(java.util.Calendar)" title="class or interface in java.text">setCalendar</a>, <a href="http://download.oracle.com/javase/7/docs/api/java/text/DateFormat.html?is-external=true#setLenient(boolean)" title="class or interface in java.text">setLenient</a>, <a href="http://download.oracle.com/javase/7/docs/api/java/text/DateFormat.html?is-external=true#setNumberFormat(java.text.NumberFormat)" title="class or interface in java.text">setNumberFormat</a>, <a href="http://download.oracle.com/javase/7/docs/api/java/text/DateFormat.html?is-external=true#setTimeZone(java.util.TimeZone)" title="class or interface in java.text">setTimeZone</a></code></li>
-</ul>
-<ul class="blockList">
-<li class="blockList"><a name="methods_inherited_from_class_java.text.Format">
-<!-- -->
-</a>
-<h3>Methods inherited from class&nbsp;java.text.<a href="http://download.oracle.com/javase/7/docs/api/java/text/Format.html?is-external=true" title="class or interface in java.text">Format</a></h3>
-<code><a href="http://download.oracle.com/javase/7/docs/api/java/text/Format.html?is-external=true#format(java.lang.Object)" title="class or interface in java.text">format</a>, <a href="http://download.oracle.com/javase/7/docs/api/java/text/Format.html?is-external=true#parseObject(java.lang.String)" title="class or interface in java.text">parseObject</a></code></li>
-</ul>
-<ul class="blockList">
-<li class="blockList"><a name="methods_inherited_from_class_java.lang.Object">
-<!-- -->
-</a>
-<h3>Methods inherited from class&nbsp;java.lang.<a href="http://download.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
-<code><a href="http://download.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</a>, <a href="http://download.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</a>, <a href="http://download.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</a>, <a href="http://download.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</a>, <a href="http://download.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</a>, <a href="http://download.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</a>, <a href="http://download.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#wait(long, int)" title="class or interface in java.lang">wait</a></code></li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-<div class="details">
-<ul class="blockList">
-<li class="blockList">
-<!-- ============ FIELD DETAIL =========== -->
-<ul class="blockList">
-<li class="blockList"><a name="field_detail">
-<!-- -->
-</a>
-<h3>Field Detail</h3>
-<a name="DEFAULT_TIME_PATTERN">
-<!-- -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>DEFAULT_TIME_PATTERN</h4>
-<pre>public static final&nbsp;<a href="http://download.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> DEFAULT_TIME_PATTERN</pre>
-<div class="block">The default timestamp pattern</div>
-<dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../../constant-values.html#org.eclipse.linuxtools.tmf.core.timestamp.TmfTimestampFormat.DEFAULT_TIME_PATTERN">Constant Field Values</a></dd></dl>
-</li>
-</ul>
-<a name="DEFAULT_INTERVAL_PATTERN">
-<!-- -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>DEFAULT_INTERVAL_PATTERN</h4>
-<pre>public static final&nbsp;<a href="http://download.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> DEFAULT_INTERVAL_PATTERN</pre>
-<div class="block">The default interval pattern</div>
-<dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../../constant-values.html#org.eclipse.linuxtools.tmf.core.timestamp.TmfTimestampFormat.DEFAULT_INTERVAL_PATTERN">Constant Field Values</a></dd></dl>
-</li>
-</ul>
-</li>
-</ul>
-<!-- ========= CONSTRUCTOR DETAIL ======== -->
-<ul class="blockList">
-<li class="blockList"><a name="constructor_detail">
-<!-- -->
-</a>
-<h3>Constructor Detail</h3>
-<a name="TmfTimestampFormat()">
-<!-- -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>TmfTimestampFormat</h4>
-<pre>public&nbsp;TmfTimestampFormat()</pre>
-<div class="block">The default constructor (uses the default pattern)</div>
-</li>
-</ul>
-<a name="TmfTimestampFormat(java.lang.String)">
-<!-- -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>TmfTimestampFormat</h4>
-<pre>public&nbsp;TmfTimestampFormat(<a href="http://download.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;pattern)</pre>
-<div class="block">The normal constructor</div>
-<dl><dt><span class="strong">Parameters:</span></dt><dd><code>pattern</code> - the format pattern</dd></dl>
-</li>
-</ul>
-<a name="TmfTimestampFormat(java.lang.String, java.util.TimeZone)">
-<!-- -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>TmfTimestampFormat</h4>
-<pre>public&nbsp;TmfTimestampFormat(<a href="http://download.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;pattern,
- <a href="http://download.oracle.com/javase/7/docs/api/java/util/TimeZone.html?is-external=true" title="class or interface in java.util">TimeZone</a>&nbsp;timeZone)</pre>
-<div class="block">The full constructor</div>
-<dl><dt><span class="strong">Parameters:</span></dt><dd><code>pattern</code> - the format pattern</dd><dd><code>timeZone</code> - the time zone</dd><dt><span class="strong">Since:</span></dt>
- <dd>2.1</dd></dl>
-</li>
-</ul>
-<a name="TmfTimestampFormat(org.eclipse.linuxtools.tmf.core.timestamp.TmfTimestampFormat)">
-<!-- -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>TmfTimestampFormat</h4>
-<pre>public&nbsp;TmfTimestampFormat(<a href="../../../../../../org/eclipse/linuxtools/tmf/core/timestamp/TmfTimestampFormat.html" title="class in org.eclipse.linuxtools.tmf.core.timestamp">TmfTimestampFormat</a>&nbsp;other)</pre>
-<div class="block">The copy constructor</div>
-<dl><dt><span class="strong">Parameters:</span></dt><dd><code>other</code> - the other format pattern</dd></dl>
-</li>
-</ul>
-</li>
-</ul>
-<!-- ============ METHOD DETAIL ========== -->
-<ul class="blockList">
-<li class="blockList"><a name="method_detail">
-<!-- -->
-</a>
-<h3>Method Detail</h3>
-<a name="updateDefaultFormats()">
-<!-- -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>updateDefaultFormats</h4>
-<pre>public static&nbsp;void&nbsp;updateDefaultFormats()</pre>
-<dl><dt><span class="strong">Since:</span></dt>
- <dd>2.1</dd></dl>
-</li>
-</ul>
-<a name="setDefaultTimeFormat(java.lang.String)">
-<!-- -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>setDefaultTimeFormat</h4>
-<pre><a href="http://download.oracle.com/javase/7/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang">@Deprecated</a>
-public static&nbsp;void&nbsp;setDefaultTimeFormat(<a href="http://download.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;pattern)</pre>
-<div class="block"><span class="strong">Deprecated.</span>&nbsp;<i>The default time pattern depends on the preferences, see
- <code>TmfTimePreferences</code>. To change the default time
- pattern, modify the preferences and call <a href="../../../../../../org/eclipse/linuxtools/tmf/core/timestamp/TmfTimestampFormat.html#updateDefaultFormats()"><code>updateDefaultFormats()</code></a></i></div>
-<dl><dt><span class="strong">Parameters:</span></dt><dd><code>pattern</code> - the new default time pattern</dd></dl>
-</li>
-</ul>
-<a name="getDefaulTimeFormat()">
-<!-- -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>getDefaulTimeFormat</h4>
-<pre>public static&nbsp;<a href="../../../../../../org/eclipse/linuxtools/tmf/core/timestamp/TmfTimestampFormat.html" title="class in org.eclipse.linuxtools.tmf.core.timestamp">TmfTimestampFormat</a>&nbsp;getDefaulTimeFormat()</pre>
-<dl><dt><span class="strong">Returns:</span></dt><dd>the default time format pattern</dd></dl>
-</li>
-</ul>
-<a name="setDefaultIntervalFormat(java.lang.String)">
-<!-- -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>setDefaultIntervalFormat</h4>
-<pre><a href="http://download.oracle.com/javase/7/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang">@Deprecated</a>
-public static&nbsp;void&nbsp;setDefaultIntervalFormat(<a href="http://download.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;pattern)</pre>
-<div class="block"><span class="strong">Deprecated.</span>&nbsp;<i>The default interval format pattern depends on the
- preferences, see <code>TmfTimePreferences</code>. To change the
- default time pattern, modify the preferences and call
- <a href="../../../../../../org/eclipse/linuxtools/tmf/core/timestamp/TmfTimestampFormat.html#updateDefaultFormats()"><code>updateDefaultFormats()</code></a></i></div>
-<dl><dt><span class="strong">Parameters:</span></dt><dd><code>pattern</code> - the new default interval pattern</dd></dl>
-</li>
-</ul>
-<a name="getDefaulIntervalFormat()">
-<!-- -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>getDefaulIntervalFormat</h4>
-<pre>public static&nbsp;<a href="../../../../../../org/eclipse/linuxtools/tmf/core/timestamp/TmfTimestampFormat.html" title="class in org.eclipse.linuxtools.tmf.core.timestamp">TmfTimestampFormat</a>&nbsp;getDefaulIntervalFormat()</pre>
-<dl><dt><span class="strong">Returns:</span></dt><dd>the default interval format pattern</dd></dl>
-</li>
-</ul>
-<a name="applyPattern(java.lang.String)">
-<!-- -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>applyPattern</h4>
-<pre>public&nbsp;void&nbsp;applyPattern(<a href="http://download.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;pattern)</pre>
-<dl>
-<dt><strong>Overrides:</strong></dt>
-<dd><code><a href="http://download.oracle.com/javase/7/docs/api/java/text/SimpleDateFormat.html?is-external=true#applyPattern(java.lang.String)" title="class or interface in java.text">applyPattern</a></code>&nbsp;in class&nbsp;<code><a href="http://download.oracle.com/javase/7/docs/api/java/text/SimpleDateFormat.html?is-external=true" title="class or interface in java.text">SimpleDateFormat</a></code></dd>
-</dl>
-</li>
-</ul>
-<a name="toPattern()">
-<!-- -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>toPattern</h4>
-<pre>public&nbsp;<a href="http://download.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;toPattern()</pre>
-<dl>
-<dt><strong>Overrides:</strong></dt>
-<dd><code><a href="http://download.oracle.com/javase/7/docs/api/java/text/SimpleDateFormat.html?is-external=true#toPattern()" title="class or interface in java.text">toPattern</a></code>&nbsp;in class&nbsp;<code><a href="http://download.oracle.com/javase/7/docs/api/java/text/SimpleDateFormat.html?is-external=true" title="class or interface in java.text">SimpleDateFormat</a></code></dd>
-</dl>
-</li>
-</ul>
-<a name="format(long)">
-<!-- -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>format</h4>
-<pre>public&nbsp;<a href="http://download.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;format(long&nbsp;value)</pre>
-<div class="block">Format the timestamp according to its pattern.</div>
-<dl><dt><span class="strong">Parameters:</span></dt><dd><code>value</code> - the timestamp value to format (in ns)</dd>
-<dt><span class="strong">Returns:</span></dt><dd>the formatted timestamp</dd></dl>
-</li>
-</ul>
-<a name="parseValue(java.lang.String, long)">
-<!-- -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>parseValue</h4>
-<pre>public&nbsp;long&nbsp;parseValue(<a href="http://download.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;source,
- long&nbsp;ref)
- throws <a href="http://download.oracle.com/javase/7/docs/api/java/text/ParseException.html?is-external=true" title="class or interface in java.text">ParseException</a></pre>
-<div class="block">Parse a string according to the format pattern</div>
-<dl><dt><span class="strong">Parameters:</span></dt><dd><code>source</code> - the source string</dd><dd><code>ref</code> - the reference (base) time (in ns)</dd>
-<dt><span class="strong">Returns:</span></dt><dd>the parsed value (in ns)</dd>
-<dt><span class="strong">Throws:</span></dt>
-<dd><code><a href="http://download.oracle.com/javase/7/docs/api/java/text/ParseException.html?is-external=true" title="class or interface in java.text">ParseException</a></code> - if the string has an invalid format</dd></dl>
-</li>
-</ul>
-<a name="parseValue(java.lang.String)">
-<!-- -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>parseValue</h4>
-<pre>public&nbsp;long&nbsp;parseValue(<a href="http://download.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;source)
- throws <a href="http://download.oracle.com/javase/7/docs/api/java/text/ParseException.html?is-external=true" title="class or interface in java.text">ParseException</a></pre>
-<div class="block">Parse a string according to the format pattern</div>
-<dl><dt><span class="strong">Parameters:</span></dt><dd><code>source</code> - the source string</dd>
-<dt><span class="strong">Returns:</span></dt><dd>the parsed value (in ns)</dd>
-<dt><span class="strong">Throws:</span></dt>
-<dd><code><a href="http://download.oracle.com/javase/7/docs/api/java/text/ParseException.html?is-external=true" title="class or interface in java.text">ParseException</a></code> - if the string has an invalid format</dd></dl>
-</li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-</div>
-<!-- ========= END OF CLASS DATA ========= -->
-</body>
-</html>
diff --git a/lttng/org.eclipse.linuxtools.lttng.help/reference/api/org/eclipse/linuxtools/tmf/core/timestamp/package-frame.html b/lttng/org.eclipse.linuxtools.lttng.help/reference/api/org/eclipse/linuxtools/tmf/core/timestamp/package-frame.html
deleted file mode 100644
index c53324780f..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng.help/reference/api/org/eclipse/linuxtools/tmf/core/timestamp/package-frame.html
+++ /dev/null
@@ -1,19 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (version 1.7.0_51) on Sat Feb 22 08:24:16 EST 2014 -->
-<title>org.eclipse.linuxtools.tmf.core.timestamp</title>
-<meta name="date" content="2014-02-22">
-<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
-</head>
-<body>
-<h1 class="bar"><a href="../../../../../../org/eclipse/linuxtools/tmf/core/timestamp/package-summary.html" target="classFrame">org.eclipse.linuxtools.tmf.core.timestamp</a></h1>
-<div class="indexContainer">
-<h2 title="Classes">Classes</h2>
-<ul title="Classes">
-<li><a href="TmfTimestampFormat.html" title="class in org.eclipse.linuxtools.tmf.core.timestamp" target="classFrame">TmfTimestampFormat</a></li>
-</ul>
-</div>
-</body>
-</html>
diff --git a/lttng/org.eclipse.linuxtools.lttng.help/reference/api/org/eclipse/linuxtools/tmf/core/timestamp/package-summary.html b/lttng/org.eclipse.linuxtools.lttng.help/reference/api/org/eclipse/linuxtools/tmf/core/timestamp/package-summary.html
deleted file mode 100644
index 02ebc4cf5e..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng.help/reference/api/org/eclipse/linuxtools/tmf/core/timestamp/package-summary.html
+++ /dev/null
@@ -1,46 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (version 1.7.0_51) on Sat Feb 22 08:24:16 EST 2014 -->
-<title>org.eclipse.linuxtools.tmf.core.timestamp</title>
-<meta name="date" content="2014-02-22">
-<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
-</head>
-<body>
-<script type="text/javascript"><!--
- if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="org.eclipse.linuxtools.tmf.core.timestamp";
- }
-//-->
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<div class="header">
-<h1 title="Package" class="title">Package&nbsp;org.eclipse.linuxtools.tmf.core.timestamp</h1>
-</div>
-<div class="contentContainer">
-<ul class="blockList">
-<li class="blockList">
-<table class="packageSummary" border="0" cellpadding="3" cellspacing="0" summary="Class Summary table, listing classes, and an explanation">
-<caption><span>Class Summary</span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colFirst" scope="col">Class</th>
-<th class="colLast" scope="col">Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colFirst"><a href="../../../../../../org/eclipse/linuxtools/tmf/core/timestamp/TmfTimestampFormat.html" title="class in org.eclipse.linuxtools.tmf.core.timestamp">TmfTimestampFormat</a></td>
-<td class="colLast">
-<div class="block">A formatting and parsing facility that can handle timestamps that span the
- epoch with a precision down to the nanosecond.</div>
-</td>
-</tr>
-</tbody>
-</table>
-</li>
-</ul>
-</div>
-</body>
-</html>
diff --git a/lttng/org.eclipse.linuxtools.lttng.help/reference/api/package-list b/lttng/org.eclipse.linuxtools.lttng.help/reference/api/package-list
deleted file mode 100644
index 04fdd03f17..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng.help/reference/api/package-list
+++ /dev/null
@@ -1 +0,0 @@
-org.eclipse.linuxtools.tmf.core.timestamp
diff --git a/lttng/org.eclipse.linuxtools.lttng.help/reference/api/resources/background.gif b/lttng/org.eclipse.linuxtools.lttng.help/reference/api/resources/background.gif
deleted file mode 100644
index f471940fde..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng.help/reference/api/resources/background.gif
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.lttng.help/reference/api/resources/tab.gif b/lttng/org.eclipse.linuxtools.lttng.help/reference/api/resources/tab.gif
deleted file mode 100644
index 1a73a83be1..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng.help/reference/api/resources/tab.gif
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.lttng.help/reference/api/resources/titlebar.gif b/lttng/org.eclipse.linuxtools.lttng.help/reference/api/resources/titlebar.gif
deleted file mode 100644
index 17443b3e16..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng.help/reference/api/resources/titlebar.gif
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.lttng.help/reference/api/resources/titlebar_end.gif b/lttng/org.eclipse.linuxtools.lttng.help/reference/api/resources/titlebar_end.gif
deleted file mode 100644
index 3ad78d461b..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng.help/reference/api/resources/titlebar_end.gif
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.lttng.help/reference/api/serialized-form.html b/lttng/org.eclipse.linuxtools.lttng.help/reference/api/serialized-form.html
deleted file mode 100644
index 8857ffdd1a..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng.help/reference/api/serialized-form.html
+++ /dev/null
@@ -1,107 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (version 1.7.0_51) on Sat Feb 22 08:24:16 EST 2014 -->
-<title>Serialized Form</title>
-<meta name="date" content="2014-02-22">
-<link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
-</head>
-<body>
-<script type="text/javascript"><!--
- if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="Serialized Form";
- }
-//-->
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<div class="header">
-<h1 title="Serialized Form" class="title">Serialized Form</h1>
-</div>
-<div class="serializedFormContainer">
-<ul class="blockList">
-<li class="blockList">
-<h2 title="Package">Package&nbsp;org.eclipse.linuxtools.tmf.core.timestamp</h2>
-<ul class="blockList">
-<li class="blockList"><a name="org.eclipse.linuxtools.tmf.core.timestamp.TmfTimestampFormat">
-<!-- -->
-</a>
-<h3>Class <a href="org/eclipse/linuxtools/tmf/core/timestamp/TmfTimestampFormat.html" title="class in org.eclipse.linuxtools.tmf.core.timestamp">org.eclipse.linuxtools.tmf.core.timestamp.TmfTimestampFormat</a> extends <a href="http://download.oracle.com/javase/7/docs/api/java/text/SimpleDateFormat.html?is-external=true" title="class or interface in java.text">SimpleDateFormat</a> implements Serializable</h3>
-<dl class="nameValue">
-<dt>serialVersionUID:</dt>
-<dd>2835829763122454020L</dd>
-</dl>
-<ul class="blockList">
-<li class="blockList"><a name="serializedForm">
-<!-- -->
-</a>
-<h3>Serialized Fields</h3>
-<ul class="blockList">
-<li class="blockList">
-<h4>fPattern</h4>
-<pre><a href="http://download.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> fPattern</pre>
-</li>
-<li class="blockList">
-<h4>fPatternDecimalSeparatorIndex</h4>
-<pre>int fPatternDecimalSeparatorIndex</pre>
-</li>
-<li class="blockList">
-<h4>fDecimalSeparator</h4>
-<pre>char fDecimalSeparator</pre>
-</li>
-<li class="blockList">
-<h4>fDateTimePattern</h4>
-<pre><a href="http://download.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> fDateTimePattern</pre>
-</li>
-<li class="blockList">
-<h4>fSubSecPattern</h4>
-<pre><a href="http://download.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> fSubSecPattern</pre>
-</li>
-<li class="blockList">
-<h4>fSupplPatterns</h4>
-<pre><a href="http://download.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="http://download.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">E</a>&gt; fSupplPatterns</pre>
-</li>
-<li class="blockList">
-<h4>fSupplPatternLetters</h4>
-<pre><a href="http://download.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> fSupplPatternLetters</pre>
-<div class="block">The supplementary pattern letters. Can be redefined by sub-classes
- to either override existing letters or augment the letter set.
- If so, the format() method must provide the (re-)implementation of the
- pattern.</div>
-</li>
-<li class="blockList">
-<h4>fSubSecPatternChars</h4>
-<pre><a href="http://download.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> fSubSecPatternChars</pre>
-<div class="block">The sub-second pattern letters.</div>
-<dl><dt><span class="strong">Since:</span></dt>
- <dd>3.0</dd></dl>
-</li>
-<li class="blockList">
-<h4>fDelimiterChars</h4>
-<pre><a href="http://download.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> fDelimiterChars</pre>
-<div class="block">The optional sub-second delimiter characters.</div>
-<dl><dt><span class="strong">Since:</span></dt>
- <dd>3.0</dd></dl>
-</li>
-<li class="blockList">
-<h4>fOpenBracket</h4>
-<pre><a href="http://download.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> fOpenBracket</pre>
-<div class="block">The open bracket symbol</div>
-</li>
-<li class="blockListLast">
-<h4>fCloseBracket</h4>
-<pre><a href="http://download.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> fCloseBracket</pre>
-<div class="block">The closing bracket symbol</div>
-</li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-</body>
-</html>
diff --git a/lttng/org.eclipse.linuxtools.lttng.help/reference/api/stylesheet.css b/lttng/org.eclipse.linuxtools.lttng.help/reference/api/stylesheet.css
deleted file mode 100644
index 0e0d70c19d..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng.help/reference/api/stylesheet.css
+++ /dev/null
@@ -1,474 +0,0 @@
-/* Javadoc style sheet */
-/*
-Overall document style
-*/
-body {
- background-color:#ffffff;
- color:#353833;
- font-family:Arial, Helvetica, sans-serif;
- font-size:76%;
- margin:0;
-}
-a:link, a:visited {
- text-decoration:none;
- color:#4c6b87;
-}
-a:hover, a:focus {
- text-decoration:none;
- color:#bb7a2a;
-}
-a:active {
- text-decoration:none;
- color:#4c6b87;
-}
-a[name] {
- color:#353833;
-}
-a[name]:hover {
- text-decoration:none;
- color:#353833;
-}
-pre {
- font-size:1.3em;
-}
-h1 {
- font-size:1.8em;
-}
-h2 {
- font-size:1.5em;
-}
-h3 {
- font-size:1.4em;
-}
-h4 {
- font-size:1.3em;
-}
-h5 {
- font-size:1.2em;
-}
-h6 {
- font-size:1.1em;
-}
-ul {
- list-style-type:disc;
-}
-code, tt {
- font-size:1.2em;
-}
-dt code {
- font-size:1.2em;
-}
-table tr td dt code {
- font-size:1.2em;
- vertical-align:top;
-}
-sup {
- font-size:.6em;
-}
-/*
-Document title and Copyright styles
-*/
-.clear {
- clear:both;
- height:0px;
- overflow:hidden;
-}
-.aboutLanguage {
- float:right;
- padding:0px 21px;
- font-size:.8em;
- z-index:200;
- margin-top:-7px;
-}
-.legalCopy {
- margin-left:.5em;
-}
-.bar a, .bar a:link, .bar a:visited, .bar a:active {
- color:#FFFFFF;
- text-decoration:none;
-}
-.bar a:hover, .bar a:focus {
- color:#bb7a2a;
-}
-.tab {
- background-color:#0066FF;
- background-image:url(resources/titlebar.gif);
- background-position:left top;
- background-repeat:no-repeat;
- color:#ffffff;
- padding:8px;
- width:5em;
- font-weight:bold;
-}
-/*
-Navigation bar styles
-*/
-.bar {
- background-image:url(resources/background.gif);
- background-repeat:repeat-x;
- color:#FFFFFF;
- padding:.8em .5em .4em .8em;
- height:auto;/*height:1.8em;*/
- font-size:1em;
- margin:0;
-}
-.topNav {
- background-image:url(resources/background.gif);
- background-repeat:repeat-x;
- color:#FFFFFF;
- float:left;
- padding:0;
- width:100%;
- clear:right;
- height:2.8em;
- padding-top:10px;
- overflow:hidden;
-}
-.bottomNav {
- margin-top:10px;
- background-image:url(resources/background.gif);
- background-repeat:repeat-x;
- color:#FFFFFF;
- float:left;
- padding:0;
- width:100%;
- clear:right;
- height:2.8em;
- padding-top:10px;
- overflow:hidden;
-}
-.subNav {
- background-color:#dee3e9;
- border-bottom:1px solid #9eadc0;
- float:left;
- width:100%;
- overflow:hidden;
-}
-.subNav div {
- clear:left;
- float:left;
- padding:0 0 5px 6px;
-}
-ul.navList, ul.subNavList {
- float:left;
- margin:0 25px 0 0;
- padding:0;
-}
-ul.navList li{
- list-style:none;
- float:left;
- padding:3px 6px;
-}
-ul.subNavList li{
- list-style:none;
- float:left;
- font-size:90%;
-}
-.topNav a:link, .topNav a:active, .topNav a:visited, .bottomNav a:link, .bottomNav a:active, .bottomNav a:visited {
- color:#FFFFFF;
- text-decoration:none;
-}
-.topNav a:hover, .bottomNav a:hover {
- text-decoration:none;
- color:#bb7a2a;
-}
-.navBarCell1Rev {
- background-image:url(resources/tab.gif);
- background-color:#a88834;
- color:#FFFFFF;
- margin: auto 5px;
- border:1px solid #c9aa44;
-}
-/*
-Page header and footer styles
-*/
-.header, .footer {
- clear:both;
- margin:0 20px;
- padding:5px 0 0 0;
-}
-.indexHeader {
- margin:10px;
- position:relative;
-}
-.indexHeader h1 {
- font-size:1.3em;
-}
-.title {
- color:#2c4557;
- margin:10px 0;
-}
-.subTitle {
- margin:5px 0 0 0;
-}
-.header ul {
- margin:0 0 25px 0;
- padding:0;
-}
-.footer ul {
- margin:20px 0 5px 0;
-}
-.header ul li, .footer ul li {
- list-style:none;
- font-size:1.2em;
-}
-/*
-Heading styles
-*/
-div.details ul.blockList ul.blockList ul.blockList li.blockList h4, div.details ul.blockList ul.blockList ul.blockListLast li.blockList h4 {
- background-color:#dee3e9;
- border-top:1px solid #9eadc0;
- border-bottom:1px solid #9eadc0;
- margin:0 0 6px -8px;
- padding:2px 5px;
-}
-ul.blockList ul.blockList ul.blockList li.blockList h3 {
- background-color:#dee3e9;
- border-top:1px solid #9eadc0;
- border-bottom:1px solid #9eadc0;
- margin:0 0 6px -8px;
- padding:2px 5px;
-}
-ul.blockList ul.blockList li.blockList h3 {
- padding:0;
- margin:15px 0;
-}
-ul.blockList li.blockList h2 {
- padding:0px 0 20px 0;
-}
-/*
-Page layout container styles
-*/
-.contentContainer, .sourceContainer, .classUseContainer, .serializedFormContainer, .constantValuesContainer {
- clear:both;
- padding:10px 20px;
- position:relative;
-}
-.indexContainer {
- margin:10px;
- position:relative;
- font-size:1.0em;
-}
-.indexContainer h2 {
- font-size:1.1em;
- padding:0 0 3px 0;
-}
-.indexContainer ul {
- margin:0;
- padding:0;
-}
-.indexContainer ul li {
- list-style:none;
-}
-.contentContainer .description dl dt, .contentContainer .details dl dt, .serializedFormContainer dl dt {
- font-size:1.1em;
- font-weight:bold;
- margin:10px 0 0 0;
- color:#4E4E4E;
-}
-.contentContainer .description dl dd, .contentContainer .details dl dd, .serializedFormContainer dl dd {
- margin:10px 0 10px 20px;
-}
-.serializedFormContainer dl.nameValue dt {
- margin-left:1px;
- font-size:1.1em;
- display:inline;
- font-weight:bold;
-}
-.serializedFormContainer dl.nameValue dd {
- margin:0 0 0 1px;
- font-size:1.1em;
- display:inline;
-}
-/*
-List styles
-*/
-ul.horizontal li {
- display:inline;
- font-size:0.9em;
-}
-ul.inheritance {
- margin:0;
- padding:0;
-}
-ul.inheritance li {
- display:inline;
- list-style:none;
-}
-ul.inheritance li ul.inheritance {
- margin-left:15px;
- padding-left:15px;
- padding-top:1px;
-}
-ul.blockList, ul.blockListLast {
- margin:10px 0 10px 0;
- padding:0;
-}
-ul.blockList li.blockList, ul.blockListLast li.blockList {
- list-style:none;
- margin-bottom:25px;
-}
-ul.blockList ul.blockList li.blockList, ul.blockList ul.blockListLast li.blockList {
- padding:0px 20px 5px 10px;
- border:1px solid #9eadc0;
- background-color:#f9f9f9;
-}
-ul.blockList ul.blockList ul.blockList li.blockList, ul.blockList ul.blockList ul.blockListLast li.blockList {
- padding:0 0 5px 8px;
- background-color:#ffffff;
- border:1px solid #9eadc0;
- border-top:none;
-}
-ul.blockList ul.blockList ul.blockList ul.blockList li.blockList {
- margin-left:0;
- padding-left:0;
- padding-bottom:15px;
- border:none;
- border-bottom:1px solid #9eadc0;
-}
-ul.blockList ul.blockList ul.blockList ul.blockList li.blockListLast {
- list-style:none;
- border-bottom:none;
- padding-bottom:0;
-}
-table tr td dl, table tr td dl dt, table tr td dl dd {
- margin-top:0;
- margin-bottom:1px;
-}
-/*
-Table styles
-*/
-.contentContainer table, .classUseContainer table, .constantValuesContainer table {
- border-bottom:1px solid #9eadc0;
- width:100%;
-}
-.contentContainer ul li table, .classUseContainer ul li table, .constantValuesContainer ul li table {
- width:100%;
-}
-.contentContainer .description table, .contentContainer .details table {
- border-bottom:none;
-}
-.contentContainer ul li table th.colOne, .contentContainer ul li table th.colFirst, .contentContainer ul li table th.colLast, .classUseContainer ul li table th, .constantValuesContainer ul li table th, .contentContainer ul li table td.colOne, .contentContainer ul li table td.colFirst, .contentContainer ul li table td.colLast, .classUseContainer ul li table td, .constantValuesContainer ul li table td{
- vertical-align:top;
- padding-right:20px;
-}
-.contentContainer ul li table th.colLast, .classUseContainer ul li table th.colLast,.constantValuesContainer ul li table th.colLast,
-.contentContainer ul li table td.colLast, .classUseContainer ul li table td.colLast,.constantValuesContainer ul li table td.colLast,
-.contentContainer ul li table th.colOne, .classUseContainer ul li table th.colOne,
-.contentContainer ul li table td.colOne, .classUseContainer ul li table td.colOne {
- padding-right:3px;
-}
-.overviewSummary caption, .packageSummary caption, .contentContainer ul.blockList li.blockList caption, .summary caption, .classUseContainer caption, .constantValuesContainer caption {
- position:relative;
- text-align:left;
- background-repeat:no-repeat;
- color:#FFFFFF;
- font-weight:bold;
- clear:none;
- overflow:hidden;
- padding:0px;
- margin:0px;
-}
-caption a:link, caption a:hover, caption a:active, caption a:visited {
- color:#FFFFFF;
-}
-.overviewSummary caption span, .packageSummary caption span, .contentContainer ul.blockList li.blockList caption span, .summary caption span, .classUseContainer caption span, .constantValuesContainer caption span {
- white-space:nowrap;
- padding-top:8px;
- padding-left:8px;
- display:block;
- float:left;
- background-image:url(resources/titlebar.gif);
- height:18px;
-}
-.overviewSummary .tabEnd, .packageSummary .tabEnd, .contentContainer ul.blockList li.blockList .tabEnd, .summary .tabEnd, .classUseContainer .tabEnd, .constantValuesContainer .tabEnd {
- width:10px;
- background-image:url(resources/titlebar_end.gif);
- background-repeat:no-repeat;
- background-position:top right;
- position:relative;
- float:left;
-}
-ul.blockList ul.blockList li.blockList table {
- margin:0 0 12px 0px;
- width:100%;
-}
-.tableSubHeadingColor {
- background-color: #EEEEFF;
-}
-.altColor {
- background-color:#eeeeef;
-}
-.rowColor {
- background-color:#ffffff;
-}
-.overviewSummary td, .packageSummary td, .contentContainer ul.blockList li.blockList td, .summary td, .classUseContainer td, .constantValuesContainer td {
- text-align:left;
- padding:3px 3px 3px 7px;
-}
-th.colFirst, th.colLast, th.colOne, .constantValuesContainer th {
- background:#dee3e9;
- border-top:1px solid #9eadc0;
- border-bottom:1px solid #9eadc0;
- text-align:left;
- padding:3px 3px 3px 7px;
-}
-td.colOne a:link, td.colOne a:active, td.colOne a:visited, td.colOne a:hover, td.colFirst a:link, td.colFirst a:active, td.colFirst a:visited, td.colFirst a:hover, td.colLast a:link, td.colLast a:active, td.colLast a:visited, td.colLast a:hover, .constantValuesContainer td a:link, .constantValuesContainer td a:active, .constantValuesContainer td a:visited, .constantValuesContainer td a:hover {
- font-weight:bold;
-}
-td.colFirst, th.colFirst {
- border-left:1px solid #9eadc0;
- white-space:nowrap;
-}
-td.colLast, th.colLast {
- border-right:1px solid #9eadc0;
-}
-td.colOne, th.colOne {
- border-right:1px solid #9eadc0;
- border-left:1px solid #9eadc0;
-}
-table.overviewSummary {
- padding:0px;
- margin-left:0px;
-}
-table.overviewSummary td.colFirst, table.overviewSummary th.colFirst,
-table.overviewSummary td.colOne, table.overviewSummary th.colOne {
- width:25%;
- vertical-align:middle;
-}
-table.packageSummary td.colFirst, table.overviewSummary th.colFirst {
- width:25%;
- vertical-align:middle;
-}
-/*
-Content styles
-*/
-.description pre {
- margin-top:0;
-}
-.deprecatedContent {
- margin:0;
- padding:10px 0;
-}
-.docSummary {
- padding:0;
-}
-/*
-Formatting effect styles
-*/
-.sourceLineNo {
- color:green;
- padding:0 30px 0 0;
-}
-h1.hidden {
- visibility:hidden;
- overflow:hidden;
- font-size:.9em;
-}
-.block {
- display:block;
- margin:3px 0 0 0;
-}
-.strong {
- font-weight:bold;
-}
diff --git a/lttng/org.eclipse.linuxtools.lttng.releng-site/.project b/lttng/org.eclipse.linuxtools.lttng.releng-site/.project
deleted file mode 100644
index 5796a1d714..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng.releng-site/.project
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>org.eclipse.linuxtools.lttng.releng-site</name>
- <comment></comment>
- <projects>
- </projects>
- <buildSpec>
- <buildCommand>
- <name>org.eclipse.pde.UpdateSiteBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>org.eclipse.pde.UpdateSiteNature</nature>
- </natures>
-</projectDescription>
diff --git a/lttng/org.eclipse.linuxtools.lttng.releng-site/category.xml b/lttng/org.eclipse.linuxtools.lttng.releng-site/category.xml
deleted file mode 100644
index dfb67d6a88..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng.releng-site/category.xml
+++ /dev/null
@@ -1,30 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<site>
- <description>
- Nightly builds of LTTng project.
- </description>
- <feature url="features/org.eclipse.linuxtools.lttng2.kernel_0.0.0.qualifier.jar" id="org.eclipse.linuxtools.lttng2.kernel" version="0.0.0">
- <category name="LTTng"/>
- </feature>
- <feature url="features/org.eclipse.linuxtools.lttng2.ust_0.0.0.qualifier.jar" id="org.eclipse.linuxtools.lttng2.ust" version="0.0.0">
- <category name="LTTng"/>
- </feature>
- <feature url="features/org.eclipse.linuxtools.gdbtrace_0.0.0.qualifier.jar" id="org.eclipse.linuxtools.gdbtrace" version="0.0.0">
- <category name="LTTng"/>
- </feature>
- <feature url="features/org.eclipse.linuxtools.tmf.pcap_0.0.0.qualifier.jar" id="org.eclipse.linuxtools.tmf.pcap" version="0.0.0">
- <category name="LTTng"/>
- </feature>
- <feature url="features/org.eclipse.linuxtools.tracing.rcp_0.0.0.qualifier.jar" id="org.eclipse.linuxtools.tracing.rcp" version="0.0.0">
- <category name="LTTng RCP"/>
- </feature>
- <feature url="features/org.eclipse.linuxtools.tracing.rcp.branding.feature_0.0.0.qualifier.jar" id="org.eclipse.linuxtools.tracing.rcp.branding.feature" version="0.0.0">
- <category name="LTTng RCP"/>
- </feature>
- <feature url="features/org.eclipse.linuxtools.lttng.testing_1.0.0.qualifier.jar" id="org.eclipse.linuxtools.lttng.testing" version="1.0.0.qualifier">
- <category name="LTTng Extras"/>
- </feature>
- <category-def name="LTTng" label="Linux Tracing Toolkit"/>
- <category-def name="LTTng RCP" label="Linux Tracing Toolkit RCP Dependencies"/>
- <category-def name="LTTng Extras" label="Linux Tracing Toolkit Extras"/>
-</site>
diff --git a/lttng/org.eclipse.linuxtools.lttng.releng-site/pom.xml b/lttng/org.eclipse.linuxtools.lttng.releng-site/pom.xml
deleted file mode 100644
index 8d0fa30b45..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng.releng-site/pom.xml
+++ /dev/null
@@ -1,63 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Copyright (C) 2011 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:
- Ericsson - initial implementation
--->
-
-<project xmlns="http://maven.apache.org/POM/4.0.0"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
- <modelVersion>4.0.0</modelVersion>
-
- <parent>
- <artifactId>linuxtools-lttng-parent</artifactId>
- <groupId>org.eclipse.linuxtools.lttng</groupId>
- <version>3.2.0-SNAPSHOT</version>
- </parent>
-
- <artifactId>org.eclipse.linuxtools.lttng.releng-site</artifactId>
- <version>3.2.0-SNAPSHOT</version>
- <name>Linux Tools LTTng Repository</name>
- <packaging>eclipse-repository</packaging>
-
- <build>
- <plugins>
- <plugin>
- <artifactId>maven-antrun-plugin</artifactId>
- <executions>
- <execution>
- <id>deploy</id>
- <phase>install</phase>
- <goals>
- <goal>run</goal>
- </goals>
- <configuration>
- <target>
- <delete includeemptydirs="false">
- <fileset
- dir="${lttngPackageDestination}">
- <include name="**" />
- </fileset>
- </delete>
- <copy includeemptydirs="false"
- todir="${lttngPackageDestination}">
- <fileset dir="target/repository">
- <include name="**" />
- </fileset>
- </copy>
- </target>
- </configuration>
- </execution>
- </executions>
- </plugin>
- </plugins>
- </build>
-
-</project>
diff --git a/lttng/org.eclipse.linuxtools.lttng.target/.project b/lttng/org.eclipse.linuxtools.lttng.target/.project
deleted file mode 100644
index 969615ea3b..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng.target/.project
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>org.eclipse.linuxtools.lttng.target</name>
- <comment></comment>
- <projects>
- </projects>
- <buildSpec>
- </buildSpec>
- <natures>
- </natures>
-</projectDescription>
diff --git a/lttng/org.eclipse.linuxtools.lttng.target/lttng-e3.8.target b/lttng/org.eclipse.linuxtools.lttng.target/lttng-e3.8.target
deleted file mode 100644
index 593f4c00b0..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng.target/lttng-e3.8.target
+++ /dev/null
@@ -1,57 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<?pde version="3.8"?><target name="lttng-e3.8" sequenceNumber="29">
-<locations>
-<location includeAllPlatforms="false" includeConfigurePhase="false" includeMode="planner" includeSource="true" type="InstallableUnit">
-<unit id="org.antlr.runtime" version="3.2.0.v201101311130"/>
-<unit id="org.junit" version="0.0.0"/>
-<unit id="org.junit.source" version="0.0.0"/>
-<unit id="org.swtchart" version="0.0.0"/>
-<unit id="com.google.guava" version="15.0.0.v201403281430"/>
-<unit id="org.apache.derby" version="0.0.0"/>
-<unit id="org.json" version="0.0.0"/>
-<repository location="http://download.eclipse.org/tools/orbit/downloads/drops/R20140525021250/repository/"/>
-</location>
-<location includeAllPlatforms="false" includeConfigurePhase="false" includeMode="planner" includeSource="true" type="InstallableUnit">
-<unit id="org.eclipse.emf.sdk.feature.group" version="0.0.0"/>
-<repository location="http://download.eclipse.org/modeling/emf/updates/releases"/>
-</location>
-<location includeAllPlatforms="false" includeConfigurePhase="false" includeMode="planner" includeSource="true" type="InstallableUnit">
-<unit id="org.eclipse.cdt.gnu.dsf.feature.group" version="0.0.0"/>
-<repository location="http://download.eclipse.org/tools/cdt/releases/juno"/>
-</location>
-<location includeAllPlatforms="false" includeConfigurePhase="false" includeMode="planner" includeSource="true" type="InstallableUnit">
-<unit id="org.eclipse.rse.sdk.feature.group" version="0.0.0"/>
-<repository location="http://download.eclipse.org/tm/updates/3.4"/>
-</location>
-<location includeAllPlatforms="false" includeConfigurePhase="false" includeMode="planner" includeSource="true" type="InstallableUnit">
-<unit id="org.eclipse.platform.ide" version="0.0.0"/>
-<unit id="org.eclipse.test.feature.group" version="0.0.0"/>
-<unit id="org.eclipse.pde.runtime" version="0.0.0"/>
-<repository location="http://download.eclipse.org/eclipse/updates/3.8/"/>
-</location>
-<location includeAllPlatforms="false" includeConfigurePhase="false" includeMode="planner" includeSource="true" type="InstallableUnit">
-<unit id="org.eclipse.jdt.annotation" version="0.0.0"/>
-<repository location="http://download.eclipse.org/eclipse/updates/4.3/"/>
-</location>
-<location includeAllPlatforms="false" includeConfigurePhase="false" includeMode="planner" includeSource="true" type="InstallableUnit">
-<unit id="org.eclipse.swtbot.eclipse.feature.group" version="0.0.0"/>
-<unit id="org.eclipse.swtbot.feature.group" version="0.0.0"/>
-<repository location="http://download.eclipse.org/technology/swtbot/releases/latest"/>
-</location>
-<location includeAllPlatforms="false" includeConfigurePhase="false" includeMode="planner" includeSource="true" type="InstallableUnit">
-<unit id="org.eclipse.license.feature.group" version="0.0.0"/>
-<repository location="http://download.eclipse.org/cbi/updates/license"/>
-</location>
-<location includeAllPlatforms="false" includeConfigurePhase="false" includeMode="planner" includeSource="true" type="InstallableUnit">
-<unit id="org.eclipse.remote.feature.group" version="0.0.0"/>
-<repository location="http://download.eclipse.org/tools/ptp/updates/luna"/>
-</location>
-</locations>
-<targetJRE path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.7"/>
-<launcherArgs>
-<vmArgs>-Xms40m
--Xmx512M
--XX:MaxPermSize=256m</vmArgs>
-<programArgs>-consolelog</programArgs>
-</launcherArgs>
-</target>
diff --git a/lttng/org.eclipse.linuxtools.lttng.target/lttng-e4.2.target b/lttng/org.eclipse.linuxtools.lttng.target/lttng-e4.2.target
deleted file mode 100644
index b30fcb4031..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng.target/lttng-e4.2.target
+++ /dev/null
@@ -1,53 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<?pde version="3.8"?><target name="lttng-e4.2" sequenceNumber="29">
-<locations>
-<location includeAllPlatforms="false" includeConfigurePhase="false" includeMode="planner" includeSource="true" type="InstallableUnit">
-<unit id="org.antlr.runtime" version="3.2.0.v201101311130"/>
-<unit id="org.junit" version="0.0.0"/>
-<unit id="org.junit.source" version="0.0.0"/>
-<unit id="org.swtchart" version="0.0.0"/>
-<unit id="com.google.guava" version="15.0.0.v201403281430"/>
-<unit id="org.apache.derby" version="0.0.0"/>
-<unit id="org.json" version="0.0.0"/>
-<repository location="http://download.eclipse.org/tools/orbit/downloads/drops/R20140525021250/repository/"/>
-</location>
-<location includeAllPlatforms="false" includeConfigurePhase="false" includeMode="planner" includeSource="true" type="InstallableUnit">
-<unit id="org.eclipse.cdt.gnu.dsf.feature.group" version="0.0.0"/>
-<repository location="http://download.eclipse.org/tools/cdt/releases/juno"/>
-</location>
-<location includeAllPlatforms="false" includeConfigurePhase="false" includeMode="planner" includeSource="true" type="InstallableUnit">
-<unit id="org.eclipse.rse.sdk.feature.group" version="0.0.0"/>
-<repository location="http://download.eclipse.org/tm/updates/3.4"/>
-</location>
-<location includeAllPlatforms="false" includeConfigurePhase="false" includeMode="planner" includeSource="true" type="InstallableUnit">
-<unit id="org.eclipse.platform.ide" version="0.0.0"/>
-<unit id="org.eclipse.pde.runtime" version="0.0.0"/>
-<unit id="org.eclipse.test.feature.group" version="0.0.0"/>
-<repository location="http://download.eclipse.org/eclipse/updates/4.2/"/>
-</location>
-<location includeAllPlatforms="false" includeConfigurePhase="false" includeMode="planner" includeSource="true" type="InstallableUnit">
-<unit id="org.eclipse.jdt.annotation" version="0.0.0"/>
-<repository location="http://download.eclipse.org/eclipse/updates/4.3/"/>
-</location>
-<location includeAllPlatforms="false" includeConfigurePhase="false" includeMode="planner" includeSource="true" type="InstallableUnit">
-<unit id="org.eclipse.swtbot.eclipse.feature.group" version="0.0.0"/>
-<unit id="org.eclipse.swtbot.feature.group" version="0.0.0"/>
-<repository location="http://download.eclipse.org/technology/swtbot/releases/latest"/>
-</location>
-<location includeAllPlatforms="false" includeConfigurePhase="false" includeMode="planner" includeSource="true" type="InstallableUnit">
-<unit id="org.eclipse.license.feature.group" version="0.0.0"/>
-<repository location="http://download.eclipse.org/cbi/updates/license"/>
-</location>
-<location includeAllPlatforms="false" includeConfigurePhase="false" includeMode="planner" includeSource="true" type="InstallableUnit">
-<unit id="org.eclipse.remote.feature.group" version="0.0.0"/>
-<repository location="http://download.eclipse.org/tools/ptp/updates/luna"/>
-</location>
-</locations>
-<targetJRE path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.7"/>
-<launcherArgs>
-<vmArgs>-Xms40m
--Xmx512M
--XX:MaxPermSize=256m</vmArgs>
-<programArgs>-consolelog</programArgs>
-</launcherArgs>
-</target>
diff --git a/lttng/org.eclipse.linuxtools.lttng.target/lttng-e4.3.target b/lttng/org.eclipse.linuxtools.lttng.target/lttng-e4.3.target
deleted file mode 100644
index 3d7b32a328..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng.target/lttng-e4.3.target
+++ /dev/null
@@ -1,48 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<?pde version="3.8"?><target name="lttng-e4.3" sequenceNumber="29">
-<locations>
-<location includeAllPlatforms="false" includeConfigurePhase="false" includeMode="planner" includeSource="true" type="InstallableUnit">
-<unit id="org.antlr.runtime" version="3.2.0.v201101311130"/>
-<unit id="org.swtchart" version="0.0.0"/>
-<unit id="com.google.guava" version="15.0.0.v201403281430"/>
-<unit id="org.apache.derby" version="0.0.0"/>
-<unit id="org.json" version="0.0.0"/>
-<repository location="http://download.eclipse.org/tools/orbit/downloads/drops/R20140525021250/repository/"/>
-</location>
-<location includeAllPlatforms="false" includeConfigurePhase="false" includeMode="planner" includeSource="true" type="InstallableUnit">
-<unit id="org.eclipse.cdt.gnu.dsf.feature.group" version="0.0.0"/>
-<repository location="http://download.eclipse.org/tools/cdt/releases/kepler"/>
-</location>
-<location includeAllPlatforms="false" includeConfigurePhase="false" includeMode="planner" includeSource="true" type="InstallableUnit">
-<unit id="org.eclipse.rse.sdk.feature.group" version="0.0.0"/>
-<repository location="http://download.eclipse.org/tm/updates/3.5"/>
-</location>
-<location includeAllPlatforms="false" includeConfigurePhase="false" includeMode="planner" includeSource="true" type="InstallableUnit">
-<unit id="org.eclipse.platform.ide" version="0.0.0"/>
-<unit id="org.eclipse.jdt.annotation" version="0.0.0"/>
-<unit id="org.eclipse.pde.runtime" version="0.0.0"/>
-<unit id="org.eclipse.test.feature.group" version="0.0.0"/>
-<repository location="http://download.eclipse.org/eclipse/updates/4.3/"/>
-</location>
-<location includeAllPlatforms="false" includeConfigurePhase="false" includeMode="planner" includeSource="true" type="InstallableUnit">
-<unit id="org.eclipse.swtbot.eclipse.feature.group" version="0.0.0"/>
-<unit id="org.eclipse.swtbot.feature.group" version="0.0.0"/>
-<repository location="http://download.eclipse.org/technology/swtbot/releases/latest"/>
-</location>
-<location includeAllPlatforms="false" includeConfigurePhase="false" includeMode="planner" includeSource="true" type="InstallableUnit">
-<unit id="org.eclipse.license.feature.group" version="0.0.0"/>
-<repository location="http://download.eclipse.org/cbi/updates/license"/>
-</location>
-<location includeAllPlatforms="false" includeConfigurePhase="false" includeMode="planner" includeSource="true" type="InstallableUnit">
-<unit id="org.eclipse.remote.feature.group" version="0.0.0"/>
-<repository location="http://download.eclipse.org/tools/ptp/updates/luna"/>
-</location>
-</locations>
-<targetJRE path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.7"/>
-<launcherArgs>
-<vmArgs>-Xms40m
--Xmx512M
--XX:MaxPermSize=256m</vmArgs>
-<programArgs>-consolelog</programArgs>
-</launcherArgs>
-</target>
diff --git a/lttng/org.eclipse.linuxtools.lttng.target/lttng-e4.4.target b/lttng/org.eclipse.linuxtools.lttng.target/lttng-e4.4.target
deleted file mode 100644
index 64b64d2d87..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng.target/lttng-e4.4.target
+++ /dev/null
@@ -1,48 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<?pde version="3.8"?><target name="lttng-e4.4" sequenceNumber="29">
-<locations>
-<location includeAllPlatforms="false" includeConfigurePhase="false" includeMode="planner" includeSource="true" type="InstallableUnit">
-<unit id="org.antlr.runtime" version="3.2.0.v201101311130"/>
-<unit id="org.swtchart" version="0.0.0"/>
-<unit id="com.google.guava" version="15.0.0.v201403281430"/>
-<unit id="org.apache.derby" version="0.0.0"/>
-<unit id="org.json" version="0.0.0"/>
-<repository location="http://download.eclipse.org/tools/orbit/downloads/drops/R20140525021250/repository/"/>
-</location>
-<location includeAllPlatforms="false" includeConfigurePhase="false" includeMode="planner" includeSource="true" type="InstallableUnit">
-<unit id="org.eclipse.cdt.gnu.dsf.feature.group" version="0.0.0"/>
-<repository location="http://download.eclipse.org/tools/cdt/releases/8.4"/>
-</location>
-<location includeAllPlatforms="false" includeConfigurePhase="false" includeMode="planner" includeSource="true" type="InstallableUnit">
-<unit id="org.eclipse.rse.sdk.feature.group" version="0.0.0"/>
-<repository location="http://download.eclipse.org/tm/updates/3.6"/>
-</location>
-<location includeAllPlatforms="false" includeConfigurePhase="false" includeMode="planner" includeSource="true" type="InstallableUnit">
-<unit id="org.eclipse.test.feature.group" version="0.0.0"/>
-<unit id="org.eclipse.platform.ide" version="0.0.0"/>
-<unit id="org.eclipse.jdt.annotation" version="1.1.0.v20140129-1625"/>
-<unit id="org.eclipse.pde.runtime" version="0.0.0"/>
-<repository location="http://download.eclipse.org/eclipse/updates/4.4/"/>
-</location>
-<location includeAllPlatforms="false" includeConfigurePhase="false" includeMode="planner" includeSource="true" type="InstallableUnit">
-<unit id="org.eclipse.swtbot.eclipse.feature.group" version="0.0.0"/>
-<unit id="org.eclipse.swtbot.feature.group" version="0.0.0"/>
-<repository location="http://download.eclipse.org/technology/swtbot/releases/latest"/>
-</location>
-<location includeAllPlatforms="false" includeConfigurePhase="false" includeMode="planner" includeSource="true" type="InstallableUnit">
-<unit id="org.eclipse.license.feature.group" version="0.0.0"/>
-<repository location="http://download.eclipse.org/cbi/updates/license"/>
-</location>
-<location includeAllPlatforms="false" includeConfigurePhase="false" includeMode="planner" includeSource="true" type="InstallableUnit">
-<unit id="org.eclipse.remote.feature.group" version="0.0.0"/>
-<repository location="http://download.eclipse.org/tools/ptp/updates/luna"/>
-</location>
-</locations>
-<targetJRE path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.7"/>
-<launcherArgs>
-<vmArgs>-Xms40m
--Xmx512M
--XX:MaxPermSize=256m</vmArgs>
-<programArgs>-consolelog</programArgs>
-</launcherArgs>
-</target>
diff --git a/lttng/org.eclipse.linuxtools.lttng.target/lttng-eStaging.target b/lttng/org.eclipse.linuxtools.lttng.target/lttng-eStaging.target
deleted file mode 100644
index 1400e711b1..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng.target/lttng-eStaging.target
+++ /dev/null
@@ -1,48 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<?pde version="3.8"?><target name="lttng-eStaging" sequenceNumber="29">
-<locations>
-<location includeAllPlatforms="false" includeConfigurePhase="false" includeMode="planner" includeSource="true" type="InstallableUnit">
-<unit id="org.antlr.runtime" version="3.2.0.v201101311130"/>
-<unit id="org.swtchart" version="0.0.0"/>
-<unit id="com.google.guava" version="15.0.0.v201403281430"/>
-<unit id="org.apache.derby" version="0.0.0"/>
-<unit id="org.json" version="0.0.0"/>
-<repository location="http://download.eclipse.org/tools/orbit/downloads/drops/R20140525021250/repository/"/>
-</location>
-<location includeAllPlatforms="false" includeConfigurePhase="false" includeMode="planner" includeSource="true" type="InstallableUnit">
-<unit id="org.eclipse.cdt.gnu.dsf.feature.group" version="0.0.0"/>
-<unit id="org.eclipse.platform.ide" version="0.0.0"/>
-<unit id="org.eclipse.pde.runtime" version="0.0.0"/>
-<repository location="http://download.eclipse.org/releases/staging"/>
-</location>
-<location includeAllPlatforms="false" includeConfigurePhase="false" includeMode="planner" includeSource="true" type="InstallableUnit">
-<unit id="org.eclipse.rse.sdk.feature.group" version="0.0.0"/>
-<repository location="http://download.eclipse.org/tm/updates/3.6milestones"/>
-</location>
-<location includeAllPlatforms="false" includeConfigurePhase="false" includeMode="planner" includeSource="true" type="InstallableUnit">
-<unit id="org.eclipse.test.feature.group" version="0.0.0"/>
-<unit id="org.eclipse.jdt.annotation" version="0.0.0"/>
-<repository location="http://download.eclipse.org/eclipse/updates/4.3/"/>
-</location>
-<location includeAllPlatforms="false" includeConfigurePhase="false" includeMode="planner" includeSource="true" type="InstallableUnit">
-<unit id="org.eclipse.swtbot.eclipse.feature.group" version="0.0.0"/>
-<unit id="org.eclipse.swtbot.feature.group" version="0.0.0"/>
-<repository location="http://download.eclipse.org/technology/swtbot/releases/latest"/>
-</location>
-<location includeAllPlatforms="false" includeConfigurePhase="false" includeMode="planner" includeSource="true" type="InstallableUnit">
-<unit id="org.eclipse.license.feature.group" version="0.0.0"/>
-<repository location="http://download.eclipse.org/cbi/updates/license"/>
-</location>
-<location includeAllPlatforms="false" includeConfigurePhase="false" includeMode="planner" includeSource="true" type="InstallableUnit">
-<unit id="org.eclipse.remote.feature.group" version="0.0.0"/>
-<repository location="http://download.eclipse.org/tools/ptp/builds/8.2.0/"/>
-</location>
-</locations>
-<targetJRE path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.7"/>
-<launcherArgs>
-<vmArgs>-Xms40m
--Xmx512M
--XX:MaxPermSize=256m</vmArgs>
-<programArgs>-consolelog</programArgs>
-</launcherArgs>
-</target>
diff --git a/lttng/org.eclipse.linuxtools.lttng.testing/.project b/lttng/org.eclipse.linuxtools.lttng.testing/.project
deleted file mode 100644
index 8c62f0c473..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng.testing/.project
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>org.eclipse.linuxtools.lttng.testing</name>
- <comment></comment>
- <projects>
- </projects>
- <buildSpec>
- <buildCommand>
- <name>org.eclipse.pde.FeatureBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>org.eclipse.pde.FeatureNature</nature>
- </natures>
-</projectDescription>
diff --git a/lttng/org.eclipse.linuxtools.lttng.testing/.settings/org.eclipse.core.resources.prefs b/lttng/org.eclipse.linuxtools.lttng.testing/.settings/org.eclipse.core.resources.prefs
deleted file mode 100644
index 99f26c0203..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng.testing/.settings/org.eclipse.core.resources.prefs
+++ /dev/null
@@ -1,2 +0,0 @@
-eclipse.preferences.version=1
-encoding/<project>=UTF-8
diff --git a/lttng/org.eclipse.linuxtools.lttng.testing/.settings/org.eclipse.core.runtime.prefs b/lttng/org.eclipse.linuxtools.lttng.testing/.settings/org.eclipse.core.runtime.prefs
deleted file mode 100644
index 5a0ad22d2a..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng.testing/.settings/org.eclipse.core.runtime.prefs
+++ /dev/null
@@ -1,2 +0,0 @@
-eclipse.preferences.version=1
-line.separator=\n
diff --git a/lttng/org.eclipse.linuxtools.lttng.testing/build.properties b/lttng/org.eclipse.linuxtools.lttng.testing/build.properties
deleted file mode 100644
index fef213dbc0..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng.testing/build.properties
+++ /dev/null
@@ -1,15 +0,0 @@
-###############################################################################
-# Copyright (c) 2014 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:
-# Ericsson - Initial API and implementation
-###############################################################################
-
-bin.includes = feature.xml,\
- feature.properties,\
- p2.inf
diff --git a/lttng/org.eclipse.linuxtools.lttng.testing/feature.properties b/lttng/org.eclipse.linuxtools.lttng.testing/feature.properties
deleted file mode 100644
index 2ac24ae62e..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng.testing/feature.properties
+++ /dev/null
@@ -1,20 +0,0 @@
-###############################################################################
-# Copyright (c) 2014 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:
-# Ericsson - Initial API and implementation
-###############################################################################
-
-featureName=Linux Tools LTTng Testing Feature
-
-description=Linux Tools LTTng Tests plug-ins
-
-featureProvider=Eclipse Linux Tools
-
-copyright=Copyright 2014 Ericsson
-
diff --git a/lttng/org.eclipse.linuxtools.lttng.testing/feature.xml b/lttng/org.eclipse.linuxtools.lttng.testing/feature.xml
deleted file mode 100644
index 7f72d3f315..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng.testing/feature.xml
+++ /dev/null
@@ -1,173 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<feature
- id="org.eclipse.linuxtools.lttng.testing"
- label="%featureName"
- version="1.0.0.qualifier"
- provider-name="%featureProvider"
- license-feature="org.eclipse.license"
- license-feature-version="0.0.0">
-
- <description>
- %description
- </description>
-
- <copyright>
- %copyright
- </copyright>
-
- <license url="%licenseURL">
- %license
- </license>
-
- <url>
- <update label="Linux Tools Update Site" url="http://download.eclipse.org/linuxtools/update"/>
- </url>
-
- <plugin
- id="org.eclipse.linuxtools.ctf.core.tests"
- download-size="0"
- install-size="0"
- version="0.0.0"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.linuxtools.ctf.parser.tests"
- download-size="0"
- install-size="0"
- version="0.0.0"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.linuxtools.gdbtrace.core.tests"
- download-size="0"
- install-size="0"
- version="0.0.0"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.linuxtools.lttng2.control.core.tests"
- download-size="0"
- install-size="0"
- version="0.0.0"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.linuxtools.lttng2.control.ui.tests"
- download-size="0"
- install-size="0"
- version="0.0.0"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.linuxtools.lttng2.kernel.core.tests"
- download-size="0"
- install-size="0"
- version="0.0.0"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.linuxtools.lttng2.kernel.ui.swtbot.tests"
- download-size="0"
- install-size="0"
- version="0.0.0"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.linuxtools.lttng2.kernel.ui.tests"
- download-size="0"
- install-size="0"
- version="0.0.0"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.linuxtools.lttng2.ust.core.tests"
- download-size="0"
- install-size="0"
- version="0.0.0"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.linuxtools.lttng2.ust.ui.tests"
- download-size="0"
- install-size="0"
- version="0.0.0"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.linuxtools.pcap.core.tests"
- download-size="0"
- install-size="0"
- version="0.0.0"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.linuxtools.statesystem.core.tests"
- download-size="0"
- install-size="0"
- version="0.0.0"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.linuxtools.tmf.analysis.xml.core.tests"
- download-size="0"
- install-size="0"
- version="0.0.0"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.linuxtools.tmf.analysis.xml.ui.tests"
- download-size="0"
- install-size="0"
- version="0.0.0"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.linuxtools.tmf.core.tests"
- download-size="0"
- install-size="0"
- version="0.0.0"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.linuxtools.tmf.ctf.core.tests"
- download-size="0"
- install-size="0"
- version="0.0.0"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.linuxtools.tmf.ctf.ui.swtbot.tests"
- download-size="0"
- install-size="0"
- version="0.0.0"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.linuxtools.tmf.pcap.core.tests"
- download-size="0"
- install-size="0"
- version="0.0.0"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.linuxtools.tmf.pcap.ui.swtbot.tests"
- download-size="0"
- install-size="0"
- version="0.0.0"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.linuxtools.tmf.ui.swtbot.tests"
- download-size="0"
- install-size="0"
- version="0.0.0"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.linuxtools.tmf.ui.tests"
- download-size="0"
- install-size="0"
- version="0.0.0"
- unpack="false"/>
-
-</feature>
diff --git a/lttng/org.eclipse.linuxtools.lttng.testing/p2.inf b/lttng/org.eclipse.linuxtools.lttng.testing/p2.inf
deleted file mode 100644
index abe8c46aeb..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng.testing/p2.inf
+++ /dev/null
@@ -1,3 +0,0 @@
-instructions.configure=\
-org.eclipse.equinox.p2.touchpoint.eclipse.addRepository(location:http${#58}//download.eclipse.org/linuxtools/updates-nightly,type:0,name:Linux Tools,enabled:false);\
-org.eclipse.equinox.p2.touchpoint.eclipse.addRepository(location:http${#58}//download.eclipse.org/linuxtools/updates-nightly,type:1,name:Linux Tools,enabled:false);
diff --git a/lttng/org.eclipse.linuxtools.lttng.testing/pom.xml b/lttng/org.eclipse.linuxtools.lttng.testing/pom.xml
deleted file mode 100644
index 5cb2566e41..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng.testing/pom.xml
+++ /dev/null
@@ -1,57 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Copyright (C) 2014 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
--->
-<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
- <modelVersion>4.0.0</modelVersion>
-
- <parent>
- <artifactId>linuxtools-lttng-parent</artifactId>
- <groupId>org.eclipse.linuxtools.lttng</groupId>
- <version>3.2.0-SNAPSHOT</version>
- </parent>
-
- <name>Linux Tools LTTng Testing Feature</name>
- <artifactId>org.eclipse.linuxtools.lttng.testing</artifactId>
- <version>1.0.0-SNAPSHOT</version>
-
- <packaging>eclipse-feature</packaging>
-
- <build>
- <plugins>
- <plugin>
- <groupId>org.eclipse.tycho.extras</groupId>
- <artifactId>tycho-source-feature-plugin</artifactId>
- <executions>
- <execution>
- <id>source-feature</id>
- <phase>package</phase>
- <goals>
- <goal>source-feature</goal>
- </goals>
- </execution>
- </executions>
- </plugin>
- <plugin>
- <groupId>org.eclipse.tycho</groupId>
- <artifactId>tycho-p2-plugin</artifactId>
- <version>${tycho-version}</version>
- <executions>
- <execution>
- <id>attached-p2-metadata</id>
- <phase>package</phase>
- <goals>
- <goal>p2-metadata</goal>
- </goals>
- </execution>
- </executions>
- </plugin>
- </plugins>
- </build>
-</project>
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.core.tests/.classpath b/lttng/org.eclipse.linuxtools.lttng2.control.core.tests/.classpath
deleted file mode 100644
index 098194ca4b..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.core.tests/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
- <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.7"/>
- <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
- <classpathentry kind="src" path="src"/>
- <classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.core.tests/.project b/lttng/org.eclipse.linuxtools.lttng2.control.core.tests/.project
deleted file mode 100644
index 9aaf321441..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.core.tests/.project
+++ /dev/null
@@ -1,34 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>org.eclipse.linuxtools.lttng2.control.core.tests</name>
- <comment></comment>
- <projects>
- </projects>
- <buildSpec>
- <buildCommand>
- <name>org.eclipse.jdt.core.javabuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.ManifestBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.SchemaBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.api.tools.apiAnalysisBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>org.eclipse.pde.PluginNature</nature>
- <nature>org.eclipse.jdt.core.javanature</nature>
- <nature>org.eclipse.pde.api.tools.apiAnalysisNature</nature>
- </natures>
-</projectDescription>
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.core.tests/.settings/org.eclipse.core.resources.prefs b/lttng/org.eclipse.linuxtools.lttng2.control.core.tests/.settings/org.eclipse.core.resources.prefs
deleted file mode 100644
index 99f26c0203..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.core.tests/.settings/org.eclipse.core.resources.prefs
+++ /dev/null
@@ -1,2 +0,0 @@
-eclipse.preferences.version=1
-encoding/<project>=UTF-8
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.core.tests/.settings/org.eclipse.core.runtime.prefs b/lttng/org.eclipse.linuxtools.lttng2.control.core.tests/.settings/org.eclipse.core.runtime.prefs
deleted file mode 100644
index 5a0ad22d2a..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.core.tests/.settings/org.eclipse.core.runtime.prefs
+++ /dev/null
@@ -1,2 +0,0 @@
-eclipse.preferences.version=1
-line.separator=\n
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.core.tests/.settings/org.eclipse.jdt.core.prefs b/lttng/org.eclipse.linuxtools.lttng2.control.core.tests/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index f3fc64575b..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.core.tests/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,393 +0,0 @@
-eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.annotation.inheritNullAnnotations=enabled
-org.eclipse.jdt.core.compiler.annotation.missingNonNullByDefaultAnnotation=ignore
-org.eclipse.jdt.core.compiler.annotation.nonnull=org.eclipse.jdt.annotation.NonNull
-org.eclipse.jdt.core.compiler.annotation.nonnullbydefault=org.eclipse.jdt.annotation.NonNullByDefault
-org.eclipse.jdt.core.compiler.annotation.nullable=org.eclipse.jdt.annotation.Nullable
-org.eclipse.jdt.core.compiler.annotation.nullanalysis=enabled
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.7
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.doc.comment.support=enabled
-org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=error
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
-org.eclipse.jdt.core.compiler.problem.comparingIdentical=error
-org.eclipse.jdt.core.compiler.problem.deadCode=error
-org.eclipse.jdt.core.compiler.problem.deprecation=error
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=enabled
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled
-org.eclipse.jdt.core.compiler.problem.discouragedReference=error
-org.eclipse.jdt.core.compiler.problem.emptyStatement=error
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.problem.explicitlyClosedAutoCloseable=error
-org.eclipse.jdt.core.compiler.problem.fallthroughCase=error
-org.eclipse.jdt.core.compiler.problem.fatalOptionalError=disabled
-org.eclipse.jdt.core.compiler.problem.fieldHiding=error
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=error
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=error
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=error
-org.eclipse.jdt.core.compiler.problem.includeNullInfoFromAsserts=disabled
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=error
-org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=error
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=error
-org.eclipse.jdt.core.compiler.problem.invalidJavadoc=warning
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTags=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=protected
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=error
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=error
-org.eclipse.jdt.core.compiler.problem.missingDefaultCase=error
-org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=error
-org.eclipse.jdt.core.compiler.problem.missingEnumCaseDespiteDefault=enabled
-org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=error
-org.eclipse.jdt.core.compiler.problem.missingJavadocComments=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=protected
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagDescription=all_standard_tags
-org.eclipse.jdt.core.compiler.problem.missingJavadocTags=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsMethodTypeParameters=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=protected
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=error
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotationForInterfaceMethodImplementation=enabled
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=error
-org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=error
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=error
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=error
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=ignore
-org.eclipse.jdt.core.compiler.problem.nonnullParameterAnnotationDropped=warning
-org.eclipse.jdt.core.compiler.problem.nullAnnotationInferenceConflict=warning
-org.eclipse.jdt.core.compiler.problem.nullReference=error
-org.eclipse.jdt.core.compiler.problem.nullSpecViolation=error
-org.eclipse.jdt.core.compiler.problem.nullUncheckedConversion=warning
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=error
-org.eclipse.jdt.core.compiler.problem.parameterAssignment=error
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=error
-org.eclipse.jdt.core.compiler.problem.potentialNullReference=error
-org.eclipse.jdt.core.compiler.problem.potentiallyUnclosedCloseable=warning
-org.eclipse.jdt.core.compiler.problem.rawTypeReference=error
-org.eclipse.jdt.core.compiler.problem.redundantNullAnnotation=warning
-org.eclipse.jdt.core.compiler.problem.redundantNullCheck=error
-org.eclipse.jdt.core.compiler.problem.redundantSpecificationOfTypeArguments=error
-org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=error
-org.eclipse.jdt.core.compiler.problem.reportMethodCanBePotentiallyStatic=ignore
-org.eclipse.jdt.core.compiler.problem.reportMethodCanBeStatic=error
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=error
-org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=disabled
-org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
-org.eclipse.jdt.core.compiler.problem.syntacticNullAnalysisForFields=enabled
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
-org.eclipse.jdt.core.compiler.problem.typeParameterHiding=error
-org.eclipse.jdt.core.compiler.problem.unavoidableGenericTypeProblems=disabled
-org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=error
-org.eclipse.jdt.core.compiler.problem.unclosedCloseable=error
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
-org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=error
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=error
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=error
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=error
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=disabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=disabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=error
-org.eclipse.jdt.core.compiler.problem.unusedLabel=error
-org.eclipse.jdt.core.compiler.problem.unusedLocal=error
-org.eclipse.jdt.core.compiler.problem.unusedObjectAllocation=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=error
-org.eclipse.jdt.core.compiler.problem.unusedTypeParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedWarningToken=error
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=error
-org.eclipse.jdt.core.compiler.source=1.7
-org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_assignment=0
-org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
-org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
-org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
-org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
-org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0
-org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=80
-org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=0
-org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch=16
-org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_after_package=1
-org.eclipse.jdt.core.formatter.blank_lines_before_field=0
-org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
-org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
-org.eclipse.jdt.core.formatter.blank_lines_before_method=1
-org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
-org.eclipse.jdt.core.formatter.blank_lines_before_package=0
-org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
-org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
-org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
-org.eclipse.jdt.core.formatter.comment.format_block_comments=true
-org.eclipse.jdt.core.formatter.comment.format_header=false
-org.eclipse.jdt.core.formatter.comment.format_html=true
-org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=true
-org.eclipse.jdt.core.formatter.comment.format_line_comments=true
-org.eclipse.jdt.core.formatter.comment.format_source_code=true
-org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true
-org.eclipse.jdt.core.formatter.comment.indent_root_tags=true
-org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
-org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=insert
-org.eclipse.jdt.core.formatter.comment.line_length=80
-org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries=true
-org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries=true
-org.eclipse.jdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments=false
-org.eclipse.jdt.core.formatter.compact_else_if=true
-org.eclipse.jdt.core.formatter.continuation_indentation=2
-org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2
-org.eclipse.jdt.core.formatter.disabling_tag=@formatter\:off
-org.eclipse.jdt.core.formatter.enabling_tag=@formatter\:on
-org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
-org.eclipse.jdt.core.formatter.format_line_comment_starting_on_first_column=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
-org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_empty_lines=false
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=false
-org.eclipse.jdt.core.formatter.indentation.size=4
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_label=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_try=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources=insert
-org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_try=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
-org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.join_lines_in_comments=true
-org.eclipse.jdt.core.formatter.join_wrapped_lines=false
-org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.lineSplit=250
-org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
-org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
-org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true
-org.eclipse.jdt.core.formatter.tabulation.char=space
-org.eclipse.jdt.core.formatter.tabulation.size=4
-org.eclipse.jdt.core.formatter.use_on_off_tags=false
-org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
-org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
-org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true
-org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.core.tests/.settings/org.eclipse.jdt.ui.prefs b/lttng/org.eclipse.linuxtools.lttng2.control.core.tests/.settings/org.eclipse.jdt.ui.prefs
deleted file mode 100644
index 4fd0c7006a..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.core.tests/.settings/org.eclipse.jdt.ui.prefs
+++ /dev/null
@@ -1,56 +0,0 @@
-eclipse.preferences.version=1
-editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
-formatter_profile=_tmf-style
-formatter_settings_version=12
-sp_cleanup.add_default_serial_version_id=true
-sp_cleanup.add_generated_serial_version_id=false
-sp_cleanup.add_missing_annotations=false
-sp_cleanup.add_missing_deprecated_annotations=true
-sp_cleanup.add_missing_methods=false
-sp_cleanup.add_missing_nls_tags=false
-sp_cleanup.add_missing_override_annotations=true
-sp_cleanup.add_missing_override_annotations_interface_methods=true
-sp_cleanup.add_serial_version_id=false
-sp_cleanup.always_use_blocks=true
-sp_cleanup.always_use_parentheses_in_expressions=false
-sp_cleanup.always_use_this_for_non_static_field_access=false
-sp_cleanup.always_use_this_for_non_static_method_access=false
-sp_cleanup.convert_to_enhanced_for_loop=false
-sp_cleanup.correct_indentation=false
-sp_cleanup.format_source_code=false
-sp_cleanup.format_source_code_changes_only=false
-sp_cleanup.make_local_variable_final=false
-sp_cleanup.make_parameters_final=false
-sp_cleanup.make_private_fields_final=true
-sp_cleanup.make_type_abstract_if_missing_method=false
-sp_cleanup.make_variable_declarations_final=false
-sp_cleanup.never_use_blocks=false
-sp_cleanup.never_use_parentheses_in_expressions=true
-sp_cleanup.on_save_use_additional_actions=true
-sp_cleanup.organize_imports=false
-sp_cleanup.qualify_static_field_accesses_with_declaring_class=false
-sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_with_declaring_class=false
-sp_cleanup.qualify_static_method_accesses_with_declaring_class=false
-sp_cleanup.remove_private_constructors=true
-sp_cleanup.remove_trailing_whitespaces=true
-sp_cleanup.remove_trailing_whitespaces_all=true
-sp_cleanup.remove_trailing_whitespaces_ignore_empty=false
-sp_cleanup.remove_unnecessary_casts=false
-sp_cleanup.remove_unnecessary_nls_tags=false
-sp_cleanup.remove_unused_imports=false
-sp_cleanup.remove_unused_local_variables=false
-sp_cleanup.remove_unused_private_fields=true
-sp_cleanup.remove_unused_private_members=false
-sp_cleanup.remove_unused_private_methods=true
-sp_cleanup.remove_unused_private_types=true
-sp_cleanup.sort_members=false
-sp_cleanup.sort_members_all=false
-sp_cleanup.use_blocks=true
-sp_cleanup.use_blocks_only_for_return_and_throw=false
-sp_cleanup.use_parentheses_in_expressions=false
-sp_cleanup.use_this_for_non_static_field_access=false
-sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=true
-sp_cleanup.use_this_for_non_static_method_access=false
-sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.core.tests/.settings/org.eclipse.pde.api.tools.prefs b/lttng/org.eclipse.linuxtools.lttng2.control.core.tests/.settings/org.eclipse.pde.api.tools.prefs
deleted file mode 100644
index acc3abd47c..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.core.tests/.settings/org.eclipse.pde.api.tools.prefs
+++ /dev/null
@@ -1,97 +0,0 @@
-ANNOTATION_ELEMENT_TYPE_ADDED_METHOD_WITHOUT_DEFAULT_VALUE=Error
-ANNOTATION_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
-ANNOTATION_ELEMENT_TYPE_REMOVED_FIELD=Error
-ANNOTATION_ELEMENT_TYPE_REMOVED_METHOD=Error
-ANNOTATION_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
-API_COMPONENT_ELEMENT_TYPE_REMOVED_API_TYPE=Error
-API_COMPONENT_ELEMENT_TYPE_REMOVED_REEXPORTED_API_TYPE=Error
-API_COMPONENT_ELEMENT_TYPE_REMOVED_REEXPORTED_TYPE=Error
-API_COMPONENT_ELEMENT_TYPE_REMOVED_TYPE=Error
-API_USE_SCAN_FIELD_SEVERITY=Error
-API_USE_SCAN_METHOD_SEVERITY=Error
-API_USE_SCAN_TYPE_SEVERITY=Error
-CLASS_ELEMENT_TYPE_ADDED_METHOD=Error
-CLASS_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
-CLASS_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
-CLASS_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error
-CLASS_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
-CLASS_ELEMENT_TYPE_CHANGED_NON_ABSTRACT_TO_ABSTRACT=Error
-CLASS_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error
-CLASS_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
-CLASS_ELEMENT_TYPE_REMOVED_CONSTRUCTOR=Error
-CLASS_ELEMENT_TYPE_REMOVED_FIELD=Error
-CLASS_ELEMENT_TYPE_REMOVED_METHOD=Error
-CLASS_ELEMENT_TYPE_REMOVED_SUPERCLASS=Error
-CLASS_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
-CLASS_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
-CONSTRUCTOR_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
-CONSTRUCTOR_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
-CONSTRUCTOR_ELEMENT_TYPE_CHANGED_VARARGS_TO_ARRAY=Error
-CONSTRUCTOR_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
-ENUM_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error
-ENUM_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
-ENUM_ELEMENT_TYPE_REMOVED_ENUM_CONSTANT=Error
-ENUM_ELEMENT_TYPE_REMOVED_FIELD=Error
-ENUM_ELEMENT_TYPE_REMOVED_METHOD=Error
-ENUM_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
-FIELD_ELEMENT_TYPE_ADDED_VALUE=Error
-FIELD_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
-FIELD_ELEMENT_TYPE_CHANGED_FINAL_TO_NON_FINAL_STATIC_CONSTANT=Error
-FIELD_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error
-FIELD_ELEMENT_TYPE_CHANGED_NON_STATIC_TO_STATIC=Error
-FIELD_ELEMENT_TYPE_CHANGED_STATIC_TO_NON_STATIC=Error
-FIELD_ELEMENT_TYPE_CHANGED_TYPE=Error
-FIELD_ELEMENT_TYPE_CHANGED_VALUE=Error
-FIELD_ELEMENT_TYPE_REMOVED_TYPE_ARGUMENT=Error
-FIELD_ELEMENT_TYPE_REMOVED_VALUE=Error
-ILLEGAL_EXTEND=Warning
-ILLEGAL_IMPLEMENT=Warning
-ILLEGAL_INSTANTIATE=Warning
-ILLEGAL_OVERRIDE=Warning
-ILLEGAL_REFERENCE=Warning
-INTERFACE_ELEMENT_TYPE_ADDED_FIELD=Error
-INTERFACE_ELEMENT_TYPE_ADDED_METHOD=Error
-INTERFACE_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
-INTERFACE_ELEMENT_TYPE_ADDED_SUPER_INTERFACE_WITH_METHODS=Error
-INTERFACE_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
-INTERFACE_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error
-INTERFACE_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
-INTERFACE_ELEMENT_TYPE_REMOVED_FIELD=Error
-INTERFACE_ELEMENT_TYPE_REMOVED_METHOD=Error
-INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
-INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
-INVALID_JAVADOC_TAG=Warning
-INVALID_REFERENCE_IN_SYSTEM_LIBRARIES=Warning
-LEAK_EXTEND=Warning
-LEAK_FIELD_DECL=Warning
-LEAK_IMPLEMENT=Warning
-LEAK_METHOD_PARAM=Warning
-LEAK_METHOD_RETURN_TYPE=Warning
-METHOD_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
-METHOD_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
-METHOD_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
-METHOD_ELEMENT_TYPE_CHANGED_NON_ABSTRACT_TO_ABSTRACT=Error
-METHOD_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error
-METHOD_ELEMENT_TYPE_CHANGED_NON_STATIC_TO_STATIC=Error
-METHOD_ELEMENT_TYPE_CHANGED_STATIC_TO_NON_STATIC=Error
-METHOD_ELEMENT_TYPE_CHANGED_VARARGS_TO_ARRAY=Error
-METHOD_ELEMENT_TYPE_REMOVED_ANNOTATION_DEFAULT_VALUE=Error
-METHOD_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
-MISSING_EE_DESCRIPTIONS=Ignore
-TYPE_PARAMETER_ELEMENT_TYPE_ADDED_CLASS_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_ADDED_INTERFACE_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_CHANGED_CLASS_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_CHANGED_INTERFACE_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_CLASS_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error
-UNUSED_PROBLEM_FILTERS=Warning
-automatically_removed_unused_problem_filters=false
-eclipse.preferences.version=1
-incompatible_api_component_version=Error
-incompatible_api_component_version_include_major_without_breaking_change=Disabled
-incompatible_api_component_version_include_minor_without_api_change=Disabled
-invalid_since_tag_version=Error
-malformed_since_tag=Error
-missing_since_tag=Error
-report_api_breakage_when_major_version_incremented=Disabled
-report_resolution_errors_api_component=Warning
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.core.tests/.settings/org.eclipse.pde.prefs b/lttng/org.eclipse.linuxtools.lttng2.control.core.tests/.settings/org.eclipse.pde.prefs
deleted file mode 100644
index 62cfa90dee..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.core.tests/.settings/org.eclipse.pde.prefs
+++ /dev/null
@@ -1,32 +0,0 @@
-compilers.f.unresolved-features=1
-compilers.f.unresolved-plugins=1
-compilers.incompatible-environment=1
-compilers.p.build=1
-compilers.p.build.bin.includes=1
-compilers.p.build.encodings=2
-compilers.p.build.java.compiler=2
-compilers.p.build.java.compliance=1
-compilers.p.build.missing.output=2
-compilers.p.build.output.library=1
-compilers.p.build.source.library=1
-compilers.p.build.src.includes=1
-compilers.p.deprecated=1
-compilers.p.discouraged-class=1
-compilers.p.internal=1
-compilers.p.missing-packages=2
-compilers.p.missing-version-export-package=2
-compilers.p.missing-version-import-package=2
-compilers.p.missing-version-require-bundle=2
-compilers.p.no-required-att=0
-compilers.p.not-externalized-att=2
-compilers.p.unknown-attribute=1
-compilers.p.unknown-class=1
-compilers.p.unknown-element=1
-compilers.p.unknown-identifier=1
-compilers.p.unknown-resource=1
-compilers.p.unresolved-ex-points=0
-compilers.p.unresolved-import=0
-compilers.s.create-docs=false
-compilers.s.doc-folder=doc
-compilers.s.open-tags=1
-eclipse.preferences.version=1
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.core.tests/META-INF/MANIFEST.MF b/lttng/org.eclipse.linuxtools.lttng2.control.core.tests/META-INF/MANIFEST.MF
deleted file mode 100644
index fe1e11c770..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.core.tests/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,16 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %Bundle-Name
-Bundle-Vendor: %Bundle-Vendor
-Bundle-Version: 3.1.0.qualifier
-Bundle-Localization: plugin
-Bundle-SymbolicName: org.eclipse.linuxtools.lttng2.control.core.tests;singleton:=true
-Bundle-ActivationPolicy: lazy
-Bundle-RequiredExecutionEnvironment: JavaSE-1.7
-Require-Bundle: org.junit;bundle-version="4.0.0",
- org.eclipse.core.runtime,
- org.eclipse.linuxtools.lttng2.control.core;bundle-version="3.1.0"
-Export-Package: org.eclipse.linuxtools.lttng2.control.core.tests;x-friends:="org.eclipse.linuxtools.lttng.alltests",
- org.eclipse.linuxtools.lttng2.control.core.tests.model.impl;x-internal:=true,
- org.eclipse.linuxtools.lttng2.control.core.tests.relayd,
- org.eclipse.linuxtools.lttng2.control.core.tests.session
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.core.tests/about.html b/lttng/org.eclipse.linuxtools.lttng2.control.core.tests/about.html
deleted file mode 100644
index c258ef55d8..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.core.tests/about.html
+++ /dev/null
@@ -1,28 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
-<title>About</title>
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
-
-<p>June 5, 2006</p>
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;). Unless otherwise
-indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is available
-at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is
-being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content. Check the Redistributor's license that was
-provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at <a href="http://www.eclipse.org/">http://www.eclipse.org</a>.</p>
-
-</body>
-</html> \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.core.tests/build.properties b/lttng/org.eclipse.linuxtools.lttng2.control.core.tests/build.properties
deleted file mode 100644
index f7a0b9854e..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.core.tests/build.properties
+++ /dev/null
@@ -1,18 +0,0 @@
-###############################################################################
-# Copyright (c) 2013 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:
-# Ericsson - Initial API and implementation
-###############################################################################
-
-source.. = src/
-output.. = bin/
-bin.includes = META-INF/,\
- .,\
- plugin.properties
-src.includes = about.html
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.core.tests/plugin.properties b/lttng/org.eclipse.linuxtools.lttng2.control.core.tests/plugin.properties
deleted file mode 100644
index f2ad963160..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.core.tests/plugin.properties
+++ /dev/null
@@ -1,15 +0,0 @@
-###############################################################################
-# Copyright (c) 2013 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:
-# Ericsson - Initial API and implementation
-###############################################################################
-
-#Properties file for org.eclipse.linuxtools.lttng2.control.core.tests
-Bundle-Vendor = Eclipse Linux Tools
-Bundle-Name = Linux Tools LTTng Control Core Tests Plug-in
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.core.tests/pom.xml b/lttng/org.eclipse.linuxtools.lttng2.control.core.tests/pom.xml
deleted file mode 100644
index 78bab6c1d1..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.core.tests/pom.xml
+++ /dev/null
@@ -1,44 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Copyright (C) 2011, Red Hat, Inc.
-
- 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
--->
-<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
- <modelVersion>4.0.0</modelVersion>
-
- <parent>
- <artifactId>linuxtools-lttng-parent</artifactId>
- <groupId>org.eclipse.linuxtools.lttng</groupId>
- <version>3.2.0-SNAPSHOT</version>
- </parent>
-
- <artifactId>org.eclipse.linuxtools.lttng2.control.core.tests</artifactId>
- <version>3.1.0-SNAPSHOT</version>
- <packaging>eclipse-test-plugin</packaging>
-
- <name>Linux Tools LTTng Control Core Tests Plug-in</name>
-
- <build>
- <plugins>
- <plugin>
- <groupId>org.eclipse.tycho</groupId>
- <artifactId>tycho-surefire-plugin</artifactId>
- <version>${tycho-version}</version>
- <configuration>
- <testSuite>org.eclipse.linuxtools.lttng2.control.core.tests</testSuite>
- <testClass>org.eclipse.linuxtools.lttng2.control.core.tests.AllTests</testClass>
- <useUIHarness>false</useUIHarness>
- <useUIThread>false</useUIThread>
- <product>org.eclipse.platform.ide</product>
- </configuration>
- </plugin>
- </plugins>
- </build>
-
- <groupId>org.eclipse.linuxtools.lttng2</groupId>
-</project>
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.core.tests/src/org/eclipse/linuxtools/lttng2/control/core/tests/ActivatorTest.java b/lttng/org.eclipse.linuxtools.lttng2.control.core.tests/src/org/eclipse/linuxtools/lttng2/control/core/tests/ActivatorTest.java
deleted file mode 100644
index c0239d81af..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.core.tests/src/org/eclipse/linuxtools/lttng2/control/core/tests/ActivatorTest.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2012, 2013 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
- * Alexandre Montplaisir - Port to JUnit4
- *******************************************************************************/
-
-package org.eclipse.linuxtools.lttng2.control.core.tests;
-
-import static org.junit.Assert.assertTrue;
-
-import org.junit.Test;
-
-/**
- * Test stubs for the Activator.
- */
-public class ActivatorTest {
-
- // ------------------------------------------------------------------------
- // Tests
- // ------------------------------------------------------------------------
-
- /**
- * Test method for {@link org.eclipse.linuxtools.internal.lttng2.control.core.Activator#Activator()}.
- */
- @Test
- public void testActivator() {
- assertTrue(true);
- }
-
- /**
- * Test method for {@link org.eclipse.linuxtools.internal.lttng2.control.core.Activator#getDefault()}.
- */
- @Test
- public void testGetDefault() {
- assertTrue(true);
- }
-
- /**
- * Test method for {@link org.eclipse.linuxtools.internal.lttng2.control.core.Activator#start(org.osgi.framework.BundleContext)}.
- */
- @Test
- public void testStartBundleContext() {
- assertTrue(true);
- }
-
- /**
- * Test method for {@link org.eclipse.linuxtools.internal.lttng2.control.core.Activator#stop(org.osgi.framework.BundleContext)}.
- */
- @Test
- public void testStopBundleContext() {
- assertTrue(true);
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.core.tests/src/org/eclipse/linuxtools/lttng2/control/core/tests/AllTests.java b/lttng/org.eclipse.linuxtools.lttng2.control.core.tests/src/org/eclipse/linuxtools/lttng2/control/core/tests/AllTests.java
deleted file mode 100644
index cd640621f3..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.core.tests/src/org/eclipse/linuxtools/lttng2/control/core/tests/AllTests.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2012, 2013 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
- * Alexandre Montplaisir - Port to JUnit4
- *******************************************************************************/
-
-package org.eclipse.linuxtools.lttng2.control.core.tests;
-
-import org.junit.runner.RunWith;
-import org.junit.runners.Suite;
-
-/**
- * Run all the tests in the test suite
- */
-@RunWith(Suite.class)
-@Suite.SuiteClasses({
- ActivatorTest.class,
- org.eclipse.linuxtools.lttng2.control.core.tests.model.impl.AllTests.class,
- org.eclipse.linuxtools.lttng2.control.core.tests.session.AllTests.class,
- org.eclipse.linuxtools.lttng2.control.core.tests.model.impl.AllTests.class
-})
-public class AllTests {
-
-}
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.core.tests/src/org/eclipse/linuxtools/lttng2/control/core/tests/model/impl/AllTests.java b/lttng/org.eclipse.linuxtools.lttng2.control.core.tests/src/org/eclipse/linuxtools/lttng2/control/core/tests/model/impl/AllTests.java
deleted file mode 100644
index 76f4d33447..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.core.tests/src/org/eclipse/linuxtools/lttng2/control/core/tests/model/impl/AllTests.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011, 2013 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:
- * Bernd Hufmann - Initial API and implementation
- * Alexandre Montplaisir - Port to JUnit4
- *******************************************************************************/
-
-package org.eclipse.linuxtools.lttng2.control.core.tests.model.impl;
-
-import org.junit.runner.RunWith;
-import org.junit.runners.Suite;
-
-/**
- * Runner for the test suite
- */
-@RunWith(Suite.class)
-@Suite.SuiteClasses({
- BaseEventInfoTest.class,
- ChannelInfoTest.class,
- DomainInfoTest.class,
- EventInfoTest.class,
- FieldInfoTest.class,
- ProbeEventInfoTest.class,
- SessionInfoTest.class,
- TraceInfoTest.class,
- UstProviderInfoTest.class,
- SnapshotInfoTest.class
-})
-public class AllTests {
-
-}
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.core.tests/src/org/eclipse/linuxtools/lttng2/control/core/tests/model/impl/BaseEventInfoTest.java b/lttng/org.eclipse.linuxtools.lttng2.control.core.tests/src/org/eclipse/linuxtools/lttng2/control/core/tests/model/impl/BaseEventInfoTest.java
deleted file mode 100644
index 871d2970cb..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.core.tests/src/org/eclipse/linuxtools/lttng2/control/core/tests/model/impl/BaseEventInfoTest.java
+++ /dev/null
@@ -1,567 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2012, 2014 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:
- * Bernd Hufmann - Initial API and implementation
- * Alexandre Montplaisir - Port to JUnit4
- **********************************************************************/
-
-package org.eclipse.linuxtools.lttng2.control.core.tests.model.impl;
-
-import static org.junit.Assert.*;
-
-import java.util.LinkedList;
-import java.util.List;
-
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.IBaseEventInfo;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.IFieldInfo;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.TraceEventType;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.TraceLogLevel;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.impl.BaseEventInfo;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.impl.FieldInfo;
-import org.junit.Before;
-import org.junit.Test;
-
-/**
- * The class <code>BaseEventInfoTest</code> contains test for the class
- * <code>{@link BaseEventInfo}</code>.
- */
-public class BaseEventInfoTest {
-
- // ------------------------------------------------------------------------
- // Test data
- // ------------------------------------------------------------------------
-
- private IBaseEventInfo fEventInfo1 = null;
- private IBaseEventInfo fEventInfo2 = null;
-
- // ------------------------------------------------------------------------
- // Housekeeping
- // ------------------------------------------------------------------------
- /**
- * Perform pre-test initialization.
- */
- @Before
- public void setUp() {
- ModelImplFactory factory = new ModelImplFactory();
- fEventInfo1 = factory.getBaseEventInfo1();
- fEventInfo2 = factory.getBaseEventInfo2();
- }
-
- // ------------------------------------------------------------------------
- // Tests
- // ------------------------------------------------------------------------
-
- /**
- * Run the BaseEventInfo() constructor test.
- */
- @Test
- public void testBaseEventInfo() {
- BaseEventInfo fixture = new BaseEventInfo("event");
- assertNotNull(fixture);
-
- TraceEventType result = fixture.getEventType();
-
- assertEquals("event", fixture.getName());
- assertEquals("unknown", result.getInName());
- assertEquals("UNKNOWN", result.name());
- assertEquals("UNKNOWN", result.toString());
- assertEquals(4, result.ordinal());
-
- TraceLogLevel level = fixture.getLogLevel();
- assertEquals("TRACE_DEBUG", level.getInName());
- assertEquals("TRACE_DEBUG", level.name());
- assertEquals("TRACE_DEBUG", level.toString());
- assertEquals(14, level.ordinal());
- }
-
- /**
- * Test Copy Constructor
- */
- @Test
- public void testEventInfoCopy() {
- BaseEventInfo info = new BaseEventInfo((BaseEventInfo)fEventInfo1);
-
- assertEquals(fEventInfo1.getName(), info.getName());
- assertEquals(fEventInfo1.getEventType(), info.getEventType());
- assertEquals(fEventInfo1.getLogLevel(), info.getLogLevel());
- assertEquals(fEventInfo1.getFilterExpression(), info.getFilterExpression());
-
- IFieldInfo[] orignalFields = fEventInfo1.getFields();
- IFieldInfo[] copiedFields = info.getFields();
- assertEquals(orignalFields.length, copiedFields.length);
-
- for (int i = 0; i < copiedFields.length; i++) {
- assertEquals(orignalFields[i], copiedFields[i]);
- }
- }
-
- /**
- * Test Copy Constructor
- */
- @Test
- public void testEventCopy2() {
- try {
- BaseEventInfo info = null;
- new BaseEventInfo(info);
- fail("null copy");
- }
- catch (IllegalArgumentException e) {
- // Success
- }
- }
-
- /**
- * Run the TraceEventType getEventType() method test.
- */
- @Test
- public void testGetEventType_1() {
- BaseEventInfo fixture = new BaseEventInfo("event");
- fixture.setEventType("unknown");
-
- TraceEventType result = fixture.getEventType();
-
- assertNotNull(result);
- assertEquals("unknown", result.getInName());
- assertEquals("UNKNOWN", result.name());
- assertEquals("UNKNOWN", result.toString());
- assertEquals(4, result.ordinal());
-
- fixture.setEventType("");
- result = fixture.getEventType();
- assertEquals("unknown", result.getInName());
- assertEquals("UNKNOWN", result.name());
- assertEquals("UNKNOWN", result.toString());
- assertEquals(4, result.ordinal());
-
- fixture.setEventType("tracepoint");
- result = fixture.getEventType();
- assertNotNull(result);
- assertEquals("tracepoint", result.getInName());
- assertEquals("TRACEPOINT", result.name());
- assertEquals("TRACEPOINT", result.toString());
- assertEquals(0, result.ordinal());
-
- fixture.setEventType("syscall");
- result = fixture.getEventType();
- assertNotNull(result);
- assertEquals("syscall", result.getInName());
- assertEquals("SYSCALL", result.name());
- assertEquals("SYSCALL", result.toString());
- assertEquals(1, result.ordinal());
-
- fixture.setEventType("probe");
- result = fixture.getEventType();
- assertNotNull(result);
- assertEquals("probe", result.getInName());
- assertEquals("PROBE", result.name());
- assertEquals("PROBE", result.toString());
- assertEquals(2, result.ordinal());
-
- fixture.setEventType("function");
- result = fixture.getEventType();
- assertNotNull(result);
- assertEquals("function", result.getInName());
- assertEquals("FUNCTION", result.name());
- assertEquals("FUNCTION", result.toString());
- assertEquals(3, result.ordinal());
-
-
- }
-
- /**
- * Run the void setEventType(TraceEventType) method test.
- */
- @Test
- public void testSetEventType_2() {
- BaseEventInfo fixture = new BaseEventInfo("event");
- fixture.setEventType(TraceEventType.TRACEPOINT);
-
- TraceEventType result = fixture.getEventType();
-
- assertNotNull(result);
- assertEquals("tracepoint", result.getInName());
- assertEquals("TRACEPOINT", result.name());
- assertEquals("TRACEPOINT", result.toString());
- assertEquals(0, result.ordinal());
-
- fixture.setEventType(TraceEventType.UNKNOWN);
- result = fixture.getEventType();
-
- assertNotNull(result);
- assertEquals("unknown", result.getInName());
- assertEquals("UNKNOWN", result.name());
- assertEquals("UNKNOWN", result.toString());
- assertEquals(4, result.ordinal());
-
- fixture.setEventType(TraceEventType.SYSCALL);
- result = fixture.getEventType();
- assertNotNull(result);
- assertEquals("syscall", result.getInName());
- assertEquals("SYSCALL", result.name());
- assertEquals("SYSCALL", result.toString());
- assertEquals(1, result.ordinal());
-
- fixture.setEventType(TraceEventType.PROBE);
- result = fixture.getEventType();
- assertNotNull(result);
- assertEquals("probe", result.getInName());
- assertEquals("PROBE", result.name());
- assertEquals("PROBE", result.toString());
- assertEquals(2, result.ordinal());
-
- fixture.setEventType(TraceEventType.FUNCTION);
- result = fixture.getEventType();
- assertNotNull(result);
- assertEquals("function", result.getInName());
- assertEquals("FUNCTION", result.name());
- assertEquals("FUNCTION", result.toString());
- assertEquals(3, result.ordinal());
-
-
- }
-
- /**
- * Run the void setLogLevel(TraceLogLevel) method test.
- * Run the TraceLogLevel getLogLevel() method test
- */
- @Test
- public void testSetLogLevel1() {
- BaseEventInfo fixture = new BaseEventInfo("event");
- fixture.setEventType(TraceEventType.TRACEPOINT);
- fixture.setLogLevel(TraceLogLevel.TRACE_CRIT);
-
- // 2 set/get-operations are enough to test the method
- TraceLogLevel result = fixture.getLogLevel();
- assertNotNull(result);
- assertEquals("TRACE_CRIT", result.getInName());
- assertEquals("TRACE_CRIT", result.name());
- assertEquals("TRACE_CRIT", result.toString());
- assertEquals(2, result.ordinal());
-
- fixture.setLogLevel(TraceLogLevel.TRACE_DEBUG_FUNCTION);
-
- result = fixture.getLogLevel();
- assertNotNull(result);
- assertEquals("TRACE_DEBUG_FUNCTION", result.getInName());
- assertEquals("TRACE_DEBUG_FUNCTION", result.name());
- assertEquals("TRACE_DEBUG_FUNCTION", result.toString());
- assertEquals(12, result.ordinal());
- }
-
- /**
- * Run the void setLogLevel(String) method test.
- * Run the TraceLogLevel getLogLevel() method test
- */
- @Test
- public void testSetLogLevel2() {
- BaseEventInfo fixture = new BaseEventInfo("event");
- fixture.setEventType(TraceEventType.TRACEPOINT);
- fixture.setLogLevel("TRACE_EMERG");
-
- TraceLogLevel result = fixture.getLogLevel();
- assertNotNull(result);
- assertEquals("TRACE_EMERG", result.getInName());
- assertEquals("TRACE_EMERG", result.name());
- assertEquals(0, result.ordinal());
-
- //------------------------
- fixture.setLogLevel("TRACE_ALERT");
-
- result = fixture.getLogLevel();
- assertNotNull(result);
- assertEquals("TRACE_ALERT", result.getInName());
- assertEquals("TRACE_ALERT", result.name());
- assertEquals(1, result.ordinal());
-
- //------------------------
- fixture.setLogLevel("TRACE_CRIT");
-
- result = fixture.getLogLevel();
- assertNotNull(result);
- assertEquals("TRACE_CRIT", result.getInName());
- assertEquals("TRACE_CRIT", result.name());
- assertEquals(2, result.ordinal());
-
- //------------------------
- fixture.setLogLevel("TRACE_ERR");
-
- result = fixture.getLogLevel();
- assertNotNull(result);
- assertEquals("TRACE_ERR", result.getInName());
- assertEquals("TRACE_ERR", result.name());
- assertEquals(3, result.ordinal());
-
- //------------------------
- fixture.setLogLevel("TRACE_WARNING");
-
- result = fixture.getLogLevel();
- assertNotNull(result);
- assertEquals("TRACE_WARNING", result.getInName());
- assertEquals("TRACE_WARNING", result.name());
- assertEquals(4, result.ordinal());
-
- //------------------------
- fixture.setLogLevel("TRACE_NOTICE");
-
- result = fixture.getLogLevel();
- assertNotNull(result);
- assertEquals("TRACE_NOTICE", result.getInName());
- assertEquals("TRACE_NOTICE", result.name());
- assertEquals(5, result.ordinal());
-
- //------------------------
- fixture.setLogLevel("TRACE_INFO");
-
- result = fixture.getLogLevel();
- assertNotNull(result);
- assertEquals("TRACE_INFO", result.getInName());
- assertEquals("TRACE_INFO", result.name());
- assertEquals(6, result.ordinal());
-
- //------------------------
- fixture.setLogLevel("TRACE_DEBUG_SYSTEM");
-
- result = fixture.getLogLevel();
- assertNotNull(result);
- assertEquals("TRACE_DEBUG_SYSTEM", result.getInName());
- assertEquals("TRACE_DEBUG_SYSTEM", result.name());
- assertEquals(7, result.ordinal());
-
- //------------------------
- fixture.setLogLevel("TRACE_DEBUG_PROGRAM");
-
- result = fixture.getLogLevel();
- assertNotNull(result);
- assertEquals("TRACE_DEBUG_PROGRAM", result.getInName());
- assertEquals("TRACE_DEBUG_PROGRAM", result.name());
- assertEquals(8, result.ordinal());
-
- //------------------------
- fixture.setLogLevel("TRACE_DEBUG_PROCESS");
-
- result = fixture.getLogLevel();
- assertNotNull(result);
- assertEquals("TRACE_DEBUG_PROCESS", result.getInName());
- assertEquals("TRACE_DEBUG_PROCESS", result.name());
- assertEquals(9, result.ordinal());
-
- //------------------------
- fixture.setLogLevel("TRACE_DEBUG_MODULE");
-
- result = fixture.getLogLevel();
- assertNotNull(result);
- assertEquals("TRACE_DEBUG_MODULE", result.getInName());
- assertEquals("TRACE_DEBUG_MODULE", result.name());
- assertEquals(10, result.ordinal());
-
- //------------------------
- fixture.setLogLevel("TRACE_DEBUG_UNIT");
-
- result = fixture.getLogLevel();
- assertNotNull(result);
- assertEquals("TRACE_DEBUG_UNIT", result.getInName());
- assertEquals("TRACE_DEBUG_UNIT", result.name());
- assertEquals(11, result.ordinal());
-
- //------------------------
- fixture.setLogLevel("TRACE_DEBUG_FUNCTION");
-
- result = fixture.getLogLevel();
- assertNotNull(result);
- assertEquals("TRACE_DEBUG_FUNCTION", result.getInName());
- assertEquals("TRACE_DEBUG_FUNCTION", result.name());
- assertEquals(12, result.ordinal());
-
- //------------------------
- fixture.setLogLevel("TRACE_DEBUG_LINE");
-
- result = fixture.getLogLevel();
- assertNotNull(result);
- assertEquals("TRACE_DEBUG_LINE", result.getInName());
- assertEquals("TRACE_DEBUG_LINE", result.name());
- assertEquals(13, result.ordinal());
-
- //------------------------
- fixture.setLogLevel("TRACE_DEBUG");
-
- result = fixture.getLogLevel();
- assertNotNull(result);
- assertEquals("TRACE_DEBUG", result.getInName());
- assertEquals("TRACE_DEBUG", result.name());
- assertEquals(14, result.ordinal());
-
- //-------------------------
- fixture.setLogLevel("LEVEL_UNKNOWN");
-
- result = fixture.getLogLevel();
- assertNotNull(result);
- assertEquals("LEVEL_UNKNOWN", result.getInName());
- assertEquals("LEVEL_UNKNOWN", result.name());
- assertEquals(15, result.ordinal());
-
- fixture.setLogLevel("garbage");
-
- result = fixture.getLogLevel();
- assertNotNull(result);
- assertEquals("LEVEL_UNKNOWN", result.getInName());
- assertEquals("LEVEL_UNKNOWN", result.name());
- assertEquals(15, result.ordinal());
- }
-
- /**
- * test filter expression
- */
- @Test
- public void testSetFields() {
- BaseEventInfo info = new BaseEventInfo((BaseEventInfo)fEventInfo2);
- info.setFilterExpression("stringfield==test");
- assertEquals("stringfield==test", info.getFilterExpression());
- }
-
-
- /**
- * test add field
- */
- @Test
- public void testAddField() {
- BaseEventInfo info = new BaseEventInfo((BaseEventInfo)fEventInfo2);
-
- IFieldInfo field = new FieldInfo("intfield");
- field.setFieldType("int");
-
- info.addField(field);
-
- // Verify the stored events
- IFieldInfo[] result = info.getFields();
-
- assertNotNull(result);
- assertEquals(1, result.length);
- assertNotNull(result[0]);
- assertTrue(field.equals(result[0]));
- }
-
- /**
- * test set fields
- */
- @Test
- public void testFields() {
- BaseEventInfo info = new BaseEventInfo((BaseEventInfo)fEventInfo2);
-
- IFieldInfo field1 = new FieldInfo("intfield");
- field1.setFieldType("int");
-
- IFieldInfo field2 = new FieldInfo("stringfield");
- field2.setFieldType("string");
-
- List<IFieldInfo> fields = new LinkedList<>();
- fields.add(field1);
- fields.add(field2);
- info.setFields(fields);
-
- // Verify the stored events
- IFieldInfo[] result = info.getFields();
-
- assertNotNull(result);
- assertEquals(2, result.length);
-
- for (int i = 0; i < result.length; i++) {
- assertNotNull(result[i]);
- assertTrue(fields.get(i).equals(result[i]));
- }
- }
-
- /**
- * Run the String toString() method test.
- */
- @Test
- public void testToString_1() {
- BaseEventInfo fixture = new BaseEventInfo("event");
- fixture.setName("testName");
- fixture.setEventType(TraceEventType.TRACEPOINT);
- fixture.setLogLevel(TraceLogLevel.TRACE_ERR);
-
- String result = fixture.toString();
-
- // add additional test code here
- assertEquals("[BaseEventInfo([TraceInfo(Name=testName)],type=TRACEPOINT,level=TRACE_ERR)]", result);
- }
-
- // ------------------------------------------------------------------------
- // equals
- // ------------------------------------------------------------------------
-
- /**
- * Test the .equals() method.
- */
- @Test
- public void testEqualsReflexivity() {
- assertTrue("equals", fEventInfo1.equals(fEventInfo1));
- assertTrue("equals", fEventInfo2.equals(fEventInfo2));
-
- assertTrue("equals", !fEventInfo1.equals(fEventInfo2));
- assertTrue("equals", !fEventInfo2.equals(fEventInfo1));
- }
-
- /**
- * Test the .equals() method.
- */
- @Test
- public void testEqualsSymmetry() {
- BaseEventInfo info1 = new BaseEventInfo((BaseEventInfo)fEventInfo1);
- BaseEventInfo info2 = new BaseEventInfo((BaseEventInfo)fEventInfo2);
-
- assertTrue("equals", info1.equals(fEventInfo1));
- assertTrue("equals", fEventInfo1.equals(info1));
-
- assertTrue("equals", info2.equals(fEventInfo2));
- assertTrue("equals", fEventInfo2.equals(info2));
- }
-
- /**
- * Test the .equals() method.
- */
- @Test
- public void testEqualsTransivity() {
- BaseEventInfo info1 = new BaseEventInfo((BaseEventInfo)fEventInfo1);
- BaseEventInfo info2 = new BaseEventInfo((BaseEventInfo)fEventInfo1);
- BaseEventInfo info3 = new BaseEventInfo((BaseEventInfo)fEventInfo1);
-
- assertTrue("equals", info1.equals(info2));
- assertTrue("equals", info2.equals(info3));
- assertTrue("equals", info1.equals(info3));
- }
-
- /**
- * Test the .equals() method.
- */
- @Test
- public void testEqualsNull() {
- assertTrue("equals", !fEventInfo1.equals(null));
- assertTrue("equals", !fEventInfo2.equals(null));
- }
-
- // ------------------------------------------------------------------------
- // hashCode
- // ------------------------------------------------------------------------
-
- /**
- * Test the hashCode() method.
- */
- @Test
- public void testHashCode() {
- BaseEventInfo info1 = new BaseEventInfo((BaseEventInfo)fEventInfo1);
- BaseEventInfo info2 = new BaseEventInfo((BaseEventInfo)fEventInfo2);
-
- assertTrue("hashCode", fEventInfo1.hashCode() == info1.hashCode());
- assertTrue("hashCode", fEventInfo2.hashCode() == info2.hashCode());
-
- assertTrue("hashCode", fEventInfo1.hashCode() != info2.hashCode());
- assertTrue("hashCode", fEventInfo2.hashCode() != info1.hashCode());
- }
-} \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.core.tests/src/org/eclipse/linuxtools/lttng2/control/core/tests/model/impl/ChannelInfoTest.java b/lttng/org.eclipse.linuxtools.lttng2.control.core.tests/src/org/eclipse/linuxtools/lttng2/control/core/tests/model/impl/ChannelInfoTest.java
deleted file mode 100644
index 44a078e012..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.core.tests/src/org/eclipse/linuxtools/lttng2/control/core/tests/model/impl/ChannelInfoTest.java
+++ /dev/null
@@ -1,382 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2012, 2014 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:
- * Bernd Hufmann - Initial API and implementation
- * Alexandre Montplaisir - Port to JUnit4
- **********************************************************************/
-
-package org.eclipse.linuxtools.lttng2.control.core.tests.model.impl;
-
-import static org.junit.Assert.*;
-
-import java.util.LinkedList;
-import java.util.List;
-
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.IChannelInfo;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.IEventInfo;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.TraceChannelOutputType;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.TraceEnablement;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.impl.BufferType;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.impl.ChannelInfo;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.impl.EventInfo;
-import org.junit.Before;
-import org.junit.Test;
-
-/**
- * The class <code>ChannelInfoTest</code> contains tests for the class
- * <code>{@link ChannelInfo}</code>.
- */
-public class ChannelInfoTest {
-
- // ------------------------------------------------------------------------
- // Test data
- // ------------------------------------------------------------------------
-
- private IChannelInfo fChannelInfo1 = null;
- private IChannelInfo fChannelInfo2 = null;
-
- // ------------------------------------------------------------------------
- // Housekeeping
- // ------------------------------------------------------------------------
-
- /**
- * Perform pre-test initialization.
- */
- @Before
- public void setUp() {
- ModelImplFactory factory = new ModelImplFactory();
- fChannelInfo1 = factory.getChannel1();
- fChannelInfo2 = factory.getChannel2();
- }
-
- // ------------------------------------------------------------------------
- // Tests
- // ------------------------------------------------------------------------
-
- // ------------------------------------------------------------------------
- // Constructors
- // ------------------------------------------------------------------------
-
- /**
- * Run the ChannelInfo() constructor test.
- */
- @Test
- public void testChannelInfo() {
- ChannelInfo result = new ChannelInfo("test");
- assertNotNull(result);
-
- assertEquals("test", result.getName());
- assertEquals(0, result.getNumberOfSubBuffers());
- assertEquals("unknown", result.getOutputType().getInName());
- assertEquals(TraceChannelOutputType.UNKNOWN, result.getOutputType());
- assertEquals(false, result.isOverwriteMode());
- assertEquals(0, result.getReadTimer());
- assertEquals("disabled", result.getState().getInName());
- assertEquals(0, result.getSubBufferSize());
- assertEquals(0, result.getSwitchTimer());
- assertEquals(0, result.getMaxSizeTraceFiles());
- assertEquals(0, result.getMaxNumberTraceFiles());
- assertEquals(BufferType.BUFFER_TYPE_UNKNOWN, result.getBufferType());
- }
-
- /**
- * Test copy constructor.
- */
- @Test
- public void testChannelInfoCopy() {
- ChannelInfo channelInfo = new ChannelInfo((ChannelInfo)fChannelInfo1);
-
- assertEquals(fChannelInfo1.getName(), channelInfo.getName());
- assertEquals(fChannelInfo1.getNumberOfSubBuffers(), channelInfo.getNumberOfSubBuffers());
- assertEquals(fChannelInfo1.getOutputType(), channelInfo.getOutputType());
- assertEquals(fChannelInfo1.isOverwriteMode(), channelInfo.isOverwriteMode());
- assertEquals(fChannelInfo1.getReadTimer(), channelInfo.getReadTimer());
- assertEquals(fChannelInfo1.getState(), channelInfo.getState());
- assertEquals(fChannelInfo1.getSwitchTimer(), channelInfo.getSwitchTimer());
- assertEquals(fChannelInfo1.getEvents().length, channelInfo.getEvents().length);
- assertEquals(fChannelInfo1.getMaxSizeTraceFiles(), channelInfo.getMaxSizeTraceFiles());
- assertEquals(fChannelInfo1.getMaxNumberTraceFiles(), channelInfo.getMaxNumberTraceFiles());
- assertEquals(fChannelInfo1.getBufferType(), channelInfo.getBufferType());
-
- IEventInfo[] orignalEvents = fChannelInfo1.getEvents();
- IEventInfo[] resultEvents = channelInfo.getEvents();
- for (int i = 0; i < orignalEvents.length; i++) {
- assertEquals(orignalEvents[i], resultEvents[i]);
- }
- }
-
- /**
- * Test copy constructor with a null value.
- */
- @Test
- public void testChannelCopy2() {
- try {
- ChannelInfo channel = null;
- new ChannelInfo(channel);
- fail("null copy");
- }
- catch (IllegalArgumentException e) {
- // Success
- }
- }
-
- /**
- * Run the IEventInfo[] getEvents() method test.
- */
- @Test
- public void testAddAndGetEvents_1() {
- ChannelInfo fixture = new ChannelInfo("test");
- fixture.setSwitchTimer(1L);
- fixture.setOverwriteMode(true);
- fixture.setReadTimer(1L);
- fixture.setState(TraceEnablement.DISABLED);
- fixture.setNumberOfSubBuffers(1);
- fixture.setOutputType("");
- fixture.setSubBufferSize(1L);
-
- // add an event
- IEventInfo event = new EventInfo("event");
- fixture.addEvent(event);
-
- // Verify the stored events
- IEventInfo[] result = fixture.getEvents();
-
- assertNotNull(result);
- assertEquals(1, result.length);
- assertNotNull(result[0]);
- assertTrue(event.equals(result[0]));
- }
-
- /**
- * Run the long getNumberOfSubBuffers() method test.
- */
- @Test
- public void testGetAndSetters() {
- ChannelInfo fixture = new ChannelInfo("test");
- fixture.setSwitchTimer(2L);
- fixture.setOverwriteMode(true);
- fixture.setReadTimer(3L);
- fixture.setState(TraceEnablement.DISABLED);
- fixture.setNumberOfSubBuffers(4);
- fixture.setOutputType("splice()");
- fixture.setSubBufferSize(1L);
- fixture.setMaxSizeTraceFiles(1024);
- fixture.setMaxNumberTraceFiles(20);
- fixture.setBufferType(BufferType.BUFFER_PER_UID);
- fixture.addEvent(new EventInfo("event"));
-
- long switchTimer = fixture.getSwitchTimer();
- assertEquals(2L, switchTimer);
-
- boolean mode = fixture.isOverwriteMode();
- assertTrue(mode);
-
- long readTimer = fixture.getReadTimer();
- assertEquals(3L, readTimer);
-
- TraceEnablement state = fixture.getState();
- assertEquals("disabled", state.getInName());
-
- long numSubBuffers = fixture.getNumberOfSubBuffers();
- assertEquals(4, numSubBuffers);
-
- String outputType = fixture.getOutputType().getInName();
- assertEquals("splice()", outputType);
-
- long subBufferSize = fixture.getSubBufferSize();
- assertEquals(1L, subBufferSize);
-
- int maxSizeTraceFiles = fixture.getMaxSizeTraceFiles();
- assertEquals(1024, maxSizeTraceFiles);
-
- int maxNumberTraceFiles = fixture.getMaxNumberTraceFiles();
- assertEquals(20, maxNumberTraceFiles);
-
- BufferType bufferType = fixture.getBufferType();
- assertTrue(bufferType == BufferType.BUFFER_PER_UID);
-
- fixture.setSwitchTimer(5L);
- fixture.setOverwriteMode(false);
- fixture.setReadTimer(6L);
- fixture.setState(TraceEnablement.ENABLED);
- fixture.setNumberOfSubBuffers(7);
- fixture.setOutputType("mmap()");
- fixture.setSubBufferSize(8L);
- fixture.setMaxSizeTraceFiles(4096);
- fixture.setMaxNumberTraceFiles(10);
- fixture.setBufferType(BufferType.BUFFER_PER_PID);
-
- switchTimer = fixture.getSwitchTimer();
- assertEquals(5L, switchTimer);
-
- mode = fixture.isOverwriteMode();
- assertFalse(mode);
-
- readTimer = fixture.getReadTimer();
- assertEquals(6L, readTimer);
-
- state = fixture.getState();
- assertEquals("enabled", state.getInName());
-
- numSubBuffers = fixture.getNumberOfSubBuffers();
- assertEquals(7, numSubBuffers);
-
- outputType = fixture.getOutputType().getInName();
- assertEquals("mmap()", outputType);
-
- subBufferSize = fixture.getSubBufferSize();
- assertEquals(8L, subBufferSize);
-
- maxSizeTraceFiles = fixture.getMaxSizeTraceFiles();
- assertEquals(4096, maxSizeTraceFiles);
-
- maxNumberTraceFiles = fixture.getMaxNumberTraceFiles();
- assertEquals(10, maxNumberTraceFiles);
-
- bufferType = fixture.getBufferType();
- assertTrue(bufferType == BufferType.BUFFER_PER_PID);
- }
-
- /**
- * Run the void setEvents(List<IEventInfo>) method test.
- */
- @Test
- public void testSetEvents_1() {
- ChannelInfo fixture = new ChannelInfo("test");
- fixture.setSwitchTimer(1L);
- fixture.setOverwriteMode(true);
- fixture.setReadTimer(1L);
- fixture.setState(TraceEnablement.DISABLED);
- fixture.setNumberOfSubBuffers(1);
- fixture.setOutputType("");
- fixture.setSubBufferSize(1L);
- List<IEventInfo> events = new LinkedList<>();
-
- for (int i = 0; i < 2; i++) {
- IEventInfo info = new EventInfo("event" + i);
- info.setEventType("tracepoint");
- info.setState((i % 2 == 0 ? "enabled" : "disabled"));
- events.add(info);
- }
-
- fixture.setEvents(events);
-
- IEventInfo[] infos = fixture.getEvents();
-
- assertEquals(events.size(), infos.length);
-
- for (int i = 0; i < infos.length; i++) {
- assertEquals(events.get(i), infos[i]);
- }
- }
-
- /**
- * Run the String toString() method test.
- */
- @Test
- public void testToString_1() {
- ChannelInfo fixture = new ChannelInfo("channel");
- fixture.setSwitchTimer(1L);
- fixture.setOverwriteMode(true);
- fixture.setReadTimer(1L);
- fixture.setState(TraceEnablement.DISABLED);
- fixture.setNumberOfSubBuffers(1);
- fixture.setOutputType("splice()");
- fixture.setSubBufferSize(1L);
-
- String result = fixture.toString();
-
- // add additional test code here
- assertEquals("[ChannelInfo([TraceInfo(Name=channel)],State=DISABLED,OverwriteMode=true,SubBuffersSize=1,NumberOfSubBuffers=1,SwitchTimer=1,ReadTimer=1,output=splice(),Events=None)]", result);
- }
-
- /**
- * Run another String toString() method test.
- */
- @Test
- public void testToString_2() {
- String result = fChannelInfo1.toString();
-
- // add additional test code here
- assertEquals("[ChannelInfo([TraceInfo(Name=channel1)],State=DISABLED,OverwriteMode=true,SubBuffersSize=13,NumberOfSubBuffers=12,SwitchTimer=10,ReadTimer=11,output=splice(),Events=[EventInfo([BaseEventInfo([TraceInfo(Name=event1)],type=TRACEPOINT,level=TRACE_DEBUG)],State=ENABLED,levelType=LOGLEVEL_ONLY)])]", result);
- }
-
- // ------------------------------------------------------------------------
- // equals
- // ------------------------------------------------------------------------
-
- /**
- * Run the equals() method test.
- */
- @Test
- public void testEqualsReflexivity() {
- assertTrue("equals", fChannelInfo1.equals(fChannelInfo1));
- assertTrue("equals", fChannelInfo2.equals(fChannelInfo2));
-
- assertTrue("equals", !fChannelInfo1.equals(fChannelInfo2));
- assertTrue("equals", !fChannelInfo2.equals(fChannelInfo1));
- }
-
- /**
- * Run the equals() method test.
- */
- @Test
- public void testEqualsSymmetry() {
- ChannelInfo event1 = new ChannelInfo((ChannelInfo)fChannelInfo1);
- ChannelInfo event2 = new ChannelInfo((ChannelInfo)fChannelInfo2);
-
- assertTrue("equals", event1.equals(fChannelInfo1));
- assertTrue("equals", fChannelInfo1.equals(event1));
-
- assertTrue("equals", event2.equals(fChannelInfo2));
- assertTrue("equals", fChannelInfo2.equals(event2));
- }
-
- /**
- * Run the equals() method test.
- */
- @Test
- public void testEqualsTransivity() {
- ChannelInfo channel1 = new ChannelInfo((ChannelInfo)fChannelInfo1);
- ChannelInfo channel2 = new ChannelInfo((ChannelInfo)fChannelInfo1);
- ChannelInfo channel3 = new ChannelInfo((ChannelInfo)fChannelInfo1);
-
- assertTrue("equals", channel1.equals(channel2));
- assertTrue("equals", channel2.equals(channel3));
- assertTrue("equals", channel1.equals(channel3));
- }
-
- /**
- * Run the equals() method test.
- */
- @Test
- public void testEqualsNull() {
- assertTrue("equals", !fChannelInfo1.equals(null));
- assertTrue("equals", !fChannelInfo2.equals(null));
- }
-
- // ------------------------------------------------------------------------
- // hashCode
- // ------------------------------------------------------------------------
-
- /**
- * Run the hashCode() method test.
- */
- @Test
- public void testHashCode() {
- ChannelInfo channel1 = new ChannelInfo((ChannelInfo)fChannelInfo1);
- ChannelInfo channel2 = new ChannelInfo((ChannelInfo)fChannelInfo2);
-
- assertTrue("hashCode", fChannelInfo1.hashCode() == channel1.hashCode());
- assertTrue("hashCode", fChannelInfo2.hashCode() == channel2.hashCode());
-
- assertTrue("hashCode", fChannelInfo1.hashCode() != channel2.hashCode());
- assertTrue("hashCode", fChannelInfo2.hashCode() != channel1.hashCode());
- }
-} \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.core.tests/src/org/eclipse/linuxtools/lttng2/control/core/tests/model/impl/DomainInfoTest.java b/lttng/org.eclipse.linuxtools.lttng2.control.core.tests/src/org/eclipse/linuxtools/lttng2/control/core/tests/model/impl/DomainInfoTest.java
deleted file mode 100644
index ff6fba5cf0..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.core.tests/src/org/eclipse/linuxtools/lttng2/control/core/tests/model/impl/DomainInfoTest.java
+++ /dev/null
@@ -1,225 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2012, 2014 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:
- * Bernd Hufmann - Initial API and implementation
- * Alexandre Montplaisir - Port to JUnit4
- **********************************************************************/
-
-package org.eclipse.linuxtools.lttng2.control.core.tests.model.impl;
-
-import static org.junit.Assert.*;
-
-import java.util.LinkedList;
-import java.util.List;
-
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.IChannelInfo;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.IDomainInfo;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.impl.DomainInfo;
-import org.junit.Before;
-import org.junit.Test;
-
-/**
- * The class <code>ChannelInfoTest</code> contains tests for the class
- * <code>{@link DomainInfo}</code>.
- */
-public class DomainInfoTest {
-
- // ------------------------------------------------------------------------
- // Test data
- // ------------------------------------------------------------------------
-
- private IDomainInfo fDomainInfo1 = null;
- private IDomainInfo fDomainInfo2 = null;
- private IChannelInfo fChannelInfo1 = null;
- private IChannelInfo fChannelInfo2 = null;
-
- // ------------------------------------------------------------------------
- // Housekeeping
- // ------------------------------------------------------------------------
-
- /**
- * Perform pre-test initialization.
- */
- @Before
- public void setUp() {
- // Get test instances from the factory
- ModelImplFactory factory = new ModelImplFactory();
- fChannelInfo1 = factory.getChannel1();
- fChannelInfo2 = factory.getChannel2();
- fDomainInfo1 = factory.getDomainInfo1();
- fDomainInfo2 = factory.getDomainInfo2();
- }
-
- // ------------------------------------------------------------------------
- // Tests
- // ------------------------------------------------------------------------
-
- // ------------------------------------------------------------------------
- // Constructors
- // ------------------------------------------------------------------------
-
- /**
- * Run the ChannelInfo() constructor test.
- */
- @Test
- public void testDomainInfo() {
- DomainInfo result = new DomainInfo("test");
- assertNotNull(result);
-
- assertEquals("test", result.getName());
- assertEquals(0, result.getChannels().length);
- }
-
- /**
- * Test the copy constructor.
- */
- @Test
- public void testDomainInfoCopy() {
- DomainInfo channelInfo = new DomainInfo((DomainInfo)fDomainInfo1);
- IChannelInfo[] orignalEvents = fDomainInfo1.getChannels();
- IChannelInfo[] resultEvents = channelInfo.getChannels();
- for (int i = 0; i < orignalEvents.length; i++) {
- assertEquals(orignalEvents[i], resultEvents[i]);
- }
- }
-
- /**
- * Test the copy constructor.
- */
- @Test
- public void testDomainlCopy2() {
- try {
- DomainInfo domain = null;
- new DomainInfo(domain);
- fail("null copy");
- }
- catch (IllegalArgumentException e) {
- // Success
- }
- }
-
- /**
- * Run the long getNumberOfSubBuffers() method test.
- */
- @Test
- public void testGetAndSetters() {
-
- // Note that addChannel() has been executed in setUp()
- // check get method here
- assertEquals(1, fDomainInfo1.getChannels().length);
- assertNotNull(fDomainInfo1.getChannels()[0]);
- assertEquals(fChannelInfo1, fDomainInfo1.getChannels()[0]);
-
- IDomainInfo domain = new DomainInfo("domain");
- List<IChannelInfo> list = new LinkedList<>();
- list.add(fChannelInfo1);
- list.add(fChannelInfo2);
- domain.setChannels(list);
-
- IChannelInfo[] result = domain.getChannels();
- assertEquals(2, result.length);
- assertEquals(fChannelInfo1, result[0]);
- assertEquals(fChannelInfo2, result[1]);
- }
-
- /**
- * Run the String toString() method test.
- */
- @Test
- public void testToString_1() {
- DomainInfo fixture = new DomainInfo("domain");
-
- String result = fixture.toString();
-
- assertEquals("[DomainInfo([TraceInfo(Name=domain)],Channels=None,isKernel=false)]", result);
- }
-
- /**
- * Run the String toString() method test.
- */
- @Test
- public void testToString_2() {
- String result = fDomainInfo1.toString();
-
- assertEquals("[DomainInfo([TraceInfo(Name=test1)],Channels=[ChannelInfo([TraceInfo(Name=channel1)],State=DISABLED,OverwriteMode=true,SubBuffersSize=13,NumberOfSubBuffers=12,SwitchTimer=10,ReadTimer=11,output=splice(),Events=[EventInfo([BaseEventInfo([TraceInfo(Name=event1)],type=TRACEPOINT,level=TRACE_DEBUG)],State=ENABLED,levelType=LOGLEVEL_ONLY)])],isKernel=false)]", result);
- }
-
- // ------------------------------------------------------------------------
- // equals
- // ------------------------------------------------------------------------
-
- /**
- * Run the equals() method test.
- */
- @Test
- public void testEqualsReflexivity() {
- assertTrue("equals", fDomainInfo1.equals(fDomainInfo1));
- assertTrue("equals", fDomainInfo2.equals(fDomainInfo2));
-
- assertTrue("equals", !fDomainInfo1.equals(fDomainInfo2));
- assertTrue("equals", !fDomainInfo2.equals(fDomainInfo1));
- }
-
- /**
- * Run the equals() method test.
- */
- @Test
- public void testEqualsSymmetry() {
- DomainInfo event1 = new DomainInfo((DomainInfo)fDomainInfo1);
- DomainInfo event2 = new DomainInfo((DomainInfo)fDomainInfo2);
-
- assertTrue("equals", event1.equals(fDomainInfo1));
- assertTrue("equals", fDomainInfo1.equals(event1));
-
- assertTrue("equals", event2.equals(fDomainInfo2));
- assertTrue("equals", fDomainInfo2.equals(event2));
- }
-
- /**
- * Run the equals() method test.
- */
- @Test
- public void testEqualsTransivity() {
- DomainInfo channel1 = new DomainInfo((DomainInfo)fDomainInfo1);
- DomainInfo channel2 = new DomainInfo((DomainInfo)fDomainInfo1);
- DomainInfo channel3 = new DomainInfo((DomainInfo)fDomainInfo1);
-
- assertTrue("equals", channel1.equals(channel2));
- assertTrue("equals", channel2.equals(channel3));
- assertTrue("equals", channel1.equals(channel3));
- }
-
- /**
- * Run the equals() method test.
- */
- @Test
- public void testEqualsNull() {
- assertTrue("equals", !fDomainInfo1.equals(null));
- assertTrue("equals", !fDomainInfo2.equals(null));
- }
-
- // ------------------------------------------------------------------------
- // hashCode
- // ------------------------------------------------------------------------
-
- /**
- * Run the hashCode() method test.
- */
- @Test
- public void testHashCode() {
- DomainInfo channel1 = new DomainInfo((DomainInfo)fDomainInfo1);
- DomainInfo channel2 = new DomainInfo((DomainInfo)fDomainInfo2);
-
- assertTrue("hashCode", fDomainInfo1.hashCode() == channel1.hashCode());
- assertTrue("hashCode", fDomainInfo2.hashCode() == channel2.hashCode());
-
- assertTrue("hashCode", fDomainInfo1.hashCode() != channel2.hashCode());
- assertTrue("hashCode", fDomainInfo2.hashCode() != channel1.hashCode());
- }
-} \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.core.tests/src/org/eclipse/linuxtools/lttng2/control/core/tests/model/impl/EventInfoTest.java b/lttng/org.eclipse.linuxtools.lttng2.control.core.tests/src/org/eclipse/linuxtools/lttng2/control/core/tests/model/impl/EventInfoTest.java
deleted file mode 100644
index e0c5212a35..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.core.tests/src/org/eclipse/linuxtools/lttng2/control/core/tests/model/impl/EventInfoTest.java
+++ /dev/null
@@ -1,366 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2012, 2013 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:
- * Bernd Hufmann - Initial API and implementation
- * Alexandre Montplaisir - Port to JUnit4
- **********************************************************************/
-
-package org.eclipse.linuxtools.lttng2.control.core.tests.model.impl;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertTrue;
-import static org.junit.Assert.fail;
-
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.IEventInfo;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.LogLevelType;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.TraceEnablement;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.TraceEventType;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.impl.EventInfo;
-import org.junit.Before;
-import org.junit.Test;
-
-/**
- * The class <code>EventInfoTest</code> contains test for the class
- * <code>{@link EventInfo}</code>.
- */
-public class EventInfoTest {
-
- // ------------------------------------------------------------------------
- // Test data
- // ------------------------------------------------------------------------
-
- private IEventInfo fEventInfo1 = null;
- private IEventInfo fEventInfo2 = null;
-
- // ------------------------------------------------------------------------
- // Housekeeping
- // ------------------------------------------------------------------------
-
- /**
- * Perform pre-test initialization.
- */
- @Before
- public void setUp() {
- ModelImplFactory factory = new ModelImplFactory();
- fEventInfo1 = factory.getEventInfo1();
- fEventInfo2 = factory.getEventInfo2();
- }
-
- // ------------------------------------------------------------------------
- // Tests
- // ------------------------------------------------------------------------
-
- /**
- * Run the EventInfo() constructor test.
- */
- @Test
- public void testBaseEventInfo() {
- EventInfo fixture = new EventInfo("event");
- assertNotNull(fixture);
-
- TraceEventType result = fixture.getEventType();
-
- assertEquals("event", fixture.getName());
- assertEquals("unknown", result.getInName());
- assertEquals("UNKNOWN", result.name());
- assertEquals("UNKNOWN", result.toString());
- assertEquals(4, result.ordinal());
-
- TraceEnablement state = fixture.getState();
- assertEquals("disabled", state.getInName());
- assertEquals("DISABLED", state.name());
- assertEquals("DISABLED", state.toString());
- assertEquals(0, state.ordinal());
-
- LogLevelType logType = fixture.getLogLevelType();
- assertEquals("", logType.getShortName());
- assertEquals("LOGLEVEL_NONE", logType.name());
- assertEquals("LOGLEVEL_NONE", logType.toString());
- assertEquals(0, state.ordinal());
-
-
- }
-
- /**
- * Test Copy Constructor
- */
- @Test
- public void testEventInfoCopy() {
- EventInfo info = new EventInfo((EventInfo)fEventInfo1);
-
- assertEquals(fEventInfo1.getName(), info.getName());
- assertEquals(fEventInfo1.getEventType(), info.getEventType());
- assertEquals(fEventInfo1.getState(), info.getState());
- assertEquals(fEventInfo1.getLogLevelType(), info.getLogLevelType());
- }
-
- /**
- * Test Copy Constructor
- */
- @Test
- public void testEventCopy2() {
- try {
- EventInfo info = null;
- new EventInfo(info);
- fail("null copy");
- }
- catch (IllegalArgumentException e) {
- // Success
- }
- }
-
- /**
- * Getter/Setter tests
- */
- @Test
- public void testGetAndSetter() {
- EventInfo fixture = new EventInfo("event");
-
- fixture.setEventType(TraceEventType.TRACEPOINT);
- TraceEventType result = fixture.getEventType();
-
- // setEventType(TraceEventType type)
- assertNotNull(result);
- assertEquals("tracepoint", result.getInName());
- assertEquals("TRACEPOINT", result.name());
- assertEquals("TRACEPOINT", result.toString());
- assertEquals(0, result.ordinal());
-
- fixture.setEventType(TraceEventType.UNKNOWN);
- result = fixture.getEventType();
- assertEquals("unknown", result.getInName());
- assertEquals("UNKNOWN", result.name());
- assertEquals("UNKNOWN", result.toString());
- assertEquals(4, result.ordinal());
-
- // setEventType(String typeName)
- String typeName = "";
- fixture.setEventType(typeName);
- result = fixture.getEventType();
-
- assertEquals("unknown", result.getInName());
- assertEquals("UNKNOWN", result.name());
- assertEquals("UNKNOWN", result.toString());
- assertEquals(4, result.ordinal());
-
- typeName = "unknown";
-
- fixture.setEventType(typeName);
- result = fixture.getEventType();
-
- assertEquals("unknown", result.getInName());
- assertEquals("UNKNOWN", result.name());
- assertEquals("UNKNOWN", result.toString());
- assertEquals(4, result.ordinal());
-
- // setState(String stateName)
- fixture.setState("disabled");
- TraceEnablement state = fixture.getState();
- assertEquals("disabled", state.getInName());
- assertEquals("DISABLED", state.name());
- assertEquals("DISABLED", state.toString());
- assertEquals(0, state.ordinal());
-
- fixture.setState("false");
- state = fixture.getState();
- assertEquals("false", state.getInMiName());
- assertEquals("DISABLED", state.name());
- assertEquals("DISABLED", state.toString());
- assertEquals(0, state.ordinal());
-
- fixture.setState("bla");
- state = fixture.getState();
- assertEquals("disabled", state.getInName());
- assertEquals("DISABLED", state.name());
- assertEquals("DISABLED", state.toString());
- assertEquals(0, state.ordinal());
-
- fixture.setState("enabled");
- state = fixture.getState();
- assertEquals("enabled", state.getInName());
- assertEquals("ENABLED", state.name());
- assertEquals("ENABLED", state.toString());
- assertEquals(1, state.ordinal());
-
- fixture.setState("true");
- state = fixture.getState();
- assertEquals("true", state.getInMiName());
- assertEquals("ENABLED", state.name());
- assertEquals("ENABLED", state.toString());
- assertEquals(1, state.ordinal());
-
- // setState(TraceEnablement state)
- fixture.setState(TraceEnablement.DISABLED);
- state = fixture.getState();
- assertEquals("disabled", state.getInName());
- assertEquals("DISABLED", state.name());
- assertEquals("DISABLED", state.toString());
- assertEquals(0, state.ordinal());
-
- fixture.setState(TraceEnablement.ENABLED);
- state = fixture.getState();
- assertEquals("enabled", state.getInName());
- assertEquals("ENABLED", state.name());
- assertEquals("ENABLED", state.toString());
- assertEquals(1, state.ordinal());
-
- // setLogLevelType(String name)
- fixture.setLogLevelType("==");
- assertEquals("LOGLEVEL_ONLY", fixture.getLogLevelType().name());
- assertEquals("==", fixture.getLogLevelType().getShortName());
-
- fixture.setLogLevelType("<=");
- assertEquals("LOGLEVEL", fixture.getLogLevelType().name());
- assertEquals("<=", fixture.getLogLevelType().getShortName());
-
- fixture.setLogLevelType("");
- assertEquals("LOGLEVEL_ALL", fixture.getLogLevelType().name());
- assertEquals("", fixture.getLogLevelType().getShortName());
-
- fixture.setLogLevelType(LogLevelType.LOGLEVEL_ONLY);
- assertEquals("LOGLEVEL_ONLY", fixture.getLogLevelType().name());
- assertEquals("==", fixture.getLogLevelType().getShortName());
-
- fixture.setLogLevelType(LogLevelType.LOGLEVEL);
- assertEquals("LOGLEVEL", fixture.getLogLevelType().name());
- assertEquals("<=", fixture.getLogLevelType().getShortName());
-
- fixture.setLogLevelType(LogLevelType.LOGLEVEL_ALL);
- assertEquals("LOGLEVEL_ALL", fixture.getLogLevelType().name());
- assertEquals("", fixture.getLogLevelType().getShortName());
-
- fixture.setLogLevelType(LogLevelType.LOGLEVEL_NONE);
- assertEquals("LOGLEVEL_NONE", fixture.getLogLevelType().name());
- assertEquals("", fixture.getLogLevelType().getShortName());
-
- // setLogLevelType(String name)
- // machine interface
- fixture.setLogLevelType("SINGLE");
- assertEquals("LOGLEVEL_ONLY", fixture.getLogLevelType().name());
- assertEquals("SINGLE", fixture.getLogLevelType().getMiName());
-
- fixture.setLogLevelType("RANGE");
- assertEquals("LOGLEVEL", fixture.getLogLevelType().name());
- assertEquals("RANGE", fixture.getLogLevelType().getMiName());
-
- fixture.setLogLevelType("ALL");
- assertEquals("LOGLEVEL_ALL", fixture.getLogLevelType().name());
- assertEquals("ALL", fixture.getLogLevelType().getMiName());
-
- fixture.setLogLevelType("UNKNOWN");
- assertEquals("LOGLEVEL_NONE", fixture.getLogLevelType().name());
- assertEquals("UNKNOWN", fixture.getLogLevelType().getMiName());
-
- }
-
- /**
- * Run the String toString() method test.
- */
- @Test
- public void testToString_1() {
- EventInfo fixture = new EventInfo("event");
- fixture.setName("testName");
- fixture.setEventType(TraceEventType.TRACEPOINT);
-
- String result = fixture.toString();
-
- // add additional test code here
- assertEquals("[EventInfo([BaseEventInfo([TraceInfo(Name=testName)],type=TRACEPOINT,level=TRACE_DEBUG)],State=DISABLED,levelType=LOGLEVEL_NONE)]", result);
- }
-
- /**
- * Run the String toString() method test.
- */
- @Test
- public void testToString_2() {
- EventInfo fixture = new EventInfo("event");
- fixture.setName("testName");
- fixture.setEventType(TraceEventType.TRACEPOINT);
- fixture.setLogLevelType(LogLevelType.LOGLEVEL_ONLY);
-
- String result = fixture.toString();
-
- // add additional test code here
- assertEquals("[EventInfo([BaseEventInfo([TraceInfo(Name=testName)],type=TRACEPOINT,level=TRACE_DEBUG)],State=DISABLED,levelType=LOGLEVEL_ONLY)]", result);
- }
-
- // ------------------------------------------------------------------------
- // equals
- // ------------------------------------------------------------------------
-
- /**
- * Run the equals() method test.
- */
- @Test
- public void testEqualsReflexivity() {
- assertTrue("equals", fEventInfo1.equals(fEventInfo1));
- assertTrue("equals", fEventInfo2.equals(fEventInfo2));
-
- assertTrue("equals", !fEventInfo1.equals(fEventInfo2));
- assertTrue("equals", !fEventInfo2.equals(fEventInfo1));
- }
-
- /**
- * Run the equals() method test.
- */
- @Test
- public void testEqualsSymmetry() {
- EventInfo info1 = new EventInfo((EventInfo)fEventInfo1);
- EventInfo info2 = new EventInfo((EventInfo)fEventInfo2);
-
- assertTrue("equals", info1.equals(fEventInfo1));
- assertTrue("equals", fEventInfo1.equals(info1));
-
- assertTrue("equals", info2.equals(fEventInfo2));
- assertTrue("equals", fEventInfo2.equals(info2));
- }
-
- /**
- * Run the equals() method test.
- */
- @Test
- public void testEqualsTransivity() {
- EventInfo info1 = new EventInfo((EventInfo)fEventInfo1);
- EventInfo info2 = new EventInfo((EventInfo)fEventInfo1);
- EventInfo info3 = new EventInfo((EventInfo)fEventInfo1);
-
- assertTrue("equals", info1.equals(info2));
- assertTrue("equals", info2.equals(info3));
- assertTrue("equals", info1.equals(info3));
- }
-
- /**
- * Run the equals() method test.
- */
- @Test
- public void testEqualsNull() {
- assertTrue("equals", !fEventInfo1.equals(null));
- assertTrue("equals", !fEventInfo2.equals(null));
- }
-
- // ------------------------------------------------------------------------
- // hashCode
- // ------------------------------------------------------------------------
-
- /**
- * Run the hashCode() method test.
- */
- @Test
- public void testHashCode() {
- EventInfo info1 = new EventInfo((EventInfo)fEventInfo1);
- EventInfo info2 = new EventInfo((EventInfo)fEventInfo2);
-
- assertTrue("hashCode", fEventInfo1.hashCode() == info1.hashCode());
- assertTrue("hashCode", fEventInfo2.hashCode() == info2.hashCode());
-
- assertTrue("hashCode", fEventInfo1.hashCode() != info2.hashCode());
- assertTrue("hashCode", fEventInfo2.hashCode() != info1.hashCode());
- }
-} \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.core.tests/src/org/eclipse/linuxtools/lttng2/control/core/tests/model/impl/FieldInfoTest.java b/lttng/org.eclipse.linuxtools.lttng2.control.core.tests/src/org/eclipse/linuxtools/lttng2/control/core/tests/model/impl/FieldInfoTest.java
deleted file mode 100644
index c0b18c8a20..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.core.tests/src/org/eclipse/linuxtools/lttng2/control/core/tests/model/impl/FieldInfoTest.java
+++ /dev/null
@@ -1,186 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2012, 2013 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:
- * Bernd Hufmann - Initial API and implementation
- * Alexandre Montplaisir - Port to JUnit4
- **********************************************************************/
-
-package org.eclipse.linuxtools.lttng2.control.core.tests.model.impl;
-
-import static org.junit.Assert.*;
-
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.IFieldInfo;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.impl.FieldInfo;
-import org.junit.Before;
-import org.junit.Test;
-
-/**
- * The class <code>FieldInfoTest</code> contains test for the class
- * <code>{@link FieldInfo}</code>.
- */
-public class FieldInfoTest {
-
- // ------------------------------------------------------------------------
- // Test data
- // ------------------------------------------------------------------------
-
- private IFieldInfo fFieldInfo1 = null;
- private IFieldInfo fFieldInfo2 = null;
-
- // ------------------------------------------------------------------------
- // Housekeeping
- // ------------------------------------------------------------------------
-
- /**
- * Perform pre-test initialization.
- */
- @Before
- public void setUp() {
- ModelImplFactory factory = new ModelImplFactory();
- fFieldInfo1 = factory.getFieldInfo1();
- fFieldInfo2 = factory.getFieldInfo2();
- }
-
- // ------------------------------------------------------------------------
- // Tests
- // ------------------------------------------------------------------------
-
- /**
- * Run the BaseEventInfo() constructor test.
- */
- @Test
- public void testFiledInfo() {
- FieldInfo fixture = new FieldInfo("field");
- assertNotNull(fixture);
-
- assertEquals("field", fixture.getName());
- assertNull(fixture.getFieldType());
- }
-
- /**
- * Test Copy Constructor
- */
- @Test
- public void testEventInfoCopy() {
- FieldInfo info = new FieldInfo((FieldInfo)fFieldInfo1);
-
- assertEquals(fFieldInfo1.getName(), info.getName());
- assertEquals(fFieldInfo1.getFieldType(), info.getFieldType());
- }
-
- /**
- * Test Copy Constructor
- */
- @Test
- public void testEventCopy2() {
- try {
- FieldInfo info = null;
- new FieldInfo(info);
- fail("null copy");
- }
- catch (IllegalArgumentException e) {
- // Success
- }
- }
-
- /**
- * Run the TraceEventType getEventType() method test.
- */
- @Test
- public void testSetFieldType() {
- FieldInfo info = new FieldInfo((FieldInfo)fFieldInfo1);
-
- info.setFieldType("string");
- assertEquals("string", info.getFieldType());
- }
-
- /**
- * Run the toString() method test.
- */
- @Test
- public void testToString() {
- String result = fFieldInfo1.toString();
-
- // add additional test code here
- assertEquals("[FieldInfo([TraceInfo(Name=intfield)],type=int", result);
- }
-
- // ------------------------------------------------------------------------
- // equals
- // ------------------------------------------------------------------------
-
- /**
- * Run the equals() method test.
- */
- @Test
- public void testEqualsReflexivity() {
- assertTrue("equals", fFieldInfo1.equals(fFieldInfo1));
- assertTrue("equals", fFieldInfo2.equals(fFieldInfo2));
-
- assertTrue("equals", !fFieldInfo1.equals(fFieldInfo2));
- assertTrue("equals", !fFieldInfo2.equals(fFieldInfo1));
- }
-
- /**
- * Run the equals() method test.
- */
- @Test
- public void testEqualsSymmetry() {
- FieldInfo info1 = new FieldInfo((FieldInfo)fFieldInfo1);
- FieldInfo info2 = new FieldInfo((FieldInfo)fFieldInfo2);
-
- assertTrue("equals", info1.equals(fFieldInfo1));
- assertTrue("equals", fFieldInfo1.equals(info1));
-
- assertTrue("equals", info2.equals(fFieldInfo2));
- assertTrue("equals", fFieldInfo2.equals(info2));
- }
-
- /**
- * Run the equals() method test.
- */
- @Test
- public void testEqualsTransivity() {
- FieldInfo info1 = new FieldInfo((FieldInfo)fFieldInfo1);
- FieldInfo info2 = new FieldInfo((FieldInfo)fFieldInfo1);
- FieldInfo info3 = new FieldInfo((FieldInfo)fFieldInfo1);
-
- assertTrue("equals", info1.equals(info2));
- assertTrue("equals", info2.equals(info3));
- assertTrue("equals", info1.equals(info3));
- }
-
- /**
- * Run the equals() method test.
- */
- @Test
- public void testEqualsNull() {
- assertTrue("equals", !fFieldInfo1.equals(null));
- assertTrue("equals", !fFieldInfo2.equals(null));
- }
-
- // ------------------------------------------------------------------------
- // hashCode
- // ------------------------------------------------------------------------
-
- /**
- * Run the equals() method test.
- */
- @Test
- public void testHashCode() {
- FieldInfo info1 = new FieldInfo((FieldInfo)fFieldInfo1);
- FieldInfo info2 = new FieldInfo((FieldInfo)fFieldInfo2);
-
- assertTrue("hashCode", fFieldInfo1.hashCode() == info1.hashCode());
- assertTrue("hashCode", fFieldInfo2.hashCode() == info2.hashCode());
-
- assertTrue("hashCode", fFieldInfo1.hashCode() != info2.hashCode());
- assertTrue("hashCode", fFieldInfo2.hashCode() != info1.hashCode());
- }
-} \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.core.tests/src/org/eclipse/linuxtools/lttng2/control/core/tests/model/impl/ModelImplFactory.java b/lttng/org.eclipse.linuxtools.lttng2.control.core.tests/src/org/eclipse/linuxtools/lttng2/control/core/tests/model/impl/ModelImplFactory.java
deleted file mode 100644
index 569f961007..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.core.tests/src/org/eclipse/linuxtools/lttng2/control/core/tests/model/impl/ModelImplFactory.java
+++ /dev/null
@@ -1,244 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2012, 2014 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:
- * Bernd Hufmann - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.lttng2.control.core.tests.model.impl;
-
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.IBaseEventInfo;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.IChannelInfo;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.IDomainInfo;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.IEventInfo;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.IFieldInfo;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.IProbeEventInfo;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.ISessionInfo;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.ISnapshotInfo;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.IUstProviderInfo;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.TraceEnablement;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.TraceEventType;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.TraceLogLevel;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.TraceSessionState;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.impl.BaseEventInfo;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.impl.ChannelInfo;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.impl.DomainInfo;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.impl.EventInfo;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.impl.FieldInfo;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.impl.ProbeEventInfo;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.impl.SessionInfo;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.impl.SnapshotInfo;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.impl.UstProviderInfo;
-
-/**
- * Test facility to constants across test case
- */
-@SuppressWarnings("javadoc")
-public class ModelImplFactory {
-
- private ISessionInfo fSessionInfo1 = null;
- private ISessionInfo fSessionInfo2 = null;
- private IDomainInfo fDomainInfo1 = null;
- private IDomainInfo fDomainInfo2 = null;
- private IChannelInfo fChannelInfo1 = null;
- private IChannelInfo fChannelInfo2 = null;
- private IEventInfo fEventInfo1 = null;
- private IEventInfo fEventInfo2 = null;
- private IEventInfo fEventInfo3 = null;
- private IFieldInfo fFieldInfo1 = null;
- private IFieldInfo fFieldInfo2 = null;
- private IBaseEventInfo fBaseEventInfo1 = null;
- private IBaseEventInfo fBaseEventInfo2 = null;
- private IUstProviderInfo fUstProviderInfo1 = null;
- private IUstProviderInfo fUstProviderInfo2 = null;
- private IProbeEventInfo fProbeEventInfo1 = null;
- private IProbeEventInfo fProbeEventInfo2 = null;
- private ISnapshotInfo fSnapshotInfo1 = null;
- private ISnapshotInfo fSnapshotInfo2 = null;
-
- public ModelImplFactory() {
-
- fFieldInfo1 = new FieldInfo("intfield");
- fFieldInfo1.setFieldType("int");
- fFieldInfo2 = new FieldInfo("stringfield");
- fFieldInfo2.setFieldType("string");
-
- fBaseEventInfo1 = new BaseEventInfo("event1");
- fBaseEventInfo1.setEventType(TraceEventType.UNKNOWN);
- fBaseEventInfo1.setLogLevel(TraceLogLevel.TRACE_ERR);
- fBaseEventInfo1.addField(fFieldInfo1);
- fBaseEventInfo1.addField(fFieldInfo2);
- fBaseEventInfo1.setFilterExpression("intField==10");
-
- fBaseEventInfo2 = new BaseEventInfo("event2");
- fBaseEventInfo2.setEventType(TraceEventType.TRACEPOINT);
- fBaseEventInfo1.setLogLevel(TraceLogLevel.TRACE_DEBUG);
-
- fEventInfo1 = new EventInfo("event1");
- fEventInfo1.setEventType(TraceEventType.TRACEPOINT);
- fEventInfo1.setLogLevelType("==");
- fEventInfo1.setLogLevel(TraceLogLevel.TRACE_DEBUG);
- fEventInfo1.setState(TraceEnablement.ENABLED);
-
- fEventInfo2 = new EventInfo("event2");
- fEventInfo2.setLogLevelType("<=");
- fEventInfo2.setLogLevel(TraceLogLevel.TRACE_INFO);
- fEventInfo2.setEventType(TraceEventType.UNKNOWN);
- fEventInfo2.setState(TraceEnablement.DISABLED);
-
- fEventInfo3 = new EventInfo("event3");
- fEventInfo3.setEventType(TraceEventType.TRACEPOINT);
- fEventInfo3.setState(TraceEnablement.DISABLED);
-
- fUstProviderInfo1 = new UstProviderInfo("myUST1");
- fUstProviderInfo1.setPid(1234);
- fUstProviderInfo1.addEvent(fBaseEventInfo1);
-
- fUstProviderInfo2 = new UstProviderInfo("myUST2");
- fUstProviderInfo2.setPid(2345);
- fUstProviderInfo2.addEvent(fBaseEventInfo1);
- fUstProviderInfo2.addEvent(fBaseEventInfo2);
-
- fChannelInfo1 = new ChannelInfo("channel1");
- fChannelInfo1.setSwitchTimer(10L);
- fChannelInfo1.setOverwriteMode(true);
- fChannelInfo1.setReadTimer(11L);
- fChannelInfo1.setState(TraceEnablement.DISABLED);
- fChannelInfo1.setNumberOfSubBuffers(12);
- fChannelInfo1.setOutputType("splice()");
- fChannelInfo1.setSubBufferSize(13L);
- fChannelInfo1.addEvent(fEventInfo1);
-
- fChannelInfo2 = new ChannelInfo("channel2");
- fChannelInfo2.setSwitchTimer(1L);
- fChannelInfo2.setOverwriteMode(false);
- fChannelInfo2.setReadTimer(2L);
- fChannelInfo2.setState(TraceEnablement.ENABLED);
- fChannelInfo2.setNumberOfSubBuffers(3);
- fChannelInfo2.setOutputType("mmap()");
- fChannelInfo2.setSubBufferSize(4L);
- fChannelInfo2.addEvent(fEventInfo2);
- fChannelInfo2.addEvent(fEventInfo3);
-
- fDomainInfo1 = new DomainInfo("test1");
- fDomainInfo1.addChannel(fChannelInfo1);
-
- fDomainInfo2 = new DomainInfo("test2");
- fDomainInfo2.addChannel(fChannelInfo1);
- fDomainInfo2.addChannel(fChannelInfo2);
-
- fSessionInfo1 = new SessionInfo("session1");
- fSessionInfo1.setSessionPath("/home/user");
- fSessionInfo1.setSessionState(TraceSessionState.ACTIVE);
- fSessionInfo1.addDomain(fDomainInfo1);
-
- fSessionInfo2 = new SessionInfo("session2");
- fSessionInfo2.setSessionPath("/home/user1");
- fSessionInfo2.setSessionState(TraceSessionState.INACTIVE);
- fSessionInfo2.addDomain(fDomainInfo1);
- fSessionInfo2.addDomain(fDomainInfo2);
- fSessionInfo2.setStreamedTrace(true);
-
- fProbeEventInfo1 = new ProbeEventInfo("probeEvent1");
- fProbeEventInfo1.setEventType(TraceEventType.TRACEPOINT);
- fProbeEventInfo1.setState(TraceEnablement.ENABLED);
- fProbeEventInfo1.setAddress("0xc1231234");
-
- fProbeEventInfo2 = new ProbeEventInfo("probeEvent2");
- fProbeEventInfo2.setEventType(TraceEventType.FUNCTION);
- fProbeEventInfo2.setState(TraceEnablement.DISABLED);
- fProbeEventInfo2.setOffset("0x100");
- fProbeEventInfo2.setSymbol("init_post");
-
- fSnapshotInfo1 = new SnapshotInfo("snapshot-1");
- fSnapshotInfo1.setId(1);
- fSnapshotInfo1.setSnapshotPath("/home/user/lttng-trace/mysession/");
- fSnapshotInfo2 = new SnapshotInfo("other-snapshot");
- fSnapshotInfo2.setId(1);
- fSnapshotInfo2.setSnapshotPath("net4://172.0.0.1:1234/");
- fSnapshotInfo2.setStreamedSnapshot(true);
-
- fSessionInfo1.setSnapshotInfo(fSnapshotInfo1);
- }
-
- public ISessionInfo getSessionInfo1() {
- return fSessionInfo1;
- }
-
- public ISessionInfo getSessionInfo2() {
- return fSessionInfo2;
- }
-
- public IDomainInfo getDomainInfo1() {
- return fDomainInfo1;
- }
-
- public IDomainInfo getDomainInfo2() {
- return fDomainInfo2;
- }
-
- public IChannelInfo getChannel1() {
- return fChannelInfo1;
- }
-
- public IChannelInfo getChannel2() {
- return fChannelInfo2;
- }
-
- public IEventInfo getEventInfo1() {
- return fEventInfo1;
- }
-
- public IEventInfo getEventInfo2() {
- return fEventInfo2;
- }
-
- public IEventInfo getEventInfo3() {
- return fEventInfo3;
- }
-
- public IBaseEventInfo getBaseEventInfo1() {
- return fBaseEventInfo1;
- }
-
- public IBaseEventInfo getBaseEventInfo2() {
- return fBaseEventInfo2;
- }
-
- public IUstProviderInfo getUstProviderInfo1() {
- return fUstProviderInfo1;
- }
-
- public IUstProviderInfo getUstProviderInfo2() {
- return fUstProviderInfo2;
- }
-
- public IProbeEventInfo getProbeEventInfo1() {
- return fProbeEventInfo1;
- }
-
- public IProbeEventInfo getProbeEventInfo2() {
- return fProbeEventInfo2;
- }
-
- public IFieldInfo getFieldInfo1() {
- return fFieldInfo1;
- }
-
- public IFieldInfo getFieldInfo2() {
- return fFieldInfo2;
- }
-
- public ISnapshotInfo getSnapshotInfo1() {
- return fSnapshotInfo1;
- }
-
- public ISnapshotInfo getSnapshotInfo2() {
- return fSnapshotInfo2;
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.core.tests/src/org/eclipse/linuxtools/lttng2/control/core/tests/model/impl/ProbeEventInfoTest.java b/lttng/org.eclipse.linuxtools.lttng2.control.core.tests/src/org/eclipse/linuxtools/lttng2/control/core/tests/model/impl/ProbeEventInfoTest.java
deleted file mode 100644
index 5d046f5b84..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.core.tests/src/org/eclipse/linuxtools/lttng2/control/core/tests/model/impl/ProbeEventInfoTest.java
+++ /dev/null
@@ -1,219 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2012, 2013 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:
- * Bernd Hufmann - Initial API and implementation
- * Alexandre Montplaisir - Port to JUnit4
- **********************************************************************/
-
-package org.eclipse.linuxtools.lttng2.control.core.tests.model.impl;
-
-import static org.junit.Assert.*;
-
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.IProbeEventInfo;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.TraceEnablement;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.TraceEventType;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.impl.ProbeEventInfo;
-import org.junit.Before;
-import org.junit.Test;
-
-/**
- * The class <code>ProbEventInfoTest</code> contains test for the class
- * <code>{@link ProbeEventInfo}</code>.
- */
-public class ProbeEventInfoTest {
-
- // ------------------------------------------------------------------------
- // Test data
- // ------------------------------------------------------------------------
-
- private IProbeEventInfo fEventInfo1 = null;
- private IProbeEventInfo fEventInfo2 = null;
-
- // ------------------------------------------------------------------------
- // Housekeeping
- // ------------------------------------------------------------------------
- /**
- * Perform pre-test initialization.
- */
- @Before
- public void setUp() {
- ModelImplFactory factory = new ModelImplFactory();
- fEventInfo1 = factory.getProbeEventInfo1();
- fEventInfo2 = factory.getProbeEventInfo2();
- }
-
- // ------------------------------------------------------------------------
- // Tests
- // ------------------------------------------------------------------------
-
- /**
- * Run the BaseEventInfo() constructor test.
- */
- @Test
- public void testBaseEventInfo() {
- ProbeEventInfo fixture = new ProbeEventInfo("event");
- assertNotNull(fixture);
-
- TraceEventType result = fixture.getEventType();
-
- assertEquals("event", fixture.getName());
- assertEquals("unknown", result.getInName());
- assertEquals("UNKNOWN", result.name());
- assertEquals("UNKNOWN", result.toString());
- assertEquals(4, result.ordinal());
-
- TraceEnablement state = fixture.getState();
- assertEquals("disabled", state.getInName());
- assertEquals("DISABLED", state.name());
- assertEquals("DISABLED", state.toString());
- assertEquals(0, state.ordinal());
-
- assertNull(fixture.getAddress());
- assertNull(fixture.getOffset());
- assertNull(fixture.getSymbol());
- }
-
- /**
- * Test Copy Constructor
- */
- @Test
- public void testEventInfoCopy() {
- ProbeEventInfo info = new ProbeEventInfo((ProbeEventInfo)fEventInfo1);
-
- assertEquals(fEventInfo1.getName(), info.getName());
- assertEquals(fEventInfo1.getEventType(), info.getEventType());
- assertEquals(fEventInfo1.getState(), info.getState());
- assertEquals(fEventInfo1.getAddress(), info.getAddress());
- assertEquals(fEventInfo1.getOffset(), info.getOffset());
- assertEquals(fEventInfo1.getSymbol(), info.getSymbol());
- }
-
- /**
- * Test Copy Constructor
- */
- @Test
- public void testEventCopy2() {
- try {
- ProbeEventInfo info = null;
- new ProbeEventInfo(info);
- fail("null copy");
- }
- catch (IllegalArgumentException e) {
- // Success
- }
- }
-
- /**
- * Getter/Setter tests
- */
- @Test
- public void testGetAndSetter() {
- ProbeEventInfo fixture = new ProbeEventInfo("event");
-
- fixture.setAddress("0xc12344321");
- String result = fixture.getAddress();
-
- assertNotNull(result);
- assertEquals("0xc12344321", result);
-
- fixture.setOffset("0x1000");
- result = fixture.getOffset();
-
- assertNotNull(result);
- assertEquals("0x1000", result);
-
- fixture.setSymbol("cpu_idle");
- result = fixture.getSymbol();
-
- assertNotNull(result);
- assertEquals("cpu_idle", result);
- }
-
- /**
- * Run the String toString() method test.
- */
- @Test
- public void testToString_1() {
- assertEquals("[ProbeEventInfo([EventInfo([BaseEventInfo([TraceInfo(Name=probeEvent1)],type=TRACEPOINT,level=TRACE_DEBUG)],State=ENABLED,levelType=LOGLEVEL_NONE)],fAddress=0xc1231234)]", fEventInfo1.toString());
- assertEquals("[ProbeEventInfo([EventInfo([BaseEventInfo([TraceInfo(Name=probeEvent2)],type=FUNCTION,level=TRACE_DEBUG)],State=DISABLED,levelType=LOGLEVEL_NONE)],fOffset=0x100,fSymbol=init_post)]", fEventInfo2.toString());
- }
-
- // ------------------------------------------------------------------------
- // equals
- // ------------------------------------------------------------------------
-
- /**
- * Run the equals() method test.
- */
- @Test
- public void testEqualsReflexivity() {
- assertTrue("equals", fEventInfo1.equals(fEventInfo1));
- assertTrue("equals", fEventInfo2.equals(fEventInfo2));
-
- assertTrue("equals", !fEventInfo1.equals(fEventInfo2));
- assertTrue("equals", !fEventInfo2.equals(fEventInfo1));
- }
-
- /**
- * Run the equals() method test.
- */
- @Test
- public void testEqualsSymmetry() {
- ProbeEventInfo info1 = new ProbeEventInfo((ProbeEventInfo)fEventInfo1);
- ProbeEventInfo info2 = new ProbeEventInfo((ProbeEventInfo)fEventInfo2);
-
- assertTrue("equals", info1.equals(fEventInfo1));
- assertTrue("equals", fEventInfo1.equals(info1));
-
- assertTrue("equals", info2.equals(fEventInfo2));
- assertTrue("equals", fEventInfo2.equals(info2));
- }
-
- /**
- * Run the equals() method test.
- */
- @Test
- public void testEqualsTransivity() {
- ProbeEventInfo info1 = new ProbeEventInfo((ProbeEventInfo)fEventInfo1);
- ProbeEventInfo info2 = new ProbeEventInfo((ProbeEventInfo)fEventInfo1);
- ProbeEventInfo info3 = new ProbeEventInfo((ProbeEventInfo)fEventInfo1);
-
- assertTrue("equals", info1.equals(info2));
- assertTrue("equals", info2.equals(info3));
- assertTrue("equals", info1.equals(info3));
- }
-
- /**
- * Run the equals() method test.
- */
- @Test
- public void testEqualsNull() {
- assertTrue("equals", !fEventInfo1.equals(null));
- assertTrue("equals", !fEventInfo2.equals(null));
- }
-
- // ------------------------------------------------------------------------
- // hashCode
- // ------------------------------------------------------------------------
-
- /**
- * Run the hashCode() method test.
- */
- @Test
- public void testHashCode() {
- ProbeEventInfo info1 = new ProbeEventInfo((ProbeEventInfo)fEventInfo1);
- ProbeEventInfo info2 = new ProbeEventInfo((ProbeEventInfo)fEventInfo2);
-
- assertTrue("hashCode", fEventInfo1.hashCode() == info1.hashCode());
- assertTrue("hashCode", fEventInfo2.hashCode() == info2.hashCode());
-
- assertTrue("hashCode", fEventInfo1.hashCode() != info2.hashCode());
- assertTrue("hashCode", fEventInfo2.hashCode() != info1.hashCode());
- }
-} \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.core.tests/src/org/eclipse/linuxtools/lttng2/control/core/tests/model/impl/SessionInfoTest.java b/lttng/org.eclipse.linuxtools.lttng2.control.core.tests/src/org/eclipse/linuxtools/lttng2/control/core/tests/model/impl/SessionInfoTest.java
deleted file mode 100644
index 5ff8cff71d..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.core.tests/src/org/eclipse/linuxtools/lttng2/control/core/tests/model/impl/SessionInfoTest.java
+++ /dev/null
@@ -1,311 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2012, 2014 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:
- * Bernd Hufmann - Initial API and implementation
- * Alexandre Montplaisir - Port to JUnit4
- **********************************************************************/
-
-package org.eclipse.linuxtools.lttng2.control.core.tests.model.impl;
-
-import static org.junit.Assert.*;
-
-import java.util.LinkedList;
-import java.util.List;
-
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.IDomainInfo;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.ISessionInfo;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.TraceSessionState;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.impl.SessionInfo;
-import org.junit.Before;
-import org.junit.Test;
-
-/**
- * The class <code>ChannelInfoTest</code> contains tests for the class
- * <code>{@link SessionInfo}</code>.
- */
-public class SessionInfoTest {
-
- // ------------------------------------------------------------------------
- // Test data
- // ------------------------------------------------------------------------
-
- private ISessionInfo fSessionInfo1 = null;
- private ISessionInfo fSessionInfo2 = null;
-
- private IDomainInfo fDomainInfo1 = null;
- private IDomainInfo fDomainInfo2 = null;
-
- // ------------------------------------------------------------------------
- // Housekeeping
- // ------------------------------------------------------------------------
-
- /**
- * Perform pre-test initialization.
- */
- @Before
- public void setUp() {
- ModelImplFactory factory = new ModelImplFactory();
- fSessionInfo1 = factory.getSessionInfo1();
- fDomainInfo1 = factory.getDomainInfo1();
- fSessionInfo2 = factory.getSessionInfo2();
- fDomainInfo2 = factory.getDomainInfo2();
- }
-
- // ------------------------------------------------------------------------
- // Tests
- // ------------------------------------------------------------------------
-
- // ------------------------------------------------------------------------
- // Constructors
- // ------------------------------------------------------------------------
-
- /**
- * Run the ChannelInfo() constructor test.
- */
- @Test
- public void testSessionInfo() {
- ISessionInfo result = new SessionInfo("test");
- assertNotNull(result);
-
- assertEquals("test", result.getName());
- assertEquals("", result.getSessionPath());
- TraceSessionState state = result.getSessionState();
- assertEquals("inactive", state.getInName());
- assertEquals("INACTIVE", state.name());
- assertEquals("INACTIVE", state.toString());
- assertEquals(0, state.ordinal());
- assertEquals(0, result.getDomains().length);
- assertFalse(result.isSnapshotSession());
- assertNull(result.getNetworkUrl());
- assertNull(result.getControlUrl());
- assertNull(result.getDataUrl());
- }
-
- /**
- * Test copy constructor.
- */
- @Test
- public void testSessionInfoCopy() {
- SessionInfo sessionInfo = new SessionInfo((SessionInfo)fSessionInfo1);
-
- assertEquals(sessionInfo.getName(), fSessionInfo1.getName());
- assertEquals(sessionInfo.getSessionPath(), fSessionInfo1.getSessionPath());
- assertEquals(sessionInfo.getSessionState(), fSessionInfo1.getSessionState());
-
- IDomainInfo[] orignalDomains = fSessionInfo1.getDomains();
- IDomainInfo[] resultDomains = sessionInfo.getDomains();
- for (int i = 0; i < orignalDomains.length; i++) {
- assertEquals(orignalDomains[i], resultDomains[i]);
- }
-
- assertEquals(sessionInfo.getNetworkUrl(), fSessionInfo1.getNetworkUrl());
- assertEquals(sessionInfo.getControlUrl(), fSessionInfo1.getControlUrl());
- assertEquals(sessionInfo.getDataUrl(), fSessionInfo1.getDataUrl());
- }
-
- /**
- * Test copy constructor.
- */
- @Test
- public void testSessionCopy2() {
- try {
- SessionInfo session = null;
- new SessionInfo(session);
- fail("null copy");
- }
- catch (IllegalArgumentException e) {
- // Success
- }
- }
-
- /**
- * Run the long getNumberOfSubBuffers() method test.
- */
- @Test
- public void testGetAndSetters() {
-
- // Note that addDomain() has been executed in setUp()
- // check get method here
- assertEquals(1, fSessionInfo1.getDomains().length);
- assertNotNull(fSessionInfo1.getDomains()[0]);
- assertEquals(fDomainInfo1, fSessionInfo1.getDomains()[0]);
-
- ISessionInfo session = new SessionInfo("session");
- List<IDomainInfo> list = new LinkedList<>();
- list.add(fDomainInfo1);
- list.add(fDomainInfo2);
- session.setDomains(list);
-
- IDomainInfo[] result = session.getDomains();
- assertEquals(2, result.length);
- assertEquals(fDomainInfo1, result[0]);
- assertEquals(fDomainInfo2, result[1]);
-
- session.setSessionPath("/home/user");
- assertEquals("/home/user", session.getSessionPath());
-
- session.setSessionState("active");
- TraceSessionState state = session.getSessionState();
- state = session.getSessionState();
- assertEquals("active", state.getInName());
- assertEquals("ACTIVE", state.name());
- assertEquals("ACTIVE", state.toString());
- assertEquals(1, state.ordinal());
-
- session.setSessionState("inactive");
- state = session.getSessionState();
- assertEquals("inactive", state.getInName());
- assertEquals("INACTIVE", state.name());
- assertEquals("INACTIVE", state.toString());
- assertEquals(0, state.ordinal());
-
- session.setSessionState("test");
- state = session.getSessionState();
- assertEquals("inactive", state.getInName());
- assertEquals("INACTIVE", state.name());
- assertEquals("INACTIVE", state.toString());
- assertEquals(0, state.ordinal());
-
- session.setSessionState(TraceSessionState.ACTIVE);
- state = session.getSessionState();
- assertEquals("active", state.getInName());
- assertEquals("ACTIVE", state.name());
- assertEquals("ACTIVE", state.toString());
- assertEquals(1, state.ordinal());
-
- session.setSessionState(TraceSessionState.INACTIVE);
- state = session.getSessionState();
- assertEquals("inactive", state.getInName());
- assertEquals("INACTIVE", state.name());
- assertEquals("INACTIVE", state.toString());
- assertEquals(0, state.ordinal());
- }
-
- /**
- * Run the String toString() method test.
- */
- @Test
- public void testToString_1() {
- ISessionInfo fixture = new SessionInfo("sessionName");
-
- String result = fixture.toString();
-
- // add additional test code here
- assertEquals("[SessionInfo([TraceInfo(Name=sessionName)],Path=,State=INACTIVE,isStreamedTrace=false,isSnapshot=false,Domains=,NetworkUrl=null,ControlUrl=null,DataUrl=null)]", result);
- }
-
- /**
- * Run the String toString() method test.
- */
- @Test
- public void testToString_2() {
- String result = fSessionInfo1.toString();
-
- // add additional test code here
- assertEquals("[SessionInfo([TraceInfo(Name=session1)],Path=/home/user/lttng-trace/mysession/,State=ACTIVE,isStreamedTrace=false,isSnapshot=false,snapshotInfo="
- + "[SnapshotInfo([TraceInfo(Name=snapshot-1)],snapshotPath=/home/user/lttng-trace/mysession/,ID=1,isStreamedSnapshot=false)],"
- + "Domains=[DomainInfo([TraceInfo(Name=test1)],"
- + "Channels=[ChannelInfo([TraceInfo(Name=channel1)],State=DISABLED,OverwriteMode=true,SubBuffersSize=13,NumberOfSubBuffers=12,SwitchTimer=10,ReadTimer=11,output=splice(),"
- + "Events=[EventInfo([BaseEventInfo([TraceInfo(Name=event1)],type=TRACEPOINT,level=TRACE_DEBUG)],State=ENABLED,levelType=LOGLEVEL_ONLY)])],"
- + "isKernel=false)],NetworkUrl=null,ControlUrl=null,DataUrl=null)]", result);
- }
-
- /**
- * Run the String toString() method test.
- */
- @Test
- public void testToString_3() {
- SessionInfo info = new SessionInfo((SessionInfo)fSessionInfo1);
- info.setSnapshot(false);
- info.setSnapshotInfo(null);
- info.setSessionPath("/home/user/lttng-trace/mysession/");
-
- String result = info.toString();
-
- // add additional test code here
- assertEquals("[SessionInfo([TraceInfo(Name=session1)],Path=/home/user/lttng-trace/mysession/,State=ACTIVE,isStreamedTrace=false,isSnapshot=false,"
- + "Domains=[DomainInfo([TraceInfo(Name=test1)],"
- + "Channels=[ChannelInfo([TraceInfo(Name=channel1)],State=DISABLED,OverwriteMode=true,SubBuffersSize=13,NumberOfSubBuffers=12,SwitchTimer=10,ReadTimer=11,output=splice(),"
- + "Events=[EventInfo([BaseEventInfo([TraceInfo(Name=event1)],type=TRACEPOINT,level=TRACE_DEBUG)],State=ENABLED,levelType=LOGLEVEL_ONLY)])],"
- + "isKernel=false)],NetworkUrl=null,ControlUrl=null,DataUrl=null)]", result);
- }
-
- // ------------------------------------------------------------------------
- // equals
- // ------------------------------------------------------------------------
-
- /**
- * Run the {@link SessionInfo#equals} method test.
- */
- @Test
- public void testEqualsReflexivity() {
- assertTrue("equals", fSessionInfo1.equals(fSessionInfo1));
- assertTrue("equals", fSessionInfo2.equals(fSessionInfo2));
-
- assertTrue("equals", !fSessionInfo1.equals(fSessionInfo2));
- assertTrue("equals", !fSessionInfo2.equals(fSessionInfo1));
- }
-
- /**
- * Run the {@link SessionInfo#equals} method test.
- */
- @Test
- public void testEqualsSymmetry() {
- SessionInfo event1 = new SessionInfo((SessionInfo)fSessionInfo1);
- SessionInfo event2 = new SessionInfo((SessionInfo)fSessionInfo2);
-
- assertTrue("equals", event1.equals(fSessionInfo1));
- assertTrue("equals", fSessionInfo1.equals(event1));
-
- assertTrue("equals", event2.equals(fSessionInfo2));
- assertTrue("equals", fSessionInfo2.equals(event2));
- }
-
- /**
- * Run the {@link SessionInfo#equals} method test.
- */
- @Test
- public void testEqualsTransivity() {
- SessionInfo channel1 = new SessionInfo((SessionInfo)fSessionInfo1);
- SessionInfo channel2 = new SessionInfo((SessionInfo)fSessionInfo1);
- SessionInfo channel3 = new SessionInfo((SessionInfo)fSessionInfo1);
-
- assertTrue("equals", channel1.equals(channel2));
- assertTrue("equals", channel2.equals(channel3));
- assertTrue("equals", channel1.equals(channel3));
- }
-
- /**
- * Run the {@link SessionInfo#equals} method test.
- */
- @Test
- public void testEqualsNull() {
- assertTrue("equals", !fSessionInfo1.equals(null));
- assertTrue("equals", !fSessionInfo2.equals(null));
- }
-
- // ------------------------------------------------------------------------
- // hashCode
- // ------------------------------------------------------------------------
-
- /**
- * Run the {@link SessionInfo#hashCode} method test.
- */
- @Test
- public void testHashCode() {
- SessionInfo channel1 = new SessionInfo((SessionInfo)fSessionInfo1);
- SessionInfo channel2 = new SessionInfo((SessionInfo)fSessionInfo2);
-
- assertTrue("hashCode", fSessionInfo1.hashCode() == channel1.hashCode());
- assertTrue("hashCode", fSessionInfo2.hashCode() == channel2.hashCode());
-
- assertTrue("hashCode", fSessionInfo1.hashCode() != channel2.hashCode());
- assertTrue("hashCode", fSessionInfo2.hashCode() != channel1.hashCode());
- }
-} \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.core.tests/src/org/eclipse/linuxtools/lttng2/control/core/tests/model/impl/SnapshotInfoTest.java b/lttng/org.eclipse.linuxtools.lttng2.control.core.tests/src/org/eclipse/linuxtools/lttng2/control/core/tests/model/impl/SnapshotInfoTest.java
deleted file mode 100644
index aa28c15644..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.core.tests/src/org/eclipse/linuxtools/lttng2/control/core/tests/model/impl/SnapshotInfoTest.java
+++ /dev/null
@@ -1,229 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2013 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:
- * Bernd Hufmann - Initial API and implementation
- **********************************************************************/
-
-package org.eclipse.linuxtools.lttng2.control.core.tests.model.impl;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertTrue;
-import static org.junit.Assert.fail;
-
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.ISnapshotInfo;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.impl.SnapshotInfo;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.impl.TraceInfo;
-import org.junit.Before;
-import org.junit.Test;
-
-/**
- * The class <code>SnapshotInfoTest</code> contains test for the class
- * <code>{@link SnapshotInfo}</code>.
- */
-public class SnapshotInfoTest {
-
- // ------------------------------------------------------------------------
- // Test data
- // ------------------------------------------------------------------------
-
- private ISnapshotInfo fSnapshotInfo1 = null;
- private ISnapshotInfo fSnapshotInfo2 = null;
-
-
- // ------------------------------------------------------------------------
- // Housekeeping
- // ------------------------------------------------------------------------
-
- /**
- * Perform pre-test initialization.
- */
- @Before
- public void setUp() {
- ModelImplFactory factory = new ModelImplFactory();
- fSnapshotInfo1 = factory.getSnapshotInfo1();
- fSnapshotInfo2 = factory.getSnapshotInfo2();
- }
-
- // ------------------------------------------------------------------------
- // Tests
- // ------------------------------------------------------------------------
-
- /**
- * Constructor test.
- */
- @Test
- public void testSnapshotInfo() {
- SnapshotInfo fixture = new SnapshotInfo("event");
- assertNotNull(fixture);
- assertEquals("event", fixture.getName());
- }
-
- /**
- * Test Copy Constructor
- */
- @Test
- public void testSnapshotInfo2() {
- try {
- String name = null;
- new SnapshotInfo(name);
- fail("null name in custructor");
- }
- catch (IllegalArgumentException e) {
- // Success
- }
- }
-
- /**
- * Test Copy Constructor
- */
- @Test
- public void testSnapshotCopy() {
- SnapshotInfo info = new SnapshotInfo((SnapshotInfo)fSnapshotInfo1);
-
- assertEquals(fSnapshotInfo1.getName(), info.getName());
- }
-
- /**
- * Test Copy Constructor
- */
- @Test
- public void testTraceCopy2() {
- try {
- SnapshotInfo info = null;
- new SnapshotInfo(info);
- fail("null copy");
- }
- catch (IllegalArgumentException e) {
- // Success
- }
- }
-
- /**
- * Run the void setEventType(String) method test.
- */
- @Test
- public void testSetName() {
- SnapshotInfo fixture = new SnapshotInfo("event");
- fixture.setName("newName");
- assertEquals("newName", fixture.getName());
- }
-
- /**
- * Run the String toString() method test.
- */
- @Test
- public void testToString_1() {
- String result = fSnapshotInfo1.toString();
-
- // add additional test code here
- assertEquals("[SnapshotInfo([TraceInfo(Name=snapshot-1)],snapshotPath=/home/user/lttng-trace/mysession/,ID=1,isStreamedSnapshot=false)]", result);
- }
-
- // ------------------------------------------------------------------------
- // equals
- // ------------------------------------------------------------------------
-
- /**
- * Run the equals() method test.
- */
- @Test
- public void testEqualsReflexivity() {
- assertTrue("equals", fSnapshotInfo1.equals(fSnapshotInfo1));
- assertTrue("equals", fSnapshotInfo2.equals(fSnapshotInfo2));
-
- assertTrue("equals", !fSnapshotInfo1.equals(fSnapshotInfo2));
- assertTrue("equals", !fSnapshotInfo2.equals(fSnapshotInfo1));
- }
-
- /**
- * Run the equals() method test.
- */
- @Test
- public void testEqualsSymmetry() {
- SnapshotInfo info1 = new SnapshotInfo((SnapshotInfo)fSnapshotInfo1);
- SnapshotInfo info2 = new SnapshotInfo((SnapshotInfo)fSnapshotInfo2);
-
- assertTrue("equals", info1.equals(fSnapshotInfo1));
- assertTrue("equals", fSnapshotInfo1.equals(info1));
-
- assertTrue("equals", info2.equals(fSnapshotInfo2));
- assertTrue("equals", fSnapshotInfo2.equals(info2));
- }
- /**
- * Run the equals() method test.
- */
- @Test
- public void testEqualsTransivity() {
- SnapshotInfo info1 = new SnapshotInfo((SnapshotInfo)fSnapshotInfo1);
- SnapshotInfo info2 = new SnapshotInfo((SnapshotInfo)fSnapshotInfo1);
- SnapshotInfo info3 = new SnapshotInfo((SnapshotInfo)fSnapshotInfo1);
-
- assertTrue("equals", info1.equals(info2));
- assertTrue("equals", info2.equals(info3));
- assertTrue("equals", info1.equals(info3));
- }
- /**
- * Run the equals() method test.
- */
- @Test
- public void testEqualsNull() {
- assertTrue("equals", !fSnapshotInfo1.equals(null));
- assertTrue("equals", !fSnapshotInfo2.equals(null));
-
- SnapshotInfo info = new SnapshotInfo("snapshot-1");
- assertTrue("equals", !fSnapshotInfo1.equals(info));
-
- info.setSnapshotPath(null);
- assertTrue("equals", !fSnapshotInfo1.equals(info));
-
- info.setId(fSnapshotInfo1.getId());
- assertTrue("equals", !info.equals(fSnapshotInfo1));
-
- info.setSnapshotPath("/home/user/lttng-trace/mysession/");
- assertTrue("equals", fSnapshotInfo1.equals(info));
- info.setId(2);
- assertTrue("equals", !fSnapshotInfo1.equals(info));
-
- info.setId(fSnapshotInfo1.getId());
- info.setStreamedSnapshot(true);
- assertTrue("equals", !fSnapshotInfo1.equals(info));
-
- assertTrue("equals", !fSnapshotInfo1.equals(new TraceInfo(fSnapshotInfo1.getName())));
- }
-
- // ------------------------------------------------------------------------
- // hashCode
- // ------------------------------------------------------------------------
-
- /**
- * Run the hashCode() method test.
- */
- @Test
- public void testHashCode() {
- SnapshotInfo info1 = new SnapshotInfo((SnapshotInfo)fSnapshotInfo1);
- SnapshotInfo info2 = new SnapshotInfo((SnapshotInfo)fSnapshotInfo2);
-
- assertTrue("hashCode", fSnapshotInfo1.hashCode() == info1.hashCode());
- assertTrue("hashCode", fSnapshotInfo2.hashCode() == info2.hashCode());
-
- assertTrue("hashCode", fSnapshotInfo1.hashCode() != info2.hashCode());
- assertTrue("hashCode", fSnapshotInfo2.hashCode() != info1.hashCode());
-
- // null values
- SnapshotInfo info3 = new SnapshotInfo("snapshot-1");
- assertTrue("hashCode", fSnapshotInfo1.hashCode() != info3.hashCode());
-
- info3.setSnapshotPath(null);
- assertTrue("hashCode", fSnapshotInfo1.hashCode() != info3.hashCode());
-
- info3.setSnapshotPath("/home/user/lttng-trace/mysession/");
- assertTrue("hashCode", fSnapshotInfo1.hashCode() != info3.hashCode());
- }
-} \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.core.tests/src/org/eclipse/linuxtools/lttng2/control/core/tests/model/impl/TraceInfoTest.java b/lttng/org.eclipse.linuxtools.lttng2.control.core.tests/src/org/eclipse/linuxtools/lttng2/control/core/tests/model/impl/TraceInfoTest.java
deleted file mode 100644
index 3f6c8a9dc1..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.core.tests/src/org/eclipse/linuxtools/lttng2/control/core/tests/model/impl/TraceInfoTest.java
+++ /dev/null
@@ -1,199 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2012, 2013 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:
- * Bernd Hufmann - Initial API and implementation
- * Alexandre Montplaisir - Port to JUnit4
- **********************************************************************/
-
-package org.eclipse.linuxtools.lttng2.control.core.tests.model.impl;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertTrue;
-import static org.junit.Assert.fail;
-
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.ITraceInfo;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.impl.TraceInfo;
-import org.junit.Before;
-import org.junit.Test;
-
-/**
- * The class <code>TraceInfoTest</code> contains test for the class
- * <code>{@link TraceInfo}</code>.
- */
-public class TraceInfoTest {
-
- // ------------------------------------------------------------------------
- // Test data
- // ------------------------------------------------------------------------
-
- private ITraceInfo fTraceInfo1 = null;
- private ITraceInfo fTraceInfo2 = null;
-
-
- // ------------------------------------------------------------------------
- // Housekeeping
- // ------------------------------------------------------------------------
-
- /**
- * Perform pre-test initialization.
- */
- @Before
- public void setUp() {
- fTraceInfo1 = new TraceInfo("event1");
- fTraceInfo2 = new TraceInfo("event2");
- }
-
- // ------------------------------------------------------------------------
- // Tests
- // ------------------------------------------------------------------------
-
- /**
- * Run the BaseEventInfo() constructor test.
- */
- @Test
- public void testTraceInfo() {
- TraceInfo fixture = new TraceInfo("event");
- assertNotNull(fixture);
-
- assertEquals("event", fixture.getName());
- }
-
- /**
- * Test Copy Constructor
- */
- @Test
- public void testTraceInfo2() {
- try {
- String name = null;
- new TraceInfo(name);
- fail("null name in custructor");
- }
- catch (IllegalArgumentException e) {
- // Success
- }
- }
-
- /**
- * Test Copy Constructor
- */
- @Test
- public void testTraceInfoCopy() {
- TraceInfo info = new TraceInfo((TraceInfo)fTraceInfo1);
-
- assertEquals(fTraceInfo1.getName(), info.getName());
- }
-
- /**
- * Test Copy Constructor
- */
- @Test
- public void testTraceCopy2() {
- try {
- TraceInfo info = null;
- new TraceInfo(info);
- fail("null copy");
- }
- catch (IllegalArgumentException e) {
- // Success
- }
- }
-
- /**
- * Run the void setEventType(String) method test.
- */
- @Test
- public void testSetName() {
- TraceInfo fixture = new TraceInfo("event");
- fixture.setName("newName");
- assertEquals("newName", fixture.getName());
- }
-
- /**
- * Run the String toString() method test.
- */
- @Test
- public void testToString_1() {
- String result = fTraceInfo1.toString();
-
- // add additional test code here
- assertEquals("[TraceInfo(Name=event1)]", result);
- }
-
- // ------------------------------------------------------------------------
- // equals
- // ------------------------------------------------------------------------
-
- /**
- * Run the equals() method test.
- */
- @Test
- public void testEqualsReflexivity() {
- assertTrue("equals", fTraceInfo1.equals(fTraceInfo1));
- assertTrue("equals", fTraceInfo2.equals(fTraceInfo2));
-
- assertTrue("equals", !fTraceInfo1.equals(fTraceInfo2));
- assertTrue("equals", !fTraceInfo2.equals(fTraceInfo1));
- }
-
- /**
- * Run the equals() method test.
- */
- @Test
- public void testEqualsSymmetry() {
- TraceInfo info1 = new TraceInfo((TraceInfo)fTraceInfo1);
- TraceInfo info2 = new TraceInfo((TraceInfo)fTraceInfo2);
-
- assertTrue("equals", info1.equals(fTraceInfo1));
- assertTrue("equals", fTraceInfo1.equals(info1));
-
- assertTrue("equals", info2.equals(fTraceInfo2));
- assertTrue("equals", fTraceInfo2.equals(info2));
- }
- /**
- * Run the equals() method test.
- */
- @Test
- public void testEqualsTransivity() {
- TraceInfo info1 = new TraceInfo((TraceInfo)fTraceInfo1);
- TraceInfo info2 = new TraceInfo((TraceInfo)fTraceInfo1);
- TraceInfo info3 = new TraceInfo((TraceInfo)fTraceInfo1);
-
- assertTrue("equals", info1.equals(info2));
- assertTrue("equals", info2.equals(info3));
- assertTrue("equals", info1.equals(info3));
- }
- /**
- * Run the equals() method test.
- */
- @Test
- public void testEqualsNull() {
- assertTrue("equals", !fTraceInfo1.equals(null));
- assertTrue("equals", !fTraceInfo2.equals(null));
- }
-
- // ------------------------------------------------------------------------
- // hashCode
- // ------------------------------------------------------------------------
-
- /**
- * Run the hashCode() method test.
- */
- @Test
- public void testHashCode() {
- TraceInfo info1 = new TraceInfo((TraceInfo)fTraceInfo1);
- TraceInfo info2 = new TraceInfo((TraceInfo)fTraceInfo2);
-
- assertTrue("hashCode", fTraceInfo1.hashCode() == info1.hashCode());
- assertTrue("hashCode", fTraceInfo2.hashCode() == info2.hashCode());
-
- assertTrue("hashCode", fTraceInfo1.hashCode() != info2.hashCode());
- assertTrue("hashCode", fTraceInfo2.hashCode() != info1.hashCode());
- }
-} \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.core.tests/src/org/eclipse/linuxtools/lttng2/control/core/tests/model/impl/UstProviderInfoTest.java b/lttng/org.eclipse.linuxtools.lttng2.control.core.tests/src/org/eclipse/linuxtools/lttng2/control/core/tests/model/impl/UstProviderInfoTest.java
deleted file mode 100644
index bb5dcdbac4..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.core.tests/src/org/eclipse/linuxtools/lttng2/control/core/tests/model/impl/UstProviderInfoTest.java
+++ /dev/null
@@ -1,254 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2012, 2014 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:
- * Bernd Hufmann - Initial API and implementation
- * Alexandre Montplaisir - Port to JUnit4
- **********************************************************************/
-
-package org.eclipse.linuxtools.lttng2.control.core.tests.model.impl;
-
-import static org.junit.Assert.*;
-
-import java.util.LinkedList;
-import java.util.List;
-
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.IBaseEventInfo;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.IUstProviderInfo;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.impl.BaseEventInfo;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.impl.UstProviderInfo;
-import org.junit.Before;
-import org.junit.Test;
-
-/**
- * The class <code>ChannelInfoTest</code> contains tests for the class
- * <code>{@link UstProviderInfo}</code>.
- */
-public class UstProviderInfoTest {
-
- // ------------------------------------------------------------------------
- // Test data
- // ------------------------------------------------------------------------
-
- private IUstProviderInfo fUstProviderInfo1 = null;
- private IUstProviderInfo fUstProviderInfo2 = null;
-
- private IBaseEventInfo fEventInfo1 = null;
- private IBaseEventInfo fEventInfo2 = null;
-
- // ------------------------------------------------------------------------
- // Housekeeping
- // ------------------------------------------------------------------------
-
- /**
- * Perform pre-test initialization.
- */
- @Before
- public void setUp() {
- ModelImplFactory factory = new ModelImplFactory();
- fUstProviderInfo1 = factory.getUstProviderInfo1();
- fUstProviderInfo2 = factory.getUstProviderInfo2();
- fEventInfo1 = factory.getBaseEventInfo1();
- fEventInfo2 = factory.getBaseEventInfo2();
- }
-
- // ------------------------------------------------------------------------
- // Tests
- // ------------------------------------------------------------------------
-
- // ------------------------------------------------------------------------
- // Constructors
- // ------------------------------------------------------------------------
-
- /**
- * Run the UstProviderInfo() constructor test.
- */
- @Test
- public void testUstProviderInfo() {
- IUstProviderInfo result = new UstProviderInfo("test");
- assertNotNull(result);
-
- assertEquals("test", result.getName());
- assertEquals(0, result.getPid());
- assertEquals(0, result.getEvents().length);
- }
-
- /**
- * Test the copy constructor.
- */
- @Test
- public void testUstProviderInfoCopy() {
- IUstProviderInfo providerInf = new UstProviderInfo((UstProviderInfo)fUstProviderInfo1);
-
- assertEquals(fUstProviderInfo1.getName(), providerInf.getName());
- assertEquals(fUstProviderInfo1.getPid(), providerInf.getPid());
- assertEquals(fUstProviderInfo1.getEvents().length, providerInf.getEvents().length);
-
- IBaseEventInfo[] orignalEvents = fUstProviderInfo1.getEvents();
- IBaseEventInfo[] resultEvents = providerInf.getEvents();
- for (int i = 0; i < orignalEvents.length; i++) {
- assertEquals(orignalEvents[i], resultEvents[i]);
- }
- }
-
- /**
- * Test the copy constructor.
- */
- @Test
- public void testUstProviderCopy2() {
- try {
- UstProviderInfo providerInfo = null;
- new UstProviderInfo(providerInfo);
- fail("null copy");
- }
- catch (IllegalArgumentException e) {
- // Success
- }
- }
-
- /**
- * Run the IEventInfo[] getEvents() method test.
- */
- @Test
- public void testGetAndSetters() {
- IUstProviderInfo fixture = new UstProviderInfo("test");
- fixture.setPid(2468);
-
- // add an event
- IBaseEventInfo event = new BaseEventInfo("event");
- fixture.addEvent(event);
-
- // Verify the stored events
- IBaseEventInfo[] result = fixture.getEvents();
-
- assertNotNull(result);
- assertEquals(1, result.length);
- assertNotNull(result[0]);
- assertTrue(event.equals(result[0]));
-
- assertEquals(2468, fixture.getPid());
- }
-
- /**
- * Run the void setEvents(List<IBaseEventInfo>) method test.
- */
- @Test
- public void testSetEvents_1() {
- UstProviderInfo fixture = new UstProviderInfo("test");
- fixture.setPid(2468);
- List<IBaseEventInfo> events = new LinkedList<>();
- events.add(fEventInfo1);
- events.add(fEventInfo2);
- fixture.setEvents(events);
-
- IBaseEventInfo[] infos = fixture.getEvents();
-
- assertEquals(events.size(), infos.length);
-
- for (int i = 0; i < infos.length; i++) {
- assertEquals(events.get(i), infos[i]);
- }
- }
-
- /**
- * Run the String toString() method test.
- */
- @Test
- public void testToString_1() {
- UstProviderInfo fixture = new UstProviderInfo("test");
- fixture.setPid(2468);
- String result = fixture.toString();
-
- assertEquals("[EventInfo([TraceInfo(Name=test)],PID=2468,Events=None)]", result);
- }
-
- /**
- * Run the String toString() method test.
- */
- @Test
- public void testToString_2() {
- String result = fUstProviderInfo2.toString();
- assertEquals("[EventInfo([TraceInfo(Name=myUST2)],PID=2345,Events=[BaseEventInfo([TraceInfo(Name=event1)]," +
- "type=UNKNOWN,level=TRACE_DEBUG,Fields=[FieldInfo([TraceInfo(Name=intfield)],type=int[FieldInfo" +
- "([TraceInfo(Name=stringfield)],type=string,Filter=intField==10)][BaseEventInfo([TraceInfo(Name=event2)]," +
- "type=TRACEPOINT,level=TRACE_DEBUG)])]", result);
- }
-
- // ------------------------------------------------------------------------
- // equals
- // ------------------------------------------------------------------------
-
- /**
- * Run the equals() method test.
- */
- @Test
- public void testEqualsReflexivity() {
- assertTrue("equals", fUstProviderInfo1.equals(fUstProviderInfo1));
- assertTrue("equals", fUstProviderInfo2.equals(fUstProviderInfo2));
-
- assertTrue("equals", !fUstProviderInfo1.equals(fUstProviderInfo2));
- assertTrue("equals", !fUstProviderInfo2.equals(fUstProviderInfo1));
- }
-
- /**
- * Run the equals() method test.
- */
- @Test
- public void testEqualsSymmetry() {
- UstProviderInfo event1 = new UstProviderInfo((UstProviderInfo)fUstProviderInfo1);
- UstProviderInfo event2 = new UstProviderInfo((UstProviderInfo)fUstProviderInfo2);
-
- assertTrue("equals", event1.equals(fUstProviderInfo1));
- assertTrue("equals", fUstProviderInfo1.equals(event1));
-
- assertTrue("equals", event2.equals(fUstProviderInfo2));
- assertTrue("equals", fUstProviderInfo2.equals(event2));
- }
-
- /**
- * Run the equals() method test.
- */
- @Test
- public void testEqualsTransivity() {
- UstProviderInfo UstProvider1 = new UstProviderInfo((UstProviderInfo)fUstProviderInfo1);
- UstProviderInfo UstProvider2 = new UstProviderInfo((UstProviderInfo)fUstProviderInfo1);
- UstProviderInfo UstProvider3 = new UstProviderInfo((UstProviderInfo)fUstProviderInfo1);
-
- assertTrue("equals", UstProvider1.equals(UstProvider2));
- assertTrue("equals", UstProvider2.equals(UstProvider3));
- assertTrue("equals", UstProvider1.equals(UstProvider3));
- }
-
- /**
- * Run the equals() method test.
- */
- @Test
- public void testEqualsNull() {
- assertTrue("equals", !fUstProviderInfo1.equals(null));
- assertTrue("equals", !fUstProviderInfo2.equals(null));
- }
-
- // ------------------------------------------------------------------------
- // hashCode
- // ------------------------------------------------------------------------
-
- /**
- * Run the hashCode() method test.
- */
- @Test
- public void testHashCode() {
- UstProviderInfo UstProvider1 = new UstProviderInfo((UstProviderInfo)fUstProviderInfo1);
- UstProviderInfo UstProvider2 = new UstProviderInfo((UstProviderInfo)fUstProviderInfo2);
-
- assertTrue("hashCode", fUstProviderInfo1.hashCode() == UstProvider1.hashCode());
- assertTrue("hashCode", fUstProviderInfo2.hashCode() == UstProvider2.hashCode());
-
- assertTrue("hashCode", fUstProviderInfo1.hashCode() != UstProvider2.hashCode());
- assertTrue("hashCode", fUstProviderInfo2.hashCode() != UstProvider1.hashCode());
- }
-} \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.core.tests/src/org/eclipse/linuxtools/lttng2/control/core/tests/relayd/LttngRelayd24Test.java b/lttng/org.eclipse.linuxtools.lttng2.control.core.tests/src/org/eclipse/linuxtools/lttng2/control/core/tests/relayd/LttngRelayd24Test.java
deleted file mode 100644
index 0620f9d4a8..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.core.tests/src/org/eclipse/linuxtools/lttng2/control/core/tests/relayd/LttngRelayd24Test.java
+++ /dev/null
@@ -1,108 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2014 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:
- * Matthew Khouzam - Initial implementation
- **********************************************************************/
-
-package org.eclipse.linuxtools.lttng2.control.core.tests.relayd;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertTrue;
-
-import java.io.DataInputStream;
-import java.io.DataOutputStream;
-import java.io.IOException;
-import java.net.InetAddress;
-import java.net.Socket;
-import java.util.List;
-
-import org.eclipse.linuxtools.internal.lttng2.control.core.relayd.ILttngRelaydConnector;
-import org.eclipse.linuxtools.internal.lttng2.control.core.relayd.LttngRelaydConnectorFactory;
-import org.eclipse.linuxtools.internal.lttng2.control.core.relayd.lttngviewerCommands.AttachSessionResponse;
-import org.eclipse.linuxtools.internal.lttng2.control.core.relayd.lttngviewerCommands.Command;
-import org.eclipse.linuxtools.internal.lttng2.control.core.relayd.lttngviewerCommands.ConnectResponse;
-import org.eclipse.linuxtools.internal.lttng2.control.core.relayd.lttngviewerCommands.CreateSessionResponse;
-import org.eclipse.linuxtools.internal.lttng2.control.core.relayd.lttngviewerCommands.CreateSessionReturnCode;
-import org.eclipse.linuxtools.internal.lttng2.control.core.relayd.lttngviewerCommands.GetNextIndex;
-import org.eclipse.linuxtools.internal.lttng2.control.core.relayd.lttngviewerCommands.IndexResponse;
-import org.eclipse.linuxtools.internal.lttng2.control.core.relayd.lttngviewerCommands.NextIndexReturnCode;
-import org.eclipse.linuxtools.internal.lttng2.control.core.relayd.lttngviewerCommands.SessionResponse;
-import org.eclipse.linuxtools.internal.lttng2.control.core.relayd.lttngviewerCommands.StreamResponse;
-import org.eclipse.linuxtools.internal.lttng2.control.core.relayd.lttngviewerCommands.ViewerCommand;
-import org.junit.Test;
-
-/**
- * Unit tests for lttng-relayd. It actually allows us to test the API.
- *
- * @author Matthew Khouzam
- */
-public class LttngRelayd24Test {
-
- private static final int PACKETS_TO_READ = 100;
- private static final String ADDRESS = "127.0.0.1"; // change me //$NON-NLS-1$
- private static final int PORT = 5344;
-
- private static void getPackets(AttachSessionResponse attachedSession, Socket connection, ILttngRelaydConnector relayD) throws IOException {
- int numPacketsReceived = 0;
- DataOutputStream fOutNet = new DataOutputStream(connection.getOutputStream());
- DataInputStream fInNet = new DataInputStream(connection.getInputStream());
- while (numPacketsReceived < PACKETS_TO_READ) {
- for (StreamResponse stream : attachedSession.getStreamList()) {
- if (stream.getMetadataFlag() != 1) {
- ConnectResponse connectPayload = new ConnectResponse(fInNet);
- assertNotNull(connectPayload);
-
- ViewerCommand connectCommand = new ViewerCommand(Command.VIEWER_GET_NEXT_INDEX, ConnectResponse.SIZE, 0);
- fOutNet.write(connectCommand.serialize());
- fOutNet.flush();
-
- GetNextIndex indexRequest = new GetNextIndex(stream.getId());
- fOutNet.write(indexRequest.serialize());
- fOutNet.flush();
-
- IndexResponse indexReply = new IndexResponse(fInNet);
- // Nothing else supported for now
- if (indexReply.getStatus() == NextIndexReturnCode.VIEWER_INDEX_OK) {
- if (relayD.getPacketFromStream(indexReply, stream.getId()) != null) {
- numPacketsReceived++;
- }
- }
- }
- }
- }
- }
-
- /**
- * Test a connection
- *
- * @throws IOException
- * network timeout?
- */
- @Test
- public void testViewerConnection() throws IOException {
- InetAddress addr = InetAddress.getByName(ADDRESS);
- try (Socket connection = new Socket(addr, PORT);
- ILttngRelaydConnector relayD = LttngRelaydConnectorFactory.getNewConnector(connection);) {
-
- List<SessionResponse> sessions = relayD.getSessions();
- assertTrue(sessions.size() > 0);
- SessionResponse lttngViewerSession = sessions.get(0);
- assertNotNull(lttngViewerSession);
- CreateSessionResponse createSession = relayD.createSession();
- assertEquals(createSession.getStatus(), CreateSessionReturnCode.LTTNG_VIEWER_CREATE_SESSION_OK);
- AttachSessionResponse attachedSession = relayD.attachToSession(lttngViewerSession);
-
- String metaData = relayD.getMetadata(attachedSession);
- assertNotNull(metaData);
-
- getPackets(attachedSession, connection, relayD);
- }
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.core.tests/src/org/eclipse/linuxtools/lttng2/control/core/tests/session/AllTests.java b/lttng/org.eclipse.linuxtools.lttng2.control.core.tests/src/org/eclipse/linuxtools/lttng2/control/core/tests/session/AllTests.java
deleted file mode 100644
index a647473f4a..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.core.tests/src/org/eclipse/linuxtools/lttng2/control/core/tests/session/AllTests.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2014 École Polytechnique de Montréal
- *
- * 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:
- * Guilliano Molaire - Initial API and implementation
- *********************************************************************/
-package org.eclipse.linuxtools.lttng2.control.core.tests.session;
-
-import org.junit.runner.RunWith;
-import org.junit.runners.Suite;
-
-/**
- * Run all the tests in the lttng2.core.session plugin.
- */
-@RunWith(Suite.class)
-@Suite.SuiteClasses({
- SessionConfigGeneratorTest.class
-})
-public class AllTests {
-
-}
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.core.tests/src/org/eclipse/linuxtools/lttng2/control/core/tests/session/SessionConfigGeneratorTest.java b/lttng/org.eclipse.linuxtools.lttng2.control.core.tests/src/org/eclipse/linuxtools/lttng2/control/core/tests/session/SessionConfigGeneratorTest.java
deleted file mode 100644
index aa45579dd9..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.core.tests/src/org/eclipse/linuxtools/lttng2/control/core/tests/session/SessionConfigGeneratorTest.java
+++ /dev/null
@@ -1,156 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2014 École Polytechnique de Montréal
- *
- * 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:
- * Guilliano Molaire - Initial API and implementation
- *********************************************************************/
-
-package org.eclipse.linuxtools.lttng2.control.core.tests.session;
-
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertTrue;
-import static org.junit.Assert.fail;
-
-import java.io.File;
-import java.util.HashSet;
-import java.util.Set;
-
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.linuxtools.internal.lttng2.control.core.Activator;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.IDomainInfo;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.ISessionInfo;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.TraceSessionState;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.impl.BufferType;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.impl.SessionInfo;
-import org.eclipse.linuxtools.lttng2.control.core.session.SessionConfigGenerator;
-import org.eclipse.linuxtools.lttng2.control.core.session.SessionConfigStrings;
-import org.eclipse.linuxtools.lttng2.control.core.tests.model.impl.ModelImplFactory;
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Test;
-
-/**
- * This class contains tests for the class {@link SessionConfigGenerator}.
- */
-public class SessionConfigGeneratorTest {
-
- // ------------------------------------------------------------------------
- // Test data
- // ------------------------------------------------------------------------
-
- /** Session files for validation */
- private static final File VALID_SESSION_FILE = new File("../org.eclipse.linuxtools.lttng2.control.core.tests/test_session_config_files/test_valid.lttng");
- private static final File INVALID_SESSION_FILE = new File("../org.eclipse.linuxtools.lttng2.control.core.tests/test_session_config_files/test_invalid.lttng");
-
- private static final String SESSION_FILENAME = "test_session." + SessionConfigStrings.SESSION_CONFIG_FILE_EXTENSION;
- private static final IPath SESSION_FILE_PATH = Activator.getDefault().getStateLocation().addTrailingSeparator().append(SESSION_FILENAME);
- private static final String TRACE_SESSION_PATH = "/home/user/folder";
-
- private static final String SESSION_NAME_1 = "session1";
- private static final String SESSION_NAME_2 = "session2";
- private static final String SESSION_NAME_3 = "session3";
-
- /** Session informations for generation tests */
- private ISessionInfo fValidSessionInfo = null;
- private ISessionInfo fValidSessionSnapshotInfo = null;
- private ISessionInfo fInvalidSessionInfo = null;
-
- // ------------------------------------------------------------------------
- // Housekeeping
- // ------------------------------------------------------------------------
- /**
- * Perform pre-test initialization.
- */
- @Before
- public void setUp() {
- /* A valid domain with shared buffer type */
- ModelImplFactory factory = new ModelImplFactory();
- IDomainInfo domain = factory.getDomainInfo1();
- domain.setBufferType(BufferType.BUFFER_SHARED);
-
- /* The valid sessions */
- fValidSessionInfo = new SessionInfo(SESSION_NAME_1);
- fValidSessionInfo.setSessionPath(TRACE_SESSION_PATH);
- fValidSessionInfo.setSessionState(TraceSessionState.ACTIVE);
- fValidSessionInfo.addDomain(domain);
-
- fValidSessionSnapshotInfo = new SessionInfo(SESSION_NAME_2);
- fValidSessionSnapshotInfo.setSessionPath(TRACE_SESSION_PATH);
- fValidSessionSnapshotInfo.setSessionState(TraceSessionState.ACTIVE);
- fValidSessionSnapshotInfo.addDomain(domain);
- fValidSessionSnapshotInfo.setSnapshotInfo(factory.getSnapshotInfo1());
-
- /* The invalid session contains an event with an invalid type */
- fInvalidSessionInfo = factory.getSessionInfo2();
- fInvalidSessionInfo.setName(SESSION_NAME_3);
- }
-
- /**
- * Delete the session file created
- */
- @After
- public void tearUp() {
- /* Tear up the file created if it exists */
- File sessionConfigurationFile = SESSION_FILE_PATH.toFile();
- if (sessionConfigurationFile.exists()) {
- sessionConfigurationFile.delete();
- }
-
- }
-
- // ------------------------------------------------------------------------
- // Tests
- // ------------------------------------------------------------------------
-
- /**
- * Test method for {@link SessionConfigGenerator#sessionValidate(File)}
- */
- @Test
- public void testSessionValidate() {
- File testSessionFile = VALID_SESSION_FILE;
- if ((testSessionFile == null) || !testSessionFile.exists()) {
- fail("Session test file does not exist");
- }
- IStatus status = SessionConfigGenerator.sessionValidate(testSessionFile);
- if (!status.isOK()) {
- fail(status.getMessage());
- }
-
- testSessionFile = INVALID_SESSION_FILE;
- if ((testSessionFile == null) || !testSessionFile.exists()) {
- fail("Session test file does not exist");
- }
- assertFalse(SessionConfigGenerator.sessionValidate(testSessionFile).isOK());
- }
-
- /**
- * Test method for
- * {@link SessionConfigGenerator#generateSessionConfig(Set, IPath)}
- */
- @Test
- public void testGenerateSessionConfig() {
- /* Should fail since it's empty */
- final Set<ISessionInfo> sessions = new HashSet<>();
- assertFalse(SessionConfigGenerator.generateSessionConfig(sessions, SESSION_FILE_PATH).isOK());
-
- /* Add a valid session and validate */
- sessions.add(fValidSessionInfo);
- assertTrue(SessionConfigGenerator.generateSessionConfig(sessions, SESSION_FILE_PATH).isOK());
- assertTrue(SessionConfigGenerator.sessionValidate(SESSION_FILE_PATH.toFile()).isOK());
-
- /* Add a valid snapshot session and validate */
- sessions.add(fValidSessionSnapshotInfo);
- assertTrue(SessionConfigGenerator.generateSessionConfig(sessions, SESSION_FILE_PATH).isOK());
- assertTrue(SessionConfigGenerator.sessionValidate(SESSION_FILE_PATH.toFile()).isOK());
-
- /* Add an invalid session */
- sessions.add(fInvalidSessionInfo);
- assertFalse(SessionConfigGenerator.generateSessionConfig(sessions, SESSION_FILE_PATH).isOK());
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.core.tests/test_session_config_files/test_invalid.lttng b/lttng/org.eclipse.linuxtools.lttng2.control.core.tests/test_session_config_files/test_invalid.lttng
deleted file mode 100644
index d13f485874..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.core.tests/test_session_config_files/test_invalid.lttng
+++ /dev/null
@@ -1,55 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
- <!--***************************************************************************
- * Copyright(C) 2014 École Polytechnique de Montréal
- *
- * 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:
- * Guilliano Molaire - Initial API and implementation
- ***************************************************************************
- This is an invalid session configuration file. The domain type
- is missing.-->
-<sessions>
- <session>
- <name>auto-20140323-130527</name>
- <started>false</started>
- <domains>
- <domain>
- <buffer_type>GLOBAL</buffer_type>
- <channels>
- <channel>
- <name>channel0</name>
- <overwrite_mode>DISCARD</overwrite_mode>
- <subbuffer_count>4</subbuffer_count>
- <switch_timer_interval>0</switch_timer_interval>
- <tracefile_size>0</tracefile_size>
- <tracefile_count>0</tracefile_count>
- <live_timer_interval>0</live_timer_interval>
- <enabled>false</enabled>
- <subbuffer_size>262144</subbuffer_size>
- <read_timer_interval>200000</read_timer_interval>
- <output_type>SPLICE</output_type>
- <events>
- <event>
- <name>exit_syscall</name>
- <enabled>true</enabled>
- <type>TRACEPOINT</type>
- </event>
- </events>
- </channel>
- </channels>
- </domain>
- </domains>
- <output>
- <consumer_output>
- <enabled>true</enabled>
- <destination>
- <path>/home/user/folder</path>
- </destination>
- </consumer_output>
- </output>
- </session>
-</sessions>
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.core.tests/test_session_config_files/test_valid.lttng b/lttng/org.eclipse.linuxtools.lttng2.control.core.tests/test_session_config_files/test_valid.lttng
deleted file mode 100644
index 4dea4df351..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.core.tests/test_session_config_files/test_valid.lttng
+++ /dev/null
@@ -1,56 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
- <!--***************************************************************************
- * Copyright(C) 2014 École Polytechnique de Montréal
- *
- * 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:
- * Guilliano Molaire - Initial API and implementation
- ***************************************************************************
- This is a valid session configuration file. All mandatory
- elements are provided.-->
-<sessions>
- <session>
- <name>auto-20140323-130527</name>
- <started>false</started>
- <domains>
- <domain>
- <type>KERNEL</type>
- <buffer_type>GLOBAL</buffer_type>
- <channels>
- <channel>
- <name>channel0</name>
- <overwrite_mode>DISCARD</overwrite_mode>
- <subbuffer_count>4</subbuffer_count>
- <switch_timer_interval>0</switch_timer_interval>
- <tracefile_size>0</tracefile_size>
- <tracefile_count>0</tracefile_count>
- <live_timer_interval>0</live_timer_interval>
- <enabled>false</enabled>
- <subbuffer_size>262144</subbuffer_size>
- <read_timer_interval>200000</read_timer_interval>
- <output_type>SPLICE</output_type>
- <events>
- <event>
- <name>exit_syscall</name>
- <enabled>true</enabled>
- <type>TRACEPOINT</type>
- </event>
- </events>
- </channel>
- </channels>
- </domain>
- </domains>
- <output>
- <consumer_output>
- <enabled>true</enabled>
- <destination>
- <path>/home/user/folder</path>
- </destination>
- </consumer_output>
- </output>
- </session>
-</sessions>
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.core/.classpath b/lttng/org.eclipse.linuxtools.lttng2.control.core/.classpath
deleted file mode 100644
index 098194ca4b..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.core/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
- <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.7"/>
- <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
- <classpathentry kind="src" path="src"/>
- <classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.core/.project b/lttng/org.eclipse.linuxtools.lttng2.control.core/.project
deleted file mode 100644
index 6152f75871..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.core/.project
+++ /dev/null
@@ -1,34 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>org.eclipse.linuxtools.lttng2.control.core</name>
- <comment></comment>
- <projects>
- </projects>
- <buildSpec>
- <buildCommand>
- <name>org.eclipse.jdt.core.javabuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.ManifestBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.SchemaBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.api.tools.apiAnalysisBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>org.eclipse.pde.PluginNature</nature>
- <nature>org.eclipse.jdt.core.javanature</nature>
- <nature>org.eclipse.pde.api.tools.apiAnalysisNature</nature>
- </natures>
-</projectDescription>
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.core/.settings/org.eclipse.core.resources.prefs b/lttng/org.eclipse.linuxtools.lttng2.control.core/.settings/org.eclipse.core.resources.prefs
deleted file mode 100644
index 99f26c0203..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.core/.settings/org.eclipse.core.resources.prefs
+++ /dev/null
@@ -1,2 +0,0 @@
-eclipse.preferences.version=1
-encoding/<project>=UTF-8
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.core/.settings/org.eclipse.core.runtime.prefs b/lttng/org.eclipse.linuxtools.lttng2.control.core/.settings/org.eclipse.core.runtime.prefs
deleted file mode 100644
index 5a0ad22d2a..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.core/.settings/org.eclipse.core.runtime.prefs
+++ /dev/null
@@ -1,2 +0,0 @@
-eclipse.preferences.version=1
-line.separator=\n
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.core/.settings/org.eclipse.jdt.core.prefs b/lttng/org.eclipse.linuxtools.lttng2.control.core/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index 9f3662cd78..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.core/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,394 +0,0 @@
-eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.annotation.inheritNullAnnotations=enabled
-org.eclipse.jdt.core.compiler.annotation.missingNonNullByDefaultAnnotation=ignore
-org.eclipse.jdt.core.compiler.annotation.nonnull=org.eclipse.jdt.annotation.NonNull
-org.eclipse.jdt.core.compiler.annotation.nonnullbydefault=org.eclipse.jdt.annotation.NonNullByDefault
-org.eclipse.jdt.core.compiler.annotation.nullable=org.eclipse.jdt.annotation.Nullable
-org.eclipse.jdt.core.compiler.annotation.nullanalysis=enabled
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.7
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.doc.comment.support=enabled
-org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=error
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
-org.eclipse.jdt.core.compiler.problem.comparingIdentical=error
-org.eclipse.jdt.core.compiler.problem.deadCode=error
-org.eclipse.jdt.core.compiler.problem.deprecation=error
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled
-org.eclipse.jdt.core.compiler.problem.discouragedReference=warning
-org.eclipse.jdt.core.compiler.problem.emptyStatement=error
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.problem.explicitlyClosedAutoCloseable=error
-org.eclipse.jdt.core.compiler.problem.fallthroughCase=error
-org.eclipse.jdt.core.compiler.problem.fatalOptionalError=disabled
-org.eclipse.jdt.core.compiler.problem.fieldHiding=error
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=error
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=error
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=error
-org.eclipse.jdt.core.compiler.problem.includeNullInfoFromAsserts=disabled
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=error
-org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=error
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=error
-org.eclipse.jdt.core.compiler.problem.invalidJavadoc=warning
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTags=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=protected
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=error
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=error
-org.eclipse.jdt.core.compiler.problem.missingDefaultCase=error
-org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=error
-org.eclipse.jdt.core.compiler.problem.missingEnumCaseDespiteDefault=enabled
-org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=error
-org.eclipse.jdt.core.compiler.problem.missingJavadocComments=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=protected
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagDescription=all_standard_tags
-org.eclipse.jdt.core.compiler.problem.missingJavadocTags=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsMethodTypeParameters=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=protected
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=error
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotationForInterfaceMethodImplementation=enabled
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=error
-org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=error
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=error
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=error
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=warning
-org.eclipse.jdt.core.compiler.problem.nonnullParameterAnnotationDropped=warning
-org.eclipse.jdt.core.compiler.problem.nullAnnotationInferenceConflict=warning
-org.eclipse.jdt.core.compiler.problem.nullReference=error
-org.eclipse.jdt.core.compiler.problem.nullSpecViolation=error
-org.eclipse.jdt.core.compiler.problem.nullUncheckedConversion=warning
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=error
-org.eclipse.jdt.core.compiler.problem.parameterAssignment=error
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=error
-org.eclipse.jdt.core.compiler.problem.potentialNullReference=error
-org.eclipse.jdt.core.compiler.problem.potentiallyUnclosedCloseable=warning
-org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning
-org.eclipse.jdt.core.compiler.problem.redundantNullAnnotation=warning
-org.eclipse.jdt.core.compiler.problem.redundantNullCheck=error
-org.eclipse.jdt.core.compiler.problem.redundantSpecificationOfTypeArguments=error
-org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=error
-org.eclipse.jdt.core.compiler.problem.reportMethodCanBePotentiallyStatic=ignore
-org.eclipse.jdt.core.compiler.problem.reportMethodCanBeStatic=error
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=error
-org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=disabled
-org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
-org.eclipse.jdt.core.compiler.problem.syntacticNullAnalysisForFields=enabled
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
-org.eclipse.jdt.core.compiler.problem.typeParameterHiding=error
-org.eclipse.jdt.core.compiler.problem.unavoidableGenericTypeProblems=disabled
-org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
-org.eclipse.jdt.core.compiler.problem.unclosedCloseable=error
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
-org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=error
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=error
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=error
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=warning
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=disabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=disabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=error
-org.eclipse.jdt.core.compiler.problem.unusedLabel=error
-org.eclipse.jdt.core.compiler.problem.unusedLocal=error
-org.eclipse.jdt.core.compiler.problem.unusedObjectAllocation=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=error
-org.eclipse.jdt.core.compiler.problem.unusedTypeParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedWarningToken=error
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=error
-org.eclipse.jdt.core.compiler.source=1.7
-org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_assignment=0
-org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
-org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
-org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
-org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
-org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0
-org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=80
-org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=0
-org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch=16
-org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_after_package=1
-org.eclipse.jdt.core.formatter.blank_lines_before_field=0
-org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
-org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
-org.eclipse.jdt.core.formatter.blank_lines_before_method=1
-org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
-org.eclipse.jdt.core.formatter.blank_lines_before_package=0
-org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
-org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
-org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
-org.eclipse.jdt.core.formatter.comment.format_block_comments=true
-org.eclipse.jdt.core.formatter.comment.format_header=false
-org.eclipse.jdt.core.formatter.comment.format_html=true
-org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=true
-org.eclipse.jdt.core.formatter.comment.format_line_comments=true
-org.eclipse.jdt.core.formatter.comment.format_source_code=true
-org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true
-org.eclipse.jdt.core.formatter.comment.indent_root_tags=true
-org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
-org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=insert
-org.eclipse.jdt.core.formatter.comment.line_length=80
-org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries=true
-org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries=true
-org.eclipse.jdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments=false
-org.eclipse.jdt.core.formatter.compact_else_if=true
-org.eclipse.jdt.core.formatter.continuation_indentation=2
-org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2
-org.eclipse.jdt.core.formatter.disabling_tag=@formatter\:off
-org.eclipse.jdt.core.formatter.enabling_tag=@formatter\:on
-org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
-org.eclipse.jdt.core.formatter.format_line_comment_starting_on_first_column=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
-org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_empty_lines=false
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=false
-org.eclipse.jdt.core.formatter.indentation.size=4
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_label=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_try=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources=insert
-org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_try=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
-org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.join_lines_in_comments=true
-org.eclipse.jdt.core.formatter.join_wrapped_lines=false
-org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.lineSplit=250
-org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
-org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
-org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true
-org.eclipse.jdt.core.formatter.tabulation.char=space
-org.eclipse.jdt.core.formatter.tabulation.size=4
-org.eclipse.jdt.core.formatter.use_on_off_tags=false
-org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
-org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
-org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true
-org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.core/.settings/org.eclipse.jdt.ui.prefs b/lttng/org.eclipse.linuxtools.lttng2.control.core/.settings/org.eclipse.jdt.ui.prefs
deleted file mode 100644
index 4fd0c7006a..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.core/.settings/org.eclipse.jdt.ui.prefs
+++ /dev/null
@@ -1,56 +0,0 @@
-eclipse.preferences.version=1
-editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
-formatter_profile=_tmf-style
-formatter_settings_version=12
-sp_cleanup.add_default_serial_version_id=true
-sp_cleanup.add_generated_serial_version_id=false
-sp_cleanup.add_missing_annotations=false
-sp_cleanup.add_missing_deprecated_annotations=true
-sp_cleanup.add_missing_methods=false
-sp_cleanup.add_missing_nls_tags=false
-sp_cleanup.add_missing_override_annotations=true
-sp_cleanup.add_missing_override_annotations_interface_methods=true
-sp_cleanup.add_serial_version_id=false
-sp_cleanup.always_use_blocks=true
-sp_cleanup.always_use_parentheses_in_expressions=false
-sp_cleanup.always_use_this_for_non_static_field_access=false
-sp_cleanup.always_use_this_for_non_static_method_access=false
-sp_cleanup.convert_to_enhanced_for_loop=false
-sp_cleanup.correct_indentation=false
-sp_cleanup.format_source_code=false
-sp_cleanup.format_source_code_changes_only=false
-sp_cleanup.make_local_variable_final=false
-sp_cleanup.make_parameters_final=false
-sp_cleanup.make_private_fields_final=true
-sp_cleanup.make_type_abstract_if_missing_method=false
-sp_cleanup.make_variable_declarations_final=false
-sp_cleanup.never_use_blocks=false
-sp_cleanup.never_use_parentheses_in_expressions=true
-sp_cleanup.on_save_use_additional_actions=true
-sp_cleanup.organize_imports=false
-sp_cleanup.qualify_static_field_accesses_with_declaring_class=false
-sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_with_declaring_class=false
-sp_cleanup.qualify_static_method_accesses_with_declaring_class=false
-sp_cleanup.remove_private_constructors=true
-sp_cleanup.remove_trailing_whitespaces=true
-sp_cleanup.remove_trailing_whitespaces_all=true
-sp_cleanup.remove_trailing_whitespaces_ignore_empty=false
-sp_cleanup.remove_unnecessary_casts=false
-sp_cleanup.remove_unnecessary_nls_tags=false
-sp_cleanup.remove_unused_imports=false
-sp_cleanup.remove_unused_local_variables=false
-sp_cleanup.remove_unused_private_fields=true
-sp_cleanup.remove_unused_private_members=false
-sp_cleanup.remove_unused_private_methods=true
-sp_cleanup.remove_unused_private_types=true
-sp_cleanup.sort_members=false
-sp_cleanup.sort_members_all=false
-sp_cleanup.use_blocks=true
-sp_cleanup.use_blocks_only_for_return_and_throw=false
-sp_cleanup.use_parentheses_in_expressions=false
-sp_cleanup.use_this_for_non_static_field_access=false
-sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=true
-sp_cleanup.use_this_for_non_static_method_access=false
-sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.core/.settings/org.eclipse.pde.api.tools.prefs b/lttng/org.eclipse.linuxtools.lttng2.control.core/.settings/org.eclipse.pde.api.tools.prefs
deleted file mode 100644
index acc3abd47c..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.core/.settings/org.eclipse.pde.api.tools.prefs
+++ /dev/null
@@ -1,97 +0,0 @@
-ANNOTATION_ELEMENT_TYPE_ADDED_METHOD_WITHOUT_DEFAULT_VALUE=Error
-ANNOTATION_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
-ANNOTATION_ELEMENT_TYPE_REMOVED_FIELD=Error
-ANNOTATION_ELEMENT_TYPE_REMOVED_METHOD=Error
-ANNOTATION_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
-API_COMPONENT_ELEMENT_TYPE_REMOVED_API_TYPE=Error
-API_COMPONENT_ELEMENT_TYPE_REMOVED_REEXPORTED_API_TYPE=Error
-API_COMPONENT_ELEMENT_TYPE_REMOVED_REEXPORTED_TYPE=Error
-API_COMPONENT_ELEMENT_TYPE_REMOVED_TYPE=Error
-API_USE_SCAN_FIELD_SEVERITY=Error
-API_USE_SCAN_METHOD_SEVERITY=Error
-API_USE_SCAN_TYPE_SEVERITY=Error
-CLASS_ELEMENT_TYPE_ADDED_METHOD=Error
-CLASS_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
-CLASS_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
-CLASS_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error
-CLASS_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
-CLASS_ELEMENT_TYPE_CHANGED_NON_ABSTRACT_TO_ABSTRACT=Error
-CLASS_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error
-CLASS_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
-CLASS_ELEMENT_TYPE_REMOVED_CONSTRUCTOR=Error
-CLASS_ELEMENT_TYPE_REMOVED_FIELD=Error
-CLASS_ELEMENT_TYPE_REMOVED_METHOD=Error
-CLASS_ELEMENT_TYPE_REMOVED_SUPERCLASS=Error
-CLASS_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
-CLASS_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
-CONSTRUCTOR_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
-CONSTRUCTOR_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
-CONSTRUCTOR_ELEMENT_TYPE_CHANGED_VARARGS_TO_ARRAY=Error
-CONSTRUCTOR_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
-ENUM_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error
-ENUM_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
-ENUM_ELEMENT_TYPE_REMOVED_ENUM_CONSTANT=Error
-ENUM_ELEMENT_TYPE_REMOVED_FIELD=Error
-ENUM_ELEMENT_TYPE_REMOVED_METHOD=Error
-ENUM_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
-FIELD_ELEMENT_TYPE_ADDED_VALUE=Error
-FIELD_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
-FIELD_ELEMENT_TYPE_CHANGED_FINAL_TO_NON_FINAL_STATIC_CONSTANT=Error
-FIELD_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error
-FIELD_ELEMENT_TYPE_CHANGED_NON_STATIC_TO_STATIC=Error
-FIELD_ELEMENT_TYPE_CHANGED_STATIC_TO_NON_STATIC=Error
-FIELD_ELEMENT_TYPE_CHANGED_TYPE=Error
-FIELD_ELEMENT_TYPE_CHANGED_VALUE=Error
-FIELD_ELEMENT_TYPE_REMOVED_TYPE_ARGUMENT=Error
-FIELD_ELEMENT_TYPE_REMOVED_VALUE=Error
-ILLEGAL_EXTEND=Warning
-ILLEGAL_IMPLEMENT=Warning
-ILLEGAL_INSTANTIATE=Warning
-ILLEGAL_OVERRIDE=Warning
-ILLEGAL_REFERENCE=Warning
-INTERFACE_ELEMENT_TYPE_ADDED_FIELD=Error
-INTERFACE_ELEMENT_TYPE_ADDED_METHOD=Error
-INTERFACE_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
-INTERFACE_ELEMENT_TYPE_ADDED_SUPER_INTERFACE_WITH_METHODS=Error
-INTERFACE_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
-INTERFACE_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error
-INTERFACE_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
-INTERFACE_ELEMENT_TYPE_REMOVED_FIELD=Error
-INTERFACE_ELEMENT_TYPE_REMOVED_METHOD=Error
-INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
-INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
-INVALID_JAVADOC_TAG=Warning
-INVALID_REFERENCE_IN_SYSTEM_LIBRARIES=Warning
-LEAK_EXTEND=Warning
-LEAK_FIELD_DECL=Warning
-LEAK_IMPLEMENT=Warning
-LEAK_METHOD_PARAM=Warning
-LEAK_METHOD_RETURN_TYPE=Warning
-METHOD_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
-METHOD_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
-METHOD_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
-METHOD_ELEMENT_TYPE_CHANGED_NON_ABSTRACT_TO_ABSTRACT=Error
-METHOD_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error
-METHOD_ELEMENT_TYPE_CHANGED_NON_STATIC_TO_STATIC=Error
-METHOD_ELEMENT_TYPE_CHANGED_STATIC_TO_NON_STATIC=Error
-METHOD_ELEMENT_TYPE_CHANGED_VARARGS_TO_ARRAY=Error
-METHOD_ELEMENT_TYPE_REMOVED_ANNOTATION_DEFAULT_VALUE=Error
-METHOD_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
-MISSING_EE_DESCRIPTIONS=Ignore
-TYPE_PARAMETER_ELEMENT_TYPE_ADDED_CLASS_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_ADDED_INTERFACE_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_CHANGED_CLASS_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_CHANGED_INTERFACE_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_CLASS_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error
-UNUSED_PROBLEM_FILTERS=Warning
-automatically_removed_unused_problem_filters=false
-eclipse.preferences.version=1
-incompatible_api_component_version=Error
-incompatible_api_component_version_include_major_without_breaking_change=Disabled
-incompatible_api_component_version_include_minor_without_api_change=Disabled
-invalid_since_tag_version=Error
-malformed_since_tag=Error
-missing_since_tag=Error
-report_api_breakage_when_major_version_incremented=Disabled
-report_resolution_errors_api_component=Warning
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.core/.settings/org.eclipse.pde.prefs b/lttng/org.eclipse.linuxtools.lttng2.control.core/.settings/org.eclipse.pde.prefs
deleted file mode 100644
index d92b94fd4b..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.core/.settings/org.eclipse.pde.prefs
+++ /dev/null
@@ -1,32 +0,0 @@
-compilers.f.unresolved-features=1
-compilers.f.unresolved-plugins=1
-compilers.incompatible-environment=1
-compilers.p.build=1
-compilers.p.build.bin.includes=1
-compilers.p.build.encodings=2
-compilers.p.build.java.compiler=2
-compilers.p.build.java.compliance=1
-compilers.p.build.missing.output=2
-compilers.p.build.output.library=1
-compilers.p.build.source.library=1
-compilers.p.build.src.includes=1
-compilers.p.deprecated=1
-compilers.p.discouraged-class=1
-compilers.p.internal=1
-compilers.p.missing-packages=1
-compilers.p.missing-version-export-package=2
-compilers.p.missing-version-import-package=2
-compilers.p.missing-version-require-bundle=2
-compilers.p.no-required-att=0
-compilers.p.not-externalized-att=1
-compilers.p.unknown-attribute=1
-compilers.p.unknown-class=1
-compilers.p.unknown-element=1
-compilers.p.unknown-identifier=1
-compilers.p.unknown-resource=1
-compilers.p.unresolved-ex-points=0
-compilers.p.unresolved-import=0
-compilers.s.create-docs=false
-compilers.s.doc-folder=doc
-compilers.s.open-tags=1
-eclipse.preferences.version=1
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.core/META-INF/MANIFEST.MF b/lttng/org.eclipse.linuxtools.lttng2.control.core/META-INF/MANIFEST.MF
deleted file mode 100644
index 4d5b4e4972..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.core/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,22 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %Bundle-Name
-Bundle-Vendor: %Bundle-Vendor
-Bundle-Version: 3.1.0.qualifier
-Bundle-Localization: plugin
-Bundle-SymbolicName: org.eclipse.linuxtools.lttng2.control.core;singleton:=true
-Bundle-Activator: org.eclipse.linuxtools.internal.lttng2.control.core.Activator
-Bundle-ActivationPolicy: lazy
-Bundle-RequiredExecutionEnvironment: JavaSE-1.7
-Require-Bundle: org.eclipse.core.runtime,
- org.eclipse.linuxtools.ctf.core;bundle-version="3.1.0",
- org.eclipse.linuxtools.tmf.core;bundle-version="3.1.0",
- org.eclipse.linuxtools.tmf.ctf.core;bundle-version="3.1.0"
-Export-Package: org.eclipse.linuxtools.internal.lttng2.control.core;x-friends:="org.eclipse.linuxtools.lttng2.control.core.tests",
- org.eclipse.linuxtools.internal.lttng2.control.core.model;x-friends:="org.eclipse.linuxtools.lttng2.control.ui,org.eclipse.linuxtools.lttng2.control.ui.tests,org.eclipse.linuxtools.lttng2.control.core.tests",
- org.eclipse.linuxtools.internal.lttng2.control.core.model.impl;x-friends:="org.eclipse.linuxtools.lttng2.control.ui,org.eclipse.linuxtools.lttng2.control.ui.tests,org.eclipse.linuxtools.lttng2.control.core.tests",
- org.eclipse.linuxtools.internal.lttng2.control.core.relayd;x-friends:="org.eclipse.linuxtools.lttng2.control.core.tests,org.eclipse.linuxtools.lttng2.control.ui,org.eclipse.linuxtools.lttng2.control.ui.tests",
- org.eclipse.linuxtools.internal.lttng2.control.core.relayd.impl;x-friends:="org.eclipse.linuxtools.lttng2.control.core.tests,org.eclipse.linuxtools.lttng2.control.ui,org.eclipse.linuxtools.lttng2.control.ui.tests",
- org.eclipse.linuxtools.internal.lttng2.control.core.relayd.lttngviewerCommands;x-friends:="org.eclipse.linuxtools.lttng2.control.core.tests,org.eclipse.linuxtools.lttng2.control.ui,org.eclipse.linuxtools.lttng2.control.ui.tests",
- org.eclipse.linuxtools.lttng2.control.core.session
-Import-Package: com.google.common.collect
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.core/about.html b/lttng/org.eclipse.linuxtools.lttng2.control.core/about.html
deleted file mode 100644
index c258ef55d8..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.core/about.html
+++ /dev/null
@@ -1,28 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
-<title>About</title>
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
-
-<p>June 5, 2006</p>
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;). Unless otherwise
-indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is available
-at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is
-being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content. Check the Redistributor's license that was
-provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at <a href="http://www.eclipse.org/">http://www.eclipse.org</a>.</p>
-
-</body>
-</html> \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.core/build.properties b/lttng/org.eclipse.linuxtools.lttng2.control.core/build.properties
deleted file mode 100644
index 7a2207a1a0..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.core/build.properties
+++ /dev/null
@@ -1,21 +0,0 @@
-###############################################################################
-# Copyright (c) 2013 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:
-# Ericsson - Initial API and implementation
-###############################################################################
-
-source.. = src/
-output.. = bin/
-bin.includes = META-INF/,\
- .,\
- about.html,\
- plugin.properties
-src.includes = about.html
-additional.bundles = org.eclipse.jdt.annotation
-jars.extra.classpath = platform:/plugin/org.eclipse.jdt.annotation \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.core/plugin.properties b/lttng/org.eclipse.linuxtools.lttng2.control.core/plugin.properties
deleted file mode 100644
index f4637e1581..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.core/plugin.properties
+++ /dev/null
@@ -1,15 +0,0 @@
-###############################################################################
-# Copyright (c) 2013 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:
-# Ericsson - Initial API and implementation
-###############################################################################
-
-#Properties file for org.eclipse.linuxtools.lttng2.control.core
-Bundle-Vendor = Eclipse Linux Tools
-Bundle-Name = Linux Tools LTTng Control Core Plug-in
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.core/pom.xml b/lttng/org.eclipse.linuxtools.lttng2.control.core/pom.xml
deleted file mode 100644
index 6282ab8f69..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.core/pom.xml
+++ /dev/null
@@ -1,36 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Copyright (C) 2011, Red Hat, Inc.
-
- 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
--->
-<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
- <modelVersion>4.0.0</modelVersion>
-
- <parent>
- <artifactId>linuxtools-lttng-parent</artifactId>
- <groupId>org.eclipse.linuxtools.lttng</groupId>
- <version>3.2.0-SNAPSHOT</version>
- </parent>
-
- <artifactId>org.eclipse.linuxtools.lttng2.control.core</artifactId>
- <version>3.1.0-SNAPSHOT</version>
- <packaging>eclipse-plugin</packaging>
-
- <name>Linux Tools LTTng Control Core Plug-in</name>
-
- <build>
- <plugins>
- <plugin>
- <groupId>org.eclipse.tycho</groupId>
- <artifactId>tycho-source-plugin</artifactId>
- </plugin>
- </plugins>
- </build>
-
- <groupId>org.eclipse.linuxtools.lttng2</groupId>
-</project>
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/Activator.java b/lttng/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/Activator.java
deleted file mode 100644
index be722ee69b..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/Activator.java
+++ /dev/null
@@ -1,136 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2012, 2013 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.internal.lttng2.control.core;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Plugin;
-import org.eclipse.core.runtime.Status;
-import org.osgi.framework.BundleContext;
-
-/**
- * <b><u>Activator</u></b>
- * <p>
- * The activator class controls the plug-in life cycle
- */
-public class Activator extends Plugin {
-
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
-
- /**
- * The plug-in ID
- */
- public static final String PLUGIN_ID = "org.eclipse.linuxtools.lttng2.control.core"; //$NON-NLS-1$
-
- /**
- * The shared instance
- */
- private static Activator plugin;
-
- // ------------------------------------------------------------------------
- // Constructors
- // ------------------------------------------------------------------------
-
- /**
- * The constructor
- */
- public Activator() {
- }
-
- // ------------------------------------------------------------------------
- // Accessors
- // ------------------------------------------------------------------------
-
- /**
- * Returns the shared instance
- *
- * @return the shared instance
- */
- public static Activator getDefault() {
- return plugin;
- }
-
- // ------------------------------------------------------------------------
- // Operators
- // ------------------------------------------------------------------------
-
- @Override
- public void start(BundleContext context) throws Exception {
- super.start(context);
- plugin = this;
- }
-
- @Override
- public void stop(BundleContext context) throws Exception {
- plugin = null;
- super.stop(context);
- }
-
- /**
- * Logs a message with severity INFO in the runtime log of the plug-in.
- *
- * @param message A message to log
- */
- public void logInfo(String message) {
- getLog().log(new Status(IStatus.INFO, PLUGIN_ID, message));
- }
-
- /**
- * Logs a message and exception with severity INFO in the runtime log of the plug-in.
- *
- * @param message A message to log
- * @param exception A exception to log
- */
- public void logInfo(String message, Throwable exception) {
- getLog().log(new Status(IStatus.INFO, PLUGIN_ID, message, exception));
- }
-
- /**
- * Logs a message and exception with severity WARNING in the runtime log of the plug-in.
- *
- * @param message A message to log
- */
- public void logWarning(String message) {
- getLog().log(new Status(IStatus.WARNING, PLUGIN_ID, message));
- }
-
- /**
- * Logs a message and exception with severity WARNING in the runtime log of the plug-in.
- *
- * @param message A message to log
- * @param exception A exception to log
- */
- public void logWarning(String message, Throwable exception) {
- getLog().log(new Status(IStatus.WARNING, PLUGIN_ID, message, exception));
- }
-
- /**
- * Logs a message and exception with severity ERROR in the runtime log of the plug-in.
- *
- * @param message A message to log
- */
- public void logError(String message) {
- getLog().log(new Status(IStatus.ERROR, PLUGIN_ID, message));
- }
-
- /**
- * Logs a message and exception with severity ERROR in the runtime log of the plug-in.
- *
- * @param message A message to log
- * @param exception A exception to log
- */
- public void logError(String message, Throwable exception) {
- getLog().log(new Status(IStatus.ERROR, PLUGIN_ID, message, exception));
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/model/IBaseEventInfo.java b/lttng/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/model/IBaseEventInfo.java
deleted file mode 100644
index 21d7b3bfdc..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/model/IBaseEventInfo.java
+++ /dev/null
@@ -1,89 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2012, 2013 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:
- * Bernd Hufmann - Initial API and implementation
- * Bernd Hufmann - Updated for support of LTTng Tools 2.1
- **********************************************************************/
-package org.eclipse.linuxtools.internal.lttng2.control.core.model;
-
-import java.util.List;
-
-/**
- * <p>
- * Interface for retrieval of basic trace event information.
- * </p>
- *
- * @author Bernd Hufmann
- */
-public interface IBaseEventInfo extends ITraceInfo {
-
- /**
- * @return the trace event type
- */
- TraceEventType getEventType();
-
- /**
- * Sets the trace event type to the given type
- * @param type - type to set
- */
- void setEventType(TraceEventType type);
-
- /**
- * Sets the trace event type to the type specified by the given name.
- * @param typeName - event type name
- */
- void setEventType(String typeName);
-
- /**
- * @return the trace event log level
- */
- TraceLogLevel getLogLevel();
-
- /**
- * Sets the trace event log level to the given level
- * @param level - event log level to set
- */
- void setLogLevel(TraceLogLevel level);
-
- /**
- * Sets the trace event log level to the level specified by the given name.
- * @param levelName - event log level name
- */
- void setLogLevel(String levelName);
-
- /**
- * Returns the field information (if exists)
- * @return the field information or null
- */
- IFieldInfo[] getFields();
-
- /**
- * @param field The field to add
- */
- void addField(IFieldInfo field);
-
- /**
- * Sets the fields
- * @param fields The fields
- */
- void setFields(List<IFieldInfo> fields);
-
- /**
- * Returns filter expression.
- * @return filter expression
- */
- String getFilterExpression();
-
- /**
- * Sets the filter expression.
- * @param filter The filter expression to set
- */
- void setFilterExpression(String filter);
-
-}
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/model/IChannelInfo.java b/lttng/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/model/IChannelInfo.java
deleted file mode 100644
index 8018ea0458..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/model/IChannelInfo.java
+++ /dev/null
@@ -1,157 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2012, 2013 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:
- * Bernd Hufmann - Initial API and implementation
- * Simon Delisle - Updated for support of LTTng Tools 2.2
- **********************************************************************/
-package org.eclipse.linuxtools.internal.lttng2.control.core.model;
-
-import java.util.List;
-
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.impl.BufferType;
-
-/**
- * <p>
- * Interface for retrieval of trace channel information.
- * </p>
- *
- * @author Bernd Hufmann
- */
-public interface IChannelInfo extends ITraceInfo {
-
- // ------------------------------------------------------------------------
- // Constants
- // ------------------------------------------------------------------------
- /**
- * Default value for overwrite mode.
- */
- public final static boolean DEFAULT_OVERWRITE_MODE = false;
-
- /**
- * @return the overwrite mode value.
- */
- boolean isOverwriteMode();
- /**
- * Sets the overwrite mode value to the given mode.
- * @param mode - mode to set.
- */
- void setOverwriteMode(boolean mode);
-
- /**
- * @return the sub-buffer size.
- */
- long getSubBufferSize();
- /**
- * Sets the sub-buffer size to the given value.
- * @param bufferSize - size to set to set.
- */
- void setSubBufferSize(long bufferSize);
-
- /**
- * @return the number of sub-buffers.
- */
- int getNumberOfSubBuffers();
- /**
- * Sets the number of sub-buffers to the given value.
- * @param numberOfSubBuffers - value to set.
- */
- void setNumberOfSubBuffers(int numberOfSubBuffers);
-
- /**
- * @return the switch timer interval.
- */
- long getSwitchTimer();
- /**
- * Sets the switch timer interval to the given value.
- * @param timer - timer value to set.
- */
- void setSwitchTimer(long timer);
-
- /**
- * @return the read timer interval.
- */
- long getReadTimer();
- /**
- * Sets the read timer interval to the given value.
- * @param timer - timer value to set..
- */
- void setReadTimer(long timer);
-
- /**
- * @return the output type.
- */
- TraceChannelOutputType getOutputType();
- /**
- * Sets the output type to the given value.
- * @param type - type to set.
- */
- void setOutputType(String type);
- /**
- * Sets the output type to the given value.
- * @param type - type to set.
- */
- void setOutputType(TraceChannelOutputType type);
-
- /**
- * @return the channel state (enabled or disabled).
- */
- TraceEnablement getState();
- /**
- * Sets the channel state (enablement) to the given value.
- * @param state - state to set.
- */
- void setState(TraceEnablement state);
- /**
- * Sets the channel state (enablement) to the value specified by the given name.
- * @param stateName - state to set.
- */
- void setState(String stateName);
-
- /**
- * @return all event information as array.
- */
- IEventInfo[] getEvents();
- /**
- * Sets the event information specified by given list.
- * @param events - all event information to set.
- */
- void setEvents(List<IEventInfo> events);
- /**
- * Adds a single event information.
- * @param event - event information to add.
- */
- void addEvent(IEventInfo event);
- /**
- * Sets the maximum size of trace files
- * @param maxSizeTraceFiles - maximum size
- */
- void setMaxSizeTraceFiles(int maxSizeTraceFiles);
- /**
- * Sets the maximum number of trace files
- * @param maxNumberTraceFiles - maximum number
- */
- void setMaxNumberTraceFiles(int maxNumberTraceFiles);
- /**
- * @return maximum size of trace files
- */
- int getMaxSizeTraceFiles();
- /**
- * @return maximum number of trace files
- */
- int getMaxNumberTraceFiles();
- /**
- * Sets per UID buffers
- * @param buffersUID - enable or not
- */
- void setBufferType(BufferType buffersUID);
- /**
- * @return the value of buffersUID (enable or not)
- */
- BufferType getBufferType();
-}
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/model/IDomainInfo.java b/lttng/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/model/IDomainInfo.java
deleted file mode 100644
index 783deb511f..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/model/IDomainInfo.java
+++ /dev/null
@@ -1,69 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2012, 2013 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:
- * Bernd Hufmann - Initial API and implementation
- **********************************************************************/
-package org.eclipse.linuxtools.internal.lttng2.control.core.model;
-
-import java.util.List;
-
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.impl.BufferType;
-
-/**
- * <p>
- * Interface for retrieval of trace domain information.
- * </p>
- *
- * @author Bernd Hufmann
- */
-public interface IDomainInfo extends ITraceInfo {
-
- /**
- * @return information about all channels
- */
- IChannelInfo[] getChannels();
-
- /**
- * Sets the channel information specified by given list.
- * @param channels - all channel information to set.
- */
- void setChannels(List<IChannelInfo> channels);
-
- /**
- * Adds a single channel information.
- * @param channel - channel information to add.
- */
- void addChannel(IChannelInfo channel);
-
- /**
- * @return true if domain is kernel, false for UST
- */
- boolean isKernel();
-
- /**
- * Sets whether domain is Kernel domain or UST
- * @param isKernel true for kernel, false for UST
- */
- void setIsKernel(boolean isKernel);
-
- /**
- * @return Information about the buffer type
- */
- BufferType getBufferType();
-
- /**
- * Sets the buffer type
- *
- * @param bufferType
- * The buffer type
- */
- void setBufferType(BufferType bufferType);
-
-
-}
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/model/IEventInfo.java b/lttng/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/model/IEventInfo.java
deleted file mode 100644
index cd11e82b10..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/model/IEventInfo.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2012, 2014 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:
- * Bernd Hufmann - Initial API and implementation
- **********************************************************************/
-package org.eclipse.linuxtools.internal.lttng2.control.core.model;
-
-/**
- * <p>
- * Interface for retrieval of trace event information.
- * </p>
- *
- * @author Bernd Hufmann
- */
-public interface IEventInfo extends IBaseEventInfo {
-
- /**
- * @return the event state (enabled or disabled).
- */
- TraceEnablement getState();
-
- /**
- * Sets the event state (enablement) to the given value.
- * @param state - state to set.
- */
- void setState(TraceEnablement state);
-
- /**
- * Sets the event state (enablement) to the value specified by the given name.
- * @param stateName - state to set.
- */
- void setState(String stateName);
-
- /**
- * Returns the log level type.
- * @return log level type.
- */
- LogLevelType getLogLevelType();
-
- /**
- * Sets the LogLevelType.
- * @param type - log level type
- */
- void setLogLevelType(LogLevelType type);
-
- /**
- * Sets the LogLevelType based on given short name.
- * @param shortName - short name of type
- */
- void setLogLevelType(String shortName);
-
-}
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/model/IFieldInfo.java b/lttng/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/model/IFieldInfo.java
deleted file mode 100644
index 3486a841fd..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/model/IFieldInfo.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2012, 2013 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:
- * Bernd Hufmann - Initial API and implementation
- **********************************************************************/
-package org.eclipse.linuxtools.internal.lttng2.control.core.model;
-
-/**
- * <p>
- * Interface for retrieval of event field information.
- * </p>
- *
- * @author Bernd Hufmann
- */
-public interface IFieldInfo extends ITraceInfo {
-
- /**
- * @return the event field type
- */
- String getFieldType();
-
- /**
- * Sets field type string
- *
- * @param fieldType - sting of event field type
- */
- void setFieldType(String fieldType);
-}
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/model/IProbeEventInfo.java b/lttng/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/model/IProbeEventInfo.java
deleted file mode 100644
index 915998bdbf..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/model/IProbeEventInfo.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2012, 2013 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:
- * Bernd Hufmann - Initial API and implementation
- **********************************************************************/
-package org.eclipse.linuxtools.internal.lttng2.control.core.model;
-
-/**
- * <p>
- * Interface for retrieval of probe event information.
- * </p>
- *
- * @author Bernd Hufmann
- */
-public interface IProbeEventInfo extends IEventInfo {
-
- /**
- * @return the address of the probe. (null if not used)
- */
- String getAddress();
-
- /**
- * Sets the address of the probe.
- * @param address - a address (null if not used)
- */
- void setAddress(String address);
-
- /**
- * @return the offset applied to the symbol (null if not used).
- */
- String getOffset();
-
- /**
- * Sets the offset applied to the symbol.
- * @param offset - a offset ((null if not used)
- */
- void setOffset(String offset);
-
- /**
- * @return the symbol name. ((null if not used))
- */
- String getSymbol();
-
- /**
- * Sets the symbol name.
- * @param symbol - a symbol name ((null if not used))
- */
- void setSymbol(String symbol);
-}
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/model/ISessionInfo.java b/lttng/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/model/ISessionInfo.java
deleted file mode 100644
index d40a695b4a..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/model/ISessionInfo.java
+++ /dev/null
@@ -1,222 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2012, 2013 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:
- * Bernd Hufmann - Initial API and implementation
- * Bernd Hufmann - Updated for support of LTTng Tools 2.1
- * Marc-Andre Laperle - Support for creating a live session
- **********************************************************************/
-package org.eclipse.linuxtools.internal.lttng2.control.core.model;
-
-import java.util.List;
-
-/**
- * <p>
- * Interface for retrieval of trace session information.
- * </p>
- *
- * @author Bernd Hufmann
- */
-public interface ISessionInfo extends ITraceInfo {
-
- /**
- * @return the session state state (active or inactive).
- */
- TraceSessionState getSessionState();
- /**
- * Sets the session state to the given value.
- * @param state - state to set.
- */
- void setSessionState(TraceSessionState state);
-
- /**
- * Sets the event state to the value specified by the given name.
- * @param stateName - state to set.
- */
- void setSessionState(String stateName);
-
- /**
- * @return path string where session is located.
- */
- String getSessionPath();
-
- /**
- * Sets the path string (where session is located) to the given value.
- * @param path - session path to set.
- */
- void setSessionPath(String path);
-
- /**
- * @return all domain information as array.
- */
- IDomainInfo[] getDomains();
-
- /**
- * Sets all domain information specified by given list.
- * @param domains - all domain information to set.
- */
- void setDomains(List<IDomainInfo> domains);
-
- /**
- * Adds a single domain information.
- * @param domainInfo domain information to add.
- */
- void addDomain(IDomainInfo domainInfo);
-
- /**
- * Returns if session is streamed over network
- * @return <code>true</code> if streamed over network else <code>false</code>
- */
- boolean isStreamedTrace();
-
- /**
- * Sets whether the trace is streamed or not
- * @param isStreamedTrace <code>true</code> if streamed over network else <code>false</code>
- */
- void setStreamedTrace(boolean isStreamedTrace);
-
- /**
- * Returns whether the session is snapshot session or not
- * @return <code>true</code> if it is snapshot session else <code>false</code>
- */
- boolean isSnapshotSession();
-
- /**
- * Set whether or not the session should be in snapshot mode
- *
- * @param isSnapshot
- * true for snapshot mode, false otherwise
- */
- void setSnapshot(boolean isSnapshot);
-
- /**
- * Gets the snapshot information the session or null if it is not a
- * snapshot session.
- * @return snapshot information
- */
- ISnapshotInfo getSnapshotInfo();
-
- /**
- * Sets the snapshot information of the session
- * @param setSnapshotInfo - the snapshot data to set.
- */
- void setSnapshotInfo(ISnapshotInfo setSnapshotInfo);
-
- /**
- * Get whether or not the session should be in Live mode
- *
- * @return <code>true</code> if is a live session else <code>false</code>
- */
- public boolean isLive();
-
- /**
- * Set whether or not the session should be in Live mode
- *
- * @param isLive
- * true for Live mode, false otherwise
- */
- public void setLive(boolean isLive);
-
- /**
- * Get the live delay which is the delay in micro seconds before the data is
- * flushed and streamed.
- *
- * @return the live delay or -1 if the default value should be used
- */
- public int getLiveDelay();
-
- /**
- * Set the live delay which is the delay in micro seconds before the data is
- * flushed and streamed.
- *
- * @param liveDelay
- * the live delay
- */
- public void setLiveDelay(int liveDelay);
-
- /**
- * Get the network URL in case control and data is configured together
- * otherwise null If it returns a non-null value, getControlUrl() and
- * getDataUrl() have to return null.
- *
- * @return The network URL or null.
- */
- String getNetworkUrl();
-
- /**
- * Set the network URL
- *
- * @param networkUrl
- * the network URL
- */
- void setNetworkUrl(String networkUrl);
-
- /**
- * Get the control URL in case control and data is configured separately. If
- * it returns a non-null value, getDataUrl() has to return a valid value too
- * and getNetworkUrl() has to return null.
- *
- * @return The control URL or null.
- */
- String getControlUrl();
-
- /**
- * Set the control URL
- *
- * @param controlUrl
- * the control URL
- */
- void setControlUrl(String controlUrl);
-
- /**
- * Get the data URL in case control and data is configured separately. If it
- * returns a non-null value, getControlUrl() has to return a valid value too
- * and getNetworkUrl() has to return null.
- *
- * @return The data URL or null.
- */
- String getDataUrl();
-
- /**
- * Set the data URL
- *
- * @param datalUrl
- * the data URL
- */
- void setDataUrl(String datalUrl);
-
- /**
- * Get the live URL.
- *
- * @return the live URL
- */
- String getLiveUrl();
-
- /**
- * Set the live URL.
- *
- * @param liveUrl
- * the live URL
- */
- void setLiveUrl(String liveUrl);
-
- /**
- * Get the live port.
- *
- * @return the live port
- */
- Integer getLivePort();
-
- /**
- * Set the live port.
- *
- * @param livePort
- * the live port
- */
- void setLivePort(Integer livePort);
-}
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/model/ISnapshotInfo.java b/lttng/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/model/ISnapshotInfo.java
deleted file mode 100644
index 7c360feb9c..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/model/ISnapshotInfo.java
+++ /dev/null
@@ -1,62 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2013 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:
- * Bernd Hufmann - Initial API and implementation
- **********************************************************************/
-package org.eclipse.linuxtools.internal.lttng2.control.core.model;
-
-
-/**
- * <p>
- * Interface for retrieval of snapshot information of a session.
- * </p>
- *
- * @author Bernd Hufmann
- */
-public interface ISnapshotInfo extends ITraceInfo {
-
- /**
- * @return path string where snapshot is located.
- */
- String getSnapshotPath();
-
- /**
- * Sets the path string (where snapshot is located) to the given value.
- * @param path - session path to set.
- */
- void setSnapshotPath(String path);
-
- /**
- * @return the snapshot ID.
- */
- int getId();
-
- /**
- * Sets the snapshot ID.
- * @param id - the ID to set.
- */
- void setId(int id);
-
- /**
- * Sets whether snapshot is streamed over the network or stored locally
- * at the tracers host.
- *
- * @param isStreamed - <code>true</code> if streamed else <code>false</code>
- */
- void setStreamedSnapshot(boolean isStreamed);
-
- /**
- * Gets whether snapshot is streamed over the network or stored locally
- * at the tracers host.
- *
- * @return <code>true</code> if streamed else <code>false</code>
- */
- boolean isStreamedSnapshot();
-
-}
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/model/ITraceInfo.java b/lttng/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/model/ITraceInfo.java
deleted file mode 100644
index 1a3722730c..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/model/ITraceInfo.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2013 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:
- * Bernd Hufmann - Initial API and implementation
- **********************************************************************/
-package org.eclipse.linuxtools.internal.lttng2.control.core.model;
-
-/**
- * <p>
- * Interface for retrieve trace comon information.
- * </p>
- *
- * @author Bernd Hufmann
- */
-public interface ITraceInfo {
- /**
- * @return the name of the information element.
- */
- String getName();
-
- /**
- * Sets the name of the information element.
- *
- * @param name
- * The name to assign
- */
- void setName(String name);
-
-}
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/model/IUstProviderInfo.java b/lttng/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/model/IUstProviderInfo.java
deleted file mode 100644
index 843028bf9d..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/model/IUstProviderInfo.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2012, 2013 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:
- * Bernd Hufmann - Initial API and implementation
- **********************************************************************/
-package org.eclipse.linuxtools.internal.lttng2.control.core.model;
-
-import java.util.List;
-
-/**
- * <p>
- * Interface for retrieval of UST provider information.
- * </p>
- *
- * @author Bernd Hufmann
- */
-public interface IUstProviderInfo extends ITraceInfo {
-
- /**
- * @return the process ID of the UST provider.
- */
- int getPid();
-
- /**
- * Sets the process ID of the UST provider to the given value.
- * @param pid - process ID to set
- */
- void setPid(int pid);
-
- /**
- * @return all event information as array.
- */
- IBaseEventInfo[] getEvents();
-
- /**
- * Sets the event information specified by given list.
- * @param events - all event information to set.
- */
- void setEvents(List<IBaseEventInfo> events);
-
- /**
- * Adds a single event information.
- * @param event - event information to add.
- */
- void addEvent(IBaseEventInfo event);
-}
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/model/LogLevelType.java b/lttng/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/model/LogLevelType.java
deleted file mode 100644
index 7f6f2cef50..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/model/LogLevelType.java
+++ /dev/null
@@ -1,104 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2012, 2014 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:
- * Bernd Hufmann - Initial API and implementation
- *********************************************************************/
-package org.eclipse.linuxtools.internal.lttng2.control.core.model;
-
-
-/**
- * Type of log Level enumeration.
- *
- * @author Bernd Hufmann
- */
-public enum LogLevelType {
-
- // ------------------------------------------------------------------------
- // Enum definition
- // ------------------------------------------------------------------------
- /** range of log levels [0,logLevel] */
- LOGLEVEL("<=", "RANGE"), //$NON-NLS-1$ //$NON-NLS-2$
-
- /** all log level */
- LOGLEVEL_ALL("", "ALL"), //$NON-NLS-1$//$NON-NLS-2$
-
- /** single log level */
- LOGLEVEL_ONLY("==", "SINGLE"), //$NON-NLS-1$ //$NON-NLS-2$
-
- /** no log level */
- LOGLEVEL_NONE("", "UNKNOWN"); //$NON-NLS-1$ //$NON-NLS-2$
-
- // ------------------------------------------------------------------------
- // Constuctors
- // ------------------------------------------------------------------------
-
- /**
- * Private constructor
- *
- * @param name
- * the name of state
- */
- private LogLevelType(String shortName, String miName) {
- fShortName = shortName;
- fMiName = miName;
- }
-
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
- /**
- * Name of enum.
- */
- private final String fShortName;
- private final String fMiName;
-
- // ------------------------------------------------------------------------
- // Accessors
- // ------------------------------------------------------------------------
- /**
- * @return short string
- */
- public String getShortName() {
- return fShortName;
- }
-
- /**
- * @return machine interface name string
- */
- public String getMiName() {
- return fMiName;
- }
-
- // ------------------------------------------------------------------------
- // Utility
- // ------------------------------------------------------------------------
- /**
- * Return the corresponding {@link LogLevelType} to String "name"
- *
- * @param name
- * String to compare to retrieve the good LogLevelType
- * @return the corresponding {@link LogLevelType}
- */
- public static LogLevelType valueOfString(String name) {
- if (name == null) {
- throw new IllegalArgumentException();
- }
- for (LogLevelType lltype : LogLevelType.values()) {
- if (!lltype.equals(LOGLEVEL_NONE)) {
- boolean isEqual = lltype.fShortName.equalsIgnoreCase(name) || lltype.fMiName.equalsIgnoreCase(name);
- if (isEqual) {
- return lltype;
- }
- }
- }
-
- // No match
- return LogLevelType.LOGLEVEL_NONE;
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/model/TargetNodeState.java b/lttng/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/model/TargetNodeState.java
deleted file mode 100644
index 5a023155b2..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/model/TargetNodeState.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2012 Ericsson
- *
- * All rights reserved. This program and the accompanying materials are
- * made available under the terms of the Eclipse Public License v1.0 which
- * accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Bernd Hufmann - Initial API and implementation
- **********************************************************************/
-package org.eclipse.linuxtools.internal.lttng2.control.core.model;
-
-/**
- * <p>
- * Enumeration for the node connection state.
- * </p>
- *
- * @author Bernd Hufmann
- */
-public enum TargetNodeState {
- /** State when disconnected */
- DISCONNECTED,
- /** State while disconnecting */
- DISCONNECTING,
- /** State when connected */
- CONNECTED,
- /** State while connecting */
- CONNECTING;
-}
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/model/TraceChannelOutputType.java b/lttng/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/model/TraceChannelOutputType.java
deleted file mode 100644
index 7e53f81f96..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/model/TraceChannelOutputType.java
+++ /dev/null
@@ -1,74 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2014 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:
- * Jonathan Rajotte - Initial API and implementation
- **********************************************************************/
-
-package org.eclipse.linuxtools.internal.lttng2.control.core.model;
-
-/**
- * Trace domain type enumeration.
- *
- * @author Jonathan Rajotte
- */
-public enum TraceChannelOutputType {
- /** Channel output type : splice */
- SPLICE("splice()", "SPLICE" ), //$NON-NLS-1$ //$NON-NLS-2$
- /** Channel output type : mmap */
- MMAP("mmap()", "MMAP"), //$NON-NLS-1$ //$NON-NLS-2$
- /** Channel output type : unknown */
- UNKNOWN("unknown", "unknown"); //$NON-NLS-1$ //$NON-NLS-2$
-
- private final String fInName;
- private final String fInMiName;
-
- private TraceChannelOutputType(String name, String miName) {
- fInName = name;
- fInMiName = miName;
- }
-
- /**
- * Get the type's name
- *
- * @return The type's name
- */
- public String getInName() {
- return fInName;
- }
-
- /**
- * Get the type's name
- *
- * @return The type's name
- */
- public String getInMiName() {
- return fInMiName;
- }
-
- /**
- * Return the corresponding {@link TraceChannelOutputType} of string miName
- *
- * @param name
- * name of the Trace domain type to look for
- * @return the corresponding {@link TraceChannelOutputType}
- */
- public static TraceChannelOutputType valueOfString(String name) {
- if (name == null) {
- throw new IllegalArgumentException();
- }
- for (TraceChannelOutputType tdType : TraceChannelOutputType.values()) {
- boolean isEqual = tdType.getInName().equalsIgnoreCase(name) || tdType.getInMiName().equalsIgnoreCase(name);
- if (isEqual) {
- return tdType;
- }
- }
- // Unknown domain
- return UNKNOWN;
- }
-} \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/model/TraceDomainType.java b/lttng/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/model/TraceDomainType.java
deleted file mode 100644
index de52919b66..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/model/TraceDomainType.java
+++ /dev/null
@@ -1,64 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2014 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:
- * Jonathan Rajotte - Initial API and implementation
- **********************************************************************/
-
-package org.eclipse.linuxtools.internal.lttng2.control.core.model;
-
-/**
- * Trace domain type enumeration.
- *
- * @author Jonathan Rajotte
- */
-public enum TraceDomainType {
- /** Domain type : ust */
- UST("ust"), //$NON-NLS-1$
- /** Domain type : kernel */
- KERNEL("kernel"), //$NON-NLS-1$
- /** Domain type : jul */
- JUL("jul"), //$NON-NLS-1$
- /** Unknown domain type */
- UNKNOWN("Unknown domain type"); //$NON-NLS-1$
-
- private final String fInName;
-
- private TraceDomainType(String name) {
- fInName = name;
- }
-
- /**
- * Get the type's name
- *
- * @return The type's name
- */
- public String getInName() {
- return fInName;
- }
-
- /**
- * Return the corresponding {@link TraceDomainType} of string miName
- *
- * @param miName
- * name of the Trace domain type to look for
- * @return the corresponding {@link TraceDomainType}
- */
- public static TraceDomainType valueOfString(String miName) {
- if (miName == null) {
- throw new IllegalArgumentException();
- }
- for (TraceDomainType tdType : TraceDomainType.values()) {
- if (tdType.getInName().equalsIgnoreCase(miName)) {
- return tdType;
- }
- }
- // Unknown domain
- return UNKNOWN;
- }
-} \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/model/TraceEnablement.java b/lttng/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/model/TraceEnablement.java
deleted file mode 100644
index a9583e3f29..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/model/TraceEnablement.java
+++ /dev/null
@@ -1,91 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2012, 2014 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:
- * Bernd Hufmann - Initial API and implementation
- * Jonathan Rajotte - Machine interface support and utility function
- **********************************************************************/
-package org.eclipse.linuxtools.internal.lttng2.control.core.model;
-
-import java.security.InvalidParameterException;
-
-/**
- * Enumeration for enabled/disabled states.
- *
- * @author Bernd Hufmann
- */
-public enum TraceEnablement {
-
- // ------------------------------------------------------------------------
- // Enum definition
- // ------------------------------------------------------------------------
- /** Tracing is disabled */
- DISABLED("disabled", "false"), //$NON-NLS-1$ //$NON-NLS-2$
- /** Tracing is enabled */
- ENABLED("enabled", "true"); //$NON-NLS-1$ //$NON-NLS-2$
-
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
- /**
- * Name of enum
- */
- private final String fInName;
- private final String fInMiName;
-
- // ------------------------------------------------------------------------
- // Constuctors
- // ------------------------------------------------------------------------
-
- /**
- * Private constructor
- *
- * @param name
- * the name of state
- */
- private TraceEnablement(String name, String miName) {
- fInName = name;
- fInMiName = miName;
- }
-
- // ------------------------------------------------------------------------
- // Accessors
- // ------------------------------------------------------------------------
- /**
- * @return state name
- */
- public String getInName() {
- return fInName;
- }
-
- /**
- * @return state name
- */
- public String getInMiName() {
- return fInMiName;
- }
-
- /**
- * @param name
- * name of the desired enum
- * @return the corresponding {@link TraceEnablement} matching name
- */
- public static TraceEnablement valueOfString(String name) {
- if (name == null) {
- throw new InvalidParameterException();
- }
- for (TraceEnablement enablementType : TraceEnablement.values()) {
- boolean exist = enablementType.fInName.equalsIgnoreCase(name) || enablementType.fInMiName.equalsIgnoreCase(name);
- if (exist) {
- return enablementType;
- }
- }
- return DISABLED;
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/model/TraceEventType.java b/lttng/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/model/TraceEventType.java
deleted file mode 100644
index f77e9201f4..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/model/TraceEventType.java
+++ /dev/null
@@ -1,65 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2012, 2014 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:
- * Bernd Hufmann - Initial API and implementation
- **********************************************************************/
-
-package org.eclipse.linuxtools.internal.lttng2.control.core.model;
-
-/**
- * Trace event type enumeration.
- *
- * @author Bernd Hufmann
- */
-public enum TraceEventType {
- /** Event type: tracepoint */
- TRACEPOINT("tracepoint"), //$NON-NLS-1$
- /** Event type: syscall */
- SYSCALL("syscall"), //$NON-NLS-1$
- /** Event type: probe */
- PROBE("probe"), //$NON-NLS-1$
- /** Event type: function */
- FUNCTION("function"), //$NON-NLS-1$
- /** Event type unknown */
- UNKNOWN("unknown"); //$NON-NLS-1$
-
- private final String fInName;
-
- private TraceEventType(String name) {
- fInName = name;
- }
-
- /**
- * Get the type's name
- *
- * @return The type's name
- */
- public String getInName() {
- return fInName;
- }
-
- /**
- * Return the corresponding {@link TraceEventType} of string miName
- *
- * @param name
- * name of the {@link TraceEventType} to look for
- * @return the corresponding {@link TraceEventType}
- */
- public static TraceEventType valueOfString(String name) {
- if (name == null) {
- throw new IllegalArgumentException();
- }
- for (TraceEventType teType : TraceEventType.values()) {
- if (teType.getInName().equalsIgnoreCase(name)) {
- return teType;
- }
- }
- return UNKNOWN;
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/model/TraceLogLevel.java b/lttng/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/model/TraceLogLevel.java
deleted file mode 100644
index 465312d84a..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/model/TraceLogLevel.java
+++ /dev/null
@@ -1,114 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2012, 2014 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:
- * Bernd Hufmann - Initial API and implementation
- * Jonathan Rajotte - Utility function
- *********************************************************************/
-package org.eclipse.linuxtools.internal.lttng2.control.core.model;
-
-
-/**
- * Log Level enumeration.
- *
- * @author Bernd Hufmann
- */
-@SuppressWarnings("nls")
-public enum TraceLogLevel {
-
- // ------------------------------------------------------------------------
- // Enum definition
- // ------------------------------------------------------------------------
- /** Log level 0 */
- TRACE_EMERG("TRACE_EMERG"),
- /** Log level 1 */
- TRACE_ALERT("TRACE_ALERT"),
- /** Log level 2 */
- TRACE_CRIT("TRACE_CRIT"),
- /** Log level 3 */
- TRACE_ERR("TRACE_ERR"),
- /** Log level 4 */
- TRACE_WARNING("TRACE_WARNING"),
- /** Log level 5 */
- TRACE_NOTICE("TRACE_NOTICE"),
- /** Log level 6 */
- TRACE_INFO("TRACE_INFO"),
- /** Log level 7 */
- TRACE_DEBUG_SYSTEM("TRACE_DEBUG_SYSTEM"),
- /** Log level 8 */
- TRACE_DEBUG_PROGRAM("TRACE_DEBUG_PROGRAM"),
- /** Log level 9 */
- TRACE_DEBUG_PROCESS("TRACE_DEBUG_PROCESS"),
- /** Log level 10 */
- TRACE_DEBUG_MODULE("TRACE_DEBUG_MODULE"),
- /** Log level 11 */
- TRACE_DEBUG_UNIT("TRACE_DEBUG_UNIT"),
- /** Log level 12 */
- TRACE_DEBUG_FUNCTION("TRACE_DEBUG_FUNCTION"),
- /** Log level 13 */
- TRACE_DEBUG_LINE("TRACE_DEBUG_LINE"),
- /** Log level 14 */
- TRACE_DEBUG("TRACE_DEBUG"),
- /** Log level 15 */
- LEVEL_UNKNOWN("LEVEL_UNKNOWN");
-
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
- /**
- * Name of enum.
- */
- private final String fInName;
-
- // ------------------------------------------------------------------------
- // Constuctors
- // ------------------------------------------------------------------------
-
- /**
- * Private constructor
- *
- * @param name
- * the name of state
- */
- private TraceLogLevel(String name) {
- fInName = name;
- }
-
- // ------------------------------------------------------------------------
- // Accessors
- // ------------------------------------------------------------------------
- /**
- * @return state name
- */
- public String getInName() {
- return fInName;
- }
-
- // ------------------------------------------------------------------------
- // Utility
- // ------------------------------------------------------------------------
- /**
- * Return the corresponding {@link TraceLogLevel} to String "name"
- *
- * @param name
- * String to compare to retrieve the good {@link TraceLogLevel}
- * @return the corresponding {@link TraceLogLevel}
- */
- public static TraceLogLevel valueOfString(String name) {
- if (name == null) {
- throw new IllegalArgumentException();
- }
- for (TraceLogLevel tllevel : TraceLogLevel.values()) {
- if (tllevel.getInName().equalsIgnoreCase(name)) {
- return tllevel;
- }
- }
- // No match
- return LEVEL_UNKNOWN;
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/model/TraceSessionState.java b/lttng/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/model/TraceSessionState.java
deleted file mode 100644
index 4473a11d67..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/model/TraceSessionState.java
+++ /dev/null
@@ -1,96 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2012, 2014 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:
- * Bernd Hufmann - Initial API and implementation
- * Jonathan Rajotte - machine interface support and utility function
- *********************************************************************/
-
-package org.eclipse.linuxtools.internal.lttng2.control.core.model;
-
-/**
- * Session state enumeration.
- *
- * @author Bernd Hufmann
- */
-public enum TraceSessionState {
-
- // ------------------------------------------------------------------------
- // Enum definition
- // ------------------------------------------------------------------------
- /** Trace session inactive */
- INACTIVE("inactive", "false"), //$NON-NLS-1$ //$NON-NLS-2$
- /** Trace session active */
- ACTIVE("active", "true"); //$NON-NLS-1$ //$NON-NLS-2$
-
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
- /**
- * Name of enum.
- */
- private final String fInName;
- private final String fMiName;
-
- // ------------------------------------------------------------------------
- // Constuctors
- // ------------------------------------------------------------------------
-
- /**
- * Private constructor
- *
- * @param name
- * the name of state
- */
- private TraceSessionState(String name, String miName) {
- fInName = name;
- fMiName = miName;
- }
-
- // ------------------------------------------------------------------------
- // Accessors
- // ------------------------------------------------------------------------
- /**
- * @return state name
- */
- public String getInName() {
- return fInName;
- }
-
- /**
- * @return the machine interface name
- */
- public String getfMiName() {
- return fMiName;
- }
-
- // ------------------------------------------------------------------------
- // Accessors
- // ------------------------------------------------------------------------
- /**
- * Return the corresponding {@link TraceSessionState} to String "name"
- *
- * @param name
- * String to compare to retrieve the good
- * {@link TraceSessionState}
- * @return the corresponding {@link TraceSessionState}
- */
- public static TraceSessionState valueOfString(String name) {
- if (name == null) {
- return INACTIVE;
- }
- for (TraceSessionState tst : TraceSessionState.values()) {
- boolean isEqual = tst.fInName.equalsIgnoreCase(name) || tst.fMiName.equalsIgnoreCase(name);
- if (isEqual) {
- return tst;
- }
- }
- // No match
- return INACTIVE;
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/model/impl/BaseEventInfo.java b/lttng/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/model/impl/BaseEventInfo.java
deleted file mode 100644
index 217891138c..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/model/impl/BaseEventInfo.java
+++ /dev/null
@@ -1,223 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2012, 2014 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:
- * Bernd Hufmann - Initial API and implementation
- **********************************************************************/
-package org.eclipse.linuxtools.internal.lttng2.control.core.model.impl;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.IBaseEventInfo;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.IFieldInfo;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.TraceEventType;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.TraceLogLevel;
-
-/**
-* <p>
-* Implementation of the basic trace event interface (IEventInfo) to store event
-* related data.
-* </p>
-*
-* @author Bernd Hufmann
-*/
-public class BaseEventInfo extends TraceInfo implements IBaseEventInfo {
-
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
- /**
- * The trace event type.
- */
- private TraceEventType fEventType = TraceEventType.UNKNOWN;
- /**
- * The trace log level.
- */
- private TraceLogLevel fLogLevel = TraceLogLevel.TRACE_DEBUG;
- /**
- * The Event fields
- */
- private final List<IFieldInfo> fFields = new ArrayList<>();
- /**
- * The filter expression.
- */
- private String fFilterExpression;
-
- // ------------------------------------------------------------------------
- // Constructors
- // ------------------------------------------------------------------------
- /**
- * Constructor
- * @param name - name of base event
- */
- public BaseEventInfo(String name) {
- super(name);
- }
-
- /**
- * Copy constructor
- * @param other - the instance to copy
- */
- public BaseEventInfo(BaseEventInfo other) {
- super(other);
- fEventType = other.fEventType;
- fLogLevel = other.fLogLevel;
- for (Iterator<IFieldInfo> iterator = other.fFields.iterator(); iterator.hasNext();) {
- IFieldInfo field = iterator.next();
- if (field instanceof FieldInfo) {
- fFields.add(new FieldInfo((FieldInfo)field));
- } else {
- fFields.add(field);
- }
- }
- fFilterExpression = other.fFilterExpression;
- }
-
- // ------------------------------------------------------------------------
- // Accessors
- // ------------------------------------------------------------------------
-
- @Override
- public TraceEventType getEventType() {
- return fEventType;
- }
-
- @Override
- public void setEventType(TraceEventType type) {
- fEventType = type;
- }
-
- @Override
- public void setEventType(String typeName) {
- if(TraceEventType.TRACEPOINT.getInName().equalsIgnoreCase(typeName)) {
- fEventType = TraceEventType.TRACEPOINT;
- } else if(TraceEventType.SYSCALL.getInName().equalsIgnoreCase(typeName)) {
- fEventType = TraceEventType.SYSCALL;
- } else if (TraceEventType.PROBE.getInName().equalsIgnoreCase(typeName)) {
- fEventType = TraceEventType.PROBE;
- } else if (TraceEventType.FUNCTION.getInName().equalsIgnoreCase(typeName)) {
- fEventType = TraceEventType.FUNCTION;
- } else {
- fEventType = TraceEventType.UNKNOWN;
- }
- }
-
- @Override
- public TraceLogLevel getLogLevel() {
- return fLogLevel;
- }
-
- @Override
- public void setLogLevel(TraceLogLevel level) {
- fLogLevel = level;
- }
-
- @Override
- public void setLogLevel(String levelName) {
- fLogLevel = TraceLogLevel.valueOfString(levelName);
- }
-
- @Override
- public IFieldInfo[] getFields() {
- return fFields.toArray(new IFieldInfo[fFields.size()]);
- }
-
- @Override
- public void addField(IFieldInfo field) {
- fFields.add(field);
- }
-
- @Override
- public void setFields(List<IFieldInfo> fields) {
- fFields.clear();
- for (Iterator<IFieldInfo> iterator = fields.iterator(); iterator.hasNext();) {
- IFieldInfo fieldInfo = iterator.next();
- fFields.add(fieldInfo);
- }
- }
-
- @Override
- public String getFilterExpression() {
- return fFilterExpression;
- }
-
- @Override
- public void setFilterExpression(String filter) {
- fFilterExpression = filter;
- }
-
- @Override
- public int hashCode() {
- final int prime = 31;
- int result = super.hashCode();
- result = prime * result + ((fEventType == null) ? 0 : fEventType.hashCode());
- result = prime * result + fFields.hashCode();
- result = prime * result + ((fFilterExpression == null) ? 0 : fFilterExpression.hashCode());
- result = prime * result + ((fLogLevel == null) ? 0 : fLogLevel.hashCode());
- return result;
- }
-
- @Override
- public boolean equals(Object obj) {
- if (this == obj) {
- return true;
- }
- if (!super.equals(obj)) {
- return false;
- }
- if (getClass() != obj.getClass()) {
- return false;
- }
- BaseEventInfo other = (BaseEventInfo) obj;
- if (fEventType != other.fEventType) {
- return false;
- }
- if (!fFields.equals(other.fFields)) {
- return false;
- }
- if (fFilterExpression == null) {
- if (other.fFilterExpression != null) {
- return false;
- }
- } else if (!fFilterExpression.equals(other.fFilterExpression)) {
- return false;
- }
- if (fLogLevel != other.fLogLevel) {
- return false;
- }
- return true;
- }
-
- @SuppressWarnings("nls")
- @Override
- public String toString() {
- StringBuffer output = new StringBuffer();
- output.append("[BaseEventInfo(");
- output.append(super.toString());
- output.append(",type=");
- output.append(fEventType);
- output.append(",level=");
- output.append(fLogLevel);
- if (!fFields.isEmpty()) {
- output.append(",Fields=");
- for (Iterator<IFieldInfo> iterator = fFields.iterator(); iterator.hasNext();) {
- IFieldInfo field = iterator.next();
- output.append(field.toString());
- }
- }
- if (fFilterExpression != null) {
- output.append(",Filter=");
- output.append(fFilterExpression);
- }
- output.append(")]");
- return output.toString();
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/model/impl/BufferType.java b/lttng/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/model/impl/BufferType.java
deleted file mode 100644
index 6f67292274..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/model/impl/BufferType.java
+++ /dev/null
@@ -1,116 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2013, 2014 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:
- * Simon Delisle - Initial API and implementation
- * Bernd Hufmann - Updated to enum definition
- * Jonathan Rajotte - Updated enum definition for lttng machine interface
- **********************************************************************/
-
-package org.eclipse.linuxtools.internal.lttng2.control.core.model.impl;
-
-/**
- * Constants for buffer type.
- *
- * @author Simon Delisle
- * @author Bernd Hufmann
- */
-
-public enum BufferType {
- // ------------------------------------------------------------------------
- // Enum definition
- // ------------------------------------------------------------------------
- /**
- * Buffer type : per UID
- */
- BUFFER_PER_UID("per UID", "PER_UID"), //$NON-NLS-1$ //$NON-NLS-2$
- /**
- * Buffer type : per PID
- */
- BUFFER_PER_PID("per PID", "PER_PID"), //$NON-NLS-1$ //$NON-NLS-2$
- /**
- * Buffer type : shared
- */
- BUFFER_SHARED("shared"), //$NON-NLS-1$
- /**
- * If the LTTng version doesn't show the buffer type
- */
- BUFFER_TYPE_UNKNOWN("information not unavailable"); //$NON-NLS-1$
-
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
- /**
- * Name of enum
- */
- private final String fInName;
-
- /**
- * Name of the machine interface enum
- */
- private final String fInMiName;
-
- // ------------------------------------------------------------------------
- // Constuctors
- // ------------------------------------------------------------------------
-
- /**
- * Private constructor
- *
- * @param name
- * the name of state
- */
- private BufferType(String name, String miName) {
- fInName = name;
- fInMiName = miName;
- }
-
- private BufferType(String name) {
- fInName = name;
- fInMiName = ""; //$NON-NLS-1$
- }
-
- // ------------------------------------------------------------------------
- // Accessors
- // ------------------------------------------------------------------------
- /**
- * @return state name
- */
- public String getInName() {
- return fInName;
- }
-
- /**
- * @return machine interface buffer name
- */
- public String getInMiName() {
- return fInMiName;
- }
-
- // /
- // ------------------------------------------------------------------------
- // Utility function
- // -------------------------------------------------------------------------
- /**
- * @param name
- * the string representation of the type
- * @return enum BufferType of the corresponding type
- */
- public static BufferType valueOfString(String name) {
- if (name == null) {
- throw new IllegalArgumentException();
- }
- for (BufferType bufferType : BufferType.values()) {
- boolean isEqual = bufferType.getInName().equalsIgnoreCase(name) || bufferType.getInMiName().equalsIgnoreCase(name);
- if (isEqual) {
- return bufferType;
- }
- }
- return BUFFER_TYPE_UNKNOWN;
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/model/impl/ChannelInfo.java b/lttng/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/model/impl/ChannelInfo.java
deleted file mode 100644
index 6e2f626992..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/model/impl/ChannelInfo.java
+++ /dev/null
@@ -1,353 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2012, 2014 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:
- * Bernd Hufmann - Initial API and implementation
- * Simon Delisle - Updated for support of LTTng Tools 2.2
- **********************************************************************/
-
-package org.eclipse.linuxtools.internal.lttng2.control.core.model.impl;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.IChannelInfo;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.IEventInfo;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.TraceChannelOutputType;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.TraceEnablement;
-
-/**
- * Implementation of the trace channel interface (IChannelInfo) to store channel
- * related data.
- *
- * @author Bernd Hufmann
- */
-public class ChannelInfo extends TraceInfo implements IChannelInfo {
-
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
- /**
- * The overwrite mode of the channel.
- */
- private boolean fOverwriteMode;
- /**
- * The sub-buffer size of the channel.
- */
- private long fSubBufferSize;
- /**
- * The number of sub-buffers of the channel.
- */
- private int fNumberOfSubBuffers;
- /**
- * The switch timer interval of the channel.
- */
- private long fSwitchTimer;
- /**
- * The read timer interval of the channel.
- */
- private long fReadTimer;
- /**
- * The Output type of the channel.
- */
- private TraceChannelOutputType fOutputType = TraceChannelOutputType.UNKNOWN;
- /**
- * The channel enable state.
- */
- private TraceEnablement fState = TraceEnablement.DISABLED;
- /**
- * The events information of the channel.
- */
- private final List<IEventInfo> fEvents = new ArrayList<>();
- /**
- * The maximum size of trace files
- */
- private int fMaxSizeTraceFiles;
- /**
- * The maximum number of trace files
- */
- private int fMaxNumberTraceFiles;
- /**
- * The value of buffer type
- */
- private BufferType fBufferType = BufferType.BUFFER_TYPE_UNKNOWN;
-
- // ------------------------------------------------------------------------
- // Constructors
- // ------------------------------------------------------------------------
- /**
- * Constructor
- *
- * @param name
- * - name channel
- */
- public ChannelInfo(String name) {
- super(name);
- }
-
- /**
- * Copy constructor
- *
- * @param other
- * - the instance to copy
- */
- public ChannelInfo(ChannelInfo other) {
- super(other);
- fOverwriteMode = other.fOverwriteMode;
- fSubBufferSize = other.fSubBufferSize;
- fNumberOfSubBuffers = other.fNumberOfSubBuffers;
- fSwitchTimer = other.fSwitchTimer;
- fReadTimer = other.fReadTimer;
- fMaxSizeTraceFiles = other.fMaxSizeTraceFiles;
- fMaxNumberTraceFiles = other.fMaxNumberTraceFiles;
- fBufferType = other.fBufferType;
- fOutputType = (other.fOutputType == null ? null : other.fOutputType);
- fState = other.fState;
- for (Iterator<IEventInfo> iterator = other.fEvents.iterator(); iterator.hasNext();) {
- IEventInfo event = iterator.next();
- if (event instanceof EventInfo) {
- fEvents.add(new EventInfo((EventInfo) event));
- } else {
- fEvents.add(event);
- }
- }
- }
-
- // ------------------------------------------------------------------------
- // Accessors
- // ------------------------------------------------------------------------
-
- @Override
- public boolean isOverwriteMode() {
- return fOverwriteMode;
- }
-
- @Override
- public void setOverwriteMode(boolean mode) {
- fOverwriteMode = mode;
- }
-
- @Override
- public long getSubBufferSize() {
- return fSubBufferSize;
- }
-
- @Override
- public void setSubBufferSize(long bufferSize) {
- fSubBufferSize = bufferSize;
- }
-
- @Override
- public int getNumberOfSubBuffers() {
- return fNumberOfSubBuffers;
- }
-
- @Override
- public void setNumberOfSubBuffers(int numberOfSubBuffers) {
- fNumberOfSubBuffers = numberOfSubBuffers;
- }
-
- @Override
- public long getSwitchTimer() {
- return fSwitchTimer;
- }
-
- @Override
- public void setSwitchTimer(long timer) {
- fSwitchTimer = timer;
- }
-
- @Override
- public long getReadTimer() {
- return fReadTimer;
- }
-
- @Override
- public void setReadTimer(long timer) {
- fReadTimer = timer;
- }
-
- @Override
- public TraceChannelOutputType getOutputType() {
- return fOutputType;
- }
-
- @Override
- public void setOutputType(String type) {
- fOutputType = TraceChannelOutputType.valueOfString(type);
- }
-
- @Override
- public void setOutputType(TraceChannelOutputType type) {
- fOutputType = type;
- }
-
- @Override
- public TraceEnablement getState() {
- return fState;
- }
-
- @Override
- public void setState(TraceEnablement state) {
- fState = state;
- }
-
- @Override
- public void setState(String stateName) {
- fState = TraceEnablement.valueOfString(stateName);
- }
-
- @Override
- public IEventInfo[] getEvents() {
- return fEvents.toArray(new IEventInfo[fEvents.size()]);
- }
-
- @Override
- public void setEvents(List<IEventInfo> events) {
- fEvents.clear();
- for (Iterator<IEventInfo> iterator = events.iterator(); iterator.hasNext();) {
- IEventInfo eventInfo = iterator.next();
- fEvents.add(eventInfo);
- }
- }
-
- @Override
- public void addEvent(IEventInfo channel) {
- fEvents.add(channel);
- }
-
- @Override
- public int hashCode() {
- final int prime = 31;
- int result = super.hashCode();
- result = prime * result + fEvents.hashCode();
- result = prime * result + fNumberOfSubBuffers;
- result = prime * result + ((fOutputType == null) ? 0 : fOutputType.hashCode());
- result = prime * result + (fOverwriteMode ? 1231 : 1237);
- result = prime * result + (int) (fReadTimer ^ (fReadTimer >>> 32));
- result = prime * result + ((fState == null) ? 0 : (fState.ordinal() + 1));
- result = prime * result + (int) (fSubBufferSize ^ (fSubBufferSize >>> 32));
- result = prime * result + (int) (fSwitchTimer ^ (fSwitchTimer >>> 32));
- result = prime * result + ((fBufferType == null) ? 0 : (fBufferType.ordinal() + 1));
- return result;
- }
-
- @Override
- public boolean equals(Object obj) {
- if (this == obj) {
- return true;
- }
- if (!super.equals(obj)) {
- return false;
- }
- if (getClass() != obj.getClass()) {
- return false;
- }
- ChannelInfo other = (ChannelInfo) obj;
- if (!fEvents.equals(other.fEvents)) {
- return false;
- }
- if (fNumberOfSubBuffers != other.fNumberOfSubBuffers) {
- return false;
- }
- if (fOutputType == null) {
- if (other.fOutputType != null) {
- return false;
- }
- } else if (!fOutputType.equals(other.fOutputType)) {
- return false;
- }
- if (fOverwriteMode != other.fOverwriteMode) {
- return false;
- }
- if (fReadTimer != other.fReadTimer) {
- return false;
- }
- if (fState != other.fState) {
- return false;
- }
- if (fSubBufferSize != other.fSubBufferSize) {
- return false;
- }
- if (fSwitchTimer != other.fSwitchTimer) {
- return false;
- }
- if (fBufferType != other.fBufferType) {
- return false;
- }
- return true;
- }
-
- @SuppressWarnings("nls")
- @Override
- public String toString() {
- StringBuffer output = new StringBuffer();
- output.append("[ChannelInfo(");
- output.append(super.toString());
- output.append(",State=");
- output.append(fState);
- output.append(",OverwriteMode=");
- output.append(fOverwriteMode);
- output.append(",SubBuffersSize=");
- output.append(fSubBufferSize);
- output.append(",NumberOfSubBuffers=");
- output.append(fNumberOfSubBuffers);
- output.append(",SwitchTimer=");
- output.append(fSwitchTimer);
- output.append(",ReadTimer=");
- output.append(fReadTimer);
- output.append(",output=");
- output.append(fOutputType.getInName());
- if ((fBufferType != null) && !fBufferType.equals(BufferType.BUFFER_TYPE_UNKNOWN) && !fBufferType.equals(BufferType.BUFFER_SHARED)) {
- output.append(",BufferType=");
- output.append(fBufferType);
- }
- output.append(",Events=");
- if (fEvents.isEmpty()) {
- output.append("None");
- } else {
- for (Iterator<IEventInfo> iterator = fEvents.iterator(); iterator.hasNext();) {
- IEventInfo event = iterator.next();
- output.append(event.toString());
- }
- }
- output.append(")]");
- return output.toString();
- }
-
- @Override
- public void setMaxSizeTraceFiles(int maxSizeTraceFiles) {
- fMaxSizeTraceFiles = maxSizeTraceFiles;
- }
-
- @Override
- public void setMaxNumberTraceFiles(int maxNumberTraceFiles) {
- fMaxNumberTraceFiles = maxNumberTraceFiles;
- }
-
- @Override
- public int getMaxSizeTraceFiles() {
- return fMaxSizeTraceFiles;
- }
-
- @Override
- public int getMaxNumberTraceFiles() {
- return fMaxNumberTraceFiles;
- }
-
- @Override
- public void setBufferType(BufferType bufferType) {
- fBufferType = bufferType;
- }
-
- @Override
- public BufferType getBufferType() {
- return fBufferType;
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/model/impl/DomainInfo.java b/lttng/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/model/impl/DomainInfo.java
deleted file mode 100644
index c378e125f0..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/model/impl/DomainInfo.java
+++ /dev/null
@@ -1,173 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2012, 2014 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:
- * Bernd Hufmann - Initial API and implementation
- **********************************************************************/
-package org.eclipse.linuxtools.internal.lttng2.control.core.model.impl;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.IChannelInfo;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.IDomainInfo;
-
-/**
- * <p>
- * Implementation of the trace domain interface (IDomainInfo) to store domain
- * related data.
- * </p>
- *
- * @author Bernd Hufmann
- */
-public class DomainInfo extends TraceInfo implements IDomainInfo {
-
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
- /**
- * The channels information of the domain.
- */
- private final List<IChannelInfo> fChannels = new ArrayList<>();
- private boolean fIsKernel = false;
- private BufferType fBufferType = BufferType.BUFFER_TYPE_UNKNOWN;
-
- // ------------------------------------------------------------------------
- // Constructors
- // ------------------------------------------------------------------------
- /**
- * Constructor
- * @param name - name of domain
- */
- public DomainInfo(String name) {
- super(name);
- }
-
- /**
- * Copy constructor
- * @param other - the instance to copy
- */
- public DomainInfo(DomainInfo other) {
- super(other);
- for (int i = 0; i < other.fChannels.size(); i++) {
- if (other.fChannels.get(i) instanceof ChannelInfo) {
- fChannels.add(new ChannelInfo((ChannelInfo)other.fChannels.get(i)));
- } else {
- fChannels.add(other.fChannels.get(i));
- }
- }
- fIsKernel = other.fIsKernel;
- fBufferType = other.fBufferType;
- }
-
- @Override
- public boolean isKernel() {
- return fIsKernel;
- }
-
- @Override
- public void setIsKernel(boolean isKernel) {
- fIsKernel = isKernel;
- }
-
- // ------------------------------------------------------------------------
- // Accessors
- // ------------------------------------------------------------------------
-
- @Override
- public IChannelInfo[] getChannels() {
- return fChannels.toArray(new IChannelInfo[fChannels.size()]);
- }
-
- @Override
- public void setChannels(List<IChannelInfo> channels) {
- fChannels.clear();
- for (Iterator<IChannelInfo> iterator = channels.iterator(); iterator.hasNext();) {
- IChannelInfo channelInfo = iterator.next();
- fChannels.add(channelInfo);
- }
- }
-
- @Override
- public void addChannel(IChannelInfo channel) {
- fChannels.add(channel);
- }
-
- @Override
- public int hashCode() {
- final int prime = 31;
- int result = super.hashCode();
- result = prime * result + fChannels.hashCode();
- result = prime * result + (fIsKernel ? 1231 : 1237);
- result = prime * result + ((fBufferType == null) ? 0 : (fBufferType.ordinal() + 1));
- return result;
- }
-
- @Override
- public boolean equals(Object obj) {
- if (this == obj) {
- return true;
- }
- if (!super.equals(obj)) {
- return false;
- }
- if (getClass() != obj.getClass()) {
- return false;
- }
- DomainInfo other = (DomainInfo) obj;
- if (!fChannels.equals(other.fChannels)) {
- return false;
- }
- if (fIsKernel != other.fIsKernel) {
- return false;
- }
- if (fBufferType != other.fBufferType) {
- return false;
- }
- return true;
- }
-
- @Override
- public BufferType getBufferType() {
- if (fIsKernel) {
- return BufferType.BUFFER_SHARED;
- }
- return fBufferType;
- }
-
- @Override
- public void setBufferType(BufferType bufferType) {
- fBufferType = bufferType;
- }
-
- @SuppressWarnings("nls")
- @Override
- public String toString() {
- StringBuffer output = new StringBuffer();
- output.append("[DomainInfo(");
- output.append(super.toString());
- output.append(",Channels=");
- if (fChannels.isEmpty()) {
- output.append("None");
- } else {
- for (Iterator<IChannelInfo> iterator = fChannels.iterator(); iterator.hasNext();) {
- IChannelInfo channel = iterator.next();
- output.append(channel.toString());
- }
- }
- output.append(",isKernel=");
- output.append(String.valueOf(fIsKernel));
- if ((fBufferType != null) && !fBufferType.equals(BufferType.BUFFER_TYPE_UNKNOWN) && !fBufferType.equals(BufferType.BUFFER_SHARED)) {
- output.append(",BufferType=");
- output.append(fBufferType);
- }
- output.append(")]");
- return output.toString();
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/model/impl/EventInfo.java b/lttng/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/model/impl/EventInfo.java
deleted file mode 100644
index 1de851095f..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/model/impl/EventInfo.java
+++ /dev/null
@@ -1,139 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2012, 2014 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:
- * Bernd Hufmann - Initial API and implementation
- **********************************************************************/
-package org.eclipse.linuxtools.internal.lttng2.control.core.model.impl;
-
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.IEventInfo;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.LogLevelType;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.TraceEnablement;
-
-/**
-* <p>
-* Implementation of the trace event interface (IEventInfo) to store event
-* related data.
-* </p>
-*
-* @author Bernd Hufmann
-*/
-public class EventInfo extends BaseEventInfo implements IEventInfo {
-
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
- /**
- * The enable state of the event.
- */
- private TraceEnablement fState = TraceEnablement.DISABLED;
- /**
- * The log level type.
- */
- private LogLevelType fLogLevelType = LogLevelType.LOGLEVEL_NONE;
-
- // ------------------------------------------------------------------------
- // Constructors
- // ------------------------------------------------------------------------
- /**
- * Constructor
- * @param name - name of event
- */
- public EventInfo(String name) {
- super(name);
- }
-
- /**
- * Copy constructor
- * @param other - the instance to copy
- */
- public EventInfo(EventInfo other) {
- super(other);
- fState = other.fState;
- fLogLevelType = other.fLogLevelType;
- }
-
- // ------------------------------------------------------------------------
- // Accessors
- // ------------------------------------------------------------------------
-
- @Override
- public TraceEnablement getState() {
- return fState;
- }
-
- @Override
- public void setState(TraceEnablement state) {
- fState = state;
- }
-
- @Override
- public void setState(String stateName) {
- fState = TraceEnablement.valueOfString(stateName);
- }
-
- @Override
- public LogLevelType getLogLevelType() {
- return fLogLevelType;
- }
-
- @Override
- public void setLogLevelType(LogLevelType type) {
- fLogLevelType = type;
- }
-
- @Override
- public void setLogLevelType(String shortName) {
- fLogLevelType = LogLevelType.valueOfString(shortName);
- }
-
-
- @Override
- public int hashCode() {
- final int prime = 31;
- int result = super.hashCode();
- result = prime * result + ((fState == null) ? 0 : (fState.ordinal() + 1));
- result = prime * result + ((fLogLevelType == null) ? 0 : fLogLevelType.hashCode());
- return result;
- }
-
- @Override
- public boolean equals(Object obj) {
- if (this == obj) {
- return true;
- }
- if (!super.equals(obj)) {
- return false;
- }
- if (getClass() != obj.getClass()) {
- return false;
- }
- EventInfo other = (EventInfo) obj;
- if (fState != other.fState) {
- return false;
- }
- if (fLogLevelType != other.fLogLevelType) {
- return false;
- }
- return true;
- }
-
- @SuppressWarnings("nls")
- @Override
- public String toString() {
- StringBuffer output = new StringBuffer();
- output.append("[EventInfo(");
- output.append(super.toString());
- output.append(",State=");
- output.append(fState);
- output.append(",levelType=");
- output.append(fLogLevelType);
- output.append(")]");
- return output.toString();
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/model/impl/FieldInfo.java b/lttng/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/model/impl/FieldInfo.java
deleted file mode 100644
index 0ad2ceb42a..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/model/impl/FieldInfo.java
+++ /dev/null
@@ -1,109 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2012, 2013 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:
- * Bernd Hufmann - Initial API and implementation
- **********************************************************************/
-package org.eclipse.linuxtools.internal.lttng2.control.core.model.impl;
-
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.IFieldInfo;
-
-/**
-* <p>
-* Implementation of the basic trace event interface (IEventInfo) to store event
-* related data.
-* </p>
-*
-* @author Bernd Hufmann
-*/
-public class FieldInfo extends TraceInfo implements IFieldInfo {
-
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
- /**
- * The trace event type.
- */
- private String fFieldType;
-
- // ------------------------------------------------------------------------
- // Constructors
- // ------------------------------------------------------------------------
- /**
- * Constructor
- * @param name - name of base event
- */
- public FieldInfo(String name) {
- super(name);
- }
-
- /**
- * Copy constructor
- * @param other - the instance to copy
- */
- public FieldInfo(FieldInfo other) {
- super(other);
- fFieldType = other.fFieldType;
- }
-
- // ------------------------------------------------------------------------
- // Accessors
- // ------------------------------------------------------------------------
-
- @Override
- public String getFieldType() {
- return fFieldType;
- }
-
- @Override
- public void setFieldType(String fieldType) {
- fFieldType = fieldType.toLowerCase();
- }
-
- @Override
- public int hashCode() {
- final int prime = 31;
- int result = super.hashCode();
- result = prime * result
- + ((fFieldType == null) ? 0 : fFieldType.hashCode());
- return result;
- }
-
- @Override
- public boolean equals(Object obj) {
- if (this == obj) {
- return true;
- }
- if (!super.equals(obj)) {
- return false;
- }
- if (getClass() != obj.getClass()) {
- return false;
- }
- FieldInfo other = (FieldInfo) obj;
- if (fFieldType == null) {
- if (other.fFieldType != null) {
- return false;
- }
- } else if (!fFieldType.equals(other.fFieldType)) {
- return false;
- }
- return true;
- }
-
- @SuppressWarnings("nls")
- @Override
- public String toString() {
- StringBuffer output = new StringBuffer();
- output.append("[FieldInfo(");
- output.append(super.toString());
- output.append(",type=");
- output.append(fFieldType);
- return output.toString();
- }
-} \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/model/impl/ProbeEventInfo.java b/lttng/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/model/impl/ProbeEventInfo.java
deleted file mode 100644
index 69068ee8c9..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/model/impl/ProbeEventInfo.java
+++ /dev/null
@@ -1,187 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2012, 2014 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:
- * Bernd Hufmann - Initial API and implementation
- **********************************************************************/
-
-package org.eclipse.linuxtools.internal.lttng2.control.core.model.impl;
-
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.IEventInfo;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.IProbeEventInfo;
-
-/**
- * Implementation of the trace event interface (IProbeEventInfo) to store probe
- * event related data.
- *
- * @author Bernd Hufmann
- */
-public class ProbeEventInfo extends EventInfo implements IProbeEventInfo {
-
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
- /**
- * The dynamic probe address (null if symbol is used).
- */
- private String fAddress;
- /**
- * The dynamic probe offset (if symbol is used).
- */
- private String fOffset;
-
- /**
- * The symbol name (null if address is used)
- */
- private String fSymbol;
-
- // ------------------------------------------------------------------------
- // Constructors
- // ------------------------------------------------------------------------
- /**
- * Constructor
- *
- * @param name
- * - name of event
- */
- public ProbeEventInfo(String name) {
- super(name);
- }
-
- /**
- * Copy constructor
- *
- * @param other
- * - the instance to copy
- */
- public ProbeEventInfo(ProbeEventInfo other) {
- super(other);
- fAddress = other.fAddress;
- fOffset = other.fOffset;
- fSymbol = other.fSymbol;
- }
-
- /**
- * Constructor from a {@link IEventInfo}
- *
- * @param eventInfo
- * - the instance to copy
- */
- public ProbeEventInfo(IEventInfo eventInfo) {
- super(eventInfo.getName());
- setState(eventInfo.getState());
- setLogLevelType(eventInfo.getLogLevelType());
- setLogLevel(eventInfo.getLogLevel());
- setFilterExpression(eventInfo.getFilterExpression());
- setEventType(eventInfo.getEventType());
- }
-
- // ------------------------------------------------------------------------
- // Accessors
- // ------------------------------------------------------------------------
-
- @Override
- public String getAddress() {
- return fAddress;
- }
-
- @Override
- public void setAddress(String address) {
- fAddress = address;
- }
-
- @Override
- public String getOffset() {
- return fOffset;
- }
-
- @Override
- public void setOffset(String offset) {
- fOffset = offset;
- }
-
- @Override
- public String getSymbol() {
- return fSymbol;
- }
-
- @Override
- public void setSymbol(String symbol) {
- fSymbol = symbol;
- }
-
- // ------------------------------------------------------------------------
- // Operation
- // ------------------------------------------------------------------------
-
- @Override
- public int hashCode() {
- final int prime = 31;
- int result = super.hashCode();
- result = prime * result + ((fAddress == null) ? 0 : fAddress.hashCode());
- result = prime * result + ((fOffset == null) ? 0 : fOffset.hashCode());
- result = prime * result + ((fSymbol == null) ? 0 : fSymbol.hashCode());
- return result;
- }
-
- @Override
- public boolean equals(Object obj) {
- if (this == obj) {
- return true;
- }
- if (!super.equals(obj)) {
- return false;
- }
- if (getClass() != obj.getClass()) {
- return false;
- }
- ProbeEventInfo other = (ProbeEventInfo) obj;
- if (fAddress == null) {
- if (other.fAddress != null) {
- return false;
- }
- } else if (!fAddress.equals(other.fAddress)) {
- return false;
- }
- if (fOffset == null) {
- if (other.fOffset != null) {
- return false;
- }
- } else if (!fOffset.equals(other.fOffset)) {
- return false;
- }
- if (fSymbol == null) {
- if (other.fSymbol != null) {
- return false;
- }
- } else if (!fSymbol.equals(other.fSymbol)) {
- return false;
- }
- return true;
- }
-
- @SuppressWarnings("nls")
- @Override
- public String toString() {
- StringBuffer output = new StringBuffer();
- output.append("[ProbeEventInfo(");
- output.append(super.toString());
- if (fAddress != null) {
- output.append(",fAddress=");
- output.append(fAddress);
- } else {
- output.append(",fOffset=");
- output.append(fOffset);
- output.append(",fSymbol=");
- output.append(fSymbol);
- }
- output.append(")]");
- return output.toString();
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/model/impl/SessionInfo.java b/lttng/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/model/impl/SessionInfo.java
deleted file mode 100644
index 9f2789357c..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/model/impl/SessionInfo.java
+++ /dev/null
@@ -1,333 +0,0 @@
-/**********************************************************************
-
- * Copyright (c) 2012, 2014 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:
- * Bernd Hufmann - Initial API and implementation
- * Bernd Hufmann - Updated for support of LTTng Tools 2.1
- * Marc-Andre Laperle - Support for creating a live session
- **********************************************************************/
-
-package org.eclipse.linuxtools.internal.lttng2.control.core.model.impl;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.IDomainInfo;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.ISessionInfo;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.ISnapshotInfo;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.TraceSessionState;
-
-/**
- * Implementation of the trace session interface (ISessionInfo) to store session
- * related data.
- *
- * @author Bernd Hufmann
- */
-public class SessionInfo extends TraceInfo implements ISessionInfo {
-
- /**
- * The default network URL when creating a live session.
- */
- public static final String DEFAULT_LIVE_NETWORK_URK = "net://127.0.0.1"; //$NON-NLS-1$
-
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
- /**
- * The trace session state.
- */
- private TraceSessionState fState = TraceSessionState.INACTIVE;
- /**
- * The trace session path for storing traces.
- */
- private String fSessionPath = ""; //$NON-NLS-1$
- /**
- * The domains information of this session.
- */
- private final List<IDomainInfo> fDomains = new ArrayList<>();
- /**
- * Flag to indicate whether trace is streamed over network or not.
- */
- private boolean fIsStreamedTrace = false;
- /**
- * Flag to indicate whether the session is a snapshot session or not.
- */
- private boolean fIsSnapshot = false;
- /**
- * The snapshot information of the session
- */
- private ISnapshotInfo fSnapshotInfo = null;
- /**
- * The network URL for the session (-U)
- */
- private String fNetworkUrl = null;
- /**
- * The control URL for the session (-C)
- */
- private String fControlUrl = null;
- /**
- * The data URL for the session (-D)
- */
- private String fDataUrl = null;
-
- /**
- * Flag to indicate whether trace is live or not.
- */
- private boolean fIsLive = false;
-
- /**
- * The delay in micro seconds before the data is flushed and streamed.
- */
- private int fLiveDelay = -1;
-
- /**
- * The live connection url (Relayd).
- */
- private String fLiveUrl;
-
- /**
- * The live connection port (Relayd).
- */
- private Integer fLivePort;
-
- // ------------------------------------------------------------------------
- // Constructors
- // ------------------------------------------------------------------------
- /**
- * Constructor
- *
- * @param name
- * - name of base event
- */
- public SessionInfo(String name) {
- super(name);
- }
-
- /**
- * Copy constructor
- *
- * @param other
- * - the instance to copy
- */
- public SessionInfo(SessionInfo other) {
- super(other);
- fState = other.fState;
- fSessionPath = other.fSessionPath;
- fIsStreamedTrace = other.fIsStreamedTrace;
- fIsSnapshot = other.fIsSnapshot;
- fSnapshotInfo = other.fSnapshotInfo;
- fNetworkUrl = other.fNetworkUrl;
- fControlUrl = other.fControlUrl;
- fDataUrl = other.fDataUrl;
-
- for (Iterator<IDomainInfo> iterator = other.fDomains.iterator(); iterator.hasNext();) {
- IDomainInfo domain = iterator.next();
- if (domain instanceof DomainInfo) {
- fDomains.add(new DomainInfo((DomainInfo) domain));
- } else {
- fDomains.add(domain);
- }
- }
- }
-
- // ------------------------------------------------------------------------
- // Accessors
- // ------------------------------------------------------------------------
-
- @Override
- public TraceSessionState getSessionState() {
- return fState;
- }
-
- @Override
- public void setSessionState(TraceSessionState state) {
- fState = state;
- }
-
- @Override
- public void setSessionState(String stateName) {
- fState = TraceSessionState.valueOfString(stateName);
- }
-
- @Override
- public String getSessionPath() {
- if (isSnapshotSession() && fSnapshotInfo != null) {
- return fSnapshotInfo.getSnapshotPath();
- }
- return fSessionPath;
- }
-
- @Override
- public void setSessionPath(String path) {
- fSessionPath = path;
- }
-
- @Override
- public IDomainInfo[] getDomains() {
- return fDomains.toArray(new IDomainInfo[fDomains.size()]);
- }
-
- @Override
- public void setDomains(List<IDomainInfo> domains) {
- fDomains.clear();
- for (Iterator<IDomainInfo> iterator = domains.iterator(); iterator.hasNext();) {
- IDomainInfo domainInfo = iterator.next();
- fDomains.add(domainInfo);
- }
- }
-
- @Override
- public boolean isStreamedTrace() {
- if (isSnapshotSession() && getSnapshotInfo() != null) {
- return getSnapshotInfo().isStreamedSnapshot();
- }
- return fIsStreamedTrace;
- }
-
- @Override
- public void setStreamedTrace(boolean isStreamedTrace) {
- fIsStreamedTrace = isStreamedTrace;
- }
-
- @Override
- public boolean isSnapshotSession() {
- return fIsSnapshot || fSnapshotInfo != null;
- }
-
- @Override
- public void setSnapshot(boolean isSnapshot) {
- fIsSnapshot = isSnapshot;
- }
-
- @Override
- public ISnapshotInfo getSnapshotInfo() {
- return fSnapshotInfo;
- }
-
- @Override
- public void setSnapshotInfo(ISnapshotInfo info) {
- fSnapshotInfo = info;
- }
-
- @Override
- public boolean isLive() {
- return fIsLive;
- }
-
- @Override
- public void setLive(boolean isLive) {
- fIsLive = isLive;
- }
-
- @Override
- public int getLiveDelay() {
- return fLiveDelay;
- }
-
- @Override
- public void setLiveDelay(int liveDelay) {
- fLiveDelay = liveDelay;
- }
-
- // ------------------------------------------------------------------------
- // Operations
- // ------------------------------------------------------------------------
-
- @Override
- public void addDomain(IDomainInfo domainInfo) {
- fDomains.add(domainInfo);
- }
-
- @SuppressWarnings("nls")
- @Override
- public String toString() {
- StringBuffer output = new StringBuffer();
- output.append("[SessionInfo(");
- output.append(super.toString());
- output.append(",Path=");
- output.append(getSessionPath());
- output.append(",State=");
- output.append(fState);
- output.append(",isStreamedTrace=");
- output.append(fIsStreamedTrace);
- output.append(",isSnapshot=");
- output.append(fIsSnapshot);
-
- if (fSnapshotInfo != null) {
- output.append(",snapshotInfo=");
- output.append(fSnapshotInfo.toString());
- }
- output.append(",Domains=");
- for (Iterator<IDomainInfo> iterator = fDomains.iterator(); iterator.hasNext();) {
- IDomainInfo domain = iterator.next();
- output.append(domain.toString());
- }
-
- output.append(",NetworkUrl=");
- output.append(getNetworkUrl());
- output.append(",ControlUrl=");
- output.append(getControlUrl());
- output.append(",DataUrl=");
- output.append(getDataUrl());
-
- output.append(")]");
- return output.toString();
- }
-
- @Override
- public String getNetworkUrl() {
- return fNetworkUrl;
- }
-
- @Override
- public void setNetworkUrl(String networkUrl) {
- fNetworkUrl = networkUrl;
- }
-
- @Override
- public String getControlUrl() {
- return fControlUrl;
- }
-
- @Override
- public void setControlUrl(String controlUrl) {
- fControlUrl = controlUrl;
- }
-
- @Override
- public void setDataUrl(String datalUrl) {
- fDataUrl = datalUrl;
- }
-
- @Override
- public String getDataUrl() {
- return fDataUrl;
- }
-
- @Override
- public void setLiveUrl(String liveUrl) {
- fLiveUrl = liveUrl;
- }
-
- @Override
- public void setLivePort(Integer livePort) {
- fLivePort = livePort;
- }
-
- @Override
- public String getLiveUrl() {
- return fLiveUrl;
- }
-
- @Override
- public Integer getLivePort() {
- return fLivePort;
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/model/impl/SnapshotInfo.java b/lttng/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/model/impl/SnapshotInfo.java
deleted file mode 100644
index f7aa791e0e..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/model/impl/SnapshotInfo.java
+++ /dev/null
@@ -1,150 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2013 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:
- * Bernd Hufmann - Initial API and implementation
- **********************************************************************/
-package org.eclipse.linuxtools.internal.lttng2.control.core.model.impl;
-
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.ISnapshotInfo;
-
-/**
- * <p>
- * Implementation of the snapshot interface (ISnapshotInfo) to store snapshot
- * related data.
- * </p>
- *
- * @author Bernd Hufmann
- */
-public class SnapshotInfo extends TraceInfo implements ISnapshotInfo {
-
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
- /** The snapshot path for storing traces. */
- private String fPath = ""; //$NON-NLS-1$
- /** The snapshot ID */
- private int fId = -1;
- /** Flag whether snapshot is stored over the network or locally */
- private boolean fIsStreamed = false;
-
- // ------------------------------------------------------------------------
- // Constructors
- // ------------------------------------------------------------------------
- /**
- * Constructor
- * @param name - name of base event
- */
- public SnapshotInfo(String name) {
- super(name);
- }
-
- /**
- * Copy constructor
- * @param other - the instance to copy
- */
- public SnapshotInfo(SnapshotInfo other) {
- super(other);
- fPath = other.fPath;
- fId = other.fId;
- fIsStreamed = other.fIsStreamed;
- }
-
- // ------------------------------------------------------------------------
- // Accessors
- // ------------------------------------------------------------------------
-
- @Override
- public String getSnapshotPath() {
- return fPath;
- }
-
- @Override
- public void setSnapshotPath(String path) {
- fPath = path;
- }
-
- @Override
- public int getId() {
- return fId;
- }
-
- @Override
- public void setId(int id) {
- fId = id;
- }
-
- @Override
- public void setStreamedSnapshot(boolean isStreamed) {
- fIsStreamed = isStreamed;
- }
-
- @Override
- public boolean isStreamedSnapshot() {
- return fIsStreamed;
- }
-
- // ------------------------------------------------------------------------
- // Operations
- // ------------------------------------------------------------------------
-
- @Override
- public int hashCode() {
- final int prime = 31;
- int result = super.hashCode();
- result = prime * result + fId;
- result = prime * result + (fIsStreamed ? 1231 : 1237);
- result = prime * result + ((fPath == null) ? 0 : fPath.hashCode());
- return result;
- }
-
- @Override
- public boolean equals(Object obj) {
- if (this == obj) {
- return true;
- }
- if (!super.equals(obj)) {
- return false;
- }
- if (getClass() != obj.getClass()) {
- return false;
- }
- SnapshotInfo other = (SnapshotInfo) obj;
- if (fId != other.fId) {
- return false;
- }
- if (fIsStreamed != other.fIsStreamed) {
- return false;
- }
- if (fPath == null) {
- if (other.fPath != null) {
- return false;
- }
- } else if (!fPath.equals(other.fPath)) {
- return false;
- }
- return true;
- }
-
- @SuppressWarnings("nls")
- @Override
- public String toString() {
- StringBuffer output = new StringBuffer();
- output.append("[SnapshotInfo(");
- output.append(super.toString());
- output.append(",snapshotPath=");
- output.append(fPath);
- output.append(",ID=");
- output.append(fId);
- output.append(",isStreamedSnapshot=");
- output.append(fIsStreamed);
- output.append(")]");
- return output.toString();
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/model/impl/TraceInfo.java b/lttng/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/model/impl/TraceInfo.java
deleted file mode 100644
index 65ef13b41b..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/model/impl/TraceInfo.java
+++ /dev/null
@@ -1,113 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2012, 2013 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:
- * Bernd Hufmann - Initial API and implementation
- **********************************************************************/
-package org.eclipse.linuxtools.internal.lttng2.control.core.model.impl;
-
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.ITraceInfo;
-
-/**
- * <p>
- * Implementation of the base trace information interface (ITraceInfo) to
- * store common data.
- * </p>
- *
- * @author Bernd Hufmann
- */
-public class TraceInfo implements ITraceInfo {
-
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
- /**
- * The name of the element.
- */
- private String fName = null;
-
- // ------------------------------------------------------------------------
- // Constructors
- // ------------------------------------------------------------------------
- /**
- * Constructor
- * @param name - name of trace element
- */
- public TraceInfo(String name) {
- if (name == null) {
- throw new IllegalArgumentException();
- }
- fName = name;
- }
-
- /**
- * Copy constructor
- * @param other - the instance to copy
- */
- public TraceInfo(TraceInfo other) {
- if (other == null) {
- throw new IllegalArgumentException();
- }
- fName = String.valueOf(other.fName);
- }
-
- // ------------------------------------------------------------------------
- // Accessors
- // ------------------------------------------------------------------------
-
- @Override
- public String getName() {
- return fName;
- }
-
- @Override
- public void setName(String name) {
- fName = name;
- }
-
- @Override
- public int hashCode() {
- final int prime = 31;
- int result = 1;
- result = prime * result + ((fName == null) ? 0 : fName.hashCode());
- return result;
- }
-
- @Override
- public boolean equals(Object obj) {
- if (this == obj) {
- return true;
- }
- if (obj == null) {
- return false;
- }
- if (getClass() != obj.getClass()) {
- return false;
- }
- TraceInfo other = (TraceInfo) obj;
- if (fName == null) {
- if (other.fName != null) {
- return false;
- }
- } else if (!fName.equals(other.fName)) {
- return false;
- }
- return true;
- }
-
- @SuppressWarnings("nls")
- @Override
- public String toString() {
- StringBuffer output = new StringBuffer();
- output.append("[TraceInfo(");
- output.append("Name=");
- output.append(getName());
- output.append(")]");
- return output.toString();
- }
-} \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/model/impl/UstProviderInfo.java b/lttng/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/model/impl/UstProviderInfo.java
deleted file mode 100644
index 7f33c8a150..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/model/impl/UstProviderInfo.java
+++ /dev/null
@@ -1,162 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2012, 2014 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:
- * Bernd Hufmann - Initial API and implementation
- **********************************************************************/
-package org.eclipse.linuxtools.internal.lttng2.control.core.model.impl;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.IBaseEventInfo;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.IUstProviderInfo;
-
-/**
- * <p>
- * Implementation of the Ust Provider interface (IUstProviderInfo) to store UST
- * provider related data.
- * </p>
- *
- * @author Bernd Hufmann
- */
-public class UstProviderInfo extends TraceInfo implements IUstProviderInfo {
-
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
-
- /**
- * The process ID of the UST provider.
- */
- private int fPid = 0;
-
- /**
- * List of event information.
- */
- private final List<IBaseEventInfo> fEvents = new ArrayList<>();
-
- // ------------------------------------------------------------------------
- // Constructors
- // ------------------------------------------------------------------------
-
- /**
- * Constructor
- * @param name - name of UST provider
- */
- public UstProviderInfo(String name) {
- super(name);
- }
-
- /**
- * Copy constructor
- * @param other - the instance to copy
- */
- public UstProviderInfo(UstProviderInfo other) {
- super(other);
- fPid = other.fPid;
- for (Iterator<IBaseEventInfo> iterator = other.fEvents.iterator(); iterator.hasNext();) {
- IBaseEventInfo event = iterator.next();
- if (event instanceof BaseEventInfo) {
- fEvents.add(new BaseEventInfo((BaseEventInfo)event));
- } else {
- fEvents.add(event);
- }
- }
- }
-
- // ------------------------------------------------------------------------
- // Accessors
- // ------------------------------------------------------------------------
-
- @Override
- public int getPid() {
- return fPid;
- }
-
- @Override
- public void setPid(int pid) {
- fPid = pid;
- }
-
- @Override
- public IBaseEventInfo[] getEvents() {
- return fEvents.toArray(new IBaseEventInfo[fEvents.size()]);
- }
-
- @Override
- public void setEvents(List<IBaseEventInfo> events) {
- fEvents.clear();
- for (Iterator<IBaseEventInfo> iterator = events.iterator(); iterator.hasNext();) {
- IBaseEventInfo eventInfo = iterator.next();
- fEvents.add(eventInfo);
- }
- }
-
- @Override
- public void addEvent(IBaseEventInfo event) {
- fEvents.add(event);
- }
-
- // ------------------------------------------------------------------------
- // Operations
- // ------------------------------------------------------------------------
-
- @Override
- public int hashCode() {
- final int prime = 31;
- int result = super.hashCode();
- result = prime * result + fEvents.hashCode();
- result = prime * result + fPid;
- return result;
- }
-
- @Override
- public boolean equals(Object obj) {
- if (this == obj) {
- return true;
- }
- if (!super.equals(obj)) {
- return false;
- }
- if (getClass() != obj.getClass()) {
- return false;
- }
- UstProviderInfo other = (UstProviderInfo) obj;
- if (!fEvents.equals(other.fEvents)) {
- return false;
- }
- if (fPid != other.fPid) {
- return false;
- }
- return true;
- }
-
- @SuppressWarnings("nls")
- @Override
- public String toString() {
- StringBuffer output = new StringBuffer();
- output.append("[EventInfo(");
- output.append(super.toString());
- output.append(",PID=");
- output.append(fPid);
- output.append(",Events=");
- if (fEvents.isEmpty()) {
- output.append("None");
- } else {
- for (Iterator<IBaseEventInfo> iterator = fEvents.iterator(); iterator.hasNext();) {
- IBaseEventInfo event = iterator.next();
- output.append(event.toString());
- }
- }
- output.append(")]");
- return output.toString();
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/relayd/ILttngRelaydConnector.java b/lttng/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/relayd/ILttngRelaydConnector.java
deleted file mode 100644
index 88f376b566..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/relayd/ILttngRelaydConnector.java
+++ /dev/null
@@ -1,119 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2014 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:
- * Matthew Khouzam - Initial implementation
- **********************************************************************/
-
-package org.eclipse.linuxtools.internal.lttng2.control.core.relayd;
-
-import java.io.IOException;
-import java.util.List;
-
-import org.eclipse.linuxtools.internal.lttng2.control.core.relayd.lttngviewerCommands.AttachSessionResponse;
-import org.eclipse.linuxtools.internal.lttng2.control.core.relayd.lttngviewerCommands.CreateSessionResponse;
-import org.eclipse.linuxtools.internal.lttng2.control.core.relayd.lttngviewerCommands.IndexResponse;
-import org.eclipse.linuxtools.internal.lttng2.control.core.relayd.lttngviewerCommands.SessionResponse;
-import org.eclipse.linuxtools.internal.lttng2.control.core.relayd.lttngviewerCommands.StreamResponse;
-import org.eclipse.linuxtools.internal.lttng2.control.core.relayd.lttngviewerCommands.TracePacketResponse;
-
-/**
- * Connector for Lttng Relayd
- *
- * @author Matthew Khouzam
- * @since 3.0
- */
-public interface ILttngRelaydConnector extends AutoCloseable {
-
- /**
- * Gets a list of active Lttng sessions
- *
- * @return the session List (we need the get function)
- * @throws IOException
- * timeout and such
- */
- List<SessionResponse> getSessions() throws IOException;
-
- /**
- * Create a session
- *
- * @return create session response
- * @throws IOException
- * timeout and such
- */
- CreateSessionResponse createSession() throws IOException;
-
- /**
- * Attach the trace viewer to a Session
- *
- * @param lttngViewerSession
- * viewer session
- * @return An AttachSessionResponse
- * @throws IOException
- * timeout and such
- */
- AttachSessionResponse attachToSession(SessionResponse lttngViewerSession) throws IOException;
-
- /**
- * Get the metadata from the relayd
- *
- * @param attachedSession
- * the attached session
- * @return a chunk of TSDL metadata
- * @throws IOException
- * timeout and such
- */
- String getMetadata(AttachSessionResponse attachedSession) throws IOException;
-
- /**
- * Get the next index
- *
- * @param stream
- * the stream
- * @return the stream input packet entry
- * @throws IOException
- * timeout and such
- */
- IndexResponse getNextIndex(StreamResponse stream) throws IOException;
-
- /**
- * Get the next packet in a stream
- *
- * @param stream
- * the stream response
- * @return the packet response
- * @throws IOException
- * timeout and such
- */
- TracePacketResponse getNextPacket(StreamResponse stream) throws IOException;
-
- /**
- * Gets the packet from the stream
- *
- * @param index
- * the index of the stream
- * @param id
- * the stream id
- * @return the packet response
- * @throws IOException
- * timeout and such
- */
- TracePacketResponse getPacketFromStream(IndexResponse index, long id) throws IOException;
-
- /**
- * Gets the new streams
- *
- * @return a list of stream responses
- * @throws IOException
- * timeout and such
- */
- Iterable<StreamResponse> getNewStreams() throws IOException;
-
- @Override
- void close() throws IOException;
-}
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/relayd/LttngRelaydConnectorFactory.java b/lttng/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/relayd/LttngRelaydConnectorFactory.java
deleted file mode 100644
index 298d662877..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/relayd/LttngRelaydConnectorFactory.java
+++ /dev/null
@@ -1,78 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2014 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:
- * Matthew Khouzam - Initial implementation
- **********************************************************************/
-
-package org.eclipse.linuxtools.internal.lttng2.control.core.relayd;
-
-import java.io.DataInputStream;
-import java.io.DataOutputStream;
-import java.io.IOException;
-import java.net.Socket;
-
-import org.eclipse.linuxtools.internal.lttng2.control.core.relayd.impl.LttngRelaydConnector_2_4;
-import org.eclipse.linuxtools.internal.lttng2.control.core.relayd.impl.LttngRelaydConnector_Unsupported;
-import org.eclipse.linuxtools.internal.lttng2.control.core.relayd.lttngviewerCommands.Command;
-import org.eclipse.linuxtools.internal.lttng2.control.core.relayd.lttngviewerCommands.ConnectResponse;
-import org.eclipse.linuxtools.internal.lttng2.control.core.relayd.lttngviewerCommands.ConnectionType;
-import org.eclipse.linuxtools.internal.lttng2.control.core.relayd.lttngviewerCommands.ViewerCommand;
-
-/**
- * LTTng RelayD connector factory
- *
- * @author Matthew Khouzam
- * @since 3.0
- */
-public final class LttngRelaydConnectorFactory {
-
- private LttngRelaydConnectorFactory() {
- }
-
- /**
- * Create a connection to a relayd
- *
- * @param myConnection
- * a connection to the relayd
- *
- * @return A relayd connector
- * @throws IOException
- * caused by invalid sockets
- */
- public static ILttngRelaydConnector getNewConnector(Socket myConnection) throws IOException {
- DataOutputStream outNet = new DataOutputStream(myConnection.getOutputStream());
- DataInputStream inNet = new DataInputStream(myConnection.getInputStream());
-
- ViewerCommand connectCommand = new ViewerCommand(Command.VIEWER_CONNECT, ConnectResponse.SIZE, 0);
-
- outNet.write(connectCommand.serialize());
- outNet.flush();
-
- ConnectResponse payload = new ConnectResponse(0, 2, 4, ConnectionType.VIEWER_CLIENT_COMMAND);
- outNet.write(payload.serialize());
- outNet.flush();
-
- ConnectResponse connectReply = new ConnectResponse(inNet);
- switch (connectReply.getMajor()) {
- case 2:
- switch (connectReply.getMinor()) {
- case 0:
- case 1:
- case 2:
- case 3:
- return new LttngRelaydConnector_Unsupported();
- case 4:
- default:
- return new LttngRelaydConnector_2_4(inNet, outNet);
- }
- default:
- return new LttngRelaydConnector_Unsupported();
- }
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/relayd/impl/LttngRelaydConnector_2_4.java b/lttng/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/relayd/impl/LttngRelaydConnector_2_4.java
deleted file mode 100644
index 05435c6eea..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/relayd/impl/LttngRelaydConnector_2_4.java
+++ /dev/null
@@ -1,181 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2014 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:
- * Matthew Khouzam - Initial implementation
- * Marc-Andre Laperle - Create session and split getNextIndex from getNextPacket
- **********************************************************************/
-
-package org.eclipse.linuxtools.internal.lttng2.control.core.relayd.impl;
-
-import java.io.DataInputStream;
-import java.io.DataOutputStream;
-import java.io.IOException;
-import java.util.List;
-
-import org.eclipse.jdt.annotation.NonNull;
-import org.eclipse.linuxtools.internal.lttng2.control.core.relayd.ILttngRelaydConnector;
-import org.eclipse.linuxtools.internal.lttng2.control.core.relayd.lttngviewerCommands.AttachSessionRequest;
-import org.eclipse.linuxtools.internal.lttng2.control.core.relayd.lttngviewerCommands.AttachSessionResponse;
-import org.eclipse.linuxtools.internal.lttng2.control.core.relayd.lttngviewerCommands.Command;
-import org.eclipse.linuxtools.internal.lttng2.control.core.relayd.lttngviewerCommands.ConnectResponse;
-import org.eclipse.linuxtools.internal.lttng2.control.core.relayd.lttngviewerCommands.CreateSessionResponse;
-import org.eclipse.linuxtools.internal.lttng2.control.core.relayd.lttngviewerCommands.GetMetadata;
-import org.eclipse.linuxtools.internal.lttng2.control.core.relayd.lttngviewerCommands.GetNextIndex;
-import org.eclipse.linuxtools.internal.lttng2.control.core.relayd.lttngviewerCommands.GetPacket;
-import org.eclipse.linuxtools.internal.lttng2.control.core.relayd.lttngviewerCommands.IndexResponse;
-import org.eclipse.linuxtools.internal.lttng2.control.core.relayd.lttngviewerCommands.ListSessionsResponse;
-import org.eclipse.linuxtools.internal.lttng2.control.core.relayd.lttngviewerCommands.MetadataPacketResponse;
-import org.eclipse.linuxtools.internal.lttng2.control.core.relayd.lttngviewerCommands.NewStreamsResponse;
-import org.eclipse.linuxtools.internal.lttng2.control.core.relayd.lttngviewerCommands.NextIndexReturnCode;
-import org.eclipse.linuxtools.internal.lttng2.control.core.relayd.lttngviewerCommands.SeekCommand;
-import org.eclipse.linuxtools.internal.lttng2.control.core.relayd.lttngviewerCommands.SessionResponse;
-import org.eclipse.linuxtools.internal.lttng2.control.core.relayd.lttngviewerCommands.StreamResponse;
-import org.eclipse.linuxtools.internal.lttng2.control.core.relayd.lttngviewerCommands.TracePacketResponse;
-import org.eclipse.linuxtools.internal.lttng2.control.core.relayd.lttngviewerCommands.ViewerCommand;
-
-/**
- * Lttng 2.4 implementation
- *
- * @author Matthew Khouzam
- */
-public class LttngRelaydConnector_2_4 implements ILttngRelaydConnector {
-
- private final @NonNull DataInputStream fInNet;
- private final @NonNull DataOutputStream fOutNet;
-
- /**
- * Constructor needs two network streams
- *
- * @param inNet
- * network incoming data
- * @param outNet
- * network outgoing data
- */
- public LttngRelaydConnector_2_4(@NonNull DataInputStream inNet, @NonNull DataOutputStream outNet) {
- fInNet = inNet;
- fOutNet = outNet;
- }
-
- // ------------------------------------------------------------------------
- // AutoCloseable
- // ------------------------------------------------------------------------
-
- @Override
- public void close() throws IOException {
- fInNet.close();
- fOutNet.close();
- }
-
- // ------------------------------------------------------------------------
- // ILttngRelaydConnector
- // ------------------------------------------------------------------------
-
- @Override
- public List<SessionResponse> getSessions() throws IOException {
- ViewerCommand listSessionsCmd = new ViewerCommand(Command.VIEWER_LIST_SESSIONS, 0,0);
-
- fOutNet.write(listSessionsCmd.serialize());
- fOutNet.flush();
-
- return new ListSessionsResponse(fInNet).getSessionsList();
- }
-
- @Override
- public CreateSessionResponse createSession() throws IOException {
- ViewerCommand listSessionsCmd = new ViewerCommand(Command.VIEWER_CREATE_SESSION, 0, 0);
- fOutNet.write(listSessionsCmd.serialize());
- fOutNet.flush();
-
- return new CreateSessionResponse(fInNet);
- }
-
- @Override
- public AttachSessionResponse attachToSession(SessionResponse lttngViewerSession) throws IOException {
- ViewerCommand listSessionsCmd = new ViewerCommand(Command.VIEWER_ATTACH_SESSION, 0,0);
- fOutNet.write(listSessionsCmd.serialize());
- /*
- * only flush if you read after
- */
-
- AttachSessionRequest attachRequest = new AttachSessionRequest(lttngViewerSession.getId(), SeekCommand.VIEWER_SEEK_BEGINNING);
- fOutNet.write(attachRequest.serialize());
- fOutNet.flush();
-
- return new AttachSessionResponse(fInNet);
- }
-
- @Override
- public String getMetadata(AttachSessionResponse attachedSession) throws IOException {
-
- for (StreamResponse stream : attachedSession.getStreamList()) {
- if (stream.getMetadataFlag() == 1) {
- issueCommand(Command.VIEWER_GET_METADATA);
-
- GetMetadata metadataRequest = new GetMetadata(stream.getId());
- fOutNet.write(metadataRequest.serialize());
- fOutNet.flush();
-
- MetadataPacketResponse metaDataPacket = new MetadataPacketResponse(fInNet);
- return new String(metaDataPacket.getData());
- }
- }
-
- return null;
- }
-
- @Override
- public TracePacketResponse getPacketFromStream(IndexResponse index, long id) throws IOException {
-
- issueCommand(Command.VIEWER_GET_PACKET);
-
- GetPacket packetRequest = new GetPacket(id, index.getOffset(), (int) (index.getPacketSize() / 8));
- fOutNet.write(packetRequest.serialize());
- fOutNet.flush();
-
- return new TracePacketResponse(fInNet);
- }
-
- @Override
- public TracePacketResponse getNextPacket(StreamResponse stream) throws IOException {
- IndexResponse indexReply = getNextIndex(stream);
-
- TracePacketResponse packet = null;
- if (indexReply.getStatus() == NextIndexReturnCode.VIEWER_INDEX_OK) {
- packet = getPacketFromStream(indexReply, stream.getId());
- }
- return packet;
- }
-
- @Override
- public IndexResponse getNextIndex(StreamResponse stream) throws IOException {
- issueCommand(Command.VIEWER_GET_NEXT_INDEX);
-
- GetNextIndex indexRequest = new GetNextIndex(stream.getId());
- fOutNet.write(indexRequest.serialize());
- fOutNet.flush();
-
- return new IndexResponse(fInNet);
- }
-
- @Override
- public List<StreamResponse> getNewStreams() throws IOException {
-
- Command viewerGetNewStreams = Command.VIEWER_GET_NEW_STREAMS;
-
- issueCommand(viewerGetNewStreams);
-
- return new NewStreamsResponse(fInNet).getStreamList();
- }
-
- private void issueCommand(Command command) throws IOException {
- ViewerCommand connectCommand = new ViewerCommand(command, ConnectResponse.SIZE, 0);
- fOutNet.write(connectCommand.serialize());
- fOutNet.flush();
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/relayd/impl/LttngRelaydConnector_Unsupported.java b/lttng/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/relayd/impl/LttngRelaydConnector_Unsupported.java
deleted file mode 100644
index 85ad22a81c..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/relayd/impl/LttngRelaydConnector_Unsupported.java
+++ /dev/null
@@ -1,76 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2014 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:
- * Matthew Khouzam - Initial implementation
- **********************************************************************/
-
-package org.eclipse.linuxtools.internal.lttng2.control.core.relayd.impl;
-
-import java.util.List;
-
-import org.eclipse.linuxtools.internal.lttng2.control.core.relayd.ILttngRelaydConnector;
-import org.eclipse.linuxtools.internal.lttng2.control.core.relayd.lttngviewerCommands.AttachSessionResponse;
-import org.eclipse.linuxtools.internal.lttng2.control.core.relayd.lttngviewerCommands.CreateSessionResponse;
-import org.eclipse.linuxtools.internal.lttng2.control.core.relayd.lttngviewerCommands.IndexResponse;
-import org.eclipse.linuxtools.internal.lttng2.control.core.relayd.lttngviewerCommands.SessionResponse;
-import org.eclipse.linuxtools.internal.lttng2.control.core.relayd.lttngviewerCommands.StreamResponse;
-import org.eclipse.linuxtools.internal.lttng2.control.core.relayd.lttngviewerCommands.TracePacketResponse;
-
-/**
- * Unsupported version of the relay daemon
- *
- * @author Matthew Khouzam
- */
-public class LttngRelaydConnector_Unsupported implements ILttngRelaydConnector {
-
- @Override
- public List<SessionResponse> getSessions() {
- throw new UnsupportedOperationException();
- }
-
- @Override
- public AttachSessionResponse attachToSession(SessionResponse lttngViewerSession) {
- throw new UnsupportedOperationException();
- }
-
- @Override
- public String getMetadata(AttachSessionResponse attachedSession) {
- throw new UnsupportedOperationException();
- }
-
- @Override
- public TracePacketResponse getNextPacket(StreamResponse stream) {
- throw new UnsupportedOperationException();
- }
-
- @Override
- public TracePacketResponse getPacketFromStream(IndexResponse index, long id) {
- throw new UnsupportedOperationException();
- }
-
- @Override
- public List<StreamResponse> getNewStreams() {
- throw new UnsupportedOperationException();
- }
-
- @Override
- public CreateSessionResponse createSession() {
- throw new UnsupportedOperationException();
- }
-
- @Override
- public IndexResponse getNextIndex(StreamResponse stream) {
- throw new UnsupportedOperationException();
- }
-
- @Override
- public void close() {
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/relayd/lttngviewerCommands/AttachReturnCode.java b/lttng/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/relayd/lttngviewerCommands/AttachReturnCode.java
deleted file mode 100644
index 4ec77c5ca5..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/relayd/lttngviewerCommands/AttachReturnCode.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2014 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:
- * Matthew Khouzam - Initial implementation and API
- * Marc-Andre Laperle - Initial implementation and API
- **********************************************************************/
-
-package org.eclipse.linuxtools.internal.lttng2.control.core.relayd.lttngviewerCommands;
-
-/**
- * Return codes for "viewer attach" command
- *
- * @author Matthew Khouzam
- * @since 3.0
- */
-public enum AttachReturnCode implements IBaseCommand {
-
- /** If the attach command succeeded. */
- VIEWER_ATTACH_OK(1),
- /** If a viewer is already attached. */
- VIEWER_ATTACH_ALREADY(2),
- /** If the session ID is unknown. */
- VIEWER_ATTACH_UNK(3),
- /** If the session is not live. */
- VIEWER_ATTACH_NOT_LIVE(4),
- /** Seek error. */
- VIEWER_ATTACH_SEEK_ERR(5),
- /** No session */
- VIEWER_ATTACH_NO_SESSION(6);
-
- private final int fCode;
-
- private AttachReturnCode(int c) {
- fCode = c;
- }
-
- @Override
- public int getCommand() {
- return fCode;
- }
-} \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/relayd/lttngviewerCommands/AttachSessionRequest.java b/lttng/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/relayd/lttngviewerCommands/AttachSessionRequest.java
deleted file mode 100644
index 4b426090a7..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/relayd/lttngviewerCommands/AttachSessionRequest.java
+++ /dev/null
@@ -1,81 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2014 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:
- * Matthew Khouzam - Initial implementation and API
- * Marc-Andre Laperle - Initial implementation and API
- **********************************************************************/
-
-package org.eclipse.linuxtools.internal.lttng2.control.core.relayd.lttngviewerCommands;
-
-import java.nio.ByteBuffer;
-import java.nio.ByteOrder;
-
-/**
- * VIEWER_ATTACH_SESSION payload.
- *
- * @author Matthew Khouzam
- * @since 3.0
- */
-public class AttachSessionRequest implements IRelayCommand {
-
- /**
- * Command size
- *
- * fSessionId + fOffset + fSeek
- */
- public static final int SIZE = (Long.SIZE + Long.SIZE) / 8 + SeekCommand.SIZE;
- /** the id of a session */
- private final long fSessionId;
- /** unused for now */
- private final long fOffset;
- /** enum lttng_viewer_seek */
- private final SeekCommand fSeek;
-
- /**
- * Attach session request constructor
- *
- * @param id
- * the session id
- * @param seekCommand
- * the seek command
- */
- public AttachSessionRequest(long id, SeekCommand seekCommand) {
- this(id, 0, seekCommand);
- }
-
- /**
- * Attach session request constructor
- *
- * @param id
- * the session id
- * @param offset
- * unused for now
- * @param seekCommand
- * the seek command
- */
-
- public AttachSessionRequest(long id, int offset, SeekCommand seekCommand) {
- fSessionId = id;
- fOffset = offset;
- fSeek = seekCommand;
-
- }
-
- @Override
- public byte[] serialize() {
- byte data[] = new byte[SIZE];
- ByteBuffer bb = ByteBuffer.wrap(data);
- bb.order(ByteOrder.BIG_ENDIAN);
- bb.putLong(fSessionId);
- bb.putLong(fOffset);
- bb.putInt(fSeek.getCommand());
- return data;
- }
-
-} \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/relayd/lttngviewerCommands/AttachSessionResponse.java b/lttng/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/relayd/lttngviewerCommands/AttachSessionResponse.java
deleted file mode 100644
index 2903333d29..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/relayd/lttngviewerCommands/AttachSessionResponse.java
+++ /dev/null
@@ -1,95 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2014 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:
- * Matthew Khouzam - Initial implementation and API
- * Marc-Andre Laperle - Initial implementation and API
- **********************************************************************/
-
-package org.eclipse.linuxtools.internal.lttng2.control.core.relayd.lttngviewerCommands;
-
-import java.io.DataInputStream;
-import java.io.IOException;
-import java.nio.ByteBuffer;
-import java.nio.ByteOrder;
-import java.util.List;
-
-import com.google.common.collect.ImmutableList;
-import com.google.common.collect.ImmutableList.Builder;
-
-/**
- * Attach session response
- *
- * @author Matthew Khouzam
- * @since 3.0
- */
-public class AttachSessionResponse implements IRelayResponse {
-
- /**
- * Response size
- *
- * fStatus + fStreamsCount (first half of a packet) */
- private static final int SIZE = (Integer.SIZE + Integer.SIZE) / 8;
- /** enum lttng_viewer_attach_return_code */
- private final AttachReturnCode fStatus;
- /** how many streams are there */
- private final int fStreamsCount;
- /** public class lttng_viewer_stream */
- private final List<StreamResponse> fStreamList;
-
- /**
- * Attach session response network constructor
- *
- * @param inNet
- * network input stream
- * @throws IOException
- * network error
- */
- public AttachSessionResponse(DataInputStream inNet) throws IOException {
- byte[] data = new byte[SIZE];
- inNet.readFully(data, 0, SIZE);
- ByteBuffer bb = ByteBuffer.wrap(data);
- bb.order(ByteOrder.BIG_ENDIAN);
- fStatus = AttachReturnCode.values()[bb.getInt() - 1];
- fStreamsCount = bb.getInt();
- Builder<StreamResponse> streamResponses = ImmutableList.builder();
- for (int i = 0; i < getNbStreams(); i++) {
- streamResponses.add(new StreamResponse(inNet));
- }
- fStreamList = streamResponses.build();
-
- }
-
- /**
- * Gets the Status
- *
- * @return the Status
- */
- public AttachReturnCode getStatus() {
- return fStatus;
- }
-
- /**
- * Gets the StreamsCount
- *
- * @return the StreamsCount
- */
- public int getNbStreams() {
- return fStreamsCount;
- }
-
- /**
- * Gets the StreamList
- *
- * @return the StreamList
- */
- public List<StreamResponse> getStreamList() {
- return fStreamList;
- }
-
-} \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/relayd/lttngviewerCommands/Command.java b/lttng/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/relayd/lttngviewerCommands/Command.java
deleted file mode 100644
index 4478ae6de6..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/relayd/lttngviewerCommands/Command.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2014 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:
- * Matthew Khouzam - Initial implementation and API
- * Marc-Andre Laperle - Initial implementation and API
- **********************************************************************/
-
-package org.eclipse.linuxtools.internal.lttng2.control.core.relayd.lttngviewerCommands;
-
-/**
- * Viewer commands
- *
- * @author Matthew Khouzam
- * @since 3.0
- */
-public enum Command implements IBaseCommand {
-
- /** get version */
- VIEWER_CONNECT(1),
- /** list all lttng sessions */
- VIEWER_LIST_SESSIONS(2),
- /** attach to a session */
- VIEWER_ATTACH_SESSION(3),
- /** get the next index */
- VIEWER_GET_NEXT_INDEX(4),
- /** get packet */
- VIEWER_GET_PACKET(5),
- /** get metadata */
- VIEWER_GET_METADATA(6),
- /** get new streams */
- VIEWER_GET_NEW_STREAMS(7),
- /** create a new session */
- VIEWER_CREATE_SESSION(8);
-
- /**
- * Command size (fCode)
- */
- public static final int SIZE = Integer.SIZE / 8;
-
- private final int fCode;
-
- private Command(int c) {
- fCode = c;
- }
-
- @Override
- public int getCommand() {
- return fCode;
- }
-} \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/relayd/lttngviewerCommands/ConnectResponse.java b/lttng/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/relayd/lttngviewerCommands/ConnectResponse.java
deleted file mode 100644
index e2579e1f2c..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/relayd/lttngviewerCommands/ConnectResponse.java
+++ /dev/null
@@ -1,119 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2014 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:
- * Matthew Khouzam - Initial implementation and API
- * Marc-Andre Laperle - Initial implementation and API
- **********************************************************************/
-
-package org.eclipse.linuxtools.internal.lttng2.control.core.relayd.lttngviewerCommands;
-
-import java.io.DataInputStream;
-import java.io.IOException;
-import java.nio.ByteBuffer;
-import java.nio.ByteOrder;
-
-/**
- * CONNECT payload.
- *
- * @author Matthew Khouzam
- * @since 3.0
- */
-public class ConnectResponse implements IRelayResponse, IRelayCommand {
-
- /**
- * Response or command size
- *
- * fViewerSessionId + fMajor + fMinor + fType
- */
- public static final int SIZE = (Long.SIZE + Integer.SIZE + Integer.SIZE + Integer.SIZE) / 8;
- /** session id, counts from 1 and increments by session */
- private final long fViewerSessionId;
- /**
- * Major version, hint, it's at least 2
- */
- private final int fMajor;
- /**
- * Minor version, hint, it's at least 4
- */
- private final int fMinor;
- /**
- * type of connect to {@link ConnectionType}
- */
- private final ConnectionType fType;
-
- /**
- * Connection response reply constructor
- *
- * @param inStream
- * the data input stream
- * @throws IOException
- * a network error
- */
- public ConnectResponse(DataInputStream inStream) throws IOException {
- byte data[] = new byte[SIZE];
- inStream.readFully(data);
- ByteBuffer bb = ByteBuffer.wrap(data);
- bb.order(ByteOrder.BIG_ENDIAN);
- fViewerSessionId = bb.getLong();
- fMajor = bb.getInt();
- fMinor = bb.getInt();
- bb.getInt(); // Should not be used, see http://bugs.lttng.org/issues/728
- fType = ConnectionType.VIEWER_CLIENT_COMMAND;
- }
-
- /**
- * Constructor for command
- *
- * @param sessionID
- * session id
- * @param major
- * the major version
- * @param minor
- * the minor version
- * @param connection
- * the connection type, typically VIEWER_CLIENT_COMMAND
- */
- public ConnectResponse(long sessionID, int major, int minor, ConnectionType connection) {
- fViewerSessionId = sessionID;
- fMajor = major;
- fMinor = minor;
- fType = connection;
- }
-
- /**
- * get the major version
- *
- * @return the major version
- */
- public int getMajor() {
- return fMajor;
- }
-
- /**
- * get the minor version
- *
- * @return the minor version
- */
- public int getMinor() {
- return fMinor;
- }
-
- @Override
- public byte[] serialize() {
- byte data[] = new byte[SIZE];
- ByteBuffer bb = ByteBuffer.wrap(data);
- bb.order(ByteOrder.BIG_ENDIAN);
- bb.putLong(fViewerSessionId);
- bb.putInt(fMajor);
- bb.putInt(fMinor);
- bb.putInt(fType.getCommand());
- return data;
- }
-
-} \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/relayd/lttngviewerCommands/ConnectionType.java b/lttng/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/relayd/lttngviewerCommands/ConnectionType.java
deleted file mode 100644
index 0b650741a6..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/relayd/lttngviewerCommands/ConnectionType.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2014 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:
- * Matthew Khouzam - Initial implementation and API
- * Marc-Andre Laperle - Initial implementation and API
- **********************************************************************/
-
-package org.eclipse.linuxtools.internal.lttng2.control.core.relayd.lttngviewerCommands;
-
-/**
- * Get viewer connection type
- *
- * @author Matthew Khouzam
- * @since 3.0
- */
-public enum ConnectionType implements IBaseCommand {
-
- /** Command sent */
- VIEWER_CLIENT_COMMAND(1),
- /** Notification sent */
- VIEWER_CLIENT_NOTIFICATION(2);
-
- private final int fCode;
-
- private ConnectionType(int c) {
- fCode = c;
- }
-
- @Override
- public int getCommand() {
- return fCode;
- }
-
-} \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/relayd/lttngviewerCommands/CreateSessionResponse.java b/lttng/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/relayd/lttngviewerCommands/CreateSessionResponse.java
deleted file mode 100644
index 97200f34b5..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/relayd/lttngviewerCommands/CreateSessionResponse.java
+++ /dev/null
@@ -1,62 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2014 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:
- * Matthew Khouzam - Initial implementation and API
- * Marc-Andre Laperle - Initial implementation and API
- **********************************************************************/
-
-package org.eclipse.linuxtools.internal.lttng2.control.core.relayd.lttngviewerCommands;
-
-import java.io.DataInputStream;
-import java.io.IOException;
-import java.nio.ByteBuffer;
-import java.nio.ByteOrder;
-
-/**
- * Response to a "create session" command
- *
- * @author Matthew Khouzam
- * @since 3.0
- */
-public class CreateSessionResponse implements IRelayResponse {
-
- /**
- * Response size (fStatus)
- */
- public static final int SIZE = Integer.SIZE / 8;
-
- /** enum lttng_viewer_create_session_return_code */
- private final CreateSessionReturnCode fStatus;
-
- /**
- * Create session response network constructor
- *
- * @param inNet
- * network input stream
- * @throws IOException
- * network error
- */
- public CreateSessionResponse(DataInputStream inNet) throws IOException {
- byte[] data = new byte[SIZE];
- inNet.readFully(data);
- ByteBuffer bb = ByteBuffer.wrap(data);
- bb.order(ByteOrder.BIG_ENDIAN);
- fStatus = (CreateSessionReturnCode.values()[bb.getInt() - 1]);
- }
-
- /**
- * Get status
- *
- * @return the status
- */
- public CreateSessionReturnCode getStatus() {
- return fStatus;
- }
-
-} \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/relayd/lttngviewerCommands/CreateSessionReturnCode.java b/lttng/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/relayd/lttngviewerCommands/CreateSessionReturnCode.java
deleted file mode 100644
index 6c3f6b4d9b..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/relayd/lttngviewerCommands/CreateSessionReturnCode.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2014 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:
- * Matthew Khouzam - Initial implementation and API
- * Marc-Andre Laperle - Initial implementation and API
- **********************************************************************/
-
-package org.eclipse.linuxtools.internal.lttng2.control.core.relayd.lttngviewerCommands;
-
-/**
- * Create new session return code
- *
- * @author Matthew Khouzam
- * @since 3.0
- */
-public enum CreateSessionReturnCode implements IBaseCommand {
-
- /** If new streams are being sent. */
- LTTNG_VIEWER_CREATE_SESSION_OK(1),
- /** Fatal error on the server-side. */
- LTTNG_VIEWER_CREATE_SESSION_ERR(2);
-
- private final int fCode;
-
- private CreateSessionReturnCode(int c) {
- fCode = c;
- }
-
- @Override
- public int getCommand() {
- return fCode;
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/relayd/lttngviewerCommands/GetMetadata.java b/lttng/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/relayd/lttngviewerCommands/GetMetadata.java
deleted file mode 100644
index 54ee517b09..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/relayd/lttngviewerCommands/GetMetadata.java
+++ /dev/null
@@ -1,65 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2014 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:
- * Matthew Khouzam - Initial implementation and API
- * Marc-Andre Laperle - Initial implementation and API
- **********************************************************************/
-
-package org.eclipse.linuxtools.internal.lttng2.control.core.relayd.lttngviewerCommands;
-
-import java.nio.ByteBuffer;
-import java.nio.ByteOrder;
-
-/**
- * VIEWER_GET_METADATA payload.
- *
- * @author Matthew Khouzam
- * @since 3.0
- */
-public class GetMetadata implements IRelayCommand {
-
- /**
- * Command size (fStreamId)
- */
- public static final int SIZE = Long.SIZE / 8;
-
- /**
- * The stream id
- */
- private final long fStreamId;
-
- /**
- * Set the stream id
- *
- * @param streamId
- * the stream id
- */
- public GetMetadata(long streamId) {
- fStreamId = streamId;
- }
-
- /**
- * Get the stream id
- *
- * @return the stream id
- */
- public long getStreamId() {
- return fStreamId;
- }
-
- @Override
- public byte[] serialize() {
- byte data[] = new byte[SIZE];
- ByteBuffer bb = ByteBuffer.wrap(data);
- bb.order(ByteOrder.BIG_ENDIAN);
- bb.putLong(getStreamId());
- return data;
- }
-
-} \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/relayd/lttngviewerCommands/GetMetadataReturnCode.java b/lttng/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/relayd/lttngviewerCommands/GetMetadataReturnCode.java
deleted file mode 100644
index 0df4b60316..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/relayd/lttngviewerCommands/GetMetadataReturnCode.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2014 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:
- * Matthew Khouzam - Initial implementation and API
- * Marc-Andre Laperle - Initial implementation and API
- **********************************************************************/
-
-package org.eclipse.linuxtools.internal.lttng2.control.core.relayd.lttngviewerCommands;
-
-/**
- * Get metadata return code
- *
- * @author Matthew Khouzam
- * @since 3.0
- */
-public enum GetMetadataReturnCode implements IBaseCommand {
-
- /** Response was OK */
- VIEWER_METADATA_OK(1),
- /** Response was nothing new */
- VIEWER_NO_NEW_METADATA(2),
- /** Response was Error */
- VIEWER_METADATA_ERR(3);
-
- private final int fCode;
-
- private GetMetadataReturnCode(int c) {
- fCode = c;
- }
-
- @Override
- public int getCommand() {
- return fCode;
- }
-
-} \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/relayd/lttngviewerCommands/GetNextIndex.java b/lttng/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/relayd/lttngviewerCommands/GetNextIndex.java
deleted file mode 100644
index 6a4e2fd1a3..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/relayd/lttngviewerCommands/GetNextIndex.java
+++ /dev/null
@@ -1,64 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2014 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:
- * Matthew Khouzam - Initial implementation and API
- * Marc-Andre Laperle - Initial implementation and API
- **********************************************************************/
-
-package org.eclipse.linuxtools.internal.lttng2.control.core.relayd.lttngviewerCommands;
-
-import java.nio.ByteBuffer;
-import java.nio.ByteOrder;
-
-/**
- * VIEWER_GET_NEXT_INDEX payload.
- *
- * @author Matthew Khouzam
- * @since 3.0
- */
-public class GetNextIndex implements IRelayCommand {
-
- /**
- * Command size (fStreamId)
- */
- public static final int SIZE = Long.SIZE / 8;
- /**
- * the id of the stream
- */
- private final long fStreamId;
-
- /**
- * Constructor
- *
- * @param streamId
- * the index stream id
- */
- public GetNextIndex(long streamId) {
- fStreamId = streamId;
- }
-
- /**
- * Gets the stream id
- *
- * @return the stream id
- */
- public long getStreamId() {
- return fStreamId;
- }
-
- @Override
- public byte[] serialize() {
- byte data[] = new byte[SIZE];
- ByteBuffer bb = ByteBuffer.wrap(data);
- bb.order(ByteOrder.BIG_ENDIAN);
- bb.putLong(getStreamId());
- return data;
- }
-
-} \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/relayd/lttngviewerCommands/GetPacket.java b/lttng/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/relayd/lttngviewerCommands/GetPacket.java
deleted file mode 100644
index 172ca30a5b..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/relayd/lttngviewerCommands/GetPacket.java
+++ /dev/null
@@ -1,94 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2014 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:
- * Matthew Khouzam - Initial implementation and API
- * Marc-Andre Laperle - Initial implementation and API
- **********************************************************************/
-
-package org.eclipse.linuxtools.internal.lttng2.control.core.relayd.lttngviewerCommands;
-
-import java.nio.ByteBuffer;
-import java.nio.ByteOrder;
-
-/**
- * VIEWER_GET_PACKET payload.
- *
- * @author Matthew Khouzam
- * @since 3.0
- */
-public class GetPacket implements IRelayCommand {
-
- /**
- * Command size
- *
- * fStreamId + fOffset + fLength
- */
- public static final int SIZE = (Long.SIZE + Long.SIZE + Integer.SIZE) / 8;
- /** the stream Id */
- private final long fStreamId;
- /** the offset */
- private final long fOffset;
- /** the length of the packet */
- private final int fLength;
-
- /**
- * Get packet constructor
- *
- * @param streamId
- * the stream id
- * @param offset
- * the offset
- * @param length
- * the packet length
- */
- public GetPacket(long streamId, long offset, int length) {
- fStreamId = streamId;
- fOffset = offset;
- fLength = length;
- }
-
- /**
- * Get the length of the packet
- *
- * @return the length of the packet in bytes
- */
- public int getLength() {
- return fLength;
- }
-
- /**
- * Gets the offset of the packet
- *
- * @return the offset
- */
- public long getOffset() {
- return fOffset;
- }
-
- /**
- * Gets the stream id
- *
- * @return the stream id
- */
- public long getStreamId() {
- return fStreamId;
- }
-
- @Override
- public byte[] serialize() {
- byte data[] = new byte[SIZE];
- ByteBuffer bb = ByteBuffer.wrap(data);
- bb.order(ByteOrder.BIG_ENDIAN);
- bb.putLong(getStreamId());
- bb.putLong(getOffset());
- bb.putInt(getLength());
- return data;
- }
-
-} \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/relayd/lttngviewerCommands/GetPacketReturnCode.java b/lttng/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/relayd/lttngviewerCommands/GetPacketReturnCode.java
deleted file mode 100644
index b5fab2b21a..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/relayd/lttngviewerCommands/GetPacketReturnCode.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2014 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:
- * Matthew Khouzam - Initial implementation and API
- * Marc-Andre Laperle - Initial implementation and API
- **********************************************************************/
-
-package org.eclipse.linuxtools.internal.lttng2.control.core.relayd.lttngviewerCommands;
-
-/**
- * Get packet return code
- *
- * @author Matthew Khouzam
- * @since 3.0
- */
-public enum GetPacketReturnCode implements IBaseCommand {
-
- /** Response was OK */
- VIEWER_GET_PACKET_OK(1),
- /** Response was RETRY */
- VIEWER_GET_PACKET_RETRY(2),
- /** Response was ERROR */
- VIEWER_GET_PACKET_ERR(3),
- /** Response was End of File */
- VIEWER_GET_PACKET_EOF(4);
-
- private final int fCode;
-
- private GetPacketReturnCode(int c) {
- fCode = c;
- }
-
- @Override
- public int getCommand() {
- return fCode;
- }
-
-} \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/relayd/lttngviewerCommands/IBaseCommand.java b/lttng/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/relayd/lttngviewerCommands/IBaseCommand.java
deleted file mode 100644
index 905cfa8f6b..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/relayd/lttngviewerCommands/IBaseCommand.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2014 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:
- * Matthew Khouzam - Initial implementation and API
- * Marc-Andre Laperle - Initial implementation and API
- **********************************************************************/
-
-package org.eclipse.linuxtools.internal.lttng2.control.core.relayd.lttngviewerCommands;
-
-/**
- * Instruction to send to relayd
- *
- * @author Matthew Khouzam
- * @since 3.0
- */
-public interface IBaseCommand {
-
- /**
- * gets the numerical value of the command
- *
- * @return the numerical value of the command
- */
- int getCommand();
-} \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/relayd/lttngviewerCommands/IRelayCommand.java b/lttng/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/relayd/lttngviewerCommands/IRelayCommand.java
deleted file mode 100644
index 2a47c05061..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/relayd/lttngviewerCommands/IRelayCommand.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2014 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:
- * Matthew Khouzam - Initial implementation and API
- * Marc-Andre Laperle - Initial implementation and API
- **********************************************************************/
-
-package org.eclipse.linuxtools.internal.lttng2.control.core.relayd.lttngviewerCommands;
-
-
-/**
- * Command sent, needs a getBytes to stream the data
- *
- * @author Matthew Khouzam
- * @since 3.0
- */
-public interface IRelayCommand {
-
- /**
- * Gets a byte array of the command so that it may be streamed
- *
- * @return the byte array of the command
- */
- byte[] serialize();
-} \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/relayd/lttngviewerCommands/IRelayResponse.java b/lttng/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/relayd/lttngviewerCommands/IRelayResponse.java
deleted file mode 100644
index 153349d362..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/relayd/lttngviewerCommands/IRelayResponse.java
+++ /dev/null
@@ -1,24 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2014 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:
- * Matthew Khouzam - Initial implementation and API
- * Marc-Andre Laperle - Initial implementation and API
- **********************************************************************/
-
-package org.eclipse.linuxtools.internal.lttng2.control.core.relayd.lttngviewerCommands;
-
-/**
- * Command response, this will allow sorting commands easier
- *
- * @author Matthew Khouzam
- * @since 3.0
- */
-public interface IRelayResponse {
-
-} \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/relayd/lttngviewerCommands/IndexResponse.java b/lttng/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/relayd/lttngviewerCommands/IndexResponse.java
deleted file mode 100644
index 503ef279c2..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/relayd/lttngviewerCommands/IndexResponse.java
+++ /dev/null
@@ -1,163 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2014 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:
- * Matthew Khouzam - Initial implementation and API
- * Marc-Andre Laperle - Initial implementation and API
- **********************************************************************/
-
-package org.eclipse.linuxtools.internal.lttng2.control.core.relayd.lttngviewerCommands;
-
-import java.io.DataInputStream;
-import java.io.IOException;
-import java.nio.ByteBuffer;
-import java.nio.ByteOrder;
-
-/**
- * An Lttng packet index
- *
- * @author Matthew Khouzam
- * @since 3.0
- */
-public class IndexResponse implements IRelayResponse {
-
- /**
- * Command size
- *
- * Sum of the field sizes / 8 ( 7 longs and 2 ints):
- * fOffset + fPacketSize + fContentSize + fTimestampBegin + fTimestampEnd +
- * fEventsDiscarded + fStreamId + fStatus + fFlags
- */
- public final static int SIZE =
- (Long.SIZE * 7 + Integer.SIZE * 2) / 8;
-
- /** the offset */
- private final long fOffset;
- /** packet_size */
- private final long fPacketSize;
- /** the content size - how much of the packet is used */
- private final long fContentSize;
- /** timestamp of the beginning of the packet */
- private final long fTimestampBegin;
- /** timestamp of the end of the packet */
- private final long fTimestampEnd;
- /** number of discarded events BEFORE this packet */
- private final long fEventsDiscarded;
- /** the CTF stream id */
- private final long fStreamId;
- /** the status of the getNextIndex request */
- private final NextIndexReturnCode fStatus;
- /** whether there are new streams or metadata */
- private final int fFlags;
-
- /**
- * IndexResposne from network
- *
- * @param inNet
- * data input stream
- * @throws IOException
- * network error
- */
- public IndexResponse(DataInputStream inNet) throws IOException {
- byte[] data = new byte[SIZE];
- inNet.readFully(data);
- ByteBuffer bb = ByteBuffer.wrap(data);
- bb.order(ByteOrder.BIG_ENDIAN);
- fOffset = bb.getLong();
- fPacketSize = bb.getLong();
- fContentSize = bb.getLong();
- fTimestampBegin = bb.getLong();
- fTimestampEnd = bb.getLong();
- fEventsDiscarded = bb.getLong();
- fStreamId = bb.getLong();
- fStatus = NextIndexReturnCode.values()[bb.getInt() - 1];
- fFlags = bb.getInt();
- }
-
- /**
- * Gets the offset
- *
- * @return the offset
- */
- public long getOffset() {
- return fOffset;
- }
-
- /**
- * Gets the packet size
- *
- * @return the packet size
- */
- public long getPacketSize() {
- return fPacketSize;
- }
-
- /**
- * Gets the content size - how much of the packet is used
- *
- * @return the content size
- */
- public long getContentSize() {
- return fContentSize;
- }
-
- /**
- * Gets the timestamp of the beginning of the packet
- *
- * @return the timestamp of the beginning of the packet
- */
- public long getTimestampBegin() {
- return fTimestampBegin;
- }
-
- /**
- * Gets the timestamp of the end of the packet
- *
- * @return the timestamp of the end of the packet
- */
- public long getTimestampEnd() {
- return fTimestampEnd;
- }
-
- /**
- * Gets the number of discarded events BEFORE this packet
- *
- * @return the number of discarded events BEFORE this packet
- */
- public long getEventsDiscarded() {
- return fEventsDiscarded;
- }
-
- /**
- * Gets the CTF stream id
- *
- * @return the CTF stream id
- */
- public long getStreamId() {
- return fStreamId;
- }
-
- /**
- * Gets the status
- *
- * @return the status
- */
- public NextIndexReturnCode getStatus() {
- return fStatus;
- }
-
- /**
- * Gets the flags that describe whether there are new streams or metadata
- *
- * @return the flags
- */
- public int getFlags() {
- return fFlags;
- }
-
-} \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/relayd/lttngviewerCommands/ListSessionsResponse.java b/lttng/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/relayd/lttngviewerCommands/ListSessionsResponse.java
deleted file mode 100644
index 5a520912ce..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/relayd/lttngviewerCommands/ListSessionsResponse.java
+++ /dev/null
@@ -1,72 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2014 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:
- * Matthew Khouzam - Initial implementation and API
- * Marc-Andre Laperle - Initial implementation and API
- **********************************************************************/
-
-package org.eclipse.linuxtools.internal.lttng2.control.core.relayd.lttngviewerCommands;
-
-import java.io.DataInputStream;
-import java.io.IOException;
-import java.nio.ByteBuffer;
-import java.nio.ByteOrder;
-import java.util.List;
-
-import com.google.common.collect.ImmutableList;
-import com.google.common.collect.ImmutableList.Builder;
-
-/**
- * VIEWER_LIST_SESSIONS payload.
- *
- * @author Matthew Khouzam
- * @since 3.0
- */
-public class ListSessionsResponse implements IRelayResponse {
-
- /**
- * Response size (nbSessions)
- */
- public static final int PACKET_FIXED_SIZE = Integer.SIZE / 8;
-
- /** the list of sessions */
- private final List<SessionResponse> fSessionList;
-
- /**
- * List Sessions response from network
- *
- * @param inNet
- * the network stream
- * @throws IOException
- * network error
- */
- public ListSessionsResponse(DataInputStream inNet) throws IOException {
- byte[] data = new byte[PACKET_FIXED_SIZE];
- inNet.readFully(data);
- ByteBuffer bb = ByteBuffer.wrap(data);
- bb.order(ByteOrder.BIG_ENDIAN);
- int nbSessions = bb.getInt();
- Builder<SessionResponse> sl = new ImmutableList.Builder<>();
- for (int session = 0; session < nbSessions; session++) {
- sl.add(new SessionResponse(inNet));
- }
- fSessionList = sl.build();
- }
-
- /**
- * Gets the session list
- *
- * @return the sessions list
- */
- public List<SessionResponse> getSessionsList() {
- return fSessionList;
- }
-
-
-} \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/relayd/lttngviewerCommands/LttngViewerCommands.java b/lttng/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/relayd/lttngviewerCommands/LttngViewerCommands.java
deleted file mode 100644
index 45b246c9a9..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/relayd/lttngviewerCommands/LttngViewerCommands.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2014 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:
- * Matthew Khouzam - Initial implementation
- **********************************************************************/
-
-package org.eclipse.linuxtools.internal.lttng2.control.core.relayd.lttngviewerCommands;
-
-/**
- * LTTng Relay Daemon API. needs a TCP connection, API is defined from
- * BSD-licensed implementation in Lttng tools: <a href=
- * "http://git.lttng.org/?p=lttng-tools.git;a=blob;f=src/bin/lttng-relayd/lttng-viewer-abi.h"
- * > src/bin/lttng-relayd/lttng-viewer-abi.h</a>
- *
- * @author Matthew Khouzam
- * @since 3.0
- */
-public interface LttngViewerCommands {
-
- /** Maximum path name length */
- static final int LTTNG_VIEWER_PATH_MAX = 4096;
- /** Maximum name length */
- static final int LTTNG_VIEWER_NAME_MAX = 255;
- /** Maximum host name length */
- static final int LTTNG_VIEWER_HOST_NAME_MAX = 64;
- /** New stream in the trace */
- static final int NEW_STREAM = (1 << 1);
- /** New metadata in the trace */
- static final int NEW_METADATA = (1 << 0);
-
-}
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/relayd/lttngviewerCommands/MetadataPacketResponse.java b/lttng/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/relayd/lttngviewerCommands/MetadataPacketResponse.java
deleted file mode 100644
index 97345def93..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/relayd/lttngviewerCommands/MetadataPacketResponse.java
+++ /dev/null
@@ -1,79 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2014 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:
- * Matthew Khouzam - Initial implementation and API
- * Marc-Andre Laperle - Initial implementation and API
- **********************************************************************/
-
-package org.eclipse.linuxtools.internal.lttng2.control.core.relayd.lttngviewerCommands;
-
-import java.io.DataInputStream;
-import java.io.IOException;
-import java.nio.ByteBuffer;
-import java.nio.ByteOrder;
-
-/**
- * Metadata packet response containing a packet of metadata
- *
- * @author Matthew Khouzam
- * @since 3.0
- */
-public class MetadataPacketResponse implements IRelayResponse {
-
- /**
- * Response size
- *
- * fData.length + fStatus
- */
- private static final int SIZE = (Long.SIZE + Integer.SIZE) / 8;
- /** status of the metadata request */
- private final GetMetadataReturnCode fStatus;
- /** the packet */
- private final byte fData[];
-
- /**
- * Read new metadata packet from the network
- *
- * @param inNet
- * network input reader
- * @throws IOException
- * network error
- */
- public MetadataPacketResponse(DataInputStream inNet) throws IOException {
- byte[] data = new byte[SIZE];
- inNet.readFully(data);
- ByteBuffer bb = ByteBuffer.wrap(data);
- bb.order(ByteOrder.BIG_ENDIAN);
- long length = bb.getLong();
- fStatus = GetMetadataReturnCode.values()[bb.getInt() - 1];
- if (length >= Integer.MAX_VALUE) {
- throw new IOException("Metadata Packet too big " + length); //$NON-NLS-1$
- }
- fData = new byte[(int) length];
- inNet.readFully(fData);
- }
-
- /**
- * Get the packet
- *
- * @return the packet
- */
- public byte[] getData() {
- return fData;
- }
-
- /**
- * Gets the status
- *
- * @return the status
- */
- public GetMetadataReturnCode getStatus() {
- return fStatus;
- }
-} \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/relayd/lttngviewerCommands/NewStreamsRequest.java b/lttng/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/relayd/lttngviewerCommands/NewStreamsRequest.java
deleted file mode 100644
index e33691e05f..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/relayd/lttngviewerCommands/NewStreamsRequest.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2014 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:
- * Matthew Khouzam - Initial implementation and API
- * Marc-Andre Laperle - Initial implementation and API
- **********************************************************************/
-
-package org.eclipse.linuxtools.internal.lttng2.control.core.relayd.lttngviewerCommands;
-
-import java.nio.ByteBuffer;
-import java.nio.ByteOrder;
-
-/**
- * LTTNG_VIEWER_GET_NEW_STREAMS payload.
- *
- * @author Matthew Khouzam
- * @since 3.0
- */
-public class NewStreamsRequest implements IRelayCommand {
-
- /**
- * Command size (fSessionId)
- */
- public static final int SIZE = Long.SIZE / 8;
-
- /** session ID */
- private final long fSessionId;
-
- /**
- * Constructor
- *
- * @param sessionId
- * the session id we want
- */
- public NewStreamsRequest(long sessionId) {
- fSessionId = sessionId;
- }
-
- @Override
- public byte[] serialize() {
- byte data[] = new byte[SIZE];
- ByteBuffer bb = ByteBuffer.wrap(data);
- bb.order(ByteOrder.BIG_ENDIAN);
- bb.putLong(fSessionId);
- return data;
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/relayd/lttngviewerCommands/NewStreamsResponse.java b/lttng/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/relayd/lttngviewerCommands/NewStreamsResponse.java
deleted file mode 100644
index f107c1f51b..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/relayd/lttngviewerCommands/NewStreamsResponse.java
+++ /dev/null
@@ -1,96 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2014 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:
- * Matthew Khouzam - Initial implementation and API
- * Marc-Andre Laperle - Initial implementation and API
- **********************************************************************/
-
-package org.eclipse.linuxtools.internal.lttng2.control.core.relayd.lttngviewerCommands;
-
-import java.io.DataInputStream;
-import java.io.IOException;
-import java.nio.ByteBuffer;
-import java.nio.ByteOrder;
-import java.util.List;
-
-import com.google.common.collect.ImmutableList;
-
-/**
- * Response to a "new streams" command
- *
- * @author Matthew Khouzam
- * @since 3.0
- */
-public class NewStreamsResponse implements IRelayResponse {
-
- /**
- * Response size
- *
- * fStatus + fNbStreams
- */
- private static final int SIZE = (Integer.SIZE + Integer.SIZE) / 8;
- /** status of the request */
- private final NewStreamsReturnCode fStatus;
- /** the number of streams */
- private final int fNbStreams;
- /** the list of streams in the response */
- private final List<StreamResponse> fStreamList;
-
- /**
- * New stream response network constructor
- *
- * @param inNet
- * network stream
- * @throws IOException
- * network error
- */
- public NewStreamsResponse(DataInputStream inNet) throws IOException {
- byte[] data = new byte[SIZE];
- inNet.readFully(data);
- ByteBuffer bb = ByteBuffer.wrap(data);
- bb.order(ByteOrder.BIG_ENDIAN);
- fStatus = NewStreamsReturnCode.values()[bb.getInt() - 1];
- fNbStreams = bb.getInt();
- ImmutableList.Builder<StreamResponse> sl = new ImmutableList.Builder<>();
- if (getStatus().equals(NewStreamsReturnCode.LTTNG_VIEWER_NEW_STREAMS_OK)) {
- for (int stream = 0; stream < fNbStreams; stream++) {
- sl.add(new StreamResponse(inNet));
- }
- }
- fStreamList = sl.build();
- }
-
- /**
- * Gets the status
- *
- * @return the status
- */
- public NewStreamsReturnCode getStatus() {
- return fStatus;
- }
-
- /**
- * gets the stream list
- *
- * @return the stream list
- */
- public List<StreamResponse> getStreamList() {
- return fStreamList;
- }
-
- /**
- * The number of streams
- *
- * @return the number of streams
- */
- public int getNbStreams() {
- return fNbStreams;
- }
-
-} \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/relayd/lttngviewerCommands/NewStreamsReturnCode.java b/lttng/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/relayd/lttngviewerCommands/NewStreamsReturnCode.java
deleted file mode 100644
index 7bb534c987..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/relayd/lttngviewerCommands/NewStreamsReturnCode.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2014 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:
- * Matthew Khouzam - Initial implementation and API
- * Marc-Andre Laperle - Initial implementation and API
- **********************************************************************/
-
-package org.eclipse.linuxtools.internal.lttng2.control.core.relayd.lttngviewerCommands;
-
-/**
- * Return codes for "new streams" command
- *
- * @author Matthew Khouzam
- * @since 3.0
- */
-public enum NewStreamsReturnCode implements IBaseCommand {
-
- /** If new streams are being sent. */
- LTTNG_VIEWER_NEW_STREAMS_OK(1),
- /** If no new streams are available. */
- LTTNG_VIEWER_NEW_STREAMS_NO_NEW(2),
- /** Error. */
- LTTNG_VIEWER_NEW_STREAMS_ERR(3),
- /** Session closed. */
- LTTNG_VIEWER_NEW_STREAMS_HUP(4);
-
- private final int fCode;
-
- private NewStreamsReturnCode(int c) {
- fCode = c;
- }
-
- @Override
- public int getCommand() {
- return fCode;
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/relayd/lttngviewerCommands/NextIndexReturnCode.java b/lttng/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/relayd/lttngviewerCommands/NextIndexReturnCode.java
deleted file mode 100644
index 6345ac5436..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/relayd/lttngviewerCommands/NextIndexReturnCode.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2014 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:
- * Matthew Khouzam - Initial implementation and API
- * Marc-Andre Laperle - Initial implementation and API
- **********************************************************************/
-
-package org.eclipse.linuxtools.internal.lttng2.control.core.relayd.lttngviewerCommands;
-
-/**
- * Get next index return code (hope it's viewer_index_ok)
- *
- * @author Matthew Khouzam
- * @since 3.0
- */
-public enum NextIndexReturnCode implements IBaseCommand {
-
- /** Index is available. */
- VIEWER_INDEX_OK(1),
- /** Index not yet available. */
- VIEWER_INDEX_RETRY(2),
- /** Index closed (trace destroyed). */
- VIEWER_INDEX_HUP(3),
- /** Unknown error. */
- VIEWER_INDEX_ERR(4),
- /** Inactive stream beacon. */
- VIEWER_INDEX_INACTIVE(5),
- /** End of index file. */
- VIEWER_INDEX_EOF(6);
-
- private final int fCode;
-
- private NextIndexReturnCode(int c) {
- fCode = c;
- }
-
- @Override
- public int getCommand() {
- return fCode;
- }
-} \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/relayd/lttngviewerCommands/SeekCommand.java b/lttng/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/relayd/lttngviewerCommands/SeekCommand.java
deleted file mode 100644
index 8e90cf40b8..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/relayd/lttngviewerCommands/SeekCommand.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2014 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:
- * Matthew Khouzam - Initial implementation and API
- * Marc-Andre Laperle - Initial implementation and API
- **********************************************************************/
-
-package org.eclipse.linuxtools.internal.lttng2.control.core.relayd.lttngviewerCommands;
-
-/**
- * Seek command
- *
- * @author Matthew Khouzam
- * @since 3.0
- */
-public enum SeekCommand implements IBaseCommand {
-
- /** Receive the trace packets from the beginning. */
- VIEWER_SEEK_BEGINNING(1),
- /** Receive the trace packets from now. */
- VIEWER_SEEK_LAST(2);
-
- private final int fCode;
-
- /**
- * Command size (fCode)
- */
- public static final int SIZE = Integer.SIZE / 8;
-
- private SeekCommand(int c) {
- fCode = c;
- }
-
- @Override
- public int getCommand() {
- return fCode;
- }
-} \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/relayd/lttngviewerCommands/SessionResponse.java b/lttng/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/relayd/lttngviewerCommands/SessionResponse.java
deleted file mode 100644
index e91bbe3767..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/relayd/lttngviewerCommands/SessionResponse.java
+++ /dev/null
@@ -1,128 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2014 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:
- * Matthew Khouzam - Initial implementation and API
- * Marc-Andre Laperle - Initial implementation and API
- **********************************************************************/
-
-package org.eclipse.linuxtools.internal.lttng2.control.core.relayd.lttngviewerCommands;
-
-import java.io.DataInputStream;
-import java.io.IOException;
-import java.nio.ByteBuffer;
-import java.nio.ByteOrder;
-
-/**
- * Get viewer session response to command
- *
- * @author Matthew Khouzam
- * @since 3.0
- */
-public class SessionResponse implements IRelayResponse {
-
- /**
- * Response size
- *
- * fHostname + fSessionName + fId + fLiveTimer + fClients + fStreams
- */
- public static final int SIZE =
- LttngViewerCommands.LTTNG_VIEWER_HOST_NAME_MAX + LttngViewerCommands.LTTNG_VIEWER_NAME_MAX + (Long.SIZE + Integer.SIZE + Integer.SIZE + Integer.SIZE) / 8;
- /** id of the session */
- private final long fId;
- /** live timer */
- private final int fLiveTimer;
- /** number of clients */
- private final int fClients;
- /** number streams */
- private final int fStreams;
- /** Hostname, like 'localhost' */
- private final String fHostname;
- /** Session name, like 'streaming session' */
- private final String fSessionName;
-
- /**
- * Session response network constructor
- *
- * @param inNet
- * input network stream
- * @throws IOException
- * network error
- */
- public SessionResponse(DataInputStream inNet) throws IOException {
- byte[] data = new byte[SIZE];
- inNet.readFully(data);
- ByteBuffer bb = ByteBuffer.wrap(data);
- bb.order(ByteOrder.BIG_ENDIAN);
- fId = bb.getLong();
- fLiveTimer = bb.getInt();
- fClients = bb.getInt();
- fStreams = bb.getInt();
- byte[] hostName = new byte[LttngViewerCommands.LTTNG_VIEWER_HOST_NAME_MAX];
- byte[] sessionName = new byte[LttngViewerCommands.LTTNG_VIEWER_NAME_MAX];
- bb.get(hostName, 0, hostName.length);
- bb.get(sessionName, 0, sessionName.length);
- fHostname = new String(hostName);
- fSessionName = new String(sessionName);
- }
-
- /**
- * Gets the id of the session
- *
- * @return the id of the session
- */
- public long getId() {
- return fId;
- }
-
- /**
- * Gets the live timer
- *
- * @return the live timer
- */
- public int getLiveTimer() {
- return fLiveTimer;
- }
-
- /**
- * Gets the number of clients
- *
- * @return the number of clients
- */
- public int getClients() {
- return fClients;
- }
-
- /**
- * Gets the number streams
- *
- * @return the number streams
- */
- public int getStreams() {
- return fStreams;
- }
-
- /**
- * Gets the Hostname
- *
- * @return the Hostname
- */
- public String getHostname() {
- return fHostname;
- }
-
- /**
- * Gets the session name
- *
- * @return the session name
- */
- public String getSessionName() {
- return fSessionName;
- }
-
-} \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/relayd/lttngviewerCommands/StreamResponse.java b/lttng/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/relayd/lttngviewerCommands/StreamResponse.java
deleted file mode 100644
index d19303cc1a..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/relayd/lttngviewerCommands/StreamResponse.java
+++ /dev/null
@@ -1,127 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2014 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:
- * Matthew Khouzam - Initial implementation and API
- * Marc-Andre Laperle - Initial implementation and API
- **********************************************************************/
-
-package org.eclipse.linuxtools.internal.lttng2.control.core.relayd.lttngviewerCommands;
-
-import java.io.DataInputStream;
-import java.io.IOException;
-import java.nio.ByteBuffer;
-import java.nio.ByteOrder;
-
-/**
- * Get response of viewer stream
- *
- * @author Matthew Khouzam
- * @since 3.0
- */
-public class StreamResponse implements IRelayResponse {
-
- /**
- * Response size
- *
- * fId + fCtfTraceId + fMetadataFlag + fPathName + fChannelName
- */
- public static final int SIZE = (Long.SIZE + Long.SIZE + Integer.SIZE) / 8 + LttngViewerCommands.LTTNG_VIEWER_PATH_MAX + LttngViewerCommands.LTTNG_VIEWER_NAME_MAX;
-
- /**
- * id of the stream
- */
- private final long fId;
- /**
- * It is guaranteed to be unique, because the value is assigned sequentially
- * by the relay.
- */
- private final long fCtfTraceId;
- /**
- * if the stream is a metadata stream
- */
- private final int fMetadataFlag;
- /**
- * the path
- */
- private final String fPathName;
- /**
- * The channel, traditionally channel0
- */
- private final String fChannelName;
-
- /**
- * Stream response
- *
- * @param inNet
- * input data stream
- * @throws IOException
- * network time
- */
- public StreamResponse(DataInputStream inNet) throws IOException {
- byte[] streamData = new byte[SIZE];
- inNet.readFully(streamData, 0, SIZE);
- ByteBuffer bb = ByteBuffer.wrap(streamData);
- bb.order(ByteOrder.BIG_ENDIAN);
- fId = (bb.getLong());
- fCtfTraceId = bb.getLong();
- fMetadataFlag = bb.getInt();
- byte pathName[] = new byte[LttngViewerCommands.LTTNG_VIEWER_PATH_MAX];
- byte channelName[] = new byte[LttngViewerCommands.LTTNG_VIEWER_NAME_MAX];
- bb.get(pathName, 0, LttngViewerCommands.LTTNG_VIEWER_PATH_MAX);
- bb.get(channelName, 0, LttngViewerCommands.LTTNG_VIEWER_NAME_MAX);
- fPathName = new String(pathName);
- fChannelName = new String(channelName);
- }
-
- /**
- * Get the id
- *
- * @return the Id
- */
- public long getId() {
- return fId;
- }
-
- /**
- * Get the CtfTraceId
- *
- * @return the CtfTraceId
- */
- public long getCtfTraceId() {
- return fCtfTraceId;
- }
-
- /**
- * Get the metadata flag
- *
- * @return the MetadataFlag
- */
- public int getMetadataFlag() {
- return fMetadataFlag;
- }
-
- /**
- * Get the path name
- *
- * @return the PathName
- */
- public String getPathName() {
- return fPathName;
- }
-
- /**
- * get the Channel name
- *
- * @return the ChannelName
- */
- public String getChannelName() {
- return fChannelName;
- }
-
-} \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/relayd/lttngviewerCommands/TracePacketResponse.java b/lttng/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/relayd/lttngviewerCommands/TracePacketResponse.java
deleted file mode 100644
index 719bb27b8f..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/relayd/lttngviewerCommands/TracePacketResponse.java
+++ /dev/null
@@ -1,93 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2014 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:
- * Matthew Khouzam - Initial implementation and API
- * Marc-Andre Laperle - Initial implementation and API
- **********************************************************************/
-
-package org.eclipse.linuxtools.internal.lttng2.control.core.relayd.lttngviewerCommands;
-
-import java.io.DataInputStream;
-import java.io.IOException;
-import java.nio.ByteBuffer;
-import java.nio.ByteOrder;
-
-/**
- * Response to getpacket command
- *
- * @author Matthew Khouzam
- * @since 3.0
- */
-public class TracePacketResponse implements IRelayResponse {
-
- /**
- * Command size
- *
- * fStatus + fData.length + fFlags
- */
- private static final int SIZE = (Integer.SIZE + Integer.SIZE + Integer.SIZE) / 8;
- /** Enum lttng_viewer_get_packet_return_code */
- private final GetPacketReturnCode fStatus;
- /** flags: is there new metadata or new streams? */
- private final int fFlags;
- /** the packet */
- private final byte[] fData;
-
- /**
- * Trace packet response network constructor
- *
- * @param inNet
- * network input stream
- * @throws IOException
- * network error
- */
- public TracePacketResponse(DataInputStream inNet) throws IOException {
- byte[] data = new byte[SIZE];
- inNet.readFully(data);
- ByteBuffer bb = ByteBuffer.wrap(data);
- bb.order(ByteOrder.BIG_ENDIAN);
- fStatus = GetPacketReturnCode.values()[bb.getInt() - 1];
- int length = bb.getInt();
- fFlags = bb.getInt();
- if (fStatus.equals(GetPacketReturnCode.VIEWER_GET_PACKET_OK)) {
- fData = new byte[length];
- inNet.readFully(fData);
- } else {
- fData = new byte[0];
- }
- }
-
- /**
- * Get the status
- *
- * @return the Status
- */
- public GetPacketReturnCode getStatus() {
- return fStatus;
- }
-
- /**
- * Get the flags
- *
- * @return the Flags
- */
- public int getFlags() {
- return fFlags;
- }
-
- /**
- * Get the packet data, please do not modify the data
- *
- * @return the Data
- */
- public byte[] getData() {
- return fData;
- }
-
-} \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/relayd/lttngviewerCommands/ViewerCommand.java b/lttng/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/relayd/lttngviewerCommands/ViewerCommand.java
deleted file mode 100644
index c8c4f8d89a..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/relayd/lttngviewerCommands/ViewerCommand.java
+++ /dev/null
@@ -1,96 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2014 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:
- * Matthew Khouzam - Initial implementation and API
- * Marc-Andre Laperle - Initial implementation and API
- **********************************************************************/
-
-package org.eclipse.linuxtools.internal.lttng2.control.core.relayd.lttngviewerCommands;
-
-import java.nio.ByteBuffer;
-import java.nio.ByteOrder;
-
-/**
- * The LTTng command
- *
- * @author Matthew Khouzam
- * @since 3.0
- */
-public class ViewerCommand implements IRelayCommand {
-
- /**
- * Command size
- *
- * fDataSize + fCmdVersion + fCmd
- */
- public static final int SIZE = (Long.SIZE + Integer.SIZE) / 8 + Command.SIZE;
- /**
- * data size following this header, you normally attach a payload that one,
- * in bytes
- */
- private final long fDataSize;
- /** enum lttcomm_relayd_command */
- private final Command fCmd;
- /** command version */
- private final int fCmdVersion;
-
- /**
- * Sets the packet command
- *
- * @param viewerConnect
- * the command
- * @param size size of the command
- * @param version the version number
- */
- public ViewerCommand(Command viewerConnect, long size, int version) {
- fCmd = viewerConnect;
- fDataSize = size;
- fCmdVersion = version;
- }
-
- /**
- * Get the data size
- *
- * @return the DataSize
- */
- public long getDataSize() {
- return fDataSize;
- }
-
- /**
- * Get the command
- *
- * @return the Cmd
- */
- public Command getCmd() {
- return fCmd;
- }
-
- /**
- * Get the command version
- *
- * @return the CmdVersion
- */
- public int getCmdVersion() {
- return fCmdVersion;
- }
-
- @Override
- public byte[] serialize() {
- byte data[] = new byte[SIZE];
- ByteBuffer bb = ByteBuffer.wrap(data);
- bb.order(ByteOrder.BIG_ENDIAN);
- bb.putLong(getDataSize());
- bb.putInt(getCmd().getCommand());
- bb.putInt(fCmdVersion);
- return data;
- }
-
-
-} \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/lttng2/control/core/session/Messages.java b/lttng/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/lttng2/control/core/session/Messages.java
deleted file mode 100644
index 2c8bac841a..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/lttng2/control/core/session/Messages.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 École Polytechnique de Montréal
- *
- * 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:
- * Guilliano Molaire - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.lttng2.control.core.session;
-
-import org.eclipse.osgi.util.NLS;
-
-/**
- * Externalized message strings from the lttng2.core.control.session
- *
- * @author Guilliano Molaire
- * @since 3.0
- */
-@SuppressWarnings("javadoc")
-public class Messages extends NLS {
- private static final String BUNDLE_NAME = "org.eclipse.linuxtools.lttng2.control.core.session.messages"; //$NON-NLS-1$
-
- public static String SessionConfigXML_BadRequirementType;
- public static String SessionConfigXML_DomainTypeMissing;
- public static String SessionConfigXML_EventTypeMissing;
- public static String SessionConfigXML_InvalidSessionInfoList;
- public static String SessionConfigXML_InvalidTraceSessionPath;
- public static String SessionConfigXML_UnknownEventType;
- public static String SessionConfigXML_UnknownDomainBufferType;
- public static String SessionConfigXML_SessionConfigGenerationError;
- public static String SessionConfigXML_XmlParseError;
- public static String SessionConfigXML_XmlValidateError;
- public static String SessionConfigXML_XmlValidationError;
-
- static {
- // initialize resource bundle
- NLS.initializeMessages(BUNDLE_NAME, Messages.class);
- }
-
- private Messages() {
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/lttng2/control/core/session/SessionConfigGenerator.java b/lttng/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/lttng2/control/core/session/SessionConfigGenerator.java
deleted file mode 100644
index dcb59bc7f1..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/lttng2/control/core/session/SessionConfigGenerator.java
+++ /dev/null
@@ -1,539 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2014 École Polytechnique de Montréal
- *
- * 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:
- * Guilliano Molaire - Initial API and implementation
- *********************************************************************/
-package org.eclipse.linuxtools.lttng2.control.core.session;
-
-import java.io.File;
-import java.io.IOException;
-import java.net.URL;
-import java.util.Set;
-
-import javax.xml.XMLConstants;
-import javax.xml.parsers.DocumentBuilder;
-import javax.xml.parsers.DocumentBuilderFactory;
-import javax.xml.parsers.ParserConfigurationException;
-import javax.xml.transform.OutputKeys;
-import javax.xml.transform.Source;
-import javax.xml.transform.Transformer;
-import javax.xml.transform.TransformerException;
-import javax.xml.transform.TransformerFactory;
-import javax.xml.transform.dom.DOMSource;
-import javax.xml.transform.stream.StreamResult;
-import javax.xml.transform.stream.StreamSource;
-import javax.xml.validation.Schema;
-import javax.xml.validation.SchemaFactory;
-import javax.xml.validation.Validator;
-
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.linuxtools.internal.lttng2.control.core.Activator;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.IChannelInfo;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.IDomainInfo;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.IEventInfo;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.ISessionInfo;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.TraceEnablement;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.TraceEventType;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.TraceLogLevel;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.TraceSessionState;
-import org.eclipse.osgi.util.NLS;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.xml.sax.SAXException;
-import org.xml.sax.SAXParseException;
-
-/**
- * Class for generating a session configuration file. A session configuration is
- * used to configure a trace session. It is a XML formatted file that contains
- * values defining the behavior of that specific trace session.
- * <p>
- * Kernel session configuration example:
- *
- * <pre>
- * {@code
- * <sessions>
- * <session>
- * <name>test_kernel</name>
- * <domains>
- * <domain>
- * <type>KERNEL</type>
- * <buffer_type>GLOBAL</buffer_type>
- * <channels>
- * <channel>
- * <name>channel0</name>
- * <enabled>false</enabled>
- * <overwrite_mode>DISCARD</overwrite_mode>
- * <subbuffer_size>262144</subbuffer_size>
- * <subbuffer_count>4</subbuffer_count>
- * <switch_timer_interval>0</switch_timer_interval>
- * <read_timer_interval>200000</read_timer_interval>
- * <output_type>SPLICE</output_type>
- * <tracefile_size>0</tracefile_size>
- * <tracefile_count>0</tracefile_count>
- * <live_timer_interval>0</live_timer_interval>
- * <events>
- * <event>
- * <enabled>true</enabled>
- * <type>SYSCALL</type>
- * </event>
- * <event>
- * <name>snd_soc_cache_sync</name>
- * <enabled>true</enabled>
- * <type>TRACEPOINT</type>
- * </event>
- * </events>
- * </channel>
- * </channels>
- * </domain>
- * </domains>
- * <started>false</started>
- * <output>
- * <consumer_output>
- * <enabled>true</enabled>
- * <destination>
- * <path>/home/user/lttng-traces/test_kernel</path>
- * </destination>
- * </consumer_output>
- * </output>
- * </session>
- * </sessions>
- * }
- * </pre>
- *
- * </p>
- *
- * @author Guilliano Molaire
- * @since 3.0
- */
-public final class SessionConfigGenerator {
-
- /** The name of the session schema */
- private static final String SESSION_XSD_FILENAME = "session.xsd"; //$NON-NLS-1$
-
- /** The indent size used for the session configuration XML file */
- private static final String INDENT_AMOUNT_PROPERTY_NAME = "{http://xml.apache.org/xslt}indent-amount"; //$NON-NLS-1$
- private static final String INDENT_AMOUNT_PROPERTY_VALUE = "4"; //$NON-NLS-1$
-
- /**
- * Private constructor. The class should not be instantiated.
- */
- private SessionConfigGenerator() {
- }
-
- // ---------------------------------------------------------
- // Methods to generate session configuration files
- // ---------------------------------------------------------
-
- /**
- * Generates a session configuration file from a set of session information.
- *
- * @param sessions
- * The session informations
- * @param sessionFileDestination
- * The path of the locally saved session configuration file
- * @return The status of the session configuration generation
- */
- public static IStatus generateSessionConfig(Set<ISessionInfo> sessions, IPath sessionFileDestination) {
- /* Parameters validation */
- if (sessions == null || sessions.isEmpty()) {
- return new Status(IStatus.ERROR, Activator.PLUGIN_ID, Messages.SessionConfigXML_InvalidSessionInfoList);
- } else if (sessionFileDestination == null) {
- return new Status(IStatus.ERROR, Activator.PLUGIN_ID, Messages.SessionConfigXML_InvalidTraceSessionPath);
- }
-
- /* Generate the session configuration file */
- try {
- Document sessionConfigDocument = generateSessionConfig(sessions);
-
- if (sessionConfigDocument != null) {
- saveSessionConfig(sessionConfigDocument, sessionFileDestination.toString());
- } else {
- return new Status(IStatus.ERROR, Activator.PLUGIN_ID, Messages.SessionConfigXML_SessionConfigGenerationError);
- }
- } catch (TransformerException | IllegalArgumentException | ParserConfigurationException e) {
- Activator.getDefault().logError("Error generating the session configuration file: " + sessionFileDestination.toString(), e); //$NON-NLS-1$
- return new Status(IStatus.ERROR, Activator.PLUGIN_ID, e.getMessage());
- }
-
- return Status.OK_STATUS;
- }
-
- /**
- * Generates a session configuration from a set of session informations.
- *
- * @param sessions
- * The session informations
- * @return The document with all session configuration nodes
- * @throws IllegalArgumentException
- * On an illegal argument inside sessions
- * @throws ParserConfigurationException
- * On an parser configuration error
- */
- private static Document generateSessionConfig(Iterable<ISessionInfo> sessions) throws IllegalArgumentException, ParserConfigurationException {
- DocumentBuilderFactory docFactory = DocumentBuilderFactory.newInstance();
- DocumentBuilder docBuilder = docFactory.newDocumentBuilder();
-
- Document document = docBuilder.newDocument();
-
- Element rootElement = document.createElement(SessionConfigStrings.CONFIG_ELEMENT_SESSIONS);
- document.appendChild(rootElement);
-
- for (ISessionInfo session : sessions) {
- /* All elements under "sessions" elements */
- Element sessionElement = document.createElement(SessionConfigStrings.CONFIG_ELEMENT_SESSION);
-
- /* Contents of session element */
- String enabled = session.getSessionState().equals(TraceSessionState.ACTIVE) ? SessionConfigStrings.CONFIG_STRING_TRUE : SessionConfigStrings.CONFIG_STRING_FALSE;
-
- addElementContent(document, sessionElement, SessionConfigStrings.CONFIG_ELEMENT_NAME, session.getName());
- addElementContent(document, sessionElement, SessionConfigStrings.CONFIG_ELEMENT_STARTED, enabled);
-
- if (session.isSnapshotSession()) {
- /* If it's a snapshot, we must add an attribute telling it is */
- Element attributesElement = document.createElement(SessionConfigStrings.CONFIG_ELEMENT_ATTRIBUTES);
- addElementContent(document, attributesElement, SessionConfigStrings.CONFIG_ELEMENT_SNAPSHOT_MODE, SessionConfigStrings.CONFIG_STRING_TRUE);
- sessionElement.appendChild(attributesElement);
- }
-
- sessionElement.appendChild(getDomainsElement(document, session));
- sessionElement.appendChild(getOutputElement(document, session));
- rootElement.appendChild(sessionElement);
- }
-
- return document;
- }
-
- // ---------------------------------------------------------
- // Getters for each element of the configuration file
- // ---------------------------------------------------------
-
- /**
- * Gets the 'domains' element after creating it.
- *
- * @param document
- * The document in which the nodes are being added
- * @param session
- * The session informations
- * @return The domains element as an XML element
- */
- private static Element getDomainsElement(Document document, ISessionInfo session) {
- Element domainsElement = document.createElement(SessionConfigStrings.CONFIG_ELEMENT_DOMAINS);
-
- for (IDomainInfo domain : session.getDomains()) {
- Element domainElement = document.createElement(SessionConfigStrings.CONFIG_ELEMENT_DOMAIN);
-
- /*
- * Add everything specific to a domain
- *
- * TODO: We suppose here that domain is either kernel or UST. It
- * will have to change if other domains are supported
- */
- String domainType = domain.isKernel() ? SessionConfigStrings.CONFIG_DOMAIN_TYPE_KERNEL : SessionConfigStrings.CONFIG_DOMAIN_TYPE_UST;
- addElementContent(document, domainElement, SessionConfigStrings.CONFIG_ELEMENT_TYPE, domainType);
-
- String bufferType = null;
- switch (domain.getBufferType()) {
- case BUFFER_PER_UID:
- bufferType = SessionConfigStrings.CONFIG_BUFFER_TYPE_PER_UID;
- break;
- case BUFFER_PER_PID:
- bufferType = SessionConfigStrings.CONFIG_BUFFER_TYPE_PER_PID;
- break;
- case BUFFER_SHARED:
- bufferType = SessionConfigStrings.CONFIG_BUFFER_TYPE_GLOBAL;
- break;
- case BUFFER_TYPE_UNKNOWN:
- default:
- throw new IllegalArgumentException(Messages.SessionConfigXML_UnknownDomainBufferType);
- }
- addElementContent(document, domainElement, SessionConfigStrings.CONFIG_ELEMENT_DOMAIN_BUFFER_TYPE, bufferType);
-
- /* Add the channels */
- domainElement.appendChild(getChannelsElement(document, domain.isKernel(), domain.getChannels()));
- domainsElement.appendChild(domainElement);
- }
-
- return domainsElement;
- }
-
- /**
- * Gets the 'output' element after creating it. If the session is a
- * snapshot, it will be composed of a snapshot outputs element. Otherwise,
- * it will contain the consumer output element.
- *
- * @param document
- * The document in which the nodes are being added
- * @param session
- * The session informations
- * @return The output element as an XML node
- */
- private static Element getOutputElement(Document document, ISessionInfo session) {
- Element outputElement = document.createElement(SessionConfigStrings.CONFIG_ELEMENT_OUTPUT);
-
- if (session.isSnapshotSession()) {
- outputElement.appendChild(getSnapshotOuputsElement(document, session));
- } else if (session.isStreamedTrace()) {
- outputElement.appendChild(getNetOutputElement(document, session));
- } else {
- outputElement.appendChild(getConsumerOutputElement(document, session));
- }
-
- return outputElement;
- }
-
- /**
- * Gets the 'channels' element after creating it.
- *
- * @param document
- * The document in which the nodes are being added
- * @param isKernel
- * Is it a kernel domain type
- * @param channels
- * The channels to be added as elements
- * @return The channels element as an XML element
- */
- private static Element getChannelsElement(Document document, boolean isKernel, IChannelInfo[] channels) {
- Element channelsElement = document.createElement(SessionConfigStrings.CONFIG_ELEMENT_CHANNELS);
-
- for (IChannelInfo channel : channels) {
- Element channelElement = document.createElement(SessionConfigStrings.CONFIG_ELEMENT_CHANNEL);
-
- /* Add everything related to a channel */
- addElementContent(document, channelElement, SessionConfigStrings.CONFIG_ELEMENT_NAME, channel.getName());
-
- String overwriteMode = channel.isOverwriteMode() ? SessionConfigStrings.CONFIG_OVERWRITE_MODE_OVERWRITE : SessionConfigStrings.CONFIG_OVERWRITE_MODE_DISCARD;
- String enabled = channel.getState().equals(TraceEnablement.ENABLED) ? SessionConfigStrings.CONFIG_STRING_TRUE : SessionConfigStrings.CONFIG_STRING_FALSE;
-
- addElementContent(document, channelElement, SessionConfigStrings.CONFIG_ELEMENT_ENABLED, enabled);
- addElementContent(document, channelElement, SessionConfigStrings.CONFIG_ELEMENT_OVERWRITE_MODE, overwriteMode);
- addElementContent(document, channelElement, SessionConfigStrings.CONFIG_ELEMENT_SUBBUFFER_SIZE, channel.getSubBufferSize());
- addElementContent(document, channelElement, SessionConfigStrings.CONFIG_ELEMENT_SUBBUFFER_COUNT, channel.getNumberOfSubBuffers());
- addElementContent(document, channelElement, SessionConfigStrings.CONFIG_ELEMENT_SWITCH_TIMER_INTERVAL, channel.getSwitchTimer());
- addElementContent(document, channelElement, SessionConfigStrings.CONFIG_ELEMENT_READ_TIMER_INTERVAL, channel.getReadTimer());
-
- String outputType = channel.getOutputType().getInName().startsWith(SessionConfigStrings.CONFIG_OUTPUT_TYPE_MMAP) ?
- outputType = SessionConfigStrings.CONFIG_OUTPUT_TYPE_MMAP : SessionConfigStrings.CONFIG_OUTPUT_TYPE_SPLICE;
- addElementContent(document, channelElement, SessionConfigStrings.CONFIG_ELEMENT_OUTPUT_TYPE, outputType);
- addElementContent(document, channelElement, SessionConfigStrings.CONFIG_ELEMENT_TRACEFILE_SIZE, channel.getMaxSizeTraceFiles());
- addElementContent(document, channelElement, SessionConfigStrings.CONFIG_ELEMENT_TRACEFILE_COUNT, channel.getMaxNumberTraceFiles());
-
- /*
- * TODO: Replace the 0 value by the channel live timer property from
- * SessionInfo once live session tracing is supported
- */
- addElementContent(document, channelElement, SessionConfigStrings.CONFIG_ELEMENT_LIVE_TIMER_INTERVAL, SessionConfigStrings.CONFIG_STRING_ZERO);
-
- /* Add the events */
- channelElement.appendChild(getEventsElement(document, isKernel, channel.getEvents()));
- channelsElement.appendChild(channelElement);
- }
-
- return channelsElement;
- }
-
- /**
- * Gets the 'events' element after creating it. It is composed of the event
- * informations from a list of IEventInfo.
- *
- * @param document
- * The document in which the nodes are being added
- * @param isKernel
- * Is the domain type kernel
- * @param events
- * The event informations to be added
- * @return An element containing all the event informations as XML elements
- */
- private static Element getEventsElement(Document document, boolean isKernel, IEventInfo[] events) {
- Element eventsElement = document.createElement(SessionConfigStrings.CONFIG_ELEMENT_EVENTS);
-
- for (IEventInfo event : events) {
- Element eventElement = document.createElement(SessionConfigStrings.CONFIG_ELEMENT_EVENT);
-
- /* Enabled attribute */
- String enabled = event.getState().equals(TraceEnablement.ENABLED) ? SessionConfigStrings.CONFIG_STRING_TRUE : SessionConfigStrings.CONFIG_STRING_FALSE;
-
- /* Add the attributes to the event node */
- addElementContent(document, eventElement, SessionConfigStrings.CONFIG_ELEMENT_NAME, event.getName());
- addElementContent(document, eventElement, SessionConfigStrings.CONFIG_ELEMENT_ENABLED, enabled);
- TraceEventType eventType = event.getEventType();
- if (!eventType.equals(TraceEventType.UNKNOWN)) {
- addElementContent(document, eventElement, SessionConfigStrings.CONFIG_ELEMENT_TYPE, eventType.getInName().toUpperCase());
- } else {
- throw new IllegalArgumentException(Messages.SessionConfigXML_UnknownEventType);
- }
-
- /* Specific to UST session config: the log level */
- if (!isKernel && !event.getLogLevel().equals(TraceLogLevel.LEVEL_UNKNOWN)) {
- addElementContent(document, eventElement, SessionConfigStrings.CONFIG_ELEMENT_LOGLEVEL, event.getLogLevel().ordinal());
- }
-
- /* Add the node to the parent node events */
- eventsElement.appendChild(eventElement);
- }
-
- return eventsElement;
- }
-
- /**
- * Gets the 'consumer_output' element after creating it.
- *
- * @param document
- * The document in which the nodes are being added
- * @param session
- * The session informations
- * @return The consumer output element with his informations as XML elements
- */
- private static Element getConsumerOutputElement(Document document, ISessionInfo session) {
- Element consumerOutputElement = document.createElement(SessionConfigStrings.CONFIG_ELEMENT_CONSUMER_OUTPUT);
- Element destinationElement = document.createElement(SessionConfigStrings.CONFIG_ELEMENT_DESTINATION);
-
- /* Value of consumer output element */
- addElementContent(document, consumerOutputElement, SessionConfigStrings.CONFIG_ELEMENT_ENABLED, SessionConfigStrings.CONFIG_STRING_TRUE);
-
- if (session.isStreamedTrace()) {
- /* If it is a streamed session, add the net output element */
- destinationElement.appendChild(getNetOutputElement(document, session));
- } else {
- addElementContent(document, destinationElement, SessionConfigStrings.CONFIG_ELEMENT_PATH, session.getSessionPath());
- }
-
- consumerOutputElement.appendChild(destinationElement);
- return consumerOutputElement;
- }
-
- /**
- * Gets the 'net_output' element after creating it. It is composed of the
- * control and data URIs.
- *
- * @param document
- * The document in which the nodes are being added
- * @param session
- * The session informations
- * @return The net output element
- */
- private static Element getNetOutputElement(Document document, ISessionInfo session) {
- Element netOutputElement = document.createElement(SessionConfigStrings.CONFIG_ELEMENT_NET_OUTPUT);
-
- String networkUrl = session.getNetworkUrl();
- String controlUri = networkUrl == null ? session.getControlUrl() : networkUrl;
- String dataUri = networkUrl == null ? session.getDataUrl() : networkUrl;
- addElementContent(document, netOutputElement, SessionConfigStrings.CONFIG_ELEMENT_CONTROL_URI, controlUri);
- addElementContent(document, netOutputElement, SessionConfigStrings.CONFIG_ELEMENT_DATA_URI, dataUri);
-
- return netOutputElement;
- }
-
- /**
- * Gets the 'snapshot_outputs' element after creating it.
- *
- * @param document
- * The document in which the nodes are being added
- * @param session
- * The session informations
- * @return The snapshot outputs element with snapshot informations as XML
- * elements
- */
- private static Element getSnapshotOuputsElement(Document document, ISessionInfo session) {
- Element snapshotOutputsElement = document.createElement(SessionConfigStrings.CONFIG_ELEMENT_SNAPSHOT_OUTPUTS);
- Element outputElement = document.createElement(SessionConfigStrings.CONFIG_ELEMENT_OUTPUT);
-
- /* Add the name of the snapshot and the max size element */
- addElementContent(document, outputElement, SessionConfigStrings.CONFIG_ELEMENT_NAME, session.getSnapshotInfo().getName());
-
- /*
- * TODO: find the proper max size value of output element. For now it is
- * set to the default 0 value which means unlimited for lttng.
- */
- addElementContent(document, outputElement, SessionConfigStrings.CONFIG_ELEMENT_MAX_SIZE, SessionConfigStrings.CONFIG_STRING_ZERO);
- outputElement.appendChild(getConsumerOutputElement(document, session));
-
- snapshotOutputsElement.appendChild(outputElement);
- return snapshotOutputsElement;
- }
-
- // ---------------------------------------------------------
- // Utilities
- // ---------------------------------------------------------
-
- /**
- * Validates the session configuration file against its schema.
- *
- * @param sessionFile
- * The session configuration file
- * @return The status of the validation
- */
- public static IStatus sessionValidate(File sessionFile) {
- URL url = SessionConfigGenerator.class.getResource(SESSION_XSD_FILENAME);
- SchemaFactory schemaFactory = SchemaFactory.newInstance(XMLConstants.W3C_XML_SCHEMA_NS_URI);
- Source xmlSource = new StreamSource(sessionFile);
-
- try {
- Schema schema = schemaFactory.newSchema(url);
- Validator validator = schema.newValidator();
- validator.validate(xmlSource);
- } catch (SAXParseException e) {
- String error = NLS.bind(Messages.SessionConfigXML_XmlParseError, e.getLineNumber(), e.getLocalizedMessage());
- Activator.getDefault().logError(error);
- return new Status(IStatus.ERROR, Activator.PLUGIN_ID, error, e);
- } catch (SAXException e) {
- String error = NLS.bind(Messages.SessionConfigXML_XmlValidationError, e.getLocalizedMessage());
- Activator.getDefault().logError(error);
- return new Status(IStatus.ERROR, Activator.PLUGIN_ID, error, e);
- } catch (IOException e) {
- String error = Messages.SessionConfigXML_XmlValidateError;
- Activator.getDefault().logError("IO exception occurred", e); //$NON-NLS-1$
- return new Status(IStatus.ERROR, Activator.PLUGIN_ID, error, e);
- }
- return Status.OK_STATUS;
- }
-
- /**
- * Saves the session configuration into a XML file.
- *
- * @param document
- * The document representing the session configuration file
- * @param destination
- * The path of the locally saved session configuration file
- * @throws TransformerException
- * On an transformation process
- */
- private static void saveSessionConfig(Document document, String destination) throws TransformerException {
- /* Write the content into a XML file */
- TransformerFactory transformerFactory = TransformerFactory.newInstance();
- Transformer transformer = transformerFactory.newTransformer();
-
- transformer.setOutputProperty(OutputKeys.INDENT, "yes"); //$NON-NLS-1$
- transformer.setOutputProperty(INDENT_AMOUNT_PROPERTY_NAME, INDENT_AMOUNT_PROPERTY_VALUE);
-
- DOMSource source = new DOMSource(document);
- StreamResult result = new StreamResult(new File(destination));
-
- transformer.transform(source, result);
- }
-
- /**
- * Adds to a parent node an element with his content.
- *
- * @param document
- * The document in which the nodes are being added
- * @param parent
- * The parent node that contains the element and his content
- * @param elementName
- * The element container name
- * @param elementContent
- * The content itself
- */
- private static void addElementContent(Document document, Element parent, String elementName, Object elementContent) {
- Element contentElement = document.createElement(elementName);
- contentElement.appendChild(document.createTextNode(elementContent.toString()));
- parent.appendChild(contentElement);
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/lttng2/control/core/session/SessionConfigStrings.java b/lttng/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/lttng2/control/core/session/SessionConfigStrings.java
deleted file mode 100644
index 6e3af06cdc..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/lttng2/control/core/session/SessionConfigStrings.java
+++ /dev/null
@@ -1,82 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2014 École Polytechnique de Montréal
- *
- * 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:
- * Guilliano Molaire - Initial API and implementation
- *********************************************************************/
-package org.eclipse.linuxtools.lttng2.control.core.session;
-
-/**
- * This file defines most markers from a session configuration file used to
- * configure a trace session. They can be found in the session configuration
- * schema "session.xsd" in src/common/config/ folder of LTTng-tools.
- *
- * @author Guilliano Molaire
- * @since 3.0
- */
-@SuppressWarnings({ "javadoc", "nls" })
-public interface SessionConfigStrings {
-
- /* Session configuration file extension */
- static final String SESSION_CONFIG_FILE_EXTENSION = "lttng";
-
- /* Elements of the session configuration file */
- static final String CONFIG_ELEMENT_SESSIONS = "sessions";
- static final String CONFIG_ELEMENT_SESSION = "session";
- static final String CONFIG_ELEMENT_DOMAINS = "domains";
- static final String CONFIG_ELEMENT_DOMAIN = "domain";
- static final String CONFIG_ELEMENT_CHANNELS = "channels";
- static final String CONFIG_ELEMENT_CHANNEL = "channel";
- static final String CONFIG_ELEMENT_EVENTS = "events";
- static final String CONFIG_ELEMENT_EVENT = "event";
- static final String CONFIG_ELEMENT_OUTPUT = "output";
- static final String CONFIG_ELEMENT_ATTRIBUTES = "attributes";
- static final String CONFIG_ELEMENT_NET_OUTPUT = "net_output";
- static final String CONFIG_ELEMENT_MAX_SIZE = "max_size";
- static final String CONFIG_ELEMENT_SNAPSHOT_OUTPUTS = "snapshot_outputs";
- static final String CONFIG_ELEMENT_CONSUMER_OUTPUT = "consumer_output";
- static final String CONFIG_ELEMENT_DESTINATION = "destination";
- static final String CONFIG_ELEMENT_CONTROL_URI = "control_uri";
- static final String CONFIG_ELEMENT_DATA_URI = "data_uri";
- static final String CONFIG_ELEMENT_SNAPSHOT_MODE = "snapshot_mode";
- static final String CONFIG_ELEMENT_PATH = "path";
- static final String CONFIG_ELEMENT_NAME = "name";
- static final String CONFIG_ELEMENT_ENABLED = "enabled";
- static final String CONFIG_ELEMENT_TYPE = "type";
- static final String CONFIG_ELEMENT_STARTED = "started";
- static final String CONFIG_ELEMENT_DOMAIN_BUFFER_TYPE = "buffer_type";
- static final String CONFIG_ELEMENT_OVERWRITE_MODE = "overwrite_mode";
- static final String CONFIG_ELEMENT_SUBBUFFER_SIZE = "subbuffer_size";
- static final String CONFIG_ELEMENT_SUBBUFFER_COUNT = "subbuffer_count";
- static final String CONFIG_ELEMENT_SWITCH_TIMER_INTERVAL = "switch_timer_interval";
- static final String CONFIG_ELEMENT_READ_TIMER_INTERVAL = "read_timer_interval";
- static final String CONFIG_ELEMENT_OUTPUT_TYPE = "output_type";
- static final String CONFIG_ELEMENT_TRACEFILE_SIZE = "tracefile_size";
- static final String CONFIG_ELEMENT_TRACEFILE_COUNT = "tracefile_count";
- static final String CONFIG_ELEMENT_LIVE_TIMER_INTERVAL = "live_timer_interval";
- static final String CONFIG_ELEMENT_LOGLEVEL_TYPE = "loglevel_type";
- static final String CONFIG_ELEMENT_LOGLEVEL = "loglevel";
-
- /* Common element values */
- static final String CONFIG_STRING_TRUE = "true";
- static final String CONFIG_STRING_FALSE = "false";
- static final String CONFIG_STRING_ZERO = "0";
-
- static final String CONFIG_DOMAIN_TYPE_KERNEL = "KERNEL";
- static final String CONFIG_DOMAIN_TYPE_UST = "UST";
-
- static final String CONFIG_BUFFER_TYPE_PER_UID = "PER_UID";
- static final String CONFIG_BUFFER_TYPE_PER_PID = "PER_PID";
- static final String CONFIG_BUFFER_TYPE_GLOBAL = "GLOBAL";
-
- static final String CONFIG_OVERWRITE_MODE_DISCARD = "DISCARD";
- static final String CONFIG_OVERWRITE_MODE_OVERWRITE = "OVERWRITE";
-
- static final String CONFIG_OUTPUT_TYPE_SPLICE = "SPLICE";
- static final String CONFIG_OUTPUT_TYPE_MMAP = "MMAP";
-}
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/lttng2/control/core/session/messages.properties b/lttng/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/lttng2/control/core/session/messages.properties
deleted file mode 100644
index c0d252d198..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/lttng2/control/core/session/messages.properties
+++ /dev/null
@@ -1,23 +0,0 @@
-###############################################################################
-# Copyright (c) 2014 École Polytechnique de Montréal
-#
-# 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:
-# Guilliano Molaire - Initial API and implementation
-###############################################################################
-
-SessionConfigXML_BadRequirementType=The requirement type is not supported
-SessionConfigXML_DomainTypeMissing=The domain requirement type is missing
-SessionConfigXML_EventTypeMissing=The event requirement type is missing
-SessionConfigXML_InvalidSessionInfoList=The list of session is empty or null
-SessionConfigXML_InvalidTraceSessionPath=The trace session path is not valid
-SessionConfigXML_UnknownEventType=The event type is not handled by the session configuration
-SessionConfigXML_UnknownDomainBufferType=The domain buffer type is not handled by the session configuration
-SessionConfigXML_SessionConfigGenerationError=An error occurred while generating the session configuration file
-SessionConfigXML_XmlParseError=XML Parsing error at line {0}: {1}
-SessionConfigXML_XmlValidateError=An error occurred while validating the XML file.
-SessionConfigXML_XmlValidationError=Error validating XML file {0}
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/lttng2/control/core/session/session.xsd b/lttng/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/lttng2/control/core/session/session.xsd
deleted file mode 100644
index 7c3e9d8fc6..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/lttng2/control/core/session/session.xsd
+++ /dev/null
@@ -1,295 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-Copyright (c) 2014 - Jérémie Galarneau <jeremie.galarneau@efficios.com>
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-THE SOFTWARE.
--->
-<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
-elementFormDefault="qualified" version="2.5">
-
-<xs:simpleType name="name_type">
- <xs:restriction base="xs:string">
- <xs:maxLength value="255"/>
- </xs:restriction>
-</xs:simpleType>
-
-<xs:simpleType name="uint64_type">
- <xs:restriction base="xs:integer">
- <xs:minInclusive value="0"/>
- <xs:maxInclusive value="18446744073709551615"/>
- </xs:restriction>
-</xs:simpleType>
-
-<xs:simpleType name="uint32_type">
- <xs:restriction base="xs:integer">
- <xs:minInclusive value="0"/>
- <xs:maxInclusive value="4294967295"/>
- </xs:restriction>
-</xs:simpleType>
-
-<xs:simpleType name="channel_overwrite_mode_type">
- <xs:restriction base="xs:string">
- <xs:enumeration value="DISCARD"/>
- <xs:enumeration value="OVERWRITE"/>
- </xs:restriction>
-</xs:simpleType>
-
-<!-- Maps to the lttng_event_output enum -->
-<xs:simpleType name="event_output_type">
- <xs:restriction base="xs:string">
- <xs:enumeration value="SPLICE"/>
- <xs:enumeration value="MMAP"/>
- </xs:restriction>
-</xs:simpleType>
-
-<!-- Maps to the lttng_loglevel_type enum -->
-<xs:simpleType name="loglevel_type">
- <xs:restriction base="xs:string">
- <xs:enumeration value="ALL"/>
- <xs:enumeration value="RANGE"/>
- <xs:enumeration value="SINGLE"/>
- </xs:restriction>
-</xs:simpleType>
-
-<!-- Maps to the lttng_event_type enum -->
-<xs:simpleType name="event_type_type">
- <xs:restriction base="xs:string">
- <xs:enumeration value="ALL"/>
- <xs:enumeration value="TRACEPOINT"/>
- <xs:enumeration value="PROBE"/>
- <xs:enumeration value="FUNCTION"/>
- <xs:enumeration value="FUNCTION_ENTRY"/>
- <xs:enumeration value="NOOP"/>
- <xs:enumeration value="SYSCALL"/>
- <xs:enumeration value="KPROBE"/>
- <xs:enumeration value="KRETPROBE"/>
- </xs:restriction>
-</xs:simpleType>
-
-<xs:complexType name="event_probe_attributes_type">
- <xs:all>
- <xs:element name="symbol_name" type="name_type" minOccurs="0"/>
- <xs:element name="address" type="uint64_type" minOccurs="0"/>
- <xs:element name="offset" type="uint64_type" minOccurs="0"/>
- </xs:all>
-</xs:complexType>
-
-<xs:complexType name="event_ftrace_attributes_type">
- <xs:all>
- <xs:element name="symbol_name" type="name_type"/>
- </xs:all>
-</xs:complexType>
-
-<xs:complexType name="event_attributes_type">
- <xs:choice>
- <xs:element name="probe_attributes" type="event_probe_attributes_type"/>
- <xs:element name="function_attributes" type="event_ftrace_attributes_type"/>
- </xs:choice>
-</xs:complexType>
-
-<xs:complexType name="event_exclusion_list_type">
- <xs:sequence>
- <xs:element name="exclusion" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
- </xs:sequence>
-</xs:complexType>
-
-<xs:complexType name="event_type">
- <xs:all>
- <xs:element name="name" type="name_type" minOccurs="0"/>
- <xs:element name="enabled" type="xs:boolean" default="true" minOccurs="0"/>
- <xs:element name="type" type="event_type_type" default="TRACEPOINT" minOccurs="0"/>
- <xs:element name="loglevel_type" type="loglevel_type" default="ALL" minOccurs="0"/>
- <xs:element name="loglevel" type="xs:int" default="-1" minOccurs="0"/>
- <xs:element name="filter" type="xs:string" minOccurs="0"/>
- <xs:element name="exclusions" type="event_exclusion_list_type" minOccurs="0"/>
- <xs:element name="attributes" type="event_attributes_type" minOccurs="0"/>
- </xs:all>
-</xs:complexType>
-
-<xs:complexType name="event_list_type">
- <xs:sequence>
- <xs:element name="event" type="event_type" minOccurs="0" maxOccurs="unbounded"/>
- </xs:sequence>
-</xs:complexType>
-
-<xs:complexType name="event_perf_context_type">
- <xs:all>
- <xs:element name="type" type="uint32_type"/>
- <xs:element name="config" type="uint64_type"/>
- <xs:element name="name" type="name_type"/>
- </xs:all>
-</xs:complexType>
-
-<!-- Maps to the lttng_event_context_type enum -->
-<xs:simpleType name="event_context_type_type">
- <xs:restriction base="xs:string">
- <xs:enumeration value="PID"/>
- <xs:enumeration value="PROCNAME"/>
- <xs:enumeration value="PRIO"/>
- <xs:enumeration value="NICE"/>
- <xs:enumeration value="VPID"/>
- <xs:enumeration value="TID"/>
- <xs:enumeration value="VTID"/>
- <xs:enumeration value="PPID"/>
- <xs:enumeration value="VPPID"/>
- <xs:enumeration value="PTHREAD_ID"/>
- <xs:enumeration value="HOSTNAME"/>
- <xs:enumeration value="IP"/>
- </xs:restriction>
-</xs:simpleType>
-
-<xs:complexType name="event_context_type">
- <xs:choice>
- <xs:element name="type" type="event_context_type_type"/>
- <xs:element name="perf" type="event_perf_context_type"/>
- </xs:choice>
-</xs:complexType>
-
-<xs:complexType name="event_context_list_type">
- <xs:sequence>
- <xs:element name="context" type="event_context_type" minOccurs="0" maxOccurs="unbounded"/>
- </xs:sequence>
-</xs:complexType>
-
-<!-- Maps to struct lttng_channel -->
-<xs:complexType name="channel_type">
- <xs:all>
- <xs:element name="name" type="name_type"/>
- <xs:element name="enabled" type="xs:boolean" default="true" minOccurs="0"/>
- <xs:element name="overwrite_mode" type="channel_overwrite_mode_type" default="DISCARD" minOccurs="0"/>
- <xs:element name="subbuffer_size" type="uint64_type" minOccurs="0"/> <!-- bytes -->
- <xs:element name="subbuffer_count" type="uint64_type" default="4" minOccurs="0"/>
- <xs:element name="switch_timer_interval" type="uint32_type" default="0" minOccurs="0"/> <!-- usec -->
- <xs:element name="read_timer_interval" type="uint32_type"/> <!-- usec -->
- <xs:element name="output_type" type="event_output_type"/>
- <xs:element name="tracefile_size" type="uint64_type" default="0" minOccurs="0"/> <!-- bytes -->
- <xs:element name="tracefile_count" type="uint64_type" default="0" minOccurs="0"/>
- <xs:element name="live_timer_interval" type="uint32_type" default="0" minOccurs="0"/> <!-- usec -->
- <xs:element name="events" type="event_list_type" minOccurs="0"/>
- <xs:element name="contexts" type="event_context_list_type" minOccurs="0"/>
- </xs:all>
-</xs:complexType>
-
-<!-- Maps to the lttng_domain_type enum -->
-<xs:simpleType name="domain_type_type">
- <xs:restriction base="xs:string">
- <xs:enumeration value="KERNEL"/>
- <xs:enumeration value="UST"/>
- <xs:enumeration value="JUL"/>
- </xs:restriction>
-</xs:simpleType>
-
-<!-- Maps to the lttng_buffer_type enum -->
-<xs:simpleType name="domain_buffer_type">
- <xs:restriction base="xs:string">
- <xs:enumeration value="PER_PID"/>
- <xs:enumeration value="PER_UID"/>
- <xs:enumeration value="GLOBAL"/>
- </xs:restriction>
-</xs:simpleType>
-
-<xs:complexType name="channel_list_type">
- <xs:sequence>
- <xs:element name="channel" type="channel_type" minOccurs="0" maxOccurs="unbounded"/>
- </xs:sequence>
-</xs:complexType>
-
-<!-- Maps to struct lttng_domain and contains channels -->
-<xs:complexType name="domain_type">
- <xs:all>
- <xs:element name="type" type="domain_type_type"/>
- <xs:element name="buffer_type" type="domain_buffer_type"/>
- <xs:element name="channels" type="channel_list_type" minOccurs="0"/>
- </xs:all>
-</xs:complexType>
-
-<xs:complexType name="session_attributes_type">
- <xs:choice>
- <xs:element name="snapshot_mode" type="xs:boolean"/>
- <xs:element name="live_timer_interval" type="uint32_type"/> <!-- usec -->
- </xs:choice>
-</xs:complexType>
-
-<xs:complexType name="domain_list_type">
- <xs:sequence>
- <xs:element name="domain" type="domain_type" minOccurs="0" maxOccurs="unbounded"/>
- </xs:sequence>
-</xs:complexType>
-
-<xs:complexType name="net_output_type">
- <xs:all>
- <xs:element name="control_uri" type="xs:string"/>
- <xs:element name="data_uri" type="xs:string"/>
- </xs:all>
-</xs:complexType>
-
-<xs:complexType name="destination_type">
- <xs:choice>
- <xs:element name="path" type="xs:string"/>
- <xs:element name="net_output" type="net_output_type"/>
- </xs:choice>
-</xs:complexType>
-
-<xs:complexType name="consumer_output_type">
- <xs:all>
- <xs:element name="enabled" type="xs:boolean" default="true"/>
- <xs:element name="destination" type="destination_type"/>
- </xs:all>
-</xs:complexType>
-
-<xs:complexType name="snapshot_output_type">
- <xs:all>
- <xs:element name="name" type="name_type"/>
- <xs:element name="max_size" type="uint64_type"/>
- <xs:element name="consumer_output" type="consumer_output_type"/>
- </xs:all>
-</xs:complexType>
-
-<xs:complexType name="snapshot_output_list_type">
- <xs:sequence>
- <xs:element name="output" type="snapshot_output_type" minOccurs="0" maxOccurs="unbounded"/>
- </xs:sequence>
-</xs:complexType>
-
-<xs:complexType name="session_output_type">
- <xs:choice>
- <xs:element name="snapshot_outputs" type="snapshot_output_list_type"/>
- <xs:element name="consumer_output" type="consumer_output_type"/>
- </xs:choice>
-</xs:complexType>
-
-<xs:complexType name="session_type">
- <xs:all>
- <xs:element name="name" type="name_type"/>
- <xs:element name="domains" type="domain_list_type" minOccurs="0"/>
- <xs:element name="started" type="xs:boolean" default="0" minOccurs="0"/>
- <xs:element name="attributes" type="session_attributes_type" minOccurs="0"/>
- <xs:element name="output" type="session_output_type" minOccurs="0"/>
- </xs:all>
-</xs:complexType>
-
-<xs:element name="sessions">
- <xs:complexType>
- <xs:sequence>
- <xs:element name="session" type="session_type" maxOccurs="unbounded"/>
- </xs:sequence>
- </xs:complexType>
-</xs:element>
-
-</xs:schema>
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.ui.tests/.classpath b/lttng/org.eclipse.linuxtools.lttng2.control.ui.tests/.classpath
deleted file mode 100644
index f1d3296b72..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.ui.tests/.classpath
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
- <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.7"/>
- <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
- <classpathentry kind="src" path="src"/>
- <classpathentry kind="src" path="stubs"/>
- <classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.ui.tests/.project b/lttng/org.eclipse.linuxtools.lttng2.control.ui.tests/.project
deleted file mode 100644
index b92abe85bb..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.ui.tests/.project
+++ /dev/null
@@ -1,34 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>org.eclipse.linuxtools.lttng2.control.ui.tests</name>
- <comment></comment>
- <projects>
- </projects>
- <buildSpec>
- <buildCommand>
- <name>org.eclipse.jdt.core.javabuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.ManifestBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.SchemaBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.api.tools.apiAnalysisBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>org.eclipse.pde.PluginNature</nature>
- <nature>org.eclipse.jdt.core.javanature</nature>
- <nature>org.eclipse.pde.api.tools.apiAnalysisNature</nature>
- </natures>
-</projectDescription>
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.ui.tests/.settings/org.eclipse.core.resources.prefs b/lttng/org.eclipse.linuxtools.lttng2.control.ui.tests/.settings/org.eclipse.core.resources.prefs
deleted file mode 100644
index 99f26c0203..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.ui.tests/.settings/org.eclipse.core.resources.prefs
+++ /dev/null
@@ -1,2 +0,0 @@
-eclipse.preferences.version=1
-encoding/<project>=UTF-8
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.ui.tests/.settings/org.eclipse.core.runtime.prefs b/lttng/org.eclipse.linuxtools.lttng2.control.ui.tests/.settings/org.eclipse.core.runtime.prefs
deleted file mode 100644
index 5a0ad22d2a..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.ui.tests/.settings/org.eclipse.core.runtime.prefs
+++ /dev/null
@@ -1,2 +0,0 @@
-eclipse.preferences.version=1
-line.separator=\n
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.ui.tests/.settings/org.eclipse.jdt.core.prefs b/lttng/org.eclipse.linuxtools.lttng2.control.ui.tests/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index f3fc64575b..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.ui.tests/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,393 +0,0 @@
-eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.annotation.inheritNullAnnotations=enabled
-org.eclipse.jdt.core.compiler.annotation.missingNonNullByDefaultAnnotation=ignore
-org.eclipse.jdt.core.compiler.annotation.nonnull=org.eclipse.jdt.annotation.NonNull
-org.eclipse.jdt.core.compiler.annotation.nonnullbydefault=org.eclipse.jdt.annotation.NonNullByDefault
-org.eclipse.jdt.core.compiler.annotation.nullable=org.eclipse.jdt.annotation.Nullable
-org.eclipse.jdt.core.compiler.annotation.nullanalysis=enabled
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.7
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.doc.comment.support=enabled
-org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=error
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
-org.eclipse.jdt.core.compiler.problem.comparingIdentical=error
-org.eclipse.jdt.core.compiler.problem.deadCode=error
-org.eclipse.jdt.core.compiler.problem.deprecation=error
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=enabled
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled
-org.eclipse.jdt.core.compiler.problem.discouragedReference=error
-org.eclipse.jdt.core.compiler.problem.emptyStatement=error
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.problem.explicitlyClosedAutoCloseable=error
-org.eclipse.jdt.core.compiler.problem.fallthroughCase=error
-org.eclipse.jdt.core.compiler.problem.fatalOptionalError=disabled
-org.eclipse.jdt.core.compiler.problem.fieldHiding=error
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=error
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=error
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=error
-org.eclipse.jdt.core.compiler.problem.includeNullInfoFromAsserts=disabled
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=error
-org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=error
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=error
-org.eclipse.jdt.core.compiler.problem.invalidJavadoc=warning
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTags=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=protected
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=error
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=error
-org.eclipse.jdt.core.compiler.problem.missingDefaultCase=error
-org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=error
-org.eclipse.jdt.core.compiler.problem.missingEnumCaseDespiteDefault=enabled
-org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=error
-org.eclipse.jdt.core.compiler.problem.missingJavadocComments=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=protected
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagDescription=all_standard_tags
-org.eclipse.jdt.core.compiler.problem.missingJavadocTags=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsMethodTypeParameters=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=protected
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=error
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotationForInterfaceMethodImplementation=enabled
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=error
-org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=error
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=error
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=error
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=ignore
-org.eclipse.jdt.core.compiler.problem.nonnullParameterAnnotationDropped=warning
-org.eclipse.jdt.core.compiler.problem.nullAnnotationInferenceConflict=warning
-org.eclipse.jdt.core.compiler.problem.nullReference=error
-org.eclipse.jdt.core.compiler.problem.nullSpecViolation=error
-org.eclipse.jdt.core.compiler.problem.nullUncheckedConversion=warning
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=error
-org.eclipse.jdt.core.compiler.problem.parameterAssignment=error
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=error
-org.eclipse.jdt.core.compiler.problem.potentialNullReference=error
-org.eclipse.jdt.core.compiler.problem.potentiallyUnclosedCloseable=warning
-org.eclipse.jdt.core.compiler.problem.rawTypeReference=error
-org.eclipse.jdt.core.compiler.problem.redundantNullAnnotation=warning
-org.eclipse.jdt.core.compiler.problem.redundantNullCheck=error
-org.eclipse.jdt.core.compiler.problem.redundantSpecificationOfTypeArguments=error
-org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=error
-org.eclipse.jdt.core.compiler.problem.reportMethodCanBePotentiallyStatic=ignore
-org.eclipse.jdt.core.compiler.problem.reportMethodCanBeStatic=error
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=error
-org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=disabled
-org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
-org.eclipse.jdt.core.compiler.problem.syntacticNullAnalysisForFields=enabled
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
-org.eclipse.jdt.core.compiler.problem.typeParameterHiding=error
-org.eclipse.jdt.core.compiler.problem.unavoidableGenericTypeProblems=disabled
-org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=error
-org.eclipse.jdt.core.compiler.problem.unclosedCloseable=error
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
-org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=error
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=error
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=error
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=error
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=disabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=disabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=error
-org.eclipse.jdt.core.compiler.problem.unusedLabel=error
-org.eclipse.jdt.core.compiler.problem.unusedLocal=error
-org.eclipse.jdt.core.compiler.problem.unusedObjectAllocation=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=error
-org.eclipse.jdt.core.compiler.problem.unusedTypeParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedWarningToken=error
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=error
-org.eclipse.jdt.core.compiler.source=1.7
-org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_assignment=0
-org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
-org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
-org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
-org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
-org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0
-org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=80
-org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=0
-org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch=16
-org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_after_package=1
-org.eclipse.jdt.core.formatter.blank_lines_before_field=0
-org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
-org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
-org.eclipse.jdt.core.formatter.blank_lines_before_method=1
-org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
-org.eclipse.jdt.core.formatter.blank_lines_before_package=0
-org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
-org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
-org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
-org.eclipse.jdt.core.formatter.comment.format_block_comments=true
-org.eclipse.jdt.core.formatter.comment.format_header=false
-org.eclipse.jdt.core.formatter.comment.format_html=true
-org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=true
-org.eclipse.jdt.core.formatter.comment.format_line_comments=true
-org.eclipse.jdt.core.formatter.comment.format_source_code=true
-org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true
-org.eclipse.jdt.core.formatter.comment.indent_root_tags=true
-org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
-org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=insert
-org.eclipse.jdt.core.formatter.comment.line_length=80
-org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries=true
-org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries=true
-org.eclipse.jdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments=false
-org.eclipse.jdt.core.formatter.compact_else_if=true
-org.eclipse.jdt.core.formatter.continuation_indentation=2
-org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2
-org.eclipse.jdt.core.formatter.disabling_tag=@formatter\:off
-org.eclipse.jdt.core.formatter.enabling_tag=@formatter\:on
-org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
-org.eclipse.jdt.core.formatter.format_line_comment_starting_on_first_column=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
-org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_empty_lines=false
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=false
-org.eclipse.jdt.core.formatter.indentation.size=4
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_label=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_try=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources=insert
-org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_try=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
-org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.join_lines_in_comments=true
-org.eclipse.jdt.core.formatter.join_wrapped_lines=false
-org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.lineSplit=250
-org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
-org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
-org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true
-org.eclipse.jdt.core.formatter.tabulation.char=space
-org.eclipse.jdt.core.formatter.tabulation.size=4
-org.eclipse.jdt.core.formatter.use_on_off_tags=false
-org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
-org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
-org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true
-org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.ui.tests/.settings/org.eclipse.jdt.ui.prefs b/lttng/org.eclipse.linuxtools.lttng2.control.ui.tests/.settings/org.eclipse.jdt.ui.prefs
deleted file mode 100644
index 4fd0c7006a..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.ui.tests/.settings/org.eclipse.jdt.ui.prefs
+++ /dev/null
@@ -1,56 +0,0 @@
-eclipse.preferences.version=1
-editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
-formatter_profile=_tmf-style
-formatter_settings_version=12
-sp_cleanup.add_default_serial_version_id=true
-sp_cleanup.add_generated_serial_version_id=false
-sp_cleanup.add_missing_annotations=false
-sp_cleanup.add_missing_deprecated_annotations=true
-sp_cleanup.add_missing_methods=false
-sp_cleanup.add_missing_nls_tags=false
-sp_cleanup.add_missing_override_annotations=true
-sp_cleanup.add_missing_override_annotations_interface_methods=true
-sp_cleanup.add_serial_version_id=false
-sp_cleanup.always_use_blocks=true
-sp_cleanup.always_use_parentheses_in_expressions=false
-sp_cleanup.always_use_this_for_non_static_field_access=false
-sp_cleanup.always_use_this_for_non_static_method_access=false
-sp_cleanup.convert_to_enhanced_for_loop=false
-sp_cleanup.correct_indentation=false
-sp_cleanup.format_source_code=false
-sp_cleanup.format_source_code_changes_only=false
-sp_cleanup.make_local_variable_final=false
-sp_cleanup.make_parameters_final=false
-sp_cleanup.make_private_fields_final=true
-sp_cleanup.make_type_abstract_if_missing_method=false
-sp_cleanup.make_variable_declarations_final=false
-sp_cleanup.never_use_blocks=false
-sp_cleanup.never_use_parentheses_in_expressions=true
-sp_cleanup.on_save_use_additional_actions=true
-sp_cleanup.organize_imports=false
-sp_cleanup.qualify_static_field_accesses_with_declaring_class=false
-sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_with_declaring_class=false
-sp_cleanup.qualify_static_method_accesses_with_declaring_class=false
-sp_cleanup.remove_private_constructors=true
-sp_cleanup.remove_trailing_whitespaces=true
-sp_cleanup.remove_trailing_whitespaces_all=true
-sp_cleanup.remove_trailing_whitespaces_ignore_empty=false
-sp_cleanup.remove_unnecessary_casts=false
-sp_cleanup.remove_unnecessary_nls_tags=false
-sp_cleanup.remove_unused_imports=false
-sp_cleanup.remove_unused_local_variables=false
-sp_cleanup.remove_unused_private_fields=true
-sp_cleanup.remove_unused_private_members=false
-sp_cleanup.remove_unused_private_methods=true
-sp_cleanup.remove_unused_private_types=true
-sp_cleanup.sort_members=false
-sp_cleanup.sort_members_all=false
-sp_cleanup.use_blocks=true
-sp_cleanup.use_blocks_only_for_return_and_throw=false
-sp_cleanup.use_parentheses_in_expressions=false
-sp_cleanup.use_this_for_non_static_field_access=false
-sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=true
-sp_cleanup.use_this_for_non_static_method_access=false
-sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.ui.tests/.settings/org.eclipse.pde.api.tools.prefs b/lttng/org.eclipse.linuxtools.lttng2.control.ui.tests/.settings/org.eclipse.pde.api.tools.prefs
deleted file mode 100644
index acc3abd47c..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.ui.tests/.settings/org.eclipse.pde.api.tools.prefs
+++ /dev/null
@@ -1,97 +0,0 @@
-ANNOTATION_ELEMENT_TYPE_ADDED_METHOD_WITHOUT_DEFAULT_VALUE=Error
-ANNOTATION_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
-ANNOTATION_ELEMENT_TYPE_REMOVED_FIELD=Error
-ANNOTATION_ELEMENT_TYPE_REMOVED_METHOD=Error
-ANNOTATION_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
-API_COMPONENT_ELEMENT_TYPE_REMOVED_API_TYPE=Error
-API_COMPONENT_ELEMENT_TYPE_REMOVED_REEXPORTED_API_TYPE=Error
-API_COMPONENT_ELEMENT_TYPE_REMOVED_REEXPORTED_TYPE=Error
-API_COMPONENT_ELEMENT_TYPE_REMOVED_TYPE=Error
-API_USE_SCAN_FIELD_SEVERITY=Error
-API_USE_SCAN_METHOD_SEVERITY=Error
-API_USE_SCAN_TYPE_SEVERITY=Error
-CLASS_ELEMENT_TYPE_ADDED_METHOD=Error
-CLASS_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
-CLASS_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
-CLASS_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error
-CLASS_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
-CLASS_ELEMENT_TYPE_CHANGED_NON_ABSTRACT_TO_ABSTRACT=Error
-CLASS_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error
-CLASS_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
-CLASS_ELEMENT_TYPE_REMOVED_CONSTRUCTOR=Error
-CLASS_ELEMENT_TYPE_REMOVED_FIELD=Error
-CLASS_ELEMENT_TYPE_REMOVED_METHOD=Error
-CLASS_ELEMENT_TYPE_REMOVED_SUPERCLASS=Error
-CLASS_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
-CLASS_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
-CONSTRUCTOR_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
-CONSTRUCTOR_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
-CONSTRUCTOR_ELEMENT_TYPE_CHANGED_VARARGS_TO_ARRAY=Error
-CONSTRUCTOR_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
-ENUM_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error
-ENUM_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
-ENUM_ELEMENT_TYPE_REMOVED_ENUM_CONSTANT=Error
-ENUM_ELEMENT_TYPE_REMOVED_FIELD=Error
-ENUM_ELEMENT_TYPE_REMOVED_METHOD=Error
-ENUM_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
-FIELD_ELEMENT_TYPE_ADDED_VALUE=Error
-FIELD_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
-FIELD_ELEMENT_TYPE_CHANGED_FINAL_TO_NON_FINAL_STATIC_CONSTANT=Error
-FIELD_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error
-FIELD_ELEMENT_TYPE_CHANGED_NON_STATIC_TO_STATIC=Error
-FIELD_ELEMENT_TYPE_CHANGED_STATIC_TO_NON_STATIC=Error
-FIELD_ELEMENT_TYPE_CHANGED_TYPE=Error
-FIELD_ELEMENT_TYPE_CHANGED_VALUE=Error
-FIELD_ELEMENT_TYPE_REMOVED_TYPE_ARGUMENT=Error
-FIELD_ELEMENT_TYPE_REMOVED_VALUE=Error
-ILLEGAL_EXTEND=Warning
-ILLEGAL_IMPLEMENT=Warning
-ILLEGAL_INSTANTIATE=Warning
-ILLEGAL_OVERRIDE=Warning
-ILLEGAL_REFERENCE=Warning
-INTERFACE_ELEMENT_TYPE_ADDED_FIELD=Error
-INTERFACE_ELEMENT_TYPE_ADDED_METHOD=Error
-INTERFACE_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
-INTERFACE_ELEMENT_TYPE_ADDED_SUPER_INTERFACE_WITH_METHODS=Error
-INTERFACE_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
-INTERFACE_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error
-INTERFACE_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
-INTERFACE_ELEMENT_TYPE_REMOVED_FIELD=Error
-INTERFACE_ELEMENT_TYPE_REMOVED_METHOD=Error
-INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
-INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
-INVALID_JAVADOC_TAG=Warning
-INVALID_REFERENCE_IN_SYSTEM_LIBRARIES=Warning
-LEAK_EXTEND=Warning
-LEAK_FIELD_DECL=Warning
-LEAK_IMPLEMENT=Warning
-LEAK_METHOD_PARAM=Warning
-LEAK_METHOD_RETURN_TYPE=Warning
-METHOD_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
-METHOD_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
-METHOD_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
-METHOD_ELEMENT_TYPE_CHANGED_NON_ABSTRACT_TO_ABSTRACT=Error
-METHOD_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error
-METHOD_ELEMENT_TYPE_CHANGED_NON_STATIC_TO_STATIC=Error
-METHOD_ELEMENT_TYPE_CHANGED_STATIC_TO_NON_STATIC=Error
-METHOD_ELEMENT_TYPE_CHANGED_VARARGS_TO_ARRAY=Error
-METHOD_ELEMENT_TYPE_REMOVED_ANNOTATION_DEFAULT_VALUE=Error
-METHOD_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
-MISSING_EE_DESCRIPTIONS=Ignore
-TYPE_PARAMETER_ELEMENT_TYPE_ADDED_CLASS_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_ADDED_INTERFACE_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_CHANGED_CLASS_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_CHANGED_INTERFACE_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_CLASS_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error
-UNUSED_PROBLEM_FILTERS=Warning
-automatically_removed_unused_problem_filters=false
-eclipse.preferences.version=1
-incompatible_api_component_version=Error
-incompatible_api_component_version_include_major_without_breaking_change=Disabled
-incompatible_api_component_version_include_minor_without_api_change=Disabled
-invalid_since_tag_version=Error
-malformed_since_tag=Error
-missing_since_tag=Error
-report_api_breakage_when_major_version_incremented=Disabled
-report_resolution_errors_api_component=Warning
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.ui.tests/.settings/org.eclipse.pde.prefs b/lttng/org.eclipse.linuxtools.lttng2.control.ui.tests/.settings/org.eclipse.pde.prefs
deleted file mode 100644
index 62cfa90dee..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.ui.tests/.settings/org.eclipse.pde.prefs
+++ /dev/null
@@ -1,32 +0,0 @@
-compilers.f.unresolved-features=1
-compilers.f.unresolved-plugins=1
-compilers.incompatible-environment=1
-compilers.p.build=1
-compilers.p.build.bin.includes=1
-compilers.p.build.encodings=2
-compilers.p.build.java.compiler=2
-compilers.p.build.java.compliance=1
-compilers.p.build.missing.output=2
-compilers.p.build.output.library=1
-compilers.p.build.source.library=1
-compilers.p.build.src.includes=1
-compilers.p.deprecated=1
-compilers.p.discouraged-class=1
-compilers.p.internal=1
-compilers.p.missing-packages=2
-compilers.p.missing-version-export-package=2
-compilers.p.missing-version-import-package=2
-compilers.p.missing-version-require-bundle=2
-compilers.p.no-required-att=0
-compilers.p.not-externalized-att=2
-compilers.p.unknown-attribute=1
-compilers.p.unknown-class=1
-compilers.p.unknown-element=1
-compilers.p.unknown-identifier=1
-compilers.p.unknown-resource=1
-compilers.p.unresolved-ex-points=0
-compilers.p.unresolved-import=0
-compilers.s.create-docs=false
-compilers.s.doc-folder=doc
-compilers.s.open-tags=1
-eclipse.preferences.version=1
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.ui.tests/META-INF/MANIFEST.MF b/lttng/org.eclipse.linuxtools.lttng2.control.ui.tests/META-INF/MANIFEST.MF
deleted file mode 100644
index ec4df1bc5e..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.ui.tests/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,23 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %Bundle-Name
-Bundle-Vendor: %Bundle-Vendor
-Bundle-Version: 3.1.0.qualifier
-Bundle-Localization: plugin
-Bundle-SymbolicName: org.eclipse.linuxtools.lttng2.control.ui.tests;singleton:=true
-Bundle-ActivationPolicy: lazy
-Bundle-RequiredExecutionEnvironment: JavaSE-1.7
-Require-Bundle: org.junit;bundle-version="4.0.0",
- org.eclipse.core.commands,
- org.eclipse.core.runtime,
- org.eclipse.ui,
- org.eclipse.ui.ide,
- org.eclipse.linuxtools.lttng2.control.core;bundle-version="3.1.0",
- org.eclipse.linuxtools.lttng2.control.ui;bundle-version="3.1.0",
- org.eclipse.remote.core
-Export-Package: org.eclipse.linuxtools.internal.lttng2.control.stubs.dialogs;x-internal:=true,
- org.eclipse.linuxtools.internal.lttng2.control.stubs.service;x-internal:=true,
- org.eclipse.linuxtools.internal.lttng2.control.stubs.shells;x-internal:=true,
- org.eclipse.linuxtools.lttng2.control.ui.tests;x-friends:="org.eclipse.linuxtools.lttng.alltests",
- org.eclipse.linuxtools.lttng2.control.ui.tests.model.component;x-internal:=true,
- org.eclipse.linuxtools.lttng2.control.ui.tests.service;x-internal:=true
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.ui.tests/about.html b/lttng/org.eclipse.linuxtools.lttng2.control.ui.tests/about.html
deleted file mode 100644
index c258ef55d8..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.ui.tests/about.html
+++ /dev/null
@@ -1,28 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
-<title>About</title>
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
-
-<p>June 5, 2006</p>
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;). Unless otherwise
-indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is available
-at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is
-being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content. Check the Redistributor's license that was
-provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at <a href="http://www.eclipse.org/">http://www.eclipse.org</a>.</p>
-
-</body>
-</html> \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.ui.tests/build.properties b/lttng/org.eclipse.linuxtools.lttng2.control.ui.tests/build.properties
deleted file mode 100644
index 370858e81e..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.ui.tests/build.properties
+++ /dev/null
@@ -1,19 +0,0 @@
-###############################################################################
-# Copyright (c) 2013 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:
-# Ericsson - Initial API and implementation
-###############################################################################
-
-source.. = src/,\
- stubs/
-output.. = bin/
-bin.includes = META-INF/,\
- .,\
- plugin.properties
-src.includes = about.html
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.ui.tests/plugin.properties b/lttng/org.eclipse.linuxtools.lttng2.control.ui.tests/plugin.properties
deleted file mode 100644
index cfd871204f..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.ui.tests/plugin.properties
+++ /dev/null
@@ -1,15 +0,0 @@
-###############################################################################
-# Copyright (c) 2013 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:
-# Ericsson - Initial API and implementation
-###############################################################################
-
-#Properties file for org.eclipse.linuxtools.lttng2.control.ui.tests
-Bundle-Vendor = Eclipse Linux Tools
-Bundle-Name = Linux Tools LTTng Control UI Tests Plug-in
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.ui.tests/pom.xml b/lttng/org.eclipse.linuxtools.lttng2.control.ui.tests/pom.xml
deleted file mode 100644
index 33cfaef822..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.ui.tests/pom.xml
+++ /dev/null
@@ -1,45 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Copyright (C) 2011, Red Hat, Inc.
-
- 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
--->
-<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
- <modelVersion>4.0.0</modelVersion>
-
- <parent>
- <artifactId>linuxtools-lttng-parent</artifactId>
- <groupId>org.eclipse.linuxtools.lttng</groupId>
- <version>3.2.0-SNAPSHOT</version>
- </parent>
-
- <artifactId>org.eclipse.linuxtools.lttng2.control.ui.tests</artifactId>
- <version>3.1.0-SNAPSHOT</version>
- <packaging>eclipse-test-plugin</packaging>
-
- <name>Linux Tools LTTng Control UI Tests Plug-in</name>
-
- <build>
- <plugins>
- <plugin>
- <groupId>org.eclipse.tycho</groupId>
- <artifactId>tycho-surefire-plugin</artifactId>
- <version>${tycho-version}</version>
- <configuration>
- <testSuite>org.eclipse.linuxtools.lttng2.control.ui.tests</testSuite>
- <testClass>org.eclipse.linuxtools.lttng2.control.ui.tests.AllTests</testClass>
- <useUIHarness>true</useUIHarness>
- <useUIThread>true</useUIThread>
- <argLine>${tycho.testArgLine} ${base.ui.test.vmargs}</argLine>
- <product>org.eclipse.platform.ide</product>
- </configuration>
- </plugin>
- </plugins>
- </build>
-
- <groupId>org.eclipse.linuxtools.lttng2</groupId>
-</project>
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.ui.tests/src/org/eclipse/linuxtools/lttng2/control/ui/tests/ActivatorTest.java b/lttng/org.eclipse.linuxtools.lttng2.control.ui.tests/src/org/eclipse/linuxtools/lttng2/control/ui/tests/ActivatorTest.java
deleted file mode 100644
index 7878ac0732..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.ui.tests/src/org/eclipse/linuxtools/lttng2/control/ui/tests/ActivatorTest.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2012, 2013 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.lttng2.control.ui.tests;
-
-import static org.junit.Assert.assertTrue;
-
-import org.junit.Test;
-
-/**
- * Test suite for the Activator class
- */
-public class ActivatorTest {
-
- // ------------------------------------------------------------------------
- // Tests
- // ------------------------------------------------------------------------
-
- /**
- * Test method for {@link org.eclipse.linuxtools.internal.lttng2.control.ui.Activator#Activator}.
- */
- @Test
- public void testActivator() {
- assertTrue(true);
- }
-
- /**
- * Test method for {@link org.eclipse.linuxtools.internal.lttng2.control.ui.Activator#getDefault}.
- */
- @Test
- public void testGetDefault() {
- assertTrue(true);
- }
-
- /**
- * Test method for {@link org.eclipse.linuxtools.internal.lttng2.control.ui.Activator#start}.
- */
- @Test
- public void testStartBundleContext() {
- assertTrue(true);
- }
-
- /**
- * Test method for {@link org.eclipse.linuxtools.internal.lttng2.control.ui.Activator#stop}.
- */
- @Test
- public void testStopBundleContext() {
- assertTrue(true);
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.ui.tests/src/org/eclipse/linuxtools/lttng2/control/ui/tests/AllTests.java b/lttng/org.eclipse.linuxtools.lttng2.control.ui.tests/src/org/eclipse/linuxtools/lttng2/control/ui/tests/AllTests.java
deleted file mode 100644
index 9d884e8921..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.ui.tests/src/org/eclipse/linuxtools/lttng2/control/ui/tests/AllTests.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2012, 2013 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
- * Alexandre Montplaisir - Port to JUnit4
- *******************************************************************************/
-
-package org.eclipse.linuxtools.lttng2.control.ui.tests;
-
-import org.junit.runner.RunWith;
-import org.junit.runners.Suite;
-
-/**
- * Runner for the test suite
- */
-@RunWith(Suite.class)
-@Suite.SuiteClasses({
- ActivatorTest.class,
- org.eclipse.linuxtools.lttng2.control.ui.tests.model.component.AllTests.class,
- org.eclipse.linuxtools.lttng2.control.ui.tests.service.AllTests.class
-})
-public class AllTests {
-
-}
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.ui.tests/src/org/eclipse/linuxtools/lttng2/control/ui/tests/model/component/AllTests.java b/lttng/org.eclipse.linuxtools.lttng2.control.ui.tests/src/org/eclipse/linuxtools/lttng2/control/ui/tests/model/component/AllTests.java
deleted file mode 100644
index 5ae2c88ac0..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.ui.tests/src/org/eclipse/linuxtools/lttng2/control/ui/tests/model/component/AllTests.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011, 2013 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:
- * Bernd Hufmann - Initial API and implementation
- * Alexandre Montplaisir - Port to JUnit4
- *******************************************************************************/
-
-package org.eclipse.linuxtools.lttng2.control.ui.tests.model.component;
-
-import org.junit.runner.RunWith;
-import org.junit.runners.Suite;
-
-/**
- * Runner for the model.component unit tests.
- */
-@RunWith(Suite.class)
-@Suite.SuiteClasses({
- TraceControlComponentTest.class,
- TraceControlCreateSessionTests.class,
- TraceControlCreateSessionMiTests.class,
- TraceControlKernelProviderTests.class,
- TraceControlKernelSessionTests.class,
- TraceControlPropertiesTest.class,
- TraceControlTreeModelNoProvidersTest.class,
- TraceControlTreeModelTest.class,
- TraceControlUstProviderTests.class,
- TraceControlUstSessionTests.class,
- TraceControlUstSessionTests2.class,
- TraceControlSnapshotSessionTests.class
-})
-public class AllTests {
-
-}
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.ui.tests/src/org/eclipse/linuxtools/lttng2/control/ui/tests/model/component/ListenerValidator.java b/lttng/org.eclipse.linuxtools.lttng2.control.ui.tests/src/org/eclipse/linuxtools/lttng2/control/ui/tests/model/component/ListenerValidator.java
deleted file mode 100644
index 9dbd99fada..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.ui.tests/src/org/eclipse/linuxtools/lttng2/control/ui/tests/model/component/ListenerValidator.java
+++ /dev/null
@@ -1,94 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2012 Ericsson
- *
- * All rights reserved. This program and the accompanying materials are
- * made available under the terms of the Eclipse Public License v1.0 which
- * accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Bernd Hufmann - Initial API and implementation
- **********************************************************************/
-package org.eclipse.linuxtools.lttng2.control.ui.tests.model.component;
-
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.model.ITraceControlComponent;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.model.ITraceControlComponentChangedListener;
-
-/**
- * The class can be used to validate the listener interface.
- */
-@SuppressWarnings("javadoc")
-public class ListenerValidator implements ITraceControlComponentChangedListener {
-
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
- private boolean fisAddedCalled = false;
- private boolean fisRemoveCalled = false;
- private boolean fisChangedCalled = false;
-
- private ITraceControlComponent fParent = null;
- private ITraceControlComponent fChild = null;
- private ITraceControlComponent fChangedComponent = null;
-
- // ------------------------------------------------------------------------
- // Accessors
- // ------------------------------------------------------------------------
- public boolean isAddedCalled() {
- return fisAddedCalled;
- }
-
- public boolean isRemovedCalled() {
- return fisRemoveCalled;
- }
-
- public boolean isChangedCalled() {
- return fisChangedCalled;
- }
-
- public ITraceControlComponent getSavedParent() {
- return fParent;
- }
-
- public ITraceControlComponent getSavedChild() {
- return fChild;
- }
-
- public ITraceControlComponent getSavedComponent() {
- return fChangedComponent;
- }
-
- // ------------------------------------------------------------------------
- // Operations
- // ------------------------------------------------------------------------
- public void initialize() {
- fisAddedCalled = false;
- fisRemoveCalled = false;
- fisChangedCalled = false;
- fParent = null;
- fChild = null;
- fChangedComponent = null;
- }
-
- @Override
- public void componentAdded(ITraceControlComponent parent, ITraceControlComponent component) {
- fisAddedCalled = true;
- fParent = parent;
- fChild = component;
- }
-
- @Override
- public void componentRemoved(ITraceControlComponent parent, ITraceControlComponent component) {
- fisRemoveCalled = true;
- fParent = parent;
- fChild = component;
- }
-
- @Override
- public void componentChanged(ITraceControlComponent component) {
- fisChangedCalled = true;
- fParent = null;
- fChangedComponent = component;
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.ui.tests/src/org/eclipse/linuxtools/lttng2/control/ui/tests/model/component/TraceControlComponentTest.java b/lttng/org.eclipse.linuxtools.lttng2.control.ui.tests/src/org/eclipse/linuxtools/lttng2/control/ui/tests/model/component/TraceControlComponentTest.java
deleted file mode 100644
index 74d4b1e439..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.ui.tests/src/org/eclipse/linuxtools/lttng2/control/ui/tests/model/component/TraceControlComponentTest.java
+++ /dev/null
@@ -1,540 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2012, 2014 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:
- * Bernd Hufmann - Initial API and implementation
- * Alexandre Montplaisir - Port to JUnit4
- **********************************************************************/
-
-package org.eclipse.linuxtools.lttng2.control.ui.tests.model.component;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertTrue;
-
-import java.util.LinkedList;
-import java.util.List;
-
-import org.eclipse.core.commands.ExecutionException;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.TargetNodeState;
-import org.eclipse.linuxtools.internal.lttng2.control.stubs.service.TestRemoteSystemProxy;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.ControlView;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.model.ITraceControlComponent;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.model.ITraceControlComponentChangedListener;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.model.impl.TraceControlComponent;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.model.impl.TraceControlRoot;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.service.ILttngControlService;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.service.LTTngControlService;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.service.LTTngControlServiceConstants;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.service.LTTngControlServiceMI;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.ui.ISharedImages;
-import org.eclipse.ui.PlatformUI;
-import org.junit.Test;
-
-/**
- * The class <code>TraceControlComponentTest</code> contains tests for the class
- * <code>{@link TraceControlComponent}</code>.
- */
-public class TraceControlComponentTest {
-
- /**
- * Run the TraceControlComponent(String) constructor test.
- */
- @Test
- public void testTraceControlComponent_1() {
-
- String name = "node";
-
- TraceControlComponent result = new TraceControlComponent(name);
-
- assertNotNull(result);
- assertEquals(name, result.getName());
- assertEquals(null, result.getParent());
- assertEquals(false, result.hasChildren());
- assertEquals(null, result.getImage());
- assertEquals(null, result.getControlService());
- assertEquals(null, result.getToolTip());
- }
-
- /**
- * Run the TraceControlComponent(String,ITraceControlComponent) constructor test.
- */
- @Test
- public void testTraceControlComponent_2() {
- String name = "node";
-
- ITraceControlComponent parent = new TraceControlRoot();
- TraceControlComponent result = new TraceControlComponent(name, parent);
-
- assertNotNull(result);
- assertEquals(name, result.getName());
- assertEquals(false, result.hasChildren());
- assertEquals(null, result.getImage());
- assertEquals(null, result.getControlService());
- assertEquals(null, result.getToolTip());
- }
-
- /**
- * Run the void addChild(ITraceControlComponent) method test.
- */
- @Test
- public void testAddAndGetChild1() {
- TraceControlComponent fixture = new TraceControlComponent("node", new TraceControlRoot());
- fixture.setToolTip("This is the test node");
- fixture.addChild(new TraceControlRoot());
- ITraceControlComponent component = new TraceControlRoot();
- fixture.addChild(component);
-
- ITraceControlComponent child = fixture.getChild(TraceControlRoot.TRACE_CONTROL_ROOT_NAME);
- assertNotNull(child);
- assertEquals(TraceControlRoot.TRACE_CONTROL_ROOT_NAME, child.getName());
- }
-
- /**
- * Run the void addChild(ITraceControlComponent) method test.
- */
- @Test
- public void testAddAndGetChild2() {
- TraceControlComponent fixture = new TraceControlComponent("", new TraceControlRoot());
- fixture.setToolTip("");
- ITraceControlComponent component = null;
-
- fixture.addChild(component);
- assertFalse(fixture.hasChildren());
- }
-
- /**
- * Run the void addComponentListener(ITraceControlComponentChangedListener) method test.
- */
- @Test
- public void testAddComponentListener_1() {
- TraceControlComponent fixture = new TraceControlComponent("", (ITraceControlComponent) null);
- fixture.setToolTip("");
-
- ListenerValidator validator = new ListenerValidator();
- fixture.addComponentListener(validator);
-
- TraceControlRoot root = new TraceControlRoot();
- fixture.addChild(root);
- assertTrue(validator.isAddedCalled());
-
- fixture.removeChild(root);
- assertTrue(validator.isRemovedCalled());
-
- fixture.fireComponentChanged(fixture);
- assertTrue(validator.isChangedCalled());
- }
-
- /**
- * Run the boolean containsChild(String) method test.
- */
- @Test
- public void testContainsChild_1() {
- TraceControlComponent fixture = new TraceControlComponent("", new TraceControlRoot());
- fixture.setToolTip("");
- fixture.addChild(new TraceControlRoot());
- String name = "node";
-
- boolean result = fixture.containsChild(name);
-
- assertEquals(false, result);
- }
-
- /**
- * Run the boolean containsChild(String) method test.
- */
- @Test
- public void testContainsChild_2() {
- TraceControlComponent fixture = new TraceControlComponent("name", new TraceControlRoot());
- fixture.setToolTip("");
-
- boolean result = fixture.containsChild(TraceControlRoot.TRACE_CONTROL_ROOT_NAME);
-
- assertEquals(false, result);
- }
-
- /**
- * Run the void fireCompenentAdded(ITraceControlComponent,ITraceControlComponent) method test.
- * Run the void fireCompenentRemoved(ITraceControlComponent,ITraceControlComponent) method test.
- * Run the void fireCompenentChanged(ITraceControlComponent) method test
- */
- @Test
- public void testFireCompenentUpdated() {
- ITraceControlComponent parent = new TraceControlRoot();
-
- TraceControlComponent fixture = new TraceControlComponent("node", parent);
- fixture.setToolTip("");
-
- ITraceControlComponent component = new TraceControlComponent("child");
- fixture.addChild(component);
-
- ListenerValidator validator = new ListenerValidator();
- fixture.addComponentListener(validator);
-
- fixture.fireComponentAdded(parent, component);
- assertTrue(validator.isAddedCalled());
- assertEquals(parent.getName(), validator.getSavedParent().getName());
- assertEquals(component.getName(), validator.getSavedChild().getName());
-
- validator.initialize();
-
- fixture.fireComponentRemoved(parent, component);
- assertTrue(validator.isRemovedCalled());
- assertEquals(parent.getName(), validator.getSavedParent().getName());
- assertEquals(component.getName(), validator.getSavedChild().getName());
-
- validator.initialize();
- fixture.fireComponentChanged(fixture);
- assertTrue(validator.isChangedCalled());
- assertEquals(fixture.getName(), validator.getSavedComponent().getName());
- }
-
- /**
- * Run the Object getAdapter(Class) method test.
- */
- @Test
- public void testGetAdapter() {
- TraceControlComponent fixture = new TraceControlComponent("", new TraceControlRoot());
- fixture.setToolTip("");
- fixture.addChild(new TraceControlRoot());
- Class<Object> adapter = Object.class;
-
- Object result = fixture.getAdapter(adapter);
-
- assertEquals(null, result);
- }
-
- /**
- * Run the ITraceControlComponent[] getChildren() method test.
- */
- @Test
- public void testGetChildren_1() {
- TraceControlComponent fixture = new TraceControlComponent("", new TraceControlRoot());
- fixture.setToolTip("");
- fixture.addChild(new TraceControlRoot());
-
- ITraceControlComponent[] result = fixture.getChildren();
-
- assertNotNull(result);
- assertEquals(1, result.length);
- assertNotNull(result[0]);
- assertEquals("trace_control_root", result[0].getName());
- assertEquals(null, result[0].getParent());
- assertEquals(false, result[0].hasChildren());
- assertEquals(null, result[0].getImage());
- assertEquals(null, result[0].getControlService());
- assertEquals(null, result[0].getToolTip());
- }
-
- /**
- * Run the ILttngControlService getControlService()/setControlService()
- * method test.
- *
- * @throws ExecutionException
- * Would fail the test
- */
- @Test
- public void testGetAndSetControlService_1() throws ExecutionException {
-
- TraceControlComponent parent = new TraceControlComponent("parent") {
- ILttngControlService fService = null;
-
- @Override
- public void setControlService(ILttngControlService service ) {
- fService = service;
- }
-
- @Override
- public ILttngControlService getControlService() {
- return fService;
- }
- };
-
- TraceControlComponent fixture = new TraceControlComponent("", parent);
- parent.addChild(fixture);
- fixture.setToolTip("");
- TraceControlComponent child = new TraceControlComponent("child", fixture);
- fixture.addChild(child);
-
- ILttngControlService result = fixture.getControlService();
- assertEquals(null, result);
-
- TestRemoteSystemProxy proxy = new TestRemoteSystemProxy();
- ILttngControlService service = new LTTngControlService(proxy.createCommandShell());
- fixture.setControlService(service);
- result = fixture.getControlService();
- assertNotNull(service);
- assertEquals(service, result);
-
- service = new LTTngControlServiceMI(proxy.createCommandShell(), LTTngControlServiceMI.class.getResource(LTTngControlServiceConstants.MI_XSD_FILENAME));
- fixture.setControlService(service);
- result = fixture.getControlService();
- assertNotNull(service);
- assertEquals(service, result);
-
- result = fixture.getChildren()[0].getControlService();
- assertNotNull(service);
- assertEquals(service, result);
- }
-
- /**
- * Run the Image getImage() method test.
- */
- @Test
- public void testGetImage_1() {
- TraceControlComponent fixture = new TraceControlComponent("", new TraceControlRoot());
- fixture.setToolTip("");
- fixture.addChild(new TraceControlRoot());
-
- Image result = fixture.getImage();
- assertEquals(null, result);
-
- fixture.setImage(PlatformUI.getWorkbench().getSharedImages().getImage(ISharedImages.IMG_OBJ_FOLDER));
- assertNotNull(fixture.getImage());
- }
-
- /**
- * Run the boolean hasChildren() method test.
- */
- @Test
- public void testHasChildren_1() {
- TraceControlComponent fixture = new TraceControlComponent("", new TraceControlRoot());
- fixture.setToolTip("");
- fixture.addChild(new TraceControlRoot());
-
- boolean result = fixture.hasChildren();
-
- assertTrue(result);
- }
-
- /**
- * Run the boolean hasChildren() method test.
- */
- @Test
- public void testHasChildren_2() {
- TraceControlComponent fixture = new TraceControlComponent("", new TraceControlRoot());
- fixture.setToolTip("");
-
- boolean result = fixture.hasChildren();
-
- assertFalse(result);
- }
-
- /**
- * Run the void removeAllChildren() method test.
- */
- @Test
- public void testRemoveAllChildren_2() {
- TraceControlComponent fixture = new TraceControlComponent("", new TraceControlRoot());
- fixture.setToolTip("");
-
- fixture.addChild(new TraceControlRoot());
- fixture.addChild(new TraceControlComponent("child"));
-
- fixture.removeAllChildren();
- assertFalse(fixture.hasChildren());
- }
-
- /**
- * Run the void removeChild(ITraceControlComponent) method test.
- */
- @Test
- public void testRemoveChild_1() {
- TraceControlComponent fixture = new TraceControlComponent("", new TraceControlRoot());
- fixture.setToolTip("");
- TraceControlComponent child = new TraceControlComponent("child", fixture);
-
- fixture.addChild(child);
- fixture.removeChild(child);
- assertFalse(fixture.hasChildren());
- }
-
- /**
- * Run the void removeChild(ITraceControlComponent) method test.
- */
- @Test
- public void testRemoveChild_2() {
- TraceControlComponent fixture = new TraceControlComponent("", new TraceControlRoot());
- fixture.setToolTip("");
- fixture.addChild(new TraceControlRoot());
- ITraceControlComponent component = null;
-
- fixture.removeChild(component);
- assertTrue(fixture.hasChildren());
- }
-
- /**
- * Run the void removeComponentListener(ITraceControlComponentChangedListener) method test.
- */
- @Test
- public void testRemoveComponentListener_1() {
- TraceControlComponent fixture = new TraceControlComponent("", (ITraceControlComponent) null);
- fixture.setToolTip("");
-
- ListenerValidator validator = new ListenerValidator();
- fixture.addComponentListener(validator);
-
- // Remove listener and check that validator is not called anymore
- validator.initialize();
- fixture.removeComponentListener(validator);
- TraceControlRoot root = new TraceControlRoot();
- fixture.addChild(root);
- assertFalse(validator.isAddedCalled());
-
- fixture.removeChild(root);
- assertFalse(validator.isRemovedCalled());
-
- fixture.fireComponentChanged(fixture);
- assertFalse(validator.isChangedCalled());
- }
-
- /**
- * Run the void removeComponentListener(ITraceControlComponentChangedListener) method test.
- */
- @Test
- public void testRemoveComponentListener_2() {
- TraceControlComponent fixture = new TraceControlComponent("", new TraceControlRoot());
- fixture.setToolTip("");
- fixture.addChild(new TraceControlRoot());
- ITraceControlComponentChangedListener listener = new ControlView();
-
- fixture.removeComponentListener(listener);
-
- }
-
- /**
- * Run the void setChildren(List<ITraceControlComponent>)/ITraceControlComponent[] getChildren() method test.
- */
- @Test
- public void testGetAndSetChildren() {
- TraceControlComponent fixture = new TraceControlComponent("", new TraceControlRoot());
- fixture.setToolTip("");
- List<ITraceControlComponent> children = new LinkedList<>();
- children.add(new TraceControlComponent("child1"));
- children.add(new TraceControlComponent("child2"));
-
- fixture.setChildren(children);
-
- ITraceControlComponent[] result = fixture.getChildren();
- assertEquals(2, result.length);
- assertEquals("child1", result[0].getName());
- assertEquals("child2", result[1].getName());
- }
-
- /**
- * Run the void String getName()/setName(String) method tests.
- */
- @Test
- public void testGetAndSetName() {
- TraceControlComponent fixture = new TraceControlComponent("", new TraceControlRoot());
- fixture.setToolTip("");
- fixture.addChild(new TraceControlRoot());
- String name = "node";
-
- fixture.setName(name);
- assertEquals(name,fixture.getName());
-
- }
-
- /**
- * Run the void ITraceControlComponent getParent()/setParent(ITraceControlComponent) method tests.
- */
- @Test
- public void testGetAndSetParent() {
- TraceControlComponent fixture = new TraceControlComponent("", new TraceControlRoot());
- fixture.setToolTip("");
- fixture.addChild(new TraceControlRoot());
- ITraceControlComponent parent = new TraceControlRoot();
- parent.addChild(fixture);
-
- fixture.setParent(parent);
- ITraceControlComponent retrievedParent = fixture.getParent();
- assertNotNull(retrievedParent);
- assertEquals(parent.getName(), retrievedParent.getName());
- assertEquals(TraceControlRoot.TRACE_CONTROL_ROOT_NAME, retrievedParent.getName());
- assertEquals(null, retrievedParent.getParent());
- assertEquals(true, retrievedParent.hasChildren());
- }
-
- /**
- * Run the void TargetNodeState getTargetNodeState()/etTargetNodeState(TargetNodeState) method tests.
- */
- @Test
- public void testGetAndSetTargetNodeState_1() {
- TraceControlComponent parent = new TraceControlComponent("parent") {
- private TargetNodeState fState;
-
- @Override
- public void setTargetNodeState(TargetNodeState state ) {
- fState = state;
- }
-
- @Override
- public TargetNodeState getTargetNodeState() {
- return fState;
- }
- };
-
- TraceControlComponent fixture = new TraceControlComponent("", parent);
- parent.addChild(fixture);
-
- fixture.setToolTip("");
- TargetNodeState state = TargetNodeState.CONNECTED;
-
- fixture.setTargetNodeState(state);
- TargetNodeState result = fixture.getTargetNodeState();
-
- assertNotNull(result);
- assertEquals(state, result);
- // Check also parent
- assertEquals(state, fixture.getParent().getTargetNodeState());
- assertEquals("CONNECTED", result.name());
- assertEquals("CONNECTED", result.toString());
- assertEquals(2, result.ordinal());
-
- fixture.setTargetNodeState(TargetNodeState.DISCONNECTED);
- result = fixture.getTargetNodeState();
- assertNotNull(result);
- assertEquals("DISCONNECTED", result.name());
- assertEquals("DISCONNECTED", result.toString());
- assertEquals(0, result.ordinal());
-
- state = TargetNodeState.CONNECTING;
-
- fixture.setTargetNodeState(state);
- result = fixture.getTargetNodeState();
- assertNotNull(result);
- assertEquals("CONNECTING", result.name());
- assertEquals("CONNECTING", result.toString());
- assertEquals(3, result.ordinal());
-
- fixture.setTargetNodeState(TargetNodeState.DISCONNECTING);
- result = fixture.getTargetNodeState();
- assertNotNull(result);
- assertEquals("DISCONNECTING", result.name());
- assertEquals("DISCONNECTING", result.toString());
- assertEquals(1, result.ordinal());
-
- }
-
- /**
- * Run the void setToolTip(String) method test.
- */
- @Test
- public void testGetSndSetToolTip() {
- TraceControlComponent fixture = new TraceControlComponent("", new TraceControlRoot());
- fixture.setToolTip("This is a tooltip");
- fixture.addChild(new TraceControlRoot());
-
- String result = fixture.getToolTip();
-
- assertEquals("This is a tooltip", result);
- }
-} \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.ui.tests/src/org/eclipse/linuxtools/lttng2/control/ui/tests/model/component/TraceControlCreateSessionMiTests.java b/lttng/org.eclipse.linuxtools.lttng2.control.ui.tests/src/org/eclipse/linuxtools/lttng2/control/ui/tests/model/component/TraceControlCreateSessionMiTests.java
deleted file mode 100644
index bb287f133a..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.ui.tests/src/org/eclipse/linuxtools/lttng2/control/ui/tests/model/component/TraceControlCreateSessionMiTests.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2014 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:
- * Jonathan Rajotte - Support for machine interface LTTng 2.6
- **********************************************************************/
-
-package org.eclipse.linuxtools.lttng2.control.ui.tests.model.component;
-
-/**
- * Machine interface Kernel session manipulation handling test cases.
- * LTTng 2.6
- */
-public class TraceControlCreateSessionMiTests extends TraceControlCreateSessionTests {
-
- private static final String TEST_STREAM = "CreateSessionTestMi.cfg";
-
- @Override
- protected String getTestStream() {
- return TEST_STREAM;
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.ui.tests/src/org/eclipse/linuxtools/lttng2/control/ui/tests/model/component/TraceControlCreateSessionTests.java b/lttng/org.eclipse.linuxtools.lttng2.control.ui.tests/src/org/eclipse/linuxtools/lttng2/control/ui/tests/model/component/TraceControlCreateSessionTests.java
deleted file mode 100644
index 1b9e0e184a..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.ui.tests/src/org/eclipse/linuxtools/lttng2/control/ui/tests/model/component/TraceControlCreateSessionTests.java
+++ /dev/null
@@ -1,283 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2013, 2014 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:
- * Bernd Hufmann - Initial API and implementation
- * Jonathan Rajotte - Support for LTTng 2.6
- * Markus Schorn - Bug 448058: Use org.eclipse.remote in favor of RSE
- **********************************************************************/
-
-package org.eclipse.linuxtools.lttng2.control.ui.tests.model.component;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertTrue;
-
-import java.io.File;
-import java.net.URL;
-
-import org.eclipse.core.runtime.FileLocator;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.TargetNodeState;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.TraceSessionState;
-import org.eclipse.linuxtools.internal.lttng2.control.stubs.dialogs.CreateSessionDialogStub;
-import org.eclipse.linuxtools.internal.lttng2.control.stubs.dialogs.DestroyConfirmDialogStub;
-import org.eclipse.linuxtools.internal.lttng2.control.stubs.service.TestRemoteSystemProxy;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.dialogs.TraceControlDialogFactory;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.model.ITraceControlComponent;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.model.impl.TargetNodeComponent;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.model.impl.TraceSessionComponent;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.service.ILttngControlService;
-import org.eclipse.remote.core.IRemoteConnection;
-import org.eclipse.remote.core.IRemoteConnectionManager;
-import org.eclipse.remote.core.RemoteServices;
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Test;
-import org.osgi.framework.FrameworkUtil;
-
-/**
- * The class {@link TraceControlKernelSessionTests} contains Kernel
- * session/channel/event handling test cases.
- */
-public class TraceControlCreateSessionTests {
-
- // ------------------------------------------------------------------------
- // Constants
- // ------------------------------------------------------------------------
- private static final String TEST_STREAM = "CreateSessionTest.cfg";
- private static final String SCEN_SCENARIO_FILE_PROTO_TEST = "CreateSessionFileProto";
- private static final String SCEN_SCENARIO_CONTROL_DATA_TEST = "CreateSessionControlData";
- private static final String SCEN_SCENARIO_NETWORK_TEST = "CreateSessionNetwork";
- private static final String SCEN_SCENARIO_NETWORK2_TEST = "CreateSessionNetwork2";
-
- private static final String SESSION = "mysession";
-
- // ------------------------------------------------------------------------
- // Test data
- // ------------------------------------------------------------------------
- private TraceControlTestFacility fFacility;
- private TestRemoteSystemProxy fProxy;
- private String fTestFile;
-
- // ------------------------------------------------------------------------
- // Housekeeping
- // ------------------------------------------------------------------------
-
- /**
- * Perform pre-test initialization.
- *
- * @throws Exception
- * if the initialization fails for some reason
- */
- @Before
- public void setUp() throws Exception {
- fFacility = TraceControlTestFacility.getInstance();
- fFacility.init();
- fProxy = new TestRemoteSystemProxy();
- URL location = FileLocator.find(FrameworkUtil.getBundle(this.getClass()), new Path(TraceControlTestFacility.DIRECTORY + File.separator + getTestStream()), null);
- File testfile = new File(FileLocator.toFileURL(location).toURI());
- fTestFile = testfile.getAbsolutePath();
- }
-
- /**
- * Get the test stream file name to use for the test suite
- *
- * @return the name of the test stream file
- */
- protected String getTestStream() {
- return TEST_STREAM;
- }
-
- /**
- * Perform post-test clean-up.
- */
- @After
- public void tearDown() {
- fFacility.waitForJobs();
- }
-
- /**
- * Run the TraceControlComponent.
- *
- * @throws Exception
- * on internal error
- */
- @Test
- public void testTraceSessionTree() throws Exception {
-
- fProxy.setTestFile(fTestFile);
- fProxy.setScenario(TraceControlTestFacility.SCEN_INIT_TEST);
-
- ITraceControlComponent root = TraceControlTestFacility.getInstance().getControlView().getTraceControlRoot();
-
- IRemoteConnectionManager cm = RemoteServices.getLocalServices().getConnectionManager();
- IRemoteConnection host = cm.getConnection(IRemoteConnectionManager.LOCAL_CONNECTION_NAME);
-
- TargetNodeComponent node = new TargetNodeComponent("myNode", root, host, fProxy);
-
- root.addChild(node);
- fFacility.waitForJobs();
-
- fFacility.executeCommand(node, "connect");
- int i = 0;
- while ((i < 10) && (node.getTargetNodeState() != TargetNodeState.CONNECTED)) {
- i++;
- fFacility.delay(TraceControlTestFacility.GUI_REFESH_DELAY);
- }
-
- // Verify that node is connected
- assertEquals(TargetNodeState.CONNECTED, node.getTargetNodeState());
-
- ILttngControlService controleService = node.getControlService();
-
- // Get provider groups
- ITraceControlComponent[] groups = node.getChildren();
- assertNotNull(groups);
- assertEquals(2, groups.length);
-
- // Initialize dialog implementations for command execution
- CreateSessionDialogStub sessionDialogStub = new CreateSessionDialogStub();
- TraceControlDialogFactory.getInstance().setCreateSessionDialog(sessionDialogStub);
- TraceControlDialogFactory.getInstance().setConfirmDialog(new DestroyConfirmDialogStub());
-
- // ------------------------------------------------------------------------
- // Create session (--U file://...) and destroy
- // ------------------------------------------------------------------------
- // Initialize session handling scenario
- fProxy.setScenario(SCEN_SCENARIO_FILE_PROTO_TEST);
-
- sessionDialogStub.setNetworkUrl("file:///tmp");
- sessionDialogStub.setStreamedTrace(true);
- TraceSessionComponent session = fFacility.createSession(groups[1]);
-
- // Verify that session was created
- assertNotNull(session);
- assertEquals(getSessionName(), session.getName());
- if (controleService.isVersionSupported("2.6.0")) {
- assertEquals("/tmp", session.getSessionPath());
- } else {
- assertEquals("file:///tmp", session.getSessionPath());
- }
-
- assertTrue(!session.isStreamedTrace());
- assertEquals(TraceSessionState.INACTIVE, session.getSessionState());
- sessionDialogStub.setNetworkUrl(null);
- sessionDialogStub.setStreamedTrace(false);
-
- fFacility.destroySession(session);
-
- // Verify that no more session components exist
- assertEquals(0, groups[1].getChildren().length);
-
- // ------------------------------------------------------------------------
- // Create session (--U file://,,, and destroy
- // ------------------------------------------------------------------------
- // Initialize session handling scenario
- fProxy.setScenario(SCEN_SCENARIO_CONTROL_DATA_TEST);
-
- sessionDialogStub.setControlUrl("tcp://172.0.0.1");
- sessionDialogStub.setDataUrl("tcp://172.0.0.1:5343");
- sessionDialogStub.setStreamedTrace(true);
-
- session = fFacility.createSession(groups[1]);
-
- // Verify that session was created
- assertNotNull(session);
- assertEquals(getSessionName(), session.getName());
- if (controleService.isVersionSupported("2.6.0")) {
- assertEquals("tcp4://172.0.0.1:5342/ [data: 5343]", session.getSessionPath());
- } else {
- assertEquals("tcp://172.0.0.1:5342 [data: 5343]", session.getSessionPath());
- }
- assertTrue(session.isStreamedTrace());
- assertEquals(TraceSessionState.INACTIVE, session.getSessionState());
- sessionDialogStub.setControlUrl(null);
- sessionDialogStub.setDataUrl(null);
- sessionDialogStub.setStreamedTrace(false);
-
- fFacility.destroySession(session);
-
- // Verify that no more session components exist
- assertEquals(0, groups[1].getChildren().length);
-
- // ------------------------------------------------------------------------
- // Create session (--U file://... and destroy
- // ------------------------------------------------------------------------
- // Initialize session handling scenario
- fProxy.setScenario(SCEN_SCENARIO_NETWORK_TEST);
-
- sessionDialogStub.setNetworkUrl("net://172.0.0.1:1234:2345");
- sessionDialogStub.setStreamedTrace(true);
-
- session = fFacility.createSession(groups[1]);
-
- // Verify that session was created
- assertNotNull(session);
- assertEquals(getSessionName(), session.getName());
- if (controleService.isVersionSupported("2.6.0")) {
- assertEquals("tcp4://172.0.0.1:1234/mysession-20140820-153527 [data: 2345]", session.getSessionPath());
- } else {
- assertEquals("net://172.0.0.1:1234 [data: 2345]", session.getSessionPath());
- }
- assertTrue(session.isStreamedTrace());
- assertEquals(TraceSessionState.INACTIVE, session.getSessionState());
- sessionDialogStub.setNetworkUrl(null);
-
- fFacility.destroySession(session);
-
- // Verify that no more session components exist
- assertEquals(0, groups[1].getChildren().length);
-
- // ------------------------------------------------------------------------
- // Create session (--U net6://[...] and destroy
- // ------------------------------------------------------------------------
- // Initialize session handling scenario
- fProxy.setScenario(SCEN_SCENARIO_NETWORK2_TEST);
-
- sessionDialogStub.setNetworkUrl("net6://[ffff::eeee:dddd:cccc:0]");
- sessionDialogStub.setStreamedTrace(true);
-
- session = fFacility.createSession(groups[1]);
-
- // Verify that session was created
- assertNotNull(session);
- assertEquals(getSessionName(), session.getName());
- if (controleService.isVersionSupported("2.6.0")) {
- assertEquals("tcp6://[ffff::eeee:dddd:cccc:0]:5342/mysession-20140820-153801 [data: 5343]", session.getSessionPath());
- } else {
- assertEquals("net://[ffff::eeee:dddd:cccc:0]:5342/mysession-20130221-144451 [data: 5343]", session.getSessionPath());
- }
- assertTrue(session.isStreamedTrace());
- assertEquals(TraceSessionState.INACTIVE, session.getSessionState());
- sessionDialogStub.setNetworkUrl(null);
-
- fFacility.destroySession(session);
-
- // Verify that no more session components exist
- assertEquals(0, groups[1].getChildren().length);
-
- // -------------------------------------------------------------------------
- // Disconnect node
- // -------------------------------------------------------------------------
- fFacility.executeCommand(node, "disconnect");
- assertEquals(TargetNodeState.DISCONNECTED, node.getTargetNodeState());
-
- // -------------------------------------------------------------------------
- // Delete node
- // -------------------------------------------------------------------------
-
- fFacility.executeCommand(node, "delete");
- assertEquals(0, fFacility.getControlView().getTraceControlRoot().getChildren().length);
- }
-
- private static String getSessionName() {
- return SESSION;
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.ui.tests/src/org/eclipse/linuxtools/lttng2/control/ui/tests/model/component/TraceControlKernelProviderTests.java b/lttng/org.eclipse.linuxtools.lttng2.control.ui.tests/src/org/eclipse/linuxtools/lttng2/control/ui/tests/model/component/TraceControlKernelProviderTests.java
deleted file mode 100644
index 720e840d85..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.ui.tests/src/org/eclipse/linuxtools/lttng2/control/ui/tests/model/component/TraceControlKernelProviderTests.java
+++ /dev/null
@@ -1,270 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2012, 2014 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:
- * Bernd Hufmann - Initial API and implementation
- * Alexandre Montplaisir - Port to JUnit4
- * Markus Schorn - Bug 448058: Use org.eclipse.remote in favor of RSE
- **********************************************************************/
-
-package org.eclipse.linuxtools.lttng2.control.ui.tests.model.component;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertTrue;
-
-import java.io.File;
-import java.net.URL;
-
-import org.eclipse.core.runtime.FileLocator;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.TargetNodeState;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.TraceChannelOutputType;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.TraceEnablement;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.TraceEventType;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.TraceLogLevel;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.TraceSessionState;
-import org.eclipse.linuxtools.internal.lttng2.control.stubs.dialogs.CreateSessionDialogStub;
-import org.eclipse.linuxtools.internal.lttng2.control.stubs.dialogs.DestroyConfirmDialogStub;
-import org.eclipse.linuxtools.internal.lttng2.control.stubs.dialogs.GetEventInfoDialogStub;
-import org.eclipse.linuxtools.internal.lttng2.control.stubs.service.TestRemoteSystemProxy;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.dialogs.TraceControlDialogFactory;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.model.ITraceControlComponent;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.model.impl.BaseEventComponent;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.model.impl.KernelProviderComponent;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.model.impl.TargetNodeComponent;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.model.impl.TraceChannelComponent;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.model.impl.TraceEventComponent;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.model.impl.TraceProviderGroup;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.model.impl.TraceSessionComponent;
-import org.eclipse.remote.core.IRemoteConnection;
-import org.eclipse.remote.core.IRemoteConnectionManager;
-import org.eclipse.remote.core.RemoteServices;
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Test;
-import org.osgi.framework.FrameworkUtil;
-
-/**
- * The class <code>TraceControlKernelProviderTests</code> contains UST provider
- * handling test cases.
- */
-public class TraceControlKernelProviderTests {
-
- // ------------------------------------------------------------------------
- // Constants
- // ------------------------------------------------------------------------
-
- private static final String TEST_STREAM = "CreateTreeTest.cfg";
- private static final String SCEN_SCENARIO1_TEST = "Scenario1";
-
- // ------------------------------------------------------------------------
- // Test data
- // ------------------------------------------------------------------------
-
- private TraceControlTestFacility fFacility;
- private TestRemoteSystemProxy fProxy;
- private String fTestFile;
-
- // ------------------------------------------------------------------------
- // Housekeeping
- // ------------------------------------------------------------------------
-
- /**
- * Perform pre-test initialization.
- *
- * @throws Exception
- * if the initialization fails for some reason
- */
- @Before
- public void setUp() throws Exception {
- fFacility = TraceControlTestFacility.getInstance();
- fFacility.init();
- fProxy = new TestRemoteSystemProxy();
- URL location = FileLocator.find(FrameworkUtil.getBundle(this.getClass()), new Path(TraceControlTestFacility.DIRECTORY + File.separator + TEST_STREAM), null);
- File testfile = new File(FileLocator.toFileURL(location).toURI());
- fTestFile = testfile.getAbsolutePath();
- }
-
- /**
- * Perform post-test clean-up.
- */
- @After
- public void tearDown() {
- fFacility.waitForJobs();
- fFacility.dispose();
- }
-
- /**
- * Run the TraceControlComponent.
- *
- * @throws Exception
- * Would fail the test
- */
- @Test
- public void testKernelProviderTree() throws Exception {
-
- fProxy.setTestFile(fTestFile);
- fProxy.setScenario(TraceControlTestFacility.SCEN_INIT_TEST);
-
- ITraceControlComponent root = fFacility.getControlView().getTraceControlRoot();
-
- IRemoteConnectionManager cm = RemoteServices.getLocalServices().getConnectionManager();
- IRemoteConnection host = cm.getConnection(IRemoteConnectionManager.LOCAL_CONNECTION_NAME);
-
- TargetNodeComponent node = new TargetNodeComponent("myNode", root, host, fProxy);
-
- root.addChild(node);
-
- fFacility.waitForJobs();
-
- fFacility.executeCommand(node, "connect");
- int i = 0;
- while ((i < 20) && (node.getTargetNodeState() != TargetNodeState.CONNECTED)) {
- i++;
- fFacility.delay(TraceControlTestFacility.GUI_REFESH_DELAY);
- }
-
- // Verify that node is connected
- assertEquals(TargetNodeState.CONNECTED, node.getTargetNodeState());
-
- // Get provider and session group
- ITraceControlComponent[] groups = node.getChildren();
- assertNotNull(groups);
- assertEquals(2, groups.length);
-
- // Check for kernel provider
- TraceProviderGroup providerGroup = (TraceProviderGroup) groups[0];
- assertTrue(providerGroup.hasKernelProvider());
-
- // Get kernel provider
- ITraceControlComponent[] providers = providerGroup.getChildren();
- KernelProviderComponent kernelProvider = (KernelProviderComponent) providers[0];
-
- // Get kernel provider events and select 2 events
- ITraceControlComponent[] events = kernelProvider.getChildren();
- assertNotNull(events);
- assertEquals(3, events.length);
-
- BaseEventComponent baseEventInfo0 = (BaseEventComponent) events[0];
- BaseEventComponent baseEventInfo1 = (BaseEventComponent) events[1];
-
- // Initialize dialog implementations for command execution
- TraceControlDialogFactory.getInstance().setCreateSessionDialog(new CreateSessionDialogStub());
- TraceControlDialogFactory.getInstance().setGetEventInfoDialog(new GetEventInfoDialogStub());
- TraceControlDialogFactory.getInstance().setConfirmDialog(new DestroyConfirmDialogStub());
-
- // Initialize session handling scenario
- fProxy.setScenario(TraceControlTestFacility.SCEN_SCENARIO_SESSION_HANDLING);
-
- // ------------------------------------------------------------------------
- // Create session
- // ------------------------------------------------------------------------
- TraceSessionComponent session = fFacility.createSession(groups[1]);
-
- // Verify that session was created
- assertNotNull(session);
- assertEquals("mysession", session.getName());
- assertEquals("/home/user/lttng-traces/mysession-20120314-132824", session.getSessionPath());
- assertEquals(TraceSessionState.INACTIVE, session.getSessionState());
-
- // ------------------------------------------------------------------------
- // Enable event on default channel on created session above
- // ------------------------------------------------------------------------
- // Initialize scenario
- fProxy.setScenario(SCEN_SCENARIO1_TEST);
-
- ITraceControlComponent[] components = { baseEventInfo0, baseEventInfo1 };
-
- fFacility.executeCommand(components, "assign.event");
-
- // Verify that kernel domain was created
- ITraceControlComponent[] domains = session.getChildren();
- assertNotNull(domains);
- assertEquals(1, domains.length);
-
- assertEquals("Kernel", domains[0].getName());
-
- // Verify that channel0 was created with default values
- ITraceControlComponent[] channels = domains[0].getChildren();
- assertNotNull(channels);
- assertEquals(1, channels.length);
-
- assertTrue(channels[0] instanceof TraceChannelComponent);
- TraceChannelComponent channel = (TraceChannelComponent) channels[0];
- assertEquals("channel0", channel.getName());
- assertEquals(4, channel.getNumberOfSubBuffers());
- assertEquals("splice()", channel.getOutputType().getInName());
- assertEquals(TraceChannelOutputType.SPLICE, channel.getOutputType());
- assertEquals(false, channel.isOverwriteMode());
- assertEquals(200, channel.getReadTimer());
- assertEquals(TraceEnablement.ENABLED, channel.getState());
- assertEquals(262144, channel.getSubBufferSize());
- assertEquals(0, channel.getSwitchTimer());
-
- // Verify that event components were created
- ITraceControlComponent[] channel0Events = channel.getChildren();
- assertNotNull(channel0Events);
- assertEquals(2, channel0Events.length);
- assertTrue(channel0Events[0] instanceof TraceEventComponent);
- assertTrue(channel0Events[1] instanceof TraceEventComponent);
-
- TraceEventComponent event = (TraceEventComponent) channel0Events[0];
- assertEquals("sched_kthread_stop_ret", event.getName());
- assertEquals(TraceLogLevel.TRACE_EMERG, event.getLogLevel());
- assertEquals(TraceEventType.TRACEPOINT, event.getEventType());
- assertEquals(TraceEnablement.ENABLED, event.getState());
-
- TraceEventComponent event1 = (TraceEventComponent) channel0Events[1];
- assertEquals("sched_kthread_stop", event1.getName());
- assertEquals(TraceLogLevel.TRACE_EMERG, event1.getLogLevel());
- assertEquals(TraceEventType.TRACEPOINT, event1.getEventType());
- assertEquals(TraceEnablement.ENABLED, event1.getState());
-
- // ------------------------------------------------------------------------
- // Disable event components
- // ------------------------------------------------------------------------
- ITraceControlComponent[] selection = { event, event1 };
- fFacility.executeCommand(selection, "disableEvent");
-
- assertEquals(TraceEnablement.DISABLED, event.getState());
- assertEquals(TraceEnablement.DISABLED, event1.getState());
-
- // ------------------------------------------------------------------------
- // Enable event component
- // ------------------------------------------------------------------------
- fFacility.executeCommand(event1, "enableEvent");
-
- // Verify event state
- assertEquals(TraceEnablement.ENABLED, event1.getState());
-
- // ------------------------------------------------------------------------
- // Destroy session
- // ------------------------------------------------------------------------
- // Initialize session handling scenario
- fProxy.setScenario(TraceControlTestFacility.SCEN_SCENARIO_SESSION_HANDLING);
-
- fFacility.destroySession(session);
-
- // Verify that no more session components exist
- assertEquals(0, groups[1].getChildren().length);
-
- //-------------------------------------------------------------------------
- // Disconnect node
- //-------------------------------------------------------------------------
- fFacility.executeCommand(node, "disconnect");
- assertEquals(TargetNodeState.DISCONNECTED, node.getTargetNodeState());
-
- //-------------------------------------------------------------------------
- // Delete node
- //-------------------------------------------------------------------------
- fFacility.executeCommand(node, "delete");
- assertEquals(0, fFacility.getControlView().getTraceControlRoot().getChildren().length);
-
- }
-} \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.ui.tests/src/org/eclipse/linuxtools/lttng2/control/ui/tests/model/component/TraceControlKernelSessionTests.java b/lttng/org.eclipse.linuxtools.lttng2.control.ui.tests/src/org/eclipse/linuxtools/lttng2/control/ui/tests/model/component/TraceControlKernelSessionTests.java
deleted file mode 100644
index 23824dcdd9..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.ui.tests/src/org/eclipse/linuxtools/lttng2/control/ui/tests/model/component/TraceControlKernelSessionTests.java
+++ /dev/null
@@ -1,822 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2012, 2014 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:
- * Bernd Hufmann - Initial API and implementation
- * Alexandre Montplaisir - Port to JUnit4
- * Markus Schorn - Bug 448058: Use org.eclipse.remote in favor of RSE
- **********************************************************************/
-
-package org.eclipse.linuxtools.lttng2.control.ui.tests.model.component;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertNull;
-import static org.junit.Assert.assertTrue;
-import static org.junit.Assert.fail;
-
-import java.io.File;
-import java.net.URL;
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.runtime.FileLocator;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.TargetNodeState;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.TraceChannelOutputType;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.TraceEnablement;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.TraceEventType;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.TraceLogLevel;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.TraceSessionState;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.impl.ChannelInfo;
-import org.eclipse.linuxtools.internal.lttng2.control.stubs.dialogs.AddContextDialogStub;
-import org.eclipse.linuxtools.internal.lttng2.control.stubs.dialogs.CreateSessionDialogStub;
-import org.eclipse.linuxtools.internal.lttng2.control.stubs.dialogs.DestroyConfirmDialogStub;
-import org.eclipse.linuxtools.internal.lttng2.control.stubs.dialogs.EnableChannelDialogStub;
-import org.eclipse.linuxtools.internal.lttng2.control.stubs.dialogs.EnableEventsDialogStub;
-import org.eclipse.linuxtools.internal.lttng2.control.stubs.dialogs.GetEventInfoDialogStub;
-import org.eclipse.linuxtools.internal.lttng2.control.stubs.service.TestRemoteSystemProxy;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.dialogs.TraceControlDialogFactory;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.model.ITraceControlComponent;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.model.impl.TargetNodeComponent;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.model.impl.TraceChannelComponent;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.model.impl.TraceEventComponent;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.model.impl.TraceProbeEventComponent;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.model.impl.TraceSessionComponent;
-import org.eclipse.remote.core.IRemoteConnection;
-import org.eclipse.remote.core.IRemoteConnectionManager;
-import org.eclipse.remote.core.RemoteServices;
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Test;
-import org.osgi.framework.FrameworkUtil;
-
-/**
- * The class <code>TraceControlKernelSessionTests</code> contains Kernel
- * session/channel/event handling test cases.
- */
-public class TraceControlKernelSessionTests {
-
- // ------------------------------------------------------------------------
- // Constants
- // ------------------------------------------------------------------------
-
- private static final String TEST_STREAM = "CreateTreeTest.cfg";
- private static final String SCEN_SCENARIO3_TEST = "Scenario3";
-
- // ------------------------------------------------------------------------
- // Test data
- // ------------------------------------------------------------------------
-
- private TraceControlTestFacility fFacility;
- private TestRemoteSystemProxy fProxy;
- private String fTestFile;
-
- // ------------------------------------------------------------------------
- // Housekeeping
- // ------------------------------------------------------------------------
-
- /**
- * Perform pre-test initialization.
- *
- * @throws Exception
- * if the initialization fails for some reason
- */
- @Before
- public void setUp() throws Exception {
- fFacility = TraceControlTestFacility.getInstance();
- fFacility.init();
- fProxy = new TestRemoteSystemProxy();
- URL location = FileLocator.find(FrameworkUtil.getBundle(this.getClass()), new Path(TraceControlTestFacility.DIRECTORY + File.separator + TEST_STREAM), null);
- File testfile = new File(FileLocator.toFileURL(location).toURI());
- fTestFile = testfile.getAbsolutePath();
- }
-
- /**
- * Perform post-test clean-up.
- */
- @After
- public void tearDown() {
- fFacility.waitForJobs();
- fFacility.dispose();
- }
-
- /**
- * Run the TraceControlComponent.
- *
- * @throws Exception
- * Would fail the test
- */
- @Test
- public void testTraceSessionTree() throws Exception {
-
- fProxy.setTestFile(fTestFile);
- fProxy.setScenario(TraceControlTestFacility.SCEN_INIT_TEST);
-
- ITraceControlComponent root = fFacility.getControlView().getTraceControlRoot();
-
- IRemoteConnectionManager cm = RemoteServices.getLocalServices().getConnectionManager();
- IRemoteConnection host = cm.getConnection(IRemoteConnectionManager.LOCAL_CONNECTION_NAME);
-
- TargetNodeComponent node = new TargetNodeComponent("myNode", root, host, fProxy);
-
- root.addChild(node);
- fFacility.waitForJobs();
-
- fFacility.executeCommand(node, "connect");
- int i = 0;
- while ((i < 10) && (node.getTargetNodeState() != TargetNodeState.CONNECTED)) {
- i++;
- fFacility.delay(TraceControlTestFacility.GUI_REFESH_DELAY);
- }
-
- // Verify that node is connected
- assertEquals(TargetNodeState.CONNECTED, node.getTargetNodeState());
-
- // Get provider groups
- ITraceControlComponent[] groups = node.getChildren();
- assertNotNull(groups);
- assertEquals(2, groups.length);
-
- // Initialize dialog implementations for command execution
- TraceControlDialogFactory.getInstance().setCreateSessionDialog(new CreateSessionDialogStub());
- TraceControlDialogFactory.getInstance().setGetEventInfoDialog(new GetEventInfoDialogStub());
- TraceControlDialogFactory.getInstance().setConfirmDialog(new DestroyConfirmDialogStub());
-
- // Initialize session handling scenario
- fProxy.setScenario(TraceControlTestFacility.SCEN_SCENARIO_SESSION_HANDLING);
-
- // ------------------------------------------------------------------------
- // Create session
- // ------------------------------------------------------------------------
- TraceSessionComponent session = fFacility.createSession(groups[1]);
-
- // Verify that session was created
- assertNotNull(session);
- assertEquals("mysession", session.getName());
- assertEquals("/home/user/lttng-traces/mysession-20120314-132824", session.getSessionPath());
- assertEquals(TraceSessionState.INACTIVE, session.getSessionState());
-
- // Initialize scenario
- fProxy.setScenario(SCEN_SCENARIO3_TEST);
-
- // ------------------------------------------------------------------------
- // Enable channel on session
- // ------------------------------------------------------------------------
- EnableChannelDialogStub channelStub = new EnableChannelDialogStub();
- channelStub.setIsKernel(true);
- TraceControlDialogFactory.getInstance().setEnableChannelDialog(channelStub);
-
- fFacility.executeCommand(session, "enableChannelOnSession");
-
- // Verify that Kernel domain was created
- ITraceControlComponent[] domains = session.getChildren();
- assertNotNull(domains);
- assertEquals(1, domains.length);
-
- assertEquals("Kernel", domains[0].getName());
-
- // Verify that channel was created with correct data
- ITraceControlComponent[] channels = domains[0].getChildren();
- assertNotNull(channels);
- assertEquals(1, channels.length);
-
- assertTrue(channels[0] instanceof TraceChannelComponent);
- TraceChannelComponent channel = (TraceChannelComponent) channels[0];
- assertEquals("mychannel", channel.getName());
- assertEquals(4, channel.getNumberOfSubBuffers());
- assertEquals("splice()", channel.getOutputType().getInName());
- assertEquals(TraceChannelOutputType.SPLICE, channel.getOutputType());
- assertEquals(true, channel.isOverwriteMode());
- assertEquals(200, channel.getReadTimer());
- assertEquals(TraceEnablement.ENABLED, channel.getState());
- assertEquals(16384, channel.getSubBufferSize());
- assertEquals(100, channel.getSwitchTimer());
-
- // ------------------------------------------------------------------------
- // Create channel on domain
- // ------------------------------------------------------------------------
- ChannelInfo info = (ChannelInfo)channelStub.getChannelInfo();
- info.setName("mychannel2");
- info.setOverwriteMode(false);
- info.setSubBufferSize(32768);
- info.setNumberOfSubBuffers(2);
- info.setSwitchTimer(100);
- info.setReadTimer(200);
- channelStub.setChannelInfo(info);
-
- fFacility.executeCommand(domains[0], "enableChannelOnDomain");
-
- // Get Kernel domain component instance
- domains = session.getChildren();
- assertNotNull(domains);
- assertEquals(1, domains.length);
-
- // Verify that channel was created with correct data
- channels = domains[0].getChildren();
- assertNotNull(channels);
- assertEquals(2, channels.length);
-
- assertTrue(channels[1] instanceof TraceChannelComponent);
- channel = (TraceChannelComponent) channels[1];
- assertEquals("mychannel2", channel.getName());
- assertEquals(2, channel.getNumberOfSubBuffers());
- assertEquals("splice()", channel.getOutputType().getInName());
- assertEquals(TraceChannelOutputType.SPLICE, channel.getOutputType());
- assertEquals(false, channel.isOverwriteMode());
- assertEquals(200, channel.getReadTimer());
- assertEquals(TraceEnablement.ENABLED, channel.getState());
- assertEquals(32768, channel.getSubBufferSize());
- assertEquals(100, channel.getSwitchTimer());
-
- EnableEventsDialogStub eventsDialogStub = new EnableEventsDialogStub();
- eventsDialogStub.setIsTracePoints(true);
- List<String> events = new ArrayList<>();
- events.add("sched_kthread_stop");
- events.add("sched_kthread_stop_ret");
- eventsDialogStub.setNames(events);
- eventsDialogStub.setIsKernel(true);
- TraceControlDialogFactory.getInstance().setEnableEventsDialog(eventsDialogStub);
-
- // ------------------------------------------------------------------------
- // disable channels
- // ------------------------------------------------------------------------
- // Get Kernel domain component instance
- domains = session.getChildren();
- assertNotNull(domains);
- assertEquals(1, domains.length);
-
- // Verify that channel was created with correct data
- channels = domains[0].getChildren();
- assertNotNull(channels);
- assertEquals(2, channels.length);
-
- fFacility.executeCommand(channels, "disableChannel");
-
- assertEquals(TraceEnablement.DISABLED, ((TraceChannelComponent)channels[0]).getState());
- assertEquals(TraceEnablement.DISABLED, ((TraceChannelComponent)channels[1]).getState());
-
- // ------------------------------------------------------------------------
- // enable channels
- // ------------------------------------------------------------------------
- // Get Kernel domain component instance
- domains = session.getChildren();
- assertNotNull(domains);
- assertEquals(1, domains.length);
-
- // Verify that channel was created with correct data
- channels = domains[0].getChildren();
- assertNotNull(channels);
- assertEquals(2, channels.length);
-
- fFacility.executeCommand(channels, "enableChannel");
-
- assertEquals(TraceEnablement.ENABLED, ((TraceChannelComponent)channels[0]).getState());
- assertEquals(TraceEnablement.ENABLED, ((TraceChannelComponent)channels[1]).getState());
-
- // ------------------------------------------------------------------------
- // enable event (tracepoints) on session
- // ------------------------------------------------------------------------
- fFacility.executeCommand(session, "enableEventOnSession");
-
- // Get Kernel domain component instance
- domains = session.getChildren();
- assertNotNull(domains);
- assertEquals(1, domains.length);
-
- // Verify that channel was created with correct data
- channels = domains[0].getChildren();
- assertNotNull(channels);
- assertEquals(3, channels.length);
-
- assertTrue(channels[2] instanceof TraceChannelComponent);
- channel = (TraceChannelComponent) channels[2];
- assertEquals("channel0", channel.getName());
- // No need to check parameters of default channel because that has been done in other tests
-
- ITraceControlComponent[] channel0Events = channel.getChildren();
- assertEquals(2, channel0Events.length);
-
- assertTrue(channel0Events[0] instanceof TraceEventComponent);
- assertTrue(channel0Events[1] instanceof TraceEventComponent);
-
- TraceEventComponent event = (TraceEventComponent) channel0Events[0];
- assertEquals("sched_kthread_stop_ret", event.getName());
- assertEquals(TraceLogLevel.TRACE_EMERG, event.getLogLevel());
- assertEquals(TraceEventType.TRACEPOINT, event.getEventType());
- assertEquals(TraceEnablement.ENABLED, event.getState());
-
- event = (TraceEventComponent) channel0Events[1];
- assertEquals("sched_kthread_stop", event.getName());
- assertEquals(TraceLogLevel.TRACE_EMERG, event.getLogLevel());
- assertEquals(TraceEventType.TRACEPOINT, event.getEventType());
- assertEquals(TraceEnablement.ENABLED, event.getState());
-
- // ------------------------------------------------------------------------
- // enable event (tracepoints) on domain
- // ------------------------------------------------------------------------
- events.clear();
- events.add("sched_wakeup_new");
- eventsDialogStub.setNames(events);
-
- fFacility.executeCommand(domains[0], "enableEventOnDomain");
-
- // Get Kernel domain component instance
- domains = session.getChildren();
- assertNotNull(domains);
- assertEquals(1, domains.length);
-
- // Verify that channel was created with correct data
- channels = domains[0].getChildren();
- channel = (TraceChannelComponent) channels[2];
- // No need to check parameters of default channel because that has been done in other tests
-
- channel = (TraceChannelComponent) channels[2];
-
- channel0Events = channel.getChildren();
- assertEquals(3, channel0Events.length);
-
- assertTrue(channel0Events[2] instanceof TraceEventComponent);
-
- event = (TraceEventComponent) channel0Events[2];
- assertEquals("sched_wakeup_new", event.getName());
- assertEquals(TraceLogLevel.TRACE_EMERG, event.getLogLevel());
- assertEquals(TraceEventType.TRACEPOINT, event.getEventType());
- assertEquals(TraceEnablement.ENABLED, event.getState());
-
- // ------------------------------------------------------------------------
- // enable event (tracepoints) on channel
- // ------------------------------------------------------------------------
- events.clear();
- eventsDialogStub.setNames(events);
- eventsDialogStub.setIsAllTracePoints(true);
-
- fFacility.executeCommand(channels[1], "enableEventOnChannel");
-
- // Get Kernel domain component instance
- domains = session.getChildren();
- assertNotNull(domains);
- assertEquals(1, domains.length);
-
- // Verify that channel was created with correct data
- channels = domains[0].getChildren();
- // No need to check parameters of default channel because that has been done in other tests
- channel = (TraceChannelComponent) channels[1];
-
- channel0Events = channel.getChildren();
- assertEquals(3, channel0Events.length);
-
- assertTrue(channel0Events[0] instanceof TraceEventComponent);
- assertTrue(channel0Events[1] instanceof TraceEventComponent);
- assertTrue(channel0Events[2] instanceof TraceEventComponent);
-
- event = (TraceEventComponent) channel0Events[0];
- assertEquals("sched_kthread_stop_ret", event.getName());
- assertEquals(TraceLogLevel.TRACE_EMERG, event.getLogLevel());
- assertEquals(TraceEventType.TRACEPOINT, event.getEventType());
- assertEquals(TraceEnablement.ENABLED, event.getState());
-
- event = (TraceEventComponent) channel0Events[1];
- assertEquals("sched_kthread_stop", event.getName());
- assertEquals(TraceLogLevel.TRACE_EMERG, event.getLogLevel());
- assertEquals(TraceEventType.TRACEPOINT, event.getEventType());
- assertEquals(TraceEnablement.ENABLED, event.getState());
-
- event = (TraceEventComponent) channel0Events[2];
- assertEquals("sched_wakeup_new", event.getName());
- assertEquals(TraceLogLevel.TRACE_EMERG, event.getLogLevel());
- assertEquals(TraceEventType.TRACEPOINT, event.getEventType());
- assertEquals(TraceEnablement.ENABLED, event.getState());
-
- // ------------------------------------------------------------------------
- // enable event (syscall) on channel
- // ------------------------------------------------------------------------
- events.clear();
- eventsDialogStub.setIsTracePoints(false);
- eventsDialogStub.setIsAllTracePoints(false);
- eventsDialogStub.setIsSysCalls(true);
-
- fFacility.executeCommand(channels[0], "enableEventOnChannel");
-
- // Get Kernel domain component instance
- domains = session.getChildren();
- assertNotNull(domains);
- assertEquals(1, domains.length);
-
- // Verify that channel was created with correct data
- channels = domains[0].getChildren();
- channel = (TraceChannelComponent) channels[0];
- // No need to check parameters of default channel because that has been done in other tests
-
- channel = (TraceChannelComponent) channels[0];
-
- channel0Events = channel.getChildren();
- assertEquals(1, channel0Events.length);
-
- assertTrue(channel0Events[0] instanceof TraceEventComponent);
-
- event = (TraceEventComponent) channel0Events[0];
- assertEquals("syscalls", event.getName());
- assertEquals(TraceLogLevel.LEVEL_UNKNOWN, event.getLogLevel());
- assertEquals(TraceEventType.SYSCALL, event.getEventType());
- assertEquals(TraceEnablement.ENABLED, event.getState());
-
- // ------------------------------------------------------------------------
- // enable event (syscall) on domain
- // ------------------------------------------------------------------------
- fFacility.executeCommand(domains[0], "enableEventOnDomain");
-
- // Get Kernel domain component instance
- domains = session.getChildren();
- assertNotNull(domains);
- assertEquals(1, domains.length);
-
- // Verify that channel was created with correct data
- channels = domains[0].getChildren();
- channel = (TraceChannelComponent) channels[0];
- // No need to check parameters of default channel because that has been done in other tests
-
- channel = (TraceChannelComponent) channels[2];
-
- channel0Events = channel.getChildren();
- assertEquals(4, channel0Events.length);
-
- assertTrue(channel0Events[0] instanceof TraceEventComponent);
-
- event = (TraceEventComponent) channel0Events[0];
- assertEquals("syscalls", event.getName());
- assertEquals(TraceLogLevel.LEVEL_UNKNOWN, event.getLogLevel());
- assertEquals(TraceEventType.SYSCALL, event.getEventType());
- assertEquals(TraceEnablement.ENABLED, event.getState());
-
- // ------------------------------------------------------------------------
- // enable event (syscall) on session
- // ------------------------------------------------------------------------
- fFacility.executeCommand(session, "enableEventOnSession");
-
- // Get Kernel domain component instance
- domains = session.getChildren();
- assertNotNull(domains);
- assertEquals(1, domains.length);
-
- // Verify that channel was created with correct data
- channels = domains[0].getChildren();
- channel = (TraceChannelComponent) channels[0];
- // No need to check parameters of default channel because that has been done in other tests
-
- channel = (TraceChannelComponent) channels[2];
-
- channel0Events = channel.getChildren();
- assertEquals(4, channel0Events.length);
-
- assertTrue(channel0Events[0] instanceof TraceEventComponent);
-
- event = (TraceEventComponent) channel0Events[0];
- assertEquals("syscalls", event.getName());
- assertEquals(TraceLogLevel.LEVEL_UNKNOWN, event.getLogLevel());
- assertEquals(TraceEventType.SYSCALL, event.getEventType());
- assertEquals(TraceEnablement.ENABLED, event.getState());
-
-
- // ------------------------------------------------------------------------
- // enable event (dynamic probe) on domain
- // ------------------------------------------------------------------------
- events.clear();
- eventsDialogStub.setIsSysCalls(false);
- eventsDialogStub.setIsDynamicProbe(true);
- eventsDialogStub.setDynamicProbe("0xc0101280");
- eventsDialogStub.setProbeEventName("myevent1");
-
- fFacility.executeCommand(domains[0], "enableEventOnDomain");
-
- // Get Kernel domain component instance
- domains = session.getChildren();
- assertNotNull(domains);
- assertEquals(1, domains.length);
-
- // Verify that channel was created with correct data
- channels = domains[0].getChildren();
- channel = (TraceChannelComponent) channels[2];
- // No need to check parameters of default channel because that has been done in other tests
-
- channel0Events = channel.getChildren();
- assertEquals(5, channel0Events.length);
-
- assertTrue(channel0Events[0] instanceof TraceProbeEventComponent);
-
- TraceProbeEventComponent probeEvent = (TraceProbeEventComponent) channel0Events[0];
- assertEquals("myevent1", probeEvent.getName());
- assertEquals(TraceLogLevel.LEVEL_UNKNOWN, probeEvent.getLogLevel());
- assertEquals(TraceEventType.PROBE, probeEvent.getEventType());
- assertEquals(TraceEnablement.ENABLED, probeEvent.getState());
- assertNull(probeEvent.getOffset());
- assertEquals("0xc0101280", probeEvent.getAddress());
- assertNull(probeEvent.getSymbol());
-
- // ------------------------------------------------------------------------
- // enable event (dynamic probe) on channel
- // ------------------------------------------------------------------------
- eventsDialogStub.setIsDynamicProbe(true);
- eventsDialogStub.setDynamicProbe("init_post");
- eventsDialogStub.setProbeEventName("myevent2");
-
- fFacility.executeCommand(channels[2], "enableEventOnChannel");
-
- // Get Kernel domain component instance
- domains = session.getChildren();
- assertNotNull(domains);
- assertEquals(1, domains.length);
-
- // Verify that channel was created with correct data
- channels = domains[0].getChildren();
- channel = (TraceChannelComponent) channels[2];
- // No need to check parameters of default channel because that has been done in other tests
-
- channel0Events = channel.getChildren();
- assertEquals(6, channel0Events.length);
-
- assertTrue(channel0Events[0] instanceof TraceProbeEventComponent);
-
- probeEvent = (TraceProbeEventComponent) channel0Events[0];
- assertEquals("myevent2", probeEvent.getName());
- assertEquals(TraceLogLevel.LEVEL_UNKNOWN, probeEvent.getLogLevel());
- assertEquals(TraceEventType.PROBE, probeEvent.getEventType());
- assertEquals(TraceEnablement.ENABLED, probeEvent.getState());
- assertEquals("0x0", probeEvent.getOffset());
- assertNull(null, probeEvent.getAddress());
- assertEquals("init_post", probeEvent.getSymbol());
-
- // ------------------------------------------------------------------------
- // enable event (dynamic probe) on session
- // ------------------------------------------------------------------------
- eventsDialogStub.setIsDynamicProbe(true);
- eventsDialogStub.setDynamicProbe("init_post:0x1000");
- eventsDialogStub.setProbeEventName("myevent3");
-
- fFacility.executeCommand(session, "enableEventOnSession");
-
- // Get Kernel domain component instance
- domains = session.getChildren();
- assertNotNull(domains);
- assertEquals(1, domains.length);
-
- // Verify that channel was created with correct data
- channels = domains[0].getChildren();
- channel = (TraceChannelComponent) channels[2];
- // No need to check parameters of default channel because that has been done in other tests
-
- channel0Events = channel.getChildren();
- assertEquals(7, channel0Events.length);
-
- assertTrue(channel0Events[0] instanceof TraceProbeEventComponent);
-
- probeEvent = (TraceProbeEventComponent) channel0Events[0];
- assertEquals("myevent3", probeEvent.getName());
- assertEquals(TraceLogLevel.LEVEL_UNKNOWN, probeEvent.getLogLevel());
- assertEquals(TraceEventType.PROBE, probeEvent.getEventType());
- assertEquals(TraceEnablement.ENABLED, probeEvent.getState());
- assertEquals("0x1000", probeEvent.getOffset());
- assertNull(null, probeEvent.getAddress());
- assertEquals("init_post", probeEvent.getSymbol());
-
- // ------------------------------------------------------------------------
- // enable event (dynamic function probe) on session
- // ------------------------------------------------------------------------
- eventsDialogStub.setIsDynamicProbe(false);
- eventsDialogStub.setDynamicProbe(null);
- eventsDialogStub.setProbeEventName(null);
- eventsDialogStub.setIsFunctionProbe(true);
- eventsDialogStub.setFunctionEventName("myevent4");
- eventsDialogStub.setFunctionProbe("create_dev");
-
- fFacility.executeCommand(session, "enableEventOnSession");
-
- // Get Kernel domain component instance
- domains = session.getChildren();
- assertNotNull(domains);
- assertEquals(1, domains.length);
-
- // Verify that channel was created with correct data
- channels = domains[0].getChildren();
- channel = (TraceChannelComponent) channels[2];
- // No need to check parameters of default channel because that has been done in other tests
-
- channel0Events = channel.getChildren();
- assertEquals(8, channel0Events.length);
-
- assertTrue(channel0Events[0] instanceof TraceProbeEventComponent);
-
- probeEvent = (TraceProbeEventComponent) channel0Events[0];
- assertEquals("myevent4", probeEvent.getName());
- assertEquals(TraceLogLevel.LEVEL_UNKNOWN, probeEvent.getLogLevel());
- // Changed for Bug fix 419454 to function event which was introduced by LTTng 2.2
- assertEquals(TraceEventType.FUNCTION, probeEvent.getEventType());
- assertEquals(TraceEnablement.ENABLED, probeEvent.getState());
- assertEquals("0x0", probeEvent.getOffset());
- assertNull(null, probeEvent.getAddress());
- assertEquals("create_dev", probeEvent.getSymbol());
-
- // ------------------------------------------------------------------------
- // enable event (dynamic function probe) on domain
- // ------------------------------------------------------------------------
- eventsDialogStub.setIsFunctionProbe(true);
- eventsDialogStub.setFunctionEventName("myevent5");
- eventsDialogStub.setFunctionProbe("create_dev:0x2000");
-
- fFacility.executeCommand(domains[0], "enableEventOnDomain");
-
- // Get Kernel domain component instance
- domains = session.getChildren();
- assertNotNull(domains);
- assertEquals(1, domains.length);
-
- // Verify that channel was created with correct data
- channels = domains[0].getChildren();
- channel = (TraceChannelComponent) channels[2];
- // No need to check parameters of default channel because that has been done in other tests
-
- channel0Events = channel.getChildren();
- assertEquals(9, channel0Events.length);
-
- assertTrue(channel0Events[0] instanceof TraceProbeEventComponent);
-
- probeEvent = (TraceProbeEventComponent) channel0Events[0];
- assertEquals("myevent5", probeEvent.getName());
- assertEquals(TraceLogLevel.LEVEL_UNKNOWN, probeEvent.getLogLevel());
- assertEquals(TraceEventType.PROBE, probeEvent.getEventType());
- assertEquals(TraceEnablement.ENABLED, probeEvent.getState());
- assertEquals("0x2000", probeEvent.getOffset());
- assertNull(null, probeEvent.getAddress());
- assertEquals("create_dev", probeEvent.getSymbol());
-
- // ------------------------------------------------------------------------
- // enable event (dynamic function probe) on channel
- // ------------------------------------------------------------------------
- eventsDialogStub.setIsFunctionProbe(true);
- eventsDialogStub.setFunctionEventName("myevent");
- eventsDialogStub.setFunctionProbe("create_dev:0x2000");
-
- fFacility.executeCommand(channels[0], "enableEventOnChannel");
-
- // Get Kernel domain component instance
- domains = session.getChildren();
- assertNotNull(domains);
- assertEquals(1, domains.length);
-
- // Verify that channel was created with correct data
- channels = domains[0].getChildren();
- channel = (TraceChannelComponent) channels[0];
- // No need to check parameters of default channel because that has been done in other tests
-
- channel0Events = channel.getChildren();
- assertEquals(2, channel0Events.length);
-
- assertTrue(channel0Events[0] instanceof TraceProbeEventComponent);
-
- probeEvent = (TraceProbeEventComponent) channel0Events[0];
- assertEquals("myevent", probeEvent.getName());
- assertEquals(TraceLogLevel.LEVEL_UNKNOWN, probeEvent.getLogLevel());
- assertEquals(TraceEventType.PROBE, probeEvent.getEventType());
- assertEquals(TraceEnablement.ENABLED, probeEvent.getState());
- assertEquals("0x2000", probeEvent.getOffset());
- assertNull(null, probeEvent.getAddress());
- assertEquals("create_dev", probeEvent.getSymbol());
-
- // ------------------------------------------------------------------------
- // Add Context on domain
- // ------------------------------------------------------------------------
- // Get Kernel domain component instance
- domains = session.getChildren();
- assertNotNull(domains);
- assertEquals(1, domains.length);
-
- AddContextDialogStub addContextStub = new AddContextDialogStub();
- List<String> contexts = new ArrayList<>();
- contexts.add("prio");
- contexts.add("perf:branch-misses");
- contexts.add("perf:cache-misses");
- addContextStub.setContexts(contexts);
- TraceControlDialogFactory.getInstance().setAddContextDialog(addContextStub);
-
- fFacility.executeCommand(domains[0], "addContextOnDomain");
- // Currently there is nothing to verify because the list commands don't show any context information
- // However, the execution of the command make sure that the correct service command line is build and executed.
-
- // ------------------------------------------------------------------------
- // Add Context on channel
- // ------------------------------------------------------------------------
-
- // Get Kernel domain component instance
- domains = session.getChildren();
- assertNotNull(domains);
- assertEquals(1, domains.length);
-
- //Verify that channel was created with correct data
- channels = domains[0].getChildren();
- channel = (TraceChannelComponent) channels[0];
-
- try {
- // The setContext() verifies that the contexts set are part of the available contexts
- // The available contexts are set by the command handler addContextOnDomain above.
- // So we indirectly test here that the parsing and setting of available contexts were
- // done correctly above.
- addContextStub.setContexts(contexts);
- } catch (IllegalArgumentException e) {
- fail("Exception caught - unknown context");
- }
-
- fFacility.executeCommand(channel, "addContextOnChannel");
- // Currently there is nothing to verify because the list commands don't show any context information
- // However, the execution of the command make sure that the correct service command line is build and executed.
-
- // ------------------------------------------------------------------------
- // Add Context on event
- // ------------------------------------------------------------------------
- // Get Kernel domain component instance
- domains = session.getChildren();
- assertNotNull(domains);
- assertEquals(1, domains.length);
-
- //Verify that channel was created with correct data
- channels = domains[0].getChildren();
- channel = (TraceChannelComponent) channels[2];
-
- channel0Events = channel.getChildren();
-
- event = (TraceEventComponent) channel0Events[6];
-
- fFacility.executeCommand(event, "addContextOnEvent");
- // Currently there is nothing to verify because the list commands don't show any context information
- // However, the execution of the command make sure that the correct service command line is build and executed.
-
- // ------------------------------------------------------------------------
- // Calibrate
- // ------------------------------------------------------------------------
- // Get Kernel domain component instance
- domains = session.getChildren();
- assertNotNull(domains);
- assertEquals(1, domains.length);
-
- fFacility.executeCommand(domains[0], "calibrate");
- // There is nothing to verify here.
- // However, the execution of the command make sure that the correct service command line is build and executed.
-
- // ------------------------------------------------------------------------
- // refresh
- // ------------------------------------------------------------------------
- fFacility.executeCommand(node, "refresh");
- groups = node.getChildren();
- assertNotNull(groups);
- assertEquals(2, groups.length);
- assertEquals(3, groups[0].getChildren().length); // provider
- assertEquals(1, groups[1].getChildren().length); // sessions
- assertEquals(1, groups[1].getChildren()[0].getChildren().length); // domains
- assertEquals(3, groups[1].getChildren()[0].getChildren()[0].getChildren().length); // channels
- assertEquals(2, groups[1].getChildren()[0].getChildren()[0].getChildren()[0].getChildren().length); // events (of channel[0])
-
- // Initialize session handling scenario
- fProxy.setScenario(TraceControlTestFacility.SCEN_SCENARIO_SESSION_HANDLING);
-
- session = (TraceSessionComponent)groups[1].getChildren()[0];
-
- // ------------------------------------------------------------------------
- // start session
- // ------------------------------------------------------------------------
- fFacility.startSession(session);
- assertEquals(TraceSessionState.ACTIVE, session.getSessionState());
-
- // ------------------------------------------------------------------------
- // stop session
- // ------------------------------------------------------------------------
- fFacility.stopSession(session);
- assertEquals(TraceSessionState.INACTIVE, session.getSessionState());
-
- // ------------------------------------------------------------------------
- // Destroy session
- // ------------------------------------------------------------------------
-
- fFacility.destroySession(session);
-
- // Verify that no more session components exist
- assertEquals(0, groups[1].getChildren().length);
-
- //-------------------------------------------------------------------------
- // Disconnect node
- //-------------------------------------------------------------------------
- fFacility.executeCommand(node, "disconnect");
- assertEquals(TargetNodeState.DISCONNECTED, node.getTargetNodeState());
-
- //-------------------------------------------------------------------------
- // Delete node
- //-------------------------------------------------------------------------
-
- fFacility.executeCommand(node, "delete");
- assertEquals(0,fFacility.getControlView().getTraceControlRoot().getChildren().length);
- }
-
-} \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.ui.tests/src/org/eclipse/linuxtools/lttng2/control/ui/tests/model/component/TraceControlPropertiesTest.java b/lttng/org.eclipse.linuxtools.lttng2.control.ui.tests/src/org/eclipse/linuxtools/lttng2/control/ui/tests/model/component/TraceControlPropertiesTest.java
deleted file mode 100644
index 1526024d55..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.ui.tests/src/org/eclipse/linuxtools/lttng2/control/ui/tests/model/component/TraceControlPropertiesTest.java
+++ /dev/null
@@ -1,364 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2012, 2014 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:
- * Bernd Hufmann - Initial API and implementation
- * Alexandre Montplaisir - Port to JUnit4
- * Markus Schorn - Bug 448058: Use org.eclipse.remote in favor of RSE
- **********************************************************************/
-
-package org.eclipse.linuxtools.lttng2.control.ui.tests.model.component;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertNull;
-import static org.junit.Assert.assertTrue;
-
-import java.io.File;
-import java.net.URL;
-
-import org.eclipse.core.runtime.FileLocator;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.IChannelInfo;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.TargetNodeState;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.TraceEnablement;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.TraceEventType;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.TraceLogLevel;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.TraceSessionState;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.impl.BufferType;
-import org.eclipse.linuxtools.internal.lttng2.control.stubs.service.TestRemoteSystemProxy;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.model.ITraceControlComponent;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.model.impl.BaseEventComponent;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.model.impl.KernelProviderComponent;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.model.impl.TargetNodeComponent;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.model.impl.TraceChannelComponent;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.model.impl.TraceDomainComponent;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.model.impl.TraceEventComponent;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.model.impl.TraceProbeEventComponent;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.model.impl.TraceSessionComponent;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.model.impl.UstProviderComponent;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.property.BaseEventPropertySource;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.property.KernelProviderPropertySource;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.property.TargetNodePropertySource;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.property.TraceChannelPropertySource;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.property.TraceDomainPropertySource;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.property.TraceEventPropertySource;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.property.TraceProbeEventPropertySource;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.property.TraceSessionPropertySource;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.property.UstProviderPropertySource;
-import org.eclipse.remote.core.IRemoteConnection;
-import org.eclipse.remote.core.IRemoteConnectionManager;
-import org.eclipse.remote.core.RemoteServices;
-import org.eclipse.ui.views.properties.IPropertySource;
-import org.junit.After;
-import org.junit.Test;
-import org.osgi.framework.FrameworkUtil;
-
-/**
- * The class <code>TraceControlPropertiesTest</code> contains tests for the all
- * property class</code>.
- */
-public class TraceControlPropertiesTest {
-
- // ------------------------------------------------------------------------
- // Constants
- // ------------------------------------------------------------------------
-
- private static final String DIRECTORY = "testfiles";
- private static final String TEST_STREAM = "ListInfoTest.cfg";
- private static final String SCEN_LIST_INFO_TEST = "ListInfoTest";
-
- // ------------------------------------------------------------------------
- // Housekeeping
- // ------------------------------------------------------------------------
-
- /**
- * Perform post-test clean-up.
- */
- @After
- public void tearDown() {
- TraceControlTestFacility.getInstance().waitForJobs();
- }
-
- /**
- * Run the TraceControlComponent.
- *
- * @throws Exception
- * This will fail the test
- */
- @Test
- public void testComponentProperties() throws Exception {
-
- TestRemoteSystemProxy proxy = new TestRemoteSystemProxy();
-
- URL location = FileLocator.find(FrameworkUtil.getBundle(this.getClass()), new Path(DIRECTORY + File.separator + TEST_STREAM), null);
- File testfile = new File(FileLocator.toFileURL(location).toURI());
- proxy.setTestFile(testfile.getAbsolutePath());
- proxy.setScenario(SCEN_LIST_INFO_TEST);
-
- ITraceControlComponent root = TraceControlTestFacility.getInstance().getControlView().getTraceControlRoot();
-
- IRemoteConnectionManager cm = RemoteServices.getLocalServices().getConnectionManager();
- IRemoteConnection host = cm.getConnection(IRemoteConnectionManager.LOCAL_CONNECTION_NAME);
-
- TargetNodeComponent node = new TargetNodeComponent("myNode", root, host, proxy);
-
- root.addChild(node);
- node.connect();
-
- TraceControlTestFacility.getInstance().waitForConnect(node);
- TraceControlTestFacility.getInstance().waitForJobs();
-
- // ------------------------------------------------------------------------
- // Verify Node Properties (adapter)
- // ------------------------------------------------------------------------
- Object adapter = node.getAdapter(IPropertySource.class);
- assertNotNull(adapter);
- assertTrue(adapter instanceof TargetNodePropertySource);
-
- TargetNodePropertySource source = (TargetNodePropertySource)adapter;
-
- assertNull(source.getEditableValue());
- assertFalse(source.isPropertySet(TargetNodePropertySource.TARGET_NODE_NAME_PROPERTY_ID));
- assertNotNull(source.getPropertyDescriptors());
-
- assertEquals("myNode", source.getPropertyValue(TargetNodePropertySource.TARGET_NODE_NAME_PROPERTY_ID));
- assertEquals("localhost", source.getPropertyValue(TargetNodePropertySource.TARGET_NODE_ADDRESS_PROPERTY_ID));
- assertEquals(TargetNodeState.CONNECTED.name(), source.getPropertyValue(TargetNodePropertySource.TARGET_NODE_STATE_PROPERTY_ID));
- assertEquals("2.1.0", source.getPropertyValue(TargetNodePropertySource.TARGET_NODE_VERSION_PROPERTY_ID));
- assertNull(source.getPropertyValue("test"));
-
- adapter = node.getAdapter(IChannelInfo.class);
- assertNull(adapter);
-
- ITraceControlComponent[] groups = node.getChildren();
- assertNotNull(groups);
- assertEquals(2, groups.length);
-
- ITraceControlComponent[] providers = groups[0].getChildren();
-
- assertNotNull(providers);
- assertEquals(3, providers.length);
-
- // ------------------------------------------------------------------------
- // Verify Kernel Provider Properties (adapter)
- // ------------------------------------------------------------------------
- KernelProviderComponent kernelProvider = (KernelProviderComponent) providers[0];
-
- adapter = kernelProvider.getAdapter(IPropertySource.class);
- assertNotNull(adapter);
- assertTrue(adapter instanceof KernelProviderPropertySource);
-
- KernelProviderPropertySource kernelSource = (KernelProviderPropertySource)adapter;
- assertNotNull(kernelSource.getPropertyDescriptors());
-
- assertEquals("Kernel", kernelSource.getPropertyValue(KernelProviderPropertySource.KERNEL_PROVIDER_NAME_PROPERTY_ID));
-
- // ------------------------------------------------------------------------
- // Verify UST Provider Properties (adapter)
- // ------------------------------------------------------------------------
- UstProviderComponent ustProvider = (UstProviderComponent) providers[1];
-
- adapter = ustProvider.getAdapter(IPropertySource.class);
- assertNotNull(adapter);
- assertTrue(adapter instanceof UstProviderPropertySource);
-
- UstProviderPropertySource ustSource = (UstProviderPropertySource)adapter;
- assertNotNull(ustSource.getPropertyDescriptors());
-
- assertEquals("/home/user/git/lttng-ust/tests/hello.cxx/.libs/lt-hello [PID=9379]", ustSource.getPropertyValue(UstProviderPropertySource.UST_PROVIDER_NAME_PROPERTY_ID));
- assertEquals(String.valueOf(9379), ustSource.getPropertyValue(UstProviderPropertySource.UST_PROVIDER_PID_PROPERTY_ID));
-
- // ------------------------------------------------------------------------
- // Verify Base Event Properties (adapter)
- // ------------------------------------------------------------------------
- ITraceControlComponent[] events = ustProvider.getChildren();
- assertNotNull(events);
- assertEquals(2, events.length);
-
- BaseEventComponent baseEventInfo = (BaseEventComponent) events[0];
- assertNotNull(baseEventInfo);
-
- adapter = baseEventInfo.getAdapter(IPropertySource.class);
- assertNotNull(adapter);
- assertTrue(adapter instanceof BaseEventPropertySource);
-
- BaseEventPropertySource baseSource = (BaseEventPropertySource)adapter;
- assertNotNull(baseSource.getPropertyDescriptors());
-
- assertEquals("ust_tests_hello:tptest_sighandler", baseSource.getPropertyValue(BaseEventPropertySource.BASE_EVENT_NAME_PROPERTY_ID));
- assertEquals(TraceEventType.TRACEPOINT.name(), baseSource.getPropertyValue(BaseEventPropertySource.BASE_EVENT_TYPE_PROPERTY_ID));
- assertEquals(TraceLogLevel.TRACE_DEBUG_MODULE.name(), baseSource.getPropertyValue(BaseEventPropertySource.BASE_EVENT_LOGLEVEL_PROPERTY_ID));
-
- baseEventInfo = (BaseEventComponent) events[1];
- assertNotNull(baseEventInfo);
-
- adapter = baseEventInfo.getAdapter(IPropertySource.class);
- assertNotNull(adapter);
- assertTrue(adapter instanceof BaseEventPropertySource);
- baseSource = (BaseEventPropertySource)adapter;
- assertNotNull(baseSource.getPropertyDescriptors());
- assertEquals("doublefield=float;floatfield=float;stringfield=string", baseSource.getPropertyValue(BaseEventPropertySource.BASE_EVENT_FIELDS_PROPERTY_ID));
-
- // ------------------------------------------------------------------------
- // Verify Session Properties (adapter)
- // ------------------------------------------------------------------------
- ITraceControlComponent[] sessions = groups[1].getChildren();
- assertNotNull(sessions);
- assertEquals(2, sessions.length);
-
- TraceSessionComponent session = (TraceSessionComponent)sessions[1];
-
- adapter = session.getAdapter(IPropertySource.class);
- assertNotNull(adapter);
- assertTrue(adapter instanceof TraceSessionPropertySource);
-
- TraceSessionPropertySource sessionSource = (TraceSessionPropertySource)adapter;
- assertNotNull(sessionSource.getPropertyDescriptors());
-
- assertEquals("mysession", sessionSource.getPropertyValue(TraceSessionPropertySource.TRACE_SESSION_NAME_PROPERTY_ID));
- assertEquals("/home/user/lttng-traces/mysession-20120129-084256", sessionSource.getPropertyValue(TraceSessionPropertySource.TRACE_SESSION_PATH_PROPERTY_ID));
- assertEquals(TraceSessionState.ACTIVE.name(), sessionSource.getPropertyValue(TraceSessionPropertySource.TRACE_SESSION_STATE_PROPERTY_ID));
-
- // ------------------------------------------------------------------------
- // Verify Domain Provider Properties (adapter)
- // ------------------------------------------------------------------------
- ITraceControlComponent[] domains = session.getChildren();
- assertNotNull(domains);
- assertEquals(2, domains.length);
-
- TraceDomainComponent domain = (TraceDomainComponent) domains[0];
- adapter = domain.getAdapter(IPropertySource.class);
- assertNotNull(adapter);
- assertTrue(adapter instanceof TraceDomainPropertySource);
-
- TraceDomainPropertySource domainSource = (TraceDomainPropertySource)adapter;
- assertNotNull(domainSource.getPropertyDescriptors());
-
- assertEquals("Kernel", domainSource.getPropertyValue(TraceDomainPropertySource.TRACE_DOMAIN_NAME_PROPERTY_ID));
- assertEquals(BufferType.BUFFER_SHARED.getInName(), domainSource.getPropertyValue(TraceDomainPropertySource.BUFFER_TYPE_PROPERTY_ID));
-
- ITraceControlComponent[] channels = domains[0].getChildren();
- assertNotNull(channels);
- assertEquals(2, channels.length);
-
- // ------------------------------------------------------------------------
- // Verify Channel Properties (adapter)
- // ------------------------------------------------------------------------
- assertTrue(channels[0] instanceof TraceChannelComponent);
- TraceChannelComponent channel = (TraceChannelComponent) channels[0];
-
- adapter = channel.getAdapter(IPropertySource.class);
- assertNotNull(adapter);
- assertTrue(adapter instanceof TraceChannelPropertySource);
-
- TraceChannelPropertySource channelSource = (TraceChannelPropertySource)adapter;
- assertNotNull(channelSource.getPropertyDescriptors());
-
- assertEquals("channel0", channelSource.getPropertyValue(TraceChannelPropertySource.TRACE_CHANNEL_NAME_PROPERTY_ID));
- assertEquals(String.valueOf(4), channelSource.getPropertyValue(TraceChannelPropertySource.TRACE_CHANNEL_NO_SUBBUFFERS_PROPERTY_ID));
- assertEquals(TraceEnablement.ENABLED.name(), channelSource.getPropertyValue(TraceChannelPropertySource.TRACE_CHANNEL_STATE_PROPERTY_ID));
- assertEquals(String.valueOf(false), channelSource.getPropertyValue(TraceChannelPropertySource.TRACE_CHANNEL_OVERWRITE_MODE_PROPERTY_ID));
- assertEquals("splice()", channelSource.getPropertyValue(TraceChannelPropertySource.TRACE_CHANNEL_OUTPUT_TYPE_PROPERTY_ID));
- assertEquals(String.valueOf(200), channelSource.getPropertyValue(TraceChannelPropertySource.TRACE_CHANNEL_READ_TIMER_PROPERTY_ID));
- assertEquals(String.valueOf(262144), channelSource.getPropertyValue(TraceChannelPropertySource.TRACE_CHANNEL_SUBBUFFER_SIZE_PROPERTY_ID));
- assertEquals(String.valueOf(0), channelSource.getPropertyValue(TraceChannelPropertySource.TRACE_CHANNEL_SWITCH_TIMER_PROPERTY_ID));
-
- // ------------------------------------------------------------------------
- // Verify Event Properties (adapter)
- // ------------------------------------------------------------------------
- ITraceControlComponent[] channel0Events = channel.getChildren();
- assertNotNull(channel0Events);
- assertEquals(5, channel0Events.length);
- assertTrue(channel0Events[0] instanceof TraceEventComponent);
-
- TraceEventComponent event = (TraceEventComponent) channel0Events[0];
-
- adapter = event.getAdapter(IPropertySource.class);
- assertNotNull(adapter);
- assertTrue(adapter instanceof TraceEventPropertySource);
-
- TraceEventPropertySource eventSource = (TraceEventPropertySource)adapter;
- assertNotNull(eventSource.getPropertyDescriptors());
-
- assertEquals("block_rq_remap", eventSource.getPropertyValue(TraceEventPropertySource.TRACE_EVENT_NAME_PROPERTY_ID));
- assertEquals(TraceLogLevel.TRACE_EMERG.name(), eventSource.getPropertyValue(TraceEventPropertySource.TRACE_EVENT_LOGLEVEL_PROPERTY_ID));
- assertEquals(TraceEventType.TRACEPOINT.name(), eventSource.getPropertyValue(TraceEventPropertySource.TRACE_EVENT_TYPE_PROPERTY_ID));
- assertEquals(TraceEnablement.ENABLED.name(), eventSource.getPropertyValue(TraceEventPropertySource.TRACE_EVENT_STATE_PROPERTY_ID));
-
- // ------------------------------------------------------------------------
- // Verify Probe Event Properties (adapter)
- // ------------------------------------------------------------------------
- assertTrue(channel0Events[2] instanceof TraceProbeEventComponent);
-
- TraceProbeEventComponent probeEvent = (TraceProbeEventComponent) channel0Events[2];
-
- adapter = probeEvent.getAdapter(IPropertySource.class);
- assertNotNull(adapter);
- assertTrue(adapter instanceof TraceProbeEventPropertySource);
-
- TraceProbeEventPropertySource probeEventSource = (TraceProbeEventPropertySource)adapter;
- assertNotNull(probeEventSource.getPropertyDescriptors());
- assertEquals(4, probeEventSource.getPropertyDescriptors().length);
-
- assertEquals("myevent2", probeEventSource.getPropertyValue(TraceEventPropertySource.TRACE_EVENT_NAME_PROPERTY_ID));
- assertEquals(TraceEventType.PROBE.name(), probeEventSource.getPropertyValue(TraceEventPropertySource.TRACE_EVENT_TYPE_PROPERTY_ID));
- assertEquals(TraceEnablement.ENABLED.name(), probeEventSource.getPropertyValue(TraceEventPropertySource.TRACE_EVENT_STATE_PROPERTY_ID));
- assertEquals("0xc0101340", probeEventSource.getPropertyValue(TraceProbeEventPropertySource.TRACE_EVENT_PROBE_ADDRESS_PROPERTY_ID));
-
- assertTrue(channel0Events[3] instanceof TraceProbeEventComponent);
-
- probeEvent = (TraceProbeEventComponent) channel0Events[3];
-
- adapter = probeEvent.getAdapter(IPropertySource.class);
- assertNotNull(adapter);
- assertTrue(adapter instanceof TraceProbeEventPropertySource);
-
- probeEventSource = (TraceProbeEventPropertySource)adapter;
- assertNotNull(probeEventSource.getPropertyDescriptors());
- assertEquals(5, probeEventSource.getPropertyDescriptors().length);
-
- assertEquals("myevent0", probeEventSource.getPropertyValue(TraceEventPropertySource.TRACE_EVENT_NAME_PROPERTY_ID));
- assertEquals(TraceEventType.PROBE.name(), probeEventSource.getPropertyValue(TraceEventPropertySource.TRACE_EVENT_TYPE_PROPERTY_ID));
- assertEquals(TraceEnablement.ENABLED.name(), probeEventSource.getPropertyValue(TraceEventPropertySource.TRACE_EVENT_STATE_PROPERTY_ID));
- assertEquals("0x0", probeEventSource.getPropertyValue(TraceProbeEventPropertySource.TRACE_EVENT_PROBE_OFFSET_PROPERTY_ID));
- assertEquals("init_post", probeEventSource.getPropertyValue(TraceProbeEventPropertySource.TRACE_EVENT_PROBE_SYMBOL_PROPERTY_ID));
-
- //-------------------------------------------------------------------------
- // Verify Filter of UST event
- //-------------------------------------------------------------------------
- event = (TraceEventComponent) domains[1].getChildren()[1].getChildren()[0];
- adapter = event.getAdapter(IPropertySource.class);
- assertEquals("with filter", event.getFilterExpression());
-
- //-------------------------------------------------------------------------
- // Verify Log Level Type of UST events (> LTTng 2.4)
- //-------------------------------------------------------------------------
- event = (TraceEventComponent) domains[1].getChildren()[1].getChildren()[0];
- adapter = event.getAdapter(IPropertySource.class);
- eventSource = (TraceEventPropertySource) adapter;
- assertEquals("== TRACE_DEBUG_LINE", eventSource.getPropertyValue(TraceEventPropertySource.TRACE_EVENT_LOGLEVEL_PROPERTY_ID));
-
- event = (TraceEventComponent) domains[1].getChildren()[1].getChildren()[1];
- adapter = event.getAdapter(IPropertySource.class);
- eventSource = (TraceEventPropertySource) adapter;
- assertEquals("<= TRACE_INFO", eventSource.getPropertyValue(TraceEventPropertySource.TRACE_EVENT_LOGLEVEL_PROPERTY_ID));
-
- event = (TraceEventComponent) domains[1].getChildren()[1].getChildren()[2];
- adapter = event.getAdapter(IPropertySource.class);
- eventSource = (TraceEventPropertySource) adapter;
- assertEquals("TRACE_DEBUG_SYSTEM", eventSource.getPropertyValue(TraceEventPropertySource.TRACE_EVENT_LOGLEVEL_PROPERTY_ID));
-
- //-------------------------------------------------------------------------
- // Delete node
- //-------------------------------------------------------------------------
- node.disconnect();
- node.getParent().removeChild(node);
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.ui.tests/src/org/eclipse/linuxtools/lttng2/control/ui/tests/model/component/TraceControlSnapshotSessionTests.java b/lttng/org.eclipse.linuxtools.lttng2.control.ui.tests/src/org/eclipse/linuxtools/lttng2/control/ui/tests/model/component/TraceControlSnapshotSessionTests.java
deleted file mode 100644
index df0ea9c4cf..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.ui.tests/src/org/eclipse/linuxtools/lttng2/control/ui/tests/model/component/TraceControlSnapshotSessionTests.java
+++ /dev/null
@@ -1,219 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2013, 2014 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:
- * Bernd Hufmann - Initial API and implementation
- * Markus Schorn - Bug 448058: Use org.eclipse.remote in favor of RSE
- **********************************************************************/
-
-package org.eclipse.linuxtools.lttng2.control.ui.tests.model.component;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertTrue;
-
-import java.io.File;
-import java.net.URL;
-import java.util.HashMap;
-import java.util.Map;
-
-import org.eclipse.core.runtime.FileLocator;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.TargetNodeState;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.TraceSessionState;
-import org.eclipse.linuxtools.internal.lttng2.control.stubs.dialogs.CreateSessionDialogStub;
-import org.eclipse.linuxtools.internal.lttng2.control.stubs.dialogs.DestroyConfirmDialogStub;
-import org.eclipse.linuxtools.internal.lttng2.control.stubs.dialogs.GetEventInfoDialogStub;
-import org.eclipse.linuxtools.internal.lttng2.control.stubs.service.TestRemoteSystemProxy;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.dialogs.TraceControlDialogFactory;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.model.ITraceControlComponent;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.model.impl.TargetNodeComponent;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.model.impl.TraceSessionComponent;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.property.TraceSessionPropertySource;
-import org.eclipse.remote.core.IRemoteConnection;
-import org.eclipse.remote.core.IRemoteConnectionManager;
-import org.eclipse.remote.core.RemoteServices;
-import org.eclipse.ui.views.properties.IPropertyDescriptor;
-import org.eclipse.ui.views.properties.IPropertySource;
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Test;
-import org.osgi.framework.FrameworkUtil;
-
-/**
- * The class <code>TraceControlSnapshotSessionTests</code> contains Snapshot
- * session test cases for support of LTTng Tools 2.3.
- */
-public class TraceControlSnapshotSessionTests {
-
- // ------------------------------------------------------------------------
- // Constants
- // ------------------------------------------------------------------------
-
- private static final String TEST_STREAM = "CreateSessionTest2.cfg";
- private static final String SCEN_CREATE_SESSION = "ScenCreateSession";
-
- // ------------------------------------------------------------------------
- // Test data
- // ------------------------------------------------------------------------
-
- private TraceControlTestFacility fFacility;
- private TestRemoteSystemProxy fProxy;
- private String fTestFile;
-
- // ------------------------------------------------------------------------
- // Housekeeping
- // ------------------------------------------------------------------------
-
- /**
- * Perform pre-test initialization.
- *
- * @throws Exception
- * if the initialization fails for some reason
- */
- @Before
- public void setUp() throws Exception {
- fFacility = TraceControlTestFacility.getInstance();
- fFacility.init();
- fProxy = new TestRemoteSystemProxy();
- URL location = FileLocator.find(FrameworkUtil.getBundle(this.getClass()), new Path(TraceControlTestFacility.DIRECTORY + File.separator + TEST_STREAM), null);
- File testfile = new File(FileLocator.toFileURL(location).toURI());
- fTestFile = testfile.getAbsolutePath();
- }
-
- /**
- * Perform post-test clean-up.
- */
- @After
- public void tearDown() {
- fFacility.waitForJobs();
- fFacility.dispose();
- }
-
- /**
- * Run the TraceControlComponent.
- *
- * @throws Exception
- * This will fail the test
- */
- @Test
- public void testTraceSessionTree() throws Exception {
-
- fProxy.setTestFile(fTestFile);
- fProxy.setScenario(TraceControlTestFacility.SCEN_INIT_TEST);
-
- ITraceControlComponent root = fFacility.getControlView().getTraceControlRoot();
-
- IRemoteConnectionManager cm = RemoteServices.getLocalServices().getConnectionManager();
- IRemoteConnection host = cm.getConnection(IRemoteConnectionManager.LOCAL_CONNECTION_NAME);
-
- TargetNodeComponent node = new TargetNodeComponent("myNode", root, host, fProxy);
-
- root.addChild(node);
- fFacility.waitForJobs();
-
- fFacility.executeCommand(node, "connect");
- int i = 0;
- while ((i < 10) && (node.getTargetNodeState() != TargetNodeState.CONNECTED)) {
- i++;
- fFacility.delay(TraceControlTestFacility.GUI_REFESH_DELAY);
- }
-
- // Get provider groups
- ITraceControlComponent[] groups = node.getChildren();
- assertNotNull(groups);
- assertEquals(2, groups.length);
-
- // Initialize dialog implementations for command execution
- // --- snapshot session ---
- CreateSessionDialogStub sessionDialog = new CreateSessionDialogStub();
- sessionDialog.setSnapshot(true);
-
- TraceControlDialogFactory.getInstance().setCreateSessionDialog(sessionDialog);
- TraceControlDialogFactory.getInstance().setGetEventInfoDialog(new GetEventInfoDialogStub());
- TraceControlDialogFactory.getInstance().setConfirmDialog(new DestroyConfirmDialogStub());
-
- // Initialize scenario
- fProxy.setScenario(SCEN_CREATE_SESSION);
-
- // ------------------------------------------------------------------------
- // Create session
- // ------------------------------------------------------------------------
- TraceSessionComponent session = fFacility.createSession(groups[1]);
-
- // Verify that session was created
- assertNotNull(session);
- assertEquals("mysession", session.getName());
- assertTrue(session.isSnapshotSession());
- assertNotNull(session.getSnapshotInfo());
- assertEquals("snapshot-1", session.getSnapshotInfo().getName());
- assertEquals("/home/user/lttng-traces/mysession-20130913-141651", session.getSnapshotInfo().getSnapshotPath());
- assertEquals(1, session.getSnapshotInfo().getId());
-
- // ------------------------------------------------------------------------
- // Start session
- // ------------------------------------------------------------------------
- fFacility.startSession(session);
- assertEquals(TraceSessionState.ACTIVE, session.getSessionState());
-
- // verify properties
- Object adapter = session.getAdapter(IPropertySource.class);
- assertNotNull(adapter);
- assertTrue(adapter instanceof TraceSessionPropertySource);
-
- TraceSessionPropertySource sessionSource = (TraceSessionPropertySource)adapter;
- IPropertyDescriptor[] descriptors = sessionSource.getPropertyDescriptors();
- assertNotNull(descriptors);
-
- Map<String,String> map = new HashMap<>();
- map.put(TraceSessionPropertySource.TRACE_SESSION_NAME_PROPERTY_ID, "mysession");
- map.put(TraceSessionPropertySource.TRACE_SNAPSHOT_NAME_PROPERTY_ID, "snapshot-1");
- map.put(TraceSessionPropertySource.TRACE_SNAPSHOT_PATH_PROPERTY_ID, "/home/user/lttng-traces/mysession-20130913-141651");
- map.put(TraceSessionPropertySource.TRACE_SNAPSHOT_ID_PROPERTY_ID, "1");
- map.put(TraceSessionPropertySource.TRACE_SESSION_STATE_PROPERTY_ID, TraceSessionState.ACTIVE.name());
-
- for (int j = 0; j < descriptors.length; j++) {
- String expected = map.get(descriptors[j].getId());
- assertNotNull(expected);
- assertEquals(expected, sessionSource.getPropertyValue(descriptors[j].getId()).toString());
- }
-
- // ------------------------------------------------------------------------
- // Record snapshot
- // ------------------------------------------------------------------------
- fFacility.executeCommand(session, "snapshot");
-
- // ------------------------------------------------------------------------
- // Stop snapshot
- // ------------------------------------------------------------------------
- fFacility.stopSession(session);
- assertEquals(TraceSessionState.INACTIVE, session.getSessionState());
-
- // ------------------------------------------------------------------------
- // Destroy session
- // ------------------------------------------------------------------------
- fFacility.destroySession(session);
-
- // Verify that no more session components exist
- assertEquals(0, groups[1].getChildren().length);
-
- //-------------------------------------------------------------------------
- // Disconnect node
- //-------------------------------------------------------------------------
- fFacility.executeCommand(node, "disconnect");
- assertEquals(TargetNodeState.DISCONNECTED, node.getTargetNodeState());
-
- //-------------------------------------------------------------------------
- // Delete node
- //-------------------------------------------------------------------------
-
- fFacility.executeCommand(node, "delete");
-
- assertEquals(0,fFacility.getControlView().getTraceControlRoot().getChildren().length);
- }
-} \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.ui.tests/src/org/eclipse/linuxtools/lttng2/control/ui/tests/model/component/TraceControlTestFacility.java b/lttng/org.eclipse.linuxtools.lttng2.control.ui.tests/src/org/eclipse/linuxtools/lttng2/control/ui/tests/model/component/TraceControlTestFacility.java
deleted file mode 100644
index 63a1fa3ec1..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.ui.tests/src/org/eclipse/linuxtools/lttng2/control/ui/tests/model/component/TraceControlTestFacility.java
+++ /dev/null
@@ -1,303 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011, 2014 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:
- * Bernd Hufmann - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.lttng2.control.ui.tests.model.component;
-
-import org.eclipse.core.commands.ExecutionException;
-import org.eclipse.core.commands.NotEnabledException;
-import org.eclipse.core.commands.NotHandledException;
-import org.eclipse.core.commands.common.NotDefinedException;
-import org.eclipse.core.runtime.jobs.Job;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.TargetNodeState;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.ControlView;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.model.ITraceControlComponent;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.model.impl.TargetNodeComponent;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.model.impl.TraceSessionComponent;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.ui.IViewPart;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.handlers.IHandlerService;
-import org.junit.Assert;
-
-/**
- * Singleton class to facilitate the test cases. Creates UML2SD view and loader objects as well as provides
- * utility methods for interacting with the loader/view.
- */
-@SuppressWarnings("javadoc")
-public class TraceControlTestFacility {
-
- // ------------------------------------------------------------------------
- // Constants
- // ------------------------------------------------------------------------
- public final static int WAIT_FOR_JOBS_DELAY = 50;
- public final static int GUI_REFESH_DELAY = 500;
-
- public final static String DIRECTORY = "testfiles";
- public final static String COMMAND_CATEGORY_PREFIX = "org.eclipse.linuxtools.internal.lttng2.ui.commands.control.";
- public final static String SCEN_INIT_TEST = "Initialize";
- public final static String SCEN_SCENARIO_SESSION_HANDLING = "SessionHandling";
- public final static String SCEN_SCENARIO_SESSION_HANDLING_WITH_PATH = "SessionHandlingWithPath";
-
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
- private static TraceControlTestFacility fInstance = null;
- private ControlView fControlView = null;
- private boolean fIsInitialized = false;
-
- // ------------------------------------------------------------------------
- // Constructors
- // ------------------------------------------------------------------------
- private TraceControlTestFacility() {
- }
-
- // ------------------------------------------------------------------------
- // Operations
- // ------------------------------------------------------------------------
- public static TraceControlTestFacility getInstance() {
- if (fInstance == null) {
- fInstance = new TraceControlTestFacility();
- }
- return fInstance;
- }
-
- /**
- * Initial the test facility.
- */
- public void init() {
-
- if (!fIsInitialized) {
-
- IViewPart view;
- try {
-
- view = PlatformUI.getWorkbench()
- .getActiveWorkbenchWindow()
- .getActivePage()
- .findView("org.eclipse.ui.internal.introview");
-
- if (view != null) {
- PlatformUI.getWorkbench()
- .getActiveWorkbenchWindow()
- .getActivePage().hideView(view);
- }
-
- view = PlatformUI.getWorkbench()
- .getActiveWorkbenchWindow()
- .getActivePage()
- .showView(ControlView.ID);
-
- } catch (PartInitException e) {
- throw new RuntimeException(e);
- }
-
- fControlView = (ControlView) view;
-
- delay(3000);
- fIsInitialized = true;
- }
- }
-
-
- /**
- * Disposes the facility (and GUI)
- */
- public void dispose() {
- if (fIsInitialized) {
- waitForJobs();
-
- PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().hideView(fControlView);
- fIsInitialized = false;
- }
- }
-
- /**
- * Creates a delay for given time.
- * @param waitTimeMillis - time in milli seconds
- */
- public void delay(long waitTimeMillis) {
- Display display = Display.getCurrent();
- if (display != null) {
- long endTimeMillis = System.currentTimeMillis() + waitTimeMillis;
- while(System.currentTimeMillis() < endTimeMillis) {
- if (!display.readAndDispatch()) {
- // We do not use Display.sleep because it might never wake up
- // if there is no user interaction
- try {
- Thread.sleep(Math.min(waitTimeMillis, 10));
- } catch (final InterruptedException e) {
- // Ignored
- }
- }
- display.update();
- }
- } else {
- try {
- Thread.sleep(waitTimeMillis);
- } catch (InterruptedException e) {
- // Ignored
- }
- }
- }
-
- /**
- * Waits for a connection to be connected
- */
- public void waitForConnect(TargetNodeComponent node) {
- for (int i = 1; i < 5000 && node.getTargetNodeState() == TargetNodeState.CONNECTING; i *= 2) {
- try {
- Thread.sleep(i);
- } catch (InterruptedException e) {
- Assert.fail();
- }
- }
- }
-
- /**
- * Waits for all Eclipse jobs to finish
- */
- public void waitForJobs() {
- while (!Job.getJobManager().isIdle()) {
- delay(WAIT_FOR_JOBS_DELAY);
- }
- }
-
- /**
- * @return current control view
- */
- public ControlView getControlView() {
- return fControlView;
- }
-
- /**
- * Executes an Eclipse command with command ID after selecting passed component
- * @param component - component to select in the tree
- * @param commandId - command ID
- * @throws ExecutionException
- * @throws NotDefinedException
- * @throws NotEnabledException
- * @throws NotHandledException
- */
- public void executeCommand(ITraceControlComponent component, String commandId) throws ExecutionException, NotDefinedException, NotEnabledException, NotHandledException {
- setSelection(component);
- executeCommand(commandId);
- }
-
- /**
- * Executes an Eclipse command with command ID after selecting passed components
- * @param components - array of components to select in the tree
- * @param commandId - command ID
- * @throws ExecutionException
- * @throws NotDefinedException
- * @throws NotEnabledException
- * @throws NotHandledException
- */
- public void executeCommand(ITraceControlComponent[] components, String commandId) throws ExecutionException, NotDefinedException, NotEnabledException, NotHandledException {
- setSelection(components);
- executeCommand(commandId);
- }
-
- /**
- * Executes an Eclipse command with command ID
- * @param commandId
- * @throws ExecutionException
- * @throws NotDefinedException
- * @throws NotEnabledException
- * @throws NotHandledException
- */
- public void executeCommand(String commandId) throws ExecutionException, NotDefinedException, NotEnabledException, NotHandledException {
- Object handlerServiceObject = fControlView.getSite().getService(IHandlerService.class);
- IHandlerService handlerService = (IHandlerService) handlerServiceObject;
- handlerService.executeCommand(COMMAND_CATEGORY_PREFIX + commandId, null);
- waitForJobs();
- }
-
- /**
- * Selects passed component
- * @param component - component to select in the tree
- * @param commandId - command ID
- */
- public void setSelection(ITraceControlComponent component) {
- fControlView.setSelection(component);
- // Selection is done in own job
- waitForJobs();
- }
-
-
- /**
- * Selects passed components
- * @param components - array of component to select in the tree
- * @param commandId - command ID
- */
- public void setSelection(ITraceControlComponent[] components) {
- fControlView.setSelection(components);
-
- // Selection is done in own job
- waitForJobs();
- }
-
- /**
- * Creates session on passed session group.
- * @param group - session group
- * @return - trace session group if it's successful else null
- * @throws ExecutionException
- * @throws NotDefinedException
- * @throws NotEnabledException
- * @throws NotHandledException
- */
- public TraceSessionComponent createSession(ITraceControlComponent group) throws ExecutionException, NotDefinedException, NotEnabledException, NotHandledException {
- executeCommand(group, "createSession");
-
- ITraceControlComponent[] sessions = group.getChildren();
- if ((sessions == null) || (sessions.length == 0)) {
- return null;
- }
- return (TraceSessionComponent)sessions[0];
- }
-
- /**
- * Destroys a given session.
- * @param session - session to destroy
- * @throws ExecutionException
- * @throws NotDefinedException
- * @throws NotEnabledException
- * @throws NotHandledException
- */
- public void destroySession(TraceSessionComponent session) throws ExecutionException, NotDefinedException, NotEnabledException, NotHandledException {
- executeCommand(session, "destroySession");
- }
-
- /**
- * Starts a given session
- * @param session - session to start
- * @throws ExecutionException
- * @throws NotDefinedException
- * @throws NotEnabledException
- * @throws NotHandledException
- */
- public void startSession(TraceSessionComponent session) throws ExecutionException, NotDefinedException, NotEnabledException, NotHandledException {
- executeCommand(session, "start");
- }
-
- /**
- * Stops a given session
- * @param session - session to stop
- * @throws ExecutionException
- * @throws NotDefinedException
- * @throws NotEnabledException
- * @throws NotHandledException
- */
- public void stopSession(TraceSessionComponent session) throws ExecutionException, NotDefinedException, NotEnabledException, NotHandledException {
- executeCommand(session, "stop");
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.ui.tests/src/org/eclipse/linuxtools/lttng2/control/ui/tests/model/component/TraceControlTreeModelNoProvidersTest.java b/lttng/org.eclipse.linuxtools.lttng2.control.ui.tests/src/org/eclipse/linuxtools/lttng2/control/ui/tests/model/component/TraceControlTreeModelNoProvidersTest.java
deleted file mode 100644
index 5bcf4a0812..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.ui.tests/src/org/eclipse/linuxtools/lttng2/control/ui/tests/model/component/TraceControlTreeModelNoProvidersTest.java
+++ /dev/null
@@ -1,164 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2012, 2014 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:
- * Bernd Hufmann - Initial API and implementation
- * Alexandre Montplaisir - Port to JUnit4
- * Markus Schorn - Bug 448058: Use org.eclipse.remote in favor of RSE
- **********************************************************************/
-
-package org.eclipse.linuxtools.lttng2.control.ui.tests.model.component;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertNotSame;
-import static org.junit.Assert.assertTrue;
-
-import java.io.File;
-import java.net.URL;
-
-import org.eclipse.core.runtime.FileLocator;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.TargetNodeState;
-import org.eclipse.linuxtools.internal.lttng2.control.stubs.service.TestRemoteSystemProxy;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.model.ITraceControlComponent;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.model.impl.TargetNodeComponent;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.model.impl.TraceProviderGroup;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.model.impl.TraceSessionGroup;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.model.impl.UstProviderComponent;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.service.ILttngControlService;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.service.LTTngControlService;
-import org.eclipse.remote.core.IRemoteConnection;
-import org.eclipse.remote.core.IRemoteConnectionManager;
-import org.eclipse.remote.core.RemoteServices;
-import org.eclipse.swt.graphics.Image;
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Test;
-import org.osgi.framework.FrameworkUtil;
-
-/**
- * The class <code>TraceControlTreeModelNoProvidersTest</code> verifies that the
- * Tracer Control can handle the case where no kernel provider and only UST
- * provider are available.
- */
-public class TraceControlTreeModelNoProvidersTest {
-
- // ------------------------------------------------------------------------
- // Constants
- // ------------------------------------------------------------------------
-
- private static final String TEST_STREAM = "ListInfoTest.cfg";
- private static final String SCEN_LIST_INFO_TEST = "ListInfoTestNoKernel";
- private static final String TARGET_NODE_NAME = "myNode";
-
- // ------------------------------------------------------------------------
- // Test data
- // ------------------------------------------------------------------------
-
- private TestRemoteSystemProxy fProxy;
- private String fTestFile;
-
- // ------------------------------------------------------------------------
- // Housekeeping
- // ------------------------------------------------------------------------
-
- /**
- * Perform pre-test initialization.
- *
- * @throws Exception
- * if the initialization fails for some reason
- */
- @Before
- public void setUp() throws Exception {
- fProxy = new TestRemoteSystemProxy();
- URL location = FileLocator.find(FrameworkUtil.getBundle(this.getClass()), new Path(TraceControlTestFacility.DIRECTORY + File.separator + TEST_STREAM), null);
- File testfile = new File(FileLocator.toFileURL(location).toURI());
- fTestFile = testfile.getAbsolutePath();
- }
-
- /**
- * Perform post-test clean-up.
- */
- @After
- public void tearDown() {
- TraceControlTestFacility.getInstance().waitForJobs();
- }
-
- /**
- * Run the TraceControlComponent.
- */
- @Test
- public void testTraceControlComponents() {
-
- fProxy.setTestFile(fTestFile);
- fProxy.setScenario(SCEN_LIST_INFO_TEST);
-
- ITraceControlComponent root = TraceControlTestFacility.getInstance().getControlView().getTraceControlRoot();
-
- IRemoteConnectionManager cm = RemoteServices.getLocalServices().getConnectionManager();
- IRemoteConnection host = cm.getConnection(IRemoteConnectionManager.LOCAL_CONNECTION_NAME);
-
- TargetNodeComponent node = new TargetNodeComponent(TARGET_NODE_NAME, root, host, fProxy);
-
- root.addChild(node);
- node.connect();
-
- TraceControlTestFacility.getInstance().waitForConnect(node);
- TraceControlTestFacility.getInstance().waitForJobs();
-
- // ------------------------------------------------------------------------
- // Verify Parameters of TargetNodeComponent
- // ------------------------------------------------------------------------
- assertEquals("localhost", node.getRemoteConnection().getAddress()); // assigned in createLocalHost() above
- assertEquals("Local", node.getToolTip()); // assigned in createLocalHost() above
- Image connectedImage = node.getImage();
- assertNotNull(connectedImage);
- assertEquals(TargetNodeState.CONNECTED, node.getTargetNodeState());
- assertNotNull(node.getControlService());
- ILttngControlService service = node.getControlService();
- assertTrue(service instanceof LTTngControlService);
- node.setControlService(service);
- assertTrue(node.getControlService() instanceof LTTngControlService);
-
- // ------------------------------------------------------------------------
- // Verify Children of TargetNodeComponent
- // ------------------------------------------------------------------------
- ITraceControlComponent[] groups = node.getChildren();
- assertNotNull(groups);
- assertEquals(2, groups.length);
-
- assertTrue(groups[0] instanceof TraceProviderGroup);
- assertTrue(groups[1] instanceof TraceSessionGroup);
-
- // Check for kernel provider
- TraceProviderGroup providerGroup = (TraceProviderGroup) groups[0];
- assertFalse(providerGroup.hasKernelProvider());
-
- assertEquals("Provider", providerGroup.getName());
- assertEquals("Sessions", groups[1].getName());
-
- // ------------------------------------------------------------------------
- // Verify TraceProviderGroup
- // ------------------------------------------------------------------------
- ITraceControlComponent[] providers = groups[0].getChildren();
-
- assertNotNull(providers);
- assertEquals(1, providers.length);
- assertTrue(providers[0] instanceof UstProviderComponent);
-
- // disconnect
- node.disconnect();
- assertEquals(TargetNodeState.DISCONNECTED, node.getTargetNodeState());
- assertNotNull(node.getImage());
- assertNotSame(connectedImage, node.getImage());
-
- node.getParent().removeChild(node);
- }
-} \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.ui.tests/src/org/eclipse/linuxtools/lttng2/control/ui/tests/model/component/TraceControlTreeModelTest.java b/lttng/org.eclipse.linuxtools.lttng2.control.ui.tests/src/org/eclipse/linuxtools/lttng2/control/ui/tests/model/component/TraceControlTreeModelTest.java
deleted file mode 100644
index 06715b184e..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.ui.tests/src/org/eclipse/linuxtools/lttng2/control/ui/tests/model/component/TraceControlTreeModelTest.java
+++ /dev/null
@@ -1,697 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2012, 2014 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:
- * Bernd Hufmann - Initial API and implementation
- * Alexandre Montplaisir - Port to JUnit4
- * Markus Schorn - Bug 448058: Use org.eclipse.remote in favor of RSE
- **********************************************************************/
-
-package org.eclipse.linuxtools.lttng2.control.ui.tests.model.component;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertNotSame;
-import static org.junit.Assert.assertNull;
-import static org.junit.Assert.assertTrue;
-
-import java.io.File;
-import java.net.URL;
-
-import org.eclipse.core.runtime.FileLocator;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.LogLevelType;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.TargetNodeState;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.TraceChannelOutputType;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.TraceEnablement;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.TraceEventType;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.TraceLogLevel;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.TraceSessionState;
-import org.eclipse.linuxtools.internal.lttng2.control.stubs.service.TestRemoteSystemProxy;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.model.ITraceControlComponent;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.model.impl.BaseEventComponent;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.model.impl.KernelProviderComponent;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.model.impl.TargetNodeComponent;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.model.impl.TraceChannelComponent;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.model.impl.TraceDomainComponent;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.model.impl.TraceEventComponent;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.model.impl.TraceProbeEventComponent;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.model.impl.TraceProviderGroup;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.model.impl.TraceSessionComponent;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.model.impl.TraceSessionGroup;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.model.impl.UstProviderComponent;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.service.ILttngControlService;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.service.LTTngControlService;
-import org.eclipse.remote.core.IRemoteConnection;
-import org.eclipse.remote.core.IRemoteConnectionManager;
-import org.eclipse.remote.core.RemoteServices;
-import org.eclipse.swt.graphics.Image;
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Test;
-import org.osgi.framework.FrameworkUtil;
-
-/**
- * The class <code>TraceControlTreeModelTest</code> contains tests for the tree
- * component classes.
- */
-public class TraceControlTreeModelTest {
-
- // ------------------------------------------------------------------------
- // Constants
- // ------------------------------------------------------------------------
-
- private static final String TEST_STREAM = "ListInfoTest.cfg";
- private static final String SCEN_LIST_INFO_TEST = "ListInfoTest";
- private static final String TARGET_NODE_NAME = "myNode";
-
- // ------------------------------------------------------------------------
- // Test data
- // ------------------------------------------------------------------------
-
- private TestRemoteSystemProxy fProxy;
- private String fTestFile;
-
- // ------------------------------------------------------------------------
- // Housekeeping
- // ------------------------------------------------------------------------
-
- /**
- * Perform pre-test initialization.
- *
- * @throws Exception
- * if the initialization fails for some reason
- */
- @Before
- public void setUp() throws Exception {
- fProxy = new TestRemoteSystemProxy();
- URL location = FileLocator.find(FrameworkUtil.getBundle(this.getClass()), new Path(TraceControlTestFacility.DIRECTORY + File.separator + TEST_STREAM), null);
- File testfile = new File(FileLocator.toFileURL(location).toURI());
- fTestFile = testfile.getAbsolutePath();
- }
-
- /**
- * Perform post-test clean-up.
- */
- @After
- public void tearDown() {
- TraceControlTestFacility.getInstance().waitForJobs();
- }
-
- /**
- * Run the TraceControlComponent.
- */
- @Test
- public void testTraceControlComponents() {
-
- fProxy.setTestFile(fTestFile);
- fProxy.setScenario(SCEN_LIST_INFO_TEST);
-
- ITraceControlComponent root = TraceControlTestFacility.getInstance().getControlView().getTraceControlRoot();
-
- IRemoteConnectionManager cm = RemoteServices.getLocalServices().getConnectionManager();
- IRemoteConnection host = cm.getConnection(IRemoteConnectionManager.LOCAL_CONNECTION_NAME);
-
- TargetNodeComponent node = new TargetNodeComponent(TARGET_NODE_NAME, root, host, fProxy);
-
- root.addChild(node);
- node.connect();
-
- TraceControlTestFacility.getInstance().waitForConnect(node);
- TraceControlTestFacility.getInstance().waitForJobs();
-
- // ------------------------------------------------------------------------
- // Verify Parameters of TargetNodeComponent
- // ------------------------------------------------------------------------
- assertEquals("localhost", node.getRemoteConnection().getAddress()); // assigned in createLocalHost() above
- assertEquals("Local", node.getToolTip()); // assigned in createLocalHost() above
- Image connectedImage = node.getImage();
- assertNotNull(connectedImage);
- assertEquals(TargetNodeState.CONNECTED, node.getTargetNodeState());
- assertNotNull(node.getControlService());
- ILttngControlService service = node.getControlService();
- assertTrue(service instanceof LTTngControlService);
- node.setControlService(service);
- assertTrue(node.getControlService() instanceof LTTngControlService);
-
-
- // ------------------------------------------------------------------------
- // Verify Children of TargetNodeComponent
- // ------------------------------------------------------------------------
- ITraceControlComponent[] groups = node.getChildren();
- assertNotNull(groups);
- assertEquals(2, groups.length);
-
- assertTrue(groups[0] instanceof TraceProviderGroup);
- assertTrue(groups[1] instanceof TraceSessionGroup);
-
- assertEquals("Provider", groups[0].getName());
- assertEquals("Sessions", groups[1].getName());
-
- // ------------------------------------------------------------------------
- // Verify TraceProviderGroup
- // ------------------------------------------------------------------------
- ITraceControlComponent[] providers = groups[0].getChildren();
-
- assertNotNull(providers);
- assertEquals(3, providers.length);
-
- // ------------------------------------------------------------------------
- // Verify KernelProviderComponent
- // ------------------------------------------------------------------------
- KernelProviderComponent kernelProvider = (KernelProviderComponent) providers[0];
-
- // ------------------------------------------------------------------------
- // Verify event info (kernel provider)
- // ------------------------------------------------------------------------
- ITraceControlComponent[] events = kernelProvider.getChildren();
- assertNotNull(events);
- assertEquals(3, events.length);
-
- BaseEventComponent baseEventInfo = (BaseEventComponent) events[0];
- assertNotNull(baseEventInfo);
- assertEquals("sched_kthread_stop", baseEventInfo.getName());
- assertEquals(TraceLogLevel.TRACE_EMERG, baseEventInfo.getLogLevel());
- assertEquals(TraceEventType.TRACEPOINT, baseEventInfo.getEventType());
-
- baseEventInfo = (BaseEventComponent) events[1];
- assertEquals("sched_kthread_stop_ret", baseEventInfo.getName());
- assertEquals(TraceLogLevel.TRACE_EMERG, baseEventInfo.getLogLevel());
- assertEquals(TraceEventType.TRACEPOINT, baseEventInfo.getEventType());
-
- baseEventInfo = (BaseEventComponent) events[2];
- assertEquals("sched_wakeup_new", baseEventInfo.getName());
- assertEquals(TraceLogLevel.TRACE_EMERG, baseEventInfo.getLogLevel());
- assertEquals(TraceEventType.TRACEPOINT, baseEventInfo.getEventType());
-
- // ------------------------------------------------------------------------
- // Verify UstProviderComponent
- // ------------------------------------------------------------------------
- UstProviderComponent ustProvider = (UstProviderComponent) providers[1];
- assertEquals("/home/user/git/lttng-ust/tests/hello.cxx/.libs/lt-hello [PID=9379]", ustProvider.getName());
- assertEquals(9379, ustProvider.getPid());
-
- // ------------------------------------------------------------------------
- // Verify event info (UST provider)
- // ------------------------------------------------------------------------
- events = ustProvider.getChildren();
- assertNotNull(events);
- assertEquals(2, events.length);
-
- baseEventInfo = (BaseEventComponent) events[0];
- assertNotNull(baseEventInfo);
- assertEquals("ust_tests_hello:tptest_sighandler", baseEventInfo.getName());
- assertEquals(TraceLogLevel.TRACE_DEBUG_MODULE, baseEventInfo.getLogLevel());
- assertEquals(TraceEventType.TRACEPOINT, baseEventInfo.getEventType());
-
- baseEventInfo = (BaseEventComponent) events[1];
- assertEquals("ust_tests_hello:tptest", baseEventInfo.getName());
- assertEquals(TraceLogLevel.TRACE_INFO, baseEventInfo.getLogLevel());
- assertEquals(TraceEventType.TRACEPOINT, baseEventInfo.getEventType());
-
- // ------------------------------------------------------------------------
- // Verify UstProviderComponent
- // ------------------------------------------------------------------------
- ustProvider = (UstProviderComponent) providers[2];
- assertEquals("/home/user/git/lttng-ust/tests/hello.cxx/.libs/lt-hello [PID=4852]", ustProvider.getName());
- assertEquals(4852, ustProvider.getPid());
-
- // verify getters and setter
- verifyUstProviderGettersSetters(ustProvider);
-
- // ------------------------------------------------------------------------
- // Verify event info (UST provider)
- // ------------------------------------------------------------------------
- events = ustProvider.getChildren();
- assertNotNull(events);
- assertEquals(2, events.length);
-
- baseEventInfo = (BaseEventComponent) events[0];
- assertNotNull(baseEventInfo);
- assertEquals("ust_tests_hello:tptest_sighandler", baseEventInfo.getName());
- assertEquals(TraceLogLevel.TRACE_WARNING, baseEventInfo.getLogLevel());
- assertEquals(TraceEventType.TRACEPOINT, baseEventInfo.getEventType());
-
- baseEventInfo = (BaseEventComponent) events[1];
- assertEquals("ust_tests_hello:tptest", baseEventInfo.getName());
- assertEquals(TraceLogLevel.TRACE_DEBUG_FUNCTION, baseEventInfo.getLogLevel());
- assertEquals(TraceEventType.TRACEPOINT, baseEventInfo.getEventType());
-
- // verify getters and setters
- verifyBaseEventGettersSetters(baseEventInfo);
-
- // ------------------------------------------------------------------------
- // Verify TraceSessionGroup
- // ------------------------------------------------------------------------
- ITraceControlComponent[] sessions = groups[1].getChildren();
- assertNotNull(sessions);
- assertEquals(2, sessions.length);
- for (int i = 0; i < sessions.length; i++) {
- assertTrue(sessions[i] instanceof TraceSessionComponent);
- }
- assertEquals("mysession1", sessions[0].getName());
- assertEquals("mysession", sessions[1].getName());
-
- // ------------------------------------------------------------------------
- // Verify TraceSessionComponent
- // ------------------------------------------------------------------------
- TraceSessionComponent session = (TraceSessionComponent)sessions[1];
- assertEquals("mysession", session.getName());
- assertEquals("/home/user/lttng-traces/mysession-20120129-084256", session.getSessionPath());
- assertEquals(TraceSessionState.ACTIVE, session.getSessionState());
-
- // Verify setters and setters
- verifySessionGetterSetters(session);
-
- ITraceControlComponent[] domains = session.getChildren();
- assertNotNull(domains);
- assertEquals(2, domains.length);
-
- // ------------------------------------------------------------------------
- // Verify Kernel domain
- // ------------------------------------------------------------------------
- assertEquals("Kernel", domains[0].getName());
- ITraceControlComponent[] channels = domains[0].getChildren();
- assertNotNull(channels);
- assertEquals(2, channels.length);
-
- // Verify setters and setters
- verifyDomainGettersSetters((TraceDomainComponent) domains[0]);
-
- // ------------------------------------------------------------------------
- // Verify Kernel's channel0
- // ------------------------------------------------------------------------
- assertTrue(channels[0] instanceof TraceChannelComponent);
- TraceChannelComponent channel = (TraceChannelComponent) channels[0];
- assertEquals("channel0", channel.getName());
- assertEquals(4, channel.getNumberOfSubBuffers());
- assertEquals("splice()", channel.getOutputType().getInName());
- assertEquals(TraceChannelOutputType.SPLICE, channel.getOutputType());
- assertEquals(false, channel.isOverwriteMode());
- assertEquals(200, channel.getReadTimer());
- assertEquals(TraceEnablement.ENABLED, channel.getState());
- assertEquals(262144, channel.getSubBufferSize());
- assertEquals(0, channel.getSwitchTimer());
-
- // ------------------------------------------------------------------------
- // Verify event info (kernel, channel0)
- // ------------------------------------------------------------------------
- ITraceControlComponent[] channel0Events = channel.getChildren();
- assertNotNull(channel0Events);
- assertEquals(5, channel0Events.length);
- assertTrue(channel0Events[0] instanceof TraceEventComponent);
- assertTrue(channel0Events[1] instanceof TraceEventComponent);
- assertTrue(channel0Events[2] instanceof TraceProbeEventComponent);
- assertTrue(channel0Events[3] instanceof TraceProbeEventComponent);
- assertTrue(channel0Events[4] instanceof TraceEventComponent);
-
- TraceEventComponent event = (TraceEventComponent) channel0Events[0];
- assertEquals("block_rq_remap", event.getName());
- assertEquals(TraceLogLevel.TRACE_EMERG, event.getLogLevel());
- assertEquals(TraceEventType.TRACEPOINT, event.getEventType());
- assertEquals(TraceEnablement.ENABLED, event.getState());
-
- event = (TraceEventComponent) channel0Events[1];
- assertEquals("block_bio_remap", event.getName());
- assertEquals(TraceLogLevel.TRACE_EMERG, event.getLogLevel());
- assertEquals(TraceEventType.TRACEPOINT, event.getEventType());
- assertEquals(TraceEnablement.DISABLED, event.getState());
-
- TraceProbeEventComponent probeEvent = (TraceProbeEventComponent) channel0Events[2];
- assertEquals("myevent2", probeEvent.getName());
- assertEquals(TraceLogLevel.LEVEL_UNKNOWN, probeEvent.getLogLevel());
- assertEquals(TraceEventType.PROBE, probeEvent.getEventType());
- assertEquals(TraceEnablement.ENABLED, probeEvent.getState());
- assertEquals("0xc0101340", probeEvent.getAddress());
- assertNull(probeEvent.getOffset());
- assertNull(probeEvent.getSymbol());
-
- // verify getters and setter
- verifyProbeEventGettersSetters(probeEvent);
-
- probeEvent = (TraceProbeEventComponent) channel0Events[3];
- assertEquals("myevent0", probeEvent.getName());
- assertEquals(TraceLogLevel.LEVEL_UNKNOWN, probeEvent.getLogLevel());
- assertEquals(TraceEventType.PROBE, probeEvent.getEventType());
- assertEquals(TraceEnablement.ENABLED, probeEvent.getState());
- assertNull(probeEvent.getAddress());
- assertEquals("0x0", probeEvent.getOffset());
- assertEquals("init_post", probeEvent.getSymbol());
-
- event = (TraceEventComponent) channel0Events[4];
- assertEquals("syscalls", event.getName());
- assertEquals(TraceLogLevel.LEVEL_UNKNOWN, event.getLogLevel());
- assertEquals(TraceEventType.SYSCALL, event.getEventType());
- assertEquals(TraceEnablement.ENABLED, event.getState());
-
- // ------------------------------------------------------------------------
- // Verify Kernel's channel1
- // ------------------------------------------------------------------------
- assertEquals("channel1", channels[1].getName());
- channel = (TraceChannelComponent) channels[1];
- assertEquals(4, channel.getNumberOfSubBuffers());
- assertEquals("splice()", channel.getOutputType().getInName());
- assertEquals(TraceChannelOutputType.SPLICE, channel.getOutputType());
- assertEquals(true, channel.isOverwriteMode());
- assertEquals(400, channel.getReadTimer());
- assertEquals(TraceEnablement.DISABLED, channel.getState());
- assertEquals(524288, channel.getSubBufferSize());
- assertEquals(100, channel.getSwitchTimer());
-
- // ------------------------------------------------------------------------
- // Verify event info (kernel, channel1)
- // ------------------------------------------------------------------------
- ITraceControlComponent[] channel1Events = channels[1].getChildren();
- assertEquals(0, channel1Events.length);
-
- // ------------------------------------------------------------------------
- // Verify domain UST global
- // ------------------------------------------------------------------------
- assertEquals("UST global", domains[1].getName());
-
- ITraceControlComponent[] ustChannels = domains[1].getChildren();
-
- for (int i = 0; i < ustChannels.length; i++) {
- assertTrue(ustChannels[i] instanceof TraceChannelComponent);
- }
-
- // ------------------------------------------------------------------------
- // Verify UST global's mychannel1
- // ------------------------------------------------------------------------
- channel = (TraceChannelComponent) ustChannels[0];
- assertEquals("mychannel1", channel.getName());
- assertEquals(8, channel.getNumberOfSubBuffers());
- assertEquals("mmap()", channel.getOutputType().getInName());
- assertEquals(TraceChannelOutputType.MMAP, channel.getOutputType());
- assertEquals(true, channel.isOverwriteMode());
- assertEquals(100, channel.getReadTimer());
- assertEquals(TraceEnablement.DISABLED, channel.getState());
- assertEquals(8192, channel.getSubBufferSize());
- assertEquals(200, channel.getSwitchTimer());
-
- // verify getters and setters
- verifyChannelGettersSetters(channel);
-
- // ------------------------------------------------------------------------
- // Verify event info (UST global, mychannel1)
- // ------------------------------------------------------------------------
- ITraceControlComponent[] ustEvents = channel.getChildren();
- assertEquals(0, ustEvents.length);
-
- // ------------------------------------------------------------------------
- // Verify UST global's channel0
- // ------------------------------------------------------------------------
- channel = (TraceChannelComponent) ustChannels[1];
- assertEquals("channel0", channel.getName());
- assertEquals(4, channel.getNumberOfSubBuffers());
- assertEquals("mmap()", channel.getOutputType().getInName());
- assertEquals(TraceChannelOutputType.MMAP, channel.getOutputType());
- assertEquals(false, channel.isOverwriteMode());
- assertEquals(200, channel.getReadTimer());
- assertEquals(TraceEnablement.ENABLED, channel.getState());
- assertEquals(4096, channel.getSubBufferSize());
- assertEquals(0, channel.getSwitchTimer());
-
- // ------------------------------------------------------------------------
- // Verify event info (UST global, channel0)
- // ------------------------------------------------------------------------
- ustEvents = channel.getChildren();
- assertEquals(4, ustEvents.length);
-
- event = (TraceEventComponent) ustEvents[0];
- assertEquals("ust_tests_hello:tptest_sighandler", event.getName());
- assertEquals(TraceLogLevel.TRACE_DEBUG_LINE, event.getLogLevel());
- assertEquals(LogLevelType.LOGLEVEL_ONLY, event.getLogLevelType());
- assertEquals(LogLevelType.LOGLEVEL_ONLY.getShortName(), event.getLogLevelType().getShortName());
- assertEquals(TraceEventType.TRACEPOINT, event.getEventType());
- assertEquals(TraceEnablement.DISABLED, event.getState());
-
- event = (TraceEventComponent) ustEvents[1];
- assertEquals("ust_tests_hello:tptest_sighandler1", event.getName());
- assertEquals(TraceLogLevel.TRACE_INFO, event.getLogLevel());
- assertEquals(LogLevelType.LOGLEVEL, event.getLogLevelType());
- assertEquals(LogLevelType.LOGLEVEL.getShortName(), event.getLogLevelType().getShortName());
- assertEquals(TraceEventType.TRACEPOINT, event.getEventType());
- assertEquals(TraceEnablement.DISABLED, event.getState());
-
- event = (TraceEventComponent) ustEvents[2];
- assertEquals("ust_tests_hello:tptest_sighandler2", event.getName());
- assertEquals(TraceLogLevel.TRACE_DEBUG_SYSTEM, event.getLogLevel());
- assertEquals(LogLevelType.LOGLEVEL_NONE, event.getLogLevelType());
- assertEquals(LogLevelType.LOGLEVEL_NONE.getShortName(), event.getLogLevelType().getShortName());
- assertEquals(TraceEventType.TRACEPOINT, event.getEventType());
- assertEquals(TraceEnablement.DISABLED, event.getState());
-
- event = (TraceEventComponent) ustEvents[3];
- assertEquals("*", event.getName());
- assertEquals(TraceLogLevel.LEVEL_UNKNOWN, event.getLogLevel());
- assertEquals(TraceEventType.TRACEPOINT, event.getEventType());
- assertEquals(TraceEnablement.ENABLED, event.getState());
-
- // verify getters and setters
- verifyEventGettersSetters(event);
-
- // disconnect
- node.disconnect();
- assertEquals(TargetNodeState.DISCONNECTED, node.getTargetNodeState());
- assertNotNull(node.getImage());
- assertNotSame(connectedImage, node.getImage());
-
- node.getParent().removeChild(node);
- }
-
- private static void verifySessionGetterSetters(TraceSessionComponent session) {
- // save original values
- String name = session.getName();
- String origPath = session.getSessionPath();
- TraceSessionState origState = session.getSessionState();
-
- // test cases
- session.setName("newName");
- assertEquals("newName", session.getName());
-
- session.setSessionPath("/home/user/tmp");
- assertEquals("/home/user/tmp", session.getSessionPath());
-
- session.setSessionState(TraceSessionState.INACTIVE);
- assertEquals(TraceSessionState.INACTIVE, session.getSessionState());
- Image inactiveImage = session.getImage();
- assertNotNull(inactiveImage);
-
- session.setSessionState("active");
- assertEquals(TraceSessionState.ACTIVE, session.getSessionState());
-
- Image activeImage = session.getImage();
- assertNotNull(activeImage);
- assertNotSame(activeImage, inactiveImage);
-
- ITraceControlComponent[] children = session.getChildren();
- TraceDomainComponent[] domains = session.getDomains();
-
- assertEquals(children.length, domains.length);
-
- for (int i = 0; i < domains.length; i++) {
- assertEquals(domains[i].getName(), children[i].getName());
- }
-
- // restore original values
- session.setName(name);
- session.setSessionPath(origPath);
- session.setSessionState(origState);
- }
-
- private static void verifyDomainGettersSetters(TraceDomainComponent domain) {
- // save original values
- boolean isKernel = domain.isKernel();
-
- domain.setIsKernel(false);
- assertFalse(domain.isKernel());
- domain.setIsKernel(true);
- assertTrue(domain.isKernel());
-
- ITraceControlComponent[] children = domain.getChildren();
- TraceChannelComponent[] channels = domain.getChannels();
-
- assertEquals(children.length, channels.length);
-
- for (int i = 0; i < channels.length; i++) {
- assertEquals(channels[i].getName(), children[i].getName());
- }
-
- String nodeName = domain.getTargetNode().getName();
- assertEquals(TARGET_NODE_NAME, nodeName);
-
- // restore original values
- domain.setIsKernel(isKernel);
- }
-
- private static void verifyBaseEventGettersSetters(BaseEventComponent event) {
- // save original values
- String name = event.getName();
- TraceLogLevel level = event.getLogLevel();
- TraceEventType type = event.getEventType();
-
- // test cases
- event.setName("newName");
- assertEquals("newName", event.getName());
-
- event.setLogLevel(TraceLogLevel.TRACE_INFO);
- assertEquals(TraceLogLevel.TRACE_INFO, event.getLogLevel());
- event.setLogLevel("TRACE_ALERT");
- assertEquals(TraceLogLevel.TRACE_ALERT, event.getLogLevel());
-
- event.setEventType(TraceEventType.UNKNOWN);
- assertEquals(TraceEventType.UNKNOWN, event.getEventType());
- event.setEventType("tracepoint");
- assertEquals(TraceEventType.TRACEPOINT, event.getEventType());
-
- // restore original values
- event.setName(name);
- event.setLogLevel(level);
- event.setEventType(type);
- }
-
- private static void verifyEventGettersSetters(TraceEventComponent event) {
- // save original values
- String name = event.getName();
- TraceLogLevel level = event.getLogLevel();
- TraceEventType type = event.getEventType();
- TraceEnablement state = event.getState();
-
- // test cases
- event.setName("newName");
- assertEquals("newName", event.getName());
-
- event.setLogLevel(TraceLogLevel.TRACE_INFO);
- assertEquals(TraceLogLevel.TRACE_INFO, event.getLogLevel());
- event.setLogLevel("TRACE_ALERT");
- assertEquals(TraceLogLevel.TRACE_ALERT, event.getLogLevel());
-
- event.setEventType(TraceEventType.UNKNOWN);
- assertEquals(TraceEventType.UNKNOWN, event.getEventType());
- event.setEventType("tracepoint");
- assertEquals(TraceEventType.TRACEPOINT, event.getEventType());
-
- event.setState("disabled");
- assertEquals(TraceEnablement.DISABLED, event.getState());
-
- Image disabledImage = event.getImage();
- assertNotNull(disabledImage);
-
- event.setState(TraceEnablement.ENABLED);
- assertEquals(TraceEnablement.ENABLED, event.getState());
-
- Image enabledImage = event.getImage();
- assertNotNull(enabledImage);
- assertNotSame(enabledImage, disabledImage);
-
- // restore original values
- event.setName(name);
- event.setLogLevel(level);
- event.setEventType(type);
- event.setState(state);
- }
-
- private static void verifyProbeEventGettersSetters(TraceProbeEventComponent event) {
- // save original values
- String address = event.getAddress();
- String offset = event.getOffset();
- String symbol = event.getSymbol();
-
- // test cases
- event.setAddress("0xffff1234");
- assertEquals("0xffff1234", event.getAddress());
-
- event.setOffset("0x1234");
- assertEquals("0x1234", event.getOffset());
-
- event.setSymbol("init");
- assertEquals("init", event.getSymbol());
-
- // restore original values
- event.setAddress(address);
- event.setOffset(offset);
- event.setSymbol(symbol);
- }
-
- private static void verifyChannelGettersSetters(TraceChannelComponent channel) {
- // save original values
- String name = channel.getName();
- int nbSubBuffers = channel.getNumberOfSubBuffers();
- TraceChannelOutputType type = channel.getOutputType();
- boolean mode = channel.isOverwriteMode();
- long readTimer = channel.getReadTimer();
- TraceEnablement state = channel.getState();
- long subBufferSize = channel.getSubBufferSize();
- long switchTimer = channel.getSwitchTimer();
-
- // test cases
- channel.setName("newName");
- assertEquals("newName", channel.getName());
-
- channel.setNumberOfSubBuffers(2);
- assertEquals(2, channel.getNumberOfSubBuffers());
-
- channel.setOutputType("splice()");
- assertEquals("splice()", channel.getOutputType().getInName());
- assertEquals(TraceChannelOutputType.SPLICE, channel.getOutputType());
-
- channel.setOverwriteMode(false);
- assertEquals(false, channel.isOverwriteMode());
-
- channel.setReadTimer(250);
- assertEquals(250, channel.getReadTimer());
-
- channel.setState("enabled");
- assertEquals(TraceEnablement.ENABLED, channel.getState());
-
- Image enabledImage = channel.getImage();
- assertNotNull(enabledImage);
- channel.setState(TraceEnablement.DISABLED);
- assertEquals(TraceEnablement.DISABLED, channel.getState());
-
- Image disabledImage = channel.getImage();
- assertNotNull(disabledImage);
- assertNotSame(enabledImage, disabledImage);
-
- channel.setSubBufferSize(1024);
- assertEquals(1024, channel.getSubBufferSize());
-
- channel.setSwitchTimer(1000);
- assertEquals(1000, channel.getSwitchTimer());
-
- // restore original values
- channel.setName(name);
- channel.setNumberOfSubBuffers(nbSubBuffers);
- channel.setOutputType(type);
- channel.setOverwriteMode(mode);
- channel.setReadTimer(readTimer);
- channel.setState(state);
- channel.setSubBufferSize(subBufferSize);
- channel.setSwitchTimer(switchTimer);
- }
-
- private static void verifyUstProviderGettersSetters(UstProviderComponent ustProvider) {
- // save original values
- String name = ustProvider.getName();
- int pid = ustProvider.getPid();
-
- // test cases
- ustProvider.setName("newName");
- assertEquals("newName", ustProvider.getName());
-
- ustProvider.setPid(9876);
- assertEquals(9876, ustProvider.getPid());
-
- // restore original values
- ustProvider.setName(name);
- ustProvider.setPid(pid);
- }
-
-} \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.ui.tests/src/org/eclipse/linuxtools/lttng2/control/ui/tests/model/component/TraceControlUstProviderTests.java b/lttng/org.eclipse.linuxtools.lttng2.control.ui.tests/src/org/eclipse/linuxtools/lttng2/control/ui/tests/model/component/TraceControlUstProviderTests.java
deleted file mode 100644
index b5614276a3..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.ui.tests/src/org/eclipse/linuxtools/lttng2/control/ui/tests/model/component/TraceControlUstProviderTests.java
+++ /dev/null
@@ -1,297 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2012, 2014 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:
- * Bernd Hufmann - Initial API and implementation
- * Alexandre Montplaisir - Port to JUnit4
- * Markus Schorn - Bug 448058: Use org.eclipse.remote in favor of RSE
- **********************************************************************/
-
-package org.eclipse.linuxtools.lttng2.control.ui.tests.model.component;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertTrue;
-
-import java.io.File;
-import java.net.URL;
-
-import org.eclipse.core.runtime.FileLocator;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.TargetNodeState;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.TraceChannelOutputType;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.TraceEnablement;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.TraceEventType;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.TraceLogLevel;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.TraceSessionState;
-import org.eclipse.linuxtools.internal.lttng2.control.stubs.dialogs.CreateSessionDialogStub;
-import org.eclipse.linuxtools.internal.lttng2.control.stubs.dialogs.DestroyConfirmDialogStub;
-import org.eclipse.linuxtools.internal.lttng2.control.stubs.dialogs.EnableChannelDialogStub;
-import org.eclipse.linuxtools.internal.lttng2.control.stubs.dialogs.GetEventInfoDialogStub;
-import org.eclipse.linuxtools.internal.lttng2.control.stubs.service.TestRemoteSystemProxy;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.dialogs.TraceControlDialogFactory;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.model.ITraceControlComponent;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.model.impl.BaseEventComponent;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.model.impl.KernelProviderComponent;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.model.impl.TargetNodeComponent;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.model.impl.TraceChannelComponent;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.model.impl.TraceEventComponent;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.model.impl.TraceSessionComponent;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.model.impl.UstProviderComponent;
-import org.eclipse.remote.core.IRemoteConnection;
-import org.eclipse.remote.core.IRemoteConnectionManager;
-import org.eclipse.remote.core.RemoteServices;
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Test;
-import org.osgi.framework.FrameworkUtil;
-
-/**
- * The class <code>TraceControlUstProviderTests</code> contains UST provider
- * handling test cases.
- */
-public class TraceControlUstProviderTests {
-
- // ------------------------------------------------------------------------
- // Constants
- // ------------------------------------------------------------------------
-
- private static final String TEST_STREAM = "CreateTreeTest.cfg";
- private static final String SCEN_SCENARIO2_TEST = "Scenario2";
-
- // ------------------------------------------------------------------------
- // Test data
- // ------------------------------------------------------------------------
-
- private TraceControlTestFacility fFacility;
- private TestRemoteSystemProxy fProxy;
- private String fTestFile;
-
- // ------------------------------------------------------------------------
- // Housekeeping
- // ------------------------------------------------------------------------
-
- /**
- * Perform pre-test initialization.
- *
- * @throws Exception
- * if the initialization fails for some reason
- */
- @Before
- public void setUp() throws Exception {
- fFacility = TraceControlTestFacility.getInstance();
- fFacility.init();
- fProxy = new TestRemoteSystemProxy();
- URL location = FileLocator.find(FrameworkUtil.getBundle(this.getClass()), new Path(TraceControlTestFacility.DIRECTORY + File.separator + TEST_STREAM), null);
- File testfile = new File(FileLocator.toFileURL(location).toURI());
- fTestFile = testfile.getAbsolutePath();
- }
-
- /**
- * Perform post-test clean-up.
- */
- @After
- public void tearDown() {
- fFacility.waitForJobs();
- fFacility.dispose();
- }
-
- /**
- * Run the TraceControlComponent.
- *
- * @throws Exception
- * This will fail the test
- */
- @Test
- public void testUstProviderTree() throws Exception {
-
- fProxy.setTestFile(fTestFile);
- fProxy.setScenario(TraceControlTestFacility.SCEN_INIT_TEST);
-
- ITraceControlComponent root = fFacility.getControlView().getTraceControlRoot();
-
- IRemoteConnectionManager cm = RemoteServices.getLocalServices().getConnectionManager();
- IRemoteConnection host = cm.getConnection(IRemoteConnectionManager.LOCAL_CONNECTION_NAME);
-
- TargetNodeComponent node = new TargetNodeComponent("myNode", root, host, fProxy);
- root.addChild(node);
-
- fFacility.waitForJobs();
-
- fFacility.executeCommand(node, "connect");
-
- int i = 0;
- while ((i < 10) && (node.getTargetNodeState() != TargetNodeState.CONNECTED)) {
- i++;
- fFacility.delay(TraceControlTestFacility.GUI_REFESH_DELAY);
- }
-
- // Verify that node is connected
- assertEquals(TargetNodeState.CONNECTED, node.getTargetNodeState());
-
- // Get provider groups
- ITraceControlComponent[] groups = node.getChildren();
- assertNotNull(groups);
- assertEquals(2, groups.length);
-
- // Get kernel provider
- ITraceControlComponent[] providers = groups[0].getChildren();
- KernelProviderComponent kernelProvider = (KernelProviderComponent) providers[0];
-
- // Get kernel provider events and select 2 events
- ITraceControlComponent[] events = kernelProvider.getChildren();
- assertNotNull(events);
- assertEquals(3, events.length);
-
- BaseEventComponent baseEventInfo0 = (BaseEventComponent) events[0];
- BaseEventComponent baseEventInfo1 = (BaseEventComponent) events[1];
-
- // Initialize dialog implementations for command execution
- TraceControlDialogFactory.getInstance().setCreateSessionDialog(new CreateSessionDialogStub());
- TraceControlDialogFactory.getInstance().setGetEventInfoDialog(new GetEventInfoDialogStub());
- TraceControlDialogFactory.getInstance().setConfirmDialog(new DestroyConfirmDialogStub());
-
- // ------------------------------------------------------------------------
- // Create session
- // ------------------------------------------------------------------------
- // Initialize session handling scenario
- fProxy.setScenario(TraceControlTestFacility.SCEN_SCENARIO_SESSION_HANDLING_WITH_PATH);
-
- CreateSessionDialogStub sessionDialogStub = new CreateSessionDialogStub();
- sessionDialogStub.setSessionPath("/home/user/temp");
- TraceControlDialogFactory.getInstance().setCreateSessionDialog(sessionDialogStub);
-
- TraceSessionComponent session = fFacility.createSession(groups[1]);
-
- // Verify that session was created
- assertNotNull(session);
- assertEquals("mysession", session.getName());
- assertEquals("/home/user/temp", session.getSessionPath());
- assertEquals(TraceSessionState.INACTIVE, session.getSessionState());
-
- // ------------------------------------------------------------------------
- // Enable Channel on UST global domain
- // ------------------------------------------------------------------------
- fProxy.setScenario(SCEN_SCENARIO2_TEST);
- EnableChannelDialogStub channelDialogStub = new EnableChannelDialogStub();
- channelDialogStub.setIsKernel(false);
- channelDialogStub.getChannelInfo().setOverwriteMode(false);
- channelDialogStub.getChannelInfo().setSwitchTimer(200);
- channelDialogStub.getChannelInfo().setReadTimer(100);
- channelDialogStub.getChannelInfo().setNumberOfSubBuffers(2);
- TraceControlDialogFactory.getInstance().setEnableChannelDialog(channelDialogStub);
-
- fFacility.executeCommand(session, "enableChannelOnSession");
-
- // Verify that UST domain was created
- ITraceControlComponent[] domains = session.getChildren();
- assertNotNull(domains);
- assertEquals(1, domains.length);
-
- assertEquals("UST global", domains[0].getName());
-
- // Verify that channel was created with correct data
- ITraceControlComponent[]channels = domains[0].getChildren();
- assertNotNull(channels);
- assertEquals(1, channels.length);
-
- assertTrue(channels[0] instanceof TraceChannelComponent);
- TraceChannelComponent channel = (TraceChannelComponent) channels[0];
- assertEquals("mychannel", channel.getName());
- assertEquals(2, channel.getNumberOfSubBuffers());
- assertEquals("mmap()", channel.getOutputType().getInName());
- assertEquals(TraceChannelOutputType.MMAP, channel.getOutputType());
- assertEquals(false, channel.isOverwriteMode());
- assertEquals(100, channel.getReadTimer());
- assertEquals(TraceEnablement.ENABLED, channel.getState());
- assertEquals(16384, channel.getSubBufferSize());
- assertEquals(200, channel.getSwitchTimer());
-
- // ------------------------------------------------------------------------
- // Enable event on default channel on created session above
- // ------------------------------------------------------------------------
- // Get first UST provider
- UstProviderComponent ustProvider = (UstProviderComponent) providers[1];
- assertEquals("/home/user/git/lttng-ust/tests/hello.cxx/.libs/lt-hello [PID=9379]", ustProvider.getName());
- assertEquals(9379, ustProvider.getPid());
-
- // Get events
- events = ustProvider.getChildren();
- assertNotNull(events);
- assertEquals(2, events.length);
-
- baseEventInfo0 = (BaseEventComponent) events[0];
- baseEventInfo1 = (BaseEventComponent) events[1];
-
- ITraceControlComponent[] ustSelection = { baseEventInfo0, baseEventInfo1 };
-
- fFacility.executeCommand(ustSelection, "assign.event");
-
- // verify that events were created under the channel
- // Note that domain and channel has to be re-read because the tree is re-created
-
- domains = session.getChildren();
-
- // Verify that channel was created with correct data
- channels = domains[0].getChildren();
-
- ITraceControlComponent[] ustEvents = channels[0].getChildren();
- assertEquals(2, ustEvents.length);
-
- TraceEventComponent event = (TraceEventComponent) ustEvents[0];
- assertEquals("ust_tests_hello:tptest_sighandler", event.getName());
- assertEquals(TraceLogLevel.LEVEL_UNKNOWN, event.getLogLevel());
- assertEquals(TraceEventType.TRACEPOINT, event.getEventType());
- assertEquals(TraceEnablement.ENABLED, event.getState());
-
- event = (TraceEventComponent) ustEvents[1];
- assertEquals("ust_tests_hello:tptest", ustEvents[1].getName());
- assertEquals(TraceLogLevel.LEVEL_UNKNOWN, event.getLogLevel());
- assertEquals(TraceEventType.TRACEPOINT, event.getEventType());
- assertEquals(TraceEnablement.ENABLED, event.getState());
-
- // ------------------------------------------------------------------------
- // Disable event components
- // ------------------------------------------------------------------------
- fFacility.executeCommand(event, "disableEvent");
-
- assertEquals(TraceEnablement.DISABLED, event.getState());
-
- // ------------------------------------------------------------------------
- // Enable event component
- // ------------------------------------------------------------------------
- fFacility.executeCommand(event, "enableEvent");
-
- // Verify event state
- assertEquals(TraceEnablement.ENABLED, event.getState());
-
- // ------------------------------------------------------------------------
- // Destroy session
- // ------------------------------------------------------------------------
-
- // Initialize session handling scenario
- fProxy.setScenario(TraceControlTestFacility.SCEN_SCENARIO_SESSION_HANDLING);
-
- fFacility.destroySession(session);
-
- // Verify that no more session components exist
- assertEquals(0, groups[1].getChildren().length);
-
- //-------------------------------------------------------------------------
- // Disconnect node
- //-------------------------------------------------------------------------
- fFacility.executeCommand(node, "disconnect");
- assertEquals(TargetNodeState.DISCONNECTED, node.getTargetNodeState());
-
- //-------------------------------------------------------------------------
- // Delete node
- //-------------------------------------------------------------------------
- fFacility.executeCommand(node, "delete");
- assertEquals(0,fFacility.getControlView().getTraceControlRoot().getChildren().length);
- }
-} \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.ui.tests/src/org/eclipse/linuxtools/lttng2/control/ui/tests/model/component/TraceControlUstSessionTests.java b/lttng/org.eclipse.linuxtools.lttng2.control.ui.tests/src/org/eclipse/linuxtools/lttng2/control/ui/tests/model/component/TraceControlUstSessionTests.java
deleted file mode 100644
index 7a85486775..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.ui.tests/src/org/eclipse/linuxtools/lttng2/control/ui/tests/model/component/TraceControlUstSessionTests.java
+++ /dev/null
@@ -1,549 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2012, 2014 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:
- * Bernd Hufmann - Initial API and implementation
- * Alexandre Montplaisir - Port to JUnit4
- * Markus Schorn - Bug 448058: Use org.eclipse.remote in favor of RSE
- **********************************************************************/
-
-package org.eclipse.linuxtools.lttng2.control.ui.tests.model.component;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertTrue;
-
-import java.io.File;
-import java.net.URL;
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.runtime.FileLocator;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.LogLevelType;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.TargetNodeState;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.TraceChannelOutputType;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.TraceEnablement;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.TraceEventType;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.TraceLogLevel;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.TraceSessionState;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.impl.BufferType;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.impl.ChannelInfo;
-import org.eclipse.linuxtools.internal.lttng2.control.stubs.dialogs.CreateSessionDialogStub;
-import org.eclipse.linuxtools.internal.lttng2.control.stubs.dialogs.DestroyConfirmDialogStub;
-import org.eclipse.linuxtools.internal.lttng2.control.stubs.dialogs.EnableChannelDialogStub;
-import org.eclipse.linuxtools.internal.lttng2.control.stubs.dialogs.EnableEventsDialogStub;
-import org.eclipse.linuxtools.internal.lttng2.control.stubs.dialogs.GetEventInfoDialogStub;
-import org.eclipse.linuxtools.internal.lttng2.control.stubs.service.TestRemoteSystemProxy;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.dialogs.TraceControlDialogFactory;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.model.ITraceControlComponent;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.model.impl.TargetNodeComponent;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.model.impl.TraceChannelComponent;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.model.impl.TraceDomainComponent;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.model.impl.TraceEventComponent;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.model.impl.TraceSessionComponent;
-import org.eclipse.remote.core.IRemoteConnection;
-import org.eclipse.remote.core.IRemoteConnectionManager;
-import org.eclipse.remote.core.RemoteServices;
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Test;
-import org.osgi.framework.FrameworkUtil;
-
-/**
- * The class <code>TraceControlUstSessionTests</code> contains UST
- * session/channel/event handling test cases.
- */
-public class TraceControlUstSessionTests {
-
- // ------------------------------------------------------------------------
- // Constants
- // ------------------------------------------------------------------------
-
- private static final String TEST_STREAM = "CreateTreeTest.cfg";
- private static final String SCEN_SCENARIO4_TEST = "Scenario4";
-
- // ------------------------------------------------------------------------
- // Test data
- // ------------------------------------------------------------------------
-
- private TraceControlTestFacility fFacility;
- private TestRemoteSystemProxy fProxy;
- private String fTestFile;
-
- // ------------------------------------------------------------------------
- // Housekeeping
- // ------------------------------------------------------------------------
-
- /**
- * Perform pre-test initialization.
- *
- * @throws Exception
- * if the initialization fails for some reason
- */
- @Before
- public void setUp() throws Exception {
- fFacility = TraceControlTestFacility.getInstance();
- fFacility.init();
- fProxy = new TestRemoteSystemProxy();
- URL location = FileLocator.find(FrameworkUtil.getBundle(this.getClass()), new Path(TraceControlTestFacility.DIRECTORY + File.separator + TEST_STREAM), null);
- File testfile = new File(FileLocator.toFileURL(location).toURI());
- fTestFile = testfile.getAbsolutePath();
- }
-
- /**
- * Perform post-test clean-up.
- */
- @After
- public void tearDown() {
- fFacility.waitForJobs();
- fFacility.dispose();
- }
-
- /**
- * Run the TraceControlComponent.
- *
- * @throws Exception
- * This will fail the test
- */
- @Test
- public void testTraceSessionTree() throws Exception {
-
- fProxy.setTestFile(fTestFile);
- fProxy.setScenario(TraceControlTestFacility.SCEN_INIT_TEST);
-
- ITraceControlComponent root = fFacility.getControlView().getTraceControlRoot();
-
- IRemoteConnectionManager cm = RemoteServices.getLocalServices().getConnectionManager();
- IRemoteConnection host = cm.getConnection(IRemoteConnectionManager.LOCAL_CONNECTION_NAME);
-
- TargetNodeComponent node = new TargetNodeComponent("myNode", root, host, fProxy);
-
- root.addChild(node);
- fFacility.waitForJobs();
-
- fFacility.executeCommand(node, "connect");
- int i = 0;
- while ((i < 10) && (node.getTargetNodeState() != TargetNodeState.CONNECTED)) {
- i++;
- fFacility.delay(TraceControlTestFacility.GUI_REFESH_DELAY);
- }
-
- // Get provider groups
- ITraceControlComponent[] groups = node.getChildren();
- assertNotNull(groups);
- assertEquals(2, groups.length);
-
- // Initialize dialog implementations for command execution
- TraceControlDialogFactory.getInstance().setCreateSessionDialog(new CreateSessionDialogStub());
- TraceControlDialogFactory.getInstance().setGetEventInfoDialog(new GetEventInfoDialogStub());
- TraceControlDialogFactory.getInstance().setConfirmDialog(new DestroyConfirmDialogStub());
-
- // Initialize session handling scenario
- fProxy.setScenario(TraceControlTestFacility.SCEN_SCENARIO_SESSION_HANDLING);
-
- // ------------------------------------------------------------------------
- // Create session
- // ------------------------------------------------------------------------
- TraceSessionComponent session = fFacility.createSession(groups[1]);
-
- // Verify that session was created
- assertNotNull(session);
- assertEquals("mysession", session.getName());
- assertEquals("/home/user/lttng-traces/mysession-20120314-132824", session.getSessionPath());
- assertEquals(TraceSessionState.INACTIVE, session.getSessionState());
-
- // Initialize scenario
- fProxy.setScenario(SCEN_SCENARIO4_TEST);
-
- // ------------------------------------------------------------------------
- // Enable default channel on created session above
- // ------------------------------------------------------------------------
- EnableChannelDialogStub channelStub = new EnableChannelDialogStub();
- channelStub.setIsKernel(false);
- TraceControlDialogFactory.getInstance().setEnableChannelDialog(channelStub);
-
- fFacility.executeCommand(session, "enableChannelOnSession");
-
- // Verify that Kernel domain was created
- ITraceControlComponent[] domains = session.getChildren();
- assertNotNull(domains);
- assertEquals(1, domains.length);
-
- assertEquals("UST global", domains[0].getName());
- assertEquals("Domain buffer Type", BufferType.BUFFER_TYPE_UNKNOWN, ((TraceDomainComponent)domains[0]).getBufferType());
-
- // Verify that channel was created with correct data
- ITraceControlComponent[] channels = domains[0].getChildren();
- assertNotNull(channels);
- assertEquals(1, channels.length);
-
- assertTrue(channels[0] instanceof TraceChannelComponent);
- TraceChannelComponent channel = (TraceChannelComponent) channels[0];
- assertEquals("mychannel", channel.getName());
- assertEquals(4, channel.getNumberOfSubBuffers());
- assertEquals("mmap()", channel.getOutputType().getInName());
- assertEquals(TraceChannelOutputType.MMAP, channel.getOutputType());
- assertEquals(true, channel.isOverwriteMode());
- assertEquals(200, channel.getReadTimer());
- assertEquals(TraceEnablement.ENABLED, channel.getState());
- assertEquals(16384, channel.getSubBufferSize());
- assertEquals(100, channel.getSwitchTimer());
-
- // ------------------------------------------------------------------------
- // Enable channel on domain
- // ------------------------------------------------------------------------
- ChannelInfo info = (ChannelInfo)channelStub.getChannelInfo();
- info.setName("mychannel2");
- info.setOverwriteMode(false);
- info.setSubBufferSize(32768);
- info.setNumberOfSubBuffers(2);
- info.setSwitchTimer(100);
- info.setReadTimer(200);
- channelStub.setChannelInfo(info);
-
- fFacility.executeCommand(domains[0], "enableChannelOnDomain");
-
- // Get Kernel domain component instance
- domains = session.getChildren();
- assertNotNull(domains);
- assertEquals(1, domains.length);
-
- // Verify that channel was created with correct data
- channels = domains[0].getChildren();
- assertNotNull(channels);
- assertEquals(2, channels.length);
-
- assertTrue(channels[1] instanceof TraceChannelComponent);
- channel = (TraceChannelComponent) channels[1];
- assertEquals("mychannel2", channel.getName());
- assertEquals(2, channel.getNumberOfSubBuffers());
- assertEquals("mmap()", channel.getOutputType().getInName());
- assertEquals(TraceChannelOutputType.MMAP, channel.getOutputType());
- assertEquals(false, channel.isOverwriteMode());
- assertEquals(200, channel.getReadTimer());
- assertEquals(TraceEnablement.ENABLED, channel.getState());
- assertEquals(32768, channel.getSubBufferSize());
- assertEquals(100, channel.getSwitchTimer());
-
- // ------------------------------------------------------------------------
- // Enable event (tracepoint) on session and default channel
- // ------------------------------------------------------------------------
- EnableEventsDialogStub eventsDialogStub = new EnableEventsDialogStub();
- eventsDialogStub.setIsTracePoints(true);
- List<String> events = new ArrayList<>();
- events.add("ust_tests_hello:tptest_sighandler");
- eventsDialogStub.setNames(events);
- eventsDialogStub.setIsKernel(false);
- TraceControlDialogFactory.getInstance().setEnableEventsDialog(eventsDialogStub);
-
- fFacility.executeCommand(session, "enableEventOnSession");
-
- // Get Kernel domain component instance
- domains = session.getChildren();
- assertNotNull(domains);
- assertEquals(1, domains.length);
-
- // Verify that channel was created with correct data
- channels = domains[0].getChildren();
- assertNotNull(channels);
- assertEquals(3, channels.length);
-
- assertTrue(channels[2] instanceof TraceChannelComponent);
- channel = (TraceChannelComponent) channels[2];
- assertEquals("channel0", channel.getName());
- // No need to check parameters of default channel because that has been done in other tests
-
- ITraceControlComponent[] channel0Events = channel.getChildren();
- assertEquals(1, channel0Events.length);
-
- assertTrue(channel0Events[0] instanceof TraceEventComponent);
-
- TraceEventComponent event = (TraceEventComponent) channel0Events[0];
- assertEquals("ust_tests_hello:tptest_sighandler", event.getName());
- assertEquals(TraceLogLevel.LEVEL_UNKNOWN, event.getLogLevel()); // TODO
- assertEquals(TraceEventType.TRACEPOINT, event.getEventType());
- assertEquals(TraceEnablement.ENABLED, event.getState());
-
- // ------------------------------------------------------------------------
- // Enable event (tracepoint) on domain and default channel
- // ------------------------------------------------------------------------
- events.clear();
- events.add("ust_tests_hello:tptest");
- eventsDialogStub.setNames(events);
-
- fFacility.executeCommand(domains[0], "enableEventOnDomain");
-
- // Get Kernel domain component instance
- domains = session.getChildren();
- assertNotNull(domains);
- assertEquals(1, domains.length);
-
- // Verify that channel was created with correct data
- channels = domains[0].getChildren();
- channel = (TraceChannelComponent) channels[2];
- // No need to check parameters of default channel because that has been done in other tests
-
- channel0Events = channel.getChildren();
- assertEquals(2, channel0Events.length);
-
- assertTrue(channel0Events[1] instanceof TraceEventComponent);
-
- event = (TraceEventComponent) channel0Events[1];
- assertEquals("ust_tests_hello:tptest", event.getName());
- assertEquals(TraceLogLevel.LEVEL_UNKNOWN, event.getLogLevel()); // TODO
- assertEquals(TraceEventType.TRACEPOINT, event.getEventType());
- assertEquals(TraceEnablement.ENABLED, event.getState());
-
- // ------------------------------------------------------------------------
- // Enable event (all tracepoints) on specific channel
- // ------------------------------------------------------------------------
- events.clear();
- eventsDialogStub.setNames(events);
- eventsDialogStub.setIsAllTracePoints(true);
-
- fFacility.executeCommand(channels[1], "enableEventOnChannel");
-
- // Get Kernel domain component instance
- domains = session.getChildren();
- assertNotNull(domains);
- assertEquals(1, domains.length);
-
- // Verify that channel was created with correct data
- channels = domains[0].getChildren();
- channel = (TraceChannelComponent) channels[1];
- // No need to check parameters of default channel because that has been done in other tests
-
- channel = (TraceChannelComponent) channels[1];
-
- channel0Events = channel.getChildren();
- assertEquals(1, channel0Events.length);
-
- assertTrue(channel0Events[0] instanceof TraceEventComponent);
-
- event = (TraceEventComponent) channel0Events[0];
- assertEquals("*", event.getName());
- assertEquals(TraceLogLevel.LEVEL_UNKNOWN, event.getLogLevel());
- assertEquals(TraceEventType.TRACEPOINT, event.getEventType());
- assertEquals(TraceEnablement.ENABLED, event.getState());
-
- // ------------------------------------------------------------------------
- // Enable event (wildcard) on specific channel
- // ------------------------------------------------------------------------
- events.clear();
- eventsDialogStub.setIsTracePoints(false);
- eventsDialogStub.setIsAllTracePoints(false);
- eventsDialogStub.setIsWildcard(true);
- eventsDialogStub.setWildcard("ust*");
-
- fFacility.executeCommand(channels[0], "enableEventOnChannel");
-
- // Get Kernel domain component instance
- domains = session.getChildren();
- assertNotNull(domains);
- assertEquals(1, domains.length);
-
- // Verify that channel was created with correct data
- channels = domains[0].getChildren();
- channel = (TraceChannelComponent) channels[0];
- // No need to check parameters of default channel because that has been done in other tests
-
- channel0Events = channel.getChildren();
- assertEquals(1, channel0Events.length);
-
- assertTrue(channel0Events[0] instanceof TraceEventComponent);
-
- event = (TraceEventComponent) channel0Events[0];
- assertEquals("ust*", event.getName());
- assertEquals(TraceLogLevel.LEVEL_UNKNOWN, event.getLogLevel());
- assertEquals(TraceEventType.TRACEPOINT, event.getEventType());
- assertEquals(TraceEnablement.ENABLED, event.getState());
-
- // ------------------------------------------------------------------------
- // Enable event (wildcard) on domain
- // ------------------------------------------------------------------------
- events.clear();
- eventsDialogStub.setIsTracePoints(false);
- eventsDialogStub.setIsAllTracePoints(false);
- eventsDialogStub.setIsWildcard(true);
- eventsDialogStub.setWildcard("ust*");
-
- fFacility.executeCommand(domains[0], "enableEventOnDomain");
-
- // Get Kernel domain component instance
- domains = session.getChildren();
- assertNotNull(domains);
- assertEquals(1, domains.length);
-
- // Verify that channel was created with correct data
- channels = domains[0].getChildren();
- channel = (TraceChannelComponent) channels[0];
- // No need to check parameters of default channel because that has been done in other tests
-
- channel0Events = channel.getChildren();
- assertEquals(1, channel0Events.length);
-
- assertTrue(channel0Events[0] instanceof TraceEventComponent);
-
- event = (TraceEventComponent) channel0Events[0];
- assertEquals("ust*", event.getName());
- assertEquals(TraceLogLevel.LEVEL_UNKNOWN, event.getLogLevel());
- assertEquals(TraceEventType.TRACEPOINT, event.getEventType());
- assertEquals(TraceEnablement.ENABLED, event.getState());
-
- // ------------------------------------------------------------------------
- // Enable event (wildcard) on session
- // ------------------------------------------------------------------------
- events.clear();
- eventsDialogStub.setIsTracePoints(false);
- eventsDialogStub.setIsAllTracePoints(false);
- eventsDialogStub.setIsWildcard(true);
- eventsDialogStub.setWildcard("ust*");
-
- fFacility.executeCommand(domains[0], "enableEventOnDomain");
-
- // Get Kernel domain component instance
- domains = session.getChildren();
- assertNotNull(domains);
- assertEquals(1, domains.length);
-
- // Verify that channel was created with correct data
- channels = domains[0].getChildren();
- channel = (TraceChannelComponent) channels[2];
- // No need to check parameters of default channel because that has been done in other tests
-
- channel0Events = channel.getChildren();
- assertEquals(4, channel0Events.length);
-
- assertTrue(channel0Events[0] instanceof TraceEventComponent);
-
- event = (TraceEventComponent) channel0Events[0];
- assertEquals("u*", event.getName());
- assertEquals(TraceLogLevel.LEVEL_UNKNOWN, event.getLogLevel());
- assertEquals(TraceEventType.TRACEPOINT, event.getEventType());
- assertEquals(TraceEnablement.ENABLED, event.getState());
-
- // ------------------------------------------------------------------------
- // Enable event (loglevel) on domain
- // ------------------------------------------------------------------------
- events.clear();
- eventsDialogStub.setIsWildcard(false);
- eventsDialogStub.setIsLogLevel(true);
- eventsDialogStub.setLogLevelEventName("myevent1");
- eventsDialogStub.setLogLevelType(LogLevelType.LOGLEVEL);
- eventsDialogStub.setLogLevel(TraceLogLevel.TRACE_WARNING);
-
- fFacility.executeCommand(domains[0], "enableEventOnDomain");
-
- // Get Kernel domain component instance
- domains = session.getChildren();
- assertNotNull(domains);
- assertEquals(1, domains.length);
-
- // Verify that channel was created with correct data
- channels = domains[0].getChildren();
- channel = (TraceChannelComponent) channels[2];
- // No need to check parameters of default channel because that has been done in other tests
-
- channel0Events = channel.getChildren();
- assertEquals(5, channel0Events.length);
-
- assertTrue(channel0Events[0] instanceof TraceEventComponent);
-
- event = (TraceEventComponent) channel0Events[0];
- assertEquals("myevent1", event.getName());
- assertEquals(TraceLogLevel.TRACE_WARNING, event.getLogLevel());
- assertEquals(TraceEventType.TRACEPOINT, event.getEventType());
- assertEquals(TraceEnablement.ENABLED, event.getState());
-
- // ------------------------------------------------------------------------
- // Enable event (loglevel) on session
- // ------------------------------------------------------------------------
- eventsDialogStub.setLogLevelEventName("myevent2");
- eventsDialogStub.setLogLevelType(LogLevelType.LOGLEVEL_ONLY);
- eventsDialogStub.setLogLevel(TraceLogLevel.TRACE_DEBUG_FUNCTION);
-
- fFacility.executeCommand(session, "enableEventOnSession");
-
- // Get Kernel domain component instance
- domains = session.getChildren();
- assertNotNull(domains);
- assertEquals(1, domains.length);
-
- // Verify that channel was created with correct data
- channels = domains[0].getChildren();
- channel = (TraceChannelComponent) channels[2];
- // No need to check parameters of default channel because that has been done in other tests
-
- channel0Events = channel.getChildren();
- assertEquals(6, channel0Events.length);
-
- assertTrue(channel0Events[0] instanceof TraceEventComponent);
-
- event = (TraceEventComponent) channel0Events[0];
- assertEquals("myevent2", event.getName());
- assertEquals(TraceLogLevel.TRACE_DEBUG_FUNCTION, event.getLogLevel());
- assertEquals(TraceEventType.TRACEPOINT, event.getEventType());
- assertEquals(TraceEnablement.ENABLED, event.getState());
-
- // ------------------------------------------------------------------------
- // Enable event (loglevel) on channel
- // ------------------------------------------------------------------------
- eventsDialogStub.setLogLevelEventName("myevent0");
- eventsDialogStub.setLogLevelType(LogLevelType.LOGLEVEL_ONLY);
- eventsDialogStub.setLogLevel(TraceLogLevel.TRACE_DEBUG_FUNCTION);
-
- fFacility.executeCommand(channels[0], "enableEventOnChannel");
-
- // Get Kernel domain component instance
- domains = session.getChildren();
- assertNotNull(domains);
- assertEquals(1, domains.length);
-
- // Verify that channel was created with correct data
- channels = domains[0].getChildren();
- channel = (TraceChannelComponent) channels[0];
- // No need to check parameters of default channel because that has been done in other tests
-
- channel0Events = channel.getChildren();
- assertEquals(2, channel0Events.length);
-
- assertTrue(channel0Events[0] instanceof TraceEventComponent);
-
- event = (TraceEventComponent) channel0Events[0];
- assertEquals("myevent0", event.getName());
- assertEquals(TraceLogLevel.TRACE_DEBUG_FUNCTION, event.getLogLevel());
- assertEquals(TraceEventType.TRACEPOINT, event.getEventType());
- assertEquals(TraceEnablement.ENABLED, event.getState());
-
- // ------------------------------------------------------------------------
- // Destroy session
- // ------------------------------------------------------------------------
- // Initialize session handling scenario
- fProxy.setScenario(TraceControlTestFacility.SCEN_SCENARIO_SESSION_HANDLING);
-
- fFacility.destroySession(session);
-
- // Verify that no more session components exist
- assertEquals("Session components still exist.", 0, groups[1].getChildren().length);
-
- //-------------------------------------------------------------------------
- // Disconnect node
- //-------------------------------------------------------------------------
- fFacility.executeCommand(node, "disconnect");
- assertEquals(TargetNodeState.DISCONNECTED, node.getTargetNodeState());
-
- //-------------------------------------------------------------------------
- // Delete node
- //-------------------------------------------------------------------------
-
- fFacility.executeCommand(node, "delete");
-
- assertEquals("Node not deleted.", 0, fFacility.getControlView().getTraceControlRoot().getChildren().length);
- }
-} \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.ui.tests/src/org/eclipse/linuxtools/lttng2/control/ui/tests/model/component/TraceControlUstSessionTests2.java b/lttng/org.eclipse.linuxtools.lttng2.control.ui.tests/src/org/eclipse/linuxtools/lttng2/control/ui/tests/model/component/TraceControlUstSessionTests2.java
deleted file mode 100644
index 3b75e2c0b1..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.ui.tests/src/org/eclipse/linuxtools/lttng2/control/ui/tests/model/component/TraceControlUstSessionTests2.java
+++ /dev/null
@@ -1,307 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2013, 2014 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:
- * Bernd Hufmann - Initial API and implementation
- * Markus Schorn - Bug 448058: Use org.eclipse.remote in favor of RSE
- **********************************************************************/
-
-package org.eclipse.linuxtools.lttng2.control.ui.tests.model.component;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertTrue;
-
-import java.io.File;
-import java.net.URL;
-
-import org.eclipse.core.runtime.FileLocator;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.TargetNodeState;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.impl.BufferType;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.impl.ChannelInfo;
-import org.eclipse.linuxtools.internal.lttng2.control.stubs.dialogs.CreateSessionDialogStub;
-import org.eclipse.linuxtools.internal.lttng2.control.stubs.dialogs.DestroyConfirmDialogStub;
-import org.eclipse.linuxtools.internal.lttng2.control.stubs.dialogs.EnableChannelDialogStub;
-import org.eclipse.linuxtools.internal.lttng2.control.stubs.dialogs.GetEventInfoDialogStub;
-import org.eclipse.linuxtools.internal.lttng2.control.stubs.service.TestRemoteSystemProxy;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.dialogs.TraceControlDialogFactory;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.model.ITraceControlComponent;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.model.impl.TargetNodeComponent;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.model.impl.TraceChannelComponent;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.model.impl.TraceDomainComponent;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.model.impl.TraceSessionComponent;
-import org.eclipse.remote.core.IRemoteConnection;
-import org.eclipse.remote.core.IRemoteConnectionManager;
-import org.eclipse.remote.core.RemoteServices;
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Test;
-import org.osgi.framework.FrameworkUtil;
-
-/**
- * The class <code>TraceControlUstSessionTests</code> contains UST
- * session/channel/event handling test cases for LTTng 2.2.
- */
-public class TraceControlUstSessionTests2 {
-
- // ------------------------------------------------------------------------
- // Constants
- // ------------------------------------------------------------------------
-
- private static final String TEST_STREAM = "CreateTreeTest2.cfg";
- private static final String SCEN_SCEN_PER_UID_TEST = "ScenPerUidTest";
- private static final String SCEN_SCEN_PER_PID_TEST = "ScenPerPidTest";
- private static final String SCEN_SCEN_BUF_SIZE_TEST = "ScenBufSizeTest";
-
- // ------------------------------------------------------------------------
- // Test data
- // ------------------------------------------------------------------------
-
- private TraceControlTestFacility fFacility;
- private TestRemoteSystemProxy fProxy;
- private String fTestFile;
-
- // ------------------------------------------------------------------------
- // Housekeeping
- // ------------------------------------------------------------------------
-
- /**
- * Perform pre-test initialization.
- *
- * @throws Exception
- * if the initialization fails for some reason
- */
- @Before
- public void setUp() throws Exception {
- fFacility = TraceControlTestFacility.getInstance();
- fFacility.init();
- fProxy = new TestRemoteSystemProxy();
- URL location = FileLocator.find(FrameworkUtil.getBundle(this.getClass()), new Path(TraceControlTestFacility.DIRECTORY + File.separator + TEST_STREAM), null);
- File testfile = new File(FileLocator.toFileURL(location).toURI());
- fTestFile = testfile.getAbsolutePath();
- }
-
- /**
- * Perform post-test clean-up.
- */
- @After
- public void tearDown() {
- fFacility.waitForJobs();
- fFacility.dispose();
- }
-
- /**
- * Run the TraceControlComponent.
- *
- * @throws Exception
- * This will fail the test
- */
- @Test
- public void testTraceSessionTree() throws Exception {
-
- fProxy.setTestFile(fTestFile);
- fProxy.setScenario(TraceControlTestFacility.SCEN_INIT_TEST);
-
- ITraceControlComponent root = fFacility.getControlView().getTraceControlRoot();
-
- IRemoteConnectionManager cm = RemoteServices.getLocalServices().getConnectionManager();
- IRemoteConnection host = cm.getConnection(IRemoteConnectionManager.LOCAL_CONNECTION_NAME);
- TargetNodeComponent node = new TargetNodeComponent("myNode", root, host, fProxy);
-
- root.addChild(node);
- fFacility.waitForJobs();
-
- fFacility.executeCommand(node, "connect");
- int i = 0;
- while ((i < 10) && (node.getTargetNodeState() != TargetNodeState.CONNECTED)) {
- i++;
- fFacility.delay(TraceControlTestFacility.GUI_REFESH_DELAY);
- }
-
- // Get provider groups
- ITraceControlComponent[] groups = node.getChildren();
- assertNotNull(groups);
- assertEquals(2, groups.length);
-
- // Initialize dialog implementations for command execution
- TraceControlDialogFactory.getInstance().setCreateSessionDialog(new CreateSessionDialogStub());
- TraceControlDialogFactory.getInstance().setGetEventInfoDialog(new GetEventInfoDialogStub());
- TraceControlDialogFactory.getInstance().setConfirmDialog(new DestroyConfirmDialogStub());
-
- // Initialize scenario
- fProxy.setScenario(SCEN_SCEN_PER_UID_TEST);
-
- // ------------------------------------------------------------------------
- // Create session
- // ------------------------------------------------------------------------
- TraceSessionComponent session = fFacility.createSession(groups[1]);
-
- // Verify that session was created
- assertNotNull(session);
- assertEquals("mysession", session.getName());
-
- // ------------------------------------------------------------------------
- // Enable default channel on created session above
- // ------------------------------------------------------------------------
- EnableChannelDialogStub channelStub = new EnableChannelDialogStub();
- channelStub.setIsKernel(false);
- ChannelInfo info = (ChannelInfo)channelStub.getChannelInfo();
- info.setName("mychannel");
- info.setOverwriteMode(false);
- info.setSubBufferSize(-1);
- info.setNumberOfSubBuffers(-1);
- info.setSwitchTimer(-1);
- info.setReadTimer(-1);
- info.setMaxNumberTraceFiles(-1);
- info.setMaxSizeTraceFiles(-1);
- info.setBufferType(BufferType.BUFFER_PER_UID);
- channelStub.setChannelInfo(info);
-
- TraceControlDialogFactory.getInstance().setEnableChannelDialog(channelStub);
-
- fFacility.executeCommand(session, "enableChannelOnSession");
-
- // Verify that UST domain was created
- ITraceControlComponent[] domains = session.getChildren();
- assertNotNull(domains);
- assertEquals(1, domains.length);
-
- assertEquals("UST global", domains[0].getName());
- assertEquals("Domain buffer Type", BufferType.BUFFER_PER_UID, ((TraceDomainComponent)domains[0]).getBufferType());
-
- // Verify that channel was created with correct data
- ITraceControlComponent[] channels = domains[0].getChildren();
- assertNotNull(channels);
- assertEquals(1, channels.length);
-
- assertTrue(channels[0] instanceof TraceChannelComponent);
- TraceChannelComponent channel = (TraceChannelComponent) channels[0];
- assertEquals("mychannel", channel.getName());
-
- // ------------------------------------------------------------------------
- // Destroy session
- // ------------------------------------------------------------------------
- fFacility.destroySession(session);
-
- // Verify that no more session components exist
- assertEquals(0, groups[1].getChildren().length);
-
- // ------------------------------------------------------------------------
- // Create session (per-pid buffers)
- // ------------------------------------------------------------------------
-
- // Initialize scenario
- fProxy.setScenario(SCEN_SCEN_PER_PID_TEST);
-
- session = fFacility.createSession(groups[1]);
-
- // Verify that session was created
- assertNotNull(session);
- assertEquals("mysession", session.getName());
-
- // ------------------------------------------------------------------------
- // Enable default channel on created session above
- // ------------------------------------------------------------------------
- info = (ChannelInfo)channelStub.getChannelInfo();
- info.setName("mychannel");
- info.setBufferType(BufferType.BUFFER_PER_PID);
- channelStub.setChannelInfo(info);
-
- fFacility.executeCommand(session, "enableChannelOnSession");
-
- // Verify that UST domain was created
- domains = session.getChildren();
- assertNotNull(domains);
- assertEquals(1, domains.length);
-
- assertEquals("UST global", domains[0].getName());
- assertEquals("Domain buffer Type", BufferType.BUFFER_PER_PID, ((TraceDomainComponent)domains[0]).getBufferType());
-
- // Verify that channel was created with correct data
- channels = domains[0].getChildren();
- assertNotNull(channels);
- assertEquals(1, channels.length);
-
- assertTrue(channels[0] instanceof TraceChannelComponent);
- channel = (TraceChannelComponent) channels[0];
- assertEquals("mychannel", channel.getName());
-
- // ------------------------------------------------------------------------
- // Destroy session
- // ------------------------------------------------------------------------
- fFacility.destroySession(session);
-
- // Verify that no more session components exist
- assertEquals(0, groups[1].getChildren().length);
-
- // ------------------------------------------------------------------------
- // Create session (configured file size and number of files)
- // ------------------------------------------------------------------------
-
- // Initialize scenario
- fProxy.setScenario(SCEN_SCEN_BUF_SIZE_TEST);
-
- session = fFacility.createSession(groups[1]);
-
- // Verify that session was created
- assertNotNull(session);
- assertEquals("mysession", session.getName());
-
- // ------------------------------------------------------------------------
- // Enable default channel on created session above
- // ------------------------------------------------------------------------
- info = (ChannelInfo)channelStub.getChannelInfo();
- info.setName("mychannel");
- info.setMaxNumberTraceFiles(10);
- info.setMaxSizeTraceFiles(1024);
- info.setBufferType(BufferType.BUFFER_TYPE_UNKNOWN);
- channelStub.setChannelInfo(info);
-
- fFacility.executeCommand(session, "enableChannelOnSession");
-
- // Verify that UST domain was created
- domains = session.getChildren();
- assertNotNull(domains);
- assertEquals(1, domains.length);
-
- assertEquals("UST global", domains[0].getName());
- assertEquals("Domain buffer Type", BufferType.BUFFER_PER_PID, ((TraceDomainComponent)domains[0]).getBufferType());
-
- // Verify that channel was created with correct data
- channels = domains[0].getChildren();
- assertNotNull(channels);
- assertEquals(1, channels.length);
-
- assertTrue(channels[0] instanceof TraceChannelComponent);
- channel = (TraceChannelComponent) channels[0];
- assertEquals("mychannel", channel.getName());
-
- // ------------------------------------------------------------------------
- // Destroy session
- // ------------------------------------------------------------------------
- fFacility.destroySession(session);
-
- // Verify that no more session components exist
- assertEquals(0, groups[1].getChildren().length);
-
- //-------------------------------------------------------------------------
- // Disconnect node
- //-------------------------------------------------------------------------
- fFacility.executeCommand(node, "disconnect");
- assertEquals(TargetNodeState.DISCONNECTED, node.getTargetNodeState());
-
- //-------------------------------------------------------------------------
- // Delete node
- //-------------------------------------------------------------------------
-
- fFacility.executeCommand(node, "delete");
-
- assertEquals(0,fFacility.getControlView().getTraceControlRoot().getChildren().length);
- }
-} \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.ui.tests/src/org/eclipse/linuxtools/lttng2/control/ui/tests/service/AllTests.java b/lttng/org.eclipse.linuxtools.lttng2.control.ui.tests/src/org/eclipse/linuxtools/lttng2/control/ui/tests/service/AllTests.java
deleted file mode 100644
index 8c1040009b..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.ui.tests/src/org/eclipse/linuxtools/lttng2/control/ui/tests/service/AllTests.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011, 2013 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:
- * Bernd Hufmann - Initial API and implementation
- * Alexandre Montplaisir - Port to JUnit4
- *******************************************************************************/
-
-package org.eclipse.linuxtools.lttng2.control.ui.tests.service;
-
-import org.junit.runner.RunWith;
-import org.junit.runners.Suite;
-
-/**
- * Runner for the service unit tests.
- */
-@RunWith(Suite.class)
-@Suite.SuiteClasses({
- LTTngControlServiceTest.class,
- LTTngControlServiceMiTest.class
-})
-public class AllTests {
-
-}
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.ui.tests/src/org/eclipse/linuxtools/lttng2/control/ui/tests/service/LTTngControlServiceMiTest.java b/lttng/org.eclipse.linuxtools.lttng2.control.ui.tests/src/org/eclipse/linuxtools/lttng2/control/ui/tests/service/LTTngControlServiceMiTest.java
deleted file mode 100644
index 32fa19ab62..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.ui.tests/src/org/eclipse/linuxtools/lttng2/control/ui/tests/service/LTTngControlServiceMiTest.java
+++ /dev/null
@@ -1,148 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2014 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:
- * Jonathan Rajotte - Support of machine interface
- **********************************************************************/
-
-package org.eclipse.linuxtools.lttng2.control.ui.tests.service;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertTrue;
-
-import java.net.URL;
-
-import org.eclipse.core.commands.ExecutionException;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.ISessionInfo;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.TraceLogLevel;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.TraceSessionState;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.impl.SessionInfo;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.service.ILttngControlService;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.service.LTTngControlServiceConstants;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.service.LTTngControlServiceMI;
-
-/**
- * @author ejorajo
- *
- */
-public class LTTngControlServiceMiTest extends LTTngControlServiceTest {
-
- private static final String MI_TEST_STREAM = "LTTngServiceMiTest.cfg";
-
- @Override
- protected ILttngControlService getControlService() {
- try {
- URL resource = LTTngControlServiceMI.class.getResource(LTTngControlServiceConstants.MI_XSD_FILENAME);
- return new LTTngControlServiceMI(getfShell(), resource);
- } catch (ExecutionException e) {
- return null;
- }
- }
-
- @Override
- public void testGetSessionNameGarbage() {
- try {
- fShell.setScenario(SCEN_GET_SESSION_GARBAGE_OUT);
- fService.getSessionNames(new NullProgressMonitor());
- } catch (ExecutionException e) {
- // Success. Parsing of garbage result in an ExecutionException
- // generated by the XML document parser: Unable to parse the xml
- // document.
- }
- }
-
- @Override
- public void testCreateLiveSession() throws ExecutionException {
- fShell.setScenario(SCEN_CREATE_LIVE_SESSION);
-
- ISessionInfo params = new SessionInfo("mysession");
- params.setLive(true);
- params.setStreamedTrace(true);
- params.setNetworkUrl("net://127.0.0.1");
- ISessionInfo sessionInfo = fService.createSession(params, new NullProgressMonitor());
- assertNotNull(sessionInfo);
- assertEquals("mysession", sessionInfo.getName());
- assertEquals(TraceSessionState.INACTIVE, sessionInfo.getSessionState());
- assertTrue(sessionInfo.isStreamedTrace());
- assertTrue(sessionInfo.isLive());
- assertEquals("tcp4://127.0.0.1:5342/ [data: 5343]", sessionInfo.getSessionPath());
- String[] names = fService.getSessionNames(new NullProgressMonitor());
- assertEquals(names[0], "mysession");
- fService.destroySession("mysession", new NullProgressMonitor());
- }
-
- @Override
- protected String getTestStream() {
- return MI_TEST_STREAM;
- }
-
- @Override
- protected TraceLogLevel getAllEventTraceLogLevel() {
- return TraceLogLevel.TRACE_DEBUG;
- }
-
- @Override
- public void testGetKernelProviderNoUstVerbose() {
- // Verbose mode in machine interface is deactivated. This test is
- // ignored.
- }
-
- @Override
- public void testCreateSession2_1() {
- // 2.1 is not supported by mi. This test is ignored.
- }
-
- @Override
- public void testGetKernelProviderNoUst3() {
- // Verbose mode in machine interface is deactivated. This test is
- // ignored.
- }
-
- @Override
- public void testGetKernelProviderNoKernelVerbose() {
- // Verbose mode in machine interface is deactivated. This test is
- // ignored.
- }
-
- @Override
- public void testCreateSessionVerbose2_1() {
- // Verbose mode in machine interface is deactivated. This test is
- // ignored.
- }
-
- @Override
- public void testDestroySessionVerbose() {
- // Verbose mode in machine interface is deactivated. This test is
- // ignored.
- }
-
- @Override
- public void testCreateSessionWithPrompt() {
- // TODO Investigate if this case can happen in production. If yes than
- // we need to rethinks the MI fetching and parsing.
- }
-
- @Override
- public void testAddContext() {
- // TODO This does not use mi feature.And currently the context enabling
- // is wrong for 2.6.
- }
-
- @Override
- public void testAddContextFailure() {
- // TODO This does not use mi feature.And currently the context enabling
- // is wrong for 2.6.
- }
-
- @Override
- public void testCreateSnapshotSession2_5() {
- // not applicable for MI
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.ui.tests/src/org/eclipse/linuxtools/lttng2/control/ui/tests/service/LTTngControlServiceTest.java b/lttng/org.eclipse.linuxtools.lttng2.control.ui.tests/src/org/eclipse/linuxtools/lttng2/control/ui/tests/service/LTTngControlServiceTest.java
deleted file mode 100644
index 14cfcd11aa..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.ui.tests/src/org/eclipse/linuxtools/lttng2/control/ui/tests/service/LTTngControlServiceTest.java
+++ /dev/null
@@ -1,1538 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2012, 2014 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:
- * Bernd Hufmann - Initial API and implementation
- * Alexandre Montplaisir - Port to JUnit4
- * Marc-Andre Laperle - Support for creating a live session
- **********************************************************************/
-
-package org.eclipse.linuxtools.lttng2.control.ui.tests.service;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertTrue;
-import static org.junit.Assert.fail;
-
-import java.io.File;
-import java.net.URL;
-import java.util.ArrayList;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Set;
-
-import org.eclipse.core.commands.ExecutionException;
-import org.eclipse.core.runtime.FileLocator;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.linuxtools.internal.lttng2.control.stubs.service.CommandShellFactory;
-import org.eclipse.linuxtools.internal.lttng2.control.stubs.shells.LTTngToolsFileShell;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.IBaseEventInfo;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.IChannelInfo;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.IDomainInfo;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.IEventInfo;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.IFieldInfo;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.ISessionInfo;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.ISnapshotInfo;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.IUstProviderInfo;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.LogLevelType;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.TraceChannelOutputType;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.TraceEnablement;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.TraceEventType;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.TraceLogLevel;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.TraceSessionState;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.impl.BufferType;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.impl.ChannelInfo;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.impl.SessionInfo;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.Activator;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.logging.ControlCommandLogger;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.preferences.ControlPreferences;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.service.ILttngControlService;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.service.LTTngControlService;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.service.LTTngControlServiceFactory;
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Test;
-import org.osgi.framework.FrameworkUtil;
-
-/**
- * The class <code>LTTngControlServiceTest</code> contains test for the class
- * <code>{@link LTTngControlService}</code>.
- */
-@SuppressWarnings("javadoc")
-public class LTTngControlServiceTest {
-
- private static final String DIRECTORY = "testfiles";
- private static final String TEST_STREAM = "LTTngServiceTest.cfg";
-
- private static final String SCEN_LTTNG_NOT_INSTALLED = "LttngNotInstalled";
- private static final String SCEN_LTTNG_VERSION = "LttngVersion";
- private static final String SCEN_LTTNG_VERSION_WITH_PROMPT = "LttngVersionWithPrompt";
- private static final String SCEN_LTTNG_UNSUPPORTED_VERSION = "LttngUnsupportedVersion";
- private static final String SCEN_LTTNG_NO_VERSION = "LttngNoVersion";
- private static final String SCEN_LTTNG_COMPILED_VERSION = "LttngVersionCompiled";
- private static final String SCEN_NO_SESSION_AVAILABLE = "NoSessionAvailable";
- private static final String SCEN_GET_SESSION_NAMES1 = "GetSessionNames1";
- private static final String SCEN_GET_SESSION_NAME_NOT_EXIST = "GetSessionNameNotExist";
- private static final String SCEN_GET_SESSION_NAME_NOT_EXIST_VERBOSE = "GetSessionNameNotExistVerbose";
- protected static final String SCEN_GET_SESSION_GARBAGE_OUT = "GetSessionGarbageOut";
- private static final String SCEN_GET_SESSION1 = "GetSession1";
- private static final String SCEN_GET_KERNEL_PROVIDER1 = "GetKernelProvider1";
- private static final String SCEN_LIST_WITH_NO_KERNEL1 = "ListWithNoKernel1";
- private static final String SCEN_LIST_WITH_NO_KERNEL2 = "ListWithNoKernel2";
- private static final String SCEN_LIST_WITH_NO_KERNEL_VERBOSE = "ListWithNoKernelVerbose";
- private static final String SCEN_GET_UST_PROVIDER1 = "GetUstProvider1";
- private static final String SCEN_GET_UST_PROVIDER2 = "GetUstProvider2";
- private static final String SCEN_GET_UST_PROVIDER3 = "GetUstProvider3";
- private static final String SCEN_LIST_WITH_NO_UST1 = "ListWithNoUst1";
- private static final String SCEN_LIST_WITH_NO_UST2 = "ListWithNoUst2";
- private static final String SCEN_LIST_WITH_NO_UST3 = "ListWithNoUst3";
- private static final String SCEN_LIST_WITH_NO_UST_VERBOSE = "ListWithNoUstVerbose";
- private static final String SCEN_CREATE_SESSION1 = "CreateSession1";
- private static final String SCEN_CREATE_SESSION_WITH_PROMPT = "CreateSessionWithPrompt";
- private static final String SCEN_CREATE_SESSION_VARIANTS = "CreateSessionVariants";
- private static final String SCEN_DESTROY_SESSION1 = "DestroySession1";
- private static final String SCEN_DESTROY_SESSION_VERBOSE = "DestroySessionVerbose";
- private static final String SCEN_CHANNEL_HANDLING = "ChannelHandling";
- private static final String SCEN_EVENT_HANDLING = "EventHandling";
- private static final String SCEN_CONTEXT_HANDLING = "ContextHandling";
- private static final String SCEN_CONTEXT_ERROR_HANDLING = "ContextErrorHandling";
- private static final String SCEN_CALIBRATE_HANDLING = "CalibrateHandling";
- private static final String SCEN_CREATE_SESSION_2_1 = "CreateSessionLttng2.1";
- private static final String SCEN_CREATE_SESSION_VERBOSE_2_1 = "CreateSessionLttngVerbose2.1";
- private static final String SCEN_CREATE_SNAPSHOT_SESSION = "CreateSessionSnapshot";
- private static final String SCEN_CREATE_SNAPSHOT_SESSION_2_5 = "CreateSessionSnapshot2.5";
- private static final String SCEN_CREATE_STREAMED_SNAPSHOT_SESSION = "CreateSessionStreamedSnapshot";
- private static final String SCEN_CREATE_SNAPSHOT_SESSION_ERRORS = "CreateSessionSnapshotErrors";
- protected static final String SCEN_CREATE_LIVE_SESSION = "CreateSessionLive";
- private static final String SCEN_CREATE_LIVE_SESSION_ERRORS = "CreateSessionLiveErrors";
-
-
- // ------------------------------------------------------------------------
- // Test data
- // ------------------------------------------------------------------------
-
- private CommandShellFactory fShellFactory;
- private String fTestfile;
- protected LTTngToolsFileShell fShell;
- protected ILttngControlService fService;
-
- // ------------------------------------------------------------------------
- // Housekeeping
- // ------------------------------------------------------------------------
-
- /**
- * Perform pre-test initialization.
- *
- * @throws Exception
- * if the initialization fails for some reason
- */
- @Before
- public void setUp() throws Exception {
- fShellFactory = CommandShellFactory.getInstance();
-
- URL location = FileLocator.find(FrameworkUtil.getBundle(this.getClass()), new Path(getTestDirectory() + File.separator + getTestStream()), null);
- File testfile = new File(FileLocator.toFileURL(location).toURI());
- fTestfile = testfile.getAbsolutePath();
-
- fShell = fShellFactory.getFileShell();
- fShell.loadScenarioFile(fTestfile);
- fService = getControlService();
- if (fService == null) {
- throw new Exception("Unable to obtain a valid ControlService");
- }
-
- ControlPreferences.getInstance().init(Activator.getDefault().getPreferenceStore());
- }
-
- /**
- * @return the string of the test directory to use
- */
- protected String getTestDirectory() {
- return DIRECTORY;
- }
-
- /**
- * @return the LttngCon
- */
- protected ILttngControlService getControlService() {
- return new LTTngControlService(fShell);
- }
-
- public LTTngToolsFileShell getfShell() {
- return fShell;
- }
-
- /**
- * @return
- */
- protected String getTestStream() {
- return TEST_STREAM;
- }
-
- @After
- public void tearDown() {
- disableVerbose();
- ControlPreferences.getInstance().dispose();
- }
-
- // ------------------------------------------------------------------------
- // Test Cases
- // ------------------------------------------------------------------------
-
- @Test
- public void testVersion() {
- try {
- fShell.setScenario(SCEN_LTTNG_VERSION);
- ILttngControlService service = LTTngControlServiceFactory.getInstance().getLttngControlService(fShell);
- assertNotNull(service);
- assertEquals("2.1.0", service.getVersionString());
- } catch (ExecutionException e) {
- fail("Exeption thrown " + e);
- }
- }
-
- @Test
- public void testVersionWithPrompt() {
- try {
- fShell.setScenario(SCEN_LTTNG_VERSION_WITH_PROMPT);
- ILttngControlService service = LTTngControlServiceFactory.getInstance().getLttngControlService(fShell);
- assertNotNull(service);
- assertEquals("2.0.0", service.getVersionString());
- } catch (ExecutionException e) {
- fail("Exeption thrown " + e);
- }
- }
-
- @Test
- public void testUnsupportedVersion() {
- try {
- fShell.setScenario(SCEN_LTTNG_UNSUPPORTED_VERSION);
- LTTngControlServiceFactory.getInstance().getLttngControlService(fShell);
- fail("No exeption thrown");
- } catch (ExecutionException e) {
- // success
- }
- }
-
- @Test
- public void testNoVersion() {
- try {
- fShell.setScenario(SCEN_LTTNG_NO_VERSION);
- LTTngControlServiceFactory.getInstance().getLttngControlService(fShell);
- fail("No exeption thrown");
- } catch (ExecutionException e) {
- // success
- }
- }
-
- @Test
- public void testVersionCompiled() {
- try {
- fShell.setScenario(SCEN_LTTNG_COMPILED_VERSION);
- ILttngControlService service = LTTngControlServiceFactory.getInstance().getLttngControlService(fShell);
- assertNotNull(service);
- assertEquals("2.5.0", service.getVersionString());
- } catch (ExecutionException e) {
- fail("Exeption thrown " + e);
- }
- }
-
-
- @Test
- public void testLttngNotInstalled() {
- try {
- fShell.setScenario(SCEN_LTTNG_NOT_INSTALLED);
- fService.getSessionNames(new NullProgressMonitor());
- fail("No exeption thrown");
- } catch (ExecutionException e) {
- // success
- }
- }
-
- @Test
- public void testGetSessionNames1() {
- try {
- fShell.setScenario(SCEN_NO_SESSION_AVAILABLE);
- String[] result = fService.getSessionNames(new NullProgressMonitor());
-
- assertNotNull(result);
- assertEquals(0, result.length);
-
- } catch (ExecutionException e) {
- fail(e.toString());
- }
- }
-
- @Test
- public void testGetSessionNames2() {
- try {
- fShell.setScenario(SCEN_GET_SESSION_NAMES1);
- String[] result = fService.getSessionNames(new NullProgressMonitor());
-
- assertNotNull(result);
- assertEquals(2, result.length);
- assertEquals("mysession1", result[0]);
- assertEquals("mysession", result[1]);
-
- } catch (ExecutionException e) {
- fail(e.toString());
- }
- }
-
- @Test
- public void testGetSessionNotExist() {
- try {
- fShell.setScenario(SCEN_GET_SESSION_NAME_NOT_EXIST);
- fService.getSessionNames(new NullProgressMonitor());
- fail("No exeption thrown");
-
- } catch (ExecutionException e) {
- // success
- }
- }
-
- @Test
- public void testGetSessionNotExistVerbose() {
- try {
- enableVerbose();
- fShell.setScenario(SCEN_GET_SESSION_NAME_NOT_EXIST_VERBOSE);
- fService.getSessionNames(new NullProgressMonitor());
- fail("No exeption thrown");
-
- } catch (ExecutionException e) {
- // success
- } finally {
- disableVerbose();
- }
- }
-
- @Test
- public void testGetSessionNameGarbage() {
- try {
- fShell.setScenario(SCEN_GET_SESSION_GARBAGE_OUT);
- String[] result = fService.getSessionNames(new NullProgressMonitor());
-
- assertNotNull(result);
- assertEquals(0, result.length);
-
- } catch (ExecutionException e) {
- fail(e.toString());
- }
- }
-
- @Test
- public void testGetSession1() {
- try {
- fShell.setScenario(SCEN_GET_SESSION1);
- ISessionInfo session = fService.getSession("mysession", new NullProgressMonitor());
-
- // Verify Session
- assertNotNull(session);
- assertEquals("mysession", session.getName());
- assertEquals("/home/user/lttng-traces/mysession-20120129-084256", session.getSessionPath());
- assertEquals(TraceSessionState.ACTIVE, session.getSessionState());
-
- IDomainInfo[] domains = session.getDomains();
- assertNotNull(domains);
- assertEquals(2, domains.length);
-
- // Verify Kernel domain
- assertEquals("Kernel", domains[0].getName());
- IChannelInfo[] channels = domains[0].getChannels();
- assertNotNull(channels);
- assertEquals(2, channels.length);
-
- // Verify Kernel's channel0
- assertEquals("channel0", channels[0].getName());
- assertEquals(4, channels[0].getNumberOfSubBuffers());
- assertEquals("splice()", channels[0].getOutputType().getInName());
- assertEquals(TraceChannelOutputType.SPLICE, channels[0].getOutputType());
- assertEquals(false, channels[0].isOverwriteMode());
- assertEquals(200, channels[0].getReadTimer());
- assertEquals(TraceEnablement.ENABLED, channels[0].getState());
- assertEquals(262144, channels[0].getSubBufferSize());
- assertEquals(0, channels[0].getSwitchTimer());
-
- // Verify event info
- IEventInfo[] channel0Events = channels[0].getEvents();
- assertNotNull(channel0Events);
- assertEquals(2, channel0Events.length);
- assertEquals("block_rq_remap", channel0Events[0].getName());
- assertEquals(TraceLogLevel.TRACE_EMERG, channel0Events[0].getLogLevel());
- assertEquals(TraceEventType.TRACEPOINT, channel0Events[0].getEventType());
- assertEquals(TraceEnablement.ENABLED, channel0Events[0].getState());
-
- assertEquals("block_bio_remap", channel0Events[1].getName());
- assertEquals(TraceLogLevel.TRACE_EMERG, channel0Events[1].getLogLevel());
- assertEquals(TraceEventType.TRACEPOINT, channel0Events[1].getEventType());
- assertEquals(TraceEnablement.DISABLED, channel0Events[1].getState());
-
- // Verify Kernel's channel1
- assertEquals("channel1", channels[1].getName());
- assertEquals(4, channels[1].getNumberOfSubBuffers());
- assertEquals("splice()", channels[1].getOutputType().getInName());
- assertEquals(TraceChannelOutputType.SPLICE, channels[1].getOutputType());
- assertEquals(true, channels[1].isOverwriteMode());
- assertEquals(400, channels[1].getReadTimer());
- assertEquals(TraceEnablement.DISABLED, channels[1].getState());
- assertEquals(524288, channels[1].getSubBufferSize());
- assertEquals(100, channels[1].getSwitchTimer());
-
- // Verify event info
- IEventInfo[] channel1Events = channels[1].getEvents();
- assertEquals(0, channel1Events.length);
-
- // Verify domain UST global
- assertEquals("UST global", domains[1].getName());
-
- IChannelInfo[] ustChannels = domains[1].getChannels();
-
- // Verify UST global's mychannel1
- assertEquals("mychannel1", ustChannels[0].getName());
- assertEquals(8, ustChannels[0].getNumberOfSubBuffers());
- assertEquals("mmap()", ustChannels[0].getOutputType().getInName());
- assertEquals(TraceChannelOutputType.MMAP, ustChannels[0].getOutputType());
- assertEquals(true, ustChannels[0].isOverwriteMode());
- assertEquals(100, ustChannels[0].getReadTimer());
- assertEquals(TraceEnablement.DISABLED, ustChannels[0].getState());
- assertEquals(8192, ustChannels[0].getSubBufferSize());
- assertEquals(200, ustChannels[0].getSwitchTimer());
-
- // Verify event info
- IEventInfo[] ustEvents = ustChannels[0].getEvents();
- assertEquals(0, ustEvents.length);
-
- // Verify UST global's channel0
- assertEquals("channel0", ustChannels[1].getName());
- assertEquals(4, ustChannels[1].getNumberOfSubBuffers());
- assertEquals("mmap()", ustChannels[1].getOutputType().getInName());
- assertEquals(TraceChannelOutputType.MMAP, ustChannels[1].getOutputType());
- assertEquals(false, ustChannels[1].isOverwriteMode());
- assertEquals(200, ustChannels[1].getReadTimer());
- assertEquals(TraceEnablement.ENABLED, ustChannels[1].getState());
- assertEquals(4096, ustChannels[1].getSubBufferSize());
- assertEquals(0, ustChannels[1].getSwitchTimer());
-
- // Verify event info
- ustEvents = ustChannels[1].getEvents();
- assertEquals(2, ustEvents.length);
-
- assertEquals("ust_tests_hello:tptest_sighandler", ustEvents[0].getName());
- assertEquals(TraceLogLevel.TRACE_DEBUG_LINE, ustEvents[0].getLogLevel());
- assertEquals(TraceEventType.TRACEPOINT, ustEvents[0].getEventType());
- assertEquals(TraceEnablement.DISABLED, ustEvents[0].getState());
-
- assertEquals("*", ustEvents[1].getName());
- assertEquals(getAllEventTraceLogLevel(), ustEvents[1].getLogLevel());
- assertEquals(TraceEventType.TRACEPOINT, ustEvents[1].getEventType());
- assertEquals(TraceEnablement.ENABLED, ustEvents[1].getState());
-
- // next session (no detailed information available)
- session = fService.getSession("mysession1", new NullProgressMonitor());
- assertNotNull(session);
- assertEquals("mysession1", session.getName());
- assertEquals("/home/user/lttng-traces/mysession1-20120203-133225", session.getSessionPath());
- assertEquals(TraceSessionState.INACTIVE, session.getSessionState());
-
- domains = session.getDomains();
- assertNotNull(domains);
- assertEquals(0, domains.length);
- } catch (ExecutionException e) {
- fail(e.toString());
- }
- }
-
- /**
- * @return
- */
- protected TraceLogLevel getAllEventTraceLogLevel() {
- return TraceLogLevel.LEVEL_UNKNOWN;
- }
-
- public void testGetKernelProvider() {
- try {
- fShell.setScenario(SCEN_GET_KERNEL_PROVIDER1);
- List<IBaseEventInfo> events = fService.getKernelProvider(new NullProgressMonitor());
-
- // Verify event info
- assertNotNull(events);
- assertEquals(3, events.size());
-
- IBaseEventInfo baseEventInfo = events.get(0);
- assertNotNull(baseEventInfo);
- assertEquals("sched_kthread_stop", baseEventInfo.getName());
- assertEquals(TraceLogLevel.TRACE_EMERG, baseEventInfo.getLogLevel());
- assertEquals(TraceEventType.TRACEPOINT, baseEventInfo.getEventType());
-
- baseEventInfo = events.get(1);
- assertEquals("sched_kthread_stop_ret", baseEventInfo.getName());
- assertEquals(TraceLogLevel.TRACE_EMERG, baseEventInfo.getLogLevel());
- assertEquals(TraceEventType.TRACEPOINT, baseEventInfo.getEventType());
-
- baseEventInfo = events.get(2);
- assertEquals("sched_wakeup_new", baseEventInfo.getName());
- assertEquals(TraceLogLevel.TRACE_EMERG, baseEventInfo.getLogLevel());
- assertEquals(TraceEventType.TRACEPOINT, baseEventInfo.getEventType());
-
- } catch (ExecutionException e) {
- fail(e.toString());
- }
- }
-
- @Test
- public void testGetKernelProviderNoKernel1() {
- try {
- fShell.setScenario(SCEN_LIST_WITH_NO_KERNEL1);
- List<IBaseEventInfo> events = fService.getKernelProvider(new NullProgressMonitor());
-
- // Verify event info
- assertNotNull(events);
- assertEquals(0, events.size());
-
- } catch (ExecutionException e) {
- fail(e.toString());
- }
- }
-
- @Test
- public void testGetKernelProviderNoKernel2() {
- try {
- fShell.setScenario(SCEN_LIST_WITH_NO_KERNEL2);
- List<IBaseEventInfo> events = fService.getKernelProvider(new NullProgressMonitor());
-
- // Verify event info
- assertNotNull(events);
- assertEquals(0, events.size());
-
- } catch (ExecutionException e) {
- fail(e.toString());
- }
- }
-
- @Test
- public void testGetKernelProviderNoKernelVerbose() {
- try {
- enableVerbose();
- fShell.setScenario(SCEN_LIST_WITH_NO_KERNEL_VERBOSE);
- List<IBaseEventInfo> events = fService.getKernelProvider(new NullProgressMonitor());
-
- // Verify event info
- assertNotNull(events);
- assertEquals(0, events.size());
-
- } catch (ExecutionException e) {
- fail(e.toString());
- } finally {
- disableVerbose();
- }
- }
-
- @Test
- public void testGetUstProvider() {
- try {
- fShell.setScenario(SCEN_GET_UST_PROVIDER1);
- List<IUstProviderInfo> providers = fService.getUstProvider();
-
- // Check all providers
- assertNotNull(providers);
- assertEquals(2, providers.size());
-
- //Verify first provider
- assertEquals("/home/user/git/lttng-ust/tests/hello.cxx/.libs/lt-hello", providers.get(0).getName());
- assertEquals(9379, providers.get(0).getPid());
-
- // Verify event info
- IBaseEventInfo[] events = providers.get(0).getEvents();
- assertNotNull(events);
- assertEquals(2, events.length);
-
- IBaseEventInfo baseEventInfo = events[0];
- assertNotNull(baseEventInfo);
- assertEquals("ust_tests_hello:tptest_sighandler", baseEventInfo.getName());
- assertEquals(TraceLogLevel.TRACE_DEBUG_MODULE, baseEventInfo.getLogLevel());
- assertEquals(TraceEventType.TRACEPOINT, baseEventInfo.getEventType());
-
- baseEventInfo = events[1];
- assertEquals("ust_tests_hello:tptest", baseEventInfo.getName());
- assertEquals(TraceLogLevel.TRACE_INFO, baseEventInfo.getLogLevel());
- assertEquals(TraceEventType.TRACEPOINT, baseEventInfo.getEventType());
-
- //Verify second provider
- assertEquals("/home/user/git/lttng-ust/tests/hello.cxx/.libs/lt-hello", providers.get(1).getName());
- assertEquals(4852, providers.get(1).getPid());
-
- // Verify event info
- events = providers.get(1).getEvents();
- assertNotNull(events);
- assertEquals(2, events.length);
-
- baseEventInfo = events[0];
- assertNotNull(baseEventInfo);
- assertEquals("ust_tests_hello:tptest_sighandler", baseEventInfo.getName());
- assertEquals(TraceLogLevel.TRACE_WARNING, baseEventInfo.getLogLevel());
- assertEquals(TraceEventType.TRACEPOINT, baseEventInfo.getEventType());
-
- baseEventInfo = events[1];
- assertEquals("ust_tests_hello:tptest", baseEventInfo.getName());
- assertEquals(TraceLogLevel.TRACE_DEBUG_FUNCTION, baseEventInfo.getLogLevel());
- assertEquals(TraceEventType.TRACEPOINT, baseEventInfo.getEventType());
-
- } catch (ExecutionException e) {
- fail(e.toString());
- }
- }
-
- @Test
- public void testUstProvider2() {
- try {
- fShell.setScenario(SCEN_GET_UST_PROVIDER2);
- List<IUstProviderInfo> providers = fService.getUstProvider();
-
- assertNotNull(providers);
- assertEquals(0, providers.size());
-
- } catch (ExecutionException e) {
- fail(e.toString());
- }
- }
-
- @Test
- public void testGetUstProvider3() {
- try {
- fShell.setScenario(SCEN_GET_UST_PROVIDER3);
- // Set version
- ((LTTngControlService)fService).setVersion("2.1.0");
- List<IUstProviderInfo> providers = fService.getUstProvider();
-
- // Check all providers
- assertNotNull(providers);
- assertEquals(2, providers.size());
-
- //Verify first provider
- assertEquals("/home/user/git/lttng-ust/tests/hello.cxx/.libs/lt-hello", providers.get(0).getName());
- assertEquals(9379, providers.get(0).getPid());
-
- // Verify event info
- IBaseEventInfo[] events = providers.get(0).getEvents();
- assertNotNull(events);
- assertEquals(2, events.length);
-
- IBaseEventInfo baseEventInfo = events[0];
- assertNotNull(baseEventInfo);
- IFieldInfo[] fields = baseEventInfo.getFields();
- assertNotNull(fields);
- assertEquals(0, fields.length);
-
- baseEventInfo = events[1];
- fields = baseEventInfo.getFields();
- assertNotNull(fields);
- assertEquals(3, fields.length);
- assertEquals("doublefield", fields[0].getName());
- assertEquals("float", fields[0].getFieldType());
-
- assertEquals("floatfield", fields[1].getName());
- assertEquals("float", fields[1].getFieldType());
-
- assertEquals("stringfield", fields[2].getName());
- assertEquals("string", fields[2].getFieldType());
-
- //Verify second provider
- assertEquals("/home/user/git/lttng-ust/tests/hello.cxx/.libs/lt-hello", providers.get(1).getName());
- assertEquals(4852, providers.get(1).getPid());
-
- // Verify event info
- events = providers.get(1).getEvents();
- assertNotNull(events);
- assertEquals(2, events.length);
-
- baseEventInfo = events[0];
- assertNotNull(baseEventInfo);
- fields = baseEventInfo.getFields();
- assertNotNull(fields);
- assertEquals(0, fields.length);
-
- baseEventInfo = events[1];
- fields = baseEventInfo.getFields();
- assertNotNull(fields);
- assertEquals(3, fields.length);
-
- assertEquals("doublefield", fields[0].getName());
- assertEquals("float", fields[0].getFieldType());
-
- assertEquals("floatfield", fields[1].getName());
- assertEquals("float", fields[1].getFieldType());
-
- assertEquals("stringfield", fields[2].getName());
- assertEquals("string", fields[2].getFieldType());
-
- // Reset version
- ((LTTngControlService)fService).setVersion("2.0.0");
-
- } catch (ExecutionException e) {
- fail(e.toString());
- }
- }
-
-
- @Test
- public void testGetKernelProviderNoUst1() {
- try {
- fShell.setScenario(SCEN_LIST_WITH_NO_UST1);
- List<IUstProviderInfo> providerList = fService.getUstProvider(new NullProgressMonitor());
-
- // Verify Provider info
- assertNotNull(providerList);
- assertEquals(0, providerList.size());
-
- } catch (ExecutionException e) {
- fail(e.toString());
- }
- }
-
-
- @Test
- public void testGetKernelProviderNoUst2() {
- try {
- // Set version
- ((LTTngControlService)fService).setVersion("2.1.0");
-
- fShell.setScenario(SCEN_LIST_WITH_NO_UST2);
- List<IUstProviderInfo> providerList = fService.getUstProvider(new NullProgressMonitor());
-
- // Verify Provider info
- assertNotNull(providerList);
- assertEquals(0, providerList.size());
-
- // Reset version
- ((LTTngControlService)fService).setVersion("2.0.0");
-
- } catch (ExecutionException e) {
- fail(e.toString());
- }
- }
-
- @Test
- public void testGetKernelProviderNoUst3() {
- try {
-
- // Set version
- ((LTTngControlService)fService).setVersion("2.1.0");
-
- fShell.setScenario(SCEN_LIST_WITH_NO_UST3);
- List<IUstProviderInfo> providerList = fService.getUstProvider(new NullProgressMonitor());
-
- // Verify provider info
- assertNotNull(providerList);
- assertEquals(0, providerList.size());
-
- // Reset version
- ((LTTngControlService)fService).setVersion("2.0.0");
-
- } catch (ExecutionException e) {
- fail(e.toString());
- }
- }
-
- @Test
- public void testGetKernelProviderNoUstVerbose() {
- try {
- enableVerbose();
-
- // Set version
- ((LTTngControlService)fService).setVersion("2.1.0");
-
- fShell.setScenario(SCEN_LIST_WITH_NO_UST_VERBOSE);
- List<IUstProviderInfo> providerList = fService.getUstProvider(new NullProgressMonitor());
-
- // Verify provider info
- assertNotNull(providerList);
- assertEquals(0, providerList.size());
-
- // Reset version
- ((LTTngControlService)fService).setVersion("2.0.0");
-
- } catch (ExecutionException e) {
- fail(e.toString());
- } finally {
- disableVerbose();
- }
- }
-
-
-
- @Test
- public void testCreateSession() {
- try {
- fShell.setScenario(SCEN_CREATE_SESSION1);
-
- ISessionInfo info = fService.createSession(new SessionInfo("mysession2"), new NullProgressMonitor());
- assertNotNull(info);
- assertEquals("mysession2", info.getName());
- assertNotNull(info.getSessionPath());
- assertTrue(info.getSessionPath().contains("mysession2"));
- assertEquals(TraceSessionState.INACTIVE, info.getSessionState());
- } catch (ExecutionException e) {
- fail(e.toString());
- }
- }
-
- @Test
- public void testCreateSessionWithPrompt() {
- try {
- // First line has the shell prompt before the command output
- // This can happen in a real application if the command line is not echoed by the shell.
- fShell.setScenario(SCEN_CREATE_SESSION_WITH_PROMPT);
-
- // First line has no shell prompt before the output
- ISessionInfo info = fService.createSession(new SessionInfo("mysession2"), new NullProgressMonitor());
- assertNotNull(info);
- assertEquals("mysession2", info.getName());
- assertNotNull(info.getSessionPath());
- assertTrue(info.getSessionPath().contains("mysession2"));
- assertEquals(TraceSessionState.INACTIVE, info.getSessionState());
- } catch (ExecutionException e) {
- fail(e.toString());
- }
- }
-
- @Test
- public void testCreateSessionVariants() {
-
- fShell.setScenario(SCEN_CREATE_SESSION_VARIANTS);
-
- try {
- fService.createSession(new SessionInfo("alreadyExist"), new NullProgressMonitor());
- fail("No exeption thrown");
- } catch (ExecutionException e) {
- // success
- }
-
- try {
- fService.createSession(new SessionInfo("wrongName"), new NullProgressMonitor());
- fail("No exeption thrown");
- } catch (ExecutionException e) {
- // success
- }
-
- try {
- ISessionInfo sessionInfo = new SessionInfo("withPath");
- sessionInfo.setSessionPath("/home/user/hallo");
- fService.createSession(sessionInfo, new NullProgressMonitor());
- fail("No exeption thrown");
- } catch (ExecutionException e) {
- // success
- }
-
- try {
- ISessionInfo info = fService.createSession(new SessionInfo("session with spaces"), new NullProgressMonitor());
- assertNotNull(info);
- assertEquals("session with spaces", info.getName());
- assertNotNull(info.getSessionPath());
- assertTrue(info.getSessionPath().contains("session with spaces"));
- assertEquals(TraceSessionState.INACTIVE, info.getSessionState());
-
- } catch (ExecutionException e) {
- fail(e.toString());
- }
-
- try {
- ISessionInfo sessionInfo = new SessionInfo("pathWithSpaces");
- sessionInfo.setSessionPath("/home/user/hallo user/here");
- ISessionInfo info = fService.createSession(sessionInfo, new NullProgressMonitor());
- assertNotNull(info);
- assertEquals("pathWithSpaces", info.getName());
- assertNotNull(info.getSessionPath());
- assertTrue(info.getSessionPath().contains("/home/user/hallo user/here"));
- assertEquals(TraceSessionState.INACTIVE, info.getSessionState());
-
- } catch (ExecutionException e) {
- fail(e.toString());
- }
- }
-
- @Test
- public void testDestroySession() {
- try {
- fShell.setScenario(SCEN_DESTROY_SESSION1);
- fService.destroySession("mysession2", new NullProgressMonitor());
- } catch (ExecutionException e) {
- fail(e.toString());
- }
- }
-
- @Test
- public void testDestroySessionVerbose() {
- try {
- enableVerbose();
- fShell.setScenario(SCEN_DESTROY_SESSION_VERBOSE);
- fService.destroySession("mysession2", new NullProgressMonitor());
- } catch (ExecutionException e) {
- fail(e.toString());
- } finally {
- disableVerbose();
- }
- }
-
- @Test
- public void testCreateChannel() {
- try {
- ((LTTngControlService)fService).setVersion("2.2.0");
- String sessionName = "mysession2";
- List<String> list = new ArrayList<>();
- String kernelChannel0 = "mychannel0";
- String kernelChannel1 = "mychannel1";
- list.add(kernelChannel0);
- list.add(kernelChannel1);
-
- fShell.setScenario(SCEN_CHANNEL_HANDLING);
-
- // Create/enable/configure 2 kernel channels
- ChannelInfo chanInfo = new ChannelInfo("");
- chanInfo.setOverwriteMode(true);
- chanInfo.setSubBufferSize(16384);
- chanInfo.setReadTimer(100);
- chanInfo.setSwitchTimer(200);
- chanInfo.setNumberOfSubBuffers(2);
- chanInfo.setMaxNumberTraceFiles(10);
- chanInfo.setMaxSizeTraceFiles(0);
- fService.enableChannels(sessionName, list, true, chanInfo, new NullProgressMonitor());
-
- // Create/enable/configure 1 UST channel
- list.clear();
- list.add("ustChannel");
-
- chanInfo = new ChannelInfo("");
- chanInfo.setOverwriteMode(true);
- chanInfo.setSubBufferSize(32768);
- chanInfo.setReadTimer(200);
- chanInfo.setSwitchTimer(100);
- chanInfo.setNumberOfSubBuffers(1);
- chanInfo.setMaxNumberTraceFiles(20);
- chanInfo.setMaxSizeTraceFiles(0);
- fService.enableChannels(sessionName, list, false, chanInfo, new NullProgressMonitor());
- ((LTTngControlService)fService).setVersion("2.0.0");
-
- } catch (ExecutionException e) {
- fail(e.toString());
- }
- }
-
- @Test
- public void testCreateChannelUIDBuffer() {
- try {
- ((LTTngControlService)fService).setVersion("2.2.0");
- String sessionName = "mysession2";
- List<String> list = new ArrayList<>();
- String USTChannel = "ustChannel";
- list.add(USTChannel);
- fShell.setScenario(SCEN_CHANNEL_HANDLING);
-
- ChannelInfo chanInfo = new ChannelInfo("");
- chanInfo.setOverwriteMode(true);
- chanInfo.setSubBufferSize(32768);
- chanInfo.setReadTimer(200);
- chanInfo.setSwitchTimer(100);
- chanInfo.setNumberOfSubBuffers(1);
- chanInfo.setMaxNumberTraceFiles(20);
- chanInfo.setMaxSizeTraceFiles(0);
- chanInfo.setBufferType(BufferType.BUFFER_PER_UID);
- fService.enableChannels(sessionName, list, false, chanInfo, new NullProgressMonitor());
- ((LTTngControlService)fService).setVersion("2.0.0");
-
- } catch (ExecutionException e) {
- fail(e.toString());
- }
- }
-
- @Test
- public void testCreateChannelPIDBuffer() {
- try {
- ((LTTngControlService)fService).setVersion("2.2.0");
- String sessionName = "mysession2";
- List<String> list = new ArrayList<>();
- String USTChannel = "ustChannel";
- list.add(USTChannel);
- fShell.setScenario(SCEN_CHANNEL_HANDLING);
-
-
- ChannelInfo chanInfo = new ChannelInfo("");
- chanInfo.setOverwriteMode(true);
- chanInfo.setSubBufferSize(-1);
- chanInfo.setReadTimer(-1);
- chanInfo.setSwitchTimer(-1);
- chanInfo.setNumberOfSubBuffers(-1);
- chanInfo.setMaxNumberTraceFiles(-1);
- chanInfo.setMaxSizeTraceFiles(-1);
- chanInfo.setBufferType(BufferType.BUFFER_PER_PID);
-
- fService.enableChannels(sessionName, list, false, chanInfo, new NullProgressMonitor());
- ((LTTngControlService)fService).setVersion("2.0.0");
-
- } catch (ExecutionException e) {
- fail(e.toString());
- }
- }
-
- @Test
- public void testDisableChannel() {
- try {
-
- String sessionName = "mysession2";
- List<String> list = new ArrayList<>();
- String kernelChannel0 = "mychannel0";
- String kernelChannel1 = "mychannel1";
- list.add(kernelChannel0);
- list.add(kernelChannel1);
-
- fShell.setScenario(SCEN_CHANNEL_HANDLING);
- fService.disableChannels(sessionName, list, true, new NullProgressMonitor());
-
- list.clear();
- list.add("ustChannel");
- fService.disableChannels(sessionName, list, false, new NullProgressMonitor());
-
- } catch (ExecutionException e) {
- fail(e.toString());
- }
- }
-
- @Test
- public void testEnableChannel() {
- try {
-
- String sessionName = "mysession2";
- List<String> list = new ArrayList<>();
- String kernelChannel0 = "mychannel0";
- String kernelChannel1 = "mychannel1";
- list.add(kernelChannel0);
- list.add(kernelChannel1);
-
- fShell.setScenario(SCEN_CHANNEL_HANDLING);
- fService.enableChannels(sessionName, list, true, null, new NullProgressMonitor());
-
- // Create/enable/configure 1 UST channel
- list.clear();
- list.add("ustChannel");
-
- fService.enableChannels(sessionName, list, false, null, new NullProgressMonitor());
-
- } catch (ExecutionException e) {
- fail(e.toString());
- }
- }
-
- @Test
- public void testEnableEvents() {
- try {
- // 1) session name, channel = null, 3 event names, kernel
- String sessionName = "mysession2";
- List<String> list = new ArrayList<>();
- String eventName0 = "block_rq_remap";
- String eventName1 = "block_bio_remap";
- String eventName2 = "softirq_entry";
- list.add(eventName0);
- list.add(eventName1);
- list.add(eventName2);
- fShell.setScenario(SCEN_EVENT_HANDLING);
- fService.enableEvents(sessionName, null, list, true, null, new NullProgressMonitor());
-
- // 2) session name, channel=mychannel, event name= null, kernel
- String channelName = "mychannel";
- fService.enableEvents(sessionName, channelName, null, true, null, new NullProgressMonitor());
-
- // 3) session name, channel=mychannel, 1 event name, ust, no filter
- String ustEventName = "ust_tests_hello:tptest_sighandler";
- list.clear();
- list.add(ustEventName);
- fService.enableEvents(sessionName, channelName, list, false, null, new NullProgressMonitor());
-
- // 4) session name, channel = mychannel, no event name, ust, with filter
- fService.enableEvents(sessionName, channelName, list, false, "intfield==10", new NullProgressMonitor());
-
- // 5) session name, channel = mychannel, no event name, ust, no filter
- list.clear();
- fService.enableEvents(sessionName, channelName, list, false, null, new NullProgressMonitor());
-
- // TODO add test with filters
-
- } catch (ExecutionException e) {
- fail(e.toString());
- }
- }
-
- @Test
- public void testEnableSyscalls() {
- try {
- // 1) session name, channel = null, 3 event names, kernel
- String sessionName = "mysession2";
- String channelName = "mychannel";
-
- fShell.setScenario(SCEN_EVENT_HANDLING);
-
- // 1) session name, channel = null
- fService.enableSyscalls(sessionName, null, new NullProgressMonitor());
-
- // 2) session name, channel = mychannel
- fService.enableSyscalls(sessionName, channelName, new NullProgressMonitor());
-
- } catch (ExecutionException e) {
- fail(e.toString());
- }
- }
-
- @Test
- public void testDynamicProbe() {
- try {
- // 1) session name, channel = null, 3 event names, kernel
- String sessionName = "mysession2";
- String channelName = "mychannel";
- String eventName0 = "myevent0";
- String eventName1 = "myevent1";
- String functionProbe = "0xc0101340";
- String dynProbe = "init_post";
-
- fShell.setScenario(SCEN_EVENT_HANDLING);
-
- // 1) session name, channel = null, event name, function probe, probe
- fService.enableProbe(sessionName, null, eventName0, true, functionProbe, new NullProgressMonitor());
-
- // 2) session name, channel = mychannel
- fService.enableProbe(sessionName, channelName, eventName1, false, dynProbe, new NullProgressMonitor());
-
- } catch (ExecutionException e) {
- fail(e.toString());
- }
- }
-
- @Test
- public void testEnableLogLevel() {
- try {
- // 1) session name, channel = null, 3 event names, kernel
- String sessionName = "mysession2";
- String channelName = "mychannel";
- String eventName4 = "myevent4";
- String eventName5 = "myevent5";
-
- fShell.setScenario(SCEN_EVENT_HANDLING);
-
- // 1) session name, channel = null, event name, loglevel-only, TRACE_DEBUG
- fService.enableLogLevel(sessionName, null, eventName4, LogLevelType.LOGLEVEL_ONLY, TraceLogLevel.TRACE_DEBUG, null, new NullProgressMonitor());
-
- // 2) session name, channel = mychannel, null, loglevel, TRACE_DEBUG_FUNCTION
- fService.enableLogLevel(sessionName, channelName, eventName5, LogLevelType.LOGLEVEL, TraceLogLevel.TRACE_DEBUG_FUNCTION, null, new NullProgressMonitor());
-
- // TODO add test with filters
-
- } catch (ExecutionException e) {
- fail(e.toString());
- }
- }
-
- @Test
- public void testAddContext() {
- try {
- // 1) session name, channel = null, 3 event names, kernel
- String sessionName = "mysession2";
- String channelName = "mychannel";
- String eventName = "ust_tests_hello:tptest_sighandler";
- List<String> contexts = new ArrayList<>();
- contexts.add("prio");
- contexts.add("pid");
-
- fShell.setScenario(SCEN_CONTEXT_HANDLING);
-
- List<String> availContexts = fService.getContextList(new NullProgressMonitor());
- assertNotNull(availContexts);
- assertEquals(12, availContexts.size());
-
- // A very "hard-coded" way to verify but it works ...
- Set<String> expectedContexts = new HashSet<>();
- expectedContexts.add("pid");
- expectedContexts.add("procname");
- expectedContexts.add("prio");
- expectedContexts.add("nice");
- expectedContexts.add("vpid");
- expectedContexts.add("tid");
- expectedContexts.add("pthread_id");
- expectedContexts.add("vtid");
- expectedContexts.add("ppid");
- expectedContexts.add("vppid");
- expectedContexts.add("perf:cpu-cycles");
- expectedContexts.add("perf:cycles");
-
- assertTrue(expectedContexts.containsAll(availContexts));
-
- // 1) session name, channel = null, event name, loglevel-only, TRACE_DEBUG
- fService.addContexts(sessionName, channelName, eventName, false, contexts, new NullProgressMonitor());
-
- } catch (ExecutionException e) {
- fail(e.toString());
- }
- }
-
- @Test
- public void testAddContextFailure() {
-
- // 1) session name, channel = null, 3 event names, kernel
- String sessionName = "mysession2";
- String channelName = "mychannel";
- String eventName = "ust_tests_hello:tptest_sighandler";
- List<String> contexts = new ArrayList<>();
- contexts.add("prio");
- contexts.add("pid");
- fShell.setScenario(SCEN_CONTEXT_ERROR_HANDLING);
- try {
- fService.getContextList(new NullProgressMonitor());
- fail("No exeption generated");
- } catch (ExecutionException e) {
- // success
- }
- try {
- // 1) session name, channel = null, event name, loglevel-only, TRACE_DEBUG
- fService.addContexts(sessionName, channelName, eventName, false, contexts, new NullProgressMonitor());
- fail("No exeption generated");
- } catch (ExecutionException e) {
- // success
- }
- }
-
- @Test
- public void testCalibrate() {
- try {
- fShell.setScenario(SCEN_CALIBRATE_HANDLING);
- fService.calibrate(true, new NullProgressMonitor());
-
- } catch (ExecutionException e) {
- fail(e.toString());
- }
- }
-
- @Test
- public void testCalibrateFailure() {
- try {
- fShell.setScenario(SCEN_CALIBRATE_HANDLING);
- fService.calibrate(false, new NullProgressMonitor());
- fail("No exeption generated");
- } catch (ExecutionException e) {
- // success
- }
- }
-
- @Test
- public void testCreateSession2_1() {
-
- try {
- fShell.setScenario(SCEN_CREATE_SESSION_2_1);
-
- ISessionInfo sessionInfo = new SessionInfo("mysession");
- sessionInfo.setNetworkUrl("net://172.0.0.1");
- sessionInfo.setStreamedTrace(true);
- ISessionInfo info = fService.createSession(sessionInfo, new NullProgressMonitor());
- assertNotNull(info);
- assertEquals("mysession", info.getName());
- assertEquals("net://172.0.0.1", info.getSessionPath());
- assertTrue(info.isStreamedTrace());
- fService.destroySession("mysession", new NullProgressMonitor());
-
- sessionInfo = new SessionInfo("mysession");
- sessionInfo.setStreamedTrace(true);
- sessionInfo.setNetworkUrl("file:///tmp");
- info = fService.createSession(sessionInfo, new NullProgressMonitor());
- assertNotNull(info);
- assertEquals("mysession", info.getName());
- assertEquals("file:///tmp", info.getSessionPath());
- assertTrue(!info.isStreamedTrace());
- fService.destroySession("mysession", new NullProgressMonitor());
-
- sessionInfo = new SessionInfo("mysession");
- sessionInfo.setStreamedTrace(true);
- sessionInfo.setNetworkUrl("file:///tmp");
- info = fService.createSession(sessionInfo, new NullProgressMonitor());
- assertNotNull(info);
- assertEquals("mysession", info.getName());
- assertEquals("file:///tmp", info.getSessionPath());
- assertTrue(!info.isStreamedTrace());
- fService.destroySession("mysession", new NullProgressMonitor());
-
- sessionInfo = new SessionInfo("mysession");
- sessionInfo.setStreamedTrace(true);
- sessionInfo.setControlUrl("tcp://172.0.0.1");
- sessionInfo.setDataUrl("tcp://172.0.0.1:5343");
- info = fService.createSession(sessionInfo, new NullProgressMonitor());
- assertNotNull(info);
- assertEquals("mysession", info.getName());
- assertEquals("", info.getSessionPath()); // the complete network path is not available at this point
- assertTrue(info.isStreamedTrace());
- fService.destroySession("mysession", new NullProgressMonitor());
-
- sessionInfo = new SessionInfo("mysession");
- sessionInfo.setStreamedTrace(true);
- sessionInfo.setNetworkUrl("net://172.0.0.1:1234:2345");
- info = fService.createSession(sessionInfo, new NullProgressMonitor());
- assertNotNull(info);
- assertEquals("mysession", info.getName());
- assertEquals("net://172.0.0.1:1234:2345", info.getSessionPath());
- assertTrue(info.isStreamedTrace());
- fService.destroySession("mysession", new NullProgressMonitor());
-
- // verbose
- enableVerbose();
- sessionInfo = new SessionInfo("mysession");
- sessionInfo.setStreamedTrace(true);
- sessionInfo.setNetworkUrl("net://172.0.0.1");
- info = fService.createSession(sessionInfo, new NullProgressMonitor());
- assertNotNull(info);
- assertEquals("mysession", info.getName());
- assertEquals("net://172.0.0.1", info.getSessionPath());
- assertTrue(info.isStreamedTrace());
- disableVerbose();
- fService.destroySession("mysession", new NullProgressMonitor());
-
-
- } catch (ExecutionException e) {
- fail(e.toString());
- }
- }
-
- @Test
- public void testCreateSessionVerbose2_1() {
- try {
- fShell.setScenario(SCEN_CREATE_SESSION_VERBOSE_2_1);
-
- enableVerbose();
- ISessionInfo sessionInfo = new SessionInfo("mysession");
- sessionInfo.setStreamedTrace(true);
- sessionInfo.setNetworkUrl("net://172.0.0.1");
- ISessionInfo info = fService.createSession(sessionInfo, new NullProgressMonitor());
- assertNotNull(info);
- assertEquals("mysession", info.getName());
- assertEquals("net://172.0.0.1", info.getSessionPath());
- assertTrue(info.isStreamedTrace());
- fService.destroySession("mysession", new NullProgressMonitor());
- } catch (ExecutionException e) {
- fail(e.toString());
- } finally {
- disableVerbose();
- }
- }
-
- @Test
- public void testCreateSnapshotSession() {
- try {
- fShell.setScenario(SCEN_CREATE_SNAPSHOT_SESSION);
- ISessionInfo params = new SessionInfo("mysession");
- params.setSnapshot(true);
- ISessionInfo sessionInfo = fService.createSession(params, new NullProgressMonitor());
- assertNotNull(sessionInfo);
- assertEquals("mysession", sessionInfo.getName());
- assertTrue(sessionInfo.isSnapshotSession());
- assertEquals("", sessionInfo.getSessionPath());
- assertTrue(!sessionInfo.isStreamedTrace());
-
- assertEquals(TraceSessionState.INACTIVE, sessionInfo.getSessionState());
-
- String[] names = fService.getSessionNames(new NullProgressMonitor());
- assertEquals(names[0], "mysession");
-
- ISnapshotInfo snapshotInfo = fService.getSnapshotInfo("mysession", new NullProgressMonitor());
- assertNotNull(snapshotInfo);
- assertEquals("snapshot-1", snapshotInfo.getName());
- assertEquals("/home/user/lttng-traces/mysession-20130913-141651", snapshotInfo.getSnapshotPath());
- assertEquals(1, snapshotInfo.getId());
- assertTrue(!snapshotInfo.isStreamedSnapshot());
-
- // we need to set the snapshotInfo to so that the session path is set correctly
- sessionInfo.setSnapshotInfo(snapshotInfo);
- assertEquals("/home/user/lttng-traces/mysession-20130913-141651", sessionInfo.getSessionPath());
-
- fService.recordSnapshot("mysession", new NullProgressMonitor());
-
- fService.destroySession("mysession", new NullProgressMonitor());
-
- } catch (ExecutionException e) {
- fail(e.toString());
- }
- }
-
- @Test
- public void testCreateSnapshotSession2_5() {
- try {
- fShell.setScenario(SCEN_CREATE_SNAPSHOT_SESSION_2_5);
- ISessionInfo params = new SessionInfo("mysession");
- params.setSnapshot(true);
- ISessionInfo sessionInfo = fService.createSession(params, new NullProgressMonitor());
- assertNotNull(sessionInfo);
- assertEquals("mysession", sessionInfo.getName());
- assertTrue(sessionInfo.isSnapshotSession());
- assertEquals("", sessionInfo.getSessionPath());
- assertTrue(!sessionInfo.isStreamedTrace());
-
- assertEquals(TraceSessionState.INACTIVE, sessionInfo.getSessionState());
-
- String[] names = fService.getSessionNames(new NullProgressMonitor());
- assertEquals(names[0], "mysession");
-
- ISnapshotInfo snapshotInfo = fService.getSnapshotInfo("mysession", new NullProgressMonitor());
- assertNotNull(snapshotInfo);
- assertEquals("snapshot-1", snapshotInfo.getName());
- assertEquals("/home/user/lttng-traces/mysession-20130913-141651", snapshotInfo.getSnapshotPath());
- assertEquals(1, snapshotInfo.getId());
- assertTrue(!snapshotInfo.isStreamedSnapshot());
-
- // we need to set the snapshotInfo to so that the session path is set correctly
- sessionInfo.setSnapshotInfo(snapshotInfo);
- assertEquals("/home/user/lttng-traces/mysession-20130913-141651", sessionInfo.getSessionPath());
-
- fService.recordSnapshot("mysession", new NullProgressMonitor());
-
- fService.destroySession("mysession", new NullProgressMonitor());
-
- } catch (ExecutionException e) {
- fail(e.toString());
- }
- }
-
- public void testCreateStreamedSnapshotSession() {
- try {
- fShell.setScenario(SCEN_CREATE_STREAMED_SNAPSHOT_SESSION);
-
- ISessionInfo params = new SessionInfo("mysession");
- params.setNetworkUrl("net://172.0.0.1");
- ISessionInfo sessionInfo = fService.createSession(params, new NullProgressMonitor());
- assertNotNull(sessionInfo);
- assertEquals("mysession", sessionInfo.getName());
- assertTrue(sessionInfo.isSnapshotSession());
-
- assertEquals(TraceSessionState.INACTIVE, sessionInfo.getSessionState());
- assertTrue(sessionInfo.isStreamedTrace());
-
- String[] names = fService.getSessionNames(new NullProgressMonitor());
- assertEquals(names[0], "mysession");
-
- ISnapshotInfo snapshotInfo = sessionInfo.getSnapshotInfo();
- assertNotNull(sessionInfo);
- assertEquals("snapshot-2", snapshotInfo.getName());
- assertEquals("net4://172.0.0.1:5342/", snapshotInfo.getSnapshotPath());
- assertEquals(2, snapshotInfo.getId());
- assertTrue(snapshotInfo.isStreamedSnapshot());
-
- // we need to set the snapshotInfo to so that the session path is set correctly
- sessionInfo.setSnapshotInfo(snapshotInfo);
- assertEquals("net4://172.0.0.1:5342/", sessionInfo.getSessionPath());
-
- fService.recordSnapshot("mysession", new NullProgressMonitor());
-
- fService.destroySession("mysession", new NullProgressMonitor());
-
- } catch (ExecutionException e) {
- fail(e.toString());
- }
- }
-
- @Test
- public void testCreateSnapshotSessionErrors() {
- try {
- fShell.setScenario(SCEN_CREATE_SNAPSHOT_SESSION_ERRORS);
-
- String[] names = fService.getSessionNames(new NullProgressMonitor());
- assertEquals(names[0], "mysession");
- } catch (ExecutionException e) {
- fail(e.toString());
- }
-
- try {
- fService.getSnapshotInfo("blabla", new NullProgressMonitor());
- fail("getSnapshoInfo() didn't fail");
- } catch (ExecutionException e) {
- // successful
- }
-
- try {
- fService.recordSnapshot("blabla", new NullProgressMonitor());
- fail("getSnapshoInfo() didn't fail");
- } catch (ExecutionException e) {
- // successful
- }
-
- try {
- fService.recordSnapshot("mysession", new NullProgressMonitor());
- fail("getSnapshoInfo() didn't fail");
- } catch (ExecutionException e) {
- // successful
- }
- }
-
- @Test
- public void testCreateLiveSession() throws ExecutionException {
- fShell.setScenario(SCEN_CREATE_LIVE_SESSION);
-
- ISessionInfo params = new SessionInfo("mysession");
- params.setLive(true);
- params.setStreamedTrace(true);
- params.setNetworkUrl("net://127.0.0.1");
- ISessionInfo sessionInfo = fService.createSession(params, new NullProgressMonitor());
- assertNotNull(sessionInfo);
- assertEquals("mysession", sessionInfo.getName());
- assertEquals(TraceSessionState.INACTIVE, sessionInfo.getSessionState());
- assertTrue(sessionInfo.isStreamedTrace());
- assertTrue(sessionInfo.isLive());
- assertEquals("net://127.0.0.1", sessionInfo.getSessionPath());
- String[] names = fService.getSessionNames(new NullProgressMonitor());
- assertEquals(names[0], "mysession");
- fService.destroySession("mysession", new NullProgressMonitor());
- }
-
- @Test
- public void testCreateLiveSessionErrors() {
- try {
- fShell.setScenario(SCEN_CREATE_LIVE_SESSION_ERRORS);
-
- ISessionInfo parameters = new SessionInfo("mysession");
- parameters.setLive(true);
- parameters.setSnapshot(true);
- fService.createSession(parameters, new NullProgressMonitor());
- fail("createSession() didn't fail");
- } catch (ExecutionException e) {
- // successful
- }
-
- try {
- ISessionInfo parameters = new SessionInfo("mysession");
- parameters.setNetworkUrl("blah");
- parameters.setLive(true);
- fService.createSession(parameters, new NullProgressMonitor());
- fail("createSession() didn't fail");
- } catch (ExecutionException e) {
- // successful
- }
-
- try {
- ISessionInfo parameters = new SessionInfo("mysession");
- parameters.setControlUrl("net://127.0.0.1");
- parameters.setLive(true);
- fService.createSession(parameters, new NullProgressMonitor());
- fail("createSession() didn't fail");
- } catch (ExecutionException e) {
- // successful
- }
- }
-
- private static void enableVerbose() {
- // verbose
- ControlCommandLogger.init(ControlPreferences.getInstance().getLogfilePath(), false);
- ControlPreferences.getInstance().getPreferenceStore().setDefault(ControlPreferences.TRACE_CONTROL_LOG_COMMANDS_PREF, true);
- ControlPreferences.getInstance().getPreferenceStore().setDefault(ControlPreferences.TRACE_CONTROL_VERBOSE_LEVEL_PREF, ControlPreferences.TRACE_CONTROL_VERBOSE_LEVEL_V_V_VERBOSE);
- }
-
- private static void disableVerbose() {
- ControlPreferences.getInstance().getPreferenceStore().setDefault(ControlPreferences.TRACE_CONTROL_LOG_COMMANDS_PREF, false);
- }
-
-
-}
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.ui.tests/stubs/org/eclipse/linuxtools/internal/lttng2/control/stubs/dialogs/AddContextDialogStub.java b/lttng/org.eclipse.linuxtools.lttng2.control.ui.tests/stubs/org/eclipse/linuxtools/internal/lttng2/control/stubs/dialogs/AddContextDialogStub.java
deleted file mode 100644
index 189964bc10..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.ui.tests/stubs/org/eclipse/linuxtools/internal/lttng2/control/stubs/dialogs/AddContextDialogStub.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2012, 2014 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:
- * Bernd Hufmann - Initial API and implementation
- **********************************************************************/
-package org.eclipse.linuxtools.internal.lttng2.control.stubs.dialogs;
-
-import java.util.ArrayList;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Set;
-
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.dialogs.IAddContextDialog;
-
-/**
- * Add Context dialog stub.
- */
-@SuppressWarnings("javadoc")
-public class AddContextDialogStub implements IAddContextDialog {
-
- private Set<String> fAvailableContexts = null;
- private List<String> fContexts = null;
-
- @Override
- public int open() {
- return 0;
- }
-
- @Override
- public void setAvalibleContexts(List<String> contexts) {
- fAvailableContexts = new HashSet<>();
- fAvailableContexts.addAll(contexts);
- }
-
- @Override
- public List<String> getContexts() {
- List<String> ret = new ArrayList<>();
- ret.addAll(fContexts);
- return ret;
- }
-
- public void setContexts(List<String> contexts) throws IllegalArgumentException{
- fContexts = new ArrayList<>();
- fContexts.addAll(contexts);
- // If availableContexts are null we cannot verify
- if (fAvailableContexts != null) {
- for (Iterator<String> iterator = fContexts.iterator(); iterator.hasNext();) {
- String string = iterator.next();
- if (!fAvailableContexts.contains(string)) {
- throw new IllegalArgumentException();
- }
- }
- }
- }
-}
-
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.ui.tests/stubs/org/eclipse/linuxtools/internal/lttng2/control/stubs/dialogs/CreateSessionDialogStub.java b/lttng/org.eclipse.linuxtools.lttng2.control.ui.tests/stubs/org/eclipse/linuxtools/internal/lttng2/control/stubs/dialogs/CreateSessionDialogStub.java
deleted file mode 100644
index a3f7be4abc..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.ui.tests/stubs/org/eclipse/linuxtools/internal/lttng2/control/stubs/dialogs/CreateSessionDialogStub.java
+++ /dev/null
@@ -1,101 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2012, 2014 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:
- * Bernd Hufmann - Initial API and implementation
- * Bernd Hufmann - Updated for support of LTTng Tools 2.1
- * Marc-Andre Laperle - Support for creating a live session
- **********************************************************************/
-package org.eclipse.linuxtools.internal.lttng2.control.stubs.dialogs;
-
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.ISessionInfo;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.impl.SessionInfo;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.dialogs.ICreateSessionDialog;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.model.impl.TraceSessionGroup;
-
-/**
- * Create session dialog stub implementation.
- */
-@SuppressWarnings("javadoc")
-public class CreateSessionDialogStub implements ICreateSessionDialog {
-
- public String fName = "mysession";
- public String fPath = null;
- private boolean fIsStreamedTrace = false;
- private String fNetworkUrl = null;
- private String fControlUrl = null;
- private String fDataUrl = null;
- private boolean fIsSnapshot;
- private boolean fIsLive = false;
- private int fLiveDelay = 0;
-
- @Override
- public void initialize(TraceSessionGroup group) {
- }
-
- @Override
- public int open() {
- return 0;
- }
-
- public void setSessionPath(String path) {
- fPath = path;
- }
-
- public void setSessionName(String name) {
- fName = name;
- }
-
- public void setStreamedTrace(boolean isStreamedTrace) {
- fIsStreamedTrace = isStreamedTrace;
- }
-
- public void setNetworkUrl(String fNetworkUrl) {
- this.fNetworkUrl = fNetworkUrl;
- }
-
- public void setControlUrl(String fControlUrl) {
- this.fControlUrl = fControlUrl;
- }
-
- public void setDataUrl(String fDataUrl) {
- this.fDataUrl = fDataUrl;
- }
-
- public void setSnapshot(boolean isSnapshot) {
- fIsSnapshot = isSnapshot;
- }
-
- public void setLive(boolean isLive) {
- fIsLive = isLive;
- }
-
- public void setLiveDelay(int liveDelay) {
- fLiveDelay = liveDelay;
- }
-
- @Override
- public ISessionInfo getParameters() {
- ISessionInfo sessionInfo = new SessionInfo(fName);
-
- if (fIsStreamedTrace) {
- sessionInfo.setNetworkUrl(fNetworkUrl);
- sessionInfo.setControlUrl(fControlUrl);
- sessionInfo.setDataUrl(fDataUrl);
- sessionInfo.setStreamedTrace(true);
- } else if (fPath != null) {
- sessionInfo.setSessionPath(fPath);
- }
-
- sessionInfo.setLive(fIsLive);
- sessionInfo.setLiveDelay(fLiveDelay);
- sessionInfo.setSnapshot(fIsSnapshot);
-
- return sessionInfo;
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.ui.tests/stubs/org/eclipse/linuxtools/internal/lttng2/control/stubs/dialogs/DestroyConfirmDialogStub.java b/lttng/org.eclipse.linuxtools.lttng2.control.ui.tests/stubs/org/eclipse/linuxtools/internal/lttng2/control/stubs/dialogs/DestroyConfirmDialogStub.java
deleted file mode 100644
index 88479e2354..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.ui.tests/stubs/org/eclipse/linuxtools/internal/lttng2/control/stubs/dialogs/DestroyConfirmDialogStub.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2012 Ericsson
- *
- * All rights reserved. This program and the accompanying materials are
- * made available under the terms of the Eclipse Public License v1.0 which
- * accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Bernd Hufmann - Initial API and implementation
- **********************************************************************/
-package org.eclipse.linuxtools.internal.lttng2.control.stubs.dialogs;
-
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.dialogs.IConfirmDialog;
-import org.eclipse.swt.widgets.Shell;
-
-/**
- * A confirmation dialog stub implementation.
- */
-public class DestroyConfirmDialogStub implements IConfirmDialog {
-
- @Override
- public boolean openConfirm(Shell parent, String title, String message) {
- return true;
- }
-} \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.ui.tests/stubs/org/eclipse/linuxtools/internal/lttng2/control/stubs/dialogs/EnableChannelDialogStub.java b/lttng/org.eclipse.linuxtools.lttng2.control.ui.tests/stubs/org/eclipse/linuxtools/internal/lttng2/control/stubs/dialogs/EnableChannelDialogStub.java
deleted file mode 100644
index eb96367227..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.ui.tests/stubs/org/eclipse/linuxtools/internal/lttng2/control/stubs/dialogs/EnableChannelDialogStub.java
+++ /dev/null
@@ -1,93 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2012, 2013 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:
- * Bernd Hufmann - Initial API and implementation
- **********************************************************************/
-package org.eclipse.linuxtools.internal.lttng2.control.stubs.dialogs;
-
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.IChannelInfo;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.impl.BufferType;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.impl.ChannelInfo;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.dialogs.IEnableChannelDialog;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.model.impl.TargetNodeComponent;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.model.impl.TraceDomainComponent;
-
-/**
- * Create channel dialog stub implementation.
- */
-@SuppressWarnings("javadoc")
-public class EnableChannelDialogStub implements IEnableChannelDialog {
-
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
- private TraceDomainComponent fDomain;
- private ChannelInfo fChannelInfo;
- private boolean fIsKernel;
-
- // ------------------------------------------------------------------------
- // Constructor
- // ------------------------------------------------------------------------
- public EnableChannelDialogStub() {
- fChannelInfo = new ChannelInfo("mychannel");
- fChannelInfo.setNumberOfSubBuffers(4);
- fChannelInfo.setOverwriteMode(true);
- fChannelInfo.setReadTimer(200);
- fChannelInfo.setSwitchTimer(100);
- fChannelInfo.setSubBufferSize(16384);
- }
-
- // ------------------------------------------------------------------------
- // Accessors
- // ------------------------------------------------------------------------
- public void setIsKernel(boolean isKernel) {
- fIsKernel = isKernel;
- }
-
- @Override
- public IChannelInfo getChannelInfo() {
- return fChannelInfo;
- }
-
- @Override
- public void setDomainComponent(TraceDomainComponent domain) {
- fDomain = domain;
- if (fDomain != null) {
- fIsKernel = fDomain.isKernel();
- }
- }
-
- @Override
- public int open() {
- return 0;
- }
-
- @Override
- public boolean isKernel() {
- return fIsKernel;
- }
-
- @Override
- public void setHasKernel(boolean hasKernel) {
- // Do nothing
- }
-
- public void setChannelInfo(ChannelInfo info) {
- fChannelInfo = info;
- }
-
- @Override
- public void setTargetNodeComponent(TargetNodeComponent node) {
- // Do nothing
- }
-
- public void setBufferType (BufferType bufferType) {
- fChannelInfo.setBufferType(bufferType);
- }
-} \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.ui.tests/stubs/org/eclipse/linuxtools/internal/lttng2/control/stubs/dialogs/EnableEventsDialogStub.java b/lttng/org.eclipse.linuxtools.lttng2.control.ui.tests/stubs/org/eclipse/linuxtools/internal/lttng2/control/stubs/dialogs/EnableEventsDialogStub.java
deleted file mode 100644
index b8be180e9e..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.ui.tests/stubs/org/eclipse/linuxtools/internal/lttng2/control/stubs/dialogs/EnableEventsDialogStub.java
+++ /dev/null
@@ -1,234 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2012, 2014 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:
- * Bernd Hufmann - Initial API and implementation
- **********************************************************************/
-package org.eclipse.linuxtools.internal.lttng2.control.stubs.dialogs;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.LogLevelType;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.TraceLogLevel;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.dialogs.IEnableEventsDialog;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.model.impl.TraceDomainComponent;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.model.impl.TraceProviderGroup;
-
-/**
- * Enable events dialog stub implementation.
- */
-@SuppressWarnings("javadoc")
-public class EnableEventsDialogStub implements IEnableEventsDialog {
-
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
- private boolean fIsKernel;
- private boolean fIsTracePoints;
- private boolean fIsAllTracePoints;
- private boolean fIsSysCalls;
- private boolean fIsDynamicProbe;
- private String fProbeEventName;
- private String fDynamicProbe;
- private boolean fIsFunctionProbe;
- private String fFunctionEventName;
- private String fFunctionProbe;
- private boolean fIsWildcard;
- private String fWildcard;
- private boolean fIsLogLevel;
- private String fLogLevelEventName;
- private TraceLogLevel fLogLevel;
- private LogLevelType fLogLevelType;
- private String fFilter;
- private List<String> fNames = new ArrayList<>();
-
- // ------------------------------------------------------------------------
- // Accessors
- // ------------------------------------------------------------------------
- public void setIsKernel(boolean isKernel) {
- fIsKernel = isKernel;
- }
-
- public void setIsTracePoints(boolean isTracePoints) {
- fIsTracePoints = isTracePoints;
- }
-
- public void setIsAllTracePoints(boolean isAllTracePoints) {
- fIsAllTracePoints = isAllTracePoints;
- }
-
- public void setIsSysCalls(boolean isSysCalls) {
- this.fIsSysCalls = isSysCalls;
- }
-
- public void setIsDynamicProbe(boolean isDynamicProbe) {
- fIsDynamicProbe = isDynamicProbe;
- }
-
- public void setProbeEventName(String probeEventName) {
- fProbeEventName = probeEventName;
- }
-
- public void setDynamicProbe(String dynamicProbe) {
- fDynamicProbe = dynamicProbe;
- }
-
- public void setIsFunctionProbe(boolean isFunctionProbe) {
- fIsFunctionProbe = isFunctionProbe;
- }
-
- public void setFunctionEventName(String functionEventName) {
- fFunctionEventName = functionEventName;
- }
-
- public void setFunctionProbe(String functionProbe) {
- fFunctionProbe = functionProbe;
- }
-
- public void setIsWildcard(boolean isWildcard) {
- fIsWildcard = isWildcard;
- }
-
- public void setWildcard(String wildcard) {
- fWildcard = wildcard;
- }
-
- public void setIsLogLevel(boolean isLogLevel) {
- fIsLogLevel = isLogLevel;
- }
-
- public void setLogLevelEventName(String logLevelEventName) {
- fLogLevelEventName = logLevelEventName;
- }
-
- public void setLogLevel(TraceLogLevel logLevel) {
- fLogLevel = logLevel;
- }
-
- public void setLogLevelType(LogLevelType logLevelType) {
- fLogLevelType = logLevelType;
- }
-
- public void setNames(List<String> names) {
- fNames = names;
- }
-
- public void setFilterExpression(String filter) {
- fFilter = filter;
- }
-
- @Override
- public boolean isTracepoints() {
- return fIsTracePoints;
- }
-
- @Override
- public boolean isAllTracePoints() {
- return fIsAllTracePoints;
- }
-
- @Override
- public boolean isSysCalls() {
- return fIsSysCalls;
- }
-
- @Override
- public boolean isAllSysCalls() {
- return fIsSysCalls;
- }
-
- @Override
- public List<String> getEventNames() {
- return fNames;
- }
-
- @Override
- public boolean isDynamicProbe() {
- return fIsDynamicProbe;
- }
-
- @Override
- public String getProbeEventName() {
- return fProbeEventName;
- }
-
- @Override
- public String getProbeName() {
- return fDynamicProbe;
- }
-
- @Override
- public boolean isDynamicFunctionProbe() {
- return fIsFunctionProbe;
- }
-
- @Override
- public String getFunctionEventName() {
- return fFunctionEventName;
- }
-
- @Override
- public String getFunction() {
- return fFunctionProbe;
- }
-
- @Override
- public boolean isWildcard() {
- return fIsWildcard;
- }
-
- @Override
- public String getWildcard() {
- return fWildcard;
- }
-
- @Override
- public boolean isLogLevel() {
- return fIsLogLevel;
- }
-
- @Override
- public LogLevelType getLogLevelType() {
- return fLogLevelType;
- }
-
- @Override
- public TraceLogLevel getLogLevel() {
- return fLogLevel;
- }
-
- @Override
- public String getLogLevelEventName() {
- return fLogLevelEventName;
- }
-
- @Override
- public boolean isKernel() {
- return fIsKernel;
- }
-
- @Override
- public void setTraceProviderGroup(TraceProviderGroup providerGroup) {
- }
-
- @Override
- public void setTraceDomainComponent(TraceDomainComponent domain) {
- }
-
- @Override
- public int open() {
- return 0;
- }
-
- @Override
- public String getFilterExpression() {
- return fFilter;
- }
-
-} \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.ui.tests/stubs/org/eclipse/linuxtools/internal/lttng2/control/stubs/dialogs/GetEventInfoDialogStub.java b/lttng/org.eclipse.linuxtools.lttng2.control.ui.tests/stubs/org/eclipse/linuxtools/internal/lttng2/control/stubs/dialogs/GetEventInfoDialogStub.java
deleted file mode 100644
index 51940fb4f8..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.ui.tests/stubs/org/eclipse/linuxtools/internal/lttng2/control/stubs/dialogs/GetEventInfoDialogStub.java
+++ /dev/null
@@ -1,68 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2012, 2013 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:
- * Bernd Hufmann - Initial API and implementation
- **********************************************************************/
-package org.eclipse.linuxtools.internal.lttng2.control.stubs.dialogs;
-
-import java.util.Arrays;
-
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.dialogs.IGetEventInfoDialog;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.model.impl.TraceChannelComponent;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.model.impl.TraceSessionComponent;
-
-/**
- * Get event information dialog stub implementation.
- */
-public class GetEventInfoDialogStub implements IGetEventInfoDialog {
-
- private TraceSessionComponent[] fSessions;
- private String fFilterExpression;
-
- @Override
- public TraceSessionComponent getSession() {
- return fSessions[0];
- }
-
- @Override
- public TraceChannelComponent getChannel() {
- return null;
- }
-
- @Override
- public void setIsKernel(boolean isKernel) {
- }
-
- @Override
- public void setSessions(TraceSessionComponent[] sessions) {
- if (sessions != null) {
- fSessions = Arrays.copyOf(sessions, sessions.length);
- return;
- }
- fSessions = null;
- }
-
- @Override
- public String getFilterExpression() {
- return fFilterExpression;
- }
-
- @Override
- public int open() {
- return 0;
- }
-
- /**
- * @param filter the filter to set
- */
- public void setFilterExpression(String filter) {
- fFilterExpression = filter;
- }
-}
-
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.ui.tests/stubs/org/eclipse/linuxtools/internal/lttng2/control/stubs/service/CommandShellFactory.java b/lttng/org.eclipse.linuxtools.lttng2.control.ui.tests/stubs/org/eclipse/linuxtools/internal/lttng2/control/stubs/service/CommandShellFactory.java
deleted file mode 100644
index f7dc1bdb7f..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.ui.tests/stubs/org/eclipse/linuxtools/internal/lttng2/control/stubs/service/CommandShellFactory.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2012 Ericsson
- *
- * All rights reserved. This program and the accompanying materials are
- * made available under the terms of the Eclipse Public License v1.0 which
- * accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Bernd Hufmann - Initial API and implementation
- **********************************************************************/
-package org.eclipse.linuxtools.internal.lttng2.control.stubs.service;
-
-import org.eclipse.linuxtools.internal.lttng2.control.stubs.shells.LTTngToolsFileShell;
-
-@SuppressWarnings("javadoc")
-public class CommandShellFactory {
-
- public static final int GET_SESSION_NAMES_COMMAND_SHELL = 0;
-
- private static CommandShellFactory fInstance = null;
-
- public static CommandShellFactory getInstance() {
- if (fInstance == null) {
- fInstance = new CommandShellFactory();
- }
- return fInstance;
- }
-
-// public ICommandShell getRealShell() {
-// ISystemRegistry registry = RSECorePlugin.getTheSystemRegistry();
-// IHost host = registry.getLocalHost();
-// RemoteSystemProxy proxy = new RemoteSystemProxy(host);
-// ICommandShell shell = new LTTngToolsSimulatorShell(proxy);
-// return shell;
-// }
-
- public LTTngToolsFileShell getFileShell() {
- return new LTTngToolsFileShell();
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.ui.tests/stubs/org/eclipse/linuxtools/internal/lttng2/control/stubs/service/TestRemoteSystemProxy.java b/lttng/org.eclipse.linuxtools.lttng2.control.ui.tests/stubs/org/eclipse/linuxtools/internal/lttng2/control/stubs/service/TestRemoteSystemProxy.java
deleted file mode 100644
index b5ec6516ea..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.ui.tests/stubs/org/eclipse/linuxtools/internal/lttng2/control/stubs/service/TestRemoteSystemProxy.java
+++ /dev/null
@@ -1,93 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2012, 2014 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:
- * Bernd Hufmann - Initial API and implementation
- * Markus Schorn - Bug 448058: Use org.eclipse.remote in favor of RSE
- **********************************************************************/
-package org.eclipse.linuxtools.internal.lttng2.control.stubs.service;
-
-import org.eclipse.core.commands.ExecutionException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.linuxtools.internal.lttng2.control.stubs.shells.LTTngToolsFileShell;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.remote.ICommandShell;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.remote.IRemoteSystemProxy;
-import org.eclipse.remote.core.IRemoteConnectionChangeListener;
-import org.eclipse.remote.core.IRemoteFileManager;
-import org.eclipse.remote.core.IRemoteProcessBuilder;
-
-@SuppressWarnings("javadoc")
-public class TestRemoteSystemProxy implements IRemoteSystemProxy {
-
- private LTTngToolsFileShell fShell = null;
- private String fTestFile = null;
- private String fScenario = null;
-
- @Override
- public IRemoteProcessBuilder getProcessBuilder(String... command) {
- return null;
- }
-
- @Override
- public IRemoteFileManager getFileServiceSubSystem() {
- return null;
- }
-
- @Override
- public void connect(IProgressMonitor monitor) throws ExecutionException {
- }
-
- @Override
- public void disconnect() throws ExecutionException {
- fShell = null;
- }
-
- @Override
- public void dispose() {
- }
-
- @Override
- public ICommandShell createCommandShell() throws ExecutionException {
- if (fShell == null) {
- fShell = CommandShellFactory.getInstance().getFileShell();
- if ((fTestFile != null) && (fScenario != null)) {
- try {
- fShell.loadScenarioFile(fTestFile);
- } catch (Exception e) {
- throw new ExecutionException(e.toString());
- }
- fShell.setScenario(fScenario);
- }
- }
- return fShell;
- }
-
- @Override
- public void addConnectionChangeListener(IRemoteConnectionChangeListener listener) {
- }
-
- @Override
- public void removeConnectionChangeListener(IRemoteConnectionChangeListener listener) {
- }
-
- public void setTestFile(String testFile) {
- fTestFile = testFile;
- }
-
- public void setScenario(String scenario) {
- fScenario = scenario;
- if (fShell != null) {
- fShell.setScenario(fScenario);
- }
- }
-
- @Override
- public boolean isConnected() {
- return true;
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.ui.tests/stubs/org/eclipse/linuxtools/internal/lttng2/control/stubs/shells/LTTngToolsFileShell.java b/lttng/org.eclipse.linuxtools.lttng2.control.ui.tests/stubs/org/eclipse/linuxtools/internal/lttng2/control/stubs/shells/LTTngToolsFileShell.java
deleted file mode 100644
index a4c3201cc5..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.ui.tests/stubs/org/eclipse/linuxtools/internal/lttng2/control/stubs/shells/LTTngToolsFileShell.java
+++ /dev/null
@@ -1,284 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2012, 2014 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:
- * Bernd Hufmann - Initial API and implementation
- * Markus Schorn - Bug 448058: Use org.eclipse.remote in favor of RSE
- **********************************************************************/
-package org.eclipse.linuxtools.internal.lttng2.control.stubs.shells;
-
-import java.io.BufferedReader;
-import java.io.DataInputStream;
-import java.io.FileInputStream;
-import java.io.InputStreamReader;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
-
-import org.eclipse.core.commands.ExecutionException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.remote.CommandResult;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.remote.ICommandResult;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.service.LTTngControlService;
-
-@SuppressWarnings("javadoc")
-public class LTTngToolsFileShell extends TestCommandShell {
-
- // ------------------------------------------------------------------------
- // CONSTANTS
- // ------------------------------------------------------------------------
- private final static String SCENARIO_KEY = "<SCENARIO>";
- private final static String SCENARIO_END_KEY = "</SCENARIO>";
- private final static String INPUT_KEY = "<COMMAND_INPUT>";
- private final static String INPUT_END_KEY = "</COMMAND_INPUT>";
- private final static String RESULT_KEY = "<COMMAND_RESULT>";
- private final static String OUTPUT_KEY = "<COMMAND_OUTPUT>";
- private final static String OUTPUT_END_KEY = "</COMMAND_OUTPUT>";
- private final static String ERROR_OUTPUT_KEY = "<COMMAND_ERROR_OUTPUT>";
- private final static String ERROR_OUTPUT_END_KEY = "</COMMAND_ERROR_OUTPUT>";
- private final static String COMMENT_KEY = "#.*";
-
- private final static Pattern LTTNG_LIST_SESSION_PATTERN = Pattern.compile("lttng\\s+list\\s+(.+)");
- private final static String LTTNG_LIST_PROVIDER_PATTERN = "lttng\\s+list\\s+(-u|-k)";
-
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
- private String fScenariofile;
- private String fScenario;
-
- private final Map<String, Map<String, ICommandResult>> fScenarioMap = new HashMap<>();
- private final Map<String, Integer> fSessionNameMap = new HashMap<>();
-
- /**
- * Parse a scenario file with the format:
- *
- * <pre>
- * &lt;SCENARIO&gt;
- * ScenarioName
- *
- * &lt;COMMAND_INPUT&gt;
- * Command
- * &lt;/COMAND_INPUT&gt;
- *
- * &lt;COMMAND_RESULT&gt;
- * CommandResult
- * &lt;/COMMAND_RESULT&gt;
- *
- * &lt;COMMAND_OUTPUT&gt;
- * CommandOutput
- * &lt;COMMAND_ERROR_OUTPUT&gt;
- * CommandErrorOutput
- * &lt;/COMMAND_ERROR_OUTPUT&gt;
- * &lt;/COMMAND_OUTPUT&gt;
- *
- * &lt;/SCENARIO&gt;
- *
- * Where: ScenarioName - is the scenario name
- * Command - the command line string
- * CommandResult - the result integer of the command (0 for success, 1 for failure)
- * ComandOutput - the command output string (multi-line possible)
- * ComandErrorOutput - the command error output string (multi-line possible)
- *
- * Note: 1) There can be many scenarios per file
- * 2) There can be many (Command-CommandResult-CommandOutput) triples per scenario
- * 3) Lines starting with # will be ignored (comments)
- *
- * <pre>
- * @param scenariofile - path to scenario file
- * @throws Exception
- */
- public synchronized void loadScenarioFile(String scenariofile) throws Exception {
- fScenariofile = scenariofile;
-
- // clean up map
- Collection<Map<String, ICommandResult>> values = fScenarioMap.values();
- for (Iterator<Map<String, ICommandResult>> iterator = values.iterator(); iterator.hasNext();) {
- Map<String, ICommandResult> map = iterator.next();
- map.clear();
- }
- fScenarioMap.clear();
-
- // load from file
-
- // Open the file
- try (FileInputStream fstream = new FileInputStream(fScenariofile);
- DataInputStream in = new DataInputStream(fstream);
- BufferedReader br = new BufferedReader(new InputStreamReader(in));) {
- String strLine;
-
- // Read File Line by Line
-
- // Temporary map for generating instance numbers for lttng list
- // <session> commands.
- // The numbers are per scenario.
- Map<String, Integer> tmpSessionNameMap = new HashMap<>();
- while ((strLine = br.readLine()) != null) {
-
- // Ignore comments
- if (isComment(strLine)) {
- continue;
- }
-
- if (SCENARIO_KEY.equals(strLine)) {
- // scenario start
-
- // Ignore comments
- strLine = br.readLine();
- while (isComment(strLine)) {
- strLine = br.readLine();
- }
-
- String scenario = strLine;
- Map<String, ICommandResult> commandMap = new HashMap<>();
- fScenarioMap.put(scenario, commandMap);
- List<String> output = null;
- List<String> errorOutput = null;
- String input = null;
- boolean inOutput = false;
- boolean inErrorOutput = false;
- int result = 0;
- tmpSessionNameMap.clear();
- while ((strLine = br.readLine()) != null) {
- // Ignore comments
- if (isComment(strLine)) {
- continue;
- }
-
- if (SCENARIO_END_KEY.equals(strLine)) {
- // Scenario is finished
- break;
- }
- if (INPUT_KEY.equals(strLine)) {
- strLine = br.readLine();
- // Ignore comments
- while (isComment(strLine)) {
- strLine = br.readLine();
- }
- // Read command
- input = strLine;
-
- // Handle instances of 'lttng list
- // <session"-comamand
- Matcher matcher = LTTNG_LIST_SESSION_PATTERN.matcher(strLine);
- if (matcher.matches() && !input.matches(LTTNG_LIST_PROVIDER_PATTERN)) {
- String sessionName = matcher.group(1).trim();
- Integer i = tmpSessionNameMap.get(sessionName);
- if (i != null) {
- i++;
- } else {
- i = 0;
- }
- tmpSessionNameMap.put(sessionName, i);
- input += String.valueOf(i);
- }
- } else if (INPUT_END_KEY.equals(strLine)) {
- // Initialize output array
- output = new ArrayList<>();
- errorOutput = new ArrayList<>();
- } else if (RESULT_KEY.equals(strLine)) {
- strLine = br.readLine();
- // Ignore comments
- while (isComment(strLine)) {
- strLine = br.readLine();
- }
- // Save result value
- result = Integer.parseInt(strLine);
- } else if (OUTPUT_END_KEY.equals(strLine)) {
- // Save output/result in command map
- if (output != null && errorOutput != null) {
- commandMap.put(input, new CommandResult(result, output.toArray(new String[output.size()]), errorOutput.toArray(new String[errorOutput.size()])));
- }
- inOutput = false;
- } else if (OUTPUT_KEY.equals(strLine)) {
- // first line of output
- inOutput = true;
- } else if (ERROR_OUTPUT_KEY.equals(strLine)) {
- // first line of output
- inErrorOutput = true;
- } else if (ERROR_OUTPUT_END_KEY.equals(strLine)) {
- inErrorOutput = false;
- } else if (inOutput) {
- while (isComment(strLine)) {
- strLine = br.readLine();
- }
- // lines of output/error output
- if (errorOutput != null && inErrorOutput) {
- errorOutput.add(strLine);
- } else if (output != null) {
- output.add(strLine);
- }
- }
- // else {
- // if (RESULT_END_KEY.equals(strLine)) {
- // nothing to do
- // }
- }
- }
- }
- }
- }
-
- // Set the scenario to consider in executeCommand()
- public synchronized void setScenario(String scenario) {
- fScenario = scenario;
- fSessionNameMap.clear();
- if (!fScenarioMap.containsKey(fScenario)) {
- throw new IllegalArgumentException();
- }
- }
-
- @Override
- public synchronized ICommandResult executeCommand(List<String> command, IProgressMonitor monitor) throws ExecutionException {
- Map<String, ICommandResult> commands = fScenarioMap.get(fScenario);
- String commandLine = LTTngControlService.toCommandString(command);
- String fullCommand = commandLine;
-
- Matcher matcher = LTTNG_LIST_SESSION_PATTERN.matcher(commandLine);
- if (matcher.matches() && !commandLine.matches(LTTNG_LIST_PROVIDER_PATTERN)) {
- String sessionName = matcher.group(1).trim();
- Integer i = fSessionNameMap.get(sessionName);
- if (i != null) {
- i++;
- } else {
- i = 0;
- }
- fSessionNameMap.put(sessionName, i);
- fullCommand += String.valueOf(i);
- }
-
- if (commands.containsKey(fullCommand)) {
- return commands.get(fullCommand);
- }
-
- String[] output = new String[1];
- output[0] = String.valueOf("Command not found");
- CommandResult result = new CommandResult(0, null, null);
- // For verification of setters of class CommandResult
- result.setOutput(output);
- result.setErrorOutput(output);
- result.setResult(1);
- return result;
- }
-
- // ------------------------------------------------------------------------
- // Helper methods
- // ------------------------------------------------------------------------
-
- private static boolean isComment(String line) {
- if (line == null) {
- throw new RuntimeException("line is null");
- }
- return line.matches(COMMENT_KEY);
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.ui.tests/stubs/org/eclipse/linuxtools/internal/lttng2/control/stubs/shells/TestCommandShell.java b/lttng/org.eclipse.linuxtools.lttng2.control.ui.tests/stubs/org/eclipse/linuxtools/internal/lttng2/control/stubs/shells/TestCommandShell.java
deleted file mode 100644
index 3a03fe7ba2..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.ui.tests/stubs/org/eclipse/linuxtools/internal/lttng2/control/stubs/shells/TestCommandShell.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2012, 2014 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:
- * Bernd Hufmann - Initial API and implementation
- * Markus Schorn - Bug 448058: Use org.eclipse.remote in favor of RSE
- **********************************************************************/
-package org.eclipse.linuxtools.internal.lttng2.control.stubs.shells;
-
-import java.util.List;
-
-import org.eclipse.core.commands.ExecutionException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.remote.CommandResult;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.remote.ICommandResult;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.remote.ICommandShell;
-
-/**
- * Command shell stub
- */
-public class TestCommandShell implements ICommandShell {
-
- /** If the shell is connected */
- protected boolean fIsConnected = false;
-
- @Override
- public void connect() throws ExecutionException {
- fIsConnected = true;
- }
-
- @Override
- public void disconnect() {
- fIsConnected = false;
- }
-
- @Override
- public ICommandResult executeCommand(List<String> command, IProgressMonitor monitor) throws ExecutionException {
- if (fIsConnected) {
- return new CommandResult(0, new String[0], new String[0]);
- }
- return new CommandResult(1, new String[0], new String[0]);
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.ui.tests/testfiles/CreateSessionTest.cfg b/lttng/org.eclipse.linuxtools.lttng2.control.ui.tests/testfiles/CreateSessionTest.cfg
deleted file mode 100644
index 85bca758be..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.ui.tests/testfiles/CreateSessionTest.cfg
+++ /dev/null
@@ -1,228 +0,0 @@
-####################################################################
-# Copyright (c) 2012 Ericsson
-#
-# All rights reserved. This program and the accompanying materials are
-# made available under the terms of the Eclipse Public License v1.0 which
-# accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-# Bernd Hufmann - Initial API and implementation
-####################################################################
-####################################################################
-# Scenario: Initialize
-####################################################################
-<SCENARIO>
-Initialize
-<COMMAND_INPUT>
-lttng version
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-lttng version 2.0.0 - Annedd'ale
-Web site: http://lttng.org/
-
-lttng is free software and under the GPL license and part LGPL
-</COMMAND_OUTPUT>
-
-<COMMAND_INPUT>
-lttng list
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-Currently no available tracing session
-</COMMAND_OUTPUT>
-
-<COMMAND_INPUT>
-lttng list -k
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-Kernel events
--------------
- sched_kthread_stop (loglevel: TRACE_EMERG (0)) (type: tracepoint)
- sched_kthread_stop_ret (loglevel: TRACE_EMERG (0)) (type: tracepoint)
- sched_wakeup_new (loglevel: TRACE_EMERG (0)) (type: tracepoint)
-
-</COMMAND_OUTPUT>
-
-<COMMAND_INPUT>
-lttng list -u
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-UST events:
--------------
-
-PID: 9379 - Name: /home/user/git/lttng-ust/tests/hello.cxx/.libs/lt-hello
- ust_tests_hello:tptest_sighandler (loglevel: TRACE_WARNING (4)) (type: tracepoint)
- ust_tests_hello:tptest (loglevel: TRACE_DEBUG_FUNCTION (12)) (type: tracepoint)
-
-PID: 4852 - Name: /home/user/git/lttng-ust/tests/hello.cxx/.libs/lt-hello
- ust_tests_hello:tptest_sighandler (loglevel: TRACE_WARNING (4)) (type: tracepoint)
- ust_tests_hello:tptest (loglevel: TRACE_DEBUG_FUNCTION (12)) (type: tracepoint)
-
-</COMMAND_OUTPUT>
-</SCENARIO>
-
-####################################################################
-# Scenario: Test "lttng create <session> with LTTng 2.1 options
-####################################################################
-##################################################################
-<SCENARIO>
-CreateSessionFileProto
-<COMMAND_INPUT>
-lttng create mysession -U file:///tmp
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-Session mysession created.
-Traces will be written in file:///tmp
-</COMMAND_OUTPUT>
-
-<COMMAND_INPUT>
-lttng list mysession
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-Tracing session mysession: [inactive]
- Trace path: file:///tmp
-
-</COMMAND_OUTPUT>
-
-<COMMAND_INPUT>
-lttng destroy mysession
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-Session mysession destroyed.
-</COMMAND_OUTPUT>
-</SCENARIO>
-
-##################################################################
-<SCENARIO>
-CreateSessionControlData
-<COMMAND_INPUT>
-lttng create mysession -C tcp://172.0.0.1 -D tcp://172.0.0.1:5343
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-Session mysession created.
-Control URL tcp://172.0.0.1 set for session mysession
-Data URL tcp://172.0.0.1:5343 set for session mysession
-</COMMAND_OUTPUT>
-
-<COMMAND_INPUT>
-lttng list mysession
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-Tracing session mysession: [inactive]
- Trace path: tcp://172.0.0.1:5342 [data: 5343]
-
-</COMMAND_OUTPUT>
-
-<COMMAND_INPUT>
-lttng destroy mysession
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-Session mysession destroyed.
-</COMMAND_OUTPUT>
-</SCENARIO>
-
-##################################################################
-<SCENARIO>
-CreateSessionNetwork
-<COMMAND_INPUT>
-lttng create mysession -U net://172.0.0.1:1234:2345
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-Session mysession created.
-Traces will be written in net://172.0.0.1:1234:2345
-</COMMAND_OUTPUT>
-
-<COMMAND_INPUT>
-lttng list mysession
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-Tracing session mysession: [inactive]
- Trace path: net://172.0.0.1:1234 [data: 2345]
-
-</COMMAND_OUTPUT>
-
-<COMMAND_INPUT>
-lttng destroy mysession
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-Session mysession2 destroyed.
-</COMMAND_OUTPUT>
-
-</SCENARIO>
-
-##################################################################
-<SCENARIO>
-CreateSessionNetwork2
-<COMMAND_INPUT>
-lttng create mysession -U net6://[ffff::eeee:dddd:cccc:0]
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-Session mysession created.
-Traces will be written in net6://[ffff::eeee:dddd:cccc:0]
-</COMMAND_OUTPUT>
-
-<COMMAND_INPUT>
-lttng list mysession
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-Tracing session mysession: [inactive]
- Trace path: net://[ffff::eeee:dddd:cccc:0]:5342/mysession-20130221-144451 [data: 5343]
-
-</COMMAND_OUTPUT>
-
-<COMMAND_INPUT>
-lttng destroy mysession
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-Session mysession2 destroyed.
-</COMMAND_OUTPUT>
-
-</SCENARIO> \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.ui.tests/testfiles/CreateSessionTest2.cfg b/lttng/org.eclipse.linuxtools.lttng2.control.ui.tests/testfiles/CreateSessionTest2.cfg
deleted file mode 100644
index c37a01ade5..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.ui.tests/testfiles/CreateSessionTest2.cfg
+++ /dev/null
@@ -1,158 +0,0 @@
-####################################################################
-# Copyright (c) 2013 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:
-# Bernd Hufmann - Initial API and implementation
-####################################################################
-####################################################################
-# Scenario: Initialize
-####################################################################
-<SCENARIO>
-Initialize
-<COMMAND_INPUT>
-lttng version
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-lttng version 2.3.0 - Dominus Vobiscum
-
-A very succulent line-up of beers brewed at Microbrasserie Charlevoix. Elaborated starting from special malts and fermented with a Belgian yeast. These beers are refermented in bottle and will make you discover the richness of wheat, amber and triple styles.
-
-Web site: http://lttng.org
-
-lttng is free software and under the GPL license and part LGPL
-</COMMAND_OUTPUT>
-
-<COMMAND_INPUT>
-lttng list
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-Currently no available tracing session
-</COMMAND_OUTPUT>
-
-<COMMAND_INPUT>
-lttng list -k
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-Kernel events
--------------
- sched_kthread_stop (loglevel: TRACE_EMERG (0)) (type: tracepoint)
- sched_kthread_stop_ret (loglevel: TRACE_EMERG (0)) (type: tracepoint)
- sched_wakeup_new (loglevel: TRACE_EMERG (0)) (type: tracepoint)
-
-</COMMAND_OUTPUT>
-
-<COMMAND_INPUT>
-lttng list -u -f
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-UST events:
--------------
-
-PID: 9379 - Name: /home/user/git/lttng-ust/tests/hello.cxx/.libs/lt-hello
- ust_tests_hello:tptest_sighandler (loglevel: TRACE_WARNING (4)) (type: tracepoint)
- ust_tests_hello:tptest (loglevel: TRACE_DEBUG_FUNCTION (12)) (type: tracepoint)
-
-PID: 4852 - Name: /home/user/git/lttng-ust/tests/hello.cxx/.libs/lt-hello
- ust_tests_hello:tptest_sighandler (loglevel: TRACE_WARNING (4)) (type: tracepoint)
- ust_tests_hello:tptest (loglevel: TRACE_DEBUG_FUNCTION (12)) (type: tracepoint)
-
-</COMMAND_OUTPUT>
-</SCENARIO>
-
-####################################################################
-# Scenario: Test "lttng create <session> --snapshot" LTTng 2.3
-####################################################################
-<SCENARIO>
-ScenCreateSession
-<COMMAND_INPUT>
-lttng create mysession --snapshot
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-Session mysession created.
-Default snapshot output set to: /home/user/lttng-traces/mysession-20130913-141651
-Snapshot mode set. Every channel enabled for that session will be set in overwrite mode and mmap output.
-</COMMAND_OUTPUT>
-#------------------------------------------------------------------------------
-<COMMAND_INPUT>
-lttng list mysession
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-Tracing session mysession: [inactive snapshot]
- Trace path:
-
-</COMMAND_OUTPUT>
-#------------------------------------------------------------------------------
-<COMMAND_INPUT>
-lttng snapshot list-output -s mysession
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-Snapshot output list for session mysession
- [1] snapshot-1: /home/user/lttng-traces/mysession-20130913-141651
-</COMMAND_OUTPUT>
-#------------------------------------------------------------------------------
-<COMMAND_INPUT>
-lttng start mysession
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-Tracing started for session mysession.
-</COMMAND_OUTPUT>
-#------------------------------------------------------------------------------
-<COMMAND_INPUT>
-lttng snapshot record -s mysession
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
- Snapshot recorded successfully for session mysession
-</COMMAND_OUTPUT>
-#------------------------------------------------------------------------------
-<COMMAND_INPUT>
-lttng stop mysession
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-Tracing stopped for session mysession.
-</COMMAND_OUTPUT>
-#------------------------------------------------------------------------------
-<COMMAND_INPUT>
-lttng destroy mysession
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-Session mysession destroyed.
-</COMMAND_OUTPUT>
-</SCENARIO>
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.ui.tests/testfiles/CreateSessionTestMi.cfg b/lttng/org.eclipse.linuxtools.lttng2.control.ui.tests/testfiles/CreateSessionTestMi.cfg
deleted file mode 100644
index 99d0f84faf..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.ui.tests/testfiles/CreateSessionTestMi.cfg
+++ /dev/null
@@ -1,528 +0,0 @@
-####################################################################
-# Copyright (c) 2014 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:
-# Jonathan Rajotte - Initial API and implementation
-####################################################################
-####################################################################
-# Scenario: Initialize
-####################################################################
-<SCENARIO>
-Initialize
-<COMMAND_INPUT>
-lttng --mi xml version
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-<?xml version="1.0" encoding="UTF-8"?>
-<command>
- <name>version</name>
- <output>
- <version>
- <string>2.6.0</string>
- <major>2</major>
- <minor>6</minor>
- <commit></commit>
- <patchLevel>0</patchLevel>
- <name>TestMI</name>
- <description>Lorem ipsum</description>
- <url>http://lttng.org</url>
- <license>lttng is free software and under the GPL license and part LGPL</license>
- </version>
- </output>
-</command>
-</COMMAND_OUTPUT>
-
-<COMMAND_INPUT>
-lttng --mi xml list
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-<?xml version="1.0" encoding="UTF-8"?>
-<command>
- <name>list</name>
- <output>
- <sessions/>
- </output>
-</command>
-</COMMAND_OUTPUT>
-
-<COMMAND_INPUT>
-lttng --mi xml list -k
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-<?xml version="1.0" encoding="UTF-8"?>
-<command>
- <name>list</name>
- <output>
- <domains>
- <domain>
- <type>KERNEL</type>
- <buffer_type>PER_PID</buffer_type>
- <events>
- <event>
- <name>sched_kthread_stop</name>
- <type>TRACEPOINT</type>
- <enabled>true</enabled>
- <filter>false</filter>
- <loglevel>TRACE_EMERG</loglevel>
- <loglevel_type>ALL</loglevel_type>
- <exclusion>false</exclusion>
- </event>
- <event>
- <name>sched_kthread_stop_ret</name>
- <type>TRACEPOINT</type>
- <enabled>true</enabled>
- <filter>false</filter>
- <loglevel>TRACE_EMERG</loglevel>
- <loglevel_type>ALL</loglevel_type>
- <exclusion>false</exclusion>
- </event>
- <event>
- <name>sched_wakeup_new</name>
- <type>TRACEPOINT</type>
- <enabled>true</enabled>
- <filter>false</filter>
- <loglevel>TRACE_EMERG</loglevel>
- <loglevel_type>ALL</loglevel_type>
- <exclusion>false</exclusion>
- </event>
- </events>
- </domain>
- </domains>
- </output>
-</command>
-</COMMAND_OUTPUT>
-
-<COMMAND_INPUT>
-lttng --mi xml list -u -f
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-<?xml version="1.0" encoding="UTF-8"?>
-<command>
- <name>list</name>
- <output>
- <domains>
- <domain>
- <type>UST</type>
- <buffer_type>PER_PID</buffer_type>
- <pids>
- <pid>
- <id>9379</id>
- <name>/home/user/git/lttng-ust/tests/hello.cxx/.libs/lt-hello</name>
- <events>
- <event>
- <name>ust_tests_hello:tptest_sighandler</name>
- <type>TRACEPOINT</type>
- <enabled>true</enabled>
- <filter>false</filter>
- <loglevel>TRACE_DEBUG_MODULE</loglevel>
- <loglevel_type>ALL</loglevel_type>
- <exclusion>false</exclusion>
- <event_fields/>
- </event>
- <event>
- <name>ust_tests_hello:tptest</name>
- <type>TRACEPOINT</type>
- <enabled>true</enabled>
- <filter>false</filter>
- <loglevel>TRACE_INFO</loglevel>
- <loglevel_type>ALL</loglevel_type>
- <exclusion>false</exclusion>
- <event_fields>
- <event_field>
- <name>doublefield</name>
- <type>FLOAT</type>
- <nowrite>0</nowrite>
- </event_field>
- <event_field>
- <name>floatfield</name>
- <type>FLOAT</type>
- <nowrite>0</nowrite>
- </event_field>
- <event_field>
- <name>stringfield</name>
- <type>STRING</type>
- <nowrite>0</nowrite>
- </event_field>
- </event_fields>
- </event>
- </events>
- </pid>
- <pid>
- <id>4852</id>
- <name>/home/user/git/lttng-ust/tests/hello.cxx/.libs/lt-hello</name>
- <events>
- <event>
- <name>ust_tests_hello:tptest_sighandler</name>
- <type>TRACEPOINT</type>
- <enabled>true</enabled>
- <filter>false</filter>
- <loglevel>TRACE_WARNING</loglevel>
- <loglevel_type>ALL</loglevel_type>
- <exclusion>false</exclusion>
- <event_fields/>
- </event>
- <event>
- <name>ust_tests_hello:tptest</name>
- <type>TRACEPOINT</type>
- <enabled>true</enabled>
- <filter>false</filter>
- <loglevel>TRACE_DEBUG_FUNCTION</loglevel>
- <loglevel_type>ALL</loglevel_type>
- <exclusion>false</exclusion>
- <event_fields>
- <event_field>
- <name>doublefield</name>
- <type>FLOAT</type>
- <nowrite>0</nowrite>
- </event_field>
- <event_field>
- <name>floatfield</name>
- <type>FLOAT</type>
- <nowrite>0</nowrite>
- </event_field>
- <event_field>
- <name>stringfield</name>
- <type>STRING</type>
- <nowrite>0</nowrite>
- </event_field>
- </event_fields>
- </event>
- </events>
- </pid>
- </pids>
- </domain>
- </domains>
- </output>
-</command>
-</COMMAND_OUTPUT>
-</SCENARIO>
-
-####################################################################
-# Scenario: Test "lttng create <session> with LTTng 2.1 options
-####################################################################
-##################################################################
-<SCENARIO>
-CreateSessionFileProto
-<COMMAND_INPUT>
-lttng --mi xml create mysession -U file:///tmp
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-<?xml version="1.0" encoding="UTF-8"?>
-<command>
- <name>create</name>
- <output>
- <session>
- <name>mysession</name>
- <path>/tmp</path>
- <enabled>false</enabled>
- <snapshot_mode>0</snapshot_mode>
- <live_timer_interval>0</live_timer_interval>
- </session>
- </output>
- <success>true</success>
-</command>
-</COMMAND_OUTPUT>
-
-<COMMAND_INPUT>
-lttng --mi xml list mysession
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-<?xml version="1.0" encoding="UTF-8"?>
-<command>
- <name>list</name>
- <output>
- <sessions>
- <session>
- <name>mysession</name>
- <path>/tmp</path>
- <enabled>false</enabled>
- <snapshot_mode>0</snapshot_mode>
- <live_timer_interval>0</live_timer_interval>
- <domains/>
- </session>
- </sessions>
- </output>
-</command>
-</COMMAND_OUTPUT>
-
-<COMMAND_INPUT>
-lttng --mi xml destroy mysession
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-<?xml version="1.0" encoding="UTF-8"?>
-<command>
- <name>destroy</name>
- <output>
- <sessions>
- <session>
- <name>mysession</name>
- <path>/tmp</path>
- <enabled>false</enabled>
- <snapshot_mode>0</snapshot_mode>
- <live_timer_interval>0</live_timer_interval>
- </session>
- </sessions>
- </output>
- <success>true</success>
-</command>
-</COMMAND_OUTPUT>
-</SCENARIO>
-
-##################################################################
-<SCENARIO>
-CreateSessionControlData
-<COMMAND_INPUT>
-lttng --mi xml create mysession -C tcp://172.0.0.1 -D tcp://172.0.0.1:5343
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-<?xml version="1.0" encoding="UTF-8"?>
-<command>
- <name>create</name>
- <output>
- <session>
- <name>mysession</name>
- <path>tcp4://172.0.0.1:5342/ [data: 5343]</path>
- <enabled>false</enabled>
- <snapshot_mode>0</snapshot_mode>
- <live_timer_interval>0</live_timer_interval>
- </session>
- </output>
- <success>true</success>
-</command>
-</COMMAND_OUTPUT>
-
-<COMMAND_INPUT>
-lttng --mi xml list mysession
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-<?xml version="1.0" encoding="UTF-8"?>
-<command>
- <name>list</name>
- <output>
- <sessions>
- <session>
- <name>mysession</name>
- <path>tcp4://172.0.0.1:5342/ [data: 5343]</path>
- <enabled>false</enabled>
- <snapshot_mode>0</snapshot_mode>
- <live_timer_interval>0</live_timer_interval>
- <domains/>
- </session>
- </sessions>
- </output>
-</command>
-</COMMAND_OUTPUT>
-
-<COMMAND_INPUT>
-lttng --mi xml destroy mysession
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-<?xml version="1.0" encoding="UTF-8"?>
-<command>
- <name>destroy</name>
- <output>
- <sessions>
- <session>
- <name>mysession</name>
- <path>tcp4://172.0.0.1:5342/ [data: 5343]</path>
- <enabled>false</enabled>
- <snapshot_mode>0</snapshot_mode>
- <live_timer_interval>0</live_timer_interval>
- </session>
- </sessions>
- </output>
- <success>true</success>
-</command>
-</COMMAND_OUTPUT>
-</SCENARIO>
-
-##################################################################
-<SCENARIO>
-CreateSessionNetwork
-<COMMAND_INPUT>
-lttng --mi xml create mysession -U net://172.0.0.1:1234:2345
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-<?xml version="1.0" encoding="UTF-8"?>
-<command>
- <name>create</name>
- <output>
- <session>
- <name>mysession</name>
- <path>tcp4://172.0.0.1:1234/mysession-20140820-153527 [data: 2345]</path>
- <enabled>false</enabled>
- <snapshot_mode>0</snapshot_mode>
- <live_timer_interval>0</live_timer_interval>
- </session>
- </output>
- <success>true</success>
-</command>
-</COMMAND_OUTPUT>
-
-<COMMAND_INPUT>
-lttng --mi xml list mysession
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-<?xml version="1.0" encoding="UTF-8"?>
-<command>
- <name>list</name>
- <output>
- <sessions>
- <session>
- <name>mysession</name>
- <path>tcp4://172.0.0.1:1234/mysession-20140820-153527 [data: 2345]</path>
- <enabled>false</enabled>
- <snapshot_mode>0</snapshot_mode>
- <live_timer_interval>0</live_timer_interval>
- <domains/>
- </session>
- </sessions>
- </output>
-</command>
-</COMMAND_OUTPUT>
-
-<COMMAND_INPUT>
-lttng --mi xml destroy mysession
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-<?xml version="1.0" encoding="UTF-8"?>
-<command>
- <name>destroy</name>
- <output>
- <sessions>
- <session>
- <name>mysession</name>
- <path>tcp4://172.0.0.1:1234/mysession-20140820-153527 [data: 2345]</path>
- <enabled>false</enabled>
- <snapshot_mode>0</snapshot_mode>
- <live_timer_interval>0</live_timer_interval>
- </session>
- </sessions>
- </output>
- <success>true</success>
-</command>
-</COMMAND_OUTPUT>
-
-</SCENARIO>
-
-##################################################################
-<SCENARIO>
-CreateSessionNetwork2
-<COMMAND_INPUT>
-lttng --mi xml create mysession -U net6://[ffff::eeee:dddd:cccc:0]
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-<?xml version="1.0" encoding="UTF-8"?>
-<command>
- <name>create</name>
- <output>
- <session>
- <name>mysession</name>
- <path>tcp6://[ffff::eeee:dddd:cccc:0]:5342/mysession-20140820-153801 [data: 5343]</path>
- <enabled>false</enabled>
- <snapshot_mode>0</snapshot_mode>
- <live_timer_interval>0</live_timer_interval>
- </session>
- </output>
- <success>true</success>
-</command>
-</COMMAND_OUTPUT>
-
-<COMMAND_INPUT>
-lttng --mi xml list mysession
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-<?xml version="1.0" encoding="UTF-8"?>
-<command>
- <name>list</name>
- <output>
- <sessions>
- <session>
- <name>mysession</name>
- <path>tcp6://[ffff::eeee:dddd:cccc:0]:5342/mysession-20140820-153801 [data: 5343]</path>
- <enabled>false</enabled>
- <snapshot_mode>0</snapshot_mode>
- <live_timer_interval>0</live_timer_interval>
- <domains/>
- </session>
- </sessions>
- </output>
-</command>
-</COMMAND_OUTPUT>
-
-<COMMAND_INPUT>
-lttng --mi xml destroy mysession
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-<?xml version="1.0" encoding="UTF-8"?>
-<command>
- <name>destroy</name>
- <output>
- <sessions>
- <session>
- <name>mysession</name>
- <path>tcp6://[ffff::eeee:dddd:cccc:0]:5342/mysession-20140820-153801 [data: 5343]</path>
- <enabled>false</enabled>
- <snapshot_mode>0</snapshot_mode>
- <live_timer_interval>0</live_timer_interval>
- </session>
- </sessions>
- </output>
- <success>true</success>
-</command>
-</COMMAND_OUTPUT>
-
-</SCENARIO> \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.ui.tests/testfiles/CreateTreeTest.cfg b/lttng/org.eclipse.linuxtools.lttng2.control.ui.tests/testfiles/CreateTreeTest.cfg
deleted file mode 100644
index f11a133b01..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.ui.tests/testfiles/CreateTreeTest.cfg
+++ /dev/null
@@ -1,2676 +0,0 @@
-####################################################################
-# Copyright (c) 2012, 2014 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:
-# Bernd Hufmann - Initial API and implementation
-####################################################################
-####################################################################
-# Scenario: Initialize
-####################################################################
-<SCENARIO>
-Initialize
-<COMMAND_INPUT>
-lttng version
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-lttng version 2.0.0 - Annedd'ale
-Web site: http://lttng.org/
-
-lttng is free software and under the GPL license and part LGPL
-</COMMAND_OUTPUT>
-
-<COMMAND_INPUT>
-lttng list
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-Currently no available tracing session
-</COMMAND_OUTPUT>
-
-<COMMAND_INPUT>
-lttng list -k
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-Kernel events
--------------
- sched_kthread_stop (loglevel: TRACE_EMERG (0)) (type: tracepoint)
- sched_kthread_stop_ret (loglevel: TRACE_EMERG (0)) (type: tracepoint)
- sched_wakeup_new (loglevel: TRACE_EMERG (0)) (type: tracepoint)
-
-</COMMAND_OUTPUT>
-
-<COMMAND_INPUT>
-lttng list -u
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-UST events:
--------------
-
-PID: 9379 - Name: /home/user/git/lttng-ust/tests/hello.cxx/.libs/lt-hello
- ust_tests_hello:tptest_sighandler (loglevel: TRACE_WARNING (4)) (type: tracepoint)
- ust_tests_hello:tptest (loglevel: TRACE_DEBUG_FUNCTION (12)) (type: tracepoint)
-
-PID: 4852 - Name: /home/user/git/lttng-ust/tests/hello.cxx/.libs/lt-hello
- ust_tests_hello:tptest_sighandler (loglevel: TRACE_WARNING (4)) (type: tracepoint)
- ust_tests_hello:tptest (loglevel: TRACE_DEBUG_FUNCTION (12)) (type: tracepoint)
-
-</COMMAND_OUTPUT>
-</SCENARIO>
-
-####################################################################
-# Scenario: Create and destroy session
-####################################################################
-<SCENARIO>
-SessionHandling
-<SCENARIO>
-<COMMAND_INPUT>
-lttng create mysession
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-Session mysession created.
-Traces will be written in /home/user/lttng-traces/mysession-20120314-132824
-</COMMAND_OUTPUT>
-
-<COMMAND_INPUT>
-lttng list mysession
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-Tracing session mysession: [inactive]
- Trace path: /home/user/lttng-traces/mysession-20120314-132824
-
-</COMMAND_OUTPUT>
-
-<COMMAND_INPUT>
-lttng destroy mysession
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-Session mysession destroyed.
-</COMMAND_OUTPUT>
-
-<COMMAND_INPUT>
-lttng start mysession
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-Tracing started for session mysession.
-</COMMAND_OUTPUT>
-
-<COMMAND_INPUT>
-lttng stop mysession
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-Tracing stopped for session mysession.
-</COMMAND_OUTPUT>
-
-</SCENARIO>
-
-####################################################################
-# Scenario: Create and destroy session
-####################################################################
-<SCENARIO>
-SessionHandlingWithPath
-<SCENARIO>
-<COMMAND_INPUT>
-lttng create mysession -o /home/user/temp
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-Session mysession created.
-Traces will be written in /home/user/temp
-</COMMAND_OUTPUT>
-
-<COMMAND_INPUT>
-lttng list mysession
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-Tracing session mysession: [inactive]
- Trace path: /home/user/temp
-
-</COMMAND_OUTPUT>
-
-<COMMAND_INPUT>
-lttng destroy mysession
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-Session mysession destroyed.
-</COMMAND_OUTPUT>
-
-</SCENARIO>
-
-
-####################################################################
-# Scenario: Enable events from kernel provider events
-####################################################################
-<SCENARIO>
-Scenario1
-
-
-<COMMAND_INPUT>
-lttng enable-event sched_kthread_stop,sched_kthread_stop_ret -k -s mysession --tracepoint
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-kernel event sched_kthread_stop created in channel channel0
-kernel sched_kthread_stop_ret created in channel channel0
-</COMMAND_OUTPUT>
-
-<COMMAND_INPUT>
-lttng list mysession
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-Tracing session mysession: [inactive]
- Trace path: /home/user/lttng-traces/mysession-20120314-132824
-
-=== Domain: Kernel ===
-
-Channels:
--------------
-- channel0: [enabled]
-
- Attributes:
- overwrite mode: 0
- subbufers size: 262144
- number of subbufers: 4
- switch timer interval: 0
- read timer interval: 200
- output: splice()
-
- Events:
- sched_kthread_stop_ret (loglevel: TRACE_EMERG (0)) (type: tracepoint) [enabled]
- sched_kthread_stop (loglevel: TRACE_EMERG (0)) (type: tracepoint) [enabled]
-
-</COMMAND_OUTPUT>
-
-<COMMAND_INPUT>
-lttng disable-event sched_kthread_stop_ret,sched_kthread_stop -k -s mysession -c channel0
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-kernel event sched_kthread_stop_ret disabled in channel channel0
-kernel event sched_kthread_stop disabled in channel channel0
-</COMMAND_OUTPUT>
-
-<COMMAND_INPUT>
-lttng enable-event sched_kthread_stop -k -s mysession -c channel0 --tracepoint
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-kernel event sched_kthread_stop enabled in channel channel0
-</COMMAND_OUTPUT>
-
-</SCENARIO>
-
-####################################################################
-# Scenario: Enable events from UST provider events
-####################################################################
-<SCENARIO>
-Scenario2
-
-<COMMAND_INPUT>
-lttng enable-channel mychannel -u -s mysession --subbuf-size 16384 --num-subbuf 2 --switch-timer 200 --read-timer 100
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-UST channel mychannel enabled for session mysession
-</COMMAND_OUTPUT>
-
-<COMMAND_INPUT>
-lttng list mysession
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-Tracing session mysession: [inactive]
- Trace path: /home/user/temp
-
-=== Domain: UST global ===
-
-Channels:
--------------
-- mychannel: [enabled]
-
- Attributes:
- overwrite mode: 0
- subbufers size: 16384
- number of subbufers: 2
- switch timer interval: 200
- read timer interval: 100
- output: mmap()
-
- Events:
- None
-
-</COMMAND_OUTPUT>
-
-<COMMAND_INPUT>
-lttng enable-event ust_tests_hello:tptest_sighandler,ust_tests_hello:tptest -u -s mysession --tracepoint
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-UST event ust_tests_hello:tptest_sighandler in channel channel0
-UST sched_ust_tests_hello:tptest created in channel channel0
-</COMMAND_OUTPUT>
-
-<COMMAND_INPUT>
-lttng list mysession
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-Tracing session mysession: [inactive]
- Trace path: /home/user/temp
-
-=== Domain: UST global ===
-
-Channels:
--------------
-- mychannel: [enabled]
-
- Attributes:
- overwrite mode: 0
- subbufers size: 16384
- number of subbufers: 2
- switch timer interval: 200
- read timer interval: 100
- output: mmap()
-
- Events:
- ust_tests_hello:tptest_sighandler (type: tracepoint) [enabled]
- ust_tests_hello:tptest (type: tracepoint) [enabled]
-
-</COMMAND_OUTPUT>
-
-<COMMAND_INPUT>
-lttng disable-event ust_tests_hello:tptest -u -s mysession -c mychannel
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-kernel event ust_tests_hello:tptest in channel mychannel
-</COMMAND_OUTPUT>
-
-<COMMAND_INPUT>
-lttng enable-event ust_tests_hello:tptest -u -s mysession -c mychannel --tracepoint
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-kernel event ust_tests_hello:tptest enabled in channel mychannel
-</COMMAND_OUTPUT>
-
-</SCENARIO>
-
-<SCENARIO>
-Scenario3
-
-<COMMAND_INPUT>
-lttng enable-channel mychannel -k -s mysession --overwrite --subbuf-size 16384 --num-subbuf 4 --switch-timer 100 --read-timer 200
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-Kernel channel mychannel enabled for session mysession
-</COMMAND_OUTPUT>
-
-<COMMAND_INPUT>
-lttng list mysession
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-Tracing session mysession: [inactive]
- Trace path: /home/user/lttng-traces/mysession-20120314-132824
-
-=== Domain: Kernel ===
-
-Channels:
--------------
-- mychannel: [enabled]
-
- Attributes:
- overwrite mode: 1
- subbufers size: 16384
- number of subbufers: 4
- switch timer interval: 100
- read timer interval: 200
- output: splice()
-
- Events:
- None
-
-</COMMAND_OUTPUT>
-
-<COMMAND_INPUT>
-lttng enable-channel mychannel2 -k -s mysession --subbuf-size 32768 --num-subbuf 2 --switch-timer 100 --read-timer 200
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-Kernel channel mychannel2 enabled for session mysession
-</COMMAND_OUTPUT>
-
-<COMMAND_INPUT>
-lttng list mysession
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-Tracing session mysession: [inactive]
- Trace path: /home/user/lttng-traces/mysession-20120314-132824
-
-=== Domain: Kernel ===
-
-Channels:
--------------
-- mychannel: [enabled]
-
- Attributes:
- overwrite mode: 1
- subbufers size: 16384
- number of subbufers: 4
- switch timer interval: 100
- read timer interval: 200
- output: splice()
-
- Events:
- None
-
-- mychannel2: [enabled]
-
- Attributes:
- overwrite mode: 0
- subbufers size: 32768
- number of subbufers: 2
- switch timer interval: 100
- read timer interval: 200
- output: splice()
-
- Events:
- None
-
-</COMMAND_OUTPUT>
-
-
-<COMMAND_INPUT>
-lttng disable-channel mychannel,mychannel2 -k -s mysession
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-Kernel channel mychannel disabled for session mysession
-Kernel channel mychannel2 disabled for session mysession
-</COMMAND_OUTPUT>
-
-<COMMAND_INPUT>
-lttng enable-channel mychannel,mychannel2 -k -s mysession
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-Kernel channel mychannel enabled for session mysession
-Kernel channel mychannel2 enabled for session mysession
-</COMMAND_OUTPUT>
-
-<COMMAND_INPUT>
-lttng enable-event sched_kthread_stop,sched_kthread_stop_ret -k -s mysession --tracepoint
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-kernel event sched_kthread_stop created in channel channel0
-kernel sched_kthread_stop_ret created in channel channel0
-</COMMAND_OUTPUT>
-
-<COMMAND_INPUT>
-lttng list mysession
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-Tracing session mysession: [inactive]
- Trace path: /home/user/lttng-traces/mysession-20120314-132824
-
-=== Domain: Kernel ===
-
-Channels:
--------------
-- mychannel: [enabled]
-
- Attributes:
- overwrite mode: 1
- subbufers size: 16384
- number of subbufers: 4
- switch timer interval: 100
- read timer interval: 200
- output: splice()
-
- Events:
- None
-
-- mychannel2: [enabled]
-
- Attributes:
- overwrite mode: 0
- subbufers size: 32768
- number of subbufers: 2
- switch timer interval: 100
- read timer interval: 200
- output: splice()
-
- Events:
- None
-
-- channel0: [enabled]
-
- Attributes:
- overwrite mode: 0
- subbufers size: 262144
- number of subbufers: 4
- switch timer interval: 0
- read timer interval: 200
- output: splice()
-
- Events:
- sched_kthread_stop_ret (loglevel: TRACE_EMERG (0)) (type: tracepoint) [enabled]
- sched_kthread_stop (loglevel: TRACE_EMERG (0)) (type: tracepoint) [enabled]
-
-</COMMAND_OUTPUT>
-
-<COMMAND_INPUT>
-lttng enable-event sched_wakeup_new -k -s mysession --tracepoint
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-kernel event sched_wakeup_new created in channel channel0
-</COMMAND_OUTPUT>
-
-<COMMAND_INPUT>
-lttng list mysession
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-Tracing session mysession: [inactive]
- Trace path: /home/user/lttng-traces/mysession-20120314-132824
-
-=== Domain: Kernel ===
-
-Channels:
--------------
-- mychannel: [enabled]
-
- Attributes:
- overwrite mode: 1
- subbufers size: 16384
- number of subbufers: 4
- switch timer interval: 100
- read timer interval: 200
- output: splice()
-
- Events:
- None
-
-- mychannel2: [enabled]
-
- Attributes:
- overwrite mode: 0
- subbufers size: 32768
- number of subbufers: 2
- switch timer interval: 100
- read timer interval: 200
- output: splice()
-
- Events:
- None
-
-- channel0: [enabled]
-
- Attributes:
- overwrite mode: 0
- subbufers size: 262144
- number of subbufers: 4
- switch timer interval: 0
- read timer interval: 200
- output: splice()
-
- Events:
- sched_kthread_stop_ret (loglevel: TRACE_EMERG (0)) (type: tracepoint) [enabled]
- sched_kthread_stop (loglevel: TRACE_EMERG (0)) (type: tracepoint) [enabled]
- sched_wakeup_new (loglevel: TRACE_EMERG (0)) (type: tracepoint) [enabled]
-
-</COMMAND_OUTPUT>
-
-<COMMAND_INPUT>
-lttng enable-event -a -k -s mysession -c mychannel2 --tracepoint
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-All kernel event sched_kthread_stop created in channel channel0
-</COMMAND_OUTPUT>
-
-<COMMAND_INPUT>
-lttng list mysession
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-Tracing session mysession: [inactive]
- Trace path: /home/user/lttng-traces/mysession-20120314-132824
-
-=== Domain: Kernel ===
-
-Channels:
--------------
-- mychannel: [enabled]
-
- Attributes:
- overwrite mode: 1
- subbufers size: 16384
- number of subbufers: 4
- switch timer interval: 100
- read timer interval: 200
- output: splice()
-
- Events:
- None
-
-- mychannel2: [enabled]
-
- Attributes:
- overwrite mode: 0
- subbufers size: 32768
- number of subbufers: 2
- switch timer interval: 100
- read timer interval: 200
- output: splice()
-
- Events:
- sched_kthread_stop_ret (loglevel: TRACE_EMERG (0)) (type: tracepoint) [enabled]
- sched_kthread_stop (loglevel: TRACE_EMERG (0)) (type: tracepoint) [enabled]
- sched_wakeup_new (loglevel: TRACE_EMERG (0)) (type: tracepoint) [enabled]
-
-- channel0: [enabled]
-
- Attributes:
- overwrite mode: 0
- subbufers size: 262144
- number of subbufers: 4
- switch timer interval: 0
- read timer interval: 200
- output: splice()
-
- Events:
- sched_kthread_stop_ret (loglevel: TRACE_EMERG (0)) (type: tracepoint) [enabled]
- sched_kthread_stop (loglevel: TRACE_EMERG (0)) (type: tracepoint) [enabled]
- sched_wakeup_new (loglevel: TRACE_EMERG (0)) (type: tracepoint) [enabled]
-
-</COMMAND_OUTPUT>
-
-<COMMAND_INPUT>
-lttng enable-event -a -k -s mysession -c mychannel --syscall
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-All kernel system calls are enabled in channel mychannel
-</COMMAND_OUTPUT>
-
-<COMMAND_INPUT>
-lttng list mysession
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-Tracing session mysession: [inactive]
- Trace path: /home/user/lttng-traces/mysession-20120314-132824
-
-=== Domain: Kernel ===
-
-Channels:
--------------
-- mychannel: [enabled]
-
- Attributes:
- overwrite mode: 1
- subbufers size: 16384
- number of subbufers: 4
- switch timer interval: 100
- read timer interval: 200
- output: splice()
-
- Events:
- syscalls (type: syscall) [enabled]
-
-- mychannel2: [enabled]
-
- Attributes:
- overwrite mode: 0
- subbufers size: 32768
- number of subbufers: 2
- switch timer interval: 100
- read timer interval: 200
- output: splice()
-
- Events:
- sched_kthread_stop_ret (loglevel: TRACE_EMERG (0)) (type: tracepoint) [enabled]
- sched_kthread_stop (loglevel: TRACE_EMERG (0)) (type: tracepoint) [enabled]
- sched_wakeup_new (loglevel: TRACE_EMERG (0)) (type: tracepoint) [enabled]
-
-- channel0: [enabled]
-
- Attributes:
- overwrite mode: 0
- subbufers size: 262144
- number of subbufers: 4
- switch timer interval: 0
- read timer interval: 200
- output: splice()
-
- Events:
- sched_kthread_stop_ret (loglevel: TRACE_EMERG (0)) (type: tracepoint) [enabled]
- sched_kthread_stop (loglevel: TRACE_EMERG (0)) (type: tracepoint) [enabled]
- sched_wakeup_new (loglevel: TRACE_EMERG (0)) (type: tracepoint) [enabled]
-
-</COMMAND_OUTPUT>
-
-<COMMAND_INPUT>
-lttng enable-event -a -k -s mysession --syscall
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-All kernel system calls are enabled in channel channel0
-</COMMAND_OUTPUT>
-
-<COMMAND_INPUT>
-lttng list mysession
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-Tracing session mysession: [inactive]
- Trace path: /home/user/lttng-traces/mysession-20120314-132824
-
-=== Domain: Kernel ===
-
-Channels:
--------------
-- mychannel: [enabled]
-
- Attributes:
- overwrite mode: 1
- subbufers size: 16384
- number of subbufers: 4
- switch timer interval: 100
- read timer interval: 200
- output: splice()
-
- Events:
- syscalls (type: syscall) [enabled]
-
-- mychannel2: [enabled]
-
- Attributes:
- overwrite mode: 0
- subbufers size: 32768
- number of subbufers: 2
- switch timer interval: 100
- read timer interval: 200
- output: splice()
-
- Events:
- sched_kthread_stop_ret (loglevel: TRACE_EMERG (0)) (type: tracepoint) [enabled]
- sched_kthread_stop (loglevel: TRACE_EMERG (0)) (type: tracepoint) [enabled]
- sched_wakeup_new (loglevel: TRACE_EMERG (0)) (type: tracepoint) [enabled]
-
-- channel0: [enabled]
-
- Attributes:
- overwrite mode: 0
- subbufers size: 262144
- number of subbufers: 4
- switch timer interval: 0
- read timer interval: 200
- output: splice()
-
- Events:
- syscalls (type: syscall) [enabled]
- sched_kthread_stop_ret (loglevel: TRACE_EMERG (0)) (type: tracepoint) [enabled]
- sched_kthread_stop (loglevel: TRACE_EMERG (0)) (type: tracepoint) [enabled]
- sched_wakeup_new (loglevel: TRACE_EMERG (0)) (type: tracepoint) [enabled]
-
-</COMMAND_OUTPUT>
-
-<COMMAND_INPUT>
-lttng enable-event -a -k -s mysession --syscall
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-All kernel system calls are enabled in channel channel0
-</COMMAND_OUTPUT>
-
-<COMMAND_INPUT>
-lttng list mysession
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-Tracing session mysession: [inactive]
- Trace path: /home/user/lttng-traces/mysession-20120314-132824
-
-=== Domain: Kernel ===
-
-Channels:
--------------
-- mychannel: [enabled]
-
- Attributes:
- overwrite mode: 1
- subbufers size: 16384
- number of subbufers: 4
- switch timer interval: 100
- read timer interval: 200
- output: splice()
-
- Events:
- syscalls (type: syscall) [enabled]
-
-- mychannel2: [enabled]
-
- Attributes:
- overwrite mode: 0
- subbufers size: 32768
- number of subbufers: 2
- switch timer interval: 100
- read timer interval: 200
- output: splice()
-
- Events:
- sched_kthread_stop_ret (loglevel: TRACE_EMERG (0)) (type: tracepoint) [enabled]
- sched_kthread_stop (loglevel: TRACE_EMERG (0)) (type: tracepoint) [enabled]
- sched_wakeup_new (loglevel: TRACE_EMERG (0)) (type: tracepoint) [enabled]
-
-- channel0: [enabled]
-
- Attributes:
- overwrite mode: 0
- subbufers size: 262144
- number of subbufers: 4
- switch timer interval: 0
- read timer interval: 200
- output: splice()
-
- Events:
- syscalls (type: syscall) [enabled]
- sched_kthread_stop_ret (loglevel: TRACE_EMERG (0)) (type: tracepoint) [enabled]
- sched_kthread_stop (loglevel: TRACE_EMERG (0)) (type: tracepoint) [enabled]
- sched_wakeup_new (loglevel: TRACE_EMERG (0)) (type: tracepoint) [enabled]
-
-</COMMAND_OUTPUT>
-
-<COMMAND_INPUT>
-lttng enable-event myevent1 -k -s mysession --probe 0xc0101280
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-kernel event myevent1 created in channel channel0
-</COMMAND_OUTPUT>
-
-<COMMAND_INPUT>
-lttng list mysession
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-Tracing session mysession: [inactive]
- Trace path: /home/user/lttng-traces/mysession-20120314-132824
-
-=== Domain: Kernel ===
-
-Channels:
--------------
-- mychannel: [enabled]
-
- Attributes:
- overwrite mode: 1
- subbufers size: 16384
- number of subbufers: 4
- switch timer interval: 100
- read timer interval: 200
- output: splice()
-
- Events:
- syscalls (type: syscall) [enabled]
-
-- mychannel2: [enabled]
-
- Attributes:
- overwrite mode: 0
- subbufers size: 32768
- number of subbufers: 2
- switch timer interval: 100
- read timer interval: 200
- output: splice()
-
- Events:
- sched_kthread_stop_ret (loglevel: TRACE_EMERG (0)) (type: tracepoint) [enabled]
- sched_kthread_stop (loglevel: TRACE_EMERG (0)) (type: tracepoint) [enabled]
- sched_wakeup_new (loglevel: TRACE_EMERG (0)) (type: tracepoint) [enabled]
-
-- channel0: [enabled]
-
- Attributes:
- overwrite mode: 0
- subbufers size: 262144
- number of subbufers: 4
- switch timer interval: 0
- read timer interval: 200
- output: splice()
-
- Events:
- myevent1 (type: probe) [enabled]
- addr: 0xc0101280
- syscalls (type: syscall) [enabled]
- sched_kthread_stop_ret (loglevel: TRACE_EMERG (0)) (type: tracepoint) [enabled]
- sched_kthread_stop (loglevel: TRACE_EMERG (0)) (type: tracepoint) [enabled]
- sched_wakeup_new (loglevel: TRACE_EMERG (0)) (type: tracepoint) [enabled]
-
-</COMMAND_OUTPUT>
-
-<COMMAND_INPUT>
-lttng enable-event myevent2 -k -s mysession -c channel0 --probe init_post
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-kernel event myevent2 created in channel channel0
-</COMMAND_OUTPUT>
-
-<COMMAND_INPUT>
-lttng list mysession
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-Tracing session mysession: [inactive]
- Trace path: /home/user/lttng-traces/mysession-20120314-132824
-
-=== Domain: Kernel ===
-
-Channels:
--------------
-- mychannel: [enabled]
-
- Attributes:
- overwrite mode: 1
- subbufers size: 16384
- number of subbufers: 4
- switch timer interval: 100
- read timer interval: 200
- output: splice()
-
- Events:
- syscalls (type: syscall) [enabled]
-
-- mychannel2: [enabled]
-
- Attributes:
- overwrite mode: 0
- subbufers size: 32768
- number of subbufers: 2
- switch timer interval: 100
- read timer interval: 200
- output: splice()
-
- Events:
- sched_kthread_stop_ret (loglevel: TRACE_EMERG (0)) (type: tracepoint) [enabled]
- sched_kthread_stop (loglevel: TRACE_EMERG (0)) (type: tracepoint) [enabled]
- sched_wakeup_new (loglevel: TRACE_EMERG (0)) (type: tracepoint) [enabled]
-
-- channel0: [enabled]
-
- Attributes:
- overwrite mode: 0
- subbufers size: 262144
- number of subbufers: 4
- switch timer interval: 0
- read timer interval: 200
- output: splice()
-
- Events:
- myevent2 (type: probe) [enabled]
- offset: 0x0
- symbol: init_post
- myevent1 (type: probe) [enabled]
- addr: 0xc0101280
- syscalls (type: syscall) [enabled]
- sched_kthread_stop_ret (loglevel: TRACE_EMERG (0)) (type: tracepoint) [enabled]
- sched_kthread_stop (loglevel: TRACE_EMERG (0)) (type: tracepoint) [enabled]
- sched_wakeup_new (loglevel: TRACE_EMERG (0)) (type: tracepoint) [enabled]
-
-</COMMAND_OUTPUT>
-
-<COMMAND_INPUT>
-lttng enable-event myevent3 -k -s mysession --probe init_post:0x1000
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-kernel event myevent2 created in channel channel0
-</COMMAND_OUTPUT>
-
-<COMMAND_INPUT>
-lttng list mysession
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-Tracing session mysession: [inactive]
- Trace path: /home/user/lttng-traces/mysession-20120314-132824
-
-=== Domain: Kernel ===
-
-Channels:
--------------
-- mychannel: [enabled]
-
- Attributes:
- overwrite mode: 1
- subbufers size: 16384
- number of subbufers: 4
- switch timer interval: 100
- read timer interval: 200
- output: splice()
-
- Events:
- syscalls (type: syscall) [enabled]
-
-- mychannel2: [enabled]
-
- Attributes:
- overwrite mode: 0
- subbufers size: 32768
- number of subbufers: 2
- switch timer interval: 100
- read timer interval: 200
- output: splice()
-
- Events:
- sched_kthread_stop_ret (loglevel: TRACE_EMERG (0)) (type: tracepoint) [enabled]
- sched_kthread_stop (loglevel: TRACE_EMERG (0)) (type: tracepoint) [enabled]
- sched_wakeup_new (loglevel: TRACE_EMERG (0)) (type: tracepoint) [enabled]
-
-- channel0: [enabled]
-
- Attributes:
- overwrite mode: 0
- subbufers size: 262144
- number of subbufers: 4
- switch timer interval: 0
- read timer interval: 200
- output: splice()
-
- Events:
- myevent3 (type: probe) [enabled]
- offset: 0x1000
- symbol: init_post
- myevent2 (type: probe) [enabled]
- offset: 0x0
- symbol: init_post
- myevent1 (type: probe) [enabled]
- addr: 0xc0101280
- syscalls (type: syscall) [enabled]
- sched_kthread_stop_ret (loglevel: TRACE_EMERG (0)) (type: tracepoint) [enabled]
- sched_kthread_stop (loglevel: TRACE_EMERG (0)) (type: tracepoint) [enabled]
- sched_wakeup_new (loglevel: TRACE_EMERG (0)) (type: tracepoint) [enabled]
-
-</COMMAND_OUTPUT>
-
-<COMMAND_INPUT>
-lttng enable-event myevent4 -k -s mysession --function create_dev
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-kernel event myevent4 created in channel channel0
-</COMMAND_OUTPUT>
-
-<COMMAND_INPUT>
-lttng list mysession
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-Tracing session mysession: [inactive]
- Trace path: /home/user/lttng-traces/mysession-20120314-132824
-
-=== Domain: Kernel ===
-
-Channels:
--------------
-- mychannel: [enabled]
-
- Attributes:
- overwrite mode: 1
- subbufers size: 16384
- number of subbufers: 4
- switch timer interval: 100
- read timer interval: 200
- output: splice()
-
- Events:
- syscalls (type: syscall) [enabled]
-
-- mychannel2: [enabled]
-
- Attributes:
- overwrite mode: 0
- subbufers size: 32768
- number of subbufers: 2
- switch timer interval: 100
- read timer interval: 200
- output: splice()
-
- Events:
- sched_kthread_stop_ret (loglevel: TRACE_EMERG (0)) (type: tracepoint) [enabled]
- sched_kthread_stop (loglevel: TRACE_EMERG (0)) (type: tracepoint) [enabled]
- sched_wakeup_new (loglevel: TRACE_EMERG (0)) (type: tracepoint) [enabled]
-
-- channel0: [enabled]
-
- Attributes:
- overwrite mode: 0
- subbufers size: 262144
- number of subbufers: 4
- switch timer interval: 0
- read timer interval: 200
- output: splice()
-
- Events:
- myevent4 (type: function) [enabled]
- offset: 0x0
- symbol: create_dev
- myevent3 (type: probe) [enabled]
- offset: 0x1000
- symbol: init_post
- myevent2 (type: probe) [enabled]
- offset: 0x0
- symbol: init_post
- myevent1 (type: probe) [enabled]
- addr: 0xc0101280
- syscalls (type: syscall) [enabled]
- sched_kthread_stop_ret (loglevel: TRACE_EMERG (0)) (type: tracepoint) [enabled]
- sched_kthread_stop (loglevel: TRACE_EMERG (0)) (type: tracepoint) [enabled]
- sched_wakeup_new (loglevel: TRACE_EMERG (0)) (type: tracepoint) [enabled]
-
-</COMMAND_OUTPUT>
-
-<COMMAND_INPUT>
-lttng enable-event myevent5 -k -s mysession --function create_dev:0x2000
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-kernel event myevent5 created in channel channel0
-</COMMAND_OUTPUT>
-
-<COMMAND_INPUT>
-lttng list mysession
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-Tracing session mysession: [inactive]
- Trace path: /home/user/lttng-traces/mysession-20120314-132824
-
-=== Domain: Kernel ===
-
-Channels:
--------------
-- mychannel: [enabled]
-
- Attributes:
- overwrite mode: 1
- subbufers size: 16384
- number of subbufers: 4
- switch timer interval: 100
- read timer interval: 200
- output: splice()
-
- Events:
- syscalls (type: syscall) [enabled]
-
-- mychannel2: [enabled]
-
- Attributes:
- overwrite mode: 0
- subbufers size: 32768
- number of subbufers: 2
- switch timer interval: 100
- read timer interval: 200
- output: splice()
-
- Events:
- sched_kthread_stop_ret (loglevel: TRACE_EMERG (0)) (type: tracepoint) [enabled]
- sched_kthread_stop (loglevel: TRACE_EMERG (0)) (type: tracepoint) [enabled]
- sched_wakeup_new (loglevel: TRACE_EMERG (0)) (type: tracepoint) [enabled]
-
-- channel0: [enabled]
-
- Attributes:
- overwrite mode: 0
- subbufers size: 262144
- number of subbufers: 4
- switch timer interval: 0
- read timer interval: 200
- output: splice()
-
- Events:
- myevent5 (type: probe) [enabled]
- offset: 0x2000
- symbol: create_dev
- myevent4 (type: function) [enabled]
- offset: 0x0
- symbol: create_dev
- myevent3 (type: probe) [enabled]
- offset: 0x1000
- symbol: init_post
- myevent2 (type: probe) [enabled]
- offset: 0x0
- symbol: init_post
- myevent1 (type: probe) [enabled]
- addr: 0xc0101280
- syscalls (type: syscall) [enabled]
- sched_kthread_stop_ret (loglevel: TRACE_EMERG (0)) (type: tracepoint) [enabled]
- sched_kthread_stop (loglevel: TRACE_EMERG (0)) (type: tracepoint) [enabled]
- sched_wakeup_new (loglevel: TRACE_EMERG (0)) (type: tracepoint) [enabled]
-
-</COMMAND_OUTPUT>
-
-<COMMAND_INPUT>
-lttng enable-event myevent -k -s mysession -c mychannel --function create_dev:0x2000
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-kernel event myevent created in channel mychannel
-</COMMAND_OUTPUT>
-
-<COMMAND_INPUT>
-lttng list mysession
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-Tracing session mysession: [inactive]
- Trace path: /home/user/lttng-traces/mysession-20120314-132824
-
-=== Domain: Kernel ===
-
-Channels:
--------------
-- mychannel: [enabled]
-
- Attributes:
- overwrite mode: 1
- subbufers size: 16384
- number of subbufers: 4
- switch timer interval: 100
- read timer interval: 200
- output: splice()
-
- Events:
- myevent (type: probe) [enabled]
- offset: 0x2000
- symbol: create_dev
- syscalls (type: syscall) [enabled]
-
-- mychannel2: [enabled]
-
- Attributes:
- overwrite mode: 0
- subbufers size: 32768
- number of subbufers: 2
- switch timer interval: 100
- read timer interval: 200
- output: splice()
-
- Events:
- sched_kthread_stop_ret (loglevel: TRACE_EMERG (0)) (type: tracepoint) [enabled]
- sched_kthread_stop (loglevel: TRACE_EMERG (0)) (type: tracepoint) [enabled]
- sched_wakeup_new (loglevel: TRACE_EMERG (0)) (type: tracepoint) [enabled]
-
-- channel0: [enabled]
-
- Attributes:
- overwrite mode: 0
- subbufers size: 262144
- number of subbufers: 4
- switch timer interval: 0
- read timer interval: 200
- output: splice()
-
- Events:
- myevent5 (type: probe) [enabled]
- offset: 0x2000
- symbol: create_dev
- myevent4 (type: function) [enabled]
- offset: 0x0
- symbol: create_dev
- myevent3 (type: probe) [enabled]
- offset: 0x1000
- symbol: init_post
- myevent2 (type: probe) [enabled]
- offset: 0x0
- symbol: init_post
- myevent1 (type: probe) [enabled]
- addr: 0xc0101280
- syscalls (type: syscall) [enabled]
- sched_kthread_stop_ret (loglevel: TRACE_EMERG (0)) (type: tracepoint) [enabled]
- sched_kthread_stop (loglevel: TRACE_EMERG (0)) (type: tracepoint) [enabled]
- sched_wakeup_new (loglevel: TRACE_EMERG (0)) (type: tracepoint) [enabled]
-
-</COMMAND_OUTPUT>
-
-<COMMAND_INPUT>
-lttng list
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-Available tracing sessions:
- 1) mysession (/home/eedbhu/lttng-traces/mysession-20120321-115617) [inactive]
-
-Use lttng list <session_name> for more details
-</COMMAND_OUTPUT>
-
-<COMMAND_INPUT>
-lttng list -k
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-Kernel events
--------------
- sched_kthread_stop (loglevel: TRACE_EMERG (0)) (type: tracepoint)
- sched_kthread_stop_ret (loglevel: TRACE_EMERG (0)) (type: tracepoint)
- sched_wakeup_new (loglevel: TRACE_EMERG (0)) (type: tracepoint)
-
-</COMMAND_OUTPUT>
-
-<COMMAND_INPUT>
-lttng list -u
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-UST events:
--------------
-
-PID: 9379 - Name: /home/user/git/lttng-ust/tests/hello.cxx/.libs/lt-hello
- ust_tests_hello:tptest_sighandler (loglevel: TRACE_WARNING (4)) (type: tracepoint)
- ust_tests_hello:tptest (loglevel: TRACE_DEBUG_FUNCTION (12)) (type: tracepoint)
-
-PID: 4852 - Name: /home/user/git/lttng-ust/tests/hello.cxx/.libs/lt-hello
- ust_tests_hello:tptest_sighandler (loglevel: TRACE_WARNING (4)) (type: tracepoint)
- ust_tests_hello:tptest (loglevel: TRACE_DEBUG_FUNCTION (12)) (type: tracepoint)
-
-</COMMAND_OUTPUT>
-
-<COMMAND_INPUT>
-lttng list mysession
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-Tracing session mysession: [inactive]
- Trace path: /home/user/lttng-traces/mysession-20120314-132824
-
-=== Domain: Kernel ===
-
-Channels:
--------------
-- mychannel: [enabled]
-
- Attributes:
- overwrite mode: 1
- subbufers size: 16384
- number of subbufers: 4
- switch timer interval: 100
- read timer interval: 200
- output: splice()
-
- Events:
- myevent (type: probe) [enabled]
- offset: 0x2000
- symbol: create_dev
- syscalls (type: syscall) [enabled]
-
-- mychannel2: [enabled]
-
- Attributes:
- overwrite mode: 0
- subbufers size: 32768
- number of subbufers: 2
- switch timer interval: 100
- read timer interval: 200
- output: splice()
-
- Events:
- sched_kthread_stop_ret (loglevel: TRACE_EMERG (0)) (type: tracepoint) [enabled]
- sched_kthread_stop (loglevel: TRACE_EMERG (0)) (type: tracepoint) [enabled]
- sched_wakeup_new (loglevel: TRACE_EMERG (0)) (type: tracepoint) [enabled]
-
-- channel0: [enabled]
-
- Attributes:
- overwrite mode: 0
- subbufers size: 262144
- number of subbufers: 4
- switch timer interval: 0
- read timer interval: 200
- output: splice()
-
- Events:
- myevent5 (type: probe) [enabled]
- offset: 0x2000
- symbol: create_dev
- myevent4 (type: function) [enabled]
- offset: 0x0
- symbol: create_dev
- myevent3 (type: probe) [enabled]
- offset: 0x1000
- symbol: init_post
- myevent2 (type: probe) [enabled]
- offset: 0x0
- symbol: init_post
- myevent1 (type: probe) [enabled]
- addr: 0xc0101280
- syscalls (type: syscall) [enabled]
- sched_kthread_stop_ret (loglevel: TRACE_EMERG (0)) (type: tracepoint) [enabled]
- sched_kthread_stop (loglevel: TRACE_EMERG (0)) (type: tracepoint) [enabled]
- sched_wakeup_new (loglevel: TRACE_EMERG (0)) (type: tracepoint) [enabled]
-
-</COMMAND_OUTPUT>
-
-<COMMAND_INPUT>
-lttng add-context -h
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-usage: lttng add-context -t TYPE
-
-If no channel and no event is given (-c/-e), the context
-will be added to all events and all channels.
-Otherwise the context will be added only to the channel (-c)
-and/or event (-e) indicated.
-Exactly one domain (-k/--kernel or -u/--userspace) must be specified.
-
-Options:
- -h, --help Show this help
- --list-options Simple listing of options
- -s, --session NAME Apply to session name
- -c, --channel NAME Apply to channel
- -e, --event NAME Apply to event
- -k, --kernel Apply to the kernel tracer
- -u, --userspace Apply to the user-space tracer
- -t, --type TYPE Context type. You can repeat that option on
- the command line to specify multiple contexts at once.
- (--kernel preempts --userspace)
- TYPE can be one of the strings below:
- pid, procname, prio, nice, vpid, tid, pthread_id,
- vtid, ppid, vppid, perf:cpu-cycles, perf:cycles,
- perf:stalled-cycles-frontend,
- perf:idle-cycles-frontend,
- perf:stalled-cycles-backend,
- perf:idle-cycles-backend, perf:instructions,
- perf:cache-references, perf:cache-misses,
- perf:branch-instructions, perf:branches,
- perf:branch-misses, perf:bus-cycles,
- perf:L1-dcache-loads, perf:L1-dcache-load-misses,
- perf:L1-dcache-stores,
- perf:L1-dcache-store-misses,
- perf:L1-dcache-prefetches,
- perf:L1-dcache-prefetch-misses,
- perf:L1-icache-loads, perf:L1-icache-load-misses,
- perf:L1-icache-stores,
- perf:L1-icache-store-misses,
- perf:L1-icache-prefetches,
- perf:L1-icache-prefetch-misses, perf:LLC-loads,
- perf:LLC-load-misses, perf:LLC-stores,
- perf:LLC-store-misses, perf:LLC-prefetches,
- perf:LLC-prefetch-misses, perf:dTLB-loads,
- perf:dTLB-load-misses, perf:dTLB-stores,
- perf:dTLB-store-misses, perf:dTLB-prefetches,
- perf:dTLB-prefetch-misses, perf:iTLB-loads,
- perf:iTLB-load-misses, perf:branch-loads,
- perf:branch-load-misses, perf:cpu-clock,
- perf:task-clock, perf:page-fault, perf:faults,
- perf:major-faults, perf:minor-faults,
- perf:context-switches, perf:cs,
- perf:cpu-migrations, perf:migrations,
- perf:alignment-faults, perf:emulation-faults
-Example:
-This command will add the context information 'prio' and two perf
-counters (hardware branch misses and cache misses), to all events
-in the trace data output:
-# lttng add-context -k -t prio -t perf:branch-misses -t perf:cache-misses
-
-</COMMAND_OUTPUT>
-
-<COMMAND_INPUT>
-lttng add-context -s mysession -k -t prio -t perf:branch-misses -t perf:cache-misses
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-kernel context perf:cache-misses added to all channels
-kernel context perf:branch-misses added to all channels
-kernel context prio added to all channels
-</COMMAND_OUTPUT>
-
-<COMMAND_INPUT>
-lttng list mysession
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-Tracing session mysession: [inactive]
- Trace path: /home/user/lttng-traces/mysession-20120314-132824
-
-=== Domain: Kernel ===
-
-Channels:
--------------
-- mychannel: [enabled]
-
- Attributes:
- overwrite mode: 1
- subbufers size: 16384
- number of subbufers: 4
- switch timer interval: 100
- read timer interval: 200
- output: splice()
-
- Events:
- myevent (type: probe) [enabled]
- offset: 0x2000
- symbol: create_dev
- syscalls (type: syscall) [enabled]
-
-- mychannel2: [enabled]
-
- Attributes:
- overwrite mode: 0
- subbufers size: 32768
- number of subbufers: 2
- switch timer interval: 100
- read timer interval: 200
- output: splice()
-
- Events:
- sched_kthread_stop_ret (loglevel: TRACE_EMERG (0)) (type: tracepoint) [enabled]
- sched_kthread_stop (loglevel: TRACE_EMERG (0)) (type: tracepoint) [enabled]
- sched_wakeup_new (loglevel: TRACE_EMERG (0)) (type: tracepoint) [enabled]
-
-- channel0: [enabled]
-
- Attributes:
- overwrite mode: 0
- subbufers size: 262144
- number of subbufers: 4
- switch timer interval: 0
- read timer interval: 200
- output: splice()
-
- Events:
- myevent5 (type: probe) [enabled]
- offset: 0x2000
- symbol: create_dev
- myevent4 (type: function) [enabled]
- offset: 0x0
- symbol: create_dev
- myevent3 (type: probe) [enabled]
- offset: 0x1000
- symbol: init_post
- myevent2 (type: probe) [enabled]
- offset: 0x0
- symbol: init_post
- myevent1 (type: probe) [enabled]
- addr: 0xc0101280
- syscalls (type: syscall) [enabled]
- sched_kthread_stop_ret (loglevel: TRACE_EMERG (0)) (type: tracepoint) [enabled]
- sched_kthread_stop (loglevel: TRACE_EMERG (0)) (type: tracepoint) [enabled]
- sched_wakeup_new (loglevel: TRACE_EMERG (0)) (type: tracepoint) [enabled]
-
-</COMMAND_OUTPUT>
-
-<COMMAND_INPUT>
-lttng add-context -h
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-usage: lttng add-context -t TYPE
-
-If no channel and no event is given (-c/-e), the context
-will be added to all events and all channels.
-Otherwise the context will be added only to the channel (-c)
-and/or event (-e) indicated.
-Exactly one domain (-k/--kernel or -u/--userspace) must be specified.
-
-Options:
- -h, --help Show this help
- --list-options Simple listing of options
- -s, --session NAME Apply to session name
- -c, --channel NAME Apply to channel
- -e, --event NAME Apply to event
- -k, --kernel Apply to the kernel tracer
- -u, --userspace Apply to the user-space tracer
- -t, --type TYPE Context type. You can repeat that option on
- the command line to specify multiple contexts at once.
- (--kernel preempts --userspace)
- TYPE can be one of the strings below:
- pid, procname, prio, nice, vpid, tid, pthread_id,
- vtid, ppid, vppid, perf:cpu-cycles, perf:cycles,
- perf:stalled-cycles-frontend,
- perf:idle-cycles-frontend,
- perf:stalled-cycles-backend,
- perf:idle-cycles-backend, perf:instructions,
- perf:cache-references, perf:cache-misses,
- perf:branch-instructions, perf:branches,
- perf:branch-misses, perf:bus-cycles,
- perf:L1-dcache-loads, perf:L1-dcache-load-misses,
- perf:L1-dcache-stores,
- perf:L1-dcache-store-misses,
- perf:L1-dcache-prefetches,
- perf:L1-dcache-prefetch-misses,
- perf:L1-icache-loads, perf:L1-icache-load-misses,
- perf:L1-icache-stores,
- perf:L1-icache-store-misses,
- perf:L1-icache-prefetches,
- perf:L1-icache-prefetch-misses, perf:LLC-loads,
- perf:LLC-load-misses, perf:LLC-stores,
- perf:LLC-store-misses, perf:LLC-prefetches,
- perf:LLC-prefetch-misses, perf:dTLB-loads,
- perf:dTLB-load-misses, perf:dTLB-stores,
- perf:dTLB-store-misses, perf:dTLB-prefetches,
- perf:dTLB-prefetch-misses, perf:iTLB-loads,
- perf:iTLB-load-misses, perf:branch-loads,
- perf:branch-load-misses, perf:cpu-clock,
- perf:task-clock, perf:page-fault, perf:faults,
- perf:major-faults, perf:minor-faults,
- perf:context-switches, perf:cs,
- perf:cpu-migrations, perf:migrations,
- perf:alignment-faults, perf:emulation-faults
-Example:
-This command will add the context information 'prio' and two perf
-counters (hardware branch misses and cache misses), to all events
-in the trace data output:
-# lttng add-context -k -t prio -t perf:branch-misses -t perf:cache-misses
-
-</COMMAND_OUTPUT>
-
-<COMMAND_INPUT>
-lttng add-context -s mysession -c mychannel -k -t prio -t perf:branch-misses -t perf:cache-misses
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-kernel context perf:cache-misses added to channel mychannel
-kernel context perf:branch-misses added to channel mychannel
-kernel context prio added to channel mychannel
-</COMMAND_OUTPUT>
-
-<COMMAND_INPUT>
-lttng list mysession
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-Tracing session mysession: [inactive]
- Trace path: /home/user/lttng-traces/mysession-20120314-132824
-
-=== Domain: Kernel ===
-
-Channels:
--------------
-- mychannel: [enabled]
-
- Attributes:
- overwrite mode: 1
- subbufers size: 16384
- number of subbufers: 4
- switch timer interval: 100
- read timer interval: 200
- output: splice()
-
- Events:
- myevent (type: probe) [enabled]
- offset: 0x2000
- symbol: create_dev
- syscalls (type: syscall) [enabled]
-
-- mychannel2: [enabled]
-
- Attributes:
- overwrite mode: 0
- subbufers size: 32768
- number of subbufers: 2
- switch timer interval: 100
- read timer interval: 200
- output: splice()
-
- Events:
- sched_kthread_stop_ret (loglevel: TRACE_EMERG (0)) (type: tracepoint) [enabled]
- sched_kthread_stop (loglevel: TRACE_EMERG (0)) (type: tracepoint) [enabled]
- sched_wakeup_new (loglevel: TRACE_EMERG (0)) (type: tracepoint) [enabled]
-
-- channel0: [enabled]
-
- Attributes:
- overwrite mode: 0
- subbufers size: 262144
- number of subbufers: 4
- switch timer interval: 0
- read timer interval: 200
- output: splice()
-
- Events:
- myevent5 (type: probe) [enabled]
- offset: 0x2000
- symbol: create_dev
- myevent4 (type: function) [enabled]
- offset: 0x0
- symbol: create_dev
- myevent3 (type: probe) [enabled]
- offset: 0x1000
- symbol: init_post
- myevent2 (type: probe) [enabled]
- offset: 0x0
- symbol: init_post
- myevent1 (type: probe) [enabled]
- addr: 0xc0101280
- syscalls (type: syscall) [enabled]
- sched_kthread_stop_ret (loglevel: TRACE_EMERG (0)) (type: tracepoint) [enabled]
- sched_kthread_stop (loglevel: TRACE_EMERG (0)) (type: tracepoint) [enabled]
- sched_wakeup_new (loglevel: TRACE_EMERG (0)) (type: tracepoint) [enabled]
-
-</COMMAND_OUTPUT>
-
-<COMMAND_INPUT>
-lttng add-context -h
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-usage: lttng add-context -t TYPE
-
-If no channel and no event is given (-c/-e), the context
-will be added to all events and all channels.
-Otherwise the context will be added only to the channel (-c)
-and/or event (-e) indicated.
-Exactly one domain (-k/--kernel or -u/--userspace) must be specified.
-
-Options:
- -h, --help Show this help
- --list-options Simple listing of options
- -s, --session NAME Apply to session name
- -c, --channel NAME Apply to channel
- -e, --event NAME Apply to event
- -k, --kernel Apply to the kernel tracer
- -u, --userspace Apply to the user-space tracer
- -t, --type TYPE Context type. You can repeat that option on
- the command line to specify multiple contexts at once.
- (--kernel preempts --userspace)
- TYPE can be one of the strings below:
- pid, procname, prio, nice, vpid, tid, pthread_id,
- vtid, ppid, vppid, perf:cpu-cycles, perf:cycles,
- perf:stalled-cycles-frontend,
- perf:idle-cycles-frontend,
- perf:stalled-cycles-backend,
- perf:idle-cycles-backend, perf:instructions,
- perf:cache-references, perf:cache-misses,
- perf:branch-instructions, perf:branches,
- perf:branch-misses, perf:bus-cycles,
- perf:L1-dcache-loads, perf:L1-dcache-load-misses,
- perf:L1-dcache-stores,
- perf:L1-dcache-store-misses,
- perf:L1-dcache-prefetches,
- perf:L1-dcache-prefetch-misses,
- perf:L1-icache-loads, perf:L1-icache-load-misses,
- perf:L1-icache-stores,
- perf:L1-icache-store-misses,
- perf:L1-icache-prefetches,
- perf:L1-icache-prefetch-misses, perf:LLC-loads,
- perf:LLC-load-misses, perf:LLC-stores,
- perf:LLC-store-misses, perf:LLC-prefetches,
- perf:LLC-prefetch-misses, perf:dTLB-loads,
- perf:dTLB-load-misses, perf:dTLB-stores,
- perf:dTLB-store-misses, perf:dTLB-prefetches,
- perf:dTLB-prefetch-misses, perf:iTLB-loads,
- perf:iTLB-load-misses, perf:branch-loads,
- perf:branch-load-misses, perf:cpu-clock,
- perf:task-clock, perf:page-fault, perf:faults,
- perf:major-faults, perf:minor-faults,
- perf:context-switches, perf:cs,
- perf:cpu-migrations, perf:migrations,
- perf:alignment-faults, perf:emulation-faults
-Example:
-This command will add the context information 'prio' and two perf
-counters (hardware branch misses and cache misses), to all events
-in the trace data output:
-# lttng add-context -k -t prio -t perf:branch-misses -t perf:cache-misses
-
-</COMMAND_OUTPUT>
-
-<COMMAND_INPUT>
-lttng add-context -s mysession -c channel0 -e sched_kthread_stop_ret -k -t prio -t perf:branch-misses -t perf:cache-misses
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-kernel context perf:cache-misses added to event sched_kthread_stop_ret channel mychannel
-kernel context perf:branch-misses added to event sched_kthread_stop_ret channel mychannel
-kernel context prio added to channel event sched_kthread_stop_ret mychannel
-</COMMAND_OUTPUT>
-
-<COMMAND_INPUT>
-lttng list mysession
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-Tracing session mysession: [inactive]
- Trace path: /home/user/lttng-traces/mysession-20120314-132824
-
-=== Domain: Kernel ===
-
-Channels:
--------------
-- mychannel: [enabled]
-
- Attributes:
- overwrite mode: 1
- subbufers size: 16384
- number of subbufers: 4
- switch timer interval: 100
- read timer interval: 200
- output: splice()
-
- Events:
- myevent (type: probe) [enabled]
- offset: 0x2000
- symbol: create_dev
- syscalls (type: syscall) [enabled]
-
-- mychannel2: [enabled]
-
- Attributes:
- overwrite mode: 0
- subbufers size: 32768
- number of subbufers: 2
- switch timer interval: 100
- read timer interval: 200
- output: splice()
-
- Events:
- sched_kthread_stop_ret (loglevel: TRACE_EMERG (0)) (type: tracepoint) [enabled]
- sched_kthread_stop (loglevel: TRACE_EMERG (0)) (type: tracepoint) [enabled]
- sched_wakeup_new (loglevel: TRACE_EMERG (0)) (type: tracepoint) [enabled]
-
-- channel0: [enabled]
-
- Attributes:
- overwrite mode: 0
- subbufers size: 262144
- number of subbufers: 4
- switch timer interval: 0
- read timer interval: 200
- output: splice()
-
- Events:
- myevent5 (type: probe) [enabled]
- offset: 0x2000
- symbol: create_dev
- myevent4 (type: function) [enabled]
- offset: 0x0
- symbol: create_dev
- myevent3 (type: probe) [enabled]
- offset: 0x1000
- symbol: init_post
- myevent2 (type: probe) [enabled]
- offset: 0x0
- symbol: init_post
- myevent1 (type: probe) [enabled]
- addr: 0xc0101280
- syscalls (type: syscall) [enabled]
- sched_kthread_stop_ret (loglevel: TRACE_EMERG (0)) (type: tracepoint) [enabled]
- sched_kthread_stop (loglevel: TRACE_EMERG (0)) (type: tracepoint) [enabled]
- sched_wakeup_new (loglevel: TRACE_EMERG (0)) (type: tracepoint) [enabled]
-
-</COMMAND_OUTPUT>
-
-<COMMAND_INPUT>
-lttng calibrate -k --function
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-Kernel calibration done
-</COMMAND_OUTPUT>
-
-</SCENARIO>
-
-<SCENARIO>
-Scenario4
-
-<COMMAND_INPUT>
-lttng enable-channel mychannel -u -s mysession --overwrite --subbuf-size 16384 --num-subbuf 4 --switch-timer 100 --read-timer 200
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-UST channel mychannel enabled for session mysession
-</COMMAND_OUTPUT>
-
-<COMMAND_INPUT>
-lttng list mysession
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-Tracing session mysession: [inactive]
- Trace path: /home/user/lttng-traces/mysession-20120314-132824
-
-=== Domain: UST global ===
-
-Channels:
--------------
-- mychannel: [enabled]
-
- Attributes:
- overwrite mode: 1
- subbufers size: 16384
- number of subbufers: 4
- switch timer interval: 100
- read timer interval: 200
- output: mmap()
-
- Events:
- None
-
-</COMMAND_OUTPUT>
-
-<COMMAND_INPUT>
-lttng enable-channel mychannel2 -u -s mysession --subbuf-size 32768 --num-subbuf 2 --switch-timer 100 --read-timer 200
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-UST channel mychannel2 enabled for session mysession
-</COMMAND_OUTPUT>
-
-<COMMAND_INPUT>
-lttng list mysession
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-Tracing session mysession: [inactive]
- Trace path: /home/user/lttng-traces/mysession-20120314-132824
-
-=== Domain: UST global ===
-
-Channels:
--------------
-- mychannel: [enabled]
-
- Attributes:
- overwrite mode: 1
- subbufers size: 16384
- number of subbufers: 4
- switch timer interval: 100
- read timer interval: 200
- output: mmap()
-
- Events:
- None
-
-- mychannel2: [enabled]
-
- Attributes:
- overwrite mode: 0
- subbufers size: 32768
- number of subbufers: 2
- switch timer interval: 100
- read timer interval: 200
- output: mmap()
-
- Events:
- None
-
-</COMMAND_OUTPUT>
-
-<COMMAND_INPUT>
-lttng enable-event ust_tests_hello:tptest_sighandler -u -s mysession --tracepoint
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-UST event ust_tests_hello:tptest_sighandler created in channel channel0
-</COMMAND_OUTPUT>
-
-<COMMAND_INPUT>
-lttng list mysession
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-Tracing session mysession: [inactive]
- Trace path: /home/user/lttng-traces/mysession-20120314-132824
-
-=== Domain: UST global ===
-
-Channels:
--------------
-- mychannel: [enabled]
-
- Attributes:
- overwrite mode: 1
- subbufers size: 16384
- number of subbufers: 4
- switch timer interval: 100
- read timer interval: 200
- output: mmap()
-
- Events:
- None
-
-- mychannel2: [enabled]
-
- Attributes:
- overwrite mode: 0
- subbufers size: 32768
- number of subbufers: 2
- switch timer interval: 100
- read timer interval: 200
- output: mmap()
-
- Events:
- None
-
-- channel0: [enabled]
-
- Attributes:
- overwrite mode: 0
- subbufers size: 262144
- number of subbufers: 4
- switch timer interval: 0
- read timer interval: 200
- output: mmap()
-
- Events:
- ust_tests_hello:tptest_sighandler (type: tracepoint) [enabled]
-
-</COMMAND_OUTPUT>
-
-<COMMAND_INPUT>
-lttng enable-event ust_tests_hello:tptest -u -s mysession --tracepoint
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-UST event ust_tests_hello:tptest created in channel channel0
-</COMMAND_OUTPUT>
-
-<COMMAND_INPUT>
-lttng list mysession
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-Tracing session mysession: [inactive]
- Trace path: /home/user/lttng-traces/mysession-20120314-132824
-
-=== Domain: UST global ===
-
-Channels:
--------------
-- mychannel: [enabled]
-
- Attributes:
- overwrite mode: 1
- subbufers size: 16384
- number of subbufers: 4
- switch timer interval: 100
- read timer interval: 200
- output: mmap()
-
- Events:
- None
-
-- mychannel2: [enabled]
-
- Attributes:
- overwrite mode: 0
- subbufers size: 32768
- number of subbufers: 2
- switch timer interval: 100
- read timer interval: 200
- output: mmap()
-
- Events:
- None
-
-- channel0: [enabled]
-
- Attributes:
- overwrite mode: 0
- subbufers size: 262144
- number of subbufers: 4
- switch timer interval: 0
- read timer interval: 200
- output: mmap()
-
- Events:
- ust_tests_hello:tptest_sighandler (type: tracepoint) [enabled]
- ust_tests_hello:tptest (type: tracepoint) [enabled]
-
-</COMMAND_OUTPUT>
-
-<COMMAND_INPUT>
-lttng enable-event -a -u -s mysession -c mychannel2 --tracepoint
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-All UST events created in channel channel0
-</COMMAND_OUTPUT>
-
-<COMMAND_INPUT>
-lttng list mysession
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-Tracing session mysession: [inactive]
- Trace path: /home/user/lttng-traces/mysession-20120314-132824
-
-=== Domain: UST global ===
-
-Channels:
--------------
-- mychannel: [enabled]
-
- Attributes:
- overwrite mode: 1
- subbufers size: 16384
- number of subbufers: 4
- switch timer interval: 100
- read timer interval: 200
- output: mmap()
-
- Events:
- None
-
-- mychannel2: [enabled]
-
- Attributes:
- overwrite mode: 0
- subbufers size: 32768
- number of subbufers: 2
- switch timer interval: 100
- read timer interval: 200
- output: mmap()
-
- Events:
- * (type: tracepoint) [enabled]
-
-- channel0: [enabled]
-
- Attributes:
- overwrite mode: 0
- subbufers size: 262144
- number of subbufers: 4
- switch timer interval: 0
- read timer interval: 200
- output: mmap()
-
- Events:
- ust_tests_hello:tptest_sighandler (type: tracepoint) [enabled]
- ust_tests_hello:tptest (type: tracepoint) [enabled]
-
-</COMMAND_OUTPUT>
-
-<COMMAND_INPUT>
-lttng enable-event ust* -u -s mysession -c mychannel --tracepoint
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-UST event ust* created in channel mychannel
-</COMMAND_OUTPUT>
-
-<COMMAND_INPUT>
-lttng list mysession
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-Tracing session mysession: [inactive]
- Trace path: /home/user/lttng-traces/mysession-20120314-132824
-
-=== Domain: UST global ===
-
-Channels:
--------------
-- mychannel: [enabled]
-
- Attributes:
- overwrite mode: 1
- subbufers size: 16384
- number of subbufers: 4
- switch timer interval: 100
- read timer interval: 200
- output: mmap()
-
- Events:
- ust* (type: tracepoint) [enabled]
-
-- mychannel2: [enabled]
-
- Attributes:
- overwrite mode: 0
- subbufers size: 32768
- number of subbufers: 2
- switch timer interval: 100
- read timer interval: 200
- output: mmap()
-
- Events:
- * (type: tracepoint) [enabled]
-
-- channel0: [enabled]
-
- Attributes:
- overwrite mode: 0
- subbufers size: 262144
- number of subbufers: 4
- switch timer interval: 0
- read timer interval: 200
- output: mmap()
-
- Events:
- ust_tests_hello:tptest_sighandler (type: tracepoint) [enabled]
- ust_tests_hello:tptest (type: tracepoint) [enabled]
-
-</COMMAND_OUTPUT>
-
-<COMMAND_INPUT>
-lttng enable-event ust* -u -s mysession --tracepoint
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-UST event ust* created in channel channel0
-</COMMAND_OUTPUT>
-
-<COMMAND_INPUT>
-lttng list mysession
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-Tracing session mysession: [inactive]
- Trace path: /home/user/lttng-traces/mysession-20120314-132824
-
-=== Domain: UST global ===
-
-Channels:
--------------
-- mychannel: [enabled]
-
- Attributes:
- overwrite mode: 1
- subbufers size: 16384
- number of subbufers: 4
- switch timer interval: 100
- read timer interval: 200
- output: mmap()
-
- Events:
- ust* (type: tracepoint) [enabled]
-
-- mychannel2: [enabled]
-
- Attributes:
- overwrite mode: 0
- subbufers size: 32768
- number of subbufers: 2
- switch timer interval: 100
- read timer interval: 200
- output: mmap()
-
- Events:
- * (type: tracepoint) [enabled]
-
-- channel0: [enabled]
-
- Attributes:
- overwrite mode: 0
- subbufers size: 262144
- number of subbufers: 4
- switch timer interval: 0
- read timer interval: 200
- output: mmap()
-
- Events:
- ust* (type: tracepoint) [enabled]
- ust_tests_hello:tptest_sighandler (type: tracepoint) [enabled]
- ust_tests_hello:tptest (type: tracepoint) [enabled]
-
-</COMMAND_OUTPUT>
-
-<COMMAND_INPUT>
-lttng enable-event "u*" -u -s mysession --tracepoint
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-UST event u* created in channel channel0
-</COMMAND_OUTPUT>
-
-<COMMAND_INPUT>
-lttng list mysession
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-Tracing session mysession: [inactive]
- Trace path: /home/user/lttng-traces/mysession-20120314-132824
-
-=== Domain: UST global ===
-
-Channels:
--------------
-- mychannel: [enabled]
-
- Attributes:
- overwrite mode: 1
- subbufers size: 16384
- number of subbufers: 4
- switch timer interval: 100
- read timer interval: 200
- output: mmap()
-
- Events:
- ust* (type: tracepoint) [enabled]
-
-- mychannel2: [enabled]
-
- Attributes:
- overwrite mode: 0
- subbufers size: 32768
- number of subbufers: 2
- switch timer interval: 100
- read timer interval: 200
- output: mmap()
-
- Events:
- * (type: tracepoint) [enabled]
-
-- channel0: [enabled]
-
- Attributes:
- overwrite mode: 0
- subbufers size: 262144
- number of subbufers: 4
- switch timer interval: 0
- read timer interval: 200
- output: mmap()
-
- Events:
- u* (type: tracepoint) [enabled]
- ust* (type: tracepoint) [enabled]
- ust_tests_hello:tptest_sighandler (type: tracepoint) [enabled]
- ust_tests_hello:tptest (type: tracepoint) [enabled]
-
-</COMMAND_OUTPUT>
-
-
-<COMMAND_INPUT>
-lttng enable-event myevent1 -u -s mysession --loglevel TRACE_WARNING
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-UST event myevent1 created in channel channel0
-</COMMAND_OUTPUT>
-
-<COMMAND_INPUT>
-lttng list mysession
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-Tracing session mysession: [inactive]
- Trace path: /home/user/lttng-traces/mysession-20120314-132824
-
-=== Domain: UST global ===
-
-Channels:
--------------
-- mychannel: [enabled]
-
- Attributes:
- overwrite mode: 1
- subbufers size: 16384
- number of subbufers: 4
- switch timer interval: 100
- read timer interval: 200
- output: mmap()
-
- Events:
- ust* (type: tracepoint) [enabled]
-
-- mychannel2: [enabled]
-
- Attributes:
- overwrite mode: 0
- subbufers size: 32768
- number of subbufers: 2
- switch timer interval: 100
- read timer interval: 200
- output: mmap()
-
- Events:
- * (type: tracepoint) [enabled]
-
-- channel0: [enabled]
-
- Attributes:
- overwrite mode: 0
- subbufers size: 262144
- number of subbufers: 4
- switch timer interval: 0
- read timer interval: 200
- output: splice()
-
- Events:
- myevent1 (loglevel <= TRACE_WARNING (4)) (type: tracepoint) [enabled]
- u* (type: tracepoint) [enabled]
- ust* (type: tracepoint) [enabled]
- ust_tests_hello:tptest_sighandler (type: tracepoint) [enabled]
- ust_tests_hello:tptest (type: tracepoint) [enabled]
-
-</COMMAND_OUTPUT>
-
-<COMMAND_INPUT>
-lttng enable-event myevent2 -u -s mysession --loglevel-only TRACE_DEBUG_FUNCTION
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-UST event myevent2 created in channel channel0
-</COMMAND_OUTPUT>
-
-<COMMAND_INPUT>
-lttng list mysession
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-Tracing session mysession: [inactive]
- Trace path: /home/user/lttng-traces/mysession-20120314-132824
-
-=== Domain: UST global ===
-
-Channels:
--------------
-- mychannel: [enabled]
-
- Attributes:
- overwrite mode: 1
- subbufers size: 16384
- number of subbufers: 4
- switch timer interval: 100
- read timer interval: 200
- output: mmap()
-
- Events:
- ust* (type: tracepoint) [enabled]
-
-- mychannel2: [enabled]
-
- Attributes:
- overwrite mode: 0
- subbufers size: 32768
- number of subbufers: 2
- switch timer interval: 100
- read timer interval: 200
- output: mmap()
-
- Events:
- * (type: tracepoint) [enabled]
-
-- channel0: [enabled]
-
- Attributes:
- overwrite mode: 0
- subbufers size: 262144
- number of subbufers: 4
- switch timer interval: 0
- read timer interval: 200
- output: splice()
-
- Events:
- myevent2 (loglevel == TRACE_DEBUG_FUNCTION (12)) (type: tracepoint) [enabled]
- myevent1 (loglevel <= TRACE_WARNING (4)) (type: loglevel) [enabled]
- u* (type: tracepoint) [enabled]
- ust* (type: tracepoint) [enabled]
- ust_tests_hello:tptest_sighandler (type: tracepoint) [enabled]
- ust_tests_hello:tptest (type: tracepoint) [enabled]
-
-</COMMAND_OUTPUT>
-
-<COMMAND_INPUT>
-lttng enable-event myevent0 -u -s mysession -c mychannel --loglevel-only TRACE_DEBUG_FUNCTION
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-UST event myevent0 created in channel mychannel
-</COMMAND_OUTPUT>
-
-<COMMAND_INPUT>
-lttng list mysession
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-Tracing session mysession: [inactive]
- Trace path: /home/user/lttng-traces/mysession-20120314-132824
-
-=== Domain: UST global ===
-
-Channels:
--------------
-- mychannel: [enabled]
-
- Attributes:
- overwrite mode: 1
- subbufers size: 16384
- number of subbufers: 4
- switch timer interval: 100
- read timer interval: 200
- output: mmap()
-
- Events:
- myevent0 (loglevel <= TRACE_DEBUG_FUNCTION (12)) (type: tracepoint) [enabled]
- ust* (type: tracepoint) [enabled]
-
-- mychannel2: [enabled]
-
- Attributes:
- overwrite mode: 0
- subbufers size: 32768
- number of subbufers: 2
- switch timer interval: 100
- read timer interval: 200
- output: mmap()
-
- Events:
- * (type: tracepoint) [enabled]
-
-- channel0: [enabled]
-
- Attributes:
- overwrite mode: 0
- subbufers size: 262144
- number of subbufers: 4
- switch timer interval: 0
- read timer interval: 200
- output: splice()
-
- Events:
- myevent2 (loglevel <= TRACE_DEBUG_FUNCTION (12)) (type: tracepoint) [enabled]
- myevent1 (loglevel == TRACE_WARNING (4)) (type: loglevel) [enabled]
- u* (type: tracepoint) [enabled]
- ust* (type: tracepoint) [enabled]
- ust_tests_hello:tptest_sighandler (type: tracepoint) [enabled]
- ust_tests_hello:tptest (type: tracepoint) [enabled]
-
-</COMMAND_OUTPUT>
-
-
-</SCENARIO>
-
-
-
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.ui.tests/testfiles/CreateTreeTest2.cfg b/lttng/org.eclipse.linuxtools.lttng2.control.ui.tests/testfiles/CreateTreeTest2.cfg
deleted file mode 100644
index b7b88bce57..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.ui.tests/testfiles/CreateTreeTest2.cfg
+++ /dev/null
@@ -1,323 +0,0 @@
-####################################################################
-# Copyright (c) 2013 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:
-# Bernd Hufmann - Initial API and implementation
-####################################################################
-####################################################################
-# Scenario: Initialize
-####################################################################
-<SCENARIO>
-Initialize
-<COMMAND_INPUT>
-lttng version
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-lttng version 2.2.0 - Cuda
-Web site: http://lttng.org/
-
-lttng is free software and under the GPL license and part LGPL
-</COMMAND_OUTPUT>
-
-<COMMAND_INPUT>
-lttng list
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-Currently no available tracing session
-</COMMAND_OUTPUT>
-
-<COMMAND_INPUT>
-lttng list -k
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-Kernel events
--------------
- sched_kthread_stop (loglevel: TRACE_EMERG (0)) (type: tracepoint)
- sched_kthread_stop_ret (loglevel: TRACE_EMERG (0)) (type: tracepoint)
- sched_wakeup_new (loglevel: TRACE_EMERG (0)) (type: tracepoint)
-
-</COMMAND_OUTPUT>
-
-<COMMAND_INPUT>
-lttng list -u -f
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-UST events:
--------------
-
-PID: 9379 - Name: /home/user/git/lttng-ust/tests/hello.cxx/.libs/lt-hello
- ust_tests_hello:tptest_sighandler (loglevel: TRACE_WARNING (4)) (type: tracepoint)
- ust_tests_hello:tptest (loglevel: TRACE_DEBUG_FUNCTION (12)) (type: tracepoint)
-
-PID: 4852 - Name: /home/user/git/lttng-ust/tests/hello.cxx/.libs/lt-hello
- ust_tests_hello:tptest_sighandler (loglevel: TRACE_WARNING (4)) (type: tracepoint)
- ust_tests_hello:tptest (loglevel: TRACE_DEBUG_FUNCTION (12)) (type: tracepoint)
-
-</COMMAND_OUTPUT>
-</SCENARIO>
-
-####################################################################
-# Scenario: Session and channel with per-UID UST buffers
-####################################################################
-<SCENARIO>
-ScenPerUidTest
-<COMMAND_INPUT>
-lttng create mysession
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-Session mysession created.
-Traces will be written in /home/user/lttng-traces/mysession-20130812-113358
-</COMMAND_OUTPUT>
-
-<COMMAND_INPUT>
-lttng list mysession
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-Tracing session mysession: [inactive]
- Trace path: /home/user/lttng-traces/mysession-20130812-113358
-
-</COMMAND_OUTPUT>
-
-<COMMAND_INPUT>
-lttng destroy mysession
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-Session my destroyed.
-</COMMAND_OUTPUT>
-
-<COMMAND_INPUT>
-lttng enable-channel mychannel -u -s mysession --buffers-uid
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-UST channel mychannel enabled for session mysession
-</COMMAND_OUTPUT>
-
-<COMMAND_INPUT>
-lttng list mysession
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-Tracing session mysession: [inactive]
- Trace path: /home/user/lttng-traces/mysession-20130812-113358
-
-=== Domain: UST global ===
-
-Buffer type: per UID
-
-Channels:
--------------
-- mychannel: [enabled]
-
- Attributes:
- overwrite mode: 0
- subbufers size: 8388608
- number of subbufers: 4
- switch timer interval: 0
- read timer interval: 0
- output: mmap()
-
- Events:
- None
-
-</COMMAND_OUTPUT>
-
-</SCENARIO>
-
-####################################################################
-# Scenario: Session and channel with per-PID UST buffers
-####################################################################
-<SCENARIO>
-ScenPerPidTest
-<COMMAND_INPUT>
-lttng create mysession
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-Session mysession created.
-Traces will be written in /home/user/lttng-traces/mysession-20130812-113358
-</COMMAND_OUTPUT>
-
-<COMMAND_INPUT>
-lttng list mysession
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-Tracing session mysession: [inactive]
- Trace path: /home/user/lttng-traces/mysession-20130812-113358
-
-</COMMAND_OUTPUT>
-
-<COMMAND_INPUT>
-lttng destroy mysession
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-Session mysession destroyed.
-</COMMAND_OUTPUT>
-
-<COMMAND_INPUT>
-lttng enable-channel mychannel -u -s mysession --buffers-pid
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-UST channel mychannel enabled for session mysession
-</COMMAND_OUTPUT>
-
-<COMMAND_INPUT>
-lttng list mysession
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-Tracing session mysession: [inactive]
- Trace path: /home/user/lttng-traces/mysession-20130812-113358
-
-=== Domain: UST global ===
-
-Buffer type: per PID
-
-Channels:
--------------
-- mychannel: [enabled]
-
- Attributes:
- overwrite mode: 0
- subbufers size: 8388608
- number of subbufers: 4
- switch timer interval: 0
- read timer interval: 0
- output: mmap()
-
- Events:
- None
-
-</COMMAND_OUTPUT>
-
-</SCENARIO>
-
-####################################################################
-# Scenario: Session and channel with per-PID UST buffers with option -C -W
-####################################################################
-<SCENARIO>
-ScenBufSizeTest
-<COMMAND_INPUT>
-lttng create mysession
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-Session mysession created.
-Traces will be written in /home/user/lttng-traces/mysession-20130812-113358
-</COMMAND_OUTPUT>
-
-<COMMAND_INPUT>
-lttng list mysession
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-Tracing session mysession: [inactive]
- Trace path: /home/user/lttng-traces/mysession-20130812-113358
-
-</COMMAND_OUTPUT>
-
-<COMMAND_INPUT>
-lttng destroy mysession
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-Session mysession destroyed.
-</COMMAND_OUTPUT>
-
-<COMMAND_INPUT>
-lttng enable-channel mychannel -u -s mysession -C 1024 -W 10
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-<COMMAND_ERROR_OUTPUT>
-Warning: Tracefile size rounded up from (1024) to subbuffer size (8388608)
-</COMMAND_ERROR_OUTPUT>
-UST channel mychannel enabled for session mysession
-</COMMAND_OUTPUT>
-
-<COMMAND_INPUT>
-lttng list mysession
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-Tracing session mysession: [inactive]
- Trace path: /home/user/lttng-traces/mysession-20130812-113358
-
-=== Domain: UST global ===
-
-Buffer type: per PID
-
-Channels:
--------------
-- mychannel: [enabled]
-
- Attributes:
- overwrite mode: 0
- subbufers size: 8388608
- number of subbufers: 4
- switch timer interval: 0
- read timer interval: 0
- output: mmap()
-
- Events:
- None
-
-</COMMAND_OUTPUT>
-
-</SCENARIO>
-
-
-
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.ui.tests/testfiles/LTTngServiceMiTest.cfg b/lttng/org.eclipse.linuxtools.lttng2.control.ui.tests/testfiles/LTTngServiceMiTest.cfg
deleted file mode 100644
index 925e7af2b0..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.ui.tests/testfiles/LTTngServiceMiTest.cfg
+++ /dev/null
@@ -1,2396 +0,0 @@
-####################################################################
-# Copyright (c) 2014 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:
-# Jonathan Rajotte - Initial API and implementation
-####################################################################
-####################################################################
-# Scenario: Test lttng not installed
-####################################################################
-<SCENARIO>
-LttngNotInstalled
-<COMMAND_INPUT>
-lttng --mi xml list
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-1
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-<COMMAND_ERROR_OUTPUT>
-Command not found
-</COMMAND_ERROR_OUTPUT>
-</COMMAND_OUTPUT>
-</SCENARIO>
-
-####################################################################
-# Scenario: Test lttng version
-####################################################################
-<SCENARIO>
-LttngVersion
-<COMMAND_INPUT>
-lttng version
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-lttng version 2.1.0 - Basse Messe
-Web site: http://lttng.org/
-
-lttng is free software and under the GPL license and part LGPL
-</COMMAND_OUTPUT>
-</SCENARIO>
-
-####################################################################
-# Scenario: Test lttng version
-# output with prompt
-####################################################################
-<SCENARIO>
-LttngVersionWithPrompt
-<COMMAND_INPUT>
-lttng version
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-Prompt> lttng version 2.0.0 - Annedd'ale
-Web site: http://lttng.org/
-
-lttng is free software and under the GPL license and part LGPL
-</COMMAND_OUTPUT>
-</SCENARIO>
-
-####################################################################
-# Scenario: Test lttng version (unsupported version)
-####################################################################
-<SCENARIO>
-LttngUnsupportedVersion
-<COMMAND_INPUT>
-lttng version
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-lttng version 200.0.0 - Annedd'ale
-Web site: http://lttng.org/
-
-lttng is free software and under the GPL license and part LGPL
-</COMMAND_OUTPUT>
-</SCENARIO>
-
-
-####################################################################
-# Scenario: Test lttng version (noversion)
-####################################################################
-<SCENARIO>
-LttngNoVersion
-<COMMAND_INPUT>
-lttng version
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-Web site: http://lttng.org/
-
-lttng is free software and under the GPL license and part LGPL
-</COMMAND_OUTPUT>
-</SCENARIO>
-
-####################################################################
-# Scenario: Test lttng version (compiled from source)
-####################################################################
-<SCENARIO>
-LttngVersionCompiled
-<COMMAND_INPUT>
-lttng --mi xml version
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-<?xml version="1.0" encoding="UTF-8"?>
-<command>
- <name>version</name>
- <output>
- <version>
- <string>2.5.0-rc2</string>
- <major>2</major>
- <minor>5</minor>
- <commit>v2.5.0-rc2-99-g234170a</commit>
- <patchLevel>0</patchLevel>
- <name>Fumisterie</name>
- <description>The Fumisterie is a beer whose style is at the confluence of English and German ales. On the palate, it is full-bodied, malty and slightly caramelized. The organic hemp seeds incorporated during the brewing gives it a unique and original taste. The hop flavour comes through delicately in the after taste.</description>
- <url>http://lttng.org</url>
- <license>lttng is free software and under the GPL license and part LGPL</license>
- </version>
- </output>
-</command>
-</COMMAND_OUTPUT>
-</SCENARIO>
-
-####################################################################
-# Scenario: Test no sessions available
-####################################################################
-<SCENARIO>
-NoSessionAvailable
-<COMMAND_INPUT>
-lttng --mi xml list
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-<?xml version="1.0" encoding="UTF-8"?>
-<command><name>list</name><output><sessions/></output></command>
-</COMMAND_OUTPUT>
-</SCENARIO>
-
-####################################################################
-# Scenario: Test get sessions
-####################################################################
-<SCENARIO>
-GetSessionNames1
-<COMMAND_INPUT>
-lttng --mi xml list
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-<?xml version="1.0" encoding="UTF-8"?>
-<command>
- <name>list</name>
- <output>
- <sessions>
- <session>
- <name>mysession1</name>
- <path>home/user/lttng-traces/mysession1-20120123-083928</path>
- <enabled>false</enabled>
- <snapshot_mode>0</snapshot_mode>
- <live_timer_interval>0</live_timer_interval>
- </session>
- <session>
- <name>mysession</name>
- <path>home/user/lttng-traces/mysession-20120123-083318</path>
- <enabled>false</enabled>
- <snapshot_mode>0</snapshot_mode>
- <live_timer_interval>0</live_timer_interval>
- </session>
- </sessions>
- </output>
-</command>
-</COMMAND_OUTPUT>
-</SCENARIO>
-
-####################################################################
-# Scenario: Test lttng list <name> where session doesn't exist
-####################################################################
-<SCENARIO>
-GetSessionNameNotExist
-<COMMAND_INPUT>
-lttng --mi xml list test
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-1
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-<?xml version="1.0" encoding="UTF-8"?>
-<command><name>list</name><output><sessions/></output></command>
-<COMMAND_ERROR_OUTPUT>
-Error: Session 'test' not found
-Error: Command error
-</COMMAND_ERROR_OUTPUT>
-</COMMAND_OUTPUT>
-</SCENARIO>
-
-####################################################################
-# Scenario: Test lttng -vvv list <name> where session doesn't exist
-####################################################################
-<SCENARIO>
-GetSessionNameNotExistVerbose
-<COMMAND_INPUT>
-lttng --mi xml -vvv list test
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-1
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-<?xml version="1.0" encoding="UTF-8"?>
-<command><name>list</name><output><sessions/></output></command>
-<COMMAND_ERROR_OUTPUT>
-Error: Session 'test' not found
-Error: Command error
-</COMMAND_ERROR_OUTPUT>
-</COMMAND_OUTPUT>
-</SCENARIO>
-
-####################################################################
-# Scenario: Test lttng list with garbage output
-####################################################################
-<SCENARIO>
-GetSessionGarbageOut
-<COMMAND_INPUT>
-lttng --mi xml list
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-asdfaereafsdcv 12333456434&*89**(())(^%$*
-@#$%^&*()@#$%^&*()0834523094578kj;djkfs
-a;sdf094v5u dsafj;sd9
-</COMMAND_OUTPUT>
-</SCENARIO>
-
-####################################################################
-# Scenario: Test lttng list <name> with sample outputs
-####################################################################
-<SCENARIO>
-GetSession1
-<COMMAND_INPUT>
-lttng --mi xml list mysession
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-<?xml version="1.0" encoding="UTF-8"?>
-<command>
- <name>list</name>
- <output>
- <sessions>
- <session>
- <name>mysession</name>
- <path>/home/user/lttng-traces/mysession-20120129-084256</path>
- <enabled>true</enabled>
- <snapshot_mode>0</snapshot_mode>
- <live_timer_interval>0</live_timer_interval>
- <domains>
- <domain>
- <type>KERNEL</type>
- <buffer_type>PER_PID</buffer_type>
- <channels>
- <channel>
- <name>channel0</name>
- <enabled>true</enabled>
- <attributes>
- <overwrite_mode>DISCARD</overwrite_mode>
- <subbuffer_size>262144</subbuffer_size>
- <subbuffer_count>4</subbuffer_count>
- <switch_timer_interval>0</switch_timer_interval>
- <read_timer_interval>200</read_timer_interval>
- <output_type>SPLICE</output_type>
- <tracefile_size>0</tracefile_size>
- <tracefile_count>0</tracefile_count>
- <live_timer_interval>0</live_timer_interval>
- </attributes>
- <events>
- <event>
- <name>block_rq_remap</name>
- <type>TRACEPOINT</type>
- <enabled>true</enabled>
- <filter>false</filter>
- <loglevel>TRACE_EMERG</loglevel>
- <loglevel_type>ALL</loglevel_type>
- <exclusion>false</exclusion>
- </event>
- <event>
- <name>block_bio_remap</name>
- <type>TRACEPOINT</type>
- <enabled>false</enabled>
- <filter>false</filter>
- <loglevel>TRACE_EMERG</loglevel>
- <loglevel_type>ALL</loglevel_type>
- <exclusion>false</exclusion>
- </event>
- </events>
- </channel>
- <channel>
- <name>channel1</name>
- <enabled>false</enabled>
- <attributes>
- <overwrite_mode>OVERWRITE</overwrite_mode>
- <subbuffer_size>524288</subbuffer_size>
- <subbuffer_count>4</subbuffer_count>
- <switch_timer_interval>100</switch_timer_interval>
- <read_timer_interval>400</read_timer_interval>
- <output_type>SPLICE</output_type>
- <tracefile_size>0</tracefile_size>
- <tracefile_count>0</tracefile_count>
- <live_timer_interval>4294967295</live_timer_interval>
- </attributes>
- <events/>
- </channel>
- </channels>
- </domain>
- <domain>
- <type>UST</type>
- <buffer_type>PER_UID</buffer_type>
- <channels>
- <channel>
- <name>mychannel1</name>
- <enabled>false</enabled>
- <attributes>
- <overwrite_mode>OVERWRITE</overwrite_mode>
- <subbuffer_size>8192</subbuffer_size>
- <subbuffer_count>8</subbuffer_count>
- <switch_timer_interval>200</switch_timer_interval>
- <read_timer_interval>100</read_timer_interval>
- <output_type>MMAP</output_type>
- <tracefile_size>0</tracefile_size>
- <tracefile_count>0</tracefile_count>
- <live_timer_interval>0</live_timer_interval>
- </attributes>
- <events/>
- </channel>
- <channel>
- <name>channel0</name>
- <enabled>true</enabled>
- <attributes>
- <overwrite_mode>DISCARD</overwrite_mode>
- <subbuffer_size>4096</subbuffer_size>
- <subbuffer_count>4</subbuffer_count>
- <switch_timer_interval>0</switch_timer_interval>
- <read_timer_interval>200</read_timer_interval>
- <output_type>MMAP</output_type>
- <tracefile_size>0</tracefile_size>
- <tracefile_count>0</tracefile_count>
- <live_timer_interval>0</live_timer_interval>
- </attributes>
- <events>
- <event>
- <name>ust_tests_hello:tptest_sighandler</name>
- <type>TRACEPOINT</type>
- <enabled>false</enabled>
- <filter>false</filter>
- <loglevel>TRACE_DEBUG_LINE</loglevel>
- <loglevel_type>ALL</loglevel_type>
- <exclusion>false</exclusion>
- </event>
- <event>
- <name>*</name>
- <type>TRACEPOINT</type>
- <enabled>true</enabled>
- <filter>false</filter>
- <exclusion>false</exclusion>
- </event>
- </events>
- </channel>
- </channels>
- </domain>
- </domains>
- </session>
- </sessions>
- </output>
-</command>
-</COMMAND_OUTPUT>
-<COMMAND_INPUT>
-lttng --mi xml list mysession1
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-<?xml version="1.0" encoding="UTF-8"?>
-<command>
- <name>list</name>
- <output>
- <sessions>
- <session>
- <name>mysession1</name>
- <path>/home/user/lttng-traces/mysession1-20120203-133225</path>
- <enabled>false</enabled>
- <snapshot_mode>0</snapshot_mode>
- <live_timer_interval>0</live_timer_interval>
- <domains/>
- </session>
- </sessions>
- </output>
-</command>
-</COMMAND_OUTPUT>
-</SCENARIO>
-
-
-####################################################################
-# Scenario: Test "lttng list -k" with sample output
-####################################################################
-<SCENARIO>
-GetKernelProvider1
-<COMMAND_INPUT>
-lttng --mi xml list -k
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-<?xml version="1.0" encoding="UTF-8"?>
-<command>
- <name>list</name>
- <output>
- <domains>
- <domain>
- <type>KERNEL</type>
- <buffer_type>PER_PID</buffer_type>
- <events>
- <event>
- <name>sched_kthread_stop</name>
- <type>TRACEPOINT</type>
- <enabled>true</enabled>
- <filter>false</filter>
- <loglevel>TRACE_EMERG</loglevel>
- <loglevel_type>ALL</loglevel_type>
- <exclusion>false</exclusion>
- </event>
- <event>
- <name>sched_kthread_stop_ret</name>
- <type>TRACEPOINT</type>
- <enabled>true</enabled>
- <filter>false</filter>
- <loglevel>TRACE_EMERG</loglevel>
- <loglevel_type>ALL</loglevel_type>
- <exclusion>false</exclusion>
- </event>
- <event>
- <name>sched_wakeup_new</name>
- <type>TRACEPOINT</type>
- <enabled>true</enabled>
- <filter>false</filter>
- <loglevel>TRACE_EMERG</loglevel>
- <loglevel_type>ALL</loglevel_type>
- <exclusion>false</exclusion>
- </event>
- </events>
- </domain>
- </domains>
- </output>
-</command>
-</COMMAND_OUTPUT>
-</SCENARIO>
-
-####################################################################
-# Scenario: Test "lttng list -k" with no kernel and no session daemon
-####################################################################
-<SCENARIO>
-ListWithNoKernel1
-<COMMAND_INPUT>
-lttng --mi xml list -k
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-1
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-Spawning session daemon
-<COMMAND_ERROR_OUTPUT>
-Error: Unable to list kernel events
-</COMMAND_ERROR_OUTPUT>
-</COMMAND_OUTPUT>
-</SCENARIO>
-
-####################################################################
-# Scenario: Test "lttng list -k" with no kernel and with session daemon
-####################################################################
-<SCENARIO>
-ListWithNoKernel2
-<COMMAND_INPUT>
-lttng --mi xml list -k
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-1
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-<COMMAND_ERROR_OUTPUT>
-Error: Unable to list kernel events
-</COMMAND_ERROR_OUTPUT>
-</COMMAND_OUTPUT>
-</SCENARIO>
-
-####################################################################
-# Scenario: Test "lttng list -u" with sample output
-####################################################################
-<SCENARIO>
-GetUstProvider1
-<COMMAND_INPUT>
-lttng --mi xml list -u -f
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-<?xml version="1.0" encoding="UTF-8"?>
-<command>
- <name>list</name>
- <output>
- <domains>
- <domain>
- <type>UST</type>
- <buffer_type>PER_PID</buffer_type>
- <pids>
- <pid>
- <id>9379</id>
- <name>/home/user/git/lttng-ust/tests/hello.cxx/.libs/lt-hello</name>
- <events>
- <event>
- <name>ust_tests_hello:tptest_sighandler</name>
- <type>TRACEPOINT</type>
- <enabled>true</enabled>
- <filter>false</filter>
- <loglevel>TRACE_DEBUG_MODULE</loglevel>
- <loglevel_type>ALL</loglevel_type>
- <exclusion>false</exclusion>
- <event_fields/>
- </event>
- <event>
- <name>ust_tests_hello:tptest</name>
- <type>TRACEPOINT</type>
- <enabled>true</enabled>
- <filter>false</filter>
- <loglevel>TRACE_INFO</loglevel>
- <loglevel_type>ALL</loglevel_type>
- <exclusion>false</exclusion>
- <event_fields>
- <event_field>
- <name>doublefield</name>
- <type>FLOAT</type>
- <nowrite>0</nowrite>
- </event_field>
- <event_field>
- <name>floatfield</name>
- <type>FLOAT</type>
- <nowrite>0</nowrite>
- </event_field>
- <event_field>
- <name>stringfield</name>
- <type>STRING</type>
- <nowrite>0</nowrite>
- </event_field>
- </event_fields>
- </event>
- </events>
- </pid>
- <pid>
- <id>4852</id>
- <name>/home/user/git/lttng-ust/tests/hello.cxx/.libs/lt-hello</name>
- <events>
- <event>
- <name>ust_tests_hello:tptest_sighandler</name>
- <type>TRACEPOINT</type>
- <enabled>true</enabled>
- <filter>false</filter>
- <loglevel>TRACE_WARNING</loglevel>
- <loglevel_type>ALL</loglevel_type>
- <exclusion>false</exclusion>
- <event_fields/>
- </event>
- <event>
- <name>ust_tests_hello:tptest</name>
- <type>TRACEPOINT</type>
- <enabled>true</enabled>
- <filter>false</filter>
- <loglevel>TRACE_DEBUG_FUNCTION</loglevel>
- <loglevel_type>ALL</loglevel_type>
- <exclusion>false</exclusion>
- <event_fields>
- <event_field>
- <name>doublefield</name>
- <type>FLOAT</type>
- <nowrite>0</nowrite>
- </event_field>
- <event_field>
- <name>floatfield</name>
- <type>FLOAT</type>
- <nowrite>0</nowrite>
- </event_field>
- <event_field>
- <name>stringfield</name>
- <type>STRING</type>
- <nowrite>0</nowrite>
- </event_field>
- </event_fields>
- </event>
- </events>
- </pid>
- </pids>
- </domain>
- </domains>
- </output>
-</command>
-</COMMAND_OUTPUT>
-</SCENARIO>
-
-####################################################################
-# Scenario: Test "lttng list -u" with no UST provider available
-####################################################################
-<SCENARIO>
-GetUstProvider2
-<COMMAND_INPUT>
-lttng --mi xml list -u -f
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-<?xml version="1.0" encoding="UTF-8"?>
-<command>
- <name>list</name>
- <output>
- <domains>
- <domain>
- <type>UST</type>
- <buffer_type>PER_PID</buffer_type>
- <pids/>
- </domain>
- </domains>
- </output>
-</command>
-</COMMAND_OUTPUT>
-</SCENARIO>
-
-####################################################################
-# Scenario: Test "lttng list -u" with no UST available (LTTng 2.0.x)
-####################################################################
-<SCENARIO>
-ListWithNoUst1
-<COMMAND_INPUT>
-lttng --mi xml list -u -f
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-1
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-<?xml version="1.0" encoding="UTF-8"?>
-<command><name>list</name><output/></command>
-<COMMAND_ERROR_OUTPUT>
-Error: Unable to list UST event fields: LTTng-UST tracer is not supported. Please rebuild lttng-tools with lttng-ust support enabled.
-Error: Command error
-</COMMAND_ERROR_OUTPUT>
-</COMMAND_OUTPUT>
-</SCENARIO>
-####################################################################
-# Scenario: Test "lttng list -u" with no UST available and no session daemon
-####################################################################
-<SCENARIO>
-ListWithNoUst2
-<COMMAND_INPUT>
-lttng --mi xml list -u -f
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-1
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-<?xml version="1.0" encoding="UTF-8"?>
-<command><name>list</name><output/></command>
-<COMMAND_ERROR_OUTPUT>
-Error: Unable to list UST event fields: LTTng-UST tracer is not supported. Please rebuild lttng-tools with lttng-ust support enabled.
-Error: Command error
-</COMMAND_ERROR_OUTPUT>
-</COMMAND_OUTPUT>
-</SCENARIO>
-####################################################################
-# Scenario: Test "lttng list -" with no kernel and with session daemon
-####################################################################
-<SCENARIO>
-ListWithNoUst3
-<COMMAND_INPUT>
-lttng --mi xml list -u -f
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-1
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-<?xml version="1.0" encoding="UTF-8"?>
-<command><name>list</name><output/></command>
-<COMMAND_ERROR_OUTPUT>
-Error: Unable to list kernel events: Tracing the kernel requires a root lttng-sessiond daemon, as well as "tracing" group membership or root user ID for the lttng client.
-Error: Command Error
-</COMMAND_ERROR_OUTPUT>
-</COMMAND_OUTPUT>
-</SCENARIO>
-
-####################################################################
-# Scenario: Test "lttng list -u -f" with sample output (version 2.6.0)
-####################################################################
-<SCENARIO>
-GetUstProvider3
-<COMMAND_INPUT>
-lttng --mi xml list -u -f
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-<?xml version="1.0" encoding="UTF-8"?>
-<command>
- <name>list</name>
- <output>
- <domains>
- <domain>
- <type>UST</type>
- <buffer_type>PER_PID</buffer_type>
- <pids>
- <pid>
- <id>9379</id>
- <name>/home/user/git/lttng-ust/tests/hello.cxx/.libs/lt-hello</name>
- <events>
- <event>
- <name>ust_tests_hello:tptest_sighandler</name>
- <type>TRACEPOINT</type>
- <enabled>true</enabled>
- <filter>false</filter>
- <loglevel>TRACE_DEBUG_MODULE</loglevel>
- <loglevel_type>ALL</loglevel_type>
- <exclusion>false</exclusion>
- <event_fields/>
- </event>
- <event>
- <name>ust_tests_hello:tptest</name>
- <type>TRACEPOINT</type>
- <enabled>true</enabled>
- <filter>false</filter>
- <loglevel>TRACE_INFO</loglevel>
- <loglevel_type>ALL</loglevel_type>
- <exclusion>false</exclusion>
- <event_fields>
- <event_field>
- <name>doublefield</name>
- <type>FLOAT</type>
- <nowrite>0</nowrite>
- </event_field>
- <event_field>
- <name>floatfield</name>
- <type>FLOAT</type>
- <nowrite>0</nowrite>
- </event_field>
- <event_field>
- <name>stringfield</name>
- <type>STRING</type>
- <nowrite>0</nowrite>
- </event_field>
- </event_fields>
- </event>
- </events>
- </pid>
- <pid>
- <id>4852</id>
- <name>/home/user/git/lttng-ust/tests/hello.cxx/.libs/lt-hello</name>
- <events>
- <event>
- <name>ust_tests_hello:tptest_sighandler</name>
- <type>TRACEPOINT</type>
- <enabled>true</enabled>
- <filter>false</filter>
- <loglevel>TRACE_WARNING</loglevel>
- <loglevel_type>ALL</loglevel_type>
- <exclusion>false</exclusion>
- <event_fields/>
- </event>
- <event>
- <name>ust_tests_hello:tptest</name>
- <type>TRACEPOINT</type>
- <enabled>true</enabled>
- <filter>false</filter>
- <loglevel>TRACE_DEBUG_FUNCTION</loglevel>
- <loglevel_type>ALL</loglevel_type>
- <exclusion>false</exclusion>
- <event_fields>
- <event_field>
- <name>doublefield</name>
- <type>FLOAT</type>
- <nowrite>0</nowrite>
- </event_field>
- <event_field>
- <name>floatfield</name>
- <type>FLOAT</type>
- <nowrite>0</nowrite>
- </event_field>
- <event_field>
- <name>stringfield</name>
- <type>STRING</type>
- <nowrite>0</nowrite>
- </event_field>
- </event_fields>
- </event>
- </events>
- </pid>
- </pids>
- </domain>
- </domains>
- </output>
-</command>
-</COMMAND_OUTPUT>
-</SCENARIO>
-####################################################################
-# Scenario: Test "lttng create <session>
-####################################################################
-<SCENARIO>
-CreateSession1
-<COMMAND_INPUT>
-lttng --mi xml create mysession2
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-<?xml version="1.0" encoding="UTF-8"?>
-<command>
- <name>create</name>
- <output>
- <session>
- <name>mysession2</name>
- <path>/home/user/lttng-traces/mysession2-20120209-095418</path>
- <enabled>false</enabled>
- <snapshot_mode>0</snapshot_mode>
- <live_timer_interval>0</live_timer_interval>
- </session>
- </output>
- <success>true</success>
-</command>
-</COMMAND_OUTPUT>
-</SCENARIO>
-
-####################################################################
-# Scenario: Test "lttng create <session>
-####################################################################
-<SCENARIO>
-CreateSessionWithPrompt
-<COMMAND_INPUT>
-lttng --mi xml create mysession2
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-Prompt> Session mysession2 created.
-Traces will be written in /home/user/lttng-traces/mysession2-20120209-095418
-</COMMAND_OUTPUT>
-</SCENARIO>
-
-####################################################################
-# Scenario: Test "lttng create <session> with different variants
-# and errors
-####################################################################
-<SCENARIO>
-CreateSessionVariants
-<COMMAND_INPUT>
-lttng --mi xml create alreadyExist
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-1
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-<?xml version="1.0" encoding="UTF-8"?>
-<command>
- <name>create</name>
- <output/>
- <success>false</success>
-</command>
-<COMMAND_ERROR_OUTPUT>
-Warning: Session mysession2 already exists
-Error: Session name already exists
-</COMMAND_ERROR_OUTPUT>
-</COMMAND_OUTPUT>
-
-<COMMAND_INPUT>
-lttng --mi xml create session with spaces
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-<?xml version="1.0" encoding="UTF-8"?>
-<command>
- <name>create</name>
- <output>
- <session>
- <name>session with spaces</name>
- <path>/home/user/lttng-traces/session with spaces-20120209-095418</path>
- <enabled>false</enabled>
- <snapshot_mode>0</snapshot_mode>
- <live_timer_interval>0</live_timer_interval>
- </session>
- </output>
- <success>true</success>
-</command>
-</COMMAND_OUTPUT>
-
-<COMMAND_INPUT>
-lttng --mi xml create wrongName
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-<?xml version="1.0" encoding="UTF-8"?>
-<command>
- <name>create</name>
- <output>
- <session>
- <name>auto</name>
- <path>/home/user/lttng-traces/auto-20120209-095418</path>
- <enabled>false</enabled>
- <snapshot_mode>0</snapshot_mode>
- <live_timer_interval>0</live_timer_interval>
- </session>
- </output>
- <success>true</success>
-</command>
-</COMMAND_OUTPUT>
-
-<COMMAND_INPUT>
-lttng --mi xml create wrongPath -o /home/user/hallo
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-<?xml version="1.0" encoding="UTF-8"?>
-<command>
- <name>create</name>
- <output>
- <session>
- <name>wrongPath</name>
- <path>/home/user/lttng-traces/wrongPath-20120209-095418</path>
- <enabled>false</enabled>
- <snapshot_mode>0</snapshot_mode>
- <live_timer_interval>0</live_timer_interval>
- </session>
- </output>
- <success>true</success>
-</command>
-</COMMAND_OUTPUT>
-
-<COMMAND_INPUT>
-lttng --mi xml create pathWithSpaces -o /home/user/hallo user/here
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-<?xml version="1.0" encoding="UTF-8"?>
-<command>
- <name>create</name>
- <output>
- <session>
- <name>pathWithSpaces</name>
- <path>/home/user/hallo user/here/pathWithSpaces-20120209-095418</path>
- <enabled>false</enabled>
- <snapshot_mode>0</snapshot_mode>
- <live_timer_interval>0</live_timer_interval>
- </session>
- </output>
- <success>true</success>
-</command>
-</COMMAND_OUTPUT>
-</SCENARIO>
-
-####################################################################
-# Scenario: Test "lttng destroy <session>
-####################################################################
-
-<SCENARIO>
-DestroySession1
-<COMMAND_INPUT>
-lttng --mi xml destroy mysession2
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-<?xml version="1.0" encoding="UTF-8"?>
-<command>
- <name>destroy</name>
- <output>
- <sessions>
- <session>
- <name>mysession2</name>
- <path>/home/user/lttng-traces/mysession2-20140812-160632</path>
- <enabled>false</enabled>
- <snapshot_mode>0</snapshot_mode>
- <live_timer_interval>0</live_timer_interval>
- </session>
- </sessions>
- </output>
- <success>true</success>
-</command>
-</COMMAND_OUTPUT>
-</SCENARIO>
-
-####################################################################
-# Scenario: Test "lttng enable-channel ..." with different inputs
-####################################################################
-
-<SCENARIO>
-ChannelHandling
-<COMMAND_INPUT>
-lttng --mi xml enable-channel mychannel0,mychannel1 -k -s mysession2 --overwrite --subbuf-size 16384 --num-subbuf 2 --switch-timer 200 --read-timer 100 -C 0 -W 10
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-Kernel channel mychannel0 enabled for session mysession2
-Kernel channel mychannel1 enabled for session mysession2
-</COMMAND_OUTPUT>
-
-<COMMAND_INPUT>
-lttng --mi xml enable-channel mychannel0,mychannel1 -k -s mysession2 --overwrite --subbuf-size 16384 --num-subbuf 2 --switch-timer 200 --read-timer 100
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-<?xml version="1.0" encoding="UTF-8"?>
-<command>
- <name>enable-channel</name>
- <output>
- <channels>
- <channel>
- <name>mychannel0</name>
- <enabled>false</enabled>
- <attributes>
- <overwrite_mode>OVERWRITE</overwrite_mode>
- <subbuffer_size>16384</subbuffer_size>
- <subbuffer_count>2</subbuffer_count>
- <switch_timer_interval>200</switch_timer_interval>
- <read_timer_interval>100</read_timer_interval>
- <output_type>SPLICE</output_type>
- <tracefile_size>0</tracefile_size>
- <tracefile_count>0</tracefile_count>
- <live_timer_interval>4294967295</live_timer_interval>
- </attributes>
- <success>true</success>
- </channel>
- <channel>
- <name>mychannel1</name>
- <enabled>false</enabled>
- <attributes>
- <overwrite_mode>OVERWRITE</overwrite_mode>
- <subbuffer_size>16384</subbuffer_size>
- <subbuffer_count>2</subbuffer_count>
- <switch_timer_interval>200</switch_timer_interval>
- <read_timer_interval>100</read_timer_interval>
- <output_type>SPLICE</output_type>
- <tracefile_size>0</tracefile_size>
- <tracefile_count>0</tracefile_count>
- <live_timer_interval>4294967295</live_timer_interval>
- </attributes>
- <success>true</success>
- </channel>
- </channels>
- </output>
- <success>true</success>
-</command>
-</COMMAND_OUTPUT>
-
-<COMMAND_INPUT>
-lttng --mi xml enable-channel ustChannel -u -s mysession2 --overwrite --subbuf-size 32768 --num-subbuf 1 --switch-timer 100 --read-timer 200 -C 0 -W 20
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-UST channel channel0 enabled for session mysession2
-</COMMAND_OUTPUT>
-
-<COMMAND_INPUT>
-lttng --mi xml enable-channel ustChannel -u -s mysession2 --overwrite --subbuf-size 32768 --num-subbuf 1 --switch-timer 100 --read-timer 200
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-<?xml version="1.0" encoding="UTF-8"?>
-<command>
- <name>enable-channel</name>
- <output>
- <channels>
- <channel>
- <name>ustChannel</name>
- <enabled>false</enabled>
- <attributes>
- <overwrite_mode>OVERWRITE</overwrite_mode>
- <subbuffer_size>32768</subbuffer_size>
- <subbuffer_count>2</subbuffer_count>
- <switch_timer_interval>100</switch_timer_interval>
- <read_timer_interval>200</read_timer_interval>
- <output_type>MMAP</output_type>
- <tracefile_size>0</tracefile_size>
- <tracefile_count>0</tracefile_count>
- <live_timer_interval>4294967295</live_timer_interval>
- </attributes>
- <success>true</success>
- </channel>
- </channels>
- </output>
- <success>true</success>
-</command>
-</COMMAND_OUTPUT>
-
-<COMMAND_INPUT>
-lttng --mi xml enable-channel ustChannel -u -s mysession2 --overwrite --subbuf-size 32768 --num-subbuf 1 --switch-timer 100 --read-timer 200 --buffers-uid -C 0 -W 20
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-UST channel channel0 enabled for session mysession2
-</COMMAND_OUTPUT>
-
-<COMMAND_INPUT>
-lttng --mi xml enable-channel ustChannel -u -s mysession2 --overwrite --buffers-pid
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-<?xml version="1.0" encoding="UTF-8"?>
-<command>
- <name>enable-channel</name>
- <output>
- <channels>
- <channel>
- <name>ustChannel</name>
- <enabled>false</enabled>
- <attributes>
- <overwrite_mode>OVERWRITE</overwrite_mode>
- <subbuffer_size>4096</subbuffer_size>
- <subbuffer_count>4</subbuffer_count>
- <switch_timer_interval>0</switch_timer_interval>
- <read_timer_interval>0</read_timer_interval>
- <output_type>MMAP</output_type>
- <tracefile_size>0</tracefile_size>
- <tracefile_count>0</tracefile_count>
- <live_timer_interval>4294967295</live_timer_interval>
- </attributes>
- <success>true</success>
- </channel>
- </channels>
- </output>
- <success>true</success>
-</command>
-</COMMAND_OUTPUT>
-
-<COMMAND_INPUT>
-lttng --mi xml enable-channel ustChannel -u -s mysession2 --overwrite --subbuf-size 32768 --num-subbuf 2 --switch-timer 100 --read-timer 200 --buffers-uid
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-<?xml version="1.0" encoding="UTF-8"?>
-<command>
- <name>enable-channel</name>
- <output>
- <channels>
- <channel>
- <name>ustChannel</name>
- <enabled>false</enabled>
- <attributes>
- <overwrite_mode>OVERWRITE</overwrite_mode>
- <subbuffer_size>32768</subbuffer_size>
- <subbuffer_count>2</subbuffer_count>
- <switch_timer_interval>100</switch_timer_interval>
- <read_timer_interval>200</read_timer_interval>
- <output_type>MMAP</output_type>
- <tracefile_size>0</tracefile_size>
- <tracefile_count>0</tracefile_count>
- <live_timer_interval>4294967295</live_timer_interval>
- </attributes>
- <success>true</success>
- </channel>
- </channels>
- </output>
- <success>true</success>
-</command>
-</COMMAND_OUTPUT>
-
-
-<COMMAND_INPUT>
-lttng --mi xml enable-channel mychannel0,mychannel1 -k -s mysession2
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-<?xml version="1.0" encoding="UTF-8"?>
-<command>
- <name>enable-channel</name>
- <output>
- <channels>
- <channel>
- <name>mychannel0</name>
- <enabled>false</enabled>
- <attributes>
- <overwrite_mode>DISCARD</overwrite_mode>
- <subbuffer_size>262144</subbuffer_size>
- <subbuffer_count>4</subbuffer_count>
- <switch_timer_interval>0</switch_timer_interval>
- <read_timer_interval>200000</read_timer_interval>
- <output_type>SPLICE</output_type>
- <tracefile_size>0</tracefile_size>
- <tracefile_count>0</tracefile_count>
- <live_timer_interval>4294967295</live_timer_interval>
- </attributes>
- <success>true</success>
- </channel>
- <channel>
- <name>mychannel1</name>
- <enabled>false</enabled>
- <attributes>
- <overwrite_mode>DISCARD</overwrite_mode>
- <subbuffer_size>262144</subbuffer_size>
- <subbuffer_count>4</subbuffer_count>
- <switch_timer_interval>0</switch_timer_interval>
- <read_timer_interval>200000</read_timer_interval>
- <output_type>SPLICE</output_type>
- <tracefile_size>0</tracefile_size>
- <tracefile_count>0</tracefile_count>
- <live_timer_interval>4294967295</live_timer_interval>
- </attributes>
- <success>true</success>
- </channel>
- </channels>
- </output>
- <success>true</success>
-</command>
-</COMMAND_OUTPUT>
-
-<COMMAND_INPUT>
-lttng --mi xml enable-channel ustChannel -u -s mysession2
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-<?xml version="1.0" encoding="UTF-8"?>
-<command>
- <name>enable-channel</name>
- <output>
- <channels>
- <channel>
- <name>ustChannel</name>
- <enabled>false</enabled>
- <attributes>
- <overwrite_mode>DISCARD</overwrite_mode>
- <subbuffer_size>131072</subbuffer_size>
- <subbuffer_count>4</subbuffer_count>
- <switch_timer_interval>0</switch_timer_interval>
- <read_timer_interval>0</read_timer_interval>
- <output_type>MMAP</output_type>
- <tracefile_size>0</tracefile_size>
- <tracefile_count>0</tracefile_count>
- <live_timer_interval>4294967295</live_timer_interval>
- </attributes>
- <success>true</success>
- </channel>
- </channels>
- </output>
- <success>true</success>
-</command>
-</COMMAND_OUTPUT>
-
-<COMMAND_INPUT>
-lttng --mi xml disable-channel mychannel0,mychannel1 -k -s mysession2
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-<?xml version="1.0" encoding="UTF-8"?>
-<command>
- <name>disable-channel</name>
- <output>
- <channels>
- <channel>
- <name>mychannel0</name>
- <enabled>false</enabled>
- <success>true</success>
- </channel>
- <channel>
- <name>mychannel1</name>
- <enabled>false</enabled>
- <success>true</success>
- </channel>
- </channels>
- </output>
- <success>true</success>
-</command>
-</COMMAND_OUTPUT>
-
-<COMMAND_INPUT>
-lttng --mi xml disable-channel ustChannel -u -s mysession2
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-<?xml version="1.0" encoding="UTF-8"?>
-<command>
- <name>disable-channel</name>
- <output>
- <channels>
- <channel>
- <name>ustChannel</name>
- <enabled>false</enabled>
- <success>true</success>
- </channel>
- </channels>
- </output>
- <success>true</success>
-</command>
-</COMMAND_OUTPUT>
-</SCENARIO>
-
-
-####################################################################
-# Scenario: Test "lttng --mi xml enable-events ..." with different inputs
-####################################################################
-<SCENARIO>
-EventHandling
-
-# Tracepoint test cases
-
-<COMMAND_INPUT>
-lttng --mi xml enable-event block_rq_remap,block_bio_remap,softirq_entry -k -s mysession2 --tracepoint
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-<?xml version="1.0" encoding="UTF-8"?>
-<command>
- <name>enable-event</name>
- <output>
- <events>
- <event>
- <name>block_rq_remap</name>
- <type>TRACEPOINT</type>
- <enabled>true</enabled>
- <filter>false</filter>
- <loglevel>TRACE_EMERG</loglevel>
- <loglevel_type>ALL</loglevel_type>
- <exclusion>false</exclusion>
- <success>true</success>
- </event>
- <event>
- <name>block_bio_remap</name>
- <type>TRACEPOINT</type>
- <enabled>true</enabled>
- <filter>false</filter>
- <loglevel>TRACE_EMERG</loglevel>
- <loglevel_type>ALL</loglevel_type>
- <exclusion>false</exclusion>
- <success>true</success>
- </event>
- <event>
- <name>softirq_entry</name>
- <type>TRACEPOINT</type>
- <enabled>true</enabled>
- <filter>false</filter>
- <loglevel>TRACE_EMERG</loglevel>
- <loglevel_type>ALL</loglevel_type>
- <exclusion>false</exclusion>
- <success>true</success>
- </event>
- </events>
- </output>
- <success>true</success>
-</command>
-</COMMAND_OUTPUT>
-
-<COMMAND_INPUT>
-lttng --mi xml enable-event -a -k -s mysession2 -c mychannel --tracepoint
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-<?xml version="1.0" encoding="UTF-8"?>
-<command>
- <name>enable-event</name>
- <output>
- <events>
- <event>
- <name>*</name>
- <type>TRACEPOINT</type>
- <enabled>true</enabled>
- <filter>false</filter>
- <loglevel>TRACE_EMERG</loglevel>
- <loglevel_type>ALL</loglevel_type>
- <exclusion>false</exclusion>
- <success>true</success>
- </event>
- </events>
- </output>
- <success>true</success>
-</command>
-</COMMAND_OUTPUT>
-
-<COMMAND_INPUT>
-lttng --mi xml enable-event ust_tests_hello:tptest_sighandler -u -s mysession2 -c mychannel --tracepoint
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-<?xml version="1.0" encoding="UTF-8"?>
-<command>
- <name>enable-event</name>
- <output>
- <events>
- <event>
- <name>ust_tests_hello:tptest_sighandler</name>
- <type>TRACEPOINT</type>
- <enabled>true</enabled>
- <filter>false</filter>
- <exclusion>false</exclusion>
- <success>true</success>
- </event>
- </events>
- </output>
- <success>true</success>
-</command>
-</COMMAND_OUTPUT>
-
-<COMMAND_INPUT>
-lttng --mi xml enable-event ust_tests_hello:tptest_sighandler -u -s mysession2 -c mychannel --tracepoint --filter intfield==10
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-<?xml version="1.0" encoding="UTF-8"?>
-<command>
- <name>enable-event</name>
- <output>
- <events>
- <event>
- <name>ust_tests_hello:tptest_sighandler</name>
- <type>TRACEPOINT</type>
- <enabled>true</enabled>
- <filter>true</filter>
- <exclusion>false</exclusion>
- <success>true</success>
- </event>
- </events>
- </output>
- <success>true</success>
-</command>
-</COMMAND_OUTPUT>
-
-<COMMAND_INPUT>
-lttng --mi xml enable-event -a -u -s mysession2 -c mychannel --tracepoint
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-<?xml version="1.0" encoding="UTF-8"?>
-<command>
- <name>enable-event</name>
- <output>
- <events>
- <event>
- <name>*</name>
- <type>TRACEPOINT</type>
- <enabled>true</enabled>
- <filter>false</filter>
- <exclusion>false</exclusion>
- <success>true</success>
- </event>
- </events>
- </output>
- <success>true</success>
-</command>
-</COMMAND_OUTPUT>
-
-# Syscall test cases
-
-<COMMAND_INPUT>
-lttng --mi xml enable-event -a -k -s mysession2 --syscall
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-<?xml version="1.0" encoding="UTF-8"?>
-<command>
- <name>enable-event</name>
- <output>
- <events>
- <event>
- <name>*</name>
- <type>SYSCALL</type>
- <enabled>true</enabled>
- <filter>false</filter>
- <success>true</success>
- </event>
- </events>
- </output>
- <success>true</success>
-</command>
-</COMMAND_OUTPUT>
-
-<COMMAND_INPUT>
-lttng --mi xml enable-event -a -k -s mysession2 -c mychannel --syscall
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-<?xml version="1.0" encoding="UTF-8"?>
-<command>
- <name>enable-event</name>
- <output>
- <events>
- <event>
- <name>*</name>
- <type>SYSCALL</type>
- <enabled>true</enabled>
- <filter>false</filter>
- <success>true</success>
- </event>
- </events>
- </output>
- <success>true</success>
-</command>
-</COMMAND_OUTPUT>
-
-# dynamic probe/function probe test cases
-
-<COMMAND_INPUT>
-lttng --mi xml enable-event myevent0 -k -s mysession2 --function 0xc0101340
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-<?xml version="1.0" encoding="UTF-8"?>
-<command>
- <name>enable-event</name>
- <output>
- <events>
- <event>
- <name>myevent0</name>
- <type>FUNCTION</type>
- <enabled>false</enabled>
- <filter>false</filter>
- <success>true</success>
- </event>
- </events>
- </output>
- <success>true</success>
-</command>
-</COMMAND_OUTPUT>
-
-<COMMAND_INPUT>
-lttng --mi xml enable-event myevent1 -k -s mysession2 -c mychannel --probe init_post
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-<?xml version="1.0" encoding="UTF-8"?>
-<command>
- <name>enable-event</name>
- <output>
- <events>
- <event>
- <name>myevent1</name>
- <type>PROBE</type>
- <enabled>false</enabled>
- <filter>false</filter>
- <offset>0</offset>
- <symbol_name>init_post</symbol_name>
- <success>true</success>
- </event>
- </events>
- </output>
- <success>true</success>
-</command>
-
-</COMMAND_OUTPUT>
-
-# log level test cases
-
-<COMMAND_INPUT>
-lttng --mi xml enable-event myevent4 -u -s mysession2 --loglevel-only TRACE_DEBUG
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-<?xml version="1.0" encoding="UTF-8"?>
-<command>
- <name>enable-event</name>
- <output>
- <events>
- <event>
- <name>myevent4</name>
- <type>TRACEPOINT</type>
- <enabled>true</enabled>
- <filter>false</filter>
- <loglevel>TRACE_DEBUG</loglevel>
- <loglevel_type>SINGLE</loglevel_type>
- <exclusion>false</exclusion>
- <success>true</success>
- </event>
- </events>
- </output>
- <success>true</success>
-</command>
-</COMMAND_OUTPUT>
-
-<COMMAND_INPUT>
-lttng --mi xml enable-event myevent5 -u -s mysession2 -c mychannel --loglevel TRACE_DEBUG_FUNCTION
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-<?xml version="1.0" encoding="UTF-8"?>
-<command>
- <name>enable-event</name>
- <output>
- <events>
- <event>
- <name>myevent5</name>
- <type>TRACEPOINT</type>
- <enabled>true</enabled>
- <filter>false</filter>
- <loglevel>TRACE_DEBUG_FUNCTION</loglevel>
- <loglevel_type>RANGE</loglevel_type>
- <exclusion>false</exclusion>
- <success>true</success>
- </event>
- </events>
- </output>
- <success>true</success>
-</command>
-</COMMAND_OUTPUT>
-
-</SCENARIO>
-
-####################################################################
-# Scenario: Test "lttng add-context -h" and lttng --mi xml add-context ..." with different inputs
-####################################################################
-
-<SCENARIO>
-ContextHandling
-
-<COMMAND_INPUT>
-lttng --mi xml add-context -h
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-usage: lttng add-context -t TYPE [-k|-u] [OPTIONS]
-
-If no channel is given (-c), the context is added to
-all channels.
-
-Otherwise the context is added only to the channel (-c).
-
-Exactly one domain (-k or -u) must be specified.
-
-Options:
- -h, --help Show this help
- --list-options Simple listing of options
- -s, --session NAME Apply to session name
- -c, --channel NAME Apply to channel
- -k, --kernel Apply to the kernel tracer
- -u, --userspace Apply to the user-space tracer
-
-Context:
- -t, --type TYPE Context type. You can repeat that option on
- the command line to specify multiple contexts at once.
- (--kernel preempts --userspace)
- TYPE can be one of the strings below:
- pid, procname, prio, nice, vpid, tid, pthread_id,
- vtid, ppid, vppid, perf:cpu:cpu-cycles, perf:cpu:cycles
-Note that the vpid, vppid and vtid context types represent the virtual process id,
-virtual parent process id and virtual thread id as seen from the current execution context
-as opposed to the pid, ppid and tid which are kernel internal data structures.
-
-Example:
-This command will add the context information 'prio' and two per-cpu
-perf counters (hardware branch misses and cache misses), to all channels
-in the trace data output:
-# lttng add-context -k -t prio -t perf:cpu:branch-misses -t perf:cpu:cache-misses
-</COMMAND_OUTPUT>
-
-<COMMAND_INPUT>
-lttng --mi xml add-context -s mysession2 -c mychannel -e ust_tests_hello:tptest_sighandler -u -t prio -t pid
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-UST context prio added to event ust_tests_hello:tptest_sighandle channel mychannel
-UST context pid added to event sched_kthread_stop_ret channel mychannel
-</COMMAND_OUTPUT>
-</SCENARIO>
-
-<SCENARIO>
-ContextErrorHandling
-
-<COMMAND_INPUT>
-lttng --mi xml add-context -h
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-1
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-usage: lttng add-context -t TYPE
-
-If no channel and no event is given (-c/-e), the context
-will be added to all events and all channels.
-Otherwise the context will be added only to the channel (-c)
-and/or event (-e) indicated.
-Exactly one domain (-k/--kernel or -u/--userspace) must be specified.
-
-Options:
- -h, --help Show this help
- --list-options Simple listing of options
- -s, --session NAME Apply to session name
- -c, --channel NAME Apply to channel
- -e, --event NAME Apply to event
- -k, --kernel Apply to the kernel tracer
- -u, --userspace Apply to the user-space tracer
- -t, --type TYPE Context type. You can repeat that option on
- the command line to specify multiple contexts at once.
- (--kernel preempts --userspace)
- TYPE can be one of the strings below:
- pid, procname, prio, nice, vpid, tid, pthread_id,
- vtid, ppid, vppid, perf:cpu-cycles, perf:cycles
-Example:
-This command will add the context information 'prio' and two perf
-counters (hardware branch misses and cache misses), to all events
-in the trace data output:
-# lttng add-context -k -t prio -t perf:branch-misses -t perf:cache-misses
-
-</COMMAND_OUTPUT>
-
-<COMMAND_INPUT>
-lttng --mi xml add-context -s mysession2 -c mychannel -e ust_tests_hello:tptest_sighandler -u -t prio -t pid
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-1
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-UST context prio added to event ust_tests_hello:tptest_sighandle channel mychannel
-UST context pid added to event sched_kthread_stop_ret channel mychannel
-</COMMAND_OUTPUT>
-
-</SCENARIO>
-
-<SCENARIO>
-CalibrateHandling
-<COMMAND_INPUT>
-lttng --mi xml calibrate -k --function
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-<?xml version="1.0" encoding="UTF-8"?>
-<command>
- <name>calibrate</name>
- <output>
- <calibrate>
- <type>FUNCTION</type>
- </calibrate>
- </output>
- <success>true</success>
-</command>
-</COMMAND_OUTPUT>
-
-<COMMAND_INPUT>
-lttng --mi xml calibrate -u --function
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-1
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-<?xml version="1.0" encoding="UTF-8"?>
-<command>
- <name>calibrate</name>
- <output>
- <calibrate>
- <type>FUNCTION</type>
- </calibrate>
- </output>
- <success>true</success>
-</command>
-</COMMAND_OUTPUT>
-
-</SCENARIO>
-
-####################################################################
-# Scenario: Test "lttng create <session> with LTTng 2.1 options
-####################################################################
-<SCENARIO>
-CreateSessionLttng2.1
-
-<COMMAND_INPUT>
-lttng --mi xml create mysession -U net://172.0.0.1
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-<?xml version="1.0" encoding="UTF-8"?>
-<command>
- <name>create</name>
- <output>
- <session>
- <name>mysession</name>
- <path>tcp4://172.0.0.1:5342/mysession-20140813-095804 [data: 5343]</path>
- <enabled>false</enabled>
- <snapshot_mode>0</snapshot_mode>
- <live_timer_interval>0</live_timer_interval>
- </session>
- </output>
- <success>true</success>
-</command>
-</COMMAND_OUTPUT>
-
-<COMMAND_INPUT>
-lttng --mi xml create mysession -U file:///tmp
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-<?xml version="1.0" encoding="UTF-8"?>
-<command>
- <name>create</name>
- <output>
- <session>
- <name>mysession</name>
- <path>/tmp</path>
- <enabled>false</enabled>
- <snapshot_mode>0</snapshot_mode>
- <live_timer_interval>0</live_timer_interval>
- </session>
- </output>
- <success>true</success>
-</command>
-</COMMAND_OUTPUT>
-
-<COMMAND_INPUT>
-lttng --mi xml create mysession -C tcp://172.0.0.1 -D tcp://172.0.0.1:5343
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-<?xml version="1.0" encoding="UTF-8"?>
-<command>
- <name>create</name>
- <output>
- <session>
- <name>mysession</name>
- <path>tcp4://172.0.0.1:5342/ [data: 5343]</path>
- <enabled>false</enabled>
- <snapshot_mode>0</snapshot_mode>
- <live_timer_interval>0</live_timer_interval>
- </session>
- </output>
- <success>true</success>
-</command>
-</COMMAND_OUTPUT>
-
-<COMMAND_INPUT>
-lttng --mi xml create mysession -U 172.0.0.1:1234:2345
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-<?xml version="1.0" encoding="UTF-8"?>
-<command>
- <name>create</name>
- <output>
- <session>
- <name>mysession</name>
- <path>tcp4://172.0.0.1:1234/mysession-20140813-102225 [data: 2345]</path>
- <enabled>false</enabled>
- <snapshot_mode>0</snapshot_mode>
- <live_timer_interval>0</live_timer_interval>
- </session>
- </output>
- <success>true</success>
-</command>
-</COMMAND_OUTPUT>
-
-<COMMAND_INPUT>
-lttng --mi xml destroy mysession
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-<?xml version="1.0" encoding="UTF-8"?>
-<command>
- <name>destroy</name>
- <output>
- <sessions>
- <session>
- <name>mysession</name>
- <path>/home/user/lttng-traces/mysession-20140818-100114</path>
- <enabled>false</enabled>
- <snapshot_mode>0</snapshot_mode>
- <live_timer_interval>0</live_timer_interval>
- </session>
- </sessions>
- </output>
- <success>true</success>
-</command>
-</COMMAND_OUTPUT>
-
-<COMMAND_INPUT>
-lttng --mi xml -vvv create mysession -U net://172.0.0.1
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-DEBUG3: URI string: net://172.0.0.1 [in uri_parse() at uri.c:253]
-DEBUG2: IP address resolved to 172.0.0.1 [in set_ip_address() at uri.c:132]
-DEBUG3: URI dtype: 1, proto: 1, host: 172.0.0.1, subdir: , ctrl: 0, data: 0 [in uri_parse() at uri.c:467]
-DEBUG1: LSM cmd type : 8 [in send_session_msg() at lttng-ctl.c:261]
-Session mysession created.
-Traces will be written in net://172.0.0.1
-DEBUG1: Init config session in /home/bernd [in config_init() at conf.c:294]
-</COMMAND_OUTPUT>
-
-</SCENARIO>
-
-####################################################################
-# Scenario: Test "lttng create <session> --snapshot (LTTng 2.3)
-####################################################################
-<SCENARIO>
-CreateSessionSnapshot
-<COMMAND_INPUT>
-lttng --mi xml create mysession --snapshot
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-<?xml version="1.0" encoding="UTF-8"?>
-<command>
- <name>create</name>
- <output>
- <session>
- <name>mysession</name>
- <path/>
- <enabled>false</enabled>
- <snapshot_mode>1</snapshot_mode>
- <live_timer_interval>4294967295</live_timer_interval>
- </session>
- </output>
- <success>true</success>
-</command>
-</COMMAND_OUTPUT>
-#------------------------------------------------------------------------------
-<COMMAND_INPUT>
-lttng --mi xml snapshot list-output -s mysession
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-<?xml version="1.0" encoding="UTF-8"?>
-<command>
- <name>snapshot</name>
- <output>
- <snapshot_action>
- <name>list-output</name>
- <output>
- <session>
- <name>mysession</name>
- <snapshots>
- <snapshot>
- <id>1</id>
- <name>snapshot-1</name>
- <ctrl_url>/home/user/lttng-traces/mysession-20130913-141651</ctrl_url>
- <data_url/>
- <max_size>0</max_size>
- </snapshot>
- </snapshots>
- </session>
- </output>
- </snapshot_action>
- </output>
- <success>true</success>
-</command>
-</COMMAND_OUTPUT>
-#------------------------------------------------------------------------------
-<COMMAND_INPUT>
-lttng --mi xml list
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-<?xml version="1.0" encoding="UTF-8"?>
-<command>
- <name>list</name>
- <output>
- <sessions>
- <session>
- <name>mysession</name>
- <path/>
- <enabled>false</enabled>
- <snapshot_mode>1</snapshot_mode>
- <live_timer_interval>4294967295</live_timer_interval>
- </session>
- </sessions>
- </output>
-</command>
-</COMMAND_OUTPUT>
-#------------------------------------------------------------------------------
-<COMMAND_INPUT>
-lttng --mi xml snapshot record -s mysession
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
- Snapshot recorded successfully for session mysession
-</COMMAND_OUTPUT>
-#------------------------------------------------------------------------------
-<COMMAND_INPUT>
-lttng --mi xml destroy mysession
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-<?xml version="1.0" encoding="UTF-8"?>
-<command>
- <name>destroy</name>
- <output>
- <sessions>
- <session>
- <name>mysession</name>
- <path>/home/user/lttng-traces/mysession-20140818-100114</path>
- <enabled>false</enabled>
- <snapshot_mode>0</snapshot_mode>
- <live_timer_interval>0</live_timer_interval>
- </session>
- </sessions>
- </output>
- <success>true</success>
-</command>
-</COMMAND_OUTPUT>
-</SCENARIO>
-
-####################################################################
-# Scenario: Test "lttng create <session> --snapshot -U <URL> (LTTng 2.3)
-####################################################################
-<SCENARIO>
-CreateSessionStreamedSnapshot
-<COMMAND_INPUT>
-lttng --mi xml create mysession --snapshot -U net://172.0.0.1
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-Session mysession created.
-Default snapshot output set to: net://172.0.0.1
-Snapshot mode set. Every channel enabled for that session will be set in overwrite mode and mmap output.
-</COMMAND_OUTPUT>
-#------------------------------------------------------------------------------
-<COMMAND_INPUT>
-lttng --mi xml snapshot list-output -s mysession
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-Snapshot output list for session mysession
- [2] snapshot-2: net4://172.0.0.1:5342/
-</COMMAND_OUTPUT>
-#------------------------------------------------------------------------------
-<COMMAND_INPUT>
-lttng --mi xml list
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
- 1) mysession () [inactive snapshot]
-
-</COMMAND_OUTPUT>
-#------------------------------------------------------------------------------
-<COMMAND_INPUT>
-lttng --mi xml snapshot record -s mysession
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
- Snapshot recorded successfully for session mysession
-</COMMAND_OUTPUT>
-#------------------------------------------------------------------------------
-<COMMAND_INPUT>
-lttng --mi xml destroy mysession
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-<?xml version="1.0" encoding="UTF-8"?>
-<command>
- <name>destroy</name>
- <output>
- <sessions>
- <session>
- <name>mysession</name>
- <path>/home/user/lttng-traces/mysession-20140818-100114</path>
- <enabled>false</enabled>
- <snapshot_mode>0</snapshot_mode>
- <live_timer_interval>0</live_timer_interval>
- </session>
- </sessions>
- </output>
- <success>true</success>
-</command>
-</COMMAND_OUTPUT>
-</SCENARIO>
-
-####################################################################
-# Scenario: Test "lttng create <session> --snapshot (LTTng 2.3)
-####################################################################
-<SCENARIO>
-CreateSessionSnapshotErrors
-<COMMAND_INPUT>
-lttng --mi xml snapshot list-output -s blabla
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-1
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-<COMMAND_ERROR_OUTPUT>
-<?xml version="1.0" encoding="UTF-8"?>
-<command>
- <name>snapshot</name>
- <output>
- <snapshot_action>
- <name>list-output</name>
- <output/>
- </snapshot_action>
- </output>
- <success>false</success>
-</command>
-</COMMAND_ERROR_OUTPUT>
-</COMMAND_OUTPUT>
-#------------------------------------------------------------------------------
-#next is not an error case but good to be tested
-<COMMAND_INPUT>
-lttng --mi xml list
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-<?xml version="1.0" encoding="UTF-8"?>
-<command>
- <name>list</name>
- <output>
- <sessions>
- <session>
- <name>mysession</name>
- <path/>
- <enabled>true</enabled>
- <snapshot_mode>1</snapshot_mode>
- <live_timer_interval>4294967295</live_timer_interval>
- </session>
- </sessions>
- </output>
-</command>
-</COMMAND_OUTPUT>
-#------------------------------------------------------------------------------
-<COMMAND_INPUT>
-lttng --mi xml snapshot record -s blabla
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-1
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-<COMMAND_ERROR_OUTPUT>
- Error: Session name not found
-</COMMAND_ERROR_OUTPUT>
-<?xml version="1.0" encoding="UTF-8"?>
-<command>
- <name>snapshot</name>
- <output>
- <snapshot_action>
- <name>record</name>
- <output/>
- </snapshot_action>
- </output>
- <success>false</success>
-</command>
-</COMMAND_OUTPUT>
-#------------------------------------------------------------------------------
-<COMMAND_INPUT>
-lttng --mi xml snapshot record -s mysession
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-1
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-<COMMAND_ERROR_OUTPUT>
- Error: Session needs to be started once
-</COMMAND_ERROR_OUTPUT>
-<?xml version="1.0" encoding="UTF-8"?>
-<command>
- <name>snapshot</name>
- <output>
- <snapshot_action>
- <name>record</name>
- <output/>
- </snapshot_action>
- </output>
- <success>false</success>
-</command>
-</COMMAND_OUTPUT>
-
-</SCENARIO>
-
-####################################################################
-# Scenario: Test "lttng create <session> --live [USEC] (LTTng 2.4)
-####################################################################
-<SCENARIO>
-CreateSessionLive
-<COMMAND_INPUT>
-lttng --mi xml create mysession --live -U net://127.0.0.1
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-<?xml version="1.0" encoding="UTF-8"?>
-<command>
- <name>create</name>
- <output>
- <session>
- <name>mysession</name>
- <path>tcp4://127.0.0.1:5342/ [data: 5343]</path>
- <enabled>false</enabled>
- <snapshot_mode>0</snapshot_mode>
- <live_timer_interval>1000000</live_timer_interval>
- </session>
- </output>
- <success>true</success>
-</command>
-</COMMAND_OUTPUT>
-#------------------------------------------------------------------------------
-<COMMAND_INPUT>
-lttng --mi xml list
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-<?xml version="1.0" encoding="UTF-8"?>
-<command>
- <name>list</name>
- <output>
- <sessions>
- <session>
- <name>mysession</name>
- <path>tcp4://127.0.0.1:5342/ [data: 5343]</path>
- <enabled>false</enabled>
- <snapshot_mode>0</snapshot_mode>
- <live_timer_interval>1000000</live_timer_interval>
- </session>
- </sessions>
- </output>
-</command>
-</COMMAND_OUTPUT>
-#------------------------------------------------------------------------------
-<COMMAND_INPUT>
-lttng --mi xml destroy mysession
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-<?xml version="1.0" encoding="UTF-8"?>
-<command>
- <name>destroy</name>
- <output>
- <sessions>
- <session>
- <name>mysession</name>
- <path>/home/user/lttng-traces/mysession-20140818-100114</path>
- <enabled>false</enabled>
- <snapshot_mode>0</snapshot_mode>
- <live_timer_interval>0</live_timer_interval>
- </session>
- </sessions>
- </output>
- <success>true</success>
-</command>
-</COMMAND_OUTPUT>
-</SCENARIO>
-
-####################################################################
-# Scenario: Test errors for "lttng create <session> --live [USEC] (LTTng 2.4)
-####################################################################
-<SCENARIO>
-CreateSessionLiveErrors
-<COMMAND_INPUT>
-lttng --mi xml create mysession --live --snapshot
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-1
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-<COMMAND_ERROR_OUTPUT>
-Error: Snapshot and live modes are mutually exclusive.
-Error: Command error
-</COMMAND_ERROR_OUTPUT>
-</COMMAND_OUTPUT>
-#------------------------------------------------------------------------------
-<COMMAND_INPUT>
-lttng --mi xml create mysession --live -U blah
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-1
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-<COMMAND_ERROR_OUTPUT>
-Error: URI parse unknown protocol blah
-Error: Unable to parse the URL blah
-Error: Invalid parameter
-</COMMAND_ERROR_OUTPUT>
-</COMMAND_OUTPUT>
-#------------------------------------------------------------------------------
-<COMMAND_INPUT>
-lttng --mi xml create mysession --live -C net://127.0.0.1
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-1
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-<COMMAND_ERROR_OUTPUT>
-Error: You need both control and data URL.
-Error: Command error
-</COMMAND_ERROR_OUTPUT>
-</COMMAND_OUTPUT>
-</SCENARIO>
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.ui.tests/testfiles/LTTngServiceTest.cfg b/lttng/org.eclipse.linuxtools.lttng2.control.ui.tests/testfiles/LTTngServiceTest.cfg
deleted file mode 100644
index 0d00d05cee..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.ui.tests/testfiles/LTTngServiceTest.cfg
+++ /dev/null
@@ -1,1503 +0,0 @@
-####################################################################
-# Copyright (c) 2012 Ericsson
-#
-# All rights reserved. This program and the accompanying materials are
-# made available under the terms of the Eclipse Public License v1.0 which
-# accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-# Bernd Hufmann - Initial API and implementation
-####################################################################
-####################################################################
-# Scenario: Test lttng not installed
-####################################################################
-<SCENARIO>
-LttngNotInstalled
-<COMMAND_INPUT>
-lttng list
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-1
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-<COMMAND_ERROR_OUTPUT>
-Command not found
-</COMMAND_ERROR_OUTPUT>
-</COMMAND_OUTPUT>
-</SCENARIO>
-
-####################################################################
-# Scenario: Test lttng version
-####################################################################
-<SCENARIO>
-LttngVersion
-<COMMAND_INPUT>
-lttng version
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-lttng version 2.1.0 - Basse Messe
-Web site: http://lttng.org/
-
-lttng is free software and under the GPL license and part LGPL
-</COMMAND_OUTPUT>
-</SCENARIO>
-
-####################################################################
-# Scenario: Test lttng version
-# output with prompt
-####################################################################
-<SCENARIO>
-LttngVersionWithPrompt
-<COMMAND_INPUT>
-lttng version
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-Prompt> lttng version 2.0.0 - Annedd'ale
-Web site: http://lttng.org/
-
-lttng is free software and under the GPL license and part LGPL
-</COMMAND_OUTPUT>
-</SCENARIO>
-
-####################################################################
-# Scenario: Test lttng version (unsupported version)
-####################################################################
-<SCENARIO>
-LttngUnsupportedVersion
-<COMMAND_INPUT>
-lttng version
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-lttng version 200.0.0 - Annedd'ale
-Web site: http://lttng.org/
-
-lttng is free software and under the GPL license and part LGPL
-</COMMAND_OUTPUT>
-</SCENARIO>
-
-
-####################################################################
-# Scenario: Test lttng version (noversion)
-####################################################################
-<SCENARIO>
-LttngNoVersion
-<COMMAND_INPUT>
-lttng version
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-Web site: http://lttng.org/
-
-lttng is free software and under the GPL license and part LGPL
-</COMMAND_OUTPUT>
-</SCENARIO>
-
-####################################################################
-# Scenario: Test lttng version (compiled from source)
-####################################################################
-<SCENARIO>
-LttngVersionCompiled
-<COMMAND_INPUT>
-lttng version
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-lttng version heads/stable-2.5-0-g3910e60 - Fumisterie
-
-The Fumisterie is a beer whose style is at the confluence of English and German ales. On the palate, it is full-bodied, malty and slightly caramelized. The organic hemp seeds incorporated during the brewing gives it a unique and original taste. The hop flavour comes through delicately in the after taste.
-
-Web site: http://lttng.org
-
-lttng is free software and under the GPL license and part LGPL
-</COMMAND_OUTPUT>
-</SCENARIO>
-
-####################################################################
-# Scenario: Test no sessions available
-####################################################################
-<SCENARIO>
-NoSessionAvailable
-<COMMAND_INPUT>
-lttng list
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-Currently no available tracing session
-</COMMAND_OUTPUT>
-</SCENARIO>
-
-####################################################################
-# Scenario: Test get sessions
-####################################################################
-<SCENARIO>
-GetSessionNames1
-<COMMAND_INPUT>
-lttng list
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-Available tracing sessions:
- 1) mysession1 (/home/user/lttng-traces/mysession1-20120123-083928) [inactive]
- 2) mysession (/home/user/lttng-traces/mysession-20120123-083318) [inactive]
-
- Use lttng list <session_name> for more details
-</COMMAND_OUTPUT>
-</SCENARIO>
-
-####################################################################
-# Scenario: Test lttng list <name> where session doesn't exist
-####################################################################
-<SCENARIO>
-GetSessionNameNotExist
-<COMMAND_INPUT>
-lttng list test
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-1
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-Session test not found
-<COMMAND_ERROR_OUTPUT>
-Error: Session name not found
-</COMMAND_ERROR_OUTPUT>
-</COMMAND_OUTPUT>
-</SCENARIO>
-
-####################################################################
-# Scenario: Test lttng -vvv list <name> where session doesn't exist
-####################################################################
-<SCENARIO>
-GetSessionNameNotExistVerbose
-<COMMAND_INPUT>
-lttng -vvv list test
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-1
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-DEBUG2: Session name: test [in cmd_list() at commands/list.c:618]
-DEBUG1: Session count 1 [in list_sessions() at commands/list.c:485]
-<COMMAND_ERROR_OUTPUT>
-Error: Session 'test' not found
-Error: Command error
-</COMMAND_ERROR_OUTPUT>
-DEBUG1: Clean exit [in clean_exit() at lttng.c:165]
-</COMMAND_OUTPUT>
-</SCENARIO>
-
-####################################################################
-# Scenario: Test lttng list with garbage output
-####################################################################
-<SCENARIO>
-GetSessionGarbageOut
-<COMMAND_INPUT>
-lttng list
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-asdfaereafsdcv 12333456434&*89**(())(^%$*
-@#$%^&*()@#$%^&*()0834523094578kj;djkfs
-a;sdf094v5u dsafj;sd9
-</COMMAND_OUTPUT>
-</SCENARIO>
-
-####################################################################
-# Scenario: Test lttng list <name> with sample outputs
-####################################################################
-<SCENARIO>
-GetSession1
-<COMMAND_INPUT>
-lttng list mysession
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-Tracing session mysession: [active]
- Trace path: /home/user/lttng-traces/mysession-20120129-084256
-
-=== Domain: Kernel ===
-
-Channels:
--------------
-- channel0: [enabled]
-
- Attributes:
- overwrite mode: 0
- subbufers size: 262144
- number of subbufers: 4
- switch timer interval: 0
- read timer interval: 200
- output: splice()
-
- Events:
- block_rq_remap (loglevel: TRACE_EMERG (0)) (type: tracepoint) [enabled]
- block_bio_remap (loglevel: TRACE_EMERG (0)) (type: tracepoint) [disabled]
-
-- channel1: [disabled]
-
- Attributes:
- overwrite mode: 1
- subbufers size: 524288
- number of subbufers: 4
- switch timer interval: 100
- read timer interval: 400
- output: splice()
-
- Events:
- None
-
-=== Domain: UST global ===
-
-Channels:
--------------
-- mychannel1: [disabled]
-
- Attributes:
- overwrite mode: 1
- subbufers size: 8192
- number of subbufers: 8
- switch timer interval: 200
- read timer interval: 100
- output: mmap()
-
- Events:
- None
-
-- channel0: [enabled]
-
- Attributes:
- overwrite mode: 0
- subbufers size: 4096
- number of subbufers: 4
- switch timer interval: 0
- read timer interval: 200
- output: mmap()
-
- Events:
- ust_tests_hello:tptest_sighandler (loglevel: TRACE_DEBUG_LINE (13)) (type: tracepoint) [disabled]
- * (type: tracepoint) [enabled]
-
-</COMMAND_OUTPUT>
-<COMMAND_INPUT>
-lttng list mysession1
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-Tracing session mysession1: [inactive]
- Trace path: /home/user/lttng-traces/mysession1-20120203-133225
-
-</COMMAND_OUTPUT>
-</SCENARIO>
-
-
-####################################################################
-# Scenario: Test "lttng list -k" with sample output
-####################################################################
-<SCENARIO>
-GetKernelProvider1
-<COMMAND_INPUT>
-lttng list -k
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-Kernel events
--------------
- sched_kthread_stop (loglevel: TRACE_EMERG (0)) (type: tracepoint)
- sched_kthread_stop_ret (loglevel: TRACE_EMERG (0)) (type: tracepoint)
- sched_wakeup_new (loglevel: TRACE_EMERG (0)) (type: tracepoint)
-
-</COMMAND_OUTPUT>
-</SCENARIO>
-
-####################################################################
-# Scenario: Test "lttng list -k" with no kernel and no session daemon
-####################################################################
-<SCENARIO>
-ListWithNoKernel1
-<COMMAND_INPUT>
-lttng list -k
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-1
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-Spawning session daemon
-<COMMAND_ERROR_OUTPUT>
-Error: Unable to list kernel events
-</COMMAND_ERROR_OUTPUT>
-</COMMAND_OUTPUT>
-</SCENARIO>
-
-####################################################################
-# Scenario: Test "lttng list -k" with no kernel and with session daemon
-####################################################################
-<SCENARIO>
-ListWithNoKernel2
-<COMMAND_INPUT>
-lttng list -k
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-1
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-<COMMAND_ERROR_OUTPUT>
-Error: Unable to list kernel events
-</COMMAND_ERROR_OUTPUT>
-</COMMAND_OUTPUT>
-</SCENARIO>
-
-####################################################################
-# Scenario: Test "lttng list -k" with no kernel, with session daemon and verbose
-####################################################################
-<SCENARIO>
-ListWithNoKernelVerbose
-<COMMAND_INPUT>
-lttng -vvv list -k
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-1
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-DEBUG2: Session name: (null) [in cmd_list() at commands/list.c:618]
-DEBUG1: Getting kernel tracing events [in list_kernel_events() at commands/list.c:309]
-<COMMAND_ERROR_OUTPUT>
-Error: Unable to list kernel events
-</COMMAND_ERROR_OUTPUT>
-DEBUG1: Clean exit [in clean_exit() at lttng.c:165]
-</COMMAND_OUTPUT>
-</SCENARIO>
-
-####################################################################
-# Scenario: Test "lttng list -u" with sample output
-####################################################################
-<SCENARIO>
-GetUstProvider1
-<COMMAND_INPUT>
-lttng list -u
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-UST events:
--------------
-
-PID: 9379 - Name: /home/user/git/lttng-ust/tests/hello.cxx/.libs/lt-hello
- ust_tests_hello:tptest_sighandler (loglevel: TRACE_DEBUG_MODULE (10)) (type: tracepoint)
- ust_tests_hello:tptest (loglevel: TRACE_INFO (6)) (type: tracepoint)
-
-PID: 4852 - Name: /home/user/git/lttng-ust/tests/hello.cxx/.libs/lt-hello
- ust_tests_hello:tptest_sighandler (loglevel: TRACE_WARNING (4)) (type: tracepoint)
- ust_tests_hello:tptest (loglevel: TRACE_DEBUG_FUNCTION (12)) (type: tracepoint)
-
-</COMMAND_OUTPUT>
-</SCENARIO>
-
-####################################################################
-# Scenario: Test "lttng list -u" with no UST provider available
-####################################################################
-<SCENARIO>
-GetUstProvider2
-<COMMAND_INPUT>
-lttng list -u
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-UST events:
--------------
-None
-
-</COMMAND_OUTPUT>
-</SCENARIO>
-
-####################################################################
-# Scenario: Test "lttng list -u" with no UST available (LTTng 2.0.x)
-####################################################################
-<SCENARIO>
-ListWithNoUst1
-<COMMAND_INPUT>
-lttng list -u
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-1
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-UST events:
--------------
-None
-Segmentation Fault
-</COMMAND_OUTPUT>
-</SCENARIO>
-
-####################################################################
-# Scenario: Test "lttng list -u" with no UST available and no session daemon
-####################################################################
-<SCENARIO>
-ListWithNoUst2
-<COMMAND_INPUT>
-lttng list -u -f
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-1
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-Spawning a session daemon
-<COMMAND_ERROR_OUTPUT>
-Error: Unable to list UST events: Listing UST events failed
-Error: Command Error
-</COMMAND_ERROR_OUTPUT>
-</COMMAND_OUTPUT>
-</SCENARIO>
-
-####################################################################
-# Scenario: Test "lttng list -u" with no ust and with session daemon
-####################################################################
-<SCENARIO>
-ListWithNoUst3
-<COMMAND_INPUT>
-lttng list -u -f
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-1
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-<COMMAND_ERROR_OUTPUT>
-Error: Unable to list UST events: Listing UST events failed
-Error: Command Error
-</COMMAND_ERROR_OUTPUT>
-</COMMAND_OUTPUT>
-</SCENARIO>
-
-####################################################################
-# Scenario: Test "lttng list -u" with no kernel, with session daemon and verbose
-####################################################################
-<SCENARIO>
-ListWithNoUstVerbose
-<COMMAND_INPUT>
-lttng -vvv list -u -f
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-1
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-DEBUG2: Session name: (null) [in cmd_list() at commands/list.c:618]
-DEBUG1: Getting kernel tracing events [in list_kernel_events() at commands/list.c:309]
-Spawning a session daemon
-<COMMAND_ERROR_OUTPUT>
-Error: Unable to list UST events: Listing UST events failed
-Error: Command Error
-</COMMAND_ERROR_OUTPUT>
-DEBUG1: Clean exit [in clean_exit() at lttng.c:165]
-</COMMAND_OUTPUT>
-</SCENARIO>
-
-
-####################################################################
-# Scenario: Test "lttng list -u -f" with sample output (version 2.1.0)
-####################################################################
-<SCENARIO>
-GetUstProvider3
-<COMMAND_INPUT>
-lttng list -u -f
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-UST events:
--------------
-
-PID: 9379 - Name: /home/user/git/lttng-ust/tests/hello.cxx/.libs/lt-hello
- ust_tests_hello:tptest_sighandler (loglevel: TRACE_DEBUG_MODULE (10)) (type: tracepoint)
- ust_tests_hello:tptest (loglevel: TRACE_INFO (6)) (type: tracepoint)
- field: doublefield (float)
- field: floatfield (float)
- field: stringfield (string)
-
-PID: 4852 - Name: /home/user/git/lttng-ust/tests/hello.cxx/.libs/lt-hello
- ust_tests_hello:tptest_sighandler (loglevel: TRACE_WARNING (4)) (type: tracepoint)
- ust_tests_hello:tptest (loglevel: TRACE_DEBUG_FUNCTION (12)) (type: tracepoint)
- field: doublefield (float)
- field: floatfield (float)
- field: stringfield (string)
-
-</COMMAND_OUTPUT>
-</SCENARIO>
-
-
-####################################################################
-# Scenario: Test "lttng create <session>
-####################################################################
-<SCENARIO>
-CreateSession1
-<COMMAND_INPUT>
-lttng create mysession2
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-Session mysession2 created.
-Traces will be written in /home/user/lttng-traces/mysession2-20120209-095418
-</COMMAND_OUTPUT>
-</SCENARIO>
-
-####################################################################
-# Scenario: Test "lttng create <session>
-####################################################################
-<SCENARIO>
-CreateSessionWithPrompt
-<COMMAND_INPUT>
-lttng create mysession2
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-Prompt> Session mysession2 created.
-Traces will be written in /home/user/lttng-traces/mysession2-20120209-095418
-</COMMAND_OUTPUT>
-</SCENARIO>
-
-####################################################################
-# Scenario: Test "lttng create <session> with different variants
-# and errors
-####################################################################
-<SCENARIO>
-CreateSessionVariants
-<COMMAND_INPUT>
-lttng create alreadyExist
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-1
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-<COMMAND_ERROR_OUTPUT>
-Error: Session name already exist
-</COMMAND_ERROR_OUTPUT>
-</COMMAND_OUTPUT>
-
-<COMMAND_INPUT>
-lttng create session with spaces
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-Session session with spaces created.
-Traces will be written in /home/user/lttng-traces/session with spaces-20120209-095418
-</COMMAND_OUTPUT>
-
-<COMMAND_INPUT>
-lttng create wrongName
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-Session auto created.
-Traces will be written in /home/user/lttng-traces/auto-20120209-095418
-</COMMAND_OUTPUT>
-
-<COMMAND_INPUT>
-lttng create wrongPath -o /home/user/hallo
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-Session wrongPath created.
-Traces will be written in /home/user/lttng-traces/wrongPath-20120209-095418
-</COMMAND_OUTPUT>
-
-<COMMAND_INPUT>
-lttng create pathWithSpaces -o /home/user/hallo user/here
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-Session pathWithSpaces created.
-Traces will be written in /home/user/hallo user/here/pathWithSpaces-20120209-095418
-</COMMAND_OUTPUT>
-</SCENARIO>
-
-####################################################################
-# Scenario: Test "lttng destroy <session>
-####################################################################
-
-<SCENARIO>
-DestroySession1
-<COMMAND_INPUT>
-lttng destroy mysession2
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-Session mysession2 destroyed.
-</COMMAND_OUTPUT>
-</SCENARIO>
-
-####################################################################
-# Scenario: Test "lttng -vvv destroy <session>"
-####################################################################
-
-<SCENARIO>
-DestroySessionVerbose
-<COMMAND_INPUT>
-lttng -vvv destroy mysession2
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-DEBUG2: Config file path found: /home/eedbhu [in get_session_name() at utils.c:98]
-DEBUG1: Session name found: mysession2 [in get_session_name() at utils.c:99]
-Session mysession2 destroyed at /home/eedbhu
-</COMMAND_OUTPUT>
-</SCENARIO>
-
-
-####################################################################
-# Scenario: Test "lttng enable-channel ..." with different inputs
-####################################################################
-
-<SCENARIO>
-ChannelHandling
-<COMMAND_INPUT>
-lttng enable-channel mychannel0,mychannel1 -k -s mysession2 --overwrite --subbuf-size 16384 --num-subbuf 2 --switch-timer 200 --read-timer 100 -C 0 -W 10
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-Kernel channel mychannel0 enabled for session mysession2
-Kernel channel mychannel1 enabled for session mysession2
-</COMMAND_OUTPUT>
-
-<COMMAND_INPUT>
-lttng enable-channel mychannel0,mychannel1 -k -s mysession2 --overwrite --subbuf-size 16384 --num-subbuf 2 --switch-timer 200 --read-timer 100
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-Kernel channel mychannel0 enabled for session mysession2
-Kernel channel mychannel1 enabled for session mysession2
-</COMMAND_OUTPUT>
-
-<COMMAND_INPUT>
-lttng enable-channel ustChannel -u -s mysession2 --overwrite --subbuf-size 32768 --num-subbuf 1 --switch-timer 100 --read-timer 200 -C 0 -W 20
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-UST channel channel0 enabled for session mysession2
-</COMMAND_OUTPUT>
-
-<COMMAND_INPUT>
-lttng enable-channel ustChannel -u -s mysession2 --overwrite --subbuf-size 32768 --num-subbuf 1 --switch-timer 100 --read-timer 200
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-UST channel channel0 enabled for session mysession2
-</COMMAND_OUTPUT>
-
-<COMMAND_INPUT>
-lttng enable-channel ustChannel -u -s mysession2 --overwrite --subbuf-size 32768 --num-subbuf 1 --switch-timer 100 --read-timer 200 --buffers-uid -C 0 -W 20
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-UST channel channel0 enabled for session mysession2
-</COMMAND_OUTPUT>
-
-<COMMAND_INPUT>
-lttng enable-channel ustChannel -u -s mysession2 --overwrite --buffers-pid
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-UST channel ustChannel enabled for session mysession2
-</COMMAND_OUTPUT>
-
-<COMMAND_INPUT>
-lttng enable-channel ustChannel -u -s mysession2 --overwrite --subbuf-size 32768 --num-subbuf 1 --switch-timer 100 --read-timer 200 --buffers-uid
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-UST channel channel0 enabled for session mysession2
-</COMMAND_OUTPUT>
-
-
-<COMMAND_INPUT>
-lttng enable-channel mychannel0,mychannel1 -k -s mysession2
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-Kernel channel mychannel0 enabled for session mysession2
-Kernel channel mychannel1 enabled for session mysession2
-</COMMAND_OUTPUT>
-
-<COMMAND_INPUT>
-lttng enable-channel ustChannel -u -s mysession2
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-UST channel mychannel0 enabled for session mysession2
-</COMMAND_OUTPUT>
-
-<COMMAND_INPUT>
-lttng disable-channel mychannel0,mychannel1 -k -s mysession2
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-Kernel channel mychannel0 disabled for session mysession2
-Kernel channel mychannel1 disabled for session mysession2
-</COMMAND_OUTPUT>
-
-<COMMAND_INPUT>
-lttng disable-channel ustChannel -u -s mysession2
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-UST channel mychannel0 enabled for session mysession2
-</COMMAND_OUTPUT>
-</SCENARIO>
-
-
-####################################################################
-# Scenario: Test "lttng enable-events ..." with different inputs
-####################################################################
-<SCENARIO>
-EventHandling
-
-# Tracepoint test cases
-
-<COMMAND_INPUT>
-lttng enable-event block_rq_remap,block_bio_remap,softirq_entry -k -s mysession2 --tracepoint
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-kernel event block_rq_remap created in channel channel0
-kernel event block_bio_remap created in channel channel0
-kernel event softirq_entry created in channel channel0
-</COMMAND_OUTPUT>
-
-<COMMAND_INPUT>
-lttng enable-event -a -k -s mysession2 -c mychannel --tracepoint
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-All kernel tracepoints are enabled in channel channel0
-</COMMAND_OUTPUT>
-
-<COMMAND_INPUT>
-lttng enable-event ust_tests_hello:tptest_sighandler -u -s mysession2 -c mychannel --tracepoint
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-UST event ust_tests_hello:tptest_sighandler created in channel mychannel
-</COMMAND_OUTPUT>
-
-<COMMAND_INPUT>
-lttng enable-event ust_tests_hello:tptest_sighandler -u -s mysession2 -c mychannel --tracepoint --filter intfield==10
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-UST event ust_tests_hello:tptest_sighandler created in channel mychannel
-</COMMAND_OUTPUT>
-
-<COMMAND_INPUT>
-lttng enable-event -a -u -s mysession2 -c mychannel --tracepoint
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-All UST tracepoints are enabled in channel mychannel
-</COMMAND_OUTPUT>
-
-# Syscall test cases
-
-<COMMAND_INPUT>
-lttng enable-event -a -k -s mysession2 --syscall
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-All kernel system calls are enabled in channel channel0
-</COMMAND_OUTPUT>
-
-<COMMAND_INPUT>
-lttng enable-event -a -k -s mysession2 -c mychannel --syscall
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-All kernel system calls are enabled in channel mychannel
-</COMMAND_OUTPUT>
-
-# dynamic probe/function probe test cases
-
-<COMMAND_INPUT>
-lttng enable-event myevent0 -k -s mysession2 --function 0xc0101340
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-kernel event myevent0 created in channel mychannel
-</COMMAND_OUTPUT>
-
-<COMMAND_INPUT>
-lttng enable-event myevent1 -k -s mysession2 -c mychannel --probe init_post
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-kernel event myevent1 created in channel mychannel
-</COMMAND_OUTPUT>
-
-# log level test cases
-
-<COMMAND_INPUT>
-lttng enable-event myevent4 -u -s mysession2 --loglevel-only TRACE_DEBUG
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-UST event myevent4 created in channel channel0
-</COMMAND_OUTPUT>
-
-<COMMAND_INPUT>
-lttng enable-event myevent5 -u -s mysession2 -c mychannel --loglevel TRACE_DEBUG_FUNCTION
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-UST event myevent5 created in channel mychannel
-</COMMAND_OUTPUT>
-
-</SCENARIO>
-
-####################################################################
-# Scenario: Test "lttng add-context -h" and lttng add-context ..." with different inputs
-####################################################################
-
-<SCENARIO>
-ContextHandling
-
-<COMMAND_INPUT>
-lttng add-context -h
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-usage: lttng add-context -t TYPE
-
-If no channel and no event is given (-c/-e), the context
-will be added to all events and all channels.
-Otherwise the context will be added only to the channel (-c)
-and/or event (-e) indicated.
-Exactly one domain (-k/--kernel or -u/--userspace) must be specified.
-
-Options:
- -h, --help Show this help
- --list-options Simple listing of options
- -s, --session NAME Apply to session name
- -c, --channel NAME Apply to channel
- -e, --event NAME Apply to event
- -k, --kernel Apply to the kernel tracer
- -u, --userspace Apply to the user-space tracer
- -t, --type TYPE Context type. You can repeat that option on
- the command line to specify multiple contexts at once.
- (--kernel preempts --userspace)
- TYPE can be one of the strings below:
- pid, procname, prio, nice, vpid, tid, pthread_id,
- vtid, ppid, vppid, perf:cpu-cycles, perf:cycles
-Example:
-This command will add the context information 'prio' and two perf
-counters (hardware branch misses and cache misses), to all events
-in the trace data output:
-# lttng add-context -k -t prio -t perf:branch-misses -t perf:cache-misses
-
-</COMMAND_OUTPUT>
-
-<COMMAND_INPUT>
-lttng add-context -s mysession2 -c mychannel -e ust_tests_hello:tptest_sighandler -u -t prio -t pid
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-UST context prio added to event ust_tests_hello:tptest_sighandle channel mychannel
-UST context pid added to event sched_kthread_stop_ret channel mychannel
-</COMMAND_OUTPUT>
-</SCENARIO>
-
-<SCENARIO>
-ContextErrorHandling
-
-<COMMAND_INPUT>
-lttng add-context -h
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-1
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-usage: lttng add-context -t TYPE
-
-If no channel and no event is given (-c/-e), the context
-will be added to all events and all channels.
-Otherwise the context will be added only to the channel (-c)
-and/or event (-e) indicated.
-Exactly one domain (-k/--kernel or -u/--userspace) must be specified.
-
-Options:
- -h, --help Show this help
- --list-options Simple listing of options
- -s, --session NAME Apply to session name
- -c, --channel NAME Apply to channel
- -e, --event NAME Apply to event
- -k, --kernel Apply to the kernel tracer
- -u, --userspace Apply to the user-space tracer
- -t, --type TYPE Context type. You can repeat that option on
- the command line to specify multiple contexts at once.
- (--kernel preempts --userspace)
- TYPE can be one of the strings below:
- pid, procname, prio, nice, vpid, tid, pthread_id,
- vtid, ppid, vppid, perf:cpu-cycles, perf:cycles
-Example:
-This command will add the context information 'prio' and two perf
-counters (hardware branch misses and cache misses), to all events
-in the trace data output:
-# lttng add-context -k -t prio -t perf:branch-misses -t perf:cache-misses
-
-</COMMAND_OUTPUT>
-
-<COMMAND_INPUT>
-lttng add-context -s mysession2 -c mychannel -e ust_tests_hello:tptest_sighandler -u -t prio -t pid
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-1
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-UST context prio added to event ust_tests_hello:tptest_sighandle channel mychannel
-UST context pid added to event sched_kthread_stop_ret channel mychannel
-</COMMAND_OUTPUT>
-
-</SCENARIO>
-
-<SCENARIO>
-CalibrateHandling
-<COMMAND_INPUT>
-lttng calibrate -k --function
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-Kernel calibration done
-</COMMAND_OUTPUT>
-
-<COMMAND_INPUT>
-lttng calibrate -u --function
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-1
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-Kernel calibration done
-</COMMAND_OUTPUT>
-
-</SCENARIO>
-
-####################################################################
-# Scenario: Test "lttng create <session> with LTTng 2.1 options
-####################################################################
-<SCENARIO>
-CreateSessionLttng2.1
-
-<COMMAND_INPUT>
-lttng create mysession -U net://172.0.0.1
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-Session mysession created.
-Traces will be written in net://172.0.0.1
-</COMMAND_OUTPUT>
-
-<COMMAND_INPUT>
-lttng create mysession -U file:///tmp
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-Session mysession created.
-Traces will be written in file:///tmp
-</COMMAND_OUTPUT>
-
-<COMMAND_INPUT>
-lttng create mysession -C tcp://172.0.0.1 -D tcp://172.0.0.1:5343
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-Session mysession created.
-Control URL tcp://172.0.0.1 set for session mysession
-Data URL tcp://172.0.0.1:5343 set for session mysession
-</COMMAND_OUTPUT>
-
-<COMMAND_INPUT>
-lttng create mysession -U net://172.0.0.1:1234:2345
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-Session mysession created.
-Traces will be written in net://172.0.0.1:1234:2345
-</COMMAND_OUTPUT>
-
-<COMMAND_INPUT>
-lttng destroy mysession
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-Session mysession destroyed.
-</COMMAND_OUTPUT>
-
-<COMMAND_INPUT>
-lttng -vvv create mysession -U net://172.0.0.1
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-DEBUG3: URI string: net://172.0.0.1 [in uri_parse() at uri.c:253]
-DEBUG2: IP address resolved to 172.0.0.1 [in set_ip_address() at uri.c:132]
-DEBUG3: URI dtype: 1, proto: 1, host: 172.0.0.1, subdir: , ctrl: 0, data: 0 [in uri_parse() at uri.c:467]
-DEBUG1: LSM cmd type : 8 [in send_session_msg() at lttng-ctl.c:261]
-Session mysession created.
-Traces will be written in net://172.0.0.1
-DEBUG1: Init config session in /home/bernd [in config_init() at conf.c:294]
-</COMMAND_OUTPUT>
-
-</SCENARIO>
-
-####################################################################
-# Scenario: Test "lttng -vvv create <session> with LTTng 2.1 options"
-####################################################################
-<SCENARIO>
-CreateSessionLttngVerbose2.1
-<COMMAND_INPUT>
-lttng -vvv create mysession -U net://172.0.0.1
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-DEBUG3: URI string: net://172.0.0.1 [in uri_parse() at uri.c:253]
-DEBUG2: IP address resolved to 172.0.0.1 [in set_ip_address() at uri.c:132]
-DEBUG3: URI dtype: 1, proto: 1, host: 172.0.0.1, subdir: , ctrl: 0, data: 0 [in uri_parse() at uri.c:467]
-DEBUG1: LSM cmd type : 8 [in send_session_msg() at lttng-ctl.c:261]
-Session mysession created.
-Traces will be written in net://172.0.0.1
-DEBUG1: Init config session in /home/bernd [in config_init() at conf.c:294]
-</COMMAND_OUTPUT>
-
-<COMMAND_INPUT>
-lttng -vvv destroy mysession
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-Session mysession destroyed.
-</COMMAND_OUTPUT>
-</SCENARIO>
-
-####################################################################
-# Scenario: Test "lttng create <session> --snapshot (LTTng 2.3)
-####################################################################
-<SCENARIO>
-CreateSessionSnapshot
-<COMMAND_INPUT>
-lttng create mysession --snapshot
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-Session mysession created.
-Default snapshot output set to: /home/user/lttng-traces/mysession-20130913-141651
-Snapshot mode set. Every channel enabled for that session will be set in overwrite mode and mmap output.
-</COMMAND_OUTPUT>
-#------------------------------------------------------------------------------
-<COMMAND_INPUT>
-lttng snapshot list-output -s mysession
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-Snapshot output list for session mysession
- [1] snapshot-1: /home/user/lttng-traces/mysession-20130913-141651
-</COMMAND_OUTPUT>
-#------------------------------------------------------------------------------
-<COMMAND_INPUT>
-lttng list
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
- 1) mysession () [inactive snapshot]
-
-</COMMAND_OUTPUT>
-#------------------------------------------------------------------------------
-<COMMAND_INPUT>
-lttng snapshot record -s mysession
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
- Snapshot recorded successfully for session mysession
-</COMMAND_OUTPUT>
-#------------------------------------------------------------------------------
-<COMMAND_INPUT>
-lttng destroy mysession
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-Session mysession destroyed.
-</COMMAND_OUTPUT>
-</SCENARIO>
-
-####################################################################
-# Scenario: Test "lttng create <session> --snapshot -U <URL> (LTTng 2.3)
-####################################################################
-<SCENARIO>
-CreateSessionStreamedSnapshot
-<COMMAND_INPUT>
-lttng create mysession --snapshot -U net://172.0.0.1
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-Session mysession created.
-Default snapshot output set to: net://172.0.0.1
-Snapshot mode set. Every channel enabled for that session will be set in overwrite mode and mmap output.
-</COMMAND_OUTPUT>
-#------------------------------------------------------------------------------
-<COMMAND_INPUT>
-lttng snapshot list-output -s mysession
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-Snapshot output list for session mysession
- [2] snapshot-2: net4://172.0.0.1:5342/
-</COMMAND_OUTPUT>
-#------------------------------------------------------------------------------
-<COMMAND_INPUT>
-lttng list
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
- 1) mysession () [inactive snapshot]
-
-</COMMAND_OUTPUT>
-#------------------------------------------------------------------------------
-<COMMAND_INPUT>
-lttng snapshot record -s mysession
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
- Snapshot recorded successfully for session mysession
-</COMMAND_OUTPUT>
-#------------------------------------------------------------------------------
-<COMMAND_INPUT>
-lttng destroy mysession
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-Session mysession destroyed.
-</COMMAND_OUTPUT>
-</SCENARIO>
-
-####################################################################
-# Scenario: Test "lttng create <session> --snapshot (LTTng 2.3)
-####################################################################
-<SCENARIO>
-CreateSessionSnapshotErrors
-<COMMAND_INPUT>
-lttng snapshot list-output -s blabla
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-1
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-<COMMAND_ERROR_OUTPUT>
-Error: Session name not found
-</COMMAND_ERROR_OUTPUT>
-</COMMAND_OUTPUT>
-#------------------------------------------------------------------------------
-#next is not an error case but good to be tested
-<COMMAND_INPUT>
-lttng list
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
- 1) mysession () [active snapshot]
-
-</COMMAND_OUTPUT>
-#------------------------------------------------------------------------------
-<COMMAND_INPUT>
-lttng snapshot record -s blabla
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-1
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-<COMMAND_ERROR_OUTPUT>
- Error: Session name not found
-</COMMAND_ERROR_OUTPUT>
-</COMMAND_OUTPUT>
-#------------------------------------------------------------------------------
-<COMMAND_INPUT>
-lttng snapshot record -s mysession
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-1
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-<COMMAND_ERROR_OUTPUT>
- Error: Session needs to be started once
-</COMMAND_ERROR_OUTPUT>
-</COMMAND_OUTPUT>
-
-</SCENARIO>
-
-####################################################################
-# Scenario: Test "lttng create <session> --live [USEC] (LTTng 2.4)
-####################################################################
-<SCENARIO>
-CreateSessionLive
-<COMMAND_INPUT>
-lttng create mysession --live -U net://127.0.0.1
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-Session mysession created.
-Traces will be written in net://127.0.0.1
-Live timer set to 1000000 usec
-</COMMAND_OUTPUT>
-#------------------------------------------------------------------------------
-<COMMAND_INPUT>
-lttng list
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-Available tracing sessions:
- 1) mysession (net4://127.0.0.1:5342/ [data: 5343]) [inactive]
-
-Use lttng list <session_name> for more details
-</COMMAND_OUTPUT>
-#------------------------------------------------------------------------------
-<COMMAND_INPUT>
-lttng destroy mysession
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-Session mysession destroyed.
-</COMMAND_OUTPUT>
-</SCENARIO>
-
-####################################################################
-# Scenario: Test errors for "lttng create <session> --live [USEC] (LTTng 2.4)
-####################################################################
-<SCENARIO>
-CreateSessionLiveErrors
-<COMMAND_INPUT>
-lttng create mysession --live --snapshot
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-1
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-<COMMAND_ERROR_OUTPUT>
-Error: Snapshot and live modes are mutually exclusive.
-Error: Command error
-</COMMAND_ERROR_OUTPUT>
-</COMMAND_OUTPUT>
-#------------------------------------------------------------------------------
-<COMMAND_INPUT>
-lttng create mysession --live -U blah
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-1
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-<COMMAND_ERROR_OUTPUT>
-Error: URI parse unknown protocol blah
-Error: Unable to parse the URL blah
-Error: Invalid parameter
-</COMMAND_ERROR_OUTPUT>
-</COMMAND_OUTPUT>
-#------------------------------------------------------------------------------
-<COMMAND_INPUT>
-lttng create mysession --live -C net://127.0.0.1
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-1
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-<COMMAND_ERROR_OUTPUT>
-Error: You need both control and data URL.
-Error: Command error
-</COMMAND_ERROR_OUTPUT>
-</COMMAND_OUTPUT>
-</SCENARIO>
-####################################################################
-# Scenario: Test "lttng create <session> --snapshot (LTTng 2.5)
-####################################################################
-<SCENARIO>
-CreateSessionSnapshot2.5
-<COMMAND_INPUT>
-lttng create mysession --snapshot
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-Session mysession created.
-Default snapshot output set to: /home/user/lttng-traces/mysession-20130913-141651
-Snapshot mode set. Every channel enabled for that session will be set in overwrite mode and mmap output.
-</COMMAND_OUTPUT>
-#------------------------------------------------------------------------------
-<COMMAND_INPUT>
-lttng snapshot list-output -s mysession
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-Snapshot output list for session mysession
- [1] snapshot-1: /home/user/lttng-traces/mysession-20130913-141651 (max-size: 0)
-</COMMAND_OUTPUT>
-#------------------------------------------------------------------------------
-<COMMAND_INPUT>
-lttng list
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
- 1) mysession () [inactive snapshot]
-
-</COMMAND_OUTPUT>
-#------------------------------------------------------------------------------
-<COMMAND_INPUT>
-lttng snapshot record -s mysession
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
- Snapshot recorded successfully for session mysession
-</COMMAND_OUTPUT>
-#------------------------------------------------------------------------------
-<COMMAND_INPUT>
-lttng destroy mysession
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-Session mysession destroyed.
-</COMMAND_OUTPUT>
-</SCENARIO>
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.ui.tests/testfiles/ListInfoTest.cfg b/lttng/org.eclipse.linuxtools.lttng2.control.ui.tests/testfiles/ListInfoTest.cfg
deleted file mode 100644
index 895bde3474..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.ui.tests/testfiles/ListInfoTest.cfg
+++ /dev/null
@@ -1,240 +0,0 @@
-####################################################################
-# Copyright (c) 2012 Ericsson
-#
-# All rights reserved. This program and the accompanying materials are
-# made available under the terms of the Eclipse Public License v1.0 which
-# accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-# Bernd Hufmann - Initial API and implementation
-####################################################################
-####################################################################
-# Scenario: Test lttng list <name> with sample outputs
-####################################################################
-<SCENARIO>
-ListInfoTest
-
-<COMMAND_INPUT>
-lttng version
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-lttng version 2.1.0 - Basse Messe
-Web site: http://lttng.org/
-
-lttng is free software and under the GPL license and part LGPL
-</COMMAND_OUTPUT>
-
-<COMMAND_INPUT>
-lttng list
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-Available tracing sessions:
- 1) mysession1 (/home/user/lttng-traces/mysession1-20120123-083928) [inactive]
- 2) mysession (/home/user/lttng-traces/mysession-20120123-083318) [inactive]
-
- Use lttng list <session_name> for more details
-</COMMAND_OUTPUT>
-
-<COMMAND_INPUT>
-lttng list mysession
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-Tracing session mysession: [active]
- Trace path: /home/user/lttng-traces/mysession-20120129-084256
-
-=== Domain: Kernel ===
-
-Channels:
--------------
-- channel0: [enabled]
-
- Attributes:
- overwrite mode: 0
- subbufers size: 262144
- number of subbufers: 4
- switch timer interval: 0
- read timer interval: 200
- output: splice()
-
- Events:
- block_rq_remap (loglevel: TRACE_EMERG (0)) (type: tracepoint) [enabled]
- block_bio_remap (loglevel: TRACE_EMERG (0)) (type: tracepoint) [disabled]
- myevent2 (type: probe) [enabled]
- addr: 0xc0101340
- myevent0 (type: probe) [enabled]
- offset: 0x0
- symbol: init_post
- syscalls (type: syscall) [enabled]
-
-- channel1: [disabled]
-
- Attributes:
- overwrite mode: 1
- subbufers size: 524288
- number of subbufers: 4
- switch timer interval: 100
- read timer interval: 400
- output: splice()
-
- Events:
- None
-
-=== Domain: UST global ===
-
-Channels:
--------------
-- mychannel1: [disabled]
-
- Attributes:
- overwrite mode: 1
- subbufers size: 8192
- number of subbufers: 8
- switch timer interval: 200
- read timer interval: 100
- output: mmap()
-
- Events:
- None
-
-- channel0: [enabled]
-
- Attributes:
- overwrite mode: 0
- subbufers size: 4096
- number of subbufers: 4
- switch timer interval: 0
- read timer interval: 200
- output: mmap()
-
- Events:
- ust_tests_hello:tptest_sighandler (loglevel == TRACE_DEBUG_LINE (13)) (type: tracepoint) [disabled] [with filter]
- ust_tests_hello:tptest_sighandler1 (loglevel <= TRACE_INFO (7)) (type: tracepoint) [disabled] [with filter]
- ust_tests_hello:tptest_sighandler2 (loglevel: TRACE_DEBUG_SYSTEM (8)) (type: tracepoint) [disabled] [with filter]
- * (type: tracepoint) [enabled]
-
-</COMMAND_OUTPUT>
-<COMMAND_INPUT>
-lttng list mysession1
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-Tracing session mysession1: [inactive]
- Trace path: /home/user/lttng-traces/mysession1-20120203-133225
-
-</COMMAND_OUTPUT>
-
-<COMMAND_INPUT>
-lttng list -k
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-Kernel events
--------------
- sched_kthread_stop (loglevel: TRACE_EMERG (0)) (type: tracepoint)
- sched_kthread_stop_ret (loglevel: TRACE_EMERG (0)) (type: tracepoint)
- sched_wakeup_new (loglevel: TRACE_EMERG (0)) (type: tracepoint)
-
-</COMMAND_OUTPUT>
-
-<COMMAND_INPUT>
-lttng list -u -f
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-UST events:
--------------
-
-PID: 9379 - Name: /home/user/git/lttng-ust/tests/hello.cxx/.libs/lt-hello
- ust_tests_hello:tptest_sighandler (loglevel: TRACE_DEBUG_MODULE (10)) (type: tracepoint)
- ust_tests_hello:tptest (loglevel: TRACE_INFO (6)) (type: tracepoint)
- field: doublefield (float)
- field: floatfield (float)
- field: stringfield (string)
-
-PID: 4852 - Name: /home/user/git/lttng-ust/tests/hello.cxx/.libs/lt-hello
- ust_tests_hello:tptest_sighandler (loglevel: TRACE_WARNING (4)) (type: tracepoint)
- ust_tests_hello:tptest (loglevel: TRACE_DEBUG_FUNCTION (12)) (type: tracepoint)
- field: doublefield (float)
- field: floatfield (float)
- field: stringfield (string)
-
-</COMMAND_OUTPUT>
-
-</SCENARIO>
-
-
-####################################################################
-# Scenario: Test "lttng list -k" with no kernel and no session daemon
-####################################################################
-<SCENARIO>
-ListInfoTestNoKernel
-
-<COMMAND_INPUT>
-lttng version
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-lttng version 2.0.0 - Annedd'ale
-Web site: http://lttng.org/
-
-lttng is free software and under the GPL license and part LGPL
-</COMMAND_OUTPUT>
-
-<COMMAND_INPUT>
-lttng list
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-Currently no available tracing session
-</COMMAND_OUTPUT>
-
-<COMMAND_INPUT>
-lttng list -k
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-1
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-<COMMAND_ERROR_OUTPUT>
-Error: Unable to list kernel events
-</COMMAND_ERROR_OUTPUT>
-</COMMAND_OUTPUT>
-
-<COMMAND_INPUT>
-lttng list -u
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-UST events:
--------------
-
-PID: 9379 - Name: /home/user/git/lttng-ust/tests/hello.cxx/.libs/lt-hello
- ust_tests_hello:tptest_sighandler (loglevel: TRACE_DEBUG_MODULE (10)) (type: tracepoint)
- ust_tests_hello:tptest (loglevel: TRACE_INFO (6)) (type: tracepoint)
-
-</COMMAND_OUTPUT>
-
-</SCENARIO>
-
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.ui/.classpath b/lttng/org.eclipse.linuxtools.lttng2.control.ui/.classpath
deleted file mode 100644
index 098194ca4b..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.ui/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
- <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.7"/>
- <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
- <classpathentry kind="src" path="src"/>
- <classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.ui/.project b/lttng/org.eclipse.linuxtools.lttng2.control.ui/.project
deleted file mode 100644
index 6234036160..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.ui/.project
+++ /dev/null
@@ -1,34 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>org.eclipse.linuxtools.lttng2.control.ui</name>
- <comment></comment>
- <projects>
- </projects>
- <buildSpec>
- <buildCommand>
- <name>org.eclipse.jdt.core.javabuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.ManifestBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.SchemaBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.api.tools.apiAnalysisBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>org.eclipse.pde.PluginNature</nature>
- <nature>org.eclipse.jdt.core.javanature</nature>
- <nature>org.eclipse.pde.api.tools.apiAnalysisNature</nature>
- </natures>
-</projectDescription>
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.ui/.settings/org.eclipse.core.resources.prefs b/lttng/org.eclipse.linuxtools.lttng2.control.ui/.settings/org.eclipse.core.resources.prefs
deleted file mode 100644
index 99f26c0203..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.ui/.settings/org.eclipse.core.resources.prefs
+++ /dev/null
@@ -1,2 +0,0 @@
-eclipse.preferences.version=1
-encoding/<project>=UTF-8
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.ui/.settings/org.eclipse.core.runtime.prefs b/lttng/org.eclipse.linuxtools.lttng2.control.ui/.settings/org.eclipse.core.runtime.prefs
deleted file mode 100644
index 5a0ad22d2a..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.ui/.settings/org.eclipse.core.runtime.prefs
+++ /dev/null
@@ -1,2 +0,0 @@
-eclipse.preferences.version=1
-line.separator=\n
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.ui/.settings/org.eclipse.jdt.core.prefs b/lttng/org.eclipse.linuxtools.lttng2.control.ui/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index 9f3662cd78..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.ui/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,394 +0,0 @@
-eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.annotation.inheritNullAnnotations=enabled
-org.eclipse.jdt.core.compiler.annotation.missingNonNullByDefaultAnnotation=ignore
-org.eclipse.jdt.core.compiler.annotation.nonnull=org.eclipse.jdt.annotation.NonNull
-org.eclipse.jdt.core.compiler.annotation.nonnullbydefault=org.eclipse.jdt.annotation.NonNullByDefault
-org.eclipse.jdt.core.compiler.annotation.nullable=org.eclipse.jdt.annotation.Nullable
-org.eclipse.jdt.core.compiler.annotation.nullanalysis=enabled
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.7
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.doc.comment.support=enabled
-org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=error
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
-org.eclipse.jdt.core.compiler.problem.comparingIdentical=error
-org.eclipse.jdt.core.compiler.problem.deadCode=error
-org.eclipse.jdt.core.compiler.problem.deprecation=error
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled
-org.eclipse.jdt.core.compiler.problem.discouragedReference=warning
-org.eclipse.jdt.core.compiler.problem.emptyStatement=error
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.problem.explicitlyClosedAutoCloseable=error
-org.eclipse.jdt.core.compiler.problem.fallthroughCase=error
-org.eclipse.jdt.core.compiler.problem.fatalOptionalError=disabled
-org.eclipse.jdt.core.compiler.problem.fieldHiding=error
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=error
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=error
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=error
-org.eclipse.jdt.core.compiler.problem.includeNullInfoFromAsserts=disabled
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=error
-org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=error
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=error
-org.eclipse.jdt.core.compiler.problem.invalidJavadoc=warning
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTags=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=protected
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=error
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=error
-org.eclipse.jdt.core.compiler.problem.missingDefaultCase=error
-org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=error
-org.eclipse.jdt.core.compiler.problem.missingEnumCaseDespiteDefault=enabled
-org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=error
-org.eclipse.jdt.core.compiler.problem.missingJavadocComments=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=protected
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagDescription=all_standard_tags
-org.eclipse.jdt.core.compiler.problem.missingJavadocTags=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsMethodTypeParameters=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=protected
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=error
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotationForInterfaceMethodImplementation=enabled
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=error
-org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=error
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=error
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=error
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=warning
-org.eclipse.jdt.core.compiler.problem.nonnullParameterAnnotationDropped=warning
-org.eclipse.jdt.core.compiler.problem.nullAnnotationInferenceConflict=warning
-org.eclipse.jdt.core.compiler.problem.nullReference=error
-org.eclipse.jdt.core.compiler.problem.nullSpecViolation=error
-org.eclipse.jdt.core.compiler.problem.nullUncheckedConversion=warning
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=error
-org.eclipse.jdt.core.compiler.problem.parameterAssignment=error
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=error
-org.eclipse.jdt.core.compiler.problem.potentialNullReference=error
-org.eclipse.jdt.core.compiler.problem.potentiallyUnclosedCloseable=warning
-org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning
-org.eclipse.jdt.core.compiler.problem.redundantNullAnnotation=warning
-org.eclipse.jdt.core.compiler.problem.redundantNullCheck=error
-org.eclipse.jdt.core.compiler.problem.redundantSpecificationOfTypeArguments=error
-org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=error
-org.eclipse.jdt.core.compiler.problem.reportMethodCanBePotentiallyStatic=ignore
-org.eclipse.jdt.core.compiler.problem.reportMethodCanBeStatic=error
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=error
-org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=disabled
-org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
-org.eclipse.jdt.core.compiler.problem.syntacticNullAnalysisForFields=enabled
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
-org.eclipse.jdt.core.compiler.problem.typeParameterHiding=error
-org.eclipse.jdt.core.compiler.problem.unavoidableGenericTypeProblems=disabled
-org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
-org.eclipse.jdt.core.compiler.problem.unclosedCloseable=error
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
-org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=error
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=error
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=error
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=warning
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=disabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=disabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=error
-org.eclipse.jdt.core.compiler.problem.unusedLabel=error
-org.eclipse.jdt.core.compiler.problem.unusedLocal=error
-org.eclipse.jdt.core.compiler.problem.unusedObjectAllocation=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=error
-org.eclipse.jdt.core.compiler.problem.unusedTypeParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedWarningToken=error
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=error
-org.eclipse.jdt.core.compiler.source=1.7
-org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_assignment=0
-org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
-org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
-org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
-org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
-org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0
-org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=80
-org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=0
-org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch=16
-org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_after_package=1
-org.eclipse.jdt.core.formatter.blank_lines_before_field=0
-org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
-org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
-org.eclipse.jdt.core.formatter.blank_lines_before_method=1
-org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
-org.eclipse.jdt.core.formatter.blank_lines_before_package=0
-org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
-org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
-org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
-org.eclipse.jdt.core.formatter.comment.format_block_comments=true
-org.eclipse.jdt.core.formatter.comment.format_header=false
-org.eclipse.jdt.core.formatter.comment.format_html=true
-org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=true
-org.eclipse.jdt.core.formatter.comment.format_line_comments=true
-org.eclipse.jdt.core.formatter.comment.format_source_code=true
-org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true
-org.eclipse.jdt.core.formatter.comment.indent_root_tags=true
-org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
-org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=insert
-org.eclipse.jdt.core.formatter.comment.line_length=80
-org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries=true
-org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries=true
-org.eclipse.jdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments=false
-org.eclipse.jdt.core.formatter.compact_else_if=true
-org.eclipse.jdt.core.formatter.continuation_indentation=2
-org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2
-org.eclipse.jdt.core.formatter.disabling_tag=@formatter\:off
-org.eclipse.jdt.core.formatter.enabling_tag=@formatter\:on
-org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
-org.eclipse.jdt.core.formatter.format_line_comment_starting_on_first_column=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
-org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_empty_lines=false
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=false
-org.eclipse.jdt.core.formatter.indentation.size=4
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_label=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_try=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources=insert
-org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_try=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
-org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.join_lines_in_comments=true
-org.eclipse.jdt.core.formatter.join_wrapped_lines=false
-org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.lineSplit=250
-org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
-org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
-org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true
-org.eclipse.jdt.core.formatter.tabulation.char=space
-org.eclipse.jdt.core.formatter.tabulation.size=4
-org.eclipse.jdt.core.formatter.use_on_off_tags=false
-org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
-org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
-org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true
-org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.ui/.settings/org.eclipse.jdt.ui.prefs b/lttng/org.eclipse.linuxtools.lttng2.control.ui/.settings/org.eclipse.jdt.ui.prefs
deleted file mode 100644
index 4fd0c7006a..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.ui/.settings/org.eclipse.jdt.ui.prefs
+++ /dev/null
@@ -1,56 +0,0 @@
-eclipse.preferences.version=1
-editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
-formatter_profile=_tmf-style
-formatter_settings_version=12
-sp_cleanup.add_default_serial_version_id=true
-sp_cleanup.add_generated_serial_version_id=false
-sp_cleanup.add_missing_annotations=false
-sp_cleanup.add_missing_deprecated_annotations=true
-sp_cleanup.add_missing_methods=false
-sp_cleanup.add_missing_nls_tags=false
-sp_cleanup.add_missing_override_annotations=true
-sp_cleanup.add_missing_override_annotations_interface_methods=true
-sp_cleanup.add_serial_version_id=false
-sp_cleanup.always_use_blocks=true
-sp_cleanup.always_use_parentheses_in_expressions=false
-sp_cleanup.always_use_this_for_non_static_field_access=false
-sp_cleanup.always_use_this_for_non_static_method_access=false
-sp_cleanup.convert_to_enhanced_for_loop=false
-sp_cleanup.correct_indentation=false
-sp_cleanup.format_source_code=false
-sp_cleanup.format_source_code_changes_only=false
-sp_cleanup.make_local_variable_final=false
-sp_cleanup.make_parameters_final=false
-sp_cleanup.make_private_fields_final=true
-sp_cleanup.make_type_abstract_if_missing_method=false
-sp_cleanup.make_variable_declarations_final=false
-sp_cleanup.never_use_blocks=false
-sp_cleanup.never_use_parentheses_in_expressions=true
-sp_cleanup.on_save_use_additional_actions=true
-sp_cleanup.organize_imports=false
-sp_cleanup.qualify_static_field_accesses_with_declaring_class=false
-sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_with_declaring_class=false
-sp_cleanup.qualify_static_method_accesses_with_declaring_class=false
-sp_cleanup.remove_private_constructors=true
-sp_cleanup.remove_trailing_whitespaces=true
-sp_cleanup.remove_trailing_whitespaces_all=true
-sp_cleanup.remove_trailing_whitespaces_ignore_empty=false
-sp_cleanup.remove_unnecessary_casts=false
-sp_cleanup.remove_unnecessary_nls_tags=false
-sp_cleanup.remove_unused_imports=false
-sp_cleanup.remove_unused_local_variables=false
-sp_cleanup.remove_unused_private_fields=true
-sp_cleanup.remove_unused_private_members=false
-sp_cleanup.remove_unused_private_methods=true
-sp_cleanup.remove_unused_private_types=true
-sp_cleanup.sort_members=false
-sp_cleanup.sort_members_all=false
-sp_cleanup.use_blocks=true
-sp_cleanup.use_blocks_only_for_return_and_throw=false
-sp_cleanup.use_parentheses_in_expressions=false
-sp_cleanup.use_this_for_non_static_field_access=false
-sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=true
-sp_cleanup.use_this_for_non_static_method_access=false
-sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.ui/.settings/org.eclipse.pde.api.tools.prefs b/lttng/org.eclipse.linuxtools.lttng2.control.ui/.settings/org.eclipse.pde.api.tools.prefs
deleted file mode 100644
index acc3abd47c..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.ui/.settings/org.eclipse.pde.api.tools.prefs
+++ /dev/null
@@ -1,97 +0,0 @@
-ANNOTATION_ELEMENT_TYPE_ADDED_METHOD_WITHOUT_DEFAULT_VALUE=Error
-ANNOTATION_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
-ANNOTATION_ELEMENT_TYPE_REMOVED_FIELD=Error
-ANNOTATION_ELEMENT_TYPE_REMOVED_METHOD=Error
-ANNOTATION_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
-API_COMPONENT_ELEMENT_TYPE_REMOVED_API_TYPE=Error
-API_COMPONENT_ELEMENT_TYPE_REMOVED_REEXPORTED_API_TYPE=Error
-API_COMPONENT_ELEMENT_TYPE_REMOVED_REEXPORTED_TYPE=Error
-API_COMPONENT_ELEMENT_TYPE_REMOVED_TYPE=Error
-API_USE_SCAN_FIELD_SEVERITY=Error
-API_USE_SCAN_METHOD_SEVERITY=Error
-API_USE_SCAN_TYPE_SEVERITY=Error
-CLASS_ELEMENT_TYPE_ADDED_METHOD=Error
-CLASS_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
-CLASS_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
-CLASS_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error
-CLASS_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
-CLASS_ELEMENT_TYPE_CHANGED_NON_ABSTRACT_TO_ABSTRACT=Error
-CLASS_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error
-CLASS_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
-CLASS_ELEMENT_TYPE_REMOVED_CONSTRUCTOR=Error
-CLASS_ELEMENT_TYPE_REMOVED_FIELD=Error
-CLASS_ELEMENT_TYPE_REMOVED_METHOD=Error
-CLASS_ELEMENT_TYPE_REMOVED_SUPERCLASS=Error
-CLASS_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
-CLASS_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
-CONSTRUCTOR_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
-CONSTRUCTOR_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
-CONSTRUCTOR_ELEMENT_TYPE_CHANGED_VARARGS_TO_ARRAY=Error
-CONSTRUCTOR_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
-ENUM_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error
-ENUM_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
-ENUM_ELEMENT_TYPE_REMOVED_ENUM_CONSTANT=Error
-ENUM_ELEMENT_TYPE_REMOVED_FIELD=Error
-ENUM_ELEMENT_TYPE_REMOVED_METHOD=Error
-ENUM_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
-FIELD_ELEMENT_TYPE_ADDED_VALUE=Error
-FIELD_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
-FIELD_ELEMENT_TYPE_CHANGED_FINAL_TO_NON_FINAL_STATIC_CONSTANT=Error
-FIELD_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error
-FIELD_ELEMENT_TYPE_CHANGED_NON_STATIC_TO_STATIC=Error
-FIELD_ELEMENT_TYPE_CHANGED_STATIC_TO_NON_STATIC=Error
-FIELD_ELEMENT_TYPE_CHANGED_TYPE=Error
-FIELD_ELEMENT_TYPE_CHANGED_VALUE=Error
-FIELD_ELEMENT_TYPE_REMOVED_TYPE_ARGUMENT=Error
-FIELD_ELEMENT_TYPE_REMOVED_VALUE=Error
-ILLEGAL_EXTEND=Warning
-ILLEGAL_IMPLEMENT=Warning
-ILLEGAL_INSTANTIATE=Warning
-ILLEGAL_OVERRIDE=Warning
-ILLEGAL_REFERENCE=Warning
-INTERFACE_ELEMENT_TYPE_ADDED_FIELD=Error
-INTERFACE_ELEMENT_TYPE_ADDED_METHOD=Error
-INTERFACE_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
-INTERFACE_ELEMENT_TYPE_ADDED_SUPER_INTERFACE_WITH_METHODS=Error
-INTERFACE_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
-INTERFACE_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error
-INTERFACE_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
-INTERFACE_ELEMENT_TYPE_REMOVED_FIELD=Error
-INTERFACE_ELEMENT_TYPE_REMOVED_METHOD=Error
-INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
-INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
-INVALID_JAVADOC_TAG=Warning
-INVALID_REFERENCE_IN_SYSTEM_LIBRARIES=Warning
-LEAK_EXTEND=Warning
-LEAK_FIELD_DECL=Warning
-LEAK_IMPLEMENT=Warning
-LEAK_METHOD_PARAM=Warning
-LEAK_METHOD_RETURN_TYPE=Warning
-METHOD_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
-METHOD_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
-METHOD_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
-METHOD_ELEMENT_TYPE_CHANGED_NON_ABSTRACT_TO_ABSTRACT=Error
-METHOD_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error
-METHOD_ELEMENT_TYPE_CHANGED_NON_STATIC_TO_STATIC=Error
-METHOD_ELEMENT_TYPE_CHANGED_STATIC_TO_NON_STATIC=Error
-METHOD_ELEMENT_TYPE_CHANGED_VARARGS_TO_ARRAY=Error
-METHOD_ELEMENT_TYPE_REMOVED_ANNOTATION_DEFAULT_VALUE=Error
-METHOD_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
-MISSING_EE_DESCRIPTIONS=Ignore
-TYPE_PARAMETER_ELEMENT_TYPE_ADDED_CLASS_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_ADDED_INTERFACE_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_CHANGED_CLASS_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_CHANGED_INTERFACE_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_CLASS_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error
-UNUSED_PROBLEM_FILTERS=Warning
-automatically_removed_unused_problem_filters=false
-eclipse.preferences.version=1
-incompatible_api_component_version=Error
-incompatible_api_component_version_include_major_without_breaking_change=Disabled
-incompatible_api_component_version_include_minor_without_api_change=Disabled
-invalid_since_tag_version=Error
-malformed_since_tag=Error
-missing_since_tag=Error
-report_api_breakage_when_major_version_incremented=Disabled
-report_resolution_errors_api_component=Warning
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.ui/.settings/org.eclipse.pde.prefs b/lttng/org.eclipse.linuxtools.lttng2.control.ui/.settings/org.eclipse.pde.prefs
deleted file mode 100644
index d92b94fd4b..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.ui/.settings/org.eclipse.pde.prefs
+++ /dev/null
@@ -1,32 +0,0 @@
-compilers.f.unresolved-features=1
-compilers.f.unresolved-plugins=1
-compilers.incompatible-environment=1
-compilers.p.build=1
-compilers.p.build.bin.includes=1
-compilers.p.build.encodings=2
-compilers.p.build.java.compiler=2
-compilers.p.build.java.compliance=1
-compilers.p.build.missing.output=2
-compilers.p.build.output.library=1
-compilers.p.build.source.library=1
-compilers.p.build.src.includes=1
-compilers.p.deprecated=1
-compilers.p.discouraged-class=1
-compilers.p.internal=1
-compilers.p.missing-packages=1
-compilers.p.missing-version-export-package=2
-compilers.p.missing-version-import-package=2
-compilers.p.missing-version-require-bundle=2
-compilers.p.no-required-att=0
-compilers.p.not-externalized-att=1
-compilers.p.unknown-attribute=1
-compilers.p.unknown-class=1
-compilers.p.unknown-element=1
-compilers.p.unknown-identifier=1
-compilers.p.unknown-resource=1
-compilers.p.unresolved-ex-points=0
-compilers.p.unresolved-import=0
-compilers.s.create-docs=false
-compilers.s.doc-folder=doc
-compilers.s.open-tags=1
-eclipse.preferences.version=1
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.ui/META-INF/MANIFEST.MF b/lttng/org.eclipse.linuxtools.lttng2.control.ui/META-INF/MANIFEST.MF
deleted file mode 100644
index d71a7ac813..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.ui/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,37 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %Bundle-Name
-Bundle-Vendor: %Bundle-Vendor
-Bundle-Version: 3.1.0.qualifier
-Bundle-Localization: plugin
-Bundle-SymbolicName: org.eclipse.linuxtools.lttng2.control.ui;singleton:=true
-Bundle-Activator: org.eclipse.linuxtools.internal.lttng2.control.ui.Activator
-Bundle-ActivationPolicy: lazy
-Bundle-RequiredExecutionEnvironment: JavaSE-1.7
-Require-Bundle: org.eclipse.ui,
- org.eclipse.ui.ide,
- org.eclipse.core.expressions,
- org.eclipse.core.resources,
- org.eclipse.core.runtime,
- org.eclipse.linuxtools.lttng2.control.core;bundle-version="3.1.0",
- org.eclipse.linuxtools.tmf.core;bundle-version="3.1.0",
- org.eclipse.linuxtools.tmf.ui;bundle-version="3.1.0",
- org.eclipse.linuxtools.tmf.ctf.core,
- org.eclipse.linuxtools.ctf.core,
- org.eclipse.remote.core;bundle-version="1.0.0",
- org.eclipse.remote.ui;bundle-version="1.1.0",
- org.eclipse.core.filesystem
-Export-Package: org.eclipse.linuxtools.internal.lttng2.control.ui;x-friends:="org.eclipse.linuxtools.lttng2.control.ui.tests",
- org.eclipse.linuxtools.internal.lttng2.control.ui.relayd;x-internal:=true,
- org.eclipse.linuxtools.internal.lttng2.control.ui.views;x-friends:="org.eclipse.linuxtools.lttng2.kernel.ui,org.eclipse.linuxtools.lttng2.control.ui.tests,org.eclipse.linuxtools.lttng2.kernel.ui.swtbot.tests",
- org.eclipse.linuxtools.internal.lttng2.control.ui.views.dialogs;x-friends:="org.eclipse.linuxtools.lttng2.control.ui.tests",
- org.eclipse.linuxtools.internal.lttng2.control.ui.views.handlers;x-internal:=true,
- org.eclipse.linuxtools.internal.lttng2.control.ui.views.logging;x-friends:="org.eclipse.linuxtools.lttng2.control.ui.tests",
- org.eclipse.linuxtools.internal.lttng2.control.ui.views.messages;x-internal:=true,
- org.eclipse.linuxtools.internal.lttng2.control.ui.views.model;x-friends:="org.eclipse.linuxtools.lttng2.control.ui.tests",
- org.eclipse.linuxtools.internal.lttng2.control.ui.views.model.impl;x-friends:="org.eclipse.linuxtools.lttng2.control.ui.tests",
- org.eclipse.linuxtools.internal.lttng2.control.ui.views.preferences;x-friends:="org.eclipse.linuxtools.lttng2.control.ui.tests",
- org.eclipse.linuxtools.internal.lttng2.control.ui.views.property;x-friends:="org.eclipse.linuxtools.lttng2.control.ui.tests",
- org.eclipse.linuxtools.internal.lttng2.control.ui.views.remote;x-friends:="org.eclipse.linuxtools.lttng2.control.ui.tests",
- org.eclipse.linuxtools.internal.lttng2.control.ui.views.service;x-friends:="org.eclipse.linuxtools.lttng2.control.ui.tests"
-Import-Package: com.google.common.collect
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.ui/about.html b/lttng/org.eclipse.linuxtools.lttng2.control.ui/about.html
deleted file mode 100644
index c258ef55d8..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.ui/about.html
+++ /dev/null
@@ -1,28 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
-<title>About</title>
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
-
-<p>June 5, 2006</p>
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;). Unless otherwise
-indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is available
-at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is
-being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content. Check the Redistributor's license that was
-provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at <a href="http://www.eclipse.org/">http://www.eclipse.org</a>.</p>
-
-</body>
-</html> \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.ui/build.properties b/lttng/org.eclipse.linuxtools.lttng2.control.ui/build.properties
deleted file mode 100644
index 94af68f058..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.ui/build.properties
+++ /dev/null
@@ -1,23 +0,0 @@
-###############################################################################
-# Copyright (c) 2013 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:
-# Ericsson - Initial API and implementation
-###############################################################################
-
-source.. = src/
-output.. = bin/
-bin.includes = META-INF/,\
- .,\
- plugin.xml,\
- icons/,\
- about.html,\
- plugin.properties
-src.includes = about.html
-additional.bundles = org.eclipse.jdt.annotation
-jars.extra.classpath = platform:/plugin/org.eclipse.jdt.annotation
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.ui/icons/elcl16/add-context.gif b/lttng/org.eclipse.linuxtools.lttng2.control.ui/icons/elcl16/add-context.gif
deleted file mode 100644
index 030eade39b..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.ui/icons/elcl16/add-context.gif
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.ui/icons/elcl16/add_button.gif b/lttng/org.eclipse.linuxtools.lttng2.control.ui/icons/elcl16/add_button.gif
deleted file mode 100644
index 252d7ebcb8..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.ui/icons/elcl16/add_button.gif
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.ui/icons/elcl16/calibrate.gif b/lttng/org.eclipse.linuxtools.lttng2.control.ui/icons/elcl16/calibrate.gif
deleted file mode 100644
index c984fba703..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.ui/icons/elcl16/calibrate.gif
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.ui/icons/elcl16/connect.gif b/lttng/org.eclipse.linuxtools.lttng2.control.ui/icons/elcl16/connect.gif
deleted file mode 100644
index 866ad33825..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.ui/icons/elcl16/connect.gif
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.ui/icons/elcl16/delete_trace.gif b/lttng/org.eclipse.linuxtools.lttng2.control.ui/icons/elcl16/delete_trace.gif
deleted file mode 100644
index b6922ac11c..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.ui/icons/elcl16/delete_trace.gif
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.ui/icons/elcl16/disable.gif b/lttng/org.eclipse.linuxtools.lttng2.control.ui/icons/elcl16/disable.gif
deleted file mode 100644
index f6b9f8a590..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.ui/icons/elcl16/disable.gif
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.ui/icons/elcl16/disable_event.gif b/lttng/org.eclipse.linuxtools.lttng2.control.ui/icons/elcl16/disable_event.gif
deleted file mode 100644
index 2966a28163..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.ui/icons/elcl16/disable_event.gif
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.ui/icons/elcl16/disconnect.gif b/lttng/org.eclipse.linuxtools.lttng2.control.ui/icons/elcl16/disconnect.gif
deleted file mode 100644
index ec8a8b01e4..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.ui/icons/elcl16/disconnect.gif
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.ui/icons/elcl16/edit.gif b/lttng/org.eclipse.linuxtools.lttng2.control.ui/icons/elcl16/edit.gif
deleted file mode 100644
index feb8e94a74..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.ui/icons/elcl16/edit.gif
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.ui/icons/elcl16/enable.gif b/lttng/org.eclipse.linuxtools.lttng2.control.ui/icons/elcl16/enable.gif
deleted file mode 100644
index 9cacb96dca..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.ui/icons/elcl16/enable.gif
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.ui/icons/elcl16/enable_event.gif b/lttng/org.eclipse.linuxtools.lttng2.control.ui/icons/elcl16/enable_event.gif
deleted file mode 100644
index 06d007905b..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.ui/icons/elcl16/enable_event.gif
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.ui/icons/elcl16/import_trace.gif b/lttng/org.eclipse.linuxtools.lttng2.control.ui/icons/elcl16/import_trace.gif
deleted file mode 100644
index d38085ad9c..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.ui/icons/elcl16/import_trace.gif
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.ui/icons/elcl16/pause_trace.gif b/lttng/org.eclipse.linuxtools.lttng2.control.ui/icons/elcl16/pause_trace.gif
deleted file mode 100644
index 161e3f594f..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.ui/icons/elcl16/pause_trace.gif
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.ui/icons/elcl16/refresh.gif b/lttng/org.eclipse.linuxtools.lttng2.control.ui/icons/elcl16/refresh.gif
deleted file mode 100644
index 3ca04d06ff..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.ui/icons/elcl16/refresh.gif
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.ui/icons/elcl16/snapshot.gif b/lttng/org.eclipse.linuxtools.lttng2.control.ui/icons/elcl16/snapshot.gif
deleted file mode 100644
index 176830af2d..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.ui/icons/elcl16/snapshot.gif
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.ui/icons/elcl16/start_trace.gif b/lttng/org.eclipse.linuxtools.lttng2.control.ui/icons/elcl16/start_trace.gif
deleted file mode 100644
index d6b3bdcc37..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.ui/icons/elcl16/start_trace.gif
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.ui/icons/elcl16/stop_trace.gif b/lttng/org.eclipse.linuxtools.lttng2.control.ui/icons/elcl16/stop_trace.gif
deleted file mode 100644
index dc47edf069..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.ui/icons/elcl16/stop_trace.gif
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.ui/icons/elcl16/target_add.gif b/lttng/org.eclipse.linuxtools.lttng2.control.ui/icons/elcl16/target_add.gif
deleted file mode 100644
index 114b964325..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.ui/icons/elcl16/target_add.gif
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.ui/icons/elcl16/target_delete.gif b/lttng/org.eclipse.linuxtools.lttng2.control.ui/icons/elcl16/target_delete.gif
deleted file mode 100644
index b853d62333..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.ui/icons/elcl16/target_delete.gif
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.ui/icons/eview16/control_view.gif b/lttng/org.eclipse.linuxtools.lttng2.control.ui/icons/eview16/control_view.gif
deleted file mode 100644
index 0dc862cbd7..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.ui/icons/eview16/control_view.gif
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.ui/icons/obj16/channel.gif b/lttng/org.eclipse.linuxtools.lttng2.control.ui/icons/obj16/channel.gif
deleted file mode 100644
index e8efe69dc3..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.ui/icons/obj16/channel.gif
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.ui/icons/obj16/channel_disabled.gif b/lttng/org.eclipse.linuxtools.lttng2.control.ui/icons/obj16/channel_disabled.gif
deleted file mode 100644
index 413c1b953e..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.ui/icons/obj16/channel_disabled.gif
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.ui/icons/obj16/domain.gif b/lttng/org.eclipse.linuxtools.lttng2.control.ui/icons/obj16/domain.gif
deleted file mode 100644
index c4a8af4184..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.ui/icons/obj16/domain.gif
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.ui/icons/obj16/event_disabled.gif b/lttng/org.eclipse.linuxtools.lttng2.control.ui/icons/obj16/event_disabled.gif
deleted file mode 100644
index 2966a28163..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.ui/icons/obj16/event_disabled.gif
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.ui/icons/obj16/event_enabled.gif b/lttng/org.eclipse.linuxtools.lttng2.control.ui/icons/obj16/event_enabled.gif
deleted file mode 100644
index 11d3d8da1e..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.ui/icons/obj16/event_enabled.gif
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.ui/icons/obj16/garland16.png b/lttng/org.eclipse.linuxtools.lttng2.control.ui/icons/obj16/garland16.png
deleted file mode 100644
index 74f9751638..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.ui/icons/obj16/garland16.png
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.ui/icons/obj16/providers.gif b/lttng/org.eclipse.linuxtools.lttng2.control.ui/icons/obj16/providers.gif
deleted file mode 100644
index 885b8a69e3..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.ui/icons/obj16/providers.gif
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.ui/icons/obj16/session_active.gif b/lttng/org.eclipse.linuxtools.lttng2.control.ui/icons/obj16/session_active.gif
deleted file mode 100644
index 57a42bca84..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.ui/icons/obj16/session_active.gif
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.ui/icons/obj16/session_destroyed.gif b/lttng/org.eclipse.linuxtools.lttng2.control.ui/icons/obj16/session_destroyed.gif
deleted file mode 100644
index b0adbc3231..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.ui/icons/obj16/session_destroyed.gif
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.ui/icons/obj16/session_inactive.gif b/lttng/org.eclipse.linuxtools.lttng2.control.ui/icons/obj16/session_inactive.gif
deleted file mode 100644
index b6774cb0ef..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.ui/icons/obj16/session_inactive.gif
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.ui/icons/obj16/sessions.gif b/lttng/org.eclipse.linuxtools.lttng2.control.ui/icons/obj16/sessions.gif
deleted file mode 100644
index c69588429f..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.ui/icons/obj16/sessions.gif
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.ui/icons/obj16/systemlttng2-live.gif b/lttng/org.eclipse.linuxtools.lttng2.control.ui/icons/obj16/systemlttng2-live.gif
deleted file mode 100755
index 57c522db6c..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.ui/icons/obj16/systemlttng2-live.gif
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.ui/icons/obj16/systemlttng2.gif b/lttng/org.eclipse.linuxtools.lttng2.control.ui/icons/obj16/systemlttng2.gif
deleted file mode 100755
index fd7b3117f2..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.ui/icons/obj16/systemlttng2.gif
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.ui/icons/obj16/target_connected.gif b/lttng/org.eclipse.linuxtools.lttng2.control.ui/icons/obj16/target_connected.gif
deleted file mode 100644
index def312aa12..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.ui/icons/obj16/target_connected.gif
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.ui/icons/obj16/target_disconnected.gif b/lttng/org.eclipse.linuxtools.lttng2.control.ui/icons/obj16/target_disconnected.gif
deleted file mode 100644
index 2104ab4545..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.ui/icons/obj16/target_disconnected.gif
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.ui/icons/obj16/targets.gif b/lttng/org.eclipse.linuxtools.lttng2.control.ui/icons/obj16/targets.gif
deleted file mode 100644
index c1e4ee3a59..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.ui/icons/obj16/targets.gif
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.ui/plugin.properties b/lttng/org.eclipse.linuxtools.lttng2.control.ui/plugin.properties
deleted file mode 100644
index cc7216bdf1..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.ui/plugin.properties
+++ /dev/null
@@ -1,143 +0,0 @@
-###############################################################################
-# Copyright (c) 2013, 2014 Ericsson and others.
-#
-# 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:
-# Ericsson - Initial API and implementation
-###############################################################################
-
-#Properties file for org.eclipse.linuxtools.lttng2.control.ui
-Bundle-Vendor = Eclipse Linux Tools
-Bundle-Name = Linux Tools LTTng Control UI Plug-in
-
-views.category.name = LTTng
-control.view.name = Control
-events.view.name = Events
-timeframe.view.name = Time Frame
-controlflow.view.name = Control Flow
-resources.view.name = Resources
-statistics.view.name = Statistics
-histogram.view.name = Histogram
-latency.view.name = Latency View
-
-project.new.category.name = LTTng
-project.new.wizard.name = LTTng Project
-project.new.wizard.description = Create a new LTTng project
-
-project.propertyPage.tracelibPath = LTTng Trace Library Path
-action.set.label = LTTng Action Set
-action.set.description = LTTng Action Set
-
-tracetype.category.lttng= LTTng
-tracetype.type.kernel = Kernel Trace
-
-#Commands and Menus
-commands.trace.category.name = LTTng Trace Commands
-commands.trace.category.description = LTTng Trace Commands
-commands.trace.import = Import Trace
-commands.trace.import.description = Import an LTTng Trace
-commands.trace.open = Open Trace
-commands.trace.open.description = Open an LTTng Trace
-commands.trace.rename = Rename Trace
-commands.trace.rename.description = Rename an LTTng Trace
-commands.trace.delete = Delete Trace
-commands.trace.delete.description = Delete an LTTng Trace
-commands.trace.selectparser = Select Parser
-
-commands.experiment.category.name = LTTng Experiment Commands
-commands.experiment.category.description = LTTng Experiment Commands
-commands.experiment.new = New Experiment
-commands.experiment.new.description = Create a new LTTng Experiment
-commands.experiment.selecttraces = Select Traces
-commands.experiment.selecttraces.description = Select LTTng Traces
-commands.experiment.open = Open Experiment
-commands.experiment.open.description = Open an LTTng Experiment
-commands.experiment.rename = Rename Experiment
-commands.experiment.rename.description = Rename an LTTng Experiment
-commands.experiment.delete = Delete Experiment
-commands.experiment.delete.description = Delete an LTTng Experiment
-
-# LTTng 2.0 trace control commands
-commands.control.category=LTTng Trace Control Commands
-commands.control.category.description=LTTng Trace Control Commands
-
-commands.control.new=New Connection...
-commands.control.new.description=New Connection to Target Node
-
-commands.control.connect=Connect
-commands.control.connect.description=Connect to Target Node
-
-commands.control.disconnect=Disconnect
-commands.control.disconnect.description=Disconnect to Target Node
-
-commands.control.refresh=Refresh
-commands.control.refresh.description=Refresh Node Configuration
-
-commands.control.delete=Delete
-commands.control.delete.description=Delete Target Node
-
-commands.control.create.session=Create Session...
-commands.control.create.session.description=Create a Trace Session
-
-commands.control.execute.command.script=Execute Command Script...
-commands.control.execute.command.script.description=Execute Command Script
-
-commands.control.destroy.session=Destroy Session...
-commands.control.destroy.session.description=Destroy a Trace Session
-
-commands.control.enable.channelOnSession=Enable Channel...
-commands.control.enable.channelOnSession.description=Enable a Trace Channel
-
-commands.control.enable.channelOnDomain=Enable Channel...
-commands.control.enable.channelOnDomain.description=Enable a Trace Channel
-
-commands.control.enable.channel=Enable Channel
-commands.control.enable.channel.description=Enable a Trace Channel
-
-commands.control.disable.channel=Disable Channel
-commands.control.disable.channel.description=Disable a Trace Channel
-
-commands.control.start=Start
-commands.control.start.description=Start Trace Session
-
-commands.control.stop=Stop
-commands.control.stop.description=Stop Trace Session
-
-commands.control.assign.event=Enable Event...
-commands.control.assign.event.description=Assign Event to Session and Channel and Enable Event
-
-commands.control.enable.event=Enable Event
-commands.control.enable.event.description=Enable Event
-
-commands.control.enable.eventOnChannel=Enable Event...
-commands.control.enable.eventOnChannel.description=Enable Event
-
-commands.control.enable.eventOnDomain=Enable Event (default channel)...
-commands.control.enable.eventOnDomain.description=Enable Event on Default Channel
-
-commands.control.enable.eventOnSession=Enable Event (default channel)...
-commands.control.enable.eventOnSession.description=Enable Event on Default Channel
-
-commands.control.disable.event=Disable Event
-commands.control.disable.event.description=Disable Event
-
-commands.control.add.context=Add Context...
-commands.control.add.context.description=Add Context to Channel(s) and/or Event(s)
-
-commands.control.import=Import...
-commands.control.import.description=Import Traces to LTTng Project
-
-commands.control.calibrate=Calibrate
-commands.control.calibrate.description=Quantify LTTng overhead
-
-commands.control.snapshot=Record Snapshot
-commands.control.snapshot.description=Record a snapshot
-
-preference.page.control.name=LTTng Tracer Control Preferences
-
-commandParameter.remoteServicesId.name = Remote Services ID
-commandParameter.connectionName.name = Connection Name \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.ui/plugin.xml b/lttng/org.eclipse.linuxtools.lttng2.control.ui/plugin.xml
deleted file mode 100644
index 2d7aa9821e..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.ui/plugin.xml
+++ /dev/null
@@ -1,1273 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.4"?>
-<plugin>
- <extension
- id="org.eclipse.linuxtools.lttng2.ui.views"
- point="org.eclipse.ui.views">
- <category
- id="org.eclipse.linuxtools.lttng2.ui.views.category"
- name="%views.category.name">
- </category>
- <view
- allowMultiple="false"
- category="org.eclipse.linuxtools.lttng2.ui.views.category"
- class="org.eclipse.linuxtools.internal.lttng2.control.ui.views.ControlView"
- icon="icons/eview16/control_view.gif"
- id="org.eclipse.linuxtools.internal.lttng2.ui.views.control"
- name="%control.view.name"
- restorable="true">
- </view>
- </extension>
-
- <extension
- point="org.eclipse.ui.commands">
- <category
- description="%commands.control.category.description"
- id="org.eclipse.linuxtools.internal.lttng2.ui.commands.control.category"
- name="%commands.control.category">
- </category>
- <command
- categoryId="org.eclipse.linuxtools.internal.lttng2.ui.commands.control.category"
- description="%commands.control.new.description"
- id="org.eclipse.linuxtools.internal.lttng2.ui.commands.control.newConnection"
- name="%commands.control.new">
- <commandParameter
- id="org.eclipse.linuxtools.lttng2.control.ui.remoteServicesIdParameter"
- name="%commandParameter.remoteServicesId.name"
- optional="true">
- </commandParameter>
- <commandParameter
- id="org.eclipse.linuxtools.lttng2.control.ui.connectionNameParameter"
- name="%commandParameter.connectionName.name"
- optional="true">
- </commandParameter>
- </command>
- <command
- categoryId="org.eclipse.linuxtools.internal.lttng2.ui.commands.control.category"
- description="%commands.control.connect.description"
- id="org.eclipse.linuxtools.internal.lttng2.ui.commands.control.connect"
- name="%commands.control.connect">
- </command>
- <command
- categoryId="org.eclipse.linuxtools.internal.lttng2.ui.commands.control.category"
- description="%commands.control.disconnect.description"
- id="org.eclipse.linuxtools.internal.lttng2.ui.commands.control.disconnect"
- name="%commands.control.disconnect">
- </command>
- <command
- categoryId="org.eclipse.linuxtools.internal.lttng2.ui.commands.control.category"
- description="%commands.control.refresh.description"
- id="org.eclipse.linuxtools.internal.lttng2.ui.commands.control.refresh"
- name="%commands.control.refresh">
- </command>
- <command
- categoryId="org.eclipse.linuxtools.internal.lttng2.ui.commands.control.category"
- description="%commands.control.delete.description"
- id="org.eclipse.linuxtools.internal.lttng2.ui.commands.control.delete"
- name="%commands.control.delete">
- </command>
- <command
- categoryId="org.eclipse.linuxtools.internal.lttng2.ui.commands.control.category"
- description="%commands.control.create.session.description"
- id="org.eclipse.linuxtools.internal.lttng2.ui.commands.control.createSession"
- name="%commands.control.create.session">
- </command>
- <command
- categoryId="org.eclipse.linuxtools.internal.lttng2.ui.commands.control.category"
- description="%commands.control.execute.command.script.description"
- id="org.eclipse.linuxtools.internal.lttng2.ui.commands.control.executeScript"
- name="%commands.control.execute.command.script">
- </command>
- <command
- categoryId="org.eclipse.linuxtools.internal.lttng2.ui.commands.control.category"
- description="%commands.control.destroy.session.description"
- id="org.eclipse.linuxtools.internal.lttng2.ui.commands.control.destroySession"
- name="%commands.control.destroy.session">
- </command>
- <command
- categoryId="org.eclipse.linuxtools.internal.lttng2.ui.commands.control.category"
- description="%commands.control.import.description"
- id="org.eclipse.linuxtools.internal.lttng2.ui.commands.control.import"
- name="%commands.control.import">
- </command>
- <command
- categoryId="org.eclipse.linuxtools.internal.lttng2.ui.commands.control.category"
- description="%commands.control.enable.channelOnSession.description"
- id="org.eclipse.linuxtools.internal.lttng2.ui.commands.control.enableChannelOnSession"
- name="%commands.control.enable.channelOnSession">
- </command>
- <command
- categoryId="org.eclipse.linuxtools.internal.lttng2.ui.commands.control.category"
- description="%commands.control.enable.channelOnDomain.description"
- id="org.eclipse.linuxtools.internal.lttng2.ui.commands.control.enableChannelOnDomain"
- name="%commands.control.enable.channelOnDomain">
- </command>
- <command
- categoryId="org.eclipse.linuxtools.internal.lttng2.ui.commands.control.category"
- description="%commands.control.enable.channel.description"
- id="org.eclipse.linuxtools.internal.lttng2.ui.commands.control.enableChannel"
- name="%commands.control.enable.channel">
- </command>
- <command
- categoryId="org.eclipse.linuxtools.internal.lttng2.ui.commands.control.category"
- description="%commands.control.disable.channel.description"
- id="org.eclipse.linuxtools.internal.lttng2.ui.commands.control.disableChannel"
- name="%commands.control.disable.channel">
- </command>
- <command
- categoryId="org.eclipse.linuxtools.internal.lttng2.ui.commands.control.category"
- description="%commands.control.start.description"
- id="org.eclipse.linuxtools.internal.lttng2.ui.commands.control.start"
- name="%commands.control.start">
- </command>
- <command
- categoryId="org.eclipse.linuxtools.internal.lttng2.ui.commands.control.category"
- description="%commands.control.stop.description"
- id="org.eclipse.linuxtools.internal.lttng2.ui.commands.control.stop"
- name="%commands.control.stop">
- </command>
- <command
- categoryId="org.eclipse.linuxtools.internal.lttng2.ui.commands.control.category"
- description="%commands.control.assign.event.description"
- id="org.eclipse.linuxtools.internal.lttng2.ui.commands.control.assign.event"
- name="%commands.control.assign.event">
- </command>
- <command
- categoryId="org.eclipse.linuxtools.internal.lttng2.ui.commands.control.category"
- description="%commands.control.enable.event.description"
- id="org.eclipse.linuxtools.internal.lttng2.ui.commands.control.enableEvent"
- name="%commands.control.enable.event">
- </command>
- <command
- categoryId="org.eclipse.linuxtools.internal.lttng2.ui.commands.control.category"
- description="%commands.control.disable.event.description"
- id="org.eclipse.linuxtools.internal.lttng2.ui.commands.control.disableEvent"
- name="%commands.control.disable.event">
- </command>
- <command
- categoryId="org.eclipse.linuxtools.internal.lttng2.ui.commands.control.category"
- description="%commands.control.enable.eventOnChannel.description"
- id="org.eclipse.linuxtools.internal.lttng2.ui.commands.control.enableEventOnChannel"
- name="%commands.control.enable.eventOnChannel">
- </command>
- <command
- categoryId="org.eclipse.linuxtools.internal.lttng2.ui.commands.control.category"
- description="%commands.control.enable.eventOnDomain.description"
- id="org.eclipse.linuxtools.internal.lttng2.ui.commands.control.enableEventOnDomain"
- name="%commands.control.enable.eventOnDomain">
- </command>
- <command
- categoryId="org.eclipse.linuxtools.internal.lttng2.ui.commands.control.category"
- description="%commands.control.enable.eventOnSession.description"
- id="org.eclipse.linuxtools.internal.lttng2.ui.commands.control.enableEventOnSession"
- name="%commands.control.enable.eventOnSession">
- </command>
-
- <command
- categoryId="org.eclipse.linuxtools.internal.lttng2.ui.commands.control.category"
- description="%commands.control.add.context.description"
- id="org.eclipse.linuxtools.internal.lttng2.ui.commands.control.addContextOnDomain"
- name="%commands.control.add.context">
- </command>
-
- <command
- categoryId="org.eclipse.linuxtools.internal.lttng2.ui.commands.control.category"
- description="%commands.control.add.context.description"
- id="org.eclipse.linuxtools.internal.lttng2.ui.commands.control.addContextOnChannel"
- name="%commands.control.add.context">
- </command>
-
- <command
- categoryId="org.eclipse.linuxtools.internal.lttng2.ui.commands.control.category"
- description="%commands.control.add.context.description"
- id="org.eclipse.linuxtools.internal.lttng2.ui.commands.control.addContextOnEvent"
- name="%commands.control.add.context">
- </command>
-
- <command
- categoryId="org.eclipse.linuxtools.internal.lttng2.ui.commands.control.category"
- description="%commands.control.import.description"
- id="org.eclipse.linuxtools.internal.lttng2.ui.commands.control.import"
- name="%commands.control.import">
- </command>
-
- <command
- categoryId="org.eclipse.linuxtools.internal.lttng2.ui.commands.control.category"
- description="%commands.control.calibrate.description"
- id="org.eclipse.linuxtools.internal.lttng2.ui.commands.control.calibrate"
- name="%commands.control.calibrate">
- </command>
-
- <command
- categoryId="org.eclipse.linuxtools.internal.lttng2.ui.commands.control.category"
- description="%commands.control.snapshot.description"
- id="org.eclipse.linuxtools.internal.lttng2.ui.commands.control.snapshot"
- name="%commands.control.snapshot">
- </command>
-
- </extension>
- <extension
- point="org.eclipse.ui.menus">
- <menuContribution
- allPopups="false"
- locationURI="toolbar:org.eclipse.linuxtools.internal.lttng2.ui.views.control">
- <command
- commandId="org.eclipse.linuxtools.internal.lttng2.ui.commands.control.newConnection"
- icon="icons/elcl16/target_add.gif"
- label="%commands.control.new"
- style="push">
- </command>
- <command
- commandId="org.eclipse.linuxtools.internal.lttng2.ui.commands.control.connect"
- icon="icons/elcl16/connect.gif"
- label="%commands.control.connect"
- style="push">
- </command>
- <command
- commandId="org.eclipse.linuxtools.internal.lttng2.ui.commands.control.disconnect"
- icon="icons/elcl16/disconnect.gif"
- label="%commands.control.disconnect"
- style="push">
- </command>
- <command
- commandId="org.eclipse.linuxtools.internal.lttng2.ui.commands.control.refresh"
- icon="icons/elcl16/refresh.gif"
- label="%commands.control.refresh"
- style="push">
- </command>
- <command
- commandId="org.eclipse.linuxtools.internal.lttng2.ui.commands.control.delete"
- icon="icons/elcl16/target_delete.gif"
- label="%commands.control.delete"
- style="push">
- </command>
- <separator
- name="org.eclipse.linuxtools.internal.lttng2.ui.views.control.toolbar.separator1"
- visible="true">
- </separator>
- <command
- commandId="org.eclipse.linuxtools.internal.lttng2.ui.commands.control.start"
- icon="icons/elcl16/start_trace.gif"
- label="%commands.control.start"
- style="push">
- </command>
- <command
- commandId="org.eclipse.linuxtools.internal.lttng2.ui.commands.control.stop"
- icon="icons/elcl16/pause_trace.gif"
- label="%commands.control.stop"
- style="push">
- </command>
- <command
- commandId="org.eclipse.linuxtools.internal.lttng2.ui.commands.control.destroySession"
- icon="icons/elcl16/delete_trace.gif"
- label="%commands.control.destroy.session"
- style="push">
- </command>
- <separator
- name="org.eclipse.linuxtools.internal.lttng2.ui.views.control.toolbar.separator2"
- visible="true">
- </separator>
- <command
- commandId="org.eclipse.linuxtools.internal.lttng2.ui.commands.control.snapshot"
- icon="icons/elcl16/snapshot.gif"
- label="%commands.control.snapshot"
- style="push">
- </command>
- <separator
- name="org.eclipse.linuxtools.internal.lttng2.ui.views.control.toolbar.separator3"
- visible="true">
- </separator>
- <command
- commandId="org.eclipse.linuxtools.internal.lttng2.ui.commands.control.import"
- icon="icons/elcl16/import_trace.gif"
- label="%commands.control.import"
- style="push">
- </command>
-
- </menuContribution>
- <menuContribution
- allPopups="false"
- locationURI="popup:org.eclipse.linuxtools.internal.lttng2.ui.views.control">
- <command
- commandId="org.eclipse.linuxtools.internal.lttng2.ui.commands.control.connect"
- icon="icons/elcl16/connect.gif"
- label="%commands.control.connect"
- style="push">
- <visibleWhen
- checkEnabled="false">
- <with
- variable="activeMenuSelection">
- <iterate
- operator="or">
- <instanceof
- value="org.eclipse.linuxtools.internal.lttng2.control.ui.views.model.impl.TargetNodeComponent">
- </instanceof>
- </iterate>
- </with>
- </visibleWhen>
- </command>
- <command
- commandId="org.eclipse.linuxtools.internal.lttng2.ui.commands.control.disconnect"
- icon="icons/elcl16/disconnect.gif"
- label="%commands.control.disconnect"
- style="push">
- <visibleWhen
- checkEnabled="false">
- <with
- variable="activeMenuSelection">
- <iterate
- operator="or">
- <instanceof
- value="org.eclipse.linuxtools.internal.lttng2.control.ui.views.model.impl.TargetNodeComponent">
- </instanceof>
- </iterate>
- </with>
- </visibleWhen>
- </command>
- <command
- commandId="org.eclipse.linuxtools.internal.lttng2.ui.commands.control.refresh"
- icon="icons/elcl16/refresh.gif"
- label="%commands.control.refresh"
- style="push">
- <visibleWhen
- checkEnabled="false">
- <with
- variable="activeMenuSelection">
- <iterate
- operator="or">
- <instanceof
- value="org.eclipse.linuxtools.internal.lttng2.control.ui.views.model.impl.TraceControlComponent">
- </instanceof>
- </iterate>
- </with>
- </visibleWhen>
- </command>
- <command
- commandId="org.eclipse.linuxtools.internal.lttng2.ui.commands.control.delete"
- icon="icons/elcl16/target_delete.gif"
- label="%commands.control.delete"
- style="push">
- <visibleWhen
- checkEnabled="false">
- <with
- variable="activeMenuSelection">
- <iterate
- operator="or">
- <instanceof
- value="org.eclipse.linuxtools.internal.lttng2.control.ui.views.model.impl.TargetNodeComponent">
- </instanceof>
- </iterate>
- </with>
- </visibleWhen>
- </command>
- <command
- commandId="org.eclipse.linuxtools.internal.lttng2.ui.commands.control.createSession"
- icon="icons/elcl16/add_button.gif"
- label="%commands.control.create.session"
- style="push">
- <visibleWhen
- checkEnabled="false">
- <with
- variable="activeMenuSelection">
- <iterate
- operator="or">
- <instanceof
- value="org.eclipse.linuxtools.internal.lttng2.control.ui.views.model.impl.TraceSessionGroup">
- </instanceof>
- </iterate>
- </with>
- </visibleWhen>
- </command>
- <command
- commandId="org.eclipse.linuxtools.internal.lttng2.ui.commands.control.executeScript"
- icon="icons/elcl16/add_button.gif"
- label="%commands.control.execute.command.script"
- style="push">
- <visibleWhen
- checkEnabled="false">
- <with
- variable="activeMenuSelection">
- <iterate
- operator="or">
- <instanceof
- value="org.eclipse.linuxtools.internal.lttng2.control.ui.views.model.impl.TraceSessionGroup">
- </instanceof>
- </iterate>
- </with>
- </visibleWhen>
- </command>
- <command
- commandId="org.eclipse.linuxtools.internal.lttng2.ui.commands.control.start"
- icon="icons/elcl16/start_trace.gif"
- label="%commands.control.start"
- style="push">
- <visibleWhen
- checkEnabled="false">
- <with
- variable="activeMenuSelection">
- <iterate
- operator="or">
- <instanceof
- value="org.eclipse.linuxtools.internal.lttng2.control.ui.views.model.impl.TraceSessionComponent">
- </instanceof>
- </iterate>
- </with>
- </visibleWhen>
- </command>
- <command
- commandId="org.eclipse.linuxtools.internal.lttng2.ui.commands.control.stop"
- icon="icons/elcl16/pause_trace.gif"
- label="%commands.control.stop"
- style="push">
- <visibleWhen
- checkEnabled="false">
- <with
- variable="activeMenuSelection">
- <iterate
- operator="or">
- <instanceof
- value="org.eclipse.linuxtools.internal.lttng2.control.ui.views.model.impl.TraceSessionComponent">
- </instanceof>
- </iterate>
- </with>
- </visibleWhen>
- </command>
- <command
- commandId="org.eclipse.linuxtools.internal.lttng2.ui.commands.control.destroySession"
- icon="icons/elcl16/delete_trace.gif"
- label="%commands.control.destroy.session"
- style="push">
- <visibleWhen
- checkEnabled="false">
- <with
- variable="activeMenuSelection">
- <iterate
- operator="or">
- <instanceof
- value="org.eclipse.linuxtools.internal.lttng2.control.ui.views.model.impl.TraceSessionComponent">
- </instanceof>
- </iterate>
- </with>
- </visibleWhen>
- </command>
- <separator
- name="org.eclipse.linuxtools.internal.lttng2.ui.views.control.popup.separator1"
- visible="true">
- </separator>
- <command
- commandId="org.eclipse.linuxtools.internal.lttng2.ui.commands.control.import"
- icon="icons/elcl16/import_trace.gif"
- label="%commands.control.import"
- style="push">
- <visibleWhen
- checkEnabled="false">
- <with
- variable="activeMenuSelection">
- <and>
- <iterate
- operator="or">
- <instanceof
- value="org.eclipse.linuxtools.internal.lttng2.control.ui.views.model.impl.TraceSessionComponent">
- </instanceof>
- </iterate>
- <count
- value="1">
- </count>
- </and>
- </with>
- </visibleWhen>
- </command>
- <separator
- name="org.eclipse.linuxtools.internal.lttng2.ui.views.control.popup.separator2"
- visible="true">
- </separator>
- <command
- commandId="org.eclipse.linuxtools.internal.lttng2.ui.commands.control.enableChannelOnSession"
- icon="icons/elcl16/add_button.gif"
- label="%commands.control.enable.channelOnSession"
- style="push">
- <visibleWhen
- checkEnabled="false">
- <with
- variable="activeMenuSelection">
- <and>
- <iterate
- operator="or">
- <instanceof
- value="org.eclipse.linuxtools.internal.lttng2.control.ui.views.model.impl.TraceSessionComponent">
- </instanceof>
- </iterate>
- <not>
- <iterate
- operator="or">
- <instanceof
- value="org.eclipse.linuxtools.internal.lttng2.control.ui.views.model.impl.TraceDomainComponent">
- </instanceof>
- </iterate>
- </not>
- <count
- value="1">
- </count>
- </and>
- </with>
- </visibleWhen>
- </command>
- <command
- commandId="org.eclipse.linuxtools.internal.lttng2.ui.commands.control.enableEventOnSession"
- icon="icons/obj16/event_enabled.gif"
- label="%commands.control.enable.eventOnDomain"
- style="push">
- <visibleWhen
- checkEnabled="false">
- <with
- variable="activeMenuSelection">
- <and>
- <iterate
- operator="or">
- <instanceof
- value="org.eclipse.linuxtools.internal.lttng2.control.ui.views.model.impl.TraceSessionComponent">
- </instanceof>
- </iterate>
- <count
- value="1">
- </count>
- </and>
- </with>
- </visibleWhen>
- </command>
- <command
- commandId="org.eclipse.linuxtools.internal.lttng2.ui.commands.control.enableChannelOnDomain"
- icon="icons/elcl16/add_button.gif"
- label="%commands.control.enable.channelOnDomain"
- style="push">
- <visibleWhen
- checkEnabled="false">
- <with
- variable="activeMenuSelection">
- <and>
- <iterate
- operator="or">
- <instanceof
- value="org.eclipse.linuxtools.internal.lttng2.control.ui.views.model.impl.TraceDomainComponent">
- </instanceof>
- </iterate>
- <not>
- <iterate
- operator="or">
- <instanceof
- value="org.eclipse.linuxtools.internal.lttng2.control.ui.views.model.impl.TraceSessionComponent">
- </instanceof>
- </iterate>
- </not>
- <count
- value="1">
- </count>
- </and>
- </with>
- </visibleWhen>
- </command>
- <command
- commandId="org.eclipse.linuxtools.internal.lttng2.ui.commands.control.enableEventOnDomain"
- icon="icons/elcl16/enable_event.gif"
- label="%commands.control.enable.eventOnDomain"
- style="push">
- <visibleWhen
- checkEnabled="false">
- <with
- variable="activeMenuSelection">
- <and>
- <iterate
- operator="or">
- <instanceof
- value="org.eclipse.linuxtools.internal.lttng2.control.ui.views.model.impl.TraceDomainComponent">
- </instanceof>
- </iterate>
- <count
- value="1">
- </count>
- </and>
- </with>
- </visibleWhen>
- </command>
- <command
- commandId="org.eclipse.linuxtools.internal.lttng2.ui.commands.control.enableChannel"
- icon="icons/elcl16/enable.gif"
- label="%commands.control.enable.channel"
- style="push">
- <visibleWhen
- checkEnabled="false">
- <with
- variable="activeMenuSelection">
- <iterate
- operator="or">
- <instanceof
- value="org.eclipse.linuxtools.internal.lttng2.control.ui.views.model.impl.TraceChannelComponent">
- </instanceof>
- </iterate>
- </with>
- </visibleWhen>
- </command>
- <command
- commandId="org.eclipse.linuxtools.internal.lttng2.ui.commands.control.disableChannel"
- icon="icons/elcl16/disable.gif"
- label="%commands.control.disable.channel"
- style="push">
- <visibleWhen
- checkEnabled="false">
- <with
- variable="activeMenuSelection">
- <iterate
- operator="or">
- <instanceof
- value="org.eclipse.linuxtools.internal.lttng2.control.ui.views.model.impl.TraceChannelComponent">
- </instanceof>
- </iterate>
- </with>
- </visibleWhen>
- </command>
-
- <command
- commandId="org.eclipse.linuxtools.internal.lttng2.ui.commands.control.assign.event"
- icon="icons/elcl16/enable_event.gif"
- label="%commands.control.assign.event"
- style="push">
- <visibleWhen
- checkEnabled="false">
- <with
- variable="activeMenuSelection">
- <iterate
- operator="or">
- <instanceof
- value="org.eclipse.linuxtools.internal.lttng2.control.ui.views.model.impl.BaseEventComponent">
- </instanceof>
- </iterate>
- </with>
- </visibleWhen>
- </command>
-
- <command
- commandId="org.eclipse.linuxtools.internal.lttng2.ui.commands.control.enableEvent"
- icon="icons/elcl16/enable_event.gif"
- label="%commands.control.enable.event"
- style="push">
- <visibleWhen
- checkEnabled="false">
- <with
- variable="activeMenuSelection">
- <iterate
- operator="or">
- <instanceof
- value="org.eclipse.linuxtools.internal.lttng2.control.ui.views.model.impl.TraceEventComponent">
- </instanceof>
- </iterate>
- </with>
- </visibleWhen>
- </command>
-
- <command
- commandId="org.eclipse.linuxtools.internal.lttng2.ui.commands.control.disableEvent"
- icon="icons/elcl16/disable_event.gif"
- label="%commands.control.disable.event"
- style="push">
- <visibleWhen
- checkEnabled="false">
- <with
- variable="activeMenuSelection">
- <iterate
- operator="or">
- <instanceof
- value="org.eclipse.linuxtools.internal.lttng2.control.ui.views.model.impl.TraceEventComponent">
- </instanceof>
- </iterate>
- </with>
- </visibleWhen>
- </command>
- <command
- commandId="org.eclipse.linuxtools.internal.lttng2.ui.commands.control.enableEventOnChannel"
- icon="icons/elcl16/enable_event.gif"
- label="%commands.control.enable.eventOnChannel"
- style="push">
- <visibleWhen
- checkEnabled="false">
- <with
- variable="activeMenuSelection">
- <and>
- <iterate
- operator="or">
- <instanceof
- value="org.eclipse.linuxtools.internal.lttng2.control.ui.views.model.impl.TraceChannelComponent">
- </instanceof>
- </iterate>
- <count
- value="1">
- </count>
- </and>
- </with>
- </visibleWhen>
- </command>
- <command
- commandId="org.eclipse.linuxtools.internal.lttng2.ui.commands.control.addContextOnDomain"
- icon="icons/elcl16/add-context.gif"
- label="%commands.control.add.context"
- style="push">
- <visibleWhen
- checkEnabled="false">
- <with
- variable="activeMenuSelection">
- <and>
- <iterate
- operator="or">
- <instanceof
- value="org.eclipse.linuxtools.internal.lttng2.control.ui.views.model.impl.TraceDomainComponent">
- </instanceof>
- </iterate>
- <count
- value="1">
- </count>
- </and>
- </with>
- </visibleWhen>
- </command>
- <command
- commandId="org.eclipse.linuxtools.internal.lttng2.ui.commands.control.addContextOnChannel"
- icon="icons/elcl16/add-context.gif"
- label="%commands.control.add.context"
- style="push">
- <visibleWhen
- checkEnabled="false">
- <with
- variable="activeMenuSelection">
- <and>
- <iterate
- operator="or">
- <instanceof
- value="org.eclipse.linuxtools.internal.lttng2.control.ui.views.model.impl.TraceChannelComponent">
- </instanceof>
- </iterate>
- <count
- value="1">
- </count>
- </and>
- </with>
- </visibleWhen>
- </command>
- <command
- commandId="org.eclipse.linuxtools.internal.lttng2.ui.commands.control.addContextOnEvent"
- icon="icons/elcl16/add-context.gif"
- label="%commands.control.add.context"
- style="push">
- <visibleWhen
- checkEnabled="false">
- <with
- variable="activeMenuSelection">
- <and>
- <count
- value="1">
- </count>
- <iterate
- ifEmpty="false"
- operator="and">
- <and>
- <or>
- <instanceof
- value="org.eclipse.linuxtools.internal.lttng2.control.ui.views.model.impl.TraceEventComponent">
- </instanceof>
- </or>
- <test
- forcePluginActivation="true"
- property="org.eclipse.linuxtools.internal.lttng2.ui.views.control.model.isAddContextOnEventSupported">
- </test>
- </and>
- </iterate>
- </and>
- </with>
- </visibleWhen>
- </command>
- <command
- commandId="org.eclipse.linuxtools.internal.lttng2.ui.commands.control.calibrate"
- icon="icons/elcl16/calibrate.gif"
- label="%commands.control.calibrate"
- style="push">
- <visibleWhen
- checkEnabled="false">
- <with
- variable="activeMenuSelection">
- <and>
- <iterate
- operator="or">
- <instanceof
- value="org.eclipse.linuxtools.internal.lttng2.control.ui.views.model.impl.TraceDomainComponent">
- </instanceof>
- </iterate>
- <count
- value="1">
- </count>
- </and>
- </with>
- </visibleWhen>
- </command>
-
- <command
- commandId="org.eclipse.linuxtools.internal.lttng2.ui.commands.control.snapshot"
- icon="icons/elcl16/snapshot.gif"
- label="%commands.control.snapshot"
- style="push">
- <visibleWhen
- checkEnabled="false">
- <with
- variable="activeMenuSelection">
- <and>
- <iterate
- operator="or">
- <instanceof
- value="org.eclipse.linuxtools.internal.lttng2.control.ui.views.model.impl.TraceSessionComponent">
- </instanceof>
- </iterate>
- <count
- value="1">
- </count>
- </and>
- </with>
- </visibleWhen>
- </command>
-
- </menuContribution>
-
- </extension>
- <extension
- point="org.eclipse.ui.handlers">
- <handler
- class="org.eclipse.linuxtools.internal.lttng2.control.ui.views.handlers.NewConnectionHandler"
- commandId="org.eclipse.linuxtools.internal.lttng2.ui.commands.control.newConnection">
- <activeWhen>
- <with
- variable="activePart">
- <instanceof
- value="org.eclipse.linuxtools.internal.lttng2.control.ui.views.ControlView">
- </instanceof>
- </with>
- </activeWhen>
- </handler>
- <handler
- class="org.eclipse.linuxtools.internal.lttng2.control.ui.views.handlers.ConnectHandler"
- commandId="org.eclipse.linuxtools.internal.lttng2.ui.commands.control.connect">
- <activeWhen>
- <with
- variable="selection">
- <iterate
- operator="or">
- <instanceof
- value="org.eclipse.linuxtools.internal.lttng2.control.ui.views.model.impl.TargetNodeComponent">
- </instanceof>
- </iterate>
- </with>
- </activeWhen>
- </handler>
- <handler
- class="org.eclipse.linuxtools.internal.lttng2.control.ui.views.handlers.DisconnectHandler"
- commandId="org.eclipse.linuxtools.internal.lttng2.ui.commands.control.disconnect">
- <activeWhen>
- <with
- variable="selection">
- <iterate
- operator="or">
- <instanceof
- value="org.eclipse.linuxtools.internal.lttng2.control.ui.views.model.impl.TargetNodeComponent">
- </instanceof>
- </iterate>
- </with>
- </activeWhen>
- </handler>
- <handler
- class="org.eclipse.linuxtools.internal.lttng2.control.ui.views.handlers.RefreshHandler"
- commandId="org.eclipse.linuxtools.internal.lttng2.ui.commands.control.refresh">
- <activeWhen>
- <with
- variable="selection">
- <iterate
- operator="or">
- <instanceof
- value="org.eclipse.linuxtools.internal.lttng2.control.ui.views.model.impl.TraceControlComponent">
- </instanceof>
- </iterate>
- </with>
- </activeWhen>
- </handler>
- <handler
- class="org.eclipse.linuxtools.internal.lttng2.control.ui.views.handlers.DeleteHandler"
- commandId="org.eclipse.linuxtools.internal.lttng2.ui.commands.control.delete">
- <activeWhen>
- <with
- variable="selection">
- <iterate
- operator="or">
- <instanceof
- value="org.eclipse.linuxtools.internal.lttng2.control.ui.views.model.impl.TargetNodeComponent">
- </instanceof>
- </iterate>
- </with>
- </activeWhen>
- </handler>
- <handler
- class="org.eclipse.linuxtools.internal.lttng2.control.ui.views.handlers.CreateSessionHandler"
- commandId="org.eclipse.linuxtools.internal.lttng2.ui.commands.control.createSession">
- <activeWhen>
- <with
- variable="selection">
- <iterate
- operator="or">
- <instanceof
- value="org.eclipse.linuxtools.internal.lttng2.control.ui.views.model.impl.TraceSessionGroup">
- </instanceof>
- </iterate>
- </with>
- </activeWhen>
- </handler>
- <handler
- class="org.eclipse.linuxtools.internal.lttng2.control.ui.views.handlers.ExecuteCommandScriptHandler"
- commandId="org.eclipse.linuxtools.internal.lttng2.ui.commands.control.executeScript">
- <activeWhen>
- <with
- variable="selection">
- <iterate
- operator="or">
- <instanceof
- value="org.eclipse.linuxtools.internal.lttng2.control.ui.views.model.impl.TraceSessionGroup">
- </instanceof>
- </iterate>
- </with>
- </activeWhen>
- </handler>
- <handler
- class="org.eclipse.linuxtools.internal.lttng2.control.ui.views.handlers.DestroySessionHandler"
- commandId="org.eclipse.linuxtools.internal.lttng2.ui.commands.control.destroySession">
- <activeWhen>
- <with
- variable="selection">
- <iterate
- operator="or">
- <instanceof
- value="org.eclipse.linuxtools.internal.lttng2.control.ui.views.model.impl.TraceSessionComponent">
- </instanceof>
- </iterate>
- </with>
- </activeWhen>
- </handler>
- <handler
- class="org.eclipse.linuxtools.internal.lttng2.control.ui.views.handlers.ImportHandler"
- commandId="org.eclipse.linuxtools.internal.lttng2.ui.commands.control.import">
- <activeWhen>
- <with
- variable="selection">
- <and>
- <iterate
- operator="or">
- <instanceof
- value="org.eclipse.linuxtools.internal.lttng2.control.ui.views.model.impl.TraceSessionComponent">
- </instanceof>
- </iterate>
- <count
- value="1">
- </count>
- </and>
- </with>
- </activeWhen>
- </handler>
- <handler
- class="org.eclipse.linuxtools.internal.lttng2.control.ui.views.handlers.EnableChannelOnSessionHandler"
- commandId="org.eclipse.linuxtools.internal.lttng2.ui.commands.control.enableChannelOnSession">
- <activeWhen>
- <with
- variable="selection">
- <iterate
- operator="or">
- <instanceof
- value="org.eclipse.linuxtools.internal.lttng2.control.ui.views.model.impl.TraceSessionComponent">
- </instanceof>
- </iterate>
- </with>
- </activeWhen>
- </handler>
- <handler
- class="org.eclipse.linuxtools.internal.lttng2.control.ui.views.handlers.EnableChannelOnDomainHandler"
- commandId="org.eclipse.linuxtools.internal.lttng2.ui.commands.control.enableChannelOnDomain">
- <activeWhen>
- <with
- variable="selection">
- <iterate
- operator="or">
- <instanceof
- value="org.eclipse.linuxtools.internal.lttng2.control.ui.views.model.impl.TraceDomainComponent">
- </instanceof>
- </iterate>
- </with>
- </activeWhen>
- </handler>
- <handler
- class="org.eclipse.linuxtools.internal.lttng2.control.ui.views.handlers.EnableChannelHandler"
- commandId="org.eclipse.linuxtools.internal.lttng2.ui.commands.control.enableChannel">
- <activeWhen>
- <with
- variable="selection">
- <iterate
- operator="or">
- <instanceof
- value="org.eclipse.linuxtools.internal.lttng2.control.ui.views.model.impl.TraceChannelComponent">
- </instanceof>
- </iterate>
- </with>
- </activeWhen>
- </handler>
- <handler
- class="org.eclipse.linuxtools.internal.lttng2.control.ui.views.handlers.DisableChannelHandler"
- commandId="org.eclipse.linuxtools.internal.lttng2.ui.commands.control.disableChannel">
- <activeWhen>
- <with
- variable="selection">
- <iterate
- operator="or">
- <instanceof
- value="org.eclipse.linuxtools.internal.lttng2.control.ui.views.model.impl.TraceChannelComponent">
- </instanceof>
- </iterate>
- </with>
- </activeWhen>
- </handler>
-
- <handler
- class="org.eclipse.linuxtools.internal.lttng2.control.ui.views.handlers.StartHandler"
- commandId="org.eclipse.linuxtools.internal.lttng2.ui.commands.control.start">
- <activeWhen>
- <with
- variable="selection">
- <iterate
- operator="or">
- <instanceof
- value="org.eclipse.linuxtools.internal.lttng2.control.ui.views.model.impl.TraceSessionComponent">
- </instanceof>
- </iterate>
- </with>
- </activeWhen>
- </handler>
-
- <handler
- class="org.eclipse.linuxtools.internal.lttng2.control.ui.views.handlers.StopHandler"
- commandId="org.eclipse.linuxtools.internal.lttng2.ui.commands.control.stop">
- <activeWhen>
- <with
- variable="selection">
- <iterate
- operator="or">
- <instanceof
- value="org.eclipse.linuxtools.internal.lttng2.control.ui.views.model.impl.TraceSessionComponent">
- </instanceof>
- </iterate>
- </with>
- </activeWhen>
- </handler>
-
- <handler
- class="org.eclipse.linuxtools.internal.lttng2.control.ui.views.handlers.SnaphshotHandler"
- commandId="org.eclipse.linuxtools.internal.lttng2.ui.commands.control.snapshot">
- <activeWhen>
- <with
- variable="selection">
- <iterate
- operator="or">
- <instanceof
- value="org.eclipse.linuxtools.internal.lttng2.control.ui.views.model.impl.TraceSessionComponent">
- </instanceof>
- </iterate>
- </with>
- </activeWhen>
- </handler>
-
-
- <handler
- class="org.eclipse.linuxtools.internal.lttng2.control.ui.views.handlers.AssignEventHandler"
- commandId="org.eclipse.linuxtools.internal.lttng2.ui.commands.control.assign.event">
- <activeWhen>
- <with
- variable="selection">
- <iterate
- operator="or">
- <instanceof
- value="org.eclipse.linuxtools.internal.lttng2.control.ui.views.model.impl.BaseEventComponent">
- </instanceof>
- </iterate>
- </with>
- </activeWhen>
- </handler>
-
- <handler
- class="org.eclipse.linuxtools.internal.lttng2.control.ui.views.handlers.EnableEventHandler"
- commandId="org.eclipse.linuxtools.internal.lttng2.ui.commands.control.enableEvent">
- <activeWhen>
- <with
- variable="selection">
- <iterate
- operator="or">
- <instanceof
- value="org.eclipse.linuxtools.internal.lttng2.control.ui.views.model.impl.TraceEventComponent">
- </instanceof>
- </iterate>
- </with>
- </activeWhen>
- </handler>
-
- <handler
- class="org.eclipse.linuxtools.internal.lttng2.control.ui.views.handlers.DisableEventHandler"
- commandId="org.eclipse.linuxtools.internal.lttng2.ui.commands.control.disableEvent">
- <activeWhen>
- <with
- variable="selection">
- <iterate
- operator="or">
- <instanceof
- value="org.eclipse.linuxtools.internal.lttng2.control.ui.views.model.impl.TraceEventComponent">
- </instanceof>
- </iterate>
- </with>
- </activeWhen>
- </handler>
-
- <handler
- class="org.eclipse.linuxtools.internal.lttng2.control.ui.views.handlers.EnableEventOnChannelHandler"
- commandId="org.eclipse.linuxtools.internal.lttng2.ui.commands.control.enableEventOnChannel">
- <activeWhen>
- <with
- variable="selection">
- <iterate
- operator="or">
- <instanceof
- value="org.eclipse.linuxtools.internal.lttng2.control.ui.views.model.impl.TraceChannelComponent">
- </instanceof>
- </iterate>
- </with>
- </activeWhen>
- </handler>
-
- <handler
- class="org.eclipse.linuxtools.internal.lttng2.control.ui.views.handlers.EnableEventOnDomainHandler"
- commandId="org.eclipse.linuxtools.internal.lttng2.ui.commands.control.enableEventOnDomain">
- <activeWhen>
- <with
- variable="selection">
- <iterate
- operator="or">
- <instanceof
- value="org.eclipse.linuxtools.internal.lttng2.control.ui.views.model.impl.TraceDomainComponent">
- </instanceof>
- </iterate>
- </with>
- </activeWhen>
- </handler>
- <handler
- class="org.eclipse.linuxtools.internal.lttng2.control.ui.views.handlers.EnableEventOnSessionHandler"
- commandId="org.eclipse.linuxtools.internal.lttng2.ui.commands.control.enableEventOnSession">
- <activeWhen>
- <with
- variable="selection">
- <iterate
- operator="or">
- <instanceof
- value="org.eclipse.linuxtools.internal.lttng2.control.ui.views.model.impl.TraceSessionComponent">
- </instanceof>
- </iterate>
- </with>
- </activeWhen>
- </handler>
-
- <handler
- class="org.eclipse.linuxtools.internal.lttng2.control.ui.views.handlers.AddContextOnDomainHandler"
- commandId="org.eclipse.linuxtools.internal.lttng2.ui.commands.control.addContextOnDomain">
- <activeWhen>
- <with
- variable="selection">
- <iterate
- operator="or">
- <instanceof
- value="org.eclipse.linuxtools.internal.lttng2.control.ui.views.model.impl.TraceDomainComponent">
- </instanceof>
- </iterate>
- </with>
- </activeWhen>
- </handler>
-
- <handler
- class="org.eclipse.linuxtools.internal.lttng2.control.ui.views.handlers.CalibrateHandler"
- commandId="org.eclipse.linuxtools.internal.lttng2.ui.commands.control.calibrate">
- <activeWhen>
- <with
- variable="selection">
- <iterate
- operator="or">
- <instanceof
- value="org.eclipse.linuxtools.internal.lttng2.control.ui.views.model.impl.TraceDomainComponent">
- </instanceof>
- </iterate>
- </with>
- </activeWhen>
- </handler>
-
- <handler
- class="org.eclipse.linuxtools.internal.lttng2.control.ui.views.handlers.AddContextOnChannelHandler"
- commandId="org.eclipse.linuxtools.internal.lttng2.ui.commands.control.addContextOnChannel">
- <activeWhen>
- <with
- variable="selection">
- <iterate
- operator="or">
- <instanceof
- value="org.eclipse.linuxtools.internal.lttng2.control.ui.views.model.impl.TraceChannelComponent">
- </instanceof>
- </iterate>
- </with>
- </activeWhen>
- </handler>
-
- <handler
- class="org.eclipse.linuxtools.internal.lttng2.control.ui.views.handlers.AddContextOnEventHandler"
- commandId="org.eclipse.linuxtools.internal.lttng2.ui.commands.control.addContextOnEvent">
- <activeWhen>
- <with
- variable="selection">
- <iterate
- operator="or">
- <instanceof
- value="org.eclipse.linuxtools.internal.lttng2.control.ui.views.model.impl.TraceEventComponent">
- </instanceof>
- </iterate>
- </with>
- </activeWhen>
- </handler>
-
- </extension>
- <extension
- point="org.eclipse.ui.preferencePages">
- <page
- category="org.eclipse.linuxtools.tmf.ui.TmfTracingPreferences"
- class="org.eclipse.linuxtools.internal.lttng2.control.ui.views.preferences.ControlPreferencePage"
- id="org.eclipse.linuxtools.internal.lttng2.ui.views.control.preferences"
- name="%preference.page.control.name">
- </page>
- </extension>
- <extension
- point="org.eclipse.core.runtime.preferences">
- <initializer
- class="org.eclipse.linuxtools.internal.lttng2.control.ui.views.preferences.ControlPreferenceInitializer">
- </initializer>
- </extension>
- <extension
- point="org.eclipse.core.expressions.propertyTesters">
- <propertyTester
- class="org.eclipse.linuxtools.internal.lttng2.control.ui.views.model.impl.TraceControlPropertyTester"
- id="org.eclipse.linuxtools.internal.lttng2.ui.views.control.model.propertyTester"
- namespace="org.eclipse.linuxtools.internal.lttng2.ui.views.control.model"
- properties="isAddContextOnEventSupported"
- type="org.eclipse.linuxtools.internal.lttng2.control.ui.views.model.impl.TraceControlComponent">
- </propertyTester>
- </extension>
-
-
-</plugin>
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.ui/pom.xml b/lttng/org.eclipse.linuxtools.lttng2.control.ui/pom.xml
deleted file mode 100644
index 143d52ae0d..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.ui/pom.xml
+++ /dev/null
@@ -1,36 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Copyright (C) 2011, Red Hat, Inc.
-
- 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
--->
-<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
- <modelVersion>4.0.0</modelVersion>
-
- <parent>
- <artifactId>linuxtools-lttng-parent</artifactId>
- <groupId>org.eclipse.linuxtools.lttng</groupId>
- <version>3.2.0-SNAPSHOT</version>
- </parent>
-
- <artifactId>org.eclipse.linuxtools.lttng2.control.ui</artifactId>
- <version>3.1.0-SNAPSHOT</version>
- <packaging>eclipse-plugin</packaging>
-
- <name>Linux Tools LTTng Control UI Plug-in</name>
-
- <build>
- <plugins>
- <plugin>
- <groupId>org.eclipse.tycho</groupId>
- <artifactId>tycho-source-plugin</artifactId>
- </plugin>
- </plugins>
- </build>
-
- <groupId>org.eclipse.linuxtools.lttng2</groupId>
-</project>
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/Activator.java b/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/Activator.java
deleted file mode 100644
index 6d09b6bc16..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/Activator.java
+++ /dev/null
@@ -1,210 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2012, 2013 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.internal.lttng2.control.ui;
-
-import java.net.URL;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.resource.ImageRegistry;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.relayd.LttngRelaydConnectionManager;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.preferences.ControlPreferences;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.ui.plugin.AbstractUIPlugin;
-import org.osgi.framework.BundleContext;
-
-/**
- * The activator class controls the plug-in life cycle
- */
-public class Activator extends AbstractUIPlugin {
-
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
-
- /**
- * The plug-in ID
- */
- public static final String PLUGIN_ID = "org.eclipse.linuxtools.lttng2.control.ui"; //$NON-NLS-1$
-
- /**
- * The shared instance
- */
- private static Activator plugin;
-
- // ------------------------------------------------------------------------
- // Constructors
- // ------------------------------------------------------------------------
-
- /**
- * The constructor
- */
- public Activator() {
- }
-
- // ------------------------------------------------------------------------
- // Accessors
- // ------------------------------------------------------------------------
-
- /**
- * Returns the shared instance
- *
- * @return the shared instance
- */
- public static Activator getDefault() {
- return plugin;
- }
-
- // ------------------------------------------------------------------------
- // AbstractUIPlugin
- // ------------------------------------------------------------------------
-
- @Override
- public void start(BundleContext context) throws Exception {
- super.start(context);
- plugin = this;
- ControlPreferences.getInstance().init(getPreferenceStore());
- // This registers the connection manager with the signal manager
- LttngRelaydConnectionManager.getInstance();
- }
-
- @Override
- public void stop(BundleContext context) throws Exception {
- ControlPreferences.getInstance().dispose();
- LttngRelaydConnectionManager.getInstance().dispose();
- plugin = null;
- super.stop(context);
- }
-
- @Override
- protected void initializeImageRegistry(ImageRegistry reg) {
- }
-
- // ------------------------------------------------------------------------
- // Operations
- // ------------------------------------------------------------------------
-
- /**
- * Gets an image object using given path within plug-in.
- *
- * @param path path to image file
- *
- * @return image object
- */
- public Image getImageFromPath(String path) {
- return getImageDescripterFromPath(path).createImage();
- }
-
- /**
- * Gets an image descriptor using given path within plug-in.
- *
- * @param path path to image file
- *
- * @return image descriptor object
- */
- public ImageDescriptor getImageDescripterFromPath(String path) {
- return AbstractUIPlugin.imageDescriptorFromPlugin(PLUGIN_ID, path);
- }
-
- /**
- * Gets a image object from the image registry based on the given path.
- * If the image is not in the registry it will be registered.
- *
- * @param path to the image file
- * @return image object
- */
- public Image getImageFromImageRegistry(String path) {
- Image icon = getImageRegistry().get(path);
- if (icon == null) {
- icon = getImageDescripterFromPath(path).createImage();
- plugin.getImageRegistry().put(path, icon);
- }
- return icon;
- }
-
- /**
- * Loads the image in the plug-ins image registry (if necessary) and returns the image
- * @param url - URL relative to the Bundle
- * @return the image
- */
- public Image loadIcon(String url) {
- String key = plugin.getBundle().getSymbolicName() + "/" + url; //$NON-NLS-1$
- Image icon = plugin.getImageRegistry().get(key);
- if (icon == null) {
- URL imageURL = plugin.getBundle().getResource(url);
- ImageDescriptor descriptor = ImageDescriptor.createFromURL(imageURL);
- icon = descriptor.createImage();
- plugin.getImageRegistry().put(key, icon);
- }
- return icon;
- }
-
- /**
- * Logs a message with severity INFO in the runtime log of the plug-in.
- *
- * @param message A message to log
- */
- public void logInfo(String message) {
- getLog().log(new Status(IStatus.INFO, PLUGIN_ID, message));
- }
-
- /**
- * Logs a message and exception with severity INFO in the runtime log of the plug-in.
- *
- * @param message A message to log
- * @param exception A exception to log
- */
- public void logInfo(String message, Throwable exception) {
- getLog().log(new Status(IStatus.INFO, PLUGIN_ID, message, exception));
- }
-
- /**
- * Logs a message and exception with severity WARNING in the runtime log of the plug-in.
- *
- * @param message A message to log
- */
- public void logWarning(String message) {
- getLog().log(new Status(IStatus.WARNING, PLUGIN_ID, message));
- }
-
- /**
- * Logs a message and exception with severity WARNING in the runtime log of the plug-in.
- *
- * @param message A message to log
- * @param exception A exception to log
- */
- public void logWarning(String message, Throwable exception) {
- getLog().log(new Status(IStatus.WARNING, PLUGIN_ID, message, exception));
- }
-
- /**
- * Logs a message and exception with severity ERROR in the runtime log of the plug-in.
- *
- * @param message A message to log
- */
- public void logError(String message) {
- getLog().log(new Status(IStatus.ERROR, PLUGIN_ID, message));
- }
-
- /**
- * Logs a message and exception with severity ERROR in the runtime log of the plug-in.
- *
- * @param message A message to log
- * @param exception A exception to log
- */
- public void logError(String message, Throwable exception) {
- getLog().log(new Status(IStatus.ERROR, PLUGIN_ID, message, exception));
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/relayd/LttngRelaydConnectionInfo.java b/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/relayd/LttngRelaydConnectionInfo.java
deleted file mode 100644
index 456dba31e8..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/relayd/LttngRelaydConnectionInfo.java
+++ /dev/null
@@ -1,111 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2014 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:
- * Marc-Andre Laperle - Initial implementation
- **********************************************************************/
-
-package org.eclipse.linuxtools.internal.lttng2.control.ui.relayd;
-
-/**
- * A class that holds information about the relayd connection.
- *
- * @author Marc-Andre Laperle
- * @since 3.1
- */
-public final class LttngRelaydConnectionInfo {
-
- private final String fHost;
- private final int fPort;
- private final String fSessionName;
-
- /**
- * Constructs a connection information.
- *
- * @param host
- * the host string
- * @param port
- * the port number
- * @param sessionName
- * the session name
- */
- public LttngRelaydConnectionInfo(String host, int port, String sessionName) {
- fHost = host;
- fPort = port;
- fSessionName = sessionName;
- }
-
- /**
- * Get the host string.
- *
- * @return the host string
- */
- public String getHost() {
- return fHost;
- }
-
- /**
- * Get the port number.
- *
- * @return the port number
- */
- public int getPort() {
- return fPort;
- }
-
- /**
- * Get the session name.
- *
- * @return the session name
- */
- public String getSessionName() {
- return fSessionName;
- }
-
- @Override
- public int hashCode() {
- final int prime = 31;
- int result = 1;
- result = prime * result + ((fHost == null) ? 0 : fHost.hashCode());
- result = prime * result + fPort;
- result = prime * result + ((fSessionName == null) ? 0 : fSessionName.hashCode());
- return result;
- }
-
- @Override
- public boolean equals(final Object obj) {
- if (this == obj) {
- return true;
- }
- if (obj == null) {
- return false;
- }
- if (getClass() != obj.getClass()) {
- return false;
- }
- LttngRelaydConnectionInfo other = (LttngRelaydConnectionInfo) obj;
- if (fHost == null) {
- if (other.fHost != null) {
- return false;
- }
- } else if (!fHost.equals(other.fHost)) {
- return false;
- }
- if (fPort != other.fPort) {
- return false;
- }
- if (fSessionName == null) {
- if (other.fSessionName != null) {
- return false;
- }
- } else if (!fSessionName.equals(other.fSessionName)) {
- return false;
- }
- return true;
- }
-} \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/relayd/LttngRelaydConnectionManager.java b/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/relayd/LttngRelaydConnectionManager.java
deleted file mode 100644
index b71ffa7198..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/relayd/LttngRelaydConnectionManager.java
+++ /dev/null
@@ -1,149 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2014 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:
- * Marc-Andre Laperle - Initial implementation
- **********************************************************************/
-
-package org.eclipse.linuxtools.internal.lttng2.control.ui.relayd;
-
-import java.util.HashMap;
-import java.util.Map;
-
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jface.dialogs.ErrorDialog;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.Activator;
-import org.eclipse.linuxtools.tmf.core.signal.TmfSignalHandler;
-import org.eclipse.linuxtools.tmf.core.signal.TmfSignalManager;
-import org.eclipse.linuxtools.tmf.core.signal.TmfTraceClosedSignal;
-import org.eclipse.linuxtools.tmf.core.signal.TmfTraceOpenedSignal;
-import org.eclipse.linuxtools.tmf.core.trace.ITmfTrace;
-import org.eclipse.linuxtools.tmf.ctf.core.CtfConstants;
-import org.eclipse.linuxtools.tmf.ctf.core.CtfTmfTrace;
-import org.eclipse.ui.PlatformUI;
-
-/**
- * Manages relayd connections. When a trace is opened, it creates a connection
- * if the trace was started with live support. When a trace is closed, is closes
- * the connection.
- *
- * @author Marc-Andre Laperle
- * @since 3.1
- */
-public final class LttngRelaydConnectionManager {
- private static LttngRelaydConnectionManager fConnectionManager;
- private Map<LttngRelaydConnectionInfo, LttngRelaydConsumer> fConnections = new HashMap<>();
-
- /**
- * Get an instance of the trace manager.
- *
- * @return The trace manager
- */
- public static synchronized LttngRelaydConnectionManager getInstance() {
- if (fConnectionManager == null) {
- fConnectionManager = new LttngRelaydConnectionManager();
- TmfSignalManager.register(fConnectionManager);
- }
- return fConnectionManager;
- }
-
- /**
- * Get the cosumer for the given relayd connection information.
- *
- * @param connectionInfo
- * the connection information
- *
- * @return the consumer
- */
- public LttngRelaydConsumer getConsumer(final LttngRelaydConnectionInfo connectionInfo) {
- if (!fConnections.containsKey(connectionInfo)) {
- LttngRelaydConsumer lttngRelaydConsumer = new LttngRelaydConsumer(connectionInfo);
- fConnections.put(connectionInfo, lttngRelaydConsumer);
- return lttngRelaydConsumer;
- }
-
- return fConnections.get(connectionInfo);
- }
-
- private static LttngRelaydConnectionInfo getEntry(final ITmfTrace trace) throws CoreException {
- if (trace instanceof CtfTmfTrace) {
- CtfTmfTrace ctfTmfTrace = (CtfTmfTrace) trace;
- if (!ctfTmfTrace.isComplete()) {
- IResource resource = ctfTmfTrace.getResource();
- String host = resource.getPersistentProperty(CtfConstants.LIVE_HOST);
- String port = resource.getPersistentProperty(CtfConstants.LIVE_PORT);
- String sessionName = resource.getPersistentProperty(CtfConstants.LIVE_SESSION_NAME);
- if (host != null && port != null && sessionName != null && !sessionName.isEmpty()) {
- LttngRelaydConnectionInfo entry = new LttngRelaydConnectionInfo(host, Integer.parseInt(port), sessionName);
- return entry;
- }
- }
- }
-
- return null;
- }
-
- /**
- * Listen to trace opened so that we can start the relayd job if necessary.
- *
- * @param signal
- * the signal to be processed
- */
- @TmfSignalHandler
- public void traceOpened(final TmfTraceOpenedSignal signal) {
-
- try {
- LttngRelaydConnectionInfo entry = getEntry(signal.getTrace());
- if (entry != null) {
- LttngRelaydConsumer consumer = getConsumer(entry);
- consumer.connect();
- consumer.run((CtfTmfTrace) signal.getTrace());
- }
- } catch (CoreException e) {
- Activator.getDefault().logError(Messages.LttngRelaydConnectionManager_ConnectionError, e);
- ErrorDialog.openError(PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell(), null, Messages.LttngRelaydConnectionManager_ConnectionError, new Status(IStatus.WARNING,
- Activator.PLUGIN_ID, e.getLocalizedMessage(), e));
- }
- }
-
- /**
- * Listen to trace closed so that we can stop the relayd job.
- *
- * @param signal
- * the signal to be processed
- */
- @TmfSignalHandler
- public void traceClosed(final TmfTraceClosedSignal signal) {
- LttngRelaydConnectionInfo entry;
- try {
- entry = getEntry(signal.getTrace());
- if (entry != null) {
- LttngRelaydConsumer comsumer = getConsumer(entry);
- if (comsumer != null) {
- comsumer.dispose();
- }
- fConnections.remove(entry);
- }
- } catch (CoreException e) {
- // Something went wrong with the resource. That's OK, the trace is
- // getting closed anyway.
- }
- }
-
- /**
- * Dispose of all the manager's resources (i.e. its connections).
- */
- public void dispose() {
- for (LttngRelaydConsumer consumer : fConnections.values()) {
- consumer.dispose();
- }
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/relayd/LttngRelaydConsumer.java b/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/relayd/LttngRelaydConsumer.java
deleted file mode 100644
index 47a8e2d8aa..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/relayd/LttngRelaydConsumer.java
+++ /dev/null
@@ -1,255 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2014 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:
- * Matthew Khouzam - Initial implementation
- **********************************************************************/
-
-package org.eclipse.linuxtools.internal.lttng2.control.ui.relayd;
-
-import java.io.IOException;
-import java.io.UnsupportedEncodingException;
-import java.net.Socket;
-import java.util.List;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.core.runtime.jobs.Job;
-import org.eclipse.linuxtools.ctf.core.trace.CTFTrace;
-import org.eclipse.linuxtools.internal.lttng2.control.core.relayd.ILttngRelaydConnector;
-import org.eclipse.linuxtools.internal.lttng2.control.core.relayd.LttngRelaydConnectorFactory;
-import org.eclipse.linuxtools.internal.lttng2.control.core.relayd.lttngviewerCommands.AttachReturnCode;
-import org.eclipse.linuxtools.internal.lttng2.control.core.relayd.lttngviewerCommands.AttachSessionResponse;
-import org.eclipse.linuxtools.internal.lttng2.control.core.relayd.lttngviewerCommands.CreateSessionResponse;
-import org.eclipse.linuxtools.internal.lttng2.control.core.relayd.lttngviewerCommands.CreateSessionReturnCode;
-import org.eclipse.linuxtools.internal.lttng2.control.core.relayd.lttngviewerCommands.IndexResponse;
-import org.eclipse.linuxtools.internal.lttng2.control.core.relayd.lttngviewerCommands.NextIndexReturnCode;
-import org.eclipse.linuxtools.internal.lttng2.control.core.relayd.lttngviewerCommands.SessionResponse;
-import org.eclipse.linuxtools.internal.lttng2.control.core.relayd.lttngviewerCommands.StreamResponse;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.Activator;
-import org.eclipse.linuxtools.tmf.core.signal.TmfTraceRangeUpdatedSignal;
-import org.eclipse.linuxtools.tmf.core.timestamp.TmfTimeRange;
-import org.eclipse.linuxtools.tmf.ctf.core.CtfTmfTimestamp;
-import org.eclipse.linuxtools.tmf.ctf.core.CtfTmfTrace;
-
-/**
- * Consumer of the relay d.
- *
- * @author Matthew Khouzam
- * @since 3.1
- */
-public final class LttngRelaydConsumer {
-
- private static final int SIGNAL_THROTTLE_NANOSEC = 10_000_000;
- private static final String ENCODING_UTF_8 = "UTF-8"; //$NON-NLS-1$
-
- private Job fConsumerJob;
- private CtfTmfTrace fCtfTmfTrace;
- private CTFTrace fCtfTrace;
- private long fTimestampEnd;
- private AttachSessionResponse fSession;
- private Socket fConnection;
- private ILttngRelaydConnector fRelayd;
- private String fTracePath;
- private long fLastSignal = 0;
- private final LttngRelaydConnectionInfo fConnectionInfo;
-
- /**
- * Start a lttng consumer.
- *
- * @param address
- * the ip address in string format
- * @param port
- * the port, an integer
- * @param sessionName
- * the session name
- * @param project
- * the default project
- */
- LttngRelaydConsumer(final LttngRelaydConnectionInfo connectionInfo) {
- fConnectionInfo = connectionInfo;
- fTimestampEnd = 0;
- }
-
- /**
- * Connects to the relayd at the given address and port then attaches to the
- * given session name.
- *
- * @throws CoreException
- * If something goes wrong during the connection
- * <ul>
- * <li>
- * Connection could not be established (Socket could not be
- * opened, etc)</li>
- * <li>
- * Connection timeout</li>
- * <li>
- * The session was not found</li>
- * <li>
- * Could not create viewer session</li>
- * <li>
- * Invalid trace (no metadata, no streams)</li>
- * </ul>
- */
- public void connect() throws CoreException {
- if (fConnection != null) {
- return;
- }
-
- try {
- fConnection = new Socket(fConnectionInfo.getHost(), fConnectionInfo.getPort());
- fRelayd = LttngRelaydConnectorFactory.getNewConnector(fConnection);
- List<SessionResponse> sessions = fRelayd.getSessions();
- SessionResponse selectedSession = null;
- for (SessionResponse session : sessions) {
- String asessionName = nullTerminatedByteArrayToString(session.getSessionName().getBytes());
-
- if (asessionName.equals(fConnectionInfo.getSessionName())) {
- selectedSession = session;
- break;
- }
- }
-
- if (selectedSession == null) {
- throw new CoreException(new Status(IStatus.ERROR, Activator.PLUGIN_ID, Messages.LttngRelaydConsumer_SessionNotFound));
- }
-
- CreateSessionResponse createSession = fRelayd.createSession();
- if (createSession.getStatus() != CreateSessionReturnCode.LTTNG_VIEWER_CREATE_SESSION_OK) {
- throw new CoreException(new Status(IStatus.ERROR, Activator.PLUGIN_ID, Messages.LttngRelaydConsumer_CreateViewerSessionError + createSession.getStatus().toString()));
- }
-
- AttachSessionResponse attachedSession = fRelayd.attachToSession(selectedSession);
- if (attachedSession.getStatus() != AttachReturnCode.VIEWER_ATTACH_OK) {
- throw new CoreException(new Status(IStatus.ERROR, Activator.PLUGIN_ID, Messages.LttngRelaydConsumer_AttachSessionError + attachedSession.getStatus().toString()));
- }
-
- String metadata = fRelayd.getMetadata(attachedSession);
- if (metadata == null) {
- throw new CoreException(new Status(IStatus.ERROR, Activator.PLUGIN_ID, Messages.LttngRelaydConsumer_NoMetadata));
- }
-
- List<StreamResponse> attachedStreams = attachedSession.getStreamList();
- if (attachedStreams.isEmpty()) {
- throw new CoreException(new Status(IStatus.ERROR, Activator.PLUGIN_ID, Messages.LttngRelaydConsumer_NoStreams));
- }
-
- fTracePath = nullTerminatedByteArrayToString(attachedStreams.get(0).getPathName().getBytes());
-
- fSession = attachedSession;
- } catch (IOException e) {
- throw new CoreException(new Status(IStatus.ERROR, Activator.PLUGIN_ID, Messages.LttngRelaydConsumer_ErrorConnecting + (e.getMessage() != null ? e.getMessage() : ""))); //$NON-NLS-1$
- }
- }
-
- /**
- * Run the consumer operation for a give trace.
- *
- * @param trace
- * the trace
- */
- public void run(final CtfTmfTrace trace) {
- if (fSession == null) {
- return;
- }
-
- fCtfTmfTrace = trace;
- fCtfTrace = trace.getCTFTrace();
- fConsumerJob = new Job("RelayD consumer") { //$NON-NLS-1$
-
- @Override
- protected IStatus run(final IProgressMonitor monitor) {
- try {
- while (!monitor.isCanceled()) {
- List<StreamResponse> attachedStreams = fSession.getStreamList();
- for (StreamResponse stream : attachedStreams) {
- if (stream.getMetadataFlag() != 1) {
- IndexResponse indexReply = fRelayd.getNextIndex(stream);
- if (indexReply.getStatus() == NextIndexReturnCode.VIEWER_INDEX_OK) {
- long nanoTimeStamp = fCtfTrace.timestampCyclesToNanos(indexReply.getTimestampEnd());
- if (nanoTimeStamp > fTimestampEnd) {
- CtfTmfTimestamp endTime = new CtfTmfTimestamp(nanoTimeStamp);
- TmfTimeRange range = new TmfTimeRange(fCtfTmfTrace.getStartTime(), endTime);
-
- long currentTime = System.nanoTime();
- if (currentTime - fLastSignal > SIGNAL_THROTTLE_NANOSEC) {
- TmfTraceRangeUpdatedSignal signal = new TmfTraceRangeUpdatedSignal(LttngRelaydConsumer.this, fCtfTmfTrace, range);
- fCtfTmfTrace.broadcastAsync(signal);
- fLastSignal = currentTime;
- }
- fTimestampEnd = nanoTimeStamp;
- }
- } else if (indexReply.getStatus() == NextIndexReturnCode.VIEWER_INDEX_HUP) {
- // The trace is now complete because the trace session was destroyed
- fCtfTmfTrace.setComplete(true);
- TmfTraceRangeUpdatedSignal signal = new TmfTraceRangeUpdatedSignal(LttngRelaydConsumer.this, fCtfTmfTrace, new TmfTimeRange(fCtfTmfTrace.getStartTime(), new CtfTmfTimestamp(fTimestampEnd)));
- fCtfTmfTrace.broadcastAsync(signal);
- return Status.OK_STATUS;
- }
- }
- }
- }
- } catch (IOException e) {
- Activator.getDefault().logError("Error during live trace reading", e); //$NON-NLS-1$
- return new Status(IStatus.ERROR, Activator.PLUGIN_ID, Messages.LttngRelaydConsumer_ErrorLiveReading + (e.getMessage() != null ? e.getMessage() : "")); //$NON-NLS-1$
- }
-
- return Status.OK_STATUS;
- }
- };
- fConsumerJob.setSystem(true);
- fConsumerJob.schedule();
- }
-
- /**
- * Dispose the consumer and it's resources (sockets, etc).
- */
- public void dispose() {
- try {
- if (fConsumerJob != null) {
- fConsumerJob.cancel();
- fConsumerJob.join();
- }
- if (fConnection != null) {
- fConnection.close();
- }
- if (fRelayd != null) {
- fRelayd.close();
- }
- } catch (IOException e) {
- // Ignore
- } catch (InterruptedException e) {
- // Ignore
- }
- }
-
- /**
- * Once the consumer is connected to the relayd session, it knows the trace
- * path. This can be useful to know exactly where the trace is so that it
- * can be imported into the workspace and it can be opened.
- *
- * @return the trace path
- */
- public String getTracePath() {
- return fTracePath;
- }
-
- private static String nullTerminatedByteArrayToString(final byte[] byteArray) throws UnsupportedEncodingException {
- // Find length of null terminated string
- int length = 0;
- while (length < byteArray.length && byteArray[length] != 0) {
- length++;
- }
-
- String asessionName = new String(byteArray, 0, length, ENCODING_UTF_8);
- return asessionName;
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/relayd/Messages.java b/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/relayd/Messages.java
deleted file mode 100644
index 81e611a742..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/relayd/Messages.java
+++ /dev/null
@@ -1,71 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2014 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:
- * Marc-Andre Laperle - Initial implementation
- **********************************************************************/
-
-package org.eclipse.linuxtools.internal.lttng2.control.ui.relayd;
-
-import org.eclipse.osgi.util.NLS;
-
-/**
- * Messages for the relayd connection.
- *
- * @author Marc-Andre Laperle
- */
-public final class Messages extends NLS {
- private static final String BUNDLE_NAME = "org.eclipse.linuxtools.internal.lttng2.control.ui.relayd.messages"; //$NON-NLS-1$
-
- /**
- * Error occurred establishing the connection.
- */
- public static String LttngRelaydConnectionManager_ConnectionError;
-
- /**
- * Error occurred attaching to the session.
- */
- public static String LttngRelaydConsumer_AttachSessionError;
-
- /**
- * Error occurred creating the viewer session.
- */
- public static String LttngRelaydConsumer_CreateViewerSessionError;
-
- /**
- * Error occurred connecting to the relayd.
- */
- public static String LttngRelaydConsumer_ErrorConnecting;
-
- /**
- * Error (generic) during live reading.
- */
- public static String LttngRelaydConsumer_ErrorLiveReading;
-
- /**
- * No metadata for this trace session.
- */
- public static String LttngRelaydConsumer_NoMetadata;
-
- /**
- * No streams for this trace session.
- */
- public static String LttngRelaydConsumer_NoStreams;
-
- /**
- * The session was not found by the relayd.
- */
- public static String LttngRelaydConsumer_SessionNotFound;
- static {
- // initialize resource bundle
- NLS.initializeMessages(BUNDLE_NAME, Messages.class);
- }
-
- private Messages() {
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/relayd/messages.properties b/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/relayd/messages.properties
deleted file mode 100644
index e76b1d2b96..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/relayd/messages.properties
+++ /dev/null
@@ -1,20 +0,0 @@
-###############################################################################
-# Copyright (c) 2014 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:
-# Marc-Andre Laperle - initial API and implementation
-###############################################################################
-
-LttngRelaydConnectionManager_ConnectionError=The connection to the relayd could not be established. The trace cannot be opened in Live mode.
-LttngRelaydConsumer_AttachSessionError=Error, could not attach to session, error code:
-LttngRelaydConsumer_CreateViewerSessionError=Error, could not create viewer session, error code:
-LttngRelaydConsumer_ErrorConnecting=Error connecting to live trace session.
-LttngRelaydConsumer_ErrorLiveReading=Error during live trace reading.
-LttngRelaydConsumer_NoMetadata=Error, trace has no metadata.
-LttngRelaydConsumer_NoStreams=Error, has no streams.
-LttngRelaydConsumer_SessionNotFound=Error, live session not found
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/ControlView.java b/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/ControlView.java
deleted file mode 100644
index 091d5d1d3f..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/ControlView.java
+++ /dev/null
@@ -1,255 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009, 2014 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
- * Bernd Hufmann - Filled with content
- * Markus Schorn - Bug 448058: Use org.eclipse.remote in favor of RSE
- *******************************************************************************/
-
-package org.eclipse.linuxtools.internal.lttng2.control.ui.views;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jface.action.MenuManager;
-import org.eclipse.jface.viewers.ColumnViewerToolTipSupport;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.jface.viewers.TreeViewer;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.model.ITraceControlComponent;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.model.ITraceControlComponentChangedListener;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.model.impl.TargetNodeComponent;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.model.impl.TraceControlContentProvider;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.model.impl.TraceControlLabelProvider;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.model.impl.TraceControlRoot;
-import org.eclipse.remote.core.IRemoteConnection;
-import org.eclipse.remote.core.IRemoteServices;
-import org.eclipse.remote.core.RemoteServices;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Menu;
-import org.eclipse.ui.IMemento;
-import org.eclipse.ui.IViewSite;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.part.ViewPart;
-import org.eclipse.ui.progress.UIJob;
-
-/**
- * <p>
- * View implementation for Trace Control.
- * </p>
- *
- * @author Bernd Hufmann
- */
-public class ControlView extends ViewPart implements ITraceControlComponentChangedListener {
-
- // ------------------------------------------------------------------------
- // Constants
- // ------------------------------------------------------------------------
-
- /**
- * View ID.
- */
- public static final String ID = "org.eclipse.linuxtools.internal.lttng2.ui.views.control"; //$NON-NLS-1$
-
- private static final String KEY_REMOTE_CONNECTION_NAME = "rc_name_"; //$NON-NLS-1$
- private static final String KEY_REMOTE_PROVIDER = "rc_id_"; //$NON-NLS-1$
-
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
-
- /**
- * The tree viewer.
- */
- private TreeViewer fTreeViewer = null;
-
- /**
- * The trace control root node. This provides access to the whole model.
- */
- private ITraceControlComponent fRoot = null;
-
- private List<IRemoteConnection> fInitialConnections;
-
- // ------------------------------------------------------------------------
- // Accessors
- // ------------------------------------------------------------------------
-
- /**
- * Returns the trace control tree node (model)
- *
- * @return the trace control tree node (model).
- */
- public ITraceControlComponent getTraceControlRoot() {
- return fRoot;
- }
-
- // ------------------------------------------------------------------------
- // Operations
- // ------------------------------------------------------------------------
-
- @Override
- public void createPartControl(Composite parent) {
- // Create tree viewer
- fTreeViewer = new TreeViewer(parent, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL);
- ColumnViewerToolTipSupport.enableFor(fTreeViewer);
-
- fTreeViewer.setContentProvider(new TraceControlContentProvider());
- fTreeViewer.setLabelProvider(new TraceControlLabelProvider());
-
- // Create model root
- fRoot = new TraceControlRoot();
- fRoot.addComponentListener(this);
- if (fInitialConnections != null) {
- for (IRemoteConnection rc : fInitialConnections) {
- TargetNodeComponent node = new TargetNodeComponent(rc.getName(), fRoot, rc);
- fRoot.addChild(node);
- }
- fInitialConnections = null;
- }
- fTreeViewer.setInput(fRoot);
-
- // Create context menu for the tree viewer
- createContextMenu();
-
- getSite().setSelectionProvider(fTreeViewer);
- }
-
- @Override
- public void saveState(IMemento memento) {
- int i = 0;
- for (ITraceControlComponent cmp : fRoot.getChildren()) {
- if (cmp instanceof TargetNodeComponent) {
- IRemoteConnection rc = ((TargetNodeComponent) cmp).getRemoteConnection();
- memento.putString(KEY_REMOTE_PROVIDER + i, rc.getRemoteServices().getId());
- memento.putString(KEY_REMOTE_CONNECTION_NAME + i, rc.getName());
- i++;
- }
- }
- super.saveState(memento);
- }
-
-
- @Override
- public void init(IViewSite site, IMemento memento) throws PartInitException {
- super.init(site, memento);
- if (memento != null) {
- fInitialConnections = new ArrayList<>();
- for(int i = 0; ; i++) {
- String id = memento.getString(KEY_REMOTE_PROVIDER + i);
- String name = memento.getString(KEY_REMOTE_CONNECTION_NAME + i);
- if (id == null || name == null) {
- break;
- }
- if (!Workaround_Bug449362.triggerRSEStartup(id)) {
- // Skip the connection in order to avoid an infinite loop
- } else {
- IRemoteServices rs = RemoteServices.getRemoteServices(id);
- if (rs != null) {
- IRemoteConnection rc = rs.getConnectionManager().getConnection(name);
- if (rc != null) {
- fInitialConnections.add(rc);
- }
- }
- }
- }
- }
- }
-
- @Override
- public void setFocus() {
- fTreeViewer.getControl().setFocus();
- }
-
- @Override
- public void componentAdded(ITraceControlComponent parent, ITraceControlComponent component) {
- componentChanged(parent);
- }
-
- @Override
- public void componentRemoved(ITraceControlComponent parent, ITraceControlComponent component) {
- componentChanged(parent);
- }
-
- @Override
- public void componentChanged(final ITraceControlComponent component) {
- if (fTreeViewer.getTree().isDisposed()) {
- return;
- }
-
- UIJob myJob = new UIJob("Refresh") { //$NON-NLS-1$
- @Override
- public IStatus runInUIThread(IProgressMonitor monitor) {
- if (fTreeViewer.getTree().isDisposed()) {
- return Status.OK_STATUS;
- }
-
- fTreeViewer.refresh(component);
-
- // Change selection needed
- final ISelection sel = fTreeViewer.getSelection();
- fTreeViewer.setSelection(null);
- fTreeViewer.setSelection(sel);
-
- // Show component that was changed
- fTreeViewer.reveal(component);
-
- return Status.OK_STATUS;
- }
- };
- myJob.setUser(false);
- myJob.setSystem(true);
- myJob.schedule();
- }
-
- /**
- * Sets the selected component in the tree
- * @param component - component to select
- */
- public void setSelection(ITraceControlComponent component) {
- ITraceControlComponent[] components = new ITraceControlComponent[1];
- components[0] = component;
- setSelection(components);
- }
-
- /**
- * Sets the selected components in the tree
- * @param components - array of components to select
- */
- public void setSelection(ITraceControlComponent[] components) {
- final StructuredSelection selection = new StructuredSelection(components);
- UIJob myJob = new UIJob("Select") { //$NON-NLS-1$
- @Override
- public IStatus runInUIThread(IProgressMonitor monitor) {
- fTreeViewer.setSelection(selection);
- return Status.OK_STATUS;
- }
- };
- myJob.setUser(false);
- myJob.schedule();
- }
-
- // ------------------------------------------------------------------------
- // Helper methods
- // ------------------------------------------------------------------------
- /**
- * Creates the context sensitive menu.
- */
- private void createContextMenu() {
- // First we create a menu Manager
- final MenuManager menuManager = new MenuManager();
- final Menu menu = menuManager.createContextMenu(fTreeViewer.getTree());
- // Set the MenuManager
- fTreeViewer.getTree().setMenu(menu);
- getSite().registerContextMenu(menuManager, fTreeViewer);
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/Workaround_Bug449362.java b/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/Workaround_Bug449362.java
deleted file mode 100644
index c710b3d05d..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/Workaround_Bug449362.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 Wind River Systems, Inc. and others
- *
- * 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:
- * Markus Schorn - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.linuxtools.internal.lttng2.control.ui.views;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IExtensionPoint;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.ui.IStartup;
-
-/**
- * Collection of workarounds needed for dealing with the RSE adapter.
- */
-public class Workaround_Bug449362 {
-
- private static final String RSE_ADAPTER_ID = "org.eclipse.ptp.remote.RSERemoteServices"; //$NON-NLS-1$
-
- private static boolean fTriggeredRSEStartup = false;
-
- /**
- * Trigger the startup of RSE, if necessary.
- * @param adapterID the id of the adapter that will be initialized
- * @return <code>false</code> if the startup cannot be triggered, although it should be.
- */
- public static boolean triggerRSEStartup(String adapterID) {
- if (fTriggeredRSEStartup || !RSE_ADAPTER_ID.equals(adapterID)) {
- return true;
- }
-
- IExtensionPoint ep = Platform.getExtensionRegistry().getExtensionPoint("org.eclipse.ui.startup"); //$NON-NLS-1$
- if (ep == null) {
- return false;
- }
- for (IConfigurationElement elem : ep.getConfigurationElements()) {
- String clazz = elem.getAttribute("class"); //$NON-NLS-1$
- if (clazz != null && clazz.endsWith("RSEUIStartup")) { //$NON-NLS-1$
- try {
- Object ext = elem.createExecutableExtension("class"); //$NON-NLS-1$
- if (ext instanceof IStartup) {
- ((IStartup) ext).earlyStartup();
- fTriggeredRSEStartup = true;
- return true;
- }
- } catch (CoreException e) {
- }
- }
- }
- return false;
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/dialogs/AddContextDialog.java b/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/dialogs/AddContextDialog.java
deleted file mode 100644
index d2a0018141..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/dialogs/AddContextDialog.java
+++ /dev/null
@@ -1,420 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2012, 2014 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:
- * Bernd Hufmann - Initial API and implementation
- **********************************************************************/
-package org.eclipse.linuxtools.internal.lttng2.control.ui.views.dialogs;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jface.viewers.CheckStateChangedEvent;
-import org.eclipse.jface.viewers.CheckboxTreeViewer;
-import org.eclipse.jface.viewers.ColumnLabelProvider;
-import org.eclipse.jface.viewers.ICheckStateListener;
-import org.eclipse.jface.viewers.ITreeContentProvider;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.Activator;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.messages.Messages;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Group;
-import org.eclipse.swt.widgets.Shell;
-
-/**
- * <p>
- * Dialog box for collecting information about contexts to be added to channels/events.
- * </p>
- *
- * @author Bernd Hufmann
- */
-public class AddContextDialog extends Dialog implements IAddContextDialog {
-
- // ------------------------------------------------------------------------
- // Constants
- // ------------------------------------------------------------------------
-
- /**
- * The icon file for this dialog box.
- */
- public static final String ADD_CONTEXT_ICON_FILE = "icons/elcl16/add-context.gif"; //$NON-NLS-1$
-
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
-
- /**
- * A tree viewer for displaying and selection of available contexts.
- */
- private CheckboxTreeViewer fContextsViewer;
-
- /**
- * A Tree model for the checkbox tree viewer.
- */
- private final ContextModel fContextModel = new ContextModel();
-
- /**
- * The contexts to add.
- */
- private final List<String> fSelectedContexts = new ArrayList<>();
-
- // ------------------------------------------------------------------------
- // Constructors
- // ------------------------------------------------------------------------
-
- /**
- * Constructor
- * @param shell - a shell for the display of the dialog
- */
- public AddContextDialog(Shell shell) {
- super(shell);
- setShellStyle(SWT.RESIZE | getShellStyle());
- }
-
- // ------------------------------------------------------------------------
- // Accessors
- // ------------------------------------------------------------------------
-
- @Override
- public void setAvalibleContexts(List<String> contexts) {
- fContextModel.setAvalibleContexts(contexts);
- }
-
- @Override
- public List<String> getContexts() {
- List<String> ret = new ArrayList<>();
- ret.addAll(fSelectedContexts);
- return ret;
- }
-
- // ------------------------------------------------------------------------
- // Operations
- // ------------------------------------------------------------------------
-
- @Override
- protected void configureShell(Shell newShell) {
- super.configureShell(newShell);
- newShell.setText(Messages.TraceControl_AddContextDialogTitle);
- newShell.setImage(Activator.getDefault().loadIcon(ADD_CONTEXT_ICON_FILE));
- }
-
- @Override
- protected Control createDialogArea(Composite parent) {
-
- // Main dialog panel
- Composite dialogComposite = new Composite(parent, SWT.NONE);
- GridLayout layout = new GridLayout(1, true);
- dialogComposite.setLayout(layout);
- dialogComposite.setLayoutData(new GridData(GridData.FILL_BOTH));
-
- // Contexts list
- Group contextGroup = new Group(dialogComposite, SWT.SHADOW_NONE);
- contextGroup.setText(Messages.TraceControl_AddContextAvailableContextsLabel);
- layout = new GridLayout(1, true);
- contextGroup.setLayout(layout);
- contextGroup.setLayoutData(new GridData(GridData.FILL_BOTH));
-
- fContextsViewer = new CheckboxTreeViewer(contextGroup, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL);
- fContextsViewer.getTree().setToolTipText(Messages.TraceControl_AddContextAvailableContextsTooltip);
-
- fContextsViewer.setContentProvider(new ContextsContentProvider());
- fContextsViewer.setLabelProvider(new ContextsLabelProvider());
- fContextsViewer.addCheckStateListener(new ContextCheckListener());
- fContextsViewer.setInput(fContextModel);
- fContextsViewer.getTree().setLayoutData(new GridData(GridData.FILL_BOTH));
-
- getShell().setMinimumSize(new Point(500, 450));
-
- return dialogComposite;
- }
-
- @Override
- protected void createButtonsForButtonBar(Composite parent) {
- createButton(parent, IDialogConstants.CANCEL_ID, "&Cancel", true); //$NON-NLS-1$
- createButton(parent, IDialogConstants.OK_ID, "&Ok", true); //$NON-NLS-1$
- }
-
- @Override
- protected void okPressed() {
- fSelectedContexts.clear();
-
- Object[] checkedElements = fContextsViewer.getCheckedElements();
- for (int i = 0; i < checkedElements.length; i++) {
- IContextModelComponent component = (IContextModelComponent)checkedElements[i];
- if (!Messages.TraceControl_AddContextAllLabel.equals(component.getName())) {
- fSelectedContexts.add(component.getName());
- }
- }
-
- // validation successful -> call super.okPressed()
- super.okPressed();
- }
-
- // ------------------------------------------------------------------------
- // Helper classes and methods
- // ------------------------------------------------------------------------
- /**
- * Content provider for the contexts tree
- */
- public static final class ContextsContentProvider implements ITreeContentProvider {
-
- @Override
- public void dispose() {
- }
-
- @Override
- public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
- }
-
- @Override
- public Object[] getElements(Object inputElement) {
- return getChildren(inputElement);
- }
-
- @Override
- public Object[] getChildren(Object parentElement) {
- if (parentElement instanceof IContextModelComponent) {
- return ((IContextModelComponent)parentElement).getChildren();
- }
- return null;
- }
-
- @Override
- public Object getParent(Object element) {
- if (element instanceof IContextModelComponent) {
- return ((IContextModelComponent)element).getParent();
- }
- return null;
- }
-
- @Override
- public boolean hasChildren(Object element) {
- if (element instanceof IContextModelComponent) {
- return ((IContextModelComponent)element).hasChildren();
- }
- return false;
- }
- }
-
- /**
- * Label provider for the contexts tree
- */
- public static final class ContextsLabelProvider extends ColumnLabelProvider {
- @Override
- public String getText(Object element) {
-
- if ((element != null) && (element instanceof IContextModelComponent)) {
- return ((IContextModelComponent)element).getName();
- }
-
- return "";//$NON-NLS-1$
- }
- }
-
- /**
- * Check state listener for the contexts tree.
- */
- public final class ContextCheckListener implements ICheckStateListener {
- @Override
- public void checkStateChanged(CheckStateChangedEvent event) {
- if (event.getChecked()) {
- if (event.getElement() instanceof AllContexts) {
- fContextsViewer.setSubtreeChecked(event.getElement(), true);
- }
- } else {
- if (event.getElement() instanceof AllContexts) {
- fContextsViewer.setSubtreeChecked(event.getElement(), false);
- } else {
- IContextModelComponent component = (IContextModelComponent) event.getElement();
- fContextsViewer.setChecked(component.getParent(), false);
- }
- }
- }
- }
-
- /**
- * Model for the context tree viewer (root component)
- */
- public static class ContextModel implements IContextModelComponent {
-
- private final AllContexts fAllContexts;
-
- /**
- * Constructor
- */
- public ContextModel() {
- fAllContexts = new AllContexts(this);
- }
-
- /**
- * Sets the available contexts
- *
- * @param contexts
- * The contexts to set
- */
- public void setAvalibleContexts(List<String> contexts) {
- fAllContexts.setAvalibleContexts(contexts);
- }
-
- @Override
- public String getName() {
- return "root"; //$NON-NLS-1$
- }
-
- @Override
- public Object getParent() {
- return null;
- }
-
- @Override
- public Object[] getChildren() {
- Object[] ret = new Object[1];
- ret[0] = fAllContexts;
- return ret;
- }
-
- @Override
- public boolean hasChildren() {
- return true;
- }
- }
-
- /**
- * Model element (to select/deselect) all contexts) for the context tree viewer
- */
- public static class AllContexts implements IContextModelComponent {
- /**
- * The available list of contexts.
- */
- private List<Context> fAvailableContexts;
-
- private final IContextModelComponent fParent;
-
- /**
- * Constructor
- *
- * @param parent
- * The parent component
- */
- public AllContexts(IContextModelComponent parent) {
- fParent = parent;
- }
-
- /**
- * Sets the available contexts
- *
- * @param contexts
- * The contexts to set
- */
- public void setAvalibleContexts(List<String> contexts) {
- fAvailableContexts = new ArrayList<>();
- if (contexts != null) {
- for (Iterator<String> iterator = contexts.iterator(); iterator.hasNext();) {
- String name = iterator.next();
- fAvailableContexts.add(new Context(this, name));
- }
- }
- }
-
- @Override
- public String getName() {
- return Messages.TraceControl_AddContextAllLabel;
- }
-
- @Override
- public Object[] getChildren() {
- return fAvailableContexts.toArray();
- }
-
- @Override
- public Object getParent() {
- return fParent;
- }
-
- @Override
- public boolean hasChildren() {
- return true;
- }
- }
-
- /**
- * Model element (the context) for the context tree viewer
- */
- public static class Context implements IContextModelComponent {
-
- private final String fContextName;
- private final IContextModelComponent fParent;
-
- /**
- * Constructor
- *
- * @param parent
- * The parent component
- * @param name
- * The name of this context
- */
- public Context(IContextModelComponent parent, String name) {
- fParent = parent;
- fContextName = name;
- }
-
- @Override
- public String getName() {
- return fContextName;
- }
-
- @Override
- public Object getParent() {
- return fParent;
- }
-
- @Override
- public Object[] getChildren() {
- return null;
- }
-
- @Override
- public boolean hasChildren() {
- return false;
- }
- }
-
- /**
- * Interface for the tree model used for the context tree viewer.
- */
- public interface IContextModelComponent {
-
- /**
- * @return The name of this component
- */
- String getName();
-
- /**
- * @return The parent component
- */
- Object getParent();
-
- /**
- * @return The array of children of this component
- */
- Object[] getChildren();
-
- /**
- * @return If this component has children or not
- */
- boolean hasChildren();
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/dialogs/ConfirmDialog.java b/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/dialogs/ConfirmDialog.java
deleted file mode 100644
index 088a48ec89..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/dialogs/ConfirmDialog.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2012, 2013 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:
- * Bernd Hufmann - Initial API and implementation
- **********************************************************************/
-
-package org.eclipse.linuxtools.internal.lttng2.control.ui.views.dialogs;
-
-
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.messages.Messages;
-import org.eclipse.swt.widgets.Shell;
-
-/**
- * <p>
- * Confirmation dialog implementation.
- * </p>
- *
- * @author Bernd Hufmann
- */
-
-public class ConfirmDialog implements IConfirmDialog {
-
- @Override
- public boolean openConfirm(Shell parent, String title, String message) {
- return MessageDialog.openConfirm(parent,
- Messages.TraceControl_DestroyConfirmationTitle,
- Messages.TraceControl_DestroyConfirmationMessage);
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/dialogs/CreateSessionDialog.java b/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/dialogs/CreateSessionDialog.java
deleted file mode 100644
index 3a31342278..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/dialogs/CreateSessionDialog.java
+++ /dev/null
@@ -1,1042 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2012, 2014 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:
- * Bernd Hufmann - Initial API and implementation
- * Bernd Hufmann - Updated for support of LTTng Tools 2.1
- * Marc-Andre Laperle - Support for creating a live session
- * Markus Schorn - Bug 448058: Use org.eclipse.remote in favor of RSE
- **********************************************************************/
-
-package org.eclipse.linuxtools.internal.lttng2.control.ui.views.dialogs;
-
-import org.eclipse.core.filesystem.IFileInfo;
-import org.eclipse.core.filesystem.IFileStore;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jface.dialogs.TitleAreaDialog;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.ISessionInfo;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.impl.SessionInfo;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.Activator;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.messages.Messages;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.model.impl.TargetNodeComponent;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.model.impl.TraceSessionGroup;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.remote.IRemoteSystemProxy;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.service.LTTngControlServiceConstants;
-import org.eclipse.remote.core.IRemoteFileManager;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.CCombo;
-import org.eclipse.swt.events.FocusEvent;
-import org.eclipse.swt.events.FocusListener;
-import org.eclipse.swt.events.ModifyEvent;
-import org.eclipse.swt.events.ModifyListener;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.events.VerifyEvent;
-import org.eclipse.swt.events.VerifyListener;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Group;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Text;
-
-/**
- * <p>
- * Dialog box for collecting session creation information.
- * </p>
- *
- * @author Bernd Hufmann
- */
-public class CreateSessionDialog extends TitleAreaDialog implements ICreateSessionDialog {
-
- // ------------------------------------------------------------------------
- // Constants
- // ------------------------------------------------------------------------
- /**
- * The icon file for this dialog box.
- */
- public static final String CREATE_SESSION_ICON_FILE = "icons/elcl16/add_button.gif"; //$NON-NLS-1$
-
- /**
- * To indicate that the default value will be used for this field
- */
- private static final String DEFAULT_TEXT = "<" + Messages.EnableChannelDialog_DefaultMessage + ">"; //$NON-NLS-1$ //$NON-NLS-2$
-
- /**
- * The default port for the connection to Relayd. This actual value is
- * needed because this is not an optional argument to a command; this is
- * what is used to connect directly to Relayd from Java through a socket.
- * There is also currently no way to know the default value by issuing a
- * command.
- */
- private static final int DEFAULT_LIVE_PORT = 5344;
-
- /**
- * The default address for the connection to Relayd. Only local is supported
- * for now. See above comment for why it's needed.
- */
- private static final String DEFAULT_LIVE_URL = "127.0.0.1"; //$NON-NLS-1$
-
- /**
- * Supported network protocols for streaming
- */
- private enum StreamingProtocol {
- /** Default network protocol for IPv4 (TCP)*/
- net,
- /** Default network protocol for IPv6 (TCP)*/
- net6,
- /** File */
- file,
- }
-
- /**
- * Supported network protocols for Live tracing
- */
- private enum LiveProtocol {
- /** Default network protocol for IPv4 (TCP)*/
- net,
- /** Default network protocol for IPv6 (TCP)*/
- net6
- }
-
- private enum StreamingProtocol2 {
- /** Default network protocol for IPv4 (TCP)*/
- net,
- /** Default network protocol for IPv6 (TCP)*/
- net6,
- /** TCP network protocol for IPv4*/
- tcp,
- /** TCP network protocol for IPv6*/
- tcp6 }
-
- /**
- * Index of last supported streaming protocol for common URL configuration.
- */
- private static final int COMMON_URL_LAST_INDEX = 1;
- /**
- * Index of default streaming protocol.
- */
- private static final int DEFAULT_URL_INDEX = 0;
-
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
- /**
- * The dialog composite.
- */
- private Composite fDialogComposite = null;
- /**
- * The text widget for the session name
- */
- private Text fSessionNameText = null;
- /**
- * The label widget for the session path.
- */
- private Label fSessionPathLabel = null;
- /**
- * The text widget for the session path.
- */
- private Text fSessionPathText = null;
- /**
- * The button widget to select a normal session
- */
- private Button fNormalModeButton = null;
- /**
- * The button widget to select a snapshot session
- */
- private Button fSnapshotButton = null;
- /**
- * The group that contains the mutually exclusive mode buttons
- */
- private Group fModeButtonGroup = null;
- /**
- * The button widget to select a live session
- */
- private Button fLiveButton = null;
-
- /**
- * The text widget to set a live delay
- */
- private Text fLiveDelayText = null;
- /**
- * The Group for advanced configuration.
- */
- private Group fAdvancedGroup = null;
- /**
- * The button to show advanced options.
- */
- private Button fAdvancedButton = null;
- /**
- * The composite with streaming configuration parameter.
- */
- private Composite fStreamingComposite = null;
- /**
- * The text widget for the trace path.
- */
- private Text fTracePathText = null;
- /**
- * The button to link data protocol/Address with control protocol.
- */
- private Button fLinkDataWithControlButton = null;
- /**
- * The Combo box for channel protocol selection.
- */
- private CCombo fControlProtocolCombo = null;
- /**
- * A selection listener that copies the protocol from control to data when being linked.
- */
- private ControlProtocolSelectionListener fCopyProtocolSelectionListener;
- /**
- * A selection listener updates the control port text depending on the control protocol selected.
- */
- private ProtocolComboSelectionListener fControlProtocolSelectionListener;
- /**
- * A selection listener updates the data port text depending on the data protocol selected.
- */
- private ProtocolComboSelectionListener fDataProtocolSelectionListener;
- /**
- * The text box for the host/IP address of the control channel.
- */
- private Text fControlHostAddressText = null;
- /**
- * A key listener that copies the host address from control to data when being linked.
- */
- private CopyModifyListener fControlUrlKeyListener;
- /**
- * A modify listener that updates the enablement of the dialog.
- */
- private UpdateEnablementModifyListener fUpdateEnablementModifyListener;
- /**
- * The text box for the control port.
- */
- private Text fControlPortText = null;
- /**
- * The Combo box for data protocol selection.
- */
- private CCombo fDataProtocolCombo = null;
- /**
- * The text box for the host/IP address of the data channel.
- */
- private Text fDataHostAddressText = null;
- /**
- * The text box for the data port.
- */
- private Text fDataPortText = null;
- /**
- * The parent where the new node should be added.
- */
- private TraceSessionGroup fParent = null;
- /**
- * The session name string.
- */
- private String fSessionName = ""; //$NON-NLS-1$;
- /**
- * The session path string.
- */
- private String fSessionPath = null;
- /**
- * Flag whether the session is snapshot or not
- */
- private boolean fIsSnapshot = false;
- /**
- * Flag whether the session is live or not
- */
- private boolean fIsLive = false;
- /**
- * The text box for the live address (relayd).
- */
- private Text fLiveHostAddressText = null;
- /**
- * The text box for the live port (relayd).
- */
- private Text fLivePortText = null;
- /**
- * The live delay
- */
- private Integer fLiveDelay = 0;
- /**
- * The live url.
- */
- private String fLiveUrl = null;
- /**
- * The live port.
- */
- private Integer fLivePort = 0;
- /**
- * Flag whether default location (path) shall be used or not
- */
- private boolean fIsDefaultPath = true;
- /**
- * Flag whether the advanced options are enabled or not
- */
- private boolean fIsAdvancedEnabled = false;
- /**
- * The network URL in case control and data is configured together.
- * If set, fControlUrl and fDataUrl will be null.
- */
- private String fNetworkUrl = null;
- /**
- * The control URL in case control and data is configured separately.
- * If set, fDataUrl will be set too and fNetworkUrl will be null.
- */
- private String fControlUrl = null;
- /**
- * The data URL in case control and data is configured separately.
- * If set, fControlUrl will be set too and fNetworkUrl will be null.
- */
- private String fDataUrl = null;
- /**
- * The trace path string.
- */
- private String fTracePath = null;
- /**
- * The Group for advanced configuration of Live mode.
- */
- private Group fLiveGroup = null;
-
- // ------------------------------------------------------------------------
- // Constructors
- // ------------------------------------------------------------------------
- /**
- * Constructor
- * @param shell - a shell for the display of the dialog
- */
- public CreateSessionDialog(Shell shell) {
- super(shell);
- setShellStyle(SWT.RESIZE | getShellStyle());
- }
-
- // ------------------------------------------------------------------------
- // Accessors
- // ------------------------------------------------------------------------
-
- @Override
- public void initialize(TraceSessionGroup group) {
- fParent = group;
- fStreamingComposite = null;
- fLiveGroup = null;
- fLiveButton = null;
- fIsLive = false;
- fSnapshotButton = null;
- fSessionName = ""; //$NON-NLS-1$
- fSessionPath = null;
- fIsSnapshot = false;
- fIsDefaultPath = true;
- fIsAdvancedEnabled = false;
- fNetworkUrl = null;
- fControlUrl = null;
- fDataUrl = null;
- }
- // ------------------------------------------------------------------------
- // Operations
- // ------------------------------------------------------------------------
-
- @Override
- protected void configureShell(Shell newShell) {
- super.configureShell(newShell);
- newShell.setText(Messages.TraceControl_CreateSessionDialogTitle);
- newShell.setImage(Activator.getDefault().loadIcon(CREATE_SESSION_ICON_FILE));
- }
-
- @Override
- protected Control createDialogArea(Composite parent) {
- Composite dialogAreaa = (Composite) super.createDialogArea(parent);
- setTitle(Messages.TraceControl_CreateSessionDialogTitle);
- setMessage(Messages.TraceControl_CreateSessionDialogMessage);
-
- // Main dialog panel
- fDialogComposite = new Composite(dialogAreaa, SWT.NONE);
- GridLayout layout = new GridLayout(1, true);
- fDialogComposite.setLayout(layout);
- fDialogComposite.setLayoutData(new GridData(GridData.FILL_BOTH));
-
- Group sessionGroup = new Group(fDialogComposite, SWT.SHADOW_NONE);
- sessionGroup.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
- sessionGroup.setLayout(new GridLayout(4, true));
-
- fUpdateEnablementModifyListener = new UpdateEnablementModifyListener();
-
- Label sessionNameLabel = new Label(sessionGroup, SWT.RIGHT);
- sessionNameLabel.setText(Messages.TraceControl_CreateSessionNameLabel);
- fSessionNameText = new Text(sessionGroup, SWT.NONE);
- fSessionNameText.setToolTipText(Messages.TraceControl_CreateSessionNameTooltip);
- fSessionNameText.addModifyListener(fUpdateEnablementModifyListener);
- GridData data = new GridData(GridData.FILL_HORIZONTAL);
- data.horizontalSpan = 3;
- fSessionNameText.setLayoutData(data);
-
- fSessionPathLabel = new Label(sessionGroup, SWT.RIGHT);
- fSessionPathLabel.setText(Messages.TraceControl_CreateSessionPathLabel);
- fSessionPathText = new Text(sessionGroup, SWT.NONE);
- fSessionPathText.setToolTipText(Messages.TraceControl_CreateSessionPathTooltip);
- data = new GridData(GridData.FILL_HORIZONTAL);
- data.horizontalSpan = 3;
- fSessionPathText.setLayoutData(data);
- fSessionPathText.addModifyListener(fUpdateEnablementModifyListener);
-
- if (fParent.isSnapshotSupported() || fParent.isLiveSupported()) {
- fModeButtonGroup = new Group(sessionGroup, SWT.NONE);
- data = new GridData(GridData.FILL_HORIZONTAL);
- data.horizontalSpan = 4;
- fModeButtonGroup.setLayoutData(data);
- fModeButtonGroup.setLayout(new GridLayout(3, true));
-
- SelectionAdapter modeChangedListener = new SelectionAdapter() {
- @Override
- public void widgetSelected(SelectionEvent e) {
- if (fLiveButton != null) {
- if (fLiveButton.getSelection()) {
- createAdvancedLiveGroup();
- updateSessionPathEnablement();
- updateProtocolComboItems();
- } else {
- disposeLiveGroup();
- updateSessionPathEnablement();
- updateProtocolComboItems();
- }
- }
- updateEnablement();
- }
- };
-
- fNormalModeButton = new Button(fModeButtonGroup, SWT.RADIO);
- fNormalModeButton.setText(Messages.TraceControl_CreateSessionNormalLabel);
- fNormalModeButton.setToolTipText(Messages.TraceControl_CreateSessionNormalTooltip);
- fNormalModeButton.setSelection(true);
- fNormalModeButton.addSelectionListener(modeChangedListener);
-
- if (fParent.isSnapshotSupported()) {
- fSnapshotButton = new Button(fModeButtonGroup, SWT.RADIO);
- fSnapshotButton.setText(Messages.TraceControl_CreateSessionSnapshotLabel);
- fSnapshotButton.setToolTipText(Messages.TraceControl_CreateSessionSnapshotTooltip);
- fSnapshotButton.addSelectionListener(modeChangedListener);
- }
-
- if (fParent.isLiveSupported()) {
- fLiveButton = new Button(fModeButtonGroup, SWT.RADIO);
- fLiveButton.setText(Messages.TraceControl_CreateSessionLiveLabel);
- fLiveButton.setToolTipText(Messages.TraceControl_CreateSessionLiveTooltip);
- fLiveButton.addSelectionListener(modeChangedListener);
- }
- }
-
- if (fParent.isNetworkStreamingSupported() || fParent.isLiveSupported()) {
- createAdvancedOptionsComposite();
- }
-
- return fDialogComposite;
- }
-
- private void createAdvancedOptionsComposite() {
-
- fAdvancedGroup = new Group(fDialogComposite, SWT.SHADOW_NONE);
- fAdvancedGroup.setLayoutData(new GridData(GridData.FILL_BOTH));
- fAdvancedGroup.setLayout(new GridLayout(1, true));
-
- fAdvancedButton = new Button(fAdvancedGroup, SWT.PUSH);
- fAdvancedButton.setText(Messages.TraceControl_CreateSessionConfigureStreamingButtonText + " >>>"); //$NON-NLS-1$
- fAdvancedButton.setToolTipText(Messages.TraceControl_CreateSessionConfigureStreamingButtonTooltip);
- fAdvancedButton.addSelectionListener(new SelectionAdapter() {
- @Override
- public void widgetSelected(SelectionEvent e) {
- if (fIsAdvancedEnabled) {
- fIsAdvancedEnabled = false;
- fAdvancedButton.setText(">>> " + Messages.TraceControl_CreateSessionConfigureStreamingButtonText); //$NON-NLS-1$
- fAdvancedButton.setToolTipText(Messages.TraceControl_CreateSessionConfigureStreamingButtonTooltip);
-
- if (fParent.isNetworkStreamingSupported()) {
- updateSessionPathEnablement();
- disposeConfigureStreamingComposite();
- }
-
- if (fParent.isLiveSupported()) {
- disposeLiveGroup();
- }
- } else {
- fIsAdvancedEnabled = true;
- fAdvancedButton.setText("<<< " + Messages.TraceControl_CreateSessionNoStreamingButtonText); //$NON-NLS-1$
- fAdvancedButton.setToolTipText(Messages.TraceControl_CreateSessionNoStreamingButtonTooltip);
-
- if (fParent.isNetworkStreamingSupported()) {
- updateSessionPathEnablement();
- createConfigureStreamingComposite();
- }
- if (fLiveButton != null && fLiveButton.getSelection()) {
- createAdvancedLiveGroup();
- }
- }
-
- updateEnablement();
- getShell().pack();
- }
- });
- }
-
- private void updateSessionPathEnablement() {
- if (fIsAdvancedEnabled || fIsLive) {
- fSessionPathText.setEnabled(false);
- fSessionPathText.setText(""); //$NON-NLS-1$
- fSessionPathLabel.setText(""); //$NON-NLS-1$
- } else {
- fSessionPathText.setEnabled(true);
- fSessionPathLabel.setText(Messages.TraceControl_CreateSessionPathLabel);
- }
- }
-
- private void updateProtocolComboItems() {
- if (fControlProtocolCombo == null || fControlProtocolCombo.isDisposed()) {
- return;
- }
-
- int currentSelection = fControlProtocolCombo.getSelectionIndex() <= COMMON_URL_LAST_INDEX ?
- fControlProtocolCombo.getSelectionIndex() : DEFAULT_URL_INDEX;
-
- fControlProtocolCombo.removeAll();
- Enum<? extends Enum<?>>[] values;
- if (fIsLive) {
- values = LiveProtocol.values();
- } else if (fLinkDataWithControlButton.getSelection()) {
- values = StreamingProtocol.values();
- } else {
- values = StreamingProtocol2.values();
- }
-
- String[] controlItems = new String[values.length];
- for (int i = 0; i < controlItems.length; i++) {
- controlItems[i] = values[i].name();
- }
- fControlProtocolCombo.setItems(controlItems);
- fDataProtocolCombo.setItems(controlItems);
-
- // Set selection
- if (currentSelection != -1) {
- fControlProtocolCombo.select(currentSelection);
- fDataProtocolCombo.select(currentSelection);
- }
- }
-
- private void createConfigureStreamingComposite() {
- if (fStreamingComposite == null) {
- fStreamingComposite = new Group(fAdvancedGroup, SWT.SHADOW_NONE);
- GridLayout layout = new GridLayout(1, true);
- fStreamingComposite.setLayout(layout);
- fStreamingComposite.setLayoutData(new GridData(GridData.FILL_BOTH));
-
- layout = new GridLayout(7, true);
- fStreamingComposite.setLayout(layout);
- fStreamingComposite.setLayoutData(new GridData(GridData.FILL_BOTH));
-
- Label tracePathLabel = new Label(fStreamingComposite, SWT.RIGHT);
- tracePathLabel.setText(Messages.TraceControl_CreateSessionTracePathText);
- fTracePathText = new Text(fStreamingComposite, SWT.NONE);
- fTracePathText.setToolTipText(Messages.TraceControl_CreateSessionTracePathTooltip);
-
- // layout widgets
- GridData data = new GridData(GridData.FILL_HORIZONTAL);
- data.horizontalSpan = 6;
- fTracePathText.setLayoutData(data);
- fTracePathText.addModifyListener(fUpdateEnablementModifyListener);
-
- fLinkDataWithControlButton = new Button(fStreamingComposite, SWT.CHECK);
- fLinkDataWithControlButton.setText(Messages.TraceControl_CreateSessionLinkButtonText);
- fLinkDataWithControlButton.setToolTipText(Messages.TraceControl_CreateSessionLinkButtonTooltip);
- data = new GridData(GridData.FILL_HORIZONTAL);
- data.horizontalSpan = 7;
- fLinkDataWithControlButton.setLayoutData(data);
- fLinkDataWithControlButton.setSelection(true);
-
- Label label = new Label(fStreamingComposite, SWT.NONE);
- data = new GridData(GridData.FILL_HORIZONTAL);
- data.horizontalSpan = 1;
- label.setLayoutData(data);
-
- label = new Label(fStreamingComposite, SWT.NONE);
- label.setText(Messages.TraceControl_CreateSessionProtocolLabelText);
- data = new GridData(GridData.FILL_HORIZONTAL);
- data.horizontalSpan = 1;
- label.setLayoutData(data);
-
- label = new Label(fStreamingComposite, SWT.NONE);
- label.setText(Messages.TraceControl_CreateSessionAddressLabelText);
- data = new GridData(GridData.FILL_HORIZONTAL);
- data.horizontalSpan = 4;
- label.setLayoutData(data);
-
- label = new Label(fStreamingComposite, SWT.NONE);
- label.setText(Messages.TraceControl_CreateSessionPortLabelText);
- data = new GridData(GridData.FILL_HORIZONTAL);
- data.horizontalSpan = 1;
- label.setLayoutData(data);
-
- label = new Label(fStreamingComposite, SWT.RIGHT);
- label.setText(Messages.TraceControl_CreateSessionControlUrlLabel);
- data = new GridData(GridData.FILL_HORIZONTAL);
- data.horizontalSpan = 1;
- label.setLayoutData(data);
-
- fControlProtocolCombo = new CCombo(fStreamingComposite, SWT.READ_ONLY);
- fControlProtocolCombo.setToolTipText(Messages.TraceControl_CreateSessionCommonProtocolTooltip);
- data = new GridData(GridData.FILL_HORIZONTAL);
- data.horizontalSpan = 1;
- fControlProtocolCombo.setLayoutData(data);
- fControlProtocolCombo.addModifyListener(fUpdateEnablementModifyListener);
-
- fControlHostAddressText = new Text(fStreamingComposite, SWT.NONE);
- fControlHostAddressText.setToolTipText(Messages.TraceControl_CreateSessionControlAddressTooltip);
- data = new GridData(GridData.FILL_HORIZONTAL);
- data.horizontalSpan = 4;
- fControlHostAddressText.setLayoutData(data);
- fControlHostAddressText.addModifyListener(fUpdateEnablementModifyListener);
-
- fControlPortText = new Text(fStreamingComposite, SWT.NONE);
- fControlPortText.setToolTipText(Messages.TraceControl_CreateSessionControlPortTooltip);
- data = new GridData(GridData.FILL_HORIZONTAL);
- data.horizontalSpan = 1;
- fControlPortText.setLayoutData(data);
- fControlPortText.addModifyListener(fUpdateEnablementModifyListener);
-
- label = new Label(fStreamingComposite, SWT.RIGHT);
- label.setText(Messages.TraceControl_CreateSessionDataUrlLabel);
- data = new GridData(GridData.FILL_HORIZONTAL);
- data.horizontalSpan = 1;
- label.setLayoutData(data);
-
- fDataProtocolCombo = new CCombo(fStreamingComposite, SWT.READ_ONLY);
- fDataProtocolCombo.setEnabled(false);
- fDataProtocolCombo.setToolTipText(Messages.TraceControl_CreateSessionProtocolTooltip);
- data = new GridData(GridData.FILL_HORIZONTAL);
- data.horizontalSpan = 1;
- fDataProtocolCombo.setLayoutData(data);
- fDataProtocolCombo.addModifyListener(fUpdateEnablementModifyListener);
-
- updateProtocolComboItems();
-
- fDataHostAddressText = new Text(fStreamingComposite, SWT.NONE);
- fDataHostAddressText.setEnabled(false);
- fDataHostAddressText.setToolTipText(Messages.TraceControl_CreateSessionDataAddressTooltip);
- data = new GridData(GridData.FILL_HORIZONTAL);
- data.horizontalSpan = 4;
- fDataHostAddressText.setLayoutData(data);
- fDataHostAddressText.addModifyListener(fUpdateEnablementModifyListener);
-
- fDataPortText = new Text(fStreamingComposite, SWT.NONE);
- fDataPortText.setEnabled(true);
- fDataPortText.setToolTipText(Messages.TraceControl_CreateSessionDataPortTooltip);
- data = new GridData(GridData.FILL_HORIZONTAL);
- data.horizontalSpan = 1;
- fDataPortText.setLayoutData(data);
- fDataPortText.addModifyListener(fUpdateEnablementModifyListener);
-
- fCopyProtocolSelectionListener = new ControlProtocolSelectionListener();
- fControlProtocolSelectionListener = new ProtocolComboSelectionListener(fControlProtocolCombo, fControlPortText);
- fDataProtocolSelectionListener = new ProtocolComboSelectionListener(fDataProtocolCombo, fDataPortText);
-
- fControlProtocolCombo.addSelectionListener(fCopyProtocolSelectionListener);
-
- fControlUrlKeyListener = new CopyModifyListener(fControlHostAddressText, fDataHostAddressText);
- fControlHostAddressText.addModifyListener(fControlUrlKeyListener);
-
- fControlProtocolCombo.select(DEFAULT_URL_INDEX);
- fDataProtocolCombo.select(DEFAULT_URL_INDEX);
-
- fLinkDataWithControlButton.addSelectionListener(new SelectionAdapter() {
- @Override
- public void widgetSelected(SelectionEvent e) {
- if (fLinkDataWithControlButton.getSelection()) {
- // Set enablement control data channel inputs
- fDataProtocolCombo.setEnabled(false);
- fDataHostAddressText.setEnabled(false);
- fControlPortText.setEnabled(true);
- fDataPortText.setEnabled(true);
-
- // Update listeners
- fControlProtocolCombo.removeSelectionListener(fControlProtocolSelectionListener);
- fDataProtocolCombo.removeSelectionListener(fDataProtocolSelectionListener);
- fControlProtocolCombo.addSelectionListener(fCopyProtocolSelectionListener);
- fControlHostAddressText.addModifyListener(fControlUrlKeyListener);
-
- updateProtocolComboItems();
-
- fDataHostAddressText.setText(fControlHostAddressText.getText());
-
- // Update tool tips
- fControlProtocolCombo.setToolTipText(Messages.TraceControl_CreateSessionCommonProtocolTooltip);
- } else {
- // Enable data channel inputs
- fDataProtocolCombo.setEnabled(true);
- fDataHostAddressText.setEnabled(true);
-
- // Update listeners
- fControlProtocolCombo.removeSelectionListener(fCopyProtocolSelectionListener);
- fControlProtocolCombo.addSelectionListener(fControlProtocolSelectionListener);
- fDataProtocolCombo.addSelectionListener(fDataProtocolSelectionListener);
- fControlHostAddressText.removeModifyListener(fControlUrlKeyListener);
-
- updateProtocolComboItems();
-
- // Update tool tips
- fDataProtocolCombo.setToolTipText(Messages.TraceControl_CreateSessionProtocolTooltip);
- fControlProtocolCombo.setToolTipText(Messages.TraceControl_CreateSessionProtocolTooltip);
-
- // Update control/data port enablement and input
- if (fControlProtocolCombo.getItem(fControlProtocolCombo.getSelectionIndex()).equals(StreamingProtocol.net.name()) ||
- fControlProtocolCombo.getItem(fControlProtocolCombo.getSelectionIndex()).equals(StreamingProtocol.net6.name())) {
- fControlPortText.setText(""); //$NON-NLS-1$
- fControlPortText.setEnabled(false);
- } else {
- fControlPortText.setEnabled(true);
- }
-
- if (fDataProtocolCombo.getItem(fDataProtocolCombo.getSelectionIndex()).equals(StreamingProtocol.net.name()) ||
- fDataProtocolCombo.getItem(fDataProtocolCombo.getSelectionIndex()).equals(StreamingProtocol.net6.name())) {
- fDataPortText.setText(""); //$NON-NLS-1$
- fDataPortText.setEnabled(false);
- } else {
- fDataPortText.setEnabled(true);
- }
- }
- }
- });
- }
- }
-
- private void createAdvancedLiveGroup() {
- if (fLiveGroup == null && fIsAdvancedEnabled) {
- GridLayout layout = new GridLayout(7, true);
- fLiveGroup = new Group(fAdvancedGroup, SWT.NONE);
- fLiveGroup.setLayout(layout);
- GridData layoutData = new GridData(GridData.FILL_BOTH);
- fLiveGroup.setLayoutData(layoutData);
-
- Label label = new Label(fLiveGroup, SWT.NONE);
- label.setText(Messages.TraceControl_CreateSessionLiveConnectionLabel);
- layoutData = new GridData(GridData.FILL_HORIZONTAL);
- layoutData.horizontalSpan = 2;
- label.setLayoutData(layoutData);
-
- fLiveHostAddressText = new Text(fLiveGroup, SWT.NONE);
- fLiveHostAddressText.setText(DEFAULT_LIVE_URL);
- fLiveHostAddressText.setEnabled(false);
- fLiveHostAddressText.setToolTipText(Messages.TraceControl_CreateSessionLiveConnectionUrlTooltip);
- layoutData = new GridData(GridData.FILL_HORIZONTAL);
- layoutData.horizontalSpan = 4;
- fLiveHostAddressText.setLayoutData(layoutData);
-
- fLivePortText = new Text(fLiveGroup, SWT.NONE);
- fLivePortText.setText(Integer.toString(DEFAULT_LIVE_PORT));
- fLivePortText.setToolTipText(Messages.TraceControl_CreateSessionLiveConnectionPortTooltip);
- layoutData = new GridData(GridData.FILL_HORIZONTAL);
- fLivePortText.setLayoutData(layoutData);
-
- Label liveDelayLabel = new Label(fLiveGroup, SWT.NONE);
- layoutData = new GridData(GridData.FILL_HORIZONTAL);
- liveDelayLabel.setText(Messages.TraceControl_CreateSessionLiveDelayLabel);
- liveDelayLabel.setLayoutData(layoutData);
- fLiveDelayText = new Text(fLiveGroup, SWT.NONE);
- fLiveDelayText.setText(DEFAULT_TEXT);
- fLiveDelayText.setForeground(getShell().getDisplay().getSystemColor(SWT.COLOR_GRAY));
- fLiveDelayText.setToolTipText(Messages.TraceControl_CreateSessionLiveDelayTooltip);
- fLiveDelayText.addVerifyListener(new VerifyListener() {
- @Override
- public void verifyText(VerifyEvent e) {
- // only numbers and default are allowed.
- e.doit = e.text.matches("[0-9]*") || e.text.matches(DEFAULT_TEXT); //$NON-NLS-1$
- updateEnablement();
- }
- });
- fLiveDelayText.addModifyListener(new ModifyListener() {
- @Override
- public void modifyText(ModifyEvent event) {
- updateEnablement();
- }
- });
-
- fLiveDelayText.addFocusListener(new FocusListener() {
-
- @Override
- public void focusLost(FocusEvent e) {
- Text focusLostWidget = (Text) e.widget;
- if (focusLostWidget.getText().isEmpty()) {
- focusLostWidget.setText(DEFAULT_TEXT);
- focusLostWidget.setForeground(getShell().getDisplay().getSystemColor(SWT.COLOR_GRAY));
- }
- }
-
- @Override
- public void focusGained(FocusEvent e) {
- Text focusGainedWidget = (Text) e.widget;
- if (focusGainedWidget.getText().equals(DEFAULT_TEXT)) {
- focusGainedWidget.setText(""); //$NON-NLS-1$
- focusGainedWidget.setForeground(getShell().getDisplay().getSystemColor(SWT.COLOR_BLACK));
- }
- }
- });
-
- layoutData = new GridData(GridData.FILL_HORIZONTAL);
- layoutData.grabExcessHorizontalSpace = true;
- layoutData.horizontalSpan = 6;
- fLiveDelayText.setLayoutData(layoutData);
- getShell().pack();
- }
- }
-
- private void disposeLiveGroup() {
- if (fLiveGroup != null) {
- fLiveGroup.dispose();
- fLiveGroup = null;
- getShell().pack();
- }
- }
-
- private void disposeConfigureStreamingComposite() {
- if (fStreamingComposite != null) {
- fStreamingComposite.dispose();
- fStreamingComposite = null;
- }
- }
-
- @Override
- protected void createButtonsForButtonBar(Composite parent) {
- createButton(parent, IDialogConstants.CANCEL_ID, "&Cancel", true); //$NON-NLS-1$
- createButton(parent, IDialogConstants.OK_ID, "&Ok", true); //$NON-NLS-1$
- }
-
- private void updateEnablement() {
- validate();
- getButton(IDialogConstants.OK_ID).setEnabled(getErrorMessage() == null);
- }
-
- private void validate() {
- // Validate input data
- fSessionName = fSessionNameText.getText();
- fSessionPath = fSessionPathText.getText();
- setErrorMessage(null);
-
- if (fParent.isLiveSupported() && fLiveButton != null) {
- fIsLive = fLiveButton.getSelection();
- fLiveDelay = LTTngControlServiceConstants.UNUSED_VALUE;
- fLiveUrl = DEFAULT_LIVE_URL;
- fLivePort = DEFAULT_LIVE_PORT;
- }
-
- if (!"".equals(fSessionPath)) { //$NON-NLS-1$
- // validate sessionPath
- if (!fIsAdvancedEnabled && !fIsLive) {
- TargetNodeComponent node = (TargetNodeComponent)fParent.getParent();
- IRemoteSystemProxy proxy = node.getRemoteSystemProxy();
- IRemoteFileManager fsss = proxy.getFileServiceSubSystem();
- if (fsss != null) {
- IFileStore remoteFolder = fsss.getResource(fSessionPath);
- if (remoteFolder == null) {
- setErrorMessage(Messages.TraceControl_InvalidSessionPathError + " (" + fSessionPath + ") \n"); //$NON-NLS-1$ //$NON-NLS-2$
- return;
- }
- IFileInfo fileInfo = remoteFolder.fetchInfo();
- if (fileInfo.exists()) {
- setErrorMessage(Messages.TraceControl_SessionPathAlreadyExistsError + " (" + fSessionPath + ") \n"); //$NON-NLS-1$ //$NON-NLS-2$
- return;
- }
- }
- }
- fIsDefaultPath = false;
- }
-
- if (fParent.isSnapshotSupported()) {
- fIsSnapshot = fSnapshotButton.getSelection();
- }
-
- fNetworkUrl = null;
- fControlUrl = null;
- fDataUrl = null;
-
- if (fIsAdvancedEnabled && fStreamingComposite != null) {
- // Validate input data
-
- if (fIsLive && fLiveGroup != null) {
- String liveDelayText = fLiveDelayText.getText();
- try {
- fLiveDelay = liveDelayText.equals(DEFAULT_TEXT) ? LTTngControlServiceConstants.UNUSED_VALUE : Integer.valueOf(liveDelayText);
- fLivePort = Integer.valueOf(fLivePortText.getText());
- fLiveUrl = fLiveHostAddressText.getText();
- } catch (NumberFormatException e) {
- setErrorMessage(Messages.TraceControl_InvalidLiveDelayError);
- return;
- }
- }
-
- fTracePath = fTracePathText.getText();
-
- if (fControlProtocolCombo.getSelectionIndex() < 0) {
- setErrorMessage("Control Protocol Text is empty\n"); //$NON-NLS-1$
- return;
- }
-
- if ("".equals(fControlHostAddressText.getText())) { //$NON-NLS-1$
- setErrorMessage("Control Address Text is empty\n"); //$NON-NLS-1$
- return;
- }
-
- if (!fLinkDataWithControlButton.getSelection()) {
- if (fDataProtocolCombo.getSelectionIndex() < 0) {
- setErrorMessage("Data Protocol Text is empty\n"); //$NON-NLS-1$
- return;
- }
-
- if ("".equals(fDataHostAddressText.getText())) { //$NON-NLS-1$
- setErrorMessage("Data Address Text is empty\n"); //$NON-NLS-1$
- return;
- }
-
- fControlUrl = getUrlString(fControlProtocolCombo.getItem(fControlProtocolCombo.getSelectionIndex()),
- fControlHostAddressText.getText(),
- fControlPortText.getText(),
- null,
- fTracePath);
-
- fDataUrl = getUrlString(fDataProtocolCombo.getItem(fDataProtocolCombo.getSelectionIndex()),
- fDataHostAddressText.getText(),
- null,
- fDataPortText.getText(),
- fTracePath);
- } else {
- fNetworkUrl = getUrlString(fControlProtocolCombo.getItem(fControlProtocolCombo.getSelectionIndex()),
- fControlHostAddressText.getText(),
- fControlPortText.getText(),
- fDataPortText.getText(),
- fTracePath);
- }
- }
-
- if (fIsLive && fNetworkUrl == null && fControlUrl == null && fDataUrl == null) {
- fNetworkUrl = SessionInfo.DEFAULT_LIVE_NETWORK_URK;
- }
-
- // Check for invalid names
- if (!"".equals(fSessionName) && !fSessionName.matches("^[a-zA-Z0-9\\-\\_]{1,}$")) { //$NON-NLS-1$ //$NON-NLS-2$
- setErrorMessage(Messages.TraceControl_InvalidSessionNameError + " (" + fSessionName + ") \n"); //$NON-NLS-1$ //$NON-NLS-2$
- return;
- }
-
- // Check if node with name already exists in parent
- if(fParent.containsChild(fSessionName)) {
- setErrorMessage(Messages.TraceControl_SessionAlreadyExistsError + " (" + fSessionName + ")"); //$NON-NLS-1$ //$NON-NLS-2$
- return;
- }
- }
-
- private static String getUrlString(String proto, String host, String ctrlPort, String dataPort, String sessionPath) {
- //proto://[HOST|IP][:PORT1[:PORT2]][/TRACE_PATH]
- StringBuilder stringBuilder = new StringBuilder();
- stringBuilder.append(proto);
- stringBuilder.append("://"); //$NON-NLS-1$
- stringBuilder.append(host);
-
- if ((ctrlPort != null) && (!"".equals(ctrlPort))) { //$NON-NLS-1$
- stringBuilder.append(":"); //$NON-NLS-1$
- stringBuilder.append(ctrlPort);
- }
-
- if ((dataPort != null) && (!"".equals(dataPort))) { //$NON-NLS-1$
- stringBuilder.append(":"); //$NON-NLS-1$
- stringBuilder.append(dataPort);
- }
-
- if ((sessionPath != null) && (!"".equals(sessionPath))) { //$NON-NLS-1$
- stringBuilder.append("/"); //$NON-NLS-1$
- stringBuilder.append(sessionPath);
- }
- return stringBuilder.toString();
- }
-
- private static class CopyModifyListener implements ModifyListener {
- private Text fSource;
- private Text fDestination;
-
- public CopyModifyListener(Text source, Text destination) {
- fSource = source;
- fDestination = destination;
- }
-
- @Override
- public void modifyText(ModifyEvent e) {
- fDestination.setText(fSource.getText());
- }
- }
-
- private class ControlProtocolSelectionListener extends SelectionAdapter {
-
- @Override
- public void widgetSelected(SelectionEvent e) {
- fDataProtocolCombo.select(fControlProtocolCombo.getSelectionIndex());
- if (fControlProtocolCombo.getItem(fControlProtocolCombo.getSelectionIndex()).equals(StreamingProtocol.file.name())) {
- fControlPortText.setText(""); //$NON-NLS-1$
- fDataPortText.setText(""); //$NON-NLS-1$
- fControlPortText.setEnabled(false);
- fDataPortText.setEnabled(false);
- } else {
- fControlPortText.setEnabled(true);
- fDataPortText.setEnabled(true);
- }
- }
- }
-
- private class ProtocolComboSelectionListener extends SelectionAdapter {
-
- private CCombo fCombo;
- private Text fPortText;
-
- public ProtocolComboSelectionListener(CCombo combo, Text portText) {
- fCombo = combo;
- fPortText = portText;
- }
-
- @Override
- public void widgetSelected(SelectionEvent e) {
- if (fCombo.getItem(fCombo.getSelectionIndex()).equals(StreamingProtocol.net.name()) ||
- fCombo.getItem(fCombo.getSelectionIndex()).equals(StreamingProtocol.net6.name())) {
- fPortText.setText(""); //$NON-NLS-1$
- fPortText.setEnabled(false);
- } else {
- fPortText.setEnabled(true);
- }
- }
- }
-
- @Override
- public ISessionInfo getParameters() {
- ISessionInfo sessionInfo = new SessionInfo(fSessionName);
-
- boolean isStreaming = (fIsAdvancedEnabled && fStreamingComposite != null) || fIsLive;
- if (isStreaming) {
- sessionInfo.setNetworkUrl(fNetworkUrl);
- sessionInfo.setControlUrl(fControlUrl);
- sessionInfo.setDataUrl(fDataUrl);
- sessionInfo.setStreamedTrace(true);
- } else if (!fIsDefaultPath) {
- sessionInfo.setSessionPath(fSessionPath);
- }
-
- sessionInfo.setLive(fIsLive);
- sessionInfo.setLiveUrl(fLiveUrl);
- sessionInfo.setLivePort(fLivePort);
- sessionInfo.setLiveDelay(fLiveDelay);
- sessionInfo.setSnapshot(fIsSnapshot);
-
- return sessionInfo;
- }
-
- private final class UpdateEnablementModifyListener implements ModifyListener {
- @Override
- public void modifyText(ModifyEvent e) {
- updateEnablement();
- }
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/dialogs/EnableChannelDialog.java b/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/dialogs/EnableChannelDialog.java
deleted file mode 100644
index 649e90af47..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/dialogs/EnableChannelDialog.java
+++ /dev/null
@@ -1,595 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2012, 2013 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:
- * Bernd Hufmann - Initial API and implementation
- * Simon Delisle - Updated for support of LTTng Tools 2.2
- **********************************************************************/
-package org.eclipse.linuxtools.internal.lttng2.control.ui.views.dialogs;
-
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.IChannelInfo;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.impl.BufferType;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.impl.ChannelInfo;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.Activator;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.messages.Messages;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.model.impl.TargetNodeComponent;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.model.impl.TraceDomainComponent;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.service.LTTngControlServiceConstants;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.FocusEvent;
-import org.eclipse.swt.events.FocusListener;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.events.VerifyEvent;
-import org.eclipse.swt.events.VerifyListener;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Group;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Text;
-
-/**
- * <p>
- * Dialog box for collecting channel information when enabling a channel (which will be created).
- * </p>
- *
- * @author Bernd Hufmann
- */
-public class EnableChannelDialog extends Dialog implements IEnableChannelDialog {
-
- // ------------------------------------------------------------------------
- // Constants
- // ------------------------------------------------------------------------
- /**
- * The icon file for this dialog box.
- */
- public static final String ENABLE_CHANNEL_ICON_FILE = "icons/elcl16/add_button.gif"; //$NON-NLS-1$
-
- /**
- * To indicate that the default value will be used for this field
- */
- private static final String DEFAULT_TEXT = "<" + Messages.EnableChannelDialog_DefaultMessage + ">"; //$NON-NLS-1$ //$NON-NLS-2$
-
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
- /**
- * The text widget for the channel name
- */
- private Text fChannelNameText = null;
- /**
- * The discard mode of the channel.
- */
- private Button fDiscardModeButton = null;
- /**
- * The overwrite mode of the channel.
- */
- private Button fOverwriteModeButton = null;
- /**
- * The sub-buffer size of the channel.
- */
- private Text fSubBufferSizeText = null;
- /**
- * The number of sub-buffers of the channel.
- */
- private Text fNumberOfSubBuffersText = null;
- /**
- * The switch timer interval of the channel.
- */
- private Text fSwitchTimerText = null;
- /**
- * The read timer interval of the channel.
- */
- private Text fReadTimerText = null;
- /**
- * Radio button for selecting kernel domain.
- */
- private Button fKernelButton = null;
- /**
- * Radio button for selecting UST domain.
- */
- private Button fUstButton = null;
- /**
- * The parent domain component where the channel node should be added.
- * Null in case of creation on session level.
- */
- private TraceDomainComponent fDomain = null;
- /**
- * The target node component
- */
- private TargetNodeComponent fTargetNodeComponent = null;
- /**
- * Common verify listener for numeric text input.
- */
- private VerifyListener fVerifyListener = null;
- /**
- * Common focus listener
- */
- private FocusListener fFocusListener = null;
- /**
- * Output channel information.
- */
- private IChannelInfo fChannelInfo = null;
- /**
- * Output domain information. True in case of Kernel domain. False for UST.
- */
- private boolean fIsKernel;
- /**
- * Flag which indicates whether Kernel domain is available or not
- */
- private boolean fHasKernel;
- /**
- * Maximum size of trace files of the channel.
- */
- private Text fMaxSizeTraceText = null;
- /**
- * Maximum number of trace files of the channel.
- */
- private Text fMaxNumberTraceText = null;
- /**
- * CheckBox for selecting shared buffers (kernel onlyu).
- */
- private Button fSharedBuffersButton = null;
- /**
- * CheckBox for selecting per UID buffers.
- */
- private Button fPIDBuffersButton = null;
- /**
- * CheckBox for selecting per UID buffers.
- */
- private Button fUIDBuffersButton = null;
- /**
- * CheckBox to configure metadata channel
- */
- private Button fMetadataChannelButton = null;
- /**
- * Previous channel name
- */
- private String fPreviousChannelName = null;
-
- // ------------------------------------------------------------------------
- // Constructors
- // ------------------------------------------------------------------------
-
- /**
- * Constructor
- * @param shell - a shell for the display of the dialog
- */
- public EnableChannelDialog(Shell shell) {
- super(shell);
- fIsKernel = true;
-
- // Common verify listener
- fVerifyListener = new VerifyListener() {
- @Override
- public void verifyText(VerifyEvent e) {
- // only numbers and default are allowed.
- e.doit = e.text.matches("[0-9]*") || e.text.matches(DEFAULT_TEXT); //$NON-NLS-1$
- }
- };
-
- // Common focus listener
- fFocusListener = new FocusListener() {
-
- @Override
- public void focusLost(FocusEvent e) {
- Text focusLostWidget = (Text) e.widget;
- if (focusLostWidget.getText().isEmpty()) {
- focusLostWidget.setText(DEFAULT_TEXT);
- focusLostWidget.setForeground(getShell().getDisplay().getSystemColor(SWT.COLOR_GRAY));
- }
- }
-
- @Override
- public void focusGained(FocusEvent e) {
- Text focusGainedWidget = (Text) e.widget;
- if (focusGainedWidget.getText().equals(DEFAULT_TEXT)) {
- focusGainedWidget.setText(""); //$NON-NLS-1$
- focusGainedWidget.setForeground(getShell().getDisplay().getSystemColor(SWT.COLOR_BLACK));
- }
- }
- };
-
- setShellStyle(SWT.RESIZE | getShellStyle());
- }
-
- // ------------------------------------------------------------------------
- // Accessors
- // ------------------------------------------------------------------------
-
- @Override
- public IChannelInfo getChannelInfo() {
- return fChannelInfo;
- }
-
- @Override
- public void setDomainComponent(TraceDomainComponent domain) {
- fDomain = domain;
- if (fDomain != null) {
- fIsKernel = fDomain.isKernel();
- } else {
- fIsKernel = true;
- }
- }
-
- @Override
- public boolean isKernel() {
- return fIsKernel;
- }
-
- @Override
- public void setHasKernel(boolean hasKernel) {
- if (fDomain != null) {
- fIsKernel = fDomain.isKernel();
- } else {
- fIsKernel = hasKernel;
- }
-
- fHasKernel = hasKernel;
- }
-
- @Override
- public void setTargetNodeComponent(TargetNodeComponent node) {
- fTargetNodeComponent = node;
- }
-
- // ------------------------------------------------------------------------
- // Operations
- // ------------------------------------------------------------------------
-
- @Override
- protected void configureShell(Shell newShell) {
- super.configureShell(newShell);
- newShell.setText(Messages.TraceControl_EnableChannelDialogTitle);
- newShell.setImage(Activator.getDefault().loadIcon(ENABLE_CHANNEL_ICON_FILE));
- }
-
- @Override
- protected Control createDialogArea(Composite parent) {
-
- int numColumn = 2;
- if (fTargetNodeComponent.isBufferTypeConfigSupported()) {
- numColumn = 3;
- }
-
- // Main dialog panel
- Composite dialogComposite = new Composite(parent, SWT.NONE);
- GridLayout layout = new GridLayout(1, true);
- dialogComposite.setLayout(layout);
-
- Composite commonModeGroup = new Composite(dialogComposite, SWT.NONE);
- layout = new GridLayout(3, true);
- commonModeGroup.setLayout(layout);
-
- Label channelNameLabel = new Label(commonModeGroup, SWT.RIGHT);
- channelNameLabel.setText(Messages.TraceControl_EnableChannelNameLabel);
- fChannelNameText = new Text(commonModeGroup, SWT.NONE);
- fChannelNameText.setToolTipText(Messages.TraceControl_EnableChannelNameTooltip);
-
- Label subBufferSizeLabel = new Label(commonModeGroup, SWT.RIGHT);
- subBufferSizeLabel.setText(Messages.TraceControl_SubBufferSizePropertyName);
- fSubBufferSizeText = new Text(commonModeGroup, SWT.NONE);
- fSubBufferSizeText.setToolTipText(Messages.TraceControl_EnableChannelSubBufferSizeTooltip);
- fSubBufferSizeText.addVerifyListener(fVerifyListener);
- fSubBufferSizeText.addFocusListener(fFocusListener);
- fSubBufferSizeText.setForeground(getShell().getDisplay().getSystemColor(SWT.COLOR_GRAY));
-
- Label numSubBufferLabel = new Label(commonModeGroup, SWT.RIGHT);
- numSubBufferLabel.setText(Messages.TraceControl_NbSubBuffersPropertyName);
- fNumberOfSubBuffersText = new Text(commonModeGroup, SWT.NONE);
- fNumberOfSubBuffersText.setToolTipText(Messages.TraceControl_EnableChannelNbSubBuffersTooltip);
- fNumberOfSubBuffersText.addVerifyListener(fVerifyListener);
- fNumberOfSubBuffersText.addFocusListener(fFocusListener);
-
- Label switchTimerLabel = new Label(commonModeGroup, SWT.RIGHT);
- switchTimerLabel.setText(Messages.TraceControl_SwitchTimerPropertyName);
- fSwitchTimerText = new Text(commonModeGroup, SWT.NONE);
- fSwitchTimerText.setToolTipText(Messages.TraceControl_EnableChannelSwitchTimerTooltip);
- fSwitchTimerText.addVerifyListener(fVerifyListener);
- fSwitchTimerText.addFocusListener(fFocusListener);
-
- Label readTimerLabel = new Label(commonModeGroup, SWT.RIGHT);
- readTimerLabel.setText(Messages.TraceControl_ReadTimerPropertyName);
- fReadTimerText = new Text(commonModeGroup, SWT.NONE);
- fReadTimerText.setToolTipText(Messages.TraceControl_EnableChannelReadTimerTooltip);
- fReadTimerText.addVerifyListener(fVerifyListener);
- fReadTimerText.addFocusListener(fFocusListener);
-
- if (fTargetNodeComponent.isTraceFileRotationSupported()) {
- Label maxSizeTraceFilesLabel = new Label(commonModeGroup, SWT.RIGHT);
- maxSizeTraceFilesLabel.setText(Messages.TraceControl_MaxSizeTraceFilesPropertyName);
- fMaxSizeTraceText = new Text(commonModeGroup, SWT.NONE);
- fMaxSizeTraceText.setToolTipText(Messages.TraceControl_EnbleChannelMaxSizeTraceFilesTooltip);
- fMaxSizeTraceText.addVerifyListener(fVerifyListener);
- fMaxSizeTraceText.addFocusListener(fFocusListener);
-
- Label maxNumTraceFilesLabel = new Label(commonModeGroup, SWT.RIGHT);
- maxNumTraceFilesLabel.setText(Messages.TraceControl_MaxNumTraceFilesPropertyName);
- fMaxNumberTraceText = new Text(commonModeGroup, SWT.NONE);
- fMaxNumberTraceText.setToolTipText(Messages.TraceControl_EnbleChannelMaxNumTraceFilesTooltip);
- fMaxNumberTraceText.addVerifyListener(fVerifyListener);
- fMaxNumberTraceText.addFocusListener(fFocusListener);
- }
-
- if (fTargetNodeComponent.isPeriodicalMetadataFlushSupported()) {
- fMetadataChannelButton = new Button(commonModeGroup, SWT.CHECK);
- fMetadataChannelButton.setText(Messages.TraceControl_ConfigureMetadataChannelName);
- fMetadataChannelButton.setSelection(false);
-
- fMetadataChannelButton.addSelectionListener(new SelectionAdapter() {
- @Override
- public void widgetSelected(SelectionEvent e) {
- if (fMetadataChannelButton.getSelection()) {
- fPreviousChannelName = fChannelNameText.getText();
- fChannelNameText.setText("metadata"); //$NON-NLS-1$
- fChannelNameText.setEnabled(false);
- } else {
- fChannelNameText.setText(fPreviousChannelName);
- fChannelNameText.setEnabled(true);
- }
- }
- });
- }
- Group discardModeGroup = new Group(dialogComposite, SWT.SHADOW_NONE);
- discardModeGroup.setText(Messages.TraceControl_EnableChannelDiscardModeGroupName);
- layout = new GridLayout(numColumn, true);
- discardModeGroup.setLayout(layout);
-
- fDiscardModeButton = new Button(discardModeGroup, SWT.RADIO);
- fDiscardModeButton.setText(Messages.TraceControl_EnableChannelDiscardModeLabel);
- fDiscardModeButton.setToolTipText(Messages.TraceControl_EnableChannelDiscardModeTooltip);
- fDiscardModeButton.setSelection(true);
-
- fOverwriteModeButton = new Button(discardModeGroup, SWT.RADIO);
- fOverwriteModeButton.setText(Messages.TraceControl_EnableChannelOverwriteModeLabel);
- fOverwriteModeButton.setToolTipText(Messages.TraceControl_EnableChannelOverwriteModeTooltip);
- fOverwriteModeButton.setSelection(false);
-
- Group domainGroup = new Group(dialogComposite, SWT.SHADOW_NONE);
- domainGroup.setText(Messages.TraceControl_DomainDisplayName);
- layout = new GridLayout(numColumn, true);
- domainGroup.setLayout(layout);
-
- fKernelButton = new Button(domainGroup, SWT.RADIO);
- fKernelButton.setText(Messages.TraceControl_KernelDomainDisplayName);
- fKernelButton.setSelection(fIsKernel);
- fUstButton = new Button(domainGroup, SWT.RADIO);
- fUstButton.setText(Messages.TraceControl_UstDisplayName);
- fUstButton.setSelection(!fIsKernel);
-
- if (fTargetNodeComponent.isBufferTypeConfigSupported()) {
- Group bufferTypeGroup = new Group(dialogComposite, SWT.SHADOW_NONE);
- bufferTypeGroup.setText(Messages.TraceControl_BufferTypeDisplayName);
- layout = new GridLayout(numColumn, true);
- bufferTypeGroup.setLayout(layout);
-
- GridData data = new GridData(GridData.FILL, GridData.BEGINNING, false, false);
- data.horizontalSpan = 3;
- bufferTypeGroup.setLayoutData(data);
-
- fSharedBuffersButton = new Button(bufferTypeGroup, SWT.RADIO);
- fSharedBuffersButton.setText(Messages.TraceControl_SharedBuffersDisplayName);
- fSharedBuffersButton.setSelection(fIsKernel);
- fSharedBuffersButton.setEnabled(false);
-
- fPIDBuffersButton = new Button(bufferTypeGroup, SWT.RADIO);
- fPIDBuffersButton.setText(Messages.TraceControl_PerPidBuffersDisplayName);
- fPIDBuffersButton.setToolTipText(Messages.TraceControl_PerPidBuffersTooltip);
- fPIDBuffersButton.setSelection(false);
-
- fUIDBuffersButton = new Button(bufferTypeGroup, SWT.RADIO);
- fUIDBuffersButton.setText(Messages.TraceControl_PerUidBuffersDisplayName);
- fUIDBuffersButton.setToolTipText(Messages.TraceControl_PerPidBuffersTooltip);
- fUIDBuffersButton.setSelection(false);
-
- fUIDBuffersButton.setEnabled(!fIsKernel);
- fPIDBuffersButton.setEnabled(!fIsKernel);
-
- // Update buffers type buttons depending on UST or Kernel
- fUstButton.addSelectionListener(new SelectionAdapter() {
- @Override
- public void widgetSelected(SelectionEvent e) {
- if (fUstButton.getSelection()) {
- fSharedBuffersButton.setSelection(false);
- fPIDBuffersButton.setSelection(false);
- fUIDBuffersButton.setSelection(false);
- fPIDBuffersButton.setEnabled(true);
- fUIDBuffersButton.setEnabled(true);
- } else {
- fSharedBuffersButton.setSelection(true);
- fPIDBuffersButton.setSelection(false);
- fUIDBuffersButton.setSelection(false);
- fPIDBuffersButton.setEnabled(false);
- fUIDBuffersButton.setEnabled(false);
- }
- }
- });
- }
-
- if ((fDomain != null) || (!fHasKernel)) {
- fKernelButton.setEnabled(false);
- fUstButton.setEnabled(false);
-
- if (fTargetNodeComponent.isBufferTypeConfigSupported()) {
- fSharedBuffersButton.setEnabled(false);
- fUIDBuffersButton.setEnabled(!fHasKernel);
- fPIDBuffersButton.setEnabled(!fHasKernel);
- setBufferTypeButtonSelection();
- }
- }
-
- // layout widgets
- GridData data = new GridData(GridData.FILL, GridData.BEGINNING, false, false);
- data.horizontalSpan = 3;
- discardModeGroup.setLayoutData(data);
- data = new GridData(SWT.BEGINNING, SWT.BEGINNING, true, true);
- fDiscardModeButton.setLayoutData(data);
- data = new GridData(SWT.BEGINNING, SWT.BEGINNING, true, true);
- fOverwriteModeButton.setLayoutData(data);
-
- data = new GridData(GridData.FILL, GridData.BEGINNING, false, false);
- data.horizontalSpan = 3;
- domainGroup.setLayoutData(data);
-
- data = new GridData(SWT.BEGINNING, SWT.BEGINNING, true, true);
- fKernelButton.setLayoutData(data);
- data = new GridData(SWT.BEGINNING, SWT.BEGINNING, true, true);
- fUstButton.setLayoutData(data);
- if (fTargetNodeComponent.isBufferTypeConfigSupported()) {
- data = new GridData(SWT.BEGINNING, SWT.BEGINNING, true, true);
- fSharedBuffersButton.setLayoutData(data);
- data = new GridData(SWT.BEGINNING, SWT.BEGINNING, true, true);
- fPIDBuffersButton.setLayoutData(data);
- data = new GridData(SWT.BEGINNING, SWT.BEGINNING, true, true);
- fUIDBuffersButton.setLayoutData(data);
- }
-
- if (fTargetNodeComponent.isPeriodicalMetadataFlushSupported()) {
- data = new GridData(SWT.BEGINNING, SWT.BEGINNING, true, true);
- data.horizontalSpan = numColumn;
- fMetadataChannelButton.setLayoutData(data);
- }
-
- data = new GridData(GridData.FILL_HORIZONTAL);
- data.horizontalSpan = 2;
-
- fChannelNameText.setLayoutData(data);
- fSubBufferSizeText.setLayoutData(data);
- fNumberOfSubBuffersText.setLayoutData(data);
- fSwitchTimerText.setLayoutData(data);
- fReadTimerText.setLayoutData(data);
- if (fTargetNodeComponent.isTraceFileRotationSupported()) {
- fMaxNumberTraceText.setLayoutData(data);
- fMaxSizeTraceText.setLayoutData(data);
- }
-
- setDefaults();
-
- return dialogComposite;
- }
-
- @Override
- protected void createButtonsForButtonBar(Composite parent) {
- createButton(parent, IDialogConstants.DETAILS_ID, "&Default", true); //$NON-NLS-1$
- createButton(parent, IDialogConstants.CANCEL_ID, "&Cancel", true); //$NON-NLS-1$
- createButton(parent, IDialogConstants.OK_ID, "&Ok", true); //$NON-NLS-1$
- }
-
- @Override
- protected void okPressed() {
- // Set channel information
- ChannelInfo channelInfo = new ChannelInfo(fChannelNameText.getText());
- channelInfo.setSubBufferSize(fSubBufferSizeText.getText().equals(DEFAULT_TEXT) ? LTTngControlServiceConstants.UNUSED_VALUE : Long.parseLong(fSubBufferSizeText.getText()));
- channelInfo.setNumberOfSubBuffers(fNumberOfSubBuffersText.getText().equals(DEFAULT_TEXT) ? LTTngControlServiceConstants.UNUSED_VALUE : Integer.parseInt(fNumberOfSubBuffersText.getText()));
- channelInfo.setSwitchTimer(fSwitchTimerText.getText().equals(DEFAULT_TEXT) ? LTTngControlServiceConstants.UNUSED_VALUE : Long.parseLong(fSwitchTimerText.getText()));
- channelInfo.setReadTimer(fReadTimerText.getText().equals(DEFAULT_TEXT) ? LTTngControlServiceConstants.UNUSED_VALUE : Long.parseLong(fReadTimerText.getText()));
- channelInfo.setOverwriteMode(fOverwriteModeButton.getSelection());
- if (fTargetNodeComponent.isTraceFileRotationSupported()) {
- channelInfo.setMaxSizeTraceFiles(fMaxSizeTraceText.getText().equals(DEFAULT_TEXT) ? LTTngControlServiceConstants.UNUSED_VALUE : Integer.parseInt(fMaxSizeTraceText.getText()));
- channelInfo.setMaxNumberTraceFiles(fMaxNumberTraceText.getText().equals(DEFAULT_TEXT) ? LTTngControlServiceConstants.UNUSED_VALUE : Integer.parseInt(fMaxNumberTraceText.getText()));
- }
- if (fTargetNodeComponent.isBufferTypeConfigSupported()) {
- if (fSharedBuffersButton.getSelection()) {
- channelInfo.setBufferType(BufferType.BUFFER_SHARED);
- } else if (fPIDBuffersButton.getSelection()) {
- channelInfo.setBufferType(BufferType.BUFFER_PER_PID);
- } else if (fUIDBuffersButton.getSelection()) {
- channelInfo.setBufferType(BufferType.BUFFER_PER_UID);
- } else {
- channelInfo.setBufferType(BufferType.BUFFER_TYPE_UNKNOWN);
- }
- }
-
- fIsKernel = fKernelButton.getSelection();
-
- // Check for invalid names
- if (!channelInfo.getName().matches("^[a-zA-Z0-9\\-\\_]{1,}$")) { //$NON-NLS-1$
- MessageDialog.openError(getShell(),
- Messages.TraceControl_EnableChannelDialogTitle,
- Messages.TraceControl_InvalidChannelNameError + " (" + channelInfo.getName() + ") \n"); //$NON-NLS-1$ //$NON-NLS-2$
- return;
- }
-
- // Check for duplicate names
- if (fDomain != null && fDomain.containsChild(channelInfo.getName())) {
- MessageDialog.openError(getShell(),
- Messages.TraceControl_EnableChannelDialogTitle,
- Messages.TraceControl_ChannelAlreadyExistsError + " (" + channelInfo.getName() + ") \n"); //$NON-NLS-1$ //$NON-NLS-2$
- return;
- }
-
- fChannelInfo = channelInfo;
-
- // validation successful -> call super.okPressed()
- super.okPressed();
- }
-
- @Override
- protected void buttonPressed(int buttonId) {
- if (buttonId == IDialogConstants.DETAILS_ID) {
- setDefaults();
- return;
- }
- super.buttonPressed(buttonId);
- }
-
- // ------------------------------------------------------------------------
- // Helper methods
- // ------------------------------------------------------------------------
-
- /**
- * Sets default value depending on Kernel or UST
- */
- private void setDefaults() {
- fSwitchTimerText.setText(DEFAULT_TEXT);
- fSwitchTimerText.setForeground(getShell().getDisplay().getSystemColor(SWT.COLOR_GRAY));
- fReadTimerText.setText(DEFAULT_TEXT);
- fReadTimerText.setForeground(getShell().getDisplay().getSystemColor(SWT.COLOR_GRAY));
- fOverwriteModeButton.setSelection(IChannelInfo.DEFAULT_OVERWRITE_MODE);
- if (fTargetNodeComponent.isTraceFileRotationSupported()) {
- fMaxSizeTraceText.setText(DEFAULT_TEXT);
- fMaxSizeTraceText.setForeground(getShell().getDisplay().getSystemColor(SWT.COLOR_GRAY));
- fMaxNumberTraceText.setText(DEFAULT_TEXT);
- fMaxNumberTraceText.setForeground(getShell().getDisplay().getSystemColor(SWT.COLOR_GRAY));
- }
- fSubBufferSizeText.setText(DEFAULT_TEXT);
- fSubBufferSizeText.setForeground(getShell().getDisplay().getSystemColor(SWT.COLOR_GRAY));
- fNumberOfSubBuffersText.setText(DEFAULT_TEXT);
- fNumberOfSubBuffersText.setForeground(getShell().getDisplay().getSystemColor(SWT.COLOR_GRAY));
- if (fTargetNodeComponent.isBufferTypeConfigSupported()) {
- setBufferTypeButtonSelection();
- }
- }
-
- private void setBufferTypeButtonSelection() {
- if ((fDomain != null) && fDomain.getBufferType() != null) {
- switch (fDomain.getBufferType()) {
- case BUFFER_PER_PID:
- fPIDBuffersButton.setSelection(true);
- break;
- case BUFFER_PER_UID:
- fUIDBuffersButton.setSelection(true);
- break;
- case BUFFER_SHARED:
- fSharedBuffersButton.setSelection(true);
- break;
- //$CASES-OMITTED$
- default:
- break;
- }
- }
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/dialogs/EnableEventsDialog.java b/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/dialogs/EnableEventsDialog.java
deleted file mode 100644
index 15351276e0..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/dialogs/EnableEventsDialog.java
+++ /dev/null
@@ -1,436 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2012, 2013 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:
- * Bernd Hufmann - Initial API and implementation
- * Bernd Hufmann - Updated for support of LTTng Tools 2.1
- **********************************************************************/
-package org.eclipse.linuxtools.internal.lttng2.control.ui.views.dialogs;
-
-import java.util.List;
-
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.LogLevelType;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.TraceLogLevel;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.Activator;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.messages.Messages;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.model.impl.TraceDomainComponent;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.model.impl.TraceProviderGroup;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Group;
-import org.eclipse.swt.widgets.Shell;
-
-/**
- * <p>
- * Dialog box for collecting information events to be enabled.
- * </p>
- *
- * @author Bernd Hufmann
- */
-public class EnableEventsDialog extends Dialog implements IEnableEventsDialog {
-
- // ------------------------------------------------------------------------
- // Constants
- // ------------------------------------------------------------------------
-
- /**
- * The icon file for this dialog box.
- */
- public static final String ENABLE_EVENT_ICON_FILE = "icons/elcl16/enable_event.gif"; //$NON-NLS-1$
-
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
- /**
- * The dialog composite.
- */
- private Composite fDialogComposite;
- /**
- * The composite with widgets for collecting information about kernel events.
- */
- private EnableKernelEventComposite fKernelComposite;
- /**
- * The composite with widgets for collecting information about UST events.
- */
- private EnableUstEventsComposite fUstComposite;
- /**
- * Radio button for selecting kernel domain.
- */
- private Button fKernelButton;
- /**
- * Radio button for selecting UST domain.
- */
- private Button fUstButton;
- /**
- * The referenced trace provider group containing the kernel provider and UST
- * provider component which contains a list of available tracepoints.
- */
- private TraceProviderGroup fProviderGroup;
- /**
- * The parent domain component where the channel node should be added.
- * Null in case the domain is not known (i.e. on session level).
- */
- private TraceDomainComponent fDomain;
- /**
- * Output domain information. True in case of Kernel domain. False for UST.
- */
- private boolean fIsKernel;
-
- // ------------------------------------------------------------------------
- // Constructors
- // ------------------------------------------------------------------------
- /**
- * Constructor
- * @param shell - a shell for the display of the dialog
- */
- public EnableEventsDialog(Shell shell) {
- super(shell);
- setShellStyle(SWT.RESIZE | getShellStyle());
- }
-
- // ------------------------------------------------------------------------
- // Accessors
- // ------------------------------------------------------------------------
-
- @Override
- public boolean isTracepoints() {
- if (fIsKernel) {
- return fKernelComposite.isTracepoints();
- }
- return fUstComposite.isTracepoints();
- }
-
- @Override
- public boolean isAllTracePoints() {
- if (fIsKernel) {
- return fKernelComposite.isAllTracePoints();
- }
- return fUstComposite.isAllTracePoints();
- }
-
- @Override
- public boolean isSysCalls() {
- if (fIsKernel) {
- return fKernelComposite.isSysCalls();
- }
- return false;
- }
-
- @Override
- public boolean isAllSysCalls() {
- if (fIsKernel) {
- return fKernelComposite.isSysCalls();
- }
- return false;
- }
-
- @Override
- public List<String> getEventNames() {
- if (fIsKernel) {
- return fKernelComposite.getEventNames();
- }
- return fUstComposite.getEventNames();
- }
-
- @Override
- public boolean isDynamicProbe() {
- if (fIsKernel) {
- return fKernelComposite.isDynamicProbe();
- }
- return false;
- }
-
- @Override
- public String getProbeName() {
- if (fIsKernel) {
- return fKernelComposite.getProbeName();
- }
- return null;
- }
-
- @Override
- public String getProbeEventName() {
- if (fIsKernel) {
- return fKernelComposite.getProbeEventName();
- }
- return null;
- }
-
- @Override
- public boolean isDynamicFunctionProbe() {
- if (fIsKernel) {
- return fKernelComposite.isDynamicFunctionProbe();
- }
- return false;
- }
-
- @Override
- public String getFunctionEventName() {
- if (fIsKernel) {
- return fKernelComposite.getFunctionEventName();
- }
- return null;
- }
-
- @Override
- public String getFunction() {
- if (fIsKernel) {
- return fKernelComposite.getFunction();
- }
- return null;
- }
-
- @Override
- public boolean isWildcard() {
- if (!fIsKernel) {
- return fUstComposite.isWildcard();
- }
- return false;
- }
-
- @Override
- public String getWildcard() {
- if (!fIsKernel) {
- return fUstComposite.getWildcard();
- }
- return null;
- }
-
- @Override
- public boolean isLogLevel() {
- if (!fIsKernel) {
- return fUstComposite.isLogLevel();
- }
- return false;
- }
-
- @Override
- public LogLevelType getLogLevelType() {
- if (!fIsKernel) {
- return fUstComposite.getLogLevelType();
- }
- return null;
- }
-
- @Override
- public TraceLogLevel getLogLevel() {
- if (!fIsKernel) {
- return fUstComposite.getLogLevel();
- }
- return null;
- }
-
- @Override
- public String getLogLevelEventName() {
- if (!fIsKernel) {
- return fUstComposite.getLogLevelEventName();
- }
- return null;
- }
-
- @Override
- public boolean isKernel() {
- return fIsKernel;
- }
-
- @Override
- public void setTraceProviderGroup(TraceProviderGroup providerGroup) {
- fProviderGroup = providerGroup;
- }
-
- @Override
- public void setTraceDomainComponent(TraceDomainComponent domain) {
- fDomain = domain;
- if (fDomain != null) {
- fIsKernel = fDomain.isKernel();
- } else {
- fIsKernel = fProviderGroup != null ? fProviderGroup.hasKernelProvider() : true;
- }
- }
-
- @Override
- public String getFilterExpression() {
- if (!fIsKernel) {
- return fUstComposite.getFilterExpression();
- }
- return null;
- }
-
- // ------------------------------------------------------------------------
- // Operations
- // ------------------------------------------------------------------------
-
- @Override
- protected void configureShell(Shell newShell) {
- super.configureShell(newShell);
- newShell.setText(Messages.TraceControl_EnableEventsDialogTitle);
- newShell.setImage(Activator.getDefault().loadIcon(ENABLE_EVENT_ICON_FILE));
- }
-
- @Override
- protected Control createDialogArea(Composite parent) {
-
- // Main dialog panel
- fDialogComposite = new Composite(parent, SWT.NONE);
- GridLayout layout = new GridLayout(1, true);
- fDialogComposite.setLayout(layout);
- fDialogComposite.setLayoutData(new GridData(GridData.FILL_BOTH));
-
- // ------------------------------------------------------------------------
- // Domain Group
- // ------------------------------------------------------------------------
- Group domainGroup = new Group(fDialogComposite, SWT.SHADOW_NONE);
- domainGroup.setText(Messages.TraceControl_DomainDisplayName);
- layout = new GridLayout(2, true);
- domainGroup.setLayout(layout);
-
- fKernelButton = new Button(domainGroup, SWT.RADIO);
- fKernelButton.setText(Messages.TraceControl_KernelDomainDisplayName);
- fKernelButton.setSelection(fIsKernel);
- fUstButton = new Button(domainGroup, SWT.RADIO);
- fUstButton.setText(Messages.TraceControl_UstDisplayName);
- fUstButton.setSelection(!fIsKernel);
-
- if ((fDomain != null) || ((fProviderGroup != null) && (!fProviderGroup.hasKernelProvider()))) {
- fKernelButton.setEnabled(false);
- fUstButton.setEnabled(false);
- }
-
- // layout widgets
- GridData data = new GridData(GridData.FILL_HORIZONTAL);
- domainGroup.setLayoutData(data);
-
- data = new GridData(SWT.BEGINNING, SWT.BEGINNING, true, true);
- fKernelButton.setLayoutData(data);
- data = new GridData(SWT.BEGINNING, SWT.BEGINNING, true, true);
- fUstButton.setLayoutData(data);
-
- // ------------------------------------------------------------------------
- // Kernel or UST event data group
- // ------------------------------------------------------------------------
- fUstComposite = null;
- fKernelComposite = null;
- if (fIsKernel) {
- createKernelComposite();
- fUstComposite = null;
- } else {
- createUstComposite();
- }
-
- fKernelButton.addSelectionListener(new SelectionAdapter() {
- @Override
- public void widgetSelected(SelectionEvent e) {
- if (fKernelButton.getSelection()) {
- disposeUstComposite();
- createKernelComposite();
- fDialogComposite.layout();
- }
- }
- });
-
- fUstButton.addSelectionListener(new SelectionAdapter() {
- @Override
- public void widgetSelected(SelectionEvent e) {
- if (fUstButton.getSelection()) {
- disposeKernelComposite();
- createUstComposite();
- fDialogComposite.layout();
- }
- }
- });
-
- getShell().setMinimumSize(new Point(500, 650));
-
- return fDialogComposite;
- }
-
- @Override
- protected void createButtonsForButtonBar(Composite parent) {
- createButton(parent, IDialogConstants.CANCEL_ID, "&Cancel", true); //$NON-NLS-1$
- createButton(parent, IDialogConstants.OK_ID, "&Ok", true); //$NON-NLS-1$
- }
-
- @Override
- protected void okPressed() {
- fIsKernel = fKernelButton.getSelection();
-
- // Validate kernel composite in case of kernel domain
- if (fKernelComposite != null && !fKernelComposite.isValid()) {
- return;
- }
-
- // Validate UST composite in case of UST domain
- if (fUstComposite != null && !fUstComposite.isValid()) {
- return;
- }
-
- // validation successful -> call super.okPressed()
- super.okPressed();
- }
-
- // ------------------------------------------------------------------------
- // Helper methods
- // ------------------------------------------------------------------------
-
- /**
- * Creates the kernel composite (if not existing)
- */
- private void createKernelComposite() {
- if (fKernelComposite == null) {
- fKernelComposite = new EnableKernelEventComposite(fDialogComposite, SWT.NONE, fProviderGroup);
- GridLayout layout = new GridLayout(1, true);
- fKernelComposite.setLayout(layout);
- fKernelComposite.setLayoutData(new GridData(GridData.FILL_BOTH));
-
- fKernelComposite.createContent();
- }
- }
-
- /**
- * Disposes the kernel composite (if existing)
- */
- private void disposeKernelComposite() {
- if (fKernelComposite != null) {
- fKernelComposite.dispose();
- fKernelComposite = null;
- }
- }
-
- /**
- * Creates the UST composite (if not existing)
- */
- private void createUstComposite() {
- if (fUstComposite == null) {
- fUstComposite = new EnableUstEventsComposite(fDialogComposite, SWT.NONE, fProviderGroup);
- GridLayout layout = new GridLayout(1, true);
- fUstComposite.setLayout(layout);
- fUstComposite.setLayoutData(new GridData(GridData.FILL_BOTH));
-
- fUstComposite.createContent();
- }
- }
-
- /**
- * Disposes the UST composite (if existing)
- */
- private void disposeUstComposite() {
- if (fUstComposite != null) {
- fUstComposite.dispose();
- fUstComposite = null;
- }
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/dialogs/EnableKernelEventComposite.java b/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/dialogs/EnableKernelEventComposite.java
deleted file mode 100644
index f600fa6c6d..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/dialogs/EnableKernelEventComposite.java
+++ /dev/null
@@ -1,605 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2012, 2014 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:
- * Bernd Hufmann - Initial API and implementation
- * Marc-Andre Laperle - Add filtering textbox
- **********************************************************************/
-package org.eclipse.linuxtools.internal.lttng2.control.ui.views.dialogs;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.viewers.CheckStateChangedEvent;
-import org.eclipse.jface.viewers.CheckboxTreeViewer;
-import org.eclipse.jface.viewers.ICheckStateListener;
-import org.eclipse.jface.viewers.TreeViewer;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.messages.Messages;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.model.ITraceControlComponent;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.model.impl.BaseEventComponent;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.model.impl.KernelProviderComponent;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.model.impl.TraceControlContentProvider;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.model.impl.TraceControlLabelProvider;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.model.impl.TraceProviderGroup;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Group;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.ui.dialogs.FilteredTree;
-import org.eclipse.ui.dialogs.PatternFilter;
-
-/**
- * <p>
- * A composite for collecting information about kernel events to be enabled.
- * </p>
- *
- * @author Bernd Hufmann
- */
-public class EnableKernelEventComposite extends Composite implements IEnableKernelEvents {
-
- // ------------------------------------------------------------------------
- // Constants
- // ------------------------------------------------------------------------
- private enum KernelGroupEnum { TRACEPOINTS, SYSCALLS, PROBE, FUNCTION }
-
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
-
- /**
- * A button to enable/disable the tracepoints group
- */
- private Button fTracepointsActivateButton;
- /**
- * A tree viewer for displaying and selection of available tracepoints.
- */
- private CheckboxTreeViewer fTracepointsViewer;
- /**
- * A button to enable/disable the syscalls group
- */
- private Button fSysCallsActivateButton;
- /**
- * A button to enable or disable the dynamic probe group.
- */
- private Button fProbeActivateButton;
- /**
- * The text field for the event name for the dynamic probe.
- */
- private Text fProbeEventNameText;
- /**
- * The text field for the dynamic probe.
- */
- private Text fProbeText;
- /**
- * A button to enable or disable the dynamic function probe group.
- */
- private Button fFunctionActivateButton;
- /**
- * The text field for the event name for the dynamic probe.
- */
- private Text fFunctionEventNameText;
- /**
- * The text field for the dynamic function entry/return probe.
- */
- private Text fFunctionText;
- /**
- * The referenced trace provider group containing the kernel provider
- * component which contains a list of available tracepoints.
- */
- private final TraceProviderGroup fProviderGroup;
- /**
- * The flag indicating that tracepoints are selected.
- */
- private boolean fIsTracepoints;
- /**
- * The flag indicating that all tracepoints are selected.
- */
- private boolean fIsAllTracepoints;
- /**
- * The flag indicating that syscalls are selected.
- */
- private boolean fIsSysCalls;
- /**
- * The list of tracepoints to be enabled.
- */
- private List<String> fSelectedEvents;
- /**
- * The flag indicating that dynamic probe is selected.
- */
- private boolean fIsDynamicProbe;
- /**
- * The event name of the dynamic probe.
- */
- private String fProbeEventName;
- /**
- * The dynamic probe.
- */
- private String fProbeString;
- /**
- * The flag indicating that the dynamic function probe is selected.
- */
- private boolean fIsDynamicFunctionProbe;
- /**
- * The event name of the dynamic function entry/return probe.
- */
- private String fFunctionEventName;
- /**
- * The dynamic function entry/return probe.
- */
- private String fFunctionString;
-
- // ------------------------------------------------------------------------
- // Constructors
- // ------------------------------------------------------------------------
-
- /**
- * Constructor
- *
- * @param parent
- * The parent composite
- * @param style
- * The index of the style for this event composite
- * @param providerGroup
- * The trace provider group
- */
- public EnableKernelEventComposite(Composite parent, int style, TraceProviderGroup providerGroup) {
- super(parent, style);
- fProviderGroup = providerGroup;
- }
-
- // ------------------------------------------------------------------------
- // Acessors
- // ------------------------------------------------------------------------
-
- @Override
- public boolean isTracepoints() {
- return fIsTracepoints;
- }
-
- @Override
- public boolean isAllTracePoints() {
- return fIsAllTracepoints;
- }
-
- @Override
- public boolean isSysCalls() {
- return fIsSysCalls;
- }
-
- @Override
- public boolean isAllSysCalls() {
- return fIsSysCalls;
- }
-
- @Override
- public List<String> getEventNames() {
- return new ArrayList<>(fSelectedEvents);
- }
-
- @Override
- public boolean isDynamicProbe() {
- return fIsDynamicProbe;
- }
-
- @Override
- public String getProbeName() {
- return fProbeString;
- }
-
- @Override
- public String getProbeEventName() {
- return fProbeEventName;
- }
-
- @Override
- public boolean isDynamicFunctionProbe() {
- return fIsDynamicFunctionProbe;
- }
-
- @Override
- public String getFunctionEventName() {
- return fFunctionEventName;
- }
-
- @Override
- public String getFunction() {
- return fFunctionString;
- }
-
- // ------------------------------------------------------------------------
- // Operations
- // ------------------------------------------------------------------------
-
- /**
- * Creates the composite content
- */
- public void createContent() {
-
- // Tracepoints Group
- createTracepointsGroup();
-
- // Syscalls Group
- createSysCallsGroup();
-
- // Dynamic Probe Group
- createDynamicProbeGroup();
-
- // Dynamic Function Probe Group
- createDynamicFunctionPropeGroup();
-
- // Set default enablements
- setKernelEnablements(KernelGroupEnum.TRACEPOINTS);
- }
-
- /**
- * Validates the kernel composite input data.
- * @return true if configured data is valid and can be retrieved.
- */
- public boolean isValid() {
- fIsTracepoints = fTracepointsActivateButton.getSelection();
- fIsSysCalls = fSysCallsActivateButton.getSelection();
- fIsDynamicProbe = fProbeActivateButton.getSelection();
- fIsDynamicFunctionProbe = fFunctionActivateButton.getSelection();
-
- // initialize tracepoint fields
- fIsAllTracepoints = false;
- fSelectedEvents = new ArrayList<>();
-
- if (fIsTracepoints) {
- Object[] checkedElements = fTracepointsViewer.getCheckedElements();
- for (int i = 0; i < checkedElements.length; i++) {
- ITraceControlComponent component = (ITraceControlComponent)checkedElements[i];
- if (component instanceof BaseEventComponent) {
- fSelectedEvents.add(component.getName());
- }
- }
- // verify if all events are selected
- int nbEvents = 0;
- List<ITraceControlComponent> comps = fProviderGroup.getChildren(KernelProviderComponent.class);
- for (ITraceControlComponent comp : comps) {
- nbEvents += comp.getChildren().length;
- }
- fIsAllTracepoints = (nbEvents == fSelectedEvents.size());
- }
-
- if (fIsDynamicProbe) {
- String temp = fProbeEventNameText.getText();
- if (temp.isEmpty() ||
- fProbeText.getText().matches("\\s*") || //$NON-NLS-1$
- (!temp.matches("^[\\s]{0,}$") && !temp.matches("^[a-zA-Z0-9\\-\\_]{1,}$"))) { //$NON-NLS-1$ //$NON-NLS-2$
- MessageDialog.openError(getShell(),
- Messages.TraceControl_EnableEventsDialogTitle,
- Messages.TraceControl_InvalidProbeNameError + " (" + temp + ") \n"); //$NON-NLS-1$ //$NON-NLS-2$
-
- return false;
- }
-
- fProbeEventName = temp;
- // fProbeString will be validated by lttng-tools
- fProbeString = fProbeText.getText();
- }
-
- // initialize function string
- fFunctionEventName = null;
- fFunctionString = null;
- if (fIsDynamicFunctionProbe) {
- String functionTemp = fFunctionEventNameText.getText();
- if (functionTemp.isEmpty() ||
- functionTemp.matches("\\s*") || //$NON-NLS-1$
- (!functionTemp.matches("^[\\s]{0,}$") && !functionTemp.matches("^[a-zA-Z0-9\\-\\_]{1,}$"))) { //$NON-NLS-1$ //$NON-NLS-2$
- MessageDialog.openError(getShell(),
- Messages.TraceControl_EnableEventsDialogTitle,
- Messages.TraceControl_InvalidProbeNameError + " (" + functionTemp + ") \n"); //$NON-NLS-1$ //$NON-NLS-2$
-
- return false;
- }
-
- fFunctionEventName = functionTemp;
- // fFunctionString will be validated by lttng-tools
- fFunctionString = fFunctionText.getText();
- }
-
- return true;
- }
-
- /**
- * Creates tracepoints group.
- */
- private void createTracepointsGroup() {
-
- GridLayout layout;
- GridData data;
- Group tpMainGroup = new Group(this, SWT.SHADOW_NONE);
- tpMainGroup.setText(Messages.TraceControl_EnableEventsTracepointGroupName);
- layout = new GridLayout(2, false);
- tpMainGroup.setLayout(layout);
- data = new GridData(GridData.FILL_BOTH);
- tpMainGroup.setLayoutData(data);
-
- Composite buttonComposite = new Composite(tpMainGroup, SWT.NONE);
- layout = new GridLayout(1, true);
- buttonComposite.setLayout(layout);
- data = new GridData(SWT.BEGINNING, SWT.CENTER, false, true);
- buttonComposite.setLayoutData(data);
-
- fTracepointsActivateButton = new Button(buttonComposite, SWT.RADIO);
- fTracepointsActivateButton.setText(Messages.TraceControl_EnableGroupSelectionName);
- data = new GridData(GridData.FILL_HORIZONTAL);
- fTracepointsActivateButton.setLayoutData(data);
- fTracepointsActivateButton.addSelectionListener(new SelectionAdapter() {
- @Override
- public void widgetSelected(SelectionEvent e) {
- setKernelEnablements(KernelGroupEnum.TRACEPOINTS);
- }
- });
-
- Group tracepointsGroup = new Group(tpMainGroup, SWT.SHADOW_NONE);
- layout = new GridLayout(1, true);
- tracepointsGroup.setLayout(layout);
- data = new GridData(GridData.FILL_BOTH);
- tracepointsGroup.setLayoutData(data);
-
- new FilteredTree(tracepointsGroup, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER, new PatternFilter(), true) {
- @Override
- protected TreeViewer doCreateTreeViewer(Composite aparent, int style) {
- fTracepointsViewer = new CheckboxTreeViewer(aparent, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL);
- fTracepointsViewer.getTree().setToolTipText(Messages.TraceControl_EnableEventsTracepointTreeTooltip);
-
- fTracepointsViewer.setContentProvider(new KernelContentProvider());
- fTracepointsViewer.setLabelProvider(new KernelLabelProvider());
- fTracepointsViewer.addCheckStateListener(new KernelCheckListener());
- fTracepointsViewer.setInput(fProviderGroup);
-
- fTracepointsViewer.getTree().setLayoutData(new GridData(GridData.FILL_BOTH));
- return fTracepointsViewer;
- }
- };
- }
-
- /**
- * Creates syscalls group.
- */
- private void createSysCallsGroup() {
- GridLayout layout;
- GridData data;
- Group sysCallsMainGroup = new Group(this, SWT.SHADOW_NONE);
- sysCallsMainGroup.setText(Messages.TraceControl_EnableEventsSyscallName);
- sysCallsMainGroup.setToolTipText(Messages.TraceControl_EnableEventsSyscallTooltip);
- layout = new GridLayout(2, false);
- sysCallsMainGroup.setLayout(layout);
- data = new GridData(GridData.FILL_HORIZONTAL);
- sysCallsMainGroup.setLayoutData(data);
-
- Composite buttonComposite = new Composite(sysCallsMainGroup, SWT.NONE);
- layout = new GridLayout(1, false);
- buttonComposite.setLayout(layout);
- data = new GridData(SWT.BEGINNING, SWT.CENTER, false, true);
- buttonComposite.setLayoutData(data);
-
- fSysCallsActivateButton = new Button(buttonComposite, SWT.RADIO);
- fSysCallsActivateButton.setText(Messages.TraceControl_EnableGroupSelectionName);
- fSysCallsActivateButton.setToolTipText(Messages.TraceControl_EnableEventsSyscallTooltip);
- fSysCallsActivateButton.setSelection(false);
- data = new GridData(GridData.FILL_HORIZONTAL);
- fSysCallsActivateButton.setLayoutData(data);
- fSysCallsActivateButton.addSelectionListener(new SelectionAdapter() {
- @Override
- public void widgetSelected(SelectionEvent e) {
- setKernelEnablements(KernelGroupEnum.SYSCALLS);
- }
- });
- }
-
- /**
- * Creates dynamic probe group.
- */
- private void createDynamicProbeGroup() {
- GridLayout layout;
- GridData data;
- Group probeMainGroup = new Group(this, SWT.SHADOW_NONE);
- probeMainGroup.setText(Messages.TraceControl_EnableEventsProbeGroupName);
- layout = new GridLayout(2, false);
- probeMainGroup.setLayout(layout);
- data = new GridData(GridData.FILL_HORIZONTAL);
- probeMainGroup.setLayoutData(data);
-
- Composite buttonComposite = new Composite(probeMainGroup, SWT.NONE);
- layout = new GridLayout(1, false);
- buttonComposite.setLayout(layout);
- data = new GridData(SWT.BEGINNING, SWT.CENTER, false, true);
- buttonComposite.setLayoutData(data);
-
- fProbeActivateButton = new Button(buttonComposite, SWT.RADIO);
- fProbeActivateButton.setText(Messages.TraceControl_EnableGroupSelectionName);
- fProbeActivateButton.setSelection(false);
- data = new GridData(GridData.FILL_HORIZONTAL);
- fProbeActivateButton.setLayoutData(data);
- fProbeActivateButton.addSelectionListener(new SelectionAdapter() {
- @Override
- public void widgetSelected(SelectionEvent e) {
- setKernelEnablements(KernelGroupEnum.PROBE);
- }
- });
-
- Group probeGroup = new Group(probeMainGroup, SWT.SHADOW_NONE);
- layout = new GridLayout(4, true);
- probeGroup.setLayout(layout);
- probeGroup.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-
- Label probeNameLabel = new Label(probeGroup, SWT.LEFT);
- probeNameLabel.setText(Messages.TraceControl_EnableEventsEventNameLabel);
- data = new GridData(GridData.FILL_BOTH);
- data.horizontalSpan = 1;
- probeNameLabel.setLayoutData(data);
-
- fProbeEventNameText = new Text(probeGroup, SWT.LEFT);
- fProbeEventNameText.setToolTipText(Messages.TraceControl_EnableEventsProbeEventNameTooltip);
-
- data = new GridData(GridData.FILL_BOTH);
- data.horizontalSpan = 3;
- fProbeEventNameText.setLayoutData(data);
-
- Label probeLabel = new Label(probeGroup, SWT.LEFT);
- probeLabel.setText(Messages.TraceControl_EnableEventsProbeNameLabel);
- data = new GridData(GridData.FILL_BOTH);
- data.horizontalSpan = 1;
- probeLabel.setLayoutData(data);
-
- fProbeText = new Text(probeGroup, SWT.LEFT);
- fProbeText.setToolTipText(Messages.TraceControl_EnableEventsProbeNameTooltip);
- data = new GridData(GridData.FILL_BOTH);
- data.horizontalSpan = 3;
- fProbeText.setLayoutData(data);
- }
-
- /**
- * Creates dynamic function entry/return probe group.
- */
- private void createDynamicFunctionPropeGroup() {
- GridLayout layout;
- GridData data;
- Group functionMainGroup = new Group(this, SWT.SHADOW_NONE);
- functionMainGroup.setText(Messages.TraceControl_EnableEventsFucntionGroupName);
- layout = new GridLayout(2, false);
- functionMainGroup.setLayout(layout);
- data = new GridData(GridData.FILL_HORIZONTAL);
- functionMainGroup.setLayoutData(data);
-
- Composite buttonComposite = new Composite(functionMainGroup, SWT.NONE);
- layout = new GridLayout(1, false);
- buttonComposite.setLayout(layout);
- data = new GridData(SWT.BEGINNING, SWT.CENTER, false, true);
- buttonComposite.setLayoutData(data);
-
- fFunctionActivateButton = new Button(buttonComposite, SWT.RADIO);
- fFunctionActivateButton.setText(Messages.TraceControl_EnableGroupSelectionName);
- fFunctionActivateButton.setSelection(false);
- data = new GridData(GridData.FILL_HORIZONTAL);
- fFunctionActivateButton.setLayoutData(data);
- fFunctionActivateButton.addSelectionListener(new SelectionAdapter() {
- @Override
- public void widgetSelected(SelectionEvent e) {
- setKernelEnablements(KernelGroupEnum.FUNCTION);
- }
- });
-
- Group functionGroup = new Group(functionMainGroup, SWT.SHADOW_NONE);
- layout = new GridLayout(4, true);
- functionGroup.setLayout(layout);
- functionGroup.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-
- Label functionNameLabel = new Label(functionGroup, SWT.LEFT);
- functionNameLabel.setText(Messages.TraceControl_EnableEventsEventNameLabel);
- data = new GridData(GridData.FILL_BOTH);
- data.horizontalSpan = 1;
- functionNameLabel.setLayoutData(data);
-
- fFunctionEventNameText = new Text(functionGroup, SWT.LEFT);
- fFunctionEventNameText.setToolTipText(Messages.TraceControl_EnableEventsFunctionEventNameTooltip);
- data = new GridData(GridData.FILL_BOTH);
- data.horizontalSpan = 3;
- fFunctionEventNameText.setLayoutData(data);
-
- Label functionLabel = new Label(functionGroup, SWT.LEFT);
- functionLabel.setText(Messages.TraceControl_EnableEventsFunctionNameLabel);
- data = new GridData(GridData.FILL_BOTH);
- data.horizontalSpan = 1;
- functionLabel.setLayoutData(data);
-
- fFunctionText = new Text(functionGroup, SWT.LEFT);
- fFunctionText.setToolTipText(Messages.TraceControl_EnableEventsProbeNameTooltip);
- data = new GridData(GridData.FILL_BOTH);
- data.horizontalSpan = 3;
- fFunctionText.setLayoutData(data);
- }
-
- /**
- * Enable/selects widgets depending on the group specified.
- * @param group - group to enable.
- */
- private void setKernelEnablements(KernelGroupEnum group) {
- fTracepointsActivateButton.setSelection(group == KernelGroupEnum.TRACEPOINTS);
- fTracepointsViewer.getTree().setEnabled(group == KernelGroupEnum.TRACEPOINTS);
-
- fSysCallsActivateButton.setSelection(group == KernelGroupEnum.SYSCALLS);
-
- fProbeActivateButton.setSelection(group == KernelGroupEnum.PROBE);
- fProbeEventNameText.setEnabled(group == KernelGroupEnum.PROBE);
- fProbeText.setEnabled(group == KernelGroupEnum.PROBE);
-
- fFunctionActivateButton.setSelection(group == KernelGroupEnum.FUNCTION);
- fFunctionEventNameText.setEnabled(group == KernelGroupEnum.FUNCTION);
- fFunctionText.setEnabled(group == KernelGroupEnum.FUNCTION);
- }
-
- // ------------------------------------------------------------------------
- // Local classes
- // ------------------------------------------------------------------------
- /**
- * Content provider for the tracepoints tree.
- */
- public static final class KernelContentProvider extends TraceControlContentProvider {
- @Override
- public Object[] getChildren(Object parentElement) {
- if (parentElement instanceof TraceProviderGroup) {
- List<ITraceControlComponent> children = ((ITraceControlComponent)parentElement).getChildren(KernelProviderComponent.class);
- return children.toArray(new ITraceControlComponent[children.size()]);
- }
- if (parentElement instanceof ITraceControlComponent) {
- return ((ITraceControlComponent)parentElement).getChildren();
- }
- return new Object[0];
- }
- }
-
- /**
- * Content label for the tracepoints tree.
- */
- public static final class KernelLabelProvider extends TraceControlLabelProvider {
- @Override
- public Image getImage(Object element) {
- return null;
- }
- @Override
- public String getText(Object element) {
- if ((element != null) && (element instanceof KernelProviderComponent)) {
- return Messages.TraceControl_EnableEventsTracepointTreeAllLabel;
- }
- return super.getText(element);
- }
- }
-
- /**
- * Check state listener for the tracepoints tree.
- */
- public final class KernelCheckListener implements ICheckStateListener {
- @Override
- public void checkStateChanged(CheckStateChangedEvent event) {
- if (event.getChecked()) {
- if (event.getElement() instanceof KernelProviderComponent) {
- fTracepointsViewer.setSubtreeChecked(event.getElement(), true);
- }
- } else {
- if (event.getElement() instanceof KernelProviderComponent) {
- fTracepointsViewer.setSubtreeChecked(event.getElement(), false);
- } else {
- ITraceControlComponent component = (ITraceControlComponent) event.getElement();
- fTracepointsViewer.setChecked(component.getParent(), false);
- }
- }
- }
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/dialogs/EnableUstEventsComposite.java b/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/dialogs/EnableUstEventsComposite.java
deleted file mode 100644
index f706bcb13b..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/dialogs/EnableUstEventsComposite.java
+++ /dev/null
@@ -1,649 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2012, 2014 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:
- * Bernd Hufmann - Initial API and implementation
- * Bernd Hufmann - Updated for support of LTTng Tools 2.1
- * Marc-Andre Laperle - Add filtering textbox
- **********************************************************************/
-package org.eclipse.linuxtools.internal.lttng2.control.ui.views.dialogs;
-
-import java.util.ArrayList;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Set;
-
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.viewers.CheckStateChangedEvent;
-import org.eclipse.jface.viewers.CheckboxTreeViewer;
-import org.eclipse.jface.viewers.ICheckStateListener;
-import org.eclipse.jface.viewers.TreeViewer;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.LogLevelType;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.TraceLogLevel;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.messages.Messages;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.model.ITraceControlComponent;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.model.impl.BaseEventComponent;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.model.impl.TargetNodeComponent;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.model.impl.TraceControlContentProvider;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.model.impl.TraceControlLabelProvider;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.model.impl.TraceProviderGroup;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.model.impl.UstProviderComponent;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.CCombo;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Group;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.ui.dialogs.FilteredTree;
-import org.eclipse.ui.dialogs.PatternFilter;
-
-/**
- * <p>
- * A composite for collecting information about UST events to be enabled.
- * </p>
- *
- * @author Bernd Hufmann
- */
-public class EnableUstEventsComposite extends Composite implements IEnableUstEvents {
-
- // ------------------------------------------------------------------------
- // Constants
- // ------------------------------------------------------------------------
-
- private enum GroupEnum { TRACEPOINTS, WILDCARD, LOGLEVEL }
-
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
-
- /**
- * A button to enable/disable the tracepoints group
- */
- private Button fTracepointsActivateButton;
- /**
- * A tree viewer for diplaying and selection of available tracepoints.
- */
- private CheckboxTreeViewer fTracepointsViewer;
- /**
- * A button to enable/disable the wildcard group
- */
- private Button fWildcardActivateButton;
- /**
- * A Text field for the event's wildcard.
- */
- private Text fWildcardText;
- /**
- * A button to enable/disable the log level group
- */
- private Button fLogLevelActivateButton;
- /**
- * A Text field for the event name for the log level enablement.
- */
- private Text fLogLevelEventNameText;
- /**
- * A Combo box for selecting the log level.
- */
- private CCombo fLogLevelCombo;
- /**
- * A button for selecting the log level (range 0 to level).
- */
- private Button fLogLevelButton;
- /**
- * A button for selecting the specified log level only.
- */
- private Button fLogLevelOnlyButton;
- /**
- * The filter text
- */
- private Text fFilterText;
-
- /**
- * The referenced trace provider group containing the UST providers
- * component which contains a list of available tracepoints.
- */
- private final TraceProviderGroup fProviderGroup;
- /**
- * The flag indicating that tracepoints are selected.
- */
- private boolean fIsTracepoints;
- /**
- * The flag indicating that all tracepoints (across providers) are selected.
- */
- private boolean fIsAllTracepoints;
- /**
- * The list of tracepoints to be enabled.
- */
- private List<String> fSelectedEvents;
- /**
- * The flag indicating that all wildcard are selected..
- */
- private boolean fIsWildcard;
- /**
- * The wildcard if wildcard is selected.
- */
- private String fWildcard;
- /**
- *The flag indicating that all log level are selected.
- */
- private boolean fIsLogLevel;
- /**
- * The event name for the log level enablement.
- */
- private String fLogLevelEventName;
- /**
- * The type of the log level (loglevel or loglevel-only)
- */
- private LogLevelType fLogLevelType;
- /**
- * The actual selected log level.
- */
- private TraceLogLevel fLogLevel;
- /**
- * The filter expression
- */
- private String fFilterExpression;
-
- // ------------------------------------------------------------------------
- // Constructors
- // ------------------------------------------------------------------------
- /**
- * Constructor
- * @param parent - a parent composite
- * @param style - a composite style
- * @param providerGroup - the trace provider group
- */
- public EnableUstEventsComposite(Composite parent, int style, TraceProviderGroup providerGroup) {
- super(parent, style);
- fProviderGroup = providerGroup;
- }
-
- // ------------------------------------------------------------------------
- // Accessors
- // ------------------------------------------------------------------------
-
- @Override
- public boolean isTracepoints() {
- return fIsTracepoints;
- }
-
- @Override
- public boolean isAllTracePoints() {
- return fIsAllTracepoints;
- }
-
- @Override
- public List<String> getEventNames() {
- return new ArrayList<>(fSelectedEvents);
- }
-
- @Override
- public boolean isWildcard() {
- return fIsWildcard;
- }
-
- @Override
- public String getWildcard() {
- return fWildcard;
- }
-
- @Override
- public boolean isLogLevel() {
- return fIsLogLevel;
- }
-
- @Override
- public LogLevelType getLogLevelType() {
- return fLogLevelType;
- }
-
- @Override
- public TraceLogLevel getLogLevel() {
- return fLogLevel;
- }
-
- @Override
- public String getLogLevelEventName() {
- return fLogLevelEventName;
- }
-
- @Override
- public String getFilterExpression() {
- return fFilterExpression;
- }
-
- // ------------------------------------------------------------------------
- // Operations
- // ------------------------------------------------------------------------
-
- /**
- * Create the contents of this event composite
- */
- public void createContent() {
-
- // Tracepoints Group
- createTracepointsGroup();
-
- // Wildcard Group
- createWildCardGroup();
-
- // Log Level Group
- createLogLevelGroup();
-
- // Filter Group
- createFilterGroup();
-
- // Set default enablements
- setEnablements(GroupEnum.TRACEPOINTS);
- }
-
- /**
- * Validates the UST composite input data.
- *
- * @return true if configured data is valid and can be retrieved.
- */
- public boolean isValid() {
-
- fIsTracepoints = fTracepointsActivateButton.getSelection();
- fIsWildcard = fWildcardActivateButton.getSelection();
- fIsLogLevel = fLogLevelActivateButton.getSelection();
-
- // initialize tracepoint fields
- fIsAllTracepoints = false;
- fSelectedEvents = new ArrayList<>();
- if (fIsTracepoints) {
- Set<String> set = new HashSet<>();
- Object[] checkedElements = fTracepointsViewer.getCheckedElements();
- int totalNbEvents = 0;
- for (int i = 0; i < checkedElements.length; i++) {
- ITraceControlComponent component = (ITraceControlComponent) checkedElements[i];
- if (component instanceof BaseEventComponent) {
- totalNbEvents++;
- if (!set.contains(component.getName())) {
- set.add(component.getName());
- fSelectedEvents.add(component.getName());
- }
- }
-
- }
-
- // verify if all events are selected
- int nbUstEvents = 0;
- List<ITraceControlComponent> comps = fProviderGroup.getChildren(UstProviderComponent.class);
- for (ITraceControlComponent comp : comps) {
- nbUstEvents += comp.getChildren().length;
- }
- fIsAllTracepoints = (nbUstEvents == totalNbEvents);
- }
-
- // initialize log level event name string
- fLogLevelType = LogLevelType.LOGLEVEL_NONE;
- fLogLevelEventName = null;
-
- if (fIsLogLevel) {
- if (fLogLevelButton.getSelection()) {
- fLogLevelType = LogLevelType.LOGLEVEL;
- } else if (fLogLevelOnlyButton.getSelection()) {
- fLogLevelType = LogLevelType.LOGLEVEL_ONLY;
- }
-
- String temp = fLogLevelEventNameText.getText();
- if (temp.isEmpty() ||
- temp.matches("\\s*") || //$NON-NLS-1$
- (!temp.matches("^[\\s]{0,}$") && !temp.matches("^[a-zA-Z0-9\\-\\_]{1,}$"))) { //$NON-NLS-1$ //$NON-NLS-2$
- MessageDialog.openError(getShell(),
- Messages.TraceControl_EnableEventsDialogTitle,
- Messages.TraceControl_InvalidLogLevelEventNameError + " (" + temp + ") \n"); //$NON-NLS-1$ //$NON-NLS-2$
-
- return false;
- }
-
- fLogLevelEventName = temp;
-
- TraceLogLevel[] levels = TraceLogLevel.values();
- int id = fLogLevelCombo.getSelectionIndex();
-
- if (id < 0) {
- MessageDialog.openError(getShell(),
- Messages.TraceControl_EnableEventsDialogTitle,
- Messages.TraceControl_InvalidLogLevel + " (" + temp + ") \n"); //$NON-NLS-1$ //$NON-NLS-2$
-
- return false;
- }
- fLogLevel = levels[id];
- }
-
- // initialize wildcard with null
- fWildcard = null;
- if (fIsWildcard) {
- String tempWildcard = fWildcardText.getText();
- if (tempWildcard.isEmpty() ||
- tempWildcard.matches("\\s*") || //$NON-NLS-1$
- (!tempWildcard.matches("^[\\s]{0,}$") && !tempWildcard.matches("^[a-zA-Z0-9\\-\\_\\*\\\\\\']{1,}$"))) { //$NON-NLS-1$ //$NON-NLS-2$
- MessageDialog.openError(getShell(),
- Messages.TraceControl_EnableEventsDialogTitle,
- Messages.TraceControl_InvalidWildcardError + " (" + tempWildcard + ") \n"); //$NON-NLS-1$ //$NON-NLS-2$
-
- return false;
- }
-
- fWildcard = tempWildcard;
- }
-
- // initialize filter with null
- fFilterExpression = null;
- if (fProviderGroup.isEventFilteringSupported()) {
- String tempFilter = fFilterText.getText();
-
- if(!tempFilter.isEmpty() && !tempFilter.matches("\\s*")) { //$NON-NLS-1$
- fFilterExpression = tempFilter;
- }
- }
-
- // validation successful -> call super.okPressed()
- return true;
- }
-
- // ------------------------------------------------------------------------
- // Helper methods
- // ------------------------------------------------------------------------
-
- /**
- * Creates tracepoints group.
- */
- private void createTracepointsGroup() {
- Group tpMainGroup = new Group(this, SWT.SHADOW_NONE);
- tpMainGroup.setText(Messages.TraceControl_EnableEventsTracepointGroupName);
- GridLayout layout = new GridLayout(2, false);
- tpMainGroup.setLayout(layout);
- GridData data = new GridData(GridData.FILL_BOTH);
- tpMainGroup.setLayoutData(data);
-
- Composite buttonComposite = new Composite(tpMainGroup, SWT.NONE);
- layout = new GridLayout(1, true);
- buttonComposite.setLayout(layout);
- data = new GridData(SWT.BEGINNING, SWT.CENTER, false, true);
- buttonComposite.setLayoutData(data);
-
- fTracepointsActivateButton = new Button(buttonComposite, SWT.RADIO);
- fTracepointsActivateButton.setText(Messages.TraceControl_EnableGroupSelectionName);
- data = new GridData(GridData.FILL_HORIZONTAL);
- fTracepointsActivateButton.setLayoutData(data);
- fTracepointsActivateButton.addSelectionListener(new SelectionAdapter() {
- @Override
- public void widgetSelected(SelectionEvent e) {
- setEnablements(GroupEnum.TRACEPOINTS);
- }
- });
-
- Group tpGroup = new Group(tpMainGroup, SWT.SHADOW_NONE);
- layout = new GridLayout(1, true);
- tpGroup.setLayout(layout);
- data = new GridData(GridData.FILL_BOTH);
- tpGroup.setLayoutData(data);
- new FilteredTree(tpGroup, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER, new PatternFilter(), true) {
- @Override
- protected TreeViewer doCreateTreeViewer(Composite aparent, int style) {
- fTracepointsViewer = new CheckboxTreeViewer(aparent, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL);
- fTracepointsViewer.getTree().setToolTipText(Messages.TraceControl_EnableEventsTracepointTreeTooltip);
- fTracepointsViewer.setContentProvider(new UstContentProvider());
-
- fTracepointsViewer.setLabelProvider(new UstLabelProvider());
- fTracepointsViewer.addCheckStateListener(new UstCheckStateListener());
-
- fTracepointsViewer.setInput(fProviderGroup.getParent());
- fTracepointsViewer.getTree().setLayoutData(new GridData(GridData.FILL_BOTH));
- return fTracepointsViewer;
- }
- };
- }
-
- /**
- * Creates wildcard group.
- */
- private void createWildCardGroup() {
- Group wildcardMainGroup = new Group(this, SWT.SHADOW_NONE);
- wildcardMainGroup.setText(Messages.TraceControl_EnableEventsWildcardGroupName);
- GridLayout layout = new GridLayout(2, false);
- wildcardMainGroup.setLayout(layout);
- GridData data = new GridData(GridData.FILL_HORIZONTAL);
- wildcardMainGroup.setLayoutData(data);
-
- Composite buttonComposite = new Composite(wildcardMainGroup, SWT.NONE);
- layout = new GridLayout(1, false);
- buttonComposite.setLayout(layout);
- data = new GridData(SWT.BEGINNING, SWT.CENTER, false, true);
- buttonComposite.setLayoutData(data);
-
- fWildcardActivateButton = new Button(buttonComposite, SWT.RADIO);
- fWildcardActivateButton.setText(Messages.TraceControl_EnableGroupSelectionName);
- fWildcardActivateButton.setSelection(false);
- data = new GridData(GridData.FILL_HORIZONTAL);
- fWildcardActivateButton.setLayoutData(data);
- fWildcardActivateButton.addSelectionListener(new SelectionAdapter() {
- @Override
- public void widgetSelected(SelectionEvent e) {
- setEnablements(GroupEnum.WILDCARD);
- }
- });
-
- Group wildcardGroup = new Group(wildcardMainGroup, SWT.SHADOW_NONE);
- layout = new GridLayout(3, true);
- wildcardGroup.setLayout(layout);
- data = new GridData(GridData.FILL_HORIZONTAL);
- wildcardGroup.setLayoutData(data);
-
- Label wildcardLabel = new Label(wildcardGroup, SWT.LEFT);
- wildcardLabel.setText(Messages.TraceControl_EnableEventsWildcardLabel);
- data = new GridData(GridData.FILL_HORIZONTAL);
- data.horizontalSpan = 1;
- wildcardLabel.setLayoutData(data);
-
- fWildcardText = new Text(wildcardGroup, SWT.LEFT);
- fWildcardText.setToolTipText(Messages.TraceControl_EnableEventsWildcardTooltip);
- data = new GridData(GridData.FILL_HORIZONTAL);
- data.horizontalSpan = 2;
- fWildcardText.setLayoutData(data);
- }
-
- /**
- * Creates log level group.
- */
- private void createLogLevelGroup() {
- Group logLevelMainGroup = new Group(this, SWT.SHADOW_NONE);
- logLevelMainGroup.setText(Messages.TraceControl_EnableEventsLogLevelGroupName);
- GridLayout layout = new GridLayout(2, false);
- logLevelMainGroup.setLayout(layout);
- GridData data = new GridData(GridData.FILL_HORIZONTAL);
- logLevelMainGroup.setLayoutData(data);
-
- Composite buttonComposite = new Composite(logLevelMainGroup, SWT.NONE);
- layout = new GridLayout(1, false);
- buttonComposite.setLayout(layout);
- data = new GridData(SWT.BEGINNING, SWT.CENTER, false, true);
- buttonComposite.setLayoutData(data);
-
- fLogLevelActivateButton = new Button(buttonComposite, SWT.RADIO);
- fLogLevelActivateButton.setText(Messages.TraceControl_EnableGroupSelectionName);
- fLogLevelActivateButton.setSelection(false);
- data = new GridData(GridData.FILL_HORIZONTAL);
- fLogLevelActivateButton.setLayoutData(data);
- fLogLevelActivateButton.addSelectionListener(new SelectionAdapter() {
- @Override
- public void widgetSelected(SelectionEvent e) {
- setEnablements(GroupEnum.LOGLEVEL);
- }
- });
-
- Group logLevelGroup = new Group(logLevelMainGroup, SWT.SHADOW_NONE);
- layout = new GridLayout(3, true);
- logLevelGroup.setLayout(layout);
- logLevelGroup.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-
- Label logLevelEventNameLabel = new Label(logLevelGroup, SWT.LEFT);
- logLevelEventNameLabel.setText(Messages.TraceControl_EnableEventsEventNameLabel);
-
- data = new GridData(GridData.FILL_BOTH);
- data.horizontalSpan = 1;
- logLevelEventNameLabel.setLayoutData(data);
-
- fLogLevelEventNameText = new Text(logLevelGroup, SWT.LEFT);
- fLogLevelEventNameText.setToolTipText(Messages.TraceControl_EnableEventsLoglevelEventNameTooltip);
- data = new GridData(GridData.FILL_BOTH);
- data.horizontalSpan = 2;
- fLogLevelEventNameText.setLayoutData(data);
-
- TraceLogLevel[] levels = TraceLogLevel.values();
-
- String[] levelNames = new String[levels.length - 1];
- int k = 0;
- for (int i = 0; i < levels.length; i++) {
- if (levels[i] != TraceLogLevel.LEVEL_UNKNOWN) {
- levelNames[k++] = levels[i].getInName();
- }
- }
-
- fLogLevelCombo = new CCombo(logLevelGroup, SWT.READ_ONLY);
- fLogLevelCombo.setItems(levelNames);
- fLogLevelCombo.setToolTipText(Messages.TraceControl_EnableEventsLogLevelTooltip);
- data = new GridData(GridData.FILL_HORIZONTAL);
- data.horizontalSpan = 4;
- fLogLevelCombo.setLayoutData(data);
-
- fLogLevelButton = new Button(logLevelGroup, SWT.RADIO);
- fLogLevelButton.setText(Messages.TraceControl_EnableEventsLogLevelTypeName);
- fLogLevelButton.setToolTipText(Messages.TraceControl_EnableEventsLogLevelTypeTooltip);
- data = new GridData(GridData.FILL_BOTH);
- fLogLevelButton.setLayoutData(data);
- fLogLevelButton.setSelection(true);
-
- fLogLevelOnlyButton = new Button(logLevelGroup, SWT.RADIO);
- fLogLevelOnlyButton.setText(Messages.TraceControl_EnableEventsLogLevelOnlyTypeName);
- fLogLevelOnlyButton.setToolTipText(Messages.TraceControl_EnableEventsLogLevelOnlyTypeTooltip);
- data = new GridData(GridData.FILL_BOTH);
- fLogLevelButton.setLayoutData(data);
- }
-
- void createFilterGroup() {
- if (fProviderGroup.isEventFilteringSupported()) {
- Group filterMainGroup = new Group(this, SWT.SHADOW_NONE);
- filterMainGroup.setText(Messages.TraceControl_EnableEventsFilterGroupName);
- GridLayout layout = new GridLayout(3, false);
- filterMainGroup.setLayout(layout);
- GridData data = new GridData(GridData.FILL_HORIZONTAL);
- filterMainGroup.setLayoutData(data);
-
- fFilterText = new Text(filterMainGroup, SWT.LEFT);
- fFilterText.setToolTipText(Messages.TraceControl_EnableEventsFilterTooltip);
- data = new GridData(GridData.FILL_HORIZONTAL);
- fFilterText.setLayoutData(data);
- }
- }
-
- /**
- * Enable/selects widgets depending on the group specified.
- * @param group - group to enable.
- */
- private void setEnablements(GroupEnum group) {
-
- // Enable/disable trace point items
- fTracepointsActivateButton.setSelection(group == GroupEnum.TRACEPOINTS);
- fTracepointsViewer.getTree().setEnabled(group == GroupEnum.TRACEPOINTS);
-
- // Enable/disable wildcard items
- fWildcardActivateButton.setSelection(group == GroupEnum.WILDCARD);
- fWildcardText.setEnabled(group == GroupEnum.WILDCARD);
-
- // Enable/disable log level items
- fLogLevelActivateButton.setSelection(group == GroupEnum.LOGLEVEL);
- fLogLevelEventNameText.setEnabled(group == GroupEnum.LOGLEVEL);
- fLogLevelCombo.setEnabled(group == GroupEnum.LOGLEVEL);
- fLogLevelButton.setEnabled(group == GroupEnum.LOGLEVEL);
- fLogLevelOnlyButton.setEnabled(group == GroupEnum.LOGLEVEL);
- }
-
- // ------------------------------------------------------------------------
- // Local classes
- // ------------------------------------------------------------------------
- /**
- * Content provider for the tracepoints tree.
- */
- public static final class UstContentProvider extends TraceControlContentProvider {
- @Override
- public Object[] getChildren(Object parentElement) {
- if (parentElement instanceof TargetNodeComponent) {
- List<ITraceControlComponent> children = ((ITraceControlComponent)parentElement).getChildren(TraceProviderGroup.class);
- return children.toArray(new ITraceControlComponent[children.size()]);
- }
- if (parentElement instanceof TraceProviderGroup) {
- List<ITraceControlComponent> children = ((ITraceControlComponent)parentElement).getChildren(UstProviderComponent.class);
- return children.toArray(new ITraceControlComponent[children.size()]);
- }
- if (parentElement instanceof ITraceControlComponent) {
- return ((ITraceControlComponent)parentElement).getChildren();
- }
- return new Object[0];
- }
- }
-
- /**
- * Content label for the tracepoints tree.
- */
- public static final class UstLabelProvider extends TraceControlLabelProvider {
- @Override
- public Image getImage(Object element) {
- return null;
- }
- @Override
- public String getText(Object element) {
- if ((element != null) && (element instanceof TraceProviderGroup)) {
- return Messages.TraceControl_EnableEventsTracepointTreeAllLabel;
- }
-
- if ((element != null) && (element instanceof UstProviderComponent)) {
- return Messages.TraceControl_EnableEventsTracepointTreeAllLabel + " - " + ((UstProviderComponent)element).getName(); //$NON-NLS-1$
- }
- return super.getText(element);
- }
- }
-
- /**
- * Check state listener for the tracepoints tree.
- */
- public final class UstCheckStateListener implements ICheckStateListener {
- @Override
- public void checkStateChanged(CheckStateChangedEvent event) {
- if (event.getChecked()) {
- if (event.getElement() instanceof TraceProviderGroup) {
- fTracepointsViewer.setSubtreeChecked(event.getElement(), true);
- }
- if (event.getElement() instanceof UstProviderComponent) {
- fTracepointsViewer.setSubtreeChecked(event.getElement(), true);
- }
- } else {
- if (event.getElement() instanceof TraceProviderGroup) {
- fTracepointsViewer.setSubtreeChecked(event.getElement(), true);
- }
- if (event.getElement() instanceof UstProviderComponent) {
- ITraceControlComponent component = (ITraceControlComponent) event.getElement();
- fTracepointsViewer.setSubtreeChecked(event.getElement(), false);
- fTracepointsViewer.setChecked(component.getParent(), false);
- } else {
- ITraceControlComponent component = (ITraceControlComponent) event.getElement();
- fTracepointsViewer.setChecked(component.getParent(), false);
- fTracepointsViewer.setChecked(component.getParent().getParent(), false);
- }
- }
- }
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/dialogs/GetEventInfoDialog.java b/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/dialogs/GetEventInfoDialog.java
deleted file mode 100644
index 2ec434aeb0..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/dialogs/GetEventInfoDialog.java
+++ /dev/null
@@ -1,281 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2012, 2013 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:
- * Bernd Hufmann - Initial API and implementation
- * Bernd Hufmann - Updated for support of LTTng Tools 2.1
- **********************************************************************/
-package org.eclipse.linuxtools.internal.lttng2.control.ui.views.dialogs;
-
-import java.util.Arrays;
-
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.Activator;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.messages.Messages;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.model.impl.TraceChannelComponent;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.model.impl.TraceDomainComponent;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.model.impl.TraceSessionComponent;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.CCombo;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.events.SelectionListener;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Group;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Text;
-
-/**
- * <p>
- * Dialog box for collecting information about the events to enable.
- * </p>
- *
- * @author Bernd Hufmann
- */
-public class GetEventInfoDialog extends Dialog implements IGetEventInfoDialog {
-
- // ------------------------------------------------------------------------
- // Constants
- // ------------------------------------------------------------------------
- /**
- * The icon file for this dialog box.
- */
- public static final String TARGET_NEW_CONNECTION_ICON_FILE = "icons/elcl16/enable_event.gif"; //$NON-NLS-1$
-
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
- /**
- * The session combo box.
- */
- private CCombo fSessionsCombo = null;
- /**
- * The channel combo box.
- */
- private CCombo fChannelsCombo = null;
- /**
- * The filter text
- */
- private Text fFilterText;
- /**
- * The list of available sessions.
- */
- private TraceSessionComponent[] fSessions;
- /**
- * True for kernel, false for UST.
- */
- private boolean fIsKernel;
- /**
- * Index in session array (selected session).
- */
- private int fSessionIndex = 0;
- /**
- * The Channel where the events should be enabled.
- */
- private TraceChannelComponent fChannel;
- /**
- * List of available channels of the selected session.
- */
- private TraceChannelComponent[] fChannels;
- /**
- * The filter expression
- */
- private String fFilterExpression;
-
- // ------------------------------------------------------------------------
- // Constructors
- // ------------------------------------------------------------------------
- /**
- * Constructor of dialog box.
- * @param shell - the shell for the dialog box
- */
- public GetEventInfoDialog(Shell shell) {
- super(shell);
- setShellStyle(SWT.RESIZE | getShellStyle());
- }
-
- // ------------------------------------------------------------------------
- // Accessors
- // ------------------------------------------------------------------------
-
- @Override
- public TraceSessionComponent getSession() {
- return fSessions[fSessionIndex];
- }
-
- @Override
- public TraceChannelComponent getChannel() {
- return fChannel;
- }
-
- @Override
- public void setIsKernel(boolean isKernel) {
- fIsKernel = isKernel;
- }
-
- @Override
- public void setSessions(TraceSessionComponent[] sessions) {
- fSessions = Arrays.copyOf(sessions, sessions.length);
- }
-
- @Override
- public String getFilterExpression() {
- return fFilterExpression;
- }
-
- // ------------------------------------------------------------------------
- // Operations
- // ------------------------------------------------------------------------
-
- @Override
- protected void configureShell(Shell newShell) {
- super.configureShell(newShell);
- newShell.setText(Messages.TraceControl_EnableEventsDialogTitle);
- newShell.setImage(Activator.getDefault().loadIcon(TARGET_NEW_CONNECTION_ICON_FILE));
- }
-
- @Override
- protected Control createDialogArea(Composite parent) {
-
- // Main dialog panel
- Composite dialogComposite = new Composite(parent, SWT.NONE);
- GridLayout layout = new GridLayout(1, true);
- dialogComposite.setLayout(layout);
- dialogComposite.setLayoutData(new GridData(GridData.FILL_BOTH));
-
- Group sessionsGroup = new Group(dialogComposite, SWT.SHADOW_NONE);
- sessionsGroup.setText(Messages.TraceControl_EnableEventsSessionGroupName);
- layout = new GridLayout(1, true);
- sessionsGroup.setLayout(layout);
- GridData data = new GridData(GridData.FILL_HORIZONTAL);
- sessionsGroup.setLayoutData(data);
-
- fSessionsCombo = new CCombo(sessionsGroup, SWT.READ_ONLY);
- fSessionsCombo.setToolTipText(Messages.TraceControl_EnableEventsSessionsTooltip);
- fSessionsCombo.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-
- String items[] = new String[fSessions.length];
- for (int i = 0; i < items.length; i++) {
- items[i] = String.valueOf(fSessions[i].getName());
- }
-
- fSessionsCombo.setItems(items);
- fSessionsCombo.setEnabled(fSessions.length > 0);
-
- Group channelsGroup = new Group(dialogComposite, SWT.SHADOW_NONE);
- channelsGroup.setText(Messages.TraceControl_EnableEventsChannelGroupName);
- layout = new GridLayout(1, true);
- channelsGroup.setLayout(layout);
- data = new GridData(GridData.FILL_HORIZONTAL);
- channelsGroup.setLayoutData(data);
-
- fChannelsCombo = new CCombo(channelsGroup, SWT.READ_ONLY);
- fChannelsCombo.setToolTipText(Messages.TraceControl_EnableEventsChannelsTooltip);
- fChannelsCombo.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
- fChannelsCombo.setEnabled(false);
-
- fSessionsCombo.addSelectionListener(new SelectionListener() {
- @Override
- public void widgetSelected(SelectionEvent e) {
- fSessionIndex = fSessionsCombo.getSelectionIndex();
-
- if (fSessionIndex >= 0) {
- TraceDomainComponent domain = null;
- TraceDomainComponent[] domains = fSessions[fSessionIndex].getDomains();
- for (int i = 0; i < domains.length; i++) {
-
- if (domains[i].isKernel() == fIsKernel) {
- domain = domains[i];
- break;
- }
- }
-
- if (domain != null) {
- fChannels = domain.getChannels();
- String selectionItems[] = new String[fChannels.length];
- for (int i = 0; i < selectionItems.length; i++) {
- selectionItems[i] = String.valueOf(fChannels[i].getName());
- }
- fChannelsCombo.setItems(selectionItems);
- fChannelsCombo.setEnabled(fChannels.length > 0);
- } else {
- fChannelsCombo.setItems(new String[0]);
- fChannelsCombo.setEnabled(false);
- fChannels = null;
- }
- fChannelsCombo.getParent().getParent().layout();
- }
- }
-
- @Override
- public void widgetDefaultSelected(SelectionEvent e) {
- }
- });
-
- // take first session to test whether events filtering is supported or not
- if (fSessions[0].isEventFilteringSupported() && !fIsKernel) {
- Group filterMainGroup = new Group(dialogComposite, SWT.SHADOW_NONE);
- filterMainGroup.setText(Messages.TraceControl_EnableEventsFilterGroupName);
- layout = new GridLayout(2, false);
- filterMainGroup.setLayout(layout);
- data = new GridData(GridData.FILL_HORIZONTAL);
- filterMainGroup.setLayoutData(data);
-
- fFilterText = new Text(filterMainGroup, SWT.LEFT);
- fFilterText.setToolTipText(Messages.TraceControl_EnableEventsFilterTooltip);
- data = new GridData(GridData.FILL_HORIZONTAL);
- fFilterText.setLayoutData(data);
- }
-
- getShell().setMinimumSize(new Point(300, 200));
-
- return dialogComposite;
- }
-
- @Override
- protected void createButtonsForButtonBar(Composite parent) {
- createButton(parent, IDialogConstants.CANCEL_ID, "&Cancel", true); //$NON-NLS-1$
- createButton(parent, IDialogConstants.OK_ID, "&Ok", true); //$NON-NLS-1$
- }
-
- @Override
- protected void okPressed() {
-
- if (fSessionsCombo.getSelectionIndex() < 0) {
- MessageDialog.openError(getShell(),
- Messages.TraceControl_EnableEventsDialogTitle,
- Messages.TraceControl_EnableEventsNoSessionError);
- return;
- }
-
- fSessionIndex = fSessionsCombo.getSelectionIndex();
-
- // if no channel is available or no channel is selected use default channel indicated by fChannel=null
- fChannel = null;
- if ((fChannels != null) && (fChannelsCombo.getSelectionIndex() >= 0)) {
- fChannel = fChannels[fChannelsCombo.getSelectionIndex()];
- }
-
- // initialize filter with null
- fFilterExpression = null;
- if (fSessions[0].isEventFilteringSupported() && !fIsKernel) {
- String tempFilter = fFilterText.getText();
-
- if(!tempFilter.isEmpty() && !tempFilter.matches("\\s*")) { //$NON-NLS-1$
- fFilterExpression = tempFilter;
- }
- }
-
- super.okPressed();
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/dialogs/IAddContextDialog.java b/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/dialogs/IAddContextDialog.java
deleted file mode 100644
index b65c3ba29f..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/dialogs/IAddContextDialog.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2012, 2013 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:
- * Bernd Hufmann - Initial API and implementation
- **********************************************************************/
-package org.eclipse.linuxtools.internal.lttng2.control.ui.views.dialogs;
-
-import java.util.List;
-
-/**
- * <p>
- * Interface for providing information about contexts to be added to channels/events.
- * </p>
- *
- * @author Bernd Hufmann
- */
-public interface IAddContextDialog {
-
- // ------------------------------------------------------------------------
- // Accessors
- // ------------------------------------------------------------------------
-
- /**
- * Sets the available contexts to choose from.
- * @param contexts - a list of available contexts.
- */
- void setAvalibleContexts(List<String> contexts);
-
- /**
- * @return array of contexts to be added
- */
- List<String> getContexts();
-
- // ------------------------------------------------------------------------
- // Operations
- // ------------------------------------------------------------------------
- /**
- * @return returns the open return value
- */
- int open();
-}
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/dialogs/IConfirmDialog.java b/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/dialogs/IConfirmDialog.java
deleted file mode 100644
index 4c36519cee..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/dialogs/IConfirmDialog.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2012, 2013 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:
- * Bernd Hufmann - Initial API and implementation
- **********************************************************************/
-package org.eclipse.linuxtools.internal.lttng2.control.ui.views.dialogs;
-
-import org.eclipse.swt.widgets.Shell;
-
-/**
- * <p>
- * Interface for a confirmation dialog.
- * </p>
- *
- * @author Bernd Hufmann
- */
-public interface IConfirmDialog {
-
- /**
- * Open a confirmation dialog
- *
- * @param parent
- * The parent shell
- * @param title
- * The title of the dialog window
- * @param message
- * The message in the dialog window
- * @return If the user clicked OK (true) or Cancel (false)
- */
- boolean openConfirm(Shell parent, String title, String message);
-
-}
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/dialogs/ICreateSessionDialog.java b/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/dialogs/ICreateSessionDialog.java
deleted file mode 100644
index c2c914755b..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/dialogs/ICreateSessionDialog.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2012, 2013 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:
- * Bernd Hufmann - Initial API and implementation
- * Bernd Hufmann - Updated for support of LTTng Tools 2.1
- **********************************************************************/
-package org.eclipse.linuxtools.internal.lttng2.control.ui.views.dialogs;
-
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.ISessionInfo;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.model.impl.TraceSessionGroup;
-
-/**
- * <p>
- * Interface for create session dialog.
- * </p>
- *
- * @author Bernd Hufmann
- */
-public interface ICreateSessionDialog {
-
- // ------------------------------------------------------------------------
- // Accessors
- // ------------------------------------------------------------------------
-
- /**
- * Get the parameters necessary for the creation of a LTTng session
- *
- * @return the parameters
- */
- ISessionInfo getParameters();
-
-
- // ------------------------------------------------------------------------
- // Operations
- // ------------------------------------------------------------------------
- /**
- * Initializes the dialog box.
- * @param group - the session group
- */
- void initialize(TraceSessionGroup group);
-
- /**
- * @return the open return value
- */
- int open();
-}
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/dialogs/IEnableChannelDialog.java b/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/dialogs/IEnableChannelDialog.java
deleted file mode 100644
index b0aad194fc..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/dialogs/IEnableChannelDialog.java
+++ /dev/null
@@ -1,65 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2012, 2013 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:
- * Bernd Hufmann - Initial API and implementation
- **********************************************************************/
-package org.eclipse.linuxtools.internal.lttng2.control.ui.views.dialogs;
-
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.IChannelInfo;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.model.impl.TargetNodeComponent;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.model.impl.TraceDomainComponent;
-
-/**
- * <p>
- * Interface for the enable channel dialog when domain is known.
- * </p>
- *
- * @author Bernd Hufmann
- */
-public interface IEnableChannelDialog {
-
- // ------------------------------------------------------------------------
- // Accessors
- // ------------------------------------------------------------------------
- /**
- * @return the configuration info for the new channel.
- */
- IChannelInfo getChannelInfo();
-
- /**
- * Sets the domain component
- * @param domain - the trace domain component
- */
- void setDomainComponent(TraceDomainComponent domain);
-
- /**
- * Set the targent node component
- * @param node - the node component
- */
- void setTargetNodeComponent(TargetNodeComponent node);
-
- /**
- * @return true for Kernel domain. False for UST.
- */
- boolean isKernel();
-
- /**
- * Sets the whether dialog is for Kernel or UST
- * @param isKernel true for kernel domain else UST
- */
- void setHasKernel(boolean isKernel);
-
- // ------------------------------------------------------------------------
- // Operations
- // ------------------------------------------------------------------------
- /**
- * @return the open return value
- */
- int open();
-}
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/dialogs/IEnableEventsDialog.java b/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/dialogs/IEnableEventsDialog.java
deleted file mode 100644
index 90ac9b4cf5..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/dialogs/IEnableEventsDialog.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2012, 2013 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:
- * Bernd Hufmann - Initial API and implementation
- **********************************************************************/
-package org.eclipse.linuxtools.internal.lttng2.control.ui.views.dialogs;
-
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.model.impl.TraceDomainComponent;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.model.impl.TraceProviderGroup;
-
-/**
- * <p>
- * Interface for providing information about Kernel or UST events to be enabled.
- * </p>
- *
- * @author Bernd Hufmann
- */
-public interface IEnableEventsDialog extends IEnableKernelEvents, IEnableUstEvents {
-
- // ------------------------------------------------------------------------
- // Accessors
- // ------------------------------------------------------------------------
- /**
- * @return the session the events shall be enabled.
- */
- boolean isKernel();
-
- /**
- * Sets the trace provider group.
- * @param providerGroup - a trace provider group
- */
- void setTraceProviderGroup(TraceProviderGroup providerGroup);
-
- /**
- * Sets the trace domain component.
- * @param domain - a domain of the events (null if not known)
- */
- void setTraceDomainComponent(TraceDomainComponent domain);
-
- // ------------------------------------------------------------------------
- // Operations
- // ------------------------------------------------------------------------
- /**
- * @return returns the open return value
- */
- int open();
-}
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/dialogs/IEnableKernelEvents.java b/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/dialogs/IEnableKernelEvents.java
deleted file mode 100644
index 66a8f59f8f..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/dialogs/IEnableKernelEvents.java
+++ /dev/null
@@ -1,84 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2012, 2013 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:
- * Bernd Hufmann - Initial API and implementation
- **********************************************************************/
-package org.eclipse.linuxtools.internal.lttng2.control.ui.views.dialogs;
-
-import java.util.List;
-
-/**
- * <p>
- * Interface for providing information about kernel events to be enabled.
- * </p>
- *
- * @author Bernd Hufmann
- */
-public interface IEnableKernelEvents {
-
- // ------------------------------------------------------------------------
- // Accessors
- // ------------------------------------------------------------------------
-
- /**
- * @return a flag whether the tracepoints shall be configured.
- */
- boolean isTracepoints();
-
- /**
- * @return a flag indicating whether all tracepoints shall be enabled or not.
- */
- boolean isAllTracePoints();
-
- /**
- * @return a flag whether the syscalls shall be configured.
- */
- boolean isSysCalls();
-
- /**
- * @return a flag indicating whether syscalls shall be enabled or not.
- */
- boolean isAllSysCalls();
-
- /**
- * @return a list of event names to be enabled.
- */
- List<String> getEventNames();
-
- /**
- * @return a flag whether the dynamic probe shall be configured.
- */
- boolean isDynamicProbe();
-
- /**
- * @return event name of the dynamic probe (or null if no dynamic probe).
- */
- String getProbeEventName();
-
- /**
- * @return the dynamic probe (or null if no dynamic probe).
- */
- String getProbeName();
-
- /**
- * @return a flag whether the dynamic function entry/return probe shall be configured.
- */
- boolean isDynamicFunctionProbe();
-
- /**
- * @return event name of the dynamic function entry/exit probe (or null if no dynamic probe).
- */
- String getFunctionEventName();
-
- /**
- * @return the dynamic function entry/exit probe (or null if no dynamic probe).
- */
- String getFunction();
-
-} \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/dialogs/IEnableUstEvents.java b/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/dialogs/IEnableUstEvents.java
deleted file mode 100644
index dfe72fb63d..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/dialogs/IEnableUstEvents.java
+++ /dev/null
@@ -1,83 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2012, 2013 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:
- * Bernd Hufmann - Initial API and implementation
- * Bernd Hufmann - Updated for support of LTTng Tools 2.1
- **********************************************************************/
-package org.eclipse.linuxtools.internal.lttng2.control.ui.views.dialogs;
-
-import java.util.List;
-
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.LogLevelType;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.TraceLogLevel;
-
-/**
- * <p>
- * Interface for providing information about UST events to be enabled.
- * </p>
- *
- * @author Bernd Hufmann
- */
-public interface IEnableUstEvents {
-
- // ------------------------------------------------------------------------
- // Accessors
- // ------------------------------------------------------------------------
-
- /**
- * @return a flag whether the tracepoints shall be configured.
- */
- boolean isTracepoints();
-
- /**
- * @return a flag indicating whether all tracepoints shall be enabled or not.
- */
- boolean isAllTracePoints();
-
- /**
- * @return a list of event names to be enabled.
- */
- List<String> getEventNames();
-
- /**
- * @return a flag whether events using wildcards should be enabled
- */
- boolean isWildcard();
-
- /**
- * @return a wildcard
- */
- String getWildcard();
-
- /**
- * @return a flag whether events using log levels should be enabled
- */
- boolean isLogLevel();
-
- /**
- * @return a log level type (loglevel or loglevel-only)
- */
- LogLevelType getLogLevelType();
-
- /**
- * @return a log level
- */
- TraceLogLevel getLogLevel();
-
- /**
- * @return a event name for the log level enable action
- */
- String getLogLevelEventName();
-
- /**
- * @return a filter expression
- */
- String getFilterExpression();
-
-}
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/dialogs/IGetEventInfoDialog.java b/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/dialogs/IGetEventInfoDialog.java
deleted file mode 100644
index c61a7fe878..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/dialogs/IGetEventInfoDialog.java
+++ /dev/null
@@ -1,65 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2012, 2013 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:
- * Bernd Hufmann - Initial API and implementation
- * Bernd Hufmann - Updated for support of LTTng Tools 2.1
- **********************************************************************/
-package org.eclipse.linuxtools.internal.lttng2.control.ui.views.dialogs;
-
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.model.impl.TraceChannelComponent;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.model.impl.TraceSessionComponent;
-
-/**
- * <p>
- * Interface for a dialog box for collecting information about the events to enable.
- * </p>
- *
- * @author Bernd Hufmann
- */
-public interface IGetEventInfoDialog {
-
- // ------------------------------------------------------------------------
- // Accessors
- // ------------------------------------------------------------------------
- /**
- * @return the session the events shall be enabled.
- */
- TraceSessionComponent getSession();
-
- /**
- * @return the channel the events shall be enabled. Null for default channel.
- */
- TraceChannelComponent getChannel();
-
- /**
- * Sets flag about domain.
- * @param isKernel - true for kernel, false for UST
- */
- void setIsKernel(boolean isKernel);
-
- /**
- * Sets available session.
- * @param sessions - a array of available sessions.
- */
- void setSessions(TraceSessionComponent[] sessions);
-
- /**
- * Returns the filter expression.
- * @return the filter expression or null for no filtering
- */
- String getFilterExpression();
-
- // ------------------------------------------------------------------------
- // Operations
- // ------------------------------------------------------------------------
- /**
- * @return returns the open return value
- */
- int open();
-}
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/dialogs/IImportConfirmationDialog.java b/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/dialogs/IImportConfirmationDialog.java
deleted file mode 100644
index 59884073c1..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/dialogs/IImportConfirmationDialog.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2012, 2013 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:
- * Bernd Hufmann - Initial API and implementation
- **********************************************************************/
-package org.eclipse.linuxtools.internal.lttng2.control.ui.views.dialogs;
-
-/**
- * <p>
- * Interface for dialog box for updating file import information.
- * </p>
- *
- * @author Bernd Hufmann
- */
-public interface IImportConfirmationDialog {
-
- // ------------------------------------------------------------------------
- // Accessors
- // ------------------------------------------------------------------------
- /**
- * @param name old trace name.
- */
- void setTraceName(String name);
-
- /**
- * @return the new trace name if not overwrite.
- */
- String getNewTraceName();
-
- /**
- *
- * @return true to overwrite existing trace.
- */
- boolean isOverwrite();
-
- // ------------------------------------------------------------------------
- // Operations
- // ------------------------------------------------------------------------
- /**
- * @return the open return value
- */
- int open();
-}
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/dialogs/IImportDialog.java b/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/dialogs/IImportDialog.java
deleted file mode 100644
index 170b021033..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/dialogs/IImportDialog.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2012, 2013 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:
- * Bernd Hufmann - Initial API and implementation
- **********************************************************************/
-package org.eclipse.linuxtools.internal.lttng2.control.ui.views.dialogs;
-
-import java.util.List;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.model.impl.TraceSessionComponent;
-
-/**
- * <p>
- * Interface for import traces dialog.
- * </p>
- *
- * @author Bernd Hufmann
- */
-public interface IImportDialog {
-
- // ------------------------------------------------------------------------
- // Accessors
- // ------------------------------------------------------------------------
- /**
- * @return a list of trace paths to import.
- */
- List<ImportFileInfo> getTracePathes();
-
- /**
- * @return the project to import the traces to
- */
- IProject getProject();
-
- /**
- * Sets the session containing the traces to import
- * @param session The trace session
- */
- void setSession(TraceSessionComponent session);
-
- /**
- * Sets the default project name to use
- *
- * @param defaultProject
- * the name of the default project to use
- */
- void setDefaultProject(String defaultProject);
-
-
- // ------------------------------------------------------------------------
- // Operations
- // ------------------------------------------------------------------------
- /**
- * @return the open return value
- */
- int open();
-}
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/dialogs/INewConnectionDialog.java b/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/dialogs/INewConnectionDialog.java
deleted file mode 100644
index e9232c6c0c..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/dialogs/INewConnectionDialog.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2012, 2014 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:
- * Bernd Hufmann - Initial API and implementation
- * Markus Schorn - Bug 448058: Use org.eclipse.remote in favor of RSE
- **********************************************************************/
-package org.eclipse.linuxtools.internal.lttng2.control.ui.views.dialogs;
-
-import org.eclipse.remote.core.IRemoteConnection;
-
-/**
- * <p>
- * Interface for connection information dialog.
- * </p>
- *
- * @author Bernd Hufmann
- */
-public interface INewConnectionDialog {
-
- // ------------------------------------------------------------------------
- // Accessors
- // ------------------------------------------------------------------------
-
- /**
- * Returns the selected connection.
- * @return the selected connection, or <code>null</code>.
- */
- IRemoteConnection getConnection();
-
- // ------------------------------------------------------------------------
- // Operations
- // ------------------------------------------------------------------------
- /**
- * @return returns the open return value
- */
- int open();
-}
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/dialogs/ISelectCommandScriptDialog.java b/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/dialogs/ISelectCommandScriptDialog.java
deleted file mode 100644
index 15dd52e9f3..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/dialogs/ISelectCommandScriptDialog.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2014 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:
- * Bernd Hufmann - Initial API and implementation
- **********************************************************************/
-package org.eclipse.linuxtools.internal.lttng2.control.ui.views.dialogs;
-
-import java.util.List;
-
-/**
- * Interface for dialog for selecting a command script.
- *
- * @author Bernd Hufmann
- *
- */
-public interface ISelectCommandScriptDialog {
- /**
- * @return a list of command
- */
- List<String> getCommands();
-
- /**
- * @return the open return value
- */
- int open();
-}
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/dialogs/ImportConfirmationDialog.java b/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/dialogs/ImportConfirmationDialog.java
deleted file mode 100644
index d58d8234d3..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/dialogs/ImportConfirmationDialog.java
+++ /dev/null
@@ -1,200 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2012, 2013 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:
- * Bernd Hufmann - Initial API and implementation
- **********************************************************************/
-package org.eclipse.linuxtools.internal.lttng2.control.ui.views.dialogs;
-
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.Activator;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.messages.Messages;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Text;
-
-/**
- * <p>
- * Dialog box for collecting session creation information.
- * </p>
- *
- * @author Bernd Hufmann
- */
-public class ImportConfirmationDialog extends Dialog implements IImportConfirmationDialog {
-
- // ------------------------------------------------------------------------
- // Constants
- // ------------------------------------------------------------------------
- /**
- * The icon file for this dialog box.
- */
- public static final String IMPORT_ICON_FILE = "icons/elcl16/import_trace.gif"; //$NON-NLS-1$
-
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
- /**
- * The radio button for selecting the overwrite action
- */
- private Button fOverwriteButton = null;
- /**
- * The radio button for selecting the renaming action
- */
- private Button fRenameButton = null;
- /**
- * The text widget for the session name
- */
- private Text fNewTraceNameText = null;
- /**
- * The trace name which already exists in the project
- */
- private String fTraceName = null;
- /**
- * The session name string.
- */
- private String fNewTraceName = null;
- /**
- * Flag whether default location (path) shall be used or not
- */
- private boolean fIsOverride = true;
-
- // ------------------------------------------------------------------------
- // Constructors
- // ------------------------------------------------------------------------
- /**
- * Constructor
- * @param shell - a shell for the display of the dialog
- */
- public ImportConfirmationDialog(Shell shell) {
- super(shell);
- setShellStyle(SWT.RESIZE | getShellStyle());
- }
-
- // ------------------------------------------------------------------------
- // Accessors
- // ------------------------------------------------------------------------
-
- @Override
- public void setTraceName(String name) {
- fTraceName = name;
- }
-
- @Override
- public String getNewTraceName() {
- return fNewTraceName;
- }
-
- @Override
- public boolean isOverwrite() {
- return fIsOverride;
- }
-
- // ------------------------------------------------------------------------
- // Operations
- // ------------------------------------------------------------------------
-
- @Override
- protected void configureShell(Shell newShell) {
- super.configureShell(newShell);
- newShell.setText(Messages.TraceControl_ImportDialogConfirmationTitle);
- newShell.setImage(Activator.getDefault().loadIcon(IMPORT_ICON_FILE));
- }
-
- @Override
- protected Control createDialogArea(Composite parent) {
-
- // Main dialog panel
- Composite dialogComposite = new Composite(parent, SWT.NONE);
- GridLayout layout = new GridLayout(1, true);
- dialogComposite.setLayout(layout);
- dialogComposite.setLayoutData(new GridData(GridData.FILL_BOTH));
-
- Label sessionNameLabel = new Label(dialogComposite, SWT.RIGHT);
- sessionNameLabel.setText(Messages.TraceControl_ImportDialogTraceAlreadyExistError + ": " + fTraceName); //$NON-NLS-1$
-
- fOverwriteButton = new Button(dialogComposite, SWT.RADIO);
- fOverwriteButton.setText(Messages.TraceControl_ImportDialogConfirmationOverwriteLabel);
-
- fOverwriteButton.addSelectionListener(new SelectionAdapter() {
- @Override
- public void widgetSelected(SelectionEvent e) {
- fNewTraceNameText.setEnabled(false);
- fNewTraceNameText.setText(fTraceName);
- }
- });
-
- fRenameButton = new Button(dialogComposite, SWT.RADIO);
- fRenameButton.setText(Messages.TraceControl_ImportDialogConfirmationRenameLabel);
-
- fRenameButton.addSelectionListener(new SelectionAdapter() {
- @Override
- public void widgetSelected(SelectionEvent e) {
- fNewTraceNameText.setEnabled(true);
- }
- });
-
- fNewTraceNameText = new Text(dialogComposite, SWT.NONE);
- fNewTraceNameText.setToolTipText(Messages.TraceControl_ImportDialogConfirmationNewNameLabel);
- fNewTraceNameText.setText(fTraceName);
-
- // Default
- fOverwriteButton.setSelection(true);
- fNewTraceNameText.setEnabled(false);
-
-
- // layout widgets
- GridData data = new GridData(GridData.FILL_HORIZONTAL);
-
- fNewTraceNameText.setLayoutData(data);
-
- getShell().setMinimumSize(new Point(300, 150));
-
- return dialogComposite;
- }
-
- @Override
- protected void createButtonsForButtonBar(Composite parent) {
- createButton(parent, IDialogConstants.CANCEL_ID, "&Cancel", true); //$NON-NLS-1$
- createButton(parent, IDialogConstants.OK_ID, "&Ok", true); //$NON-NLS-1$
- }
-
- @Override
- protected void okPressed() {
-
- fIsOverride = fOverwriteButton.getSelection();
-
- if (fIsOverride) {
- // new name is old name
- fNewTraceName = fTraceName;
- } else {
- fNewTraceName = fNewTraceNameText.getText();
- }
-
- // Check for invalid names
- if (!fNewTraceName.matches("^[a-zA-Z0-9\\-\\_]{1,}$")) { //$NON-NLS-1$
- MessageDialog.openError(getShell(),
- Messages.TraceControl_ImportDialogConfirmationTitle,
- Messages.TraceControl_InvalidTraceNameError + " (" + fNewTraceName + ") \n"); //$NON-NLS-1$ //$NON-NLS-2$
- return;
- }
-
- // validation successful -> call super.okPressed()
- super.okPressed();
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/dialogs/ImportDialog.java b/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/dialogs/ImportDialog.java
deleted file mode 100644
index 1a843fd51b..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/dialogs/ImportDialog.java
+++ /dev/null
@@ -1,493 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2012, 2014 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:
- * Bernd Hufmann - Initial API and implementation
- * Bernd Hufmann - Added handling of streamed traces
- * Marc-Andre Laperle - Use common method to get opened tmf projects
- * Markus Schorn - Bug 448058: Use org.eclipse.remote in favor of RSE
- **********************************************************************/
-package org.eclipse.linuxtools.internal.lttng2.control.ui.views.dialogs;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.filesystem.EFS;
-import org.eclipse.core.filesystem.IFileInfo;
-import org.eclipse.core.filesystem.IFileStore;
-import org.eclipse.core.resources.IFolder;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.viewers.CheckStateChangedEvent;
-import org.eclipse.jface.viewers.CheckboxTreeViewer;
-import org.eclipse.jface.viewers.ICheckStateListener;
-import org.eclipse.jface.viewers.ITreeContentProvider;
-import org.eclipse.jface.viewers.LabelProvider;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.jface.window.Window;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.Activator;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.messages.Messages;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.model.impl.TraceSessionComponent;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.remote.IRemoteSystemProxy;
-import org.eclipse.linuxtools.tmf.ui.project.model.TmfTracesFolder;
-import org.eclipse.linuxtools.tmf.ui.project.model.TraceUtils;
-import org.eclipse.remote.core.IRemoteFileManager;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.CCombo;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Group;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.swt.widgets.Tree;
-import org.eclipse.ui.ISharedImages;
-import org.eclipse.ui.PlatformUI;
-
-/**
- * <p>
- * Dialog box for collecting trace import information.
- * </p>
- *
- * @author Bernd Hufmann
- */
-public class ImportDialog extends Dialog implements IImportDialog {
-
- // ------------------------------------------------------------------------
- // Constants
- // ------------------------------------------------------------------------
- /** The icon file for this dialog box. */
- public static final String IMPORT_ICON_FILE = "icons/elcl16/import_trace.gif"; //$NON-NLS-1$
-
- /** Parent directory for UST traces */
- public static final String UST_PARENT_DIRECTORY = "ust"; //$NON-NLS-1$
-
- /** Name of metadata file of trace */
- public static final String METADATA_FILE_NAME = "metadata"; //$NON-NLS-1$
-
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
- /**
- * The dialog composite.
- */
- private Composite fDialogComposite = null;
- /**
- * The checkbox tree viewer for selecting available traces
- */
- private CheckboxTreeViewer fFolderViewer;
- /**
- * The combo box for selecting a project.
- */
- private CCombo fCombo;
- /**
- * The overwrite button
- */
- private Button fOverwriteButton;
- /**
- * List of available LTTng 2.0 projects
- */
- private List<IProject> fProjects;
- /**
- * The parent where the new node should be added.
- */
- private TraceSessionComponent fSession = null;
- /**
- * The name of the default project name
- */
- private String fDefaultProjectName = null;
- /**
- * List of traces to import
- */
- private final List<ImportFileInfo> fTraces = new ArrayList<>();
- /**
- * Selection index in project combo box.
- */
- private int fProjectIndex;
- /**
- * Flag to indicate that something went wrong when creating the dialog box.
- */
- private boolean fIsError = false;
- /**
- * Children of the remote folder (can be null)
- */
- private Object[] fFolderChildren = null;
-
- // ------------------------------------------------------------------------
- // Constructors
- // ------------------------------------------------------------------------
- /**
- * Constructor
- * @param shell - a shell for the display of the dialog
- */
- public ImportDialog(Shell shell) {
- super(shell);
- setShellStyle(SWT.RESIZE | getShellStyle());
- }
-
- // ------------------------------------------------------------------------
- // Accessors
- // ------------------------------------------------------------------------
-
- @Override
- public List<ImportFileInfo> getTracePathes() {
- List<ImportFileInfo> retList = new ArrayList<>();
- retList.addAll(fTraces);
- return retList;
- }
-
- @Override
- public IProject getProject() {
- return fProjects.get(fProjectIndex);
- }
-
- @Override
- public void setSession(TraceSessionComponent session) {
- fSession = session;
- }
-
- @Override
- public void setDefaultProject(String defaultProject) {
- fDefaultProjectName = defaultProject;
- }
-
- // ------------------------------------------------------------------------
- // Operations
- // ------------------------------------------------------------------------
-
- @Override
- protected void configureShell(Shell newShell) {
- super.configureShell(newShell);
- newShell.setText(Messages.TraceControl_ImportDialogTitle);
- newShell.setImage(Activator.getDefault().loadIcon(IMPORT_ICON_FILE));
- }
-
- @Override
- protected Control createDialogArea(Composite parent) {
-
- // Main dialog panel
- fDialogComposite = new Composite(parent, SWT.NONE);
- GridLayout layout = new GridLayout(1, true);
- fDialogComposite.setLayout(layout);
- fDialogComposite.setLayoutData(new GridData(GridData.FILL_BOTH));
-
- try {
- createRemoteComposite();
- } catch (CoreException e) {
- createErrorComposite(parent, e.fillInStackTrace());
- return fDialogComposite;
- }
- return fDialogComposite;
- }
-
- @Override
- protected void createButtonsForButtonBar(Composite parent) {
- Button selectAllButton = createButton(parent, IDialogConstants.SELECT_ALL_ID, Messages.TraceControl_ImportDialog_SelectAll, true);
- selectAllButton.addSelectionListener(new SelectionAdapter() {
- @Override
- public void widgetSelected(SelectionEvent e) {
- setFolderChildrenChecked(true);
- }
- });
-
- Button deselectAllButton = createButton(parent, IDialogConstants.DESELECT_ALL_ID, Messages.TraceControl_ImportDialog_DeselectAll, true);
- deselectAllButton.addSelectionListener(new SelectionAdapter() {
- @Override
- public void widgetSelected(SelectionEvent e) {
- setFolderChildrenChecked(false);
- }
- });
- createButton(parent, IDialogConstants.CANCEL_ID, IDialogConstants.CANCEL_LABEL, true);
- createButton(parent, IDialogConstants.OK_ID, IDialogConstants.OK_LABEL, true);
- updateOKButtonEnablement();
- }
-
- @Override
- protected void okPressed() {
- if (!fIsError) {
-
- // Validate input data
- fTraces.clear();
-
- fProjectIndex = fCombo.getSelectionIndex();
-
- if (fProjectIndex < 0) {
- MessageDialog.openError(getShell(),
- Messages.TraceControl_ImportDialogTitle,
- Messages.TraceControl_ImportDialogNoProjectSelectedError);
- return;
- }
-
- IProject project = fProjects.get(fProjectIndex);
- IFolder traceFolder = project.getFolder(TmfTracesFolder.TRACES_FOLDER_NAME);
-
- if (!traceFolder.exists()) {
- // Invalid LTTng 2.0 project
- MessageDialog.openError(getShell(),
- Messages.TraceControl_ImportDialogTitle,
- Messages.TraceControl_ImportDialogInvalidTracingProject + " (" + TmfTracesFolder.TRACES_FOLDER_NAME + ")"); //$NON-NLS-1$//$NON-NLS-2$
- return;
- }
-
- boolean overwriteAll = fOverwriteButton.getSelection();
-
- Object[] checked = fFolderViewer.getCheckedElements();
- for (int i = 0; i < checked.length; i++) {
- IFileStore file = (IFileStore) checked[i];
- if (!file.fetchInfo().isDirectory() && file.getName().equals(METADATA_FILE_NAME)) {
- IFileStore trace = file.getParent();
- IFileStore parent = trace.getParent();
-
- String path = fSession.isSnapshotSession() ? fSession.getSnapshotInfo().getSnapshotPath() : fSession.getSessionPath();
- path = getUnifiedPath(path);
- IPath sessionParentPath = new Path(path).removeLastSegments(1);
- IPath traceParentPath = new Path(parent.toURI().getPath());
-
- IPath relativeTracePath = traceParentPath.makeRelativeTo(sessionParentPath);
-
- IFolder destinationFolder = traceFolder.getFolder(new Path(relativeTracePath.toOSString()));
-
- ImportFileInfo info = new ImportFileInfo(trace, trace.getName(), destinationFolder, overwriteAll);
- IFolder folder = destinationFolder.getFolder(trace.getName());
-
- // Verify if trace directory already exists (and not overwrite)
- if (folder.exists() && !overwriteAll) {
-
- // Ask user for overwrite or new name
- IImportConfirmationDialog conf = TraceControlDialogFactory.getInstance().getImportConfirmationDialog();
- conf.setTraceName(trace.getName());
-
- // Don't add trace to list if dialog was cancelled.
- if (conf.open() == Window.OK) {
- info.setOverwrite(conf.isOverwrite());
- if (!conf.isOverwrite()) {
- info.setLocalTraceName(conf.getNewTraceName());
- }
- fTraces.add(info);
- }
- } else {
- fTraces.add(info);
- }
- }
- }
-
- if (fTraces.isEmpty()) {
- MessageDialog.openError(getShell(),
- Messages.TraceControl_ImportDialogTitle,
- Messages.TraceControl_ImportDialogNoTraceSelectedError);
- return;
- }
- }
-
- // validation successful -> call super.okPressed()
- super.okPressed();
- }
-
- // ------------------------------------------------------------------------
- // Helper methods and classes
- // ------------------------------------------------------------------------
-
- /**
- * Helper class for the contents of a folder in a tracing project
- *
- * @author Bernd Hufmann
- */
- public static class FolderContentProvider implements ITreeContentProvider {
- @Override
- public Object[] getChildren(Object o) {
- try {
- IFileStore store = (IFileStore) o;
- if (store.fetchInfo().isDirectory()) {
- return store.childStores(EFS.NONE, new NullProgressMonitor());
- }
- } catch (CoreException e) {
- }
- return new Object[0];
- }
-
- @Override
- public Object getParent(Object element) {
- return ((IFileStore) element).getParent();
- }
-
- @Override
- public void dispose() {
- }
-
- @Override
- public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
- }
-
- @Override
- public Object[] getElements(Object inputElement) {
- return getChildren(inputElement);
- }
-
- @Override
- public boolean hasChildren(Object element) {
- return ((IFileStore) element).fetchInfo().isDirectory();
- }
- }
-
- /**
- * Creates a dialog composite with an error message which can be used
- * when an exception occurred during creation time of the dialog box.
- * @param parent - a parent composite
- * @param e - a error causing exception
- */
- private void createErrorComposite(Composite parent, Throwable e) {
- fIsError = true;
- fDialogComposite.dispose();
-
- fDialogComposite = new Composite(parent, SWT.NONE);
- GridLayout layout = new GridLayout(1, true);
- fDialogComposite.setLayout(layout);
- fDialogComposite.setLayoutData(new GridData(GridData.FILL_BOTH));
-
- Text errorText = new Text(fDialogComposite, SWT.MULTI);
- StringBuffer error = new StringBuffer();
- error.append(Messages.TraceControl_ImportDialogCreationError);
- error.append(System.getProperty("line.separator")); //$NON-NLS-1$
- error.append(System.getProperty("line.separator")); //$NON-NLS-1$
- error.append(e.toString());
- errorText.setText(error.toString());
- errorText.setLayoutData(new GridData(GridData.FILL_BOTH));
- }
-
- private void createRemoteComposite() throws CoreException {
- Group contextGroup = new Group(fDialogComposite, SWT.SHADOW_NONE);
- contextGroup.setText(Messages.TraceControl_ImportDialogTracesGroupName);
- GridLayout layout = new GridLayout(1, true);
- contextGroup.setLayout(layout);
- contextGroup.setLayoutData(new GridData(GridData.FILL_BOTH));
-
- IRemoteSystemProxy proxy = fSession.getTargetNode().getRemoteSystemProxy();
-
- IRemoteFileManager fsss = proxy.getFileServiceSubSystem();
-
- final String path = fSession.isSnapshotSession() ? fSession.getSnapshotInfo().getSnapshotPath() : fSession.getSessionPath();
- final IFileStore remoteFolder = fsss.getResource(path);
-
- fFolderViewer = new CheckboxTreeViewer(contextGroup, SWT.BORDER | SWT.V_SCROLL | SWT.H_SCROLL);
- GridData data = new GridData(GridData.FILL_BOTH);
- Tree tree = fFolderViewer.getTree();
- tree.setLayoutData(data);
- tree.setFont(fDialogComposite.getFont());
- tree.setToolTipText(Messages.TraceControl_ImportDialogTracesTooltip);
-
- fFolderViewer.setContentProvider(new FolderContentProvider());
- fFolderViewer.setLabelProvider(new LabelProvider() {
- @Override
- public String getText(Object element) {
- return ((IFileStore) element).getName();
- }
- @Override
- public Image getImage(Object element) {
- if (((IFileStore) element).fetchInfo().isDirectory()) {
- return PlatformUI.getWorkbench().getSharedImages().getImage(ISharedImages.IMG_OBJ_FOLDER);
- }
- return PlatformUI.getWorkbench().getSharedImages().getImage(ISharedImages.IMG_OBJ_FILE);
- }
- });
-
- fFolderViewer.addCheckStateListener(new ICheckStateListener() {
- @Override
- public void checkStateChanged(CheckStateChangedEvent event) {
- Object elem = event.getElement();
- if (elem instanceof IFileStore) {
- IFileStore element = (IFileStore) elem;
- IFileInfo info = element.fetchInfo();
- if (!info.isDirectory()) {
- // A trick to keep selection of a file in sync with the directory
- boolean p = fFolderViewer.getChecked((element.getParent()));
- fFolderViewer.setChecked(element, p);
- } else {
- fFolderViewer.setSubtreeChecked(event.getElement(), event.getChecked());
- if (!event.getChecked()) {
- fFolderViewer.setChecked(element.getParent(), false);
- }
- }
- updateOKButtonEnablement();
- }
- }
- });
- fFolderViewer.setInput(remoteFolder);
-
- fFolderChildren = remoteFolder.childStores(EFS.NONE, new NullProgressMonitor());
- // children can be null if there the path doesn't exist. This happens when a trace
- // session hadn't been started and no output was created.
- setFolderChildrenChecked(true);
-
- Group projectGroup = new Group(fDialogComposite, SWT.SHADOW_NONE);
- projectGroup.setText(Messages.TraceControl_ImportDialogProjectsGroupName);
- layout = new GridLayout(1, true);
- projectGroup.setLayout(layout);
- projectGroup.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-
- fProjects = new ArrayList<>();
- List<String> projectNames = new ArrayList<>();
-
- for (IProject project : TraceUtils.getOpenedTmfProjects()) {
- fProjects.add(project);
- projectNames.add(project.getName());
- }
-
- fCombo = new CCombo(projectGroup, SWT.READ_ONLY);
- fCombo.setToolTipText(Messages.TraceControl_ImportDialogProjectsTooltip);
- fCombo.setLayoutData(new GridData(GridData.FILL, GridData.CENTER, true, false, 1, 1));
- fCombo.setItems(projectNames.toArray(new String[projectNames.size()]));
-
- if (fDefaultProjectName != null) {
- int select = projectNames.indexOf(fDefaultProjectName);
- fCombo.select(select);
- }
-
- Group overrideGroup = new Group(fDialogComposite, SWT.SHADOW_NONE);
- layout = new GridLayout(1, true);
- overrideGroup.setLayout(layout);
- overrideGroup.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-
- fOverwriteButton = new Button(overrideGroup, SWT.CHECK);
- fOverwriteButton.setText(Messages.TraceControl_ImportDialogOverwriteButtonText);
- getShell().setMinimumSize(new Point(500, 400));
- }
-
- private void setFolderChildrenChecked(boolean isChecked) {
- if (fFolderChildren != null) {
- for (Object child : fFolderChildren) {
- fFolderViewer.setSubtreeChecked(child, isChecked);
- }
- }
- updateOKButtonEnablement();
- }
-
- private void updateOKButtonEnablement() {
- Object[] checked = fFolderViewer.getCheckedElements();
- Button okButton = getButton(IDialogConstants.OK_ID);
- if (okButton != null) {
- okButton.setEnabled(checked.length > 0);
- }
- }
-
- private static String getUnifiedPath(String path) {
- // Use Path class to remove unnecessary slashes
- return new Path(path).removeTrailingSeparator().toString();
- }
- }
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/dialogs/ImportFileInfo.java b/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/dialogs/ImportFileInfo.java
deleted file mode 100644
index 3d728b8e7e..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/dialogs/ImportFileInfo.java
+++ /dev/null
@@ -1,128 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2012, 2014 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:
- * Bernd Hufmann - Initial API and implementation
- * Markus Schorn - Bug 448058: Use org.eclipse.remote in favor of RSE
- **********************************************************************/
-package org.eclipse.linuxtools.internal.lttng2.control.ui.views.dialogs;
-
-import org.eclipse.core.filesystem.IFileStore;
-import org.eclipse.core.resources.IFolder;
-
-/**
- * <p>
- * Helper class for storing information about a remote file to import.
- * </p>
- *
- * @author Bernd Hufmann
- */
-public class ImportFileInfo {
-
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
- /**
- * Remote file reference
- */
- private IFileStore fRemoteFile;
- /**
- * Local Trace Name
- */
- private String fLocalTraceName;
- /**
- * Global overwrite flag
- */
- private boolean fIsOverwrite;
- /**
- * Destination folder to import the trace to (full workspace path)
- */
- private IFolder fDestinationFolder;
-
- // ------------------------------------------------------------------------
- // Constructors
- // ------------------------------------------------------------------------
- /**
- * Standard constructor
- *
- * @param file
- * A remote file reference
- * @param traceName
- * A trace name
- * @param destinationFolder
- * The destination folder (full workspace path)
- * @param isOverwrite
- * global overwrite flag
- */
- public ImportFileInfo(IFileStore file, String traceName, IFolder destinationFolder, boolean isOverwrite) {
- fRemoteFile = file;
- fLocalTraceName = traceName;
- fDestinationFolder = destinationFolder;
- fIsOverwrite = isOverwrite;
- }
-
- // ------------------------------------------------------------------------
- // Accessors
- // ------------------------------------------------------------------------
- /**
- * @return name of traces after importing
- */
- public String getLocalTraceName() {
- return fLocalTraceName;
- }
-
- /**
- * Sets the local trace name
- *
- * @param importTraceName
- * - local name of trace to set (name after importing)
- */
- public void setLocalTraceName(String importTraceName) {
- this.fLocalTraceName = importTraceName;
- }
- /**
- * @return true if local trace should be overwritten if a trace with the same name already exists.
- */
- public boolean isOverwrite() {
- return fIsOverwrite;
- }
- /**
- * Sets the overwrite flag.
- * @param isOverwrite If the Overwrite checkbox is checked or not
- */
- public void setOverwrite(boolean isOverwrite) {
- this.fIsOverwrite = isOverwrite;
- }
-
- /**
- * @return the remote file implementation.
- */
- public IFileStore getImportFile() {
- return fRemoteFile;
- }
-
- /**
- * Sets the remote file implementation
- *
- * @param remoteFile
- * The remote file implementation.
- */
- public void setRemoteFile(IFileStore remoteFile) {
- fRemoteFile = remoteFile;
- }
-
- /**
- * Returns the destination folder to import the trace to (full workspace path).
- *
- * @return destination folder
- */
- public IFolder getDestinationFolder() {
- return fDestinationFolder;
- }
-}
-
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/dialogs/NewConnectionDialog.java b/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/dialogs/NewConnectionDialog.java
deleted file mode 100644
index 9a37496f66..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/dialogs/NewConnectionDialog.java
+++ /dev/null
@@ -1,403 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2012, 2014 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:
- * Bernd Hufmann - Initial API and implementation
- * Markus Schorn - Bug 448058: Use org.eclipse.remote in favor of RSE
- **********************************************************************/
-package org.eclipse.linuxtools.internal.lttng2.control.ui.views.dialogs;
-
-import static java.text.MessageFormat.format;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Set;
-
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IExtensionPoint;
-import org.eclipse.core.runtime.IExtensionRegistry;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jface.viewers.DoubleClickEvent;
-import org.eclipse.jface.viewers.IDoubleClickListener;
-import org.eclipse.jface.viewers.ISelectionChangedListener;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.ITreeContentProvider;
-import org.eclipse.jface.viewers.LabelProvider;
-import org.eclipse.jface.viewers.SelectionChangedEvent;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.jface.viewers.TreeViewer;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.Activator;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.messages.Messages;
-import org.eclipse.remote.core.IRemoteConnection;
-import org.eclipse.remote.core.IRemoteConnectionWorkingCopy;
-import org.eclipse.remote.core.IRemoteServices;
-import org.eclipse.remote.core.RemoteServices;
-import org.eclipse.remote.ui.IRemoteUIConnectionManager;
-import org.eclipse.remote.ui.IRemoteUIConnectionWizard;
-import org.eclipse.remote.ui.IRemoteUIServices;
-import org.eclipse.remote.ui.RemoteUIServices;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Shell;
-
-/**
- * <p>
- * Dialog box for connection information.
- * </p>
- *
- * @author Bernd Hufmann
- */
-public class NewConnectionDialog extends Dialog implements INewConnectionDialog {
-
- // ------------------------------------------------------------------------
- // Constants
- // ------------------------------------------------------------------------
- private static final String TARGET_NEW_CONNECTION_ICON_FILE = "icons/elcl16/target_add.gif"; //$NON-NLS-1$
- private static final String PROVIDERS_ICON_FILE = "icons/obj16/providers.gif"; //$NON-NLS-1$
- private static final String CONNECTION_ICON_FILE = "icons/obj16/target_connected.gif"; //$NON-NLS-1$
-
- private static final class ConnectionContentProvider implements ITreeContentProvider {
- private static final Object[] NO_CHILDREN = {};
- private static List<IRemoteServices> fProviders;
-
- @Override
- public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
- }
-
- @Override
- public void dispose() {
- }
-
- @Override
- public Object[] getElements(Object inputElement) {
- List<Object> children = new ArrayList<>();
- children.addAll(RemoteServices.getLocalServices().getConnectionManager().getConnections());
-
- List<IRemoteServices> result = getProviders();
- children.addAll(result);
- return children.toArray();
- }
-
- private static List<IRemoteServices> getProviders() {
- if (fProviders == null) {
- IExtensionRegistry registry = Platform.getExtensionRegistry();
- IExtensionPoint extensionPoint = registry.getExtensionPoint("org.eclipse.remote.core", "remoteServices"); //$NON-NLS-1$ //$NON-NLS-2$
- List<IRemoteServices> result = new ArrayList<>();
- if (extensionPoint != null) {
- Set<String> handled = new HashSet<>();
- handled.add(RemoteServices.getLocalServices().getId());
- for (IConfigurationElement ce : extensionPoint.getConfigurationElements()) {
- String id = ce.getAttribute("id"); //$NON-NLS-1$
- if (handled.add(id)) {
- IRemoteServices service = RemoteServices.getRemoteServices(id);
- if (service != null) {
- result.add(service);
- }
- }
- }
- Collections.sort(result);
- }
- fProviders = Collections.unmodifiableList(result);
- }
- return fProviders;
- }
-
- @Override
- public Object[] getChildren(Object parentElement) {
- if (parentElement instanceof IRemoteServices) {
- return getConnections((IRemoteServices) parentElement);
- }
- return NO_CHILDREN;
- }
-
- private static IRemoteConnection[] getConnections(IRemoteServices parentElement) {
- List<IRemoteConnection> connectionList = parentElement.getConnectionManager().getConnections();
- IRemoteConnection[] result = connectionList.toArray(new IRemoteConnection[connectionList.size()]);
- Arrays.sort(result);
- return result;
- }
-
- @Override
- public Object getParent(Object element) {
- if (element instanceof IRemoteConnection) {
- return ((IRemoteConnection) element).getRemoteServices();
- }
- return null;
- }
-
- @Override
- public boolean hasChildren(Object element) {
- return getChildren(element).length > 0;
- }
-
- }
-
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
- /**
- * The host combo box.
- */
- private TreeViewer fConnectionTree = null;
- /**
- * The push button for creating a new connection.
- */
- private Button fNewButton = null;
- /**
- * The push button for editing a connection.
- */
- private Button fEditButton = null;
-
- private IRemoteConnection fConnection;
-
-
- // ------------------------------------------------------------------------
- // Constructors
- // ------------------------------------------------------------------------
- /**
- * Constructor
- *
- * @param shell
- * The shell
- */
- public NewConnectionDialog(Shell shell) {
- super(shell);
- setShellStyle(SWT.RESIZE | getShellStyle());
- }
-
- // ------------------------------------------------------------------------
- // Operations
- // ------------------------------------------------------------------------
-
- @Override
- protected void configureShell(Shell newShell) {
- super.configureShell(newShell);
- newShell.setText(Messages.TraceControl_NewDialogTitle);
- newShell.setImage(Activator.getDefault().loadIcon(TARGET_NEW_CONNECTION_ICON_FILE));
- }
-
- @Override
- protected Control createContents(Composite parent) {
- Control result = super.createContents(parent);
- fConnectionTree.setAutoExpandLevel(2);
- fConnectionTree.setInput(this);
-
- List<IRemoteServices> providers = ConnectionContentProvider.getProviders();
- if (!providers.isEmpty()) {
- IRemoteServices provider = providers.get(0);
- IRemoteConnection[] connections = ConnectionContentProvider.getConnections(provider);
- if (connections.length > 0) {
- fConnectionTree.setSelection(new StructuredSelection(connections[0]));
- } else {
- fConnectionTree.setSelection(new StructuredSelection(provider));
- }
- } else {
- onSelectionChanged();
- }
- return result;
- }
-
- @Override
- protected Control createDialogArea(Composite parent) {
- // Main dialog panel
- GridData gd;
- Composite dialogComposite = new Composite(parent, SWT.NONE);
- GridLayout layout = new GridLayout(1, true);
- dialogComposite.setLayout(layout);
- dialogComposite.setLayoutData(new GridData(GridData.FILL_BOTH));
-
- Label label = new Label(dialogComposite, SWT.NONE);
- label.setText(Messages.TraceControl_NewNodeExistingConnectionGroupName);
- label.setLayoutData(gd = new GridData());
- gd.widthHint = label.computeSize(-1, -1).x + convertWidthInCharsToPixels(4);
- // Existing connections group
- fConnectionTree = new TreeViewer(dialogComposite);
- fConnectionTree.getTree().setLayoutData(gd = new GridData(SWT.FILL, SWT.FILL, true, true));
- gd.widthHint = convertWidthInCharsToPixels(40);
- gd.heightHint = convertHeightInCharsToPixels(10);
- fConnectionTree.setLabelProvider(new LabelProvider() {
- @Override
- public String getText(Object element) {
- if (element instanceof IRemoteConnection) {
- IRemoteConnection rc = (IRemoteConnection) element;
- if (rc.getRemoteServices() == RemoteServices.getLocalServices()) {
- return rc.getName();
- }
-
- return format("{0} [{1}]", rc.getName(), rc.getAddress()); //$NON-NLS-1$
- } else if (element instanceof IRemoteServices) {
- IRemoteServices rs = (IRemoteServices) element;
- return rs.getName();
- }
- return Messages.TraceControl_UnknownNode;
- }
-
- @Override
- public Image getImage(Object element) {
- if (element instanceof IRemoteConnection) {
- return Activator.getDefault().loadIcon(CONNECTION_ICON_FILE);
- }
- return Activator.getDefault().loadIcon(PROVIDERS_ICON_FILE);
- }
- });
- fConnectionTree.setContentProvider(new ConnectionContentProvider());
- fConnectionTree.addSelectionChangedListener(new ISelectionChangedListener() {
- @Override
- public void selectionChanged(SelectionChangedEvent event) {
- onSelectionChanged();
- }
- });
- fConnectionTree.addDoubleClickListener(new IDoubleClickListener() {
- @Override
- public void doubleClick(DoubleClickEvent event) {
- okPressed();
- }
- });
-
- Composite buttons = new Composite(dialogComposite, SWT.NONE);
- layout = new GridLayout(3, true);
- layout.marginHeight = layout.marginWidth = 0;
- buttons.setLayout(layout);
- buttons.setLayoutData(new GridData(SWT.END, SWT.CENTER, false, false));
-
- new Label(buttons, SWT.NONE);
-
- fEditButton = new Button(buttons, SWT.PUSH);
- fEditButton.setText(Messages.TraceControl_NewNodeEditButtonName);
- setButtonLayoutData(fEditButton);
- fEditButton.addSelectionListener(new SelectionAdapter() {
- @Override
- public void widgetSelected(SelectionEvent e) {
- onEditConnection();
- }
- });
-
- fNewButton = new Button(buttons, SWT.PUSH);
- fNewButton.setText(Messages.TraceControl_NewNodeCreateButtonText);
- setButtonLayoutData(fNewButton);
- fNewButton.addSelectionListener(new SelectionAdapter() {
- @Override
- public void widgetSelected(SelectionEvent e) {
- onNewConnection();
- }
- });
-
- return dialogComposite;
- }
-
- private void onSelectionChanged() {
- setConnection();
- getButton(OK).setEnabled(fConnection != null);
- fEditButton.setEnabled(canEdit(fConnection));
- fNewButton.setEnabled(getServiceForCreation() != null);
- }
-
- private IRemoteServices getServiceForCreation() {
- Object o = ((IStructuredSelection) fConnectionTree.getSelection()).getFirstElement();
- IRemoteServices result = null;
- if (o instanceof IRemoteServices) {
- result = (IRemoteServices) o;
- } else if (o instanceof IRemoteConnection) {
- result = ((IRemoteConnection) o).getRemoteServices();
- } else {
- return null;
- }
-
- if ((result.getCapabilities() & IRemoteServices.CAPABILITY_ADD_CONNECTIONS) == 0) {
- return null;
- }
-
- return result;
- }
-
- private static boolean canEdit(IRemoteConnection conn) {
- if (conn == null) {
- return false;
- }
- IRemoteServices rs = conn.getRemoteServices();
- return (rs.getCapabilities() & IRemoteServices.CAPABILITY_EDIT_CONNECTIONS) != 0;
- }
-
-
- private void onNewConnection() {
- IRemoteServices rs = getServiceForCreation();
- if (rs != null) {
- IRemoteUIServices uiService = RemoteUIServices.getRemoteUIServices(rs);
- if (uiService != null) {
- IRemoteUIConnectionWizard wiz = uiService.getUIConnectionManager().getConnectionWizard(getShell());
- if (wiz != null) {
- IRemoteConnectionWorkingCopy wc = wiz.open();
- if (wc != null) {
- IRemoteConnection conn = wc.save();
- if (conn != null) {
- fConnectionTree.refresh();
- fConnectionTree.setSelection(new StructuredSelection(conn), true);
- }
- }
- }
- }
- }
- }
-
- private void onEditConnection() {
- setConnection();
- if (fConnection != null) {
- IRemoteUIServices ui = RemoteUIServices.getRemoteUIServices(fConnection.getRemoteServices());
- if (ui != null) {
- IRemoteUIConnectionManager connManager = ui.getUIConnectionManager();
- if (connManager != null) {
- IRemoteUIConnectionWizard wiz = connManager.getConnectionWizard(getShell());
- wiz.setConnection(fConnection.getWorkingCopy());
- IRemoteConnectionWorkingCopy result = wiz.open();
- if (result != null) {
- result.save();
- fConnectionTree.refresh();
- }
- }
- }
- }
- }
-
- @Override
- protected void createButtonsForButtonBar(Composite parent) {
- createButton(parent, IDialogConstants.CANCEL_ID, "&Cancel", true); //$NON-NLS-1$
- createButton(parent, IDialogConstants.OK_ID, "&Ok", true); //$NON-NLS-1$
- }
-
- @Override
- protected void okPressed() {
- setConnection();
- if (fConnection != null) {
- super.okPressed();
- }
- }
-
- private void setConnection() {
- Object o = ((IStructuredSelection) fConnectionTree.getSelection()).getFirstElement();
- fConnection = o instanceof IRemoteConnection ? (IRemoteConnection)o : null;
- }
-
- @Override
- public IRemoteConnection getConnection() {
- return fConnection;
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/dialogs/OpenCommandScriptDialog.java b/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/dialogs/OpenCommandScriptDialog.java
deleted file mode 100644
index 7c1f422577..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/dialogs/OpenCommandScriptDialog.java
+++ /dev/null
@@ -1,269 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2014 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:
- * Bernd Hufmann - Initial API and implementation
- **********************************************************************/
-package org.eclipse.linuxtools.internal.lttng2.control.ui.views.dialogs;
-
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jdt.annotation.NonNull;
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.dialogs.ErrorDialog;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jface.dialogs.IDialogSettings;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.Activator;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.messages.Messages;
-import org.eclipse.linuxtools.tmf.core.io.BufferedRandomAccessFile;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.graphics.Rectangle;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Combo;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.FileDialog;
-import org.eclipse.swt.widgets.Group;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Listener;
-import org.eclipse.swt.widgets.Shell;
-
-import com.google.common.collect.ImmutableList;
-
-/**
- * <p>
- * Dialog box for selecting a command script. It parses the script and
- * provides a list of shell commands to be executed.
- * </p>
- *
- * @author Bernd Hufmann
- */
-public class OpenCommandScriptDialog extends Dialog implements ISelectCommandScriptDialog {
-
- // ------------------------------------------------------------------------
- // Constants
- // ------------------------------------------------------------------------
- /**
- * The icon file for this dialog box.
- */
- public static final String CREATE_SESSION_ICON_FILE = "icons/elcl16/add_button.gif"; //$NON-NLS-1$
-
- // Dialog settings constants
- private static final String DIALOG_SETTINGS_SECTION = "OpenCommandScriptDialog"; //$NON-NLS-1$
- private static final String FILE_NAME_ID = "STORE_FILE_NAME_ID"; //$NON-NLS-1$
- private static final int COMBO_HISTORY_LENGTH = 5;
-
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
-
- // Dialog attributes
- private Control fControl = null;
- private Composite fDialogComposite = null;
- private Button fBrowseButton;
- private Label fFileNameLabel = null;
- private Combo fFileNameCombo = null;
-
- // Output list of commands
- private List<String> fCommands = null;
-
- // ------------------------------------------------------------------------
- // Constructors
- // ------------------------------------------------------------------------
- /**
- * Constructor
- * @param shell - a shell for the display of the dialog
- */
- public OpenCommandScriptDialog(Shell shell) {
- super(shell);
- setShellStyle(SWT.RESIZE | getShellStyle());
- }
-
- // ------------------------------------------------------------------------
- // Accessors
- // ------------------------------------------------------------------------
-
- @Override
- @NonNull public List<String> getCommands() {
- if (fCommands != null) {
- return fCommands;
- }
- return new ArrayList<>();
- }
-
- // ------------------------------------------------------------------------
- // Operations
- // ------------------------------------------------------------------------
-
- @Override
- protected Control createContents(Composite parent) {
- fControl = super.createContents(parent);
-
- /* set the shell minimum size */
- Point clientArea = fControl.computeSize(SWT.DEFAULT, SWT.DEFAULT);
- Rectangle trim = getShell().computeTrim(0, 0, clientArea.x, clientArea.y);
- getShell().setMinimumSize(trim.width, trim.height);
-
- return fControl;
- }
-
- @Override
- protected void configureShell(Shell newShell) {
- super.configureShell(newShell);
- newShell.setText(Messages.TraceControl_ExecuteScriptDialogTitle);
- newShell.setImage(Activator.getDefault().loadIcon(CREATE_SESSION_ICON_FILE));
- }
-
- @Override
- protected Control createDialogArea(Composite parent) {
-
- // Main dialog panel
- fDialogComposite = new Composite(parent, SWT.NONE);
- GridLayout layout = new GridLayout(1, true);
- fDialogComposite.setLayout(layout);
- fDialogComposite.setLayoutData(new GridData(GridData.FILL_BOTH));
-
- Group sessionGroup = new Group(fDialogComposite, SWT.SHADOW_NONE);
- sessionGroup.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
- sessionGroup.setLayout(new GridLayout(6, true));
-
- fFileNameLabel = new Label(sessionGroup, SWT.RIGHT);
- fFileNameLabel.setText(Messages.TraceControl_ExecuteScriptSelectLabel);
- fFileNameCombo = new Combo(sessionGroup, SWT.BORDER);
-
- fBrowseButton = new Button(sessionGroup, SWT.PUSH);
- fBrowseButton.setText(Messages.TraceControl_ExecuteScriptBrowseText);
- fBrowseButton.addListener(SWT.Selection, new Listener() {
- @Override
- public void handleEvent(Event event) {
- handleFilePathBrowseButtonPressed(SWT.OPEN);
- }
- });
-
- // layout widgets
- GridData data = new GridData(GridData.FILL_HORIZONTAL);
- data.horizontalSpan = 1;
- data.grabExcessHorizontalSpace = false;
- fFileNameLabel.setLayoutData(data);
-
- data = new GridData(GridData.FILL_HORIZONTAL);
- data.horizontalSpan = 4;
- fFileNameCombo.setLayoutData(data);
-
- data = new GridData(GridData.FILL_HORIZONTAL);
- data.horizontalSpan = 1;
-
- // Initialize a empty list
- fCommands = new ArrayList<>();
-
- restoreWidgetValues();
-
- return fDialogComposite;
- }
-
- private void restoreWidgetValues() {
- IDialogSettings workbenchSettings = Activator.getDefault().getDialogSettings();
- IDialogSettings settings = workbenchSettings.getSection(DIALOG_SETTINGS_SECTION);
- if (settings == null) {
- settings = workbenchSettings.addNewSection(DIALOG_SETTINGS_SECTION);
- }
- String[] fileNames = settings.getArray(FILE_NAME_ID);
- if ((fileNames != null) && (fileNames.length != 0)) {
- for (int i = 0; i < fileNames.length; i++) {
- fFileNameCombo.add(fileNames[i]);
- }
- }
- }
-
- private void saveWidgetValues() {
- IDialogSettings workbenchSettings = Activator.getDefault().getDialogSettings();
- IDialogSettings settings = workbenchSettings.getSection(DIALOG_SETTINGS_SECTION);
- if (settings != null) {
- // update file names history
- String[] fileNames = settings.getArray(FILE_NAME_ID);
- if (fileNames == null) {
- fileNames = new String[0];
- }
-
- fileNames = addToHistory(fileNames, fFileNameCombo.getText().trim());
- settings.put(FILE_NAME_ID, fileNames);
- }
- }
-
- /**
- * Adds an entry to a history, while taking care of duplicate history items
- * and excessively long histories. The assumption is made that all histories
- * should be of length <code>COMBO_HISTORY_LENGTH</code>.
- *
- * @param history the current history
- * @param newEntry the entry to add to the history
- */
- private static String[] addToHistory(String[] history, String newEntry) {
- List<String> list = new ArrayList<>(Arrays.asList(history));
- list.remove(newEntry);
- list.add(0, newEntry);
-
- // since only one new item was added, we can be over the limit
- // by at most one item
- if (list.size() > COMBO_HISTORY_LENGTH) {
- list.remove(COMBO_HISTORY_LENGTH);
- }
- String[] r = new String[list.size()];
- list.toArray(r);
- return r;
- }
-
- private void handleFilePathBrowseButtonPressed(int fileDialogStyle) {
- FileDialog dialog = new FileDialog(getShell(), fileDialogStyle | SWT.SHEET);
- dialog.setFilterExtensions(new String[] { "*.*", "*.*" }); //$NON-NLS-1$ //$NON-NLS-2$
- dialog.setText(Messages.TraceControl_ExecuteScriptDialogTitle);
- String selectedFileName = dialog.open();
- if (selectedFileName != null) {
- fFileNameCombo.setText(selectedFileName);
- }
- }
-
- @Override
- protected void createButtonsForButtonBar(Composite parent) {
- createButton(parent, IDialogConstants.CANCEL_ID, IDialogConstants.CANCEL_LABEL, true);
- createButton(parent, IDialogConstants.OK_ID, IDialogConstants.OK_LABEL, true);
- }
-
- @Override
- protected void okPressed() {
- // Validate input data
- String sessionPath = fFileNameCombo.getText();
-
- if (!"".equals(sessionPath)) { //$NON-NLS-1$
-
- ImmutableList.Builder<String> builder = new ImmutableList.Builder<>();
- try (BufferedRandomAccessFile rafile = new BufferedRandomAccessFile(sessionPath, "r")) { //$NON-NLS-1$
- String line = rafile.getNextLine();
- while (line != null) {
- builder.add(line);
- line = rafile.getNextLine();
- }
- } catch (IOException e) {
- ErrorDialog.openError(getShell(), null, null, new Status(IStatus.ERROR, Activator.PLUGIN_ID, IStatus.ERROR, e.getLocalizedMessage(), e));
- return;
- }
- saveWidgetValues();
- fCommands = builder.build();
- super.okPressed();
- }
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/dialogs/TraceControlDialogFactory.java b/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/dialogs/TraceControlDialogFactory.java
deleted file mode 100644
index 58364d2471..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/dialogs/TraceControlDialogFactory.java
+++ /dev/null
@@ -1,282 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2012, 2013 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:
- * Bernd Hufmann - Initial API and implementation
- **********************************************************************/
-package org.eclipse.linuxtools.internal.lttng2.control.ui.views.dialogs;
-
-import org.eclipse.ui.PlatformUI;
-
-/**
- * <p>
- * Factory for generating dialog boxes. It allows to overwrite the dialog implementation.
- * Useful also for testing purposes.
- * </p>
- *
- * @author Bernd Hufmann
- *
- */
-public final class TraceControlDialogFactory {
-
- // ------------------------------------------------------------------------
- // Members
- // ------------------------------------------------------------------------
-
- /**
- * The factory instance.
- */
- private static TraceControlDialogFactory fInstance;
-
- /**
- * The new connection dialog reference.
- */
- private INewConnectionDialog fNewConnectionDialog;
-
- /**
- * The enable channel dialog
- */
- private IEnableChannelDialog fEnableChannelDialog;
-
- /**
- * The create session dialog.
- */
- private ICreateSessionDialog fCreateSessionDialog;
-
- /**
- * The command script selection dialog.
- */
- private ISelectCommandScriptDialog fCommandScriptDialog;
-
- /**
- * The enable events dialog.
- */
- private IEnableEventsDialog fEnableEventsDialog;
-
- /**
- * The get event info dialog.
- */
- private IGetEventInfoDialog fGetEventInfoDialog;
-
- /**
- * The confirmation dialog implementation.
- */
- private IConfirmDialog fConfirmDialog;
-
- /**
- * The add context dialog implementation.
- */
- private IAddContextDialog fAddContextDialog;
-
- /**
- * The import dialog implementation.
- */
- private IImportDialog fImportDialog;
-
- /**
- * The import confirmation dialog.
- */
- private IImportConfirmationDialog fImportConfirmationDialog;
-
- // ------------------------------------------------------------------------
- // Constructors
- // ------------------------------------------------------------------------
-
- /**
- * Constructor for R4EUIDialogFactory.
- */
- private TraceControlDialogFactory() {
- }
-
- // ------------------------------------------------------------------------
- // Operations
- // ------------------------------------------------------------------------
-
- /**
- * @return TraceControlDialogFactory instance
- */
- public static synchronized TraceControlDialogFactory getInstance() {
- if (fInstance == null) {
- fInstance = new TraceControlDialogFactory();
- }
- return fInstance;
- }
-
- /**
- * @return new connection dialog
- */
- public INewConnectionDialog getNewConnectionDialog() {
- if (fNewConnectionDialog == null) {
- fNewConnectionDialog = new NewConnectionDialog(PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell());
- }
- return fNewConnectionDialog;
- }
-
- /**
- * Sets a new connection dialog implementation.
- * @param newConnectionDialog - new connection dialog implementation
- */
- public void setNewConnectionDialog(INewConnectionDialog newConnectionDialog) {
- fNewConnectionDialog = newConnectionDialog;
- }
-
- /**
- * @return enable channel dialog
- */
- public IEnableChannelDialog getEnableChannelDialog() {
- if (fEnableChannelDialog == null) {
- fEnableChannelDialog = new EnableChannelDialog(PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell());
- }
- return fEnableChannelDialog;
- }
-
- /**
- * Sets a enable channel dialog implementation.
- * @param createEnableDialog - a create channel dialog implementation
- */
- public void setEnableChannelDialog(IEnableChannelDialog createEnableDialog) {
- fEnableChannelDialog = createEnableDialog;
- }
-
- /**
- * @return create session dialog implementation
- */
- public ICreateSessionDialog getCreateSessionDialog() {
- if (fCreateSessionDialog == null) {
- fCreateSessionDialog = new CreateSessionDialog(PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell());
- }
- return fCreateSessionDialog;
- }
-
- /**
- * @return command script selection dialog implementation
- */
- public ISelectCommandScriptDialog getCommandScriptDialog() {
- if (fCommandScriptDialog == null) {
- fCommandScriptDialog = new OpenCommandScriptDialog(PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell());
- }
- return fCommandScriptDialog;
- }
-
- /**
- * Sets a create session dialog implementation.
- * @param createSessionDialog - a create session implementation.
- */
- public void setCreateSessionDialog(ICreateSessionDialog createSessionDialog) {
- fCreateSessionDialog = createSessionDialog;
- }
-
- /**
- * @return enable events dialog implementation.
- */
- public IEnableEventsDialog getEnableEventsDialog() {
- if (fEnableEventsDialog == null) {
- fEnableEventsDialog = new EnableEventsDialog(PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell());
- }
- return fEnableEventsDialog;
- }
-
- /**
- * Sets a enable events dialog implementation.
- * @param enableEventsDialog - a enable events dialog implementation.
- */
- public void setEnableEventsDialog(IEnableEventsDialog enableEventsDialog) {
- fEnableEventsDialog = enableEventsDialog;
- }
-
- /**
- * @return get events info dialog implementation.
- */
- public IGetEventInfoDialog getGetEventInfoDialog() {
- if (fGetEventInfoDialog == null) {
- fGetEventInfoDialog = new GetEventInfoDialog(PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell());
- }
- return fGetEventInfoDialog;
- }
-
- /**
- * Sets a get events info dialog implementation.
- * @param getEventInfoDialog - a get events info dialog implementation
- */
- public void setGetEventInfoDialog(IGetEventInfoDialog getEventInfoDialog) {
- fGetEventInfoDialog = getEventInfoDialog;
- }
-
- /**
- * @return the confirmation dialog implementation
- */
- public IConfirmDialog getConfirmDialog() {
- if (fConfirmDialog == null) {
- fConfirmDialog = new ConfirmDialog();
- }
- return fConfirmDialog;
- }
-
- /**
- * Sets the confirmation dialog implementation
- * @param confirmDialog - a confirmation dialog implementation
- */
- public void setConfirmDialog(IConfirmDialog confirmDialog) {
- fConfirmDialog = confirmDialog;
- }
-
- /**
- * @return the add context dialog implementation
- */
- public IAddContextDialog getAddContextDialog() {
- if (fAddContextDialog == null) {
- fAddContextDialog = new AddContextDialog(PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell());
- }
- return fAddContextDialog;
- }
-
- /**
- * Sets the add context dialog information
- * @param addContextDialog - a add context dialog implementation
- */
- public void setAddContextDialog(IAddContextDialog addContextDialog) {
- fAddContextDialog = addContextDialog;
- }
-
- /**
- * @return the import dialog implementation
- */
- public IImportDialog getImportDialog() {
- if (fImportDialog == null) {
- fImportDialog = new ImportDialog(PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell());
- }
- return fImportDialog;
- }
-
- /**
- * Sets the import dialog implementation.
- * @param importDialog - a import dialog implementation
- */
- public void setImportDialog(IImportDialog importDialog) {
- fImportDialog = importDialog;
- }
-
- /**
- * @return the import confirmation dialog implementation.
- */
- public IImportConfirmationDialog getImportConfirmationDialog() {
- if (fImportConfirmationDialog == null) {
- fImportConfirmationDialog = new ImportConfirmationDialog(PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell());
- }
- return fImportConfirmationDialog;
- }
-
- /**
- * Sets the import confirmation dialog implementation.
- * @param confirmDialog - a import confirmation dialog implementation.
- */
- public void setImportConfirmationDialog(IImportConfirmationDialog confirmDialog) {
- fImportConfirmationDialog = confirmDialog;
- }
-}
-
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/handlers/AddContextOnChannelHandler.java b/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/handlers/AddContextOnChannelHandler.java
deleted file mode 100644
index fc3d28a4a3..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/handlers/AddContextOnChannelHandler.java
+++ /dev/null
@@ -1,90 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2012, 2013 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:
- * Bernd Hufmann - Initial API and implementation
- **********************************************************************/
-package org.eclipse.linuxtools.internal.lttng2.control.ui.views.handlers;
-
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.core.commands.ExecutionException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.TraceSessionState;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.ControlView;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.model.impl.TraceChannelComponent;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.model.impl.TraceSessionComponent;
-import org.eclipse.ui.IWorkbenchPage;
-
-/**
- * <p>
- * Command handler implementation to add contexts to a given channel and all of its events.
- * </p>
- *
- * @author Bernd Hufmann
- */
-public class AddContextOnChannelHandler extends BaseAddContextHandler {
-
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
-
- // ------------------------------------------------------------------------
- // Operations
- // ------------------------------------------------------------------------
-
- @Override
- public void addContexts(CommandParameter param, List<String> contextNames, IProgressMonitor monitor) throws ExecutionException {
- if (param instanceof ChannelCommandParameter) {
- TraceChannelComponent channel = ((ChannelCommandParameter)param).getChannel();
- channel.addContexts(contextNames, monitor);
- }
- }
-
- @Override
- public boolean isEnabled() {
- // Get workbench page for the Control View
- IWorkbenchPage page = getWorkbenchPage();
- if (page == null) {
- return false;
- }
-
- TraceChannelComponent channel = null;
- TraceSessionComponent session = null;
- ISelection selection = page.getSelection(ControlView.ID);
- if (selection instanceof StructuredSelection) {
- StructuredSelection structered = ((StructuredSelection) selection);
- for (Iterator<?> iterator = structered.iterator(); iterator.hasNext();) {
- Object element = iterator.next();
- if (element instanceof TraceChannelComponent) {
- // Add only if corresponding TraceSessionComponents is inactive and not destroyed
- TraceChannelComponent tmpChannel = (TraceChannelComponent) element;
- session = tmpChannel.getSession();
- if(session.getSessionState() == TraceSessionState.INACTIVE && !session.isDestroyed()) {
- channel = tmpChannel;
- }
- }
- }
- }
-
- boolean isEnabled = (channel != null);
- fLock.lock();
- try {
- fParam = null;
- if(isEnabled) {
- fParam = new ChannelCommandParameter(session, channel);
- }
- } finally {
- fLock.unlock();
- }
- return isEnabled;
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/handlers/AddContextOnDomainHandler.java b/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/handlers/AddContextOnDomainHandler.java
deleted file mode 100644
index d7df3133ed..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/handlers/AddContextOnDomainHandler.java
+++ /dev/null
@@ -1,98 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2012, 2013 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:
- * Bernd Hufmann - Initial API and implementation
- **********************************************************************/
-package org.eclipse.linuxtools.internal.lttng2.control.ui.views.handlers;
-
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.core.commands.ExecutionException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.TraceSessionState;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.ControlView;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.model.impl.TraceDomainComponent;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.model.impl.TraceSessionComponent;
-import org.eclipse.ui.IWorkbenchPage;
-
-/**
- * <p>
- * Command handler implementation to add contexts to all channels and all events.
- * </p>
- *
- * @author Bernd Hufmann
- */
-public class AddContextOnDomainHandler extends BaseAddContextHandler {
-
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
-
- // ------------------------------------------------------------------------
- // Operations
- // ------------------------------------------------------------------------
-
- @Override
- public void addContexts(CommandParameter param, List<String> contextNames, IProgressMonitor monitor) throws ExecutionException {
- if (param instanceof DomainCommandParameter) {
- TraceDomainComponent domain = ((DomainCommandParameter)param).getDomain();
- domain.addContexts(contextNames, monitor);
- }
- }
-
- @Override
- public boolean isEnabled() {
-
- // Get workbench page for the Control View
- IWorkbenchPage page = getWorkbenchPage();
- if (page == null) {
- return false;
- }
-
- TraceDomainComponent domain = null;
- TraceSessionComponent session = null;
-
- // Check if one domain is selected
- ISelection selection = page.getSelection(ControlView.ID);
- if (selection instanceof StructuredSelection) {
- StructuredSelection structered = ((StructuredSelection) selection);
- for (Iterator<?> iterator = structered.iterator(); iterator.hasNext();) {
- Object element = iterator.next();
- if (element instanceof TraceDomainComponent) {
- TraceDomainComponent tmpDomain = (TraceDomainComponent) element;
- session = (TraceSessionComponent) tmpDomain.getParent();
-
- // Add only TraceDomainComponent whose TraceSessionComponent parent is inactive and not destroyed
- if ((session.getSessionState() == TraceSessionState.INACTIVE) && (!session.isDestroyed())) {
- domain = tmpDomain;
- }
- }
- }
- }
-
- boolean isEnabled = domain != null;
-
- fLock.lock();
- try {
- fParam = null;
- if (isEnabled) {
- fParam = new DomainCommandParameter(session, domain);
- }
- } finally {
- fLock.unlock();
- }
-
- return isEnabled;
- }
-
-
-}
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/handlers/AddContextOnEventHandler.java b/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/handlers/AddContextOnEventHandler.java
deleted file mode 100644
index 62edf0a39f..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/handlers/AddContextOnEventHandler.java
+++ /dev/null
@@ -1,90 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2012, 2013 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:
- * Bernd Hufmann - Initial API and implementation
- **********************************************************************/
-package org.eclipse.linuxtools.internal.lttng2.control.ui.views.handlers;
-
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.core.commands.ExecutionException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.TraceSessionState;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.ControlView;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.model.impl.TraceEventComponent;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.model.impl.TraceSessionComponent;
-import org.eclipse.ui.IWorkbenchPage;
-
-/**
- * <p>
- * Command handler implementation to add contexts to a given event.
- * </p>
- *
- * @author Bernd Hufmann
- */
-public class AddContextOnEventHandler extends BaseAddContextHandler {
-
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
-
- // ------------------------------------------------------------------------
- // Operations
- // ------------------------------------------------------------------------
-
- @Override
- public void addContexts(CommandParameter param, List<String> contextNames, IProgressMonitor monitor) throws ExecutionException {
- if (param instanceof EventCommandParameter) {
- TraceEventComponent event = ((EventCommandParameter)param).getEvent();
- event.addContexts(contextNames, monitor);
- }
- }
-
- @Override
- public boolean isEnabled() {
- // Get workbench page for the Control View
- IWorkbenchPage page = getWorkbenchPage();
- if (page == null) {
- return false;
- }
-
- TraceEventComponent event = null;
- TraceSessionComponent session = null;
- ISelection selection = page.getSelection(ControlView.ID);
- if (selection instanceof StructuredSelection) {
- StructuredSelection structered = ((StructuredSelection) selection);
- for (Iterator<?> iterator = structered.iterator(); iterator.hasNext();) {
- Object element = iterator.next();
- if (element instanceof TraceEventComponent) {
- // Add only if corresponding TraceSessionComponents is inactive and not destroyed
- TraceEventComponent tmpEvent = (TraceEventComponent) element;
- session = tmpEvent.getSession();
- if(session.getSessionState() == TraceSessionState.INACTIVE && !session.isDestroyed()) {
- event = tmpEvent;
- }
- }
- }
- }
-
- boolean isEnabled = (event != null);
- fLock.lock();
- try {
- fParam = null;
- if(isEnabled) {
- fParam = new EventCommandParameter(session, event);
- }
- } finally {
- fLock.unlock();
- }
- return isEnabled;
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/handlers/AssignEventHandler.java b/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/handlers/AssignEventHandler.java
deleted file mode 100644
index 39ba8fefad..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/handlers/AssignEventHandler.java
+++ /dev/null
@@ -1,253 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2012, 2014 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:
- * Bernd Hufmann - Initial API and implementation
- * Bernd Hufmann - Updated for support of LTTng Tools 2.1
- **********************************************************************/
-package org.eclipse.linuxtools.internal.lttng2.control.ui.views.handlers;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.core.commands.ExecutionEvent;
-import org.eclipse.core.commands.ExecutionException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.core.runtime.jobs.Job;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.jface.window.Window;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.Activator;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.ControlView;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.dialogs.IGetEventInfoDialog;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.dialogs.TraceControlDialogFactory;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.messages.Messages;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.model.ITraceControlComponent;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.model.impl.BaseEventComponent;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.model.impl.KernelProviderComponent;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.model.impl.TargetNodeComponent;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.model.impl.TraceChannelComponent;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.model.impl.TraceSessionComponent;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.model.impl.UstProviderComponent;
-import org.eclipse.ui.IWorkbenchPage;
-
-/**
- * <p>
- * Command handler implementation to assign events to a session and channel and enable/configure them.
- * This is done on the trace provider level.
- * </p>
- *
- * @author Bernd Hufmann
- */
-public class AssignEventHandler extends BaseControlViewHandler {
-
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
-
- /**
- * The command execution parameter.
- */
- private Parameter fParam;
-
- // ------------------------------------------------------------------------
- // Operations
- // ------------------------------------------------------------------------
-
- @Override
- public Object execute(ExecutionEvent event) throws ExecutionException {
-
- fLock.lock();
- try {
- // Make a copy for thread safety
- final Parameter param = new Parameter(fParam);
-
- // Open dialog box to retrieve the session and channel where the events should be enabled in.
- final IGetEventInfoDialog dialog = TraceControlDialogFactory.getInstance().getGetEventInfoDialog();
- dialog.setIsKernel(param.isKernel());
- dialog.setSessions(param.getSessions());
-
- if (dialog.open() != Window.OK) {
- return null;
- }
-
- Job job = new Job(Messages.TraceControl_EnableEventsJob) {
- @Override
- protected IStatus run(IProgressMonitor monitor) {
-
- Exception error = null;
-
- try {
- List<String> eventNames = new ArrayList<>();
- List<BaseEventComponent> events = param.getEvents();
- // Create list of event names
- for (Iterator<BaseEventComponent> iterator = events.iterator(); iterator.hasNext();) {
- BaseEventComponent baseEvent = iterator.next();
- eventNames.add(baseEvent.getName());
- }
-
- TraceChannelComponent channel = dialog.getChannel();
- if (channel == null) {
- // enable events on default channel (which will be created by lttng-tools)
- dialog.getSession().enableEvents(eventNames, param.isKernel(), dialog.getFilterExpression(), monitor);
- } else {
- channel.enableEvents(eventNames, dialog.getFilterExpression(), monitor);
- }
-
- } catch (ExecutionException e) {
- error = e;
- }
-
- // refresh in all cases
- refresh(new CommandParameter(dialog.getSession()));
-
- if (error != null) {
- return new Status(IStatus.ERROR, Activator.PLUGIN_ID, Messages.TraceControl_EnableEventsFailure, error);
- }
- return Status.OK_STATUS;
- }
- };
- job.setUser(true);
- job.schedule();
- } finally {
- fLock.unlock();
- }
-
- return null;
- }
-
- @Override
- public boolean isEnabled() {
- ArrayList<BaseEventComponent> events = new ArrayList<>();
- TraceSessionComponent[] sessions = null;
- Boolean isKernel = null;
-
- // Get workbench page for the Control View
- IWorkbenchPage page = getWorkbenchPage();
- if (page == null) {
- return false;
- }
-
- // Check if one or more session are selected
- ISelection selection = page.getSelection(ControlView.ID);
- if (selection instanceof StructuredSelection) {
-
- StructuredSelection structered = ((StructuredSelection) selection);
- for (Iterator<?> iterator = structered.iterator(); iterator.hasNext();) {
- Object element = iterator.next();
- if (element instanceof BaseEventComponent) {
- BaseEventComponent event = (BaseEventComponent) element;
- ITraceControlComponent provider = event.getParent();
-
- // check for kernel or UST provider
- boolean temp = false;
- if (provider instanceof KernelProviderComponent) {
- temp = true;
- } else if (provider instanceof UstProviderComponent) {
- temp = false;
- } else {
- return false;
- }
- if (isKernel == null) {
- isKernel = Boolean.valueOf(temp);
- } else {
- // don't mix events from Kernel and UST provider
- if (isKernel.booleanValue() != temp) {
- return false;
- }
- }
-
- // Add BaseEventComponents
- events.add(event);
-
- if (sessions == null) {
- TargetNodeComponent root = (TargetNodeComponent)event.getParent().getParent().getParent();
- sessions = root.getSessions();
- }
- }
- }
- }
-
- boolean isEnabled = ((!events.isEmpty()) && (sessions != null) && (sessions.length > 0));
-
- // To avoid compiler warnings check for null even if isKernel is always not null when used below
- if (isKernel == null) {
- return false;
- }
-
- fLock.lock();
- try {
- fParam = null;
- if(isEnabled) {
- fParam = new Parameter(sessions, events, isKernel);
- }
- } finally {
- fLock.unlock();
- }
- return isEnabled;
- }
-
- /**
- * Class containing parameter for the command execution.
- */
- private static final class Parameter {
-
- /**
- * The list of event components the command is to be executed on.
- */
- private final List<BaseEventComponent> fEvents;
-
- /**
- * The list of available sessions.
- */
- final private TraceSessionComponent[] fSessions;
-
- /**
- * Flag for indicating Kernel or UST.
- */
- private final boolean fIsKernel;
-
- /**
- * Constructor
- *
- * @param sessions - a array of trace sessions
- * @param events - a lists of events to enable
- * @param isKernel - domain (true for kernel or UST)
- */
- public Parameter(TraceSessionComponent[] sessions, List<BaseEventComponent> events, boolean isKernel) {
- fSessions = Arrays.copyOf(sessions, sessions.length);
- fEvents = new ArrayList<>();
- fEvents.addAll(events);
- fIsKernel = isKernel;
- }
-
- /**
- * Copy constructor
- * @param other - a parameter to copy
- */
- public Parameter(Parameter other) {
- this(other.fSessions, other.fEvents, other.fIsKernel);
- }
-
- public TraceSessionComponent[] getSessions() {
- return fSessions;
- }
-
- public List<BaseEventComponent> getEvents() {
- return fEvents;
- }
-
- public boolean isKernel() {
- return fIsKernel;
- }
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/handlers/BaseAddContextHandler.java b/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/handlers/BaseAddContextHandler.java
deleted file mode 100644
index bba85505b6..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/handlers/BaseAddContextHandler.java
+++ /dev/null
@@ -1,132 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2012, 2013 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:
- * Bernd Hufmann - Initial API and implementation
- **********************************************************************/
-package org.eclipse.linuxtools.internal.lttng2.control.ui.views.handlers;
-
-import java.util.List;
-
-import org.eclipse.core.commands.ExecutionEvent;
-import org.eclipse.core.commands.ExecutionException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.core.runtime.jobs.Job;
-import org.eclipse.jface.window.Window;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.Activator;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.dialogs.IAddContextDialog;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.dialogs.TraceControlDialogFactory;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.messages.Messages;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.progress.UIJob;
-
-/**
- * <p>
- * Base command handler implementation to add contexts.
- * </p>
- *
- * @author Bernd Hufmann
- */
-public abstract class BaseAddContextHandler extends BaseControlViewHandler {
-
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
-
- /**
- * The command execution parameter.
- */
- protected CommandParameter fParam = null;
-
- // ------------------------------------------------------------------------
- // Operations
- // ------------------------------------------------------------------------
-
- /**
- * Adds contexts to channel(s) and/or event(s)
- *
- * @param param
- * - a parameter instance with data for the command execution
- * @param contextNames
- * - list contexts to add
- * @param monitor
- * - a progress monitor
- * @throws ExecutionException
- * If something goes wrong
- */
- public abstract void addContexts(CommandParameter param, List<String> contextNames, IProgressMonitor monitor) throws ExecutionException;
-
- @Override
- public Object execute(ExecutionEvent event) throws ExecutionException {
-
- final IWorkbenchWindow window = PlatformUI.getWorkbench().getActiveWorkbenchWindow();
-
- if (window == null) {
- return false;
- }
- fLock.lock();
- try {
- // Make a copy for thread safety
- final CommandParameter param = fParam.clone();
-
- UIJob getJob = new UIJob(Messages.TraceControl_GetContextJob) {
- @Override
- public IStatus runInUIThread(IProgressMonitor monitor) {
-
- try {
- final List<String> availableContexts = param.getSession().getContextList(monitor);
- final IAddContextDialog dialog = TraceControlDialogFactory.getInstance().getAddContextDialog();
- dialog.setAvalibleContexts(availableContexts);
-
- if ((dialog.open() != Window.OK) || (dialog.getContexts().isEmpty())) {
- return Status.OK_STATUS;
- }
-
- Job addJob = new Job(Messages.TraceControl_AddContextJob) {
- @Override
- protected IStatus run(IProgressMonitor monitor2) {
- Exception error = null;
-
- try {
- List<String> contextNames = dialog.getContexts();
- addContexts(param, contextNames, monitor2);
-
- } catch (ExecutionException e) {
- error = e;
- }
-
- // get session configuration in all cases
- refresh(param);
-
- if (error != null) {
- return new Status(IStatus.ERROR, Activator.PLUGIN_ID, Messages.TraceControl_AddContextFailure, error);
- }
- return Status.OK_STATUS;
- }
- };
- addJob.setUser(true);
- addJob.schedule();
- } catch (ExecutionException e) {
- return new Status(IStatus.ERROR, Activator.PLUGIN_ID, Messages.TraceControl_GetContextFailure, e);
- }
-
- return Status.OK_STATUS;
- }
- };
- getJob.setUser(false);
- getJob.schedule();
-
- } finally {
- fLock.unlock();
- }
- return null;
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/handlers/BaseControlViewHandler.java b/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/handlers/BaseControlViewHandler.java
deleted file mode 100644
index 8f36de1e6f..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/handlers/BaseControlViewHandler.java
+++ /dev/null
@@ -1,94 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2012, 2013 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:
- * Bernd Hufmann - Initial API and implementation
- **********************************************************************/
-package org.eclipse.linuxtools.internal.lttng2.control.ui.views.handlers;
-
-import java.util.concurrent.locks.ReentrantLock;
-
-import org.eclipse.core.commands.AbstractHandler;
-import org.eclipse.core.commands.ExecutionException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.core.runtime.jobs.Job;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.Activator;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.ControlView;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.messages.Messages;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.PlatformUI;
-
-/**
- * <p>
- * Abstract Command handler implementation for all control view handlers.
- * </p>
- *
- * @author Bernd Hufmann
- */
-public abstract class BaseControlViewHandler extends AbstractHandler {
-
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
- /**
- * The synchronization lock.
- */
- protected final ReentrantLock fLock = new ReentrantLock();
-
- // ------------------------------------------------------------------------
- // Operations
- // ------------------------------------------------------------------------
- /**
- * @return returns the workbench page for the Control View
- */
- protected IWorkbenchPage getWorkbenchPage() {
- // Check if we are closing down
- IWorkbenchWindow window = PlatformUI.getWorkbench().getActiveWorkbenchWindow();
- if (window == null) {
- return null;
- }
-
- // Check if we are in the Project View
- IWorkbenchPage page = window.getActivePage();
- if (page == null) {
- return null;
- }
-
- IWorkbenchPart part = page.getActivePart();
- if (!(part instanceof ControlView)) {
- return null;
- }
- return page;
- }
-
- /**
- * Refreshes the session information based on given session (in CommandParameter)
- * @param param - command parameter containing the session to refresh
- */
- protected void refresh(final CommandParameter param) {
- Job job = new Job(Messages.TraceControl_RetrieveNodeConfigurationJob) {
-
- @Override
- protected IStatus run(IProgressMonitor monitor) {
- try {
- param.getSession().getConfigurationFromNode(monitor);
- } catch (ExecutionException e) {
- return new Status(IStatus.ERROR, Activator.PLUGIN_ID, Messages.TraceControl_ListSessionFailure, e);
- }
- return Status.OK_STATUS;
- }
- };
- job.setUser(true);
- job.schedule();
- }
-
-} \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/handlers/BaseEnableChannelHandler.java b/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/handlers/BaseEnableChannelHandler.java
deleted file mode 100644
index 0b3f65d9a2..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/handlers/BaseEnableChannelHandler.java
+++ /dev/null
@@ -1,124 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2012, 2014 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:
- * Bernd Hufmann - Initial API and implementation
- **********************************************************************/
-package org.eclipse.linuxtools.internal.lttng2.control.ui.views.handlers;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.commands.ExecutionEvent;
-import org.eclipse.core.commands.ExecutionException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.core.runtime.jobs.Job;
-import org.eclipse.jface.window.Window;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.IChannelInfo;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.Activator;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.dialogs.IEnableChannelDialog;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.dialogs.TraceControlDialogFactory;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.messages.Messages;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.model.impl.TraceDomainComponent;
-
-/**
- * <p>
- * Base implementation of a command handler to enable a trace channel.
- * </p>
- *
- * @author Bernd Hufmann
- */
-abstract class BaseEnableChannelHandler extends BaseControlViewHandler {
-
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
- protected CommandParameter fParam;
-
- // ------------------------------------------------------------------------
- // Operations
- // ------------------------------------------------------------------------
-
- /**
- * Enables channels with given names which are part of this domain. If a
- * given channel doesn't exists it creates a new channel with the given
- * parameters (or default values if given parameter is null).
- *
- * @param param
- * - a parameter instance with data for the command execution
- * @param channelNames
- * - a list of channel names to enable on this domain
- * @param info
- * - channel information to set for the channel (use null for
- * default)
- * @param isKernel
- * - a flag for indicating kernel or UST.
- * @param monitor
- * - a progress monitor
- * @throws ExecutionException
- * If something goes wrong when enabling the channel
- */
- public abstract void enableChannel(CommandParameter param,
- List<String> channelNames, IChannelInfo info, boolean isKernel,
- IProgressMonitor monitor) throws ExecutionException;
-
- /**
- * @param param - a parameter instance with data for the command execution
- * @return returns the relevant domain (null if domain is not known)
- */
- public abstract TraceDomainComponent getDomain(CommandParameter param);
-
- @Override
- public Object execute(ExecutionEvent event) throws ExecutionException {
- fLock.lock();
- try {
- final CommandParameter param = fParam.clone();
-
- final IEnableChannelDialog dialog = TraceControlDialogFactory.getInstance().getEnableChannelDialog();
- dialog.setTargetNodeComponent(param.getSession().getTargetNode());
- dialog.setDomainComponent(getDomain(param));
- dialog.setHasKernel(param.getSession().hasKernelProvider());
-
- if (dialog.open() != Window.OK) {
- return null;
- }
-
- Job job = new Job(Messages.TraceControl_CreateChannelStateJob) {
- @Override
- protected IStatus run(IProgressMonitor monitor) {
- Exception error = null;
-
- List<String> channelNames = new ArrayList<>();
- channelNames.add(dialog.getChannelInfo().getName());
-
- try {
- enableChannel(param, channelNames, dialog.getChannelInfo(), dialog.isKernel(), monitor);
- } catch (ExecutionException e) {
- error = e;
- }
-
- // refresh in all cases
- refresh(param);
-
- if (error != null) {
- return new Status(IStatus.ERROR, Activator.PLUGIN_ID, Messages.TraceControl_CreateChannelStateFailure, error);
- }
- return Status.OK_STATUS;
- }
- };
- job.setUser(true);
- job.schedule();
- } finally {
- fLock.unlock();
- }
- return null;
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/handlers/BaseEnableEventHandler.java b/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/handlers/BaseEnableEventHandler.java
deleted file mode 100644
index d4a39e90f7..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/handlers/BaseEnableEventHandler.java
+++ /dev/null
@@ -1,227 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2012, 2013 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:
- * Bernd Hufmann - Initial API and implementation
- * Bernd Hufmann - Updated for support of LTTng Tools 2.1
- **********************************************************************/
-package org.eclipse.linuxtools.internal.lttng2.control.ui.views.handlers;
-
-import java.util.List;
-
-import org.eclipse.core.commands.ExecutionEvent;
-import org.eclipse.core.commands.ExecutionException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.core.runtime.jobs.Job;
-import org.eclipse.jface.window.Window;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.LogLevelType;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.TraceLogLevel;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.Activator;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.dialogs.IEnableEventsDialog;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.dialogs.TraceControlDialogFactory;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.messages.Messages;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.model.ITraceControlComponent;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.model.impl.TargetNodeComponent;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.model.impl.TraceDomainComponent;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.model.impl.TraceProviderGroup;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.PlatformUI;
-
-/**
- * <p>
- * Base command handler implementation to enable events.
- * </p>
- *
- * @author Bernd Hufmann
- */
-public abstract class BaseEnableEventHandler extends BaseControlViewHandler {
-
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
- /**
- * The command execution parameter.
- */
- protected CommandParameter fParam = null;
-
- // ------------------------------------------------------------------------
- // Operations
- // ------------------------------------------------------------------------
-
- /**
- * Enables a list of events for given parameters.
- *
- * @param param
- * - a parameter instance with data for the command execution
- * @param eventNames
- * - list of event names
- * @param isKernel
- * - true if kernel domain else false
- * @param filterExpression
- * - a filter expression
- * @param monitor
- * - a progress monitor
- * @throws ExecutionException
- * If the command fails for some reason
- */
- public abstract void enableEvents(CommandParameter param, List<String> eventNames, boolean isKernel, String filterExpression, IProgressMonitor monitor) throws ExecutionException;
-
- /**
- * Enables all syscall events.
- *
- * @param param
- * - a parameter instance with data for the command execution
- * @param monitor
- * - a progress monitor
- * @throws ExecutionException
- * If the command fails for some reason
- */
- public abstract void enableSyscalls(CommandParameter param, IProgressMonitor monitor) throws ExecutionException;
-
- /**
- * Enables a dynamic probe.
- *
- * @param param
- * - a parameter instance with data for the command execution
- * @param eventName
- * - a event name
- * @param isFunction
- * - true for dynamic function entry/return probe else false
- * @param probe
- * - a dynamic probe information
- * @param monitor
- * - a progress monitor
- * @throws ExecutionException
- * If the command fails for some reason
- */
- public abstract void enableProbe(CommandParameter param, String eventName, boolean isFunction, String probe, IProgressMonitor monitor) throws ExecutionException;
-
- /**
- * Enables events using log level
- *
- * @param param
- * - a parameter instance with data for the command execution
- * @param eventName
- * - a event name
- * @param logLevelType
- * - a log level type
- * @param level
- * - a log level
- * @param filterExpression
- * - a filter expression
- * @param monitor
- * - a progress monitor
- * @throws ExecutionException
- * If the command fails for some reason
- */
- public abstract void enableLogLevel(CommandParameter param, String eventName, LogLevelType logLevelType, TraceLogLevel level, String filterExpression, IProgressMonitor monitor) throws ExecutionException;
-
- /**
- * @param param
- * - a parameter instance with data for the command execution
- * @return returns the relevant domain (null if domain is not known)
- */
- public abstract TraceDomainComponent getDomain(CommandParameter param);
-
- @Override
- public Object execute(ExecutionEvent event) throws ExecutionException {
-
- final IWorkbenchWindow window = PlatformUI.getWorkbench().getActiveWorkbenchWindow();
-
- if (window == null) {
- return false;
- }
- fLock.lock();
- try {
- // Make a copy for thread safety
- final CommandParameter param = fParam.clone();
-
- TargetNodeComponent node = param.getSession().getTargetNode();
- List<ITraceControlComponent> providers = node.getChildren(TraceProviderGroup.class);
-
- final IEnableEventsDialog dialog = TraceControlDialogFactory.getInstance().getEnableEventsDialog();
- dialog.setTraceProviderGroup((TraceProviderGroup)providers.get(0));
- dialog.setTraceDomainComponent(getDomain(param));
-
- if (dialog.open() != Window.OK) {
- return null;
- }
-
- Job job = new Job(Messages.TraceControl_ChangeEventStateJob) {
- @Override
- protected IStatus run(IProgressMonitor monitor) {
- Exception error = null;
-
- try {
- String filter = dialog.getFilterExpression();
-
- // Enable tracepoint events
- if (dialog.isTracepoints()) {
- if (dialog.isAllTracePoints()) {
- enableEvents(param, null, dialog.isKernel(), filter, monitor);
- } else {
- List<String> eventNames = dialog.getEventNames();
- if (!eventNames.isEmpty()) {
- enableEvents(param, eventNames, dialog.isKernel(), filter, monitor);
- }
- }
- }
-
- // Enable syscall events
- if (dialog.isAllSysCalls()) {
- enableSyscalls(param, monitor);
- }
-
- // Enable dynamic probe
- if (dialog.isDynamicProbe() && (dialog.getProbeEventName() != null) && (dialog.getProbeName() != null)) {
- enableProbe(param, dialog.getProbeEventName(), false, dialog.getProbeName(), monitor);
- }
-
- // Enable dynamic function probe
- if (dialog.isDynamicFunctionProbe() && (dialog.getFunctionEventName() != null) && (dialog.getFunction() != null)) {
- enableProbe(param, dialog.getFunctionEventName(), true, dialog.getFunction(), monitor);
- }
-
- // Enable event using a wildcard
- if (dialog.isWildcard()) {
- List<String> eventNames = dialog.getEventNames();
- eventNames.add(dialog.getWildcard());
-
- if (!eventNames.isEmpty()) {
- enableEvents(param, eventNames, dialog.isKernel(), filter, monitor);
- }
- }
-
- // Enable events using log level
- if (dialog.isLogLevel()) {
- enableLogLevel(param, dialog.getLogLevelEventName(), dialog.getLogLevelType(), dialog.getLogLevel(), filter, monitor);
- }
-
- } catch (ExecutionException e) {
- error = e;
- }
-
- // refresh in all cases
- refresh(param);
-
- if (error != null) {
- return new Status(IStatus.ERROR, Activator.PLUGIN_ID, Messages.TraceControl_ChangeEventStateFailure, error);
- }
- return Status.OK_STATUS;
- }
- };
- job.setUser(true);
- job.schedule();
- } finally {
- fLock.unlock();
- }
- return null;
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/handlers/BaseNodeHandler.java b/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/handlers/BaseNodeHandler.java
deleted file mode 100644
index e3f234c631..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/handlers/BaseNodeHandler.java
+++ /dev/null
@@ -1,70 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2012, 2013 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:
- * Bernd Hufmann - Initial API and implementation
- **********************************************************************/
-package org.eclipse.linuxtools.internal.lttng2.control.ui.views.handlers;
-
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.ControlView;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.model.impl.TargetNodeComponent;
-import org.eclipse.ui.IWorkbenchPage;
-
-/**
- * <p>
- * Command handler implementation to delete a target host.
- * </p>
- *
- * @author Bernd Hufmann
- */
-public abstract class BaseNodeHandler extends BaseControlViewHandler {
-
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
- /**
- * The target node component the command is to be executed on.
- */
- protected TargetNodeComponent fTargetNode = null;
-
- // ------------------------------------------------------------------------
- // Operations
- // ------------------------------------------------------------------------
-
- @Override
- public boolean isEnabled() {
-
- // Get workbench page for the Control View
- IWorkbenchPage page = getWorkbenchPage();
- if (page == null) {
- return false;
- }
-
- TargetNodeComponent node = null;
- // Check if the node component is selected
- ISelection selection = page.getSelection(ControlView.ID);
- if (selection instanceof StructuredSelection) {
- Object element = ((StructuredSelection) selection).getFirstElement();
- node = (element instanceof TargetNodeComponent) ? (TargetNodeComponent) element : null;
- }
- boolean isEnabled = node != null;
- fLock.lock();
- try {
- if (isEnabled) {
- fTargetNode = node;
- }
- } finally {
- fLock.unlock();
- }
- return isEnabled;
- }
-
-
-} \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/handlers/CalibrateHandler.java b/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/handlers/CalibrateHandler.java
deleted file mode 100644
index 521c2ee86a..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/handlers/CalibrateHandler.java
+++ /dev/null
@@ -1,132 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2012, 2013 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:
- * Bernd Hufmann - Initial API and implementation
- **********************************************************************/
-package org.eclipse.linuxtools.internal.lttng2.control.ui.views.handlers;
-
-import java.util.Iterator;
-
-import org.eclipse.core.commands.ExecutionEvent;
-import org.eclipse.core.commands.ExecutionException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.core.runtime.jobs.Job;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.Activator;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.ControlView;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.messages.Messages;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.model.impl.TraceDomainComponent;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.model.impl.TraceSessionComponent;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.PlatformUI;
-
-/**
- * <p>
- * Command handler implementation to execute command calibrate to quantify LTTng overhead.
- * </p>
- *
- * @author Bernd Hufmann
- */
-public class CalibrateHandler extends BaseControlViewHandler {
-
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
- /**
- * The command execution parameter.
- */
- protected DomainCommandParameter fParam = null;
-
- // ------------------------------------------------------------------------
- // Operations
- // ------------------------------------------------------------------------
-
- @Override
- public Object execute(ExecutionEvent event) throws ExecutionException {
-
- final IWorkbenchWindow window = PlatformUI.getWorkbench().getActiveWorkbenchWindow();
-
- if (window == null) {
- return false;
- }
- fLock.lock();
- try {
- // Make a copy for thread safety
- final DomainCommandParameter param = fParam.clone();
-
- Job addJob = new Job(Messages.TraceControl_AddCalibrateJob) {
- @Override
- protected IStatus run(IProgressMonitor monitor) {
- try {
- param.getDomain().calibrate(monitor);
- } catch (ExecutionException e) {
- return new Status(IStatus.ERROR, Activator.PLUGIN_ID, Messages.TraceControl_AddCalibrateFailure, e);
- }
-
- return Status.OK_STATUS;
- }
- };
- addJob.setUser(true);
- addJob.schedule();
-
- } finally {
- fLock.unlock();
- }
- return Status.OK_STATUS;
- }
-
- @Override
- public boolean isEnabled() {
-
- // Get workbench page for the Control View
- IWorkbenchPage page = getWorkbenchPage();
- if (page == null) {
- return false;
- }
-
- TraceDomainComponent domain = null;
- TraceSessionComponent session = null;
-
- // Check if one domain is selected
- ISelection selection = page.getSelection(ControlView.ID);
- if (selection instanceof StructuredSelection) {
- StructuredSelection structered = ((StructuredSelection) selection);
- for (Iterator<?> iterator = structered.iterator(); iterator.hasNext();) {
- Object element = iterator.next();
- if (element instanceof TraceDomainComponent) {
- TraceDomainComponent tmpDomain = (TraceDomainComponent) element;
- session = (TraceSessionComponent) tmpDomain.getParent();
-
- // Add only TraceDomainComponent whose TraceSessionComponent parent is not destroyed
- if ((!session.isDestroyed())) {
- domain = tmpDomain;
- }
- }
- }
- }
-
- boolean isEnabled = domain != null;
-
- fLock.lock();
- try {
- fParam = null;
- if (isEnabled) {
- fParam = new DomainCommandParameter(session, domain);
- }
- } finally {
- fLock.unlock();
- }
-
- return isEnabled;
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/handlers/ChangeChannelStateHandler.java b/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/handlers/ChangeChannelStateHandler.java
deleted file mode 100644
index 125f06378a..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/handlers/ChangeChannelStateHandler.java
+++ /dev/null
@@ -1,303 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2012, 2014 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:
- * Bernd Hufmann - Initial API and implementation
- **********************************************************************/
-package org.eclipse.linuxtools.internal.lttng2.control.ui.views.handlers;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.core.commands.ExecutionEvent;
-import org.eclipse.core.commands.ExecutionException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.core.runtime.jobs.Job;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.TraceEnablement;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.Activator;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.ControlView;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.messages.Messages;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.model.impl.TraceChannelComponent;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.model.impl.TraceDomainComponent;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.model.impl.TraceSessionComponent;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.PlatformUI;
-
-/**
- * <p>
- * Abstract command handler implementation to enable or disabling a trace channel.
- * </p>
- *
- * @author Bernd Hufmann
- */
-public abstract class ChangeChannelStateHandler extends BaseControlViewHandler {
-
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
- /**
- * The command execution parameter.
- */
- protected Parameter fParam;
-
- // ------------------------------------------------------------------------
- // Accessors
- // ------------------------------------------------------------------------
- /**
- * @return the new state to set
- */
- protected abstract TraceEnablement getNewState();
-
- // ------------------------------------------------------------------------
- // Operations
- // ------------------------------------------------------------------------
- /**
- * Changes the state of the given channels.
- * @param domain - the domain of the channels.
- * @param channelNames - a list of channel names
- * @param monitor - a progress monitor
- * @throws ExecutionException If the command fails
- */
- protected abstract void changeState(TraceDomainComponent domain, List<String> channelNames, IProgressMonitor monitor) throws ExecutionException;
-
- @Override
- public Object execute(ExecutionEvent event) throws ExecutionException {
-
- fLock.lock();
- try {
- IWorkbenchWindow window = PlatformUI.getWorkbench().getActiveWorkbenchWindow();
-
- if (window == null) {
- return false;
- }
-
- final Parameter param = new Parameter(fParam);
-
- Job job = new Job(Messages.TraceControl_ChangeChannelStateJob) {
- @Override
- protected IStatus run(IProgressMonitor monitor) {
- Exception error = null;
-
- TraceSessionComponent session = null;
-
- try {
- TraceDomainComponent kernelDomain = param.getKernelDomain();
- List<TraceChannelComponent> kernelChannels = param.getKernelChannels();
-
- if (kernelDomain != null) {
- session = (TraceSessionComponent)kernelDomain.getParent();
- List<String> channelNames = new ArrayList<>();
- for (Iterator<TraceChannelComponent> iterator = kernelChannels.iterator(); iterator.hasNext();) {
- // Enable all selected channels which are disabled
- TraceChannelComponent channel = iterator.next();
- channelNames.add(channel.getName());
- }
-
- changeState(kernelDomain, channelNames, monitor);
-
- for (Iterator<TraceChannelComponent> iterator = kernelChannels.iterator(); iterator.hasNext();) {
- // Enable all selected channels which are disabled
- TraceChannelComponent channel = iterator.next();
- channel.setState(getNewState());
- }
- }
-
- TraceDomainComponent ustDomain = param.getUstDomain();
- List<TraceChannelComponent> ustChannels = param.getUstChannels();
- if (ustDomain != null) {
- if (session == null) {
- session = (TraceSessionComponent)ustDomain.getParent();
- }
-
- List<String> channelNames = new ArrayList<>();
- for (Iterator<TraceChannelComponent> iterator = ustChannels.iterator(); iterator.hasNext();) {
- // Enable all selected channels which are disabled
- TraceChannelComponent channel = iterator.next();
- channelNames.add(channel.getName());
- }
-
- changeState(ustDomain, channelNames, monitor);
-
- for (Iterator<TraceChannelComponent> iterator = ustChannels.iterator(); iterator.hasNext();) {
- // Enable all selected channels which are disabled
- TraceChannelComponent channel = iterator.next();
- channel.setState(getNewState());
- }
- }
- } catch (ExecutionException e) {
- error = e;
- }
-
- // In all cases notify listeners
- if (session != null) {
- session.fireComponentChanged(session);
- }
-
- if (error != null) {
- return new Status(IStatus.ERROR, Activator.PLUGIN_ID, Messages.TraceControl_ChangeChannelStateFailure, error);
- }
-
- return Status.OK_STATUS;
- }
- };
- job.setUser(true);
- job.schedule();
- } finally {
- fLock.unlock();
- }
-
- return null;
- }
-
- @Override
- public boolean isEnabled() {
-
- // Get workbench page for the Control View
- IWorkbenchPage page = getWorkbenchPage();
- if (page == null) {
- return false;
- }
-
- TraceDomainComponent kernelDomain = null;
- TraceDomainComponent ustDomain = null;
- List<TraceChannelComponent> kernelChannels = new ArrayList<>();
- List<TraceChannelComponent> ustChannels = new ArrayList<>();
-
- // Check if one or more session are selected
- ISelection selection = page.getSelection(ControlView.ID);
- if (selection instanceof StructuredSelection) {
- StructuredSelection structered = ((StructuredSelection) selection);
- String sessionName = null;
- for (Iterator<?> iterator = structered.iterator(); iterator.hasNext();) {
- Object element = iterator.next();
-
- if (element instanceof TraceChannelComponent) {
-
- // Add only TraceChannelComponents that are disabled
- TraceChannelComponent channel = (TraceChannelComponent) element;
- if (sessionName == null) {
- sessionName = String.valueOf(channel.getSessionName());
- }
-
- // Enable command only for channels of same session
- if (!sessionName.equals(channel.getSessionName())) {
- kernelChannels.clear();
- ustChannels.clear();
- break;
- }
-
- if ((channel.getState() != getNewState())) {
- if (channel.isKernel()) {
- kernelChannels.add(channel);
- if (kernelDomain == null) {
- kernelDomain = (TraceDomainComponent) channel.getParent();
- }
- } else {
- ustChannels.add(channel);
- if (ustDomain == null) {
- ustDomain = (TraceDomainComponent) channel.getParent();
- }
- }
- }
- }
- }
- }
-
- boolean isEnabled = (!kernelChannels.isEmpty() || !ustChannels.isEmpty());
- fLock.lock();
- try {
- if (isEnabled) {
- fParam = new Parameter(kernelDomain, ustDomain, kernelChannels, ustChannels);
- }
- } finally {
- fLock.unlock();
- }
-
- return isEnabled;
- }
-
- /**
- * Class containing parameter for the command execution.
- */
- protected static class Parameter {
- /**
- * Kernel domain component reference.
- */
- protected final TraceDomainComponent fKernelDomain;
- /**
- * UST domain component reference.
- */
- protected final TraceDomainComponent fUstDomain;
- /**
- * The list of kernel channel components the command is to be executed on.
- */
- protected final List<TraceChannelComponent> fKernelChannels;
- /**
- * The list of UST channel components the command is to be executed on.
- */
- protected final List<TraceChannelComponent> fUstChannels;
-
- /**
- * Constructor
- * @param kernelDomain - a kernel domain component
- * @param ustDomain - a UST domain component
- * @param kernelChannels - list of available kernel channels
- * @param ustChannels - list of available UST channels
- */
- public Parameter(TraceDomainComponent kernelDomain, TraceDomainComponent ustDomain, List<TraceChannelComponent> kernelChannels, List<TraceChannelComponent> ustChannels) {
- fKernelDomain = kernelDomain;
- fUstDomain = ustDomain;
- fKernelChannels = new ArrayList<>();
- fKernelChannels.addAll(kernelChannels);
- fUstChannels = new ArrayList<>();
- fUstChannels.addAll(ustChannels);
- }
-
- /**
- * Copy constructor
- * @param other a parameter to copy
- */
- public Parameter(Parameter other) {
- this(other.fKernelDomain, other.fUstDomain, other.fKernelChannels, other.fUstChannels);
- }
-
- /**
- * @return the kernel domain component.
- */
- public TraceDomainComponent getKernelDomain() {
- return fKernelDomain;
- }
-
- /**
- * @return the UST domain component.
- */
- public TraceDomainComponent getUstDomain() {
- return fUstDomain;
- }
-
- /**
- * @return the list of kernel channel components.
- */
- public List<TraceChannelComponent> getKernelChannels() {
- return fKernelChannels;
- }
-
- /**
- * @return the list of UST channel components.
- */
- public List<TraceChannelComponent> getUstChannels() {
- return fUstChannels;
- }
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/handlers/ChangeEventStateHandler.java b/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/handlers/ChangeEventStateHandler.java
deleted file mode 100644
index 72c53c103e..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/handlers/ChangeEventStateHandler.java
+++ /dev/null
@@ -1,261 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2012, 2014 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:
- * Bernd Hufmann - Initial API and implementation
- **********************************************************************/
-package org.eclipse.linuxtools.internal.lttng2.control.ui.views.handlers;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.core.commands.ExecutionEvent;
-import org.eclipse.core.commands.ExecutionException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.core.runtime.jobs.Job;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.TraceEnablement;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.Activator;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.ControlView;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.messages.Messages;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.model.impl.TraceChannelComponent;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.model.impl.TraceEventComponent;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.model.impl.TraceSessionComponent;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.PlatformUI;
-
-/**
- * <p>
- * Base Command handler implementation to enable or disabling a trace channel.
- * </p>
- *
- * @author Bernd Hufmann
- */
-public abstract class ChangeEventStateHandler extends BaseControlViewHandler {
-
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
- /**
- * The command execution parameter.
- */
- protected Parameter fParam;
-
- // ------------------------------------------------------------------------
- // Accessors
- // ------------------------------------------------------------------------
- /**
- * @return the new state to set
- */
- protected abstract TraceEnablement getNewState();
-
- // ------------------------------------------------------------------------
- // Operations
- // ------------------------------------------------------------------------
- /**
- * Change the state
- * @param channel - channel of events to be enabled
- * @param eventNames - list event names
- * @param monitor - a progress monitor
- * @throws ExecutionException If the command fails
- */
- protected abstract void changeState(TraceChannelComponent channel, List<String> eventNames, IProgressMonitor monitor) throws ExecutionException;
-
- @Override
- public Object execute(ExecutionEvent event) throws ExecutionException {
-
- IWorkbenchWindow window = PlatformUI.getWorkbench().getActiveWorkbenchWindow();
-
- if (window == null) {
- return false;
- }
-
- fLock.lock();
- try {
-
- final Parameter param = new Parameter(fParam);
-
- Job job = new Job(Messages.TraceControl_ChangeChannelStateJob) {
- @Override
- protected IStatus run(IProgressMonitor monitor) {
- Exception error = null;
-
- TraceSessionComponent session = null;
-
- try {
- boolean isAll = false;
- if (param.getChannel() != null) {
- session = param.getChannel().getSession();
- List<String> eventNames = new ArrayList<>();
- List<TraceEventComponent> events = param.getEvents();
-
- for (Iterator<TraceEventComponent> iterator = events.iterator(); iterator.hasNext();) {
- // Enable/disable all selected channels which are disabled
- TraceEventComponent traceEvent = iterator.next();
-
- // Workaround for wildcard handling in lttng-tools
- if ("*".equals(traceEvent.getName())) { //$NON-NLS-1$
- isAll = true;
- } else {
- eventNames.add(traceEvent.getName());
- }
- }
- if (isAll) {
- changeState(param.getChannel(), null, monitor);
- }
-
- if (!eventNames.isEmpty()) {
- changeState(param.getChannel(), eventNames, monitor);
- }
-
- for (Iterator<TraceEventComponent> iterator = events.iterator(); iterator.hasNext();) {
- // Enable all selected channels which are disabled
- TraceEventComponent ev = iterator.next();
- ev.setState(getNewState());
- }
- }
- } catch (ExecutionException e) {
- error = e;
- }
-
- if (session != null) {
- // In all cases notify listeners
- session.fireComponentChanged(session);
- }
-
- if (error != null) {
- return new Status(IStatus.ERROR, Activator.PLUGIN_ID, Messages.TraceControl_ChangeEventStateFailure, error);
- }
-
- return Status.OK_STATUS;
- }
- };
- job.setUser(true);
- job.schedule();
- } finally {
- fLock.unlock();
- }
- return null;
- }
-
- @Override
- public boolean isEnabled() {
- // Get workbench page for the Control View
- IWorkbenchPage page = getWorkbenchPage();
- if (page == null) {
- return false;
- }
-
- // Check if one or more session are selected
- ISelection selection = page.getSelection(ControlView.ID);
-
- TraceChannelComponent channel = null;
- List<TraceEventComponent> events = new ArrayList<>();
-
- if (selection instanceof StructuredSelection) {
- StructuredSelection structered = ((StructuredSelection) selection);
- String sessionName = null;
- String channelName = null;
-
- for (Iterator<?> iterator = structered.iterator(); iterator.hasNext();) {
- Object element = iterator.next();
-
- if (element instanceof TraceEventComponent) {
-
- TraceEventComponent event = (TraceEventComponent) element;
- if (sessionName == null) {
- sessionName = String.valueOf(event.getSessionName());
- }
-
- if (channel == null) {
- channel = (TraceChannelComponent)event.getParent();
- }
-
- if (channelName == null) {
- channelName = event.getChannelName();
- }
-
- // Enable command only for events of same session, same channel and domain
- if ((!sessionName.equals(event.getSessionName())) ||
- (!channelName.equals(event.getChannelName())) ||
- (channel.isKernel() != event.isKernel())) {
- events.clear();
- break;
- }
-
- if ((event.getState() != getNewState())) {
- events.add(event);
- }
- }
- }
- }
- boolean isEnabled = !events.isEmpty();
-
- fLock.lock();
- try {
- fParam = null;
- if (isEnabled) {
- fParam = new Parameter(channel, events);
- }
- } finally {
- fLock.unlock();
- }
- return isEnabled;
- }
-
- /**
- * Class containing parameter for the command execution.
- */
- protected static class Parameter {
- /**
- * Channel component reference.
- */
- private final TraceChannelComponent fChannel;
- /**
- * The list of kernel channel components the command is to be executed on.
- */
- private final List<TraceEventComponent> fEvents = new ArrayList<>();
-
- /**
- * Constructor
- * @param channel - a channel component
- * @param events - a list of event components
- */
- public Parameter(TraceChannelComponent channel, List<TraceEventComponent> events) {
- fChannel = channel;
- fEvents.addAll(events);
- }
-
- /**
- * Copy constructor
- * @param other - a parameter to copy
- */
- public Parameter(Parameter other) {
- this(other.fChannel, other.fEvents);
- }
-
- /**
- * @return the trace channel component.
- */
- public TraceChannelComponent getChannel() {
- return fChannel;
- }
-
- /**
- * @return a list of trace event components.
- */
- public List<TraceEventComponent> getEvents() {
- return fEvents;
- }
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/handlers/ChangeSessionStateHandler.java b/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/handlers/ChangeSessionStateHandler.java
deleted file mode 100644
index eb43ece9aa..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/handlers/ChangeSessionStateHandler.java
+++ /dev/null
@@ -1,157 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2012, 2014 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:
- * Bernd Hufmann - Initial API and implementation
- **********************************************************************/
-package org.eclipse.linuxtools.internal.lttng2.control.ui.views.handlers;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.core.commands.ExecutionEvent;
-import org.eclipse.core.commands.ExecutionException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.core.runtime.jobs.Job;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.TraceSessionState;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.Activator;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.ControlView;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.messages.Messages;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.model.impl.TraceSessionComponent;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.PlatformUI;
-
-/**
- * <p>
- * Abstract command handler implementation to start or stop one or more trace sessions.
- * </p>
- *
- * @author Bernd Hufmann
- */
-public abstract class ChangeSessionStateHandler extends BaseControlViewHandler {
-
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
- /**
- * The list of session components the command is to be executed on.
- */
- protected List<TraceSessionComponent> fSessions = new ArrayList<>();
-
- // ------------------------------------------------------------------------
- // Accessors
- // ------------------------------------------------------------------------
-
- /**
- * @return new required state.
- */
- public abstract TraceSessionState getNewState();
-
- // ------------------------------------------------------------------------
- // Operations
- // ------------------------------------------------------------------------
-
- /**
- * Performs the state change on given session.
- *
- * @param session
- * - a session which state is to be changed
- * @param monitor
- * - a progress monitor
- * @throws ExecutionException
- * If the command fails
- */
- public abstract void changeState(TraceSessionComponent session, IProgressMonitor monitor) throws ExecutionException;
-
- @Override
- public Object execute(ExecutionEvent event) throws ExecutionException {
-
- IWorkbenchWindow window = PlatformUI.getWorkbench().getActiveWorkbenchWindow();
-
- if (window == null) {
- return false;
- }
-
- fLock.lock();
- try {
-
- final List<TraceSessionComponent> sessions = new ArrayList<>();
- sessions.addAll(fSessions);
-
- Job job = new Job(Messages.TraceControl_ChangeSessionStateJob) {
- @Override
- protected IStatus run(IProgressMonitor monitor) {
- try {
- for (Iterator<TraceSessionComponent> iterator = sessions.iterator(); iterator.hasNext();) {
-
- // Start all selected sessions
- TraceSessionComponent session = iterator.next();
- changeState(session, monitor);
-
- // Set Session state
- session.setSessionState(getNewState());
- session.fireComponentChanged(session);
- }
- } catch (ExecutionException e) {
- return new Status(IStatus.ERROR, Activator.PLUGIN_ID, Messages.TraceControl_ChangeSessionStateFailure, e);
- }
- return Status.OK_STATUS;
- }
- };
- job.setUser(true);
- job.schedule();
- } finally {
- fLock.unlock();
- }
- return null;
- }
-
- @Override
- public boolean isEnabled() {
- // Get workbench page for the Control View
- IWorkbenchPage page = getWorkbenchPage();
- if (page == null) {
- return false;
- }
-
- List<TraceSessionComponent> sessions = new ArrayList<>(0);
-
- // Check if one or more session are selected
- ISelection selection = page.getSelection(ControlView.ID);
- if (selection instanceof StructuredSelection) {
- StructuredSelection structered = ((StructuredSelection) selection);
- for (Iterator<?> iterator = structered.iterator(); iterator.hasNext();) {
- Object element = iterator.next();
- if (element instanceof TraceSessionComponent) {
- // Add only TraceSessionComponents that are inactive and not destroyed
- TraceSessionComponent session = (TraceSessionComponent) element;
- if ((session.getSessionState() != getNewState()) && (!session.isDestroyed())) {
- sessions.add(session);
- }
- }
- }
- }
- boolean isEnabled = !sessions.isEmpty();
- fLock.lock();
- try {
- fSessions = null;
- if (isEnabled) {
- fSessions = sessions;
- }
- } finally {
- fLock.unlock();
- }
- return isEnabled;
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/handlers/ChannelCommandParameter.java b/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/handlers/ChannelCommandParameter.java
deleted file mode 100644
index fc0f7638e5..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/handlers/ChannelCommandParameter.java
+++ /dev/null
@@ -1,66 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2012, 2013 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:
- * Bernd Hufmann - Initial API and implementation
- **********************************************************************/
-package org.eclipse.linuxtools.internal.lttng2.control.ui.views.handlers;
-
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.model.impl.TraceChannelComponent;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.model.impl.TraceSessionComponent;
-
-/**
- * Class containing parameter for the command execution.
- *
- * @author Bernd Hufmann
- */
-public class ChannelCommandParameter extends CommandParameter {
-
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
-
- private TraceChannelComponent fChannel;
-
-
- // ------------------------------------------------------------------------
- // Constructors
- // ------------------------------------------------------------------------
-
- /**
- * Constructor
- * @param session - a trace session component.
- * @param channel - a trace channel component
- */
- public ChannelCommandParameter(TraceSessionComponent session, TraceChannelComponent channel) {
- super(session);
- fChannel = channel;
- }
-
- // ------------------------------------------------------------------------
- // Accessors
- // ------------------------------------------------------------------------
-
- /**
- * @return the trace channel component
- */
- public TraceChannelComponent getChannel() {
- return fChannel;
- }
-
- // ------------------------------------------------------------------------
- // Operations
- // ------------------------------------------------------------------------
-
- @Override
- public ChannelCommandParameter clone() {
- ChannelCommandParameter clone = (ChannelCommandParameter) super.clone();
- clone.fChannel = fChannel;
- return clone;
- }
-} \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/handlers/CommandParameter.java b/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/handlers/CommandParameter.java
deleted file mode 100644
index a469561380..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/handlers/CommandParameter.java
+++ /dev/null
@@ -1,69 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2012, 2013 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:
- * Bernd Hufmann - Initial API and implementation
- **********************************************************************/
-package org.eclipse.linuxtools.internal.lttng2.control.ui.views.handlers;
-
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.model.impl.TraceSessionComponent;
-
-/**
- * Class containing parameter for the command execution.
- *
- * @author Bernd Hufmann
- */
-public class CommandParameter implements Cloneable {
-
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
-
- /**
- * The trace session component.
- */
- private TraceSessionComponent fSession;
-
- // ------------------------------------------------------------------------
- // Constructors
- // ------------------------------------------------------------------------
-
- /**
- * Constructor
- * @param session a trace session component.
- */
- public CommandParameter(TraceSessionComponent session) {
- fSession = session;
- }
-
- // ------------------------------------------------------------------------
- // Accessors
- // ------------------------------------------------------------------------
-
- /**
- * @return the session component.
- */
- public TraceSessionComponent getSession() {
- return fSession;
- }
-
- // ------------------------------------------------------------------------
- // Operations
- // ------------------------------------------------------------------------
-
- @Override
- public CommandParameter clone() {
- CommandParameter clone = null;
- try {
- clone = (CommandParameter) super.clone();
- clone.fSession = fSession;
- } catch (CloneNotSupportedException e) {
- }
- return clone;
- }
-} \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/handlers/ConnectHandler.java b/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/handlers/ConnectHandler.java
deleted file mode 100644
index b779adaab5..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/handlers/ConnectHandler.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2012, 2013 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:
- * Bernd Hufmann - Initial API and implementation
- **********************************************************************/
-package org.eclipse.linuxtools.internal.lttng2.control.ui.views.handlers;
-
-import org.eclipse.core.commands.ExecutionEvent;
-import org.eclipse.core.commands.ExecutionException;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.TargetNodeState;
-
-/**
- * <p>
- * Command handler implementation to connect to a target host.
- * </p>
- *
- * @author Bernd Hufmann
- */
-public class ConnectHandler extends BaseNodeHandler {
-
- // ------------------------------------------------------------------------
- // Operations
- // ------------------------------------------------------------------------
-
- @Override
- public Object execute(ExecutionEvent event) throws ExecutionException {
- fLock.lock();
- try {
- fTargetNode.connect();
- } finally {
- fLock.unlock();
- }
- return null;
- }
-
- @Override
- public boolean isEnabled() {
- boolean isEnabled = false;
- fLock.lock();
- try {
- isEnabled = (super.isEnabled() && (fTargetNode.getTargetNodeState() == TargetNodeState.DISCONNECTED));
- } finally {
- fLock.unlock();
- }
- return isEnabled;
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/handlers/CreateSessionHandler.java b/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/handlers/CreateSessionHandler.java
deleted file mode 100644
index 866670017a..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/handlers/CreateSessionHandler.java
+++ /dev/null
@@ -1,118 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2012, 2013 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:
- * Bernd Hufmann - Initial API and implementation
- * Bernd Hufmann - Updated for support of LTTng Tools 2.1
- **********************************************************************/
-package org.eclipse.linuxtools.internal.lttng2.control.ui.views.handlers;
-
-import org.eclipse.core.commands.ExecutionEvent;
-import org.eclipse.core.commands.ExecutionException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.core.runtime.jobs.Job;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.jface.window.Window;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.Activator;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.ControlView;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.dialogs.ICreateSessionDialog;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.dialogs.TraceControlDialogFactory;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.messages.Messages;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.model.impl.TraceSessionGroup;
-import org.eclipse.ui.IWorkbenchPage;
-
-/**
- * <p>
- * Command handler implementation to create a trace session.
- * </p>
- *
- * @author Bernd Hufmann
- */
-public class CreateSessionHandler extends BaseControlViewHandler {
-
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
-
- /**
- * The trace session group the command is to be executed on.
- */
- private TraceSessionGroup fSessionGroup = null;
-
- // ------------------------------------------------------------------------
- // Operations
- // ------------------------------------------------------------------------
-
- @Override
- public Object execute(ExecutionEvent event) throws ExecutionException {
-
- fLock.lock();
- try {
- final TraceSessionGroup sessionGroup = fSessionGroup;
-
- // Open dialog box for the node name and address
- final ICreateSessionDialog dialog = TraceControlDialogFactory.getInstance().getCreateSessionDialog();
- dialog.initialize(sessionGroup);
-
- if (dialog.open() != Window.OK) {
- return null;
- }
-
- Job job = new Job(Messages.TraceControl_CreateSessionJob) {
- @Override
- protected IStatus run(IProgressMonitor monitor) {
- try {
- sessionGroup.createSession(dialog.getParameters(), monitor);
- } catch (ExecutionException e) {
- return new Status(IStatus.ERROR, Activator.PLUGIN_ID, Messages.TraceControl_CreateSessionFailure, e);
- }
- return Status.OK_STATUS;
- }
- };
- job.setUser(true);
- job.schedule();
- } finally {
- fLock.unlock();
- }
- return null;
- }
-
- @Override
- public boolean isEnabled() {
-
- // Get workbench page for the Control View
- IWorkbenchPage page = getWorkbenchPage();
- if (page == null) {
- return false;
- }
-
- TraceSessionGroup sessionGroup = null;
-
- // Check if the session group project is selected
- ISelection selection = page.getSelection(ControlView.ID);
- if (selection instanceof StructuredSelection) {
- Object element = ((StructuredSelection) selection).getFirstElement();
- sessionGroup = (element instanceof TraceSessionGroup) ? (TraceSessionGroup) element : null;
- }
-
- boolean isEnabled = sessionGroup != null;
- fLock.lock();
- try {
- fSessionGroup = null;
- if(isEnabled) {
- fSessionGroup = sessionGroup;
- }
- } finally {
- fLock.unlock();
- }
- return isEnabled;
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/handlers/DeleteHandler.java b/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/handlers/DeleteHandler.java
deleted file mode 100644
index bb32b176be..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/handlers/DeleteHandler.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2012, 2013 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:
- * Bernd Hufmann - Initial API and implementation
- **********************************************************************/
-package org.eclipse.linuxtools.internal.lttng2.control.ui.views.handlers;
-
-import org.eclipse.core.commands.ExecutionEvent;
-import org.eclipse.core.commands.ExecutionException;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.TargetNodeState;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.model.ITraceControlComponent;
-
-/**
- * <p>
- * Command handler implementation to delete a target host.
- * </p>
- *
- * @author Bernd Hufmann
- */
-public class DeleteHandler extends BaseNodeHandler {
-
- // ------------------------------------------------------------------------
- // Operations
- // ------------------------------------------------------------------------
-
- @Override
- public Object execute(ExecutionEvent event) throws ExecutionException {
- fLock.lock();
- try {
- ITraceControlComponent root = fTargetNode.getParent();
- fTargetNode.removeAllChildren();
- root.removeChild(fTargetNode);
- } finally {
- fLock.unlock();
- }
- return null;
- }
-
- @Override
- public boolean isEnabled() {
- boolean isEnabled = false;
- fLock.lock();
- try {
- isEnabled = (super.isEnabled() && (fTargetNode.getTargetNodeState() == TargetNodeState.DISCONNECTED));
- } finally {
- fLock.unlock();
- }
- return isEnabled;
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/handlers/DestroySessionHandler.java b/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/handlers/DestroySessionHandler.java
deleted file mode 100644
index 2735d930e3..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/handlers/DestroySessionHandler.java
+++ /dev/null
@@ -1,129 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2012, 2014 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:
- * Bernd Hufmann - Initial API and implementation
- **********************************************************************/
-package org.eclipse.linuxtools.internal.lttng2.control.ui.views.handlers;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.core.commands.ExecutionEvent;
-import org.eclipse.core.commands.ExecutionException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.core.runtime.jobs.Job;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.TraceSessionState;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.Activator;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.ControlView;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.dialogs.IConfirmDialog;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.dialogs.TraceControlDialogFactory;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.messages.Messages;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.model.impl.TraceSessionComponent;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.model.impl.TraceSessionGroup;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.PlatformUI;
-
-/**
- * <p>
- * Command handler implementation to destroy one or more trace sessions.
- * </p>
- *
- * @author Bernd Hufmann
- */
-public class DestroySessionHandler extends BaseControlViewHandler {
-
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
- /**
- * The list of session components the command is to be executed on.
- */
- private final List<TraceSessionComponent> fSessions = new ArrayList<>();
-
- // ------------------------------------------------------------------------
- // Operations
- // ------------------------------------------------------------------------
-
- @Override
- public Object execute(ExecutionEvent event) throws ExecutionException {
-
- IWorkbenchWindow window = PlatformUI.getWorkbench().getActiveWorkbenchWindow();
-
- if (window == null) {
- return false;
- }
- // Get user confirmation
- IConfirmDialog dialog = TraceControlDialogFactory.getInstance().getConfirmDialog();
- if (!dialog.openConfirm(window.getShell(),
- Messages.TraceControl_DestroyConfirmationTitle,
- Messages.TraceControl_DestroyConfirmationMessage)) {
-
- return null;
- }
-
- Job job = new Job(Messages.TraceControl_DestroySessionJob) {
- @Override
- protected IStatus run(IProgressMonitor monitor) {
- try {
- // Make a copy of the list of sessions to avoid ConcurrentModificationException when iterating
- // over fSessions, since fSessions is modified in another thread triggered by the tree viewer refresh
- // after removing a session.
- TraceSessionComponent[] sessions = fSessions.toArray(new TraceSessionComponent[fSessions.size()]);
-
- for (int i = 0; i < sessions.length; i++) {
- // Destroy all selected sessions
- TraceSessionComponent session = sessions[i];
- TraceSessionGroup sessionGroup = (TraceSessionGroup)session.getParent();
- sessionGroup.destroySession(session, monitor);
- }
- } catch (ExecutionException e) {
- return new Status(IStatus.ERROR, Activator.PLUGIN_ID, Messages.TraceControl_DestroySessionFailure, e);
- }
- return Status.OK_STATUS;
- }
- };
- job.setUser(true);
- job.schedule();
-
- return null;
- }
-
- @Override
- public boolean isEnabled() {
- // Get workbench page for the Control View
- IWorkbenchPage page = getWorkbenchPage();
- if (page == null) {
- return false;
- }
- fSessions.clear();
-
- // Check if one or more session are selected
- ISelection selection = page.getSelection(ControlView.ID);
- if (selection instanceof StructuredSelection) {
- StructuredSelection structered = ((StructuredSelection) selection);
- for (Iterator<?> iterator = structered.iterator(); iterator.hasNext();) {
- Object element = iterator.next();
- if (element instanceof TraceSessionComponent) {
- // Add only TraceSessionComponents that are inactive and not destroyed
- TraceSessionComponent session = (TraceSessionComponent) element;
- if ((session.getSessionState() == TraceSessionState.INACTIVE) && (!session.isDestroyed())) {
- fSessions.add((TraceSessionComponent)element);
- }
- }
- }
- }
- return !fSessions.isEmpty();
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/handlers/DisableChannelHandler.java b/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/handlers/DisableChannelHandler.java
deleted file mode 100644
index cc1337fe12..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/handlers/DisableChannelHandler.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2012, 2013 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:
- * Bernd Hufmann - Initial API and implementation
- **********************************************************************/
-package org.eclipse.linuxtools.internal.lttng2.control.ui.views.handlers;
-
-import java.util.List;
-
-import org.eclipse.core.commands.ExecutionException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.TraceEnablement;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.model.impl.TraceDomainComponent;
-
-/**
- * <p>
- * Command handler implementation to disable one or more trace channels per session and domain.
- * </p>
- *
- * @author Bernd Hufmann
- */
-public class DisableChannelHandler extends ChangeChannelStateHandler {
-
- // ------------------------------------------------------------------------
- // Accessors
- // ------------------------------------------------------------------------
-
- @Override
- protected TraceEnablement getNewState() {
- return TraceEnablement.DISABLED;
- }
-
- // ------------------------------------------------------------------------
- // Operations
- // ------------------------------------------------------------------------
-
- @Override
- protected void changeState(TraceDomainComponent domain, List<String> channelNames, IProgressMonitor monitor) throws ExecutionException {
- domain.disableChannels(channelNames, monitor);
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/handlers/DisableEventHandler.java b/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/handlers/DisableEventHandler.java
deleted file mode 100644
index 8503b8b76c..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/handlers/DisableEventHandler.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2012, 2013 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:
- * Bernd Hufmann - Initial API and implementation
- **********************************************************************/
-package org.eclipse.linuxtools.internal.lttng2.control.ui.views.handlers;
-
-import java.util.List;
-
-import org.eclipse.core.commands.ExecutionException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.TraceEnablement;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.model.impl.TraceChannelComponent;
-
-/**
- * <p>
- * Command handler implementation to disable one or more events session, domain and channel.
- * </p>
- *
- * @author Bernd Hufmann
- */
-public class DisableEventHandler extends ChangeEventStateHandler {
-
- // ------------------------------------------------------------------------
- // Accessors
- // ------------------------------------------------------------------------
-
- @Override
- protected TraceEnablement getNewState() {
- return TraceEnablement.DISABLED;
- }
-
- // ------------------------------------------------------------------------
- // Operations
- // ------------------------------------------------------------------------
-
- @Override
- protected void changeState(TraceChannelComponent channel, List<String> eventNames, IProgressMonitor monitor) throws ExecutionException{
- channel.disableEvent(eventNames, monitor);
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/handlers/DisconnectHandler.java b/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/handlers/DisconnectHandler.java
deleted file mode 100644
index 24c0db0329..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/handlers/DisconnectHandler.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2012, 2013 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:
- * Bernd Hufmann - Initial API and implementation
- **********************************************************************/
-package org.eclipse.linuxtools.internal.lttng2.control.ui.views.handlers;
-
-import org.eclipse.core.commands.ExecutionEvent;
-import org.eclipse.core.commands.ExecutionException;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.TargetNodeState;
-
-/**
- * <p>
- * Command handler implementation to disconnect from a target host.
- * </p>
- *
- * @author Bernd Hufmann
- */
-public class DisconnectHandler extends BaseNodeHandler {
-
- // ------------------------------------------------------------------------
- // Operations
- // ------------------------------------------------------------------------
-
- @Override
- public Object execute(ExecutionEvent event) throws ExecutionException {
- fLock.lock();
- try {
- fTargetNode.disconnect();
- } finally {
- fLock.unlock();
- }
- return null;
- }
-
- @Override
- public boolean isEnabled() {
- boolean isEnabled = false;
- fLock.lock();
- try {
- isEnabled = super.isEnabled() && (fTargetNode.getTargetNodeState() == TargetNodeState.CONNECTED);
- } finally {
- fLock.unlock();
- }
- return isEnabled;
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/handlers/DomainCommandParameter.java b/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/handlers/DomainCommandParameter.java
deleted file mode 100644
index f233c55572..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/handlers/DomainCommandParameter.java
+++ /dev/null
@@ -1,66 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2012, 2013 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:
- * Bernd Hufmann - Initial API and implementation
- **********************************************************************/
-package org.eclipse.linuxtools.internal.lttng2.control.ui.views.handlers;
-
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.model.impl.TraceDomainComponent;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.model.impl.TraceSessionComponent;
-
-/**
- * Class containing parameter for the command execution.
- *
- * @author Bernd Hufmann
- */
-public class DomainCommandParameter extends CommandParameter {
-
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
-
- private TraceDomainComponent fDomain;
-
-
- // ------------------------------------------------------------------------
- // Constructors
- // ------------------------------------------------------------------------
-
- /**
- * Constructor
- * @param session - a trace session component.
- * @param domain - a trace domain component
- */
- public DomainCommandParameter(TraceSessionComponent session, TraceDomainComponent domain) {
- super(session);
- fDomain = domain;
- }
-
- // ------------------------------------------------------------------------
- // Accessors
- // ------------------------------------------------------------------------
-
- /**
- * @return the trace domain component
- */
- public TraceDomainComponent getDomain() {
- return fDomain;
- }
-
- // ------------------------------------------------------------------------
- // Operations
- // ------------------------------------------------------------------------
-
- @Override
- public DomainCommandParameter clone() {
- DomainCommandParameter clone = (DomainCommandParameter) super.clone();
- clone.fDomain = fDomain;
- return clone;
- }
-} \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/handlers/EnableChannelHandler.java b/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/handlers/EnableChannelHandler.java
deleted file mode 100644
index 4c44129966..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/handlers/EnableChannelHandler.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2012, 2013 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:
- * Bernd Hufmann - Initial API and implementation
- **********************************************************************/
-package org.eclipse.linuxtools.internal.lttng2.control.ui.views.handlers;
-
-import java.util.List;
-
-import org.eclipse.core.commands.ExecutionException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.TraceEnablement;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.model.impl.TraceDomainComponent;
-
-/**
- * <p>
- * Command handler implementation to enable one or more trace channels per session and domain.
- * </p>
- *
- * @author Bernd Hufmann
- */
-public class EnableChannelHandler extends ChangeChannelStateHandler {
-
- // ------------------------------------------------------------------------
- // Accessors
- // ------------------------------------------------------------------------
-
- @Override
- protected TraceEnablement getNewState() {
- return TraceEnablement.ENABLED;
- }
-
- // ------------------------------------------------------------------------
- // Operations
- // ------------------------------------------------------------------------
-
- @Override
- protected void changeState(TraceDomainComponent domain, List<String> channelNames, IProgressMonitor monitor) throws ExecutionException {
- domain.enableChannels(channelNames, null, monitor);
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/handlers/EnableChannelOnDomainHandler.java b/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/handlers/EnableChannelOnDomainHandler.java
deleted file mode 100644
index a718662837..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/handlers/EnableChannelOnDomainHandler.java
+++ /dev/null
@@ -1,105 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2012, 2013 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:
- * Bernd Hufmann - Initial API and implementation
- **********************************************************************/
-package org.eclipse.linuxtools.internal.lttng2.control.ui.views.handlers;
-
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.core.commands.ExecutionException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.IChannelInfo;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.TraceSessionState;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.ControlView;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.model.impl.TraceDomainComponent;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.model.impl.TraceSessionComponent;
-import org.eclipse.ui.IWorkbenchPage;
-
-/**
- * <p>
- * Command handler implementation to enable a trace channel for known domain.
- * </p>
- *
- * @author Bernd Hufmann
- */
-public class EnableChannelOnDomainHandler extends BaseEnableChannelHandler {
-
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
-
- // ------------------------------------------------------------------------
- // Operations
- // ------------------------------------------------------------------------
-
- @Override
- public void enableChannel(CommandParameter param, List<String> channelNames, IChannelInfo info, boolean isKernel, IProgressMonitor monitor) throws ExecutionException {
- if (param instanceof DomainCommandParameter) {
- ((DomainCommandParameter)param).getDomain().enableChannels(channelNames, info, monitor);
- }
- }
-
- @Override
- public TraceDomainComponent getDomain(CommandParameter param) {
- if (param instanceof DomainCommandParameter) {
- return ((DomainCommandParameter)param).getDomain();
- }
- return null;
- }
-
- @Override
- public boolean isEnabled() {
-
- // Get workbench page for the Control View
- IWorkbenchPage page = getWorkbenchPage();
- if (page == null) {
- return false;
- }
-
- TraceDomainComponent domain = null;
- TraceSessionComponent session = null;
-
- // Check if one domain is selected
- ISelection selection = page.getSelection(ControlView.ID);
- if (selection instanceof StructuredSelection) {
- StructuredSelection structered = ((StructuredSelection) selection);
- for (Iterator<?> iterator = structered.iterator(); iterator.hasNext();) {
- Object element = iterator.next();
- if (element instanceof TraceDomainComponent) {
- TraceDomainComponent tmpDomain = (TraceDomainComponent) element;
- session = (TraceSessionComponent) tmpDomain.getParent();
-
- // Add only TraceDomainComponent whose TraceSessionComponent parent is inactive and not destroyed
- if ((session.getSessionState() == TraceSessionState.INACTIVE) && (!session.isDestroyed())) {
- domain = tmpDomain;
- }
- }
- }
- }
-
- boolean isEnabled = domain != null;
-
- fLock.lock();
- try {
- fParam = null;
- if (isEnabled) {
- fParam = new DomainCommandParameter(session, domain);
- }
- } finally {
- fLock.unlock();
- }
-
- return isEnabled;
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/handlers/EnableChannelOnSessionHandler.java b/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/handlers/EnableChannelOnSessionHandler.java
deleted file mode 100644
index 1f22ff788d..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/handlers/EnableChannelOnSessionHandler.java
+++ /dev/null
@@ -1,94 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2012, 2013 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:
- * Bernd Hufmann - Initial API and implementation
- **********************************************************************/
-package org.eclipse.linuxtools.internal.lttng2.control.ui.views.handlers;
-
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.core.commands.ExecutionException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.IChannelInfo;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.TraceSessionState;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.ControlView;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.model.impl.TraceDomainComponent;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.model.impl.TraceSessionComponent;
-import org.eclipse.ui.IWorkbenchPage;
-
-/**
- * <p>
- * Command handler implementation to enable a trace channel for unknown domain
- * (on session level).
- * </p>
- *
- * @author Bernd Hufmann
- */
-public class EnableChannelOnSessionHandler extends BaseEnableChannelHandler {
-
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
-
- @Override
- public void enableChannel(CommandParameter param, List<String> channelNames, IChannelInfo info, boolean isKernel, IProgressMonitor monitor) throws ExecutionException {
- param.getSession().enableChannels(channelNames, info, isKernel, monitor);
- }
-
- @Override
- public TraceDomainComponent getDomain(CommandParameter param) {
- return null;
- }
-
- // ------------------------------------------------------------------------
- // Operations
- // ------------------------------------------------------------------------
-
- @Override
- public boolean isEnabled() {
- // Get workbench page for the Control View
- IWorkbenchPage page = getWorkbenchPage();
- if (page == null) {
- return false;
- }
-
- TraceSessionComponent session = null;
- // Check if one session is selected
- ISelection selection = page.getSelection(ControlView.ID);
- if (selection instanceof StructuredSelection) {
- StructuredSelection structered = ((StructuredSelection) selection);
- for (Iterator<?> iterator = structered.iterator(); iterator.hasNext();) {
- Object element = iterator.next();
- if (element instanceof TraceSessionComponent) {
- // Add only TraceSessionComponents that are inactive and not destroyed
- TraceSessionComponent tmpSession = (TraceSessionComponent) element;
- if ((tmpSession.getSessionState() == TraceSessionState.INACTIVE) && (!tmpSession.isDestroyed())) {
- session = tmpSession;
- }
- }
- }
- }
- boolean isEnabled = session != null;
-
- fLock.lock();
- try {
- fParam = null;
- if (isEnabled) {
- fParam = new CommandParameter(session);
- }
- } finally {
- fLock.unlock();
- }
-
- return isEnabled;
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/handlers/EnableEventHandler.java b/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/handlers/EnableEventHandler.java
deleted file mode 100644
index fc59ad9714..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/handlers/EnableEventHandler.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2012, 2013 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:
- * Bernd Hufmann - Initial API and implementation
- **********************************************************************/
-package org.eclipse.linuxtools.internal.lttng2.control.ui.views.handlers;
-
-import java.util.List;
-
-import org.eclipse.core.commands.ExecutionException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.TraceEnablement;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.model.impl.TraceChannelComponent;
-
-/**
- * <p>
- * Command handler implementation to enable one or more events session, domain and channel.
- * </p>
- *
- * @author Bernd Hufmann
- */
-public class EnableEventHandler extends ChangeEventStateHandler {
-
- // ------------------------------------------------------------------------
- // Accessors
- // ------------------------------------------------------------------------
-
- @Override
- protected TraceEnablement getNewState() {
- return TraceEnablement.ENABLED;
- }
-
- // ------------------------------------------------------------------------
- // Operations
- // ------------------------------------------------------------------------
-
- @Override
- protected void changeState(TraceChannelComponent channel, List<String> eventNames, IProgressMonitor monitor) throws ExecutionException{
- channel.enableEvents(eventNames, monitor);
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/handlers/EnableEventOnChannelHandler.java b/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/handlers/EnableEventOnChannelHandler.java
deleted file mode 100644
index 538c2b4c3c..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/handlers/EnableEventOnChannelHandler.java
+++ /dev/null
@@ -1,122 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2012, 2013 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:
- * Bernd Hufmann - Initial API and implementation
- * Bernd Hufmann - Updated for support of LTTng Tools 2.1
- **********************************************************************/
-package org.eclipse.linuxtools.internal.lttng2.control.ui.views.handlers;
-
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.core.commands.ExecutionException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.LogLevelType;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.TraceLogLevel;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.ControlView;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.model.impl.TraceChannelComponent;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.model.impl.TraceDomainComponent;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.model.impl.TraceSessionComponent;
-import org.eclipse.ui.IWorkbenchPage;
-
-/**
- * <p>
- * Command handler implementation to enable events for a known channel.
- * </p>
- *
- * @author Bernd Hufmann
- */
-public class EnableEventOnChannelHandler extends BaseEnableEventHandler {
-
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
-
- // ------------------------------------------------------------------------
- // Operations
- // ------------------------------------------------------------------------
-
- @Override
- public void enableEvents(CommandParameter param, List<String> eventNames, boolean isKernel, String filterExression, IProgressMonitor monitor) throws ExecutionException {
- if (param instanceof ChannelCommandParameter) {
- ((ChannelCommandParameter)param).getChannel().enableEvents(eventNames, filterExression, monitor);
- }
- }
-
- @Override
- public void enableSyscalls(CommandParameter param, IProgressMonitor monitor) throws ExecutionException {
- if (param instanceof ChannelCommandParameter) {
- ((ChannelCommandParameter)param).getChannel().enableSyscalls(monitor);
- }
- }
-
- @Override
- public void enableProbe(CommandParameter param, String eventName, boolean isFunction, String probe, IProgressMonitor monitor) throws ExecutionException {
- if (param instanceof ChannelCommandParameter) {
- ((ChannelCommandParameter)param).getChannel().enableProbe(eventName, isFunction, probe, monitor);
- }
- }
-
- @Override
- public void enableLogLevel(CommandParameter param, String eventName, LogLevelType logLevelType, TraceLogLevel level, String filterExression, IProgressMonitor monitor) throws ExecutionException {
- if (param instanceof ChannelCommandParameter) {
- ((ChannelCommandParameter)param).getChannel().enableLogLevel(eventName, logLevelType, level, filterExression, monitor);
- }
- }
-
- @Override
- public TraceDomainComponent getDomain(CommandParameter param) {
- if (param instanceof ChannelCommandParameter) {
- return (TraceDomainComponent) ((ChannelCommandParameter)param).getChannel().getParent();
- }
- return null;
- }
-
- @Override
- public boolean isEnabled() {
- // Get workbench page for the Control View
- IWorkbenchPage page = getWorkbenchPage();
- if (page == null) {
- return false;
- }
-
- TraceChannelComponent channel = null;
- TraceSessionComponent session = null;
- ISelection selection = page.getSelection(ControlView.ID);
- if (selection instanceof StructuredSelection) {
- StructuredSelection structered = ((StructuredSelection) selection);
- for (Iterator<?> iterator = structered.iterator(); iterator.hasNext();) {
- Object element = iterator.next();
- if (element instanceof TraceChannelComponent) {
- // Add only if corresponding TraceSessionComponents is inactive and not destroyed
- TraceChannelComponent tmpChannel = (TraceChannelComponent) element;
- session = tmpChannel.getSession();
- if(!session.isDestroyed()) {
- channel = tmpChannel;
- }
- }
- }
- }
-
- boolean isEnabled = (channel != null);
- fLock.lock();
- try {
- fParam = null;
- if(isEnabled) {
- fParam = new ChannelCommandParameter(session, channel);
- }
- } finally {
- fLock.unlock();
- }
- return isEnabled;
- }
-}
-
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/handlers/EnableEventOnDomainHandler.java b/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/handlers/EnableEventOnDomainHandler.java
deleted file mode 100644
index 1abb3fcea1..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/handlers/EnableEventOnDomainHandler.java
+++ /dev/null
@@ -1,118 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2012, 2013 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:
- * Bernd Hufmann - Initial API and implementation
- * Bernd Hufmann - Updated for support of LTTng Tools 2.1
- **********************************************************************/
-package org.eclipse.linuxtools.internal.lttng2.control.ui.views.handlers;
-
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.core.commands.ExecutionException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.LogLevelType;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.TraceLogLevel;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.TraceSessionState;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.ControlView;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.model.impl.TraceDomainComponent;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.model.impl.TraceSessionComponent;
-import org.eclipse.ui.IWorkbenchPage;
-
-/**
- * <p>
- * Command handler implementation to enable events for a known domain and default channel 'channel0'
- * (which will be created if doesn't exist).
- * </p>
- *
- * @author Bernd Hufmann
- */
-public class EnableEventOnDomainHandler extends BaseEnableEventHandler {
-
- // ------------------------------------------------------------------------
- // Operations
- // ------------------------------------------------------------------------
-
- @Override
- public void enableEvents(CommandParameter param, List<String> eventNames, boolean isKernel, String filterExression, IProgressMonitor monitor) throws ExecutionException {
- if (param instanceof DomainCommandParameter) {
- ((DomainCommandParameter)param).getDomain().enableEvents(eventNames, monitor);
- }
- }
-
- @Override
- public void enableSyscalls(CommandParameter param, IProgressMonitor monitor) throws ExecutionException {
- if (param instanceof DomainCommandParameter) {
- ((DomainCommandParameter)param).getDomain().enableSyscalls(monitor);
- }
- }
-
- @Override
- public void enableProbe(CommandParameter param, String eventName, boolean isFunction, String probe, IProgressMonitor monitor) throws ExecutionException {
- if (param instanceof DomainCommandParameter) {
- ((DomainCommandParameter)param).getDomain().enableProbe(eventName, isFunction, probe, monitor);
- }
- }
-
- @Override
- public void enableLogLevel(CommandParameter param, String eventName, LogLevelType logLevelType, TraceLogLevel level, String filterExression, IProgressMonitor monitor) throws ExecutionException {
- if (param instanceof DomainCommandParameter) {
- ((DomainCommandParameter)param).getDomain().enableLogLevel(eventName, logLevelType, level, filterExression, monitor);
- }
- }
-
- @Override
- public TraceDomainComponent getDomain(CommandParameter param) {
- if (param instanceof DomainCommandParameter) {
- return ((DomainCommandParameter)param).getDomain();
- }
- return null;
- }
-
- @Override
- public boolean isEnabled() {
- // Get workbench page for the Control View
- IWorkbenchPage page = getWorkbenchPage();
- if (page == null) {
- return false;
- }
-
- TraceDomainComponent domain = null;
- TraceSessionComponent session = null;
- ISelection selection = page.getSelection(ControlView.ID);
- if (selection instanceof StructuredSelection) {
- StructuredSelection structered = ((StructuredSelection) selection);
- for (Iterator<?> iterator = structered.iterator(); iterator.hasNext();) {
- Object element = iterator.next();
- if (element instanceof TraceDomainComponent) {
- // Add only if corresponding TraceSessionComponents is inactive and not destroyed
- TraceDomainComponent tmpDomain = (TraceDomainComponent) element;
- session = tmpDomain.getSession();
- if(session.getSessionState() == TraceSessionState.INACTIVE && !session.isDestroyed()) {
- domain = tmpDomain;
- }
- }
- }
- }
-
- boolean isEnabled = (domain != null);
- fLock.lock();
- try {
- fParam = null;
- if(isEnabled) {
- fParam = new DomainCommandParameter(session, domain);
- }
- } finally {
- fLock.unlock();
- }
- return isEnabled;
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/handlers/EnableEventOnSessionHandler.java b/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/handlers/EnableEventOnSessionHandler.java
deleted file mode 100644
index dc4c89b86c..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/handlers/EnableEventOnSessionHandler.java
+++ /dev/null
@@ -1,109 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2012, 2013 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:
- * Bernd Hufmann - Initial API and implementation
- * Bernd Hufmann - Updated for support of LTTng Tools 2.1
- **********************************************************************/
-package org.eclipse.linuxtools.internal.lttng2.control.ui.views.handlers;
-
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.core.commands.ExecutionException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.LogLevelType;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.TraceLogLevel;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.TraceSessionState;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.ControlView;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.model.impl.TraceDomainComponent;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.model.impl.TraceSessionComponent;
-import org.eclipse.ui.IWorkbenchPage;
-
-/**
- * <p>
- * Command handler implementation to enable events for a known session and default channel 'channel0'
- * (which will be created if doesn't exist).
- * </p>
- *
- * @author Bernd Hufmann
- */
-public class EnableEventOnSessionHandler extends BaseEnableEventHandler {
-
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
-
- //-------------------------------------------------------------------------
- // Operations
- // ------------------------------------------------------------------------
-
- @Override
- public void enableEvents(CommandParameter param, List<String> eventNames, boolean isKernel, String filterExpression, IProgressMonitor monitor) throws ExecutionException {
- param.getSession().enableEvents(eventNames, isKernel, filterExpression, monitor);
- }
-
- @Override
- public void enableSyscalls(CommandParameter param, IProgressMonitor monitor) throws ExecutionException {
- param.getSession().enableSyscalls(monitor);
- }
-
- @Override
- public void enableProbe(CommandParameter param, String eventName, boolean isFunction, String probe, IProgressMonitor monitor) throws ExecutionException {
- param.getSession().enableProbe(eventName, isFunction, probe, monitor);
- }
-
- @Override
- public void enableLogLevel(CommandParameter param, String eventName, LogLevelType logLevelType, TraceLogLevel level, String filterExpression, IProgressMonitor monitor) throws ExecutionException {
- param.getSession().enableLogLevel(eventName, logLevelType, level, filterExpression, monitor);
- }
-
- @Override
- public TraceDomainComponent getDomain(CommandParameter param) {
- return null;
- }
-
- @Override
- public boolean isEnabled() {
- // Get workbench page for the Control View
- IWorkbenchPage page = getWorkbenchPage();
- if (page == null) {
- return false;
- }
-
- TraceSessionComponent session = null;
- // Check if one session is selected
- ISelection selection = page.getSelection(ControlView.ID);
- if (selection instanceof StructuredSelection) {
- StructuredSelection structered = ((StructuredSelection) selection);
- for (Iterator<?> iterator = structered.iterator(); iterator.hasNext();) {
- Object element = iterator.next();
- if (element instanceof TraceSessionComponent) {
- // Add only if corresponding TraceSessionComponents is inactive and not destroyed
- TraceSessionComponent tmpSession = (TraceSessionComponent) element;
- if(tmpSession.getSessionState() == TraceSessionState.INACTIVE && !tmpSession.isDestroyed()) {
- session = tmpSession;
- }
- }
- }
- }
- boolean isEnabled = (session != null);
- fLock.lock();
- try {
- fParam = null;
- if(isEnabled) {
- fParam = new CommandParameter(session);
- }
- } finally {
- fLock.unlock();
- }
- return isEnabled;
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/handlers/EventCommandParameter.java b/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/handlers/EventCommandParameter.java
deleted file mode 100644
index 411e061e07..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/handlers/EventCommandParameter.java
+++ /dev/null
@@ -1,65 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2012, 2013 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:
- * Bernd Hufmann - Initial API and implementation
- **********************************************************************/
-package org.eclipse.linuxtools.internal.lttng2.control.ui.views.handlers;
-
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.model.impl.TraceEventComponent;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.model.impl.TraceSessionComponent;
-
-/**
- * Class containing parameter for a command execution.
- *
- * @author Bernd Hufmann
- */
-public class EventCommandParameter extends CommandParameter {
-
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
-
- private TraceEventComponent fEvent;
-
- // ------------------------------------------------------------------------
- // Constructors
- // ------------------------------------------------------------------------
-
- /**
- * Constructor
- * @param session - a trace session component.
- * @param event - a trace event component
- */
- public EventCommandParameter(TraceSessionComponent session, TraceEventComponent event) {
- super(session);
- fEvent = event;
- }
-
- // ------------------------------------------------------------------------
- // Accessors
- // ------------------------------------------------------------------------
-
- /**
- * @return the trace event component
- */
- public TraceEventComponent getEvent() {
- return fEvent;
- }
-
- // ------------------------------------------------------------------------
- // Operations
- // ------------------------------------------------------------------------
-
- @Override
- public EventCommandParameter clone() {
- EventCommandParameter clone = (EventCommandParameter) super.clone();
- clone.fEvent = fEvent;
- return clone;
- }
-} \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/handlers/ExecuteCommandScriptHandler.java b/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/handlers/ExecuteCommandScriptHandler.java
deleted file mode 100644
index 1db9731470..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/handlers/ExecuteCommandScriptHandler.java
+++ /dev/null
@@ -1,116 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2014 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:
- * Bernd Hufmann - Initial API and implementation
- **********************************************************************/
-package org.eclipse.linuxtools.internal.lttng2.control.ui.views.handlers;
-
-import org.eclipse.core.commands.ExecutionEvent;
-import org.eclipse.core.commands.ExecutionException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.core.runtime.jobs.Job;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.jface.window.Window;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.Activator;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.ControlView;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.dialogs.ISelectCommandScriptDialog;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.dialogs.TraceControlDialogFactory;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.messages.Messages;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.model.impl.TraceSessionGroup;
-import org.eclipse.ui.IWorkbenchPage;
-
-/**
- * <p>
- * Command handler implementation to execute commands of a command script.
- * </p>
- *
- * @author Bernd Hufmann
- */
-public class ExecuteCommandScriptHandler extends BaseControlViewHandler {
-
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
-
- /**
- * The trace session group the command is to be executed on.
- */
- private TraceSessionGroup fSessionGroup = null;
-
- // ------------------------------------------------------------------------
- // Operations
- // ------------------------------------------------------------------------
-
- @Override
- public Object execute(ExecutionEvent event) throws ExecutionException {
-
- fLock.lock();
- try {
- final TraceSessionGroup sessionGroup = fSessionGroup;
-
- // Open dialog box for the node name and address
- final ISelectCommandScriptDialog dialog = TraceControlDialogFactory.getInstance().getCommandScriptDialog();
-
- if (dialog.open() != Window.OK) {
- return null;
- }
-
- Job job = new Job(Messages.TraceControl_ExecuteScriptJob) {
- @Override
- protected IStatus run(IProgressMonitor monitor) {
- try {
- sessionGroup.executeCommands(monitor, dialog.getCommands());
- } catch (ExecutionException e) {
- return new Status(IStatus.ERROR, Activator.PLUGIN_ID, Messages.TraceControl_CreateSessionFailure, e);
- }
- return Status.OK_STATUS;
- }
- };
- job.setUser(true);
- job.schedule();
- } finally {
- fLock.unlock();
- }
- return null;
- }
-
- @Override
- public boolean isEnabled() {
-
- // Get workbench page for the Control View
- IWorkbenchPage page = getWorkbenchPage();
- if (page == null) {
- return false;
- }
-
- TraceSessionGroup sessionGroup = null;
-
- // Check if the session group project is selected
- ISelection selection = page.getSelection(ControlView.ID);
- if (selection instanceof StructuredSelection) {
- Object element = ((StructuredSelection) selection).getFirstElement();
- sessionGroup = (element instanceof TraceSessionGroup) ? (TraceSessionGroup) element : null;
- }
-
- boolean isEnabled = sessionGroup != null;
- fLock.lock();
- try {
- fSessionGroup = null;
- if(isEnabled) {
- fSessionGroup = sessionGroup;
- }
- } finally {
- fLock.unlock();
- }
- return isEnabled;
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/handlers/ImportHandler.java b/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/handlers/ImportHandler.java
deleted file mode 100644
index 185e1ae713..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/handlers/ImportHandler.java
+++ /dev/null
@@ -1,406 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2012, 2014 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:
- * Bernd Hufmann - Initial API and implementation
- * Bernd Hufmann - Updated for support of streamed traces
- * Patrick Tasse - Add support for source location
- * Markus Schorn - Bug 448058: Use org.eclipse.remote in favor of RSE
- **********************************************************************/
-package org.eclipse.linuxtools.internal.lttng2.control.ui.views.handlers;
-
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.OutputStream;
-import java.net.URI;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.core.commands.ExecutionEvent;
-import org.eclipse.core.commands.ExecutionException;
-import org.eclipse.core.filesystem.EFS;
-import org.eclipse.core.filesystem.IFileInfo;
-import org.eclipse.core.filesystem.IFileStore;
-import org.eclipse.core.resources.IFolder;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.MultiStatus;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.core.runtime.SubMonitor;
-import org.eclipse.core.runtime.URIUtil;
-import org.eclipse.core.runtime.jobs.Job;
-import org.eclipse.jface.dialogs.MessageDialogWithToggle;
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.jface.window.Window;
-import org.eclipse.jface.wizard.WizardDialog;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.TraceSessionState;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.Activator;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.relayd.LttngRelaydConnectionInfo;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.relayd.LttngRelaydConnectionManager;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.relayd.LttngRelaydConsumer;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.ControlView;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.dialogs.IImportDialog;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.dialogs.ImportFileInfo;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.dialogs.TraceControlDialogFactory;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.messages.Messages;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.model.impl.TraceSessionComponent;
-import org.eclipse.linuxtools.internal.tmf.ui.project.wizards.importtrace.ImportTraceWizard;
-import org.eclipse.linuxtools.tmf.core.TmfCommonConstants;
-import org.eclipse.linuxtools.tmf.core.project.model.TmfTraceImportException;
-import org.eclipse.linuxtools.tmf.core.project.model.TraceTypeHelper;
-import org.eclipse.linuxtools.tmf.ctf.core.CtfConstants;
-import org.eclipse.linuxtools.tmf.ui.project.model.TmfOpenTraceHelper;
-import org.eclipse.linuxtools.tmf.ui.project.model.TmfProjectElement;
-import org.eclipse.linuxtools.tmf.ui.project.model.TmfProjectRegistry;
-import org.eclipse.linuxtools.tmf.ui.project.model.TmfTraceElement;
-import org.eclipse.linuxtools.tmf.ui.project.model.TmfTraceFolder;
-import org.eclipse.linuxtools.tmf.ui.project.model.TmfTraceTypeUIUtils;
-import org.eclipse.linuxtools.tmf.ui.project.model.TmfTracesFolder;
-import org.eclipse.linuxtools.tmf.ui.project.model.TraceUtils;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.PlatformUI;
-
-/**
- * <p>
- * Command handler implementation to import traces from a (remote) session to a
- * tracing project.
- * </p>
- *
- * @author Bernd Hufmann
- */
-public class ImportHandler extends BaseControlViewHandler {
-
- // ------------------------------------------------------------------------
- // Constants
- // ------------------------------------------------------------------------
- /** Name of default project to import traces to */
- public static final String DEFAULT_REMOTE_PROJECT_NAME = "Remote"; //$NON-NLS-1$
-
- /** The preference key to remeber whether or not the user wants the notification shown next time **/
- private static final String NOTIFY_IMPORT_STREAMED_PREF_KEY = "NOTIFY_IMPORT_STREAMED"; //$NON-NLS-1$
-
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
-
- /**
- * The command parameter
- */
- protected CommandParameter fParam;
-
- // ------------------------------------------------------------------------
- // Operations
- // ------------------------------------------------------------------------
-
- @Override
- public Object execute(ExecutionEvent event) throws ExecutionException {
-
- IWorkbenchWindow window = PlatformUI.getWorkbench().getActiveWorkbenchWindow();
-
- if (window == null) {
- return false;
- }
-
- fLock.lock();
- try {
- final CommandParameter param = fParam.clone();
-
- // create default project
- IProject project = TmfProjectRegistry.createProject(DEFAULT_REMOTE_PROJECT_NAME, null, null);
-
- if (param.getSession().isLiveTrace()) {
- importLiveTrace(new LttngRelaydConnectionInfo(param.getSession().getLiveUrl(), param.getSession().getLivePort(), param.getSession().getName()), project);
- return null;
- } else if (param.getSession().isStreamedTrace()) {
-
- IPreferenceStore store = Activator.getDefault().getPreferenceStore();
- String notify = store.getString(NOTIFY_IMPORT_STREAMED_PREF_KEY);
- if (!MessageDialogWithToggle.ALWAYS.equals(notify)) {
- MessageDialogWithToggle.openInformation(window.getShell(), null, Messages.TraceControl_ImportDialogStreamedTraceNotification, Messages.TraceControl_ImportDialogStreamedTraceNotificationToggle, false, store, NOTIFY_IMPORT_STREAMED_PREF_KEY);
- }
-
- // Streamed trace
- TmfProjectElement projectElement = TmfProjectRegistry.getProject(project, true);
- TmfTraceFolder traceFolder = projectElement.getTracesFolder();
-
- ImportTraceWizard wizard = new ImportTraceWizard();
- wizard.init(PlatformUI.getWorkbench(), new StructuredSelection(traceFolder));
- WizardDialog dialog = new WizardDialog(window.getShell(), wizard);
- dialog.open();
- return null;
- }
-
- // Remote trace
- final IImportDialog dialog = TraceControlDialogFactory.getInstance().getImportDialog();
- dialog.setSession(param.getSession());
- dialog.setDefaultProject(DEFAULT_REMOTE_PROJECT_NAME);
-
- if (dialog.open() != Window.OK) {
- return null;
- }
-
- Job job = new Job(Messages.TraceControl_ImportJob) {
- @Override
- protected IStatus run(IProgressMonitor monitor) {
-
- MultiStatus status = new MultiStatus(Activator.PLUGIN_ID, IStatus.OK, Messages.TraceControl_ImportFailure, null);
- List<ImportFileInfo> traces = dialog.getTracePathes();
- IProject selectedProject = dialog.getProject();
- for (Iterator<ImportFileInfo> iterator = traces.iterator(); iterator.hasNext();) {
- try {
-
- if (monitor.isCanceled()) {
- status.add(Status.CANCEL_STATUS);
- break;
- }
-
- ImportFileInfo remoteFile = iterator.next();
-
- downloadTrace(remoteFile, selectedProject, monitor);
-
- // Set trace type
- IFolder traceFolder = remoteFile.getDestinationFolder();
-
- IResource file = traceFolder.findMember(remoteFile.getLocalTraceName());
-
- if (file != null) {
- TraceTypeHelper helper = null;
-
- try {
- helper = TmfTraceTypeUIUtils.selectTraceType(file.getLocation().toOSString(), null, null);
- } catch (TmfTraceImportException e) {
- // the trace did not match any trace type
- }
-
- if (helper != null) {
- status.add(TmfTraceTypeUIUtils.setTraceType(file, helper));
- }
-
- URI uri = remoteFile.getImportFile().toURI();
- String sourceLocation = URIUtil.toUnencodedString(uri);
- file.setPersistentProperty(TmfCommonConstants.SOURCE_LOCATION, sourceLocation);
- }
- } catch (ExecutionException e) {
- status.add(new Status(IStatus.ERROR, Activator.PLUGIN_ID, Messages.TraceControl_ImportFailure, e));
- } catch (CoreException e) {
- status.add(new Status(IStatus.ERROR, Activator.PLUGIN_ID, Messages.TraceControl_ImportFailure, e));
- }
- }
- return status;
- }
- };
- job.setUser(true);
- job.schedule();
- } finally {
- fLock.unlock();
- }
- return null;
- }
-
- @Override
- public boolean isEnabled() {
- // Get workbench page for the Control View
- IWorkbenchPage page = getWorkbenchPage();
- if (page == null) {
- return false;
- }
-
- // Check if one or more session are selected
- ISelection selection = page.getSelection(ControlView.ID);
- TraceSessionComponent session = null;
- if (selection instanceof StructuredSelection) {
- StructuredSelection structered = ((StructuredSelection) selection);
- for (Iterator<?> iterator = structered.iterator(); iterator.hasNext();) {
- Object element = iterator.next();
- if (element instanceof TraceSessionComponent) {
- // Add only TraceSessionComponents that are inactive and not
- // destroyed
- TraceSessionComponent tmpSession = (TraceSessionComponent) element;
- if ((tmpSession.isSnapshotSession() || tmpSession.isLiveTrace() || (tmpSession.getSessionState() == TraceSessionState.INACTIVE)) && (!tmpSession.isDestroyed())) {
- session = tmpSession;
- }
- }
- }
- }
- boolean isEnabled = session != null;
-
- fLock.lock();
- try {
- fParam = null;
- if (isEnabled) {
- fParam = new CommandParameter(session);
- }
- } finally {
- fLock.unlock();
- }
- return isEnabled;
- }
-
- // ------------------------------------------------------------------------
- // Helper methods
- // ------------------------------------------------------------------------
-
- /**
- * Downloads a trace from the remote host to the given project.
- *
- * @param trace
- * - trace information of trace to import
- * @param project
- * - project to import to
- * @param monitor
- * - a progress monitor
- * @throws ExecutionException
- */
- private static void downloadTrace(ImportFileInfo trace, IProject project, IProgressMonitor monitor)
- throws ExecutionException {
- try {
- IFileStore importRoot = trace.getImportFile();
-
- IFolder traceFolder = project.getFolder(TmfTracesFolder.TRACES_FOLDER_NAME);
- if (!traceFolder.exists()) {
- throw new ExecutionException(Messages.TraceControl_ImportDialogInvalidTracingProject + " (" + TmfTracesFolder.TRACES_FOLDER_NAME + ")"); //$NON-NLS-1$//$NON-NLS-2$
- }
-
- IFolder destinationFolder = trace.getDestinationFolder();
- TraceUtils.createFolder(destinationFolder, monitor);
-
- String traceName = trace.getLocalTraceName();
- IFolder folder = destinationFolder.getFolder(traceName);
- if (folder.exists()) {
- if (!trace.isOverwrite()) {
- throw new ExecutionException(Messages.TraceControl_ImportDialogTraceAlreadyExistError + ": " + traceName); //$NON-NLS-1$
- }
- } else {
- folder.create(true, true, null);
- }
-
- IFileStore[] sources = importRoot.childStores(EFS.NONE, new NullProgressMonitor());
- SubMonitor subMonitor = SubMonitor.convert(monitor, sources.length);
- subMonitor.beginTask(Messages.TraceControl_DownloadTask, sources.length);
-
- for (IFileStore source : sources) {
- if (subMonitor.isCanceled()) {
- monitor.setCanceled(true);
- return;
- }
- SubMonitor childMonitor = subMonitor.newChild(1);
- IFileInfo info = source.fetchInfo();
- if (!info.isDirectory()) {
- IPath destination = folder.getLocation().addTrailingSeparator().append(source.getName());
- subMonitor.setTaskName(Messages.TraceControl_DownloadTask + ' ' + traceName + '/' + source.getName());
- try (InputStream in = source.openInputStream(EFS.NONE, new NullProgressMonitor())) {
- copy(in, destination, childMonitor, info.getLength());
- }
- }
- }
- } catch (IOException e) {
- throw new ExecutionException(e.toString(), e);
- } catch (CoreException e) {
- throw new ExecutionException(e.toString(), e);
- }
- }
-
- private static void copy(InputStream in, IPath destination, SubMonitor monitor, long length) throws IOException {
- try (OutputStream out = new FileOutputStream(destination.toFile())) {
- monitor.setWorkRemaining((int) (length / 1024));
- byte[] buf = new byte[1024 * 16];
- int counter = 0;
- for (;;) {
- int n = in.read(buf);
- if (n <= 0) {
- return;
- }
- out.write(buf, 0, n);
- counter = (counter % 1024) + n;
- monitor.worked(counter / 1024);
- }
- }
- }
-
- private static void importLiveTrace(final LttngRelaydConnectionInfo connectionInfo, final IProject project) {
- Job job = new Job(Messages.TraceControl_ImportJob) {
-
- @Override
- protected IStatus run(final IProgressMonitor monitor) {
- try {
- // We initiate the connection first so that we can retrieve the trace path
- LttngRelaydConsumer lttngRelaydConsumer = LttngRelaydConnectionManager.getInstance().getConsumer(connectionInfo);
- try {
- lttngRelaydConsumer.connect();
- } catch (CoreException e) {
- new Status(IStatus.ERROR, Activator.PLUGIN_ID, org.eclipse.linuxtools.internal.lttng2.control.ui.relayd.Messages.LttngRelaydConnectionManager_ConnectionError, e);
- }
- initializeTraceResource(connectionInfo, lttngRelaydConsumer.getTracePath(), project);
- return Status.OK_STATUS;
- } catch (CoreException | TmfTraceImportException e) {
- return new Status(IStatus.ERROR, Activator.PLUGIN_ID, Messages.ImportHandler_LiveTraceInitError, e);
- }
- }
-
- };
- job.setSystem(true);
- job.schedule();
- }
-
-
- private static void initializeTraceResource(final LttngRelaydConnectionInfo connectionInfo, final String tracePath, final IProject project) throws CoreException, TmfTraceImportException {
- IFolder folder = project.getFolder(TmfTracesFolder.TRACES_FOLDER_NAME);
- IFolder traceFolder = folder.getFolder(connectionInfo.getSessionName());
- Path location = new Path(tracePath);
- IStatus result = ResourcesPlugin.getWorkspace().validateLinkLocation(folder, location);
- if (result.isOK()) {
- traceFolder.createLink(location, IResource.REPLACE, new NullProgressMonitor());
- } else {
- throw new CoreException(new Status(IStatus.ERROR, Activator.PLUGIN_ID, result.getMessage()));
- }
-
- TraceTypeHelper selectedTraceType = TmfTraceTypeUIUtils.selectTraceType(location.toOSString(), null, null);
- // No trace type was determined.
- TmfTraceTypeUIUtils.setTraceType(traceFolder, selectedTraceType);
-
- final TmfProjectElement projectElement = TmfProjectRegistry.getProject(project, true);
- final TmfTraceFolder tracesFolder = projectElement.getTracesFolder();
- final List<TmfTraceElement> traces = tracesFolder.getTraces();
- TmfTraceElement found = null;
- for (TmfTraceElement candidate : traces) {
- if (candidate.getName().equals(connectionInfo.getSessionName())) {
- found = candidate;
- }
- }
-
- if (found == null) {
- throw new CoreException(new Status(IStatus.ERROR, Activator.PLUGIN_ID, Messages.ImportHandler_LiveTraceElementError));
- }
-
- // Properties used to be able to reopen a trace in live mode
- traceFolder.setPersistentProperty(CtfConstants.LIVE_HOST, connectionInfo.getHost());
- traceFolder.setPersistentProperty(CtfConstants.LIVE_PORT, Integer.toString(connectionInfo.getPort()));
- traceFolder.setPersistentProperty(CtfConstants.LIVE_SESSION_NAME, connectionInfo.getSessionName());
-
- final TmfTraceElement finalTrace = found;
- Display.getDefault().syncExec(new Runnable() {
-
- @Override
- public void run() {
- TmfOpenTraceHelper.openTraceFromElement(finalTrace);
- }
- });
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/handlers/NewConnectionHandler.java b/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/handlers/NewConnectionHandler.java
deleted file mode 100644
index 9defc96c0e..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/handlers/NewConnectionHandler.java
+++ /dev/null
@@ -1,154 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2012, 2014 Ericsson and others
- *
- * 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:
- * Bernd Hufmann - Initial API and implementation
- * Anna Dushistova(Montavista) - [382684] Allow reusing already defined connections that have Files and Shells subsystems
- * Markus Schorn - Bug 448058: Use org.eclipse.remote in favor of RSE
- **********************************************************************/
-package org.eclipse.linuxtools.internal.lttng2.control.ui.views.handlers;
-
-import java.util.Map;
-
-import org.eclipse.core.commands.ExecutionEvent;
-import org.eclipse.core.commands.ExecutionException;
-import org.eclipse.jface.window.Window;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.ControlView;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.Workaround_Bug449362;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.dialogs.INewConnectionDialog;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.dialogs.TraceControlDialogFactory;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.model.ITraceControlComponent;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.model.impl.TargetNodeComponent;
-import org.eclipse.remote.core.IRemoteConnection;
-import org.eclipse.remote.core.IRemoteServices;
-import org.eclipse.remote.core.RemoteServices;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.PlatformUI;
-
-/**
- * <p>
- * Command handler for creation of a new connection for trace control.
- * <br> By supplying arguments for the parameters with id {@link #PARAMETER_REMOTE_SERVICES_ID} and
- * {@link #PARAMETER_CONNECTION_NAME}, the caller can specify the remote connection that will
- * be added to the trace control. In case one of the optional arguments is not supplied, the handler
- * opens a dialog for selecting a remote connection.
- * </p>
- *
- * @author Bernd Hufmann
- */
-public class NewConnectionHandler extends BaseControlViewHandler {
-
- /**
- * Id of the parameter for the remote services id.
- * @see NewConnectionHandler
- * @see IRemoteServices#getId()
- */
- public static final String PARAMETER_REMOTE_SERVICES_ID = "org.eclipse.linuxtools.lttng2.control.ui.remoteServicesIdParameter"; //$NON-NLS-1$
- /**
- * Id of the parameter for the name of the remote connection.
- * @see NewConnectionHandler
- * @see IRemoteServices#getName()
- */
- public static final String PARAMETER_CONNECTION_NAME = "org.eclipse.linuxtools.lttng2.control.ui.connectionNameParameter"; //$NON-NLS-1$
-
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
-
- /**
- * The parent trace control component the new node will be added to.
- */
- private ITraceControlComponent fRoot = null;
-
- @Override
- public Object execute(ExecutionEvent event) throws ExecutionException {
- assert (fRoot != null);
-
- IWorkbenchWindow window = PlatformUI.getWorkbench().getActiveWorkbenchWindow();
- if (window == null) {
- return false;
- }
-
- IRemoteConnection connection = getConnection(event.getParameters());
- if (connection != null) {
- fLock.lock();
- try {
- // successful creation of host
- TargetNodeComponent node = null;
- if (!fRoot.containsChild(connection.getName())) {
- node = new TargetNodeComponent(connection.getName(), fRoot, connection);
- fRoot.addChild(node);
- } else {
- node = (TargetNodeComponent)fRoot.getChild(connection.getName());
- }
-
- node.connect();
- } finally {
- fLock.unlock();
- }
- }
- return null;
- }
-
- private static IRemoteConnection getConnection(Map<?,?> parameters) {
- // First check whether arguments have been supplied
- Object remoteServicesId = parameters.get(PARAMETER_REMOTE_SERVICES_ID);
- Object connectionName = parameters.get(PARAMETER_CONNECTION_NAME);
- if (remoteServicesId != null && connectionName != null) {
- if (!Workaround_Bug449362.triggerRSEStartup(remoteServicesId.toString())) {
- // Skip the connection in order to avoid an infinite loop
- } else {
- IRemoteServices rs = RemoteServices.getRemoteServices(remoteServicesId.toString());
- if (rs != null) {
- return rs.getConnectionManager().getConnection(connectionName.toString());
- }
- }
- return null;
- }
-
- // Without the arguments, open dialog box for the node name and address
- final INewConnectionDialog dialog = TraceControlDialogFactory.getInstance().getNewConnectionDialog();
- if (dialog.open() == Window.OK) {
- return dialog.getConnection();
- }
-
- return null;
- }
-
- @Override
- public boolean isEnabled() {
-
- // Get workbench page for the Control View
- IWorkbenchPage page = getWorkbenchPage();
- if (page == null) {
- return false;
- }
-
- ITraceControlComponent root = null;
-
- // no need to verify part because it has been already done in getWorkbenchPage()
- IWorkbenchPart part = page.getActivePart();
- root = ((ControlView) part).getTraceControlRoot();
-
- boolean isEnabled = root != null;
-
- fLock.lock();
- try {
- fRoot = null;
- if (isEnabled) {
- fRoot = root;
- }
- } finally {
- fLock.unlock();
- }
-
- return isEnabled;
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/handlers/RefreshHandler.java b/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/handlers/RefreshHandler.java
deleted file mode 100644
index ba28a4de72..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/handlers/RefreshHandler.java
+++ /dev/null
@@ -1,105 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2012, 2013 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:
- * Bernd Hufmann - Initial API and implementation
- **********************************************************************/
-package org.eclipse.linuxtools.internal.lttng2.control.ui.views.handlers;
-
-import java.util.Iterator;
-
-import org.eclipse.core.commands.ExecutionEvent;
-import org.eclipse.core.commands.ExecutionException;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.TargetNodeState;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.ControlView;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.model.impl.TargetNodeComponent;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.model.impl.TraceControlComponent;
-import org.eclipse.ui.IWorkbenchPage;
-
-/**
- * <p>
- * Command handler implementation to refresh node configuration.
- * </p>
- *
- * @author Bernd Hufmann
- */
-public class RefreshHandler extends BaseControlViewHandler {
-
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
-
- /**
- * The node component reference.
- */
- private TargetNodeComponent fNode;
-
- // ------------------------------------------------------------------------
- // Operations
- // ------------------------------------------------------------------------
-
- @Override
- public Object execute(ExecutionEvent event) throws ExecutionException {
- fLock.lock();
- try {
- fNode.refresh();
- } finally {
- fLock.unlock();
- }
- return null;
- }
-
- @Override
- public boolean isEnabled() {
-
- // Get workbench page for the Control View
- IWorkbenchPage page = getWorkbenchPage();
- if (page == null) {
- return false;
- }
-
- TargetNodeComponent node = null;
- // Check if one or more session are selected
- ISelection selection = page.getSelection(ControlView.ID);
- if (selection instanceof StructuredSelection) {
-
- StructuredSelection structered = ((StructuredSelection) selection);
- for (Iterator<?> iterator = structered.iterator(); iterator.hasNext();) {
- Object element = iterator.next();
- if (element instanceof TraceControlComponent) {
- TraceControlComponent component = (TraceControlComponent) element;
- boolean isConnected = component.getTargetNodeState() == TargetNodeState.CONNECTED;
- if (isConnected) {
- while ((component != null) && component.getClass() != TargetNodeComponent.class) {
- component = (TraceControlComponent) component.getParent();
- }
- if (component != null) {
- node = (TargetNodeComponent) component;
- }
- }
- }
- }
- }
-
- boolean isEnabled = node != null;
-
- fLock.lock();
- try {
- fNode = null;
- if (isEnabled) {
- fNode = node;
- }
- } finally {
- fLock.unlock();
- }
-
- return isEnabled;
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/handlers/SnaphshotHandler.java b/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/handlers/SnaphshotHandler.java
deleted file mode 100644
index 25b52c4089..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/handlers/SnaphshotHandler.java
+++ /dev/null
@@ -1,130 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2013, 2014 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:
- * Bernd Hufmann - Initial API and implementation
- **********************************************************************/
-package org.eclipse.linuxtools.internal.lttng2.control.ui.views.handlers;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.core.commands.ExecutionEvent;
-import org.eclipse.core.commands.ExecutionException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.MultiStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.core.runtime.jobs.Job;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.TraceSessionState;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.Activator;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.ControlView;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.messages.Messages;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.model.impl.TraceSessionComponent;
-import org.eclipse.ui.IWorkbenchPage;
-
-/**
- * <p>
- * Command handler implementation to record a snapshot.
- * </p>
- *
- * @author Bernd Hufmann
- */
-public class SnaphshotHandler extends BaseControlViewHandler {
-
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
- /**
- * The list of session components the command is to be executed on.
- */
- protected List<TraceSessionComponent> fSessions = new ArrayList<>();
-
- // ------------------------------------------------------------------------
- // Operations
- // ------------------------------------------------------------------------
-
- @Override
- public Object execute(ExecutionEvent event) throws ExecutionException {
- fLock.lock();
- try {
- // Make a copy for thread safety
- final List<TraceSessionComponent> sessions = new ArrayList<>();
- sessions.addAll(fSessions);
-
- Job job = new Job(Messages.TraceControl_RecordSnapshotJob) {
- @Override
- protected IStatus run(IProgressMonitor monitor) {
- MultiStatus status = new MultiStatus(Activator.PLUGIN_ID, IStatus.OK, null, null);
- for (Iterator<TraceSessionComponent> iterator = sessions.iterator(); iterator.hasNext();) {
- try {
- // record snapshot for all selected sessions sequentially
- TraceSessionComponent session = iterator.next();
- session.recordSnapshot(monitor);
- if (monitor.isCanceled()) {
- status.add(Status.CANCEL_STATUS);
- break;
- }
- } catch (ExecutionException e) {
- status.add(new Status(IStatus.ERROR, Activator.PLUGIN_ID, Messages.TraceControl_RecordSnapshotFailure, e));
- }
- }
- return status;
- }
- };
- job.setUser(true);
- job.schedule();
- } finally {
- fLock.unlock();
- }
- return null;
- }
-
- @Override
- public boolean isEnabled() {
- // Get workbench page for the Control View
- IWorkbenchPage page = getWorkbenchPage();
- if (page == null) {
- return false;
- }
-
- List<TraceSessionComponent> sessions = new ArrayList<>(0);
-
- // Check if one session is selected
- ISelection selection = page.getSelection(ControlView.ID);
- if (selection instanceof StructuredSelection) {
- StructuredSelection structered = ((StructuredSelection) selection);
- for (Iterator<?> iterator = structered.iterator(); iterator.hasNext();) {
- Object element = iterator.next();
- if (element instanceof TraceSessionComponent) {
- // Add only if corresponding TraceSessionComponent is an active snapshot session and not destroyed
- TraceSessionComponent session = (TraceSessionComponent) element;
- if(session.isSnapshotSession() &&
- session.getSessionState() == TraceSessionState.ACTIVE &&
- !session.isDestroyed()) {
- sessions.add(session);
- }
- }
- }
- }
- boolean isEnabled = !sessions.isEmpty();
- fLock.lock();
- try {
- fSessions = null;
- if (isEnabled) {
- fSessions = sessions;
- }
- } finally {
- fLock.unlock();
- }
- return isEnabled;
- }
-} \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/handlers/StartHandler.java b/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/handlers/StartHandler.java
deleted file mode 100644
index 841cce33f4..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/handlers/StartHandler.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2012, 2013 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:
- * Bernd Hufmann - Initial API and implementation
- **********************************************************************/
-package org.eclipse.linuxtools.internal.lttng2.control.ui.views.handlers;
-
-import org.eclipse.core.commands.ExecutionException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.TraceSessionState;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.model.impl.TraceSessionComponent;
-
-/**
- * <p>
- * Command handler implementation to start one or more trace sessions.
- * </p>
- *
- * @author Bernd Hufmann
- */
-public class StartHandler extends ChangeSessionStateHandler {
-
- // ------------------------------------------------------------------------
- // Accessors
- // ------------------------------------------------------------------------
-
- @Override
- public TraceSessionState getNewState() {
- return TraceSessionState.ACTIVE;
- }
-
- // ------------------------------------------------------------------------
- // Operations
- // ------------------------------------------------------------------------
-
- @Override
- public void changeState(TraceSessionComponent session, IProgressMonitor monitor) throws ExecutionException {
- session.startSession(monitor);
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/handlers/StopHandler.java b/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/handlers/StopHandler.java
deleted file mode 100644
index fc44dd676a..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/handlers/StopHandler.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2012, 2013 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:
- * Bernd Hufmann - Initial API and implementation
- **********************************************************************/
-package org.eclipse.linuxtools.internal.lttng2.control.ui.views.handlers;
-
-import org.eclipse.core.commands.ExecutionException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.TraceSessionState;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.model.impl.TraceSessionComponent;
-
-/**
- * <p>
- * Command handler implementation to stop one or more trace sessions.
- * </p>
- *
- * @author Bernd Hufmann
- */
-public class StopHandler extends ChangeSessionStateHandler {
-
- // ------------------------------------------------------------------------
- // Accessors
- // ------------------------------------------------------------------------
-
- @Override
- public TraceSessionState getNewState() {
- return TraceSessionState.INACTIVE;
- }
-
- // ------------------------------------------------------------------------
- // Operations
- // ------------------------------------------------------------------------
-
- @Override
- public void changeState(TraceSessionComponent session, IProgressMonitor monitor) throws ExecutionException {
- session.stopSession(monitor);
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/handlers/XmlMiValidationErrorHandler.java b/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/handlers/XmlMiValidationErrorHandler.java
deleted file mode 100644
index 6f6f5f7f7b..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/handlers/XmlMiValidationErrorHandler.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2014 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:
- * Jonathan Rajotte - Initial implementation
- **********************************************************************/
-
-package org.eclipse.linuxtools.internal.lttng2.control.ui.views.handlers;
-
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.messages.Messages;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.service.LTTngControlServiceMI;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.Activator;
-import org.xml.sax.ErrorHandler;
-import org.xml.sax.SAXException;
-import org.xml.sax.SAXParseException;
-
-/**
- * <p>
- * Error handler for xml xsd validation while using machine interface mode
- * in {@link LTTngControlServiceMI}.
- * </p>
- *
- * @author Jonathan Rajotte
- */
-public class XmlMiValidationErrorHandler implements ErrorHandler {
-
- @Override
- public void error(SAXParseException e) throws SAXException {
- Activator.getDefault().logError(Messages.TraceControl_XmlValidationError, e);
- throw new SAXException(Messages.TraceControl_XmlValidationError, e);
- }
-
- @Override
- public void fatalError(SAXParseException e) throws SAXException {
- Activator.getDefault().logError(Messages.TraceControl_XmlValidationError, e);
- throw new SAXException(Messages.TraceControl_XmlValidationError, e);
- }
-
- @Override
- public void warning(SAXParseException e) throws SAXException {
- Activator.getDefault().logWarning(Messages.TraceControl_XmlValidationWarning, e);
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/logging/ControlCommandLogger.java b/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/logging/ControlCommandLogger.java
deleted file mode 100644
index c308483c0b..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/logging/ControlCommandLogger.java
+++ /dev/null
@@ -1,117 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2012, 2013 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:
- * Bernd Hufmann - Initial API and implementation
- **********************************************************************/
-package org.eclipse.linuxtools.internal.lttng2.control.ui.views.logging;
-
-import java.io.BufferedWriter;
-import java.io.FileWriter;
-import java.io.IOException;
-
-import org.eclipse.linuxtools.internal.lttng2.control.ui.Activator;
-
-/**
- * <p>
- * Class to log control commands.
- * </p>
- *
- * @author Bernd Hufmann
- */
-final public class ControlCommandLogger {
-
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
- /**
- * The bufferd writer reference
- */
- private static BufferedWriter fTraceLog = null;
-
- // ------------------------------------------------------------------------
- // Constructor
- // ------------------------------------------------------------------------
- private ControlCommandLogger() {
- }
-
- // ------------------------------------------------------------------------
- // Operations
- // ------------------------------------------------------------------------
- /**
- * Initializes the logger class and opens the log file with the given parameter.
- * @param filename - file name of logger output
- * @param append - true to open log file in append mode else false (overwrite)
- */
- public static void init(String filename, boolean append) {
- if (fTraceLog != null) {
- close();
- }
- fTraceLog = openLogFile(filename, append);
- }
-
- /**
- * Closes the log file if open.
- */
- public static void close() {
- if (fTraceLog == null) {
- return;
- }
-
- try {
- fTraceLog.close();
- fTraceLog = null;
- } catch (IOException e) {
- Activator.getDefault().logWarning("Can't close log file of the trace control", e); //$NON-NLS-1$
- }
- }
-
- /**
- * Logs a message to the log file.
- * @param msg - message (e.g. command or command result) to log
- */
- @SuppressWarnings("nls")
- public static void log(String msg) {
- long currentTime = System.currentTimeMillis();
- StringBuilder message = new StringBuilder("[");
- message.append(currentTime / 1000);
- message.append(".");
- message.append(String.format("%1$03d", currentTime % 1000));
- message.append("] ");
- message.append(msg);
- if (fTraceLog != null) {
- try {
- fTraceLog.write(message.toString());
- fTraceLog.newLine();
- fTraceLog.flush();
- } catch (IOException e) {
- Activator.getDefault().logError("Can't log message in log file of the tracer control", e); //$NON-NLS-1$
- }
- }
- }
-
- // ------------------------------------------------------------------------
- // Helper methods
- // ------------------------------------------------------------------------
- /**
- * Opens the trace log file with given name in the workspace root directory
- * @param filename - file name of logger output
- * @param append - true to open log file in append mode else false (overwrite)
- * @return the buffer writer class or null if not successful
- */
- private static BufferedWriter openLogFile(String filename, boolean append) {
- BufferedWriter outfile = null;
- try {
- outfile = new BufferedWriter(new FileWriter(filename, append));
- } catch (IOException e) {
- Activator.getDefault().logError("Can't open log file for logging of tracer control commands: " + filename, e); //$NON-NLS-1$
- }
- return outfile;
- }
-}
-
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/messages/Messages.java b/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/messages/Messages.java
deleted file mode 100644
index c6d7c4f210..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/messages/Messages.java
+++ /dev/null
@@ -1,350 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2012, 2014 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:
- * Bernd Hufmann - Initial API and implementation
- * Bernd Hufmann - Updated for support of LTTng Tools 2.1
- * Jonathan Rajotte - Updated for basic support of LTTng 2.6 machine interface
- * Markus Schorn - Bug 448058: Use org.eclipse.remote in favor of RSE
- *******************************************************************************/
-
-package org.eclipse.linuxtools.internal.lttng2.control.ui.views.messages;
-
-import org.eclipse.osgi.util.NLS;
-
-/**
- * Messages file for the trace control package.
- *
- * @author Bernd Hufmann
- */
-@SuppressWarnings("javadoc")
-public final class Messages extends NLS {
-
- private static final String BUNDLE_NAME = "org.eclipse.linuxtools.internal.lttng2.control.ui.views.messages.messages"; //$NON-NLS-1$
-
- public static String EnableChannelDialog_DefaultMessage;
-
- public static String ImportHandler_LiveTraceElementError;
-
- public static String ImportHandler_LiveTraceInitError;
-
- // Failures
- public static String TraceControl_ConnectionFailure;
- public static String TraceControl_DisconnectionFailure;
- public static String TraceControl_ExecutionCancelled;
- public static String TraceControl_ExecutionFailure;
- public static String TraceControl_ExecutionTimeout;
- public static String TraceControl_ShellNotConnected;
-
- public static String TraceControl_CommandShellError;
- public static String TraceControl_CommandError;
- public static String TraceControl_UnexpectedCommandOutputFormat;
- public static String TraceControl_UnexpectedNameError;
- public static String TraceControl_UnexpectedPathError;
- public static String TraceControl_UnexpectedNumberOfElementError;
- public static String TraceControl_UnexpectedValueError;
-
- public static String TraceControl_UnsupportedVersionError;
- public static String TraceControl_GettingVersionError;
-
- // Xml parsing related failures
- public static String TraceControl_InvalidSchemaError;
- public static String TraceControl_XmlDocumentBuilderError;
- public static String TraceControl_XmlParsingError;
- public static String TraceControl_XmlValidationError;
- public static String TraceControl_XmlValidationWarning;
-
- // Xml machine interface failures
- public static String TraceControl_MiInvalidNumberOfElementError;
- public static String TraceControl_MiInvalidProviderError;
- public static String TraceControl_MiMissingRequiredError;
- public static String TraceControl_MiInvalidElementError;
- public static String TraceControl_MiIllegalValueError;
-
- // Commands
- public static String TraceControl_ErrorTitle;
- public static String TraceControl_RetrieveNodeConfigurationJob;
- public static String TraceControl_RetrieveNodeConfigurationFailure;
- public static String TraceControl_ListSessionFailure;
- public static String TraceControl_EclipseCommandFailure;
- public static String TraceControl_NewNodeCreateButtonText;
-
- public static String TraceControl_NewNodeCreationFailure;
- public static String TraceControl_CreateSessionJob;
- public static String TraceControl_CreateSessionFailure;
-
- public static String TraceControl_DestroySessionJob;
- public static String TraceControl_DestroySessionFailure;
- public static String TraceControl_DestroyConfirmationTitle;
- public static String TraceControl_DestroyConfirmationMessage;
-
- public static String TraceControl_ImportJob;
- public static String TraceControl_DownloadTask;
- public static String TraceControl_ImportFailure;
-
- public static String TraceControl_ChangeSessionStateJob;
- public static String TraceControl_ChangeSessionStateFailure;
-
- public static String TraceControl_CreateChannelStateJob;
- public static String TraceControl_CreateChannelStateFailure;
-
- public static String TraceControl_ChangeChannelStateJob;
- public static String TraceControl_ChangeChannelStateFailure;
- public static String TraceControl_ChangeEventStateJob;
- public static String TraceControl_ChangeEventStateFailure;
-
- public static String TraceControl_EnableEventsJob;
- public static String TraceControl_EnableEventsFailure;
- public static String TraceControl_DisableEventsJob;
-
- public static String TraceControl_GetContextJob;
- public static String TraceControl_GetContextFailure;
-
- public static String TraceControl_AddContextJob;
- public static String TraceControl_AddContextFailure;
-
- public static String TraceControl_AddCalibrateJob;
- public static String TraceControl_AddCalibrateFailure;
-
- public static String TraceControl_RecordSnapshotJob;
- public static String TraceControl_RecordSnapshotFailure;
-
- // Dialogs
- public static String TraceControl_NewDialogTitle;
- public static String TraceControl_NewNodeExistingConnectionGroupName;
- public static String TraceControl_NewNodeEditButtonName;
- public static String TraceControl_NewNodeComboToolTip;
- public static String TraceControl_NewNodeConnectionNameLabel;
- public static String TraceControl_NewNodeConnectionNameTooltip;
- public static String TraceControl_NewNodeHostNameLabel;
- public static String TraceControl_NewNodeHostNameTooltip;
- public static String TraceControl_NewNodePortLabel;
- public static String TraceControl_NewNodePortTooltip;
- public static String TraceControl_AlreadyExistsError;
-
- public static String TraceControl_CreateSessionDialogTitle;
- public static String TraceControl_CreateSessionDialogMessage;
- public static String TraceControl_CreateSessionNameLabel;
- public static String TraceControl_CreateSessionNameTooltip;
- public static String TraceControl_CreateSessionPathLabel;
- public static String TraceControl_CreateSessionPathTooltip;
- public static String TraceControl_CreateSessionNormalLabel;
- public static String TraceControl_CreateSessionNormalTooltip;
- public static String TraceControl_CreateSessionSnapshotLabel;
- public static String TraceControl_CreateSessionSnapshotTooltip;
- public static String TraceControl_CreateSessionLiveLabel;
- public static String TraceControl_CreateSessionLiveTooltip;
-
- public static String TraceControl_CreateSessionConfigureStreamingButtonText;
- public static String TraceControl_CreateSessionConfigureStreamingButtonTooltip;
- public static String TraceControl_CreateSessionNoStreamingButtonText;
- public static String TraceControl_CreateSessionNoStreamingButtonTooltip;
- public static String TraceControl_CreateSessionTracePathText;
- public static String TraceControl_CreateSessionTracePathTooltip;
- public static String TraceControl_CreateSessionLinkButtonText;
- public static String TraceControl_CreateSessionLinkButtonTooltip;
- public static String TraceControl_CreateSessionProtocolLabelText;
- public static String TraceControl_CreateSessionAddressLabelText;
- public static String TraceControl_CreateSessionPortLabelText;
- public static String TraceControl_CreateSessionControlUrlLabel;
- public static String TraceControl_CreateSessionDataUrlLabel;
- public static String TraceControl_CreateSessionCommonProtocolTooltip;
- public static String TraceControl_CreateSessionControlAddressTooltip;
- public static String TraceControl_CreateSessionControlPortTooltip;
- public static String TraceControl_CreateSessionProtocolTooltip;
- public static String TraceControl_CreateSessionDataAddressTooltip;
- public static String TraceControl_CreateSessionDataPortTooltip;
- public static String TraceControl_CreateSessionNoConsumertText;
- public static String TraceControl_CreateSessionNoConsumertTooltip;
- public static String TraceControl_CreateSessionDisableConsumertText;
- public static String TraceControl_CreateSessionDisableConsumertTooltip;
- public static String TraceControl_CreateSessionLiveConnectionLabel;
- public static String TraceControl_CreateSessionLiveConnectionUrlTooltip;
- public static String TraceControl_CreateSessionLiveConnectionPortTooltip;
- public static String TraceControl_CreateSessionLiveDelayLabel;
- public static String TraceControl_CreateSessionLiveDelayTooltip;
-
- public static String TraceControl_InvalidSessionNameError;
- public static String TraceControl_SessionAlreadyExistsError;
- public static String TraceControl_SessionPathAlreadyExistsError;
- public static String TraceControl_InvalidSessionPathError;
- public static String TraceControl_InvalidLiveDelayError;
- public static String TraceControl_FileSubSystemError;
-
- public static String TraceControl_EnableChannelDialogTitle;
- public static String TraceControl_EnableChannelNameLabel;
- public static String TraceControl_EnableChannelNameTooltip;
- public static String TraceControl_EnableChannelSubBufferSizeTooltip;
- public static String TraceControl_EnableChannelNbSubBuffersTooltip;
- public static String TraceControl_EnableChannelSwitchTimerTooltip;
- public static String TraceControl_EnableChannelReadTimerTooltip;
- public static String TraceControl_EnableChannelOutputTypeTooltip;
- public static String TraceControl_EnableChannelDiscardModeGroupName;
- public static String TraceControl_EnableChannelDiscardModeLabel;
- public static String TraceControl_EnableChannelDiscardModeTooltip;
- public static String TraceControl_EnableChannelOverwriteModeLabel;
- public static String TraceControl_EnableChannelOverwriteModeTooltip;
- public static String TraceControl_EnbleChannelMaxSizeTraceFilesTooltip;
- public static String TraceControl_EnbleChannelMaxNumTraceFilesTooltip;
-
- public static String TraceControl_InvalidChannelNameError;
- public static String TraceControl_ChannelAlreadyExistsError;
-
- public static String TraceControl_EnableEventsDialogTitle;
- public static String TraceControl_EnableEventsSessionGroupName;
- public static String TraceControl_EnableEventsChannelGroupName;
- public static String TraceControl_EnableEventsSessionsTooltip;
- public static String TraceControl_EnableEventsChannelsTooltip;
- public static String TraceControl_EnableEventsNoSessionError;
- public static String TraceControl_EnableEventsNoChannelError;
-
- public static String TraceControl_EnableGroupSelectionName;
- public static String TraceControl_EnableEventsTracepointGroupName;
- public static String TraceControl_EnableEventsTracepointTreeTooltip;
- public static String TraceControl_EnableEventsTracepointTreeAllLabel;
- public static String TraceControl_EnableEventsSyscallName;
- public static String TraceControl_EnableEventsSyscallTooltip;
- public static String TraceControl_EnableEventsProbeGroupName;
- public static String TraceControl_EnableEventsEventNameLabel;
- public static String TraceControl_EnableEventsProbeEventNameTooltip;
- public static String TraceControl_EnableEventsProbeNameLabel;
- public static String TraceControl_EnableEventsProbeNameTooltip;
- public static String TraceControl_EnableEventsFucntionGroupName;
- public static String TraceControl_EnableEventsFunctionEventNameTooltip;
- public static String TraceControl_EnableEventsFunctionNameLabel;
-
- public static String TraceControl_EnableEventsWildcardGroupName;
- public static String TraceControl_EnableEventsWildcardLabel;
- public static String TraceControl_EnableEventsWildcardTooltip;
- public static String TraceControl_EnableEventsLogLevelGroupName;
- public static String TraceControl_EnableEventsLogLevelTypeName;
- public static String TraceControl_EnableEventsLogLevelTypeTooltip;
- public static String TraceControl_EnableEventsLogLevelOnlyTypeName;
- public static String TraceControl_EnableEventsLogLevelOnlyTypeTooltip;
- public static String TraceControl_EnableEventsLogLevelTooltip;
- public static String TraceControl_EnableEventsLoglevelEventNameTooltip;
- public static String TraceControl_EnableEventsFilterGroupName;
- public static String TraceControl_EnableEventsFilterTooltip;
-
- public static String TraceControl_InvalidProbeNameError;
- public static String TraceControl_InvalidWildcardError;
- public static String TraceControl_InvalidLogLevelEventNameError;
- public static String TraceControl_InvalidLogLevel;
-
- public static String TraceControl_AddContextDialogTitle;
- public static String TraceControl_AddContextAvailableContextsLabel;
- public static String TraceControl_AddContextAvailableContextsTooltip;
- public static String TraceControl_AddContextAllLabel;
-
- public static String TraceControl_ImportDialogStreamedTraceNotification;
- public static String TraceControl_ImportDialogStreamedTraceNotificationToggle;
- public static String TraceControl_ImportDialogTitle;
- public static String TraceControl_ImportDialogTracesGroupName;
- public static String TraceControl_ImportDialogTracesTooltip;
- public static String TraceControl_ImportDialogProjectsGroupName;
- public static String TraceControl_ImportDialogProjectsTooltip;
- public static String TraceControl_ImportDialogOverwriteButtonText;
- public static String TraceControl_ImportDialogCreationError;
- public static String TraceControl_ImportDialogNoProjectSelectedError;
- public static String TraceControl_ImportDialogInvalidTracingProject;
- public static String TraceControl_ImportDialogNoTraceSelectedError;
- public static String TraceControl_ImportDialog_SelectAll;
- public static String TraceControl_ImportDialog_DeselectAll;
-
- public static String TraceControl_ImportDialogConfirmationTitle;
- public static String TraceControl_ImportDialogConfirmationOverwriteLabel;
- public static String TraceControl_ImportDialogConfirmationRenameLabel;
- public static String TraceControl_ImportDialogConfirmationNewNameLabel;
- public static String TraceControl_InvalidTraceNameError;
- public static String TraceControl_ImportDialogTraceAlreadyExistError;
-
- // Tree structure strings
- public static String TraceControl_KernelDomainDisplayName;
- public static String TraceControl_UstDisplayName;
- public static String TraceControl_UstGlobalDomainDisplayName;
- public static String TraceControl_UnknownDomainDisplayName;
- public static String TraceControl_JULDomainDisplayName;
- public static String TraceControl_AllSessionsDisplayName;
- public static String TraceControl_SessionDisplayName;
- public static String TraceControl_DomainDisplayName;
- public static String TraceControl_BufferTypeDisplayName;
- public static String TraceControl_ChannelDisplayName;
- public static String TraceControl_EventDisplayName;
- public static String TraceControl_ProviderDisplayName;
- public static String TraceControl_KernelProviderDisplayName;
- public static String TraceControl_SharedBuffersDisplayName;
- public static String TraceControl_PerPidBuffersDisplayName;
- public static String TraceControl_PerPidBuffersTooltip;
- public static String TraceControl_PerUidBuffersDisplayName;
- public static String TraceControl_PerUidBuffersTooltip;
-
- // Property names
- public static String TraceControl_SessionNamePropertyName;
- public static String TraceControl_EventNamePropertyName;
- public static String TraceControl_EventTypePropertyName;
- public static String TraceControl_LogLevelPropertyName;
- public static String TraceControl_FieldsPropertyName;
- public static String TraceControl_FilterPropertyName;
- public static String TraceControl_StatePropertyName;
- public static String TraceControl_VersionPropertyName;
- public static String TraceControl_DomainNamePropertyName;
- public static String TraceControl_BufferTypePropertyName;
- public static String TraceControl_ChannelNamePropertyName;
- public static String TraceControl_OpenConnectionTo;
-
- public static String TraceControl_OverwriteModePropertyName;
- public static String TraceControl_SubBufferSizePropertyName;
- public static String TraceControl_NbSubBuffersPropertyName;
- public static String TraceControl_SwitchTimerPropertyName;
- public static String TraceControl_ReadTimerPropertyName;
- public static String TraceControl_OutputTypePropertyName;
- public static String TraceControl_HostNamePropertyName;
- public static String TraceControl_HostAddressPropertyName;
- public static String TraceControl_SessionPathPropertyName;
- public static String TraceControl_SnapshotPathPropertyName;
- public static String TraceControl_SnapshotNamePropertyName;
- public static String TraceControl_SnapshotIdPropertyName;
- public static String TraceControl_ProviderNamePropertyName;
- public static String TraceControl_ProcessIdPropertyName;
- public static String TraceControl_ProbeAddressPropertyName;
- public static String TraceControl_ProbeOffsetPropertyName;
- public static String TraceControl_ProbeSymbolPropertyName;
- public static String TraceControl_MaxSizeTraceFilesPropertyName;
- public static String TraceControl_MaxNumTraceFilesPropertyName;
- public static String TraceControl_ConfigureMetadataChannelName;
-
- // Preferences
- public static String TraceControl_TracingGroupPreference;
- public static String TraceControl_LoggingPreference;
- public static String TraceControl_LogfilePath;
- public static String TraceControl_AppendLogfilePreference;
- public static String TraceControl_CommandTimeout;
-
- public static String TraceControl_VerboseLevelsPreference;
- public static String TraceControl_VerboseLevelNonePreference;
- public static String TraceControl_VerboseLevelVerbosePreference;
- public static String TraceControl_VerboseLevelVeryVerbosePreference;
- public static String TraceControl_VerboseLevelVeryVeryVerbosePreference;
-
- public static String TraceControl_ExecuteScriptJob;
- public static String TraceControl_ExecuteScriptError;
-
- public static String TraceControl_ExecuteScriptDialogTitle;
- public static String TraceControl_ExecuteScriptBrowseText;
- public static String TraceControl_ExecuteScriptSelectLabel;
-
- public static String TraceControl_UnknownNode;
-
- static {
- // initialize resource bundle
- NLS.initializeMessages(BUNDLE_NAME, Messages.class);
- }
-
- private Messages() {
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/messages/messages.properties b/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/messages/messages.properties
deleted file mode 100644
index 2dc687a0d4..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/messages/messages.properties
+++ /dev/null
@@ -1,324 +0,0 @@
-###############################################################################
-# Copyright (c) 2012, 2014 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:
-# Bernd Hufmann - initial API and implementation
-# Jonathan Rajotte - updated for basic support of LTTng 2.6 machine interface
-###############################################################################
-
-EnableChannelDialog_DefaultMessage=Default
-ImportHandler_LiveTraceElementError=Could not find trace element
-ImportHandler_LiveTraceInitError=Error initializing live trace.
-TraceControl_ConnectionFailure=Connecting to host failed
-TraceControl_DisconnectionFailure=Disconnection from host failed
-TraceControl_ExecutionCancelled=Command Execution cancelled
-TraceControl_ExecutionFailure=Command Execution failed
-TraceControl_ExecutionTimeout=Command Execution timed-out
-TraceControl_ShellNotConnected=Command shell not connected
-TraceControl_CommandShellError=Could not create HostShellProcessAdapter
-TraceControl_CommandError=Command failed! Command:
-TraceControl_UnexpectedCommandOutputFormat=Unexpected command output
-TraceControl_UnexpectedNameError=Unexpected session name returned
-TraceControl_UnexpectedPathError=Unexpected session path returned
-TraceControl_UnexpectedNumberOfElementError=Unexpected number of elements {0} returned
-TraceControl_UnexpectedValueError=Unexpected value. Returned {0} Expected: {1}
-
-TraceControl_UnsupportedVersionError=Unsupported LTTng Tracer Control version
-TraceControl_GettingVersionError=Could not get version of LTTng Tracer Control
-
-# Xml parsing related failures
-TraceControl_InvalidSchemaError=Could not open/validate xsd Schema
-TraceControl_XmlDocumentBuilderError=Unable to create the xml document builder
-TraceControl_XmlParsingError=Unable to parse the xml document
-TraceControl_XmlValidationError=Could not validate the xml response
-TraceControl_XmlValidationWarning=Xml validation warning
-
-# Xml machine interface failures
-TraceControl_MiInvalidNumberOfElementError=Invalid number of element
-TraceControl_MiInvalidProviderError=Invalid provider data
-TraceControl_MiMissingRequiredError=Missing required data
-TraceControl_MiIllegalValueError=Invalid value
-
-# Commands
-TraceControl_MiInvalidElementError=Invalid xml data
-
-TraceControl_ErrorTitle=Error
-TraceControl_ListSessionFailure=List sessions failed
-TraceControl_RetrieveNodeConfigurationJob=Retrieving Target Node Configuration...
-TraceControl_RetrieveNodeConfigurationFailure=Error retrieving node configuration
-TraceControl_EclipseCommandFailure=Command failed
-TraceControl_NewNodeCreateButtonText=Create...
-TraceControl_NewNodeCreationFailure=Creation of new connection failed
-TraceControl_CreateSessionJob=Creating Session...
-TraceControl_CreateSessionFailure=Command to create session failed
-
-TraceControl_DestroySessionJob=Destroying Session...
-TraceControl_DestroySessionFailure=Command to destroy session failed
-TraceControl_DestroyConfirmationTitle=Destroy Confirmation
-TraceControl_DestroyConfirmationMessage=Do you want to delete all selected sessions?
-
-TraceControl_ImportJob=Importing Traces...
-TraceControl_DownloadTask=Downloading
-TraceControl_ImportFailure=Command to import traces failed
-
-TraceControl_ChangeSessionStateJob=Changing Session State...
-TraceControl_ChangeSessionStateFailure=Command to change session state failed...
-
-TraceControl_CreateChannelStateJob=Enabling (creating) channel...
-TraceControl_CreateChannelStateFailure=Command to enable channel failed
-
-TraceControl_ChangeChannelStateJob=Changing State of Channels...
-TraceControl_ChangeChannelStateFailure=Command to change state of channels failed
-TraceControl_ChangeEventStateJob=Changing State of Events...
-TraceControl_ChangeEventStateFailure=Command to change state of events failed
-
-TraceControl_EnableEventsJob=Enabling Events...
-TraceControl_EnableEventsFailure=Command to enable events failed
-TraceControl_DisableEventsJob=Disabling Events...
-
-TraceControl_GetContextJob=Getting Available Contexts...
-TraceControl_GetContextFailure=Command to get available contexts failed
-
-TraceControl_AddContextJob=Adding Contexts...
-TraceControl_AddContextFailure=Command to add contexts failed
-
-TraceControl_AddCalibrateJob=Calibrating...
-TraceControl_AddCalibrateFailure=Command to calibrate failed
-
-TraceControl_RecordSnapshotJob=Record snapshot...
-TraceControl_RecordSnapshotFailure=Command to snapshot record failed
-
-# Dialogs
-TraceControl_NewDialogTitle=New Connection
-TraceControl_NewNodeExistingConnectionGroupName=Select an existing connection, or use a provider to create a new one:
-TraceControl_NewNodeEditButtonName=Edit...
-TraceControl_NewNodeComboToolTip=List of existing connections (connection name - host name)
-TraceControl_NewNodeConnectionNameLabel=Connection Name
-TraceControl_NewNodeConnectionNameTooltip=Alias to be displayed for node to connect to.
-TraceControl_NewNodeHostNameLabel=Host Name
-TraceControl_NewNodeHostNameTooltip=IP Address or DNS name of node to connect to.
-TraceControl_NewNodePortLabel=Port Number
-TraceControl_NewNodePortTooltip=IP Port Number to be used for the connection. Leave empty for default port.
-TraceControl_AlreadyExistsError=Node name already exists in Control View
-
-TraceControl_CreateSessionDialogTitle=Create Session
-TraceControl_CreateSessionDialogMessage=Configure the new tracing session
-TraceControl_CreateSessionNameLabel=Session Name
-TraceControl_CreateSessionNameTooltip=The name of the session to be created.
-TraceControl_CreateSessionPathLabel=Session Path
-TraceControl_CreateSessionPathTooltip=The session path (keep empty for default location)
-TraceControl_CreateSessionNormalLabel=Normal Mode
-TraceControl_CreateSessionNormalTooltip=Configure session in normal mode
-TraceControl_CreateSessionSnapshotLabel=Snapshot Mode
-TraceControl_CreateSessionSnapshotTooltip=Configure session in snapshot mode
-TraceControl_CreateSessionLiveLabel=Live Mode
-TraceControl_CreateSessionLiveTooltip=Configure session in live mode
-
-
-TraceControl_CreateSessionConfigureStreamingButtonText=Advanced
-TraceControl_CreateSessionConfigureStreamingButtonTooltip=Configure advanced options
-TraceControl_CreateSessionNoStreamingButtonText=Basic
-TraceControl_CreateSessionNoStreamingButtonTooltip=Use basic options
-TraceControl_CreateSessionTracePathText=Trace Path
-TraceControl_CreateSessionTracePathTooltip=The trace path (keep empty for default location)
-TraceControl_CreateSessionLinkButtonText=Use same protocol and address for data and control
-TraceControl_CreateSessionLinkButtonTooltip=Use the same protocol and address for the data and control connection
-TraceControl_CreateSessionProtocolLabelText=Protocol
-TraceControl_CreateSessionAddressLabelText=Address
-TraceControl_CreateSessionPortLabelText=Port
-TraceControl_CreateSessionControlUrlLabel=Control URL
-TraceControl_CreateSessionDataUrlLabel=Data URL
-TraceControl_CreateSessionCommonProtocolTooltip=file - Local file system full path\n\
-net or net6 - Default network transport layer which is TCP for both control and data channel.
-TraceControl_CreateSessionControlAddressTooltip=IP Address or DNS name used for control channel.\n\
-NOTE: IPv6 address MUST be enclosed in brackets '[]' (rfc2732)
-TraceControl_CreateSessionControlPortTooltip=The control port (default: 5342).
-TraceControl_CreateSessionProtocolTooltip=file - Local file system full path\n\
-net or net6 - Default network transport layer which is TCP\n\
-tcp or tcp6 - TCP network transport
-TraceControl_CreateSessionDataAddressTooltip=IP Address or DNS name used for data channel.\n\
-NOTE: IPv6 address MUST be enclosed in brackets '[]' (rfc2732)
-TraceControl_CreateSessionDataPortTooltip=The data port (default: 5343).
-TraceControl_CreateSessionNoConsumertText=No Consumer
-TraceControl_CreateSessionNoConsumertTooltip=Don't activate a consumer for this session.
-TraceControl_CreateSessionDisableConsumertText=Disable Consumer
-TraceControl_CreateSessionDisableConsumertTooltip=Disable consumer for this session.
-TraceControl_CreateSessionLiveConnectionLabel=Live Connection
-TraceControl_CreateSessionLiveDelayLabel=Live Delay
-TraceControl_CreateSessionLiveDelayTooltip=The delay in micro seconds before the data is flushed and streamed
-TraceControl_CreateSessionLiveConnectionUrlTooltip=The URL for the live connection (Relayd)
-TraceControl_CreateSessionLiveConnectionPortTooltip=The port for the live connection (Relayd)
-
-TraceControl_InvalidSessionNameError=The session name is invalid
-TraceControl_SessionAlreadyExistsError=The session name already exists
-TraceControl_SessionPathAlreadyExistsError=Session path already exists
-TraceControl_InvalidSessionPathError=The session path is invalid
-TraceControl_InvalidLiveDelayError=Live Delay must be a valid positive number
-TraceControl_FileSubSystemError=File subsystem error in session creation dialog.
-
-TraceControl_EnableChannelDialogTitle=Enable Channel
-TraceControl_EnableChannelNameLabel=Channel Name
-TraceControl_EnableChannelNameTooltip=The name of the channel to be enabled.
-TraceControl_EnableChannelSubBufferSizeTooltip=The sub-buffers size of the channel. Needs to be a power of 2 for kernel and ust tracers (Only for versions prior to 2.2.0).
-TraceControl_EnableChannelNbSubBuffersTooltip=The number of sub-buffers of the channel. Needs to be a power of 2 for kernel and ust tracers (Only for versions prior to 2.2.0).
-TraceControl_EnableChannelSwitchTimerTooltip=The Switch subbuffer timer interval in usec (default: 0). Needs to be a power of 2 for kernel and ust tracers (Only for versions prior to 2.2.0).
-TraceControl_EnableChannelReadTimerTooltip=The Read timer interval in usec.
-TraceControl_EnableChannelOutputTypeTooltip=The output type of the channel.
-TraceControl_EnableChannelDiscardModeGroupName=Discard Mode
-TraceControl_EnableChannelDiscardModeLabel=Discard
-TraceControl_EnableChannelDiscardModeTooltip=Discard event when subbuffers are full
-TraceControl_EnableChannelOverwriteModeLabel=Overwrite
-TraceControl_EnableChannelOverwriteModeTooltip=Flight recorder mode : overwrites events when subbuffers are full
-TraceControl_EnbleChannelMaxSizeTraceFilesTooltip=Maximum size of each tracefile within a stream (in bytes). 0 means unlimited
-TraceControl_EnbleChannelMaxNumTraceFilesTooltip=Used in conjunction with the maximum size of trace files option, this will limit the number of files created to the specified count. 0 means unlimited
-
-TraceControl_InvalidChannelNameError=The channel name is invalid or empty
-TraceControl_ChannelAlreadyExistsError=Channel already exists
-
-TraceControl_EnableEventsDialogTitle=Enable Events
-TraceControl_EnableEventsSessionGroupName=Session List
-TraceControl_EnableEventsChannelGroupName=Channel List
-TraceControl_EnableEventsSessionsTooltip=List of available sessions.
-TraceControl_EnableEventsChannelsTooltip=List of available channels of selected session.\nIf no channel is available default channel will be created.
-TraceControl_EnableEventsNoSessionError=No session from session list is selected.
-TraceControl_EnableEventsNoChannelError=No channel from channel list is selected.
-
-TraceControl_EnableGroupSelectionName=Select
-TraceControl_EnableEventsTracepointGroupName=Tracepoint Events
-TraceControl_EnableEventsTracepointTreeTooltip=List of available kernel tracepoint events
-TraceControl_EnableEventsTracepointTreeAllLabel=All
-TraceControl_EnableEventsSyscallName=All Syscalls
-TraceControl_EnableEventsSyscallTooltip=Enable all Syscalls
-TraceControl_EnableEventsProbeGroupName=Dynamic Probe
-TraceControl_EnableEventsEventNameLabel=Event Name
-TraceControl_EnableEventsProbeEventNameTooltip=The name of the event for enabling a dynamic probe
-TraceControl_EnableEventsProbeNameLabel=Probe
-TraceControl_EnableEventsProbeNameTooltip=[addr | symbol | symbol+offset]\nAddr and offset can be octal (0NNN...),\ndecimal (NNN...) or hexadecimal (0xNNN...)
-TraceControl_EnableEventsFucntionGroupName=Dynamic Function Entry/Return Probe
-TraceControl_EnableEventsFunctionEventNameTooltip=The name of the event for enabling a dynamic function entry/return probe
-TraceControl_EnableEventsFunctionNameLabel=Function
-
-TraceControl_EnableEventsWildcardGroupName=Wildcard
-TraceControl_EnableEventsWildcardLabel=Wildcard
-TraceControl_EnableEventsWildcardTooltip=The wild card string of event names
-TraceControl_EnableEventsLogLevelGroupName=Log Level
-TraceControl_EnableEventsLogLevelTypeName=loglevel
-TraceControl_EnableEventsLogLevelTypeTooltip=The tracepoint log level range from 0 to loglevel
-TraceControl_EnableEventsLogLevelOnlyTypeName=loglevel-only
-TraceControl_EnableEventsLogLevelOnlyTypeTooltip=The tracepoint log level (only this loglevel)
-TraceControl_EnableEventsLogLevelTooltip=The available log levels
-TraceControl_EnableEventsLoglevelEventNameTooltip=Event name for enabling log levels
-TraceControl_EnableEventsFilterGroupName=Filter Expression
-TraceControl_EnableEventsFilterTooltip=Filter expression on event field.
-
-TraceControl_InvalidProbeNameError=The probe name is invalid or empty
-TraceControl_InvalidWildcardError=The wild card name is invalid or empty
-TraceControl_InvalidLogLevelEventNameError=The event name for log level is invalid or empty
-TraceControl_InvalidLogLevel=No log level selected
-
-TraceControl_AddContextDialogTitle=Add Contexts
-TraceControl_AddContextAvailableContextsLabel=Contexts
-TraceControl_AddContextAvailableContextsTooltip=Available Contexts
-TraceControl_AddContextAllLabel=All Contexts
-
-TraceControl_ImportDialogStreamedTraceNotification=You are importing a trace generated by a streamed session. By default the traces will be outputed to ~/lttng-traces/hostname/sessionname but the location can vary.
-TraceControl_ImportDialogStreamedTraceNotificationToggle=Do not warn me again
-TraceControl_ImportDialogTitle=Import Traces
-TraceControl_ImportDialogTracesGroupName=Available Traces
-TraceControl_ImportDialogTracesTooltip=The available traces of current session to import
-TraceControl_ImportDialogProjectsGroupName=Available Projects
-TraceControl_ImportDialogProjectsTooltip=The available projects to select from
-TraceControl_ImportDialogOverwriteButtonText=Overwrite existing trace without warning
-TraceControl_ImportDialogCreationError=Dialog box cannot be created
-TraceControl_ImportDialogNoProjectSelectedError=No tracing project selected or available
-TraceControl_ImportDialogInvalidTracingProject=Invalid tracing project. Missing directory
-TraceControl_ImportDialogNoTraceSelectedError=No trace selected or available
-
-TraceControl_ImportDialogConfirmationTitle=Import Confirmation Dialog
-TraceControl_ImportDialogConfirmationOverwriteLabel=Overwrite
-TraceControl_ImportDialogConfirmationRenameLabel=Rename
-TraceControl_ImportDialogConfirmationNewNameLabel=New Trace Name
-TraceControl_InvalidTraceNameError=Invalid trace name
-TraceControl_ImportDialogTraceAlreadyExistError=Trace already exists in project
-TraceControl_ImportDialog_SelectAll=Select All
-TraceControl_ImportDialog_DeselectAll=Deselect All
-
-
-# Tree structure strings
-TraceControl_KernelDomainDisplayName=Kernel
-TraceControl_JULDomainDisplayName=JUL
-TraceControl_UstGlobalDomainDisplayName=UST global
-TraceControl_UstDisplayName=UST
-TraceControl_UnknownDomainDisplayName=Unknown domain
-TraceControl_AllSessionsDisplayName=Sessions
-TraceControl_SessionDisplayName=Session
-TraceControl_DomainDisplayName=Domain
-TraceControl_BufferTypeDisplayName = Buffer Type
-TraceControl_ChannelDisplayName=Channel
-TraceControl_EventDisplayName=Event
-TraceControl_ProviderDisplayName=Provider
-TraceControl_KernelProviderDisplayName=Kernel
-TraceControl_SharedBuffersDisplayName=Global shared buffers
-TraceControl_PerPidBuffersDisplayName=Per PID buffers
-TraceControl_PerPidBuffersTooltip=Configure per PID buffers (UST only)
-TraceControl_PerUidBuffersDisplayName=Per UID buffers
-TraceControl_PerUidBuffersTooltip=Configure per UID buffers (UST only)
-
-# Property names
-TraceControl_SessionNamePropertyName=Session Name
-TraceControl_EventNamePropertyName=Event Name
-TraceControl_EventTypePropertyName=Event Type
-TraceControl_LogLevelPropertyName=Log Level
-TraceControl_FieldsPropertyName=Fields
-TraceControl_FilterPropertyName=Filter
-TraceControl_StatePropertyName=State
-TraceControl_VersionPropertyName=Version
-TraceControl_DomainNamePropertyName=Domain Name
-TraceControl_BufferTypePropertyName=Buffer type
-TraceControl_ChannelNamePropertyName=Channel Name
-TraceControl_OpenConnectionTo=Opening connection to ''{0}''
-TraceControl_OverwriteModePropertyName=Overwrite Mode
-TraceControl_SubBufferSizePropertyName=Sub Buffer Size
-TraceControl_NbSubBuffersPropertyName=Number of Sub Buffers
-TraceControl_SwitchTimerPropertyName=Switch Timer Interval
-TraceControl_ReadTimerPropertyName=Read Timer Interval
-TraceControl_OutputTypePropertyName=Output Type
-TraceControl_HostNamePropertyName=Connection Name
-TraceControl_HostAddressPropertyName=Host Name
-TraceControl_SessionPathPropertyName=Session Path
-TraceControl_SnapshotPathPropertyName=Snapshot Path
-TraceControl_SnapshotNamePropertyName=Snapshot Name
-TraceControl_SnapshotIdPropertyName=Snapshot ID
-TraceControl_ProviderNamePropertyName=Provider Name
-TraceControl_ProcessIdPropertyName=Process ID
-TraceControl_ProbeAddressPropertyName=Address
-TraceControl_ProbeOffsetPropertyName=Offset
-TraceControl_ProbeSymbolPropertyName=Symbol
-TraceControl_MaxSizeTraceFilesPropertyName=Maximum size of trace files
-TraceControl_MaxNumTraceFilesPropertyName=Maximum number of trace files
-TraceControl_ConfigureMetadataChannelName=Configure metadata channel
-
-# Preferences
-TraceControl_TracingGroupPreference=&Tracing Group
-TraceControl_LoggingPreference=&Logging
-TraceControl_LogfilePath=Log file
-TraceControl_CommandTimeout=Command Timeout (in seconds)
-TraceControl_AppendLogfilePreference=&Append
-TraceControl_VerboseLevelsPreference=&Verbose Level
-TraceControl_VerboseLevelNonePreference=None
-TraceControl_VerboseLevelVerbosePreference=Level 1
-TraceControl_VerboseLevelVeryVerbosePreference=Level 2
-TraceControl_VerboseLevelVeryVeryVerbosePreference=Level 3
-
-TraceControl_ExecuteScriptJob=Executing command script
-TraceControl_ExecuteScriptError=Error executing command script
-
-TraceControl_ExecuteScriptDialogTitle=Select command script
-TraceControl_ExecuteScriptBrowseText=Browse...
-TraceControl_ExecuteScriptSelectLabel=Select Script
-TraceControl_UnknownNode=<unknown>
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/model/ITraceControlComponent.java b/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/model/ITraceControlComponent.java
deleted file mode 100644
index 0a6dacf2d0..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/model/ITraceControlComponent.java
+++ /dev/null
@@ -1,192 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2012, 2013 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:
- * Bernd Hufmann - Initial API and implementation
- **********************************************************************/
-package org.eclipse.linuxtools.internal.lttng2.control.ui.views.model;
-
-import java.util.List;
-
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.TargetNodeState;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.service.ILttngControlService;
-import org.eclipse.swt.graphics.Image;
-
-/**
- * <p>
- * Interface for trace control components that can be displayed in the
- * trace control tree viewer.
- * </p>
- *
- * @author Bernd Hufmann
- */
-public interface ITraceControlComponent extends IAdaptable {
-
- // ------------------------------------------------------------------------
- // Accessors
- // ------------------------------------------------------------------------
-
- /**
- * @return the name of the component
- */
- String getName();
- /**
- * Sets the name of the component to the given value.
- * @param name - name to set
- */
- void setName(String name);
-
- /**
- * @return the image representing the component.
- */
- Image getImage();
- /**
- * Sets the image path of the component.
- * @param path - path to the image location
- */
- void setImage(String path);
- /**
- * Sets the image the component.
- * @param image - image to the image location
- */
- void setImage(Image image);
-
- /**
- * @return tool tip with information about the component.
- */
- String getToolTip();
- /**
- * Sets the tool tip with information about the component.
- * @param toolTip - the tool tip to set.
- */
- void setToolTip(String toolTip);
-
- /**
- * @return the node's connection state
- */
- TargetNodeState getTargetNodeState();
- /**
- * Sets the node's connection state.
- * @param state - the state to set
- */
- void setTargetNodeState(TargetNodeState state);
-
- /**
- * @return returns the parent component.
- */
- ITraceControlComponent getParent();
- /**
- * Sets the parent component.
- * @param parent - the parent to set.
- */
- void setParent(ITraceControlComponent parent);
-
- /**
- * @return the children components
- */
- ITraceControlComponent[] getChildren();
- /**
- * Sets the children components.
- * @param children - the children to set.
- */
- void setChildren(List<ITraceControlComponent> children);
- /**
- * Returns the child component with given name.
- * @param name - name of child to find.
- * @return child component or null.
- */
- ITraceControlComponent getChild(String name);
- /**
- * Gets children for given class type.
- * @param clazz - a class type to get
- * @return list of trace control components matching given class type.
- */
- List<ITraceControlComponent> getChildren(Class<? extends ITraceControlComponent> clazz);
-
- /**
- * @return the LTTng control service implementation.
- */
- ILttngControlService getControlService();
-
- /**
- * Sets the LTTng control service implementation.
- * @param service - the service to set.
- */
- void setControlService(ILttngControlService service);
-
- // ------------------------------------------------------------------------
- // Operations
- // ------------------------------------------------------------------------
- /**
- * Dispose any resource.
- */
- void dispose();
-
- /**
- * Adds a child component.
- * @param component - child to add.
- */
- void addChild(ITraceControlComponent component);
-
- /**
- * Removes the given child component.
- * @param component - the child to remove.
- */
- void removeChild(ITraceControlComponent component);
-
- /**
- * Removes all children.
- */
- void removeAllChildren();
-
- /**
- * Checks if child with given name exists.
- * @param name - child name to search for.
- * @return - true if exists else false.
- */
- boolean containsChild(String name);
-
- /**
- * Checks for children.
- * @return true if one or more children exist else false
- */
- boolean hasChildren();
-
- /**
- * Adds a component listener for notification of component changes.
- * @param listener - listener interface implementation to add.
- */
- void addComponentListener(ITraceControlComponentChangedListener listener);
-
- /**
- * Removes a component listener for notification of component changes.
- * @param listener - listener interface implementation to remove.
- */
- void removeComponentListener(ITraceControlComponentChangedListener listener);
-
- /**
- * Notifies listeners about the addition of a child.
- * @param parent - the parent where the child was added.
- * @param component - the child that was added.
- */
- void fireComponentAdded(ITraceControlComponent parent, ITraceControlComponent component);
-
- /**
- * Notifies listeners about the removal of a child.
- * @param parent - the parent where the child was removed.
- * @param component - the child that was removed.
- */
- void fireComponentRemoved(ITraceControlComponent parent, ITraceControlComponent component);
-
- /**
- * Notifies listeners about the change of a component.
- * @param component - the component that was changed.
- */
- void fireComponentChanged(ITraceControlComponent component);
-}
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/model/ITraceControlComponentChangedListener.java b/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/model/ITraceControlComponentChangedListener.java
deleted file mode 100644
index 5e60557cea..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/model/ITraceControlComponentChangedListener.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2012, 2013 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:
- * Bernd Hufmann - Initial API and implementation
- **********************************************************************/
-package org.eclipse.linuxtools.internal.lttng2.control.ui.views.model;
-
-/**
- * <p>
- * Listener interface a class can implement to be notified about changes
- * of components
- * </p>
- *
- * @author Bernd Hufmann
- */
-public interface ITraceControlComponentChangedListener {
- /**
- * Interface for notifications about the addition of a component.
- * @param parent - the parent where the child was added.
- * @param component - the child that was added.
- */
- void componentAdded(ITraceControlComponent parent, ITraceControlComponent component);
-
- /**
- * Interface for notifications about the removal of a child.
- * @param parent - the parent where the child was removed.
- * @param component - the child that was removed.
- */
- void componentRemoved(ITraceControlComponent parent, ITraceControlComponent component);
- /**
- * NInterface for notifications about the change of a component.
- * @param component - the component that was changed.
- */
- void componentChanged(ITraceControlComponent component);
-}
-
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/model/impl/BaseEventComponent.java b/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/model/impl/BaseEventComponent.java
deleted file mode 100644
index 8459b3f900..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/model/impl/BaseEventComponent.java
+++ /dev/null
@@ -1,165 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2012, 2013 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:
- * Bernd Hufmann - Initial API and implementation
- * Bernd Hufmann - Updated for support of LTTng Tools 2.1
- **********************************************************************/
-package org.eclipse.linuxtools.internal.lttng2.control.ui.views.model.impl;
-
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.IBaseEventInfo;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.IFieldInfo;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.TraceEventType;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.TraceLogLevel;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.impl.EventInfo;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.model.ITraceControlComponent;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.property.BaseEventPropertySource;
-import org.eclipse.ui.views.properties.IPropertySource;
-
-/**
- * <p>
- * Implementation of the base trace event component.
- * </p>
- *
- * @author Bernd Hufmann
- */
-public class BaseEventComponent extends TraceControlComponent {
- // ------------------------------------------------------------------------
- // Constants
- // ------------------------------------------------------------------------
- /**
- * Path to icon file for this component.
- */
- public static final String TRACE_EVENT_ICON_FILE_ENABLED = "icons/obj16/event_enabled.gif"; //$NON-NLS-1$
-
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
- /**
- * The Event information implementation.
- */
- private IBaseEventInfo fEventInfo;
-
- // ------------------------------------------------------------------------
- // Constructors
- // ------------------------------------------------------------------------
-
- /**
- * Constructor
- * @param name - the name of the component.
- * @param parent - the parent of this component.
- */
- public BaseEventComponent(String name, ITraceControlComponent parent) {
- super(name, parent);
- setImage(TRACE_EVENT_ICON_FILE_ENABLED);
- fEventInfo = new EventInfo(name);
- }
-
- // ------------------------------------------------------------------------
- // Accessors
- // ------------------------------------------------------------------------
- /**
- * Sets the event information.
- * @param eventInfo - the event info to set.
- */
- public void setEventInfo(IBaseEventInfo eventInfo) {
- fEventInfo = eventInfo;
- }
-
- /**
- * @return the event type.
- */
- public TraceEventType getEventType() {
- return fEventInfo.getEventType();
- }
-
- /**
- * Sets the event type to the given value.
- * @param type - type to set.
- */
- public void setEventType(TraceEventType type) {
- fEventInfo.setEventType(type);
- }
-
- /**
- * Sets the event type to the value specified by the give name.
- * @param typeName - the type name.
- */
- public void setEventType(String typeName) {
- fEventInfo.setEventType(typeName);
- }
-
- /**
- * @return the trace event log level
- */
- public TraceLogLevel getLogLevel() {
- return fEventInfo.getLogLevel();
- }
-
- /**
- * Sets the trace event log level to the given level
- * @param level - event log level to set
- */
- public void setLogLevel(TraceLogLevel level) {
- fEventInfo.setLogLevel(level);
- }
-
- /**
- * Sets the trace event log level to the level specified by the given name.
- * @param levelName - event log level name
- */
- public void setLogLevel(String levelName) {
- fEventInfo.setLogLevel(levelName);
- }
-
- /**
- * @return a String containing pairs if field name and data type
- */
- public String getFieldString() {
- IFieldInfo[] fields = fEventInfo.getFields();
- if ((fields != null) && (fields.length > 0)) {
- StringBuffer buffer = new StringBuffer();
- for (int i = 0; i < fields.length; i++) {
- buffer.append(fields[i].getName());
- buffer.append("="); //$NON-NLS-1$
- buffer.append(fields[i].getFieldType());
- if (i != fields.length-1) {
- buffer.append(";"); //$NON-NLS-1$
- }
- }
- return buffer.toString();
- }
- return null;
- }
-
- @Override
- public Object getAdapter(Class adapter) {
- if (adapter == IPropertySource.class) {
- return new BaseEventPropertySource(this);
- }
- return null;
- }
-
- /**
- * @return target node component.
- */
- public TargetNodeComponent getTargetNode() {
- return (TargetNodeComponent) getParent().getParent();
- }
-
- /**
- * @return if provider kernel or UST
- */
- public boolean isKernel() {
- return getParent() instanceof KernelProviderComponent;
- }
-
- // ------------------------------------------------------------------------
- // Operations
- // ------------------------------------------------------------------------
-}
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/model/impl/KernelProviderComponent.java b/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/model/impl/KernelProviderComponent.java
deleted file mode 100644
index 803b60df98..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/model/impl/KernelProviderComponent.java
+++ /dev/null
@@ -1,82 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2012, 2013 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:
- * Bernd Hufmann - Initial API and implementation
- **********************************************************************/
-
-package org.eclipse.linuxtools.internal.lttng2.control.ui.views.model.impl;
-
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.IBaseEventInfo;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.messages.Messages;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.model.ITraceControlComponent;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.property.KernelProviderPropertySource;
-import org.eclipse.ui.views.properties.IPropertySource;
-
-/**
- * <p>
- * Implementation of the Kernel provider component.
- * </p>
- *
- * @author Bernd Hufmann
- */
-public class KernelProviderComponent extends TraceControlComponent {
-
- // ------------------------------------------------------------------------
- // Constants
- // ------------------------------------------------------------------------
-
- /**
- * Path to icon file for this component.
- */
- public static final String KERNEL_PROVIDER_ICON_FILE = "icons/obj16/targets.gif"; //$NON-NLS-1$
-
- // ------------------------------------------------------------------------
- // Constructors
- // ------------------------------------------------------------------------
-
- /**
- * Constructor
- * @param name - the name of the component.
- * @param parent - the parent of this component.
- */
- public KernelProviderComponent(String name, ITraceControlComponent parent) {
- super(name, parent);
- setToolTip(Messages.TraceControl_ProviderDisplayName);
- setImage(KERNEL_PROVIDER_ICON_FILE);
- }
-
- // ------------------------------------------------------------------------
- // Accessors
- // ------------------------------------------------------------------------
-
- /**
- * Sets the events information for this component.
- * @param eventInfos - events information to set.
- */
- public void setEventInfo(List<IBaseEventInfo> eventInfos) {
- for (Iterator<IBaseEventInfo> iterator = eventInfos.iterator(); iterator.hasNext();) {
- IBaseEventInfo baseEventInfo = iterator.next();
- BaseEventComponent component = new BaseEventComponent(baseEventInfo.getName(), this);
- component.setEventInfo(baseEventInfo);
- addChild(component);
- }
- }
-
- @Override
- public Object getAdapter(Class adapter) {
- if (adapter == IPropertySource.class) {
- return new KernelProviderPropertySource(this);
- }
- return null;
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/model/impl/NullControlService.java b/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/model/impl/NullControlService.java
deleted file mode 100644
index 9c21b78d0f..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/model/impl/NullControlService.java
+++ /dev/null
@@ -1,143 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 Wind River Systems, Inc. and others
- *
- * 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:
- * Markus Schorn - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.internal.lttng2.control.ui.views.model.impl;
-
-import java.util.Collections;
-import java.util.List;
-
-import org.eclipse.core.commands.ExecutionException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.IBaseEventInfo;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.IChannelInfo;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.ISessionInfo;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.ISnapshotInfo;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.IUstProviderInfo;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.LogLevelType;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.TraceLogLevel;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.service.ILttngControlService;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.service.LttngVersion;
-import org.osgi.framework.Version;
-
-class NullControlService implements ILttngControlService {
-
- @Override
- public LttngVersion getVersion() {
- return new LttngVersion(Version.emptyVersion.toString());
- }
-
- @Override
- public String getVersionString() {
- return Version.emptyVersion.toString();
- }
-
- @Override
- public boolean isVersionSupported(String version) {
- return false;
- }
-
- @Override
- public String[] getSessionNames(IProgressMonitor monitor) throws ExecutionException {
- return new String[0];
- }
-
- @Override
- public ISessionInfo getSession(String sessionName, IProgressMonitor monitor) throws ExecutionException {
- return null;
- }
-
- @Override
- public ISnapshotInfo getSnapshotInfo(String sessionName, IProgressMonitor monitor) throws ExecutionException {
- return null;
- }
-
- @Override
- public List<IBaseEventInfo> getKernelProvider(IProgressMonitor monitor) throws ExecutionException {
- return Collections.emptyList();
- }
-
- @Override
- public List<IUstProviderInfo> getUstProvider() throws ExecutionException {
- return Collections.emptyList();
- }
-
- @Override
- public List<IUstProviderInfo> getUstProvider(IProgressMonitor monitor) throws ExecutionException {
- return Collections.emptyList();
- }
-
- @Override
- public ISessionInfo createSession(ISessionInfo sessionInfo, IProgressMonitor monitor) throws ExecutionException {
- return null;
- }
-
- @Override
- public void destroySession(String sessionName, IProgressMonitor monitor) throws ExecutionException {
- }
-
- @Override
- public void startSession(String sessionName, IProgressMonitor monitor) throws ExecutionException {
- }
-
- @Override
- public void stopSession(String sessionName, IProgressMonitor monitor) throws ExecutionException {
- }
-
- @Override
- public void enableChannels(String sessionName, List<String> channelNames, boolean isKernel, IChannelInfo info, IProgressMonitor monitor) throws ExecutionException {
- }
-
- @Override
- public void disableChannels(String sessionName, List<String> channelNames, boolean isKernel, IProgressMonitor monitor) throws ExecutionException {
- }
-
- @Override
- public void enableEvents(String sessionName, String channelName, List<String> eventNames, boolean isKernel, String filterExpression, IProgressMonitor monitor) throws ExecutionException {
- }
-
- @Override
- public void enableSyscalls(String sessionName, String channelName, IProgressMonitor monitor) throws ExecutionException {
- }
-
- @Override
- public void enableProbe(String sessionName, String channelName, String eventName, boolean isFunction, String probe, IProgressMonitor monitor) throws ExecutionException {
- }
-
- @Override
- public void enableLogLevel(String sessionName, String channelName, String eventName, LogLevelType logLevelType, TraceLogLevel level, String filterExpression, IProgressMonitor monitor) throws ExecutionException {
- }
-
- @Override
- public void disableEvent(String sessionName, String channelName, List<String> eventNames, boolean isKernel, IProgressMonitor monitor) throws ExecutionException {
- }
-
- @Override
- public List<String> getContextList(IProgressMonitor monitor) throws ExecutionException {
- return Collections.emptyList();
- }
-
- @Override
- public void addContexts(String sessionName, String channelName, String eventName, boolean isKernel, List<String> contexts, IProgressMonitor monitor) throws ExecutionException {
- }
-
- @Override
- public void calibrate(boolean isKernel, IProgressMonitor monitor) throws ExecutionException {
- }
-
- @Override
- public void recordSnapshot(String sessionName, IProgressMonitor monitor) throws ExecutionException {
- }
-
- @Override
- public void runCommands(IProgressMonitor monitor, List<String> commands) throws ExecutionException {
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/model/impl/TargetNodeComponent.java b/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/model/impl/TargetNodeComponent.java
deleted file mode 100644
index 84d108c91b..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/model/impl/TargetNodeComponent.java
+++ /dev/null
@@ -1,478 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2012, 2014 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:
- * Bernd Hufmann - Initial API and implementation
- * Bernd Hufmann - Updated for support of LTTng Tools 2.1
- * Markus Schorn - Bug 448058: Use org.eclipse.remote in favor of RSE
- **********************************************************************/
-package org.eclipse.linuxtools.internal.lttng2.control.ui.views.model.impl;
-
-import static java.text.MessageFormat.format;
-
-import java.util.List;
-
-import org.eclipse.core.commands.ExecutionException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.core.runtime.jobs.IJobChangeEvent;
-import org.eclipse.core.runtime.jobs.Job;
-import org.eclipse.core.runtime.jobs.JobChangeAdapter;
-import org.eclipse.jface.dialogs.ErrorDialog;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.TargetNodeState;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.Activator;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.messages.Messages;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.model.ITraceControlComponent;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.property.TargetNodePropertySource;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.remote.ICommandShell;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.remote.IRemoteSystemProxy;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.remote.RemoteSystemProxy;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.service.ILttngControlService;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.service.LTTngControlServiceFactory;
-import org.eclipse.remote.core.IRemoteConnection;
-import org.eclipse.remote.core.IRemoteConnectionChangeEvent;
-import org.eclipse.remote.core.IRemoteConnectionChangeListener;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.views.properties.IPropertySource;
-
-/**
- * <p>
- * Implementation of the trace node component.
- * </p>
- *
- * @author Bernd Hufmann
- */
-public class TargetNodeComponent extends TraceControlComponent implements IRemoteConnectionChangeListener {
-
- // ------------------------------------------------------------------------
- // Constants
- // ------------------------------------------------------------------------
-
- /**
- * Path to icon file for this component (state connected).
- */
- public static final String TARGET_NODE_CONNECTED_ICON_FILE = "icons/obj16/target_connected.gif"; //$NON-NLS-1$
- /**
- * Path to icon file for this component (state disconnected).
- */
- public static final String TARGET_NODE_DISCONNECTED_ICON_FILE = "icons/obj16/target_disconnected.gif"; //$NON-NLS-1$
-
- private static final ILttngControlService NULL_CONTROL_SERVICE = new NullControlService();
-
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
-
- /**
- * The node connection state.
- */
- private TargetNodeState fState = TargetNodeState.DISCONNECTED;
- /**
- * The image to be displayed in state disconnected.
- */
- private Image fDisconnectedImage = null;
- /**
- * The connection implementation.
- */
- private IRemoteConnection fHost = null;
- /**
- * The remote proxy implementation.
- */
- private IRemoteSystemProxy fRemoteProxy = null;
- /**
- * The control service for LTTng specific commands.
- */
- private ILttngControlService fService = null;
- /**
- * The command shell for issuing commands.
- */
- private ICommandShell fShell = null;
-
- // ------------------------------------------------------------------------
- // Constructors
- // ------------------------------------------------------------------------
-
- /**
- * Constructor
- * @param name - the name of the component
- * @param parent - the parent of the component
- * @param host - the host connection implementation
- * @param proxy - the remote proxy implementation
- */
- public TargetNodeComponent(String name, ITraceControlComponent parent, IRemoteConnection host, IRemoteSystemProxy proxy) {
- super(name, parent);
- setImage(TARGET_NODE_CONNECTED_ICON_FILE);
- fDisconnectedImage = Activator.getDefault().loadIcon(TARGET_NODE_DISCONNECTED_ICON_FILE);
- fHost = host;
- fRemoteProxy = proxy;
- fRemoteProxy.addConnectionChangeListener(this);
- setToolTip(fHost.getName());
- }
-
- /**
- * Constructor (using default proxy)
- * @param name - the name of the component
- * @param parent - the parent of the component
- * @param host - the host connection implementation
- */
- public TargetNodeComponent(String name, ITraceControlComponent parent, IRemoteConnection host) {
- this(name, parent, host, new RemoteSystemProxy(host));
- }
-
- @Override
- public void dispose() {
- fRemoteProxy.removeConnectionChangeListener(this);
- fRemoteProxy.dispose();
- disposeControlService();
- }
-
- private void disposeControlService() {
- fService = null;
- final ICommandShell shell = fShell;
- if (shell != null) {
- shell.disconnect();
- fShell = null;
- }
- }
-
- // ------------------------------------------------------------------------
- // Accessors
- // ------------------------------------------------------------------------
-
- @Override
- public Image getImage() {
- if (fState == TargetNodeState.CONNECTED) {
- return super.getImage();
- }
- return fDisconnectedImage;
- }
-
- @Override
- public TargetNodeState getTargetNodeState() {
- return fState;
- }
-
- @Override
- public void setTargetNodeState(TargetNodeState state) {
- fState = state;
- fireComponentChanged(TargetNodeComponent.this);
- }
-
- @Override
- public ILttngControlService getControlService() {
- return fService == null ? NULL_CONTROL_SERVICE : fService;
- }
-
- @Override
- public void setControlService(ILttngControlService service) {
- fService = service;
- }
-
- @Override
- public Object getAdapter(Class adapter) {
- if (adapter == IPropertySource.class) {
- return new TargetNodePropertySource(this);
- }
- return null;
- }
-
- /**
- * @return the remote connection associated with this node
- */
- public IRemoteConnection getRemoteConnection() {
- return fHost;
- }
-
- /**
- * @return remote system proxy implementation
- */
- public IRemoteSystemProxy getRemoteSystemProxy() {
- return fRemoteProxy;
- }
-
- /**
- * @return all available sessions.
- */
- public TraceSessionComponent[] getSessions() {
- List<ITraceControlComponent> compenents = getChildren(TraceSessionGroup.class);
- if (compenents.size() > 0) {
- TraceSessionGroup group = (TraceSessionGroup)compenents.get(0);
- List<ITraceControlComponent> sessions = group.getChildren(TraceSessionComponent.class);
- return sessions.toArray(new TraceSessionComponent[sessions.size()]);
- }
- return new TraceSessionComponent[0];
- }
-
- /**
- * @return node version
- */
- public String getNodeVersion() {
- // Control service is null during connection to node
- if (getControlService() != NULL_CONTROL_SERVICE) {
- return getControlService().getVersionString();
- }
- return ""; //$NON-NLS-1$
- }
-
- /**
- * Returns if node supports filtering of events
- * @return <code>true</code> if node supports filtering else <code>false</code>
- */
- public boolean isEventFilteringSupported() {
- return getControlService().isVersionSupported("2.1.0"); //$NON-NLS-1$
- }
-
- /**
- * Returns if node supports networks streaming or not
- * @return <code>true</code> if node supports filtering else <code>false</code>
- *
- */
- public boolean isNetworkStreamingSupported() {
- return getControlService().isVersionSupported("2.1.0"); //$NON-NLS-1$
- }
-
- /**
- * Returns if node supports configuring buffer type or not
- * @return <code>true</code> if node supports buffer type configuration else <code>false</code>
- */
- public boolean isBufferTypeConfigSupported() {
- return getControlService().isVersionSupported("2.2.0"); //$NON-NLS-1$
- }
-
- /**
- * Returns if node supports trace file rotation or not
- * @return <code>true</code> if node supports trace file rotation else <code>false</code>
- */
- public boolean isTraceFileRotationSupported() {
- return getControlService().isVersionSupported("2.2.0"); //$NON-NLS-1$
- }
-
- /**
- * Returns if node supports periodical flush for metadata or not
- * @return <code>true</code> if node supports periodical flush for metadata else <code>false</code>
- */
- public boolean isPeriodicalMetadataFlushSupported() {
- return getControlService().isVersionSupported("2.2.0"); //$NON-NLS-1$
- }
- /**
- * Returns if node supports snapshots or not
- * @return <code>true</code> if it supports snapshots else <code>false</code>
- *
- */
- public boolean isSnapshotSupported() {
- return getControlService().isVersionSupported("2.3.0"); //$NON-NLS-1$
- }
- /**
- * Returns if node supports live or not
- * @return <code>true</code> if it supports live else <code>false</code>
- *
- */
- public boolean isLiveSupported() {
- return getControlService().isVersionSupported("2.4.0"); //$NON-NLS-1$;
- }
- /**
- * Returns if node supports adding contexts on event
- * @return <code>true</code> if it supports adding contexts on events else <code>false</code>
- *
- */
- public boolean isContextOnEventSupported() {
- return !getControlService().isVersionSupported("2.2.0"); //$NON-NLS-1$
- }
-
- // ------------------------------------------------------------------------
- // Operations
- // ------------------------------------------------------------------------
-
- @Override
- public void connectionChanged(IRemoteConnectionChangeEvent e) {
- if (fState == TargetNodeState.CONNECTING) {
- return;
- }
-
- switch (e.getType()) {
- case IRemoteConnectionChangeEvent.CONNECTION_CLOSED:
- case IRemoteConnectionChangeEvent.CONNECTION_ABORTED:
- handleDisconnected();
- break;
- case IRemoteConnectionChangeEvent.CONNECTION_OPENED:
- handleConnected();
- break;
- default:
- break;
- }
- }
-
- /**
- * Method to connect this node component to the remote target node.
- */
- public void connect() {
- if (fState == TargetNodeState.DISCONNECTED) {
- try {
- setTargetNodeState(TargetNodeState.CONNECTING);
- Job job = new Job(format(Messages.TraceControl_OpenConnectionTo, getName())) {
- @Override
- protected IStatus run(IProgressMonitor monitor) {
- try {
- fRemoteProxy.connect(monitor);
- return Status.OK_STATUS;
- } catch (Exception e) {
- return new Status(IStatus.ERROR, Activator.PLUGIN_ID, Messages.TraceControl_ConnectionFailure, e);
- }
- }
- };
- job.addJobChangeListener(new JobChangeAdapter() {
- @Override
- public void done(IJobChangeEvent event) {
- IStatus status = event.getResult();
- if (status.isOK()) {
- handleConnected();
- } else {
- handleDisconnected();
- if (status.getSeverity() != IStatus.CANCEL) {
- Activator.getDefault().getLog().log(status);
- }
- }
- }
- });
- job.schedule();
- } catch (Exception e) {
- setTargetNodeState(TargetNodeState.DISCONNECTED);
- Activator.getDefault().logError(Messages.TraceControl_ConnectionFailure + " (" + getName() + "). \n", e); //$NON-NLS-1$ //$NON-NLS-2$
- }
- }
- }
-
- /**
- * Method to disconnect this node component to the remote target node.
- */
- public void disconnect() {
- if (fState == TargetNodeState.CONNECTED) {
- try {
- setTargetNodeState(TargetNodeState.DISCONNECTING);
- fRemoteProxy.disconnect();
- } catch (Exception e) {
- Activator.getDefault().logError(Messages.TraceControl_DisconnectionFailure + " (" + getName() + "). \n", e); //$NON-NLS-1$ //$NON-NLS-2$
- } finally {
- handleDisconnected();
- }
- }
- }
-
- /**
- * Retrieves the trace configuration from the target node and populates the
- * information in the tree model. The execution is done in a own job.
- */
- public void getConfigurationFromNode() {
- Job job = new Job(Messages.TraceControl_RetrieveNodeConfigurationJob) {
- @Override
- protected IStatus run(IProgressMonitor monitor) {
-
- try {
- // Get provider information from node
- TraceProviderGroup providerGroup = new TraceProviderGroup(Messages.TraceControl_ProviderDisplayName, TargetNodeComponent.this);
- addChild(providerGroup);
-
- // Get session information from node
- TraceSessionGroup sessionGroup = new TraceSessionGroup(Messages.TraceControl_AllSessionsDisplayName, TargetNodeComponent.this);
- addChild(sessionGroup);
-
- providerGroup.getProviderFromNode(monitor);
- sessionGroup.getSessionsFromNode(monitor);
- } catch (ExecutionException e) {
- removeAllChildren();
- return new Status(IStatus.ERROR, Activator.PLUGIN_ID, Messages.TraceControl_RetrieveNodeConfigurationFailure, e);
- }
-
- return Status.OK_STATUS;
- }
- };
- job.setUser(true);
- job.schedule();
- }
-
- /**
- * Refresh the node configuration
- */
- public void refresh() {
- removeAllChildren();
- getConfigurationFromNode();
- }
-
- // ------------------------------------------------------------------------
- // Helper function
- // ------------------------------------------------------------------------
-
- /**
- * @return returns the control service for LTTng specific commands.
- * @throws ExecutionException
- */
- private ILttngControlService createControlService() throws ExecutionException {
- if (fService == null) {
- try {
- fShell = fRemoteProxy.createCommandShell();
- fService = LTTngControlServiceFactory.getInstance().getLttngControlService(fShell);
- } catch (ExecutionException e) {
- disposeControlService();
- throw e;
- }
- }
- return fService;
- }
-
- /**
- * Handles the connected event.
- */
- private void handleConnected() {
- try {
- createControlService();
- getConfigurationFromNode();
- // Set connected only after the control service has been created and the jobs for creating the
- // sub-nodes are scheduled.
- setTargetNodeState(TargetNodeState.CONNECTED);
- } catch (final ExecutionException e) {
- // Disconnect only if no control service, otherwise stay connected.
- if (getControlService() == NULL_CONTROL_SERVICE) {
- fState = TargetNodeState.CONNECTED;
- disconnect();
- }
-
- // Notify user
- Display.getDefault().asyncExec(new Runnable() {
- @Override
- public void run() {
- ErrorDialog er = new ErrorDialog(PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell(),
- Messages.TraceControl_ErrorTitle, Messages.TraceControl_RetrieveNodeConfigurationFailure,
- new Status(IStatus.ERROR, Activator.PLUGIN_ID, e.getMessage(), e),
- IStatus.ERROR);
- er.open();
- }
- });
- Activator.getDefault().logError(Messages.TraceControl_RetrieveNodeConfigurationFailure + " (" + getName() + "). \n", e); //$NON-NLS-1$ //$NON-NLS-2$
- }
- }
-
- /**
- * Handles the disconnected event.
- */
- private void handleDisconnected() {
- disposeControlService();
- setTargetNodeState(TargetNodeState.DISCONNECTED);
- removeAllChildren();
- }
-
- @Override
- public void addChild(ITraceControlComponent component) {
- if (getTargetNodeState() == TargetNodeState.DISCONNECTED) {
- return;
- }
- super.addChild(component);
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/model/impl/TraceChannelComponent.java b/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/model/impl/TraceChannelComponent.java
deleted file mode 100644
index 7316a456de..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/model/impl/TraceChannelComponent.java
+++ /dev/null
@@ -1,387 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2012, 2014 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:
- * Bernd Hufmann - Initial API and implementation
- * Bernd Hufmann - Updated for support of LTTng Tools 2.1
- **********************************************************************/
-package org.eclipse.linuxtools.internal.lttng2.control.ui.views.model.impl;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.commands.ExecutionException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.IChannelInfo;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.IEventInfo;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.LogLevelType;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.TraceChannelOutputType;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.TraceEnablement;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.TraceLogLevel;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.impl.ChannelInfo;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.impl.ProbeEventInfo;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.Activator;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.messages.Messages;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.model.ITraceControlComponent;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.property.TraceChannelPropertySource;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.ui.views.properties.IPropertySource;
-
-
-/**
- * <p>
- * Implementation of the trace channel component.
- * </p>
- *
- * @author Bernd Hufmann
- */
-public class TraceChannelComponent extends TraceControlComponent {
-
- // ------------------------------------------------------------------------
- // Constants
- // ------------------------------------------------------------------------
-
- /**
- * Path to icon file for this component (state enabled).
- */
- public static final String TRACE_CHANNEL_ICON_FILE_ENABLED = "icons/obj16/channel.gif"; //$NON-NLS-1$
- /**
- * Path to icon file for this component (state disabled).
- */
- public static final String TRACE_CHANNEL_ICON_FILE_DISABLED = "icons/obj16/channel_disabled.gif"; //$NON-NLS-1$
-
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
-
- /**
- * The channel information.
- */
- private IChannelInfo fChannelInfo = null;
- /**
- * The image to be displayed in disabled state.
- */
- private Image fDisabledImage = null;
-
- // ------------------------------------------------------------------------
- // Constructors
- // ------------------------------------------------------------------------
-
- /**
- * Constructor
- * @param name - the name of the component.
- * @param parent - the parent of this component.
- */
- public TraceChannelComponent(String name, ITraceControlComponent parent) {
- super(name, parent);
- setImage(TRACE_CHANNEL_ICON_FILE_ENABLED);
- setToolTip(Messages.TraceControl_ChannelDisplayName);
- fChannelInfo = new ChannelInfo(name);
- fDisabledImage = Activator.getDefault().loadIcon(TRACE_CHANNEL_ICON_FILE_DISABLED);
- }
-
- // ------------------------------------------------------------------------
- // Accessors
- // ------------------------------------------------------------------------
-
- @Override
- public Image getImage() {
- if (fChannelInfo.getState() == TraceEnablement.DISABLED) {
- return fDisabledImage;
- }
- return super.getImage();
- }
-
- /**
- * Sets the channel information.
- *
- * @param channelInfo
- * The channel info to assign to this component
- */
- public void setChannelInfo(IChannelInfo channelInfo) {
- fChannelInfo = channelInfo;
- IEventInfo[] events = fChannelInfo.getEvents();
- List<ITraceControlComponent> eventComponents = new ArrayList<>();
- for (int i = 0; i < events.length; i++) {
- TraceEventComponent event = null;
- if (events[i].getClass() == ProbeEventInfo.class) {
- event = new TraceProbeEventComponent(events[i].getName(), this);
- } else {
- event = new TraceEventComponent(events[i].getName(), this);
- }
-
- eventComponents.add(event);
- event.setEventInfo(events[i]);
- }
- if (!eventComponents.isEmpty()) {
- setChildren(eventComponents);
- }
- }
-
- /**
- * @return the overwrite mode value.
- */
- public boolean isOverwriteMode() {
- return fChannelInfo.isOverwriteMode();
- }
- /**
- * Sets the overwrite mode value to the given mode.
- * @param mode - mode to set.
- */
- public void setOverwriteMode(boolean mode){
- fChannelInfo.setOverwriteMode(mode);
- }
- /**
- * @return the sub-buffer size.
- */
- public long getSubBufferSize() {
- return fChannelInfo.getSubBufferSize();
- }
- /**
- * Sets the sub-buffer size to the given value.
- * @param bufferSize - size to set to set.
- */
- public void setSubBufferSize(long bufferSize) {
- fChannelInfo.setSubBufferSize(bufferSize);
- }
- /**
- * @return the number of sub-buffers.
- */
- public int getNumberOfSubBuffers() {
- return fChannelInfo.getNumberOfSubBuffers();
- }
- /**
- * Sets the number of sub-buffers to the given value.
- * @param numberOfSubBuffers - value to set.
- */
- public void setNumberOfSubBuffers(int numberOfSubBuffers) {
- fChannelInfo.setNumberOfSubBuffers(numberOfSubBuffers);
- }
- /**
- * @return the switch timer interval.
- */
- public long getSwitchTimer() {
- return fChannelInfo.getSwitchTimer();
- }
- /**
- * Sets the switch timer interval to the given value.
- * @param timer - timer value to set.
- */
- public void setSwitchTimer(long timer) {
- fChannelInfo.setSwitchTimer(timer);
- }
- /**
- * @return the read timer interval.
- */
- public long getReadTimer() {
- return fChannelInfo.getReadTimer();
- }
- /**
- * Sets the read timer interval to the given value.
- * @param timer - timer value to set..
- */
- public void setReadTimer(long timer) {
- fChannelInfo.setReadTimer(timer);
- }
- /**
- * @return the output type.
- */
- public TraceChannelOutputType getOutputType() {
- return fChannelInfo.getOutputType();
- }
- /**
- * Sets the output type to the given value.
- * @param type - type to set.
- */
- public void setOutputType(TraceChannelOutputType type) {
- fChannelInfo.setOutputType(type);
- }
- /**
- * Sets the output type to the given value.
- * @param type - type to set.
- */
- public void setOutputType(String type) {
- fChannelInfo.setOutputType(type);
- }
-
- /**
- * @return the channel state (enabled or disabled).
- */
- public TraceEnablement getState() {
- return fChannelInfo.getState();
- }
- /**
- * Sets the channel state (enablement) to the given value.
- * @param state - state to set.
- */
- public void setState(TraceEnablement state) {
- fChannelInfo.setState(state);
- }
- /**
- * Sets the channel state (enablement) to the value specified by the given name.
- * @param stateName - state to set.
- */
- public void setState(String stateName) {
- fChannelInfo.setState(stateName);
- }
-
- @Override
- public Object getAdapter(Class adapter) {
- if (adapter == IPropertySource.class) {
- return new TraceChannelPropertySource(this);
- }
- return null;
- }
-
- /**
- * @return session name from parent
- */
- public String getSessionName() {
- return ((TraceDomainComponent)getParent()).getSessionName();
- }
-
- /**
- * @return session from parent
- */
- public TraceSessionComponent getSession() {
- return ((TraceDomainComponent)getParent()).getSession();
- }
-
- /**
- * @return if domain is kernel or UST
- */
- public boolean isKernel() {
- return ((TraceDomainComponent)getParent()).isKernel();
- }
-
- /**
- * @return the parent target node
- */
- public TargetNodeComponent getTargetNode() {
- return ((TraceDomainComponent)getParent()).getTargetNode();
- }
-
- // ------------------------------------------------------------------------
- // Operations
- // ------------------------------------------------------------------------
-
- /**
- * Enables a list of events with no additional parameters.
- *
- * @param eventNames
- * - a list of event names to enabled.
- * @param monitor
- * - a progress monitor
- * @throws ExecutionException
- * If the command fails
- */
- public void enableEvents(List<String> eventNames, IProgressMonitor monitor) throws ExecutionException {
- enableEvents(eventNames, null, monitor);
- }
-
- /**
- * Enables a list of events with no additional parameters.
- *
- * @param eventNames
- * - a list of event names to enabled.
- * @param filterExpression
- * - a filter expression
- * @param monitor
- * - a progress monitor
- * @throws ExecutionException
- * If the command fails
- */
- public void enableEvents(List<String> eventNames, String filterExpression, IProgressMonitor monitor) throws ExecutionException {
- getControlService().enableEvents(getSessionName(), getName(), eventNames, isKernel(), filterExpression, monitor);
- }
-
- /**
- * Enables all syscalls (for kernel domain)
- *
- * @param monitor
- * - a progress monitor
- * @throws ExecutionException
- * If the command fails
- */
- public void enableSyscalls(IProgressMonitor monitor) throws ExecutionException {
- getControlService().enableSyscalls(getSessionName(), getName(), monitor);
- }
-
- /**
- * Enables a dynamic probe (for kernel domain)
- *
- * @param eventName
- * - event name for probe
- * @param isFunction
- * - true for dynamic function entry/return probe else false
- * @param probe
- * - the actual probe
- * @param monitor
- * - a progress monitor
- * @throws ExecutionException
- * If the command fails
- */
- public void enableProbe(String eventName, boolean isFunction, String probe,
- IProgressMonitor monitor) throws ExecutionException {
- getControlService().enableProbe(getSessionName(), getName(), eventName, isFunction, probe, monitor);
- }
-
- /**
- * Enables events using log level.
- *
- * @param eventName
- * - a event name
- * @param logLevelType
- * - a log level type
- * @param level
- * - a log level
- * @param filterExpression
- * - a filter expression
- * @param monitor
- * - a progress monitor
- * @throws ExecutionException
- * If the command fails
- */
- public void enableLogLevel(String eventName, LogLevelType logLevelType,
- TraceLogLevel level, String filterExpression, IProgressMonitor monitor)
- throws ExecutionException {
- getControlService().enableLogLevel(getSessionName(), getName(), eventName, logLevelType, level, filterExpression, monitor);
- }
-
- /**
- * Enables a list of events with no additional parameters.
- *
- * @param eventNames
- * - a list of event names to enabled.
- * @param monitor
- * - a progress monitor
- * @throws ExecutionException
- * If the command fails
- */
- public void disableEvent(List<String> eventNames, IProgressMonitor monitor)
- throws ExecutionException {
- getControlService().disableEvent(getParent().getParent().getName(),
- getName(), eventNames, isKernel(), monitor);
- }
-
- /**
- * Add contexts to given channels and or events
- *
- * @param contexts
- * - a list of contexts to add
- * @param monitor
- * - a progress monitor
- * @throws ExecutionException
- * If the command fails
- */
- public void addContexts(List<String> contexts, IProgressMonitor monitor)
- throws ExecutionException {
- getControlService().addContexts(getSessionName(), getName(), null,
- isKernel(), contexts, monitor);
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/model/impl/TraceControlComponent.java b/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/model/impl/TraceControlComponent.java
deleted file mode 100644
index 532b47235b..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/model/impl/TraceControlComponent.java
+++ /dev/null
@@ -1,333 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2012, 2014 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:
- * Bernd Hufmann - Initial API and implementation
- **********************************************************************/
-package org.eclipse.linuxtools.internal.lttng2.control.ui.views.model.impl;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.core.runtime.ListenerList;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.TargetNodeState;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.Activator;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.model.ITraceControlComponent;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.model.ITraceControlComponentChangedListener;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.service.ILttngControlService;
-import org.eclipse.swt.graphics.Image;
-
-/**
- * <p>
- * Base implementation for trace control component.
- * </p>
- *
- * @author Bernd Hufmann
- */
-public class TraceControlComponent implements ITraceControlComponent {
-
- // ------------------------------------------------------------------------
- // Constants
- // ------------------------------------------------------------------------
-
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
- /**
- * The name of the component
- */
- private String fName = ""; //$NON-NLS-1$
- /**
- * The image to be displayed for the component.
- */
- private Image fImage = null;
- /**
- * The tool tip to be displayed for the component.
- */
- private String fToolTip = null;
- /**
- * The parent component.
- */
- private ITraceControlComponent fParent = null;
- /**
- * The list if children components.
- */
- private final List<ITraceControlComponent> fChildren = new ArrayList<>();
- /**
- * The list of listeners to be notified about changes.
- */
- private final ListenerList fListeners = new ListenerList();
-
- // ------------------------------------------------------------------------
- // Constructors
- // ------------------------------------------------------------------------
-
- /**
- * Constructor
- * @param name - the name of the component.
- */
- public TraceControlComponent(String name) {
- this(name, null);
- }
-
- /**
- * Constructor
- * @param name - the name of the component.
- * @param parent - the parent component.
- */
- public TraceControlComponent(String name, ITraceControlComponent parent) {
- fName = name;
- fParent = parent;
- }
-
- // ------------------------------------------------------------------------
- // Accessors
- // ------------------------------------------------------------------------
-
- @Override
- public String getName() {
- return fName;
- }
-
- @Override
- public void setName(String name) {
- fName = name;
- }
-
- @Override
- public Image getImage() {
- return fImage;
- }
-
- @Override
- public void setImage(String path) {
- fImage = Activator.getDefault().loadIcon(path);
- }
-
- @Override
- public void setImage(Image image) {
- fImage = image;
- }
-
- @Override
- public String getToolTip() {
- return fToolTip;
- }
-
- @Override
- public void setToolTip(String toolTip) {
- fToolTip = toolTip;
- }
-
- @Override
- public TargetNodeState getTargetNodeState() {
- if (getParent() != null) {
- return getParent().getTargetNodeState();
- }
- return TargetNodeState.DISCONNECTED;
- }
-
- @Override
- public void setTargetNodeState(TargetNodeState state) {
- if (getParent() != null) {
- getParent().setTargetNodeState(state);
- }
- }
-
- @Override
- public ITraceControlComponent getParent() {
- return fParent;
- }
-
- @Override
- public void setParent(ITraceControlComponent parent) {
- fParent = parent;
- }
-
- @Override
- public ITraceControlComponent[] getChildren() {
- return fChildren.toArray(new ITraceControlComponent[fChildren.size()]);
- }
-
- @Override
- public void setChildren(List<ITraceControlComponent> children) {
- for (Iterator<ITraceControlComponent> iterator = children.iterator(); iterator.hasNext();) {
- ITraceControlComponent traceControlComponent = iterator.next();
- fChildren.add(traceControlComponent);
- fireComponentChanged(this);
- }
- }
-
- @Override
- public ITraceControlComponent getChild(String name) {
- ITraceControlComponent child = null;
- for (int i = 0; i < fChildren.size(); i++) {
- if (fChildren.get(i).getName().equals(name)) {
- child = fChildren.get(i);
- break;
- }
- }
- return child;
- }
-
- @Override
- public List<ITraceControlComponent> getChildren(Class<? extends ITraceControlComponent> clazz) {
- List<ITraceControlComponent> list = new ArrayList<>();
-
- for (Iterator<ITraceControlComponent> iterator = fChildren.iterator(); iterator.hasNext();) {
- ITraceControlComponent child = iterator.next();
- if (child.getClass() == clazz) {
- list.add(child);
- }
- }
- return list;
- }
-
- @Override
- public ILttngControlService getControlService() {
- if (getParent() != null) {
- return getParent().getControlService();
- }
- return null;
- }
-
- @Override
- public void setControlService(ILttngControlService service) {
- if (getParent() != null) {
- getParent().setControlService(service);
- }
- }
-
- // ------------------------------------------------------------------------
- // Operations
- // ------------------------------------------------------------------------
-
- @Override
- public void dispose() {
- // default implementation
- }
-
- @Override
- public void addChild(ITraceControlComponent component) {
- if (component != null) {
- fChildren.add(component);
- }
- fireComponentAdded(this, component);
- }
-
- @Override
- public void removeChild(ITraceControlComponent component) {
- if (component != null) {
- fChildren.remove(component);
- component.dispose();
- }
- fireComponentRemoved(this, component);
- }
-
- @Override
- public void removeAllChildren() {
- for (Iterator<ITraceControlComponent> iterator = fChildren.iterator(); iterator.hasNext();) {
- ITraceControlComponent child = iterator.next();
- child.removeAllChildren();
- }
- fChildren.clear();
-// fireCompenentChanged(this);
- }
-
- @Override
- public boolean containsChild(String name) {
- boolean retValue = false;
- for (int i = 0; i < fChildren.size(); i++) {
- if (fChildren.get(i).getName().equals(name)) {
- retValue = true;
- break;
- }
- }
- return retValue;
- }
-
- @Override
- public boolean hasChildren() {
- return !fChildren.isEmpty();
- }
-
- @Override
- public void addComponentListener(ITraceControlComponentChangedListener listener) {
- if (fParent != null) {
- fParent.addComponentListener(listener);
- } else {
- fListeners.add(listener);
- }
- }
-
- @Override
- public void removeComponentListener(ITraceControlComponentChangedListener listener) {
- if (fParent != null) {
- fParent.removeComponentListener(listener);
- } else {
- fListeners.remove(listener);
- }
- }
-
- @Override
- public void fireComponentAdded(ITraceControlComponent parent, ITraceControlComponent component) {
- if (component == null) {
- return;
- }
-
- if (fParent != null) {
- fParent.fireComponentAdded(parent, component);
- } else {
- Object[] listeners = fListeners.getListeners();
- for (int i = 0; i < listeners.length; i++) {
- ITraceControlComponentChangedListener listener = (ITraceControlComponentChangedListener) listeners[i];
- listener.componentAdded(parent, component);
- }
- }
- }
-
- @Override
- public void fireComponentRemoved(ITraceControlComponent parent, ITraceControlComponent component) {
- if (component == null) {
- return;
- }
-
- if (fParent != null) {
- fParent.fireComponentRemoved(parent, component);
- } else {
- Object[] listeners = fListeners.getListeners();
- for (int i = 0; i < listeners.length; i++) {
- ITraceControlComponentChangedListener listener = (ITraceControlComponentChangedListener) listeners[i];
- listener.componentRemoved(parent, component);
- }
- }
- }
-
- @Override
- public void fireComponentChanged(ITraceControlComponent component) {
- if (component == null) {
- return;
- }
-
- if (fParent != null) {
- fParent.fireComponentChanged(component);
- } else {
- Object[] listeners = fListeners.getListeners();
- for (int i = 0; i < listeners.length; i++) {
- ITraceControlComponentChangedListener listener = (ITraceControlComponentChangedListener) listeners[i];
- listener.componentChanged(component);
- }
- }
- }
-
- @Override
- public Object getAdapter(Class adapter) {
- return null;
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/model/impl/TraceControlContentProvider.java b/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/model/impl/TraceControlContentProvider.java
deleted file mode 100644
index 72ea1a5ed1..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/model/impl/TraceControlContentProvider.java
+++ /dev/null
@@ -1,68 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2012, 2013 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:
- * Bernd Hufmann - Initial API and implementation
- **********************************************************************/
-package org.eclipse.linuxtools.internal.lttng2.control.ui.views.model.impl;
-
-import org.eclipse.jface.viewers.ITreeContentProvider;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.model.ITraceControlComponent;
-
-/**
- * <p>
- * Tree content provider implementation for trace control view.
- * </p>
- *
- * @author Bernd Hufmann
- */
-public class TraceControlContentProvider implements ITreeContentProvider {
-
- // ------------------------------------------------------------------------
- // Operations
- // ------------------------------------------------------------------------
-
- @Override
- public void dispose() {
- }
-
- @Override
- public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
- }
-
- @Override
- public Object[] getElements(Object inputElement) {
- return getChildren(inputElement);
- }
-
- @Override
- public Object[] getChildren(Object parentElement) {
-
- if (parentElement instanceof ITraceControlComponent) {
- return ((ITraceControlComponent)parentElement).getChildren();
- }
- return new Object[0];
- }
-
- @Override
- public Object getParent(Object element) {
- if (element instanceof ITraceControlComponent) {
- return ((ITraceControlComponent)element).getParent();
- }
- return null;
- }
-
- @Override
- public boolean hasChildren(Object element) {
- if (element instanceof ITraceControlComponent) {
- return ((ITraceControlComponent)element).hasChildren();
- }
- return false;
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/model/impl/TraceControlLabelProvider.java b/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/model/impl/TraceControlLabelProvider.java
deleted file mode 100644
index 2364fb56ea..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/model/impl/TraceControlLabelProvider.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2012, 2013 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:
- * Bernd Hufmann - Initial API and implementation
- **********************************************************************/
-package org.eclipse.linuxtools.internal.lttng2.control.ui.views.model.impl;
-
-import org.eclipse.jface.viewers.ColumnLabelProvider;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.model.ITraceControlComponent;
-import org.eclipse.swt.graphics.Image;
-
-/**
- * <p>
- * Label provider for trace control tree viewer.
- * </p>
- *
- * @author Bernd Hufmann
- */
-public class TraceControlLabelProvider extends ColumnLabelProvider {
-
- // ------------------------------------------------------------------------
- // Operations
- // ------------------------------------------------------------------------
-
- @Override
- public Image getImage(Object element) {
- if ((element != null) && (element instanceof ITraceControlComponent)) {
- return ((ITraceControlComponent) element).getImage();
- }
- return null;
- }
-
- @Override
- public String getText(Object element) {
- if ((element != null) && (element instanceof ITraceControlComponent)) {
- return ((ITraceControlComponent) element).getName();
- }
- return "";//$NON-NLS-1$
- }
-
- @Override
- public String getToolTipText(Object element) {
- if ((element != null) && (element instanceof ITraceControlComponent)) {
- return ((ITraceControlComponent) element).getToolTip();
- }
- return null;
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/model/impl/TraceControlPropertyTester.java b/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/model/impl/TraceControlPropertyTester.java
deleted file mode 100644
index 0d49b3a9be..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/model/impl/TraceControlPropertyTester.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2013 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:
- * Bernd Hufmann - Initial API and implementation
- **********************************************************************/
-
-package org.eclipse.linuxtools.internal.lttng2.control.ui.views.model.impl;
-
-import org.eclipse.core.expressions.PropertyTester;
-
-/**
- *
- * Property Tester Implementation for Trace Control Components.
- *
- * @author Bernd Hufmann
- */
-public class TraceControlPropertyTester extends PropertyTester {
-
- // ------------------------------------------------------------------------
- // Constants
- // ------------------------------------------------------------------------
- private static final String ADD_CONTEXT_SUPPORT_PROPERTY = "isAddContextOnEventSupported"; //$NON-NLS-1$
-
-
- @Override
- public boolean test(Object receiver, String property, Object[] args, Object expectedValue) {
-
- // Check if node supports adding contexts on event level.
- if (ADD_CONTEXT_SUPPORT_PROPERTY.equals(property)) {
- if ((receiver != null) && (receiver instanceof TraceEventComponent)) {
- TraceEventComponent event = (TraceEventComponent) receiver;
- TargetNodeComponent node = event.getTargetNode();
- return node.isContextOnEventSupported();
- }
- }
- return false;
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/model/impl/TraceControlRoot.java b/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/model/impl/TraceControlRoot.java
deleted file mode 100644
index a02c54349a..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/model/impl/TraceControlRoot.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2012, 2013 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:
- * Bernd Hufmann - Initial API and implementation
- **********************************************************************/
-package org.eclipse.linuxtools.internal.lttng2.control.ui.views.model.impl;
-
-
-/**
- * <p>
- * Root element in trace control tree.
- * </p>
- *
- * @author Bernd Hufmann
- */
-public class TraceControlRoot extends TraceControlComponent {
-
- // ------------------------------------------------------------------------
- // Constants
- // ------------------------------------------------------------------------
- /**
- * The name of the root component
- */
- public static final String TRACE_CONTROL_ROOT_NAME = "trace_control_root"; //$NON-NLS-1$
-
- // ------------------------------------------------------------------------
- // Constructors
- // ------------------------------------------------------------------------
- /**
- * Default constructor
- */
- public TraceControlRoot() {
- super(TRACE_CONTROL_ROOT_NAME);
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/model/impl/TraceDomainComponent.java b/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/model/impl/TraceDomainComponent.java
deleted file mode 100644
index d233d95e2c..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/model/impl/TraceDomainComponent.java
+++ /dev/null
@@ -1,299 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2012, 2013 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:
- * Bernd Hufmann - Initial API and implementation
- * Bernd Hufmann - Updated for support of LTTng Tools 2.1
- **********************************************************************/
-package org.eclipse.linuxtools.internal.lttng2.control.ui.views.model.impl;
-
-import java.util.List;
-
-import org.eclipse.core.commands.ExecutionException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.IChannelInfo;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.IDomainInfo;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.LogLevelType;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.TraceLogLevel;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.impl.BufferType;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.impl.DomainInfo;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.messages.Messages;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.model.ITraceControlComponent;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.property.TraceDomainPropertySource;
-import org.eclipse.ui.views.properties.IPropertySource;
-
-/**
- * <p>
- * Implementation of the trace domain component.
- * </p>
- *
- * @author Bernd Hufmann
- */
-public class TraceDomainComponent extends TraceControlComponent {
- // ------------------------------------------------------------------------
- // Constants
- // ------------------------------------------------------------------------
- /**
- * Path to icon file for this component.
- */
- public static final String TRACE_DOMAIN_ICON_FILE = "icons/obj16/domain.gif"; //$NON-NLS-1$
-
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
- /**
- * The domain information.
- */
- private IDomainInfo fDomainInfo = null;
-
- // ------------------------------------------------------------------------
- // Constructors
- // ------------------------------------------------------------------------
- /**
- * Constructor
- * @param name - the name of the component.
- * @param parent - the parent of this component.
- */
- public TraceDomainComponent(String name, ITraceControlComponent parent) {
- super(name, parent);
- setImage(TRACE_DOMAIN_ICON_FILE);
- setToolTip(Messages.TraceControl_DomainDisplayName);
- fDomainInfo = new DomainInfo(name);
- }
-
- // ------------------------------------------------------------------------
- // Accessors
- // ------------------------------------------------------------------------
- /**
- * Sets the domain information.
- * @param domainInfo - the domain information to set.
- */
- public void setDomainInfo(IDomainInfo domainInfo) {
- fDomainInfo = domainInfo;
- IChannelInfo[] channels = fDomainInfo.getChannels();
- for (int i = 0; i < channels.length; i++) {
- TraceChannelComponent channel = new TraceChannelComponent(channels[i].getName(), this);
- channel.setChannelInfo(channels[i]);
- addChild(channel);
- }
- }
-
- @Override
- public Object getAdapter(Class adapter) {
- if (adapter == IPropertySource.class) {
- return new TraceDomainPropertySource(this);
- }
- return null;
- }
-
- /**
- * @return session name from parent
- */
- public String getSessionName() {
- return ((TraceSessionComponent)getParent()).getName();
- }
-
- /**
- * @return session from parent
- */
- public TraceSessionComponent getSession() {
- return (TraceSessionComponent)getParent();
- }
-
- /**
- * @return true if domain is kernel, false for UST
- */
- public boolean isKernel() {
- return fDomainInfo.isKernel();
- }
-
- /**
- * Sets whether domain is Kernel domain or UST
- * @param isKernel true for kernel, false for UST
- */
- public void setIsKernel(boolean isKernel) {
- fDomainInfo.setIsKernel(isKernel);
- }
-
- /**
- * @return returns all available channels for this domain.
- */
- public TraceChannelComponent[] getChannels() {
- List<ITraceControlComponent> channels = getChildren(TraceChannelComponent.class);
- return channels.toArray(new TraceChannelComponent[channels.size()]);
- }
-
- /**
- * @return the parent target node
- */
- public TargetNodeComponent getTargetNode() {
- return ((TraceSessionComponent)getParent()).getTargetNode();
- }
-
- /**
- * @return the buffer type
- */
- public BufferType getBufferType(){
- return fDomainInfo.getBufferType();
- }
-
- // ------------------------------------------------------------------------
- // Operations
- // ------------------------------------------------------------------------
-
- /**
- * Retrieves the session configuration from the node.
- *
- * @param monitor
- * - a progress monitor
- * @throws ExecutionException
- * If the command fails
- */
- public void getConfigurationFromNode(IProgressMonitor monitor) throws ExecutionException {
- TraceSessionComponent session = (TraceSessionComponent) getParent();
- session.getConfigurationFromNode(monitor);
- }
-
- /**
- * Enables channels with given names which are part of this domain. If a
- * given channel doesn't exists it creates a new channel with the given
- * parameters (or default values if given parameter is null).
- *
- * @param channelNames
- * - a list of channel names to enable on this domain
- * @param info
- * - channel information to set for the channel (use null for
- * default)
- * @param monitor
- * - a progress monitor
- * @throws ExecutionException
- * If the command fails
- */
- public void enableChannels(List<String> channelNames, IChannelInfo info,
- IProgressMonitor monitor) throws ExecutionException {
- getControlService().enableChannels(getParent().getName(), channelNames,
- isKernel(), info, monitor);
- }
-
- /**
- * Disables channels with given names which are part of this domain.
- *
- * @param channelNames
- * - a list of channel names to enable on this domain
- * @param monitor
- * - a progress monitor
- * @throws ExecutionException
- * If the command fails
- */
- public void disableChannels(List<String> channelNames,
- IProgressMonitor monitor) throws ExecutionException {
- getControlService().disableChannels(getParent().getName(),
- channelNames, isKernel(), monitor);
- }
-
- /**
- * Enables a list of events with no additional parameters.
- *
- * @param eventNames
- * - a list of event names to enabled.
- * @param monitor
- * - a progress monitor
- * @throws ExecutionException
- * If the command fails
- */
- public void enableEvents(List<String> eventNames, IProgressMonitor monitor)
- throws ExecutionException {
- getControlService().enableEvents(getSessionName(), null, eventNames,
- isKernel(), null, monitor);
- }
-
- /**
- * Enables all syscalls (for kernel domain)
- *
- * @param monitor
- * - a progress monitor
- * @throws ExecutionException
- * If the command fails
- */
-
- public void enableSyscalls(IProgressMonitor monitor)
- throws ExecutionException {
- getControlService().enableSyscalls(getSessionName(), null, monitor);
- }
-
- /**
- * Enables a dynamic probe (for kernel domain)
- *
- * @param eventName
- * - event name for probe
- * @param isFunction
- * - true for dynamic function entry/return probe else false
- * @param probe
- * - the actual probe
- * @param monitor
- * - a progress monitor
- * @throws ExecutionException
- * If the command fails
- */
- public void enableProbe(String eventName, boolean isFunction, String probe,
- IProgressMonitor monitor) throws ExecutionException {
- getControlService().enableProbe(getSessionName(), null, eventName,
- isFunction, probe, monitor);
- }
-
- /**
- * Enables events using log level.
- *
- * @param eventName
- * - a event name
- * @param logLevelType
- * - a log level type
- * @param level
- * - a log level
- * @param filterExpression
- * - a filter expression
- * @param monitor
- * - a progress monitor
- * @throws ExecutionException
- * If the command fails
- */
- public void enableLogLevel(String eventName, LogLevelType logLevelType,
- TraceLogLevel level, String filterExpression, IProgressMonitor monitor)
- throws ExecutionException {
- getControlService().enableLogLevel(getSessionName(), null, eventName,
- logLevelType, level, filterExpression, monitor);
- }
-
- /**
- * Add contexts to given channels and or events
- *
- * @param contexts
- * - a list of contexts to add
- * @param monitor
- * - a progress monitor
- * @throws ExecutionException
- * If the command fails
- */
- public void addContexts(List<String> contexts, IProgressMonitor monitor)
- throws ExecutionException {
- getControlService().addContexts(getSessionName(), null, null,
- isKernel(), contexts, monitor);
- }
-
- /**
- * Executes calibrate command to quantify LTTng overhead.
- *
- * @param monitor
- * - a progress monitor
- * @throws ExecutionException
- * If the command fails
- */
- public void calibrate(IProgressMonitor monitor) throws ExecutionException {
- getControlService().calibrate(isKernel(), monitor);
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/model/impl/TraceEventComponent.java b/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/model/impl/TraceEventComponent.java
deleted file mode 100644
index 531a507cb0..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/model/impl/TraceEventComponent.java
+++ /dev/null
@@ -1,264 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2012, 2013 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:
- * Bernd Hufmann - Initial API and implementation
- * Bernd Hufmann - Updated for support of LTTng Tools 2.1
- **********************************************************************/
-package org.eclipse.linuxtools.internal.lttng2.control.ui.views.model.impl;
-
-import java.util.List;
-
-import org.eclipse.core.commands.ExecutionException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.IEventInfo;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.LogLevelType;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.TraceEnablement;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.TraceEventType;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.TraceLogLevel;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.impl.EventInfo;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.Activator;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.messages.Messages;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.model.ITraceControlComponent;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.property.TraceEventPropertySource;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.ui.views.properties.IPropertySource;
-
-
-/**
- * <p>
- * Implementation of the trace channel component.
- * </p>
- *
- * @author Bernd Hufmann
- */
-public class TraceEventComponent extends TraceControlComponent {
- // ------------------------------------------------------------------------
- // Constants
- // ------------------------------------------------------------------------
- /**
- * Path to icon file for this component (enabled state).
- */
- public static final String TRACE_EVENT_ICON_FILE_ENABLED = "icons/obj16/event_enabled.gif"; //$NON-NLS-1$
- /**
- * Path to icon file for this component (disabled state).
- */
- public static final String TRACE_EVENT_ICON_FILE_DISABLED = "icons/obj16/event_disabled.gif"; //$NON-NLS-1$
-
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
- /**
- * The event information.
- */
- protected IEventInfo fEventInfo = null;
- /**
- * The image to be displayed when in disabled state.
- */
- private Image fDisabledImage = null;
-
- // ------------------------------------------------------------------------
- // Constructors
- // ------------------------------------------------------------------------
- /**
- * Constructor
- * @param name - the name of the component.
- * @param parent - the parent of this component.
- */
- public TraceEventComponent(String name, ITraceControlComponent parent) {
- super(name, parent);
- setImage(TRACE_EVENT_ICON_FILE_ENABLED);
- setToolTip(Messages.TraceControl_EventDisplayName);
- fEventInfo = new EventInfo(name);
- fDisabledImage = Activator.getDefault().loadIcon(TRACE_EVENT_ICON_FILE_DISABLED);
- }
-
- // ------------------------------------------------------------------------
- // Accessors
- // ------------------------------------------------------------------------
-
- @Override
- public Image getImage() {
- if (fEventInfo.getState() == TraceEnablement.DISABLED) {
- return fDisabledImage;
- }
- return super.getImage();
- }
-
- /**
- * Sets the event information.
- * @param eventInfo - the event information to set.
- */
- public void setEventInfo(IEventInfo eventInfo) {
- fEventInfo = eventInfo;
- }
-
- /**
- * @return the trace event type
- */
- public TraceEventType getEventType() {
- return fEventInfo.getEventType();
- }
-
- /**
- * Sets the trace event type to the given type
- * @param type - type to set
- */
- public void setEventType(TraceEventType type) {
- fEventInfo.setEventType(type);
- }
-
- /**
- * Sets the trace event type to the type specified by the given name.
- * @param typeName - event type name
- */
- public void setEventType(String typeName) {
- fEventInfo.setEventType(typeName);
- }
-
- /**
- * @return the event state (enabled or disabled).
- */
- public TraceEnablement getState() {
- return fEventInfo.getState();
- }
-
- /**
- * Sets the event state (enablement) to the given value.
- * @param state - state to set.
- */
- public void setState(TraceEnablement state) {
- fEventInfo.setState(state);
- }
-
- /**
- * Sets the event state (enablement) to the value specified by the given name.
- * @param stateName - state to set.
- */
- public void setState(String stateName) {
- fEventInfo.setState(stateName);
- }
-
- /**
- * @return the trace event log level
- */
- public TraceLogLevel getLogLevel() {
- return fEventInfo.getLogLevel();
- }
-
- /**
- * Sets the trace event log level to the given level
- * @param level - event log level to set
- */
- public void setLogLevel(TraceLogLevel level) {
- fEventInfo.setLogLevel(level);
- }
-
- /**
- * Sets the trace event log level to the level specified by the given name.
- * @param levelName - event log level name
- */
- public void setLogLevel(String levelName) {
- fEventInfo.setLogLevel(levelName);
- }
-
- /**
- * Returns filter expression.
- * @return filter expression
- */
- public String getFilterExpression() {
- return fEventInfo.getFilterExpression();
- }
-
- /**
- * Sets the filter expression.
- * @param filter The filter expression to set
- */
- public void setFilterExpression(String filter) {
- fEventInfo.setFilterExpression(filter);
- }
-
- /**
- * Returns the log level type
- * @return event log level type
- */
- public LogLevelType getLogLevelType() {
- return fEventInfo.getLogLevelType();
- }
-
- /**
- * Sets the trace event log level type to the given level type
- * @param levelType - event log level type to set
- */
- public void setLogLevelType(LogLevelType levelType) {
- fEventInfo.setLogLevelType(levelType);
- }
-
- @Override
- public Object getAdapter(Class adapter) {
- if (adapter == IPropertySource.class) {
- return new TraceEventPropertySource(this);
- }
- return null;
- }
-
- /**
- * @return target node component.
- */
- public TargetNodeComponent getTargetNode() {
- return ((TraceChannelComponent)getParent()).getTargetNode();
- }
-
- /**
- * @return session name from parent
- */
- public String getSessionName() {
- return ((TraceChannelComponent)getParent()).getSessionName();
- }
-
- /**
- * @return session from parent
- */
- public TraceSessionComponent getSession() {
- return ((TraceChannelComponent)getParent()).getSession();
- }
-
- /**
- * @return channel name from parent
- */
- public String getChannelName() {
- return getParent().getName();
- }
-
- /**
- * @return if domain is kernel or UST
- */
- public boolean isKernel() {
- return ((TraceChannelComponent)getParent()).isKernel();
- }
-
- // ------------------------------------------------------------------------
- // Operations
- // ------------------------------------------------------------------------
-
- /**
- * Add contexts to given channels and or events
- *
- * @param contexts
- * - a list of contexts to add
- * @param monitor
- * - a progress monitor
- * @throws ExecutionException
- * If the command fails
- */
- public void addContexts(List<String> contexts, IProgressMonitor monitor)
- throws ExecutionException {
- getControlService().addContexts(getSessionName(), getChannelName(),
- getName(), isKernel(), contexts, monitor);
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/model/impl/TraceProbeEventComponent.java b/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/model/impl/TraceProbeEventComponent.java
deleted file mode 100644
index a473be2478..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/model/impl/TraceProbeEventComponent.java
+++ /dev/null
@@ -1,121 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2012, 2013 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:
- * Bernd Hufmann - Initial API and implementation
- **********************************************************************/
-package org.eclipse.linuxtools.internal.lttng2.control.ui.views.model.impl;
-
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.IEventInfo;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.impl.ProbeEventInfo;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.model.ITraceControlComponent;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.property.TraceProbeEventPropertySource;
-import org.eclipse.ui.views.properties.IPropertySource;
-
-
-/**
- * <p>
- * Implementation of the trace channel component.
- * </p>
- *
- * @author Bernd Hufmann
- */
-public class TraceProbeEventComponent extends TraceEventComponent {
- // ------------------------------------------------------------------------
- // Constants
- // ------------------------------------------------------------------------
-
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
-
- // ------------------------------------------------------------------------
- // Constructors
- // ------------------------------------------------------------------------
- /**
- * Constructor
- * @param name - the name of the component.
- * @param parent - the parent of this component.
- */
- public TraceProbeEventComponent(String name, ITraceControlComponent parent) {
- super(name, parent);
- fEventInfo = new ProbeEventInfo(name);
- }
-
- // ------------------------------------------------------------------------
- // Accessors
- // ------------------------------------------------------------------------
-
- /**
- * Sets the event information.
- * @param eventInfo - the event information to set.
- */
- @Override
- public void setEventInfo(IEventInfo eventInfo) {
- if (eventInfo instanceof ProbeEventInfo) {
- fEventInfo = eventInfo;
- return;
- }
- throw new IllegalArgumentException("Invalid type passed. Only class of type ProbeEventInfo allowed:\n" + eventInfo.getClass()); //$NON-NLS-1$
- }
-
- @Override
- public Object getAdapter(Class adapter) {
- if (adapter == IPropertySource.class) {
- return new TraceProbeEventPropertySource(this);
- }
- return null;
- }
- /**
- * @return the address of the probe. (null if Symbol is used)
- */
- public String getAddress() {
- return getEventInfo().getAddress();
- }
- /**
- * Sets the address of the probe.
- * @param address - a address
- */
- public void setAddress(String address) {
- getEventInfo().setAddress(address);
- }
- /**
- * @return the offset applied to the symbol.
- */
- public String getOffset() {
- return getEventInfo().getOffset();
- }
- /**
- * Sets the offset applied to the symbol. (valid if symbol is used)
- * @param offset - a offset
- */
- public void setOffset(String offset) {
- getEventInfo().setOffset(offset);
- }
- /**
- * @return the symbol name. (null if address is used)
- */
- public String getSymbol() {
- return getEventInfo().getSymbol();
- }
- /**
- * Sets the symbol name.
- * @param symbol - a symbol name (null if address is used)
- */
- public void setSymbol(String symbol) {
- getEventInfo().setSymbol(symbol);
- }
-
- // ------------------------------------------------------------------------
- // Helper methods
- // ------------------------------------------------------------------------
- private ProbeEventInfo getEventInfo() {
- return (ProbeEventInfo) fEventInfo;
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/model/impl/TraceProviderGroup.java b/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/model/impl/TraceProviderGroup.java
deleted file mode 100644
index 5fd9bc24b8..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/model/impl/TraceProviderGroup.java
+++ /dev/null
@@ -1,108 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2012, 2013 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:
- * Bernd Hufmann - Initial API and implementation
- * Bernd Hufmann - Updated for support of LTTng Tools 2.1
- **********************************************************************/
-package org.eclipse.linuxtools.internal.lttng2.control.ui.views.model.impl;
-
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.core.commands.ExecutionException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.IBaseEventInfo;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.IUstProviderInfo;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.messages.Messages;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.model.ITraceControlComponent;
-
-/**
- * <p>
- * Implementation of the trace provider group.
- * </p>
- *
- * @author Bernd Hufmann
- */
-public class TraceProviderGroup extends TraceControlComponent {
- // ------------------------------------------------------------------------
- // Constants
- // ------------------------------------------------------------------------
- /**
- * Path to icon file for this component.
- */
- public static final String TRACE_PROVIDERS_ICON_FILE = "icons/obj16/providers.gif"; //$NON-NLS-1$
-
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
-
- // ------------------------------------------------------------------------
- // Constructors
- // ------------------------------------------------------------------------
- /**
- * Constructor
- * @param name - the name of the component.
- * @param parent - the parent of this component.
- */
- public TraceProviderGroup(String name, ITraceControlComponent parent) {
- super(name, parent);
- setImage(TRACE_PROVIDERS_ICON_FILE);
- }
-
- // ------------------------------------------------------------------------
- // Accessors
- // ------------------------------------------------------------------------
-
- // ------------------------------------------------------------------------
- // Operations
- // ------------------------------------------------------------------------
-
- /**
- * Gets the provider information from the target node.
- * @param monitor - a progress monitor
- * @throws ExecutionException If the command fails
- */
- public void getProviderFromNode(IProgressMonitor monitor) throws ExecutionException {
-
- List<IBaseEventInfo> eventInfos = getControlService().getKernelProvider(monitor);
-
- if (!eventInfos.isEmpty()) {
- KernelProviderComponent component = new KernelProviderComponent(Messages.TraceControl_KernelProviderDisplayName, this);
- addChild(component);
- component.setEventInfo(eventInfos);
- }
-
- List<IUstProviderInfo> allProviders = getControlService().getUstProvider(monitor);
-
- for (Iterator<IUstProviderInfo> iterator = allProviders.iterator(); iterator.hasNext();) {
- IUstProviderInfo ustProviderInfo = iterator.next();
- UstProviderComponent ustComponent = new UstProviderComponent(ustProviderInfo.getName(), this);
- addChild(ustComponent);
- ustComponent.setUstProvider(ustProviderInfo);
- }
- }
-
- /**
- * Returns whether the kernel provider is available or not
- * @return <code>true</code> if kernel provide is available or <code>false</code>
- */
- public boolean hasKernelProvider() {
- List<ITraceControlComponent> kernelList = getChildren(KernelProviderComponent.class);
- return !kernelList.isEmpty();
- }
-
- /**
- * Returns if node supports filtering of events
- * @return <code>true</code> if node supports filtering else <code>false</code>
- */
- public boolean isEventFilteringSupported() {
- return ((TargetNodeComponent)getParent()).isEventFilteringSupported();
- }
-}
-
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/model/impl/TraceSessionComponent.java b/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/model/impl/TraceSessionComponent.java
deleted file mode 100644
index ddbe97c4b2..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/model/impl/TraceSessionComponent.java
+++ /dev/null
@@ -1,476 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2012, 2014 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:
- * Bernd Hufmann - Initial API and implementation
- * Bernd Hufmann - Updated for support of LTTng Tools 2.1
- * Marc-Andre Laperle - Support for opening a live session
- **********************************************************************/
-package org.eclipse.linuxtools.internal.lttng2.control.ui.views.model.impl;
-
-import java.util.List;
-
-import org.eclipse.core.commands.ExecutionException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.IChannelInfo;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.IDomainInfo;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.ISessionInfo;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.ISnapshotInfo;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.LogLevelType;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.TraceLogLevel;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.TraceSessionState;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.impl.SessionInfo;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.Activator;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.messages.Messages;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.model.ITraceControlComponent;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.property.TraceSessionPropertySource;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.ui.views.properties.IPropertySource;
-
-/**
- * <p>
- * Implementation of the trace session component.
- * </p>
- *
- * @author Bernd Hufmann
- */
-public class TraceSessionComponent extends TraceControlComponent {
-
- // ------------------------------------------------------------------------
- // Constants
- // ------------------------------------------------------------------------
- /**
- * Path to icon file for this component (inactive state).
- */
- public static final String TRACE_SESSION_ICON_FILE_INACTIVE = "icons/obj16/session_inactive.gif"; //$NON-NLS-1$
- /**
- * Path to icon file for this component (active state).
- */
- public static final String TRACE_SESSION_ICON_FILE_ACTIVE = "icons/obj16/session_active.gif"; //$NON-NLS-1$
- /**
- * Path to icon file for this component (destroyed state).
- */
- public static final String TRACE_SESSION_ICON_FILE_DESTROYED = "icons/obj16/session_destroyed.gif"; //$NON-NLS-1$
-
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
- /**
- * The session information.
- */
- private ISessionInfo fSessionInfo = null;
- /**
- * A flag to indicate if session has been destroyed.
- */
- private boolean fIsDestroyed = false;
- /**
- * The image to be displayed in state active.
- */
- private Image fActiveImage = null;
- /**
- * The image to be displayed in state destroyed
- */
- private Image fDestroyedImage = null;
-
- // ------------------------------------------------------------------------
- // Constructors
- // ------------------------------------------------------------------------
- /**
- * Constructor
- * @param name - the name of the component.
- * @param parent - the parent of this component.
- */
- public TraceSessionComponent(String name, ITraceControlComponent parent) {
- super(name, parent);
- setImage(TRACE_SESSION_ICON_FILE_INACTIVE);
- setToolTip(Messages.TraceControl_SessionDisplayName);
- fSessionInfo = new SessionInfo(name);
- fActiveImage = Activator.getDefault().loadIcon(TRACE_SESSION_ICON_FILE_ACTIVE);
- fDestroyedImage = Activator.getDefault().loadIcon(TRACE_SESSION_ICON_FILE_DESTROYED);
- }
-
- /**
- * Constructor
- *
- * @param sessionInfo
- * the session information used to create the session
- * @param parent
- * the parent of this component.
- */
- public TraceSessionComponent(ISessionInfo sessionInfo, ITraceControlComponent parent) {
- this(sessionInfo.getName(), parent);
- copyLiveInfo(sessionInfo);
- }
-
- private void copyLiveInfo(ISessionInfo sessionInfo) {
- // Since we can't retrieve this information from the node, we copy it over
- fSessionInfo.setLive(sessionInfo.isLive());
- fSessionInfo.setLiveDelay(sessionInfo.getLiveDelay());
- fSessionInfo.setLivePort(sessionInfo.getLivePort());
- fSessionInfo.setLiveUrl(sessionInfo.getLiveUrl());
- }
-
- // ------------------------------------------------------------------------
- // Accessors
- // ------------------------------------------------------------------------
-
- @Override
- public Image getImage() {
- if (fIsDestroyed) {
- return fDestroyedImage;
- }
-
- if (fSessionInfo.getSessionState() == TraceSessionState.INACTIVE) {
- return super.getImage();
- }
-
- return fActiveImage;
- }
-
- /**
- * @return the whether the session is destroyed or not.
- */
- public boolean isDestroyed() {
- return fIsDestroyed;
- }
-
- /**
- * Sets the session destroyed state to the given value.
- * @param destroyed - value to set.
- */
- public void setDestroyed(boolean destroyed) {
- fIsDestroyed = destroyed;
- }
-
- /**
- * @return the session state state (active or inactive).
- */
- public TraceSessionState getSessionState() {
- return fSessionInfo.getSessionState();
- }
-
- /**
- * Sets the session state to the given value.
- * @param state - state to set.
- */
- public void setSessionState(TraceSessionState state) {
- fSessionInfo.setSessionState(state);
- }
-
- /**
- * Sets the event state to the value specified by the given name.
- * @param stateName - state to set.
- */
- public void setSessionState(String stateName) {
- fSessionInfo.setSessionState(stateName);
- }
-
- /**
- * @return path string where session is located.
- */
- public String getSessionPath() {
- return fSessionInfo.getSessionPath();
- }
-
- /**
- * Sets the path string (where session is located) to the given value.
- * @param sessionPath - session path to set.
- */
- public void setSessionPath(String sessionPath) {
- fSessionInfo.setSessionPath(sessionPath);
- }
-
- /**
- * Returns if session is streamed over network
- * @return <code>true</code> if streamed over network else <code>false</code>
- */
- public boolean isStreamedTrace() {
- return fSessionInfo.isStreamedTrace();
- }
-
- /**
- * Sets whether the trace is streamed or not
- * @param isStreamedTrace <code>true</code> if streamed over network else <code>false</code>
- */
- public void setIsStreamedTrace(boolean isStreamedTrace) {
- fSessionInfo.setStreamedTrace(isStreamedTrace);
- }
-
- /**
- * Returns whether the session is snapshot session or not
- * @return <code>true</code> if it is snapshot session else <code>false</code>
- */
- public boolean isSnapshotSession() {
- return fSessionInfo.isSnapshotSession();
- }
-
- /**
- * Gets the snapshot information if available whether the session is a snapshot session or not
- * @return the snapshot information or null if it is not a snapshot session
- */
- public ISnapshotInfo getSnapshotInfo() {
- return fSessionInfo.getSnapshotInfo();
- }
-
- @Override
- public Object getAdapter(Class adapter) {
- if (adapter == IPropertySource.class) {
- return new TraceSessionPropertySource(this);
- }
- return null;
- }
-
- /**
- * @return all available domains of this session.
- */
- public TraceDomainComponent[] getDomains() {
- List<ITraceControlComponent> sessions = getChildren(TraceDomainComponent.class);
- return sessions.toArray(new TraceDomainComponent[sessions.size()]);
- }
-
- /**
- * @return the parent target node
- */
- public TargetNodeComponent getTargetNode() {
- return ((TraceSessionGroup)getParent()).getTargetNode();
- }
-
- /**
- * Returns whether the kernel provider is available or not
- * @return <code>true</code> if kernel provide is available or <code>false</code>
- */
- public boolean hasKernelProvider() {
- List<ITraceControlComponent> providerGroups = getTargetNode().getChildren(TraceProviderGroup.class);
- return (!providerGroups.isEmpty() ? ((TraceProviderGroup) providerGroups.get(0)).hasKernelProvider() : false);
- }
-
- /**
- * Returns if node supports filtering of events
- * @return <code>true</code> if node supports filtering else <code>false</code>
- */
- public boolean isEventFilteringSupported() {
- return ((TargetNodeComponent)getParent().getParent()).isEventFilteringSupported();
- }
-
- /**
- * Returns if node supports snapshots or not
- * @return <code>true</code> if it supports snapshots else <code>false</code>
- *
- */
- public boolean isSnapshotSupported() {
- return ((TargetNodeComponent)getParent().getParent()).isSnapshotSupported();
- }
-
- // ------------------------------------------------------------------------
- // Operations
- // ------------------------------------------------------------------------
-
- /**
- * Retrieves the session configuration from the node.
- *
- * @param monitor
- * - a progress monitor
- * @throws ExecutionException
- * If the command fails
- */
- public void getConfigurationFromNode(IProgressMonitor monitor)
- throws ExecutionException {
- removeAllChildren();
- ISessionInfo newInfo = getControlService().getSession(getName(), monitor);
- if (newInfo != null) {
- ISessionInfo oldSessionInfo = fSessionInfo;
- fSessionInfo = newInfo;
- copyLiveInfo(oldSessionInfo);
-
- IDomainInfo[] domains = fSessionInfo.getDomains();
- for (int i = 0; i < domains.length; i++) {
- TraceDomainComponent domainComponent = new TraceDomainComponent(
- domains[i].getName(), this);
- addChild(domainComponent);
- domainComponent.setDomainInfo(domains[i]);
- }
- }
- }
-
- /**
- * Starts the session.
- *
- * @param monitor
- * - a progress monitor
- * @throws ExecutionException
- * If the command fails
- */
- public void startSession(IProgressMonitor monitor)
- throws ExecutionException {
- getControlService().startSession(getName(), monitor);
- }
-
- /**
- * Starts the session.
- *
- * @param monitor
- * - a progress monitor
- * @throws ExecutionException
- * If the command fails
- */
- public void stopSession(IProgressMonitor monitor) throws ExecutionException {
- getControlService().stopSession(getName(), monitor);
- }
-
- /**
- * Enables channels with given names which are part of this domain. If a
- * given channel doesn't exists it creates a new channel with the given
- * parameters (or default values if given parameter is null).
- *
- * @param channelNames
- * - a list of channel names to enable on this domain
- * @param info
- * - channel information to set for the channel (use null for
- * default)
- * @param isKernel
- * - a flag for indicating kernel or UST.
- * @param monitor
- * - a progress monitor
- * @throws ExecutionException
- * If the command fails
- */
- public void enableChannels(List<String> channelNames, IChannelInfo info,
- boolean isKernel, IProgressMonitor monitor)
- throws ExecutionException {
- getControlService().enableChannels(getName(), channelNames, isKernel,
- info, monitor);
- }
-
- /**
- * Enables a list of events with no additional parameters.
- *
- * @param eventNames
- * - a list of event names to enabled.
- * @param isKernel
- * - a flag for indicating kernel or UST.
- * @param filterExpression
- * - a filter expression
- * @param monitor
- * - a progress monitor
- * @throws ExecutionException
- * If the command fails
- */
- public void enableEvents(List<String> eventNames, boolean isKernel,
- String filterExpression, IProgressMonitor monitor) throws ExecutionException {
- getControlService().enableEvents(getName(), null, eventNames, isKernel,
- filterExpression, monitor);
- }
-
- /**
- * Enables all syscalls (for kernel domain)
- *
- * @param monitor
- * - a progress monitor
- * @throws ExecutionException
- * If the command fails
- */
- public void enableSyscalls(IProgressMonitor monitor)
- throws ExecutionException {
- getControlService().enableSyscalls(getName(), null, monitor);
- }
-
- /**
- * Enables a dynamic probe (for kernel domain)
- *
- * @param eventName
- * - event name for probe
- * @param isFunction
- * - true for dynamic function entry/return probe else false
- * @param probe
- * - the actual probe
- * @param monitor
- * - a progress monitor
- * @throws ExecutionException
- * If the command fails
- */
- public void enableProbe(String eventName, boolean isFunction, String probe,
- IProgressMonitor monitor) throws ExecutionException {
- getControlService().enableProbe(getName(), null, eventName, isFunction,
- probe, monitor);
- }
-
- /**
- * Enables events using log level.
- *
- * @param eventName
- * - a event name
- * @param logLevelType
- * - a log level type
- * @param level
- * - a log level
- * @param filterExpression
- * - a filter expression
- * @param monitor
- * - a progress monitor
- * @throws ExecutionException
- * If the command fails
- */
- public void enableLogLevel(String eventName, LogLevelType logLevelType,
- TraceLogLevel level, String filterExpression, IProgressMonitor monitor)
- throws ExecutionException {
- getControlService().enableLogLevel(getName(), null, eventName,
- logLevelType, level, null, monitor);
- }
-
- /**
- * Gets all available contexts to be added to channels/events.
- *
- * @param monitor
- * The monitor that will indicate the progress
- * @return the list of available contexts
- * @throws ExecutionException
- * If the command fails
- */
- public List<String> getContextList(IProgressMonitor monitor)
- throws ExecutionException {
- return getControlService().getContextList(monitor);
- }
-
- /**
- * Records a snapshot.
- *
- * @param monitor
- * - a progress monitor
- * @throws ExecutionException
- * If the command fails
- */
- public void recordSnapshot(IProgressMonitor monitor) throws ExecutionException {
- getControlService().recordSnapshot(getName(), monitor);
- }
-
- /**
- * Returns if session is live.
- * @return <code>true</code> if session if live else <code>false</code>
- */
- public boolean isLiveTrace() {
- return fSessionInfo.isLive();
- }
-
- /**
- * Get the live URL.
- *
- * @return the live URL
- */
- public String getLiveUrl() {
- return fSessionInfo.getLiveUrl();
- }
-
- /**
- * Get the live port.
- *
- * @return the live port
- */
- public Integer getLivePort() {
- return fSessionInfo.getLivePort();
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/model/impl/TraceSessionGroup.java b/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/model/impl/TraceSessionGroup.java
deleted file mode 100644
index 6e4a3cf0cf..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/model/impl/TraceSessionGroup.java
+++ /dev/null
@@ -1,174 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2012, 2013 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:
- * Bernd Hufmann - Initial API and implementation
- * Bernd Hufmann - Updated for support of LTTng Tools 2.1
- **********************************************************************/
-package org.eclipse.linuxtools.internal.lttng2.control.ui.views.model.impl;
-
-import java.util.List;
-
-import org.eclipse.core.commands.ExecutionException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.ISessionInfo;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.model.ITraceControlComponent;
-
-/**
- * <p>
- * Implementation of the trace session group.
- * </p>
- *
- * @author Bernd Hufmann
- */
-public class TraceSessionGroup extends TraceControlComponent {
- // ------------------------------------------------------------------------
- // Constants
- // ------------------------------------------------------------------------
- /**
- * Path to icon file for this component.
- */
- public static final String TRACE_SESSIONS_ICON_FILE = "icons/obj16/sessions.gif"; //$NON-NLS-1$
-
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
-
- // ------------------------------------------------------------------------
- // Constructors
- // ------------------------------------------------------------------------
- /**
- * Constructor
- * @param name - the name of the component.
- * @param parent - the parent of this component.
- */
- public TraceSessionGroup(String name, ITraceControlComponent parent) {
- super(name, parent);
- setImage(TRACE_SESSIONS_ICON_FILE);
- }
-
- // ------------------------------------------------------------------------
- // Accessors
- // ------------------------------------------------------------------------
-
- /**
- * @return the parent target node
- */
- public TargetNodeComponent getTargetNode() {
- return (TargetNodeComponent)getParent();
- }
-
- /**
- * Returns if node supports networks streaming or not
- * @return <code>true</code> if node supports filtering else <code>false</code>
- */
- public boolean isNetworkStreamingSupported() {
- return getTargetNode().isNetworkStreamingSupported();
- }
- /**
- * Returns if node supports snapshots or not
- * @return <code>true</code> if it supports snapshots else <code>false</code>
- *
- */ public boolean isSnapshotSupported() {
- return getTargetNode().isSnapshotSupported();
- }
-
- /**
- * Returns if node supports live or not
- *
- * @return <code>true</code> if it supports live else <code>false</code>
- */
- public boolean isLiveSupported() {
- return getTargetNode().isLiveSupported();
- }
-
- // ------------------------------------------------------------------------
- // Operations
- // ------------------------------------------------------------------------
- /**
- * Retrieves the sessions information from the node.
- *
- * @throws ExecutionException
- * If the command fails
- */
- public void getSessionsFromNode() throws ExecutionException {
- getSessionsFromNode(new NullProgressMonitor());
- }
-
- /**
- * Retrieves the sessions information from the node.
- *
- * @param monitor
- * - a progress monitor
- * @throws ExecutionException
- * If the command fails
- */
- public void getSessionsFromNode(IProgressMonitor monitor)
- throws ExecutionException {
- String[] sessionNames = getControlService().getSessionNames(monitor);
- for (int i = 0; i < sessionNames.length; i++) {
- TraceSessionComponent session = new TraceSessionComponent(
- sessionNames[i], this);
- addChild(session);
- session.getConfigurationFromNode(monitor);
- }
- }
-
- /**
- * Creates a session with given session name and location.
- *
- * @param sessionInf
- * the session information used to create the session
- *
- * @param monitor
- * - a progress monitor
- * @throws ExecutionException
- * If the command fails
- */
- public void createSession(ISessionInfo sessionInf, IProgressMonitor monitor) throws ExecutionException {
- ISessionInfo sessionInfo = getControlService().createSession(sessionInf, monitor);
-
- if (sessionInfo != null) {
- TraceSessionComponent session = new TraceSessionComponent(sessionInfo, TraceSessionGroup.this);
- addChild(session);
- session.getConfigurationFromNode(monitor);
- }
- }
-
- /**
- * Command to execute a list of commands
- * @param monitor
- * - a progress monitor
- * @param commands
- * - a list of commands to execute
- * @throws ExecutionException
- * If the command fails
- */
- public void executeCommands(IProgressMonitor monitor, List<String> commands) throws ExecutionException {
- getControlService().runCommands(monitor, commands);
- getTargetNode().refresh();
- }
-
- /**
- * Destroys a session with given session name.
- *
- * @param session
- * - a session component to destroy
- * @param monitor
- * - a progress monitor
- * @throws ExecutionException
- * If the command fails
- */
- public void destroySession(TraceSessionComponent session,
- IProgressMonitor monitor) throws ExecutionException {
- getControlService().destroySession(session.getName(), monitor);
- session.removeAllChildren();
- removeChild(session);
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/model/impl/UstProviderComponent.java b/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/model/impl/UstProviderComponent.java
deleted file mode 100644
index 2149f725fe..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/model/impl/UstProviderComponent.java
+++ /dev/null
@@ -1,104 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2012, 2013 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:
- * Bernd Hufmann - Initial API and implementation
- **********************************************************************/
-
-package org.eclipse.linuxtools.internal.lttng2.control.ui.views.model.impl;
-
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.IBaseEventInfo;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.IUstProviderInfo;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.impl.UstProviderInfo;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.messages.Messages;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.model.ITraceControlComponent;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.property.UstProviderPropertySource;
-import org.eclipse.ui.views.properties.IPropertySource;
-
-/**
- * <p>
- * Implementation of the UST provider component.
- * </p>
- *
- * @author Bernd Hufmann
- */
-public class UstProviderComponent extends TraceControlComponent {
-
- // ------------------------------------------------------------------------
- // Constants
- // ------------------------------------------------------------------------
- /**
- * Path to icon file for this component.
- */
- public static final String USTL_PROVIDER_ICON_FILE = "icons/obj16/targets.gif"; //$NON-NLS-1$
-
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
- /**
- * The UST provider information.
- */
- private IUstProviderInfo fProviderInfo = null;
-
- // ------------------------------------------------------------------------
- // Constructors
- // ------------------------------------------------------------------------
- /**
- * Constructor
- * @param name - the name of the component.
- * @param parent - the parent of this component.
- */
- public UstProviderComponent(String name, ITraceControlComponent parent) {
- super(name, parent);
- setImage(USTL_PROVIDER_ICON_FILE);
- setToolTip(Messages.TraceControl_ProviderDisplayName);
- fProviderInfo = new UstProviderInfo(name);
- }
-
- // ------------------------------------------------------------------------
- // Accessors
- // ------------------------------------------------------------------------
- /**
- * Sets the UST provider information to the given value.
- * @param providerInfo - the provider information to set
- */
- public void setUstProvider(IUstProviderInfo providerInfo) {
- fProviderInfo = providerInfo;
- IBaseEventInfo[] events = providerInfo.getEvents();
- for (int i = 0; i < events.length; i++) {
- BaseEventComponent component = new BaseEventComponent(events[i].getName(), this);
- component.setEventInfo(events[i]);
- addChild(component);
- }
- setName(getName() + " [PID=" + fProviderInfo.getPid() + "]"); //$NON-NLS-1$ //$NON-NLS-2$
- }
-
- /**
- * @return the process ID of the UST provider.
- */
- public int getPid() {
- return fProviderInfo.getPid();
- }
-
- /**
- * Sets the process ID of the UST provider to the given value.
- * @param pid - process ID to set
- */
- public void setPid(int pid) {
- fProviderInfo.setPid(pid);
- }
-
- @Override
- public Object getAdapter(Class adapter) {
- if (adapter == IPropertySource.class) {
- return new UstProviderPropertySource(this);
- }
- return null;
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/preferences/ControlPreferenceInitializer.java b/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/preferences/ControlPreferenceInitializer.java
deleted file mode 100644
index 5531645c1e..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/preferences/ControlPreferenceInitializer.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2012, 2013 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:
- * Bernd Hufmann - Initial API and implementation
- **********************************************************************/
-package org.eclipse.linuxtools.internal.lttng2.control.ui.views.preferences;
-
-import org.eclipse.core.runtime.preferences.AbstractPreferenceInitializer;
-import org.eclipse.jface.preference.IPreferenceStore;
-
-/**
- * <p>
- * A class to initialize the preferences.
- * </p>
- *
- * @author Bernd Hufmann
- */
-public class ControlPreferenceInitializer extends AbstractPreferenceInitializer {
-
- @Override
- public void initializeDefaultPreferences() {
- final IPreferenceStore store = ControlPreferences.getInstance().getPreferenceStore();
-
- //Set default User ID if none already stored in preferences
- store.setDefault(ControlPreferences.TRACE_CONTROL_TRACING_GROUP_PREF, ControlPreferences.TRACE_CONTROL_DEFAULT_TRACING_GROUP);
- store.setDefault(ControlPreferences.TRACE_CONTROL_LOG_APPEND_PREF, false);
- store.setDefault(ControlPreferences.TRACE_CONTROL_LOG_FILE_PATH_PREF, ControlPreferences.TRACE_CONTROL_DEFAULT_LOG_PATH);
- store.setDefault(ControlPreferences.TRACE_CONTROL_LOG_COMMANDS_PREF, false);
- store.setDefault(ControlPreferences.TRACE_CONTROL_VERBOSE_LEVEL_PREF, ControlPreferences.TRACE_CONTROL_VERBOSE_LEVEL_NONE);
- store.setDefault(ControlPreferences.TRACE_CONTROL_COMMAND_TIMEOUT_PREF, ControlPreferences.TRACE_CONTROL_DEFAULT_TIMEOUT_VALUE);
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/preferences/ControlPreferencePage.java b/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/preferences/ControlPreferencePage.java
deleted file mode 100644
index 1cea6a322d..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/preferences/ControlPreferencePage.java
+++ /dev/null
@@ -1,151 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2012, 2013 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:
- * Bernd Hufmann - Initial API and implementation
- **********************************************************************/
-package org.eclipse.linuxtools.internal.lttng2.control.ui.views.preferences;
-
-import org.eclipse.jface.preference.BooleanFieldEditor;
-import org.eclipse.jface.preference.FieldEditor;
-import org.eclipse.jface.preference.FieldEditorPreferencePage;
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.jface.preference.IntegerFieldEditor;
-import org.eclipse.jface.preference.RadioGroupFieldEditor;
-import org.eclipse.jface.preference.StringFieldEditor;
-import org.eclipse.jface.util.PropertyChangeEvent;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.logging.ControlCommandLogger;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.messages.Messages;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.IWorkbenchPreferencePage;
-
-/**
- * <p>
- * Preference page implementation for configuring LTTng tracer control preferences.
- * </p>
- *
- * @author Bernd Hufmann
- */
-public class ControlPreferencePage extends FieldEditorPreferencePage implements IWorkbenchPreferencePage {
-
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
- private RadioGroupFieldEditor fVerboseLevel;
- private BooleanFieldEditor fIsAppend;
-
- // ------------------------------------------------------------------------
- // Constructors
- // ------------------------------------------------------------------------
-
- /**
- * Constructor
- */
- public ControlPreferencePage() {
- super(FieldEditorPreferencePage.GRID);
-
- // Set the preference store for the preference page.
- IPreferenceStore store = ControlPreferences.getInstance().getPreferenceStore();
- setPreferenceStore(store);
- }
-
- // ------------------------------------------------------------------------
- // Operations
- // ------------------------------------------------------------------------
-
- @Override
- public void init(IWorkbench workbench) {
- }
-
- @Override
- protected void createFieldEditors() {
-
- StringFieldEditor tracingGroup = new StringFieldEditor(ControlPreferences.TRACE_CONTROL_TRACING_GROUP_PREF, Messages.TraceControl_TracingGroupPreference, getFieldEditorParent());
- addField(tracingGroup);
-
- BooleanFieldEditor logCommand = new BooleanFieldEditor(ControlPreferences.TRACE_CONTROL_LOG_COMMANDS_PREF, Messages.TraceControl_LoggingPreference, getFieldEditorParent());
- addField(logCommand);
-
- StringFieldEditor logfile = new StringFieldEditor(ControlPreferences.TRACE_CONTROL_LOG_FILE_PATH_PREF, Messages.TraceControl_LogfilePath, getFieldEditorParent());
- addField(logfile);
-
- fIsAppend = new BooleanFieldEditor(ControlPreferences.TRACE_CONTROL_LOG_APPEND_PREF, Messages.TraceControl_AppendLogfilePreference, getFieldEditorParent());
- addField(fIsAppend);
-
- fVerboseLevel = new RadioGroupFieldEditor (
- ControlPreferences.TRACE_CONTROL_VERBOSE_LEVEL_PREF,
- Messages.TraceControl_VerboseLevelsPreference,
- 4,
- new String[][] {
- {
- Messages.TraceControl_VerboseLevelNonePreference,
- ControlPreferences.TRACE_CONTROL_VERBOSE_LEVEL_NONE,
- },
- {
- Messages.TraceControl_VerboseLevelVerbosePreference,
- ControlPreferences.TRACE_CONTROL_VERBOSE_LEVEL_VERBOSE
- },
- {
- Messages.TraceControl_VerboseLevelVeryVerbosePreference,
- ControlPreferences.TRACE_CONTROL_VERBOSE_LEVEL_V_VERBOSE
- },
- {
- Messages.TraceControl_VerboseLevelVeryVeryVerbosePreference,
- ControlPreferences.TRACE_CONTROL_VERBOSE_LEVEL_V_V_VERBOSE
- }
- },
- getFieldEditorParent(),
- true);
-
- addField(fVerboseLevel);
-
- Boolean enabled = ControlPreferences.getInstance().isLoggingEnabled();
- fVerboseLevel.setEnabled(enabled, getFieldEditorParent());
- fIsAppend.setEnabled(enabled, getFieldEditorParent());
- logfile.setEnabled(false, getFieldEditorParent());
-
- IntegerFieldEditor commandTimeout = new IntegerFieldEditor(ControlPreferences.TRACE_CONTROL_COMMAND_TIMEOUT_PREF, Messages.TraceControl_CommandTimeout, getFieldEditorParent());
- commandTimeout.setValidRange(ControlPreferences.TRACE_CONTROL_MIN_TIMEOUT_VALUE, ControlPreferences.TRACE_CONTROL_MAX_TIMEOUT_VALUE);
- addField(commandTimeout);
- }
-
- @Override
- public void propertyChange(PropertyChangeEvent event) {
-
- if (event.getProperty().equals(FieldEditor.VALUE)) {
- if (event.getSource() instanceof FieldEditor) {
- FieldEditor editor = (FieldEditor) event.getSource();
- if (editor.getPreferenceName().equals(ControlPreferences.TRACE_CONTROL_LOG_COMMANDS_PREF)) {
- Boolean enabled = (Boolean)event.getNewValue();
- fVerboseLevel.setEnabled(enabled, getFieldEditorParent());
- fIsAppend.setEnabled(enabled, getFieldEditorParent());
- }
- }
- }
- super.propertyChange(event);
- }
-
- @Override
- protected void performDefaults() {
- super.performDefaults();
- fVerboseLevel.setEnabled(false, getFieldEditorParent());
- fIsAppend.setEnabled(false, getFieldEditorParent());
- }
-
- @Override
- public boolean performOk() {
- boolean ret = super.performOk();
- // open or close log file
- if (ControlPreferences.getInstance().isLoggingEnabled()) {
- ControlCommandLogger.init(ControlPreferences.getInstance().getLogfilePath(), ControlPreferences.getInstance().isAppend());
- } else {
- ControlCommandLogger.close();
- }
- return ret;
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/preferences/ControlPreferences.java b/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/preferences/ControlPreferences.java
deleted file mode 100644
index 8d0c8d0b2f..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/preferences/ControlPreferences.java
+++ /dev/null
@@ -1,215 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2012, 2013 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:
- * Bernd Hufmann - Initial API and implementation
- **********************************************************************/
-package org.eclipse.linuxtools.internal.lttng2.control.ui.views.preferences;
-
-import java.io.File;
-
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.logging.ControlCommandLogger;
-
-/**
- * <p>
- * Singleton class to access LTTng tracer control preferences.
- * </p>
- *
- * @author Bernd Hufmann
- */
-public class ControlPreferences {
-
- // ------------------------------------------------------------------------
- // Constants
- // ------------------------------------------------------------------------
- /**
- * Trace control log file
- */
- public static final String TRACE_CONTROL_LOG_FILENAME = "lttng_tracer_control.log"; //$NON-NLS-1$
-
- // Preference strings
- /**
- * The tracing group preference
- */
- public static final String TRACE_CONTROL_TRACING_GROUP_PREF = "trace.control.tracing.group"; //$NON-NLS-1$
- /**
- * The log commands preference
- */
- public static final String TRACE_CONTROL_LOG_COMMANDS_PREF = "trace.control.log.commands"; //$NON-NLS-1$
- /**
- * The log append preference
- */
- public static final String TRACE_CONTROL_LOG_APPEND_PREF = "trace.control.log.append"; //$NON-NLS-1$
- /**
- * The log file path preference
- */
- public static final String TRACE_CONTROL_LOG_FILE_PATH_PREF = "trace.control.log.path"; //$NON-NLS-1$
- /**
- * The verbose level preference
- */
- public static final String TRACE_CONTROL_VERBOSE_LEVEL_PREF = "trace.control.verbose.level"; //$NON-NLS-1$
- /**
- * The command time-out preference
- */
- public static final String TRACE_CONTROL_COMMAND_TIMEOUT_PREF = "trace.control.command.timeout"; //$NON-NLS-1$
- /**
- * The verbose level value for none
- */
- public static final String TRACE_CONTROL_VERBOSE_LEVEL_NONE = "trace.control.verbose.level.none"; //$NON-NLS-1$
- /**
- * The verbose level value for level 1 (-v)
- */
- public static final String TRACE_CONTROL_VERBOSE_LEVEL_VERBOSE = "trace.control.verbose.level.v"; //$NON-NLS-1$
- /**
- * The verbose level value for level 2 (-vv)
- */
- public static final String TRACE_CONTROL_VERBOSE_LEVEL_V_VERBOSE = "trace.control.verbose.level.vv"; //$NON-NLS-1$
- /**
- * The verbose level value for level 3 (-vvv)
- */
- public static final String TRACE_CONTROL_VERBOSE_LEVEL_V_V_VERBOSE = "trace.control.verbose.level.vvv"; //$NON-NLS-1$
- /**
- * The default tracing group
- */
- public static final String TRACE_CONTROL_DEFAULT_TRACING_GROUP = "tracing"; //$NON-NLS-1$
- /**
- * The default tracing log file name with absolute path
- */
- public static final String TRACE_CONTROL_DEFAULT_LOG_PATH = System.getProperty("user.home") + File.separator + TRACE_CONTROL_LOG_FILENAME; //$NON-NLS-1$
- /**
- * Default timeout value used for executing commands, in seconds
- */
- public static final int TRACE_CONTROL_DEFAULT_TIMEOUT_VALUE = 15;
- /**
- * Minimum timeout value used for executing commands, in seconds
- */
- public static final int TRACE_CONTROL_MIN_TIMEOUT_VALUE = 5;
- /**
- * Maximum timeout value used for executing commands, in seconds
- */
- public static final int TRACE_CONTROL_MAX_TIMEOUT_VALUE = 600;
-
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
- /**
- * The trace control preferences singleton instance.
- */
- private static ControlPreferences fInstance = null;
- /**
- * The preference store reference
- */
- private IPreferenceStore fPreferenceStore = null;
-
- // ------------------------------------------------------------------------
- // Constructor
- // ------------------------------------------------------------------------
- /**
- * Private constructor
- */
- private ControlPreferences() {
- }
-
- // ------------------------------------------------------------------------
- // Accessors
- // ------------------------------------------------------------------------
- /**
- * Returns the trace control preferences singleton instance
- *
- * @return the trace control preferences singleton instance
- */
- public static synchronized ControlPreferences getInstance() {
- if (fInstance == null) {
- fInstance = new ControlPreferences();
- }
- return fInstance;
- }
-
- /**
- * @return the preference store
- */
- public IPreferenceStore getPreferenceStore() {
- return fPreferenceStore;
- }
-
- /**
- * @return true if tracing group is set to default
- */
- public boolean isDefaultTracingGroup() {
- return fPreferenceStore.getString(TRACE_CONTROL_TRACING_GROUP_PREF).equals(fPreferenceStore.getDefaultString(TRACE_CONTROL_TRACING_GROUP_PREF));
- }
-
- /**
- * @return value of tracing group preference
- */
- public String getTracingGroup() {
- return fPreferenceStore.getString(TRACE_CONTROL_TRACING_GROUP_PREF);
- }
-
- /**
- * @return whether is logging is enabled
- */
- public boolean isLoggingEnabled() {
- return fPreferenceStore.getBoolean(TRACE_CONTROL_LOG_COMMANDS_PREF);
- }
-
- /**
- * @return whether an existing log file will appended or not
- */
- public boolean isAppend() {
- return fPreferenceStore.getBoolean(ControlPreferences.TRACE_CONTROL_LOG_APPEND_PREF);
- }
-
- /**
- * @return verbose level preference
- */
- public String getVerboseLevel() {
- return fPreferenceStore.getString(TRACE_CONTROL_VERBOSE_LEVEL_PREF);
- }
-
- /**
- * @return absolute log file path
- */
- public String getLogfilePath() {
- return fPreferenceStore.getString(TRACE_CONTROL_LOG_FILE_PATH_PREF);
- }
-
- /**
- * @return command timeout value
- */
- public int getCommandTimeout() {
- return fPreferenceStore.getInt(TRACE_CONTROL_COMMAND_TIMEOUT_PREF);
- }
-
-
- // ------------------------------------------------------------------------
- // Operations
- // ------------------------------------------------------------------------
-
- /**
- * Initializes the control preferences (e.g. enable open log file)
- *
- * @param preferenceStore
- * The preference store to assign
- */
- public void init(IPreferenceStore preferenceStore) {
- fPreferenceStore = preferenceStore;
-
- if (fPreferenceStore.getBoolean(ControlPreferences.TRACE_CONTROL_LOG_COMMANDS_PREF)) {
- ControlCommandLogger.init(getLogfilePath(), isAppend());
- }
- }
-
- /**
- * Disposes any resource (e.g. close log file).
- */
- public void dispose() {
- ControlCommandLogger.close();
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/property/BaseEventPropertySource.java b/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/property/BaseEventPropertySource.java
deleted file mode 100644
index 846bc0989b..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/property/BaseEventPropertySource.java
+++ /dev/null
@@ -1,124 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2012, 2014 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:
- * Bernd Hufmann - Initial API and implementation
- * Bernd Hufmann - Updated for support of LTTng Tools 2.1
- **********************************************************************/
-package org.eclipse.linuxtools.internal.lttng2.control.ui.views.property;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.TraceLogLevel;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.messages.Messages;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.model.impl.BaseEventComponent;
-import org.eclipse.linuxtools.tmf.ui.properties.ReadOnlyTextPropertyDescriptor;
-import org.eclipse.ui.views.properties.IPropertyDescriptor;
-
-/**
- * <p>
- * Property source implementation for the base event component.
- * </p>
- *
- * @author Bernd Hufmann
- */
-public class BaseEventPropertySource extends BasePropertySource {
-
- // ------------------------------------------------------------------------
- // Constants
- // ------------------------------------------------------------------------
-
- /**
- * The base event 'name' property ID.
- */
- public static final String BASE_EVENT_NAME_PROPERTY_ID = "base.event.name"; //$NON-NLS-1$
- /**
- * The base event 'type' property ID.
- */
- public static final String BASE_EVENT_TYPE_PROPERTY_ID = "base.event.type"; //$NON-NLS-1$
- /**
- * The base event 'log level' property ID.
- */
- public static final String BASE_EVENT_LOGLEVEL_PROPERTY_ID = "base.event.loglevel"; //$NON-NLS-1$
- /**
- * The base event 'fields' property ID.
- */
- public static final String BASE_EVENT_FIELDS_PROPERTY_ID = "base.event.fields"; //$NON-NLS-1$
- /**
- * The base event 'name' property name.
- */
- public static final String BASE_EVENT_NAME_PROPERTY_NAME = Messages.TraceControl_EventNamePropertyName;
- /**
- * The base event 'type' property name.
- */
- public static final String BASE_EVENT_TYPE_PROPERTY_NAME = Messages.TraceControl_EventTypePropertyName;
- /**
- * The base event 'log level' property name.
- */
- public static final String BASE_EVENT_LOGLEVEL_PROPERTY_NAME = Messages.TraceControl_LogLevelPropertyName;
- /**
- * The base event 'fields' property name.
- */
- public static final String BASE_EVENT_FIELDS_PROPERTY_NAME = Messages.TraceControl_FieldsPropertyName;
-
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
- /**
- * The base event component which this property source is for.
- */
- private final BaseEventComponent fBaseEvent;
-
- // ------------------------------------------------------------------------
- // Constructors
- // ------------------------------------------------------------------------
- /**
- * Constructor
- * @param component - the base event component
- */
- public BaseEventPropertySource(BaseEventComponent component) {
- fBaseEvent = component;
- }
-
- // ------------------------------------------------------------------------
- // Operations
- // ------------------------------------------------------------------------
-
- @Override
- public IPropertyDescriptor[] getPropertyDescriptors() {
- List<IPropertyDescriptor> list = new ArrayList<> ();
- list.add(new ReadOnlyTextPropertyDescriptor(BASE_EVENT_NAME_PROPERTY_ID, BASE_EVENT_NAME_PROPERTY_NAME));
- list.add(new ReadOnlyTextPropertyDescriptor(BASE_EVENT_TYPE_PROPERTY_ID, BASE_EVENT_TYPE_PROPERTY_NAME));
- if (fBaseEvent.getLogLevel() != TraceLogLevel.LEVEL_UNKNOWN) {
- list.add(new ReadOnlyTextPropertyDescriptor(BASE_EVENT_LOGLEVEL_PROPERTY_ID, BASE_EVENT_LOGLEVEL_PROPERTY_NAME));
- }
- if (fBaseEvent.getFieldString() != null) {
- list.add(new ReadOnlyTextPropertyDescriptor(BASE_EVENT_FIELDS_PROPERTY_ID, BASE_EVENT_FIELDS_PROPERTY_NAME));
- }
- return list.toArray(new IPropertyDescriptor[list.size()]);
- }
-
- @Override
- public Object getPropertyValue(Object id) {
- if(BASE_EVENT_NAME_PROPERTY_ID.equals(id)) {
- return fBaseEvent.getName();
- }
- if (BASE_EVENT_TYPE_PROPERTY_ID.equals(id)) {
- return fBaseEvent.getEventType().name();
- }
- if (BASE_EVENT_LOGLEVEL_PROPERTY_ID.equals(id)) {
- return fBaseEvent.getLogLevel().name();
- }
- if (BASE_EVENT_FIELDS_PROPERTY_ID.equals(id)) {
- return fBaseEvent.getFieldString();
- }
- return null;
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/property/BasePropertySource.java b/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/property/BasePropertySource.java
deleted file mode 100644
index e5c7cede5f..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/property/BasePropertySource.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2012, 2013 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:
- * Bernd Hufmann - Initial API and implementation
- **********************************************************************/
-package org.eclipse.linuxtools.internal.lttng2.control.ui.views.property;
-
-import org.eclipse.ui.views.properties.IPropertyDescriptor;
-import org.eclipse.ui.views.properties.IPropertySource;
-
-/**
- * <p>
- * Base property source implementation.
- * </p>
- *
- * @author Bernd Hufmann
- */
-public abstract class BasePropertySource implements IPropertySource {
-
- // ------------------------------------------------------------------------
- // Operations
- // ------------------------------------------------------------------------
-
- @Override
- public Object getEditableValue() {
- return null;
- }
-
- @Override
- public abstract IPropertyDescriptor[] getPropertyDescriptors();
-
- @Override
- public abstract Object getPropertyValue(Object id);
-
- @Override
- public boolean isPropertySet(Object id) {
- return false;
- }
-
- @Override
- public void resetPropertyValue(Object id) {
- }
-
- @Override
- public void setPropertyValue(Object id, Object value) {
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/property/KernelProviderPropertySource.java b/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/property/KernelProviderPropertySource.java
deleted file mode 100644
index 00ae10c824..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/property/KernelProviderPropertySource.java
+++ /dev/null
@@ -1,80 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2012, 2013 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:
- * Bernd Hufmann - Initial API and implementation
- **********************************************************************/
-package org.eclipse.linuxtools.internal.lttng2.control.ui.views.property;
-
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.messages.Messages;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.model.impl.KernelProviderComponent;
-import org.eclipse.linuxtools.tmf.ui.properties.ReadOnlyTextPropertyDescriptor;
-import org.eclipse.ui.views.properties.IPropertyDescriptor;
-
-/**
- * <p>
- * Property source implementation for the kernl provider component.
- * </p>
- *
- * @author Bernd Hufmann
- */
-public class KernelProviderPropertySource extends BasePropertySource {
-
- // ------------------------------------------------------------------------
- // Constants
- // ------------------------------------------------------------------------
-
- /**
- * The kernel provider 'name' property ID.
- */
- public static final String KERNEL_PROVIDER_NAME_PROPERTY_ID = "ust.provider.name"; //$NON-NLS-1$
- /**
- * The kernel provider 'name' property name.
- */
- public static final String KERNEL_PROVIDER_NAME_PROPERTY_NAME = Messages.TraceControl_ProviderNamePropertyName;
-
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
-
- /**
- * The kernel provider component which this property source is for.
- */
- private KernelProviderComponent fProvider;
-
- // ------------------------------------------------------------------------
- // Constructors
- // ------------------------------------------------------------------------
-
- /**
- * Constructor
- * @param component - the kernel provider component
- */
- public KernelProviderPropertySource(KernelProviderComponent component) {
- fProvider = component;
- }
-
- // ------------------------------------------------------------------------
- // Operations
- // ------------------------------------------------------------------------
-
- @Override
- public IPropertyDescriptor[] getPropertyDescriptors() {
- return new IPropertyDescriptor[] {
- new ReadOnlyTextPropertyDescriptor(KERNEL_PROVIDER_NAME_PROPERTY_ID, KERNEL_PROVIDER_NAME_PROPERTY_NAME)};
- }
-
- @Override
- public Object getPropertyValue(Object id) {
- if(KERNEL_PROVIDER_NAME_PROPERTY_ID.equals(id)) {
- return fProvider.getName();
- }
- return null;
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/property/TargetNodePropertySource.java b/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/property/TargetNodePropertySource.java
deleted file mode 100644
index d4b6893cf9..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/property/TargetNodePropertySource.java
+++ /dev/null
@@ -1,114 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2012, 2014 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:
- * Bernd Hufmann - Initial API and implementation
- * Markus Schorn - Bug 448058: Use org.eclipse.remote in favor of RSE
- **********************************************************************/
-package org.eclipse.linuxtools.internal.lttng2.control.ui.views.property;
-
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.messages.Messages;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.model.impl.TargetNodeComponent;
-import org.eclipse.linuxtools.tmf.ui.properties.ReadOnlyTextPropertyDescriptor;
-import org.eclipse.ui.views.properties.IPropertyDescriptor;
-
-/**
- * <p>
- * Property source implementation for the target node component.
- * </p>
- *
- * @author Bernd Hufmann
- */
-public class TargetNodePropertySource extends BasePropertySource {
-
- // ------------------------------------------------------------------------
- // Constants
- // ------------------------------------------------------------------------
- /**
- * The node name property ID.
- */
- public static final String TARGET_NODE_NAME_PROPERTY_ID = "target.node.name"; //$NON-NLS-1$
- /**
- * The node address property ID.
- */
- public static final String TARGET_NODE_ADDRESS_PROPERTY_ID = "target.node.address"; //$NON-NLS-1$
- /**
- * The state property ID.
- */
- public static final String TARGET_NODE_STATE_PROPERTY_ID = "target.node.state"; //$NON-NLS-1$
- /**
- * The node version property ID.
- */
- public static final String TARGET_NODE_VERSION_PROPERTY_ID = "target.node.version"; //$NON-NLS-1$
-
- /**
- * The node name property name.
- */
- public static final String TARGET_NODE_NAME_PROPERTY_NAME = Messages.TraceControl_HostNamePropertyName;
- /**
- * The node address property name.
- */
- public static final String TARGET_NODE_ADDRESS_PROPERTY_NAME = Messages.TraceControl_HostAddressPropertyName;
- /**
- * The state address property name.
- */
- public static final String TARGET_NODE_STATE_PROPERTY_NAME = Messages.TraceControl_StatePropertyName;
- /**
- * The node version property name.
- */
- public static final String TARGET_NODE_VERSION_PROPERTY_NAME = Messages.TraceControl_VersionPropertyName;
-
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
- /**
- * The node component which this property source is for.
- */
- private final TargetNodeComponent fTargetNode;
-
- // ------------------------------------------------------------------------
- // Constructors
- // ------------------------------------------------------------------------
- /**
- * Constructor
- * @param component - the node component
- */
- public TargetNodePropertySource(TargetNodeComponent component) {
- fTargetNode = component;
- }
-
- // ------------------------------------------------------------------------
- // Operations
- // ------------------------------------------------------------------------
-
- @Override
- public IPropertyDescriptor[] getPropertyDescriptors() {
- return new IPropertyDescriptor[] {
- new ReadOnlyTextPropertyDescriptor(TARGET_NODE_NAME_PROPERTY_ID, TARGET_NODE_NAME_PROPERTY_NAME),
- new ReadOnlyTextPropertyDescriptor(TARGET_NODE_ADDRESS_PROPERTY_ID, TARGET_NODE_ADDRESS_PROPERTY_NAME),
- new ReadOnlyTextPropertyDescriptor(TARGET_NODE_STATE_PROPERTY_ID, TARGET_NODE_STATE_PROPERTY_NAME),
- new ReadOnlyTextPropertyDescriptor(TARGET_NODE_VERSION_PROPERTY_ID, TARGET_NODE_VERSION_PROPERTY_NAME)};
- }
-
- @Override
- public Object getPropertyValue(Object id) {
- if(TARGET_NODE_NAME_PROPERTY_ID.equals(id)) {
- return fTargetNode.getName();
- }
- if (TARGET_NODE_ADDRESS_PROPERTY_ID.equals(id)) {
- return fTargetNode.getRemoteConnection().getAddress();
- }
- if (TARGET_NODE_STATE_PROPERTY_ID.equals(id)) {
- return fTargetNode.getTargetNodeState().name();
- }
- if (TARGET_NODE_VERSION_PROPERTY_ID.equals(id)) {
- return fTargetNode.getNodeVersion();
- }
- return null;
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/property/TraceChannelPropertySource.java b/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/property/TraceChannelPropertySource.java
deleted file mode 100644
index 790a6dd01e..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/property/TraceChannelPropertySource.java
+++ /dev/null
@@ -1,161 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2012, 2013 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:
- * Bernd Hufmann - Initial API and implementation
- **********************************************************************/
-package org.eclipse.linuxtools.internal.lttng2.control.ui.views.property;
-
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.messages.Messages;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.model.impl.TraceChannelComponent;
-import org.eclipse.linuxtools.tmf.ui.properties.ReadOnlyTextPropertyDescriptor;
-import org.eclipse.ui.views.properties.IPropertyDescriptor;
-
-/**
- * <p>
- * Property source implementation for the trace channel component.
- * </p>
- *
- * @author Bernd Hufmann
- */
-public class TraceChannelPropertySource extends BasePropertySource {
-
- // ------------------------------------------------------------------------
- // Constants
- // ------------------------------------------------------------------------
- /**
- * The trace channel 'name' property ID.
- */
- public static final String TRACE_CHANNEL_NAME_PROPERTY_ID = "trace.channel.name"; //$NON-NLS-1$
- /**
- * The trace channel 'state' ID.
- */
- public static final String TRACE_CHANNEL_STATE_PROPERTY_ID = "trace.channel.state"; //$NON-NLS-1$
- /**
- * The trace channel 'overwrite mode' property ID.
- */
- public static final String TRACE_CHANNEL_OVERWRITE_MODE_PROPERTY_ID = "trace.channel.overwrite.mode"; //$NON-NLS-1$
- /**
- * The trace channel 'sub-buffer size' property ID.
- */
- public static final String TRACE_CHANNEL_SUBBUFFER_SIZE_PROPERTY_ID = "trace.channel.subbuffer.size"; //$NON-NLS-1$
- /**
- * The trace channel 'number of sub-buffers' property ID.
- */
- public static final String TRACE_CHANNEL_NO_SUBBUFFERS_PROPERTY_ID = "trace.channel.no.subbuffers"; //$NON-NLS-1$
- /**
- * The trace channel 'switch timer interval' property ID.
- */
- public static final String TRACE_CHANNEL_SWITCH_TIMER_PROPERTY_ID = "trace.channel.switch.timer"; //$NON-NLS-1$
- /**
- * The trace channel 'read timer interval' property ID.
- */
- public static final String TRACE_CHANNEL_READ_TIMER_PROPERTY_ID = "trace.channel.read.timer"; //$NON-NLS-1$
- /**
- * The trace channel 'output type' property ID.
- */
- public static final String TRACE_CHANNEL_OUTPUT_TYPE_PROPERTY_ID = "trace.channel.output.type"; //$NON-NLS-1$
- /**
- * The trace channel 'name' property name.
- */
- public static final String TRACE_CHANNEL_NAME_PROPERTY_NAME = Messages.TraceControl_ChannelNamePropertyName;
- /**
- * The trace channel 'state' property name.
- */
- public static final String TRACE_CHANNEL_STATE_PROPERTY_NAME = Messages.TraceControl_StatePropertyName;
- /**
- * The trace channel 'overwrite mode' property name.
- */
- public static final String TRACE_CHANNEL_OVERWRITE_MODE_PROPERTY_NAME = Messages.TraceControl_OverwriteModePropertyName;
- /**
- * The trace channel 'sub-buffer size' property name.
- */
- public static final String TRACE_CHANNEL_SUBBUFFER_SIZE_PROPERTY_NAME = Messages.TraceControl_SubBufferSizePropertyName;
- /**
- * The trace channel 'sub-buffer size' property name.
- */
- public static final String TRACE_CHANNEL_NO_SUBBUFFERS_PROPERTY_NAME = Messages.TraceControl_NbSubBuffersPropertyName;
- /**
- * The trace channel 'switch timer interval' property name.
- */
- public static final String TRACE_CHANNEL_SWITCH_TIMER_PROPERTY_NAME = Messages.TraceControl_SwitchTimerPropertyName;
- /**
- * The trace channel 'read timer interval' property name.
- */
- public static final String TRACE_CHANNEL_READ_TIMER_PROPERTY_NAME = Messages.TraceControl_ReadTimerPropertyName;
- /**
- * The trace channel 'output type' property name.
- */
- public static final String TRACE_CHANNEL_OUTPUT_TYPEPROPERTY_NAME = Messages.TraceControl_OutputTypePropertyName;
-
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
- /**
- * The channel component which this property source is for.
- */
- private final TraceChannelComponent fChannel;
-
- // ------------------------------------------------------------------------
- // Constructors
- // ------------------------------------------------------------------------
- /**
- * Constructor
- * @param component - the channel component
- */
- public TraceChannelPropertySource(TraceChannelComponent component) {
- fChannel = component;
- }
-
- // ------------------------------------------------------------------------
- // Operations
- // ------------------------------------------------------------------------
-
- @Override
- public IPropertyDescriptor[] getPropertyDescriptors() {
- return new IPropertyDescriptor[] {
- new ReadOnlyTextPropertyDescriptor(TRACE_CHANNEL_NAME_PROPERTY_ID, TRACE_CHANNEL_NAME_PROPERTY_NAME),
- new ReadOnlyTextPropertyDescriptor(TRACE_CHANNEL_STATE_PROPERTY_ID, TRACE_CHANNEL_STATE_PROPERTY_NAME),
- new ReadOnlyTextPropertyDescriptor(TRACE_CHANNEL_OVERWRITE_MODE_PROPERTY_ID, TRACE_CHANNEL_OVERWRITE_MODE_PROPERTY_NAME),
- new ReadOnlyTextPropertyDescriptor(TRACE_CHANNEL_SUBBUFFER_SIZE_PROPERTY_ID, TRACE_CHANNEL_SUBBUFFER_SIZE_PROPERTY_NAME),
- new ReadOnlyTextPropertyDescriptor(TRACE_CHANNEL_NO_SUBBUFFERS_PROPERTY_ID, TRACE_CHANNEL_NO_SUBBUFFERS_PROPERTY_NAME),
- new ReadOnlyTextPropertyDescriptor(TRACE_CHANNEL_SWITCH_TIMER_PROPERTY_ID, TRACE_CHANNEL_SWITCH_TIMER_PROPERTY_NAME),
- new ReadOnlyTextPropertyDescriptor(TRACE_CHANNEL_READ_TIMER_PROPERTY_ID, TRACE_CHANNEL_READ_TIMER_PROPERTY_NAME),
- new ReadOnlyTextPropertyDescriptor(TRACE_CHANNEL_OUTPUT_TYPE_PROPERTY_ID, TRACE_CHANNEL_OUTPUT_TYPEPROPERTY_NAME)};
- }
-
- @Override
- public Object getPropertyValue(Object id) {
- if(TRACE_CHANNEL_NAME_PROPERTY_ID.equals(id)) {
- return fChannel.getName();
- }
- if (TRACE_CHANNEL_STATE_PROPERTY_ID.equals(id)) {
- return fChannel.getState().name();
- }
- if(TRACE_CHANNEL_OVERWRITE_MODE_PROPERTY_ID.equals(id)) {
- return String.valueOf(fChannel.isOverwriteMode());
- }
- if(TRACE_CHANNEL_SUBBUFFER_SIZE_PROPERTY_ID.equals(id)) {
- return String.valueOf(fChannel.getSubBufferSize());
- }
- if(TRACE_CHANNEL_NO_SUBBUFFERS_PROPERTY_ID.equals(id)) {
- return String.valueOf(fChannel.getNumberOfSubBuffers());
- }
- if(TRACE_CHANNEL_SWITCH_TIMER_PROPERTY_ID.equals(id)) {
- return String.valueOf(fChannel.getSwitchTimer());
- }
- if(TRACE_CHANNEL_READ_TIMER_PROPERTY_ID.equals(id)) {
- return String.valueOf(fChannel.getReadTimer());
- }
- if(TRACE_CHANNEL_OUTPUT_TYPE_PROPERTY_ID.equals(id)) {
- return fChannel.getOutputType().getInName();
- }
- return null;
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/property/TraceDomainPropertySource.java b/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/property/TraceDomainPropertySource.java
deleted file mode 100644
index 630fe7f064..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/property/TraceDomainPropertySource.java
+++ /dev/null
@@ -1,99 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2012, 2013 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:
- * Bernd Hufmann - Initial API and implementation
- **********************************************************************/
-package org.eclipse.linuxtools.internal.lttng2.control.ui.views.property;
-
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.impl.BufferType;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.messages.Messages;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.model.impl.TraceDomainComponent;
-import org.eclipse.linuxtools.tmf.ui.properties.ReadOnlyTextPropertyDescriptor;
-import org.eclipse.ui.views.properties.IPropertyDescriptor;
-
-/**
- * <p>
- * Property source implementation for the trace domain component.
- * </p>
- *
- * @author Bernd Hufmann
- */
-public class TraceDomainPropertySource extends BasePropertySource {
-
- // ------------------------------------------------------------------------
- // Constants
- // ------------------------------------------------------------------------
-
- /**
- * The trace domain 'name' property ID.
- */
- public static final String TRACE_DOMAIN_NAME_PROPERTY_ID = "trace.domain.name"; //$NON-NLS-1$
- /**
- * The trace domain 'name' property name.
- */
- public static final String TRACE_DOMAIN_NAME_PROPERTY_NAME = Messages.TraceControl_DomainNamePropertyName;
- /**
- * The domain 'buffer type' property ID.
- */
- public static final String BUFFER_TYPE_PROPERTY_ID = "trace.domain.bufferType"; //$NON-NLS-1$
- /**
- * The domain 'buffer type' property name.
- */
- public static final String BUFER_TYPE_PROPERTY_NAME = Messages.TraceControl_BufferTypePropertyName;
-
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
-
- /**
- * The trace domain component which this property source is for.
- */
- private final TraceDomainComponent fDomain;
-
- // ------------------------------------------------------------------------
- // Constructors
- // ------------------------------------------------------------------------
-
- /**
- * Constructor
- * @param component - the trace domain component
- */
- public TraceDomainPropertySource(TraceDomainComponent component) {
- fDomain = component;
- }
-
- // ------------------------------------------------------------------------
- // Operations
- // ------------------------------------------------------------------------
-
- @Override
- public IPropertyDescriptor[] getPropertyDescriptors() {
- if (fDomain.getBufferType() == BufferType.BUFFER_TYPE_UNKNOWN) {
- return new IPropertyDescriptor[] {
- new ReadOnlyTextPropertyDescriptor(TRACE_DOMAIN_NAME_PROPERTY_ID, TRACE_DOMAIN_NAME_PROPERTY_NAME) };
- }
-
- return new IPropertyDescriptor[] {
- new ReadOnlyTextPropertyDescriptor(TRACE_DOMAIN_NAME_PROPERTY_ID, TRACE_DOMAIN_NAME_PROPERTY_NAME),
- new ReadOnlyTextPropertyDescriptor(BUFFER_TYPE_PROPERTY_ID, BUFER_TYPE_PROPERTY_NAME) };
- }
-
- @Override
- public Object getPropertyValue(Object id) {
- if(BUFFER_TYPE_PROPERTY_ID.equals(id)){
- return fDomain.getBufferType().getInName();
- }
-
- if(TRACE_DOMAIN_NAME_PROPERTY_ID.equals(id)) {
- return fDomain.getName();
- }
- return null;
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/property/TraceEventPropertySource.java b/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/property/TraceEventPropertySource.java
deleted file mode 100644
index e7cc8f5889..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/property/TraceEventPropertySource.java
+++ /dev/null
@@ -1,145 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2012, 2014 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:
- * Bernd Hufmann - Initial API and implementation
- * Bernd Hufmann - Updated for support of LTTng Tools 2.1
- **********************************************************************/
-package org.eclipse.linuxtools.internal.lttng2.control.ui.views.property;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.LogLevelType;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.TraceLogLevel;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.messages.Messages;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.model.impl.TraceEventComponent;
-import org.eclipse.linuxtools.tmf.ui.properties.ReadOnlyTextPropertyDescriptor;
-import org.eclipse.ui.views.properties.IPropertyDescriptor;
-
-/**
- * <p>
- * Property source implementation for the trace event component.
- * </p>
- *
- * @author Bernd Hufmann
- */
-public class TraceEventPropertySource extends BasePropertySource {
-
- // ------------------------------------------------------------------------
- // Constants
- // ------------------------------------------------------------------------
- /**
- * The trace event 'name' property ID.
- */
- public static final String TRACE_EVENT_NAME_PROPERTY_ID = "trace.event.name"; //$NON-NLS-1$
- /**
- * The trace event 'type' property ID.
- */
- public static final String TRACE_EVENT_TYPE_PROPERTY_ID = "trace.event.type"; //$NON-NLS-1$
- /**
- * The trace event 'log level' property ID.
- */
- public static final String TRACE_EVENT_LOGLEVEL_PROPERTY_ID = "trace.event.loglevel"; //$NON-NLS-1$
- /**
- * The trace event 'state' property ID.
- */
- public static final String TRACE_EVENT_STATE_PROPERTY_ID = "trace.event.state"; //$NON-NLS-1$
- /**
- * The trace event 'filter' property ID.
- */
- public static final String TRACE_EVENT_FILTER_PROPERTY_ID = "trace.event.filter"; //$NON-NLS-1$
-
- /**
- * The trace event 'name' property name.
- */
- public static final String TRACE_EVENT_NAME_PROPERTY_NAME = Messages.TraceControl_EventNamePropertyName;
- /**
- * The trace event 'type' property name.
- */
- public static final String TRACE_EVENT_TYPE_PROPERTY_NAME = Messages.TraceControl_EventTypePropertyName;
- /**
- * The trace event 'log level' property name.
- */
- public static final String TRACE_EVENT_LOGLEVEL_PROPERTY_NAME = Messages.TraceControl_LogLevelPropertyName;
- /**
- * The trace event 'state' property name.
- */
- public static final String TRACE_EVENT_STATE_PROPERTY_NAME = Messages.TraceControl_StatePropertyName;
- /**
- * The trace event 'filter' property name.
- */
- public static final String TRACE_EVENT_FILTER_PROPERTY_NAME = Messages.TraceControl_FilterPropertyName;
-
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
-
- /**
- * The event component which this property source is for.
- */
- protected final TraceEventComponent fEvent;
-
- // ------------------------------------------------------------------------
- // Constructors
- // ------------------------------------------------------------------------
-
- /**
- * Constructor
- * @param component - the base event component
- */
- public TraceEventPropertySource(TraceEventComponent component) {
- fEvent = component;
- }
-
- // ------------------------------------------------------------------------
- // Operations
- // ------------------------------------------------------------------------
-
- @Override
- public IPropertyDescriptor[] getPropertyDescriptors() {
- List<IPropertyDescriptor> list = new ArrayList<> ();
- list.add(new ReadOnlyTextPropertyDescriptor(TRACE_EVENT_NAME_PROPERTY_ID, TRACE_EVENT_NAME_PROPERTY_NAME));
- list.add(new ReadOnlyTextPropertyDescriptor(TRACE_EVENT_TYPE_PROPERTY_ID, TRACE_EVENT_TYPE_PROPERTY_NAME));
- list.add( new ReadOnlyTextPropertyDescriptor(TRACE_EVENT_STATE_PROPERTY_ID, TRACE_EVENT_STATE_PROPERTY_NAME));
- if (fEvent.getLogLevel() != TraceLogLevel.LEVEL_UNKNOWN) {
- list.add(new ReadOnlyTextPropertyDescriptor(TRACE_EVENT_LOGLEVEL_PROPERTY_ID, TRACE_EVENT_LOGLEVEL_PROPERTY_NAME));
- }
- if (fEvent.getFilterExpression() != null) {
- list.add(new ReadOnlyTextPropertyDescriptor(TRACE_EVENT_FILTER_PROPERTY_ID, TRACE_EVENT_FILTER_PROPERTY_NAME));
- }
- return list.toArray(new IPropertyDescriptor[list.size()]);
- }
-
- @Override
- public Object getPropertyValue(Object id) {
- if(TRACE_EVENT_NAME_PROPERTY_ID.equals(id)) {
- return fEvent.getName();
- }
- if (TRACE_EVENT_TYPE_PROPERTY_ID.equals(id)) {
- return fEvent.getEventType().name();
- }
- if (TRACE_EVENT_LOGLEVEL_PROPERTY_ID.equals(id)) {
- StringBuffer buffer = new StringBuffer();
- if (fEvent.getLogLevelType() != LogLevelType.LOGLEVEL_NONE) {
- buffer.append(fEvent.getLogLevelType().getShortName()).append(' ');
- }
- buffer.append(fEvent.getLogLevel().name());
- return buffer.toString();
- }
- if (TRACE_EVENT_STATE_PROPERTY_ID.equals(id)) {
- return fEvent.getState().name();
- }
- if (TRACE_EVENT_FILTER_PROPERTY_ID.equals(id)) {
- return fEvent.getFilterExpression();
- }
-
- return null;
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/property/TraceProbeEventPropertySource.java b/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/property/TraceProbeEventPropertySource.java
deleted file mode 100644
index 759d43b7d2..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/property/TraceProbeEventPropertySource.java
+++ /dev/null
@@ -1,124 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2012, 2014 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:
- * Bernd Hufmann - Initial API and implementation
- **********************************************************************/
-package org.eclipse.linuxtools.internal.lttng2.control.ui.views.property;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
-
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.messages.Messages;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.model.impl.TraceEventComponent;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.model.impl.TraceProbeEventComponent;
-import org.eclipse.linuxtools.tmf.ui.properties.ReadOnlyTextPropertyDescriptor;
-import org.eclipse.ui.views.properties.IPropertyDescriptor;
-
-/**
- * <p>
- * Property source implementation for the trace probe event component.
- * </p>
- *
- * @author Bernd Hufmann
- */
-public class TraceProbeEventPropertySource extends TraceEventPropertySource {
-
- // ------------------------------------------------------------------------
- // Constants
- // ------------------------------------------------------------------------
- /**
- * The trace event 'probe address' property ID.
- */
- public static final String TRACE_EVENT_PROBE_ADDRESS_PROPERTY_ID = "trace.event.probe.address"; //$NON-NLS-1$
- /**
- * The trace event 'probe offset' property ID.
- */
- public static final String TRACE_EVENT_PROBE_OFFSET_PROPERTY_ID = "trace.event.probe.offset"; //$NON-NLS-1$
- /**
- * The trace event 'probe symbol' property ID.
- */
- public static final String TRACE_EVENT_PROBE_SYMBOL_PROPERTY_ID = "trace.event.probe.symbol"; //$NON-NLS-1$
- /**
- * The trace event 'probe address' property name.
- */
- public static final String TRACE_EVENT_PROBE_ADDRESS_PROPERTY_NAME = Messages.TraceControl_ProbeAddressPropertyName;
- /**
- * The trace event 'probe offset' property ID.
- */
- public static final String TRACE_EVENT_PROBE_OFFSET_PROPERTY_NAME = Messages.TraceControl_ProbeOffsetPropertyName;
- /**
- * The trace event 'probe symbol' property ID.
- */
- public static final String TRACE_EVENT_PROBE_SYMBOL_PROPERTY_NAME = Messages.TraceControl_ProbeSymbolPropertyName;
-
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
-
- // ------------------------------------------------------------------------
- // Constructors
- // ------------------------------------------------------------------------
-
- /**
- * Constructor
- *
- * @param component
- * A trace event component
- */
- public TraceProbeEventPropertySource(TraceEventComponent component) {
- super(component);
- if (component.getClass() != TraceProbeEventComponent.class) {
- throw new IllegalArgumentException("Invalid type passed. Only class of type TraceProbeEventComponent allowed:\n" + component.getClass()); //$NON-NLS-1$
- }
- }
-
- // ------------------------------------------------------------------------
- // Operations
- // ------------------------------------------------------------------------
-
- @Override
- public IPropertyDescriptor[] getPropertyDescriptors() {
- IPropertyDescriptor[] superProperties = super.getPropertyDescriptors();
-
- List<IPropertyDescriptor> superList = Arrays.asList(superProperties);
- ArrayList<IPropertyDescriptor> list = new ArrayList<>();
- list.addAll(superList);
-
- if (fEvent instanceof TraceProbeEventComponent) {
- TraceProbeEventComponent event = (TraceProbeEventComponent) fEvent;
- if (event.getAddress() != null) {
- list.add(new ReadOnlyTextPropertyDescriptor(TRACE_EVENT_PROBE_ADDRESS_PROPERTY_ID, TRACE_EVENT_PROBE_ADDRESS_PROPERTY_NAME));
- }
-
- if (event.getOffset() != null) {
- list.add(new ReadOnlyTextPropertyDescriptor(TRACE_EVENT_PROBE_OFFSET_PROPERTY_ID, TRACE_EVENT_PROBE_OFFSET_PROPERTY_NAME));
- }
-
- if (event.getSymbol() != null) {
- list.add(new ReadOnlyTextPropertyDescriptor(TRACE_EVENT_PROBE_SYMBOL_PROPERTY_ID, TRACE_EVENT_PROBE_SYMBOL_PROPERTY_NAME));
- }
- }
- return list.toArray(new IPropertyDescriptor[list.size()]);
- }
-
- @Override
- public Object getPropertyValue(Object id) {
- if(TRACE_EVENT_PROBE_ADDRESS_PROPERTY_ID.equals(id)) {
- return ((TraceProbeEventComponent)fEvent).getAddress();
- }
- if (TRACE_EVENT_PROBE_OFFSET_PROPERTY_ID.equals(id)) {
- return ((TraceProbeEventComponent)fEvent).getOffset();
- }
- if (TRACE_EVENT_PROBE_SYMBOL_PROPERTY_ID.equals(id)) {
- return ((TraceProbeEventComponent)fEvent).getSymbol();
- }
- return super.getPropertyValue(id);
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/property/TraceSessionPropertySource.java b/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/property/TraceSessionPropertySource.java
deleted file mode 100644
index 0ccb10ec38..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/property/TraceSessionPropertySource.java
+++ /dev/null
@@ -1,147 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2012, 2014 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:
- * Bernd Hufmann - Initial API and implementation
- **********************************************************************/
-package org.eclipse.linuxtools.internal.lttng2.control.ui.views.property;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.messages.Messages;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.model.impl.TraceSessionComponent;
-import org.eclipse.linuxtools.tmf.ui.properties.ReadOnlyTextPropertyDescriptor;
-import org.eclipse.ui.views.properties.IPropertyDescriptor;
-
-/**
- * <p>
- * Property source implementation for the trace session component.
- * </p>
- *
- * @author Bernd Hufmann
- */
-public class TraceSessionPropertySource extends BasePropertySource {
-
- // ------------------------------------------------------------------------
- // Constants
- // ------------------------------------------------------------------------
- /**
- * The trace session name property ID.
- */
- public static final String TRACE_SESSION_NAME_PROPERTY_ID = "trace.session.name"; //$NON-NLS-1$
- /**
- * The trace session path property ID.
- */
- public static final String TRACE_SESSION_PATH_PROPERTY_ID = "trace.session.path"; //$NON-NLS-1$
- /**
- * The trace session state ID.
- */
- public static final String TRACE_SESSION_STATE_PROPERTY_ID = "trace.session.state"; //$NON-NLS-1$
- /**
- * The trace snapshot path property ID.
- */
- public static final String TRACE_SNAPSHOT_PATH_PROPERTY_ID = "trace.snapshot.path"; //$NON-NLS-1$
- /**
- * The snapshot name property.
- */
- public static final String TRACE_SNAPSHOT_NAME_PROPERTY_ID = "trace.snapshot.name"; //$NON-NLS-1$
- /**
- * The snapshot ID property.
- */
- public static final String TRACE_SNAPSHOT_ID_PROPERTY_ID = "trace.snapshot.id"; //$NON-NLS-1$
-
- /**
- * The trace session name property name.
- */
- public static final String TRACE_SESSION_NAME_PROPERTY_NAME = Messages.TraceControl_SessionNamePropertyName;
- /**
- * The trace session path property name.
- */
- public static final String TRACE_SESSION_PATH_PROPERTY_NAME = Messages.TraceControl_SessionPathPropertyName;
- /**
- * The trace session state property name.
- */
- public static final String TRACE_SESSION_STATE_PROPERTY_NAME = Messages.TraceControl_StatePropertyName;
- /**
- * The snapshot path property name.
- */
- public static final String TRACE_SNAPSHOT_PATH_PROPERTY_NAME = Messages.TraceControl_SnapshotPathPropertyName;
- /**
- * The trace snapshot name property name.
- */
- public static final String TRACE_SNAPSHOT_NAME_PROPERTY_NAME = Messages.TraceControl_SnapshotNamePropertyName;
- /**
- * The trace snapshot ID property name.
- */
- public static final String TRACE_SNAPSHOT_ID_PROPERTY_NAME = Messages.TraceControl_SnapshotIdPropertyName;
-
-
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
-
- /**
- * The session component which this property source is for.
- */
- private final TraceSessionComponent fSession;
-
- // ------------------------------------------------------------------------
- // Constructors
- // ------------------------------------------------------------------------
-
- /**
- * Constructor
- * @param component - the session component
- */
- public TraceSessionPropertySource(TraceSessionComponent component) {
- fSession = component;
- }
-
- // ------------------------------------------------------------------------
- // Operations
- // ------------------------------------------------------------------------
-
- @Override
- public IPropertyDescriptor[] getPropertyDescriptors() {
- List<IPropertyDescriptor> list = new ArrayList<>();
- list.add(new ReadOnlyTextPropertyDescriptor(TRACE_SESSION_NAME_PROPERTY_ID, TRACE_SESSION_NAME_PROPERTY_NAME));
- list.add(new ReadOnlyTextPropertyDescriptor(TRACE_SESSION_STATE_PROPERTY_ID, TRACE_SESSION_STATE_PROPERTY_NAME));
- if (fSession.isSnapshotSession()) {
- list.add(new ReadOnlyTextPropertyDescriptor(TRACE_SNAPSHOT_NAME_PROPERTY_ID, TRACE_SNAPSHOT_NAME_PROPERTY_NAME));
- list.add(new ReadOnlyTextPropertyDescriptor(TRACE_SNAPSHOT_PATH_PROPERTY_ID, TRACE_SNAPSHOT_PATH_PROPERTY_NAME));
- list.add(new ReadOnlyTextPropertyDescriptor(TRACE_SNAPSHOT_ID_PROPERTY_ID, TRACE_SNAPSHOT_ID_PROPERTY_NAME));
- } else {
- list.add(new ReadOnlyTextPropertyDescriptor(TRACE_SESSION_PATH_PROPERTY_ID, TRACE_SESSION_PATH_PROPERTY_NAME));
- }
- return(list.toArray(new IPropertyDescriptor[list.size()]));
- }
-
- @Override
- public Object getPropertyValue(Object id) {
- if(TRACE_SESSION_NAME_PROPERTY_ID.equals(id)) {
- return fSession.getName();
- }
- if(TRACE_SESSION_PATH_PROPERTY_ID.equals(id)) {
- return fSession.getSessionPath();
- }
- if (TRACE_SESSION_STATE_PROPERTY_ID.equals(id)) {
- return fSession.getSessionState().name();
- }
- if (TRACE_SNAPSHOT_PATH_PROPERTY_ID.equals(id)) {
- return (fSession.isSnapshotSession() ? fSession.getSnapshotInfo().getSnapshotPath() : ""); //$NON-NLS-1$
- }
- if (TRACE_SNAPSHOT_NAME_PROPERTY_ID.equals(id)) {
- return (fSession.isSnapshotSession() ? fSession.getSnapshotInfo().getName() : ""); //$NON-NLS-1$
- }
- if (TRACE_SNAPSHOT_ID_PROPERTY_ID.equals(id)) {
- return (fSession.isSnapshotSession() ? fSession.getSnapshotInfo().getId() : ""); //$NON-NLS-1$
- }
- return null;
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/property/UstProviderPropertySource.java b/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/property/UstProviderPropertySource.java
deleted file mode 100644
index bd2ad61e27..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/property/UstProviderPropertySource.java
+++ /dev/null
@@ -1,91 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2012, 2013 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:
- * Bernd Hufmann - Initial API and implementation
- **********************************************************************/
-package org.eclipse.linuxtools.internal.lttng2.control.ui.views.property;
-
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.messages.Messages;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.model.impl.UstProviderComponent;
-import org.eclipse.linuxtools.tmf.ui.properties.ReadOnlyTextPropertyDescriptor;
-import org.eclipse.ui.views.properties.IPropertyDescriptor;
-
-/**
- * <p>
- * Property source implementation for the UST provider component.
- * </p>
- *
- * @author Bernd Hufmann
- */
-public class UstProviderPropertySource extends BasePropertySource {
-
- // ------------------------------------------------------------------------
- // Constants
- // ------------------------------------------------------------------------
- /**
- * The UST provider 'name' property ID.
- */
- public static final String UST_PROVIDER_NAME_PROPERTY_ID = "ust.provider.name"; //$NON-NLS-1$
- /**
- * The UST provider 'PID' property ID.
- */
- public static final String UST_PROVIDER_PID_PROPERTY_ID = "ust.provider.pid"; //$NON-NLS-1$
- /**
- * The UST provider 'name' property name.
- */
- public static final String UST_PROVIDER_NAME_PROPERTY_NAME = Messages.TraceControl_ProviderNamePropertyName;
- /**
- * The UST provider 'type' property name.
- */
- public static final String UST_PROVIDER_PID_PROPERTY_NAME = Messages.TraceControl_ProcessIdPropertyName;
-
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
-
- /**
- * The UST provider component which this property source is for.
- */
- private UstProviderComponent fUstProvider;
-
- // ------------------------------------------------------------------------
- // Constructors
- // ------------------------------------------------------------------------
-
- /**
- * Constructor
- * @param component - the UST provider component
- */
- public UstProviderPropertySource(UstProviderComponent component) {
- fUstProvider = component;
- }
-
- // ------------------------------------------------------------------------
- // Operations
- // ------------------------------------------------------------------------
-
- @Override
- public IPropertyDescriptor[] getPropertyDescriptors() {
- return new IPropertyDescriptor[] {
- new ReadOnlyTextPropertyDescriptor(UST_PROVIDER_NAME_PROPERTY_ID, UST_PROVIDER_NAME_PROPERTY_NAME),
- new ReadOnlyTextPropertyDescriptor(UST_PROVIDER_PID_PROPERTY_ID, UST_PROVIDER_PID_PROPERTY_NAME)};
- }
-
- @Override
- public Object getPropertyValue(Object id) {
- if(UST_PROVIDER_NAME_PROPERTY_ID.equals(id)) {
- return fUstProvider.getName();
- }
- if (UST_PROVIDER_PID_PROPERTY_ID.equals(id)) {
- return String.valueOf(fUstProvider.getPid());
- }
- return null;
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/remote/CommandResult.java b/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/remote/CommandResult.java
deleted file mode 100644
index 9b7c0b545d..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/remote/CommandResult.java
+++ /dev/null
@@ -1,102 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2012, 2013 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:
- * Bernd Hufmann - Initial API and implementation
- **********************************************************************/
-package org.eclipse.linuxtools.internal.lttng2.control.ui.views.remote;
-
-import java.util.Arrays;
-
-/**
- * <p>
- * Class containing command result of remote command execution.
- * </p>
- *
- * @author Bernd Hufmann
- */
-public class CommandResult implements ICommandResult {
-
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
- /**
- * The result of the command. 0 if successful else > 0
- */
- private int fResult;
-
- /**
- * The output as String array.
- */
- private String[] fOutput = new String[0];
- private String[] fErrorOutput = new String[0];
-
- // ------------------------------------------------------------------------
- // Constructor
- // ------------------------------------------------------------------------
-
- /**
- * Constructor
- *
- * @param result
- * The result of the command
- * @param output
- * The output, as an array of strings
- * @param errorOutput
- * THe error output as an array of strings
- */
- public CommandResult(int result, String[] output, String[] errorOutput) {
- fResult = result;
- if (output != null) {
- fOutput = Arrays.copyOf(output, output.length);
- }
- if (errorOutput != null) {
- fErrorOutput = Arrays.copyOf(errorOutput, errorOutput.length);
- }
- }
-
- // ------------------------------------------------------------------------
- // Accessors
- // ------------------------------------------------------------------------
-
- @Override
- public int getResult() {
- return fResult;
- }
-
- @Override
- public void setResult(int result) {
- fResult = result;
- }
-
- @Override
- public String[] getOutput() {
- return Arrays.copyOf(fOutput, fOutput.length);
- }
-
- @Override
- public void setOutput(String[] output) {
- fOutput = new String[0];
- if (output != null) {
- fOutput = Arrays.copyOf(output, output.length);
- }
- }
-
- @Override
- public String[] getErrorOutput() {
- return Arrays.copyOf(fErrorOutput, fErrorOutput.length);
- }
-
- @Override
- public void setErrorOutput(String[] output) {
- fErrorOutput = new String[0];
- if (output != null) {
- fErrorOutput = Arrays.copyOf(output, output.length);
- }
- }
-} \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/remote/CommandShell.java b/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/remote/CommandShell.java
deleted file mode 100644
index 75f674d72a..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/remote/CommandShell.java
+++ /dev/null
@@ -1,266 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2012, 2014 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:
- * Patrick Tasse - Initial API and implementation
- * Bernd Hufmann - Updated using Executor Framework
- * Markus Schorn - Bug 448058: Use org.eclipse.remote in favor of RSE
- **********************************************************************/
-package org.eclipse.linuxtools.internal.lttng2.control.ui.views.remote;
-
-import java.io.IOException;
-import java.util.List;
-import java.util.concurrent.Callable;
-import java.util.concurrent.ExecutorService;
-import java.util.concurrent.Executors;
-import java.util.concurrent.FutureTask;
-import java.util.concurrent.TimeUnit;
-import java.util.concurrent.TimeoutException;
-
-import org.eclipse.core.commands.ExecutionException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.core.runtime.OperationCanceledException;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.messages.Messages;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.preferences.ControlPreferences;
-import org.eclipse.remote.core.IRemoteConnection;
-import org.eclipse.remote.core.IRemoteProcess;
-import org.eclipse.remote.core.IRemoteProcessBuilder;
-
-/**
- * <p>
- * Implementation of remote command execution using IRemoteConnection.
- * </p>
- *
- * @author Patrick Tasse
- * @author Bernd Hufmann
- */
-public class CommandShell implements ICommandShell {
-
- // ------------------------------------------------------------------------
- // Constants
- // ------------------------------------------------------------------------
-
- private static final String BEGIN_TAG = "org.eclipse.linuxtools-BEGIN-TAG:"; //$NON-NLS-1$
- private static final String END_TAG = "org.eclipse.linuxtools-END-TAG:"; //$NON-NLS-1$
- private static final String RSE_ADAPTER_ID = "org.eclipse.ptp.remote.RSERemoteServices"; //$NON-NLS-1$
- private static final String SHELL_ECHO_CMD = "echo "; //$NON-NLS-1$
- private static final char CMD_SEPARATOR = ';';
- private static final String CMD_RESULT_VAR = " $?"; //$NON-NLS-1$
-
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
- private IRemoteConnection fConnection = null;
- private final ExecutorService fExecutor = Executors.newFixedThreadPool(1);
- private int fBackedByShell;
-
- // ------------------------------------------------------------------------
- // Constructors
- // ------------------------------------------------------------------------
-
- /**
- * Create a new command shell
- *
- * @param connection the remote connection for this shell
- */
- public CommandShell(IRemoteConnection connection) {
- fConnection = connection;
- }
-
- // ------------------------------------------------------------------------
- // Operations
- // ------------------------------------------------------------------------
-
- @Override
- public void connect() throws ExecutionException {
- }
-
- @Override
- public void disconnect() {
- fExecutor.shutdown();
- }
-
- @Override
- public ICommandResult executeCommand(final List<String> command, final IProgressMonitor monitor) throws ExecutionException {
- if (fConnection.isOpen()) {
- FutureTask<CommandResult> future = new FutureTask<>(new Callable<CommandResult>() {
- @Override
- public CommandResult call() throws IOException, InterruptedException {
- if (monitor == null || !monitor.isCanceled()) {
- final boolean wrapCommand =
- RSE_ADAPTER_ID.equals(fConnection.getRemoteServices().getId())
- && isBackedByShell();
- IRemoteProcess process = startRemoteProcess(wrapCommand, command);
- InputReader stdout = new InputReader(process.getInputStream());
- InputReader stderr = new InputReader(process.getErrorStream());
-
- try {
- stdout.waitFor(monitor);
- stderr.waitFor(monitor);
- if (monitor == null || !monitor.isCanceled()) {
- return createResult(wrapCommand, process.waitFor(), stdout.toString(), stderr.toString());
- }
- } catch (OperationCanceledException e) {
- } catch (InterruptedException e) {
- return new CommandResult(1, new String[0], new String[] {e.getMessage()});
- } finally {
- stdout.stop();
- stderr.stop();
- process.destroy();
- }
- }
- return new CommandResult(1, new String[0], new String[] {"cancelled"}); //$NON-NLS-1$
- }
- });
-
- fExecutor.execute(future);
-
- try {
- return future.get(ControlPreferences.getInstance().getCommandTimeout(), TimeUnit.SECONDS);
- } catch (java.util.concurrent.ExecutionException ex) {
- throw new ExecutionException(Messages.TraceControl_ExecutionFailure, ex);
- } catch (InterruptedException ex) {
- throw new ExecutionException(Messages.TraceControl_ExecutionCancelled, ex);
- } catch (TimeoutException ex) {
- throw new ExecutionException(Messages.TraceControl_ExecutionTimeout, ex);
- } finally {
- future.cancel(true);
- }
- }
- throw new ExecutionException(Messages.TraceControl_ShellNotConnected, null);
- }
-
- private IRemoteProcess startRemoteProcess(boolean wrapCommand, List<String> command) throws IOException {
- if (wrapCommand) {
- StringBuilder formattedCommand = new StringBuilder();
- formattedCommand.append(SHELL_ECHO_CMD).append(BEGIN_TAG);
- formattedCommand.append(CMD_SEPARATOR);
- for(String cmd : command) {
- formattedCommand.append(cmd).append(' ');
- }
- formattedCommand.append(CMD_SEPARATOR);
- formattedCommand.append(SHELL_ECHO_CMD).append(END_TAG).append(CMD_RESULT_VAR);
- String[] args = formattedCommand.toString().trim().split("\\s+"); //$NON-NLS-1$
- return fConnection.getProcessBuilder(args).start();
- }
-
- return fConnection.getProcessBuilder(command).start();
- }
-
- private boolean isBackedByShell() throws InterruptedException {
- if (fBackedByShell == 0) {
- String cmd= SHELL_ECHO_CMD + BEGIN_TAG + CMD_SEPARATOR + SHELL_ECHO_CMD + END_TAG;
- IRemoteProcessBuilder pb = fConnection.getProcessBuilder(cmd.trim().split("\\s+")); //$NON-NLS-1$
- pb.redirectErrorStream(true);
- IRemoteProcess process = null;
- InputReader reader = null;
- try {
- process = pb.start();
- reader = new InputReader(process.getInputStream());
- reader.waitFor(new NullProgressMonitor());
- process.waitFor();
-
- fBackedByShell = -1;
- String result= reader.toString();
- int pos = result.indexOf(BEGIN_TAG, skipEchoBeginTag(result));
- if (pos >= 0 && result.substring(pos + BEGIN_TAG.length()).trim().startsWith(END_TAG)) {
- fBackedByShell = 1;
- }
- } catch (IOException e) {
- // On Windows, cannot start built-in echo command
- fBackedByShell = -1;
- } finally {
- if (process != null) {
- process.destroy();
- }
- if (reader != null) {
- reader.stop();
- }
- }
- }
- return fBackedByShell == 1;
- }
-
- // ------------------------------------------------------------------------
- // Helper methods
- // ------------------------------------------------------------------------
-
- private static CommandResult createResult(boolean isWrapped, int origResult, String origStdout, String origStderr) {
- final int result;
- final String stdout, stderr;
- if (isWrapped) {
- String[] holder = {origStdout};
- result = unwrapOutput(holder);
- stdout = holder[0];
- // Workaround if error stream is not available and stderr output is written
- // in standard output above. This is true for the SshTerminalShell implementation.
- stderr = origStderr.isEmpty() ? stdout : origStderr;
- } else {
- result = origResult;
- stdout = origStdout;
- stderr = origStderr;
- }
-
- String[] output = splitLines(stdout);
- String[] error = splitLines(stderr);
- return new CommandResult(result, output, error);
- }
-
- private static String[] splitLines(String output) {
- if (output == null) {
- return null;
- }
- return output.split("\\r?\\n"); //$NON-NLS-1$
- }
-
- private static int unwrapOutput(String[] outputHolder) {
- String output = outputHolder[0];
- int begin = skipEchoBeginTag(output);
- begin = output.indexOf(BEGIN_TAG, begin);
-
- if (begin < 0) {
- outputHolder[0] = ""; //$NON-NLS-1$
- return 1;
- }
-
- begin += BEGIN_TAG.length();
- int end = output.indexOf(END_TAG, begin);
- if (end < 0) {
- outputHolder[0] = output.substring(begin).trim();
- return 1;
- }
-
- outputHolder[0] = output.substring(begin, end).trim();
- String tail = output.substring(end + END_TAG.length()).trim();
- int numEnd;
- for (numEnd = 0; numEnd < tail.length(); numEnd++) {
- if (!Character.isDigit(tail.charAt(numEnd))) {
- break;
- }
- }
- try {
- return Integer.parseInt(tail.substring(0, numEnd));
- } catch (NumberFormatException e) {
- return 1;
- }
- }
-
- private static int skipEchoBeginTag(String output) {
- final String searchFor = SHELL_ECHO_CMD + BEGIN_TAG;
- int begin = 0;
- for(;;) {
- int i= output.indexOf(searchFor, begin);
- if (i >= begin) {
- begin = i + searchFor.length();
- } else {
- return begin;
- }
- }
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/remote/ICommandResult.java b/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/remote/ICommandResult.java
deleted file mode 100644
index be1d2abe33..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/remote/ICommandResult.java
+++ /dev/null
@@ -1,64 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2012, 2013 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:
- * Bernd Hufmann - Initial API and implementation
- *********************************************************************/
-package org.eclipse.linuxtools.internal.lttng2.control.ui.views.remote;
-
-/**
- * <p>
- * Interface for providing command execution result.
- * </p>
- *
- * @author Bernd Hufmann
- */
-public interface ICommandResult {
- /**
- * The result of the command.
- *
- * @return 0 if successful else >0
- */
- int getResult();
-
- /**
- * Sets the command result value.
- *
- * @param result
- * The integer result to set
- */
- void setResult(int result);
-
- /**
- * @return returns the command output.
- */
- String[] getOutput();
-
- /**
- * Sets the command output.
- *
- * @param output
- * The output (as an array of Strings) to assign
- */
- void setOutput(String[] output);
-
- /**
- * The error output of the command.
- *
- * @return returns the command error output.
- */
- String[] getErrorOutput();
-
- /**
- * Sets the command output.
- *
- * @param output
- * The output (as an array of Strings) to assign
- */
- void setErrorOutput(String[] output);
-} \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/remote/ICommandShell.java b/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/remote/ICommandShell.java
deleted file mode 100644
index 80d381b06a..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/remote/ICommandShell.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2012, 2014 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:
- * Bernd Hufmann - Initial API and implementation
- * Markus Schorn - Bug 448058: Use org.eclipse.remote in favor of RSE
- **********************************************************************/
-package org.eclipse.linuxtools.internal.lttng2.control.ui.views.remote;
-
-import java.util.List;
-
-import org.eclipse.core.commands.ExecutionException;
-import org.eclipse.core.runtime.IProgressMonitor;
-
-/**
- * <p>
- * Interface for a command shell implementation
- * </p>
- *
- * @author Bernd Hufmann
- */
-public interface ICommandShell {
-
- /**
- * Method to connect the command shell.
- *
- * @throws ExecutionException
- * If the command fails
- */
- void connect() throws ExecutionException;
-
- /**
- * Method to disconnect the command shell.
- */
- void disconnect();
-
- /**
- * Method to execute a command on the command shell.
- *
- * @param command
- * - the command to executed
- * @param monitor
- * - a progress monitor
- * @return the command result
- * @throws ExecutionException
- * If the command fails
- */
- ICommandResult executeCommand(List<String> command,
- IProgressMonitor monitor) throws ExecutionException;
-}
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/remote/IRemoteSystemProxy.java b/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/remote/IRemoteSystemProxy.java
deleted file mode 100644
index 5d13ee0f9a..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/remote/IRemoteSystemProxy.java
+++ /dev/null
@@ -1,112 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2012, 2014 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:
- * Bernd Hufmann - Initial API and implementation
- * Markus Schorn - Bug 448058: Use org.eclipse.remote in favor of RSE
- **********************************************************************/
-package org.eclipse.linuxtools.internal.lttng2.control.ui.views.remote;
-
-import org.eclipse.core.commands.ExecutionException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.remote.core.IRemoteConnectionChangeListener;
-import org.eclipse.remote.core.IRemoteFileManager;
-import org.eclipse.remote.core.IRemoteProcessBuilder;
-
-/**
- * <p>
- * Remote System Proxy interface.
- * </p>
- *
- * @author Bernd Hufmann
- */
-public interface IRemoteSystemProxy {
-
- // ------------------------------------------------------------------------
- // Constants
- // ------------------------------------------------------------------------
- /**
- * Invalid port number for IP based connections.
- */
- static final int INVALID_PORT_NUMBER = -1;
-
- // ------------------------------------------------------------------------
- // Operations
- // ------------------------------------------------------------------------
-
- /**
- * Finds the File Service Subsystem.
- *
- * @return file service subsystem, or <code>null</code> if not found.
- */
- IRemoteFileManager getFileServiceSubSystem();
-
- /**
- * Returns a remote process builder for remote launching a process.
- * @param command the command to be executed.
- * @return the builder, or <code>null</code> if not possible.
- */
- IRemoteProcessBuilder getProcessBuilder(String...command);
-
-
- /**
- * Connects the shell service sub system.
- * @param monitor a monitor to report progress.
- *
- * @param callback
- * - call-back method being called when connection was finished
- * @throws ExecutionException
- * If the connection fails
- */
- void connect(IProgressMonitor monitor) throws ExecutionException;
-
- /**
- * Disconnects from the shell service sub system.
- *
- * @throws ExecutionException
- * If the disconnect command fails
- */
- void disconnect() throws ExecutionException;
-
- /**
- * Disposes the proxy, may close the connection.
- */
- void dispose();
-
- /**
- * Creates a command shell.
- *
- * @return the command shell implementation
- * @throws ExecutionException
- * If the command fails
- */
- ICommandShell createCommandShell() throws ExecutionException;
-
- /**
- * Method to add a communication listener to the connector service defined
- * for the given connection.
- *
- * @param listener
- * - listener to add
- */
- void addConnectionChangeListener(IRemoteConnectionChangeListener listener);
-
- /**
- * Method to remove a communication listener from the connector service
- * defined for the given connection.
- *
- * @param listener
- * - listener to remove
- */
- void removeConnectionChangeListener(IRemoteConnectionChangeListener listener);
-
- /**
- * @return whether the remote host is currently connected.
- */
- boolean isConnected();
-} \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/remote/InputReader.java b/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/remote/InputReader.java
deleted file mode 100644
index af73e8292f..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/remote/InputReader.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2014 Wind River Systems, Inc. and others
- *
- * 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:
- * Markus Schorn - Initial API and implementation
- **********************************************************************/
-package org.eclipse.linuxtools.internal.lttng2.control.ui.views.remote;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.InputStreamReader;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-
-class InputReader {
- private final InputStreamReader fReader;
- private final Thread fThread;
- private final StringBuilder fResult;
- private volatile boolean fDone;
-
- public InputReader(InputStream inputStream) {
- fResult = new StringBuilder();
- fReader = new InputStreamReader(inputStream);
- fThread = new Thread() {
- @Override
- public void run() {
- final char[] buffer = new char[1024];
- int read;
- try {
- while (!fDone && (read = fReader.read(buffer)) > 0) {
- fResult.append(buffer, 0, read);
- }
- } catch (IOException e) {
- }
- }
- };
- fThread.start();
- }
-
- public void waitFor(IProgressMonitor monitor) throws InterruptedException {
- while (fThread.isAlive() && (monitor == null || !monitor.isCanceled())) {
- fThread.join(300);
- }
- }
-
- public void stop() {
- fDone = true;
- fThread.interrupt();
- }
-
- @Override
- public String toString() {
- return fResult.toString();
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/remote/RemoteSystemProxy.java b/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/remote/RemoteSystemProxy.java
deleted file mode 100644
index a987242682..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/remote/RemoteSystemProxy.java
+++ /dev/null
@@ -1,124 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2012, 2014 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:
- * Bernd Hufmann - Initial API and implementation
- * Markus Schorn - Bug 448058: Use org.eclipse.remote in favor of RSE
- **********************************************************************/
-package org.eclipse.linuxtools.internal.lttng2.control.ui.views.remote;
-
-import org.eclipse.core.commands.ExecutionException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.remote.core.IRemoteConnection;
-import org.eclipse.remote.core.IRemoteConnectionChangeEvent;
-import org.eclipse.remote.core.IRemoteConnectionChangeListener;
-import org.eclipse.remote.core.IRemoteFileManager;
-import org.eclipse.remote.core.IRemoteProcessBuilder;
-import org.eclipse.remote.core.exception.RemoteConnectionException;
-
-/**
- * <p>
- * RemoteSystemProxy implementation.
- * </p>
- *
- * @author Bernd Hufmann
- */
-public class RemoteSystemProxy implements IRemoteSystemProxy, IRemoteConnectionChangeListener {
-
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
-
- private IRemoteConnection fHost;
- private boolean fExplicitConnect;
-
- // ------------------------------------------------------------------------
- // Constructors
- // ------------------------------------------------------------------------
-
- /**
- * Constructor
- *
- * @param host
- * The host of this proxy
- */
- public RemoteSystemProxy(IRemoteConnection host) {
- fHost = host;
- fHost.addConnectionChangeListener(this);
- }
-
- // ------------------------------------------------------------------------
- // Operations
- // ------------------------------------------------------------------------
-
- @Override
- public IRemoteFileManager getFileServiceSubSystem() {
- return fHost.getFileManager();
- }
-
- @Override
- public IRemoteProcessBuilder getProcessBuilder(String...command) {
- return fHost.getProcessBuilder(command);
- }
-
- @Override
- public void connect(IProgressMonitor monitor) throws ExecutionException {
- try {
- if (!fHost.isOpen()) {
- fExplicitConnect = true;
- fHost.open(monitor);
- }
- } catch (RemoteConnectionException e) {
- throw new ExecutionException("Cannot connect " + fHost.getName(), e); //$NON-NLS-1$
- }
- }
-
- @Override
- public void disconnect() throws ExecutionException {
- fHost.close();
- }
-
- @Override
- public void dispose() {
- fHost.removeConnectionChangeListener(this);
- if (fExplicitConnect) {
- fHost.close();
- }
- }
-
- @Override
- public ICommandShell createCommandShell() throws ExecutionException {
- ICommandShell shell = new CommandShell(fHost);
- shell.connect();
- return shell;
- }
-
- @Override
- public void addConnectionChangeListener(IRemoteConnectionChangeListener listener) {
- fHost.addConnectionChangeListener(listener);
- }
-
- @Override
- public void removeConnectionChangeListener(IRemoteConnectionChangeListener listener) {
- fHost.removeConnectionChangeListener(listener);
- }
-
- @Override
- public boolean isConnected() {
- return fHost.isOpen();
- }
-
- @Override
- public void connectionChanged(IRemoteConnectionChangeEvent event) {
- int type = event.getType();
- if (type == IRemoteConnectionChangeEvent.CONNECTION_ABORTED ||
- type == IRemoteConnectionChangeEvent.CONNECTION_CLOSED) {
- fExplicitConnect = false;
- }
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/service/ILttngControlService.java b/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/service/ILttngControlService.java
deleted file mode 100644
index 1cb020c914..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/service/ILttngControlService.java
+++ /dev/null
@@ -1,402 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2012, 2013 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:
- * Bernd Hufmann - Initial API and implementation
- * Bernd Hufmann - Updated for support of LTTng Tools 2.1
- **********************************************************************/
-package org.eclipse.linuxtools.internal.lttng2.control.ui.views.service;
-
-import java.util.List;
-
-import org.eclipse.core.commands.ExecutionException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.IBaseEventInfo;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.IChannelInfo;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.ISessionInfo;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.ISnapshotInfo;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.IUstProviderInfo;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.LogLevelType;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.TraceLogLevel;
-
-
-/**
-* <p>
-* Interface for LTTng trace control command service.
-* </p>
-*
-* @author Bernd Hufmann
-*/
-public interface ILttngControlService {
-
- /**
- * @return the LTTng version object
- */
- LttngVersion getVersion();
-
- /**
- * @return the version string
- */
- String getVersionString();
-
- /**
- * Checks if given version is supported by this ILTTngControlService implementation.
- *
- * @param version The version to check
- * @return <code>true</code> if version is supported else <code>false</code>
- */
- boolean isVersionSupported(String version);
-
- /**
- * Retrieves the existing sessions names from the node.
- *
- * @param monitor
- * - a progress monitor
- * @return an array with session names.
- * @throws ExecutionException
- * If the command fails
- */
- String[] getSessionNames(IProgressMonitor monitor)
- throws ExecutionException;
-
- /**
- * Retrieves the session information with the given name the node.
- *
- * @param sessionName
- * - the session name
- * @param monitor
- * - a progress monitor
- * @return session information
- * @throws ExecutionException
- * If the command fails
- */
- ISessionInfo getSession(String sessionName, IProgressMonitor monitor)
- throws ExecutionException;
-
- /**
- * Retrieves the snapshot output information from the node
- * @param sessionName
- * - the session name
- * @param monitor
- * - a progress monitor
- * @return snapshot output information
- * @throws ExecutionException
- * if command fails
- */
- ISnapshotInfo getSnapshotInfo(String sessionName, IProgressMonitor monitor)
- throws ExecutionException;
-
- /**
- * Retrieves the kernel provider information (i.e. the kernel events)
- *
- * @param monitor
- * - a progress monitor
- * @return the list of existing kernel events.
- * @throws ExecutionException
- * If the command fails
- */
- List<IBaseEventInfo> getKernelProvider(IProgressMonitor monitor)
- throws ExecutionException;
-
- /**
- * Retrieves the UST provider information from the node.
- *
- * @return - the UST provider information.
- * @throws ExecutionException
- * If the command fails
- */
- public List<IUstProviderInfo> getUstProvider() throws ExecutionException;
-
- /**
- * Retrieves the UST provider information from the node.
- *
- * @param monitor
- * - a progress monitor
- * @return the UST provider information.
- * @throws ExecutionException
- * If the command fails
- */
- List<IUstProviderInfo> getUstProvider(IProgressMonitor monitor)
- throws ExecutionException;
-
- /**
- * Creates a session with given session name and location.
- *
- * @param sessionInfo
- * the session information used to create the session
- * @param monitor
- * - a progress monitor
- *
- * @return the session information
- * @throws ExecutionException
- * If the command fails
- */
- ISessionInfo createSession(ISessionInfo sessionInfo, IProgressMonitor monitor) throws ExecutionException;
-
- /**
- * Destroys a session with given session name.
- *
- * @param sessionName
- * - a session name to destroy
- * @param monitor
- * - a progress monitor
- * @throws ExecutionException
- * If the command fails
- */
- void destroySession(String sessionName, IProgressMonitor monitor)
- throws ExecutionException;
-
- /**
- * Starts a session with given session name.
- *
- * @param sessionName
- * - a session name to start
- * @param monitor
- * - a progress monitor
- * @throws ExecutionException
- * If the command fails
- */
- void startSession(String sessionName, IProgressMonitor monitor)
- throws ExecutionException;
-
- /**
- * Stops a session with given session name.
- *
- * @param sessionName
- * - a session name to stop
- * @param monitor
- * - a progress monitor
- * @throws ExecutionException
- * If the command fails
- */
- void stopSession(String sessionName, IProgressMonitor monitor)
- throws ExecutionException;
-
- /**
- * Enables a list of channels for given session and given channel
- * information (configuration).
- *
- * @param sessionName
- * - a session name to create
- * @param channelNames
- * - a list of channel names to be enabled
- * @param isKernel
- * - a flag to indicate Kernel or UST (true for Kernel, false for
- * UST)
- * @param info
- * - channel information used for creation of a channel (or null
- * for default)
- * @param monitor
- * - a progress monitor
- * @throws ExecutionException
- * If the command fails
- */
- void enableChannels(String sessionName, List<String> channelNames,
- boolean isKernel, IChannelInfo info, IProgressMonitor monitor)
- throws ExecutionException;
-
- /**
- * Disables a list of channels for given session and given channel
- * information (configuration).
- *
- * @param sessionName
- * - a session name to create
- * @param channelNames
- * - a list of channel names to be enabled
- * @param isKernel
- * - a flag to indicate Kernel or UST (true for Kernel, false for
- * UST)
- * @param monitor
- * - a progress monitor
- * @throws ExecutionException
- * If the command fails
- */
- void disableChannels(String sessionName, List<String> channelNames,
- boolean isKernel, IProgressMonitor monitor)
- throws ExecutionException;
-
- /**
- * Enables a list of events with no additional parameters.
- *
- * @param sessionName
- * - a session name
- * @param channelName
- * - a channel name or null for default channel
- * @param eventNames
- * - a list of event names to be enabled, or null (list of size =
- * 0)for all events .
- * @param isKernel
- * - a flag for indicating kernel or UST.
- * @param filterExpression
- * - a filter expression
- * @param monitor
- * - a progress monitor
- * @throws ExecutionException
- * If the command fails
- */
- void enableEvents(String sessionName, String channelName,
- List<String> eventNames, boolean isKernel, String filterExpression,
- IProgressMonitor monitor)
- throws ExecutionException;
-
-
- /**
- * Enables all syscall events.
- *
- * @param sessionName
- * - a session name
- * @param channelName
- * - a channel name or null for default channel
- * @param monitor
- * - a progress monitor
- * @throws ExecutionException
- * If the command fails
- */
- void enableSyscalls(String sessionName, String channelName,
- IProgressMonitor monitor) throws ExecutionException;
-
- /**
- * Enables a dynamic probe or dynamic function entry/return probe.
- *
- * @param sessionName
- * - a session name
- * @param channelName
- * - a channel name or null for default channel
- * @param eventName
- * - a event name
- * @param isFunction
- * - true for dynamic function entry/return probe else false
- * @param probe
- * - a dynamic probe information
- * @param monitor
- * - a progress monitor
- * @throws ExecutionException
- * If the command fails
- */
- void enableProbe(String sessionName, String channelName,
- String eventName, boolean isFunction, String probe,
- IProgressMonitor monitor) throws ExecutionException;
-
- /**
- * Enables events using log level
- *
- * @param sessionName
- * - a session name
- * @param channelName
- * - a channel name (null for default channel)
- * @param eventName
- * - a event name
- * @param logLevelType
- * - a log level type
- * @param level
- * - a log level
- * @param filterExpression
- * - a filter expression
- * @param monitor
- * - a progress monitor
- * @throws ExecutionException
- * If the command fails
- */
- void enableLogLevel(String sessionName, String channelName,
- String eventName, LogLevelType logLevelType, TraceLogLevel level,
- String filterExpression,
- IProgressMonitor monitor) throws ExecutionException;
-
- /**
- * Disables a list of events with no additional parameters.
- *
- * @param sessionName
- * - a session name
- * @param channelName
- * - a channel name (null for default channel)
- * @param eventNames
- * - a list of event names to enabled.
- * @param isKernel
- * - a flag for indicating kernel or UST.
- * @param monitor
- * - a progress monitor
- * @throws ExecutionException
- * If the command fails
- */
- void disableEvent(String sessionName, String channelName,
- List<String> eventNames, boolean isKernel, IProgressMonitor monitor)
- throws ExecutionException;
-
- /**
- * Gets all available context names to be added to channels/events.
- *
- * @param monitor
- * The progress monitor
- * @return the list of available contexts
- * @throws ExecutionException
- * If the command fails
- */
- List<String> getContextList(IProgressMonitor monitor)
- throws ExecutionException;
-
- /**
- * Add contexts to given channels and or events
- *
- * @param sessionName
- * - a session name
- * @param channelName
- * - a channel name (null for all channels)
- * @param eventName
- * - a event name (null for all events)
- * @param isKernel
- * - a flag for indicating kernel or UST.
- * @param contexts
- * - a list of name of contexts to add
- * @param monitor
- * - a progress monitor
- * @throws ExecutionException
- * If the command fails
- */
- void addContexts(String sessionName, String channelName,
- String eventName, boolean isKernel, List<String> contexts,
- IProgressMonitor monitor) throws ExecutionException;
-
- /**
- * Executes calibrate command to quantify LTTng overhead.
- *
- * @param isKernel
- * - a flag for indicating kernel or UST.
- * @param monitor
- * - a progress monitor
- * @throws ExecutionException
- * If the command fails
- */
- void calibrate(boolean isKernel, IProgressMonitor monitor)
- throws ExecutionException;
-
- /**
- * Records a snapshot.
- *
- * @param sessionName
- * - a session name
- * @param monitor
- * - a progress monitor
- * @throws ExecutionException
- * If the command fails
- */
- void recordSnapshot(String sessionName, IProgressMonitor monitor)
- throws ExecutionException;
-
- /**
- * Executes a list of commands
- *
- * @param monitor
- * - a progress monitor
- * @param commands
- * - array of commands
- * @throws ExecutionException
- * If a command fails
- */
- void runCommands(IProgressMonitor monitor, List<String> commands)
- throws ExecutionException;
-}
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/service/LTTngControlService.java b/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/service/LTTngControlService.java
deleted file mode 100644
index 97012e35df..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/service/LTTngControlService.java
+++ /dev/null
@@ -1,1569 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2012, 2014 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:
- * Bernd Hufmann - Initial API and implementation
- * Bernd Hufmann - Updated for support of LTTng Tools 2.1
- * Simon Delisle - Updated for support of LTTng Tools 2.2
- * Marc-Andre Laperle - Support for creating a live session
- * Markus Schorn - Bug 448058: Use org.eclipse.remote in favor of RSE
- **********************************************************************/
-package org.eclipse.linuxtools.internal.lttng2.control.ui.views.service;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Iterator;
-import java.util.List;
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
-
-import org.eclipse.core.commands.ExecutionException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.IBaseEventInfo;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.IChannelInfo;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.IDomainInfo;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.IEventInfo;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.IFieldInfo;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.IProbeEventInfo;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.ISessionInfo;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.ISnapshotInfo;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.IUstProviderInfo;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.LogLevelType;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.TraceEventType;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.TraceLogLevel;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.impl.BaseEventInfo;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.impl.BufferType;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.impl.ChannelInfo;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.impl.DomainInfo;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.impl.EventInfo;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.impl.FieldInfo;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.impl.ProbeEventInfo;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.impl.SessionInfo;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.impl.SnapshotInfo;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.impl.UstProviderInfo;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.logging.ControlCommandLogger;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.messages.Messages;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.preferences.ControlPreferences;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.remote.ICommandResult;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.remote.ICommandShell;
-
-/**
- * <p>
- * Service for sending LTTng trace control commands to remote host.
- * </p>
- *
- * @author Bernd Hufmann
- */
-public class LTTngControlService implements ILttngControlService {
-
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
- /**
- * The command shell implementation
- */
- private final ICommandShell fCommandShell;
-
- /**
- * The version string.
- */
- private LttngVersion fVersion = null;
-
- // ------------------------------------------------------------------------
- // Constructors
- // ------------------------------------------------------------------------
-
- /**
- * Constructor
- *
- * @param shell
- * - the command shell implementation to use
- */
- public LTTngControlService(ICommandShell shell) {
- fCommandShell = shell;
- }
-
- // ------------------------------------------------------------------------
- // Accessors
- // ------------------------------------------------------------------------
-
- @Override
- public String getVersionString() {
- if (fVersion == null) {
- return "Unknown"; //$NON-NLS-1$
- }
- return fVersion.toString();
- }
-
- @Override
- public LttngVersion getVersion() {
- return fVersion;
- }
-
- /**
- * Sets the version of the LTTng 2.0 control service.
- *
- * @param version
- * - a version to set
- */
- public void setVersion(String version) {
- fVersion = new LttngVersion(version);
- }
-
- /**
- * Sets the version of the LTTng 2.x control service.
- *
- * @param version
- * - a version to set
- */
- public void setVersion(LttngVersion version) {
- fVersion = version;
- }
-
- @Override
- public boolean isVersionSupported(String version) {
- LttngVersion tmp = new LttngVersion(version);
- return (fVersion != null && fVersion.compareTo(tmp) >= 0) ? true : false;
- }
-
- /**
- * Returns the command shell implementation.
- *
- * @return the command shell implementation
- */
- protected ICommandShell getCommandShell() {
- return fCommandShell;
- }
-
- // ------------------------------------------------------------------------
- // Operations
- // ------------------------------------------------------------------------
-
- @Override
- public String[] getSessionNames(IProgressMonitor monitor) throws ExecutionException {
- List<String> command = createCommand(LTTngControlServiceConstants.COMMAND_LIST);
-
- ICommandResult result = executeCommand(command, monitor);
-
- // Output:
- // Available tracing sessions:
- // 1) mysession1 (/home/user/lttng-traces/mysession1-20120123-083928)
- // [inactive]
- // 2) mysession (/home/user/lttng-traces/mysession-20120123-083318)
- // [inactive]
- //
- // Use lttng list <session_name> for more details
-
- ArrayList<String> retArray = new ArrayList<>();
- int index = 0;
- while (index < result.getOutput().length) {
- String line = result.getOutput()[index];
- Matcher matcher = LTTngControlServiceConstants.SESSION_PATTERN.matcher(line);
- if (matcher.matches()) {
- retArray.add(matcher.group(2).trim());
- }
- index++;
- }
- return retArray.toArray(new String[retArray.size()]);
- }
-
- /**
- * Check if there is a pattern to be ignored into a sequence of string
- *
- * @param input
- * an arrays of string
- * @param pattern
- * the pattern to search for
- * @return if the pattern exist into the array of string
- */
- protected boolean ignoredPattern(String[] input, Pattern pattern) {
- for (String line : input) {
- Matcher matcher = pattern.matcher(line);
- if (matcher.matches()) {
- return true;
- }
- }
- return false;
- }
-
- @Override
- public ISessionInfo getSession(String sessionName, IProgressMonitor monitor) throws ExecutionException {
- List<String> command = createCommand(LTTngControlServiceConstants.COMMAND_LIST, sessionName);
- ICommandResult result = executeCommand(command, monitor);
-
- int index = 0;
-
- // Output:
- // Tracing session mysession2: [inactive]
- // Trace path: /home/eedbhu/lttng-traces/mysession2-20120123-110330
- ISessionInfo sessionInfo = new SessionInfo(sessionName);
-
- while (index < result.getOutput().length) {
- // Tracing session mysession2: [inactive]
- // Trace path: /home/eedbhu/lttng-traces/mysession2-20120123-110330
- //
- // === Domain: Kernel ===
- //
- String line = result.getOutput()[index];
- Matcher matcher = LTTngControlServiceConstants.TRACE_SESSION_PATTERN.matcher(line);
- if (matcher.matches()) {
- sessionInfo.setSessionState(matcher.group(2));
- index++;
- continue;
- }
-
- matcher = LTTngControlServiceConstants.TRACE_SNAPSHOT_SESSION_PATTERN.matcher(line);
- if (matcher.matches()) {
- sessionInfo.setSessionState(matcher.group(2));
- // real name will be set later
- ISnapshotInfo snapshotInfo = new SnapshotInfo(""); //$NON-NLS-1$
- sessionInfo.setSnapshotInfo(snapshotInfo);
- index++;
- continue;
- }
-
- if (!sessionInfo.isSnapshotSession()) {
- matcher = LTTngControlServiceConstants.TRACE_NETWORK_PATH_PATTERN.matcher(line);
- if (matcher.matches()) {
- sessionInfo.setStreamedTrace(true);
- }
-
- matcher = LTTngControlServiceConstants.TRACE_SESSION_PATH_PATTERN.matcher(line);
- if (matcher.matches()) {
- sessionInfo.setSessionPath(matcher.group(1).trim());
- index++;
- continue;
- }
- }
-
- matcher = LTTngControlServiceConstants.DOMAIN_KERNEL_PATTERN.matcher(line);
- if (matcher.matches()) {
- // Create Domain
- IDomainInfo domainInfo = new DomainInfo(Messages.TraceControl_KernelDomainDisplayName);
-
- // set kernel flag
- domainInfo.setIsKernel(true);
-
- // in domain kernel
- ArrayList<IChannelInfo> channels = new ArrayList<>();
- index = parseDomain(result.getOutput(), index, channels, domainInfo);
-
- if (channels.size() > 0) {
- // add domain
- sessionInfo.addDomain(domainInfo);
-
- // set channels
- domainInfo.setChannels(channels);
- }
- continue;
- }
-
- matcher = LTTngControlServiceConstants.DOMAIN_UST_GLOBAL_PATTERN.matcher(line);
- if (matcher.matches()) {
- IDomainInfo domainInfo = new DomainInfo(Messages.TraceControl_UstGlobalDomainDisplayName);
-
- // set kernel flag
- domainInfo.setIsKernel(false);
-
- // in domain UST
- ArrayList<IChannelInfo> channels = new ArrayList<>();
- index = parseDomain(result.getOutput(), index, channels, domainInfo);
-
- if (channels.size() > 0) {
- // add domain
- sessionInfo.addDomain(domainInfo);
-
- // set channels
- domainInfo.setChannels(channels);
- }
- continue;
- }
- index++;
- }
-
- if (sessionInfo.isSnapshotSession()) {
- ISnapshotInfo snapshot = getSnapshotInfo(sessionName, monitor);
- sessionInfo.setSnapshotInfo(snapshot);
- }
-
- return sessionInfo;
- }
-
- @Override
- public ISnapshotInfo getSnapshotInfo(String sessionName, IProgressMonitor monitor) throws ExecutionException {
- List<String> command = createCommand(LTTngControlServiceConstants.COMMAND_SNAPSHOT, LTTngControlServiceConstants.COMMAND_LIST_SNAPSHOT_OUTPUT, LTTngControlServiceConstants.OPTION_SESSION, sessionName);
- ICommandResult result = executeCommand(command, monitor);
-
- int index = 0;
-
- // Output:
- // [1] snapshot-1: /home/user/lttng-traces/my-20130909-114431
- // or
- // [3] snapshot-3: net4://172.0.0.1/
- ISnapshotInfo snapshotInfo = new SnapshotInfo(""); //$NON-NLS-1$
-
- while (index < result.getOutput().length) {
- String line = result.getOutput()[index];
- Matcher matcher = LTTngControlServiceConstants.LIST_SNAPSHOT_OUTPUT_PATTERN.matcher(line);
- if (matcher.matches()) {
- snapshotInfo.setId(Integer.valueOf(matcher.group(1)));
- snapshotInfo.setName(matcher.group(2));
- snapshotInfo.setSnapshotPath(matcher.group(3));
-
- Matcher matcher2 = LTTngControlServiceConstants.SNAPSHOT_NETWORK_PATH_PATTERN.matcher(snapshotInfo.getSnapshotPath());
- if (matcher2.matches()) {
- snapshotInfo.setStreamedSnapshot(true);
- }
-
- index++;
- break;
- }
- index++;
- }
-
- return snapshotInfo;
- }
-
- @Override
- public List<IBaseEventInfo> getKernelProvider(IProgressMonitor monitor) throws ExecutionException {
- List<String> command = createCommand(LTTngControlServiceConstants.COMMAND_LIST, LTTngControlServiceConstants.OPTION_KERNEL);
- ICommandResult result = executeCommand(command, monitor, false);
-
- List<IBaseEventInfo> events = new ArrayList<>();
-
- if (result.getErrorOutput() != null) {
- // Ignore the following 2 cases:
- // Spawning a session daemon
- // Error: Unable to list kernel events
- // or:
- // Error: Unable to list kernel events
- //
- if (ignoredPattern(result.getErrorOutput(), LTTngControlServiceConstants.LIST_KERNEL_NO_KERNEL_PROVIDER_PATTERN)) {
- return events;
- }
- }
-
- if (isError(result)) {
- throw new ExecutionException(Messages.TraceControl_CommandError + " " + toCommandString(command) + "\n" + formatOutput(result)); //$NON-NLS-1$ //$NON-NLS-2$
- }
-
- // Kernel events:
- // -------------
- // sched_kthread_stop (type: tracepoint)
- getProviderEventInfo(result.getOutput(), 0, events);
- return events;
- }
-
- @Override
- public List<IUstProviderInfo> getUstProvider() throws ExecutionException {
- return getUstProvider(new NullProgressMonitor());
- }
-
- @Override
- public List<IUstProviderInfo> getUstProvider(IProgressMonitor monitor) throws ExecutionException {
- List<String> command = createCommand(LTTngControlServiceConstants.COMMAND_LIST, LTTngControlServiceConstants.OPTION_UST);
-
- if (isVersionSupported("2.1.0")) { //$NON-NLS-1$
- command.add(LTTngControlServiceConstants.OPTION_FIELDS);
- }
-
- ICommandResult result = executeCommand(command, monitor, false);
- List<IUstProviderInfo> allProviders = new ArrayList<>();
-
- // Workaround for versions 2.0.x which causes a segmentation fault for
- // this command
- // if LTTng Tools is compiled without UST support.
- if (!isVersionSupported("2.1.0") && (result.getResult() != 0)) { //$NON-NLS-1$
- return allProviders;
- }
-
- if (result.getErrorOutput() != null) {
- // Ignore the following 2 cases:
- // Spawning a session daemon
- // Error: Unable to list UST events: Listing UST events failed
- // or:
- // Error: Unable to list UST events: Listing UST events failed
- //
- if (ignoredPattern(result.getErrorOutput(), LTTngControlServiceConstants.LIST_UST_NO_UST_PROVIDER_PATTERN)) {
- return allProviders;
- }
- }
-
- if (isError(result)) {
- throw new ExecutionException(Messages.TraceControl_CommandError + " " + toCommandString(command) + "\n" + formatOutput(result)); //$NON-NLS-1$ //$NON-NLS-2$
- }
-
- // Note that field print-outs exists for version >= 2.1.0
- //
- // UST events:
- // -------------
- //
- // PID: 3635 - Name:
- // /home/user/git/lttng-ust/tests/hello.cxx/.libs/lt-hello
- // ust_tests_hello:tptest_sighandler (loglevel: TRACE_EMERG0) (type:
- // tracepoint)
- // ust_tests_hello:tptest (loglevel: TRACE_EMERG0) (type: tracepoint)
- // field: doublefield (float)
- // field: floatfield (float)
- // field: stringfield (string)
- //
- // PID: 6459 - Name:
- // /home/user/git/lttng-ust/tests/hello.cxx/.libs/lt-hello
- // ust_tests_hello:tptest_sighandler (loglevel: TRACE_EMERG0) (type:
- // tracepoint)
- // ust_tests_hello:tptest (loglevel: TRACE_EMERG0) (type: tracepoint)
- // field: doublefield (float)
- // field: floatfield (float)
- // field: stringfield (string)
-
- IUstProviderInfo provider = null;
-
- int index = 0;
- while (index < result.getOutput().length) {
- String line = result.getOutput()[index];
- Matcher matcher = LTTngControlServiceConstants.UST_PROVIDER_PATTERN.matcher(line);
- if (matcher.matches()) {
- provider = new UstProviderInfo(matcher.group(2).trim());
- provider.setPid(Integer.valueOf(matcher.group(1).trim()));
- List<IBaseEventInfo> events = new ArrayList<>();
- index = getProviderEventInfo(result.getOutput(), ++index, events);
- provider.setEvents(events);
- allProviders.add(provider);
- } else {
- index++;
- }
- }
- return allProviders;
- }
-
- @Override
- public ISessionInfo createSession(ISessionInfo sessionInfo, IProgressMonitor monitor) throws ExecutionException {
- if (sessionInfo.isStreamedTrace()) {
- return createStreamedSession(sessionInfo, monitor);
- }
-
- List<String> command = prepareSessionCreationCommand(sessionInfo);
-
- ICommandResult result = executeCommand(command, monitor);
-
- // Session myssession2 created.
- // Traces will be written in
- // /home/user/lttng-traces/myssession2-20120209-095418
- String[] output = result.getOutput();
-
- // Get and session name and path
- String name = null;
- String path = null;
-
- int index = 0;
- while (index < output.length) {
- String line = output[index];
- Matcher nameMatcher = LTTngControlServiceConstants.CREATE_SESSION_NAME_PATTERN.matcher(line);
- Matcher pathMatcher = LTTngControlServiceConstants.CREATE_SESSION_PATH_PATTERN.matcher(line);
- if (nameMatcher.matches()) {
- name = String.valueOf(nameMatcher.group(1).trim());
- } else if (pathMatcher.matches()) {
- path = String.valueOf(pathMatcher.group(1).trim());
- }
- index++;
- }
-
- // Verify session name
- if ((name == null) || (!"".equals(sessionInfo.getName()) && !name.equals(sessionInfo.getName()))) { //$NON-NLS-1$
- // Unexpected name returned
- throw new ExecutionException(Messages.TraceControl_CommandError + " " + toCommandString(command) + "\n" + //$NON-NLS-1$ //$NON-NLS-2$
- Messages.TraceControl_UnexpectedNameError + ": " + name); //$NON-NLS-1$
- }
-
- sessionInfo.setName(name);
- // Verify session path
- if (!sessionInfo.isSnapshotSession() &&
- ((path == null) || ((sessionInfo.getSessionPath() != null) && (!path.contains(sessionInfo.getSessionPath()))))) {
- // Unexpected path
- throw new ExecutionException(Messages.TraceControl_CommandError + " " + toCommandString(command) + "\n" + //$NON-NLS-1$ //$NON-NLS-2$
- Messages.TraceControl_UnexpectedPathError + ": " + name); //$NON-NLS-1$
- }
-
- if (sessionInfo.isSnapshotSession()) {
- // Make it a snapshot session - content of snapshot info need to
- // set afterwards using getSession() or getSnapshotInfo()
- sessionInfo.setSnapshotInfo(new SnapshotInfo("")); //$NON-NLS-1$
- } else {
- sessionInfo.setSessionPath(path);
- }
-
- return sessionInfo;
-
- }
-
- /**
- * Basic generation of command for session creation
- *
- * @param sessionInfo
- * the session to create
- * @return the basic command for command creation
- */
- protected List<String> prepareSessionCreationCommand(ISessionInfo sessionInfo) {
- List<String> command = createCommand(LTTngControlServiceConstants.COMMAND_CREATE_SESSION);
- if (!sessionInfo.getName().isEmpty()) {
- command.add(sessionInfo.getName());
- }
-
- String newPath = sessionInfo.getSessionPath();
- if (newPath != null && !"".equals(newPath)) { //$NON-NLS-1$
- command.add(LTTngControlServiceConstants.OPTION_OUTPUT_PATH);
- command.add(newPath);
- }
-
- if (sessionInfo.isSnapshotSession()) {
- command.add(LTTngControlServiceConstants.OPTION_SNAPSHOT);
- }
- return command;
- }
-
- private ISessionInfo createStreamedSession(ISessionInfo sessionInfo, IProgressMonitor monitor) throws ExecutionException {
-
- List<String> command = prepareStreamedSessionCreationCommand(sessionInfo);
-
- ICommandResult result = executeCommand(command, monitor);
-
- // Verify output
- String[] output = result.getOutput();
-
- // Get and session name and path
- String name = null;
- String path = null;
-
- int index = 0;
- while (index < output.length) {
- String line = output[index];
- Matcher nameMatcher = LTTngControlServiceConstants.CREATE_SESSION_NAME_PATTERN.matcher(line);
- Matcher pathMatcher = LTTngControlServiceConstants.CREATE_SESSION_PATH_PATTERN.matcher(line);
-
- if (nameMatcher.matches()) {
- name = String.valueOf(nameMatcher.group(1).trim());
- } else if (pathMatcher.matches() && (sessionInfo.getNetworkUrl() != null)) {
- path = String.valueOf(pathMatcher.group(1).trim());
- }
- index++;
- }
-
- // Verify session name
- if ((name == null) || (!"".equals(sessionInfo.getName()) && !name.equals(sessionInfo.getName()))) { //$NON-NLS-1$
- // Unexpected name returned
- throw new ExecutionException(Messages.TraceControl_CommandError + " " + toCommandString(command) + "\n" + //$NON-NLS-1$ //$NON-NLS-2$
- Messages.TraceControl_UnexpectedNameError + ": " + name); //$NON-NLS-1$
- }
-
- sessionInfo.setName(name);
-
- sessionInfo.setStreamedTrace(true);
-
- // Verify session path
- if (sessionInfo.getNetworkUrl() != null) {
- if (!sessionInfo.isSnapshotSession() && (path == null)) {
- // Unexpected path
- throw new ExecutionException(Messages.TraceControl_CommandError + " " + toCommandString(command) + "\n" + //$NON-NLS-1$ //$NON-NLS-2$
- Messages.TraceControl_UnexpectedPathError + ": " + name); //$NON-NLS-1$
- }
-
- if (sessionInfo.isSnapshotSession()) {
- sessionInfo.setStreamedTrace(false);
- } else {
- sessionInfo.setSessionPath(path);
- // Check file protocol
- Matcher matcher = LTTngControlServiceConstants.TRACE_FILE_PROTOCOL_PATTERN.matcher(path);
- if (matcher.matches()) {
- sessionInfo.setStreamedTrace(false);
- }
- }
- }
-
- // When using controlUrl and dataUrl the full session path is not known
- // yet and will be set later on when listing the session
-
- return sessionInfo;
- }
-
- /**
- * Basic generation of command for streamed session creation
- *
- * @param sessionInfo
- * the session to create
- * @return the basic command for command creation
- */
- protected List<String> prepareStreamedSessionCreationCommand(ISessionInfo sessionInfo) {
- List<String> command = createCommand(LTTngControlServiceConstants.COMMAND_CREATE_SESSION);
- if (!sessionInfo.getName().isEmpty()) {
- command.add(sessionInfo.getName());
- }
-
- if (sessionInfo.isSnapshotSession()) {
- command.add(LTTngControlServiceConstants.OPTION_SNAPSHOT);
- } else if (sessionInfo.isLive()) {
- command.add(LTTngControlServiceConstants.OPTION_LIVE);
- if (sessionInfo.getLiveDelay() != LTTngControlServiceConstants.UNUSED_VALUE) {
- command.add(String.valueOf(sessionInfo.getLiveDelay()));
- }
- }
-
- if (sessionInfo.getNetworkUrl() != null) {
- command.add(LTTngControlServiceConstants.OPTION_NETWORK_URL);
- command.add(sessionInfo.getNetworkUrl());
- } else {
- command.add(LTTngControlServiceConstants.OPTION_CONTROL_URL);
- command.add(sessionInfo.getControlUrl());
-
- command.add(LTTngControlServiceConstants.OPTION_DATA_URL);
- command.add(sessionInfo.getDataUrl());
- }
- return command;
- }
-
- @Override
- public void destroySession(String sessionName, IProgressMonitor monitor) throws ExecutionException {
-
- List<String> command = createCommand(LTTngControlServiceConstants.COMMAND_DESTROY_SESSION, sessionName);
-
- ICommandResult result = executeCommand(command, monitor, false);
- String[] errorOutput = result.getErrorOutput();
-
- boolean isError = isError(result);
- if (isError && (errorOutput != null)) {
- if (ignoredPattern(result.getErrorOutput(), LTTngControlServiceConstants.SESSION_NOT_FOUND_ERROR_PATTERN)) {
- isError = false;
-
- }
- }
-
- if (isError) {
- throw new ExecutionException(Messages.TraceControl_CommandError + " " + toCommandString(command) + "\n" + formatOutput(result)); //$NON-NLS-1$ //$NON-NLS-2$
- }
-
- // Session <sessionName> destroyed
- }
-
- @Override
- public void startSession(String sessionName, IProgressMonitor monitor) throws ExecutionException {
-
- List<String> command = createCommand(LTTngControlServiceConstants.COMMAND_START_SESSION, sessionName);
-
- executeCommand(command, monitor);
-
- // Session <sessionName> started
- }
-
- @Override
- public void stopSession(String sessionName, IProgressMonitor monitor) throws ExecutionException {
- List<String> command = createCommand(LTTngControlServiceConstants.COMMAND_STOP_SESSION, sessionName);
-
- executeCommand(command, monitor);
-
- // Session <sessionName> stopped
-
- }
-
- @Override
- public void enableChannels(String sessionName, List<String> channelNames, boolean isKernel, IChannelInfo info, IProgressMonitor monitor) throws ExecutionException {
-
- // no channels to enable
- if (channelNames.isEmpty()) {
- return;
- }
-
- List<String> command = createCommand(LTTngControlServiceConstants.COMMAND_ENABLE_CHANNEL);
-
- command.add(toCsv(channelNames));
-
- if (isKernel) {
- command.add(LTTngControlServiceConstants.OPTION_KERNEL);
- } else {
- command.add(LTTngControlServiceConstants.OPTION_UST);
- }
-
- command.add(LTTngControlServiceConstants.OPTION_SESSION);
- command.add(sessionName);
-
- if (info != null) {
- // --discard Discard event when buffers are full (default)
-
- // --overwrite Flight recorder mode
- if (info.isOverwriteMode()) {
- command.add(LTTngControlServiceConstants.OPTION_OVERWRITE);
- }
- // --subbuf-size SIZE Subbuffer size in bytes
- // (default: 4096, kernel default: 262144)
- if (info.getSubBufferSize() != LTTngControlServiceConstants.UNUSED_VALUE) {
- command.add(LTTngControlServiceConstants.OPTION_SUB_BUFFER_SIZE);
- command.add(String.valueOf(info.getSubBufferSize()));
- }
-
- // --num-subbuf NUM Number of subbufers
- if (info.getNumberOfSubBuffers() != LTTngControlServiceConstants.UNUSED_VALUE) {
- command.add(LTTngControlServiceConstants.OPTION_NUM_SUB_BUFFERS);
- command.add(String.valueOf(info.getNumberOfSubBuffers()));
- }
-
- // --switch-timer USEC Switch timer interval in usec
- if (info.getSwitchTimer() != LTTngControlServiceConstants.UNUSED_VALUE) {
- command.add(LTTngControlServiceConstants.OPTION_SWITCH_TIMER);
- command.add(String.valueOf(info.getSwitchTimer()));
- }
-
- // --read-timer USEC Read timer interval in usec
- if (info.getReadTimer() != LTTngControlServiceConstants.UNUSED_VALUE) {
- command.add(LTTngControlServiceConstants.OPTION_READ_TIMER);
- command.add(String.valueOf(info.getReadTimer()));
- }
-
- if (isVersionSupported("2.2.0")) { //$NON-NLS-1$
- // --buffers-uid Every application sharing the same UID use the
- // same buffers --buffers-pid Buffers are allocated per PID
- if (!isKernel) {
- if (info.getBufferType() == BufferType.BUFFER_PER_PID) {
- command.add(LTTngControlServiceConstants.OPTION_PER_PID_BUFFERS);
-
- } else if (info.getBufferType() == BufferType.BUFFER_PER_UID) {
- command.add(LTTngControlServiceConstants.OPTION_PER_UID_BUFFERS);
- }
- }
-
- // -C SIZE Maximum size of trace files in bytes
- if (info.getMaxSizeTraceFiles() != LTTngControlServiceConstants.UNUSED_VALUE) {
- command.add(LTTngControlServiceConstants.OPTION_MAX_SIZE_TRACE_FILES);
- command.add(String.valueOf(info.getMaxSizeTraceFiles()));
- }
-
- // -W NUM Maximum number of trace files
- if (info.getMaxNumberTraceFiles() != LTTngControlServiceConstants.UNUSED_VALUE) {
- command.add(LTTngControlServiceConstants.OPTION_MAX_TRACE_FILES);
- command.add(String.valueOf(info.getMaxNumberTraceFiles()));
- }
- }
- }
-
- executeCommand(command, monitor);
-
- }
-
- @Override
- public void disableChannels(String sessionName, List<String> channelNames, boolean isKernel, IProgressMonitor monitor) throws ExecutionException {
-
- // no channels to enable
- if (channelNames.isEmpty()) {
- return;
- }
-
- List<String> command = createCommand(LTTngControlServiceConstants.COMMAND_DISABLE_CHANNEL);
-
- command.add(toCsv(channelNames));
-
- if (isKernel) {
- command.add(LTTngControlServiceConstants.OPTION_KERNEL);
- } else {
- command.add(LTTngControlServiceConstants.OPTION_UST);
- }
-
- command.add(LTTngControlServiceConstants.OPTION_SESSION);
- command.add(sessionName);
-
- executeCommand(command, monitor);
- }
-
- @Override
- public void enableEvents(String sessionName, String channelName, List<String> eventNames, boolean isKernel, String filterExpression, IProgressMonitor monitor) throws ExecutionException {
-
- List<String> command = createCommand(LTTngControlServiceConstants.COMMAND_ENABLE_EVENT);
-
- if (eventNames == null || eventNames.isEmpty()) {
- command.add(LTTngControlServiceConstants.OPTION_ALL);
- } else {
- command.add(toCsv(eventNames));
- }
-
- if (isKernel) {
- command.add(LTTngControlServiceConstants.OPTION_KERNEL);
- } else {
- command.add(LTTngControlServiceConstants.OPTION_UST);
- }
-
- command.add(LTTngControlServiceConstants.OPTION_SESSION);
- command.add(sessionName);
-
- if (channelName != null) {
- command.add(LTTngControlServiceConstants.OPTION_CHANNEL);
- command.add(channelName);
- }
-
- command.add(LTTngControlServiceConstants.OPTION_TRACEPOINT);
-
- if (filterExpression != null) {
- command.add(LTTngControlServiceConstants.OPTION_FILTER);
- command.add(filterExpression);
- }
-
- executeCommand(command, monitor);
-
- }
-
- @Override
- public void enableSyscalls(String sessionName, String channelName, IProgressMonitor monitor) throws ExecutionException {
-
- List<String> command = createCommand(LTTngControlServiceConstants.COMMAND_ENABLE_EVENT);
-
- command.add(LTTngControlServiceConstants.OPTION_ALL);
- command.add(LTTngControlServiceConstants.OPTION_KERNEL);
-
-
- command.add(LTTngControlServiceConstants.OPTION_SESSION);
- command.add(sessionName);
-
- if (channelName != null) {
- command.add(LTTngControlServiceConstants.OPTION_CHANNEL);
- command.add(channelName);
- }
-
- command.add(LTTngControlServiceConstants.OPTION_SYSCALL);
-
- executeCommand(command, monitor);
- }
-
- @Override
- public void enableProbe(String sessionName, String channelName, String eventName, boolean isFunction, String probe, IProgressMonitor monitor) throws ExecutionException {
- List<String> command = createCommand(LTTngControlServiceConstants.COMMAND_ENABLE_EVENT);
-
- command.add(eventName);
- command.add(LTTngControlServiceConstants.OPTION_KERNEL);
-
- command.add(LTTngControlServiceConstants.OPTION_SESSION);
- command.add(sessionName);
-
- if (channelName != null) {
- command.add(LTTngControlServiceConstants.OPTION_CHANNEL);
- command.add(channelName);
- }
- if (isFunction) {
- command.add(LTTngControlServiceConstants.OPTION_FUNCTION_PROBE);
- } else {
- command.add(LTTngControlServiceConstants.OPTION_PROBE);
- }
-
- command.add(probe);
-
- executeCommand(command, monitor);
- }
-
- @Override
- public void enableLogLevel(String sessionName, String channelName, String eventName, LogLevelType logLevelType, TraceLogLevel level, String filterExpression, IProgressMonitor monitor) throws ExecutionException {
- List<String> command = createCommand(LTTngControlServiceConstants.COMMAND_ENABLE_EVENT);
-
- command.add(eventName);
- command.add(LTTngControlServiceConstants.OPTION_UST);
-
- command.add(LTTngControlServiceConstants.OPTION_SESSION);
- command.add(sessionName);
-
- if (channelName != null) {
- command.add(LTTngControlServiceConstants.OPTION_CHANNEL);
- command.add(channelName);
- }
-
- if (logLevelType == LogLevelType.LOGLEVEL) {
- command.add(LTTngControlServiceConstants.OPTION_LOGLEVEL);
- } else if (logLevelType == LogLevelType.LOGLEVEL_ONLY) {
- command.add(LTTngControlServiceConstants.OPTION_LOGLEVEL_ONLY);
-
- } else {
- return;
- }
- command.add(level.getInName());
-
- executeCommand(command, monitor);
- }
-
- @Override
- public void disableEvent(String sessionName, String channelName, List<String> eventNames, boolean isKernel, IProgressMonitor monitor) throws ExecutionException {
- List<String> command = createCommand(LTTngControlServiceConstants.COMMAND_DISABLE_EVENT);
-
- if (eventNames == null) {
- command.add(LTTngControlServiceConstants.OPTION_ALL);
- } else {
- // no events to disable
- if (eventNames.isEmpty()) {
- return;
- }
-
- StringBuffer eventNameParameter = new StringBuffer();
- for (Iterator<String> iterator = eventNames.iterator(); iterator.hasNext();) {
- String event = iterator.next();
- eventNameParameter.append(event);
- if (iterator.hasNext()) {
- eventNameParameter.append(',');
- }
- }
- command.add(eventNameParameter.toString());
- }
-
- if (isKernel) {
- command.add(LTTngControlServiceConstants.OPTION_KERNEL);
- } else {
- command.add(LTTngControlServiceConstants.OPTION_UST);
- }
-
- command.add(LTTngControlServiceConstants.OPTION_SESSION);
- command.add(sessionName);
-
- if (channelName != null) {
- command.add(LTTngControlServiceConstants.OPTION_CHANNEL);
- command.add(channelName);
- }
-
- executeCommand(command, monitor);
- }
-
- @Override
- public List<String> getContextList(IProgressMonitor monitor) throws ExecutionException {
-
- List<String> command = createCommand(LTTngControlServiceConstants.COMMAND_ADD_CONTEXT, LTTngControlServiceConstants.OPTION_HELP);
-
- ICommandResult result = executeCommand(command, monitor);
-
- String[] output = result.getOutput();
-
- List<String> contexts = new ArrayList<>(0);
-
- int index = 0;
- boolean inList = false;
- while (index < output.length) {
- String line = result.getOutput()[index];
-
- Matcher startMatcher = LTTngControlServiceConstants.ADD_CONTEXT_HELP_CONTEXTS_INTRO.matcher(line);
- Matcher endMatcher = LTTngControlServiceConstants.ADD_CONTEXT_HELP_CONTEXTS_END_LINE.matcher(line);
-
- if (startMatcher.matches()) {
- inList = true;
- } else if (endMatcher.matches()) {
- break;
- } else if (inList == true) {
- String[] tmp = line.split(","); //$NON-NLS-1$
- for (int i = 0; i < tmp.length; i++) {
- contexts.add(tmp[i].trim());
- }
- }
- index++;
- }
- return contexts;
- }
-
- @Override
- public void addContexts(String sessionName, String channelName, String eventName, boolean isKernel, List<String> contextNames, IProgressMonitor monitor) throws ExecutionException {
- List<String> command = createCommand(LTTngControlServiceConstants.COMMAND_ADD_CONTEXT);
-
- command.add(LTTngControlServiceConstants.OPTION_SESSION);
- command.add(sessionName);
-
- if (channelName != null) {
- command.add(LTTngControlServiceConstants.OPTION_CHANNEL);
- command.add(channelName);
- }
-
- if (eventName != null) {
- command.add(LTTngControlServiceConstants.OPTION_EVENT);
- command.add(eventName);
- }
-
- if (isKernel) {
- command.add(LTTngControlServiceConstants.OPTION_KERNEL);
- } else {
- command.add(LTTngControlServiceConstants.OPTION_UST);
- }
-
- for (Iterator<String> iterator = contextNames.iterator(); iterator.hasNext();) {
- String context = iterator.next();
- command.add(LTTngControlServiceConstants.OPTION_CONTEXT_TYPE);
- command.add(context);
- }
-
- executeCommand(command, monitor);
-
- }
-
- @Override
- public void calibrate(boolean isKernel, IProgressMonitor monitor) throws ExecutionException {
- List<String> command = createCommand(LTTngControlServiceConstants.COMMAND_CALIBRATE);
-
- if (isKernel) {
- command.add(LTTngControlServiceConstants.OPTION_KERNEL);
- } else {
- command.add(LTTngControlServiceConstants.OPTION_UST);
- }
-
- command.add(LTTngControlServiceConstants.OPTION_FUNCTION_PROBE);
-
- executeCommand(command, monitor);
- }
-
- @Override
- public void recordSnapshot(String sessionName, IProgressMonitor monitor)
- throws ExecutionException {
- List<String> command = createCommand(LTTngControlServiceConstants.COMMAND_SNAPSHOT, LTTngControlServiceConstants.COMMAND_RECORD_SNAPSHOT);
-
- String newSessionName = sessionName;
- command.add(LTTngControlServiceConstants.OPTION_SESSION);
- command.add(newSessionName);
-
- executeCommand(command, monitor);
- }
-
- @Override
- public void runCommands(IProgressMonitor monitor, List<String> commandLines) throws ExecutionException {
- for (String commandLine : commandLines) {
- if (monitor.isCanceled()) {
- return;
- }
-
- if (commandLine.isEmpty() || commandLine.startsWith("#")) { //$NON-NLS-1$
- continue;
- }
- String[] args = commandLine.split("\\s+"); //$NON-NLS-1$
- List<String> command = Arrays.asList(args);
- ICommandResult result = executeCommand(command, monitor);
-
- if (isError(result)) {
- throw new ExecutionException(Messages.TraceControl_CommandError + " " + toCommandString(command) + "\n" + formatOutput(result)); //$NON-NLS-1$ //$NON-NLS-2$
- }
- }
- }
-
- // ------------------------------------------------------------------------
- // Helper methods
- // ------------------------------------------------------------------------
-
- /**
- * Checks if command result is an error result.
- *
- * @param result
- * - the command result to check
- * @return true if error else false
- */
- protected boolean isError(ICommandResult result) {
- // Check return code and length of returned strings
-
- if ((result.getResult()) != 0) {
- return true;
- }
-
- // Look for error pattern
- int index = 0;
- while (index < result.getErrorOutput().length) {
- String line = result.getErrorOutput()[index];
- Matcher matcher = LTTngControlServiceConstants.ERROR_PATTERN.matcher(line);
- if (matcher.matches()) {
- return true;
- }
- index++;
- }
-
- return false;
- }
-
- /**
- * Formats the output string as single string.
- *
- * @param result
- * - output array
- * @return - the formatted output
- */
- public static String formatOutput(ICommandResult result) {
- if ((result == null) || ((result.getOutput() == null || result.getOutput().length == 0) && (result.getErrorOutput() == null || result.getErrorOutput().length == 0))) {
- return ""; //$NON-NLS-1$
- }
- String[] output = result.getOutput();
- String[] errorOutput = result.getErrorOutput();
- StringBuffer ret = new StringBuffer();
- ret.append("Error Ouptut:\n"); //$NON-NLS-1$
- for (int i = 0; i < errorOutput.length; i++) {
- ret.append(errorOutput[i]).append("\n"); //$NON-NLS-1$
- }
- ret.append("Return Value: "); //$NON-NLS-1$
- ret.append(result.getResult());
- ret.append("\n"); //$NON-NLS-1$
- for (int i = 0; i < output.length; i++) {
- ret.append(output[i]).append("\n"); //$NON-NLS-1$
- }
- return ret.toString();
- }
-
- /**
- * Creates a single command string from a command line list.
- * @param command
- * command line list
- * @return single command string
- */
- public static String toCommandString(List<String> command) {
- StringBuilder builder = new StringBuilder();
- for (String segment : command) {
- builder.append(segment).append(' ');
- }
- return builder.toString().trim();
- }
-
- /**
- * Creates a comma separated string from list of names
- * @param names
- * List of name to convert
- * @return comma separated string
- */
- protected String toCsv(List<String> names) {
- StringBuilder csvString = new StringBuilder();
- for (Iterator<String> iterator = names.iterator(); iterator.hasNext();) {
- String name = iterator.next();
- csvString.append(name);
- if (iterator.hasNext()) {
- csvString.append(',');
- }
- }
- return csvString.toString();
- }
-
- /**
- * Parses the domain information.
- *
- * @param output
- * - a command output array
- * @param currentIndex
- * - current index in command output array
- * @param channels
- * - list for returning channel information
- * @param domainInfo
- * - The domain information
- * @return the new current index in command output array
- */
- protected int parseDomain(String[] output, int currentIndex, List<IChannelInfo> channels, IDomainInfo domainInfo) {
- int index = currentIndex;
-
- // if kernel set the buffer type to shared
- if (domainInfo.isKernel()) {
- domainInfo.setBufferType(BufferType.BUFFER_SHARED);
- }
-
- // Channels:
- // -------------
- // - channnel1: [enabled]
- //
- // Attributes:
- // overwrite mode: 0
- // subbufers size: 262144
- // number of subbufers: 4
- // switch timer interval: 0
- // read timer interval: 200
- // output: splice()
-
- while (index < output.length) {
- String line = output[index];
-
- if (isVersionSupported("2.2.0")) { //$NON-NLS-1$
- Matcher bufferTypeMatcher = LTTngControlServiceConstants.BUFFER_TYPE_PATTERN.matcher(line);
- if (bufferTypeMatcher.matches()) {
- String bufferTypeString = getAttributeValue(line);
- if (BufferType.BUFFER_PER_PID.getInName().equals(bufferTypeString)) {
- domainInfo.setBufferType(BufferType.BUFFER_PER_PID);
- } else if (BufferType.BUFFER_PER_UID.getInName().equals(bufferTypeString)) {
- domainInfo.setBufferType(BufferType.BUFFER_PER_UID);
- } else {
- domainInfo.setBufferType(BufferType.BUFFER_TYPE_UNKNOWN);
- }
- }
- } else {
- domainInfo.setBufferType(BufferType.BUFFER_TYPE_UNKNOWN);
- }
- Matcher outerMatcher = LTTngControlServiceConstants.CHANNELS_SECTION_PATTERN.matcher(line);
- Matcher noKernelChannelMatcher = LTTngControlServiceConstants.DOMAIN_NO_KERNEL_CHANNEL_PATTERN.matcher(line);
- Matcher noUstChannelMatcher = LTTngControlServiceConstants.DOMAIN_NO_UST_CHANNEL_PATTERN.matcher(line);
- if (outerMatcher.matches()) {
- IChannelInfo channelInfo = null;
- while (index < output.length) {
- String subLine = output[index];
-
- Matcher innerMatcher = LTTngControlServiceConstants.CHANNEL_PATTERN.matcher(subLine);
- if (innerMatcher.matches()) {
- channelInfo = new ChannelInfo(""); //$NON-NLS-1$
- // get channel name
- channelInfo.setName(innerMatcher.group(1));
-
- // get channel enablement
- channelInfo.setState(innerMatcher.group(2));
-
- // set BufferType
- channelInfo.setBufferType(domainInfo.getBufferType());
-
- // add channel
- channels.add(channelInfo);
-
- } else if (LTTngControlServiceConstants.OVERWRITE_MODE_ATTRIBUTE.matcher(subLine).matches()) {
- String value = getAttributeValue(subLine);
- if (channelInfo != null) {
- channelInfo.setOverwriteMode(!LTTngControlServiceConstants.OVERWRITE_MODE_ATTRIBUTE_FALSE.equals(value));
- }
- } else if (LTTngControlServiceConstants.SUBBUFFER_SIZE_ATTRIBUTE.matcher(subLine).matches()) {
- if (channelInfo != null) {
- channelInfo.setSubBufferSize(Long.valueOf(getAttributeValue(subLine)));
- }
-
- } else if (LTTngControlServiceConstants.NUM_SUBBUFFERS_ATTRIBUTE.matcher(subLine).matches()) {
- if (channelInfo != null) {
- channelInfo.setNumberOfSubBuffers(Integer.valueOf(getAttributeValue(subLine)));
- }
-
- } else if (LTTngControlServiceConstants.SWITCH_TIMER_ATTRIBUTE.matcher(subLine).matches()) {
- if (channelInfo != null) {
- channelInfo.setSwitchTimer(Long.valueOf(getAttributeValue(subLine)));
- }
-
- } else if (LTTngControlServiceConstants.READ_TIMER_ATTRIBUTE.matcher(subLine).matches()) {
- if (channelInfo != null) {
- channelInfo.setReadTimer(Long.valueOf(getAttributeValue(subLine)));
- }
-
- } else if (LTTngControlServiceConstants.OUTPUT_ATTRIBUTE.matcher(subLine).matches()) {
- if (channelInfo != null) {
- channelInfo.setOutputType(getAttributeValue(subLine));
- }
-
- } else if (LTTngControlServiceConstants.EVENT_SECTION_PATTERN.matcher(subLine).matches()) {
- List<IEventInfo> events = new ArrayList<>();
- index = parseEvents(output, index, events);
- if (channelInfo != null) {
- channelInfo.setEvents(events);
- }
- // we want to stay at the current index to be able to
- // exit the domain
- continue;
- } else if (LTTngControlServiceConstants.DOMAIN_KERNEL_PATTERN.matcher(subLine).matches()) {
- return index;
-
- } else if (LTTngControlServiceConstants.DOMAIN_UST_GLOBAL_PATTERN.matcher(subLine).matches()) {
- return index;
- }
- index++;
- }
- } else if (noKernelChannelMatcher.matches() || noUstChannelMatcher.matches()) {
- // domain indicates that no channels were found -> return
- index++;
- return index;
- }
- index++;
- }
- return index;
- }
-
- /**
- * Parses the event information within a domain.
- *
- * @param output
- * - a command output array
- * @param currentIndex
- * - current index in command output array
- * @param events
- * - list for returning event information
- * @return the new current index in command output array
- */
- protected int parseEvents(String[] output, int currentIndex, List<IEventInfo> events) {
- int index = currentIndex;
-
- while (index < output.length) {
- String line = output[index];
- if (LTTngControlServiceConstants.CHANNEL_PATTERN.matcher(line).matches()) {
- // end of channel
- return index;
- } else if (LTTngControlServiceConstants.DOMAIN_KERNEL_PATTERN.matcher(line).matches()) {
- // end of domain
- return index;
- } else if (LTTngControlServiceConstants.DOMAIN_UST_GLOBAL_PATTERN.matcher(line).matches()) {
- // end of domain
- return index;
- }
-
- Matcher matcher = LTTngControlServiceConstants.EVENT_PATTERN.matcher(line);
- Matcher matcher2 = LTTngControlServiceConstants.WILDCARD_EVENT_PATTERN.matcher(line);
-
- if (matcher.matches()) {
- IEventInfo eventInfo = new EventInfo(matcher.group(1).trim());
- eventInfo.setLogLevelType(matcher.group(2).trim());
- eventInfo.setLogLevel(matcher.group(3).trim());
- eventInfo.setEventType(matcher.group(4).trim());
- eventInfo.setState(matcher.group(5));
- String filter = matcher.group(6);
- if (filter != null) {
- // remove '[' and ']'
- filter = filter.substring(1, filter.length() - 1);
- eventInfo.setFilterExpression(filter);
- }
- events.add(eventInfo);
- index++;
- } else if (matcher2.matches()) {
- IEventInfo eventInfo = new EventInfo(matcher2.group(1).trim());
- eventInfo.setLogLevel(TraceLogLevel.LEVEL_UNKNOWN);
- eventInfo.setEventType(matcher2.group(2).trim());
- eventInfo.setState(matcher2.group(3));
- String filter = matcher2.group(4);
- if (filter != null) {
- // remove '[' and ']'
- filter = filter.substring(1, filter.length() - 1);
- eventInfo.setFilterExpression(filter);
- }
-
- if ((eventInfo.getEventType() == TraceEventType.PROBE) ||
- (eventInfo.getEventType() == TraceEventType.FUNCTION)) {
- IProbeEventInfo probeEvent = new ProbeEventInfo(eventInfo.getName());
- probeEvent.setLogLevel(eventInfo.getLogLevel());
- probeEvent.setEventType(eventInfo.getEventType());
- probeEvent.setState(eventInfo.getState());
-
- // Overwrite eventinfo
- eventInfo = probeEvent;
-
- // myevent2 (type: probe) [enabled]
- // addr: 0xc0101340
- // myevent0 (type: function) [enabled]
- // offset: 0x0
- // symbol: init_post
- index++;
- while (index < output.length) {
- String probeLine = output[index];
- // parse probe
- Matcher addrMatcher = LTTngControlServiceConstants.PROBE_ADDRESS_PATTERN.matcher(probeLine);
- Matcher offsetMatcher = LTTngControlServiceConstants.PROBE_OFFSET_PATTERN.matcher(probeLine);
- Matcher symbolMatcher = LTTngControlServiceConstants.PROBE_SYMBOL_PATTERN.matcher(probeLine);
- if (addrMatcher.matches()) {
- String addr = addrMatcher.group(2).trim();
- probeEvent.setAddress(addr);
- } else if (offsetMatcher.matches()) {
- String offset = offsetMatcher.group(2).trim();
- probeEvent.setOffset(offset);
- } else if (symbolMatcher.matches()) {
- String symbol = symbolMatcher.group(2).trim();
- probeEvent.setSymbol(symbol);
- } else if ((LTTngControlServiceConstants.EVENT_PATTERN.matcher(probeLine).matches()) || (LTTngControlServiceConstants.WILDCARD_EVENT_PATTERN.matcher(probeLine).matches())) {
- break;
- } else if (LTTngControlServiceConstants.CHANNEL_PATTERN.matcher(probeLine).matches()) {
- break;
- } else if (LTTngControlServiceConstants.DOMAIN_KERNEL_PATTERN.matcher(probeLine).matches()) {
- // end of domain
- break;
- } else if (LTTngControlServiceConstants.DOMAIN_UST_GLOBAL_PATTERN.matcher(probeLine).matches()) {
- // end of domain
- break;
- }
- index++;
- }
- events.add(eventInfo);
- } else {
- events.add(eventInfo);
- index++;
- continue;
- }
- } else {
- index++;
- }
- }
-
- return index;
- }
-
- /**
- * Parses a line with attributes: <attribute Name>: <attribute value>
- *
- * @param line
- * - attribute line to parse
- * @return the attribute value as string
- */
- protected String getAttributeValue(String line) {
- String[] temp = line.split("\\: "); //$NON-NLS-1$
- return temp[1];
- }
-
- /**
- * Parses the event information within a provider.
- *
- * @param output
- * - a command output array
- * @param currentIndex
- * - current index in command output array
- * @param events
- * - list for returning event information
- * @return the new current index in command output array
- */
- protected int getProviderEventInfo(String[] output, int currentIndex, List<IBaseEventInfo> events) {
- int index = currentIndex;
- IBaseEventInfo eventInfo = null;
- while (index < output.length) {
- String line = output[index];
- Matcher matcher = LTTngControlServiceConstants.PROVIDER_EVENT_PATTERN.matcher(line);
- if (matcher.matches()) {
- // sched_kthread_stop (loglevel: TRACE_EMERG0) (type:
- // tracepoint)
- eventInfo = new BaseEventInfo(matcher.group(1).trim());
- eventInfo.setLogLevel(matcher.group(2).trim());
- eventInfo.setEventType(matcher.group(3).trim());
- events.add(eventInfo);
- index++;
- } else if (LTTngControlServiceConstants.EVENT_FIELD_PATTERN.matcher(line).matches()) {
- if (eventInfo != null) {
- List<IFieldInfo> fields = new ArrayList<>();
- index = getFieldInfo(output, index, fields);
- eventInfo.setFields(fields);
- } else {
- index++;
- }
- }
- else if (LTTngControlServiceConstants.UST_PROVIDER_PATTERN.matcher(line).matches()) {
- return index;
- } else {
- index++;
- }
- }
- return index;
- }
-
- /**
- * Parse a field's information.
- *
- * @param output
- * A command output array
- * @param currentIndex
- * The current index in the command output array
- * @param fields
- * List for returning the field information
- * @return The new current index in the command output array
- */
- protected int getFieldInfo(String[] output, int currentIndex, List<IFieldInfo> fields) {
- int index = currentIndex;
- IFieldInfo fieldInfo = null;
- while (index < output.length) {
- String line = output[index];
- Matcher matcher = LTTngControlServiceConstants.EVENT_FIELD_PATTERN.matcher(line);
- if (matcher.matches()) {
- // field: content (string)
- fieldInfo = new FieldInfo(matcher.group(2).trim());
- fieldInfo.setFieldType(matcher.group(3).trim());
- fields.add(fieldInfo);
- } else if (LTTngControlServiceConstants.PROVIDER_EVENT_PATTERN.matcher(line).matches()) {
- return index;
- } else if (LTTngControlServiceConstants.UST_PROVIDER_PATTERN.matcher(line).matches()) {
- return index;
- }
- index++;
- }
- return index;
- }
-
- /**
- * @param strings
- * array of string that makes up a command line
- * @return string buffer with created command line
- */
- protected List<String> createCommand(String... strings) {
- List<String> command = new ArrayList<>();
- command.add(LTTngControlServiceConstants.CONTROL_COMMAND);
- String groupOption = getTracingGroupOption();
- if (!groupOption.isEmpty()) {
- command.add(groupOption);
- }
- String verboseOption = getVerboseOption();
- if (!verboseOption.isEmpty()) {
- command.add(verboseOption);
- }
- for (String string : strings) {
- command.add(string);
- }
- return command;
- }
-
- /**
- * @return the tracing group option if configured in the preferences
- */
- protected String getTracingGroupOption() {
- if (!ControlPreferences.getInstance().isDefaultTracingGroup() && !ControlPreferences.getInstance().getTracingGroup().equals("")) { //$NON-NLS-1$
- return LTTngControlServiceConstants.OPTION_TRACING_GROUP + ControlPreferences.getInstance().getTracingGroup();
- }
- return ""; //$NON-NLS-1$
- }
-
- /**
- * @return the verbose option as configured in the preferences
- */
- protected String getVerboseOption() {
- if (ControlPreferences.getInstance().isLoggingEnabled()) {
- String level = ControlPreferences.getInstance().getVerboseLevel();
- if (ControlPreferences.TRACE_CONTROL_VERBOSE_LEVEL_VERBOSE.equals(level)) {
- return LTTngControlServiceConstants.OPTION_VERBOSE;
- }
- if (ControlPreferences.TRACE_CONTROL_VERBOSE_LEVEL_V_VERBOSE.equals(level)) {
- return LTTngControlServiceConstants.OPTION_VERY_VERBOSE;
- }
- if (ControlPreferences.TRACE_CONTROL_VERBOSE_LEVEL_V_V_VERBOSE.equals(level)) {
- return LTTngControlServiceConstants.OPTION_VERY_VERY_VERBOSE;
- }
- }
- return ""; //$NON-NLS-1$
- }
-
- /**
- * Method that logs the command and command result if logging is enabled as
- * well as forwards the command execution to the shell.
- *
- * @param command
- * - the command to execute
- * @param monitor
- * - a progress monitor
- * @return the command result
- * @throws ExecutionException
- * If the command fails
- */
- protected ICommandResult executeCommand(List<String> command,
- IProgressMonitor monitor) throws ExecutionException {
- return executeCommand(command, monitor, true);
- }
-
- /**
- * Method that logs the command and command result if logging is enabled as
- * well as forwards the command execution to the shell.
- *
- * @param command
- * - the command to execute
- * @param monitor
- * - a progress monitor
- * @param checkForError
- * - true to verify command result, else false
- * @return the command result
- * @throws ExecutionException
- * in case of error result
- */
- protected ICommandResult executeCommand(List<String> command,
- IProgressMonitor monitor, boolean checkForError)
- throws ExecutionException {
- if (ControlPreferences.getInstance().isLoggingEnabled()) {
- ControlCommandLogger.log(toCommandString(command));
- }
-
- ICommandResult result = fCommandShell.executeCommand(command, monitor);
-
- if (ControlPreferences.getInstance().isLoggingEnabled()) {
- ControlCommandLogger.log(formatOutput(result));
- }
-
- if (checkForError && isError(result)) {
- throw new ExecutionException(Messages.TraceControl_CommandError
- + " " + toCommandString(command) + "\n" + formatOutput(result)); //$NON-NLS-1$ //$NON-NLS-2$
- }
-
- return result;
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/service/LTTngControlServiceConstants.java b/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/service/LTTngControlServiceConstants.java
deleted file mode 100644
index 4ef210c5b9..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/service/LTTngControlServiceConstants.java
+++ /dev/null
@@ -1,452 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2012, 2014 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:
- * Bernd Hufmann - Initial API and implementation
- * Bernd Hufmann - Updated for support of LTTng Tools 2.1
- * Simon Delisle - Updated for support of LTTng Tools 2.2
- * Marc-Andre Laperle - Support for creating a live session
- **********************************************************************/
-package org.eclipse.linuxtools.internal.lttng2.control.ui.views.service;
-
-import java.util.regex.Pattern;
-
-/**
- * <p>
- * Constants for LTTng Control Service.
- * </p>
- *
- * @author Bernd Hufmann
- */
-public interface LTTngControlServiceConstants {
-
- // ------------------------------------------------------------------------
- // Version constants
- // ------------------------------------------------------------------------
- /**
- * Pattern to match the LTTng toolchain version 2.x.y.
- */
- static final Pattern VERSION_2_PATTERN = Pattern.compile("(2\\.\\d+\\.\\d+).*"); //$NON-NLS-1$
-
- // ------------------------------------------------------------------------
- // Constants
- // ------------------------------------------------------------------------
- /**
- * Unused value
- */
- static final int UNUSED_VALUE = -1;
- /**
- * String representation of numerical true element
- */
- static final String TRUE_NUMERICAL = "1"; //$NON-NLS-1$
-
- // ------------------------------------------------------------------------
- // LTTng Machine Interface constants
- // ------------------------------------------------------------------------
-
- /**
- * Name of the XSD to validate against the xml machine interface
- * output from LTTng
- */
- static final String MI_XSD_FILENAME = "mi_lttng.xsd"; //$NON-NLS-1$
- // ------------------------------------------------------------------------
- // Command constants
- // ------------------------------------------------------------------------
- /**
- * The lttng tools command.
- */
- static final String CONTROL_COMMAND = "lttng"; //$NON-NLS-1$
- /**
- * The lttng tools machine interface command.
- */
- static final String CONTROL_COMMAND_MI_OPTION = "--mi"; //$NON-NLS-1$
- /**
- * The lttng tools XML machine interface command.
- */
- static final String CONTROL_COMMAND_MI_XML = "xml"; //$NON-NLS-1$
- /**
- * Command: lttng version.
- */
- static final String COMMAND_VERSION = "version"; //$NON-NLS-1$
- /**
- * Command: lttng list.
- */
- static final String COMMAND_LIST = "list"; //$NON-NLS-1$
- /**
- * Command to create a session.
- */
- static final String COMMAND_CREATE_SESSION = "create"; //$NON-NLS-1$
- /**
- * Command to destroy a session.
- */
- static final String COMMAND_DESTROY_SESSION = "destroy"; //$NON-NLS-1$
- /**
- * Command to destroy a session.
- */
- static final String COMMAND_START_SESSION = "start"; //$NON-NLS-1$
- /**
- * Command to destroy a session.
- */
- static final String COMMAND_STOP_SESSION = "stop"; //$NON-NLS-1$
- /**
- * Command to enable a channel.
- */
- static final String COMMAND_ENABLE_CHANNEL = "enable-channel"; //$NON-NLS-1$
- /**
- * Command to disable a channel.
- */
- static final String COMMAND_DISABLE_CHANNEL = "disable-channel"; //$NON-NLS-1$
- /**
- * Command to enable a event.
- */
- static final String COMMAND_ENABLE_EVENT = "enable-event"; //$NON-NLS-1$
- /**
- * Command to disable a event.
- */
- static final String COMMAND_DISABLE_EVENT = "disable-event"; //$NON-NLS-1$
- /**
- * Command to add a context to channels and/or events
- */
- static final String COMMAND_ADD_CONTEXT = "add-context"; //$NON-NLS-1$
- /**
- * Command to execute calibrate command to quantify LTTng overhead
- */
- static final String COMMAND_CALIBRATE = "calibrate"; //$NON-NLS-1$
- /**
- * Command to execute calibrate command to quantify LTTng overhead
- */
- static final String COMMAND_SNAPSHOT = "snapshot"; //$NON-NLS-1$
- /**
- * Command to execute calibrate command to quantify LTTng overhead
- */
- static final String COMMAND_LIST_SNAPSHOT_OUTPUT = "list-output"; //$NON-NLS-1$
- /**
- * Command to execute calibrate command to quantify LTTng overhead
- */
- static final String COMMAND_RECORD_SNAPSHOT = "record"; //$NON-NLS-1$
-
- // ------------------------------------------------------------------------
- // Command line options constants
- // ------------------------------------------------------------------------
- /**
- * Command line option to add tracing group of user.
- */
- static final String OPTION_TRACING_GROUP = "-g"; //$NON-NLS-1$
- /**
- * Command line option for verbose output.
- */
- static final String OPTION_VERBOSE = "-v"; //$NON-NLS-1$
- /**
- * Command line option for verbose output.
- */
- static final String OPTION_VERY_VERBOSE = "-vv"; //$NON-NLS-1$
- /**
- * Command line option for verbose output.
- */
- static final String OPTION_VERY_VERY_VERBOSE = "-vvv"; //$NON-NLS-1$
- /**
- * Command line option for output path.
- */
- static final String OPTION_OUTPUT_PATH = "-o"; //$NON-NLS-1$
- /**
- * Command line option for output path.
- */
- static final String OPTION_SNAPSHOT = "--snapshot"; //$NON-NLS-1$
- /**
- * Command line option for live
- */
- static final String OPTION_LIVE = "--live"; //$NON-NLS-1$
- /**
- * Command line option for kernel tracer.
- */
- static final String OPTION_KERNEL = "-k"; //$NON-NLS-1$
- /**
- * Command line option for UST tracer.
- */
- static final String OPTION_UST = "-u"; //$NON-NLS-1$
- /**
- * Command line option for specifying a session.
- */
- static final String OPTION_SESSION = "-s"; //$NON-NLS-1$
- /**
- * Command line option for specifying a channel.
- */
- static final String OPTION_CHANNEL = "-c"; //$NON-NLS-1$
- /**
- * Command line option for specifying a event.
- */
- static final String OPTION_EVENT = "-e"; //$NON-NLS-1$
- /**
- * Command line option for specifying all events.
- */
- static final String OPTION_ALL = "-a"; //$NON-NLS-1$
- /**
- * Command line option for specifying a context.
- */
- static final String OPTION_CONTEXT_TYPE = "-t"; //$NON-NLS-1$
- /**
- * Command line option for specifying tracepoint events.
- */
- static final String OPTION_TRACEPOINT = "--tracepoint"; //$NON-NLS-1$
- /**
- * Command line option for specifying syscall events.
- */
- static final String OPTION_SYSCALL = "--syscall"; //$NON-NLS-1$
- /**
- * Command line option for specifying a dynamic probe.
- */
- static final String OPTION_PROBE = "--probe"; //$NON-NLS-1$
- /**
- * Command line option for specifying a dynamic function entry/return probe.
- */
- static final String OPTION_FUNCTION_PROBE = "--function"; //$NON-NLS-1$
- /**
- * Command line option for specifying a log level range.
- */
- static final String OPTION_LOGLEVEL = "--loglevel"; //$NON-NLS-1$
- /**
- * Command line option for specifying a specific log level.
- */
- static final String OPTION_LOGLEVEL_ONLY = "--loglevel-only"; //$NON-NLS-1$
- /**
- * Optional command line option for configuring a channel's overwrite mode.
- */
- static final String OPTION_OVERWRITE = "--overwrite"; //$NON-NLS-1$
- /**
- * Optional command line option for configuring a channel's number of sub buffers.
- */
- static final String OPTION_NUM_SUB_BUFFERS = "--num-subbuf"; //$NON-NLS-1$
- /**
- * Optional command line option for configuring a channel's sub buffer size.
- */
- static final String OPTION_SUB_BUFFER_SIZE = "--subbuf-size"; //$NON-NLS-1$
- /**
- * Optional command line option for configuring a channel's switch timer interval.
- */
- static final String OPTION_SWITCH_TIMER = "--switch-timer"; //$NON-NLS-1$
- /**
- * Optional command line option for configuring a channel's read timer interval.
- */
- static final String OPTION_READ_TIMER = "--read-timer"; //$NON-NLS-1$
- /**
- * Command line option for printing the help of a specif command
- */
- static final String OPTION_HELP = "-h"; //$NON-NLS-1$
- /**
- * Command line option for listing the fields of UST tracepoints
- */
- static final String OPTION_FIELDS = "-f"; //$NON-NLS-1$
- /**
- * Command line option for configuring event's filter
- */
- static final String OPTION_FILTER = "--filter"; //$NON-NLS-1$
- /**
- * Command line option for configuring the streaming network URL (common for control and data channel).
- */
- static final String OPTION_NETWORK_URL = "-U"; //$NON-NLS-1$
- /**
- * Command line option for configuring the streaming control URL.
- */
- static final String OPTION_CONTROL_URL = "-C"; //$NON-NLS-1$
- /**
- * Command line option for configuring the streaming data URL.
- */
- static final String OPTION_DATA_URL = "-D"; //$NON-NLS-1$
- /**
- * Command line option for per UID buffers
- */
- static final String OPTION_PER_UID_BUFFERS = "--buffers-uid"; //$NON-NLS-1$
- /**
- * Command line option for per PID buffers
- */
- static final String OPTION_PER_PID_BUFFERS = "--buffers-pid"; //$NON-NLS-1$
- /**
- * Command line option for maximum size of trace files
- */
- static final String OPTION_MAX_SIZE_TRACE_FILES = "-C"; //$NON-NLS-1$
- /**
- * Command line option for maximum trace files
- */
- static final String OPTION_MAX_TRACE_FILES = "-W"; //$NON-NLS-1$
-
- // ------------------------------------------------------------------------
- // Parsing constants
- // ------------------------------------------------------------------------
- /**
- * Pattern to match the version.
- */
- static final Pattern VERSION_PATTERN = Pattern.compile(".*lttng\\s+version\\s+.*(\\d+\\.\\d+\\.\\d+).*"); //$NON-NLS-1$
- /**
- * Pattern to match for error output
- */
- static final Pattern ERROR_PATTERN = Pattern.compile("\\s*Error\\:.*"); //$NON-NLS-1$
- /**
- * Pattern to match for session information (lttng list)
- */
- static final Pattern SESSION_PATTERN = Pattern.compile("\\s+(\\d+)\\)\\s+(.*)\\s+\\((.*)\\)\\s+\\[(active|inactive).*\\].*"); //$NON-NLS-1$
- /**
- * Pattern to match for session information (lttng list <session>)
- */
- static final Pattern TRACE_SESSION_PATTERN = Pattern.compile("\\s*Tracing\\s+session\\s+(.*)\\:\\s+\\[(active|inactive)\\].*"); //$NON-NLS-1$
- /**
- * Pattern to match for snapshot session information (lttng list <session>)
- */
- static final Pattern TRACE_SNAPSHOT_SESSION_PATTERN = Pattern.compile("\\s*Tracing\\s+session\\s+(.*)\\:\\s+\\[(active|inactive)\\s*snapshot\\].*"); //$NON-NLS-1$
- /**
- * Pattern to match for session path information (lttng list <session>)
- */
- static final Pattern TRACE_SESSION_PATH_PATTERN = Pattern.compile("\\s*Trace\\s+path\\:\\s+(.*)"); //$NON-NLS-1$
- /**
- * Pattern to match session path for network tracing (lttng list <session>)
- * Note: file for protocol is not considered as network trace since local consumer will be used.
- */
- static final Pattern TRACE_NETWORK_PATH_PATTERN = Pattern.compile("\\s*Trace\\s+path\\:\\s+(net|net4|net6|tcp|tcp4|tcp6)\\:\\/\\/(.*)(\\:(\\d*)\\/(.*)\\[data\\:\\s+(\\d*)\\]){0,1}"); //$NON-NLS-1$
- /**
- * Pattern to match session path for network tracing
- * Note: file for protocol is not considered as network trace since local consumer will be used.
- */
- static final Pattern TRACE_NETWORK_PATTERN = Pattern.compile("\\s*(net|net4|net6|tcp|tcp4|tcp6)\\:\\/\\/(.*)(\\:(\\d*)\\/(.*)\\[data\\:\\s+(\\d*)\\]){0,1}"); //$NON-NLS-1$
- /**
- * Sub-pattern to pattern TRACE_NETWORK_PATH_PATTERN to match file protocol
- */
- static final Pattern TRACE_FILE_PROTOCOL_PATTERN = Pattern.compile("(file)\\:\\/\\/(.*)"); //$NON-NLS-1$
- /**
- * Pattern to match for kernel domain information (lttng list <session>)
- */
- static final Pattern DOMAIN_KERNEL_PATTERN = Pattern.compile("=== Domain: Kernel ==="); //$NON-NLS-1$
- /**
- * Pattern to match for ust domain information (lttng list <session>)
- */
- static final Pattern DOMAIN_UST_GLOBAL_PATTERN = Pattern.compile("=== Domain: UST global ==="); //$NON-NLS-1$
- /**
- * Pattern to match for matching warning about no kernel channel
- */
- static final Pattern DOMAIN_NO_KERNEL_CHANNEL_PATTERN = Pattern.compile("\\s*Warning\\:\\s+No kernel\\s+channel.*"); //$NON-NLS-1$
- /**
- * Pattern to match for matching warning about no UST channel
- */
- static final Pattern DOMAIN_NO_UST_CHANNEL_PATTERN = Pattern.compile("\\s*Error\\:\\s+UST\\s+channel\\s+not\\s+found.*"); //$NON-NLS-1$
- /**
- * Pattern to match for buffer type (lttng list <session>)
- */
- static final Pattern BUFFER_TYPE_PATTERN = Pattern.compile("\\s*Buffer\\s+type\\:.*"); //$NON-NLS-1$
- /**
- * Pattern to match for channels section (lttng list <session>)
- */
- static final Pattern CHANNELS_SECTION_PATTERN = Pattern.compile("\\s*Channels\\:"); //$NON-NLS-1$
- /**
- * Pattern to match for channel information (lttng list <session>)
- */
- static final Pattern CHANNEL_PATTERN = Pattern.compile("\\s*-\\s+(.*)\\:\\s+\\[(enabled|disabled)\\]"); //$NON-NLS-1$
- /**
- * Pattern to match for events section information (lttng list <session>)
- */
- static final Pattern EVENT_SECTION_PATTERN = Pattern.compile("\\s*Events\\:"); //$NON-NLS-1$
- /**
- * Pattern to match for event information (lttng list <session>)
- */
- static final Pattern EVENT_PATTERN = Pattern.compile("\\s+(.*)\\s+\\(loglevel\\s*(:|<=|==)\\s+(.*)\\s+\\(\\d*\\)\\)\\s+\\(type:\\s+(.*)\\)\\s+\\[(enabled|disabled)\\]\\s*(\\[.*\\]){0,1}.*"); //$NON-NLS-1$
- /**
- * Pattern to match a wildcarded event information (lttng list <session>)
- */
- static final Pattern WILDCARD_EVENT_PATTERN = Pattern.compile("\\s+(.*)\\s+\\(type:\\s+(.*)\\)\\s+\\[(enabled|disabled)\\]\\s*(\\[.*\\]){0,1}.*"); //$NON-NLS-1$
- /**
- * Pattern to match a probe address information (lttng list <session>)
- */
- static final Pattern PROBE_ADDRESS_PATTERN = Pattern.compile("\\s+(addr)\\:\\s+(0x[0-9a-fA-F]{1,16})"); //$NON-NLS-1$
- /**
- * Pattern to match a probe OFFSET information (lttng list <session>)
- */
- static final Pattern PROBE_OFFSET_PATTERN = Pattern.compile("\\s+(offset)\\:\\s+(0x[0-9a-fA-F]{1,16})"); //$NON-NLS-1$
- /**
- * Pattern to match a probe SYMBOL information (lttng list <session>)
- */
- static final Pattern PROBE_SYMBOL_PATTERN = Pattern.compile("\\s+(symbol)\\:\\s+(.+)"); //$NON-NLS-1$
- /**
- * Pattern to match for channel (overwite mode) information (lttng list <session>)
- */
- static final Pattern OVERWRITE_MODE_ATTRIBUTE = Pattern.compile("\\s+overwrite\\s+mode\\:.*"); //$NON-NLS-1$
- /**
- * Pattern to match indicating false for overwrite mode
- */
- static final String OVERWRITE_MODE_ATTRIBUTE_FALSE = "0"; //$NON-NLS-1$
- /**
- * Pattern to match indicating false for overwrite mode in machine interface mode
- */
- static final String OVERWRITE_MODE_ATTRIBUTE_FALSE_MI = "DISCARD"; //$NON-NLS-1$
- /**
- * Pattern to match for channel (sub-buffer size) information (lttng list <session>)
- */
- static final Pattern SUBBUFFER_SIZE_ATTRIBUTE = Pattern.compile("\\s+subbufers\\s+size\\:.*"); //$NON-NLS-1$
- /**
- * Pattern to match for channel (number of sub-buffers) information (lttng list <session>)
- */
- static final Pattern NUM_SUBBUFFERS_ATTRIBUTE = Pattern.compile("\\s+number\\s+of\\s+subbufers\\:.*"); //$NON-NLS-1$
- /**
- * Pattern to match for channel (switch timer) information (lttng list <session>)
- */
- static final Pattern SWITCH_TIMER_ATTRIBUTE = Pattern.compile("\\s+switch\\s+timer\\s+interval\\:.*"); //$NON-NLS-1$
- /**
- * Pattern to match for channel (read timer) information (lttng list <session>)
- */
- static final Pattern READ_TIMER_ATTRIBUTE = Pattern.compile("\\s+read\\s+timer\\s+interval\\:.*"); //$NON-NLS-1$
- /**
- * Pattern to match for channel (output type) information (lttng list <session>)
- */
- static final Pattern OUTPUT_ATTRIBUTE = Pattern.compile("\\s+output\\:.*"); //$NON-NLS-1$
- /**
- * Pattern to match for provider information (lttng list -k/-u)
- */
- static final Pattern PROVIDER_EVENT_PATTERN = Pattern.compile("\\s*(.*)\\s+\\(loglevel:\\s+(.*)\\s+\\(\\d*\\)\\)\\s+\\(type:\\s+(.*)\\)"); //$NON-NLS-1$
- /**
- * Pattern to match event fields
- */
- static final Pattern EVENT_FIELD_PATTERN = Pattern.compile("\\s*(field:)\\s+(.*)\\s+\\((.*)\\)"); //$NON-NLS-1$
- /**
- * Pattern to match for UST provider information (lttng list -u)
- */
- static final Pattern UST_PROVIDER_PATTERN = Pattern.compile("\\s*PID\\:\\s+(\\d+)\\s+-\\s+Name\\:\\s+(.*)"); //$NON-NLS-1$
- /**
- * Pattern to match for session information (lttng create <session name>)
- */
- static final Pattern CREATE_SESSION_NAME_PATTERN = Pattern.compile(".*Session\\s+(.*)\\s+created\\."); //$NON-NLS-1$
- /**
- * Pattern to match for session path information (lttng create <session name>)
- */
- static final Pattern CREATE_SESSION_PATH_PATTERN = Pattern.compile("\\s*Traces\\s+will\\s+be\\s+written\\s+in\\s+(.*).*"); //$NON-NLS-1$
- /**
- * Pattern to match for session command output for "session name not found".
- */
- static final Pattern SESSION_NOT_FOUND_ERROR_PATTERN = Pattern.compile("\\s*Error:\\s+Session\\s+name\\s.*not\\s+found"); //$NON-NLS-1$
- /**
- * Pattern to match introduction line of context list.
- */
- static final Pattern ADD_CONTEXT_HELP_CONTEXTS_INTRO = Pattern.compile("\\s*TYPE can\\s+be\\s+one\\s+of\\s+the\\s+strings\\s+below.*"); //$NON-NLS-1$
- /**
- * Pattern to match introduction line of context list.
- */
- static final Pattern ADD_CONTEXT_HELP_CONTEXTS_END_LINE = Pattern.compile("\\s*Example.*"); //$NON-NLS-1$
- /**
- * Pattern to match error line if no kernel tracer is available or installed.
- */
- static final Pattern LIST_KERNEL_NO_KERNEL_PROVIDER_PATTERN = Pattern.compile("\\s*Error:\\s+Unable\\s+to\\s+list\\s+kernel\\s+events.*"); //$NON-NLS-1$;
- /**
- * Pattern to match error line if no ust tracer is available or installed.
- */
- static final Pattern LIST_UST_NO_UST_PROVIDER_PATTERN = Pattern.compile(".*Unable\\s*to\\s*list\\s*UST\\s*event.*"); //$NON-NLS-1$;
- /**
- * Pattern to match for list snapshot information (lttng snapshot list-output)
- */
- static final Pattern LIST_SNAPSHOT_OUTPUT_PATTERN = Pattern.compile("\\s+\\[(\\d+)\\]\\s+(\\S*)\\:\\s+(\\S*)(.*)"); //$NON-NLS-1$
- /**
- * Pattern to match snapshot path for network tracing (lttng list <session>)
- * Note: file for protocol is not considered as network trace since local consumer will be used.
- */
- static final Pattern SNAPSHOT_NETWORK_PATH_PATTERN = Pattern.compile("(net|net4|net6|tcp|tcp4|tcp6)\\:\\/\\/(.*)(\\:(\\d*)\\/(.*)\\[data\\:\\s+(\\d*)\\]){0,1}"); //$NON-NLS-1$
-
-}
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/service/LTTngControlServiceFactory.java b/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/service/LTTngControlServiceFactory.java
deleted file mode 100644
index c5363e75dd..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/service/LTTngControlServiceFactory.java
+++ /dev/null
@@ -1,158 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2012, 2014 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:
- * Bernd Hufmann - Initial API and implementation
- * Jonathan Rajotte - machine interface support
- **********************************************************************/
-package org.eclipse.linuxtools.internal.lttng2.control.ui.views.service;
-
-import java.util.ArrayList;
-import java.util.List;
-import java.util.regex.Matcher;
-
-import org.eclipse.core.commands.ExecutionException;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.logging.ControlCommandLogger;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.messages.Messages;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.preferences.ControlPreferences;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.remote.ICommandResult;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.remote.ICommandShell;
-
-/**
- * Factory to create LTTngControlService instances depending on the version of
- * the LTTng Trace Control installed on the remote host.
- *
- * @author Bernd Hufmann
- */
-public class LTTngControlServiceFactory {
-
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
- /**
- * The singleton instance.
- */
- private static LTTngControlServiceFactory fInstance = null;
-
- // ------------------------------------------------------------------------
- // Constructor
- // ------------------------------------------------------------------------
- /**
- * Constructor
- */
- private LTTngControlServiceFactory() {
- }
-
- // ------------------------------------------------------------------------
- // Accessors
- // ------------------------------------------------------------------------
- /**
- * @return the LTTngControlServiceFactory singleton instance.
- */
- public static synchronized LTTngControlServiceFactory getInstance() {
- if (fInstance == null) {
- fInstance = new LTTngControlServiceFactory();
- }
- return fInstance;
- }
-
- // ------------------------------------------------------------------------
- // Factory method
- // ------------------------------------------------------------------------
- /**
- * Gets the LTTng Control Service implementation based on the version of the
- * remote LTTng Tools.
- *
- * @param shell
- * - the shell implementation to pass to the service
- * @return - LTTng Control Service implementation
- * @throws ExecutionException
- * If the command fails
- */
- public ILttngControlService getLttngControlService(ICommandShell shell) throws ExecutionException {
- // get the version
- boolean machineInterfaceMode = true;
- List<String> command = new ArrayList<>();
- command.add(LTTngControlServiceConstants.CONTROL_COMMAND);
- command.add(LTTngControlServiceConstants.COMMAND_VERSION);
-
- List<String> commandMi = new ArrayList<>();
- commandMi.add(LTTngControlServiceConstants.CONTROL_COMMAND);
- commandMi.add(LTTngControlServiceConstants.CONTROL_COMMAND_MI_OPTION);
- commandMi.add(LTTngControlServiceConstants.CONTROL_COMMAND_MI_XML);
- commandMi.add(LTTngControlServiceConstants.COMMAND_VERSION);
-
- // Logging
- if (ControlPreferences.getInstance().isLoggingEnabled()) {
- ControlCommandLogger.log(LTTngControlService.toCommandString(commandMi));
- }
-
- ICommandResult result = null;
-
- // Looking for a machine interface on LTTng side
- try {
- result = shell.executeCommand(commandMi, new NullProgressMonitor());
- } catch (ExecutionException e) {
- throw new ExecutionException(Messages.TraceControl_GettingVersionError, e);
- }
-
- // Output logging
- if (ControlPreferences.getInstance().isLoggingEnabled()) {
- ControlCommandLogger.log(LTTngControlService.formatOutput(result));
- }
-
- if (result.getResult() != 0) {
- machineInterfaceMode = false;
- // Fall back if no machine interface is present
-
- // Logging
- if (ControlPreferences.getInstance().isLoggingEnabled()) {
- ControlCommandLogger.log(LTTngControlService.toCommandString(command));
- }
-
- try {
- result = shell.executeCommand(command, new NullProgressMonitor());
- } catch (ExecutionException e) {
- throw new ExecutionException(Messages.TraceControl_GettingVersionError + ": " + e); //$NON-NLS-1$
- }
-
- // Output logging
- if (ControlPreferences.getInstance().isLoggingEnabled()) {
- ControlCommandLogger.log(LTTngControlService.formatOutput(result));
- }
- }
-
-
- if ((result != null) && (result.getResult() == 0) && (result.getOutput().length >= 1)) {
- if (machineInterfaceMode) {
- LTTngControlServiceMI service = new LTTngControlServiceMI(shell, LTTngControlService.class.getResource(LTTngControlServiceConstants.MI_XSD_FILENAME));
- service.setVersion(result.getOutput());
- return service;
- }
- int index = 0;
- while (index < result.getOutput().length) {
- String line = result.getOutput()[index];
- line = line.replace("-", "."); //$NON-NLS-1$//$NON-NLS-2$
- Matcher versionMatcher = LTTngControlServiceConstants.VERSION_PATTERN.matcher(line);
- if (versionMatcher.matches()) {
- String version = versionMatcher.group(1).trim();
- Matcher matcher = LTTngControlServiceConstants.VERSION_2_PATTERN.matcher(version);
- if (matcher.matches()) {
- LTTngControlService service = new LTTngControlService(shell);
- service.setVersion(version);
- return service;
- }
- throw new ExecutionException(Messages.TraceControl_UnsupportedVersionError + ": " + version); //$NON-NLS-1$
- }
- index++;
- }
- }
- throw new ExecutionException(Messages.TraceControl_GettingVersionError);
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/service/LTTngControlServiceMI.java b/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/service/LTTngControlServiceMI.java
deleted file mode 100644
index 80879ba2f3..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/service/LTTngControlServiceMI.java
+++ /dev/null
@@ -1,956 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2014 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:
- * Jonathan Rajotte - Initial support for machine interface lttng 2.6
- **********************************************************************/
-
-package org.eclipse.linuxtools.internal.lttng2.control.ui.views.service;
-
-import java.io.IOException;
-import java.io.StringReader;
-import java.math.BigInteger;
-import java.net.URL;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.regex.Matcher;
-
-import javax.xml.parsers.DocumentBuilder;
-import javax.xml.parsers.DocumentBuilderFactory;
-import javax.xml.parsers.ParserConfigurationException;
-
-import org.eclipse.core.commands.ExecutionException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.IBaseEventInfo;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.IChannelInfo;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.IDomainInfo;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.IEventInfo;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.IFieldInfo;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.IProbeEventInfo;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.ISessionInfo;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.ISnapshotInfo;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.IUstProviderInfo;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.LogLevelType;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.TraceDomainType;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.TraceEnablement;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.TraceEventType;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.TraceLogLevel;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.impl.BaseEventInfo;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.impl.BufferType;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.impl.ChannelInfo;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.impl.DomainInfo;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.impl.EventInfo;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.impl.FieldInfo;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.impl.ProbeEventInfo;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.impl.SessionInfo;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.impl.SnapshotInfo;
-import org.eclipse.linuxtools.internal.lttng2.control.core.model.impl.UstProviderInfo;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.handlers.XmlMiValidationErrorHandler;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.messages.Messages;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.remote.ICommandResult;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.remote.ICommandShell;
-import org.eclipse.osgi.util.NLS;
-import org.w3c.dom.Document;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-import org.xml.sax.InputSource;
-import org.xml.sax.SAXException;
-
-/**
- * Service for sending LTTng trace control commands to remote host via machine
- * interface mode.
- *
- * @author Jonathan Rajotte
- */
-public class LTTngControlServiceMI extends LTTngControlService {
-
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
-
- private final DocumentBuilder fDocumentBuilder;
-
- // ------------------------------------------------------------------------
- // Constructors
- // ------------------------------------------------------------------------
-
- /**
- * Constructor
- *
- * @param shell
- * the command shell implementation to use
- * @param xsdUrl
- * the xsd schema file for validation
- * @throws ExecutionException
- * if the creation of the Schema and DocumentBuilder objects
- * fails
- */
- public LTTngControlServiceMI(ICommandShell shell, URL xsdUrl) throws ExecutionException {
- super(shell);
-
- DocumentBuilderFactory docBuilderFactory = DocumentBuilderFactory.newInstance();
- docBuilderFactory.setValidating(false);
-
- // TODO: Add xsd validation for machine interface via mi_lttng.xsd from LTTng
- try {
- fDocumentBuilder = docBuilderFactory.newDocumentBuilder();
- } catch (ParserConfigurationException e) {
- throw new ExecutionException(Messages.TraceControl_XmlDocumentBuilderError, e);
- }
-
- fDocumentBuilder.setErrorHandler(new XmlMiValidationErrorHandler());
-
- }
-
- /**
- * Generate a Document object from an array of String.
- *
- * @param xmlStrings
- * array of strings representing an xml input
- * @return Document generated from strings input
- * @throws ExecutionException
- * when parsing has failed
- */
- private Document getDocumentFromStrings(String[] xmlStrings) throws ExecutionException {
- StringBuilder concatenedString = new StringBuilder();
- for (String string : xmlStrings) {
- concatenedString.append(string);
- }
- InputSource stream = new InputSource(new StringReader(concatenedString.toString()));
-
- Document document;
- try {
- document = fDocumentBuilder.parse(stream);
- } catch (SAXException | IOException e) {
- throw new ExecutionException(Messages.TraceControl_XmlParsingError, e);
- }
- return document;
-
- }
-
- /**
- * Parse, populate and set the internal LTTngVersion variable
- *
- * @param xmlOutput
- * the mi xml output of lttng version
- * @throws ExecutionException
- * when xml extraction fail
- */
- public void setVersion(String[] xmlOutput) throws ExecutionException {
- Document doc = getDocumentFromStrings(xmlOutput);
- NodeList element = doc.getElementsByTagName(MIStrings.VERSION);
- int major = 0;
- int minor = 0;
- int patchLevel = 0;
- String license = ""; //$NON-NLS-1$
- String commit = ""; //$NON-NLS-1$
- String name = ""; //$NON-NLS-1$
- String description = ""; //$NON-NLS-1$
- String url = ""; //$NON-NLS-1$
- String fullVersion = ""; //$NON-NLS-1$
- if (element.getLength() == 1) {
- NodeList child = element.item(0).getChildNodes();
- // Get basic information
- for (int i = 0; i < child.getLength(); i++) {
- Node node = child.item(i);
- switch (node.getNodeName()) {
- case MIStrings.VERSION_MAJOR:
- major = Integer.parseInt(node.getTextContent());
- break;
- case MIStrings.VERSION_MINOR:
- minor = Integer.parseInt(node.getTextContent());
- break;
- case MIStrings.VERSION_PATCH_LEVEL:
- patchLevel = Integer.parseInt(node.getTextContent());
- break;
- case MIStrings.VERSION_COMMIT:
- commit = node.getTextContent();
- break;
- case MIStrings.VERSION_DESCRIPTION:
- description = node.getTextContent();
- break;
- case MIStrings.VERSION_LICENSE:
- license = node.getTextContent();
- break;
- case MIStrings.VERSION_NAME:
- name = node.getTextContent();
- break;
- case MIStrings.VERSION_STR:
- fullVersion = node.getTextContent();
- break;
- case MIStrings.VERSION_WEB:
- url = node.getTextContent();
- break;
- default:
- break;
- }
- }
- setVersion(new LttngVersion(major, minor, patchLevel, license, commit, name, description, url, fullVersion));
- } else {
- throw new ExecutionException(Messages.TraceControl_UnsupportedVersionError);
- }
- }
-
- @Override
- public String[] getSessionNames(IProgressMonitor monitor) throws ExecutionException {
- List<String> command = createCommand(LTTngControlServiceConstants.COMMAND_LIST);
- ICommandResult result = executeCommand(command, monitor);
-
- Document doc = getDocumentFromStrings(result.getOutput());
-
- NodeList elements = doc.getElementsByTagName(MIStrings.NAME);
-
- ArrayList<String> retArray = new ArrayList<>();
- for (int i = 0; i < elements.getLength(); i++) {
- Node node = elements.item(i);
- if (node.getParentNode().getNodeName().equalsIgnoreCase(MIStrings.SESSION)) {
- retArray.add(node.getTextContent());
- }
- }
- return retArray.toArray(new String[retArray.size()]);
- }
-
- @Override
- public ISessionInfo getSession(String sessionName, IProgressMonitor monitor) throws ExecutionException {
- List<String> command = createCommand(LTTngControlServiceConstants.COMMAND_LIST, sessionName);
- ICommandResult result = executeCommand(command, monitor);
-
- ISessionInfo sessionInfo = new SessionInfo(sessionName);
- Document document = getDocumentFromStrings(result.getOutput());
-
- NodeList sessionsNode = document.getElementsByTagName(MIStrings.SESSION);
- // There should be only one session
- if (sessionsNode.getLength() != 1) {
- throw new ExecutionException(NLS.bind(Messages.TraceControl_MiInvalidNumberOfElementError, MIStrings.SESSION));
- }
-
- // Populate session information
- Node rawSession = sessionsNode.item(0);
- parseSession(sessionInfo, rawSession);
-
- // Fetch the snapshot info
- if (sessionInfo.isSnapshotSession()) {
- ISnapshotInfo snapshot = getSnapshotInfo(sessionName, monitor);
- sessionInfo.setSnapshotInfo(snapshot);
- }
-
- return sessionInfo;
- }
-
- /**
- * @param sessionInfo
- * @param rawSession
- * @throws ExecutionException
- */
- private void parseSession(ISessionInfo sessionInfo, Node rawSession) throws ExecutionException {
- if (!rawSession.getNodeName().equalsIgnoreCase(MIStrings.SESSION)) {
- throw new ExecutionException(Messages.TraceControl_MiInvalidElementError);
- }
- NodeList rawSessionInfos = rawSession.getChildNodes();
- for (int i = 0; i < rawSessionInfos.getLength(); i++) {
- Node rawInfo = rawSessionInfos.item(i);
- switch (rawInfo.getNodeName()) {
- case MIStrings.NAME:
- sessionInfo.setName(rawInfo.getTextContent());
- break;
- case MIStrings.PATH:
- sessionInfo.setSessionPath(rawInfo.getTextContent());
- break;
- case MIStrings.ENABLED:
- sessionInfo.setSessionState(rawInfo.getTextContent());
- break;
- case MIStrings.SNAPSHOT_MODE:
- if (rawInfo.getTextContent().equals(LTTngControlServiceConstants.TRUE_NUMERICAL)) {
- // real name will be set later
- ISnapshotInfo snapshotInfo = new SnapshotInfo(""); //$NON-NLS-1$
- sessionInfo.setSnapshotInfo(snapshotInfo);
- }
- break;
- case MIStrings.LIVE_TIMER_INTERVAL:
- // TODO : live mode not supported yet in TMF:lttng-control
- break;
- case MIStrings.DOMAINS:
- // Extract the domains node
- NodeList rawDomains = rawInfo.getChildNodes();
- IDomainInfo domain = null;
- for (int j = 0; j < rawDomains.getLength(); j++) {
- if (rawDomains.item(j).getNodeName().equalsIgnoreCase(MIStrings.DOMAIN)) {
- domain = parseDomain(rawDomains.item(j));
- sessionInfo.addDomain(domain);
- }
- }
- break;
- default:
- break;
- }
- }
-
- if (!sessionInfo.isSnapshotSession()) {
- Matcher matcher = LTTngControlServiceConstants.TRACE_NETWORK_PATTERN.matcher(sessionInfo.getSessionPath());
- if (matcher.matches()) {
- sessionInfo.setStreamedTrace(true);
- }
- }
- }
-
- /**
- * Parse a raw domain XML node to a IDomainInfo object
- *
- * @param rawDomain
- * a domain xml node
- * @return a populated {@link DomainInfo} object
- * @throws ExecutionException
- * when missing required xml element (type)
- */
- protected IDomainInfo parseDomain(Node rawDomain) throws ExecutionException {
- IDomainInfo domain = null;
- // Get the type
- Node rawType = getFirstOf(rawDomain.getChildNodes(), MIStrings.TYPE);
- if (rawType == null) {
- throw new ExecutionException(Messages.TraceControl_MiMissingRequiredError);
- }
- String rawTypeString = rawType.getTextContent().toLowerCase();
- TraceDomainType domainType = TraceDomainType.valueOfString(rawTypeString);
- switch (domainType) {
- case KERNEL:
- domain = new DomainInfo(Messages.TraceControl_KernelProviderDisplayName);
- domain.setIsKernel(true);
- break;
- case UST:
- domain = new DomainInfo(Messages.TraceControl_UstGlobalDomainDisplayName);
- domain.setIsKernel(false);
- break;
- case JUL:
- /**
- * TODO: Support for JUL JUL substructure and semantic is not the
- * same as a regular UST or Kernel Domain There is no channel under
- * JUL domain only events. The channel is activated in UST Channel
- */
- domain = new DomainInfo(Messages.TraceControl_JULDomainDisplayName);
- domain.setIsKernel(false);
- break;
- case UNKNOWN:
- domain = new DomainInfo(Messages.TraceControl_UnknownDomainDisplayName);
- domain.setIsKernel(false);
- break;
- default:
- throw new ExecutionException(Messages.TraceControl_MiInvalidElementError);
- }
-
- NodeList rawInfos = rawDomain.getChildNodes();
- for (int i = 0; i < rawInfos.getLength(); i++) {
- Node rawInfo = rawInfos.item(i);
- switch (rawInfo.getNodeName()) {
- case MIStrings.BUFFER_TYPE:
- BufferType bufferType = BufferType.valueOfString(rawInfo.getTextContent());
- domain.setBufferType(bufferType);
- break;
- case MIStrings.CHANNELS:
- ArrayList<IChannelInfo> channels = new ArrayList<>();
- parseChannels(rawInfo.getChildNodes(), channels);
- if (channels.size() > 0) {
- domain.setChannels(channels);
- }
- break;
- default:
- break;
- }
- }
-
- return domain;
- }
-
- /**
- * Parse a list of raw channel XML node into an ArrayList of IChannelInfo
- *
- * @param rawChannes
- * List of raw channel XML node
- * @param channels
- * the parsed channels list
- * @throws ExecutionException
- * when missing required xml element (type)
- */
- private static void parseChannels(NodeList rawChannels, ArrayList<IChannelInfo> channels) throws ExecutionException {
- IChannelInfo channel = null;
- for (int i = 0; i < rawChannels.getLength(); i++) {
- Node rawChannel = rawChannels.item(i);
- if (rawChannel.getNodeName().equalsIgnoreCase(MIStrings.CHANNEL)) {
- channel = new ChannelInfo(""); //$NON-NLS-1$
-
- // Populate the channel
- NodeList rawInfos = rawChannel.getChildNodes();
- Node rawInfo = null;
- for (int j = 0; j < rawInfos.getLength(); j++) {
- rawInfo = rawInfos.item(j);
- switch (rawInfo.getNodeName()) {
- case MIStrings.NAME:
- channel.setName(rawInfo.getTextContent());
- break;
- case MIStrings.ENABLED:
- channel.setState(TraceEnablement.valueOfString(rawInfo.getTextContent()));
- break;
- case MIStrings.EVENTS:
- List<IEventInfo> events = new ArrayList<>();
- getEventInfo(rawInfo.getChildNodes(), events);
- channel.setEvents(events);
- break;
- case MIStrings.ATTRIBUTES:
- NodeList rawAttributes = rawInfo.getChildNodes();
- for (int k = 0; k < rawAttributes.getLength(); k++) {
- Node attribute = rawAttributes.item(k);
- switch (attribute.getNodeName()) {
- case MIStrings.OVERWRITE_MODE:
- channel.setOverwriteMode(!LTTngControlServiceConstants.OVERWRITE_MODE_ATTRIBUTE_FALSE_MI.equalsIgnoreCase(attribute.getTextContent()));
- break;
- case MIStrings.SUBBUF_SIZE:
- channel.setSubBufferSize(Long.valueOf(attribute.getTextContent()));
- break;
- case MIStrings.NUM_SUBBUF:
- channel.setNumberOfSubBuffers(Integer.valueOf(attribute.getTextContent()));
- break;
- case MIStrings.SWITCH_TIMER_INTERVAL:
- channel.setSwitchTimer(Long.valueOf(attribute.getTextContent()));
- break;
- case MIStrings.READ_TIMER_INTERVAL:
- channel.setReadTimer(Long.valueOf(attribute.getTextContent()));
- break;
- case MIStrings.OUTPUT_TYPE:
- channel.setOutputType(attribute.getTextContent());
- break;
- case MIStrings.TRACEFILE_SIZE:
- channel.setMaxSizeTraceFiles(Integer.parseInt(attribute.getTextContent()));
- break;
- case MIStrings.TRACEFILE_COUNT:
- channel.setMaxNumberTraceFiles(Integer.parseInt(attribute.getTextContent()));
- break;
- case MIStrings.LIVE_TIMER_INTERVAL:
- // TODO: currently not supported by tmf
- break;
- default:
- break;
- }
- }
- break;
- default:
- break;
- }
- }
- channels.add(channel);
- }
- }
-
- }
-
- @Override
- public ISnapshotInfo getSnapshotInfo(String sessionName, IProgressMonitor monitor) throws ExecutionException {
- // TODO A session can have multiple snapshot output. This need to be
- // supported in the future.
- // Currently the SessionInfo object does not support multiple snashot
- // output.
- // For now only keep the last one.
- List<String> command = createCommand(LTTngControlServiceConstants.COMMAND_SNAPSHOT, LTTngControlServiceConstants.COMMAND_LIST_SNAPSHOT_OUTPUT, LTTngControlServiceConstants.OPTION_SESSION, sessionName);
- ICommandResult result = executeCommand(command, monitor);
- Document doc = getDocumentFromStrings(result.getOutput());
- NodeList rawSnapshotsOutputs = doc.getElementsByTagName(MIStrings.SNAPSHOT_OUTPUTS);
-
- ISnapshotInfo snapshotInfo = new SnapshotInfo(""); //$NON-NLS-1$
-
- // TODO: tmf does not have a notion of a ctrl url.
- for (int i = 0; i < rawSnapshotsOutputs.getLength(); i++) {
- NodeList rawSnapshotOutput = rawSnapshotsOutputs.item(i).getChildNodes();
- for (int j = 0; j < rawSnapshotOutput.getLength(); j++) {
- Node rawInfo = rawSnapshotOutput.item(j);
- switch (rawInfo.getNodeName()) {
- case MIStrings.ID:
- snapshotInfo.setId(Integer.parseInt(rawInfo.getTextContent()));
- break;
- case MIStrings.NAME:
- snapshotInfo.setName(rawInfo.getTextContent());
- break;
- case MIStrings.SNAPSHOT_CTRL_URL:
- // The use of the ctrl_url for the snapshot path is to assure
- // basic support. Refactoring is necessary in lttng and
- // tmf side.
- // See http://bugs.lttng.org/issues/828 (+comment)
- snapshotInfo.setSnapshotPath(rawInfo.getTextContent());
- break;
- default:
- break;
- }
- }
- }
-
- // Check if the snapshot output is Streamed
- Matcher matcher2 = LTTngControlServiceConstants.TRACE_NETWORK_PATTERN.matcher(snapshotInfo.getSnapshotPath());
- if (matcher2.matches()) {
- snapshotInfo.setStreamedSnapshot(true);
- }
-
- return snapshotInfo;
- }
-
- @Override
- public List<IBaseEventInfo> getKernelProvider(IProgressMonitor monitor) throws ExecutionException {
- List<String> command = createCommand(LTTngControlServiceConstants.COMMAND_LIST, LTTngControlServiceConstants.OPTION_KERNEL);
- ICommandResult result = executeCommand(command, monitor, false);
- List<IBaseEventInfo> events = new ArrayList<>();
-
- if (isError(result) && result.getErrorOutput() != null) {
- // Ignore the following 2 cases:
- // Spawning a session daemon
- // Error: Unable to list kernel events
- // or:
- // Error: Unable to list kernel events
- if (ignoredPattern(result.getErrorOutput(), LTTngControlServiceConstants.LIST_KERNEL_NO_KERNEL_PROVIDER_PATTERN)) {
- return events;
- }
- throw new ExecutionException(Messages.TraceControl_CommandError + toCommandString(command));
- }
-
- Document document = getDocumentFromStrings(result.getOutput());
- NodeList rawEvents = document.getElementsByTagName(MIStrings.EVENT);
- getBaseEventInfo(rawEvents, events);
- return events;
- }
-
- @Override
- public List<IUstProviderInfo> getUstProvider(IProgressMonitor monitor) throws ExecutionException {
- List<String> command = createCommand(LTTngControlServiceConstants.COMMAND_LIST, LTTngControlServiceConstants.OPTION_UST);
- // Get the field to
- command.add(LTTngControlServiceConstants.OPTION_FIELDS);
-
- // Execute
- ICommandResult result = executeCommand(command, monitor, false);
- List<IUstProviderInfo> allProviders = new ArrayList<>();
-
- if (isError(result) && result.getErrorOutput() != null) {
- // Ignore the following 2 cases:
- // Spawning a session daemon
- // Error: Unable to list UST events: Listing UST events failed
- // or:
- // Error: Unable to list UST events: Listing UST events failed
- if (ignoredPattern(result.getErrorOutput(), LTTngControlServiceConstants.LIST_UST_NO_UST_PROVIDER_PATTERN)) {
- return allProviders;
- }
- throw new ExecutionException(Messages.TraceControl_CommandError + toCommandString(command));
- }
-
- Document document = getDocumentFromStrings(result.getOutput());
- NodeList rawProviders = document.getElementsByTagName(MIStrings.PID);
-
- IUstProviderInfo providerInfo = null;
-
- for (int i = 0; i < rawProviders.getLength(); i++) {
- Node provider = rawProviders.item(i);
- Node name = getFirstOf(provider.getChildNodes(), MIStrings.NAME);
- if (name == null) {
- throw new ExecutionException(Messages.TraceControl_MiInvalidProviderError);
- }
- providerInfo = new UstProviderInfo(name.getTextContent());
-
- // Populate provider
- NodeList infos = provider.getChildNodes();
- for (int j = 0; j < infos.getLength(); j++) {
- Node info = infos.item(j);
- switch (info.getNodeName()) {
- case MIStrings.PID_ID:
- providerInfo.setPid(Integer.parseInt(info.getTextContent()));
- break;
- case MIStrings.EVENTS:
- List<IBaseEventInfo> events = new ArrayList<>();
- NodeList rawEvents = info.getChildNodes();
- getBaseEventInfo(rawEvents, events);
- providerInfo.setEvents(events);
- break;
- default:
- break;
- }
- }
- allProviders.add(providerInfo);
- }
-
- return allProviders;
- }
-
- @Override
- public ISessionInfo createSession(ISessionInfo sessionInfo, IProgressMonitor monitor) throws ExecutionException {
- if (sessionInfo.isStreamedTrace()) {
- return createStreamedSession(sessionInfo, monitor);
- }
-
- List<String> command = prepareSessionCreationCommand(sessionInfo);
-
- ICommandResult result = executeCommand(command, monitor);
-
- Document document = getDocumentFromStrings(result.getOutput());
- NodeList sessions = document.getElementsByTagName(MIStrings.SESSION);
-
- // Number of session should be equal to 1
- if (sessions.getLength() != 1) {
- throw new ExecutionException(Messages.TraceControl_CommandError + " " + command + "\n" //$NON-NLS-1$//$NON-NLS-2$
- + NLS.bind(Messages.TraceControl_UnexpectedNumberOfElementError, MIStrings.SESSION) + " " + sessions.getLength()); //$NON-NLS-1$
- }
-
- // Fetch a session from output
- ISessionInfo outputSession = new SessionInfo(""); //$NON-NLS-1$
- parseSession(outputSession, sessions.item(0));
-
- // Verify session name
- if ((outputSession.getName().equals("")) || (!"".equals(sessionInfo.getName()) && !outputSession.getName().equals(sessionInfo.getName()))) { //$NON-NLS-1$ //$NON-NLS-2$
- // Unexpected name returned
- throw new ExecutionException(Messages.TraceControl_CommandError + " " + command + "\n" + //$NON-NLS-1$ //$NON-NLS-2$
- Messages.TraceControl_UnexpectedNameError + ": " + outputSession.getName()); //$NON-NLS-1$
- }
-
- // Verify session path
- if (!sessionInfo.isSnapshotSession() &&
- ((outputSession.getSessionPath() == null) || ((sessionInfo.getSessionPath() != null) && (!outputSession.getSessionPath().contains(sessionInfo.getSessionPath()))))) {
- // Unexpected path
- throw new ExecutionException(Messages.TraceControl_CommandError + " " + command + "\n" + //$NON-NLS-1$ //$NON-NLS-2$
- Messages.TraceControl_UnexpectedPathError + ": " + outputSession.getName()); //$NON-NLS-1$
- }
-
- if (sessionInfo.isSnapshotSession()) {
- // Make it a snapshot session - content of snapshot info need to
- // set afterwards using getSession() or getSnapshotInfo()
- outputSession.setSnapshotInfo(new SnapshotInfo("")); //$NON-NLS-1$
- }
-
- return outputSession;
- }
-
- private ISessionInfo createStreamedSession(ISessionInfo sessionInfo, IProgressMonitor monitor) throws ExecutionException {
-
- List<String> command = prepareStreamedSessionCreationCommand(sessionInfo);
-
- ICommandResult result = executeCommand(command, monitor);
-
- Document document = getDocumentFromStrings(result.getOutput());
- NodeList sessions = document.getElementsByTagName(MIStrings.SESSION);
-
- // Number of session should be equal to 1
- if (sessions.getLength() != 1) {
- throw new ExecutionException(Messages.TraceControl_CommandError + " " + command + "\n" //$NON-NLS-1$//$NON-NLS-2$
- + NLS.bind(Messages.TraceControl_UnexpectedNumberOfElementError, MIStrings.SESSION) + " " + sessions.getLength()); //$NON-NLS-1$
- }
-
- // Fetch a session from output
- ISessionInfo outputSession = new SessionInfo(""); //$NON-NLS-1$
- parseSession(outputSession, sessions.item(0));
-
- // Verify session name
- if ((outputSession.getName().equals("")) || (!"".equals(sessionInfo.getName()) && !outputSession.getName().equals(sessionInfo.getName()))) { //$NON-NLS-1$ //$NON-NLS-2$
- // Unexpected name returned
- throw new ExecutionException(Messages.TraceControl_CommandError + " " + command + "\n" + //$NON-NLS-1$ //$NON-NLS-2$
- Messages.TraceControl_UnexpectedNameError + ": " + outputSession.getName()); //$NON-NLS-1$
- }
-
- sessionInfo.setName(outputSession.getName());
- sessionInfo.setStreamedTrace(true);
-
- // Verify session path
- if (sessionInfo.getNetworkUrl() != null) {
- if (!sessionInfo.isSnapshotSession() && (outputSession.getSessionPath() == null)) {
- // Unexpected path
- throw new ExecutionException(Messages.TraceControl_CommandError + " " + command + "\n" + //$NON-NLS-1$ //$NON-NLS-2$
- Messages.TraceControl_UnexpectedPathError + ": " + outputSession.getName()); //$NON-NLS-1$
- }
-
- if (sessionInfo.isSnapshotSession()) {
- sessionInfo.setStreamedTrace(false);
- } else {
- sessionInfo.setSessionPath(outputSession.getSessionPath());
- // Check file protocol
- Matcher matcher = LTTngControlServiceConstants.TRACE_FILE_PROTOCOL_PATTERN.matcher(outputSession.getSessionPath());
- if (matcher.matches()) {
- sessionInfo.setStreamedTrace(false);
- }
- }
- }
-
- // When using controlUrl and dataUrl the full session path is not known
- // yet
- // and will be set later on when listing the session
- return sessionInfo;
-
- }
-
- @Override
- public void destroySession(String sessionName, IProgressMonitor monitor) throws ExecutionException {
- List<String> command = createCommand(LTTngControlServiceConstants.COMMAND_DESTROY_SESSION, sessionName);
-
- ICommandResult result = executeCommand(command, monitor, false);
- String[] errorOutput = result.getErrorOutput();
-
- if (isError(result) && (errorOutput != null)) {
- // Don't treat this as an error
- if (ignoredPattern(errorOutput, LTTngControlServiceConstants.SESSION_NOT_FOUND_ERROR_PATTERN)) {
- return;
-
- }
- throw new ExecutionException(Messages.TraceControl_CommandError + " " + toCommandString(command) + "\n" + formatOutput(result)); //$NON-NLS-1$ //$NON-NLS-2$
- }
-
- // Check for action effect
- Document doc = getDocumentFromStrings(result.getOutput());
- NodeList sessions = doc.getElementsByTagName(MIStrings.SESSION);
- if (sessions.getLength() != 1) {
- throw new ExecutionException(NLS.bind(Messages.TraceControl_MiInvalidNumberOfElementError, MIStrings.SESSION));
- }
-
- Node rawSessionName = getFirstOf(sessions.item(0).getChildNodes(), MIStrings.NAME);
- if (rawSessionName == null) {
- throw new ExecutionException(Messages.TraceControl_MiMissingRequiredError);
- }
-
- // Validity check
- if (!rawSessionName.getTextContent().equals(sessionName)) {
- throw new ExecutionException(NLS.bind(Messages.TraceControl_UnexpectedValueError, rawSessionName.getTextContent(), sessionName));
- }
- }
-
- /**
- * @param strings
- * array of string that make up a command line
- * @return string buffer with created command line
- */
- @Override
- protected List<String> createCommand(String... strings) {
- List<String> command = new ArrayList<>();
- command.add(LTTngControlServiceConstants.CONTROL_COMMAND);
- command.add(LTTngControlServiceConstants.CONTROL_COMMAND_MI_OPTION);
- command.add(LTTngControlServiceConstants.CONTROL_COMMAND_MI_XML);
- String groupOption = getTracingGroupOption();
- if (!groupOption.isEmpty()) {
- command.add(groupOption);
- }
- for (String string : strings) {
- command.add(string);
- }
- return command;
- }
-
- /**
- * @param xmlBaseEvents
- * a Node list of base xml event element
- * @param events
- * list of event generated by the parsing of the xml event
- * element
- * @throws ExecutionException
- * when a raw event is not a complete/valid xml event
- */
- private static void getBaseEventInfo(NodeList xmlBaseEvents, List<IBaseEventInfo> events) throws ExecutionException {
- IBaseEventInfo eventInfo = null;
- for (int i = 0; i < xmlBaseEvents.getLength(); i++) {
- NodeList rawInfos = xmlBaseEvents.item(i).getChildNodes();
- // Search for name
- if (xmlBaseEvents.item(i).getNodeName().equalsIgnoreCase(MIStrings.EVENT)) {
- Node rawName = getFirstOf(rawInfos, MIStrings.NAME);
- if (rawName == null) {
- throw new ExecutionException(Messages.TraceControl_MiMissingRequiredError);
- }
- eventInfo = new BaseEventInfo(rawName.getTextContent());
-
- // Populate the event
- for (int j = 0; j < rawInfos.getLength(); j++) {
- Node infoNode = rawInfos.item(j);
- switch (infoNode.getNodeName()) {
- case MIStrings.TYPE:
- eventInfo.setEventType(infoNode.getTextContent());
- break;
- case MIStrings.LOGLEVEL:
- eventInfo.setLogLevel(infoNode.getTextContent());
- break;
- case MIStrings.EVENT_FIELDS:
- List<IFieldInfo> fields = new ArrayList<>();
- getFieldInfo(infoNode.getChildNodes(), fields);
- eventInfo.setFields(fields);
- break;
- default:
- break;
- }
- }
- events.add(eventInfo);
- }
- }
- }
-
- /**
- * @param xmlBaseEvents
- * a Node list of xml event element linked to a session
- * @param events
- * list of event generated by the parsing of the xml event
- * element
- * @throws ExecutionException
- * when a raw event is not a complete/valid xml event
- */
- static void getEventInfo(NodeList xmlEvents, List<IEventInfo> events) throws ExecutionException {
- IEventInfo eventInfo = null;
- for (int i = 0; i < xmlEvents.getLength(); i++) {
- NodeList rawInfos = xmlEvents.item(i).getChildNodes();
- // Search for name
- if (xmlEvents.item(i).getNodeName().equalsIgnoreCase(MIStrings.EVENT)) {
- Node rawName = getFirstOf(rawInfos, MIStrings.NAME);
- if (rawName == null) {
- throw new ExecutionException(Messages.TraceControl_MiMissingRequiredError);
- }
-
- eventInfo = new EventInfo(rawName.getTextContent());
-
- // Basic information
- for (int j = 0; j < rawInfos.getLength(); j++) {
- Node infoNode = rawInfos.item(j);
- switch (infoNode.getNodeName()) {
- case MIStrings.TYPE:
- eventInfo.setEventType(infoNode.getTextContent());
- break;
- case MIStrings.LOGLEVEL_TYPE:
- eventInfo.setLogLevelType(LogLevelType.valueOfString(infoNode.getTextContent()));
- break;
- case MIStrings.LOGLEVEL:
- eventInfo.setLogLevel(TraceLogLevel.valueOfString(infoNode.getTextContent()));
- break;
- case MIStrings.ENABLED:
- eventInfo.setState(TraceEnablement.valueOfString(infoNode.getTextContent()));
- break;
- case MIStrings.FILTER:
- // TODO
- // See bug 334 http://bugs.lttng.org/issues/334 from
- // LTTng
- // For now we emulate the non-mi behavior and simply put
- // "with filter"
- eventInfo.setFilterExpression("with filter"); //$NON-NLS-1$
- break;
- case MIStrings.EXCLUSION:
- // TODO: Currently not supported by tmf
- // ExclusionS element is ignored
- break;
- default:
- break;
- }
- }
-
- boolean isProbeFunction = (eventInfo.getEventType().equals(TraceEventType.PROBE)) || (eventInfo.getEventType().equals(TraceEventType.FUNCTION));
- if (isProbeFunction) {
- IProbeEventInfo probeEvent = new ProbeEventInfo(eventInfo);
- eventInfo = probeEvent;
-
- Node rawDataNode = null;
- switch (probeEvent.getEventType()) {
- case FUNCTION:
- case PROBE: {
- // get attributes
- Node rawAttributes = getFirstOf(rawInfos, MIStrings.ATTRIBUTES);
- if (rawAttributes == null) {
- throw new ExecutionException(Messages.TraceControl_MiMissingRequiredError);
- }
- rawDataNode = getFirstOf(rawAttributes.getChildNodes(), MIStrings.PROBE_ATTRIBUTES);
- break;
- }
- case SYSCALL:
- case TRACEPOINT:
- case UNKNOWN:
- default:
- throw new ExecutionException(Messages.TraceControl_MiInvalidElementError);
- }
-
- if (rawDataNode == null) {
- throw new ExecutionException(Messages.TraceControl_MiInvalidElementError);
- }
-
- // Extract info
- NodeList rawDatas = rawDataNode.getChildNodes();
- for (int j = 0; j < rawDatas.getLength(); j++) {
- Node rawData = rawDatas.item(j);
- switch (rawData.getNodeName()) {
- case MIStrings.SYMBOL_NAME:
- probeEvent.setSymbol(rawData.getTextContent());
- break;
- case MIStrings.ADDRESS:
- probeEvent.setAddress(String.format("%#016x", new BigInteger(rawData.getTextContent()))); //$NON-NLS-1$
- break;
- case MIStrings.OFFSET:
- probeEvent.setOffset(String.format("%#016x", new BigInteger(rawData.getTextContent()))); //$NON-NLS-1$
- break;
- default:
- break;
- }
- }
- }
-
- // Syscalls does not have name.
- // Let put one to make sure this is user friendly via UI
- if (eventInfo.getEventType().equals(TraceEventType.SYSCALL)) {
- eventInfo.setName(TraceEventType.SYSCALL.getInName());
- }
-
- // Add the event
- events.add(eventInfo);
- }
- }
- }
-
- /**
- * @param fieldsList
- * a list of xml event_field element
- * @param fields
- * a list of field generated by xml parsing
- * @throws ExecutionException
- * when parsing fail or required elements are missing
- */
- private static void getFieldInfo(NodeList fieldsList, List<IFieldInfo> fields) throws ExecutionException {
- IFieldInfo fieldInfo = null;
- for (int i = 0; i < fieldsList.getLength(); i++) {
- Node field = fieldsList.item(i);
- if (field.getNodeName().equalsIgnoreCase(MIStrings.EVENT_FIELD)) {
- // Get name
- Node name = getFirstOf(field.getChildNodes(), MIStrings.NAME);
- if (name == null) {
- throw new ExecutionException(Messages.TraceControl_MiMissingRequiredError);
- }
- fieldInfo = new FieldInfo(name.getTextContent());
-
- // Populate the field information
- NodeList infos = field.getChildNodes();
- for (int j = 0; j < infos.getLength(); j++) {
- Node info = infos.item(j);
- switch (info.getNodeName()) {
- case MIStrings.TYPE:
- fieldInfo.setFieldType(info.getTextContent());
- break;
- default:
- break;
- }
- }
- fields.add(fieldInfo);
- }
- }
- }
-
- /**
- * Retrieve the fist instance of a given node with tag name equal to tagName
- * parameter
- *
- * @param nodeList
- * the list of Node to search against
- * @param tagName
- * the tag name of the desired node
- * @return the first occurrence of a node with a tag name equals to tagName
- */
- private static Node getFirstOf(NodeList nodeList, String tagName) {
- Node node = null;
- for (int i = 0; i < nodeList.getLength(); i++) {
- if (nodeList.item(i).getNodeName() == tagName) {
- node = nodeList.item(i);
- break;
- }
- }
- return node;
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/service/LttngVersion.java b/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/service/LttngVersion.java
deleted file mode 100644
index f992efb19e..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/service/LttngVersion.java
+++ /dev/null
@@ -1,152 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2013, 2014 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:
- * Bernd Hufmann - Initial API and implementation
- * Jonathan Rajotte - Machine interface support and new information
- **********************************************************************/
-
-package org.eclipse.linuxtools.internal.lttng2.control.ui.views.service;
-
-import org.osgi.framework.Version;
-
-/**
- * A version implementation with a special compareTo implementation to bypass
- * problems of older implementation of org.osgi.framework.Version.
- *
- * @author Bernd Hufmann
- */
-public class LttngVersion extends Version {
-
- private final String fLicense;
- private final String fCommit;
- private final String fName;
- private final String fDescription;
- private final String fUrl;
- private final String fFullVersion;
-
- /**
- * Constructor
- *
- * @param version
- * The version string
- */
- public LttngVersion(String version) {
- super(version);
- fLicense = ""; //$NON-NLS-1$
- fCommit = ""; //$NON-NLS-1$
- fName = ""; //$NON-NLS-1$
- fDescription = ""; //$NON-NLS-1$
- fUrl = ""; //$NON-NLS-1$
- fFullVersion = ""; //$NON-NLS-1$
- }
-
- /**
- * @param major
- * major version number
- * @param minor
- * minor version number
- * @param micro
- * micro version number
- * @param license
- * licence text of LTTng
- * @param commit
- * current git commit information about LTTng
- * @param name
- * name of the version
- * @param description
- * description of the version
- * @param url
- * url to website
- * @param fullVersion
- * complete string representation of the version
- */
- public LttngVersion(int major, int minor, int micro, String license, String commit, String name, String description, String url, String fullVersion) {
- super(major, minor, micro);
- fLicense = license;
- fCommit = commit;
- fName = name;
- fDescription = description;
- fUrl = url;
- fFullVersion = fullVersion;
- }
-
- /**
- * Special compareTo method to fix problem of older implementations of
- * org.osgi.framework.Version where {@code Version.compareTo} takes an
- * {@code Object} instead a {@code Version} as argument.
- *
- * @param other
- * - Other version to compare
- * @return a negative integer, zero, or a positive integer if this version
- * is less than, equal to, or greater than the specified
- * {@code LttngVersion} object.
- */
- public int compareTo(LttngVersion other) {
- if (other == this) { // quicktest
- return 0;
- }
- int result = getMajor() - other.getMajor();
- if (result != 0) {
- return result;
- }
-
- result = getMinor() - other.getMinor();
- if (result != 0) {
- return result;
- }
-
- result = getMicro() - other.getMicro();
- if (result != 0) {
- return result;
- }
- return getQualifier().compareTo(other.getQualifier());
- }
-
- /**
- * @return String representing the lttng license
- */
- public String getLicense() {
- return fLicense;
- }
-
- /**
- * @return commit id of lttng
- */
- public String getCommit() {
- return fCommit;
- }
-
- /**
- * @return name of lttng version
- */
- public String getName() {
- return fName;
- }
-
- /**
- * @return full description of lttng
- */
- public String getDescription() {
- return fDescription;
- }
-
- /**
- * @return url of lttng
- */
- public String getUrl() {
- return fUrl;
- }
-
- /**
- * @return the full_version
- */
- public String getFullVersion() {
- return fFullVersion;
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/service/MIStrings.java b/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/service/MIStrings.java
deleted file mode 100644
index 3d79248ec7..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/service/MIStrings.java
+++ /dev/null
@@ -1,576 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 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:
- * Jonathan Rajotte Julien - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.internal.lttng2.control.ui.views.service;
-
-import org.eclipse.jdt.annotation.NonNullByDefault;
-
-/**
- * Non-externalized strings for use with the LTTng Control services. This
- * nformation is extracted from mi_lttng.xsd from lttng-tool libmi.
- *
- * @author Jonathan Rajotte
- */
-@SuppressWarnings("nls")
-@NonNullByDefault
-public interface MIStrings {
-
- /**
- * Represent the command_action xml element
- */
- String COMMAND_ACTION = "snapshot_action";
-
- /**
- * Represent the command_add_context xml element
- */
- String COMMAND_ADD_CONTEXT = "add-context";
-
- /**
- * Represent the command_calibrate xml element
- */
- String COMMAND_CALIBRATE = "calibrate";
-
- /**
- * Represent the command_create xml element
- */
- String COMMAND_CREATE = "create";
-
- /**
- * Represent the command_destroy xml element
- */
- String COMMAND_DESTROY = "destroy";
-
- /**
- * Represent the command_disable_channel xml element
- */
- String COMMAND_DISABLE_CHANNEL = "disable-channel";
-
- /**
- * Represent the command_disable_event xml element
- */
- String COMMAND_DISABLE_EVENT = "disable-event";
-
- /**
- * Represent the command_enable_channels xml element
- */
- String COMMAND_ENABLE_CHANNELS = "enable-channel";
-
- /**
- * Represent the command_enable_event xml element
- */
- String COMMAND_ENABLE_EVENT = "enable-event";
-
- /**
- * Represent the command_list xml element
- */
- String COMMAND_LIST = "list";
-
- /**
- * Represent the command_load xml element
- */
- String COMMAND_LOAD = "load";
-
- /**
- * Represent the command_name xml element
- */
- String COMMAND_NAME = "name";
-
- /**
- * Represent the command_output xml element
- */
- String COMMAND_OUTPUT = "output";
-
- /**
- * Represent the command_save xml element
- */
- String COMMAND_SAVE = "save";
-
- /**
- * Represent the command_set_session xml element
- */
- String COMMAND_SET_SESSION = "set-session";
-
- /**
- * Represent the command_snapshot xml element
- */
- String COMMAND_SNAPSHOT = "snapshot";
-
- /**
- * Represent the command_snapshot_add xml element
- */
- String COMMAND_SNAPSHOT_ADD = "add_snapshot";
-
- /**
- * Represent the command_snapshot_del xml element
- */
- String COMMAND_SNAPSHOT_DEL = "del_snapshot";
-
- /**
- * Represent the command_snapshot_list xml element
- */
- String COMMAND_SNAPSHOT_LIST = "list_snapshot";
-
- /**
- * Represent the command_snapshot_record xml element
- */
- String COMMAND_SNAPSHOT_RECORD = "record_snapshot";
-
- /**
- * Represent the command_start xml element
- */
- String COMMAND_START = "start";
-
- /**
- * Represent the command_stop xml element
- */
- String COMMAND_STOP = "stop";
-
- /**
- * Represent the command_success xml element
- */
- String COMMAND_SUCCESS = "success";
-
- /**
- * Represent the command_version xml element
- */
- String COMMAND_VERSION = "version";
-
- /**
- * Represent the version xml element
- */
- String VERSION = "version";
-
- /**
- * Represent the version_commit xml element
- */
- String VERSION_COMMIT = "commit";
-
- /**
- * Represent the version_description xml element
- */
- String VERSION_DESCRIPTION = "description";
-
- /**
- * Represent the version_license xml element
- */
- String VERSION_LICENSE = "license";
-
- /**
- * Represent the version_major xml element
- */
- String VERSION_MAJOR = "major";
-
- /**
- * Represent the version_minor xml element
- */
- String VERSION_MINOR = "minor";
-
- /**
- * Represent the version_patch_level xml element
- */
- String VERSION_PATCH_LEVEL = "patchLevel";
-
- /**
- * Represent the version_str xml element
- */
- String VERSION_STR = "string";
-
- /**
- * Represent the version_web xml element
- */
- String VERSION_WEB = "url";
-
- /**
- * Represent the version_name xml element
- */
- String VERSION_NAME = "name";
- /* String related to a lttng_event_field */
-
- /**
- * Represent the event_field xml element
- */
- String EVENT_FIELD = "event_field";
-
- /**
- * Represent the event_fields xml element
- */
- String EVENT_FIELDS = "event_fields";
-
- /**
- * Represent the perf_counter_context xml element
- */
- String PERF_COUNTER_CONTEXT = "perf_counter_context";
-
- // ------------------------------------------------------------------------
- // String related to pid
- // ------------------------------------------------------------------------/
-
- /**
- * Represent the pids xml element
- */
- String PIDS = "pids";
-
- /**
- * Represent the pid xml element
- */
- String PID = "pid";
-
- /**
- * Represent the pid_id xml element
- */
- String PID_ID = "id";
-
- // ------------------------------------------------------------------------
- // String related to save command
- // ------------------------------------------------------------------------
- /**
- * Represent the save xml element
- */
- String SAVE = "save";
-
- // ------------------------------------------------------------------------
- // String related to load command
- // ------------------------------------------------------------------------
- /**
- * Represent the load xml element
- */
- String LOAD = "load";
-
- // ------------------------------------------------------------------------
- // String related to general element of mi_lttng
- // ------------------------------------------------------------------------
- /**
- * Represent the empty xml element
- */
- String EMPTY = "";
-
- /**
- * Represent the id xml element
- */
- String ID = "id";
-
- /**
- * Represent the nowrite xml element
- */
- String NOWRITE = "nowrite";
-
- /**
- * Represent the success xml element
- */
- String SUCCESS = "success";
-
- /**
- * Represent the type_enum xml element
- */
- String TYPE_ENUM = "ENUM";
-
- /**
- * Represent the type_float xml element
- */
- String TYPE_FLOAT = "FLOAT";
-
- /**
- * Represent the type_integer xml element
- */
- String TYPE_INTEGER = "INTEGER";
-
- /**
- * Represent the type_other xml element
- */
- String TYPE_OTHER = "OTHER";
-
- /**
- * Represent the type_string xml element
- */
- String TYPE_STRING = "STRING";
-
- // ------------------------------------------------------------------------
- // String related to lttng_calibrate
- // ------------------------------------------------------------------------
- /**
- * Represent the calibrate xml element
- */
- String CALIBRATE = "calibrate";
-
- /**
- * Represent the calibrate_function xml element
- */
- String CALIBRATE_FUNCTION = "FUNCTION";
-
- // ------------------------------------------------------------------------
- // String related to a lttng_snapshot_output
- // ------------------------------------------------------------------------
- /**
- * Represent the snapshot_ctrl_url xml element
- */
- String SNAPSHOT_CTRL_URL = "ctrl_url";
-
- /**
- * Represent the snapshot_data_url xml element
- */
- String SNAPSHOT_DATA_URL = "data_url";
-
- /**
- * Represent the snapshot_max_size xml element
- */
-
- String SNAPSHOT_MAX_SIZE = "max_size";
-
- /**
- * Represent the snapshot_n_ptr xml element
- */
- String SNAPSHOT_N_PTR = "n_ptr";
-
- /**
- * Represent the snapshot_session_name xml element
- */
- String SNAPSHOT_SESSION_NAME = "session_name";
-
- /**
- * Represent the snapshots xml element
- */
- String SNAPSHOTS = "snapshots";
- /**
- * Represent the channel xml element
- */
- String CHANNEL = "channel";
-
- /**
- * Represent the channels xml element
- */
- String CHANNELS = "channels";
-
- /**
- * Represent the domain xml element
- */
- String DOMAIN = "domain";
-
- /**
- * Represent the domains xml element
- */
- String DOMAINS = "domains";
-
- /**
- * Represent the event xml element
- */
- String EVENT = "event";
-
- /**
- * Represent the events xml element
- */
- String EVENTS = "events";
-
- /**
- * Represent the context xml element
- */
- String CONTEXT = "context";
-
- /**
- * Represent the contexts xml element
- */
- String CONTEXTS = "contexts";
-
- /**
- * Represent the attributes xml element
- */
- String ATTRIBUTES = "attributes";
-
- /**
- * Represent the exclusion xml element
- */
- String EXCLUSION = "exclusion";
-
- /**
- * Represent the exclusions xml element
- */
- String EXCLUSIONS = "exclusions";
-
- /**
- * Represent the function_attributes xml element
- */
- String FUNCTION_ATTRIBUTES = "function_attributes";
-
- /**
- * Represent the probe_attributes xml element
- */
- String PROBE_ATTRIBUTES = "probe_attributes";
-
- /**
- * Represent the symbol_name xml element
- */
- String SYMBOL_NAME = "symbol_name";
-
- /**
- * Represent the address xml element
- */
- String ADDRESS = "address";
-
- /**
- * Represent the offset xml element
- */
- String OFFSET = "offset";
-
- /**
- * Represent the name xml element
- */
- String NAME = "name";
-
- /**
- * Represent the enabled xml element
- */
- String ENABLED = "enabled";
-
- /**
- * Represent the overwrite_mode xml element
- */
- String OVERWRITE_MODE = "overwrite_mode";
-
- /**
- * Represent the subbuf_size xml element
- */
- String SUBBUF_SIZE = "subbuffer_size";
-
- /**
- * Represent the num_subbuf xml element
- */
- String NUM_SUBBUF = "subbuffer_count";
-
- /**
- * Represent the switch_timer_interval xml element
- */
- String SWITCH_TIMER_INTERVAL = "switch_timer_interval";
-
- /**
- * Represent the read_timer_interval xml element
- */
- String READ_TIMER_INTERVAL = "read_timer_interval";
-
- /**
- * Represent the output xml element
- */
- String OUTPUT = "output";
-
- /**
- * Represent the output_type xml element
- */
- String OUTPUT_TYPE = "output_type";
-
- /**
- * Represent the tracefile_size xml element
- */
- String TRACEFILE_SIZE = "tracefile_size";
-
- /**
- * Represent the tracefile_count xml element
- */
- String TRACEFILE_COUNT = "tracefile_count";
-
- /**
- * Represent the live_timer_interval xml element
- */
- String LIVE_TIMER_INTERVAL = "live_timer_interval";
-
- /**
- * Represent the type xml element
- */
- String TYPE = "type";
-
- /**
- * Represent the buffer_type xml element
- */
- String BUFFER_TYPE = "buffer_type";
-
- /**
- * Represent the session xml element
- */
- String SESSION = "session";
-
- /**
- * Represent the sessions xml element
- */
- String SESSIONS = "sessions";
-
- /**
- * Represent the perf xml element
- */
- String PERF = "perf";
-
- /**
- * Represent the config xml element
- */
- String CONFIG = "config";
-
- /**
- * Represent the started xml element
- */
- String STARTED = "started";
-
- /**
- * Represent the snapshot_mode xml element
- */
- String SNAPSHOT_MODE = "snapshot_mode";
-
- /**
- * Represent the loglevel xml element
- */
- String LOGLEVEL = "loglevel";
-
- /**
- * Represent the loglevel_type xml element
- */
- String LOGLEVEL_TYPE = "loglevel_type";
-
- /**
- * Represent the filter xml element
- */
- String FILTER = "filter";
-
- /**
- * Represent the snapshot_outputs xml element
- */
- String SNAPSHOT_OUTPUTS = "snapshot";
-
- /**
- * Represent the consumer_output xml element
- */
- String CONSUMER_OUTPUT = "consumer_output";
-
- /**
- * Represent the destination xml element
- */
- String DESTINATION = "destination";
-
- /**
- * Represent the path xml element
- */
- String PATH = "path";
-
- /**
- * Represent the net_output xml element
- */
- String NET_OUTPUT = "net_output";
-
- /**
- * Represent the control_uri xml element
- */
- String CONTROL_URI = "control_uri";
-
- /**
- * Represent the data_uri xml element
- */
- String DATA_URI = "data_uri";
-
- /**
- * Represent the max_size xml element
- */
- String MAX_SIZE = "max_size";
-}
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control/.project b/lttng/org.eclipse.linuxtools.lttng2.control/.project
deleted file mode 100644
index 7fb3b6d83b..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control/.project
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>org.eclipse.linuxtools.lttng2.control</name>
- <comment></comment>
- <projects>
- </projects>
- <buildSpec>
- <buildCommand>
- <name>org.eclipse.pde.FeatureBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>org.eclipse.pde.FeatureNature</nature>
- </natures>
-</projectDescription>
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control/.settings/org.eclipse.core.resources.prefs b/lttng/org.eclipse.linuxtools.lttng2.control/.settings/org.eclipse.core.resources.prefs
deleted file mode 100644
index 99f26c0203..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control/.settings/org.eclipse.core.resources.prefs
+++ /dev/null
@@ -1,2 +0,0 @@
-eclipse.preferences.version=1
-encoding/<project>=UTF-8
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control/.settings/org.eclipse.core.runtime.prefs b/lttng/org.eclipse.linuxtools.lttng2.control/.settings/org.eclipse.core.runtime.prefs
deleted file mode 100644
index 5a0ad22d2a..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control/.settings/org.eclipse.core.runtime.prefs
+++ /dev/null
@@ -1,2 +0,0 @@
-eclipse.preferences.version=1
-line.separator=\n
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control/build.properties b/lttng/org.eclipse.linuxtools.lttng2.control/build.properties
deleted file mode 100644
index fc36845ab8..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control/build.properties
+++ /dev/null
@@ -1,16 +0,0 @@
-###############################################################################
-# Copyright (c) 2013 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:
-# Ericsson - Initial API and implementation
-###############################################################################
-
-bin.includes = feature.xml,\
- feature.properties,\
- p2.inf
-src.includes = sourceTemplateFeature/p2.inf
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control/feature.properties b/lttng/org.eclipse.linuxtools.lttng2.control/feature.properties
deleted file mode 100644
index b376c5c5ba..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control/feature.properties
+++ /dev/null
@@ -1,21 +0,0 @@
-###############################################################################
-# Copyright (c) 2012, 2013 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:
-# Ericsson - Initial API and implementation
-###############################################################################
-
-featureName=Linux Tools LTTng Tracer Control
-
-description=Plug-ins to integrate LTTng tracer control into the workbench. \
-Includes the TMF (Tracing and Monitoring Framework) and CTF (Common Trace Format) features.
-
-featureProvider=Eclipse Linux Tools
-
-copyright=Copyright 2013 Ericsson
-
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control/feature.xml b/lttng/org.eclipse.linuxtools.lttng2.control/feature.xml
deleted file mode 100644
index 3d752de15f..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control/feature.xml
+++ /dev/null
@@ -1,62 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<feature
- id="org.eclipse.linuxtools.lttng2.control"
- label="%featureName"
- version="3.2.0.qualifier"
- provider-name="%featureProvider"
- license-feature="org.eclipse.license"
- license-feature-version="0.0.0">
-
- <description url="http://www.example.com/description">
- %description
- </description>
-
- <copyright url="http://www.example.com/copyright">
- %copyright
- </copyright>
-
- <license url="%licenseURL">
- %license
- </license>
-
- <url>
- <update label="Linux Tools Update Site" url="http://download.eclipse.org/linuxtools/update"/>
- </url>
-
- <includes
- id="org.eclipse.linuxtools.tmf.ctf"
- version="0.0.0"/>
-
- <requires>
- <import plugin="org.eclipse.core.runtime"/>
- <import plugin="org.eclipse.ui"/>
- <import plugin="org.eclipse.ui.ide"/>
- <import plugin="org.eclipse.core.resources"/>
- <import plugin="org.eclipse.linuxtools.lttng2.control.core" version="3.1.0" match="greaterOrEqual"/>
- <import plugin="org.eclipse.linuxtools.tmf.core" version="3.1.0" match="greaterOrEqual"/>
- <import plugin="org.eclipse.linuxtools.tmf.ui" version="3.1.0" match="greaterOrEqual"/>
- <import plugin="org.eclipse.help"/>
- <import feature="org.eclipse.remote" version="1.1.0" match="greaterOrEqual"/>
- </requires>
-
- <plugin
- id="org.eclipse.linuxtools.lttng2.control.core"
- download-size="0"
- install-size="0"
- version="0.0.0"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.linuxtools.lttng2.control.ui"
- download-size="0"
- install-size="0"
- version="0.0.0"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.linuxtools.lttng.help"
- download-size="0"
- install-size="0"
- version="0.0.0"/>
-
-</feature>
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control/p2.inf b/lttng/org.eclipse.linuxtools.lttng2.control/p2.inf
deleted file mode 100644
index 23d394a8da..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control/p2.inf
+++ /dev/null
@@ -1,5 +0,0 @@
-instructions.configure=\
-org.eclipse.equinox.p2.touchpoint.eclipse.addRepository(location:http${#58}//download.eclipse.org/linuxtools/updates-nightly,type:0,name:Linux Tools,enabled:false); \
-org.eclipse.equinox.p2.touchpoint.eclipse.addRepository(location:http${#58}//download.eclipse.org/linuxtools/updates-nightly,type:1,name:Linux Tools,enabled:false);
-
-update.matchExp=providedCapabilities.exists(pc | pc.namespace == 'org.eclipse.equinox.p2.iu' && (pc.name == 'org.eclipse.linuxtools.lttng2.feature.group' || pc.name == 'org.eclipse.linuxtools.lttng2.control.feature.group'))
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control/pom.xml b/lttng/org.eclipse.linuxtools.lttng2.control/pom.xml
deleted file mode 100644
index 4ace2be29e..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control/pom.xml
+++ /dev/null
@@ -1,64 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Copyright (C) 2011, Red Hat, Inc.
-
- 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
--->
-<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
- <modelVersion>4.0.0</modelVersion>
-
- <parent>
- <artifactId>linuxtools-lttng-parent</artifactId>
- <groupId>org.eclipse.linuxtools.lttng</groupId>
- <version>3.2.0-SNAPSHOT</version>
- </parent>
-
- <artifactId>org.eclipse.linuxtools.lttng2.control</artifactId>
- <version>3.2.0-SNAPSHOT</version>
- <packaging>eclipse-feature</packaging>
-
- <name>Linux Tools LTTng (Linux Tracing Toolkit) Feature</name>
-
- <groupId>org.eclipse.linuxtools.lttng2</groupId>
-
- <build>
- <plugins>
- <plugin>
- <groupId>org.eclipse.tycho.extras</groupId>
- <artifactId>tycho-source-feature-plugin</artifactId>
- <executions>
- <execution>
- <id>source-feature</id>
- <phase>package</phase>
- <goals>
- <goal>source-feature</goal>
- </goals>
- <configuration>
- <excludes>
- <plugin id="org.eclipse.linuxtools.lttng.help"/>
- </excludes>
- </configuration>
- </execution>
- </executions>
- </plugin>
- <plugin>
- <groupId>org.eclipse.tycho</groupId>
- <artifactId>tycho-p2-plugin</artifactId>
- <version>${tycho-version}</version>
- <executions>
- <execution>
- <id>attached-p2-metadata</id>
- <phase>package</phase>
- <goals>
- <goal>p2-metadata</goal>
- </goals>
- </execution>
- </executions>
- </plugin>
- </plugins>
- </build>
-</project>
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control/sourceTemplateFeature/p2.inf b/lttng/org.eclipse.linuxtools.lttng2.control/sourceTemplateFeature/p2.inf
deleted file mode 100644
index 2ba3d5afca..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.control/sourceTemplateFeature/p2.inf
+++ /dev/null
@@ -1,5 +0,0 @@
-instructions.configure=\
-org.eclipse.equinox.p2.touchpoint.eclipse.addRepository(location:http${#58}//download.eclipse.org/linuxtools/updates-nightly,type:0,name:Linux Tools,enabled:false); \
-org.eclipse.equinox.p2.touchpoint.eclipse.addRepository(location:http${#58}//download.eclipse.org/linuxtools/updates-nightly,type:1,name:Linux Tools,enabled:false);
-
-update.matchExp=providedCapabilities.exists(pc | pc.namespace == 'org.eclipse.equinox.p2.iu' && (pc.name == 'org.eclipse.linuxtools.lttng2.source.feature.group' || pc.name == 'org.eclipse.linuxtools.lttng2.control.source.feature.group'))
diff --git a/lttng/org.eclipse.linuxtools.lttng2.kernel.core.tests/.classpath b/lttng/org.eclipse.linuxtools.lttng2.kernel.core.tests/.classpath
deleted file mode 100644
index 4f3836cfa9..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.kernel.core.tests/.classpath
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
- <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.7"/>
- <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
- <classpathentry kind="src" path="src"/>
- <classpathentry kind="src" path="perf"/>
- <classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/lttng/org.eclipse.linuxtools.lttng2.kernel.core.tests/.project b/lttng/org.eclipse.linuxtools.lttng2.kernel.core.tests/.project
deleted file mode 100644
index da6c23079b..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.kernel.core.tests/.project
+++ /dev/null
@@ -1,34 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>org.eclipse.linuxtools.lttng2.kernel.core.tests</name>
- <comment></comment>
- <projects>
- </projects>
- <buildSpec>
- <buildCommand>
- <name>org.eclipse.jdt.core.javabuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.ManifestBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.SchemaBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.api.tools.apiAnalysisBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>org.eclipse.pde.PluginNature</nature>
- <nature>org.eclipse.jdt.core.javanature</nature>
- <nature>org.eclipse.pde.api.tools.apiAnalysisNature</nature>
- </natures>
-</projectDescription>
diff --git a/lttng/org.eclipse.linuxtools.lttng2.kernel.core.tests/.settings/org.eclipse.core.resources.prefs b/lttng/org.eclipse.linuxtools.lttng2.kernel.core.tests/.settings/org.eclipse.core.resources.prefs
deleted file mode 100644
index 99f26c0203..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.kernel.core.tests/.settings/org.eclipse.core.resources.prefs
+++ /dev/null
@@ -1,2 +0,0 @@
-eclipse.preferences.version=1
-encoding/<project>=UTF-8
diff --git a/lttng/org.eclipse.linuxtools.lttng2.kernel.core.tests/.settings/org.eclipse.core.runtime.prefs b/lttng/org.eclipse.linuxtools.lttng2.kernel.core.tests/.settings/org.eclipse.core.runtime.prefs
deleted file mode 100644
index 5a0ad22d2a..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.kernel.core.tests/.settings/org.eclipse.core.runtime.prefs
+++ /dev/null
@@ -1,2 +0,0 @@
-eclipse.preferences.version=1
-line.separator=\n
diff --git a/lttng/org.eclipse.linuxtools.lttng2.kernel.core.tests/.settings/org.eclipse.jdt.core.prefs b/lttng/org.eclipse.linuxtools.lttng2.kernel.core.tests/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index f3fc64575b..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.kernel.core.tests/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,393 +0,0 @@
-eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.annotation.inheritNullAnnotations=enabled
-org.eclipse.jdt.core.compiler.annotation.missingNonNullByDefaultAnnotation=ignore
-org.eclipse.jdt.core.compiler.annotation.nonnull=org.eclipse.jdt.annotation.NonNull
-org.eclipse.jdt.core.compiler.annotation.nonnullbydefault=org.eclipse.jdt.annotation.NonNullByDefault
-org.eclipse.jdt.core.compiler.annotation.nullable=org.eclipse.jdt.annotation.Nullable
-org.eclipse.jdt.core.compiler.annotation.nullanalysis=enabled
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.7
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.doc.comment.support=enabled
-org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=error
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
-org.eclipse.jdt.core.compiler.problem.comparingIdentical=error
-org.eclipse.jdt.core.compiler.problem.deadCode=error
-org.eclipse.jdt.core.compiler.problem.deprecation=error
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=enabled
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled
-org.eclipse.jdt.core.compiler.problem.discouragedReference=error
-org.eclipse.jdt.core.compiler.problem.emptyStatement=error
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.problem.explicitlyClosedAutoCloseable=error
-org.eclipse.jdt.core.compiler.problem.fallthroughCase=error
-org.eclipse.jdt.core.compiler.problem.fatalOptionalError=disabled
-org.eclipse.jdt.core.compiler.problem.fieldHiding=error
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=error
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=error
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=error
-org.eclipse.jdt.core.compiler.problem.includeNullInfoFromAsserts=disabled
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=error
-org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=error
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=error
-org.eclipse.jdt.core.compiler.problem.invalidJavadoc=warning
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTags=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=protected
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=error
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=error
-org.eclipse.jdt.core.compiler.problem.missingDefaultCase=error
-org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=error
-org.eclipse.jdt.core.compiler.problem.missingEnumCaseDespiteDefault=enabled
-org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=error
-org.eclipse.jdt.core.compiler.problem.missingJavadocComments=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=protected
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagDescription=all_standard_tags
-org.eclipse.jdt.core.compiler.problem.missingJavadocTags=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsMethodTypeParameters=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=protected
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=error
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotationForInterfaceMethodImplementation=enabled
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=error
-org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=error
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=error
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=error
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=ignore
-org.eclipse.jdt.core.compiler.problem.nonnullParameterAnnotationDropped=warning
-org.eclipse.jdt.core.compiler.problem.nullAnnotationInferenceConflict=warning
-org.eclipse.jdt.core.compiler.problem.nullReference=error
-org.eclipse.jdt.core.compiler.problem.nullSpecViolation=error
-org.eclipse.jdt.core.compiler.problem.nullUncheckedConversion=warning
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=error
-org.eclipse.jdt.core.compiler.problem.parameterAssignment=error
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=error
-org.eclipse.jdt.core.compiler.problem.potentialNullReference=error
-org.eclipse.jdt.core.compiler.problem.potentiallyUnclosedCloseable=warning
-org.eclipse.jdt.core.compiler.problem.rawTypeReference=error
-org.eclipse.jdt.core.compiler.problem.redundantNullAnnotation=warning
-org.eclipse.jdt.core.compiler.problem.redundantNullCheck=error
-org.eclipse.jdt.core.compiler.problem.redundantSpecificationOfTypeArguments=error
-org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=error
-org.eclipse.jdt.core.compiler.problem.reportMethodCanBePotentiallyStatic=ignore
-org.eclipse.jdt.core.compiler.problem.reportMethodCanBeStatic=error
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=error
-org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=disabled
-org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
-org.eclipse.jdt.core.compiler.problem.syntacticNullAnalysisForFields=enabled
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
-org.eclipse.jdt.core.compiler.problem.typeParameterHiding=error
-org.eclipse.jdt.core.compiler.problem.unavoidableGenericTypeProblems=disabled
-org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=error
-org.eclipse.jdt.core.compiler.problem.unclosedCloseable=error
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
-org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=error
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=error
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=error
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=error
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=disabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=disabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=error
-org.eclipse.jdt.core.compiler.problem.unusedLabel=error
-org.eclipse.jdt.core.compiler.problem.unusedLocal=error
-org.eclipse.jdt.core.compiler.problem.unusedObjectAllocation=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=error
-org.eclipse.jdt.core.compiler.problem.unusedTypeParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedWarningToken=error
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=error
-org.eclipse.jdt.core.compiler.source=1.7
-org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_assignment=0
-org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
-org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
-org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
-org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
-org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0
-org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=80
-org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=0
-org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch=16
-org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_after_package=1
-org.eclipse.jdt.core.formatter.blank_lines_before_field=0
-org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
-org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
-org.eclipse.jdt.core.formatter.blank_lines_before_method=1
-org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
-org.eclipse.jdt.core.formatter.blank_lines_before_package=0
-org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
-org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
-org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
-org.eclipse.jdt.core.formatter.comment.format_block_comments=true
-org.eclipse.jdt.core.formatter.comment.format_header=false
-org.eclipse.jdt.core.formatter.comment.format_html=true
-org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=true
-org.eclipse.jdt.core.formatter.comment.format_line_comments=true
-org.eclipse.jdt.core.formatter.comment.format_source_code=true
-org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true
-org.eclipse.jdt.core.formatter.comment.indent_root_tags=true
-org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
-org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=insert
-org.eclipse.jdt.core.formatter.comment.line_length=80
-org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries=true
-org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries=true
-org.eclipse.jdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments=false
-org.eclipse.jdt.core.formatter.compact_else_if=true
-org.eclipse.jdt.core.formatter.continuation_indentation=2
-org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2
-org.eclipse.jdt.core.formatter.disabling_tag=@formatter\:off
-org.eclipse.jdt.core.formatter.enabling_tag=@formatter\:on
-org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
-org.eclipse.jdt.core.formatter.format_line_comment_starting_on_first_column=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
-org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_empty_lines=false
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=false
-org.eclipse.jdt.core.formatter.indentation.size=4
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_label=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_try=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources=insert
-org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_try=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
-org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.join_lines_in_comments=true
-org.eclipse.jdt.core.formatter.join_wrapped_lines=false
-org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.lineSplit=250
-org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
-org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
-org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true
-org.eclipse.jdt.core.formatter.tabulation.char=space
-org.eclipse.jdt.core.formatter.tabulation.size=4
-org.eclipse.jdt.core.formatter.use_on_off_tags=false
-org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
-org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
-org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true
-org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true
diff --git a/lttng/org.eclipse.linuxtools.lttng2.kernel.core.tests/.settings/org.eclipse.jdt.ui.prefs b/lttng/org.eclipse.linuxtools.lttng2.kernel.core.tests/.settings/org.eclipse.jdt.ui.prefs
deleted file mode 100644
index 4fd0c7006a..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.kernel.core.tests/.settings/org.eclipse.jdt.ui.prefs
+++ /dev/null
@@ -1,56 +0,0 @@
-eclipse.preferences.version=1
-editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
-formatter_profile=_tmf-style
-formatter_settings_version=12
-sp_cleanup.add_default_serial_version_id=true
-sp_cleanup.add_generated_serial_version_id=false
-sp_cleanup.add_missing_annotations=false
-sp_cleanup.add_missing_deprecated_annotations=true
-sp_cleanup.add_missing_methods=false
-sp_cleanup.add_missing_nls_tags=false
-sp_cleanup.add_missing_override_annotations=true
-sp_cleanup.add_missing_override_annotations_interface_methods=true
-sp_cleanup.add_serial_version_id=false
-sp_cleanup.always_use_blocks=true
-sp_cleanup.always_use_parentheses_in_expressions=false
-sp_cleanup.always_use_this_for_non_static_field_access=false
-sp_cleanup.always_use_this_for_non_static_method_access=false
-sp_cleanup.convert_to_enhanced_for_loop=false
-sp_cleanup.correct_indentation=false
-sp_cleanup.format_source_code=false
-sp_cleanup.format_source_code_changes_only=false
-sp_cleanup.make_local_variable_final=false
-sp_cleanup.make_parameters_final=false
-sp_cleanup.make_private_fields_final=true
-sp_cleanup.make_type_abstract_if_missing_method=false
-sp_cleanup.make_variable_declarations_final=false
-sp_cleanup.never_use_blocks=false
-sp_cleanup.never_use_parentheses_in_expressions=true
-sp_cleanup.on_save_use_additional_actions=true
-sp_cleanup.organize_imports=false
-sp_cleanup.qualify_static_field_accesses_with_declaring_class=false
-sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_with_declaring_class=false
-sp_cleanup.qualify_static_method_accesses_with_declaring_class=false
-sp_cleanup.remove_private_constructors=true
-sp_cleanup.remove_trailing_whitespaces=true
-sp_cleanup.remove_trailing_whitespaces_all=true
-sp_cleanup.remove_trailing_whitespaces_ignore_empty=false
-sp_cleanup.remove_unnecessary_casts=false
-sp_cleanup.remove_unnecessary_nls_tags=false
-sp_cleanup.remove_unused_imports=false
-sp_cleanup.remove_unused_local_variables=false
-sp_cleanup.remove_unused_private_fields=true
-sp_cleanup.remove_unused_private_members=false
-sp_cleanup.remove_unused_private_methods=true
-sp_cleanup.remove_unused_private_types=true
-sp_cleanup.sort_members=false
-sp_cleanup.sort_members_all=false
-sp_cleanup.use_blocks=true
-sp_cleanup.use_blocks_only_for_return_and_throw=false
-sp_cleanup.use_parentheses_in_expressions=false
-sp_cleanup.use_this_for_non_static_field_access=false
-sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=true
-sp_cleanup.use_this_for_non_static_method_access=false
-sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true
diff --git a/lttng/org.eclipse.linuxtools.lttng2.kernel.core.tests/.settings/org.eclipse.pde.api.tools.prefs b/lttng/org.eclipse.linuxtools.lttng2.kernel.core.tests/.settings/org.eclipse.pde.api.tools.prefs
deleted file mode 100644
index acc3abd47c..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.kernel.core.tests/.settings/org.eclipse.pde.api.tools.prefs
+++ /dev/null
@@ -1,97 +0,0 @@
-ANNOTATION_ELEMENT_TYPE_ADDED_METHOD_WITHOUT_DEFAULT_VALUE=Error
-ANNOTATION_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
-ANNOTATION_ELEMENT_TYPE_REMOVED_FIELD=Error
-ANNOTATION_ELEMENT_TYPE_REMOVED_METHOD=Error
-ANNOTATION_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
-API_COMPONENT_ELEMENT_TYPE_REMOVED_API_TYPE=Error
-API_COMPONENT_ELEMENT_TYPE_REMOVED_REEXPORTED_API_TYPE=Error
-API_COMPONENT_ELEMENT_TYPE_REMOVED_REEXPORTED_TYPE=Error
-API_COMPONENT_ELEMENT_TYPE_REMOVED_TYPE=Error
-API_USE_SCAN_FIELD_SEVERITY=Error
-API_USE_SCAN_METHOD_SEVERITY=Error
-API_USE_SCAN_TYPE_SEVERITY=Error
-CLASS_ELEMENT_TYPE_ADDED_METHOD=Error
-CLASS_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
-CLASS_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
-CLASS_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error
-CLASS_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
-CLASS_ELEMENT_TYPE_CHANGED_NON_ABSTRACT_TO_ABSTRACT=Error
-CLASS_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error
-CLASS_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
-CLASS_ELEMENT_TYPE_REMOVED_CONSTRUCTOR=Error
-CLASS_ELEMENT_TYPE_REMOVED_FIELD=Error
-CLASS_ELEMENT_TYPE_REMOVED_METHOD=Error
-CLASS_ELEMENT_TYPE_REMOVED_SUPERCLASS=Error
-CLASS_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
-CLASS_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
-CONSTRUCTOR_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
-CONSTRUCTOR_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
-CONSTRUCTOR_ELEMENT_TYPE_CHANGED_VARARGS_TO_ARRAY=Error
-CONSTRUCTOR_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
-ENUM_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error
-ENUM_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
-ENUM_ELEMENT_TYPE_REMOVED_ENUM_CONSTANT=Error
-ENUM_ELEMENT_TYPE_REMOVED_FIELD=Error
-ENUM_ELEMENT_TYPE_REMOVED_METHOD=Error
-ENUM_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
-FIELD_ELEMENT_TYPE_ADDED_VALUE=Error
-FIELD_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
-FIELD_ELEMENT_TYPE_CHANGED_FINAL_TO_NON_FINAL_STATIC_CONSTANT=Error
-FIELD_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error
-FIELD_ELEMENT_TYPE_CHANGED_NON_STATIC_TO_STATIC=Error
-FIELD_ELEMENT_TYPE_CHANGED_STATIC_TO_NON_STATIC=Error
-FIELD_ELEMENT_TYPE_CHANGED_TYPE=Error
-FIELD_ELEMENT_TYPE_CHANGED_VALUE=Error
-FIELD_ELEMENT_TYPE_REMOVED_TYPE_ARGUMENT=Error
-FIELD_ELEMENT_TYPE_REMOVED_VALUE=Error
-ILLEGAL_EXTEND=Warning
-ILLEGAL_IMPLEMENT=Warning
-ILLEGAL_INSTANTIATE=Warning
-ILLEGAL_OVERRIDE=Warning
-ILLEGAL_REFERENCE=Warning
-INTERFACE_ELEMENT_TYPE_ADDED_FIELD=Error
-INTERFACE_ELEMENT_TYPE_ADDED_METHOD=Error
-INTERFACE_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
-INTERFACE_ELEMENT_TYPE_ADDED_SUPER_INTERFACE_WITH_METHODS=Error
-INTERFACE_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
-INTERFACE_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error
-INTERFACE_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
-INTERFACE_ELEMENT_TYPE_REMOVED_FIELD=Error
-INTERFACE_ELEMENT_TYPE_REMOVED_METHOD=Error
-INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
-INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
-INVALID_JAVADOC_TAG=Warning
-INVALID_REFERENCE_IN_SYSTEM_LIBRARIES=Warning
-LEAK_EXTEND=Warning
-LEAK_FIELD_DECL=Warning
-LEAK_IMPLEMENT=Warning
-LEAK_METHOD_PARAM=Warning
-LEAK_METHOD_RETURN_TYPE=Warning
-METHOD_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
-METHOD_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
-METHOD_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
-METHOD_ELEMENT_TYPE_CHANGED_NON_ABSTRACT_TO_ABSTRACT=Error
-METHOD_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error
-METHOD_ELEMENT_TYPE_CHANGED_NON_STATIC_TO_STATIC=Error
-METHOD_ELEMENT_TYPE_CHANGED_STATIC_TO_NON_STATIC=Error
-METHOD_ELEMENT_TYPE_CHANGED_VARARGS_TO_ARRAY=Error
-METHOD_ELEMENT_TYPE_REMOVED_ANNOTATION_DEFAULT_VALUE=Error
-METHOD_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
-MISSING_EE_DESCRIPTIONS=Ignore
-TYPE_PARAMETER_ELEMENT_TYPE_ADDED_CLASS_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_ADDED_INTERFACE_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_CHANGED_CLASS_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_CHANGED_INTERFACE_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_CLASS_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error
-UNUSED_PROBLEM_FILTERS=Warning
-automatically_removed_unused_problem_filters=false
-eclipse.preferences.version=1
-incompatible_api_component_version=Error
-incompatible_api_component_version_include_major_without_breaking_change=Disabled
-incompatible_api_component_version_include_minor_without_api_change=Disabled
-invalid_since_tag_version=Error
-malformed_since_tag=Error
-missing_since_tag=Error
-report_api_breakage_when_major_version_incremented=Disabled
-report_resolution_errors_api_component=Warning
diff --git a/lttng/org.eclipse.linuxtools.lttng2.kernel.core.tests/.settings/org.eclipse.pde.prefs b/lttng/org.eclipse.linuxtools.lttng2.kernel.core.tests/.settings/org.eclipse.pde.prefs
deleted file mode 100644
index 62cfa90dee..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.kernel.core.tests/.settings/org.eclipse.pde.prefs
+++ /dev/null
@@ -1,32 +0,0 @@
-compilers.f.unresolved-features=1
-compilers.f.unresolved-plugins=1
-compilers.incompatible-environment=1
-compilers.p.build=1
-compilers.p.build.bin.includes=1
-compilers.p.build.encodings=2
-compilers.p.build.java.compiler=2
-compilers.p.build.java.compliance=1
-compilers.p.build.missing.output=2
-compilers.p.build.output.library=1
-compilers.p.build.source.library=1
-compilers.p.build.src.includes=1
-compilers.p.deprecated=1
-compilers.p.discouraged-class=1
-compilers.p.internal=1
-compilers.p.missing-packages=2
-compilers.p.missing-version-export-package=2
-compilers.p.missing-version-import-package=2
-compilers.p.missing-version-require-bundle=2
-compilers.p.no-required-att=0
-compilers.p.not-externalized-att=2
-compilers.p.unknown-attribute=1
-compilers.p.unknown-class=1
-compilers.p.unknown-element=1
-compilers.p.unknown-identifier=1
-compilers.p.unknown-resource=1
-compilers.p.unresolved-ex-points=0
-compilers.p.unresolved-import=0
-compilers.s.create-docs=false
-compilers.s.doc-folder=doc
-compilers.s.open-tags=1
-eclipse.preferences.version=1
diff --git a/lttng/org.eclipse.linuxtools.lttng2.kernel.core.tests/META-INF/MANIFEST.MF b/lttng/org.eclipse.linuxtools.lttng2.kernel.core.tests/META-INF/MANIFEST.MF
deleted file mode 100644
index 7ccb4bccff..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.kernel.core.tests/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,27 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %Bundle-Name
-Bundle-Vendor: %Bundle-Vendor
-Bundle-Version: 3.1.0.qualifier
-Bundle-Localization: plugin
-Bundle-SymbolicName: org.eclipse.linuxtools.lttng2.kernel.core.tests;singleton:=true
-Bundle-ActivationPolicy: lazy
-Bundle-RequiredExecutionEnvironment: JavaSE-1.7
-Require-Bundle: org.junit;bundle-version="4.0.0",
- org.eclipse.core.runtime,
- org.eclipse.linuxtools.tmf.core;bundle-version="3.1.0",
- org.eclipse.linuxtools.tmf.core.tests;bundle-version="3.1.0",
- org.eclipse.linuxtools.tmf.ctf.core,
- org.eclipse.linuxtools.tmf.ctf.core.tests,
- org.eclipse.linuxtools.lttng2.kernel.core;bundle-version="3.1.0",
- org.eclipse.core.resources,
- org.eclipse.linuxtools.statesystem.core,
- org.eclipse.linuxtools.lttng2.control.core
-Export-Package: org.eclipse.linuxtools.lttng2.kernel.core.tests,
- org.eclipse.linuxtools.lttng2.kernel.core.tests.analysis;x-internal:=true,
- org.eclipse.linuxtools.lttng2.kernel.core.tests.event.matchandsync;x-internal:=true,
- org.eclipse.linuxtools.lttng2.kernel.core.tests.perf,
- org.eclipse.linuxtools.lttng2.kernel.core.tests.perf.analysis;x-internal:=true,
- org.eclipse.linuxtools.lttng2.kernel.core.tests.stateprovider;x-internal:=true
-Import-Package: com.google.common.collect,
- org.eclipse.test.performance
diff --git a/lttng/org.eclipse.linuxtools.lttng2.kernel.core.tests/about.html b/lttng/org.eclipse.linuxtools.lttng2.kernel.core.tests/about.html
deleted file mode 100644
index c258ef55d8..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.kernel.core.tests/about.html
+++ /dev/null
@@ -1,28 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
-<title>About</title>
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
-
-<p>June 5, 2006</p>
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;). Unless otherwise
-indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is available
-at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is
-being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content. Check the Redistributor's license that was
-provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at <a href="http://www.eclipse.org/">http://www.eclipse.org</a>.</p>
-
-</body>
-</html> \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.lttng2.kernel.core.tests/build.properties b/lttng/org.eclipse.linuxtools.lttng2.kernel.core.tests/build.properties
deleted file mode 100644
index 34a39c903e..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.kernel.core.tests/build.properties
+++ /dev/null
@@ -1,21 +0,0 @@
-###############################################################################
-# Copyright (c) 2013 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:
-# Ericsson - Initial API and implementation
-###############################################################################
-
-source.. = src/,\
- perf/
-output.. = bin/
-bin.includes = META-INF/,\
- .,\
- plugin.properties
-src.includes = about.html
-additional.bundles = org.eclipse.jdt.annotation
-jars.extra.classpath = platform:/plugin/org.eclipse.jdt.annotation
diff --git a/lttng/org.eclipse.linuxtools.lttng2.kernel.core.tests/perf/org/eclipse/linuxtools/lttng2/kernel/core/tests/perf/AllPerfTests.java b/lttng/org.eclipse.linuxtools.lttng2.kernel.core.tests/perf/org/eclipse/linuxtools/lttng2/kernel/core/tests/perf/AllPerfTests.java
deleted file mode 100644
index 09cfb5f109..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.kernel.core.tests/perf/org/eclipse/linuxtools/lttng2/kernel/core/tests/perf/AllPerfTests.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 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:
- * Alexandre Montplaisir - Initial implementation and API
- *******************************************************************************/
-
-package org.eclipse.linuxtools.lttng2.kernel.core.tests.perf;
-
-import org.junit.runner.RunWith;
-import org.junit.runners.Suite;
-
-/**
- * Run all performance test suites.
- *
- * @author Alexandre Montplaisir
- */
-@RunWith(Suite.class)
-@Suite.SuiteClasses({
- org.eclipse.linuxtools.lttng2.kernel.core.tests.perf.analysis.AllPerfTests.class,
- org.eclipse.linuxtools.lttng2.kernel.core.tests.perf.event.matching.AllPerfTests.class
-})
-public class AllPerfTests {
-
-}
diff --git a/lttng/org.eclipse.linuxtools.lttng2.kernel.core.tests/perf/org/eclipse/linuxtools/lttng2/kernel/core/tests/perf/analysis/AllPerfTests.java b/lttng/org.eclipse.linuxtools.lttng2.kernel.core.tests/perf/org/eclipse/linuxtools/lttng2/kernel/core/tests/perf/analysis/AllPerfTests.java
deleted file mode 100644
index 44293ef5b7..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.kernel.core.tests/perf/org/eclipse/linuxtools/lttng2/kernel/core/tests/perf/analysis/AllPerfTests.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 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:
- * Alexandre Montplaisir - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.lttng2.kernel.core.tests.perf.analysis;
-
-import org.junit.runner.RunWith;
-import org.junit.runners.Suite;
-
-/**
- * Test suite
- */
-@RunWith(Suite.class)
-@Suite.SuiteClasses({
- AnalysisBenchmark.class
-})
-public class AllPerfTests {
-}
diff --git a/lttng/org.eclipse.linuxtools.lttng2.kernel.core.tests/perf/org/eclipse/linuxtools/lttng2/kernel/core/tests/perf/analysis/AnalysisBenchmark.java b/lttng/org.eclipse.linuxtools.lttng2.kernel.core.tests/perf/org/eclipse/linuxtools/lttng2/kernel/core/tests/perf/analysis/AnalysisBenchmark.java
deleted file mode 100644
index ae37bf0da1..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.kernel.core.tests/perf/org/eclipse/linuxtools/lttng2/kernel/core/tests/perf/analysis/AnalysisBenchmark.java
+++ /dev/null
@@ -1,93 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 École Polytechnique de Montréal
- *
- * 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:
- * Geneviève Bastien - Initial API and implementation
- * Alexandre Montplaisir - Convert to org.eclipse.test.performance test
- *******************************************************************************/
-
-package org.eclipse.linuxtools.lttng2.kernel.core.tests.perf.analysis;
-
-import static org.junit.Assert.fail;
-import static org.junit.Assume.assumeTrue;
-
-import java.io.File;
-
-import org.eclipse.linuxtools.lttng2.kernel.core.analysis.LttngKernelAnalysisModule;
-import org.eclipse.linuxtools.lttng2.kernel.core.trace.LttngKernelTrace;
-import org.eclipse.linuxtools.tmf.core.analysis.IAnalysisModule;
-import org.eclipse.linuxtools.tmf.core.exceptions.TmfAnalysisException;
-import org.eclipse.linuxtools.tmf.core.exceptions.TmfTraceException;
-import org.eclipse.linuxtools.tmf.core.tests.shared.TmfTestHelper;
-import org.eclipse.linuxtools.tmf.core.trace.TmfTraceManager;
-import org.eclipse.linuxtools.tmf.ctf.core.CtfTmfEvent;
-import org.eclipse.linuxtools.tmf.ctf.core.tests.shared.CtfTmfTestTrace;
-import org.eclipse.test.performance.Dimension;
-import org.eclipse.test.performance.Performance;
-import org.eclipse.test.performance.PerformanceMeter;
-import org.junit.Test;
-
-/**
- * This is a test of the time to build a kernel state system
- *
- * @author Genevieve Bastien
- */
-public class AnalysisBenchmark {
-
- private static final String TEST_ID = "org.eclipse.linuxtools#LTTng kernel analysis";
- private static final int LOOP_COUNT = 25;
-
- /**
- * Run the benchmark with "trace2"
- */
- @Test
- public void testTrace2() {
- runTest(CtfTmfTestTrace.TRACE2, "Trace2");
- }
-
- private static void runTest(CtfTmfTestTrace testTrace, String testName) {
- assumeTrue(testTrace.exists());
-
- Performance perf = Performance.getDefault();
- PerformanceMeter pm = perf.createPerformanceMeter(TEST_ID + '#' + testName);
- perf.tagAsSummary(pm, "LTTng Kernel Analysis: " + testName, Dimension.CPU_TIME);
-
- if (testTrace == CtfTmfTestTrace.TRACE2) {
- /* Do not show all traces in the global summary */
- perf.tagAsGlobalSummary(pm, "LTTng Kernel Analysis: " + testName, Dimension.CPU_TIME);
- }
-
- for (int i = 0; i < LOOP_COUNT; i++) {
- try (IAnalysisModule module = new LttngKernelAnalysisModule();
- LttngKernelTrace trace = new LttngKernelTrace()) {
- module.setId("test");
- trace.initTrace(null, testTrace.getPath(), CtfTmfEvent.class);
- module.setTrace(trace);
-
- pm.start();
- TmfTestHelper.executeAnalysis(module);
- pm.stop();
-
- /*
- * Delete the supplementary files, so that the next iteration
- * rebuilds the state system.
- */
- File suppDir = new File(TmfTraceManager.getSupplementaryFileDir(trace));
- for (File file : suppDir.listFiles()) {
- file.delete();
- }
-
- } catch (TmfAnalysisException | TmfTraceException e) {
- fail(e.getMessage());
- }
-
- }
- pm.commit();
- testTrace.dispose();
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.lttng2.kernel.core.tests/perf/org/eclipse/linuxtools/lttng2/kernel/core/tests/perf/event/matching/AllPerfTests.java b/lttng/org.eclipse.linuxtools.lttng2.kernel.core.tests/perf/org/eclipse/linuxtools/lttng2/kernel/core/tests/perf/event/matching/AllPerfTests.java
deleted file mode 100644
index a275c6a0c0..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.kernel.core.tests/perf/org/eclipse/linuxtools/lttng2/kernel/core/tests/perf/event/matching/AllPerfTests.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 École Polytechnique de Montréal
- *
- * 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:
- * Geneviève Bastien - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.lttng2.kernel.core.tests.perf.event.matching;
-
-import org.junit.runner.RunWith;
-import org.junit.runners.Suite;
-
-/**
- * Test suite
- */
-@RunWith(Suite.class)
-@Suite.SuiteClasses({
- EventMatchingBenchmark.class,
- TraceSynchronizationBenchmark.class
-})
-public class AllPerfTests {
-
-}
diff --git a/lttng/org.eclipse.linuxtools.lttng2.kernel.core.tests/perf/org/eclipse/linuxtools/lttng2/kernel/core/tests/perf/event/matching/EventMatchingBenchmark.java b/lttng/org.eclipse.linuxtools.lttng2.kernel.core.tests/perf/org/eclipse/linuxtools/lttng2/kernel/core/tests/perf/event/matching/EventMatchingBenchmark.java
deleted file mode 100644
index 8ccd66ff71..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.kernel.core.tests/perf/org/eclipse/linuxtools/lttng2/kernel/core/tests/perf/event/matching/EventMatchingBenchmark.java
+++ /dev/null
@@ -1,120 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 École Polytechnique de Montréal
- *
- * 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:
- * Geneviève Bastien - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.lttng2.kernel.core.tests.perf.event.matching;
-
-import static org.junit.Assume.assumeTrue;
-
-import java.util.Set;
-
-import org.eclipse.linuxtools.lttng2.kernel.core.event.matching.TcpEventMatching;
-import org.eclipse.linuxtools.lttng2.kernel.core.event.matching.TcpLttngEventMatching;
-import org.eclipse.linuxtools.tmf.core.event.matching.TmfEventMatching;
-import org.eclipse.linuxtools.tmf.core.event.matching.TmfNetworkEventMatching;
-import org.eclipse.linuxtools.tmf.core.trace.ITmfTrace;
-import org.eclipse.linuxtools.tmf.ctf.core.CtfTmfTrace;
-import org.eclipse.linuxtools.tmf.ctf.core.tests.shared.CtfTmfTestTrace;
-import org.eclipse.test.performance.Dimension;
-import org.eclipse.test.performance.Performance;
-import org.eclipse.test.performance.PerformanceMeter;
-import org.junit.BeforeClass;
-import org.junit.Test;
-
-import com.google.common.collect.ImmutableSet;
-
-/**
- * Benchmark simple event matching, without trace synchronization
- *
- * @author Geneviève Bastien
- */
-public class EventMatchingBenchmark {
-
- private static final String TEST_ID = "org.eclipse.linuxtools#Event matching#";
- private static final String TIME = " (time)";
- private static final String MEMORY = " (memory usage)";
- private static final String TEST_SUMMARY = "Event matching";
-
- /**
- * Initialize some data
- */
- @BeforeClass
- public static void setUp() {
- TmfEventMatching.registerMatchObject(new TcpEventMatching());
- TmfEventMatching.registerMatchObject(new TcpLttngEventMatching());
- }
-
- /**
- * Run the benchmark with 2 small traces
- */
- @Test
- public void testSmallTraces() {
- assumeTrue(CtfTmfTestTrace.SYNC_SRC.exists());
- assumeTrue(CtfTmfTestTrace.SYNC_DEST.exists());
- try (CtfTmfTrace trace1 = CtfTmfTestTrace.SYNC_SRC.getTrace();
- CtfTmfTrace trace2 = CtfTmfTestTrace.SYNC_DEST.getTrace();) {
- Set<ITmfTrace> traces = ImmutableSet.of((ITmfTrace) trace1, trace2);
- runCpuTest(traces, "Match TCP events", 100);
- }
- }
-
- /**
- * Run the benchmark with 3 bigger traces
- */
- @Test
- public void testDjangoTraces() {
- assumeTrue(CtfTmfTestTrace.DJANGO_CLIENT.exists());
- assumeTrue(CtfTmfTestTrace.DJANGO_DB.exists());
- assumeTrue(CtfTmfTestTrace.DJANGO_HTTPD.exists());
- try (CtfTmfTrace trace1 = CtfTmfTestTrace.DJANGO_CLIENT.getTrace();
- CtfTmfTrace trace2 = CtfTmfTestTrace.DJANGO_DB.getTrace();
- CtfTmfTrace trace3 = CtfTmfTestTrace.DJANGO_HTTPD.getTrace();) {
- Set<ITmfTrace> traces = ImmutableSet.of((ITmfTrace) trace1, trace2, trace3);
- runCpuTest(traces, "Django traces", 10);
- runMemoryTest(traces, "Django traces", 10);
- }
- }
-
- private static void runCpuTest(Set<ITmfTrace> testTraces, String testName, int loop_count) {
- Performance perf = Performance.getDefault();
- PerformanceMeter pm = perf.createPerformanceMeter(TEST_ID + testName + TIME);
- perf.tagAsSummary(pm, TEST_SUMMARY + ':' + testName + TIME, Dimension.CPU_TIME);
-
- for (int i = 0; i < loop_count; i++) {
- TmfNetworkEventMatching traceMatch = new TmfNetworkEventMatching(testTraces);
-
- pm.start();
- traceMatch.matchEvents();
- pm.stop();
- }
- pm.commit();
-
- }
-
- /* Benchmark memory used by the algorithm */
- private static void runMemoryTest(Set<ITmfTrace> testTraces, String testName, int loop_count) {
- Performance perf = Performance.getDefault();
- PerformanceMeter pm = perf.createPerformanceMeter(TEST_ID + testName + MEMORY);
- perf.tagAsSummary(pm, TEST_SUMMARY + ':' + testName + MEMORY, Dimension.USED_JAVA_HEAP);
-
- for (int i = 0; i < loop_count; i++) {
- TmfNetworkEventMatching traceMatch = new TmfNetworkEventMatching(testTraces);
-
- System.gc();
- pm.start();
- traceMatch.matchEvents();
- System.gc();
- pm.stop();
- }
- pm.commit();
-
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.lttng2.kernel.core.tests/perf/org/eclipse/linuxtools/lttng2/kernel/core/tests/perf/event/matching/TraceSynchronizationBenchmark.java b/lttng/org.eclipse.linuxtools.lttng2.kernel.core.tests/perf/org/eclipse/linuxtools/lttng2/kernel/core/tests/perf/event/matching/TraceSynchronizationBenchmark.java
deleted file mode 100644
index f4ab323eb6..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.kernel.core.tests/perf/org/eclipse/linuxtools/lttng2/kernel/core/tests/perf/event/matching/TraceSynchronizationBenchmark.java
+++ /dev/null
@@ -1,118 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 École Polytechnique de Montréal
- *
- * 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:
- * Geneviève Bastien - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.lttng2.kernel.core.tests.perf.event.matching;
-
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assume.assumeTrue;
-
-import java.util.Arrays;
-
-import org.eclipse.linuxtools.lttng2.kernel.core.event.matching.TcpEventMatching;
-import org.eclipse.linuxtools.lttng2.kernel.core.event.matching.TcpLttngEventMatching;
-import org.eclipse.linuxtools.tmf.core.event.matching.TmfEventMatching;
-import org.eclipse.linuxtools.tmf.core.synchronization.SynchronizationAlgorithm;
-import org.eclipse.linuxtools.tmf.core.synchronization.SynchronizationManager;
-import org.eclipse.linuxtools.tmf.core.trace.ITmfTrace;
-import org.eclipse.linuxtools.tmf.ctf.core.CtfTmfTrace;
-import org.eclipse.linuxtools.tmf.ctf.core.tests.shared.CtfTmfTestTrace;
-import org.eclipse.test.performance.Dimension;
-import org.eclipse.test.performance.Performance;
-import org.eclipse.test.performance.PerformanceMeter;
-import org.junit.BeforeClass;
-import org.junit.Test;
-
-/**
- * Benchmark trace synchronization
- *
- * @author Geneviève Bastien
- */
-public class TraceSynchronizationBenchmark {
-
- private static final String TEST_ID = "org.eclipse.linuxtools#Trace synchronization#";
- private static final String TIME = " (time)";
- private static final String MEMORY = " (memory usage)";
- private static final String TEST_SUMMARY = "Trace synchronization";
-
- /**
- * Initialize some data
- */
- @BeforeClass
- public static void setUp() {
- TmfEventMatching.registerMatchObject(new TcpEventMatching());
- TmfEventMatching.registerMatchObject(new TcpLttngEventMatching());
- }
-
- /**
- * Run the benchmark with 2 small traces
- */
- @Test
- public void testSmallTraces() {
- assumeTrue(CtfTmfTestTrace.SYNC_SRC.exists());
- assumeTrue(CtfTmfTestTrace.SYNC_DEST.exists());
- try (CtfTmfTrace trace1 = CtfTmfTestTrace.SYNC_SRC.getTrace();
- CtfTmfTrace trace2 = CtfTmfTestTrace.SYNC_DEST.getTrace();) {
- ITmfTrace[] traces = { trace1, trace2 };
- runCpuTest(traces, "Match TCP events", 40);
- }
- }
-
- /**
- * Run the benchmark with 3 bigger traces
- */
- @Test
- public void testDjangoTraces() {
- assumeTrue(CtfTmfTestTrace.DJANGO_CLIENT.exists());
- assumeTrue(CtfTmfTestTrace.DJANGO_DB.exists());
- assumeTrue(CtfTmfTestTrace.DJANGO_HTTPD.exists());
- try (CtfTmfTrace trace1 = CtfTmfTestTrace.DJANGO_CLIENT.getTrace();
- CtfTmfTrace trace2 = CtfTmfTestTrace.DJANGO_DB.getTrace();
- CtfTmfTrace trace3 = CtfTmfTestTrace.DJANGO_HTTPD.getTrace();) {
- ITmfTrace[] traces = { trace1, trace2, trace3 };
- runCpuTest(traces, "Django traces", 10);
- runMemoryTest(traces, "Django traces", 10);
- }
- }
-
- private static void runCpuTest(ITmfTrace[] testTraces, String testName, int loop_count) {
- Performance perf = Performance.getDefault();
- PerformanceMeter pm = perf.createPerformanceMeter(TEST_ID + testName + TIME);
- perf.tagAsSummary(pm, TEST_SUMMARY + ':' + testName + TIME, Dimension.CPU_TIME);
-
- for (int i = 0; i < loop_count; i++) {
- pm.start();
- SynchronizationManager.synchronizeTraces(null, Arrays.asList(testTraces), true);
- pm.stop();
- }
- pm.commit();
-
- }
-
- /* Benchmark memory used by the algorithm */
- private static void runMemoryTest(ITmfTrace[] testTraces, String testName, int loop_count) {
- Performance perf = Performance.getDefault();
- PerformanceMeter pm = perf.createPerformanceMeter(TEST_ID + testName + MEMORY);
- perf.tagAsSummary(pm, TEST_SUMMARY + ':' + testName + MEMORY, Dimension.USED_JAVA_HEAP);
-
- for (int i = 0; i < loop_count; i++) {
-
- System.gc();
- pm.start();
- SynchronizationAlgorithm algo = SynchronizationManager.synchronizeTraces(null, Arrays.asList(testTraces), true);
- assertNotNull(algo);
-
- System.gc();
- pm.stop();
- }
- pm.commit();
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.lttng2.kernel.core.tests/plugin.properties b/lttng/org.eclipse.linuxtools.lttng2.kernel.core.tests/plugin.properties
deleted file mode 100644
index 9d29e7f690..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.kernel.core.tests/plugin.properties
+++ /dev/null
@@ -1,15 +0,0 @@
-###############################################################################
-# Copyright (c) 2013 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:
-# Ericsson - Initial API and implementation
-###############################################################################
-
-#Properties file for org.eclipse.linuxtools.lttng2.kernel.core.tests
-Bundle-Vendor = Eclipse Linux Tools
-Bundle-Name = Linux Tools LTTng Kernel Analysis Core Tests Plug-in \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.lttng2.kernel.core.tests/pom.xml b/lttng/org.eclipse.linuxtools.lttng2.kernel.core.tests/pom.xml
deleted file mode 100644
index 23a8f8ea11..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.kernel.core.tests/pom.xml
+++ /dev/null
@@ -1,73 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Copyright (C) 2011, Red Hat, Inc.
-
- 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
--->
-<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
- <modelVersion>4.0.0</modelVersion>
-
- <parent>
- <artifactId>linuxtools-lttng-parent</artifactId>
- <groupId>org.eclipse.linuxtools.lttng</groupId>
- <version>3.2.0-SNAPSHOT</version>
- </parent>
-
- <artifactId>org.eclipse.linuxtools.lttng2.kernel.core.tests</artifactId>
- <version>3.1.0-SNAPSHOT</version>
- <packaging>eclipse-test-plugin</packaging>
-
- <name>Linux Tools LTTng Kernel Analysis Core Tests Plug-in</name>
-
- <build>
- <!-- workaround for https://issues.sonatype.org/browse/TYCHO-168 -->
- <resources>
- <resource>
- <directory>src</directory>
- <excludes>
- <exclude>**/*.java</exclude>
- </excludes>
- </resource>
- </resources>
- <plugins>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-antrun-plugin</artifactId>
- <version>1.7</version>
- <executions>
- <execution>
- <id>prepare</id>
- <phase>validate</phase>
- <configuration>
- <target>
- <echo message="prepare phase" />
- </target>
- </configuration>
- <goals>
- <goal>run</goal>
- </goals>
- </execution>
- </executions>
- </plugin>
- <plugin>
- <groupId>org.eclipse.tycho</groupId>
- <artifactId>tycho-surefire-plugin</artifactId>
- <version>${tycho-version}</version>
- <configuration>
- <includes>
- <include>**/AllTests.*</include>
- </includes>
- <useUIHarness>false</useUIHarness>
- <useUIThread>false</useUIThread>
- <product>org.eclipse.platform.ide</product>
- </configuration>
- </plugin>
- </plugins>
- </build>
-
- <groupId>org.eclipse.linuxtools.lttng2</groupId>
-</project>
diff --git a/lttng/org.eclipse.linuxtools.lttng2.kernel.core.tests/src/org/eclipse/linuxtools/lttng2/kernel/core/tests/ActivatorTest.java b/lttng/org.eclipse.linuxtools.lttng2.kernel.core.tests/src/org/eclipse/linuxtools/lttng2/kernel/core/tests/ActivatorTest.java
deleted file mode 100644
index e1af96c5f6..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.kernel.core.tests/src/org/eclipse/linuxtools/lttng2/kernel/core/tests/ActivatorTest.java
+++ /dev/null
@@ -1,96 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2012 Ericsson
- *
- * All rights reserved. This program and the accompanying materials are
- * made available under the terms of the Eclipse Public License v1.0 which
- * accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Francois Chouinard - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.lttng2.kernel.core.tests;
-
-import junit.framework.TestCase;
-
-import org.junit.After;
-import org.junit.AfterClass;
-import org.junit.Before;
-import org.junit.BeforeClass;
-import org.junit.Test;
-
-/**
- * <b><u>ActivatorTest</u></b>
- * <p>
- * Test suite for the Activator class
- * <p>
- */
-@SuppressWarnings("javadoc")
-public class ActivatorTest extends TestCase {
-
- // ------------------------------------------------------------------------
- // JUnit
- // ------------------------------------------------------------------------
-
- @BeforeClass
- public static void setUpBeforeClass() {
- }
-
- @AfterClass
- public static void tearDownAfterClass() {
- }
-
- /**
- * @throws java.lang.Exception
- */
- @Before
- @Override
- public void setUp() throws Exception {
- }
-
- /**
- * @throws java.lang.Exception
- */
- @After
- @Override
- public void tearDown() throws Exception {
- }
-
- // ------------------------------------------------------------------------
- // Tests
- // ------------------------------------------------------------------------
-
- /**
- * Test method for {@link org.eclipse.linuxtools.lttng2.kernel.core.Activator#Activator()}.
- */
- @Test
- public void testActivator() {
- assertTrue(true);
- }
-
- /**
- * Test method for {@link org.eclipse.linuxtools.lttng2.kernel.core.Activator#getDefault()}.
- */
- @Test
- public void testGetDefault() {
- assertTrue(true);
- }
-
- /**
- * Test method for {@link org.eclipse.linuxtools.lttng2.kernel.core.Activator#start(org.osgi.framework.BundleContext)}.
- */
- @Test
- public void testStartBundleContext() {
- assertTrue(true);
- }
-
- /**
- * Test method for {@link org.eclipse.linuxtools.lttng2.kernel.core.Activator#stop(org.osgi.framework.BundleContext)}.
- */
- @Test
- public void testStopBundleContext() {
- assertTrue(true);
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.lttng2.kernel.core.tests/src/org/eclipse/linuxtools/lttng2/kernel/core/tests/AllTests.java b/lttng/org.eclipse.linuxtools.lttng2.kernel.core.tests/src/org/eclipse/linuxtools/lttng2/kernel/core/tests/AllTests.java
deleted file mode 100644
index 0356df6b3c..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.kernel.core.tests/src/org/eclipse/linuxtools/lttng2/kernel/core/tests/AllTests.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2012, 2013 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.lttng2.kernel.core.tests;
-
-import org.junit.runner.RunWith;
-import org.junit.runners.Suite;
-
-/**
- * Runner for the lttng2.kernel unit tests.
- */
-@RunWith(Suite.class)
-@Suite.SuiteClasses({
- ActivatorTest.class,
- org.eclipse.linuxtools.lttng2.kernel.core.tests.analysis.AllTests.class,
- org.eclipse.linuxtools.lttng2.kernel.core.tests.stateprovider.TestAll.class,
- org.eclipse.linuxtools.lttng2.kernel.core.tests.event.matchandsync.AllTests.class
-})
-public class AllTests { }
diff --git a/lttng/org.eclipse.linuxtools.lttng2.kernel.core.tests/src/org/eclipse/linuxtools/lttng2/kernel/core/tests/analysis/AllTests.java b/lttng/org.eclipse.linuxtools.lttng2.kernel.core.tests/src/org/eclipse/linuxtools/lttng2/kernel/core/tests/analysis/AllTests.java
deleted file mode 100644
index 4198b6832e..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.kernel.core.tests/src/org/eclipse/linuxtools/lttng2/kernel/core/tests/analysis/AllTests.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 École Polytechnique de Montréal
- *
- * 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:
- * Geneviève Bastien - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.lttng2.kernel.core.tests.analysis;
-
-import org.junit.runner.RunWith;
-import org.junit.runners.Suite;
-
-/**
- * Test suite for org.eclipse.linuxtools.lttng2.kernel.core.analysis package
- */
-@RunWith(Suite.class)
-@Suite.SuiteClasses({
- LttngKernelAnalysisTest.class
-})
-public class AllTests {
-
-}
diff --git a/lttng/org.eclipse.linuxtools.lttng2.kernel.core.tests/src/org/eclipse/linuxtools/lttng2/kernel/core/tests/analysis/LttngKernelAnalysisTest.java b/lttng/org.eclipse.linuxtools.lttng2.kernel.core.tests/src/org/eclipse/linuxtools/lttng2/kernel/core/tests/analysis/LttngKernelAnalysisTest.java
deleted file mode 100644
index e63a907da0..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.kernel.core.tests/src/org/eclipse/linuxtools/lttng2/kernel/core/tests/analysis/LttngKernelAnalysisTest.java
+++ /dev/null
@@ -1,180 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 École Polytechnique de Montréal
- *
- * 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:
- * Geneviève Bastien - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.lttng2.kernel.core.tests.analysis;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertNull;
-import static org.junit.Assert.assertTrue;
-import static org.junit.Assert.fail;
-import static org.junit.Assume.assumeTrue;
-
-import java.util.List;
-import java.util.Set;
-
-import org.eclipse.linuxtools.internal.lttng2.kernel.core.LttngStrings;
-import org.eclipse.linuxtools.lttng2.control.core.session.SessionConfigStrings;
-import org.eclipse.linuxtools.lttng2.kernel.core.analysis.LttngKernelAnalysisModule;
-import org.eclipse.linuxtools.statesystem.core.ITmfStateSystem;
-import org.eclipse.linuxtools.tmf.core.analysis.TmfAnalysisRequirement;
-import org.eclipse.linuxtools.tmf.core.exceptions.TmfAnalysisException;
-import org.eclipse.linuxtools.tmf.core.tests.shared.TmfTestHelper;
-import org.eclipse.linuxtools.tmf.core.trace.ITmfTrace;
-import org.eclipse.linuxtools.tmf.ctf.core.CtfTmfTrace;
-import org.eclipse.linuxtools.tmf.ctf.core.tests.shared.CtfTmfTestTrace;
-import org.junit.After;
-import org.junit.Before;
-import org.junit.BeforeClass;
-import org.junit.Test;
-
-import com.google.common.collect.ImmutableSet;
-
-/**
- * Test the {@link LttngKernelAnalysisModule} class
- *
- * @author Geneviève Bastien
- */
-public class LttngKernelAnalysisTest {
-
- private ITmfTrace fTrace;
- private LttngKernelAnalysisModule fKernelAnalysisModule;
-
- /**
- * Class setup
- */
- @BeforeClass
- public static void setUpClass() {
- assumeTrue(CtfTmfTestTrace.KERNEL.exists());
- }
-
- /**
- * Set-up the test
- */
- @Before
- public void setUp() {
- fKernelAnalysisModule = new LttngKernelAnalysisModule();
- fTrace = CtfTmfTestTrace.KERNEL.getTrace();
- }
-
- /**
- * Dispose test objects
- */
- @After
- public void tearDown() {
- fTrace.dispose();
- fKernelAnalysisModule.dispose();
- }
-
- /**
- * Test the LTTng kernel analysis execution
- */
- @Test
- public void testAnalysisExecution() {
- fKernelAnalysisModule.setId("test");
- try {
- fKernelAnalysisModule.setTrace(fTrace);
- } catch (TmfAnalysisException e) {
- fail(e.getMessage());
- }
- // Assert the state system has not been initialized yet
- ITmfStateSystem ss = fKernelAnalysisModule.getStateSystem();
- assertNull(ss);
-
- assertTrue(TmfTestHelper.executeAnalysis(fKernelAnalysisModule));
-
- ss = fKernelAnalysisModule.getStateSystem();
- assertNotNull(ss);
-
- List<Integer> quarks = ss.getQuarks("*");
- assertFalse(quarks.isEmpty());
- }
-
- /**
- * Test the canExecute method on valid and invalid traces
- */
- @Test
- public void testCanExecute() {
- /* Test with a valid kernel trace */
- assertNotNull(fTrace);
- assertTrue(fKernelAnalysisModule.canExecute(fTrace));
-
- /* Test with a CTF trace that does not have required events */
- assumeTrue(CtfTmfTestTrace.CYG_PROFILE.exists());
- try (CtfTmfTrace trace = CtfTmfTestTrace.CYG_PROFILE.getTrace();) {
- /*
- * TODO: This should be false, but for now there is no mandatory
- * events in the kernel analysis so it will return true.
- */
- assertTrue(fKernelAnalysisModule.canExecute(trace));
- }
- }
-
- /**
- * Test for {@link LttngKernelAnalysisModule#getAnalysisRequirements()}
- */
- @Test
- public void testGetAnalysisRequirements() {
- Iterable<TmfAnalysisRequirement> requirements = fKernelAnalysisModule.getAnalysisRequirements();
- assertNotNull(requirements);
-
- /* There should be the event and domain type */
- TmfAnalysisRequirement eventReq = null;
- TmfAnalysisRequirement domainReq = null;
- int numberOfRequirement = 0;
- for (TmfAnalysisRequirement requirement : requirements) {
- ++numberOfRequirement;
- if (requirement.getType().equals(SessionConfigStrings.CONFIG_ELEMENT_EVENT)) {
- eventReq = requirement;
- } else if (requirement.getType().equals(SessionConfigStrings.CONFIG_ELEMENT_DOMAIN)) {
- domainReq = requirement;
- }
- }
- assertNotNull(eventReq);
- assertNotNull(domainReq);
-
- /* There should be two requirements */
- assertEquals(2, numberOfRequirement);
-
- /* Verify the content of the requirements themselves */
- /* Domain should be kernel */
- assertEquals(1, domainReq.getValues().size());
- for (String domain : domainReq.getValues()) {
- assertEquals(SessionConfigStrings.CONFIG_DOMAIN_TYPE_KERNEL, domain);
- }
-
- /* Events */
- Set<String> expectedEvents = ImmutableSet.of(
- LttngStrings.EXIT_SYSCALL,
- LttngStrings.IRQ_HANDLER_ENTRY,
- LttngStrings.IRQ_HANDLER_EXIT,
- LttngStrings.SOFTIRQ_ENTRY,
- LttngStrings.SOFTIRQ_EXIT,
- LttngStrings.SOFTIRQ_RAISE,
- LttngStrings.SCHED_SWITCH,
- LttngStrings.SCHED_PROCESS_FORK,
- LttngStrings.SCHED_PROCESS_EXIT,
- LttngStrings.SCHED_PROCESS_FREE,
- LttngStrings.STATEDUMP_PROCESS_STATE,
- LttngStrings.SCHED_WAKEUP,
- LttngStrings.SCHED_WAKEUP_NEW,
- /* Add the prefix for syscalls */
- LttngStrings.SYSCALL_PREFIX
- );
-
- assertEquals(14, eventReq.getValues().size());
- for (String event : eventReq.getValues()) {
- assertTrue("Unexpected event " + event, expectedEvents.contains(event));
- }
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.lttng2.kernel.core.tests/src/org/eclipse/linuxtools/lttng2/kernel/core/tests/event/matchandsync/AllTests.java b/lttng/org.eclipse.linuxtools.lttng2.kernel.core.tests/src/org/eclipse/linuxtools/lttng2/kernel/core/tests/event/matchandsync/AllTests.java
deleted file mode 100644
index e3d58507f4..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.kernel.core.tests/src/org/eclipse/linuxtools/lttng2/kernel/core/tests/event/matchandsync/AllTests.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 École Polytechnique de Montréal
- *
- * 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:
- * Geneviève Bastien - Initial implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.lttng2.kernel.core.tests.event.matchandsync;
-
-import org.junit.runner.RunWith;
-import org.junit.runners.Suite;
-
-/**
- * Test suite for org.eclipse.linuxtools.lttng2.kernel.core.tests.event.matching
- */
-@RunWith(Suite.class)
-@Suite.SuiteClasses({
- ExperimentSyncTest.class,
- MatchAndSyncTest.class
-})
-public class AllTests {
-
-}
diff --git a/lttng/org.eclipse.linuxtools.lttng2.kernel.core.tests/src/org/eclipse/linuxtools/lttng2/kernel/core/tests/event/matchandsync/ExperimentSyncTest.java b/lttng/org.eclipse.linuxtools.lttng2.kernel.core.tests/src/org/eclipse/linuxtools/lttng2/kernel/core/tests/event/matchandsync/ExperimentSyncTest.java
deleted file mode 100644
index 1e7b2447b7..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.kernel.core.tests/src/org/eclipse/linuxtools/lttng2/kernel/core/tests/event/matchandsync/ExperimentSyncTest.java
+++ /dev/null
@@ -1,112 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 École Polytechnique de Montréal
- *
- * 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:
- * Geneviève Bastien - Initial implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.lttng2.kernel.core.tests.event.matchandsync;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assume.assumeTrue;
-
-import org.eclipse.linuxtools.lttng2.kernel.core.event.matching.TcpEventMatching;
-import org.eclipse.linuxtools.lttng2.kernel.core.event.matching.TcpLttngEventMatching;
-import org.eclipse.linuxtools.tmf.core.event.matching.TmfEventMatching;
-import org.eclipse.linuxtools.tmf.core.synchronization.ITmfTimestampTransform;
-import org.eclipse.linuxtools.tmf.core.synchronization.SynchronizationAlgorithm;
-import org.eclipse.linuxtools.tmf.core.synchronization.TimestampTransformFactory;
-import org.eclipse.linuxtools.tmf.core.trace.ITmfTrace;
-import org.eclipse.linuxtools.tmf.core.trace.TmfExperiment;
-import org.eclipse.linuxtools.tmf.ctf.core.CtfTmfTrace;
-import org.eclipse.linuxtools.tmf.ctf.core.tests.shared.CtfTmfTestTrace;
-import org.junit.BeforeClass;
-import org.junit.Test;
-
-/**
- * Tests for experiment syncing
- *
- * @author Geneviève Bastien
- */
-@SuppressWarnings("nls")
-public class ExperimentSyncTest {
-
- private static final String EXPERIMENT = "MyExperiment";
- private static int BLOCK_SIZE = 1000;
-
- /**
- * Initialize some data
- */
- @BeforeClass
- public static void setUp() {
- TmfEventMatching.registerMatchObject(new TcpEventMatching());
- TmfEventMatching.registerMatchObject(new TcpLttngEventMatching());
- }
-
- /**
- * Testing experiment synchronization
- */
- @Test
- public void testExperimentSync() {
- assumeTrue(CtfTmfTestTrace.SYNC_SRC.exists());
- assumeTrue(CtfTmfTestTrace.SYNC_DEST.exists());
- try (CtfTmfTrace trace1 = CtfTmfTestTrace.SYNC_SRC.getTrace();
- CtfTmfTrace trace2 = CtfTmfTestTrace.SYNC_DEST.getTrace();) {
-
- ITmfTrace[] traces = { trace1, trace2 };
- TmfExperiment experiment = new TmfExperiment(traces[0].getEventType(), EXPERIMENT, traces, BLOCK_SIZE);
-
- SynchronizationAlgorithm syncAlgo = experiment.synchronizeTraces(true);
-
- ITmfTimestampTransform tt1 = syncAlgo.getTimestampTransform(trace1);
- ITmfTimestampTransform tt2 = syncAlgo.getTimestampTransform(trace2);
-
- trace1.setTimestampTransform(tt1);
- trace2.setTimestampTransform(tt2);
-
- assertEquals("TmfTimestampLinear [ slope = 0.9999413783703139011056845831168394, offset = 79796507913179.33347660124688298171 ]", tt1.toString());
- assertEquals(TimestampTransformFactory.getDefaultTransform(), tt2);
-
- assertEquals(syncAlgo.getTimestampTransform(trace1.getHostId()), trace1.getTimestampTransform());
- assertEquals(syncAlgo.getTimestampTransform(trace2.getHostId()), trace2.getTimestampTransform());
-
- }
- }
-
- /**
- * Testing synchronization with 3 traces, one of which synchronizes with
- * both other
- */
- @Test
- public void testDjangoExperimentSync() {
- assumeTrue(CtfTmfTestTrace.DJANGO_CLIENT.exists());
- assumeTrue(CtfTmfTestTrace.DJANGO_DB.exists());
- assumeTrue(CtfTmfTestTrace.DJANGO_HTTPD.exists());
- try (CtfTmfTrace trace1 = CtfTmfTestTrace.DJANGO_CLIENT.getTrace();
- CtfTmfTrace trace2 = CtfTmfTestTrace.DJANGO_DB.getTrace();
- CtfTmfTrace trace3 = CtfTmfTestTrace.DJANGO_HTTPD.getTrace();) {
- ITmfTrace[] traces = { trace1, trace2, trace3 };
- TmfExperiment experiment = new TmfExperiment(traces[0].getEventType(), EXPERIMENT, traces, BLOCK_SIZE);
-
- SynchronizationAlgorithm syncAlgo = experiment.synchronizeTraces(true);
-
- ITmfTimestampTransform tt1 = syncAlgo.getTimestampTransform(trace1);
- ITmfTimestampTransform tt2 = syncAlgo.getTimestampTransform(trace2);
- ITmfTimestampTransform tt3 = syncAlgo.getTimestampTransform(trace3);
-
- trace1.setTimestampTransform(tt1);
- trace2.setTimestampTransform(tt2);
- trace3.setTimestampTransform(tt3);
-
- assertEquals(TimestampTransformFactory.getDefaultTransform(), tt1);
- assertEquals("TmfTimestampLinear [ slope = 0.9999996313017589597204633828681240, offset = 498490309972.0038068817738527724192 ]", tt2.toString());
- assertEquals("TmfTimestampLinear [ slope = 1.000000119014882262265342419815932, offset = -166652893534.6189900382736187431134 ]", tt3.toString());
-
- }
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.lttng2.kernel.core.tests/src/org/eclipse/linuxtools/lttng2/kernel/core/tests/event/matchandsync/MatchAndSyncTest.java b/lttng/org.eclipse.linuxtools.lttng2.kernel.core.tests/src/org/eclipse/linuxtools/lttng2/kernel/core/tests/event/matchandsync/MatchAndSyncTest.java
deleted file mode 100644
index e8e7b514ab..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.kernel.core.tests/src/org/eclipse/linuxtools/lttng2/kernel/core/tests/event/matchandsync/MatchAndSyncTest.java
+++ /dev/null
@@ -1,72 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 École Polytechnique de Montréal
- *
- * 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:
- * Geneviève Bastien - Initial implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.lttng2.kernel.core.tests.event.matchandsync;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertTrue;
-import static org.junit.Assume.assumeTrue;
-
-import java.util.LinkedList;
-import java.util.List;
-
-import org.eclipse.linuxtools.lttng2.kernel.core.event.matching.TcpEventMatching;
-import org.eclipse.linuxtools.lttng2.kernel.core.event.matching.TcpLttngEventMatching;
-import org.eclipse.linuxtools.tmf.core.event.matching.TmfEventMatching;
-import org.eclipse.linuxtools.tmf.core.event.matching.TmfNetworkEventMatching;
-import org.eclipse.linuxtools.tmf.core.trace.ITmfTrace;
-import org.eclipse.linuxtools.tmf.ctf.core.CtfTmfTrace;
-import org.eclipse.linuxtools.tmf.ctf.core.tests.shared.CtfTmfTestTrace;
-import org.junit.Test;
-
-/**
- * Tests for {@link TcpEventMatching}
- *
- * @author Geneviève Bastien
- */
-@SuppressWarnings("nls")
-public class MatchAndSyncTest {
-
- /**
- * Testing the packet matching
- */
- @Test
- public void testMatching() {
- final String cr = System.getProperty("line.separator");
- assumeTrue(CtfTmfTestTrace.SYNC_SRC.exists());
- assumeTrue(CtfTmfTestTrace.SYNC_DEST.exists());
- try (CtfTmfTrace trace1 = CtfTmfTestTrace.SYNC_SRC.getTrace();
- CtfTmfTrace trace2 = CtfTmfTestTrace.SYNC_DEST.getTrace();) {
-
- List<ITmfTrace> tracearr = new LinkedList<>();
- tracearr.add(trace1);
- tracearr.add(trace2);
-
- TmfEventMatching.registerMatchObject(new TcpEventMatching());
- TmfEventMatching.registerMatchObject(new TcpLttngEventMatching());
-
- TmfNetworkEventMatching twoTraceMatch = new TmfNetworkEventMatching(tracearr);
- assertTrue(twoTraceMatch.matchEvents());
-
- String stats = twoTraceMatch.toString();
- assertEquals("TmfEventMatches [ Number of matches found: 46 ]" +
- "Trace 0:" + cr +
- " 3 unmatched incoming events" + cr +
- " 2 unmatched outgoing events" + cr +
- "Trace 1:" + cr +
- " 2 unmatched incoming events" + cr +
- " 1 unmatched outgoing events" + cr, stats);
-
- }
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.lttng2.kernel.core.tests/src/org/eclipse/linuxtools/lttng2/kernel/core/tests/stateprovider/GenerateTestValues.java b/lttng/org.eclipse.linuxtools.lttng2.kernel.core.tests/src/org/eclipse/linuxtools/lttng2/kernel/core/tests/stateprovider/GenerateTestValues.java
deleted file mode 100644
index dd85c0e477..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.kernel.core.tests/src/org/eclipse/linuxtools/lttng2/kernel/core/tests/stateprovider/GenerateTestValues.java
+++ /dev/null
@@ -1,141 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013, 2014 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:
- * Alexandre Montplaisir - Initial API and implementation
- ******************************************************************************/
-
-package org.eclipse.linuxtools.lttng2.kernel.core.tests.stateprovider;
-
-import java.io.File;
-import java.io.FileWriter;
-import java.io.PrintWriter;
-import java.util.List;
-
-import org.eclipse.linuxtools.internal.lttng2.kernel.core.stateprovider.LttngKernelStateProvider;
-import org.eclipse.linuxtools.statesystem.core.ITmfStateSystem;
-import org.eclipse.linuxtools.statesystem.core.interval.ITmfStateInterval;
-import org.eclipse.linuxtools.statesystem.core.statevalue.ITmfStateValue;
-import org.eclipse.linuxtools.tmf.core.statesystem.ITmfStateProvider;
-import org.eclipse.linuxtools.tmf.core.statesystem.TmfStateSystemAnalysisModule;
-import org.eclipse.linuxtools.tmf.ctf.core.CtfTmfTrace;
-import org.eclipse.linuxtools.tmf.ctf.core.tests.shared.CtfTmfTestTrace;
-
-/**
- * Small program to regenerate the values used in "TestValues.java" from the
- * current LTTng-kernel state provider.
- *
- * It will write its output the a file called 'TestValues<something>.java' in your
- * temporary files directory.
- *
- * @author Alexandre Montplaisir
- */
-public class GenerateTestValues {
-
- private static CtfTmfTestTrace testTrace = CtfTmfTestTrace.TRACE2;
- private static final long targetTimestamp = 18670067372290L + 1331649577946812237L;
- private static final String INDENT = " ";
-
- /**
- * Run the program
- *
- * @param args
- * Command-line arguments, unused.
- * @throws Exception
- * I'm messing with Exception. Come at me bro!
- */
- public static void main(String[] args) throws Exception {
- if (!testTrace.exists()) {
- System.err.println("Trace files not present.");
- return;
- }
-
- /* Prepare the files */
- File logFile = File.createTempFile("TestValues", ".java");
- try (final CtfTmfTrace trace = testTrace.getTrace();
- PrintWriter writer = new PrintWriter(new FileWriter(logFile), true);
- /* Build and query the state system */
- TmfStateSystemAnalysisModule module = new TmfStateSystemAnalysisModule() {
- @Override
- protected ITmfStateProvider createStateProvider() {
- return new LttngKernelStateProvider(trace);
- }
-
- @Override
- protected String getSsFileName() {
- return "test-values";
- }
- };) {
- module.setTrace(trace);
- module.setId("test-values");
- module.schedule();
- module.waitForCompletion();
- ITmfStateSystem ssq = module.getStateSystem();
- if (ssq == null) {
- throw new IllegalStateException();
- }
-
- List<ITmfStateInterval> fullState = ssq.queryFullState(targetTimestamp);
-
- /* Start printing the java file's contents */
- writer.println("interface TestValues {");
- writer.println();
- writer.println(INDENT + "static final int size = " + fullState.size() + ";");
- writer.println();
-
- /* Print the array contents */
- writer.println(INDENT + "static final long[] startTimes = {");
- for (ITmfStateInterval interval : fullState) {
- writer.println(INDENT + INDENT + String.valueOf(interval.getStartTime()) + "L,");
- }
- writer.println(INDENT + "};");
- writer.println();
-
- writer.println(INDENT + "static final long[] endTimes = {");
- for (ITmfStateInterval interval : fullState) {
- writer.println(INDENT + INDENT + String.valueOf(interval.getEndTime()) + "L,");
- }
- writer.println(INDENT + "};");
- writer.println();
-
- writer.println(INDENT + "static final ITmfStateValue[] values = {");
- for (ITmfStateInterval interval : fullState) {
- ITmfStateValue val = interval.getStateValue();
- writer.print(INDENT + INDENT);
-
- switch (val.getType()) {
- case NULL:
- writer.println("TmfStateValue.nullValue(),");
- break;
- case INTEGER:
- writer.println("TmfStateValue.newValueInt(" + val.unboxInt() + "),");
- break;
- case LONG:
- writer.println("TmfStateValue.newValueLong(" + val.unboxLong() + "),");
- break;
- case DOUBLE:
- writer.println("TmfStateValue.newValueDouble(" + val.unboxDouble() + "),");
- break;
- case STRING:
- writer.println("TmfStateValue.newValueString(\"" + val.unboxStr() + "\"),");
- break;
- default:
- writer.println(val.toString());
- break;
- }
- }
- writer.println(INDENT + "};");
-
- writer.println("}");
- writer.println();
-
- }
- System.exit(0);
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.lttng2.kernel.core.tests/src/org/eclipse/linuxtools/lttng2/kernel/core/tests/stateprovider/LttngKernelStateProviderTest.java b/lttng/org.eclipse.linuxtools.lttng2.kernel.core.tests/src/org/eclipse/linuxtools/lttng2/kernel/core/tests/stateprovider/LttngKernelStateProviderTest.java
deleted file mode 100644
index e6e8074ed0..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.kernel.core.tests/src/org/eclipse/linuxtools/lttng2/kernel/core/tests/stateprovider/LttngKernelStateProviderTest.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2012, 2013 Ericsson
- * Copyright (c) 2010, 2011 École Polytechnique de Montréal
- * Copyright (c) 2010, 2011 Alexandre Montplaisir <alexandre.montplaisir@gmail.com>
- *
- * 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
- *
- *******************************************************************************/
-
-package org.eclipse.linuxtools.lttng2.kernel.core.tests.stateprovider;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assume.assumeTrue;
-
-import org.eclipse.linuxtools.internal.lttng2.kernel.core.stateprovider.LttngKernelStateProvider;
-import org.eclipse.linuxtools.tmf.core.statesystem.ITmfStateProvider;
-import org.eclipse.linuxtools.tmf.ctf.core.tests.shared.CtfTmfTestTrace;
-import org.junit.BeforeClass;
-import org.junit.Test;
-
-/**
- * Tests for the {@link LttngKernelStateProvider}
- *
- * @author Alexandre Montplaisir
- */
-public class LttngKernelStateProviderTest {
-
- private static final CtfTmfTestTrace testTrace = CtfTmfTestTrace.TRACE2;
-
- private static ITmfStateProvider input;
-
- /**
- * Set-up.
- */
- @BeforeClass
- public static void initialize() {
- assumeTrue(testTrace.exists());
- input = new LttngKernelStateProvider(testTrace.getTrace());
-
- }
-
- /**
- * Test loading the state provider.
- */
- @Test
- public void testOpening() {
- long testStartTime;
- testStartTime = input.getStartTime();
- assertEquals(testStartTime, StateSystemTest.startTime);
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.lttng2.kernel.core.tests/src/org/eclipse/linuxtools/lttng2/kernel/core/tests/stateprovider/PartialStateSystemTest.java b/lttng/org.eclipse.linuxtools.lttng2.kernel.core.tests/src/org/eclipse/linuxtools/lttng2/kernel/core/tests/stateprovider/PartialStateSystemTest.java
deleted file mode 100644
index 5e33dcdbd6..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.kernel.core.tests/src/org/eclipse/linuxtools/lttng2/kernel/core/tests/stateprovider/PartialStateSystemTest.java
+++ /dev/null
@@ -1,179 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013, 2014 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:
- * Alexandre Montplaisir - Initial API and implementation
- * Bernd Hufmann - Use state system analysis module instead of factory
- ******************************************************************************/
-
-package org.eclipse.linuxtools.lttng2.kernel.core.tests.stateprovider;
-
-import static org.junit.Assert.assertTrue;
-import static org.junit.Assert.fail;
-
-import java.io.File;
-
-import org.eclipse.jdt.annotation.NonNull;
-import org.eclipse.jdt.annotation.NonNullByDefault;
-import org.eclipse.jdt.annotation.Nullable;
-import org.eclipse.linuxtools.internal.lttng2.kernel.core.stateprovider.LttngKernelStateProvider;
-import org.eclipse.linuxtools.statesystem.core.ITmfStateSystem;
-import org.eclipse.linuxtools.statesystem.core.exceptions.TimeRangeException;
-import org.eclipse.linuxtools.tmf.core.exceptions.TmfAnalysisException;
-import org.eclipse.linuxtools.tmf.core.statesystem.ITmfStateProvider;
-import org.eclipse.linuxtools.tmf.core.statesystem.TmfStateSystemAnalysisModule;
-import org.eclipse.linuxtools.tmf.core.trace.ITmfTrace;
-import org.eclipse.linuxtools.tmf.core.trace.TmfTraceManager;
-import org.eclipse.linuxtools.tmf.ctf.core.CtfTmfTrace;
-import org.junit.After;
-import org.junit.Test;
-
-/**
- * State system tests using a partial history.
- *
- * @author Alexandre Montplaisir
- */
-public class PartialStateSystemTest extends StateSystemTest {
-
- private static final @NonNull String TEST_FILE_NAME = "test-partial";
-
- private File stateFile;
- private TestLttngKernelAnalysisModule module;
-
- @Override
- protected ITmfStateSystem initialize() {
- stateFile = new File(TmfTraceManager.getSupplementaryFileDir(testTrace.getTrace()) + TEST_FILE_NAME);
- if (stateFile.exists()) {
- stateFile.delete();
- }
-
- module = new TestLttngKernelAnalysisModule(TEST_FILE_NAME);
- try {
- module.setTrace(testTrace.getTrace());
- } catch (TmfAnalysisException e) {
- fail();
- }
- module.schedule();
- assertTrue(module.waitForCompletion());
- return module.getStateSystem();
- }
-
- /**
- * Class clean-up
- */
- @After
- public void cleanup() {
- if (module != null) {
- module.close();
- }
- if (stateFile != null) {
- stateFile.delete();
- }
- }
-
- /**
- * Partial histories cannot get the intervals' end times. The fake value that
- * is returned is equal to the query's timestamp. So override this here
- * so that {@link #testFullQueryThorough} keeps working.
- */
- @Override
- protected long getEndTimes(int idx) {
- return interestingTimestamp1;
- }
-
- // ------------------------------------------------------------------------
- // Skip tests using single-queries (unsupported in partial history)
- // ------------------------------------------------------------------------
-
- @Override
- @Test(expected = UnsupportedOperationException.class)
- public void testSingleQuery1() {
- super.testSingleQuery1();
- }
-
- @Override
- @Test(expected = UnsupportedOperationException.class)
- public void testRangeQuery1() {
- super.testRangeQuery1();
- }
-
- @Override
- @Test(expected = UnsupportedOperationException.class)
- public void testRangeQuery2() {
- super.testRangeQuery2();
- }
-
- @Override
- @Test(expected = UnsupportedOperationException.class)
- public void testRangeQuery3() {
- super.testRangeQuery3();
- }
-
- @Override
- @Test(expected = UnsupportedOperationException.class)
- public void testSingleQueryInvalidTime1() throws TimeRangeException {
- super.testSingleQueryInvalidTime1();
- }
-
- @Override
- @Test(expected = UnsupportedOperationException.class)
- public void testSingleQueryInvalidTime2() throws TimeRangeException {
- super.testSingleQueryInvalidTime2();
- }
-
- @Override
- @Test(expected = UnsupportedOperationException.class)
- public void testRangeQueryInvalidTime1() throws TimeRangeException {
- super.testRangeQueryInvalidTime1();
- }
-
- @Override
- @Test(expected = UnsupportedOperationException.class)
- public void testRangeQueryInvalidTime2() throws TimeRangeException {
- super.testRangeQueryInvalidTime2();
- }
-
- @NonNullByDefault
- private static class TestLttngKernelAnalysisModule extends TmfStateSystemAnalysisModule {
-
- private final String htFileName;
-
- /**
- * Constructor adding the views to the analysis
- * @param htFileName
- * The History File Name
- */
- public TestLttngKernelAnalysisModule(String htFileName) {
- super();
- this.htFileName = htFileName;
- }
-
- @Override
- public void setTrace(@Nullable ITmfTrace trace) throws TmfAnalysisException {
- if (!(trace instanceof CtfTmfTrace)) {
- throw new IllegalStateException("TestLttngKernelAnalysisModule: trace should be of type CtfTmfTrace"); //$NON-NLS-1$
- }
- super.setTrace(trace);
- }
-
- @Override
- protected ITmfStateProvider createStateProvider() {
- return new LttngKernelStateProvider(getTrace());
- }
-
- @Override
- protected StateSystemBackendType getBackendType() {
- return StateSystemBackendType.PARTIAL;
- }
-
- @Override
- protected String getSsFileName() {
- return htFileName;
- }
-
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.lttng2.kernel.core.tests/src/org/eclipse/linuxtools/lttng2/kernel/core/tests/stateprovider/StateSystemFullHistoryTest.java b/lttng/org.eclipse.linuxtools.lttng2.kernel.core.tests/src/org/eclipse/linuxtools/lttng2/kernel/core/tests/stateprovider/StateSystemFullHistoryTest.java
deleted file mode 100644
index a8a0f62db7..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.kernel.core.tests/src/org/eclipse/linuxtools/lttng2/kernel/core/tests/stateprovider/StateSystemFullHistoryTest.java
+++ /dev/null
@@ -1,180 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2012, 2014 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:
- * Alexandre Montplaisir - Initial API and implementation
- * Bernd Hufmann - Use state system analysis module instead of factory
- ******************************************************************************/
-
-package org.eclipse.linuxtools.lttng2.kernel.core.tests.stateprovider;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertTrue;
-import static org.junit.Assert.fail;
-
-import java.io.File;
-
-import org.eclipse.jdt.annotation.NonNull;
-import org.eclipse.jdt.annotation.NonNullByDefault;
-import org.eclipse.jdt.annotation.Nullable;
-import org.eclipse.linuxtools.internal.lttng2.kernel.core.stateprovider.LttngKernelStateProvider;
-import org.eclipse.linuxtools.statesystem.core.ITmfStateSystem;
-import org.eclipse.linuxtools.tmf.core.exceptions.TmfAnalysisException;
-import org.eclipse.linuxtools.tmf.core.statesystem.ITmfStateProvider;
-import org.eclipse.linuxtools.tmf.core.statesystem.TmfStateSystemAnalysisModule;
-import org.eclipse.linuxtools.tmf.core.trace.ITmfTrace;
-import org.eclipse.linuxtools.tmf.core.trace.TmfTraceManager;
-import org.eclipse.linuxtools.tmf.ctf.core.CtfTmfTrace;
-import org.junit.After;
-import org.junit.Test;
-
-/**
- * State system tests using a full history back-end and the LTTng kernel state
- * input.
- *
- * @author Alexandre Montplaisir
- */
-public class StateSystemFullHistoryTest extends StateSystemTest {
-
- private static final @NonNull String TEST_FILE_NAME = "test.ht";
- private static final @NonNull String BENCHMARK_FILE_NAME = "test.benchmark.ht";
-
- private File stateFile;
- private File stateFileBenchmark;
- private TestLttngKernelAnalysisModule module;
-
- @Override
- protected ITmfStateSystem initialize() {
- stateFile = createStateFile(TEST_FILE_NAME);
- stateFileBenchmark = createStateFile(BENCHMARK_FILE_NAME);
-
- module = new TestLttngKernelAnalysisModule(TEST_FILE_NAME);
- try {
- module.setTrace(testTrace.getTrace());
- } catch (TmfAnalysisException e) {
- fail();
- }
- module.schedule();
- assertTrue(module.waitForCompletion());
- return module.getStateSystem();
- }
-
- /**
- * Clean-up
- */
- @After
- public void cleanup() {
- if (module != null) {
- module.close();
- }
- if (stateFile != null) {
- stateFile.delete();
- }
- if (stateFileBenchmark != null) {
- stateFileBenchmark.delete();
- }
- }
-
- // ------------------------------------------------------------------------
- // Tests specific to a full-history
- // ------------------------------------------------------------------------
-
- /**
- * Rebuild independently so we can benchmark it. Too bad JUnit doesn't allow
- * us to @Test the @BeforeClass...
- */
- @Test
- public void testBuild() {
- try (TestLttngKernelAnalysisModule module2 =
- new TestLttngKernelAnalysisModule(BENCHMARK_FILE_NAME);) {
- try {
- module2.setTrace(testTrace.getTrace());
- } catch (TmfAnalysisException e) {
- fail();
- }
- module2.schedule();
- assertTrue(module2.waitForCompletion());
- ITmfStateSystem ssb2 = module2.getStateSystem();
-
- assertNotNull(ssb2);
- assertEquals(startTime, ssb2.getStartTime());
- assertEquals(endTime, ssb2.getCurrentEndTime());
- }
- }
-
- /**
- * Test re-opening the existing file.
- */
- @Test
- public void testOpenExistingStateFile() {
- /* 'newStateFile' should have already been created */
- try (TestLttngKernelAnalysisModule module2 = new TestLttngKernelAnalysisModule(TEST_FILE_NAME);) {
- try {
- module2.setTrace(testTrace.getTrace());
- } catch (TmfAnalysisException e) {
- fail();
- }
- module2.schedule();
- assertTrue(module2.waitForCompletion());
- ITmfStateSystem ssb2 = module2.getStateSystem();
-
- assertNotNull(ssb2);
- assertEquals(startTime, ssb2.getStartTime());
- assertEquals(endTime, ssb2.getCurrentEndTime());
- }
- }
-
- @NonNullByDefault
- private static class TestLttngKernelAnalysisModule extends TmfStateSystemAnalysisModule {
-
- private final String htFileName;
-
- /**
- * Constructor adding the views to the analysis
- * @param htFileName
- * The History File Name
- */
- public TestLttngKernelAnalysisModule(String htFileName) {
- super();
- this.htFileName = htFileName;
- }
-
- @Override
- public void setTrace(@Nullable ITmfTrace trace) throws TmfAnalysisException {
- if (!(trace instanceof CtfTmfTrace)) {
- throw new IllegalStateException("TestLttngKernelAnalysisModule: trace should be of type CtfTmfTrace"); //$NON-NLS-1$
- }
- super.setTrace(trace);
- }
-
- @Override
- protected ITmfStateProvider createStateProvider() {
- return new LttngKernelStateProvider(getTrace());
- }
-
- @Override
- protected StateSystemBackendType getBackendType() {
- return StateSystemBackendType.FULL;
- }
-
- @Override
- protected String getSsFileName() {
- return htFileName;
- }
- }
-
- private static File createStateFile(String name) {
- File file = new File(TmfTraceManager.getSupplementaryFileDir(testTrace.getTrace()) + name);
- if (file.exists()) {
- file.delete();
- }
- return file;
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.lttng2.kernel.core.tests/src/org/eclipse/linuxtools/lttng2/kernel/core/tests/stateprovider/StateSystemInMemoryTest.java b/lttng/org.eclipse.linuxtools.lttng2.kernel.core.tests/src/org/eclipse/linuxtools/lttng2/kernel/core/tests/stateprovider/StateSystemInMemoryTest.java
deleted file mode 100644
index 80cec1cbd7..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.kernel.core.tests/src/org/eclipse/linuxtools/lttng2/kernel/core/tests/stateprovider/StateSystemInMemoryTest.java
+++ /dev/null
@@ -1,87 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013, 2014 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:
- * Alexandre Montplaisir - Initial API and implementation
- * Bernd Hufmann - Use state system analysis module instead of factory
- ******************************************************************************/
-
-package org.eclipse.linuxtools.lttng2.kernel.core.tests.stateprovider;
-
-import static org.junit.Assert.assertTrue;
-import static org.junit.Assert.fail;
-
-import org.eclipse.linuxtools.internal.lttng2.kernel.core.stateprovider.LttngKernelStateProvider;
-import org.eclipse.linuxtools.statesystem.core.ITmfStateSystem;
-import org.eclipse.linuxtools.tmf.core.exceptions.TmfAnalysisException;
-import org.eclipse.linuxtools.tmf.core.statesystem.ITmfStateProvider;
-import org.eclipse.linuxtools.tmf.core.statesystem.TmfStateSystemAnalysisModule;
-import org.eclipse.linuxtools.tmf.core.trace.ITmfTrace;
-import org.eclipse.linuxtools.tmf.ctf.core.CtfTmfTrace;
-import org.junit.After;
-
-/**
- * State system tests using the in-memory back-end.
- *
- * @author Alexandre Montplaisir
- */
-public class StateSystemInMemoryTest extends StateSystemTest {
-
- private TestLttngKernelAnalysisModule module;
-
- @Override
- protected ITmfStateSystem initialize() {
- module = new TestLttngKernelAnalysisModule();
- try {
- module.setTrace(testTrace.getTrace());
- } catch (TmfAnalysisException e) {
- fail();
- }
- module.schedule();
- assertTrue(module.waitForCompletion());
- return module.getStateSystem();
- }
-
- /**
- * Class cleanup
- */
- @After
- public void cleanup() {
- if (module != null) {
- module.close();
- }
- }
-
- private static class TestLttngKernelAnalysisModule extends TmfStateSystemAnalysisModule {
-
- /**
- * Constructor adding the views to the analysis
- */
- public TestLttngKernelAnalysisModule() {
- super();
- }
-
- @Override
- public void setTrace(ITmfTrace trace) throws TmfAnalysisException {
- if (!(trace instanceof CtfTmfTrace)) {
- throw new IllegalStateException("TestLttngKernelAnalysisModule: trace should be of type CtfTmfTrace"); //$NON-NLS-1$
- }
- super.setTrace(trace);
- }
-
- @Override
- protected ITmfStateProvider createStateProvider() {
- return new LttngKernelStateProvider(getTrace());
- }
-
- @Override
- protected StateSystemBackendType getBackendType() {
- return StateSystemBackendType.INMEM;
- }
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.lttng2.kernel.core.tests/src/org/eclipse/linuxtools/lttng2/kernel/core/tests/stateprovider/StateSystemTest.java b/lttng/org.eclipse.linuxtools.lttng2.kernel.core.tests/src/org/eclipse/linuxtools/lttng2/kernel/core/tests/stateprovider/StateSystemTest.java
deleted file mode 100644
index 32e1ed23f7..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.kernel.core.tests/src/org/eclipse/linuxtools/lttng2/kernel/core/tests/stateprovider/StateSystemTest.java
+++ /dev/null
@@ -1,431 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2012, 2014 Ericsson
- * Copyright (c) 2010, 2011 École Polytechnique de Montréal
- * Copyright (c) 2010, 2011 Alexandre Montplaisir <alexandre.montplaisir@gmail.com>
- *
- * 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
- *
- *******************************************************************************/
-
-package org.eclipse.linuxtools.lttng2.kernel.core.tests.stateprovider;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertTrue;
-import static org.junit.Assert.fail;
-import static org.junit.Assume.assumeTrue;
-
-import java.util.List;
-
-import org.eclipse.linuxtools.internal.lttng2.kernel.core.Attributes;
-import org.eclipse.linuxtools.statesystem.core.ITmfStateSystem;
-import org.eclipse.linuxtools.statesystem.core.exceptions.AttributeNotFoundException;
-import org.eclipse.linuxtools.statesystem.core.exceptions.StateSystemDisposedException;
-import org.eclipse.linuxtools.statesystem.core.exceptions.StateValueTypeException;
-import org.eclipse.linuxtools.statesystem.core.exceptions.TimeRangeException;
-import org.eclipse.linuxtools.statesystem.core.interval.ITmfStateInterval;
-import org.eclipse.linuxtools.statesystem.core.statevalue.ITmfStateValue;
-import org.eclipse.linuxtools.tmf.ctf.core.tests.shared.CtfTmfTestTrace;
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Rule;
-import org.junit.Test;
-import org.junit.rules.TestRule;
-import org.junit.rules.Timeout;
-
-/**
- * Base unit tests for the StateHistorySystem. Extension can be made to test
- * different state back-end types or configurations.
- *
- * @author Alexandre Montplaisir
- */
-@SuppressWarnings("javadoc")
-public abstract class StateSystemTest {
-
- /** Timeout the tests after 2 minutes */
- @Rule
- public TestRule timeoutRule = new Timeout(120000);
-
- /** Test trace used for these tests */
- protected static final CtfTmfTestTrace testTrace = CtfTmfTestTrace.TRACE2;
-
- /** Expected start time of the test trace/state history */
- protected static final long startTime = 1331668247314038062L;
-
- /** Expected end time of the state history built from the test trace */
- protected static final long endTime = 1331668259054285979L;
-
- /** Offset in the trace + start time of the trace */
- protected static final long interestingTimestamp1 = 18670067372290L + 1331649577946812237L;
-
- /** Number of nanoseconds in one second */
- private static final long NANOSECS_PER_SEC = 1000000000L;
-
- private ITmfStateSystem fixture;
-
-
- /**
- * Class set-up
- */
- @Before
- public void setUp() {
- assumeTrue(testTrace.exists());
- fixture = this.initialize();
- assertNotNull(fixture);
- }
-
- protected abstract ITmfStateSystem initialize();
-
- @After
- public void tearDown() {
- if (fixture != null) {
- fixture.dispose();
- }
- fixture = null;
- }
-
- @Test
- public void testFullQuery1() {
- List<ITmfStateInterval> list;
- ITmfStateInterval interval;
- int quark, valueInt;
- String valueStr;
-
- try {
- list = fixture.queryFullState(interestingTimestamp1);
-
- quark = fixture.getQuarkAbsolute(Attributes.CPUS, "0", Attributes.CURRENT_THREAD);
- interval = list.get(quark);
- valueInt = interval.getStateValue().unboxInt();
- assertEquals(1397, valueInt);
-
- quark = fixture.getQuarkAbsolute(Attributes.THREADS, "1432", Attributes.EXEC_NAME);
- interval = list.get(quark);
- valueStr = interval.getStateValue().unboxStr();
- assertEquals("gdbus", valueStr);
-
- quark = fixture.getQuarkAbsolute(Attributes.THREADS, "1432", Attributes.SYSTEM_CALL);
- interval = list.get(quark);
- valueStr = interval.getStateValue().unboxStr();
- assertTrue(valueStr.equals("sys_poll"));
-
- } catch (AttributeNotFoundException | StateSystemDisposedException e) {
- fail();
- }
- }
-
- @Test
- public void testSingleQuery1() {
- long timestamp = interestingTimestamp1;
- int quark;
- ITmfStateInterval interval;
- String valueStr;
-
- try {
- quark = fixture.getQuarkAbsolute(Attributes.THREADS, "1432", Attributes.EXEC_NAME);
- interval = fixture.querySingleState(timestamp, quark);
- valueStr = interval.getStateValue().unboxStr();
- assertEquals("gdbus", valueStr);
-
- } catch (AttributeNotFoundException | StateSystemDisposedException e) {
- fail();
- }
- }
-
- /**
- * Test a range query (with no resolution parameter, so all intervals)
- */
- @Test
- public void testRangeQuery1() {
- long time1 = interestingTimestamp1;
- long time2 = time1 + 1L * NANOSECS_PER_SEC;
- int quark;
- List<ITmfStateInterval> intervals;
-
- try {
- quark = fixture.getQuarkAbsolute(Attributes.CPUS, "0", Attributes.CURRENT_THREAD);
- intervals = fixture.queryHistoryRange(quark, time1, time2);
- assertEquals(487, intervals.size()); /* Number of context switches! */
- assertEquals(1685, intervals.get(100).getStateValue().unboxInt());
- assertEquals(1331668248427681372L, intervals.get(205).getEndTime());
-
- } catch (AttributeNotFoundException | StateSystemDisposedException e) {
- fail();
- }
- }
-
- /**
- * Range query, but with a t2 far off the end of the trace. The result
- * should still be valid.
- */
- @Test
- public void testRangeQuery2() {
- List<ITmfStateInterval> intervals;
-
- try {
- int quark = fixture.getQuarkAbsolute(Attributes.RESOURCES, Attributes.IRQS, "1");
- long ts1 = fixture.getStartTime(); /* start of the trace */
- long ts2 = startTime + 20L * NANOSECS_PER_SEC; /* invalid, but ignored */
-
- intervals = fixture.queryHistoryRange(quark, ts1, ts2);
-
- /* Activity of IRQ 1 over the whole trace */
- assertEquals(65, intervals.size());
-
- } catch (AttributeNotFoundException | StateSystemDisposedException e) {
- fail();
- }
- }
-
- /**
- * Test a range query with a resolution
- */
- @Test
- public void testRangeQuery3() {
- long time1 = interestingTimestamp1;
- long time2 = time1 + 1L * NANOSECS_PER_SEC;
- long resolution = 1000000; /* One query every millisecond */
- int quark;
- List<ITmfStateInterval> intervals;
-
- try {
- quark = fixture.getQuarkAbsolute(Attributes.CPUS, "0", Attributes.CURRENT_THREAD);
- intervals = fixture.queryHistoryRange(quark, time1, time2, resolution, null);
- assertEquals(126, intervals.size()); /* Number of context switches! */
- assertEquals(1452, intervals.get(50).getStateValue().unboxInt());
- assertEquals(1331668248815698779L, intervals.get(100).getEndTime());
-
- } catch (AttributeNotFoundException | StateSystemDisposedException e) {
- fail();
- }
- }
-
- /**
- * Ask for a time range outside of the trace's range
- */
- @Test(expected = TimeRangeException.class)
- public void testFullQueryInvalidTime1() throws TimeRangeException,
- StateSystemDisposedException {
- long ts = startTime + 20L * NANOSECS_PER_SEC;
- fixture.queryFullState(ts);
- }
-
- @Test(expected = TimeRangeException.class)
- public void testFullQueryInvalidTime2() throws TimeRangeException,
- StateSystemDisposedException {
- long ts = startTime - 20L * NANOSECS_PER_SEC;
- fixture.queryFullState(ts);
- }
-
- @Test(expected = TimeRangeException.class)
- public void testSingleQueryInvalidTime1() throws TimeRangeException {
- try {
- int quark = fixture.getQuarkAbsolute(Attributes.CPUS, "0", Attributes.CURRENT_THREAD);
- long ts = startTime + 20L * NANOSECS_PER_SEC;
- fixture.querySingleState(ts, quark);
-
- } catch (AttributeNotFoundException | StateSystemDisposedException e) {
- fail();
- }
- }
-
- @Test(expected = TimeRangeException.class)
- public void testSingleQueryInvalidTime2() throws TimeRangeException {
- try {
- int quark = fixture.getQuarkAbsolute(Attributes.CPUS, "0", Attributes.CURRENT_THREAD);
- long ts = startTime - 20L * NANOSECS_PER_SEC;
- fixture.querySingleState(ts, quark);
-
- } catch (AttributeNotFoundException | StateSystemDisposedException e) {
- fail();
- }
- }
-
- @Test(expected = TimeRangeException.class)
- public void testRangeQueryInvalidTime1() throws TimeRangeException {
- try {
- int quark = fixture.getQuarkAbsolute(Attributes.CPUS, "0", Attributes.CURRENT_THREAD);
- long ts1 = startTime - 20L * NANOSECS_PER_SEC; /* invalid */
- long ts2 = startTime + 1L * NANOSECS_PER_SEC; /* valid */
- fixture.queryHistoryRange(quark, ts1, ts2);
-
- } catch (AttributeNotFoundException e) {
- fail();
- } catch (StateSystemDisposedException e) {
- fail();
- }
- }
-
- @Test(expected = TimeRangeException.class)
- public void testRangeQueryInvalidTime2() throws TimeRangeException {
- try {
- int quark = fixture.getQuarkAbsolute(Attributes.CPUS, "0", Attributes.CURRENT_THREAD);
- long ts1 = startTime - 1L * NANOSECS_PER_SEC; /* invalid */
- long ts2 = startTime + 20L * NANOSECS_PER_SEC; /* invalid */
- fixture.queryHistoryRange(quark, ts1, ts2);
-
- } catch (AttributeNotFoundException | StateSystemDisposedException e) {
- fail();
- }
- }
-
- /**
- * Ask for a non-existing attribute
- *
- * @throws AttributeNotFoundException
- */
- @Test(expected = AttributeNotFoundException.class)
- public void testQueryInvalidAttribute() throws AttributeNotFoundException {
- fixture.getQuarkAbsolute("There", "is", "no", "cow", "level");
- }
-
- /**
- * Query but with the wrong State Value type
- */
- @Test(expected = StateValueTypeException.class)
- public void testQueryInvalidValuetype1() throws StateValueTypeException {
- List<ITmfStateInterval> list;
- ITmfStateInterval interval;
- int quark;
-
- try {
- list = fixture.queryFullState(interestingTimestamp1);
- quark = fixture.getQuarkAbsolute(Attributes.CPUS, "0", Attributes.CURRENT_THREAD);
- interval = list.get(quark);
-
- /* This is supposed to be an int value */
- interval.getStateValue().unboxStr();
-
- } catch (AttributeNotFoundException | StateSystemDisposedException e) {
- fail();
- }
- }
-
- @Test(expected = StateValueTypeException.class)
- public void testQueryInvalidValuetype2() throws StateValueTypeException {
- List<ITmfStateInterval> list;
- ITmfStateInterval interval;
- int quark;
-
- try {
- list = fixture.queryFullState(interestingTimestamp1);
- quark = fixture.getQuarkAbsolute(Attributes.THREADS, "1432", Attributes.EXEC_NAME);
- interval = list.get(quark);
-
- /* This is supposed to be a String value */
- interval.getStateValue().unboxInt();
-
- } catch (AttributeNotFoundException | StateSystemDisposedException e) {
- fail();
- }
- }
-
- @Test
- public void testFullAttributeName() {
- try {
- int quark = fixture.getQuarkAbsolute(Attributes.CPUS, "0", Attributes.CURRENT_THREAD);
- String name = fixture.getFullAttributePath(quark);
- assertEquals(name, "CPUs/0/Current_thread");
-
- } catch (AttributeNotFoundException e) {
- fail();
- }
- }
-
- @Test
- public void testGetQuarks_begin() {
- List<Integer> list = fixture.getQuarks("*", "1577", Attributes.EXEC_NAME);
-
- assertEquals(1, list.size());
- }
-
- @Test
- public void testGetQuarks_middle() {
- List<Integer> list = fixture.getQuarks(Attributes.THREADS, "*", Attributes.EXEC_NAME);
-
- /* Number of different kernel threads in the trace */
- assertEquals(168, list.size());
- }
-
- @Test
- public void testGetQuarks_end() {
- List<Integer> list = fixture.getQuarks(Attributes.THREADS, "1577", "*");
-
- /* There should be 4 sub-attributes for each Thread node */
- assertEquals(4, list.size());
- }
-
- // ------------------------------------------------------------------------
- // Tests verifying the *complete* results of a full queries
- // ------------------------------------------------------------------------
-
- protected long getStartTimes(int idx) {
- return TestValues.startTimes[idx];
- }
-
- protected long getEndTimes(int idx) {
- return TestValues.endTimes[idx];
- }
-
- protected ITmfStateValue getStateValues(int idx) {
- return TestValues.values[idx];
- }
-
- @Test
- public void testFullQueryThorough() {
- try {
- List<ITmfStateInterval> state = fixture.queryFullState(interestingTimestamp1);
- assertEquals(TestValues.size, state.size());
-
- for (int i = 0; i < state.size(); i++) {
- /* Test each component of the intervals */
- assertEquals(getStartTimes(i), state.get(i).getStartTime());
- assertEquals(getEndTimes(i), state.get(i).getEndTime());
- assertEquals(i, state.get(i).getAttribute());
- assertEquals(getStateValues(i), state.get(i).getStateValue());
- }
-
- } catch (StateSystemDisposedException e) {
- fail();
- }
- }
-
- @Test
- public void testFirstIntervalIsConsidered() {
- try {
- List<ITmfStateInterval> list = fixture.queryFullState(1331668248014135800L);
- ITmfStateInterval interval = list.get(233);
- assertEquals(1331668247516664825L, interval.getStartTime());
-
- int valueInt = interval.getStateValue().unboxInt();
- assertEquals(1, valueInt);
-
- } catch (StateSystemDisposedException e) {
- fail();
- }
- }
-
- @Test
- public void testParentAttribute() {
- String[] path = { "CPUs/0/Current_thread",
- "CPUs/0",
- "CPUs" };
- try {
- int q = fixture.getQuarkAbsolute(Attributes.CPUS, "0", Attributes.CURRENT_THREAD);
- for (int i = 0; i < path.length; i++) {
- String name = fixture.getFullAttributePath(q);
- assertEquals(path[i], name);
- q = fixture.getParentAttributeQuark(q);
- }
- assertEquals(-1, q);
- q = fixture.getParentAttributeQuark(q);
- assertEquals(-1, q);
- } catch (AttributeNotFoundException e) {
- fail();
- }
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.lttng2.kernel.core.tests/src/org/eclipse/linuxtools/lttng2/kernel/core/tests/stateprovider/TestAll.java b/lttng/org.eclipse.linuxtools.lttng2.kernel.core.tests/src/org/eclipse/linuxtools/lttng2/kernel/core/tests/stateprovider/TestAll.java
deleted file mode 100644
index a6c1d58926..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.kernel.core.tests/src/org/eclipse/linuxtools/lttng2/kernel/core/tests/stateprovider/TestAll.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2012, 2013 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:
- * Alexandre Montplaisir - Initial implementation
- ******************************************************************************/
-
-package org.eclipse.linuxtools.lttng2.kernel.core.tests.stateprovider;
-
-import org.junit.runner.RunWith;
-import org.junit.runners.Suite;
-
-/**
- * Runner for the LTTng kernel state system tests.
- */
-@RunWith(Suite.class)
-@Suite.SuiteClasses({
- LttngKernelStateProviderTest.class,
- PartialStateSystemTest.class,
- StateSystemFullHistoryTest.class,
- StateSystemInMemoryTest.class
-})
-public class TestAll {
-
-}
diff --git a/lttng/org.eclipse.linuxtools.lttng2.kernel.core.tests/src/org/eclipse/linuxtools/lttng2/kernel/core/tests/stateprovider/TestValues.java b/lttng/org.eclipse.linuxtools.lttng2.kernel.core.tests/src/org/eclipse/linuxtools/lttng2/kernel/core/tests/stateprovider/TestValues.java
deleted file mode 100644
index 97d469f433..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.kernel.core.tests/src/org/eclipse/linuxtools/lttng2/kernel/core/tests/stateprovider/TestValues.java
+++ /dev/null
@@ -1,2625 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 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:
- * Alexandre Montplaisir - Initial API and implementation
- ******************************************************************************/
-
-package org.eclipse.linuxtools.lttng2.kernel.core.tests.stateprovider;
-
-import org.eclipse.linuxtools.statesystem.core.statevalue.ITmfStateValue;
-import org.eclipse.linuxtools.statesystem.core.statevalue.TmfStateValue;
-
-/**
- * Expected return values of querying test trace #1's state system at time
- * "18670067372290L + 1331649577946812237L"
- *
- * @author Alexandre Montplaisir
- */
-interface TestValues {
-
- static final int size = 863;
-
- static final long[] startTimes = {
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668248014145796L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247399757985L,
- 1331668247316320929L,
- 1331668247316334243L,
- 1331668247314046266L,
- 1331668247314038062L,
- 1331668248014183954L,
- 1331668247314038062L,
- 1331668247327098502L,
- 1331668247327098502L,
- 1331668247327098502L,
- 1331668247327098502L,
- 1331668247314038062L,
- 1331668247415001807L,
- 1331668247415001807L,
- 1331668247415001807L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668248013353414L,
- 1331668248004935409L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668248014184526L,
- 1331668248014130616L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668248011125682L,
- 1331668247314038062L,
- 1331668247931793142L,
- 1331668247959041965L,
- 1331668248011129576L,
- 1331668247314038062L,
- 1331668247335106720L,
- 1331668247335106720L,
- 1331668247335106720L,
- 1331668247335106720L,
- 1331668247931782426L,
- 1331668247315274351L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247335112802L,
- 1331668247335112802L,
- 1331668247335112802L,
- 1331668247335112802L,
- 1331668247314038062L,
- 1331668248004705322L,
- 1331668247314038062L,
- 1331668248004935409L,
- 1331668248004925240L,
- 1331668247316553071L,
- 1331668247314038062L,
- 1331668247399743968L,
- 1331668247316925661L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247999256178L,
- 1331668247999250697L,
- 1331668247318567561L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247999336085L,
- 1331668247999327778L,
- 1331668247318631139L,
- 1331668247314038062L,
- 1331668247960265258L,
- 1331668247314038062L,
- 1331668247903884233L,
- 1331668247903869067L,
- 1331668247328403934L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247908495390L,
- 1331668247908464125L,
- 1331668247328921944L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247903840082L,
- 1331668247903831313L,
- 1331668247329404733L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247960291263L,
- 1331668247314038062L,
- 1331668247330548245L,
- 1331668247314038062L,
- 1331668247340039213L,
- 1331668247340083580L,
- 1331668247966976915L,
- 1331668247314038062L,
- 1331668248004729173L,
- 1331668247314038062L,
- 1331668247371137735L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247387196023L,
- 1331668247387191465L,
- 1331668247376420842L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247400231496L,
- 1331668247400218303L,
- 1331668247378430187L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247751186217L,
- 1331668247314038062L,
- 1331668247387136191L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247415047817L,
- 1331668247415047817L,
- 1331668247415047817L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247400095883L,
- 1331668247400085049L,
- 1331668247399991225L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247401441000L,
- 1331668247401428073L,
- 1331668247400779449L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247410754305L,
- 1331668247314038062L,
- 1331668247519727372L,
- 1331668247314038062L,
- 1331668247412887695L,
- 1331668247314038062L,
- 1331668247413704524L,
- 1331668247412877246L,
- 1331668247410583861L,
- 1331668247314038062L,
- 1331668247410735104L,
- 1331668247410594291L,
- 1331668247314038062L,
- 1331668247413682702L,
- 1331668247410844189L,
- 1331668247314038062L,
- 1331668247519712481L,
- 1331668247411099759L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247924029486L,
- 1331668247924012402L,
- 1331668247412302666L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247924105876L,
- 1331668247924098044L,
- 1331668247417574343L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668248014184526L,
- 1331668248014130616L,
- 1331668247417635948L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247928627023L,
- 1331668247928621067L,
- 1331668247417978805L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247928556625L,
- 1331668247928529840L,
- 1331668247418470511L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247930341625L,
- 1331668247314038062L,
- 1331668248014184526L,
- 1331668248013793850L,
- 1331668247419578477L,
- 1331668247314038062L,
- 1331668247930328175L,
- 1331668247419655652L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668248013753736L,
- 1331668248013749389L,
- 1331668247420382626L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247930579872L,
- 1331668247930574368L,
- 1331668247420451876L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247926378321L,
- 1331668247926367737L,
- 1331668247423543945L,
- 1331668247314038062L,
- 1331668247619316825L,
- 1331668247619491008L,
- 1331668247314038062L,
- 1331668247619505885L,
- 1331668247619495072L,
- 1331668247434248026L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247434551326L,
- 1331668247434546203L,
- 1331668247434365352L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247908325947L,
- 1331668247908319810L,
- 1331668247467380509L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247908677700L,
- 1331668247908640244L,
- 1331668247467447781L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247869556425L,
- 1331668247869544380L,
- 1331668247503177108L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247504321893L,
- 1331668247504319470L,
- 1331668247503423094L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668248014183954L,
- 1331668248014183954L,
- 1331668247512172527L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247539381562L,
- 1331668247539369787L,
- 1331668247539325848L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247735177820L,
- 1331668247735170303L,
- 1331668247735128110L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247735168206L,
- 1331668247735161964L,
- 1331668247735152717L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247775218227L,
- 1331668247314038062L,
- 1331668247775231079L,
- 1331668247775205377L,
- 1331668247775191569L,
- 1331668247314038062L,
- 1331668247775223776L,
- 1331668247775218227L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247869483379L,
- 1331668247869477795L,
- 1331668247869457807L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247941667986L,
- 1331668247941650415L,
- 1331668247941620894L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- 1331668247314038062L,
- };
-
- static final long[] endTimes = {
- 1331668259054285979L,
- 1331668259054285979L,
- 1331668248014620024L,
- 1331668259054285979L,
- 1331668259054285979L,
- 1331668259054285979L,
- 1331668259054285979L,
- 1331668259054130388L,
- 1331668259054285979L,
- 1331668259054285979L,
- 1331668259054285979L,
- 1331668259054285979L,
- 1331668248014185078L,
- 1331668259054285979L,
- 1331668259054285979L,
- 1331668259054285979L,
- 1331668259054285979L,
- 1331668259054285979L,
- 1331668259054285979L,
- 1331668259054285979L,
- 1331668259054285979L,
- 1331668259054285979L,
- 1331668259054285979L,
- 1331668259054285979L,
- 1331668259054285979L,
- 1331668248014620024L,
- 1331668248014620024L,
- 1331668259054285979L,
- 1331668259054285979L,
- 1331668248014548923L,
- 1331668248014188534L,
- 1331668259054285979L,
- 1331668259054285979L,
- 1331668248015040151L,
- 1331668259054285979L,
- 1331668248482983146L,
- 1331668248015041609L,
- 1331668248015176320L,
- 1331668259054285979L,
- 1331668259054285979L,
- 1331668259054285979L,
- 1331668259054285979L,
- 1331668259054285979L,
- 1331668248483009726L,
- 1331668259054285979L,
- 1331668259054285979L,
- 1331668259054285979L,
- 1331668259054285979L,
- 1331668259054285979L,
- 1331668259054285979L,
- 1331668259054285979L,
- 1331668259054285979L,
- 1331668248015959980L,
- 1331668259054285979L,
- 1331668248016172023L,
- 1331668248016194935L,
- 1331668259054285979L,
- 1331668259054285979L,
- 1331668259054136697L,
- 1331668259054285979L,
- 1331668259054285979L,
- 1331668259054285979L,
- 1331668248016556933L,
- 1331668248016592456L,
- 1331668252511012367L,
- 1331668259054285979L,
- 1331668259054285979L,
- 1331668248016623209L,
- 1331668248016645047L,
- 1331668252843104826L,
- 1331668259054285979L,
- 1331668248486545657L,
- 1331668259054285979L,
- 1331668248502954816L,
- 1331668248503000162L,
- 1331668259054285979L,
- 1331668259054285979L,
- 1331668259054285979L,
- 1331668248020364249L,
- 1331668248020419523L,
- 1331668259054285979L,
- 1331668259054285979L,
- 1331668259054285979L,
- 1331668248020866943L,
- 1331668248020888352L,
- 1331668259054285979L,
- 1331668259054285979L,
- 1331668259054285979L,
- 1331668248531200073L,
- 1331668259054285979L,
- 1331668259054285979L,
- 1331668259054285979L,
- 1331668257323835062L,
- 1331668257323879563L,
- 1331668248021867385L,
- 1331668259054285979L,
- 1331668248175307354L,
- 1331668259054285979L,
- 1331668259054285979L,
- 1331668259054285979L,
- 1331668259054285979L,
- 1331668259054285979L,
- 1331668259054285979L,
- 1331668259054285979L,
- 1331668259054285979L,
- 1331668259054285979L,
- 1331668259051873438L,
- 1331668259051879701L,
- 1331668259054285979L,
- 1331668259054285979L,
- 1331668259054285979L,
- 1331668248751061201L,
- 1331668259054285979L,
- 1331668259054285979L,
- 1331668259054285979L,
- 1331668259054285979L,
- 1331668259054285979L,
- 1331668259054285979L,
- 1331668259054285979L,
- 1331668259054285979L,
- 1331668259054285979L,
- 1331668259051838247L,
- 1331668259051846351L,
- 1331668259054285979L,
- 1331668259054285979L,
- 1331668259054285979L,
- 1331668257325265220L,
- 1331668257325277639L,
- 1331668259054285979L,
- 1331668259054285979L,
- 1331668259054285979L,
- 1331668250005943125L,
- 1331668259054285979L,
- 1331668248014565260L,
- 1331668259054285979L,
- 1331668250006219013L,
- 1331668259054285979L,
- 1331668250004649129L,
- 1331668250006228246L,
- 1331668259054285979L,
- 1331668259054285979L,
- 1331668250005962644L,
- 1331668259054285979L,
- 1331668259054285979L,
- 1331668250004668081L,
- 1331668259054285979L,
- 1331668259054285979L,
- 1331668248014624125L,
- 1331668259054285979L,
- 1331668259054285979L,
- 1331668259054285979L,
- 1331668248414826115L,
- 1331668248414875444L,
- 1331668259054285979L,
- 1331668259054285979L,
- 1331668259054285979L,
- 1331668248420327828L,
- 1331668248420342919L,
- 1331668259054285979L,
- 1331668259054285979L,
- 1331668259054285979L,
- 1331668248015353903L,
- 1331668248015428919L,
- 1331668259054285979L,
- 1331668259054285979L,
- 1331668259054285979L,
- 1331668248420617453L,
- 1331668248420709272L,
- 1331668259054285979L,
- 1331668259054285979L,
- 1331668259054285979L,
- 1331668248421112139L,
- 1331668248421137268L,
- 1331668259054285979L,
- 1331668259054285979L,
- 1331668259054285979L,
- 1331668248421291701L,
- 1331668259054285979L,
- 1331668248014188534L,
- 1331668248014188534L,
- 1331668259054285979L,
- 1331668259054285979L,
- 1331668248421940554L,
- 1331668259054285979L,
- 1331668259054285979L,
- 1331668259054285979L,
- 1331668248014548923L,
- 1331668248014550770L,
- 1331668259054285979L,
- 1331668259054285979L,
- 1331668259054285979L,
- 1331668248422509298L,
- 1331668248422523601L,
- 1331668259054285979L,
- 1331668259054285979L,
- 1331668259054285979L,
- 1331668248424325503L,
- 1331668248424394073L,
- 1331668259054285979L,
- 1331668259054285979L,
- 1331668248140683324L,
- 1331668248140686546L,
- 1331668259054285979L,
- 1331668248140727269L,
- 1331668248140780012L,
- 1331668259054285979L,
- 1331668259054285979L,
- 1331668259054285979L,
- 1331668251031789570L,
- 1331668251031812282L,
- 1331668252047037657L,
- 1331668259054285979L,
- 1331668259054285979L,
- 1331668248269586770L,
- 1331668248269613258L,
- 1331668259054285979L,
- 1331668259054285979L,
- 1331668259054285979L,
- 1331668248141167328L,
- 1331668248141400164L,
- 1331668259054285979L,
- 1331668259054285979L,
- 1331668259054285979L,
- 1331668248141004006L,
- 1331668248141028631L,
- 1331668259054285979L,
- 1331668259054285979L,
- 1331668259054285979L,
- 1331668248141324868L,
- 1331668248141345677L,
- 1331668259054285979L,
- 1331668259054285979L,
- 1331668259054285979L,
- 1331668248014185078L,
- 1331668248014185078L,
- 1331668259054285979L,
- 1331668259054285979L,
- 1331668259054285979L,
- 1331668248539549580L,
- 1331668248539579511L,
- 1331668259054285979L,
- 1331668259054285979L,
- 1331668259054285979L,
- 1331668255234884605L,
- 1331668255234905622L,
- 1331668259054285979L,
- 1331668259054285979L,
- 1331668259054285979L,
- 1331668255234936617L,
- 1331668255234941684L,
- 1331668259054285979L,
- 1331668259054285979L,
- 1331668259054285979L,
- 1331668252778982101L,
- 1331668259054285979L,
- 1331668252779007563L,
- 1331668252781320133L,
- 1331668259054285979L,
- 1331668259054285979L,
- 1331668252781341690L,
- 1331668259054285979L,
- 1331668259054285979L,
- 1331668259054285979L,
- 1331668248869653287L,
- 1331668248869679933L,
- 1331668259054285979L,
- 1331668259054285979L,
- 1331668259054285979L,
- 1331668248941858743L,
- 1331668248941885421L,
- 1331668252782929207L,
- 1331668259054285979L,
- 1331668259054285979L,
- 1331668248207116451L,
- 1331668248207177650L,
- 1331668248207163589L,
- 1331668259054285979L,
- 1331668259054285979L,
- 1331668248207165629L,
- 1331668248207212201L,
- 1331668248207197204L,
- 1331668259054285979L,
- 1331668259054285979L,
- 1331668248763171129L,
- 1331668259054285979L,
- 1331668248763179780L,
- 1331668259054285979L,
- 1331668259054285979L,
- 1331668248895005379L,
- 1331668248895062414L,
- 1331668248895035146L,
- 1331668259054285979L,
- 1331668259054285979L,
- 1331668249000328909L,
- 1331668249000373092L,
- 1331668249000350716L,
- 1331668259054285979L,
- 1331668249548101920L,
- 1331668259054285979L,
- 1331668249947171998L,
- 1331668249947269897L,
- 1331668249947249018L,
- 1331668259054285979L,
- 1331668259054285979L,
- 1331668249951033184L,
- 1331668249951077605L,
- 1331668249951058138L,
- 1331668259054285979L,
- 1331668259054285979L,
- 1331668249959079406L,
- 1331668259054285979L,
- 1331668249959100633L,
- 1331668259054285979L,
- 1331668259054285979L,
- 1331668249970937981L,
- 1331668259054285979L,
- 1331668249970963407L,
- 1331668259054285979L,
- 1331668259054285979L,
- 1331668250007423753L,
- 1331668250007449251L,
- 1331668250007428034L,
- 1331668259054285979L,
- 1331668259054285979L,
- 1331668250231124169L,
- 1331668250231169946L,
- 1331668250231148973L,
- 1331668259054285979L,
- 1331668259054285979L,
- 1331668250326525622L,
- 1331668250329519305L,
- 1331668250329507458L,
- 1331668259054285979L,
- 1331668259054285979L,
- 1331668251063191270L,
- 1331668251063256143L,
- 1331668251063222335L,
- 1331668259054285979L,
- 1331668259054285979L,
- 1331668251065026369L,
- 1331668251065048462L,
- 1331668251065030498L,
- 1331668259054285979L,
- 1331668259054285979L,
- 1331668251065058051L,
- 1331668251065091761L,
- 1331668251065069765L,
- 1331668259054285979L,
- 1331668259054285979L,
- 1331668251065364590L,
- 1331668251065412381L,
- 1331668251065407607L,
- 1331668259054285979L,
- 1331668259054285979L,
- 1331668251065462500L,
- 1331668251065477027L,
- 1331668251065465604L,
- 1331668259054285979L,
- 1331668259054285979L,
- 1331668251065780572L,
- 1331668251065836719L,
- 1331668251065829440L,
- 1331668259054285979L,
- 1331668259054285979L,
- 1331668251065899750L,
- 1331668251065913891L,
- 1331668251065902892L,
- 1331668259054285979L,
- 1331668259054285979L,
- 1331668251066057402L,
- 1331668251066070617L,
- 1331668251066060363L,
- 1331668259054285979L,
- 1331668259054285979L,
- 1331668251066495616L,
- 1331668251066520321L,
- 1331668251066506338L,
- 1331668259054285979L,
- 1331668259054285979L,
- 1331668251066532840L,
- 1331668251066546436L,
- 1331668251066535866L,
- 1331668259054285979L,
- 1331668259054285979L,
- 1331668251066658006L,
- 1331668251066671812L,
- 1331668251066660635L,
- 1331668259054285979L,
- 1331668259054285979L,
- 1331668251066883302L,
- 1331668251066906446L,
- 1331668251066887423L,
- 1331668259054285979L,
- 1331668259054285979L,
- 1331668251067153808L,
- 1331668251067176405L,
- 1331668251067157534L,
- 1331668259054285979L,
- 1331668259054285979L,
- 1331668251067407214L,
- 1331668251067420770L,
- 1331668251067410220L,
- 1331668259054285979L,
- 1331668259054285979L,
- 1331668251067763731L,
- 1331668251067818612L,
- 1331668251067811009L,
- 1331668259054285979L,
- 1331668259054285979L,
- 1331668251067884367L,
- 1331668251067897382L,
- 1331668251067887136L,
- 1331668259054285979L,
- 1331668259054285979L,
- 1331668251068275691L,
- 1331668251068288692L,
- 1331668251068278423L,
- 1331668259054285979L,
- 1331668259054285979L,
- 1331668251068706355L,
- 1331668251068719015L,
- 1331668251068709290L,
- 1331668259054285979L,
- 1331668259054285979L,
- 1331668251069067645L,
- 1331668251069122518L,
- 1331668251069116275L,
- 1331668259054285979L,
- 1331668259054285979L,
- 1331668251069178617L,
- 1331668251069191305L,
- 1331668251069181300L,
- 1331668259054285979L,
- 1331668259054285979L,
- 1331668251069664884L,
- 1331668251069684555L,
- 1331668251069668097L,
- 1331668259054285979L,
- 1331668259054285979L,
- 1331668251069682852L,
- 1331668251069708201L,
- 1331668251069690226L,
- 1331668259054285979L,
- 1331668259054285979L,
- 1331668251715054925L,
- 1331668259054285979L,
- 1331668251715066022L,
- 1331668259054285979L,
- 1331668259054285979L,
- 1331668251803784493L,
- 1331668251803827591L,
- 1331668251803808547L,
- 1331668259054285979L,
- 1331668259054285979L,
- 1331668251983438636L,
- 1331668251983448709L,
- 1331668251983441583L,
- 1331668259054285979L,
- 1331668259054285979L,
- 1331668251992993580L,
- 1331668251993008591L,
- 1331668251992998928L,
- 1331668259054285979L,
- 1331668259054285979L,
- 1331668252022091542L,
- 1331668252022091542L,
- 1331668252022091542L,
- 1331668252022091542L,
- 1331668259054285979L,
- 1331668252031771660L,
- 1331668252031777595L,
- 1331668252031773847L,
- 1331668259054285979L,
- 1331668259054285979L,
- 1331668252032463013L,
- 1331668252032502964L,
- 1331668252032497700L,
- 1331668259054285979L,
- 1331668259054285979L,
- 1331668252032506884L,
- 1331668252032559227L,
- 1331668252032539402L,
- 1331668259054285979L,
- 1331668259054285979L,
- 1331668252039535067L,
- 1331668259054285979L,
- 1331668252039537404L,
- 1331668259054285979L,
- 1331668259054285979L,
- 1331668252044008981L,
- 1331668252044014257L,
- 1331668252044010861L,
- 1331668259054285979L,
- 1331668259054285979L,
- 1331668252044059151L,
- 1331668252044064004L,
- 1331668252044060420L,
- 1331668259054285979L,
- 1331668259054285979L,
- 1331668252179391423L,
- 1331668252184781913L,
- 1331668252184772369L,
- 1331668259054285979L,
- 1331668259054285979L,
- 1331668252193425490L,
- 1331668252193432385L,
- 1331668252193427706L,
- 1331668259054285979L,
- 1331668259054285979L,
- 1331668252253575716L,
- 1331668252253592491L,
- 1331668252253581852L,
- 1331668259054285979L,
- 1331668259054285979L,
- 1331668252472449352L,
- 1331668252472474547L,
- 1331668252472458163L,
- 1331668259054285979L,
- 1331668259054285979L,
- 1331668252487295286L,
- 1331668252487300925L,
- 1331668252487297683L,
- 1331668259054285979L,
- 1331668259054285979L,
- 1331668252495759849L,
- 1331668252495766026L,
- 1331668252495762178L,
- 1331668259054285979L,
- 1331668259054285979L,
- 1331668252496219924L,
- 1331668252496245837L,
- 1331668252496228816L,
- 1331668259054285979L,
- 1331668259054285979L,
- 1331668252523291829L,
- 1331668252523482082L,
- 1331668252523469395L,
- 1331668259054285979L,
- 1331668259054285979L,
- 1331668252764810964L,
- 1331668252764829827L,
- 1331668252764814570L,
- 1331668259054285979L,
- 1331668259054285979L,
- 1331668252765021775L,
- 1331668252765026623L,
- 1331668252765023841L,
- 1331668259054285979L,
- 1331668259054285979L,
- 1331668252769399706L,
- 1331668259054285979L,
- 1331668252769401404L,
- 1331668259054285979L,
- 1331668252769446847L,
- 1331668259054285979L,
- 1331668259054285979L,
- 1331668252769456141L,
- 1331668259054285979L,
- 1331668259054285979L,
- 1331668252784988923L,
- 1331668259054285979L,
- 1331668252785262589L,
- 1331668259054285979L,
- 1331668259054285979L,
- 1331668252795062126L,
- 1331668259054285979L,
- 1331668252795122600L,
- 1331668259054285979L,
- 1331668259054285979L,
- 1331668252828832090L,
- 1331668259054285979L,
- 1331668252828859292L,
- 1331668252828904216L,
- 1331668252828866041L,
- 1331668259054285979L,
- 1331668252829060434L,
- 1331668252828992804L,
- 1331668259054285979L,
- 1331668259054285979L,
- 1331668252829505108L,
- 1331668259054285979L,
- 1331668252829527974L,
- 1331668252829719292L,
- 1331668252829638887L,
- 1331668259054285979L,
- 1331668259054285979L,
- 1331668252829643060L,
- 1331668259054285979L,
- 1331668252829660274L,
- 1331668259054285979L,
- 1331668252829683896L,
- 1331668259054285979L,
- 1331668252829799248L,
- 1331668259054285979L,
- 1331668252829802278L,
- 1331668259054285979L,
- 1331668252829821642L,
- 1331668259054285979L,
- 1331668252829840961L,
- 1331668259054285979L,
- 1331668252829859256L,
- 1331668259054285979L,
- 1331668252829976501L,
- 1331668252830107659L,
- 1331668252830085595L,
- 1331668259054285979L,
- 1331668252830154848L,
- 1331668252830139534L,
- 1331668259054285979L,
- 1331668252830212497L,
- 1331668252830194969L,
- 1331668259054285979L,
- 1331668252830382459L,
- 1331668252830368625L,
- 1331668259054285979L,
- 1331668252830526491L,
- 1331668252830499169L,
- 1331668259054285979L,
- 1331668252830576634L,
- 1331668252830564658L,
- 1331668259054285979L,
- 1331668252831112505L,
- 1331668252831083126L,
- 1331668259054285979L,
- 1331668259054285979L,
- 1331668252831228714L,
- 1331668252831318123L,
- 1331668252831301843L,
- 1331668259054285979L,
- 1331668252831543926L,
- 1331668252831527998L,
- 1331668259054285979L,
- 1331668252831834393L,
- 1331668252831817197L,
- 1331668259054285979L,
- 1331668252832056760L,
- 1331668252832046333L,
- 1331668259054285979L,
- 1331668259054285979L,
- 1331668252883172744L,
- 1331668252883172744L,
- 1331668252883172744L,
- 1331668252883172744L,
- 1331668259054285979L,
- 1331668252885827603L,
- 1331668252885827603L,
- 1331668252885827603L,
- 1331668252885827603L,
- 1331668259054285979L,
- 1331668252889337098L,
- 1331668259054285979L,
- 1331668252889396688L,
- 1331668252889396688L,
- 1331668252889396688L,
- 1331668252889396688L,
- 1331668252901232798L,
- 1331668252901118256L,
- 1331668259054285979L,
- 1331668259054285979L,
- 1331668252901540914L,
- 1331668252901540914L,
- 1331668252901540914L,
- 1331668252901540914L,
- 1331668259054285979L,
- 1331668252901573889L,
- 1331668252901586635L,
- 1331668252901577276L,
- 1331668259054285979L,
- 1331668259054285979L,
- 1331668252906764880L,
- 1331668252906764880L,
- 1331668252906764880L,
- 1331668252906764880L,
- 1331668259054285979L,
- 1331668252912042743L,
- 1331668259054285979L,
- 1331668252912048618L,
- 1331668259054285979L,
- 1331668259054285979L,
- 1331668252927449371L,
- 1331668252927449371L,
- 1331668252927449371L,
- 1331668252927449371L,
- 1331668259054285979L,
- 1331668252947156908L,
- 1331668252947156908L,
- 1331668252947156908L,
- 1331668252947156908L,
- 1331668259054285979L,
- 1331668252947197386L,
- 1331668252947197386L,
- 1331668252947197386L,
- 1331668252947197386L,
- 1331668259054285979L,
- 1331668253035499713L,
- 1331668253035499713L,
- 1331668253035499713L,
- 1331668253035499713L,
- 1331668259054285979L,
- 1331668253036766769L,
- 1331668253036766769L,
- 1331668253036766769L,
- 1331668253036766769L,
- 1331668259054285979L,
- 1331668253037890651L,
- 1331668253037890651L,
- 1331668253037890651L,
- 1331668253037890651L,
- 1331668259054285979L,
- 1331668253051945128L,
- 1331668253051945128L,
- 1331668253051945128L,
- 1331668253051945128L,
- 1331668259054285979L,
- 1331668253054627961L,
- 1331668253054627961L,
- 1331668253054627961L,
- 1331668253054627961L,
- 1331668259054285979L,
- 1331668253057609433L,
- 1331668253057609433L,
- 1331668253057609433L,
- 1331668253057609433L,
- 1331668259054285979L,
- 1331668253062222314L,
- 1331668253062222314L,
- 1331668253062222314L,
- 1331668253062222314L,
- 1331668259054285979L,
- 1331668253097239708L,
- 1331668253097239708L,
- 1331668253097239708L,
- 1331668253097239708L,
- 1331668259054285979L,
- 1331668253097518746L,
- 1331668253097518746L,
- 1331668253097518746L,
- 1331668253097518746L,
- 1331668259054285979L,
- 1331668253267104284L,
- 1331668253267117055L,
- 1331668253267107624L,
- 1331668259054285979L,
- 1331668259054285979L,
- 1331668253267342015L,
- 1331668253267378405L,
- 1331668253267367303L,
- 1331668259054285979L,
- 1331668259054285979L,
- 1331668253278218713L,
- 1331668253278218713L,
- 1331668253278218713L,
- 1331668253278218713L,
- 1331668259054285979L,
- 1331668253324119756L,
- 1331668253324119756L,
- 1331668253324119756L,
- 1331668253324119756L,
- 1331668259054285979L,
- 1331668253614347227L,
- 1331668253614347227L,
- 1331668253614347227L,
- 1331668253614347227L,
- 1331668259054285979L,
- 1331668253619459320L,
- 1331668253619459320L,
- 1331668253619459320L,
- 1331668253619459320L,
- 1331668259054285979L,
- 1331668253619867625L,
- 1331668253619867625L,
- 1331668253619867625L,
- 1331668253619867625L,
- 1331668259054285979L,
- 1331668253621486721L,
- 1331668253621508851L,
- 1331668253621491536L,
- 1331668259054285979L,
- 1331668259054285979L,
- 1331668253622429608L,
- 1331668253622429608L,
- 1331668253622429608L,
- 1331668253622429608L,
- 1331668259054285979L,
- 1331668253857465365L,
- 1331668253857465365L,
- 1331668253857465365L,
- 1331668253857465365L,
- 1331668259054285979L,
- 1331668253858125091L,
- 1331668253858125091L,
- 1331668253858125091L,
- 1331668253858125091L,
- 1331668259054285979L,
- 1331668253910194540L,
- 1331668253910194540L,
- 1331668253910194540L,
- 1331668253910194540L,
- 1331668259054285979L,
- 1331668253910329721L,
- 1331668253910329721L,
- 1331668253910329721L,
- 1331668253910329721L,
- 1331668259054285979L,
- 1331668253984922308L,
- 1331668253984922308L,
- 1331668253984922308L,
- 1331668253984922308L,
- 1331668259054285979L,
- 1331668254004098152L,
- 1331668254004098152L,
- 1331668254004098152L,
- 1331668254004098152L,
- 1331668259054285979L,
- 1331668254047839900L,
- 1331668254047839900L,
- 1331668254047839900L,
- 1331668254047839900L,
- 1331668259054285979L,
- 1331668254093066195L,
- 1331668254093066195L,
- 1331668254093066195L,
- 1331668254093066195L,
- 1331668259054285979L,
- 1331668254106326339L,
- 1331668254106326339L,
- 1331668254106326339L,
- 1331668254106326339L,
- 1331668259054285979L,
- 1331668255052411647L,
- 1331668255052411647L,
- 1331668255052411647L,
- 1331668255052411647L,
- 1331668259054285979L,
- 1331668255157088064L,
- 1331668255157101973L,
- 1331668255157091812L,
- 1331668259054285979L,
- 1331668259054285979L,
- 1331668256244508635L,
- 1331668256244508635L,
- 1331668256244508635L,
- 1331668256244508635L,
- 1331668259054285979L,
- 1331668257246987050L,
- 1331668257247036372L,
- 1331668257247027684L,
- 1331668259054285979L,
- 1331668259054285979L,
- 1331668259045096840L,
- 1331668259045096840L,
- 1331668259045096840L,
- 1331668259045096840L,
- 1331668259054285979L,
- 1331668259052126585L,
- 1331668259052126585L,
- 1331668259052126585L,
- 1331668259052126585L,
- 1331668259054285979L,
- 1331668259053345550L,
- 1331668259054285979L,
- 1331668259053349544L,
- 1331668259054285979L,
- };
-
- static final ITmfStateValue[] values = {
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.newValueInt(1397),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.newValueInt(1),
- TmfStateValue.newValueString("sys_poll"),
- TmfStateValue.newValueInt(1),
- TmfStateValue.newValueString("lttng-consumerd"),
- TmfStateValue.nullValue(),
- TmfStateValue.newValueInt(1),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.newValueInt(5),
- TmfStateValue.newValueString("swapper/1"),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.newValueInt(1432),
- TmfStateValue.newValueInt(2),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.newValueInt(1),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.newValueString("sys_poll"),
- TmfStateValue.newValueString("lttng-consumerd"),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.newValueInt(1),
- TmfStateValue.newValueString("sys_ppoll"),
- TmfStateValue.newValueString("alsa-sink"),
- TmfStateValue.nullValue(),
- TmfStateValue.newValueString("sys_epoll_wait"),
- TmfStateValue.newValueString("lttng-sessiond"),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.newValueInt(1),
- TmfStateValue.newValueString("sys_futex"),
- TmfStateValue.newValueString("firefox"),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.newValueInt(1),
- TmfStateValue.newValueString("sys_poll"),
- TmfStateValue.newValueString("firefox"),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.newValueInt(1),
- TmfStateValue.newValueString("sys_poll"),
- TmfStateValue.newValueString("gnome-terminal"),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.newValueInt(1),
- TmfStateValue.newValueString("sys_select"),
- TmfStateValue.newValueString("Xorg"),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.newValueInt(1),
- TmfStateValue.newValueString("sys_poll"),
- TmfStateValue.newValueString("metacity"),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.newValueInt(1),
- TmfStateValue.nullValue(),
- TmfStateValue.newValueString("kworker/0:1"),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.newValueInt(1),
- TmfStateValue.nullValue(),
- TmfStateValue.newValueString("ksoftirqd/0"),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.newValueInt(1),
- TmfStateValue.newValueString("sys_read"),
- TmfStateValue.newValueString("rsyslogd"),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.newValueInt(1),
- TmfStateValue.newValueString("sys_futex"),
- TmfStateValue.newValueString("rs:main Q:Reg"),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.newValueInt(1),
- TmfStateValue.nullValue(),
- TmfStateValue.newValueString("kworker/1:1"),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.newValueInt(1),
- TmfStateValue.newValueString("sys_select"),
- TmfStateValue.newValueString("rsyslogd"),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.newValueInt(1),
- TmfStateValue.newValueString("sys_read"),
- TmfStateValue.newValueString("bash"),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.newValueInt(1),
- TmfStateValue.nullValue(),
- TmfStateValue.newValueInt(1),
- TmfStateValue.nullValue(),
- TmfStateValue.newValueInt(1),
- TmfStateValue.nullValue(),
- TmfStateValue.newValueInt(1),
- TmfStateValue.newValueString("sys_poll"),
- TmfStateValue.newValueString("bamfdaemon"),
- TmfStateValue.nullValue(),
- TmfStateValue.newValueString("sys_poll"),
- TmfStateValue.newValueString("gnome-settings-"),
- TmfStateValue.nullValue(),
- TmfStateValue.newValueString("sys_poll"),
- TmfStateValue.newValueString("unity-2d-shell"),
- TmfStateValue.nullValue(),
- TmfStateValue.newValueString("sys_poll"),
- TmfStateValue.newValueString("unity-2d-panel"),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.newValueInt(1),
- TmfStateValue.newValueString("sys_poll"),
- TmfStateValue.newValueString("indicator-multi"),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.newValueInt(1),
- TmfStateValue.newValueString("sys_poll"),
- TmfStateValue.newValueString("gdbus"),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.newValueInt(1),
- TmfStateValue.newValueString("sys_poll"),
- TmfStateValue.newValueString("dbus-daemon"),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.newValueInt(1),
- TmfStateValue.newValueString("sys_poll"),
- TmfStateValue.newValueString("gdbus"),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.newValueInt(1),
- TmfStateValue.newValueString("sys_poll"),
- TmfStateValue.newValueString("indicator-appli"),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.newValueInt(1),
- TmfStateValue.nullValue(),
- TmfStateValue.newValueInt(3),
- TmfStateValue.newValueString("sys_poll"),
- TmfStateValue.newValueString("gdbus"),
- TmfStateValue.nullValue(),
- TmfStateValue.newValueString("sys_poll"),
- TmfStateValue.newValueString("gdbus"),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.newValueInt(5),
- TmfStateValue.newValueString("sys_futex"),
- TmfStateValue.newValueString("unity-panel-ser"),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.newValueInt(1),
- TmfStateValue.newValueString("sys_poll"),
- TmfStateValue.newValueString("hud-service"),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.newValueInt(1),
- TmfStateValue.newValueString("sys_poll"),
- TmfStateValue.newValueString("gdbus"),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.newValueInt(1),
- TmfStateValue.newValueString("sys_poll"),
- TmfStateValue.newValueString("openvpn"),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.newValueInt(1),
- TmfStateValue.newValueString("sys_poll"),
- TmfStateValue.newValueString("firefox"),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.newValueInt(1),
- TmfStateValue.newValueString("sys_futex"),
- TmfStateValue.newValueString("thunderbird-bin"),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.newValueInt(1),
- TmfStateValue.newValueString("sys_poll"),
- TmfStateValue.newValueString("thunderbird-bin"),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.newValueInt(1),
- TmfStateValue.newValueString("sys_poll"),
- TmfStateValue.newValueString("thunderbird-bin"),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.newValueInt(1),
- TmfStateValue.newValueString("sys_futex"),
- TmfStateValue.newValueString("thunderbird-bin"),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.newValueInt(2),
- TmfStateValue.nullValue(),
- TmfStateValue.newValueString("gdbus"),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.newValueInt(1),
- TmfStateValue.newValueString("sys_nanosleep"),
- TmfStateValue.newValueString("gvfs-afc-volume"),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.newValueInt(1),
- TmfStateValue.newValueString("sys_poll"),
- TmfStateValue.newValueString("rtkit-daemon"),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.newValueInt(1),
- TmfStateValue.newValueString("sys_poll"),
- TmfStateValue.newValueString("rtkit-daemon"),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.newValueInt(1),
- TmfStateValue.nullValue(),
- TmfStateValue.newValueInt(1),
- TmfStateValue.newValueString("sys_poll"),
- TmfStateValue.newValueString("thunderbird-bin"),
- TmfStateValue.nullValue(),
- TmfStateValue.newValueString("sys_poll"),
- TmfStateValue.newValueString("thunderbird-bin"),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.newValueInt(1),
- TmfStateValue.newValueString("sys_futex"),
- TmfStateValue.newValueString("thunderbird-bin"),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.newValueInt(1),
- TmfStateValue.newValueString("sys_futex"),
- TmfStateValue.newValueString("firefox"),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- TmfStateValue.nullValue(),
- };
-}
diff --git a/lttng/org.eclipse.linuxtools.lttng2.kernel.core/.classpath b/lttng/org.eclipse.linuxtools.lttng2.kernel.core/.classpath
deleted file mode 100644
index 098194ca4b..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.kernel.core/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
- <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.7"/>
- <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
- <classpathentry kind="src" path="src"/>
- <classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/lttng/org.eclipse.linuxtools.lttng2.kernel.core/.options b/lttng/org.eclipse.linuxtools.lttng2.kernel.core/.options
deleted file mode 100644
index eac992d7cb..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.kernel.core/.options
+++ /dev/null
@@ -1,3 +0,0 @@
-org.eclipse.linuxtools.lttng.core/debug=false
-org.eclipse.linuxtools.lttng.core/info=false
-org.eclipse.linuxtools.lttng.core/warn=false
diff --git a/lttng/org.eclipse.linuxtools.lttng2.kernel.core/.project b/lttng/org.eclipse.linuxtools.lttng2.kernel.core/.project
deleted file mode 100644
index c0a4660e9e..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.kernel.core/.project
+++ /dev/null
@@ -1,34 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>org.eclipse.linuxtools.lttng2.kernel.core</name>
- <comment></comment>
- <projects>
- </projects>
- <buildSpec>
- <buildCommand>
- <name>org.eclipse.jdt.core.javabuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.ManifestBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.SchemaBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.api.tools.apiAnalysisBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>org.eclipse.pde.PluginNature</nature>
- <nature>org.eclipse.jdt.core.javanature</nature>
- <nature>org.eclipse.pde.api.tools.apiAnalysisNature</nature>
- </natures>
-</projectDescription>
diff --git a/lttng/org.eclipse.linuxtools.lttng2.kernel.core/.settings/org.eclipse.core.resources.prefs b/lttng/org.eclipse.linuxtools.lttng2.kernel.core/.settings/org.eclipse.core.resources.prefs
deleted file mode 100644
index 99f26c0203..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.kernel.core/.settings/org.eclipse.core.resources.prefs
+++ /dev/null
@@ -1,2 +0,0 @@
-eclipse.preferences.version=1
-encoding/<project>=UTF-8
diff --git a/lttng/org.eclipse.linuxtools.lttng2.kernel.core/.settings/org.eclipse.core.runtime.prefs b/lttng/org.eclipse.linuxtools.lttng2.kernel.core/.settings/org.eclipse.core.runtime.prefs
deleted file mode 100644
index 5a0ad22d2a..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.kernel.core/.settings/org.eclipse.core.runtime.prefs
+++ /dev/null
@@ -1,2 +0,0 @@
-eclipse.preferences.version=1
-line.separator=\n
diff --git a/lttng/org.eclipse.linuxtools.lttng2.kernel.core/.settings/org.eclipse.jdt.core.prefs b/lttng/org.eclipse.linuxtools.lttng2.kernel.core/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index 9f3662cd78..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.kernel.core/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,394 +0,0 @@
-eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.annotation.inheritNullAnnotations=enabled
-org.eclipse.jdt.core.compiler.annotation.missingNonNullByDefaultAnnotation=ignore
-org.eclipse.jdt.core.compiler.annotation.nonnull=org.eclipse.jdt.annotation.NonNull
-org.eclipse.jdt.core.compiler.annotation.nonnullbydefault=org.eclipse.jdt.annotation.NonNullByDefault
-org.eclipse.jdt.core.compiler.annotation.nullable=org.eclipse.jdt.annotation.Nullable
-org.eclipse.jdt.core.compiler.annotation.nullanalysis=enabled
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.7
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.doc.comment.support=enabled
-org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=error
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
-org.eclipse.jdt.core.compiler.problem.comparingIdentical=error
-org.eclipse.jdt.core.compiler.problem.deadCode=error
-org.eclipse.jdt.core.compiler.problem.deprecation=error
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled
-org.eclipse.jdt.core.compiler.problem.discouragedReference=warning
-org.eclipse.jdt.core.compiler.problem.emptyStatement=error
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.problem.explicitlyClosedAutoCloseable=error
-org.eclipse.jdt.core.compiler.problem.fallthroughCase=error
-org.eclipse.jdt.core.compiler.problem.fatalOptionalError=disabled
-org.eclipse.jdt.core.compiler.problem.fieldHiding=error
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=error
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=error
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=error
-org.eclipse.jdt.core.compiler.problem.includeNullInfoFromAsserts=disabled
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=error
-org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=error
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=error
-org.eclipse.jdt.core.compiler.problem.invalidJavadoc=warning
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTags=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=protected
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=error
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=error
-org.eclipse.jdt.core.compiler.problem.missingDefaultCase=error
-org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=error
-org.eclipse.jdt.core.compiler.problem.missingEnumCaseDespiteDefault=enabled
-org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=error
-org.eclipse.jdt.core.compiler.problem.missingJavadocComments=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=protected
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagDescription=all_standard_tags
-org.eclipse.jdt.core.compiler.problem.missingJavadocTags=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsMethodTypeParameters=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=protected
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=error
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotationForInterfaceMethodImplementation=enabled
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=error
-org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=error
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=error
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=error
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=warning
-org.eclipse.jdt.core.compiler.problem.nonnullParameterAnnotationDropped=warning
-org.eclipse.jdt.core.compiler.problem.nullAnnotationInferenceConflict=warning
-org.eclipse.jdt.core.compiler.problem.nullReference=error
-org.eclipse.jdt.core.compiler.problem.nullSpecViolation=error
-org.eclipse.jdt.core.compiler.problem.nullUncheckedConversion=warning
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=error
-org.eclipse.jdt.core.compiler.problem.parameterAssignment=error
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=error
-org.eclipse.jdt.core.compiler.problem.potentialNullReference=error
-org.eclipse.jdt.core.compiler.problem.potentiallyUnclosedCloseable=warning
-org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning
-org.eclipse.jdt.core.compiler.problem.redundantNullAnnotation=warning
-org.eclipse.jdt.core.compiler.problem.redundantNullCheck=error
-org.eclipse.jdt.core.compiler.problem.redundantSpecificationOfTypeArguments=error
-org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=error
-org.eclipse.jdt.core.compiler.problem.reportMethodCanBePotentiallyStatic=ignore
-org.eclipse.jdt.core.compiler.problem.reportMethodCanBeStatic=error
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=error
-org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=disabled
-org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
-org.eclipse.jdt.core.compiler.problem.syntacticNullAnalysisForFields=enabled
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
-org.eclipse.jdt.core.compiler.problem.typeParameterHiding=error
-org.eclipse.jdt.core.compiler.problem.unavoidableGenericTypeProblems=disabled
-org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
-org.eclipse.jdt.core.compiler.problem.unclosedCloseable=error
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
-org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=error
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=error
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=error
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=warning
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=disabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=disabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=error
-org.eclipse.jdt.core.compiler.problem.unusedLabel=error
-org.eclipse.jdt.core.compiler.problem.unusedLocal=error
-org.eclipse.jdt.core.compiler.problem.unusedObjectAllocation=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=error
-org.eclipse.jdt.core.compiler.problem.unusedTypeParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedWarningToken=error
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=error
-org.eclipse.jdt.core.compiler.source=1.7
-org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_assignment=0
-org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
-org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
-org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
-org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
-org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0
-org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=80
-org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=0
-org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch=16
-org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_after_package=1
-org.eclipse.jdt.core.formatter.blank_lines_before_field=0
-org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
-org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
-org.eclipse.jdt.core.formatter.blank_lines_before_method=1
-org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
-org.eclipse.jdt.core.formatter.blank_lines_before_package=0
-org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
-org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
-org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
-org.eclipse.jdt.core.formatter.comment.format_block_comments=true
-org.eclipse.jdt.core.formatter.comment.format_header=false
-org.eclipse.jdt.core.formatter.comment.format_html=true
-org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=true
-org.eclipse.jdt.core.formatter.comment.format_line_comments=true
-org.eclipse.jdt.core.formatter.comment.format_source_code=true
-org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true
-org.eclipse.jdt.core.formatter.comment.indent_root_tags=true
-org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
-org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=insert
-org.eclipse.jdt.core.formatter.comment.line_length=80
-org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries=true
-org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries=true
-org.eclipse.jdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments=false
-org.eclipse.jdt.core.formatter.compact_else_if=true
-org.eclipse.jdt.core.formatter.continuation_indentation=2
-org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2
-org.eclipse.jdt.core.formatter.disabling_tag=@formatter\:off
-org.eclipse.jdt.core.formatter.enabling_tag=@formatter\:on
-org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
-org.eclipse.jdt.core.formatter.format_line_comment_starting_on_first_column=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
-org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_empty_lines=false
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=false
-org.eclipse.jdt.core.formatter.indentation.size=4
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_label=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_try=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources=insert
-org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_try=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
-org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.join_lines_in_comments=true
-org.eclipse.jdt.core.formatter.join_wrapped_lines=false
-org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.lineSplit=250
-org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
-org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
-org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true
-org.eclipse.jdt.core.formatter.tabulation.char=space
-org.eclipse.jdt.core.formatter.tabulation.size=4
-org.eclipse.jdt.core.formatter.use_on_off_tags=false
-org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
-org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
-org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true
-org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true
diff --git a/lttng/org.eclipse.linuxtools.lttng2.kernel.core/.settings/org.eclipse.jdt.ui.prefs b/lttng/org.eclipse.linuxtools.lttng2.kernel.core/.settings/org.eclipse.jdt.ui.prefs
deleted file mode 100644
index 4fd0c7006a..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.kernel.core/.settings/org.eclipse.jdt.ui.prefs
+++ /dev/null
@@ -1,56 +0,0 @@
-eclipse.preferences.version=1
-editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
-formatter_profile=_tmf-style
-formatter_settings_version=12
-sp_cleanup.add_default_serial_version_id=true
-sp_cleanup.add_generated_serial_version_id=false
-sp_cleanup.add_missing_annotations=false
-sp_cleanup.add_missing_deprecated_annotations=true
-sp_cleanup.add_missing_methods=false
-sp_cleanup.add_missing_nls_tags=false
-sp_cleanup.add_missing_override_annotations=true
-sp_cleanup.add_missing_override_annotations_interface_methods=true
-sp_cleanup.add_serial_version_id=false
-sp_cleanup.always_use_blocks=true
-sp_cleanup.always_use_parentheses_in_expressions=false
-sp_cleanup.always_use_this_for_non_static_field_access=false
-sp_cleanup.always_use_this_for_non_static_method_access=false
-sp_cleanup.convert_to_enhanced_for_loop=false
-sp_cleanup.correct_indentation=false
-sp_cleanup.format_source_code=false
-sp_cleanup.format_source_code_changes_only=false
-sp_cleanup.make_local_variable_final=false
-sp_cleanup.make_parameters_final=false
-sp_cleanup.make_private_fields_final=true
-sp_cleanup.make_type_abstract_if_missing_method=false
-sp_cleanup.make_variable_declarations_final=false
-sp_cleanup.never_use_blocks=false
-sp_cleanup.never_use_parentheses_in_expressions=true
-sp_cleanup.on_save_use_additional_actions=true
-sp_cleanup.organize_imports=false
-sp_cleanup.qualify_static_field_accesses_with_declaring_class=false
-sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_with_declaring_class=false
-sp_cleanup.qualify_static_method_accesses_with_declaring_class=false
-sp_cleanup.remove_private_constructors=true
-sp_cleanup.remove_trailing_whitespaces=true
-sp_cleanup.remove_trailing_whitespaces_all=true
-sp_cleanup.remove_trailing_whitespaces_ignore_empty=false
-sp_cleanup.remove_unnecessary_casts=false
-sp_cleanup.remove_unnecessary_nls_tags=false
-sp_cleanup.remove_unused_imports=false
-sp_cleanup.remove_unused_local_variables=false
-sp_cleanup.remove_unused_private_fields=true
-sp_cleanup.remove_unused_private_members=false
-sp_cleanup.remove_unused_private_methods=true
-sp_cleanup.remove_unused_private_types=true
-sp_cleanup.sort_members=false
-sp_cleanup.sort_members_all=false
-sp_cleanup.use_blocks=true
-sp_cleanup.use_blocks_only_for_return_and_throw=false
-sp_cleanup.use_parentheses_in_expressions=false
-sp_cleanup.use_this_for_non_static_field_access=false
-sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=true
-sp_cleanup.use_this_for_non_static_method_access=false
-sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true
diff --git a/lttng/org.eclipse.linuxtools.lttng2.kernel.core/.settings/org.eclipse.pde.api.tools.prefs b/lttng/org.eclipse.linuxtools.lttng2.kernel.core/.settings/org.eclipse.pde.api.tools.prefs
deleted file mode 100644
index acc3abd47c..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.kernel.core/.settings/org.eclipse.pde.api.tools.prefs
+++ /dev/null
@@ -1,97 +0,0 @@
-ANNOTATION_ELEMENT_TYPE_ADDED_METHOD_WITHOUT_DEFAULT_VALUE=Error
-ANNOTATION_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
-ANNOTATION_ELEMENT_TYPE_REMOVED_FIELD=Error
-ANNOTATION_ELEMENT_TYPE_REMOVED_METHOD=Error
-ANNOTATION_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
-API_COMPONENT_ELEMENT_TYPE_REMOVED_API_TYPE=Error
-API_COMPONENT_ELEMENT_TYPE_REMOVED_REEXPORTED_API_TYPE=Error
-API_COMPONENT_ELEMENT_TYPE_REMOVED_REEXPORTED_TYPE=Error
-API_COMPONENT_ELEMENT_TYPE_REMOVED_TYPE=Error
-API_USE_SCAN_FIELD_SEVERITY=Error
-API_USE_SCAN_METHOD_SEVERITY=Error
-API_USE_SCAN_TYPE_SEVERITY=Error
-CLASS_ELEMENT_TYPE_ADDED_METHOD=Error
-CLASS_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
-CLASS_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
-CLASS_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error
-CLASS_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
-CLASS_ELEMENT_TYPE_CHANGED_NON_ABSTRACT_TO_ABSTRACT=Error
-CLASS_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error
-CLASS_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
-CLASS_ELEMENT_TYPE_REMOVED_CONSTRUCTOR=Error
-CLASS_ELEMENT_TYPE_REMOVED_FIELD=Error
-CLASS_ELEMENT_TYPE_REMOVED_METHOD=Error
-CLASS_ELEMENT_TYPE_REMOVED_SUPERCLASS=Error
-CLASS_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
-CLASS_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
-CONSTRUCTOR_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
-CONSTRUCTOR_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
-CONSTRUCTOR_ELEMENT_TYPE_CHANGED_VARARGS_TO_ARRAY=Error
-CONSTRUCTOR_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
-ENUM_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error
-ENUM_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
-ENUM_ELEMENT_TYPE_REMOVED_ENUM_CONSTANT=Error
-ENUM_ELEMENT_TYPE_REMOVED_FIELD=Error
-ENUM_ELEMENT_TYPE_REMOVED_METHOD=Error
-ENUM_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
-FIELD_ELEMENT_TYPE_ADDED_VALUE=Error
-FIELD_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
-FIELD_ELEMENT_TYPE_CHANGED_FINAL_TO_NON_FINAL_STATIC_CONSTANT=Error
-FIELD_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error
-FIELD_ELEMENT_TYPE_CHANGED_NON_STATIC_TO_STATIC=Error
-FIELD_ELEMENT_TYPE_CHANGED_STATIC_TO_NON_STATIC=Error
-FIELD_ELEMENT_TYPE_CHANGED_TYPE=Error
-FIELD_ELEMENT_TYPE_CHANGED_VALUE=Error
-FIELD_ELEMENT_TYPE_REMOVED_TYPE_ARGUMENT=Error
-FIELD_ELEMENT_TYPE_REMOVED_VALUE=Error
-ILLEGAL_EXTEND=Warning
-ILLEGAL_IMPLEMENT=Warning
-ILLEGAL_INSTANTIATE=Warning
-ILLEGAL_OVERRIDE=Warning
-ILLEGAL_REFERENCE=Warning
-INTERFACE_ELEMENT_TYPE_ADDED_FIELD=Error
-INTERFACE_ELEMENT_TYPE_ADDED_METHOD=Error
-INTERFACE_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
-INTERFACE_ELEMENT_TYPE_ADDED_SUPER_INTERFACE_WITH_METHODS=Error
-INTERFACE_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
-INTERFACE_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error
-INTERFACE_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
-INTERFACE_ELEMENT_TYPE_REMOVED_FIELD=Error
-INTERFACE_ELEMENT_TYPE_REMOVED_METHOD=Error
-INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
-INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
-INVALID_JAVADOC_TAG=Warning
-INVALID_REFERENCE_IN_SYSTEM_LIBRARIES=Warning
-LEAK_EXTEND=Warning
-LEAK_FIELD_DECL=Warning
-LEAK_IMPLEMENT=Warning
-LEAK_METHOD_PARAM=Warning
-LEAK_METHOD_RETURN_TYPE=Warning
-METHOD_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
-METHOD_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
-METHOD_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
-METHOD_ELEMENT_TYPE_CHANGED_NON_ABSTRACT_TO_ABSTRACT=Error
-METHOD_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error
-METHOD_ELEMENT_TYPE_CHANGED_NON_STATIC_TO_STATIC=Error
-METHOD_ELEMENT_TYPE_CHANGED_STATIC_TO_NON_STATIC=Error
-METHOD_ELEMENT_TYPE_CHANGED_VARARGS_TO_ARRAY=Error
-METHOD_ELEMENT_TYPE_REMOVED_ANNOTATION_DEFAULT_VALUE=Error
-METHOD_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
-MISSING_EE_DESCRIPTIONS=Ignore
-TYPE_PARAMETER_ELEMENT_TYPE_ADDED_CLASS_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_ADDED_INTERFACE_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_CHANGED_CLASS_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_CHANGED_INTERFACE_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_CLASS_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error
-UNUSED_PROBLEM_FILTERS=Warning
-automatically_removed_unused_problem_filters=false
-eclipse.preferences.version=1
-incompatible_api_component_version=Error
-incompatible_api_component_version_include_major_without_breaking_change=Disabled
-incompatible_api_component_version_include_minor_without_api_change=Disabled
-invalid_since_tag_version=Error
-malformed_since_tag=Error
-missing_since_tag=Error
-report_api_breakage_when_major_version_incremented=Disabled
-report_resolution_errors_api_component=Warning
diff --git a/lttng/org.eclipse.linuxtools.lttng2.kernel.core/.settings/org.eclipse.pde.prefs b/lttng/org.eclipse.linuxtools.lttng2.kernel.core/.settings/org.eclipse.pde.prefs
deleted file mode 100644
index d92b94fd4b..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.kernel.core/.settings/org.eclipse.pde.prefs
+++ /dev/null
@@ -1,32 +0,0 @@
-compilers.f.unresolved-features=1
-compilers.f.unresolved-plugins=1
-compilers.incompatible-environment=1
-compilers.p.build=1
-compilers.p.build.bin.includes=1
-compilers.p.build.encodings=2
-compilers.p.build.java.compiler=2
-compilers.p.build.java.compliance=1
-compilers.p.build.missing.output=2
-compilers.p.build.output.library=1
-compilers.p.build.source.library=1
-compilers.p.build.src.includes=1
-compilers.p.deprecated=1
-compilers.p.discouraged-class=1
-compilers.p.internal=1
-compilers.p.missing-packages=1
-compilers.p.missing-version-export-package=2
-compilers.p.missing-version-import-package=2
-compilers.p.missing-version-require-bundle=2
-compilers.p.no-required-att=0
-compilers.p.not-externalized-att=1
-compilers.p.unknown-attribute=1
-compilers.p.unknown-class=1
-compilers.p.unknown-element=1
-compilers.p.unknown-identifier=1
-compilers.p.unknown-resource=1
-compilers.p.unresolved-ex-points=0
-compilers.p.unresolved-import=0
-compilers.s.create-docs=false
-compilers.s.doc-folder=doc
-compilers.s.open-tags=1
-eclipse.preferences.version=1
diff --git a/lttng/org.eclipse.linuxtools.lttng2.kernel.core/META-INF/MANIFEST.MF b/lttng/org.eclipse.linuxtools.lttng2.kernel.core/META-INF/MANIFEST.MF
deleted file mode 100644
index b0eb6acee3..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.kernel.core/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,23 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %Bundle-Name
-Bundle-Vendor: %Bundle-Vendor
-Bundle-Version: 3.1.0.qualifier
-Bundle-Localization: plugin
-Bundle-SymbolicName: org.eclipse.linuxtools.lttng2.kernel.core;singleton:=true
-Bundle-Activator: org.eclipse.linuxtools.internal.lttng2.kernel.core.Activator
-Bundle-ActivationPolicy: lazy
-Bundle-RequiredExecutionEnvironment: JavaSE-1.7
-Require-Bundle: org.eclipse.core.runtime,
- org.eclipse.core.resources,
- org.eclipse.linuxtools.ctf.core;bundle-version="3.1.0",
- org.eclipse.linuxtools.tmf.core;bundle-version="3.1.0",
- org.eclipse.linuxtools.tmf.ctf.core,
- org.eclipse.linuxtools.lttng2.control.core
-Export-Package: org.eclipse.linuxtools.internal.lttng2.kernel.core;x-friends:="org.eclipse.linuxtools.lttng2.kernel.ui,org.eclipse.linuxtools.lttng2.kernel.core.tests",
- org.eclipse.linuxtools.internal.lttng2.kernel.core.stateprovider;x-friends:="org.eclipse.linuxtools.lttng2.kernel.ui,org.eclipse.linuxtools.lttng2.kernel.core.tests",
- org.eclipse.linuxtools.lttng2.kernel.core.analysis,
- org.eclipse.linuxtools.lttng2.kernel.core.cpuusage,
- org.eclipse.linuxtools.lttng2.kernel.core.event.matching,
- org.eclipse.linuxtools.lttng2.kernel.core.trace
-Import-Package: com.google.common.collect
diff --git a/lttng/org.eclipse.linuxtools.lttng2.kernel.core/about.html b/lttng/org.eclipse.linuxtools.lttng2.kernel.core/about.html
deleted file mode 100644
index c258ef55d8..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.kernel.core/about.html
+++ /dev/null
@@ -1,28 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
-<title>About</title>
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
-
-<p>June 5, 2006</p>
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;). Unless otherwise
-indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is available
-at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is
-being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content. Check the Redistributor's license that was
-provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at <a href="http://www.eclipse.org/">http://www.eclipse.org</a>.</p>
-
-</body>
-</html> \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.lttng2.kernel.core/build.properties b/lttng/org.eclipse.linuxtools.lttng2.kernel.core/build.properties
deleted file mode 100644
index 244c9d8e3e..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.kernel.core/build.properties
+++ /dev/null
@@ -1,22 +0,0 @@
-###############################################################################
-# Copyright (c) 2013, 2014 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:
-# Ericsson - Initial API and implementation
-###############################################################################
-
-source.. = src/
-output.. = bin/
-bin.includes = META-INF/,\
- .,\
- about.html,\
- plugin.properties,\
- plugin.xml
-src.includes = about.html
-additional.bundles = org.eclipse.jdt.annotation
-jars.extra.classpath = platform:/plugin/org.eclipse.jdt.annotation
diff --git a/lttng/org.eclipse.linuxtools.lttng2.kernel.core/plugin.properties b/lttng/org.eclipse.linuxtools.lttng2.kernel.core/plugin.properties
deleted file mode 100644
index bfb0525a5d..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.kernel.core/plugin.properties
+++ /dev/null
@@ -1,21 +0,0 @@
-###############################################################################
-# Copyright (c) 2013, 2014 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:
-# Ericsson - Initial API and implementation
-###############################################################################
-
-#Properties file for org.eclipse.linuxtools.lttng2.kernel.core
-Bundle-Vendor = Eclipse Linux Tools
-Bundle-Name = Linux Tools LTTng Kernel Analysis Core Plug-in
-
-tracetype.type.kernel = LTTng Kernel Trace
-analysis.lttngkernel = LTTng Kernel Analysis
-
-cpuusage.lttng.kernel = CPU usage
-
diff --git a/lttng/org.eclipse.linuxtools.lttng2.kernel.core/plugin.xml b/lttng/org.eclipse.linuxtools.lttng2.kernel.core/plugin.xml
deleted file mode 100644
index f74134c622..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.kernel.core/plugin.xml
+++ /dev/null
@@ -1,36 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.4"?>
-<plugin>
- <extension
- point="org.eclipse.linuxtools.tmf.core.tracetype">
- <type
- category="org.eclipse.linuxtools.tmf.ctf.core.category.ctf"
- event_type="org.eclipse.linuxtools.tmf.ctf.core.CtfTmfEvent"
- id="org.eclipse.linuxtools.lttng2.kernel.tracetype"
- isDirectory="true"
- name="%tracetype.type.kernel"
- trace_type="org.eclipse.linuxtools.lttng2.kernel.core.trace.LttngKernelTrace">
- </type>
- </extension>
- <extension
- point="org.eclipse.linuxtools.tmf.core.analysis">
- <module
- analysis_module="org.eclipse.linuxtools.lttng2.kernel.core.analysis.LttngKernelAnalysisModule"
- automatic="true"
- id="org.eclipse.linuxtools.lttng2.kernel.analysis"
- name="%analysis.lttngkernel">
- <tracetype
- class="org.eclipse.linuxtools.lttng2.kernel.core.trace.LttngKernelTrace">
- </tracetype>
- </module>
- <module
- analysis_module="org.eclipse.linuxtools.lttng2.kernel.core.cpuusage.LttngKernelCpuUsageAnalysis"
- id="org.eclipse.linuxtools.lttng2.kernel.core.cpuusage"
- name="%cpuusage.lttng.kernel">
- <tracetype
- applies="true"
- class="org.eclipse.linuxtools.lttng2.kernel.core.trace.LttngKernelTrace">
- </tracetype>
- </module>
- </extension>
-</plugin>
diff --git a/lttng/org.eclipse.linuxtools.lttng2.kernel.core/pom.xml b/lttng/org.eclipse.linuxtools.lttng2.kernel.core/pom.xml
deleted file mode 100644
index ff22df080f..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.kernel.core/pom.xml
+++ /dev/null
@@ -1,45 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Copyright (C) 2011, Red Hat, Inc.
-
- 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
--->
-<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
- <modelVersion>4.0.0</modelVersion>
-
- <parent>
- <artifactId>linuxtools-lttng-parent</artifactId>
- <groupId>org.eclipse.linuxtools.lttng</groupId>
- <version>3.2.0-SNAPSHOT</version>
- </parent>
-
- <artifactId>org.eclipse.linuxtools.lttng2.kernel.core</artifactId>
- <version>3.1.0-SNAPSHOT</version>
- <packaging>eclipse-plugin</packaging>
-
- <name>Linux Tools LTTng Kernel Analysis Core Plug-in</name>
-
- <build>
- <!-- workaround for https://issues.sonatype.org/browse/TYCHO-168 -->
- <resources>
- <resource>
- <directory>src</directory>
- <excludes>
- <exclude>**/*.java</exclude>
- </excludes>
- </resource>
- </resources>
- <plugins>
- <plugin>
- <groupId>org.eclipse.tycho</groupId>
- <artifactId>tycho-source-plugin</artifactId>
- </plugin>
- </plugins>
- </build>
-
- <groupId>org.eclipse.linuxtools.lttng2</groupId>
-</project>
diff --git a/lttng/org.eclipse.linuxtools.lttng2.kernel.core/src/org/eclipse/linuxtools/internal/lttng2/kernel/core/Activator.java b/lttng/org.eclipse.linuxtools.lttng2.kernel.core/src/org/eclipse/linuxtools/internal/lttng2/kernel/core/Activator.java
deleted file mode 100644
index 8629784bc4..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.kernel.core/src/org/eclipse/linuxtools/internal/lttng2/kernel/core/Activator.java
+++ /dev/null
@@ -1,142 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2012, 2013 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.internal.lttng2.kernel.core;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Plugin;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.linuxtools.lttng2.kernel.core.event.matching.TcpEventMatching;
-import org.eclipse.linuxtools.lttng2.kernel.core.event.matching.TcpLttngEventMatching;
-import org.eclipse.linuxtools.tmf.core.event.matching.TmfEventMatching;
-import org.osgi.framework.BundleContext;
-
-/**
- * <b><u>Activator</u></b>
- * <p>
- * The activator class controls the plug-in life cycle
- */
-public class Activator extends Plugin {
-
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
-
- /**
- * The plug-in ID
- */
- public static final String PLUGIN_ID = "org.eclipse.linuxtools.lttng2.core"; //$NON-NLS-1$
-
- /**
- * The shared instance
- */
- private static Activator plugin;
-
- // ------------------------------------------------------------------------
- // Constructors
- // ------------------------------------------------------------------------
-
- /**
- * The constructor
- */
- public Activator() {
- }
-
- // ------------------------------------------------------------------------
- // Accessors
- // ------------------------------------------------------------------------
-
- /**
- * Returns the shared instance
- *
- * @return the shared instance
- */
- public static Activator getDefault() {
- return plugin;
- }
-
- // ------------------------------------------------------------------------
- // Operators
- // ------------------------------------------------------------------------
-
- @Override
- public void start(BundleContext context) throws Exception {
- super.start(context);
- plugin = this;
- TmfEventMatching.registerMatchObject(new TcpEventMatching());
- TmfEventMatching.registerMatchObject(new TcpLttngEventMatching());
- }
-
- @Override
- public void stop(BundleContext context) throws Exception {
- plugin = null;
- super.stop(context);
- }
-
- /**
- * Logs a message with severity INFO in the runtime log of the plug-in.
- *
- * @param message A message to log
- */
- public void logInfo(String message) {
- getLog().log(new Status(IStatus.INFO, PLUGIN_ID, message));
- }
-
- /**
- * Logs a message and exception with severity INFO in the runtime log of the plug-in.
- *
- * @param message A message to log
- * @param exception A exception to log
- */
- public void logInfo(String message, Throwable exception) {
- getLog().log(new Status(IStatus.INFO, PLUGIN_ID, message, exception));
- }
-
- /**
- * Logs a message and exception with severity WARNING in the runtime log of the plug-in.
- *
- * @param message A message to log
- */
- public void logWarning(String message) {
- getLog().log(new Status(IStatus.WARNING, PLUGIN_ID, message));
- }
-
- /**
- * Logs a message and exception with severity WARNING in the runtime log of the plug-in.
- *
- * @param message A message to log
- * @param exception A exception to log
- */
- public void logWarning(String message, Throwable exception) {
- getLog().log(new Status(IStatus.WARNING, PLUGIN_ID, message, exception));
- }
-
- /**
- * Logs a message and exception with severity ERROR in the runtime log of the plug-in.
- *
- * @param message A message to log
- */
- public void logError(String message) {
- getLog().log(new Status(IStatus.ERROR, PLUGIN_ID, message));
- }
-
- /**
- * Logs a message and exception with severity ERROR in the runtime log of the plug-in.
- *
- * @param message A message to log
- * @param exception A exception to log
- */
- public void logError(String message, Throwable exception) {
- getLog().log(new Status(IStatus.ERROR, PLUGIN_ID, message, exception));
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.lttng2.kernel.core/src/org/eclipse/linuxtools/internal/lttng2/kernel/core/Attributes.java b/lttng/org.eclipse.linuxtools.lttng2.kernel.core/src/org/eclipse/linuxtools/internal/lttng2/kernel/core/Attributes.java
deleted file mode 100644
index 1df281e8c8..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.kernel.core/src/org/eclipse/linuxtools/internal/lttng2/kernel/core/Attributes.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2012, 2013 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:
- * Alexandre Montplaisir - Initial API and implementation
- ******************************************************************************/
-
-package org.eclipse.linuxtools.internal.lttng2.kernel.core;
-
-/**
- * This file defines all the attribute names used in the handler. Both the
- * construction and query steps should use them.
- *
- * These should not be externalized! The values here are used as-is in the
- * history file on disk, so they should be kept the same to keep the file format
- * compatible. If a view shows attribute names directly, the localization should
- * be done on the viewer side.
- *
- * @author alexmont
- *
- */
-@SuppressWarnings({"nls", "javadoc"})
-public interface Attributes {
-
- /* First-level attributes */
- static final String CPUS = "CPUs";
- static final String THREADS = "Threads";
- static final String RESOURCES = "Resources";
-
- /* Sub-attributes of the CPU nodes */
- static final String CURRENT_THREAD = "Current_thread";
- static final String STATUS = "Status";
-
- /* Sub-attributes of the Thread nodes */
- static final String PPID = "PPID";
- //static final String STATUS = "Status"
- static final String EXEC_NAME = "Exec_name";
- static final String SYSTEM_CALL = "System_call";
-
- /* Attributes under "Resources" */
- static final String IRQS = "IRQs";
- static final String SOFT_IRQS = "Soft_IRQs";
-
- /* Misc stuff */
- static final String UNKNOWN = "Unknown";
-}
diff --git a/lttng/org.eclipse.linuxtools.lttng2.kernel.core/src/org/eclipse/linuxtools/internal/lttng2/kernel/core/LttngStrings.java b/lttng/org.eclipse.linuxtools.lttng2.kernel.core/src/org/eclipse/linuxtools/internal/lttng2/kernel/core/LttngStrings.java
deleted file mode 100644
index 044ec9fd29..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.kernel.core/src/org/eclipse/linuxtools/internal/lttng2/kernel/core/LttngStrings.java
+++ /dev/null
@@ -1,65 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2012, 2013 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:
- * Alexandre Montplaisir - Initial API and implementation
- ******************************************************************************/
-
-package org.eclipse.linuxtools.internal.lttng2.kernel.core;
-
-/**
- * This file defines all the known event and field names for LTTng 2.0 kernel
- * traces.
- *
- * Once again, these should not be externalized, since they need to match
- * exactly what the tracer outputs. If you want to localize them in a view, you
- * should do a mapping in the viewer itself.
- *
- * @author alexmont
- */
-@SuppressWarnings({"javadoc", "nls"})
-public interface LttngStrings {
-
- /* Event names */
- static final String EXIT_SYSCALL = "exit_syscall";
- static final String IRQ_HANDLER_ENTRY = "irq_handler_entry";
- static final String IRQ_HANDLER_EXIT = "irq_handler_exit";
- static final String SOFTIRQ_ENTRY = "softirq_entry";
- static final String SOFTIRQ_EXIT = "softirq_exit";
- static final String SOFTIRQ_RAISE = "softirq_raise";
- static final String SCHED_SWITCH = "sched_switch";
- static final String SCHED_WAKEUP = "sched_wakeup";
- static final String SCHED_WAKEUP_NEW = "sched_wakeup_new";
- static final String SCHED_PROCESS_FORK = "sched_process_fork";
- static final String SCHED_PROCESS_EXIT = "sched_process_exit";
- static final String SCHED_PROCESS_FREE = "sched_process_free";
- static final String STATEDUMP_PROCESS_STATE = "lttng_statedump_process_state";
-
- /* System call names */
- static final String SYSCALL_PREFIX = "sys_";
- static final String COMPAT_SYSCALL_PREFIX = "compat_sys_";
- static final String SYS_CLONE = "sys_clone";
-
- /* Field names */
- static final String IRQ = "irq";
- static final String COMM = "comm";
- static final String NAME = "name";
- static final String PID = "pid";
- static final String TID = "tid";
- static final String PPID = "ppid";
- static final String STATUS = "status";
- static final String VEC = "vec";
- static final String PREV_COMM = "prev_comm";
- static final String PREV_TID = "prev_tid";
- static final String PREV_STATE = "prev_state";
- static final String NEXT_COMM = "next_comm";
- static final String NEXT_TID = "next_tid";
- static final String PARENT_TID = "parent_tid";
- static final String CHILD_COMM = "child_comm";
- static final String CHILD_TID = "child_tid";
-}
diff --git a/lttng/org.eclipse.linuxtools.lttng2.kernel.core/src/org/eclipse/linuxtools/internal/lttng2/kernel/core/StateValues.java b/lttng/org.eclipse.linuxtools.lttng2.kernel.core/src/org/eclipse/linuxtools/internal/lttng2/kernel/core/StateValues.java
deleted file mode 100644
index 53a4efb498..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.kernel.core/src/org/eclipse/linuxtools/internal/lttng2/kernel/core/StateValues.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2012, 2013 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:
- * Alexandre Montplaisir - Initial API and implementation
- ******************************************************************************/
-
-package org.eclipse.linuxtools.internal.lttng2.kernel.core;
-
-import org.eclipse.linuxtools.statesystem.core.statevalue.ITmfStateValue;
-import org.eclipse.linuxtools.statesystem.core.statevalue.TmfStateValue;
-
-/**
- * State values that are used in the kernel event handler. It's much better to
- * use integer values whenever possible, since those take much less space in the
- * history file.
- *
- * @author alexmont
- *
- */
-@SuppressWarnings("javadoc")
-public interface StateValues {
-
- /* CPU Status */
- static final int CPU_STATUS_IDLE = 0;
- static final int CPU_STATUS_RUN_USERMODE = 1;
- static final int CPU_STATUS_RUN_SYSCALL = 2;
- static final int CPU_STATUS_IRQ = 3;
- static final int CPU_STATUS_SOFTIRQ = 4;
-
- static final ITmfStateValue CPU_STATUS_IDLE_VALUE = TmfStateValue.newValueInt(CPU_STATUS_IDLE);
- static final ITmfStateValue CPU_STATUS_RUN_USERMODE_VALUE = TmfStateValue.newValueInt(CPU_STATUS_RUN_USERMODE);
- static final ITmfStateValue CPU_STATUS_RUN_SYSCALL_VALUE = TmfStateValue.newValueInt(CPU_STATUS_RUN_SYSCALL);
- static final ITmfStateValue CPU_STATUS_IRQ_VALUE = TmfStateValue.newValueInt(CPU_STATUS_IRQ);
- static final ITmfStateValue CPU_STATUS_SOFTIRQ_VALUE = TmfStateValue.newValueInt(CPU_STATUS_SOFTIRQ);
-
- /* Process status */
- static final int PROCESS_STATUS_UNKNOWN = 0;
- static final int PROCESS_STATUS_WAIT_BLOCKED = 1;
- static final int PROCESS_STATUS_RUN_USERMODE = 2;
- static final int PROCESS_STATUS_RUN_SYSCALL = 3;
- static final int PROCESS_STATUS_INTERRUPTED = 4;
- static final int PROCESS_STATUS_WAIT_FOR_CPU = 5;
-
- static final ITmfStateValue PROCESS_STATUS_UNKNOWN_VALUE = TmfStateValue.newValueInt(PROCESS_STATUS_UNKNOWN);
- static final ITmfStateValue PROCESS_STATUS_WAIT_BLOCKED_VALUE = TmfStateValue.newValueInt(PROCESS_STATUS_WAIT_BLOCKED);
- static final ITmfStateValue PROCESS_STATUS_RUN_USERMODE_VALUE = TmfStateValue.newValueInt(PROCESS_STATUS_RUN_USERMODE);
- static final ITmfStateValue PROCESS_STATUS_RUN_SYSCALL_VALUE = TmfStateValue.newValueInt(PROCESS_STATUS_RUN_SYSCALL);
- static final ITmfStateValue PROCESS_STATUS_INTERRUPTED_VALUE = TmfStateValue.newValueInt(PROCESS_STATUS_INTERRUPTED);
- static final ITmfStateValue PROCESS_STATUS_WAIT_FOR_CPU_VALUE = TmfStateValue.newValueInt(PROCESS_STATUS_WAIT_FOR_CPU);
-
- /* SoftIRQ-specific stuff. -1: null/disabled, >= 0: running on that CPU */
- static final int SOFT_IRQ_RAISED = -2;
-
- static final ITmfStateValue SOFT_IRQ_RAISED_VALUE = TmfStateValue.newValueInt(SOFT_IRQ_RAISED);
-}
diff --git a/lttng/org.eclipse.linuxtools.lttng2.kernel.core/src/org/eclipse/linuxtools/internal/lttng2/kernel/core/TcpEventStrings.java b/lttng/org.eclipse.linuxtools.lttng2.kernel.core/src/org/eclipse/linuxtools/internal/lttng2/kernel/core/TcpEventStrings.java
deleted file mode 100644
index 2891210aa4..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.kernel.core/src/org/eclipse/linuxtools/internal/lttng2/kernel/core/TcpEventStrings.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 École Polytechnique de Montréal
- *
- * 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:
- * Geneviève Bastien - Initial API and implementation
- ******************************************************************************/
-
-package org.eclipse.linuxtools.internal.lttng2.kernel.core;
-
-/**
- * This file defines all the known event and field names used to trace socket
- * connection for both the addons module method (
- * {@link org.eclipse.linuxtools.lttng2.kernel.core.event.matching.TcpEventMatching}
- * ) and the net_data_experimental branch (
- * {@link org.eclipse.linuxtools.lttng2.kernel.core.event.matching.TcpLttngEventMatching}
- * ).
- *
- * These events should be eventually mainlined and when this happens, this class
- * won't be necessary anymore and they should be moved to {@link LttngStrings}
- * class
- *
- *
- * @author Geneviève Bastien
- */
-@SuppressWarnings({ "javadoc", "nls" })
-public interface TcpEventStrings {
-
- /* Event names */
- public static final String INET_CONNECT = "inet_connect";
- public static final String INET_SOCK_CREATE = "inet_sock_create";
- public static final String INET_SOCK_LOCAL_OUT = "inet_sock_local_out";
- public static final String INET_SOCK_LOCAL_IN = "inet_sock_local_in";
- public static final String INET_SOCK_CLONE = "inet_sock_clone";
- public static final String INET_ACCEPT = "inet_accept";
- public static final String INET_SOCK_DELETE = "inet_sock_delete";
- public static final String NETIF_RECEIVE_SKB = "netif_receive_skb";
- public static final String NET_DEV_QUEUE = "net_dev_queue";
-
- /* Field names */
- public static final String SEQ = "seq";
- public static final String SK = "sk";
- public static final String OSK = "osk";
- public static final String NSK = "nsk";
- public static final String SPORT = "sport";
- public static final String DPORT = "dport";
- public static final String SADDR = "saddr";
- public static final String DADDR = "daddr";
- public static final String ACKSEQ = "ack_seq";
- public static final String CHECK = "check";
- public static final String WINDOW = "window";
- public static final String FLAGS = "flags";
- public static final String TRANSPORT_FIELDS = "transport_fields";
- public static final String TYPE_TCP = "thtype_tcp";
-
-}
diff --git a/lttng/org.eclipse.linuxtools.lttng2.kernel.core/src/org/eclipse/linuxtools/internal/lttng2/kernel/core/stateprovider/LttngKernelStateProvider.java b/lttng/org.eclipse.linuxtools.lttng2.kernel.core/src/org/eclipse/linuxtools/internal/lttng2/kernel/core/stateprovider/LttngKernelStateProvider.java
deleted file mode 100644
index 7bceb2878e..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.kernel.core/src/org/eclipse/linuxtools/internal/lttng2/kernel/core/stateprovider/LttngKernelStateProvider.java
+++ /dev/null
@@ -1,559 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2012, 2014 Ericsson
- * Copyright (c) 2010, 2011 École Polytechnique de Montréal
- * Copyright (c) 2010, 2011 Alexandre Montplaisir <alexandre.montplaisir@gmail.com>
- *
- * 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
- *
- *******************************************************************************/
-
-package org.eclipse.linuxtools.internal.lttng2.kernel.core.stateprovider;
-
-import org.eclipse.linuxtools.internal.lttng2.kernel.core.Attributes;
-import org.eclipse.linuxtools.internal.lttng2.kernel.core.LttngStrings;
-import org.eclipse.linuxtools.internal.lttng2.kernel.core.StateValues;
-import org.eclipse.linuxtools.statesystem.core.ITmfStateSystemBuilder;
-import org.eclipse.linuxtools.statesystem.core.exceptions.AttributeNotFoundException;
-import org.eclipse.linuxtools.statesystem.core.exceptions.StateValueTypeException;
-import org.eclipse.linuxtools.statesystem.core.exceptions.TimeRangeException;
-import org.eclipse.linuxtools.statesystem.core.statevalue.ITmfStateValue;
-import org.eclipse.linuxtools.statesystem.core.statevalue.TmfStateValue;
-import org.eclipse.linuxtools.tmf.core.event.ITmfEvent;
-import org.eclipse.linuxtools.tmf.core.event.ITmfEventField;
-import org.eclipse.linuxtools.tmf.core.statesystem.AbstractTmfStateProvider;
-import org.eclipse.linuxtools.tmf.core.trace.ITmfTrace;
-
-/**
- * This is the state change input plugin for TMF's state system which handles
- * the LTTng 2.0 kernel traces in CTF format.
- *
- * It uses the reference handler defined in CTFKernelHandler.java.
- *
- * @author alexmont
- *
- */
-public class LttngKernelStateProvider extends AbstractTmfStateProvider {
-
- /**
- * Version number of this state provider. Please bump this if you modify the
- * contents of the generated state history in some way.
- */
- private static final int VERSION = 4;
-
- // ------------------------------------------------------------------------
- // Constructor
- // ------------------------------------------------------------------------
-
- /**
- * Instantiate a new state provider plugin.
- *
- * @param trace
- * The LTTng 2.0 kernel trace directory
- */
- public LttngKernelStateProvider(ITmfTrace trace) {
- super(trace, ITmfEvent.class, "LTTng Kernel"); //$NON-NLS-1$
- }
-
- // ------------------------------------------------------------------------
- // IStateChangeInput
- // ------------------------------------------------------------------------
-
- @Override
- public int getVersion() {
- return VERSION;
- }
-
- @Override
- public void assignTargetStateSystem(ITmfStateSystemBuilder ssb) {
- /* We can only set up the locations once the state system is assigned */
- super.assignTargetStateSystem(ssb);
- }
-
- @Override
- public LttngKernelStateProvider getNewInstance() {
- return new LttngKernelStateProvider(this.getTrace());
- }
-
- @Override
- protected void eventHandle(ITmfEvent event) {
- /*
- * AbstractStateChangeInput should have already checked for the correct
- * class type
- */
-
- final String eventName = event.getType().getName();
- final long ts = event.getTimestamp().getValue();
-
- try {
- /* Shortcut for the "current CPU" attribute node */
- final Integer currentCPUNode = ss.getQuarkRelativeAndAdd(getNodeCPUs(), event.getSource());
-
- /*
- * Shortcut for the "current thread" attribute node. It requires
- * querying the current CPU's current thread.
- */
- int quark = ss.getQuarkRelativeAndAdd(currentCPUNode, Attributes.CURRENT_THREAD);
- ITmfStateValue value = ss.queryOngoingState(quark);
- int thread = value.isNull() ? -1 : value.unboxInt();
- final Integer currentThreadNode = ss.getQuarkRelativeAndAdd(getNodeThreads(), String.valueOf(thread));
-
- /*
- * Feed event to the history system if it's known to cause a state
- * transition.
- */
- switch (eventName) {
-
- case LttngStrings.EXIT_SYSCALL:
- /* Fields: int64 ret */
- {
- /* Clear the current system call on the process */
- quark = ss.getQuarkRelativeAndAdd(currentThreadNode, Attributes.SYSTEM_CALL);
- value = TmfStateValue.nullValue();
- ss.modifyAttribute(ts, value, quark);
-
- /* Put the process' status back to user mode */
- quark = ss.getQuarkRelativeAndAdd(currentThreadNode, Attributes.STATUS);
- value = StateValues.PROCESS_STATUS_RUN_USERMODE_VALUE;
- ss.modifyAttribute(ts, value, quark);
-
- /* Put the CPU's status back to user mode */
- quark = ss.getQuarkRelativeAndAdd(currentCPUNode, Attributes.STATUS);
- value = StateValues.CPU_STATUS_RUN_USERMODE_VALUE;
- ss.modifyAttribute(ts, value, quark);
- }
- break;
-
- case LttngStrings.IRQ_HANDLER_ENTRY:
- /* Fields: int32 irq, string name */
- {
- Integer irqId = ((Long) event.getContent().getField(LttngStrings.IRQ).getValue()).intValue();
-
- /* Mark this IRQ as active in the resource tree.
- * The state value = the CPU on which this IRQ is sitting */
- quark = ss.getQuarkRelativeAndAdd(getNodeIRQs(), irqId.toString());
- value = TmfStateValue.newValueInt(Integer.parseInt(event.getSource()));
- ss.modifyAttribute(ts, value, quark);
-
- /* Change the status of the running process to interrupted */
- quark = ss.getQuarkRelativeAndAdd(currentThreadNode, Attributes.STATUS);
- value = StateValues.PROCESS_STATUS_INTERRUPTED_VALUE;
- ss.modifyAttribute(ts, value, quark);
-
- /* Change the status of the CPU to interrupted */
- quark = ss.getQuarkRelativeAndAdd(currentCPUNode, Attributes.STATUS);
- value = StateValues.CPU_STATUS_IRQ_VALUE;
- ss.modifyAttribute(ts, value, quark);
- }
- break;
-
- case LttngStrings.IRQ_HANDLER_EXIT:
- /* Fields: int32 irq, int32 ret */
- {
- Integer irqId = ((Long) event.getContent().getField(LttngStrings.IRQ).getValue()).intValue();
-
- /* Put this IRQ back to inactive in the resource tree */
- quark = ss.getQuarkRelativeAndAdd(getNodeIRQs(), irqId.toString());
- value = TmfStateValue.nullValue();
- ss.modifyAttribute(ts, value, quark);
-
- /* Set the previous process back to running */
- setProcessToRunning(ts, currentThreadNode);
-
- /* Set the CPU status back to running or "idle" */
- cpuExitInterrupt(ts, currentCPUNode, currentThreadNode);
- }
- break;
-
- case LttngStrings.SOFTIRQ_ENTRY:
- /* Fields: int32 vec */
- {
- Integer softIrqId = ((Long) event.getContent().getField(LttngStrings.VEC).getValue()).intValue();
-
- /* Mark this SoftIRQ as active in the resource tree.
- * The state value = the CPU on which this SoftIRQ is processed */
- quark = ss.getQuarkRelativeAndAdd(getNodeSoftIRQs(), softIrqId.toString());
- value = TmfStateValue.newValueInt(Integer.parseInt(event.getSource()));
- ss.modifyAttribute(ts, value, quark);
-
- /* Change the status of the running process to interrupted */
- quark = ss.getQuarkRelativeAndAdd(currentThreadNode, Attributes.STATUS);
- value = StateValues.PROCESS_STATUS_INTERRUPTED_VALUE;
- ss.modifyAttribute(ts, value, quark);
-
- /* Change the status of the CPU to interrupted */
- quark = ss.getQuarkRelativeAndAdd(currentCPUNode, Attributes.STATUS);
- value = StateValues.CPU_STATUS_SOFTIRQ_VALUE;
- ss.modifyAttribute(ts, value, quark);
- }
- break;
-
- case LttngStrings.SOFTIRQ_EXIT:
- /* Fields: int32 vec */
- {
- Integer softIrqId = ((Long) event.getContent().getField(LttngStrings.VEC).getValue()).intValue();
-
- /* Put this SoftIRQ back to inactive (= -1) in the resource tree */
- quark = ss.getQuarkRelativeAndAdd(getNodeSoftIRQs(), softIrqId.toString());
- value = TmfStateValue.nullValue();
- ss.modifyAttribute(ts, value, quark);
-
- /* Set the previous process back to running */
- setProcessToRunning(ts, currentThreadNode);
-
- /* Set the CPU status back to "busy" or "idle" */
- cpuExitInterrupt(ts, currentCPUNode, currentThreadNode);
- }
- break;
-
- case LttngStrings.SOFTIRQ_RAISE:
- /* Fields: int32 vec */
- {
- Integer softIrqId = ((Long) event.getContent().getField(LttngStrings.VEC).getValue()).intValue();
-
- /* Mark this SoftIRQ as *raised* in the resource tree.
- * State value = -2 */
- quark = ss.getQuarkRelativeAndAdd(getNodeSoftIRQs(), softIrqId.toString());
- value = StateValues.SOFT_IRQ_RAISED_VALUE;
- ss.modifyAttribute(ts, value, quark);
- }
- break;
-
- case LttngStrings.SCHED_SWITCH:
- /*
- * Fields: string prev_comm, int32 prev_tid, int32 prev_prio, int64 prev_state,
- * string next_comm, int32 next_tid, int32 next_prio
- */
- {
- ITmfEventField content = event.getContent();
- Integer prevTid = ((Long) content.getField(LttngStrings.PREV_TID).getValue()).intValue();
- Long prevState = (Long) content.getField(LttngStrings.PREV_STATE).getValue();
- String nextProcessName = (String) content.getField(LttngStrings.NEXT_COMM).getValue();
- Integer nextTid = ((Long) content.getField(LttngStrings.NEXT_TID).getValue()).intValue();
-
- Integer formerThreadNode = ss.getQuarkRelativeAndAdd(getNodeThreads(), prevTid.toString());
- Integer newCurrentThreadNode = ss.getQuarkRelativeAndAdd(getNodeThreads(), nextTid.toString());
-
- /* Set the status of the process that got scheduled out. */
- quark = ss.getQuarkRelativeAndAdd(formerThreadNode, Attributes.STATUS);
- if (prevState != 0) {
- value = StateValues.PROCESS_STATUS_WAIT_BLOCKED_VALUE;
- } else {
- value = StateValues.PROCESS_STATUS_WAIT_FOR_CPU_VALUE;
- }
- ss.modifyAttribute(ts, value, quark);
-
- /* Set the status of the new scheduled process */
- setProcessToRunning(ts, newCurrentThreadNode);
-
- /* Set the exec name of the new process */
- quark = ss.getQuarkRelativeAndAdd(newCurrentThreadNode, Attributes.EXEC_NAME);
- value = TmfStateValue.newValueString(nextProcessName);
- ss.modifyAttribute(ts, value, quark);
-
- /* Make sure the PPID and system_call sub-attributes exist */
- ss.getQuarkRelativeAndAdd(newCurrentThreadNode, Attributes.SYSTEM_CALL);
- ss.getQuarkRelativeAndAdd(newCurrentThreadNode, Attributes.PPID);
-
- /* Set the current scheduled process on the relevant CPU */
- quark = ss.getQuarkRelativeAndAdd(currentCPUNode, Attributes.CURRENT_THREAD);
- value = TmfStateValue.newValueInt(nextTid);
- ss.modifyAttribute(ts, value, quark);
-
- /* Set the status of the CPU itself */
- if (nextTid > 0) {
- /* Check if the entering process is in kernel or user mode */
- quark = ss.getQuarkRelativeAndAdd(newCurrentThreadNode, Attributes.SYSTEM_CALL);
- if (ss.queryOngoingState(quark).isNull()) {
- value = StateValues.CPU_STATUS_RUN_USERMODE_VALUE;
- } else {
- value = StateValues.CPU_STATUS_RUN_SYSCALL_VALUE;
- }
- } else {
- value = StateValues.CPU_STATUS_IDLE_VALUE;
- }
- quark = ss.getQuarkRelativeAndAdd(currentCPUNode, Attributes.STATUS);
- ss.modifyAttribute(ts, value, quark);
- }
- break;
-
- case LttngStrings.SCHED_PROCESS_FORK:
- /* Fields: string parent_comm, int32 parent_tid,
- * string child_comm, int32 child_tid */
- {
- ITmfEventField content = event.getContent();
- // String parentProcessName = (String) event.getFieldValue("parent_comm");
- String childProcessName = (String) content.getField(LttngStrings.CHILD_COMM).getValue();
- // assert ( parentProcessName.equals(childProcessName) );
-
- Integer parentTid = ((Long) content.getField(LttngStrings.PARENT_TID).getValue()).intValue();
- Integer childTid = ((Long) content.getField(LttngStrings.CHILD_TID).getValue()).intValue();
-
- Integer parentTidNode = ss.getQuarkRelativeAndAdd(getNodeThreads(), parentTid.toString());
- Integer childTidNode = ss.getQuarkRelativeAndAdd(getNodeThreads(), childTid.toString());
-
- /* Assign the PPID to the new process */
- quark = ss.getQuarkRelativeAndAdd(childTidNode, Attributes.PPID);
- value = TmfStateValue.newValueInt(parentTid);
- ss.modifyAttribute(ts, value, quark);
-
- /* Set the new process' exec_name */
- quark = ss.getQuarkRelativeAndAdd(childTidNode, Attributes.EXEC_NAME);
- value = TmfStateValue.newValueString(childProcessName);
- ss.modifyAttribute(ts, value, quark);
-
- /* Set the new process' status */
- quark = ss.getQuarkRelativeAndAdd(childTidNode, Attributes.STATUS);
- value = StateValues.PROCESS_STATUS_WAIT_FOR_CPU_VALUE;
- ss.modifyAttribute(ts, value, quark);
-
- /* Set the process' syscall name, to be the same as the parent's */
- quark = ss.getQuarkRelativeAndAdd(parentTidNode, Attributes.SYSTEM_CALL);
- value = ss.queryOngoingState(quark);
- if (value.isNull()) {
- /*
- * Maybe we were missing info about the parent? At least we
- * will set the child right. Let's suppose "sys_clone".
- */
- value = TmfStateValue.newValueString(LttngStrings.SYS_CLONE);
- }
- quark = ss.getQuarkRelativeAndAdd(childTidNode, Attributes.SYSTEM_CALL);
- ss.modifyAttribute(ts, value, quark);
- }
- break;
-
- case LttngStrings.SCHED_PROCESS_EXIT:
- /* Fields: string comm, int32 tid, int32 prio */
- break;
-
- case LttngStrings.SCHED_PROCESS_FREE:
- /* Fields: string comm, int32 tid, int32 prio */
- /*
- * A sched_process_free will always happen after the sched_switch
- * that will remove the process from the cpu for the last time. So
- * this is when we should delete everything wrt to the process.
- */
- {
- Integer tid = ((Long) event.getContent().getField(LttngStrings.TID).getValue()).intValue();
- /*
- * Remove the process and all its sub-attributes from the
- * current state
- */
- quark = ss.getQuarkRelativeAndAdd(getNodeThreads(), tid.toString());
- ss.removeAttribute(ts, quark);
- }
- break;
-
- case LttngStrings.STATEDUMP_PROCESS_STATE:
- /* Fields:
- * int32 type, int32 mode, int32 pid, int32 submode, int32 vpid,
- * int32 ppid, int32 tid, string name, int32 status, int32 vtid */
- {
- ITmfEventField content = event.getContent();
- int tid = ((Long) content.getField(LttngStrings.TID).getValue()).intValue();
- int pid = ((Long) content.getField(LttngStrings.PID).getValue()).intValue();
- int ppid = ((Long) content.getField(LttngStrings.PPID).getValue()).intValue();
- int status = ((Long) content.getField(LttngStrings.STATUS).getValue()).intValue();
- String name = (String) content.getField(LttngStrings.NAME).getValue();
- /*
- * "mode" could be interesting too, but it doesn't seem to be
- * populated with anything relevant for now.
- */
-
- int curThreadNode = ss.getQuarkRelativeAndAdd(getNodeThreads(), String.valueOf(tid));
-
- /* Set the process' name */
- quark = ss.getQuarkRelativeAndAdd(curThreadNode, Attributes.EXEC_NAME);
- if (ss.queryOngoingState(quark).isNull()) {
- /* If the value didn't exist previously, set it */
- value = TmfStateValue.newValueString(name);
- ss.modifyAttribute(ts, value, quark);
- }
-
- /* Set the process' PPID */
- quark = ss.getQuarkRelativeAndAdd(curThreadNode, Attributes.PPID);
- if (ss.queryOngoingState(quark).isNull()) {
- if (pid == tid) {
- /* We have a process. Use the 'PPID' field. */
- value = TmfStateValue.newValueInt(ppid);
- } else {
- /* We have a thread, use the 'PID' field for the parent. */
- value = TmfStateValue.newValueInt(pid);
- }
- ss.modifyAttribute(ts, value, quark);
- }
-
- /* Set the process' status */
- quark = ss.getQuarkRelativeAndAdd(curThreadNode, Attributes.STATUS);
- if (ss.queryOngoingState(quark).isNull()) {
- /* "2" here means "WAIT_FOR_CPU", and "5" "WAIT_BLOCKED" in the LTTng kernel. */
- if (status == 2) {
- value = StateValues.PROCESS_STATUS_WAIT_FOR_CPU_VALUE;
- } else if (status == 5) {
- value = StateValues.PROCESS_STATUS_WAIT_BLOCKED_VALUE;
- } else {
- value = StateValues.PROCESS_STATUS_UNKNOWN_VALUE;
- }
- ss.modifyAttribute(ts, value, quark);
- }
- }
- break;
-
- case LttngStrings.SCHED_WAKEUP:
- case LttngStrings.SCHED_WAKEUP_NEW:
- /* Fields (same fields for both types):
- * string comm, int32 pid, int32 prio, int32 success,
- * int32 target_cpu */
- {
- final int tid = ((Long) event.getContent().getField(LttngStrings.TID).getValue()).intValue();
- final int threadNode = ss.getQuarkRelativeAndAdd(getNodeThreads(), String.valueOf(tid));
-
- /*
- * The process indicated in the event's payload is now ready to
- * run. Assign it to the "wait for cpu" state, but only if it
- * was not already running.
- */
- quark = ss.getQuarkRelativeAndAdd(threadNode, Attributes.STATUS);
- int status = ss.queryOngoingState(quark).unboxInt();
-
- if (status != StateValues.PROCESS_STATUS_RUN_SYSCALL &&
- status != StateValues.PROCESS_STATUS_RUN_USERMODE) {
- value = StateValues.PROCESS_STATUS_WAIT_FOR_CPU_VALUE;
- ss.modifyAttribute(ts, value, quark);
- }
- }
- break;
-
- default:
- /* Other event types not covered by the main switch */
- {
- if (eventName.startsWith(LttngStrings.SYSCALL_PREFIX)
- || eventName.startsWith(LttngStrings.COMPAT_SYSCALL_PREFIX)) {
- /*
- * This is a replacement for the old sys_enter event. Now
- * syscall names are listed into the event type
- */
-
- /* Assign the new system call to the process */
- quark = ss.getQuarkRelativeAndAdd(currentThreadNode, Attributes.SYSTEM_CALL);
- value = TmfStateValue.newValueString(eventName);
- ss.modifyAttribute(ts, value, quark);
-
- /* Put the process in system call mode */
- quark = ss.getQuarkRelativeAndAdd(currentThreadNode, Attributes.STATUS);
- value = StateValues.PROCESS_STATUS_RUN_SYSCALL_VALUE;
- ss.modifyAttribute(ts, value, quark);
-
- /* Put the CPU in system call (kernel) mode */
- quark = ss.getQuarkRelativeAndAdd(currentCPUNode, Attributes.STATUS);
- value = StateValues.CPU_STATUS_RUN_SYSCALL_VALUE;
- ss.modifyAttribute(ts, value, quark);
- }
- }
- break;
- } // End of big switch
-
- } catch (AttributeNotFoundException ae) {
- /*
- * This would indicate a problem with the logic of the manager here,
- * so it shouldn't happen.
- */
- ae.printStackTrace();
-
- } catch (TimeRangeException tre) {
- /*
- * This would happen if the events in the trace aren't ordered
- * chronologically, which should never be the case ...
- */
- System.err.println("TimeRangeExcpetion caught in the state system's event manager."); //$NON-NLS-1$
- System.err.println("Are the events in the trace correctly ordered?"); //$NON-NLS-1$
- tre.printStackTrace();
-
- } catch (StateValueTypeException sve) {
- /*
- * This would happen if we were trying to push/pop attributes not of
- * type integer. Which, once again, should never happen.
- */
- sve.printStackTrace();
- }
- }
-
- // ------------------------------------------------------------------------
- // Convenience methods for commonly-used attribute tree locations
- // ------------------------------------------------------------------------
-
- private int getNodeCPUs() {
- return ss.getQuarkAbsoluteAndAdd(Attributes.CPUS);
- }
-
- private int getNodeThreads() {
- return ss.getQuarkAbsoluteAndAdd(Attributes.THREADS);
- }
-
- private int getNodeIRQs() {
- return ss.getQuarkAbsoluteAndAdd(Attributes.RESOURCES, Attributes.IRQS);
- }
-
- private int getNodeSoftIRQs() {
- return ss.getQuarkAbsoluteAndAdd(Attributes.RESOURCES, Attributes.SOFT_IRQS);
- }
-
- // ------------------------------------------------------------------------
- // Advanced state-setting methods
- // ------------------------------------------------------------------------
-
- /**
- * When we want to set a process back to a "running" state, first check
- * its current System_call attribute. If there is a system call active, we
- * put the process back in the syscall state. If not, we put it back in
- * user mode state.
- */
- private void setProcessToRunning(long ts, int currentThreadNode)
- throws AttributeNotFoundException, TimeRangeException,
- StateValueTypeException {
- int quark;
- ITmfStateValue value;
-
- quark = ss.getQuarkRelativeAndAdd(currentThreadNode, Attributes.SYSTEM_CALL);
- if (ss.queryOngoingState(quark).isNull()) {
- /* We were in user mode before the interruption */
- value = StateValues.PROCESS_STATUS_RUN_USERMODE_VALUE;
- } else {
- /* We were previously in kernel mode */
- value = StateValues.PROCESS_STATUS_RUN_SYSCALL_VALUE;
- }
- quark = ss.getQuarkRelativeAndAdd(currentThreadNode, Attributes.STATUS);
- ss.modifyAttribute(ts, value, quark);
- }
-
- /**
- * Similar logic as above, but to set the CPU's status when it's coming out
- * of an interruption.
- */
- private void cpuExitInterrupt(long ts, int currentCpuNode, int currentThreadNode)
- throws StateValueTypeException, AttributeNotFoundException,
- TimeRangeException {
- int quark;
- ITmfStateValue value;
-
- quark = ss.getQuarkRelativeAndAdd(currentCpuNode, Attributes.CURRENT_THREAD);
- if (ss.queryOngoingState(quark).unboxInt() > 0) {
- /* There was a process on the CPU */
- quark = ss.getQuarkRelative(currentThreadNode, Attributes.SYSTEM_CALL);
- if (ss.queryOngoingState(quark).isNull()) {
- /* That process was in user mode */
- value = StateValues.CPU_STATUS_RUN_USERMODE_VALUE;
- } else {
- /* That process was in a system call */
- value = StateValues.CPU_STATUS_RUN_SYSCALL_VALUE;
- }
- } else {
- /* There was no real process scheduled, CPU was idle */
- value = StateValues.CPU_STATUS_IDLE_VALUE;
- }
- quark = ss.getQuarkRelativeAndAdd(currentCpuNode, Attributes.STATUS);
- ss.modifyAttribute(ts, value, quark);
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.lttng2.kernel.core/src/org/eclipse/linuxtools/lttng2/kernel/core/analysis/LttngKernelAnalysisModule.java b/lttng/org.eclipse.linuxtools.lttng2.kernel.core/src/org/eclipse/linuxtools/lttng2/kernel/core/analysis/LttngKernelAnalysisModule.java
deleted file mode 100644
index 3d27e7931f..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.kernel.core/src/org/eclipse/linuxtools/lttng2/kernel/core/analysis/LttngKernelAnalysisModule.java
+++ /dev/null
@@ -1,103 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013, 2014 École Polytechnique de Montréal
- *
- * 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:
- * Geneviève Bastien - Initial API and implementation
- * Mathieu Rail - Provide the requirements of the analysis
- *******************************************************************************/
-
-package org.eclipse.linuxtools.lttng2.kernel.core.analysis;
-
-import org.eclipse.jdt.annotation.NonNull;
-import org.eclipse.linuxtools.internal.lttng2.kernel.core.LttngStrings;
-import org.eclipse.linuxtools.internal.lttng2.kernel.core.stateprovider.LttngKernelStateProvider;
-import org.eclipse.linuxtools.lttng2.control.core.session.SessionConfigStrings;
-import org.eclipse.linuxtools.tmf.core.analysis.TmfAnalysisRequirement;
-import org.eclipse.linuxtools.tmf.core.analysis.TmfAnalysisRequirement.ValuePriorityLevel;
-import org.eclipse.linuxtools.tmf.core.statesystem.ITmfStateProvider;
-import org.eclipse.linuxtools.tmf.core.statesystem.TmfStateSystemAnalysisModule;
-
-import com.google.common.collect.ImmutableSet;
-
-/**
- * State System Module for lttng kernel traces
- *
- * @author Geneviève Bastien
- * @since 3.0
- */
-public class LttngKernelAnalysisModule extends TmfStateSystemAnalysisModule {
-
- /**
- * The file name of the History Tree
- */
- public static final @NonNull String HISTORY_TREE_FILE_NAME = "stateHistory.ht"; //$NON-NLS-1$
-
- /** The ID of this analysis module */
- public static final @NonNull String ID = "org.eclipse.linuxtools.lttng2.kernel.analysis"; //$NON-NLS-1$
-
- /*
- * TODO: Decide which events should be mandatory for the analysis, once the
- * appropriate error messages and session setup are in place.
- */
- private static final ImmutableSet<String> REQUIRED_EVENTS = ImmutableSet.of();
-
- private static final ImmutableSet<String> OPTIONAL_EVENTS = ImmutableSet.of(
- LttngStrings.EXIT_SYSCALL,
- LttngStrings.IRQ_HANDLER_ENTRY,
- LttngStrings.IRQ_HANDLER_EXIT,
- LttngStrings.SOFTIRQ_ENTRY,
- LttngStrings.SOFTIRQ_EXIT,
- LttngStrings.SOFTIRQ_RAISE,
- LttngStrings.SCHED_PROCESS_FORK,
- LttngStrings.SCHED_PROCESS_EXIT,
- LttngStrings.SCHED_PROCESS_FREE,
- LttngStrings.SCHED_SWITCH,
- LttngStrings.STATEDUMP_PROCESS_STATE,
- LttngStrings.SCHED_WAKEUP,
- LttngStrings.SCHED_WAKEUP_NEW,
-
- /* FIXME Add the prefix for syscalls */
- LttngStrings.SYSCALL_PREFIX
- );
-
- /** The requirements as an immutable set */
- private static final ImmutableSet<TmfAnalysisRequirement> REQUIREMENTS;
-
- static {
- /* initialize the requirement: domain and events */
- TmfAnalysisRequirement domainReq = new TmfAnalysisRequirement(SessionConfigStrings.CONFIG_ELEMENT_DOMAIN);
- domainReq.addValue(SessionConfigStrings.CONFIG_DOMAIN_TYPE_KERNEL, ValuePriorityLevel.MANDATORY);
-
- TmfAnalysisRequirement eventReq = new TmfAnalysisRequirement(SessionConfigStrings.CONFIG_ELEMENT_EVENT, REQUIRED_EVENTS, ValuePriorityLevel.MANDATORY);
- eventReq.addValues(OPTIONAL_EVENTS, ValuePriorityLevel.OPTIONAL);
-
- REQUIREMENTS = ImmutableSet.of(domainReq, eventReq);
- }
-
- @Override
- @NonNull
- protected ITmfStateProvider createStateProvider() {
- return new LttngKernelStateProvider(getTrace());
- }
-
- @Override
- @NonNull
- protected String getSsFileName() {
- return HISTORY_TREE_FILE_NAME;
- }
-
- @Override
- protected String getFullHelpText() {
- return Messages.LttngKernelAnalysisModule_Help;
- }
-
- @Override
- public Iterable<TmfAnalysisRequirement> getAnalysisRequirements() {
- return REQUIREMENTS;
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.lttng2.kernel.core/src/org/eclipse/linuxtools/lttng2/kernel/core/analysis/Messages.java b/lttng/org.eclipse.linuxtools.lttng2.kernel.core/src/org/eclipse/linuxtools/lttng2/kernel/core/analysis/Messages.java
deleted file mode 100644
index 01696e2d84..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.kernel.core/src/org/eclipse/linuxtools/lttng2/kernel/core/analysis/Messages.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 École Polytechnique de Montréal
- *
- * 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:
- * Geneviève Bastien - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.lttng2.kernel.core.analysis;
-
-import org.eclipse.osgi.util.NLS;
-
-/**
- * Externalized message strings from the LTTng Kernel Analysis
- *
- * @author Geneviève Bastien
- * @since 3.0
- */
-@SuppressWarnings("javadoc")
-public class Messages extends NLS {
- private static final String BUNDLE_NAME = "org.eclipse.linuxtools.lttng2.kernel.core.analysis.messages"; //$NON-NLS-1$
-
- public static String LttngKernelAnalysisModule_Help;
-
- static {
- // initialize resource bundle
- NLS.initializeMessages(BUNDLE_NAME, Messages.class);
- }
-
- private Messages() {
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.lttng2.kernel.core/src/org/eclipse/linuxtools/lttng2/kernel/core/analysis/messages.properties b/lttng/org.eclipse.linuxtools.lttng2.kernel.core/src/org/eclipse/linuxtools/lttng2/kernel/core/analysis/messages.properties
deleted file mode 100644
index 6933aa637e..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.kernel.core/src/org/eclipse/linuxtools/lttng2/kernel/core/analysis/messages.properties
+++ /dev/null
@@ -1,13 +0,0 @@
-###############################################################################
-# Copyright (c) 2014 École Polytechnique de Montréal
-#
-# 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:
-# Geneviève Bastien - Initial API and implementation
-###############################################################################
-
-LttngKernelAnalysisModule_Help=Builds the LTTng2 kernel state system to populate the Control Flow view and the Resources View
diff --git a/lttng/org.eclipse.linuxtools.lttng2.kernel.core/src/org/eclipse/linuxtools/lttng2/kernel/core/cpuusage/LttngKernelCpuStateProvider.java b/lttng/org.eclipse.linuxtools.lttng2.kernel.core/src/org/eclipse/linuxtools/lttng2/kernel/core/cpuusage/LttngKernelCpuStateProvider.java
deleted file mode 100644
index b6c2b3b5bf..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.kernel.core/src/org/eclipse/linuxtools/lttng2/kernel/core/cpuusage/LttngKernelCpuStateProvider.java
+++ /dev/null
@@ -1,141 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 École Polytechnique de Montréal
- *
- * 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:
- * François Rajotte - Initial API and implementation
- * Geneviève Bastien - Revision of the initial implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.lttng2.kernel.core.cpuusage;
-
-import java.util.HashMap;
-import java.util.Map;
-
-import org.eclipse.linuxtools.internal.lttng2.kernel.core.Activator;
-import org.eclipse.linuxtools.internal.lttng2.kernel.core.Attributes;
-import org.eclipse.linuxtools.internal.lttng2.kernel.core.LttngStrings;
-import org.eclipse.linuxtools.statesystem.core.exceptions.AttributeNotFoundException;
-import org.eclipse.linuxtools.statesystem.core.statevalue.ITmfStateValue;
-import org.eclipse.linuxtools.statesystem.core.statevalue.TmfStateValue;
-import org.eclipse.linuxtools.tmf.core.event.ITmfEvent;
-import org.eclipse.linuxtools.tmf.core.event.ITmfEventField;
-import org.eclipse.linuxtools.tmf.core.statesystem.AbstractTmfStateProvider;
-import org.eclipse.linuxtools.tmf.core.trace.ITmfTrace;
-
-/**
- * Creates a state system with the total time spent on CPU for each thread and
- * for each CPU from a kernel trace.
- *
- * This state system in itself keeps the total time on CPU since last time the
- * process was scheduled out. The state system queries will only be accurate
- * when the process is not in a running state. To have exact CPU usage when
- * running, this state system needs to be used along the LTTng Kernel analysis.
- *
- * It requires only the 'sched_switch' events enabled on the trace.
- *
- * @author François Rajotte
- * @since 3.0
- */
-public class LttngKernelCpuStateProvider extends AbstractTmfStateProvider {
-
- private static final int VERSION = 1;
-
- /* For each CPU, maps the last time a thread was scheduled in */
- private final Map<String, Long> fLastStartTimes = new HashMap<>();
- private final long fTraceStart;
-
- /**
- * Constructor
- *
- * @param trace
- * The trace from which to get the CPU usage
- */
- public LttngKernelCpuStateProvider(ITmfTrace trace) {
- super(trace, ITmfEvent.class, "LTTng Kernel CPU usage"); //$NON-NLS-1$
- fTraceStart = trace.getStartTime().getValue();
- }
-
- // ------------------------------------------------------------------------
- // ITmfStateProvider
- // ------------------------------------------------------------------------
-
- @Override
- public int getVersion() {
- return VERSION;
- }
-
- @Override
- public LttngKernelCpuStateProvider getNewInstance() {
- return new LttngKernelCpuStateProvider(this.getTrace());
- }
-
- @Override
- protected void eventHandle(ITmfEvent event) {
- final String eventName = event.getType().getName();
-
- if (eventName.equals(LttngStrings.SCHED_SWITCH)) {
- /*
- * Fields: string prev_comm, int32 prev_tid, int32 prev_prio, int64
- * prev_state, string next_comm, int32 next_tid, int32 next_prio
- */
-
- ITmfEventField content = event.getContent();
- long ts = event.getTimestamp().getValue();
- String cpu = event.getSource();
-
- Long prevTid = (Long) content.getField(LttngStrings.PREV_TID).getValue();
-
- try {
- Integer currentCPUNode = ss.getQuarkRelativeAndAdd(getNodeCPUs(), cpu);
-
- /*
- * This quark contains the value of the cumulative time spent on
- * the source CPU by the currently running thread
- */
- Integer cumulativeTimeQuark = ss.getQuarkRelativeAndAdd(currentCPUNode, prevTid.toString());
- Long startTime = fLastStartTimes.get(cpu);
- /*
- * If start time is null, we haven't seen the start of the
- * process, so we assume beginning of the trace
- */
- if (startTime == null) {
- startTime = fTraceStart;
- }
-
- /*
- * We add the time from startTime until now to the cumulative
- * time of the thread
- */
- if (startTime != null) {
- ITmfStateValue value = ss.queryOngoingState(cumulativeTimeQuark);
-
- /*
- * Modify cumulative time for this CPU/TID combo: The total
- * time changes when the process is scheduled out. Nothing
- * happens when the process is scheduled in.
- */
- long prevCumulativeTime = value.unboxLong();
- long newCumulativeTime = prevCumulativeTime + (ts - startTime);
-
- value = TmfStateValue.newValueLong(newCumulativeTime);
- ss.modifyAttribute(ts, value, cumulativeTimeQuark);
- fLastStartTimes.put(cpu, ts);
- }
- } catch (AttributeNotFoundException e) {
- Activator.getDefault().logError("Attribute not found in LttngKernelCpuStateProvider", e); //$NON-NLS-1$
- }
-
- }
- }
-
- /* Shortcut for the "current CPU" attribute node */
- private int getNodeCPUs() {
- return ss.getQuarkAbsoluteAndAdd(Attributes.CPUS);
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.lttng2.kernel.core/src/org/eclipse/linuxtools/lttng2/kernel/core/cpuusage/LttngKernelCpuUsageAnalysis.java b/lttng/org.eclipse.linuxtools.lttng2.kernel.core/src/org/eclipse/linuxtools/lttng2/kernel/core/cpuusage/LttngKernelCpuUsageAnalysis.java
deleted file mode 100644
index eb6da69f05..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.kernel.core/src/org/eclipse/linuxtools/lttng2/kernel/core/cpuusage/LttngKernelCpuUsageAnalysis.java
+++ /dev/null
@@ -1,254 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 École Polytechnique de Montréal
- *
- * 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:
- * Geneviève Bastien - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.lttng2.kernel.core.cpuusage;
-
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.Map.Entry;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.linuxtools.internal.lttng2.kernel.core.Activator;
-import org.eclipse.linuxtools.internal.lttng2.kernel.core.Attributes;
-import org.eclipse.linuxtools.lttng2.kernel.core.analysis.LttngKernelAnalysisModule;
-import org.eclipse.linuxtools.statesystem.core.ITmfStateSystem;
-import org.eclipse.linuxtools.statesystem.core.exceptions.AttributeNotFoundException;
-import org.eclipse.linuxtools.statesystem.core.exceptions.StateSystemDisposedException;
-import org.eclipse.linuxtools.statesystem.core.exceptions.StateValueTypeException;
-import org.eclipse.linuxtools.statesystem.core.exceptions.TimeRangeException;
-import org.eclipse.linuxtools.statesystem.core.interval.ITmfStateInterval;
-import org.eclipse.linuxtools.tmf.core.statesystem.ITmfStateProvider;
-import org.eclipse.linuxtools.tmf.core.statesystem.TmfStateSystemAnalysisModule;
-import org.eclipse.linuxtools.tmf.core.trace.ITmfTrace;
-
-/**
- * This analysis module computes the CPU usage of a system from a kernel trace.
- * It requires the LTTng Kernel analysis module to have accurate CPU usage data.
- *
- * @author Geneviève Bastien
- * @since 3.0
- */
-public class LttngKernelCpuUsageAnalysis extends TmfStateSystemAnalysisModule {
-
- /** The ID of this analysis */
- public static final String ID = "org.eclipse.linuxtools.lttng2.kernel.core.cpuusage"; //$NON-NLS-1$
-
- /** Text used to identify 'total' entries in the returned maps */
- public static final String TOTAL = "total"; //$NON-NLS-1$
- /** String used to separate elements in the returned maps */
- public static final String SPLIT_STRING = "/"; //$NON-NLS-1$
- /** Idle process thread ID */
- public static final String TID_ZERO = "0"; //$NON-NLS-1$
-
- @Override
- protected ITmfStateProvider createStateProvider() {
- return new LttngKernelCpuStateProvider(getTrace());
- }
-
- @Override
- protected StateSystemBackendType getBackendType() {
- return StateSystemBackendType.FULL;
- }
-
- @Override
- protected boolean executeAnalysis(IProgressMonitor monitor) {
- /*
- * This analysis depends on the LTTng kernel analysis, so we'll start
- * that build at the same time
- */
- LttngKernelAnalysisModule module = getTrace().getAnalysisModuleOfClass(LttngKernelAnalysisModule.class, LttngKernelAnalysisModule.ID);
- if (module != null) {
- module.schedule();
- }
- return super.executeAnalysis(monitor);
- }
-
- /**
- * Get a map of time spent on CPU by various threads during a time range.
- *
- * @param start
- * Start time of requested range
- * @param end
- * End time of requested range
- * @return A map of TID -> time spent on CPU in the [start, end] interval
- */
- public Map<String, Long> getCpuUsageInRange(long start, long end) {
- Map<String, Long> map = new HashMap<>();
- Map<String, Long> totalMap = new HashMap<>();
-
- ITmfTrace trace = getTrace();
- ITmfStateSystem cpuSs = getStateSystem();
- if (trace == null || cpuSs == null) {
- return map;
- }
- ITmfStateSystem kernelSs = TmfStateSystemAnalysisModule.getStateSystem(trace, LttngKernelAnalysisModule.ID);
- if (kernelSs == null) {
- return map;
- }
-
- /*
- * Make sure the start/end times are within the state history, so we
- * don't get TimeRange exceptions.
- */
- long startTime = Math.max(start, cpuSs.getStartTime());
- startTime = Math.max(startTime, kernelSs.getStartTime());
- long endTime = Math.min(end, cpuSs.getCurrentEndTime());
- endTime = Math.min(endTime, kernelSs.getCurrentEndTime());
- long totalTime = 0;
- if (endTime < startTime) {
- return map;
- }
-
- try {
- /* Get the list of quarks for each CPU and CPU's TIDs */
- int cpusNode = cpuSs.getQuarkAbsolute(Attributes.CPUS);
- Map<Integer, List<Integer>> tidsPerCpu = new HashMap<>();
- for (int cpuNode : cpuSs.getSubAttributes(cpusNode, false)) {
- tidsPerCpu.put(cpuNode, cpuSs.getSubAttributes(cpuNode, false));
- }
-
- /* Query full states at start and end times */
- List<ITmfStateInterval> kernelEndState = kernelSs.queryFullState(endTime);
- List<ITmfStateInterval> endState = cpuSs.queryFullState(endTime);
- List<ITmfStateInterval> kernelStartState = kernelSs.queryFullState(startTime);
- List<ITmfStateInterval> startState = cpuSs.queryFullState(startTime);
-
- long countAtStart, countAtEnd;
-
- for (Entry<Integer, List<Integer>> entry : tidsPerCpu.entrySet()) {
- int cpuNode = entry.getKey();
- List<Integer> tidNodes = entry.getValue();
-
- String curCpuName = cpuSs.getAttributeName(cpuNode);
- long cpuTotal = 0;
-
- /* Get the quark of the thread running on this CPU */
- int currentThreadQuark = kernelSs.getQuarkAbsolute(Attributes.CPUS, curCpuName, Attributes.CURRENT_THREAD);
- /* Get the currently running thread on this CPU */
- int startThread = kernelStartState.get(currentThreadQuark).getStateValue().unboxInt();
- int endThread = kernelEndState.get(currentThreadQuark).getStateValue().unboxInt();
-
- for (int tidNode : tidNodes) {
- String curTidName = cpuSs.getAttributeName(tidNode);
- int tid = Integer.parseInt(curTidName);
-
- countAtEnd = endState.get(tidNode).getStateValue().unboxLong();
- countAtStart = startState.get(tidNode).getStateValue().unboxLong();
- if (countAtStart == -1) {
- countAtStart = 0;
- }
- if (countAtEnd == -1) {
- countAtEnd = 0;
- }
-
- /*
- * Interpolate start and end time of threads running at
- * those times
- */
- if (tid == startThread || startThread == -1) {
- long runningTime = kernelStartState.get(currentThreadQuark).getEndTime() - kernelStartState.get(currentThreadQuark).getStartTime();
- long runningEnd = kernelStartState.get(currentThreadQuark).getEndTime();
-
- countAtStart = interpolateCount(countAtStart, startTime, runningEnd, runningTime);
- }
- if (tid == endThread) {
- long runningTime = kernelEndState.get(currentThreadQuark).getEndTime() - kernelEndState.get(currentThreadQuark).getStartTime();
- long runningEnd = kernelEndState.get(currentThreadQuark).getEndTime();
-
- countAtEnd = interpolateCount(countAtEnd, endTime, runningEnd, runningTime);
- }
- /*
- * If startThread is -1, we made the hypothesis that the
- * process running at start was the current one. If the
- * count is negative, we were wrong in this hypothesis. Also
- * if the time at end is 0, it either means the process
- * hasn't been on the CPU or that we still don't know who is
- * running. In both cases, that invalidates the hypothesis.
- */
- if ((startThread == -1) && ((countAtEnd - countAtStart < 0) || (countAtEnd == 0))) {
- countAtStart = 0;
- }
-
- long currentCount = countAtEnd - countAtStart;
- if (currentCount < 0) {
- Activator.getDefault().logWarning(String.format("Negative count: start %d, end %d", countAtStart, countAtEnd)); //$NON-NLS-1$
- currentCount = 0;
- } else if (currentCount > endTime - startTime) {
- Activator.getDefault().logWarning(String.format("CPU Usage: Spent more time on CPU than allowed: %s spent %d when max should be %d", curTidName, currentCount, endTime - startTime)); //$NON-NLS-1$
- currentCount = 0;
- }
- cpuTotal += currentCount;
- map.put(curCpuName + SPLIT_STRING + curTidName, currentCount);
- addToMap(totalMap, curTidName, currentCount);
- totalTime += (currentCount);
- }
- map.put(curCpuName, cpuTotal);
- }
-
- /* Add the totals to the map */
- for (Entry<String, Long> entry : totalMap.entrySet()) {
- map.put(TOTAL + SPLIT_STRING + entry.getKey(), entry.getValue());
- }
- map.put(TOTAL, totalTime);
-
- } catch (TimeRangeException | AttributeNotFoundException e) {
- /*
- * Assume there is no events or the attribute does not exist yet,
- * nothing will be put in the map.
- */
- } catch (StateValueTypeException | StateSystemDisposedException e) {
- /*
- * These other exception types would show a logic problem, so they
- * should not happen.
- */
- Activator.getDefault().logError("Error getting CPU usage in a time range", e); //$NON-NLS-1$
- }
-
- return map;
- }
-
- private static long interpolateCount(long count, long ts, long runningEnd, long runningTime) {
- long newCount = count;
-
- /* sanity check */
- if (runningTime > 0) {
-
- long runningStart = runningEnd - runningTime;
-
- if (ts < runningStart) {
- /*
- * This interval was not started, this can happen if the current
- * running thread is unknown and we execute this method. It just
- * means that this process was not the one running
- */
- return newCount;
- }
- newCount += (ts - runningStart);
- }
- return newCount;
- }
-
- /*
- * Add the value to the previous value in the map. If the key was not set,
- * assume 0
- */
- private static void addToMap(Map<String, Long> map, String key, Long value) {
- Long addTo = map.get(key);
- if (addTo == null) {
- map.put(key, value);
- } else {
- map.put(key, addTo + value);
- }
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.lttng2.kernel.core/src/org/eclipse/linuxtools/lttng2/kernel/core/event/matching/TcpEventMatching.java b/lttng/org.eclipse.linuxtools.lttng2.kernel.core/src/org/eclipse/linuxtools/lttng2/kernel/core/event/matching/TcpEventMatching.java
deleted file mode 100644
index 339779b3ad..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.kernel.core/src/org/eclipse/linuxtools/lttng2/kernel/core/event/matching/TcpEventMatching.java
+++ /dev/null
@@ -1,113 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013, 2014 École Polytechnique de Montréal
- *
- * 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:
- * Geneviève Bastien - Initial implementation and API
- *******************************************************************************/
-
-package org.eclipse.linuxtools.lttng2.kernel.core.event.matching;
-
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Set;
-
-import org.eclipse.linuxtools.internal.lttng2.kernel.core.TcpEventStrings;
-import org.eclipse.linuxtools.tmf.core.event.ITmfEvent;
-import org.eclipse.linuxtools.tmf.core.event.ITmfEventField;
-import org.eclipse.linuxtools.tmf.core.event.matching.ITmfNetworkMatchDefinition;
-import org.eclipse.linuxtools.tmf.core.event.matching.TmfEventMatching.MatchingType;
-import org.eclipse.linuxtools.tmf.core.event.matching.TmfNetworkEventMatching.Direction;
-import org.eclipse.linuxtools.tmf.core.trace.ITmfTrace;
-import org.eclipse.linuxtools.tmf.core.trace.TmfEventTypeCollectionHelper;
-import org.eclipse.linuxtools.tmf.ctf.core.CtfTmfTrace;
-
-import com.google.common.collect.ImmutableSet;
-
-/**
- * Class to match tcp type events. This matching class applies to traces
- * obtained with the 'addons' lttng module. This module can be obtained with
- * lttng-modules to generate traces at
- * https://github.com/giraldeau/lttng-modules/tree/addons
- *
- * Note: this module only allows to generate traces to be read and analyzed by
- * TMF, no code from this module is being used here
- *
- * @author Geneviève Bastien
- * @since 3.0
- */
-public class TcpEventMatching implements ITmfNetworkMatchDefinition {
-
- private static final ImmutableSet<String> REQUIRED_EVENTS = ImmutableSet.of(
- TcpEventStrings.INET_SOCK_LOCAL_IN,
- TcpEventStrings.INET_SOCK_LOCAL_OUT);
-
- private static boolean canMatchPacket(final ITmfEvent event) {
- /* Make sure all required fields are present to match with this event */
- ITmfEventField content = event.getContent();
- if ((content.getField(TcpEventStrings.SEQ) != null) &&
- (content.getField(TcpEventStrings.ACKSEQ) != null) && (content.getField(TcpEventStrings.FLAGS) != null)) {
- return true;
- }
- return false;
- }
-
- @Override
- public Direction getDirection(ITmfEvent event) {
- String evname = event.getType().getName();
-
- if (!canMatchPacket(event)) {
- return null;
- }
-
- /* Is the event a tcp socket in or out event */
- if (evname.equals(TcpEventStrings.INET_SOCK_LOCAL_IN)) {
- return Direction.IN;
- } else if (evname.equals(TcpEventStrings.INET_SOCK_LOCAL_OUT)) {
- return Direction.OUT;
- }
- return null;
- }
-
- /**
- * The key to uniquely identify a TCP packet depends on many fields. This
- * method computes the key for a given event.
- *
- * @param event
- * The event for which to compute the key
- * @return the unique key for this event
- */
- @Override
- public List<Object> getUniqueField(ITmfEvent event) {
- List<Object> keys = new ArrayList<>();
-
- keys.add(event.getContent().getField(TcpEventStrings.SEQ).getValue());
- keys.add(event.getContent().getField(TcpEventStrings.ACKSEQ).getValue());
- keys.add(event.getContent().getField(TcpEventStrings.FLAGS).getValue());
-
- return keys;
- }
-
- @Override
- public boolean canMatchTrace(ITmfTrace trace) {
- if (!(trace instanceof CtfTmfTrace)) {
- return false;
- }
- CtfTmfTrace ktrace = (CtfTmfTrace) trace;
-
- Set<String> traceEvents = TmfEventTypeCollectionHelper.getEventNames(ktrace.getContainedEventTypes());
- traceEvents.retainAll(REQUIRED_EVENTS);
- return !traceEvents.isEmpty();
- }
-
- @Override
- public MatchingType[] getApplicableMatchingTypes() {
- MatchingType[] types = { MatchingType.NETWORK };
- return types;
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.lttng2.kernel.core/src/org/eclipse/linuxtools/lttng2/kernel/core/event/matching/TcpLttngEventMatching.java b/lttng/org.eclipse.linuxtools.lttng2.kernel.core/src/org/eclipse/linuxtools/lttng2/kernel/core/event/matching/TcpLttngEventMatching.java
deleted file mode 100644
index 9c35b41a00..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.kernel.core/src/org/eclipse/linuxtools/lttng2/kernel/core/event/matching/TcpLttngEventMatching.java
+++ /dev/null
@@ -1,126 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013, 2014 École Polytechnique de Montréal
- *
- * 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:
- * Geneviève Bastien - Initial implementation and API
- *******************************************************************************/
-
-package org.eclipse.linuxtools.lttng2.kernel.core.event.matching;
-
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Set;
-
-import org.eclipse.linuxtools.internal.lttng2.kernel.core.TcpEventStrings;
-import org.eclipse.linuxtools.tmf.core.event.ITmfEvent;
-import org.eclipse.linuxtools.tmf.core.event.ITmfEventField;
-import org.eclipse.linuxtools.tmf.core.event.TmfEventField;
-import org.eclipse.linuxtools.tmf.core.event.matching.ITmfNetworkMatchDefinition;
-import org.eclipse.linuxtools.tmf.core.event.matching.TmfEventMatching.MatchingType;
-import org.eclipse.linuxtools.tmf.core.event.matching.TmfNetworkEventMatching.Direction;
-import org.eclipse.linuxtools.tmf.core.trace.ITmfTrace;
-import org.eclipse.linuxtools.tmf.core.trace.TmfEventTypeCollectionHelper;
-import org.eclipse.linuxtools.tmf.ctf.core.CtfTmfTrace;
-
-import com.google.common.collect.ImmutableSet;
-
-/**
- * Class to match tcp type events. This class applies to traces obtained with
- * the full network tracepoint data available from an experimental branch of
- * lttng-modules. This branch is often rebased on lttng-modules master and is
- * available at
- * http://git.dorsal.polymtl.ca/~gbastien?p=lttng-modules.git;a=summary
- * net_data_experimental branch.
- *
- * @author Geneviève Bastien
- * @since 3.0
- */
-public class TcpLttngEventMatching implements ITmfNetworkMatchDefinition {
-
- private static final String[] key_seq = { TcpEventStrings.TRANSPORT_FIELDS, TcpEventStrings.TYPE_TCP, TcpEventStrings.SEQ };
- private static final String[] key_ackseq = { TcpEventStrings.TRANSPORT_FIELDS, TcpEventStrings.TYPE_TCP, TcpEventStrings.ACKSEQ };
- private static final String[] key_flags = { TcpEventStrings.TRANSPORT_FIELDS, TcpEventStrings.TYPE_TCP, TcpEventStrings.FLAGS };
-
- private static final ImmutableSet<String> REQUIRED_EVENTS = ImmutableSet.of(
- TcpEventStrings.NET_DEV_QUEUE,
- TcpEventStrings.NETIF_RECEIVE_SKB);
-
- private static boolean canMatchPacket(final ITmfEvent event) {
- TmfEventField field = (TmfEventField) event.getContent();
-
- String[] tcp_data = { TcpEventStrings.TRANSPORT_FIELDS, TcpEventStrings.TYPE_TCP };
- ITmfEventField data = field.getSubField(tcp_data);
- if (data != null) {
- return (data.getValue() != null);
- }
- return false;
- }
-
- /**
- * The key to uniquely identify a TCP packet depends on many fields. This
- * method computes the key for a given event.
- *
- * @param event
- * The event for which to compute the key
- * @return the unique key for this event
- */
- @Override
- public List<Object> getUniqueField(ITmfEvent event) {
- List<Object> keys = new ArrayList<>();
-
- TmfEventField field = (TmfEventField) event.getContent();
- ITmfEventField data;
-
- data = field.getSubField(key_seq);
- if (data != null) {
- keys.add(data.getValue());
- }
- data = field.getSubField(key_ackseq);
- if (data != null) {
- keys.add(data.getValue());
- }
- data = field.getSubField(key_flags);
- if (data != null) {
- keys.add(data.getValue());
- }
-
- return keys;
- }
-
- @Override
- public boolean canMatchTrace(ITmfTrace trace) {
- if (!(trace instanceof CtfTmfTrace)) {
- return false;
- }
- CtfTmfTrace ktrace = (CtfTmfTrace) trace;
-
- Set<String> traceEvents = TmfEventTypeCollectionHelper.getEventNames(ktrace.getContainedEventTypes());
- traceEvents.retainAll(REQUIRED_EVENTS);
- return !traceEvents.isEmpty();
- }
-
- @Override
- public Direction getDirection(ITmfEvent event) {
- String evname = event.getType().getName();
-
- /* Is the event a tcp socket in or out event */
- if (evname.equals(TcpEventStrings.NETIF_RECEIVE_SKB) && canMatchPacket(event)) {
- return Direction.IN;
- } else if (evname.equals(TcpEventStrings.NET_DEV_QUEUE) && canMatchPacket(event)) {
- return Direction.OUT;
- }
- return null;
- }
-
- @Override
- public MatchingType[] getApplicableMatchingTypes() {
- MatchingType[] types = { MatchingType.NETWORK };
- return types;
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.lttng2.kernel.core/src/org/eclipse/linuxtools/lttng2/kernel/core/trace/LttngKernelTrace.java b/lttng/org.eclipse.linuxtools.lttng2.kernel.core/src/org/eclipse/linuxtools/lttng2/kernel/core/trace/LttngKernelTrace.java
deleted file mode 100644
index 7853e6c2e4..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.kernel.core/src/org/eclipse/linuxtools/lttng2/kernel/core/trace/LttngKernelTrace.java
+++ /dev/null
@@ -1,74 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2012, 2014 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:
- * Alexandre Montplaisir - Initial API and implementation
- * Matthew Khouzam - Improved validation
- ******************************************************************************/
-
-package org.eclipse.linuxtools.lttng2.kernel.core.trace;
-
-import java.nio.BufferOverflowException;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.linuxtools.ctf.core.trace.CTFReaderException;
-import org.eclipse.linuxtools.ctf.core.trace.CTFTrace;
-import org.eclipse.linuxtools.internal.lttng2.kernel.core.Activator;
-import org.eclipse.linuxtools.tmf.core.trace.TraceValidationStatus;
-import org.eclipse.linuxtools.tmf.ctf.core.CtfTmfTrace;
-
-/**
- * This is the specification of CtfTmfTrace for use with LTTng 2.x kernel
- * traces.
- *
- * @author Alexandre Montplaisir
- * @since 2.0
- */
-public class LttngKernelTrace extends CtfTmfTrace {
-
- private static final int CONFIDENCE = 100;
-
- /**
- * Default constructor
- */
- public LttngKernelTrace() {
- super();
- }
-
- /**
- * {@inheritDoc}
- * <p>
- * This implementation sets the confidence to 100 if the trace is a valid
- * CTF trace in the "kernel" domain.
- */
- @Override
- public IStatus validate(final IProject project, final String path) {
- /*
- * Make sure the trace is openable as a CTF trace. We do this here
- * instead of calling super.validate() to keep the reference to "temp".
- */
- try (CTFTrace temp = new CTFTrace(path);) {
- /* Make sure the domain is "kernel" in the trace's env vars */
- String dom = temp.getEnvironment().get("domain"); //$NON-NLS-1$
- if (dom != null && dom.equals("\"kernel\"")) { //$NON-NLS-1$
- return new TraceValidationStatus(CONFIDENCE, Activator.PLUGIN_ID);
- }
- return new Status(IStatus.ERROR, Activator.PLUGIN_ID, Messages.LttngKernelTrace_DomainError);
-
- } catch (CTFReaderException e) {
- return new Status(IStatus.ERROR, Activator.PLUGIN_ID, e.toString(), e);
- } catch (NullPointerException e) {
- return new Status(IStatus.ERROR, Activator.PLUGIN_ID, e.toString(), e);
- } catch (final BufferOverflowException e) {
- return new Status(IStatus.ERROR, Activator.PLUGIN_ID, Messages.LttngKernelTrace_TraceReadError + ": " + Messages.LttngKernelTrace_MalformedTrace); //$NON-NLS-1$
- }
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.lttng2.kernel.core/src/org/eclipse/linuxtools/lttng2/kernel/core/trace/Messages.java b/lttng/org.eclipse.linuxtools.lttng2.kernel.core/src/org/eclipse/linuxtools/lttng2/kernel/core/trace/Messages.java
deleted file mode 100644
index e3372101c0..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.kernel.core/src/org/eclipse/linuxtools/lttng2/kernel/core/trace/Messages.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 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:
- * Matthew Khouzam - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.lttng2.kernel.core.trace;
-
-import org.eclipse.osgi.util.NLS;
-
-/**
- * Message bundle for lttng2.kernel.core.trace
- *
- * @author Matthew Khouzam
- * @since 2.0
- */
-public class Messages extends NLS {
-
- private static final String BUNDLE_NAME = "org.eclipse.linuxtools.lttng2.kernel.core.trace.messages"; //$NON-NLS-1$
-
- /**
- * The domain is not "kernel"
- */
- public static String LttngKernelTrace_DomainError;
- /**
- * Malformed trace (buffer overflow maybe?)
- * @since 2.1
- */
- public static String LttngKernelTrace_MalformedTrace;
- /**
- * Trace read error
- * @since 2.1
- */
- public static String LttngKernelTrace_TraceReadError;
-
- static {
- // initialize resource bundle
- NLS.initializeMessages(BUNDLE_NAME, Messages.class);
- }
-
- private Messages() {
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.lttng2.kernel.core/src/org/eclipse/linuxtools/lttng2/kernel/core/trace/messages.properties b/lttng/org.eclipse.linuxtools.lttng2.kernel.core/src/org/eclipse/linuxtools/lttng2/kernel/core/trace/messages.properties
deleted file mode 100644
index 460105a03e..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.kernel.core/src/org/eclipse/linuxtools/lttng2/kernel/core/trace/messages.properties
+++ /dev/null
@@ -1,15 +0,0 @@
-###############################################################################
-# Copyright (c) 2013 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:
-# Ericsson - Initial API and implementation
-###############################################################################
-
-LttngKernelTrace_DomainError=Domain mismatch, the environment should be 'kernel'.
-LttngKernelTrace_MalformedTrace=Buffer overflow exception, trace is malformed
-LttngKernelTrace_TraceReadError=Lttng trace read error
diff --git a/lttng/org.eclipse.linuxtools.lttng2.kernel.ui.swtbot.tests/.classpath b/lttng/org.eclipse.linuxtools.lttng2.kernel.ui.swtbot.tests/.classpath
deleted file mode 100644
index 3bc247511f..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.kernel.ui.swtbot.tests/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
- <classpathentry kind="src" path="src"/>
- <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.7"/>
- <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
- <classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/lttng/org.eclipse.linuxtools.lttng2.kernel.ui.swtbot.tests/.gitignore b/lttng/org.eclipse.linuxtools.lttng2.kernel.ui.swtbot.tests/.gitignore
deleted file mode 100644
index 750e145aa2..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.kernel.ui.swtbot.tests/.gitignore
+++ /dev/null
@@ -1 +0,0 @@
-screenshots/
diff --git a/lttng/org.eclipse.linuxtools.lttng2.kernel.ui.swtbot.tests/.project b/lttng/org.eclipse.linuxtools.lttng2.kernel.ui.swtbot.tests/.project
deleted file mode 100644
index 897fa3a268..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.kernel.ui.swtbot.tests/.project
+++ /dev/null
@@ -1,34 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>org.eclipse.linuxtools.lttng2.kernel.ui.swtbot.tests</name>
- <comment></comment>
- <projects>
- </projects>
- <buildSpec>
- <buildCommand>
- <name>org.eclipse.jdt.core.javabuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.ManifestBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.SchemaBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.api.tools.apiAnalysisBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>org.eclipse.jdt.core.javanature</nature>
- <nature>org.eclipse.pde.PluginNature</nature>
- <nature>org.eclipse.pde.api.tools.apiAnalysisNature</nature>
- </natures>
-</projectDescription>
diff --git a/lttng/org.eclipse.linuxtools.lttng2.kernel.ui.swtbot.tests/.settings/org.eclipse.core.resources.prefs b/lttng/org.eclipse.linuxtools.lttng2.kernel.ui.swtbot.tests/.settings/org.eclipse.core.resources.prefs
deleted file mode 100644
index 99f26c0203..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.kernel.ui.swtbot.tests/.settings/org.eclipse.core.resources.prefs
+++ /dev/null
@@ -1,2 +0,0 @@
-eclipse.preferences.version=1
-encoding/<project>=UTF-8
diff --git a/lttng/org.eclipse.linuxtools.lttng2.kernel.ui.swtbot.tests/.settings/org.eclipse.core.runtime.prefs b/lttng/org.eclipse.linuxtools.lttng2.kernel.ui.swtbot.tests/.settings/org.eclipse.core.runtime.prefs
deleted file mode 100644
index 5a0ad22d2a..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.kernel.ui.swtbot.tests/.settings/org.eclipse.core.runtime.prefs
+++ /dev/null
@@ -1,2 +0,0 @@
-eclipse.preferences.version=1
-line.separator=\n
diff --git a/lttng/org.eclipse.linuxtools.lttng2.kernel.ui.swtbot.tests/.settings/org.eclipse.jdt.core.prefs b/lttng/org.eclipse.linuxtools.lttng2.kernel.ui.swtbot.tests/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index f3fc64575b..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.kernel.ui.swtbot.tests/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,393 +0,0 @@
-eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.annotation.inheritNullAnnotations=enabled
-org.eclipse.jdt.core.compiler.annotation.missingNonNullByDefaultAnnotation=ignore
-org.eclipse.jdt.core.compiler.annotation.nonnull=org.eclipse.jdt.annotation.NonNull
-org.eclipse.jdt.core.compiler.annotation.nonnullbydefault=org.eclipse.jdt.annotation.NonNullByDefault
-org.eclipse.jdt.core.compiler.annotation.nullable=org.eclipse.jdt.annotation.Nullable
-org.eclipse.jdt.core.compiler.annotation.nullanalysis=enabled
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.7
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.doc.comment.support=enabled
-org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=error
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
-org.eclipse.jdt.core.compiler.problem.comparingIdentical=error
-org.eclipse.jdt.core.compiler.problem.deadCode=error
-org.eclipse.jdt.core.compiler.problem.deprecation=error
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=enabled
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled
-org.eclipse.jdt.core.compiler.problem.discouragedReference=error
-org.eclipse.jdt.core.compiler.problem.emptyStatement=error
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.problem.explicitlyClosedAutoCloseable=error
-org.eclipse.jdt.core.compiler.problem.fallthroughCase=error
-org.eclipse.jdt.core.compiler.problem.fatalOptionalError=disabled
-org.eclipse.jdt.core.compiler.problem.fieldHiding=error
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=error
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=error
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=error
-org.eclipse.jdt.core.compiler.problem.includeNullInfoFromAsserts=disabled
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=error
-org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=error
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=error
-org.eclipse.jdt.core.compiler.problem.invalidJavadoc=warning
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTags=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=protected
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=error
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=error
-org.eclipse.jdt.core.compiler.problem.missingDefaultCase=error
-org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=error
-org.eclipse.jdt.core.compiler.problem.missingEnumCaseDespiteDefault=enabled
-org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=error
-org.eclipse.jdt.core.compiler.problem.missingJavadocComments=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=protected
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagDescription=all_standard_tags
-org.eclipse.jdt.core.compiler.problem.missingJavadocTags=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsMethodTypeParameters=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=protected
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=error
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotationForInterfaceMethodImplementation=enabled
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=error
-org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=error
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=error
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=error
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=ignore
-org.eclipse.jdt.core.compiler.problem.nonnullParameterAnnotationDropped=warning
-org.eclipse.jdt.core.compiler.problem.nullAnnotationInferenceConflict=warning
-org.eclipse.jdt.core.compiler.problem.nullReference=error
-org.eclipse.jdt.core.compiler.problem.nullSpecViolation=error
-org.eclipse.jdt.core.compiler.problem.nullUncheckedConversion=warning
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=error
-org.eclipse.jdt.core.compiler.problem.parameterAssignment=error
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=error
-org.eclipse.jdt.core.compiler.problem.potentialNullReference=error
-org.eclipse.jdt.core.compiler.problem.potentiallyUnclosedCloseable=warning
-org.eclipse.jdt.core.compiler.problem.rawTypeReference=error
-org.eclipse.jdt.core.compiler.problem.redundantNullAnnotation=warning
-org.eclipse.jdt.core.compiler.problem.redundantNullCheck=error
-org.eclipse.jdt.core.compiler.problem.redundantSpecificationOfTypeArguments=error
-org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=error
-org.eclipse.jdt.core.compiler.problem.reportMethodCanBePotentiallyStatic=ignore
-org.eclipse.jdt.core.compiler.problem.reportMethodCanBeStatic=error
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=error
-org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=disabled
-org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
-org.eclipse.jdt.core.compiler.problem.syntacticNullAnalysisForFields=enabled
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
-org.eclipse.jdt.core.compiler.problem.typeParameterHiding=error
-org.eclipse.jdt.core.compiler.problem.unavoidableGenericTypeProblems=disabled
-org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=error
-org.eclipse.jdt.core.compiler.problem.unclosedCloseable=error
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
-org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=error
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=error
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=error
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=error
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=disabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=disabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=error
-org.eclipse.jdt.core.compiler.problem.unusedLabel=error
-org.eclipse.jdt.core.compiler.problem.unusedLocal=error
-org.eclipse.jdt.core.compiler.problem.unusedObjectAllocation=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=error
-org.eclipse.jdt.core.compiler.problem.unusedTypeParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedWarningToken=error
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=error
-org.eclipse.jdt.core.compiler.source=1.7
-org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_assignment=0
-org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
-org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
-org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
-org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
-org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0
-org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=80
-org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=0
-org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch=16
-org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_after_package=1
-org.eclipse.jdt.core.formatter.blank_lines_before_field=0
-org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
-org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
-org.eclipse.jdt.core.formatter.blank_lines_before_method=1
-org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
-org.eclipse.jdt.core.formatter.blank_lines_before_package=0
-org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
-org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
-org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
-org.eclipse.jdt.core.formatter.comment.format_block_comments=true
-org.eclipse.jdt.core.formatter.comment.format_header=false
-org.eclipse.jdt.core.formatter.comment.format_html=true
-org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=true
-org.eclipse.jdt.core.formatter.comment.format_line_comments=true
-org.eclipse.jdt.core.formatter.comment.format_source_code=true
-org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true
-org.eclipse.jdt.core.formatter.comment.indent_root_tags=true
-org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
-org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=insert
-org.eclipse.jdt.core.formatter.comment.line_length=80
-org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries=true
-org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries=true
-org.eclipse.jdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments=false
-org.eclipse.jdt.core.formatter.compact_else_if=true
-org.eclipse.jdt.core.formatter.continuation_indentation=2
-org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2
-org.eclipse.jdt.core.formatter.disabling_tag=@formatter\:off
-org.eclipse.jdt.core.formatter.enabling_tag=@formatter\:on
-org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
-org.eclipse.jdt.core.formatter.format_line_comment_starting_on_first_column=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
-org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_empty_lines=false
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=false
-org.eclipse.jdt.core.formatter.indentation.size=4
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_label=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_try=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources=insert
-org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_try=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
-org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.join_lines_in_comments=true
-org.eclipse.jdt.core.formatter.join_wrapped_lines=false
-org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.lineSplit=250
-org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
-org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
-org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true
-org.eclipse.jdt.core.formatter.tabulation.char=space
-org.eclipse.jdt.core.formatter.tabulation.size=4
-org.eclipse.jdt.core.formatter.use_on_off_tags=false
-org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
-org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
-org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true
-org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true
diff --git a/lttng/org.eclipse.linuxtools.lttng2.kernel.ui.swtbot.tests/.settings/org.eclipse.jdt.ui.prefs b/lttng/org.eclipse.linuxtools.lttng2.kernel.ui.swtbot.tests/.settings/org.eclipse.jdt.ui.prefs
deleted file mode 100644
index 4fd0c7006a..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.kernel.ui.swtbot.tests/.settings/org.eclipse.jdt.ui.prefs
+++ /dev/null
@@ -1,56 +0,0 @@
-eclipse.preferences.version=1
-editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
-formatter_profile=_tmf-style
-formatter_settings_version=12
-sp_cleanup.add_default_serial_version_id=true
-sp_cleanup.add_generated_serial_version_id=false
-sp_cleanup.add_missing_annotations=false
-sp_cleanup.add_missing_deprecated_annotations=true
-sp_cleanup.add_missing_methods=false
-sp_cleanup.add_missing_nls_tags=false
-sp_cleanup.add_missing_override_annotations=true
-sp_cleanup.add_missing_override_annotations_interface_methods=true
-sp_cleanup.add_serial_version_id=false
-sp_cleanup.always_use_blocks=true
-sp_cleanup.always_use_parentheses_in_expressions=false
-sp_cleanup.always_use_this_for_non_static_field_access=false
-sp_cleanup.always_use_this_for_non_static_method_access=false
-sp_cleanup.convert_to_enhanced_for_loop=false
-sp_cleanup.correct_indentation=false
-sp_cleanup.format_source_code=false
-sp_cleanup.format_source_code_changes_only=false
-sp_cleanup.make_local_variable_final=false
-sp_cleanup.make_parameters_final=false
-sp_cleanup.make_private_fields_final=true
-sp_cleanup.make_type_abstract_if_missing_method=false
-sp_cleanup.make_variable_declarations_final=false
-sp_cleanup.never_use_blocks=false
-sp_cleanup.never_use_parentheses_in_expressions=true
-sp_cleanup.on_save_use_additional_actions=true
-sp_cleanup.organize_imports=false
-sp_cleanup.qualify_static_field_accesses_with_declaring_class=false
-sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_with_declaring_class=false
-sp_cleanup.qualify_static_method_accesses_with_declaring_class=false
-sp_cleanup.remove_private_constructors=true
-sp_cleanup.remove_trailing_whitespaces=true
-sp_cleanup.remove_trailing_whitespaces_all=true
-sp_cleanup.remove_trailing_whitespaces_ignore_empty=false
-sp_cleanup.remove_unnecessary_casts=false
-sp_cleanup.remove_unnecessary_nls_tags=false
-sp_cleanup.remove_unused_imports=false
-sp_cleanup.remove_unused_local_variables=false
-sp_cleanup.remove_unused_private_fields=true
-sp_cleanup.remove_unused_private_members=false
-sp_cleanup.remove_unused_private_methods=true
-sp_cleanup.remove_unused_private_types=true
-sp_cleanup.sort_members=false
-sp_cleanup.sort_members_all=false
-sp_cleanup.use_blocks=true
-sp_cleanup.use_blocks_only_for_return_and_throw=false
-sp_cleanup.use_parentheses_in_expressions=false
-sp_cleanup.use_this_for_non_static_field_access=false
-sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=true
-sp_cleanup.use_this_for_non_static_method_access=false
-sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true
diff --git a/lttng/org.eclipse.linuxtools.lttng2.kernel.ui.swtbot.tests/.settings/org.eclipse.pde.api.tools.prefs b/lttng/org.eclipse.linuxtools.lttng2.kernel.ui.swtbot.tests/.settings/org.eclipse.pde.api.tools.prefs
deleted file mode 100644
index acc3abd47c..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.kernel.ui.swtbot.tests/.settings/org.eclipse.pde.api.tools.prefs
+++ /dev/null
@@ -1,97 +0,0 @@
-ANNOTATION_ELEMENT_TYPE_ADDED_METHOD_WITHOUT_DEFAULT_VALUE=Error
-ANNOTATION_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
-ANNOTATION_ELEMENT_TYPE_REMOVED_FIELD=Error
-ANNOTATION_ELEMENT_TYPE_REMOVED_METHOD=Error
-ANNOTATION_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
-API_COMPONENT_ELEMENT_TYPE_REMOVED_API_TYPE=Error
-API_COMPONENT_ELEMENT_TYPE_REMOVED_REEXPORTED_API_TYPE=Error
-API_COMPONENT_ELEMENT_TYPE_REMOVED_REEXPORTED_TYPE=Error
-API_COMPONENT_ELEMENT_TYPE_REMOVED_TYPE=Error
-API_USE_SCAN_FIELD_SEVERITY=Error
-API_USE_SCAN_METHOD_SEVERITY=Error
-API_USE_SCAN_TYPE_SEVERITY=Error
-CLASS_ELEMENT_TYPE_ADDED_METHOD=Error
-CLASS_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
-CLASS_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
-CLASS_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error
-CLASS_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
-CLASS_ELEMENT_TYPE_CHANGED_NON_ABSTRACT_TO_ABSTRACT=Error
-CLASS_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error
-CLASS_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
-CLASS_ELEMENT_TYPE_REMOVED_CONSTRUCTOR=Error
-CLASS_ELEMENT_TYPE_REMOVED_FIELD=Error
-CLASS_ELEMENT_TYPE_REMOVED_METHOD=Error
-CLASS_ELEMENT_TYPE_REMOVED_SUPERCLASS=Error
-CLASS_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
-CLASS_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
-CONSTRUCTOR_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
-CONSTRUCTOR_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
-CONSTRUCTOR_ELEMENT_TYPE_CHANGED_VARARGS_TO_ARRAY=Error
-CONSTRUCTOR_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
-ENUM_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error
-ENUM_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
-ENUM_ELEMENT_TYPE_REMOVED_ENUM_CONSTANT=Error
-ENUM_ELEMENT_TYPE_REMOVED_FIELD=Error
-ENUM_ELEMENT_TYPE_REMOVED_METHOD=Error
-ENUM_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
-FIELD_ELEMENT_TYPE_ADDED_VALUE=Error
-FIELD_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
-FIELD_ELEMENT_TYPE_CHANGED_FINAL_TO_NON_FINAL_STATIC_CONSTANT=Error
-FIELD_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error
-FIELD_ELEMENT_TYPE_CHANGED_NON_STATIC_TO_STATIC=Error
-FIELD_ELEMENT_TYPE_CHANGED_STATIC_TO_NON_STATIC=Error
-FIELD_ELEMENT_TYPE_CHANGED_TYPE=Error
-FIELD_ELEMENT_TYPE_CHANGED_VALUE=Error
-FIELD_ELEMENT_TYPE_REMOVED_TYPE_ARGUMENT=Error
-FIELD_ELEMENT_TYPE_REMOVED_VALUE=Error
-ILLEGAL_EXTEND=Warning
-ILLEGAL_IMPLEMENT=Warning
-ILLEGAL_INSTANTIATE=Warning
-ILLEGAL_OVERRIDE=Warning
-ILLEGAL_REFERENCE=Warning
-INTERFACE_ELEMENT_TYPE_ADDED_FIELD=Error
-INTERFACE_ELEMENT_TYPE_ADDED_METHOD=Error
-INTERFACE_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
-INTERFACE_ELEMENT_TYPE_ADDED_SUPER_INTERFACE_WITH_METHODS=Error
-INTERFACE_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
-INTERFACE_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error
-INTERFACE_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
-INTERFACE_ELEMENT_TYPE_REMOVED_FIELD=Error
-INTERFACE_ELEMENT_TYPE_REMOVED_METHOD=Error
-INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
-INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
-INVALID_JAVADOC_TAG=Warning
-INVALID_REFERENCE_IN_SYSTEM_LIBRARIES=Warning
-LEAK_EXTEND=Warning
-LEAK_FIELD_DECL=Warning
-LEAK_IMPLEMENT=Warning
-LEAK_METHOD_PARAM=Warning
-LEAK_METHOD_RETURN_TYPE=Warning
-METHOD_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
-METHOD_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
-METHOD_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
-METHOD_ELEMENT_TYPE_CHANGED_NON_ABSTRACT_TO_ABSTRACT=Error
-METHOD_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error
-METHOD_ELEMENT_TYPE_CHANGED_NON_STATIC_TO_STATIC=Error
-METHOD_ELEMENT_TYPE_CHANGED_STATIC_TO_NON_STATIC=Error
-METHOD_ELEMENT_TYPE_CHANGED_VARARGS_TO_ARRAY=Error
-METHOD_ELEMENT_TYPE_REMOVED_ANNOTATION_DEFAULT_VALUE=Error
-METHOD_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
-MISSING_EE_DESCRIPTIONS=Ignore
-TYPE_PARAMETER_ELEMENT_TYPE_ADDED_CLASS_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_ADDED_INTERFACE_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_CHANGED_CLASS_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_CHANGED_INTERFACE_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_CLASS_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error
-UNUSED_PROBLEM_FILTERS=Warning
-automatically_removed_unused_problem_filters=false
-eclipse.preferences.version=1
-incompatible_api_component_version=Error
-incompatible_api_component_version_include_major_without_breaking_change=Disabled
-incompatible_api_component_version_include_minor_without_api_change=Disabled
-invalid_since_tag_version=Error
-malformed_since_tag=Error
-missing_since_tag=Error
-report_api_breakage_when_major_version_incremented=Disabled
-report_resolution_errors_api_component=Warning
diff --git a/lttng/org.eclipse.linuxtools.lttng2.kernel.ui.swtbot.tests/.settings/org.eclipse.pde.prefs b/lttng/org.eclipse.linuxtools.lttng2.kernel.ui.swtbot.tests/.settings/org.eclipse.pde.prefs
deleted file mode 100644
index 62cfa90dee..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.kernel.ui.swtbot.tests/.settings/org.eclipse.pde.prefs
+++ /dev/null
@@ -1,32 +0,0 @@
-compilers.f.unresolved-features=1
-compilers.f.unresolved-plugins=1
-compilers.incompatible-environment=1
-compilers.p.build=1
-compilers.p.build.bin.includes=1
-compilers.p.build.encodings=2
-compilers.p.build.java.compiler=2
-compilers.p.build.java.compliance=1
-compilers.p.build.missing.output=2
-compilers.p.build.output.library=1
-compilers.p.build.source.library=1
-compilers.p.build.src.includes=1
-compilers.p.deprecated=1
-compilers.p.discouraged-class=1
-compilers.p.internal=1
-compilers.p.missing-packages=2
-compilers.p.missing-version-export-package=2
-compilers.p.missing-version-import-package=2
-compilers.p.missing-version-require-bundle=2
-compilers.p.no-required-att=0
-compilers.p.not-externalized-att=2
-compilers.p.unknown-attribute=1
-compilers.p.unknown-class=1
-compilers.p.unknown-element=1
-compilers.p.unknown-identifier=1
-compilers.p.unknown-resource=1
-compilers.p.unresolved-ex-points=0
-compilers.p.unresolved-import=0
-compilers.s.create-docs=false
-compilers.s.doc-folder=doc
-compilers.s.open-tags=1
-eclipse.preferences.version=1
diff --git a/lttng/org.eclipse.linuxtools.lttng2.kernel.ui.swtbot.tests/META-INF/MANIFEST.MF b/lttng/org.eclipse.linuxtools.lttng2.kernel.ui.swtbot.tests/META-INF/MANIFEST.MF
deleted file mode 100644
index 4f2b73efe8..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.kernel.ui.swtbot.tests/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,28 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %Bundle-Name
-Bundle-Vendor: %Bundle-Vendor
-Bundle-Version: 3.1.0.qualifier
-Bundle-Localization: plugin
-Bundle-SymbolicName: org.eclipse.linuxtools.lttng2.kernel.ui.swtbot.tests;singleton:=true
-Bundle-ActivationPolicy: lazy
-Bundle-RequiredExecutionEnvironment: JavaSE-1.7
-Export-Package: org.eclipse.linuxtools.lttng2.kernel.ui.swtbot.tests
-Require-Bundle: org.apache.log4j,
- org.eclipse.core.resources,
- org.eclipse.core.runtime,
- org.eclipse.linuxtools.lttng2.kernel.core,
- org.eclipse.linuxtools.lttng2.kernel.ui,
- org.eclipse.linuxtools.lttng2.control.ui,
- org.eclipse.linuxtools.tmf.core,
- org.eclipse.linuxtools.tmf.core.tests,
- org.eclipse.linuxtools.tmf.ctf.core,
- org.eclipse.linuxtools.tmf.ctf.core.tests,
- org.eclipse.linuxtools.tmf.ui,
- org.eclipse.linuxtools.tmf.ui.swtbot.tests,
- org.eclipse.swtbot.eclipse.finder,
- org.eclipse.swtbot.junit4_x,
- org.eclipse.ui,
- org.eclipse.ui.ide,
- org.eclipse.ui.views,
- org.junit
diff --git a/lttng/org.eclipse.linuxtools.lttng2.kernel.ui.swtbot.tests/about.html b/lttng/org.eclipse.linuxtools.lttng2.kernel.ui.swtbot.tests/about.html
deleted file mode 100644
index c258ef55d8..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.kernel.ui.swtbot.tests/about.html
+++ /dev/null
@@ -1,28 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
-<title>About</title>
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
-
-<p>June 5, 2006</p>
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;). Unless otherwise
-indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is available
-at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is
-being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content. Check the Redistributor's license that was
-provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at <a href="http://www.eclipse.org/">http://www.eclipse.org</a>.</p>
-
-</body>
-</html> \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.lttng2.kernel.ui.swtbot.tests/build.properties b/lttng/org.eclipse.linuxtools.lttng2.kernel.ui.swtbot.tests/build.properties
deleted file mode 100644
index 379ca6c427..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.kernel.ui.swtbot.tests/build.properties
+++ /dev/null
@@ -1,15 +0,0 @@
-###############################################################################
-# Copyright (c) 2014 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:
-# Ericsson - Initial API and implementation
-###############################################################################
-source.. = src/
-bin.includes = META-INF/,\
- .,\
- plugin.properties
diff --git a/lttng/org.eclipse.linuxtools.lttng2.kernel.ui.swtbot.tests/plugin.properties b/lttng/org.eclipse.linuxtools.lttng2.kernel.ui.swtbot.tests/plugin.properties
deleted file mode 100644
index dd11e5beff..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.kernel.ui.swtbot.tests/plugin.properties
+++ /dev/null
@@ -1,14 +0,0 @@
-###############################################################################
-# Copyright (c) 2013, 2014 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:
-# Ericsson - Initial API and implementation
-###############################################################################
-
-Bundle-Vendor = Eclipse Linux Tools
-Bundle-Name = Linux Tools LTTng Kernel UI SWTBot Tests Plug-in
diff --git a/lttng/org.eclipse.linuxtools.lttng2.kernel.ui.swtbot.tests/pom.xml b/lttng/org.eclipse.linuxtools.lttng2.kernel.ui.swtbot.tests/pom.xml
deleted file mode 100644
index 79b12cfb47..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.kernel.ui.swtbot.tests/pom.xml
+++ /dev/null
@@ -1,51 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Copyright (C) 2013 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
--->
-
-<project xmlns="http://maven.apache.org/POM/4.0.0"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
- <modelVersion>4.0.0</modelVersion>
-
- <parent>
- <artifactId>linuxtools-lttng-parent</artifactId>
- <groupId>org.eclipse.linuxtools.lttng</groupId>
- <version>3.2.0-SNAPSHOT</version>
- </parent>
-
- <artifactId>org.eclipse.linuxtools.lttng2.kernel.ui.swtbot.tests</artifactId>
- <version>3.1.0-SNAPSHOT</version>
- <packaging>eclipse-test-plugin</packaging>
-
- <name>Linux Tools LTTng Kernel UI SWTBot Tests Plug-in</name>
-
- <build>
- <plugins>
- <plugin>
- <groupId>org.eclipse.tycho</groupId>
- <artifactId>tycho-surefire-plugin</artifactId>
- <version>${tycho-version}</version>
- <configuration>
- <testSuite>org.eclipse.linuxtools.lttng2.kernel.ui.swtbot.tests</testSuite>
- <testClass>org.eclipse.linuxtools.lttng2.kernel.ui.swtbot.tests.AllTests</testClass>
- <useUIHarness>true</useUIHarness>
- <useUIThread>false</useUIThread>
- <argLine>${tycho.testArgLine} ${base.ui.test.vmargs}</argLine>
- <product>org.eclipse.platform.ide</product>
-<!-- Disable GTK3 with Luna because it makes the test hang (bug in IcedTea http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1736) -->
- <environmentVariables>
- <SWT_GTK3>0</SWT_GTK3>
- </environmentVariables>
- </configuration>
- </plugin>
- </plugins>
- </build>
-
- <groupId>org.eclipse.linuxtools.lttng2</groupId>
-</project>
diff --git a/lttng/org.eclipse.linuxtools.lttng2.kernel.ui.swtbot.tests/src/org/eclipse/linuxtools/lttng2/kernel/ui/swtbot/tests/AllTests.java b/lttng/org.eclipse.linuxtools.lttng2.kernel.ui.swtbot.tests/src/org/eclipse/linuxtools/lttng2/kernel/ui/swtbot/tests/AllTests.java
deleted file mode 100644
index dd242a71d8..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.kernel.ui.swtbot.tests/src/org/eclipse/linuxtools/lttng2/kernel/ui/swtbot/tests/AllTests.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013, 2014 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:
- * Matthew Khouzam - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.lttng2.kernel.ui.swtbot.tests;
-
-import org.junit.runner.RunWith;
-import org.junit.runners.Suite;
-
-/**
- * Test suite for UI on the lttng kernel perspective
- */
-@RunWith(Suite.class)
-@Suite.SuiteClasses({
- ImportAndReadKernelSmokeTest.class,
- KernelPerspectiveChecker.class
-})
-public class AllTests {
-
-}
diff --git a/lttng/org.eclipse.linuxtools.lttng2.kernel.ui.swtbot.tests/src/org/eclipse/linuxtools/lttng2/kernel/ui/swtbot/tests/ImportAndReadKernelSmokeTest.java b/lttng/org.eclipse.linuxtools.lttng2.kernel.ui.swtbot.tests/src/org/eclipse/linuxtools/lttng2/kernel/ui/swtbot/tests/ImportAndReadKernelSmokeTest.java
deleted file mode 100644
index 449fbe0a8d..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.kernel.ui.swtbot.tests/src/org/eclipse/linuxtools/lttng2/kernel/ui/swtbot/tests/ImportAndReadKernelSmokeTest.java
+++ /dev/null
@@ -1,223 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013, 2014 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:
- * Matthew Khouzam - Initial API and implementation
- * Marc-Andre Laperle
- * Patrick Tasse - Add support for folder elements
- *******************************************************************************/
-
-package org.eclipse.linuxtools.lttng2.kernel.ui.swtbot.tests;
-
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.fail;
-
-import java.util.List;
-
-import org.apache.log4j.ConsoleAppender;
-import org.apache.log4j.Logger;
-import org.apache.log4j.SimpleLayout;
-import org.eclipse.jface.viewers.SelectionChangedEvent;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.linuxtools.internal.lttng2.kernel.ui.views.controlflow.ControlFlowView;
-import org.eclipse.linuxtools.internal.lttng2.kernel.ui.views.resources.ResourcesView;
-import org.eclipse.linuxtools.tmf.core.event.ITmfEvent;
-import org.eclipse.linuxtools.tmf.core.signal.TmfTimeSynchSignal;
-import org.eclipse.linuxtools.tmf.core.trace.ITmfContext;
-import org.eclipse.linuxtools.tmf.ctf.core.CtfTmfEvent;
-import org.eclipse.linuxtools.tmf.ctf.core.CtfTmfTrace;
-import org.eclipse.linuxtools.tmf.ctf.core.tests.shared.CtfTmfTestTrace;
-import org.eclipse.linuxtools.tmf.ui.editors.TmfEventsEditor;
-import org.eclipse.linuxtools.tmf.ui.swtbot.tests.SWTBotUtil;
-import org.eclipse.linuxtools.tmf.ui.swtbot.tests.conditions.ConditionHelpers;
-import org.eclipse.linuxtools.tmf.ui.views.histogram.HistogramView;
-import org.eclipse.swtbot.eclipse.finder.SWTWorkbenchBot;
-import org.eclipse.swtbot.eclipse.finder.matchers.WidgetMatcherFactory;
-import org.eclipse.swtbot.eclipse.finder.widgets.SWTBotView;
-import org.eclipse.swtbot.swt.finder.finders.UIThreadRunnable;
-import org.eclipse.swtbot.swt.finder.junit.SWTBotJunit4ClassRunner;
-import org.eclipse.swtbot.swt.finder.results.BoolResult;
-import org.eclipse.swtbot.swt.finder.results.VoidResult;
-import org.eclipse.swtbot.swt.finder.utils.SWTBotPreferences;
-import org.eclipse.swtbot.swt.finder.widgets.SWTBotToolbarButton;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.IEditorReference;
-import org.eclipse.ui.IViewPart;
-import org.eclipse.ui.IViewReference;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.WorkbenchException;
-import org.hamcrest.Matcher;
-import org.junit.BeforeClass;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-
-/**
- * SWTBot Smoke test for LTTng Kernel UI.
- *
- * @author Matthew Khouzam
- */
-@RunWith(SWTBotJunit4ClassRunner.class)
-public class ImportAndReadKernelSmokeTest {
-
- private static final String TRACE_TYPE = "org.eclipse.linuxtools.lttng2.kernel.tracetype";
- private static final String KERNEL_PERSPECTIVE_ID = "org.eclipse.linuxtools.lttng2.kernel.ui.perspective";
- private static final String TRACE_PROJECT_NAME = "test";
-
- private static SWTWorkbenchBot fBot;
- public static CtfTmfTestTrace ctt = CtfTmfTestTrace.SYNTHETIC_TRACE;
- private ITmfEvent fDesired1;
- private ITmfEvent fDesired2;
-
- /** The Log4j logger instance. */
- private static final Logger fLogger = Logger.getRootLogger();
-
- /**
- * Test Class setup
- */
- @BeforeClass
- public static void init() {
- SWTBotUtil.failIfUIThread();
-
- /* set up for swtbot */
- SWTBotPreferences.TIMEOUT = 20000; /* 20 second timeout */
- fLogger.addAppender(new ConsoleAppender(new SimpleLayout(), ConsoleAppender.SYSTEM_OUT));
- fBot = new SWTWorkbenchBot();
-
- final List<SWTBotView> openViews = fBot.views();
- for (SWTBotView view : openViews) {
- if (view.getTitle().equals("Welcome")) {
- view.close();
- fBot.waitUntil(ConditionHelpers.ViewIsClosed(view));
- }
- }
- /* Switch perspectives */
- switchKernelPerspective();
- /* Finish waiting for eclipse to load */
- SWTBotUtil.waitForJobs();
- }
-
- private static void switchKernelPerspective() {
- final Exception retE[] = new Exception[1];
- if (!UIThreadRunnable.syncExec(new BoolResult() {
- @Override
- public Boolean run() {
- try {
- PlatformUI.getWorkbench().showPerspective(KERNEL_PERSPECTIVE_ID,
- PlatformUI.getWorkbench().getActiveWorkbenchWindow());
- } catch (WorkbenchException e) {
- retE[0] = e;
- return false;
- }
- return true;
- }
- })) {
- fail(retE[0].getMessage());
- }
-
- }
-
- /**
- * Main test case
- */
- @Test
- public void test() {
- SWTBotUtil.createProject(TRACE_PROJECT_NAME);
- SWTBotUtil.openTrace(TRACE_PROJECT_NAME, ctt.getPath(), TRACE_TYPE);
- openEditor();
- testHV(getViewPart("Histogram"));
- testCFV((ControlFlowView) getViewPart("Control Flow"));
- testRV((ResourcesView) getViewPart("Resources"));
-
- fBot.closeAllEditors();
- SWTBotUtil.deleteProject(TRACE_PROJECT_NAME, fBot);
- }
-
- private void openEditor() {
- Matcher<IEditorReference> matcher = WidgetMatcherFactory.withPartName(ctt.getTrace().getName());
- IEditorPart iep = fBot.editor(matcher).getReference().getEditor(true);
- fDesired1 = getEvent(100);
- fDesired2 = getEvent(10000);
- final TmfEventsEditor tmfEd = (TmfEventsEditor) iep;
- UIThreadRunnable.syncExec(new VoidResult() {
- @Override
- public void run() {
- tmfEd.setFocus();
- tmfEd.selectionChanged(new SelectionChangedEvent(tmfEd, new StructuredSelection(fDesired1)));
- }
- });
-
- SWTBotUtil.waitForJobs();
- SWTBotUtil.delay(1000);
- assertNotNull(tmfEd);
- }
-
- private static void testCFV(ControlFlowView vp) {
- assertNotNull(vp);
- }
-
- private void testHV(IViewPart vp) {
- SWTBotView hvBot = (new SWTWorkbenchBot()).viewById(HistogramView.ID);
- List<SWTBotToolbarButton> hvTools = hvBot.getToolbarButtons();
- for (SWTBotToolbarButton hvTool : hvTools) {
- if (hvTool.getToolTipText().toLowerCase().contains("lost")) {
- hvTool.click();
- }
- }
- HistogramView hv = (HistogramView) vp;
- final TmfTimeSynchSignal signal = new TmfTimeSynchSignal(hv, fDesired1.getTimestamp());
- final TmfTimeSynchSignal signal2 = new TmfTimeSynchSignal(hv, fDesired2.getTimestamp());
- hv.updateTimeRange(100000);
- SWTBotUtil.waitForJobs();
- hv.currentTimeUpdated(signal);
- hv.broadcast(signal);
- SWTBotUtil.waitForJobs();
- SWTBotUtil.delay(1000);
-
- hv.updateTimeRange(1000000000);
- SWTBotUtil.waitForJobs();
- hv.currentTimeUpdated(signal2);
- hv.broadcast(signal2);
- SWTBotUtil.waitForJobs();
- SWTBotUtil.delay(1000);
- assertNotNull(hv);
- }
-
- private static void testRV(ResourcesView vp) {
- assertNotNull(vp);
- }
-
- private static CtfTmfEvent getEvent(int rank) {
- try (CtfTmfTrace trace = CtfTmfTestTrace.SYNTHETIC_TRACE.getTrace()) {
- ITmfContext ctx = trace.seekEvent(0);
- for (int i = 0; i < rank; i++) {
- trace.getNext(ctx);
- }
- return trace.getNext(ctx);
- }
-
- }
-
- private static IViewPart getViewPart(final String viewTile) {
- final IViewPart[] vps = new IViewPart[1];
- UIThreadRunnable.syncExec(new VoidResult() {
- @Override
- public void run() {
- IViewReference[] viewRefs = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().getViewReferences();
- for (IViewReference viewRef : viewRefs) {
- IViewPart vp = viewRef.getView(true);
- if (vp.getTitle().equals(viewTile)) {
- vps[0] = vp;
- return;
- }
- }
- }
- });
-
- return vps[0];
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.lttng2.kernel.ui.swtbot.tests/src/org/eclipse/linuxtools/lttng2/kernel/ui/swtbot/tests/KernelPerspectiveChecker.java b/lttng/org.eclipse.linuxtools.lttng2.kernel.ui.swtbot.tests/src/org/eclipse/linuxtools/lttng2/kernel/ui/swtbot/tests/KernelPerspectiveChecker.java
deleted file mode 100644
index 524f4d1a34..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.kernel.ui.swtbot.tests/src/org/eclipse/linuxtools/lttng2/kernel/ui/swtbot/tests/KernelPerspectiveChecker.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 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:
- * Matthew Khouzam - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.lttng2.kernel.ui.swtbot.tests;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.ControlView;
-import org.eclipse.linuxtools.internal.lttng2.kernel.ui.views.PerspectiveFactory;
-import org.eclipse.linuxtools.internal.lttng2.kernel.ui.views.controlflow.ControlFlowView;
-import org.eclipse.linuxtools.internal.lttng2.kernel.ui.views.resources.ResourcesView;
-import org.eclipse.linuxtools.tmf.ui.swtbot.tests.AbstractPerspectiveChecker;
-import org.eclipse.linuxtools.tmf.ui.views.histogram.HistogramView;
-import org.eclipse.linuxtools.tmf.ui.views.statistics.TmfStatisticsView;
-import org.eclipse.ui.IPageLayout;
-import org.junit.Before;
-
-/**
- * Tracing perspective view checker
- *
- * @author Matthew Khouzam
- */
-public class KernelPerspectiveChecker extends AbstractPerspectiveChecker {
-
- /**
- * Set up arrays for test
- */
- @Before
- public void init() {
- fPerspectiveId = PerspectiveFactory.ID;
- fViewIds = new ArrayList<>();
- fViewIds.addAll(Arrays.asList(new String[] {
- // LTTng views
- HistogramView.ID,
- ControlView.ID,
- ControlFlowView.ID,
- ResourcesView.ID,
- TmfStatisticsView.ID,
- // Standard Eclipse views
- IPageLayout.ID_PROJECT_EXPLORER,
- IPageLayout.ID_PROP_SHEET,
- IPageLayout.ID_BOOKMARKS
- }));
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.lttng2.kernel.ui.tests/.classpath b/lttng/org.eclipse.linuxtools.lttng2.kernel.ui.tests/.classpath
deleted file mode 100644
index 098194ca4b..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.kernel.ui.tests/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
- <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.7"/>
- <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
- <classpathentry kind="src" path="src"/>
- <classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/lttng/org.eclipse.linuxtools.lttng2.kernel.ui.tests/.project b/lttng/org.eclipse.linuxtools.lttng2.kernel.ui.tests/.project
deleted file mode 100644
index 9c8b15bddb..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.kernel.ui.tests/.project
+++ /dev/null
@@ -1,34 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>org.eclipse.linuxtools.lttng2.kernel.ui.tests</name>
- <comment></comment>
- <projects>
- </projects>
- <buildSpec>
- <buildCommand>
- <name>org.eclipse.jdt.core.javabuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.ManifestBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.SchemaBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.api.tools.apiAnalysisBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>org.eclipse.pde.PluginNature</nature>
- <nature>org.eclipse.jdt.core.javanature</nature>
- <nature>org.eclipse.pde.api.tools.apiAnalysisNature</nature>
- </natures>
-</projectDescription>
diff --git a/lttng/org.eclipse.linuxtools.lttng2.kernel.ui.tests/.settings/org.eclipse.core.resources.prefs b/lttng/org.eclipse.linuxtools.lttng2.kernel.ui.tests/.settings/org.eclipse.core.resources.prefs
deleted file mode 100644
index 99f26c0203..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.kernel.ui.tests/.settings/org.eclipse.core.resources.prefs
+++ /dev/null
@@ -1,2 +0,0 @@
-eclipse.preferences.version=1
-encoding/<project>=UTF-8
diff --git a/lttng/org.eclipse.linuxtools.lttng2.kernel.ui.tests/.settings/org.eclipse.core.runtime.prefs b/lttng/org.eclipse.linuxtools.lttng2.kernel.ui.tests/.settings/org.eclipse.core.runtime.prefs
deleted file mode 100644
index 5a0ad22d2a..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.kernel.ui.tests/.settings/org.eclipse.core.runtime.prefs
+++ /dev/null
@@ -1,2 +0,0 @@
-eclipse.preferences.version=1
-line.separator=\n
diff --git a/lttng/org.eclipse.linuxtools.lttng2.kernel.ui.tests/.settings/org.eclipse.jdt.core.prefs b/lttng/org.eclipse.linuxtools.lttng2.kernel.ui.tests/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index f3fc64575b..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.kernel.ui.tests/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,393 +0,0 @@
-eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.annotation.inheritNullAnnotations=enabled
-org.eclipse.jdt.core.compiler.annotation.missingNonNullByDefaultAnnotation=ignore
-org.eclipse.jdt.core.compiler.annotation.nonnull=org.eclipse.jdt.annotation.NonNull
-org.eclipse.jdt.core.compiler.annotation.nonnullbydefault=org.eclipse.jdt.annotation.NonNullByDefault
-org.eclipse.jdt.core.compiler.annotation.nullable=org.eclipse.jdt.annotation.Nullable
-org.eclipse.jdt.core.compiler.annotation.nullanalysis=enabled
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.7
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.doc.comment.support=enabled
-org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=error
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
-org.eclipse.jdt.core.compiler.problem.comparingIdentical=error
-org.eclipse.jdt.core.compiler.problem.deadCode=error
-org.eclipse.jdt.core.compiler.problem.deprecation=error
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=enabled
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled
-org.eclipse.jdt.core.compiler.problem.discouragedReference=error
-org.eclipse.jdt.core.compiler.problem.emptyStatement=error
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.problem.explicitlyClosedAutoCloseable=error
-org.eclipse.jdt.core.compiler.problem.fallthroughCase=error
-org.eclipse.jdt.core.compiler.problem.fatalOptionalError=disabled
-org.eclipse.jdt.core.compiler.problem.fieldHiding=error
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=error
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=error
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=error
-org.eclipse.jdt.core.compiler.problem.includeNullInfoFromAsserts=disabled
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=error
-org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=error
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=error
-org.eclipse.jdt.core.compiler.problem.invalidJavadoc=warning
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTags=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=protected
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=error
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=error
-org.eclipse.jdt.core.compiler.problem.missingDefaultCase=error
-org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=error
-org.eclipse.jdt.core.compiler.problem.missingEnumCaseDespiteDefault=enabled
-org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=error
-org.eclipse.jdt.core.compiler.problem.missingJavadocComments=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=protected
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagDescription=all_standard_tags
-org.eclipse.jdt.core.compiler.problem.missingJavadocTags=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsMethodTypeParameters=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=protected
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=error
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotationForInterfaceMethodImplementation=enabled
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=error
-org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=error
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=error
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=error
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=ignore
-org.eclipse.jdt.core.compiler.problem.nonnullParameterAnnotationDropped=warning
-org.eclipse.jdt.core.compiler.problem.nullAnnotationInferenceConflict=warning
-org.eclipse.jdt.core.compiler.problem.nullReference=error
-org.eclipse.jdt.core.compiler.problem.nullSpecViolation=error
-org.eclipse.jdt.core.compiler.problem.nullUncheckedConversion=warning
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=error
-org.eclipse.jdt.core.compiler.problem.parameterAssignment=error
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=error
-org.eclipse.jdt.core.compiler.problem.potentialNullReference=error
-org.eclipse.jdt.core.compiler.problem.potentiallyUnclosedCloseable=warning
-org.eclipse.jdt.core.compiler.problem.rawTypeReference=error
-org.eclipse.jdt.core.compiler.problem.redundantNullAnnotation=warning
-org.eclipse.jdt.core.compiler.problem.redundantNullCheck=error
-org.eclipse.jdt.core.compiler.problem.redundantSpecificationOfTypeArguments=error
-org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=error
-org.eclipse.jdt.core.compiler.problem.reportMethodCanBePotentiallyStatic=ignore
-org.eclipse.jdt.core.compiler.problem.reportMethodCanBeStatic=error
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=error
-org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=disabled
-org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
-org.eclipse.jdt.core.compiler.problem.syntacticNullAnalysisForFields=enabled
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
-org.eclipse.jdt.core.compiler.problem.typeParameterHiding=error
-org.eclipse.jdt.core.compiler.problem.unavoidableGenericTypeProblems=disabled
-org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=error
-org.eclipse.jdt.core.compiler.problem.unclosedCloseable=error
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
-org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=error
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=error
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=error
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=error
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=disabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=disabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=error
-org.eclipse.jdt.core.compiler.problem.unusedLabel=error
-org.eclipse.jdt.core.compiler.problem.unusedLocal=error
-org.eclipse.jdt.core.compiler.problem.unusedObjectAllocation=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=error
-org.eclipse.jdt.core.compiler.problem.unusedTypeParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedWarningToken=error
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=error
-org.eclipse.jdt.core.compiler.source=1.7
-org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_assignment=0
-org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
-org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
-org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
-org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
-org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0
-org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=80
-org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=0
-org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch=16
-org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_after_package=1
-org.eclipse.jdt.core.formatter.blank_lines_before_field=0
-org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
-org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
-org.eclipse.jdt.core.formatter.blank_lines_before_method=1
-org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
-org.eclipse.jdt.core.formatter.blank_lines_before_package=0
-org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
-org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
-org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
-org.eclipse.jdt.core.formatter.comment.format_block_comments=true
-org.eclipse.jdt.core.formatter.comment.format_header=false
-org.eclipse.jdt.core.formatter.comment.format_html=true
-org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=true
-org.eclipse.jdt.core.formatter.comment.format_line_comments=true
-org.eclipse.jdt.core.formatter.comment.format_source_code=true
-org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true
-org.eclipse.jdt.core.formatter.comment.indent_root_tags=true
-org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
-org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=insert
-org.eclipse.jdt.core.formatter.comment.line_length=80
-org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries=true
-org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries=true
-org.eclipse.jdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments=false
-org.eclipse.jdt.core.formatter.compact_else_if=true
-org.eclipse.jdt.core.formatter.continuation_indentation=2
-org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2
-org.eclipse.jdt.core.formatter.disabling_tag=@formatter\:off
-org.eclipse.jdt.core.formatter.enabling_tag=@formatter\:on
-org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
-org.eclipse.jdt.core.formatter.format_line_comment_starting_on_first_column=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
-org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_empty_lines=false
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=false
-org.eclipse.jdt.core.formatter.indentation.size=4
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_label=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_try=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources=insert
-org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_try=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
-org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.join_lines_in_comments=true
-org.eclipse.jdt.core.formatter.join_wrapped_lines=false
-org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.lineSplit=250
-org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
-org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
-org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true
-org.eclipse.jdt.core.formatter.tabulation.char=space
-org.eclipse.jdt.core.formatter.tabulation.size=4
-org.eclipse.jdt.core.formatter.use_on_off_tags=false
-org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
-org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
-org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true
-org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true
diff --git a/lttng/org.eclipse.linuxtools.lttng2.kernel.ui.tests/.settings/org.eclipse.jdt.ui.prefs b/lttng/org.eclipse.linuxtools.lttng2.kernel.ui.tests/.settings/org.eclipse.jdt.ui.prefs
deleted file mode 100644
index 4fd0c7006a..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.kernel.ui.tests/.settings/org.eclipse.jdt.ui.prefs
+++ /dev/null
@@ -1,56 +0,0 @@
-eclipse.preferences.version=1
-editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
-formatter_profile=_tmf-style
-formatter_settings_version=12
-sp_cleanup.add_default_serial_version_id=true
-sp_cleanup.add_generated_serial_version_id=false
-sp_cleanup.add_missing_annotations=false
-sp_cleanup.add_missing_deprecated_annotations=true
-sp_cleanup.add_missing_methods=false
-sp_cleanup.add_missing_nls_tags=false
-sp_cleanup.add_missing_override_annotations=true
-sp_cleanup.add_missing_override_annotations_interface_methods=true
-sp_cleanup.add_serial_version_id=false
-sp_cleanup.always_use_blocks=true
-sp_cleanup.always_use_parentheses_in_expressions=false
-sp_cleanup.always_use_this_for_non_static_field_access=false
-sp_cleanup.always_use_this_for_non_static_method_access=false
-sp_cleanup.convert_to_enhanced_for_loop=false
-sp_cleanup.correct_indentation=false
-sp_cleanup.format_source_code=false
-sp_cleanup.format_source_code_changes_only=false
-sp_cleanup.make_local_variable_final=false
-sp_cleanup.make_parameters_final=false
-sp_cleanup.make_private_fields_final=true
-sp_cleanup.make_type_abstract_if_missing_method=false
-sp_cleanup.make_variable_declarations_final=false
-sp_cleanup.never_use_blocks=false
-sp_cleanup.never_use_parentheses_in_expressions=true
-sp_cleanup.on_save_use_additional_actions=true
-sp_cleanup.organize_imports=false
-sp_cleanup.qualify_static_field_accesses_with_declaring_class=false
-sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_with_declaring_class=false
-sp_cleanup.qualify_static_method_accesses_with_declaring_class=false
-sp_cleanup.remove_private_constructors=true
-sp_cleanup.remove_trailing_whitespaces=true
-sp_cleanup.remove_trailing_whitespaces_all=true
-sp_cleanup.remove_trailing_whitespaces_ignore_empty=false
-sp_cleanup.remove_unnecessary_casts=false
-sp_cleanup.remove_unnecessary_nls_tags=false
-sp_cleanup.remove_unused_imports=false
-sp_cleanup.remove_unused_local_variables=false
-sp_cleanup.remove_unused_private_fields=true
-sp_cleanup.remove_unused_private_members=false
-sp_cleanup.remove_unused_private_methods=true
-sp_cleanup.remove_unused_private_types=true
-sp_cleanup.sort_members=false
-sp_cleanup.sort_members_all=false
-sp_cleanup.use_blocks=true
-sp_cleanup.use_blocks_only_for_return_and_throw=false
-sp_cleanup.use_parentheses_in_expressions=false
-sp_cleanup.use_this_for_non_static_field_access=false
-sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=true
-sp_cleanup.use_this_for_non_static_method_access=false
-sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true
diff --git a/lttng/org.eclipse.linuxtools.lttng2.kernel.ui.tests/.settings/org.eclipse.pde.api.tools.prefs b/lttng/org.eclipse.linuxtools.lttng2.kernel.ui.tests/.settings/org.eclipse.pde.api.tools.prefs
deleted file mode 100644
index acc3abd47c..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.kernel.ui.tests/.settings/org.eclipse.pde.api.tools.prefs
+++ /dev/null
@@ -1,97 +0,0 @@
-ANNOTATION_ELEMENT_TYPE_ADDED_METHOD_WITHOUT_DEFAULT_VALUE=Error
-ANNOTATION_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
-ANNOTATION_ELEMENT_TYPE_REMOVED_FIELD=Error
-ANNOTATION_ELEMENT_TYPE_REMOVED_METHOD=Error
-ANNOTATION_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
-API_COMPONENT_ELEMENT_TYPE_REMOVED_API_TYPE=Error
-API_COMPONENT_ELEMENT_TYPE_REMOVED_REEXPORTED_API_TYPE=Error
-API_COMPONENT_ELEMENT_TYPE_REMOVED_REEXPORTED_TYPE=Error
-API_COMPONENT_ELEMENT_TYPE_REMOVED_TYPE=Error
-API_USE_SCAN_FIELD_SEVERITY=Error
-API_USE_SCAN_METHOD_SEVERITY=Error
-API_USE_SCAN_TYPE_SEVERITY=Error
-CLASS_ELEMENT_TYPE_ADDED_METHOD=Error
-CLASS_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
-CLASS_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
-CLASS_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error
-CLASS_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
-CLASS_ELEMENT_TYPE_CHANGED_NON_ABSTRACT_TO_ABSTRACT=Error
-CLASS_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error
-CLASS_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
-CLASS_ELEMENT_TYPE_REMOVED_CONSTRUCTOR=Error
-CLASS_ELEMENT_TYPE_REMOVED_FIELD=Error
-CLASS_ELEMENT_TYPE_REMOVED_METHOD=Error
-CLASS_ELEMENT_TYPE_REMOVED_SUPERCLASS=Error
-CLASS_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
-CLASS_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
-CONSTRUCTOR_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
-CONSTRUCTOR_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
-CONSTRUCTOR_ELEMENT_TYPE_CHANGED_VARARGS_TO_ARRAY=Error
-CONSTRUCTOR_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
-ENUM_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error
-ENUM_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
-ENUM_ELEMENT_TYPE_REMOVED_ENUM_CONSTANT=Error
-ENUM_ELEMENT_TYPE_REMOVED_FIELD=Error
-ENUM_ELEMENT_TYPE_REMOVED_METHOD=Error
-ENUM_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
-FIELD_ELEMENT_TYPE_ADDED_VALUE=Error
-FIELD_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
-FIELD_ELEMENT_TYPE_CHANGED_FINAL_TO_NON_FINAL_STATIC_CONSTANT=Error
-FIELD_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error
-FIELD_ELEMENT_TYPE_CHANGED_NON_STATIC_TO_STATIC=Error
-FIELD_ELEMENT_TYPE_CHANGED_STATIC_TO_NON_STATIC=Error
-FIELD_ELEMENT_TYPE_CHANGED_TYPE=Error
-FIELD_ELEMENT_TYPE_CHANGED_VALUE=Error
-FIELD_ELEMENT_TYPE_REMOVED_TYPE_ARGUMENT=Error
-FIELD_ELEMENT_TYPE_REMOVED_VALUE=Error
-ILLEGAL_EXTEND=Warning
-ILLEGAL_IMPLEMENT=Warning
-ILLEGAL_INSTANTIATE=Warning
-ILLEGAL_OVERRIDE=Warning
-ILLEGAL_REFERENCE=Warning
-INTERFACE_ELEMENT_TYPE_ADDED_FIELD=Error
-INTERFACE_ELEMENT_TYPE_ADDED_METHOD=Error
-INTERFACE_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
-INTERFACE_ELEMENT_TYPE_ADDED_SUPER_INTERFACE_WITH_METHODS=Error
-INTERFACE_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
-INTERFACE_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error
-INTERFACE_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
-INTERFACE_ELEMENT_TYPE_REMOVED_FIELD=Error
-INTERFACE_ELEMENT_TYPE_REMOVED_METHOD=Error
-INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
-INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
-INVALID_JAVADOC_TAG=Warning
-INVALID_REFERENCE_IN_SYSTEM_LIBRARIES=Warning
-LEAK_EXTEND=Warning
-LEAK_FIELD_DECL=Warning
-LEAK_IMPLEMENT=Warning
-LEAK_METHOD_PARAM=Warning
-LEAK_METHOD_RETURN_TYPE=Warning
-METHOD_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
-METHOD_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
-METHOD_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
-METHOD_ELEMENT_TYPE_CHANGED_NON_ABSTRACT_TO_ABSTRACT=Error
-METHOD_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error
-METHOD_ELEMENT_TYPE_CHANGED_NON_STATIC_TO_STATIC=Error
-METHOD_ELEMENT_TYPE_CHANGED_STATIC_TO_NON_STATIC=Error
-METHOD_ELEMENT_TYPE_CHANGED_VARARGS_TO_ARRAY=Error
-METHOD_ELEMENT_TYPE_REMOVED_ANNOTATION_DEFAULT_VALUE=Error
-METHOD_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
-MISSING_EE_DESCRIPTIONS=Ignore
-TYPE_PARAMETER_ELEMENT_TYPE_ADDED_CLASS_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_ADDED_INTERFACE_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_CHANGED_CLASS_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_CHANGED_INTERFACE_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_CLASS_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error
-UNUSED_PROBLEM_FILTERS=Warning
-automatically_removed_unused_problem_filters=false
-eclipse.preferences.version=1
-incompatible_api_component_version=Error
-incompatible_api_component_version_include_major_without_breaking_change=Disabled
-incompatible_api_component_version_include_minor_without_api_change=Disabled
-invalid_since_tag_version=Error
-malformed_since_tag=Error
-missing_since_tag=Error
-report_api_breakage_when_major_version_incremented=Disabled
-report_resolution_errors_api_component=Warning
diff --git a/lttng/org.eclipse.linuxtools.lttng2.kernel.ui.tests/.settings/org.eclipse.pde.prefs b/lttng/org.eclipse.linuxtools.lttng2.kernel.ui.tests/.settings/org.eclipse.pde.prefs
deleted file mode 100644
index 62cfa90dee..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.kernel.ui.tests/.settings/org.eclipse.pde.prefs
+++ /dev/null
@@ -1,32 +0,0 @@
-compilers.f.unresolved-features=1
-compilers.f.unresolved-plugins=1
-compilers.incompatible-environment=1
-compilers.p.build=1
-compilers.p.build.bin.includes=1
-compilers.p.build.encodings=2
-compilers.p.build.java.compiler=2
-compilers.p.build.java.compliance=1
-compilers.p.build.missing.output=2
-compilers.p.build.output.library=1
-compilers.p.build.source.library=1
-compilers.p.build.src.includes=1
-compilers.p.deprecated=1
-compilers.p.discouraged-class=1
-compilers.p.internal=1
-compilers.p.missing-packages=2
-compilers.p.missing-version-export-package=2
-compilers.p.missing-version-import-package=2
-compilers.p.missing-version-require-bundle=2
-compilers.p.no-required-att=0
-compilers.p.not-externalized-att=2
-compilers.p.unknown-attribute=1
-compilers.p.unknown-class=1
-compilers.p.unknown-element=1
-compilers.p.unknown-identifier=1
-compilers.p.unknown-resource=1
-compilers.p.unresolved-ex-points=0
-compilers.p.unresolved-import=0
-compilers.s.create-docs=false
-compilers.s.doc-folder=doc
-compilers.s.open-tags=1
-eclipse.preferences.version=1
diff --git a/lttng/org.eclipse.linuxtools.lttng2.kernel.ui.tests/META-INF/MANIFEST.MF b/lttng/org.eclipse.linuxtools.lttng2.kernel.ui.tests/META-INF/MANIFEST.MF
deleted file mode 100644
index d65dcb4846..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.kernel.ui.tests/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,14 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %Bundle-Name
-Bundle-Vendor: %Bundle-Vendor
-Bundle-Version: 3.1.0.qualifier
-Bundle-Localization: plugin
-Bundle-SymbolicName: org.eclipse.linuxtools.lttng2.kernel.ui.tests;singleton:=true
-Bundle-ActivationPolicy: lazy
-Bundle-RequiredExecutionEnvironment: JavaSE-1.7
-Require-Bundle: org.junit;bundle-version="4.0.0",
- org.eclipse.core.runtime,
- org.eclipse.ui,
- org.eclipse.linuxtools.lttng2.kernel.ui;bundle-version="3.1.0"
-Export-Package: org.eclipse.linuxtools.lttng2.kernel.ui.tests
diff --git a/lttng/org.eclipse.linuxtools.lttng2.kernel.ui.tests/about.html b/lttng/org.eclipse.linuxtools.lttng2.kernel.ui.tests/about.html
deleted file mode 100644
index c258ef55d8..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.kernel.ui.tests/about.html
+++ /dev/null
@@ -1,28 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
-<title>About</title>
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
-
-<p>June 5, 2006</p>
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;). Unless otherwise
-indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is available
-at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is
-being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content. Check the Redistributor's license that was
-provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at <a href="http://www.eclipse.org/">http://www.eclipse.org</a>.</p>
-
-</body>
-</html> \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.lttng2.kernel.ui.tests/build.properties b/lttng/org.eclipse.linuxtools.lttng2.kernel.ui.tests/build.properties
deleted file mode 100644
index f7a0b9854e..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.kernel.ui.tests/build.properties
+++ /dev/null
@@ -1,18 +0,0 @@
-###############################################################################
-# Copyright (c) 2013 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:
-# Ericsson - Initial API and implementation
-###############################################################################
-
-source.. = src/
-output.. = bin/
-bin.includes = META-INF/,\
- .,\
- plugin.properties
-src.includes = about.html
diff --git a/lttng/org.eclipse.linuxtools.lttng2.kernel.ui.tests/plugin.properties b/lttng/org.eclipse.linuxtools.lttng2.kernel.ui.tests/plugin.properties
deleted file mode 100644
index d34194d6a0..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.kernel.ui.tests/plugin.properties
+++ /dev/null
@@ -1,15 +0,0 @@
-###############################################################################
-# Copyright (c) 2013 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:
-# Ericsson - Initial API and implementation
-###############################################################################
-
-#Properties file for org.eclipse.linuxtools.lttng2.kernel.ui.tests
-Bundle-Vendor = Eclipse Linux Tools
-Bundle-Name = Linux Tools LTTng Kernel Analysis UI Tests Plug-in \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.lttng2.kernel.ui.tests/pom.xml b/lttng/org.eclipse.linuxtools.lttng2.kernel.ui.tests/pom.xml
deleted file mode 100644
index f5d3ea76e9..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.kernel.ui.tests/pom.xml
+++ /dev/null
@@ -1,54 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Copyright (C) 2011, Red Hat, Inc.
-
- 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
--->
-<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
- <modelVersion>4.0.0</modelVersion>
-
- <parent>
- <artifactId>linuxtools-lttng-parent</artifactId>
- <groupId>org.eclipse.linuxtools.lttng</groupId>
- <version>3.2.0-SNAPSHOT</version>
- </parent>
-
- <artifactId>org.eclipse.linuxtools.lttng2.kernel.ui.tests</artifactId>
- <version>3.1.0-SNAPSHOT</version>
- <packaging>eclipse-test-plugin</packaging>
-
- <name>Linux Tools LTTng Kernel Analysis UI Tests Plug-in</name>
-
- <build>
- <!-- workaround for https://issues.sonatype.org/browse/TYCHO-168 -->
- <resources>
- <resource>
- <directory>src</directory>
- <excludes>
- <exclude>**/*.java</exclude>
- </excludes>
- </resource>
- </resources>
- <plugins>
- <plugin>
- <groupId>org.eclipse.tycho</groupId>
- <artifactId>tycho-surefire-plugin</artifactId>
- <version>${tycho-version}</version>
- <configuration>
- <testSuite>org.eclipse.linuxtools.lttng2.kernel.ui.tests</testSuite>
- <testClass>org.eclipse.linuxtools.lttng2.kernel.ui.tests.AllTests</testClass>
- <useUIHarness>true</useUIHarness>
- <useUIThread>true</useUIThread>
- <argLine>${tycho.testArgLine} ${base.ui.test.vmargs}</argLine>
- <product>org.eclipse.platform.ide</product>
- </configuration>
- </plugin>
- </plugins>
- </build>
-
- <groupId>org.eclipse.linuxtools.lttng2</groupId>
-</project>
diff --git a/lttng/org.eclipse.linuxtools.lttng2.kernel.ui.tests/src/org/eclipse/linuxtools/lttng2/kernel/ui/tests/ActivatorTest.java b/lttng/org.eclipse.linuxtools.lttng2.kernel.ui.tests/src/org/eclipse/linuxtools/lttng2/kernel/ui/tests/ActivatorTest.java
deleted file mode 100644
index 8a83b521d7..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.kernel.ui.tests/src/org/eclipse/linuxtools/lttng2/kernel/ui/tests/ActivatorTest.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2012, 2013 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.lttng2.kernel.ui.tests;
-
-import static org.junit.Assert.assertTrue;
-
-import org.junit.Test;
-
-/**
- * Test suite for the Activator class
- */
-public class ActivatorTest {
-
- // ------------------------------------------------------------------------
- // Tests
- // ------------------------------------------------------------------------
-
- /**
- * Test method for {@link org.eclipse.linuxtools.internal.lttng2.kernel.ui.Activator#Activator()}.
- */
- @Test
- public void testActivator() {
- assertTrue(true);
- }
-
- /**
- * Test method for {@link org.eclipse.linuxtools.internal.lttng2.kernel.ui.Activator#getDefault()}.
- */
- @Test
- public void testGetDefault() {
- assertTrue(true);
- }
-
- /**
- * Test method for {@link org.eclipse.linuxtools.internal.lttng2.kernel.ui.Activator#start}.
- */
- @Test
- public void testStartBundleContext() {
- assertTrue(true);
- }
-
- /**
- * Test method for {@link org.eclipse.linuxtools.internal.lttng2.kernel.ui.Activator#stop}.
- */
- @Test
- public void testStopBundleContext() {
- assertTrue(true);
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.lttng2.kernel.ui.tests/src/org/eclipse/linuxtools/lttng2/kernel/ui/tests/AllTests.java b/lttng/org.eclipse.linuxtools.lttng2.kernel.ui.tests/src/org/eclipse/linuxtools/lttng2/kernel/ui/tests/AllTests.java
deleted file mode 100644
index f37fdf03f0..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.kernel.ui.tests/src/org/eclipse/linuxtools/lttng2/kernel/ui/tests/AllTests.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2012, 2013 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
- * Alexandre Montplaisir - Port to JUnit4
- *******************************************************************************/
-
-package org.eclipse.linuxtools.lttng2.kernel.ui.tests;
-
-import org.junit.runner.RunWith;
-import org.junit.runners.Suite;
-
-/**
- * Run the lttng2.ui unit tests.
- */
-@RunWith(Suite.class)
-@Suite.SuiteClasses({
- ActivatorTest.class,
-})
-public class AllTests {
-
-}
diff --git a/lttng/org.eclipse.linuxtools.lttng2.kernel.ui/.classpath b/lttng/org.eclipse.linuxtools.lttng2.kernel.ui/.classpath
deleted file mode 100644
index 098194ca4b..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.kernel.ui/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
- <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.7"/>
- <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
- <classpathentry kind="src" path="src"/>
- <classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/lttng/org.eclipse.linuxtools.lttng2.kernel.ui/.options b/lttng/org.eclipse.linuxtools.lttng2.kernel.ui/.options
deleted file mode 100644
index 07483358d1..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.kernel.ui/.options
+++ /dev/null
@@ -1,7 +0,0 @@
-org.eclipse.linuxtools.lttng.ui/debug=false
-org.eclipse.linuxtools.lttng.ui/info=false
-org.eclipse.linuxtools.lttng.ui/warn=false
-
-org.eclipse.linuxtools.lttng.ui/cfv=false
-org.eclipse.linuxtools.lttng.ui/rv=false
-org.eclipse.linuxtools.lttng.ui/sv=false
diff --git a/lttng/org.eclipse.linuxtools.lttng2.kernel.ui/.project b/lttng/org.eclipse.linuxtools.lttng2.kernel.ui/.project
deleted file mode 100644
index fd77c51cac..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.kernel.ui/.project
+++ /dev/null
@@ -1,34 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>org.eclipse.linuxtools.lttng2.kernel.ui</name>
- <comment></comment>
- <projects>
- </projects>
- <buildSpec>
- <buildCommand>
- <name>org.eclipse.jdt.core.javabuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.ManifestBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.SchemaBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.api.tools.apiAnalysisBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>org.eclipse.pde.PluginNature</nature>
- <nature>org.eclipse.jdt.core.javanature</nature>
- <nature>org.eclipse.pde.api.tools.apiAnalysisNature</nature>
- </natures>
-</projectDescription>
diff --git a/lttng/org.eclipse.linuxtools.lttng2.kernel.ui/.settings/org.eclipse.core.resources.prefs b/lttng/org.eclipse.linuxtools.lttng2.kernel.ui/.settings/org.eclipse.core.resources.prefs
deleted file mode 100644
index 99f26c0203..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.kernel.ui/.settings/org.eclipse.core.resources.prefs
+++ /dev/null
@@ -1,2 +0,0 @@
-eclipse.preferences.version=1
-encoding/<project>=UTF-8
diff --git a/lttng/org.eclipse.linuxtools.lttng2.kernel.ui/.settings/org.eclipse.core.runtime.prefs b/lttng/org.eclipse.linuxtools.lttng2.kernel.ui/.settings/org.eclipse.core.runtime.prefs
deleted file mode 100644
index 5a0ad22d2a..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.kernel.ui/.settings/org.eclipse.core.runtime.prefs
+++ /dev/null
@@ -1,2 +0,0 @@
-eclipse.preferences.version=1
-line.separator=\n
diff --git a/lttng/org.eclipse.linuxtools.lttng2.kernel.ui/.settings/org.eclipse.jdt.core.prefs b/lttng/org.eclipse.linuxtools.lttng2.kernel.ui/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index 9f3662cd78..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.kernel.ui/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,394 +0,0 @@
-eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.annotation.inheritNullAnnotations=enabled
-org.eclipse.jdt.core.compiler.annotation.missingNonNullByDefaultAnnotation=ignore
-org.eclipse.jdt.core.compiler.annotation.nonnull=org.eclipse.jdt.annotation.NonNull
-org.eclipse.jdt.core.compiler.annotation.nonnullbydefault=org.eclipse.jdt.annotation.NonNullByDefault
-org.eclipse.jdt.core.compiler.annotation.nullable=org.eclipse.jdt.annotation.Nullable
-org.eclipse.jdt.core.compiler.annotation.nullanalysis=enabled
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.7
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.doc.comment.support=enabled
-org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=error
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
-org.eclipse.jdt.core.compiler.problem.comparingIdentical=error
-org.eclipse.jdt.core.compiler.problem.deadCode=error
-org.eclipse.jdt.core.compiler.problem.deprecation=error
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled
-org.eclipse.jdt.core.compiler.problem.discouragedReference=warning
-org.eclipse.jdt.core.compiler.problem.emptyStatement=error
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.problem.explicitlyClosedAutoCloseable=error
-org.eclipse.jdt.core.compiler.problem.fallthroughCase=error
-org.eclipse.jdt.core.compiler.problem.fatalOptionalError=disabled
-org.eclipse.jdt.core.compiler.problem.fieldHiding=error
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=error
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=error
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=error
-org.eclipse.jdt.core.compiler.problem.includeNullInfoFromAsserts=disabled
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=error
-org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=error
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=error
-org.eclipse.jdt.core.compiler.problem.invalidJavadoc=warning
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTags=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=protected
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=error
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=error
-org.eclipse.jdt.core.compiler.problem.missingDefaultCase=error
-org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=error
-org.eclipse.jdt.core.compiler.problem.missingEnumCaseDespiteDefault=enabled
-org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=error
-org.eclipse.jdt.core.compiler.problem.missingJavadocComments=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=protected
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagDescription=all_standard_tags
-org.eclipse.jdt.core.compiler.problem.missingJavadocTags=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsMethodTypeParameters=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=protected
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=error
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotationForInterfaceMethodImplementation=enabled
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=error
-org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=error
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=error
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=error
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=warning
-org.eclipse.jdt.core.compiler.problem.nonnullParameterAnnotationDropped=warning
-org.eclipse.jdt.core.compiler.problem.nullAnnotationInferenceConflict=warning
-org.eclipse.jdt.core.compiler.problem.nullReference=error
-org.eclipse.jdt.core.compiler.problem.nullSpecViolation=error
-org.eclipse.jdt.core.compiler.problem.nullUncheckedConversion=warning
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=error
-org.eclipse.jdt.core.compiler.problem.parameterAssignment=error
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=error
-org.eclipse.jdt.core.compiler.problem.potentialNullReference=error
-org.eclipse.jdt.core.compiler.problem.potentiallyUnclosedCloseable=warning
-org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning
-org.eclipse.jdt.core.compiler.problem.redundantNullAnnotation=warning
-org.eclipse.jdt.core.compiler.problem.redundantNullCheck=error
-org.eclipse.jdt.core.compiler.problem.redundantSpecificationOfTypeArguments=error
-org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=error
-org.eclipse.jdt.core.compiler.problem.reportMethodCanBePotentiallyStatic=ignore
-org.eclipse.jdt.core.compiler.problem.reportMethodCanBeStatic=error
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=error
-org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=disabled
-org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
-org.eclipse.jdt.core.compiler.problem.syntacticNullAnalysisForFields=enabled
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
-org.eclipse.jdt.core.compiler.problem.typeParameterHiding=error
-org.eclipse.jdt.core.compiler.problem.unavoidableGenericTypeProblems=disabled
-org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
-org.eclipse.jdt.core.compiler.problem.unclosedCloseable=error
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
-org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=error
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=error
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=error
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=warning
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=disabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=disabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=error
-org.eclipse.jdt.core.compiler.problem.unusedLabel=error
-org.eclipse.jdt.core.compiler.problem.unusedLocal=error
-org.eclipse.jdt.core.compiler.problem.unusedObjectAllocation=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=error
-org.eclipse.jdt.core.compiler.problem.unusedTypeParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedWarningToken=error
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=error
-org.eclipse.jdt.core.compiler.source=1.7
-org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_assignment=0
-org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
-org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
-org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
-org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
-org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0
-org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=80
-org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=0
-org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch=16
-org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_after_package=1
-org.eclipse.jdt.core.formatter.blank_lines_before_field=0
-org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
-org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
-org.eclipse.jdt.core.formatter.blank_lines_before_method=1
-org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
-org.eclipse.jdt.core.formatter.blank_lines_before_package=0
-org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
-org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
-org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
-org.eclipse.jdt.core.formatter.comment.format_block_comments=true
-org.eclipse.jdt.core.formatter.comment.format_header=false
-org.eclipse.jdt.core.formatter.comment.format_html=true
-org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=true
-org.eclipse.jdt.core.formatter.comment.format_line_comments=true
-org.eclipse.jdt.core.formatter.comment.format_source_code=true
-org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true
-org.eclipse.jdt.core.formatter.comment.indent_root_tags=true
-org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
-org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=insert
-org.eclipse.jdt.core.formatter.comment.line_length=80
-org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries=true
-org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries=true
-org.eclipse.jdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments=false
-org.eclipse.jdt.core.formatter.compact_else_if=true
-org.eclipse.jdt.core.formatter.continuation_indentation=2
-org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2
-org.eclipse.jdt.core.formatter.disabling_tag=@formatter\:off
-org.eclipse.jdt.core.formatter.enabling_tag=@formatter\:on
-org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
-org.eclipse.jdt.core.formatter.format_line_comment_starting_on_first_column=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
-org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_empty_lines=false
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=false
-org.eclipse.jdt.core.formatter.indentation.size=4
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_label=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_try=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources=insert
-org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_try=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
-org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.join_lines_in_comments=true
-org.eclipse.jdt.core.formatter.join_wrapped_lines=false
-org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.lineSplit=250
-org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
-org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
-org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true
-org.eclipse.jdt.core.formatter.tabulation.char=space
-org.eclipse.jdt.core.formatter.tabulation.size=4
-org.eclipse.jdt.core.formatter.use_on_off_tags=false
-org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
-org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
-org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true
-org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true
diff --git a/lttng/org.eclipse.linuxtools.lttng2.kernel.ui/.settings/org.eclipse.jdt.ui.prefs b/lttng/org.eclipse.linuxtools.lttng2.kernel.ui/.settings/org.eclipse.jdt.ui.prefs
deleted file mode 100644
index 4fd0c7006a..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.kernel.ui/.settings/org.eclipse.jdt.ui.prefs
+++ /dev/null
@@ -1,56 +0,0 @@
-eclipse.preferences.version=1
-editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
-formatter_profile=_tmf-style
-formatter_settings_version=12
-sp_cleanup.add_default_serial_version_id=true
-sp_cleanup.add_generated_serial_version_id=false
-sp_cleanup.add_missing_annotations=false
-sp_cleanup.add_missing_deprecated_annotations=true
-sp_cleanup.add_missing_methods=false
-sp_cleanup.add_missing_nls_tags=false
-sp_cleanup.add_missing_override_annotations=true
-sp_cleanup.add_missing_override_annotations_interface_methods=true
-sp_cleanup.add_serial_version_id=false
-sp_cleanup.always_use_blocks=true
-sp_cleanup.always_use_parentheses_in_expressions=false
-sp_cleanup.always_use_this_for_non_static_field_access=false
-sp_cleanup.always_use_this_for_non_static_method_access=false
-sp_cleanup.convert_to_enhanced_for_loop=false
-sp_cleanup.correct_indentation=false
-sp_cleanup.format_source_code=false
-sp_cleanup.format_source_code_changes_only=false
-sp_cleanup.make_local_variable_final=false
-sp_cleanup.make_parameters_final=false
-sp_cleanup.make_private_fields_final=true
-sp_cleanup.make_type_abstract_if_missing_method=false
-sp_cleanup.make_variable_declarations_final=false
-sp_cleanup.never_use_blocks=false
-sp_cleanup.never_use_parentheses_in_expressions=true
-sp_cleanup.on_save_use_additional_actions=true
-sp_cleanup.organize_imports=false
-sp_cleanup.qualify_static_field_accesses_with_declaring_class=false
-sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_with_declaring_class=false
-sp_cleanup.qualify_static_method_accesses_with_declaring_class=false
-sp_cleanup.remove_private_constructors=true
-sp_cleanup.remove_trailing_whitespaces=true
-sp_cleanup.remove_trailing_whitespaces_all=true
-sp_cleanup.remove_trailing_whitespaces_ignore_empty=false
-sp_cleanup.remove_unnecessary_casts=false
-sp_cleanup.remove_unnecessary_nls_tags=false
-sp_cleanup.remove_unused_imports=false
-sp_cleanup.remove_unused_local_variables=false
-sp_cleanup.remove_unused_private_fields=true
-sp_cleanup.remove_unused_private_members=false
-sp_cleanup.remove_unused_private_methods=true
-sp_cleanup.remove_unused_private_types=true
-sp_cleanup.sort_members=false
-sp_cleanup.sort_members_all=false
-sp_cleanup.use_blocks=true
-sp_cleanup.use_blocks_only_for_return_and_throw=false
-sp_cleanup.use_parentheses_in_expressions=false
-sp_cleanup.use_this_for_non_static_field_access=false
-sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=true
-sp_cleanup.use_this_for_non_static_method_access=false
-sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true
diff --git a/lttng/org.eclipse.linuxtools.lttng2.kernel.ui/.settings/org.eclipse.pde.api.tools.prefs b/lttng/org.eclipse.linuxtools.lttng2.kernel.ui/.settings/org.eclipse.pde.api.tools.prefs
deleted file mode 100644
index acc3abd47c..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.kernel.ui/.settings/org.eclipse.pde.api.tools.prefs
+++ /dev/null
@@ -1,97 +0,0 @@
-ANNOTATION_ELEMENT_TYPE_ADDED_METHOD_WITHOUT_DEFAULT_VALUE=Error
-ANNOTATION_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
-ANNOTATION_ELEMENT_TYPE_REMOVED_FIELD=Error
-ANNOTATION_ELEMENT_TYPE_REMOVED_METHOD=Error
-ANNOTATION_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
-API_COMPONENT_ELEMENT_TYPE_REMOVED_API_TYPE=Error
-API_COMPONENT_ELEMENT_TYPE_REMOVED_REEXPORTED_API_TYPE=Error
-API_COMPONENT_ELEMENT_TYPE_REMOVED_REEXPORTED_TYPE=Error
-API_COMPONENT_ELEMENT_TYPE_REMOVED_TYPE=Error
-API_USE_SCAN_FIELD_SEVERITY=Error
-API_USE_SCAN_METHOD_SEVERITY=Error
-API_USE_SCAN_TYPE_SEVERITY=Error
-CLASS_ELEMENT_TYPE_ADDED_METHOD=Error
-CLASS_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
-CLASS_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
-CLASS_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error
-CLASS_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
-CLASS_ELEMENT_TYPE_CHANGED_NON_ABSTRACT_TO_ABSTRACT=Error
-CLASS_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error
-CLASS_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
-CLASS_ELEMENT_TYPE_REMOVED_CONSTRUCTOR=Error
-CLASS_ELEMENT_TYPE_REMOVED_FIELD=Error
-CLASS_ELEMENT_TYPE_REMOVED_METHOD=Error
-CLASS_ELEMENT_TYPE_REMOVED_SUPERCLASS=Error
-CLASS_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
-CLASS_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
-CONSTRUCTOR_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
-CONSTRUCTOR_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
-CONSTRUCTOR_ELEMENT_TYPE_CHANGED_VARARGS_TO_ARRAY=Error
-CONSTRUCTOR_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
-ENUM_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error
-ENUM_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
-ENUM_ELEMENT_TYPE_REMOVED_ENUM_CONSTANT=Error
-ENUM_ELEMENT_TYPE_REMOVED_FIELD=Error
-ENUM_ELEMENT_TYPE_REMOVED_METHOD=Error
-ENUM_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
-FIELD_ELEMENT_TYPE_ADDED_VALUE=Error
-FIELD_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
-FIELD_ELEMENT_TYPE_CHANGED_FINAL_TO_NON_FINAL_STATIC_CONSTANT=Error
-FIELD_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error
-FIELD_ELEMENT_TYPE_CHANGED_NON_STATIC_TO_STATIC=Error
-FIELD_ELEMENT_TYPE_CHANGED_STATIC_TO_NON_STATIC=Error
-FIELD_ELEMENT_TYPE_CHANGED_TYPE=Error
-FIELD_ELEMENT_TYPE_CHANGED_VALUE=Error
-FIELD_ELEMENT_TYPE_REMOVED_TYPE_ARGUMENT=Error
-FIELD_ELEMENT_TYPE_REMOVED_VALUE=Error
-ILLEGAL_EXTEND=Warning
-ILLEGAL_IMPLEMENT=Warning
-ILLEGAL_INSTANTIATE=Warning
-ILLEGAL_OVERRIDE=Warning
-ILLEGAL_REFERENCE=Warning
-INTERFACE_ELEMENT_TYPE_ADDED_FIELD=Error
-INTERFACE_ELEMENT_TYPE_ADDED_METHOD=Error
-INTERFACE_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
-INTERFACE_ELEMENT_TYPE_ADDED_SUPER_INTERFACE_WITH_METHODS=Error
-INTERFACE_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
-INTERFACE_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error
-INTERFACE_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
-INTERFACE_ELEMENT_TYPE_REMOVED_FIELD=Error
-INTERFACE_ELEMENT_TYPE_REMOVED_METHOD=Error
-INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
-INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
-INVALID_JAVADOC_TAG=Warning
-INVALID_REFERENCE_IN_SYSTEM_LIBRARIES=Warning
-LEAK_EXTEND=Warning
-LEAK_FIELD_DECL=Warning
-LEAK_IMPLEMENT=Warning
-LEAK_METHOD_PARAM=Warning
-LEAK_METHOD_RETURN_TYPE=Warning
-METHOD_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
-METHOD_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
-METHOD_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
-METHOD_ELEMENT_TYPE_CHANGED_NON_ABSTRACT_TO_ABSTRACT=Error
-METHOD_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error
-METHOD_ELEMENT_TYPE_CHANGED_NON_STATIC_TO_STATIC=Error
-METHOD_ELEMENT_TYPE_CHANGED_STATIC_TO_NON_STATIC=Error
-METHOD_ELEMENT_TYPE_CHANGED_VARARGS_TO_ARRAY=Error
-METHOD_ELEMENT_TYPE_REMOVED_ANNOTATION_DEFAULT_VALUE=Error
-METHOD_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
-MISSING_EE_DESCRIPTIONS=Ignore
-TYPE_PARAMETER_ELEMENT_TYPE_ADDED_CLASS_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_ADDED_INTERFACE_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_CHANGED_CLASS_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_CHANGED_INTERFACE_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_CLASS_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error
-UNUSED_PROBLEM_FILTERS=Warning
-automatically_removed_unused_problem_filters=false
-eclipse.preferences.version=1
-incompatible_api_component_version=Error
-incompatible_api_component_version_include_major_without_breaking_change=Disabled
-incompatible_api_component_version_include_minor_without_api_change=Disabled
-invalid_since_tag_version=Error
-malformed_since_tag=Error
-missing_since_tag=Error
-report_api_breakage_when_major_version_incremented=Disabled
-report_resolution_errors_api_component=Warning
diff --git a/lttng/org.eclipse.linuxtools.lttng2.kernel.ui/.settings/org.eclipse.pde.prefs b/lttng/org.eclipse.linuxtools.lttng2.kernel.ui/.settings/org.eclipse.pde.prefs
deleted file mode 100644
index d92b94fd4b..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.kernel.ui/.settings/org.eclipse.pde.prefs
+++ /dev/null
@@ -1,32 +0,0 @@
-compilers.f.unresolved-features=1
-compilers.f.unresolved-plugins=1
-compilers.incompatible-environment=1
-compilers.p.build=1
-compilers.p.build.bin.includes=1
-compilers.p.build.encodings=2
-compilers.p.build.java.compiler=2
-compilers.p.build.java.compliance=1
-compilers.p.build.missing.output=2
-compilers.p.build.output.library=1
-compilers.p.build.source.library=1
-compilers.p.build.src.includes=1
-compilers.p.deprecated=1
-compilers.p.discouraged-class=1
-compilers.p.internal=1
-compilers.p.missing-packages=1
-compilers.p.missing-version-export-package=2
-compilers.p.missing-version-import-package=2
-compilers.p.missing-version-require-bundle=2
-compilers.p.no-required-att=0
-compilers.p.not-externalized-att=1
-compilers.p.unknown-attribute=1
-compilers.p.unknown-class=1
-compilers.p.unknown-element=1
-compilers.p.unknown-identifier=1
-compilers.p.unknown-resource=1
-compilers.p.unresolved-ex-points=0
-compilers.p.unresolved-import=0
-compilers.s.create-docs=false
-compilers.s.doc-folder=doc
-compilers.s.open-tags=1
-eclipse.preferences.version=1
diff --git a/lttng/org.eclipse.linuxtools.lttng2.kernel.ui/META-INF/MANIFEST.MF b/lttng/org.eclipse.linuxtools.lttng2.kernel.ui/META-INF/MANIFEST.MF
deleted file mode 100644
index 3303383a63..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.kernel.ui/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,26 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %Bundle-Name
-Bundle-Vendor: %Bundle-Vendor
-Bundle-Version: 3.1.0.qualifier
-Bundle-Localization: plugin
-Bundle-SymbolicName: org.eclipse.linuxtools.lttng2.kernel.ui;singleton:=true
-Bundle-Activator: org.eclipse.linuxtools.internal.lttng2.kernel.ui.Activator
-Bundle-ActivationPolicy: lazy
-Bundle-RequiredExecutionEnvironment: JavaSE-1.7
-Require-Bundle: org.eclipse.ui,
- org.eclipse.ui.ide,
- org.eclipse.core.resources,
- org.eclipse.core.runtime,
- org.eclipse.linuxtools.tmf.core;bundle-version="3.1.0",
- org.eclipse.linuxtools.tmf.ui;bundle-version="3.1.0",
- org.eclipse.linuxtools.lttng2.control.core;bundle-version="3.1.0",
- org.eclipse.linuxtools.lttng2.control.ui;bundle-version="3.1.0",
- org.eclipse.linuxtools.lttng2.kernel.core;bundle-version="3.1.0"
-Export-Package: org.eclipse.linuxtools.internal.lttng2.kernel.ui;x-friends:="org.eclipse.linuxtools.lttng2.kernel.ui.tests",
- org.eclipse.linuxtools.internal.lttng2.kernel.ui.viewers.events;x-internal:=true,
- org.eclipse.linuxtools.internal.lttng2.kernel.ui.views;x-friends:="org.eclipse.linuxtools.lttng2.kernel.ui.swtbot.tests",
- org.eclipse.linuxtools.internal.lttng2.kernel.ui.views.controlflow;x-friends:="org.eclipse.linuxtools.lttng2.kernel.ui.swtbot.tests",
- org.eclipse.linuxtools.internal.lttng2.kernel.ui.views.cpuusage;x-friends:="org.eclipse.linuxtools.lttng2.kernel.ui.swtbot.tests",
- org.eclipse.linuxtools.internal.lttng2.kernel.ui.views.resources;x-friends:="org.eclipse.linuxtools.lttng2.kernel.ui.swtbot.tests"
-Import-Package: com.google.common.collect
diff --git a/lttng/org.eclipse.linuxtools.lttng2.kernel.ui/about.html b/lttng/org.eclipse.linuxtools.lttng2.kernel.ui/about.html
deleted file mode 100644
index c258ef55d8..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.kernel.ui/about.html
+++ /dev/null
@@ -1,28 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
-<title>About</title>
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
-
-<p>June 5, 2006</p>
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;). Unless otherwise
-indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is available
-at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is
-being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content. Check the Redistributor's license that was
-provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at <a href="http://www.eclipse.org/">http://www.eclipse.org</a>.</p>
-
-</body>
-</html> \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.lttng2.kernel.ui/build.properties b/lttng/org.eclipse.linuxtools.lttng2.kernel.ui/build.properties
deleted file mode 100644
index 9775951f3b..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.kernel.ui/build.properties
+++ /dev/null
@@ -1,23 +0,0 @@
-###############################################################################
-# Copyright (c) 2013, 2014 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:
-# Ericsson - Initial API and implementation
-###############################################################################
-
-source.. = src/
-output.. = bin/
-bin.includes = META-INF/,\
- .,\
- plugin.xml,\
- icons/,\
- about.html,\
- plugin.properties
-src.includes = about.html
-additional.bundles = org.eclipse.jdt.annotation
-jars.extra.classpath = platform:/plugin/org.eclipse.jdt.annotation \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.lttng2.kernel.ui/icons/eview16/control_flow_view.gif b/lttng/org.eclipse.linuxtools.lttng2.kernel.ui/icons/eview16/control_flow_view.gif
deleted file mode 100644
index 3971b50765..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.kernel.ui/icons/eview16/control_flow_view.gif
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.lttng2.kernel.ui/icons/eview16/resources_view.gif b/lttng/org.eclipse.linuxtools.lttng2.kernel.ui/icons/eview16/resources_view.gif
deleted file mode 100644
index 234486172c..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.kernel.ui/icons/eview16/resources_view.gif
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.lttng2.kernel.ui/icons/obj16/garland16.png b/lttng/org.eclipse.linuxtools.lttng2.kernel.ui/icons/obj16/garland16.png
deleted file mode 100644
index 74f9751638..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.kernel.ui/icons/obj16/garland16.png
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.lttng2.kernel.ui/plugin.properties b/lttng/org.eclipse.linuxtools.lttng2.kernel.ui/plugin.properties
deleted file mode 100644
index 0a53a64e67..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.kernel.ui/plugin.properties
+++ /dev/null
@@ -1,24 +0,0 @@
-###############################################################################
-# Copyright (c) 2013, 2014 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:
-# Ericsson - Initial API and implementation
-###############################################################################
-
-#Properties file for org.eclipse.linuxtools.lttng2.kernel.ui
-Bundle-Vendor = Eclipse Linux Tools
-Bundle-Name = Linux Tools LTTng Kernel Analysis UI Plug-in
-
-kernel.perspective.name = LTTng Kernel
-
-controlflow.view.name = Control Flow
-resources.view.name = Resources
-cpuusage.view.name = CPU Usage
-
-tracetype.type.kernel = LTTng Kernel Trace
-analysis.lttngkernel = LTTng Kernel Analysis
diff --git a/lttng/org.eclipse.linuxtools.lttng2.kernel.ui/plugin.xml b/lttng/org.eclipse.linuxtools.lttng2.kernel.ui/plugin.xml
deleted file mode 100644
index 32138b69f3..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.kernel.ui/plugin.xml
+++ /dev/null
@@ -1,92 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.4"?>
-<plugin>
- <extension
- point="org.eclipse.ui.perspectives">
- <perspective
- class="org.eclipse.linuxtools.internal.lttng2.kernel.ui.views.PerspectiveFactory"
- icon="icons/obj16/garland16.png"
- id="org.eclipse.linuxtools.lttng2.kernel.ui.perspective"
- name="%kernel.perspective.name">
- </perspective>
- </extension>
- <extension
- point="org.eclipse.ui.views">
- <view
- allowMultiple="false"
- category="org.eclipse.linuxtools.lttng2.ui.views.category"
- class="org.eclipse.linuxtools.internal.lttng2.kernel.ui.views.controlflow.ControlFlowView"
- icon="icons/eview16/control_flow_view.gif"
- id="org.eclipse.linuxtools.lttng2.kernel.ui.views.controlflow"
- name="%controlflow.view.name"
- restorable="true">
- </view>
- <view
- allowMultiple="false"
- category="org.eclipse.linuxtools.lttng2.ui.views.category"
- class="org.eclipse.linuxtools.internal.lttng2.kernel.ui.views.resources.ResourcesView"
- icon="icons/eview16/resources_view.gif"
- id="org.eclipse.linuxtools.lttng2.kernel.ui.views.resources"
- name="%resources.view.name"
- restorable="true">
- </view>
- <view
- allowMultiple="false"
- category="org.eclipse.linuxtools.lttng2.ui.views.category"
- class="org.eclipse.linuxtools.internal.lttng2.kernel.ui.views.cpuusage.CpuUsageView"
- id="org.eclipse.linuxtools.lttng2.kernel.ui.views.cpuusage"
- name="%cpuusage.view.name"
- restorable="true">
- </view>
- </extension>
- <extension
- point="org.eclipse.ui.navigator.navigatorContent">
- <commonWizard
- associatedExtensionId="org.eclipse.linuxtools.tmf.ui.navigator.content"
- menuGroupId="org.eclipse.linuxtools.tmf.ui.views.ui.wizards.menuGroupId"
- type="new"
- wizardId="org.eclipse.linuxtools.tmf.ui.views.ui.wizards.newProject">
- <enablement>
- <with variable="activeWorkbenchWindow.activePerspective">
- <equals
- value="org.eclipse.linuxtools.lttng2.kernel.ui.perspective">
- </equals>
- </with>
- </enablement>
- </commonWizard>
- </extension>
- <extension
- point="org.eclipse.linuxtools.tmf.core.analysis">
- <output
- class="org.eclipse.linuxtools.tmf.ui.analysis.TmfAnalysisViewOutput"
- id="org.eclipse.linuxtools.lttng2.kernel.ui.views.controlflow">
- <analysisId
- id="org.eclipse.linuxtools.lttng2.kernel.analysis">
- </analysisId>
- </output>
- <output
- class="org.eclipse.linuxtools.tmf.ui.analysis.TmfAnalysisViewOutput"
- id="org.eclipse.linuxtools.lttng2.kernel.ui.views.resources">
- <analysisId
- id="org.eclipse.linuxtools.lttng2.kernel.analysis">
- </analysisId>
- </output>
- <output
- class="org.eclipse.linuxtools.tmf.ui.analysis.TmfAnalysisViewOutput"
- id="org.eclipse.linuxtools.lttng2.kernel.ui.views.cpuusage">
- <analysisId
- id="org.eclipse.linuxtools.lttng2.kernel.core.cpuusage">
- </analysisId>
- </output>
- </extension>
- <extension
- point="org.eclipse.linuxtools.tmf.ui.tracetypeui">
- <type
- icon="icons/obj16/garland16.png"
- tracetype="org.eclipse.linuxtools.lttng2.kernel.tracetype">
- <eventTableColumns
- class="org.eclipse.linuxtools.internal.lttng2.kernel.ui.viewers.events.LttngEventTableColumns">
- </eventTableColumns>
- </type>
- </extension>
-</plugin>
diff --git a/lttng/org.eclipse.linuxtools.lttng2.kernel.ui/pom.xml b/lttng/org.eclipse.linuxtools.lttng2.kernel.ui/pom.xml
deleted file mode 100644
index 428b642e22..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.kernel.ui/pom.xml
+++ /dev/null
@@ -1,45 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Copyright (C) 2011, Red Hat, Inc.
-
- 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
--->
-<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
- <modelVersion>4.0.0</modelVersion>
-
- <parent>
- <artifactId>linuxtools-lttng-parent</artifactId>
- <groupId>org.eclipse.linuxtools.lttng</groupId>
- <version>3.2.0-SNAPSHOT</version>
- </parent>
-
- <artifactId>org.eclipse.linuxtools.lttng2.kernel.ui</artifactId>
- <version>3.1.0-SNAPSHOT</version>
- <packaging>eclipse-plugin</packaging>
-
- <name>Linux Tools LTTng Kernel Analysis UI Plug-in</name>
-
- <build>
- <!-- workaround for https://issues.sonatype.org/browse/TYCHO-168 -->
- <resources>
- <resource>
- <directory>src</directory>
- <excludes>
- <exclude>**/*.java</exclude>
- </excludes>
- </resource>
- </resources>
- <plugins>
- <plugin>
- <groupId>org.eclipse.tycho</groupId>
- <artifactId>tycho-source-plugin</artifactId>
- </plugin>
- </plugins>
- </build>
-
- <groupId>org.eclipse.linuxtools.lttng2</groupId>
-</project>
diff --git a/lttng/org.eclipse.linuxtools.lttng2.kernel.ui/src/org/eclipse/linuxtools/internal/lttng2/kernel/ui/Activator.java b/lttng/org.eclipse.linuxtools.lttng2.kernel.ui/src/org/eclipse/linuxtools/internal/lttng2/kernel/ui/Activator.java
deleted file mode 100644
index 1dd6e7b579..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.kernel.ui/src/org/eclipse/linuxtools/internal/lttng2/kernel/ui/Activator.java
+++ /dev/null
@@ -1,184 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2012, 2013 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.internal.lttng2.kernel.ui;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.resource.ImageRegistry;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.ui.plugin.AbstractUIPlugin;
-import org.osgi.framework.BundleContext;
-
-/**
- * The activator class controls the plug-in life cycle
- */
-public class Activator extends AbstractUIPlugin {
-
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
-
- /**
- * The plug-in ID
- */
- public static final String PLUGIN_ID = "org.eclipse.linuxtools.lttng2.kernel.ui"; //$NON-NLS-1$
-
- /**
- * The shared instance
- */
- private static Activator plugin;
-
- // ------------------------------------------------------------------------
- // Constructors
- // ------------------------------------------------------------------------
-
- /**
- * The constructor
- */
- public Activator() {
- }
-
- // ------------------------------------------------------------------------
- // Accessors
- // ------------------------------------------------------------------------
-
- /**
- * Returns the shared instance
- *
- * @return the shared instance
- */
- public static Activator getDefault() {
- return plugin;
- }
-
- // ------------------------------------------------------------------------
- // AbstractUIPlugin
- // ------------------------------------------------------------------------
-
- @Override
- public void start(BundleContext context) throws Exception {
- super.start(context);
- plugin = this;
- }
-
- @Override
- public void stop(BundleContext context) throws Exception {
- plugin = null;
- super.stop(context);
- }
-
- @Override
- protected void initializeImageRegistry(ImageRegistry reg) {
- }
-
- // ------------------------------------------------------------------------
- // Operations
- // ------------------------------------------------------------------------
-
- /**
- * Get the image object from a given path
- *
- * @param path
- * The path to the image file
- * @return The Image object
- */
- public Image getImageFromPath(String path) {
- return getImageDescripterFromPath(path).createImage();
- }
-
- /**
- * Get the ImageDescriptor from a given path
- *
- * @param path
- * The path to the image file
- * @return The ImageDescriptor object
- */
- public ImageDescriptor getImageDescripterFromPath(String path) {
- return AbstractUIPlugin.imageDescriptorFromPlugin(PLUGIN_ID, path);
- }
-
- /**
- * Get the Image from a registry
- *
- * @param path
- * The path to the image registry
- * @return The Image object
- */
- public Image getImageFromImageRegistry(String path) {
- Image icon = getImageRegistry().get(path);
- if (icon == null) {
- icon = getImageDescripterFromPath(path).createImage();
- plugin.getImageRegistry().put(path, icon);
- }
- return icon;
- }
-
- /**
- * Logs a message with severity INFO in the runtime log of the plug-in.
- *
- * @param message A message to log
- */
- public void logInfo(String message) {
- getLog().log(new Status(IStatus.INFO, PLUGIN_ID, message));
- }
-
- /**
- * Logs a message and exception with severity INFO in the runtime log of the plug-in.
- *
- * @param message A message to log
- * @param exception A exception to log
- */
- public void logInfo(String message, Throwable exception) {
- getLog().log(new Status(IStatus.INFO, PLUGIN_ID, message, exception));
- }
-
- /**
- * Logs a message and exception with severity WARNING in the runtime log of the plug-in.
- *
- * @param message A message to log
- */
- public void logWarning(String message) {
- getLog().log(new Status(IStatus.WARNING, PLUGIN_ID, message));
- }
-
- /**
- * Logs a message and exception with severity WARNING in the runtime log of the plug-in.
- *
- * @param message A message to log
- * @param exception A exception to log
- */
- public void logWarning(String message, Throwable exception) {
- getLog().log(new Status(IStatus.WARNING, PLUGIN_ID, message, exception));
- }
-
- /**
- * Logs a message and exception with severity ERROR in the runtime log of the plug-in.
- *
- * @param message A message to log
- */
- public void logError(String message) {
- getLog().log(new Status(IStatus.ERROR, PLUGIN_ID, message));
- }
-
- /**
- * Logs a message and exception with severity ERROR in the runtime log of the plug-in.
- *
- * @param message A message to log
- * @param exception A exception to log
- */
- public void logError(String message, Throwable exception) {
- getLog().log(new Status(IStatus.ERROR, PLUGIN_ID, message, exception));
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.lttng2.kernel.ui/src/org/eclipse/linuxtools/internal/lttng2/kernel/ui/Messages.java b/lttng/org.eclipse.linuxtools.lttng2.kernel.ui/src/org/eclipse/linuxtools/internal/lttng2/kernel/ui/Messages.java
deleted file mode 100644
index a7d1f87162..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.kernel.ui/src/org/eclipse/linuxtools/internal/lttng2/kernel/ui/Messages.java
+++ /dev/null
@@ -1,59 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013, 2014 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:
- * Patrick Tassé - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.internal.lttng2.kernel.ui;
-
-import org.eclipse.osgi.util.NLS;
-
-@SuppressWarnings("javadoc")
-public class Messages extends NLS {
- private static final String BUNDLE_NAME = "org.eclipse.linuxtools.internal.lttng2.kernel.ui.messages"; //$NON-NLS-1$
-
- public static String ControlFlowView_birthTimeColumn;
- public static String ControlFlowView_tidColumn;
- public static String ControlFlowView_ptidColumn;
- public static String ControlFlowView_processColumn;
- public static String ControlFlowView_traceColumn;
-
- public static String ControlFlowView_stateTypeName;
- public static String ControlFlowView_multipleStates;
- public static String ControlFlowView_nextProcessActionNameText;
- public static String ControlFlowView_nextProcessActionToolTipText;
- public static String ControlFlowView_previousProcessActionNameText;
- public static String ControlFlowView_previousProcessActionToolTipText;
- public static String ControlFlowView_followCPUBwdText;
- public static String ControlFlowView_followCPUFwdText;
-
- public static String ControlFlowView_attributeSyscallName;
- public static String ControlFlowView_attributeCpuName;
-
- public static String ResourcesView_stateTypeName;
- public static String ResourcesView_multipleStates;
- public static String ResourcesView_nextResourceActionNameText;
- public static String ResourcesView_nextResourceActionToolTipText;
- public static String ResourcesView_previousResourceActionNameText;
- public static String ResourcesView_previousResourceActionToolTipText;
- public static String ResourcesView_attributeCpuName;
- public static String ResourcesView_attributeIrqName;
- public static String ResourcesView_attributeSoftIrqName;
- public static String ResourcesView_attributeHoverTime;
- public static String ResourcesView_attributeTidName;
- public static String ResourcesView_attributeProcessName;
- public static String ResourcesView_attributeSyscallName;
-
- static {
- // initialize resource bundle
- NLS.initializeMessages(BUNDLE_NAME, Messages.class);
- }
-
- private Messages() {
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.lttng2.kernel.ui/src/org/eclipse/linuxtools/internal/lttng2/kernel/ui/messages.properties b/lttng/org.eclipse.linuxtools.lttng2.kernel.ui/src/org/eclipse/linuxtools/internal/lttng2/kernel/ui/messages.properties
deleted file mode 100644
index 03b880ebfe..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.kernel.ui/src/org/eclipse/linuxtools/internal/lttng2/kernel/ui/messages.properties
+++ /dev/null
@@ -1,43 +0,0 @@
-###############################################################################
-# Copyright (c) 2013, 2014 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:
-# Ericsson - Initial API and implementation
-###############################################################################
-
-ControlFlowView_birthTimeColumn=Birth time
-ControlFlowView_tidColumn=TID
-ControlFlowView_ptidColumn=PTID
-ControlFlowView_processColumn=Process
-ControlFlowView_traceColumn=Trace
-
-ControlFlowView_stateTypeName=Process
-ControlFlowView_multipleStates=(multiple)
-ControlFlowView_nextProcessActionNameText=Next Process
-ControlFlowView_nextProcessActionToolTipText=Select Next Process
-ControlFlowView_previousProcessActionNameText=Previous Process
-ControlFlowView_previousProcessActionToolTipText=Select Previous Process
-ControlFlowView_followCPUBwdText=Follow CPU Backward
-ControlFlowView_followCPUFwdText=Follow CPU Forward
-
-ControlFlowView_attributeSyscallName=System Call
-ControlFlowView_attributeCpuName=CPU
-
-ResourcesView_stateTypeName=Resource
-ResourcesView_multipleStates=(multiple)
-ResourcesView_nextResourceActionNameText=Next Resource
-ResourcesView_nextResourceActionToolTipText=Select Next Resource
-ResourcesView_previousResourceActionNameText=Previous Resource
-ResourcesView_previousResourceActionToolTipText=Select Previous Resource
-ResourcesView_attributeCpuName=CPU
-ResourcesView_attributeIrqName=IRQ
-ResourcesView_attributeSoftIrqName=SOFT IRQ
-ResourcesView_attributeHoverTime=> Hover Time
-ResourcesView_attributeTidName=> TID
-ResourcesView_attributeProcessName=> Process
-ResourcesView_attributeSyscallName=> System Call
diff --git a/lttng/org.eclipse.linuxtools.lttng2.kernel.ui/src/org/eclipse/linuxtools/internal/lttng2/kernel/ui/viewers/events/LttngEventTableColumns.java b/lttng/org.eclipse.linuxtools.lttng2.kernel.ui/src/org/eclipse/linuxtools/internal/lttng2/kernel/ui/viewers/events/LttngEventTableColumns.java
deleted file mode 100644
index da8b20f532..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.kernel.ui/src/org/eclipse/linuxtools/internal/lttng2/kernel/ui/viewers/events/LttngEventTableColumns.java
+++ /dev/null
@@ -1,70 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 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:
- * Alexandre Montplaisir - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.internal.lttng2.kernel.ui.viewers.events;
-
-import java.util.Collection;
-
-import org.eclipse.jdt.annotation.NonNull;
-import org.eclipse.linuxtools.tmf.core.event.ITmfEvent;
-import org.eclipse.linuxtools.tmf.ui.viewers.events.columns.ITmfEventTableColumns;
-import org.eclipse.linuxtools.tmf.ui.viewers.events.columns.TmfEventTableColumn;
-
-import com.google.common.collect.ImmutableList;
-
-/**
- * Event table columns for LTTng 2.x kernel traces
- */
-public class LttngEventTableColumns implements ITmfEventTableColumns {
-
- // ------------------------------------------------------------------------
- // Column definition
- // ------------------------------------------------------------------------
-
- @SuppressWarnings("null")
- private static final @NonNull String CHANNEL_HEADER = Messages.EventsTable_channelColumn;
-
- @SuppressWarnings("null")
- private static final @NonNull Collection<TmfEventTableColumn> LTTNG_COLUMNS =
- ImmutableList.<TmfEventTableColumn> of(
- TmfEventTableColumn.BaseColumns.TIMESTAMP,
- new LttngChannelColumn(),
- TmfEventTableColumn.BaseColumns.EVENT_TYPE,
- TmfEventTableColumn.BaseColumns.CONTENTS);
-
- private static class LttngChannelColumn extends TmfEventTableColumn {
-
- public LttngChannelColumn() {
- super(CHANNEL_HEADER);
- }
-
- @Override
- public String getItemString(ITmfEvent event) {
- String ret = event.getReference();
- return (ret == null ? EMPTY_STRING : ret);
- }
-
- @Override
- public String getFilterFieldId() {
- return ITmfEvent.EVENT_FIELD_REFERENCE;
- }
- }
-
- // ------------------------------------------------------------------------
- // Constructor
- // ------------------------------------------------------------------------
-
- @Override
- public Collection<? extends TmfEventTableColumn> getEventTableColumns() {
- return LTTNG_COLUMNS;
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.lttng2.kernel.ui/src/org/eclipse/linuxtools/internal/lttng2/kernel/ui/viewers/events/Messages.java b/lttng/org.eclipse.linuxtools.lttng2.kernel.ui/src/org/eclipse/linuxtools/internal/lttng2/kernel/ui/viewers/events/Messages.java
deleted file mode 100644
index d8c49487dc..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.kernel.ui/src/org/eclipse/linuxtools/internal/lttng2/kernel/ui/viewers/events/Messages.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 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:
- * Patrick Tassé - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.internal.lttng2.kernel.ui.viewers.events;
-
-import org.eclipse.osgi.util.NLS;
-
-@SuppressWarnings("javadoc")
-public class Messages extends NLS {
- private static final String BUNDLE_NAME = "org.eclipse.linuxtools.internal.lttng2.kernel.ui.viewers.events.messages"; //$NON-NLS-1$
- public static String EventsTable_channelColumn;
- public static String EventsTable_timestampColumn;
- public static String EventsTable_typeColumn;
- public static String EventsTable_contentColumn;
- static {
- // initialize resource bundle
- NLS.initializeMessages(BUNDLE_NAME, Messages.class);
- }
-
- private Messages() {
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.lttng2.kernel.ui/src/org/eclipse/linuxtools/internal/lttng2/kernel/ui/viewers/events/messages.properties b/lttng/org.eclipse.linuxtools.lttng2.kernel.ui/src/org/eclipse/linuxtools/internal/lttng2/kernel/ui/viewers/events/messages.properties
deleted file mode 100644
index faeb249dcf..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.kernel.ui/src/org/eclipse/linuxtools/internal/lttng2/kernel/ui/viewers/events/messages.properties
+++ /dev/null
@@ -1,16 +0,0 @@
-###############################################################################
-# Copyright (c) 2013 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:
-# Ericsson - Initial API and implementation
-###############################################################################
-
-EventsTable_channelColumn=Channel
-EventsTable_timestampColumn=Timestamp
-EventsTable_typeColumn=Event Type
-EventsTable_contentColumn=Content
diff --git a/lttng/org.eclipse.linuxtools.lttng2.kernel.ui/src/org/eclipse/linuxtools/internal/lttng2/kernel/ui/views/PerspectiveFactory.java b/lttng/org.eclipse.linuxtools.lttng2.kernel.ui/src/org/eclipse/linuxtools/internal/lttng2/kernel/ui/views/PerspectiveFactory.java
deleted file mode 100644
index 13bc181afb..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.kernel.ui/src/org/eclipse/linuxtools/internal/lttng2/kernel/ui/views/PerspectiveFactory.java
+++ /dev/null
@@ -1,105 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2012, 2013 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.internal.lttng2.kernel.ui.views;
-
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.ControlView;
-import org.eclipse.linuxtools.internal.lttng2.kernel.ui.views.controlflow.ControlFlowView;
-import org.eclipse.linuxtools.internal.lttng2.kernel.ui.views.resources.ResourcesView;
-import org.eclipse.linuxtools.tmf.ui.project.wizards.NewTmfProjectWizard;
-import org.eclipse.linuxtools.tmf.ui.views.histogram.HistogramView;
-import org.eclipse.linuxtools.tmf.ui.views.statistics.TmfStatisticsView;
-import org.eclipse.ui.IFolderLayout;
-import org.eclipse.ui.IPageLayout;
-import org.eclipse.ui.IPerspectiveFactory;
-
-/**
- * The default LTTng perspective.
- */
-public class PerspectiveFactory implements IPerspectiveFactory {
-
- /** Perspective ID */
- public static final String ID = "org.eclipse.linuxtools.lttng2.kernel.ui.perspective"; //$NON-NLS-1$
-
- // LTTng views
- private static final String HISTOGRAM_VIEW_ID = HistogramView.ID;
- private static final String CONTROL_VIEW_ID = ControlView.ID;
- private static final String CONTROLFLOW_VIEW_ID = ControlFlowView.ID;
- private static final String RESOURCES_VIEW_ID = ResourcesView.ID;
- private static final String STATISTICS_VIEW_ID = TmfStatisticsView.ID;
-
- // Standard Eclipse views
- private static final String PROJECT_VIEW_ID = IPageLayout.ID_PROJECT_EXPLORER;
- private static final String PROPERTIES_VIEW_ID = IPageLayout.ID_PROP_SHEET;
- private static final String BOOKMARKS_VIEW_ID = IPageLayout.ID_BOOKMARKS;
-
- @Override
- public void createInitialLayout(IPageLayout layout) {
-
- layout.setEditorAreaVisible(true);
-
- addFastViews(layout);
- addViewShortcuts(layout);
- addPerspectiveShortcuts(layout);
-
- // Create the top left folder
- IFolderLayout topLeftFolder = layout.createFolder(
- "topLeftFolder", IPageLayout.LEFT, 0.15f, IPageLayout.ID_EDITOR_AREA); //$NON-NLS-1$
- topLeftFolder.addView(PROJECT_VIEW_ID);
-
- // Create the bottom left folder
- IFolderLayout bottomLeftFolder = layout.createFolder(
- "bottomLeftFolder", IPageLayout.BOTTOM, 0.70f, "topLeftFolder"); //$NON-NLS-1$ //$NON-NLS-2$
- bottomLeftFolder.addView(CONTROL_VIEW_ID);
-
- // Create the top right folder
- IFolderLayout topRightFolder = layout.createFolder(
- "topRightFolder", IPageLayout.TOP, 0.40f, IPageLayout.ID_EDITOR_AREA); //$NON-NLS-1$
- topRightFolder.addView(CONTROLFLOW_VIEW_ID);
- topRightFolder.addView(RESOURCES_VIEW_ID);
- topRightFolder.addView(STATISTICS_VIEW_ID);
-
- // Create the bottom right folder
- IFolderLayout bottomRightFolder = layout.createFolder(
- "bottomRightFolder", IPageLayout.BOTTOM, 0.50f, IPageLayout.ID_EDITOR_AREA); //$NON-NLS-1$
- bottomRightFolder.addView(HISTOGRAM_VIEW_ID);
- bottomRightFolder.addView(PROPERTIES_VIEW_ID);
- bottomRightFolder.addView(BOOKMARKS_VIEW_ID);
-
- layout.addNewWizardShortcut(NewTmfProjectWizard.ID);
- }
-
- /**
- * Add fast views to the perspective
- *
- * @param layout
- */
- private void addFastViews(IPageLayout layout) {
- }
-
- /**
- * Add view shortcuts to the perspective
- *
- * @param layout
- */
- private void addViewShortcuts(IPageLayout layout) {
- }
-
- /**
- * Add perspective shortcuts to the perspective
- *
- * @param layout
- */
- private void addPerspectiveShortcuts(IPageLayout layout) {
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.lttng2.kernel.ui/src/org/eclipse/linuxtools/internal/lttng2/kernel/ui/views/controlflow/ControlFlowEntry.java b/lttng/org.eclipse.linuxtools.lttng2.kernel.ui/src/org/eclipse/linuxtools/internal/lttng2/kernel/ui/views/controlflow/ControlFlowEntry.java
deleted file mode 100644
index 01145fd372..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.kernel.ui/src/org/eclipse/linuxtools/internal/lttng2/kernel/ui/views/controlflow/ControlFlowEntry.java
+++ /dev/null
@@ -1,96 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2012, 2014 Ericsson, École Polytechnique de Montréal
- *
- * 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:
- * Patrick Tasse - Initial API and implementation
- * Geneviève Bastien - Move code to provide base classes for time graph view
- *******************************************************************************/
-
-package org.eclipse.linuxtools.internal.lttng2.kernel.ui.views.controlflow;
-
-import org.eclipse.jdt.annotation.NonNull;
-import org.eclipse.linuxtools.tmf.core.trace.ITmfTrace;
-import org.eclipse.linuxtools.tmf.ui.widgets.timegraph.model.TimeGraphEntry;
-
-/**
- * An entry in the Control Flow view
- */
-public class ControlFlowEntry extends TimeGraphEntry {
-
- private final @NonNull ITmfTrace fTrace;
- private final int fThreadId;
- private final int fParentThreadId;
- private final int fThreadQuark;
-
- /**
- * Constructor
- *
- * @param quark
- * The attribute quark matching the thread
- * @param trace
- * The trace on which we are working
- * @param execName
- * The exec_name of this entry
- * @param threadId
- * The TID of the thread
- * @param parentThreadId
- * the Parent_TID of this thread
- * @param startTime
- * The start time of this process's lifetime
- * @param endTime
- * The end time of this process
- */
- public ControlFlowEntry(int quark, @NonNull ITmfTrace trace, String execName, int threadId, int parentThreadId, long startTime, long endTime) {
- super(execName, startTime, endTime);
- fTrace = trace;
- fThreadId = threadId;
- fParentThreadId = parentThreadId;
- fThreadQuark = quark;
- }
-
- /**
- * Get this entry's thread ID
- *
- * @return The TID
- */
- public int getThreadId() {
- return fThreadId;
- }
-
- /**
- * Get the entry's trace
- *
- * @return the entry's trace
- */
- public @NonNull ITmfTrace getTrace() {
- return fTrace;
- }
-
- /**
- * Get this thread's parent TID
- *
- * @return The "PTID"
- */
- public int getParentThreadId() {
- return fParentThreadId;
- }
-
- /**
- * Get the quark of the attribute matching this thread's TID
- *
- * @return The quark
- */
- public int getThreadQuark() {
- return fThreadQuark;
- }
-
- @Override
- public String toString() {
- return getClass().getSimpleName() + '(' + getName() + '[' + fThreadId + "])"; //$NON-NLS-1$
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.lttng2.kernel.ui/src/org/eclipse/linuxtools/internal/lttng2/kernel/ui/views/controlflow/ControlFlowPresentationProvider.java b/lttng/org.eclipse.linuxtools.lttng2.kernel.ui/src/org/eclipse/linuxtools/internal/lttng2/kernel/ui/views/controlflow/ControlFlowPresentationProvider.java
deleted file mode 100644
index 22fa932dc0..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.kernel.ui/src/org/eclipse/linuxtools/internal/lttng2/kernel/ui/views/controlflow/ControlFlowPresentationProvider.java
+++ /dev/null
@@ -1,211 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2012, 2014 Ericsson, École Polytechnique de Montréal
- *
- * 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:
- * Patrick Tasse - Initial API and implementation
- * Geneviève Bastien - Move code to provide base classes for time graph view
- *******************************************************************************/
-
-package org.eclipse.linuxtools.internal.lttng2.kernel.ui.views.controlflow;
-
-import java.util.LinkedHashMap;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.linuxtools.internal.lttng2.kernel.core.Attributes;
-import org.eclipse.linuxtools.internal.lttng2.kernel.core.StateValues;
-import org.eclipse.linuxtools.internal.lttng2.kernel.ui.Activator;
-import org.eclipse.linuxtools.internal.lttng2.kernel.ui.Messages;
-import org.eclipse.linuxtools.lttng2.kernel.core.analysis.LttngKernelAnalysisModule;
-import org.eclipse.linuxtools.statesystem.core.ITmfStateSystem;
-import org.eclipse.linuxtools.statesystem.core.exceptions.AttributeNotFoundException;
-import org.eclipse.linuxtools.statesystem.core.exceptions.StateSystemDisposedException;
-import org.eclipse.linuxtools.statesystem.core.exceptions.StateValueTypeException;
-import org.eclipse.linuxtools.statesystem.core.exceptions.TimeRangeException;
-import org.eclipse.linuxtools.statesystem.core.interval.ITmfStateInterval;
-import org.eclipse.linuxtools.statesystem.core.statevalue.ITmfStateValue;
-import org.eclipse.linuxtools.tmf.core.statesystem.TmfStateSystemAnalysisModule;
-import org.eclipse.linuxtools.tmf.ui.widgets.timegraph.StateItem;
-import org.eclipse.linuxtools.tmf.ui.widgets.timegraph.TimeGraphPresentationProvider;
-import org.eclipse.linuxtools.tmf.ui.widgets.timegraph.model.ITimeEvent;
-import org.eclipse.linuxtools.tmf.ui.widgets.timegraph.model.TimeEvent;
-import org.eclipse.linuxtools.tmf.ui.widgets.timegraph.widgets.Utils;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.GC;
-import org.eclipse.swt.graphics.RGB;
-import org.eclipse.swt.graphics.Rectangle;
-
-/**
- * Presentation provider for the control flow view
- */
-public class ControlFlowPresentationProvider extends TimeGraphPresentationProvider {
-
- private enum State {
- UNKNOWN (new RGB(100, 100, 100)),
- WAIT_BLOCKED (new RGB(200, 200, 0)),
- WAIT_FOR_CPU (new RGB(200, 100, 0)),
- USERMODE (new RGB(0, 200, 0)),
- SYSCALL (new RGB(0, 0, 200)),
- INTERRUPTED (new RGB(200, 0, 100));
-
- public final RGB rgb;
-
- private State(RGB rgb) {
- this.rgb = rgb;
- }
-
- }
-
- /**
- * Default constructor
- */
- public ControlFlowPresentationProvider() {
- super(Messages.ControlFlowView_stateTypeName);
- }
-
- private static State[] getStateValues() {
- return State.values();
- }
-
- @Override
- public StateItem[] getStateTable() {
- State[] states = getStateValues();
- StateItem[] stateTable = new StateItem[states.length];
- for (int i = 0; i < stateTable.length; i++) {
- State state = states[i];
- stateTable[i] = new StateItem(state.rgb, state.toString());
- }
- return stateTable;
- }
-
- @Override
- public int getStateTableIndex(ITimeEvent event) {
- if (event instanceof TimeEvent && ((TimeEvent) event).hasValue()) {
- int status = ((TimeEvent) event).getValue();
- return getMatchingState(status).ordinal();
- }
- return TRANSPARENT;
- }
-
- @Override
- public String getEventName(ITimeEvent event) {
- if (event instanceof TimeEvent) {
- TimeEvent ev = (TimeEvent) event;
- if (ev.hasValue()) {
- return getMatchingState(ev.getValue()).toString();
- }
- }
- return Messages.ControlFlowView_multipleStates;
- }
-
- private static State getMatchingState(int status) {
- switch (status) {
- case StateValues.PROCESS_STATUS_WAIT_BLOCKED:
- return State.WAIT_BLOCKED;
- case StateValues.PROCESS_STATUS_WAIT_FOR_CPU:
- return State.WAIT_FOR_CPU;
- case StateValues.PROCESS_STATUS_RUN_USERMODE:
- return State.USERMODE;
- case StateValues.PROCESS_STATUS_RUN_SYSCALL:
- return State.SYSCALL;
- case StateValues.PROCESS_STATUS_INTERRUPTED:
- return State.INTERRUPTED;
- default:
- return State.UNKNOWN;
- }
- }
-
- @Override
- public Map<String, String> getEventHoverToolTipInfo(ITimeEvent event) {
- Map<String, String> retMap = new LinkedHashMap<>();
- if (!(event instanceof TimeEvent) || !((TimeEvent) event).hasValue() ||
- !(event.getEntry() instanceof ControlFlowEntry)) {
- return retMap;
- }
- ControlFlowEntry entry = (ControlFlowEntry) event.getEntry();
- ITmfStateSystem ssq = TmfStateSystemAnalysisModule.getStateSystem(entry.getTrace(), LttngKernelAnalysisModule.ID);
- if (ssq == null) {
- return retMap;
- }
- int tid = entry.getThreadId();
-
- try {
- // Find every CPU first, then get the current thread
- int cpusQuark = ssq.getQuarkAbsolute(Attributes.CPUS);
- List<Integer> cpuQuarks = ssq.getSubAttributes(cpusQuark, false);
- for (Integer cpuQuark : cpuQuarks) {
- int currentThreadQuark = ssq.getQuarkRelative(cpuQuark, Attributes.CURRENT_THREAD);
- ITmfStateInterval interval = ssq.querySingleState(event.getTime(), currentThreadQuark);
- if (!interval.getStateValue().isNull()) {
- ITmfStateValue state = interval.getStateValue();
- int currentThreadId = state.unboxInt();
- if (tid == currentThreadId) {
- retMap.put(Messages.ControlFlowView_attributeCpuName, ssq.getAttributeName(cpuQuark));
- break;
- }
- }
- }
-
- } catch (AttributeNotFoundException | TimeRangeException | StateValueTypeException e) {
- Activator.getDefault().logError("Error in ControlFlowPresentationProvider", e); //$NON-NLS-1$
- } catch (StateSystemDisposedException e) {
- /* Ignored */
- }
- int status = ((TimeEvent) event).getValue();
- if (status == StateValues.PROCESS_STATUS_RUN_SYSCALL) {
- try {
- int syscallQuark = ssq.getQuarkRelative(entry.getThreadQuark(), Attributes.SYSTEM_CALL);
- ITmfStateInterval value = ssq.querySingleState(event.getTime(), syscallQuark);
- if (!value.getStateValue().isNull()) {
- ITmfStateValue state = value.getStateValue();
- retMap.put(Messages.ControlFlowView_attributeSyscallName, state.toString());
- }
-
- } catch (AttributeNotFoundException | TimeRangeException e) {
- Activator.getDefault().logError("Error in ControlFlowPresentationProvider", e); //$NON-NLS-1$
- } catch (StateSystemDisposedException e) {
- /* Ignored */
- }
- }
-
- return retMap;
- }
-
- @Override
- public void postDrawEvent(ITimeEvent event, Rectangle bounds, GC gc) {
- if (bounds.width <= gc.getFontMetrics().getAverageCharWidth()) {
- return;
- }
- if (!(event instanceof TimeEvent)) {
- return;
- }
- ControlFlowEntry entry = (ControlFlowEntry) event.getEntry();
- ITmfStateSystem ss = TmfStateSystemAnalysisModule.getStateSystem(entry.getTrace(), LttngKernelAnalysisModule.ID);
- if (ss == null) {
- return;
- }
- int status = ((TimeEvent) event).getValue();
-
- if (status != StateValues.PROCESS_STATUS_RUN_SYSCALL) {
- return;
- }
- try {
- int syscallQuark = ss.getQuarkRelative(entry.getThreadQuark(), Attributes.SYSTEM_CALL);
- ITmfStateInterval value = ss.querySingleState(event.getTime(), syscallQuark);
- if (!value.getStateValue().isNull()) {
- ITmfStateValue state = value.getStateValue();
- gc.setForeground(gc.getDevice().getSystemColor(SWT.COLOR_WHITE));
- Utils.drawText(gc, state.toString().substring(4), bounds.x, bounds.y - 2, bounds.width, true, true);
- }
- } catch (AttributeNotFoundException | TimeRangeException e) {
- Activator.getDefault().logError("Error in ControlFlowPresentationProvider", e); //$NON-NLS-1$
- } catch (StateSystemDisposedException e) {
- /* Ignored */
- }
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.lttng2.kernel.ui/src/org/eclipse/linuxtools/internal/lttng2/kernel/ui/views/controlflow/ControlFlowView.java b/lttng/org.eclipse.linuxtools.lttng2.kernel.ui/src/org/eclipse/linuxtools/internal/lttng2/kernel/ui/views/controlflow/ControlFlowView.java
deleted file mode 100644
index 3627e80aa9..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.kernel.ui/src/org/eclipse/linuxtools/internal/lttng2/kernel/ui/views/controlflow/ControlFlowView.java
+++ /dev/null
@@ -1,592 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2012, 2014 Ericsson, École Polytechnique de Montréal
- *
- * 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:
- * Patrick Tasse - Initial API and implementation
- * Geneviève Bastien - Move code to provide base classes for time graph view
- *******************************************************************************/
-
-package org.eclipse.linuxtools.internal.lttng2.kernel.ui.views.controlflow;
-
-import java.util.ArrayList;
-import java.util.Comparator;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.jdt.annotation.Nullable;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.action.IToolBarManager;
-import org.eclipse.jface.dialogs.IDialogSettings;
-import org.eclipse.linuxtools.internal.lttng2.kernel.core.Attributes;
-import org.eclipse.linuxtools.internal.lttng2.kernel.ui.Activator;
-import org.eclipse.linuxtools.internal.lttng2.kernel.ui.Messages;
-import org.eclipse.linuxtools.lttng2.kernel.core.analysis.LttngKernelAnalysisModule;
-import org.eclipse.linuxtools.statesystem.core.ITmfStateSystem;
-import org.eclipse.linuxtools.statesystem.core.exceptions.AttributeNotFoundException;
-import org.eclipse.linuxtools.statesystem.core.exceptions.StateSystemDisposedException;
-import org.eclipse.linuxtools.statesystem.core.exceptions.StateValueTypeException;
-import org.eclipse.linuxtools.statesystem.core.exceptions.TimeRangeException;
-import org.eclipse.linuxtools.statesystem.core.interval.ITmfStateInterval;
-import org.eclipse.linuxtools.statesystem.core.statevalue.ITmfStateValue;
-import org.eclipse.linuxtools.tmf.core.statesystem.TmfStateSystemAnalysisModule;
-import org.eclipse.linuxtools.tmf.core.trace.ITmfTrace;
-import org.eclipse.linuxtools.tmf.core.trace.TmfTraceManager;
-import org.eclipse.linuxtools.tmf.ui.views.timegraph.AbstractTimeGraphView;
-import org.eclipse.linuxtools.tmf.ui.widgets.timegraph.model.ILinkEvent;
-import org.eclipse.linuxtools.tmf.ui.widgets.timegraph.model.ITimeEvent;
-import org.eclipse.linuxtools.tmf.ui.widgets.timegraph.model.ITimeGraphEntry;
-import org.eclipse.linuxtools.tmf.ui.widgets.timegraph.model.TimeEvent;
-import org.eclipse.linuxtools.tmf.ui.widgets.timegraph.model.TimeGraphEntry;
-import org.eclipse.linuxtools.tmf.ui.widgets.timegraph.model.TimeLinkEvent;
-import org.eclipse.linuxtools.tmf.ui.widgets.timegraph.widgets.Utils;
-import org.eclipse.linuxtools.tmf.ui.widgets.timegraph.widgets.Utils.Resolution;
-import org.eclipse.linuxtools.tmf.ui.widgets.timegraph.widgets.Utils.TimeFormat;
-
-/**
- * The Control Flow view main object
- *
- */
-public class ControlFlowView extends AbstractTimeGraphView {
-
- // ------------------------------------------------------------------------
- // Constants
- // ------------------------------------------------------------------------
-
- /**
- * View ID.
- */
- public static final String ID = "org.eclipse.linuxtools.lttng2.kernel.ui.views.controlflow"; //$NON-NLS-1$
-
- private static final String PROCESS_COLUMN = Messages.ControlFlowView_processColumn;
- private static final String TID_COLUMN = Messages.ControlFlowView_tidColumn;
- private static final String PTID_COLUMN = Messages.ControlFlowView_ptidColumn;
- private static final String BIRTH_TIME_COLUMN = Messages.ControlFlowView_birthTimeColumn;
- private static final String TRACE_COLUMN = Messages.ControlFlowView_traceColumn;
-
- private static final String[] COLUMN_NAMES = new String[] {
- PROCESS_COLUMN,
- TID_COLUMN,
- PTID_COLUMN,
- BIRTH_TIME_COLUMN,
- TRACE_COLUMN
- };
-
- private static final String[] FILTER_COLUMN_NAMES = new String[] {
- PROCESS_COLUMN,
- TID_COLUMN
- };
-
- // Timeout between updates in the build thread in ms
- private static final long BUILD_UPDATE_TIMEOUT = 500;
-
- // ------------------------------------------------------------------------
- // Constructors
- // ------------------------------------------------------------------------
-
- /**
- * Constructor
- */
- public ControlFlowView() {
- super(ID, new ControlFlowPresentationProvider());
- setTreeColumns(COLUMN_NAMES);
- setTreeLabelProvider(new ControlFlowTreeLabelProvider());
- setFilterColumns(FILTER_COLUMN_NAMES);
- setFilterLabelProvider(new ControlFlowFilterLabelProvider());
- setEntryComparator(new ControlFlowEntryComparator());
- }
-
- @Override
- protected void fillLocalToolBar(IToolBarManager manager) {
- super.fillLocalToolBar(manager);
- IDialogSettings settings = Activator.getDefault().getDialogSettings();
- IDialogSettings section = settings.getSection(getClass().getName());
- if (section == null) {
- section = settings.addNewSection(getClass().getName());
- }
-
- IAction hideArrowsAction = getTimeGraphCombo().getTimeGraphViewer().getHideArrowsAction(section);
- manager.add(hideArrowsAction);
-
- IAction followArrowBwdAction = getTimeGraphCombo().getTimeGraphViewer().getFollowArrowBwdAction();
- followArrowBwdAction.setText(Messages.ControlFlowView_followCPUBwdText);
- followArrowBwdAction.setToolTipText(Messages.ControlFlowView_followCPUBwdText);
- manager.add(followArrowBwdAction);
-
- IAction followArrowFwdAction = getTimeGraphCombo().getTimeGraphViewer().getFollowArrowFwdAction();
- followArrowFwdAction.setText(Messages.ControlFlowView_followCPUFwdText);
- followArrowFwdAction.setToolTipText(Messages.ControlFlowView_followCPUFwdText);
- manager.add(followArrowFwdAction);
- }
-
- @Override
- protected String getNextText() {
- return Messages.ControlFlowView_nextProcessActionNameText;
- }
-
- @Override
- protected String getNextTooltip() {
- return Messages.ControlFlowView_nextProcessActionToolTipText;
- }
-
- @Override
- protected String getPrevText() {
- return Messages.ControlFlowView_previousProcessActionNameText;
- }
-
- @Override
- protected String getPrevTooltip() {
- return Messages.ControlFlowView_previousProcessActionToolTipText;
- }
-
- private static class ControlFlowEntryComparator implements Comparator<ITimeGraphEntry> {
-
- @Override
- public int compare(ITimeGraphEntry o1, ITimeGraphEntry o2) {
-
- int result = 0;
-
- if ((o1 instanceof ControlFlowEntry) && (o2 instanceof ControlFlowEntry)) {
- ControlFlowEntry entry1 = (ControlFlowEntry) o1;
- ControlFlowEntry entry2 = (ControlFlowEntry) o2;
- result = entry1.getTrace().getStartTime().compareTo(entry2.getTrace().getStartTime());
- if (result == 0) {
- result = entry1.getTrace().getName().compareTo(entry2.getTrace().getName());
- }
- if (result == 0) {
- result = entry1.getThreadId() < entry2.getThreadId() ? -1 : entry1.getThreadId() > entry2.getThreadId() ? 1 : 0;
- }
- }
-
- if (result == 0) {
- result = o1.getStartTime() < o2.getStartTime() ? -1 : o1.getStartTime() > o2.getStartTime() ? 1 : 0;
- }
-
- return result;
- }
- }
-
- /**
- * @author gbastien
- *
- */
- protected static class ControlFlowTreeLabelProvider extends TreeLabelProvider {
-
- @Override
- public String getColumnText(Object element, int columnIndex) {
- ControlFlowEntry entry = (ControlFlowEntry) element;
-
- if (COLUMN_NAMES[columnIndex].equals(Messages.ControlFlowView_processColumn)) {
- return entry.getName();
- } else if (COLUMN_NAMES[columnIndex].equals(Messages.ControlFlowView_tidColumn)) {
- return Integer.toString(entry.getThreadId());
- } else if (COLUMN_NAMES[columnIndex].equals(Messages.ControlFlowView_ptidColumn)) {
- if (entry.getParentThreadId() > 0) {
- return Integer.toString(entry.getParentThreadId());
- }
- } else if (COLUMN_NAMES[columnIndex].equals(Messages.ControlFlowView_birthTimeColumn)) {
- return Utils.formatTime(entry.getStartTime(), TimeFormat.CALENDAR, Resolution.NANOSEC);
- } else if (COLUMN_NAMES[columnIndex].equals(Messages.ControlFlowView_traceColumn)) {
- return entry.getTrace().getName();
- }
- return ""; //$NON-NLS-1$
- }
-
- }
-
- private static class ControlFlowFilterLabelProvider extends TreeLabelProvider {
-
- @Override
- public String getColumnText(Object element, int columnIndex) {
- ControlFlowEntry entry = (ControlFlowEntry) element;
-
- if (columnIndex == 0) {
- return entry.getName();
- } else if (columnIndex == 1) {
- return Integer.toString(entry.getThreadId());
- }
- return ""; //$NON-NLS-1$
- }
-
- }
-
- // ------------------------------------------------------------------------
- // Internal
- // ------------------------------------------------------------------------
-
- @Override
- protected void buildEventList(final ITmfTrace trace, ITmfTrace parentTrace, IProgressMonitor monitor) {
- if (trace == null) {
- return;
- }
- ITmfStateSystem ssq = TmfStateSystemAnalysisModule.getStateSystem(trace, LttngKernelAnalysisModule.ID);
- if (ssq == null) {
- return;
- }
-
- List<ControlFlowEntry> entryList = new ArrayList<>();
- Map<Integer, ControlFlowEntry> entryMap = new HashMap<>();
-
- long start = ssq.getStartTime();
- setStartTime(Math.min(getStartTime(), start));
-
- boolean complete = false;
- while (!complete) {
- if (monitor.isCanceled()) {
- return;
- }
- complete = ssq.waitUntilBuilt(BUILD_UPDATE_TIMEOUT);
- if (ssq.isCancelled()) {
- return;
- }
- long end = ssq.getCurrentEndTime();
- if (start == end && !complete) { // when complete execute one last time regardless of end time
- continue;
- }
- setEndTime(Math.max(getEndTime(), end + 1));
- List<Integer> threadQuarks = ssq.getQuarks(Attributes.THREADS, "*"); //$NON-NLS-1$
- for (int threadQuark : threadQuarks) {
- if (monitor.isCanceled()) {
- return;
- }
- String threadName = ssq.getAttributeName(threadQuark);
- int threadId = -1;
- try {
- threadId = Integer.parseInt(threadName);
- } catch (NumberFormatException e1) {
- continue;
- }
- if (threadId <= 0) { // ignore the 'unknown' (-1) and swapper (0) threads
- continue;
- }
-
- int execNameQuark;
- List<ITmfStateInterval> execNameIntervals;
- try {
- execNameQuark = ssq.getQuarkRelative(threadQuark, Attributes.EXEC_NAME);
- execNameIntervals = ssq.queryHistoryRange(execNameQuark, start, end);
- } catch (AttributeNotFoundException e) {
- /* No information on this thread (yet?), skip it for now */
- continue;
- } catch (StateSystemDisposedException e) {
- /* State system is closing down, no point continuing */
- break;
- }
-
- for (ITmfStateInterval execNameInterval : execNameIntervals) {
- if (monitor.isCanceled()) {
- return;
- }
- ControlFlowEntry entry = entryMap.get(threadId);
- if (!execNameInterval.getStateValue().isNull() &&
- execNameInterval.getStateValue().getType() == ITmfStateValue.Type.STRING) {
- String execName = execNameInterval.getStateValue().unboxStr();
- long startTime = execNameInterval.getStartTime();
- long endTime = execNameInterval.getEndTime() + 1;
- if (entry == null) {
- ITmfStateInterval ppidInterval = null;
- try {
- int ppidQuark = ssq.getQuarkRelative(threadQuark, Attributes.PPID);
- ppidInterval = ssq.querySingleState(startTime, ppidQuark);
- } catch (AttributeNotFoundException e) {
- /* No info, keep PPID at -1 */
- } catch (StateSystemDisposedException e) {
- /* SS is closing down, time to bail */
- break;
- }
- int ppid = -1;
- if (!(ppidInterval == null) && !ppidInterval.getStateValue().isNull()) {
- ppid = ppidInterval.getStateValue().unboxInt();
- }
- entry = new ControlFlowEntry(threadQuark, trace, execName, threadId, ppid, startTime, endTime);
- entryList.add(entry);
- entryMap.put(threadId, entry);
- } else {
- // update the name of the entry to the latest
- // execName
- entry.setName(execName);
- entry.updateEndTime(endTime);
- }
- } else {
- entryMap.remove(threadId);
- }
- }
- }
-
- updateTree(entryList, parentTrace);
-
- if (parentTrace.equals(getTrace())) {
- refresh();
- }
-
- for (ControlFlowEntry entry : entryList) {
- if (monitor.isCanceled()) {
- return;
- }
- buildStatusEvents(entry.getTrace(), entry, monitor, start, end);
- }
-
- start = end;
- }
- }
-
- private void updateTree(List<ControlFlowEntry> entryList, ITmfTrace parentTrace) {
- List<TimeGraphEntry> rootListToAdd = new ArrayList<>();
- List<TimeGraphEntry> rootListToRemove = new ArrayList<>();
- List<TimeGraphEntry> rootList = getEntryList(parentTrace);
-
- for (ControlFlowEntry entry : entryList) {
- boolean root = (entry.getParent() == null);
- if (root && entry.getParentThreadId() > 0) {
- for (ControlFlowEntry parent : entryList) {
- if (parent.getThreadId() == entry.getParentThreadId() &&
- entry.getStartTime() >= parent.getStartTime() &&
- entry.getStartTime() <= parent.getEndTime()) {
- parent.addChild(entry);
- root = false;
- if (rootList != null && rootList.contains(entry)) {
- rootListToRemove.add(entry);
- }
- break;
- }
- }
- }
- if (root && (rootList == null || !rootList.contains(entry))) {
- rootListToAdd.add(entry);
- }
- }
-
- addToEntryList(parentTrace, rootListToAdd);
- removeFromEntryList(parentTrace, rootListToRemove);
- }
-
- private void buildStatusEvents(ITmfTrace trace, ControlFlowEntry entry, IProgressMonitor monitor, long start, long end) {
- if (start < entry.getEndTime() && end > entry.getStartTime()) {
- ITmfStateSystem ssq = TmfStateSystemAnalysisModule.getStateSystem(entry.getTrace(), LttngKernelAnalysisModule.ID);
- if (ssq == null) {
- return;
- }
-
- long startTime = Math.max(start, entry.getStartTime());
- long endTime = Math.min(end + 1, entry.getEndTime());
- long resolution = Math.max(1, (end - ssq.getStartTime()) / getDisplayWidth());
- List<ITimeEvent> eventList = getEventList(entry, startTime, endTime, resolution, monitor);
- if (eventList == null) {
- return;
- }
- for (ITimeEvent event : eventList) {
- entry.addEvent(event);
- }
- if (trace.equals(getTrace())) {
- redraw();
- }
- }
- for (ITimeGraphEntry child : entry.getChildren()) {
- if (monitor.isCanceled()) {
- return;
- }
- buildStatusEvents(trace, (ControlFlowEntry) child, monitor, start, end);
- }
- }
-
- @Override
- protected @Nullable List<ITimeEvent> getEventList(TimeGraphEntry tgentry, long startTime, long endTime, long resolution, IProgressMonitor monitor) {
- List<ITimeEvent> eventList = null;
- if (!(tgentry instanceof ControlFlowEntry)) {
- return eventList;
- }
- ControlFlowEntry entry = (ControlFlowEntry) tgentry;
- final long realStart = Math.max(startTime, entry.getStartTime());
- final long realEnd = Math.min(endTime, entry.getEndTime());
- if (realEnd <= realStart) {
- return null;
- }
- ITmfStateSystem ssq = TmfStateSystemAnalysisModule.getStateSystem(entry.getTrace(), LttngKernelAnalysisModule.ID);
- if (ssq == null) {
- return null;
- }
- try {
- int statusQuark = ssq.getQuarkRelative(entry.getThreadQuark(), Attributes.STATUS);
- List<ITmfStateInterval> statusIntervals = ssq.queryHistoryRange(statusQuark, realStart, realEnd - 1, resolution, monitor);
- eventList = new ArrayList<>(statusIntervals.size());
- long lastEndTime = -1;
- for (ITmfStateInterval statusInterval : statusIntervals) {
- if (monitor.isCanceled()) {
- return null;
- }
- long time = statusInterval.getStartTime();
- long duration = statusInterval.getEndTime() - time + 1;
- int status = -1;
- try {
- status = statusInterval.getStateValue().unboxInt();
- } catch (StateValueTypeException e) {
- e.printStackTrace();
- }
- if (lastEndTime != time && lastEndTime != -1) {
- eventList.add(new TimeEvent(entry, lastEndTime, time - lastEndTime));
- }
- eventList.add(new TimeEvent(entry, time, duration, status));
- lastEndTime = time + duration;
- }
- } catch (AttributeNotFoundException | TimeRangeException e) {
- e.printStackTrace();
- } catch (StateSystemDisposedException e) {
- /* Ignored */
- }
- return eventList;
- }
-
- /**
- * Returns a value corresponding to the selected entry.
- *
- * Used in conjunction with synchingToTime to change the selected entry. If
- * one of these methods is overridden in child class, then both should be.
- *
- * @param time
- * The currently selected time
- * @return a value identifying the entry
- */
- private int getSelectionValue(long time) {
- int thread = -1;
- ITmfTrace[] traces = TmfTraceManager.getTraceSet(getTrace());
- if (traces == null) {
- return thread;
- }
- for (ITmfTrace trace : traces) {
- if (thread > 0) {
- break;
- }
- if (trace == null) {
- continue;
- }
- ITmfStateSystem ssq = TmfStateSystemAnalysisModule.getStateSystem(trace, LttngKernelAnalysisModule.ID);
- if (ssq == null) {
- continue;
- }
- if (time >= ssq.getStartTime() && time <= ssq.getCurrentEndTime()) {
- List<Integer> currentThreadQuarks = ssq.getQuarks(Attributes.CPUS, "*", Attributes.CURRENT_THREAD); //$NON-NLS-1$
- for (int currentThreadQuark : currentThreadQuarks) {
- try {
- ITmfStateInterval currentThreadInterval = ssq.querySingleState(time, currentThreadQuark);
- int currentThread = currentThreadInterval.getStateValue().unboxInt();
- if (currentThread > 0) {
- int statusQuark = ssq.getQuarkAbsolute(Attributes.THREADS, Integer.toString(currentThread), Attributes.STATUS);
- ITmfStateInterval statusInterval = ssq.querySingleState(time, statusQuark);
- if (statusInterval.getStartTime() == time) {
- thread = currentThread;
- break;
- }
- }
- } catch (AttributeNotFoundException | TimeRangeException | StateValueTypeException e) {
- e.printStackTrace();
- } catch (StateSystemDisposedException e) {
- /* Ignored */
- }
- }
- }
- }
- return thread;
- }
-
- @Override
- protected void synchingToTime(long time) {
- int selected = getSelectionValue(time);
- if (selected > 0) {
- for (Object element : getTimeGraphViewer().getExpandedElements()) {
- if (element instanceof ControlFlowEntry) {
- ControlFlowEntry entry = (ControlFlowEntry) element;
- if (entry.getThreadId() == selected) {
- getTimeGraphCombo().setSelection(entry);
- break;
- }
- }
- }
- }
- }
-
- @Override
- protected List<ILinkEvent> getLinkList(long startTime, long endTime, long resolution, IProgressMonitor monitor) {
- List<ILinkEvent> list = new ArrayList<>();
- ITmfTrace[] traces = TmfTraceManager.getTraceSet(getTrace());
- List<TimeGraphEntry> entryList = getEntryList(getTrace());
- if (traces == null || entryList == null) {
- return list;
- }
- for (ITmfTrace trace : traces) {
- if (trace == null) {
- continue;
- }
- ITmfStateSystem ssq = TmfStateSystemAnalysisModule.getStateSystem(trace, LttngKernelAnalysisModule.ID);
- if (ssq == null) {
- continue;
- }
- try {
- long start = Math.max(startTime, ssq.getStartTime());
- long end = Math.min(endTime, ssq.getCurrentEndTime());
- if (end < start) {
- continue;
- }
- List<Integer> currentThreadQuarks = ssq.getQuarks(Attributes.CPUS, "*", Attributes.CURRENT_THREAD); //$NON-NLS-1$
- for (int currentThreadQuark : currentThreadQuarks) {
- // adjust the query range to include the previous and following intervals
- long qstart = Math.max(ssq.querySingleState(start, currentThreadQuark).getStartTime() - 1, ssq.getStartTime());
- long qend = Math.min(ssq.querySingleState(end, currentThreadQuark).getEndTime() + 1, ssq.getCurrentEndTime());
- List<ITmfStateInterval> currentThreadIntervals = ssq.queryHistoryRange(currentThreadQuark, qstart, qend, resolution, monitor);
- int prevThread = 0;
- long prevEnd = 0;
- long lastEnd = 0;
- for (ITmfStateInterval currentThreadInterval : currentThreadIntervals) {
- if (monitor.isCanceled()) {
- return null;
- }
- long time = currentThreadInterval.getStartTime();
- if (time != lastEnd) {
- // don't create links where there are gaps in intervals due to the resolution
- prevThread = 0;
- prevEnd = 0;
- }
- int thread = currentThreadInterval.getStateValue().unboxInt();
- if (thread > 0 && prevThread > 0) {
- ITimeGraphEntry prevEntry = findEntry(entryList, trace, prevThread);
- ITimeGraphEntry nextEntry = findEntry(entryList, trace, thread);
- list.add(new TimeLinkEvent(prevEntry, nextEntry, prevEnd, time - prevEnd, 0));
- }
- lastEnd = currentThreadInterval.getEndTime() + 1;
- if (thread != 0) {
- prevThread = thread;
- prevEnd = lastEnd;
- }
- }
- }
- } catch (TimeRangeException | AttributeNotFoundException | StateValueTypeException e) {
- e.printStackTrace();
- } catch (StateSystemDisposedException e) {
- /* Ignored */
- }
- }
- return list;
- }
-
- private ControlFlowEntry findEntry(List<? extends ITimeGraphEntry> entryList, ITmfTrace trace, int threadId) {
- for (ITimeGraphEntry entry : entryList) {
- if (entry instanceof ControlFlowEntry) {
- ControlFlowEntry controlFlowEntry = (ControlFlowEntry) entry;
- if (controlFlowEntry.getThreadId() == threadId && controlFlowEntry.getTrace() == trace) {
- return controlFlowEntry;
- } else if (entry.hasChildren()) {
- controlFlowEntry = findEntry(entry.getChildren(), trace, threadId);
- if (controlFlowEntry != null) {
- return controlFlowEntry;
- }
- }
- }
- }
- return null;
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.lttng2.kernel.ui/src/org/eclipse/linuxtools/internal/lttng2/kernel/ui/views/cpuusage/CpuUsageComposite.java b/lttng/org.eclipse.linuxtools.lttng2.kernel.ui/src/org/eclipse/linuxtools/internal/lttng2/kernel/ui/views/cpuusage/CpuUsageComposite.java
deleted file mode 100644
index a56b3f3e83..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.kernel.ui/src/org/eclipse/linuxtools/internal/lttng2/kernel/ui/views/cpuusage/CpuUsageComposite.java
+++ /dev/null
@@ -1,321 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 École Polytechnique de Montréal
- *
- * 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:
- * Geneviève Bastien - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.internal.lttng2.kernel.ui.views.cpuusage;
-
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.Map.Entry;
-
-import org.eclipse.jdt.annotation.NonNull;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.jface.viewers.ViewerComparator;
-import org.eclipse.linuxtools.internal.lttng2.kernel.core.Attributes;
-import org.eclipse.linuxtools.lttng2.kernel.core.analysis.LttngKernelAnalysisModule;
-import org.eclipse.linuxtools.lttng2.kernel.core.cpuusage.LttngKernelCpuUsageAnalysis;
-import org.eclipse.linuxtools.statesystem.core.ITmfStateSystem;
-import org.eclipse.linuxtools.statesystem.core.exceptions.AttributeNotFoundException;
-import org.eclipse.linuxtools.statesystem.core.exceptions.StateSystemDisposedException;
-import org.eclipse.linuxtools.statesystem.core.interval.ITmfStateInterval;
-import org.eclipse.linuxtools.statesystem.core.statevalue.ITmfStateValue;
-import org.eclipse.linuxtools.tmf.core.statesystem.TmfStateSystemAnalysisModule;
-import org.eclipse.linuxtools.tmf.core.trace.ITmfTrace;
-import org.eclipse.linuxtools.tmf.ui.viewers.tree.AbstractTmfTreeViewer;
-import org.eclipse.linuxtools.tmf.ui.viewers.tree.ITmfTreeColumnDataProvider;
-import org.eclipse.linuxtools.tmf.ui.viewers.tree.ITmfTreeViewerEntry;
-import org.eclipse.linuxtools.tmf.ui.viewers.tree.TmfTreeColumnData;
-import org.eclipse.linuxtools.tmf.ui.viewers.tree.TmfTreeColumnData.ITmfColumnPercentageProvider;
-import org.eclipse.linuxtools.tmf.ui.viewers.tree.TmfTreeViewerEntry;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.swt.widgets.Composite;
-
-/**
- * Tree viewer to display CPU usage information in a specified time range. It
- * shows the process's TID, its name, the time spent on the CPU during that
- * range, in % and absolute value.
- *
- * @author Geneviève Bastien
- */
-public class CpuUsageComposite extends AbstractTmfTreeViewer {
-
- // Timeout between to wait for in the updateElements method
- private static final long BUILD_UPDATE_TIMEOUT = 500;
-
- private LttngKernelCpuUsageAnalysis fModule = null;
- private String fSelectedThread = null;
-
- private static final String[] COLUMN_NAMES = new String[] {
- Messages.CpuUsageComposite_ColumnTID,
- Messages.CpuUsageComposite_ColumnProcess,
- Messages.CpuUsageComposite_ColumnPercent,
- Messages.CpuUsageComposite_ColumnTime
- };
-
- /* A map that saves the mapping of a thread ID to its executable name */
- private final Map<String, String> fProcessNameMap = new HashMap<>();
-
- /** Provides label for the CPU usage tree viewer cells */
- protected static class CpuLabelProvider extends TreeLabelProvider {
-
- @Override
- public String getColumnText(Object element, int columnIndex) {
- CpuUsageEntry obj = (CpuUsageEntry) element;
- if (columnIndex == 0) {
- return obj.getTid();
- } else if (columnIndex == 1) {
- return obj.getProcessName();
- } else if (columnIndex == 2) {
- return String.format(Messages.CpuUsageComposite_TextPercent, obj.getPercent());
- } else if (columnIndex == 3) {
- return NLS.bind(Messages.CpuUsageComposite_TextTime, obj.getTime());
- }
-
- return element.toString();
- }
-
- }
-
- /**
- * Constructor
- *
- * @param parent
- * The parent composite that holds this viewer
- */
- public CpuUsageComposite(Composite parent) {
- super(parent, false);
- setLabelProvider(new CpuLabelProvider());
- }
-
- @Override
- protected ITmfTreeColumnDataProvider getColumnDataProvider() {
- return new ITmfTreeColumnDataProvider() {
-
- @Override
- public List<TmfTreeColumnData> getColumnData() {
- /* All columns are sortable */
- List<TmfTreeColumnData> columns = new ArrayList<>();
- TmfTreeColumnData column = new TmfTreeColumnData(COLUMN_NAMES[0]);
- column.setComparator(new ViewerComparator() {
- @Override
- public int compare(Viewer viewer, Object e1, Object e2) {
- CpuUsageEntry n1 = (CpuUsageEntry) e1;
- CpuUsageEntry n2 = (CpuUsageEntry) e2;
-
- return n1.getTid().compareTo(n2.getTid());
-
- }
- });
- columns.add(column);
- column = new TmfTreeColumnData(COLUMN_NAMES[1]);
- column.setComparator(new ViewerComparator() {
- @Override
- public int compare(Viewer viewer, Object e1, Object e2) {
- CpuUsageEntry n1 = (CpuUsageEntry) e1;
- CpuUsageEntry n2 = (CpuUsageEntry) e2;
-
- return n1.getProcessName().compareTo(n2.getProcessName());
-
- }
- });
- columns.add(column);
- column = new TmfTreeColumnData(COLUMN_NAMES[2]);
- column.setComparator(new ViewerComparator() {
- @Override
- public int compare(Viewer viewer, Object e1, Object e2) {
- CpuUsageEntry n1 = (CpuUsageEntry) e1;
- CpuUsageEntry n2 = (CpuUsageEntry) e2;
-
- return n1.getPercent().compareTo(n2.getPercent());
-
- }
- });
- column.setPercentageProvider(new ITmfColumnPercentageProvider() {
-
- @Override
- public double getPercentage(Object data) {
- CpuUsageEntry parent = (CpuUsageEntry) data;
- return parent.getPercent() / 100;
- }
- });
- columns.add(column);
- column = new TmfTreeColumnData(COLUMN_NAMES[3]);
- column.setComparator(new ViewerComparator() {
- @Override
- public int compare(Viewer viewer, Object e1, Object e2) {
- CpuUsageEntry n1 = (CpuUsageEntry) e1;
- CpuUsageEntry n2 = (CpuUsageEntry) e2;
-
- return n1.getTime().compareTo(n2.getTime());
-
- }
- });
- columns.add(column);
-
- return columns;
- }
-
- };
- }
-
- // ------------------------------------------------------------------------
- // Operations
- // ------------------------------------------------------------------------
-
- @Override
- protected void contentChanged(ITmfTreeViewerEntry rootEntry) {
- String selectedThread = fSelectedThread;
- if (selectedThread != null) {
- /* Find the selected thread among the inputs */
- for (ITmfTreeViewerEntry entry : rootEntry.getChildren()) {
- if (entry instanceof CpuUsageEntry) {
- if (selectedThread.equals(((CpuUsageEntry) entry).getTid())) {
- @SuppressWarnings("null")
- @NonNull List<ITmfTreeViewerEntry> list = Collections.singletonList(entry);
- super.setSelection(list);
- return;
- }
- }
- }
- }
- }
-
- @Override
- public void initializeDataSource() {
- fModule = getTrace().getAnalysisModuleOfClass(LttngKernelCpuUsageAnalysis.class, LttngKernelCpuUsageAnalysis.ID);
- if (fModule == null) {
- return;
- }
- fModule.schedule();
- fModule.waitForInitialization();
- fProcessNameMap.clear();
- }
-
- @Override
- protected ITmfTreeViewerEntry updateElements(long start, long end, boolean isSelection) {
- if (isSelection || (start == end)) {
- return null;
- }
- if (getTrace() == null || fModule == null) {
- return null;
- }
- fModule.waitForInitialization();
- ITmfStateSystem ss = fModule.getStateSystem();
- if (ss == null) {
- return null;
- }
-
- boolean complete = false;
- long currentEnd = start;
-
- while (!complete && currentEnd < end) {
- complete = ss.waitUntilBuilt(BUILD_UPDATE_TIMEOUT);
- currentEnd = ss.getCurrentEndTime();
- }
-
- /* Initialize the data */
- Map<String, Long> cpuUsageMap = fModule.getCpuUsageInRange(Math.max(start, getStartTime()), Math.min(end, getEndTime()));
-
- TmfTreeViewerEntry root = new TmfTreeViewerEntry(""); //$NON-NLS-1$
- List<ITmfTreeViewerEntry> entryList = root.getChildren();
-
- for (Entry<String, Long> entry : cpuUsageMap.entrySet()) {
- /*
- * Process only entries representing the total of all CPUs and that
- * have time on CPU
- */
- if (entry.getValue() == 0) {
- continue;
- }
- if (!entry.getKey().startsWith(LttngKernelCpuUsageAnalysis.TOTAL)) {
- continue;
- }
- String[] strings = entry.getKey().split(LttngKernelCpuUsageAnalysis.SPLIT_STRING, 2);
-
- if ((strings.length > 1) && !(strings[1].equals(LttngKernelCpuUsageAnalysis.TID_ZERO))) {
- CpuUsageEntry obj = new CpuUsageEntry(strings[1], getProcessName(strings[1]), (double) entry.getValue() / (double) (end - start) * 100, entry.getValue());
- entryList.add(obj);
- }
- }
-
- return root;
- }
-
- /*
- * Get the process name from its TID by using the LTTng kernel analysis
- * module
- */
- private String getProcessName(String tid) {
- String execName = fProcessNameMap.get(tid);
- if (execName != null) {
- return execName;
- }
- ITmfTrace trace = getTrace();
- if (trace == null) {
- return tid;
- }
- ITmfStateSystem kernelSs = TmfStateSystemAnalysisModule.getStateSystem(trace, LttngKernelAnalysisModule.ID);
- if (kernelSs == null) {
- return tid;
- }
-
- try {
- int cpusNode = kernelSs.getQuarkAbsolute(Attributes.THREADS);
-
- /* Get the quarks for each cpu */
- List<Integer> cpuNodes = kernelSs.getSubAttributes(cpusNode, false);
-
- for (Integer tidQuark : cpuNodes) {
- if (kernelSs.getAttributeName(tidQuark).equals(tid)) {
- int execNameQuark;
- List<ITmfStateInterval> execNameIntervals;
- try {
- execNameQuark = kernelSs.getQuarkRelative(tidQuark, Attributes.EXEC_NAME);
- execNameIntervals = kernelSs.queryHistoryRange(execNameQuark, getStartTime(), getEndTime());
- } catch (AttributeNotFoundException e) {
- /* No information on this thread (yet?), skip it for now */
- continue;
- } catch (StateSystemDisposedException e) {
- /* State system is closing down, no point continuing */
- break;
- }
-
- for (ITmfStateInterval execNameInterval : execNameIntervals) {
- if (!execNameInterval.getStateValue().isNull() &&
- execNameInterval.getStateValue().getType() == ITmfStateValue.Type.STRING) {
- execName = execNameInterval.getStateValue().unboxStr();
- fProcessNameMap.put(tid, execName);
- return execName;
- }
- }
- }
- }
-
- } catch (AttributeNotFoundException e) {
- /* can't find the process name, just return the tid instead */
- }
- return tid;
- }
-
- /**
- * Set the currently selected thread ID
- *
- * @param tid
- * The selected thread ID
- */
- public void setSelectedThread(String tid) {
- fSelectedThread = tid;
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.lttng2.kernel.ui/src/org/eclipse/linuxtools/internal/lttng2/kernel/ui/views/cpuusage/CpuUsageEntry.java b/lttng/org.eclipse.linuxtools.lttng2.kernel.ui/src/org/eclipse/linuxtools/internal/lttng2/kernel/ui/views/cpuusage/CpuUsageEntry.java
deleted file mode 100644
index 79bb0ce26e..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.kernel.ui/src/org/eclipse/linuxtools/internal/lttng2/kernel/ui/views/cpuusage/CpuUsageEntry.java
+++ /dev/null
@@ -1,86 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 École Polytechnique de Montréal
- *
- * 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:
- * Geneviève Bastien - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.internal.lttng2.kernel.ui.views.cpuusage;
-
-import org.eclipse.linuxtools.tmf.ui.viewers.tree.TmfTreeViewerEntry;
-
-/**
- * Represents an entry in the tree viewer of the CPU usage view. An entry is a
- * thread that occupied part of the CPU in the selected time range.
- *
- * @author Geneviève Bastien
- */
-public class CpuUsageEntry extends TmfTreeViewerEntry {
- private final String fTid;
- private final String fProcessName;
- private final Double fPercent;
- private final Long fTime;
-
- /**
- * Constructor
- *
- * @param tid
- * The TID of the process
- * @param name
- * The thread's name
- * @param percent
- * The percentage CPU usage
- * @param time
- * The total amount of time spent on CPU
- */
- public CpuUsageEntry(String tid, String name, double percent, long time) {
- super(tid);
- fTid = tid;
- fProcessName = name;
- fPercent = percent;
- fTime = time;
- }
-
- /**
- * Get the TID of the thread represented by this entry
- *
- * @return The thread's TID
- */
- public String getTid() {
- return fTid;
- }
-
- /**
- * Get the process name
- *
- * @return The process name
- */
- public String getProcessName() {
- return fProcessName;
- }
-
- /**
- * Get the percentage of time spent on CPU in the time interval represented
- * by this entry.
- *
- * @return The percentage of time spent on CPU
- */
- public Double getPercent() {
- return fPercent;
- }
-
- /**
- * Get the total time spent on CPU in the time interval represented by this
- * entry.
- *
- * @return The total time spent on CPU
- */
- public Long getTime() {
- return fTime;
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.lttng2.kernel.ui/src/org/eclipse/linuxtools/internal/lttng2/kernel/ui/views/cpuusage/CpuUsageView.java b/lttng/org.eclipse.linuxtools.lttng2.kernel.ui/src/org/eclipse/linuxtools/internal/lttng2/kernel/ui/views/cpuusage/CpuUsageView.java
deleted file mode 100644
index d2d8a1ed23..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.kernel.ui/src/org/eclipse/linuxtools/internal/lttng2/kernel/ui/views/cpuusage/CpuUsageView.java
+++ /dev/null
@@ -1,103 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 École Polytechnique de Montréal
- *
- * 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:
- * Geneviève Bastien - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.internal.lttng2.kernel.ui.views.cpuusage;
-
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.ISelectionChangedListener;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.SelectionChangedEvent;
-import org.eclipse.linuxtools.tmf.core.signal.TmfTraceSelectedSignal;
-import org.eclipse.linuxtools.tmf.core.trace.ITmfTrace;
-import org.eclipse.linuxtools.tmf.ui.views.TmfView;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.SashForm;
-import org.eclipse.swt.layout.FillLayout;
-import org.eclipse.swt.widgets.Composite;
-
-/**
- * CPU usage view. It contains 2 viewers: one tree viewer showing all the
- * threads who were on the CPU in the time range, and one XY chart viewer
- * plotting the total time spent on CPU and the time of the threads selected in
- * the tree viewer.
- *
- * @author Geneviève Bastien
- */
-public class CpuUsageView extends TmfView {
-
- /** ID string */
- public static final String ID = "org.eclipse.linuxtools.lttng2.kernel.ui.views.cpuusage"; //$NON-NLS-1$
-
- private CpuUsageComposite fTreeViewer = null;
- private CpuUsageXYViewer fXYViewer = null;
-
- /**
- * Constructor
- */
- public CpuUsageView() {
- super(Messages.CpuUsageView_Title);
- }
-
- @Override
- public void createPartControl(Composite parent) {
-
- final SashForm sash = new SashForm(parent, SWT.NONE);
-
- fTreeViewer = new CpuUsageComposite(sash);
-
- /* Build the XY chart part of the view */
- fXYViewer = new CpuUsageXYViewer(sash);
-
- /* Add selection listener to tree viewer */
- fTreeViewer.addSelectionChangeListener(new ISelectionChangedListener() {
- @Override
- public void selectionChanged(SelectionChangedEvent event) {
- ISelection selection = event.getSelection();
- if (selection instanceof IStructuredSelection) {
- Object structSelection = ((IStructuredSelection) selection).getFirstElement();
- if (structSelection instanceof CpuUsageEntry) {
- CpuUsageEntry entry = (CpuUsageEntry) structSelection;
- fTreeViewer.setSelectedThread(entry.getTid());
- fXYViewer.setSelectedThread(Long.valueOf(entry.getTid()));
- }
- }
- }
- });
-
- sash.setLayout(new FillLayout());
-
- /* Initialize the viewers with the currently selected trace */
- ITmfTrace trace = getActiveTrace();
- if (trace != null) {
- TmfTraceSelectedSignal signal = new TmfTraceSelectedSignal(this, trace);
- fTreeViewer.traceSelected(signal);
- fXYViewer.traceSelected(signal);
- }
-
- }
-
- @Override
- public void setFocus() {
- }
-
- @Override
- public void dispose() {
- super.dispose();
- if (fTreeViewer != null) {
- fTreeViewer.dispose();
- }
- if (fXYViewer != null) {
- fXYViewer.dispose();
- }
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.lttng2.kernel.ui/src/org/eclipse/linuxtools/internal/lttng2/kernel/ui/views/cpuusage/CpuUsageXYViewer.java b/lttng/org.eclipse.linuxtools.lttng2.kernel.ui/src/org/eclipse/linuxtools/internal/lttng2/kernel/ui/views/cpuusage/CpuUsageXYViewer.java
deleted file mode 100644
index e2167ef594..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.kernel.ui/src/org/eclipse/linuxtools/internal/lttng2/kernel/ui/views/cpuusage/CpuUsageXYViewer.java
+++ /dev/null
@@ -1,210 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 École Polytechnique de Montréal
- *
- * 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:
- * Geneviève Bastien - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.internal.lttng2.kernel.ui.views.cpuusage;
-
-import java.util.Arrays;
-import java.util.HashMap;
-import java.util.LinkedHashMap;
-import java.util.Map;
-import java.util.Map.Entry;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.linuxtools.internal.lttng2.kernel.ui.Activator;
-import org.eclipse.linuxtools.lttng2.kernel.core.cpuusage.LttngKernelCpuUsageAnalysis;
-import org.eclipse.linuxtools.statesystem.core.ITmfStateSystem;
-import org.eclipse.linuxtools.statesystem.core.exceptions.StateValueTypeException;
-import org.eclipse.linuxtools.tmf.ui.viewers.xycharts.linecharts.TmfCommonXLineChartViewer;
-import org.eclipse.swt.widgets.Composite;
-
-/**
- * CPU usage viewer with XY line chart. It displays the total CPU usage and that
- * of the threads selected in the CPU usage tree viewer.
- *
- * @author Geneviève Bastien
- */
-public class CpuUsageXYViewer extends TmfCommonXLineChartViewer {
-
- private LttngKernelCpuUsageAnalysis fModule = null;
-
- /* Maps a thread ID to a list of y values */
- private final Map<String, double[]> fYValues = new LinkedHashMap<>();
- /*
- * To avoid up and downs CPU usage when process is in and out of CPU
- * frequently, use a smaller resolution to get better averages.
- */
- private static final double RESOLUTION = 0.4;
-
- // Timeout between updates in the updateData thread
- private static final long BUILD_UPDATE_TIMEOUT = 500;
-
- private long fSelectedThread = -1;
-
- /**
- * Constructor
- *
- * @param parent
- * parent composite
- */
- public CpuUsageXYViewer(Composite parent) {
- super(parent, Messages.CpuUsageXYViewer_Title, Messages.CpuUsageXYViewer_TimeXAxis, Messages.CpuUsageXYViewer_CpuYAxis);
- setResolution(RESOLUTION);
- }
-
- @Override
- protected void initializeDataSource() {
- if (getTrace() != null) {
- fModule = getTrace().getAnalysisModuleOfClass(LttngKernelCpuUsageAnalysis.class, LttngKernelCpuUsageAnalysis.ID);
- if (fModule == null) {
- return;
- }
- fModule.schedule();
- }
- }
-
- private static double[] zeroFill(int nb) {
- double[] arr = new double[nb];
- Arrays.fill(arr, 0.0);
- return arr;
- }
-
- @Override
- protected void updateData(long start, long end, int nb, IProgressMonitor monitor) {
- try {
- if (getTrace() == null || fModule == null) {
- return;
- }
- fModule.waitForInitialization();
- ITmfStateSystem ss = fModule.getStateSystem();
- if (ss == null) {
- return;
- }
- double[] xvalues = getXAxis(start, end, nb);
- if (xvalues.length == 0) {
- return;
- }
- setXAxis(xvalues);
-
- boolean complete = false;
- long currentEnd = start;
-
- while (!complete && currentEnd < end) {
-
- if (monitor.isCanceled()) {
- return;
- }
-
- long traceStart = getStartTime();
- long traceEnd = getEndTime();
- long offset = getTimeOffset();
- long selectedThread = fSelectedThread;
-
- complete = ss.waitUntilBuilt(BUILD_UPDATE_TIMEOUT);
- currentEnd = ss.getCurrentEndTime();
-
- /* Initialize the data */
- Map<String, Long> cpuUsageMap = fModule.getCpuUsageInRange(Math.max(start, traceStart), Math.min(end, traceEnd));
- Map<String, String> totalEntries = new HashMap<>();
- fYValues.clear();
- fYValues.put(Messages.CpuUsageXYViewer_Total, zeroFill(xvalues.length));
- String stringSelectedThread = Long.toString(selectedThread);
- if (selectedThread != -1) {
- fYValues.put(stringSelectedThread, zeroFill(xvalues.length));
- }
-
- for (Entry<String, Long> entry : cpuUsageMap.entrySet()) {
- /*
- * Process only entries representing the total of all CPUs
- * and that have time on CPU
- */
- if (entry.getValue() == 0) {
- continue;
- }
- if (!entry.getKey().startsWith(LttngKernelCpuUsageAnalysis.TOTAL)) {
- continue;
- }
- String[] strings = entry.getKey().split(LttngKernelCpuUsageAnalysis.SPLIT_STRING, 2);
-
- if ((strings.length > 1) && !(strings[1].equals(LttngKernelCpuUsageAnalysis.TID_ZERO))) {
- /* This is the total cpu usage for a thread */
- totalEntries.put(strings[1], entry.getKey());
- }
- }
-
- double prevX = xvalues[0];
- long prevTime = (long) prevX + offset;
- /*
- * make sure that time is in the trace range after double to
- * long conversion
- */
- prevTime = Math.max(traceStart, prevTime);
- prevTime = Math.min(traceEnd, prevTime);
- /* Get CPU usage statistics for each x value */
- for (int i = 1; i < xvalues.length; i++) {
- if (monitor.isCanceled()) {
- return;
- }
- long totalCpu = 0;
- double x = xvalues[i];
- long time = (long) x + offset;
- time = Math.max(traceStart, time);
- time = Math.min(traceEnd, time);
-
- cpuUsageMap = fModule.getCpuUsageInRange(prevTime, time);
-
- /*
- * Calculate the sum of all total entries, and add a data
- * point to the selected one
- */
- for (Entry<String, String> entry : totalEntries.entrySet()) {
- Long cpuEntry = cpuUsageMap.get(entry.getValue());
- cpuEntry = cpuEntry != null ? cpuEntry : 0L;
-
- totalCpu += cpuEntry;
-
- if (entry.getKey().equals(stringSelectedThread)) {
- /* This is the total cpu usage for a thread */
- fYValues.get(entry.getKey())[i] = (double) cpuEntry / (double) (time - prevTime) * 100;
- }
-
- }
- fYValues.get(Messages.CpuUsageXYViewer_Total)[i] = (double) totalCpu / (double) (time - prevTime) * 100;
- prevTime = time;
- }
- for (Entry<String, double[]> entry : fYValues.entrySet()) {
- setSeries(entry.getKey(), entry.getValue());
- }
- if (monitor.isCanceled()) {
- return;
- }
- updateDisplay();
- }
- } catch (StateValueTypeException e) {
- Activator.getDefault().logError("Error updating the data of the CPU usage view", e); //$NON-NLS-1$
- }
-
- }
-
- /**
- * Set the selected thread ID, which will be graphed in this viewer
- *
- * @param tid
- * The selected thread ID
- */
- public void setSelectedThread(long tid) {
- cancelUpdate();
- deleteSeries(Long.toString(fSelectedThread));
- fSelectedThread = tid;
- updateContent();
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.lttng2.kernel.ui/src/org/eclipse/linuxtools/internal/lttng2/kernel/ui/views/cpuusage/Messages.java b/lttng/org.eclipse.linuxtools.lttng2.kernel.ui/src/org/eclipse/linuxtools/internal/lttng2/kernel/ui/views/cpuusage/Messages.java
deleted file mode 100644
index 6b70d8cd28..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.kernel.ui/src/org/eclipse/linuxtools/internal/lttng2/kernel/ui/views/cpuusage/Messages.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 École Polytechnique de Montréal
- *
- * 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:
- * Geneviève Bastien - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.internal.lttng2.kernel.ui.views.cpuusage;
-
-import org.eclipse.osgi.util.NLS;
-
-/**
- * Messages used in the LTTng kernel CPU usage view and viewers.
- *
- * @author Geneviève Bastien
- */
-@SuppressWarnings("javadoc")
-public class Messages extends NLS {
- private static final String BUNDLE_NAME = "org.eclipse.linuxtools.internal.lttng2.kernel.ui.views.cpuusage.messages"; //$NON-NLS-1$
- public static String CpuUsageComposite_ColumnPercent;
- public static String CpuUsageComposite_ColumnProcess;
- public static String CpuUsageComposite_ColumnTID;
- public static String CpuUsageComposite_ColumnTime;
- public static String CpuUsageComposite_TextPercent;
- public static String CpuUsageComposite_TextTime;
- public static String CpuUsageView_Title;
- public static String CpuUsageXYViewer_CpuYAxis;
- public static String CpuUsageXYViewer_TimeXAxis;
- public static String CpuUsageXYViewer_Title;
- public static String CpuUsageXYViewer_Total;
- static {
- // initialize resource bundle
- NLS.initializeMessages(BUNDLE_NAME, Messages.class);
- }
-
- private Messages() {
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.lttng2.kernel.ui/src/org/eclipse/linuxtools/internal/lttng2/kernel/ui/views/cpuusage/messages.properties b/lttng/org.eclipse.linuxtools.lttng2.kernel.ui/src/org/eclipse/linuxtools/internal/lttng2/kernel/ui/views/cpuusage/messages.properties
deleted file mode 100644
index bca6d6ab3c..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.kernel.ui/src/org/eclipse/linuxtools/internal/lttng2/kernel/ui/views/cpuusage/messages.properties
+++ /dev/null
@@ -1,23 +0,0 @@
-###############################################################################
-# Copyright (c) 2014 École Polytechnique de Montréal
-#
-# 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:
-# Geneviève Bastien - Initial API and implementation
-###############################################################################
-
-CpuUsageComposite_ColumnPercent=%
-CpuUsageComposite_ColumnProcess=Process
-CpuUsageComposite_ColumnTID=TID
-CpuUsageComposite_ColumnTime=Time
-CpuUsageComposite_TextPercent=%1$.3f %%
-CpuUsageComposite_TextTime={0} ns
-CpuUsageView_Title=CPU Usage
-CpuUsageXYViewer_CpuYAxis=% CPU
-CpuUsageXYViewer_TimeXAxis=Time
-CpuUsageXYViewer_Title=CPU usage
-CpuUsageXYViewer_Total=Total
diff --git a/lttng/org.eclipse.linuxtools.lttng2.kernel.ui/src/org/eclipse/linuxtools/internal/lttng2/kernel/ui/views/resources/ResourcesEntry.java b/lttng/org.eclipse.linuxtools.lttng2.kernel.ui/src/org/eclipse/linuxtools/internal/lttng2/kernel/ui/views/resources/ResourcesEntry.java
deleted file mode 100644
index c67d0e6263..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.kernel.ui/src/org/eclipse/linuxtools/internal/lttng2/kernel/ui/views/resources/ResourcesEntry.java
+++ /dev/null
@@ -1,177 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2012, 2014 Ericsson, École Polytechnique de Montréal
- *
- * 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:
- * Patrick Tasse - Initial API and implementation
- * Geneviève Bastien - Move code to provide base classes for time graph view
- *******************************************************************************/
-
-package org.eclipse.linuxtools.internal.lttng2.kernel.ui.views.resources;
-
-import org.eclipse.jdt.annotation.NonNull;
-import org.eclipse.linuxtools.tmf.core.trace.ITmfTrace;
-import org.eclipse.linuxtools.tmf.ui.widgets.timegraph.model.ITimeGraphEntry;
-import org.eclipse.linuxtools.tmf.ui.widgets.timegraph.model.TimeGraphEntry;
-
-/**
- * An entry, or row, in the resource view
- *
- * @author Patrick Tasse
- */
-public class ResourcesEntry extends TimeGraphEntry implements Comparable<ITimeGraphEntry> {
-
- /** Type of resource */
- public static enum Type {
- /** Null resources (filler rows, etc.) */
- NULL,
- /** Entries for CPUs */
- CPU,
- /** Entries for IRQs */
- IRQ,
- /** Entries for Soft IRQ */
- SOFT_IRQ
- }
-
- private final int fId;
- private final @NonNull ITmfTrace fTrace;
- private final Type fType;
- private final int fQuark;
-
- /**
- * Constructor
- *
- * @param quark
- * The attribute quark matching the entry
- * @param trace
- * The trace on which we are working
- * @param name
- * The exec_name of this entry
- * @param startTime
- * The start time of this entry lifetime
- * @param endTime
- * The end time of this entry
- * @param type
- * The type of this entry
- * @param id
- * The id of this entry
- */
- public ResourcesEntry(int quark, @NonNull ITmfTrace trace, String name,
- long startTime, long endTime, Type type, int id) {
- super(name, startTime, endTime);
- fId = id;
- fTrace = trace;
- fType = type;
- fQuark = quark;
- }
-
- /**
- * Constructor
- *
- * @param trace
- * The trace on which we are working
- * @param name
- * The exec_name of this entry
- * @param startTime
- * The start time of this entry lifetime
- * @param endTime
- * The end time of this entry
- * @param id
- * The id of this entry
- */
- public ResourcesEntry(@NonNull ITmfTrace trace, String name,
- long startTime, long endTime, int id) {
- this(-1, trace, name, startTime, endTime, Type.NULL, id);
- }
-
- /**
- * Constructor
- *
- * @param quark
- * The attribute quark matching the entry
- * @param trace
- * The trace on which we are working
- * @param startTime
- * The start time of this entry lifetime
- * @param endTime
- * The end time of this entry
- * @param type
- * The type of this entry
- * @param id
- * The id of this entry
- */
- public ResourcesEntry(int quark, @NonNull ITmfTrace trace,
- long startTime, long endTime, Type type, int id) {
- this(quark, trace, type.toString() + " " + id, startTime, endTime, type, id); //$NON-NLS-1$
- }
-
- /**
- * Get the entry's id
- *
- * @return the entry's id
- */
- public int getId() {
- return fId;
- }
-
- /**
- * Get the entry's trace
- *
- * @return the entry's trace
- */
- public @NonNull ITmfTrace getTrace() {
- return fTrace;
- }
-
- /**
- * Get the entry Type of this entry. Uses the inner Type enum.
- *
- * @return The entry type
- */
- public Type getType() {
- return fType;
- }
-
- /**
- * Retrieve the attribute quark that's represented by this entry.
- *
- * @return The integer quark The attribute quark matching the entry
- */
- public int getQuark() {
- return fQuark;
- }
-
- @Override
- public boolean hasTimeEvents() {
- if (fType == Type.NULL) {
- return false;
- }
- return true;
- }
-
- @Override
- public int compareTo(ITimeGraphEntry other) {
- if (!(other instanceof ResourcesEntry)) {
- /* Should not happen, but if it does, put those entries at the end */
- return -1;
- }
- ResourcesEntry o = (ResourcesEntry) other;
-
- /*
- * Resources entry names should all be of type "ABC 123"
- *
- * We want to filter on the Type first (the "ABC" part), then on the ID
- * ("123") in numerical order (so we get 1,2,10 and not 1,10,2).
- */
- int ret = this.getType().compareTo(o.getType());
- if (ret != 0) {
- return ret;
- }
- return Integer.compare(this.getId(), o.getId());
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.lttng2.kernel.ui/src/org/eclipse/linuxtools/internal/lttng2/kernel/ui/views/resources/ResourcesPresentationProvider.java b/lttng/org.eclipse.linuxtools.lttng2.kernel.ui/src/org/eclipse/linuxtools/internal/lttng2/kernel/ui/views/resources/ResourcesPresentationProvider.java
deleted file mode 100644
index fc326f501f..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.kernel.ui/src/org/eclipse/linuxtools/internal/lttng2/kernel/ui/views/resources/ResourcesPresentationProvider.java
+++ /dev/null
@@ -1,368 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2012, 2014 Ericsson, École Polytechnique de Montréal
- *
- * 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:
- * Patrick Tasse - Initial API and implementation
- * Geneviève Bastien - Move code to provide base classes for time graph view
- *******************************************************************************/
-
-package org.eclipse.linuxtools.internal.lttng2.kernel.ui.views.resources;
-
-import java.util.LinkedHashMap;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.linuxtools.internal.lttng2.kernel.core.Attributes;
-import org.eclipse.linuxtools.internal.lttng2.kernel.core.StateValues;
-import org.eclipse.linuxtools.internal.lttng2.kernel.ui.Activator;
-import org.eclipse.linuxtools.internal.lttng2.kernel.ui.Messages;
-import org.eclipse.linuxtools.internal.lttng2.kernel.ui.views.resources.ResourcesEntry.Type;
-import org.eclipse.linuxtools.lttng2.kernel.core.analysis.LttngKernelAnalysisModule;
-import org.eclipse.linuxtools.statesystem.core.ITmfStateSystem;
-import org.eclipse.linuxtools.statesystem.core.exceptions.AttributeNotFoundException;
-import org.eclipse.linuxtools.statesystem.core.exceptions.StateSystemDisposedException;
-import org.eclipse.linuxtools.statesystem.core.exceptions.StateValueTypeException;
-import org.eclipse.linuxtools.statesystem.core.exceptions.TimeRangeException;
-import org.eclipse.linuxtools.statesystem.core.interval.ITmfStateInterval;
-import org.eclipse.linuxtools.statesystem.core.statevalue.ITmfStateValue;
-import org.eclipse.linuxtools.tmf.core.statesystem.TmfStateSystemAnalysisModule;
-import org.eclipse.linuxtools.tmf.ui.widgets.timegraph.StateItem;
-import org.eclipse.linuxtools.tmf.ui.widgets.timegraph.TimeGraphPresentationProvider;
-import org.eclipse.linuxtools.tmf.ui.widgets.timegraph.model.ITimeEvent;
-import org.eclipse.linuxtools.tmf.ui.widgets.timegraph.model.ITimeGraphEntry;
-import org.eclipse.linuxtools.tmf.ui.widgets.timegraph.model.NullTimeEvent;
-import org.eclipse.linuxtools.tmf.ui.widgets.timegraph.model.TimeEvent;
-import org.eclipse.linuxtools.tmf.ui.widgets.timegraph.widgets.ITmfTimeGraphDrawingHelper;
-import org.eclipse.linuxtools.tmf.ui.widgets.timegraph.widgets.Utils;
-import org.eclipse.linuxtools.tmf.ui.widgets.timegraph.widgets.Utils.Resolution;
-import org.eclipse.linuxtools.tmf.ui.widgets.timegraph.widgets.Utils.TimeFormat;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.graphics.GC;
-import org.eclipse.swt.graphics.RGB;
-import org.eclipse.swt.graphics.Rectangle;
-
-/**
- * Presentation provider for the Resource view, based on the generic TMF
- * presentation provider.
- *
- * @author Patrick Tasse
- */
-public class ResourcesPresentationProvider extends TimeGraphPresentationProvider {
-
- private long fLastThreadId = -1;
- private Color fColorWhite;
- private Color fColorGray;
- private Integer fAverageCharWidth;
-
- private enum State {
- IDLE (new RGB(200, 200, 200)),
- USERMODE (new RGB( 0, 200, 0)),
- SYSCALL (new RGB( 0, 0, 200)),
- IRQ (new RGB(200, 0, 100)),
- SOFT_IRQ (new RGB(200, 150, 100)),
- IRQ_ACTIVE (new RGB(200, 0, 100)),
- SOFT_IRQ_RAISED (new RGB(200, 200, 0)),
- SOFT_IRQ_ACTIVE (new RGB(200, 150, 100));
-
- public final RGB rgb;
-
- private State(RGB rgb) {
- this.rgb = rgb;
- }
- }
-
- /**
- * Default constructor
- */
- public ResourcesPresentationProvider() {
- super();
- }
-
- private static State[] getStateValues() {
- return State.values();
- }
-
- private static State getEventState(TimeEvent event) {
- if (event.hasValue()) {
- ResourcesEntry entry = (ResourcesEntry) event.getEntry();
- int value = event.getValue();
-
- if (entry.getType() == Type.CPU) {
- if (value == StateValues.CPU_STATUS_IDLE) {
- return State.IDLE;
- } else if (value == StateValues.CPU_STATUS_RUN_USERMODE) {
- return State.USERMODE;
- } else if (value == StateValues.CPU_STATUS_RUN_SYSCALL) {
- return State.SYSCALL;
- } else if (value == StateValues.CPU_STATUS_IRQ) {
- return State.IRQ;
- } else if (value == StateValues.CPU_STATUS_SOFTIRQ) {
- return State.SOFT_IRQ;
- }
- } else if (entry.getType() == Type.IRQ) {
- return State.IRQ_ACTIVE;
- } else if (entry.getType() == Type.SOFT_IRQ) {
- if (value == StateValues.SOFT_IRQ_RAISED) {
- return State.SOFT_IRQ_RAISED;
- }
- return State.SOFT_IRQ_ACTIVE;
- }
- }
- return null;
- }
-
- @Override
- public int getStateTableIndex(ITimeEvent event) {
- State state = getEventState((TimeEvent) event);
- if (state != null) {
- return state.ordinal();
- }
- if (event instanceof NullTimeEvent) {
- return INVISIBLE;
- }
- return TRANSPARENT;
- }
-
- @Override
- public StateItem[] getStateTable() {
- State[] states = getStateValues();
- StateItem[] stateTable = new StateItem[states.length];
- for (int i = 0; i < stateTable.length; i++) {
- State state = states[i];
- stateTable[i] = new StateItem(state.rgb, state.toString());
- }
- return stateTable;
- }
-
- @Override
- public String getEventName(ITimeEvent event) {
- State state = getEventState((TimeEvent) event);
- if (state != null) {
- return state.toString();
- }
- if (event instanceof NullTimeEvent) {
- return null;
- }
- return Messages.ResourcesView_multipleStates;
- }
-
- @Override
- public Map<String, String> getEventHoverToolTipInfo(ITimeEvent event, long hoverTime) {
-
- Map<String, String> retMap = new LinkedHashMap<>();
- if (event instanceof TimeEvent && ((TimeEvent) event).hasValue()) {
-
- TimeEvent tcEvent = (TimeEvent) event;
- ResourcesEntry entry = (ResourcesEntry) event.getEntry();
-
- if (tcEvent.hasValue()) {
- ITmfStateSystem ss = TmfStateSystemAnalysisModule.getStateSystem(entry.getTrace(), LttngKernelAnalysisModule.ID);
- if (ss == null) {
- return retMap;
- }
- // Check for IRQ or Soft_IRQ type
- if (entry.getType().equals(Type.IRQ) || entry.getType().equals(Type.SOFT_IRQ)) {
-
- // Get CPU of IRQ or SoftIRQ and provide it for the tooltip display
- int cpu = tcEvent.getValue();
- if (cpu >= 0) {
- retMap.put(Messages.ResourcesView_attributeCpuName, String.valueOf(cpu));
- }
- }
-
- // Check for type CPU
- else if (entry.getType().equals(Type.CPU)) {
- int status = tcEvent.getValue();
-
- if (status == StateValues.CPU_STATUS_IRQ) {
- // In IRQ state get the IRQ that caused the interruption
- int cpu = entry.getId();
-
- try {
- List<ITmfStateInterval> fullState = ss.queryFullState(event.getTime());
- List<Integer> irqQuarks = ss.getQuarks(Attributes.RESOURCES, Attributes.IRQS, "*"); //$NON-NLS-1$
-
- for (int irqQuark : irqQuarks) {
- if (fullState.get(irqQuark).getStateValue().unboxInt() == cpu) {
- ITmfStateInterval value = ss.querySingleState(event.getTime(), irqQuark);
- if (!value.getStateValue().isNull()) {
- int irq = Integer.parseInt(ss.getAttributeName(irqQuark));
- retMap.put(Messages.ResourcesView_attributeIrqName, String.valueOf(irq));
- }
- break;
- }
- }
- } catch (AttributeNotFoundException | TimeRangeException | StateValueTypeException e) {
- Activator.getDefault().logError("Error in ResourcesPresentationProvider", e); //$NON-NLS-1$
- } catch (StateSystemDisposedException e) {
- /* Ignored */
- }
- } else if (status == StateValues.CPU_STATUS_SOFTIRQ) {
- // In SOFT_IRQ state get the SOFT_IRQ that caused the interruption
- int cpu = entry.getId();
-
- try {
- List<ITmfStateInterval> fullState = ss.queryFullState(event.getTime());
- List<Integer> softIrqQuarks = ss.getQuarks(Attributes.RESOURCES, Attributes.SOFT_IRQS, "*"); //$NON-NLS-1$
-
- for (int softIrqQuark : softIrqQuarks) {
- if (fullState.get(softIrqQuark).getStateValue().unboxInt() == cpu) {
- ITmfStateInterval value = ss.querySingleState(event.getTime(), softIrqQuark);
- if (!value.getStateValue().isNull()) {
- int softIrq = Integer.parseInt(ss.getAttributeName(softIrqQuark));
- retMap.put(Messages.ResourcesView_attributeSoftIrqName, String.valueOf(softIrq));
- }
- break;
- }
- }
- } catch (AttributeNotFoundException | TimeRangeException | StateValueTypeException e) {
- Activator.getDefault().logError("Error in ResourcesPresentationProvider", e); //$NON-NLS-1$
- } catch (StateSystemDisposedException e) {
- /* Ignored */
- }
- } else if (status == StateValues.CPU_STATUS_RUN_USERMODE || status == StateValues.CPU_STATUS_RUN_SYSCALL) {
- // In running state get the current tid
-
- try {
- retMap.put(Messages.ResourcesView_attributeHoverTime, Utils.formatTime(hoverTime, TimeFormat.CALENDAR, Resolution.NANOSEC));
- int cpuQuark = entry.getQuark();
- int currentThreadQuark = ss.getQuarkRelative(cpuQuark, Attributes.CURRENT_THREAD);
- ITmfStateInterval interval = ss.querySingleState(hoverTime, currentThreadQuark);
- if (!interval.getStateValue().isNull()) {
- ITmfStateValue value = interval.getStateValue();
- int currentThreadId = value.unboxInt();
- retMap.put(Messages.ResourcesView_attributeTidName, Integer.toString(currentThreadId));
- int execNameQuark = ss.getQuarkAbsolute(Attributes.THREADS, Integer.toString(currentThreadId), Attributes.EXEC_NAME);
- interval = ss.querySingleState(hoverTime, execNameQuark);
- if (!interval.getStateValue().isNull()) {
- value = interval.getStateValue();
- retMap.put(Messages.ResourcesView_attributeProcessName, value.unboxStr());
- }
- if (status == StateValues.CPU_STATUS_RUN_SYSCALL) {
- int syscallQuark = ss.getQuarkAbsolute(Attributes.THREADS, Integer.toString(currentThreadId), Attributes.SYSTEM_CALL);
- interval = ss.querySingleState(hoverTime, syscallQuark);
- if (!interval.getStateValue().isNull()) {
- value = interval.getStateValue();
- retMap.put(Messages.ResourcesView_attributeSyscallName, value.unboxStr());
- }
- }
- }
- } catch (AttributeNotFoundException | TimeRangeException | StateValueTypeException e) {
- Activator.getDefault().logError("Error in ResourcesPresentationProvider", e); //$NON-NLS-1$
- } catch (StateSystemDisposedException e) {
- /* Ignored */
- }
- }
- }
- }
- }
-
- return retMap;
- }
-
- @Override
- public void postDrawEvent(ITimeEvent event, Rectangle bounds, GC gc) {
- if (fColorGray == null) {
- fColorGray = gc.getDevice().getSystemColor(SWT.COLOR_GRAY);
- }
- if (fColorWhite == null) {
- fColorWhite = gc.getDevice().getSystemColor(SWT.COLOR_WHITE);
- }
- if (fAverageCharWidth == null) {
- fAverageCharWidth = gc.getFontMetrics().getAverageCharWidth();
- }
-
- ITmfTimeGraphDrawingHelper drawingHelper = getDrawingHelper();
- if (bounds.width <= fAverageCharWidth) {
- return;
- }
-
- if (!(event instanceof TimeEvent)) {
- return;
- }
- TimeEvent tcEvent = (TimeEvent) event;
- if (!tcEvent.hasValue()) {
- return;
- }
-
- ResourcesEntry entry = (ResourcesEntry) event.getEntry();
- if (!entry.getType().equals(Type.CPU)) {
- return;
- }
-
- int status = tcEvent.getValue();
- if (status != StateValues.CPU_STATUS_RUN_USERMODE && status != StateValues.CPU_STATUS_RUN_SYSCALL) {
- return;
- }
-
- ITmfStateSystem ss = TmfStateSystemAnalysisModule.getStateSystem(entry.getTrace(), LttngKernelAnalysisModule.ID);
- if (ss == null) {
- return;
- }
- long time = event.getTime();
- try {
- while (time < event.getTime() + event.getDuration()) {
- int cpuQuark = entry.getQuark();
- int currentThreadQuark = ss.getQuarkRelative(cpuQuark, Attributes.CURRENT_THREAD);
- ITmfStateInterval tidInterval = ss.querySingleState(time, currentThreadQuark);
- long startTime = Math.max(tidInterval.getStartTime(), event.getTime());
- int x = Math.max(drawingHelper.getXForTime(startTime), bounds.x);
- if (x >= bounds.x + bounds.width) {
- break;
- }
- if (!tidInterval.getStateValue().isNull()) {
- ITmfStateValue value = tidInterval.getStateValue();
- int currentThreadId = value.unboxInt();
- long endTime = Math.min(tidInterval.getEndTime() + 1, event.getTime() + event.getDuration());
- int xForEndTime = drawingHelper.getXForTime(endTime);
- if (xForEndTime > bounds.x) {
- int width = Math.min(xForEndTime, bounds.x + bounds.width) - x - 1;
- if (width > 0) {
- String attribute = null;
- int beginIndex = 0;
- if (status == StateValues.CPU_STATUS_RUN_USERMODE && currentThreadId != fLastThreadId) {
- attribute = Attributes.EXEC_NAME;
- } else if (status == StateValues.CPU_STATUS_RUN_SYSCALL) {
- attribute = Attributes.SYSTEM_CALL;
- beginIndex = 4; // skip the 'sys_'
- }
- if (attribute != null) {
- int quark = ss.getQuarkAbsolute(Attributes.THREADS, Integer.toString(currentThreadId), attribute);
- ITmfStateInterval interval = ss.querySingleState(time, quark);
- if (!interval.getStateValue().isNull()) {
- value = interval.getStateValue();
- gc.setForeground(fColorWhite);
- int drawn = Utils.drawText(gc, value.unboxStr().substring(beginIndex), x + 1, bounds.y - 2, width, true, true);
- if (drawn > 0) {
- fLastThreadId = currentThreadId;
- }
- }
- }
- if (xForEndTime < bounds.x + bounds.width) {
- gc.setForeground(fColorGray);
- gc.drawLine(xForEndTime, bounds.y + 1, xForEndTime, bounds.y + bounds.height - 2);
- }
- }
- }
- }
- // make sure next time is at least at the next pixel
- time = Math.max(tidInterval.getEndTime() + 1, drawingHelper.getTimeAtX(x + 1));
- }
- } catch (AttributeNotFoundException | TimeRangeException | StateValueTypeException e) {
- Activator.getDefault().logError("Error in ResourcesPresentationProvider", e); //$NON-NLS-1$
- } catch (StateSystemDisposedException e) {
- /* Ignored */
- }
- }
-
- @Override
- public void postDrawEntry(ITimeGraphEntry entry, Rectangle bounds, GC gc) {
- fLastThreadId = -1;
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.lttng2.kernel.ui/src/org/eclipse/linuxtools/internal/lttng2/kernel/ui/views/resources/ResourcesView.java b/lttng/org.eclipse.linuxtools.lttng2.kernel.ui/src/org/eclipse/linuxtools/internal/lttng2/kernel/ui/views/resources/ResourcesView.java
deleted file mode 100644
index 798a0e49c9..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.kernel.ui/src/org/eclipse/linuxtools/internal/lttng2/kernel/ui/views/resources/ResourcesView.java
+++ /dev/null
@@ -1,321 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2012, 2014 Ericsson, École Polytechnique de Montréal
- *
- * 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:
- * Patrick Tasse - Initial API and implementation
- * Geneviève Bastien - Move code to provide base classes for time graph views
- *******************************************************************************/
-
-package org.eclipse.linuxtools.internal.lttng2.kernel.ui.views.resources;
-
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.Comparator;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.jdt.annotation.Nullable;
-import org.eclipse.linuxtools.internal.lttng2.kernel.core.Attributes;
-import org.eclipse.linuxtools.internal.lttng2.kernel.ui.Messages;
-import org.eclipse.linuxtools.internal.lttng2.kernel.ui.views.resources.ResourcesEntry.Type;
-import org.eclipse.linuxtools.lttng2.kernel.core.analysis.LttngKernelAnalysisModule;
-import org.eclipse.linuxtools.statesystem.core.ITmfStateSystem;
-import org.eclipse.linuxtools.statesystem.core.exceptions.AttributeNotFoundException;
-import org.eclipse.linuxtools.statesystem.core.exceptions.StateSystemDisposedException;
-import org.eclipse.linuxtools.statesystem.core.exceptions.StateValueTypeException;
-import org.eclipse.linuxtools.statesystem.core.exceptions.TimeRangeException;
-import org.eclipse.linuxtools.statesystem.core.interval.ITmfStateInterval;
-import org.eclipse.linuxtools.tmf.core.statesystem.TmfStateSystemAnalysisModule;
-import org.eclipse.linuxtools.tmf.core.trace.ITmfTrace;
-import org.eclipse.linuxtools.tmf.ui.views.timegraph.AbstractTimeGraphView;
-import org.eclipse.linuxtools.tmf.ui.widgets.timegraph.model.ITimeEvent;
-import org.eclipse.linuxtools.tmf.ui.widgets.timegraph.model.ITimeGraphEntry;
-import org.eclipse.linuxtools.tmf.ui.widgets.timegraph.model.NullTimeEvent;
-import org.eclipse.linuxtools.tmf.ui.widgets.timegraph.model.TimeEvent;
-import org.eclipse.linuxtools.tmf.ui.widgets.timegraph.model.TimeGraphEntry;
-
-/**
- * Main implementation for the LTTng 2.0 kernel Resource view
- *
- * @author Patrick Tasse
- */
-public class ResourcesView extends AbstractTimeGraphView {
-
- /** View ID. */
- public static final String ID = "org.eclipse.linuxtools.lttng2.kernel.ui.views.resources"; //$NON-NLS-1$
-
- private static final String[] FILTER_COLUMN_NAMES = new String[] {
- Messages.ResourcesView_stateTypeName
- };
-
- // Timeout between updates in the build thread in ms
- private static final long BUILD_UPDATE_TIMEOUT = 500;
-
- // ------------------------------------------------------------------------
- // Constructors
- // ------------------------------------------------------------------------
-
- /**
- * Default constructor
- */
- public ResourcesView() {
- super(ID, new ResourcesPresentationProvider());
- setFilterColumns(FILTER_COLUMN_NAMES);
- }
-
- // ------------------------------------------------------------------------
- // Internal
- // ------------------------------------------------------------------------
-
- @Override
- protected String getNextText() {
- return Messages.ResourcesView_nextResourceActionNameText;
- }
-
- @Override
- protected String getNextTooltip() {
- return Messages.ResourcesView_nextResourceActionToolTipText;
- }
-
- @Override
- protected String getPrevText() {
- return Messages.ResourcesView_previousResourceActionNameText;
- }
-
- @Override
- protected String getPrevTooltip() {
- return Messages.ResourcesView_previousResourceActionToolTipText;
- }
-
- @Override
- protected void buildEventList(ITmfTrace trace, ITmfTrace parentTrace, IProgressMonitor monitor) {
- if (trace == null) {
- return;
- }
- ITmfStateSystem ssq = TmfStateSystemAnalysisModule.getStateSystem(trace, LttngKernelAnalysisModule.ID);
- if (ssq == null) {
- return;
- }
- Comparator<ITimeGraphEntry> comparator = new Comparator<ITimeGraphEntry>() {
- @Override
- public int compare(ITimeGraphEntry o1, ITimeGraphEntry o2) {
- return ((ResourcesEntry) o1).compareTo(o2);
- }
- };
-
- Map<Integer, ResourcesEntry> entryMap = new HashMap<>();
- TimeGraphEntry traceEntry = null;
-
- long startTime = ssq.getStartTime();
- long start = startTime;
- setStartTime(Math.min(getStartTime(), startTime));
- boolean complete = false;
- while (!complete) {
- if (monitor.isCanceled()) {
- return;
- }
- complete = ssq.waitUntilBuilt(BUILD_UPDATE_TIMEOUT);
- if (ssq.isCancelled()) {
- return;
- }
- long end = ssq.getCurrentEndTime();
- if (start == end && !complete) { // when complete execute one last time regardless of end time
- continue;
- }
- long endTime = end + 1;
- setEndTime(Math.max(getEndTime(), endTime));
-
- if (traceEntry == null) {
- traceEntry = new ResourcesEntry(trace, trace.getName(), startTime, endTime, 0);
- traceEntry.sortChildren(comparator);
- List<TimeGraphEntry> entryList = Collections.singletonList(traceEntry);
- addToEntryList(parentTrace, entryList);
- } else {
- traceEntry.updateEndTime(endTime);
- }
-
- List<Integer> cpuQuarks = ssq.getQuarks(Attributes.CPUS, "*"); //$NON-NLS-1$
- for (Integer cpuQuark : cpuQuarks) {
- int cpu = Integer.parseInt(ssq.getAttributeName(cpuQuark));
- ResourcesEntry entry = entryMap.get(cpuQuark);
- if (entry == null) {
- entry = new ResourcesEntry(cpuQuark, trace, startTime, endTime, Type.CPU, cpu);
- entryMap.put(cpuQuark, entry);
- traceEntry.addChild(entry);
- } else {
- entry.updateEndTime(endTime);
- }
- }
- List<Integer> irqQuarks = ssq.getQuarks(Attributes.RESOURCES, Attributes.IRQS, "*"); //$NON-NLS-1$
- for (Integer irqQuark : irqQuarks) {
- int irq = Integer.parseInt(ssq.getAttributeName(irqQuark));
- ResourcesEntry entry = entryMap.get(irqQuark);
- if (entry == null) {
- entry = new ResourcesEntry(irqQuark, trace, startTime, endTime, Type.IRQ, irq);
- entryMap.put(irqQuark, entry);
- traceEntry.addChild(entry);
- } else {
- entry.updateEndTime(endTime);
- }
- }
- List<Integer> softIrqQuarks = ssq.getQuarks(Attributes.RESOURCES, Attributes.SOFT_IRQS, "*"); //$NON-NLS-1$
- for (Integer softIrqQuark : softIrqQuarks) {
- int softIrq = Integer.parseInt(ssq.getAttributeName(softIrqQuark));
- ResourcesEntry entry = entryMap.get(softIrqQuark);
- if (entry == null) {
- entry = new ResourcesEntry(softIrqQuark, trace, startTime, endTime, Type.SOFT_IRQ, softIrq);
- entryMap.put(softIrqQuark, entry);
- traceEntry.addChild(entry);
- } else {
- entry.updateEndTime(endTime);
- }
- }
-
- if (parentTrace.equals(getTrace())) {
- refresh();
- }
- long resolution = Math.max(1, (endTime - ssq.getStartTime()) / getDisplayWidth());
- for (ITimeGraphEntry child : traceEntry.getChildren()) {
- if (monitor.isCanceled()) {
- return;
- }
- if (child instanceof TimeGraphEntry) {
- TimeGraphEntry entry = (TimeGraphEntry) child;
- List<ITimeEvent> eventList = getEventList(entry, start, endTime, resolution, monitor);
- if (eventList != null) {
- for (ITimeEvent event : eventList) {
- entry.addEvent(event);
- }
- }
- redraw();
- }
- }
-
- start = end;
- }
- }
-
- @Override
- protected @Nullable List<ITimeEvent> getEventList(TimeGraphEntry entry,
- long startTime, long endTime, long resolution,
- IProgressMonitor monitor) {
- ResourcesEntry resourcesEntry = (ResourcesEntry) entry;
- ITmfStateSystem ssq = TmfStateSystemAnalysisModule.getStateSystem(resourcesEntry.getTrace(), LttngKernelAnalysisModule.ID);
- if (ssq == null) {
- return null;
- }
- final long realStart = Math.max(startTime, ssq.getStartTime());
- final long realEnd = Math.min(endTime, ssq.getCurrentEndTime() + 1);
- if (realEnd <= realStart) {
- return null;
- }
- List<ITimeEvent> eventList = null;
- int quark = resourcesEntry.getQuark();
-
- try {
- if (resourcesEntry.getType().equals(Type.CPU)) {
- int statusQuark = ssq.getQuarkRelative(quark, Attributes.STATUS);
- List<ITmfStateInterval> statusIntervals = ssq.queryHistoryRange(statusQuark, realStart, realEnd - 1, resolution, monitor);
- eventList = new ArrayList<>(statusIntervals.size());
- long lastEndTime = -1;
- for (ITmfStateInterval statusInterval : statusIntervals) {
- if (monitor.isCanceled()) {
- return null;
- }
- int status = statusInterval.getStateValue().unboxInt();
- long time = statusInterval.getStartTime();
- long duration = statusInterval.getEndTime() - time + 1;
- if (!statusInterval.getStateValue().isNull()) {
- if (lastEndTime != time && lastEndTime != -1) {
- eventList.add(new TimeEvent(entry, lastEndTime, time - lastEndTime));
- }
- eventList.add(new TimeEvent(entry, time, duration, status));
- } else if (lastEndTime == -1 || time + duration >= endTime) {
- // add null event if it intersects the start or end time
- eventList.add(new NullTimeEvent(entry, time, duration));
- }
- lastEndTime = time + duration;
- }
- } else if (resourcesEntry.getType().equals(Type.IRQ)) {
- List<ITmfStateInterval> irqIntervals = ssq.queryHistoryRange(quark, realStart, realEnd - 1, resolution, monitor);
- eventList = new ArrayList<>(irqIntervals.size());
- long lastEndTime = -1;
- boolean lastIsNull = true;
- for (ITmfStateInterval irqInterval : irqIntervals) {
- if (monitor.isCanceled()) {
- return null;
- }
- long time = irqInterval.getStartTime();
- long duration = irqInterval.getEndTime() - time + 1;
- if (!irqInterval.getStateValue().isNull()) {
- int cpu = irqInterval.getStateValue().unboxInt();
- eventList.add(new TimeEvent(entry, time, duration, cpu));
- lastIsNull = false;
- } else {
- if (lastEndTime == -1) {
- // add null event if it intersects the start time
- eventList.add(new NullTimeEvent(entry, time, duration));
- } else {
- if (lastEndTime != time && lastIsNull) {
- /* This is a special case where we want to show IRQ_ACTIVE state but we don't know the CPU (it is between two null samples) */
- eventList.add(new TimeEvent(entry, lastEndTime, time - lastEndTime, -1));
- }
- if (time + duration >= endTime) {
- // add null event if it intersects the end time
- eventList.add(new NullTimeEvent(entry, time, duration));
- }
- }
- lastIsNull = true;
- }
- lastEndTime = time + duration;
- }
- } else if (resourcesEntry.getType().equals(Type.SOFT_IRQ)) {
- List<ITmfStateInterval> softIrqIntervals = ssq.queryHistoryRange(quark, realStart, realEnd - 1, resolution, monitor);
- eventList = new ArrayList<>(softIrqIntervals.size());
- long lastEndTime = -1;
- boolean lastIsNull = true;
- for (ITmfStateInterval softIrqInterval : softIrqIntervals) {
- if (monitor.isCanceled()) {
- return null;
- }
- long time = softIrqInterval.getStartTime();
- long duration = softIrqInterval.getEndTime() - time + 1;
- if (!softIrqInterval.getStateValue().isNull()) {
- int cpu = softIrqInterval.getStateValue().unboxInt();
- eventList.add(new TimeEvent(entry, time, duration, cpu));
- } else {
- if (lastEndTime == -1) {
- // add null event if it intersects the start time
- eventList.add(new NullTimeEvent(entry, time, duration));
- } else {
- if (lastEndTime != time && lastIsNull) {
- /* This is a special case where we want to show IRQ_ACTIVE state but we don't know the CPU (it is between two null samples) */
- eventList.add(new TimeEvent(entry, lastEndTime, time - lastEndTime, -1));
- }
- if (time + duration >= endTime) {
- // add null event if it intersects the end time
- eventList.add(new NullTimeEvent(entry, time, duration));
- }
- }
- lastIsNull = true;
- }
- lastEndTime = time + duration;
- }
- }
-
- } catch (AttributeNotFoundException | TimeRangeException | StateValueTypeException e) {
- e.printStackTrace();
- } catch (StateSystemDisposedException e) {
- /* Ignored */
- }
- return eventList;
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.lttng2.kernel/.project b/lttng/org.eclipse.linuxtools.lttng2.kernel/.project
deleted file mode 100644
index 145c653648..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.kernel/.project
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>org.eclipse.linuxtools.lttng2.kernel</name>
- <comment></comment>
- <projects>
- </projects>
- <buildSpec>
- <buildCommand>
- <name>org.eclipse.pde.FeatureBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>org.eclipse.pde.FeatureNature</nature>
- </natures>
-</projectDescription>
diff --git a/lttng/org.eclipse.linuxtools.lttng2.kernel/.settings/org.eclipse.core.resources.prefs b/lttng/org.eclipse.linuxtools.lttng2.kernel/.settings/org.eclipse.core.resources.prefs
deleted file mode 100644
index 99f26c0203..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.kernel/.settings/org.eclipse.core.resources.prefs
+++ /dev/null
@@ -1,2 +0,0 @@
-eclipse.preferences.version=1
-encoding/<project>=UTF-8
diff --git a/lttng/org.eclipse.linuxtools.lttng2.kernel/.settings/org.eclipse.core.runtime.prefs b/lttng/org.eclipse.linuxtools.lttng2.kernel/.settings/org.eclipse.core.runtime.prefs
deleted file mode 100644
index 5a0ad22d2a..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.kernel/.settings/org.eclipse.core.runtime.prefs
+++ /dev/null
@@ -1,2 +0,0 @@
-eclipse.preferences.version=1
-line.separator=\n
diff --git a/lttng/org.eclipse.linuxtools.lttng2.kernel/build.properties b/lttng/org.eclipse.linuxtools.lttng2.kernel/build.properties
deleted file mode 100644
index c0db4e0a72..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.kernel/build.properties
+++ /dev/null
@@ -1,15 +0,0 @@
-###############################################################################
-# Copyright (c) 2013 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:
-# Ericsson - Initial API and implementation
-###############################################################################
-
-bin.includes = feature.xml,\
- feature.properties,\
- p2.inf
diff --git a/lttng/org.eclipse.linuxtools.lttng2.kernel/epl-v10.html b/lttng/org.eclipse.linuxtools.lttng2.kernel/epl-v10.html
deleted file mode 100644
index 9321f4082e..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.kernel/epl-v10.html
+++ /dev/null
@@ -1,256 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head>
-
-
-
-
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>Eclipse Public License - Version 1.0</title>
-
-<style type="text/css">
- body {
- size: 8.5in 11.0in;
- margin: 0.25in 0.5in 0.25in 0.5in;
- tab-interval: 0.5in;
- }
- p {
- margin-left: auto;
- margin-top: 0.5em;
- margin-bottom: 0.5em;
- }
- p.list {
- margin-left: 0.5in;
- margin-top: 0.05em;
- margin-bottom: 0.05em;
- }
- </style></head><body lang="EN-US">
-
-<p align="center"><b>Eclipse Public License - v 1.0</b></p>
-
-<p>THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE
-PUBLIC LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR
-DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS
-AGREEMENT.</p>
-
-<p><b>1. DEFINITIONS</b></p>
-
-<p>"Contribution" means:</p>
-
-<p class="list">a) in the case of the initial Contributor, the initial
-code and documentation distributed under this Agreement, and</p>
-<p class="list">b) in the case of each subsequent Contributor:</p>
-<p class="list">i) changes to the Program, and</p>
-<p class="list">ii) additions to the Program;</p>
-<p class="list">where such changes and/or additions to the Program
-originate from and are distributed by that particular Contributor. A
-Contribution 'originates' from a Contributor if it was added to the
-Program by such Contributor itself or anyone acting on such
-Contributor's behalf. Contributions do not include additions to the
-Program which: (i) are separate modules of software distributed in
-conjunction with the Program under their own license agreement, and (ii)
-are not derivative works of the Program.</p>
-
-<p>"Contributor" means any person or entity that distributes
-the Program.</p>
-
-<p>"Licensed Patents" mean patent claims licensable by a
-Contributor which are necessarily infringed by the use or sale of its
-Contribution alone or when combined with the Program.</p>
-
-<p>"Program" means the Contributions distributed in accordance
-with this Agreement.</p>
-
-<p>"Recipient" means anyone who receives the Program under
-this Agreement, including all Contributors.</p>
-
-<p><b>2. GRANT OF RIGHTS</b></p>
-
-<p class="list">a) Subject to the terms of this Agreement, each
-Contributor hereby grants Recipient a non-exclusive, worldwide,
-royalty-free copyright license to reproduce, prepare derivative works
-of, publicly display, publicly perform, distribute and sublicense the
-Contribution of such Contributor, if any, and such derivative works, in
-source code and object code form.</p>
-
-<p class="list">b) Subject to the terms of this Agreement, each
-Contributor hereby grants Recipient a non-exclusive, worldwide,
-royalty-free patent license under Licensed Patents to make, use, sell,
-offer to sell, import and otherwise transfer the Contribution of such
-Contributor, if any, in source code and object code form. This patent
-license shall apply to the combination of the Contribution and the
-Program if, at the time the Contribution is added by the Contributor,
-such addition of the Contribution causes such combination to be covered
-by the Licensed Patents. The patent license shall not apply to any other
-combinations which include the Contribution. No hardware per se is
-licensed hereunder.</p>
-
-<p class="list">c) Recipient understands that although each Contributor
-grants the licenses to its Contributions set forth herein, no assurances
-are provided by any Contributor that the Program does not infringe the
-patent or other intellectual property rights of any other entity. Each
-Contributor disclaims any liability to Recipient for claims brought by
-any other entity based on infringement of intellectual property rights
-or otherwise. As a condition to exercising the rights and licenses
-granted hereunder, each Recipient hereby assumes sole responsibility to
-secure any other intellectual property rights needed, if any. For
-example, if a third party patent license is required to allow Recipient
-to distribute the Program, it is Recipient's responsibility to acquire
-that license before distributing the Program.</p>
-
-<p class="list">d) Each Contributor represents that to its knowledge it
-has sufficient copyright rights in its Contribution, if any, to grant
-the copyright license set forth in this Agreement.</p>
-
-<p><b>3. REQUIREMENTS</b></p>
-
-<p>A Contributor may choose to distribute the Program in object code
-form under its own license agreement, provided that:</p>
-
-<p class="list">a) it complies with the terms and conditions of this
-Agreement; and</p>
-
-<p class="list">b) its license agreement:</p>
-
-<p class="list">i) effectively disclaims on behalf of all Contributors
-all warranties and conditions, express and implied, including warranties
-or conditions of title and non-infringement, and implied warranties or
-conditions of merchantability and fitness for a particular purpose;</p>
-
-<p class="list">ii) effectively excludes on behalf of all Contributors
-all liability for damages, including direct, indirect, special,
-incidental and consequential damages, such as lost profits;</p>
-
-<p class="list">iii) states that any provisions which differ from this
-Agreement are offered by that Contributor alone and not by any other
-party; and</p>
-
-<p class="list">iv) states that source code for the Program is available
-from such Contributor, and informs licensees how to obtain it in a
-reasonable manner on or through a medium customarily used for software
-exchange.</p>
-
-<p>When the Program is made available in source code form:</p>
-
-<p class="list">a) it must be made available under this Agreement; and</p>
-
-<p class="list">b) a copy of this Agreement must be included with each
-copy of the Program.</p>
-
-<p>Contributors may not remove or alter any copyright notices contained
-within the Program.</p>
-
-<p>Each Contributor must identify itself as the originator of its
-Contribution, if any, in a manner that reasonably allows subsequent
-Recipients to identify the originator of the Contribution.</p>
-
-<p><b>4. COMMERCIAL DISTRIBUTION</b></p>
-
-<p>Commercial distributors of software may accept certain
-responsibilities with respect to end users, business partners and the
-like. While this license is intended to facilitate the commercial use of
-the Program, the Contributor who includes the Program in a commercial
-product offering should do so in a manner which does not create
-potential liability for other Contributors. Therefore, if a Contributor
-includes the Program in a commercial product offering, such Contributor
-("Commercial Contributor") hereby agrees to defend and
-indemnify every other Contributor ("Indemnified Contributor")
-against any losses, damages and costs (collectively "Losses")
-arising from claims, lawsuits and other legal actions brought by a third
-party against the Indemnified Contributor to the extent caused by the
-acts or omissions of such Commercial Contributor in connection with its
-distribution of the Program in a commercial product offering. The
-obligations in this section do not apply to any claims or Losses
-relating to any actual or alleged intellectual property infringement. In
-order to qualify, an Indemnified Contributor must: a) promptly notify
-the Commercial Contributor in writing of such claim, and b) allow the
-Commercial Contributor to control, and cooperate with the Commercial
-Contributor in, the defense and any related settlement negotiations. The
-Indemnified Contributor may participate in any such claim at its own
-expense.</p>
-
-<p>For example, a Contributor might include the Program in a commercial
-product offering, Product X. That Contributor is then a Commercial
-Contributor. If that Commercial Contributor then makes performance
-claims, or offers warranties related to Product X, those performance
-claims and warranties are such Commercial Contributor's responsibility
-alone. Under this section, the Commercial Contributor would have to
-defend claims against the other Contributors related to those
-performance claims and warranties, and if a court requires any other
-Contributor to pay any damages as a result, the Commercial Contributor
-must pay those damages.</p>
-
-<p><b>5. NO WARRANTY</b></p>
-
-<p>EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS
-PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS
-OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION,
-ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY
-OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely
-responsible for determining the appropriateness of using and
-distributing the Program and assumes all risks associated with its
-exercise of rights under this Agreement , including but not limited to
-the risks and costs of program errors, compliance with applicable laws,
-damage to or loss of data, programs or equipment, and unavailability or
-interruption of operations.</p>
-
-<p><b>6. DISCLAIMER OF LIABILITY</b></p>
-
-<p>EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT
-NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT,
-INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING
-WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY OF
-LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
-NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR
-DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED
-HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.</p>
-
-<p><b>7. GENERAL</b></p>
-
-<p>If any provision of this Agreement is invalid or unenforceable under
-applicable law, it shall not affect the validity or enforceability of
-the remainder of the terms of this Agreement, and without further action
-by the parties hereto, such provision shall be reformed to the minimum
-extent necessary to make such provision valid and enforceable.</p>
-
-<p>If Recipient institutes patent litigation against any entity
-(including a cross-claim or counterclaim in a lawsuit) alleging that the
-Program itself (excluding combinations of the Program with other
-software or hardware) infringes such Recipient's patent(s), then such
-Recipient's rights granted under Section 2(b) shall terminate as of the
-date such litigation is filed.</p>
-
-<p>All Recipient's rights under this Agreement shall terminate if it
-fails to comply with any of the material terms or conditions of this
-Agreement and does not cure such failure in a reasonable period of time
-after becoming aware of such noncompliance. If all Recipient's rights
-under this Agreement terminate, Recipient agrees to cease use and
-distribution of the Program as soon as reasonably practicable. However,
-Recipient's obligations under this Agreement and any licenses granted by
-Recipient relating to the Program shall continue and survive.</p>
-
-<p>Everyone is permitted to copy and distribute copies of this
-Agreement, but in order to avoid inconsistency the Agreement is
-copyrighted and may only be modified in the following manner. The
-Agreement Steward reserves the right to publish new versions (including
-revisions) of this Agreement from time to time. No one other than the
-Agreement Steward has the right to modify this Agreement. The Eclipse
-Foundation is the initial Agreement Steward. The Eclipse Foundation may
-assign the responsibility to serve as the Agreement Steward to a
-suitable separate entity. Each new version of the Agreement will be
-given a distinguishing version number. The Program (including
-Contributions) may always be distributed subject to the version of the
-Agreement under which it was received. In addition, after a new version
-of the Agreement is published, Contributor may elect to distribute the
-Program (including its Contributions) under the new version. Except as
-expressly stated in Sections 2(a) and 2(b) above, Recipient receives no
-rights or licenses to the intellectual property of any Contributor under
-this Agreement, whether expressly, by implication, estoppel or
-otherwise. All rights in the Program not expressly granted under this
-Agreement are reserved.</p>
-
-<p>This Agreement is governed by the laws of the State of New York and
-the intellectual property laws of the United States of America. No party
-to this Agreement will bring a legal action under this Agreement more
-than one year after the cause of action arose. Each party waives its
-rights to a jury trial in any resulting litigation.</p>
-
-</body></html> \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.lttng2.kernel/feature.properties b/lttng/org.eclipse.linuxtools.lttng2.kernel/feature.properties
deleted file mode 100644
index 00d592ccb2..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.kernel/feature.properties
+++ /dev/null
@@ -1,22 +0,0 @@
-###############################################################################
-# Copyright (c) 2009, 2013 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:
-# Ericsson - Initial API and implementation
-###############################################################################
-
-featureName=LTTng Kernel Analysis
-
-description=Plug-ins to integrate LTTng kernel analysis tools into the workbench. \
-Includes the LTTng (Linux Tracing Toolkit), TMF (Tracing and Monitoring Framework) \
-and CTF (Common Trace Format) features.
-
-featureProvider=Eclipse Linux Tools
-
-copyright=Copyright 2013 Ericsson
-
diff --git a/lttng/org.eclipse.linuxtools.lttng2.kernel/feature.xml b/lttng/org.eclipse.linuxtools.lttng2.kernel/feature.xml
deleted file mode 100644
index ad807f25ff..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.kernel/feature.xml
+++ /dev/null
@@ -1,71 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- For PDE build, remove "ws" and "arch" -->
-<feature
- id="org.eclipse.linuxtools.lttng2.kernel"
- label="%featureName"
- version="3.2.0.qualifier"
- provider-name="%featureProvider"
- license-feature="org.eclipse.license"
- license-feature-version="0.0.0">
-
- <description>
- %description
- </description>
-
- <copyright>
- %copyright
- </copyright>
-
- <license url="%licenseURL">
- %license
- </license>
-
- <url>
- <update label="Linux Tools Update Site" url="http://download.eclipse.org/linuxtools/update"/>
- </url>
-
- <includes
- id="org.eclipse.linuxtools.lttng2.control"
- version="0.0.0"
- name="Linux Tracing Toolkit next generation (LTTng)"/>
-
- <includes
- id="org.eclipse.linuxtools.tmf.ctf"
- version="0.0.0"
- name="CTF Support for TMF"/>
-
- <requires>
- <import plugin="org.eclipse.core.runtime"/>
- <import plugin="org.eclipse.core.resources"/>
- <import plugin="org.eclipse.linuxtools.ctf.core" version="3.1.0" match="greaterOrEqual"/>
- <import plugin="org.eclipse.linuxtools.tmf.core" version="3.1.0" match="greaterOrEqual"/>
- <import plugin="org.eclipse.ui"/>
- <import plugin="org.eclipse.ui.ide"/>
- <import plugin="org.eclipse.linuxtools.tmf.ui" version="3.1.0" match="greaterOrEqual"/>
- <import plugin="org.eclipse.linuxtools.lttng2.control.core" version="3.1.0" match="greaterOrEqual"/>
- <import plugin="org.eclipse.linuxtools.lttng2.control.ui" version="3.1.0" match="greaterOrEqual"/>
- <import plugin="org.eclipse.linuxtools.lttng2.kernel.core" version="3.1.0" match="greaterOrEqual"/>
- <import plugin="org.eclipse.help"/>
- </requires>
-
- <plugin
- id="org.eclipse.linuxtools.lttng2.kernel.core"
- download-size="0"
- install-size="0"
- version="0.0.0"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.linuxtools.lttng2.kernel.ui"
- download-size="0"
- install-size="0"
- version="0.0.0"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.linuxtools.lttng.help"
- download-size="0"
- install-size="0"
- version="0.0.0"/>
-
-</feature>
diff --git a/lttng/org.eclipse.linuxtools.lttng2.kernel/license.html b/lttng/org.eclipse.linuxtools.lttng2.kernel/license.html
deleted file mode 100644
index 6e579a585b..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.kernel/license.html
+++ /dev/null
@@ -1,164 +0,0 @@
-<!--?xml version="1.0" encoding="ISO-8859-1" ?-->
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<title>Eclipse Foundation Software User Agreement</title>
-</head>
-
-<body lang="EN-US">
-<h2>Eclipse Foundation Software User Agreement</h2>
-<p>February 1, 2011</p>
-
-<h3>Usage Of Content</h3>
-
-<p>THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR OTHER MATERIALS FOR OPEN SOURCE PROJECTS
- (COLLECTIVELY "CONTENT"). USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS AGREEMENT AND/OR THE TERMS AND
- CONDITIONS OF LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU AGREE THAT YOUR USE
- OF THE CONTENT IS GOVERNED BY THIS AGREEMENT AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR
- NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND
- CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW, THEN YOU MAY NOT USE THE CONTENT.</p>
-
-<h3>Applicable Licenses</h3>
-
-<p>Unless otherwise indicated, all Content made available by the Eclipse
- Foundation is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0
- ("EPL"). A copy of the EPL is provided with this Content and is also
- available at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
- For purposes of the EPL, "Program" will mean the Content.</p>
-
-<p>Content includes, but is not limited to, source code, object code,
-documentation and other files maintained in the Eclipse Foundation
-source code
- repository ("Repository") in software modules ("Modules") and made
-available as downloadable archives ("Downloads").</p>
-
-<ul>
- <li>Content may be structured and packaged into modules to
-facilitate delivering, extending, and upgrading the Content. Typical
-modules may include plug-ins ("Plug-ins"), plug-in fragments
-("Fragments"), and features ("Features").</li>
- <li>Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java&#8482; ARchive) in a directory named "plugins".</li>
- <li>A Feature is a bundle of one or more Plug-ins and/or
-Fragments and associated material. Each Feature may be packaged as a
-sub-directory in a directory named "features". Within a Feature, files
-named "feature.xml" may contain a list of the names and version numbers
-of the Plug-ins
- and/or Fragments associated with that Feature.</li>
- <li>Features may also include other Features ("Included
-Features"). Within a Feature, files named "feature.xml" may contain a
-list of the names and version numbers of Included Features.</li>
-</ul>
-
-<p>The terms and conditions governing Plug-ins and Fragments should be
-contained in files named "about.html" ("Abouts"). The terms and
-conditions governing Features and
-Included Features should be contained in files named "license.html"
-("Feature Licenses"). Abouts and Feature Licenses may be located in any
- directory of a Download or Module
-including, but not limited to the following locations:</p>
-
-<ul>
- <li>The top-level (root) directory</li>
- <li>Plug-in and Fragment directories</li>
- <li>Inside Plug-ins and Fragments packaged as JARs</li>
- <li>Sub-directories of the directory named "src" of certain Plug-ins</li>
- <li>Feature directories</li>
-</ul>
-
-<p>Note: if a Feature made available by the Eclipse Foundation is
-installed using the Provisioning Technology (as defined below), you must
- agree to a license ("Feature Update License") during the
-installation process. If the Feature contains Included Features, the
-Feature Update License should either provide you with the terms and
-conditions governing the Included Features or
-inform you where you can locate them. Feature Update Licenses may be
-found in the "license" property of files named "feature.properties"
-found within a Feature.
-Such Abouts, Feature Licenses, and Feature Update Licenses contain the
-terms and conditions (or references to such terms and conditions) that
-govern your use of the associated Content in
-that directory.</p>
-
-<p>THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER
-TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.
- SOME OF THESE
-OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):</p>
-
-<ul>
- <li>Eclipse Distribution License Version 1.0 (available at <a href="http://www.eclipse.org/licenses/edl-v10.html">http://www.eclipse.org/licenses/edl-v1.0.html</a>)</li>
- <li>Common Public License Version 1.0 (available at <a href="http://www.eclipse.org/legal/cpl-v10.html">http://www.eclipse.org/legal/cpl-v10.html</a>)</li>
- <li>Apache Software License 1.1 (available at <a href="http://www.apache.org/licenses/LICENSE">http://www.apache.org/licenses/LICENSE</a>)</li>
- <li>Apache Software License 2.0 (available at <a href="http://www.apache.org/licenses/LICENSE-2.0">http://www.apache.org/licenses/LICENSE-2.0</a>)</li>
- <li>Metro Link Public License 1.00 (available at <a href="http://www.opengroup.org/openmotif/supporters/metrolink/license.html">http://www.opengroup.org/openmotif/supporters/metrolink/license.html</a>)</li>
- <li>Mozilla Public License Version 1.1 (available at <a href="http://www.mozilla.org/MPL/MPL-1.1.html">http://www.mozilla.org/MPL/MPL-1.1.html</a>)</li>
-</ul>
-
-<p>IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND
-CONDITIONS PRIOR TO USE OF THE CONTENT. If no About, Feature License,
-or Feature Update License is provided, please
-contact the Eclipse Foundation to determine what terms and conditions
-govern that particular Content.</p>
-
-
-<h3>Use of Provisioning Technology</h3>
-
-<p>The Eclipse Foundation makes available provisioning software,
-examples of which include, but are not limited to, p2 and the Eclipse
- Update Manager ("Provisioning Technology") for the purpose of
-allowing users to install software, documentation, information and/or
- other materials (collectively "Installable Software"). This
-capability is provided with the intent of allowing such users to
- install, extend and update Eclipse-based products. Information about
-packaging Installable Software is available at <a href="http://eclipse.org/equinox/p2/repository_packaging.html">http://eclipse.org/equinox/p2/repository_packaging.html</a>
- ("Specification").</p>
-
-<p>You may use Provisioning Technology to allow other parties to install
- Installable Software. You shall be responsible for enabling the
- applicable license agreements relating to the Installable Software to
- be presented to, and accepted by, the users of the Provisioning
-Technology
- in accordance with the Specification. By using Provisioning
-Technology in such a manner and making it available in accordance with
-the
- Specification, you further acknowledge your agreement to, and the
-acquisition of all necessary rights to permit the following:</p>
-
-<ol>
- <li>A series of actions may occur ("Provisioning Process") in
-which a user may execute the Provisioning Technology
- on a machine ("Target Machine") with the intent of installing,
-extending or updating the functionality of an Eclipse-based
- product.</li>
- <li>During the Provisioning Process, the Provisioning Technology
-may cause third party Installable Software or a portion thereof to be
- accessed and copied to the Target Machine.</li>
- <li>Pursuant to the Specification, you will provide to the user
-the terms and conditions that govern the use of the Installable
- Software ("Installable Software Agreement") and such Installable
-Software Agreement shall be accessed from the Target
- Machine in accordance with the Specification. Such Installable
-Software Agreement must inform the user of the terms and conditions that
- govern
- the Installable Software and must solicit acceptance by the end
-user in the manner prescribed in such Installable Software Agreement.
-Upon such
- indication of agreement by the user, the provisioning Technology
-will complete installation of the Installable Software.</li>
-</ol>
-
-<h3>Cryptography</h3>
-
-<p>Content may contain encryption software. The country in which you are
- currently may have restrictions on the import, possession, and use,
-and/or re-export to
- another country, of encryption software. BEFORE using any encryption
-software, please check the country's laws, regulations and policies
-concerning the import,
- possession, or use, and re-export of encryption software, to see if
-this is permitted.</p>
-
-<p><small>Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both.</small></p>
-
-
-</body></html> \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.lttng2.kernel/p2.inf b/lttng/org.eclipse.linuxtools.lttng2.kernel/p2.inf
deleted file mode 100644
index 5246a0c824..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.kernel/p2.inf
+++ /dev/null
@@ -1,3 +0,0 @@
-instructions.configure=\
-org.eclipse.equinox.p2.touchpoint.eclipse.addRepository(location:http${#58}//download.eclipse.org/linuxtools/updates-nightly,type:0,name:Linux Tools,enabled:false); \
-org.eclipse.equinox.p2.touchpoint.eclipse.addRepository(location:http${#58}//download.eclipse.org/linuxtools/updates-nightly,type:1,name:Linux Tools,enabled:false);
diff --git a/lttng/org.eclipse.linuxtools.lttng2.kernel/pom.xml b/lttng/org.eclipse.linuxtools.lttng2.kernel/pom.xml
deleted file mode 100644
index 2eb4006f69..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.kernel/pom.xml
+++ /dev/null
@@ -1,64 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Copyright (C) 2011, Red Hat, Inc.
-
- 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
--->
-<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
- <modelVersion>4.0.0</modelVersion>
-
- <parent>
- <artifactId>linuxtools-lttng-parent</artifactId>
- <groupId>org.eclipse.linuxtools.lttng</groupId>
- <version>3.2.0-SNAPSHOT</version>
- </parent>
-
- <artifactId>org.eclipse.linuxtools.lttng2.kernel</artifactId>
- <version>3.2.0-SNAPSHOT</version>
- <packaging>eclipse-feature</packaging>
-
- <name>Linux Tools LTTng Kernel Analysis Feature</name>
-
- <groupId>org.eclipse.linuxtools.lttng2</groupId>
-
- <build>
- <plugins>
- <plugin>
- <groupId>org.eclipse.tycho.extras</groupId>
- <artifactId>tycho-source-feature-plugin</artifactId>
- <executions>
- <execution>
- <id>source-feature</id>
- <phase>package</phase>
- <goals>
- <goal>source-feature</goal>
- </goals>
- <configuration>
- <excludes>
- <plugin id="org.eclipse.linuxtools.lttng.help"/>
- </excludes>
- </configuration>
- </execution>
- </executions>
- </plugin>
- <plugin>
- <groupId>org.eclipse.tycho</groupId>
- <artifactId>tycho-p2-plugin</artifactId>
- <version>${tycho-version}</version>
- <executions>
- <execution>
- <id>attached-p2-metadata</id>
- <phase>package</phase>
- <goals>
- <goal>p2-metadata</goal>
- </goals>
- </execution>
- </executions>
- </plugin>
- </plugins>
- </build>
-</project>
diff --git a/lttng/org.eclipse.linuxtools.lttng2.ust.core.tests/.classpath b/lttng/org.eclipse.linuxtools.lttng2.ust.core.tests/.classpath
deleted file mode 100644
index 098194ca4b..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.ust.core.tests/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
- <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.7"/>
- <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
- <classpathentry kind="src" path="src"/>
- <classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/lttng/org.eclipse.linuxtools.lttng2.ust.core.tests/.project b/lttng/org.eclipse.linuxtools.lttng2.ust.core.tests/.project
deleted file mode 100644
index c034d1f68e..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.ust.core.tests/.project
+++ /dev/null
@@ -1,34 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>org.eclipse.linuxtools.lttng2.ust.core.tests</name>
- <comment></comment>
- <projects>
- </projects>
- <buildSpec>
- <buildCommand>
- <name>org.eclipse.jdt.core.javabuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.ManifestBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.SchemaBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.api.tools.apiAnalysisBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>org.eclipse.pde.PluginNature</nature>
- <nature>org.eclipse.jdt.core.javanature</nature>
- <nature>org.eclipse.pde.api.tools.apiAnalysisNature</nature>
- </natures>
-</projectDescription>
diff --git a/lttng/org.eclipse.linuxtools.lttng2.ust.core.tests/.settings/org.eclipse.core.resources.prefs b/lttng/org.eclipse.linuxtools.lttng2.ust.core.tests/.settings/org.eclipse.core.resources.prefs
deleted file mode 100644
index 99f26c0203..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.ust.core.tests/.settings/org.eclipse.core.resources.prefs
+++ /dev/null
@@ -1,2 +0,0 @@
-eclipse.preferences.version=1
-encoding/<project>=UTF-8
diff --git a/lttng/org.eclipse.linuxtools.lttng2.ust.core.tests/.settings/org.eclipse.core.runtime.prefs b/lttng/org.eclipse.linuxtools.lttng2.ust.core.tests/.settings/org.eclipse.core.runtime.prefs
deleted file mode 100644
index 5a0ad22d2a..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.ust.core.tests/.settings/org.eclipse.core.runtime.prefs
+++ /dev/null
@@ -1,2 +0,0 @@
-eclipse.preferences.version=1
-line.separator=\n
diff --git a/lttng/org.eclipse.linuxtools.lttng2.ust.core.tests/.settings/org.eclipse.jdt.core.prefs b/lttng/org.eclipse.linuxtools.lttng2.ust.core.tests/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index f3fc64575b..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.ust.core.tests/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,393 +0,0 @@
-eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.annotation.inheritNullAnnotations=enabled
-org.eclipse.jdt.core.compiler.annotation.missingNonNullByDefaultAnnotation=ignore
-org.eclipse.jdt.core.compiler.annotation.nonnull=org.eclipse.jdt.annotation.NonNull
-org.eclipse.jdt.core.compiler.annotation.nonnullbydefault=org.eclipse.jdt.annotation.NonNullByDefault
-org.eclipse.jdt.core.compiler.annotation.nullable=org.eclipse.jdt.annotation.Nullable
-org.eclipse.jdt.core.compiler.annotation.nullanalysis=enabled
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.7
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.doc.comment.support=enabled
-org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=error
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
-org.eclipse.jdt.core.compiler.problem.comparingIdentical=error
-org.eclipse.jdt.core.compiler.problem.deadCode=error
-org.eclipse.jdt.core.compiler.problem.deprecation=error
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=enabled
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled
-org.eclipse.jdt.core.compiler.problem.discouragedReference=error
-org.eclipse.jdt.core.compiler.problem.emptyStatement=error
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.problem.explicitlyClosedAutoCloseable=error
-org.eclipse.jdt.core.compiler.problem.fallthroughCase=error
-org.eclipse.jdt.core.compiler.problem.fatalOptionalError=disabled
-org.eclipse.jdt.core.compiler.problem.fieldHiding=error
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=error
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=error
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=error
-org.eclipse.jdt.core.compiler.problem.includeNullInfoFromAsserts=disabled
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=error
-org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=error
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=error
-org.eclipse.jdt.core.compiler.problem.invalidJavadoc=warning
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTags=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=protected
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=error
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=error
-org.eclipse.jdt.core.compiler.problem.missingDefaultCase=error
-org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=error
-org.eclipse.jdt.core.compiler.problem.missingEnumCaseDespiteDefault=enabled
-org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=error
-org.eclipse.jdt.core.compiler.problem.missingJavadocComments=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=protected
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagDescription=all_standard_tags
-org.eclipse.jdt.core.compiler.problem.missingJavadocTags=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsMethodTypeParameters=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=protected
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=error
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotationForInterfaceMethodImplementation=enabled
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=error
-org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=error
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=error
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=error
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=ignore
-org.eclipse.jdt.core.compiler.problem.nonnullParameterAnnotationDropped=warning
-org.eclipse.jdt.core.compiler.problem.nullAnnotationInferenceConflict=warning
-org.eclipse.jdt.core.compiler.problem.nullReference=error
-org.eclipse.jdt.core.compiler.problem.nullSpecViolation=error
-org.eclipse.jdt.core.compiler.problem.nullUncheckedConversion=warning
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=error
-org.eclipse.jdt.core.compiler.problem.parameterAssignment=error
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=error
-org.eclipse.jdt.core.compiler.problem.potentialNullReference=error
-org.eclipse.jdt.core.compiler.problem.potentiallyUnclosedCloseable=warning
-org.eclipse.jdt.core.compiler.problem.rawTypeReference=error
-org.eclipse.jdt.core.compiler.problem.redundantNullAnnotation=warning
-org.eclipse.jdt.core.compiler.problem.redundantNullCheck=error
-org.eclipse.jdt.core.compiler.problem.redundantSpecificationOfTypeArguments=error
-org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=error
-org.eclipse.jdt.core.compiler.problem.reportMethodCanBePotentiallyStatic=ignore
-org.eclipse.jdt.core.compiler.problem.reportMethodCanBeStatic=error
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=error
-org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=disabled
-org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
-org.eclipse.jdt.core.compiler.problem.syntacticNullAnalysisForFields=enabled
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
-org.eclipse.jdt.core.compiler.problem.typeParameterHiding=error
-org.eclipse.jdt.core.compiler.problem.unavoidableGenericTypeProblems=disabled
-org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=error
-org.eclipse.jdt.core.compiler.problem.unclosedCloseable=error
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
-org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=error
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=error
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=error
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=error
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=disabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=disabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=error
-org.eclipse.jdt.core.compiler.problem.unusedLabel=error
-org.eclipse.jdt.core.compiler.problem.unusedLocal=error
-org.eclipse.jdt.core.compiler.problem.unusedObjectAllocation=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=error
-org.eclipse.jdt.core.compiler.problem.unusedTypeParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedWarningToken=error
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=error
-org.eclipse.jdt.core.compiler.source=1.7
-org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_assignment=0
-org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
-org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
-org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
-org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
-org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0
-org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=80
-org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=0
-org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch=16
-org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_after_package=1
-org.eclipse.jdt.core.formatter.blank_lines_before_field=0
-org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
-org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
-org.eclipse.jdt.core.formatter.blank_lines_before_method=1
-org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
-org.eclipse.jdt.core.formatter.blank_lines_before_package=0
-org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
-org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
-org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
-org.eclipse.jdt.core.formatter.comment.format_block_comments=true
-org.eclipse.jdt.core.formatter.comment.format_header=false
-org.eclipse.jdt.core.formatter.comment.format_html=true
-org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=true
-org.eclipse.jdt.core.formatter.comment.format_line_comments=true
-org.eclipse.jdt.core.formatter.comment.format_source_code=true
-org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true
-org.eclipse.jdt.core.formatter.comment.indent_root_tags=true
-org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
-org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=insert
-org.eclipse.jdt.core.formatter.comment.line_length=80
-org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries=true
-org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries=true
-org.eclipse.jdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments=false
-org.eclipse.jdt.core.formatter.compact_else_if=true
-org.eclipse.jdt.core.formatter.continuation_indentation=2
-org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2
-org.eclipse.jdt.core.formatter.disabling_tag=@formatter\:off
-org.eclipse.jdt.core.formatter.enabling_tag=@formatter\:on
-org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
-org.eclipse.jdt.core.formatter.format_line_comment_starting_on_first_column=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
-org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_empty_lines=false
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=false
-org.eclipse.jdt.core.formatter.indentation.size=4
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_label=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_try=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources=insert
-org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_try=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
-org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.join_lines_in_comments=true
-org.eclipse.jdt.core.formatter.join_wrapped_lines=false
-org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.lineSplit=250
-org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
-org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
-org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true
-org.eclipse.jdt.core.formatter.tabulation.char=space
-org.eclipse.jdt.core.formatter.tabulation.size=4
-org.eclipse.jdt.core.formatter.use_on_off_tags=false
-org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
-org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
-org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true
-org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true
diff --git a/lttng/org.eclipse.linuxtools.lttng2.ust.core.tests/.settings/org.eclipse.jdt.ui.prefs b/lttng/org.eclipse.linuxtools.lttng2.ust.core.tests/.settings/org.eclipse.jdt.ui.prefs
deleted file mode 100644
index 4fd0c7006a..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.ust.core.tests/.settings/org.eclipse.jdt.ui.prefs
+++ /dev/null
@@ -1,56 +0,0 @@
-eclipse.preferences.version=1
-editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
-formatter_profile=_tmf-style
-formatter_settings_version=12
-sp_cleanup.add_default_serial_version_id=true
-sp_cleanup.add_generated_serial_version_id=false
-sp_cleanup.add_missing_annotations=false
-sp_cleanup.add_missing_deprecated_annotations=true
-sp_cleanup.add_missing_methods=false
-sp_cleanup.add_missing_nls_tags=false
-sp_cleanup.add_missing_override_annotations=true
-sp_cleanup.add_missing_override_annotations_interface_methods=true
-sp_cleanup.add_serial_version_id=false
-sp_cleanup.always_use_blocks=true
-sp_cleanup.always_use_parentheses_in_expressions=false
-sp_cleanup.always_use_this_for_non_static_field_access=false
-sp_cleanup.always_use_this_for_non_static_method_access=false
-sp_cleanup.convert_to_enhanced_for_loop=false
-sp_cleanup.correct_indentation=false
-sp_cleanup.format_source_code=false
-sp_cleanup.format_source_code_changes_only=false
-sp_cleanup.make_local_variable_final=false
-sp_cleanup.make_parameters_final=false
-sp_cleanup.make_private_fields_final=true
-sp_cleanup.make_type_abstract_if_missing_method=false
-sp_cleanup.make_variable_declarations_final=false
-sp_cleanup.never_use_blocks=false
-sp_cleanup.never_use_parentheses_in_expressions=true
-sp_cleanup.on_save_use_additional_actions=true
-sp_cleanup.organize_imports=false
-sp_cleanup.qualify_static_field_accesses_with_declaring_class=false
-sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_with_declaring_class=false
-sp_cleanup.qualify_static_method_accesses_with_declaring_class=false
-sp_cleanup.remove_private_constructors=true
-sp_cleanup.remove_trailing_whitespaces=true
-sp_cleanup.remove_trailing_whitespaces_all=true
-sp_cleanup.remove_trailing_whitespaces_ignore_empty=false
-sp_cleanup.remove_unnecessary_casts=false
-sp_cleanup.remove_unnecessary_nls_tags=false
-sp_cleanup.remove_unused_imports=false
-sp_cleanup.remove_unused_local_variables=false
-sp_cleanup.remove_unused_private_fields=true
-sp_cleanup.remove_unused_private_members=false
-sp_cleanup.remove_unused_private_methods=true
-sp_cleanup.remove_unused_private_types=true
-sp_cleanup.sort_members=false
-sp_cleanup.sort_members_all=false
-sp_cleanup.use_blocks=true
-sp_cleanup.use_blocks_only_for_return_and_throw=false
-sp_cleanup.use_parentheses_in_expressions=false
-sp_cleanup.use_this_for_non_static_field_access=false
-sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=true
-sp_cleanup.use_this_for_non_static_method_access=false
-sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true
diff --git a/lttng/org.eclipse.linuxtools.lttng2.ust.core.tests/.settings/org.eclipse.pde.api.tools.prefs b/lttng/org.eclipse.linuxtools.lttng2.ust.core.tests/.settings/org.eclipse.pde.api.tools.prefs
deleted file mode 100644
index acc3abd47c..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.ust.core.tests/.settings/org.eclipse.pde.api.tools.prefs
+++ /dev/null
@@ -1,97 +0,0 @@
-ANNOTATION_ELEMENT_TYPE_ADDED_METHOD_WITHOUT_DEFAULT_VALUE=Error
-ANNOTATION_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
-ANNOTATION_ELEMENT_TYPE_REMOVED_FIELD=Error
-ANNOTATION_ELEMENT_TYPE_REMOVED_METHOD=Error
-ANNOTATION_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
-API_COMPONENT_ELEMENT_TYPE_REMOVED_API_TYPE=Error
-API_COMPONENT_ELEMENT_TYPE_REMOVED_REEXPORTED_API_TYPE=Error
-API_COMPONENT_ELEMENT_TYPE_REMOVED_REEXPORTED_TYPE=Error
-API_COMPONENT_ELEMENT_TYPE_REMOVED_TYPE=Error
-API_USE_SCAN_FIELD_SEVERITY=Error
-API_USE_SCAN_METHOD_SEVERITY=Error
-API_USE_SCAN_TYPE_SEVERITY=Error
-CLASS_ELEMENT_TYPE_ADDED_METHOD=Error
-CLASS_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
-CLASS_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
-CLASS_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error
-CLASS_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
-CLASS_ELEMENT_TYPE_CHANGED_NON_ABSTRACT_TO_ABSTRACT=Error
-CLASS_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error
-CLASS_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
-CLASS_ELEMENT_TYPE_REMOVED_CONSTRUCTOR=Error
-CLASS_ELEMENT_TYPE_REMOVED_FIELD=Error
-CLASS_ELEMENT_TYPE_REMOVED_METHOD=Error
-CLASS_ELEMENT_TYPE_REMOVED_SUPERCLASS=Error
-CLASS_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
-CLASS_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
-CONSTRUCTOR_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
-CONSTRUCTOR_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
-CONSTRUCTOR_ELEMENT_TYPE_CHANGED_VARARGS_TO_ARRAY=Error
-CONSTRUCTOR_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
-ENUM_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error
-ENUM_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
-ENUM_ELEMENT_TYPE_REMOVED_ENUM_CONSTANT=Error
-ENUM_ELEMENT_TYPE_REMOVED_FIELD=Error
-ENUM_ELEMENT_TYPE_REMOVED_METHOD=Error
-ENUM_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
-FIELD_ELEMENT_TYPE_ADDED_VALUE=Error
-FIELD_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
-FIELD_ELEMENT_TYPE_CHANGED_FINAL_TO_NON_FINAL_STATIC_CONSTANT=Error
-FIELD_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error
-FIELD_ELEMENT_TYPE_CHANGED_NON_STATIC_TO_STATIC=Error
-FIELD_ELEMENT_TYPE_CHANGED_STATIC_TO_NON_STATIC=Error
-FIELD_ELEMENT_TYPE_CHANGED_TYPE=Error
-FIELD_ELEMENT_TYPE_CHANGED_VALUE=Error
-FIELD_ELEMENT_TYPE_REMOVED_TYPE_ARGUMENT=Error
-FIELD_ELEMENT_TYPE_REMOVED_VALUE=Error
-ILLEGAL_EXTEND=Warning
-ILLEGAL_IMPLEMENT=Warning
-ILLEGAL_INSTANTIATE=Warning
-ILLEGAL_OVERRIDE=Warning
-ILLEGAL_REFERENCE=Warning
-INTERFACE_ELEMENT_TYPE_ADDED_FIELD=Error
-INTERFACE_ELEMENT_TYPE_ADDED_METHOD=Error
-INTERFACE_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
-INTERFACE_ELEMENT_TYPE_ADDED_SUPER_INTERFACE_WITH_METHODS=Error
-INTERFACE_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
-INTERFACE_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error
-INTERFACE_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
-INTERFACE_ELEMENT_TYPE_REMOVED_FIELD=Error
-INTERFACE_ELEMENT_TYPE_REMOVED_METHOD=Error
-INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
-INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
-INVALID_JAVADOC_TAG=Warning
-INVALID_REFERENCE_IN_SYSTEM_LIBRARIES=Warning
-LEAK_EXTEND=Warning
-LEAK_FIELD_DECL=Warning
-LEAK_IMPLEMENT=Warning
-LEAK_METHOD_PARAM=Warning
-LEAK_METHOD_RETURN_TYPE=Warning
-METHOD_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
-METHOD_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
-METHOD_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
-METHOD_ELEMENT_TYPE_CHANGED_NON_ABSTRACT_TO_ABSTRACT=Error
-METHOD_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error
-METHOD_ELEMENT_TYPE_CHANGED_NON_STATIC_TO_STATIC=Error
-METHOD_ELEMENT_TYPE_CHANGED_STATIC_TO_NON_STATIC=Error
-METHOD_ELEMENT_TYPE_CHANGED_VARARGS_TO_ARRAY=Error
-METHOD_ELEMENT_TYPE_REMOVED_ANNOTATION_DEFAULT_VALUE=Error
-METHOD_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
-MISSING_EE_DESCRIPTIONS=Ignore
-TYPE_PARAMETER_ELEMENT_TYPE_ADDED_CLASS_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_ADDED_INTERFACE_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_CHANGED_CLASS_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_CHANGED_INTERFACE_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_CLASS_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error
-UNUSED_PROBLEM_FILTERS=Warning
-automatically_removed_unused_problem_filters=false
-eclipse.preferences.version=1
-incompatible_api_component_version=Error
-incompatible_api_component_version_include_major_without_breaking_change=Disabled
-incompatible_api_component_version_include_minor_without_api_change=Disabled
-invalid_since_tag_version=Error
-malformed_since_tag=Error
-missing_since_tag=Error
-report_api_breakage_when_major_version_incremented=Disabled
-report_resolution_errors_api_component=Warning
diff --git a/lttng/org.eclipse.linuxtools.lttng2.ust.core.tests/.settings/org.eclipse.pde.prefs b/lttng/org.eclipse.linuxtools.lttng2.ust.core.tests/.settings/org.eclipse.pde.prefs
deleted file mode 100644
index 62cfa90dee..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.ust.core.tests/.settings/org.eclipse.pde.prefs
+++ /dev/null
@@ -1,32 +0,0 @@
-compilers.f.unresolved-features=1
-compilers.f.unresolved-plugins=1
-compilers.incompatible-environment=1
-compilers.p.build=1
-compilers.p.build.bin.includes=1
-compilers.p.build.encodings=2
-compilers.p.build.java.compiler=2
-compilers.p.build.java.compliance=1
-compilers.p.build.missing.output=2
-compilers.p.build.output.library=1
-compilers.p.build.source.library=1
-compilers.p.build.src.includes=1
-compilers.p.deprecated=1
-compilers.p.discouraged-class=1
-compilers.p.internal=1
-compilers.p.missing-packages=2
-compilers.p.missing-version-export-package=2
-compilers.p.missing-version-import-package=2
-compilers.p.missing-version-require-bundle=2
-compilers.p.no-required-att=0
-compilers.p.not-externalized-att=2
-compilers.p.unknown-attribute=1
-compilers.p.unknown-class=1
-compilers.p.unknown-element=1
-compilers.p.unknown-identifier=1
-compilers.p.unknown-resource=1
-compilers.p.unresolved-ex-points=0
-compilers.p.unresolved-import=0
-compilers.s.create-docs=false
-compilers.s.doc-folder=doc
-compilers.s.open-tags=1
-eclipse.preferences.version=1
diff --git a/lttng/org.eclipse.linuxtools.lttng2.ust.core.tests/META-INF/MANIFEST.MF b/lttng/org.eclipse.linuxtools.lttng2.ust.core.tests/META-INF/MANIFEST.MF
deleted file mode 100644
index 7a659072f2..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.ust.core.tests/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,21 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %Bundle-Name
-Bundle-Vendor: %Bundle-Vendor
-Bundle-Version: 3.1.0.qualifier
-Bundle-Localization: plugin
-Bundle-SymbolicName: org.eclipse.linuxtools.lttng2.ust.core.tests;singleton:=true
-Bundle-ActivationPolicy: lazy
-Bundle-RequiredExecutionEnvironment: JavaSE-1.7
-Require-Bundle: org.junit;bundle-version="4.0.0",
- org.eclipse.core.resources,
- org.eclipse.core.runtime,
- org.eclipse.linuxtools.tmf.core,
- org.eclipse.linuxtools.tmf.core.tests;bundle-version="3.1.0",
- org.eclipse.linuxtools.tmf.ctf.core,
- org.eclipse.linuxtools.tmf.ctf.core.tests,
- org.eclipse.linuxtools.lttng2.ust.core,
- org.eclipse.linuxtools.lttng2.control.core
-Export-Package: org.eclipse.linuxtools.lttng2.ust.core.tests,
- org.eclipse.linuxtools.lttng2.ust.core.tests.trace.callstack
-Import-Package: com.google.common.collect
diff --git a/lttng/org.eclipse.linuxtools.lttng2.ust.core.tests/about.html b/lttng/org.eclipse.linuxtools.lttng2.ust.core.tests/about.html
deleted file mode 100644
index c258ef55d8..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.ust.core.tests/about.html
+++ /dev/null
@@ -1,28 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
-<title>About</title>
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
-
-<p>June 5, 2006</p>
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;). Unless otherwise
-indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is available
-at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is
-being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content. Check the Redistributor's license that was
-provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at <a href="http://www.eclipse.org/">http://www.eclipse.org</a>.</p>
-
-</body>
-</html> \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.lttng2.ust.core.tests/build.properties b/lttng/org.eclipse.linuxtools.lttng2.ust.core.tests/build.properties
deleted file mode 100644
index aee45aa395..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.ust.core.tests/build.properties
+++ /dev/null
@@ -1,21 +0,0 @@
-###############################################################################
-# Copyright (c) 2013 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:
-# Ericsson - Initial API and implementation
-###############################################################################
-
-source.. = src/
-output.. = bin/
-bin.includes = META-INF/,\
- .,\
- about.html,\
- plugin.properties
-src.includes = about.html
-additional.bundles = org.eclipse.jdt.annotation
-jars.extra.classpath = platform:/plugin/org.eclipse.jdt.annotation
diff --git a/lttng/org.eclipse.linuxtools.lttng2.ust.core.tests/plugin.properties b/lttng/org.eclipse.linuxtools.lttng2.ust.core.tests/plugin.properties
deleted file mode 100644
index 79b4ace93a..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.ust.core.tests/plugin.properties
+++ /dev/null
@@ -1,15 +0,0 @@
-###############################################################################
-# Copyright (c) 2013 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:
-# Ericsson - Initial API and implementation
-###############################################################################
-
-#Properties file for org.eclipse.linuxtools.lttng2.ust.core
-Bundle-Vendor = Eclipse Linux Tools
-Bundle-Name = Linux Tools LTTng Userspace Tracer Analysis Core Tests Plug-in \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.lttng2.ust.core.tests/pom.xml b/lttng/org.eclipse.linuxtools.lttng2.ust.core.tests/pom.xml
deleted file mode 100644
index 5f7626871c..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.ust.core.tests/pom.xml
+++ /dev/null
@@ -1,42 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Copyright (C) 2011, 2013 Red Hat Inc., 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
--->
-<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
- <modelVersion>4.0.0</modelVersion>
-
- <parent>
- <artifactId>linuxtools-lttng-parent</artifactId>
- <groupId>org.eclipse.linuxtools.lttng</groupId>
- <version>3.2.0-SNAPSHOT</version>
- </parent>
-
- <artifactId>org.eclipse.linuxtools.lttng2.ust.core.tests</artifactId>
- <version>3.1.0-SNAPSHOT</version>
- <packaging>eclipse-test-plugin</packaging>
-
- <name>Linux Tools LTTng Userspace Tracer Analysis Core Test Plug-in</name>
-
- <build>
- <plugins>
- <plugin>
- <groupId>org.eclipse.tycho</groupId>
- <artifactId>tycho-surefire-plugin</artifactId>
- <version>${tycho-version}</version>
- <configuration>
- <useUIHarness>false</useUIHarness>
- <useUIThread>false</useUIThread>
- <product>org.eclipse.platform.ide</product>
- </configuration>
- </plugin>
- </plugins>
- </build>
-
- <groupId>org.eclipse.linuxtools.lttng2</groupId>
-</project>
diff --git a/lttng/org.eclipse.linuxtools.lttng2.ust.core.tests/src/org/eclipse/linuxtools/lttng2/ust/core/tests/ActivatorTest.java b/lttng/org.eclipse.linuxtools.lttng2.ust.core.tests/src/org/eclipse/linuxtools/lttng2/ust/core/tests/ActivatorTest.java
deleted file mode 100644
index 31014bc395..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.ust.core.tests/src/org/eclipse/linuxtools/lttng2/ust/core/tests/ActivatorTest.java
+++ /dev/null
@@ -1,96 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 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:
- * Alexandre Montplaisir - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.lttng2.ust.core.tests;
-
-import junit.framework.TestCase;
-
-import org.junit.After;
-import org.junit.AfterClass;
-import org.junit.Before;
-import org.junit.BeforeClass;
-import org.junit.Test;
-
-/**
- * <b><u>ActivatorTest</u></b>
- * <p>
- * Test suite for the Activator class
- * <p>
- */
-@SuppressWarnings("javadoc")
-public class ActivatorTest extends TestCase {
-
- // ------------------------------------------------------------------------
- // JUnit
- // ------------------------------------------------------------------------
-
- @BeforeClass
- public static void setUpBeforeClass() {
- }
-
- @AfterClass
- public static void tearDownAfterClass() {
- }
-
- /**
- * @throws java.lang.Exception
- */
- @Before
- @Override
- public void setUp() throws Exception {
- }
-
- /**
- * @throws java.lang.Exception
- */
- @After
- @Override
- public void tearDown() throws Exception {
- }
-
- // ------------------------------------------------------------------------
- // Tests
- // ------------------------------------------------------------------------
-
- /**
- * Test method for {@link org.eclipse.linuxtools.lttng2.kernel.core.Activator#Activator()}.
- */
- @Test
- public void testActivator() {
- assertTrue(true);
- }
-
- /**
- * Test method for {@link org.eclipse.linuxtools.lttng2.kernel.core.Activator#getDefault()}.
- */
- @Test
- public void testGetDefault() {
- assertTrue(true);
- }
-
- /**
- * Test method for {@link org.eclipse.linuxtools.lttng2.kernel.core.Activator#start(org.osgi.framework.BundleContext)}.
- */
- @Test
- public void testStartBundleContext() {
- assertTrue(true);
- }
-
- /**
- * Test method for {@link org.eclipse.linuxtools.lttng2.kernel.core.Activator#stop(org.osgi.framework.BundleContext)}.
- */
- @Test
- public void testStopBundleContext() {
- assertTrue(true);
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.lttng2.ust.core.tests/src/org/eclipse/linuxtools/lttng2/ust/core/tests/AllTests.java b/lttng/org.eclipse.linuxtools.lttng2.ust.core.tests/src/org/eclipse/linuxtools/lttng2/ust/core/tests/AllTests.java
deleted file mode 100644
index 62e904d9f3..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.ust.core.tests/src/org/eclipse/linuxtools/lttng2/ust/core/tests/AllTests.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 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:
- * Alexandre Montplaisir - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.lttng2.ust.core.tests;
-
-import org.junit.runner.RunWith;
-import org.junit.runners.Suite;
-
-/**
- * Runner for the lttng2.kernel unit tests.
- */
-@RunWith(Suite.class)
-@Suite.SuiteClasses({
- ActivatorTest.class,
- org.eclipse.linuxtools.lttng2.ust.core.tests.analysis.memory.AllTests.class,
- org.eclipse.linuxtools.lttng2.ust.core.tests.trace.callstack.AllTests.class
-})
-public class AllTests { }
diff --git a/lttng/org.eclipse.linuxtools.lttng2.ust.core.tests/src/org/eclipse/linuxtools/lttng2/ust/core/tests/analysis/memory/AllTests.java b/lttng/org.eclipse.linuxtools.lttng2.ust.core.tests/src/org/eclipse/linuxtools/lttng2/ust/core/tests/analysis/memory/AllTests.java
deleted file mode 100644
index 98924bc4d6..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.ust.core.tests/src/org/eclipse/linuxtools/lttng2/ust/core/tests/analysis/memory/AllTests.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 École Polytechnique de Montréal
- *
- * 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:
- * Guilliano Molaire - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.lttng2.ust.core.tests.analysis.memory;
-
-import org.junit.runner.RunWith;
-import org.junit.runners.Suite;
-
-/**
- * Test suite.
- */
-@RunWith(Suite.class)
-@Suite.SuiteClasses({
- UstMemoryAnalysisModuleTest.class
-})
-public class AllTests {
-
-}
diff --git a/lttng/org.eclipse.linuxtools.lttng2.ust.core.tests/src/org/eclipse/linuxtools/lttng2/ust/core/tests/analysis/memory/UstMemoryAnalysisModuleTest.java b/lttng/org.eclipse.linuxtools.lttng2.ust.core.tests/src/org/eclipse/linuxtools/lttng2/ust/core/tests/analysis/memory/UstMemoryAnalysisModuleTest.java
deleted file mode 100644
index cbf456347a..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.ust.core.tests/src/org/eclipse/linuxtools/lttng2/ust/core/tests/analysis/memory/UstMemoryAnalysisModuleTest.java
+++ /dev/null
@@ -1,101 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 École Polytechnique de Montréal
- *
- * 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:
- * Guilliano Molaire - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.lttng2.ust.core.tests.analysis.memory;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertTrue;
-
-import java.util.Set;
-
-import org.eclipse.linuxtools.internal.lttng2.ust.core.memoryusage.UstMemoryStrings;
-import org.eclipse.linuxtools.lttng2.control.core.session.SessionConfigStrings;
-import org.eclipse.linuxtools.lttng2.ust.core.analysis.memory.UstMemoryAnalysisModule;
-import org.eclipse.linuxtools.tmf.core.analysis.TmfAnalysisRequirement;
-import org.junit.Before;
-import org.junit.Test;
-
-import com.google.common.collect.ImmutableSet;
-
-/**
- * Tests for the {@link UstMemoryAnalysisModule}
- *
- * @author Guilliano Molaire
- */
-public class UstMemoryAnalysisModuleTest {
-
- /** The analysis module */
- private UstMemoryAnalysisModule fUstAnalysisModule;
-
- /**
- * Set-up the test
- */
- @Before
- public void setup() {
- fUstAnalysisModule = new UstMemoryAnalysisModule();
- }
-
- /**
- * Test for {@link UstMemoryAnalysisModule#getAnalysisRequirements()}
- */
- @Test
- public void testGetAnalysisRequirements() {
- Iterable<TmfAnalysisRequirement> requirements = fUstAnalysisModule.getAnalysisRequirements();
- assertNotNull(requirements);
- assertTrue(requirements.iterator().hasNext());
-
- /* There should be the event and domain type */
- TmfAnalysisRequirement eventReq = null;
- TmfAnalysisRequirement domainReq = null;
- int numberOfRequirement = 0;
- for (TmfAnalysisRequirement requirement : requirements) {
- ++numberOfRequirement;
- if (requirement.getType().equals(SessionConfigStrings.CONFIG_ELEMENT_EVENT)) {
- eventReq = requirement;
- } else if (requirement.getType().equals(SessionConfigStrings.CONFIG_ELEMENT_DOMAIN)) {
- domainReq = requirement;
- }
- }
- assertNotNull(eventReq);
- assertNotNull(domainReq);
-
- /* There should be two requirements */
- assertEquals(2, numberOfRequirement);
-
- /* Verify the content of the requirements themselves */
- /* Domain should be kernel */
- assertEquals(1, domainReq.getValues().size());
- for (String domain : domainReq.getValues()) {
- assertEquals(SessionConfigStrings.CONFIG_DOMAIN_TYPE_UST, domain);
- }
-
- /* Events */
- Set<String> expectedEvents = ImmutableSet.of(
- UstMemoryStrings.MALLOC,
- UstMemoryStrings.FREE,
- UstMemoryStrings.CALLOC,
- UstMemoryStrings.REALLOC,
- UstMemoryStrings.MEMALIGN,
- UstMemoryStrings.POSIX_MEMALIGN
- );
-
- assertEquals(6, eventReq.getValues().size());
- for (String event : eventReq.getValues()) {
- assertTrue("Unexpected event " + event, expectedEvents.contains(event));
- }
-
- Set<String> infos = eventReq.getInformation();
- assertEquals(2, infos.size());
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.lttng2.ust.core.tests/src/org/eclipse/linuxtools/lttng2/ust/core/tests/trace/callstack/AbstractProviderTest.java b/lttng/org.eclipse.linuxtools.lttng2.ust.core.tests/src/org/eclipse/linuxtools/lttng2/ust/core/tests/trace/callstack/AbstractProviderTest.java
deleted file mode 100644
index 68841f0f16..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.ust.core.tests/src/org/eclipse/linuxtools/lttng2/ust/core/tests/trace/callstack/AbstractProviderTest.java
+++ /dev/null
@@ -1,281 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 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:
- * Alexandre Montplaisir - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.lttng2.ust.core.tests.trace.callstack;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertTrue;
-import static org.junit.Assert.fail;
-
-import java.io.File;
-import java.util.List;
-
-import org.eclipse.linuxtools.internal.lttng2.ust.core.trace.callstack.LttngUstCallStackProvider;
-import org.eclipse.linuxtools.statesystem.core.ITmfStateSystem;
-import org.eclipse.linuxtools.statesystem.core.exceptions.AttributeNotFoundException;
-import org.eclipse.linuxtools.statesystem.core.exceptions.StateSystemDisposedException;
-import org.eclipse.linuxtools.statesystem.core.interval.ITmfStateInterval;
-import org.eclipse.linuxtools.statesystem.core.statevalue.ITmfStateValue;
-import org.eclipse.linuxtools.tmf.core.exceptions.TmfAnalysisException;
-import org.eclipse.linuxtools.tmf.core.statesystem.ITmfStateProvider;
-import org.eclipse.linuxtools.tmf.core.statesystem.TmfStateSystemAnalysisModule;
-import org.eclipse.linuxtools.tmf.core.timestamp.ITmfTimestamp;
-import org.eclipse.linuxtools.tmf.core.trace.TmfTraceManager;
-import org.eclipse.linuxtools.tmf.ctf.core.CtfTmfTrace;
-import org.eclipse.linuxtools.tmf.ctf.core.tests.shared.CtfTmfTestTrace;
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Rule;
-import org.junit.Test;
-import org.junit.rules.TestRule;
-import org.junit.rules.Timeout;
-
-/**
- * Base class for the UST callstack state provider tests.
- *
- * @author Alexandre Montplaisir
- */
-public abstract class AbstractProviderTest {
-
- /** Time-out tests after 20 seconds */
- @Rule public TestRule globalTimeout= new Timeout(20000);
-
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
-
- private static final CtfTmfTestTrace otherUstTrace = CtfTmfTestTrace.HELLO_LOST;
-
- private CtfTmfTrace fTrace = null;
- private ITmfStateSystem fSS = null;
- private TestLttngCallStackModule fModule;
-
-
- // ------------------------------------------------------------------------
- // Abstract methods
- // ------------------------------------------------------------------------
-
- /**
- * @return The test trace to use for this test
- */
- protected abstract CtfTmfTestTrace getTestTrace();
-
- /**
- * @return The name of the executable process in that particular trace
- */
- protected abstract String getProcName();
-
- /**
- * Get the list of timestamps to query in that trace.
- *
- * @param index
- * Which of the test timestamps?
- * @return That particular timestamp
- */
- protected abstract long getTestTimestamp(int index);
-
- // ------------------------------------------------------------------------
- // Maintenance
- // ------------------------------------------------------------------------
-
- /**
- * Perform pre-class initialization.
- */
- @Before
- public void setUp() {
- CtfTmfTestTrace testTrace = getTestTrace();
-
- fTrace = testTrace.getTrace();
- fModule = new TestLttngCallStackModule();
- try {
- fModule.setTrace(fTrace);
- } catch (TmfAnalysisException e) {
- fail();
- }
- fModule.schedule();
- assertTrue(fModule.waitForCompletion());
-
- fSS = fModule.getStateSystem();
- assertNotNull(fSS);
- }
-
- /**
- * Perform post-class clean-up.
- */
- @After
- public void tearDown() {
- fModule.close();
- if (fTrace != null) {
- fTrace.dispose();
- File suppDir = new File(TmfTraceManager.getSupplementaryFileDir(fTrace));
- deleteDirectory(suppDir);
- }
- }
-
- // ------------------------------------------------------------------------
- // Test methods
- // ------------------------------------------------------------------------
-
- /**
- * Test the handling of generic UST traces who do not contain the required
- * information.
- */
- @Test
- public void testOtherUstTrace() {
- /* Initialize the trace and analysis module */
- File suppDir;
- try (CtfTmfTrace ustTrace = otherUstTrace.getTrace();) {
- try (TestLttngCallStackModule module = new TestLttngCallStackModule();) {
- try {
- module.setTrace(ustTrace);
- } catch (TmfAnalysisException e) {
- fail();
- }
- module.schedule();
- assertTrue(module.waitForCompletion());
-
- /* Make sure the generated state system exists, but is empty */
- ITmfStateSystem ss = module.getStateSystem();
- assertNotNull(ss);
- assertTrue(ss.getStartTime() >= ustTrace.getStartTime().normalize(0, ITmfTimestamp.NANOSECOND_SCALE).getValue());
- assertEquals(0, ss.getNbAttributes());
- }
- suppDir = new File(TmfTraceManager.getSupplementaryFileDir(ustTrace));
- }
- deleteDirectory(suppDir);
- assertFalse(suppDir.exists());
- }
-
- /**
- * Test that the callstack state system is there and contains data.
- */
- @Test
- public void testConstruction() {
- assertNotNull(fSS);
- assertTrue(fSS.getNbAttributes() > 0);
- }
-
- /**
- * Test the callstack at the beginning of the state system.
- */
- @Test
- public void testCallStackBegin() {
- long start = fSS.getStartTime();
- String[] cs = getCallStack(fSS, getProcName(), start);
- assertEquals(1, cs.length);
-
- assertEquals("40472b", cs[0]);
- }
-
- /**
- * Test the callstack somewhere in the trace.
- */
- @Test
- public void testCallStack1() {
- String[] cs = getCallStack(fSS, getProcName(), getTestTimestamp(0));
- assertEquals(2, cs.length);
-
- assertEquals("40472b", cs[0]);
- assertEquals("403d60", cs[1]);
- }
-
- /**
- * Test the callstack somewhere in the trace.
- */
- @Test
- public void testCallStack2() {
- String[] cs = getCallStack(fSS, getProcName(), getTestTimestamp(1));
- assertEquals(3, cs.length);
-
- assertEquals("40472b", cs[0]);
- assertEquals("403b14", cs[1]);
- assertEquals("401b23", cs[2]);
- }
-
- /**
- * Test the callstack somewhere in the trace.
- */
- @Test
- public void testCallStack3() {
- String[] cs = getCallStack(fSS, getProcName(), getTestTimestamp(2));
- assertEquals(4, cs.length);
-
- assertEquals("40472b", cs[0]);
- assertEquals("4045c8", cs[1]);
- assertEquals("403760", cs[2]);
- assertEquals("401aac", cs[3]);
- }
-
- /**
- * Test the callstack at the end of the trace/state system.
- */
- @Test
- public void testCallStackEnd() {
- long end = fSS.getCurrentEndTime();
- String[] cs = getCallStack(fSS, getProcName(), end);
- assertEquals(3, cs.length);
-
- assertEquals("40472b", cs[0]);
- assertEquals("4045c8", cs[1]);
- assertEquals("403760", cs[2]);
- }
-
- // ------------------------------------------------------------------------
- // Utility methods
- // ------------------------------------------------------------------------
-
- /** Empty and delete a directory */
- private static void deleteDirectory(File dir) {
- /* Assuming the dir only contains file or empty directories */
- for (File file : dir.listFiles()) {
- file.delete();
- }
- dir.delete();
- }
-
- /** Get the callstack for the given timestamp, for this particular trace */
- private static String[] getCallStack(ITmfStateSystem ss, String processName, long timestamp) {
- try {
- int stackAttribute = ss.getQuarkAbsolute("Threads", processName, "CallStack");
- List<ITmfStateInterval> state = ss.queryFullState(timestamp);
- int depth = state.get(stackAttribute).getStateValue().unboxInt();
-
- int stackTop = ss.getQuarkRelative(stackAttribute, String.valueOf(depth));
- ITmfStateValue top = state.get(stackTop).getStateValue();
- assertEquals(top, ss.querySingleStackTop(timestamp, stackAttribute).getStateValue());
-
- String[] ret = new String[depth];
- for (int i = 0; i < depth; i++) {
- int quark = ss.getQuarkRelative(stackAttribute, String.valueOf(i + 1));
- ret[i] = state.get(quark).getStateValue().unboxStr();
- }
- return ret;
-
- } catch (AttributeNotFoundException e) {
- fail(e.getMessage());
- } catch (StateSystemDisposedException e) {
- fail(e.getMessage());
- }
- fail();
- return null;
- }
-
- private class TestLttngCallStackModule extends TmfStateSystemAnalysisModule {
-
- @Override
- protected ITmfStateProvider createStateProvider() {
- return new LttngUstCallStackProvider(getTrace());
- }
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.lttng2.ust.core.tests/src/org/eclipse/linuxtools/lttng2/ust/core/tests/trace/callstack/AllTests.java b/lttng/org.eclipse.linuxtools.lttng2.ust.core.tests/src/org/eclipse/linuxtools/lttng2/ust/core/tests/trace/callstack/AllTests.java
deleted file mode 100644
index d34690034f..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.ust.core.tests/src/org/eclipse/linuxtools/lttng2/ust/core/tests/trace/callstack/AllTests.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 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:
- * Alexandre Montplaisir - Initial implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.lttng2.ust.core.tests.trace.callstack;
-
-import org.junit.runner.RunWith;
-import org.junit.runners.Suite;
-
-/**
- * Test suite for org.eclipse.linuxtools.lttng2.ust.core.tests.trace.callstack
- */
-@RunWith(Suite.class)
-@Suite.SuiteClasses({
- LttngUstCallStackProviderFastTest.class,
- LttngUstCallStackProviderTest.class
-})
-public class AllTests {
-
-}
diff --git a/lttng/org.eclipse.linuxtools.lttng2.ust.core.tests/src/org/eclipse/linuxtools/lttng2/ust/core/tests/trace/callstack/LttngUstCallStackProviderFastTest.java b/lttng/org.eclipse.linuxtools.lttng2.ust.core.tests/src/org/eclipse/linuxtools/lttng2/ust/core/tests/trace/callstack/LttngUstCallStackProviderFastTest.java
deleted file mode 100644
index fccfd93ec2..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.ust.core.tests/src/org/eclipse/linuxtools/lttng2/ust/core/tests/trace/callstack/LttngUstCallStackProviderFastTest.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013, 2014 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:
- * Alexandre Montplaisir - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.lttng2.ust.core.tests.trace.callstack;
-
-import static org.junit.Assume.assumeTrue;
-
-import org.eclipse.linuxtools.tmf.ctf.core.tests.shared.CtfTmfTestTrace;
-import org.junit.BeforeClass;
-
-/**
- * Test suite for the UST callstack state provider, using the trace of a program
- * instrumented with lttng-ust-cyg-profile-fast.so tracepoints. These do not
- * contain the function addresses in the func_exit events.
- *
- * @author Alexandre Montplaisir
- */
-public class LttngUstCallStackProviderFastTest extends AbstractProviderTest {
-
- private static final long[] timestamps = { 1379361250310000000L,
- 1379361250498400000L,
- 1379361250499759000L };
-
- /**
- * Class setup
- */
- @BeforeClass
- public static void setUpClass() {
- assumeTrue(CtfTmfTestTrace.CYG_PROFILE_FAST.exists());
- }
-
- @Override
- protected CtfTmfTestTrace getTestTrace() {
- return CtfTmfTestTrace.CYG_PROFILE_FAST;
- }
-
- @Override
- protected String getProcName() {
- return "glxgears-29822";
- }
-
- @Override
- protected long getTestTimestamp(int index) {
- return timestamps[index];
- }
-
-} \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.lttng2.ust.core.tests/src/org/eclipse/linuxtools/lttng2/ust/core/tests/trace/callstack/LttngUstCallStackProviderTest.java b/lttng/org.eclipse.linuxtools.lttng2.ust.core.tests/src/org/eclipse/linuxtools/lttng2/ust/core/tests/trace/callstack/LttngUstCallStackProviderTest.java
deleted file mode 100644
index e27e7627b9..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.ust.core.tests/src/org/eclipse/linuxtools/lttng2/ust/core/tests/trace/callstack/LttngUstCallStackProviderTest.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013, 2014 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:
- * Alexandre Montplaisir - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.lttng2.ust.core.tests.trace.callstack;
-
-import static org.junit.Assume.assumeTrue;
-
-import org.eclipse.linuxtools.tmf.ctf.core.tests.shared.CtfTmfTestTrace;
-import org.junit.BeforeClass;
-
-/**
- * Test suite for the UST callstack state provider, using the trace of a program
- * instrumented with lttng-ust-cyg-profile.so tracepoints.
- *
- * @author Alexandre Montplaisir
- */
-public class LttngUstCallStackProviderTest extends AbstractProviderTest {
-
- private static final long[] timestamps = { 1378850463600000000L,
- 1378850463770000000L,
- 1378850463868753000L };
-
- /**
- * Class setup
- */
- @BeforeClass
- public static void setUpClass() {
- assumeTrue(CtfTmfTestTrace.CYG_PROFILE.exists());
- }
-
- @Override
- protected CtfTmfTestTrace getTestTrace() {
- return CtfTmfTestTrace.CYG_PROFILE;
- }
-
- @Override
- protected String getProcName() {
- return "glxgears-16073";
- }
-
- @Override
- protected long getTestTimestamp(int index) {
- return timestamps[index];
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.lttng2.ust.core/.classpath b/lttng/org.eclipse.linuxtools.lttng2.ust.core/.classpath
deleted file mode 100644
index 098194ca4b..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.ust.core/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
- <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.7"/>
- <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
- <classpathentry kind="src" path="src"/>
- <classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/lttng/org.eclipse.linuxtools.lttng2.ust.core/.project b/lttng/org.eclipse.linuxtools.lttng2.ust.core/.project
deleted file mode 100644
index d71a1a0496..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.ust.core/.project
+++ /dev/null
@@ -1,34 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>org.eclipse.linuxtools.lttng2.ust.core</name>
- <comment></comment>
- <projects>
- </projects>
- <buildSpec>
- <buildCommand>
- <name>org.eclipse.jdt.core.javabuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.ManifestBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.SchemaBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.api.tools.apiAnalysisBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>org.eclipse.pde.PluginNature</nature>
- <nature>org.eclipse.jdt.core.javanature</nature>
- <nature>org.eclipse.pde.api.tools.apiAnalysisNature</nature>
- </natures>
-</projectDescription>
diff --git a/lttng/org.eclipse.linuxtools.lttng2.ust.core/.settings/org.eclipse.core.resources.prefs b/lttng/org.eclipse.linuxtools.lttng2.ust.core/.settings/org.eclipse.core.resources.prefs
deleted file mode 100644
index 99f26c0203..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.ust.core/.settings/org.eclipse.core.resources.prefs
+++ /dev/null
@@ -1,2 +0,0 @@
-eclipse.preferences.version=1
-encoding/<project>=UTF-8
diff --git a/lttng/org.eclipse.linuxtools.lttng2.ust.core/.settings/org.eclipse.core.runtime.prefs b/lttng/org.eclipse.linuxtools.lttng2.ust.core/.settings/org.eclipse.core.runtime.prefs
deleted file mode 100644
index 5a0ad22d2a..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.ust.core/.settings/org.eclipse.core.runtime.prefs
+++ /dev/null
@@ -1,2 +0,0 @@
-eclipse.preferences.version=1
-line.separator=\n
diff --git a/lttng/org.eclipse.linuxtools.lttng2.ust.core/.settings/org.eclipse.jdt.core.prefs b/lttng/org.eclipse.linuxtools.lttng2.ust.core/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index 9f3662cd78..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.ust.core/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,394 +0,0 @@
-eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.annotation.inheritNullAnnotations=enabled
-org.eclipse.jdt.core.compiler.annotation.missingNonNullByDefaultAnnotation=ignore
-org.eclipse.jdt.core.compiler.annotation.nonnull=org.eclipse.jdt.annotation.NonNull
-org.eclipse.jdt.core.compiler.annotation.nonnullbydefault=org.eclipse.jdt.annotation.NonNullByDefault
-org.eclipse.jdt.core.compiler.annotation.nullable=org.eclipse.jdt.annotation.Nullable
-org.eclipse.jdt.core.compiler.annotation.nullanalysis=enabled
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.7
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.doc.comment.support=enabled
-org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=error
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
-org.eclipse.jdt.core.compiler.problem.comparingIdentical=error
-org.eclipse.jdt.core.compiler.problem.deadCode=error
-org.eclipse.jdt.core.compiler.problem.deprecation=error
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled
-org.eclipse.jdt.core.compiler.problem.discouragedReference=warning
-org.eclipse.jdt.core.compiler.problem.emptyStatement=error
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.problem.explicitlyClosedAutoCloseable=error
-org.eclipse.jdt.core.compiler.problem.fallthroughCase=error
-org.eclipse.jdt.core.compiler.problem.fatalOptionalError=disabled
-org.eclipse.jdt.core.compiler.problem.fieldHiding=error
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=error
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=error
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=error
-org.eclipse.jdt.core.compiler.problem.includeNullInfoFromAsserts=disabled
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=error
-org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=error
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=error
-org.eclipse.jdt.core.compiler.problem.invalidJavadoc=warning
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTags=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=protected
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=error
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=error
-org.eclipse.jdt.core.compiler.problem.missingDefaultCase=error
-org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=error
-org.eclipse.jdt.core.compiler.problem.missingEnumCaseDespiteDefault=enabled
-org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=error
-org.eclipse.jdt.core.compiler.problem.missingJavadocComments=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=protected
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagDescription=all_standard_tags
-org.eclipse.jdt.core.compiler.problem.missingJavadocTags=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsMethodTypeParameters=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=protected
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=error
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotationForInterfaceMethodImplementation=enabled
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=error
-org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=error
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=error
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=error
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=warning
-org.eclipse.jdt.core.compiler.problem.nonnullParameterAnnotationDropped=warning
-org.eclipse.jdt.core.compiler.problem.nullAnnotationInferenceConflict=warning
-org.eclipse.jdt.core.compiler.problem.nullReference=error
-org.eclipse.jdt.core.compiler.problem.nullSpecViolation=error
-org.eclipse.jdt.core.compiler.problem.nullUncheckedConversion=warning
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=error
-org.eclipse.jdt.core.compiler.problem.parameterAssignment=error
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=error
-org.eclipse.jdt.core.compiler.problem.potentialNullReference=error
-org.eclipse.jdt.core.compiler.problem.potentiallyUnclosedCloseable=warning
-org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning
-org.eclipse.jdt.core.compiler.problem.redundantNullAnnotation=warning
-org.eclipse.jdt.core.compiler.problem.redundantNullCheck=error
-org.eclipse.jdt.core.compiler.problem.redundantSpecificationOfTypeArguments=error
-org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=error
-org.eclipse.jdt.core.compiler.problem.reportMethodCanBePotentiallyStatic=ignore
-org.eclipse.jdt.core.compiler.problem.reportMethodCanBeStatic=error
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=error
-org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=disabled
-org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
-org.eclipse.jdt.core.compiler.problem.syntacticNullAnalysisForFields=enabled
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
-org.eclipse.jdt.core.compiler.problem.typeParameterHiding=error
-org.eclipse.jdt.core.compiler.problem.unavoidableGenericTypeProblems=disabled
-org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
-org.eclipse.jdt.core.compiler.problem.unclosedCloseable=error
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
-org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=error
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=error
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=error
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=warning
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=disabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=disabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=error
-org.eclipse.jdt.core.compiler.problem.unusedLabel=error
-org.eclipse.jdt.core.compiler.problem.unusedLocal=error
-org.eclipse.jdt.core.compiler.problem.unusedObjectAllocation=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=error
-org.eclipse.jdt.core.compiler.problem.unusedTypeParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedWarningToken=error
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=error
-org.eclipse.jdt.core.compiler.source=1.7
-org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_assignment=0
-org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
-org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
-org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
-org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
-org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0
-org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=80
-org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=0
-org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch=16
-org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_after_package=1
-org.eclipse.jdt.core.formatter.blank_lines_before_field=0
-org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
-org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
-org.eclipse.jdt.core.formatter.blank_lines_before_method=1
-org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
-org.eclipse.jdt.core.formatter.blank_lines_before_package=0
-org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
-org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
-org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
-org.eclipse.jdt.core.formatter.comment.format_block_comments=true
-org.eclipse.jdt.core.formatter.comment.format_header=false
-org.eclipse.jdt.core.formatter.comment.format_html=true
-org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=true
-org.eclipse.jdt.core.formatter.comment.format_line_comments=true
-org.eclipse.jdt.core.formatter.comment.format_source_code=true
-org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true
-org.eclipse.jdt.core.formatter.comment.indent_root_tags=true
-org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
-org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=insert
-org.eclipse.jdt.core.formatter.comment.line_length=80
-org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries=true
-org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries=true
-org.eclipse.jdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments=false
-org.eclipse.jdt.core.formatter.compact_else_if=true
-org.eclipse.jdt.core.formatter.continuation_indentation=2
-org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2
-org.eclipse.jdt.core.formatter.disabling_tag=@formatter\:off
-org.eclipse.jdt.core.formatter.enabling_tag=@formatter\:on
-org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
-org.eclipse.jdt.core.formatter.format_line_comment_starting_on_first_column=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
-org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_empty_lines=false
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=false
-org.eclipse.jdt.core.formatter.indentation.size=4
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_label=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_try=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources=insert
-org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_try=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
-org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.join_lines_in_comments=true
-org.eclipse.jdt.core.formatter.join_wrapped_lines=false
-org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.lineSplit=250
-org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
-org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
-org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true
-org.eclipse.jdt.core.formatter.tabulation.char=space
-org.eclipse.jdt.core.formatter.tabulation.size=4
-org.eclipse.jdt.core.formatter.use_on_off_tags=false
-org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
-org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
-org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true
-org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true
diff --git a/lttng/org.eclipse.linuxtools.lttng2.ust.core/.settings/org.eclipse.jdt.ui.prefs b/lttng/org.eclipse.linuxtools.lttng2.ust.core/.settings/org.eclipse.jdt.ui.prefs
deleted file mode 100644
index 4fd0c7006a..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.ust.core/.settings/org.eclipse.jdt.ui.prefs
+++ /dev/null
@@ -1,56 +0,0 @@
-eclipse.preferences.version=1
-editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
-formatter_profile=_tmf-style
-formatter_settings_version=12
-sp_cleanup.add_default_serial_version_id=true
-sp_cleanup.add_generated_serial_version_id=false
-sp_cleanup.add_missing_annotations=false
-sp_cleanup.add_missing_deprecated_annotations=true
-sp_cleanup.add_missing_methods=false
-sp_cleanup.add_missing_nls_tags=false
-sp_cleanup.add_missing_override_annotations=true
-sp_cleanup.add_missing_override_annotations_interface_methods=true
-sp_cleanup.add_serial_version_id=false
-sp_cleanup.always_use_blocks=true
-sp_cleanup.always_use_parentheses_in_expressions=false
-sp_cleanup.always_use_this_for_non_static_field_access=false
-sp_cleanup.always_use_this_for_non_static_method_access=false
-sp_cleanup.convert_to_enhanced_for_loop=false
-sp_cleanup.correct_indentation=false
-sp_cleanup.format_source_code=false
-sp_cleanup.format_source_code_changes_only=false
-sp_cleanup.make_local_variable_final=false
-sp_cleanup.make_parameters_final=false
-sp_cleanup.make_private_fields_final=true
-sp_cleanup.make_type_abstract_if_missing_method=false
-sp_cleanup.make_variable_declarations_final=false
-sp_cleanup.never_use_blocks=false
-sp_cleanup.never_use_parentheses_in_expressions=true
-sp_cleanup.on_save_use_additional_actions=true
-sp_cleanup.organize_imports=false
-sp_cleanup.qualify_static_field_accesses_with_declaring_class=false
-sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_with_declaring_class=false
-sp_cleanup.qualify_static_method_accesses_with_declaring_class=false
-sp_cleanup.remove_private_constructors=true
-sp_cleanup.remove_trailing_whitespaces=true
-sp_cleanup.remove_trailing_whitespaces_all=true
-sp_cleanup.remove_trailing_whitespaces_ignore_empty=false
-sp_cleanup.remove_unnecessary_casts=false
-sp_cleanup.remove_unnecessary_nls_tags=false
-sp_cleanup.remove_unused_imports=false
-sp_cleanup.remove_unused_local_variables=false
-sp_cleanup.remove_unused_private_fields=true
-sp_cleanup.remove_unused_private_members=false
-sp_cleanup.remove_unused_private_methods=true
-sp_cleanup.remove_unused_private_types=true
-sp_cleanup.sort_members=false
-sp_cleanup.sort_members_all=false
-sp_cleanup.use_blocks=true
-sp_cleanup.use_blocks_only_for_return_and_throw=false
-sp_cleanup.use_parentheses_in_expressions=false
-sp_cleanup.use_this_for_non_static_field_access=false
-sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=true
-sp_cleanup.use_this_for_non_static_method_access=false
-sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true
diff --git a/lttng/org.eclipse.linuxtools.lttng2.ust.core/.settings/org.eclipse.pde.api.tools.prefs b/lttng/org.eclipse.linuxtools.lttng2.ust.core/.settings/org.eclipse.pde.api.tools.prefs
deleted file mode 100644
index acc3abd47c..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.ust.core/.settings/org.eclipse.pde.api.tools.prefs
+++ /dev/null
@@ -1,97 +0,0 @@
-ANNOTATION_ELEMENT_TYPE_ADDED_METHOD_WITHOUT_DEFAULT_VALUE=Error
-ANNOTATION_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
-ANNOTATION_ELEMENT_TYPE_REMOVED_FIELD=Error
-ANNOTATION_ELEMENT_TYPE_REMOVED_METHOD=Error
-ANNOTATION_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
-API_COMPONENT_ELEMENT_TYPE_REMOVED_API_TYPE=Error
-API_COMPONENT_ELEMENT_TYPE_REMOVED_REEXPORTED_API_TYPE=Error
-API_COMPONENT_ELEMENT_TYPE_REMOVED_REEXPORTED_TYPE=Error
-API_COMPONENT_ELEMENT_TYPE_REMOVED_TYPE=Error
-API_USE_SCAN_FIELD_SEVERITY=Error
-API_USE_SCAN_METHOD_SEVERITY=Error
-API_USE_SCAN_TYPE_SEVERITY=Error
-CLASS_ELEMENT_TYPE_ADDED_METHOD=Error
-CLASS_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
-CLASS_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
-CLASS_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error
-CLASS_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
-CLASS_ELEMENT_TYPE_CHANGED_NON_ABSTRACT_TO_ABSTRACT=Error
-CLASS_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error
-CLASS_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
-CLASS_ELEMENT_TYPE_REMOVED_CONSTRUCTOR=Error
-CLASS_ELEMENT_TYPE_REMOVED_FIELD=Error
-CLASS_ELEMENT_TYPE_REMOVED_METHOD=Error
-CLASS_ELEMENT_TYPE_REMOVED_SUPERCLASS=Error
-CLASS_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
-CLASS_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
-CONSTRUCTOR_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
-CONSTRUCTOR_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
-CONSTRUCTOR_ELEMENT_TYPE_CHANGED_VARARGS_TO_ARRAY=Error
-CONSTRUCTOR_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
-ENUM_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error
-ENUM_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
-ENUM_ELEMENT_TYPE_REMOVED_ENUM_CONSTANT=Error
-ENUM_ELEMENT_TYPE_REMOVED_FIELD=Error
-ENUM_ELEMENT_TYPE_REMOVED_METHOD=Error
-ENUM_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
-FIELD_ELEMENT_TYPE_ADDED_VALUE=Error
-FIELD_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
-FIELD_ELEMENT_TYPE_CHANGED_FINAL_TO_NON_FINAL_STATIC_CONSTANT=Error
-FIELD_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error
-FIELD_ELEMENT_TYPE_CHANGED_NON_STATIC_TO_STATIC=Error
-FIELD_ELEMENT_TYPE_CHANGED_STATIC_TO_NON_STATIC=Error
-FIELD_ELEMENT_TYPE_CHANGED_TYPE=Error
-FIELD_ELEMENT_TYPE_CHANGED_VALUE=Error
-FIELD_ELEMENT_TYPE_REMOVED_TYPE_ARGUMENT=Error
-FIELD_ELEMENT_TYPE_REMOVED_VALUE=Error
-ILLEGAL_EXTEND=Warning
-ILLEGAL_IMPLEMENT=Warning
-ILLEGAL_INSTANTIATE=Warning
-ILLEGAL_OVERRIDE=Warning
-ILLEGAL_REFERENCE=Warning
-INTERFACE_ELEMENT_TYPE_ADDED_FIELD=Error
-INTERFACE_ELEMENT_TYPE_ADDED_METHOD=Error
-INTERFACE_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
-INTERFACE_ELEMENT_TYPE_ADDED_SUPER_INTERFACE_WITH_METHODS=Error
-INTERFACE_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
-INTERFACE_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error
-INTERFACE_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
-INTERFACE_ELEMENT_TYPE_REMOVED_FIELD=Error
-INTERFACE_ELEMENT_TYPE_REMOVED_METHOD=Error
-INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
-INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
-INVALID_JAVADOC_TAG=Warning
-INVALID_REFERENCE_IN_SYSTEM_LIBRARIES=Warning
-LEAK_EXTEND=Warning
-LEAK_FIELD_DECL=Warning
-LEAK_IMPLEMENT=Warning
-LEAK_METHOD_PARAM=Warning
-LEAK_METHOD_RETURN_TYPE=Warning
-METHOD_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
-METHOD_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
-METHOD_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
-METHOD_ELEMENT_TYPE_CHANGED_NON_ABSTRACT_TO_ABSTRACT=Error
-METHOD_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error
-METHOD_ELEMENT_TYPE_CHANGED_NON_STATIC_TO_STATIC=Error
-METHOD_ELEMENT_TYPE_CHANGED_STATIC_TO_NON_STATIC=Error
-METHOD_ELEMENT_TYPE_CHANGED_VARARGS_TO_ARRAY=Error
-METHOD_ELEMENT_TYPE_REMOVED_ANNOTATION_DEFAULT_VALUE=Error
-METHOD_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
-MISSING_EE_DESCRIPTIONS=Ignore
-TYPE_PARAMETER_ELEMENT_TYPE_ADDED_CLASS_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_ADDED_INTERFACE_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_CHANGED_CLASS_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_CHANGED_INTERFACE_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_CLASS_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error
-UNUSED_PROBLEM_FILTERS=Warning
-automatically_removed_unused_problem_filters=false
-eclipse.preferences.version=1
-incompatible_api_component_version=Error
-incompatible_api_component_version_include_major_without_breaking_change=Disabled
-incompatible_api_component_version_include_minor_without_api_change=Disabled
-invalid_since_tag_version=Error
-malformed_since_tag=Error
-missing_since_tag=Error
-report_api_breakage_when_major_version_incremented=Disabled
-report_resolution_errors_api_component=Warning
diff --git a/lttng/org.eclipse.linuxtools.lttng2.ust.core/.settings/org.eclipse.pde.prefs b/lttng/org.eclipse.linuxtools.lttng2.ust.core/.settings/org.eclipse.pde.prefs
deleted file mode 100644
index d92b94fd4b..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.ust.core/.settings/org.eclipse.pde.prefs
+++ /dev/null
@@ -1,32 +0,0 @@
-compilers.f.unresolved-features=1
-compilers.f.unresolved-plugins=1
-compilers.incompatible-environment=1
-compilers.p.build=1
-compilers.p.build.bin.includes=1
-compilers.p.build.encodings=2
-compilers.p.build.java.compiler=2
-compilers.p.build.java.compliance=1
-compilers.p.build.missing.output=2
-compilers.p.build.output.library=1
-compilers.p.build.source.library=1
-compilers.p.build.src.includes=1
-compilers.p.deprecated=1
-compilers.p.discouraged-class=1
-compilers.p.internal=1
-compilers.p.missing-packages=1
-compilers.p.missing-version-export-package=2
-compilers.p.missing-version-import-package=2
-compilers.p.missing-version-require-bundle=2
-compilers.p.no-required-att=0
-compilers.p.not-externalized-att=1
-compilers.p.unknown-attribute=1
-compilers.p.unknown-class=1
-compilers.p.unknown-element=1
-compilers.p.unknown-identifier=1
-compilers.p.unknown-resource=1
-compilers.p.unresolved-ex-points=0
-compilers.p.unresolved-import=0
-compilers.s.create-docs=false
-compilers.s.doc-folder=doc
-compilers.s.open-tags=1
-eclipse.preferences.version=1
diff --git a/lttng/org.eclipse.linuxtools.lttng2.ust.core/META-INF/MANIFEST.MF b/lttng/org.eclipse.linuxtools.lttng2.ust.core/META-INF/MANIFEST.MF
deleted file mode 100644
index a1395795dd..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.ust.core/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,22 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %Bundle-Name
-Bundle-Vendor: %Bundle-Vendor
-Bundle-Version: 3.1.0.qualifier
-Bundle-Localization: plugin
-Bundle-SymbolicName: org.eclipse.linuxtools.lttng2.ust.core;singleton:=true
-Bundle-Activator: org.eclipse.linuxtools.internal.lttng2.ust.core.Activator
-Bundle-ActivationPolicy: lazy
-Bundle-RequiredExecutionEnvironment: JavaSE-1.7
-Export-Package: org.eclipse.linuxtools.internal.lttng2.ust.core;x-internal:=true,
- org.eclipse.linuxtools.internal.lttng2.ust.core.memoryusage;x-friends:="org.eclipse.linuxtools.lttng2.ust.ui,org.eclipse.linuxtools.lttng2.ust.core.tests",
- org.eclipse.linuxtools.internal.lttng2.ust.core.trace.callstack;x-friends:="org.eclipse.linuxtools.lttng2.ust.ui,org.eclipse.linuxtools.lttng2.ust.core.tests",
- org.eclipse.linuxtools.lttng2.ust.core.analysis.memory,
- org.eclipse.linuxtools.lttng2.ust.core.trace
-Require-Bundle: org.eclipse.core.runtime,
- org.eclipse.core.resources,
- org.eclipse.linuxtools.ctf.core;bundle-version="3.1.0",
- org.eclipse.linuxtools.tmf.core;bundle-version="3.1.0",
- org.eclipse.linuxtools.tmf.ctf.core,
- org.eclipse.linuxtools.lttng2.control.core
-Import-Package: com.google.common.collect
diff --git a/lttng/org.eclipse.linuxtools.lttng2.ust.core/about.html b/lttng/org.eclipse.linuxtools.lttng2.ust.core/about.html
deleted file mode 100644
index c258ef55d8..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.ust.core/about.html
+++ /dev/null
@@ -1,28 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
-<title>About</title>
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
-
-<p>June 5, 2006</p>
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;). Unless otherwise
-indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is available
-at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is
-being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content. Check the Redistributor's license that was
-provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at <a href="http://www.eclipse.org/">http://www.eclipse.org</a>.</p>
-
-</body>
-</html> \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.lttng2.ust.core/build.properties b/lttng/org.eclipse.linuxtools.lttng2.ust.core/build.properties
deleted file mode 100644
index 244c9d8e3e..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.ust.core/build.properties
+++ /dev/null
@@ -1,22 +0,0 @@
-###############################################################################
-# Copyright (c) 2013, 2014 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:
-# Ericsson - Initial API and implementation
-###############################################################################
-
-source.. = src/
-output.. = bin/
-bin.includes = META-INF/,\
- .,\
- about.html,\
- plugin.properties,\
- plugin.xml
-src.includes = about.html
-additional.bundles = org.eclipse.jdt.annotation
-jars.extra.classpath = platform:/plugin/org.eclipse.jdt.annotation
diff --git a/lttng/org.eclipse.linuxtools.lttng2.ust.core/plugin.properties b/lttng/org.eclipse.linuxtools.lttng2.ust.core/plugin.properties
deleted file mode 100644
index e48e5b5e18..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.ust.core/plugin.properties
+++ /dev/null
@@ -1,17 +0,0 @@
-###############################################################################
-# Copyright (c) 2013, 2014 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:
-# Ericsson - Initial API and implementation
-###############################################################################
-
-#Properties file for org.eclipse.linuxtools.lttng2.ust.core
-Bundle-Vendor = Eclipse Linux Tools
-Bundle-Name = Linux Tools LTTng Userspace Tracer Analysis Core Plug-in
-
-tracetype.type.ust = LTTng UST Trace
diff --git a/lttng/org.eclipse.linuxtools.lttng2.ust.core/plugin.xml b/lttng/org.eclipse.linuxtools.lttng2.ust.core/plugin.xml
deleted file mode 100644
index 8d536c340e..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.ust.core/plugin.xml
+++ /dev/null
@@ -1,26 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.4"?>
-<plugin>
- <extension
- point="org.eclipse.linuxtools.tmf.core.tracetype">
- <type
- category="org.eclipse.linuxtools.tmf.ctf.core.category.ctf"
- event_type="org.eclipse.linuxtools.tmf.ctf.core.CtfTmfEvent"
- id="org.eclipse.linuxtools.lttng2.ust.tracetype"
- isDirectory="true"
- name="%tracetype.type.ust"
- trace_type="org.eclipse.linuxtools.lttng2.ust.core.trace.LttngUstTrace">
- </type>
- </extension>
- <extension
- point="org.eclipse.linuxtools.tmf.core.analysis">
- <module
- analysis_module="org.eclipse.linuxtools.lttng2.ust.core.analysis.memory.UstMemoryAnalysisModule"
- id="org.eclipse.linuxtools.lttng2.ust.analysis.memory"
- name="Ust Memory">
- <tracetype
- class="org.eclipse.linuxtools.lttng2.ust.core.trace.LttngUstTrace">
- </tracetype>
- </module>
- </extension>
-</plugin>
diff --git a/lttng/org.eclipse.linuxtools.lttng2.ust.core/pom.xml b/lttng/org.eclipse.linuxtools.lttng2.ust.core/pom.xml
deleted file mode 100644
index 984a0cb1f6..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.ust.core/pom.xml
+++ /dev/null
@@ -1,36 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Copyright (C) 2011, 2013 Red Hat Inc., 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
--->
-<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
- <modelVersion>4.0.0</modelVersion>
-
- <parent>
- <artifactId>linuxtools-lttng-parent</artifactId>
- <groupId>org.eclipse.linuxtools.lttng</groupId>
- <version>3.2.0-SNAPSHOT</version>
- </parent>
-
- <artifactId>org.eclipse.linuxtools.lttng2.ust.core</artifactId>
- <version>3.1.0-SNAPSHOT</version>
- <packaging>eclipse-plugin</packaging>
-
- <name>Linux Tools LTTng Userspace Tracer Analysis Core Plug-in</name>
-
- <build>
- <plugins>
- <plugin>
- <groupId>org.eclipse.tycho</groupId>
- <artifactId>tycho-source-plugin</artifactId>
- </plugin>
- </plugins>
- </build>
-
- <groupId>org.eclipse.linuxtools.lttng2</groupId>
-</project>
diff --git a/lttng/org.eclipse.linuxtools.lttng2.ust.core/src/org/eclipse/linuxtools/internal/lttng2/ust/core/Activator.java b/lttng/org.eclipse.linuxtools.lttng2.ust.core/src/org/eclipse/linuxtools/internal/lttng2/ust/core/Activator.java
deleted file mode 100644
index cdc004e903..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.ust.core/src/org/eclipse/linuxtools/internal/lttng2/ust/core/Activator.java
+++ /dev/null
@@ -1,137 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 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:
- * Alexandre Montplaisir - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.internal.lttng2.ust.core;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Plugin;
-import org.eclipse.core.runtime.Status;
-import org.osgi.framework.BundleContext;
-
-/**
- * <b><u>Activator</u></b>
- * <p>
- * The activator class controls the plug-in life cycle
- */
-public class Activator extends Plugin {
-
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
-
- /**
- * The plug-in ID
- */
- public static final String PLUGIN_ID = "org.eclipse.linuxtools.lttng2.ust.core"; //$NON-NLS-1$
-
- /**
- * The shared instance
- */
- private static Activator plugin;
-
- // ------------------------------------------------------------------------
- // Constructors
- // ------------------------------------------------------------------------
-
- /**
- * The constructor
- */
- public Activator() {
- }
-
- // ------------------------------------------------------------------------
- // Accessors
- // ------------------------------------------------------------------------
-
- /**
- * Returns the shared instance
- *
- * @return the shared instance
- */
- public static Activator getDefault() {
- return plugin;
- }
-
- // ------------------------------------------------------------------------
- // Operators
- // ------------------------------------------------------------------------
-
- @Override
- public void start(BundleContext context) throws Exception {
- super.start(context);
- plugin = this;
- }
-
- @Override
- public void stop(BundleContext context) throws Exception {
- plugin = null;
- super.stop(context);
- }
-
- /**
- * Logs a message with severity INFO in the runtime log of the plug-in.
- *
- * @param message A message to log
- */
- public void logInfo(String message) {
- getLog().log(new Status(IStatus.INFO, PLUGIN_ID, message));
- }
-
- /**
- * Logs a message and exception with severity INFO in the runtime log of the plug-in.
- *
- * @param message A message to log
- * @param exception A exception to log
- */
- public void logInfo(String message, Throwable exception) {
- getLog().log(new Status(IStatus.INFO, PLUGIN_ID, message, exception));
- }
-
- /**
- * Logs a message and exception with severity WARNING in the runtime log of the plug-in.
- *
- * @param message A message to log
- */
- public void logWarning(String message) {
- getLog().log(new Status(IStatus.WARNING, PLUGIN_ID, message));
- }
-
- /**
- * Logs a message and exception with severity WARNING in the runtime log of the plug-in.
- *
- * @param message A message to log
- * @param exception A exception to log
- */
- public void logWarning(String message, Throwable exception) {
- getLog().log(new Status(IStatus.WARNING, PLUGIN_ID, message, exception));
- }
-
- /**
- * Logs a message and exception with severity ERROR in the runtime log of the plug-in.
- *
- * @param message A message to log
- */
- public void logError(String message) {
- getLog().log(new Status(IStatus.ERROR, PLUGIN_ID, message));
- }
-
- /**
- * Logs a message and exception with severity ERROR in the runtime log of the plug-in.
- *
- * @param message A message to log
- * @param exception A exception to log
- */
- public void logError(String message, Throwable exception) {
- getLog().log(new Status(IStatus.ERROR, PLUGIN_ID, message, exception));
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.lttng2.ust.core/src/org/eclipse/linuxtools/internal/lttng2/ust/core/memoryusage/MemoryUsageStateProvider.java b/lttng/org.eclipse.linuxtools.lttng2.ust.core/src/org/eclipse/linuxtools/internal/lttng2/ust/core/memoryusage/MemoryUsageStateProvider.java
deleted file mode 100644
index eadbc058c3..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.ust.core/src/org/eclipse/linuxtools/internal/lttng2/ust/core/memoryusage/MemoryUsageStateProvider.java
+++ /dev/null
@@ -1,200 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2014 Ericsson, École Polytechnique de Montréal
- *
- * 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:
- * Matthew Khouzam - Initial API and implementation
- * Geneviève Bastien - Memory is per thread and only total is kept
- **********************************************************************/
-
-package org.eclipse.linuxtools.internal.lttng2.ust.core.memoryusage;
-
-import java.util.HashMap;
-import java.util.Map;
-
-import org.eclipse.linuxtools.lttng2.ust.core.trace.LttngUstTrace;
-import org.eclipse.linuxtools.statesystem.core.exceptions.AttributeNotFoundException;
-import org.eclipse.linuxtools.statesystem.core.exceptions.StateValueTypeException;
-import org.eclipse.linuxtools.statesystem.core.exceptions.TimeRangeException;
-import org.eclipse.linuxtools.statesystem.core.statevalue.ITmfStateValue;
-import org.eclipse.linuxtools.statesystem.core.statevalue.TmfStateValue;
-import org.eclipse.linuxtools.tmf.core.event.ITmfEvent;
-import org.eclipse.linuxtools.tmf.core.event.ITmfEventField;
-import org.eclipse.linuxtools.tmf.core.statesystem.AbstractTmfStateProvider;
-import org.eclipse.linuxtools.tmf.core.statesystem.ITmfStateProvider;
-import org.eclipse.linuxtools.tmf.ctf.core.CtfTmfEvent;
-
-/**
- * State provider to track the memory of the threads using the UST libc wrapper
- * memory events.
- *
- * @author Matthew Khouzam
- * @author Geneviève Bastien
- */
-public class MemoryUsageStateProvider extends AbstractTmfStateProvider {
-
- /* Version of this state provider */
- private static final int VERSION = 1;
-
- /* Maps a pointer to a memory zone to the size of the memory */
- private final Map<Long, Long> fMemory = new HashMap<>();
-
- private static final Long MINUS_ONE = Long.valueOf(-1);
- private static final Long ZERO = Long.valueOf(0);
- private static final String EMPTY_STRING = ""; //$NON-NLS-1$
-
- /**
- * Constructor
- *
- * @param trace
- * trace
- */
- public MemoryUsageStateProvider(LttngUstTrace trace) {
- super(trace, CtfTmfEvent.class, "Ust:Memory"); //$NON-NLS-1$
- }
-
- @Override
- protected void eventHandle(ITmfEvent event) {
- String name = event.getType().getName();
- switch (name) {
- case UstMemoryStrings.MALLOC: {
- Long ptr = (Long) event.getContent().getField(UstMemoryStrings.FIELD_PTR).getValue();
- if (ZERO.equals(ptr)) {
- return;
- }
- Long size = (Long) event.getContent().getField(UstMemoryStrings.FIELD_SIZE).getValue();
- setMem(event, ptr, size);
- }
- break;
- case UstMemoryStrings.FREE: {
- Long ptr = (Long) event.getContent().getField(UstMemoryStrings.FIELD_PTR).getValue();
- if (ZERO.equals(ptr)) {
- return;
- }
- setMem(event, ptr, ZERO);
- }
- break;
- case UstMemoryStrings.CALLOC: {
- Long ptr = (Long) event.getContent().getField(UstMemoryStrings.FIELD_PTR).getValue();
- if (ZERO.equals(ptr)) {
- return;
- }
- Long nmemb = (Long) event.getContent().getField(UstMemoryStrings.FIELD_NMEMB).getValue();
- Long size = (Long) event.getContent().getField(UstMemoryStrings.FIELD_SIZE).getValue();
- setMem(event, ptr, size * nmemb);
- }
- break;
- case UstMemoryStrings.REALLOC: {
- Long ptr = (Long) event.getContent().getField(UstMemoryStrings.FIELD_PTR).getValue();
- if (ZERO.equals(ptr)) {
- return;
- }
- Long newPtr = (Long) event.getContent().getField(UstMemoryStrings.FIELD_INPTR).getValue();
- Long size = (Long) event.getContent().getField(UstMemoryStrings.FIELD_SIZE).getValue();
- setMem(event, ptr, ZERO);
- setMem(event, newPtr, size);
- }
- break;
- case UstMemoryStrings.MEMALIGN: {
- Long ptr = (Long) event.getContent().getField(UstMemoryStrings.FIELD_PTR).getValue();
- if (ZERO.equals(ptr)) {
- return;
- }
- Long size = (Long) event.getContent().getField(UstMemoryStrings.FIELD_SIZE).getValue();
- setMem(event, ptr, size);
- }
- break;
- case UstMemoryStrings.POSIX_MEMALIGN: {
- Long ptr = (Long) event.getContent().getField(UstMemoryStrings.FIELD_OUTPTR).getValue();
- if (ZERO.equals(ptr)) {
- return;
- }
- Long size = (Long) event.getContent().getField(UstMemoryStrings.FIELD_SIZE).getValue();
- setMem(event, ptr, size);
- }
- break;
- default:
- break;
- }
-
- }
-
- @Override
- public ITmfStateProvider getNewInstance() {
- return new MemoryUsageStateProvider(getTrace());
- }
-
- @Override
- public LttngUstTrace getTrace() {
- return (LttngUstTrace) super.getTrace();
- }
-
- @Override
- public int getVersion() {
- return VERSION;
- }
-
- private static Long getVtid(ITmfEvent event) {
- ITmfEventField field = event.getContent().getField(UstMemoryStrings.CONTEXT_VTID);
- if (field == null) {
- return MINUS_ONE;
- }
- return (Long) field.getValue();
- }
-
- private static String getProcname(ITmfEvent event) {
- ITmfEventField field = event.getContent().getField(UstMemoryStrings.CONTEXT_PROCNAME);
- if (field == null) {
- return EMPTY_STRING;
- }
- return (String) field.getValue();
- }
-
- private void setMem(ITmfEvent event, Long ptr, Long size) {
- long ts = event.getTimestamp().getValue();
- Long tid = getVtid(event);
-
- Long memoryDiff = size;
- /* Size is 0, it means it was deleted */
- if (ZERO.equals(size)) {
- Long memSize = fMemory.remove(ptr);
- if (memSize == null) {
- return;
- }
- memoryDiff = -memSize;
- } else {
- fMemory.put(ptr, size);
- }
- try {
- int tidQuark = ss.getQuarkAbsoluteAndAdd(tid.toString());
- int tidMemQuark = ss.getQuarkRelativeAndAdd(tidQuark, UstMemoryStrings.UST_MEMORY_MEMORY_ATTRIBUTE);
-
- ITmfStateValue prevMem = ss.queryOngoingState(tidMemQuark);
- /* First time we set this value */
- if (prevMem.isNull()) {
- int procNameQuark = ss.getQuarkRelativeAndAdd(tidQuark, UstMemoryStrings.UST_MEMORY_PROCNAME_ATTRIBUTE);
- String procName = getProcname(event);
- /*
- * No tid/procname for the event for the event, added to a
- * 'others' thread
- */
- if (tid.equals(MINUS_ONE)) {
- procName = UstMemoryStrings.OTHERS;
- }
- ss.modifyAttribute(ts, TmfStateValue.newValueString(procName), procNameQuark);
- prevMem = TmfStateValue.newValueLong(0);
- }
-
- long prevMemValue = prevMem.unboxLong();
- prevMemValue += memoryDiff.longValue();
- ss.modifyAttribute(ts, TmfStateValue.newValueLong(prevMemValue), tidMemQuark);
- } catch (AttributeNotFoundException | TimeRangeException | StateValueTypeException e) {
- throw new IllegalStateException(e);
- }
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.lttng2.ust.core/src/org/eclipse/linuxtools/internal/lttng2/ust/core/memoryusage/UstMemoryStrings.java b/lttng/org.eclipse.linuxtools.lttng2.ust.core/src/org/eclipse/linuxtools/internal/lttng2/ust/core/memoryusage/UstMemoryStrings.java
deleted file mode 100644
index 30ee6d33bf..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.ust.core/src/org/eclipse/linuxtools/internal/lttng2/ust/core/memoryusage/UstMemoryStrings.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 Ericsson, École Polytechnique de Montréal
- *
- * 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:
- * Matthew Khouzam, Geneviève Bastien - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.internal.lttng2.ust.core.memoryusage;
-
-/**
- * Strings for the memory usage state system using the LTTng UST libc
- * instrumentation
- *
- * @author Matthew Khouzam
- * @author Geneviève Bastien
- */
-@SuppressWarnings({ "nls", "javadoc" })
-public interface UstMemoryStrings {
-
- /** Memory state system attribute name */
- static final String UST_MEMORY_MEMORY_ATTRIBUTE = "Memory"; //$NON-NLS-1$
- /** Procname state system attribute name */
- static final String UST_MEMORY_PROCNAME_ATTRIBUTE = "Procname"; //$NON-NLS-1$
- /** Name of the attribute to store memory usage of events with no context */
- static final String OTHERS = "Others";
-
- /* UST_libc event names */
- static final String MALLOC = "ust_libc:malloc";
- static final String CALLOC = "ust_libc:calloc";
- static final String REALLOC = "ust_libc:realloc";
- static final String FREE = "ust_libc:free";
- static final String MEMALIGN = "ust_libc:memalign";
- static final String POSIX_MEMALIGN = "ust_libc:posix_memalign";
-
- /* Possible contexts */
- static final String CONTEXT_VTID = "context._vtid";
- static final String CONTEXT_PROCNAME = "context._procname";
-
- /* Event fields */
- static final String FIELD_PTR = "ptr";
- static final String FIELD_NMEMB = "nmemb";
- static final String FIELD_SIZE = "size";
- static final String FIELD_OUTPTR = "out_ptr";
- static final String FIELD_INPTR = "in_ptr";
-
-}
diff --git a/lttng/org.eclipse.linuxtools.lttng2.ust.core/src/org/eclipse/linuxtools/internal/lttng2/ust/core/trace/callstack/LttngUstCallStackProvider.java b/lttng/org.eclipse.linuxtools.lttng2.ust.core/src/org/eclipse/linuxtools/internal/lttng2/ust/core/trace/callstack/LttngUstCallStackProvider.java
deleted file mode 100644
index 15bc30a1aa..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.ust.core/src/org/eclipse/linuxtools/internal/lttng2/ust/core/trace/callstack/LttngUstCallStackProvider.java
+++ /dev/null
@@ -1,171 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013, 2014 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:
- * Alexandre Montplaisir - Initial API and implementation
- * Patrick Tasse - Add support for thread id
- *******************************************************************************/
-
-package org.eclipse.linuxtools.internal.lttng2.ust.core.trace.callstack;
-
-import java.util.HashSet;
-import java.util.Set;
-
-import org.eclipse.linuxtools.tmf.core.callstack.CallStackStateProvider;
-import org.eclipse.linuxtools.tmf.core.event.ITmfEvent;
-import org.eclipse.linuxtools.tmf.core.event.ITmfEventField;
-import org.eclipse.linuxtools.tmf.core.trace.ITmfTrace;
-import org.eclipse.linuxtools.tmf.ctf.core.CtfTmfEvent;
-
-/**
- * Callstack provider for LTTng-UST traces.
- *
- * If the traces contains 'func_entry' and 'func_exit' event (see the
- * lttng-ust-cyg-profile manpage), AND contains vtid and procname contexts, we
- * can use this information to populate the TMF Callstack View.
- *
- * Granted, most UST traces will not contain this information. In this case,
- * this will simply build an empty state system, and the view will remain
- * unavailable.
- *
- * @author Alexandre Montplaisir
- */
-public class LttngUstCallStackProvider extends CallStackStateProvider {
-
- // ------------------------------------------------------------------------
- // Event strings
- // ------------------------------------------------------------------------
-
- /** Name of the fake field for the vtid contexts */
- private static final String CONTEXT_VTID = "context._vtid"; //$NON-NLS-1$
-
- /** Name of the fake field for the procname context */
- private static final String CONTEXT_PROCNAME = "context._procname"; //$NON-NLS-1$
-
- /** Field name for the target function address */
- private static final String FIELD_ADDR = "addr"; //$NON-NLS-1$
-
- /** Event names indicating function entry */
- private static final Set<String> FUNC_ENTRY_EVENTS = new HashSet<>();
-
- /** Event names indicating function exit */
- private static final Set<String> FUNC_EXIT_EVENTS = new HashSet<>();
-
- static {
- /* This seems overkill, but it will be checked every event. Gotta go FAST! */
- FUNC_ENTRY_EVENTS.add("lttng_ust_cyg_profile:func_entry"); //$NON-NLS-1$
- FUNC_ENTRY_EVENTS.add("lttng_ust_cyg_profile_fast:func_entry"); //$NON-NLS-1$
-
- FUNC_EXIT_EVENTS.add("lttng_ust_cyg_profile:func_exit"); //$NON-NLS-1$
- FUNC_EXIT_EVENTS.add("lttng_ust_cyg_profile_fast:func_exit"); //$NON-NLS-1$
- }
-
- /**
- * Version number of this state provider. Please bump this if you modify
- * the contents of the generated state history in some way.
- */
- private static final int VERSION = 2;
-
- // ------------------------------------------------------------------------
- // Constructor
- // ------------------------------------------------------------------------
-
- /**
- * Constructor
- *
- * @param trace
- * The UST trace
- */
- public LttngUstCallStackProvider(ITmfTrace trace) {
- super(trace);
- }
-
- // ------------------------------------------------------------------------
- // Methods from AbstractTmfStateProvider
- // ------------------------------------------------------------------------
-
- @Override
- public LttngUstCallStackProvider getNewInstance() {
- return new LttngUstCallStackProvider(getTrace());
- }
-
- @Override
- public int getVersion() {
- return VERSION;
- }
-
- // ------------------------------------------------------------------------
- // Methods from CallStackStateProvider
- // ------------------------------------------------------------------------
-
- /**
- * Check that this event contains the required information we need to be
- * used in the call stack view. We need at least the "procname" and "vtid"
- * contexts.
- */
- @Override
- protected boolean considerEvent(ITmfEvent event) {
- if (!(event instanceof CtfTmfEvent)) {
- return false;
- }
- ITmfEventField content = ((CtfTmfEvent) event).getContent();
- if (content.getField(CONTEXT_VTID) == null ||
- content.getField(CONTEXT_PROCNAME) == null) {
- return false;
- }
- return true;
- }
-
- @Override
- public String functionEntry(ITmfEvent event) {
- String eventName = event.getType().getName();
- if (!FUNC_ENTRY_EVENTS.contains(eventName)) {
- return null;
- }
- Long address = (Long) event.getContent().getField(FIELD_ADDR).getValue();
- return Long.toHexString(address);
- }
-
- @Override
- public String functionExit(ITmfEvent event) {
- String eventName = event.getType().getName();
- if (!FUNC_EXIT_EVENTS.contains(eventName)) {
- return null;
- }
- /*
- * The 'addr' field may or may not be present in func_exit events,
- * depending on if cyg-profile.so or cyg-profile-fast.so was used.
- */
- ITmfEventField field = event.getContent().getField(FIELD_ADDR);
- if (field == null) {
- return CallStackStateProvider.UNDEFINED;
- }
- Long address = (Long) field.getValue();
- return Long.toHexString(address);
- }
-
- @Override
- public String getThreadName(ITmfEvent event) {
- /* Class type and content was already checked if we get called here */
- ITmfEventField content = ((CtfTmfEvent) event).getContent();
- String procName = (String) content.getField(CONTEXT_PROCNAME).getValue();
- Long vtid = (Long) content.getField(CONTEXT_VTID).getValue();
-
- if (procName == null || vtid == null) {
- throw new IllegalStateException();
- }
-
- return new String(procName + '-' + vtid.toString());
- }
-
- @Override
- protected Long getThreadId(ITmfEvent event) {
- ITmfEventField content = ((CtfTmfEvent) event).getContent();
- return (Long) content.getField(CONTEXT_VTID).getValue();
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.lttng2.ust.core/src/org/eclipse/linuxtools/lttng2/ust/core/analysis/memory/Messages.java b/lttng/org.eclipse.linuxtools.lttng2.ust.core/src/org/eclipse/linuxtools/lttng2/ust/core/analysis/memory/Messages.java
deleted file mode 100644
index 90f39b747b..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.ust.core/src/org/eclipse/linuxtools/lttng2/ust/core/analysis/memory/Messages.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 École Polytechnique de Montréal
- *
- * 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:
- * Guilliano Molaire - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.linuxtools.lttng2.ust.core.analysis.memory;
-
-import org.eclipse.osgi.util.NLS;
-
-/**
- * Message bundle for the ust memory analysis module
- *
- * @author Guilliano Molaire
- * @since 3.0
- */
-public class Messages extends NLS {
- private static final String BUNDLE_NAME = "org.eclipse.linuxtools.lttng2.ust.core.analysis.memory.messages"; //$NON-NLS-1$
-
- /** Information regarding events loading prior to the analysis execution */
- public static String UstMemoryAnalysisModule_EventsLoadingInformation;
-
- /** Example of how to execute the application with the libc wrapper */
- public static String UstMemoryAnalysisModule_EventsLoadingExampleInformation;
-
- static {
- // initialize resource bundle
- NLS.initializeMessages(BUNDLE_NAME, Messages.class);
- }
-
- private Messages() {
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.lttng2.ust.core/src/org/eclipse/linuxtools/lttng2/ust/core/analysis/memory/UstMemoryAnalysisModule.java b/lttng/org.eclipse.linuxtools.lttng2.ust.core/src/org/eclipse/linuxtools/lttng2/ust/core/analysis/memory/UstMemoryAnalysisModule.java
deleted file mode 100644
index e4b3bd2167..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.ust.core/src/org/eclipse/linuxtools/lttng2/ust/core/analysis/memory/UstMemoryAnalysisModule.java
+++ /dev/null
@@ -1,94 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 École Polytechnique de Montréal
- *
- * 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:
- * Geneviève Bastien - Initial API and implementation
- * Guilliano Molaire - Provide the requirements of the analysis
- *******************************************************************************/
-
-package org.eclipse.linuxtools.lttng2.ust.core.analysis.memory;
-
-import org.eclipse.linuxtools.internal.lttng2.ust.core.memoryusage.MemoryUsageStateProvider;
-import org.eclipse.linuxtools.internal.lttng2.ust.core.memoryusage.UstMemoryStrings;
-import org.eclipse.linuxtools.lttng2.control.core.session.SessionConfigStrings;
-import org.eclipse.linuxtools.lttng2.ust.core.trace.LttngUstTrace;
-import org.eclipse.linuxtools.tmf.core.analysis.TmfAnalysisRequirement;
-import org.eclipse.linuxtools.tmf.core.analysis.TmfAnalysisRequirement.ValuePriorityLevel;
-import org.eclipse.linuxtools.tmf.core.exceptions.TmfAnalysisException;
-import org.eclipse.linuxtools.tmf.core.statesystem.ITmfStateProvider;
-import org.eclipse.linuxtools.tmf.core.statesystem.TmfStateSystemAnalysisModule;
-import org.eclipse.linuxtools.tmf.core.trace.ITmfTrace;
-
-import com.google.common.collect.ImmutableSet;
-
-/**
- * This analysis build a state system from the libc memory instrumentation on a
- * UST trace
- *
- * @author Geneviève Bastien
- * @since 3.0
- */
-public class UstMemoryAnalysisModule extends TmfStateSystemAnalysisModule {
-
- /**
- * Analysis ID, it should match that in the plugin.xml file
- */
- public static String ID = "org.eclipse.linuxtools.lttng2.ust.analysis.memory"; //$NON-NLS-1$
-
- private static final ImmutableSet<String> REQUIRED_EVENTS = ImmutableSet.of(
- UstMemoryStrings.MALLOC,
- UstMemoryStrings.FREE,
- UstMemoryStrings.CALLOC,
- UstMemoryStrings.REALLOC,
- UstMemoryStrings.MEMALIGN,
- UstMemoryStrings.POSIX_MEMALIGN
- );
-
- /** The requirements as an immutable set */
- private static final ImmutableSet<TmfAnalysisRequirement> REQUIREMENTS;
-
- static {
- /* Initialize the requirements for the analysis: domain and events */
- TmfAnalysisRequirement eventsReq = new TmfAnalysisRequirement(SessionConfigStrings.CONFIG_ELEMENT_EVENT, REQUIRED_EVENTS, ValuePriorityLevel.MANDATORY);
- /*
- * In order to have these events, the libc wrapper with probes should be
- * loaded
- */
- eventsReq.addInformation(Messages.UstMemoryAnalysisModule_EventsLoadingInformation);
- eventsReq.addInformation(Messages.UstMemoryAnalysisModule_EventsLoadingExampleInformation);
-
- /* The domain type of the analysis */
- TmfAnalysisRequirement domainReq = new TmfAnalysisRequirement(SessionConfigStrings.CONFIG_ELEMENT_DOMAIN);
- domainReq.addValue(SessionConfigStrings.CONFIG_DOMAIN_TYPE_UST, ValuePriorityLevel.MANDATORY);
-
- REQUIREMENTS = ImmutableSet.of(domainReq, eventsReq);
- }
-
- @Override
- protected ITmfStateProvider createStateProvider() {
- return new MemoryUsageStateProvider(getTrace());
- }
-
- @Override
- public void setTrace(ITmfTrace trace) throws TmfAnalysisException {
- if (!(trace instanceof LttngUstTrace)) {
- throw new IllegalStateException("UstMemoryAnalysisModule: trace should be of type LttngUstTrace"); //$NON-NLS-1$
- }
- super.setTrace(trace);
- }
-
- @Override
- protected LttngUstTrace getTrace() {
- return (LttngUstTrace) super.getTrace();
- }
-
- @Override
- public Iterable<TmfAnalysisRequirement> getAnalysisRequirements() {
- return REQUIREMENTS;
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.lttng2.ust.core/src/org/eclipse/linuxtools/lttng2/ust/core/analysis/memory/messages.properties b/lttng/org.eclipse.linuxtools.lttng2.ust.core/src/org/eclipse/linuxtools/lttng2/ust/core/analysis/memory/messages.properties
deleted file mode 100644
index fdc32e0300..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.ust.core/src/org/eclipse/linuxtools/lttng2/ust/core/analysis/memory/messages.properties
+++ /dev/null
@@ -1,2 +0,0 @@
-UstMemoryAnalysisModule_EventsLoadingInformation=The libc wrapper should be loaded in order to get the events in the trace output.
-UstMemoryAnalysisModule_EventsLoadingExampleInformation=Start the application to trace with: LD_PRELOAD=/path/to/liblttng-ust-libc-wrapper.so ./myProgram.
diff --git a/lttng/org.eclipse.linuxtools.lttng2.ust.core/src/org/eclipse/linuxtools/lttng2/ust/core/trace/LttngUstTrace.java b/lttng/org.eclipse.linuxtools.lttng2.ust.core/src/org/eclipse/linuxtools/lttng2/ust/core/trace/LttngUstTrace.java
deleted file mode 100644
index 2d89837f55..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.ust.core/src/org/eclipse/linuxtools/lttng2/ust/core/trace/LttngUstTrace.java
+++ /dev/null
@@ -1,69 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2013, 2014 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:
- * Matthew Khouzam - Initial API and implementation
- * Alexandre Montplaisir - Add UST callstack state system
- * Marc-Andre Laperle - Handle BufferOverflowException (Bug 420203)
- **********************************************************************/
-
-package org.eclipse.linuxtools.lttng2.ust.core.trace;
-
-import java.nio.BufferOverflowException;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.linuxtools.ctf.core.trace.CTFReaderException;
-import org.eclipse.linuxtools.ctf.core.trace.CTFTrace;
-import org.eclipse.linuxtools.internal.lttng2.ust.core.Activator;
-import org.eclipse.linuxtools.tmf.core.trace.TraceValidationStatus;
-import org.eclipse.linuxtools.tmf.ctf.core.CtfTmfTrace;
-
-/**
- * Class to contain LTTng-UST traces
- *
- * @author Matthew Khouzam
- * @since 2.1
- */
-public class LttngUstTrace extends CtfTmfTrace {
-
- private static final int CONFIDENCE = 100;
-
- /**
- * Default constructor
- */
- public LttngUstTrace() {
- super();
- }
-
- /**
- * {@inheritDoc}
- * <p>
- * This implementation sets the confidence to 100 if the trace is a valid
- * CTF trace in the "ust" domain.
- */
- @Override
- public IStatus validate(final IProject project, final String path) {
- try (CTFTrace temp = new CTFTrace(path);) {
- /* Make sure the domain is "ust" in the trace's env vars */
- String dom = temp.getEnvironment().get("domain"); //$NON-NLS-1$
- if (dom != null && dom.equals("\"ust\"")) { //$NON-NLS-1$
- return new TraceValidationStatus(CONFIDENCE, Activator.PLUGIN_ID);
- }
- return new Status(IStatus.ERROR, Activator.PLUGIN_ID, Messages.LttngUstTrace_DomainError);
-
- } catch (CTFReaderException e) {
- return new Status(IStatus.ERROR, Activator.PLUGIN_ID, e.toString(), e);
- } catch (NullPointerException e) {
- return new Status(IStatus.ERROR, Activator.PLUGIN_ID, e.toString(), e);
- } catch (final BufferOverflowException e) {
- return new Status(IStatus.ERROR, Activator.PLUGIN_ID, Messages.LttngUstTrace_TraceReadError + ": " + Messages.LttngUstTrace_MalformedTrace); //$NON-NLS-1$
- }
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.lttng2.ust.core/src/org/eclipse/linuxtools/lttng2/ust/core/trace/Messages.java b/lttng/org.eclipse.linuxtools.lttng2.ust.core/src/org/eclipse/linuxtools/lttng2/ust/core/trace/Messages.java
deleted file mode 100644
index bd36c13aed..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.ust.core/src/org/eclipse/linuxtools/lttng2/ust/core/trace/Messages.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 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:
- * Matthew Khouzam - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.lttng2.ust.core.trace;
-
-import org.eclipse.osgi.util.NLS;
-
-/**
- * Message bundle for lttng2.kernel.core.trace
- *
- * @author Matthew Khouzam
- * @since 2.1
- */
-public class Messages extends NLS {
-
- private static final String BUNDLE_NAME = "org.eclipse.linuxtools.lttng2.ust.core.trace.messages"; //$NON-NLS-1$
-
- /**
- * The domain is not "ust"
- */
- public static String LttngUstTrace_DomainError;
-
- /**
- * Malformed trace (buffer overflow maybe?)
- */
- public static String LttngUstTrace_MalformedTrace;
-
- /**
- * Trace read error
- */
- public static String LttngUstTrace_TraceReadError;
-
- static {
- // initialize resource bundle
- NLS.initializeMessages(BUNDLE_NAME, Messages.class);
- }
-
- private Messages() {
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.lttng2.ust.core/src/org/eclipse/linuxtools/lttng2/ust/core/trace/messages.properties b/lttng/org.eclipse.linuxtools.lttng2.ust.core/src/org/eclipse/linuxtools/lttng2/ust/core/trace/messages.properties
deleted file mode 100644
index d170bb9a2f..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.ust.core/src/org/eclipse/linuxtools/lttng2/ust/core/trace/messages.properties
+++ /dev/null
@@ -1,15 +0,0 @@
-###############################################################################
-# Copyright (c) 2013 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:
-# Ericsson - Initial API and implementation
-###############################################################################
-
-LttngUstTrace_DomainError=Domain mismatch, the environment should be 'ust'.
-LttngUstTrace_MalformedTrace=Buffer overflow exception, trace is malformed
-LttngUstTrace_TraceReadError=Lttng UST trace read error \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.lttng2.ust.ui.tests/.classpath b/lttng/org.eclipse.linuxtools.lttng2.ust.ui.tests/.classpath
deleted file mode 100644
index 098194ca4b..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.ust.ui.tests/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
- <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.7"/>
- <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
- <classpathentry kind="src" path="src"/>
- <classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/lttng/org.eclipse.linuxtools.lttng2.ust.ui.tests/.project b/lttng/org.eclipse.linuxtools.lttng2.ust.ui.tests/.project
deleted file mode 100644
index 1b6d7ef69c..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.ust.ui.tests/.project
+++ /dev/null
@@ -1,34 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>org.eclipse.linuxtools.lttng2.ust.ui.tests</name>
- <comment></comment>
- <projects>
- </projects>
- <buildSpec>
- <buildCommand>
- <name>org.eclipse.jdt.core.javabuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.ManifestBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.SchemaBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.api.tools.apiAnalysisBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>org.eclipse.pde.PluginNature</nature>
- <nature>org.eclipse.jdt.core.javanature</nature>
- <nature>org.eclipse.pde.api.tools.apiAnalysisNature</nature>
- </natures>
-</projectDescription>
diff --git a/lttng/org.eclipse.linuxtools.lttng2.ust.ui.tests/.settings/org.eclipse.core.resources.prefs b/lttng/org.eclipse.linuxtools.lttng2.ust.ui.tests/.settings/org.eclipse.core.resources.prefs
deleted file mode 100644
index 99f26c0203..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.ust.ui.tests/.settings/org.eclipse.core.resources.prefs
+++ /dev/null
@@ -1,2 +0,0 @@
-eclipse.preferences.version=1
-encoding/<project>=UTF-8
diff --git a/lttng/org.eclipse.linuxtools.lttng2.ust.ui.tests/.settings/org.eclipse.core.runtime.prefs b/lttng/org.eclipse.linuxtools.lttng2.ust.ui.tests/.settings/org.eclipse.core.runtime.prefs
deleted file mode 100644
index 5a0ad22d2a..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.ust.ui.tests/.settings/org.eclipse.core.runtime.prefs
+++ /dev/null
@@ -1,2 +0,0 @@
-eclipse.preferences.version=1
-line.separator=\n
diff --git a/lttng/org.eclipse.linuxtools.lttng2.ust.ui.tests/.settings/org.eclipse.jdt.core.prefs b/lttng/org.eclipse.linuxtools.lttng2.ust.ui.tests/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index f3fc64575b..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.ust.ui.tests/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,393 +0,0 @@
-eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.annotation.inheritNullAnnotations=enabled
-org.eclipse.jdt.core.compiler.annotation.missingNonNullByDefaultAnnotation=ignore
-org.eclipse.jdt.core.compiler.annotation.nonnull=org.eclipse.jdt.annotation.NonNull
-org.eclipse.jdt.core.compiler.annotation.nonnullbydefault=org.eclipse.jdt.annotation.NonNullByDefault
-org.eclipse.jdt.core.compiler.annotation.nullable=org.eclipse.jdt.annotation.Nullable
-org.eclipse.jdt.core.compiler.annotation.nullanalysis=enabled
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.7
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.doc.comment.support=enabled
-org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=error
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
-org.eclipse.jdt.core.compiler.problem.comparingIdentical=error
-org.eclipse.jdt.core.compiler.problem.deadCode=error
-org.eclipse.jdt.core.compiler.problem.deprecation=error
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=enabled
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled
-org.eclipse.jdt.core.compiler.problem.discouragedReference=error
-org.eclipse.jdt.core.compiler.problem.emptyStatement=error
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.problem.explicitlyClosedAutoCloseable=error
-org.eclipse.jdt.core.compiler.problem.fallthroughCase=error
-org.eclipse.jdt.core.compiler.problem.fatalOptionalError=disabled
-org.eclipse.jdt.core.compiler.problem.fieldHiding=error
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=error
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=error
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=error
-org.eclipse.jdt.core.compiler.problem.includeNullInfoFromAsserts=disabled
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=error
-org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=error
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=error
-org.eclipse.jdt.core.compiler.problem.invalidJavadoc=warning
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTags=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=protected
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=error
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=error
-org.eclipse.jdt.core.compiler.problem.missingDefaultCase=error
-org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=error
-org.eclipse.jdt.core.compiler.problem.missingEnumCaseDespiteDefault=enabled
-org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=error
-org.eclipse.jdt.core.compiler.problem.missingJavadocComments=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=protected
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagDescription=all_standard_tags
-org.eclipse.jdt.core.compiler.problem.missingJavadocTags=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsMethodTypeParameters=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=protected
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=error
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotationForInterfaceMethodImplementation=enabled
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=error
-org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=error
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=error
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=error
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=ignore
-org.eclipse.jdt.core.compiler.problem.nonnullParameterAnnotationDropped=warning
-org.eclipse.jdt.core.compiler.problem.nullAnnotationInferenceConflict=warning
-org.eclipse.jdt.core.compiler.problem.nullReference=error
-org.eclipse.jdt.core.compiler.problem.nullSpecViolation=error
-org.eclipse.jdt.core.compiler.problem.nullUncheckedConversion=warning
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=error
-org.eclipse.jdt.core.compiler.problem.parameterAssignment=error
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=error
-org.eclipse.jdt.core.compiler.problem.potentialNullReference=error
-org.eclipse.jdt.core.compiler.problem.potentiallyUnclosedCloseable=warning
-org.eclipse.jdt.core.compiler.problem.rawTypeReference=error
-org.eclipse.jdt.core.compiler.problem.redundantNullAnnotation=warning
-org.eclipse.jdt.core.compiler.problem.redundantNullCheck=error
-org.eclipse.jdt.core.compiler.problem.redundantSpecificationOfTypeArguments=error
-org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=error
-org.eclipse.jdt.core.compiler.problem.reportMethodCanBePotentiallyStatic=ignore
-org.eclipse.jdt.core.compiler.problem.reportMethodCanBeStatic=error
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=error
-org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=disabled
-org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
-org.eclipse.jdt.core.compiler.problem.syntacticNullAnalysisForFields=enabled
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
-org.eclipse.jdt.core.compiler.problem.typeParameterHiding=error
-org.eclipse.jdt.core.compiler.problem.unavoidableGenericTypeProblems=disabled
-org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=error
-org.eclipse.jdt.core.compiler.problem.unclosedCloseable=error
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
-org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=error
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=error
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=error
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=error
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=disabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=disabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=error
-org.eclipse.jdt.core.compiler.problem.unusedLabel=error
-org.eclipse.jdt.core.compiler.problem.unusedLocal=error
-org.eclipse.jdt.core.compiler.problem.unusedObjectAllocation=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=error
-org.eclipse.jdt.core.compiler.problem.unusedTypeParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedWarningToken=error
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=error
-org.eclipse.jdt.core.compiler.source=1.7
-org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_assignment=0
-org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
-org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
-org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
-org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
-org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0
-org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=80
-org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=0
-org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch=16
-org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_after_package=1
-org.eclipse.jdt.core.formatter.blank_lines_before_field=0
-org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
-org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
-org.eclipse.jdt.core.formatter.blank_lines_before_method=1
-org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
-org.eclipse.jdt.core.formatter.blank_lines_before_package=0
-org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
-org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
-org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
-org.eclipse.jdt.core.formatter.comment.format_block_comments=true
-org.eclipse.jdt.core.formatter.comment.format_header=false
-org.eclipse.jdt.core.formatter.comment.format_html=true
-org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=true
-org.eclipse.jdt.core.formatter.comment.format_line_comments=true
-org.eclipse.jdt.core.formatter.comment.format_source_code=true
-org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true
-org.eclipse.jdt.core.formatter.comment.indent_root_tags=true
-org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
-org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=insert
-org.eclipse.jdt.core.formatter.comment.line_length=80
-org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries=true
-org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries=true
-org.eclipse.jdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments=false
-org.eclipse.jdt.core.formatter.compact_else_if=true
-org.eclipse.jdt.core.formatter.continuation_indentation=2
-org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2
-org.eclipse.jdt.core.formatter.disabling_tag=@formatter\:off
-org.eclipse.jdt.core.formatter.enabling_tag=@formatter\:on
-org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
-org.eclipse.jdt.core.formatter.format_line_comment_starting_on_first_column=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
-org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_empty_lines=false
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=false
-org.eclipse.jdt.core.formatter.indentation.size=4
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_label=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_try=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources=insert
-org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_try=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
-org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.join_lines_in_comments=true
-org.eclipse.jdt.core.formatter.join_wrapped_lines=false
-org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.lineSplit=250
-org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
-org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
-org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true
-org.eclipse.jdt.core.formatter.tabulation.char=space
-org.eclipse.jdt.core.formatter.tabulation.size=4
-org.eclipse.jdt.core.formatter.use_on_off_tags=false
-org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
-org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
-org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true
-org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true
diff --git a/lttng/org.eclipse.linuxtools.lttng2.ust.ui.tests/.settings/org.eclipse.jdt.ui.prefs b/lttng/org.eclipse.linuxtools.lttng2.ust.ui.tests/.settings/org.eclipse.jdt.ui.prefs
deleted file mode 100644
index 4fd0c7006a..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.ust.ui.tests/.settings/org.eclipse.jdt.ui.prefs
+++ /dev/null
@@ -1,56 +0,0 @@
-eclipse.preferences.version=1
-editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
-formatter_profile=_tmf-style
-formatter_settings_version=12
-sp_cleanup.add_default_serial_version_id=true
-sp_cleanup.add_generated_serial_version_id=false
-sp_cleanup.add_missing_annotations=false
-sp_cleanup.add_missing_deprecated_annotations=true
-sp_cleanup.add_missing_methods=false
-sp_cleanup.add_missing_nls_tags=false
-sp_cleanup.add_missing_override_annotations=true
-sp_cleanup.add_missing_override_annotations_interface_methods=true
-sp_cleanup.add_serial_version_id=false
-sp_cleanup.always_use_blocks=true
-sp_cleanup.always_use_parentheses_in_expressions=false
-sp_cleanup.always_use_this_for_non_static_field_access=false
-sp_cleanup.always_use_this_for_non_static_method_access=false
-sp_cleanup.convert_to_enhanced_for_loop=false
-sp_cleanup.correct_indentation=false
-sp_cleanup.format_source_code=false
-sp_cleanup.format_source_code_changes_only=false
-sp_cleanup.make_local_variable_final=false
-sp_cleanup.make_parameters_final=false
-sp_cleanup.make_private_fields_final=true
-sp_cleanup.make_type_abstract_if_missing_method=false
-sp_cleanup.make_variable_declarations_final=false
-sp_cleanup.never_use_blocks=false
-sp_cleanup.never_use_parentheses_in_expressions=true
-sp_cleanup.on_save_use_additional_actions=true
-sp_cleanup.organize_imports=false
-sp_cleanup.qualify_static_field_accesses_with_declaring_class=false
-sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_with_declaring_class=false
-sp_cleanup.qualify_static_method_accesses_with_declaring_class=false
-sp_cleanup.remove_private_constructors=true
-sp_cleanup.remove_trailing_whitespaces=true
-sp_cleanup.remove_trailing_whitespaces_all=true
-sp_cleanup.remove_trailing_whitespaces_ignore_empty=false
-sp_cleanup.remove_unnecessary_casts=false
-sp_cleanup.remove_unnecessary_nls_tags=false
-sp_cleanup.remove_unused_imports=false
-sp_cleanup.remove_unused_local_variables=false
-sp_cleanup.remove_unused_private_fields=true
-sp_cleanup.remove_unused_private_members=false
-sp_cleanup.remove_unused_private_methods=true
-sp_cleanup.remove_unused_private_types=true
-sp_cleanup.sort_members=false
-sp_cleanup.sort_members_all=false
-sp_cleanup.use_blocks=true
-sp_cleanup.use_blocks_only_for_return_and_throw=false
-sp_cleanup.use_parentheses_in_expressions=false
-sp_cleanup.use_this_for_non_static_field_access=false
-sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=true
-sp_cleanup.use_this_for_non_static_method_access=false
-sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true
diff --git a/lttng/org.eclipse.linuxtools.lttng2.ust.ui.tests/.settings/org.eclipse.pde.api.tools.prefs b/lttng/org.eclipse.linuxtools.lttng2.ust.ui.tests/.settings/org.eclipse.pde.api.tools.prefs
deleted file mode 100644
index acc3abd47c..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.ust.ui.tests/.settings/org.eclipse.pde.api.tools.prefs
+++ /dev/null
@@ -1,97 +0,0 @@
-ANNOTATION_ELEMENT_TYPE_ADDED_METHOD_WITHOUT_DEFAULT_VALUE=Error
-ANNOTATION_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
-ANNOTATION_ELEMENT_TYPE_REMOVED_FIELD=Error
-ANNOTATION_ELEMENT_TYPE_REMOVED_METHOD=Error
-ANNOTATION_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
-API_COMPONENT_ELEMENT_TYPE_REMOVED_API_TYPE=Error
-API_COMPONENT_ELEMENT_TYPE_REMOVED_REEXPORTED_API_TYPE=Error
-API_COMPONENT_ELEMENT_TYPE_REMOVED_REEXPORTED_TYPE=Error
-API_COMPONENT_ELEMENT_TYPE_REMOVED_TYPE=Error
-API_USE_SCAN_FIELD_SEVERITY=Error
-API_USE_SCAN_METHOD_SEVERITY=Error
-API_USE_SCAN_TYPE_SEVERITY=Error
-CLASS_ELEMENT_TYPE_ADDED_METHOD=Error
-CLASS_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
-CLASS_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
-CLASS_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error
-CLASS_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
-CLASS_ELEMENT_TYPE_CHANGED_NON_ABSTRACT_TO_ABSTRACT=Error
-CLASS_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error
-CLASS_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
-CLASS_ELEMENT_TYPE_REMOVED_CONSTRUCTOR=Error
-CLASS_ELEMENT_TYPE_REMOVED_FIELD=Error
-CLASS_ELEMENT_TYPE_REMOVED_METHOD=Error
-CLASS_ELEMENT_TYPE_REMOVED_SUPERCLASS=Error
-CLASS_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
-CLASS_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
-CONSTRUCTOR_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
-CONSTRUCTOR_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
-CONSTRUCTOR_ELEMENT_TYPE_CHANGED_VARARGS_TO_ARRAY=Error
-CONSTRUCTOR_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
-ENUM_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error
-ENUM_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
-ENUM_ELEMENT_TYPE_REMOVED_ENUM_CONSTANT=Error
-ENUM_ELEMENT_TYPE_REMOVED_FIELD=Error
-ENUM_ELEMENT_TYPE_REMOVED_METHOD=Error
-ENUM_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
-FIELD_ELEMENT_TYPE_ADDED_VALUE=Error
-FIELD_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
-FIELD_ELEMENT_TYPE_CHANGED_FINAL_TO_NON_FINAL_STATIC_CONSTANT=Error
-FIELD_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error
-FIELD_ELEMENT_TYPE_CHANGED_NON_STATIC_TO_STATIC=Error
-FIELD_ELEMENT_TYPE_CHANGED_STATIC_TO_NON_STATIC=Error
-FIELD_ELEMENT_TYPE_CHANGED_TYPE=Error
-FIELD_ELEMENT_TYPE_CHANGED_VALUE=Error
-FIELD_ELEMENT_TYPE_REMOVED_TYPE_ARGUMENT=Error
-FIELD_ELEMENT_TYPE_REMOVED_VALUE=Error
-ILLEGAL_EXTEND=Warning
-ILLEGAL_IMPLEMENT=Warning
-ILLEGAL_INSTANTIATE=Warning
-ILLEGAL_OVERRIDE=Warning
-ILLEGAL_REFERENCE=Warning
-INTERFACE_ELEMENT_TYPE_ADDED_FIELD=Error
-INTERFACE_ELEMENT_TYPE_ADDED_METHOD=Error
-INTERFACE_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
-INTERFACE_ELEMENT_TYPE_ADDED_SUPER_INTERFACE_WITH_METHODS=Error
-INTERFACE_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
-INTERFACE_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error
-INTERFACE_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
-INTERFACE_ELEMENT_TYPE_REMOVED_FIELD=Error
-INTERFACE_ELEMENT_TYPE_REMOVED_METHOD=Error
-INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
-INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
-INVALID_JAVADOC_TAG=Warning
-INVALID_REFERENCE_IN_SYSTEM_LIBRARIES=Warning
-LEAK_EXTEND=Warning
-LEAK_FIELD_DECL=Warning
-LEAK_IMPLEMENT=Warning
-LEAK_METHOD_PARAM=Warning
-LEAK_METHOD_RETURN_TYPE=Warning
-METHOD_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
-METHOD_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
-METHOD_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
-METHOD_ELEMENT_TYPE_CHANGED_NON_ABSTRACT_TO_ABSTRACT=Error
-METHOD_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error
-METHOD_ELEMENT_TYPE_CHANGED_NON_STATIC_TO_STATIC=Error
-METHOD_ELEMENT_TYPE_CHANGED_STATIC_TO_NON_STATIC=Error
-METHOD_ELEMENT_TYPE_CHANGED_VARARGS_TO_ARRAY=Error
-METHOD_ELEMENT_TYPE_REMOVED_ANNOTATION_DEFAULT_VALUE=Error
-METHOD_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
-MISSING_EE_DESCRIPTIONS=Ignore
-TYPE_PARAMETER_ELEMENT_TYPE_ADDED_CLASS_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_ADDED_INTERFACE_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_CHANGED_CLASS_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_CHANGED_INTERFACE_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_CLASS_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error
-UNUSED_PROBLEM_FILTERS=Warning
-automatically_removed_unused_problem_filters=false
-eclipse.preferences.version=1
-incompatible_api_component_version=Error
-incompatible_api_component_version_include_major_without_breaking_change=Disabled
-incompatible_api_component_version_include_minor_without_api_change=Disabled
-invalid_since_tag_version=Error
-malformed_since_tag=Error
-missing_since_tag=Error
-report_api_breakage_when_major_version_incremented=Disabled
-report_resolution_errors_api_component=Warning
diff --git a/lttng/org.eclipse.linuxtools.lttng2.ust.ui.tests/.settings/org.eclipse.pde.prefs b/lttng/org.eclipse.linuxtools.lttng2.ust.ui.tests/.settings/org.eclipse.pde.prefs
deleted file mode 100644
index 62cfa90dee..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.ust.ui.tests/.settings/org.eclipse.pde.prefs
+++ /dev/null
@@ -1,32 +0,0 @@
-compilers.f.unresolved-features=1
-compilers.f.unresolved-plugins=1
-compilers.incompatible-environment=1
-compilers.p.build=1
-compilers.p.build.bin.includes=1
-compilers.p.build.encodings=2
-compilers.p.build.java.compiler=2
-compilers.p.build.java.compliance=1
-compilers.p.build.missing.output=2
-compilers.p.build.output.library=1
-compilers.p.build.source.library=1
-compilers.p.build.src.includes=1
-compilers.p.deprecated=1
-compilers.p.discouraged-class=1
-compilers.p.internal=1
-compilers.p.missing-packages=2
-compilers.p.missing-version-export-package=2
-compilers.p.missing-version-import-package=2
-compilers.p.missing-version-require-bundle=2
-compilers.p.no-required-att=0
-compilers.p.not-externalized-att=2
-compilers.p.unknown-attribute=1
-compilers.p.unknown-class=1
-compilers.p.unknown-element=1
-compilers.p.unknown-identifier=1
-compilers.p.unknown-resource=1
-compilers.p.unresolved-ex-points=0
-compilers.p.unresolved-import=0
-compilers.s.create-docs=false
-compilers.s.doc-folder=doc
-compilers.s.open-tags=1
-eclipse.preferences.version=1
diff --git a/lttng/org.eclipse.linuxtools.lttng2.ust.ui.tests/META-INF/MANIFEST.MF b/lttng/org.eclipse.linuxtools.lttng2.ust.ui.tests/META-INF/MANIFEST.MF
deleted file mode 100644
index d3794c813f..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.ust.ui.tests/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,15 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %Bundle-Name
-Bundle-Vendor: %Bundle-Vendor
-Bundle-Version: 3.1.0.qualifier
-Bundle-Localization: plugin
-Bundle-SymbolicName: org.eclipse.linuxtools.lttng2.ust.ui.tests;singleton:=true
-Bundle-ActivationPolicy: lazy
-Bundle-RequiredExecutionEnvironment: JavaSE-1.7
-Require-Bundle: org.junit;bundle-version="4.0.0",
- org.eclipse.ui,
- org.eclipse.core.resources,
- org.eclipse.core.runtime,
- org.eclipse.linuxtools.lttng2.ust.ui;bundle-version="3.1.0"
-Export-Package: org.eclipse.linuxtools.lttng2.ust.ui.tests
diff --git a/lttng/org.eclipse.linuxtools.lttng2.ust.ui.tests/about.html b/lttng/org.eclipse.linuxtools.lttng2.ust.ui.tests/about.html
deleted file mode 100644
index c258ef55d8..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.ust.ui.tests/about.html
+++ /dev/null
@@ -1,28 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
-<title>About</title>
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
-
-<p>June 5, 2006</p>
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;). Unless otherwise
-indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is available
-at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is
-being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content. Check the Redistributor's license that was
-provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at <a href="http://www.eclipse.org/">http://www.eclipse.org</a>.</p>
-
-</body>
-</html> \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.lttng2.ust.ui.tests/build.properties b/lttng/org.eclipse.linuxtools.lttng2.ust.ui.tests/build.properties
deleted file mode 100644
index f7a0b9854e..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.ust.ui.tests/build.properties
+++ /dev/null
@@ -1,18 +0,0 @@
-###############################################################################
-# Copyright (c) 2013 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:
-# Ericsson - Initial API and implementation
-###############################################################################
-
-source.. = src/
-output.. = bin/
-bin.includes = META-INF/,\
- .,\
- plugin.properties
-src.includes = about.html
diff --git a/lttng/org.eclipse.linuxtools.lttng2.ust.ui.tests/plugin.properties b/lttng/org.eclipse.linuxtools.lttng2.ust.ui.tests/plugin.properties
deleted file mode 100644
index c59001c2f2..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.ust.ui.tests/plugin.properties
+++ /dev/null
@@ -1,15 +0,0 @@
-###############################################################################
-# Copyright (c) 2013 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:
-# Ericsson - Initial API and implementation
-###############################################################################
-
-#Properties file for org.eclipse.linuxtools.lttng2.ust.ui.tests
-Bundle-Vendor = Eclipse Linux Tools
-Bundle-Name = Linux Tools LTTng Userspace Tracer Analysis UI Tests Plug-in \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.lttng2.ust.ui.tests/pom.xml b/lttng/org.eclipse.linuxtools.lttng2.ust.ui.tests/pom.xml
deleted file mode 100644
index b56bc36407..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.ust.ui.tests/pom.xml
+++ /dev/null
@@ -1,45 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Copyright (C) 2011, 2013 Red Hat Inc., 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
--->
-<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
- <modelVersion>4.0.0</modelVersion>
-
- <parent>
- <artifactId>linuxtools-lttng-parent</artifactId>
- <groupId>org.eclipse.linuxtools.lttng</groupId>
- <version>3.2.0-SNAPSHOT</version>
- </parent>
-
- <artifactId>org.eclipse.linuxtools.lttng2.ust.ui.tests</artifactId>
- <version>3.1.0-SNAPSHOT</version>
- <packaging>eclipse-test-plugin</packaging>
-
- <name>Linux Tools LTTng Userspace Tracer Analysis UI Tests Plug-in</name>
-
- <build>
- <plugins>
- <plugin>
- <groupId>org.eclipse.tycho</groupId>
- <artifactId>tycho-surefire-plugin</artifactId>
- <version>${tycho-version}</version>
- <configuration>
- <testSuite>org.eclipse.linuxtools.lttng2.ust.ui.tests</testSuite>
- <testClass>org.eclipse.linuxtools.lttng2.ust.ui.tests.AllTests</testClass>
- <useUIHarness>true</useUIHarness>
- <useUIThread>true</useUIThread>
- <argLine>${tycho.testArgLine} ${base.ui.test.vmargs}</argLine>
- <product>org.eclipse.platform.ide</product>
- </configuration>
- </plugin>
- </plugins>
- </build>
-
- <groupId>org.eclipse.linuxtools.lttng2</groupId>
-</project>
diff --git a/lttng/org.eclipse.linuxtools.lttng2.ust.ui.tests/src/org/eclipse/linuxtools/lttng2/ust/ui/tests/ActivatorTest.java b/lttng/org.eclipse.linuxtools.lttng2.ust.ui.tests/src/org/eclipse/linuxtools/lttng2/ust/ui/tests/ActivatorTest.java
deleted file mode 100644
index 3541ae3dcc..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.ust.ui.tests/src/org/eclipse/linuxtools/lttng2/ust/ui/tests/ActivatorTest.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 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:
- * Alexandre Montplaisir - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.lttng2.ust.ui.tests;
-
-import static org.junit.Assert.assertTrue;
-
-import org.junit.Test;
-
-/**
- * Test suite for the Activator class
- */
-public class ActivatorTest {
-
- // ------------------------------------------------------------------------
- // Tests
- // ------------------------------------------------------------------------
-
- /**
- * Test method for {@link org.eclipse.linuxtools.internal.lttng2.ust.ui.Activator#Activator()}.
- */
- @Test
- public void testActivator() {
- assertTrue(true);
- }
-
- /**
- * Test method for {@link org.eclipse.linuxtools.internal.lttng2.ust.ui.Activator#getDefault()}.
- */
- @Test
- public void testGetDefault() {
- assertTrue(true);
- }
-
- /**
- * Test method for {@link org.eclipse.linuxtools.internal.lttng2.ust.ui.Activator#start}.
- */
- @Test
- public void testStartBundleContext() {
- assertTrue(true);
- }
-
- /**
- * Test method for {@link org.eclipse.linuxtools.internal.lttng2.ust.ui.Activator#stop}.
- */
- @Test
- public void testStopBundleContext() {
- assertTrue(true);
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.lttng2.ust.ui.tests/src/org/eclipse/linuxtools/lttng2/ust/ui/tests/AllTests.java b/lttng/org.eclipse.linuxtools.lttng2.ust.ui.tests/src/org/eclipse/linuxtools/lttng2/ust/ui/tests/AllTests.java
deleted file mode 100644
index b469599244..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.ust.ui.tests/src/org/eclipse/linuxtools/lttng2/ust/ui/tests/AllTests.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 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:
- * Alexandre Montplaisir - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.lttng2.ust.ui.tests;
-
-import org.junit.runner.RunWith;
-import org.junit.runners.Suite;
-
-/**
- * Run the lttng2.ust.ui unit tests.
- */
-@RunWith(Suite.class)
-@Suite.SuiteClasses({
- ActivatorTest.class,
-})
-public class AllTests {
-
-}
diff --git a/lttng/org.eclipse.linuxtools.lttng2.ust.ui/.classpath b/lttng/org.eclipse.linuxtools.lttng2.ust.ui/.classpath
deleted file mode 100644
index 098194ca4b..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.ust.ui/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
- <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.7"/>
- <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
- <classpathentry kind="src" path="src"/>
- <classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/lttng/org.eclipse.linuxtools.lttng2.ust.ui/.project b/lttng/org.eclipse.linuxtools.lttng2.ust.ui/.project
deleted file mode 100644
index ade124a46c..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.ust.ui/.project
+++ /dev/null
@@ -1,34 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>org.eclipse.linuxtools.lttng2.ust.ui</name>
- <comment></comment>
- <projects>
- </projects>
- <buildSpec>
- <buildCommand>
- <name>org.eclipse.jdt.core.javabuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.ManifestBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.SchemaBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.api.tools.apiAnalysisBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>org.eclipse.pde.PluginNature</nature>
- <nature>org.eclipse.jdt.core.javanature</nature>
- <nature>org.eclipse.pde.api.tools.apiAnalysisNature</nature>
- </natures>
-</projectDescription>
diff --git a/lttng/org.eclipse.linuxtools.lttng2.ust.ui/.settings/org.eclipse.core.resources.prefs b/lttng/org.eclipse.linuxtools.lttng2.ust.ui/.settings/org.eclipse.core.resources.prefs
deleted file mode 100644
index 99f26c0203..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.ust.ui/.settings/org.eclipse.core.resources.prefs
+++ /dev/null
@@ -1,2 +0,0 @@
-eclipse.preferences.version=1
-encoding/<project>=UTF-8
diff --git a/lttng/org.eclipse.linuxtools.lttng2.ust.ui/.settings/org.eclipse.core.runtime.prefs b/lttng/org.eclipse.linuxtools.lttng2.ust.ui/.settings/org.eclipse.core.runtime.prefs
deleted file mode 100644
index 5a0ad22d2a..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.ust.ui/.settings/org.eclipse.core.runtime.prefs
+++ /dev/null
@@ -1,2 +0,0 @@
-eclipse.preferences.version=1
-line.separator=\n
diff --git a/lttng/org.eclipse.linuxtools.lttng2.ust.ui/.settings/org.eclipse.jdt.core.prefs b/lttng/org.eclipse.linuxtools.lttng2.ust.ui/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index 9f3662cd78..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.ust.ui/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,394 +0,0 @@
-eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.annotation.inheritNullAnnotations=enabled
-org.eclipse.jdt.core.compiler.annotation.missingNonNullByDefaultAnnotation=ignore
-org.eclipse.jdt.core.compiler.annotation.nonnull=org.eclipse.jdt.annotation.NonNull
-org.eclipse.jdt.core.compiler.annotation.nonnullbydefault=org.eclipse.jdt.annotation.NonNullByDefault
-org.eclipse.jdt.core.compiler.annotation.nullable=org.eclipse.jdt.annotation.Nullable
-org.eclipse.jdt.core.compiler.annotation.nullanalysis=enabled
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.7
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.doc.comment.support=enabled
-org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=error
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
-org.eclipse.jdt.core.compiler.problem.comparingIdentical=error
-org.eclipse.jdt.core.compiler.problem.deadCode=error
-org.eclipse.jdt.core.compiler.problem.deprecation=error
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled
-org.eclipse.jdt.core.compiler.problem.discouragedReference=warning
-org.eclipse.jdt.core.compiler.problem.emptyStatement=error
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.problem.explicitlyClosedAutoCloseable=error
-org.eclipse.jdt.core.compiler.problem.fallthroughCase=error
-org.eclipse.jdt.core.compiler.problem.fatalOptionalError=disabled
-org.eclipse.jdt.core.compiler.problem.fieldHiding=error
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=error
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=error
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=error
-org.eclipse.jdt.core.compiler.problem.includeNullInfoFromAsserts=disabled
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=error
-org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=error
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=error
-org.eclipse.jdt.core.compiler.problem.invalidJavadoc=warning
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTags=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=protected
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=error
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=error
-org.eclipse.jdt.core.compiler.problem.missingDefaultCase=error
-org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=error
-org.eclipse.jdt.core.compiler.problem.missingEnumCaseDespiteDefault=enabled
-org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=error
-org.eclipse.jdt.core.compiler.problem.missingJavadocComments=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=protected
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagDescription=all_standard_tags
-org.eclipse.jdt.core.compiler.problem.missingJavadocTags=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsMethodTypeParameters=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=protected
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=error
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotationForInterfaceMethodImplementation=enabled
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=error
-org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=error
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=error
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=error
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=warning
-org.eclipse.jdt.core.compiler.problem.nonnullParameterAnnotationDropped=warning
-org.eclipse.jdt.core.compiler.problem.nullAnnotationInferenceConflict=warning
-org.eclipse.jdt.core.compiler.problem.nullReference=error
-org.eclipse.jdt.core.compiler.problem.nullSpecViolation=error
-org.eclipse.jdt.core.compiler.problem.nullUncheckedConversion=warning
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=error
-org.eclipse.jdt.core.compiler.problem.parameterAssignment=error
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=error
-org.eclipse.jdt.core.compiler.problem.potentialNullReference=error
-org.eclipse.jdt.core.compiler.problem.potentiallyUnclosedCloseable=warning
-org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning
-org.eclipse.jdt.core.compiler.problem.redundantNullAnnotation=warning
-org.eclipse.jdt.core.compiler.problem.redundantNullCheck=error
-org.eclipse.jdt.core.compiler.problem.redundantSpecificationOfTypeArguments=error
-org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=error
-org.eclipse.jdt.core.compiler.problem.reportMethodCanBePotentiallyStatic=ignore
-org.eclipse.jdt.core.compiler.problem.reportMethodCanBeStatic=error
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=error
-org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=disabled
-org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
-org.eclipse.jdt.core.compiler.problem.syntacticNullAnalysisForFields=enabled
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
-org.eclipse.jdt.core.compiler.problem.typeParameterHiding=error
-org.eclipse.jdt.core.compiler.problem.unavoidableGenericTypeProblems=disabled
-org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
-org.eclipse.jdt.core.compiler.problem.unclosedCloseable=error
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
-org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=error
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=error
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=error
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=warning
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=disabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=disabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=error
-org.eclipse.jdt.core.compiler.problem.unusedLabel=error
-org.eclipse.jdt.core.compiler.problem.unusedLocal=error
-org.eclipse.jdt.core.compiler.problem.unusedObjectAllocation=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=error
-org.eclipse.jdt.core.compiler.problem.unusedTypeParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedWarningToken=error
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=error
-org.eclipse.jdt.core.compiler.source=1.7
-org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_assignment=0
-org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
-org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
-org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
-org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
-org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0
-org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=80
-org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=0
-org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch=16
-org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_after_package=1
-org.eclipse.jdt.core.formatter.blank_lines_before_field=0
-org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
-org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
-org.eclipse.jdt.core.formatter.blank_lines_before_method=1
-org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
-org.eclipse.jdt.core.formatter.blank_lines_before_package=0
-org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
-org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
-org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
-org.eclipse.jdt.core.formatter.comment.format_block_comments=true
-org.eclipse.jdt.core.formatter.comment.format_header=false
-org.eclipse.jdt.core.formatter.comment.format_html=true
-org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=true
-org.eclipse.jdt.core.formatter.comment.format_line_comments=true
-org.eclipse.jdt.core.formatter.comment.format_source_code=true
-org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true
-org.eclipse.jdt.core.formatter.comment.indent_root_tags=true
-org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
-org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=insert
-org.eclipse.jdt.core.formatter.comment.line_length=80
-org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries=true
-org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries=true
-org.eclipse.jdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments=false
-org.eclipse.jdt.core.formatter.compact_else_if=true
-org.eclipse.jdt.core.formatter.continuation_indentation=2
-org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2
-org.eclipse.jdt.core.formatter.disabling_tag=@formatter\:off
-org.eclipse.jdt.core.formatter.enabling_tag=@formatter\:on
-org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
-org.eclipse.jdt.core.formatter.format_line_comment_starting_on_first_column=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
-org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_empty_lines=false
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=false
-org.eclipse.jdt.core.formatter.indentation.size=4
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_label=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_try=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources=insert
-org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_try=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
-org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.join_lines_in_comments=true
-org.eclipse.jdt.core.formatter.join_wrapped_lines=false
-org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.lineSplit=250
-org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
-org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
-org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true
-org.eclipse.jdt.core.formatter.tabulation.char=space
-org.eclipse.jdt.core.formatter.tabulation.size=4
-org.eclipse.jdt.core.formatter.use_on_off_tags=false
-org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
-org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
-org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true
-org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true
diff --git a/lttng/org.eclipse.linuxtools.lttng2.ust.ui/.settings/org.eclipse.jdt.ui.prefs b/lttng/org.eclipse.linuxtools.lttng2.ust.ui/.settings/org.eclipse.jdt.ui.prefs
deleted file mode 100644
index 4fd0c7006a..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.ust.ui/.settings/org.eclipse.jdt.ui.prefs
+++ /dev/null
@@ -1,56 +0,0 @@
-eclipse.preferences.version=1
-editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
-formatter_profile=_tmf-style
-formatter_settings_version=12
-sp_cleanup.add_default_serial_version_id=true
-sp_cleanup.add_generated_serial_version_id=false
-sp_cleanup.add_missing_annotations=false
-sp_cleanup.add_missing_deprecated_annotations=true
-sp_cleanup.add_missing_methods=false
-sp_cleanup.add_missing_nls_tags=false
-sp_cleanup.add_missing_override_annotations=true
-sp_cleanup.add_missing_override_annotations_interface_methods=true
-sp_cleanup.add_serial_version_id=false
-sp_cleanup.always_use_blocks=true
-sp_cleanup.always_use_parentheses_in_expressions=false
-sp_cleanup.always_use_this_for_non_static_field_access=false
-sp_cleanup.always_use_this_for_non_static_method_access=false
-sp_cleanup.convert_to_enhanced_for_loop=false
-sp_cleanup.correct_indentation=false
-sp_cleanup.format_source_code=false
-sp_cleanup.format_source_code_changes_only=false
-sp_cleanup.make_local_variable_final=false
-sp_cleanup.make_parameters_final=false
-sp_cleanup.make_private_fields_final=true
-sp_cleanup.make_type_abstract_if_missing_method=false
-sp_cleanup.make_variable_declarations_final=false
-sp_cleanup.never_use_blocks=false
-sp_cleanup.never_use_parentheses_in_expressions=true
-sp_cleanup.on_save_use_additional_actions=true
-sp_cleanup.organize_imports=false
-sp_cleanup.qualify_static_field_accesses_with_declaring_class=false
-sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_with_declaring_class=false
-sp_cleanup.qualify_static_method_accesses_with_declaring_class=false
-sp_cleanup.remove_private_constructors=true
-sp_cleanup.remove_trailing_whitespaces=true
-sp_cleanup.remove_trailing_whitespaces_all=true
-sp_cleanup.remove_trailing_whitespaces_ignore_empty=false
-sp_cleanup.remove_unnecessary_casts=false
-sp_cleanup.remove_unnecessary_nls_tags=false
-sp_cleanup.remove_unused_imports=false
-sp_cleanup.remove_unused_local_variables=false
-sp_cleanup.remove_unused_private_fields=true
-sp_cleanup.remove_unused_private_members=false
-sp_cleanup.remove_unused_private_methods=true
-sp_cleanup.remove_unused_private_types=true
-sp_cleanup.sort_members=false
-sp_cleanup.sort_members_all=false
-sp_cleanup.use_blocks=true
-sp_cleanup.use_blocks_only_for_return_and_throw=false
-sp_cleanup.use_parentheses_in_expressions=false
-sp_cleanup.use_this_for_non_static_field_access=false
-sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=true
-sp_cleanup.use_this_for_non_static_method_access=false
-sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true
diff --git a/lttng/org.eclipse.linuxtools.lttng2.ust.ui/.settings/org.eclipse.pde.api.tools.prefs b/lttng/org.eclipse.linuxtools.lttng2.ust.ui/.settings/org.eclipse.pde.api.tools.prefs
deleted file mode 100644
index acc3abd47c..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.ust.ui/.settings/org.eclipse.pde.api.tools.prefs
+++ /dev/null
@@ -1,97 +0,0 @@
-ANNOTATION_ELEMENT_TYPE_ADDED_METHOD_WITHOUT_DEFAULT_VALUE=Error
-ANNOTATION_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
-ANNOTATION_ELEMENT_TYPE_REMOVED_FIELD=Error
-ANNOTATION_ELEMENT_TYPE_REMOVED_METHOD=Error
-ANNOTATION_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
-API_COMPONENT_ELEMENT_TYPE_REMOVED_API_TYPE=Error
-API_COMPONENT_ELEMENT_TYPE_REMOVED_REEXPORTED_API_TYPE=Error
-API_COMPONENT_ELEMENT_TYPE_REMOVED_REEXPORTED_TYPE=Error
-API_COMPONENT_ELEMENT_TYPE_REMOVED_TYPE=Error
-API_USE_SCAN_FIELD_SEVERITY=Error
-API_USE_SCAN_METHOD_SEVERITY=Error
-API_USE_SCAN_TYPE_SEVERITY=Error
-CLASS_ELEMENT_TYPE_ADDED_METHOD=Error
-CLASS_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
-CLASS_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
-CLASS_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error
-CLASS_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
-CLASS_ELEMENT_TYPE_CHANGED_NON_ABSTRACT_TO_ABSTRACT=Error
-CLASS_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error
-CLASS_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
-CLASS_ELEMENT_TYPE_REMOVED_CONSTRUCTOR=Error
-CLASS_ELEMENT_TYPE_REMOVED_FIELD=Error
-CLASS_ELEMENT_TYPE_REMOVED_METHOD=Error
-CLASS_ELEMENT_TYPE_REMOVED_SUPERCLASS=Error
-CLASS_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
-CLASS_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
-CONSTRUCTOR_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
-CONSTRUCTOR_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
-CONSTRUCTOR_ELEMENT_TYPE_CHANGED_VARARGS_TO_ARRAY=Error
-CONSTRUCTOR_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
-ENUM_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error
-ENUM_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
-ENUM_ELEMENT_TYPE_REMOVED_ENUM_CONSTANT=Error
-ENUM_ELEMENT_TYPE_REMOVED_FIELD=Error
-ENUM_ELEMENT_TYPE_REMOVED_METHOD=Error
-ENUM_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
-FIELD_ELEMENT_TYPE_ADDED_VALUE=Error
-FIELD_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
-FIELD_ELEMENT_TYPE_CHANGED_FINAL_TO_NON_FINAL_STATIC_CONSTANT=Error
-FIELD_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error
-FIELD_ELEMENT_TYPE_CHANGED_NON_STATIC_TO_STATIC=Error
-FIELD_ELEMENT_TYPE_CHANGED_STATIC_TO_NON_STATIC=Error
-FIELD_ELEMENT_TYPE_CHANGED_TYPE=Error
-FIELD_ELEMENT_TYPE_CHANGED_VALUE=Error
-FIELD_ELEMENT_TYPE_REMOVED_TYPE_ARGUMENT=Error
-FIELD_ELEMENT_TYPE_REMOVED_VALUE=Error
-ILLEGAL_EXTEND=Warning
-ILLEGAL_IMPLEMENT=Warning
-ILLEGAL_INSTANTIATE=Warning
-ILLEGAL_OVERRIDE=Warning
-ILLEGAL_REFERENCE=Warning
-INTERFACE_ELEMENT_TYPE_ADDED_FIELD=Error
-INTERFACE_ELEMENT_TYPE_ADDED_METHOD=Error
-INTERFACE_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
-INTERFACE_ELEMENT_TYPE_ADDED_SUPER_INTERFACE_WITH_METHODS=Error
-INTERFACE_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
-INTERFACE_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error
-INTERFACE_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
-INTERFACE_ELEMENT_TYPE_REMOVED_FIELD=Error
-INTERFACE_ELEMENT_TYPE_REMOVED_METHOD=Error
-INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
-INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
-INVALID_JAVADOC_TAG=Warning
-INVALID_REFERENCE_IN_SYSTEM_LIBRARIES=Warning
-LEAK_EXTEND=Warning
-LEAK_FIELD_DECL=Warning
-LEAK_IMPLEMENT=Warning
-LEAK_METHOD_PARAM=Warning
-LEAK_METHOD_RETURN_TYPE=Warning
-METHOD_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
-METHOD_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
-METHOD_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
-METHOD_ELEMENT_TYPE_CHANGED_NON_ABSTRACT_TO_ABSTRACT=Error
-METHOD_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error
-METHOD_ELEMENT_TYPE_CHANGED_NON_STATIC_TO_STATIC=Error
-METHOD_ELEMENT_TYPE_CHANGED_STATIC_TO_NON_STATIC=Error
-METHOD_ELEMENT_TYPE_CHANGED_VARARGS_TO_ARRAY=Error
-METHOD_ELEMENT_TYPE_REMOVED_ANNOTATION_DEFAULT_VALUE=Error
-METHOD_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
-MISSING_EE_DESCRIPTIONS=Ignore
-TYPE_PARAMETER_ELEMENT_TYPE_ADDED_CLASS_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_ADDED_INTERFACE_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_CHANGED_CLASS_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_CHANGED_INTERFACE_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_CLASS_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error
-UNUSED_PROBLEM_FILTERS=Warning
-automatically_removed_unused_problem_filters=false
-eclipse.preferences.version=1
-incompatible_api_component_version=Error
-incompatible_api_component_version_include_major_without_breaking_change=Disabled
-incompatible_api_component_version_include_minor_without_api_change=Disabled
-invalid_since_tag_version=Error
-malformed_since_tag=Error
-missing_since_tag=Error
-report_api_breakage_when_major_version_incremented=Disabled
-report_resolution_errors_api_component=Warning
diff --git a/lttng/org.eclipse.linuxtools.lttng2.ust.ui/.settings/org.eclipse.pde.prefs b/lttng/org.eclipse.linuxtools.lttng2.ust.ui/.settings/org.eclipse.pde.prefs
deleted file mode 100644
index d92b94fd4b..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.ust.ui/.settings/org.eclipse.pde.prefs
+++ /dev/null
@@ -1,32 +0,0 @@
-compilers.f.unresolved-features=1
-compilers.f.unresolved-plugins=1
-compilers.incompatible-environment=1
-compilers.p.build=1
-compilers.p.build.bin.includes=1
-compilers.p.build.encodings=2
-compilers.p.build.java.compiler=2
-compilers.p.build.java.compliance=1
-compilers.p.build.missing.output=2
-compilers.p.build.output.library=1
-compilers.p.build.source.library=1
-compilers.p.build.src.includes=1
-compilers.p.deprecated=1
-compilers.p.discouraged-class=1
-compilers.p.internal=1
-compilers.p.missing-packages=1
-compilers.p.missing-version-export-package=2
-compilers.p.missing-version-import-package=2
-compilers.p.missing-version-require-bundle=2
-compilers.p.no-required-att=0
-compilers.p.not-externalized-att=1
-compilers.p.unknown-attribute=1
-compilers.p.unknown-class=1
-compilers.p.unknown-element=1
-compilers.p.unknown-identifier=1
-compilers.p.unknown-resource=1
-compilers.p.unresolved-ex-points=0
-compilers.p.unresolved-import=0
-compilers.s.create-docs=false
-compilers.s.doc-folder=doc
-compilers.s.open-tags=1
-eclipse.preferences.version=1
diff --git a/lttng/org.eclipse.linuxtools.lttng2.ust.ui/META-INF/MANIFEST.MF b/lttng/org.eclipse.linuxtools.lttng2.ust.ui/META-INF/MANIFEST.MF
deleted file mode 100644
index 15acd32d27..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.ust.ui/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,20 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %Bundle-Name
-Bundle-Vendor: %Bundle-Vendor
-Bundle-Version: 3.1.0.qualifier
-Bundle-Localization: plugin
-Bundle-SymbolicName: org.eclipse.linuxtools.lttng2.ust.ui;singleton:=true
-Bundle-Activator: org.eclipse.linuxtools.internal.lttng2.ust.ui.Activator
-Bundle-ActivationPolicy: lazy
-Bundle-RequiredExecutionEnvironment: JavaSE-1.7
-Require-Bundle: org.eclipse.core.resources,
- org.eclipse.core.runtime,
- org.eclipse.ui,
- org.eclipse.linuxtools.lttng2.ust.core;bundle-version="3.1.0",
- org.eclipse.linuxtools.tmf.core;bundle-version="3.1.0",
- org.eclipse.linuxtools.tmf.ui;bundle-version="3.1.0",
- org.eclipse.linuxtools.tmf.ctf.core
-Export-Package: org.eclipse.linuxtools.internal.lttng2.ust.ui;x-friends:="org.eclipse.linuxtools.lttng2.ust.ui.tests",
- org.eclipse.linuxtools.internal.lttng2.ust.ui.views.memusage;x-friends:="org.eclipse.linuxtools.lttng2.ust.ui.tests",
- org.eclipse.linuxtools.lttng2.ust.ui.analysis.callstack
diff --git a/lttng/org.eclipse.linuxtools.lttng2.ust.ui/about.html b/lttng/org.eclipse.linuxtools.lttng2.ust.ui/about.html
deleted file mode 100644
index c258ef55d8..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.ust.ui/about.html
+++ /dev/null
@@ -1,28 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
-<title>About</title>
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
-
-<p>June 5, 2006</p>
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;). Unless otherwise
-indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is available
-at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is
-being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content. Check the Redistributor's license that was
-provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at <a href="http://www.eclipse.org/">http://www.eclipse.org</a>.</p>
-
-</body>
-</html> \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.lttng2.ust.ui/build.properties b/lttng/org.eclipse.linuxtools.lttng2.ust.ui/build.properties
deleted file mode 100644
index 1046daa0a1..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.ust.ui/build.properties
+++ /dev/null
@@ -1,23 +0,0 @@
-###############################################################################
-# Copyright (c) 2013, 2014 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:
-# Ericsson - Initial API and implementation
-###############################################################################
-
-source.. = src/
-output.. = bin/
-bin.includes = META-INF/,\
- icons/,\
- .,\
- plugin.xml,\
- about.html,\
- plugin.properties
-src.includes = about.html
-additional.bundles = org.eclipse.jdt.annotation
-jars.extra.classpath = platform:/plugin/org.eclipse.jdt.annotation
diff --git a/lttng/org.eclipse.linuxtools.lttng2.ust.ui/icons/obj16/garland16.png b/lttng/org.eclipse.linuxtools.lttng2.ust.ui/icons/obj16/garland16.png
deleted file mode 100644
index 74f9751638..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.ust.ui/icons/obj16/garland16.png
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.lttng2.ust.ui/plugin.properties b/lttng/org.eclipse.linuxtools.lttng2.ust.ui/plugin.properties
deleted file mode 100644
index b098643009..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.ust.ui/plugin.properties
+++ /dev/null
@@ -1,20 +0,0 @@
-###############################################################################
-# Copyright (c) 2013, 2014 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:
-# Ericsson - Initial API and implementation
-###############################################################################
-
-#Properties file for org.eclipse.linuxtools.lttng2.ust.ui
-Bundle-Vendor = Eclipse Linux Tools
-Bundle-Name = Linux Tools LTTng Userspace Tracer Analysis UI Plug-in
-
-tracetype.type.ust = LTTng UST Trace
-memoryusage.view.name = UST Memory Usage
-
-analysis.callstack = LTTng-UST CallStack Analysis \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.lttng2.ust.ui/plugin.xml b/lttng/org.eclipse.linuxtools.lttng2.ust.ui/plugin.xml
deleted file mode 100644
index 35df526b5b..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.ust.ui/plugin.xml
+++ /dev/null
@@ -1,41 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.4"?>
-<plugin>
- <extension
- point="org.eclipse.linuxtools.tmf.ui.tracetypeui">
- <type
- icon="icons/obj16/garland16.png"
- tracetype="org.eclipse.linuxtools.lttng2.ust.tracetype">
- </type>
- </extension>
- <extension
- point="org.eclipse.ui.views">
- <view
- category="org.eclipse.linuxtools.lttng2.ui.views.category"
- class="org.eclipse.linuxtools.internal.lttng2.ust.ui.views.memusage.MemoryUsageView"
- id="org.eclipse.linuxtools.lttng2.ust.memoryusage"
- name="%memoryusage.view.name"
- restorable="true">
- </view>
- </extension>
- <extension
- point="org.eclipse.linuxtools.tmf.core.analysis">
- <module
- analysis_module="org.eclipse.linuxtools.lttng2.ust.ui.analysis.callstack.LttngUstCallStackAnalysis"
- automatic="false"
- id="org.eclipse.linuxtools.lttng2.ust.analysis.callstack"
- name="%analysis.callstack">
- <tracetype
- applies="true"
- class="org.eclipse.linuxtools.lttng2.ust.core.trace.LttngUstTrace">
- </tracetype>
- </module>
- <output
- class="org.eclipse.linuxtools.tmf.ui.analysis.TmfAnalysisViewOutput"
- id="org.eclipse.linuxtools.lttng2.ust.memoryusage">
- <analysisId
- id="org.eclipse.linuxtools.lttng2.ust.analysis.memory">
- </analysisId>
- </output>
- </extension>
-</plugin>
diff --git a/lttng/org.eclipse.linuxtools.lttng2.ust.ui/pom.xml b/lttng/org.eclipse.linuxtools.lttng2.ust.ui/pom.xml
deleted file mode 100644
index f7031a6939..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.ust.ui/pom.xml
+++ /dev/null
@@ -1,36 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Copyright (C) 2011, 2013 Red Hat Inc., 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
--->
-<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
- <modelVersion>4.0.0</modelVersion>
-
- <parent>
- <artifactId>linuxtools-lttng-parent</artifactId>
- <groupId>org.eclipse.linuxtools.lttng</groupId>
- <version>3.2.0-SNAPSHOT</version>
- </parent>
-
- <artifactId>org.eclipse.linuxtools.lttng2.ust.ui</artifactId>
- <version>3.1.0-SNAPSHOT</version>
- <packaging>eclipse-plugin</packaging>
-
- <name>Linux Tools LTTng Userspace Tracer Analysis UI Plug-in</name>
-
- <build>
- <plugins>
- <plugin>
- <groupId>org.eclipse.tycho</groupId>
- <artifactId>tycho-source-plugin</artifactId>
- </plugin>
- </plugins>
- </build>
-
- <groupId>org.eclipse.linuxtools.lttng2</groupId>
-</project>
diff --git a/lttng/org.eclipse.linuxtools.lttng2.ust.ui/src/org/eclipse/linuxtools/internal/lttng2/ust/ui/Activator.java b/lttng/org.eclipse.linuxtools.lttng2.ust.ui/src/org/eclipse/linuxtools/internal/lttng2/ust/ui/Activator.java
deleted file mode 100644
index 93eef4cb9f..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.ust.ui/src/org/eclipse/linuxtools/internal/lttng2/ust/ui/Activator.java
+++ /dev/null
@@ -1,184 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 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:
- * Alexandre Montplaisir - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.internal.lttng2.ust.ui;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.resource.ImageRegistry;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.ui.plugin.AbstractUIPlugin;
-import org.osgi.framework.BundleContext;
-
-/**
- * The activator class controls the plug-in life cycle
- */
-public class Activator extends AbstractUIPlugin {
-
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
-
- /**
- * The plug-in ID
- */
- public static final String PLUGIN_ID = "org.eclipse.linuxtools.lttng2.ust.ui"; //$NON-NLS-1$
-
- /**
- * The shared instance
- */
- private static Activator plugin;
-
- // ------------------------------------------------------------------------
- // Constructors
- // ------------------------------------------------------------------------
-
- /**
- * The constructor
- */
- public Activator() {
- }
-
- // ------------------------------------------------------------------------
- // Accessors
- // ------------------------------------------------------------------------
-
- /**
- * Returns the shared instance
- *
- * @return the shared instance
- */
- public static Activator getDefault() {
- return plugin;
- }
-
- // ------------------------------------------------------------------------
- // AbstractUIPlugin
- // ------------------------------------------------------------------------
-
- @Override
- public void start(BundleContext context) throws Exception {
- super.start(context);
- plugin = this;
- }
-
- @Override
- public void stop(BundleContext context) throws Exception {
- plugin = null;
- super.stop(context);
- }
-
- @Override
- protected void initializeImageRegistry(ImageRegistry reg) {
- }
-
- // ------------------------------------------------------------------------
- // Operations
- // ------------------------------------------------------------------------
-
- /**
- * Get the image object from a given path
- *
- * @param path
- * The path to the image file
- * @return The Image object
- */
- public Image getImageFromPath(String path) {
- return getImageDescripterFromPath(path).createImage();
- }
-
- /**
- * Get the ImageDescriptor from a given path
- *
- * @param path
- * The path to the image file
- * @return The ImageDescriptor object
- */
- public ImageDescriptor getImageDescripterFromPath(String path) {
- return AbstractUIPlugin.imageDescriptorFromPlugin(PLUGIN_ID, path);
- }
-
- /**
- * Get the Image from a registry
- *
- * @param path
- * The path to the image registry
- * @return The Image object
- */
- public Image getImageFromImageRegistry(String path) {
- Image icon = getImageRegistry().get(path);
- if (icon == null) {
- icon = getImageDescripterFromPath(path).createImage();
- plugin.getImageRegistry().put(path, icon);
- }
- return icon;
- }
-
- /**
- * Logs a message with severity INFO in the runtime log of the plug-in.
- *
- * @param message A message to log
- */
- public void logInfo(String message) {
- getLog().log(new Status(IStatus.INFO, PLUGIN_ID, message));
- }
-
- /**
- * Logs a message and exception with severity INFO in the runtime log of the plug-in.
- *
- * @param message A message to log
- * @param exception A exception to log
- */
- public void logInfo(String message, Throwable exception) {
- getLog().log(new Status(IStatus.INFO, PLUGIN_ID, message, exception));
- }
-
- /**
- * Logs a message and exception with severity WARNING in the runtime log of the plug-in.
- *
- * @param message A message to log
- */
- public void logWarning(String message) {
- getLog().log(new Status(IStatus.WARNING, PLUGIN_ID, message));
- }
-
- /**
- * Logs a message and exception with severity WARNING in the runtime log of the plug-in.
- *
- * @param message A message to log
- * @param exception A exception to log
- */
- public void logWarning(String message, Throwable exception) {
- getLog().log(new Status(IStatus.WARNING, PLUGIN_ID, message, exception));
- }
-
- /**
- * Logs a message and exception with severity ERROR in the runtime log of the plug-in.
- *
- * @param message A message to log
- */
- public void logError(String message) {
- getLog().log(new Status(IStatus.ERROR, PLUGIN_ID, message));
- }
-
- /**
- * Logs a message and exception with severity ERROR in the runtime log of the plug-in.
- *
- * @param message A message to log
- * @param exception A exception to log
- */
- public void logError(String message, Throwable exception) {
- getLog().log(new Status(IStatus.ERROR, PLUGIN_ID, message, exception));
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.lttng2.ust.ui/src/org/eclipse/linuxtools/internal/lttng2/ust/ui/views/memusage/MemoryUsageView.java b/lttng/org.eclipse.linuxtools.lttng2.ust.ui/src/org/eclipse/linuxtools/internal/lttng2/ust/ui/views/memusage/MemoryUsageView.java
deleted file mode 100644
index aacb49aa37..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.ust.ui/src/org/eclipse/linuxtools/internal/lttng2/ust/ui/views/memusage/MemoryUsageView.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2014 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:
- * Matthew Khouzam - Initial API and implementation
- **********************************************************************/
-
-package org.eclipse.linuxtools.internal.lttng2.ust.ui.views.memusage;
-
-import org.eclipse.linuxtools.tmf.ui.views.TmfChartView;
-import org.eclipse.swt.widgets.Composite;
-
-/**
- * Memory Usage View
- *
- * @author Matthew Khouzam
- */
-public class MemoryUsageView extends TmfChartView {
-
- /** ID string */
- public static final String ID = "org.eclipse.linuxtools.lttng2.ust.memoryusage"; //$NON-NLS-1$
-
- /**
- * Constructor
- */
- public MemoryUsageView() {
- super(Messages.MemoryUsageView_Title);
- }
-
- @Override
- public void createPartControl(Composite parent) {
- setChartViewer( new MemoryUsageViewer(parent));
- super.createPartControl(parent);
- }
-
- @Override
- public void setFocus() {
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.lttng2.ust.ui/src/org/eclipse/linuxtools/internal/lttng2/ust/ui/views/memusage/MemoryUsageViewer.java b/lttng/org.eclipse.linuxtools.lttng2.ust.ui/src/org/eclipse/linuxtools/internal/lttng2/ust/ui/views/memusage/MemoryUsageViewer.java
deleted file mode 100644
index 1ddadcbba2..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.ust.ui/src/org/eclipse/linuxtools/internal/lttng2/ust/ui/views/memusage/MemoryUsageViewer.java
+++ /dev/null
@@ -1,160 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2014 Ericsson, École Polytechnique de Montréal
- *
- * 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:
- * Bernd Hufmann - Initial API and implementation
- * Geneviève Bastien - Create and use base class for XY plots
- **********************************************************************/
-
-package org.eclipse.linuxtools.internal.lttng2.ust.ui.views.memusage;
-
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.linuxtools.internal.lttng2.ust.core.memoryusage.UstMemoryStrings;
-import org.eclipse.linuxtools.internal.tmf.core.Activator;
-import org.eclipse.linuxtools.lttng2.ust.core.analysis.memory.UstMemoryAnalysisModule;
-import org.eclipse.linuxtools.statesystem.core.ITmfStateSystem;
-import org.eclipse.linuxtools.statesystem.core.exceptions.AttributeNotFoundException;
-import org.eclipse.linuxtools.statesystem.core.exceptions.StateSystemDisposedException;
-import org.eclipse.linuxtools.statesystem.core.exceptions.StateValueTypeException;
-import org.eclipse.linuxtools.statesystem.core.exceptions.TimeRangeException;
-import org.eclipse.linuxtools.statesystem.core.statevalue.ITmfStateValue;
-import org.eclipse.linuxtools.tmf.core.statesystem.TmfStateSystemAnalysisModule;
-import org.eclipse.linuxtools.tmf.ui.viewers.xycharts.linecharts.TmfCommonXLineChartViewer;
-import org.eclipse.swt.widgets.Composite;
-
-/**
- * Memory usage view
- *
- * @author Matthew Khouzam
- */
-@SuppressWarnings("restriction")
-public class MemoryUsageViewer extends TmfCommonXLineChartViewer {
-
- private TmfStateSystemAnalysisModule fModule = null;
-
- private final Map<Integer, double[]> fYValues = new HashMap<>();
- private final Map<Integer, Integer> fMemoryQuarks = new HashMap<>();
- private final Map<Integer, String> fSeriesName = new HashMap<>();
-
- private static final int BYTES_TO_KB = 1024;
-
- // Timeout between updates in the updateData thread
- private static final long BUILD_UPDATE_TIMEOUT = 500;
-
- /**
- * Constructor
- *
- * @param parent
- * parent view
- */
- public MemoryUsageViewer(Composite parent) {
- super(parent, Messages.MemoryUsageViewer_Title, Messages.MemoryUsageViewer_XAxis, Messages.MemoryUsageViewer_YAxis);
- }
-
- @Override
- protected void initializeDataSource() {
- if (getTrace() != null) {
- fModule = getTrace().getAnalysisModuleOfClass(TmfStateSystemAnalysisModule.class, UstMemoryAnalysisModule.ID);
- if (fModule == null) {
- return;
- }
- fModule.schedule();
- }
- }
-
- @Override
- protected void updateData(long start, long end, int nb, IProgressMonitor monitor) {
- try {
- if (getTrace() == null || fModule == null) {
- return;
- }
- fModule.waitForInitialization();
- ITmfStateSystem ss = fModule.getStateSystem();
- /* Don't wait for the module completion, when it's ready, we'll know */
- if (ss == null) {
- return;
- }
-
- double[] xvalues = getXAxis(start, end, nb);
- setXAxis(xvalues);
-
- boolean complete = false;
- long currentEnd = start;
-
- while (!complete && currentEnd < end) {
- if (monitor.isCanceled()) {
- return;
- }
- complete = ss.waitUntilBuilt(BUILD_UPDATE_TIMEOUT);
- currentEnd = ss.getCurrentEndTime();
- List<Integer> tidQuarks = ss.getSubAttributes(-1, false);
- long traceStart = getStartTime();
- long traceEnd = getEndTime();
- long offset = this.getTimeOffset();
-
- /* Initialize quarks and series names */
- for (int quark : tidQuarks) {
- fYValues.put(quark, new double[xvalues.length]);
- fMemoryQuarks.put(quark, ss.getQuarkRelative(quark, UstMemoryStrings.UST_MEMORY_MEMORY_ATTRIBUTE));
- int procNameQuark = ss.getQuarkRelative(quark, UstMemoryStrings.UST_MEMORY_PROCNAME_ATTRIBUTE);
- try {
- ITmfStateValue procnameValue = ss.querySingleState(start, procNameQuark).getStateValue();
- String procname = new String();
- if (!procnameValue.isNull()) {
- procname = procnameValue.unboxStr();
- }
- fSeriesName.put(quark, new String(procname + ' ' + '(' + ss.getAttributeName(quark) + ')').trim());
- } catch (TimeRangeException e) {
- fSeriesName.put(quark, '(' + ss.getAttributeName(quark) + ')');
- }
- }
-
- /*
- * TODO: It should only show active threads in the time range. If a
- * tid does not have any memory value (only 1 interval in the time
- * range with value null or 0), then its series should not be
- * displayed.
- */
- double yvalue = 0.0;
- for (int i = 0; i < xvalues.length; i++) {
- if (monitor.isCanceled()) {
- return;
- }
- double x = xvalues[i];
- long time = (long) x + offset;
- // make sure that time is in the trace range after double to
- // long conversion
- time = time < traceStart ? traceStart : time;
- time = time > traceEnd ? traceEnd : time;
-
- for (int quark : tidQuarks) {
- try {
- yvalue = ss.querySingleState(time, fMemoryQuarks.get(quark)).getStateValue().unboxLong() / BYTES_TO_KB;
- fYValues.get(quark)[i] = yvalue;
- } catch (TimeRangeException e) {
- fYValues.get(quark)[i] = 0;
- }
- }
- }
- for (int quark : tidQuarks) {
- setSeries(fSeriesName.get(quark), fYValues.get(quark));
- }
- updateDisplay();
- }
- } catch (AttributeNotFoundException | StateValueTypeException e) {
- Activator.logError("Error updating the data of the Memory usage view", e); //$NON-NLS-1$
- } catch (StateSystemDisposedException e) {
- /* State system is closing down, no point continuing */
- }
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.lttng2.ust.ui/src/org/eclipse/linuxtools/internal/lttng2/ust/ui/views/memusage/Messages.java b/lttng/org.eclipse.linuxtools.lttng2.ust.ui/src/org/eclipse/linuxtools/internal/lttng2/ust/ui/views/memusage/Messages.java
deleted file mode 100644
index 29a4bbfa68..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.ust.ui/src/org/eclipse/linuxtools/internal/lttng2/ust/ui/views/memusage/Messages.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 École Polytechnique de Montréal
- *
- * 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:
- * Geneviève Bastien - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.internal.lttng2.ust.ui.views.memusage;
-
-import org.eclipse.osgi.util.NLS;
-
-/**
- * Translatable strings for the ust memory usage view
- *
- * @author Geneviève Bastien
- */
-public class Messages extends NLS {
- private static final String BUNDLE_NAME = "org.eclipse.linuxtools.internal.lttng2.ust.ui.views.memusage.messages"; //$NON-NLS-1$
- /** Title of the memory usage xy view */
- public static String MemoryUsageView_Title;
-
- /** Title of the memory viewer */
- public static String MemoryUsageViewer_Title;
- /** X axis caption */
- public static String MemoryUsageViewer_XAxis;
- /** Y axis caption */
- public static String MemoryUsageViewer_YAxis;
- static {
- // initialize resource bundle
- NLS.initializeMessages(BUNDLE_NAME, Messages.class);
- }
-
- private Messages() {
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.lttng2.ust.ui/src/org/eclipse/linuxtools/internal/lttng2/ust/ui/views/memusage/messages.properties b/lttng/org.eclipse.linuxtools.lttng2.ust.ui/src/org/eclipse/linuxtools/internal/lttng2/ust/ui/views/memusage/messages.properties
deleted file mode 100644
index 2de2271a0b..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.ust.ui/src/org/eclipse/linuxtools/internal/lttng2/ust/ui/views/memusage/messages.properties
+++ /dev/null
@@ -1,15 +0,0 @@
-###############################################################################
-# Copyright (c) 2014 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:
-# Ericsson - Initial API and implementation
-###############################################################################
-MemoryUsageView_Title=Memory Usage
-MemoryUsageViewer_Title=Memory Allocation vs Time
-MemoryUsageViewer_XAxis=Time
-MemoryUsageViewer_YAxis=Usage (KB)
diff --git a/lttng/org.eclipse.linuxtools.lttng2.ust.ui/src/org/eclipse/linuxtools/lttng2/ust/ui/analysis/callstack/LttngUstCallStackAnalysis.java b/lttng/org.eclipse.linuxtools.lttng2.ust.ui/src/org/eclipse/linuxtools/lttng2/ust/ui/analysis/callstack/LttngUstCallStackAnalysis.java
deleted file mode 100644
index f1b0ec08aa..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.ust.ui/src/org/eclipse/linuxtools/lttng2/ust/ui/analysis/callstack/LttngUstCallStackAnalysis.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 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:
- * Alexandre Montplaisir - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.lttng2.ust.ui.analysis.callstack;
-
-import org.eclipse.linuxtools.internal.lttng2.ust.core.trace.callstack.LttngUstCallStackProvider;
-import org.eclipse.linuxtools.lttng2.ust.core.trace.LttngUstTrace;
-import org.eclipse.linuxtools.tmf.core.exceptions.TmfAnalysisException;
-import org.eclipse.linuxtools.tmf.core.statesystem.ITmfStateProvider;
-import org.eclipse.linuxtools.tmf.core.trace.ITmfTrace;
-import org.eclipse.linuxtools.tmf.ui.views.callstack.AbstractCallStackAnalysis;
-
-/**
- * Call-stack analysis to populate the TMF CallStack View from UST cyg-profile
- * events.
- *
- * @author Alexandre Montplaisir
- * @since 3.0
- */
-public class LttngUstCallStackAnalysis extends AbstractCallStackAnalysis {
-
- @Override
- public void setTrace(ITmfTrace trace) throws TmfAnalysisException {
- if (!(trace instanceof LttngUstTrace)) {
- throw new IllegalArgumentException("Trace should be of type LttngUstTrace"); //$NON-NLS-1$
- }
- super.setTrace(trace);
- }
-
- @Override
- protected LttngUstTrace getTrace() {
- return (LttngUstTrace) super.getTrace();
- }
-
- @Override
- protected ITmfStateProvider createStateProvider() {
- return new LttngUstCallStackProvider(getTrace());
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.lttng2.ust/.project b/lttng/org.eclipse.linuxtools.lttng2.ust/.project
deleted file mode 100644
index 41bff854b0..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.ust/.project
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>org.eclipse.linuxtools.lttng2.ust</name>
- <comment></comment>
- <projects>
- </projects>
- <buildSpec>
- <buildCommand>
- <name>org.eclipse.pde.FeatureBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>org.eclipse.pde.FeatureNature</nature>
- </natures>
-</projectDescription>
diff --git a/lttng/org.eclipse.linuxtools.lttng2.ust/.settings/org.eclipse.core.resources.prefs b/lttng/org.eclipse.linuxtools.lttng2.ust/.settings/org.eclipse.core.resources.prefs
deleted file mode 100644
index 99f26c0203..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.ust/.settings/org.eclipse.core.resources.prefs
+++ /dev/null
@@ -1,2 +0,0 @@
-eclipse.preferences.version=1
-encoding/<project>=UTF-8
diff --git a/lttng/org.eclipse.linuxtools.lttng2.ust/.settings/org.eclipse.core.runtime.prefs b/lttng/org.eclipse.linuxtools.lttng2.ust/.settings/org.eclipse.core.runtime.prefs
deleted file mode 100644
index 5a0ad22d2a..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.ust/.settings/org.eclipse.core.runtime.prefs
+++ /dev/null
@@ -1,2 +0,0 @@
-eclipse.preferences.version=1
-line.separator=\n
diff --git a/lttng/org.eclipse.linuxtools.lttng2.ust/build.properties b/lttng/org.eclipse.linuxtools.lttng2.ust/build.properties
deleted file mode 100644
index c0db4e0a72..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.ust/build.properties
+++ /dev/null
@@ -1,15 +0,0 @@
-###############################################################################
-# Copyright (c) 2013 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:
-# Ericsson - Initial API and implementation
-###############################################################################
-
-bin.includes = feature.xml,\
- feature.properties,\
- p2.inf
diff --git a/lttng/org.eclipse.linuxtools.lttng2.ust/feature.properties b/lttng/org.eclipse.linuxtools.lttng2.ust/feature.properties
deleted file mode 100644
index 6ec91abc31..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.ust/feature.properties
+++ /dev/null
@@ -1,22 +0,0 @@
-###############################################################################
-# Copyright (c) 2009, 2013 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:
-# Ericsson - Initial API and implementation
-###############################################################################
-
-featureName=Linux Tools LTTng Userspace Analysis
-
-description=Plug-ins to integrate LTTng-UST analysis tools into the workbench. \
-Includes the LTTng (Linux Tracing Toolkit), TMF (Tracing and Monitoring Framework) \
-and CTF (Common Trace Format) features.
-
-featureProvider=Eclipse Linux Tools
-
-copyright=Copyright 2013 Ericsson
-
diff --git a/lttng/org.eclipse.linuxtools.lttng2.ust/feature.xml b/lttng/org.eclipse.linuxtools.lttng2.ust/feature.xml
deleted file mode 100644
index 089ff87f32..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.ust/feature.xml
+++ /dev/null
@@ -1,68 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- For PDE build, remove "ws" and "arch" -->
-<feature
- id="org.eclipse.linuxtools.lttng2.ust"
- label="%featureName"
- version="3.2.0.qualifier"
- provider-name="%featureProvider"
- license-feature="org.eclipse.license"
- license-feature-version="0.0.0">
-
- <description>
- %description
- </description>
-
- <copyright>
- %copyright
- </copyright>
-
- <license url="%licenseURL">
- %license
- </license>
-
- <url>
- <update label="Linux Tools Update Site" url="http://download.eclipse.org/linuxtools/update"/>
- </url>
-
- <includes
- id="org.eclipse.linuxtools.lttng2.control"
- version="0.0.0"
- name="Linux Tracing Toolkit next generation (LTTng)"/>
-
- <includes
- id="org.eclipse.linuxtools.tmf.ctf"
- version="0.0.0"
- name="CTF Support for TMF"/>
-
- <requires>
- <import plugin="org.eclipse.core.runtime"/>
- <import plugin="org.eclipse.core.resources"/>
- <import plugin="org.eclipse.linuxtools.ctf.core" version="3.1.0" match="greaterOrEqual"/>
- <import plugin="org.eclipse.linuxtools.tmf.core" version="3.1.0" match="greaterOrEqual"/>
- <import plugin="org.eclipse.ui"/>
- <import plugin="org.eclipse.ui.ide"/>
- <import plugin="org.eclipse.linuxtools.tmf.ui" version="3.1.0" match="greaterOrEqual"/>
- <import plugin="org.eclipse.help"/>
- </requires>
-
- <plugin
- id="org.eclipse.linuxtools.lttng2.ust.core"
- download-size="0"
- install-size="0"
- version="0.0.0"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.linuxtools.lttng2.ust.ui"
- download-size="0"
- install-size="0"
- version="0.0.0"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.linuxtools.lttng.help"
- download-size="0"
- install-size="0"
- version="0.0.0"/>
-
-</feature>
diff --git a/lttng/org.eclipse.linuxtools.lttng2.ust/p2.inf b/lttng/org.eclipse.linuxtools.lttng2.ust/p2.inf
deleted file mode 100644
index 5246a0c824..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.ust/p2.inf
+++ /dev/null
@@ -1,3 +0,0 @@
-instructions.configure=\
-org.eclipse.equinox.p2.touchpoint.eclipse.addRepository(location:http${#58}//download.eclipse.org/linuxtools/updates-nightly,type:0,name:Linux Tools,enabled:false); \
-org.eclipse.equinox.p2.touchpoint.eclipse.addRepository(location:http${#58}//download.eclipse.org/linuxtools/updates-nightly,type:1,name:Linux Tools,enabled:false);
diff --git a/lttng/org.eclipse.linuxtools.lttng2.ust/pom.xml b/lttng/org.eclipse.linuxtools.lttng2.ust/pom.xml
deleted file mode 100644
index 50111d1e2c..0000000000
--- a/lttng/org.eclipse.linuxtools.lttng2.ust/pom.xml
+++ /dev/null
@@ -1,64 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Copyright (C) 2011, 2013 Red Hat Inc., 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
--->
-<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
- <modelVersion>4.0.0</modelVersion>
-
- <parent>
- <artifactId>linuxtools-lttng-parent</artifactId>
- <groupId>org.eclipse.linuxtools.lttng</groupId>
- <version>3.2.0-SNAPSHOT</version>
- </parent>
-
- <artifactId>org.eclipse.linuxtools.lttng2.ust</artifactId>
- <version>3.2.0-SNAPSHOT</version>
- <packaging>eclipse-feature</packaging>
-
- <name>Linux Tools LTTng Userspace Tracer Analysis Feature</name>
-
- <groupId>org.eclipse.linuxtools.lttng2</groupId>
-
- <build>
- <plugins>
- <plugin>
- <groupId>org.eclipse.tycho.extras</groupId>
- <artifactId>tycho-source-feature-plugin</artifactId>
- <executions>
- <execution>
- <id>source-feature</id>
- <phase>package</phase>
- <goals>
- <goal>source-feature</goal>
- </goals>
- <configuration>
- <excludes>
- <plugin id="org.eclipse.linuxtools.lttng.help"/>
- </excludes>
- </configuration>
- </execution>
- </executions>
- </plugin>
- <plugin>
- <groupId>org.eclipse.tycho</groupId>
- <artifactId>tycho-p2-plugin</artifactId>
- <version>${tycho-version}</version>
- <executions>
- <execution>
- <id>attached-p2-metadata</id>
- <phase>package</phase>
- <goals>
- <goal>p2-metadata</goal>
- </goals>
- </execution>
- </executions>
- </plugin>
- </plugins>
- </build>
-</project>
diff --git a/lttng/org.eclipse.linuxtools.pcap.core.tests/.classpath b/lttng/org.eclipse.linuxtools.pcap.core.tests/.classpath
deleted file mode 100644
index 8fbc9a2058..0000000000
--- a/lttng/org.eclipse.linuxtools.pcap.core.tests/.classpath
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
- <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.7"/>
- <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
- <classpathentry kind="src" path="src"/>
- <classpathentry kind="src" path="perf"/>
- <classpathentry kind="src" path="shared"/>
- <classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/lttng/org.eclipse.linuxtools.pcap.core.tests/.project b/lttng/org.eclipse.linuxtools.pcap.core.tests/.project
deleted file mode 100644
index c0c7873e17..0000000000
--- a/lttng/org.eclipse.linuxtools.pcap.core.tests/.project
+++ /dev/null
@@ -1,34 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>org.eclipse.linuxtools.pcap.core.tests</name>
- <comment></comment>
- <projects>
- </projects>
- <buildSpec>
- <buildCommand>
- <name>org.eclipse.jdt.core.javabuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.ManifestBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.SchemaBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.api.tools.apiAnalysisBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>org.eclipse.pde.PluginNature</nature>
- <nature>org.eclipse.jdt.core.javanature</nature>
- <nature>org.eclipse.pde.api.tools.apiAnalysisNature</nature>
- </natures>
-</projectDescription>
diff --git a/lttng/org.eclipse.linuxtools.pcap.core.tests/.settings/org.eclipse.core.resources.prefs b/lttng/org.eclipse.linuxtools.pcap.core.tests/.settings/org.eclipse.core.resources.prefs
deleted file mode 100644
index 99f26c0203..0000000000
--- a/lttng/org.eclipse.linuxtools.pcap.core.tests/.settings/org.eclipse.core.resources.prefs
+++ /dev/null
@@ -1,2 +0,0 @@
-eclipse.preferences.version=1
-encoding/<project>=UTF-8
diff --git a/lttng/org.eclipse.linuxtools.pcap.core.tests/.settings/org.eclipse.core.runtime.prefs b/lttng/org.eclipse.linuxtools.pcap.core.tests/.settings/org.eclipse.core.runtime.prefs
deleted file mode 100644
index 5a0ad22d2a..0000000000
--- a/lttng/org.eclipse.linuxtools.pcap.core.tests/.settings/org.eclipse.core.runtime.prefs
+++ /dev/null
@@ -1,2 +0,0 @@
-eclipse.preferences.version=1
-line.separator=\n
diff --git a/lttng/org.eclipse.linuxtools.pcap.core.tests/.settings/org.eclipse.jdt.core.prefs b/lttng/org.eclipse.linuxtools.pcap.core.tests/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index f3fc64575b..0000000000
--- a/lttng/org.eclipse.linuxtools.pcap.core.tests/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,393 +0,0 @@
-eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.annotation.inheritNullAnnotations=enabled
-org.eclipse.jdt.core.compiler.annotation.missingNonNullByDefaultAnnotation=ignore
-org.eclipse.jdt.core.compiler.annotation.nonnull=org.eclipse.jdt.annotation.NonNull
-org.eclipse.jdt.core.compiler.annotation.nonnullbydefault=org.eclipse.jdt.annotation.NonNullByDefault
-org.eclipse.jdt.core.compiler.annotation.nullable=org.eclipse.jdt.annotation.Nullable
-org.eclipse.jdt.core.compiler.annotation.nullanalysis=enabled
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.7
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.doc.comment.support=enabled
-org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=error
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
-org.eclipse.jdt.core.compiler.problem.comparingIdentical=error
-org.eclipse.jdt.core.compiler.problem.deadCode=error
-org.eclipse.jdt.core.compiler.problem.deprecation=error
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=enabled
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled
-org.eclipse.jdt.core.compiler.problem.discouragedReference=error
-org.eclipse.jdt.core.compiler.problem.emptyStatement=error
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.problem.explicitlyClosedAutoCloseable=error
-org.eclipse.jdt.core.compiler.problem.fallthroughCase=error
-org.eclipse.jdt.core.compiler.problem.fatalOptionalError=disabled
-org.eclipse.jdt.core.compiler.problem.fieldHiding=error
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=error
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=error
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=error
-org.eclipse.jdt.core.compiler.problem.includeNullInfoFromAsserts=disabled
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=error
-org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=error
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=error
-org.eclipse.jdt.core.compiler.problem.invalidJavadoc=warning
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTags=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=protected
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=error
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=error
-org.eclipse.jdt.core.compiler.problem.missingDefaultCase=error
-org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=error
-org.eclipse.jdt.core.compiler.problem.missingEnumCaseDespiteDefault=enabled
-org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=error
-org.eclipse.jdt.core.compiler.problem.missingJavadocComments=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=protected
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagDescription=all_standard_tags
-org.eclipse.jdt.core.compiler.problem.missingJavadocTags=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsMethodTypeParameters=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=protected
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=error
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotationForInterfaceMethodImplementation=enabled
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=error
-org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=error
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=error
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=error
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=ignore
-org.eclipse.jdt.core.compiler.problem.nonnullParameterAnnotationDropped=warning
-org.eclipse.jdt.core.compiler.problem.nullAnnotationInferenceConflict=warning
-org.eclipse.jdt.core.compiler.problem.nullReference=error
-org.eclipse.jdt.core.compiler.problem.nullSpecViolation=error
-org.eclipse.jdt.core.compiler.problem.nullUncheckedConversion=warning
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=error
-org.eclipse.jdt.core.compiler.problem.parameterAssignment=error
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=error
-org.eclipse.jdt.core.compiler.problem.potentialNullReference=error
-org.eclipse.jdt.core.compiler.problem.potentiallyUnclosedCloseable=warning
-org.eclipse.jdt.core.compiler.problem.rawTypeReference=error
-org.eclipse.jdt.core.compiler.problem.redundantNullAnnotation=warning
-org.eclipse.jdt.core.compiler.problem.redundantNullCheck=error
-org.eclipse.jdt.core.compiler.problem.redundantSpecificationOfTypeArguments=error
-org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=error
-org.eclipse.jdt.core.compiler.problem.reportMethodCanBePotentiallyStatic=ignore
-org.eclipse.jdt.core.compiler.problem.reportMethodCanBeStatic=error
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=error
-org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=disabled
-org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
-org.eclipse.jdt.core.compiler.problem.syntacticNullAnalysisForFields=enabled
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
-org.eclipse.jdt.core.compiler.problem.typeParameterHiding=error
-org.eclipse.jdt.core.compiler.problem.unavoidableGenericTypeProblems=disabled
-org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=error
-org.eclipse.jdt.core.compiler.problem.unclosedCloseable=error
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
-org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=error
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=error
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=error
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=error
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=disabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=disabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=error
-org.eclipse.jdt.core.compiler.problem.unusedLabel=error
-org.eclipse.jdt.core.compiler.problem.unusedLocal=error
-org.eclipse.jdt.core.compiler.problem.unusedObjectAllocation=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=error
-org.eclipse.jdt.core.compiler.problem.unusedTypeParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedWarningToken=error
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=error
-org.eclipse.jdt.core.compiler.source=1.7
-org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_assignment=0
-org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
-org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
-org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
-org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
-org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0
-org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=80
-org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=0
-org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch=16
-org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_after_package=1
-org.eclipse.jdt.core.formatter.blank_lines_before_field=0
-org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
-org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
-org.eclipse.jdt.core.formatter.blank_lines_before_method=1
-org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
-org.eclipse.jdt.core.formatter.blank_lines_before_package=0
-org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
-org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
-org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
-org.eclipse.jdt.core.formatter.comment.format_block_comments=true
-org.eclipse.jdt.core.formatter.comment.format_header=false
-org.eclipse.jdt.core.formatter.comment.format_html=true
-org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=true
-org.eclipse.jdt.core.formatter.comment.format_line_comments=true
-org.eclipse.jdt.core.formatter.comment.format_source_code=true
-org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true
-org.eclipse.jdt.core.formatter.comment.indent_root_tags=true
-org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
-org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=insert
-org.eclipse.jdt.core.formatter.comment.line_length=80
-org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries=true
-org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries=true
-org.eclipse.jdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments=false
-org.eclipse.jdt.core.formatter.compact_else_if=true
-org.eclipse.jdt.core.formatter.continuation_indentation=2
-org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2
-org.eclipse.jdt.core.formatter.disabling_tag=@formatter\:off
-org.eclipse.jdt.core.formatter.enabling_tag=@formatter\:on
-org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
-org.eclipse.jdt.core.formatter.format_line_comment_starting_on_first_column=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
-org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_empty_lines=false
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=false
-org.eclipse.jdt.core.formatter.indentation.size=4
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_label=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_try=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources=insert
-org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_try=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
-org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.join_lines_in_comments=true
-org.eclipse.jdt.core.formatter.join_wrapped_lines=false
-org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.lineSplit=250
-org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
-org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
-org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true
-org.eclipse.jdt.core.formatter.tabulation.char=space
-org.eclipse.jdt.core.formatter.tabulation.size=4
-org.eclipse.jdt.core.formatter.use_on_off_tags=false
-org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
-org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
-org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true
-org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true
diff --git a/lttng/org.eclipse.linuxtools.pcap.core.tests/.settings/org.eclipse.jdt.ui.prefs b/lttng/org.eclipse.linuxtools.pcap.core.tests/.settings/org.eclipse.jdt.ui.prefs
deleted file mode 100644
index 4fd0c7006a..0000000000
--- a/lttng/org.eclipse.linuxtools.pcap.core.tests/.settings/org.eclipse.jdt.ui.prefs
+++ /dev/null
@@ -1,56 +0,0 @@
-eclipse.preferences.version=1
-editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
-formatter_profile=_tmf-style
-formatter_settings_version=12
-sp_cleanup.add_default_serial_version_id=true
-sp_cleanup.add_generated_serial_version_id=false
-sp_cleanup.add_missing_annotations=false
-sp_cleanup.add_missing_deprecated_annotations=true
-sp_cleanup.add_missing_methods=false
-sp_cleanup.add_missing_nls_tags=false
-sp_cleanup.add_missing_override_annotations=true
-sp_cleanup.add_missing_override_annotations_interface_methods=true
-sp_cleanup.add_serial_version_id=false
-sp_cleanup.always_use_blocks=true
-sp_cleanup.always_use_parentheses_in_expressions=false
-sp_cleanup.always_use_this_for_non_static_field_access=false
-sp_cleanup.always_use_this_for_non_static_method_access=false
-sp_cleanup.convert_to_enhanced_for_loop=false
-sp_cleanup.correct_indentation=false
-sp_cleanup.format_source_code=false
-sp_cleanup.format_source_code_changes_only=false
-sp_cleanup.make_local_variable_final=false
-sp_cleanup.make_parameters_final=false
-sp_cleanup.make_private_fields_final=true
-sp_cleanup.make_type_abstract_if_missing_method=false
-sp_cleanup.make_variable_declarations_final=false
-sp_cleanup.never_use_blocks=false
-sp_cleanup.never_use_parentheses_in_expressions=true
-sp_cleanup.on_save_use_additional_actions=true
-sp_cleanup.organize_imports=false
-sp_cleanup.qualify_static_field_accesses_with_declaring_class=false
-sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_with_declaring_class=false
-sp_cleanup.qualify_static_method_accesses_with_declaring_class=false
-sp_cleanup.remove_private_constructors=true
-sp_cleanup.remove_trailing_whitespaces=true
-sp_cleanup.remove_trailing_whitespaces_all=true
-sp_cleanup.remove_trailing_whitespaces_ignore_empty=false
-sp_cleanup.remove_unnecessary_casts=false
-sp_cleanup.remove_unnecessary_nls_tags=false
-sp_cleanup.remove_unused_imports=false
-sp_cleanup.remove_unused_local_variables=false
-sp_cleanup.remove_unused_private_fields=true
-sp_cleanup.remove_unused_private_members=false
-sp_cleanup.remove_unused_private_methods=true
-sp_cleanup.remove_unused_private_types=true
-sp_cleanup.sort_members=false
-sp_cleanup.sort_members_all=false
-sp_cleanup.use_blocks=true
-sp_cleanup.use_blocks_only_for_return_and_throw=false
-sp_cleanup.use_parentheses_in_expressions=false
-sp_cleanup.use_this_for_non_static_field_access=false
-sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=true
-sp_cleanup.use_this_for_non_static_method_access=false
-sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true
diff --git a/lttng/org.eclipse.linuxtools.pcap.core.tests/.settings/org.eclipse.pde.api.tools.prefs b/lttng/org.eclipse.linuxtools.pcap.core.tests/.settings/org.eclipse.pde.api.tools.prefs
deleted file mode 100644
index acc3abd47c..0000000000
--- a/lttng/org.eclipse.linuxtools.pcap.core.tests/.settings/org.eclipse.pde.api.tools.prefs
+++ /dev/null
@@ -1,97 +0,0 @@
-ANNOTATION_ELEMENT_TYPE_ADDED_METHOD_WITHOUT_DEFAULT_VALUE=Error
-ANNOTATION_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
-ANNOTATION_ELEMENT_TYPE_REMOVED_FIELD=Error
-ANNOTATION_ELEMENT_TYPE_REMOVED_METHOD=Error
-ANNOTATION_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
-API_COMPONENT_ELEMENT_TYPE_REMOVED_API_TYPE=Error
-API_COMPONENT_ELEMENT_TYPE_REMOVED_REEXPORTED_API_TYPE=Error
-API_COMPONENT_ELEMENT_TYPE_REMOVED_REEXPORTED_TYPE=Error
-API_COMPONENT_ELEMENT_TYPE_REMOVED_TYPE=Error
-API_USE_SCAN_FIELD_SEVERITY=Error
-API_USE_SCAN_METHOD_SEVERITY=Error
-API_USE_SCAN_TYPE_SEVERITY=Error
-CLASS_ELEMENT_TYPE_ADDED_METHOD=Error
-CLASS_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
-CLASS_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
-CLASS_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error
-CLASS_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
-CLASS_ELEMENT_TYPE_CHANGED_NON_ABSTRACT_TO_ABSTRACT=Error
-CLASS_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error
-CLASS_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
-CLASS_ELEMENT_TYPE_REMOVED_CONSTRUCTOR=Error
-CLASS_ELEMENT_TYPE_REMOVED_FIELD=Error
-CLASS_ELEMENT_TYPE_REMOVED_METHOD=Error
-CLASS_ELEMENT_TYPE_REMOVED_SUPERCLASS=Error
-CLASS_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
-CLASS_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
-CONSTRUCTOR_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
-CONSTRUCTOR_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
-CONSTRUCTOR_ELEMENT_TYPE_CHANGED_VARARGS_TO_ARRAY=Error
-CONSTRUCTOR_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
-ENUM_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error
-ENUM_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
-ENUM_ELEMENT_TYPE_REMOVED_ENUM_CONSTANT=Error
-ENUM_ELEMENT_TYPE_REMOVED_FIELD=Error
-ENUM_ELEMENT_TYPE_REMOVED_METHOD=Error
-ENUM_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
-FIELD_ELEMENT_TYPE_ADDED_VALUE=Error
-FIELD_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
-FIELD_ELEMENT_TYPE_CHANGED_FINAL_TO_NON_FINAL_STATIC_CONSTANT=Error
-FIELD_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error
-FIELD_ELEMENT_TYPE_CHANGED_NON_STATIC_TO_STATIC=Error
-FIELD_ELEMENT_TYPE_CHANGED_STATIC_TO_NON_STATIC=Error
-FIELD_ELEMENT_TYPE_CHANGED_TYPE=Error
-FIELD_ELEMENT_TYPE_CHANGED_VALUE=Error
-FIELD_ELEMENT_TYPE_REMOVED_TYPE_ARGUMENT=Error
-FIELD_ELEMENT_TYPE_REMOVED_VALUE=Error
-ILLEGAL_EXTEND=Warning
-ILLEGAL_IMPLEMENT=Warning
-ILLEGAL_INSTANTIATE=Warning
-ILLEGAL_OVERRIDE=Warning
-ILLEGAL_REFERENCE=Warning
-INTERFACE_ELEMENT_TYPE_ADDED_FIELD=Error
-INTERFACE_ELEMENT_TYPE_ADDED_METHOD=Error
-INTERFACE_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
-INTERFACE_ELEMENT_TYPE_ADDED_SUPER_INTERFACE_WITH_METHODS=Error
-INTERFACE_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
-INTERFACE_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error
-INTERFACE_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
-INTERFACE_ELEMENT_TYPE_REMOVED_FIELD=Error
-INTERFACE_ELEMENT_TYPE_REMOVED_METHOD=Error
-INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
-INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
-INVALID_JAVADOC_TAG=Warning
-INVALID_REFERENCE_IN_SYSTEM_LIBRARIES=Warning
-LEAK_EXTEND=Warning
-LEAK_FIELD_DECL=Warning
-LEAK_IMPLEMENT=Warning
-LEAK_METHOD_PARAM=Warning
-LEAK_METHOD_RETURN_TYPE=Warning
-METHOD_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
-METHOD_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
-METHOD_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
-METHOD_ELEMENT_TYPE_CHANGED_NON_ABSTRACT_TO_ABSTRACT=Error
-METHOD_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error
-METHOD_ELEMENT_TYPE_CHANGED_NON_STATIC_TO_STATIC=Error
-METHOD_ELEMENT_TYPE_CHANGED_STATIC_TO_NON_STATIC=Error
-METHOD_ELEMENT_TYPE_CHANGED_VARARGS_TO_ARRAY=Error
-METHOD_ELEMENT_TYPE_REMOVED_ANNOTATION_DEFAULT_VALUE=Error
-METHOD_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
-MISSING_EE_DESCRIPTIONS=Ignore
-TYPE_PARAMETER_ELEMENT_TYPE_ADDED_CLASS_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_ADDED_INTERFACE_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_CHANGED_CLASS_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_CHANGED_INTERFACE_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_CLASS_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error
-UNUSED_PROBLEM_FILTERS=Warning
-automatically_removed_unused_problem_filters=false
-eclipse.preferences.version=1
-incompatible_api_component_version=Error
-incompatible_api_component_version_include_major_without_breaking_change=Disabled
-incompatible_api_component_version_include_minor_without_api_change=Disabled
-invalid_since_tag_version=Error
-malformed_since_tag=Error
-missing_since_tag=Error
-report_api_breakage_when_major_version_incremented=Disabled
-report_resolution_errors_api_component=Warning
diff --git a/lttng/org.eclipse.linuxtools.pcap.core.tests/.settings/org.eclipse.pde.prefs b/lttng/org.eclipse.linuxtools.pcap.core.tests/.settings/org.eclipse.pde.prefs
deleted file mode 100644
index 62cfa90dee..0000000000
--- a/lttng/org.eclipse.linuxtools.pcap.core.tests/.settings/org.eclipse.pde.prefs
+++ /dev/null
@@ -1,32 +0,0 @@
-compilers.f.unresolved-features=1
-compilers.f.unresolved-plugins=1
-compilers.incompatible-environment=1
-compilers.p.build=1
-compilers.p.build.bin.includes=1
-compilers.p.build.encodings=2
-compilers.p.build.java.compiler=2
-compilers.p.build.java.compliance=1
-compilers.p.build.missing.output=2
-compilers.p.build.output.library=1
-compilers.p.build.source.library=1
-compilers.p.build.src.includes=1
-compilers.p.deprecated=1
-compilers.p.discouraged-class=1
-compilers.p.internal=1
-compilers.p.missing-packages=2
-compilers.p.missing-version-export-package=2
-compilers.p.missing-version-import-package=2
-compilers.p.missing-version-require-bundle=2
-compilers.p.no-required-att=0
-compilers.p.not-externalized-att=2
-compilers.p.unknown-attribute=1
-compilers.p.unknown-class=1
-compilers.p.unknown-element=1
-compilers.p.unknown-identifier=1
-compilers.p.unknown-resource=1
-compilers.p.unresolved-ex-points=0
-compilers.p.unresolved-import=0
-compilers.s.create-docs=false
-compilers.s.doc-folder=doc
-compilers.s.open-tags=1
-eclipse.preferences.version=1
diff --git a/lttng/org.eclipse.linuxtools.pcap.core.tests/META-INF/MANIFEST.MF b/lttng/org.eclipse.linuxtools.pcap.core.tests/META-INF/MANIFEST.MF
deleted file mode 100644
index 59a576b788..0000000000
--- a/lttng/org.eclipse.linuxtools.pcap.core.tests/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,29 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %Bundle-Name
-Bundle-Vendor: %Bundle-Vendor
-Bundle-Version: 1.0.0.qualifier
-Bundle-Localization: plugin
-Bundle-SymbolicName: org.eclipse.linuxtools.pcap.core.tests;singleton:=true
-Bundle-ActivationPolicy: lazy
-Bundle-RequiredExecutionEnvironment: JavaSE-1.7
-Require-Bundle: org.junit;bundle-version="4.0.0",
- org.eclipse.core.runtime,
- org.eclipse.core.resources,
- org.eclipse.linuxtools.pcap.core;bundle-version="1.0.0"
-Export-Package: org.eclipse.linuxtools.pcap.core.tests,
- org.eclipse.linuxtools.pcap.core.tests.file;x-internal:=true,
- org.eclipse.linuxtools.pcap.core.tests.packet;x-internal:=true,
- org.eclipse.linuxtools.pcap.core.tests.perf,
- org.eclipse.linuxtools.pcap.core.tests.perf.trace;x-internal:=true,
- org.eclipse.linuxtools.pcap.core.tests.protocol;x-internal:=true,
- org.eclipse.linuxtools.pcap.core.tests.protocol.ethernet2;x-internal:=true,
- org.eclipse.linuxtools.pcap.core.tests.protocol.ipv4;x-internal:=true,
- org.eclipse.linuxtools.pcap.core.tests.protocol.pcap;x-internal:=true,
- org.eclipse.linuxtools.pcap.core.tests.protocol.tcp;x-internal:=true,
- org.eclipse.linuxtools.pcap.core.tests.protocol.udp;x-internal:=true,
- org.eclipse.linuxtools.pcap.core.tests.protocol.unknown;x-internal:=true,
- org.eclipse.linuxtools.pcap.core.tests.shared;x-friends:="org.eclipse.linuxtools.tmf.pcap.core.tests",
- org.eclipse.linuxtools.pcap.core.tests.stream;x-internal:=true
-Import-Package: com.google.common.collect,
- org.eclipse.test.performance
diff --git a/lttng/org.eclipse.linuxtools.pcap.core.tests/about.html b/lttng/org.eclipse.linuxtools.pcap.core.tests/about.html
deleted file mode 100644
index 28737f60b7..0000000000
--- a/lttng/org.eclipse.linuxtools.pcap.core.tests/about.html
+++ /dev/null
@@ -1,28 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
-<title>About</title>
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
-
-<p>June 5, 2006</p>
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;). Unless otherwise
-indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is available
-at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is
-being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content. Check the Redistributor's license that was
-provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at <a href="http://www.eclipse.org/">http://www.eclipse.org</a>.</p>
-
-</body>
-</html> \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.pcap.core.tests/build.properties b/lttng/org.eclipse.linuxtools.pcap.core.tests/build.properties
deleted file mode 100644
index 7de632eb60..0000000000
--- a/lttng/org.eclipse.linuxtools.pcap.core.tests/build.properties
+++ /dev/null
@@ -1,22 +0,0 @@
-###############################################################################
-# Copyright (c) 2014 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:
-# Ericsson - Initial API and implementation
-###############################################################################
-
-source.. = src/,\
- perf/,\
- shared/
-output.. = bin/
-bin.includes = META-INF/,\
- .,\
- plugin.properties
-src.includes = about.html
-additional.bundles = org.eclipse.jdt.annotation
-jars.extra.classpath = platform:/plugin/org.eclipse.jdt.annotation
diff --git a/lttng/org.eclipse.linuxtools.pcap.core.tests/perf/org/eclipse/linuxtools/pcap/core/tests/perf/AllPerfTests.java b/lttng/org.eclipse.linuxtools.pcap.core.tests/perf/org/eclipse/linuxtools/pcap/core/tests/perf/AllPerfTests.java
deleted file mode 100644
index 3482713418..0000000000
--- a/lttng/org.eclipse.linuxtools.pcap.core.tests/perf/org/eclipse/linuxtools/pcap/core/tests/perf/AllPerfTests.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 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:
- * Vincent Perot - Initial implementation and API
- *******************************************************************************/
-
-package org.eclipse.linuxtools.pcap.core.tests.perf;
-
-import org.junit.runner.RunWith;
-import org.junit.runners.Suite;
-
-/**
- * Run all performance test suites.
- *
- * @author Vincent Perot
- */
-@RunWith(Suite.class)
-@Suite.SuiteClasses({
- org.eclipse.linuxtools.pcap.core.tests.perf.trace.AllTests.class
-})
-public class AllPerfTests {
-
-}
diff --git a/lttng/org.eclipse.linuxtools.pcap.core.tests/perf/org/eclipse/linuxtools/pcap/core/tests/perf/trace/AllTests.java b/lttng/org.eclipse.linuxtools.pcap.core.tests/perf/org/eclipse/linuxtools/pcap/core/tests/perf/trace/AllTests.java
deleted file mode 100644
index 4eb62a4d75..0000000000
--- a/lttng/org.eclipse.linuxtools.pcap.core.tests/perf/org/eclipse/linuxtools/pcap/core/tests/perf/trace/AllTests.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 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:
- * Vincent Perot - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.pcap.core.tests.perf.trace;
-
-import org.junit.runner.RunWith;
-import org.junit.runners.Suite;
-
-/**
- * Test suite
- */
-@RunWith(Suite.class)
-@Suite.SuiteClasses({
- PcapReadBenchmark.class,
- PcapSeekBenchmark.class
-})
-public class AllTests {
-}
diff --git a/lttng/org.eclipse.linuxtools.pcap.core.tests/perf/org/eclipse/linuxtools/pcap/core/tests/perf/trace/PcapReadBenchmark.java b/lttng/org.eclipse.linuxtools.pcap.core.tests/perf/org/eclipse/linuxtools/pcap/core/tests/perf/trace/PcapReadBenchmark.java
deleted file mode 100644
index 1e98a81d91..0000000000
--- a/lttng/org.eclipse.linuxtools.pcap.core.tests/perf/org/eclipse/linuxtools/pcap/core/tests/perf/trace/PcapReadBenchmark.java
+++ /dev/null
@@ -1,85 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 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:
- * Vincent Perot - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.pcap.core.tests.perf.trace;
-
-import static org.junit.Assert.fail;
-import static org.junit.Assume.assumeTrue;
-
-import java.io.IOException;
-
-import org.eclipse.linuxtools.internal.pcap.core.packet.BadPacketException;
-import org.eclipse.linuxtools.internal.pcap.core.packet.Packet;
-import org.eclipse.linuxtools.internal.pcap.core.trace.BadPcapFileException;
-import org.eclipse.linuxtools.internal.pcap.core.trace.PcapFile;
-import org.eclipse.linuxtools.pcap.core.tests.shared.PcapTestTrace;
-import org.eclipse.test.performance.Dimension;
-import org.eclipse.test.performance.Performance;
-import org.eclipse.test.performance.PerformanceMeter;
-import org.junit.Test;
-
-/**
- * Benchmark of the Pcap parser for reading a trace. Note: We should get a
- * bigger trace. One that has WAYYYY more events since this current trace is
- * just parsed too fast.
- *
- * @author Vincent Perot
- */
-public class PcapReadBenchmark {
-
- private static final String TEST_SUITE_NAME = "Pcap Read Benchmark";
- private static final String TEST_ID = "org.eclipse.linuxtools#" + TEST_SUITE_NAME;
- private static final int LOOP_COUNT = 25;
- private static final int RUN_BETWEEN_COMMIT_COUNT = 15;
-
- /**
- * Benchmark reading the pcap trace
- */
- @Test
- public void testPcapTrace() {
- readTrace(PcapTestTrace.BENCHMARK_TRACE, "trace-pcap", true);
- }
-
- private static void readTrace(PcapTestTrace testTrace, String testName, boolean inGlobalSummary) {
- assumeTrue(testTrace.exists());
-
- Performance perf = Performance.getDefault();
- PerformanceMeter pm = perf.createPerformanceMeter(TEST_ID + '#' + testName);
- perf.tagAsSummary(pm, TEST_SUITE_NAME + ':' + testName, Dimension.CPU_TIME);
-
- if (inGlobalSummary) {
- perf.tagAsGlobalSummary(pm, TEST_SUITE_NAME + ':' + testName, Dimension.CPU_TIME);
- }
-
- for (int loop = 0; loop < LOOP_COUNT; loop++) {
- pm.start();
- try (PcapFile trace = testTrace.getTrace();) {
- for (int i = 0; i < RUN_BETWEEN_COMMIT_COUNT; i++) {
- trace.seekPacket(0);
- while (trace.hasNextPacket()) {
- Packet packet = trace.parseNextPacket();
- if (packet == null) {
- fail("Test failed at iteration " + loop + '.' + i + ", at packet " + trace.getCurrentRank());
- return;
- }
- /* Do something with the packet because we are awesome */
- packet.getPayload();
- }
- }
- } catch (IOException | BadPcapFileException | BadPacketException e) {
- fail("Test failed at iteration " + loop + ':' + e.getMessage());
- }
- pm.stop();
- }
- pm.commit();
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.pcap.core.tests/perf/org/eclipse/linuxtools/pcap/core/tests/perf/trace/PcapSeekBenchmark.java b/lttng/org.eclipse.linuxtools.pcap.core.tests/perf/org/eclipse/linuxtools/pcap/core/tests/perf/trace/PcapSeekBenchmark.java
deleted file mode 100644
index e16cebac58..0000000000
--- a/lttng/org.eclipse.linuxtools.pcap.core.tests/perf/org/eclipse/linuxtools/pcap/core/tests/perf/trace/PcapSeekBenchmark.java
+++ /dev/null
@@ -1,110 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 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:
- * Vincent Perot - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.pcap.core.tests.perf.trace;
-
-import static org.junit.Assert.fail;
-import static org.junit.Assume.assumeTrue;
-
-import java.io.IOException;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Random;
-
-import org.eclipse.linuxtools.internal.pcap.core.packet.BadPacketException;
-import org.eclipse.linuxtools.internal.pcap.core.trace.BadPcapFileException;
-import org.eclipse.linuxtools.internal.pcap.core.trace.PcapFile;
-import org.eclipse.linuxtools.pcap.core.tests.shared.PcapTestTrace;
-import org.eclipse.test.performance.Dimension;
-import org.eclipse.test.performance.Performance;
-import org.eclipse.test.performance.PerformanceMeter;
-import org.junit.Test;
-
-/**
- * Tests for performance regressions of the pcap reader. It only tests the pcap
- * reader, not tmf. <br>
- * This test runs in 3 passes.
- * <ul>
- * <li>first it opens a trace</li>
- * <li>then it reads the trace completely</li>
- * <li>then it randomly (seeded) seeks NB_SEEKS locations in the trace and reads
- * one event at each position.</li>
- * </ul>
- * <li>Note: We should make more seeks, since the current number is just too
- * fast.</li>
- *
- * @author Vincent Perot
- */
-public class PcapSeekBenchmark {
-
- private static final Random RND = new Random(1000);
-
- private static final int LOOP_COUNT = 25;
- private static final int NB_SEEKS = 1000000;
- private static final String TEST_SUITE_NAME = "Pcap Read & Seek Benchmark (" + NB_SEEKS + " seeks)";
- private static final String TEST_ID = "org.eclipse.linuxtools#" + TEST_SUITE_NAME;
-
- /**
- * Run the benchmark scenario for the pcap trace.
- */
- @Test
- public void testPcapTrace() {
- readAndSeekTrace(PcapTestTrace.BENCHMARK_TRACE, "trace-pcap", true);
- }
-
- private static void readAndSeekTrace(PcapTestTrace testTrace, String testName, boolean inGlobalSummary) {
- assumeTrue(testTrace.exists());
-
- Performance perf = Performance.getDefault();
- PerformanceMeter pm = perf.createPerformanceMeter(TEST_ID + '#' + testName);
- perf.tagAsSummary(pm, TEST_SUITE_NAME + ':' + testName, Dimension.CPU_TIME);
-
- if (inGlobalSummary) {
- perf.tagAsGlobalSummary(pm, TEST_SUITE_NAME + ':' + testName, Dimension.CPU_TIME);
- }
-
- for (int loop = 0; loop < LOOP_COUNT; loop++) {
- try (PcapFile trace = testTrace.getTrace()) {
- trace.seekPacket(0);
-
- /* Read the whole trace to find out the number of packets */
- long nbPackets = trace.getTotalNbPackets();
-
- /* Generate the timestamps we will seek to */
- List<Long> seekTimestamps = new LinkedList<>();
- final long range = nbPackets;
- for (int i = 0; i < NB_SEEKS; i++) {
- long rank = (RND.nextLong() % range);
- if (rank < 0) {
- // This is needed since modulus can return a negative
- // number.
- rank += range;
- }
- seekTimestamps.add(rank);
- }
-
- /* Benchmark seeking to the generated timestamps */
- pm.start();
- for (Long rank : seekTimestamps) {
- trace.seekPacket(rank);
- trace.parseNextPacket();
- }
- pm.stop();
-
- } catch (IOException | BadPcapFileException | BadPacketException e) {
- /* Should not happen if assumeTrue() passed above */
- fail("Test failed at iteration " + loop + ':' + e.getMessage());
- }
- }
- pm.commit();
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.pcap.core.tests/plugin.properties b/lttng/org.eclipse.linuxtools.pcap.core.tests/plugin.properties
deleted file mode 100644
index 2839a98dc9..0000000000
--- a/lttng/org.eclipse.linuxtools.pcap.core.tests/plugin.properties
+++ /dev/null
@@ -1,15 +0,0 @@
-###############################################################################
-# Copyright (c) 2014 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:
-# Ericsson - Initial API and implementation
-###############################################################################
-
-#Properties file for org.eclipse.linuxtools.pcap.core.tests
-Bundle-Vendor = Eclipse Linux Tools
-Bundle-Name = Linux Tools Pcap Parser Core Tests Plug-in
diff --git a/lttng/org.eclipse.linuxtools.pcap.core.tests/pom.xml b/lttng/org.eclipse.linuxtools.pcap.core.tests/pom.xml
deleted file mode 100644
index a15c124943..0000000000
--- a/lttng/org.eclipse.linuxtools.pcap.core.tests/pom.xml
+++ /dev/null
@@ -1,115 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Copyright (C) 2014, 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
--->
-
-<project xmlns="http://maven.apache.org/POM/4.0.0"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
- <modelVersion>4.0.0</modelVersion>
-
- <parent>
- <artifactId>linuxtools-lttng-parent</artifactId>
- <groupId>org.eclipse.linuxtools.lttng</groupId>
- <version>3.2.0-SNAPSHOT</version>
- </parent>
-
- <artifactId>org.eclipse.linuxtools.pcap.core.tests</artifactId>
- <version>1.0.0-SNAPSHOT</version>
- <packaging>eclipse-test-plugin</packaging>
-
- <name>Linux Tools Pcap Parser Core Tests Plug-in</name>
-
- <!-- Do not download the test traces if "maven.test.skip" is set -->
- <profiles>
- <profile>
- <id>download-traces</id>
- <activation>
- <property>
- <name>!maven.test.skip</name>
- </property>
- </activation>
-
- <build>
- <plugins>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-antrun-plugin</artifactId>
- <executions>
- <execution>
- <id>prepare</id>
- <phase>pre-integration-test</phase>
- <configuration>
- <target>
- <ant antfile="get-traces.xml" dir="rsc" />
- </target>
- </configuration>
- <goals>
- <goal>run</goal>
- </goals>
- </execution>
- </executions>
- </plugin>
- </plugins>
- </build>
- </profile>
- </profiles>
-
- <build>
- <plugins>
- <plugin>
- <groupId>org.eclipse.tycho</groupId>
- <artifactId>tycho-surefire-plugin</artifactId>
- <version>${tycho-version}</version>
- <configuration>
- <testSuite>org.eclipse.linuxtools.pcap.core.tests</testSuite>
- <testClass>org.eclipse.linuxtools.pcap.core.tests.AllPcapCoreTests</testClass>
- <useUIHarness>false</useUIHarness>
- <useUIThread>false</useUIThread>
- <product>org.eclipse.platform.ide</product>
- </configuration>
- </plugin>
-
- <!-- We don't use the ant file to clean because of http://jira.codehaus.org/browse/MANTRUN-78 -->
- <plugin>
- <artifactId>maven-clean-plugin</artifactId>
- <version>2.5</version>
- <executions>
- <execution>
- <id>clean-traces</id>
- <phase>clean</phase>
- <configuration>
- <filesets>
- <fileset>
- <directory>rsc</directory>
- <includes>
- <include>*.zip</include>
- <include>*.pcap</include>
- <include>*.cap</include>
- <include>*.tar*</include>
- </includes>
- <excludes>
- <exclude>*.xml</exclude>
- <exclude>*.sh</exclude>
- </excludes>
- </fileset>
- <fileset><directory>rsc/kernel</directory></fileset>
- </filesets>
- </configuration>
- <goals>
- <goal>clean</goal>
- </goals>
- </execution>
- </executions>
- </plugin>
-
- </plugins>
- </build>
-
- <groupId>org.eclipse.linuxtools.pcap</groupId>
-</project>
diff --git a/lttng/org.eclipse.linuxtools.pcap.core.tests/rsc/.gitignore b/lttng/org.eclipse.linuxtools.pcap.core.tests/rsc/.gitignore
deleted file mode 100644
index a8ddf0ad84..0000000000
--- a/lttng/org.eclipse.linuxtools.pcap.core.tests/rsc/.gitignore
+++ /dev/null
@@ -1,5 +0,0 @@
-*.zip
-*.pcap
-*.cap
-*.tar*
-/kernel
diff --git a/lttng/org.eclipse.linuxtools.pcap.core.tests/rsc/get-traces.xml b/lttng/org.eclipse.linuxtools.pcap.core.tests/rsc/get-traces.xml
deleted file mode 100644
index 73d7df96c0..0000000000
--- a/lttng/org.eclipse.linuxtools.pcap.core.tests/rsc/get-traces.xml
+++ /dev/null
@@ -1,59 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-<!--
- Copyright (C) 2013, Red Hat, Inc. and others
-
- 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
--->
-<!--
-Most traces are taken from the Wireshark website and are available under the GNU General Public License.
-http://wiki.wireshark.org/SampleCaptures
--->
-
-<project name="Extract Traces" default="main" >
-
-<target name="main">
- <echo message="Attempting to download test traces"/>
- <get ignoreerrors="true" maxtime="20" dest="Short_LittleEndian.pcap.zip" skipexisting="true" src="http://wiki.eclipse.org/images/1/18/Short_LittleEndian.pcap.zip" />
- <get ignoreerrors="true" maxtime="20" dest="Short_BigEndian.pcap.zip" skipexisting="true" src="http://wiki.eclipse.org/images/2/25/Short_BigEndian.pcap.zip" />
- <get ignoreerrors="true" maxtime="20" dest="MostlyUDP.pcap.zip" skipexisting="true" src="http://wiki.eclipse.org/images/6/64/MostlyUDP.pcap.zip" />
- <get ignoreerrors="true" maxtime="20" dest="MostlyTCP.pcap.zip" skipexisting="true" src="http://wiki.eclipse.org/images/8/8d/MostlyTCP.pcap.zip" />
- <get ignoreerrors="true" maxtime="20" dest="EmptyPcap.pcap.zip" skipexisting="true" src="http://wiki.eclipse.org/images/c/c1/EmptyPcap.pcap.zip" />
- <get ignoreerrors="true" maxtime="20" dest="BadPcapFile.pcap.zip" skipexisting="true" src="http://wiki.eclipse.org/images/5/5e/BadPcapFile.pcap.zip" />
- <get ignoreerrors="true" maxtime="60" dest="BenchmarkTrace.pcap.zip" skipexisting="true" src="http://wiki.eclipse.org/images/1/12/BenchmarkTrace.pcap.zip" />
- <get ignoreerrors="true" maxtime="20" dest="sample-ctf-trace-20120412.tar.bz2" skipexisting="true" src="http://lttng.org/files/samples/sample-ctf-trace-20120412.tar.bz2"/>
- <condition property="testSuiteExists">
- <and>
- <available file="pcap-testsuite" type="dir"/>
- </and>
- </condition>
- <condition property="tracesExist">
- <and>
- <available file="Short_LittleEndian.pcap.zip"/>
- <available file="Short_BigEndian.pcap.zip"/>
- <available file="MostlyUDP.pcap.zip"/>
- <available file="MostlyTCP.pcap.zip"/>
- <available file="EmptyPcap.pcap.zip"/>
- <available file="BadPcapFile.pcap.zip"/>
- <available file="BenchmarkTrace.pcap.zip"/>
- <available file="sample-ctf-trace-20120412.tar.bz2"/>
- </and>
- </condition>
- <antcall target="extractTraces"/>
-</target>
-
-<target name="extractTraces" if="tracesExist">
- <unzip src="Short_LittleEndian.pcap.zip" dest="." />
- <unzip src="Short_BigEndian.pcap.zip" dest="." />
- <unzip src="MostlyUDP.pcap.zip" dest="." />
- <unzip src="MostlyTCP.pcap.zip" dest="." />
- <unzip src="EmptyPcap.pcap.zip" dest="." />
- <unzip src="BadPcapFile.pcap.zip" dest="." />
- <unzip src="BenchmarkTrace.pcap.zip" dest="." />
- <bunzip2 src="sample-ctf-trace-20120412.tar.bz2"/>
- <untar src="sample-ctf-trace-20120412.tar" dest="." />
- <echo message="Traces extracted successfully"/>
-</target>
-</project>
diff --git a/lttng/org.eclipse.linuxtools.pcap.core.tests/shared/org/eclipse/linuxtools/pcap/core/tests/shared/PcapTestTrace.java b/lttng/org.eclipse.linuxtools.pcap.core.tests/shared/org/eclipse/linuxtools/pcap/core/tests/shared/PcapTestTrace.java
deleted file mode 100644
index 5f78b56b83..0000000000
--- a/lttng/org.eclipse.linuxtools.pcap.core.tests/shared/org/eclipse/linuxtools/pcap/core/tests/shared/PcapTestTrace.java
+++ /dev/null
@@ -1,96 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 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:
- * Vincent Perot - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.pcap.core.tests.shared;
-
-import java.io.IOException;
-import java.nio.file.FileSystems;
-import java.nio.file.Files;
-import java.nio.file.Path;
-
-import org.eclipse.jdt.annotation.NonNull;
-import org.eclipse.linuxtools.internal.pcap.core.trace.BadPcapFileException;
-import org.eclipse.linuxtools.internal.pcap.core.trace.PcapFile;
-
-/**
- * Here is the list of the available test traces for the Pcap parser.
- *
- * @author Vincent Perot
- */
-public enum PcapTestTrace {
-
- /** A bad pcap file. */
- BAD_PCAPFILE("..", "org.eclipse.linuxtools.pcap.core.tests", "rsc", "BadPcapFile.pcap"),
-
- /** A Valid Pcap that is empty. */
- EMPTY_PCAP("..", "org.eclipse.linuxtools.pcap.core.tests", "rsc", "EmptyPcap.pcap"),
-
- /** A Pcap that mostly contains TCP packets. */
- MOSTLY_TCP("..", "org.eclipse.linuxtools.pcap.core.tests", "rsc", "mostlyTCP.pcap"),
-
- /** A Pcap that mostly contains UDP packets. */
- MOSTLY_UDP("..", "org.eclipse.linuxtools.pcap.core.tests", "rsc", "mostlyUDP.pcap"),
-
- /** A big-endian trace that contains two packets. */
- SHORT_BIG_ENDIAN("..", "org.eclipse.linuxtools.pcap.core.tests", "rsc", "Short_BigEndian.pcap"),
-
- /** A little-endian trace that contains two packets. */
- SHORT_LITTLE_ENDIAN("..", "org.eclipse.linuxtools.pcap.core.tests", "rsc", "Short_LittleEndian.pcap"),
-
- /** A large trace for benchmarking. */
- BENCHMARK_TRACE("..", "org.eclipse.linuxtools.pcap.core.tests", "rsc", "benchmarkTrace.pcap"),
-
- /** A Kernel trace directory. */
- KERNEL_DIRECTORY("..", "org.eclipse.linuxtools.pcap.core.tests", "rsc", "kernel"),
-
- /** A Kernel trace file. */
- KERNEL_TRACE("..", "org.eclipse.linuxtools.pcap.core.tests", "rsc", "kernel", "channel0_0");
-
- private final @NonNull Path fPath;
-
- private PcapTestTrace(@NonNull String first, String... more) {
- @SuppressWarnings("null")
- @NonNull Path path = FileSystems.getDefault().getPath(first, more);
- fPath = path;
- }
-
- /** @return The path to the test trace */
- public @NonNull Path getPath() {
- return fPath;
- }
-
- /**
- * Get a Pcap Trace instance of a test trace. Make sure to call
- * {@link #exists()} before calling this!
- *
- * @return The PcapFile object
- * @throws IOException
- * Thrown when some IO error occurs.
- * @throws BadPcapFileException
- * Thrown when the file is not a valid Pcap File.
- */
- public PcapFile getTrace() throws BadPcapFileException, IOException {
- return new PcapFile(fPath);
- }
-
- /**
- * Check if this test trace actually exists on disk.
- *
- * @return If the trace exists
- */
- public boolean exists() {
- if (Files.notExists(fPath)) {
- return false;
- }
- return true;
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.pcap.core.tests/src/org/eclipse/linuxtools/pcap/core/tests/AllPcapCoreTests.java b/lttng/org.eclipse.linuxtools.pcap.core.tests/src/org/eclipse/linuxtools/pcap/core/tests/AllPcapCoreTests.java
deleted file mode 100644
index 86e1cb8c38..0000000000
--- a/lttng/org.eclipse.linuxtools.pcap.core.tests/src/org/eclipse/linuxtools/pcap/core/tests/AllPcapCoreTests.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 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:
- * Vincent Perot - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.pcap.core.tests;
-
-import org.junit.runner.RunWith;
-import org.junit.runners.Suite;
-
-/**
- * Master test suite
- */
-@RunWith(Suite.class)
-@Suite.SuiteClasses({
- org.eclipse.linuxtools.pcap.core.tests.file.AllTests.class,
- org.eclipse.linuxtools.pcap.core.tests.packet.AllTests.class,
- org.eclipse.linuxtools.pcap.core.tests.protocol.AllTests.class,
- org.eclipse.linuxtools.pcap.core.tests.protocol.ethernet2.AllTests.class,
- org.eclipse.linuxtools.pcap.core.tests.protocol.ipv4.AllTests.class,
- org.eclipse.linuxtools.pcap.core.tests.protocol.pcap.AllTests.class,
- org.eclipse.linuxtools.pcap.core.tests.protocol.tcp.AllTests.class,
- org.eclipse.linuxtools.pcap.core.tests.protocol.udp.AllTests.class,
- org.eclipse.linuxtools.pcap.core.tests.protocol.unknown.AllTests.class,
- org.eclipse.linuxtools.pcap.core.tests.stream.AllTests.class
-})
-public class AllPcapCoreTests {
-
-}
diff --git a/lttng/org.eclipse.linuxtools.pcap.core.tests/src/org/eclipse/linuxtools/pcap/core/tests/file/AllTests.java b/lttng/org.eclipse.linuxtools.pcap.core.tests/src/org/eclipse/linuxtools/pcap/core/tests/file/AllTests.java
deleted file mode 100644
index 5f5b9a8018..0000000000
--- a/lttng/org.eclipse.linuxtools.pcap.core.tests/src/org/eclipse/linuxtools/pcap/core/tests/file/AllTests.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 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:
- * Vincent Perot - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.pcap.core.tests.file;
-
-import org.junit.runner.RunWith;
-import org.junit.runners.Suite;
-
-/**
- * File test suite
- */
-@RunWith(Suite.class)
-@Suite.SuiteClasses({
- PcapFileOpenTest.class,
- PcapFileOpenFailTest.class,
- PcapFileReadTest.class,
- PcapFileEndiannessTest.class
-})
-public class AllTests {
-
-}
diff --git a/lttng/org.eclipse.linuxtools.pcap.core.tests/src/org/eclipse/linuxtools/pcap/core/tests/file/PcapFileEndiannessTest.java b/lttng/org.eclipse.linuxtools.pcap.core.tests/src/org/eclipse/linuxtools/pcap/core/tests/file/PcapFileEndiannessTest.java
deleted file mode 100644
index 28a1dc744c..0000000000
--- a/lttng/org.eclipse.linuxtools.pcap.core.tests/src/org/eclipse/linuxtools/pcap/core/tests/file/PcapFileEndiannessTest.java
+++ /dev/null
@@ -1,66 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 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:
- * Vincent Perot - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.pcap.core.tests.file;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assume.assumeTrue;
-
-import java.io.IOException;
-import java.nio.ByteOrder;
-import java.nio.file.Path;
-
-import org.eclipse.linuxtools.internal.pcap.core.packet.BadPacketException;
-import org.eclipse.linuxtools.internal.pcap.core.trace.BadPcapFileException;
-import org.eclipse.linuxtools.internal.pcap.core.trace.PcapFile;
-import org.eclipse.linuxtools.pcap.core.tests.shared.PcapTestTrace;
-import org.junit.Test;
-
-/**
- * JUnit Class that tests whether the Pcap parser can read both big endian and
- * little endian files.
- *
- * @author Vincent Perot
- */
-public class PcapFileEndiannessTest {
-
- /**
- * Test that verify that two files with different endianness contain the
- * same packets.
- *
- * @throws BadPcapFileException
- * Thrown when the file is erroneous. Fails the test.
- * @throws IOException
- * Thrown when an IO error occurs. Fails the test.
- * @throws BadPacketException
- * Thrown when a packet is erroneous. Fails the test.
- */
- @Test
- public void EndiannessTest() throws IOException, BadPcapFileException, BadPacketException {
- PcapTestTrace trace = PcapTestTrace.SHORT_LITTLE_ENDIAN;
- assumeTrue(trace.exists());
- Path path1 = trace.getPath();
-
- trace = PcapTestTrace.SHORT_LITTLE_ENDIAN;
- assumeTrue(trace.exists());
- Path path2 = PcapTestTrace.SHORT_BIG_ENDIAN.getPath();
-
- try (PcapFile littleEndian = new PcapFile(path1);
- PcapFile bigEndian = new PcapFile(path2);) {
- assertEquals(ByteOrder.BIG_ENDIAN, bigEndian.getByteOrder());
- assertEquals(ByteOrder.LITTLE_ENDIAN, littleEndian.getByteOrder());
- while (littleEndian.hasNextPacket() && bigEndian.hasNextPacket()) {
- assertEquals(littleEndian.parseNextPacket(), bigEndian.parseNextPacket());
- }
- }
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.pcap.core.tests/src/org/eclipse/linuxtools/pcap/core/tests/file/PcapFileOpenFailTest.java b/lttng/org.eclipse.linuxtools.pcap.core.tests/src/org/eclipse/linuxtools/pcap/core/tests/file/PcapFileOpenFailTest.java
deleted file mode 100644
index 7b8ffcac8f..0000000000
--- a/lttng/org.eclipse.linuxtools.pcap.core.tests/src/org/eclipse/linuxtools/pcap/core/tests/file/PcapFileOpenFailTest.java
+++ /dev/null
@@ -1,86 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 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:
- * Vincent Perot - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.pcap.core.tests.file;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.fail;
-import static org.junit.Assume.assumeTrue;
-
-import java.io.IOException;
-
-import org.eclipse.linuxtools.internal.pcap.core.trace.BadPcapFileException;
-import org.eclipse.linuxtools.internal.pcap.core.trace.PcapFile;
-import org.eclipse.linuxtools.pcap.core.tests.shared.PcapTestTrace;
-import org.junit.Test;
-
-/**
- * JUnit Class that tests the opening of non-valid pcap files.
- *
- * @author Vincent Perot
- */
-public class PcapFileOpenFailTest {
-
- /**
- * Test that tries to open a pcap with a bad magic number
- *
- * @throws IOException
- * Thrown when an IO error occurs. Fails the test.
- */
- @Test
- public void FileOpenBadPcapTest() throws IOException {
- PcapTestTrace trace = PcapTestTrace.BAD_PCAPFILE;
- assumeTrue(trace.exists());
-
- try (PcapFile file = new PcapFile(trace.getPath());) {
- fail("The pcap was accepted even though the magic number is invalid!");
- } catch (BadPcapFileException e) {
- assertEquals("c3d4a1b2 is not a known magic number.", e.getMessage());
- }
- }
-
- /**
- * Test that tries to open a non-pcap binary file
- *
- * @throws IOException
- * Thrown when an IO error occurs. Fails the test.
- */
- @Test
- public void FileOpenBinaryFile() throws IOException {
- PcapTestTrace trace = PcapTestTrace.KERNEL_TRACE;
- assumeTrue(trace.exists());
-
- try (PcapFile file = new PcapFile(trace.getPath());) {
- fail("The file was accepted even though it is not a pcap file!");
- } catch (BadPcapFileException e) {
- assertEquals("c11ffcc1 is not a known magic number.", e.getMessage());
- }
- }
-
- /**
- * Test that tries to open a directory
- *
- * @throws IOException
- * Thrown when an IO error occurs. Fails the test.
- */
- @Test
- public void FileOpenDirectory() throws IOException {
- PcapTestTrace trace = PcapTestTrace.KERNEL_DIRECTORY;
- assumeTrue(trace.exists());
-
- try (PcapFile file = new PcapFile(trace.getPath());) {
- fail("The file was accepted even though it is not a pcap file!");
- } catch (BadPcapFileException e) {
- assertEquals("Bad Pcap File.", e.getMessage());
- }
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.pcap.core.tests/src/org/eclipse/linuxtools/pcap/core/tests/file/PcapFileOpenTest.java b/lttng/org.eclipse.linuxtools.pcap.core.tests/src/org/eclipse/linuxtools/pcap/core/tests/file/PcapFileOpenTest.java
deleted file mode 100644
index df22a7b902..0000000000
--- a/lttng/org.eclipse.linuxtools.pcap.core.tests/src/org/eclipse/linuxtools/pcap/core/tests/file/PcapFileOpenTest.java
+++ /dev/null
@@ -1,94 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 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:
- * Vincent Perot - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.pcap.core.tests.file;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assume.assumeTrue;
-
-import java.io.IOException;
-import java.nio.ByteOrder;
-
-import org.eclipse.linuxtools.internal.pcap.core.trace.BadPcapFileException;
-import org.eclipse.linuxtools.internal.pcap.core.trace.PcapFile;
-import org.eclipse.linuxtools.pcap.core.tests.shared.PcapTestTrace;
-import org.junit.Test;
-
-/**
- * JUnit Class that tests the opening of valid pcap files.
- *
- * @author Vincent Perot
- */
-public class PcapFileOpenTest {
-
- /**
- * Test that verify that an empty pcap file is properly opened and that the
- * file properties are correct.
- *
- * @throws BadPcapFileException
- * Thrown when the file is erroneous. Fails the test.
- * @throws IOException
- * Thrown when an IO error occurs. Fails the test.
- */
- @Test
- public void FileOpenEmptyTest() throws IOException, BadPcapFileException {
-
- PcapTestTrace trace = PcapTestTrace.EMPTY_PCAP;
- assumeTrue(trace.exists());
-
- try (PcapFile file = new PcapFile(trace.getPath());) {
- assertEquals(PcapTestTrace.EMPTY_PCAP.getPath(), file.getPath());
- assertEquals(2, file.getMajorVersion());
- assertEquals(4, file.getMinorVersion());
- assertEquals(1, file.getDataLinkType());
- assertEquals(65535, file.getSnapLength());
- assertEquals(0, file.getTimeAccuracy());
- assertEquals(0, file.getTimeZoneCorrection());
- assertEquals(ByteOrder.LITTLE_ENDIAN, file.getByteOrder());
-
- assertEquals(0, file.getTotalNbPackets());
-
- }
- }
-
- /**
- * Test that verify that an non-empty pcap file is properly opened and that
- * the file properties are correct.
- *
- * @throws BadPcapFileException
- * Thrown when the file is erroneous. Fails the test.
- * @throws IOException
- * Thrown when an IO error occurs. Fails the test.
- */
-
- @Test
- public void FileOpenTest() throws IOException, BadPcapFileException {
-
- PcapTestTrace trace = PcapTestTrace.MOSTLY_TCP;
- assumeTrue(trace.exists());
-
- try (PcapFile file = new PcapFile(trace.getPath());) {
- assertEquals(PcapTestTrace.MOSTLY_TCP.getPath(), file.getPath());
- assertEquals(2, file.getMajorVersion());
- assertEquals(4, file.getMinorVersion());
- assertEquals(1, file.getDataLinkType());
- assertEquals(65535, file.getSnapLength());
- assertEquals(0, file.getTimeAccuracy());
- assertEquals(0, file.getTimeZoneCorrection());
- assertEquals(ByteOrder.LITTLE_ENDIAN, file.getByteOrder());
-
- assertEquals(43, file.getTotalNbPackets());
-
- }
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.pcap.core.tests/src/org/eclipse/linuxtools/pcap/core/tests/file/PcapFileReadTest.java b/lttng/org.eclipse.linuxtools.pcap.core.tests/src/org/eclipse/linuxtools/pcap/core/tests/file/PcapFileReadTest.java
deleted file mode 100644
index 5d86e74adc..0000000000
--- a/lttng/org.eclipse.linuxtools.pcap.core.tests/src/org/eclipse/linuxtools/pcap/core/tests/file/PcapFileReadTest.java
+++ /dev/null
@@ -1,136 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 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:
- * Vincent Perot - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.pcap.core.tests.file;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNull;
-import static org.junit.Assert.fail;
-import static org.junit.Assume.assumeTrue;
-
-import java.io.IOException;
-
-import org.eclipse.linuxtools.internal.pcap.core.packet.BadPacketException;
-import org.eclipse.linuxtools.internal.pcap.core.protocol.PcapProtocol;
-import org.eclipse.linuxtools.internal.pcap.core.protocol.pcap.PcapPacket;
-import org.eclipse.linuxtools.internal.pcap.core.trace.BadPcapFileException;
-import org.eclipse.linuxtools.internal.pcap.core.trace.PcapFile;
-import org.eclipse.linuxtools.pcap.core.tests.shared.PcapTestTrace;
-import org.junit.Test;
-
-/**
- * JUnit Class that tests if packets are read without error.
- *
- * @author Vincent Perot
- */
-public class PcapFileReadTest {
-
- /**
- * Test that verify that packets are well read and that no error happens in
- * file index.
- *
- * @throws BadPcapFileException
- * Thrown when the file is erroneous. Fails the test.
- * @throws IOException
- * Thrown when an IO error occurs. Fails the test.
- * @throws BadPacketException
- * Thrown when a packet is erroneous. Fails the test.
- */
- @Test
- public void FileReadTest() throws IOException, BadPcapFileException, BadPacketException {
-
- PcapTestTrace trace = PcapTestTrace.MOSTLY_UDP;
- assumeTrue(trace.exists());
-
- try (PcapFile file = new PcapFile(trace.getPath());) {
-
- PcapPacket packet = file.parseNextPacket();
- if (packet == null) {
- fail("FileReadTest() failed!");
- return;
- }
-
- assertEquals(1, file.getCurrentRank());
- // Verify Pcap packet.
- assertEquals(file, packet.getPcapFile());
- assertEquals(PcapProtocol.PCAP, packet.getProtocol());
- assertEquals(0, packet.getIndex());
- assertEquals(1120469540839312L, packet.getTimestamp());
- assertEquals(92, packet.getOriginalLength());
- assertEquals(92, packet.getIncludedLength());
- assertEquals(false, packet.isTruncated());
- assertEquals(true, packet.validate());
- // Verify Ethernet Packet
- if (!packet.hasProtocol(PcapProtocol.ETHERNET_II)) {
- fail("Packet doesn't have ethernet!");
- }
- // Verify IPv4 Packet
- if (!packet.hasProtocol(PcapProtocol.IPV4)) {
- fail("Packet doesn't have IPv4!");
- }
- // Verify UDP Packet
- if (!packet.hasProtocol(PcapProtocol.UDP)) {
- fail("Packet doesn't have UDP!");
- }
- // Verify Unknown Packet
- if (!packet.hasProtocol(PcapProtocol.UNKNOWN)) {
- fail("Packet doesn't have payload!");
- }
-
- // Parse a "random" packet
- file.seekPacket(58);
- packet = file.parseNextPacket();
- if (packet == null) {
- fail("FileReadTest() failed!");
- return;
- }
-
- // Verify Pcap packet.
- assertEquals(file, packet.getPcapFile());
- assertEquals(PcapProtocol.PCAP, packet.getProtocol());
- assertEquals(58, packet.getIndex());
- assertEquals(1120469635045415L, packet.getTimestamp());
- assertEquals(113, packet.getOriginalLength());
- assertEquals(113, packet.getIncludedLength());
- assertEquals(false, packet.isTruncated());
- assertEquals(true, packet.validate());
- // Verify Ethernet Packet
- if (!packet.hasProtocol(PcapProtocol.ETHERNET_II)) {
- fail("Packet doesn't have ethernet!");
- }
- // Verify IPv4 Packet
- if (!packet.hasProtocol(PcapProtocol.IPV4)) {
- fail("Packet doesn't have IPv4!");
- }
- // Verify TCP Packet
- if (!packet.hasProtocol(PcapProtocol.TCP)) {
- fail("Packet doesn't have TCP!");
- }
- // Verify Unknown Packet
- if (!packet.hasProtocol(PcapProtocol.UNKNOWN)) {
- fail("Packet doesn't have payload!");
- }
-
- // Skip packet
- file.skipNextPacket();
- assertEquals(60, file.getCurrentRank());
-
- // Parse outside of file.
- file.seekPacket(99999999);
- assertEquals(file.getTotalNbPackets(), file.getCurrentRank());
- file.skipNextPacket(); // Should be a no-op
- assertEquals(file.getTotalNbPackets(), file.getCurrentRank());
- packet = file.parseNextPacket();
- assertNull(packet);
- }
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.pcap.core.tests/src/org/eclipse/linuxtools/pcap/core/tests/packet/AllTests.java b/lttng/org.eclipse.linuxtools.pcap.core.tests/src/org/eclipse/linuxtools/pcap/core/tests/packet/AllTests.java
deleted file mode 100644
index d53f197bf6..0000000000
--- a/lttng/org.eclipse.linuxtools.pcap.core.tests/src/org/eclipse/linuxtools/pcap/core/tests/packet/AllTests.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 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:
- * Vincent Perot - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.pcap.core.tests.packet;
-
-import org.junit.runner.RunWith;
-import org.junit.runners.Suite;
-
-/**
- * Generic Packet test suite
- */
-@RunWith(Suite.class)
-@Suite.SuiteClasses({
- PacketTest.class,
- BadPacketTest.class
-})
-public class AllTests {
-
-}
diff --git a/lttng/org.eclipse.linuxtools.pcap.core.tests/src/org/eclipse/linuxtools/pcap/core/tests/packet/BadPacketTest.java b/lttng/org.eclipse.linuxtools.pcap.core.tests/src/org/eclipse/linuxtools/pcap/core/tests/packet/BadPacketTest.java
deleted file mode 100644
index 484e46a9c5..0000000000
--- a/lttng/org.eclipse.linuxtools.pcap.core.tests/src/org/eclipse/linuxtools/pcap/core/tests/packet/BadPacketTest.java
+++ /dev/null
@@ -1,89 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 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:
- * Vincent Perot - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.pcap.core.tests.packet;
-
-import static org.junit.Assert.fail;
-import static org.junit.Assume.assumeTrue;
-
-import java.io.IOException;
-import java.nio.ByteBuffer;
-import java.nio.ByteOrder;
-
-import org.eclipse.linuxtools.internal.pcap.core.packet.BadPacketException;
-import org.eclipse.linuxtools.internal.pcap.core.protocol.ethernet2.EthernetIIPacket;
-import org.eclipse.linuxtools.internal.pcap.core.trace.BadPcapFileException;
-import org.eclipse.linuxtools.internal.pcap.core.trace.PcapFile;
-import org.eclipse.linuxtools.pcap.core.tests.shared.PcapTestTrace;
-import org.junit.Before;
-import org.junit.Test;
-
-/**
- * JUnit Class that tests if BadPacketExceptions are thrown correctly.
- *
- * @author Vincent Perot
- */
-public class BadPacketTest {
-
- private ByteBuffer fEthernetPacket;
-
- /**
- * Initialize the packet.
- */
- @Before
- public void initialize() {
- fEthernetPacket = ByteBuffer.allocate(8);
- fEthernetPacket.order(ByteOrder.BIG_ENDIAN);
-
- // This packet is erroneous. It contains 8 bytes while the minimum is 14
- // bytes for an Ethernet II packet.
-
- // Destination MAC - 6 bytes
- fEthernetPacket.put((byte) 0x34);
- fEthernetPacket.put((byte) 0x67);
- fEthernetPacket.put((byte) 0x0C);
- fEthernetPacket.put((byte) 0xD2);
- fEthernetPacket.put((byte) 0x91);
- fEthernetPacket.put((byte) 0x51);
-
- // Source MAC - 2 bytes
- fEthernetPacket.put((byte) 0x10);
- fEthernetPacket.put((byte) 0xF8);
-
- fEthernetPacket.flip();
-
- }
-
- /**
- * Test that verify if a BadPacketException is correctly thrown (when a
- * packet is erroneous).
- *
- * @throws BadPcapFileException
- * Thrown when the file is erroneous. Fails the test.
- * @throws IOException
- * Thrown when an IO error occurs. Fails the test.
- * @throws BadPacketException
- * Thrown when a packet is erroneous. Expected from the test.
- */
- @Test(expected = BadPacketException.class)
- public void PacketExceptionTest() throws BadPacketException, IOException, BadPcapFileException {
- PcapTestTrace trace = PcapTestTrace.MOSTLY_TCP;
- assumeTrue(trace.exists());
- try (PcapFile dummy = new PcapFile(trace.getPath())) {
- ByteBuffer packet = fEthernetPacket;
- if (packet != null) {
- new EthernetIIPacket(dummy, null, packet);
- }
- fail("PacketExceptionTest has failed!");
- }
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.pcap.core.tests/src/org/eclipse/linuxtools/pcap/core/tests/packet/PacketTest.java b/lttng/org.eclipse.linuxtools.pcap.core.tests/src/org/eclipse/linuxtools/pcap/core/tests/packet/PacketTest.java
deleted file mode 100644
index d87f44117e..0000000000
--- a/lttng/org.eclipse.linuxtools.pcap.core.tests/src/org/eclipse/linuxtools/pcap/core/tests/packet/PacketTest.java
+++ /dev/null
@@ -1,124 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 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:
- * Vincent Perot - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.pcap.core.tests.packet;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNull;
-import static org.junit.Assert.assertTrue;
-import static org.junit.Assert.fail;
-import static org.junit.Assume.assumeTrue;
-
-import java.io.IOException;
-import java.nio.ByteBuffer;
-import java.nio.ByteOrder;
-
-import org.eclipse.linuxtools.internal.pcap.core.packet.BadPacketException;
-import org.eclipse.linuxtools.internal.pcap.core.packet.Packet;
-import org.eclipse.linuxtools.internal.pcap.core.protocol.PcapProtocol;
-import org.eclipse.linuxtools.internal.pcap.core.protocol.ethernet2.EthernetIIPacket;
-import org.eclipse.linuxtools.internal.pcap.core.trace.BadPcapFileException;
-import org.eclipse.linuxtools.internal.pcap.core.trace.PcapFile;
-import org.eclipse.linuxtools.pcap.core.tests.shared.PcapTestTrace;
-import org.junit.Before;
-import org.junit.Test;
-
-/**
- * JUnit Class that tests the generic Packet class and its method.
- *
- * @author Vincent Perot
- */
-public class PacketTest {
-
- private ByteBuffer fEthernetPacket;
-
- /**
- * Initialize the packet.
- */
- @Before
- public void initialize() {
- fEthernetPacket = ByteBuffer.allocate(15);
- fEthernetPacket.order(ByteOrder.BIG_ENDIAN);
-
- // Destination MAC - 6 bytes
- fEthernetPacket.put((byte) 0x34);
- fEthernetPacket.put((byte) 0x67);
- fEthernetPacket.put((byte) 0x0C);
- fEthernetPacket.put((byte) 0xD2);
- fEthernetPacket.put((byte) 0x91);
- fEthernetPacket.put((byte) 0x51);
-
- // Source MAC - 6 bytes
- fEthernetPacket.put((byte) 0x10);
- fEthernetPacket.put((byte) 0xF8);
- fEthernetPacket.put((byte) 0x82);
- fEthernetPacket.put((byte) 0xB3);
- fEthernetPacket.put((byte) 0x44);
- fEthernetPacket.put((byte) 0x78);
-
- // Ethertype - 2 bytes
- fEthernetPacket.put((byte) 0xA2);
- fEthernetPacket.put((byte) 0x56);
-
- // Payload - 1 byte
- fEthernetPacket.put((byte) 0xA6);
-
- fEthernetPacket.flip();
-
- }
-
- /**
- * Test that verify the correctness of the Packet's methods.
- * @throws BadPcapFileException
- * Thrown when the file is erroneous. Fails the test.
- * @throws IOException
- * Thrown when an IO error occurs. Fails the test.
- * @throws BadPacketException
- * Thrown when a packet is erroneous. Fails the test.
- */
- @Test
- public void GenericPacketTest() throws BadPacketException, IOException, BadPcapFileException {
- PcapTestTrace trace = PcapTestTrace.MOSTLY_TCP;
- assumeTrue(trace.exists());
- try (PcapFile dummy = new PcapFile(trace.getPath())) {
- ByteBuffer byteBuffer = fEthernetPacket;
- if (byteBuffer == null) {
- fail("GenericPacketTest has failed!");
- return;
- }
-
- Packet packet = new EthernetIIPacket(dummy, null, byteBuffer);
- assertTrue(packet.hasProtocol(PcapProtocol.ETHERNET_II));
- assertTrue(packet.hasProtocol(PcapProtocol.UNKNOWN));
- assertFalse(packet.hasProtocol(PcapProtocol.TCP));
- assertEquals(PcapProtocol.ETHERNET_II, packet.getProtocol());
-
- assertEquals(packet, packet.getPacket(PcapProtocol.ETHERNET_II));
- assertNull(packet.getPacket(PcapProtocol.TCP));
- assertEquals(packet.getChildPacket(), packet.getPacket(PcapProtocol.UNKNOWN));
- assertEquals(packet.getPacket(PcapProtocol.ETHERNET_II), packet.getMostEcapsulatedPacket());
-
- assertNull(packet.getParentPacket());
- assertFalse(packet.getPcapFile().equals(null));
-
- Packet child = packet.getChildPacket();
- if (child == null) {
- fail("GenericPacketTest has failed!");
- return;
- }
- assertEquals(packet.getPayload(), child.getPayload());
- assertEquals(packet.getGlobalSummaryString(), "Source MAC: 10:f8:82:b3:44:78 , Destination MAC: 34:67:0c:d2:91:51");
-
- }
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.pcap.core.tests/src/org/eclipse/linuxtools/pcap/core/tests/protocol/AllTests.java b/lttng/org.eclipse.linuxtools.pcap.core.tests/src/org/eclipse/linuxtools/pcap/core/tests/protocol/AllTests.java
deleted file mode 100644
index 57a545771c..0000000000
--- a/lttng/org.eclipse.linuxtools.pcap.core.tests/src/org/eclipse/linuxtools/pcap/core/tests/protocol/AllTests.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 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:
- * Vincent Perot - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.pcap.core.tests.protocol;
-
-import org.junit.runner.RunWith;
-import org.junit.runners.Suite;
-
-/**
- * Protocol test suite
- */
-@RunWith(Suite.class)
-@Suite.SuiteClasses({
- ProtocolTest.class
-})
-public class AllTests {
-
-}
diff --git a/lttng/org.eclipse.linuxtools.pcap.core.tests/src/org/eclipse/linuxtools/pcap/core/tests/protocol/ProtocolTest.java b/lttng/org.eclipse.linuxtools.pcap.core.tests/src/org/eclipse/linuxtools/pcap/core/tests/protocol/ProtocolTest.java
deleted file mode 100644
index bedc50f0e0..0000000000
--- a/lttng/org.eclipse.linuxtools.pcap.core.tests/src/org/eclipse/linuxtools/pcap/core/tests/protocol/ProtocolTest.java
+++ /dev/null
@@ -1,85 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 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:
- * Vincent Perot - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.pcap.core.tests.protocol;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.fail;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.List;
-
-import org.eclipse.linuxtools.internal.pcap.core.protocol.PcapProtocol;
-import org.junit.Test;
-
-/**
- * JUnit Class that tests whether protocol operation are happening without
- * error.
- *
- * @author Vincent Perot
- */
-public class ProtocolTest {
-
- /**
- * Test that verify if the protocol attributes are as expected.
- */
- @Test
- public void TestProtocolAttributes() {
- assertEquals(PcapProtocol.PCAP.getName(), "Packet Capture");
- assertEquals(PcapProtocol.PCAP.getShortName(), "pcap");
- assertEquals(PcapProtocol.PCAP.getLayer(), PcapProtocol.Layer.LAYER_0);
- }
-
- /**
- * Test that verify if the protocol getter methods are working properly.
- */
- @Test
- public void TestgetProtocols() {
- List<PcapProtocol> manualListLayer = new ArrayList<>();
- for (PcapProtocol.Layer layer : PcapProtocol.Layer.values()) {
- assertNotNull(layer);
- Collection<PcapProtocol> listLayer = PcapProtocol.getProtocolsOnLayer(layer);
-
- manualListLayer.clear();
- switch (layer) {
- case LAYER_0:
- manualListLayer.add(PcapProtocol.PCAP);
- break;
- case LAYER_1:
- break;
- case LAYER_2:
- manualListLayer.add(PcapProtocol.ETHERNET_II);
- break;
- case LAYER_3:
- manualListLayer.add(PcapProtocol.IPV4);
- break;
- case LAYER_4:
- manualListLayer.add(PcapProtocol.TCP);
- manualListLayer.add(PcapProtocol.UDP);
- break;
- case LAYER_5:
- break;
- case LAYER_6:
- break;
- case LAYER_7:
- manualListLayer.add(PcapProtocol.UNKNOWN);
- break;
- default:
- fail("Illegal layer value!");
- }
- assertEquals(manualListLayer, listLayer);
- }
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.pcap.core.tests/src/org/eclipse/linuxtools/pcap/core/tests/protocol/ethernet2/AllTests.java b/lttng/org.eclipse.linuxtools.pcap.core.tests/src/org/eclipse/linuxtools/pcap/core/tests/protocol/ethernet2/AllTests.java
deleted file mode 100644
index b640d9c206..0000000000
--- a/lttng/org.eclipse.linuxtools.pcap.core.tests/src/org/eclipse/linuxtools/pcap/core/tests/protocol/ethernet2/AllTests.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 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:
- * Vincent Perot - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.pcap.core.tests.protocol.ethernet2;
-
-import org.junit.runner.RunWith;
-import org.junit.runners.Suite;
-
-/**
- * Ethernet II test suite
- */
-@RunWith(Suite.class)
-@Suite.SuiteClasses({
- EthernetIIPacketTest.class
-})
-public class AllTests {
-
-}
diff --git a/lttng/org.eclipse.linuxtools.pcap.core.tests/src/org/eclipse/linuxtools/pcap/core/tests/protocol/ethernet2/EthernetIIPacketTest.java b/lttng/org.eclipse.linuxtools.pcap.core.tests/src/org/eclipse/linuxtools/pcap/core/tests/protocol/ethernet2/EthernetIIPacketTest.java
deleted file mode 100644
index 5337c1b375..0000000000
--- a/lttng/org.eclipse.linuxtools.pcap.core.tests/src/org/eclipse/linuxtools/pcap/core/tests/protocol/ethernet2/EthernetIIPacketTest.java
+++ /dev/null
@@ -1,145 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 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:
- * Vincent Perot - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.pcap.core.tests.protocol.ethernet2;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertTrue;
-import static org.junit.Assert.fail;
-import static org.junit.Assume.assumeTrue;
-
-import java.io.IOException;
-import java.nio.ByteBuffer;
-import java.nio.ByteOrder;
-import java.util.Arrays;
-import java.util.Map;
-
-import org.eclipse.linuxtools.internal.pcap.core.packet.BadPacketException;
-import org.eclipse.linuxtools.internal.pcap.core.protocol.PcapProtocol;
-import org.eclipse.linuxtools.internal.pcap.core.protocol.ethernet2.EthernetIIEndpoint;
-import org.eclipse.linuxtools.internal.pcap.core.protocol.ethernet2.EthernetIIPacket;
-import org.eclipse.linuxtools.internal.pcap.core.protocol.ethernet2.EthernetIIValues;
-import org.eclipse.linuxtools.internal.pcap.core.trace.BadPcapFileException;
-import org.eclipse.linuxtools.internal.pcap.core.trace.PcapFile;
-import org.eclipse.linuxtools.pcap.core.tests.shared.PcapTestTrace;
-import org.junit.Before;
-import org.junit.Test;
-
-import com.google.common.collect.ImmutableMap;
-
-/**
- * JUnit Class that tests the EthernetIIPacket class and its method.
- *
- * @author Vincent Perot
- */
-public class EthernetIIPacketTest {
-
- private static final Map<String, String> EXPECTED_FIELDS = ImmutableMap.of(
- "Source MAC Address", "10:f8:82:b3:44:78",
- "Destination MAC Address", "34:67:0c:d2:91:51",
- "Ethertype", "Unknown (0xa256)"
- );
-
- private static final String EXPECTED_TOSTRING =
- "Ethernet II, Source: 10:f8:82:b3:44:78, Destination: 34:67:0c:d2:91:51, Type: Unknown (0xa256)\nPayload: a6";
-
- private ByteBuffer fPacket;
-
- /**
- * Initialize the packet.
- */
- @Before
- public void initialize() {
- fPacket = ByteBuffer.allocate(15);
- fPacket.order(ByteOrder.BIG_ENDIAN);
-
- // Destination MAC - 6 bytes
- fPacket.put((byte) 0x34);
- fPacket.put((byte) 0x67);
- fPacket.put((byte) 0x0C);
- fPacket.put((byte) 0xD2);
- fPacket.put((byte) 0x91);
- fPacket.put((byte) 0x51);
-
- // Source MAC - 6 bytes
- fPacket.put((byte) 0x10);
- fPacket.put((byte) 0xF8);
- fPacket.put((byte) 0x82);
- fPacket.put((byte) 0xB3);
- fPacket.put((byte) 0x44);
- fPacket.put((byte) 0x78);
-
- // Ethertype - 2 bytes
- fPacket.put((byte) 0xA2);
- fPacket.put((byte) 0x56);
-
- // Payload - 1 byte
- fPacket.put((byte) 0xA6);
-
- fPacket.flip();
- }
-
- /**
- * Test that verify the correctness of the EthernetIIPacket's methods.
- * @throws BadPcapFileException
- * Thrown when the file is erroneous. Fails the test.
- * @throws IOException
- * Thrown when an IO error occurs. Fails the test.
- * @throws BadPacketException
- * Thrown when a packet is erroneous. Fails the test.
- */
- @Test
- public void CompleteEthernetIIPacketTest() throws IOException, BadPcapFileException, BadPacketException {
- PcapTestTrace trace = PcapTestTrace.MOSTLY_TCP;
- assumeTrue(trace.exists());
- try (PcapFile dummy = new PcapFile(trace.getPath())) {
- ByteBuffer byteBuffer = fPacket;
- if (byteBuffer == null) {
- fail("CompleteEthernetIIPacketTest has failed!");
- return;
- }
- EthernetIIPacket packet = new EthernetIIPacket(dummy, null, byteBuffer);
-
- // Protocol Testing
- assertEquals(PcapProtocol.ETHERNET_II, packet.getProtocol());
- assertTrue(packet.hasProtocol(PcapProtocol.ETHERNET_II));
- assertTrue(packet.hasProtocol(PcapProtocol.UNKNOWN));
- assertFalse(packet.hasProtocol(PcapProtocol.TCP));
-
- // Abstract methods Testing
- assertTrue(packet.validate());
- assertEquals(-653947816, packet.hashCode());
- assertFalse(packet.equals(null));
- assertEquals(new EthernetIIPacket(dummy, null, byteBuffer), packet);
-
- assertEquals(EXPECTED_FIELDS, packet.getFields());
- assertEquals(EXPECTED_TOSTRING, packet.toString());
- assertEquals("Src: 10:f8:82:b3:44:78 , Dst: 34:67:0c:d2:91:51", packet.getLocalSummaryString());
- assertEquals("Source MAC: 10:f8:82:b3:44:78 , Destination MAC: 34:67:0c:d2:91:51", packet.getGlobalSummaryString());
-
- assertEquals(new EthernetIIEndpoint(packet, true), packet.getSourceEndpoint());
- assertEquals(new EthernetIIEndpoint(packet, false), packet.getDestinationEndpoint());
-
- fPacket.position(14);
- byte[] payload = new byte[1];
- fPacket.get(payload);
- assertEquals(ByteBuffer.wrap(payload), packet.getPayload());
-
- // Packet-specific methods Testing
- assertTrue(Arrays.equals(packet.getSourceMacAddress(), Arrays.copyOfRange(fPacket.array(), EthernetIIValues.MAC_ADDRESS_SIZE, EthernetIIValues.MAC_ADDRESS_SIZE + EthernetIIValues.MAC_ADDRESS_SIZE)));
- assertTrue(Arrays.equals(packet.getDestinationMacAddress(), Arrays.copyOfRange(fPacket.array(), 0, 0 + EthernetIIValues.MAC_ADDRESS_SIZE)));
- assertEquals(0xA256, packet.getEthertype());
-
- }
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.pcap.core.tests/src/org/eclipse/linuxtools/pcap/core/tests/protocol/ipv4/AllTests.java b/lttng/org.eclipse.linuxtools.pcap.core.tests/src/org/eclipse/linuxtools/pcap/core/tests/protocol/ipv4/AllTests.java
deleted file mode 100644
index e431897506..0000000000
--- a/lttng/org.eclipse.linuxtools.pcap.core.tests/src/org/eclipse/linuxtools/pcap/core/tests/protocol/ipv4/AllTests.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 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:
- * Vincent Perot - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.pcap.core.tests.protocol.ipv4;
-
-import org.junit.runner.RunWith;
-import org.junit.runners.Suite;
-
-/**
- * IPv4 test suite
- */
-@RunWith(Suite.class)
-@Suite.SuiteClasses({
- IPv4PacketTest.class
-})
-public class AllTests {
-
-}
diff --git a/lttng/org.eclipse.linuxtools.pcap.core.tests/src/org/eclipse/linuxtools/pcap/core/tests/protocol/ipv4/IPv4PacketTest.java b/lttng/org.eclipse.linuxtools.pcap.core.tests/src/org/eclipse/linuxtools/pcap/core/tests/protocol/ipv4/IPv4PacketTest.java
deleted file mode 100644
index 4e72c020c0..0000000000
--- a/lttng/org.eclipse.linuxtools.pcap.core.tests/src/org/eclipse/linuxtools/pcap/core/tests/protocol/ipv4/IPv4PacketTest.java
+++ /dev/null
@@ -1,211 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 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:
- * Vincent Perot - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.pcap.core.tests.protocol.ipv4;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertTrue;
-import static org.junit.Assert.fail;
-import static org.junit.Assume.assumeTrue;
-
-import java.io.IOException;
-import java.net.InetAddress;
-import java.nio.ByteBuffer;
-import java.nio.ByteOrder;
-import java.util.Arrays;
-import java.util.LinkedHashMap;
-import java.util.Map;
-
-import org.eclipse.linuxtools.internal.pcap.core.packet.BadPacketException;
-import org.eclipse.linuxtools.internal.pcap.core.protocol.PcapProtocol;
-import org.eclipse.linuxtools.internal.pcap.core.protocol.ipv4.IPv4Endpoint;
-import org.eclipse.linuxtools.internal.pcap.core.protocol.ipv4.IPv4Packet;
-import org.eclipse.linuxtools.internal.pcap.core.trace.BadPcapFileException;
-import org.eclipse.linuxtools.internal.pcap.core.trace.PcapFile;
-import org.eclipse.linuxtools.pcap.core.tests.shared.PcapTestTrace;
-import org.junit.Before;
-import org.junit.Test;
-
-/**
- * JUnit Class that tests the IPv4Packet class and its method.
- *
- * @author Vincent Perot
- */
-public class IPv4PacketTest {
-
- private static final Map<String, String> EXPECTED_FIELDS;
- static {
- EXPECTED_FIELDS = new LinkedHashMap<>();
- EXPECTED_FIELDS.put("Version", "4");
- EXPECTED_FIELDS.put("Header Length", "24 bytes");
- EXPECTED_FIELDS.put("Differentiated Services Field", "0x26");
- EXPECTED_FIELDS.put("Explicit Congestion Notification", "0x02");
- EXPECTED_FIELDS.put("Total Length", "255 bytes");
- EXPECTED_FIELDS.put("Identification", "0x0ff0");
- EXPECTED_FIELDS.put("Don't Fragment Flag", "false");
- EXPECTED_FIELDS.put("More Fragment Flag", "false");
- EXPECTED_FIELDS.put("Fragment Offset", "7905");
- EXPECTED_FIELDS.put("Time to live", "160");
- EXPECTED_FIELDS.put("Protocol", "Unknown (254)");
- EXPECTED_FIELDS.put("Checksum", "0x3344");
- EXPECTED_FIELDS.put("Source IP Address", "192.168.1.0");
- EXPECTED_FIELDS.put("Destination IP Address", "193.169.2.1");
- EXPECTED_FIELDS.put("Options", "a2 56 a2 56");
- }
-
- private static final String EXPECTED_TOSTRING;
- static {
- StringBuilder sb = new StringBuilder();
- sb.append("Internet Protocol Version 4, Source: 192.168.1.0, Destination: 193.169.2.1\n");
- sb.append("Version: 4, Identification: 0x0ff0, Header Length: 24 bytes, Total Length: 255 bytes\n");
- sb.append("Differentiated Services Code Point: 0x26; Explicit Congestion Notification: 0x02\n");
- sb.append("Flags: 0x00 (Don't have more fragments), Fragment Offset: 7905\n");
- sb.append("Time to live: 160\n");
- sb.append("Protocol: 254\n");
- sb.append("Header Checksum: 0x3344\n");
- sb.append("Payload: a6");
-
- EXPECTED_TOSTRING = sb.toString();
- }
-
- private ByteBuffer fPacket;
-
- /**
- * Initialize the packet.
- */
- @Before
- public void initialize() {
- fPacket = ByteBuffer.allocate(25);
- fPacket.order(ByteOrder.BIG_ENDIAN);
-
- // Version + IHL
- fPacket.put((byte) 0x46);
-
- // DSCP + ECN
- fPacket.put((byte) 0x9A);
-
- // Total length - this is randomly chosen so that we verify that the
- // packet handles wrong total length.
- fPacket.put((byte) 0x00);
- fPacket.put((byte) 0xFF);
-
- // Identification
- fPacket.put((byte) 0x0F);
- fPacket.put((byte) 0xF0);
-
- // Flags + Fragment Offset
- fPacket.put((byte) 0x1E);
- fPacket.put((byte) 0xE1);
-
- // Time to live
- fPacket.put((byte) 0xA0);
-
- // Protocol - Unknown
- fPacket.put((byte) 0xFE);
-
- // Header checksum - chosen randomly
- fPacket.put((byte) 0x33);
- fPacket.put((byte) 0x44);
-
- // Source IP - 4 bytes
- fPacket.put((byte) 192);
- fPacket.put((byte) 168);
- fPacket.put((byte) 1);
- fPacket.put((byte) 0);
-
- // Destination IP - 4 bytes
- fPacket.put((byte) 193);
- fPacket.put((byte) 169);
- fPacket.put((byte) 2);
- fPacket.put((byte) 1);
-
- // Options - 4 bytes
- fPacket.put((byte) 0xA2);
- fPacket.put((byte) 0x56);
- fPacket.put((byte) 0xA2);
- fPacket.put((byte) 0x56);
-
- // Payload - 1 byte
- fPacket.put((byte) 0xA6);
-
- fPacket.flip();
- }
-
- /**
- * Test that verify the correctness of the IPv4Packet's methods.
- *
- * @throws BadPcapFileException
- * Thrown when the file is erroneous. Fails the test.
- * @throws IOException
- * Thrown when an IO error occurs. Fails the test.
- * @throws BadPacketException
- * Thrown when a packet is erroneous. Fails the test.
- */
- @Test
- public void CompleteIPv4PacketTest() throws IOException, BadPcapFileException, BadPacketException {
- PcapTestTrace trace = PcapTestTrace.MOSTLY_TCP;
- assumeTrue(trace.exists());
- try (PcapFile dummy = new PcapFile(trace.getPath())) {
- ByteBuffer byteBuffer = fPacket;
- if (byteBuffer == null) {
- fail("CompleteIPv4PacketTest has failed!");
- return;
- }
- IPv4Packet packet = new IPv4Packet(dummy, null, byteBuffer);
-
- // Protocol Testing
- assertEquals(PcapProtocol.IPV4, packet.getProtocol());
- assertTrue(packet.hasProtocol(PcapProtocol.IPV4));
- assertTrue(packet.hasProtocol(PcapProtocol.UNKNOWN));
- assertFalse(packet.hasProtocol(PcapProtocol.TCP));
-
- // Abstract methods Testing
- assertTrue(packet.validate());
- assertEquals(-222021887, packet.hashCode());
- assertFalse(packet.equals(null));
- assertEquals(new IPv4Packet(dummy, null, byteBuffer), packet);
-
- assertEquals(EXPECTED_FIELDS, packet.getFields());
- assertEquals(EXPECTED_TOSTRING, packet.toString());
- assertEquals("Src: 192.168.1.0 , Dst: 193.169.2.1", packet.getLocalSummaryString());
- assertEquals("192.168.1.0 > 193.169.2.1 Id=4080 Len=1", packet.getGlobalSummaryString());
-
- assertEquals(new IPv4Endpoint(packet, true), packet.getSourceEndpoint());
- assertEquals(new IPv4Endpoint(packet, false), packet.getDestinationEndpoint());
-
- fPacket.position(24);
- byte[] payload = new byte[1];
- fPacket.get(payload);
- assertEquals(ByteBuffer.wrap(payload), packet.getPayload());
-
- // Packet-specific methods Testing
- assertEquals(InetAddress.getByAddress(Arrays.copyOfRange(fPacket.array(), 12, 16)), packet.getSourceIpAddress());
- assertEquals(InetAddress.getByAddress(Arrays.copyOfRange(fPacket.array(), 16, 20)), packet.getDestinationIpAddress());
- assertTrue(Arrays.equals(packet.getOptions(), Arrays.copyOfRange(fPacket.array(), 20, 24)));
- assertEquals(4, packet.getVersion());
- assertEquals(24, packet.getHeaderLength());
- assertEquals(0x26, packet.getDSCP());
- assertEquals(0x02, packet.getExplicitCongestionNotification());
- assertEquals(255, packet.getTotalLength());
- assertEquals(0x0FF0, packet.getIdentification());
- assertFalse(packet.getReservedFlag());
- assertFalse(packet.getDontFragmentFlag());
- assertFalse(packet.getHasMoreFragment());
- assertEquals(7905, packet.getFragmentOffset());
- assertEquals(160, packet.getTimeToLive());
- assertEquals(0xFE, packet.getIpDatagramProtocol());
- assertEquals(0x3344, packet.getHeaderChecksum());
-
- }
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.pcap.core.tests/src/org/eclipse/linuxtools/pcap/core/tests/protocol/pcap/AllTests.java b/lttng/org.eclipse.linuxtools.pcap.core.tests/src/org/eclipse/linuxtools/pcap/core/tests/protocol/pcap/AllTests.java
deleted file mode 100644
index c5d70f7bea..0000000000
--- a/lttng/org.eclipse.linuxtools.pcap.core.tests/src/org/eclipse/linuxtools/pcap/core/tests/protocol/pcap/AllTests.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 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:
- * Vincent Perot - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.pcap.core.tests.protocol.pcap;
-
-import org.junit.runner.RunWith;
-import org.junit.runners.Suite;
-
-/**
- * Pcap test suite
- */
-@RunWith(Suite.class)
-@Suite.SuiteClasses({
- PcapPacketTest.class
-})
-public class AllTests {
-
-}
diff --git a/lttng/org.eclipse.linuxtools.pcap.core.tests/src/org/eclipse/linuxtools/pcap/core/tests/protocol/pcap/PcapPacketTest.java b/lttng/org.eclipse.linuxtools.pcap.core.tests/src/org/eclipse/linuxtools/pcap/core/tests/protocol/pcap/PcapPacketTest.java
deleted file mode 100644
index d635bfe39b..0000000000
--- a/lttng/org.eclipse.linuxtools.pcap.core.tests/src/org/eclipse/linuxtools/pcap/core/tests/protocol/pcap/PcapPacketTest.java
+++ /dev/null
@@ -1,249 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 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:
- * Vincent Perot - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.pcap.core.tests.protocol.pcap;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertTrue;
-import static org.junit.Assert.fail;
-import static org.junit.Assume.assumeTrue;
-
-import java.io.IOException;
-import java.nio.ByteBuffer;
-import java.nio.ByteOrder;
-import java.text.ParseException;
-import java.text.SimpleDateFormat;
-import java.util.Date;
-import java.util.Map;
-import java.util.TimeZone;
-
-import org.eclipse.linuxtools.internal.pcap.core.packet.BadPacketException;
-import org.eclipse.linuxtools.internal.pcap.core.protocol.PcapProtocol;
-import org.eclipse.linuxtools.internal.pcap.core.protocol.pcap.PcapEndpoint;
-import org.eclipse.linuxtools.internal.pcap.core.protocol.pcap.PcapPacket;
-import org.eclipse.linuxtools.internal.pcap.core.trace.BadPcapFileException;
-import org.eclipse.linuxtools.internal.pcap.core.trace.PcapFile;
-import org.eclipse.linuxtools.pcap.core.tests.shared.PcapTestTrace;
-import org.junit.Before;
-import org.junit.Test;
-
-import com.google.common.collect.ImmutableMap;
-
-/**
- * JUnit Class that tests the PcapPacket class and its method.
- *
- * @author Vincent Perot
- */
-public class PcapPacketTest {
-
- private static final String EXPECTED_DATE_FORMAT = "yyyy-MM-dd HH:mm:ss.SSS";
- private static final String EXPECTED_GMT_TIME = "2005-07-04 09:33:52.829";
-
- private static final Map<String, String> EXPECTED_FIELDS;
- private static final String EXPECTED_TOSTRING;
- static {
-
- // Convert known GMT time to default (local) time zone. The local time
- // is the expected value.
- String captureTime = "";
- try {
- SimpleDateFormat gmtFormat = new SimpleDateFormat(EXPECTED_DATE_FORMAT);
- gmtFormat.setTimeZone(TimeZone.getTimeZone("GMT"));
- Date gmtDate = gmtFormat.parse(EXPECTED_GMT_TIME);
-
- SimpleDateFormat defaultFormat = new SimpleDateFormat(EXPECTED_DATE_FORMAT);
- captureTime = defaultFormat.format(gmtDate);
- } catch (ParseException e) {
- fail("failed to parse date");
- }
-
- StringBuilder sb = new StringBuilder();
- sb.append("Packet Capture 36: 75 bytes on wire, 75 bytes captured.\n");
- sb.append("Arrival time: " + captureTime + ".277.000\n");
- sb.append("Ethernet II, Source: 00:e0:ed:01:6e:bd, Destination: 00:30:54:00:34:56, Type: Internet Protocol Version 4 (0x0800)\n");
- sb.append("Internet Protocol Version 4, Source: 192.168.1.2, Destination: 192.168.1.1\n");
- sb.append("Version: 4, Identification: 0x69aa, Header Length: 20 bytes, Total Length: 61 bytes\n");
- sb.append("Differentiated Services Code Point: 0x00; Explicit Congestion Notification: 0x00\n");
- sb.append("Flags: 0x00 (Don't have more fragments), Fragment Offset: 0\n");
- sb.append("Time to live: 128\n");
- sb.append("Protocol: 17\n");
- sb.append("Header Checksum: 0x4db2\n");
- sb.append("User Datagram Protocol, Source Port: 2719, Destination Port: 53, Length: 41, Checksum: 19038\n");
- sb.append("Payload: ed d4 01 00 00 01 00 00 00 00 00 00 03 66 74 70 07 65 63 69 74 65 6c 65 03 63 6f 6d 00 00 01 00 01");
-
- EXPECTED_TOSTRING = sb.toString();
- EXPECTED_FIELDS = ImmutableMap.of(
- "Frame", "36",
- "Frame Length", "75 bytes",
- "Capture Length", "75 bytes",
- "Capture Time", captureTime + ".277.000"
- );
- }
-
- private ByteBuffer fPayload;
-
- /**
- * Initialize the payload.
- */
- @Before
- public void initialize() {
- fPayload = ByteBuffer.allocate(75);
- fPayload.order(ByteOrder.BIG_ENDIAN);
-
- // Values copied from wireshark
-
- // Bytes 0x01-0x10
- fPayload.put((byte) 0x00);
- fPayload.put((byte) 0x30);
- fPayload.put((byte) 0x54);
- fPayload.put((byte) 0x00);
- fPayload.put((byte) 0x34);
- fPayload.put((byte) 0x56);
- fPayload.put((byte) 0x00);
- fPayload.put((byte) 0xE0);
- fPayload.put((byte) 0xED);
- fPayload.put((byte) 0x01);
- fPayload.put((byte) 0x6E);
- fPayload.put((byte) 0xBD);
- fPayload.put((byte) 0x08);
- fPayload.put((byte) 0x00);
- fPayload.put((byte) 0x45);
- fPayload.put((byte) 0x00);
-
- // Bytes 0x11-0x20
- fPayload.put((byte) 0x00);
- fPayload.put((byte) 0x3D);
- fPayload.put((byte) 0x69);
- fPayload.put((byte) 0xAA);
- fPayload.put((byte) 0x00);
- fPayload.put((byte) 0x00);
- fPayload.put((byte) 0x80);
- fPayload.put((byte) 0x11);
- fPayload.put((byte) 0x4D);
- fPayload.put((byte) 0xB2);
- fPayload.put((byte) 0xC0);
- fPayload.put((byte) 0xA8);
- fPayload.put((byte) 0x01);
- fPayload.put((byte) 0x02);
- fPayload.put((byte) 0xC0);
- fPayload.put((byte) 0xA8);
-
- // Bytes 0x21-0x30
- fPayload.put((byte) 0x01);
- fPayload.put((byte) 0x01);
- fPayload.put((byte) 0x0A);
- fPayload.put((byte) 0x9F);
- fPayload.put((byte) 0x00);
- fPayload.put((byte) 0x35);
- fPayload.put((byte) 0x00);
- fPayload.put((byte) 0x29);
- fPayload.put((byte) 0x4A);
- fPayload.put((byte) 0x5E);
- fPayload.put((byte) 0xED);
- fPayload.put((byte) 0xd4);
- fPayload.put((byte) 0x01);
- fPayload.put((byte) 0x00);
- fPayload.put((byte) 0x00);
- fPayload.put((byte) 0x01);
-
- // Bytes 0x31-0x40
- fPayload.put((byte) 0x00);
- fPayload.put((byte) 0x00);
- fPayload.put((byte) 0x00);
- fPayload.put((byte) 0x00);
- fPayload.put((byte) 0x00);
- fPayload.put((byte) 0x00);
- fPayload.put((byte) 0x03);
- fPayload.put((byte) 0x66);
- fPayload.put((byte) 0x74);
- fPayload.put((byte) 0x70);
- fPayload.put((byte) 0x07);
- fPayload.put((byte) 0x65);
- fPayload.put((byte) 0x63);
- fPayload.put((byte) 0x69);
- fPayload.put((byte) 0x74);
- fPayload.put((byte) 0x65);
-
- // Bytes 0x41-0x4B
- fPayload.put((byte) 0x6C);
- fPayload.put((byte) 0x65);
- fPayload.put((byte) 0x03);
- fPayload.put((byte) 0x63);
- fPayload.put((byte) 0x6F);
- fPayload.put((byte) 0x6D);
- fPayload.put((byte) 0x00);
- fPayload.put((byte) 0x00);
- fPayload.put((byte) 0x01);
- fPayload.put((byte) 0x00);
- fPayload.put((byte) 0x01);
-
- fPayload.flip();
- }
-
- /**
- * Test that verify the correctness of the PcapPacket's methods.
- * @throws BadPcapFileException
- * Thrown when the file is erroneous. Fails the test.
- * @throws IOException
- * Thrown when an IO error occurs. Fails the test.
- * @throws BadPacketException
- * Thrown when a packet is erroneous. Fails the test.
- */
- @Test
- public void CompletePcapPacketTest() throws IOException, BadPcapFileException, BadPacketException {
- PcapTestTrace trace = PcapTestTrace.MOSTLY_UDP;
- assumeTrue(trace.exists());
- try (PcapFile file = new PcapFile(trace.getPath());) {
-
- file.seekPacket(36);
- PcapPacket packet = file.parseNextPacket();
- if (packet == null) {
- fail("CompletePcapPacketTest has failed!");
- return;
- }
- // Protocol Testing
- assertEquals(PcapProtocol.PCAP, packet.getProtocol());
- assertTrue(packet.hasProtocol(PcapProtocol.PCAP));
- assertTrue(packet.hasProtocol(PcapProtocol.UNKNOWN));
- assertFalse(packet.hasProtocol(PcapProtocol.TCP));
-
- // Abstract methods Testing
- assertTrue(packet.validate());
- assertEquals(86567859, packet.hashCode());
- assertFalse(packet.equals(null));
- assertFalse(packet.equals(file.parseNextPacket()));
-
- assertEquals(EXPECTED_FIELDS, packet.getFields());
- assertEquals(EXPECTED_TOSTRING, packet.toString());
- assertEquals("Frame 36: 75 bytes on wire, 75 bytes captured", packet.getLocalSummaryString());
- assertEquals("Source Port: 2719, Destination Port: 53", packet.getGlobalSummaryString());
-
- assertEquals(new PcapEndpoint(packet, true), packet.getSourceEndpoint());
- assertEquals(new PcapEndpoint(packet, false), packet.getDestinationEndpoint());
-
- ByteBuffer payload = packet.getPayload();
- if (payload == null) {
- fail("CompletePcapPacketTest has failed!");
- return;
- }
- assertEquals(fPayload, payload.flip());
-
- // Packet-specific methods Testing
- assertEquals(36, packet.getIndex());
- assertEquals(75, packet.getOriginalLength());
- assertEquals(75, packet.getIncludedLength());
- assertEquals(1120469632829277L, packet.getTimestamp());
- assertFalse(packet.isTruncated());
- }
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.pcap.core.tests/src/org/eclipse/linuxtools/pcap/core/tests/protocol/tcp/AllTests.java b/lttng/org.eclipse.linuxtools.pcap.core.tests/src/org/eclipse/linuxtools/pcap/core/tests/protocol/tcp/AllTests.java
deleted file mode 100644
index 201e83dc4d..0000000000
--- a/lttng/org.eclipse.linuxtools.pcap.core.tests/src/org/eclipse/linuxtools/pcap/core/tests/protocol/tcp/AllTests.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 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:
- * Vincent Perot - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.pcap.core.tests.protocol.tcp;
-
-import org.junit.runner.RunWith;
-import org.junit.runners.Suite;
-
-/**
- * TCP test suite
- */
-@RunWith(Suite.class)
-@Suite.SuiteClasses({
- TCPPacketTest.class
-})
-public class AllTests {
-
-}
diff --git a/lttng/org.eclipse.linuxtools.pcap.core.tests/src/org/eclipse/linuxtools/pcap/core/tests/protocol/tcp/TCPPacketTest.java b/lttng/org.eclipse.linuxtools.pcap.core.tests/src/org/eclipse/linuxtools/pcap/core/tests/protocol/tcp/TCPPacketTest.java
deleted file mode 100644
index 2a197dd09b..0000000000
--- a/lttng/org.eclipse.linuxtools.pcap.core.tests/src/org/eclipse/linuxtools/pcap/core/tests/protocol/tcp/TCPPacketTest.java
+++ /dev/null
@@ -1,213 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 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:
- * Vincent Perot - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.pcap.core.tests.protocol.tcp;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertTrue;
-import static org.junit.Assert.fail;
-import static org.junit.Assume.assumeTrue;
-
-import java.io.IOException;
-import java.nio.ByteBuffer;
-import java.nio.ByteOrder;
-import java.util.Arrays;
-import java.util.LinkedHashMap;
-import java.util.Map;
-
-import org.eclipse.linuxtools.internal.pcap.core.packet.BadPacketException;
-import org.eclipse.linuxtools.internal.pcap.core.protocol.PcapProtocol;
-import org.eclipse.linuxtools.internal.pcap.core.protocol.tcp.TCPEndpoint;
-import org.eclipse.linuxtools.internal.pcap.core.protocol.tcp.TCPPacket;
-import org.eclipse.linuxtools.internal.pcap.core.trace.BadPcapFileException;
-import org.eclipse.linuxtools.internal.pcap.core.trace.PcapFile;
-import org.eclipse.linuxtools.pcap.core.tests.shared.PcapTestTrace;
-import org.junit.Before;
-import org.junit.Test;
-
-/**
- * JUnit Class that tests the TCPPacket class and its method.
- *
- * @author Vincent Perot
- */
-public class TCPPacketTest {
-
- private static final Map<String, String> EXPECTED_FIELDS;
- static {
- EXPECTED_FIELDS = new LinkedHashMap<>();
- EXPECTED_FIELDS.put("Source Port", "18057");
- EXPECTED_FIELDS.put("Destination Port", "39611");
- EXPECTED_FIELDS.put("Sequence Number", "2575857510");
- EXPECTED_FIELDS.put("Acknowledgement Number", "1430532898");
- EXPECTED_FIELDS.put("Length", "24 bytes");
- EXPECTED_FIELDS.put("ECN-Nonce Flag", "true");
- EXPECTED_FIELDS.put("Congestion Window Reduced Flag", "false");
- EXPECTED_FIELDS.put("ECN-Echo Flag", "true");
- EXPECTED_FIELDS.put("Urgent Flag", "false");
- EXPECTED_FIELDS.put("ACK Flag", "true");
- EXPECTED_FIELDS.put("PSH Flag", "false");
- EXPECTED_FIELDS.put("RST Flag", "true");
- EXPECTED_FIELDS.put("SYN Flag", "false");
- EXPECTED_FIELDS.put("FIN Flag", "true");
- EXPECTED_FIELDS.put("Window Size Value", "4352");
- EXPECTED_FIELDS.put("Checksum", "0xffee");
- EXPECTED_FIELDS.put("Urgent Pointer", "0xddcc");
- EXPECTED_FIELDS.put("Options", "ad da bc cb");
- }
-
- private static final String EXPECTED_TOSTRING;
- static {
- StringBuilder sb = new StringBuilder();
- sb.append("Transmission Control Protocol, Source Port: 18057, Destination Port: 39611\n");
- sb.append("Sequence Number: 2575857510, Acknowledgment Number: 1430532898\n");
- sb.append("Header length: 24 bytes, Data length: 4\n");
- sb.append("Window size value: 4352, Urgent Pointer: 0xddcc\n");
- sb.append("Checksum: 0xffee\n");
- sb.append("Payload: 99 88 77 66");
-
- EXPECTED_TOSTRING = sb.toString();
- }
-
- private ByteBuffer fPacket;
-
- /**
- * Initialize the packet.
- */
- @Before
- public void initialize() {
- fPacket = ByteBuffer.allocate(28);
- fPacket.order(ByteOrder.BIG_ENDIAN);
-
- // Source Port
- fPacket.put((byte) 0x46);
- fPacket.put((byte) 0x89);
-
- // Destination Port
- fPacket.put((byte) 0x9A);
- fPacket.put((byte) 0xBB);
-
- // Sequence Number
- fPacket.put((byte) 0x99);
- fPacket.put((byte) 0x88);
- fPacket.put((byte) 0x77);
- fPacket.put((byte) 0x66);
-
- // Acknowledgment Number
- fPacket.put((byte) 0x55);
- fPacket.put((byte) 0x44);
- fPacket.put((byte) 0x33);
- fPacket.put((byte) 0x22);
-
- // Data Offset + Reserved + NS
- fPacket.put((byte) 0x61);
-
- // Other flags
- fPacket.put((byte) 0b01010101);
-
- // Window Size
- fPacket.put((byte) 0x11);
- fPacket.put((byte) 0x00);
-
- // Checksum
- fPacket.put((byte) 0xFF);
- fPacket.put((byte) 0xEE);
-
- // Urgent Pointer
- fPacket.put((byte) 0xDD);
- fPacket.put((byte) 0xCC);
-
- // Options - 4 bytes
- fPacket.put((byte) 0xAD);
- fPacket.put((byte) 0xDA);
- fPacket.put((byte) 0xBC);
- fPacket.put((byte) 0xCB);
-
- // Payload - 4 bytes
- fPacket.put((byte) 0x99);
- fPacket.put((byte) 0x88);
- fPacket.put((byte) 0x77);
- fPacket.put((byte) 0x66);
-
- fPacket.flip();
- }
-
- /**
- * Test that verify the correctness of the TCPPacket's methods.
- * @throws BadPcapFileException
- * Thrown when the file is erroneous. Fails the test.
- * @throws IOException
- * Thrown when an IO error occurs. Fails the test.
- * @throws BadPacketException
- * Thrown when a packet is erroneous. Fails the test.
- */
- @Test
- public void CompleteTCPPacketTest() throws BadPacketException, IOException, BadPcapFileException {
- PcapTestTrace trace = PcapTestTrace.MOSTLY_TCP;
- assumeTrue(trace.exists());
- try (PcapFile dummy = new PcapFile(trace.getPath())) {
- ByteBuffer byteBuffer = fPacket;
- if (byteBuffer == null) {
- fail("CompleteTCPPacketTest has failed!");
- return;
- }
- TCPPacket packet = new TCPPacket(dummy, null, byteBuffer);
-
- // Protocol Testing
- assertEquals(PcapProtocol.TCP, packet.getProtocol());
- assertTrue(packet.hasProtocol(PcapProtocol.TCP));
- assertTrue(packet.hasProtocol(PcapProtocol.UNKNOWN));
- assertFalse(packet.hasProtocol(PcapProtocol.IPV4));
-
- // Abstract methods Testing
- assertTrue(packet.validate());
- assertEquals(-677046102, packet.hashCode());
- assertFalse(packet.equals(null));
- assertEquals(new TCPPacket(dummy, null, byteBuffer), packet);
-
- assertEquals(EXPECTED_FIELDS, packet.getFields());
- assertEquals(EXPECTED_TOSTRING, packet.toString());
- assertEquals("Src Port: 18057, Dst Port: 39611, Seq: 2575857510, Ack: 1430532898, Len: 24", packet.getLocalSummaryString());
- assertEquals("18057 > 39611 [ACK, FIN, RST, NS, ECE] Seq=2575857510 Ack=1430532898 Len=24", packet.getGlobalSummaryString());
-
- assertEquals(new TCPEndpoint(packet, true), packet.getSourceEndpoint());
- assertEquals(new TCPEndpoint(packet, false), packet.getDestinationEndpoint());
-
- fPacket.position(24);
- byte[] payload = new byte[4];
- fPacket.get(payload);
- assertEquals(ByteBuffer.wrap(payload), packet.getPayload());
-
- // Packet-specific methods Testing
- assertEquals(0x4689, packet.getSourcePort());
- assertEquals(0x9ABB, packet.getDestinationPort());
- assertEquals(2575857510L, packet.getSequenceNumber());
- assertEquals(1430532898L, packet.getAcknowledgmentNumber());
- assertEquals(6, packet.getDataOffset());
- assertEquals(0, packet.getReservedField());
- assertEquals(true, packet.isNSFlagSet());
- assertEquals(false, packet.isCongestionWindowReducedFlagSet());
- assertEquals(true, packet.isECNEchoFlagSet());
- assertEquals(false, packet.isUrgentFlagSet());
- assertEquals(true, packet.isAcknowledgeFlagSet());
- assertEquals(false, packet.isPushFlagSet());
- assertEquals(true, packet.isResetFlagSet());
- assertEquals(false, packet.isSynchronizationFlagSet());
- assertEquals(true, packet.isFinalFlagSet());
- assertEquals(4352, packet.getWindowSize());
- assertEquals(65518, packet.getChecksum());
- assertEquals(56780, packet.getUrgentPointer());
- assertTrue(Arrays.equals(packet.getOptions(), Arrays.copyOfRange(fPacket.array(), 20, 24)));
-
- }
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.pcap.core.tests/src/org/eclipse/linuxtools/pcap/core/tests/protocol/udp/AllTests.java b/lttng/org.eclipse.linuxtools.pcap.core.tests/src/org/eclipse/linuxtools/pcap/core/tests/protocol/udp/AllTests.java
deleted file mode 100644
index 13c541e103..0000000000
--- a/lttng/org.eclipse.linuxtools.pcap.core.tests/src/org/eclipse/linuxtools/pcap/core/tests/protocol/udp/AllTests.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 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:
- * Vincent Perot - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.pcap.core.tests.protocol.udp;
-
-import org.junit.runner.RunWith;
-import org.junit.runners.Suite;
-
-/**
- * UDP test suite
- */
-@RunWith(Suite.class)
-@Suite.SuiteClasses({
- UDPPacketTest.class
-})
-public class AllTests {
-
-}
diff --git a/lttng/org.eclipse.linuxtools.pcap.core.tests/src/org/eclipse/linuxtools/pcap/core/tests/protocol/udp/UDPPacketTest.java b/lttng/org.eclipse.linuxtools.pcap.core.tests/src/org/eclipse/linuxtools/pcap/core/tests/protocol/udp/UDPPacketTest.java
deleted file mode 100644
index bb70c291a1..0000000000
--- a/lttng/org.eclipse.linuxtools.pcap.core.tests/src/org/eclipse/linuxtools/pcap/core/tests/protocol/udp/UDPPacketTest.java
+++ /dev/null
@@ -1,151 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 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:
- * Vincent Perot - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.pcap.core.tests.protocol.udp;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertTrue;
-import static org.junit.Assert.fail;
-import static org.junit.Assume.assumeTrue;
-
-import java.io.IOException;
-import java.nio.ByteBuffer;
-import java.nio.ByteOrder;
-import java.util.Map;
-
-import org.eclipse.linuxtools.internal.pcap.core.packet.BadPacketException;
-import org.eclipse.linuxtools.internal.pcap.core.protocol.PcapProtocol;
-import org.eclipse.linuxtools.internal.pcap.core.protocol.udp.UDPEndpoint;
-import org.eclipse.linuxtools.internal.pcap.core.protocol.udp.UDPPacket;
-import org.eclipse.linuxtools.internal.pcap.core.trace.BadPcapFileException;
-import org.eclipse.linuxtools.internal.pcap.core.trace.PcapFile;
-import org.eclipse.linuxtools.pcap.core.tests.shared.PcapTestTrace;
-import org.junit.Before;
-import org.junit.Test;
-
-import com.google.common.collect.ImmutableMap;
-
-/**
- * JUnit Class that tests the UDPPacket class and its method.
- *
- * @author Vincent Perot
- */
-public class UDPPacketTest {
-
- private static final Map<String, String> EXPECTED_FIELDS = ImmutableMap.of(
- "Source Port", "18057",
- "Destination Port", "39611",
- "Length", "41452 bytes",
- "Checksum", "0xfaaf"
- );
-
- private static final String EXPTECTED_TOSTRING;
- static {
- StringBuilder sb = new StringBuilder();
- sb.append("User Datagram Protocol, Source Port: 18057, Destination Port: 39611, Length: 41452, Checksum: 64175\n");
- sb.append("Payload: 99 88 77 66");
-
- EXPTECTED_TOSTRING = sb.toString();
- }
-
- private ByteBuffer fPacket;
-
- /**
- * Initialize the packet.
- */
- @Before
- public void initialize() {
- fPacket = ByteBuffer.allocate(12);
- fPacket.order(ByteOrder.BIG_ENDIAN);
-
- // Source Port
- fPacket.put((byte) 0x46);
- fPacket.put((byte) 0x89);
-
- // Destination Port
- fPacket.put((byte) 0x9A);
- fPacket.put((byte) 0xBB);
-
- // Total length - this is randomly chosen so that we verify that the
- // packet handles wrong total length.
- fPacket.put((byte) 0xA1);
- fPacket.put((byte) 0xEC);
-
- // Checksum
- fPacket.put((byte) 0xFA);
- fPacket.put((byte) 0xAF);
-
- // Payload - 4 bytes
- fPacket.put((byte) 0x99);
- fPacket.put((byte) 0x88);
- fPacket.put((byte) 0x77);
- fPacket.put((byte) 0x66);
-
- fPacket.flip();
- }
-
- /**
- * Test that verify the correctness of the UDPPacket's methods.
- * @throws BadPcapFileException
- * Thrown when the file is erroneous. Fails the test.
- * @throws IOException
- * Thrown when an IO error occurs. Fails the test.
- * @throws BadPacketException
- * Thrown when a packet is erroneous. Fails the test.
- */
- @Test
- public void CompleteUDPPacketTest() throws IOException, BadPcapFileException, BadPacketException {
- PcapTestTrace trace = PcapTestTrace.MOSTLY_TCP;
- assumeTrue(trace.exists());
- try (PcapFile dummy = new PcapFile(trace.getPath())) {
- ByteBuffer byteBuffer = fPacket;
- if (byteBuffer == null) {
- fail("CompleteUDPPacketTest has failed!");
- return;
- }
- UDPPacket packet = new UDPPacket(dummy, null, byteBuffer);
-
- // Protocol Testing
- assertEquals(PcapProtocol.UDP, packet.getProtocol());
- assertTrue(packet.hasProtocol(PcapProtocol.UDP));
- assertTrue(packet.hasProtocol(PcapProtocol.UNKNOWN));
- assertFalse(packet.hasProtocol(PcapProtocol.ETHERNET_II));
-
- // Abstract methods Testing
- assertTrue(packet.validate());
- assertEquals(473000225, packet.hashCode());
- assertFalse(packet.equals(null));
- assertEquals(new UDPPacket(dummy, null, byteBuffer), packet);
-
- assertEquals(EXPECTED_FIELDS, packet.getFields());
- assertEquals(EXPTECTED_TOSTRING, packet.toString());
- assertEquals("Src Port: 18057, Dst Port: 39611", packet.getLocalSummaryString());
- assertEquals("Source Port: 18057, Destination Port: 39611", packet.getGlobalSummaryString());
-
- assertEquals(new UDPEndpoint(packet, true), packet.getSourceEndpoint());
- assertEquals(new UDPEndpoint(packet, false), packet.getDestinationEndpoint());
-
- fPacket.position(8);
- byte[] payload = new byte[4];
- fPacket.get(payload);
- assertEquals(ByteBuffer.wrap(payload), packet.getPayload());
-
- // Packet-specific methods Testing
- assertEquals(0x4689, packet.getSourcePort());
- assertEquals(0x9ABB, packet.getDestinationPort());
- assertEquals(0xA1EC, packet.getTotalLength());
- assertEquals(0xFAAF, packet.getChecksum());
-
- }
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.pcap.core.tests/src/org/eclipse/linuxtools/pcap/core/tests/protocol/unknown/AllTests.java b/lttng/org.eclipse.linuxtools.pcap.core.tests/src/org/eclipse/linuxtools/pcap/core/tests/protocol/unknown/AllTests.java
deleted file mode 100644
index f33d53b7f4..0000000000
--- a/lttng/org.eclipse.linuxtools.pcap.core.tests/src/org/eclipse/linuxtools/pcap/core/tests/protocol/unknown/AllTests.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 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:
- * Vincent Perot - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.pcap.core.tests.protocol.unknown;
-
-import org.junit.runner.RunWith;
-import org.junit.runners.Suite;
-
-/**
- * Unknown test suite
- */
-@RunWith(Suite.class)
-@Suite.SuiteClasses({
- UnknownPacketTest.class
-})
-public class AllTests {
-
-}
diff --git a/lttng/org.eclipse.linuxtools.pcap.core.tests/src/org/eclipse/linuxtools/pcap/core/tests/protocol/unknown/UnknownPacketTest.java b/lttng/org.eclipse.linuxtools.pcap.core.tests/src/org/eclipse/linuxtools/pcap/core/tests/protocol/unknown/UnknownPacketTest.java
deleted file mode 100644
index 8f0d28d39a..0000000000
--- a/lttng/org.eclipse.linuxtools.pcap.core.tests/src/org/eclipse/linuxtools/pcap/core/tests/protocol/unknown/UnknownPacketTest.java
+++ /dev/null
@@ -1,120 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 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:
- * Vincent Perot - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.pcap.core.tests.protocol.unknown;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertTrue;
-import static org.junit.Assert.fail;
-import static org.junit.Assume.assumeTrue;
-
-import java.io.IOException;
-import java.nio.ByteBuffer;
-import java.nio.ByteOrder;
-import java.util.Map;
-
-import org.eclipse.linuxtools.internal.pcap.core.protocol.PcapProtocol;
-import org.eclipse.linuxtools.internal.pcap.core.protocol.unknown.UnknownEndpoint;
-import org.eclipse.linuxtools.internal.pcap.core.protocol.unknown.UnknownPacket;
-import org.eclipse.linuxtools.internal.pcap.core.trace.BadPcapFileException;
-import org.eclipse.linuxtools.internal.pcap.core.trace.PcapFile;
-import org.eclipse.linuxtools.pcap.core.tests.shared.PcapTestTrace;
-import org.junit.Before;
-import org.junit.Test;
-
-import com.google.common.collect.ImmutableMap;
-
-/**
- * JUnit Class that tests the UnknownPacket class and its method.
- *
- * @author Vincent Perot
- */
-public class UnknownPacketTest {
-
- private static final Map<String, String> EXPECTED_FIELDS = ImmutableMap.of(
- "Binary", "61",
- "Character", "a"
- );
-
- private static final String fToString = "Payload: 61";
-
- private ByteBuffer fPacket;
-
- /**
- * Initialize the packet.
- */
- @Before
- public void initialize() {
- fPacket = ByteBuffer.allocate(1);
- fPacket.order(ByteOrder.BIG_ENDIAN);
-
- // Payload - 1 byte
- fPacket.put((byte) 97);
-
- fPacket.flip();
- }
-
- /**
- * Test that verify the correctness of the UnknownPacket's methods.
- * @throws BadPcapFileException
- * Thrown when the file is erroneous. Fails the test.
- * @throws IOException
- * Thrown when an IO error occurs. Fails the test.
- */
- @Test
- public void CompleteUnknownPacketTest() throws IOException, BadPcapFileException {
- PcapTestTrace trace = PcapTestTrace.MOSTLY_TCP;
- assumeTrue(trace.exists());
- try (PcapFile dummy = new PcapFile(trace.getPath())) {
- ByteBuffer byteBuffer = fPacket;
- if (byteBuffer == null) {
- fail("CompleteUnknownPacketTest has failed!");
- return;
- }
- UnknownPacket packet = new UnknownPacket(dummy, null, byteBuffer);
-
- // Protocol Testing
- assertEquals(PcapProtocol.UNKNOWN, packet.getProtocol());
- assertTrue(packet.hasProtocol(PcapProtocol.UNKNOWN));
- assertFalse(packet.hasProtocol(PcapProtocol.UDP));
-
- // Abstract methods Testing
- assertTrue(packet.validate());
- assertEquals(1089, packet.hashCode());
- assertFalse(packet.equals(null));
- assertEquals(new UnknownPacket(dummy, null, byteBuffer), packet);
-
- assertEquals(EXPECTED_FIELDS, packet.getFields());
- assertEquals(fToString, packet.toString());
- assertEquals("Len: 1 bytes", packet.getLocalSummaryString());
- assertEquals("Data: 1 bytes", packet.getGlobalSummaryString());
- // TODO take care of plural form.
-
- // Unknown Endpoints are never equal!
- assertFalse(packet.getSourceEndpoint().equals(new UnknownEndpoint(packet, true)));
- assertFalse(packet.getDestinationEndpoint().equals(new UnknownEndpoint(packet, false)));
-
- fPacket.position(0);
- byte[] payload = new byte[1];
- fPacket.get(payload);
- ByteBuffer payloadBB = ByteBuffer.wrap(payload);
- payloadBB.flip();
-
- assertEquals(payloadBB, packet.getPayload());
-
- // Packet-specific methods Testing
- // None
-
- }
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.pcap.core.tests/src/org/eclipse/linuxtools/pcap/core/tests/stream/AllTests.java b/lttng/org.eclipse.linuxtools.pcap.core.tests/src/org/eclipse/linuxtools/pcap/core/tests/stream/AllTests.java
deleted file mode 100644
index df90513f7b..0000000000
--- a/lttng/org.eclipse.linuxtools.pcap.core.tests/src/org/eclipse/linuxtools/pcap/core/tests/stream/AllTests.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 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:
- * Vincent Perot - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.pcap.core.tests.stream;
-
-import org.junit.runner.RunWith;
-import org.junit.runners.Suite;
-
-/**
- * Stream test suite
- */
-@RunWith(Suite.class)
-@Suite.SuiteClasses({
- StreamBuildTest.class
-})
-public class AllTests {
-
-}
diff --git a/lttng/org.eclipse.linuxtools.pcap.core.tests/src/org/eclipse/linuxtools/pcap/core/tests/stream/StreamBuildTest.java b/lttng/org.eclipse.linuxtools.pcap.core.tests/src/org/eclipse/linuxtools/pcap/core/tests/stream/StreamBuildTest.java
deleted file mode 100644
index 182c150fd5..0000000000
--- a/lttng/org.eclipse.linuxtools.pcap.core.tests/src/org/eclipse/linuxtools/pcap/core/tests/stream/StreamBuildTest.java
+++ /dev/null
@@ -1,118 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 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:
- * Vincent Perot - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.pcap.core.tests.stream;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.fail;
-import static org.junit.Assume.assumeTrue;
-
-import java.io.IOException;
-
-import org.eclipse.linuxtools.internal.pcap.core.protocol.PcapProtocol;
-import org.eclipse.linuxtools.internal.pcap.core.stream.PacketStream;
-import org.eclipse.linuxtools.internal.pcap.core.stream.PacketStreamBuilder;
-import org.eclipse.linuxtools.internal.pcap.core.trace.BadPcapFileException;
-import org.eclipse.linuxtools.pcap.core.tests.shared.PcapTestTrace;
-import org.junit.Test;
-
-/**
- * JUnit Class that tests whether packet streams are built correctly.
- *
- * @author Vincent Perot
- */
-public class StreamBuildTest {
-
- private static final double DELTA = 0.001;
-
- /**
- * Test that verify that stream building is done correctly.
- */
- @Test
- public void StreamBuildingTest() {
- PcapTestTrace trace = PcapTestTrace.MOSTLY_TCP;
- assumeTrue(trace.exists());
-
- try {
- // Test Ethernet II stream
- PacketStreamBuilder builder = new PacketStreamBuilder(PcapProtocol.ETHERNET_II);
- builder.parsePcapFile(trace.getPath());
- assertEquals(PcapProtocol.ETHERNET_II, builder.getProtocol());
- // Should do one loop only, so hardcoded values are okay.
- for (PacketStream stream : builder.getStreams()) {
- assertEquals("Stream eth.0, Number of Packets: 43\n", stream.toString());
- assertEquals(43, stream.getNbPackets());
- assertEquals(25091, stream.getNbBytes());
- assertEquals(20, stream.getNbPacketsAtoB());
- assertEquals(2323, stream.getNbBytesAtoB());
- assertEquals(23, stream.getNbPacketsBtoA());
- assertEquals(22768, stream.getNbBytesBtoA());
- assertEquals(1084443427311224000L, stream.getStartTime());
- assertEquals(1084443457704928000L, stream.getStopTime());
- assertEquals(30.393704, stream.getDuration(), DELTA);
- assertEquals(76.43030280218561, stream.getBPSAtoB(), DELTA);
- assertEquals(749.1025114938278, stream.getBPSBtoA(), DELTA);
- }
-
- // Test TCP streams and other constructor
- builder = new PacketStreamBuilder(PcapProtocol.TCP);
- builder.parsePcapFile(trace.getPath());
- assertEquals(PcapProtocol.TCP, builder.getProtocol());
-
- PacketStream stream = builder.getStream(0);
- if (stream == null) {
- fail("StreamBuildingTest has failed!");
- return;
- }
- assertEquals(PcapProtocol.TCP, stream.getProtocol());
- assertEquals(0, stream.getID());
- assertEquals("tcp.0", stream.getUniqueID());
- assertEquals(34, stream.getNbPackets());
- assertEquals(20695, stream.getNbBytes());
- assertEquals(16, stream.getNbPacketsAtoB());
- assertEquals(1351, stream.getNbBytesAtoB());
- assertEquals(18, stream.getNbPacketsBtoA());
- assertEquals(19344, stream.getNbBytesBtoA());
- assertEquals(1084443427311224000L, stream.getStartTime());
- assertEquals(1084443457704928000L, stream.getStopTime());
- assertEquals(30.393704, stream.getDuration(), DELTA);
- assertEquals(44.449995301658525, stream.getBPSAtoB(), DELTA);
- assertEquals(636.4476011216008, stream.getBPSBtoA(), DELTA);
-
- stream = builder.getStream(1);
- if (stream == null) {
- fail("StreamBuildingTest has failed!");
- return;
- }
- assertEquals(PcapProtocol.TCP, stream.getProtocol());
- assertEquals(1, stream.getID());
- assertEquals("tcp.1", stream.getUniqueID());
- assertEquals(7, stream.getNbPackets());
- assertEquals(4119, stream.getNbBytes());
- assertEquals(3, stream.getNbPacketsAtoB());
- assertEquals(883, stream.getNbBytesAtoB());
- assertEquals(4, stream.getNbPacketsBtoA());
- assertEquals(3236, stream.getNbBytesBtoA());
- assertEquals(1084443430295515000L, stream.getStartTime());
- assertEquals(1084443432088092000L, stream.getStopTime());
- assertEquals(1.792577, stream.getDuration(), DELTA);
- assertEquals(492.58692932019096, stream.getBPSAtoB(), DELTA);
- assertEquals(1805.2223140205413, stream.getBPSBtoA(), DELTA);
-
- builder.clear();
- assertEquals(0, builder.getNbStreams());
- } catch (IOException | BadPcapFileException e) {
- fail("StreamBuildingTest has failed!");
- }
-
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.pcap.core/.classpath b/lttng/org.eclipse.linuxtools.pcap.core/.classpath
deleted file mode 100644
index 098194ca4b..0000000000
--- a/lttng/org.eclipse.linuxtools.pcap.core/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
- <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.7"/>
- <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
- <classpathentry kind="src" path="src"/>
- <classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/lttng/org.eclipse.linuxtools.pcap.core/.project b/lttng/org.eclipse.linuxtools.pcap.core/.project
deleted file mode 100644
index 965bfb79ae..0000000000
--- a/lttng/org.eclipse.linuxtools.pcap.core/.project
+++ /dev/null
@@ -1,34 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>org.eclipse.linuxtools.pcap.core</name>
- <comment></comment>
- <projects>
- </projects>
- <buildSpec>
- <buildCommand>
- <name>org.eclipse.jdt.core.javabuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.ManifestBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.SchemaBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.api.tools.apiAnalysisBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>org.eclipse.pde.PluginNature</nature>
- <nature>org.eclipse.jdt.core.javanature</nature>
- <nature>org.eclipse.pde.api.tools.apiAnalysisNature</nature>
- </natures>
-</projectDescription>
diff --git a/lttng/org.eclipse.linuxtools.pcap.core/.settings/org.eclipse.core.resources.prefs b/lttng/org.eclipse.linuxtools.pcap.core/.settings/org.eclipse.core.resources.prefs
deleted file mode 100644
index 99f26c0203..0000000000
--- a/lttng/org.eclipse.linuxtools.pcap.core/.settings/org.eclipse.core.resources.prefs
+++ /dev/null
@@ -1,2 +0,0 @@
-eclipse.preferences.version=1
-encoding/<project>=UTF-8
diff --git a/lttng/org.eclipse.linuxtools.pcap.core/.settings/org.eclipse.core.runtime.prefs b/lttng/org.eclipse.linuxtools.pcap.core/.settings/org.eclipse.core.runtime.prefs
deleted file mode 100644
index 5a0ad22d2a..0000000000
--- a/lttng/org.eclipse.linuxtools.pcap.core/.settings/org.eclipse.core.runtime.prefs
+++ /dev/null
@@ -1,2 +0,0 @@
-eclipse.preferences.version=1
-line.separator=\n
diff --git a/lttng/org.eclipse.linuxtools.pcap.core/.settings/org.eclipse.jdt.core.prefs b/lttng/org.eclipse.linuxtools.pcap.core/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index 9f3662cd78..0000000000
--- a/lttng/org.eclipse.linuxtools.pcap.core/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,394 +0,0 @@
-eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.annotation.inheritNullAnnotations=enabled
-org.eclipse.jdt.core.compiler.annotation.missingNonNullByDefaultAnnotation=ignore
-org.eclipse.jdt.core.compiler.annotation.nonnull=org.eclipse.jdt.annotation.NonNull
-org.eclipse.jdt.core.compiler.annotation.nonnullbydefault=org.eclipse.jdt.annotation.NonNullByDefault
-org.eclipse.jdt.core.compiler.annotation.nullable=org.eclipse.jdt.annotation.Nullable
-org.eclipse.jdt.core.compiler.annotation.nullanalysis=enabled
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.7
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.doc.comment.support=enabled
-org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=error
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
-org.eclipse.jdt.core.compiler.problem.comparingIdentical=error
-org.eclipse.jdt.core.compiler.problem.deadCode=error
-org.eclipse.jdt.core.compiler.problem.deprecation=error
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled
-org.eclipse.jdt.core.compiler.problem.discouragedReference=warning
-org.eclipse.jdt.core.compiler.problem.emptyStatement=error
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.problem.explicitlyClosedAutoCloseable=error
-org.eclipse.jdt.core.compiler.problem.fallthroughCase=error
-org.eclipse.jdt.core.compiler.problem.fatalOptionalError=disabled
-org.eclipse.jdt.core.compiler.problem.fieldHiding=error
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=error
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=error
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=error
-org.eclipse.jdt.core.compiler.problem.includeNullInfoFromAsserts=disabled
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=error
-org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=error
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=error
-org.eclipse.jdt.core.compiler.problem.invalidJavadoc=warning
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTags=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=protected
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=error
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=error
-org.eclipse.jdt.core.compiler.problem.missingDefaultCase=error
-org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=error
-org.eclipse.jdt.core.compiler.problem.missingEnumCaseDespiteDefault=enabled
-org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=error
-org.eclipse.jdt.core.compiler.problem.missingJavadocComments=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=protected
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagDescription=all_standard_tags
-org.eclipse.jdt.core.compiler.problem.missingJavadocTags=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsMethodTypeParameters=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=protected
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=error
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotationForInterfaceMethodImplementation=enabled
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=error
-org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=error
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=error
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=error
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=warning
-org.eclipse.jdt.core.compiler.problem.nonnullParameterAnnotationDropped=warning
-org.eclipse.jdt.core.compiler.problem.nullAnnotationInferenceConflict=warning
-org.eclipse.jdt.core.compiler.problem.nullReference=error
-org.eclipse.jdt.core.compiler.problem.nullSpecViolation=error
-org.eclipse.jdt.core.compiler.problem.nullUncheckedConversion=warning
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=error
-org.eclipse.jdt.core.compiler.problem.parameterAssignment=error
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=error
-org.eclipse.jdt.core.compiler.problem.potentialNullReference=error
-org.eclipse.jdt.core.compiler.problem.potentiallyUnclosedCloseable=warning
-org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning
-org.eclipse.jdt.core.compiler.problem.redundantNullAnnotation=warning
-org.eclipse.jdt.core.compiler.problem.redundantNullCheck=error
-org.eclipse.jdt.core.compiler.problem.redundantSpecificationOfTypeArguments=error
-org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=error
-org.eclipse.jdt.core.compiler.problem.reportMethodCanBePotentiallyStatic=ignore
-org.eclipse.jdt.core.compiler.problem.reportMethodCanBeStatic=error
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=error
-org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=disabled
-org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
-org.eclipse.jdt.core.compiler.problem.syntacticNullAnalysisForFields=enabled
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
-org.eclipse.jdt.core.compiler.problem.typeParameterHiding=error
-org.eclipse.jdt.core.compiler.problem.unavoidableGenericTypeProblems=disabled
-org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
-org.eclipse.jdt.core.compiler.problem.unclosedCloseable=error
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
-org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=error
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=error
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=error
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=warning
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=disabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=disabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=error
-org.eclipse.jdt.core.compiler.problem.unusedLabel=error
-org.eclipse.jdt.core.compiler.problem.unusedLocal=error
-org.eclipse.jdt.core.compiler.problem.unusedObjectAllocation=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=error
-org.eclipse.jdt.core.compiler.problem.unusedTypeParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedWarningToken=error
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=error
-org.eclipse.jdt.core.compiler.source=1.7
-org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_assignment=0
-org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
-org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
-org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
-org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
-org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0
-org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=80
-org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=0
-org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch=16
-org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_after_package=1
-org.eclipse.jdt.core.formatter.blank_lines_before_field=0
-org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
-org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
-org.eclipse.jdt.core.formatter.blank_lines_before_method=1
-org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
-org.eclipse.jdt.core.formatter.blank_lines_before_package=0
-org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
-org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
-org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
-org.eclipse.jdt.core.formatter.comment.format_block_comments=true
-org.eclipse.jdt.core.formatter.comment.format_header=false
-org.eclipse.jdt.core.formatter.comment.format_html=true
-org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=true
-org.eclipse.jdt.core.formatter.comment.format_line_comments=true
-org.eclipse.jdt.core.formatter.comment.format_source_code=true
-org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true
-org.eclipse.jdt.core.formatter.comment.indent_root_tags=true
-org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
-org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=insert
-org.eclipse.jdt.core.formatter.comment.line_length=80
-org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries=true
-org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries=true
-org.eclipse.jdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments=false
-org.eclipse.jdt.core.formatter.compact_else_if=true
-org.eclipse.jdt.core.formatter.continuation_indentation=2
-org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2
-org.eclipse.jdt.core.formatter.disabling_tag=@formatter\:off
-org.eclipse.jdt.core.formatter.enabling_tag=@formatter\:on
-org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
-org.eclipse.jdt.core.formatter.format_line_comment_starting_on_first_column=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
-org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_empty_lines=false
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=false
-org.eclipse.jdt.core.formatter.indentation.size=4
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_label=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_try=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources=insert
-org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_try=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
-org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.join_lines_in_comments=true
-org.eclipse.jdt.core.formatter.join_wrapped_lines=false
-org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.lineSplit=250
-org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
-org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
-org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true
-org.eclipse.jdt.core.formatter.tabulation.char=space
-org.eclipse.jdt.core.formatter.tabulation.size=4
-org.eclipse.jdt.core.formatter.use_on_off_tags=false
-org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
-org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
-org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true
-org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true
diff --git a/lttng/org.eclipse.linuxtools.pcap.core/.settings/org.eclipse.jdt.ui.prefs b/lttng/org.eclipse.linuxtools.pcap.core/.settings/org.eclipse.jdt.ui.prefs
deleted file mode 100644
index 4fd0c7006a..0000000000
--- a/lttng/org.eclipse.linuxtools.pcap.core/.settings/org.eclipse.jdt.ui.prefs
+++ /dev/null
@@ -1,56 +0,0 @@
-eclipse.preferences.version=1
-editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
-formatter_profile=_tmf-style
-formatter_settings_version=12
-sp_cleanup.add_default_serial_version_id=true
-sp_cleanup.add_generated_serial_version_id=false
-sp_cleanup.add_missing_annotations=false
-sp_cleanup.add_missing_deprecated_annotations=true
-sp_cleanup.add_missing_methods=false
-sp_cleanup.add_missing_nls_tags=false
-sp_cleanup.add_missing_override_annotations=true
-sp_cleanup.add_missing_override_annotations_interface_methods=true
-sp_cleanup.add_serial_version_id=false
-sp_cleanup.always_use_blocks=true
-sp_cleanup.always_use_parentheses_in_expressions=false
-sp_cleanup.always_use_this_for_non_static_field_access=false
-sp_cleanup.always_use_this_for_non_static_method_access=false
-sp_cleanup.convert_to_enhanced_for_loop=false
-sp_cleanup.correct_indentation=false
-sp_cleanup.format_source_code=false
-sp_cleanup.format_source_code_changes_only=false
-sp_cleanup.make_local_variable_final=false
-sp_cleanup.make_parameters_final=false
-sp_cleanup.make_private_fields_final=true
-sp_cleanup.make_type_abstract_if_missing_method=false
-sp_cleanup.make_variable_declarations_final=false
-sp_cleanup.never_use_blocks=false
-sp_cleanup.never_use_parentheses_in_expressions=true
-sp_cleanup.on_save_use_additional_actions=true
-sp_cleanup.organize_imports=false
-sp_cleanup.qualify_static_field_accesses_with_declaring_class=false
-sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_with_declaring_class=false
-sp_cleanup.qualify_static_method_accesses_with_declaring_class=false
-sp_cleanup.remove_private_constructors=true
-sp_cleanup.remove_trailing_whitespaces=true
-sp_cleanup.remove_trailing_whitespaces_all=true
-sp_cleanup.remove_trailing_whitespaces_ignore_empty=false
-sp_cleanup.remove_unnecessary_casts=false
-sp_cleanup.remove_unnecessary_nls_tags=false
-sp_cleanup.remove_unused_imports=false
-sp_cleanup.remove_unused_local_variables=false
-sp_cleanup.remove_unused_private_fields=true
-sp_cleanup.remove_unused_private_members=false
-sp_cleanup.remove_unused_private_methods=true
-sp_cleanup.remove_unused_private_types=true
-sp_cleanup.sort_members=false
-sp_cleanup.sort_members_all=false
-sp_cleanup.use_blocks=true
-sp_cleanup.use_blocks_only_for_return_and_throw=false
-sp_cleanup.use_parentheses_in_expressions=false
-sp_cleanup.use_this_for_non_static_field_access=false
-sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=true
-sp_cleanup.use_this_for_non_static_method_access=false
-sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true
diff --git a/lttng/org.eclipse.linuxtools.pcap.core/.settings/org.eclipse.pde.api.tools.prefs b/lttng/org.eclipse.linuxtools.pcap.core/.settings/org.eclipse.pde.api.tools.prefs
deleted file mode 100644
index acc3abd47c..0000000000
--- a/lttng/org.eclipse.linuxtools.pcap.core/.settings/org.eclipse.pde.api.tools.prefs
+++ /dev/null
@@ -1,97 +0,0 @@
-ANNOTATION_ELEMENT_TYPE_ADDED_METHOD_WITHOUT_DEFAULT_VALUE=Error
-ANNOTATION_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
-ANNOTATION_ELEMENT_TYPE_REMOVED_FIELD=Error
-ANNOTATION_ELEMENT_TYPE_REMOVED_METHOD=Error
-ANNOTATION_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
-API_COMPONENT_ELEMENT_TYPE_REMOVED_API_TYPE=Error
-API_COMPONENT_ELEMENT_TYPE_REMOVED_REEXPORTED_API_TYPE=Error
-API_COMPONENT_ELEMENT_TYPE_REMOVED_REEXPORTED_TYPE=Error
-API_COMPONENT_ELEMENT_TYPE_REMOVED_TYPE=Error
-API_USE_SCAN_FIELD_SEVERITY=Error
-API_USE_SCAN_METHOD_SEVERITY=Error
-API_USE_SCAN_TYPE_SEVERITY=Error
-CLASS_ELEMENT_TYPE_ADDED_METHOD=Error
-CLASS_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
-CLASS_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
-CLASS_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error
-CLASS_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
-CLASS_ELEMENT_TYPE_CHANGED_NON_ABSTRACT_TO_ABSTRACT=Error
-CLASS_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error
-CLASS_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
-CLASS_ELEMENT_TYPE_REMOVED_CONSTRUCTOR=Error
-CLASS_ELEMENT_TYPE_REMOVED_FIELD=Error
-CLASS_ELEMENT_TYPE_REMOVED_METHOD=Error
-CLASS_ELEMENT_TYPE_REMOVED_SUPERCLASS=Error
-CLASS_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
-CLASS_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
-CONSTRUCTOR_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
-CONSTRUCTOR_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
-CONSTRUCTOR_ELEMENT_TYPE_CHANGED_VARARGS_TO_ARRAY=Error
-CONSTRUCTOR_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
-ENUM_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error
-ENUM_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
-ENUM_ELEMENT_TYPE_REMOVED_ENUM_CONSTANT=Error
-ENUM_ELEMENT_TYPE_REMOVED_FIELD=Error
-ENUM_ELEMENT_TYPE_REMOVED_METHOD=Error
-ENUM_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
-FIELD_ELEMENT_TYPE_ADDED_VALUE=Error
-FIELD_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
-FIELD_ELEMENT_TYPE_CHANGED_FINAL_TO_NON_FINAL_STATIC_CONSTANT=Error
-FIELD_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error
-FIELD_ELEMENT_TYPE_CHANGED_NON_STATIC_TO_STATIC=Error
-FIELD_ELEMENT_TYPE_CHANGED_STATIC_TO_NON_STATIC=Error
-FIELD_ELEMENT_TYPE_CHANGED_TYPE=Error
-FIELD_ELEMENT_TYPE_CHANGED_VALUE=Error
-FIELD_ELEMENT_TYPE_REMOVED_TYPE_ARGUMENT=Error
-FIELD_ELEMENT_TYPE_REMOVED_VALUE=Error
-ILLEGAL_EXTEND=Warning
-ILLEGAL_IMPLEMENT=Warning
-ILLEGAL_INSTANTIATE=Warning
-ILLEGAL_OVERRIDE=Warning
-ILLEGAL_REFERENCE=Warning
-INTERFACE_ELEMENT_TYPE_ADDED_FIELD=Error
-INTERFACE_ELEMENT_TYPE_ADDED_METHOD=Error
-INTERFACE_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
-INTERFACE_ELEMENT_TYPE_ADDED_SUPER_INTERFACE_WITH_METHODS=Error
-INTERFACE_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
-INTERFACE_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error
-INTERFACE_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
-INTERFACE_ELEMENT_TYPE_REMOVED_FIELD=Error
-INTERFACE_ELEMENT_TYPE_REMOVED_METHOD=Error
-INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
-INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
-INVALID_JAVADOC_TAG=Warning
-INVALID_REFERENCE_IN_SYSTEM_LIBRARIES=Warning
-LEAK_EXTEND=Warning
-LEAK_FIELD_DECL=Warning
-LEAK_IMPLEMENT=Warning
-LEAK_METHOD_PARAM=Warning
-LEAK_METHOD_RETURN_TYPE=Warning
-METHOD_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
-METHOD_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
-METHOD_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
-METHOD_ELEMENT_TYPE_CHANGED_NON_ABSTRACT_TO_ABSTRACT=Error
-METHOD_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error
-METHOD_ELEMENT_TYPE_CHANGED_NON_STATIC_TO_STATIC=Error
-METHOD_ELEMENT_TYPE_CHANGED_STATIC_TO_NON_STATIC=Error
-METHOD_ELEMENT_TYPE_CHANGED_VARARGS_TO_ARRAY=Error
-METHOD_ELEMENT_TYPE_REMOVED_ANNOTATION_DEFAULT_VALUE=Error
-METHOD_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
-MISSING_EE_DESCRIPTIONS=Ignore
-TYPE_PARAMETER_ELEMENT_TYPE_ADDED_CLASS_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_ADDED_INTERFACE_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_CHANGED_CLASS_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_CHANGED_INTERFACE_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_CLASS_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error
-UNUSED_PROBLEM_FILTERS=Warning
-automatically_removed_unused_problem_filters=false
-eclipse.preferences.version=1
-incompatible_api_component_version=Error
-incompatible_api_component_version_include_major_without_breaking_change=Disabled
-incompatible_api_component_version_include_minor_without_api_change=Disabled
-invalid_since_tag_version=Error
-malformed_since_tag=Error
-missing_since_tag=Error
-report_api_breakage_when_major_version_incremented=Disabled
-report_resolution_errors_api_component=Warning
diff --git a/lttng/org.eclipse.linuxtools.pcap.core/.settings/org.eclipse.pde.prefs b/lttng/org.eclipse.linuxtools.pcap.core/.settings/org.eclipse.pde.prefs
deleted file mode 100644
index d92b94fd4b..0000000000
--- a/lttng/org.eclipse.linuxtools.pcap.core/.settings/org.eclipse.pde.prefs
+++ /dev/null
@@ -1,32 +0,0 @@
-compilers.f.unresolved-features=1
-compilers.f.unresolved-plugins=1
-compilers.incompatible-environment=1
-compilers.p.build=1
-compilers.p.build.bin.includes=1
-compilers.p.build.encodings=2
-compilers.p.build.java.compiler=2
-compilers.p.build.java.compliance=1
-compilers.p.build.missing.output=2
-compilers.p.build.output.library=1
-compilers.p.build.source.library=1
-compilers.p.build.src.includes=1
-compilers.p.deprecated=1
-compilers.p.discouraged-class=1
-compilers.p.internal=1
-compilers.p.missing-packages=1
-compilers.p.missing-version-export-package=2
-compilers.p.missing-version-import-package=2
-compilers.p.missing-version-require-bundle=2
-compilers.p.no-required-att=0
-compilers.p.not-externalized-att=1
-compilers.p.unknown-attribute=1
-compilers.p.unknown-class=1
-compilers.p.unknown-element=1
-compilers.p.unknown-identifier=1
-compilers.p.unknown-resource=1
-compilers.p.unresolved-ex-points=0
-compilers.p.unresolved-import=0
-compilers.s.create-docs=false
-compilers.s.doc-folder=doc
-compilers.s.open-tags=1
-eclipse.preferences.version=1
diff --git a/lttng/org.eclipse.linuxtools.pcap.core/META-INF/MANIFEST.MF b/lttng/org.eclipse.linuxtools.pcap.core/META-INF/MANIFEST.MF
deleted file mode 100644
index 93664d2fde..0000000000
--- a/lttng/org.eclipse.linuxtools.pcap.core/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,28 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %Bundle-Name
-Bundle-Vendor: %Bundle-Vendor
-Bundle-Version: 1.0.0.qualifier
-Bundle-Localization: plugin
-Bundle-SymbolicName: org.eclipse.linuxtools.pcap.core;singleton:=true
-Bundle-Activator: org.eclipse.linuxtools.internal.pcap.core.Activator
-Bundle-ActivationPolicy: lazy
-Bundle-RequiredExecutionEnvironment: JavaSE-1.7
-Require-Bundle: org.eclipse.core.runtime,
- org.eclipse.core.resources
-Export-Package: org.eclipse.linuxtools.internal.pcap.core;x-friends:="org.eclipse.linuxtools.pcap.core.tests",
- org.eclipse.linuxtools.internal.pcap.core.endpoint;x-friends:="org.eclipse.linuxtools.tmf.pcap.core",
- org.eclipse.linuxtools.internal.pcap.core.filter;x-internal:=true,
- org.eclipse.linuxtools.internal.pcap.core.packet;x-friends:="org.eclipse.linuxtools.pcap.core.tests,org.eclipse.linuxtools.tmf.pcap.core.tests,org.eclipse.linuxtools.tmf.pcap.core",
- org.eclipse.linuxtools.internal.pcap.core.protocol;x-friends:="org.eclipse.linuxtools.pcap.core.tests,org.eclipse.linuxtools.tmf.pcap.core.tests,org.eclipse.linuxtools.tmf.pcap.core",
- org.eclipse.linuxtools.internal.pcap.core.protocol.ethernet2;x-friends:="org.eclipse.linuxtools.pcap.core.tests",
- org.eclipse.linuxtools.internal.pcap.core.protocol.ipv4;x-friends:="org.eclipse.linuxtools.pcap.core.tests,org.eclipse.linuxtools.tmf.pcap.core.tests,org.eclipse.linuxtools.tmf.pcap.core",
- org.eclipse.linuxtools.internal.pcap.core.protocol.pcap;x-friends:="org.eclipse.linuxtools.pcap.core.tests,org.eclipse.linuxtools.tmf.pcap.core.tests,org.eclipse.linuxtools.tmf.pcap.core",
- org.eclipse.linuxtools.internal.pcap.core.protocol.tcp;x-friends:="org.eclipse.linuxtools.pcap.core.tests",
- org.eclipse.linuxtools.internal.pcap.core.protocol.udp;x-friends:="org.eclipse.linuxtools.pcap.core.tests",
- org.eclipse.linuxtools.internal.pcap.core.protocol.unknown;x-friends:="org.eclipse.linuxtools.pcap.core.tests",
- org.eclipse.linuxtools.internal.pcap.core.stream;x-friends:="org.eclipse.linuxtools.pcap.core.tests,org.eclipse.linuxtools.tmf.pcap.core",
- org.eclipse.linuxtools.internal.pcap.core.trace;x-friends:="org.eclipse.linuxtools.pcap.core.tests,org.eclipse.linuxtools.tmf.pcap.core.tests,org.eclipse.linuxtools.tmf.pcap.core",
- org.eclipse.linuxtools.internal.pcap.core.util;x-friends:="org.eclipse.linuxtools.tmf.pcap.core"
-Import-Package: com.google.common.collect,
- com.google.common.math
diff --git a/lttng/org.eclipse.linuxtools.pcap.core/about.html b/lttng/org.eclipse.linuxtools.pcap.core/about.html
deleted file mode 100644
index 28737f60b7..0000000000
--- a/lttng/org.eclipse.linuxtools.pcap.core/about.html
+++ /dev/null
@@ -1,28 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
-<title>About</title>
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
-
-<p>June 5, 2006</p>
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;). Unless otherwise
-indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is available
-at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is
-being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content. Check the Redistributor's license that was
-provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at <a href="http://www.eclipse.org/">http://www.eclipse.org</a>.</p>
-
-</body>
-</html> \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.pcap.core/build.properties b/lttng/org.eclipse.linuxtools.pcap.core/build.properties
deleted file mode 100644
index 857bf1e800..0000000000
--- a/lttng/org.eclipse.linuxtools.pcap.core/build.properties
+++ /dev/null
@@ -1,21 +0,0 @@
-###############################################################################
-# Copyright (c) 2014 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:
-# Ericsson - Initial API and implementation
-###############################################################################
-
-source.. = src/
-output.. = bin/
-bin.includes = META-INF/,\
- plugin.properties,\
- about.html,\
- .
-src.includes = about.html
-additional.bundles = org.eclipse.jdt.annotation
-jars.extra.classpath = platform:/plugin/org.eclipse.jdt.annotation
diff --git a/lttng/org.eclipse.linuxtools.pcap.core/plugin.properties b/lttng/org.eclipse.linuxtools.pcap.core/plugin.properties
deleted file mode 100644
index 0a4f9c25f1..0000000000
--- a/lttng/org.eclipse.linuxtools.pcap.core/plugin.properties
+++ /dev/null
@@ -1,16 +0,0 @@
-###############################################################################
-# Copyright (c) 2014 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:
-# Ericsson - Initial API and implementation
-###############################################################################
-
-#Properties file for org.eclipse.linuxtools.pcap.core
-Bundle-Vendor = Eclipse Linux Tools
-Bundle-Name = Linux Tools Pcap Parser Core Plug-in
-
diff --git a/lttng/org.eclipse.linuxtools.pcap.core/pom.xml b/lttng/org.eclipse.linuxtools.pcap.core/pom.xml
deleted file mode 100644
index e444720abc..0000000000
--- a/lttng/org.eclipse.linuxtools.pcap.core/pom.xml
+++ /dev/null
@@ -1,36 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Copyright (C) 2014, 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
--->
-<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
- <modelVersion>4.0.0</modelVersion>
-
- <parent>
- <artifactId>linuxtools-lttng-parent</artifactId>
- <groupId>org.eclipse.linuxtools.lttng</groupId>
- <version>3.2.0-SNAPSHOT</version>
- </parent>
-
- <artifactId>org.eclipse.linuxtools.pcap.core</artifactId>
- <version>1.0.0-SNAPSHOT</version>
- <packaging>eclipse-plugin</packaging>
-
- <name>Linux Tools Pcap Parser Core Plug-in</name>
-
- <build>
- <plugins>
- <plugin>
- <groupId>org.eclipse.tycho</groupId>
- <artifactId>tycho-source-plugin</artifactId>
- </plugin>
- </plugins>
- </build>
-
- <groupId>org.eclipse.linuxtools.pcap</groupId>
-</project>
diff --git a/lttng/org.eclipse.linuxtools.pcap.core/src/org/eclipse/linuxtools/internal/pcap/core/Activator.java b/lttng/org.eclipse.linuxtools.pcap.core/src/org/eclipse/linuxtools/internal/pcap/core/Activator.java
deleted file mode 100644
index 885adc1726..0000000000
--- a/lttng/org.eclipse.linuxtools.pcap.core/src/org/eclipse/linuxtools/internal/pcap/core/Activator.java
+++ /dev/null
@@ -1,138 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 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:
- * Vincent Perot - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.internal.pcap.core;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Plugin;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jdt.annotation.Nullable;
-import org.osgi.framework.BundleContext;
-
-/**
- * <b><u>Activator</u></b>
- * <p>
- * The activator class controls the plug-in life cycle
- */
-public final class Activator extends Plugin {
-
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
-
- /**
- * The plug-in ID
- */
- public static final String PLUGIN_ID = "org.eclipse.linuxtools.pcap.core"; //$NON-NLS-1$
-
- /**
- * The shared instance
- */
- private static @Nullable Activator plugin;
-
- // ------------------------------------------------------------------------
- // Constructors
- // ------------------------------------------------------------------------
-
- /**
- * The constructor
- */
- public Activator() {
- }
-
- // ------------------------------------------------------------------------
- // Accessors
- // ------------------------------------------------------------------------
-
- /**
- * Returns the shared instance
- *
- * @return the shared instance
- */
- public static @Nullable Activator getDefault() {
- return plugin;
- }
-
- // ------------------------------------------------------------------------
- // Operators
- // ------------------------------------------------------------------------
-
- @Override
- public void start(@Nullable BundleContext context) throws Exception {
- super.start(context);
- plugin = this;
- }
-
- @Override
- public void stop(@Nullable BundleContext context) throws Exception {
- plugin = null;
- super.stop(context);
- }
-
- /**
- * Logs a message with severity INFO in the runtime log of the plug-in.
- *
- * @param message A message to log
- */
- public void logInfo(String message) {
- getLog().log(new Status(IStatus.INFO, PLUGIN_ID, message));
- }
-
- /**
- * Logs a message and exception with severity INFO in the runtime log of the plug-in.
- *
- * @param message A message to log
- * @param exception A exception to log
- */
- public void logInfo(String message, Throwable exception) {
- getLog().log(new Status(IStatus.INFO, PLUGIN_ID, message, exception));
- }
-
- /**
- * Logs a message and exception with severity WARNING in the runtime log of the plug-in.
- *
- * @param message A message to log
- */
- public void logWarning(String message) {
- getLog().log(new Status(IStatus.WARNING, PLUGIN_ID, message));
- }
-
- /**
- * Logs a message and exception with severity WARNING in the runtime log of the plug-in.
- *
- * @param message A message to log
- * @param exception A exception to log
- */
- public void logWarning(String message, Throwable exception) {
- getLog().log(new Status(IStatus.WARNING, PLUGIN_ID, message, exception));
- }
-
- /**
- * Logs a message and exception with severity ERROR in the runtime log of the plug-in.
- *
- * @param message A message to log
- */
- public void logError(String message) {
- getLog().log(new Status(IStatus.ERROR, PLUGIN_ID, message));
- }
-
- /**
- * Logs a message and exception with severity ERROR in the runtime log of the plug-in.
- *
- * @param message A message to log
- * @param exception A exception to log
- */
- public void logError(String message, Throwable exception) {
- getLog().log(new Status(IStatus.ERROR, PLUGIN_ID, message, exception));
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.pcap.core/src/org/eclipse/linuxtools/internal/pcap/core/endpoint/ProtocolEndpoint.java b/lttng/org.eclipse.linuxtools.pcap.core/src/org/eclipse/linuxtools/internal/pcap/core/endpoint/ProtocolEndpoint.java
deleted file mode 100644
index 79fdf72ddf..0000000000
--- a/lttng/org.eclipse.linuxtools.pcap.core/src/org/eclipse/linuxtools/internal/pcap/core/endpoint/ProtocolEndpoint.java
+++ /dev/null
@@ -1,82 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 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:
- * Vincent Perot - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.internal.pcap.core.endpoint;
-
-import org.eclipse.jdt.annotation.Nullable;
-import org.eclipse.linuxtools.internal.pcap.core.packet.Packet;
-
-/**
- * Abstract class that represents an endpoint. An endpoint is an address where a
- * packet is received or sent. Therefore, it is protocol dependent. For
- * instance, an Ethernet II endpoint is the MAC address. An Ipv4 endpoint is the
- * combination of the MAC address and the IP address. This is useful for
- * building packet streams.
- *
- * @author Vincent Perot
- */
-public abstract class ProtocolEndpoint {
-
- /**
- * Empty string for child classes.
- */
- protected static final String EMPTY_STRING = ""; //$NON-NLS-1$
-
- /**
- * The encapsulating endpoint. Much like packets, endpoints are
- * encapsulated. The higher the layer of the packet protocol is, the more
- * parents an endpoint will have.
- */
- private final @Nullable ProtocolEndpoint fParentEndpoint;
-
- /**
- * Constructor of the {@link ProtocolEndpoint} class. It takes a packet to
- * get its endpoint. Since every packet has two endpoints (source and
- * destination), the isSourceEndpoint parameter is used to specify which
- * endpoint to take.
- *
- * @param packet
- * The packet that contains the endpoints.
- * @param isSourceEndpoint
- * Whether to take the source or the destination endpoint of the
- * packet.
- */
- public ProtocolEndpoint(Packet packet, boolean isSourceEndpoint) {
- Packet parentPacket = packet.getParentPacket();
- if (parentPacket == null) {
- fParentEndpoint = null;
- } else {
- fParentEndpoint = isSourceEndpoint ?
- parentPacket.getSourceEndpoint() :
- parentPacket.getDestinationEndpoint();
- }
- }
-
- /**
- * Getter method that returns the parent endpoint.
- *
- * @return The parent endpoint.
- */
- public @Nullable ProtocolEndpoint getParentEndpoint() {
- return fParentEndpoint;
- }
-
- @Override
- public abstract int hashCode();
-
- @Override
- public abstract boolean equals(@Nullable Object obj);
-
- @Override
- public abstract String toString();
-
-}
diff --git a/lttng/org.eclipse.linuxtools.pcap.core/src/org/eclipse/linuxtools/internal/pcap/core/endpoint/ProtocolEndpointPair.java b/lttng/org.eclipse.linuxtools.pcap.core/src/org/eclipse/linuxtools/internal/pcap/core/endpoint/ProtocolEndpointPair.java
deleted file mode 100644
index 15dd90cd2f..0000000000
--- a/lttng/org.eclipse.linuxtools.pcap.core/src/org/eclipse/linuxtools/internal/pcap/core/endpoint/ProtocolEndpointPair.java
+++ /dev/null
@@ -1,96 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 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:
- * Vincent Perot - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.internal.pcap.core.endpoint;
-
-import org.eclipse.jdt.annotation.Nullable;
-import org.eclipse.linuxtools.internal.pcap.core.packet.Packet;
-
-/**
- * Class that represents a pair of endpoints. This is used to find a packet
- * stream between to endpoints.
- *
- * @author Vincent Perot
- */
-public class ProtocolEndpointPair {
-
- private final ProtocolEndpoint fEndpointA;
- private final ProtocolEndpoint fEndpointB;
-
- /**
- * Constructor of the class {@link ProtocolEndpointPair}. It constructs a
- * {@link ProtocolEndpointPair} object from a packet.
- *
- * @param packet
- * The packet that contains the endpoints.
- */
- public ProtocolEndpointPair(Packet packet) {
- fEndpointA = packet.getSourceEndpoint();
- fEndpointB = packet.getDestinationEndpoint();
- }
-
- /**
- * Getter method that returns the first endpoint of the pair.
- *
- * @return The first endpoint.
- */
- public ProtocolEndpoint getFirstEndpoint() {
- return fEndpointA;
- }
-
- /**
- * Getter method that returns the second endpoint of the pair.
- *
- * @return The second endpoint.
- */
- public ProtocolEndpoint getSecondEndpoint() {
- return fEndpointB;
- }
-
- /**
- * Constructor of the class {@link ProtocolEndpointPair}. It constructs a
- * {@link ProtocolEndpointPair} object from two endpoints.
- *
- * @param endpointA
- * The first endpoint.
- * @param endpointB
- * The second endpoint.
- */
- public ProtocolEndpointPair(ProtocolEndpoint endpointA, ProtocolEndpoint endpointB) {
- fEndpointA = endpointA;
- fEndpointB = endpointB;
- }
-
- @Override
- public int hashCode() {
- final int prime = 31;
- int result = 1;
- result = prime * result + fEndpointA.hashCode() * fEndpointB.hashCode();
- return result;
- }
-
- @Override
- public boolean equals(@Nullable Object obj) {
-
- if (this == obj) {
- return true;
- }
- if (!(obj instanceof ProtocolEndpointPair)) {
- return false;
- }
- ProtocolEndpointPair other = (ProtocolEndpointPair) obj;
-
- return (this.fEndpointA.equals(other.fEndpointA) && this.fEndpointB.equals(other.fEndpointB)) ||
- (this.fEndpointA.equals(other.fEndpointB) && this.fEndpointB.equals(other.fEndpointA));
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.pcap.core/src/org/eclipse/linuxtools/internal/pcap/core/endpoint/package-info.java b/lttng/org.eclipse.linuxtools.pcap.core/src/org/eclipse/linuxtools/internal/pcap/core/endpoint/package-info.java
deleted file mode 100644
index c68f342be7..0000000000
--- a/lttng/org.eclipse.linuxtools.pcap.core/src/org/eclipse/linuxtools/internal/pcap/core/endpoint/package-info.java
+++ /dev/null
@@ -1,14 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 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:
- * Ericsson - Initial API and implementation
- *******************************************************************************/
-
-@org.eclipse.jdt.annotation.NonNullByDefault
-package org.eclipse.linuxtools.internal.pcap.core.endpoint; \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.pcap.core/src/org/eclipse/linuxtools/internal/pcap/core/filter/IPacketFilter.java b/lttng/org.eclipse.linuxtools.pcap.core/src/org/eclipse/linuxtools/internal/pcap/core/filter/IPacketFilter.java
deleted file mode 100644
index 457fa7fc91..0000000000
--- a/lttng/org.eclipse.linuxtools.pcap.core/src/org/eclipse/linuxtools/internal/pcap/core/filter/IPacketFilter.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 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:
- * Vincent Perot - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.internal.pcap.core.filter;
-
-import org.eclipse.linuxtools.internal.pcap.core.packet.Packet;
-
-/**
- * Interface used to filter the packets.
- *
- * @author Vincent Perot
- */
-public interface IPacketFilter {
-
- /**
- * Accept a packet or not.
- *
- * @param packet
- * the packet to accept or not
- *
- * @return The decision regarding the packet.
- */
- boolean accepts(Packet packet);
-} \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.pcap.core/src/org/eclipse/linuxtools/internal/pcap/core/filter/PacketFilterByProtocol.java b/lttng/org.eclipse.linuxtools.pcap.core/src/org/eclipse/linuxtools/internal/pcap/core/filter/PacketFilterByProtocol.java
deleted file mode 100644
index fb2eb394dc..0000000000
--- a/lttng/org.eclipse.linuxtools.pcap.core/src/org/eclipse/linuxtools/internal/pcap/core/filter/PacketFilterByProtocol.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 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:
- * Vincent Perot - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.internal.pcap.core.filter;
-
-import org.eclipse.linuxtools.internal.pcap.core.packet.Packet;
-import org.eclipse.linuxtools.internal.pcap.core.protocol.PcapProtocol;
-
-/**
- * Class used to filter the packets by protocol. This is used, for instance, to
- * build the packet streams.
- *
- * @author Vincent Perot
- */
-public class PacketFilterByProtocol implements IPacketFilter {
-
- private final PcapProtocol fProtocol;
-
- /**
- * Constructor of the PacketFilterByProtocol class.
- *
- * @param protocol
- * The protocol that the incoming packets must contain.
- */
- public PacketFilterByProtocol(PcapProtocol protocol) {
- fProtocol = protocol;
- }
-
- @Override
- public boolean accepts(Packet packet) {
- return packet.hasProtocol(fProtocol);
- }
-
- /**
- * Getter method for the protocol of this filter.
- *
- * @return The protocol of this filter.
- */
- public PcapProtocol getProtocol() {
- return fProtocol;
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.pcap.core/src/org/eclipse/linuxtools/internal/pcap/core/filter/package-info.java b/lttng/org.eclipse.linuxtools.pcap.core/src/org/eclipse/linuxtools/internal/pcap/core/filter/package-info.java
deleted file mode 100644
index d5e6b615bf..0000000000
--- a/lttng/org.eclipse.linuxtools.pcap.core/src/org/eclipse/linuxtools/internal/pcap/core/filter/package-info.java
+++ /dev/null
@@ -1,14 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 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:
- * Ericsson - Initial API and implementation
- *******************************************************************************/
-
-@org.eclipse.jdt.annotation.NonNullByDefault
-package org.eclipse.linuxtools.internal.pcap.core.filter; \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.pcap.core/src/org/eclipse/linuxtools/internal/pcap/core/package-info.java b/lttng/org.eclipse.linuxtools.pcap.core/src/org/eclipse/linuxtools/internal/pcap/core/package-info.java
deleted file mode 100644
index 495502c7f8..0000000000
--- a/lttng/org.eclipse.linuxtools.pcap.core/src/org/eclipse/linuxtools/internal/pcap/core/package-info.java
+++ /dev/null
@@ -1,14 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 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:
- * Ericsson - Initial API and implementation
- *******************************************************************************/
-
-@org.eclipse.jdt.annotation.NonNullByDefault
-package org.eclipse.linuxtools.internal.pcap.core; \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.pcap.core/src/org/eclipse/linuxtools/internal/pcap/core/packet/BadPacketException.java b/lttng/org.eclipse.linuxtools.pcap.core/src/org/eclipse/linuxtools/internal/pcap/core/packet/BadPacketException.java
deleted file mode 100644
index 9db396ae67..0000000000
--- a/lttng/org.eclipse.linuxtools.pcap.core/src/org/eclipse/linuxtools/internal/pcap/core/packet/BadPacketException.java
+++ /dev/null
@@ -1,68 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 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:
- * Vincent Perot - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.internal.pcap.core.packet;
-
-/**
- * Exception that is thrown when Packet is erroneous. This is different than an
- * invalid packet. An invalid packet contains bad fields (such as bad checksum)
- * and does not throw exceptions while an erroneous packet is a packet that is
- * impossible to obtain. For instance, an erroneous packet can be smaller than
- * the minimum required size. Erroneous packets throw BadPacketExceptions.
- *
- * @author Vincent Perot
- */
-public class BadPacketException extends Exception {
-
- private static final long serialVersionUID = 7071588720009577619L;
-
- /**
- * Default constructor with no message.
- */
- public BadPacketException() {
- super();
- }
-
- /**
- * Constructor with an attached message.
- *
- * @param message
- * The message attached to this exception
- */
- public BadPacketException(String message) {
- super(message);
- }
-
- /**
- * Re-throw an exception into this type.
- *
- * @param e
- * The previous Exception we caught
- */
- public BadPacketException(Exception e) {
- super(e);
- }
-
- /**
- * Constructor with an attached message and re-throw an exception into this
- * type.
- *
- * @param message
- * The message attached to this exception
- * @param exception
- * The previous Exception caught
- */
- public BadPacketException(String message, Throwable exception) {
- super(message, exception);
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.pcap.core/src/org/eclipse/linuxtools/internal/pcap/core/packet/Packet.java b/lttng/org.eclipse.linuxtools.pcap.core/src/org/eclipse/linuxtools/internal/pcap/core/packet/Packet.java
deleted file mode 100644
index e499ae7bd9..0000000000
--- a/lttng/org.eclipse.linuxtools.pcap.core/src/org/eclipse/linuxtools/internal/pcap/core/packet/Packet.java
+++ /dev/null
@@ -1,297 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 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:
- * Vincent Perot - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.internal.pcap.core.packet;
-
-import java.nio.ByteBuffer;
-import java.util.Map;
-
-import org.eclipse.jdt.annotation.NonNull;
-import org.eclipse.jdt.annotation.Nullable;
-import org.eclipse.linuxtools.internal.pcap.core.endpoint.ProtocolEndpoint;
-import org.eclipse.linuxtools.internal.pcap.core.protocol.PcapProtocol;
-import org.eclipse.linuxtools.internal.pcap.core.protocol.ipv4.IPv4Packet;
-import org.eclipse.linuxtools.internal.pcap.core.protocol.unknown.UnknownPacket;
-import org.eclipse.linuxtools.internal.pcap.core.trace.PcapFile;
-
-// TODO For all packets, make checks on dimension.
-// TODO maybe add a invalid packet type?
-
-/**
- * Abstract class that implements the methods that are common to every packets.
- *
- * @author Vincent Perot
- */
-public abstract class Packet {
-
- /** Empty string */
- protected static final String EMPTY_STRING = ""; //$NON-NLS-1$
-
- /** The Pcap File to which this packet belong */
- private final PcapFile fPcapFile;
-
- /** The parent packet of this packet */
- private final @Nullable Packet fParentPacket;
-
- /** The protocol that this packet uses */
- private final PcapProtocol fProtocol;
-
- /**
- * Constructor of the Packet Class.
- *
- * @param file
- * The file to which this packet belongs.
- * @param parent
- * The parent packet of this packet.
- * @param protocol
- * The protocol of the packet.
- */
- public Packet(PcapFile file, @Nullable Packet parent, PcapProtocol protocol) {
- fPcapFile = file;
- fParentPacket = parent;
- fProtocol = protocol;
- }
-
- /**
- * Getter method for the Pcap File that contains this packet.
- *
- * @return The Pcap File.
- */
- public PcapFile getPcapFile() {
- return fPcapFile;
- }
-
- /**
- * Method that returns the parent (encapsulating) packet of this packet.
- * This method returns null if the packet is a Pcap Packet (highest level of
- * encapsulation).
- *
- * @return The parent packet.
- */
- public @Nullable Packet getParentPacket() {
- return fParentPacket;
- }
-
- /**
- * Method that returns the child (encapsulated) packet of this packet. This
- * method returns null if the packet is at the lowest level of
- * encapsulation.
- *
- * @return The child packet.
- */
- public abstract @Nullable Packet getChildPacket();
-
- /**
- * Getter method for the protocol of the packet.
- *
- * @return The protocol of the packet.
- */
- public PcapProtocol getProtocol() {
- return fProtocol;
- }
-
- /**
- * Getter method for the payload of the packet. Returns null if there is no
- * payload.
- *
- * @return the payload of the packet.
- */
- public abstract @Nullable ByteBuffer getPayload();
-
- /**
- * Method that looks for the packet that respects the specified protocol. It
- * will go through all the layers of encapsulation and return the wanted
- * packet, or null if the protocol is not present.
- *
- * @param protocol
- * The specified protocol.
- * @return The packet that respects the protocol.
- */
- public final @Nullable Packet getPacket(PcapProtocol protocol) {
-
- Packet wantedPacket = this;
-
- while (wantedPacket != null) {
- if (wantedPacket.getProtocol() == protocol) {
- return wantedPacket;
- }
- wantedPacket = wantedPacket.getParentPacket();
- }
- wantedPacket = this.getChildPacket();
-
- while (wantedPacket != null) {
- if (wantedPacket.getProtocol() == protocol) {
- return wantedPacket;
- }
- wantedPacket = wantedPacket.getChildPacket();
- }
-
- return null;
- }
-
- /**
- * Method that looks if the protocol is contained in the packet, or in one
- * of the encapsulating/encapsulated packet. It will go through all the
- * layers of encapsulation and return true if it finds the specified
- * protocol, and false otherwise. *
- *
- * @param protocol
- * The specified protocol.
- * @return The presence of the protocol.
- */
- public final boolean hasProtocol(PcapProtocol protocol) {
-
- // TODO Verify inputs
- Packet wantedPacket = this;
-
- while (wantedPacket != null) {
- if (wantedPacket.getProtocol() == protocol) {
- return true;
- }
- wantedPacket = wantedPacket.getParentPacket();
- }
- wantedPacket = this.getChildPacket();
-
- while (wantedPacket != null) {
- if (wantedPacket.getProtocol() == protocol) {
- return true;
- }
- wantedPacket = wantedPacket.getChildPacket();
- }
-
- return false;
- }
-
- /**
- * Method that returns the most encapsulated packet possible. If the global
- * packet contains the protocol Unknown, it will stop at the packet just
- * before this protocol. This is because the {@link UnknownPacket} can be
- * considered as plain payload.
- *
- * @return The most encapsulated packet.
- */
- public Packet getMostEcapsulatedPacket() {
- @NonNull Packet packet = this;
- while (packet.getProtocol() != PcapProtocol.UNKNOWN) {
- Packet childPacket = packet.getChildPacket();
- if (childPacket == null || childPacket.getProtocol() == PcapProtocol.UNKNOWN) {
- break;
- }
- packet = childPacket;
- }
- return packet;
- }
-
- /**
- * Method that look at the validity of the different fields (such as
- * checksum). This is protocol dependent and is used to identify bad
- * packets.
- *
- * @return The validity of the packet.
- */
- public abstract boolean validate();
-
- /**
- * Internal method that is used to find the child packet. This is protocol
- * dependent and must be implemented by each packet class.
- *
- * @return The child packet.
- * @throws BadPacketException
- * Thrown when the packet is erroneous.
- */
- protected abstract @Nullable Packet findChildPacket() throws BadPacketException;
-
- /**
- * This method returns the source endpoint of this packet. The endpoint is
- * equivalent to the address of this packet, and is protocol dependent. For
- * instance, a UDP endpoint is the combination of the MAC address, the IP
- * address and the port number.
- *
- * @return The source endpoint of this packet.
- */
- public abstract ProtocolEndpoint getSourceEndpoint();
-
- /**
- * This method returns the destination endpoint of this packet. The endpoint
- * is equivalent to the address of this packet, and is protocol dependent.
- * For instance, a UDP endpoint is the combination of the MAC address, the
- * IP address and the port number.
- *
- * @return The destination endpoint of this packet.
- */
- public abstract ProtocolEndpoint getDestinationEndpoint();
-
- /**
- * Method that returns all the fields of the packet as a Map<Field ID, Field
- * Value>. All child classes of {@link Packet} must implement this method.
- *
- * @return All the packet fields as a map.
- */
- public abstract Map<String, String> getFields();
-
- /**
- * Method that returns a short summary of the local packet, such as the most
- * useful information.
- *
- * For instance, a possible summary string of an {@link IPv4Packet} can be:
- * "Src: 192.168.0.1, Dst: 192.168.1.12".
- *
- * @return A short summary of the local packet, as a string.
- */
- public abstract String getLocalSummaryString();
-
- /**
- * Method that returns the local meaning of a packet, based on its fields.
- *
- * For instance, a possible signification of an ARP packet can be:
- * "Who has 192.168.1.12? Tell 192.168.0.1".
- *
- * @return The local meaning of the packet, as a string.
- */
- protected abstract String getSignificationString();
-
- /**
- * Method that returns the global meaning of the packet. As such, it will
- * look for the most relevant packet and display its signification.
- *
- * For instance, a possible signification of an ARP packet can be:
- * "Who has 192.168.1.12? Tell 192.168.0.1".
- *
- * @return The meaning of the global packet, as a string.
- */
- public final String getGlobalSummaryString() {
- Packet packet = this.getMostEcapsulatedPacket();
- return packet.getSignificationString();
- }
-
- @Override
- public abstract boolean equals(@Nullable Object obj);
-
- @Override
- public abstract int hashCode();
-
- /**
- * Method that is used by child packet classes to verify if a bit is set.
- *
- * @param value
- * the byte containing the flags.
- * @param bit
- * the bit index.
- * @return Whether the bit is set or not.
- */
- protected static final boolean isBitSet(byte value, int bit) {
- if (bit < 0 || bit > 7) {
- throw new IllegalArgumentException("The byte index is not valid!"); //$NON-NLS-1$
- }
- return ((value >>> bit & 0b1) == 0b1);
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.pcap.core/src/org/eclipse/linuxtools/internal/pcap/core/packet/package-info.java b/lttng/org.eclipse.linuxtools.pcap.core/src/org/eclipse/linuxtools/internal/pcap/core/packet/package-info.java
deleted file mode 100644
index 9edaef996b..0000000000
--- a/lttng/org.eclipse.linuxtools.pcap.core/src/org/eclipse/linuxtools/internal/pcap/core/packet/package-info.java
+++ /dev/null
@@ -1,14 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 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:
- * Ericsson - Initial API and implementation
- *******************************************************************************/
-
-@org.eclipse.jdt.annotation.NonNullByDefault
-package org.eclipse.linuxtools.internal.pcap.core.packet; \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.pcap.core/src/org/eclipse/linuxtools/internal/pcap/core/protocol/PcapProtocol.java b/lttng/org.eclipse.linuxtools.pcap.core/src/org/eclipse/linuxtools/internal/pcap/core/protocol/PcapProtocol.java
deleted file mode 100644
index d810dbf12c..0000000000
--- a/lttng/org.eclipse.linuxtools.pcap.core/src/org/eclipse/linuxtools/internal/pcap/core/protocol/PcapProtocol.java
+++ /dev/null
@@ -1,179 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 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:
- * Vincent Perot - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.internal.pcap.core.protocol;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.List;
-
-/**
- * Enumeration used for describing the different known protocols.
- *
- * @author Vincent Perot
- */
-public enum PcapProtocol {
-
- // Layer 0
- /**
- * The Pcap Protocol is not a real protocol but is used as an helper to
- * generate Pcap packets.
- */
- PCAP("Packet Capture", "pcap", Layer.LAYER_0, false), //$NON-NLS-1$ //$NON-NLS-2$
-
- // Layer 1
- // Should always be empty.
-
- // Layer 2
- /**
- * The description of the Ethernet II Protocol.
- */
- ETHERNET_II("Ethernet II", "eth", Layer.LAYER_2, true), //$NON-NLS-1$ //$NON-NLS-2$
-
- // Layer 3
- /**
- * The description of the Internet Protocol Version 4.
- */
- IPV4("Internet Protocol Version 4", "ipv4", Layer.LAYER_3, true), //$NON-NLS-1$ //$NON-NLS-2$
-
- // Layer 4
- /**
- * The description of the Transmission Control Protocol.
- */
- TCP("Transmission Control Protocol", "tcp", Layer.LAYER_4, true), //$NON-NLS-1$ //$NON-NLS-2$
- /**
- * The description of the User Datagram Protocol.
- */
- UDP("User Datagram Protocol", "udp", Layer.LAYER_4, true), //$NON-NLS-1$ //$NON-NLS-2$
-
- // Layer 5
-
- // Layer 6
-
- // Layer 7
- /**
- * This protocol is used as an helper if the protocol of a packet is not
- * recognized. Since all its data goes into payload, it can also be seen as
- * a "payload packet". This is considered to be on layer 7 since its always
- * the most encapsulated packet if present.
- */
- UNKNOWN("Payload", "???", Layer.LAYER_7, false); //$NON-NLS-1$ //$NON-NLS-2$
-
-
- /**
- * Enum that lists constants related to protocols/layers.
- *
- * See http://en.wikipedia.org/wiki/OSI_model#Description_of_OSI_layers.
- *
- * @author Vincent Perot
- */
- public static enum Layer {
-
- /**
- * Layer 0. This layer is not an OSI layer but is used as an helper to store
- * the pseudo-protocol PCAP.
- */
- LAYER_0,
-
- /** Layer 1 of the OSI model */
- LAYER_1,
-
- /** Layer 2 of the OSI model */
- LAYER_2,
-
- /** Layer 3 of the OSI model */
- LAYER_3,
-
- /** Layer 4 of the OSI model */
- LAYER_4,
-
- /** Layer 5 of the OSI model */
- LAYER_5,
-
- /** Layer 6 of the OSI model */
- LAYER_6,
-
- /** Layer 7 of the OSI model */
- LAYER_7;
- }
-
-
- // Fields
- private final String fName;
- private final String fShortName;
- private final Layer fLayer;
- private final boolean fSupportsStream;
-
- private PcapProtocol(String name, String shortName, Layer layer, boolean supportsStream) {
- fName = name;
- fShortName = shortName;
- fLayer = layer;
- fSupportsStream = supportsStream;
- }
-
- /**
- * Getter method for the long name of the protocol.
- *
- * @return The long name of the protocol, as a string.
- */
- public String getName() {
- return fName;
- }
-
- /**
- * Getter method for the short name of the protocol.
- *
- * @return The short name of the protocol, as a string.
- */
- public String getShortName() {
- return fShortName;
- }
-
- /**
- * Getter method for the OSI layer of the protocol.
- *
- * @return The layer of the protocol.
- */
- public Layer getLayer() {
- return fLayer;
- }
-
- /**
- * Getter method that indicates if the protocol supports streams.
- *
- * @return Whether the protocol supports streams or not.
- */
- public boolean supportsStream() {
- return fSupportsStream;
- }
-
- // TODO make an immutable list that holds this data instead of computing it
- // everytime.
-
- /**
- * Method that returns a list of all the protocols included in a certain OSI
- * layer.
- *
- * @param layer
- * The layer of the protocols.
- * @return The protocols on that layer.
- */
- public static Collection<PcapProtocol> getProtocolsOnLayer(Layer layer) {
- List<PcapProtocol> protocolsOnLayer = new ArrayList<>();
- for (PcapProtocol p : PcapProtocol.values()) {
- if (p.getLayer() == layer) {
- protocolsOnLayer.add(p);
- }
- }
- return protocolsOnLayer;
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.pcap.core/src/org/eclipse/linuxtools/internal/pcap/core/protocol/ethernet2/EthernetIIEndpoint.java b/lttng/org.eclipse.linuxtools.pcap.core/src/org/eclipse/linuxtools/internal/pcap/core/protocol/ethernet2/EthernetIIEndpoint.java
deleted file mode 100644
index 912343c890..0000000000
--- a/lttng/org.eclipse.linuxtools.pcap.core/src/org/eclipse/linuxtools/internal/pcap/core/protocol/ethernet2/EthernetIIEndpoint.java
+++ /dev/null
@@ -1,98 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 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:
- * Vincent Perot - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.internal.pcap.core.protocol.ethernet2;
-
-import java.util.Arrays;
-
-import org.eclipse.jdt.annotation.Nullable;
-import org.eclipse.linuxtools.internal.pcap.core.endpoint.ProtocolEndpoint;
-import org.eclipse.linuxtools.internal.pcap.core.util.ConversionHelper;
-
-/**
- * Class that extends the {@link ProtocolEndpoint} class. It represents the
- * endpoint at an Ethernet II level.
- *
- * @author Vincent Perot
- */
-public class EthernetIIEndpoint extends ProtocolEndpoint {
-
- private final byte[] fMacAddress;
-
- /**
- * Constructor of the {@link EthernetIIEndpoint} class. It takes a packet to
- * get its endpoint. Since every packet has two endpoints (source and
- * destination), the isSourceEndpoint parameter is used to specify which
- * endpoint to take.
- *
- * @param packet
- * The packet that contains the endpoints.
- * @param isSourceEndpoint
- * Whether to take the source or the destination endpoint of the
- * packet.
- */
- public EthernetIIEndpoint(EthernetIIPacket packet, boolean isSourceEndpoint) {
- super(packet, isSourceEndpoint);
- fMacAddress = isSourceEndpoint ? packet.getSourceMacAddress() : packet.getDestinationMacAddress();
- }
-
- @Override
- public int hashCode() {
- final int prime = 31;
- int result = 1;
- ProtocolEndpoint endpoint = getParentEndpoint();
- if (endpoint == null) {
- result = 0;
- } else {
- result = endpoint.hashCode();
- }
- result = prime * result + Arrays.hashCode(fMacAddress);
- return result;
- }
-
- @Override
- public boolean equals(@Nullable Object obj) {
- if (this == obj) {
- return true;
- }
- if (!(obj instanceof EthernetIIEndpoint)) {
- return false;
- }
-
- EthernetIIEndpoint other = (EthernetIIEndpoint) obj;
-
- // Check on layer
- boolean localEquals = Arrays.equals(fMacAddress, other.fMacAddress);
- if (!localEquals) {
- return false;
- }
-
- // Check above layers.
- ProtocolEndpoint endpoint = getParentEndpoint();
- if (endpoint != null) {
- return endpoint.equals(other.getParentEndpoint());
- }
- return true;
- }
-
- @Override
- public String toString() {
- ProtocolEndpoint endpoint = getParentEndpoint();
- if (endpoint == null) {
- return ConversionHelper.toMacAddress(fMacAddress);
- }
- return (endpoint.toString().equals(EMPTY_STRING) ?
- ConversionHelper.toMacAddress(fMacAddress) :
- endpoint.toString() + '/' + ConversionHelper.toMacAddress(fMacAddress));
-
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.pcap.core/src/org/eclipse/linuxtools/internal/pcap/core/protocol/ethernet2/EthernetIIPacket.java b/lttng/org.eclipse.linuxtools.pcap.core/src/org/eclipse/linuxtools/internal/pcap/core/protocol/ethernet2/EthernetIIPacket.java
deleted file mode 100644
index d9f95edd37..0000000000
--- a/lttng/org.eclipse.linuxtools.pcap.core/src/org/eclipse/linuxtools/internal/pcap/core/protocol/ethernet2/EthernetIIPacket.java
+++ /dev/null
@@ -1,313 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 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:
- * Vincent Perot - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.internal.pcap.core.protocol.ethernet2;
-
-import java.nio.ByteBuffer;
-import java.nio.ByteOrder;
-import java.util.Arrays;
-import java.util.Map;
-
-import org.eclipse.jdt.annotation.NonNull;
-import org.eclipse.jdt.annotation.Nullable;
-import org.eclipse.linuxtools.internal.pcap.core.packet.BadPacketException;
-import org.eclipse.linuxtools.internal.pcap.core.packet.Packet;
-import org.eclipse.linuxtools.internal.pcap.core.protocol.PcapProtocol;
-import org.eclipse.linuxtools.internal.pcap.core.protocol.ipv4.IPv4Packet;
-import org.eclipse.linuxtools.internal.pcap.core.protocol.unknown.UnknownPacket;
-import org.eclipse.linuxtools.internal.pcap.core.trace.PcapFile;
-import org.eclipse.linuxtools.internal.pcap.core.util.ConversionHelper;
-import org.eclipse.linuxtools.internal.pcap.core.util.EthertypeHelper;
-
-import com.google.common.collect.ImmutableMap;
-
-/**
- * Class that represents an Ethernet II packet. This should be called an
- * Ethernet frame, but in order to keep the nomenclature consistent, this is
- * called a packet.
- *
- * @author Vincent Perot
- */
-public class EthernetIIPacket extends Packet {
-
- private final @Nullable Packet fChildPacket;
- private final @Nullable ByteBuffer fPayload;
-
- /* We store MAC addresses as byte arrays since
- * there is no standard java class to store them. */
- private final byte[] fSourceMacAddress;
- private final byte[] fDestinationMacAddress;
-
- private final int fType;
-
- private @Nullable EthernetIIEndpoint fSourceEndpoint;
- private @Nullable EthernetIIEndpoint fDestinationEndpoint;
-
- private @Nullable ImmutableMap<String, String> fFields;
-
- /**
- * Constructor of the Ethernet Packet class.
- *
- * @param file
- * The file that contains this packet.
- * @param parent
- * The parent packet of this packet (the encapsulating packet).
- * @param packet
- * The entire packet (header and payload).
- * @throws BadPacketException
- * Thrown when the packet is erroneous.
- */
- public EthernetIIPacket(PcapFile file, @Nullable Packet parent, ByteBuffer packet) throws BadPacketException {
- super(file, parent, PcapProtocol.ETHERNET_II);
-
- if (packet.array().length <= EthernetIIValues.ETHERNET_II_MIN_SIZE) {
- throw new BadPacketException("An Ethernet II packet can't be smaller than 14 bytes."); //$NON-NLS-1$
- }
-
- // The endpoints are lazy loaded. They are defined in the get*Endpoint()
- // methods.
- fSourceEndpoint = null;
- fDestinationEndpoint = null;
-
- fFields = null;
-
- fDestinationMacAddress = new byte[EthernetIIValues.MAC_ADDRESS_SIZE];
- fSourceMacAddress = new byte[EthernetIIValues.MAC_ADDRESS_SIZE];
- packet.order(ByteOrder.BIG_ENDIAN);
- packet.position(0);
- packet.get(fDestinationMacAddress);
- packet.get(fSourceMacAddress);
- fType = ConversionHelper.unsignedShortToInt(packet.getShort());
-
- // Get payload if it exists.
- if (packet.array().length - packet.position() > 0) {
- byte[] array = new byte[packet.array().length - packet.position()];
- packet.get(array);
- ByteBuffer payload = ByteBuffer.wrap(array);
- if (payload != null) {
- payload.order(ByteOrder.BIG_ENDIAN);
- payload.position(0);
- }
- fPayload = payload;
-
- } else {
- fPayload = null;
- }
-
- // Find child
- fChildPacket = findChildPacket();
-
- }
-
- @Override
- public @Nullable Packet getChildPacket() {
- return fChildPacket;
- }
-
- @Override
- public @Nullable ByteBuffer getPayload() {
- return fPayload;
- }
-
- /**
- * Getter method for the source MAC Address.
- *
- * @return The source MAC address.
- */
- public byte[] getSourceMacAddress() {
- @SuppressWarnings("null")
- @NonNull byte[] mac = Arrays.copyOf(fSourceMacAddress, fSourceMacAddress.length);
- return mac;
- }
-
- /**
- * Getter method for the destination MAC Address.
- *
- * @return The destination MAC address.
- */
- public byte[] getDestinationMacAddress() {
- @SuppressWarnings("null")
- @NonNull byte[] mac = Arrays.copyOf(fDestinationMacAddress, fDestinationMacAddress.length);
- return mac;
- }
-
- /**
- * Getter method for Ethertype. See
- * http://standards.ieee.org/develop/regauth/ethertype/eth.txt
- *
- * @return The Ethertype. This is used to determine the child packet..
- */
- public int getEthertype() {
- return fType;
- }
-
- @Override
- protected @Nullable Packet findChildPacket() throws BadPacketException {
- // TODO Add more protocols.
- ByteBuffer payload = fPayload;
- if (payload == null) {
- return null;
- }
- switch (fType) {
- case EthertypeHelper.ETHERTYPE_IPV4:
- return new IPv4Packet(getPcapFile(), this, payload);
- default:
- return new UnknownPacket(getPcapFile(), this, payload);
- }
- }
-
- @Override
- public String toString() {
- String string = getProtocol().getName() + ", Source: " + ConversionHelper.toMacAddress(fSourceMacAddress) + //$NON-NLS-1$
- ", Destination: " + ConversionHelper.toMacAddress(fDestinationMacAddress) + ", Type: " + //$NON-NLS-1$ //$NON-NLS-2$
- EthertypeHelper.toEtherType(fType) + "\n"; //$NON-NLS-1$
- final Packet child = fChildPacket;
- if (child != null) {
- return string + child.toString();
- }
- return string;
- }
-
- @Override
- public boolean validate() {
- // Not yet implemented. ATM, we consider that all packets are valid.
- // This is the case for all packets.
- // TODO Implement it.
- return true;
- }
-
- @Override
- public EthernetIIEndpoint getSourceEndpoint() {
- @Nullable EthernetIIEndpoint endpoint = fSourceEndpoint;
- if (endpoint == null) {
- endpoint = new EthernetIIEndpoint(this, true);
- }
- fSourceEndpoint = endpoint;
- return fSourceEndpoint;
- }
-
- @Override
- public EthernetIIEndpoint getDestinationEndpoint() {
- @Nullable EthernetIIEndpoint endpoint = fDestinationEndpoint;
-
- if (endpoint == null) {
- endpoint = new EthernetIIEndpoint(this, false);
- }
- fDestinationEndpoint = endpoint;
- return fDestinationEndpoint;
- }
-
- @Override
- public Map<String, String> getFields() {
- ImmutableMap<String, String> map = fFields;
- if (map == null) {
- @SuppressWarnings("null")
- @NonNull ImmutableMap<String, String> newMap = ImmutableMap.<String, String> builder()
- .put("Source MAC Address", ConversionHelper.toMacAddress(fSourceMacAddress)) //$NON-NLS-1$
- .put("Destination MAC Address", ConversionHelper.toMacAddress(fDestinationMacAddress)) //$NON-NLS-1$
- .put("Ethertype", String.valueOf(EthertypeHelper.toEtherType(fType))) //$NON-NLS-1$
- .build();
- fFields = newMap;
- return newMap;
- }
- return map;
- }
-
- @Override
- public String getLocalSummaryString() {
- return "Src: " + ConversionHelper.toMacAddress(fSourceMacAddress) + " , Dst: " + ConversionHelper.toMacAddress(fDestinationMacAddress); //$NON-NLS-1$ //$NON-NLS-2$
- }
-
- @Override
- protected String getSignificationString() {
- return "Source MAC: " + ConversionHelper.toMacAddress(fSourceMacAddress) + " , Destination MAC: " + ConversionHelper.toMacAddress(fDestinationMacAddress); //$NON-NLS-1$ //$NON-NLS-2$
- }
-
- @Override
- public int hashCode() {
- final int prime = 31;
- int result = 1;
- final Packet child = fChildPacket;
- if (child != null) {
- result = prime * result + child.hashCode();
- } else {
- result = prime * result;
- }
- result = prime * result + Arrays.hashCode(fDestinationMacAddress);
- final ByteBuffer payload = fPayload;
- if (payload != null) {
- result = prime * result + payload.hashCode();
- } else {
- result = prime * result;
- }
- result = prime * result + Arrays.hashCode(fSourceMacAddress);
- result = prime * result + fType;
- return result;
- }
-
- @Override
- public boolean equals(@Nullable Object obj) {
- if (this == obj) {
- return true;
- }
- if (obj == null) {
- return false;
- }
- if (getClass() != obj.getClass()) {
- return false;
- }
- EthernetIIPacket other = (EthernetIIPacket) obj;
- if (fChildPacket == null) {
- if (other.fChildPacket != null) {
- return false;
- }
- } else {
- final Packet child = fChildPacket;
- if (child != null) {
- if (!child.equals(other.fChildPacket)) {
- return false;
- }
- } else {
- if (other.fChildPacket != null) {
- return false;
- }
- }
- }
- if (!Arrays.equals(fDestinationMacAddress, other.fDestinationMacAddress)) {
- return false;
- }
- if (fPayload == null) {
- if (other.fPayload != null) {
- return false;
- }
- } else {
- final ByteBuffer payload = fPayload;
- if (payload != null) {
- if (!payload.equals(other.fPayload)) {
- return false;
- }
- } else {
- if (other.fPayload != null) {
- return false;
- }
- }
- }
- if (!Arrays.equals(fSourceMacAddress, other.fSourceMacAddress)) {
- return false;
- }
- if (fType != other.fType) {
- return false;
- }
- return true;
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.pcap.core/src/org/eclipse/linuxtools/internal/pcap/core/protocol/ethernet2/EthernetIIValues.java b/lttng/org.eclipse.linuxtools.pcap.core/src/org/eclipse/linuxtools/internal/pcap/core/protocol/ethernet2/EthernetIIValues.java
deleted file mode 100644
index 42804932db..0000000000
--- a/lttng/org.eclipse.linuxtools.pcap.core/src/org/eclipse/linuxtools/internal/pcap/core/protocol/ethernet2/EthernetIIValues.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 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:
- * Vincent Perot - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.internal.pcap.core.protocol.ethernet2;
-
-/**
- * Interface that lists constants related to Ethernet II.
- *
- * See http://en.wikipedia.org/wiki/Ethernet_frame#Ethernet_II.
- *
- * @author Vincent Perot
- */
-public interface EthernetIIValues {
-
- /** Size in bytes of a MAC address */
- int MAC_ADDRESS_SIZE = 6;
-
- /** Size in bytes of the ethertype field */
- int ETHERTYPE_SIZE = 4;
-
- /** Size in bytes of the CRC checksum */
- int CRC_CHECKSUM_SIZE = 4;
-
- /** Maximum size in bytes of a entire Ethernet II Frame */
- int ETHERNET_II_MAX_SIZE = 1518;
-
- /** Minimum size in bytes of a entire Ethernet II Frame */
- int ETHERNET_II_MIN_SIZE = 14;
-
-}
diff --git a/lttng/org.eclipse.linuxtools.pcap.core/src/org/eclipse/linuxtools/internal/pcap/core/protocol/ethernet2/package-info.java b/lttng/org.eclipse.linuxtools.pcap.core/src/org/eclipse/linuxtools/internal/pcap/core/protocol/ethernet2/package-info.java
deleted file mode 100644
index 1dfef35d1e..0000000000
--- a/lttng/org.eclipse.linuxtools.pcap.core/src/org/eclipse/linuxtools/internal/pcap/core/protocol/ethernet2/package-info.java
+++ /dev/null
@@ -1,14 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 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:
- * Ericsson - Initial API and implementation
- *******************************************************************************/
-
-@org.eclipse.jdt.annotation.NonNullByDefault
-package org.eclipse.linuxtools.internal.pcap.core.protocol.ethernet2; \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.pcap.core/src/org/eclipse/linuxtools/internal/pcap/core/protocol/ipv4/IPv4Endpoint.java b/lttng/org.eclipse.linuxtools.pcap.core/src/org/eclipse/linuxtools/internal/pcap/core/protocol/ipv4/IPv4Endpoint.java
deleted file mode 100644
index 85668b2447..0000000000
--- a/lttng/org.eclipse.linuxtools.pcap.core/src/org/eclipse/linuxtools/internal/pcap/core/protocol/ipv4/IPv4Endpoint.java
+++ /dev/null
@@ -1,100 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 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:
- * Vincent Perot - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.internal.pcap.core.protocol.ipv4;
-
-import java.net.Inet4Address;
-
-import org.eclipse.jdt.annotation.NonNull;
-import org.eclipse.jdt.annotation.Nullable;
-import org.eclipse.linuxtools.internal.pcap.core.endpoint.ProtocolEndpoint;
-
-/**
- * Class that extends the {@link ProtocolEndpoint} class. It represents the
- * endpoint at an IPv4 level.
- *
- * @author Vincent Perot
- */
-public class IPv4Endpoint extends ProtocolEndpoint {
-
- private final Inet4Address fIPAddress;
-
- /**
- * Constructor of the {@link IPv4Endpoint} class. It takes a packet to get
- * its endpoint. Since every packet has two endpoints (source and
- * destination), the isSourceEndpoint parameter is used to specify which
- * endpoint to take.
- *
- * @param packet
- * The packet that contains the endpoints.
- * @param isSourceEndpoint
- * Whether to take the source or the destination endpoint of the
- * packet.
- */
- public IPv4Endpoint(IPv4Packet packet, boolean isSourceEndpoint) {
- super(packet, isSourceEndpoint);
- fIPAddress = isSourceEndpoint ? packet.getSourceIpAddress() : packet.getDestinationIpAddress();
- }
-
- @Override
- public int hashCode() {
- final int prime = 31;
- int result = 1;
-
- ProtocolEndpoint endpoint = getParentEndpoint();
- if (endpoint == null) {
- result = 0;
- } else {
- result = endpoint.hashCode();
- }
-
- result = prime * result + fIPAddress.hashCode();
- return result;
- }
-
- @Override
- public boolean equals(@Nullable Object obj) {
- if (this == obj) {
- return true;
- }
- if (!(obj instanceof IPv4Endpoint)) {
- return false;
- }
-
- IPv4Endpoint other = (IPv4Endpoint) obj;
-
- // Check on layer
- boolean localEquals = fIPAddress.equals(other.fIPAddress);
- if (!localEquals) {
- return false;
- }
-
- // Check above layers.
- ProtocolEndpoint endpoint = getParentEndpoint();
- if (endpoint != null) {
- return endpoint.equals(other.getParentEndpoint());
- }
- return true;
- }
-
- @Override
- public String toString() {
- ProtocolEndpoint endpoint = getParentEndpoint();
- if (endpoint == null) {
- @SuppressWarnings("null")
- @NonNull String ret = fIPAddress.getHostAddress();
- return ret;
- }
- return endpoint.toString() + '/' + fIPAddress.getHostAddress();
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.pcap.core/src/org/eclipse/linuxtools/internal/pcap/core/protocol/ipv4/IPv4Packet.java b/lttng/org.eclipse.linuxtools.pcap.core/src/org/eclipse/linuxtools/internal/pcap/core/protocol/ipv4/IPv4Packet.java
deleted file mode 100644
index fc804639c1..0000000000
--- a/lttng/org.eclipse.linuxtools.pcap.core/src/org/eclipse/linuxtools/internal/pcap/core/protocol/ipv4/IPv4Packet.java
+++ /dev/null
@@ -1,651 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 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:
- * Vincent Perot - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.internal.pcap.core.protocol.ipv4;
-
-import java.net.Inet4Address;
-import java.net.InetAddress;
-import java.net.UnknownHostException;
-import java.nio.ByteBuffer;
-import java.nio.ByteOrder;
-import java.util.Arrays;
-import java.util.Map;
-
-import org.eclipse.jdt.annotation.NonNull;
-import org.eclipse.jdt.annotation.Nullable;
-import org.eclipse.linuxtools.internal.pcap.core.packet.BadPacketException;
-import org.eclipse.linuxtools.internal.pcap.core.packet.Packet;
-import org.eclipse.linuxtools.internal.pcap.core.protocol.PcapProtocol;
-import org.eclipse.linuxtools.internal.pcap.core.protocol.tcp.TCPPacket;
-import org.eclipse.linuxtools.internal.pcap.core.protocol.udp.UDPPacket;
-import org.eclipse.linuxtools.internal.pcap.core.protocol.unknown.UnknownPacket;
-import org.eclipse.linuxtools.internal.pcap.core.trace.PcapFile;
-import org.eclipse.linuxtools.internal.pcap.core.util.ConversionHelper;
-import org.eclipse.linuxtools.internal.pcap.core.util.IPProtocolNumberHelper;
-
-import com.google.common.collect.ImmutableMap;
-import com.google.common.collect.ImmutableMap.Builder;
-
-/**
- * Class that represents an Ethernet II packet.
- *
- * @author Vincent Perot
- */
-public class IPv4Packet extends Packet {
-
- private final @Nullable Packet fChildPacket;
- private final @Nullable ByteBuffer fPayload;
-
- private final int fVersion;
- private final int fInternetHeaderLength; // in 4 bytes blocks
- private final int fDSCP;
- private final int fExplicitCongestionNotification;
- private final int fTotalLength; // in bytes
- private final int fIdentification;
- private final boolean fReservedFlag;
- private final boolean fDontFragmentFlag;
- private final boolean fMoreFragmentFlag;
- private final int fFragmentOffset;
- private final int fTimeToLive;
- private final int fIpDatagramProtocol;
- private final int fHeaderChecksum;
- private final Inet4Address fSourceIpAddress;
- private final Inet4Address fDestinationIpAddress;
- private final @Nullable byte[] fOptions;
-
- private @Nullable IPv4Endpoint fSourceEndpoint;
- private @Nullable IPv4Endpoint fDestinationEndpoint;
-
- private @Nullable ImmutableMap<String, String> fFields;
-
- // TODO Interpret options. See
- // http://www.iana.org/assignments/ip-parameters/ip-parameters.xhtml
-
- /**
- * Constructor of the IPv4 Packet class.
- *
- * @param file
- * The file that contains this packet.
- * @param parent
- * The parent packet of this packet (the encapsulating packet).
- * @param packet
- * The entire packet (header and payload).
- * @throws BadPacketException
- * Thrown when the packet is erroneous.
- */
- public IPv4Packet(PcapFile file, @Nullable Packet parent, ByteBuffer packet) throws BadPacketException {
- super(file, parent, PcapProtocol.IPV4);
-
- // The endpoints are lazy loaded. They are defined in the get*Endpoint()
- // methods.
- fSourceEndpoint = null;
- fDestinationEndpoint = null;
-
- fFields = null;
-
- packet.order(ByteOrder.BIG_ENDIAN);
- packet.position(0);
-
- byte storage = packet.get();
- fVersion = ((storage & 0xF0) >> 4) & 0x000000FF;
- fInternetHeaderLength = storage & 0x0F;
-
- storage = packet.get();
- fDSCP = ((storage & 0b11111100) >> 2) & 0x000000FF;
- fExplicitCongestionNotification = storage & 0b00000011;
-
- fTotalLength = ConversionHelper.unsignedShortToInt(packet.getShort());
- fIdentification = ConversionHelper.unsignedShortToInt(packet.getShort());
-
- storage = packet.get();
- fReservedFlag = isBitSet(storage, 7);
- fDontFragmentFlag = isBitSet(storage, 6);
- fMoreFragmentFlag = isBitSet(storage, 5);
- int msb = ((storage & 0b00011111) << 8);
- int lsb = ConversionHelper.unsignedByteToInt(packet.get());
- fFragmentOffset = msb + lsb;
-
- fTimeToLive = ConversionHelper.unsignedByteToInt(packet.get());
- fIpDatagramProtocol = ConversionHelper.unsignedByteToInt(packet.get());
- fHeaderChecksum = ConversionHelper.unsignedShortToInt(packet.getShort());
-
- byte[] source = new byte[IPv4Values.IP_ADDRESS_SIZE];
- byte[] destination = new byte[IPv4Values.IP_ADDRESS_SIZE];
- packet.get(source);
- packet.get(destination);
-
- try {
- @SuppressWarnings("null")
- @NonNull Inet4Address sourceIP = (Inet4Address) InetAddress.getByAddress(source);
- @SuppressWarnings("null")
- @NonNull Inet4Address destinationIP = (Inet4Address) InetAddress.getByAddress(destination);
- fSourceIpAddress = sourceIP;
- fDestinationIpAddress = destinationIP;
- } catch (UnknownHostException e) {
- throw new BadPacketException("The IP Address size is not valid!"); //$NON-NLS-1$
- }
-
- // Get options if there are any
- if (fInternetHeaderLength > IPv4Values.DEFAULT_HEADER_LENGTH) {
- fOptions = new byte[(fInternetHeaderLength - IPv4Values.DEFAULT_HEADER_LENGTH) * IPv4Values.BLOCK_SIZE];
- packet.get(fOptions);
- } else {
- fOptions = null;
- }
-
- // Get payload if any.
- if (packet.array().length - packet.position() > 0) {
- byte[] array = new byte[packet.array().length - packet.position()];
- packet.get(array);
- ByteBuffer payload = ByteBuffer.wrap(array);
- payload.order(ByteOrder.BIG_ENDIAN);
- payload.position(0);
- fPayload = payload;
- } else {
- fPayload = null;
- }
-
- // Find child
- fChildPacket = findChildPacket();
-
- }
-
- @Override
- public @Nullable Packet getChildPacket() {
- return fChildPacket;
- }
-
- @Override
- public @Nullable ByteBuffer getPayload() {
- return fPayload;
- }
-
- /**
- * {@inheritDoc}
- *
- * See http://en.wikipedia.org/wiki/List_of_IP_protocol_numbers
- */
- @Override
- protected @Nullable Packet findChildPacket() throws BadPacketException {
- // TODO Implement more protocols
- ByteBuffer payload = fPayload;
- if (payload == null) {
- return null;
- }
-
- switch (fIpDatagramProtocol) {
- case IPProtocolNumberHelper.PROTOCOL_NUMBER_TCP:
- return new TCPPacket(getPcapFile(), this, payload);
- case IPProtocolNumberHelper.PROTOCOL_NUMBER_UDP:
- return new UDPPacket(getPcapFile(), this, payload);
- default:
- return new UnknownPacket(getPcapFile(), this, payload);
- }
-
- }
-
- @Override
- public String toString() {
- // Generate flagString
- // This is very ugly.
- String flagString = null;
-
- if (fReservedFlag && fDontFragmentFlag && fMoreFragmentFlag) { // 111
- flagString = "Flags: 0x07 (Invalid)"; //$NON-NLS-1$
- } else if (fReservedFlag && fDontFragmentFlag && !fMoreFragmentFlag) { // 110
- flagString = "Flags: 0x06 (Invalid)"; //$NON-NLS-1$
- } else if (fReservedFlag && !fDontFragmentFlag && fMoreFragmentFlag) { // 101
- flagString = "Flags: 0x05 (Invalid)"; //$NON-NLS-1$
- } else if (fReservedFlag && !fDontFragmentFlag && !fMoreFragmentFlag) { // 100
- flagString = "Flags: 0x04 (Invalid)"; //$NON-NLS-1$
- } else if (!fReservedFlag && fDontFragmentFlag && fMoreFragmentFlag) { // 011
- flagString = "Flags: 0x03 (Invalid)"; //$NON-NLS-1$
- } else if (!fReservedFlag && fDontFragmentFlag && !fMoreFragmentFlag) { // 010
- flagString = "Flags: 0x02 (Don't fragment)"; //$NON-NLS-1$
- } else if (!fReservedFlag && !fDontFragmentFlag && fMoreFragmentFlag) { // 001
- flagString = "Flags: 0x01 (More fragments)"; //$NON-NLS-1$
- } else if (!fReservedFlag && !fDontFragmentFlag && !fMoreFragmentFlag) { // 000
- flagString = "Flags: 0x00 (Don't have more fragments)"; //$NON-NLS-1$
- }
-
- flagString += ", Fragment Offset: " + fFragmentOffset; //$NON-NLS-1$
-
- // Generate checksum string
- // TODO calculate the expected checksum from packet
- String checksumString = "Header Checksum: " + String.format("%s%04x", "0x", fHeaderChecksum); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-
- String string = getProtocol().getName() + ", Source: " + fSourceIpAddress.getHostAddress() + ", Destination: " + fDestinationIpAddress.getHostAddress() + //$NON-NLS-1$ //$NON-NLS-2$
- "\nVersion: " + fVersion + ", Identification: " + String.format("%s%04x", "0x", fIdentification) + ", Header Length: " + getHeaderLength() + " bytes, Total Length: " + getTotalLength() + //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$
- " bytes\nDifferentiated Services Code Point: " + String.format("%s%02x", "0x", fDSCP) + "; Explicit Congestion Notification: " + String.format("%s%02x", "0x", fExplicitCongestionNotification) //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$
- + "\n" + flagString + "\nTime to live: " + fTimeToLive + //$NON-NLS-1$ //$NON-NLS-2$
- "\nProtocol: " + fIpDatagramProtocol + "\n" //$NON-NLS-1$ //$NON-NLS-2$
- + checksumString + "\n"; //$NON-NLS-1$
- final Packet child = fChildPacket;
- if (child != null) {
- return string + child.toString();
- }
- return string;
- }
-
- /**
- * Getter method that returns the version of the IP protocol used. This
- * should always be set to 4 as IPv6 has its own class.
- *
- * @return The version of the IP used.
- */
- public int getVersion() {
- return fVersion;
- }
-
- /**
- * Getter method that returns the header length in bytes. In the IPv4
- * packet, this is specified in 4-bytes data block. By default, this method
- * returns 20 if there are no options present. Otherwise, it will return a
- * higher number.
- *
- * @return The header length in bytes.
- */
- public int getHeaderLength() {
- return fInternetHeaderLength * IPv4Values.BLOCK_SIZE;
- }
-
- /**
- * Getter method that returns the Differentiated Services Code Point (a.k.a.
- * the Type of Service). This is useful for some technologies that require
- * real-time data exchange.
- *
- * @return The DSCP
- */
- public int getDSCP() {
- return fDSCP;
- }
-
- /**
- * Getter method that returns the Explicit Congestion Notification (ECN).
- * This allows end-to-end communication without dropping packets.
- *
- * @return The ECN.
- */
- public int getExplicitCongestionNotification() {
- return fExplicitCongestionNotification;
- }
-
- /**
- * Getter method to retrieve the length of the entire packet, in bytes. This
- * number is according to the packet, and might not be true if the packet is
- * erroneous.
- *
- * @return The total length (packet and payload) in bytes.
- */
- public int getTotalLength() {
- return fTotalLength;
- }
-
- /**
- * Getter method to retrieve the Identification. This is a field that is
- * used to uniquely identify the packets, thus allowing the reconstruction
- * of fragmented IP packets.
- *
- * @return The packet identification.
- */
- public int getIdentification() {
- return fIdentification;
- }
-
- /**
- * Getter method that returns the state of the Reserved flag. This must
- * always be zero.
- *
- * @return The state of the Reserved flag.
- */
- public boolean getReservedFlag() {
- return fReservedFlag;
- }
-
- /**
- * Getter method that indicates if the packet can be fragmented or not.
- *
- * @return Whether the packet can be fragmented or not.
- */
- public boolean getDontFragmentFlag() {
- return fDontFragmentFlag;
- }
-
- /**
- * Getter method that indicates if the packet has more fragments or not.
- *
- * @return Whether the packet has more fragments or not.
- */
- public boolean getHasMoreFragment() {
- return fMoreFragmentFlag;
- }
-
- /**
- * Getter method that specify the offset of a particular fragment relative
- * to the original unfragmented packet, in 8-bytes blocks. *
- *
- * @return The fragment offset.
- */
- public int getFragmentOffset() {
- return fFragmentOffset;
- }
-
- /**
- * Getter method that returns the time to live in seconds. In practice, this
- * is a hop count. This is used to prevent packets from persisting.
- *
- * @return The time left to live for the packet.
- */
- public int getTimeToLive() {
- return fTimeToLive;
- }
-
- /**
- * Getter method that returns the encapsulated protocol.
- *
- * See http://en.wikipedia.org/wiki/List_of_IP_protocol_numbers
- *
- * @return The encapsulated protocol.
- */
- public int getIpDatagramProtocol() {
- return fIpDatagramProtocol;
- }
-
- /**
- * Getter method that returns the checksum, according to the packet. This
- * checksum might be wrong if the packet is erroneous.
- *
- * @return The header checksum.
- */
- public int getHeaderChecksum() {
- return fHeaderChecksum;
- }
-
- /**
- * Getter method that returns the source IP address.
- *
- * @return The source IP address, as a byte array in big-endian.
- */
- public Inet4Address getSourceIpAddress() {
- return fSourceIpAddress;
- }
-
- /**
- * Getter method that returns the destination IP address.
- *
- * @return The destination IP address, as a byte array in big-endian.
- */
- public Inet4Address getDestinationIpAddress() {
- return fDestinationIpAddress;
- }
-
- /**
- * Getter method that returns the options. This method returns null if no
- * options are present.
- *
- * @return The options of the packet.
- */
- public @Nullable byte[] getOptions() {
- final byte[] options = fOptions;
- if (options == null) {
- return null;
- }
- return Arrays.copyOf(options, options.length);
- }
-
- @Override
- public boolean validate() {
- // Not yet implemented. ATM, we consider that all packets are valid.
- // This is the case for all packets.
- // TODO Implement it.
- return true;
- }
-
- @Override
- public IPv4Endpoint getSourceEndpoint() {
- @Nullable
- IPv4Endpoint endpoint = fSourceEndpoint;
- if (endpoint == null) {
- endpoint = new IPv4Endpoint(this, true);
- }
- fSourceEndpoint = endpoint;
- return fSourceEndpoint;
- }
-
- @Override
- public IPv4Endpoint getDestinationEndpoint() {
- @Nullable
- IPv4Endpoint endpoint = fDestinationEndpoint;
-
- if (endpoint == null) {
- endpoint = new IPv4Endpoint(this, false);
- }
- fDestinationEndpoint = endpoint;
- return fDestinationEndpoint;
- }
-
- @Override
- public Map<String, String> getFields() {
- ImmutableMap<String, String> map = fFields;
- if (map == null) {
- Builder<String, String> builder = ImmutableMap.<String, String> builder()
- .put("Version", String.valueOf(fVersion)) //$NON-NLS-1$
- .put("Header Length", String.valueOf(getHeaderLength()) + " bytes") //$NON-NLS-1$ //$NON-NLS-2$
- .put("Differentiated Services Field", String.format("%s%02x", "0x", fDSCP)) //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- .put("Explicit Congestion Notification", String.format("%s%02x", "0x", fExplicitCongestionNotification)) //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- .put("Total Length", String.valueOf(fTotalLength) + " bytes") //$NON-NLS-1$ //$NON-NLS-2$
- .put("Identification", String.format("%s%04x", "0x", fIdentification)) //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- .put("Don't Fragment Flag", String.valueOf(fDontFragmentFlag)) //$NON-NLS-1$
- .put("More Fragment Flag", String.valueOf(fMoreFragmentFlag)) //$NON-NLS-1$
- .put("Fragment Offset", String.valueOf(fFragmentOffset)) //$NON-NLS-1$
- .put("Time to live", String.valueOf(fTimeToLive)) //$NON-NLS-1$
- .put("Protocol", IPProtocolNumberHelper.toString(fIpDatagramProtocol) + " (" + String.valueOf(fIpDatagramProtocol) + ")") //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- .put("Checksum", String.format("%s%04x", "0x", fHeaderChecksum)) //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- .put("Source IP Address", fSourceIpAddress.getHostAddress()) //$NON-NLS-1$
- .put("Destination IP Address", fDestinationIpAddress.getHostAddress()); //$NON-NLS-1$
- byte[] options = fOptions;
- if (options == null) {
- builder.put("Options", EMPTY_STRING); //$NON-NLS-1$
- } else {
- builder.put("Options", ConversionHelper.bytesToHex(options, true)); //$NON-NLS-1$
-
- }
- @SuppressWarnings("null")
- @NonNull
- ImmutableMap<String, String> newMap = builder.build();
- fFields = newMap;
- return newMap;
- }
- return map;
- }
-
- @Override
- public String getLocalSummaryString() {
- return "Src: " + fSourceIpAddress.getHostAddress() + " , Dst: " + fDestinationIpAddress.getHostAddress(); //$NON-NLS-1$ //$NON-NLS-2$
- }
-
- @Override
- protected String getSignificationString() {
- StringBuilder sb = new StringBuilder();
- sb.append(fSourceIpAddress.getHostAddress())
- .append(" > ") //$NON-NLS-1$
- .append(fDestinationIpAddress.getHostAddress());
-
- String flags = generateFlagString();
- if (!(flags.equals(""))) { //$NON-NLS-1$
- sb.append(' ')
- .append('[')
- .append(flags)
- .append(']');
- }
- sb.append(" Id=") //$NON-NLS-1$
- .append(fIdentification);
-
- final ByteBuffer payload = fPayload;
- if (payload != null) {
- sb.append(" Len=") //$NON-NLS-1$
- .append(payload.array().length);
- } else {
- sb.append(" Len=0"); //$NON-NLS-1$
- }
- String string = sb.toString();
- if (string == null) {
- return EMPTY_STRING;
- }
- return string;
- }
-
- private String generateFlagString() {
- StringBuilder sb = new StringBuilder();
- boolean start = true;
-
- if (fDontFragmentFlag) {
- if (!start) {
- sb.append(", "); //$NON-NLS-1$
- }
- sb.append("DF"); //$NON-NLS-1$
- start = false;
- }
- if (fMoreFragmentFlag) {
- if (!start) {
- sb.append(", "); //$NON-NLS-1$
- }
- sb.append("MF"); //$NON-NLS-1$
- start = false;
- }
- String string = sb.toString();
- if (string == null) {
- return EMPTY_STRING;
- }
- return string;
- }
-
- @Override
- public int hashCode() {
- final int prime = 31;
- int result = 1;
- final Packet child = fChildPacket;
- if (child != null) {
- result = prime * result + child.hashCode();
- } else {
- result = prime * result;
- }
- result = prime * result + fDSCP;
- result = prime * result + fDestinationIpAddress.hashCode();
- result = prime * result + (fDontFragmentFlag ? 1231 : 1237);
- result = prime * result + fExplicitCongestionNotification;
- result = prime * result + fFragmentOffset;
- result = prime * result + fHeaderChecksum;
- result = prime * result + fIdentification;
- result = prime * result + fInternetHeaderLength;
- result = prime * result + fIpDatagramProtocol;
- result = prime * result + (fMoreFragmentFlag ? 1231 : 1237);
- result = prime * result + Arrays.hashCode(fOptions);
- final ByteBuffer payload = fPayload;
- if (payload != null) {
- result = prime * result + payload.hashCode();
- } else {
- result = prime * result;
- }
- result = prime * result + (fReservedFlag ? 1231 : 1237);
- result = prime * result + fSourceIpAddress.hashCode();
- result = prime * result + fTimeToLive;
- result = prime * result + fTotalLength;
- result = prime * result + fVersion;
- return result;
- }
-
- @Override
- public boolean equals(@Nullable Object obj) {
- if (this == obj) {
- return true;
- }
- if (obj == null) {
- return false;
- }
- if (getClass() != obj.getClass()) {
- return false;
- }
- IPv4Packet other = (IPv4Packet) obj;
- final Packet child = fChildPacket;
- if (child != null) {
- if (!child.equals(other.fChildPacket)) {
- return false;
- }
- } else {
- if (other.fChildPacket != null) {
- return false;
- }
- }
-
- if (fDSCP != other.fDSCP) {
- return false;
- }
- if (!(fDestinationIpAddress.equals(other.fDestinationIpAddress))) {
- return false;
- }
- if (fDontFragmentFlag != other.fDontFragmentFlag) {
- return false;
- }
- if (fExplicitCongestionNotification != other.fExplicitCongestionNotification) {
- return false;
- }
- if (fFragmentOffset != other.fFragmentOffset) {
- return false;
- }
- if (fHeaderChecksum != other.fHeaderChecksum) {
- return false;
- }
- if (fIdentification != other.fIdentification) {
- return false;
- }
- if (fInternetHeaderLength != other.fInternetHeaderLength) {
- return false;
- }
- if (fIpDatagramProtocol != other.fIpDatagramProtocol) {
- return false;
- }
- if (fMoreFragmentFlag != other.fMoreFragmentFlag) {
- return false;
- }
- if (!Arrays.equals(fOptions, other.fOptions)) {
- return false;
- }
- final ByteBuffer payload = fPayload;
- if (payload != null) {
- if (!payload.equals(other.fPayload)) {
- return false;
- }
- } else {
- if (other.fPayload != null) {
- return false;
- }
- }
- if (fReservedFlag != other.fReservedFlag) {
- return false;
- }
- if (!(fSourceIpAddress.equals(other.fSourceIpAddress))) {
- return false;
- }
- if (fTimeToLive != other.fTimeToLive) {
- return false;
- }
- if (fTotalLength != other.fTotalLength) {
- return false;
- }
- if (fVersion != other.fVersion) {
- return false;
- }
- return true;
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.pcap.core/src/org/eclipse/linuxtools/internal/pcap/core/protocol/ipv4/IPv4Values.java b/lttng/org.eclipse.linuxtools.pcap.core/src/org/eclipse/linuxtools/internal/pcap/core/protocol/ipv4/IPv4Values.java
deleted file mode 100644
index 3e4e157241..0000000000
--- a/lttng/org.eclipse.linuxtools.pcap.core/src/org/eclipse/linuxtools/internal/pcap/core/protocol/ipv4/IPv4Values.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 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:
- * Vincent Perot - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.internal.pcap.core.protocol.ipv4;
-
-/**
- * Interface that lists constants related to Internet Protocol v4.
- *
- * See http://en.wikipedia.org/wiki/IPv4#Packet_structure.
- *
- * @author Vincent Perot
- */
-public interface IPv4Values {
-
- /** Size in bytes of an IP address */
- int IP_ADDRESS_SIZE = 4;
-
- /** Size in bytes of a default IPv4 packet header */
- int DEFAULT_HEADER_LENGTH = 5;
-
- /** Size in bytes of a block of data. Used to convert data block to bytes */
- int BLOCK_SIZE = 4;
-
-}
diff --git a/lttng/org.eclipse.linuxtools.pcap.core/src/org/eclipse/linuxtools/internal/pcap/core/protocol/ipv4/package-info.java b/lttng/org.eclipse.linuxtools.pcap.core/src/org/eclipse/linuxtools/internal/pcap/core/protocol/ipv4/package-info.java
deleted file mode 100644
index b8484b6472..0000000000
--- a/lttng/org.eclipse.linuxtools.pcap.core/src/org/eclipse/linuxtools/internal/pcap/core/protocol/ipv4/package-info.java
+++ /dev/null
@@ -1,14 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 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:
- * Ericsson - Initial API and implementation
- *******************************************************************************/
-
-@org.eclipse.jdt.annotation.NonNullByDefault
-package org.eclipse.linuxtools.internal.pcap.core.protocol.ipv4; \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.pcap.core/src/org/eclipse/linuxtools/internal/pcap/core/protocol/package-info.java b/lttng/org.eclipse.linuxtools.pcap.core/src/org/eclipse/linuxtools/internal/pcap/core/protocol/package-info.java
deleted file mode 100644
index eea3ac9296..0000000000
--- a/lttng/org.eclipse.linuxtools.pcap.core/src/org/eclipse/linuxtools/internal/pcap/core/protocol/package-info.java
+++ /dev/null
@@ -1,14 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 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:
- * Ericsson - Initial API and implementation
- *******************************************************************************/
-
-@org.eclipse.jdt.annotation.NonNullByDefault
-package org.eclipse.linuxtools.internal.pcap.core.protocol; \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.pcap.core/src/org/eclipse/linuxtools/internal/pcap/core/protocol/pcap/PcapEndpoint.java b/lttng/org.eclipse.linuxtools.pcap.core/src/org/eclipse/linuxtools/internal/pcap/core/protocol/pcap/PcapEndpoint.java
deleted file mode 100644
index 8662c76e30..0000000000
--- a/lttng/org.eclipse.linuxtools.pcap.core/src/org/eclipse/linuxtools/internal/pcap/core/protocol/pcap/PcapEndpoint.java
+++ /dev/null
@@ -1,71 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 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:
- * Vincent Perot - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.internal.pcap.core.protocol.pcap;
-
-import org.eclipse.jdt.annotation.Nullable;
-import org.eclipse.linuxtools.internal.pcap.core.endpoint.ProtocolEndpoint;
-
-/**
- * Class that extends the {@link ProtocolEndpoint} class. It represents the endpoint at
- * a Pcap level.
- *
- * @author Vincent Perot
- */
-public class PcapEndpoint extends ProtocolEndpoint {
-
- /**
- * Constructor of the {@link PcapEndpoint} class. It takes a packet to get
- * its endpoint. Since every packet has two endpoints (source and
- * destination), the isSourceEndpoint parameter is used to specify which
- * endpoint to take.
- *
- * @param packet
- * The packet that contains the endpoints.
- * @param isSourceEndpoint
- * Whether to take the source or the destination endpoint of the
- * packet.
- */
- public PcapEndpoint(PcapPacket packet, boolean isSourceEndpoint) {
- super(packet, isSourceEndpoint);
- }
-
- @Override
- public int hashCode() {
- return 0;
- }
-
- @Override
- public String toString() {
- return EMPTY_STRING;
- }
-
- @Override
- public boolean equals(@Nullable Object obj) {
- if (this == obj) {
- return true;
- }
- if (!(obj instanceof PcapEndpoint)) {
- return false;
- }
-
- PcapEndpoint other = (PcapEndpoint) obj;
-
- // Check above layers.
- ProtocolEndpoint endpoint = getParentEndpoint();
- if (endpoint != null) {
- return endpoint.equals(other.getParentEndpoint());
- }
- return true;
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.pcap.core/src/org/eclipse/linuxtools/internal/pcap/core/protocol/pcap/PcapPacket.java b/lttng/org.eclipse.linuxtools.pcap.core/src/org/eclipse/linuxtools/internal/pcap/core/protocol/pcap/PcapPacket.java
deleted file mode 100644
index 79945bae8a..0000000000
--- a/lttng/org.eclipse.linuxtools.pcap.core/src/org/eclipse/linuxtools/internal/pcap/core/protocol/pcap/PcapPacket.java
+++ /dev/null
@@ -1,372 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 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:
- * Vincent Perot - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.internal.pcap.core.protocol.pcap;
-
-import java.nio.ByteBuffer;
-import java.nio.ByteOrder;
-import java.util.Map;
-
-import org.eclipse.jdt.annotation.NonNull;
-import org.eclipse.jdt.annotation.Nullable;
-import org.eclipse.linuxtools.internal.pcap.core.packet.BadPacketException;
-import org.eclipse.linuxtools.internal.pcap.core.packet.Packet;
-import org.eclipse.linuxtools.internal.pcap.core.protocol.PcapProtocol;
-import org.eclipse.linuxtools.internal.pcap.core.protocol.ethernet2.EthernetIIPacket;
-import org.eclipse.linuxtools.internal.pcap.core.protocol.unknown.UnknownPacket;
-import org.eclipse.linuxtools.internal.pcap.core.trace.PcapFile;
-import org.eclipse.linuxtools.internal.pcap.core.trace.PcapFileValues;
-import org.eclipse.linuxtools.internal.pcap.core.util.ConversionHelper;
-import org.eclipse.linuxtools.internal.pcap.core.util.LinkTypeHelper;
-import org.eclipse.linuxtools.internal.pcap.core.util.PcapTimestampScale;
-
-import com.google.common.collect.ImmutableMap;
-
-/**
- * Class that represents a Pcap packet. This is the highest level of
- * encapsulation.
- *
- * @author Vincent Perot
- */
-public class PcapPacket extends Packet {
-
- private static final int TIMESTAMP_MICROSECOND_MAX = 1000000;
- private static final int TIMESTAMP_NANOSECOND_MAX = 1000000000;
-
- private final @Nullable Packet fChildPacket;
- private final @Nullable ByteBuffer fPayload;
-
- private final long fTimestamp; // In microseconds
- private final long fIncludedLength;
- private final long fOriginalLength;
- private final long fPacketIndex;
-
- private @Nullable PcapEndpoint fSourceEndpoint;
- private @Nullable PcapEndpoint fDestinationEndpoint;
-
- private @Nullable ImmutableMap<String, String> fFields;
-
- /**
- * Constructor of the Pcap Packet class.
- *
- * @param file
- * The file that contains this packet.
- * @param parent
- * The parent packet of this packet (the encapsulating packet).
- * @param header
- * The header of the packet.
- * @param payload
- * The payload of this packet.
- * @param index
- * The index of the packet in the file.
- * @throws BadPacketException
- * Thrown when the Packet is erroneous.
- */
- public PcapPacket(PcapFile file, @Nullable Packet parent, ByteBuffer header, @Nullable ByteBuffer payload, long index) throws BadPacketException {
- super(file, parent, PcapProtocol.PCAP);
-
- if (header.array().length < PcapFileValues.PACKET_HEADER_SIZE) {
- fChildPacket = null;
- throw new BadPacketException("The Pcap packet header is too small."); //$NON-NLS-1$
- }
-
- // The endpoints are lazy loaded. They are defined in the get*Endpoint()
- // methods.
- fSourceEndpoint = null;
- fDestinationEndpoint = null;
-
- fFields = null;
-
- fPacketIndex = index;
-
- // PcapPacket header in File endian
- header.order(getPcapFile().getByteOrder());
- header.position(0);
- long timestampMostSignificant = ConversionHelper.unsignedIntToLong(header.getInt());
- long timestampLeastSignificant = ConversionHelper.unsignedIntToLong(header.getInt());
-
- switch (getTimestampScale()) {
- case MICROSECOND:
- if (timestampLeastSignificant > TIMESTAMP_MICROSECOND_MAX) {
- fChildPacket = null;
- throw new BadPacketException("The timestamp is erroneous."); //$NON-NLS-1$
- }
- fTimestamp = TIMESTAMP_MICROSECOND_MAX * timestampMostSignificant + timestampLeastSignificant;
- break;
- case NANOSECOND:
- if (timestampLeastSignificant > TIMESTAMP_NANOSECOND_MAX) {
- fChildPacket = null;
- throw new BadPacketException("The timestamp is erroneous."); //$NON-NLS-1$
- }
- fTimestamp = TIMESTAMP_NANOSECOND_MAX * timestampMostSignificant + timestampLeastSignificant;
- break;
- default:
- throw new IllegalArgumentException("The timestamp precision is not valid!"); //$NON-NLS-1$
- }
-
- fIncludedLength = ConversionHelper.unsignedIntToLong(header.getInt());
- fOriginalLength = ConversionHelper.unsignedIntToLong(header.getInt());
-
- // Set up payload
- final ByteBuffer pcapPacket = payload;
- if (pcapPacket == null) {
- fChildPacket = null;
- fPayload = null;
- return;
- }
-
- pcapPacket.order(ByteOrder.BIG_ENDIAN);
- pcapPacket.position(0);
- fPayload = pcapPacket;
-
- // Find Child Packet
- fChildPacket = findChildPacket();
-
- }
-
- @Override
- public @Nullable Packet getChildPacket() {
- return fChildPacket;
- }
-
- @Override
- public @Nullable ByteBuffer getPayload() {
- return fPayload;
- }
-
- /**
- * Getter method that returns the timestamp of this packet, in microseconds/nanoseconds
- * relative to epoch.
- *
- * @return The timestamp of the packet.
- */
- public long getTimestamp() {
- return fTimestamp;
- }
-
- /**
- * Getter method that returns the length in bytes of the packet that was
- * included in the {@link PcapFile}.
- *
- * @return The included length of the packet.
- */
- public long getIncludedLength() {
- return fIncludedLength;
- }
-
- /**
- * Getter method that returns the original length in bytes of the packet.
- *
- * @return The included length of the packet.
- */
- public long getOriginalLength() {
- return fOriginalLength;
- }
-
- /**
- * Method that indicates if this packet was truncated at capture time.
- *
- * @return Whether the packet is truncated or not.
- */
- public boolean isTruncated() {
- return fIncludedLength != fOriginalLength;
- }
-
- /**
- * Getter method that returns the index of the packet.
- *
- * @return The index of the packet.
- */
- public long getIndex() {
- return fPacketIndex;
- }
-
- @Override
- public String toString() {
- // TODO Decide if first capture is 0 or 1. Right now, it is 0.
- String string = getProtocol().getName() + " " + fPacketIndex + //$NON-NLS-1$
- ": " + fOriginalLength + " bytes on wire, " + //$NON-NLS-1$ //$NON-NLS-2$
- fIncludedLength + " bytes captured.\nArrival time: " + //$NON-NLS-1$
- ConversionHelper.toGMTTime(fTimestamp, getTimestampScale()) + "\n"; //$NON-NLS-1$
-
- final Packet child = fChildPacket;
- if (child != null) {
- return string + child.toString();
- }
- return string;
- }
-
- /**
- * {@inheritDoc}
- *
- * See http://www.tcpdump.org/linktypes.html
- */
- @Override
- protected @Nullable Packet findChildPacket() throws BadPacketException {
- @Nullable
- ByteBuffer payload = fPayload;
- if (payload == null) {
- return null;
- }
-
- switch ((int) getPcapFile().getDataLinkType()) {
- case LinkTypeHelper.LINKTYPE_ETHERNET:
- return new EthernetIIPacket(getPcapFile(), this, payload);
- default: // TODO add more protocols
- return new UnknownPacket(getPcapFile(), this, payload);
- }
- }
-
- @Override
- public boolean validate() {
- // Not yet implemented. ATM, we consider that all packets are valid.
- // This is the case for all packets.
- // TODO Implement it.
- return true;
- }
-
- @Override
- public PcapEndpoint getSourceEndpoint() {
- @Nullable PcapEndpoint endpoint = fSourceEndpoint;
- if (endpoint == null) {
- endpoint = new PcapEndpoint(this, true);
- }
- fSourceEndpoint = endpoint;
- return fSourceEndpoint;
- }
-
- @Override
- public PcapEndpoint getDestinationEndpoint() {
- @Nullable
- PcapEndpoint endpoint = fDestinationEndpoint;
-
- if (endpoint == null) {
- endpoint = new PcapEndpoint(this, false);
- }
- fDestinationEndpoint = endpoint;
- return fDestinationEndpoint;
- }
-
- // TODO handle plural form correctly
- // TODO microsec
- @Override
- public Map<String, String> getFields() {
- ImmutableMap<String, String> map = fFields;
- if (map == null) {
- @SuppressWarnings("null")
- @NonNull ImmutableMap<String, String> newMap = ImmutableMap.<String, String> builder()
- .put("Frame", String.valueOf(fPacketIndex)) //$NON-NLS-1$
- .put("Frame Length", String.valueOf(fOriginalLength) + " bytes") //$NON-NLS-1$ //$NON-NLS-2$
- .put("Capture Length", String.valueOf(fIncludedLength) + " bytes") //$NON-NLS-1$ //$NON-NLS-2$
- .put("Capture Time", ConversionHelper.toGMTTime(fTimestamp, getTimestampScale())) //$NON-NLS-1$
- .build();
- fFields = newMap;
- return newMap;
- }
- return map;
- }
-
- @Override
- public String getLocalSummaryString() {
- return "Frame " + fPacketIndex + ": " + fOriginalLength + " bytes on wire, " + fIncludedLength + " bytes captured"; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
- }
-
- @Override
- protected String getSignificationString() {
- return "New Frame: " + fOriginalLength + " bytes on wire"; //$NON-NLS-1$ //$NON-NLS-2$
- }
-
- @Override
- public int hashCode() {
- final int prime = 31;
- int result = 1;
-
- Packet child = fChildPacket;
- if (child == null) {
- result = prime * result;
- } else {
- result = prime * result + child.hashCode();
- }
-
- result = prime * result + (int) (fIncludedLength ^ (fIncludedLength >>> 32));
- result = prime * result + (int) (fOriginalLength ^ (fOriginalLength >>> 32));
- result = prime * result + (int) (fPacketIndex ^ (fPacketIndex >>> 32));
-
- ByteBuffer payload = fPayload;
- if (payload == null) {
- result = prime * result;
- } else {
- result = prime * result + payload.hashCode();
- }
-
- result = prime * result + (int) (fTimestamp ^ (fTimestamp >>> 32));
- return result;
- }
-
- @Override
- public boolean equals(@Nullable Object obj) {
- if (this == obj) {
- return true;
- }
- if (obj == null) {
- return false;
- }
- if (getClass() != obj.getClass()) {
- return false;
- }
- PcapPacket other = (PcapPacket) obj;
- final Packet child = fChildPacket;
- if (child != null) {
- if (!child.equals(other.fChildPacket)) {
- return false;
- }
- } else {
- if (other.fChildPacket != null) {
- return false;
- }
- }
-
- if (fIncludedLength != other.fIncludedLength) {
- return false;
- }
- if (fOriginalLength != other.fOriginalLength) {
- return false;
- }
- if (fPacketIndex != other.fPacketIndex) {
- return false;
- }
- final ByteBuffer payload = fPayload;
- if (payload != null) {
- if (!payload.equals(other.fPayload)) {
- return false;
- }
- } else {
- if (other.fPayload != null) {
- return false;
- }
- }
-
- if (fTimestamp != other.fTimestamp) {
- return false;
- }
- return true;
- }
-
- /**
- * Getter method that returns the Timestamp precision of the packet.
- *
- * @return the Timestamp precision.
- */
- public PcapTimestampScale getTimestampScale() {
- return getPcapFile().getTimestampPrecision();
- }
-} \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.pcap.core/src/org/eclipse/linuxtools/internal/pcap/core/protocol/pcap/package-info.java b/lttng/org.eclipse.linuxtools.pcap.core/src/org/eclipse/linuxtools/internal/pcap/core/protocol/pcap/package-info.java
deleted file mode 100644
index 173f3a9557..0000000000
--- a/lttng/org.eclipse.linuxtools.pcap.core/src/org/eclipse/linuxtools/internal/pcap/core/protocol/pcap/package-info.java
+++ /dev/null
@@ -1,14 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 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:
- * Ericsson - Initial API and implementation
- *******************************************************************************/
-
-@org.eclipse.jdt.annotation.NonNullByDefault
-package org.eclipse.linuxtools.internal.pcap.core.protocol.pcap; \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.pcap.core/src/org/eclipse/linuxtools/internal/pcap/core/protocol/tcp/TCPEndpoint.java b/lttng/org.eclipse.linuxtools.pcap.core/src/org/eclipse/linuxtools/internal/pcap/core/protocol/tcp/TCPEndpoint.java
deleted file mode 100644
index 97b291cdf3..0000000000
--- a/lttng/org.eclipse.linuxtools.pcap.core/src/org/eclipse/linuxtools/internal/pcap/core/protocol/tcp/TCPEndpoint.java
+++ /dev/null
@@ -1,97 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 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:
- * Vincent Perot - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.internal.pcap.core.protocol.tcp;
-
-import org.eclipse.jdt.annotation.NonNull;
-import org.eclipse.jdt.annotation.Nullable;
-import org.eclipse.linuxtools.internal.pcap.core.endpoint.ProtocolEndpoint;
-
-/**
- * Class that extends the {@link ProtocolEndpoint} class. It represents the
- * endpoint at a TCP level.
- *
- * @author Vincent Perot
- */
-public class TCPEndpoint extends ProtocolEndpoint {
-
- private final int fPort;
-
- /**
- * Constructor of the {@link TCPEndpoint} class. It takes a packet to get
- * its endpoint. Since every packet has two endpoints (source and
- * destination), the isSourceEndpoint parameter is used to specify which
- * endpoint to take.
- *
- * @param packet
- * The packet that contains the endpoints.
- * @param isSourceEndpoint
- * Whether to take the source or the destination endpoint of the
- * packet.
- */
- public TCPEndpoint(TCPPacket packet, boolean isSourceEndpoint) {
- super(packet, isSourceEndpoint);
- fPort = isSourceEndpoint ? packet.getSourcePort() : packet.getDestinationPort();
- }
-
- @Override
- public int hashCode() {
- final int prime = 31;
- int result = 1;
- ProtocolEndpoint endpoint = getParentEndpoint();
- if (endpoint == null) {
- result = 0;
- } else {
- result = endpoint.hashCode();
- }
- result = prime * result + fPort;
- return result;
- }
-
- @Override
- public boolean equals(@Nullable Object obj) {
- if (this == obj) {
- return true;
- }
- if (!(obj instanceof TCPEndpoint)) {
- return false;
- }
-
- TCPEndpoint other = (TCPEndpoint) obj;
-
- // Check on layer
- boolean localEquals = (fPort == other.fPort);
- if (!localEquals) {
- return false;
- }
-
- // Check above layers.
- ProtocolEndpoint endpoint = getParentEndpoint();
- if (endpoint != null) {
- return endpoint.equals(other.getParentEndpoint());
- }
- return true;
- }
-
- @Override
- public String toString() {
- ProtocolEndpoint endpoint = getParentEndpoint();
- if (endpoint == null) {
- @SuppressWarnings("null")
- @NonNull
- String ret = String.valueOf(fPort);
- return ret;
- }
- return endpoint.toString() + '/' + fPort;
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.pcap.core/src/org/eclipse/linuxtools/internal/pcap/core/protocol/tcp/TCPPacket.java b/lttng/org.eclipse.linuxtools.pcap.core/src/org/eclipse/linuxtools/internal/pcap/core/protocol/tcp/TCPPacket.java
deleted file mode 100644
index 7e5823e2f6..0000000000
--- a/lttng/org.eclipse.linuxtools.pcap.core/src/org/eclipse/linuxtools/internal/pcap/core/protocol/tcp/TCPPacket.java
+++ /dev/null
@@ -1,702 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 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:
- * Vincent Perot - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.internal.pcap.core.protocol.tcp;
-
-import java.nio.ByteBuffer;
-import java.nio.ByteOrder;
-import java.util.Arrays;
-import java.util.Map;
-
-import org.eclipse.jdt.annotation.NonNull;
-import org.eclipse.jdt.annotation.Nullable;
-import org.eclipse.linuxtools.internal.pcap.core.packet.BadPacketException;
-import org.eclipse.linuxtools.internal.pcap.core.packet.Packet;
-import org.eclipse.linuxtools.internal.pcap.core.protocol.PcapProtocol;
-import org.eclipse.linuxtools.internal.pcap.core.protocol.unknown.UnknownPacket;
-import org.eclipse.linuxtools.internal.pcap.core.trace.PcapFile;
-import org.eclipse.linuxtools.internal.pcap.core.util.ConversionHelper;
-
-import com.google.common.collect.ImmutableMap;
-import com.google.common.collect.ImmutableMap.Builder;
-
-/**
- * Class that represents a TCP packet.
- *
- * @author Vincent Perot
- */
-public class TCPPacket extends Packet {
-
- private final @Nullable Packet fChildPacket;
- private final @Nullable ByteBuffer fPayload;
-
- private final int fSourcePort;
- private final int fDestinationPort;
- private final long fSequenceNumber;
- private final long fAcknowledgmentNumber;
- private final int fDataOffset; // in 4 bytes block
- private final byte fReservedField;
- private final boolean fNSFlag;
- private final boolean fCWRFlag;
- private final boolean fECEFlag;
- private final boolean fURGFlag;
- private final boolean fACKFlag;
- private final boolean fPSHFlag;
- private final boolean fRSTFlag;
- private final boolean fSYNFlag;
- private final boolean fFINFlag;
- private final int fWindowSize;
- private final int fChecksum;
- private final int fUrgentPointer;
- private final @Nullable byte[] fOptions; // TODO Interpret options.
-
- private @Nullable TCPEndpoint fSourceEndpoint;
- private @Nullable TCPEndpoint fDestinationEndpoint;
-
- private @Nullable ImmutableMap<String, String> fFields;
-
- /**
- * Constructor of the TCP Packet class.
- *
- * @param file
- * The file that contains this packet.
- * @param parent
- * The parent packet of this packet (the encapsulating packet).
- * @param packet
- * The entire packet (header and payload).
- * @throws BadPacketException
- * Thrown when the packet is erroneous.
- */
- public TCPPacket(PcapFile file, @Nullable Packet parent, ByteBuffer packet) throws BadPacketException {
- super(file, parent, PcapProtocol.TCP);
-
- // The endpoints are lazy loaded. They are defined in the get*Endpoint()
- // methods.
- fSourceEndpoint = null;
- fDestinationEndpoint = null;
-
- fFields = null;
-
- packet.order(ByteOrder.BIG_ENDIAN);
- packet.position(0);
-
- fSourcePort = ConversionHelper.unsignedShortToInt(packet.getShort());
- fDestinationPort = ConversionHelper.unsignedShortToInt(packet.getShort());
- fSequenceNumber = ConversionHelper.unsignedIntToLong(packet.getInt());
- fAcknowledgmentNumber = ConversionHelper.unsignedIntToLong(packet.getInt());
-
- byte storage = packet.get();
- fDataOffset = ((storage & 0b11110000) >>> 4) & 0x000000FF;
- fReservedField = (byte) ((storage & 0b00001110) >>> 1);
- fNSFlag = isBitSet(storage, 0);
-
- storage = packet.get();
- fCWRFlag = isBitSet(storage, 7);
- fECEFlag = isBitSet(storage, 6);
- fURGFlag = isBitSet(storage, 5);
- fACKFlag = isBitSet(storage, 4);
- fPSHFlag = isBitSet(storage, 3);
- fRSTFlag = isBitSet(storage, 2);
- fSYNFlag = isBitSet(storage, 1);
- fFINFlag = isBitSet(storage, 0);
-
- fWindowSize = ConversionHelper.unsignedShortToInt(packet.getShort());
- fChecksum = ConversionHelper.unsignedShortToInt(packet.getShort());
- fUrgentPointer = ConversionHelper.unsignedShortToInt(packet.getShort());
-
- // Get options if any
- if (fDataOffset > TCPValues.DEFAULT_HEADER_LENGTH) {
- fOptions = new byte[(fDataOffset - TCPValues.DEFAULT_HEADER_LENGTH) * TCPValues.BLOCK_SIZE];
- packet.get(fOptions);
- } else {
- fOptions = null;
- }
-
- // Get payload if any.
- if (packet.array().length - packet.position() > 0) {
- byte[] array = new byte[packet.array().length - packet.position()];
- packet.get(array);
- ByteBuffer payload = ByteBuffer.wrap(array);
- payload.order(ByteOrder.BIG_ENDIAN);
- payload.position(0);
- fPayload = payload;
- } else {
- fPayload = null;
- }
-
- // find child packet
- fChildPacket = findChildPacket();
-
- }
-
- @Override
- public @Nullable Packet getChildPacket() {
- return fChildPacket;
- }
-
- @Override
- public @Nullable ByteBuffer getPayload() {
- return fPayload;
- }
-
- /**
- * {@inheritDoc}
- *
- * See http://www.iana.org/assignments/service-names-port-numbers/service-
- * names-port-numbers.xhtml or
- * http://en.wikipedia.org/wiki/List_of_TCP_and_UDP_port_numbers
- */
- @Override
- protected @Nullable Packet findChildPacket() throws BadPacketException {
- // TODO implement further protocols and update this
- ByteBuffer payload = fPayload;
- if (payload == null) {
- return null;
- }
-
- return new UnknownPacket(getPcapFile(), this, payload);
- }
-
- @Override
- public String toString() {
- final ByteBuffer payload = fPayload;
- int length = 0;
- if (payload != null) {
- length = payload.array().length;
- }
-
- String flagString = ""; // TODO Finish it. Im just too lazy. //$NON-NLS-1$
- String string = getProtocol().getName() + ", Source Port: " + fSourcePort + ", Destination Port: " + fDestinationPort + //$NON-NLS-1$ //$NON-NLS-2$
- "\nSequence Number: " + fSequenceNumber + ", Acknowledgment Number: " + fAcknowledgmentNumber + //$NON-NLS-1$ //$NON-NLS-2$
- "\nHeader length: " + fDataOffset * TCPValues.BLOCK_SIZE + " bytes, Data length: " + length + //$NON-NLS-1$ //$NON-NLS-2$
- "\n" + flagString + "Window size value: " + fWindowSize + ", Urgent Pointer: " + String.format("%s%04x", "0x", fUrgentPointer) + //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$
- "\nChecksum: " + String.format("%s%04x", "0x", fChecksum) + "\n"; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
- final Packet child = fChildPacket;
- if (child != null) {
- return string + child.toString();
- }
- return string;
- }
-
- /**
- * Getter method that returns the TCP Source Port.
- *
- * @return The source Port.
- */
- public int getSourcePort() {
- return fSourcePort;
- }
-
- /**
- * Getter method that returns the TCP Destination Port.
- *
- * @return The destination Port.
- */
- public int getDestinationPort() {
- return fDestinationPort;
- }
-
- /**
- * Getter method that returns the Sequence Number. The sequence number has a
- * dual role:
- * <ul>
- * <li>If the SYN flag is set (1), then this is the initial sequence number.
- * The sequence number of the actual first data byte and the acknowledged
- * number in the corresponding ACK are then this sequence number plus 1.</li>
- * <li>If the SYN flag is clear (0), then this is the accumulated sequence
- * number of the first data byte of this segment for the current session.</li>
- * </ul>
- *
- * Source: http://en.wikipedia.org/wiki/Transmission_Control_Protocol
- *
- * @return The Sequence Number.
- */
- public long getSequenceNumber() {
- return fSequenceNumber;
- }
-
- /**
- * Getter method that returns the Acknowledgment Number.
- *
- * If the ACK flag is set then the value of this field is the next sequence
- * number that the receiver is expecting. This acknowledges receipt of all
- * prior bytes (if any). The first ACK sent by each end acknowledges the
- * other end's initial sequence number itself, but no data.
- *
- * Source: http://en.wikipedia.org/wiki/Transmission_Control_Protocol
- *
- * @return The Acknowledgment Number.
- */
- public long getAcknowledgmentNumber() {
- return fAcknowledgmentNumber;
- }
-
- /**
- * Getter method that returns the size of the TCP header in 4 bytes data
- * block. The minimum size is 5 words and the maximum is 15 words.
- *
- * @return The Data Offset.
- */
- public int getDataOffset() {
- return fDataOffset;
- }
-
- /**
- * Getter method that returns the Reserved field. This field is for future
- * use and should always be zero. In this library, it is used as a mean to
- * verify the validity of a TCP packet.
- *
- * @return The Reserved Field.
- */
- public byte getReservedField() {
- return fReservedField;
- }
-
- /**
- * Getter method that returns the state of the NS flag.
- *
- * @return The state of the NS flag.
- */
- public boolean isNSFlagSet() {
- return fNSFlag;
- }
-
- /**
- * Getter method that returns the state of the CWR flag.
- *
- * @return The state of the CWR flag.
- */
- public boolean isCongestionWindowReducedFlagSet() {
- return fCWRFlag;
- }
-
- /**
- * Getter method that returns the state of the ECE flag.
- *
- * @return The state of the ECE flag.
- */
- public boolean isECNEchoFlagSet() {
- return fECEFlag;
- }
-
- /**
- * Getter method that returns the state of the URG flag.
- *
- * @return The state of the URG flag.
- */
- public boolean isUrgentFlagSet() {
- return fURGFlag;
- }
-
- /**
- * Getter method that returns the state of the ACK flag.
- *
- * @return The state of the ACK flag.
- */
- public boolean isAcknowledgeFlagSet() {
- return fACKFlag;
- }
-
- /**
- * Getter method that returns the state of the PSH flag.
- *
- * @return The state of the PSH flag.
- */
- public boolean isPushFlagSet() {
- return fPSHFlag;
- }
-
- /**
- * Getter method that returns the state of the RST flag.
- *
- * @return The state of the RST flag.
- */
- public boolean isResetFlagSet() {
- return fRSTFlag;
- }
-
- /**
- * Getter method that returns the state of the SYN flag.
- *
- * @return The state of the SYN flag.
- */
- public boolean isSynchronizationFlagSet() {
- return fSYNFlag;
- }
-
- /**
- * Getter method that returns the state of the FIN flag.
- *
- * @return The state of the FIN flag.
- */
- public boolean isFinalFlagSet() {
- return fFINFlag;
- }
-
- /**
- * Getter method that returns the size of the windows, in windows size unit
- * (by default, bytes), that the sender of this packet is willing to
- * receive.
- *
- * @return The Window Size.
- */
- public int getWindowSize() {
- return fWindowSize;
- }
-
- /**
- * Getter method that returns the checksum of this packet. This checksum may
- * be wrong if the packet is erroneous.
- *
- * @return The data and header checksum.
- */
- public int getChecksum() {
- return fChecksum;
- }
-
- /**
- * Getter method that returns the Urgent Pointer. If the URG flag is set,
- * this field is an offset from the sequence number indicating the last
- * urgent data byte.
- *
- * @return The Urgent Pointer.
- */
- public int getUrgentPointer() {
- return fUrgentPointer;
- }
-
- /**
- * Getter method that returns the options. This method returns null if no
- * options are present.
- *
- * @return The options of the packet.
- */
- public @Nullable byte[] getOptions() {
- byte[] options = fOptions;
- if (options == null) {
- return null;
- }
- return Arrays.copyOf(options, options.length);
- }
-
- @Override
- public boolean validate() {
- // Not yet implemented. ATM, we consider that all packets are valid.
- // This is the case for all packets.
- // TODO Implement it.
- return true;
- }
-
- @Override
- public TCPEndpoint getSourceEndpoint() {
- @Nullable
- TCPEndpoint endpoint = fSourceEndpoint;
- if (endpoint == null) {
- endpoint = new TCPEndpoint(this, true);
- }
- fSourceEndpoint = endpoint;
- return fSourceEndpoint;
- }
-
- @Override
- public TCPEndpoint getDestinationEndpoint() {
- @Nullable
- TCPEndpoint endpoint = fDestinationEndpoint;
-
- if (endpoint == null) {
- endpoint = new TCPEndpoint(this, false);
- }
- fDestinationEndpoint = endpoint;
- return fDestinationEndpoint;
- }
-
- @Override
- public Map<String, String> getFields() {
- ImmutableMap<String, String> map = fFields;
- if (map == null) {
- Builder<String, String> builder = ImmutableMap.<String, String> builder()
- .put("Source Port", String.valueOf(fSourcePort)) //$NON-NLS-1$
- .put("Destination Port", String.valueOf(fDestinationPort)) //$NON-NLS-1$
- .put("Sequence Number", String.valueOf(fSequenceNumber)) //$NON-NLS-1$
- .put("Acknowledgement Number", String.valueOf(fAcknowledgmentNumber)) //$NON-NLS-1$
- .put("Length", String.valueOf(fDataOffset * TCPValues.BLOCK_SIZE) + " bytes") //$NON-NLS-1$ //$NON-NLS-2$
- .put("ECN-Nonce Flag", String.valueOf(fNSFlag)) //$NON-NLS-1$
- .put("Congestion Window Reduced Flag", String.valueOf(fCWRFlag)) //$NON-NLS-1$
- .put("ECN-Echo Flag", String.valueOf(fECEFlag)) //$NON-NLS-1$
- .put("Urgent Flag", String.valueOf(fURGFlag)) //$NON-NLS-1$
- .put("ACK Flag", String.valueOf(fACKFlag)) //$NON-NLS-1$
- .put("PSH Flag", String.valueOf(fPSHFlag)) //$NON-NLS-1$
- .put("RST Flag", String.valueOf(fRSTFlag)) //$NON-NLS-1$
- .put("SYN Flag", String.valueOf(fSYNFlag)) //$NON-NLS-1$
- .put("FIN Flag", String.valueOf(fFINFlag)) //$NON-NLS-1$
- .put("Window Size Value", String.valueOf(fWindowSize)) //$NON-NLS-1$
- .put("Checksum", String.format("%s%04x", "0x", fChecksum)) //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- .put("Urgent Pointer", String.format("%s%04x", "0x", fUrgentPointer)); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- byte[] options = fOptions;
- if (options == null) {
- builder.put("Options", EMPTY_STRING); //$NON-NLS-1$
- } else {
- builder.put("Options", ConversionHelper.bytesToHex(options, true)); //$NON-NLS-1$
-
- }
- @SuppressWarnings("null")
- @NonNull ImmutableMap<String, String> newMap = builder.build();
- fFields = newMap;
- return newMap;
- }
- return map;
- }
-
- @Override
- public String getLocalSummaryString() {
- return "Src Port: " + fSourcePort + ", Dst Port: " + fDestinationPort + //$NON-NLS-1$ //$NON-NLS-2$
- ", Seq: " + fSequenceNumber + ", Ack: " + fAcknowledgmentNumber + //$NON-NLS-1$ //$NON-NLS-2$
- ", Len: " + (fDataOffset * TCPValues.BLOCK_SIZE); //$NON-NLS-1$ }
- }
-
- @Override
- protected String getSignificationString() {
- StringBuilder sb = new StringBuilder();
- sb.append(fSourcePort)
- .append(" > ") //$NON-NLS-1$
- .append(fDestinationPort);
-
- if (!(generateFlagString().equals(EMPTY_STRING))) {
- sb.append(' ')
- .append('[')
- .append(generateFlagString())
- .append(']');
- }
- sb.append(" Seq=") //$NON-NLS-1$
- .append(fSequenceNumber);
-
- if (fACKFlag) {
- sb.append(" Ack=") //$NON-NLS-1$
- .append(fAcknowledgmentNumber);
- }
-
- sb.append(" Len=") //$NON-NLS-1$
- .append((fDataOffset * TCPValues.BLOCK_SIZE));
-
- String string = sb.toString();
- if (string == null) {
- return EMPTY_STRING;
- }
- return string;
- }
-
- private String generateFlagString() {
- StringBuilder sb = new StringBuilder();
- boolean start = true;
-
- if (fSYNFlag) {
- if (!start) {
- sb.append(", "); //$NON-NLS-1$
- }
- sb.append("SYN"); //$NON-NLS-1$
- start = false;
- }
- if (fACKFlag) {
- if (!start) {
- sb.append(", "); //$NON-NLS-1$
- }
- sb.append("ACK"); //$NON-NLS-1$
- start = false;
- }
- if (fFINFlag) {
- if (!start) {
- sb.append(", "); //$NON-NLS-1$
- }
- sb.append("FIN"); //$NON-NLS-1$
- start = false;
- }
- if (fRSTFlag) {
- if (!start) {
- sb.append(", "); //$NON-NLS-1$
- }
- sb.append("RST"); //$NON-NLS-1$
- start = false;
- }
- if (fPSHFlag) {
- if (!start) {
- sb.append(", "); //$NON-NLS-1$
- }
- sb.append("PSH"); //$NON-NLS-1$
- start = false;
- }
- if (fURGFlag) {
- if (!start) {
- sb.append(", "); //$NON-NLS-1$
- }
- sb.append("URG"); //$NON-NLS-1$
- start = false;
- }
- if (fNSFlag) {
- if (!start) {
- sb.append(", "); //$NON-NLS-1$
- }
- sb.append("NS"); //$NON-NLS-1$
- start = false;
- }
- if (fCWRFlag) {
- if (!start) {
- sb.append(", "); //$NON-NLS-1$
- }
- sb.append("CWR"); //$NON-NLS-1$
- start = false;
- }
- if (fECEFlag) {
- if (!start) {
- sb.append(", "); //$NON-NLS-1$
- }
- sb.append("ECE"); //$NON-NLS-1$
- start = false;
- }
- String string = sb.toString();
- if (string == null) {
- return EMPTY_STRING;
- }
- return string;
- }
-
- @Override
- public int hashCode() {
- final int prime = 31;
- int result = 1;
- result = prime * result + (fACKFlag ? 1231 : 1237);
- result = prime * result + (int) (fAcknowledgmentNumber ^ (fAcknowledgmentNumber >>> 32));
- result = prime * result + (fCWRFlag ? 1231 : 1237);
- result = prime * result + fChecksum;
- final Packet child = fChildPacket;
- if (child != null) {
- result = prime * result + child.hashCode();
- } else {
- result = prime * result;
- }
- result = prime * result + fDataOffset;
- result = prime * result + fDestinationPort;
- result = prime * result + (fECEFlag ? 1231 : 1237);
- result = prime * result + (fFINFlag ? 1231 : 1237);
- result = prime * result + (fNSFlag ? 1231 : 1237);
- result = prime * result + Arrays.hashCode(fOptions);
- result = prime * result + (fPSHFlag ? 1231 : 1237);
- final ByteBuffer payload = fPayload;
- if (payload != null) {
- result = prime * result + payload.hashCode();
- } else {
- result = prime * result;
- }
- result = prime * result + (fRSTFlag ? 1231 : 1237);
- result = prime * result + fReservedField;
- result = prime * result + (fSYNFlag ? 1231 : 1237);
- result = prime * result + (int) (fSequenceNumber ^ (fSequenceNumber >>> 32));
- result = prime * result + fSourcePort;
- result = prime * result + (fURGFlag ? 1231 : 1237);
- result = prime * result + fUrgentPointer;
- result = prime * result + fWindowSize;
- return result;
- }
-
- @Override
- public boolean equals(@Nullable Object obj) {
- if (this == obj) {
- return true;
- }
- if (obj == null) {
- return false;
- }
- if (getClass() != obj.getClass()) {
- return false;
- }
- TCPPacket other = (TCPPacket) obj;
- if (fACKFlag != other.fACKFlag) {
- return false;
- }
- if (fAcknowledgmentNumber != other.fAcknowledgmentNumber) {
- return false;
- }
- if (fCWRFlag != other.fCWRFlag) {
- return false;
- }
- if (fChecksum != other.fChecksum) {
- return false;
- }
- final Packet child = fChildPacket;
- if (child != null) {
- if (!child.equals(other.fChildPacket)) {
- return false;
- }
- } else {
- if (other.fChildPacket != null) {
- return false;
- }
- }
-
- if (fDataOffset != other.fDataOffset) {
- return false;
- }
- if (fDestinationPort != other.fDestinationPort) {
- return false;
- }
- if (fECEFlag != other.fECEFlag) {
- return false;
- }
- if (fFINFlag != other.fFINFlag) {
- return false;
- }
- if (fNSFlag != other.fNSFlag) {
- return false;
- }
- if (!Arrays.equals(fOptions, other.fOptions)) {
- return false;
- }
- if (fPSHFlag != other.fPSHFlag) {
- return false;
- }
- final ByteBuffer fPayload2 = fPayload;
- if (fPayload2 != null) {
- if (!fPayload2.equals(other.fPayload)) {
- return false;
- }
- } else {
- if (other.fPayload != null) {
- return false;
- }
- }
- if (fRSTFlag != other.fRSTFlag) {
- return false;
- }
- if (fReservedField != other.fReservedField) {
- return false;
- }
- if (fSYNFlag != other.fSYNFlag) {
- return false;
- }
- if (fSequenceNumber != other.fSequenceNumber) {
- return false;
- }
- if (fSourcePort != other.fSourcePort) {
- return false;
- }
- if (fURGFlag != other.fURGFlag) {
- return false;
- }
- if (fUrgentPointer != other.fUrgentPointer) {
- return false;
- }
- if (fWindowSize != other.fWindowSize) {
- return false;
- }
- return true;
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.pcap.core/src/org/eclipse/linuxtools/internal/pcap/core/protocol/tcp/TCPValues.java b/lttng/org.eclipse.linuxtools.pcap.core/src/org/eclipse/linuxtools/internal/pcap/core/protocol/tcp/TCPValues.java
deleted file mode 100644
index fc1e389a73..0000000000
--- a/lttng/org.eclipse.linuxtools.pcap.core/src/org/eclipse/linuxtools/internal/pcap/core/protocol/tcp/TCPValues.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 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:
- * Vincent Perot - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.internal.pcap.core.protocol.tcp;
-
-/**
- * Interface that lists constants related to TCP.
- *
- * See http://en.wikipedia.org/wiki/Transmission_Control_Protocol#TCP_segment_structure.
- *
- * @author Vincent Perot
- */
-public interface TCPValues {
-
- /** Size in bytes of a default TCP packet header */
- int DEFAULT_HEADER_LENGTH = 5;
-
- /** Size in bytes of a block of data. Used to convert data block to bytes. */
- int BLOCK_SIZE = 4;
-
-}
diff --git a/lttng/org.eclipse.linuxtools.pcap.core/src/org/eclipse/linuxtools/internal/pcap/core/protocol/tcp/package-info.java b/lttng/org.eclipse.linuxtools.pcap.core/src/org/eclipse/linuxtools/internal/pcap/core/protocol/tcp/package-info.java
deleted file mode 100644
index 2f7a7fdc99..0000000000
--- a/lttng/org.eclipse.linuxtools.pcap.core/src/org/eclipse/linuxtools/internal/pcap/core/protocol/tcp/package-info.java
+++ /dev/null
@@ -1,14 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 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:
- * Ericsson - Initial API and implementation
- *******************************************************************************/
-
-@org.eclipse.jdt.annotation.NonNullByDefault
-package org.eclipse.linuxtools.internal.pcap.core.protocol.tcp; \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.pcap.core/src/org/eclipse/linuxtools/internal/pcap/core/protocol/udp/UDPEndpoint.java b/lttng/org.eclipse.linuxtools.pcap.core/src/org/eclipse/linuxtools/internal/pcap/core/protocol/udp/UDPEndpoint.java
deleted file mode 100644
index a55416f933..0000000000
--- a/lttng/org.eclipse.linuxtools.pcap.core/src/org/eclipse/linuxtools/internal/pcap/core/protocol/udp/UDPEndpoint.java
+++ /dev/null
@@ -1,96 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 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:
- * Vincent Perot - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.internal.pcap.core.protocol.udp;
-
-import org.eclipse.jdt.annotation.NonNull;
-import org.eclipse.jdt.annotation.Nullable;
-import org.eclipse.linuxtools.internal.pcap.core.endpoint.ProtocolEndpoint;
-
-/**
- * Class that extends the ProtocolEndpoint class. It represents the endpoint at
- * an UDP level.
- *
- * @author Vincent Perot
- */
-public class UDPEndpoint extends ProtocolEndpoint {
-
- private final int fPort;
-
- /**
- * Constructor of the {@link UDPEndpoint} class. It takes a packet to get
- * its endpoint. Since every packet has two endpoints (source and
- * destination), the isSourceEndpoint parameter is used to specify which
- * endpoint to take.
- *
- * @param packet
- * The packet that contains the endpoints.
- * @param isSourceEndpoint
- * Whether to take the source or the destination endpoint of the
- * packet.
- */
- public UDPEndpoint(UDPPacket packet, boolean isSourceEndpoint) {
- super(packet, isSourceEndpoint);
- fPort = isSourceEndpoint ? packet.getSourcePort() : packet.getDestinationPort();
- }
-
- @Override
- public int hashCode() {
- final int prime = 31;
- int result = 1;
- ProtocolEndpoint endpoint = getParentEndpoint();
- if (endpoint == null) {
- result = 0;
- } else {
- result = endpoint.hashCode();
- }
- result = prime * result + fPort;
- return result;
- }
-
- @Override
- public boolean equals(@Nullable Object obj) {
- if (this == obj) {
- return true;
- }
- if (!(obj instanceof UDPEndpoint)) {
- return false;
- }
-
- UDPEndpoint other = (UDPEndpoint) obj;
-
- // Check on layer
- boolean localEquals = (fPort == other.fPort);
- if (!localEquals) {
- return false;
- }
-
- // Check above layers.
- ProtocolEndpoint endpoint = getParentEndpoint();
- if (endpoint != null) {
- return endpoint.equals(other.getParentEndpoint());
- }
- return true;
- }
-
- @Override
- public String toString() {
- ProtocolEndpoint endpoint = getParentEndpoint();
- if (endpoint == null) {
- @SuppressWarnings("null")
- @NonNull String ret = String.valueOf(fPort);
- return ret;
- }
- return endpoint.toString() + '/' + fPort;
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.pcap.core/src/org/eclipse/linuxtools/internal/pcap/core/protocol/udp/UDPPacket.java b/lttng/org.eclipse.linuxtools.pcap.core/src/org/eclipse/linuxtools/internal/pcap/core/protocol/udp/UDPPacket.java
deleted file mode 100644
index 99d5c98147..0000000000
--- a/lttng/org.eclipse.linuxtools.pcap.core/src/org/eclipse/linuxtools/internal/pcap/core/protocol/udp/UDPPacket.java
+++ /dev/null
@@ -1,301 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 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:
- * Vincent Perot - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.internal.pcap.core.protocol.udp;
-
-import java.nio.ByteBuffer;
-import java.nio.ByteOrder;
-import java.util.Map;
-
-import org.eclipse.jdt.annotation.NonNull;
-import org.eclipse.jdt.annotation.Nullable;
-import org.eclipse.linuxtools.internal.pcap.core.packet.BadPacketException;
-import org.eclipse.linuxtools.internal.pcap.core.packet.Packet;
-import org.eclipse.linuxtools.internal.pcap.core.protocol.PcapProtocol;
-import org.eclipse.linuxtools.internal.pcap.core.protocol.unknown.UnknownPacket;
-import org.eclipse.linuxtools.internal.pcap.core.trace.PcapFile;
-import org.eclipse.linuxtools.internal.pcap.core.util.ConversionHelper;
-
-import com.google.common.collect.ImmutableMap;
-
-/**
- * Class that represents a UDP packet.
- *
- * @author Vincent Perot
- */
-public class UDPPacket extends Packet {
-
- private final @Nullable Packet fChildPacket;
- private final @Nullable ByteBuffer fPayload;
-
- private final int fSourcePort;
- private final int fDestinationPort;
- private final int fTotalLength;
- private final int fChecksum;
-
- private @Nullable UDPEndpoint fSourceEndpoint;
- private @Nullable UDPEndpoint fDestinationEndpoint;
-
- private @Nullable ImmutableMap<String, String> fFields;
-
- /**
- * Constructor of the UDP Packet class.
- *
- * @param file
- * The file that contains this packet.
- * @param parent
- * The parent packet of this packet (the encapsulating packet).
- * @param packet
- * The entire packet (header and payload).
- * @throws BadPacketException
- * Thrown when the packet is erroneous.
- */
- public UDPPacket(PcapFile file, @Nullable Packet parent, ByteBuffer packet) throws BadPacketException {
- super(file, parent, PcapProtocol.UDP);
-
- // The endpoints are lazy loaded. They are defined in the get*Endpoint()
- // methods.
- fSourceEndpoint = null;
- fDestinationEndpoint = null;
-
- fFields = null;
-
- packet.order(ByteOrder.BIG_ENDIAN);
- packet.position(0);
-
- fSourcePort = ConversionHelper.unsignedShortToInt(packet.getShort());
- fDestinationPort = ConversionHelper.unsignedShortToInt(packet.getShort());
- fTotalLength = ConversionHelper.unsignedShortToInt(packet.getShort());
- fChecksum = ConversionHelper.unsignedShortToInt(packet.getShort());
-
- if (packet.array().length - packet.position() > 0) {
- byte[] array = new byte[packet.array().length - packet.position()];
- packet.get(array);
-
- ByteBuffer payload = ByteBuffer.wrap(array);
- payload.order(ByteOrder.BIG_ENDIAN);
- payload.position(0);
- fPayload = payload;
- } else {
- fPayload = null;
- }
-
- // Find child
- fChildPacket = findChildPacket();
-
- }
-
- @Override
- public @Nullable Packet getChildPacket() {
- return fChildPacket;
- }
-
- @Override
- public @Nullable ByteBuffer getPayload() {
- return fPayload;
- }
-
- /**
- * {@inheritDoc}
- *
- * See http://www.iana.org/assignments/service-names-port-numbers/service-
- * names-port-numbers.xhtml or
- * http://en.wikipedia.org/wiki/List_of_TCP_and_UDP_port_numbers
- */
- @Override
- protected @Nullable Packet findChildPacket() throws BadPacketException {
- // TODO implement further protocols and update this
- ByteBuffer payload = fPayload;
- if (payload == null) {
- return null;
- }
-
- return new UnknownPacket(getPcapFile(), this, payload);
- }
-
- @Override
- public String toString() {
- String string = getProtocol().getName() + ", Source Port: " + fSourcePort + ", Destination Port: " + fDestinationPort + //$NON-NLS-1$ //$NON-NLS-2$
- ", Length: " + fTotalLength + ", Checksum: " + fChecksum + "\n"; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- final Packet child = fChildPacket;
- if (child != null) {
- return string + child.toString();
- }
- return string;
- }
-
- /**
- * Getter method that returns the UDP Source Port.
- *
- * @return The source Port.
- */
- public int getSourcePort() {
- return fSourcePort;
- }
-
- /**
- * Getter method that returns the UDP Destination Port.
- *
- * @return The destination Port.
- */
- public int getDestinationPort() {
- return fDestinationPort;
- }
-
- /**
- * Getter method that returns the total length of the packet in bytes. The
- * values it can take go from 8 to 65,515.
- *
- * @return The total length of the packet in bytes.
- */
- public int getTotalLength() {
- return fTotalLength;
- }
-
- /**
- * Getter method that returns the checksum (on header and payload). If the
- * transmitter does not use this field, it is set to zero. This checksum
- * might be wrong if the packet is erroneous.
- *
- * @return The checksum received from the packet.
- */
- public int getChecksum() {
- return fChecksum;
- }
-
- @Override
- public boolean validate() {
- // Not yet implemented. ATM, we consider that all packets are valid.
- // This is the case for all packets.
- // TODO Implement it.
- return true;
- }
-
- @Override
- public UDPEndpoint getSourceEndpoint() {
- @Nullable
- UDPEndpoint endpoint = fSourceEndpoint;
- if (endpoint == null) {
- endpoint = new UDPEndpoint(this, true);
- }
- fSourceEndpoint = endpoint;
- return fSourceEndpoint;
- }
-
- @Override
- public UDPEndpoint getDestinationEndpoint() {
- @Nullable UDPEndpoint endpoint = fDestinationEndpoint;
- if (endpoint == null) {
- endpoint = new UDPEndpoint(this, false);
- }
- fDestinationEndpoint = endpoint;
- return fDestinationEndpoint;
- }
-
- @Override
- public Map<String, String> getFields() {
- ImmutableMap<String, String> map = fFields;
- if (map == null) {
- @SuppressWarnings("null")
- @NonNull ImmutableMap<String, String> newMap = ImmutableMap.<String, String> builder()
- .put("Source Port", String.valueOf(fSourcePort)) //$NON-NLS-1$
- .put("Destination Port", String.valueOf(fDestinationPort)) //$NON-NLS-1$
- .put("Length", String.valueOf(fTotalLength) + " bytes") //$NON-NLS-1$ //$NON-NLS-2$
- .put("Checksum", String.format("%s%04x", "0x", fChecksum)) //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- .build();
- fFields = newMap;
- return newMap;
- }
- return map;
- }
-
- @Override
- public String getLocalSummaryString() {
- return "Src Port: " + fSourcePort + ", Dst Port: " + fDestinationPort; //$NON-NLS-1$ //$NON-NLS-2$
- }
-
- @Override
- protected String getSignificationString() {
- return "Source Port: " + fSourcePort + ", Destination Port: " + fDestinationPort; //$NON-NLS-1$ //$NON-NLS-2$
- }
-
- @Override
- public int hashCode() {
- final int prime = 31;
- int result = 1;
- result = prime * result + fChecksum;
- final Packet child = fChildPacket;
- if (child != null) {
- result = prime * result + child.hashCode();
- } else {
- result = prime * result;
- }
- result = prime * result + fDestinationPort;
- final ByteBuffer payload = fPayload;
- if (payload != null) {
- result = prime * result + payload.hashCode();
- } else {
- result = prime * result;
- }
- result = prime * result + fSourcePort;
- result = prime * result + fTotalLength;
- return result;
- }
-
- @Override
- public boolean equals(@Nullable Object obj) {
- if (this == obj) {
- return true;
- }
- if (obj == null) {
- return false;
- }
- if (getClass() != obj.getClass()) {
- return false;
- }
- UDPPacket other = (UDPPacket) obj;
- if (fChecksum != other.fChecksum) {
- return false;
- }
- final Packet child = fChildPacket;
- if (child != null) {
- if (!child.equals(other.fChildPacket)) {
- return false;
- }
- } else {
- if (other.fChildPacket != null) {
- return false;
- }
- }
- if (fDestinationPort != other.fDestinationPort) {
- return false;
- }
- final ByteBuffer payload = fPayload;
- if (payload != null) {
- if (!payload.equals(other.fPayload)) {
- return false;
- }
- } else {
- if (other.fPayload != null) {
- return false;
- }
- }
- if (fSourcePort != other.fSourcePort) {
- return false;
- }
- if (fTotalLength != other.fTotalLength) {
- return false;
- }
- return true;
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.pcap.core/src/org/eclipse/linuxtools/internal/pcap/core/protocol/udp/package-info.java b/lttng/org.eclipse.linuxtools.pcap.core/src/org/eclipse/linuxtools/internal/pcap/core/protocol/udp/package-info.java
deleted file mode 100644
index a55251124b..0000000000
--- a/lttng/org.eclipse.linuxtools.pcap.core/src/org/eclipse/linuxtools/internal/pcap/core/protocol/udp/package-info.java
+++ /dev/null
@@ -1,14 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 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:
- * Ericsson - Initial API and implementation
- *******************************************************************************/
-
-@org.eclipse.jdt.annotation.NonNullByDefault
-package org.eclipse.linuxtools.internal.pcap.core.protocol.udp; \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.pcap.core/src/org/eclipse/linuxtools/internal/pcap/core/protocol/unknown/UnknownEndpoint.java b/lttng/org.eclipse.linuxtools.pcap.core/src/org/eclipse/linuxtools/internal/pcap/core/protocol/unknown/UnknownEndpoint.java
deleted file mode 100644
index a731bd5d0f..0000000000
--- a/lttng/org.eclipse.linuxtools.pcap.core/src/org/eclipse/linuxtools/internal/pcap/core/protocol/unknown/UnknownEndpoint.java
+++ /dev/null
@@ -1,59 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 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:
- * Vincent Perot - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.internal.pcap.core.protocol.unknown;
-
-import org.eclipse.jdt.annotation.Nullable;
-import org.eclipse.linuxtools.internal.pcap.core.endpoint.ProtocolEndpoint;
-
-/**
- * Class that extends the {@link ProtocolEndpoint} class. It represents the
- * endpoint for a protocol that is unknown.
- *
- * @author Vincent Perot
- */
-public class UnknownEndpoint extends ProtocolEndpoint {
-
- /**
- * Constructor of the {@link UnknownEndpoint} class. It takes a packet to
- * get its endpoint. Since every packet has two endpoints (source and
- * destination), the isSourceEndpoint parameter is used to specify which
- * endpoint to take.
- *
- * @param packet
- * The packet that contains the endpoints.
- * @param isSourceEndpoint
- * Whether to take the source or the destination endpoint of the
- * packet.
- */
- public UnknownEndpoint(UnknownPacket packet, boolean isSourceEndpoint) {
- super(packet, isSourceEndpoint);
- }
-
- @Override
- public int hashCode() {
- return 0;
- }
-
- @Override
- public String toString() {
- return EMPTY_STRING;
- }
-
- @Override
- public boolean equals(@Nullable Object obj) {
- if (this == obj) {
- return true;
- }
- return false;
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.pcap.core/src/org/eclipse/linuxtools/internal/pcap/core/protocol/unknown/UnknownPacket.java b/lttng/org.eclipse.linuxtools.pcap.core/src/org/eclipse/linuxtools/internal/pcap/core/protocol/unknown/UnknownPacket.java
deleted file mode 100644
index b4384eb1be..0000000000
--- a/lttng/org.eclipse.linuxtools.pcap.core/src/org/eclipse/linuxtools/internal/pcap/core/protocol/unknown/UnknownPacket.java
+++ /dev/null
@@ -1,213 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 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:
- * Vincent Perot - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.internal.pcap.core.protocol.unknown;
-
-import java.io.UnsupportedEncodingException;
-import java.nio.ByteBuffer;
-import java.util.Map;
-
-import org.eclipse.jdt.annotation.NonNull;
-import org.eclipse.jdt.annotation.Nullable;
-import org.eclipse.linuxtools.internal.pcap.core.packet.Packet;
-import org.eclipse.linuxtools.internal.pcap.core.protocol.PcapProtocol;
-import org.eclipse.linuxtools.internal.pcap.core.trace.PcapFile;
-import org.eclipse.linuxtools.internal.pcap.core.util.ConversionHelper;
-
-import com.google.common.collect.ImmutableMap;
-import com.google.common.collect.ImmutableMap.Builder;
-
-/**
- * Class that represents an Unknown packet. It is possible to get such a packet
- * if the protocol has not been implemented in this library or if the parent
- * packet was invalid (in certain cases only). The header of such a packet is
- * inexistent.
- *
- * @author Vincent Perot
- */
-public class UnknownPacket extends Packet {
-
- private final @Nullable Packet fChildPacket;
- private final ByteBuffer fPayload;
-
- private @Nullable UnknownEndpoint fSourceEndpoint;
- private @Nullable UnknownEndpoint fDestinationEndpoint;
-
- private @Nullable ImmutableMap<String, String> fFields;
-
- /**
- * Constructor of an Unknown Packet object.
- *
- * @param file
- * The file to which this packet belongs.
- * @param parent
- * The parent packet of this packet.
- * @param packet
- * The entire packet (header and payload).
- */
- public UnknownPacket(PcapFile file, @Nullable Packet parent, ByteBuffer packet) {
- super(file, parent, PcapProtocol.UNKNOWN);
-
- // The endpoints are lazy loaded. They are defined in the get*Endpoint()
- // methods.
- fSourceEndpoint = null;
- fDestinationEndpoint = null;
-
- fFields = null;
-
- // Header is not used. All data go into payload.
- fPayload = packet;
-
- fChildPacket = findChildPacket();
- }
-
- @Override
- public @Nullable Packet getChildPacket() {
- return fChildPacket;
- }
-
- @Override
- public @Nullable ByteBuffer getPayload() {
- return fPayload;
- }
-
- @Override
- protected @Nullable Packet findChildPacket() {
- return null;
- }
-
- @Override
- public String toString() {
- @SuppressWarnings("null")
- @NonNull byte[] array = fPayload.array();
- String string = "Payload: " + ConversionHelper.bytesToHex(array, true); //$NON-NLS-1$
- final Packet child = fChildPacket;
- if (child != null) {
- return string + child.toString();
- }
- return string;
- }
-
- @Override
- public boolean validate() {
- // Not yet implemented. ATM, we consider that all packets are valid.
- // This is the case for all packets.
- // TODO Implement it.
- return true;
- }
-
- @Override
- public UnknownEndpoint getSourceEndpoint() {
- @Nullable UnknownEndpoint endpoint = fSourceEndpoint;
- if (endpoint == null) {
- endpoint = new UnknownEndpoint(this, true);
- }
- fSourceEndpoint = endpoint;
- return fSourceEndpoint;
- }
-
- @Override
- public UnknownEndpoint getDestinationEndpoint() {
- @Nullable UnknownEndpoint endpoint = fDestinationEndpoint;
- if (endpoint == null) {
- endpoint = new UnknownEndpoint(this, false);
- }
- fDestinationEndpoint = endpoint;
- return fDestinationEndpoint;
- }
-
- @Override
- public Map<String, String> getFields() {
- ImmutableMap<String, String> map = fFields;
- if (map == null) {
- @SuppressWarnings("null")
- @NonNull byte[] array = fPayload.array();
-
- Builder<String, String> builder = ImmutableMap.<String, String> builder()
- .put("Binary", ConversionHelper.bytesToHex(array, true)); //$NON-NLS-1$
- try {
- String s = new String(array, "UTF-8"); //$NON-NLS-1$
- builder.put("Character", s); //$NON-NLS-1$
- } catch (UnsupportedEncodingException e) {
- // Do nothing. The string won't be added to the map anyway.
- }
- @SuppressWarnings("null")
- @NonNull ImmutableMap<String, String> newMap = builder.build();
- fFields = newMap;
- return newMap;
- }
- return map;
- }
-
- @Override
- public String getLocalSummaryString() {
- return "Len: " + fPayload.array().length + " bytes"; //$NON-NLS-1$ //$NON-NLS-2$
- }
-
- @Override
- protected String getSignificationString() {
- return "Data: " + fPayload.array().length + " bytes"; //$NON-NLS-1$ //$NON-NLS-2$
- }
-
- @Override
- public Packet getMostEcapsulatedPacket() {
- Packet packet = this.getParentPacket();
- if (packet == null) {
- return this;
- }
- return packet;
- }
-
- @Override
- public int hashCode() {
- final int prime = 31;
- int result = 1;
- final Packet child = fChildPacket;
- if (child != null) {
- result = prime * result + ((fChildPacket == null) ? 0 : child.hashCode());
- } else {
- result = prime * result;
- }
- result = prime * result + fPayload.hashCode();
- return result;
- }
-
- @Override
- public boolean equals(@Nullable Object obj) {
- if (this == obj) {
- return true;
- }
- if (obj == null) {
- return false;
- }
- if (getClass() != obj.getClass()) {
- return false;
- }
- UnknownPacket other = (UnknownPacket) obj;
- final Packet child = fChildPacket;
- if (child != null) {
- if (!child.equals(other.fChildPacket)) {
- return false;
- }
- } else {
- if (other.fChildPacket != null) {
- return false;
- }
- }
-
- if (!fPayload.equals(other.fPayload)) {
- return false;
- }
- return true;
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.pcap.core/src/org/eclipse/linuxtools/internal/pcap/core/protocol/unknown/package-info.java b/lttng/org.eclipse.linuxtools.pcap.core/src/org/eclipse/linuxtools/internal/pcap/core/protocol/unknown/package-info.java
deleted file mode 100644
index 8478b55a88..0000000000
--- a/lttng/org.eclipse.linuxtools.pcap.core/src/org/eclipse/linuxtools/internal/pcap/core/protocol/unknown/package-info.java
+++ /dev/null
@@ -1,14 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 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:
- * Ericsson - Initial API and implementation
- *******************************************************************************/
-
-@org.eclipse.jdt.annotation.NonNullByDefault
-package org.eclipse.linuxtools.internal.pcap.core.protocol.unknown; \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.pcap.core/src/org/eclipse/linuxtools/internal/pcap/core/stream/PacketStream.java b/lttng/org.eclipse.linuxtools.pcap.core/src/org/eclipse/linuxtools/internal/pcap/core/stream/PacketStream.java
deleted file mode 100644
index 2036a01bc3..0000000000
--- a/lttng/org.eclipse.linuxtools.pcap.core/src/org/eclipse/linuxtools/internal/pcap/core/stream/PacketStream.java
+++ /dev/null
@@ -1,269 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 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:
- * Vincent Perot - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.internal.pcap.core.stream;
-
-import org.eclipse.jdt.annotation.NonNull;
-import org.eclipse.linuxtools.internal.pcap.core.endpoint.ProtocolEndpointPair;
-import org.eclipse.linuxtools.internal.pcap.core.packet.Packet;
-import org.eclipse.linuxtools.internal.pcap.core.protocol.PcapProtocol;
-import org.eclipse.linuxtools.internal.pcap.core.protocol.pcap.PcapPacket;
-
-import com.google.common.math.DoubleMath;
-
-// TODO decide if default modifier a good idea. This allows only the
-// stream builder to call that method (and any class that is added to this
-// package). This effectively makes the stream read-only.
-
-/**
- * Class that represents a packet stream, which is a collection of packets that
- * share the same endpoints. The endpoints of a packet are protocol-dependent.
- * For example, a TCP stream is a collection of packets that share the same MAC
- * address, IP address, and Port couple.
- *
- * @author Vincent Perot
- */
-public class PacketStream {
-
- private static final double SECOND_TO_NANOSECOND = 1000000000.0;
- private static final double DELTA = 0.000000001;
- private final PcapProtocol fProtocol;
- private final int fId;
- private final ProtocolEndpointPair fEndpointPair;
-
- private long fNbPacketsAtoB;
- private long fNbPacketsBtoA;
- private long fNbBytesAtoB;
- private long fNbBytesBtoA;
- private long fStartTime;
- private long fEndTime;
-
- /**
- * Constructor of a packet stream.
- *
- * @param protocol
- * The protocol of the packets of the stream. This is needed
- * because the definition of a stream is protocol-dependent.
- * @param id
- * The id of this stream.
- * @param endpointPair
- * The common endpoints of the packets in this stream.
- */
- PacketStream(PcapProtocol protocol, int id, ProtocolEndpointPair endpointPair) {
- fProtocol = protocol;
- fId = id;
- fEndpointPair = endpointPair;
- fNbPacketsAtoB = 0;
- fNbPacketsBtoA = 0;
- fNbBytesAtoB = 0;
- fNbBytesBtoA = 0;
- fStartTime = Long.MAX_VALUE;
- fEndTime = Long.MIN_VALUE;
- }
-
- /**
- * Add a packet to the stream.
- *
- * @param packet
- * The packet that must be added.
- */
- synchronized void add(PcapPacket packet) {
-
- Packet newPacket = packet.getPacket(fProtocol);
- if (newPacket == null) {
- return;
- }
-
- // Update packet and byte number
- if (fEndpointPair.getFirstEndpoint().equals(newPacket.getSourceEndpoint()) &&
- fEndpointPair.getSecondEndpoint().equals(newPacket.getDestinationEndpoint())) {
- fNbPacketsAtoB++;
- fNbBytesAtoB += packet.getOriginalLength();
- } else if (fEndpointPair.getFirstEndpoint().equals(newPacket.getDestinationEndpoint()) &&
- fEndpointPair.getSecondEndpoint().equals(newPacket.getSourceEndpoint())) {
- fNbPacketsBtoA++;
- fNbBytesBtoA += packet.getOriginalLength();
- } else {
- throw new IllegalStateException();
- }
-
- // Update start and stop time
- // Stream timestamp is ALWAYS in nanoseconds.
- long timestamp;
- switch (packet.getTimestampScale()) {
- case MICROSECOND:
- timestamp = packet.getTimestamp() * 1000;
- break;
- case NANOSECOND:
- timestamp = packet.getTimestamp();
- break;
- default:
- throw new IllegalArgumentException("The timestamp precision is not valid!"); //$NON-NLS-1$
- }
- fStartTime = Math.min(fStartTime, timestamp);
- fEndTime = Math.max(fEndTime, timestamp);
- }
-
- /**
- * Get the Protocol of this stream.
- *
- * @return The protocol of this stream.
- */
- public PcapProtocol getProtocol() {
- return fProtocol;
- }
-
- /**
- * Method that returns the non-unique ID of this stream.
- *
- * @return the non-unique ID of this stream.
- */
- public int getID() {
- return fId;
- }
-
- /**
- * Method that returns the unique ID of this stream.
- *
- * @return the unique ID of this stream.
- */
- public String getUniqueID() {
- return fProtocol.getShortName() + '.' + fId;
- }
-
- /**
- * Method that returns the endpoint pair of the stream.
- *
- * @return The endpoint pair of the stream.
- */
- public ProtocolEndpointPair getEndpointPair() {
- return fEndpointPair;
- }
-
- // TODO return also the endpoint set.
- @Override
- public synchronized String toString() {
- StringBuilder sb = new StringBuilder();
- sb.append("Stream " + getUniqueID() + ", Number of Packets: " + getNbPackets() + "\n"); //$NON-NLS-1$//$NON-NLS-2$//$NON-NLS-3$
-
- @SuppressWarnings("null")
- @NonNull String string = sb.toString();
- return string;
-
- }
-
- /**
- * Get the number of packets going from the first endpoint to the second.
- *
- * @return The number of packets from A to B.
- */
- public synchronized long getNbPacketsAtoB() {
- return fNbPacketsAtoB;
- }
-
- /**
- * Get the number of packets going from the second endpoint to the first.
- *
- * @return The number of packets from B to A.
- */
- public synchronized long getNbPacketsBtoA() {
- return fNbPacketsBtoA;
- }
-
- /**
- * Get the total number of packets in this stream.
- *
- * @return The total number of packets.
- */
- public synchronized long getNbPackets() {
- return fNbPacketsAtoB + fNbPacketsBtoA;
- }
-
- /**
- * Get the number of bytes going from the first endpoint to the second.
- *
- * @return The number of bytes from A to B.
- */
- public synchronized long getNbBytesAtoB() {
- return fNbBytesAtoB;
- }
-
- /**
- * Get the number of bytes going from the second endpoint to the first.
- *
- * @return The number of bytes from B to A.
- */
- public synchronized long getNbBytesBtoA() {
- return fNbBytesBtoA;
- }
-
- /**
- * Get the total number of bytes in this stream.
- *
- * @return The total number of bytes.
- */
- public synchronized long getNbBytes() {
- return fNbBytesAtoB + fNbBytesBtoA;
- }
-
- /**
- * Get the start time of this stream, in nanoseconds relative to epoch.
- *
- * @return The start time.
- */
- public synchronized long getStartTime() {
- return fStartTime;
- }
-
- /**
- * Get the stop time of this stream, in nanoseconds relative to epoch.
- *
- * @return The stop time.
- */
- public synchronized long getStopTime() {
- return fEndTime;
- }
-
- /**
- * Get the duration of this stream, in seconds
- *
- * @return The duration of this stream.
- */
- public synchronized double getDuration() {
- return (fEndTime - fStartTime) / SECOND_TO_NANOSECOND;
- }
-
- /**
- * Get the the average byte per second from A to B.
- *
- * @return the average byte per second from A to B.
- */
- public synchronized double getBPSAtoB() {
- if (DoubleMath.fuzzyEquals(getDuration(), 0, DELTA)) {
- return 0;
- }
- return fNbBytesAtoB / getDuration();
- }
-
- /**
- * Get the the average byte per second from B to A.
- *
- * @return the average byte per second from B to A.
- */
- public synchronized double getBPSBtoA() {
- if (DoubleMath.fuzzyEquals(getDuration(), 0, DELTA)) {
- return 0;
- }
- return fNbBytesBtoA / getDuration();
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.pcap.core/src/org/eclipse/linuxtools/internal/pcap/core/stream/PacketStreamBuilder.java b/lttng/org.eclipse.linuxtools.pcap.core/src/org/eclipse/linuxtools/internal/pcap/core/stream/PacketStreamBuilder.java
deleted file mode 100644
index 6780b3d465..0000000000
--- a/lttng/org.eclipse.linuxtools.pcap.core/src/org/eclipse/linuxtools/internal/pcap/core/stream/PacketStreamBuilder.java
+++ /dev/null
@@ -1,182 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 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:
- * Vincent Perot - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.internal.pcap.core.stream;
-
-import java.io.IOException;
-import java.nio.file.Path;
-import java.util.HashMap;
-import java.util.LinkedList;
-import java.util.Map;
-
-import org.eclipse.jdt.annotation.Nullable;
-import org.eclipse.linuxtools.internal.pcap.core.endpoint.ProtocolEndpoint;
-import org.eclipse.linuxtools.internal.pcap.core.endpoint.ProtocolEndpointPair;
-import org.eclipse.linuxtools.internal.pcap.core.filter.IPacketFilter;
-import org.eclipse.linuxtools.internal.pcap.core.filter.PacketFilterByProtocol;
-import org.eclipse.linuxtools.internal.pcap.core.packet.BadPacketException;
-import org.eclipse.linuxtools.internal.pcap.core.packet.Packet;
-import org.eclipse.linuxtools.internal.pcap.core.protocol.PcapProtocol;
-import org.eclipse.linuxtools.internal.pcap.core.protocol.pcap.PcapPacket;
-import org.eclipse.linuxtools.internal.pcap.core.trace.BadPcapFileException;
-import org.eclipse.linuxtools.internal.pcap.core.trace.PcapFile;
-
-/**
- * Class that parse an entire pcap file to build the different streams.
- *
- * @author Vincent Perot
- */
-public class PacketStreamBuilder {
-
- private final IPacketFilter fPacketFilter;
- private final PcapProtocol fProtocol;
-
- private final Map<Integer, PacketStream> fStreams;
- private final Map<ProtocolEndpointPair, Integer> fIDs;
- private int fCurrentId;
-
- /**
- * Main constructor.
- *
- * @param protocol
- * The protocol of the builder.
- */
- public PacketStreamBuilder(PcapProtocol protocol) {
- fCurrentId = 0;
- fProtocol = protocol;
- fPacketFilter = new PacketFilterByProtocol(protocol);
- fStreams = new HashMap<>();
- fIDs = new HashMap<>();
- }
-
- /**
- * Method that returns a particular stream based on its ID.
- *
- * @param id
- * The ID of the stream.
- * @return The stream that has the specified ID.
- */
- public synchronized @Nullable PacketStream getStream(int id) {
- return fStreams.get(id);
- }
-
- /**
- * Method that returns a particular stream based on its endpoints. It
- * returns null if no corresponding stream is found.
- *
- * @param endpointA
- * The first endpoint of the stream.
- * @param endpointB
- * The second endpoint of the stream.
- *
- * @return The stream that has the specified endpoints. Return Null if no
- * stream is found between the two endpoints.
- */
- public synchronized @Nullable PacketStream getStream(ProtocolEndpoint endpointA, ProtocolEndpoint endpointB) {
- ProtocolEndpointPair set = new ProtocolEndpointPair(endpointA, endpointB);
- int id = fIDs.get(set);
- return fStreams.get(id);
- }
-
- /**
- * Method that returns all the streams at the specified protocol level.
- *
- * @return The streams as a list.
- */
- public synchronized Iterable<PacketStream> getStreams() {
- Iterable<PacketStream> iterable = new LinkedList<>(fStreams.values());
- return iterable;
- }
-
- /**
- * Method that is called when the filter accepts a packet. This methods add
- * the packet to a stream based on its characteristics.
- *
- * @param packet
- * The packet to be added.
- */
- public synchronized void addPacketToStream(PcapPacket packet) {
- if (fPacketFilter.accepts(packet)) {
- @Nullable Packet newPacket = packet.getPacket(fProtocol);
- if (newPacket == null) {
- return;
- }
- ProtocolEndpointPair endpointSet = new ProtocolEndpointPair(newPacket);
- if (!fIDs.containsKey(endpointSet)) {
- fIDs.put(endpointSet, fCurrentId);
- fStreams.put(fCurrentId, new PacketStream(fProtocol, fCurrentId, endpointSet));
- fStreams.get(fCurrentId).add(packet);
- fCurrentId++;
- } else {
- Integer id = fIDs.get(endpointSet);
- fStreams.get(id).add(packet);
- }
- }
- return;
- }
-
- /**
- * Getter method for the protocol of the stream builder.
- *
- * @return The protocol.
- */
- public PcapProtocol getProtocol() {
- return fProtocol;
- }
-
- /**
- * Method that clears the builder.
- */
- public void clear() {
- fStreams.clear();
- fIDs.clear();
- fCurrentId = 0;
- }
-
- /**
- * Method that returns the number of streams built.
- *
- * @return The number of streams built.
- */
- public synchronized int getNbStreams() {
- return fStreams.size();
- }
-
- /**
- * Method that parse an entire file and build the streams contained in the
- * file.
- *
- * @param filePath
- * The file path.
- * @throws IOException
- * When an IO error occurs.
- * @throws BadPcapFileException
- * When the PcapFile is not valid.
- */
- public synchronized void parsePcapFile(Path filePath) throws IOException, BadPcapFileException {
- try (PcapFile pcapFile = new PcapFile(filePath);) {
- while (pcapFile.hasNextPacket()) { // not eof
- PcapPacket packet;
- try {
- packet = pcapFile.parseNextPacket();
- if (packet == null) {
- return;
- }
- addPacketToStream(packet);
- } catch (BadPacketException e) {
- // Ignore packet. Do nothing.
- }
- }
- }
-
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.pcap.core/src/org/eclipse/linuxtools/internal/pcap/core/stream/package-info.java b/lttng/org.eclipse.linuxtools.pcap.core/src/org/eclipse/linuxtools/internal/pcap/core/stream/package-info.java
deleted file mode 100644
index e9904b7a8b..0000000000
--- a/lttng/org.eclipse.linuxtools.pcap.core/src/org/eclipse/linuxtools/internal/pcap/core/stream/package-info.java
+++ /dev/null
@@ -1,14 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 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:
- * Ericsson - Initial API and implementation
- *******************************************************************************/
-
-@org.eclipse.jdt.annotation.NonNullByDefault
-package org.eclipse.linuxtools.internal.pcap.core.stream; \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.pcap.core/src/org/eclipse/linuxtools/internal/pcap/core/trace/BadPcapFileException.java b/lttng/org.eclipse.linuxtools.pcap.core/src/org/eclipse/linuxtools/internal/pcap/core/trace/BadPcapFileException.java
deleted file mode 100644
index dbf825d343..0000000000
--- a/lttng/org.eclipse.linuxtools.pcap.core/src/org/eclipse/linuxtools/internal/pcap/core/trace/BadPcapFileException.java
+++ /dev/null
@@ -1,64 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 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:
- * Vincent Perot - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.internal.pcap.core.trace;
-
-/**
- * Exception that is thrown when the Pcap file is not valid.
- *
- * @author Vincent Perot
- */
-public class BadPcapFileException extends Exception {
-
- private static final long serialVersionUID = 8228512814116052260L;
-
- /**
- * Default constructor with no message.
- */
- public BadPcapFileException() {
- super();
- }
-
- /**
- * Constructor with an attached message.
- *
- * @param message
- * The message attached to this exception
- */
- public BadPcapFileException(String message) {
- super(message);
- }
-
- /**
- * Re-throw an exception into this type.
- *
- * @param e
- * The previous Exception we caught
- */
- public BadPcapFileException(Exception e) {
- super(e);
- }
-
- /**
- * Constructor with an attached message and re-throw an exception into this
- * type.
- *
- * @param message
- * The message attached to this exception
- * @param exception
- * The previous Exception caught
- */
- public BadPcapFileException(String message, Throwable exception) {
- super(message, exception);
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.pcap.core/src/org/eclipse/linuxtools/internal/pcap/core/trace/PcapFile.java b/lttng/org.eclipse.linuxtools.pcap.core/src/org/eclipse/linuxtools/internal/pcap/core/trace/PcapFile.java
deleted file mode 100644
index 2c29c8afde..0000000000
--- a/lttng/org.eclipse.linuxtools.pcap.core/src/org/eclipse/linuxtools/internal/pcap/core/trace/PcapFile.java
+++ /dev/null
@@ -1,401 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 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:
- * Vincent Perot - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.internal.pcap.core.trace;
-
-import java.io.Closeable;
-import java.io.IOException;
-import java.nio.ByteBuffer;
-import java.nio.ByteOrder;
-import java.nio.channels.SeekableByteChannel;
-import java.nio.file.Files;
-import java.nio.file.Path;
-import java.util.TreeMap;
-
-import org.eclipse.jdt.annotation.NonNull;
-import org.eclipse.jdt.annotation.Nullable;
-import org.eclipse.linuxtools.internal.pcap.core.packet.BadPacketException;
-import org.eclipse.linuxtools.internal.pcap.core.protocol.pcap.PcapPacket;
-import org.eclipse.linuxtools.internal.pcap.core.util.ConversionHelper;
-import org.eclipse.linuxtools.internal.pcap.core.util.PcapTimestampScale;
-
-/**
- * Class that allows the interaction with a pcap file.
- *
- * @author Vincent Perot
- */
-public class PcapFile implements Closeable {
-
- // TODO add pcapng support.
- // TODO Make parsing faster by buffering the data.
-
- private final Path fPcapFilePath;
- private final ByteOrder fByteOrder;
- private final SeekableByteChannel fFileChannel;
- private final PcapTimestampScale fTimestampPrecision;
-
- private final int fMajorVersion;
- private final int fMinorVersion;
- private final long fTimeAccuracy;
- private final long fTimeZoneCorrection;
- private final long fSnapshotLength;
- private final long fDataLinkType;
-
- private final TreeMap<Long, Long> fFileIndex;
-
- private long fCurrentRank;
- private long fTotalNumberPackets;
-
- /**
- * Constructor of the PcapFile Class.
- *
- * @param filePath
- * The path to the pcap file.
- *
- * @throws BadPcapFileException
- * Thrown if the Pcap File is not valid.
- * @throws IOException
- * Thrown if there is an IO error while reading the file.
- */
- public PcapFile(Path filePath) throws BadPcapFileException, IOException {
-
- fFileIndex = new TreeMap<>();
- fCurrentRank = 0;
- fTotalNumberPackets = -1;
- fPcapFilePath = filePath;
-
- // Check file validity
- if (Files.notExists(fPcapFilePath) || !Files.isRegularFile(fPcapFilePath) ||
- Files.size(fPcapFilePath) < PcapFileValues.GLOBAL_HEADER_SIZE) {
- throw new BadPcapFileException("Bad Pcap File."); //$NON-NLS-1$
- }
-
- if (!Files.isReadable(fPcapFilePath)) {
- throw new BadPcapFileException("File is not readable."); //$NON-NLS-1$
- }
-
- // File is not empty. Try to open.
- @SuppressWarnings("null")
- @NonNull SeekableByteChannel channel = Files.newByteChannel(fPcapFilePath);
- fFileChannel = channel;
-
- // Parse the global header.
- // Read the magic number (4 bytes) from the input stream
- // and determine the mode (big endian or little endian)
- ByteBuffer globalHeader = ByteBuffer.allocate(PcapFileValues.GLOBAL_HEADER_SIZE);
- globalHeader.clear();
- fFileChannel.read(globalHeader);
- globalHeader.flip();
- int magicNumber = globalHeader.getInt();
-
- @SuppressWarnings("null")
- @NonNull ByteOrder be = ByteOrder.BIG_ENDIAN;
- @SuppressWarnings("null")
- @NonNull ByteOrder le = ByteOrder.LITTLE_ENDIAN;
-
- switch (magicNumber) {
- case PcapFileValues.MAGIC_BIG_ENDIAN_MICRO: // file is big endian
- fByteOrder = be;
- fTimestampPrecision = PcapTimestampScale.MICROSECOND;
- break;
- case PcapFileValues.MAGIC_LITTLE_ENDIAN_MICRO: // file is little endian
- fByteOrder = le;
- fTimestampPrecision = PcapTimestampScale.MICROSECOND;
- break;
- case PcapFileValues.MAGIC_BIG_ENDIAN_NANO: // file is big endian
- fByteOrder = be;
- fTimestampPrecision = PcapTimestampScale.NANOSECOND;
- break;
- case PcapFileValues.MAGIC_LITTLE_ENDIAN_NANO: // file is little endian
- fByteOrder = le;
- fTimestampPrecision = PcapTimestampScale.NANOSECOND;
- break;
- default:
- this.close();
- throw new BadPcapFileException(String.format("%08x", magicNumber) + " is not a known magic number."); //$NON-NLS-1$ //$NON-NLS-2$
- }
-
- // Put the rest of the buffer in file endian.
- globalHeader.order(fByteOrder);
-
- // Initialization of global header fields.
- fMajorVersion = ConversionHelper.unsignedShortToInt(globalHeader.getShort());
- fMinorVersion = ConversionHelper.unsignedShortToInt(globalHeader.getShort());
- fTimeAccuracy = ConversionHelper.unsignedIntToLong(globalHeader.getInt());
- fTimeZoneCorrection = ConversionHelper.unsignedIntToLong(globalHeader.getInt());
- fSnapshotLength = ConversionHelper.unsignedIntToLong(globalHeader.getInt());
- fDataLinkType = ConversionHelper.unsignedIntToLong(globalHeader.getInt());
-
- fFileIndex.put(fCurrentRank, fFileChannel.position());
-
- }
-
- /**
- * Method that allows the parsing of a packet at the current position.
- *
- * @return The parsed Pcap Packet.
- * @throws IOException
- * Thrown when there is an error while reading the file.
- * @throws BadPcapFileException
- * Thrown when a packet header is invalid.
- * @throws BadPacketException
- * Thrown when the packet is erroneous.
- */
- public synchronized @Nullable PcapPacket parseNextPacket() throws IOException, BadPcapFileException, BadPacketException {
-
- // Parse the packet header
- if (fFileChannel.size() - fFileChannel.position() == 0) {
- return null;
- }
- if (fFileChannel.size() - fFileChannel.position() < PcapFileValues.PACKET_HEADER_SIZE) {
- throw new BadPcapFileException("A pcap header is invalid."); //$NON-NLS-1$
- }
-
- ByteBuffer pcapPacketHeader = ByteBuffer.allocate(PcapFileValues.PACKET_HEADER_SIZE);
- pcapPacketHeader.clear();
- pcapPacketHeader.order(fByteOrder);
-
- fFileChannel.read(pcapPacketHeader);
-
- pcapPacketHeader.flip();
- pcapPacketHeader.position(PcapFileValues.INCLUDED_LENGTH_POSITION);
- long includedPacketLength = ConversionHelper.unsignedIntToLong(pcapPacketHeader.getInt());
-
- if (fFileChannel.size() - fFileChannel.position() < includedPacketLength) {
- throw new BadPcapFileException("A packet header is invalid."); //$NON-NLS-1$
- }
-
- if (includedPacketLength > Integer.MAX_VALUE) {
- throw new BadPacketException("Packets that are bigger than 2^31-1 bytes are not supported."); //$NON-NLS-1$
- }
-
- ByteBuffer pcapPacketData = ByteBuffer.allocate((int) includedPacketLength);
- pcapPacketData.clear();
- pcapPacketHeader.order(ByteOrder.BIG_ENDIAN); // Not really needed.
- fFileChannel.read(pcapPacketData);
-
- pcapPacketData.flip();
-
- fFileIndex.put(++fCurrentRank, fFileChannel.position());
-
- return new PcapPacket(this, null, pcapPacketHeader, pcapPacketData, fCurrentRank - 1);
-
- }
-
- /**
- * Method that allows to skip a packet at the current position.
- *
- * @throws IOException
- * Thrown when there is an error while reading the file.
- * @throws BadPcapFileException
- * Thrown when a packet header is invalid.
- */
- public synchronized void skipNextPacket() throws IOException, BadPcapFileException {
-
- // Parse the packet header
- if (fFileChannel.size() - fFileChannel.position() == 0) {
- return;
- }
- if (fFileChannel.size() - fFileChannel.position() < PcapFileValues.PACKET_HEADER_SIZE) {
- throw new BadPcapFileException("A pcap header is invalid."); //$NON-NLS-1$
- }
-
- ByteBuffer pcapPacketHeader = ByteBuffer.allocate(PcapFileValues.PACKET_HEADER_SIZE);
- pcapPacketHeader.clear();
- pcapPacketHeader.order(fByteOrder);
-
- fFileChannel.read(pcapPacketHeader);
-
- pcapPacketHeader.flip();
- pcapPacketHeader.position(PcapFileValues.INCLUDED_LENGTH_POSITION);
- long includedPacketLength = ConversionHelper.unsignedIntToLong(pcapPacketHeader.getInt());
-
- if (fFileChannel.size() - fFileChannel.position() < includedPacketLength) {
- throw new BadPcapFileException("A packet header is invalid."); //$NON-NLS-1$
- }
-
- fFileChannel.position(fFileChannel.position() + includedPacketLength);
-
- fFileIndex.put(++fCurrentRank, fFileChannel.position());
-
- }
-
- /**
- * Method that moves the position to the specified rank.
- *
- * @param rank
- * The rank of the packet.
- *
- * @throws IOException
- * Thrown when there is an error while reading the file.
- * @throws BadPcapFileException
- * Thrown when a packet header is invalid.
- */
- public synchronized void seekPacket(long rank) throws IOException, BadPcapFileException {
-
- // Verify argument
- if (rank < 0) {
- throw new IllegalArgumentException();
- }
-
- Long positionInBytes = fFileIndex.get(rank);
-
- if (positionInBytes != null) {
- // Index is known. Move to position.
- fFileChannel.position(positionInBytes.longValue());
- fCurrentRank = rank;
- } else {
- // Index is unknown. Find the corresponding position.
- // Find closest index
- fCurrentRank = fFileIndex.floorKey(rank);
- // skip until wanted packet is found
- do {
- skipNextPacket();
- } while (fCurrentRank != rank && hasNextPacket());
- }
- }
-
- /**
- * Method that indicates if there are packets remaining to read. It is an
- * end of file indicator.
- *
- * @return Whether the pcap still has packets or not.
- * @throws IOException
- * If some IO error occurs.
- */
- public synchronized boolean hasNextPacket() throws IOException {
- return ((fFileChannel.size() - fFileChannel.position()) > 0);
- }
-
- /**
- * Getter method for the Byte Order of the file.
- *
- * @return The byte Order of the file.
- */
- public ByteOrder getByteOrder() {
- return fByteOrder;
- }
-
- /**
- * Getter method for the Major Version of the file.
- *
- * @return The Major Version of the file.
- */
- public int getMajorVersion() {
- return fMajorVersion;
- }
-
- /**
- * Getter method for the Minor Version of the file.
- *
- * @return The Minor Version of the file.
- */
- public int getMinorVersion() {
- return fMinorVersion;
- }
-
- /**
- * Getter method for the time accuracy of the file.
- *
- * @return The time accuracy of the file.
- */
- public long getTimeAccuracy() {
- return fTimeAccuracy;
- }
-
- /**
- * Getter method for the time zone correction of the file.
- *
- * @return The time zone correction of the file.
- */
- public long getTimeZoneCorrection() {
- return fTimeZoneCorrection;
- }
-
- /**
- * Getter method for the snapshot length of the file.
- *
- * @return The snapshot length of the file.
- */
- public long getSnapLength() {
- return fSnapshotLength;
- }
-
- /**
- * Getter method for the datalink type of the file. This parameter is used
- * to determine higher-level protocols (Ethernet, WLAN, SLL).
- *
- * @return The datalink type of the file.
- */
- public long getDataLinkType() {
- return fDataLinkType;
- }
-
- /**
- * Getter method for the path of the file.
- *
- * @return The path of the file.
- */
- public Path getPath() {
- return fPcapFilePath;
- }
-
- /**
- * Method that returns the total number of packets in the file.
- *
- * @return The total number of packets.
- * @throws IOException
- * Thrown when some IO error occurs.
- * @throws BadPcapFileException
- * Thrown when a packet header is invalid.
- */
- public synchronized long getTotalNbPackets() throws IOException, BadPcapFileException {
- if (fTotalNumberPackets == -1) {
- long rank = fCurrentRank;
- fCurrentRank = fFileIndex.floorKey(rank);
-
- // skip until end of file.
- while (hasNextPacket()) {
- skipNextPacket();
- }
- fTotalNumberPackets = fCurrentRank;
- fCurrentRank = rank;
- seekPacket(rank);
- }
- return fTotalNumberPackets;
- }
-
- /**
- * Getter method that returns the current rank in the file (the packet
- * number).
- *
- * @return The current rank.
- */
- public synchronized long getCurrentRank() {
- return fCurrentRank;
- }
-
- /**
- * Getter method that returns the timestamp precision of the file.
- *
- * @return The the timestamp precision of the file.
- */
- public PcapTimestampScale getTimestampPrecision() {
- return fTimestampPrecision;
- }
-
- @Override
- public void close() throws IOException {
- fFileChannel.close();
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.pcap.core/src/org/eclipse/linuxtools/internal/pcap/core/trace/PcapFileValues.java b/lttng/org.eclipse.linuxtools.pcap.core/src/org/eclipse/linuxtools/internal/pcap/core/trace/PcapFileValues.java
deleted file mode 100644
index 169a0c388d..0000000000
--- a/lttng/org.eclipse.linuxtools.pcap.core/src/org/eclipse/linuxtools/internal/pcap/core/trace/PcapFileValues.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 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:
- * Vincent Perot - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.internal.pcap.core.trace;
-
-/**
- * Interface that lists constants related to a Pcap File.
- *
- * See http://wiki.wireshark.org/Development/LibpcapFileFormat.
- *
- * @author Vincent Perot
- */
-public interface PcapFileValues {
-
- /** Number used to determine the endianness and precision of the file */
- int MAGIC_BIG_ENDIAN_MICRO = 0xa1b2c3d4;
-
- /** Number used to determine the endianness and precision of the file */
- int MAGIC_LITTLE_ENDIAN_MICRO = 0xd4c3b2a1;
-
- /** Number used to determine the endianness and precision of the file */
- int MAGIC_BIG_ENDIAN_NANO = 0xa1b23c4d;
-
- /** Number used to determine the endianness and precision of the file */
- int MAGIC_LITTLE_ENDIAN_NANO = 0x4d3cb2a1;
-
- /** Size in bytes of a Pcap file global header */
- int GLOBAL_HEADER_SIZE = 24;
-
- /** Size in bytes of a Pcap packet header */
- int PACKET_HEADER_SIZE = 16;
-
- /** Position in bytes in the packet header of the packet's length */
- int INCLUDED_LENGTH_POSITION = 8;
-
-}
diff --git a/lttng/org.eclipse.linuxtools.pcap.core/src/org/eclipse/linuxtools/internal/pcap/core/trace/package-info.java b/lttng/org.eclipse.linuxtools.pcap.core/src/org/eclipse/linuxtools/internal/pcap/core/trace/package-info.java
deleted file mode 100644
index 1b5ed9ac32..0000000000
--- a/lttng/org.eclipse.linuxtools.pcap.core/src/org/eclipse/linuxtools/internal/pcap/core/trace/package-info.java
+++ /dev/null
@@ -1,14 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 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:
- * Ericsson - Initial API and implementation
- *******************************************************************************/
-
-@org.eclipse.jdt.annotation.NonNullByDefault
-package org.eclipse.linuxtools.internal.pcap.core.trace; \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.pcap.core/src/org/eclipse/linuxtools/internal/pcap/core/util/ConversionHelper.java b/lttng/org.eclipse.linuxtools.pcap.core/src/org/eclipse/linuxtools/internal/pcap/core/util/ConversionHelper.java
deleted file mode 100644
index 7757dbb122..0000000000
--- a/lttng/org.eclipse.linuxtools.pcap.core/src/org/eclipse/linuxtools/internal/pcap/core/util/ConversionHelper.java
+++ /dev/null
@@ -1,184 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 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:
- * Vincent Perot - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.internal.pcap.core.util;
-
-import java.text.DateFormat;
-import java.text.SimpleDateFormat;
-import java.util.Date;
-
-import org.eclipse.jdt.annotation.NonNull;
-import org.eclipse.linuxtools.internal.pcap.core.protocol.ethernet2.EthernetIIValues;
-
-/**
- * Class for helping with the conversion of data.
- *
- * @author Vincent Perot
- */
-public final class ConversionHelper {
-
- @SuppressWarnings("null")
- private static final @NonNull char[] HEX_ARRAY = "0123456789abcdef".toCharArray(); //$NON-NLS-1$
- private static final String EMPTY_STRING = ""; //$NON-NLS-1$
- private static final String DEFAULT_TIME_PATTERN = "yyyy-MM-dd HH:mm:ss.SSS"; //$NON-NLS-1$
- private static final DateFormat DATE_FORMATTER = new SimpleDateFormat(DEFAULT_TIME_PATTERN);
-
- private ConversionHelper() {
- }
-
- /**
- * Generate an integer from an unsigned byte.
- *
- * @param n
- * the unsigned byte.
- * @return the integer representing the unsigned value.
- */
- public static int unsignedByteToInt(byte n) {
- return n & 0x000000FF;
- }
-
- /**
- * Generate an integer from an unsigned short.
- *
- * @param n
- * the unsigned short.
- * @return the integer representing the unsigned value.
- */
- public static int unsignedShortToInt(short n) {
- return n & 0x0000FFFF;
- }
-
- /**
- * Generate a long from an unsigned integer.
- *
- * @param n
- * the unsigned integer.
- * @return the long representing the unsigned value.
- */
- public static long unsignedIntToLong(int n) {
- return n & 0x00000000FFFFFFFFL;
- }
-
- /**
- * Generate an hex number from a byte array.
- *
- * @param bytes
- * The array of bytes.
- * @param spaced
- * Whether there must be a space between each byte or not.
- * @return the hex as a string.
- */
- public static String bytesToHex(byte[] bytes, boolean spaced) {
- // No need to check for character encoding since bytes represents a
- // number.
-
- if (bytes.length == 0) {
- return EMPTY_STRING;
- }
-
- char[] hexChars = spaced ? new char[bytes.length * 3 - 1] : new char[bytes.length * 2];
- int delta = spaced ? 3 : 2;
- char separator = ' ';
-
- for (int j = 0; j < bytes.length; j++) {
-
- int v = bytes[j] & 0xFF;
- hexChars[j * delta] = HEX_ARRAY[v >>> 4];
- hexChars[j * delta + 1] = HEX_ARRAY[v & 0x0F];
-
- if (spaced && (j != bytes.length - 1)) {
- hexChars[j * delta + 2] = separator;
- }
- }
- return new String(hexChars);
- }
-
- // TODO Add little endian support
- /**
- * Generate a string representing the MAC address.
- *
- * @param mac
- * The MAC address as a byte array.
- * @return The string representing the MAC address.
- */
- public static String toMacAddress(byte[] mac) {
-
- if (mac.length != EthernetIIValues.MAC_ADDRESS_SIZE) {
- throw new IllegalArgumentException();
- }
- char separator = ':';
- return String.format("%02x", mac[0]) + separator + //$NON-NLS-1$
- String.format("%02x", mac[1]) + separator + //$NON-NLS-1$
- String.format("%02x", mac[2]) + separator + //$NON-NLS-1$
- String.format("%02x", mac[3]) + separator + //$NON-NLS-1$
- String.format("%02x", mac[4]) + separator + //$NON-NLS-1$
- String.format("%02x", mac[5]); //$NON-NLS-1$
-
- }
-
- // TODO support non GMT time.
-
- /**
- * Convert a timestamp into a date.
- *
- * @param ts
- * The timestamp. It represents the time since Epoch in
- * microseconds.
- * @param scale
- * The scale of the timestamp.
- * @return The date as a string.
- */
- public static String toGMTTime(long ts, PcapTimestampScale scale) {
- long timestamp;
- switch (scale) {
- case MICROSECOND:
- timestamp = ts * 1000;
- break;
- case NANOSECOND:
- timestamp = ts;
- break;
- default:
- throw new IllegalArgumentException("The timestamp precision is not valid!"); //$NON-NLS-1$
- }
- return format(timestamp);
- }
-
- /**
- * Format the timestamp to a string.
- *
- * @param value
- * the timestamp value to format (in ns)
- * @return the formatted timestamp
- */
- private static String format(long value) {
- // Split the timestamp value into its sub-components
- long date = value / 1000000; // milliseconds since epoch
- long cs = Math.abs((value % 1000000) / 1000); // microseconds
- long ns = Math.abs(value % 1000); // nanoseconds
-
- Date dateObject = new Date(date);
-
- StringBuilder sb = new StringBuilder(DATE_FORMATTER.format(dateObject));
- sb.append('.')
- .append(String.format("%03d", cs)) //$NON-NLS-1$
- .append('.')
- .append(String.format("%03d", ns)); //$NON-NLS-1$
-
- String string = sb.toString();
- if (string == null) {
- return EMPTY_STRING;
- }
- return string;
-
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.pcap.core/src/org/eclipse/linuxtools/internal/pcap/core/util/EthertypeHelper.java b/lttng/org.eclipse.linuxtools.pcap.core/src/org/eclipse/linuxtools/internal/pcap/core/util/EthertypeHelper.java
deleted file mode 100644
index 8f5f81aa69..0000000000
--- a/lttng/org.eclipse.linuxtools.pcap.core/src/org/eclipse/linuxtools/internal/pcap/core/util/EthertypeHelper.java
+++ /dev/null
@@ -1,82 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 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:
- * Vincent Perot - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.internal.pcap.core.util;
-
-// TODO finish this
-// TODO maybe match it to protocol instead of string.
-
-/**
- * Helper that is used to help mapping a certain ethertype to a particular
- * protocol (i.e. IPv4). This is used when finding the child packet of an
- * Ethernet packet, for instance.
- *
- * See http://en.wikipedia.org/wiki/EtherType
- *
- * @author Vincent Perot
- */
-public final class EthertypeHelper {
-
- /** EtherType IPv4 */
- public static final int ETHERTYPE_IPV4 = 0x0800;
-
- /** EtherType ARP */
- public static final int ETHERTYPE_ARP = 0x0806;
-
- /** EtherType Wake-On-LAN */
- public static final int ETHERTYPE_WAKE_ON_LAN = 0x0842;
-
- /** EtherType TRILL */
- public static final int ETHERTYPE_TRILL = 0x22F3;
-
- /** EtherType DECnet Phase IV */
- public static final int ETHERTYPE_DECNET_PHASE_IV = 0x6003;
-
- private EthertypeHelper() {}
-
- /**
- * Method that matches the ethertype as a number, to a protocol as a string.
- *
- * @param ethertype
- * The Ethertype as an int.
- * @return The protocol as a string.
- */
- public static String toString(int ethertype) {
- switch (ethertype) {
- case ETHERTYPE_IPV4:
- return "Internet Protocol Version 4"; //$NON-NLS-1$
- case ETHERTYPE_ARP:
- return "Address Resolution Protocol"; //$NON-NLS-1$
- case ETHERTYPE_WAKE_ON_LAN:
- return "Wake-on-LAN"; //$NON-NLS-1$
- case ETHERTYPE_TRILL:
- return "IETF TRILL Protocol"; //$NON-NLS-1$
- case ETHERTYPE_DECNET_PHASE_IV:
- return "DECnet Phase IV"; //$NON-NLS-1$
- default:
- return "Unknown"; //$NON-NLS-1$
- }
- }
-
- /**
- * Convert an ethertype (int) into its string representation. This allows
- * the mapping of ethertype to the real protocol name.
- *
- * @param type
- * The Ethertype to convert.
- * @return The Ethertype as a string.
- */
- public static String toEtherType(int type) {
- return toString(type) + " (0x" + String.format("%04x", type) + ")"; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.pcap.core/src/org/eclipse/linuxtools/internal/pcap/core/util/IPProtocolNumberHelper.java b/lttng/org.eclipse.linuxtools.pcap.core/src/org/eclipse/linuxtools/internal/pcap/core/util/IPProtocolNumberHelper.java
deleted file mode 100644
index 5a3a875dc2..0000000000
--- a/lttng/org.eclipse.linuxtools.pcap.core/src/org/eclipse/linuxtools/internal/pcap/core/util/IPProtocolNumberHelper.java
+++ /dev/null
@@ -1,81 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 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:
- * Vincent Perot - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.internal.pcap.core.util;
-
-import org.eclipse.linuxtools.internal.pcap.core.protocol.PcapProtocol;
-
-// TODO finish this
-// TODO maybe match it to protocol instead of string.
-
-/**
- * Helper that is used to help mapping a certain protocol number to a particular
- * protocol (i.e. TCP). This is used when finding the child packet of an IPv4
- * packet, for instance.
- *
- * See http://en.wikipedia.org/wiki/List_of_IP_protocol_numbers
- *
- * @author Vincent Perot
- */
-public final class IPProtocolNumberHelper {
-
- /** Protocol Number ICMP */
- public static final int PROTOCOL_NUMBER_ICMP = 1;
-
- /** Protocol Number IGMP */
- public static final int PROTOCOL_NUMBER_IGMP = 2;
-
- /** Protocol Number TCP */
- public static final int PROTOCOL_NUMBER_TCP = 6;
-
- /** Protocol Number UDP */
- public static final int PROTOCOL_NUMBER_UDP = 17;
-
- /** Protocol Number Encapsulated IPv6 */
- public static final int PROTOCOL_NUMBER_ENCAP_IPV6 = 41;
-
- /** Protocol Number OSPF */
- public static final int PROTOCOL_NUMBER_OSPF = 89;
-
- /** Protocol Number SCTP */
- public static final int PROTOCOL_NUMBER_SCTP = 132;
-
- private IPProtocolNumberHelper() {}
-
- /**
- * Method that match the protocol number to a protocol as a string.
- *
- * @param protocolNumber
- * The protocol number as an int.
- * @return The protocol as a string.
- */
- public static String toString(int protocolNumber) {
- switch (protocolNumber) {
- case PROTOCOL_NUMBER_ICMP:
- return "ICMP"; //$NON-NLS-1$
- case PROTOCOL_NUMBER_IGMP:
- return "IGMP"; //$NON-NLS-1$
- case PROTOCOL_NUMBER_TCP:
- return PcapProtocol.TCP.getName();
- case PROTOCOL_NUMBER_UDP:
- return PcapProtocol.UDP.getName();
- case PROTOCOL_NUMBER_ENCAP_IPV6:
- return "IPv6"; //$NON-NLS-1$
- case PROTOCOL_NUMBER_OSPF:
- return "OSPF"; //$NON-NLS-1$
- case PROTOCOL_NUMBER_SCTP:
- return "SCTP"; //$NON-NLS-1$
- default:
- return "Unknown"; //$NON-NLS-1$
- }
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.pcap.core/src/org/eclipse/linuxtools/internal/pcap/core/util/LinkTypeHelper.java b/lttng/org.eclipse.linuxtools.pcap.core/src/org/eclipse/linuxtools/internal/pcap/core/util/LinkTypeHelper.java
deleted file mode 100644
index 4241864520..0000000000
--- a/lttng/org.eclipse.linuxtools.pcap.core/src/org/eclipse/linuxtools/internal/pcap/core/util/LinkTypeHelper.java
+++ /dev/null
@@ -1,79 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 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:
- * Vincent Perot - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.internal.pcap.core.util;
-
-// TODO finish this
-// TODO map to protocol instead of string? that would make more sense imo.
-
-/**
- * Helper that is used to help mapping a certain linktype to a particular
- * protocol (i.e. ethernet).
- *
- * See http://www.tcpdump.org/linktypes.html
- *
- * @author Vincent Perot
- */
-public final class LinkTypeHelper {
-
- /** Linktype Null */
- public static final int LINKTYPE_NULL = 0;
-
- /** Linktype Ethernet II */
- public static final int LINKTYPE_ETHERNET = 1;
-
- /** Linktype AX25 */
- public static final int LINKTYPE_AX25 = 3;
-
- /** Linktype IEEE802.5 */
- public static final int LINKTYPE_IEEE802_5 = 6;
-
- /** Linktype Raw */
- public static final int LINKTYPE_RAW = 101;
-
- /** Linktype IEEE802.11 */
- public static final int LINKTYPE_IEEE802_11 = 105;
-
- /** Linktype Linux SLL */
- public static final int LINKTYPE_LINUX_SLL = 113;
-
- private LinkTypeHelper() {}
-
- /**
- * Method that match the linktype as an int to a protocol as a string.
- *
- * @param linkType
- * The linkType as an int.
- * @return The protocol as a string.
- */
- public static String toString(int linkType) {
- switch (linkType) {
- case LINKTYPE_NULL:
- return "null"; //$NON-NLS-1$
- case LINKTYPE_ETHERNET:
- return "ethernet"; //$NON-NLS-1$
- case LINKTYPE_AX25:
- return "ax25"; //$NON-NLS-1$
- case LINKTYPE_IEEE802_5:
- return "ieee802.5"; //$NON-NLS-1$
- case LINKTYPE_RAW:
- return "raw"; //$NON-NLS-1$
- case LINKTYPE_IEEE802_11:
- return "ieee802.11"; //$NON-NLS-1$
- case LINKTYPE_LINUX_SLL:
- return "linux_sll"; //$NON-NLS-1$
- default:
- return "unknown"; //$NON-NLS-1$
- }
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.pcap.core/src/org/eclipse/linuxtools/internal/pcap/core/util/PcapTimestampScale.java b/lttng/org.eclipse.linuxtools.pcap.core/src/org/eclipse/linuxtools/internal/pcap/core/util/PcapTimestampScale.java
deleted file mode 100644
index 9dc04fcc39..0000000000
--- a/lttng/org.eclipse.linuxtools.pcap.core/src/org/eclipse/linuxtools/internal/pcap/core/util/PcapTimestampScale.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 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:
- * Vincent Perot - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.internal.pcap.core.util;
-
-/**
- * Enum for the different time precision for pcap files.
- *
- * @author Vincent Perot
- */
-public enum PcapTimestampScale {
-
- /** Microsecond Pcap */
- MICROSECOND,
- /** Nanosecond Pcap */
- NANOSECOND
-}
diff --git a/lttng/org.eclipse.linuxtools.pcap.core/src/org/eclipse/linuxtools/internal/pcap/core/util/package-info.java b/lttng/org.eclipse.linuxtools.pcap.core/src/org/eclipse/linuxtools/internal/pcap/core/util/package-info.java
deleted file mode 100644
index da154e4298..0000000000
--- a/lttng/org.eclipse.linuxtools.pcap.core/src/org/eclipse/linuxtools/internal/pcap/core/util/package-info.java
+++ /dev/null
@@ -1,14 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 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:
- * Ericsson - Initial API and implementation
- *******************************************************************************/
-
-@org.eclipse.jdt.annotation.NonNullByDefault
-package org.eclipse.linuxtools.internal.pcap.core.util; \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.statesystem.core.tests/.classpath b/lttng/org.eclipse.linuxtools.statesystem.core.tests/.classpath
deleted file mode 100644
index 098194ca4b..0000000000
--- a/lttng/org.eclipse.linuxtools.statesystem.core.tests/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
- <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.7"/>
- <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
- <classpathentry kind="src" path="src"/>
- <classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/lttng/org.eclipse.linuxtools.statesystem.core.tests/.project b/lttng/org.eclipse.linuxtools.statesystem.core.tests/.project
deleted file mode 100644
index a394c8e302..0000000000
--- a/lttng/org.eclipse.linuxtools.statesystem.core.tests/.project
+++ /dev/null
@@ -1,34 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>org.eclipse.linuxtools.statesystem.core.tests</name>
- <comment></comment>
- <projects>
- </projects>
- <buildSpec>
- <buildCommand>
- <name>org.eclipse.jdt.core.javabuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.ManifestBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.SchemaBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.api.tools.apiAnalysisBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>org.eclipse.pde.PluginNature</nature>
- <nature>org.eclipse.jdt.core.javanature</nature>
- <nature>org.eclipse.pde.api.tools.apiAnalysisNature</nature>
- </natures>
-</projectDescription>
diff --git a/lttng/org.eclipse.linuxtools.statesystem.core.tests/.settings/org.eclipse.core.resources.prefs b/lttng/org.eclipse.linuxtools.statesystem.core.tests/.settings/org.eclipse.core.resources.prefs
deleted file mode 100644
index 99f26c0203..0000000000
--- a/lttng/org.eclipse.linuxtools.statesystem.core.tests/.settings/org.eclipse.core.resources.prefs
+++ /dev/null
@@ -1,2 +0,0 @@
-eclipse.preferences.version=1
-encoding/<project>=UTF-8
diff --git a/lttng/org.eclipse.linuxtools.statesystem.core.tests/.settings/org.eclipse.core.runtime.prefs b/lttng/org.eclipse.linuxtools.statesystem.core.tests/.settings/org.eclipse.core.runtime.prefs
deleted file mode 100644
index 5a0ad22d2a..0000000000
--- a/lttng/org.eclipse.linuxtools.statesystem.core.tests/.settings/org.eclipse.core.runtime.prefs
+++ /dev/null
@@ -1,2 +0,0 @@
-eclipse.preferences.version=1
-line.separator=\n
diff --git a/lttng/org.eclipse.linuxtools.statesystem.core.tests/.settings/org.eclipse.jdt.core.prefs b/lttng/org.eclipse.linuxtools.statesystem.core.tests/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index f3fc64575b..0000000000
--- a/lttng/org.eclipse.linuxtools.statesystem.core.tests/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,393 +0,0 @@
-eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.annotation.inheritNullAnnotations=enabled
-org.eclipse.jdt.core.compiler.annotation.missingNonNullByDefaultAnnotation=ignore
-org.eclipse.jdt.core.compiler.annotation.nonnull=org.eclipse.jdt.annotation.NonNull
-org.eclipse.jdt.core.compiler.annotation.nonnullbydefault=org.eclipse.jdt.annotation.NonNullByDefault
-org.eclipse.jdt.core.compiler.annotation.nullable=org.eclipse.jdt.annotation.Nullable
-org.eclipse.jdt.core.compiler.annotation.nullanalysis=enabled
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.7
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.doc.comment.support=enabled
-org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=error
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
-org.eclipse.jdt.core.compiler.problem.comparingIdentical=error
-org.eclipse.jdt.core.compiler.problem.deadCode=error
-org.eclipse.jdt.core.compiler.problem.deprecation=error
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=enabled
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled
-org.eclipse.jdt.core.compiler.problem.discouragedReference=error
-org.eclipse.jdt.core.compiler.problem.emptyStatement=error
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.problem.explicitlyClosedAutoCloseable=error
-org.eclipse.jdt.core.compiler.problem.fallthroughCase=error
-org.eclipse.jdt.core.compiler.problem.fatalOptionalError=disabled
-org.eclipse.jdt.core.compiler.problem.fieldHiding=error
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=error
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=error
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=error
-org.eclipse.jdt.core.compiler.problem.includeNullInfoFromAsserts=disabled
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=error
-org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=error
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=error
-org.eclipse.jdt.core.compiler.problem.invalidJavadoc=warning
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTags=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=protected
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=error
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=error
-org.eclipse.jdt.core.compiler.problem.missingDefaultCase=error
-org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=error
-org.eclipse.jdt.core.compiler.problem.missingEnumCaseDespiteDefault=enabled
-org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=error
-org.eclipse.jdt.core.compiler.problem.missingJavadocComments=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=protected
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagDescription=all_standard_tags
-org.eclipse.jdt.core.compiler.problem.missingJavadocTags=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsMethodTypeParameters=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=protected
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=error
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotationForInterfaceMethodImplementation=enabled
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=error
-org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=error
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=error
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=error
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=ignore
-org.eclipse.jdt.core.compiler.problem.nonnullParameterAnnotationDropped=warning
-org.eclipse.jdt.core.compiler.problem.nullAnnotationInferenceConflict=warning
-org.eclipse.jdt.core.compiler.problem.nullReference=error
-org.eclipse.jdt.core.compiler.problem.nullSpecViolation=error
-org.eclipse.jdt.core.compiler.problem.nullUncheckedConversion=warning
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=error
-org.eclipse.jdt.core.compiler.problem.parameterAssignment=error
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=error
-org.eclipse.jdt.core.compiler.problem.potentialNullReference=error
-org.eclipse.jdt.core.compiler.problem.potentiallyUnclosedCloseable=warning
-org.eclipse.jdt.core.compiler.problem.rawTypeReference=error
-org.eclipse.jdt.core.compiler.problem.redundantNullAnnotation=warning
-org.eclipse.jdt.core.compiler.problem.redundantNullCheck=error
-org.eclipse.jdt.core.compiler.problem.redundantSpecificationOfTypeArguments=error
-org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=error
-org.eclipse.jdt.core.compiler.problem.reportMethodCanBePotentiallyStatic=ignore
-org.eclipse.jdt.core.compiler.problem.reportMethodCanBeStatic=error
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=error
-org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=disabled
-org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
-org.eclipse.jdt.core.compiler.problem.syntacticNullAnalysisForFields=enabled
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
-org.eclipse.jdt.core.compiler.problem.typeParameterHiding=error
-org.eclipse.jdt.core.compiler.problem.unavoidableGenericTypeProblems=disabled
-org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=error
-org.eclipse.jdt.core.compiler.problem.unclosedCloseable=error
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
-org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=error
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=error
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=error
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=error
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=disabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=disabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=error
-org.eclipse.jdt.core.compiler.problem.unusedLabel=error
-org.eclipse.jdt.core.compiler.problem.unusedLocal=error
-org.eclipse.jdt.core.compiler.problem.unusedObjectAllocation=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=error
-org.eclipse.jdt.core.compiler.problem.unusedTypeParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedWarningToken=error
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=error
-org.eclipse.jdt.core.compiler.source=1.7
-org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_assignment=0
-org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
-org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
-org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
-org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
-org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0
-org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=80
-org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=0
-org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch=16
-org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_after_package=1
-org.eclipse.jdt.core.formatter.blank_lines_before_field=0
-org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
-org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
-org.eclipse.jdt.core.formatter.blank_lines_before_method=1
-org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
-org.eclipse.jdt.core.formatter.blank_lines_before_package=0
-org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
-org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
-org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
-org.eclipse.jdt.core.formatter.comment.format_block_comments=true
-org.eclipse.jdt.core.formatter.comment.format_header=false
-org.eclipse.jdt.core.formatter.comment.format_html=true
-org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=true
-org.eclipse.jdt.core.formatter.comment.format_line_comments=true
-org.eclipse.jdt.core.formatter.comment.format_source_code=true
-org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true
-org.eclipse.jdt.core.formatter.comment.indent_root_tags=true
-org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
-org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=insert
-org.eclipse.jdt.core.formatter.comment.line_length=80
-org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries=true
-org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries=true
-org.eclipse.jdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments=false
-org.eclipse.jdt.core.formatter.compact_else_if=true
-org.eclipse.jdt.core.formatter.continuation_indentation=2
-org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2
-org.eclipse.jdt.core.formatter.disabling_tag=@formatter\:off
-org.eclipse.jdt.core.formatter.enabling_tag=@formatter\:on
-org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
-org.eclipse.jdt.core.formatter.format_line_comment_starting_on_first_column=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
-org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_empty_lines=false
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=false
-org.eclipse.jdt.core.formatter.indentation.size=4
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_label=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_try=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources=insert
-org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_try=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
-org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.join_lines_in_comments=true
-org.eclipse.jdt.core.formatter.join_wrapped_lines=false
-org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.lineSplit=250
-org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
-org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
-org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true
-org.eclipse.jdt.core.formatter.tabulation.char=space
-org.eclipse.jdt.core.formatter.tabulation.size=4
-org.eclipse.jdt.core.formatter.use_on_off_tags=false
-org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
-org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
-org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true
-org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true
diff --git a/lttng/org.eclipse.linuxtools.statesystem.core.tests/.settings/org.eclipse.jdt.ui.prefs b/lttng/org.eclipse.linuxtools.statesystem.core.tests/.settings/org.eclipse.jdt.ui.prefs
deleted file mode 100644
index 4fd0c7006a..0000000000
--- a/lttng/org.eclipse.linuxtools.statesystem.core.tests/.settings/org.eclipse.jdt.ui.prefs
+++ /dev/null
@@ -1,56 +0,0 @@
-eclipse.preferences.version=1
-editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
-formatter_profile=_tmf-style
-formatter_settings_version=12
-sp_cleanup.add_default_serial_version_id=true
-sp_cleanup.add_generated_serial_version_id=false
-sp_cleanup.add_missing_annotations=false
-sp_cleanup.add_missing_deprecated_annotations=true
-sp_cleanup.add_missing_methods=false
-sp_cleanup.add_missing_nls_tags=false
-sp_cleanup.add_missing_override_annotations=true
-sp_cleanup.add_missing_override_annotations_interface_methods=true
-sp_cleanup.add_serial_version_id=false
-sp_cleanup.always_use_blocks=true
-sp_cleanup.always_use_parentheses_in_expressions=false
-sp_cleanup.always_use_this_for_non_static_field_access=false
-sp_cleanup.always_use_this_for_non_static_method_access=false
-sp_cleanup.convert_to_enhanced_for_loop=false
-sp_cleanup.correct_indentation=false
-sp_cleanup.format_source_code=false
-sp_cleanup.format_source_code_changes_only=false
-sp_cleanup.make_local_variable_final=false
-sp_cleanup.make_parameters_final=false
-sp_cleanup.make_private_fields_final=true
-sp_cleanup.make_type_abstract_if_missing_method=false
-sp_cleanup.make_variable_declarations_final=false
-sp_cleanup.never_use_blocks=false
-sp_cleanup.never_use_parentheses_in_expressions=true
-sp_cleanup.on_save_use_additional_actions=true
-sp_cleanup.organize_imports=false
-sp_cleanup.qualify_static_field_accesses_with_declaring_class=false
-sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_with_declaring_class=false
-sp_cleanup.qualify_static_method_accesses_with_declaring_class=false
-sp_cleanup.remove_private_constructors=true
-sp_cleanup.remove_trailing_whitespaces=true
-sp_cleanup.remove_trailing_whitespaces_all=true
-sp_cleanup.remove_trailing_whitespaces_ignore_empty=false
-sp_cleanup.remove_unnecessary_casts=false
-sp_cleanup.remove_unnecessary_nls_tags=false
-sp_cleanup.remove_unused_imports=false
-sp_cleanup.remove_unused_local_variables=false
-sp_cleanup.remove_unused_private_fields=true
-sp_cleanup.remove_unused_private_members=false
-sp_cleanup.remove_unused_private_methods=true
-sp_cleanup.remove_unused_private_types=true
-sp_cleanup.sort_members=false
-sp_cleanup.sort_members_all=false
-sp_cleanup.use_blocks=true
-sp_cleanup.use_blocks_only_for_return_and_throw=false
-sp_cleanup.use_parentheses_in_expressions=false
-sp_cleanup.use_this_for_non_static_field_access=false
-sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=true
-sp_cleanup.use_this_for_non_static_method_access=false
-sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true
diff --git a/lttng/org.eclipse.linuxtools.statesystem.core.tests/.settings/org.eclipse.pde.api.tools.prefs b/lttng/org.eclipse.linuxtools.statesystem.core.tests/.settings/org.eclipse.pde.api.tools.prefs
deleted file mode 100644
index acc3abd47c..0000000000
--- a/lttng/org.eclipse.linuxtools.statesystem.core.tests/.settings/org.eclipse.pde.api.tools.prefs
+++ /dev/null
@@ -1,97 +0,0 @@
-ANNOTATION_ELEMENT_TYPE_ADDED_METHOD_WITHOUT_DEFAULT_VALUE=Error
-ANNOTATION_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
-ANNOTATION_ELEMENT_TYPE_REMOVED_FIELD=Error
-ANNOTATION_ELEMENT_TYPE_REMOVED_METHOD=Error
-ANNOTATION_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
-API_COMPONENT_ELEMENT_TYPE_REMOVED_API_TYPE=Error
-API_COMPONENT_ELEMENT_TYPE_REMOVED_REEXPORTED_API_TYPE=Error
-API_COMPONENT_ELEMENT_TYPE_REMOVED_REEXPORTED_TYPE=Error
-API_COMPONENT_ELEMENT_TYPE_REMOVED_TYPE=Error
-API_USE_SCAN_FIELD_SEVERITY=Error
-API_USE_SCAN_METHOD_SEVERITY=Error
-API_USE_SCAN_TYPE_SEVERITY=Error
-CLASS_ELEMENT_TYPE_ADDED_METHOD=Error
-CLASS_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
-CLASS_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
-CLASS_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error
-CLASS_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
-CLASS_ELEMENT_TYPE_CHANGED_NON_ABSTRACT_TO_ABSTRACT=Error
-CLASS_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error
-CLASS_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
-CLASS_ELEMENT_TYPE_REMOVED_CONSTRUCTOR=Error
-CLASS_ELEMENT_TYPE_REMOVED_FIELD=Error
-CLASS_ELEMENT_TYPE_REMOVED_METHOD=Error
-CLASS_ELEMENT_TYPE_REMOVED_SUPERCLASS=Error
-CLASS_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
-CLASS_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
-CONSTRUCTOR_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
-CONSTRUCTOR_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
-CONSTRUCTOR_ELEMENT_TYPE_CHANGED_VARARGS_TO_ARRAY=Error
-CONSTRUCTOR_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
-ENUM_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error
-ENUM_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
-ENUM_ELEMENT_TYPE_REMOVED_ENUM_CONSTANT=Error
-ENUM_ELEMENT_TYPE_REMOVED_FIELD=Error
-ENUM_ELEMENT_TYPE_REMOVED_METHOD=Error
-ENUM_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
-FIELD_ELEMENT_TYPE_ADDED_VALUE=Error
-FIELD_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
-FIELD_ELEMENT_TYPE_CHANGED_FINAL_TO_NON_FINAL_STATIC_CONSTANT=Error
-FIELD_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error
-FIELD_ELEMENT_TYPE_CHANGED_NON_STATIC_TO_STATIC=Error
-FIELD_ELEMENT_TYPE_CHANGED_STATIC_TO_NON_STATIC=Error
-FIELD_ELEMENT_TYPE_CHANGED_TYPE=Error
-FIELD_ELEMENT_TYPE_CHANGED_VALUE=Error
-FIELD_ELEMENT_TYPE_REMOVED_TYPE_ARGUMENT=Error
-FIELD_ELEMENT_TYPE_REMOVED_VALUE=Error
-ILLEGAL_EXTEND=Warning
-ILLEGAL_IMPLEMENT=Warning
-ILLEGAL_INSTANTIATE=Warning
-ILLEGAL_OVERRIDE=Warning
-ILLEGAL_REFERENCE=Warning
-INTERFACE_ELEMENT_TYPE_ADDED_FIELD=Error
-INTERFACE_ELEMENT_TYPE_ADDED_METHOD=Error
-INTERFACE_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
-INTERFACE_ELEMENT_TYPE_ADDED_SUPER_INTERFACE_WITH_METHODS=Error
-INTERFACE_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
-INTERFACE_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error
-INTERFACE_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
-INTERFACE_ELEMENT_TYPE_REMOVED_FIELD=Error
-INTERFACE_ELEMENT_TYPE_REMOVED_METHOD=Error
-INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
-INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
-INVALID_JAVADOC_TAG=Warning
-INVALID_REFERENCE_IN_SYSTEM_LIBRARIES=Warning
-LEAK_EXTEND=Warning
-LEAK_FIELD_DECL=Warning
-LEAK_IMPLEMENT=Warning
-LEAK_METHOD_PARAM=Warning
-LEAK_METHOD_RETURN_TYPE=Warning
-METHOD_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
-METHOD_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
-METHOD_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
-METHOD_ELEMENT_TYPE_CHANGED_NON_ABSTRACT_TO_ABSTRACT=Error
-METHOD_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error
-METHOD_ELEMENT_TYPE_CHANGED_NON_STATIC_TO_STATIC=Error
-METHOD_ELEMENT_TYPE_CHANGED_STATIC_TO_NON_STATIC=Error
-METHOD_ELEMENT_TYPE_CHANGED_VARARGS_TO_ARRAY=Error
-METHOD_ELEMENT_TYPE_REMOVED_ANNOTATION_DEFAULT_VALUE=Error
-METHOD_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
-MISSING_EE_DESCRIPTIONS=Ignore
-TYPE_PARAMETER_ELEMENT_TYPE_ADDED_CLASS_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_ADDED_INTERFACE_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_CHANGED_CLASS_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_CHANGED_INTERFACE_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_CLASS_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error
-UNUSED_PROBLEM_FILTERS=Warning
-automatically_removed_unused_problem_filters=false
-eclipse.preferences.version=1
-incompatible_api_component_version=Error
-incompatible_api_component_version_include_major_without_breaking_change=Disabled
-incompatible_api_component_version_include_minor_without_api_change=Disabled
-invalid_since_tag_version=Error
-malformed_since_tag=Error
-missing_since_tag=Error
-report_api_breakage_when_major_version_incremented=Disabled
-report_resolution_errors_api_component=Warning
diff --git a/lttng/org.eclipse.linuxtools.statesystem.core.tests/.settings/org.eclipse.pde.prefs b/lttng/org.eclipse.linuxtools.statesystem.core.tests/.settings/org.eclipse.pde.prefs
deleted file mode 100644
index 62cfa90dee..0000000000
--- a/lttng/org.eclipse.linuxtools.statesystem.core.tests/.settings/org.eclipse.pde.prefs
+++ /dev/null
@@ -1,32 +0,0 @@
-compilers.f.unresolved-features=1
-compilers.f.unresolved-plugins=1
-compilers.incompatible-environment=1
-compilers.p.build=1
-compilers.p.build.bin.includes=1
-compilers.p.build.encodings=2
-compilers.p.build.java.compiler=2
-compilers.p.build.java.compliance=1
-compilers.p.build.missing.output=2
-compilers.p.build.output.library=1
-compilers.p.build.source.library=1
-compilers.p.build.src.includes=1
-compilers.p.deprecated=1
-compilers.p.discouraged-class=1
-compilers.p.internal=1
-compilers.p.missing-packages=2
-compilers.p.missing-version-export-package=2
-compilers.p.missing-version-import-package=2
-compilers.p.missing-version-require-bundle=2
-compilers.p.no-required-att=0
-compilers.p.not-externalized-att=2
-compilers.p.unknown-attribute=1
-compilers.p.unknown-class=1
-compilers.p.unknown-element=1
-compilers.p.unknown-identifier=1
-compilers.p.unknown-resource=1
-compilers.p.unresolved-ex-points=0
-compilers.p.unresolved-import=0
-compilers.s.create-docs=false
-compilers.s.doc-folder=doc
-compilers.s.open-tags=1
-eclipse.preferences.version=1
diff --git a/lttng/org.eclipse.linuxtools.statesystem.core.tests/META-INF/MANIFEST.MF b/lttng/org.eclipse.linuxtools.statesystem.core.tests/META-INF/MANIFEST.MF
deleted file mode 100644
index 2c00e152b9..0000000000
--- a/lttng/org.eclipse.linuxtools.statesystem.core.tests/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,14 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %Bundle-Name
-Bundle-Vendor: %Bundle-Vendor
-Bundle-Version: 3.1.0.qualifier
-Bundle-Localization: plugin
-Bundle-SymbolicName: org.eclipse.linuxtools.statesystem.core.tests;singleton:=true
-Bundle-ActivationPolicy: lazy
-Bundle-RequiredExecutionEnvironment: JavaSE-1.7
-Require-Bundle: org.junit;bundle-version="4.0.0",
- org.eclipse.core.runtime,
- org.eclipse.core.resources,
- org.eclipse.linuxtools.statesystem.core;bundle-version="3.1.0"
-Export-Package: org.eclipse.linuxtools.statesystem.core.tests
diff --git a/lttng/org.eclipse.linuxtools.statesystem.core.tests/about.html b/lttng/org.eclipse.linuxtools.statesystem.core.tests/about.html
deleted file mode 100644
index c258ef55d8..0000000000
--- a/lttng/org.eclipse.linuxtools.statesystem.core.tests/about.html
+++ /dev/null
@@ -1,28 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
-<title>About</title>
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
-
-<p>June 5, 2006</p>
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;). Unless otherwise
-indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is available
-at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is
-being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content. Check the Redistributor's license that was
-provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at <a href="http://www.eclipse.org/">http://www.eclipse.org</a>.</p>
-
-</body>
-</html> \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.statesystem.core.tests/build.properties b/lttng/org.eclipse.linuxtools.statesystem.core.tests/build.properties
deleted file mode 100644
index 2ccaf4558e..0000000000
--- a/lttng/org.eclipse.linuxtools.statesystem.core.tests/build.properties
+++ /dev/null
@@ -1,20 +0,0 @@
-###############################################################################
-# Copyright (c) 2014 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:
-# Ericsson - Initial API and implementation
-###############################################################################
-
-source.. = src/
-output.. = bin/
-bin.includes = META-INF/,\
- .,\
- plugin.properties
-src.includes = about.html
-additional.bundles = org.eclipse.jdt.annotation
-jars.extra.classpath = platform:/plugin/org.eclipse.jdt.annotation
diff --git a/lttng/org.eclipse.linuxtools.statesystem.core.tests/plugin.properties b/lttng/org.eclipse.linuxtools.statesystem.core.tests/plugin.properties
deleted file mode 100644
index a9244eb08b..0000000000
--- a/lttng/org.eclipse.linuxtools.statesystem.core.tests/plugin.properties
+++ /dev/null
@@ -1,15 +0,0 @@
-###############################################################################
-# Copyright (c) 2014 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:
-# Ericsson - Initial API and implementation
-###############################################################################
-
-#Properties file for org.eclipse.linuxtools.statesystem.core.tests
-Bundle-Vendor = Eclipse Linux Tools
-Bundle-Name = Linux Tools State System Core Tests Plug-in
diff --git a/lttng/org.eclipse.linuxtools.statesystem.core.tests/pom.xml b/lttng/org.eclipse.linuxtools.statesystem.core.tests/pom.xml
deleted file mode 100644
index 9f766ccf9a..0000000000
--- a/lttng/org.eclipse.linuxtools.statesystem.core.tests/pom.xml
+++ /dev/null
@@ -1,46 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Copyright (C) 2014, 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
--->
-
-<project xmlns="http://maven.apache.org/POM/4.0.0"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
- <modelVersion>4.0.0</modelVersion>
-
- <parent>
- <artifactId>linuxtools-lttng-parent</artifactId>
- <groupId>org.eclipse.linuxtools.lttng</groupId>
- <version>3.2.0-SNAPSHOT</version>
- </parent>
-
- <artifactId>org.eclipse.linuxtools.statesystem.core.tests</artifactId>
- <version>3.1.0-SNAPSHOT</version>
- <packaging>eclipse-test-plugin</packaging>
-
- <name>Linux Tools State System Core Tests Plug-in</name>
-
- <build>
- <plugins>
- <plugin>
- <groupId>org.eclipse.tycho</groupId>
- <artifactId>tycho-surefire-plugin</artifactId>
- <version>${tycho-version}</version>
- <configuration>
- <testSuite>org.eclipse.linuxtools.statesystem.core.tests</testSuite>
- <testClass>org.eclipse.linuxtools.statesystem.core.tests.AllTests</testClass>
- <useUIHarness>false</useUIHarness>
- <useUIThread>false</useUIThread>
- <product>org.eclipse.platform.ide</product>
- </configuration>
- </plugin>
- </plugins>
- </build>
-
- <groupId>org.eclipse.linuxtools.statesystem</groupId>
-</project>
diff --git a/lttng/org.eclipse.linuxtools.statesystem.core.tests/src/org/eclipse/linuxtools/statesystem/core/tests/AllTests.java b/lttng/org.eclipse.linuxtools.statesystem.core.tests/src/org/eclipse/linuxtools/statesystem/core/tests/AllTests.java
deleted file mode 100644
index e4dbc926ab..0000000000
--- a/lttng/org.eclipse.linuxtools.statesystem.core.tests/src/org/eclipse/linuxtools/statesystem/core/tests/AllTests.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 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:
- * Alexandre Montplaisir - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.statesystem.core.tests;
-
-import org.junit.runner.RunWith;
-import org.junit.runners.Suite;
-
-/**
- * Master test suite
- */
-@RunWith(Suite.class)
-@Suite.SuiteClasses({
- StateSystemPushPopTest.class,
- org.eclipse.linuxtools.statesystem.core.tests.backend.AllTests.class
-})
-public class AllTests {
-
-}
diff --git a/lttng/org.eclipse.linuxtools.statesystem.core.tests/src/org/eclipse/linuxtools/statesystem/core/tests/StateSystemPushPopTest.java b/lttng/org.eclipse.linuxtools.statesystem.core.tests/src/org/eclipse/linuxtools/statesystem/core/tests/StateSystemPushPopTest.java
deleted file mode 100644
index 5ab292330b..0000000000
--- a/lttng/org.eclipse.linuxtools.statesystem.core.tests/src/org/eclipse/linuxtools/statesystem/core/tests/StateSystemPushPopTest.java
+++ /dev/null
@@ -1,312 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2012, 2014 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:
- * Alexandre Montplaisir - Initial API and implementation
- * Alexandre Montplaisir - Port to JUnit4
- ******************************************************************************/
-
-package org.eclipse.linuxtools.statesystem.core.tests;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertTrue;
-import static org.junit.Assert.fail;
-
-import java.io.File;
-import java.io.IOException;
-import java.util.List;
-
-import org.eclipse.linuxtools.internal.statesystem.core.StateSystem;
-import org.eclipse.linuxtools.statesystem.core.ITmfStateSystemBuilder;
-import org.eclipse.linuxtools.statesystem.core.backend.IStateHistoryBackend;
-import org.eclipse.linuxtools.statesystem.core.backend.historytree.HistoryTreeBackend;
-import org.eclipse.linuxtools.statesystem.core.exceptions.AttributeNotFoundException;
-import org.eclipse.linuxtools.statesystem.core.exceptions.StateSystemDisposedException;
-import org.eclipse.linuxtools.statesystem.core.exceptions.StateValueTypeException;
-import org.eclipse.linuxtools.statesystem.core.exceptions.TimeRangeException;
-import org.eclipse.linuxtools.statesystem.core.interval.ITmfStateInterval;
-import org.eclipse.linuxtools.statesystem.core.statevalue.ITmfStateValue;
-import org.eclipse.linuxtools.statesystem.core.statevalue.TmfStateValue;
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Test;
-
-/**
- * Unit tests for stack-attributes in the Generic State System (using
- * pushAttribute() and popAttribute())
- *
- * @author Alexandre Montplaisir
- */
-public class StateSystemPushPopTest {
-
- private ITmfStateSystemBuilder ss;
-
- private ITmfStateInterval interval;
- private int attribute;
-
- private File testHtFile;
-
- private final static String errMsg = "Caught exception: ";
-
- /* State values that will be used */
- //private final static ITmfStateValue nullValue = TmfStateValue.nullValue();
- private final static ITmfStateValue value1 = TmfStateValue.newValueString("A");
- private final static ITmfStateValue value2 = TmfStateValue.newValueInt(10);
- private final static ITmfStateValue value3 = TmfStateValue.nullValue();
- private final static ITmfStateValue value4 = TmfStateValue.newValueString("D");
- private final static ITmfStateValue value5 = TmfStateValue.newValueLong(Long.MAX_VALUE);
-
- /**
- * Initialization. We run the checks for the return values of
- * .popAttribute() in here, since this is only available when we are
- * building the state history.
- *
- * @throws IOException
- * If we can write the file to the temporary directory.
- * @throws TimeRangeException
- * Fails the test
- * @throws AttributeNotFoundException
- * Fails the test
- * @throws StateValueTypeException
- * Fails the test
- */
- @Before
- public void setUp() throws IOException, TimeRangeException,
- AttributeNotFoundException, StateValueTypeException {
- ITmfStateValue value;
- testHtFile = File.createTempFile("test", ".ht");
-
- IStateHistoryBackend backend = new HistoryTreeBackend(testHtFile, 0, 0L);
- ss = new StateSystem("push-pop-test", backend, true);
-
- /* Build the thing */
- final int attrib = ss.getQuarkAbsoluteAndAdd("Test", "stack");
-
- ss.pushAttribute( 2, value1, attrib);
- ss.pushAttribute( 4, value2, attrib);
- ss.pushAttribute( 6, value3, attrib);
- ss.pushAttribute( 8, value4, attrib);
- ss.pushAttribute(10, value5, attrib);
-
- value = ss.popAttribute(11, attrib);
- assertEquals(value5, value);
-
- value = ss.popAttribute(12, attrib);
- assertEquals(value4, value);
-
- value = ss.popAttribute(14, attrib);
- assertEquals(value3, value);
-
- value = ss.popAttribute(16, attrib);
- assertEquals(value2, value);
-
- value = ss.popAttribute(17, attrib);
- assertEquals(value1, value);
-
- value = ss.popAttribute(20, attrib);
- assertEquals(null, value); // Stack should already be empty here.
-
- ss.pushAttribute(21, value1, attrib);
- //ss.pushAttribute(22, value1, attrib); //FIXME pushing twice the same value bugs out atm
- ss.pushAttribute(22, value2, attrib);
-
- value = ss.popAttribute(24, attrib);
- //assertEquals(value1, value);
- assertEquals(value2, value);
-
- value = ss.popAttribute(26, attrib);
- assertEquals(value1, value);
-
- value = ss.popAttribute(28, attrib);
- assertEquals(null, value); // Stack should already be empty here.
-
- ss.closeHistory(30);
- attribute = ss.getQuarkAbsolute("Test", "stack");
- }
-
- /**
- * Clean-up after running a test. Delete the .ht file we created.
- */
- @After
- public void tearDown() {
- testHtFile.delete();
- }
-
- /**
- * Test that the value of the stack-attribute at the start and end of the
- * history are correct.
- */
- @Test
- public void testBeginEnd() {
- try {
- interval = ss.querySingleState(0, attribute);
- assertEquals(0, interval.getStartTime());
- assertEquals(1, interval.getEndTime());
- assertTrue(interval.getStateValue().isNull());
-
- interval = ss.querySingleState(29, attribute);
- assertEquals(26, interval.getStartTime());
- assertEquals(30, interval.getEndTime());
- assertTrue(interval.getStateValue().isNull());
-
- } catch (AttributeNotFoundException | TimeRangeException | StateSystemDisposedException e) {
- fail(errMsg + e.toString());
- }
- }
-
- /**
- * Run single queries on the attribute stacks (with .querySingleState()).
- */
- @Test
- public void testSingleQueries() {
- try {
- final int subAttribute1 = ss.getQuarkRelative(attribute, "1");
- final int subAttribute2 = ss.getQuarkRelative(attribute, "2");
-
- /* Test the stack attributes themselves */
- interval = ss.querySingleState(11, attribute);
- assertEquals(4, interval.getStateValue().unboxInt());
-
- interval = ss.querySingleState(24, attribute);
- assertEquals(1, interval.getStateValue().unboxInt());
-
- /* Go retrieve the user values manually */
- interval = ss.querySingleState(10, subAttribute1);
- assertEquals(value1, interval.getStateValue()); //
-
- interval = ss.querySingleState(22, subAttribute2);
- assertEquals(value2, interval.getStateValue());
-
- interval = ss.querySingleState(25, subAttribute2);
- assertTrue(interval.getStateValue().isNull()); // Stack depth is 1 at that point.
-
- } catch (AttributeNotFoundException e) {
- fail(errMsg + e.toString());
- } catch (StateValueTypeException e) {
- fail(errMsg + e.toString());
- } catch (TimeRangeException e) {
- fail(errMsg + e.toString());
- } catch (StateSystemDisposedException e) {
- fail(errMsg + e.toString());
- }
- }
-
- /**
- * Test the .querySingletStackTop() convenience method.
- */
- @Test
- public void testStackTop() {
- try {
- interval = ss.querySingleStackTop(10, attribute);
- assertEquals(value5, interval.getStateValue());
-
- interval = ss.querySingleStackTop(9, attribute);
- assertEquals(value4, interval.getStateValue());
-
- interval = ss.querySingleStackTop(13, attribute);
- assertEquals(value3, interval.getStateValue());
-
- interval = ss.querySingleStackTop(16, attribute);
- assertEquals(value1, interval.getStateValue());
-
- interval = ss.querySingleStackTop(25, attribute);
- assertEquals(value1, interval.getStateValue());
-
- } catch (AttributeNotFoundException e) {
- fail(errMsg + e.toString());
- } catch (StateValueTypeException e) {
- fail(errMsg + e.toString());
- } catch (TimeRangeException e) {
- fail(errMsg + e.toString());
- } catch (StateSystemDisposedException e) {
- fail(errMsg + e.toString());
- }
- }
-
- /**
- * Test the places where the stack is empty.
- */
- @Test
- public void testEmptyStack() {
- try {
- /* At the start */
- interval = ss.querySingleState(1, attribute);
- assertTrue(interval.getStateValue().isNull());
- interval = ss.querySingleStackTop(1, attribute);
- assertEquals(null, interval);
-
- /* Between the two "stacks" in the state history */
- interval = ss.querySingleState(19, attribute);
- assertTrue(interval.getStateValue().isNull());
- interval = ss.querySingleStackTop(19, attribute);
- assertEquals(null, interval);
-
- /* At the end */
- interval = ss.querySingleState(27, attribute);
- assertTrue(interval.getStateValue().isNull());
- interval = ss.querySingleStackTop(27, attribute);
- assertEquals(null, interval);
-
- } catch (AttributeNotFoundException e) {
- fail(errMsg + e.toString());
- } catch (StateValueTypeException e) {
- fail(errMsg + e.toString());
- } catch (TimeRangeException e) {
- fail(errMsg + e.toString());
- } catch (StateSystemDisposedException e) {
- fail(errMsg + e.toString());
- }
- }
-
- /**
- * Test full-queries (.queryFullState()) on the attribute stacks.
- */
- @Test
- public void testFullQueries() {
- List<ITmfStateInterval> state;
- try {
- final int subAttrib1 = ss.getQuarkRelative(attribute, "1");
- final int subAttrib2 = ss.getQuarkRelative(attribute, "2");
- final int subAttrib3 = ss.getQuarkRelative(attribute, "3");
- final int subAttrib4 = ss.getQuarkRelative(attribute, "4");
-
- /* Stack depth = 5 */
- state = ss.queryFullState(10);
- assertEquals(5, state.get(attribute).getStateValue().unboxInt());
- assertEquals(value1, state.get(subAttrib1).getStateValue());
- assertEquals(value2, state.get(subAttrib2).getStateValue());
- assertEquals(value3, state.get(subAttrib3).getStateValue());
- assertEquals(value4, state.get(subAttrib4).getStateValue());
-
- /* Stack is empty */
- state = ss.queryFullState(18);
- assertTrue(state.get(attribute).getStateValue().isNull());
- assertTrue(state.get(subAttrib1).getStateValue().isNull());
- assertTrue(state.get(subAttrib2).getStateValue().isNull());
- assertTrue(state.get(subAttrib3).getStateValue().isNull());
- assertTrue(state.get(subAttrib4).getStateValue().isNull());
-
- /* Stack depth = 1 */
- state = ss.queryFullState(21);
- assertEquals(1, state.get(attribute).getStateValue().unboxInt());
- assertEquals(value1, state.get(subAttrib1).getStateValue());
- assertTrue(state.get(subAttrib2).getStateValue().isNull());
- assertTrue(state.get(subAttrib3).getStateValue().isNull());
- assertTrue(state.get(subAttrib4).getStateValue().isNull());
-
- } catch (AttributeNotFoundException e) {
- fail(errMsg + e.toString());
- } catch (StateValueTypeException e) {
- fail(errMsg + e.toString());
- } catch (TimeRangeException e) {
- fail(errMsg + e.toString());
- } catch (StateSystemDisposedException e) {
- fail(errMsg + e.toString());
- }
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.statesystem.core.tests/src/org/eclipse/linuxtools/statesystem/core/tests/backend/AllTests.java b/lttng/org.eclipse.linuxtools.statesystem.core.tests/src/org/eclipse/linuxtools/statesystem/core/tests/backend/AllTests.java
deleted file mode 100644
index cd81c26d4b..0000000000
--- a/lttng/org.eclipse.linuxtools.statesystem.core.tests/src/org/eclipse/linuxtools/statesystem/core/tests/backend/AllTests.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 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:
- * Alexandre Montplaisir - Initial API and implementation
- ******************************************************************************/
-
-package org.eclipse.linuxtools.statesystem.core.tests.backend;
-
-import org.junit.runner.RunWith;
-import org.junit.runners.Suite;
-
-/**
- * Test suite for org.eclipse.linuxtools.tmf.core.statesystem
- */
-@RunWith(Suite.class)
-@Suite.SuiteClasses({
- InMemoryBackendTest.class
-})
-public class AllTests {
-
-} \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.statesystem.core.tests/src/org/eclipse/linuxtools/statesystem/core/tests/backend/InMemoryBackendTest.java b/lttng/org.eclipse.linuxtools.statesystem.core.tests/src/org/eclipse/linuxtools/statesystem/core/tests/backend/InMemoryBackendTest.java
deleted file mode 100644
index 01eb89af4d..0000000000
--- a/lttng/org.eclipse.linuxtools.statesystem.core.tests/src/org/eclipse/linuxtools/statesystem/core/tests/backend/InMemoryBackendTest.java
+++ /dev/null
@@ -1,244 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 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:
- * Matthew Khouzam - Initial API and implementation
- ******************************************************************************/
-
-package org.eclipse.linuxtools.statesystem.core.tests.backend;
-
-import static org.junit.Assert.*;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.linuxtools.statesystem.core.backend.InMemoryBackend;
-import org.eclipse.linuxtools.statesystem.core.exceptions.AttributeNotFoundException;
-import org.eclipse.linuxtools.statesystem.core.exceptions.StateValueTypeException;
-import org.eclipse.linuxtools.statesystem.core.exceptions.TimeRangeException;
-import org.eclipse.linuxtools.statesystem.core.interval.ITmfStateInterval;
-import org.eclipse.linuxtools.statesystem.core.interval.TmfStateInterval;
-import org.eclipse.linuxtools.statesystem.core.statevalue.TmfStateValue;
-import org.junit.BeforeClass;
-import org.junit.Test;
-
-/**
- * Test cases for the in-memory backend
- *
- * @author Matthew Khouzam
- */
-public class InMemoryBackendTest {
-
- private static final int NUMBER_OF_ATTRIBUTES = 10;
- private static InMemoryBackend fixture;
-
- /**
- * Test setup. make a state system that is moderately large
- */
- @BeforeClass
- public static void init() {
- fixture = new InMemoryBackend(0);
- for (int attribute = 0; attribute < NUMBER_OF_ATTRIBUTES; attribute++) {
- for (int timeStart = 0; timeStart < 1000; timeStart++) {
- try {
- final int stateEndTime = (timeStart * 100) + 90 + attribute;
- final int stateStartTime = timeStart * 100 + attribute;
- fixture.insertPastState(stateStartTime, stateEndTime, attribute, TmfStateValue.newValueInt(timeStart % 100));
- if (timeStart != 999) {
- fixture.insertPastState(stateEndTime + 1, stateEndTime + 9, attribute, TmfStateValue.nullValue());
- }
- } catch (TimeRangeException e) {
- /* Should not happen here */
- throw new IllegalStateException();
- }
- }
- }
- }
-
- private static void testInterval(ITmfStateInterval interval, int startTime,
- int endTime, int value) {
- assertNotNull(interval);
- assertEquals(startTime, interval.getStartTime());
- assertEquals(endTime, interval.getEndTime());
- try {
- assertEquals(value, interval.getStateValue().unboxInt());
- } catch (StateValueTypeException e) {
- fail(e.getMessage());
- }
- }
-
-
- /**
- * Test at start time
- */
- @Test
- public void testStartTime() {
- assertEquals(0, fixture.getStartTime());
- }
-
- /**
- * Test at end time
- */
- @Test
- public void testEndTime() {
- assertEquals(99999, fixture.getEndTime());
- }
-
- /**
- * Query the state system
- */
- @Test
- public void testDoQuery() {
- List<ITmfStateInterval> interval = new ArrayList<>(NUMBER_OF_ATTRIBUTES);
- for (int i = 0; i < NUMBER_OF_ATTRIBUTES; i++) {
- interval.add(null);
- }
- try {
- fixture.doQuery(interval, 950);
- } catch (TimeRangeException e) {
- fail(e.getMessage());
- }
-
- assertEquals(NUMBER_OF_ATTRIBUTES, interval.size());
- testInterval(interval.get(0), 900, 990, 9);
- testInterval(interval.get(1), 901, 991, 9);
- testInterval(interval.get(2), 902, 992, 9);
- testInterval(interval.get(3), 903, 993, 9);
- testInterval(interval.get(4), 904, 994, 9);
- testInterval(interval.get(5), 905, 995, 9);
- testInterval(interval.get(6), 906, 996, 9);
- testInterval(interval.get(7), 907, 997, 9);
- testInterval(interval.get(8), 908, 998, 9);
- testInterval(interval.get(9), 909, 999, 9);
- }
-
-
- /**
- * Test single attribute then compare it to a full query
- */
- @Test
- public void testQueryAttribute() {
- try {
- ITmfStateInterval interval[] = new TmfStateInterval[10];
- for (int i = 0; i < 10; i++) {
- interval[i] = fixture.doSingularQuery(950, i);
- }
-
- testInterval(interval[0], 900, 990, 9);
- testInterval(interval[1], 901, 991, 9);
- testInterval(interval[2], 902, 992, 9);
- testInterval(interval[3], 903, 993, 9);
- testInterval(interval[4], 904, 994, 9);
- testInterval(interval[5], 905, 995, 9);
- testInterval(interval[6], 906, 996, 9);
- testInterval(interval[7], 907, 997, 9);
- testInterval(interval[8], 908, 998, 9);
- testInterval(interval[9], 909, 999, 9);
-
- List<ITmfStateInterval> intervalQuery = new ArrayList<>(NUMBER_OF_ATTRIBUTES);
- for (int i = 0; i < NUMBER_OF_ATTRIBUTES; i++) {
- intervalQuery.add(null);
- }
-
- fixture.doQuery(intervalQuery, 950);
- ITmfStateInterval ref[] = intervalQuery.toArray(new ITmfStateInterval[0]);
- assertArrayEquals(ref, interval);
-
- } catch (TimeRangeException e) {
- fail(e.getMessage());
- } catch (AttributeNotFoundException e) {
- fail(e.getMessage());
- }
- }
-
- /**
- * Test single attribute that should not exist
- */
- @Test
- public void testQueryAttributeEmpty() {
- try {
- ITmfStateInterval interval = fixture.doSingularQuery(999, 0);
- assertEquals(TmfStateValue.nullValue(), interval.getStateValue());
-
- } catch (TimeRangeException e) {
- fail(e.getMessage());
- } catch (AttributeNotFoundException e) {
- fail(e.getMessage());
- }
- }
-
- /**
- * Test first element in ss
- */
- @Test
- public void testBegin() {
- try {
- ITmfStateInterval interval = fixture.doSingularQuery(0, 0);
- assertEquals(0, interval.getStartTime());
- assertEquals(90, interval.getEndTime());
- assertEquals(0, interval.getStateValue().unboxInt());
-
- } catch (TimeRangeException e) {
- fail(e.getMessage());
- } catch (AttributeNotFoundException e) {
- fail(e.getMessage());
- } catch (StateValueTypeException e) {
- fail(e.getMessage());
- }
- }
-
- /**
- * Test last element in ss
- */
- @Test
- public void testEnd() {
- try {
- ITmfStateInterval interval = fixture.doSingularQuery(99998, 9);
- testInterval(interval, 99909, 99999, 99);
-
- } catch (TimeRangeException e) {
- fail(e.getMessage());
- } catch (AttributeNotFoundException e) {
- fail(e.getMessage());
- }
- }
-
- /**
- * Test out of range query
- *
- * @throws TimeRangeException
- * Expected
- */
- @Test(expected = TimeRangeException.class)
- public void testOutOfRange_1() throws TimeRangeException {
- try {
- ITmfStateInterval interval = fixture.doSingularQuery(-1, 0);
- assertNull(interval);
-
- } catch (AttributeNotFoundException e) {
- fail(e.getMessage());
- }
- }
-
- /**
- * Test out of range query
- *
- * @throws TimeRangeException
- * Expected
- */
- @Test(expected = TimeRangeException.class)
- public void testOutOfRange_2() throws TimeRangeException {
- try {
- ITmfStateInterval interval = fixture.doSingularQuery(100000, 0);
- assertNull(interval);
-
- } catch (AttributeNotFoundException e) {
- fail(e.getMessage());
- }
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.statesystem.core/.classpath b/lttng/org.eclipse.linuxtools.statesystem.core/.classpath
deleted file mode 100644
index 098194ca4b..0000000000
--- a/lttng/org.eclipse.linuxtools.statesystem.core/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
- <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.7"/>
- <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
- <classpathentry kind="src" path="src"/>
- <classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/lttng/org.eclipse.linuxtools.statesystem.core/.project b/lttng/org.eclipse.linuxtools.statesystem.core/.project
deleted file mode 100644
index 3573d3e022..0000000000
--- a/lttng/org.eclipse.linuxtools.statesystem.core/.project
+++ /dev/null
@@ -1,34 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>org.eclipse.linuxtools.statesystem.core</name>
- <comment></comment>
- <projects>
- </projects>
- <buildSpec>
- <buildCommand>
- <name>org.eclipse.jdt.core.javabuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.ManifestBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.SchemaBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.api.tools.apiAnalysisBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>org.eclipse.pde.PluginNature</nature>
- <nature>org.eclipse.jdt.core.javanature</nature>
- <nature>org.eclipse.pde.api.tools.apiAnalysisNature</nature>
- </natures>
-</projectDescription>
diff --git a/lttng/org.eclipse.linuxtools.statesystem.core/.settings/org.eclipse.core.resources.prefs b/lttng/org.eclipse.linuxtools.statesystem.core/.settings/org.eclipse.core.resources.prefs
deleted file mode 100644
index 99f26c0203..0000000000
--- a/lttng/org.eclipse.linuxtools.statesystem.core/.settings/org.eclipse.core.resources.prefs
+++ /dev/null
@@ -1,2 +0,0 @@
-eclipse.preferences.version=1
-encoding/<project>=UTF-8
diff --git a/lttng/org.eclipse.linuxtools.statesystem.core/.settings/org.eclipse.core.runtime.prefs b/lttng/org.eclipse.linuxtools.statesystem.core/.settings/org.eclipse.core.runtime.prefs
deleted file mode 100644
index 5a0ad22d2a..0000000000
--- a/lttng/org.eclipse.linuxtools.statesystem.core/.settings/org.eclipse.core.runtime.prefs
+++ /dev/null
@@ -1,2 +0,0 @@
-eclipse.preferences.version=1
-line.separator=\n
diff --git a/lttng/org.eclipse.linuxtools.statesystem.core/.settings/org.eclipse.jdt.core.prefs b/lttng/org.eclipse.linuxtools.statesystem.core/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index 9f3662cd78..0000000000
--- a/lttng/org.eclipse.linuxtools.statesystem.core/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,394 +0,0 @@
-eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.annotation.inheritNullAnnotations=enabled
-org.eclipse.jdt.core.compiler.annotation.missingNonNullByDefaultAnnotation=ignore
-org.eclipse.jdt.core.compiler.annotation.nonnull=org.eclipse.jdt.annotation.NonNull
-org.eclipse.jdt.core.compiler.annotation.nonnullbydefault=org.eclipse.jdt.annotation.NonNullByDefault
-org.eclipse.jdt.core.compiler.annotation.nullable=org.eclipse.jdt.annotation.Nullable
-org.eclipse.jdt.core.compiler.annotation.nullanalysis=enabled
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.7
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.doc.comment.support=enabled
-org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=error
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
-org.eclipse.jdt.core.compiler.problem.comparingIdentical=error
-org.eclipse.jdt.core.compiler.problem.deadCode=error
-org.eclipse.jdt.core.compiler.problem.deprecation=error
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled
-org.eclipse.jdt.core.compiler.problem.discouragedReference=warning
-org.eclipse.jdt.core.compiler.problem.emptyStatement=error
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.problem.explicitlyClosedAutoCloseable=error
-org.eclipse.jdt.core.compiler.problem.fallthroughCase=error
-org.eclipse.jdt.core.compiler.problem.fatalOptionalError=disabled
-org.eclipse.jdt.core.compiler.problem.fieldHiding=error
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=error
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=error
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=error
-org.eclipse.jdt.core.compiler.problem.includeNullInfoFromAsserts=disabled
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=error
-org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=error
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=error
-org.eclipse.jdt.core.compiler.problem.invalidJavadoc=warning
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTags=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=protected
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=error
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=error
-org.eclipse.jdt.core.compiler.problem.missingDefaultCase=error
-org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=error
-org.eclipse.jdt.core.compiler.problem.missingEnumCaseDespiteDefault=enabled
-org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=error
-org.eclipse.jdt.core.compiler.problem.missingJavadocComments=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=protected
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagDescription=all_standard_tags
-org.eclipse.jdt.core.compiler.problem.missingJavadocTags=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsMethodTypeParameters=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=protected
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=error
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotationForInterfaceMethodImplementation=enabled
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=error
-org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=error
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=error
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=error
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=warning
-org.eclipse.jdt.core.compiler.problem.nonnullParameterAnnotationDropped=warning
-org.eclipse.jdt.core.compiler.problem.nullAnnotationInferenceConflict=warning
-org.eclipse.jdt.core.compiler.problem.nullReference=error
-org.eclipse.jdt.core.compiler.problem.nullSpecViolation=error
-org.eclipse.jdt.core.compiler.problem.nullUncheckedConversion=warning
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=error
-org.eclipse.jdt.core.compiler.problem.parameterAssignment=error
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=error
-org.eclipse.jdt.core.compiler.problem.potentialNullReference=error
-org.eclipse.jdt.core.compiler.problem.potentiallyUnclosedCloseable=warning
-org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning
-org.eclipse.jdt.core.compiler.problem.redundantNullAnnotation=warning
-org.eclipse.jdt.core.compiler.problem.redundantNullCheck=error
-org.eclipse.jdt.core.compiler.problem.redundantSpecificationOfTypeArguments=error
-org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=error
-org.eclipse.jdt.core.compiler.problem.reportMethodCanBePotentiallyStatic=ignore
-org.eclipse.jdt.core.compiler.problem.reportMethodCanBeStatic=error
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=error
-org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=disabled
-org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
-org.eclipse.jdt.core.compiler.problem.syntacticNullAnalysisForFields=enabled
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
-org.eclipse.jdt.core.compiler.problem.typeParameterHiding=error
-org.eclipse.jdt.core.compiler.problem.unavoidableGenericTypeProblems=disabled
-org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
-org.eclipse.jdt.core.compiler.problem.unclosedCloseable=error
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
-org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=error
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=error
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=error
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=warning
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=disabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=disabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=error
-org.eclipse.jdt.core.compiler.problem.unusedLabel=error
-org.eclipse.jdt.core.compiler.problem.unusedLocal=error
-org.eclipse.jdt.core.compiler.problem.unusedObjectAllocation=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=error
-org.eclipse.jdt.core.compiler.problem.unusedTypeParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedWarningToken=error
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=error
-org.eclipse.jdt.core.compiler.source=1.7
-org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_assignment=0
-org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
-org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
-org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
-org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
-org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0
-org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=80
-org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=0
-org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch=16
-org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_after_package=1
-org.eclipse.jdt.core.formatter.blank_lines_before_field=0
-org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
-org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
-org.eclipse.jdt.core.formatter.blank_lines_before_method=1
-org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
-org.eclipse.jdt.core.formatter.blank_lines_before_package=0
-org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
-org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
-org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
-org.eclipse.jdt.core.formatter.comment.format_block_comments=true
-org.eclipse.jdt.core.formatter.comment.format_header=false
-org.eclipse.jdt.core.formatter.comment.format_html=true
-org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=true
-org.eclipse.jdt.core.formatter.comment.format_line_comments=true
-org.eclipse.jdt.core.formatter.comment.format_source_code=true
-org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true
-org.eclipse.jdt.core.formatter.comment.indent_root_tags=true
-org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
-org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=insert
-org.eclipse.jdt.core.formatter.comment.line_length=80
-org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries=true
-org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries=true
-org.eclipse.jdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments=false
-org.eclipse.jdt.core.formatter.compact_else_if=true
-org.eclipse.jdt.core.formatter.continuation_indentation=2
-org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2
-org.eclipse.jdt.core.formatter.disabling_tag=@formatter\:off
-org.eclipse.jdt.core.formatter.enabling_tag=@formatter\:on
-org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
-org.eclipse.jdt.core.formatter.format_line_comment_starting_on_first_column=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
-org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_empty_lines=false
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=false
-org.eclipse.jdt.core.formatter.indentation.size=4
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_label=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_try=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources=insert
-org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_try=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
-org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.join_lines_in_comments=true
-org.eclipse.jdt.core.formatter.join_wrapped_lines=false
-org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.lineSplit=250
-org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
-org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
-org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true
-org.eclipse.jdt.core.formatter.tabulation.char=space
-org.eclipse.jdt.core.formatter.tabulation.size=4
-org.eclipse.jdt.core.formatter.use_on_off_tags=false
-org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
-org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
-org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true
-org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true
diff --git a/lttng/org.eclipse.linuxtools.statesystem.core/.settings/org.eclipse.jdt.ui.prefs b/lttng/org.eclipse.linuxtools.statesystem.core/.settings/org.eclipse.jdt.ui.prefs
deleted file mode 100644
index 4fd0c7006a..0000000000
--- a/lttng/org.eclipse.linuxtools.statesystem.core/.settings/org.eclipse.jdt.ui.prefs
+++ /dev/null
@@ -1,56 +0,0 @@
-eclipse.preferences.version=1
-editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
-formatter_profile=_tmf-style
-formatter_settings_version=12
-sp_cleanup.add_default_serial_version_id=true
-sp_cleanup.add_generated_serial_version_id=false
-sp_cleanup.add_missing_annotations=false
-sp_cleanup.add_missing_deprecated_annotations=true
-sp_cleanup.add_missing_methods=false
-sp_cleanup.add_missing_nls_tags=false
-sp_cleanup.add_missing_override_annotations=true
-sp_cleanup.add_missing_override_annotations_interface_methods=true
-sp_cleanup.add_serial_version_id=false
-sp_cleanup.always_use_blocks=true
-sp_cleanup.always_use_parentheses_in_expressions=false
-sp_cleanup.always_use_this_for_non_static_field_access=false
-sp_cleanup.always_use_this_for_non_static_method_access=false
-sp_cleanup.convert_to_enhanced_for_loop=false
-sp_cleanup.correct_indentation=false
-sp_cleanup.format_source_code=false
-sp_cleanup.format_source_code_changes_only=false
-sp_cleanup.make_local_variable_final=false
-sp_cleanup.make_parameters_final=false
-sp_cleanup.make_private_fields_final=true
-sp_cleanup.make_type_abstract_if_missing_method=false
-sp_cleanup.make_variable_declarations_final=false
-sp_cleanup.never_use_blocks=false
-sp_cleanup.never_use_parentheses_in_expressions=true
-sp_cleanup.on_save_use_additional_actions=true
-sp_cleanup.organize_imports=false
-sp_cleanup.qualify_static_field_accesses_with_declaring_class=false
-sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_with_declaring_class=false
-sp_cleanup.qualify_static_method_accesses_with_declaring_class=false
-sp_cleanup.remove_private_constructors=true
-sp_cleanup.remove_trailing_whitespaces=true
-sp_cleanup.remove_trailing_whitespaces_all=true
-sp_cleanup.remove_trailing_whitespaces_ignore_empty=false
-sp_cleanup.remove_unnecessary_casts=false
-sp_cleanup.remove_unnecessary_nls_tags=false
-sp_cleanup.remove_unused_imports=false
-sp_cleanup.remove_unused_local_variables=false
-sp_cleanup.remove_unused_private_fields=true
-sp_cleanup.remove_unused_private_members=false
-sp_cleanup.remove_unused_private_methods=true
-sp_cleanup.remove_unused_private_types=true
-sp_cleanup.sort_members=false
-sp_cleanup.sort_members_all=false
-sp_cleanup.use_blocks=true
-sp_cleanup.use_blocks_only_for_return_and_throw=false
-sp_cleanup.use_parentheses_in_expressions=false
-sp_cleanup.use_this_for_non_static_field_access=false
-sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=true
-sp_cleanup.use_this_for_non_static_method_access=false
-sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true
diff --git a/lttng/org.eclipse.linuxtools.statesystem.core/.settings/org.eclipse.pde.api.tools.prefs b/lttng/org.eclipse.linuxtools.statesystem.core/.settings/org.eclipse.pde.api.tools.prefs
deleted file mode 100644
index acc3abd47c..0000000000
--- a/lttng/org.eclipse.linuxtools.statesystem.core/.settings/org.eclipse.pde.api.tools.prefs
+++ /dev/null
@@ -1,97 +0,0 @@
-ANNOTATION_ELEMENT_TYPE_ADDED_METHOD_WITHOUT_DEFAULT_VALUE=Error
-ANNOTATION_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
-ANNOTATION_ELEMENT_TYPE_REMOVED_FIELD=Error
-ANNOTATION_ELEMENT_TYPE_REMOVED_METHOD=Error
-ANNOTATION_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
-API_COMPONENT_ELEMENT_TYPE_REMOVED_API_TYPE=Error
-API_COMPONENT_ELEMENT_TYPE_REMOVED_REEXPORTED_API_TYPE=Error
-API_COMPONENT_ELEMENT_TYPE_REMOVED_REEXPORTED_TYPE=Error
-API_COMPONENT_ELEMENT_TYPE_REMOVED_TYPE=Error
-API_USE_SCAN_FIELD_SEVERITY=Error
-API_USE_SCAN_METHOD_SEVERITY=Error
-API_USE_SCAN_TYPE_SEVERITY=Error
-CLASS_ELEMENT_TYPE_ADDED_METHOD=Error
-CLASS_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
-CLASS_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
-CLASS_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error
-CLASS_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
-CLASS_ELEMENT_TYPE_CHANGED_NON_ABSTRACT_TO_ABSTRACT=Error
-CLASS_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error
-CLASS_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
-CLASS_ELEMENT_TYPE_REMOVED_CONSTRUCTOR=Error
-CLASS_ELEMENT_TYPE_REMOVED_FIELD=Error
-CLASS_ELEMENT_TYPE_REMOVED_METHOD=Error
-CLASS_ELEMENT_TYPE_REMOVED_SUPERCLASS=Error
-CLASS_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
-CLASS_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
-CONSTRUCTOR_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
-CONSTRUCTOR_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
-CONSTRUCTOR_ELEMENT_TYPE_CHANGED_VARARGS_TO_ARRAY=Error
-CONSTRUCTOR_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
-ENUM_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error
-ENUM_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
-ENUM_ELEMENT_TYPE_REMOVED_ENUM_CONSTANT=Error
-ENUM_ELEMENT_TYPE_REMOVED_FIELD=Error
-ENUM_ELEMENT_TYPE_REMOVED_METHOD=Error
-ENUM_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
-FIELD_ELEMENT_TYPE_ADDED_VALUE=Error
-FIELD_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
-FIELD_ELEMENT_TYPE_CHANGED_FINAL_TO_NON_FINAL_STATIC_CONSTANT=Error
-FIELD_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error
-FIELD_ELEMENT_TYPE_CHANGED_NON_STATIC_TO_STATIC=Error
-FIELD_ELEMENT_TYPE_CHANGED_STATIC_TO_NON_STATIC=Error
-FIELD_ELEMENT_TYPE_CHANGED_TYPE=Error
-FIELD_ELEMENT_TYPE_CHANGED_VALUE=Error
-FIELD_ELEMENT_TYPE_REMOVED_TYPE_ARGUMENT=Error
-FIELD_ELEMENT_TYPE_REMOVED_VALUE=Error
-ILLEGAL_EXTEND=Warning
-ILLEGAL_IMPLEMENT=Warning
-ILLEGAL_INSTANTIATE=Warning
-ILLEGAL_OVERRIDE=Warning
-ILLEGAL_REFERENCE=Warning
-INTERFACE_ELEMENT_TYPE_ADDED_FIELD=Error
-INTERFACE_ELEMENT_TYPE_ADDED_METHOD=Error
-INTERFACE_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
-INTERFACE_ELEMENT_TYPE_ADDED_SUPER_INTERFACE_WITH_METHODS=Error
-INTERFACE_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
-INTERFACE_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error
-INTERFACE_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
-INTERFACE_ELEMENT_TYPE_REMOVED_FIELD=Error
-INTERFACE_ELEMENT_TYPE_REMOVED_METHOD=Error
-INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
-INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
-INVALID_JAVADOC_TAG=Warning
-INVALID_REFERENCE_IN_SYSTEM_LIBRARIES=Warning
-LEAK_EXTEND=Warning
-LEAK_FIELD_DECL=Warning
-LEAK_IMPLEMENT=Warning
-LEAK_METHOD_PARAM=Warning
-LEAK_METHOD_RETURN_TYPE=Warning
-METHOD_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
-METHOD_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
-METHOD_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
-METHOD_ELEMENT_TYPE_CHANGED_NON_ABSTRACT_TO_ABSTRACT=Error
-METHOD_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error
-METHOD_ELEMENT_TYPE_CHANGED_NON_STATIC_TO_STATIC=Error
-METHOD_ELEMENT_TYPE_CHANGED_STATIC_TO_NON_STATIC=Error
-METHOD_ELEMENT_TYPE_CHANGED_VARARGS_TO_ARRAY=Error
-METHOD_ELEMENT_TYPE_REMOVED_ANNOTATION_DEFAULT_VALUE=Error
-METHOD_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
-MISSING_EE_DESCRIPTIONS=Ignore
-TYPE_PARAMETER_ELEMENT_TYPE_ADDED_CLASS_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_ADDED_INTERFACE_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_CHANGED_CLASS_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_CHANGED_INTERFACE_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_CLASS_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error
-UNUSED_PROBLEM_FILTERS=Warning
-automatically_removed_unused_problem_filters=false
-eclipse.preferences.version=1
-incompatible_api_component_version=Error
-incompatible_api_component_version_include_major_without_breaking_change=Disabled
-incompatible_api_component_version_include_minor_without_api_change=Disabled
-invalid_since_tag_version=Error
-malformed_since_tag=Error
-missing_since_tag=Error
-report_api_breakage_when_major_version_incremented=Disabled
-report_resolution_errors_api_component=Warning
diff --git a/lttng/org.eclipse.linuxtools.statesystem.core/.settings/org.eclipse.pde.prefs b/lttng/org.eclipse.linuxtools.statesystem.core/.settings/org.eclipse.pde.prefs
deleted file mode 100644
index d92b94fd4b..0000000000
--- a/lttng/org.eclipse.linuxtools.statesystem.core/.settings/org.eclipse.pde.prefs
+++ /dev/null
@@ -1,32 +0,0 @@
-compilers.f.unresolved-features=1
-compilers.f.unresolved-plugins=1
-compilers.incompatible-environment=1
-compilers.p.build=1
-compilers.p.build.bin.includes=1
-compilers.p.build.encodings=2
-compilers.p.build.java.compiler=2
-compilers.p.build.java.compliance=1
-compilers.p.build.missing.output=2
-compilers.p.build.output.library=1
-compilers.p.build.source.library=1
-compilers.p.build.src.includes=1
-compilers.p.deprecated=1
-compilers.p.discouraged-class=1
-compilers.p.internal=1
-compilers.p.missing-packages=1
-compilers.p.missing-version-export-package=2
-compilers.p.missing-version-import-package=2
-compilers.p.missing-version-require-bundle=2
-compilers.p.no-required-att=0
-compilers.p.not-externalized-att=1
-compilers.p.unknown-attribute=1
-compilers.p.unknown-class=1
-compilers.p.unknown-element=1
-compilers.p.unknown-identifier=1
-compilers.p.unknown-resource=1
-compilers.p.unresolved-ex-points=0
-compilers.p.unresolved-import=0
-compilers.s.create-docs=false
-compilers.s.doc-folder=doc
-compilers.s.open-tags=1
-eclipse.preferences.version=1
diff --git a/lttng/org.eclipse.linuxtools.statesystem.core/META-INF/MANIFEST.MF b/lttng/org.eclipse.linuxtools.statesystem.core/META-INF/MANIFEST.MF
deleted file mode 100644
index 3be844c675..0000000000
--- a/lttng/org.eclipse.linuxtools.statesystem.core/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,21 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %Bundle-Name
-Bundle-Vendor: %Bundle-Vendor
-Bundle-Version: 3.1.0.qualifier
-Bundle-Localization: plugin
-Bundle-SymbolicName: org.eclipse.linuxtools.statesystem.core;singleton:=true
-Bundle-Activator: org.eclipse.linuxtools.internal.statesystem.core.Activator
-Bundle-ActivationPolicy: lazy
-Bundle-RequiredExecutionEnvironment: JavaSE-1.7
-Require-Bundle: org.eclipse.core.runtime,
- org.eclipse.core.resources
-Export-Package: org.eclipse.linuxtools.internal.statesystem.core;x-friends:="org.eclipse.linuxtools.statesystem.core.tests",
- org.eclipse.linuxtools.internal.statesystem.core.backend.historytree;x-friends:="org.eclipse.linuxtools.statesystem.core.tests",
- org.eclipse.linuxtools.statesystem.core,
- org.eclipse.linuxtools.statesystem.core.backend,
- org.eclipse.linuxtools.statesystem.core.backend.historytree,
- org.eclipse.linuxtools.statesystem.core.exceptions,
- org.eclipse.linuxtools.statesystem.core.interval,
- org.eclipse.linuxtools.statesystem.core.statevalue
-Import-Package: com.google.common.collect;version="12.0.0"
diff --git a/lttng/org.eclipse.linuxtools.statesystem.core/about.html b/lttng/org.eclipse.linuxtools.statesystem.core/about.html
deleted file mode 100644
index c258ef55d8..0000000000
--- a/lttng/org.eclipse.linuxtools.statesystem.core/about.html
+++ /dev/null
@@ -1,28 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
-<title>About</title>
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
-
-<p>June 5, 2006</p>
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;). Unless otherwise
-indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is available
-at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is
-being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content. Check the Redistributor's license that was
-provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at <a href="http://www.eclipse.org/">http://www.eclipse.org</a>.</p>
-
-</body>
-</html> \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.statesystem.core/build.properties b/lttng/org.eclipse.linuxtools.statesystem.core/build.properties
deleted file mode 100644
index 857bf1e800..0000000000
--- a/lttng/org.eclipse.linuxtools.statesystem.core/build.properties
+++ /dev/null
@@ -1,21 +0,0 @@
-###############################################################################
-# Copyright (c) 2014 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:
-# Ericsson - Initial API and implementation
-###############################################################################
-
-source.. = src/
-output.. = bin/
-bin.includes = META-INF/,\
- plugin.properties,\
- about.html,\
- .
-src.includes = about.html
-additional.bundles = org.eclipse.jdt.annotation
-jars.extra.classpath = platform:/plugin/org.eclipse.jdt.annotation
diff --git a/lttng/org.eclipse.linuxtools.statesystem.core/plugin.properties b/lttng/org.eclipse.linuxtools.statesystem.core/plugin.properties
deleted file mode 100644
index f21b82d2b0..0000000000
--- a/lttng/org.eclipse.linuxtools.statesystem.core/plugin.properties
+++ /dev/null
@@ -1,16 +0,0 @@
-###############################################################################
-# Copyright (c) 2014 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:
-# Ericsson - Initial API and implementation
-###############################################################################
-
-#Properties file for org.eclipse.linuxtools.statesystem.core
-Bundle-Vendor = Eclipse Linux Tools
-Bundle-Name = Linux Tools State System Core Plug-in
-
diff --git a/lttng/org.eclipse.linuxtools.statesystem.core/pom.xml b/lttng/org.eclipse.linuxtools.statesystem.core/pom.xml
deleted file mode 100644
index 1e470eca82..0000000000
--- a/lttng/org.eclipse.linuxtools.statesystem.core/pom.xml
+++ /dev/null
@@ -1,36 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Copyright (C) 2014, 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
--->
-<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
- <modelVersion>4.0.0</modelVersion>
-
- <parent>
- <artifactId>linuxtools-lttng-parent</artifactId>
- <groupId>org.eclipse.linuxtools.lttng</groupId>
- <version>3.2.0-SNAPSHOT</version>
- </parent>
-
- <artifactId>org.eclipse.linuxtools.statesystem.core</artifactId>
- <version>3.1.0-SNAPSHOT</version>
- <packaging>eclipse-plugin</packaging>
-
- <name>Linux Tools State System Core Plug-in</name>
-
- <build>
- <plugins>
- <plugin>
- <groupId>org.eclipse.tycho</groupId>
- <artifactId>tycho-source-plugin</artifactId>
- </plugin>
- </plugins>
- </build>
-
- <groupId>org.eclipse.linuxtools.statesystem</groupId>
-</project>
diff --git a/lttng/org.eclipse.linuxtools.statesystem.core/src/org/eclipse/linuxtools/internal/statesystem/core/Activator.java b/lttng/org.eclipse.linuxtools.statesystem.core/src/org/eclipse/linuxtools/internal/statesystem/core/Activator.java
deleted file mode 100644
index 3d85fba273..0000000000
--- a/lttng/org.eclipse.linuxtools.statesystem.core/src/org/eclipse/linuxtools/internal/statesystem/core/Activator.java
+++ /dev/null
@@ -1,137 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2012, 2013 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.internal.statesystem.core;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Plugin;
-import org.eclipse.core.runtime.Status;
-import org.osgi.framework.BundleContext;
-
-/**
- * <b><u>Activator</u></b>
- * <p>
- * The activator class controls the plug-in life cycle
- */
-public final class Activator extends Plugin {
-
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
-
- /**
- * The plug-in ID
- */
- public static final String PLUGIN_ID = "org.eclipse.linuxtools.statesystem.core"; //$NON-NLS-1$
-
- /**
- * The shared instance
- */
- private static Activator plugin;
-
- // ------------------------------------------------------------------------
- // Constructors
- // ------------------------------------------------------------------------
-
- /**
- * The constructor
- */
- public Activator() {
- }
-
- // ------------------------------------------------------------------------
- // Accessors
- // ------------------------------------------------------------------------
-
- /**
- * Returns the shared instance
- *
- * @return the shared instance
- */
- public static Activator getDefault() {
- return plugin;
- }
-
- // ------------------------------------------------------------------------
- // Operators
- // ------------------------------------------------------------------------
-
- @Override
- public void start(BundleContext context) throws Exception {
- super.start(context);
- plugin = this;
- }
-
- @Override
- public void stop(BundleContext context) throws Exception {
- plugin = null;
- super.stop(context);
- }
-
- /**
- * Logs a message with severity INFO in the runtime log of the plug-in.
- *
- * @param message A message to log
- */
- public void logInfo(String message) {
- getLog().log(new Status(IStatus.INFO, PLUGIN_ID, message));
- }
-
- /**
- * Logs a message and exception with severity INFO in the runtime log of the plug-in.
- *
- * @param message A message to log
- * @param exception A exception to log
- */
- public void logInfo(String message, Throwable exception) {
- getLog().log(new Status(IStatus.INFO, PLUGIN_ID, message, exception));
- }
-
- /**
- * Logs a message and exception with severity WARNING in the runtime log of the plug-in.
- *
- * @param message A message to log
- */
- public void logWarning(String message) {
- getLog().log(new Status(IStatus.WARNING, PLUGIN_ID, message));
- }
-
- /**
- * Logs a message and exception with severity WARNING in the runtime log of the plug-in.
- *
- * @param message A message to log
- * @param exception A exception to log
- */
- public void logWarning(String message, Throwable exception) {
- getLog().log(new Status(IStatus.WARNING, PLUGIN_ID, message, exception));
- }
-
- /**
- * Logs a message and exception with severity ERROR in the runtime log of the plug-in.
- *
- * @param message A message to log
- */
- public void logError(String message) {
- getLog().log(new Status(IStatus.ERROR, PLUGIN_ID, message));
- }
-
- /**
- * Logs a message and exception with severity ERROR in the runtime log of the plug-in.
- *
- * @param message A message to log
- * @param exception A exception to log
- */
- public void logError(String message, Throwable exception) {
- getLog().log(new Status(IStatus.ERROR, PLUGIN_ID, message, exception));
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.statesystem.core/src/org/eclipse/linuxtools/internal/statesystem/core/Attribute.java b/lttng/org.eclipse.linuxtools.statesystem.core/src/org/eclipse/linuxtools/internal/statesystem/core/Attribute.java
deleted file mode 100644
index 8c1e09219b..0000000000
--- a/lttng/org.eclipse.linuxtools.statesystem.core/src/org/eclipse/linuxtools/internal/statesystem/core/Attribute.java
+++ /dev/null
@@ -1,266 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2012, 2014 Ericsson
- * Copyright (c) 2010, 2011 École Polytechnique de Montréal
- * Copyright (c) 2010, 2011 Alexandre Montplaisir <alexandre.montplaisir@gmail.com>
- *
- * 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
- *
- *******************************************************************************/
-
-package org.eclipse.linuxtools.internal.statesystem.core;
-
-import java.io.PrintWriter;
-import java.util.Collections;
-import java.util.LinkedHashMap;
-import java.util.LinkedList;
-import java.util.Map;
-
-import com.google.common.collect.ImmutableList;
-
-/**
- * An Attribute is a "node" in the Attribute Tree. It represents a smallest
- * unit of the model which can be in a particular state at a given time.
- *
- * It is abstract, as different implementations can provide different ways to
- * access sub-attributes
- *
- * @author alexmont
- *
- */
-public final class Attribute {
-
- private final Attribute parent;
- private final String name;
- private final int quark;
-
- /** The sub-attributes (<basename, attribute>) of this attribute */
- private final Map<String, Attribute> subAttributes;
-
- /**
- * Constructor
- *
- * @param parent
- * The parent attribute of this one. Can be 'null' to represent
- * this attribute is the root node of the tree.
- * @param name
- * Base name of this attribute
- * @param quark
- * The integer representation of this attribute
- */
- public Attribute(Attribute parent, String name, int quark) {
- this.parent = parent;
- this.quark = quark;
- this.name = name;
- this.subAttributes = Collections.synchronizedMap(new LinkedHashMap<String, Attribute>());
- }
-
- // ------------------------------------------------------------------------
- // Accessors
- // ------------------------------------------------------------------------
-
- /**
- * Get the quark (integer representation) of this attribute.
- *
- * @return The quark of this attribute
- */
- public int getQuark() {
- return quark;
- }
-
- /**
- * Get the name of this attribute.
- *
- * @return The name of this attribute
- */
- public String getName() {
- return name;
- }
-
- /**
- * Get the list of child attributes below this one.
- *
- * @return The child attributes.
- */
- public Iterable<Attribute> getSubAttributes() {
- return ImmutableList.copyOf(subAttributes.values());
- }
-
- /**
- * Get the matching quark for a given path-of-strings
- *
- * @param path
- * The path we are looking for, *relative to this node*.
- * @return The matching quark, or -1 if that attribute does not exist.
- */
- public int getSubAttributeQuark(String... path) {
- return this.getSubAttributeQuark(path, 0);
- }
-
- /**
- * Other method to search through the attribute tree, but instead of
- * returning the matching quark we return the AttributeTreeNode object
- * itself. It can then be used as new "root node" for faster queries on the
- * tree.
- *
- * @param path
- * The target path, *relative to this node*
- * @return The Node object matching the last element in the path, or "null"
- * if that attribute does not exist.
- */
- public Attribute getSubAttributeNode(String... path) {
- return this.getSubAttributeNode(path, 0);
- }
-
- /**
- * "Inner" part of the previous public method, which is used recursively. To
- * avoid having to copy sub-arrays to pass down, we just track where we are
- * at with the index parameter. It uses getSubAttributeNode(), whose
- * implementation is left to the derived classes.
- */
- private int getSubAttributeQuark(String[] path, int index) {
- Attribute targetNode = this.getSubAttributeNode(path, index);
- if (targetNode == null) {
- return -1;
- }
- return targetNode.getQuark();
- }
-
- /**
- * Get the parent attribute of this attribute
- *
- * @return The parent attribute
- */
- public Attribute getParentAttribute() {
- return this.parent;
- }
-
- /**
- * Get the parent quark of this attribute
- *
- * @return The quark of the parent attribute
- */
- public int getParentAttributeQuark() {
- return this.parent.getQuark();
- }
-
- /* The methods how to access children are left to derived classes */
-
- /**
- * Add a sub-attribute to this attribute
- *
- * @param newSubAttribute The new attribute to add
- */
- public void addSubAttribute(Attribute newSubAttribute) {
- if (newSubAttribute == null || newSubAttribute.getName() == null) {
- throw new IllegalArgumentException();
- }
- subAttributes.put(newSubAttribute.getName(), newSubAttribute);
- }
-
- /**
- * Get a sub-attribute from this node's sub-attributes
- *
- * @param path
- * The *full* path to the attribute
- * @param index
- * The index in 'path' where this attribute is located
- * (indicating where to start searching).
- * @return The requested attribute
- */
- private Attribute getSubAttributeNode(String[] path, int index) {
- final Attribute nextNode = subAttributes.get(path[index]);
-
- if (nextNode == null) {
- /* We don't have the expected child => the attribute does not exist */
- return null;
- }
- if (index == path.length - 1) {
- /* It's our job to process this request */
- return nextNode;
- }
-
- /* Pass on the rest of the path to the relevant child */
- return nextNode.getSubAttributeNode(path, index + 1);
- }
-
- /**
- * Return a String array composed of the full (absolute) path representing
- * this attribute
- *
- * @return
- */
- private String[] getFullAttribute() {
- LinkedList<String> list = new LinkedList<>();
- Attribute curNode = this;
-
- /* Add recursive parents to the list, but stop at the root node */
- while (curNode.parent != null) {
- list.addFirst(curNode.getName());
- curNode = curNode.parent;
- }
-
- return list.toArray(new String[0]);
- }
-
- /**
- * Return the absolute path of this attribute, as a single slash-separated
- * String.
- *
- * @return The full name of this attribute
- */
- public String getFullAttributeName() {
- String[] array = this.getFullAttribute();
- StringBuffer buf = new StringBuffer();
-
- for (int i = 0; i < array.length - 1; i++) {
- buf.append(array[i]);
- buf.append('/');
- }
- buf.append(array[array.length - 1]);
- return buf.toString();
- }
-
- @Override
- public String toString() {
- return getFullAttributeName() + " (" + quark + ')'; //$NON-NLS-1$
- }
-
- private int curDepth;
-
- private void attributeNodeToString(PrintWriter writer, Attribute currentNode) {
- writer.println(currentNode.getName() + " (" + currentNode.quark + ')'); //$NON-NLS-1$
- curDepth++;
-
- for (Attribute nextNode : currentNode.getSubAttributes()) {
- /* Skip printing 'null' entries */
- if (nextNode == null) {
- continue;
- }
- for (int j = 0; j < curDepth - 1; j++) {
- writer.print(" "); //$NON-NLS-1$
- }
- writer.print(" "); //$NON-NLS-1$
- attributeNodeToString(writer, nextNode);
- }
- curDepth--;
- return;
- }
-
- /**
- * Debugging method to print the contents of this attribute
- *
- * @param writer
- * PrintWriter where to write the information
- */
- public void debugPrint(PrintWriter writer) {
- /* Only used for debugging, shouldn't be externalized */
- writer.println("------------------------------"); //$NON-NLS-1$
- writer.println("Attribute tree: (quark)\n"); //$NON-NLS-1$
- curDepth = 0;
- attributeNodeToString(writer, this);
- writer.print('\n');
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.statesystem.core/src/org/eclipse/linuxtools/internal/statesystem/core/AttributeTree.java b/lttng/org.eclipse.linuxtools.statesystem.core/src/org/eclipse/linuxtools/internal/statesystem/core/AttributeTree.java
deleted file mode 100644
index 965d70272e..0000000000
--- a/lttng/org.eclipse.linuxtools.statesystem.core/src/org/eclipse/linuxtools/internal/statesystem/core/AttributeTree.java
+++ /dev/null
@@ -1,404 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2012, 2014 Ericsson
- * Copyright (c) 2010, 2011 École Polytechnique de Montréal
- * Copyright (c) 2010, 2011 Alexandre Montplaisir <alexandre.montplaisir@gmail.com>
- *
- * 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
- *
- *******************************************************************************/
-
-package org.eclipse.linuxtools.internal.statesystem.core;
-
-import java.io.BufferedInputStream;
-import java.io.DataInputStream;
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.IOException;
-import java.io.PrintWriter;
-import java.io.RandomAccessFile;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.List;
-
-import org.eclipse.linuxtools.statesystem.core.exceptions.AttributeNotFoundException;
-
-/**
- * The Attribute Tree is the /proc-like filesystem used to organize attributes.
- * Each node of this tree is both like a file and a directory in the
- * "file system".
- *
- * @author alexmont
- *
- */
-public final class AttributeTree {
-
- /* "Magic number" for attribute tree files or file sections */
- private static final int ATTRIB_TREE_MAGIC_NUMBER = 0x06EC3671;
-
- private final StateSystem ss;
- private final List<Attribute> attributeList;
- private final Attribute attributeTreeRoot;
-
- /**
- * Standard constructor, create a new empty Attribute Tree
- *
- * @param ss
- * The StateSystem to which this AT is attached
- */
- public AttributeTree(StateSystem ss) {
- this.ss = ss;
- this.attributeList = Collections.synchronizedList(new ArrayList<Attribute>());
- this.attributeTreeRoot = new Attribute(null, "root", -1); //$NON-NLS-1$
- }
-
- /**
- * "Existing file" constructor. Builds an attribute tree from a
- * "mapping file" or mapping section previously saved somewhere.
- *
- * @param ss
- * StateSystem to which this AT is attached
- * @param fis
- * File stream where to read the AT information. Make sure it's
- * sought at the right place!
- * @throws IOException
- * If there is a problem reading from the file stream
- */
- public AttributeTree(StateSystem ss, FileInputStream fis) throws IOException {
- this(ss);
- DataInputStream in = new DataInputStream(new BufferedInputStream(fis));
-
- /* Message for exceptions, shouldn't be externalized */
- final String errorMessage = "The attribute tree file section is either invalid or corrupted."; //$NON-NLS-1$
-
- ArrayList<String[]> list = new ArrayList<>();
- byte[] curByteArray;
- String curFullString;
- String[] curStringArray;
- int res, remain, size;
- int expectedSize = 0;
- int total = 0;
-
- /* Read the header of the Attribute Tree file (or file section) */
- res = in.readInt(); /* Magic number */
- if (res != ATTRIB_TREE_MAGIC_NUMBER) {
- throw new IOException(errorMessage);
- }
-
- /* Expected size of the section */
- expectedSize = in.readInt();
- if (expectedSize < 12) {
- throw new IOException(errorMessage);
- }
-
- /* How many entries we have to read */
- remain = in.readInt();
- total += 12;
-
- /* Read each entry */
- for (; remain > 0; remain--) {
- /* Read the first byte = the size of the entry */
- size = in.readByte();
- curByteArray = new byte[size];
- res = in.read(curByteArray);
- if (res != size) {
- throw new IOException(errorMessage);
- }
-
- /*
- * Go buffer -> byteArray -> String -> String[] -> insert in list.
- * bleh
- */
- curFullString = new String(curByteArray);
- curStringArray = curFullString.split("/"); //$NON-NLS-1$
- list.add(curStringArray);
-
- /* Read the 0'ed confirmation byte */
- res = in.readByte();
- if (res != 0) {
- throw new IOException(errorMessage);
- }
- total += curByteArray.length + 2;
- }
-
- if (total != expectedSize) {
- throw new IOException(errorMessage);
- }
-
- /*
- * Now we have 'list', the ArrayList of String arrays representing all
- * the attributes. Simply create attributes the normal way from them.
- */
- for (String[] attrib : list) {
- this.getQuarkAndAdd(-1, attrib);
- }
- }
-
- /**
- * Tell the Attribute Tree to write itself somewhere in a file.
- *
- * @param file
- * The file to write to
- * @param pos
- * The position (in bytes) in the file where to write
- * @return The total number of bytes written.
- */
- public int writeSelf(File file, long pos) {
- int total = 0;
- byte[] curByteArray;
-
- try (RandomAccessFile raf = new RandomAccessFile(file, "rw");) { //$NON-NLS-1$
- raf.seek(pos);
-
- /* Write the almost-magic number */
- raf.writeInt(ATTRIB_TREE_MAGIC_NUMBER);
-
- /* Placeholder for the total size of the section... */
- raf.writeInt(-8000);
-
- /* Write the number of entries */
- raf.writeInt(this.attributeList.size());
- total += 12;
-
- /* Write the attributes themselves */
- for (Attribute entry : this.attributeList) {
- curByteArray = entry.getFullAttributeName().getBytes();
- if (curByteArray.length > Byte.MAX_VALUE) {
- throw new IOException("Attribute with name \"" //$NON-NLS-1$
- + Arrays.toString(curByteArray) + "\" is too long."); //$NON-NLS-1$
- }
- /* Write the first byte = size of the array */
- raf.writeByte((byte) curByteArray.length);
-
- /* Write the array itself */
- raf.write(curByteArray);
-
- /* Write the 0'ed byte */
- raf.writeByte((byte) 0);
-
- total += curByteArray.length + 2;
- }
-
- /* Now go back and write the actual size of this section */
- raf.seek(pos + 4);
- raf.writeInt(total);
-
- } catch (IOException e) {
- e.printStackTrace();
- }
- return total;
- }
-
- /**
- * Return the number of attributes this system as seen so far. Note that
- * this also equals the integer value (quark) the next added attribute will
- * have.
- *
- * @return The current number of attributes in the tree
- */
- public int getNbAttributes() {
- return attributeList.size();
- }
-
- /**
- * Get the quark for a given attribute path. No new attribute will be
- * created : if the specified path does not exist, throw an error.
- *
- * @param startingNodeQuark
- * The quark of the attribute from which relative queries will
- * start. Use '-1' to start at the root node.
- * @param subPath
- * The path to the attribute, relative to the starting node.
- * @return The quark of the specified attribute
- * @throws AttributeNotFoundException
- * If the specified path was not found
- */
- public int getQuarkDontAdd(int startingNodeQuark, String... subPath)
- throws AttributeNotFoundException {
- assert (startingNodeQuark >= -1);
-
- Attribute prevNode;
-
- /* If subPath is empty, simply return the starting quark */
- if (subPath == null || subPath.length == 0) {
- return startingNodeQuark;
- }
-
- /* Get the "starting node" */
- if (startingNodeQuark == -1) {
- prevNode = attributeTreeRoot;
- } else {
- prevNode = attributeList.get(startingNodeQuark);
- }
-
- int knownQuark = prevNode.getSubAttributeQuark(subPath);
- if (knownQuark == -1) {
- /*
- * The attribute doesn't exist, but we have been specified to NOT
- * add any new attributes.
- */
- throw new AttributeNotFoundException();
- }
- /*
- * The attribute was already existing, return the quark of that
- * attribute
- */
- return knownQuark;
- }
-
- /**
- * Get the quark of a given attribute path. If that specified path does not
- * exist, it will be created (and the quark that was just created will be
- * returned).
- *
- * @param startingNodeQuark
- * The quark of the attribute from which relative queries will
- * start. Use '-1' to start at the root node.
- * @param subPath
- * The path to the attribute, relative to the starting node.
- * @return The quark of the attribute represented by the path
- */
- public synchronized int getQuarkAndAdd(int startingNodeQuark, String... subPath) {
- // FIXME synchronized here is probably quite costly... maybe only locking
- // the "for" would be enough?
- assert (subPath != null && subPath.length > 0);
- assert (startingNodeQuark >= -1);
-
- Attribute nextNode = null;
- Attribute prevNode;
-
- /* Get the "starting node" */
- if (startingNodeQuark == -1) {
- prevNode = attributeTreeRoot;
- } else {
- prevNode = attributeList.get(startingNodeQuark);
- }
-
- int knownQuark = prevNode.getSubAttributeQuark(subPath);
- if (knownQuark == -1) {
- /*
- * The attribute was not in the table previously, and we want to add
- * it
- */
- for (String curDirectory : subPath) {
- nextNode = prevNode.getSubAttributeNode(curDirectory);
- if (nextNode == null) {
- /* This is where we need to start adding */
- nextNode = new Attribute(prevNode, curDirectory, attributeList.size());
- prevNode.addSubAttribute(nextNode);
- attributeList.add(nextNode);
- ss.addEmptyAttribute();
- }
- prevNode = nextNode;
- }
- return attributeList.size() - 1;
- }
- /*
- * The attribute was already existing, return the quark of that
- * attribute
- */
- return knownQuark;
- }
-
- /**
- * Returns the sub-attributes of the quark passed in parameter
- *
- * @param attributeQuark
- * The quark of the attribute to print the sub-attributes of.
- * @param recursive
- * Should the query be recursive or not? If false, only children
- * one level deep will be returned. If true, all descendants will
- * be returned (depth-first search)
- * @return The list of quarks representing the children attributes
- * @throws AttributeNotFoundException
- * If 'attributeQuark' is invalid, or if there is no attrbiute
- * associated to it.
- */
- public List<Integer> getSubAttributes(int attributeQuark, boolean recursive)
- throws AttributeNotFoundException {
- List<Integer> listOfChildren = new ArrayList<>();
- Attribute startingAttribute;
-
- /* Check if the quark is valid */
- if (attributeQuark < -1 || attributeQuark >= attributeList.size()) {
- throw new AttributeNotFoundException();
- }
-
- /* Set up the node from which we'll start the search */
- if (attributeQuark == -1) {
- startingAttribute = attributeTreeRoot;
- } else {
- startingAttribute = attributeList.get(attributeQuark);
- }
-
- /* Iterate through the sub-attributes and add them to the list */
- addSubAttributes(listOfChildren, startingAttribute, recursive);
-
- return listOfChildren;
- }
-
- /**
- * Returns the parent quark of the attribute. The root attribute has no
- * parent and will return <code>-1</code>
- *
- * @param quark
- * The quark of the attribute
- * @return Quark of the parent attribute or <code>-1</code> for the root
- * attribute
- */
- public int getParentAttributeQuark(int quark) {
- if (quark == -1) {
- return quark;
- }
- return attributeList.get(quark).getParentAttributeQuark();
- }
-
- private void addSubAttributes(List<Integer> list, Attribute curAttribute,
- boolean recursive) {
- for (Attribute childNode : curAttribute.getSubAttributes()) {
- list.add(childNode.getQuark());
- if (recursive) {
- addSubAttributes(list, childNode, true);
- }
- }
- }
-
- /**
- * Get then base name of an attribute specified by a quark.
- *
- * @param quark
- * The quark of the attribute
- * @return The (base) name of the attribute
- */
- public String getAttributeName(int quark) {
- return attributeList.get(quark).getName();
- }
-
- /**
- * Get the full path name of an attribute specified by a quark.
- *
- * @param quark
- * The quark of the attribute
- * @return The full path name of the attribute
- */
- public String getFullAttributeName(int quark) {
- if (quark >= attributeList.size() || quark < 0) {
- return null;
- }
- return attributeList.get(quark).getFullAttributeName();
- }
-
- /**
- * Debug-print all the attributes in the tree.
- *
- * @param writer
- * The writer where to print the output
- */
- public void debugPrint(PrintWriter writer) {
- attributeTreeRoot.debugPrint(writer);
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.statesystem.core/src/org/eclipse/linuxtools/internal/statesystem/core/StateSystem.java b/lttng/org.eclipse.linuxtools.statesystem.core/src/org/eclipse/linuxtools/internal/statesystem/core/StateSystem.java
deleted file mode 100644
index d07335a3dd..0000000000
--- a/lttng/org.eclipse.linuxtools.statesystem.core/src/org/eclipse/linuxtools/internal/statesystem/core/StateSystem.java
+++ /dev/null
@@ -1,752 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2012, 2014 Ericsson
- * Copyright (c) 2010, 2011 École Polytechnique de Montréal
- * Copyright (c) 2010, 2011 Alexandre Montplaisir <alexandre.montplaisir@gmail.com>
- *
- * 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
- *
- *******************************************************************************/
-
-package org.eclipse.linuxtools.internal.statesystem.core;
-
-import java.io.File;
-import java.io.IOException;
-import java.io.PrintWriter;
-import java.util.ArrayList;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.concurrent.CountDownLatch;
-import java.util.concurrent.TimeUnit;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.jdt.annotation.NonNull;
-import org.eclipse.linuxtools.statesystem.core.ITmfStateSystemBuilder;
-import org.eclipse.linuxtools.statesystem.core.backend.IStateHistoryBackend;
-import org.eclipse.linuxtools.statesystem.core.exceptions.AttributeNotFoundException;
-import org.eclipse.linuxtools.statesystem.core.exceptions.StateSystemDisposedException;
-import org.eclipse.linuxtools.statesystem.core.exceptions.StateValueTypeException;
-import org.eclipse.linuxtools.statesystem.core.exceptions.TimeRangeException;
-import org.eclipse.linuxtools.statesystem.core.interval.ITmfStateInterval;
-import org.eclipse.linuxtools.statesystem.core.interval.TmfStateInterval;
-import org.eclipse.linuxtools.statesystem.core.statevalue.ITmfStateValue;
-import org.eclipse.linuxtools.statesystem.core.statevalue.TmfStateValue;
-import org.eclipse.linuxtools.statesystem.core.statevalue.ITmfStateValue.Type;
-
-/**
- * This is the core class of the Generic State System. It contains all the
- * methods to build and query a state history. It's exposed externally through
- * the IStateSystemQuerier and IStateSystemBuilder interfaces, depending if the
- * user needs read-only access or read-write access.
- *
- * When building, DON'T FORGET to call .closeHistory() when you are done
- * inserting intervals, or the storage backend will have no way of knowing it
- * can close and write itself to disk, and its thread will keep running.
- *
- * @author alexmont
- *
- */
-public class StateSystem implements ITmfStateSystemBuilder {
-
- private final String ssid;
-
- /* References to the inner structures */
- private final AttributeTree attributeTree;
- private final TransientState transState;
- private final IStateHistoryBackend backend;
-
- /* Latch tracking if the state history is done building or not */
- private final CountDownLatch finishedLatch = new CountDownLatch(1);
-
- private boolean buildCancelled = false;
- private boolean isDisposed = false;
-
- /**
- * New-file constructor. For when you build a state system with a new file,
- * or if the back-end does not require a file on disk.
- *
- * @param ssid
- * The ID of this statesystem. It should be unique.
- * @param backend
- * Back-end plugin to use
- */
- public StateSystem(@NonNull String ssid, @NonNull IStateHistoryBackend backend) {
- this.ssid = ssid;
- this.backend = backend;
- this.transState = new TransientState(backend);
- this.attributeTree = new AttributeTree(this);
- }
-
- /**
- * General constructor
- *
- * @param ssid
- * The ID of this statesystem. It should be unique.
- * @param backend
- * The "state history storage" back-end to use.
- * @param newFile
- * Put true if this is a new history started from scratch. It is
- * used to tell the state system where to get its attribute tree.
- * @throws IOException
- * If there was a problem creating the new history file
- */
- public StateSystem(@NonNull String ssid, @NonNull IStateHistoryBackend backend, boolean newFile)
- throws IOException {
- this.ssid = ssid;
- this.backend = backend;
- this.transState = new TransientState(backend);
-
- if (newFile) {
- attributeTree = new AttributeTree(this);
- } else {
- /* We're opening an existing file */
- this.attributeTree = new AttributeTree(this, backend.supplyAttributeTreeReader());
- transState.setInactive();
- finishedLatch.countDown(); /* The history is already built */
- }
- }
-
- @Override
- public String getSSID() {
- return ssid;
- }
-
- @Override
- public boolean isCancelled() {
- return buildCancelled;
- }
-
- @Override
- public void waitUntilBuilt() {
- try {
- finishedLatch.await();
- } catch (InterruptedException e) {
- e.printStackTrace();
- }
- }
-
- @Override
- public boolean waitUntilBuilt(long timeout) {
- boolean ret = false;
- try {
- ret = finishedLatch.await(timeout, TimeUnit.MILLISECONDS);
- } catch (InterruptedException e) {
- e.printStackTrace();
- }
- return ret;
- }
-
- @Override
- public synchronized void dispose() {
- isDisposed = true;
- if (transState.isActive()) {
- transState.setInactive();
- buildCancelled = true;
- }
- backend.dispose();
- }
-
- //--------------------------------------------------------------------------
- // General methods related to the attribute tree
- //--------------------------------------------------------------------------
-
- /**
- * Get the attribute tree associated with this state system. This should be
- * the only way of accessing it (and if subclasses want to point to a
- * different attribute tree than their own, they should only need to
- * override this).
- *
- * @return The attribute tree
- */
- public AttributeTree getAttributeTree() {
- return attributeTree;
- }
-
- /**
- * Method used by the attribute tree when creating new attributes, to keep
- * the attribute count in the transient state in sync.
- */
- public void addEmptyAttribute() {
- transState.addEmptyEntry();
- }
-
- @Override
- public int getNbAttributes() {
- return getAttributeTree().getNbAttributes();
- }
-
- @Override
- public String getAttributeName(int attributeQuark) {
- return getAttributeTree().getAttributeName(attributeQuark);
- }
-
- @Override
- public String getFullAttributePath(int attributeQuark) {
- return getAttributeTree().getFullAttributeName(attributeQuark);
- }
-
- //--------------------------------------------------------------------------
- // Methods related to the storage backend
- //--------------------------------------------------------------------------
-
- @Override
- public long getStartTime() {
- return backend.getStartTime();
- }
-
- @Override
- public long getCurrentEndTime() {
- return backend.getEndTime();
- }
-
- @Override
- public void closeHistory(long endTime) throws TimeRangeException {
- File attributeTreeFile;
- long attributeTreeFilePos;
- long realEndTime = endTime;
-
- if (realEndTime < backend.getEndTime()) {
- /*
- * This can happen (empty nodes pushing the border further, etc.)
- * but shouldn't be too big of a deal.
- */
- realEndTime = backend.getEndTime();
- }
- transState.closeTransientState(realEndTime);
- backend.finishedBuilding(realEndTime);
-
- attributeTreeFile = backend.supplyAttributeTreeWriterFile();
- attributeTreeFilePos = backend.supplyAttributeTreeWriterFilePosition();
- if (attributeTreeFile != null) {
- /*
- * If null was returned, we simply won't save the attribute tree,
- * too bad!
- */
- getAttributeTree().writeSelf(attributeTreeFile, attributeTreeFilePos);
- }
- finishedLatch.countDown(); /* Mark the history as finished building */
- }
-
- //--------------------------------------------------------------------------
- // Quark-retrieving methods
- //--------------------------------------------------------------------------
-
- @Override
- public int getQuarkAbsolute(String... attribute)
- throws AttributeNotFoundException {
- return getAttributeTree().getQuarkDontAdd(-1, attribute);
- }
-
- @Override
- public int getQuarkAbsoluteAndAdd(String... attribute) {
- return getAttributeTree().getQuarkAndAdd(-1, attribute);
- }
-
- @Override
- public int getQuarkRelative(int startingNodeQuark, String... subPath)
- throws AttributeNotFoundException {
- return getAttributeTree().getQuarkDontAdd(startingNodeQuark, subPath);
- }
-
- @Override
- public int getQuarkRelativeAndAdd(int startingNodeQuark, String... subPath) {
- return getAttributeTree().getQuarkAndAdd(startingNodeQuark, subPath);
- }
-
- @Override
- public List<Integer> getSubAttributes(int quark, boolean recursive)
- throws AttributeNotFoundException {
- return getAttributeTree().getSubAttributes(quark, recursive);
- }
-
- @Override
- public List<Integer> getSubAttributes(int quark, boolean recursive, String pattern)
- throws AttributeNotFoundException {
- List<Integer> all = getSubAttributes(quark, recursive);
- List<Integer> ret = new LinkedList<>();
- for (Integer attQuark : all) {
- String name = getAttributeName(attQuark.intValue());
- if (name.matches(pattern)) {
- ret.add(attQuark);
- }
- }
- return ret;
- }
-
- @Override
- public int getParentAttributeQuark(int quark) {
- return getAttributeTree().getParentAttributeQuark(quark);
- }
-
- @Override
- public List<Integer> getQuarks(String... pattern) {
- List<Integer> quarks = new LinkedList<>();
- List<String> prefix = new LinkedList<>();
- List<String> suffix = new LinkedList<>();
- boolean split = false;
- String[] prefixStr;
- String[] suffixStr;
- List<Integer> directChildren;
- int startingAttribute;
-
- /* Fill the "prefix" and "suffix" parts of the pattern around the '*' */
- for (String entry : pattern) {
- if (entry.equals("*")) { //$NON-NLS-1$
- if (split) {
- /*
- * Split was already true? This means there was more than
- * one wildcard. This is not supported, return an empty
- * list.
- */
- return quarks;
- }
- split = true;
- continue;
- }
-
- if (split) {
- suffix.add(entry);
- } else {
- prefix.add(entry);
- }
- }
- prefixStr = prefix.toArray(new String[prefix.size()]);
- suffixStr = suffix.toArray(new String[suffix.size()]);
-
- /*
- * If there was no wildcard, we'll only return the one matching
- * attribute, if there is one.
- */
- if (!split) {
- int quark;
- try {
- quark = getQuarkAbsolute(prefixStr);
- } catch (AttributeNotFoundException e) {
- /* It's fine, we'll just return the empty List */
- return quarks;
- }
- quarks.add(quark);
- return quarks;
- }
-
- try {
- if (prefix.size() == 0) {
- /*
- * If 'prefix' is empty, this means the wildcard was the first
- * element. Look for the root node's sub-attributes.
- */
- startingAttribute = -1;
- } else {
- startingAttribute = getQuarkAbsolute(prefixStr);
- }
- directChildren = getSubAttributes(startingAttribute, false);
- } catch (AttributeNotFoundException e) {
- /* That attribute path did not exist, return the empty array */
- return quarks;
- }
-
- /*
- * Iterate of all the sub-attributes, and only keep those who match the
- * 'suffix' part of the initial pattern.
- */
- for (int childQuark : directChildren) {
- int matchingQuark;
- try {
- matchingQuark = getQuarkRelative(childQuark, suffixStr);
- } catch (AttributeNotFoundException e) {
- continue;
- }
- quarks.add(matchingQuark);
- }
-
- return quarks;
- }
-
- //--------------------------------------------------------------------------
- // Methods related to insertions in the history
- //--------------------------------------------------------------------------
-
- @Override
- public void modifyAttribute(long t, ITmfStateValue value, int attributeQuark)
- throws TimeRangeException, AttributeNotFoundException,
- StateValueTypeException {
- transState.processStateChange(t, value, attributeQuark);
- }
-
- @Override
- public void incrementAttribute(long t, int attributeQuark)
- throws StateValueTypeException, TimeRangeException,
- AttributeNotFoundException {
- ITmfStateValue stateValue = queryOngoingState(attributeQuark);
- int prevValue = 0;
- /* if the attribute was previously null, start counting at 0 */
- if (!stateValue.isNull()) {
- prevValue = stateValue.unboxInt();
- }
- modifyAttribute(t, TmfStateValue.newValueInt(prevValue + 1),
- attributeQuark);
- }
-
- @Override
- public void pushAttribute(long t, ITmfStateValue value, int attributeQuark)
- throws TimeRangeException, AttributeNotFoundException,
- StateValueTypeException {
- int stackDepth;
- int subAttributeQuark;
- ITmfStateValue previousSV = transState.getOngoingStateValue(attributeQuark);
-
- if (previousSV.isNull()) {
- /*
- * If the StateValue was null, this means this is the first time we
- * use this attribute. Leave stackDepth at 0.
- */
- stackDepth = 0;
- } else if (previousSV.getType() == Type.INTEGER) {
- /* Previous value was an integer, all is good, use it */
- stackDepth = previousSV.unboxInt();
- } else {
- /* Previous state of this attribute was another type? Not good! */
- throw new StateValueTypeException();
- }
-
- if (stackDepth >= 100000) {
- /*
- * Limit stackDepth to 100000, to avoid having Attribute Trees grow
- * out of control due to buggy insertions
- */
- String message = "Stack limit reached, not pushing"; //$NON-NLS-1$
- throw new AttributeNotFoundException(message);
- }
-
- stackDepth++;
- subAttributeQuark = getQuarkRelativeAndAdd(attributeQuark, String.valueOf(stackDepth));
-
- modifyAttribute(t, TmfStateValue.newValueInt(stackDepth), attributeQuark);
- modifyAttribute(t, value, subAttributeQuark);
- }
-
- @Override
- public ITmfStateValue popAttribute(long t, int attributeQuark)
- throws AttributeNotFoundException, TimeRangeException,
- StateValueTypeException {
- /* These are the state values of the stack-attribute itself */
- ITmfStateValue previousSV = queryOngoingState(attributeQuark);
-
- if (previousSV.isNull()) {
- /*
- * Trying to pop an empty stack. This often happens at the start of
- * traces, for example when we see a syscall_exit, without having
- * the corresponding syscall_entry in the trace. Just ignore
- * silently.
- */
- return null;
- }
- if (previousSV.getType() != Type.INTEGER) {
- /*
- * The existing value was not an integer (which is expected for
- * stack tops), this doesn't look like a valid stack attribute.
- */
- throw new StateValueTypeException();
- }
-
- int stackDepth = previousSV.unboxInt();
-
- if (stackDepth <= 0) {
- /* This on the other hand should not happen... */
- String message = "A top-level stack attribute cannot " + //$NON-NLS-1$
- "have a value of 0 or less."; //$NON-NLS-1$
- throw new StateValueTypeException(message);
- }
-
- /* The attribute should already exist at this point */
- int subAttributeQuark = getQuarkRelative(attributeQuark, String.valueOf(stackDepth));
- ITmfStateValue poppedValue = queryOngoingState(subAttributeQuark);
-
- /* Update the state value of the stack-attribute */
- ITmfStateValue nextSV;
- if (--stackDepth == 0) {
- /* Store a null state value */
- nextSV = TmfStateValue.nullValue();
- } else {
- nextSV = TmfStateValue.newValueInt(stackDepth);
- }
- modifyAttribute(t, nextSV, attributeQuark);
-
- /* Delete the sub-attribute that contained the user's state value */
- removeAttribute(t, subAttributeQuark);
-
- return poppedValue;
- }
-
- @Override
- public void removeAttribute(long t, int attributeQuark)
- throws TimeRangeException, AttributeNotFoundException {
- assert (attributeQuark >= 0);
- List<Integer> childAttributes;
-
- /*
- * "Nullify our children first, recursively. We pass 'false' because we
- * handle the recursion ourselves.
- */
- childAttributes = getSubAttributes(attributeQuark, false);
- for (int childNodeQuark : childAttributes) {
- assert (attributeQuark != childNodeQuark);
- removeAttribute(t, childNodeQuark);
- }
- /* Nullify ourselves */
- try {
- transState.processStateChange(t, TmfStateValue.nullValue(),
- attributeQuark);
- } catch (StateValueTypeException e) {
- /*
- * Will not happen since we're inserting null values only, but poor
- * compiler has no way of knowing this...
- */
- throw new IllegalStateException(e);
- }
- }
-
- //--------------------------------------------------------------------------
- // "Current" query/update methods
- //--------------------------------------------------------------------------
-
- @Override
- public ITmfStateValue queryOngoingState(int attributeQuark)
- throws AttributeNotFoundException {
- return transState.getOngoingStateValue(attributeQuark);
- }
-
- @Override
- public long getOngoingStartTime(int attribute)
- throws AttributeNotFoundException {
- return transState.getOngoingStartTime(attribute);
- }
-
- @Override
- public void updateOngoingState(ITmfStateValue newValue, int attributeQuark)
- throws AttributeNotFoundException {
- transState.changeOngoingStateValue(attributeQuark, newValue);
- }
-
- /**
- * Modify the whole "ongoing state" (state values + start times). This can
- * be used when "seeking" a state system to a different point in the trace
- * (and restoring the known stateInfo at this location). Use with care!
- *
- * @param newStateIntervals
- * The new List of state values to use as ongoing state info
- */
- protected void replaceOngoingState(List<ITmfStateInterval> newStateIntervals) {
- transState.replaceOngoingState(newStateIntervals);
- }
-
- //--------------------------------------------------------------------------
- // Regular query methods (sent to the back-end)
- //--------------------------------------------------------------------------
-
- @Override
- public synchronized List<ITmfStateInterval> queryFullState(long t)
- throws TimeRangeException, StateSystemDisposedException {
- if (isDisposed) {
- throw new StateSystemDisposedException();
- }
-
- List<ITmfStateInterval> stateInfo = new ArrayList<>(getNbAttributes());
-
- /* Bring the size of the array to the current number of attributes */
- for (int i = 0; i < getNbAttributes(); i++) {
- stateInfo.add(null);
- }
-
- /* Query the storage backend */
- backend.doQuery(stateInfo, t);
-
- /*
- * If we are currently building the history, also query the "ongoing"
- * states for stuff that might not yet be written to the history.
- */
- if (transState.isActive()) {
- transState.doQuery(stateInfo, t);
- }
-
- /*
- * We should have previously inserted an interval for every attribute.
- * If we do happen do see a 'null' object here, just replace it with a a
- * dummy internal with a null value, to avoid NPE's further up.
- */
- for (int i = 0; i < stateInfo.size(); i++) {
- if (stateInfo.get(i) == null) {
- stateInfo.set(i, new TmfStateInterval(t, t, i, TmfStateValue.nullValue()));
- }
- }
- return stateInfo;
- }
-
- @Override
- public ITmfStateInterval querySingleState(long t, int attributeQuark)
- throws AttributeNotFoundException, TimeRangeException,
- StateSystemDisposedException {
- if (isDisposed) {
- throw new StateSystemDisposedException();
- }
-
- ITmfStateInterval ret = transState.getIntervalAt(t, attributeQuark);
- if (ret == null) {
- /*
- * The transient state did not have the information, let's look into
- * the backend next.
- */
- ret = backend.doSingularQuery(t, attributeQuark);
- }
-
- /*
- * Return a fake interval if we could not find anything in the history.
- * We do NOT want to return 'null' here.
- */
- if (ret == null) {
- return new TmfStateInterval(t, this.getCurrentEndTime(),
- attributeQuark, TmfStateValue.nullValue());
- }
- return ret;
- }
-
- @Override
- public ITmfStateInterval querySingleStackTop(long t, int stackAttributeQuark)
- throws StateValueTypeException, AttributeNotFoundException,
- TimeRangeException, StateSystemDisposedException {
- ITmfStateValue curStackStateValue = querySingleState(t, stackAttributeQuark).getStateValue();
-
- if (curStackStateValue.isNull()) {
- /* There is nothing stored in this stack at this moment */
- return null;
- }
- int curStackDepth = curStackStateValue.unboxInt();
- if (curStackDepth <= 0) {
- /*
- * This attribute is an integer attribute, but it doesn't seem like
- * it's used as a stack-attribute...
- */
- throw new StateValueTypeException();
- }
-
- int subAttribQuark = getQuarkRelative(stackAttributeQuark, String.valueOf(curStackDepth));
- return querySingleState(t, subAttribQuark);
- }
-
- @Override
- public List<ITmfStateInterval> queryHistoryRange(int attributeQuark,
- long t1, long t2) throws TimeRangeException,
- AttributeNotFoundException, StateSystemDisposedException {
- if (isDisposed) {
- throw new StateSystemDisposedException();
- }
-
- List<ITmfStateInterval> intervals;
- ITmfStateInterval currentInterval;
- long ts, tEnd;
-
- /* Make sure the time range makes sense */
- if (t2 < t1) {
- throw new TimeRangeException();
- }
-
- /* Set the actual, valid end time of the range query */
- if (t2 > this.getCurrentEndTime()) {
- tEnd = this.getCurrentEndTime();
- } else {
- tEnd = t2;
- }
-
- /* Get the initial state at time T1 */
- intervals = new ArrayList<>();
- currentInterval = querySingleState(t1, attributeQuark);
- intervals.add(currentInterval);
-
- /* Get the following state changes */
- ts = currentInterval.getEndTime();
- while (ts != -1 && ts < tEnd) {
- ts++; /* To "jump over" to the next state in the history */
- currentInterval = querySingleState(ts, attributeQuark);
- intervals.add(currentInterval);
- ts = currentInterval.getEndTime();
- }
- return intervals;
- }
-
- @Override
- public List<ITmfStateInterval> queryHistoryRange(int attributeQuark,
- long t1, long t2, long resolution, IProgressMonitor monitor)
- throws TimeRangeException, AttributeNotFoundException,
- StateSystemDisposedException {
- if (isDisposed) {
- throw new StateSystemDisposedException();
- }
-
- List<ITmfStateInterval> intervals = new LinkedList<>();
- ITmfStateInterval currentInterval = null;
- long ts, tEnd;
-
- IProgressMonitor mon = monitor;
- if (mon == null) {
- mon = new NullProgressMonitor();
- }
-
- /* Make sure the time range makes sense */
- if (t2 < t1 || resolution <= 0) {
- throw new TimeRangeException();
- }
-
- /* Set the actual, valid end time of the range query */
- if (t2 > this.getCurrentEndTime()) {
- tEnd = this.getCurrentEndTime();
- } else {
- tEnd = t2;
- }
-
- /*
- * Iterate over the "resolution points". We skip unneeded queries in the
- * case the current interval is longer than the resolution.
- */
- for (ts = t1; ts <= tEnd;
- ts += ((currentInterval.getEndTime() - ts) / resolution + 1) * resolution) {
- if (mon.isCanceled()) {
- return intervals;
- }
- currentInterval = querySingleState(ts, attributeQuark);
- intervals.add(currentInterval);
- }
-
- /* Add the interval at t2, if it wasn't included already. */
- if (currentInterval != null && currentInterval.getEndTime() < tEnd) {
- currentInterval = querySingleState(tEnd, attributeQuark);
- intervals.add(currentInterval);
- }
- return intervals;
- }
-
- //--------------------------------------------------------------------------
- // Debug methods
- //--------------------------------------------------------------------------
-
- static void logMissingInterval(int attribute, long timestamp) {
- Activator.getDefault().logInfo("No data found in history for attribute " + //$NON-NLS-1$
- attribute + " at time " + timestamp + //$NON-NLS-1$
- ", returning dummy interval"); //$NON-NLS-1$
- }
-
- /**
- * Print out the contents of the inner structures.
- *
- * @param writer
- * The PrintWriter in which to print the output
- */
- public void debugPrint(PrintWriter writer) {
- getAttributeTree().debugPrint(writer);
- transState.debugPrint(writer);
- backend.debugPrint(writer);
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.statesystem.core/src/org/eclipse/linuxtools/internal/statesystem/core/TransientState.java b/lttng/org.eclipse.linuxtools.statesystem.core/src/org/eclipse/linuxtools/internal/statesystem/core/TransientState.java
deleted file mode 100644
index b846ccc309..0000000000
--- a/lttng/org.eclipse.linuxtools.statesystem.core/src/org/eclipse/linuxtools/internal/statesystem/core/TransientState.java
+++ /dev/null
@@ -1,455 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2012, 2014 Ericsson
- * Copyright (c) 2010, 2011 École Polytechnique de Montréal
- * Copyright (c) 2010, 2011 Alexandre Montplaisir <alexandre.montplaisir@gmail.com>
- *
- * 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
- *
- *******************************************************************************/
-
-package org.eclipse.linuxtools.internal.statesystem.core;
-
-import java.io.PrintWriter;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.concurrent.locks.ReentrantReadWriteLock;
-
-import org.eclipse.jdt.annotation.NonNull;
-import org.eclipse.jdt.annotation.Nullable;
-import org.eclipse.linuxtools.statesystem.core.backend.IStateHistoryBackend;
-import org.eclipse.linuxtools.statesystem.core.exceptions.AttributeNotFoundException;
-import org.eclipse.linuxtools.statesystem.core.exceptions.StateValueTypeException;
-import org.eclipse.linuxtools.statesystem.core.exceptions.TimeRangeException;
-import org.eclipse.linuxtools.statesystem.core.interval.ITmfStateInterval;
-import org.eclipse.linuxtools.statesystem.core.interval.TmfStateInterval;
-import org.eclipse.linuxtools.statesystem.core.statevalue.ITmfStateValue;
-import org.eclipse.linuxtools.statesystem.core.statevalue.TmfStateValue;
-import org.eclipse.linuxtools.statesystem.core.statevalue.ITmfStateValue.Type;
-
-/**
- * The Transient State is used to build intervals from punctual state changes.
- * It contains a "state info" vector similar to the "current state", except here
- * we also record the start time of every state stored in it.
- *
- * We can then build {@link ITmfStateInterval}'s, to be inserted in a
- * {@link IStateHistoryBackend} when we detect state changes : the "start time"
- * of the interval will be the recorded time we have here, and the "end time"
- * will be the timestamp of the new state-changing event we just read.
- *
- * @author Alexandre Montplaisir
- */
-public class TransientState {
-
- /* Indicates where to insert state changes that we generate */
- @NonNull private final IStateHistoryBackend backend;
-
- private final ReentrantReadWriteLock rwl = new ReentrantReadWriteLock(false);
-
- private volatile boolean isActive;
- private volatile long latestTime;
-
- /* A method accessing these arrays will have to go through the lock */
- private List<ITmfStateValue> ongoingStateInfo;
- private List<Long> ongoingStateStartTimes;
- private List<Type> stateValueTypes;
-
- /**
- * Constructor
- *
- * @param backend
- * The back-end in which to insert the generated state intervals
- */
- public TransientState(@NonNull IStateHistoryBackend backend) {
- this.backend = backend;
- isActive = true;
- ongoingStateInfo = new ArrayList<>();
- ongoingStateStartTimes = new ArrayList<>();
- stateValueTypes = new ArrayList<>();
-
- latestTime = backend.getStartTime();
- }
-
- /**
- * Get the latest time we have seen so far.
- *
- * @return The latest time seen in the transient state
- */
- public long getLatestTime() {
- return latestTime;
- }
-
- /**
- * Retrieve the ongoing state value for a given index (attribute quark).
- *
- * @param quark
- * The quark of the attribute to look for
- * @return The corresponding state value
- * @throws AttributeNotFoundException
- * If the quark is invalid
- */
- public ITmfStateValue getOngoingStateValue(int quark) throws AttributeNotFoundException {
- rwl.readLock().lock();
- try {
- checkValidAttribute(quark);
- return ongoingStateInfo.get(quark);
- } finally {
- rwl.readLock().unlock();
- }
- }
-
- /**
- * Retrieve the start time of the state in which the given attribute is in.
- *
- * @param quark
- * The quark of the attribute to look for
- * @return The start time of the current state for this attribute
- * @throws AttributeNotFoundException
- * If the quark is invalid
- */
- public long getOngoingStartTime(int quark) throws AttributeNotFoundException {
- rwl.readLock().lock();
- try {
- checkValidAttribute(quark);
- return ongoingStateStartTimes.get(quark);
- } finally {
- rwl.readLock().unlock();
- }
- }
-
- /**
- * Modify the current state for a given attribute. This will not update the
- * "ongoing state start time" in any way, so be careful when using this.
- *
- * @param quark
- * The quark of the attribute to modify
- * @param newValue
- * The state value the attribute should have
- * @throws AttributeNotFoundException
- * If the quark is invalid
- */
- public void changeOngoingStateValue(int quark, ITmfStateValue newValue)
- throws AttributeNotFoundException {
- rwl.writeLock().lock();
- try {
- checkValidAttribute(quark);
- ongoingStateInfo.set(quark, newValue);
- } finally {
- rwl.writeLock().unlock();
- }
- }
-
- /**
- * Convenience method to return the "ongoing" value for a given attribute as
- * a dummy interval whose end time = the current latest time.
- *
- * @param quark
- * The quark of the attribute
- * @return An interval representing the current state (but whose end time is
- * the current one, and probably not the "final" one)
- * @throws AttributeNotFoundException
- * If the quark is invalid
- */
- public ITmfStateInterval getOngoingInterval(int quark) throws AttributeNotFoundException {
- rwl.readLock().lock();
- try {
- checkValidAttribute(quark);
- return new TmfStateInterval(ongoingStateStartTimes.get(quark), latestTime,
- quark, ongoingStateInfo.get(quark));
- } finally {
- rwl.readLock().unlock();
- }
- }
-
- /**
- * Try to get the state interval valid for time/quark, if it is present in
- * this transient state. If it is not (for example, a new value is active
- * since after the specified timestamp) then null will be returned.
- *
- * @param time
- * The timestamp to look for
- * @param quark
- * The quark of the attribute to look for
- * @return The corresponding TmfStateInterval object if we could find it in
- * this transient state, or null if we couldn't.
- */
- @Nullable
- public ITmfStateInterval getIntervalAt(long time, int quark) {
- rwl.readLock().lock();
- try {
- checkValidAttribute(quark);
- if (!isActive() || time < ongoingStateStartTimes.get(quark)) {
- return null;
- }
- return new TmfStateInterval(ongoingStateStartTimes.get(quark),
- latestTime, quark, ongoingStateInfo.get(quark));
- } catch (AttributeNotFoundException e) {
- return null;
- } finally {
- rwl.readLock().unlock();
- }
- }
-
- private void checkValidAttribute(int quark) throws AttributeNotFoundException {
- if (quark > ongoingStateInfo.size() - 1 || quark < 0) {
- throw new AttributeNotFoundException();
- }
- }
-
- /**
- * More advanced version of {@link #changeOngoingStateValue}. Replaces the
- * complete ongoingStateInfo in one go, and updates the
- * ongoingStateStartTimes and #stateValuesTypes accordingly. BE VERY CAREFUL
- * WITH THIS!
- *
- * @param newStateIntervals
- * The List of intervals that will represent the new
- * "ongoing state". Their end times don't matter, we will only
- * check their value and start times.
- */
- public void replaceOngoingState(List<ITmfStateInterval> newStateIntervals) {
- final int size = newStateIntervals.size();
-
- rwl.writeLock().lock();
- try {
- ongoingStateInfo = new ArrayList<>(size);
- ongoingStateStartTimes = new ArrayList<>(size);
- stateValueTypes = new ArrayList<>(size);
-
- for (ITmfStateInterval interval : newStateIntervals) {
- ongoingStateInfo.add(interval.getStateValue());
- ongoingStateStartTimes.add(interval.getStartTime());
- stateValueTypes.add(interval.getStateValue().getType());
- }
- } finally {
- rwl.writeLock().unlock();
- }
- }
-
- /**
- * Add an "empty line" to both "ongoing..." vectors. This is needed so the
- * Ongoing... tables can stay in sync with the number of attributes in the
- * attribute tree, namely when we add sub-path attributes.
- */
- public void addEmptyEntry() {
- rwl.writeLock().lock();
- try {
- /*
- * Since this is a new attribute, we suppose it was in the
- * "null state" since the beginning (so we can have intervals
- * covering for all timestamps). A null interval will then get added
- * at the first state change.
- */
- ongoingStateInfo.add(TmfStateValue.nullValue());
- stateValueTypes.add(Type.NULL);
-
- ongoingStateStartTimes.add(backend.getStartTime());
- } finally {
- rwl.writeLock().unlock();
- }
- }
-
- /**
- * Process a state change to be inserted in the history.
- *
- * @param eventTime
- * The timestamp associated with this state change
- * @param value
- * The new StateValue associated to this attribute
- * @param quark
- * The quark of the attribute that is being modified
- * @throws TimeRangeException
- * If 'eventTime' is invalid
- * @throws AttributeNotFoundException
- * IF 'quark' does not represent an existing attribute
- * @throws StateValueTypeException
- * If the state value to be inserted is of a different type of
- * what was inserted so far for this attribute.
- */
- public void processStateChange(long eventTime, ITmfStateValue value, int quark)
- throws TimeRangeException, AttributeNotFoundException, StateValueTypeException {
- rwl.writeLock().lock();
- assert (this.isActive);
-
- try {
- Type expectedSvType = stateValueTypes.get(quark);
- checkValidAttribute(quark);
-
- /*
- * Make sure the state value type we're inserting is the same as the
- * one registered for this attribute.
- */
- if (expectedSvType == Type.NULL) {
- /*
- * The value hasn't been used yet, set it to the value we're
- * currently inserting (which might be null/-1 again).
- */
- stateValueTypes.set(quark, value.getType());
- } else if ((value.getType() != Type.NULL) && (value.getType() != expectedSvType)) {
- /*
- * We authorize inserting null values in any type of attribute,
- * but for every other types, it needs to match our
- * expectations!
- */
- throw new StateValueTypeException();
- }
-
- if (ongoingStateInfo.get(quark).equals(value)) {
- /*
- * This is the case where the new value and the one already
- * present in the Builder are the same. We do not need to create
- * an interval, we'll just keep the current one going.
- */
- return;
- }
-
- if (ongoingStateStartTimes.get(quark) < eventTime) {
- /*
- * These two conditions are necessary to create an interval and
- * update ongoingStateInfo.
- */
- backend.insertPastState(ongoingStateStartTimes.get(quark),
- eventTime - 1, /* End Time */
- quark, /* attribute quark */
- ongoingStateInfo.get(quark)); /* StateValue */
-
- ongoingStateStartTimes.set(quark, eventTime);
- }
- ongoingStateInfo.set(quark, value);
-
- /* Update the Transient State's lastestTime, if needed */
- if (latestTime < eventTime) {
- latestTime = eventTime;
- }
-
- } finally {
- rwl.writeLock().unlock();
- }
- }
-
- /**
- * Run a "get state at time" query on the Transient State only.
- *
- * @param stateInfo
- * The stateInfo object in which we will put our relevant
- * information
- * @param t
- * The requested timestamp
- */
- public void doQuery(List<ITmfStateInterval> stateInfo, long t) {
- rwl.readLock().lock();
- try {
- if (!this.isActive) {
- return;
- }
- if (stateInfo.size() > ongoingStateInfo.size()) {
- throw new IllegalArgumentException();
- }
-
- for (int i = 0; i < stateInfo.size(); i++) {
- /*
- * We build a dummy interval with end time = -1 to put in the
- * answer to the query.
- */
- final ITmfStateInterval interval = getIntervalAt(t, i);
- if (interval != null) {
- stateInfo.set(i, interval);
- }
- }
- } finally {
- rwl.readLock().unlock();
- }
- }
-
- /**
- * Close off the Transient State, used for example when we are done reading
- * a static trace file. All the information currently contained in it will
- * be converted to intervals and "flushed" to the state history.
- *
- * @param endTime
- * The timestamp to use as end time for the state history (since
- * it may be different than the timestamp of the last state
- * change)
- */
- public void closeTransientState(long endTime) {
- rwl.writeLock().lock();
- try {
- assert (this.isActive);
-
- for (int i = 0; i < ongoingStateInfo.size(); i++) {
- if (ongoingStateStartTimes.get(i) > endTime) {
- /*
- * Handle the cases where trace end > timestamp of last
- * state change. This can happen when inserting "future"
- * changes.
- */
- continue;
- }
- try {
- backend.insertPastState(ongoingStateStartTimes.get(i),
- endTime, /* End Time */
- i, /* attribute quark */
- ongoingStateInfo.get(i)); /* StateValue */
-
- } catch (TimeRangeException e) {
- /*
- * This shouldn't happen, since we control where the
- * interval's start time comes from
- */
- throw new IllegalStateException(e);
- }
- }
-
- ongoingStateInfo.clear();
- ongoingStateStartTimes.clear();
- this.isActive = false;
-
- } finally {
- rwl.writeLock().unlock();
- }
- }
-
- /**
- * Simply returns if this Transient State is currently being used or not
- *
- * @return True if this transient state is active
- */
- public boolean isActive() {
- return this.isActive;
- }
-
- /**
- * Mark this transient state as inactive
- */
- public void setInactive() {
- isActive = false;
- }
-
- /**
- * Debugging method that prints the contents of the transient state
- *
- * @param writer
- * The writer to which the output should be written
- */
- public void debugPrint(PrintWriter writer) {
- /* Only used for debugging, shouldn't be externalized */
- writer.println("------------------------------"); //$NON-NLS-1$
- writer.println("Info stored in the Builder:"); //$NON-NLS-1$
- if (!this.isActive) {
- writer.println("Builder is currently inactive"); //$NON-NLS-1$
- writer.println('\n');
- return;
- }
- writer.println("\nAttribute\tStateValue\tValid since time"); //$NON-NLS-1$
- for (int i = 0; i < ongoingStateInfo.size(); i++) {
- writer.format("%d\t\t", i); //$NON-NLS-1$
- writer.print(ongoingStateInfo.get(i).toString() + "\t\t"); //$NON-NLS-1$
- writer.println(ongoingStateStartTimes.get(i).toString());
- }
- writer.println('\n');
- return;
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.statesystem.core/src/org/eclipse/linuxtools/internal/statesystem/core/backend/historytree/CoreNode.java b/lttng/org.eclipse.linuxtools.statesystem.core/src/org/eclipse/linuxtools/internal/statesystem/core/backend/historytree/CoreNode.java
deleted file mode 100644
index 8cf3455783..0000000000
--- a/lttng/org.eclipse.linuxtools.statesystem.core/src/org/eclipse/linuxtools/internal/statesystem/core/backend/historytree/CoreNode.java
+++ /dev/null
@@ -1,256 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010, 2014 Ericsson, École Polytechnique de Montréal, and others
- *
- * 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:
- * Alexandre Montplaisir - Initial API and implementation
- * Florian Wininger - Add Extension and Leaf Node
- *******************************************************************************/
-
-package org.eclipse.linuxtools.internal.statesystem.core.backend.historytree;
-
-import java.nio.ByteBuffer;
-import java.util.concurrent.locks.ReentrantReadWriteLock;
-
-/**
- * A Core node is a first-level node of a History Tree which is not a leaf node.
- *
- * It extends HTNode by adding support for child nodes, and also extensions.
- *
- * @author Alexandre Montplaisir
- */
-public final class CoreNode extends HTNode {
-
- /** Number of bytes in a int */
- private static final int SIZE_INT = 4;
-
- /** Number of bytes in a long */
- private static final int SIZE_LONG = 8;
-
- /** Nb. of children this node has */
- private int nbChildren;
-
- /** Seq. numbers of the children nodes (size = MAX_NB_CHILDREN) */
- private int[] children;
-
- /** Start times of each of the children (size = MAX_NB_CHILDREN) */
- private long[] childStart;
-
- /** Seq number of this node's extension. -1 if none */
- private volatile int extension = -1;
-
- /**
- * Lock used to gate the accesses to the children arrays. Meant to be a
- * different lock from the one in {@link HTNode}.
- */
- private final ReentrantReadWriteLock rwl = new ReentrantReadWriteLock(false);
-
- /**
- * Initial constructor. Use this to initialize a new EMPTY node.
- *
- * @param config
- * Configuration of the History Tree
- * @param seqNumber
- * The (unique) sequence number assigned to this particular node
- * @param parentSeqNumber
- * The sequence number of this node's parent node
- * @param start
- * The earliest timestamp stored in this node
- */
- public CoreNode(HTConfig config, int seqNumber, int parentSeqNumber,
- long start) {
- super(config, seqNumber, parentSeqNumber, start);
- this.nbChildren = 0;
- int size = config.getMaxChildren();
-
- /*
- * We instantiate the two following arrays at full size right away,
- * since we want to reserve that space in the node's header.
- * "this.nbChildren" will tell us how many relevant entries there are in
- * those tables.
- */
- this.children = new int[size];
- this.childStart = new long[size];
- }
-
- @Override
- protected void readSpecificHeader(ByteBuffer buffer) {
- int size = getConfig().getMaxChildren();
-
- extension = buffer.getInt();
- nbChildren = buffer.getInt();
-
- children = new int[size];
- for (int i = 0; i < nbChildren; i++) {
- children[i] = buffer.getInt();
- }
- for (int i = nbChildren; i < size; i++) {
- buffer.getInt();
- }
-
- this.childStart = new long[size];
- for (int i = 0; i < nbChildren; i++) {
- childStart[i] = buffer.getLong();
- }
- for (int i = nbChildren; i < size; i++) {
- buffer.getLong();
- }
- }
-
- @Override
- protected void writeSpecificHeader(ByteBuffer buffer) {
- int size = getConfig().getMaxChildren();
-
- buffer.putInt(extension);
- buffer.putInt(nbChildren);
-
- /* Write the "children's seq number" array */
- for (int i = 0; i < nbChildren; i++) {
- buffer.putInt(children[i]);
- }
- for (int i = nbChildren; i < size; i++) {
- buffer.putInt(0);
- }
-
- /* Write the "children's start times" array */
- for (int i = 0; i < nbChildren; i++) {
- buffer.putLong(childStart[i]);
- }
- for (int i = nbChildren; i < size; i++) {
- buffer.putLong(0);
- }
- }
-
- /**
- * Return the number of child nodes this node has.
- *
- * @return The number of child nodes
- */
- public int getNbChildren() {
- rwl.readLock().lock();
- int ret = nbChildren;
- rwl.readLock().unlock();
- return ret;
- }
-
- /**
- * Get the child node corresponding to the specified index
- *
- * @param index The index of the child to lookup
- * @return The child node
- */
- public int getChild(int index) {
- rwl.readLock().lock();
- try {
- return children[index];
- } finally {
- rwl.readLock().unlock();
- }
- }
-
- /**
- * Get the latest (right-most) child node of this node.
- *
- * @return The latest child node
- */
- public int getLatestChild() {
- rwl.readLock().lock();
- try {
- return children[nbChildren - 1];
- } finally {
- rwl.readLock().unlock();
- }
- }
-
- /**
- * Get the start time of the specified child node.
- *
- * @param index
- * The index of the child node
- * @return The start time of the that child node.
- */
- public long getChildStart(int index) {
- rwl.readLock().lock();
- try {
- return childStart[index];
- } finally {
- rwl.readLock().unlock();
- }
- }
-
- /**
- * Get the start time of the latest (right-most) child node.
- *
- * @return The start time of the latest child
- */
- public long getLatestChildStart() {
- rwl.readLock().lock();
- try {
- return childStart[nbChildren - 1];
- } finally {
- rwl.readLock().unlock();
- }
- }
-
- /**
- * Get the sequence number of the extension to this node (if there is one).
- *
- * @return The sequence number of the extended node. '-1' is returned if
- * there is no extension node.
- */
- public int getExtensionSequenceNumber() {
- return extension;
- }
-
- /**
- * Tell this node that it has a new child (Congrats!)
- *
- * @param childNode
- * The SHTNode object of the new child
- */
- public void linkNewChild(HTNode childNode) {
- rwl.writeLock().lock();
- try {
- assert (nbChildren < getConfig().getMaxChildren());
-
- children[nbChildren] = childNode.getSequenceNumber();
- childStart[nbChildren] = childNode.getNodeStart();
- nbChildren++;
-
- } finally {
- rwl.writeLock().unlock();
- }
- }
-
- @Override
- public NodeType getNodeType() {
- return NodeType.CORE;
- }
-
- @Override
- protected int getSpecificHeaderSize() {
- int maxChildren = getConfig().getMaxChildren();
- int specificSize =
- SIZE_INT /* 1x int (extension node) */
- + SIZE_INT /* 1x int (nbChildren) */
-
- /* MAX_NB * int ('children' table) */
- + SIZE_INT * maxChildren
-
- /* MAX_NB * Timevalue ('childStart' table) */
- + SIZE_LONG * maxChildren;
-
- return specificSize;
- }
-
- @Override
- public String toStringSpecific() {
- /* Only used for debugging, shouldn't be externalized */
- return "Core Node, " + nbChildren + " children, "; //$NON-NLS-1$ //$NON-NLS-2$
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.statesystem.core/src/org/eclipse/linuxtools/internal/statesystem/core/backend/historytree/HTConfig.java b/lttng/org.eclipse.linuxtools.statesystem.core/src/org/eclipse/linuxtools/internal/statesystem/core/backend/historytree/HTConfig.java
deleted file mode 100644
index b87ea0825f..0000000000
--- a/lttng/org.eclipse.linuxtools.statesystem.core/src/org/eclipse/linuxtools/internal/statesystem/core/backend/historytree/HTConfig.java
+++ /dev/null
@@ -1,125 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2012, 2014 Ericsson
- * Copyright (c) 2010, 2011 École Polytechnique de Montréal
- * Copyright (c) 2010, 2011 Alexandre Montplaisir <alexandre.montplaisir@gmail.com>
- *
- * 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
- *
- *******************************************************************************/
-
-package org.eclipse.linuxtools.internal.statesystem.core.backend.historytree;
-
-import java.io.File;
-
-/**
- * Configuration object for the {@link HistoryTree}.
- *
- * @author Alexandre Montplaisir
- */
-public final class HTConfig {
-
- private static final int DEFAULT_BLOCKSIZE = 64 * 1024;
- private static final int DEFAULT_MAXCHILDREN = 50;
-
- private final File stateFile;
- private final int blockSize;
- private final int maxChildren;
- private final int providerVersion;
- private final long treeStart;
-
- /**
- * Full constructor.
- *
- * @param newStateFile
- * The name of the history file
- * @param blockSize
- * The size of each "block" on disk. One node will always fit in
- * one block.
- * @param maxChildren
- * The maximum number of children allowed per core (non-leaf)
- * node.
- * @param providerVersion
- * The version of the state provider. If a file already exists,
- * and their versions match, the history file will not be rebuilt
- * uselessly.
- * @param startTime
- * The start time of the history
- */
- public HTConfig(File newStateFile, int blockSize, int maxChildren,
- int providerVersion, long startTime) {
- this.stateFile = newStateFile;
- this.blockSize = blockSize;
- this.maxChildren = maxChildren;
- this.providerVersion = providerVersion;
- this.treeStart = startTime;
- }
-
- /**
- * Version of the constructor using default values for 'blockSize' and
- * 'maxChildren'.
- *
- * @param newStateFile
- * The name of the history file
- * @param providerVersion
- * The version of the state provider. If a file already exists,
- * and their versions match, the history file will not be rebuilt
- * uselessly.
- * @param startTime
- * The start time of the history
- */
- public HTConfig(File newStateFile, int providerVersion, long startTime) {
- this(newStateFile, DEFAULT_BLOCKSIZE, DEFAULT_MAXCHILDREN, providerVersion, startTime);
- }
-
- // ------------------------------------------------------------------------
- // Getters
- // ------------------------------------------------------------------------
-
- /**
- * Get the history file.
- *
- * @return The history file
- */
- public File getStateFile() {
- return stateFile;
- }
-
- /**
- * Get the configure block size.
- *
- * @return The block size
- */
- public int getBlockSize() {
- return blockSize;
- }
-
- /**
- * Get the maximum amount of children allowed.
- *
- * @return The maximum amount of children
- */
- public int getMaxChildren() {
- return maxChildren;
- }
-
- /**
- * Get the state provider's version.
- *
- * @return The state provider's version
- */
- public int getProviderVersion() {
- return providerVersion;
- }
-
- /**
- * Get the start time of the history
- *
- * @return The start time
- */
- public long getTreeStart() {
- return treeStart;
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.statesystem.core/src/org/eclipse/linuxtools/internal/statesystem/core/backend/historytree/HTInterval.java b/lttng/org.eclipse.linuxtools.statesystem.core/src/org/eclipse/linuxtools/internal/statesystem/core/backend/historytree/HTInterval.java
deleted file mode 100644
index c596a3a22b..0000000000
--- a/lttng/org.eclipse.linuxtools.statesystem.core/src/org/eclipse/linuxtools/internal/statesystem/core/backend/historytree/HTInterval.java
+++ /dev/null
@@ -1,484 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2012, 2014 Ericsson, École Polytechnique de Montréal
- * Copyright (c) 2010, 2011 Alexandre Montplaisir <alexandre.montplaisir@gmail.com>
- *
- * 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:
- * Alexandre Montplaisir - Initial API and implementation
- * Florian Wininger - Allow to change the size of a interval
- *******************************************************************************/
-
-package org.eclipse.linuxtools.internal.statesystem.core.backend.historytree;
-
-import java.io.IOException;
-import java.nio.ByteBuffer;
-
-import org.eclipse.linuxtools.statesystem.core.exceptions.StateValueTypeException;
-import org.eclipse.linuxtools.statesystem.core.exceptions.TimeRangeException;
-import org.eclipse.linuxtools.statesystem.core.interval.ITmfStateInterval;
-import org.eclipse.linuxtools.statesystem.core.statevalue.ITmfStateValue;
-import org.eclipse.linuxtools.statesystem.core.statevalue.TmfStateValue;
-
-/**
- * The interval component, which will be contained in a node of the History
- * Tree.
- *
- * @author Alexandre Montplaisir
- */
-public final class HTInterval implements ITmfStateInterval, Comparable<HTInterval> {
-
- private static final String errMsg = "Invalid interval data. Maybe your file is corrupt?"; //$NON-NLS-1$
-
- /**
- * Size of an entry in the data section.
- *
- * <pre>
- * 16 2 x Timevalue/long (interval start + end)
- * + 4 int (key)
- * + 1 byte (type)
- * + 4 int (valueOffset)
- * </pre>
- */
- private static final int DATA_ENTRY_SIZE = 25;
-
- /* 'Byte' equivalent for state values types */
- private static final byte TYPE_NULL = -1;
- private static final byte TYPE_INTEGER = 0;
- private static final byte TYPE_STRING = 1;
- private static final byte TYPE_LONG = 2;
- private static final byte TYPE_DOUBLE = 3;
-
- /* String entry sizes of different state values */
- private static final int NO_ENTRY_SIZE = 0;
- private static final int LONG_ENTRY_SIZE = 8;
- private static final int DOUBLE_ENTRY_SIZE = 8;
- // sizes of string values depend on the string itself
-
- private final long start;
- private final long end;
- private final int attribute;
- private final TmfStateValue sv;
-
- /*
- * Size of the strings section entry used by this interval (= 0 if not used)
- */
- private final int stringsEntrySize;
-
- /**
- * Standard constructor
- *
- * @param intervalStart
- * Start time of the interval
- * @param intervalEnd
- * End time of the interval
- * @param attribute
- * Attribute (quark) to which the state represented by this
- * interval belongs
- * @param value
- * State value represented by this interval
- * @throws TimeRangeException
- * If the start time or end time are invalid
- */
- public HTInterval(long intervalStart, long intervalEnd, int attribute,
- TmfStateValue value) throws TimeRangeException {
- if (intervalStart > intervalEnd) {
- throw new TimeRangeException();
- }
-
- this.start = intervalStart;
- this.end = intervalEnd;
- this.attribute = attribute;
- this.sv = value;
- this.stringsEntrySize = computeStringsEntrySize();
- }
-
- /**
- * "Faster" constructor for inner use only. When we build an interval when
- * reading it from disk (with {@link #readFrom}), we already know the size
- * of the strings entry, so there is no need to call
- * {@link #computeStringsEntrySize()} and do an extra copy.
- */
- private HTInterval(long intervalStart, long intervalEnd, int attribute,
- TmfStateValue value, int size) throws TimeRangeException {
- if (intervalStart > intervalEnd) {
- throw new TimeRangeException();
- }
-
- this.start = intervalStart;
- this.end = intervalEnd;
- this.attribute = attribute;
- this.sv = value;
- this.stringsEntrySize = size;
- }
-
- /**
- * Reader factory method. Builds the interval using an already-allocated
- * ByteBuffer, which normally comes from a NIO FileChannel.
- *
- * @param buffer
- * The ByteBuffer from which to read the information
- * @return The interval object
- * @throws IOException
- * If there was an error reading from the buffer
- */
- public static final HTInterval readFrom(ByteBuffer buffer) throws IOException {
- HTInterval interval;
- long intervalStart, intervalEnd;
- int attribute;
- TmfStateValue value;
- int valueOrOffset, valueSize, res;
- byte valueType;
- byte array[];
-
- /* Read the Data Section entry */
- intervalStart = buffer.getLong();
- intervalEnd = buffer.getLong();
- attribute = buffer.getInt();
-
- /* Read the 'type' of the value, then react accordingly */
- valueType = buffer.get();
- valueOrOffset = buffer.getInt();
- switch (valueType) {
-
- case TYPE_NULL:
- value = TmfStateValue.nullValue();
- valueSize = NO_ENTRY_SIZE;
- break;
-
- case TYPE_INTEGER:
- /* "ValueOrOffset" is the straight value */
- value = TmfStateValue.newValueInt(valueOrOffset);
- valueSize = NO_ENTRY_SIZE;
- break;
-
- case TYPE_STRING:
- /* Go read the matching entry in the Strings section of the block */
- buffer.mark();
- buffer.position(valueOrOffset);
-
- /* the first byte = the size to read */
- valueSize = buffer.get();
-
- /*
- * Careful though, 'valueSize' is the total size of the entry,
- * including the 'size' byte at the start and end (0'ed) byte at the
- * end. Here we want 'array' to only contain the real payload of the
- * value.
- */
- array = new byte[valueSize - 2];
- buffer.get(array);
- value = TmfStateValue.newValueString(new String(array));
-
- /* Confirm the 0'ed byte at the end */
- res = buffer.get();
- if (res != 0) {
- throw new IOException(errMsg);
- }
-
- /*
- * Restore the file pointer's position (so we can read the next
- * interval)
- */
- buffer.reset();
- break;
-
- case TYPE_LONG:
- /* Go read the matching entry in the Strings section of the block */
- buffer.mark();
- buffer.position(valueOrOffset);
- value = TmfStateValue.newValueLong(buffer.getLong());
- valueSize = LONG_ENTRY_SIZE;
-
- /*
- * Restore the file pointer's position (so we can read the next
- * interval)
- */
- buffer.reset();
- break;
-
- case TYPE_DOUBLE:
- /* Go read the matching entry in the Strings section of the block */
- buffer.mark();
- buffer.position(valueOrOffset);
- value = TmfStateValue.newValueDouble(buffer.getDouble());
- valueSize = DOUBLE_ENTRY_SIZE;
-
- /*
- * Restore the file pointer's position (so we can read the next
- * interval)
- */
- buffer.reset();
- break;
-
- default:
- /* Unknown data, better to not make anything up... */
- throw new IOException(errMsg);
- }
-
- try {
- interval = new HTInterval(intervalStart, intervalEnd, attribute, value, valueSize);
- } catch (TimeRangeException e) {
- throw new IOException(errMsg);
- }
- return interval;
- }
-
- /**
- * Antagonist of the previous constructor, write the Data entry
- * corresponding to this interval in a ByteBuffer (mapped to a block in the
- * history-file, hopefully)
- *
- * @param buffer
- * The already-allocated ByteBuffer corresponding to a SHT Node
- * @param endPosOfStringEntry
- * The initial (before calling this function for this interval)
- * position of the Strings Entry for this node. This will change
- * from one call to the other if we're writing String
- * StateValues.
- * @return The size of the Strings Entry that was written, if any.
- */
- public int writeInterval(ByteBuffer buffer, int endPosOfStringEntry) {
- buffer.putLong(start);
- buffer.putLong(end);
- buffer.putInt(attribute);
- buffer.put(getByteFromType(sv.getType()));
-
- switch (getByteFromType(sv.getType())) {
-
- case TYPE_NULL:
- case TYPE_INTEGER:
- /* We write the 'valueOffset' field as a straight value. */
- try {
- buffer.putInt(sv.unboxInt());
- } catch (StateValueTypeException e) {
- /*
- * This should not happen, since the value told us it was of
- * type Null or Integer (corrupted value?)
- */
- e.printStackTrace();
- }
- break;
-
- case TYPE_STRING:
- byte[] byteArrayToWrite;
- try {
- byteArrayToWrite = sv.unboxStr().getBytes();
- } catch (StateValueTypeException e1) {
- /* Should not happen, we're in a switch/case for string type */
- throw new RuntimeException();
- }
-
- /* we use the valueOffset as an offset. */
- buffer.putInt(endPosOfStringEntry - stringsEntrySize);
- buffer.mark();
- buffer.position(endPosOfStringEntry - stringsEntrySize);
-
- /*
- * write the Strings entry (1st byte = size, then the bytes, then the 0)
- */
- buffer.put((byte) stringsEntrySize);
- buffer.put(byteArrayToWrite);
- buffer.put((byte) 0);
- assert (buffer.position() == endPosOfStringEntry);
- buffer.reset();
- break;
-
- case TYPE_LONG:
- /* we use the valueOffset as an offset. */
- buffer.putInt(endPosOfStringEntry - stringsEntrySize);
- buffer.mark();
- buffer.position(endPosOfStringEntry - stringsEntrySize);
-
- /*
- * write the Long in the Strings section
- */
- try {
- buffer.putLong(sv.unboxLong());
- } catch (StateValueTypeException e) {
- /*
- * This should not happen, since the value told us it was of
- * type Long (corrupted value?)
- */
- e.printStackTrace();
- }
- assert (buffer.position() == endPosOfStringEntry);
- buffer.reset();
- break;
-
- case TYPE_DOUBLE:
- /* we use the valueOffset as an offset. */
- buffer.putInt(endPosOfStringEntry - stringsEntrySize);
- buffer.mark();
- buffer.position(endPosOfStringEntry - stringsEntrySize);
-
- /* Write the Double in the Strings section */
- try {
- buffer.putDouble(sv.unboxDouble());
- } catch (StateValueTypeException e) {
- /*
- * This should not happen, since the value told us it was of
- * type Double (corrupted value?)
- */
- e.printStackTrace();
- }
- if (buffer.position() != endPosOfStringEntry) {
- throw new IllegalStateException();
- }
- buffer.reset();
- break;
-
- default:
- break;
- }
- return stringsEntrySize;
- }
-
- @Override
- public long getStartTime() {
- return start;
- }
-
- @Override
- public long getEndTime() {
- return end;
- }
-
- @Override
- public long getViewerEndTime() {
- return end + 1;
- }
-
- @Override
- public int getAttribute() {
- return attribute;
- }
-
- @Override
- public ITmfStateValue getStateValue() {
- return sv;
- }
-
- @Override
- public boolean intersects(long timestamp) {
- if (start <= timestamp) {
- if (end >= timestamp) {
- return true;
- }
- }
- return false;
- }
-
- int getStringsEntrySize() {
- return stringsEntrySize;
- }
-
- /**
- * Total serialized size of this interval
- *
- * @return The interval size
- */
- public int getIntervalSize() {
- return stringsEntrySize + DATA_ENTRY_SIZE;
- }
-
- private int computeStringsEntrySize() {
- switch(sv.getType()) {
- case NULL:
- case INTEGER:
- /* Those don't use the strings section at all */
- return NO_ENTRY_SIZE;
- case LONG:
- /* The value's bytes are written directly into the strings section */
- return LONG_ENTRY_SIZE;
- case DOUBLE:
- /* The value is also written directly into the strings section */
- return DOUBLE_ENTRY_SIZE;
- case STRING:
- try {
- /* String's length + 2 (1 byte for size, 1 byte for \0 at the end */
- return sv.unboxStr().getBytes().length + 2;
- } catch (StateValueTypeException e) {
- /* We're inside a switch/case for the string type, can't happen */
- throw new IllegalStateException(e);
- }
- default:
- /* It's very important that we know how to write the state value in
- * the file!! */
- throw new IllegalStateException();
- }
- }
-
- /**
- * Compare the END TIMES of different intervals. This is used to sort the
- * intervals when we close down a node.
- */
- @Override
- public int compareTo(HTInterval other) {
- if (this.end < other.end) {
- return -1;
- } else if (this.end > other.end) {
- return 1;
- } else {
- return 0;
- }
- }
-
- @Override
- public boolean equals(Object other) {
- if (other instanceof HTInterval &&
- this.compareTo((HTInterval) other) == 0) {
- return true;
- }
- return false;
- }
-
- @Override
- public int hashCode() {
- return super.hashCode();
- }
-
- @Override
- public String toString() {
- /* Only for debug, should not be externalized */
- StringBuilder sb = new StringBuilder();
- sb.append('[');
- sb.append(start);
- sb.append(", "); //$NON-NLS-1$
- sb.append(end);
- sb.append(']');
-
- sb.append(", attribute = "); //$NON-NLS-1$
- sb.append(attribute);
-
- sb.append(", value = "); //$NON-NLS-1$
- sb.append(sv.toString());
-
- return sb.toString();
- }
-
- /**
- * Here we determine how state values "types" are written in the 8-bit
- * field that indicates the value type in the file.
- */
- private static byte getByteFromType(ITmfStateValue.Type type) {
- switch(type) {
- case NULL:
- return TYPE_NULL;
- case INTEGER:
- return TYPE_INTEGER;
- case STRING:
- return TYPE_STRING;
- case LONG:
- return TYPE_LONG;
- case DOUBLE:
- return TYPE_DOUBLE;
- default:
- /* Should not happen if the switch is fully covered */
- throw new IllegalStateException();
- }
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.statesystem.core/src/org/eclipse/linuxtools/internal/statesystem/core/backend/historytree/HTNode.java b/lttng/org.eclipse.linuxtools.statesystem.core/src/org/eclipse/linuxtools/internal/statesystem/core/backend/historytree/HTNode.java
deleted file mode 100644
index ab1ef7bd15..0000000000
--- a/lttng/org.eclipse.linuxtools.statesystem.core/src/org/eclipse/linuxtools/internal/statesystem/core/backend/historytree/HTNode.java
+++ /dev/null
@@ -1,696 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010, 2014 Ericsson, École Polytechnique de Montréal, and others
- *
- * 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:
- * Alexandre Montplaisir - Initial API and implementation
- * Florian Wininger - Add Extension and Leaf Node
- *******************************************************************************/
-
-package org.eclipse.linuxtools.internal.statesystem.core.backend.historytree;
-
-import java.io.IOException;
-import java.io.PrintWriter;
-import java.nio.ByteBuffer;
-import java.nio.ByteOrder;
-import java.nio.channels.FileChannel;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.List;
-import java.util.concurrent.locks.ReentrantReadWriteLock;
-
-import org.eclipse.linuxtools.statesystem.core.exceptions.TimeRangeException;
-import org.eclipse.linuxtools.statesystem.core.interval.ITmfStateInterval;
-import org.eclipse.linuxtools.statesystem.core.statevalue.TmfStateValue;
-
-/**
- * The base class for all the types of nodes that go in the History Tree.
- *
- * @author Alexandre Montplaisir
- */
-public abstract class HTNode {
-
- // ------------------------------------------------------------------------
- // Class fields
- // ------------------------------------------------------------------------
-
- /**
- * The type of node
- */
- public static enum NodeType {
- /**
- * Core node, which is a "front" node, at any level of the tree except
- * the bottom-most one. It has children, and may have extensions.
- */
- CORE,
- /**
- * Leaf node, which is a node at the last bottom level of the tree. It
- * cannot have any children or extensions.
- */
- LEAF;
-
- /**
- * Determine a node type by reading a serialized byte.
- *
- * @param rep
- * The byte representation of the node type
- * @return The corresponding NodeType
- * @throws IOException
- * If the NodeType is unrecognized
- */
- public static NodeType fromByte(byte rep) throws IOException {
- switch (rep) {
- case 1:
- return CORE;
- case 2:
- return LEAF;
- default:
- throw new IOException();
- }
- }
-
- /**
- * Get the byte representation of this node type. It can then be read
- * with {@link #fromByte}.
- *
- * @return The byte matching this node type
- */
- public byte toByte() {
- switch (this) {
- case CORE:
- return 1;
- case LEAF:
- return 2;
- default:
- throw new IllegalStateException();
- }
- }
- }
-
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
-
- /* Configuration of the History Tree to which belongs this node */
- private final HTConfig config;
-
- /* Time range of this node */
- private final long nodeStart;
- private long nodeEnd;
-
- /* Sequence number = position in the node section of the file */
- private final int sequenceNumber;
- private int parentSequenceNumber; /* = -1 if this node is the root node */
-
- /* Where the Strings section begins (from the start of the node */
- private int stringSectionOffset;
-
- /* Sum of bytes of all intervals in the node */
- private int sizeOfIntervalSection;
-
- /* True if this node was read from disk (meaning its end time is now fixed) */
- private volatile boolean isOnDisk;
-
- /* Vector containing all the intervals contained in this node */
- private final List<HTInterval> intervals;
-
- /* Lock used to protect the accesses to intervals, nodeEnd and such */
- private final ReentrantReadWriteLock rwl = new ReentrantReadWriteLock(false);
-
- /**
- * Constructor
- *
- * @param config
- * Configuration of the History Tree
- * @param seqNumber
- * The (unique) sequence number assigned to this particular node
- * @param parentSeqNumber
- * The sequence number of this node's parent node
- * @param start
- * The earliest timestamp stored in this node
- */
- protected HTNode(HTConfig config, int seqNumber, int parentSeqNumber, long start) {
- this.config = config;
- this.nodeStart = start;
- this.sequenceNumber = seqNumber;
- this.parentSequenceNumber = parentSeqNumber;
-
- this.stringSectionOffset = config.getBlockSize();
- this.sizeOfIntervalSection = 0;
- this.isOnDisk = false;
- this.intervals = new ArrayList<>();
- }
-
- /**
- * Reader factory method. Build a Node object (of the right type) by reading
- * a block in the file.
- *
- * @param config
- * Configuration of the History Tree
- * @param fc
- * FileChannel to the history file, ALREADY SEEKED at the start
- * of the node.
- * @return The node object
- * @throws IOException
- * If there was an error reading from the file channel
- */
- public static final HTNode readNode(HTConfig config, FileChannel fc)
- throws IOException {
- HTNode newNode = null;
- int res, i;
-
- ByteBuffer buffer = ByteBuffer.allocate(config.getBlockSize());
- buffer.order(ByteOrder.LITTLE_ENDIAN);
- buffer.clear();
- res = fc.read(buffer);
- assert (res == config.getBlockSize());
- buffer.flip();
-
- /* Read the common header part */
- byte typeByte = buffer.get();
- NodeType type = NodeType.fromByte(typeByte);
- long start = buffer.getLong();
- long end = buffer.getLong();
- int seqNb = buffer.getInt();
- int parentSeqNb = buffer.getInt();
- int intervalCount = buffer.getInt();
- int stringSectionOffset = buffer.getInt();
- buffer.get(); // TODO Used to be "isDone", to be removed from the header
-
- /* Now the rest of the header depends on the node type */
- switch (type) {
- case CORE:
- /* Core nodes */
- newNode = new CoreNode(config, seqNb, parentSeqNb, start);
- newNode.readSpecificHeader(buffer);
- break;
-
- case LEAF:
- /* Leaf nodes */
- newNode = new LeafNode(config, seqNb, parentSeqNb, start);
- newNode.readSpecificHeader(buffer);
- break;
-
- default:
- /* Unrecognized node type */
- throw new IOException();
- }
-
- /*
- * At this point, we should be done reading the header and 'buffer'
- * should only have the intervals left
- */
- for (i = 0; i < intervalCount; i++) {
- newNode.intervals.add(HTInterval.readFrom(buffer));
- }
-
- /* Assign the node's other information we have read previously */
- newNode.nodeEnd = end;
- newNode.stringSectionOffset = stringSectionOffset;
- newNode.isOnDisk = true;
-
- return newNode;
- }
-
- /**
- * Write this node to the given file channel.
- *
- * @param fc
- * The file channel to write to (should be sought to be correct
- * position)
- * @throws IOException
- * If there was an error writing
- */
- public final void writeSelf(FileChannel fc) throws IOException {
- /*
- * Yes, we are taking the *read* lock here, because we are reading the
- * information in the node to write it to disk.
- */
- rwl.readLock().lock();
- try {
- final int blockSize = config.getBlockSize();
- int curStringsEntryEndPos = blockSize;
-
- ByteBuffer buffer = ByteBuffer.allocate(blockSize);
- buffer.order(ByteOrder.LITTLE_ENDIAN);
- buffer.clear();
-
- /* Write the common header part */
- buffer.put(this.getNodeType().toByte());
- buffer.putLong(nodeStart);
- buffer.putLong(nodeEnd);
- buffer.putInt(sequenceNumber);
- buffer.putInt(parentSequenceNumber);
- buffer.putInt(intervals.size());
- buffer.putInt(stringSectionOffset);
- buffer.put((byte) 1); // TODO Used to be "isDone", to be removed from header
-
- /* Now call the inner method to write the specific header part */
- this.writeSpecificHeader(buffer);
-
- /* Back to us, we write the intervals */
- for (HTInterval interval : intervals) {
- int size = interval.writeInterval(buffer, curStringsEntryEndPos);
- curStringsEntryEndPos -= size;
- }
-
- /*
- * Write padding between the end of the Data section and the start
- * of the Strings section (needed to fill the node in case there is
- * no Strings section)
- */
- while (buffer.position() < stringSectionOffset) {
- buffer.put((byte) 0);
- }
-
- /*
- * If the offsets were right, the size of the Strings section should
- * be == to the expected size
- */
- assert (curStringsEntryEndPos == stringSectionOffset);
-
- /* Finally, write everything in the Buffer to disk */
-
- // if we don't do this, flip() will lose what's after.
- buffer.position(blockSize);
-
- buffer.flip();
- int res = fc.write(buffer);
- assert (res == blockSize);
-
- } finally {
- rwl.readLock().unlock();
- }
- isOnDisk = true;
- }
-
- // ------------------------------------------------------------------------
- // Accessors
- // ------------------------------------------------------------------------
-
- /**
- * Retrieve the history tree configuration used for this node.
- *
- * @return The history tree config
- */
- protected HTConfig getConfig() {
- return config;
- }
-
- /**
- * Get the start time of this node.
- *
- * @return The start time of this node
- */
- public long getNodeStart() {
- return nodeStart;
- }
-
- /**
- * Get the end time of this node.
- *
- * @return The end time of this node
- */
- public long getNodeEnd() {
- if (this.isOnDisk) {
- return nodeEnd;
- }
- return 0;
- }
-
- /**
- * Get the sequence number of this node.
- *
- * @return The sequence number of this node
- */
- public int getSequenceNumber() {
- return sequenceNumber;
- }
-
- /**
- * Get the sequence number of this node's parent.
- *
- * @return The parent sequence number
- */
- public int getParentSequenceNumber() {
- return parentSequenceNumber;
- }
-
- /**
- * Change this node's parent. Used when we create a new root node for
- * example.
- *
- * @param newParent
- * The sequence number of the node that is the new parent
- */
- public void setParentSequenceNumber(int newParent) {
- parentSequenceNumber = newParent;
- }
-
- /**
- * Return if this node is "done" (full and written to disk).
- *
- * @return If this node is done or not
- */
- public boolean isOnDisk() {
- return isOnDisk;
- }
-
- /**
- * Add an interval to this node
- *
- * @param newInterval
- * Interval to add to this node
- */
- public void addInterval(HTInterval newInterval) {
- rwl.writeLock().lock();
- try {
- /* Just in case, should be checked before even calling this function */
- assert (newInterval.getIntervalSize() <= this.getNodeFreeSpace());
-
- intervals.add(newInterval);
- sizeOfIntervalSection += newInterval.getIntervalSize();
-
- /* Update the in-node offset "pointer" */
- stringSectionOffset -= (newInterval.getStringsEntrySize());
- } finally {
- rwl.writeLock().unlock();
- }
- }
-
- /**
- * We've received word from the containerTree that newest nodes now exist to
- * our right. (Puts isDone = true and sets the endtime)
- *
- * @param endtime
- * The nodeEnd time that the node will have
- */
- public void closeThisNode(long endtime) {
- rwl.writeLock().lock();
- try {
- assert (endtime >= this.nodeStart);
-
- if (!intervals.isEmpty()) {
- /*
- * Sort the intervals by ascending order of their end time. This
- * speeds up lookups a bit
- */
- Collections.sort(intervals);
-
- /*
- * Make sure there are no intervals in this node with their
- * EndTime > the one requested. Only need to check the last one
- * since they are now sorted
- */
- assert (endtime >= intervals.get(intervals.size() - 1).getEndTime());
- }
-
- this.nodeEnd = endtime;
- } finally {
- rwl.writeLock().unlock();
- }
- }
-
- /**
- * The method to fill up the stateInfo (passed on from the Current State
- * Tree when it does a query on the SHT). We'll replace the data in that
- * vector with whatever relevant we can find from this node
- *
- * @param stateInfo
- * The same stateInfo that comes from SHT's doQuery()
- * @param t
- * The timestamp for which the query is for. Only return
- * intervals that intersect t.
- * @throws TimeRangeException
- * If 't' is invalid
- */
- public void writeInfoFromNode(List<ITmfStateInterval> stateInfo, long t)
- throws TimeRangeException {
- /* This is from a state system query, we are "reading" this node */
- rwl.readLock().lock();
- try {
- for (int i = getStartIndexFor(t); i < intervals.size(); i++) {
- /*
- * Now we only have to compare the Start times, since we now the
- * End times necessarily fit.
- *
- * Second condition is to ignore new attributes that might have
- * been created after stateInfo was instantiated (they would be
- * null anyway).
- */
- ITmfStateInterval interval = intervals.get(i);
- if (interval.getStartTime() <= t &&
- interval.getAttribute() < stateInfo.size()) {
- stateInfo.set(interval.getAttribute(), interval);
- }
- }
- } finally {
- rwl.readLock().unlock();
- }
- }
-
- /**
- * Get a single Interval from the information in this node If the
- * key/timestamp pair cannot be found, we return null.
- *
- * @param key
- * The attribute quark to look for
- * @param t
- * The timestamp
- * @return The Interval containing the information we want, or null if it
- * wasn't found
- * @throws TimeRangeException
- * If 't' is invalid
- */
- public HTInterval getRelevantInterval(int key, long t) throws TimeRangeException {
- rwl.readLock().lock();
- try {
- for (int i = getStartIndexFor(t); i < intervals.size(); i++) {
- HTInterval curInterval = intervals.get(i);
- if (curInterval.getAttribute() == key
- && curInterval.getStartTime() <= t
- && curInterval.getEndTime() >= t) {
- return curInterval;
- }
- }
-
- /* We didn't find the relevant information in this node */
- return null;
-
- } finally {
- rwl.readLock().unlock();
- }
- }
-
- private int getStartIndexFor(long t) throws TimeRangeException {
- /* Should only be called by methods with the readLock taken */
-
- if (intervals.isEmpty()) {
- return 0;
- }
- /*
- * Since the intervals are sorted by end time, we can skip all the ones
- * at the beginning whose end times are smaller than 't'. Java does
- * provides a .binarySearch method, but its API is quite weird...
- */
- HTInterval dummy = new HTInterval(0, t, 0, TmfStateValue.nullValue());
- int index = Collections.binarySearch(intervals, dummy);
-
- if (index < 0) {
- /*
- * .binarySearch returns a negative number if the exact value was
- * not found. Here we just want to know where to start searching, we
- * don't care if the value is exact or not.
- */
- index = -index - 1;
-
- }
-
- /* Sometimes binarySearch yields weird stuff... */
- if (index < 0) {
- index = 0;
- }
- if (index >= intervals.size()) {
- index = intervals.size() - 1;
- }
-
- /*
- * Another API quirkiness, the returned index is the one of the *last*
- * element of a series of equal endtimes, which happens sometimes. We
- * want the *first* element of such a series, to read through them
- * again.
- */
- while (index > 0
- && intervals.get(index - 1).compareTo(intervals.get(index)) == 0) {
- index--;
- }
-
- return index;
- }
-
- /**
- * <pre>
- * 1 - byte (type)
- * 16 - 2x long (start time, end time)
- * 16 - 4x int (seq number, parent seq number, intervalcount,
- * strings section pos.)
- * 1 - byte (done or not)
- * </pre>
- */
- private static final int COMMON_HEADER_SIZE = 34;
-
- /**
- * Return the total header size of this node (will depend on the node type).
- *
- * @return The total header size
- */
- public final int getTotalHeaderSize() {
- return COMMON_HEADER_SIZE + getSpecificHeaderSize();
- }
-
- /**
- * @return The offset, within the node, where the Data section ends
- */
- private int getDataSectionEndOffset() {
- return this.getTotalHeaderSize() + sizeOfIntervalSection;
- }
-
- /**
- * Returns the free space in the node, which is simply put, the
- * stringSectionOffset - dataSectionOffset
- *
- * @return The amount of free space in the node (in bytes)
- */
- public int getNodeFreeSpace() {
- rwl.readLock().lock();
- int ret = stringSectionOffset - this.getDataSectionEndOffset();
- rwl.readLock().unlock();
-
- return ret;
- }
-
- /**
- * Returns the current space utilization of this node, as a percentage.
- * (used space / total usable space, which excludes the header)
- *
- * @return The percentage (value between 0 and 100) of space utilization in
- * in this node.
- */
- public long getNodeUsagePercent() {
- rwl.readLock().lock();
- try {
- final int blockSize = config.getBlockSize();
- float freePercent = (float) this.getNodeFreeSpace()
- / (float) (blockSize - this.getTotalHeaderSize())
- * 100F;
- return (long) (100L - freePercent);
-
- } finally {
- rwl.readLock().unlock();
- }
- }
-
- /**
- * @name Debugging functions
- */
-
- @SuppressWarnings("nls")
- @Override
- public String toString() {
- /* Only used for debugging, shouldn't be externalized */
- StringBuffer buf = new StringBuffer("Node #" + sequenceNumber + ", ");
- buf.append(this.toStringSpecific());
- buf.append(intervals.size() + " intervals (" + this.getNodeUsagePercent()
- + "% used), ");
-
- buf.append("[" + this.nodeStart + " - ");
- if (this.isOnDisk) {
- buf = buf.append("" + this.nodeEnd + "]");
- } else {
- buf = buf.append("...]");
- }
- return buf.toString();
- }
-
- /**
- * Debugging function that prints out the contents of this node
- *
- * @param writer
- * PrintWriter in which we will print the debug output
- */
- @SuppressWarnings("nls")
- public void debugPrintIntervals(PrintWriter writer) {
- /* Only used for debugging, shouldn't be externalized */
- writer.println("Node #" + sequenceNumber + ":");
-
- /* Array of children */
- if (this.getNodeType() == NodeType.CORE) { /* Only Core Nodes can have children */
- CoreNode thisNode = (CoreNode) this;
- writer.print(" " + thisNode.getNbChildren() + " children");
- if (thisNode.getNbChildren() >= 1) {
- writer.print(": [ " + thisNode.getChild(0));
- for (int i = 1; i < thisNode.getNbChildren(); i++) {
- writer.print(", " + thisNode.getChild(i));
- }
- writer.print(']');
- }
- writer.print('\n');
- }
-
- /* List of intervals in the node */
- writer.println(" Intervals contained:");
- for (int i = 0; i < intervals.size(); i++) {
- writer.println(intervals.get(i).toString());
- }
- writer.println('\n');
- }
-
- // ------------------------------------------------------------------------
- // Abstract methods
- // ------------------------------------------------------------------------
-
- /**
- * Get the byte value representing the node type.
- *
- * @return The node type
- */
- public abstract NodeType getNodeType();
-
- /**
- * Return the specific header size of this node. This means the size
- * occupied by the type-specific section of the header (not counting the
- * common part).
- *
- * @return The specific header size
- */
- protected abstract int getSpecificHeaderSize();
-
- /**
- * Read the type-specific part of the node header from a byte buffer.
- *
- * @param buffer
- * The byte buffer to read from. It should be already positioned
- * correctly.
- */
- protected abstract void readSpecificHeader(ByteBuffer buffer);
-
- /**
- * Write the type-specific part of the header in a byte buffer.
- *
- * @param buffer
- * The buffer to write to. It should already be at the correct
- * position.
- */
- protected abstract void writeSpecificHeader(ByteBuffer buffer);
-
- /**
- * Node-type-specific toString method. Used for debugging.
- *
- * @return A string representing the node
- */
- protected abstract String toStringSpecific();
-}
diff --git a/lttng/org.eclipse.linuxtools.statesystem.core/src/org/eclipse/linuxtools/internal/statesystem/core/backend/historytree/HT_IO.java b/lttng/org.eclipse.linuxtools.statesystem.core/src/org/eclipse/linuxtools/internal/statesystem/core/backend/historytree/HT_IO.java
deleted file mode 100644
index d83d73ecbd..0000000000
--- a/lttng/org.eclipse.linuxtools.statesystem.core/src/org/eclipse/linuxtools/internal/statesystem/core/backend/historytree/HT_IO.java
+++ /dev/null
@@ -1,195 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2012, 2014 Ericsson
- * Copyright (c) 2010, 2011 École Polytechnique de Montréal
- * Copyright (c) 2010, 2011 Alexandre Montplaisir <alexandre.montplaisir@gmail.com>
- *
- * 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
- *
- *******************************************************************************/
-
-package org.eclipse.linuxtools.internal.statesystem.core.backend.historytree;
-
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.nio.channels.ClosedChannelException;
-import java.nio.channels.FileChannel;
-
-/**
- * This class abstracts inputs/outputs of the HistoryTree nodes.
- *
- * It contains all the methods and descriptors to handle reading/writing nodes
- * to the tree-file on disk and all the caching mechanisms.
- *
- * This abstraction is mainly for code isolation/clarification purposes.
- * Every HistoryTree must contain 1 and only 1 HT_IO element.
- *
- * @author Alexandre Montplaisir
- *
- */
-class HT_IO {
- /* Configuration of the History Tree */
- private final HTConfig fConfig;
-
- /* Fields related to the file I/O */
- private final FileInputStream fis;
- private final FileOutputStream fos;
- private final FileChannel fcIn;
- private final FileChannel fcOut;
-
- // TODO test/benchmark optimal cache size
- private final int CACHE_SIZE = 256;
- private final HTNode fNodeCache[] = new HTNode[CACHE_SIZE];
-
- /**
- * Standard constructor
- *
- * @param config
- * The configuration object for the StateHistoryTree
- * @param newFile
- * Flag indicating that the file must be created from scratch
-
- * @throws IOException
- * An exception can be thrown when file cannot be accessed
- */
- public HT_IO(HTConfig config, boolean newFile) throws IOException {
- fConfig = config;
-
- File historyTreeFile = config.getStateFile();
- if (newFile) {
- boolean success1 = true;
- /* Create a new empty History Tree file */
- if (historyTreeFile.exists()) {
- success1 = historyTreeFile.delete();
- }
- boolean success2 = historyTreeFile.createNewFile();
- if (!(success1 && success2)) {
- /* It seems we do not have permission to create the new file */
- throw new IOException("Cannot create new file at " + //$NON-NLS-1$
- historyTreeFile.getName());
- }
- fis = new FileInputStream(historyTreeFile);
- fos = new FileOutputStream(historyTreeFile, false);
- } else {
- /*
- * We want to open an existing file, make sure we don't squash the
- * existing content when opening the fos!
- */
- this.fis = new FileInputStream(historyTreeFile);
- this.fos = new FileOutputStream(historyTreeFile, true);
- }
- this.fcIn = fis.getChannel();
- this.fcOut = fos.getChannel();
- }
-
- /**
- * Read a node from the file on disk.
- *
- * @param seqNumber
- * The sequence number of the node to read.
- * @return The object representing the node
- * @throws ClosedChannelException
- * Usually happens because the file was closed while we were
- * reading. Instead of using a big reader-writer lock, we'll
- * just catch this exception.
- */
- public synchronized HTNode readNode(int seqNumber) throws ClosedChannelException {
- /* Do a cache lookup */
- int offset = seqNumber & (CACHE_SIZE - 1);
- HTNode readNode = fNodeCache[offset];
- if (readNode != null && readNode.getSequenceNumber() == seqNumber) {
- return readNode;
- }
-
- /* Lookup on disk */
- try {
- seekFCToNodePos(fcIn, seqNumber);
- readNode = HTNode.readNode(fConfig, fcIn);
-
- /* Put the node in the cache. */
- fNodeCache[offset] = readNode;
- return readNode;
- } catch (ClosedChannelException e) {
- throw e;
- } catch (IOException e) {
- /* Other types of IOExceptions shouldn't happen at this point though */
- e.printStackTrace();
- return null;
- }
- }
-
- public synchronized void writeNode(HTNode node) {
- try {
- /* Insert the node into the cache. */
- int seqNumber = node.getSequenceNumber();
- int offset = seqNumber & (CACHE_SIZE - 1);
- fNodeCache[offset] = node;
-
- /* Position ourselves at the start of the node and write it */
- seekFCToNodePos(fcOut, seqNumber);
- node.writeSelf(fcOut);
- } catch (IOException e) {
- /* If we were able to open the file, we should be fine now... */
- e.printStackTrace();
- }
- }
-
- public FileChannel getFcOut() {
- return this.fcOut;
- }
-
- public FileInputStream supplyATReader(int nodeOffset) {
- try {
- /*
- * Position ourselves at the start of the Mapping section in the
- * file (which is right after the Blocks)
- */
- seekFCToNodePos(fcIn, nodeOffset);
- } catch (IOException e) {
- e.printStackTrace();
- }
- return fis;
- }
-
- public synchronized void closeFile() {
- try {
- fis.close();
- fos.close();
- } catch (IOException e) {
- e.printStackTrace();
- }
- }
-
- public synchronized void deleteFile() {
- closeFile();
-
- File historyTreeFile = fConfig.getStateFile();
- if (!historyTreeFile.delete()) {
- /* We didn't succeed in deleting the file */
- //TODO log it?
- }
- }
-
- /**
- * Seek the given FileChannel to the position corresponding to the node that
- * has seqNumber
- *
- * @param fc the channel to seek
- * @param seqNumber the node sequence number to seek the channel to
- * @throws IOException
- */
- private void seekFCToNodePos(FileChannel fc, int seqNumber)
- throws IOException {
- /*
- * Cast to (long) is needed to make sure the result is a long too and
- * doesn't get truncated
- */
- fc.position(HistoryTree.TREE_HEADER_SIZE
- + ((long) seqNumber) * fConfig.getBlockSize());
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.statesystem.core/src/org/eclipse/linuxtools/internal/statesystem/core/backend/historytree/HistoryTree.java b/lttng/org.eclipse.linuxtools.statesystem.core/src/org/eclipse/linuxtools/internal/statesystem/core/backend/historytree/HistoryTree.java
deleted file mode 100644
index 7d10a94cc5..0000000000
--- a/lttng/org.eclipse.linuxtools.statesystem.core/src/org/eclipse/linuxtools/internal/statesystem/core/backend/historytree/HistoryTree.java
+++ /dev/null
@@ -1,856 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010, 2014 Ericsson, École Polytechnique de Montréal, and others
- *
- * 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:
- * Alexandre Montplaisir - Initial API and implementation
- * Florian Wininger - Add Extension and Leaf Node
- *******************************************************************************/
-
-package org.eclipse.linuxtools.internal.statesystem.core.backend.historytree;
-
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.IOException;
-import java.io.PrintWriter;
-import java.nio.ByteBuffer;
-import java.nio.ByteOrder;
-import java.nio.channels.ClosedChannelException;
-import java.nio.channels.FileChannel;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.List;
-
-import org.eclipse.linuxtools.internal.statesystem.core.Activator;
-import org.eclipse.linuxtools.statesystem.core.ITmfStateSystemBuilder;
-import org.eclipse.linuxtools.statesystem.core.exceptions.TimeRangeException;
-
-/**
- * Meta-container for the History Tree. This structure contains all the
- * high-level data relevant to the tree.
- *
- * @author Alexandre Montplaisir
- */
-public class HistoryTree {
-
- /**
- * Size of the "tree header" in the tree-file The nodes will use this offset
- * to know where they should be in the file. This should always be a
- * multiple of 4K.
- */
- public static final int TREE_HEADER_SIZE = 4096;
-
- private static final int HISTORY_FILE_MAGIC_NUMBER = 0x05FFA900;
-
- /** File format version. Increment when breaking compatibility. */
- private static final int FILE_VERSION = 4;
-
- // ------------------------------------------------------------------------
- // Tree-specific configuration
- // ------------------------------------------------------------------------
-
- /** Container for all the configuration constants */
- private final HTConfig config;
-
- /** Reader/writer object */
- private final HT_IO treeIO;
-
- // ------------------------------------------------------------------------
- // Variable Fields (will change throughout the existence of the SHT)
- // ------------------------------------------------------------------------
-
- /** Latest timestamp found in the tree (at any given moment) */
- private long treeEnd;
-
- /** The total number of nodes that exists in this tree */
- private int nodeCount;
-
- /** "Cache" to keep the active nodes in memory */
- private final List<HTNode> latestBranch;
-
- // ------------------------------------------------------------------------
- // Constructors/"Destructors"
- // ------------------------------------------------------------------------
-
- /**
- * Create a new State History from scratch, using a {@link HTConfig} object
- * for configuration.
- *
- * @param conf
- * The config to use for this History Tree.
- * @throws IOException
- * If an error happens trying to open/write to the file
- * specified in the config
- */
- public HistoryTree(HTConfig conf) throws IOException {
- /*
- * Simple check to make sure we have enough place in the 0th block for
- * the tree configuration
- */
- if (conf.getBlockSize() < TREE_HEADER_SIZE) {
- throw new IllegalArgumentException();
- }
-
- config = conf;
- treeEnd = conf.getTreeStart();
- nodeCount = 0;
- latestBranch = Collections.synchronizedList(new ArrayList<HTNode>());
-
- /* Prepare the IO object */
- treeIO = new HT_IO(config, true);
-
- /* Add the first node to the tree */
- LeafNode firstNode = initNewLeafNode(-1, conf.getTreeStart());
- latestBranch.add(firstNode);
- }
-
- /**
- * "Reader" constructor : instantiate a SHTree from an existing tree file on
- * disk
- *
- * @param existingStateFile
- * Path/filename of the history-file we are to open
- * @param expProviderVersion
- * The expected version of the state provider
- * @throws IOException
- * If an error happens reading the file
- */
- public HistoryTree(File existingStateFile, int expProviderVersion) throws IOException {
- /*
- * Open the file ourselves, get the tree header information we need,
- * then pass on the descriptor to the TreeIO object.
- */
- int rootNodeSeqNb, res;
- int bs, maxc;
- long startTime;
-
- /* Java I/O mumbo jumbo... */
- if (!existingStateFile.exists()) {
- throw new IOException("Selected state file does not exist"); //$NON-NLS-1$
- }
- if (existingStateFile.length() <= 0) {
- throw new IOException("Empty target file"); //$NON-NLS-1$
- }
-
- try (FileInputStream fis = new FileInputStream(existingStateFile);
- FileChannel fc = fis.getChannel();) {
-
- ByteBuffer buffer = ByteBuffer.allocate(TREE_HEADER_SIZE);
-
- buffer.order(ByteOrder.LITTLE_ENDIAN);
- buffer.clear();
- fc.read(buffer);
- buffer.flip();
-
- /*
- * Check the magic number to make sure we're opening the right type
- * of file
- */
- res = buffer.getInt();
- if (res != HISTORY_FILE_MAGIC_NUMBER) {
- throw new IOException("Wrong magic number"); //$NON-NLS-1$
- }
-
- res = buffer.getInt(); /* File format version number */
- if (res != FILE_VERSION) {
- throw new IOException("Mismatching History Tree file format versions"); //$NON-NLS-1$
- }
-
- res = buffer.getInt(); /* Event handler's version number */
- if (res != expProviderVersion &&
- expProviderVersion != ITmfStateSystemBuilder.IGNORE_PROVIDER_VERSION) {
- /*
- * The existing history was built using an event handler that
- * doesn't match the current one in the framework.
- *
- * Information could be all wrong. Instead of keeping an
- * incorrect history file, a rebuild is done.
- */
- throw new IOException("Mismatching event handler versions"); //$NON-NLS-1$
- }
-
- bs = buffer.getInt(); /* Block Size */
- maxc = buffer.getInt(); /* Max nb of children per node */
-
- this.nodeCount = buffer.getInt();
- rootNodeSeqNb = buffer.getInt();
- startTime = buffer.getLong();
-
- this.config = new HTConfig(existingStateFile, bs, maxc, expProviderVersion, startTime);
- }
-
- /*
- * FIXME We close fis here and the TreeIO will then reopen the same
- * file, not extremely elegant. But how to pass the information here to
- * the SHT otherwise?
- */
- this.treeIO = new HT_IO(config, false);
-
- this.latestBranch = buildLatestBranch(rootNodeSeqNb);
- this.treeEnd = getRootNode().getNodeEnd();
-
- /*
- * Make sure the history start time we read previously is consistent
- * with was is actually in the root node.
- */
- if (startTime != getRootNode().getNodeStart()) {
- throw new IOException("Inconsistent start times in the" + //$NON-NLS-1$
- "history file, it might be corrupted."); //$NON-NLS-1$
- }
- }
-
- /**
- * Rebuild the latestBranch "cache" object by reading the nodes from disk
- * (When we are opening an existing file on disk and want to append to it,
- * for example).
- *
- * @param rootNodeSeqNb
- * The sequence number of the root node, so we know where to
- * start
- * @throws ClosedChannelException
- */
- private List<HTNode> buildLatestBranch(int rootNodeSeqNb) throws ClosedChannelException {
- List<HTNode> list = new ArrayList<>();
-
- HTNode nextChildNode = treeIO.readNode(rootNodeSeqNb);
- list.add(nextChildNode);
-
- /* Follow the last branch up to the leaf */
- while (nextChildNode.getNodeType() == HTNode.NodeType.CORE) {
- nextChildNode = treeIO.readNode(((CoreNode) nextChildNode).getLatestChild());
- list.add(nextChildNode);
- }
- return Collections.synchronizedList(list);
- }
-
- /**
- * "Save" the tree to disk. This method will cause the treeIO object to
- * commit all nodes to disk and then return the RandomAccessFile descriptor
- * so the Tree object can save its configuration into the header of the
- * file.
- *
- * @param requestedEndTime
- * The greatest timestamp present in the history tree
- */
- public void closeTree(long requestedEndTime) {
- /* This is an important operation, queries can wait */
- synchronized (latestBranch) {
- /*
- * Work-around the "empty branches" that get created when the root
- * node becomes full. Overwrite the tree's end time with the
- * original wanted end-time, to ensure no queries are sent into
- * those empty nodes.
- *
- * This won't be needed once extended nodes are implemented.
- */
- this.treeEnd = requestedEndTime;
-
- /* Close off the latest branch of the tree */
- for (int i = 0; i < latestBranch.size(); i++) {
- latestBranch.get(i).closeThisNode(treeEnd);
- treeIO.writeNode(latestBranch.get(i));
- }
-
- try (FileChannel fc = treeIO.getFcOut();) {
- ByteBuffer buffer = ByteBuffer.allocate(TREE_HEADER_SIZE);
- buffer.order(ByteOrder.LITTLE_ENDIAN);
- buffer.clear();
-
- /* Save the config of the tree to the header of the file */
- fc.position(0);
-
- buffer.putInt(HISTORY_FILE_MAGIC_NUMBER);
-
- buffer.putInt(FILE_VERSION);
- buffer.putInt(config.getProviderVersion());
-
- buffer.putInt(config.getBlockSize());
- buffer.putInt(config.getMaxChildren());
-
- buffer.putInt(nodeCount);
-
- /* root node seq. nb */
- buffer.putInt(latestBranch.get(0).getSequenceNumber());
-
- /* start time of this history */
- buffer.putLong(latestBranch.get(0).getNodeStart());
-
- buffer.flip();
- int res = fc.write(buffer);
- assert (res <= TREE_HEADER_SIZE);
- /* done writing the file header */
-
- } catch (IOException e) {
- /*
- * If we were able to write so far, there should not be any
- * problem at this point...
- */
- throw new RuntimeException("State system write error"); //$NON-NLS-1$
- }
- }
- }
-
- // ------------------------------------------------------------------------
- // Accessors
- // ------------------------------------------------------------------------
-
- /**
- * Get the start time of this tree.
- *
- * @return The start time
- */
- public long getTreeStart() {
- return config.getTreeStart();
- }
-
- /**
- * Get the current end time of this tree.
- *
- * @return The end time
- */
- public long getTreeEnd() {
- return treeEnd;
- }
-
- /**
- * Get the number of nodes in this tree.
- *
- * @return The number of nodes
- */
- public int getNodeCount() {
- return nodeCount;
- }
-
- /**
- * Get the current root node of this tree
- *
- * @return The root node
- */
- public HTNode getRootNode() {
- return latestBranch.get(0);
- }
-
- // ------------------------------------------------------------------------
- // HT_IO interface
- // ------------------------------------------------------------------------
-
- /**
- * Return the FileInputStream reader with which we will read an attribute
- * tree (it will be sought to the correct position).
- *
- * @return The FileInputStream indicating the file and position from which
- * the attribute tree can be read.
- */
- public FileInputStream supplyATReader() {
- return treeIO.supplyATReader(getNodeCount());
- }
-
- /**
- * Return the file to which we will write the attribute tree.
- *
- * @return The file to which we will write the attribute tree
- */
- public File supplyATWriterFile() {
- return config.getStateFile();
- }
-
- /**
- * Return the position in the file (given by {@link #supplyATWriterFile})
- * where to start writing the attribute tree.
- *
- * @return The position in the file where to start writing
- */
- public long supplyATWriterFilePos() {
- return HistoryTree.TREE_HEADER_SIZE
- + ((long) getNodeCount() * config.getBlockSize());
- }
-
- /**
- * Read a node from the tree.
- *
- * @param seqNumber
- * The sequence number of the node to read
- * @return The node
- * @throws ClosedChannelException
- * If the tree IO is unavailable
- */
- public HTNode readNode(int seqNumber) throws ClosedChannelException {
- /* Try to read the node from memory */
- synchronized (latestBranch) {
- for (HTNode node : latestBranch) {
- if (node.getSequenceNumber() == seqNumber) {
- return node;
- }
- }
- }
-
- /* Read the node from disk */
- return treeIO.readNode(seqNumber);
- }
-
- /**
- * Write a node object to the history file.
- *
- * @param node
- * The node to write to disk
- */
- public void writeNode(HTNode node) {
- treeIO.writeNode(node);
- }
-
- /**
- * Close the history file.
- */
- public void closeFile() {
- treeIO.closeFile();
- }
-
- /**
- * Delete the history file.
- */
- public void deleteFile() {
- treeIO.deleteFile();
- }
-
- // ------------------------------------------------------------------------
- // Operations
- // ------------------------------------------------------------------------
-
- /**
- * Insert an interval in the tree.
- *
- * @param interval
- * The interval to be inserted
- * @throws TimeRangeException
- * If the start of end time of the interval are invalid
- */
- public void insertInterval(HTInterval interval) throws TimeRangeException {
- if (interval.getStartTime() < config.getTreeStart()) {
- throw new TimeRangeException();
- }
- tryInsertAtNode(interval, latestBranch.size() - 1);
- }
-
- /**
- * Inner method to find in which node we should add the interval.
- *
- * @param interval
- * The interval to add to the tree
- * @param indexOfNode
- * The index *in the latestBranch* where we are trying the
- * insertion
- */
- private void tryInsertAtNode(HTInterval interval, int indexOfNode) {
- HTNode targetNode = latestBranch.get(indexOfNode);
-
- /* Verify if there is enough room in this node to store this interval */
- if (interval.getIntervalSize() > targetNode.getNodeFreeSpace()) {
- /* Nope, not enough room. Insert in a new sibling instead. */
- addSiblingNode(indexOfNode);
- tryInsertAtNode(interval, latestBranch.size() - 1);
- return;
- }
-
- /* Make sure the interval time range fits this node */
- if (interval.getStartTime() < targetNode.getNodeStart()) {
- /*
- * No, this interval starts before the startTime of this node. We
- * need to check recursively in parents if it can fit.
- */
- assert (indexOfNode >= 1);
- tryInsertAtNode(interval, indexOfNode - 1);
- return;
- }
-
- /*
- * Ok, there is room, and the interval fits in this time slot. Let's add
- * it.
- */
- targetNode.addInterval(interval);
-
- /* Update treeEnd if needed */
- if (interval.getEndTime() > this.treeEnd) {
- this.treeEnd = interval.getEndTime();
- }
- }
-
- /**
- * Method to add a sibling to any node in the latest branch. This will add
- * children back down to the leaf level, if needed.
- *
- * @param indexOfNode
- * The index in latestBranch where we start adding
- */
- private void addSiblingNode(int indexOfNode) {
- synchronized (latestBranch) {
- final long splitTime = treeEnd;
-
- if (indexOfNode >= latestBranch.size()) {
- /*
- * We need to make sure (indexOfNode - 1) doesn't get the last
- * node in the branch, because that one is a Leaf Node.
- */
- throw new IllegalStateException();
- }
-
- /* Check if we need to add a new root node */
- if (indexOfNode == 0) {
- addNewRootNode();
- return;
- }
-
- /* Check if we can indeed add a child to the target parent */
- if (((CoreNode) latestBranch.get(indexOfNode - 1)).getNbChildren() == config.getMaxChildren()) {
- /* If not, add a branch starting one level higher instead */
- addSiblingNode(indexOfNode - 1);
- return;
- }
-
- /* Split off the new branch from the old one */
- for (int i = indexOfNode; i < latestBranch.size(); i++) {
- latestBranch.get(i).closeThisNode(splitTime);
- treeIO.writeNode(latestBranch.get(i));
-
- CoreNode prevNode = (CoreNode) latestBranch.get(i - 1);
- HTNode newNode;
-
- switch (latestBranch.get(i).getNodeType()) {
- case CORE:
- newNode = initNewCoreNode(prevNode.getSequenceNumber(), splitTime + 1);
- break;
- case LEAF:
- newNode = initNewLeafNode(prevNode.getSequenceNumber(), splitTime + 1);
- break;
- default:
- throw new IllegalStateException();
- }
-
- prevNode.linkNewChild(newNode);
- latestBranch.set(i, newNode);
- }
- }
- }
-
- /**
- * Similar to the previous method, except here we rebuild a completely new
- * latestBranch
- */
- private void addNewRootNode() {
- final long splitTime = this.treeEnd;
-
- HTNode oldRootNode = latestBranch.get(0);
- CoreNode newRootNode = initNewCoreNode(-1, config.getTreeStart());
-
- /* Tell the old root node that it isn't root anymore */
- oldRootNode.setParentSequenceNumber(newRootNode.getSequenceNumber());
-
- /* Close off the whole current latestBranch */
-
- for (int i = 0; i < latestBranch.size(); i++) {
- latestBranch.get(i).closeThisNode(splitTime);
- treeIO.writeNode(latestBranch.get(i));
- }
-
- /* Link the new root to its first child (the previous root node) */
- newRootNode.linkNewChild(oldRootNode);
-
- /* Rebuild a new latestBranch */
- int depth = latestBranch.size();
- latestBranch.clear();
- latestBranch.add(newRootNode);
-
- // Create new coreNode
- for (int i = 1; i < depth + 1; i++) {
- CoreNode prevNode = (CoreNode) latestBranch.get(i - 1);
- CoreNode newNode = initNewCoreNode(prevNode.getParentSequenceNumber(),
- splitTime + 1);
- prevNode.linkNewChild(newNode);
- latestBranch.add(newNode);
- }
-
- // Create the new leafNode
- CoreNode prevNode = (CoreNode) latestBranch.get(depth);
- LeafNode newNode = initNewLeafNode(prevNode.getParentSequenceNumber(), splitTime + 1);
- prevNode.linkNewChild(newNode);
- latestBranch.add(newNode);
- }
-
- /**
- * Add a new empty core node to the tree.
- *
- * @param parentSeqNumber
- * Sequence number of this node's parent
- * @param startTime
- * Start time of the new node
- * @return The newly created node
- */
- private CoreNode initNewCoreNode(int parentSeqNumber, long startTime) {
- CoreNode newNode = new CoreNode(config, this.nodeCount, parentSeqNumber,
- startTime);
- this.nodeCount++;
-
- /* Update the treeEnd if needed */
- if (startTime >= this.treeEnd) {
- this.treeEnd = startTime + 1;
- }
- return newNode;
- }
-
- /**
- * Add a new empty leaf node to the tree.
- *
- * @param parentSeqNumber
- * Sequence number of this node's parent
- * @param startTime
- * Start time of the new node
- * @return The newly created node
- */
- private LeafNode initNewLeafNode(int parentSeqNumber, long startTime) {
- LeafNode newNode = new LeafNode(config, this.nodeCount, parentSeqNumber,
- startTime);
- this.nodeCount++;
-
- /* Update the treeEnd if needed */
- if (startTime >= this.treeEnd) {
- this.treeEnd = startTime + 1;
- }
- return newNode;
- }
-
- /**
- * Inner method to select the next child of the current node intersecting
- * the given timestamp. Useful for moving down the tree following one
- * branch.
- *
- * @param currentNode
- * The node on which the request is made
- * @param t
- * The timestamp to choose which child is the next one
- * @return The child node intersecting t
- * @throws ClosedChannelException
- * If the file channel was closed while we were reading the tree
- */
- public HTNode selectNextChild(CoreNode currentNode, long t) throws ClosedChannelException {
- assert (currentNode.getNbChildren() > 0);
- int potentialNextSeqNb = currentNode.getSequenceNumber();
-
- for (int i = 0; i < currentNode.getNbChildren(); i++) {
- if (t >= currentNode.getChildStart(i)) {
- potentialNextSeqNb = currentNode.getChild(i);
- } else {
- break;
- }
- }
-
- /*
- * Once we exit this loop, we should have found a children to follow. If
- * we didn't, there's a problem.
- */
- assert (potentialNextSeqNb != currentNode.getSequenceNumber());
-
- /*
- * Since this code path is quite performance-critical, avoid iterating
- * through the whole latestBranch array if we know for sure the next
- * node has to be on disk
- */
- if (currentNode.isOnDisk()) {
- return treeIO.readNode(potentialNextSeqNb);
- }
- return readNode(potentialNextSeqNb);
- }
-
- /**
- * Get the current size of the history file.
- *
- * @return The history file size
- */
- public long getFileSize() {
- return config.getStateFile().length();
- }
-
- // ------------------------------------------------------------------------
- // Test/debugging methods
- // ------------------------------------------------------------------------
-
- /**
- * Debugging method to make sure all intervals contained in the given node
- * have valid start and end times.
- *
- * @param zenode
- * The node to check
- * @return True if everything is fine, false if there is at least one
- * invalid timestamp (end time < start time, time outside of the
- * range of the node, etc.)
- */
- @SuppressWarnings("nls")
- public boolean checkNodeIntegrity(HTNode zenode) {
- /* Only used for debugging, shouldn't be externalized */
- HTNode otherNode;
- CoreNode node;
- StringBuffer buf = new StringBuffer();
- boolean ret = true;
-
- // FIXME /* Only testing Core Nodes for now */
- if (!(zenode instanceof CoreNode)) {
- return true;
- }
-
- node = (CoreNode) zenode;
-
- try {
- /*
- * Test that this node's start and end times match the start of the
- * first child and the end of the last child, respectively
- */
- if (node.getNbChildren() > 0) {
- otherNode = treeIO.readNode(node.getChild(0));
- if (node.getNodeStart() != otherNode.getNodeStart()) {
- buf.append("Start time of node (" + node.getNodeStart() + ") "
- + "does not match start time of first child " + "("
- + otherNode.getNodeStart() + "), " + "node #"
- + otherNode.getSequenceNumber() + ")\n");
- ret = false;
- }
- if (node.isOnDisk()) {
- otherNode = treeIO.readNode(node.getLatestChild());
- if (node.getNodeEnd() != otherNode.getNodeEnd()) {
- buf.append("End time of node (" + node.getNodeEnd()
- + ") does not match end time of last child ("
- + otherNode.getNodeEnd() + ", node #"
- + otherNode.getSequenceNumber() + ")\n");
- ret = false;
- }
- }
- }
-
- /*
- * Test that the childStartTimes[] array matches the real nodes'
- * start times
- */
- for (int i = 0; i < node.getNbChildren(); i++) {
- otherNode = treeIO.readNode(node.getChild(i));
- if (otherNode.getNodeStart() != node.getChildStart(i)) {
- buf.append(" Expected start time of child node #"
- + node.getChild(i) + ": " + node.getChildStart(i)
- + "\n" + " Actual start time of node #"
- + otherNode.getSequenceNumber() + ": "
- + otherNode.getNodeStart() + "\n");
- ret = false;
- }
- }
-
- } catch (ClosedChannelException e) {
- e.printStackTrace();
- }
-
- if (!ret) {
- System.out.println("");
- System.out.println("SHT: Integrity check failed for node #"
- + node.getSequenceNumber() + ":");
- System.out.println(buf.toString());
- }
- return ret;
- }
-
- /**
- * Check the integrity of all the nodes in the tree. Calls
- * {@link #checkNodeIntegrity} for every node in the tree.
- */
- public void checkIntegrity() {
- try {
- for (int i = 0; i < nodeCount; i++) {
- checkNodeIntegrity(treeIO.readNode(i));
- }
- } catch (ClosedChannelException e) {
- }
- }
-
- /* Only used for debugging, shouldn't be externalized */
- @SuppressWarnings("nls")
- @Override
- public String toString() {
- return "Information on the current tree:\n\n" + "Blocksize: "
- + config.getBlockSize() + "\n" + "Max nb. of children per node: "
- + config.getMaxChildren() + "\n" + "Number of nodes: " + nodeCount
- + "\n" + "Depth of the tree: " + latestBranch.size() + "\n"
- + "Size of the treefile: " + this.getFileSize() + "\n"
- + "Root node has sequence number: "
- + latestBranch.get(0).getSequenceNumber() + "\n"
- + "'Latest leaf' has sequence number: "
- + latestBranch.get(latestBranch.size() - 1).getSequenceNumber();
- }
-
- /**
- * Start at currentNode and print the contents of all its children, in
- * pre-order. Give the root node in parameter to visit the whole tree, and
- * have a nice overview.
- */
- /* Only used for debugging, shouldn't be externalized */
- @SuppressWarnings("nls")
- private void preOrderPrint(PrintWriter writer, boolean printIntervals,
- HTNode currentNode, int curDepth) {
-
- writer.println(currentNode.toString());
- if (printIntervals) {
- currentNode.debugPrintIntervals(writer);
- }
-
- switch (currentNode.getNodeType()) {
- case LEAF:
- /* Stop if it's the leaf node */
- return;
-
- case CORE:
- try {
- final CoreNode node = (CoreNode) currentNode;
- /* Print the extensions, if any */
- int extension = node.getExtensionSequenceNumber();
- while (extension != -1) {
- HTNode nextNode = treeIO.readNode(extension);
- preOrderPrint(writer, printIntervals, nextNode, curDepth);
- }
-
- /* Print the child nodes */
- for (int i = 0; i < node.getNbChildren(); i++) {
- HTNode nextNode = treeIO.readNode(node.getChild(i));
- for (int j = 0; j < curDepth; j++) {
- writer.print(" ");
- }
- writer.print("+-");
- preOrderPrint(writer, printIntervals, nextNode, curDepth + 1);
- }
- } catch (ClosedChannelException e) {
- Activator.getDefault().logError(e.getMessage());
- }
- break;
-
- default:
- break;
- }
- }
-
- /**
- * Print out the full tree for debugging purposes
- *
- * @param writer
- * PrintWriter in which to write the output
- * @param printIntervals
- * Flag to enable full output of the interval information
- */
- public void debugPrintFullTree(PrintWriter writer, boolean printIntervals) {
- /* Only used for debugging, shouldn't be externalized */
-
- this.preOrderPrint(writer, false, latestBranch.get(0), 0);
-
- if (printIntervals) {
- writer.println("\nDetails of intervals:"); //$NON-NLS-1$
- this.preOrderPrint(writer, true, latestBranch.get(0), 0);
- }
- writer.println('\n');
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.statesystem.core/src/org/eclipse/linuxtools/internal/statesystem/core/backend/historytree/LeafNode.java b/lttng/org.eclipse.linuxtools.statesystem.core/src/org/eclipse/linuxtools/internal/statesystem/core/backend/historytree/LeafNode.java
deleted file mode 100644
index ea3a6d9317..0000000000
--- a/lttng/org.eclipse.linuxtools.statesystem.core/src/org/eclipse/linuxtools/internal/statesystem/core/backend/historytree/LeafNode.java
+++ /dev/null
@@ -1,71 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 École Polytechnique de Montréal
- *
- * 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:
- * Florian Wininger - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.internal.statesystem.core.backend.historytree;
-
-import java.nio.ByteBuffer;
-
-/**
- * A Leaf node is a last-level node of a History Tree.
- *
- * A leaf node cannot have children, so it extends HTNode without adding
- * anything in particular.
- *
- * @author Florian Wininger
- */
-public final class LeafNode extends HTNode {
-
- /**
- * Initial constructor. Use this to initialize a new EMPTY node.
- *
- * @param config
- * Configuration of the History Tree
- * @param seqNumber
- * The (unique) sequence number assigned to this particular node
- * @param parentSeqNumber
- * The sequence number of this node's parent node
- * @param start
- * The earliest timestamp stored in this node
- */
- public LeafNode(HTConfig config, int seqNumber, int parentSeqNumber,
- long start) {
- super(config, seqNumber, parentSeqNumber, start);
- }
-
- @Override
- protected void readSpecificHeader(ByteBuffer buffer) {
- /* No specific header part */
- }
-
- @Override
- protected void writeSpecificHeader(ByteBuffer buffer) {
- /* No specific header part */
- }
-
- @Override
- public NodeType getNodeType() {
- return NodeType.LEAF;
- }
-
- @Override
- protected int getSpecificHeaderSize() {
- /* Empty */
- return 0;
- }
-
- @Override
- public String toStringSpecific() {
- /* Only used for debugging, shouldn't be externalized */
- return "Leaf Node, "; //$NON-NLS-1$;
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.statesystem.core/src/org/eclipse/linuxtools/statesystem/core/ITmfStateSystem.java b/lttng/org.eclipse.linuxtools.statesystem.core/src/org/eclipse/linuxtools/statesystem/core/ITmfStateSystem.java
deleted file mode 100644
index 1dcdfb93f9..0000000000
--- a/lttng/org.eclipse.linuxtools.statesystem.core/src/org/eclipse/linuxtools/statesystem/core/ITmfStateSystem.java
+++ /dev/null
@@ -1,425 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2012, 2014 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:
- * Alexandre Montplaisir - Initial API
- ******************************************************************************/
-
-package org.eclipse.linuxtools.statesystem.core;
-
-import java.util.List;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.linuxtools.statesystem.core.exceptions.AttributeNotFoundException;
-import org.eclipse.linuxtools.statesystem.core.exceptions.StateSystemDisposedException;
-import org.eclipse.linuxtools.statesystem.core.exceptions.StateValueTypeException;
-import org.eclipse.linuxtools.statesystem.core.exceptions.TimeRangeException;
-import org.eclipse.linuxtools.statesystem.core.interval.ITmfStateInterval;
-import org.eclipse.linuxtools.statesystem.core.statevalue.ITmfStateValue;
-
-/**
- * This is the read-only interface to the generic state system. It contains all
- * the read-only quark-getting methods, as well as the history-querying ones.
- *
- * @author Alexandre Montplaisir
- * @since 3.0
- */
-public interface ITmfStateSystem {
-
- /**
- * Get the ID of this state system.
- *
- * @return The state system's ID
- */
- String getSSID();
-
- /**
- * Return the start time of this history. It usually matches the start time
- * of the original trace.
- *
- * @return The history's registered start time
- */
- long getStartTime();
-
- /**
- * Return the current end time of the history.
- *
- * @return The current end time of this state history
- */
- long getCurrentEndTime();
-
- /**
- * Check if the construction of this state system was cancelled or not. If
- * false is returned, it can mean that the building was finished
- * successfully, or that it is still ongoing. You can check independently
- * with {@link #waitUntilBuilt()} if it is finished or not.
- *
- * @return If the construction was cancelled or not. In true is returned, no
- * queries should be run afterwards.
- */
- boolean isCancelled();
-
- /**
- * While it's possible to query a state history that is being built,
- * sometimes we might want to wait until the construction is finished before
- * we start doing queries.
- *
- * This method blocks the calling thread until the history back-end is done
- * building. If it's already built (ie, opening a pre-existing file) this
- * should return immediately.
- *
- * You should always check with {@link #isCancelled()} if it is safe to
- * query this state system before doing queries.
- */
- void waitUntilBuilt();
-
- /**
- * Wait until the state system construction is finished. Similar to
- * {@link #waitUntilBuilt()}, but we also specify a timeout. If the timeout
- * elapses before the construction is finished, the method will return.
- *
- * The return value determines if the return was due to the construction
- * finishing (true), or the timeout elapsing (false).
- *
- * This can be useful, for example, for a component doing queries
- * periodically to the system while it is being built.
- *
- * @param timeout
- * Timeout value in milliseconds
- * @return True if the return was due to the construction finishing, false
- * if it was because the timeout elapsed. Same logic as
- * {@link java.util.concurrent.CountDownLatch#await(long, java.util.concurrent.TimeUnit)}
- */
- boolean waitUntilBuilt(long timeout);
-
- /**
- * Notify the state system that the trace is being closed, so it should
- * clean up, close its files, etc.
- */
- void dispose();
-
- /**
- * Return the current total amount of attributes in the system. This is also
- * equal to the quark that will be assigned to the next attribute that's
- * created.
- *
- * @return The current number of attributes in the system
- */
- int getNbAttributes();
-
- /**
- * @name Read-only quark-getting methods
- */
-
- /**
- * Basic quark-retrieving method. Pass an attribute in parameter as an array
- * of strings, the matching quark will be returned.
- *
- * This version will NOT create any new attributes. If an invalid attribute
- * is requested, an exception will be thrown.
- *
- * @param attribute
- * Attribute given as its full path in the Attribute Tree
- * @return The quark of the requested attribute, if it existed.
- * @throws AttributeNotFoundException
- * This exception is thrown if the requested attribute simply
- * did not exist in the system.
- */
- int getQuarkAbsolute(String... attribute)
- throws AttributeNotFoundException;
-
- /**
- * "Relative path" quark-getting method. Instead of specifying a full path,
- * if you know the path is relative to another attribute for which you
- * already have the quark, use this for better performance.
- *
- * This is useful for cases where a lot of modifications or queries will
- * originate from the same branch of the attribute tree : the common part of
- * the path won't have to be re-hashed for every access.
- *
- * This version will NOT create any new attributes. If an invalid attribute
- * is requested, an exception will be thrown.
- *
- * @param startingNodeQuark
- * The quark of the attribute from which 'subPath' originates.
- * @param subPath
- * "Rest" of the path to get to the final attribute
- * @return The matching quark, if it existed
- * @throws AttributeNotFoundException
- * If the quark is invalid
- */
- int getQuarkRelative(int startingNodeQuark, String... subPath)
- throws AttributeNotFoundException;
-
- /**
- * Return the sub-attributes of the target attribute, as a List of quarks.
- *
- * @param quark
- * The attribute of which you want to sub-attributes. You can use
- * "-1" here to specify the root node.
- * @param recursive
- * True if you want all recursive sub-attributes, false if you
- * only want the first level.
- * @return A List of integers, matching the quarks of the sub-attributes.
- * @throws AttributeNotFoundException
- * If the quark was not existing or invalid.
- */
- List<Integer> getSubAttributes(int quark, boolean recursive)
- throws AttributeNotFoundException;
-
- /**
- * Return the sub-attributes of the target attribute, as a List of quarks,
- * similarly to {@link #getSubAttributes(int, boolean)}, but with an added
- * regex pattern to filter on the return attributes.
- *
- * @param quark
- * The attribute of which you want to sub-attributes. You can use
- * "-1" here to specify the root node.
- * @param recursive
- * True if you want all recursive sub-attributes, false if you
- * only want the first level. Note that the returned value will
- * be flattened.
- * @param pattern
- * The regular expression to match the attribute base name.
- * @return A List of integers, matching the quarks of the sub-attributes
- * that match the regex. An empty list is returned if there is no
- * matching attribute.
- * @throws AttributeNotFoundException
- * If the 'quark' was not existing or invalid.
- */
- List<Integer> getSubAttributes(int quark, boolean recursive, String pattern)
- throws AttributeNotFoundException;
-
- /**
- * Batch quark-retrieving method. This method allows you to specify a path
- * pattern which includes a wildcard "*" somewhere. It will check all the
- * existing attributes in the attribute tree and return those who match the
- * pattern.
- *
- * For example, passing ("Threads", "*", "Exec_mode") will return the list
- * of quarks for attributes "Threads/1000/Exec_mode",
- * "Threads/1500/Exec_mode", and so on, depending on what exists at this
- * time in the attribute tree.
- *
- * If no wildcard is specified, the behavior is the same as
- * getQuarkAbsolute() (except it will return a List with one entry). This
- * method will never create new attributes.
- *
- * Only one wildcard "*" is supported at this time.
- *
- * @param pattern
- * The array of strings representing the pattern to look for. It
- * should ideally contain one entry that is only a "*".
- * @return A List of attribute quarks, representing attributes that matched
- * the pattern. If no attribute matched, the list will be empty (but
- * not null).
- */
- List<Integer> getQuarks(String... pattern);
-
- /**
- * Return the name assigned to this quark. This returns only the "basename",
- * not the complete path to this attribute.
- *
- * @param attributeQuark
- * The quark for which we want the name
- * @return The name of the quark
- */
- String getAttributeName(int attributeQuark);
-
- /**
- * This returns the slash-separated path of an attribute by providing its
- * quark
- *
- * @param attributeQuark
- * The quark of the attribute we want
- * @return One single string separated with '/', like a filesystem path
- */
- String getFullAttributePath(int attributeQuark);
-
- /**
- * Returns the parent quark of the attribute.
- *
- * @param attributeQuark
- * The quark of the attribute
- * @return Quark of the parent attribute or <code>-1</code> if root quark or
- * no parent.
- */
- int getParentAttributeQuark(int attributeQuark);
-
- /**
- * @name Query methods
- */
-
- /**
- * Returns the current state value we have (in the Transient State) for the
- * given attribute.
- *
- * This is useful even for a StateHistorySystem, as we are guaranteed it
- * will only do a memory access and not go look on disk (and we don't even
- * have to provide a timestamp!)
- *
- * @param attributeQuark
- * For which attribute we want the current state
- * @return The State value that's "current" for this attribute
- * @throws AttributeNotFoundException
- * If the requested attribute is invalid
- */
- ITmfStateValue queryOngoingState(int attributeQuark)
- throws AttributeNotFoundException;
-
- /**
- * Get the start time of the current ongoing state, for the specified
- * attribute.
- *
- * @param attribute
- * Quark of the attribute
- * @return The current start time of the ongoing state
- * @throws AttributeNotFoundException
- * If the attribute is invalid
- */
- long getOngoingStartTime(int attribute)
- throws AttributeNotFoundException;
-
- /**
- * Load the complete state information at time 't' into the returned List.
- * You can then get the intervals for single attributes by using
- * List.get(n), where 'n' is the quark of the attribute.
- *
- * On average if you need around 10 or more queries for the same timestamps,
- * use this method. If you need less than 10 (for example, running many
- * queries for the same attributes but at different timestamps), you might
- * be better using the querySingleState() methods instead.
- *
- * @param t
- * We will recreate the state information to what it was at time
- * t.
- * @return The List of intervals, where the offset = the quark
- * @throws TimeRangeException
- * If the 't' parameter is outside of the range of the state
- * history.
- * @throws StateSystemDisposedException
- * If the query is sent after the state system has been disposed
- */
- List<ITmfStateInterval> queryFullState(long t)
- throws StateSystemDisposedException;
-
- /**
- * Singular query method. This one does not update the whole stateInfo
- * vector, like queryFullState() does. It only searches for one specific
- * entry in the state history.
- *
- * It should be used when you only want very few entries, instead of the
- * whole state (or many entries, but all at different timestamps). If you do
- * request many entries all at the same time, you should use the
- * conventional queryFullState() + List.get() method.
- *
- * @param t
- * The timestamp at which we want the state
- * @param attributeQuark
- * Which attribute we want to get the state of
- * @return The StateInterval representing the state
- * @throws TimeRangeException
- * If 't' is invalid
- * @throws AttributeNotFoundException
- * If the requested quark does not exist in the model
- * @throws StateSystemDisposedException
- * If the query is sent after the state system has been disposed
- */
- ITmfStateInterval querySingleState(long t, int attributeQuark)
- throws AttributeNotFoundException, StateSystemDisposedException;
-
- /**
- * Convenience method to query attribute stacks (created with
- * pushAttribute()/popAttribute()). This will return the interval that is
- * currently at the top of the stack, or 'null' if that stack is currently
- * empty. It works similarly to querySingleState().
- *
- * To retrieve the other values in a stack, you can query the sub-attributes
- * manually.
- *
- * @param t
- * The timestamp of the query
- * @param stackAttributeQuark
- * The top-level stack-attribute (that was the target of
- * pushAttribute() at creation time)
- * @return The interval that was at the top of the stack, or 'null' if the
- * stack was empty.
- * @throws StateValueTypeException
- * If the target attribute is not a valid stack attribute (if it
- * has a string value for example)
- * @throws AttributeNotFoundException
- * If the attribute was simply not found
- * @throws TimeRangeException
- * If the given timestamp is invalid
- * @throws StateSystemDisposedException
- * If the query is sent after the state system has been disposed
- */
- ITmfStateInterval querySingleStackTop(long t, int stackAttributeQuark)
- throws AttributeNotFoundException, StateSystemDisposedException;
-
- /**
- * Return a list of state intervals, containing the "history" of a given
- * attribute between timestamps t1 and t2. The list will be ordered by
- * ascending time.
- *
- * Note that contrary to queryFullState(), the returned list here is in the
- * "direction" of time (and not in the direction of attributes, as is the
- * case with queryFullState()).
- *
- * @param attributeQuark
- * Which attribute this query is interested in
- * @param t1
- * Start time of the range query
- * @param t2
- * Target end time of the query. If t2 is greater than the end of
- * the trace, we will return what we have up to the end of the
- * history.
- * @return The List of state intervals that happened between t1 and t2
- * @throws TimeRangeException
- * If t1 is invalid, or if t2 <= t1
- * @throws AttributeNotFoundException
- * If the requested quark does not exist in the model.
- * @throws StateSystemDisposedException
- * If the query is sent after the state system has been disposed
- */
- List<ITmfStateInterval> queryHistoryRange(int attributeQuark, long t1, long t2)
- throws AttributeNotFoundException, StateSystemDisposedException;
-
- /**
- * Return the state history of a given attribute, but with at most one
- * update per "resolution". This can be useful for populating views (where
- * it's useless to have more than one query per pixel, for example). A
- * progress monitor can be used to cancel the query before completion.
- *
- * @param attributeQuark
- * Which attribute this query is interested in
- * @param t1
- * Start time of the range query
- * @param t2
- * Target end time of the query. If t2 is greater than the end of
- * the trace, we will return what we have up to the end of the
- * history.
- * @param resolution
- * The "step" of this query
- * @param monitor
- * A progress monitor. If the monitor is canceled during a query,
- * we will return what has been found up to that point. You can
- * use "null" if you do not want to use one.
- * @return The List of states that happened between t1 and t2
- * @throws TimeRangeException
- * If t1 is invalid, if t2 <= t1, or if the resolution isn't
- * greater than zero.
- * @throws AttributeNotFoundException
- * If the attribute doesn't exist
- * @throws StateSystemDisposedException
- * If the query is sent after the state system has been disposed
- */
- List<ITmfStateInterval> queryHistoryRange(int attributeQuark,
- long t1, long t2, long resolution, IProgressMonitor monitor)
- throws AttributeNotFoundException, StateSystemDisposedException;
-}
diff --git a/lttng/org.eclipse.linuxtools.statesystem.core/src/org/eclipse/linuxtools/statesystem/core/ITmfStateSystemBuilder.java b/lttng/org.eclipse.linuxtools.statesystem.core/src/org/eclipse/linuxtools/statesystem/core/ITmfStateSystemBuilder.java
deleted file mode 100644
index f6363a1446..0000000000
--- a/lttng/org.eclipse.linuxtools.statesystem.core/src/org/eclipse/linuxtools/statesystem/core/ITmfStateSystemBuilder.java
+++ /dev/null
@@ -1,233 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2012, 2014 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:
- * Alexandre Montplaisir - Initial API
- ******************************************************************************/
-
-package org.eclipse.linuxtools.statesystem.core;
-
-import org.eclipse.linuxtools.statesystem.core.exceptions.AttributeNotFoundException;
-import org.eclipse.linuxtools.statesystem.core.exceptions.StateValueTypeException;
-import org.eclipse.linuxtools.statesystem.core.exceptions.TimeRangeException;
-import org.eclipse.linuxtools.statesystem.core.statevalue.ITmfStateValue;
-
-/**
- * This is the external interface to build or modify an existing state history.
- *
- * It extends ITmfStateSystem, so you can still use it for reading the history,
- * but it also provides write-access to it with the quark-creating and
- * state-change insertion methods.
- *
- * This should only be used by classes that need to build or modify the state
- * history. Views, etc. (who will only be reading from it) should use the
- * ITmfStateSystem interface instead.
- *
- * @author Alexandre Montplaisir
- * @since 3.0
- */
-public interface ITmfStateSystemBuilder extends ITmfStateSystem {
-
- /**
- * Special state provider version number that will tell the backend to
- * ignore the version check and open an existing file even if the versions
- * don't match.
- */
- static final int IGNORE_PROVIDER_VERSION = -42;
-
- /**
- * @name Read/write quark-getting methods
- */
-
- /**
- * Basic quark-retrieving method. Pass an attribute in parameter as an array
- * of strings, the matching quark will be returned.
- *
- * This version WILL create new attributes: if the attribute passed in
- * parameter is new in the system, it will be added and its new quark will
- * be returned.
- *
- * @param attribute
- * Attribute given as its full path in the Attribute Tree
- * @return The quark of the attribute (which either existed or just got
- * created)
- */
- int getQuarkAbsoluteAndAdd(String... attribute);
-
- /**
- * "Relative path" quark-getting method. Instead of specifying a full path,
- * if you know the path is relative to another attribute for which you
- * already have the quark, use this for better performance.
- *
- * This is useful for cases where a lot of modifications or queries will
- * originate from the same branch of the attribute tree : the common part of
- * the path won't have to be re-hashed for every access.
- *
- * This version WILL create new attributes: if the attribute passed in
- * parameter is new in the system, it will be added and its new quark will
- * be returned.
- *
- * @param startingNodeQuark
- * The quark of the attribute from which 'subPath' originates.
- * @param subPath
- * "Rest" of the path to get to the final attribute
- * @return The matching quark, either if it's new of just got created.
- */
- int getQuarkRelativeAndAdd(int startingNodeQuark, String... subPath);
-
- /**
- * @name State-changing methods
- */
-
- /**
- * Modify a current "ongoing" state (instead of inserting a state change,
- * like modifyAttribute() and others).
- *
- * This can be used to update the value of a previous state change, for
- * example when we get information at the end of the state and not at the
- * beginning. (return values of system calls, etc.)
- *
- * Note that past states can only be modified while they are still in
- * memory, so only the "current state" can be updated. Once they get
- * committed to disk (by inserting a new state change) it becomes too late.
- *
- * @param newValue
- * The new value that will overwrite the "current" one.
- * @param attributeQuark
- * For which attribute in the system
- * @throws AttributeNotFoundException
- * If the requested attribute is invalid
- */
- void updateOngoingState(ITmfStateValue newValue, int attributeQuark)
- throws AttributeNotFoundException;
-
- /**
- * Basic attribute modification method, we simply specify a new value, for a
- * given attribute, effective at the given timestamp.
- *
- * @param t
- * Timestamp of the state change
- * @param value
- * The State Value we want to assign to the attribute
- * @param attributeQuark
- * Integer value of the quark corresponding to the attribute we
- * want to modify
- * @throws TimeRangeException
- * If the requested time is outside of the trace's range
- * @throws AttributeNotFoundException
- * If the requested attribute quark is invalid
- * @throws StateValueTypeException
- * If the inserted state value's type does not match what is
- * already assigned to this attribute.
- */
- void modifyAttribute(long t, ITmfStateValue value, int attributeQuark)
- throws AttributeNotFoundException, StateValueTypeException;
-
- /**
- * Increment attribute method. Reads the current value of a given integer
- * attribute (this value is right now in the Transient State), and increment
- * it by 1. Useful for statistics.
- *
- * @param t
- * Timestamp of the state change
- * @param attributeQuark
- * Attribute to increment. If it doesn't exist it will be added,
- * with a new value of 1.
- * @throws StateValueTypeException
- * If the attribute already exists but is not of type Integer
- * @throws TimeRangeException
- * If the given timestamp is invalid
- * @throws AttributeNotFoundException
- * If the quark is invalid
- */
- void incrementAttribute(long t, int attributeQuark)
- throws AttributeNotFoundException, StateValueTypeException;
-
- /**
- * "Push" helper method. This uses the given integer attribute as a stack:
- * The value of that attribute will represent the stack depth (always >= 1).
- * Sub-attributes will be created, their base-name will be the position in
- * the stack (1, 2, etc.) and their value will be the state value 'value'
- * that was pushed to this position.
- *
- * @param t
- * Timestamp of the state change
- * @param value
- * State value to assign to this stack position.
- * @param attributeQuark
- * The base attribute to use as a stack. If it does not exist if
- * will be created (with depth = 1)
- * @throws TimeRangeException
- * If the requested timestamp is invalid
- * @throws AttributeNotFoundException
- * If the attribute is invalid
- * @throws StateValueTypeException
- * If the attribute 'attributeQuark' already exists, but is not
- * of integer type.
- */
- void pushAttribute(long t, ITmfStateValue value, int attributeQuark)
- throws AttributeNotFoundException, StateValueTypeException;
-
- /**
- * Antagonist of the pushAttribute(), pops the top-most attribute on the
- * stack-attribute. If this brings it back to depth = 0, the attribute is
- * kept with depth = 0. If the value is already 0, or if the attribute
- * doesn't exist, nothing is done.
- *
- * @param t
- * Timestamp of the state change
- * @param attributeQuark
- * Quark of the stack-attribute to pop
- * @return The state value that was popped, or 'null' if nothing was
- * actually removed from the stack.
- * @throws AttributeNotFoundException
- * If the attribute is invalid
- * @throws TimeRangeException
- * If the timestamp is invalid
- * @throws StateValueTypeException
- * If the target attribute already exists, but its state value
- * type is invalid (not an integer)
- */
- ITmfStateValue popAttribute(long t, int attributeQuark)
- throws AttributeNotFoundException, StateValueTypeException;
-
- /**
- * Remove attribute method. Similar to the above modify- methods, with value
- * = 0 / null, except we will also "nullify" all the sub-contents of the
- * requested path (a bit like "rm -rf")
- *
- * @param t
- * Timestamp of the state change
- * @param attributeQuark
- * Attribute to remove
- * @throws TimeRangeException
- * If the timestamp is invalid
- * @throws AttributeNotFoundException
- * If the quark is invalid
- */
- void removeAttribute(long t, int attributeQuark)
- throws AttributeNotFoundException;
-
- /**
- * Method to close off the History Provider. This happens for example when
- * we are done reading an off-line trace. First we close the TransientState,
- * commit it to the Provider, mark it as inactive, then we write the
- * Attribute Tree somewhere so we can reopen it later.
- *
- * @param endTime
- * The requested End Time of the history, since it could be
- * bigger than the timestamp of the last event or state change we
- * have seen. All "ongoing" states will be extended until this
- * 'endTime'.
- * @throws TimeRangeException
- * If the passed endTime doesn't make sense (for example, if
- * it's earlier than the latest time) and the backend doesn't
- * know how to handle it.
- */
- void closeHistory(long endTime);
-}
diff --git a/lttng/org.eclipse.linuxtools.statesystem.core/src/org/eclipse/linuxtools/statesystem/core/StateSystemFactory.java b/lttng/org.eclipse.linuxtools.statesystem.core/src/org/eclipse/linuxtools/statesystem/core/StateSystemFactory.java
deleted file mode 100644
index 9f36126609..0000000000
--- a/lttng/org.eclipse.linuxtools.statesystem.core/src/org/eclipse/linuxtools/statesystem/core/StateSystemFactory.java
+++ /dev/null
@@ -1,71 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 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:
- * Alexandre Montplaisir - Initial API and implementation
- ******************************************************************************/
-
-package org.eclipse.linuxtools.statesystem.core;
-
-import java.io.IOException;
-
-import org.eclipse.jdt.annotation.NonNullByDefault;
-import org.eclipse.linuxtools.internal.statesystem.core.StateSystem;
-import org.eclipse.linuxtools.statesystem.core.backend.IStateHistoryBackend;
-
-/**
- * Factory to create state systems.
- *
- * Since state system are meant to be accessed using the {@link ITmfStateSystem}
- * and {@link ITmfStateSystemBuilder} interfaces, you can use this factory to
- * instantiate new ones.
- *
- * @author Alexandre Montplaisir
- * @since 3.0
- */
-@NonNullByDefault
-public final class StateSystemFactory {
-
- private StateSystemFactory() {}
-
- /**
- * New-file factory method. For when you build a state system with a new
- * file, or if the back-end does not require a file on disk.
- *
- * @param id
- * The ID of this statesystem. It should be unique.
- * @param backend
- * Back-end plugin to use
- * @return The new state system
- */
- public static ITmfStateSystemBuilder newStateSystem(String id,
- IStateHistoryBackend backend) {
- return new StateSystem(id, backend);
- }
-
- /**
- * General factory method. The backend may try to open or create a file on
- * disk (the file contents and location are defined by the backend).
- *
- * @param id
- * The ID of this statesystem. It should be unique.
- * @param backend
- * The "state history storage" back-end to use.
- * @param newFile
- * Put true if this is a new history started from scratch (any
- * existing file will be overwritten).
- * @return The new state system
- * @throws IOException
- * If there was a problem creating the new history file
- */
- public static ITmfStateSystemBuilder newStateSystem(String id,
- IStateHistoryBackend backend, boolean newFile) throws IOException {
- return new StateSystem(id, backend, newFile);
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.statesystem.core/src/org/eclipse/linuxtools/statesystem/core/backend/IStateHistoryBackend.java b/lttng/org.eclipse.linuxtools.statesystem.core/src/org/eclipse/linuxtools/statesystem/core/backend/IStateHistoryBackend.java
deleted file mode 100644
index c8354c7887..0000000000
--- a/lttng/org.eclipse.linuxtools.statesystem.core/src/org/eclipse/linuxtools/statesystem/core/backend/IStateHistoryBackend.java
+++ /dev/null
@@ -1,198 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2012, 2013 Ericsson
- * Copyright (c) 2010, 2011 École Polytechnique de Montréal
- * Copyright (c) 2010, 2011 Alexandre Montplaisir <alexandre.montplaisir@gmail.com>
- *
- * 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
- *
- *******************************************************************************/
-
-package org.eclipse.linuxtools.statesystem.core.backend;
-
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.PrintWriter;
-import java.util.List;
-
-import org.eclipse.linuxtools.statesystem.core.exceptions.AttributeNotFoundException;
-import org.eclipse.linuxtools.statesystem.core.exceptions.StateSystemDisposedException;
-import org.eclipse.linuxtools.statesystem.core.exceptions.TimeRangeException;
-import org.eclipse.linuxtools.statesystem.core.interval.ITmfStateInterval;
-import org.eclipse.linuxtools.statesystem.core.statevalue.ITmfStateValue;
-
-/**
- * The main difference between StateSystem and StateHistorySystem is that SHS
- * allows 'seeking' back in time to reload a Current State at a previous time.
- * "How to go back in time" is defined by the implementation of the
- * HistoryBackend.
- *
- * A StateHistorySystem contains one and only one HistoryBackend. If you want to
- * use a paradigm with more than one provider (eg. more or less precision
- * depending on what's asked by the user), implement one wrapper HistoryBackend
- * which can then contain your 2-3 other backends underneath.
- *
- * @author Alexandre Montplaisir
- * @since 3.0
- */
-public interface IStateHistoryBackend {
-
- /**
- * Get the start time of this state history. This is usually the same as the
- * start time of the originating trace.
- *
- * @return The start time
- */
- long getStartTime();
-
- /**
- * Get the current end time of the state history. It will change as the
- * history is being built.
- *
- * @return The end time
- */
- long getEndTime();
-
- /**
- * Main method to insert state intervals into the history.
- *
- * @param stateStartTime
- * The start time of the interval
- * @param stateEndTime
- * The end time of the interval
- * @param quark
- * The quark of the attribute this interval refers to
- * @param value
- * The StateValue represented by this interval
- * @throws TimeRangeException
- * If the start or end time are invalid
- */
- // FIXME change to IStateInterval?
- void insertPastState(long stateStartTime, long stateEndTime,
- int quark, ITmfStateValue value) throws TimeRangeException;
-
- /**
- * Indicate to the provider that we are done building the history (so it can
- * close off, stop threads, etc.)
- *
- * @param endTime
- * The end time to assign to this state history. It could be
- * farther in time than the last state inserted, for example.
- * @throws TimeRangeException
- * If the requested time makes no sense.
- */
- void finishedBuilding(long endTime) throws TimeRangeException;
-
- /**
- * It is the responsibility of the backend to define where to save the
- * Attribute Tree (since it's only useful to "reopen" an Attribute Tree if
- * we have the matching History).
- *
- * This method defines where to read for the attribute tree when opening an
- * already-existing history. Refer to the file format documentation.
- *
- * @return A FileInputStream object pointing to the correct file/location in
- * the file where to read the attribute tree information.
- */
- FileInputStream supplyAttributeTreeReader();
-
- // FIXME change to FOS too?
- /**
- * Supply the File object to which we will write the attribute tree. The
- * position in this file is supplied by -TreeWriterFilePosition.
- *
- * @return The target File
- */
- File supplyAttributeTreeWriterFile();
-
- /**
- * Supply the position in the file where we should write the attribute tree
- * when asked to.
- *
- * @return The file position (we will seek() to it)
- */
- long supplyAttributeTreeWriterFilePosition();
-
- /**
- * Delete any generated files or anything that might have been created by
- * the history backend (either temporary or save files). By calling this, we
- * return to the state as it was before ever building the history.
- *
- * You might not want to call automatically if, for example, you want an
- * index file to persist on disk. This could be limited to actions
- * originating from the user.
- */
- void removeFiles();
-
- /**
- * Notify the state history back-end that the trace is being closed, so it
- * should release its file descriptors, close its connections, etc.
- */
- void dispose();
-
- // ------------------------------------------------------------------------
- // Query methods
- // ------------------------------------------------------------------------
-
- /**
- * Complete "give me the state at a given time" method 'currentStateInfo' is
- * an "out" parameter, that is, write to it the needed information and
- * return. DO NOT 'new' currentStateInfo, it will be lost and nothing will
- * be returned!
- *
- * @param currentStateInfo
- * List of StateValues (index == quark) to fill up
- * @param t
- * Target timestamp of the query
- * @throws TimeRangeException
- * If the timestamp is outside of the history/trace
- * @throws StateSystemDisposedException
- * If the state system is disposed while a request is ongoing.
- */
- void doQuery(List<ITmfStateInterval> currentStateInfo, long t)
- throws TimeRangeException, StateSystemDisposedException;
-
- /**
- * Some providers might want to specify a different way to obtain just a
- * single StateValue instead of updating the whole list. If the method to
- * use is the same, then feel free to just implement this as a wrapper using
- * doQuery().
- *
- * @param t
- * The target timestamp of the query.
- * @param attributeQuark
- * The single attribute for which you want the state interval
- * @return The state interval matching this timestamp/attribute pair
- * @throws TimeRangeException
- * If the timestamp was invalid
- * @throws AttributeNotFoundException
- * If the quark was invalid
- * @throws StateSystemDisposedException
- * If the state system is disposed while a request is ongoing.
- */
- ITmfStateInterval doSingularQuery(long t, int attributeQuark)
- throws TimeRangeException, AttributeNotFoundException,
- StateSystemDisposedException;
-
- /**
- * Simple check to make sure the requested timestamps are within the borders
- * of this state history. This is used internally, but could also be used by
- * the request sender (to check before sending in a lot of requests for
- * example).
- *
- * @param t
- * The queried timestamp
- * @return True if the timestamp is within range, false if not.
- */
- boolean checkValidTime(long t);
-
- /**
- * Debug method to print the contents of the history backend.
- *
- * @param writer
- * The PrintWriter where to write the output
- */
- void debugPrint(PrintWriter writer);
-}
diff --git a/lttng/org.eclipse.linuxtools.statesystem.core/src/org/eclipse/linuxtools/statesystem/core/backend/InMemoryBackend.java b/lttng/org.eclipse.linuxtools.statesystem.core/src/org/eclipse/linuxtools/statesystem/core/backend/InMemoryBackend.java
deleted file mode 100644
index 04dde8800a..0000000000
--- a/lttng/org.eclipse.linuxtools.statesystem.core/src/org/eclipse/linuxtools/statesystem/core/backend/InMemoryBackend.java
+++ /dev/null
@@ -1,234 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013, 2014 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:
- * Alexandre Montplaisir - Initial API and implementation
- * Matthew Khouzam - Modified to use a TreeSet
- ******************************************************************************/
-
-package org.eclipse.linuxtools.statesystem.core.backend;
-
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.PrintWriter;
-import java.util.Comparator;
-import java.util.Iterator;
-import java.util.List;
-import java.util.SortedSet;
-import java.util.TreeSet;
-
-import org.eclipse.linuxtools.statesystem.core.exceptions.AttributeNotFoundException;
-import org.eclipse.linuxtools.statesystem.core.exceptions.TimeRangeException;
-import org.eclipse.linuxtools.statesystem.core.interval.ITmfStateInterval;
-import org.eclipse.linuxtools.statesystem.core.interval.TmfStateInterval;
-import org.eclipse.linuxtools.statesystem.core.statevalue.ITmfStateValue;
-
-/**
- * State history back-end that stores its intervals in RAM only. It cannot be
- * saved to disk, which means we need to rebuild it every time we re-open a
- * trace. But it's relatively quick to build, so this shouldn't be a problem in
- * most cases.
- *
- * This should only be used with very small state histories (and/or, very small
- * traces). Since it's stored in standard Collections, it's limited to 2^31
- * intervals.
- *
- * @author Alexandre Montplaisir
- * @since 3.0
- */
-public class InMemoryBackend implements IStateHistoryBackend {
-
- /**
- * We need to compare the end time and the attribute, because we can have 2
- * intervals with the same end time (for different attributes). And TreeSet
- * needs a unique "key" per element.
- */
- private static final Comparator<ITmfStateInterval> END_COMPARATOR =
- new Comparator<ITmfStateInterval>() {
- @Override
- public int compare(ITmfStateInterval o1, ITmfStateInterval o2) {
- final long e1 = o1.getEndTime();
- final long e2 = o2.getEndTime();
- final int a1 = o1.getAttribute();
- final int a2 = o2.getAttribute();
- if (e1 < e2) {
- return -1;
- } else if (e1 > e2) {
- return 1;
- } else if (a1 < a2) {
- return -1;
- } else if (a1 > a2) {
- return 1;
- } else {
- return 0;
- }
- }
-
- };
-
- private final TreeSet<ITmfStateInterval> intervals;
- private final long startTime;
- private volatile long latestTime;
-
- /**
- * Constructor
- *
- * @param startTime
- * The start time of this interval store
- */
- public InMemoryBackend(long startTime) {
- this.startTime = startTime;
- this.latestTime = startTime;
- this.intervals = new TreeSet<>(END_COMPARATOR);
- }
-
- @Override
- public long getStartTime() {
- return startTime;
- }
-
- @Override
- public long getEndTime() {
- return latestTime;
- }
-
- @Override
- public void insertPastState(long stateStartTime, long stateEndTime,
- int quark, ITmfStateValue value) throws TimeRangeException {
- /* Make sure the passed start/end times make sense */
- if (stateStartTime > stateEndTime || stateStartTime < startTime) {
- throw new TimeRangeException();
- }
-
- ITmfStateInterval interval = new TmfStateInterval(stateStartTime, stateEndTime, quark, value);
-
- /* Add the interval into the tree */
- synchronized (intervals) {
- intervals.add(interval);
- }
-
- /* Update the "latest seen time" */
- if (stateEndTime > latestTime) {
- latestTime = stateEndTime;
- }
- }
-
- @Override
- public void doQuery(List<ITmfStateInterval> currentStateInfo, long t)
- throws TimeRangeException {
- if (!checkValidTime(t)) {
- throw new TimeRangeException();
- }
-
- /*
- * The intervals are sorted by end time, so we can binary search to get
- * the first possible interval, then only compare their start times.
- */
- synchronized (intervals) {
- Iterator<ITmfStateInterval> iter = serachforEndTime(intervals, t);
- for (int modCount = 0; iter.hasNext() && modCount < currentStateInfo.size();) {
- ITmfStateInterval entry = iter.next();
- final long entryStartTime = entry.getStartTime();
- if (entryStartTime <= t) {
- /* Add this interval to the returned values */
- currentStateInfo.set(entry.getAttribute(), entry);
- modCount++;
- }
- }
- }
- }
-
- @Override
- public ITmfStateInterval doSingularQuery(long t, int attributeQuark)
- throws TimeRangeException, AttributeNotFoundException {
- if (!checkValidTime(t)) {
- throw new TimeRangeException();
- }
-
- /*
- * The intervals are sorted by end time, so we can binary search to get
- * the first possible interval, then only compare their start times.
- */
- synchronized (intervals) {
- Iterator<ITmfStateInterval> iter = serachforEndTime(intervals, t);
- while (iter.hasNext()) {
- ITmfStateInterval entry = iter.next();
- final boolean attributeMatches = (entry.getAttribute() == attributeQuark);
- final long entryStartTime = entry.getStartTime();
- if (attributeMatches) {
- if (entryStartTime <= t) {
- /* This is the droid we are looking for */
- return entry;
- }
- }
- }
- }
- throw new AttributeNotFoundException();
- }
-
- @Override
- public boolean checkValidTime(long t) {
- if (t >= startTime && t <= latestTime) {
- return true;
- }
- return false;
- }
-
- @Override
- public void finishedBuilding(long endTime) throws TimeRangeException {
- /* Nothing to do */
- }
-
- @Override
- public FileInputStream supplyAttributeTreeReader() {
- /* Saving to disk not supported */
- return null;
- }
-
- @Override
- public File supplyAttributeTreeWriterFile() {
- /* Saving to disk not supported */
- return null;
- }
-
- @Override
- public long supplyAttributeTreeWriterFilePosition() {
- /* Saving to disk not supported */
- return -1;
- }
-
- @Override
- public void removeFiles() {
- /* Nothing to do */
- }
-
- @Override
- public void dispose() {
- /* Nothing to do */
- }
-
- @Override
- public void debugPrint(PrintWriter writer) {
- synchronized (intervals) {
- writer.println(intervals.toString());
- }
- }
-
- private static Iterator<ITmfStateInterval> serachforEndTime(TreeSet<ITmfStateInterval> tree, long time) {
- ITmfStateInterval dummyInterval = new TmfStateInterval(-1, time, -1, null);
- ITmfStateInterval myInterval = tree.lower(dummyInterval);
- if (myInterval == null) {
- return tree.iterator();
- }
- final SortedSet<ITmfStateInterval> tailSet = tree.tailSet(myInterval);
- Iterator<ITmfStateInterval> retVal = tailSet.iterator();
- retVal.next();
- return retVal;
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.statesystem.core/src/org/eclipse/linuxtools/statesystem/core/backend/NullBackend.java b/lttng/org.eclipse.linuxtools.statesystem.core/src/org/eclipse/linuxtools/statesystem/core/backend/NullBackend.java
deleted file mode 100644
index 4afa7550d9..0000000000
--- a/lttng/org.eclipse.linuxtools.statesystem.core/src/org/eclipse/linuxtools/statesystem/core/backend/NullBackend.java
+++ /dev/null
@@ -1,123 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 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:
- * Alexandre Montplaisir - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.statesystem.core.backend;
-
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.PrintWriter;
-import java.util.List;
-
-import org.eclipse.linuxtools.statesystem.core.interval.ITmfStateInterval;
-import org.eclipse.linuxtools.statesystem.core.statevalue.ITmfStateValue;
-
-/**
- * An implement of a state history back-end to simply discards *all* the
- * intervals it receives. Obviously, no queries can be done on it. It is useful
- * for using with a StateSystem on which you will only want to do "ongoing"
- * requests.
- *
- * @author Alexandre Montplaisir
- * @since 3.0
- */
-public class NullBackend implements IStateHistoryBackend {
-
- /**
- * Constructor
- */
- public NullBackend() {}
-
- @Override
- public long getStartTime() {
- return 0;
- }
-
- @Override
- public long getEndTime() {
- return 0;
- }
-
- /**
- * The interval will be discarded when using a null backend.
- */
- @Override
- public void insertPastState(long stateStartTime, long stateEndTime,
- int quark, ITmfStateValue value) {
- /* The interval is always discarded. */
- }
-
- @Override
- public void finishedBuilding(long endTime) {
- /* Nothing to do */
- }
-
- @Override
- public FileInputStream supplyAttributeTreeReader() {
- return null;
- }
-
- @Override
- public File supplyAttributeTreeWriterFile() {
- return null;
- }
-
- @Override
- public long supplyAttributeTreeWriterFilePosition() {
- return -1;
- }
-
- @Override
- public void removeFiles() {
- /* Nothing to do */
- }
-
- @Override
- public void dispose() {
- /* Nothing to do */
- }
-
- /**
- * Null back-ends cannot run queries. Nothing will be put in
- * currentStateInfo.
- */
- @Override
- public void doQuery(List<ITmfStateInterval> currentStateInfo, long t) {
- /* Cannot do past queries */
- }
-
- /**
- * Null back-ends cannot run queries. 'null' will be returned.
- *
- * @return Always returns null.
- */
- @Override
- public ITmfStateInterval doSingularQuery(long t, int attributeQuark) {
- /* Cannot do past queries */
- return null;
- }
-
- /**
- * Null back-ends cannot run queries.
- *
- * @return Always returns false.
- */
- @Override
- public boolean checkValidTime(long t) {
- /* Cannot do past queries */
- return false;
- }
-
- @Override
- public void debugPrint(PrintWriter writer) {
- writer.println("Null history backend"); //$NON-NLS-1$
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.statesystem.core/src/org/eclipse/linuxtools/statesystem/core/backend/historytree/HistoryTreeBackend.java b/lttng/org.eclipse.linuxtools.statesystem.core/src/org/eclipse/linuxtools/statesystem/core/backend/historytree/HistoryTreeBackend.java
deleted file mode 100644
index ed16567fb8..0000000000
--- a/lttng/org.eclipse.linuxtools.statesystem.core/src/org/eclipse/linuxtools/statesystem/core/backend/historytree/HistoryTreeBackend.java
+++ /dev/null
@@ -1,316 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2012, 2014 Ericsson
- * Copyright (c) 2010, 2011 École Polytechnique de Montréal
- * Copyright (c) 2010, 2011 Alexandre Montplaisir <alexandre.montplaisir@gmail.com>
- *
- * 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
- *
- *******************************************************************************/
-
-package org.eclipse.linuxtools.statesystem.core.backend.historytree;
-
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.IOException;
-import java.io.PrintWriter;
-import java.nio.channels.ClosedChannelException;
-import java.util.List;
-
-import org.eclipse.linuxtools.internal.statesystem.core.backend.historytree.CoreNode;
-import org.eclipse.linuxtools.internal.statesystem.core.backend.historytree.HTConfig;
-import org.eclipse.linuxtools.internal.statesystem.core.backend.historytree.HTInterval;
-import org.eclipse.linuxtools.internal.statesystem.core.backend.historytree.HTNode;
-import org.eclipse.linuxtools.internal.statesystem.core.backend.historytree.HistoryTree;
-import org.eclipse.linuxtools.statesystem.core.backend.IStateHistoryBackend;
-import org.eclipse.linuxtools.statesystem.core.exceptions.StateSystemDisposedException;
-import org.eclipse.linuxtools.statesystem.core.exceptions.TimeRangeException;
-import org.eclipse.linuxtools.statesystem.core.interval.ITmfStateInterval;
-import org.eclipse.linuxtools.statesystem.core.statevalue.ITmfStateValue;
-import org.eclipse.linuxtools.statesystem.core.statevalue.TmfStateValue;
-
-/**
- * History Tree backend for storing a state history. This is the basic version
- * that runs in the same thread as the class creating it.
- *
- * @author Alexandre Montplaisir
- * @since 3.0
- */
-public class HistoryTreeBackend implements IStateHistoryBackend {
-
- /**
- * The history tree that sits underneath.
- *
- * Using default visibility to only allow {@link ThreadedHistoryTreeBackend}
- * to see it.
- */
- final HistoryTree sht;
-
- /** Indicates if the history tree construction is done */
- protected boolean isFinishedBuilding = false;
-
- /**
- * Constructor for new history files. Use this when creating a new history
- * from scratch.
- *
- * @param newStateFile
- * The filename/location where to store the state history (Should
- * end in .ht)
- * @param blockSize
- * The size of the blocks in the history file. This should be a
- * multiple of 4096.
- * @param maxChildren
- * The maximum number of children each core node can have
- * @param providerVersion
- * Version of of the state provider. We will only try to reopen
- * existing files if this version matches the one in the
- * framework.
- * @param startTime
- * The earliest time stamp that will be stored in the history
- * @throws IOException
- * Thrown if we can't create the file for some reason
- */
- public HistoryTreeBackend(File newStateFile, int blockSize,
- int maxChildren, int providerVersion, long startTime) throws IOException {
- final HTConfig conf = new HTConfig(newStateFile, blockSize, maxChildren,
- providerVersion, startTime);
- sht = new HistoryTree(conf);
- }
-
- /**
- * Constructor for new history files. Use this when creating a new history
- * from scratch. This version supplies sane defaults for the configuration
- * parameters.
- *
- * @param newStateFile
- * The filename/location where to store the state history (Should
- * end in .ht)
- * @param providerVersion
- * Version of of the state provider. We will only try to reopen
- * existing files if this version matches the one in the
- * framework.
- * @param startTime
- * The earliest time stamp that will be stored in the history
- * @throws IOException
- * Thrown if we can't create the file for some reason
- */
- public HistoryTreeBackend(File newStateFile, int providerVersion, long startTime)
- throws IOException {
- this(newStateFile, 64 * 1024, 50, providerVersion, startTime);
- }
-
- /**
- * Existing history constructor. Use this to open an existing state-file.
- *
- * @param existingStateFile
- * Filename/location of the history we want to load
- * @param providerVersion
- * Expected version of of the state provider plugin.
- * @throws IOException
- * If we can't read the file, if it doesn't exist, is not
- * recognized, or if the version of the file does not match the
- * expected providerVersion.
- */
- public HistoryTreeBackend(File existingStateFile, int providerVersion)
- throws IOException {
- sht = new HistoryTree(existingStateFile, providerVersion);
- isFinishedBuilding = true;
- }
-
- @Override
- public long getStartTime() {
- return sht.getTreeStart();
- }
-
- @Override
- public long getEndTime() {
- return sht.getTreeEnd();
- }
-
- @Override
- public void insertPastState(long stateStartTime, long stateEndTime,
- int quark, ITmfStateValue value) throws TimeRangeException {
- HTInterval interval = new HTInterval(stateStartTime, stateEndTime,
- quark, (TmfStateValue) value);
-
- /* Start insertions at the "latest leaf" */
- sht.insertInterval(interval);
- }
-
- @Override
- public void finishedBuilding(long endTime) {
- sht.closeTree(endTime);
- isFinishedBuilding = true;
- }
-
- @Override
- public FileInputStream supplyAttributeTreeReader() {
- return sht.supplyATReader();
- }
-
- @Override
- public File supplyAttributeTreeWriterFile() {
- return sht.supplyATWriterFile();
- }
-
- @Override
- public long supplyAttributeTreeWriterFilePosition() {
- return sht.supplyATWriterFilePos();
- }
-
- @Override
- public void removeFiles() {
- sht.deleteFile();
- }
-
- @Override
- public void dispose() {
- if (isFinishedBuilding) {
- sht.closeFile();
- } else {
- /*
- * The build is being interrupted, delete the file we partially
- * built since it won't be complete, so shouldn't be re-used in the
- * future (.deleteFile() will close the file first)
- */
- sht.deleteFile();
- }
- }
-
- @Override
- public void doQuery(List<ITmfStateInterval> stateInfo, long t)
- throws TimeRangeException, StateSystemDisposedException {
- if (!checkValidTime(t)) {
- /* We can't possibly have information about this query */
- throw new TimeRangeException();
- }
-
- /* We start by reading the information in the root node */
- HTNode currentNode = sht.getRootNode();
- currentNode.writeInfoFromNode(stateInfo, t);
-
- /* Then we follow the branch down in the relevant children */
- try {
- while (currentNode.getNodeType() == HTNode.NodeType.CORE) {
- currentNode = sht.selectNextChild((CoreNode) currentNode, t);
- currentNode.writeInfoFromNode(stateInfo, t);
- }
- } catch (ClosedChannelException e) {
- throw new StateSystemDisposedException(e);
- }
-
- /*
- * The stateInfo should now be filled with everything needed, we pass
- * the control back to the State System.
- */
- return;
- }
-
- @Override
- public ITmfStateInterval doSingularQuery(long t, int attributeQuark)
- throws TimeRangeException, StateSystemDisposedException {
- return getRelevantInterval(t, attributeQuark);
- }
-
- @Override
- public boolean checkValidTime(long t) {
- return (t >= sht.getTreeStart() && t <= sht.getTreeEnd());
- }
-
- /**
- * Inner method to find the interval in the tree containing the requested
- * key/timestamp pair, wherever in which node it is.
- *
- * @param t
- * @param key
- * @return The node containing the information we want
- */
- private HTInterval getRelevantInterval(long t, int key)
- throws TimeRangeException, StateSystemDisposedException {
- if (!checkValidTime(t)) {
- throw new TimeRangeException();
- }
-
- HTNode currentNode = sht.getRootNode();
- HTInterval interval = currentNode.getRelevantInterval(key, t);
-
- try {
- while (interval == null && currentNode.getNodeType() == HTNode.NodeType.CORE) {
- currentNode = sht.selectNextChild((CoreNode)currentNode, t);
- interval = currentNode.getRelevantInterval(key, t);
- }
- } catch (ClosedChannelException e) {
- throw new StateSystemDisposedException(e);
- }
- /*
- * Since we should now have intervals at every attribute/timestamp
- * combination, it should NOT be null here.
- */
- assert (interval != null);
- return interval;
- }
-
- /**
- * Return the size of the tree history file
- *
- * @return The current size of the history file in bytes
- */
- public long getFileSize() {
- return sht.getFileSize();
- }
-
- /**
- * Return the average node usage as a percentage (between 0 and 100)
- *
- * @return Average node usage %
- */
- public int getAverageNodeUsage() {
- HTNode node;
- long total = 0;
- long ret;
-
- try {
- for (int seq = 0; seq < sht.getNodeCount(); seq++) {
- node = sht.readNode(seq);
- total += node.getNodeUsagePercent();
- }
- } catch (ClosedChannelException e) {
- e.printStackTrace();
- }
-
- ret = total / sht.getNodeCount();
- assert (ret >= 0 && ret <= 100);
- return (int) ret;
- }
-
- @Override
- public void debugPrint(PrintWriter writer) {
- /* By default don't print out all the intervals */
- this.debugPrint(writer, false);
- }
-
- /**
- * The basic debugPrint method will print the tree structure, but not their
- * contents.
- *
- * This method here print the contents (the intervals) as well.
- *
- * @param writer
- * The PrintWriter to which the debug info will be written
- * @param printIntervals
- * Should we also print every contained interval individually?
- */
- public void debugPrint(PrintWriter writer, boolean printIntervals) {
- /* Only used for debugging, shouldn't be externalized */
- writer.println("------------------------------"); //$NON-NLS-1$
- writer.println("State History Tree:\n"); //$NON-NLS-1$
- writer.println(sht.toString());
- writer.println("Average node utilization: " //$NON-NLS-1$
- + this.getAverageNodeUsage());
- writer.println(""); //$NON-NLS-1$
-
- sht.debugPrintFullTree(writer, printIntervals);
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.statesystem.core/src/org/eclipse/linuxtools/statesystem/core/backend/historytree/ThreadedHistoryTreeBackend.java b/lttng/org.eclipse.linuxtools.statesystem.core/src/org/eclipse/linuxtools/statesystem/core/backend/historytree/ThreadedHistoryTreeBackend.java
deleted file mode 100644
index b3d450dc71..0000000000
--- a/lttng/org.eclipse.linuxtools.statesystem.core/src/org/eclipse/linuxtools/statesystem/core/backend/historytree/ThreadedHistoryTreeBackend.java
+++ /dev/null
@@ -1,203 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2012, 2013 Ericsson
- * Copyright (c) 2010, 2011 École Polytechnique de Montréal
- * Copyright (c) 2010, 2011 Alexandre Montplaisir <alexandre.montplaisir@gmail.com>
- *
- * 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
- *
- *******************************************************************************/
-
-package org.eclipse.linuxtools.statesystem.core.backend.historytree;
-
-import java.io.File;
-import java.io.IOException;
-import java.util.concurrent.ArrayBlockingQueue;
-import java.util.concurrent.BlockingQueue;
-
-import org.eclipse.linuxtools.internal.statesystem.core.Activator;
-import org.eclipse.linuxtools.internal.statesystem.core.backend.historytree.HTInterval;
-import org.eclipse.linuxtools.statesystem.core.exceptions.TimeRangeException;
-import org.eclipse.linuxtools.statesystem.core.statevalue.ITmfStateValue;
-import org.eclipse.linuxtools.statesystem.core.statevalue.TmfStateValue;
-
-/**
- * Variant of the HistoryTreeBackend which runs all the interval-insertion logic
- * in a separate thread.
- *
- * @author Alexandre Montplaisir
- * @since 3.0
- */
-public final class ThreadedHistoryTreeBackend extends HistoryTreeBackend
- implements Runnable {
-
- private BlockingQueue<HTInterval> intervalQueue;
- private final Thread shtThread;
-
- /**
- * New state history constructor
- *
- * Note that it usually doesn't make sense to use a Threaded HT if you're
- * opening an existing state-file, but you know what you're doing...
- *
- * @param newStateFile
- * The name of the history file that will be created. Should end
- * in ".ht"
- * @param blockSize
- * The size of the blocks in the file
- * @param maxChildren
- * The maximum number of children allowed for each core node
- * @param startTime
- * The earliest timestamp stored in the history
- * @param providerVersion
- * Version of of the state provider. We will only try to reopen
- * existing files if this version matches the one in the
- * framework.
- * @param queueSize
- * The size of the interval insertion queue. 2000 - 10000 usually
- * works well
- * @throws IOException
- * If there was a problem opening the history file for writing
- */
- public ThreadedHistoryTreeBackend(File newStateFile, int blockSize,
- int maxChildren, long startTime, int providerVersion, int queueSize)
- throws IOException {
- super(newStateFile, blockSize, maxChildren, providerVersion, startTime);
-
- intervalQueue = new ArrayBlockingQueue<>(queueSize);
- shtThread = new Thread(this, "History Tree Thread"); //$NON-NLS-1$
- shtThread.start();
- }
-
- /**
- * New State History constructor. This version provides default values for
- * blockSize and maxChildren.
- *
- * @param newStateFile
- * The name of the history file that will be created. Should end
- * in ".ht"
- * @param startTime
- * The earliest timestamp stored in the history
- * @param providerVersion
- * Version of of the state provider. We will only try to reopen
- * existing files if this version matches the one in the
- * framework.
- * @param queueSize
- * The size of the interval insertion queue. 2000 - 10000 usually
- * works well
- * @throws IOException
- * If there was a problem opening the history file for writing
- */
- public ThreadedHistoryTreeBackend(File newStateFile, long startTime,
- int providerVersion, int queueSize) throws IOException {
- super(newStateFile, providerVersion, startTime);
-
- intervalQueue = new ArrayBlockingQueue<>(queueSize);
- shtThread = new Thread(this, "History Tree Thread"); //$NON-NLS-1$
- shtThread.start();
- }
-
- /*
- * The Threaded version does not specify an "existing file" constructor,
- * since the history is already built (and we only use the other thread
- * during building). Just use a plain HistoryTreeProvider in this case.
- *
- * TODO but what about streaming??
- */
-
- @Override
- public void insertPastState(long stateStartTime, long stateEndTime,
- int quark, ITmfStateValue value) throws TimeRangeException {
- /*
- * Here, instead of directly inserting the elements in the History Tree
- * underneath, we'll put them in the Queue. They will then be taken and
- * processed by the other thread executing the run() method.
- */
- HTInterval interval = new HTInterval(stateStartTime, stateEndTime,
- quark, (TmfStateValue) value);
- try {
- intervalQueue.put(interval);
- } catch (InterruptedException e) {
- Activator.getDefault().logError("State system interrupted", e); //$NON-NLS-1$
- }
- }
-
- @Override
- public void finishedBuilding(long endTime) {
- /*
- * We need to commit everything in the History Tree and stop the
- * standalone thread before returning to the StateHistorySystem. (SHS
- * will then write the Attribute Tree to the file, that must not happen
- * at the same time we are writing the last nodes!)
- */
-
- stopRunningThread(endTime);
- isFinishedBuilding = true;
- return;
- }
-
- @Override
- public void dispose() {
- if (!isFinishedBuilding) {
- stopRunningThread(Long.MAX_VALUE);
- }
- /*
- * isFinishedBuilding remains false, so the superclass will ask the
- * back-end to delete the file.
- */
- super.dispose();
- }
-
- private void stopRunningThread(long endTime) {
- if (!shtThread.isAlive()) {
- return;
- }
-
- /*
- * Send a "poison pill" in the queue, then wait for the HT to finish
- * its closeTree()
- */
- try {
- HTInterval pill = new HTInterval(-1, endTime, -1, TmfStateValue.nullValue());
- intervalQueue.put(pill);
- shtThread.join();
- } catch (TimeRangeException e) {
- Activator.getDefault().logError("Error closing state system", e); //$NON-NLS-1$
- } catch (InterruptedException e) {
- Activator.getDefault().logError("State system interrupted", e); //$NON-NLS-1$
- }
- }
-
- @Override
- public void run() {
- if (intervalQueue == null) {
- Activator.getDefault().logError("Cannot start the storage backend without its interval queue."); //$NON-NLS-1$
- return;
- }
- HTInterval currentInterval;
- try {
- currentInterval = intervalQueue.take();
- while (currentInterval.getStartTime() != -1) {
- /* Send the interval to the History Tree */
- sht.insertInterval(currentInterval);
- currentInterval = intervalQueue.take();
- }
- assert (currentInterval.getAttribute() == -1);
- /*
- * We've been told we're done, let's write down everything and quit.
- * The end time of this "signal interval" is actually correct.
- */
- sht.closeTree(currentInterval.getEndTime());
- return;
- } catch (InterruptedException e) {
- /* We've been interrupted abnormally */
- Activator.getDefault().logError("State History Tree interrupted!", e); //$NON-NLS-1$
- } catch (TimeRangeException e) {
- /* This also should not happen */
- Activator.getDefault().logError("Error starting the state system", e); //$NON-NLS-1$
- }
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.statesystem.core/src/org/eclipse/linuxtools/statesystem/core/exceptions/AttributeNotFoundException.java b/lttng/org.eclipse.linuxtools.statesystem.core/src/org/eclipse/linuxtools/statesystem/core/exceptions/AttributeNotFoundException.java
deleted file mode 100644
index fd043848f1..0000000000
--- a/lttng/org.eclipse.linuxtools.statesystem.core/src/org/eclipse/linuxtools/statesystem/core/exceptions/AttributeNotFoundException.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2012 Ericsson
- * Copyright (c) 2010, 2011 École Polytechnique de Montréal
- * Copyright (c) 2010, 2011 Alexandre Montplaisir <alexandre.montplaisir@gmail.com>
- *
- * 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
- *
- *******************************************************************************/
-
-package org.eclipse.linuxtools.statesystem.core.exceptions;
-
-/**
- * This exception gets thrown when the user tries to access an attribute which
- * doesn't exist in the system, of if the quark is simply invalid (ie, < 0).
- *
- * @author Alexandre Montplaisir
- * @since 3.0
- */
-public class AttributeNotFoundException extends Exception {
-
- private static final long serialVersionUID = 7964275803369706145L;
-
- /**
- * Default constructor
- */
- public AttributeNotFoundException() {
- super();
- }
-
- /**
- * Constructor with a message
- *
- * @param message
- * Message to attach to this exception
- */
- public AttributeNotFoundException(String message) {
- super(message);
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.statesystem.core/src/org/eclipse/linuxtools/statesystem/core/exceptions/StateSystemDisposedException.java b/lttng/org.eclipse.linuxtools.statesystem.core/src/org/eclipse/linuxtools/statesystem/core/exceptions/StateSystemDisposedException.java
deleted file mode 100644
index d3f86c8b95..0000000000
--- a/lttng/org.eclipse.linuxtools.statesystem.core/src/org/eclipse/linuxtools/statesystem/core/exceptions/StateSystemDisposedException.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2012, 2013 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:
- * Alexandre Montplaisir - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.statesystem.core.exceptions;
-
-/**
- * Exception thrown by the state system if a query is done on it after it has
- * been disposed.
- *
- * @author Alexandre Montplaisir
- * @since 3.0
- */
-public class StateSystemDisposedException extends Exception {
-
- private static final long serialVersionUID = 7896041701818620084L;
-
- /**
- * Create a new simple StateSystemDisposedException.
- */
- public StateSystemDisposedException() {
- super();
- }
-
- /**
- * Create a new StateSystemDisposedException based on a previous one.
- *
- * @param e
- * The previous exception
- */
- public StateSystemDisposedException(Throwable e) {
- super(e);
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.statesystem.core/src/org/eclipse/linuxtools/statesystem/core/exceptions/StateValueTypeException.java b/lttng/org.eclipse.linuxtools.statesystem.core/src/org/eclipse/linuxtools/statesystem/core/exceptions/StateValueTypeException.java
deleted file mode 100644
index 9679e3ad46..0000000000
--- a/lttng/org.eclipse.linuxtools.statesystem.core/src/org/eclipse/linuxtools/statesystem/core/exceptions/StateValueTypeException.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2012, 2014 Ericsson
- * Copyright (c) 2010, 2011 École Polytechnique de Montréal
- * Copyright (c) 2010, 2011 Alexandre Montplaisir <alexandre.montplaisir@gmail.com>
- *
- * 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
- *
- *******************************************************************************/
-
-package org.eclipse.linuxtools.statesystem.core.exceptions;
-
-/**
- * The StateValue is a wrapper around the different type of values that can be
- * used and stored in the state system and history. "Unboxing" the value means
- * retrieving the base type (int, String, etc.) inside it.
- *
- * This exception is thrown if the user tries to unbox a StateValue with an
- * incorrect type (for example, tries to read a String value as an Int).
- *
- * To avoid it, always check for the state value's type before attempting to
- * unbox it, via
- * {@link org.eclipse.linuxtools.statesystem.core.statevalue.ITmfStateValue#getType()}.
- *
- * @author Alexandre Montplaisir
- * @since 3.0
- */
-public class StateValueTypeException extends RuntimeException {
-
- private static final long serialVersionUID = -4548793451746144513L;
-
- /**
- * Default constructor
- */
- public StateValueTypeException() {
- super();
- }
-
- /**
- * Constructor with a message
- *
- * @param message
- * Message to attach to this exception
- */
- public StateValueTypeException(String message) {
- super(message);
- }
-
- /**
- * Constructor with both a message and a cause.
- *
- * @param message
- * Message to attach to this exception
- * @param e
- * Cause of this exception
- * @since 3.0
- */
- public StateValueTypeException(String message, Throwable e) {
- super(message, e);
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.statesystem.core/src/org/eclipse/linuxtools/statesystem/core/exceptions/TimeRangeException.java b/lttng/org.eclipse.linuxtools.statesystem.core/src/org/eclipse/linuxtools/statesystem/core/exceptions/TimeRangeException.java
deleted file mode 100644
index 3884b0188c..0000000000
--- a/lttng/org.eclipse.linuxtools.statesystem.core/src/org/eclipse/linuxtools/statesystem/core/exceptions/TimeRangeException.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2012, 2014 Ericsson
- * Copyright (c) 2010, 2011 École Polytechnique de Montréal
- * Copyright (c) 2010, 2011 Alexandre Montplaisir <alexandre.montplaisir@gmail.com>
- *
- * 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
- *
- *******************************************************************************/
-
-package org.eclipse.linuxtools.statesystem.core.exceptions;
-
-/**
- * Generic exception for when the user specifies an invalid time stamp. Usually
- * timestamps must be within the range of the trace or state history being
- * queried.
- *
- * For insertions, it's forbidden to insert new states "in the past" (before where
- * the cursor is), so this exception is also thrown in that case.
- *
- * @author Alexandre Montplaisir
- * @since 3.0
- */
-public class TimeRangeException extends RuntimeException {
-
- private static final long serialVersionUID = -4067685227260254532L;
-
-}
diff --git a/lttng/org.eclipse.linuxtools.statesystem.core/src/org/eclipse/linuxtools/statesystem/core/interval/ITmfStateInterval.java b/lttng/org.eclipse.linuxtools.statesystem.core/src/org/eclipse/linuxtools/statesystem/core/interval/ITmfStateInterval.java
deleted file mode 100644
index 2f0bca23f7..0000000000
--- a/lttng/org.eclipse.linuxtools.statesystem.core/src/org/eclipse/linuxtools/statesystem/core/interval/ITmfStateInterval.java
+++ /dev/null
@@ -1,76 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2012, 2013 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:
- * Alexandre Montplaisir - Initial API
- ******************************************************************************/
-
-package org.eclipse.linuxtools.statesystem.core.interval;
-
-import org.eclipse.linuxtools.statesystem.core.statevalue.ITmfStateValue;
-
-/**
- * This is the basic interface for accessing state intervals. See
- * StateInterval.java for a basic implementation.
- *
- * A StateInterval is meant to be immutable. All implementing (non-abstract)
- * classes should ideally be marked as 'final'.
- *
- * @author Alexandre Montplaisir
- * @since 3.0
- */
-public interface ITmfStateInterval {
-
- /**
- * Retrieve the start time of the interval
- *
- * @return the start time of the interval
- */
- long getStartTime();
-
- /**
- * Retrieve the end time of the interval
- *
- * @return the end time of the interval
- */
- long getEndTime();
-
- /**
- * In case the "real" end time of the interval is not exactly the same as
- * the end time you want to show in views, you can implement this method to
- * assign a different value that the viewer can use.
- *
- * If not, you can simply have it return the same as getEndTime().
- *
- * @return The end time that views should use
- */
- long getViewerEndTime();
-
- /**
- * Retrieve the quark of the attribute this state interval refers to
- *
- * @return the quark of the attribute this state interval refers to
- */
- int getAttribute();
-
- /**
- * Retrieve the state value represented by this interval
- *
- * @return the state value represented by this interval
- */
- ITmfStateValue getStateValue();
-
- /**
- * Test if this interval intersects another timestamp, inclusively.
- *
- * @param timestamp
- * The target timestamp
- * @return True if the interval and timestamp intersect, false if they don't
- */
- boolean intersects(long timestamp);
-}
diff --git a/lttng/org.eclipse.linuxtools.statesystem.core/src/org/eclipse/linuxtools/statesystem/core/interval/TmfIntervalEndComparator.java b/lttng/org.eclipse.linuxtools.statesystem.core/src/org/eclipse/linuxtools/statesystem/core/interval/TmfIntervalEndComparator.java
deleted file mode 100644
index af8055b694..0000000000
--- a/lttng/org.eclipse.linuxtools.statesystem.core/src/org/eclipse/linuxtools/statesystem/core/interval/TmfIntervalEndComparator.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 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:
- * Alexandre Montplaisir - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.statesystem.core.interval;
-
-import java.util.Comparator;
-
-/**
- * Comparator for ITmfStateInterval, using their *end times*. Making intervals
- * Comparable wouldn't be clear if it's using their start or end times (or maybe
- * even values), so separate comparators are provided.
- *
- * @author Alexandre Montplaisir
- * @since 3.0
- */
-public class TmfIntervalEndComparator implements Comparator<ITmfStateInterval> {
-
- @Override
- public int compare(ITmfStateInterval o1, ITmfStateInterval o2) {
- long e1 = o1.getEndTime();
- long e2 = o2.getEndTime();
-
- if (e1 < e2) {
- return -1;
- } else if (e1 > e2) {
- return 1;
- } else {
- return 0;
- }
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.statesystem.core/src/org/eclipse/linuxtools/statesystem/core/interval/TmfStateInterval.java b/lttng/org.eclipse.linuxtools.statesystem.core/src/org/eclipse/linuxtools/statesystem/core/interval/TmfStateInterval.java
deleted file mode 100644
index cd65857bf1..0000000000
--- a/lttng/org.eclipse.linuxtools.statesystem.core/src/org/eclipse/linuxtools/statesystem/core/interval/TmfStateInterval.java
+++ /dev/null
@@ -1,97 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2012, 2013 Ericsson
- * Copyright (c) 2010, 2011 École Polytechnique de Montréal
- * Copyright (c) 2010, 2011 Alexandre Montplaisir <alexandre.montplaisir@gmail.com>
- *
- * 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
- *
- *******************************************************************************/
-
-package org.eclipse.linuxtools.statesystem.core.interval;
-
-import org.eclipse.linuxtools.statesystem.core.statevalue.ITmfStateValue;
-
-/**
- * The StateInterval represents the "state" a particular attribute was in, at a
- * given time. It is the main object being returned from queries to the state
- * system.
- *
- * @author Alexandre Montplaisir
- * @since 3.0
- */
-public final class TmfStateInterval implements ITmfStateInterval {
-
- private final long start;
- private final long end;
- private final int attribute;
- private final ITmfStateValue sv;
-
- /**
- * Construct an interval from its given parameters
- *
- * @param start
- * Start time
- * @param end
- * End time
- * @param attribute
- * Attribute linked to this interval
- * @param sv
- * State value this interval will contain
- */
- public TmfStateInterval(long start, long end, int attribute,
- ITmfStateValue sv) {
- this.start = start;
- this.end = end;
- this.attribute = attribute;
- this.sv = sv;
- }
-
- @Override
- public long getStartTime() {
- return start;
- }
-
- @Override
- public long getEndTime() {
- return end;
- }
-
- @Override
- public long getViewerEndTime() {
- return end + 1;
- }
-
- @Override
- public int getAttribute() {
- return attribute;
- }
-
- @Override
- public ITmfStateValue getStateValue() {
- return sv;
- }
-
- @Override
- public boolean intersects(long timestamp) {
- if (start <= timestamp) {
- if (end >= timestamp) {
- return true;
- }
- }
- return false;
- }
-
- @Override
- public String toString() {
- /* Only used for debugging */
- StringBuffer buf = new StringBuffer(start + " to "); //$NON-NLS-1$
- buf.append(end + ", "); //$NON-NLS-1$
- buf.append(String.format("key = %4d, ", attribute)); //$NON-NLS-1$
- buf.append("value = " + sv.toString()); //$NON-NLS-1$
- return buf.toString();
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.statesystem.core/src/org/eclipse/linuxtools/statesystem/core/statevalue/DoubleStateValue.java b/lttng/org.eclipse.linuxtools.statesystem.core/src/org/eclipse/linuxtools/statesystem/core/statevalue/DoubleStateValue.java
deleted file mode 100644
index 3028cb4eed..0000000000
--- a/lttng/org.eclipse.linuxtools.statesystem.core/src/org/eclipse/linuxtools/statesystem/core/statevalue/DoubleStateValue.java
+++ /dev/null
@@ -1,68 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 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:
- * Alexandre Montplaisir - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.statesystem.core.statevalue;
-
-import org.eclipse.jdt.annotation.Nullable;
-
-/**
- * A state value containing a double primitive.
- *
- * @author Alexandre Montplaisir
- */
-final class DoubleStateValue extends TmfStateValue {
-
- private final double value;
-
- public DoubleStateValue(double value) {
- this.value = value;
- }
-
- @Override
- public Type getType() {
- return Type.DOUBLE;
- }
-
- @Override
- public boolean isNull() {
- return false;
- }
-
- @Override
- public boolean equals(@Nullable Object object) {
- if (!(object instanceof DoubleStateValue)) {
- return false;
- }
- DoubleStateValue other = (DoubleStateValue) object;
- return (Double.compare(this.value, other.value) == 0);
- }
-
- @Override
- public int hashCode() {
- long bits = Double.doubleToLongBits(value);
- return ((int) bits) ^ ((int) (bits >>> 32));
- }
-
- @Override
- public @Nullable String toString() {
- return String.format("%3f", value); //$NON-NLS-1$
- }
-
- // ------------------------------------------------------------------------
- // Unboxing methods
- // ------------------------------------------------------------------------
-
- @Override
- public double unboxDouble() {
- return value;
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.statesystem.core/src/org/eclipse/linuxtools/statesystem/core/statevalue/ITmfStateValue.java b/lttng/org.eclipse.linuxtools.statesystem.core/src/org/eclipse/linuxtools/statesystem/core/statevalue/ITmfStateValue.java
deleted file mode 100644
index d9e6a6a1c9..0000000000
--- a/lttng/org.eclipse.linuxtools.statesystem.core/src/org/eclipse/linuxtools/statesystem/core/statevalue/ITmfStateValue.java
+++ /dev/null
@@ -1,98 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2012, 2014 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:
- * Alexandre Montplaisir - Initial API
- ******************************************************************************/
-
-package org.eclipse.linuxtools.statesystem.core.statevalue;
-
-import org.eclipse.linuxtools.statesystem.core.exceptions.StateValueTypeException;
-
-/**
- * This is the interface for using state values and reading their contents.
- *
- * @author Alexandre Montplaisir
- * @since 3.0
- */
-public interface ITmfStateValue {
-
- /**
- * The supported types of state values
- * @since 2.0
- */
- public enum Type {
- /** Null value, for an interval not carrying any information */
- NULL,
- /** 32-bit integer value */
- INTEGER,
- /** 64-bit integer value */
- LONG,
- /** IEEE 754 double precision number
- * @since 3.0*/
- DOUBLE,
- /** Variable-length string value */
- STRING,
- }
-
- /**
- * Each implementation has to define which one (among the supported types)
- * they implement. There could be more than one implementation of each type,
- * depending on the needs of the different users.
- *
- * @return The ITmfStateValue.Type enum representing the type of this value
- * @since 2.0
- */
- Type getType();
-
- /**
- * Only "null values" should return true here
- *
- * @return True if this type of SV is considered "null", false if it
- * contains a real value.
- */
- boolean isNull();
-
- /**
- * Read the contained value as an 'int' primitive
- *
- * @return The integer contained in the state value
- * @throws StateValueTypeException
- * If the contained value cannot be read as an integer
- */
- int unboxInt();
-
- /**
- * Read the contained value as a 'long' primitive
- *
- * @return The long contained in the state value
- * @throws StateValueTypeException
- * If the contained value cannot be read as a long
- * @since 2.0
- */
- long unboxLong();
-
- /**
- * Read the contained value as a 'double' primitive
- *
- * @return The double contained in the state value
- * @throws StateValueTypeException
- * If the contained value cannot be read as a double
- * @since 3.0
- */
- double unboxDouble();
-
- /**
- * Read the contained value as a String
- *
- * @return The String contained in the state value
- * @throws StateValueTypeException
- * If the contained value cannot be read as a String
- */
- String unboxStr();
-}
diff --git a/lttng/org.eclipse.linuxtools.statesystem.core/src/org/eclipse/linuxtools/statesystem/core/statevalue/IntegerStateValue.java b/lttng/org.eclipse.linuxtools.statesystem.core/src/org/eclipse/linuxtools/statesystem/core/statevalue/IntegerStateValue.java
deleted file mode 100644
index 1629124288..0000000000
--- a/lttng/org.eclipse.linuxtools.statesystem.core/src/org/eclipse/linuxtools/statesystem/core/statevalue/IntegerStateValue.java
+++ /dev/null
@@ -1,74 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2012, 2013 Ericsson
- * Copyright (c) 2010, 2011 École Polytechnique de Montréal
- * Copyright (c) 2010, 2011 Alexandre Montplaisir <alexandre.montplaisir@gmail.com>
- *
- * 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
- *
- *******************************************************************************/
-
-package org.eclipse.linuxtools.statesystem.core.statevalue;
-
-import org.eclipse.jdt.annotation.Nullable;
-
-/**
- * A state value containing a simple integer.
- *
- * @version 1.0
- * @author Alexandre Montplaisir
- */
-final class IntegerStateValue extends TmfStateValue {
-
- private final int value;
-
- public IntegerStateValue(int valueAsInt) {
- this.value = valueAsInt;
- }
-
- @Override
- public Type getType() {
- return Type.INTEGER;
- }
-
- @Override
- public boolean isNull() {
- return false;
- }
-
- @Override
- public boolean equals(@Nullable Object object) {
- if (!(object instanceof IntegerStateValue)) {
- return false;
- }
- IntegerStateValue other = (IntegerStateValue) object;
- return (this.value == other.value);
- }
-
- @Override
- public int hashCode() {
- return value;
- }
-
- @Override
- public @Nullable String toString() {
- return String.format("%3d", value); //$NON-NLS-1$
- }
-
- // ------------------------------------------------------------------------
- // Unboxing methods
- // ------------------------------------------------------------------------
-
- @Override
- public int unboxInt() {
- return value;
- }
-
- @Override
- public long unboxLong() {
- /* It's always safe to up-cast an int into a long */
- return value;
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.statesystem.core/src/org/eclipse/linuxtools/statesystem/core/statevalue/LongStateValue.java b/lttng/org.eclipse.linuxtools.statesystem.core/src/org/eclipse/linuxtools/statesystem/core/statevalue/LongStateValue.java
deleted file mode 100644
index 8273850424..0000000000
--- a/lttng/org.eclipse.linuxtools.statesystem.core/src/org/eclipse/linuxtools/statesystem/core/statevalue/LongStateValue.java
+++ /dev/null
@@ -1,67 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 École Polytechnique de Montréal
- *
- * 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:
- * François Rajotte - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.statesystem.core.statevalue;
-
-import org.eclipse.jdt.annotation.Nullable;
-
-/**
- * A state value containing a long integer (8 bytes).
- *
- * @version 1.0
- * @author François Rajotte
- */
-final class LongStateValue extends TmfStateValue {
-
- private final long value;
-
- public LongStateValue(long valueAsLong) {
- this.value = valueAsLong;
- }
-
- @Override
- public Type getType() {
- return Type.LONG;
- }
-
- @Override
- public boolean isNull() {
- return false;
- }
- @Override
- public boolean equals(@Nullable Object object) {
- if (!(object instanceof LongStateValue)) {
- return false;
- }
- LongStateValue other = (LongStateValue) object;
- return (this.value == other.value);
- }
-
- @Override
- public int hashCode() {
- return ((int) value) ^ ((int) (value >>> 32));
- }
-
- @Override
- public @Nullable String toString() {
- return String.format("%3d", value); //$NON-NLS-1$
- }
-
- // ------------------------------------------------------------------------
- // Unboxing methods
- // ------------------------------------------------------------------------
-
- @Override
- public long unboxLong() {
- return value;
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.statesystem.core/src/org/eclipse/linuxtools/statesystem/core/statevalue/NullStateValue.java b/lttng/org.eclipse.linuxtools.statesystem.core/src/org/eclipse/linuxtools/statesystem/core/statevalue/NullStateValue.java
deleted file mode 100644
index b40883121c..0000000000
--- a/lttng/org.eclipse.linuxtools.statesystem.core/src/org/eclipse/linuxtools/statesystem/core/statevalue/NullStateValue.java
+++ /dev/null
@@ -1,78 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2012, 2013 Ericsson
- * Copyright (c) 2010, 2011 École Polytechnique de Montréal
- * Copyright (c) 2010, 2011 Alexandre Montplaisir <alexandre.montplaisir@gmail.com>
- *
- * 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
- *
- *******************************************************************************/
-
-package org.eclipse.linuxtools.statesystem.core.statevalue;
-
-import org.eclipse.jdt.annotation.Nullable;
-
-/**
- * A state value that contains no particular value. It is sometimes needed over
- * a "null" reference, since we avoid NPE's this way.
- *
- * It can also be read either as a String ("nullValue") or an Integer (-1).
- *
- * @version 1.0
- * @author Alexandre Montplaisir
- */
-final class NullStateValue extends TmfStateValue {
-
- private final String value = "nullValue"; //$NON-NLS-1$
-
- @Override
- public Type getType() {
- return Type.NULL;
- }
-
- @Override
- public boolean isNull() {
- return true;
- }
-
- @Override
- public boolean equals(@Nullable Object object) {
- return (object instanceof NullStateValue);
- }
-
- @Override
- public int hashCode() {
- return 0;
- }
-
- @Override
- public String toString() {
- return value;
- }
-
- // ------------------------------------------------------------------------
- // Unboxing methods. Null values can be unboxed into any type.
- // ------------------------------------------------------------------------
-
- @Override
- public int unboxInt() {
- return -1;
- }
-
- @Override
- public long unboxLong() {
- return -1;
- }
-
- @Override
- public double unboxDouble() {
- return Double.NaN;
- }
-
- @Override
- public String unboxStr() {
- return value;
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.statesystem.core/src/org/eclipse/linuxtools/statesystem/core/statevalue/StringStateValue.java b/lttng/org.eclipse.linuxtools.statesystem.core/src/org/eclipse/linuxtools/statesystem/core/statevalue/StringStateValue.java
deleted file mode 100644
index f8534e8e0c..0000000000
--- a/lttng/org.eclipse.linuxtools.statesystem.core/src/org/eclipse/linuxtools/statesystem/core/statevalue/StringStateValue.java
+++ /dev/null
@@ -1,68 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2012, 2013 Ericsson
- * Copyright (c) 2010, 2011 École Polytechnique de Montréal
- * Copyright (c) 2010, 2011 Alexandre Montplaisir <alexandre.montplaisir@gmail.com>
- *
- * 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
- *
- *******************************************************************************/
-
-package org.eclipse.linuxtools.statesystem.core.statevalue;
-
-import org.eclipse.jdt.annotation.Nullable;
-
-/**
- * A state value containing a variable-sized string
- *
- * @version 1.0
- * @author Alexandre Montplaisir
- */
-final class StringStateValue extends TmfStateValue {
-
- private final String value;
-
- public StringStateValue(String valueAsString) {
- this.value = valueAsString;
- }
-
- @Override
- public Type getType() {
- return Type.STRING;
- }
-
- @Override
- public boolean isNull() {
- return false;
- }
-
- @Override
- public boolean equals(@Nullable Object object) {
- if (!(object instanceof StringStateValue)) {
- return false;
- }
- StringStateValue other = (StringStateValue) object;
- return value.equals(other.value);
- }
-
- @Override
- public int hashCode() {
- return value.hashCode();
- }
-
- @Override
- public String toString() {
- return value;
- }
-
- // ------------------------------------------------------------------------
- // Unboxing methods
- // ------------------------------------------------------------------------
-
- @Override
- public String unboxStr() {
- return value;
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.statesystem.core/src/org/eclipse/linuxtools/statesystem/core/statevalue/TmfStateValue.java b/lttng/org.eclipse.linuxtools.statesystem.core/src/org/eclipse/linuxtools/statesystem/core/statevalue/TmfStateValue.java
deleted file mode 100644
index 01ba439d2f..0000000000
--- a/lttng/org.eclipse.linuxtools.statesystem.core/src/org/eclipse/linuxtools/statesystem/core/statevalue/TmfStateValue.java
+++ /dev/null
@@ -1,191 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2012, 2014 Ericsson
- * Copyright (c) 2010, 2011 École Polytechnique de Montréal
- * Copyright (c) 2010, 2011 Alexandre Montplaisir <alexandre.montplaisir@gmail.com>
- *
- * 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
- *
- ******************************************************************************/
-
-package org.eclipse.linuxtools.statesystem.core.statevalue;
-
-import org.eclipse.jdt.annotation.Nullable;
-import org.eclipse.linuxtools.internal.statesystem.core.Activator;
-import org.eclipse.linuxtools.statesystem.core.exceptions.StateValueTypeException;
-
-/**
- * This is the wrapper class that exposes the different types of 'state values'
- * available to use in the State System.
- *
- * This also defines how these values are to be stored in the History Tree. For
- * example, we can save numerical values as integers instead of arrays of
- * 1-digit characters.
- *
- * The available types are Int, Long, Double and String.
- *
- * @author Alexandre Montplaisir
- * @since 3.0
- */
-public abstract class TmfStateValue implements ITmfStateValue {
-
- // ------------------------------------------------------------------------
- // State value caches (sizes must be powers of 2)
- // ------------------------------------------------------------------------
-
- private static final int INT_CACHE_SIZE = 128;
- private static final int LONG_CACHE_SIZE = 128;
- private static final int DOUBLE_CACHE_SIZE = 128;
-
- private static final IntegerStateValue intCache[] = new IntegerStateValue[INT_CACHE_SIZE];
- private static final LongStateValue longCache[] = new LongStateValue[LONG_CACHE_SIZE];
- private static final DoubleStateValue doubleCache[] = new DoubleStateValue[DOUBLE_CACHE_SIZE];
-
- // ------------------------------------------------------------------------
- // Factory methods to instantiate new state values
- // ------------------------------------------------------------------------
-
- /*
- * Since all "null state values" are the same, we only need one copy in
- * memory.
- */
- private static TmfStateValue nullValue = new NullStateValue();
-
- /**
- * Return an instance of a "null" value. Only one copy exists in memory.
- *
- * @return A null value
- */
- public static final TmfStateValue nullValue() {
- return nullValue;
- }
-
- /**
- * Factory constructor for Integer state values
- *
- * @param intValue
- * The integer value to contain
- * @return The newly-created TmfStateValue object
- */
- public static TmfStateValue newValueInt(int intValue) {
- /* Lookup in cache for the existence of the same value. */
- int offset = intValue & (INT_CACHE_SIZE - 1);
- IntegerStateValue cached = intCache[offset];
- if (cached != null && cached.unboxInt() == intValue) {
- return cached;
- }
-
- /* Not in cache, create a new value and cache it. */
- IntegerStateValue newValue = new IntegerStateValue(intValue);
- intCache[offset] = newValue;
- return newValue;
- }
-
- /**
- * Factory constructor for Long state values
- *
- * @param longValue
- * The long value to contain
- * @return The newly-created TmfStateValue object
- * @since 2.0
- */
- public static TmfStateValue newValueLong(long longValue) {
- /* Lookup in cache for the existence of the same value. */
- int offset = (int) longValue & (LONG_CACHE_SIZE - 1);
- LongStateValue cached = longCache[offset];
- if (cached != null && cached.unboxLong() == longValue) {
- return cached;
- }
-
- /* Not in cache, create a new value and cache it. */
- LongStateValue newValue = new LongStateValue(longValue);
- longCache[offset] = newValue;
- return newValue;
- }
-
- /**
- * Factory constructor for Double state values
- *
- * @param value
- * The double value to contain
- * @return The newly-created TmfStateValue object
- * @since 3.0
- */
- public static TmfStateValue newValueDouble(double value) {
- /* Lookup in cache for the existence of the same value. */
- int offset = (int) Double.doubleToLongBits(value) & (DOUBLE_CACHE_SIZE - 1);
- DoubleStateValue cached = doubleCache[offset];
-
- /*
- * We're using Double.compare() instead of .equals(), because .compare()
- * works when both values are Double.NaN.
- */
- if (cached != null && Double.compare(cached.unboxDouble(), value) == 0) {
- return cached;
- }
-
- /* Not in cache, create a new value and cache it. */
- DoubleStateValue newValue = new DoubleStateValue(value);
- doubleCache[offset] = newValue;
- return newValue;
- }
-
- /**
- * Factory constructor for String state values
- *
- * @param strValue
- * The string value to contain
- * @return The newly-created TmfStateValue object
- */
- public static TmfStateValue newValueString(@Nullable String strValue) {
- if (strValue == null) {
- return nullValue();
- }
- /*
- * Make sure the String does not contain "weird" things, like ISO
- * control characters.
- */
- for (char c : strValue.toCharArray()) {
- if (Character.isISOControl(c)) {
- Activator.getDefault().logError("Trying to use invalid string: " + strValue); //$NON-NLS-1$
- throw new IllegalArgumentException();
- }
- }
- return new StringStateValue(strValue);
- }
-
- // ------------------------------------------------------------------------
- // Default unboxing methods.
- // Subclasses can override those for the types they support.
- // ------------------------------------------------------------------------
-
- private String unboxErrMsg(String targetType) {
- return "Type " + getClass().getSimpleName() + //$NON-NLS-1$
- " cannot be unboxed into a " + targetType + " value."; //$NON-NLS-1$ //$NON-NLS-2$
- }
-
- @Override
- public int unboxInt() {
- throw new StateValueTypeException(unboxErrMsg("Int")); //$NON-NLS-1$
- }
-
- @Override
- public long unboxLong() {
- throw new StateValueTypeException(unboxErrMsg("Long")); //$NON-NLS-1$
- }
-
- /**
- * @since 3.0
- */
- @Override
- public double unboxDouble() {
- throw new StateValueTypeException(unboxErrMsg("Double")); //$NON-NLS-1$
- }
-
- @Override
- public String unboxStr() {
- throw new StateValueTypeException(unboxErrMsg("String")); //$NON-NLS-1$
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.statesystem.core/src/org/eclipse/linuxtools/statesystem/core/statevalue/package-info.java b/lttng/org.eclipse.linuxtools.statesystem.core/src/org/eclipse/linuxtools/statesystem/core/statevalue/package-info.java
deleted file mode 100644
index 6923706d02..0000000000
--- a/lttng/org.eclipse.linuxtools.statesystem.core/src/org/eclipse/linuxtools/statesystem/core/statevalue/package-info.java
+++ /dev/null
@@ -1,12 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 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:
- * Ericsson - Initial API and implementation
- *******************************************************************************/
-@org.eclipse.jdt.annotation.NonNullByDefault package org.eclipse.linuxtools.statesystem.core.statevalue;
diff --git a/lttng/org.eclipse.linuxtools.tmf.analysis.xml.core.tests/.classpath b/lttng/org.eclipse.linuxtools.tmf.analysis.xml.core.tests/.classpath
deleted file mode 100644
index 64f94945a3..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.analysis.xml.core.tests/.classpath
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
- <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.7"/>
- <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
- <classpathentry kind="src" path="src"/>
- <classpathentry kind="src" path="common"/>
- <classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/lttng/org.eclipse.linuxtools.tmf.analysis.xml.core.tests/.project b/lttng/org.eclipse.linuxtools.tmf.analysis.xml.core.tests/.project
deleted file mode 100644
index 06c4275cc9..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.analysis.xml.core.tests/.project
+++ /dev/null
@@ -1,34 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>org.eclipse.linuxtools.tmf.analysis.xml.core.tests</name>
- <comment></comment>
- <projects>
- </projects>
- <buildSpec>
- <buildCommand>
- <name>org.eclipse.jdt.core.javabuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.ManifestBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.SchemaBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.api.tools.apiAnalysisBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>org.eclipse.pde.PluginNature</nature>
- <nature>org.eclipse.jdt.core.javanature</nature>
- <nature>org.eclipse.pde.api.tools.apiAnalysisNature</nature>
- </natures>
-</projectDescription>
diff --git a/lttng/org.eclipse.linuxtools.tmf.analysis.xml.core.tests/.settings/org.eclipse.core.resources.prefs b/lttng/org.eclipse.linuxtools.tmf.analysis.xml.core.tests/.settings/org.eclipse.core.resources.prefs
deleted file mode 100644
index 99f26c0203..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.analysis.xml.core.tests/.settings/org.eclipse.core.resources.prefs
+++ /dev/null
@@ -1,2 +0,0 @@
-eclipse.preferences.version=1
-encoding/<project>=UTF-8
diff --git a/lttng/org.eclipse.linuxtools.tmf.analysis.xml.core.tests/.settings/org.eclipse.core.runtime.prefs b/lttng/org.eclipse.linuxtools.tmf.analysis.xml.core.tests/.settings/org.eclipse.core.runtime.prefs
deleted file mode 100644
index 5a0ad22d2a..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.analysis.xml.core.tests/.settings/org.eclipse.core.runtime.prefs
+++ /dev/null
@@ -1,2 +0,0 @@
-eclipse.preferences.version=1
-line.separator=\n
diff --git a/lttng/org.eclipse.linuxtools.tmf.analysis.xml.core.tests/.settings/org.eclipse.jdt.core.prefs b/lttng/org.eclipse.linuxtools.tmf.analysis.xml.core.tests/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index f3fc64575b..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.analysis.xml.core.tests/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,393 +0,0 @@
-eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.annotation.inheritNullAnnotations=enabled
-org.eclipse.jdt.core.compiler.annotation.missingNonNullByDefaultAnnotation=ignore
-org.eclipse.jdt.core.compiler.annotation.nonnull=org.eclipse.jdt.annotation.NonNull
-org.eclipse.jdt.core.compiler.annotation.nonnullbydefault=org.eclipse.jdt.annotation.NonNullByDefault
-org.eclipse.jdt.core.compiler.annotation.nullable=org.eclipse.jdt.annotation.Nullable
-org.eclipse.jdt.core.compiler.annotation.nullanalysis=enabled
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.7
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.doc.comment.support=enabled
-org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=error
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
-org.eclipse.jdt.core.compiler.problem.comparingIdentical=error
-org.eclipse.jdt.core.compiler.problem.deadCode=error
-org.eclipse.jdt.core.compiler.problem.deprecation=error
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=enabled
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled
-org.eclipse.jdt.core.compiler.problem.discouragedReference=error
-org.eclipse.jdt.core.compiler.problem.emptyStatement=error
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.problem.explicitlyClosedAutoCloseable=error
-org.eclipse.jdt.core.compiler.problem.fallthroughCase=error
-org.eclipse.jdt.core.compiler.problem.fatalOptionalError=disabled
-org.eclipse.jdt.core.compiler.problem.fieldHiding=error
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=error
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=error
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=error
-org.eclipse.jdt.core.compiler.problem.includeNullInfoFromAsserts=disabled
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=error
-org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=error
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=error
-org.eclipse.jdt.core.compiler.problem.invalidJavadoc=warning
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTags=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=protected
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=error
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=error
-org.eclipse.jdt.core.compiler.problem.missingDefaultCase=error
-org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=error
-org.eclipse.jdt.core.compiler.problem.missingEnumCaseDespiteDefault=enabled
-org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=error
-org.eclipse.jdt.core.compiler.problem.missingJavadocComments=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=protected
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagDescription=all_standard_tags
-org.eclipse.jdt.core.compiler.problem.missingJavadocTags=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsMethodTypeParameters=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=protected
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=error
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotationForInterfaceMethodImplementation=enabled
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=error
-org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=error
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=error
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=error
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=ignore
-org.eclipse.jdt.core.compiler.problem.nonnullParameterAnnotationDropped=warning
-org.eclipse.jdt.core.compiler.problem.nullAnnotationInferenceConflict=warning
-org.eclipse.jdt.core.compiler.problem.nullReference=error
-org.eclipse.jdt.core.compiler.problem.nullSpecViolation=error
-org.eclipse.jdt.core.compiler.problem.nullUncheckedConversion=warning
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=error
-org.eclipse.jdt.core.compiler.problem.parameterAssignment=error
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=error
-org.eclipse.jdt.core.compiler.problem.potentialNullReference=error
-org.eclipse.jdt.core.compiler.problem.potentiallyUnclosedCloseable=warning
-org.eclipse.jdt.core.compiler.problem.rawTypeReference=error
-org.eclipse.jdt.core.compiler.problem.redundantNullAnnotation=warning
-org.eclipse.jdt.core.compiler.problem.redundantNullCheck=error
-org.eclipse.jdt.core.compiler.problem.redundantSpecificationOfTypeArguments=error
-org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=error
-org.eclipse.jdt.core.compiler.problem.reportMethodCanBePotentiallyStatic=ignore
-org.eclipse.jdt.core.compiler.problem.reportMethodCanBeStatic=error
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=error
-org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=disabled
-org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
-org.eclipse.jdt.core.compiler.problem.syntacticNullAnalysisForFields=enabled
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
-org.eclipse.jdt.core.compiler.problem.typeParameterHiding=error
-org.eclipse.jdt.core.compiler.problem.unavoidableGenericTypeProblems=disabled
-org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=error
-org.eclipse.jdt.core.compiler.problem.unclosedCloseable=error
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
-org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=error
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=error
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=error
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=error
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=disabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=disabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=error
-org.eclipse.jdt.core.compiler.problem.unusedLabel=error
-org.eclipse.jdt.core.compiler.problem.unusedLocal=error
-org.eclipse.jdt.core.compiler.problem.unusedObjectAllocation=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=error
-org.eclipse.jdt.core.compiler.problem.unusedTypeParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedWarningToken=error
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=error
-org.eclipse.jdt.core.compiler.source=1.7
-org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_assignment=0
-org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
-org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
-org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
-org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
-org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0
-org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=80
-org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=0
-org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch=16
-org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_after_package=1
-org.eclipse.jdt.core.formatter.blank_lines_before_field=0
-org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
-org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
-org.eclipse.jdt.core.formatter.blank_lines_before_method=1
-org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
-org.eclipse.jdt.core.formatter.blank_lines_before_package=0
-org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
-org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
-org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
-org.eclipse.jdt.core.formatter.comment.format_block_comments=true
-org.eclipse.jdt.core.formatter.comment.format_header=false
-org.eclipse.jdt.core.formatter.comment.format_html=true
-org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=true
-org.eclipse.jdt.core.formatter.comment.format_line_comments=true
-org.eclipse.jdt.core.formatter.comment.format_source_code=true
-org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true
-org.eclipse.jdt.core.formatter.comment.indent_root_tags=true
-org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
-org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=insert
-org.eclipse.jdt.core.formatter.comment.line_length=80
-org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries=true
-org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries=true
-org.eclipse.jdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments=false
-org.eclipse.jdt.core.formatter.compact_else_if=true
-org.eclipse.jdt.core.formatter.continuation_indentation=2
-org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2
-org.eclipse.jdt.core.formatter.disabling_tag=@formatter\:off
-org.eclipse.jdt.core.formatter.enabling_tag=@formatter\:on
-org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
-org.eclipse.jdt.core.formatter.format_line_comment_starting_on_first_column=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
-org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_empty_lines=false
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=false
-org.eclipse.jdt.core.formatter.indentation.size=4
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_label=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_try=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources=insert
-org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_try=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
-org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.join_lines_in_comments=true
-org.eclipse.jdt.core.formatter.join_wrapped_lines=false
-org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.lineSplit=250
-org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
-org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
-org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true
-org.eclipse.jdt.core.formatter.tabulation.char=space
-org.eclipse.jdt.core.formatter.tabulation.size=4
-org.eclipse.jdt.core.formatter.use_on_off_tags=false
-org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
-org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
-org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true
-org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true
diff --git a/lttng/org.eclipse.linuxtools.tmf.analysis.xml.core.tests/.settings/org.eclipse.jdt.ui.prefs b/lttng/org.eclipse.linuxtools.tmf.analysis.xml.core.tests/.settings/org.eclipse.jdt.ui.prefs
deleted file mode 100644
index 4fd0c7006a..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.analysis.xml.core.tests/.settings/org.eclipse.jdt.ui.prefs
+++ /dev/null
@@ -1,56 +0,0 @@
-eclipse.preferences.version=1
-editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
-formatter_profile=_tmf-style
-formatter_settings_version=12
-sp_cleanup.add_default_serial_version_id=true
-sp_cleanup.add_generated_serial_version_id=false
-sp_cleanup.add_missing_annotations=false
-sp_cleanup.add_missing_deprecated_annotations=true
-sp_cleanup.add_missing_methods=false
-sp_cleanup.add_missing_nls_tags=false
-sp_cleanup.add_missing_override_annotations=true
-sp_cleanup.add_missing_override_annotations_interface_methods=true
-sp_cleanup.add_serial_version_id=false
-sp_cleanup.always_use_blocks=true
-sp_cleanup.always_use_parentheses_in_expressions=false
-sp_cleanup.always_use_this_for_non_static_field_access=false
-sp_cleanup.always_use_this_for_non_static_method_access=false
-sp_cleanup.convert_to_enhanced_for_loop=false
-sp_cleanup.correct_indentation=false
-sp_cleanup.format_source_code=false
-sp_cleanup.format_source_code_changes_only=false
-sp_cleanup.make_local_variable_final=false
-sp_cleanup.make_parameters_final=false
-sp_cleanup.make_private_fields_final=true
-sp_cleanup.make_type_abstract_if_missing_method=false
-sp_cleanup.make_variable_declarations_final=false
-sp_cleanup.never_use_blocks=false
-sp_cleanup.never_use_parentheses_in_expressions=true
-sp_cleanup.on_save_use_additional_actions=true
-sp_cleanup.organize_imports=false
-sp_cleanup.qualify_static_field_accesses_with_declaring_class=false
-sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_with_declaring_class=false
-sp_cleanup.qualify_static_method_accesses_with_declaring_class=false
-sp_cleanup.remove_private_constructors=true
-sp_cleanup.remove_trailing_whitespaces=true
-sp_cleanup.remove_trailing_whitespaces_all=true
-sp_cleanup.remove_trailing_whitespaces_ignore_empty=false
-sp_cleanup.remove_unnecessary_casts=false
-sp_cleanup.remove_unnecessary_nls_tags=false
-sp_cleanup.remove_unused_imports=false
-sp_cleanup.remove_unused_local_variables=false
-sp_cleanup.remove_unused_private_fields=true
-sp_cleanup.remove_unused_private_members=false
-sp_cleanup.remove_unused_private_methods=true
-sp_cleanup.remove_unused_private_types=true
-sp_cleanup.sort_members=false
-sp_cleanup.sort_members_all=false
-sp_cleanup.use_blocks=true
-sp_cleanup.use_blocks_only_for_return_and_throw=false
-sp_cleanup.use_parentheses_in_expressions=false
-sp_cleanup.use_this_for_non_static_field_access=false
-sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=true
-sp_cleanup.use_this_for_non_static_method_access=false
-sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true
diff --git a/lttng/org.eclipse.linuxtools.tmf.analysis.xml.core.tests/.settings/org.eclipse.pde.api.tools.prefs b/lttng/org.eclipse.linuxtools.tmf.analysis.xml.core.tests/.settings/org.eclipse.pde.api.tools.prefs
deleted file mode 100644
index acc3abd47c..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.analysis.xml.core.tests/.settings/org.eclipse.pde.api.tools.prefs
+++ /dev/null
@@ -1,97 +0,0 @@
-ANNOTATION_ELEMENT_TYPE_ADDED_METHOD_WITHOUT_DEFAULT_VALUE=Error
-ANNOTATION_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
-ANNOTATION_ELEMENT_TYPE_REMOVED_FIELD=Error
-ANNOTATION_ELEMENT_TYPE_REMOVED_METHOD=Error
-ANNOTATION_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
-API_COMPONENT_ELEMENT_TYPE_REMOVED_API_TYPE=Error
-API_COMPONENT_ELEMENT_TYPE_REMOVED_REEXPORTED_API_TYPE=Error
-API_COMPONENT_ELEMENT_TYPE_REMOVED_REEXPORTED_TYPE=Error
-API_COMPONENT_ELEMENT_TYPE_REMOVED_TYPE=Error
-API_USE_SCAN_FIELD_SEVERITY=Error
-API_USE_SCAN_METHOD_SEVERITY=Error
-API_USE_SCAN_TYPE_SEVERITY=Error
-CLASS_ELEMENT_TYPE_ADDED_METHOD=Error
-CLASS_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
-CLASS_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
-CLASS_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error
-CLASS_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
-CLASS_ELEMENT_TYPE_CHANGED_NON_ABSTRACT_TO_ABSTRACT=Error
-CLASS_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error
-CLASS_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
-CLASS_ELEMENT_TYPE_REMOVED_CONSTRUCTOR=Error
-CLASS_ELEMENT_TYPE_REMOVED_FIELD=Error
-CLASS_ELEMENT_TYPE_REMOVED_METHOD=Error
-CLASS_ELEMENT_TYPE_REMOVED_SUPERCLASS=Error
-CLASS_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
-CLASS_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
-CONSTRUCTOR_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
-CONSTRUCTOR_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
-CONSTRUCTOR_ELEMENT_TYPE_CHANGED_VARARGS_TO_ARRAY=Error
-CONSTRUCTOR_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
-ENUM_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error
-ENUM_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
-ENUM_ELEMENT_TYPE_REMOVED_ENUM_CONSTANT=Error
-ENUM_ELEMENT_TYPE_REMOVED_FIELD=Error
-ENUM_ELEMENT_TYPE_REMOVED_METHOD=Error
-ENUM_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
-FIELD_ELEMENT_TYPE_ADDED_VALUE=Error
-FIELD_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
-FIELD_ELEMENT_TYPE_CHANGED_FINAL_TO_NON_FINAL_STATIC_CONSTANT=Error
-FIELD_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error
-FIELD_ELEMENT_TYPE_CHANGED_NON_STATIC_TO_STATIC=Error
-FIELD_ELEMENT_TYPE_CHANGED_STATIC_TO_NON_STATIC=Error
-FIELD_ELEMENT_TYPE_CHANGED_TYPE=Error
-FIELD_ELEMENT_TYPE_CHANGED_VALUE=Error
-FIELD_ELEMENT_TYPE_REMOVED_TYPE_ARGUMENT=Error
-FIELD_ELEMENT_TYPE_REMOVED_VALUE=Error
-ILLEGAL_EXTEND=Warning
-ILLEGAL_IMPLEMENT=Warning
-ILLEGAL_INSTANTIATE=Warning
-ILLEGAL_OVERRIDE=Warning
-ILLEGAL_REFERENCE=Warning
-INTERFACE_ELEMENT_TYPE_ADDED_FIELD=Error
-INTERFACE_ELEMENT_TYPE_ADDED_METHOD=Error
-INTERFACE_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
-INTERFACE_ELEMENT_TYPE_ADDED_SUPER_INTERFACE_WITH_METHODS=Error
-INTERFACE_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
-INTERFACE_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error
-INTERFACE_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
-INTERFACE_ELEMENT_TYPE_REMOVED_FIELD=Error
-INTERFACE_ELEMENT_TYPE_REMOVED_METHOD=Error
-INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
-INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
-INVALID_JAVADOC_TAG=Warning
-INVALID_REFERENCE_IN_SYSTEM_LIBRARIES=Warning
-LEAK_EXTEND=Warning
-LEAK_FIELD_DECL=Warning
-LEAK_IMPLEMENT=Warning
-LEAK_METHOD_PARAM=Warning
-LEAK_METHOD_RETURN_TYPE=Warning
-METHOD_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
-METHOD_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
-METHOD_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
-METHOD_ELEMENT_TYPE_CHANGED_NON_ABSTRACT_TO_ABSTRACT=Error
-METHOD_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error
-METHOD_ELEMENT_TYPE_CHANGED_NON_STATIC_TO_STATIC=Error
-METHOD_ELEMENT_TYPE_CHANGED_STATIC_TO_NON_STATIC=Error
-METHOD_ELEMENT_TYPE_CHANGED_VARARGS_TO_ARRAY=Error
-METHOD_ELEMENT_TYPE_REMOVED_ANNOTATION_DEFAULT_VALUE=Error
-METHOD_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
-MISSING_EE_DESCRIPTIONS=Ignore
-TYPE_PARAMETER_ELEMENT_TYPE_ADDED_CLASS_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_ADDED_INTERFACE_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_CHANGED_CLASS_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_CHANGED_INTERFACE_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_CLASS_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error
-UNUSED_PROBLEM_FILTERS=Warning
-automatically_removed_unused_problem_filters=false
-eclipse.preferences.version=1
-incompatible_api_component_version=Error
-incompatible_api_component_version_include_major_without_breaking_change=Disabled
-incompatible_api_component_version_include_minor_without_api_change=Disabled
-invalid_since_tag_version=Error
-malformed_since_tag=Error
-missing_since_tag=Error
-report_api_breakage_when_major_version_incremented=Disabled
-report_resolution_errors_api_component=Warning
diff --git a/lttng/org.eclipse.linuxtools.tmf.analysis.xml.core.tests/.settings/org.eclipse.pde.prefs b/lttng/org.eclipse.linuxtools.tmf.analysis.xml.core.tests/.settings/org.eclipse.pde.prefs
deleted file mode 100644
index 62cfa90dee..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.analysis.xml.core.tests/.settings/org.eclipse.pde.prefs
+++ /dev/null
@@ -1,32 +0,0 @@
-compilers.f.unresolved-features=1
-compilers.f.unresolved-plugins=1
-compilers.incompatible-environment=1
-compilers.p.build=1
-compilers.p.build.bin.includes=1
-compilers.p.build.encodings=2
-compilers.p.build.java.compiler=2
-compilers.p.build.java.compliance=1
-compilers.p.build.missing.output=2
-compilers.p.build.output.library=1
-compilers.p.build.source.library=1
-compilers.p.build.src.includes=1
-compilers.p.deprecated=1
-compilers.p.discouraged-class=1
-compilers.p.internal=1
-compilers.p.missing-packages=2
-compilers.p.missing-version-export-package=2
-compilers.p.missing-version-import-package=2
-compilers.p.missing-version-require-bundle=2
-compilers.p.no-required-att=0
-compilers.p.not-externalized-att=2
-compilers.p.unknown-attribute=1
-compilers.p.unknown-class=1
-compilers.p.unknown-element=1
-compilers.p.unknown-identifier=1
-compilers.p.unknown-resource=1
-compilers.p.unresolved-ex-points=0
-compilers.p.unresolved-import=0
-compilers.s.create-docs=false
-compilers.s.doc-folder=doc
-compilers.s.open-tags=1
-eclipse.preferences.version=1
diff --git a/lttng/org.eclipse.linuxtools.tmf.analysis.xml.core.tests/META-INF/MANIFEST.MF b/lttng/org.eclipse.linuxtools.tmf.analysis.xml.core.tests/META-INF/MANIFEST.MF
deleted file mode 100644
index bf39b86c53..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.analysis.xml.core.tests/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,21 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %Bundle-Name
-Bundle-SymbolicName: org.eclipse.linuxtools.tmf.analysis.xml.core.tests
-Bundle-Version: 1.1.0.qualifier
-Bundle-Activator: org.eclipse.linuxtools.tmf.analysis.xml.core.tests.Activator
-Bundle-Vendor: %Bundle-Vendor
-Require-Bundle: org.junit,
- org.eclipse.core.runtime,
- org.eclipse.core.resources,
- org.eclipse.linuxtools.tmf.analysis.xml.core,
- org.eclipse.linuxtools.tmf.core,
- org.eclipse.linuxtools.tmf.core.tests,
- org.eclipse.linuxtools.tmf.ctf.core,
- org.eclipse.linuxtools.tmf.ctf.core.tests,
- org.eclipse.linuxtools.statesystem.core
-Bundle-RequiredExecutionEnvironment: JavaSE-1.7
-Bundle-ActivationPolicy: lazy
-Import-Package: org.junit.runners
-Export-Package: org.eclipse.linuxtools.tmf.analysis.xml.core.tests,
- org.eclipse.linuxtools.tmf.analysis.xml.core.tests.common;x-friends:="org.eclipse.linuxtools.tmf.analysis.xml.ui.tests"
diff --git a/lttng/org.eclipse.linuxtools.tmf.analysis.xml.core.tests/about.html b/lttng/org.eclipse.linuxtools.tmf.analysis.xml.core.tests/about.html
deleted file mode 100644
index c258ef55d8..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.analysis.xml.core.tests/about.html
+++ /dev/null
@@ -1,28 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
-<title>About</title>
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
-
-<p>June 5, 2006</p>
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;). Unless otherwise
-indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is available
-at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is
-being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content. Check the Redistributor's license that was
-provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at <a href="http://www.eclipse.org/">http://www.eclipse.org</a>.</p>
-
-</body>
-</html> \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.tmf.analysis.xml.core.tests/build.properties b/lttng/org.eclipse.linuxtools.tmf.analysis.xml.core.tests/build.properties
deleted file mode 100644
index d08b64947d..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.analysis.xml.core.tests/build.properties
+++ /dev/null
@@ -1,21 +0,0 @@
-###############################################################################
-# Copyright (c) 2014 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:
-# Ericsson - Initial API and implementation
-###############################################################################
-source.. = src/,\
- common/
-output.. = bin/
-bin.includes = META-INF/,\
- .,\
- about.html,\
- test_xml_files/
-src.includes = about.html
-additional.bundles = org.eclipse.jdt.annotation
-jars.extra.classpath = platform:/plugin/org.eclipse.jdt.annotation
diff --git a/lttng/org.eclipse.linuxtools.tmf.analysis.xml.core.tests/common/org/eclipse/linuxtools/tmf/analysis/xml/core/tests/common/TmfXmlTestFiles.java b/lttng/org.eclipse.linuxtools.tmf.analysis.xml.core.tests/common/org/eclipse/linuxtools/tmf/analysis/xml/core/tests/common/TmfXmlTestFiles.java
deleted file mode 100644
index 854d5d18b3..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.analysis.xml.core.tests/common/org/eclipse/linuxtools/tmf/analysis/xml/core/tests/common/TmfXmlTestFiles.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 École Polytechnique de Montréal
- *
- * 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:
- * Geneviève Bastien - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.analysis.xml.core.tests.common;
-
-import java.io.File;
-
-/**
- * Provides some test XML files to use
- *
- * @author Geneviève Bastien
- */
-public enum TmfXmlTestFiles {
- /** A valid XML test file */
- VALID_FILE("../org.eclipse.linuxtools.tmf.analysis.xml.core.tests/test_xml_files/test_valid/test_valid.xml"),
- /** An invalid test file */
- INVALID_FILE("../org.eclipse.linuxtools.tmf.analysis.xml.core.tests/test_xml_files/test_invalid/test_invalid.xml");
-
- private final String fPath;
-
- private TmfXmlTestFiles(String file) {
- fPath = file;
- }
-
- /**
- * Get the file name part of the file
- *
- * @return The path of this test file
- */
- public String getPath() {
- return fPath;
- }
-
- /**
- * Returns the file object corresponding to the test XML file
- *
- * @return The file object for this test file
- */
- public File getFile() {
- return new File(fPath);
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.analysis.xml.core.tests/plugin.properties b/lttng/org.eclipse.linuxtools.tmf.analysis.xml.core.tests/plugin.properties
deleted file mode 100644
index 9b58acf43e..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.analysis.xml.core.tests/plugin.properties
+++ /dev/null
@@ -1,15 +0,0 @@
-###############################################################################
-# Copyright (c) 2013, 2014 École Polytechnique de Montréal
-#
-# 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:
-# École Polytechnique de Montréal - Initial API and implementation
-###############################################################################
-
-#Properties file for org.eclipse.linuxtools.tmf.core
-Bundle-Vendor = Eclipse Linux Tools
-Bundle-Name = Linux Tools TMF XML Analysis Tests Plug-in
diff --git a/lttng/org.eclipse.linuxtools.tmf.analysis.xml.core.tests/pom.xml b/lttng/org.eclipse.linuxtools.tmf.analysis.xml.core.tests/pom.xml
deleted file mode 100644
index d15eae3e73..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.analysis.xml.core.tests/pom.xml
+++ /dev/null
@@ -1,55 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Copyright (C) 2013, École Polytechnique de Montréal
-
- 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
--->
-
-<project xmlns="http://maven.apache.org/POM/4.0.0"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
- <modelVersion>4.0.0</modelVersion>
-
- <parent>
- <artifactId>linuxtools-lttng-parent</artifactId>
- <groupId>org.eclipse.linuxtools.lttng</groupId>
- <version>3.2.0-SNAPSHOT</version>
- </parent>
-
- <artifactId>org.eclipse.linuxtools.tmf.analysis.xml.core.tests</artifactId>
- <version>1.1.0-SNAPSHOT</version>
- <packaging>eclipse-test-plugin</packaging>
-
- <name>Linux Tools TMF Xml Analysis Core Tests Plug-in</name>
-
- <build>
- <!-- workaround for https://issues.sonatype.org/browse/TYCHO-168 -->
- <resources>
- <resource>
- <directory>src</directory>
- <excludes>
- <exclude>**/*.java</exclude>
- </excludes>
- </resource>
- </resources>
- <plugins>
- <plugin>
- <groupId>org.eclipse.tycho</groupId>
- <artifactId>tycho-surefire-plugin</artifactId>
- <version>${tycho-version}</version>
- <configuration>
- <testSuite>org.eclipse.linuxtools.tmf.analysis.xml.core.tests</testSuite>
- <testClass>org.eclipse.linuxtools.tmf.analysis.xml.core.tests.AllAnalysisXmlCoreTests</testClass>
- <useUIHarness>false</useUIHarness>
- <useUIThread>false</useUIThread>
- <product>org.eclipse.sdk.ide</product>
- </configuration>
- </plugin>
- </plugins>
- </build>
-
- <groupId>org.eclipse.linuxtools.tmf</groupId>
-</project>
diff --git a/lttng/org.eclipse.linuxtools.tmf.analysis.xml.core.tests/src/org/eclipse/linuxtools/tmf/analysis/xml/core/tests/Activator.java b/lttng/org.eclipse.linuxtools.tmf.analysis.xml.core.tests/src/org/eclipse/linuxtools/tmf/analysis/xml/core/tests/Activator.java
deleted file mode 100644
index 90eb3c0108..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.analysis.xml.core.tests/src/org/eclipse/linuxtools/tmf/analysis/xml/core/tests/Activator.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013, 2014 École Polytechnique de Montréal
- *
- * 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:
- * Geneviève Bastien - Initial implementation and API
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.analysis.xml.core.tests;
-
-import org.eclipse.core.runtime.Plugin;
-import org.osgi.framework.BundleContext;
-
-/**
- * The activator class controls the plug-in life cycle
- */
-public class Activator extends Plugin {
-
- /**
- * The plug-in ID
- */
- public static final String PLUGIN_ID = "org.eclipse.linuxtools.tmf.analysis.xml.core.tests"; //$NON-NLS-1$
-
- // The shared instance
- private static Activator plugin;
-
- /**
- * The constructor
- */
- public Activator() {
- }
-
- @Override
- public void start(BundleContext context) throws Exception {
- super.start(context);
- plugin = this;
- }
-
- @Override
- public void stop(BundleContext context) throws Exception {
- plugin = null;
- super.stop(context);
- }
-
- /**
- * Returns the shared instance
- *
- * @return the shared instance
- */
- public static Activator getDefault() {
- return plugin;
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.analysis.xml.core.tests/src/org/eclipse/linuxtools/tmf/analysis/xml/core/tests/AllAnalysisXmlCoreTests.java b/lttng/org.eclipse.linuxtools.tmf.analysis.xml.core.tests/src/org/eclipse/linuxtools/tmf/analysis/xml/core/tests/AllAnalysisXmlCoreTests.java
deleted file mode 100644
index 891b6d7c66..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.analysis.xml.core.tests/src/org/eclipse/linuxtools/tmf/analysis/xml/core/tests/AllAnalysisXmlCoreTests.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013, 2014 École Polytechnique de Montréal
- *
- * 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:
- * Geneviève Bastien - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.analysis.xml.core.tests;
-
-import org.junit.runner.RunWith;
-import org.junit.runners.Suite;
-
-/**
- * Master test suite for TMF XML Core Analysis plug-in.
- */
-@RunWith(Suite.class)
-@Suite.SuiteClasses({
- XmlAnalysisCorePluginTest.class,
- org.eclipse.linuxtools.tmf.analysis.xml.core.tests.module.AllTests.class,
- org.eclipse.linuxtools.tmf.analysis.xml.core.tests.stateprovider.AllTests.class
-})
-public class AllAnalysisXmlCoreTests {
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.analysis.xml.core.tests/src/org/eclipse/linuxtools/tmf/analysis/xml/core/tests/XmlAnalysisCorePluginTest.java b/lttng/org.eclipse.linuxtools.tmf.analysis.xml.core.tests/src/org/eclipse/linuxtools/tmf/analysis/xml/core/tests/XmlAnalysisCorePluginTest.java
deleted file mode 100644
index 993b11843a..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.analysis.xml.core.tests/src/org/eclipse/linuxtools/tmf/analysis/xml/core/tests/XmlAnalysisCorePluginTest.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013, 2014 École Polytechnique de Montréal
- *
- * 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:
- * Geneviève Bastien - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.analysis.xml.core.tests;
-
-import static org.junit.Assert.assertEquals;
-
-import org.eclipse.linuxtools.internal.tmf.analysis.xml.core.Activator;
-import org.junit.Test;
-
-/**
- * Test the XML Analysis Core plug-in activator
- */
-public class XmlAnalysisCorePluginTest {
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
-
- // Plug-in instantiation
- static final Activator fPlugin = new Activator();
-
- // ------------------------------------------------------------------------
- // Test cases
- // ------------------------------------------------------------------------
-
- /**
- * Test the plugin ID.
- */
- @Test
- public void testTmfCorePluginId() {
- assertEquals("Plugin ID", "org.eclipse.linuxtools.tmf.analysis.xml.core", Activator.PLUGIN_ID);
- }
-
- /**
- * Test the getDefault() static method.
- */
- @Test
- public void testGetDefault() {
- Activator plugin = Activator.getDefault();
- assertEquals("getDefault()", plugin, fPlugin);
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.analysis.xml.core.tests/src/org/eclipse/linuxtools/tmf/analysis/xml/core/tests/module/AllTests.java b/lttng/org.eclipse.linuxtools.tmf.analysis.xml.core.tests/src/org/eclipse/linuxtools/tmf/analysis/xml/core/tests/module/AllTests.java
deleted file mode 100644
index ca0aa281f5..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.analysis.xml.core.tests/src/org/eclipse/linuxtools/tmf/analysis/xml/core/tests/module/AllTests.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 École Polytechnique de Montréal
- *
- * 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:
- * Geneviève Bastien - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.analysis.xml.core.tests.module;
-
-import org.junit.runner.RunWith;
-import org.junit.runners.Suite;
-
-/**
- * Test suite for org.eclipse.linuxtools.tmf.analysis.xml.core.module package
- */
-@RunWith(Suite.class)
-@Suite.SuiteClasses({
- XmlUtilsTest.class
-})
-public class AllTests {
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.analysis.xml.core.tests/src/org/eclipse/linuxtools/tmf/analysis/xml/core/tests/module/XmlUtilsTest.java b/lttng/org.eclipse.linuxtools.tmf.analysis.xml.core.tests/src/org/eclipse/linuxtools/tmf/analysis/xml/core/tests/module/XmlUtilsTest.java
deleted file mode 100644
index 3dff10519f..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.analysis.xml.core.tests/src/org/eclipse/linuxtools/tmf/analysis/xml/core/tests/module/XmlUtilsTest.java
+++ /dev/null
@@ -1,232 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 École Polytechnique de Montréal
- *
- * 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:
- * Geneviève Bastien - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.analysis.xml.core.tests.module;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertTrue;
-import static org.junit.Assert.fail;
-
-import java.io.File;
-import java.io.IOException;
-import java.net.URL;
-import java.util.List;
-
-import org.eclipse.core.resources.IWorkspace;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.FileLocator;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.jdt.annotation.NonNull;
-import org.eclipse.linuxtools.tmf.analysis.xml.core.module.XmlUtils;
-import org.eclipse.linuxtools.tmf.analysis.xml.core.stateprovider.TmfXmlStrings;
-import org.eclipse.linuxtools.tmf.analysis.xml.core.tests.Activator;
-import org.eclipse.linuxtools.tmf.analysis.xml.core.tests.common.TmfXmlTestFiles;
-import org.junit.After;
-import org.junit.Test;
-import org.w3c.dom.Element;
-
-/**
- * Tests for the {@link XmlUtils} class
- *
- * @author Geneviève Bastien
- */
-public class XmlUtilsTest {
-
- private static final Path PATH_INVALID = new Path("test_xml_files/test_invalid");
- private static final Path PATH_VALID = new Path("test_xml_files/test_valid");
-
- private static IPath getAbsolutePath(Path relativePath) {
- Activator plugin = Activator.getDefault();
- if (plugin == null) {
- /*
- * Shouldn't happen but at least throw something to get the test to
- * fail early
- */
- throw new IllegalStateException();
- }
- URL location = FileLocator.find(plugin.getBundle(), relativePath, null);
- try {
- IPath path = new Path(FileLocator.toFileURL(location).getPath());
- return path;
- } catch (IOException e) {
- throw new IllegalStateException();
- }
- }
-
- /**
- * Empty the XML directory after the test
- */
- @After
- public void emptyXmlFolder() {
- File fFolder = XmlUtils.getXmlFilesPath().toFile();
- if (!(fFolder.isDirectory() && fFolder.exists())) {
- return;
- }
- for (File xmlFile : fFolder.listFiles()) {
- xmlFile.delete();
- }
- }
-
- /**
- * Test the {@link XmlUtils#getXmlFilesPath()} method
- */
- @Test
- public void testXmlPath() {
- IPath xmlPath = XmlUtils.getXmlFilesPath();
-
- IWorkspace workspace = ResourcesPlugin.getWorkspace();
- IPath workspacePath = workspace.getRoot().getRawLocation();
- workspacePath = workspacePath.addTrailingSeparator()
- .append(".metadata").addTrailingSeparator().append(".plugins")
- .addTrailingSeparator()
- .append("org.eclipse.linuxtools.tmf.analysis.xml.core")
- .addTrailingSeparator().append("xml_files");
-
- assertEquals(xmlPath, workspacePath);
- }
-
- /**
- * test the {@link XmlUtils#xmlValidate(File)} method
- */
- @Test
- public void testXmlValidate() {
- File testXmlFile = TmfXmlTestFiles.VALID_FILE.getFile();
- if ((testXmlFile == null) || !testXmlFile.exists()) {
- fail("XML test file does not exist");
- }
- IStatus status = XmlUtils.xmlValidate(testXmlFile);
- if (!status.isOK()) {
- fail(status.getMessage());
- }
-
- testXmlFile = TmfXmlTestFiles.INVALID_FILE.getFile();
- if ((testXmlFile == null) || !testXmlFile.exists()) {
- fail("XML test file does not exist");
- }
- assertFalse(XmlUtils.xmlValidate(testXmlFile).isOK());
-
- }
-
- /**
- * Test various invalid files and make sure they are invalid
- */
- @Test
- public void testXmlValidateInvalid() {
- IPath path = getAbsolutePath(PATH_INVALID);
- File file = path.toFile();
-
- File[] invalidFiles = file.listFiles();
- assertTrue(invalidFiles.length > 0);
- for (File f : invalidFiles) {
- assertFalse("File " + f.getName(), XmlUtils.xmlValidate(f).isOK());
- }
- }
-
- /**
- * Test various valid files and make sure they are valid
- */
- @Test
- public void testXmlValidateValid() {
- IPath path = getAbsolutePath(PATH_VALID);
- File file = path.toFile();
-
- File[] validFiles = file.listFiles();
- assertTrue(validFiles.length > 0);
- for (File f : validFiles) {
- assertTrue("File " + f.getName(), XmlUtils.xmlValidate(f).isOK());
- }
- }
-
- /**
- * test the {@link XmlUtils#addXmlFile(File)} method
- */
- @Test
- public void testXmlAddFile() {
- /* Check the file does not exist */
- IPath xmlPath = XmlUtils.getXmlFilesPath().addTrailingSeparator().append("test_valid.xml");
- File destFile = xmlPath.toFile();
- assertFalse(destFile.exists());
-
- /* Add test_valid.xml file */
- File testXmlFile = TmfXmlTestFiles.VALID_FILE.getFile();
- if ((testXmlFile == null) || !testXmlFile.exists()) {
- fail("XML test file does not exist");
- }
-
- XmlUtils.addXmlFile(testXmlFile);
- assertTrue(destFile.exists());
- }
-
- private static final @NonNull String ANALYSIS_ID = "kernel.linux.sp";
-
- /**
- * Test the {@link XmlUtils#getElementInFile(String, String, String)} method
- */
- @Test
- public void testGetElementInFile() {
- File testXmlFile = TmfXmlTestFiles.VALID_FILE.getFile();
- if ((testXmlFile == null) || !testXmlFile.exists()) {
- fail("XML test file does not exist");
- }
- /*
- * This sounds useless, but I get a potential null pointer warning
- * otherwise
- */
- if (testXmlFile == null) {
- return;
- }
-
- Element analysis = XmlUtils.getElementInFile(testXmlFile.getAbsolutePath(), TmfXmlStrings.STATE_PROVIDER, ANALYSIS_ID);
- assertNotNull(analysis);
- }
-
- /**
- * Test the {@link XmlUtils#getChildElements(Element)} and
- * {@link XmlUtils#getChildElements(Element, String)} methods
- */
- @Test
- public void testGetChildElements() {
- File testXmlFile = TmfXmlTestFiles.VALID_FILE.getFile();
- if ((testXmlFile == null) || !testXmlFile.exists()) {
- fail("XML test file does not exist");
- }
- /*
- * This sounds useless, but I get a potential null pointer warning
- * otherwise
- */
- if (testXmlFile == null) {
- return;
- }
-
- Element analysis = XmlUtils.getElementInFile(testXmlFile.getAbsolutePath(), TmfXmlStrings.STATE_PROVIDER, ANALYSIS_ID);
-
- List<Element> values = XmlUtils.getChildElements(analysis, TmfXmlStrings.LOCATION);
- assertEquals(5, values.size());
-
- Element aLocation = values.get(0);
- List<Element> attributes = XmlUtils.getChildElements(aLocation, TmfXmlStrings.STATE_ATTRIBUTE);
- assertEquals(2, attributes.size());
-
- values = XmlUtils.getChildElements(analysis, TmfXmlStrings.HEAD);
- assertEquals(1, values.size());
-
- Element head = values.get(0);
- values = XmlUtils.getChildElements(head);
- assertEquals(2, values.size());
-
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.analysis.xml.core.tests/src/org/eclipse/linuxtools/tmf/analysis/xml/core/tests/stateprovider/AllTests.java b/lttng/org.eclipse.linuxtools.tmf.analysis.xml.core.tests/src/org/eclipse/linuxtools/tmf/analysis/xml/core/tests/stateprovider/AllTests.java
deleted file mode 100644
index 05fbac267a..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.analysis.xml.core.tests/src/org/eclipse/linuxtools/tmf/analysis/xml/core/tests/stateprovider/AllTests.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 École Polytechnique de Montréal
- *
- * 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:
- * Geneviève Bastien - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.analysis.xml.core.tests.stateprovider;
-
-import org.junit.runner.RunWith;
-import org.junit.runners.Suite;
-
-/**
- * Test suite for org.eclipse.linuxtools.tmf.analysis.xml.core.stateprovider
- * package
- */
-@RunWith(Suite.class)
-@Suite.SuiteClasses({
- StateProviderTest.class,
- StateProviderModuleTest.class })
-public class AllTests {
-
-} \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.tmf.analysis.xml.core.tests/src/org/eclipse/linuxtools/tmf/analysis/xml/core/tests/stateprovider/StateProviderModuleTest.java b/lttng/org.eclipse.linuxtools.tmf.analysis.xml.core.tests/src/org/eclipse/linuxtools/tmf/analysis/xml/core/tests/stateprovider/StateProviderModuleTest.java
deleted file mode 100644
index 018c2a933b..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.analysis.xml.core.tests/src/org/eclipse/linuxtools/tmf/analysis/xml/core/tests/stateprovider/StateProviderModuleTest.java
+++ /dev/null
@@ -1,130 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 École Polytechnique de Montréal
- *
- * 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:
- * Geneviève Bastien - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.analysis.xml.core.tests.stateprovider;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertTrue;
-import static org.junit.Assert.fail;
-import static org.junit.Assume.assumeTrue;
-
-import java.io.File;
-import java.io.IOException;
-
-import javax.xml.parsers.DocumentBuilder;
-import javax.xml.parsers.DocumentBuilderFactory;
-import javax.xml.parsers.ParserConfigurationException;
-
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.linuxtools.tmf.analysis.xml.core.stateprovider.TmfXmlStrings;
-import org.eclipse.linuxtools.tmf.analysis.xml.core.stateprovider.XmlStateSystemModule;
-import org.eclipse.linuxtools.tmf.analysis.xml.core.tests.common.TmfXmlTestFiles;
-import org.eclipse.linuxtools.tmf.core.exceptions.TmfAnalysisException;
-import org.eclipse.linuxtools.tmf.ctf.core.CtfTmfTrace;
-import org.eclipse.linuxtools.tmf.ctf.core.tests.shared.CtfTmfTestTrace;
-import org.junit.Test;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.NodeList;
-import org.xml.sax.SAXException;
-
-/**
- * Test suite for the XmlStateSystemModule Test. It tests the reading of the
- * file, the header and the module's proper functioning as a module, but not the
- * state system building, which is covered by another test suite.
- *
- * @author Geneviève Bastien
- */
-public class StateProviderModuleTest {
-
- private static String ANALYSIS_ID = "kernel.linux.sp";
- private static String ANALYSIS_NAME = "Xml kernel State System";
-
- private XmlStateSystemModule fModule;
-
- private static Document getXmlDocumentFromFile(File file) {
- /* Initialize the state provider module */
- try {
- DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
- DocumentBuilder dBuilder = dbFactory.newDocumentBuilder();
-
- Document doc = dBuilder.parse(file);
-
- doc.getDocumentElement().normalize();
- return doc;
- } catch (ParserConfigurationException e) {
- fail("Xml document parse exception");
- } catch (SAXException e) {
- fail("Exception parsing xml file");
- } catch (IOException e) {
- fail("File io exception");
- }
- return null;
- }
-
- /**
- * Test the module construction
- */
- @Test
- public void testModuleConstruction() {
-
- Document doc = getXmlDocumentFromFile(TmfXmlTestFiles.VALID_FILE.getFile());
- assertNotNull(doc);
-
- /* get State Providers modules */
- NodeList stateproviderNodes = doc.getElementsByTagName(TmfXmlStrings.STATE_PROVIDER);
- assertTrue(stateproviderNodes.getLength() > 0);
-
- Element node = (Element) stateproviderNodes.item(0);
- fModule = new XmlStateSystemModule();
- String moduleId = node.getAttribute(TmfXmlStrings.ID);
- fModule.setId(moduleId);
- assertEquals(ANALYSIS_ID, fModule.getId());
-
- fModule.setXmlFile(new Path(TmfXmlTestFiles.VALID_FILE.getFile().getAbsolutePath()));
-
- assertEquals(ANALYSIS_NAME, fModule.getName());
- }
-
- /**
- * Test the module executes correctly
- */
- @Test
- public void testModuleExecution() {
- assumeTrue(CtfTmfTestTrace.KERNEL.exists());
-
- Document doc = getXmlDocumentFromFile(TmfXmlTestFiles.VALID_FILE.getFile());
- assertNotNull(doc);
-
- /* get State Providers modules */
- NodeList stateproviderNodes = doc.getElementsByTagName(TmfXmlStrings.STATE_PROVIDER);
-
- Element node = (Element) stateproviderNodes.item(0);
- fModule = new XmlStateSystemModule();
- String moduleId = node.getAttribute(TmfXmlStrings.ID);
- fModule.setId(moduleId);
-
- fModule.setXmlFile(new Path(TmfXmlTestFiles.VALID_FILE.getFile().getAbsolutePath()));
-
- try (CtfTmfTrace trace = CtfTmfTestTrace.KERNEL.getTrace();) {
- fModule.setTrace(trace);
- fModule.schedule();
-
- assertTrue(fModule.waitForCompletion(new NullProgressMonitor()));
- } catch (TmfAnalysisException e) {
- fail("Cannot set trace " + e.getMessage());
- }
-
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.analysis.xml.core.tests/src/org/eclipse/linuxtools/tmf/analysis/xml/core/tests/stateprovider/StateProviderTest.java b/lttng/org.eclipse.linuxtools.tmf.analysis.xml.core.tests/src/org/eclipse/linuxtools/tmf/analysis/xml/core/tests/stateprovider/StateProviderTest.java
deleted file mode 100644
index 79bc3e290a..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.analysis.xml.core.tests/src/org/eclipse/linuxtools/tmf/analysis/xml/core/tests/stateprovider/StateProviderTest.java
+++ /dev/null
@@ -1,122 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 École Polytechnique de Montréal
- *
- * 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:
- * Geneviève Bastien - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.analysis.xml.core.tests.stateprovider;
-
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertTrue;
-import static org.junit.Assert.fail;
-import static org.junit.Assume.assumeTrue;
-
-import java.io.IOException;
-import java.util.List;
-
-import javax.xml.parsers.DocumentBuilder;
-import javax.xml.parsers.DocumentBuilderFactory;
-import javax.xml.parsers.ParserConfigurationException;
-
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.linuxtools.statesystem.core.ITmfStateSystem;
-import org.eclipse.linuxtools.tmf.analysis.xml.core.stateprovider.TmfXmlStrings;
-import org.eclipse.linuxtools.tmf.analysis.xml.core.stateprovider.XmlStateSystemModule;
-import org.eclipse.linuxtools.tmf.analysis.xml.core.tests.common.TmfXmlTestFiles;
-import org.eclipse.linuxtools.tmf.core.exceptions.TmfAnalysisException;
-import org.eclipse.linuxtools.tmf.core.trace.ITmfTrace;
-import org.eclipse.linuxtools.tmf.ctf.core.tests.shared.CtfTmfTestTrace;
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Test;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.NodeList;
-import org.xml.sax.SAXException;
-
-/**
- * Test suite for the xml state providers
- *
- * TODO: instead of using one of the test traces, we should make a custom trace
- * to make sure it covers the different possibilities of the state provider
- *
- * @author Geneviève Bastien
- */
-public class StateProviderTest {
-
- private ITmfTrace fTrace;
- private XmlStateSystemModule fModule;
-
- /**
- * Setup the test fields
- */
- @Before
- public void setupTest() {
- /* Initialize the trace */
- assumeTrue(CtfTmfTestTrace.KERNEL.exists());
- fTrace = CtfTmfTestTrace.KERNEL.getTrace();
-
- /* Initialize the state provider module */
- Document doc = null;
- try {
- DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
- DocumentBuilder dBuilder = dbFactory.newDocumentBuilder();
- doc = dBuilder.parse(TmfXmlTestFiles.VALID_FILE.getFile());
- doc.getDocumentElement().normalize();
- } catch (ParserConfigurationException e) {
- fail("Xml document parse exception");
- } catch (SAXException e) {
- fail("Exception parsing xml file");
- } catch (IOException e) {
- fail("File io exception");
- }
- assertNotNull(doc);
-
- /* get State Providers modules */
- NodeList stateproviderNodes = doc.getElementsByTagName(TmfXmlStrings.STATE_PROVIDER);
-
- Element node = (Element) stateproviderNodes.item(0);
- fModule = new XmlStateSystemModule();
- String moduleId = node.getAttribute(TmfXmlStrings.ID);
- fModule.setId(moduleId);
-
- fModule.setXmlFile(new Path(TmfXmlTestFiles.VALID_FILE.getFile().getAbsolutePath()));
-
- try {
- fModule.setTrace(fTrace);
- fModule.schedule();
- } catch (TmfAnalysisException e) {
- fail("Cannot set trace " + e.getMessage());
- }
- }
-
- /**
- * Cleanup after the test
- */
- @After
- public void cleanupTest() {
- CtfTmfTestTrace.KERNEL.dispose();
- }
-
- /**
- * Test the building of the state system
- */
- @Test
- public void testStateSystem() {
- assertTrue(fModule.waitForCompletion(new NullProgressMonitor()));
- ITmfStateSystem ss = fModule.getStateSystem();
- assertNotNull(ss);
-
- List<Integer> quarks = ss.getQuarks("*");
- assertFalse(quarks.isEmpty());
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.analysis.xml.core.tests/test_xml_files/test_invalid/invalid_view_multipledisplays.xml b/lttng/org.eclipse.linuxtools.tmf.analysis.xml.core.tests/test_xml_files/test_invalid/invalid_view_multipledisplays.xml
deleted file mode 100644
index 3d07d9c811..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.analysis.xml.core.tests/test_xml_files/test_invalid/invalid_view_multipledisplays.xml
+++ /dev/null
@@ -1,35 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- ***************************************************************************
-* Copyright (c) 2014 École Polytechnique de Montréal
-*
-* 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:
-* Geneviève Bastien - Initial API and implementation
-*************************************************************************** -->
-<tmfxml xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:noNamespaceSchemaLocation="xmlDefinition.xsd">
-
- <timeGraphView id="org.eclipse.linuxtools.tmf.analysis.xml.ui.views.statesystem">
- <head>
- <analysis id="kernel.linux.sp" />
- <label value="Xml kernel View" />
- </head>
- <!-- StateValues -->
- <definedValue name="PROCESS_STATUS_UNKNOWN" value="0" color="#EEEEEE" />
- <definedValue name="PROCESS_STATUS_WAIT_BLOCKED" value="1" color="#CCCCCC" />
- <definedValue name="PROCESS_STATUS_RUN_USERMODE" value="2" color="#118811" />
- <definedValue name="PROCESS_STATUS_RUN_SYSCALL" value="3" color="#0000EE" />
- <definedValue name="PROCESS_STATUS_INTERRUPTED" value="4" color="#DDDD00" />
- <definedValue name="PROCESS_STATUS_WAIT_FOR_CPU" value="5" color="#AA0000" />
-
- <!-- Control Flow View -->
- <entry path="CPUs/*">
- <display type="self" />
- <display type="constant" value="a" />
- </entry>
- </timeGraphView>
-</tmfxml> \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.tmf.analysis.xml.core.tests/test_xml_files/test_invalid/invalid_xyview_multipleentry.xml b/lttng/org.eclipse.linuxtools.tmf.analysis.xml.core.tests/test_xml_files/test_invalid/invalid_xyview_multipleentry.xml
deleted file mode 100644
index e3d40ce3c6..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.analysis.xml.core.tests/test_xml_files/test_invalid/invalid_xyview_multipleentry.xml
+++ /dev/null
@@ -1,31 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- ***************************************************************************
-* Copyright (c) 2014 École Polytechnique de Montréal
-*
-* 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:
-* Geneviève Bastien - Initial API and implementation
-*************************************************************************** -->
-<tmfxml xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:noNamespaceSchemaLocation="xmlDefinition.xsd">
-
- <xyView id="org.eclipse.linuxtools.tmf.analysis.xml.ui.views.ustmemory">
- <head>
- <analysis id="org.eclipse.linuxtools.lttng2.ust.analysis.memory" />
- <label value="Xml XY Memory view" />
- </head>
-
- <entry path="*">
- <display type="constant" value="Memory" />
- <name type="constant" value="Procname" />
- </entry>
- <entry path="*/*">
- <display type="constant" value="Memory" />
- <name type="constant" value="Procname" />
- </entry>
- </xyView>
-</tmfxml> \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.tmf.analysis.xml.core.tests/test_xml_files/test_invalid/test_invalid.xml b/lttng/org.eclipse.linuxtools.tmf.analysis.xml.core.tests/test_xml_files/test_invalid/test_invalid.xml
deleted file mode 100644
index 2d4bb70858..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.analysis.xml.core.tests/test_xml_files/test_invalid/test_invalid.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<tmfxml xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:noNamespaceSchemaLocation="stateprovider.xsd">
-
- <!-- This element does not belong to the schema -->
- <element id="fail"></element>
-</tmfxml> \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.tmf.analysis.xml.core.tests/test_xml_files/test_valid/kvm_exits.xml b/lttng/org.eclipse.linuxtools.tmf.analysis.xml.core.tests/test_xml_files/test_valid/kvm_exits.xml
deleted file mode 100644
index 816ebad518..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.analysis.xml.core.tests/test_xml_files/test_valid/kvm_exits.xml
+++ /dev/null
@@ -1,42 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- ***************************************************************************
-* Copyright (c) 2014 École Polytechnique de Montréal
-*
-* 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:
-* Geneviève Bastien - Initial API and implementation
-*************************************************************************** -->
-<tmfxml xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:noNamespaceSchemaLocation="xmlDefinition.xsd">
-
- <xyView id="kernel.kvm.exit.xychart">
- <head>
- <analysis id="kernel.kvm.exit.sp" />
- <label value="Exit reasons" />
- </head>
-
- <entry path="Reasons/*" displayType="delta">
- <display type="self" />
- </entry>
- </xyView>
-
- <stateProvider id="kernel.kvm.exit.sp" version="1">
- <head>
- <traceType id="org.eclipse.linuxtools.lttng2.kernel.tracetype" />
- <label value="KVM exit reasons" />
- </head>
-
- <!-- case 1 : exit_syscall : Fields: int64 ret -->
- <eventHandler eventName="kvm_exit">
- <stateChange>
- <stateAttribute type="constant" value="Reasons" />
- <stateAttribute type="eventField" value="exit_reason" />
- <stateValue type="int" value="1" increment="true" />
- </stateChange>
- </eventHandler>
- </stateProvider>
-</tmfxml> \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.tmf.analysis.xml.core.tests/test_xml_files/test_valid/test_valid.xml b/lttng/org.eclipse.linuxtools.tmf.analysis.xml.core.tests/test_xml_files/test_valid/test_valid.xml
deleted file mode 100644
index ebb22c1d94..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.analysis.xml.core.tests/test_xml_files/test_valid/test_valid.xml
+++ /dev/null
@@ -1,631 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- ***************************************************************************
-* Copyright (c) 2013 École Polytechnique de Montréal
-*
-* 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:
-* Florian Wininger - Initial API and implementation
-*************************************************************************** -->
-<tmfxml xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:noNamespaceSchemaLocation="xmlDefinition.xsd">
-
- <timeGraphView id="org.eclipse.linuxtools.tmf.analysis.xml.ui.views.statesystem">
- <head>
- <analysis id="kernel.linux.sp" />
- <label value="Xml Sample Kernel View" />
- </head>
- <!-- StateValues -->
- <definedValue name="PROCESS_STATUS_UNKNOWN" value="0" color="#EEEEEE" />
- <definedValue name="PROCESS_STATUS_WAIT_BLOCKED" value="1" color="#CCCCCC" />
- <definedValue name="PROCESS_STATUS_RUN_USERMODE" value="2" color="#118811" />
- <definedValue name="PROCESS_STATUS_RUN_SYSCALL" value="3" color="#0000EE" />
- <definedValue name="PROCESS_STATUS_INTERRUPTED" value="4" color="#DDDD00" />
- <definedValue name="PROCESS_STATUS_WAIT_FOR_CPU" value="5" color="#AA0000" />
-
- <!-- Control Flow View -->
- <entry path="CPUs/*">
- <display type="constant" value="Status" />
- <parent type="constant" value="PPID" />
- <name type="constant" value="Exec_name" />
- </entry>
- <entry path="Threads">
- <display type="self" />
- <entry path="*">
- <display type="constant" value="Status" />
- <parent type="constant" value="PPID" />
- <name type="constant" value="Exec_name" />
- </entry>
- </entry>
- </timeGraphView>
-
- <xyView id="org.eclipse.linuxtools.tmf.analysis.xml.core.tests.xy">
- <head>
- <analysis id="kernel.linux.sp" />
- <label value="Xml XY view" />
- </head>
-
- <entry path="CPUs/*">
- <display type="constant" value="Status" />
- <name type="self" />
- </entry>
- </xyView>
-
- <stateProvider id="kernel.linux.sp" version="1">
- <head>
- <traceType id="org.eclipse.linuxtools.lttng2.kernel.tracetype" />
- <label value="Xml kernel State System" />
- </head>
- <!-- StateValues -->
- <definedValue name="CPU_STATUS_IDLE" value="0" />
- <definedValue name="CPU_STATUS_RUN_USERMODE" value="1" />
- <definedValue name="CPU_STATUS_RUN_SYSCALL" value="2" />
- <definedValue name="CPU_STATUS_IRQ" value="3" />
- <definedValue name="CPU_STATUS_SOFTIRQ" value="4" />
-
- <definedValue name="PROCESS_STATUS_UNKNOWN" value="0" />
- <definedValue name="PROCESS_STATUS_WAIT_BLOCKED" value="1" />
- <definedValue name="PROCESS_STATUS_RUN_USERMODE" value="2" />
- <definedValue name="PROCESS_STATUS_RUN_SYSCALL" value="3" />
- <definedValue name="PROCESS_STATUS_INTERRUPTED" value="4" />
- <definedValue name="PROCESS_STATUS_WAIT_FOR_CPU" value="5" />
-
- <definedValue name="SOFT_IRQ_RAISED" value="-2" />
-
- <!-- Shortcut Variables -->
- <location id="CurrentThread">
- <stateAttribute type="constant" value="Threads" />
- <stateAttribute type="query">
- <stateAttribute type="constant" value="CPUs" />
- <stateAttribute type="eventField" value="cpu" />
- <stateAttribute type="constant" value="Current_thread" />
- </stateAttribute>
- </location>
- <location id="CurrentCPU">
- <stateAttribute type="constant" value="CPUs" />
- <stateAttribute type="eventField" value="cpu" />
- </location>
- <location id="CurrentIRQ">
- <stateAttribute type="constant" value="Resources"/>
- <stateAttribute type="constant" value="IRQs"/>
- <stateAttribute type="eventField" value="irq"/>
- </location>
- <location id="CurrentSoftIRQ">
- <stateAttribute type="constant" value="Resources" />
- <stateAttribute type="constant" value="Soft_IRQs" />
- <stateAttribute type="eventField" value="vec" />
- </location>
- <location id="newCurrentThread">
- <stateAttribute type="constant" value="Threads" />
- <stateAttribute type="eventField" value="next_tid" />
- </location>
-
- <!-- case 1 : exit_syscall : Fields: int64 ret -->
- <eventHandler eventName="exit_syscall">
- <stateChange>
- <stateAttribute type="location" value="CurrentThread" />
- <stateAttribute type="constant" value="System_call" />
- <stateValue type="null" />
- </stateChange>
- <stateChange>
- <stateAttribute type="location" value="CurrentThread" />
- <stateAttribute type="constant" value="Status" />
- <stateValue type="int" value="$PROCESS_STATUS_RUN_USERMODE" />
- </stateChange>
- <stateChange>
- <stateAttribute type="location" value="CurrentCPU" />
- <stateAttribute type="constant" value="Status" />
- <stateValue type="int" value="$CPU_STATUS_RUN_USERMODE" />
- </stateChange>
- </eventHandler>
- <!-- case 2 : irq_handler_entry : Fields: int32 irq, string name -->
- <eventHandler eventName="irq_handler_entry">
- <stateChange>
- <stateAttribute type="location" value="CurrentIRQ" />
- <stateValue type="eventField" value="cpu" />
- </stateChange>
- <stateChange>
- <stateAttribute type="location" value="CurrentThread" />
- <stateAttribute type="constant" value="Status" />
- <stateValue type="int" value="$PROCESS_STATUS_INTERRUPTED" />
- </stateChange>
- <stateChange>
- <stateAttribute type="location" value="CurrentCPU" />
- <stateAttribute type="constant" value="Status" />
- <stateValue type="int" value="$CPU_STATUS_IRQ" />
- </stateChange>
- </eventHandler>
- <!-- case 3 : irq_handler_exit : Fields: int32 irq, int32 ret -->
- <eventHandler eventName="irq_handler_exit">
- <stateChange>
- <stateAttribute type="location" value="CurrentIRQ" />
- <stateValue type="null" />
- </stateChange>
- <stateChange>
- <if>
- <condition>
- <stateAttribute type="location" value="CurrentThread" />
- <stateAttribute type="constant" value="System_call" />
- <stateValue type="null" />
- </condition>
- </if>
- <then>
- <stateAttribute type="location" value="CurrentThread" />
- <stateAttribute type="constant" value="Status" />
- <stateValue type="int" value="$PROCESS_STATUS_RUN_USERMODE" />
- </then>
- <else>
- <stateAttribute type="location" value="CurrentThread" />
- <stateAttribute type="constant" value="Status" />
- <stateValue type="int" value="$PROCESS_STATUS_RUN_SYSCALL" />
- </else>
- </stateChange>
- <stateChange>
- <if>
- <condition>
- <stateAttribute type="location" value="CurrentThread" />
- <stateAttribute type="constant" value="System_call" />
- <stateValue type="null" />
- </condition>
- </if>
- <then>
- <stateAttribute type="location" value="CurrentCPU" />
- <stateAttribute type="constant" value="Status" />
- <stateValue type="int" value="$CPU_STATUS_RUN_USERMODE" />
- </then>
- <else>
- <stateAttribute type="location" value="CurrentCPU" />
- <stateAttribute type="constant" value="Status" />
- <stateValue type="int" value="$CPU_STATUS_RUN_SYSCALL" />
- </else>
- </stateChange>
- <stateChange>
- <if>
- <condition>
- <stateAttribute type="location" value="CurrentCPU" />
- <stateAttribute type="constant" value="Current_thread" />
- <stateValue type="null" />
- </condition>
- </if>
- <then>
- <stateAttribute type="location" value="CurrentCPU" />
- <stateAttribute type="constant" value="Status" />
- <stateValue type="int" value="$CPU_STATUS_IDLE" />
- </then>
- </stateChange>
- <stateChange>
- <if>
- <condition>
- <stateAttribute type="location" value="CurrentCPU" />
- <stateAttribute type="constant" value="Current_thread" />
- <stateValue type="int" value="0" />
- </condition>
- </if>
- <then>
- <stateAttribute type="location" value="CurrentCPU" />
- <stateAttribute type="constant" value="Status" />
- <stateValue type="int" value="$CPU_STATUS_IDLE" />
- </then>
- </stateChange>
- </eventHandler>
- <!-- case 4 : softirq_entry : Fields: int32 vec -->
- <eventHandler eventName="softirq_entry">
- <stateChange>
- <stateAttribute type="location" value="CurrentSoftIRQ" />
- <stateValue type="eventField" value="cpu" />
- </stateChange>
- <stateChange>
- <stateAttribute type="location" value="CurrentThread" />
- <stateAttribute type="constant" value="Status" />
- <stateValue type="int" value="$PROCESS_STATUS_INTERRUPTED" />
- </stateChange>
- <stateChange>
- <stateAttribute type="location" value="CurrentCPU" />
- <stateAttribute type="constant" value="Status" />
- <stateValue type="int" value="$CPU_STATUS_SOFTIRQ" />
- </stateChange>
- </eventHandler>
- <!-- case 5 : softirq_exit : Fields: int32 vec -->
- <eventHandler eventName="softirq_exit">
- <stateChange>
- <stateAttribute type="location" value="CurrentSoftIRQ" />
- <stateValue type="null" />
- </stateChange>
- <stateChange>
- <if>
- <condition>
- <stateAttribute type="location" value="CurrentThread" />
- <stateAttribute type="constant" value="System_call" />
- <stateValue type="null" />
- </condition>
- </if>
- <then>
- <stateAttribute type="location" value="CurrentThread" />
- <stateAttribute type="constant" value="Status" />
- <stateValue type="int" value="$PROCESS_STATUS_RUN_USERMODE" />
- </then>
- <else>
- <stateAttribute type="location" value="CurrentThread" />
- <stateAttribute type="constant" value="Status" />
- <stateValue type="int" value="$PROCESS_STATUS_RUN_SYSCALL" />
- </else>
- </stateChange>
- <stateChange>
- <if>
- <condition>
- <stateAttribute type="location" value="CurrentThread" />
- <stateAttribute type="constant" value="System_call" />
- <stateValue type="null" />
- </condition>
- </if>
- <then>
- <stateAttribute type="location" value="CurrentCPU" />
- <stateAttribute type="constant" value="Status" />
- <stateValue type="int" value="$CPU_STATUS_RUN_USERMODE" />
- </then>
- <else>
- <stateAttribute type="location" value="CurrentCPU" />
- <stateAttribute type="constant" value="Status" />
- <stateValue type="int" value="$CPU_STATUS_RUN_SYSCALL" />
- </else>
- </stateChange>
- <stateChange>
- <if>
- <condition>
- <stateAttribute type="location" value="CurrentCPU" />
- <stateAttribute type="constant" value="Current_thread" />
- <stateValue type="null" />
- </condition>
- </if>
- <then>
- <stateAttribute type="location" value="CurrentCPU" />
- <stateAttribute type="constant" value="Status" />
- <stateValue type="int" value="$CPU_STATUS_IDLE" />
- </then>
- </stateChange>
- <stateChange>
- <if>
- <condition>
- <stateAttribute type="location" value="CurrentCPU" />
- <stateAttribute type="constant" value="Current_thread" />
- <stateValue type="int" value="0" />
- </condition>
- </if>
- <then>
- <stateAttribute type="location" value="CurrentCPU" />
- <stateAttribute type="constant" value="Status" />
- <stateValue type="int" value="$CPU_STATUS_IDLE" />
- </then>
- </stateChange>
- </eventHandler>
- <!-- case 6 : softirq_raise : Fields: int32 vec -->
- <eventHandler eventName="softirq_raise">
- <stateChange>
- <stateAttribute type="location" value="CurrentSoftIRQ" />
- <stateValue type="int" value="$SOFT_IRQ_RAISED" />
- </stateChange>
- </eventHandler>
- <!-- case 7 : sched_switch : Fields: string prev_comm, int32 prev_tid,
- int32 prev_prio, int64 prev_state, string next_comm, int32 next_tid, int32
- next_prio -->
- <eventHandler eventName="sched_switch">
- <stateChange>
- <if>
- <condition>
- <field name="prev_state" />
- <stateValue type="long" value="0" />
- </condition>
- </if>
- <then>
- <stateAttribute type="constant" value="Threads" />
- <stateAttribute type="eventField" value="prev_tid" />
- <stateAttribute type="constant" value="Status" />
- <stateValue type="int" value="$PROCESS_STATUS_WAIT_FOR_CPU" />
- </then>
- <else>
- <stateAttribute type="constant" value="Threads" />
- <stateAttribute type="eventField" value="prev_tid" />
- <stateAttribute type="constant" value="Status" />
- <stateValue type="int" value="$PROCESS_STATUS_WAIT_BLOCKED" />
- </else>
- </stateChange>
- <stateChange>
- <if>
- <condition>
- <stateAttribute type="location" value="newCurrentThread" />
- <stateAttribute type="constant" value="System_call" />
- <stateValue type="null" />
- </condition>
- </if>
- <then>
- <stateAttribute type="location" value="newCurrentThread" />
- <stateAttribute type="constant" value="Status" />
- <stateValue type="int" value="$PROCESS_STATUS_RUN_USERMODE" />
- </then>
- <else>
- <stateAttribute type="location" value="newCurrentThread" />
- <stateAttribute type="constant" value="Status" />
- <stateValue type="int" value="$PROCESS_STATUS_RUN_SYSCALL" />
- </else>
- </stateChange>
- <stateChange>
- <stateAttribute type="location" value="newCurrentThread" />
- <stateAttribute type="constant" value="Exec_name" />
- <stateValue type="eventField" value="next_comm" />
- </stateChange>
- <stateChange>
- <stateAttribute type="location" value="CurrentCPU" />
- <stateAttribute type="constant" value="Current_thread" />
- <stateValue type="eventField" value="next_tid" forcedType="int" />
- </stateChange>
- <stateChange>
- <if>
- <not>
- <condition>
- <field name="next_tid" />
- <stateValue type="long" value="0" />
- </condition>
- </not>
- </if>
- <then>
- <if>
- <condition>
- <stateAttribute type="location" value="newCurrentThread" />
- <stateAttribute type="constant" value="System_call" />
- <stateValue type="null" />
- </condition>
- </if>
- <then>
- <stateAttribute type="location" value="CurrentCPU" />
- <stateAttribute type="constant" value="Status" />
- <stateValue type="int" value="$CPU_STATUS_RUN_USERMODE" />
- </then>
- <else>
- <stateAttribute type="location" value="CurrentCPU" />
- <stateAttribute type="constant" value="Status" />
- <stateValue type="int" value="$CPU_STATUS_RUN_SYSCALL" />
- </else>
- </then>
- </stateChange>
- <stateChange>
- <if>
- <condition>
- <field name="next_tid" />
- <stateValue type="long" value="0" />
- </condition>
- </if>
- <then>
- <stateAttribute type="location" value="CurrentCPU" />
- <stateAttribute type="constant" value="Status" />
- <stateValue type="int" value="$CPU_STATUS_IDLE" />
- </then>
- </stateChange>
- </eventHandler>
- <!-- case 8 : sched_process_fork : Fields: string parent_comm, int32 parent_tid,
- string child_comm, int32 child_tid -->
- <eventHandler eventName="sched_process_fork">
- <stateChange>
- <stateAttribute type="constant" value="Threads" />
- <stateAttribute type="eventField" value="child_tid" />
- <stateAttribute type="constant" value="PPID" />
- <stateValue type="eventField" value="parent_tid" forcedType="int" />
- </stateChange>
- <stateChange>
- <stateAttribute type="constant" value="Threads" />
- <stateAttribute type="eventField" value="child_tid" />
- <stateAttribute type="constant" value="Exec_name" />
- <stateValue type="eventField" value="child_comm" />
- </stateChange>
- <stateChange>
- <stateAttribute type="constant" value="Threads" />
- <stateAttribute type="eventField" value="child_tid" />
- <stateAttribute type="constant" value="Status" />
- <stateValue type="int" value="$PROCESS_STATUS_WAIT_FOR_CPU" />
- </stateChange>
- <stateChange>
- <stateAttribute type="constant" value="Threads" />
- <stateAttribute type="eventField" value="child_tid" />
- <stateAttribute type="constant" value="System_call" />
- <stateValue type="query">
- <stateAttribute type="constant" value="Threads" />
- <stateAttribute type="eventField" value="parent_tid" />
- <stateAttribute type="constant" value="System_call" />
- </stateValue>
- </stateChange>
- <stateChange>
- <if>
- <condition>
- <stateAttribute type="constant" value="Threads" />
- <stateAttribute type="eventField" value="child_tid" />
- <stateAttribute type="constant" value="System_call" />
- <stateValue type="null" />
- </condition>
- </if>
- <then>
- <stateAttribute type="constant" value="Threads" />
- <stateAttribute type="eventField" value="child_tid" />
- <stateAttribute type="constant" value="System_call" />
- <stateValue type="string" value="sys_clone" />
- </then>
- </stateChange>
- </eventHandler>
- <!-- case 10 : sched_process_free : Fields: string parent_comm, int32 parent_tid,
- string child_comm, int32 child_tid -->
- <eventHandler eventName="sched_process_free">
- <stateChange>
- <stateAttribute type="constant" value="Threads" />
- <stateAttribute type="eventField" value="tid" />
- <stateValue type="delete" />
- </stateChange>
- </eventHandler>
- <!-- case 11 : lttng_statedump_process_state : Fields: int32 type, int32
- mode, int32 pid, int32 submode, int32 vpid, int32 ppid, int32 tid, string
- name, int32 status, int32 vtid -->
- <eventHandler eventName="lttng_statedump_process_state">
- <stateChange>
- <if>
- <condition>
- <stateAttribute type="constant" value="Threads" />
- <stateAttribute type="eventField" value="tid" />
- <stateAttribute type="constant" value="Exec_name" />
- <stateValue type="null" />
- </condition>
- </if>
- <then>
- <stateAttribute type="constant" value="Threads" />
- <stateAttribute type="eventField" value="tid" />
- <stateAttribute type="constant" value="Exec_name" />
- <stateValue type="eventField" value="name" />
- </then>
- </stateChange>
- <stateChange>
- <if>
- <condition>
- <stateAttribute type="constant" value="Threads" />
- <stateAttribute type="eventField" value="tid" />
- <stateAttribute type="constant" value="PPID" />
- <stateValue type="null" />
- </condition>
- </if>
- <then>
- <stateAttribute type="constant" value="Threads" />
- <stateAttribute type="eventField" value="tid" />
- <stateAttribute type="constant" value="PPID" />
- <stateValue type="eventField" value="ppid" forcedType="int" />
- </then>
- </stateChange>
- <stateChange>
- <if>
- <and>
- <condition>
- <stateAttribute type="constant" value="Threads" />
- <stateAttribute type="eventField" value="tid" />
- <stateAttribute type="constant" value="Status" />
- <stateValue type="null" />
- </condition>
- <condition>
- <field name="status" />
- <stateValue type="long" value="2" />
- </condition>
- </and>
- </if>
- <then>
- <stateAttribute type="constant" value="Threads" />
- <stateAttribute type="eventField" value="tid" />
- <stateAttribute type="constant" value="Status" />
- <stateValue type="int" value="$PROCESS_STATUS_WAIT_FOR_CPU" />
- </then>
- </stateChange>
- <stateChange>
- <if>
- <and>
- <condition>
- <stateAttribute type="constant" value="Threads" />
- <stateAttribute type="eventField" value="tid" />
- <stateAttribute type="constant" value="Status" />
- <stateValue type="null" />
- </condition>
- <condition>
- <field name="status" />
- <stateValue type="long" value="5" />
- </condition>
- </and>
- </if>
- <then>
- <stateAttribute type="constant" value="Threads" />
- <stateAttribute type="eventField" value="tid" />
- <stateAttribute type="constant" value="Status" />
- <stateValue type="int" value="$PROCESS_STATUS_WAIT_BLOCKED" />
- </then>
- </stateChange>
- <stateChange>
- <if>
- <condition>
- <stateAttribute type="constant" value="Threads" />
- <stateAttribute type="eventField" value="tid" />
- <stateAttribute type="constant" value="Status" />
- <stateValue type="null" />
- </condition>
- </if>
- <then>
- <stateAttribute type="constant" value="Threads" />
- <stateAttribute type="eventField" value="tid" />
- <stateAttribute type="constant" value="Status" />
- <stateValue type="int" value="$PROCESS_STATUS_UNKNOWN" />
- </then>
- </stateChange>
- </eventHandler>
- <!-- case 12 : sched_wakeup : case 13 : sched_wakeup_new : Fields (same
- fields for both types): string comm, int32 tid, int32 prio, int32 success,
- int32 target_cpu -->
- <eventHandler eventName="sched_wakeup*">
- <stateChange>
- <if>
- <and>
- <not>
- <condition>
- <stateAttribute type="constant" value="Threads" />
- <stateAttribute type="eventField" value="tid" />
- <stateAttribute type="constant" value="Status" />
- <stateValue type="int" value="$PROCESS_STATUS_RUN_USERMODE" />
- </condition>
- </not>
- <not>
- <condition>
- <stateAttribute type="constant" value="Threads" />
- <stateAttribute type="eventField" value="tid" />
- <stateAttribute type="constant" value="Status" />
- <stateValue type="int" value="$PROCESS_STATUS_RUN_SYSCALL" />
- </condition>
- </not>
- </and>
- </if>
- <then>
- <stateAttribute type="constant" value="Threads" />
- <stateAttribute type="eventField" value="tid" />
- <stateAttribute type="constant" value="Status" />
- <stateValue type="int" value="$PROCESS_STATUS_WAIT_FOR_CPU" />
- </then>
- </stateChange>
- </eventHandler>
- <!-- delfault : syscall -->
- <eventHandler eventName="sys_*">
- <stateChange>
- <stateAttribute type="location" value="CurrentThread" />
- <stateAttribute type="constant" value="System_call" />
- <stateValue type="eventName" />
- </stateChange>
- <stateChange>
- <stateAttribute type="location" value="CurrentThread" />
- <stateAttribute type="constant" value="Status" />
- <stateValue type="int" value="$PROCESS_STATUS_RUN_SYSCALL" />
- </stateChange>
- <stateChange>
- <stateAttribute type="location" value="CurrentCPU" />
- <stateAttribute type="constant" value="Status" />
- <stateValue type="int" value="$CPU_STATUS_RUN_SYSCALL" />
- </stateChange>
- </eventHandler>
- <!-- delfault : compat_syscall -->
- <eventHandler eventName="compat_sys_*">
- <stateChange>
- <stateAttribute type="location" value="CurrentThread" />
- <stateAttribute type="constant" value="System_call" />
- <stateValue type="eventName" />
- </stateChange>
- <stateChange>
- <stateAttribute type="location" value="CurrentThread" />
- <stateAttribute type="constant" value="Status" />
- <stateValue type="int" value="$PROCESS_STATUS_RUN_SYSCALL" />
- </stateChange>
- <stateChange>
- <stateAttribute type="location" value="CurrentCPU" />
- <stateAttribute type="constant" value="Status" />
- <stateValue type="int" value="$CPU_STATUS_RUN_SYSCALL" />
- </stateChange>
- </eventHandler>
- </stateProvider>
-</tmfxml> \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.tmf.analysis.xml.core/.classpath b/lttng/org.eclipse.linuxtools.tmf.analysis.xml.core/.classpath
deleted file mode 100644
index 098194ca4b..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.analysis.xml.core/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
- <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.7"/>
- <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
- <classpathentry kind="src" path="src"/>
- <classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/lttng/org.eclipse.linuxtools.tmf.analysis.xml.core/.project b/lttng/org.eclipse.linuxtools.tmf.analysis.xml.core/.project
deleted file mode 100644
index 9fb9fb08d5..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.analysis.xml.core/.project
+++ /dev/null
@@ -1,34 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>org.eclipse.linuxtools.tmf.analysis.xml.core</name>
- <comment></comment>
- <projects>
- </projects>
- <buildSpec>
- <buildCommand>
- <name>org.eclipse.jdt.core.javabuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.ManifestBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.SchemaBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.api.tools.apiAnalysisBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>org.eclipse.pde.PluginNature</nature>
- <nature>org.eclipse.jdt.core.javanature</nature>
- <nature>org.eclipse.pde.api.tools.apiAnalysisNature</nature>
- </natures>
-</projectDescription>
diff --git a/lttng/org.eclipse.linuxtools.tmf.analysis.xml.core/.settings/org.eclipse.core.resources.prefs b/lttng/org.eclipse.linuxtools.tmf.analysis.xml.core/.settings/org.eclipse.core.resources.prefs
deleted file mode 100644
index 99f26c0203..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.analysis.xml.core/.settings/org.eclipse.core.resources.prefs
+++ /dev/null
@@ -1,2 +0,0 @@
-eclipse.preferences.version=1
-encoding/<project>=UTF-8
diff --git a/lttng/org.eclipse.linuxtools.tmf.analysis.xml.core/.settings/org.eclipse.core.runtime.prefs b/lttng/org.eclipse.linuxtools.tmf.analysis.xml.core/.settings/org.eclipse.core.runtime.prefs
deleted file mode 100644
index 5a0ad22d2a..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.analysis.xml.core/.settings/org.eclipse.core.runtime.prefs
+++ /dev/null
@@ -1,2 +0,0 @@
-eclipse.preferences.version=1
-line.separator=\n
diff --git a/lttng/org.eclipse.linuxtools.tmf.analysis.xml.core/.settings/org.eclipse.jdt.core.prefs b/lttng/org.eclipse.linuxtools.tmf.analysis.xml.core/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index 9f3662cd78..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.analysis.xml.core/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,394 +0,0 @@
-eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.annotation.inheritNullAnnotations=enabled
-org.eclipse.jdt.core.compiler.annotation.missingNonNullByDefaultAnnotation=ignore
-org.eclipse.jdt.core.compiler.annotation.nonnull=org.eclipse.jdt.annotation.NonNull
-org.eclipse.jdt.core.compiler.annotation.nonnullbydefault=org.eclipse.jdt.annotation.NonNullByDefault
-org.eclipse.jdt.core.compiler.annotation.nullable=org.eclipse.jdt.annotation.Nullable
-org.eclipse.jdt.core.compiler.annotation.nullanalysis=enabled
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.7
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.doc.comment.support=enabled
-org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=error
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
-org.eclipse.jdt.core.compiler.problem.comparingIdentical=error
-org.eclipse.jdt.core.compiler.problem.deadCode=error
-org.eclipse.jdt.core.compiler.problem.deprecation=error
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled
-org.eclipse.jdt.core.compiler.problem.discouragedReference=warning
-org.eclipse.jdt.core.compiler.problem.emptyStatement=error
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.problem.explicitlyClosedAutoCloseable=error
-org.eclipse.jdt.core.compiler.problem.fallthroughCase=error
-org.eclipse.jdt.core.compiler.problem.fatalOptionalError=disabled
-org.eclipse.jdt.core.compiler.problem.fieldHiding=error
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=error
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=error
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=error
-org.eclipse.jdt.core.compiler.problem.includeNullInfoFromAsserts=disabled
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=error
-org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=error
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=error
-org.eclipse.jdt.core.compiler.problem.invalidJavadoc=warning
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTags=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=protected
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=error
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=error
-org.eclipse.jdt.core.compiler.problem.missingDefaultCase=error
-org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=error
-org.eclipse.jdt.core.compiler.problem.missingEnumCaseDespiteDefault=enabled
-org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=error
-org.eclipse.jdt.core.compiler.problem.missingJavadocComments=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=protected
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagDescription=all_standard_tags
-org.eclipse.jdt.core.compiler.problem.missingJavadocTags=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsMethodTypeParameters=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=protected
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=error
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotationForInterfaceMethodImplementation=enabled
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=error
-org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=error
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=error
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=error
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=warning
-org.eclipse.jdt.core.compiler.problem.nonnullParameterAnnotationDropped=warning
-org.eclipse.jdt.core.compiler.problem.nullAnnotationInferenceConflict=warning
-org.eclipse.jdt.core.compiler.problem.nullReference=error
-org.eclipse.jdt.core.compiler.problem.nullSpecViolation=error
-org.eclipse.jdt.core.compiler.problem.nullUncheckedConversion=warning
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=error
-org.eclipse.jdt.core.compiler.problem.parameterAssignment=error
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=error
-org.eclipse.jdt.core.compiler.problem.potentialNullReference=error
-org.eclipse.jdt.core.compiler.problem.potentiallyUnclosedCloseable=warning
-org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning
-org.eclipse.jdt.core.compiler.problem.redundantNullAnnotation=warning
-org.eclipse.jdt.core.compiler.problem.redundantNullCheck=error
-org.eclipse.jdt.core.compiler.problem.redundantSpecificationOfTypeArguments=error
-org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=error
-org.eclipse.jdt.core.compiler.problem.reportMethodCanBePotentiallyStatic=ignore
-org.eclipse.jdt.core.compiler.problem.reportMethodCanBeStatic=error
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=error
-org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=disabled
-org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
-org.eclipse.jdt.core.compiler.problem.syntacticNullAnalysisForFields=enabled
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
-org.eclipse.jdt.core.compiler.problem.typeParameterHiding=error
-org.eclipse.jdt.core.compiler.problem.unavoidableGenericTypeProblems=disabled
-org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
-org.eclipse.jdt.core.compiler.problem.unclosedCloseable=error
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
-org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=error
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=error
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=error
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=warning
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=disabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=disabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=error
-org.eclipse.jdt.core.compiler.problem.unusedLabel=error
-org.eclipse.jdt.core.compiler.problem.unusedLocal=error
-org.eclipse.jdt.core.compiler.problem.unusedObjectAllocation=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=error
-org.eclipse.jdt.core.compiler.problem.unusedTypeParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedWarningToken=error
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=error
-org.eclipse.jdt.core.compiler.source=1.7
-org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_assignment=0
-org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
-org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
-org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
-org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
-org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0
-org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=80
-org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=0
-org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch=16
-org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_after_package=1
-org.eclipse.jdt.core.formatter.blank_lines_before_field=0
-org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
-org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
-org.eclipse.jdt.core.formatter.blank_lines_before_method=1
-org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
-org.eclipse.jdt.core.formatter.blank_lines_before_package=0
-org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
-org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
-org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
-org.eclipse.jdt.core.formatter.comment.format_block_comments=true
-org.eclipse.jdt.core.formatter.comment.format_header=false
-org.eclipse.jdt.core.formatter.comment.format_html=true
-org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=true
-org.eclipse.jdt.core.formatter.comment.format_line_comments=true
-org.eclipse.jdt.core.formatter.comment.format_source_code=true
-org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true
-org.eclipse.jdt.core.formatter.comment.indent_root_tags=true
-org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
-org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=insert
-org.eclipse.jdt.core.formatter.comment.line_length=80
-org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries=true
-org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries=true
-org.eclipse.jdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments=false
-org.eclipse.jdt.core.formatter.compact_else_if=true
-org.eclipse.jdt.core.formatter.continuation_indentation=2
-org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2
-org.eclipse.jdt.core.formatter.disabling_tag=@formatter\:off
-org.eclipse.jdt.core.formatter.enabling_tag=@formatter\:on
-org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
-org.eclipse.jdt.core.formatter.format_line_comment_starting_on_first_column=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
-org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_empty_lines=false
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=false
-org.eclipse.jdt.core.formatter.indentation.size=4
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_label=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_try=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources=insert
-org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_try=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
-org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.join_lines_in_comments=true
-org.eclipse.jdt.core.formatter.join_wrapped_lines=false
-org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.lineSplit=250
-org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
-org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
-org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true
-org.eclipse.jdt.core.formatter.tabulation.char=space
-org.eclipse.jdt.core.formatter.tabulation.size=4
-org.eclipse.jdt.core.formatter.use_on_off_tags=false
-org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
-org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
-org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true
-org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true
diff --git a/lttng/org.eclipse.linuxtools.tmf.analysis.xml.core/.settings/org.eclipse.jdt.ui.prefs b/lttng/org.eclipse.linuxtools.tmf.analysis.xml.core/.settings/org.eclipse.jdt.ui.prefs
deleted file mode 100644
index 4fd0c7006a..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.analysis.xml.core/.settings/org.eclipse.jdt.ui.prefs
+++ /dev/null
@@ -1,56 +0,0 @@
-eclipse.preferences.version=1
-editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
-formatter_profile=_tmf-style
-formatter_settings_version=12
-sp_cleanup.add_default_serial_version_id=true
-sp_cleanup.add_generated_serial_version_id=false
-sp_cleanup.add_missing_annotations=false
-sp_cleanup.add_missing_deprecated_annotations=true
-sp_cleanup.add_missing_methods=false
-sp_cleanup.add_missing_nls_tags=false
-sp_cleanup.add_missing_override_annotations=true
-sp_cleanup.add_missing_override_annotations_interface_methods=true
-sp_cleanup.add_serial_version_id=false
-sp_cleanup.always_use_blocks=true
-sp_cleanup.always_use_parentheses_in_expressions=false
-sp_cleanup.always_use_this_for_non_static_field_access=false
-sp_cleanup.always_use_this_for_non_static_method_access=false
-sp_cleanup.convert_to_enhanced_for_loop=false
-sp_cleanup.correct_indentation=false
-sp_cleanup.format_source_code=false
-sp_cleanup.format_source_code_changes_only=false
-sp_cleanup.make_local_variable_final=false
-sp_cleanup.make_parameters_final=false
-sp_cleanup.make_private_fields_final=true
-sp_cleanup.make_type_abstract_if_missing_method=false
-sp_cleanup.make_variable_declarations_final=false
-sp_cleanup.never_use_blocks=false
-sp_cleanup.never_use_parentheses_in_expressions=true
-sp_cleanup.on_save_use_additional_actions=true
-sp_cleanup.organize_imports=false
-sp_cleanup.qualify_static_field_accesses_with_declaring_class=false
-sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_with_declaring_class=false
-sp_cleanup.qualify_static_method_accesses_with_declaring_class=false
-sp_cleanup.remove_private_constructors=true
-sp_cleanup.remove_trailing_whitespaces=true
-sp_cleanup.remove_trailing_whitespaces_all=true
-sp_cleanup.remove_trailing_whitespaces_ignore_empty=false
-sp_cleanup.remove_unnecessary_casts=false
-sp_cleanup.remove_unnecessary_nls_tags=false
-sp_cleanup.remove_unused_imports=false
-sp_cleanup.remove_unused_local_variables=false
-sp_cleanup.remove_unused_private_fields=true
-sp_cleanup.remove_unused_private_members=false
-sp_cleanup.remove_unused_private_methods=true
-sp_cleanup.remove_unused_private_types=true
-sp_cleanup.sort_members=false
-sp_cleanup.sort_members_all=false
-sp_cleanup.use_blocks=true
-sp_cleanup.use_blocks_only_for_return_and_throw=false
-sp_cleanup.use_parentheses_in_expressions=false
-sp_cleanup.use_this_for_non_static_field_access=false
-sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=true
-sp_cleanup.use_this_for_non_static_method_access=false
-sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true
diff --git a/lttng/org.eclipse.linuxtools.tmf.analysis.xml.core/.settings/org.eclipse.pde.api.tools.prefs b/lttng/org.eclipse.linuxtools.tmf.analysis.xml.core/.settings/org.eclipse.pde.api.tools.prefs
deleted file mode 100644
index acc3abd47c..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.analysis.xml.core/.settings/org.eclipse.pde.api.tools.prefs
+++ /dev/null
@@ -1,97 +0,0 @@
-ANNOTATION_ELEMENT_TYPE_ADDED_METHOD_WITHOUT_DEFAULT_VALUE=Error
-ANNOTATION_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
-ANNOTATION_ELEMENT_TYPE_REMOVED_FIELD=Error
-ANNOTATION_ELEMENT_TYPE_REMOVED_METHOD=Error
-ANNOTATION_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
-API_COMPONENT_ELEMENT_TYPE_REMOVED_API_TYPE=Error
-API_COMPONENT_ELEMENT_TYPE_REMOVED_REEXPORTED_API_TYPE=Error
-API_COMPONENT_ELEMENT_TYPE_REMOVED_REEXPORTED_TYPE=Error
-API_COMPONENT_ELEMENT_TYPE_REMOVED_TYPE=Error
-API_USE_SCAN_FIELD_SEVERITY=Error
-API_USE_SCAN_METHOD_SEVERITY=Error
-API_USE_SCAN_TYPE_SEVERITY=Error
-CLASS_ELEMENT_TYPE_ADDED_METHOD=Error
-CLASS_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
-CLASS_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
-CLASS_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error
-CLASS_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
-CLASS_ELEMENT_TYPE_CHANGED_NON_ABSTRACT_TO_ABSTRACT=Error
-CLASS_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error
-CLASS_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
-CLASS_ELEMENT_TYPE_REMOVED_CONSTRUCTOR=Error
-CLASS_ELEMENT_TYPE_REMOVED_FIELD=Error
-CLASS_ELEMENT_TYPE_REMOVED_METHOD=Error
-CLASS_ELEMENT_TYPE_REMOVED_SUPERCLASS=Error
-CLASS_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
-CLASS_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
-CONSTRUCTOR_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
-CONSTRUCTOR_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
-CONSTRUCTOR_ELEMENT_TYPE_CHANGED_VARARGS_TO_ARRAY=Error
-CONSTRUCTOR_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
-ENUM_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error
-ENUM_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
-ENUM_ELEMENT_TYPE_REMOVED_ENUM_CONSTANT=Error
-ENUM_ELEMENT_TYPE_REMOVED_FIELD=Error
-ENUM_ELEMENT_TYPE_REMOVED_METHOD=Error
-ENUM_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
-FIELD_ELEMENT_TYPE_ADDED_VALUE=Error
-FIELD_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
-FIELD_ELEMENT_TYPE_CHANGED_FINAL_TO_NON_FINAL_STATIC_CONSTANT=Error
-FIELD_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error
-FIELD_ELEMENT_TYPE_CHANGED_NON_STATIC_TO_STATIC=Error
-FIELD_ELEMENT_TYPE_CHANGED_STATIC_TO_NON_STATIC=Error
-FIELD_ELEMENT_TYPE_CHANGED_TYPE=Error
-FIELD_ELEMENT_TYPE_CHANGED_VALUE=Error
-FIELD_ELEMENT_TYPE_REMOVED_TYPE_ARGUMENT=Error
-FIELD_ELEMENT_TYPE_REMOVED_VALUE=Error
-ILLEGAL_EXTEND=Warning
-ILLEGAL_IMPLEMENT=Warning
-ILLEGAL_INSTANTIATE=Warning
-ILLEGAL_OVERRIDE=Warning
-ILLEGAL_REFERENCE=Warning
-INTERFACE_ELEMENT_TYPE_ADDED_FIELD=Error
-INTERFACE_ELEMENT_TYPE_ADDED_METHOD=Error
-INTERFACE_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
-INTERFACE_ELEMENT_TYPE_ADDED_SUPER_INTERFACE_WITH_METHODS=Error
-INTERFACE_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
-INTERFACE_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error
-INTERFACE_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
-INTERFACE_ELEMENT_TYPE_REMOVED_FIELD=Error
-INTERFACE_ELEMENT_TYPE_REMOVED_METHOD=Error
-INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
-INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
-INVALID_JAVADOC_TAG=Warning
-INVALID_REFERENCE_IN_SYSTEM_LIBRARIES=Warning
-LEAK_EXTEND=Warning
-LEAK_FIELD_DECL=Warning
-LEAK_IMPLEMENT=Warning
-LEAK_METHOD_PARAM=Warning
-LEAK_METHOD_RETURN_TYPE=Warning
-METHOD_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
-METHOD_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
-METHOD_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
-METHOD_ELEMENT_TYPE_CHANGED_NON_ABSTRACT_TO_ABSTRACT=Error
-METHOD_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error
-METHOD_ELEMENT_TYPE_CHANGED_NON_STATIC_TO_STATIC=Error
-METHOD_ELEMENT_TYPE_CHANGED_STATIC_TO_NON_STATIC=Error
-METHOD_ELEMENT_TYPE_CHANGED_VARARGS_TO_ARRAY=Error
-METHOD_ELEMENT_TYPE_REMOVED_ANNOTATION_DEFAULT_VALUE=Error
-METHOD_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
-MISSING_EE_DESCRIPTIONS=Ignore
-TYPE_PARAMETER_ELEMENT_TYPE_ADDED_CLASS_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_ADDED_INTERFACE_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_CHANGED_CLASS_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_CHANGED_INTERFACE_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_CLASS_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error
-UNUSED_PROBLEM_FILTERS=Warning
-automatically_removed_unused_problem_filters=false
-eclipse.preferences.version=1
-incompatible_api_component_version=Error
-incompatible_api_component_version_include_major_without_breaking_change=Disabled
-incompatible_api_component_version_include_minor_without_api_change=Disabled
-invalid_since_tag_version=Error
-malformed_since_tag=Error
-missing_since_tag=Error
-report_api_breakage_when_major_version_incremented=Disabled
-report_resolution_errors_api_component=Warning
diff --git a/lttng/org.eclipse.linuxtools.tmf.analysis.xml.core/.settings/org.eclipse.pde.prefs b/lttng/org.eclipse.linuxtools.tmf.analysis.xml.core/.settings/org.eclipse.pde.prefs
deleted file mode 100644
index d92b94fd4b..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.analysis.xml.core/.settings/org.eclipse.pde.prefs
+++ /dev/null
@@ -1,32 +0,0 @@
-compilers.f.unresolved-features=1
-compilers.f.unresolved-plugins=1
-compilers.incompatible-environment=1
-compilers.p.build=1
-compilers.p.build.bin.includes=1
-compilers.p.build.encodings=2
-compilers.p.build.java.compiler=2
-compilers.p.build.java.compliance=1
-compilers.p.build.missing.output=2
-compilers.p.build.output.library=1
-compilers.p.build.source.library=1
-compilers.p.build.src.includes=1
-compilers.p.deprecated=1
-compilers.p.discouraged-class=1
-compilers.p.internal=1
-compilers.p.missing-packages=1
-compilers.p.missing-version-export-package=2
-compilers.p.missing-version-import-package=2
-compilers.p.missing-version-require-bundle=2
-compilers.p.no-required-att=0
-compilers.p.not-externalized-att=1
-compilers.p.unknown-attribute=1
-compilers.p.unknown-class=1
-compilers.p.unknown-element=1
-compilers.p.unknown-identifier=1
-compilers.p.unknown-resource=1
-compilers.p.unresolved-ex-points=0
-compilers.p.unresolved-import=0
-compilers.s.create-docs=false
-compilers.s.doc-folder=doc
-compilers.s.open-tags=1
-eclipse.preferences.version=1
diff --git a/lttng/org.eclipse.linuxtools.tmf.analysis.xml.core/META-INF/MANIFEST.MF b/lttng/org.eclipse.linuxtools.tmf.analysis.xml.core/META-INF/MANIFEST.MF
deleted file mode 100644
index 30a372056d..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.analysis.xml.core/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,18 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %Bundle-Name
-Bundle-Vendor: %Bundle-Vendor
-Bundle-Version: 1.2.0.qualifier
-Bundle-Localization: plugin
-Bundle-SymbolicName: org.eclipse.linuxtools.tmf.analysis.xml.core;singleton:=true
-Bundle-Activator: org.eclipse.linuxtools.internal.tmf.analysis.xml.core.Activator
-Bundle-RequiredExecutionEnvironment: JavaSE-1.7
-Bundle-ActivationPolicy: lazy
-Require-Bundle: org.eclipse.core.runtime,
- org.eclipse.linuxtools.tmf.core
-Export-Package: org.eclipse.linuxtools.internal.tmf.analysis.xml.core;x-friends:="org.eclipse.linuxtools.tmf.analysis.xml.core.tests",
- org.eclipse.linuxtools.tmf.analysis.xml.core.model,
- org.eclipse.linuxtools.tmf.analysis.xml.core.model.readonly,
- org.eclipse.linuxtools.tmf.analysis.xml.core.model.readwrite,
- org.eclipse.linuxtools.tmf.analysis.xml.core.module,
- org.eclipse.linuxtools.tmf.analysis.xml.core.stateprovider
diff --git a/lttng/org.eclipse.linuxtools.tmf.analysis.xml.core/about.html b/lttng/org.eclipse.linuxtools.tmf.analysis.xml.core/about.html
deleted file mode 100644
index c258ef55d8..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.analysis.xml.core/about.html
+++ /dev/null
@@ -1,28 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
-<title>About</title>
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
-
-<p>June 5, 2006</p>
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;). Unless otherwise
-indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is available
-at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is
-being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content. Check the Redistributor's license that was
-provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at <a href="http://www.eclipse.org/">http://www.eclipse.org</a>.</p>
-
-</body>
-</html> \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.tmf.analysis.xml.core/build.properties b/lttng/org.eclipse.linuxtools.tmf.analysis.xml.core/build.properties
deleted file mode 100644
index c41c68cce4..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.analysis.xml.core/build.properties
+++ /dev/null
@@ -1,21 +0,0 @@
-###############################################################################
-# Copyright (c) 2014 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:
-# Ericsson - Initial API and implementation
-###############################################################################
-source.. = src/
-output.. = bin/
-bin.includes = META-INF/,\
- .,\
- plugin.properties,\
- about.html,\
- plugin.xml
-src.includes = about.html
-additional.bundles = org.eclipse.jdt.annotation
-jars.extra.classpath = platform:/plugin/org.eclipse.jdt.annotation
diff --git a/lttng/org.eclipse.linuxtools.tmf.analysis.xml.core/plugin.properties b/lttng/org.eclipse.linuxtools.tmf.analysis.xml.core/plugin.properties
deleted file mode 100644
index d90d593f73..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.analysis.xml.core/plugin.properties
+++ /dev/null
@@ -1,17 +0,0 @@
-###############################################################################
-# Copyright (c) 2013, 2014 École Polytechnique de Montréal
-#
-# 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:
-# École Polytechnique de Montréal - Initial API and implementation
-###############################################################################
-
-#Properties file for org.eclipse.linuxtools.tmf.core
-Bundle-Vendor = Eclipse Linux Tools
-Bundle-Name = Linux Tools TMF XML Analysis Core Plug-in
-
-extensionpoint.xml_files.name = Plugin's builtin XML files \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.tmf.analysis.xml.core/plugin.xml b/lttng/org.eclipse.linuxtools.tmf.analysis.xml.core/plugin.xml
deleted file mode 100644
index 6ebb1f6eab..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.analysis.xml.core/plugin.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.4"?>
-<plugin>
- <extension-point id="org.eclipse.linuxtools.tmf.analysis.xml.core.files" name="%extensionpoint.xml_files.name" schema="schema/org.eclipse.linuxtools.tmf.analysis.xml.core.files.exsd"/>
-
-</plugin>
diff --git a/lttng/org.eclipse.linuxtools.tmf.analysis.xml.core/pom.xml b/lttng/org.eclipse.linuxtools.tmf.analysis.xml.core/pom.xml
deleted file mode 100644
index 3695da4e76..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.analysis.xml.core/pom.xml
+++ /dev/null
@@ -1,45 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Copyright (C) 2013, École Polytechnique de Montréal
-
- 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
--->
-<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
- <modelVersion>4.0.0</modelVersion>
-
- <parent>
- <artifactId>linuxtools-lttng-parent</artifactId>
- <groupId>org.eclipse.linuxtools.lttng</groupId>
- <version>3.2.0-SNAPSHOT</version>
- </parent>
-
- <artifactId>org.eclipse.linuxtools.tmf.analysis.xml.core</artifactId>
- <version>1.2.0-SNAPSHOT</version>
- <packaging>eclipse-plugin</packaging>
-
- <name>Linux Tools TMF Xml Analysis Core Plug-in</name>
-
- <build>
- <!-- workaround for https://issues.sonatype.org/browse/TYCHO-168 -->
- <resources>
- <resource>
- <directory>src</directory>
- <excludes>
- <exclude>**/*.java</exclude>
- </excludes>
- </resource>
- </resources>
- <plugins>
- <plugin>
- <groupId>org.eclipse.tycho</groupId>
- <artifactId>tycho-source-plugin</artifactId>
- </plugin>
- </plugins>
- </build>
-
- <groupId>org.eclipse.linuxtools.tmf</groupId>
-</project>
diff --git a/lttng/org.eclipse.linuxtools.tmf.analysis.xml.core/schema/org.eclipse.linuxtools.tmf.analysis.xml.core.files.exsd b/lttng/org.eclipse.linuxtools.tmf.analysis.xml.core/schema/org.eclipse.linuxtools.tmf.analysis.xml.core.files.exsd
deleted file mode 100644
index fbbefa1063..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.analysis.xml.core/schema/org.eclipse.linuxtools.tmf.analysis.xml.core.files.exsd
+++ /dev/null
@@ -1,114 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!-- Schema file written by PDE -->
-<schema targetNamespace="org.eclipse.linuxtools.tmf.analysis.xml.core" xmlns="http://www.w3.org/2001/XMLSchema">
-<annotation>
- <appinfo>
- <meta.schema plugin="org.eclipse.linuxtools.tmf.analysis.xml.core" id="org.eclipse.linuxtools.tmf.analysis.xml.core.files" name="Builtin XML files"/>
- </appinfo>
- <documentation>
- This extension point is used by plugins to contribute built-in XML files to provide XML-defined components. The files will not be writeable, but they can be copied and modified locally in the workspace by a user.
- </documentation>
- </annotation>
-
- <element name="extension">
- <annotation>
- <appinfo>
- <meta.element />
- </appinfo>
- </annotation>
- <complexType>
- <sequence>
- <element ref="xmlfile" minOccurs="1" maxOccurs="unbounded"/>
- </sequence>
- <attribute name="point" type="string" use="required">
- <annotation>
- <documentation>
- a fully qualified identifier of the target extension point
- </documentation>
- </annotation>
- </attribute>
- <attribute name="id" type="string">
- <annotation>
- <documentation>
- an optional identifier of the extension instance
- </documentation>
- </annotation>
- </attribute>
- <attribute name="name" type="string">
- <annotation>
- <documentation>
- an optional name of the extension instance
- </documentation>
- <appinfo>
- <meta.attribute translatable="true"/>
- </appinfo>
- </annotation>
- </attribute>
- </complexType>
- </element>
-
- <element name="xmlfile">
- <complexType>
- <attribute name="file" type="string" use="required">
- <annotation>
- <documentation>
- The path to the XML file containing the XML-defined components.
- </documentation>
- <appinfo>
- <meta.attribute kind="resource"/>
- </appinfo>
- </annotation>
- </attribute>
- </complexType>
- </element>
-
- <annotation>
- <appinfo>
- <meta.section type="since"/>
- </appinfo>
- <documentation>
- 1.0
- </documentation>
- </annotation>
-
- <annotation>
- <appinfo>
- <meta.section type="examples"/>
- </appinfo>
- <documentation>
- &lt;p&gt;
-The xml file path is relative to the plugin&apos;s root directory. Here is an example where a plugin adds an XML file name &apos;test_builtin.xml&apos; located in the &apos;test_xml_files&apos; directory.
-&lt;/p&gt;
-
-&lt;extension
- point=&quot;org.eclipse.linuxtools.tmf.analysis.xml.core.files&quot;&gt;
- &lt;xmlfile
- file=&quot;test_xml_files/test_builtin.xml&quot;&gt;
- &lt;/xmlfile&gt;
-&lt;/extension&gt;
- </documentation>
- </annotation>
-
- <annotation>
- <appinfo>
- <meta.section type="apiinfo"/>
- </appinfo>
- <documentation>
- &lt;p&gt;
-The XML file advertised by this extension point should validate with the XML plugin&apos;s XSD files, or otherwise, it will be ignored. To validate it with the XSD, it can be imported in a project from a running TMF before adding it to an extension point. Any error will be reported.
-&lt;/p&gt;
- </documentation>
- </annotation>
-
- <annotation>
- <appinfo>
- <meta.section type="copyright"/>
- </appinfo>
- <documentation>
- Copyright (c) 2014 École Polytechnique de Montréal
-
-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 &lt;a href=&quot;http://www.eclipse.org/legal/epl-v10.html&quot;&gt;http://www.eclipse.org/legal/epl-v10.html&lt;/a&gt;
- </documentation>
- </annotation>
-
-</schema>
diff --git a/lttng/org.eclipse.linuxtools.tmf.analysis.xml.core/src/org/eclipse/linuxtools/internal/tmf/analysis/xml/core/Activator.java b/lttng/org.eclipse.linuxtools.tmf.analysis.xml.core/src/org/eclipse/linuxtools/internal/tmf/analysis/xml/core/Activator.java
deleted file mode 100644
index 115b273be2..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.analysis.xml.core/src/org/eclipse/linuxtools/internal/tmf/analysis/xml/core/Activator.java
+++ /dev/null
@@ -1,163 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013, 2014 École Polytechnique de Montréal
- *
- * 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:
- * Geneviève Bastien - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.internal.tmf.analysis.xml.core;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Plugin;
-import org.eclipse.core.runtime.Status;
-import org.osgi.framework.BundleContext;
-
-/**
- * The activator class controls the plug-in life cycle
- *
- * @author Geneviève Bastien
- */
-public class Activator extends Plugin {
-
- /** The plug-in ID */
- public static final String PLUGIN_ID = "org.eclipse.linuxtools.tmf.analysis.xml.core"; //$NON-NLS-1$
-
- // The shared instance
- private static Activator fPlugin;
-
- /**
- * The constructor
- */
- public Activator() {
- setDefault(this);
- }
-
- @Override
- public void start(BundleContext context) throws Exception {
- super.start(context);
- setDefault(this);
- }
-
- @Override
- public void stop(BundleContext context) throws Exception {
- setDefault(null);
- super.stop(context);
- }
-
- /**
- * Returns the shared instance
- *
- * @return the shared instance
- */
- public static Activator getDefault() {
- return fPlugin;
- }
-
- // Sets plug-in instance
- private static void setDefault(Activator plugin) {
- fPlugin = plugin;
- }
-
- // ------------------------------------------------------------------------
- // Log an IStatus
- // ------------------------------------------------------------------------
-
- /**
- * Log an IStatus object directly
- *
- * @param status
- * The status to log
- */
- public static void log(IStatus status) {
- fPlugin.getLog().log(status);
- }
-
- // ------------------------------------------------------------------------
- // Log INFO
- // ------------------------------------------------------------------------
-
- /**
- * Logs a message with severity INFO in the runtime log of the plug-in.
- *
- * @param message
- * A message to log
- */
- public static void logInfo(String message) {
- fPlugin.getLog().log(new Status(IStatus.INFO, PLUGIN_ID, message));
- }
-
- /**
- * Logs a message and exception with severity INFO in the runtime log of the
- * plug-in.
- *
- * @param message
- * A message to log
- * @param exception
- * The corresponding exception
- */
- public static void logInfo(String message, Throwable exception) {
- fPlugin.getLog().log(new Status(IStatus.INFO, PLUGIN_ID, message, exception));
- }
-
- // ------------------------------------------------------------------------
- // Log WARNING
- // ------------------------------------------------------------------------
-
- /**
- * Logs a message and exception with severity WARNING in the runtime log of
- * the plug-in.
- *
- * @param message
- * A message to log
- */
- public static void logWarning(String message) {
- fPlugin.getLog().log(new Status(IStatus.WARNING, PLUGIN_ID, message));
- }
-
- /**
- * Logs a message and exception with severity WARNING in the runtime log of
- * the plug-in.
- *
- * @param message
- * A message to log
- * @param exception
- * The corresponding exception
- */
- public static void logWarning(String message, Throwable exception) {
- fPlugin.getLog().log(new Status(IStatus.WARNING, PLUGIN_ID, message, exception));
- }
-
- // ------------------------------------------------------------------------
- // Log ERROR
- // ------------------------------------------------------------------------
-
- /**
- * Logs a message and exception with severity ERROR in the runtime log of
- * the plug-in.
- *
- * @param message
- * A message to log
- */
- public static void logError(String message) {
- fPlugin.getLog().log(new Status(IStatus.ERROR, PLUGIN_ID, message));
- }
-
- /**
- * Logs a message and exception with severity ERROR in the runtime log of
- * the plug-in.
- *
- * @param message
- * A message to log
- * @param exception
- * The corresponding exception
- */
- public static void logError(String message, Throwable exception) {
- fPlugin.getLog().log(new Status(IStatus.ERROR, PLUGIN_ID, message, exception));
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.analysis.xml.core/src/org/eclipse/linuxtools/tmf/analysis/xml/core/model/ITmfXmlModelFactory.java b/lttng/org.eclipse.linuxtools.tmf.analysis.xml.core/src/org/eclipse/linuxtools/tmf/analysis/xml/core/model/ITmfXmlModelFactory.java
deleted file mode 100644
index bf7bdde065..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.analysis.xml.core/src/org/eclipse/linuxtools/tmf/analysis/xml/core/model/ITmfXmlModelFactory.java
+++ /dev/null
@@ -1,112 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 École Polytechnique de Montréal
- *
- * 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:
- * Geneviève Bastien - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.analysis.xml.core.model;
-
-import java.util.List;
-
-import org.eclipse.linuxtools.tmf.analysis.xml.core.module.IXmlStateSystemContainer;
-import org.w3c.dom.Element;
-
-/**
- * Interface to create XML model elements in different contexts. This allows to
- * reuse the same XML syntax and parsers, but use the elements differently
- * depending on the what is intended to be done with them.
- *
- * @author Geneviève Bastien
- */
-public interface ITmfXmlModelFactory {
-
- /**
- * Create a new XML state attribute
- *
- * @param attribute
- * XML element of the attribute
- * @param container
- * The state system container this state attribute belongs to
- * @return The new state attribute
- */
- ITmfXmlStateAttribute createStateAttribute(Element attribute, IXmlStateSystemContainer container);
-
- /**
- * Create a new state value where the value corresponds to a path of
- * {@link ITmfXmlStateAttribute}
- *
- * @param node
- * The state value XML element
- * @param container
- * The state system container this state value belongs to
- * @param attributes
- * The attributes representing the path to this value
- * @return The new state value
- */
- ITmfXmlStateValue createStateValue(Element node, IXmlStateSystemContainer container, List<ITmfXmlStateAttribute> attributes);
-
- /**
- * Create a new state value where the value corresponds to a field in an
- * event
- *
- * @param node
- * The state value XML element
- * @param container
- * The state system container this state value belongs to
- * @param eventField
- * The event field where to get the value
- * @return The new state value
- */
- ITmfXmlStateValue createStateValue(Element node, IXmlStateSystemContainer container, String eventField);
-
- /**
- * Create a new XML condition
- *
- * @param node
- * The XML root of this condition
- * @param container
- * The state system container this condition belongs to
- * @return The new XML condition
- */
- TmfXmlCondition createCondition(Element node, IXmlStateSystemContainer container);
-
- /**
- * Create a new XML event handler
- *
- * @param node
- * The XML event handler element
- * @param container
- * The state system container this state value belongs to
- * @return The new XML event handler
- */
- TmfXmlEventHandler createEventHandler(Element node, IXmlStateSystemContainer container);
-
- /**
- * Create a new XML state change
- *
- * @param node
- * The XML state change element
- * @param container
- * The state system container this state change belongs to
- * @return The new XML state change
- */
- TmfXmlStateChange createStateChange(Element node, IXmlStateSystemContainer container);
-
- /**
- * Create a new XML location
- *
- * @param node
- * The XML location element
- * @param container
- * The state system container this location belongs to
- * @return The new XML location
- */
- TmfXmlLocation createLocation(Element node, IXmlStateSystemContainer container);
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.analysis.xml.core/src/org/eclipse/linuxtools/tmf/analysis/xml/core/model/ITmfXmlStateAttribute.java b/lttng/org.eclipse.linuxtools.tmf.analysis.xml.core/src/org/eclipse/linuxtools/tmf/analysis/xml/core/model/ITmfXmlStateAttribute.java
deleted file mode 100644
index efb362b793..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.analysis.xml.core/src/org/eclipse/linuxtools/tmf/analysis/xml/core/model/ITmfXmlStateAttribute.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 École Polytechnique de Montréal
- *
- * 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:
- * Geneviève Bastien - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.analysis.xml.core.model;
-
-import org.eclipse.linuxtools.tmf.analysis.xml.core.module.IXmlStateSystemContainer;
-import org.eclipse.linuxtools.tmf.core.event.ITmfEvent;
-
-/**
- * Interface that describe a state attribute defined in an XML element
- *
- * @author Geneviève Bastien
- */
-public interface ITmfXmlStateAttribute {
-
- /**
- * This method gets the quark for this state attribute in the State System.
- *
- * Unless this attribute is a location, in which case the quark must exist,
- * the quark will be added to the state system if the state system is in
- * builder mode.
- *
- * @param startQuark
- * root quark, use {@link IXmlStateSystemContainer#ROOT_QUARK} to search
- * the full attribute tree
- * @return the quark described by attribute or
- * {@link IXmlStateSystemContainer#ERROR_QUARK} if quark cannot be found
- */
- int getAttributeQuark(int startQuark);
-
- /**
- * This method gets the quark for this state attribute in the State System.
- *
- * Unless this attribute is a location, in which case the quark must exist,
- * the quark will be added to the state system if the state system is in
- * builder mode.
- *
- * @param event
- * The current event being handled
- * @param startQuark
- * root quark, use {@link IXmlStateSystemContainer#ROOT_QUARK} to search
- * the full attribute tree
- * @return the quark described by attribute or
- * {@link IXmlStateSystemContainer#ERROR_QUARK} if quark cannot be found
- */
- int getAttributeQuark(ITmfEvent event, int startQuark);
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.analysis.xml.core/src/org/eclipse/linuxtools/tmf/analysis/xml/core/model/ITmfXmlStateValue.java b/lttng/org.eclipse.linuxtools.tmf.analysis.xml.core/src/org/eclipse/linuxtools/tmf/analysis/xml/core/model/ITmfXmlStateValue.java
deleted file mode 100644
index 623d1fa3d1..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.analysis.xml.core/src/org/eclipse/linuxtools/tmf/analysis/xml/core/model/ITmfXmlStateValue.java
+++ /dev/null
@@ -1,78 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 École Polytechnique de Montréal
- *
- * 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:
- * Geneviève Bastien - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.analysis.xml.core.model;
-
-import java.util.List;
-
-import org.eclipse.jdt.annotation.NonNull;
-import org.eclipse.jdt.annotation.Nullable;
-import org.eclipse.linuxtools.statesystem.core.exceptions.AttributeNotFoundException;
-import org.eclipse.linuxtools.statesystem.core.exceptions.StateValueTypeException;
-import org.eclipse.linuxtools.statesystem.core.exceptions.TimeRangeException;
-import org.eclipse.linuxtools.statesystem.core.statevalue.ITmfStateValue;
-import org.eclipse.linuxtools.tmf.core.event.ITmfEvent;
-
-/**
- * Interface that describe operations on a state value described in an XML
- * element
- *
- * @author Geneviève Bastien
- */
-public interface ITmfXmlStateValue {
-
- /**
- * Get the current {@link ITmfStateValue} of this state value for an event.
- * It does not increment the value and does not any other processing of the
- * value.
- *
- * @param event
- * The current event or <code>null</code> if no event is
- * available.
- * @return the {@link ITmfStateValue}
- * @throws AttributeNotFoundException
- * May be thrown by the state system during the query
- */
- ITmfStateValue getValue(@Nullable ITmfEvent event) throws AttributeNotFoundException;
-
- /**
- * Get the value of the event field that is the path of this state value
- *
- * @param event
- * The current event
- * @return the value of the event field
- */
- ITmfStateValue getEventFieldValue(@NonNull ITmfEvent event);
-
- /**
- * Get the list of state attributes, the path to the state value
- *
- * @return the list of Attribute to have the path in the State System
- */
- List<ITmfXmlStateAttribute> getAttributes();
-
- /**
- * Handles an event, by setting the value of the attribute described by the
- * state attribute path in the state system.
- *
- * @param event
- * The event to process
- * @throws AttributeNotFoundException
- * Pass through the exception it received
- * @throws TimeRangeException
- * Pass through the exception it received
- * @throws StateValueTypeException
- * Pass through the exception it received
- */
- void handleEvent(@NonNull ITmfEvent event) throws AttributeNotFoundException, StateValueTypeException, TimeRangeException;
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.analysis.xml.core/src/org/eclipse/linuxtools/tmf/analysis/xml/core/model/TmfXmlCondition.java b/lttng/org.eclipse.linuxtools.tmf.analysis.xml.core/src/org/eclipse/linuxtools/tmf/analysis/xml/core/model/TmfXmlCondition.java
deleted file mode 100644
index 71679d2a4b..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.analysis.xml.core/src/org/eclipse/linuxtools/tmf/analysis/xml/core/model/TmfXmlCondition.java
+++ /dev/null
@@ -1,217 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 Ecole Polytechnique de Montreal
- *
- * 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:
- * Florian Wininger - Initial API and implementation
- ******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.analysis.xml.core.model;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.jdt.annotation.NonNull;
-import org.eclipse.linuxtools.statesystem.core.ITmfStateSystem;
-import org.eclipse.linuxtools.statesystem.core.exceptions.AttributeNotFoundException;
-import org.eclipse.linuxtools.statesystem.core.statevalue.ITmfStateValue;
-import org.eclipse.linuxtools.tmf.analysis.xml.core.module.IXmlStateSystemContainer;
-import org.eclipse.linuxtools.tmf.analysis.xml.core.module.XmlUtils;
-import org.eclipse.linuxtools.tmf.analysis.xml.core.stateprovider.TmfXmlStrings;
-import org.eclipse.linuxtools.tmf.core.event.ITmfEvent;
-import org.w3c.dom.Element;
-
-/**
- * This Class implement a condition tree in the XML-defined state system.
- *
- * <pre>
- * example:
- * <and>
- * <condition>
- * <stateAttribute type="location" value="CurrentThread" />
- * <stateAttribute type="constant" value="System_call" />
- * <stateValue type="null" />
- * </condition>
- * <condition>
- * </condition>
- * </and>
- * </pre>
- *
- * @author Florian Wininger
- */
-public class TmfXmlCondition {
-
- private final List<TmfXmlCondition> fConditions = new ArrayList<>();
- private final ITmfXmlStateValue fStateValue;
- private final ConditionOperator fOperator;
- private final IXmlStateSystemContainer fContainer;
-
- private enum ConditionOperator {
- NONE,
- NOT,
- AND,
- OR,
- }
-
- /**
- * Constructor
- *
- * @param modelFactory
- * The factory used to create XML model elements
- * @param node
- * The XML root of this condition
- * @param container
- * The state system container this condition belongs to
- */
- public TmfXmlCondition(ITmfXmlModelFactory modelFactory, Element node, IXmlStateSystemContainer container) {
- fContainer = container;
-
- Element rootNode = node;
- /* Process the conditions: in each case, only process Element nodes */
- List<Element> childElements = XmlUtils.getChildElements(rootNode);
-
- /*
- * If the node is an if, take the child as the root condition
- *
- * FIXME: Maybe the caller should do this instead.
- */
- if (node.getNodeName().equals(TmfXmlStrings.IF)) {
- if (childElements.isEmpty()) {
- throw new IllegalArgumentException("TmfXmlCondition constructor: IF node has no child element"); //$NON-NLS-1$
- }
- rootNode = childElements.get(0);
- childElements = XmlUtils.getChildElements(rootNode);
- }
-
- switch (rootNode.getNodeName()) {
- case TmfXmlStrings.CONDITION:
- fOperator = ConditionOperator.NONE;
- /* The last element is a state value node */
- Element stateValueElement = childElements.remove(childElements.size() - 1);
-
- /*
- * A state value is either preceded by an eventField or a number of
- * state attributes
- */
- if (childElements.size() == 1 && childElements.get(0).getNodeName().equals(TmfXmlStrings.ELEMENT_FIELD)) {
- fStateValue = modelFactory.createStateValue(stateValueElement, fContainer, childElements.get(0).getAttribute(TmfXmlStrings.NAME));
- } else {
- List<ITmfXmlStateAttribute> attributes = new ArrayList<>();
- for (Element element : childElements) {
- if (!element.getNodeName().equals(TmfXmlStrings.STATE_ATTRIBUTE)) {
- throw new IllegalArgumentException("TmfXmlCondition: a condition either has a eventField element or a number of TmfXmlStateAttribute elements before the state value"); //$NON-NLS-1$
- }
- ITmfXmlStateAttribute attribute = modelFactory.createStateAttribute(element, fContainer);
- attributes.add(attribute);
- }
- fStateValue = modelFactory.createStateValue(stateValueElement, fContainer, attributes);
- }
- break;
- case TmfXmlStrings.NOT:
- fOperator = ConditionOperator.NOT;
- fStateValue = null;
- fConditions.add(modelFactory.createCondition(childElements.get(0), fContainer));
- break;
- case TmfXmlStrings.AND:
- fOperator = ConditionOperator.AND;
- fStateValue = null;
- for (Element condition : childElements) {
- fConditions.add(modelFactory.createCondition(condition, fContainer));
- }
- break;
- case TmfXmlStrings.OR:
- fOperator = ConditionOperator.OR;
- fStateValue = null;
- for (Element condition : childElements) {
- fConditions.add(modelFactory.createCondition(condition, fContainer));
- }
- break;
- default:
- throw new IllegalArgumentException("TmfXmlCondition constructor: XML node is of the wrong type"); //$NON-NLS-1$
- }
- }
-
- /**
- * Test the result of the condition for an event
- *
- * @param event
- * The event on which to test the condition
- * @return Whether the condition is true or not
- * @throws AttributeNotFoundException
- * The state attribute was not found
- */
- public boolean testForEvent(@NonNull ITmfEvent event) throws AttributeNotFoundException {
- ITmfStateSystem ss = fContainer.getStateSystem();
- /*
- * The condition is either the equality check of a state value or a
- * boolean operation on other conditions
- */
- if (fStateValue != null) {
- ITmfXmlStateValue filter = fStateValue;
- int quark = IXmlStateSystemContainer.ROOT_QUARK;
- for (ITmfXmlStateAttribute attribute : filter.getAttributes()) {
- quark = attribute.getAttributeQuark(event, quark);
- /*
- * When verifying a condition, the state attribute must exist,
- * if it does not, the query is not valid, we stop the condition
- * check
- */
- if (quark == IXmlStateSystemContainer.ERROR_QUARK) {
- throw new AttributeNotFoundException();
- }
- }
-
- /* Get the value to compare to from the XML file */
- ITmfStateValue valueXML;
- valueXML = filter.getValue(event);
-
- /*
- * The actual value: it can be either queried in the state system or
- * found in the event
- */
- ITmfStateValue valueState = (quark != IXmlStateSystemContainer.ROOT_QUARK) ? ss.queryOngoingState(quark) :
- filter.getEventFieldValue(event);
-
- return valueXML.equals(valueState);
-
- } else if (!fConditions.isEmpty()) {
- /* Verify a condition tree */
- switch (fOperator) {
- case AND:
- for (TmfXmlCondition childCondition : fConditions) {
- if (!childCondition.testForEvent(event)) {
- return false;
- }
- }
- return true;
- case NONE:
- break;
- case NOT:
- return !fConditions.get(0).testForEvent(event);
- case OR:
- for (TmfXmlCondition childCondition : fConditions) {
- if (childCondition.testForEvent(event)) {
- return true;
- }
- }
- return false;
- default:
- break;
-
- }
- } else {
- throw new IllegalStateException("TmfXmlCondition: the condition should be either a state value or be the result of a condition tree"); //$NON-NLS-1$
- }
- return true;
- }
-
- @Override
- public String toString() {
- return "TmfXmlCondition: " + fOperator + " on " + fConditions; //$NON-NLS-1$ //$NON-NLS-2$
- }
-
-} \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.tmf.analysis.xml.core/src/org/eclipse/linuxtools/tmf/analysis/xml/core/model/TmfXmlEventHandler.java b/lttng/org.eclipse.linuxtools.tmf.analysis.xml.core/src/org/eclipse/linuxtools/tmf/analysis/xml/core/model/TmfXmlEventHandler.java
deleted file mode 100644
index 4540fa57ee..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.analysis.xml.core/src/org/eclipse/linuxtools/tmf/analysis/xml/core/model/TmfXmlEventHandler.java
+++ /dev/null
@@ -1,135 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 Ecole Polytechnique de Montreal
- *
- * 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:
- * Florian Wininger - Initial API and implementation
- ******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.analysis.xml.core.model;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.jdt.annotation.NonNull;
-import org.eclipse.linuxtools.internal.tmf.analysis.xml.core.Activator;
-import org.eclipse.linuxtools.statesystem.core.exceptions.AttributeNotFoundException;
-import org.eclipse.linuxtools.statesystem.core.exceptions.StateValueTypeException;
-import org.eclipse.linuxtools.statesystem.core.exceptions.TimeRangeException;
-import org.eclipse.linuxtools.tmf.analysis.xml.core.module.IXmlStateSystemContainer;
-import org.eclipse.linuxtools.tmf.analysis.xml.core.stateprovider.TmfXmlStrings;
-import org.eclipse.linuxtools.tmf.core.event.ITmfEvent;
-import org.w3c.dom.Element;
-import org.w3c.dom.NodeList;
-
-/**
- * This Class implements an EventHandler in the XML-defined state system
- *
- * <pre>
- * example:
- * <eventHandler eventName="eventName">
- * <stateChange>
- * ...
- * </stateChange>
- * <stateChange>
- * ...
- * </stateChange>
- * </eventHandler>
- * </pre>
- *
- * @author Florian Wininger
- */
-public class TmfXmlEventHandler {
-
- /* list of states changes */
- private final List<TmfXmlStateChange> fStateChangeList = new ArrayList<>();
- private final String fName;
- private final IXmlStateSystemContainer fParent;
-
- /**
- * Constructor
- *
- * @param modelFactory
- * The factory used to create XML model elements
- * @param node
- * XML event handler element
- * @param parent
- * The state system container this event handler belongs to
- */
- public TmfXmlEventHandler(ITmfXmlModelFactory modelFactory, Element node, IXmlStateSystemContainer parent) {
- fParent = parent;
- fName = node.getAttribute(TmfXmlStrings.HANDLER_EVENT_NAME);
-
- NodeList nodesChanges = node.getElementsByTagName(TmfXmlStrings.STATE_CHANGE);
- /* load state changes */
- for (int i = 0; i < nodesChanges.getLength(); i++) {
- TmfXmlStateChange stateChange = modelFactory.createStateChange((Element) nodesChanges.item(i), fParent);
- fStateChangeList.add(stateChange);
- }
- }
-
- private boolean appliesToEvent(ITmfEvent event) {
- String eventName = event.getType().getName();
-
- /* test for full name */
- if (eventName.equals(fName)) {
- return true;
- }
-
- /* test for the wildcard at the end */
- if ((fName.endsWith(TmfXmlStrings.WILDCARD) && eventName.startsWith(fName.replace(TmfXmlStrings.WILDCARD, TmfXmlStrings.NULL)))) {
- return true;
- }
- return false;
- }
-
- /**
- * If the event handler can handle the event, it applies all state changes
- * to modify the state system accordingly
- *
- * @param event
- * The trace event to handle
- */
- public void handleEvent(@NonNull ITmfEvent event) {
- if (!appliesToEvent(event)) {
- return;
- }
-
- /* Process all state changes */
- for (TmfXmlStateChange stateChange : fStateChangeList) {
- try {
- stateChange.handleEvent(event);
- } catch (AttributeNotFoundException ae) {
- /*
- * This would indicate a problem with the logic of the manager
- * here, so it shouldn't happen.
- */
- Activator.logError("Attribute not found", ae); //$NON-NLS-1$
- } catch (TimeRangeException tre) {
- /*
- * This would happen if the events in the trace aren't ordered
- * chronologically, which should never be the case ...
- */
- Activator.logError("TimeRangeException caught in the state system's event manager. Are the events in the trace correctly ordered?", tre); //$NON-NLS-1$
- } catch (StateValueTypeException sve) {
- /*
- * This would happen if we were trying to push/pop attributes
- * not of type integer. Which, once again, should never happen.
- */
- Activator.logError("State value type error", sve); //$NON-NLS-1$
- }
-
- }
-
- }
-
- @Override
- public String toString() {
- return "TmfXmlEventHandler: " + fName; //$NON-NLS-1$
- }
-
-} \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.tmf.analysis.xml.core/src/org/eclipse/linuxtools/tmf/analysis/xml/core/model/TmfXmlLocation.java b/lttng/org.eclipse.linuxtools.tmf.analysis.xml.core/src/org/eclipse/linuxtools/tmf/analysis/xml/core/model/TmfXmlLocation.java
deleted file mode 100644
index 817a3bed29..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.analysis.xml.core/src/org/eclipse/linuxtools/tmf/analysis/xml/core/model/TmfXmlLocation.java
+++ /dev/null
@@ -1,125 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 Ecole Polytechnique de Montreal
- *
- * 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:
- * Florian Wininger - Initial API and implementation
- ******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.analysis.xml.core.model;
-
-import java.util.LinkedList;
-import java.util.List;
-
-import org.eclipse.linuxtools.tmf.analysis.xml.core.module.IXmlStateSystemContainer;
-import org.eclipse.linuxtools.tmf.analysis.xml.core.module.XmlUtils;
-import org.eclipse.linuxtools.tmf.analysis.xml.core.stateprovider.TmfXmlStrings;
-import org.eclipse.linuxtools.tmf.core.event.ITmfEvent;
-import org.w3c.dom.Element;
-
-/**
- * This Class implements a Location in the XML-defined state system, ie a named
- * shortcut to reach a given attribute, used in state attributes
- *
- * <pre>
- * example:
- * <location id="CurrentCPU">
- * <stateAttribute type="constant" value="CPUs" />
- * <stateAttribute type="eventField" name="cpu" />
- * ...
- * </location>
- * </pre>
- *
- * @author Florian Wininger
- */
-public class TmfXmlLocation {
-
- /** Path in the State System */
- private final List<ITmfXmlStateAttribute> fPath = new LinkedList<>();
-
- /** ID : name of the location */
- private final String fId;
- private final IXmlStateSystemContainer fContainer;
-
- /**
- * Constructor
- *
- * @param modelFactory
- * The factory used to create XML model elements
- * @param location
- * XML node element
- * @param container
- * The state system container this location belongs to
- */
- public TmfXmlLocation(ITmfXmlModelFactory modelFactory, Element location, IXmlStateSystemContainer container) {
- fId = location.getAttribute(TmfXmlStrings.ID);
- fContainer = container;
-
- List<Element> childElements = XmlUtils.getChildElements(location);
- for (Element attribute : childElements) {
- ITmfXmlStateAttribute xAttribute = modelFactory.createStateAttribute(attribute, fContainer);
- fPath.add(xAttribute);
- }
- }
-
- /**
- * Get the id of the location
- *
- * @return The id of a location
- */
- public String getId() {
- return fId;
- }
-
- /**
- * Get the quark for the path represented by this location
- *
- * @param event
- * The event being handled
- * @param startQuark
- * The starting quark for relative search, use
- * {@link IXmlStateSystemContainer#ROOT_QUARK} for the root of
- * the attribute tree
- * @return The quark at the leaf of the path
- */
- public int getLocationQuark(ITmfEvent event, int startQuark) {
- int quark = startQuark;
- for (ITmfXmlStateAttribute attrib : fPath) {
- quark = attrib.getAttributeQuark(event, quark);
- if (quark == IXmlStateSystemContainer.ERROR_QUARK) {
- break;
- }
- }
- return quark;
- }
-
- /**
- * Get the quark for the path represented by this location
- *
- * @param startQuark
- * The starting quark for relative search, use
- * {@link IXmlStateSystemContainer#ROOT_QUARK} for the root of
- * the attribute tree
- * @return The quark at the leaf of the path
- */
- public int getLocationQuark(int startQuark) {
- int quark = startQuark;
- for (ITmfXmlStateAttribute attrib : fPath) {
- quark = attrib.getAttributeQuark(quark);
- if (quark == IXmlStateSystemContainer.ERROR_QUARK) {
- break;
- }
- }
- return quark;
- }
-
- @Override
- public String toString() {
- return "TmfXmlLocation " + fId + ": " + fPath; //$NON-NLS-1$ //$NON-NLS-2$
- }
-
-} \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.tmf.analysis.xml.core/src/org/eclipse/linuxtools/tmf/analysis/xml/core/model/TmfXmlStateAttribute.java b/lttng/org.eclipse.linuxtools.tmf.analysis.xml.core/src/org/eclipse/linuxtools/tmf/analysis/xml/core/model/TmfXmlStateAttribute.java
deleted file mode 100644
index 020b4311e0..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.analysis.xml.core/src/org/eclipse/linuxtools/tmf/analysis/xml/core/model/TmfXmlStateAttribute.java
+++ /dev/null
@@ -1,327 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 Ecole Polytechnique de Montreal
- *
- * 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:
- * Florian Wininger - Initial API and implementation
- ******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.analysis.xml.core.model;
-
-import java.util.LinkedList;
-import java.util.List;
-
-import org.eclipse.jdt.annotation.Nullable;
-import org.eclipse.linuxtools.internal.tmf.analysis.xml.core.Activator;
-import org.eclipse.linuxtools.statesystem.core.ITmfStateSystem;
-import org.eclipse.linuxtools.statesystem.core.ITmfStateSystemBuilder;
-import org.eclipse.linuxtools.statesystem.core.exceptions.AttributeNotFoundException;
-import org.eclipse.linuxtools.statesystem.core.exceptions.StateValueTypeException;
-import org.eclipse.linuxtools.statesystem.core.statevalue.ITmfStateValue;
-import org.eclipse.linuxtools.statesystem.core.statevalue.TmfStateValue;
-import org.eclipse.linuxtools.tmf.analysis.xml.core.module.IXmlStateSystemContainer;
-import org.eclipse.linuxtools.tmf.analysis.xml.core.module.XmlUtils;
-import org.eclipse.linuxtools.tmf.analysis.xml.core.stateprovider.TmfXmlStrings;
-import org.eclipse.linuxtools.tmf.core.event.ITmfEvent;
-import org.eclipse.linuxtools.tmf.core.event.ITmfEventField;
-import org.w3c.dom.Element;
-
-/**
- * This Class implements a single attribute value in the XML-defined state
- * system.
- *
- * <pre>
- * Examples:
- * <stateAttribute type="constant" value="Threads" />
- * <stateAttribute type="query" />
- * <stateAttribute type="constant" value="CPUs" />
- * <stateAttribute type="eventField" value="cpu" />
- * <stateAttribute type="constant" value="Current_thread" />
- * </attribute>
- * </pre>
- *
- * @author Florian Wininger
- */
-public abstract class TmfXmlStateAttribute implements ITmfXmlStateAttribute {
-
- private enum StateAttributeType {
- NONE,
- CONSTANT,
- EVENTFIELD,
- QUERY,
- LOCATION,
- SELF
- }
-
- /** Type of attribute */
- private final StateAttributeType fType;
-
- /** Attribute's name */
- private final String fName;
-
- /** List of attributes for a query */
- private final List<ITmfXmlStateAttribute> fQueryList = new LinkedList<>();
-
- private final IXmlStateSystemContainer fContainer;
-
- /**
- * Constructor
- *
- * @param modelFactory
- * The factory used to create XML model elements
- * @param attribute
- * XML element of the attribute
- * @param container
- * The state system container this state attribute belongs to
- */
- protected TmfXmlStateAttribute(ITmfXmlModelFactory modelFactory, Element attribute, IXmlStateSystemContainer container) {
- fContainer = container;
-
- switch (attribute.getAttribute(TmfXmlStrings.TYPE)) {
- case TmfXmlStrings.TYPE_CONSTANT:
- fType = StateAttributeType.CONSTANT;
- fName = fContainer.getAttributeValue(attribute.getAttribute(TmfXmlStrings.VALUE));
- break;
- case TmfXmlStrings.EVENT_FIELD:
- fType = StateAttributeType.EVENTFIELD;
- fName = fContainer.getAttributeValue(attribute.getAttribute(TmfXmlStrings.VALUE));
- break;
- case TmfXmlStrings.TYPE_LOCATION:
- fType = StateAttributeType.LOCATION;
- fName = fContainer.getAttributeValue(attribute.getAttribute(TmfXmlStrings.VALUE));
- break;
- case TmfXmlStrings.TYPE_QUERY:
- List<Element> childElements = XmlUtils.getChildElements(attribute);
- for (Element subAttributeNode : childElements) {
- ITmfXmlStateAttribute subAttribute = modelFactory.createStateAttribute(subAttributeNode, fContainer);
- fQueryList.add(subAttribute);
- }
- fType = StateAttributeType.QUERY;
- fName = null;
- break;
- case TmfXmlStrings.NULL:
- fType = StateAttributeType.NONE;
- fName = null;
- break;
- case TmfXmlStrings.TYPE_SELF:
- fType = StateAttributeType.SELF;
- fName = null;
- break;
- default:
- throw new IllegalArgumentException("TmfXmlStateAttribute constructor: The XML element is not of the right type"); //$NON-NLS-1$
- }
- }
-
- /**
- * This method gets the quark for this state attribute in the State System.
- *
- * Unless this attribute is a location, in which case the quark must exist,
- * the quark will be added to the state system if the state system is in
- * builder mode.
- *
- * @param startQuark
- * root quark, use {@link IXmlStateSystemContainer#ROOT_QUARK} to
- * search the full attribute tree
- * @return the quark described by attribute or
- * {@link IXmlStateSystemContainer#ERROR_QUARK} if quark cannot be
- * found
- */
- @Override
- public int getAttributeQuark(int startQuark) {
- return getAttributeQuark(null, startQuark);
- }
-
- /**
- * Basic quark-retrieving method. Pass an attribute in parameter as an array
- * of strings, the matching quark will be returned. If the attribute does
- * not exist, it will add the quark to the state system if the context
- * allows it.
- *
- * See {@link ITmfStateSystemBuilder#getQuarkAbsoluteAndAdd(String...)}
- *
- * @param path
- * Full path to the attribute
- * @return The quark for this attribute
- * @throws AttributeNotFoundException
- * The attribute does not exist and cannot be added
- */
- protected abstract int getQuarkAbsoluteAndAdd(String... path) throws AttributeNotFoundException;
-
- /**
- * Quark-retrieving method, but the attribute is queried starting from the
- * startNodeQuark. If the attribute does not exist, it will add it to the
- * state system if the context allows it.
- *
- * See {@link ITmfStateSystemBuilder#getQuarkRelativeAndAdd(int, String...)}
- *
- * @param startNodeQuark
- * The quark of the attribute from which 'path' originates.
- * @param path
- * Relative path to the attribute
- * @return The quark for this attribute
- * @throws AttributeNotFoundException
- * The attribute does not exist and cannot be added
- */
- protected abstract int getQuarkRelativeAndAdd(int startNodeQuark, String... path) throws AttributeNotFoundException;
-
- /**
- * Get the state system associated with this attribute's container
- *
- * @return The state system associated with this state attribute
- */
- protected ITmfStateSystem getStateSystem() {
- return fContainer.getStateSystem();
- }
-
- /**
- * This method gets the quark for this state attribute in the State System.
- *
- * Unless this attribute is a location, in which case the quark must exist,
- * the quark will be added to the state system if the state system is in
- * builder mode.
- *
- * @param event
- * The current event being handled, or <code>null</code> if no
- * event available in the context
- * @param startQuark
- * root quark, use {@link IXmlStateSystemContainer#ROOT_QUARK} to
- * search the full attribute tree
- * @return the quark described by attribute or
- * {@link IXmlStateSystemContainer#ERROR_QUARK} if quark cannot be
- * found
- */
- @Override
- public int getAttributeQuark(@Nullable ITmfEvent event, int startQuark) {
- ITmfStateSystem ss = getStateSystem();
-
- try {
- switch (fType) {
- case CONSTANT: {
- int quark;
- if (startQuark == IXmlStateSystemContainer.ROOT_QUARK) {
- quark = getQuarkAbsoluteAndAdd(fName);
- } else {
- quark = getQuarkRelativeAndAdd(startQuark, fName);
- }
- return quark;
- }
- case EVENTFIELD: {
- int quark = IXmlStateSystemContainer.ERROR_QUARK;
- if (event == null) {
- Activator.logWarning("XML State attribute: looking for an event field, but event is null"); //$NON-NLS-1$
- return quark;
- }
- /* special case if field is CPU which is not in the field */
- if (fName.equals(TmfXmlStrings.CPU)) {
- quark = getQuarkRelativeAndAdd(startQuark, event.getSource());
- } else {
- final ITmfEventField content = event.getContent();
- /* stop if the event field doesn't exist */
- if (content.getField(fName) == null) {
- return IXmlStateSystemContainer.ERROR_QUARK;
- }
-
- Object field = content.getField(fName).getValue();
-
- if (field instanceof String) {
- String fieldString = (String) field;
- quark = getQuarkRelativeAndAdd(startQuark, fieldString);
- } else if (field instanceof Long) {
- Long fieldLong = (Long) field;
- quark = getQuarkRelativeAndAdd(startQuark, fieldLong.toString());
- } else if (field instanceof Integer) {
- Integer fieldInterger = (Integer) field;
- quark = getQuarkRelativeAndAdd(startQuark, fieldInterger.toString());
- }
- }
- return quark;
- }
- case QUERY: {
- int quark;
- ITmfStateValue value = TmfStateValue.nullValue();
- int quarkQuery = IXmlStateSystemContainer.ROOT_QUARK;
-
- for (ITmfXmlStateAttribute attrib : fQueryList) {
- quarkQuery = attrib.getAttributeQuark(event, quarkQuery);
- if (quarkQuery == IXmlStateSystemContainer.ERROR_QUARK) {
- break;
- }
- }
-
- // the query may fail: for example CurrentThread if there
- // has not been a sched_switch event
- if (quarkQuery != IXmlStateSystemContainer.ERROR_QUARK) {
- value = ss.queryOngoingState(quarkQuery);
- }
-
- switch (value.getType()) {
- case INTEGER: {
- int result = value.unboxInt();
- quark = getQuarkRelativeAndAdd(startQuark, String.valueOf(result));
- break;
- }
- case LONG: {
- long result = value.unboxLong();
- quark = getQuarkRelativeAndAdd(startQuark, String.valueOf(result));
- break;
- }
- case STRING: {
- String result = value.unboxStr();
- quark = getQuarkRelativeAndAdd(startQuark, result);
- break;
- }
- case DOUBLE:
- case NULL:
- default:
- quark = IXmlStateSystemContainer.ERROR_QUARK; // error
- break;
- }
- return quark;
- }
- case LOCATION: {
- int quark = startQuark;
- String idLocation = fName;
-
- /* TODO: Add a fContainer.getLocation(id) method */
- for (TmfXmlLocation location : fContainer.getLocations()) {
- if (location.getId().equals(idLocation)) {
- quark = location.getLocationQuark(event, quark);
- if (quark == IXmlStateSystemContainer.ERROR_QUARK) {
- break;
- }
- }
- }
- return quark;
- }
- case SELF:
- return startQuark;
- case NONE:
- default:
- return startQuark;
- }
- } catch (AttributeNotFoundException ae) {
- /*
- * This can be happen before the creation of the node for a query in
- * the state system. Example : current thread before a sched_switch
- */
- return IXmlStateSystemContainer.ERROR_QUARK;
- } catch (StateValueTypeException e) {
- /*
- * This would happen if we were trying to push/pop attributes not of
- * type integer. Which, once again, should never happen.
- */
- Activator.logError("StateValueTypeException", e); //$NON-NLS-1$
- return IXmlStateSystemContainer.ERROR_QUARK;
- }
- }
-
- @Override
- public String toString() {
- return "TmfXmlStateAttribute " + fType + ": " + fName; //$NON-NLS-1$ //$NON-NLS-2$
- }
-
-} \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.tmf.analysis.xml.core/src/org/eclipse/linuxtools/tmf/analysis/xml/core/model/TmfXmlStateChange.java b/lttng/org.eclipse.linuxtools.tmf.analysis.xml.core/src/org/eclipse/linuxtools/tmf/analysis/xml/core/model/TmfXmlStateChange.java
deleted file mode 100644
index f21e322381..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.analysis.xml.core/src/org/eclipse/linuxtools/tmf/analysis/xml/core/model/TmfXmlStateChange.java
+++ /dev/null
@@ -1,218 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 Ecole Polytechnique de Montreal
- *
- * 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:
- * Florian Wininger - Initial API and implementation
- ******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.analysis.xml.core.model;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.jdt.annotation.NonNull;
-import org.eclipse.linuxtools.statesystem.core.exceptions.AttributeNotFoundException;
-import org.eclipse.linuxtools.statesystem.core.exceptions.StateValueTypeException;
-import org.eclipse.linuxtools.statesystem.core.exceptions.TimeRangeException;
-import org.eclipse.linuxtools.tmf.analysis.xml.core.module.IXmlStateSystemContainer;
-import org.eclipse.linuxtools.tmf.analysis.xml.core.module.XmlUtils;
-import org.eclipse.linuxtools.tmf.analysis.xml.core.stateprovider.TmfXmlStrings;
-import org.eclipse.linuxtools.tmf.core.event.ITmfEvent;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-
-/**
- * This Class implement a State Change in the XML-defined state system
- *
- * <pre>
- * example 1: Simple state change
- * <stateChange>
- * <stateAttribute type="location" value="CurrentThread" />
- * <stateAttribute type="constant" value="System_call" />
- * <stateValue type="null" />
- * </stateChange>
- *
- * example 2: Conditional state change
- * <stateChange>
- * <if>
- * <condition>
- * <stateAttribute type="location" value="CurrentThread" />
- * <stateAttribute type="constant" value="System_call" />
- * <stateValue type="null" />
- * </condition>
- * </if>
- * <then>
- * <stateAttribute type="location" value="CurrentThread" />
- * <stateAttribute type="constant" value="Status" />
- * <stateValue int="$PROCESS_STATUS_RUN_USERMODE"/>
- * </then>
- * <else>
- * <stateAttribute type="location" value="CurrentThread" />
- * <stateAttribute type="constant" value="Status" />
- * <stateValue int="$PROCESS_STATUS_RUN_SYSCALL"/>
- * </else>
- * </stateChange>
- * </pre>
- *
- * @author Florian Wininger
- */
-public class TmfXmlStateChange {
-
- private final IXmlStateChange fChange;
- private final IXmlStateSystemContainer fContainer;
-
- /**
- * Constructor
- *
- * @param modelFactory
- * The factory used to create XML model elements
- * @param statechange
- * XML node root of this state change
- * @param container
- * The state system container this state change belongs to
- */
- public TmfXmlStateChange(ITmfXmlModelFactory modelFactory, Element statechange, IXmlStateSystemContainer container) {
- fContainer = container;
-
- /*
- * child nodes is either a list of TmfXmlStateAttributes and
- * TmfXmlStateValues, or an if-then-else series of nodes.
- */
- Node ifNode = statechange.getElementsByTagName(TmfXmlStrings.IF).item(0);
- if (ifNode != null) {
- /* the state change has a condition */
- fChange = new XmlConditionalChange(modelFactory, statechange);
- } else {
- /* the state change does not have a condition */
- fChange = new XmlStateValueChange(modelFactory, statechange);
- }
- }
-
- /**
- * Execute the state change for an event. If necessary, it validates the
- * condition and executes the required change.
- *
- * @param event
- * The event to process
- * @throws AttributeNotFoundException
- * Pass through the exception it received
- * @throws TimeRangeException
- * Pass through the exception it received
- * @throws StateValueTypeException
- * Pass through the exception it received
- */
- public void handleEvent(@NonNull ITmfEvent event) throws AttributeNotFoundException, StateValueTypeException, TimeRangeException {
- fChange.handleEvent(event);
- }
-
- @Override
- public String toString() {
- return "TmfXmlStateChange: " + fChange; //$NON-NLS-1$
- }
-
- /* Interface for both private classes to handle the event */
- private interface IXmlStateChange {
- void handleEvent(@NonNull ITmfEvent event) throws AttributeNotFoundException, StateValueTypeException, TimeRangeException;
- }
-
- /**
- * Conditional state change with a condition to verify
- */
- private class XmlConditionalChange implements IXmlStateChange {
- private final TmfXmlCondition fCondition;
- private final TmfXmlStateChange fThenChange;
- private final TmfXmlStateChange fElseChange;
-
- public XmlConditionalChange(ITmfXmlModelFactory modelFactory, Element statechange) {
- /*
- * The if node exists, it has been verified before calling this
- */
- Node ifNode = statechange.getElementsByTagName(TmfXmlStrings.IF).item(0);
- fCondition = modelFactory.createCondition((Element) ifNode, fContainer);
-
- Node thenNode = statechange.getElementsByTagName(TmfXmlStrings.THEN).item(0);
- if (thenNode == null) {
- throw new IllegalArgumentException("Conditional state change: there should be a then clause."); //$NON-NLS-1$
- }
- fThenChange = modelFactory.createStateChange((Element) thenNode, fContainer);
-
- Node elseNode = statechange.getElementsByTagName(TmfXmlStrings.ELSE).item(0);
- if (elseNode != null) {
- fElseChange = modelFactory.createStateChange((Element) elseNode, fContainer);
- } else {
- fElseChange = null;
- }
- }
-
- @Override
- public void handleEvent(@NonNull ITmfEvent event) throws AttributeNotFoundException, StateValueTypeException, TimeRangeException {
- TmfXmlStateChange toExecute = fThenChange;
- try {
- if (!fCondition.testForEvent(event)) {
- toExecute = fElseChange;
- }
- } catch (AttributeNotFoundException e) {
- /*
- * An attribute in the condition did not exist (yet), return
- * from the state change
- */
- return;
- }
-
- if (toExecute == null) {
- return;
- }
- toExecute.handleEvent(event);
- }
-
- @Override
- public String toString() {
- return "Condition: " + fCondition; //$NON-NLS-1$
- }
- }
-
- /**
- * State change with no condition
- */
- private class XmlStateValueChange implements IXmlStateChange {
- private final ITmfXmlStateValue fValue;
-
- public XmlStateValueChange(ITmfXmlModelFactory modelFactory, Element statechange) {
- List<Element> childElements = XmlUtils.getChildElements(statechange);
-
- /*
- * Last child element is the state value, the others are attributes
- * to reach to value to set
- */
- Element stateValueElement = childElements.remove(childElements.size() - 1);
- List<ITmfXmlStateAttribute> attributes = new ArrayList<>();
- for (Element element : childElements) {
- if (!element.getNodeName().equals(TmfXmlStrings.STATE_ATTRIBUTE)) {
- throw new IllegalArgumentException("TmfXmlStateChange: a state change must have only TmfXmlStateAttribute elements before the state value"); //$NON-NLS-1$
- }
- ITmfXmlStateAttribute attribute = modelFactory.createStateAttribute(element, fContainer);
- attributes.add(attribute);
- }
- if (attributes.isEmpty()) {
- throw new IllegalArgumentException("TmfXmlStateChange: a state change must have at least one TmfXmlStateAttribute element before the state value"); //$NON-NLS-1$
- }
- fValue = modelFactory.createStateValue(stateValueElement, fContainer, attributes);
- }
-
- @Override
- public void handleEvent(@NonNull ITmfEvent event) throws AttributeNotFoundException, StateValueTypeException, TimeRangeException {
- fValue.handleEvent(event);
- }
-
- @Override
- public String toString() {
- return "Value: " + fValue; //$NON-NLS-1$
- }
- }
-
-} \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.tmf.analysis.xml.core/src/org/eclipse/linuxtools/tmf/analysis/xml/core/model/TmfXmlStateValue.java b/lttng/org.eclipse.linuxtools.tmf.analysis.xml.core/src/org/eclipse/linuxtools/tmf/analysis/xml/core/model/TmfXmlStateValue.java
deleted file mode 100644
index 2b30ca9f06..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.analysis.xml.core/src/org/eclipse/linuxtools/tmf/analysis/xml/core/model/TmfXmlStateValue.java
+++ /dev/null
@@ -1,495 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 Ecole Polytechnique de Montreal
- *
- * 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:
- * Florian Wininger - Initial API and implementation
- ******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.analysis.xml.core.model;
-
-import java.util.List;
-
-import org.eclipse.jdt.annotation.NonNull;
-import org.eclipse.jdt.annotation.Nullable;
-import org.eclipse.linuxtools.statesystem.core.ITmfStateSystem;
-import org.eclipse.linuxtools.statesystem.core.exceptions.AttributeNotFoundException;
-import org.eclipse.linuxtools.statesystem.core.exceptions.StateValueTypeException;
-import org.eclipse.linuxtools.statesystem.core.exceptions.TimeRangeException;
-import org.eclipse.linuxtools.statesystem.core.statevalue.ITmfStateValue;
-import org.eclipse.linuxtools.statesystem.core.statevalue.TmfStateValue;
-import org.eclipse.linuxtools.tmf.analysis.xml.core.module.IXmlStateSystemContainer;
-import org.eclipse.linuxtools.tmf.analysis.xml.core.stateprovider.TmfXmlStrings;
-import org.eclipse.linuxtools.tmf.core.event.ITmfEvent;
-import org.eclipse.linuxtools.tmf.core.event.ITmfEventField;
-import org.w3c.dom.Element;
-
-/**
- * This Class implements a State Value in the XML-defined state system, along
- * with the path to get to the value (either a list of state attributes or an
- * event field)
- *
- * <pre>
- * Example:
- * <stateAttribute type="location" value="CurrentThread" />
- * <stateAttribute type="constant" value="System_call" />
- * <stateValue type="null" />
- * </pre>
- *
- * @author Florian Wininger
- */
-public abstract class TmfXmlStateValue implements ITmfXmlStateValue {
-
- private final TmfXmlStateValueBase fStateValue;
-
- /* Path in the State System */
- private final List<ITmfXmlStateAttribute> fPath;
- /* Event field to match with this state value */
- private final String fEventField;
-
- /* Whether this state value is an increment of the previous value */
- private final boolean fIncrement;
- /* Stack value */
- private final ValueTypeStack fStackType;
- /* Forced value type */
- private final ITmfStateValue.Type fForcedType;
-
- private final IXmlStateSystemContainer fContainer;
-
- /**
- * Different behaviors of an attribute that is to be stacked
- */
- protected enum ValueTypeStack {
- /** Not stacked */
- NULL,
- /** Peek at the value at the top of the stack */
- PEEK,
- /** Take the value at the top of the stack */
- POP,
- /** Push the value on the stack */
- PUSH;
-
- /**
- * Get the type stack value corresponding to a string
- *
- * @param input
- * The string to match to a value
- * @return The ValueTypeStack value
- */
- public static ValueTypeStack getTypeFromString(String input) {
- switch (input) {
- case TmfXmlStrings.STACK_PUSH:
- return PUSH;
- case TmfXmlStrings.STACK_POP:
- return POP;
- case TmfXmlStrings.STACK_PEEK:
- return PEEK;
- default:
- return NULL;
- }
- }
- }
-
- /**
- * Constructor
- *
- * @param modelFactory
- * The factory used to create XML model elements
- * @param node
- * The state value XML element
- * @param container
- * The state system container this state value belongs to
- * @param eventField
- * The event field where to get the value
- * @param attributes
- * The attributes representing the path to this value
- */
- protected TmfXmlStateValue(ITmfXmlModelFactory modelFactory, Element node, IXmlStateSystemContainer container, List<ITmfXmlStateAttribute> attributes, String eventField) {
- fPath = attributes;
- fContainer = container;
- fEventField = eventField;
- if (!node.getNodeName().equals(TmfXmlStrings.STATE_VALUE)) {
- throw new IllegalArgumentException("TmfXmlStateValue constructor: Element is not a stateValue"); //$NON-NLS-1$
- }
-
- /* Check if there is an increment for the value */
- fIncrement = Boolean.parseBoolean(node.getAttribute(TmfXmlStrings.INCREMENT));
-
- /* Process the XML Element state value */
- fStateValue = initializeStateValue(modelFactory, node);
-
- /*
- * Forced type allows to convert the value to a certain type : For
- * example, a process's TID in an event field may arrive with a LONG
- * format but we want to store the data in an INT
- */
- switch (node.getAttribute(TmfXmlStrings.FORCED_TYPE)) {
- case TmfXmlStrings.TYPE_STRING:
- fForcedType = ITmfStateValue.Type.STRING;
- break;
- case TmfXmlStrings.TYPE_INT:
- fForcedType = ITmfStateValue.Type.INTEGER;
- break;
- case TmfXmlStrings.TYPE_LONG:
- fForcedType = ITmfStateValue.Type.LONG;
- break;
- default:
- fForcedType = ITmfStateValue.Type.NULL;
- }
-
- /*
- * Stack Actions : allow to define a stack with PUSH/POP/PEEK methods
- */
- String stack = node.getAttribute(TmfXmlStrings.ATTRIBUTE_STACK);
- fStackType = ValueTypeStack.getTypeFromString(stack);
- }
-
- /**
- * Initialize a {@link TmfXmlStateValueBase} object for the type and value
- *
- * @param modelFactory
- * The factory used to create XML model elements
- * @param node
- * The state value XML element
- * @return The internal state value type corresponding to this state value
- */
- protected TmfXmlStateValueBase initializeStateValue(ITmfXmlModelFactory modelFactory, Element node) {
- return new TmfXmlStateValueNull();
- }
-
- /**
- * Return the state system container this class is attached to
- *
- * @return The state system container
- */
- protected IXmlStateSystemContainer getSsContainer() {
- return fContainer;
- }
-
- /**
- * Get the state system associated with this value's container
- *
- * @return The state system associated with the state system container
- */
- protected ITmfStateSystem getStateSystem() {
- return fContainer.getStateSystem();
- }
-
- /**
- * Return whether this value is an increment of the previous value
- *
- * @return <code>true</code> if the value is an increment
- */
- protected boolean isIncrement() {
- return fIncrement;
- }
-
- /**
- * Get the stack type of this attribute. If the attribute is to be pushed or
- * popped to a stack. The behavior of the stack attribute will depend on the
- * implementation of the model.
- *
- * @return The stack type of the attribute
- */
- protected ValueTypeStack getStackType() {
- return fStackType;
- }
-
- /**
- * Get the forced type of the value. For example, if the value obtained from
- * the attributes is not in this forced type, it will be converted to this.
- *
- * @return The desired type of the value
- */
- protected ITmfStateValue.Type getForcedType() {
- return fForcedType;
- }
-
- /**
- * Get the current {@link ITmfStateValue} of this state value for an event.
- * It does not increment the value and does not any other processing of the
- * value.
- *
- * @param event
- * The current event, or <code>null</code> if no event available.
- * @return the {@link ITmfStateValue}
- * @throws AttributeNotFoundException
- * May be thrown by the state system during the query
- */
- @Override
- public ITmfStateValue getValue(@Nullable ITmfEvent event) throws AttributeNotFoundException {
- return fStateValue.getValue(event);
- }
-
- /**
- * Get the value of the event field that is the path of this state value
- *
- * @param event
- * The current event
- * @return the value of the event field
- */
- @Override
- public ITmfStateValue getEventFieldValue(@NonNull ITmfEvent event) {
- return getEventFieldValue(event, fEventField);
- }
-
- /**
- * Get the value of an event field
- *
- * @param event
- * The current event
- * @param fieldName
- * The name of the field of which to get the value
- * @return The value of the event field
- */
- protected ITmfStateValue getEventFieldValue(@NonNull ITmfEvent event, String fieldName) {
-
- ITmfStateValue value = TmfStateValue.nullValue();
-
- final ITmfEventField content = event.getContent();
-
- /* Exception for "CPU", returns the source of this event */
- /* FIXME : Nameclash if a eventfield have "cpu" for name. */
- if (fieldName.equals(TmfXmlStrings.CPU)) {
- return TmfStateValue.newValueInt(Integer.valueOf(event.getSource()));
- }
- /* Exception also for "TIMESTAMP", returns the timestamp of this event */
- if (fieldName.equals(TmfXmlStrings.TIMESTAMP)) {
- return TmfStateValue.newValueLong(event.getTimestamp().getValue());
- }
- if (content.getField(fieldName) == null) {
- return value;
- }
-
- Object field = content.getField(fieldName).getValue();
-
- /*
- * Try to find the right type. The type can be forced by
- * "forcedType" argument.
- */
-
- if (field instanceof String) {
- String fieldString = (String) field;
-
- switch (fForcedType) {
- case INTEGER:
- value = TmfStateValue.newValueInt(Integer.parseInt(fieldString));
- break;
- case LONG:
- value = TmfStateValue.newValueLong(Long.parseLong(fieldString));
- break;
- case DOUBLE:
- value = TmfStateValue.newValueDouble(Double.parseDouble(fieldString));
- break;
- case NULL:
- case STRING:
- default:
- value = TmfStateValue.newValueString(fieldString);
- break;
- }
- } else if (field instanceof Long) {
- Long fieldLong = (Long) field;
-
- switch (fForcedType) {
- case INTEGER:
- value = TmfStateValue.newValueInt(fieldLong.intValue());
- break;
- case STRING:
- value = TmfStateValue.newValueString(fieldLong.toString());
- break;
- case DOUBLE:
- value = TmfStateValue.newValueDouble(fieldLong.doubleValue());
- break;
- case LONG:
- case NULL:
- default:
- value = TmfStateValue.newValueLong(fieldLong);
- break;
- }
- } else if (field instanceof Integer) {
- Integer fieldInteger = (Integer) field;
-
- switch (fForcedType) {
- case LONG:
- value = TmfStateValue.newValueLong(fieldInteger.longValue());
- break;
- case STRING:
- value = TmfStateValue.newValueString(fieldInteger.toString());
- break;
- case DOUBLE:
- value = TmfStateValue.newValueDouble(fieldInteger.doubleValue());
- break;
- case INTEGER:
- case NULL:
- default:
- value = TmfStateValue.newValueInt(fieldInteger);
- break;
- }
- } else if (field instanceof Double) {
- Double fieldDouble = (Double) field;
-
- switch (fForcedType) {
- case LONG:
- value = TmfStateValue.newValueLong(fieldDouble.longValue());
- break;
- case STRING:
- value = TmfStateValue.newValueString(fieldDouble.toString());
- break;
- case INTEGER:
- value = TmfStateValue.newValueInt(fieldDouble.intValue());
- break;
- case DOUBLE:
- case NULL:
- default:
- value = TmfStateValue.newValueDouble(fieldDouble);
- break;
- }
- }
- return value;
- }
-
- /**
- * Get the list of state attributes, the path to the state value
- *
- * @return the list of Attribute to have the path in the State System
- */
- @Override
- public List<ITmfXmlStateAttribute> getAttributes() {
- return fPath;
- }
-
- /**
- * Handles an event, by setting the value of the attribute described by the
- * state attribute path in the state system.
- *
- * @param event
- * The event to process
- * @throws AttributeNotFoundException
- * Pass through the exception it received
- * @throws TimeRangeException
- * Pass through the exception it received
- * @throws StateValueTypeException
- * Pass through the exception it received
- */
- @Override
- public void handleEvent(@NonNull ITmfEvent event) throws AttributeNotFoundException, StateValueTypeException, TimeRangeException {
- int quark = IXmlStateSystemContainer.ROOT_QUARK;
-
- for (ITmfXmlStateAttribute attribute : fPath) {
- quark = attribute.getAttributeQuark(event, quark);
- /* the query is not valid, we stop the state change */
- if (quark == IXmlStateSystemContainer.ERROR_QUARK) {
- throw new AttributeNotFoundException("Not found XML attribute " + attribute); //$NON-NLS-1$
- }
- }
-
- long ts = event.getTimestamp().getValue();
- fStateValue.handleEvent(event, quark, ts);
- }
-
- @Override
- public String toString() {
- return "TmfXmlStateValue: " + fStateValue; //$NON-NLS-1$
- }
-
- /**
- * Base class for all state values. Contain default methods to handle event,
- * process or increment the value
- */
- protected abstract class TmfXmlStateValueBase {
-
- /**
- * Get the value associated with this state value.
- *
- * @param event
- * The event which can be used to retrieve the value if
- * necessary. The event can be <code>null</code> if no event
- * is required.
- * @return The state value corresponding to this XML state value
- * @throws AttributeNotFoundException
- * Pass through the exception it received
- */
- public abstract ITmfStateValue getValue(@Nullable ITmfEvent event) throws AttributeNotFoundException;
-
- /**
- * Do something with the state value, possibly using an event
- *
- * @param event
- * The event being handled. If there is no event is
- * available, use <code>null</code>.
- * @param quark
- * The quark for this value
- * @param timestamp
- * The timestamp of the event
- * @throws StateValueTypeException
- * Pass through the exception it received
- * @throws TimeRangeException
- * Pass through the exception it received
- * @throws AttributeNotFoundException
- * Pass through the exception it received
- */
- public void handleEvent(@NonNull ITmfEvent event, int quark, long timestamp) throws StateValueTypeException, TimeRangeException, AttributeNotFoundException {
- if (fIncrement) {
- incrementValue(event, quark, timestamp);
- } else {
- ITmfStateValue value = getValue(event);
- processValue(quark, timestamp, value);
- }
- }
-
- /**
- * Set the value of a quark at a given timestamp.
- *
- * @param quark
- * The quark for this value
- * @param timestamp
- * The timestamp
- * @param value
- * The value of this state value
- * @throws TimeRangeException
- * Pass through the exception it received
- * @throws StateValueTypeException
- * Pass through the exception it received
- * @throws AttributeNotFoundException
- * Pass through the exception it received
- */
- @SuppressWarnings("unused")
- protected void processValue(int quark, long timestamp, ITmfStateValue value) throws TimeRangeException, StateValueTypeException, AttributeNotFoundException {
- }
-
- /**
- * Increments the value of the parameter
- *
- * @param event
- * The event being handled
- * @param quark
- * The quark for this value
- * @param timestamp
- * The timestamp of the event
- * @throws StateValueTypeException
- * Pass through the exception it received
- * @throws TimeRangeException
- * Pass through the exception it received
- * @throws AttributeNotFoundException
- * Pass through the exception it received
- */
- @SuppressWarnings("unused")
- protected void incrementValue(ITmfEvent event, int quark, long timestamp) throws StateValueTypeException, TimeRangeException, AttributeNotFoundException {
- }
- }
-
- /* This state value uses a constant value, defined in the XML */
- private class TmfXmlStateValueNull extends TmfXmlStateValueBase {
-
- @Override
- public ITmfStateValue getValue(@Nullable ITmfEvent event) throws AttributeNotFoundException {
- return TmfStateValue.nullValue();
- }
-
- }
-
-} \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.tmf.analysis.xml.core/src/org/eclipse/linuxtools/tmf/analysis/xml/core/model/readonly/TmfXmlReadOnlyModelFactory.java b/lttng/org.eclipse.linuxtools.tmf.analysis.xml.core/src/org/eclipse/linuxtools/tmf/analysis/xml/core/model/readonly/TmfXmlReadOnlyModelFactory.java
deleted file mode 100644
index df6be51284..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.analysis.xml.core/src/org/eclipse/linuxtools/tmf/analysis/xml/core/model/readonly/TmfXmlReadOnlyModelFactory.java
+++ /dev/null
@@ -1,88 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 École Polytechnique de Montréal
- *
- * 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:
- * Geneviève Bastien - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.analysis.xml.core.model.readonly;
-
-import java.util.List;
-
-import org.eclipse.jdt.annotation.NonNull;
-import org.eclipse.linuxtools.tmf.analysis.xml.core.model.ITmfXmlModelFactory;
-import org.eclipse.linuxtools.tmf.analysis.xml.core.model.ITmfXmlStateAttribute;
-import org.eclipse.linuxtools.tmf.analysis.xml.core.model.ITmfXmlStateValue;
-import org.eclipse.linuxtools.tmf.analysis.xml.core.model.TmfXmlCondition;
-import org.eclipse.linuxtools.tmf.analysis.xml.core.model.TmfXmlEventHandler;
-import org.eclipse.linuxtools.tmf.analysis.xml.core.model.TmfXmlLocation;
-import org.eclipse.linuxtools.tmf.analysis.xml.core.model.TmfXmlStateChange;
-import org.eclipse.linuxtools.tmf.analysis.xml.core.model.readwrite.TmfXmlReadWriteModelFactory;
-import org.eclipse.linuxtools.tmf.analysis.xml.core.module.IXmlStateSystemContainer;
-import org.w3c.dom.Element;
-
-/**
- * Concrete factory for XML model elements in read only mode
- *
- * @author Geneviève Bastien
- */
-public class TmfXmlReadOnlyModelFactory implements ITmfXmlModelFactory {
-
- private static ITmfXmlModelFactory fInstance = null;
-
- /**
- * Get the instance of this model creator
- *
- * @return The {@link TmfXmlReadWriteModelFactory} instance
- */
- @NonNull
- public static synchronized ITmfXmlModelFactory getInstance() {
- ITmfXmlModelFactory instance = fInstance;
- if (instance == null) {
- instance = new TmfXmlReadOnlyModelFactory();
- fInstance = instance;
- }
- return instance;
- }
-
- @Override
- public ITmfXmlStateAttribute createStateAttribute(Element attribute, IXmlStateSystemContainer container) {
- return new TmfXmlReadOnlyStateAttribute(this, attribute, container);
- }
-
- @Override
- public ITmfXmlStateValue createStateValue(Element node, IXmlStateSystemContainer container, List<ITmfXmlStateAttribute> attributes) {
- return new TmfXmlReadOnlyStateValue(this, node, container, attributes);
- }
-
- @Override
- public ITmfXmlStateValue createStateValue(Element node, IXmlStateSystemContainer container, String eventField) {
- return new TmfXmlReadOnlyStateValue(this, node, container, eventField);
- }
-
- @Override
- public TmfXmlCondition createCondition(Element node, IXmlStateSystemContainer container) {
- return new TmfXmlCondition(this, node, container);
- }
-
- @Override
- public TmfXmlEventHandler createEventHandler(Element node, IXmlStateSystemContainer container) {
- return new TmfXmlEventHandler(this, node, container);
- }
-
- @Override
- public TmfXmlStateChange createStateChange(Element node, IXmlStateSystemContainer container) {
- return new TmfXmlStateChange(this, node, container);
- }
-
- @Override
- public TmfXmlLocation createLocation(Element node, IXmlStateSystemContainer container) {
- return new TmfXmlLocation(this, node, container);
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.analysis.xml.core/src/org/eclipse/linuxtools/tmf/analysis/xml/core/model/readonly/TmfXmlReadOnlyStateAttribute.java b/lttng/org.eclipse.linuxtools.tmf.analysis.xml.core/src/org/eclipse/linuxtools/tmf/analysis/xml/core/model/readonly/TmfXmlReadOnlyStateAttribute.java
deleted file mode 100644
index e3d53f39fb..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.analysis.xml.core/src/org/eclipse/linuxtools/tmf/analysis/xml/core/model/readonly/TmfXmlReadOnlyStateAttribute.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 École Polytechnique de Montréal
- *
- * 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:
- * Geneviève Bastien - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.analysis.xml.core.model.readonly;
-
-import org.eclipse.linuxtools.statesystem.core.exceptions.AttributeNotFoundException;
-import org.eclipse.linuxtools.tmf.analysis.xml.core.model.TmfXmlStateAttribute;
-import org.eclipse.linuxtools.tmf.analysis.xml.core.module.IXmlStateSystemContainer;
-import org.w3c.dom.Element;
-
-/**
- * Implements a state attribute in a read only mode. See
- * {@link TmfXmlStateAttribute} for the syntax of this attribute.
- *
- * In read-only mode, attributes that are requested but do not exist in the
- * state system will not be added.
- *
- * @author Geneviève Bastien
- */
-public class TmfXmlReadOnlyStateAttribute extends TmfXmlStateAttribute {
-
- /**
- * Constructor
- *
- * @param modelFactory
- * The factory used to create XML model elements
- * @param attribute
- * The XML element corresponding to this attribute
- * @param container
- * The state system container this state value belongs to
- */
- public TmfXmlReadOnlyStateAttribute(TmfXmlReadOnlyModelFactory modelFactory, Element attribute, IXmlStateSystemContainer container) {
- super(modelFactory, attribute, container);
- }
-
- @Override
- protected int getQuarkAbsoluteAndAdd(String... path) throws AttributeNotFoundException {
- return getStateSystem().getQuarkAbsolute(path);
- }
-
- @Override
- protected int getQuarkRelativeAndAdd(int startNodeQuark, String... path) throws AttributeNotFoundException {
- return getStateSystem().getQuarkRelative(startNodeQuark, path);
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.analysis.xml.core/src/org/eclipse/linuxtools/tmf/analysis/xml/core/model/readonly/TmfXmlReadOnlyStateValue.java b/lttng/org.eclipse.linuxtools.tmf.analysis.xml.core/src/org/eclipse/linuxtools/tmf/analysis/xml/core/model/readonly/TmfXmlReadOnlyStateValue.java
deleted file mode 100644
index 99f3f8d041..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.analysis.xml.core/src/org/eclipse/linuxtools/tmf/analysis/xml/core/model/readonly/TmfXmlReadOnlyStateValue.java
+++ /dev/null
@@ -1,69 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 École Polytechnique de Montréal
- *
- * 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:
- * Geneviève Bastien - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.analysis.xml.core.model.readonly;
-
-import java.util.Collections;
-import java.util.List;
-
-import org.eclipse.linuxtools.tmf.analysis.xml.core.model.ITmfXmlStateAttribute;
-import org.eclipse.linuxtools.tmf.analysis.xml.core.model.TmfXmlStateValue;
-import org.eclipse.linuxtools.tmf.analysis.xml.core.module.IXmlStateSystemContainer;
-import org.w3c.dom.Element;
-
-/**
- * Implements a state value is a read only mode. See {@link TmfXmlStateValue}
- * for the syntax of the state value.
- *
- * In read mode, a state value will typically be used to find a path to a value,
- * so the value is known and there is a path of attributes that should lead to
- * it.
- *
- * @author Geneviève Bastien
- */
-public class TmfXmlReadOnlyStateValue extends TmfXmlStateValue {
-
- /**
- * Constructor where the path to the value is a list of state attributes
- *
- * @param modelFactory
- * The factory used to create XML model elements
- * @param node
- * The state value XML element
- * @param container
- * The state system container this state value belongs to
- * @param attributes
- * The attributes representing the path to this value
- */
- public TmfXmlReadOnlyStateValue(TmfXmlReadOnlyModelFactory modelFactory, Element node,
- IXmlStateSystemContainer container, List<ITmfXmlStateAttribute> attributes) {
- super(modelFactory, node, container, attributes, null);
- }
-
- /**
- * Constructor where the path to the value is an event field
- *
- * @param modelFactory
- * The factory used to create XML model elements
- * @param node
- * The state value XML element
- * @param container
- * The state system container this state value belongs to
- * @param eventField
- * The event field where to get the value
- */
- public TmfXmlReadOnlyStateValue(TmfXmlReadOnlyModelFactory modelFactory, Element node,
- IXmlStateSystemContainer container, String eventField) {
- super(modelFactory, node, container, Collections.EMPTY_LIST, eventField);
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.analysis.xml.core/src/org/eclipse/linuxtools/tmf/analysis/xml/core/model/readwrite/TmfXmlReadWriteModelFactory.java b/lttng/org.eclipse.linuxtools.tmf.analysis.xml.core/src/org/eclipse/linuxtools/tmf/analysis/xml/core/model/readwrite/TmfXmlReadWriteModelFactory.java
deleted file mode 100644
index 1380bf08f2..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.analysis.xml.core/src/org/eclipse/linuxtools/tmf/analysis/xml/core/model/readwrite/TmfXmlReadWriteModelFactory.java
+++ /dev/null
@@ -1,87 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 École Polytechnique de Montréal
- *
- * 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:
- * Geneviève Bastien - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.analysis.xml.core.model.readwrite;
-
-import java.util.List;
-
-import org.eclipse.jdt.annotation.NonNull;
-import org.eclipse.linuxtools.tmf.analysis.xml.core.model.ITmfXmlModelFactory;
-import org.eclipse.linuxtools.tmf.analysis.xml.core.model.ITmfXmlStateAttribute;
-import org.eclipse.linuxtools.tmf.analysis.xml.core.model.ITmfXmlStateValue;
-import org.eclipse.linuxtools.tmf.analysis.xml.core.model.TmfXmlCondition;
-import org.eclipse.linuxtools.tmf.analysis.xml.core.model.TmfXmlEventHandler;
-import org.eclipse.linuxtools.tmf.analysis.xml.core.model.TmfXmlLocation;
-import org.eclipse.linuxtools.tmf.analysis.xml.core.model.TmfXmlStateChange;
-import org.eclipse.linuxtools.tmf.analysis.xml.core.module.IXmlStateSystemContainer;
-import org.w3c.dom.Element;
-
-/**
- * Concrete factory for XML model elements in read write mode
- *
- * @author Geneviève Bastien
- */
-public class TmfXmlReadWriteModelFactory implements ITmfXmlModelFactory {
-
- private static ITmfXmlModelFactory fInstance = null;
-
- /**
- * Get the instance of this model creator
- *
- * @return The {@link TmfXmlReadWriteModelFactory} instance
- */
- @NonNull
- public static synchronized ITmfXmlModelFactory getInstance() {
- ITmfXmlModelFactory instance = fInstance;
- if (instance == null) {
- instance = new TmfXmlReadWriteModelFactory();
- fInstance = instance;
- }
- return instance;
- }
-
- @Override
- public ITmfXmlStateAttribute createStateAttribute(Element attribute, IXmlStateSystemContainer container) {
- return new TmfXmlReadWriteStateAttribute(this, attribute, container);
- }
-
- @Override
- public ITmfXmlStateValue createStateValue(Element node, IXmlStateSystemContainer container, List<ITmfXmlStateAttribute> attributes) {
- return new TmfXmlReadWriteStateValue(this, node, container, attributes);
- }
-
- @Override
- public ITmfXmlStateValue createStateValue(Element node, IXmlStateSystemContainer container, String eventField) {
- return new TmfXmlReadWriteStateValue(this, node, container, eventField);
- }
-
- @Override
- public TmfXmlCondition createCondition(Element node, IXmlStateSystemContainer container) {
- return new TmfXmlCondition(this, node, container);
- }
-
- @Override
- public TmfXmlEventHandler createEventHandler(Element node, IXmlStateSystemContainer container) {
- return new TmfXmlEventHandler(this, node, container);
- }
-
- @Override
- public TmfXmlStateChange createStateChange(Element node, IXmlStateSystemContainer container) {
- return new TmfXmlStateChange(this, node, container);
- }
-
- @Override
- public TmfXmlLocation createLocation(Element node, IXmlStateSystemContainer container) {
- return new TmfXmlLocation(this, node, container);
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.analysis.xml.core/src/org/eclipse/linuxtools/tmf/analysis/xml/core/model/readwrite/TmfXmlReadWriteStateAttribute.java b/lttng/org.eclipse.linuxtools.tmf.analysis.xml.core/src/org/eclipse/linuxtools/tmf/analysis/xml/core/model/readwrite/TmfXmlReadWriteStateAttribute.java
deleted file mode 100644
index 4303f50c15..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.analysis.xml.core/src/org/eclipse/linuxtools/tmf/analysis/xml/core/model/readwrite/TmfXmlReadWriteStateAttribute.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 École Polytechnique de Montréal
- *
- * 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:
- * Geneviève Bastien - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.analysis.xml.core.model.readwrite;
-
-import org.eclipse.linuxtools.statesystem.core.ITmfStateSystemBuilder;
-import org.eclipse.linuxtools.statesystem.core.exceptions.AttributeNotFoundException;
-import org.eclipse.linuxtools.tmf.analysis.xml.core.model.TmfXmlStateAttribute;
-import org.eclipse.linuxtools.tmf.analysis.xml.core.module.IXmlStateSystemContainer;
-import org.w3c.dom.Element;
-
-/**
- * Implements a state attribute in a read write mode. See
- * {@link TmfXmlStateAttribute} for the syntax of this attribute.
- *
- * In read-write mode, attributes that are requested but do not exist are added
- * to the state system.
- *
- * @author Geneviève Bastien
- */
-public class TmfXmlReadWriteStateAttribute extends TmfXmlStateAttribute {
-
- /**
- * Constructor
- *
- * @param modelFactory
- * The factory used to create XML model elements
- * @param attribute
- * The XML element corresponding to this attribute
- * @param container
- * The state system container this state value belongs to
- */
- public TmfXmlReadWriteStateAttribute(TmfXmlReadWriteModelFactory modelFactory, Element attribute, IXmlStateSystemContainer container) {
- super(modelFactory, attribute, container);
- }
-
- @Override
- protected ITmfStateSystemBuilder getStateSystem() {
- return (ITmfStateSystemBuilder) super.getStateSystem();
- }
-
- @Override
- protected int getQuarkAbsoluteAndAdd(String... path) throws AttributeNotFoundException {
- return getStateSystem().getQuarkAbsoluteAndAdd(path);
- }
-
- @Override
- protected int getQuarkRelativeAndAdd(int startNodeQuark, String... path) throws AttributeNotFoundException {
- return getStateSystem().getQuarkRelativeAndAdd(startNodeQuark, path);
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.analysis.xml.core/src/org/eclipse/linuxtools/tmf/analysis/xml/core/model/readwrite/TmfXmlReadWriteStateValue.java b/lttng/org.eclipse.linuxtools.tmf.analysis.xml.core/src/org/eclipse/linuxtools/tmf/analysis/xml/core/model/readwrite/TmfXmlReadWriteStateValue.java
deleted file mode 100644
index 18c8a58bbd..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.analysis.xml.core/src/org/eclipse/linuxtools/tmf/analysis/xml/core/model/readwrite/TmfXmlReadWriteStateValue.java
+++ /dev/null
@@ -1,375 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 École Polytechnique de Montréal
- *
- * 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:
- * Geneviève Bastien - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.analysis.xml.core.model.readwrite;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.linuxtools.internal.tmf.analysis.xml.core.Activator;
-import org.eclipse.linuxtools.statesystem.core.ITmfStateSystem;
-import org.eclipse.linuxtools.statesystem.core.ITmfStateSystemBuilder;
-import org.eclipse.linuxtools.statesystem.core.exceptions.AttributeNotFoundException;
-import org.eclipse.linuxtools.statesystem.core.exceptions.StateValueTypeException;
-import org.eclipse.linuxtools.statesystem.core.exceptions.TimeRangeException;
-import org.eclipse.linuxtools.statesystem.core.statevalue.ITmfStateValue;
-import org.eclipse.linuxtools.statesystem.core.statevalue.TmfStateValue;
-import org.eclipse.linuxtools.tmf.analysis.xml.core.model.ITmfXmlModelFactory;
-import org.eclipse.linuxtools.tmf.analysis.xml.core.model.ITmfXmlStateAttribute;
-import org.eclipse.linuxtools.tmf.analysis.xml.core.model.TmfXmlStateValue;
-import org.eclipse.linuxtools.tmf.analysis.xml.core.module.IXmlStateSystemContainer;
-import org.eclipse.linuxtools.tmf.analysis.xml.core.module.XmlUtils;
-import org.eclipse.linuxtools.tmf.analysis.xml.core.stateprovider.TmfXmlStrings;
-import org.eclipse.linuxtools.tmf.core.event.ITmfEvent;
-import org.w3c.dom.Element;
-
-/**
- * Implements a state value in a read write mode. See {@link TmfXmlStateValue}
- * for the syntax of the state value.
- *
- * In read/write mode, a state value can be considered as an assignation where
- * the state value is assigned to the quark represented by the state attributes
- *
- * @author Geneviève Bastien
- */
-public class TmfXmlReadWriteStateValue extends TmfXmlStateValue {
-
- /**
- * Constructor where the path to the value is a list of state attributes
- *
- * @param modelFactory
- * The factory used to create XML model elements
- * @param node
- * The state value XML element
- * @param container
- * The state system container this state value belongs to
- * @param attributes
- * The attributes representing the path to this value
- */
- public TmfXmlReadWriteStateValue(TmfXmlReadWriteModelFactory modelFactory, Element node, IXmlStateSystemContainer container, List<ITmfXmlStateAttribute> attributes) {
- this(modelFactory, node, container, attributes, null);
- }
-
- /**
- * Constructor where the path to the value is an event field
- *
- * @param modelFactory
- * The factory used to create XML model elements
- * @param node
- * The state value XML element
- * @param container
- * The state system container this state value belongs to
- * @param eventField
- * The event field where to get the value
- */
- public TmfXmlReadWriteStateValue(TmfXmlReadWriteModelFactory modelFactory, Element node, IXmlStateSystemContainer container, String eventField) {
- this(modelFactory, node, container, new ArrayList<ITmfXmlStateAttribute>(), eventField);
- }
-
- private TmfXmlReadWriteStateValue(ITmfXmlModelFactory modelFactory, Element node, IXmlStateSystemContainer container, List<ITmfXmlStateAttribute> attributes, String eventField) {
- super(modelFactory, node, container, attributes, eventField);
- }
-
- @Override
- protected ITmfStateSystemBuilder getStateSystem() {
- return (ITmfStateSystemBuilder) super.getStateSystem();
- }
-
- @Override
- protected TmfXmlStateValueBase initializeStateValue(ITmfXmlModelFactory modelFactory, Element node) {
- TmfXmlStateValueBase stateValueType = null;
- /* Process the XML Element state value */
- String type = node.getAttribute(TmfXmlStrings.TYPE);
- String value = getSsContainer().getAttributeValue(node.getAttribute(TmfXmlStrings.VALUE));
-
- switch (type) {
- case TmfXmlStrings.TYPE_INT: {
- /* Integer value */
- ITmfStateValue stateValue = TmfStateValue.newValueInt(Integer.parseInt(value));
- stateValueType = new TmfXmlStateValueTmf(stateValue);
- break;
- }
- case TmfXmlStrings.TYPE_LONG: {
- /* Long value */
- ITmfStateValue stateValue = TmfStateValue.newValueLong(Long.parseLong(value));
- stateValueType = new TmfXmlStateValueTmf(stateValue);
- break;
- }
- case TmfXmlStrings.TYPE_STRING: {
- /* String value */
- ITmfStateValue stateValue = TmfStateValue.newValueString(value);
- stateValueType = new TmfXmlStateValueTmf(stateValue);
- break;
- }
- case TmfXmlStrings.TYPE_NULL: {
- /* Null value */
- ITmfStateValue stateValue = TmfStateValue.nullValue();
- stateValueType = new TmfXmlStateValueTmf(stateValue);
- break;
- }
- case TmfXmlStrings.EVENT_FIELD:
- /* Event field */
- stateValueType = new TmfXmlStateValueEventField(value);
- break;
- case TmfXmlStrings.TYPE_EVENT_NAME:
- /* The value is the event name */
- stateValueType = new TmfXmlStateValueEventName();
- break;
- case TmfXmlStrings.TYPE_DELETE:
- /* Deletes the value of an attribute */
- stateValueType = new TmfXmlStateValueDelete();
- break;
- case TmfXmlStrings.TYPE_QUERY:
- /* Value is the result of a query */
- List<Element> children = XmlUtils.getChildElements(node);
- List<ITmfXmlStateAttribute> childAttributes = new ArrayList<>();
- for (Element child : children) {
- ITmfXmlStateAttribute queryAttribute = modelFactory.createStateAttribute(child, getSsContainer());
- childAttributes.add(queryAttribute);
- }
- stateValueType = new TmfXmlStateValueQuery(childAttributes);
- break;
- default:
- throw new IllegalArgumentException(String.format("TmfXmlStateValue constructor: unexpected element %s for stateValue type", type)); //$NON-NLS-1$
- }
- return stateValueType;
- }
-
- // ----------------------------------------------------------
- // Internal state value classes for the different types
- // ----------------------------------------------------------
-
- /**
- * Base class for all state value. Contain default methods to handle event,
- * process or increment the value
- */
- protected abstract class TmfXmlStateValueTypeReadWrite extends TmfXmlStateValueBase {
-
- @Override
- public final void handleEvent(ITmfEvent event, int quark, long timestamp) throws StateValueTypeException, TimeRangeException, AttributeNotFoundException {
- if (isIncrement()) {
- incrementValue(event, quark, timestamp);
- } else {
- ITmfStateValue value = getValue(event);
- processValue(quark, timestamp, value);
- }
- }
-
- @Override
- protected void processValue(int quark, long timestamp, ITmfStateValue value) throws AttributeNotFoundException, TimeRangeException, StateValueTypeException {
- switch (getStackType()) {
- case POP:
- getStateSystem().popAttribute(timestamp, quark);
- break;
- case PUSH:
- getStateSystem().pushAttribute(timestamp, value, quark);
- break;
- case NULL:
- case PEEK:
- default:
- getStateSystem().modifyAttribute(timestamp, value, quark);
- break;
- }
- }
-
- @Override
- protected void incrementValue(ITmfEvent event, int quark, long timestamp) throws StateValueTypeException, TimeRangeException, AttributeNotFoundException {
- getStateSystem().incrementAttribute(timestamp, quark);
- }
- }
-
- /* This state value uses a constant value, defined in the XML */
- private class TmfXmlStateValueTmf extends TmfXmlStateValueTypeReadWrite {
-
- private final ITmfStateValue fValue;
-
- public TmfXmlStateValueTmf(ITmfStateValue value) {
- fValue = value;
- }
-
- @Override
- public ITmfStateValue getValue(ITmfEvent event) {
- return fValue;
- }
-
- @Override
- public void incrementValue(ITmfEvent event, int quark, long timestamp) throws StateValueTypeException, TimeRangeException, AttributeNotFoundException {
- ITmfStateSystem ss = getStateSystem();
- switch (fValue.getType()) {
- case LONG: {
- long incrementLong = fValue.unboxLong();
- long currentValue = ss.queryOngoingState(quark).unboxLong();
- ITmfStateValue value = TmfStateValue.newValueLong(incrementLong + currentValue);
- processValue(quark, timestamp, value);
- return;
- }
- case INTEGER: {
- int increment = fValue.unboxInt();
- int currentValue = ss.queryOngoingState(quark).unboxInt();
- ITmfStateValue value = TmfStateValue.newValueInt(increment + currentValue);
- processValue(quark, timestamp, value);
- break;
- }
- case DOUBLE:
- case NULL:
- case STRING:
- default:
- Activator.logWarning("TmfXmlStateValue: The increment value is not a number type"); //$NON-NLS-1$
- break;
- }
- }
- }
-
- /* The state value uses the value of an event field */
- private class TmfXmlStateValueEventField extends TmfXmlStateValueTypeReadWrite {
-
- private final String fFieldName;
-
- public TmfXmlStateValueEventField(String field) {
- fFieldName = field;
- }
-
- @Override
- public ITmfStateValue getValue(ITmfEvent event) {
- if (event == null) {
- Activator.logWarning("XML State value: requested an event field, but event is null"); //$NON-NLS-1$
- return TmfStateValue.nullValue();
- }
- return getEventFieldValue(event, fFieldName);
- }
-
- @Override
- public void incrementValue(ITmfEvent event, int quark, long timestamp) throws StateValueTypeException, TimeRangeException, AttributeNotFoundException {
- ITmfStateSystem ss = getSsContainer().getStateSystem();
- ITmfStateValue incrementValue = getValue(event);
- switch (incrementValue.getType()) {
- case INTEGER: {
- int increment = incrementValue.unboxInt();
- int currentValue = ss.queryOngoingState(quark).unboxInt();
- ITmfStateValue value = TmfStateValue.newValueInt(increment + currentValue);
- processValue(quark, timestamp, value);
- break;
- }
- case LONG: {
- long incrementLong = incrementValue.unboxLong();
- long currentValue = ss.queryOngoingState(quark).unboxLong();
- ITmfStateValue value = TmfStateValue.newValueLong(incrementLong + currentValue);
- processValue(quark, timestamp, value);
- break;
- }
- case DOUBLE:
- case NULL:
- case STRING:
- default:
- Activator.logWarning(String.format("TmfXmlStateValue: The event field increment %s is not a number type but a %s", fFieldName, incrementValue.getType())); //$NON-NLS-1$
- break;
- }
- }
- }
-
- /* The state value is the event name */
- private class TmfXmlStateValueEventName extends TmfXmlStateValueTypeReadWrite {
-
- @Override
- public ITmfStateValue getValue(ITmfEvent event) {
- if (event == null) {
- Activator.logWarning("XML State value: request event name, but event is null"); //$NON-NLS-1$
- return TmfStateValue.nullValue();
- }
- return TmfStateValue.newValueString(event.getType().getName());
- }
-
- }
-
- /* The state value deletes an attribute */
- private class TmfXmlStateValueDelete extends TmfXmlStateValueTypeReadWrite {
-
- @Override
- public ITmfStateValue getValue(ITmfEvent event) throws AttributeNotFoundException {
- return TmfStateValue.nullValue();
- }
-
- @Override
- protected void processValue(int quark, long timestamp, ITmfStateValue value) throws TimeRangeException, AttributeNotFoundException {
- ITmfStateSystem ss = getStateSystem();
- if (!(ss instanceof ITmfStateSystemBuilder)) {
- throw new IllegalStateException("incrementValue should never be called when not building the state system"); //$NON-NLS-1$
- }
- ITmfStateSystemBuilder builder = (ITmfStateSystemBuilder) ss;
- builder.removeAttribute(timestamp, quark);
- }
-
- }
-
- /* The state value uses the result of a query */
- private class TmfXmlStateValueQuery extends TmfXmlStateValueTypeReadWrite {
-
- private final List<ITmfXmlStateAttribute> fQueryValue;
-
- public TmfXmlStateValueQuery(List<ITmfXmlStateAttribute> childAttributes) {
- fQueryValue = childAttributes;
- }
-
- @Override
- public ITmfStateValue getValue(ITmfEvent event) throws AttributeNotFoundException {
- /* Query the state system for the value */
- ITmfStateValue value = TmfStateValue.nullValue();
- int quarkQuery = IXmlStateSystemContainer.ROOT_QUARK;
- ITmfStateSystem ss = getStateSystem();
-
- for (ITmfXmlStateAttribute attribute : fQueryValue) {
- quarkQuery = attribute.getAttributeQuark(event, quarkQuery);
- if (quarkQuery == IXmlStateSystemContainer.ERROR_QUARK) {
- /* the query is not valid, we stop the state change */
- break;
- }
- }
- /*
- * the query can fail : for example, if a value is requested but has
- * not been set yet
- */
- if (quarkQuery != IXmlStateSystemContainer.ERROR_QUARK) {
- value = ss.queryOngoingState(quarkQuery);
- }
- return value;
- }
-
- @Override
- public void incrementValue(ITmfEvent event, int quark, long timestamp) throws StateValueTypeException, TimeRangeException, AttributeNotFoundException {
- ITmfStateSystem ss = getStateSystem();
- ITmfStateValue incrementValue = getValue(event);
- switch (incrementValue.getType()) {
- case INTEGER: {
- int increment = incrementValue.unboxInt();
- int currentValue = ss.queryOngoingState(quark).unboxInt();
- ITmfStateValue value = TmfStateValue.newValueInt(increment + currentValue);
- processValue(quark, timestamp, value);
- break;
- }
- case LONG: {
- long incrementLong = incrementValue.unboxLong();
- long currentValue = ss.queryOngoingState(quark).unboxLong();
- ITmfStateValue value = TmfStateValue.newValueLong(incrementLong + currentValue);
- processValue(quark, timestamp, value);
- break;
- }
- case DOUBLE:
- case NULL:
- case STRING:
- default:
- Activator.logWarning("TmfXmlStateValue: The query result increment is not a number type"); //$NON-NLS-1$
- break;
- }
- }
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.analysis.xml.core/src/org/eclipse/linuxtools/tmf/analysis/xml/core/module/ITmfXmlTopLevelElement.java b/lttng/org.eclipse.linuxtools.tmf.analysis.xml.core/src/org/eclipse/linuxtools/tmf/analysis/xml/core/module/ITmfXmlTopLevelElement.java
deleted file mode 100644
index cfb59591c2..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.analysis.xml.core/src/org/eclipse/linuxtools/tmf/analysis/xml/core/module/ITmfXmlTopLevelElement.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 École Polytechnique de Montréal
- *
- * 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:
- * Geneviève Bastien - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.analysis.xml.core.module;
-
-/**
- * Interface implemented by all classes representing XML top-level elements, for
- * example state providers and views
- *
- * @author Geneviève Bastien
- */
-public interface ITmfXmlTopLevelElement {
-
- /**
- * Get the requested value for an attribute. If the value is a pre-defined
- * value, we return the string corresponding in the defined values map in
- * the top-level XML element.
- *
- * @param name
- * the string to get
- * @return the actual string value
- */
- String getAttributeValue(String name);
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.analysis.xml.core/src/org/eclipse/linuxtools/tmf/analysis/xml/core/module/IXmlStateSystemContainer.java b/lttng/org.eclipse.linuxtools.tmf.analysis.xml.core/src/org/eclipse/linuxtools/tmf/analysis/xml/core/module/IXmlStateSystemContainer.java
deleted file mode 100644
index 0803dbac88..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.analysis.xml.core/src/org/eclipse/linuxtools/tmf/analysis/xml/core/module/IXmlStateSystemContainer.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 École Polytechnique de Montréal
- *
- * 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:
- * Geneviève Bastien - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.analysis.xml.core.module;
-
-import org.eclipse.linuxtools.statesystem.core.ITmfStateSystem;
-import org.eclipse.linuxtools.tmf.analysis.xml.core.model.TmfXmlLocation;
-
-/**
- * Interface that all XML defined objects who provide, use or contain state
- * system must implement in order to use the state provider model elements in
- * {@link org.eclipse.linuxtools.tmf.analysis.xml.core.model} package
- *
- * @author Geneviève Bastien
- */
-public interface IXmlStateSystemContainer extends ITmfXmlTopLevelElement {
-
- /** Root quark, to get values at the root of the state system */
- static final int ROOT_QUARK = -1;
- /**
- * Error quark, value taken when a state system quark query is in error.
- *
- * FIXME: Originally in the code, the -1 was used for both root quark and
- * return errors, so it has the same value as root quark, but maybe it can
- * be changed to something else -2? A quark can never be negative
- */
- static final int ERROR_QUARK = -1;
-
- /**
- * Get the state system managed by this XML object
- *
- * @return The state system
- */
- ITmfStateSystem getStateSystem();
-
- /**
- * Get the list of locations defined in this top level XML element
- *
- * @return The list of {@link TmfXmlLocation}
- */
- Iterable<TmfXmlLocation> getLocations();
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.analysis.xml.core/src/org/eclipse/linuxtools/tmf/analysis/xml/core/module/Messages.java b/lttng/org.eclipse.linuxtools.tmf.analysis.xml.core/src/org/eclipse/linuxtools/tmf/analysis/xml/core/module/Messages.java
deleted file mode 100644
index b8ac122f2f..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.analysis.xml.core/src/org/eclipse/linuxtools/tmf/analysis/xml/core/module/Messages.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 École Polytechnique de Montréal
- *
- * 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:
- * Geneviève Bastien - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.analysis.xml.core.module;
-
-import org.eclipse.osgi.util.NLS;
-
-/**
- * Externalized messages for the XML analysis module package
- *
- * @author Geneviève Bastien
- */
-public class Messages extends NLS {
- private static final String BUNDLE_NAME = "org.eclipse.linuxtools.tmf.analysis.xml.core.module.messages"; //$NON-NLS-1$
-
- /** Error copying XML file to workspace folder */
- public static String XmlUtils_ErrorCopyingFile;
- /** XML parse error */
- public static String XmlUtils_XmlParseError;
- /** Error occurred while validating XML */
- public static String XmlUtils_XmlValidateError;
- /** XML validation error */
- public static String XmlUtils_XmlValidationError;
-
- static {
- // initialize resource bundle
- NLS.initializeMessages(BUNDLE_NAME, Messages.class);
- }
-
- private Messages() {
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.analysis.xml.core/src/org/eclipse/linuxtools/tmf/analysis/xml/core/module/XmlUtils.java b/lttng/org.eclipse.linuxtools.tmf.analysis.xml.core/src/org/eclipse/linuxtools/tmf/analysis/xml/core/module/XmlUtils.java
deleted file mode 100644
index 475eb78ed9..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.analysis.xml.core/src/org/eclipse/linuxtools/tmf/analysis/xml/core/module/XmlUtils.java
+++ /dev/null
@@ -1,252 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 École Polytechnique de Montréal
- *
- * 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:
- * Geneviève Bastien - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.analysis.xml.core.module;
-
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.net.URL;
-import java.nio.channels.FileChannel;
-import java.util.ArrayList;
-import java.util.List;
-
-import javax.xml.XMLConstants;
-import javax.xml.parsers.DocumentBuilder;
-import javax.xml.parsers.DocumentBuilderFactory;
-import javax.xml.parsers.ParserConfigurationException;
-import javax.xml.transform.Source;
-import javax.xml.transform.stream.StreamSource;
-import javax.xml.validation.Schema;
-import javax.xml.validation.SchemaFactory;
-import javax.xml.validation.Validator;
-
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jdt.annotation.NonNull;
-import org.eclipse.linuxtools.internal.tmf.analysis.xml.core.Activator;
-import org.eclipse.linuxtools.tmf.analysis.xml.core.stateprovider.TmfXmlStrings;
-import org.eclipse.osgi.util.NLS;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-import org.xml.sax.SAXException;
-import org.xml.sax.SAXParseException;
-
-/**
- * Class containing some utilities for the XML plug-in packages: for example, it
- * manages the XML files and validates them
- *
- * @author Geneviève Bastien
- */
-public class XmlUtils {
-
- /** Sub-directory of the plug-in where XML files are stored */
- private static final String XML_DIRECTORY = "xml_files"; //$NON-NLS-1$
-
- /** Name of the XSD schema file */
- private static final String XSD = "xmlDefinition.xsd"; //$NON-NLS-1$
-
- /** Make this class non-instantiable */
- private XmlUtils() {
-
- }
-
- /**
- * Get the path where the XML files are stored. Create it if it does not
- * exist
- *
- * @return path to XML files
- */
- public static IPath getXmlFilesPath() {
- IPath path = Activator.getDefault().getStateLocation();
- path = path.addTrailingSeparator().append(XML_DIRECTORY);
-
- /* Check if directory exists, otherwise create it */
- File dir = path.toFile();
- if (!dir.exists() || !dir.isDirectory()) {
- dir.mkdirs();
- }
-
- return path;
- }
-
- /**
- * Validate the XML file input with the XSD schema
- *
- * @param xmlFile
- * XML file to validate
- * @return True if the XML validates
- */
- public static IStatus xmlValidate(File xmlFile) {
- URL url = XmlUtils.class.getResource(XSD);
- SchemaFactory schemaFactory = SchemaFactory.newInstance(XMLConstants.W3C_XML_SCHEMA_NS_URI);
- Source xmlSource = new StreamSource(xmlFile);
- try {
- Schema schema = schemaFactory.newSchema(url);
- Validator validator = schema.newValidator();
- validator.validate(xmlSource);
- } catch (SAXParseException e) {
- String error = NLS.bind(Messages.XmlUtils_XmlParseError, e.getLineNumber(), e.getLocalizedMessage());
- Activator.logError(error);
- return new Status(IStatus.ERROR, Activator.PLUGIN_ID, error, e);
- } catch (SAXException e) {
- String error = NLS.bind(Messages.XmlUtils_XmlValidationError, e.getLocalizedMessage());
- Activator.logError(error);
- return new Status(IStatus.ERROR, Activator.PLUGIN_ID, error, e);
- } catch (IOException e) {
- String error = Messages.XmlUtils_XmlValidateError;
- Activator.logError("IO exception occurred", e); //$NON-NLS-1$
- return new Status(IStatus.ERROR, Activator.PLUGIN_ID, error, e);
- }
- return Status.OK_STATUS;
- }
-
- /**
- * Adds an XML file to the plugin's path. The XML file should have been
- * validated using the {@link XmlUtils#xmlValidate(File)} method before
- * calling this method.
- *
- * @param fromFile
- * The XML file to add
- * @return Whether the file was successfully added
- */
- public static IStatus addXmlFile(File fromFile) {
-
- /* Copy file to path */
- File toFile = getXmlFilesPath().addTrailingSeparator().append(fromFile.getName()).toFile();
-
- try {
- if (!toFile.exists()) {
- toFile.createNewFile();
- }
- } catch (IOException e) {
- String error = Messages.XmlUtils_ErrorCopyingFile;
- Activator.logError(error, e);
- return new Status(IStatus.ERROR, Activator.PLUGIN_ID, error, e);
- }
-
- try (FileInputStream fis = new FileInputStream(fromFile);
- FileOutputStream fos = new FileOutputStream(toFile);
- FileChannel source = fis.getChannel();
- FileChannel destination = fos.getChannel();) {
- destination.transferFrom(source, 0, source.size());
- } catch (IOException e) {
- String error = Messages.XmlUtils_ErrorCopyingFile;
- Activator.logError(error, e);
- return new Status(IStatus.ERROR, Activator.PLUGIN_ID, error, e);
- }
- return Status.OK_STATUS;
- }
-
- /**
- * Get only the XML element children of an XML element.
- *
- * @param parent
- * The parent element to get children from
- * @return The list of children Element of the parent
- */
- public static List<Element> getChildElements(Element parent) {
- NodeList childNodes = parent.getChildNodes();
- List<Element> childElements = new ArrayList<>();
- for (int index = 0; index < childNodes.getLength(); index++) {
- if (childNodes.item(index).getNodeType() == Node.ELEMENT_NODE) {
- childElements.add((Element) childNodes.item(index));
- }
- }
- return childElements;
- }
-
- /**
- * Get the XML children element of an XML element, but only those of a
- * certain type
- *
- * @param parent
- * The parent element to get the children from
- * @param elementTag
- * The tag of the elements to return
- * @return The list of children {@link Element} of the parent
- */
- public static List<Element> getChildElements(Element parent, String elementTag) {
- /* get the state providers and find the corresponding one */
- NodeList nodes = parent.getElementsByTagName(elementTag);
- List<Element> childElements = new ArrayList<>();
-
- for (int i = 0; i < nodes.getLength(); i++) {
- Element node = (Element) nodes.item(i);
- if (node.getParentNode().equals(parent)) {
- childElements.add(node);
- }
- }
- return childElements;
- }
-
- /**
- * Return the node element corresponding to the requested type in the file.
- *
- * TODO: Nothing prevents from having duplicate type -> id in a same file.
- * That should not be allowed. If you want an element with the same ID as
- * another one, it should be in a different file and we should check it at
- * validation time.
- *
- * @param filePath
- * The absolute path to the XML file
- * @param elementType
- * The type of top level element to search for
- * @param elementId
- * The ID of the desired element
- * @return The XML element or <code>null</code> if not found
- */
- public static Element getElementInFile(String filePath, @NonNull String elementType, @NonNull String elementId) {
-
- if (filePath == null) {
- return null;
- }
-
- IPath path = new Path(filePath);
- File file = path.toFile();
- if (file == null || !file.exists() || !file.isFile() || !xmlValidate(file).isOK()) {
- return null;
- }
-
- try {
- /* Load the XML File */
- DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
- DocumentBuilder dBuilder;
-
- dBuilder = dbFactory.newDocumentBuilder();
- Document doc = dBuilder.parse(file);
- doc.getDocumentElement().normalize();
-
- /* get the state providers and find the corresponding one */
- NodeList nodes = doc.getElementsByTagName(elementType);
- Element foundNode = null;
-
- for (int i = 0; i < nodes.getLength(); i++) {
- Element node = (Element) nodes.item(i);
- String id = node.getAttribute(TmfXmlStrings.ID);
- if (id.equals(elementId)) {
- foundNode = node;
- }
- }
- return foundNode;
- } catch (ParserConfigurationException | SAXException | IOException e) {
- return null;
- }
-
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.analysis.xml.core/src/org/eclipse/linuxtools/tmf/analysis/xml/core/module/messages.properties b/lttng/org.eclipse.linuxtools.tmf.analysis.xml.core/src/org/eclipse/linuxtools/tmf/analysis/xml/core/module/messages.properties
deleted file mode 100644
index 2f81a3d996..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.analysis.xml.core/src/org/eclipse/linuxtools/tmf/analysis/xml/core/module/messages.properties
+++ /dev/null
@@ -1,15 +0,0 @@
-###############################################################################
-# Copyright (c) 2014 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:
-# Ericsson - Initial API and implementation
-###############################################################################
-XmlUtils_ErrorCopyingFile=An error occurred while copying the XML file to the TMF directory. The file was not imported.
-XmlUtils_XmlParseError=XML Parsing error at line {0}: {1}
-XmlUtils_XmlValidateError=An error occurred while validating the XML file.
-XmlUtils_XmlValidationError=Error validating XML file {0}
diff --git a/lttng/org.eclipse.linuxtools.tmf.analysis.xml.core/src/org/eclipse/linuxtools/tmf/analysis/xml/core/module/xmlCommon.xsd b/lttng/org.eclipse.linuxtools.tmf.analysis.xml.core/src/org/eclipse/linuxtools/tmf/analysis/xml/core/module/xmlCommon.xsd
deleted file mode 100644
index 453a219155..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.analysis.xml.core/src/org/eclipse/linuxtools/tmf/analysis/xml/core/module/xmlCommon.xsd
+++ /dev/null
@@ -1,44 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!-- ***************************************************************************
- * Copyright (c) 2014 École Polytechnique de Montréal
- *
- * 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:
- * Florian Wininger - Initial API and implementation
- *************************************************************************** -->
-<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
- attributeFormDefault="unqualified" elementFormDefault="qualified">
-
- <xs:complexType name="definedValue">
- <xs:annotation>
- <xs:documentation>Maps a string (usually a human-readable value used by the XML elements) to another string (a value in the system, which can be converted to an integer, long by the a stateValue element or used as-is).</xs:documentation></xs:annotation>
- <xs:attribute name="name" type="xs:string" use="required" >
- <xs:annotation>
- <xs:documentation>The human-readable string to identify this value. This is what will be manipulated by the XML and shown to the end-user (if applicable).</xs:documentation></xs:annotation></xs:attribute>
- <xs:attribute name="value" type="xs:string" use="required" >
- <xs:annotation>
- <xs:documentation>A system value the 'name' maps to. It will usually not be shown to the end user.</xs:documentation></xs:annotation></xs:attribute>
- <xs:attribute name="color" type="xs:string" use="optional" >
- <xs:annotation>
- <xs:documentation>Optional color attribute to this mapping. This attribute is used in XML-defined views to represent this mapping.</xs:documentation></xs:annotation></xs:attribute>
- </xs:complexType>
-
- <xs:complexType name="location">
- <xs:annotation>
- <xs:documentation>Define a path in a state system, that can then be used as a shortcut in other XML elements.</xs:documentation></xs:annotation>
- <xs:sequence>
- <xs:element maxOccurs="unbounded" minOccurs="0" name="stateAttribute" type="stateAttribute" >
- <xs:annotation>
- <xs:documentation>Define each element of the path represented by this location. For instance, if location "abc" has path "a/b/c", there would be a sequence of 3 stateAttribute elements of type constant.</xs:documentation></xs:annotation></xs:element>
- </xs:sequence>
- <xs:attribute name="id" type="xs:string" use="required" >
- <xs:annotation>
- <xs:documentation>The identifier of this location, used inside the XML element in the scope of which it is defined.</xs:documentation></xs:annotation></xs:attribute>
- <xs:anyAttribute />
- </xs:complexType>
-
-</xs:schema>
diff --git a/lttng/org.eclipse.linuxtools.tmf.analysis.xml.core/src/org/eclipse/linuxtools/tmf/analysis/xml/core/module/xmlDefinition.xsd b/lttng/org.eclipse.linuxtools.tmf.analysis.xml.core/src/org/eclipse/linuxtools/tmf/analysis/xml/core/module/xmlDefinition.xsd
deleted file mode 100644
index f6e059f796..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.analysis.xml.core/src/org/eclipse/linuxtools/tmf/analysis/xml/core/module/xmlDefinition.xsd
+++ /dev/null
@@ -1,35 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!-- ***************************************************************************
- * Copyright (c) 2014 École Polytechnique de Montréal
- *
- * 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:
- * Florian Wininger - Initial API and implementation
- *************************************************************************** -->
-<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
- attributeFormDefault="unqualified" elementFormDefault="qualified">
-
- <xs:include schemaLocation="xmlCommon.xsd" />
- <xs:include schemaLocation="xmlStateProvider.xsd" />
- <xs:include schemaLocation="xmlView.xsd" />
- <xs:element name="tmfxml">
- <xs:complexType>
- <xs:choice maxOccurs="unbounded">
- <xs:element maxOccurs="unbounded" minOccurs="0" name="timeGraphView" type="timeGraphView" >
- <xs:annotation>
- <xs:documentation>Define a new time graph view.</xs:documentation></xs:annotation></xs:element>
- <xs:element maxOccurs="unbounded" minOccurs="0" name="xyView" type="xyView" >
- <xs:annotation>
- <xs:documentation>Define a new XY chart view.</xs:documentation></xs:annotation></xs:element>
- <xs:element maxOccurs="unbounded" minOccurs="0" name="stateProvider" type="stateProvider" >
- <xs:annotation>
- <xs:documentation>Define a new state provider</xs:documentation></xs:annotation></xs:element>
- </xs:choice>
- </xs:complexType>
- </xs:element>
-
-</xs:schema>
diff --git a/lttng/org.eclipse.linuxtools.tmf.analysis.xml.core/src/org/eclipse/linuxtools/tmf/analysis/xml/core/module/xmlStateProvider.xsd b/lttng/org.eclipse.linuxtools.tmf.analysis.xml.core/src/org/eclipse/linuxtools/tmf/analysis/xml/core/module/xmlStateProvider.xsd
deleted file mode 100644
index dcafbfd6b6..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.analysis.xml.core/src/org/eclipse/linuxtools/tmf/analysis/xml/core/module/xmlStateProvider.xsd
+++ /dev/null
@@ -1,295 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!-- ***************************************************************************
- * Copyright (c) 2014 École Polytechnique de Montréal
- *
- * 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:
- * Florian Wininger - Initial API and implementation
- *************************************************************************** -->
-<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
- attributeFormDefault="unqualified" elementFormDefault="qualified">
-
- <xs:complexType name="stateProvider">
- <xs:annotation>
- <xs:documentation>Declares a data-driven state provider which defines how events change the state of attributes of the system. Each state provider defined in XML will become an analysis in TMF.</xs:documentation></xs:annotation>
- <xs:sequence maxOccurs="1" minOccurs="1">
- <xs:element maxOccurs="1" minOccurs="0" name="head" type="headProvider" >
- <xs:annotation>
- <xs:documentation>Provide meta-information on this state provider, like labels and applicable trace types.</xs:documentation></xs:annotation></xs:element>
- <xs:element maxOccurs="unbounded" minOccurs="0" name="definedValue" type="definedValue" >
- <xs:annotation>
- <xs:documentation>Define a value that maps a string used in the state provider to a numbered value.</xs:documentation></xs:annotation></xs:element>
- <xs:element maxOccurs="unbounded" minOccurs="0" name="location" type="location" >
- <xs:annotation>
- <xs:documentation>Declare shortcuts to frequently used attribute/data locations. For instance, if a path to an often-used attribute is CPUs/{event.some_field}/Threads/Status, it may be a good idea to put this path in a location and then use the location name in the event handlers.</xs:documentation></xs:annotation></xs:element>
- <xs:element maxOccurs="unbounded" minOccurs="1" name="eventHandler" type="eventHandler" >
- <xs:annotation>
- <xs:documentation>Define how a given event will modify the state system being built. For each event in the trace that causes a state change, a event handler should be defined.</xs:documentation></xs:annotation></xs:element>
- </xs:sequence>
- <xs:attribute name="id" type="xs:string" use="required" >
- <xs:annotation>
- <xs:documentation>The unique ID of this state provider. It will be used to identify the analysis that will be built from this state provider.</xs:documentation></xs:annotation></xs:attribute>
- <xs:attribute name="version" type="xs:integer" use="required" >
- <xs:annotation>
- <xs:documentation>The version ID of this state provider. Whenever the state provider changes so that the resulting state system is different from previous versions, this version number should be bumped.</xs:documentation></xs:annotation></xs:attribute>
- </xs:complexType>
-
- <xs:complexType name="headProvider">
- <xs:annotation>
- <xs:documentation>Declares the meta-information that can be defined for an XML state provider.</xs:documentation></xs:annotation>
- <xs:sequence>
- <xs:element maxOccurs="unbounded" minOccurs="0" name="traceType">
- <xs:annotation>
- <xs:documentation>Indicate that the state provider applies to a given trace type.</xs:documentation></xs:annotation>
- <xs:complexType>
- <xs:attribute name="id" use="required" >
- <xs:annotation>
- <xs:documentation>The ID of the trace type, as declared in a org.eclipse.linuxtools.tmf.core.tracetype extension point or a custom trace parser. For example: "org.eclipse.linuxtools.lttng2.kernel.tracetype" or "org.eclipse.linuxtools.lttng2.ust.tracetype" for respectively LTTng Kernel and LTTng UST traces.</xs:documentation></xs:annotation></xs:attribute>
- </xs:complexType>
- </xs:element>
- <xs:element maxOccurs="1" minOccurs="0" name="label">
- <xs:annotation>
- <xs:documentation>Add a label to the state provider. If provided, this text will be the name of the analysis that the user will see in TMF.</xs:documentation></xs:annotation>
- <xs:complexType>
- <xs:attribute name="value" >
- <xs:annotation>
- <xs:documentation>The text to name this state provider (and the analysis it will generate).</xs:documentation></xs:annotation></xs:attribute>
- </xs:complexType>
- </xs:element>
- </xs:sequence>
- </xs:complexType>
-
- <xs:complexType name="eventHandler">
- <xs:annotation>
- <xs:documentation>Define how an event modifies the state of the system. There should be one event handler for each event causing a state change.</xs:documentation></xs:annotation>
- <xs:sequence>
- <xs:element maxOccurs="unbounded" minOccurs="1" name="stateChange" type="stateChange" >
- <xs:annotation>
- <xs:documentation>Define how the state system is modified by the event. An event may cause more than one state change.</xs:documentation></xs:annotation></xs:element>
- </xs:sequence>
- <xs:attribute name="eventName" type="xs:string" use="required" >
- <xs:annotation>
- <xs:documentation>Name of the event that causes a state change.</xs:documentation></xs:annotation></xs:attribute>
- <xs:anyAttribute />
- </xs:complexType>
-
- <xs:complexType name="stateChange">
- <xs:annotation>
- <xs:documentation>Define a change of state in the state system being built.</xs:documentation></xs:annotation>
- <xs:choice maxOccurs="1" minOccurs="1">
- <xs:sequence maxOccurs="1" minOccurs="1">
- <xs:annotation>
- <xs:documentation>Describe a single attribute assignation. Simply put: a state change where path/to/attribute=value.</xs:documentation></xs:annotation>
- <xs:element maxOccurs="unbounded" minOccurs="1" name="stateAttribute" type="stateAttribute" >
- <xs:annotation>
- <xs:documentation>Explain how to reach an attribute in the state system. It describes the path/to/attribute.</xs:documentation></xs:annotation></xs:element>
- <xs:element maxOccurs="1" minOccurs="1" name="stateValue" type="stateValue" >
- <xs:annotation>
- <xs:documentation>Explain how to obtain the value of the state attribute to modify.</xs:documentation></xs:annotation></xs:element>
- </xs:sequence>
- <xs:sequence maxOccurs="1" minOccurs="1">
- <xs:annotation>
- <xs:documentation>Describe a conditional state change, where different path conditions may lead to different state changes.</xs:documentation></xs:annotation>
- <xs:element maxOccurs="1" minOccurs="1" name="if" type="conditionSingle" >
- <xs:annotation>
- <xs:documentation>Define the condition to verify.</xs:documentation></xs:annotation></xs:element>
- <xs:element maxOccurs="1" minOccurs="1" name="then" type="stateChange" >
- <xs:annotation>
- <xs:documentation>Define the state change to use if the previous condition is true.</xs:documentation></xs:annotation></xs:element>
- <xs:element maxOccurs="1" minOccurs="0" name="else" type="stateChange" >
- <xs:annotation>
- <xs:documentation>Optionally define the state change to use if the condition is false.</xs:documentation></xs:annotation></xs:element>
- </xs:sequence>
- </xs:choice>
- </xs:complexType>
-
- <xs:complexType name="condition">
- <xs:annotation>
- <xs:documentation>Define a conditional statement. Conditions may use values of the state system or from the event being handled. This element defines a statement in the form of "if (some_path == value)".</xs:documentation></xs:annotation>
- <xs:sequence maxOccurs="1" minOccurs="1">
- <xs:choice maxOccurs="1" minOccurs="1">
- <xs:element maxOccurs="unbounded" minOccurs="1" name="stateAttribute" type="stateAttribute" >
- <xs:annotation>
- <xs:documentation>Compare the current value of an attribute of the state system.</xs:documentation></xs:annotation></xs:element>
- <xs:element maxOccurs="1" minOccurs="1" name="field" type="eventField" >
- <xs:annotation>
- <xs:documentation>Compare the value of an event field.</xs:documentation></xs:annotation></xs:element>
- </xs:choice>
- <xs:element maxOccurs="1" minOccurs="1" name="stateValue" type="stateValue" >
- <xs:annotation>
- <xs:documentation>Define the value to compare to.</xs:documentation></xs:annotation></xs:element>
- </xs:sequence>
- <xs:anyAttribute />
- </xs:complexType>
-
- <xs:complexType name="conditionSingle">
- <xs:annotation>
- <xs:documentation>Define a conditional statement with only one child. From this element, a condition may be composed of other conditional elements to create more complex conditional statements.</xs:documentation></xs:annotation>
- <xs:choice maxOccurs="1" minOccurs="1">
- <xs:element name="condition" type="condition" >
- <xs:annotation>
- <xs:documentation>Define a condition element, in the form "if (some_path == value)".</xs:documentation></xs:annotation></xs:element>
- <xs:element name="not" type="conditionSingle" >
- <xs:annotation>
- <xs:documentation>Negate the result of the following condition, allowing statements of the form "if (!cond)".</xs:documentation></xs:annotation></xs:element>
- <xs:element name="and" type="conditionMultiple" >
- <xs:annotation>
- <xs:documentation>ANDs 2 conditional statements, allowing statements of the form "if (condA AND condB)"</xs:documentation></xs:annotation></xs:element>
- <xs:element name="or" type="conditionMultiple" >
- <xs:annotation>
- <xs:documentation>ORs 2 conditional statements, allowing statements of the form "if (condA OR condB)"</xs:documentation></xs:annotation></xs:element>
- </xs:choice>
- <xs:anyAttribute />
- </xs:complexType>
-
- <xs:complexType name="conditionMultiple">
- <xs:annotation>
- <xs:documentation>Allows the composition of more than one conditional statements.</xs:documentation></xs:annotation>
- <xs:sequence maxOccurs="unbounded" minOccurs="1">
- <xs:element maxOccurs="1" minOccurs="0" name="condition" type="condition" >
- <xs:annotation>
- <xs:documentation>Define a condition element, in the form "if (some_path == value)".</xs:documentation></xs:annotation></xs:element>
- <xs:element maxOccurs="1" minOccurs="0" name="or" type="conditionMultiple" >
- <xs:annotation>
- <xs:documentation>ORs 2 conditional statements, allowing statements of the form "if (condA OR condB)"</xs:documentation></xs:annotation></xs:element>
- <xs:element maxOccurs="1" minOccurs="0" name="and" type="conditionMultiple" >
- <xs:annotation>
- <xs:documentation>ANDs 2 conditional statements, allowing statements of the form "if (condA AND condB)"</xs:documentation></xs:annotation></xs:element>
- <xs:element maxOccurs="1" minOccurs="0" name="not" type="conditionSingle" >
- <xs:annotation>
- <xs:documentation>Negate the result of the following condition, allowing statements of the form "if (!cond)".</xs:documentation></xs:annotation></xs:element>
- </xs:sequence>
- <xs:anyAttribute />
- </xs:complexType>
-
- <xs:complexType name="stateAttribute">
- <xs:annotation>
- <xs:documentation>Define a path to an attribute of the state system.</xs:documentation></xs:annotation>
- <xs:sequence>
- <xs:element maxOccurs="unbounded" minOccurs="0" name="stateAttribute" type="stateAttribute" >
- <xs:annotation>
- <xs:documentation>If the type is a "query", those stateAttribute elements describe the elements of the query.</xs:documentation></xs:annotation></xs:element>
- </xs:sequence>
- <xs:attribute name="type" use="required">
- <xs:annotation>
- <xs:documentation>The type of path to this attribute. The meaning of those paths type will depend on the context where the stateAttribute is being used. Not all types will make sense everywhere.</xs:documentation></xs:annotation>
- <xs:simpleType>
- <xs:restriction base="xs:string">
- <xs:enumeration value="null" >
- <xs:annotation>
- <xs:documentation>This type does not change the current attribute. Whatever attribute was the reference attribute at a given time, it will be returned as is.</xs:documentation></xs:annotation></xs:enumeration>
- <xs:enumeration value="constant" >
- <xs:annotation>
- <xs:documentation>This type identifies the state system attribute by a constant string. For instance, if the first level attribute of the state system is "Threads", then a constant type with "Threads" value should be used.</xs:documentation></xs:annotation></xs:enumeration>
- <xs:enumeration value="eventField" >
- <xs:annotation>
- <xs:documentation>This type identifies the attribute by the value of an event field. Note that the event field corresponds to the attribute name, not its value. For example, if the event has a field called "current_cpu" with a value of "2", "2" would be the attribute name we want.</xs:documentation></xs:annotation></xs:enumeration>
- <xs:enumeration value="location" >
- <xs:annotation>
- <xs:documentation>This type indicates that the path to the attribute is at the specified location. Location simply avoids having to write full path to an attribute each time it is being used, but the location itself is a sequence of stateAttribute elements. For example, if we previously defined a location named "CurrentThead" for path "CPUs/{current_cpu}/CurrentThread", we can use a stateAttribute of type location with "CurrentThread" value.</xs:documentation></xs:annotation></xs:enumeration>
- <xs:enumeration value="query" >
- <xs:annotation>
- <xs:documentation>This type indicates that the path to the attribute is the result of a query. If this type is selected, a sequence of stateAttribute elements needs to be specified for this state attribute. The result of the query is the attribute name of the current element. For example, if the attribute we want is the PID of the current process on CPU 0, that PID can be found through the query "CPUs/0/CurrentThread". The value of this attribute would be, for example, 1234, the attribute we are looking for.</xs:documentation></xs:annotation></xs:enumeration>
- </xs:restriction>
- </xs:simpleType>
- </xs:attribute>
- <xs:attribute name="value" type="xs:string" >
- <xs:annotation>
- <xs:documentation>The value of this state attribute. A value should be specified only if the type is "constant", "eventField" or "location".</xs:documentation></xs:annotation></xs:attribute>
- </xs:complexType>
-
- <xs:complexType name="stateValue">
- <xs:annotation>
- <xs:documentation>Define a value, that can be assigned to an attribute of the state system.</xs:documentation></xs:annotation>
- <xs:sequence>
- <xs:annotation>
- <xs:documentation>For a "query" value type, a sequence of stateAttributes will define the query whose result is the value.</xs:documentation></xs:annotation>
- <xs:element maxOccurs="unbounded" minOccurs="0" name="stateAttribute" type="stateAttribute" ></xs:element>
- </xs:sequence>
- <xs:attribute name="type" use="required">
- <xs:annotation>
- <xs:documentation>The type of this state value. It will describe how to obtain to value and/or what to do with it.</xs:documentation></xs:annotation>
- <xs:simpleType>
- <xs:restriction base="xs:string">
- <xs:enumeration value="null" >
- <xs:annotation>
- <xs:documentation>Indicate that the value is a null value.</xs:documentation></xs:annotation></xs:enumeration>
- <xs:enumeration value="int" >
- <xs:annotation>
- <xs:documentation>The value is a constant of type integer.</xs:documentation></xs:annotation></xs:enumeration>
- <xs:enumeration value="long" >
- <xs:annotation>
- <xs:documentation>The value is a constant of type long</xs:documentation></xs:annotation></xs:enumeration>
- <xs:enumeration value="string" >
- <xs:annotation>
- <xs:documentation>The value is a constant of type string</xs:documentation></xs:annotation></xs:enumeration>
- <xs:enumeration value="eventField" >
- <xs:annotation>
- <xs:documentation>The value is the content of an event field. The "value" attribute is the field name. To convert this field to a certain type, attribute "forcedType" may be used.</xs:documentation></xs:annotation></xs:enumeration>
- <xs:enumeration value="eventName" >
- <xs:annotation>
- <xs:documentation>The value is the name of the event.</xs:documentation></xs:annotation></xs:enumeration>
- <xs:enumeration value="delete" >
- <xs:annotation>
- <xs:documentation>Indicate that the attribute the value is to be applied to should be deleted.</xs:documentation></xs:annotation></xs:enumeration>
- <xs:enumeration value="query" >
- <xs:annotation>
- <xs:documentation>The value is the result of a query to the state system. If this type is selected, a sequence of stateAttributes must be defined in this stateValue element.</xs:documentation></xs:annotation></xs:enumeration>
- </xs:restriction>
- </xs:simpleType>
- </xs:attribute>
- <xs:attribute name="increment" type="xs:boolean" >
- <xs:annotation>
- <xs:documentation>Indicate that the current value will be added to any previously available value.</xs:documentation></xs:annotation></xs:attribute>
- <xs:attribute name="stack">
- <xs:annotation>
- <xs:documentation>Indicate that a stack operation will be performed with the value</xs:documentation></xs:annotation>
- <xs:simpleType>
- <xs:restriction base="xs:string">
- <xs:enumeration value="pop">
- <xs:annotation>
- <xs:documentation>The value will be popped from the stack</xs:documentation></xs:annotation></xs:enumeration>
- <xs:enumeration value="push">
- <xs:annotation>
- <xs:documentation>The value will be pushed on a stack</xs:documentation></xs:annotation></xs:enumeration>
- <xs:enumeration value="peek">
- <xs:annotation>
- <xs:documentation>The value will be peeked from the top of the stack, but it will stay there</xs:documentation></xs:annotation></xs:enumeration>
- </xs:restriction>
- </xs:simpleType>
- </xs:attribute>
- <xs:attribute name="forcedType">
- <xs:annotation>
- <xs:documentation>Indicate the desired type for the state value. If the value is not already of this type, a conversion will be attempted. The forcedType is used to convert values of event fields.</xs:documentation></xs:annotation>
- <xs:simpleType>
- <xs:restriction base="xs:string">
- <xs:enumeration value="int" >
- <xs:annotation>
- <xs:documentation>The value should be an integer</xs:documentation></xs:annotation></xs:enumeration>
- <xs:enumeration value="long" >
- <xs:annotation>
- <xs:documentation>The value should be a long</xs:documentation></xs:annotation></xs:enumeration>
- <xs:enumeration value="string" >
- <xs:annotation>
- <xs:documentation>The value should be a double</xs:documentation></xs:annotation></xs:enumeration>
- </xs:restriction>
- </xs:simpleType>
- </xs:attribute>
- <xs:attribute name="value" type="xs:string" >
- <xs:annotation>
- <xs:documentation>Indicate what the value is. A value should be specified only if the type is int, long, string or event_field. See the documentation on types for information on what to put for value.</xs:documentation></xs:annotation></xs:attribute>
- </xs:complexType>
-
- <xs:complexType name="eventField">
- <xs:annotation>
- <xs:documentation>This element is used in conditions where the value of an event field is compared to something else. It is not the same as the stateAttribute's type eventField, where the eventField is used as the name for an attribute to the state system.</xs:documentation></xs:annotation>
- <xs:attribute name="name" type="xs:string" use="required" >
- <xs:annotation>
- <xs:documentation>Indicate which field to use.</xs:documentation></xs:annotation></xs:attribute>
- </xs:complexType>
-
-</xs:schema>
diff --git a/lttng/org.eclipse.linuxtools.tmf.analysis.xml.core/src/org/eclipse/linuxtools/tmf/analysis/xml/core/module/xmlView.xsd b/lttng/org.eclipse.linuxtools.tmf.analysis.xml.core/src/org/eclipse/linuxtools/tmf/analysis/xml/core/module/xmlView.xsd
deleted file mode 100644
index 1931843ea7..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.analysis.xml.core/src/org/eclipse/linuxtools/tmf/analysis/xml/core/module/xmlView.xsd
+++ /dev/null
@@ -1,178 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!-- ***************************************************************************
- * Copyright (c) 2014 École Polytechnique de Montréal
- *
- * 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:
- * Florian Wininger - Initial API and implementation
- *************************************************************************** -->
-<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
- attributeFormDefault="unqualified" elementFormDefault="qualified">
-
- <xs:complexType name="timeGraphView">
- <xs:annotation>
- <xs:documentation>Declares a data-driven time graph view, which defines how the view will display the results of an analysis. For now, only state system analysis are supported by this view.</xs:documentation></xs:annotation>
- <xs:sequence>
- <xs:element maxOccurs="1" minOccurs="0" name="head" type="headOutput" >
- <xs:annotation>
- <xs:documentation>Provider meta-information on this view, like labels and analysis it applies to.</xs:documentation></xs:annotation></xs:element>
- <xs:element maxOccurs="unbounded" minOccurs="0" name="definedValue" type="definedValue" >
- <xs:annotation>
- <xs:documentation>Define a mapping between a human-readable text and the value used in the analysis. The "definedValue"'s optional "color" attribute is the color with which this value will be displayed.</xs:documentation></xs:annotation></xs:element>
- <xs:element maxOccurs="unbounded" minOccurs="0" name="entry" type="viewEntry" >
- <xs:annotation>
- <xs:documentation>Define how to determine the entries (lines) to show on the time graph view. An entry may have children entry elements defined as children, where children are sub-elements of this one (for example, child attributes in the state system). A parent/child relationship may be defined for entries of the same level. See the viewEntry element documentation for more details.</xs:documentation></xs:annotation></xs:element>
- </xs:sequence>
- <xs:attribute name="id" type="xs:string" use="required" >
- <xs:annotation>
- <xs:documentation>The unique identifier of this view element. It will be used by the framework to identify this view.</xs:documentation></xs:annotation></xs:attribute>
- </xs:complexType>
-
- <xs:complexType name="xyView">
- <xs:annotation>
- <xs:documentation>Declares a data-driven XY chart view, which defines how the view will display the results of an analysis. For now, only state system analyses are supported by this view.</xs:documentation></xs:annotation>
- <xs:sequence>
- <xs:element maxOccurs="1" minOccurs="0" name="head" type="headOutput" >
- <xs:annotation>
- <xs:documentation>Provider meta-information on this view, like labels and analyses it applies to.</xs:documentation></xs:annotation></xs:element>
- <xs:element maxOccurs="1" minOccurs="1" name="entry" type="xyViewEntry" >
- <xs:annotation>
- <xs:documentation>Define how to determine the entries (series) to show on the XY view. See the xyViewEntry element documentation for more details.</xs:documentation></xs:annotation></xs:element>
- </xs:sequence>
- <xs:attribute name="id" type="xs:string" use="required" >
- <xs:annotation>
- <xs:documentation>The unique identifier of this view element. It will be used by the framework to identify this view.</xs:documentation></xs:annotation></xs:attribute>
- </xs:complexType>
-
- <xs:complexType name="headOutput">
- <xs:annotation>
- <xs:documentation>Declares the meta-information that can be defined for an XML time graph view.</xs:documentation></xs:annotation>
- <xs:sequence>
- <xs:element maxOccurs="unbounded" minOccurs="0" name="analysis">
- <xs:annotation>
- <xs:documentation>Indicate that the view applies to the analysis identified with the given ID. To have a view apply to an XML-defined state system analysis, you'd use the state provider ID in the "stateProvider" element.</xs:documentation></xs:annotation>
- <xs:complexType>
- <xs:attribute name="id" type="xs:string" use="required" >
- <xs:annotation>
- <xs:documentation>The ID of the analysis this view applies to.</xs:documentation></xs:annotation></xs:attribute>
- <xs:attribute name="ssid" type="xs:string" use="optional" >
- <xs:annotation>
- <xs:documentation>The ID of the state system this view applies to. The attribute is used only if the analysis contains more than one state system.</xs:documentation></xs:annotation></xs:attribute>
- </xs:complexType>
- </xs:element>
- <xs:element maxOccurs="1" minOccurs="0" name="label">
- <xs:annotation>
- <xs:documentation>Add a label to the time graph view. If provided, this text will be displayed to the user to identify this view, otherwise, the view's ID will be used.</xs:documentation></xs:annotation>
- <xs:complexType>
- <xs:attribute name="value" use="required" >
- <xs:annotation>
- <xs:documentation>The text used as a name for this time graph view.</xs:documentation></xs:annotation></xs:attribute>
- </xs:complexType>
- </xs:element>
- </xs:sequence>
- </xs:complexType>
-
- <xs:complexType name="viewEntry">
- <xs:annotation>
- <xs:documentation>Define a path to entries in the view. If this element is at the top level, the base path to reach the entry is the root of the state system. Otherwise, it will use the parent element's corresponding attribute as the base. Each view entry element corresponds to a time graph view entry that will actually be displayed.</xs:documentation></xs:annotation>
- <xs:sequence>
- <xs:element maxOccurs="1" minOccurs="0" name="display" type="viewStateAttribute" >
- <xs:annotation>
- <xs:documentation>Indicate the attribute whose value will be displayed in the time graph (the value that changes over time). If this element is not specified, no entry will be created for this element, and all other elements will be ignored.</xs:documentation></xs:annotation></xs:element>
- <xs:element maxOccurs="1" minOccurs="0" name="id" type="viewStateAttribute" >
- <xs:annotation>
- <xs:documentation>Specify which attribute to use as ID for this entry. This ID will be used in the ID column in the view, and will also be used to build the tree if a parent element is specified. If this element is not present, the display attribute's name will be used as ID.</xs:documentation></xs:annotation></xs:element>
- <xs:element maxOccurs="1" minOccurs="0" name="parent" type="viewStateAttribute" >
- <xs:annotation>
- <xs:documentation>Specify how to find the parent's ID of this entry. By default, the parent/child hierarchy is the same as defined in the timeGraphView element of the XML file. This element will add to this default parent/child relationship so that elements at the same XML-defined level can still have a relationship.</xs:documentation></xs:annotation></xs:element>
- <xs:element maxOccurs="1" minOccurs="0" name="name" type="viewStateAttribute" >
- <xs:annotation>
- <xs:documentation>Specify how to find the name of this entry. Typically, the name will be human-readable. If not specified, the display attribute's name will be used as the name.</xs:documentation></xs:annotation></xs:element>
- <xs:element maxOccurs="unbounded" minOccurs="0" name="entry" type="viewEntry" >
- <xs:annotation>
- <xs:documentation>Define child entries for this entry. Child entries will be shown as children of this entry (with or without additional parent/child relationship defined through the viewEntry element's "parent" element).</xs:documentation></xs:annotation></xs:element>
- </xs:sequence>
- <xs:attribute name="path" type="xs:string" use="required" >
- <xs:annotation>
- <xs:documentation>The path of the entry in the state system. Wildcards '*' may be used. For example, to display entries from all CPUs, the path could be "CPUs/*" and one entry will be created for each sub-attribute of the "CPUs" attribute. Each entry will be used as the base for all child elements, unless specified otherwise.</xs:documentation></xs:annotation></xs:attribute>
- </xs:complexType>
-
- <xs:complexType name="xyViewEntry">
- <xs:annotation>
- <xs:documentation>Define a path to entries in the view. If this element is at the top level, the base path to reach the entry is the root of the state system. Otherwise, it will use the parent element's corresponding attribute as the base. Each XY view entry element corresponds to a series in the resulting view.</xs:documentation></xs:annotation>
- <xs:sequence>
- <xs:element maxOccurs="1" minOccurs="0" name="display" type="viewStateAttribute" >
- <xs:annotation>
- <xs:documentation>Indicate the attribute whose value will be displayed in the time graph (the value that changes over time). If this element is not specified, no entry will be created for this element, and all other elements will be ignored.</xs:documentation></xs:annotation></xs:element>
- <xs:element maxOccurs="1" minOccurs="0" name="name" type="viewStateAttribute" >
- <xs:annotation>
- <xs:documentation>Specify how to find the name of this entry. Typically, the name will be human-readable. If not specified, the display attribute's name will be used as the name.</xs:documentation></xs:annotation></xs:element>
- </xs:sequence>
- <xs:attribute name="path" type="xs:string" use="required" >
- <xs:annotation>
- <xs:documentation>The path of the entry in the state system. Wildcards '*' may be used. For example, to display entries from all CPUs, the path could be "CPUs/*" and one series will be created for each sub-attribute of the "CPUs" attribute. Each entry will be used as the base for all child elements, unless specified otherwise.</xs:documentation></xs:annotation></xs:attribute>
- <xs:attribute name="displayType" use="optional" default="absolute" >
- <xs:annotation>
- <xs:documentation>Indicate how to display the value, compared with preceding values.</xs:documentation></xs:annotation>
- <xs:simpleType>
- <xs:restriction base="xs:string">
- <xs:enumeration value="absolute" >
- <xs:annotation>
- <xs:documentation>The value is shown as is.</xs:documentation></xs:annotation></xs:enumeration>
- <xs:enumeration value="delta" >
- <xs:annotation>
- <xs:documentation>The value is the difference between the value at current timestamp and the value at the preceding timestamp.</xs:documentation></xs:annotation></xs:enumeration>
- </xs:restriction>
- </xs:simpleType>
- </xs:attribute>
- </xs:complexType>
-
- <xs:complexType name="viewStateAttribute">
- <xs:sequence>
- <xs:element maxOccurs="unbounded" minOccurs="0" name="stateAttribute" type="viewStateAttribute" >
- <xs:annotation>
- <xs:documentation>If the type is a "query", those stateAttribute elements describe the elements of the query.</xs:documentation></xs:annotation></xs:element>
- </xs:sequence>
- <xs:attribute name="type" use="required">
- <xs:annotation>
- <xs:documentation>The type of path to this attribute. The value of the other attributes will depend on the selected type.</xs:documentation></xs:annotation>
- <xs:simpleType>
- <xs:restriction base="xs:string">
- <xs:enumeration value="constant" >
- <xs:annotation>
- <xs:documentation>This type identifies the state system attribute by a constant string. For instance, if the state system attribute to display is "Status", it would be a constant type with value "Status".</xs:documentation></xs:annotation></xs:enumeration>
- <xs:enumeration value="location" >
- <xs:annotation>
- <xs:documentation>This type indicates that the path to the attribute is at the specified location. A location avoids having to write the full path to an attribute every time it is being used. The location itself is a sequence of stateAttribute elements. For example, if we previously defined a location named "Procname" for path "Threads/tid/Procname", we can use a stateAttribute of type location with "Procname" value.</xs:documentation></xs:annotation></xs:enumeration>
- <xs:enumeration value="query" >
- <xs:annotation>
- <xs:documentation>This type indicates that the path to the attribute is the result of a query. If this type is selected, a sequence of stateAttribute elements needs to be specified for this viewStateAttribute. The result of the query is the attribute name of the current element. For example, if the attribute we want is the PID of the current process on CPU 0, that PID can be found through the query "CPUs/0/CurrentThread". The value of this attribute would be for example 1234, which is the attribute we are looking for.</xs:documentation></xs:annotation></xs:enumeration>
- <xs:enumeration value="self" >
- <xs:annotation>
- <xs:documentation>This type indicates that the requested attribute is the attribute itself. For this attribute, the reference is always relative (setting it to absolute will be ignored).</xs:documentation></xs:annotation></xs:enumeration>
- </xs:restriction>
- </xs:simpleType>
- </xs:attribute>
- <xs:attribute name="value" type="xs:string" >
- <xs:annotation>
- <xs:documentation>The value of this state attribute. A value should be specified if the type is "constant" or "location".</xs:documentation></xs:annotation></xs:attribute>
- <xs:attribute name="reference" use="optional" default="relative">
- <xs:annotation>
- <xs:documentation>Specify which state system attribute to use as the base to reach this path. It is either absolute or relative. By default, it is relative to the current entry.</xs:documentation></xs:annotation>
- <xs:simpleType>
- <xs:restriction base="xs:string">
- <xs:enumeration value="relative" >
- <xs:annotation>
- <xs:documentation>The path will be calculated starting from the entry under which this viewStateAttribute element is defined.</xs:documentation></xs:annotation></xs:enumeration>
- <xs:enumeration value="absolute" >
- <xs:annotation>
- <xs:documentation>The path will be calculated starting from the root of the state system. That means that if the entry itself is one of "CPUs/*", we could reach another attribute from the root of the state system, like "Threads/tid".</xs:documentation></xs:annotation></xs:enumeration>
- </xs:restriction>
- </xs:simpleType>
- </xs:attribute>
- </xs:complexType>
-</xs:schema>
diff --git a/lttng/org.eclipse.linuxtools.tmf.analysis.xml.core/src/org/eclipse/linuxtools/tmf/analysis/xml/core/stateprovider/TmfXmlStrings.java b/lttng/org.eclipse.linuxtools.tmf.analysis.xml.core/src/org/eclipse/linuxtools/tmf/analysis/xml/core/stateprovider/TmfXmlStrings.java
deleted file mode 100644
index a3f61ef8a7..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.analysis.xml.core/src/org/eclipse/linuxtools/tmf/analysis/xml/core/stateprovider/TmfXmlStrings.java
+++ /dev/null
@@ -1,96 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 Ecole Polytechnique
- *
- * 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:
- * Florian Wininger - Initial implementation
- ******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.analysis.xml.core.stateprovider;
-
-import org.eclipse.jdt.annotation.NonNullByDefault;
-
-/**
- * This file defines all name in the XML Structure for the State Provider
- *
- * @author Florian Wininger
- * @noimplement This interface only contains static defines
- */
-@SuppressWarnings({ "javadoc", "nls" })
-@NonNullByDefault
-public interface TmfXmlStrings {
-
- /* XML generic Element attribute names */
- static final String VALUE = "value";
- static final String NAME = "name";
- static final String VERSION = "version";
- static final String TYPE = "type";
-
- /* XML header element */
- static final String HEAD = "head";
- static final String TRACETYPE = "traceType";
- static final String ID = "id";
- static final String LABEL = "label";
- static final String ANALYSIS = "analysis";
-
- /* XML String */
- static final String NULL = "";
- static final String WILDCARD = "*";
- static final String VARIABLE_PREFIX = "$";
- static final String COLOR = "color";
- static final String COLOR_PREFIX = "#";
-
- /* XML Element Name */
- static final String STATE_PROVIDER = "stateProvider";
- static final String DEFINED_VALUE = "definedValue";
- static final String LOCATION = "location";
- static final String EVENT_HANDLER = "eventHandler";
- static final String STATE_ATTRIBUTE = "stateAttribute";
- static final String STATE_VALUE = "stateValue";
- static final String STATE_CHANGE = "stateChange";
- static final String ELEMENT_FIELD = "field";
-
- /* XML Condition strings */
- static final String IF = "if";
- static final String CONDITION = "condition";
- static final String THEN = "then";
- static final String ELSE = "else";
-
- /* XML event handler strings */
- static final String HANDLER_EVENT_NAME = "eventName";
-
- /* XML constant for Type of Attribute and Value */
- static final String TYPE_NULL = "null";
- static final String TYPE_CONSTANT = "constant";
- static final String EVENT_FIELD = "eventField";
- static final String TYPE_LOCATION = "location";
- static final String TYPE_QUERY = "query";
- static final String TYPE_SELF = "self";
- static final String TYPE_INT = "int";
- static final String TYPE_LONG = "long";
- static final String TYPE_STRING = "string";
- static final String TYPE_EVENT_NAME = "eventName";
- static final String TYPE_DELETE = "delete";
- static final String INCREMENT = "increment";
- static final String FORCED_TYPE = "forcedType";
- static final String ATTRIBUTE_STACK = "stack";
- static final String STACK_POP = "pop";
- static final String STACK_PUSH = "push";
- static final String STACK_PEEK = "peek";
- static final String CPU = "cpu";
-
- /**
- * @since 1.2
- */
- static final String TIMESTAMP = "timestamp";
-
- /* Operator type */
- static final String NOT = "not";
- static final String AND = "and";
- static final String OR = "or";
-
-} \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.tmf.analysis.xml.core/src/org/eclipse/linuxtools/tmf/analysis/xml/core/stateprovider/XmlStateProvider.java b/lttng/org.eclipse.linuxtools.tmf.analysis.xml.core/src/org/eclipse/linuxtools/tmf/analysis/xml/core/stateprovider/XmlStateProvider.java
deleted file mode 100644
index 29267fd1c1..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.analysis.xml.core/src/org/eclipse/linuxtools/tmf/analysis/xml/core/stateprovider/XmlStateProvider.java
+++ /dev/null
@@ -1,185 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 École Polytechnique de Montréal
- *
- * 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:
- * Florian Wininger - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.analysis.xml.core.stateprovider;
-
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Map;
-import java.util.Set;
-
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.jdt.annotation.NonNull;
-import org.eclipse.linuxtools.statesystem.core.ITmfStateSystem;
-import org.eclipse.linuxtools.tmf.analysis.xml.core.model.ITmfXmlModelFactory;
-import org.eclipse.linuxtools.tmf.analysis.xml.core.model.TmfXmlEventHandler;
-import org.eclipse.linuxtools.tmf.analysis.xml.core.model.TmfXmlLocation;
-import org.eclipse.linuxtools.tmf.analysis.xml.core.model.readwrite.TmfXmlReadWriteModelFactory;
-import org.eclipse.linuxtools.tmf.analysis.xml.core.module.IXmlStateSystemContainer;
-import org.eclipse.linuxtools.tmf.analysis.xml.core.module.XmlUtils;
-import org.eclipse.linuxtools.tmf.core.event.ITmfEvent;
-import org.eclipse.linuxtools.tmf.core.statesystem.AbstractTmfStateProvider;
-import org.eclipse.linuxtools.tmf.core.trace.ITmfTrace;
-import org.w3c.dom.Element;
-import org.w3c.dom.NodeList;
-
-/**
- * This is the state change input plug-in for TMF's state system which handles
- * the XML Format
- *
- * @author Florian Wininger
- */
-public class XmlStateProvider extends AbstractTmfStateProvider implements IXmlStateSystemContainer {
-
- private final IPath fFilePath;
- @NonNull private final String fStateId;
-
- /** List of all Event Handlers */
- private final Set<TmfXmlEventHandler> fEventHandlers = new HashSet<>();
-
- /** List of all Locations */
- private final Set<TmfXmlLocation> fLocations;
-
- /** Map for defined values */
- private final Map<String, String> fDefinedValues = new HashMap<>();
-
- // ------------------------------------------------------------------------
- // Constructor
- // ------------------------------------------------------------------------
-
- /**
- * Instantiate a new state provider plug-in.
- *
- * @param trace
- * The trace
- * @param stateid
- * The state system id, corresponding to the analysis_id
- * attribute of the state provider element of the XML file
- * @param file
- * Path to the XML file containing the state provider definition
- */
- public XmlStateProvider(ITmfTrace trace, @NonNull String stateid, IPath file) {
- super(trace, ITmfEvent.class, stateid);
- fStateId = stateid;
- fFilePath = file;
- Element doc = XmlUtils.getElementInFile(fFilePath.makeAbsolute().toOSString(), TmfXmlStrings.STATE_PROVIDER, fStateId);
- if (doc == null) {
- fLocations = new HashSet<>();
- return;
- }
-
- ITmfXmlModelFactory modelFactory = TmfXmlReadWriteModelFactory.getInstance();
- /* parser for defined Values */
- NodeList definedStateNodes = doc.getElementsByTagName(TmfXmlStrings.DEFINED_VALUE);
- for (int i = 0; i < definedStateNodes.getLength(); i++) {
- Element element = (Element) definedStateNodes.item(i);
- fDefinedValues.put(element.getAttribute(TmfXmlStrings.NAME), element.getAttribute(TmfXmlStrings.VALUE));
- }
-
- /* parser for the locations */
- NodeList locationNodes = doc.getElementsByTagName(TmfXmlStrings.LOCATION);
- Set<TmfXmlLocation> locations = new HashSet<>();
- for (int i = 0; i < locationNodes.getLength(); i++) {
- Element element = (Element) locationNodes.item(i);
- TmfXmlLocation location = modelFactory.createLocation(element, this);
- locations.add(location);
- }
- fLocations = Collections.unmodifiableSet(locations);
-
- /* parser for the event handlers */
- NodeList nodes = doc.getElementsByTagName(TmfXmlStrings.EVENT_HANDLER);
- for (int i = 0; i < nodes.getLength(); i++) {
- Element element = (Element) nodes.item(i);
- TmfXmlEventHandler handler = modelFactory.createEventHandler(element, this);
- fEventHandlers.add(handler);
- }
- }
-
- /**
- * Get the state id of the state provider
- *
- * @return The state id of the state provider
- */
- @NonNull
- public String getStateId() {
- return fStateId;
- }
-
- // ------------------------------------------------------------------------
- // IStateChangeInput
- // ------------------------------------------------------------------------
-
- @Override
- public int getVersion() {
- Element ssNode = XmlUtils.getElementInFile(fFilePath.makeAbsolute().toOSString(), TmfXmlStrings.STATE_PROVIDER, fStateId);
- if (ssNode != null) {
- return Integer.parseInt(ssNode.getAttribute(TmfXmlStrings.VERSION));
- }
- /*
- * The version attribute is mandatory and XML files that don't validate
- * with the XSD are ignored, so this should never happen
- */
- throw new IllegalStateException("The state provider XML node should have a version attribute"); //$NON-NLS-1$
- }
-
- @Override
- public XmlStateProvider getNewInstance() {
- return new XmlStateProvider(this.getTrace(), getStateId(), fFilePath);
- }
-
- @Override
- protected void eventHandle(ITmfEvent event) {
- if (event == null) {
- return;
- }
- for (TmfXmlEventHandler eventHandler : fEventHandlers) {
- eventHandler.handleEvent(event);
- }
- }
-
- @Override
- public ITmfStateSystem getStateSystem() {
- return ss;
- }
-
- // ------------------------------------------------------------------------
- // Operations
- // ------------------------------------------------------------------------
-
- @Override
- public Iterable<TmfXmlLocation> getLocations() {
- return fLocations;
- }
-
- /**
- * Get the defined value associated with a constant
- *
- * @param constant
- * The constant defining this value
- * @return The actual value corresponding to this constant
- */
- public String getDefinedValue(String constant) {
- return fDefinedValues.get(constant);
- }
-
- @Override
- public String getAttributeValue(String name) {
- String attribute = name;
- if (attribute.startsWith(TmfXmlStrings.VARIABLE_PREFIX)) {
- /* search the attribute in the map without the fist character $ */
- attribute = getDefinedValue(attribute.substring(1));
- }
- return attribute;
- }
-
-} \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.tmf.analysis.xml.core/src/org/eclipse/linuxtools/tmf/analysis/xml/core/stateprovider/XmlStateSystemModule.java b/lttng/org.eclipse.linuxtools.tmf.analysis.xml.core/src/org/eclipse/linuxtools/tmf/analysis/xml/core/stateprovider/XmlStateSystemModule.java
deleted file mode 100644
index 66c8ee9a81..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.analysis.xml.core/src/org/eclipse/linuxtools/tmf/analysis/xml/core/stateprovider/XmlStateSystemModule.java
+++ /dev/null
@@ -1,85 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 École Polytechnique de Montréal
- *
- * 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:
- * Geneviève Bastien - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.analysis.xml.core.stateprovider;
-
-import java.util.List;
-
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.jdt.annotation.NonNull;
-import org.eclipse.jdt.annotation.Nullable;
-import org.eclipse.linuxtools.tmf.analysis.xml.core.module.XmlUtils;
-import org.eclipse.linuxtools.tmf.core.statesystem.ITmfStateProvider;
-import org.eclipse.linuxtools.tmf.core.statesystem.TmfStateSystemAnalysisModule;
-import org.w3c.dom.Element;
-
-/**
- * Analysis module for the data-driven state systems, defined in XML.
- *
- * @author Geneviève Bastien
- * @since 3.0
- */
-public class XmlStateSystemModule extends TmfStateSystemAnalysisModule {
-
- private @Nullable IPath fXmlFile;
-
- @Override
- protected StateSystemBackendType getBackendType() {
- return StateSystemBackendType.FULL;
- }
-
- @Override
- @NonNull
- protected ITmfStateProvider createStateProvider() {
- return new XmlStateProvider(getTrace(), getId(), fXmlFile);
- }
-
- @Override
- public String getName() {
- String name = getId();
- IPath xmlFile = fXmlFile;
- if (xmlFile == null) {
- return name;
- }
- Element doc = XmlUtils.getElementInFile(xmlFile.makeAbsolute().toString(), TmfXmlStrings.STATE_PROVIDER, getId());
- /* Label may be available in XML header */
- List<Element> head = XmlUtils.getChildElements(doc, TmfXmlStrings.HEAD);
- if (head.size() == 1) {
- List<Element> labels = XmlUtils.getChildElements(head.get(0), TmfXmlStrings.LABEL);
- if (!labels.isEmpty()) {
- name = labels.get(0).getAttribute(TmfXmlStrings.VALUE);
- }
- }
-
- return name;
- }
-
- /**
- * Sets the file path of the XML file containing the state provider
- *
- * @param file
- * The full path to the XML file
- */
- public void setXmlFile(IPath file) {
- fXmlFile = file;
- }
-
- /**
- * Get the path to the XML file containing this state provider definition.
- *
- * @return XML file path
- */
- public IPath getXmlFile() {
- return fXmlFile;
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.analysis.xml.ui.tests/.classpath b/lttng/org.eclipse.linuxtools.tmf.analysis.xml.ui.tests/.classpath
deleted file mode 100644
index 098194ca4b..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.analysis.xml.ui.tests/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
- <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.7"/>
- <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
- <classpathentry kind="src" path="src"/>
- <classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/lttng/org.eclipse.linuxtools.tmf.analysis.xml.ui.tests/.project b/lttng/org.eclipse.linuxtools.tmf.analysis.xml.ui.tests/.project
deleted file mode 100644
index 53217fc8e7..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.analysis.xml.ui.tests/.project
+++ /dev/null
@@ -1,34 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>org.eclipse.linuxtools.tmf.analysis.xml.ui.tests</name>
- <comment></comment>
- <projects>
- </projects>
- <buildSpec>
- <buildCommand>
- <name>org.eclipse.jdt.core.javabuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.ManifestBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.SchemaBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.api.tools.apiAnalysisBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>org.eclipse.pde.PluginNature</nature>
- <nature>org.eclipse.jdt.core.javanature</nature>
- <nature>org.eclipse.pde.api.tools.apiAnalysisNature</nature>
- </natures>
-</projectDescription>
diff --git a/lttng/org.eclipse.linuxtools.tmf.analysis.xml.ui.tests/.settings/org.eclipse.core.resources.prefs b/lttng/org.eclipse.linuxtools.tmf.analysis.xml.ui.tests/.settings/org.eclipse.core.resources.prefs
deleted file mode 100644
index 99f26c0203..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.analysis.xml.ui.tests/.settings/org.eclipse.core.resources.prefs
+++ /dev/null
@@ -1,2 +0,0 @@
-eclipse.preferences.version=1
-encoding/<project>=UTF-8
diff --git a/lttng/org.eclipse.linuxtools.tmf.analysis.xml.ui.tests/.settings/org.eclipse.core.runtime.prefs b/lttng/org.eclipse.linuxtools.tmf.analysis.xml.ui.tests/.settings/org.eclipse.core.runtime.prefs
deleted file mode 100644
index 5a0ad22d2a..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.analysis.xml.ui.tests/.settings/org.eclipse.core.runtime.prefs
+++ /dev/null
@@ -1,2 +0,0 @@
-eclipse.preferences.version=1
-line.separator=\n
diff --git a/lttng/org.eclipse.linuxtools.tmf.analysis.xml.ui.tests/.settings/org.eclipse.jdt.core.prefs b/lttng/org.eclipse.linuxtools.tmf.analysis.xml.ui.tests/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index f3fc64575b..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.analysis.xml.ui.tests/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,393 +0,0 @@
-eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.annotation.inheritNullAnnotations=enabled
-org.eclipse.jdt.core.compiler.annotation.missingNonNullByDefaultAnnotation=ignore
-org.eclipse.jdt.core.compiler.annotation.nonnull=org.eclipse.jdt.annotation.NonNull
-org.eclipse.jdt.core.compiler.annotation.nonnullbydefault=org.eclipse.jdt.annotation.NonNullByDefault
-org.eclipse.jdt.core.compiler.annotation.nullable=org.eclipse.jdt.annotation.Nullable
-org.eclipse.jdt.core.compiler.annotation.nullanalysis=enabled
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.7
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.doc.comment.support=enabled
-org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=error
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
-org.eclipse.jdt.core.compiler.problem.comparingIdentical=error
-org.eclipse.jdt.core.compiler.problem.deadCode=error
-org.eclipse.jdt.core.compiler.problem.deprecation=error
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=enabled
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled
-org.eclipse.jdt.core.compiler.problem.discouragedReference=error
-org.eclipse.jdt.core.compiler.problem.emptyStatement=error
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.problem.explicitlyClosedAutoCloseable=error
-org.eclipse.jdt.core.compiler.problem.fallthroughCase=error
-org.eclipse.jdt.core.compiler.problem.fatalOptionalError=disabled
-org.eclipse.jdt.core.compiler.problem.fieldHiding=error
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=error
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=error
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=error
-org.eclipse.jdt.core.compiler.problem.includeNullInfoFromAsserts=disabled
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=error
-org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=error
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=error
-org.eclipse.jdt.core.compiler.problem.invalidJavadoc=warning
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTags=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=protected
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=error
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=error
-org.eclipse.jdt.core.compiler.problem.missingDefaultCase=error
-org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=error
-org.eclipse.jdt.core.compiler.problem.missingEnumCaseDespiteDefault=enabled
-org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=error
-org.eclipse.jdt.core.compiler.problem.missingJavadocComments=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=protected
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagDescription=all_standard_tags
-org.eclipse.jdt.core.compiler.problem.missingJavadocTags=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsMethodTypeParameters=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=protected
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=error
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotationForInterfaceMethodImplementation=enabled
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=error
-org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=error
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=error
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=error
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=ignore
-org.eclipse.jdt.core.compiler.problem.nonnullParameterAnnotationDropped=warning
-org.eclipse.jdt.core.compiler.problem.nullAnnotationInferenceConflict=warning
-org.eclipse.jdt.core.compiler.problem.nullReference=error
-org.eclipse.jdt.core.compiler.problem.nullSpecViolation=error
-org.eclipse.jdt.core.compiler.problem.nullUncheckedConversion=warning
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=error
-org.eclipse.jdt.core.compiler.problem.parameterAssignment=error
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=error
-org.eclipse.jdt.core.compiler.problem.potentialNullReference=error
-org.eclipse.jdt.core.compiler.problem.potentiallyUnclosedCloseable=warning
-org.eclipse.jdt.core.compiler.problem.rawTypeReference=error
-org.eclipse.jdt.core.compiler.problem.redundantNullAnnotation=warning
-org.eclipse.jdt.core.compiler.problem.redundantNullCheck=error
-org.eclipse.jdt.core.compiler.problem.redundantSpecificationOfTypeArguments=error
-org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=error
-org.eclipse.jdt.core.compiler.problem.reportMethodCanBePotentiallyStatic=ignore
-org.eclipse.jdt.core.compiler.problem.reportMethodCanBeStatic=error
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=error
-org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=disabled
-org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
-org.eclipse.jdt.core.compiler.problem.syntacticNullAnalysisForFields=enabled
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
-org.eclipse.jdt.core.compiler.problem.typeParameterHiding=error
-org.eclipse.jdt.core.compiler.problem.unavoidableGenericTypeProblems=disabled
-org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=error
-org.eclipse.jdt.core.compiler.problem.unclosedCloseable=error
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
-org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=error
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=error
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=error
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=error
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=disabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=disabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=error
-org.eclipse.jdt.core.compiler.problem.unusedLabel=error
-org.eclipse.jdt.core.compiler.problem.unusedLocal=error
-org.eclipse.jdt.core.compiler.problem.unusedObjectAllocation=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=error
-org.eclipse.jdt.core.compiler.problem.unusedTypeParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedWarningToken=error
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=error
-org.eclipse.jdt.core.compiler.source=1.7
-org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_assignment=0
-org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
-org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
-org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
-org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
-org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0
-org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=80
-org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=0
-org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch=16
-org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_after_package=1
-org.eclipse.jdt.core.formatter.blank_lines_before_field=0
-org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
-org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
-org.eclipse.jdt.core.formatter.blank_lines_before_method=1
-org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
-org.eclipse.jdt.core.formatter.blank_lines_before_package=0
-org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
-org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
-org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
-org.eclipse.jdt.core.formatter.comment.format_block_comments=true
-org.eclipse.jdt.core.formatter.comment.format_header=false
-org.eclipse.jdt.core.formatter.comment.format_html=true
-org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=true
-org.eclipse.jdt.core.formatter.comment.format_line_comments=true
-org.eclipse.jdt.core.formatter.comment.format_source_code=true
-org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true
-org.eclipse.jdt.core.formatter.comment.indent_root_tags=true
-org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
-org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=insert
-org.eclipse.jdt.core.formatter.comment.line_length=80
-org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries=true
-org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries=true
-org.eclipse.jdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments=false
-org.eclipse.jdt.core.formatter.compact_else_if=true
-org.eclipse.jdt.core.formatter.continuation_indentation=2
-org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2
-org.eclipse.jdt.core.formatter.disabling_tag=@formatter\:off
-org.eclipse.jdt.core.formatter.enabling_tag=@formatter\:on
-org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
-org.eclipse.jdt.core.formatter.format_line_comment_starting_on_first_column=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
-org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_empty_lines=false
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=false
-org.eclipse.jdt.core.formatter.indentation.size=4
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_label=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_try=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources=insert
-org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_try=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
-org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.join_lines_in_comments=true
-org.eclipse.jdt.core.formatter.join_wrapped_lines=false
-org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.lineSplit=250
-org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
-org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
-org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true
-org.eclipse.jdt.core.formatter.tabulation.char=space
-org.eclipse.jdt.core.formatter.tabulation.size=4
-org.eclipse.jdt.core.formatter.use_on_off_tags=false
-org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
-org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
-org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true
-org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true
diff --git a/lttng/org.eclipse.linuxtools.tmf.analysis.xml.ui.tests/.settings/org.eclipse.jdt.ui.prefs b/lttng/org.eclipse.linuxtools.tmf.analysis.xml.ui.tests/.settings/org.eclipse.jdt.ui.prefs
deleted file mode 100644
index 4fd0c7006a..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.analysis.xml.ui.tests/.settings/org.eclipse.jdt.ui.prefs
+++ /dev/null
@@ -1,56 +0,0 @@
-eclipse.preferences.version=1
-editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
-formatter_profile=_tmf-style
-formatter_settings_version=12
-sp_cleanup.add_default_serial_version_id=true
-sp_cleanup.add_generated_serial_version_id=false
-sp_cleanup.add_missing_annotations=false
-sp_cleanup.add_missing_deprecated_annotations=true
-sp_cleanup.add_missing_methods=false
-sp_cleanup.add_missing_nls_tags=false
-sp_cleanup.add_missing_override_annotations=true
-sp_cleanup.add_missing_override_annotations_interface_methods=true
-sp_cleanup.add_serial_version_id=false
-sp_cleanup.always_use_blocks=true
-sp_cleanup.always_use_parentheses_in_expressions=false
-sp_cleanup.always_use_this_for_non_static_field_access=false
-sp_cleanup.always_use_this_for_non_static_method_access=false
-sp_cleanup.convert_to_enhanced_for_loop=false
-sp_cleanup.correct_indentation=false
-sp_cleanup.format_source_code=false
-sp_cleanup.format_source_code_changes_only=false
-sp_cleanup.make_local_variable_final=false
-sp_cleanup.make_parameters_final=false
-sp_cleanup.make_private_fields_final=true
-sp_cleanup.make_type_abstract_if_missing_method=false
-sp_cleanup.make_variable_declarations_final=false
-sp_cleanup.never_use_blocks=false
-sp_cleanup.never_use_parentheses_in_expressions=true
-sp_cleanup.on_save_use_additional_actions=true
-sp_cleanup.organize_imports=false
-sp_cleanup.qualify_static_field_accesses_with_declaring_class=false
-sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_with_declaring_class=false
-sp_cleanup.qualify_static_method_accesses_with_declaring_class=false
-sp_cleanup.remove_private_constructors=true
-sp_cleanup.remove_trailing_whitespaces=true
-sp_cleanup.remove_trailing_whitespaces_all=true
-sp_cleanup.remove_trailing_whitespaces_ignore_empty=false
-sp_cleanup.remove_unnecessary_casts=false
-sp_cleanup.remove_unnecessary_nls_tags=false
-sp_cleanup.remove_unused_imports=false
-sp_cleanup.remove_unused_local_variables=false
-sp_cleanup.remove_unused_private_fields=true
-sp_cleanup.remove_unused_private_members=false
-sp_cleanup.remove_unused_private_methods=true
-sp_cleanup.remove_unused_private_types=true
-sp_cleanup.sort_members=false
-sp_cleanup.sort_members_all=false
-sp_cleanup.use_blocks=true
-sp_cleanup.use_blocks_only_for_return_and_throw=false
-sp_cleanup.use_parentheses_in_expressions=false
-sp_cleanup.use_this_for_non_static_field_access=false
-sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=true
-sp_cleanup.use_this_for_non_static_method_access=false
-sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true
diff --git a/lttng/org.eclipse.linuxtools.tmf.analysis.xml.ui.tests/.settings/org.eclipse.pde.api.tools.prefs b/lttng/org.eclipse.linuxtools.tmf.analysis.xml.ui.tests/.settings/org.eclipse.pde.api.tools.prefs
deleted file mode 100644
index acc3abd47c..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.analysis.xml.ui.tests/.settings/org.eclipse.pde.api.tools.prefs
+++ /dev/null
@@ -1,97 +0,0 @@
-ANNOTATION_ELEMENT_TYPE_ADDED_METHOD_WITHOUT_DEFAULT_VALUE=Error
-ANNOTATION_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
-ANNOTATION_ELEMENT_TYPE_REMOVED_FIELD=Error
-ANNOTATION_ELEMENT_TYPE_REMOVED_METHOD=Error
-ANNOTATION_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
-API_COMPONENT_ELEMENT_TYPE_REMOVED_API_TYPE=Error
-API_COMPONENT_ELEMENT_TYPE_REMOVED_REEXPORTED_API_TYPE=Error
-API_COMPONENT_ELEMENT_TYPE_REMOVED_REEXPORTED_TYPE=Error
-API_COMPONENT_ELEMENT_TYPE_REMOVED_TYPE=Error
-API_USE_SCAN_FIELD_SEVERITY=Error
-API_USE_SCAN_METHOD_SEVERITY=Error
-API_USE_SCAN_TYPE_SEVERITY=Error
-CLASS_ELEMENT_TYPE_ADDED_METHOD=Error
-CLASS_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
-CLASS_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
-CLASS_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error
-CLASS_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
-CLASS_ELEMENT_TYPE_CHANGED_NON_ABSTRACT_TO_ABSTRACT=Error
-CLASS_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error
-CLASS_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
-CLASS_ELEMENT_TYPE_REMOVED_CONSTRUCTOR=Error
-CLASS_ELEMENT_TYPE_REMOVED_FIELD=Error
-CLASS_ELEMENT_TYPE_REMOVED_METHOD=Error
-CLASS_ELEMENT_TYPE_REMOVED_SUPERCLASS=Error
-CLASS_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
-CLASS_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
-CONSTRUCTOR_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
-CONSTRUCTOR_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
-CONSTRUCTOR_ELEMENT_TYPE_CHANGED_VARARGS_TO_ARRAY=Error
-CONSTRUCTOR_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
-ENUM_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error
-ENUM_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
-ENUM_ELEMENT_TYPE_REMOVED_ENUM_CONSTANT=Error
-ENUM_ELEMENT_TYPE_REMOVED_FIELD=Error
-ENUM_ELEMENT_TYPE_REMOVED_METHOD=Error
-ENUM_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
-FIELD_ELEMENT_TYPE_ADDED_VALUE=Error
-FIELD_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
-FIELD_ELEMENT_TYPE_CHANGED_FINAL_TO_NON_FINAL_STATIC_CONSTANT=Error
-FIELD_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error
-FIELD_ELEMENT_TYPE_CHANGED_NON_STATIC_TO_STATIC=Error
-FIELD_ELEMENT_TYPE_CHANGED_STATIC_TO_NON_STATIC=Error
-FIELD_ELEMENT_TYPE_CHANGED_TYPE=Error
-FIELD_ELEMENT_TYPE_CHANGED_VALUE=Error
-FIELD_ELEMENT_TYPE_REMOVED_TYPE_ARGUMENT=Error
-FIELD_ELEMENT_TYPE_REMOVED_VALUE=Error
-ILLEGAL_EXTEND=Warning
-ILLEGAL_IMPLEMENT=Warning
-ILLEGAL_INSTANTIATE=Warning
-ILLEGAL_OVERRIDE=Warning
-ILLEGAL_REFERENCE=Warning
-INTERFACE_ELEMENT_TYPE_ADDED_FIELD=Error
-INTERFACE_ELEMENT_TYPE_ADDED_METHOD=Error
-INTERFACE_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
-INTERFACE_ELEMENT_TYPE_ADDED_SUPER_INTERFACE_WITH_METHODS=Error
-INTERFACE_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
-INTERFACE_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error
-INTERFACE_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
-INTERFACE_ELEMENT_TYPE_REMOVED_FIELD=Error
-INTERFACE_ELEMENT_TYPE_REMOVED_METHOD=Error
-INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
-INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
-INVALID_JAVADOC_TAG=Warning
-INVALID_REFERENCE_IN_SYSTEM_LIBRARIES=Warning
-LEAK_EXTEND=Warning
-LEAK_FIELD_DECL=Warning
-LEAK_IMPLEMENT=Warning
-LEAK_METHOD_PARAM=Warning
-LEAK_METHOD_RETURN_TYPE=Warning
-METHOD_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
-METHOD_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
-METHOD_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
-METHOD_ELEMENT_TYPE_CHANGED_NON_ABSTRACT_TO_ABSTRACT=Error
-METHOD_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error
-METHOD_ELEMENT_TYPE_CHANGED_NON_STATIC_TO_STATIC=Error
-METHOD_ELEMENT_TYPE_CHANGED_STATIC_TO_NON_STATIC=Error
-METHOD_ELEMENT_TYPE_CHANGED_VARARGS_TO_ARRAY=Error
-METHOD_ELEMENT_TYPE_REMOVED_ANNOTATION_DEFAULT_VALUE=Error
-METHOD_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
-MISSING_EE_DESCRIPTIONS=Ignore
-TYPE_PARAMETER_ELEMENT_TYPE_ADDED_CLASS_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_ADDED_INTERFACE_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_CHANGED_CLASS_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_CHANGED_INTERFACE_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_CLASS_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error
-UNUSED_PROBLEM_FILTERS=Warning
-automatically_removed_unused_problem_filters=false
-eclipse.preferences.version=1
-incompatible_api_component_version=Error
-incompatible_api_component_version_include_major_without_breaking_change=Disabled
-incompatible_api_component_version_include_minor_without_api_change=Disabled
-invalid_since_tag_version=Error
-malformed_since_tag=Error
-missing_since_tag=Error
-report_api_breakage_when_major_version_incremented=Disabled
-report_resolution_errors_api_component=Warning
diff --git a/lttng/org.eclipse.linuxtools.tmf.analysis.xml.ui.tests/.settings/org.eclipse.pde.prefs b/lttng/org.eclipse.linuxtools.tmf.analysis.xml.ui.tests/.settings/org.eclipse.pde.prefs
deleted file mode 100644
index 62cfa90dee..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.analysis.xml.ui.tests/.settings/org.eclipse.pde.prefs
+++ /dev/null
@@ -1,32 +0,0 @@
-compilers.f.unresolved-features=1
-compilers.f.unresolved-plugins=1
-compilers.incompatible-environment=1
-compilers.p.build=1
-compilers.p.build.bin.includes=1
-compilers.p.build.encodings=2
-compilers.p.build.java.compiler=2
-compilers.p.build.java.compliance=1
-compilers.p.build.missing.output=2
-compilers.p.build.output.library=1
-compilers.p.build.source.library=1
-compilers.p.build.src.includes=1
-compilers.p.deprecated=1
-compilers.p.discouraged-class=1
-compilers.p.internal=1
-compilers.p.missing-packages=2
-compilers.p.missing-version-export-package=2
-compilers.p.missing-version-import-package=2
-compilers.p.missing-version-require-bundle=2
-compilers.p.no-required-att=0
-compilers.p.not-externalized-att=2
-compilers.p.unknown-attribute=1
-compilers.p.unknown-class=1
-compilers.p.unknown-element=1
-compilers.p.unknown-identifier=1
-compilers.p.unknown-resource=1
-compilers.p.unresolved-ex-points=0
-compilers.p.unresolved-import=0
-compilers.s.create-docs=false
-compilers.s.doc-folder=doc
-compilers.s.open-tags=1
-eclipse.preferences.version=1
diff --git a/lttng/org.eclipse.linuxtools.tmf.analysis.xml.ui.tests/META-INF/MANIFEST.MF b/lttng/org.eclipse.linuxtools.tmf.analysis.xml.ui.tests/META-INF/MANIFEST.MF
deleted file mode 100644
index 60c884e07d..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.analysis.xml.ui.tests/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,21 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %Bundle-Name
-Bundle-SymbolicName: org.eclipse.linuxtools.tmf.analysis.xml.ui.tests;singleton:=true
-Bundle-Version: 1.1.0.qualifier
-Bundle-Activator: org.eclipse.linuxtools.tmf.analysis.xml.ui.tests.Activator
-Bundle-Vendor: %Bundle-Vendor
-Require-Bundle: org.eclipse.ui,
- org.eclipse.core.runtime,
- org.junit,
- org.eclipse.linuxtools.tmf.analysis.xml.core,
- org.eclipse.core.resources,
- org.eclipse.linuxtools.tmf.core,
- org.eclipse.linuxtools.tmf.analysis.xml.core,
- org.eclipse.linuxtools.tmf.analysis.xml.ui,
- org.eclipse.linuxtools.tmf.ui,
- org.eclipse.linuxtools.tmf.analysis.xml.core.tests
-Bundle-RequiredExecutionEnvironment: JavaSE-1.7
-Bundle-ActivationPolicy: lazy
-Import-Package: org.junit.runners
-Export-Package: org.eclipse.linuxtools.tmf.analysis.xml.ui.tests
diff --git a/lttng/org.eclipse.linuxtools.tmf.analysis.xml.ui.tests/about.html b/lttng/org.eclipse.linuxtools.tmf.analysis.xml.ui.tests/about.html
deleted file mode 100644
index c258ef55d8..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.analysis.xml.ui.tests/about.html
+++ /dev/null
@@ -1,28 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
-<title>About</title>
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
-
-<p>June 5, 2006</p>
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;). Unless otherwise
-indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is available
-at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is
-being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content. Check the Redistributor's license that was
-provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at <a href="http://www.eclipse.org/">http://www.eclipse.org</a>.</p>
-
-</body>
-</html> \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.tmf.analysis.xml.ui.tests/build.properties b/lttng/org.eclipse.linuxtools.tmf.analysis.xml.ui.tests/build.properties
deleted file mode 100644
index 5480447948..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.analysis.xml.ui.tests/build.properties
+++ /dev/null
@@ -1,19 +0,0 @@
-###############################################################################
-# Copyright (c) 2014 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:
-# Ericsson - Initial API and implementation
-###############################################################################
-source.. = src/
-output.. = bin/
-bin.includes = META-INF/,\
- .,\
- about.html,\
- plugin.xml,\
- test_xml_files/
-src.includes = about.html
diff --git a/lttng/org.eclipse.linuxtools.tmf.analysis.xml.ui.tests/plugin.properties b/lttng/org.eclipse.linuxtools.tmf.analysis.xml.ui.tests/plugin.properties
deleted file mode 100644
index b2a83dc185..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.analysis.xml.ui.tests/plugin.properties
+++ /dev/null
@@ -1,15 +0,0 @@
-###############################################################################
-# Copyright (c) 2013, 2014 École Polytechnique de Montréal
-#
-# 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:
-# École Polytechnique de Montréal - Initial API and implementation
-###############################################################################
-
-#Properties file for org.eclipse.linuxtools.tmf.core
-Bundle-Vendor = Eclipse Linux Tools
-Bundle-Name = Linux Tools TMF XML Analysis UI Tests Plug-in
diff --git a/lttng/org.eclipse.linuxtools.tmf.analysis.xml.ui.tests/plugin.xml b/lttng/org.eclipse.linuxtools.tmf.analysis.xml.ui.tests/plugin.xml
deleted file mode 100644
index fc404f5cf1..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.analysis.xml.ui.tests/plugin.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.4"?>
-<plugin>
- <extension
- point="org.eclipse.linuxtools.tmf.analysis.xml.core.files">
- <xmlfile
- file="test_xml_files/test_builtin.xml">
- </xmlfile>
- </extension>
-
-</plugin>
diff --git a/lttng/org.eclipse.linuxtools.tmf.analysis.xml.ui.tests/pom.xml b/lttng/org.eclipse.linuxtools.tmf.analysis.xml.ui.tests/pom.xml
deleted file mode 100644
index 350b67a6cb..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.analysis.xml.ui.tests/pom.xml
+++ /dev/null
@@ -1,56 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Copyright (C) 2013, École Polytechnique de Montréal
-
- 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
--->
-
-<project xmlns="http://maven.apache.org/POM/4.0.0"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
- <modelVersion>4.0.0</modelVersion>
-
- <parent>
- <artifactId>linuxtools-lttng-parent</artifactId>
- <groupId>org.eclipse.linuxtools.lttng</groupId>
- <version>3.2.0-SNAPSHOT</version>
- </parent>
-
- <artifactId>org.eclipse.linuxtools.tmf.analysis.xml.ui.tests</artifactId>
- <version>1.1.0-SNAPSHOT</version>
- <packaging>eclipse-test-plugin</packaging>
-
- <name>Linux Tools TMF Xml Analysis UI Tests Plug-in</name>
-
- <build>
- <!-- workaround for https://issues.sonatype.org/browse/TYCHO-168 -->
- <resources>
- <resource>
- <directory>src</directory>
- <excludes>
- <exclude>**/*.java</exclude>
- </excludes>
- </resource>
- </resources>
- <plugins>
- <plugin>
- <groupId>org.eclipse.tycho</groupId>
- <artifactId>tycho-surefire-plugin</artifactId>
- <version>${tycho-version}</version>
- <configuration>
- <testSuite>org.eclipse.linuxtools.tmf.analysis.xml.ui.tests</testSuite>
- <testClass>org.eclipse.linuxtools.tmf.analysis.xml.ui.tests.AllAnalysisXmlUiTests</testClass>
- <useUIHarness>true</useUIHarness>
- <useUIThread>true</useUIThread>
- <argLine>${tycho.testArgLine} ${base.ui.test.vmargs}</argLine>
- <product>org.eclipse.sdk.ide</product>
- </configuration>
- </plugin>
- </plugins>
- </build>
-
- <groupId>org.eclipse.linuxtools.tmf</groupId>
-</project>
diff --git a/lttng/org.eclipse.linuxtools.tmf.analysis.xml.ui.tests/src/org/eclipse/linuxtools/tmf/analysis/xml/ui/tests/Activator.java b/lttng/org.eclipse.linuxtools.tmf.analysis.xml.ui.tests/src/org/eclipse/linuxtools/tmf/analysis/xml/ui/tests/Activator.java
deleted file mode 100644
index 8d5988172e..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.analysis.xml.ui.tests/src/org/eclipse/linuxtools/tmf/analysis/xml/ui/tests/Activator.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013, 2014 École Polytechnique de Montréal
- *
- * 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:
- * Geneviève Bastien - Initial implementation and API
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.analysis.xml.ui.tests;
-
-import org.eclipse.ui.plugin.AbstractUIPlugin;
-import org.osgi.framework.BundleContext;
-
-/**
- * The activator class controls the plug-in life cycle
- */
-public class Activator extends AbstractUIPlugin {
-
- /**
- * The plug-in ID
- */
- public static final String PLUGIN_ID = "org.eclipse.linuxtools.tmf.analysis.xml.ui.tests"; //$NON-NLS-1$
-
- // The shared instance
- private static Activator plugin;
-
- /**
- * The constructor
- */
- public Activator() {
- }
-
- @Override
- public void start(BundleContext context) throws Exception {
- super.start(context);
- plugin = this;
- }
-
- @Override
- public void stop(BundleContext context) throws Exception {
- plugin = null;
- super.stop(context);
- }
-
- /**
- * Returns the shared instance
- *
- * @return the shared instance
- */
- public static Activator getDefault() {
- return plugin;
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.analysis.xml.ui.tests/src/org/eclipse/linuxtools/tmf/analysis/xml/ui/tests/AllAnalysisXmlUiTests.java b/lttng/org.eclipse.linuxtools.tmf.analysis.xml.ui.tests/src/org/eclipse/linuxtools/tmf/analysis/xml/ui/tests/AllAnalysisXmlUiTests.java
deleted file mode 100644
index 61e085c0b3..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.analysis.xml.ui.tests/src/org/eclipse/linuxtools/tmf/analysis/xml/ui/tests/AllAnalysisXmlUiTests.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013, 2014 École Polytechnique de Montréal
- *
- * 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:
- * Geneviève Bastien - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.analysis.xml.ui.tests;
-
-import org.junit.runner.RunWith;
-import org.junit.runners.Suite;
-
-/**
- * Master test suite for TMF XML Analysis UI plug-in.
- */
-@RunWith(Suite.class)
-@Suite.SuiteClasses({
- XmlAnalysisUiPluginTest.class,
- org.eclipse.linuxtools.tmf.analysis.xml.ui.tests.module.AllTests.class
-})
-public class AllAnalysisXmlUiTests {
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.analysis.xml.ui.tests/src/org/eclipse/linuxtools/tmf/analysis/xml/ui/tests/XmlAnalysisUiPluginTest.java b/lttng/org.eclipse.linuxtools.tmf.analysis.xml.ui.tests/src/org/eclipse/linuxtools/tmf/analysis/xml/ui/tests/XmlAnalysisUiPluginTest.java
deleted file mode 100644
index 4fdef05294..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.analysis.xml.ui.tests/src/org/eclipse/linuxtools/tmf/analysis/xml/ui/tests/XmlAnalysisUiPluginTest.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013, 2014 École Polytechnique de Montréal
- *
- * 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:
- * Geneviève Bastien - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.analysis.xml.ui.tests;
-
-import static org.junit.Assert.assertEquals;
-
-import org.eclipse.linuxtools.internal.tmf.analysis.xml.ui.Activator;
-import org.junit.Test;
-
-/**
- * Test the XML Analysis UI plug-in activator
- *
- * @author Geneviève Bastien
- */
-public class XmlAnalysisUiPluginTest {
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
-
- // Plug-in instantiation
- static final Activator fPlugin = new Activator();
-
- // ------------------------------------------------------------------------
- // Test cases
- // ------------------------------------------------------------------------
-
- /**
- * Test the plugin ID.
- */
- @Test
- public void testTmfCorePluginId() {
- assertEquals("Plugin ID", "org.eclipse.linuxtools.tmf.analysis.xml.ui", Activator.PLUGIN_ID);
- }
-
- /**
- * Test the getDefault() static method.
- */
- @Test
- public void testGetDefault() {
- Activator plugin = Activator.getDefault();
- assertEquals("getDefault()", plugin, fPlugin);
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.analysis.xml.ui.tests/src/org/eclipse/linuxtools/tmf/analysis/xml/ui/tests/module/AllTests.java b/lttng/org.eclipse.linuxtools.tmf.analysis.xml.ui.tests/src/org/eclipse/linuxtools/tmf/analysis/xml/ui/tests/module/AllTests.java
deleted file mode 100644
index 865fd02ec8..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.analysis.xml.ui.tests/src/org/eclipse/linuxtools/tmf/analysis/xml/ui/tests/module/AllTests.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 École Polytechnique de Montréal
- *
- * 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:
- * Geneviève Bastien - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.analysis.xml.ui.tests.module;
-
-import org.junit.runner.RunWith;
-import org.junit.runners.Suite;
-
-/**
- * Test suite for org.eclipse.linuxtools.tmf.analysis.xml.ui.module package
- */
-@RunWith(Suite.class)
-@Suite.SuiteClasses({
- XmlAnalysisModuleSourceTest.class
-})
-public class AllTests {
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.analysis.xml.ui.tests/src/org/eclipse/linuxtools/tmf/analysis/xml/ui/tests/module/XmlAnalysisModuleSourceTest.java b/lttng/org.eclipse.linuxtools.tmf.analysis.xml.ui.tests/src/org/eclipse/linuxtools/tmf/analysis/xml/ui/tests/module/XmlAnalysisModuleSourceTest.java
deleted file mode 100644
index 697806f0d0..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.analysis.xml.ui.tests/src/org/eclipse/linuxtools/tmf/analysis/xml/ui/tests/module/XmlAnalysisModuleSourceTest.java
+++ /dev/null
@@ -1,134 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 École Polytechnique de Montréal
- *
- * 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:
- * Geneviève Bastien - Initial implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.analysis.xml.ui.tests.module;
-
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertTrue;
-import static org.junit.Assert.fail;
-
-import java.io.File;
-import java.util.Map;
-
-import org.eclipse.linuxtools.tmf.analysis.xml.core.module.XmlUtils;
-import org.eclipse.linuxtools.tmf.analysis.xml.core.tests.common.TmfXmlTestFiles;
-import org.eclipse.linuxtools.tmf.analysis.xml.ui.module.XmlAnalysisModuleSource;
-import org.eclipse.linuxtools.tmf.core.analysis.IAnalysisModuleHelper;
-import org.eclipse.linuxtools.tmf.core.analysis.TmfAnalysisManager;
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Test;
-
-/**
- * Test suite for the {@link XmlAnalysisModuleSource} class
- *
- * @author Geneviève Bastien
- */
-public class XmlAnalysisModuleSourceTest {
-
- private static final String SS_MODULE = "kernel.linux.sp";
- private static final String BUILTIN_MODULE = "test.builtin.sp";
-
- private static void emptyXmlFolder() {
- File fFolder = XmlUtils.getXmlFilesPath().toFile();
- if (!(fFolder.isDirectory() && fFolder.exists())) {
- return;
- }
- for (File xmlFile : fFolder.listFiles()) {
- xmlFile.delete();
- }
- XmlAnalysisModuleSource.notifyModuleChange();
- }
-
- /**
- * Empty the XML directory before the test, just in case
- */
- @Before
- public void setUp() {
- emptyXmlFolder();
- }
-
- /**
- * Empty the XML directory after the test
- */
- @After
- public void cleanUp() {
- emptyXmlFolder();
- }
-
- /**
- * Test the {@link XmlAnalysisModuleSource#getAnalysisModules()} method
- */
- @Test
- public void testPopulateModules() {
- XmlAnalysisModuleSource module = new XmlAnalysisModuleSource();
-
- Iterable<IAnalysisModuleHelper> modules = module.getAnalysisModules();
- assertFalse(findModule(modules, SS_MODULE));
-
- /* Test that the builtin module is present */
- assertTrue(findModule(modules, BUILTIN_MODULE));
-
- /* use the valid XML test file */
- File testXmlFile = TmfXmlTestFiles.VALID_FILE.getFile();
- if ((testXmlFile == null) || !testXmlFile.exists()) {
- fail("XML test file does not exist");
- }
-
- XmlUtils.addXmlFile(testXmlFile);
- XmlAnalysisModuleSource.notifyModuleChange();
- modules = module.getAnalysisModules();
-
- assertTrue(modules.iterator().hasNext());
- assertTrue(findModule(modules, SS_MODULE));
- assertTrue(findModule(modules, BUILTIN_MODULE));
- }
-
- private static boolean findModule(Iterable<IAnalysisModuleHelper> modules, String moduleName) {
- for (IAnalysisModuleHelper helper : modules) {
- if (moduleName.equals(helper.getId())) {
- return true;
- }
- }
- return false;
- }
-
- /**
- * Test that XML modules are available through the analysis manager
- */
- @Test
- public void testPopulateModulesWithAnalysisManager() {
-
- /*
- * Make sure module sources are initialized. When run as unit test, the
- * XML module source is sometimes missing
- */
- TmfAnalysisManager.initialize();
-
- Map<String, IAnalysisModuleHelper> modules = TmfAnalysisManager.getAnalysisModules();
- assertFalse(findModule(modules.values(), SS_MODULE));
- /* Test that the builtin module is present */
- assertTrue(findModule(modules.values(), BUILTIN_MODULE));
-
- /* use the valid XML test file */
- File testXmlFile = TmfXmlTestFiles.VALID_FILE.getFile();
- if ((testXmlFile == null) || !testXmlFile.exists()) {
- fail("XML test file does not exist");
- }
-
- XmlUtils.addXmlFile(testXmlFile);
- XmlAnalysisModuleSource.notifyModuleChange();
- modules = TmfAnalysisManager.getAnalysisModules();
- assertTrue(findModule(modules.values(), SS_MODULE));
- assertTrue(findModule(modules.values(), BUILTIN_MODULE));
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.analysis.xml.ui.tests/test_xml_files/test_builtin.xml b/lttng/org.eclipse.linuxtools.tmf.analysis.xml.ui.tests/test_xml_files/test_builtin.xml
deleted file mode 100644
index 3e7a1e8715..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.analysis.xml.ui.tests/test_xml_files/test_builtin.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- ***************************************************************************
-* Copyright (c) 2014 École Polytechnique de Montréal
-*
-* 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:
-* Geneviève Bastien - Initial API and implementation
-*************************************************************************** -->
-<tmfxml xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:noNamespaceSchemaLocation="xmldefinition.xsd">
-
- <stateProvider id="test.builtin.sp" version="1">
- <head>
- <label value="Test a builtin XML module file" />
- </head>
-
- <eventHandler eventName="test">
- <stateChange>
- <stateAttribute type="constant" value="cpu" />
- <stateValue type="eventField" value="cpu" />
- </stateChange>
- </eventHandler>
- </stateProvider>
-</tmfxml> \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.tmf.analysis.xml.ui/.classpath b/lttng/org.eclipse.linuxtools.tmf.analysis.xml.ui/.classpath
deleted file mode 100644
index 098194ca4b..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.analysis.xml.ui/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
- <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.7"/>
- <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
- <classpathentry kind="src" path="src"/>
- <classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/lttng/org.eclipse.linuxtools.tmf.analysis.xml.ui/.project b/lttng/org.eclipse.linuxtools.tmf.analysis.xml.ui/.project
deleted file mode 100644
index 966a059bad..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.analysis.xml.ui/.project
+++ /dev/null
@@ -1,34 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>org.eclipse.linuxtools.tmf.analysis.xml.ui</name>
- <comment></comment>
- <projects>
- </projects>
- <buildSpec>
- <buildCommand>
- <name>org.eclipse.jdt.core.javabuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.ManifestBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.SchemaBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.api.tools.apiAnalysisBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>org.eclipse.pde.PluginNature</nature>
- <nature>org.eclipse.jdt.core.javanature</nature>
- <nature>org.eclipse.pde.api.tools.apiAnalysisNature</nature>
- </natures>
-</projectDescription>
diff --git a/lttng/org.eclipse.linuxtools.tmf.analysis.xml.ui/.settings/org.eclipse.core.resources.prefs b/lttng/org.eclipse.linuxtools.tmf.analysis.xml.ui/.settings/org.eclipse.core.resources.prefs
deleted file mode 100644
index 99f26c0203..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.analysis.xml.ui/.settings/org.eclipse.core.resources.prefs
+++ /dev/null
@@ -1,2 +0,0 @@
-eclipse.preferences.version=1
-encoding/<project>=UTF-8
diff --git a/lttng/org.eclipse.linuxtools.tmf.analysis.xml.ui/.settings/org.eclipse.core.runtime.prefs b/lttng/org.eclipse.linuxtools.tmf.analysis.xml.ui/.settings/org.eclipse.core.runtime.prefs
deleted file mode 100644
index 5a0ad22d2a..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.analysis.xml.ui/.settings/org.eclipse.core.runtime.prefs
+++ /dev/null
@@ -1,2 +0,0 @@
-eclipse.preferences.version=1
-line.separator=\n
diff --git a/lttng/org.eclipse.linuxtools.tmf.analysis.xml.ui/.settings/org.eclipse.jdt.core.prefs b/lttng/org.eclipse.linuxtools.tmf.analysis.xml.ui/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index 9f3662cd78..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.analysis.xml.ui/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,394 +0,0 @@
-eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.annotation.inheritNullAnnotations=enabled
-org.eclipse.jdt.core.compiler.annotation.missingNonNullByDefaultAnnotation=ignore
-org.eclipse.jdt.core.compiler.annotation.nonnull=org.eclipse.jdt.annotation.NonNull
-org.eclipse.jdt.core.compiler.annotation.nonnullbydefault=org.eclipse.jdt.annotation.NonNullByDefault
-org.eclipse.jdt.core.compiler.annotation.nullable=org.eclipse.jdt.annotation.Nullable
-org.eclipse.jdt.core.compiler.annotation.nullanalysis=enabled
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.7
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.doc.comment.support=enabled
-org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=error
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
-org.eclipse.jdt.core.compiler.problem.comparingIdentical=error
-org.eclipse.jdt.core.compiler.problem.deadCode=error
-org.eclipse.jdt.core.compiler.problem.deprecation=error
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled
-org.eclipse.jdt.core.compiler.problem.discouragedReference=warning
-org.eclipse.jdt.core.compiler.problem.emptyStatement=error
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.problem.explicitlyClosedAutoCloseable=error
-org.eclipse.jdt.core.compiler.problem.fallthroughCase=error
-org.eclipse.jdt.core.compiler.problem.fatalOptionalError=disabled
-org.eclipse.jdt.core.compiler.problem.fieldHiding=error
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=error
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=error
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=error
-org.eclipse.jdt.core.compiler.problem.includeNullInfoFromAsserts=disabled
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=error
-org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=error
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=error
-org.eclipse.jdt.core.compiler.problem.invalidJavadoc=warning
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTags=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=protected
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=error
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=error
-org.eclipse.jdt.core.compiler.problem.missingDefaultCase=error
-org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=error
-org.eclipse.jdt.core.compiler.problem.missingEnumCaseDespiteDefault=enabled
-org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=error
-org.eclipse.jdt.core.compiler.problem.missingJavadocComments=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=protected
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagDescription=all_standard_tags
-org.eclipse.jdt.core.compiler.problem.missingJavadocTags=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsMethodTypeParameters=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=protected
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=error
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotationForInterfaceMethodImplementation=enabled
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=error
-org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=error
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=error
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=error
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=warning
-org.eclipse.jdt.core.compiler.problem.nonnullParameterAnnotationDropped=warning
-org.eclipse.jdt.core.compiler.problem.nullAnnotationInferenceConflict=warning
-org.eclipse.jdt.core.compiler.problem.nullReference=error
-org.eclipse.jdt.core.compiler.problem.nullSpecViolation=error
-org.eclipse.jdt.core.compiler.problem.nullUncheckedConversion=warning
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=error
-org.eclipse.jdt.core.compiler.problem.parameterAssignment=error
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=error
-org.eclipse.jdt.core.compiler.problem.potentialNullReference=error
-org.eclipse.jdt.core.compiler.problem.potentiallyUnclosedCloseable=warning
-org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning
-org.eclipse.jdt.core.compiler.problem.redundantNullAnnotation=warning
-org.eclipse.jdt.core.compiler.problem.redundantNullCheck=error
-org.eclipse.jdt.core.compiler.problem.redundantSpecificationOfTypeArguments=error
-org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=error
-org.eclipse.jdt.core.compiler.problem.reportMethodCanBePotentiallyStatic=ignore
-org.eclipse.jdt.core.compiler.problem.reportMethodCanBeStatic=error
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=error
-org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=disabled
-org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
-org.eclipse.jdt.core.compiler.problem.syntacticNullAnalysisForFields=enabled
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
-org.eclipse.jdt.core.compiler.problem.typeParameterHiding=error
-org.eclipse.jdt.core.compiler.problem.unavoidableGenericTypeProblems=disabled
-org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
-org.eclipse.jdt.core.compiler.problem.unclosedCloseable=error
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
-org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=error
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=error
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=error
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=warning
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=disabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=disabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=error
-org.eclipse.jdt.core.compiler.problem.unusedLabel=error
-org.eclipse.jdt.core.compiler.problem.unusedLocal=error
-org.eclipse.jdt.core.compiler.problem.unusedObjectAllocation=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=error
-org.eclipse.jdt.core.compiler.problem.unusedTypeParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedWarningToken=error
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=error
-org.eclipse.jdt.core.compiler.source=1.7
-org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_assignment=0
-org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
-org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
-org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
-org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
-org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0
-org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=80
-org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=0
-org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch=16
-org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_after_package=1
-org.eclipse.jdt.core.formatter.blank_lines_before_field=0
-org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
-org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
-org.eclipse.jdt.core.formatter.blank_lines_before_method=1
-org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
-org.eclipse.jdt.core.formatter.blank_lines_before_package=0
-org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
-org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
-org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
-org.eclipse.jdt.core.formatter.comment.format_block_comments=true
-org.eclipse.jdt.core.formatter.comment.format_header=false
-org.eclipse.jdt.core.formatter.comment.format_html=true
-org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=true
-org.eclipse.jdt.core.formatter.comment.format_line_comments=true
-org.eclipse.jdt.core.formatter.comment.format_source_code=true
-org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true
-org.eclipse.jdt.core.formatter.comment.indent_root_tags=true
-org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
-org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=insert
-org.eclipse.jdt.core.formatter.comment.line_length=80
-org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries=true
-org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries=true
-org.eclipse.jdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments=false
-org.eclipse.jdt.core.formatter.compact_else_if=true
-org.eclipse.jdt.core.formatter.continuation_indentation=2
-org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2
-org.eclipse.jdt.core.formatter.disabling_tag=@formatter\:off
-org.eclipse.jdt.core.formatter.enabling_tag=@formatter\:on
-org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
-org.eclipse.jdt.core.formatter.format_line_comment_starting_on_first_column=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
-org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_empty_lines=false
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=false
-org.eclipse.jdt.core.formatter.indentation.size=4
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_label=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_try=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources=insert
-org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_try=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
-org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.join_lines_in_comments=true
-org.eclipse.jdt.core.formatter.join_wrapped_lines=false
-org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.lineSplit=250
-org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
-org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
-org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true
-org.eclipse.jdt.core.formatter.tabulation.char=space
-org.eclipse.jdt.core.formatter.tabulation.size=4
-org.eclipse.jdt.core.formatter.use_on_off_tags=false
-org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
-org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
-org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true
-org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true
diff --git a/lttng/org.eclipse.linuxtools.tmf.analysis.xml.ui/.settings/org.eclipse.jdt.ui.prefs b/lttng/org.eclipse.linuxtools.tmf.analysis.xml.ui/.settings/org.eclipse.jdt.ui.prefs
deleted file mode 100644
index 4fd0c7006a..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.analysis.xml.ui/.settings/org.eclipse.jdt.ui.prefs
+++ /dev/null
@@ -1,56 +0,0 @@
-eclipse.preferences.version=1
-editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
-formatter_profile=_tmf-style
-formatter_settings_version=12
-sp_cleanup.add_default_serial_version_id=true
-sp_cleanup.add_generated_serial_version_id=false
-sp_cleanup.add_missing_annotations=false
-sp_cleanup.add_missing_deprecated_annotations=true
-sp_cleanup.add_missing_methods=false
-sp_cleanup.add_missing_nls_tags=false
-sp_cleanup.add_missing_override_annotations=true
-sp_cleanup.add_missing_override_annotations_interface_methods=true
-sp_cleanup.add_serial_version_id=false
-sp_cleanup.always_use_blocks=true
-sp_cleanup.always_use_parentheses_in_expressions=false
-sp_cleanup.always_use_this_for_non_static_field_access=false
-sp_cleanup.always_use_this_for_non_static_method_access=false
-sp_cleanup.convert_to_enhanced_for_loop=false
-sp_cleanup.correct_indentation=false
-sp_cleanup.format_source_code=false
-sp_cleanup.format_source_code_changes_only=false
-sp_cleanup.make_local_variable_final=false
-sp_cleanup.make_parameters_final=false
-sp_cleanup.make_private_fields_final=true
-sp_cleanup.make_type_abstract_if_missing_method=false
-sp_cleanup.make_variable_declarations_final=false
-sp_cleanup.never_use_blocks=false
-sp_cleanup.never_use_parentheses_in_expressions=true
-sp_cleanup.on_save_use_additional_actions=true
-sp_cleanup.organize_imports=false
-sp_cleanup.qualify_static_field_accesses_with_declaring_class=false
-sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_with_declaring_class=false
-sp_cleanup.qualify_static_method_accesses_with_declaring_class=false
-sp_cleanup.remove_private_constructors=true
-sp_cleanup.remove_trailing_whitespaces=true
-sp_cleanup.remove_trailing_whitespaces_all=true
-sp_cleanup.remove_trailing_whitespaces_ignore_empty=false
-sp_cleanup.remove_unnecessary_casts=false
-sp_cleanup.remove_unnecessary_nls_tags=false
-sp_cleanup.remove_unused_imports=false
-sp_cleanup.remove_unused_local_variables=false
-sp_cleanup.remove_unused_private_fields=true
-sp_cleanup.remove_unused_private_members=false
-sp_cleanup.remove_unused_private_methods=true
-sp_cleanup.remove_unused_private_types=true
-sp_cleanup.sort_members=false
-sp_cleanup.sort_members_all=false
-sp_cleanup.use_blocks=true
-sp_cleanup.use_blocks_only_for_return_and_throw=false
-sp_cleanup.use_parentheses_in_expressions=false
-sp_cleanup.use_this_for_non_static_field_access=false
-sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=true
-sp_cleanup.use_this_for_non_static_method_access=false
-sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true
diff --git a/lttng/org.eclipse.linuxtools.tmf.analysis.xml.ui/.settings/org.eclipse.pde.api.tools.prefs b/lttng/org.eclipse.linuxtools.tmf.analysis.xml.ui/.settings/org.eclipse.pde.api.tools.prefs
deleted file mode 100644
index acc3abd47c..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.analysis.xml.ui/.settings/org.eclipse.pde.api.tools.prefs
+++ /dev/null
@@ -1,97 +0,0 @@
-ANNOTATION_ELEMENT_TYPE_ADDED_METHOD_WITHOUT_DEFAULT_VALUE=Error
-ANNOTATION_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
-ANNOTATION_ELEMENT_TYPE_REMOVED_FIELD=Error
-ANNOTATION_ELEMENT_TYPE_REMOVED_METHOD=Error
-ANNOTATION_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
-API_COMPONENT_ELEMENT_TYPE_REMOVED_API_TYPE=Error
-API_COMPONENT_ELEMENT_TYPE_REMOVED_REEXPORTED_API_TYPE=Error
-API_COMPONENT_ELEMENT_TYPE_REMOVED_REEXPORTED_TYPE=Error
-API_COMPONENT_ELEMENT_TYPE_REMOVED_TYPE=Error
-API_USE_SCAN_FIELD_SEVERITY=Error
-API_USE_SCAN_METHOD_SEVERITY=Error
-API_USE_SCAN_TYPE_SEVERITY=Error
-CLASS_ELEMENT_TYPE_ADDED_METHOD=Error
-CLASS_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
-CLASS_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
-CLASS_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error
-CLASS_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
-CLASS_ELEMENT_TYPE_CHANGED_NON_ABSTRACT_TO_ABSTRACT=Error
-CLASS_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error
-CLASS_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
-CLASS_ELEMENT_TYPE_REMOVED_CONSTRUCTOR=Error
-CLASS_ELEMENT_TYPE_REMOVED_FIELD=Error
-CLASS_ELEMENT_TYPE_REMOVED_METHOD=Error
-CLASS_ELEMENT_TYPE_REMOVED_SUPERCLASS=Error
-CLASS_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
-CLASS_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
-CONSTRUCTOR_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
-CONSTRUCTOR_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
-CONSTRUCTOR_ELEMENT_TYPE_CHANGED_VARARGS_TO_ARRAY=Error
-CONSTRUCTOR_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
-ENUM_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error
-ENUM_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
-ENUM_ELEMENT_TYPE_REMOVED_ENUM_CONSTANT=Error
-ENUM_ELEMENT_TYPE_REMOVED_FIELD=Error
-ENUM_ELEMENT_TYPE_REMOVED_METHOD=Error
-ENUM_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
-FIELD_ELEMENT_TYPE_ADDED_VALUE=Error
-FIELD_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
-FIELD_ELEMENT_TYPE_CHANGED_FINAL_TO_NON_FINAL_STATIC_CONSTANT=Error
-FIELD_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error
-FIELD_ELEMENT_TYPE_CHANGED_NON_STATIC_TO_STATIC=Error
-FIELD_ELEMENT_TYPE_CHANGED_STATIC_TO_NON_STATIC=Error
-FIELD_ELEMENT_TYPE_CHANGED_TYPE=Error
-FIELD_ELEMENT_TYPE_CHANGED_VALUE=Error
-FIELD_ELEMENT_TYPE_REMOVED_TYPE_ARGUMENT=Error
-FIELD_ELEMENT_TYPE_REMOVED_VALUE=Error
-ILLEGAL_EXTEND=Warning
-ILLEGAL_IMPLEMENT=Warning
-ILLEGAL_INSTANTIATE=Warning
-ILLEGAL_OVERRIDE=Warning
-ILLEGAL_REFERENCE=Warning
-INTERFACE_ELEMENT_TYPE_ADDED_FIELD=Error
-INTERFACE_ELEMENT_TYPE_ADDED_METHOD=Error
-INTERFACE_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
-INTERFACE_ELEMENT_TYPE_ADDED_SUPER_INTERFACE_WITH_METHODS=Error
-INTERFACE_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
-INTERFACE_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error
-INTERFACE_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
-INTERFACE_ELEMENT_TYPE_REMOVED_FIELD=Error
-INTERFACE_ELEMENT_TYPE_REMOVED_METHOD=Error
-INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
-INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
-INVALID_JAVADOC_TAG=Warning
-INVALID_REFERENCE_IN_SYSTEM_LIBRARIES=Warning
-LEAK_EXTEND=Warning
-LEAK_FIELD_DECL=Warning
-LEAK_IMPLEMENT=Warning
-LEAK_METHOD_PARAM=Warning
-LEAK_METHOD_RETURN_TYPE=Warning
-METHOD_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
-METHOD_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
-METHOD_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
-METHOD_ELEMENT_TYPE_CHANGED_NON_ABSTRACT_TO_ABSTRACT=Error
-METHOD_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error
-METHOD_ELEMENT_TYPE_CHANGED_NON_STATIC_TO_STATIC=Error
-METHOD_ELEMENT_TYPE_CHANGED_STATIC_TO_NON_STATIC=Error
-METHOD_ELEMENT_TYPE_CHANGED_VARARGS_TO_ARRAY=Error
-METHOD_ELEMENT_TYPE_REMOVED_ANNOTATION_DEFAULT_VALUE=Error
-METHOD_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
-MISSING_EE_DESCRIPTIONS=Ignore
-TYPE_PARAMETER_ELEMENT_TYPE_ADDED_CLASS_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_ADDED_INTERFACE_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_CHANGED_CLASS_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_CHANGED_INTERFACE_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_CLASS_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error
-UNUSED_PROBLEM_FILTERS=Warning
-automatically_removed_unused_problem_filters=false
-eclipse.preferences.version=1
-incompatible_api_component_version=Error
-incompatible_api_component_version_include_major_without_breaking_change=Disabled
-incompatible_api_component_version_include_minor_without_api_change=Disabled
-invalid_since_tag_version=Error
-malformed_since_tag=Error
-missing_since_tag=Error
-report_api_breakage_when_major_version_incremented=Disabled
-report_resolution_errors_api_component=Warning
diff --git a/lttng/org.eclipse.linuxtools.tmf.analysis.xml.ui/.settings/org.eclipse.pde.prefs b/lttng/org.eclipse.linuxtools.tmf.analysis.xml.ui/.settings/org.eclipse.pde.prefs
deleted file mode 100644
index d92b94fd4b..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.analysis.xml.ui/.settings/org.eclipse.pde.prefs
+++ /dev/null
@@ -1,32 +0,0 @@
-compilers.f.unresolved-features=1
-compilers.f.unresolved-plugins=1
-compilers.incompatible-environment=1
-compilers.p.build=1
-compilers.p.build.bin.includes=1
-compilers.p.build.encodings=2
-compilers.p.build.java.compiler=2
-compilers.p.build.java.compliance=1
-compilers.p.build.missing.output=2
-compilers.p.build.output.library=1
-compilers.p.build.source.library=1
-compilers.p.build.src.includes=1
-compilers.p.deprecated=1
-compilers.p.discouraged-class=1
-compilers.p.internal=1
-compilers.p.missing-packages=1
-compilers.p.missing-version-export-package=2
-compilers.p.missing-version-import-package=2
-compilers.p.missing-version-require-bundle=2
-compilers.p.no-required-att=0
-compilers.p.not-externalized-att=1
-compilers.p.unknown-attribute=1
-compilers.p.unknown-class=1
-compilers.p.unknown-element=1
-compilers.p.unknown-identifier=1
-compilers.p.unknown-resource=1
-compilers.p.unresolved-ex-points=0
-compilers.p.unresolved-import=0
-compilers.s.create-docs=false
-compilers.s.doc-folder=doc
-compilers.s.open-tags=1
-eclipse.preferences.version=1
diff --git a/lttng/org.eclipse.linuxtools.tmf.analysis.xml.ui/META-INF/MANIFEST.MF b/lttng/org.eclipse.linuxtools.tmf.analysis.xml.ui/META-INF/MANIFEST.MF
deleted file mode 100644
index 79d81319fe..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.analysis.xml.ui/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,21 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %Bundle-Name
-Bundle-Vendor: %Bundle-Vendor
-Bundle-Version: 1.2.0.qualifier
-Bundle-Localization: plugin
-Bundle-SymbolicName: org.eclipse.linuxtools.tmf.analysis.xml.ui;singleton:=true
-Bundle-Activator: org.eclipse.linuxtools.internal.tmf.analysis.xml.ui.Activator
-Bundle-RequiredExecutionEnvironment: JavaSE-1.7
-Bundle-ActivationPolicy: lazy
-Require-Bundle: org.eclipse.ui,
- org.eclipse.core.runtime,
- org.eclipse.linuxtools.tmf.core,
- org.eclipse.linuxtools.tmf.ui,
- org.eclipse.linuxtools.tmf.analysis.xml.core
-Export-Package: org.eclipse.linuxtools.internal.tmf.analysis.xml.ui;x-friends:="org.eclipse.linuxtools.tmf.analysis.xml.ui.tests",
- org.eclipse.linuxtools.internal.tmf.analysis.xml.ui.handler;x-internal:=true,
- org.eclipse.linuxtools.internal.tmf.analysis.xml.ui.views;x-internal:=true,
- org.eclipse.linuxtools.internal.tmf.analysis.xml.ui.views.xychart;x-internal:=true,
- org.eclipse.linuxtools.tmf.analysis.xml.ui.module,
- org.eclipse.linuxtools.tmf.analysis.xml.ui.views.timegraph
diff --git a/lttng/org.eclipse.linuxtools.tmf.analysis.xml.ui/about.html b/lttng/org.eclipse.linuxtools.tmf.analysis.xml.ui/about.html
deleted file mode 100644
index c258ef55d8..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.analysis.xml.ui/about.html
+++ /dev/null
@@ -1,28 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
-<title>About</title>
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
-
-<p>June 5, 2006</p>
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;). Unless otherwise
-indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is available
-at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is
-being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content. Check the Redistributor's license that was
-provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at <a href="http://www.eclipse.org/">http://www.eclipse.org</a>.</p>
-
-</body>
-</html> \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.tmf.analysis.xml.ui/build.properties b/lttng/org.eclipse.linuxtools.tmf.analysis.xml.ui/build.properties
deleted file mode 100644
index b282712d8e..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.analysis.xml.ui/build.properties
+++ /dev/null
@@ -1,21 +0,0 @@
-###############################################################################
-# Copyright (c) 2014 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:
-# Ericsson - Initial API and implementation
-###############################################################################
-source.. = src/
-output.. = bin/
-bin.includes = META-INF/,\
- .,\
- plugin.properties,\
- about.html,\
- plugin.xml
-src.includes = about.html
-additional.bundles = org.eclipse.jdt.annotation
-jars.extra.classpath = platform:/plugin/org.eclipse.jdt.annotation \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.tmf.analysis.xml.ui/plugin.properties b/lttng/org.eclipse.linuxtools.tmf.analysis.xml.ui/plugin.properties
deleted file mode 100644
index 91fd0954a1..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.analysis.xml.ui/plugin.properties
+++ /dev/null
@@ -1,23 +0,0 @@
-###############################################################################
-# Copyright (c) 2013, 2014 École Polytechnique de Montréal
-#
-# 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:
-# École Polytechnique de Montréal - Initial API and implementation
-###############################################################################
-
-#Properties file for org.eclipse.linuxtools.tmf.core
-Bundle-Vendor = Eclipse Linux Tools
-Bundle-Name = Linux Tools TMF XML Analysis UI Plug-in
-
-command.xml.import = Import XML analysis
-command.xml.import.mnemonic = I
-command.xml.import.description = Import an XML file containing analysis information
-
-xmltimegraph.view.name = XML Time Graph View
-
-xmlxychart.view.name = XML XY Chart View
diff --git a/lttng/org.eclipse.linuxtools.tmf.analysis.xml.ui/plugin.xml b/lttng/org.eclipse.linuxtools.tmf.analysis.xml.ui/plugin.xml
deleted file mode 100644
index d8a56de6cc..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.analysis.xml.ui/plugin.xml
+++ /dev/null
@@ -1,104 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.4"?>
-<plugin>
- <extension
- point="org.eclipse.linuxtools.tmf.core.analysis">
- <source
- class="org.eclipse.linuxtools.tmf.analysis.xml.ui.module.XmlAnalysisModuleSource">
- </source>
- </extension>
- <extension
- point="org.eclipse.ui.commands">
- <command
- categoryId="org.eclipse.linuxtools.tmf.ui.commands.category"
- id="org.eclipse.linuxtools.tmf.analysis.xml.ui.importxml"
- name="%command.xml.import"
- description="%command.xml.import.description">
- </command>
- </extension>
- <extension
- point="org.eclipse.ui.menus">
- <menuContribution
- locationURI="popup:org.eclipse.ui.popup.any?after=org.eclipse.linuxtools.tmf.ui.menu.managecustomparsers">
- <command
- commandId="org.eclipse.linuxtools.tmf.analysis.xml.ui.importxml"
- label="%command.xml.import"
- mnemonic="%command.xml.import.mnemonic"
- style="push"
- tooltip="%command.xml.import.description">
- <visibleWhen
- checkEnabled="false">
- <with
- variable="selection">
- <count
- value="1">
- </count>
- <iterate
- ifEmpty="false"
- operator="and">
- <or>
- <instanceof
- value="org.eclipse.linuxtools.tmf.ui.project.model.TmfTraceFolder">
- </instanceof>
- <instanceof
- value="org.eclipse.linuxtools.tmf.ui.project.model.TmfExperimentFolder">
- </instanceof>
- <instanceof
- value="org.eclipse.linuxtools.tmf.ui.project.model.TmfProjectElement">
- </instanceof>
- </or>
- </iterate>
- </with>
- </visibleWhen>
- </command>
- </menuContribution>
- </extension>
- <extension
- point="org.eclipse.ui.handlers">
- <handler
- class="org.eclipse.linuxtools.internal.tmf.analysis.xml.ui.handler.ImportXmlHandler"
- commandId="org.eclipse.linuxtools.tmf.analysis.xml.ui.importxml">
- <activeWhen>
- <and>
- <count
- value="1">
- </count>
- <iterate
- ifEmpty="false"
- operator="and">
- <or>
- <instanceof
- value="org.eclipse.linuxtools.tmf.ui.project.model.TmfTraceFolder">
- </instanceof>
- <instanceof
- value="org.eclipse.linuxtools.tmf.ui.project.model.TmfExperimentFolder">
- </instanceof>
- <instanceof
- value="org.eclipse.linuxtools.tmf.ui.project.model.TmfProjectElement">
- </instanceof>
- </or>
- </iterate>
- </and>
- </activeWhen>
- </handler>
- </extension>
- <extension
- point="org.eclipse.ui.views">
- <view
- allowMultiple="false"
- category="org.eclipse.linuxtools.lttng2.ui.views.category"
- class="org.eclipse.linuxtools.tmf.analysis.xml.ui.views.timegraph.XmlTimeGraphView"
- id="org.eclipse.linuxtools.tmf.analysis.xml.ui.views.timegraph"
- name="%xmltimegraph.view.name"
- restorable="true">
- </view>
- <view
- allowMultiple="false"
- category="org.eclipse.linuxtools.lttng2.ui.views.category"
- class="org.eclipse.linuxtools.internal.tmf.analysis.xml.ui.views.xychart.XmlXYView"
- id="org.eclipse.linuxtools.internal.tmf.analysis.xml.ui.views.xyview"
- name="%xmlxychart.view.name"
- restorable="true">
- </view>
- </extension>
-</plugin>
diff --git a/lttng/org.eclipse.linuxtools.tmf.analysis.xml.ui/pom.xml b/lttng/org.eclipse.linuxtools.tmf.analysis.xml.ui/pom.xml
deleted file mode 100644
index a53dea634b..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.analysis.xml.ui/pom.xml
+++ /dev/null
@@ -1,45 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Copyright (C) 2013, École Polytechnique de Montréal
-
- 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
--->
-<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
- <modelVersion>4.0.0</modelVersion>
-
- <parent>
- <artifactId>linuxtools-lttng-parent</artifactId>
- <groupId>org.eclipse.linuxtools.lttng</groupId>
- <version>3.2.0-SNAPSHOT</version>
- </parent>
-
- <artifactId>org.eclipse.linuxtools.tmf.analysis.xml.ui</artifactId>
- <version>1.2.0-SNAPSHOT</version>
- <packaging>eclipse-plugin</packaging>
-
- <name>Linux Tools TMF Xml Analysis Ui Plug-in</name>
-
- <build>
- <!-- workaround for https://issues.sonatype.org/browse/TYCHO-168 -->
- <resources>
- <resource>
- <directory>src</directory>
- <excludes>
- <exclude>**/*.java</exclude>
- </excludes>
- </resource>
- </resources>
- <plugins>
- <plugin>
- <groupId>org.eclipse.tycho</groupId>
- <artifactId>tycho-source-plugin</artifactId>
- </plugin>
- </plugins>
- </build>
-
- <groupId>org.eclipse.linuxtools.tmf</groupId>
-</project>
diff --git a/lttng/org.eclipse.linuxtools.tmf.analysis.xml.ui/src/org/eclipse/linuxtools/internal/tmf/analysis/xml/ui/Activator.java b/lttng/org.eclipse.linuxtools.tmf.analysis.xml.ui/src/org/eclipse/linuxtools/internal/tmf/analysis/xml/ui/Activator.java
deleted file mode 100644
index 261ab7e821..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.analysis.xml.ui/src/org/eclipse/linuxtools/internal/tmf/analysis/xml/ui/Activator.java
+++ /dev/null
@@ -1,163 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 École Polytechnique de Montréal
- *
- * 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:
- * Geneviève Bastien - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.internal.tmf.analysis.xml.ui;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.ui.plugin.AbstractUIPlugin;
-import org.osgi.framework.BundleContext;
-
-/**
- * The activator class controls the plug-in life cycle
- *
- * @author Geneviève Bastien
- */
-public class Activator extends AbstractUIPlugin {
-
- /** The plug-in ID */
- public static final String PLUGIN_ID = "org.eclipse.linuxtools.tmf.analysis.xml.ui"; //$NON-NLS-1$
-
- // The shared instance
- private static Activator fPlugin;
-
- /**
- * The constructor
- */
- public Activator() {
- setDefault(this);
- }
-
- @Override
- public void start(BundleContext context) throws Exception {
- super.start(context);
- setDefault(this);
- }
-
- @Override
- public void stop(BundleContext context) throws Exception {
- setDefault(null);
- super.stop(context);
- }
-
- /**
- * Returns the shared instance
- *
- * @return the shared instance
- */
- public static Activator getDefault() {
- return fPlugin;
- }
-
- // Sets plug-in instance
- private static void setDefault(Activator plugin) {
- fPlugin = plugin;
- }
-
- // ------------------------------------------------------------------------
- // Log an IStatus
- // ------------------------------------------------------------------------
-
- /**
- * Log an IStatus object directly
- *
- * @param status
- * The status to log
- */
- public static void log(IStatus status) {
- fPlugin.getLog().log(status);
- }
-
- // ------------------------------------------------------------------------
- // Log INFO
- // ------------------------------------------------------------------------
-
- /**
- * Logs a message with severity INFO in the runtime log of the plug-in.
- *
- * @param message
- * A message to log
- */
- public static void logInfo(String message) {
- fPlugin.getLog().log(new Status(IStatus.INFO, PLUGIN_ID, message));
- }
-
- /**
- * Logs a message and exception with severity INFO in the runtime log of the
- * plug-in.
- *
- * @param message
- * A message to log
- * @param exception
- * The corresponding exception
- */
- public static void logInfo(String message, Throwable exception) {
- fPlugin.getLog().log(new Status(IStatus.INFO, PLUGIN_ID, message, exception));
- }
-
- // ------------------------------------------------------------------------
- // Log WARNING
- // ------------------------------------------------------------------------
-
- /**
- * Logs a message and exception with severity WARNING in the runtime log of
- * the plug-in.
- *
- * @param message
- * A message to log
- */
- public static void logWarning(String message) {
- fPlugin.getLog().log(new Status(IStatus.WARNING, PLUGIN_ID, message));
- }
-
- /**
- * Logs a message and exception with severity WARNING in the runtime log of
- * the plug-in.
- *
- * @param message
- * A message to log
- * @param exception
- * The corresponding exception
- */
- public static void logWarning(String message, Throwable exception) {
- fPlugin.getLog().log(new Status(IStatus.WARNING, PLUGIN_ID, message, exception));
- }
-
- // ------------------------------------------------------------------------
- // Log ERROR
- // ------------------------------------------------------------------------
-
- /**
- * Logs a message and exception with severity ERROR in the runtime log of
- * the plug-in.
- *
- * @param message
- * A message to log
- */
- public static void logError(String message) {
- fPlugin.getLog().log(new Status(IStatus.ERROR, PLUGIN_ID, message));
- }
-
- /**
- * Logs a message and exception with severity ERROR in the runtime log of
- * the plug-in.
- *
- * @param message
- * A message to log
- * @param exception
- * The corresponding exception
- */
- public static void logError(String message, Throwable exception) {
- fPlugin.getLog().log(new Status(IStatus.ERROR, PLUGIN_ID, message, exception));
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.analysis.xml.ui/src/org/eclipse/linuxtools/internal/tmf/analysis/xml/ui/TmfXmlUiStrings.java b/lttng/org.eclipse.linuxtools.tmf.analysis.xml.ui/src/org/eclipse/linuxtools/internal/tmf/analysis/xml/ui/TmfXmlUiStrings.java
deleted file mode 100644
index 093c090e5e..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.analysis.xml.ui/src/org/eclipse/linuxtools/internal/tmf/analysis/xml/ui/TmfXmlUiStrings.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 École Polytechnique de Montréal
- *
- * 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:
- * Geneviève Bastien - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.internal.tmf.analysis.xml.ui;
-
-import org.eclipse.jdt.annotation.NonNullByDefault;
-
-/**
- * This file defines all names in the XML Structure for UI elements
- *
- * @author Geneviève Bastien
- */
-@SuppressWarnings({ "javadoc", "nls" })
-@NonNullByDefault
-public interface TmfXmlUiStrings {
-
- /* XML generic Element attribute names */
- static final String TIME_GRAPH_VIEW = "timeGraphView";
- static final String XY_VIEW = "xyView";
-
- /* View elements and attributes */
- static final String ENTRY_ELEMENT = "entry";
-
- /* Elements and attributes of view entries */
- static final String PATH = "path";
- static final String DISPLAY_ELEMENT = "display";
- static final String PARENT_ELEMENT = "parent";
- static final String NAME_ELEMENT = "name";
- static final String ID_ELEMENT = "id";
- static final String DISPLAY_TYPE = "displayType";
- static final String DISPLAY_TYPE_ABSOLUTE = "absolute";
- static final String DISPLAY_TYPE_DELTA = "delta";
-
- /* Generic strings for the XML module */
- static final String XML_OUTPUT_DATA = "xmlOutputData";
-
-} \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.tmf.analysis.xml.ui/src/org/eclipse/linuxtools/internal/tmf/analysis/xml/ui/handler/ImportXmlHandler.java b/lttng/org.eclipse.linuxtools.tmf.analysis.xml.ui/src/org/eclipse/linuxtools/internal/tmf/analysis/xml/ui/handler/ImportXmlHandler.java
deleted file mode 100644
index 8ea66a3251..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.analysis.xml.ui/src/org/eclipse/linuxtools/internal/tmf/analysis/xml/ui/handler/ImportXmlHandler.java
+++ /dev/null
@@ -1,110 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 École Polytechnique de Montréal
- *
- * 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:
- * Geneviève Bastien - Initial implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.internal.tmf.analysis.xml.ui.handler;
-
-import java.io.File;
-
-import org.eclipse.core.commands.AbstractHandler;
-import org.eclipse.core.commands.ExecutionEvent;
-import org.eclipse.core.commands.ExecutionException;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.ISelectionProvider;
-import org.eclipse.jface.viewers.TreeSelection;
-import org.eclipse.linuxtools.tmf.analysis.xml.core.module.XmlUtils;
-import org.eclipse.linuxtools.tmf.analysis.xml.ui.module.Messages;
-import org.eclipse.linuxtools.tmf.analysis.xml.ui.module.XmlAnalysisModuleSource;
-import org.eclipse.linuxtools.tmf.ui.project.model.TmfProjectModelElement;
-import org.eclipse.linuxtools.tmf.ui.project.model.TraceUtils;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.widgets.FileDialog;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.PlatformUI;
-
-/**
- * Imports and validates an XML file
- *
- * @author Geneviève Bastien
- */
-public class ImportXmlHandler extends AbstractHandler {
-
- @Override
- public Object execute(ExecutionEvent event) throws ExecutionException {
-
- FileDialog dlg = new FileDialog(new Shell(), SWT.OPEN);
- dlg.setFilterNames(new String[] { Messages.ImportXmlHandler_ImportXmlFile + " (*.xml)" }); //$NON-NLS-1$
- dlg.setFilterExtensions(new String[] { "*.xml" }); //$NON-NLS-1$
-
- String fn = dlg.open();
- if (fn != null) {
- File file = new File(fn);
- IStatus status = XmlUtils.xmlValidate(file);
- if (status.isOK()) {
- status = XmlUtils.addXmlFile(file);
- if (status.isOK()) {
- XmlAnalysisModuleSource.notifyModuleChange();
- /*
- * FIXME: It refreshes the list of analysis under a trace,
- * but since modules are instantiated when the trace opens,
- * the changes won't apply to an opened trace, it needs to
- * be closed then reopened
- */
- refreshProject();
- } else {
- TraceUtils.displayErrorMsg(Messages.ImportXmlHandler_ImportXmlFile, status.getMessage());
- }
- } else {
- TraceUtils.displayErrorMsg(Messages.ImportXmlHandler_ImportXmlFile, status.getMessage());
- }
- }
-
- return null;
- }
-
- /**
- * Refresh the selected project with the new XML file import
- */
- private static void refreshProject() {
- // Check if we are closing down
- IWorkbenchWindow window = PlatformUI.getWorkbench().getActiveWorkbenchWindow();
- if (window == null) {
- return;
- }
-
- // Get the selection
- IWorkbenchPage page = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage();
- IWorkbenchPart part = page.getActivePart();
- if (part == null) {
- return;
- }
- ISelectionProvider selectionProvider = part.getSite().getSelectionProvider();
- if (selectionProvider == null) {
- return;
- }
- ISelection selection = selectionProvider.getSelection();
-
- if (selection instanceof TreeSelection) {
- TreeSelection sel = (TreeSelection) selection;
- // There should be only one item selected as per the plugin.xml
- Object element = sel.getFirstElement();
- if (element instanceof TmfProjectModelElement) {
- ((TmfProjectModelElement) element).getProject().refresh();
- }
- }
-
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.analysis.xml.ui/src/org/eclipse/linuxtools/internal/tmf/analysis/xml/ui/views/XmlViewInfo.java b/lttng/org.eclipse.linuxtools.tmf.analysis.xml.ui/src/org/eclipse/linuxtools/internal/tmf/analysis/xml/ui/views/XmlViewInfo.java
deleted file mode 100644
index aa8168e47d..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.analysis.xml.ui/src/org/eclipse/linuxtools/internal/tmf/analysis/xml/ui/views/XmlViewInfo.java
+++ /dev/null
@@ -1,159 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 École Polytechnique de Montréal
- *
- * 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:
- * Geneviève Bastien - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.internal.tmf.analysis.xml.ui.views;
-
-import java.util.HashSet;
-import java.util.List;
-import java.util.Set;
-
-import org.eclipse.jdt.annotation.NonNullByDefault;
-import org.eclipse.jdt.annotation.Nullable;
-import org.eclipse.jface.dialogs.IDialogSettings;
-import org.eclipse.linuxtools.internal.tmf.analysis.xml.ui.Activator;
-import org.eclipse.linuxtools.tmf.analysis.xml.core.module.XmlUtils;
-import org.eclipse.linuxtools.tmf.analysis.xml.core.stateprovider.TmfXmlStrings;
-import org.eclipse.linuxtools.tmf.analysis.xml.ui.module.TmfXmlAnalysisOutputSource;
-import org.w3c.dom.Element;
-
-/**
- * Class that manages information about a view: its title, the file, etc.
- *
- * @author Geneviève Bastien
- */
-@NonNullByDefault
-public class XmlViewInfo {
-
- private static final String XML_VIEW_ID_PROPERTY = "XmlViewId"; //$NON-NLS-1$
- private static final String XML_VIEW_FILE_PROPERTY = "XmlViewFile"; //$NON-NLS-1$
-
- private final String fViewId;
- private @Nullable String fId = null;
- private @Nullable String fFilePath = null;
-
- /**
- * Constructor
- *
- * @param viewId
- * The ID of the view
- */
- public XmlViewInfo(String viewId) {
- fViewId = viewId;
-
- IDialogSettings settings = getPersistentPropertyStore();
-
- fId = settings.get(XML_VIEW_ID_PROPERTY);
- fFilePath = settings.get(XML_VIEW_FILE_PROPERTY);
- }
-
- /**
- * Set the data for this view and retrieves from it the view ID and the file
- * path of the XML element this view uses.
- *
- * @param data
- * A string of the form "XML view ID" +
- * {@link TmfXmlAnalysisOutputSource#DATA_SEPARATOR} +
- * "path of the file containing the XML element"
- */
- public void setViewData(String data) {
- String[] idFile = data.split(TmfXmlAnalysisOutputSource.DATA_SEPARATOR);
- fId = (idFile.length > 0) ? idFile[0] : null;
- fFilePath = (idFile.length > 1) ? idFile[1] : null;
- savePersistentData();
- }
-
- private IDialogSettings getPersistentPropertyStore() {
- IDialogSettings settings = Activator.getDefault().getDialogSettings();
- IDialogSettings section = settings.getSection(fViewId);
- if (section == null) {
- section = settings.addNewSection(fViewId);
- if (section == null) {
- throw new IllegalStateException();
- }
- }
- return section;
- }
-
- private void savePersistentData() {
- IDialogSettings settings = getPersistentPropertyStore();
-
- settings.put(XML_VIEW_ID_PROPERTY, fId);
- settings.put(XML_VIEW_FILE_PROPERTY, fFilePath);
- }
-
- /**
- * Retrieve the XML element corresponding to the view
- *
- * @param xmlTag
- * The XML tag corresponding to the view element (the type of
- * view)
- * @return The view {@link Element}
- */
- public @Nullable Element getViewElement(String xmlTag) {
- String id = fId;
- if (id == null) {
- return null;
- }
- Element viewElement = XmlUtils.getElementInFile(fFilePath, xmlTag, id);
- return viewElement;
- }
-
- /**
- * Get the view title from the header information of the XML view element.
- *
- * @param viewElement
- * The XML view element from which to get the title
- * @return The view title
- */
- public @Nullable String getViewTitle(Element viewElement) {
- List<Element> heads = XmlUtils.getChildElements(viewElement, TmfXmlStrings.HEAD);
-
- String title = null;
- if (!heads.isEmpty()) {
- Element head = heads.get(0);
- /* Set the title of this view from the label in the header */
- List<Element> labels = XmlUtils.getChildElements(head, TmfXmlStrings.LABEL);
- for (Element label : labels) {
- if (!label.getAttribute(TmfXmlStrings.VALUE).isEmpty()) {
- title = label.getAttribute(TmfXmlStrings.VALUE);
- }
- break;
- }
- }
- return title;
- }
-
- /**
- * Get the list of analysis IDs this view is for, as listed in the header of
- * the XML element
- *
- * @param viewElement
- * The XML view element from which to get the analysis IDs
- * @return The list of all analysis IDs this view is for
- */
- public Set<String> getViewAnalysisIds(Element viewElement) {
- List<Element> heads = XmlUtils.getChildElements(viewElement, TmfXmlStrings.HEAD);
-
- Set<String> analysisIds = new HashSet<>();
- if (!heads.isEmpty()) {
- Element head = heads.get(0);
-
- /* Get the application analysis from the view's XML header */
- List<Element> applicableAnalysis = XmlUtils.getChildElements(head, TmfXmlStrings.ANALYSIS);
- for (Element oneAnalysis : applicableAnalysis) {
- analysisIds.add(oneAnalysis.getAttribute(TmfXmlStrings.ID));
- }
- }
- return analysisIds;
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.analysis.xml.ui/src/org/eclipse/linuxtools/internal/tmf/analysis/xml/ui/views/xychart/Messages.java b/lttng/org.eclipse.linuxtools.tmf.analysis.xml.ui/src/org/eclipse/linuxtools/internal/tmf/analysis/xml/ui/views/xychart/Messages.java
deleted file mode 100644
index e548eec689..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.analysis.xml.ui/src/org/eclipse/linuxtools/internal/tmf/analysis/xml/ui/views/xychart/Messages.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 École Polytechnique de Montréal
- *
- * 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:
- * Geneviève Bastien - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.internal.tmf.analysis.xml.ui.views.xychart;
-
-import org.eclipse.jdt.annotation.Nullable;
-import org.eclipse.osgi.util.NLS;
-
-/**
- * Externalized strings for the xml xy chart view package
- *
- * @author Geneviève Bastien
- */
-public class Messages extends NLS {
- private static final String BUNDLE_NAME = "org.eclipse.linuxtools.internal.tmf.analysis.xml.ui.views.xychart.messages"; //$NON-NLS-1$
- /** Default view title */
- public static @Nullable String XmlXYView_DefaultTitle;
-
- /** Default Viewer title */
- public static @Nullable String XmlXYViewer_DefaultViewerTitle;
- /** Default X axix text */
- public static @Nullable String XmlXYViewer_DefaultXAxis;
- /** Default Y axis text */
- public static @Nullable String XmlXYViewer_DefaultYAxis;
- static {
- // initialize resource bundle
- NLS.initializeMessages(BUNDLE_NAME, Messages.class);
- }
-
- private Messages() {
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.analysis.xml.ui/src/org/eclipse/linuxtools/internal/tmf/analysis/xml/ui/views/xychart/XmlXYView.java b/lttng/org.eclipse.linuxtools.tmf.analysis.xml.ui/src/org/eclipse/linuxtools/internal/tmf/analysis/xml/ui/views/xychart/XmlXYView.java
deleted file mode 100644
index fca95f7146..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.analysis.xml.ui/src/org/eclipse/linuxtools/internal/tmf/analysis/xml/ui/views/xychart/XmlXYView.java
+++ /dev/null
@@ -1,105 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 École Polytechnique de Montréal
- *
- * 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:
- * Geneviève Bastien - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.internal.tmf.analysis.xml.ui.views.xychart;
-
-import org.eclipse.jdt.annotation.Nullable;
-import org.eclipse.jface.util.IPropertyChangeListener;
-import org.eclipse.jface.util.PropertyChangeEvent;
-import org.eclipse.linuxtools.internal.tmf.analysis.xml.ui.TmfXmlUiStrings;
-import org.eclipse.linuxtools.internal.tmf.analysis.xml.ui.views.XmlViewInfo;
-import org.eclipse.linuxtools.tmf.ui.viewers.xycharts.TmfXYChartViewer;
-import org.eclipse.linuxtools.tmf.ui.views.TmfChartView;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Display;
-import org.w3c.dom.Element;
-
-/**
- * This view displays state system data in an xy chart. It uses an XML
- * {@link TmfXmlUiStrings#XY_VIEW} element from an XML file. This element
- * defines which entries from the state system will be shown and also gives
- * additional information on the presentation of the view.
- *
- * @author Geneviève Bastien
- */
-public class XmlXYView extends TmfChartView {
-
- /** View ID. */
- public static final String ID = "org.eclipse.linuxtools.internal.tmf.analysis.xml.ui.views.xyview"; //$NON-NLS-1$
-
- private final XmlViewInfo fViewInfo = new XmlViewInfo(ID);
-
- /**
- * Default constructor
- */
- public XmlXYView() {
- super(Messages.XmlXYView_DefaultTitle);
-
- this.addPartPropertyListener(new IPropertyChangeListener() {
- @Override
- public void propertyChange(@Nullable PropertyChangeEvent event) {
- if (event == null) {
- return;
- }
- if (event.getProperty().equals(TmfXmlUiStrings.XML_OUTPUT_DATA)) {
- Object newValue = event.getNewValue();
- if (newValue instanceof String) {
- fViewInfo.setViewData((String) newValue);
- setViewTitle();
- TmfXYChartViewer viewer = getChartViewer();
- if (viewer instanceof XmlXYViewer) {
- ((XmlXYViewer) viewer).viewInfoUpdated();
- }
-
- }
- }
- }
-
- });
- setViewTitle();
- }
-
- @Override
- public void createPartControl(@Nullable Composite parent) {
- setChartViewer(new XmlXYViewer(parent, fViewInfo));
- super.createPartControl(parent);
- }
-
- @Override
- public void setFocus() {
-
- }
-
- private void setViewTitle() {
- /*
- * Get the view element from the XML file. If the element can't be
- * found, return.
- */
- Element viewElement = fViewInfo.getViewElement(TmfXmlUiStrings.XY_VIEW);
- if (viewElement == null) {
- return;
- }
-
- String title = fViewInfo.getViewTitle(viewElement);
- if (title == null) {
- title = Messages.XmlXYView_DefaultTitle;
- }
- final String viewTitle = title;
- Display.getDefault().asyncExec(new Runnable() {
- @Override
- public void run() {
- setPartName(viewTitle);
- }
- });
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.analysis.xml.ui/src/org/eclipse/linuxtools/internal/tmf/analysis/xml/ui/views/xychart/XmlXYViewer.java b/lttng/org.eclipse.linuxtools.tmf.analysis.xml.ui/src/org/eclipse/linuxtools/internal/tmf/analysis/xml/ui/views/xychart/XmlXYViewer.java
deleted file mode 100644
index a18d5e9bd6..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.analysis.xml.ui/src/org/eclipse/linuxtools/internal/tmf/analysis/xml/ui/views/xychart/XmlXYViewer.java
+++ /dev/null
@@ -1,419 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 École Polytechnique de Montréal
- *
- * 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:
- * Geneviève Bastien - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.internal.tmf.analysis.xml.ui.views.xychart;
-
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Map;
-import java.util.regex.Pattern;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.jdt.annotation.NonNull;
-import org.eclipse.jdt.annotation.Nullable;
-import org.eclipse.linuxtools.internal.tmf.analysis.xml.ui.Activator;
-import org.eclipse.linuxtools.internal.tmf.analysis.xml.ui.TmfXmlUiStrings;
-import org.eclipse.linuxtools.internal.tmf.analysis.xml.ui.views.XmlViewInfo;
-import org.eclipse.linuxtools.statesystem.core.ITmfStateSystem;
-import org.eclipse.linuxtools.statesystem.core.exceptions.AttributeNotFoundException;
-import org.eclipse.linuxtools.statesystem.core.exceptions.StateSystemDisposedException;
-import org.eclipse.linuxtools.statesystem.core.exceptions.StateValueTypeException;
-import org.eclipse.linuxtools.statesystem.core.exceptions.TimeRangeException;
-import org.eclipse.linuxtools.statesystem.core.statevalue.ITmfStateValue;
-import org.eclipse.linuxtools.tmf.analysis.xml.core.model.ITmfXmlModelFactory;
-import org.eclipse.linuxtools.tmf.analysis.xml.core.model.ITmfXmlStateAttribute;
-import org.eclipse.linuxtools.tmf.analysis.xml.core.model.TmfXmlLocation;
-import org.eclipse.linuxtools.tmf.analysis.xml.core.model.readonly.TmfXmlReadOnlyModelFactory;
-import org.eclipse.linuxtools.tmf.analysis.xml.core.module.IXmlStateSystemContainer;
-import org.eclipse.linuxtools.tmf.analysis.xml.core.module.XmlUtils;
-import org.eclipse.linuxtools.tmf.analysis.xml.core.stateprovider.TmfXmlStrings;
-import org.eclipse.linuxtools.tmf.core.statesystem.ITmfAnalysisModuleWithStateSystems;
-import org.eclipse.linuxtools.tmf.core.statesystem.TmfStateSystemAnalysisModule;
-import org.eclipse.linuxtools.tmf.core.trace.ITmfTrace;
-import org.eclipse.linuxtools.tmf.ui.viewers.xycharts.linecharts.TmfCommonXLineChartViewer;
-import org.eclipse.swt.widgets.Composite;
-import org.w3c.dom.Element;
-
-/**
- * Main viewer to display XML-defined xy charts. It uses an XML
- * {@link TmfXmlUiStrings#XY_VIEW} element from an XML file. This element
- * defines which entries from the state system will be shown and also gives
- * additional information on the presentation of the view.
- *
- * @author Geneviève Bastien
- */
-public class XmlXYViewer extends TmfCommonXLineChartViewer {
-
- private static final String SPLIT_STRING = "/"; //$NON-NLS-1$
- /** Timeout between updates in the updateData thread */
- private static final long BUILD_UPDATE_TIMEOUT = 500;
-
- @SuppressWarnings("null")
- private static final @NonNull Pattern WILDCARD_PATTERN = Pattern.compile("\\*"); //$NON-NLS-1$
-
- private final ITmfXmlModelFactory fFactory = TmfXmlReadOnlyModelFactory.getInstance();
- private final Map<Integer, SeriesData> fSeriesData = new HashMap<>();
-
- private final XmlViewInfo fViewInfo;
-
- /** XML Model elements to use to create the series */
- private @Nullable ITmfXmlStateAttribute fDisplay;
- private @Nullable ITmfXmlStateAttribute fSeriesName;
- private @Nullable XmlXYEntry fEntry;
-
- private enum DisplayType {
- ABSOLUTE,
- DELTA
- }
-
- /**
- * The information related to one series on the chart
- */
- private class SeriesData {
-
- private final double[] fYValues;
- private final @Nullable double[] fYAbsoluteValues;
- private final Integer fDisplayQuark;
- private final String fName;
- private final DisplayType fType;
-
- public SeriesData(int length, int attributeQuark, String seriesName, DisplayType type) {
- fYValues = new double[length];
- fDisplayQuark = attributeQuark;
- fName = seriesName;
- fType = type;
- switch (fType) {
- case DELTA:
- fYAbsoluteValues = new double[length];
- break;
- case ABSOLUTE:
- default:
- fYAbsoluteValues = null;
- break;
- }
-
- }
-
- public double[] getYValues() {
- return fYValues;
- }
-
- public Integer getDisplayQuark() {
- return fDisplayQuark;
- }
-
- public String getSeriesName() {
- return fName;
- }
-
- public void setYValue(int i, double yvalue) {
- switch (fType) {
- case DELTA:
- double[] absoluteVals = fYAbsoluteValues;
- if (absoluteVals == null) {
- throw new IllegalStateException();
- }
- absoluteVals[i] = yvalue;
- /*
- * At the first timestamp, the delta value should be 0 since we
- * do not have the previous values
- */
- double prevValue = yvalue;
- if (i > 0) {
- prevValue = absoluteVals[i - 1];
- }
- fYValues[i] = yvalue - prevValue;
- break;
- case ABSOLUTE:
- default:
- fYValues[i] = yvalue;
- break;
- }
-
- }
- }
-
- private static class XmlXYEntry implements IXmlStateSystemContainer {
-
- private final ITmfStateSystem fStateSystem;
- private final String fPath;
- private final DisplayType fType;
-
- public XmlXYEntry(ITmfStateSystem stateSystem, String path, Element entryElement) {
- fStateSystem = stateSystem;
- fPath = path;
- switch (entryElement.getAttribute(TmfXmlUiStrings.DISPLAY_TYPE)) {
- case TmfXmlUiStrings.DISPLAY_TYPE_DELTA:
- fType = DisplayType.DELTA;
- break;
- case TmfXmlUiStrings.DISPLAY_TYPE_ABSOLUTE:
- default:
- fType = DisplayType.ABSOLUTE;
- break;
- }
- }
-
- @Override
- public @Nullable String getAttributeValue(@Nullable String name) {
- return name;
- }
-
- @Override
- public ITmfStateSystem getStateSystem() {
- return fStateSystem;
- }
-
- @Override
- public @Nullable Iterable<TmfXmlLocation> getLocations() {
- return Collections.EMPTY_SET;
- }
-
- public DisplayType getType() {
- return fType;
- }
-
- public List<Integer> getQuarks() {
- /* Get the list of quarks to process with this path */
- String[] paths = fPath.split(SPLIT_STRING);
- @SuppressWarnings("null")
- @NonNull List<Integer> quarks = Collections.singletonList(IXmlStateSystemContainer.ROOT_QUARK);
-
- try {
- for (String path : paths) {
- List<Integer> subQuarks = new LinkedList<>();
- /* Replace * by .* to have a regex string */
- String name = WILDCARD_PATTERN.matcher(path).replaceAll(".*"); //$NON-NLS-1$
- for (int relativeQuark : quarks) {
- subQuarks.addAll(fStateSystem.getSubAttributes(relativeQuark, false, name));
- }
- quarks = subQuarks;
- }
- } catch (AttributeNotFoundException e) {
- /*
- * We get all attributes from the state system itself, this
- * should not happen.
- */
- throw new IllegalStateException();
- }
- return quarks;
- }
- }
-
- /**
- * Constructor
- *
- * @param parent
- * parent view
- * @param viewInfo
- * The view info object
- */
- public XmlXYViewer(@Nullable Composite parent, XmlViewInfo viewInfo) {
- super(parent, Messages.XmlXYViewer_DefaultViewerTitle, Messages.XmlXYViewer_DefaultXAxis, Messages.XmlXYViewer_DefaultYAxis);
- fViewInfo = viewInfo;
- }
-
- @Override
- protected void updateData(long start, long end, int nb, @Nullable IProgressMonitor monitor) {
-
- ITmfXmlStateAttribute display = fDisplay;
- ITmfXmlStateAttribute seriesNameAttrib = fSeriesName;
- XmlXYEntry entry = fEntry;
- if (getTrace() == null || display == null || entry == null) {
- return;
- }
- ITmfStateSystem ss = entry.getStateSystem();
-
- double[] xvalues = getXAxis(start, end, nb);
- setXAxis(xvalues);
-
- boolean complete = false;
- long currentEnd = start;
-
- while (!complete && currentEnd < end) {
- if (monitor != null && monitor.isCanceled()) {
- return;
- }
-
- complete = ss.waitUntilBuilt(BUILD_UPDATE_TIMEOUT);
- currentEnd = ss.getCurrentEndTime();
- try {
- List<Integer> quarks = entry.getQuarks();
- long traceStart = getStartTime();
- long traceEnd = getEndTime();
- long offset = this.getTimeOffset();
-
- /* Initialize quarks and series names */
- for (int quark : quarks) {
- String seriesName = null;
- if (seriesNameAttrib == null) {
- seriesName = ss.getAttributeName(quark);
- } else {
- int seriesNameQuark = seriesNameAttrib.getAttributeQuark(quark);
- try {
- ITmfStateValue seriesNameValue = ss.querySingleState(start, seriesNameQuark).getStateValue();
- if (!seriesNameValue.isNull()) {
- seriesName = seriesNameValue.toString();
- }
- if (seriesName == null || seriesName.isEmpty()) {
- seriesName = ss.getAttributeName(quark);
- }
- } catch (TimeRangeException e) {
- /*
- * The attribute did not exist at this point, simply
- * use attribute name as series name
- */
- seriesName = ss.getAttributeName(quark);
- }
- }
- if (seriesName == null) {
- throw new IllegalStateException();
- }
- fSeriesData.put(quark, new SeriesData(xvalues.length, display.getAttributeQuark(quark), seriesName, entry.getType()));
- }
- double yvalue = 0.0;
- for (int i = 0; i < xvalues.length; i++) {
- if (monitor != null && monitor.isCanceled()) {
- return;
- }
- double x = xvalues[i];
- long time = (long) x + offset;
- // make sure that time is in the trace range after double to
- // long conversion
- time = time < traceStart ? traceStart : time;
- time = time > traceEnd ? traceEnd : time;
-
- for (int quark : quarks) {
- try {
- yvalue = ss.querySingleState(time, fSeriesData.get(quark).getDisplayQuark()).getStateValue().unboxLong();
- fSeriesData.get(quark).setYValue(i, yvalue);
- } catch (TimeRangeException e) {
- fSeriesData.get(quark).setYValue(i, 0);
- }
- }
- }
- for (int quark : quarks) {
- setSeries(fSeriesData.get(quark).getSeriesName(), fSeriesData.get(quark).getYValues());
- }
- updateDisplay();
- } catch (AttributeNotFoundException | StateValueTypeException e) {
- Activator.logError("Error updating the data of XML XY view", e); //$NON-NLS-1$
- } catch (StateSystemDisposedException e) {
- return;
- }
- }
-
- }
-
- @Override
- protected void initializeDataSource() {
- super.initializeDataSource();
-
- ITmfTrace trace = this.getTrace();
- if (trace == null) {
- return;
- }
-
- Element viewElement = fViewInfo.getViewElement(TmfXmlUiStrings.XY_VIEW);
- if (viewElement == null) {
- return;
- }
-
- Iterable<String> analysisIds = fViewInfo.getViewAnalysisIds(viewElement);
-
- List<ITmfAnalysisModuleWithStateSystems> stateSystemModules = new LinkedList<>();
- if (!analysisIds.iterator().hasNext()) {
- /*
- * No analysis specified, take all state system analysis modules
- */
- for (ITmfAnalysisModuleWithStateSystems module : trace.getAnalysisModulesOfClass(ITmfAnalysisModuleWithStateSystems.class)) {
- stateSystemModules.add(module);
- }
- } else {
- for (String moduleId : analysisIds) {
- @SuppressWarnings("resource")
- ITmfAnalysisModuleWithStateSystems module = trace.getAnalysisModuleOfClass(ITmfAnalysisModuleWithStateSystems.class, moduleId);
- if (module != null) {
- stateSystemModules.add(module);
- }
- }
- }
-
- /** Initialize the data */
- fDisplay = null;
- fSeriesName = null;
- ITmfStateSystem ss = null;
- fEntry = null;
-
- /* Schedule all state systems */
- for (ITmfAnalysisModuleWithStateSystems module : stateSystemModules) {
- IStatus status = module.schedule();
- if (status.isOK()) {
- if (module instanceof TmfStateSystemAnalysisModule) {
- ((TmfStateSystemAnalysisModule) module).waitForInitialization();
- }
- for (ITmfStateSystem ssq : module.getStateSystems()) {
- if (ssq != null) {
- ss = ssq;
- break;
- }
- }
- } else {
- return;
- }
- }
- if (ss == null) {
- return;
- }
-
- /*
- * Initialize state attributes. There should be only one entry element
- * for XY charts.
- */
- List<Element> entries = XmlUtils.getChildElements(viewElement, TmfXmlUiStrings.ENTRY_ELEMENT);
- Element entryElement = entries.get(0);
- String path = entryElement.getAttribute(TmfXmlUiStrings.PATH);
- if (path.isEmpty()) {
- path = TmfXmlStrings.WILDCARD;
- }
- XmlXYEntry entry = new XmlXYEntry(ss, path, entryElement);
- fEntry = entry;
-
- /* Get the display element to use */
- List<Element> displayElements = XmlUtils.getChildElements(entryElement, TmfXmlUiStrings.DISPLAY_ELEMENT);
- if (displayElements.isEmpty()) {
- Activator.logWarning(String.format("XML view: entry for %s should have a display element", path)); //$NON-NLS-1$
- return;
- }
- Element displayElement = displayElements.get(0);
- fDisplay = fFactory.createStateAttribute(displayElement, entry);
-
- /* Get the series name element to use */
- List<Element> seriesNameElements = XmlUtils.getChildElements(entryElement, TmfXmlUiStrings.NAME_ELEMENT);
- if (!seriesNameElements.isEmpty()) {
- Element seriesNameElement = seriesNameElements.get(0);
- fSeriesName = fFactory.createStateAttribute(seriesNameElement, entry);
- }
-
- }
-
- /**
- * Tells the viewer that the view info has been updated and the viewer needs
- * to be reinitialized
- */
- public void viewInfoUpdated() {
- reinitialize();
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.analysis.xml.ui/src/org/eclipse/linuxtools/internal/tmf/analysis/xml/ui/views/xychart/messages.properties b/lttng/org.eclipse.linuxtools.tmf.analysis.xml.ui/src/org/eclipse/linuxtools/internal/tmf/analysis/xml/ui/views/xychart/messages.properties
deleted file mode 100644
index 77d3f62908..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.analysis.xml.ui/src/org/eclipse/linuxtools/internal/tmf/analysis/xml/ui/views/xychart/messages.properties
+++ /dev/null
@@ -1,4 +0,0 @@
-XmlXYView_DefaultTitle=Xml XY view
-XmlXYViewer_DefaultViewerTitle=Xml XY Chart Viewer
-XmlXYViewer_DefaultXAxis=Time
-XmlXYViewer_DefaultYAxis=Unit
diff --git a/lttng/org.eclipse.linuxtools.tmf.analysis.xml.ui/src/org/eclipse/linuxtools/internal/tmf/analysis/xml/ui/views/xychart/package-info.java b/lttng/org.eclipse.linuxtools.tmf.analysis.xml.ui/src/org/eclipse/linuxtools/internal/tmf/analysis/xml/ui/views/xychart/package-info.java
deleted file mode 100644
index ff37508327..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.analysis.xml.ui/src/org/eclipse/linuxtools/internal/tmf/analysis/xml/ui/views/xychart/package-info.java
+++ /dev/null
@@ -1,14 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 École Polytechnique de Montréal
- *
- * 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:
- * École Polytechnique de Montréal - Initial API and implementation
- *******************************************************************************/
-
-@org.eclipse.jdt.annotation.NonNullByDefault
-package org.eclipse.linuxtools.internal.tmf.analysis.xml.ui.views.xychart; \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.tmf.analysis.xml.ui/src/org/eclipse/linuxtools/tmf/analysis/xml/ui/module/Messages.java b/lttng/org.eclipse.linuxtools.tmf.analysis.xml.ui/src/org/eclipse/linuxtools/tmf/analysis/xml/ui/module/Messages.java
deleted file mode 100644
index c720fa2db5..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.analysis.xml.ui/src/org/eclipse/linuxtools/tmf/analysis/xml/ui/module/Messages.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 École Polytechnique de Montréal
- *
- * 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:
- * Geneviève Bastien - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.analysis.xml.ui.module;
-
-import org.eclipse.osgi.util.NLS;
-
-/**
- * Externalized messages for the XML analysis module package
- *
- * @author Geneviève Bastien
- */
-public class Messages extends NLS {
- private static final String BUNDLE_NAME = "org.eclipse.linuxtools.tmf.analysis.xml.ui.module.messages"; //$NON-NLS-1$
-
- /** Import XML file title */
- public static String ImportXmlHandler_ImportXmlFile;
-
- static {
- // initialize resource bundle
- NLS.initializeMessages(BUNDLE_NAME, Messages.class);
- }
-
- private Messages() {
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.analysis.xml.ui/src/org/eclipse/linuxtools/tmf/analysis/xml/ui/module/TmfAnalysisModuleHelperXml.java b/lttng/org.eclipse.linuxtools.tmf.analysis.xml.ui/src/org/eclipse/linuxtools/tmf/analysis/xml/ui/module/TmfAnalysisModuleHelperXml.java
deleted file mode 100644
index c98966ce33..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.analysis.xml.ui/src/org/eclipse/linuxtools/tmf/analysis/xml/ui/module/TmfAnalysisModuleHelperXml.java
+++ /dev/null
@@ -1,184 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 École Polytechnique de Montréal
- *
- * 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:
- * Geneviève Bastien - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.analysis.xml.ui.module;
-
-import java.io.File;
-import java.util.Collections;
-import java.util.List;
-
-import org.eclipse.core.runtime.Path;
-import org.eclipse.jdt.annotation.NonNull;
-import org.eclipse.linuxtools.internal.tmf.analysis.xml.ui.Activator;
-import org.eclipse.linuxtools.tmf.analysis.xml.core.module.XmlUtils;
-import org.eclipse.linuxtools.tmf.analysis.xml.core.stateprovider.TmfXmlStrings;
-import org.eclipse.linuxtools.tmf.analysis.xml.core.stateprovider.XmlStateSystemModule;
-import org.eclipse.linuxtools.tmf.core.analysis.IAnalysisModule;
-import org.eclipse.linuxtools.tmf.core.analysis.IAnalysisModuleHelper;
-import org.eclipse.linuxtools.tmf.core.analysis.TmfAnalysisManager;
-import org.eclipse.linuxtools.tmf.core.analysis.TmfAnalysisRequirement;
-import org.eclipse.linuxtools.tmf.core.exceptions.TmfAnalysisException;
-import org.eclipse.linuxtools.tmf.core.project.model.TmfTraceType;
-import org.eclipse.linuxtools.tmf.core.project.model.TraceTypeHelper;
-import org.eclipse.linuxtools.tmf.core.trace.ITmfTrace;
-import org.osgi.framework.Bundle;
-import org.w3c.dom.Element;
-
-/**
- * Analysis module helpers for modules provided by XML files
- *
- * @author Geneviève Bastien
- */
-public class TmfAnalysisModuleHelperXml implements IAnalysisModuleHelper {
-
- /**
- * The types of analysis that can be XML-defined
- */
- public enum XmlAnalysisModuleType {
- /** Analysis will be of type XmlStateSystemModule */
- STATE_SYSTEM
- }
-
- private final File fSourceFile;
- private final Element fSourceElement;
- private final XmlAnalysisModuleType fType;
-
- /**
- * Constructor
- *
- * @param xmlFile
- * The XML file containing the details of this analysis
- * @param node
- * The XML node element
- * @param type
- * The type of analysis
- */
- public TmfAnalysisModuleHelperXml(File xmlFile, Element node, XmlAnalysisModuleType type) {
- fSourceFile = xmlFile;
- fSourceElement = node;
- fType = type;
- }
-
- @Override
- public String getId() {
- return fSourceElement.getAttribute(TmfXmlStrings.ID);
- }
-
- @Override
- public String getName() {
- String name = null;
- /* Label may be available in XML header */
- List<Element> head = XmlUtils.getChildElements(fSourceElement, TmfXmlStrings.HEAD);
- if (head.size() == 1) {
- List<Element> labels = XmlUtils.getChildElements(head.get(0), TmfXmlStrings.LABEL);
- if (!labels.isEmpty()) {
- name = labels.get(0).getAttribute(TmfXmlStrings.VALUE);
- }
- }
-
- if (name == null) {
- name = getId();
- }
- return name;
- }
-
- @Override
- public boolean isAutomatic() {
- return false;
- }
-
- @Override
- public String getHelpText() {
- return new String();
- }
-
- @Override
- public String getHelpText(@NonNull ITmfTrace trace) {
- return ""; //$NON-NLS-1$
- }
-
- @Override
- public String getIcon() {
- return null;
- }
-
- @Override
- public Bundle getBundle() {
- return Activator.getDefault().getBundle();
- }
-
- @Override
- public boolean appliesToTraceType(Class<? extends ITmfTrace> traceClass) {
- /* Trace types may be available in XML header */
- List<Element> head = XmlUtils.getChildElements(fSourceElement, TmfXmlStrings.HEAD);
- if (head.size() != 1) {
- return true;
- }
- /*
- * TODO: Test with custom trace types
- */
- List<Element> elements = XmlUtils.getChildElements(head.get(0), TmfXmlStrings.TRACETYPE);
- if (elements.isEmpty()) {
- return true;
- }
-
- for (Element element : elements) {
- String traceTypeId = element.getAttribute(TmfXmlStrings.ID);
- TraceTypeHelper helper = TmfTraceType.getTraceType(traceTypeId);
- if ((helper != null) && helper.getTrace().getClass().isAssignableFrom(traceClass)) {
- return true;
- }
- }
- return false;
- }
-
- @Override
- public Iterable<Class<? extends ITmfTrace>> getValidTraceTypes() {
- return Collections.EMPTY_SET;
- }
-
- @Override
- public Iterable<TmfAnalysisRequirement> getAnalysisRequirements() {
- return Collections.EMPTY_SET;
- }
-
- @Override
- public IAnalysisModule newModule(ITmfTrace trace) throws TmfAnalysisException {
- String analysisid = getId();
- IAnalysisModule module = null;
- switch (fType) {
- case STATE_SYSTEM:
- module = new XmlStateSystemModule();
- XmlStateSystemModule ssModule = (XmlStateSystemModule) module;
- module.setId(analysisid);
- ssModule.setXmlFile(new Path(fSourceFile.getAbsolutePath()));
-
- /*
- * FIXME: There is no way to know if a module is automatic, so we
- * default to true
- */
- ssModule.setAutomatic(true);
-
- break;
- default:
- break;
-
- }
- if (module != null) {
- module.setTrace(trace);
- TmfAnalysisManager.analysisModuleCreated(module);
- }
-
- return module;
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.analysis.xml.ui/src/org/eclipse/linuxtools/tmf/analysis/xml/ui/module/TmfXmlAnalysisOutputSource.java b/lttng/org.eclipse.linuxtools.tmf.analysis.xml.ui/src/org/eclipse/linuxtools/tmf/analysis/xml/ui/module/TmfXmlAnalysisOutputSource.java
deleted file mode 100644
index 084097651c..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.analysis.xml.ui/src/org/eclipse/linuxtools/tmf/analysis/xml/ui/module/TmfXmlAnalysisOutputSource.java
+++ /dev/null
@@ -1,139 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 École Polytechnique de Montréal
- *
- * 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:
- * Geneviève Bastien - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.analysis.xml.ui.module;
-
-import java.io.File;
-import java.io.IOException;
-import java.util.List;
-
-import javax.xml.parsers.DocumentBuilder;
-import javax.xml.parsers.DocumentBuilderFactory;
-import javax.xml.parsers.ParserConfigurationException;
-
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.jdt.annotation.NonNull;
-import org.eclipse.linuxtools.internal.tmf.analysis.xml.ui.Activator;
-import org.eclipse.linuxtools.internal.tmf.analysis.xml.ui.TmfXmlUiStrings;
-import org.eclipse.linuxtools.internal.tmf.analysis.xml.ui.views.xychart.XmlXYView;
-import org.eclipse.linuxtools.tmf.analysis.xml.core.module.XmlUtils;
-import org.eclipse.linuxtools.tmf.analysis.xml.core.stateprovider.TmfXmlStrings;
-import org.eclipse.linuxtools.tmf.analysis.xml.ui.views.timegraph.XmlTimeGraphView;
-import org.eclipse.linuxtools.tmf.core.analysis.IAnalysisModule;
-import org.eclipse.linuxtools.tmf.core.analysis.IAnalysisOutput;
-import org.eclipse.linuxtools.tmf.core.analysis.ITmfNewAnalysisModuleListener;
-import org.eclipse.linuxtools.tmf.core.statesystem.TmfStateSystemAnalysisModule;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.NodeList;
-import org.xml.sax.SAXException;
-
-/**
- * This class searches all XML files to find outputs applicable to the newly
- * created analysis
- *
- * @author Geneviève Bastien
- */
-public class TmfXmlAnalysisOutputSource implements ITmfNewAnalysisModuleListener {
-
- /** String separating data elements for the output properties */
- public static final String DATA_SEPARATOR = ";;;"; //$NON-NLS-1$
-
- /**
- * Enum to match the name of a view's XML element to its view ID.
- * @since 1.2
- */
- public static enum ViewType {
- /**
- * Time graph view element
- */
- TIME_GRAPH_VIEW(TmfXmlUiStrings.TIME_GRAPH_VIEW, XmlTimeGraphView.ID),
- /**
- * XY chart view element
- */
- XY_VIEW(TmfXmlUiStrings.XY_VIEW, XmlXYView.ID);
-
- private final @NonNull String fXmlElem;
- private final String fViewId;
-
- private ViewType(@NonNull String xmlElem, String viewId) {
- fXmlElem = xmlElem;
- fViewId = viewId;
- }
-
- /**
- * Get the XML element corresponding to this view type
- *
- * @return The XML element corresponding to this type
- */
- public @NonNull String getXmlElem() {
- return fXmlElem;
- }
-
- private String getViewId() {
- return fViewId;
- }
- }
-
-
- @Override
- public void moduleCreated(IAnalysisModule module) {
- IPath pathToFiles = XmlUtils.getXmlFilesPath();
- File fFolder = pathToFiles.toFile();
- if (!(fFolder.isDirectory() && fFolder.exists())) {
- return;
- }
- for (File xmlFile : fFolder.listFiles()) {
- if (!XmlUtils.xmlValidate(xmlFile).isOK()) {
- continue;
- }
-
- try {
- /* Load the XML File */
- DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
- DocumentBuilder dBuilder = dbFactory.newDocumentBuilder();
- Document doc = dBuilder.parse(xmlFile);
- doc.getDocumentElement().normalize();
-
- /* get state provider views if the analysis has state systems */
- if (module instanceof TmfStateSystemAnalysisModule) {
- for (ViewType viewType : ViewType.values()) {
- NodeList ssViewNodes = doc.getElementsByTagName(viewType.getXmlElem());
- for (int i = 0; i < ssViewNodes.getLength(); i++) {
- Element node = (Element) ssViewNodes.item(i);
-
- /* Check if analysis is the right one */
- List<Element> headNodes = XmlUtils.getChildElements(node, TmfXmlStrings.HEAD);
- if (headNodes.size() != 1) {
- continue;
- }
-
- List<Element> analysisNodes = XmlUtils.getChildElements(headNodes.get(0), TmfXmlStrings.ANALYSIS);
- for (Element analysis : analysisNodes) {
- String analysisId = analysis.getAttribute(TmfXmlStrings.ID);
- if (analysisId.equals(module.getId())) {
- String viewId = viewType.getViewId();
- IAnalysisOutput output = new TmfXmlViewOutput(viewId, viewType);
- output.setOutputProperty(TmfXmlUiStrings.XML_OUTPUT_DATA, node.getAttribute(TmfXmlStrings.ID) + DATA_SEPARATOR + xmlFile.getAbsolutePath(), false);
- module.registerOutput(output);
- }
- }
- }
- }
- }
- } catch (ParserConfigurationException | SAXException | IOException e) {
- Activator.logError("Error opening XML file", e); //$NON-NLS-1$
- }
- }
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.analysis.xml.ui/src/org/eclipse/linuxtools/tmf/analysis/xml/ui/module/TmfXmlViewOutput.java b/lttng/org.eclipse.linuxtools.tmf.analysis.xml.ui/src/org/eclipse/linuxtools/tmf/analysis/xml/ui/module/TmfXmlViewOutput.java
deleted file mode 100644
index 8fb18d619b..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.analysis.xml.ui/src/org/eclipse/linuxtools/tmf/analysis/xml/ui/module/TmfXmlViewOutput.java
+++ /dev/null
@@ -1,100 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 École Polytechnique de Montréal
- *
- * 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:
- * Geneviève Bastien - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.analysis.xml.ui.module;
-
-import java.util.List;
-
-import org.eclipse.jdt.annotation.NonNull;
-import org.eclipse.linuxtools.internal.tmf.analysis.xml.ui.TmfXmlUiStrings;
-import org.eclipse.linuxtools.tmf.analysis.xml.core.module.XmlUtils;
-import org.eclipse.linuxtools.tmf.analysis.xml.core.stateprovider.TmfXmlStrings;
-import org.eclipse.linuxtools.tmf.analysis.xml.ui.module.TmfXmlAnalysisOutputSource.ViewType;
-import org.eclipse.linuxtools.tmf.ui.analysis.TmfAnalysisViewOutput;
-import org.w3c.dom.Element;
-
-/**
- * Class overriding the default analysis view output for XML views. These views
- * may have labels defined in the XML element and those label will be used as
- * the name of the view
- *
- * @author Geneviève Bastien
- *
- * TODO: We shouldn't have to do a new class here, we should be able to
- * set the name in the parent instead
- */
-public class TmfXmlViewOutput extends TmfAnalysisViewOutput {
-
- private String fLabel = null;
- private final @NonNull ViewType fViewType;
-
- /**
- * Constructor
- *
- * @param viewid
- * id of the view to display as output
- */
- public TmfXmlViewOutput(String viewid) {
- this(viewid, ViewType.TIME_GRAPH_VIEW);
- }
-
- /**
- * Constructor
- *
- * @param viewid
- * id of the view to display as output
- * @param viewType
- * type of view this output is for
- * @since 1.2
- */
- public TmfXmlViewOutput(String viewid, @NonNull ViewType viewType) {
- super(viewid);
- fViewType = viewType;
- }
-
- @Override
- public String getName() {
- if (fLabel == null) {
- return super.getName();
- }
- return fLabel;
- }
-
- @Override
- public void setOutputProperty(@NonNull String key, String value, boolean immediate) {
- super.setOutputProperty(key, value, immediate);
- /* Find the label of the view */
- if (key.equals(TmfXmlUiStrings.XML_OUTPUT_DATA)) {
- String[] idFile = value.split(TmfXmlAnalysisOutputSource.DATA_SEPARATOR);
- String viewId = (idFile.length > 0) ? idFile[0] : null;
- String filePath = (idFile.length > 1) ? idFile[1] : null;
- if ((viewId == null) || (filePath == null)) {
- return;
- }
- Element viewElement = XmlUtils.getElementInFile(filePath, fViewType.getXmlElem(), viewId);
- if (viewElement == null) {
- return;
- }
- List<Element> heads = XmlUtils.getChildElements(viewElement, TmfXmlStrings.HEAD);
- if (heads.size() != 1) {
- return;
- }
- Element headElement = heads.get(0);
- List<Element> label = XmlUtils.getChildElements(headElement, TmfXmlStrings.LABEL);
- if (label.isEmpty()) {
- return;
- }
- Element labelElement = label.get(0);
- fLabel = labelElement.getAttribute(TmfXmlStrings.VALUE);
- }
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.analysis.xml.ui/src/org/eclipse/linuxtools/tmf/analysis/xml/ui/module/XmlAnalysisModuleSource.java b/lttng/org.eclipse.linuxtools.tmf.analysis.xml.ui/src/org/eclipse/linuxtools/tmf/analysis/xml/ui/module/XmlAnalysisModuleSource.java
deleted file mode 100644
index c7c1558208..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.analysis.xml.ui/src/org/eclipse/linuxtools/tmf/analysis/xml/ui/module/XmlAnalysisModuleSource.java
+++ /dev/null
@@ -1,161 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 École Polytechnique de Montréal
- *
- * 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:
- * Geneviève Bastien - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.analysis.xml.ui.module;
-
-import java.io.File;
-import java.io.FileNotFoundException;
-import java.io.IOException;
-import java.net.URL;
-import java.util.ArrayList;
-import java.util.List;
-
-import javax.xml.parsers.DocumentBuilder;
-import javax.xml.parsers.DocumentBuilderFactory;
-import javax.xml.parsers.ParserConfigurationException;
-
-import org.eclipse.core.runtime.FileLocator;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.ISafeRunnable;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.SafeRunner;
-import org.eclipse.linuxtools.internal.tmf.analysis.xml.ui.Activator;
-import org.eclipse.linuxtools.tmf.analysis.xml.core.module.XmlUtils;
-import org.eclipse.linuxtools.tmf.analysis.xml.core.stateprovider.TmfXmlStrings;
-import org.eclipse.linuxtools.tmf.analysis.xml.ui.module.TmfAnalysisModuleHelperXml.XmlAnalysisModuleType;
-import org.eclipse.linuxtools.tmf.core.analysis.IAnalysisModuleHelper;
-import org.eclipse.linuxtools.tmf.core.analysis.IAnalysisModuleSource;
-import org.eclipse.linuxtools.tmf.core.analysis.TmfAnalysisManager;
-import org.osgi.framework.Bundle;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.NodeList;
-import org.xml.sax.SAXException;
-
-/**
- * Analysis module source who creates helpers for the analysis modules described
- * in the imported XML files
- *
- * @author Geneviève Bastien
- * @since 3.0
- */
-public class XmlAnalysisModuleSource implements IAnalysisModuleSource {
-
- /** Extension point ID */
- private static final String TMF_XML_BUILTIN_ID = "org.eclipse.linuxtools.tmf.analysis.xml.core.files"; //$NON-NLS-1$
- private static final String XML_FILE_ELEMENT = "xmlfile"; //$NON-NLS-1$
-
- private static final String XML_FILE_ATTRIB = "file"; //$NON-NLS-1$
-
- private static List<IAnalysisModuleHelper> fModules = null;
-
- /**
- * Constructor. It adds the new module listener to the analysis manager.
- */
- public XmlAnalysisModuleSource() {
- TmfAnalysisManager.addNewModuleListener(new TmfXmlAnalysisOutputSource());
- }
-
- @Override
- public synchronized Iterable<IAnalysisModuleHelper> getAnalysisModules() {
- if (fModules == null) {
- fModules = new ArrayList<>();
- populateBuiltinModules();
- populateAnalysisModules();
- }
- return fModules;
- }
-
- private static void processFile(File xmlFile) {
- if (!XmlUtils.xmlValidate(xmlFile).isOK()) {
- return;
- }
-
- try {
- /* Load the XML File */
- DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
- DocumentBuilder dBuilder = dbFactory.newDocumentBuilder();
- Document doc = dBuilder.parse(xmlFile);
- doc.getDocumentElement().normalize();
-
- /* get State Providers modules */
- NodeList stateproviderNodes = doc.getElementsByTagName(TmfXmlStrings.STATE_PROVIDER);
- for (int i = 0; i < stateproviderNodes.getLength(); i++) {
- Element node = (Element) stateproviderNodes.item(i);
-
- IAnalysisModuleHelper helper = new TmfAnalysisModuleHelperXml(xmlFile, node, XmlAnalysisModuleType.STATE_SYSTEM);
- fModules.add(helper);
- }
- } catch (ParserConfigurationException | SAXException | IOException e) {
- Activator.logError("Error opening XML file", e); //$NON-NLS-1$
- }
- }
-
- private static void populateBuiltinModules() {
- /* Get the XML files advertised through the extension point */
- IConfigurationElement[] elements = Platform.getExtensionRegistry().getConfigurationElementsFor(TMF_XML_BUILTIN_ID);
- for (IConfigurationElement element : elements) {
- if (element.getName().equals(XML_FILE_ELEMENT)) {
- final String filename = element.getAttribute(XML_FILE_ATTRIB);
- final String name = element.getContributor().getName();
- // Run this in a safe runner in case there is an exception
- // (IOException, FileNotFoundException, NPE, etc).
- // This makes sure other extensions are not prevented from
- // working if one is faulty.
- SafeRunner.run(new ISafeRunnable() {
-
- @Override
- public void run() throws Exception {
- if (name != null) {
- Bundle bundle = Platform.getBundle(name);
- if (bundle != null) {
- URL xmlUrl = bundle.getResource(filename);
- if (xmlUrl == null) {
- throw new FileNotFoundException(filename);
- }
- URL locatedURL = FileLocator.toFileURL(xmlUrl);
- processFile(new File(locatedURL.getFile()));
- }
- }
- }
-
- @Override
- public void handleException(Throwable exception) {
- // Handled sufficiently in SafeRunner
- }
- });
- }
- }
- }
-
- private static void populateAnalysisModules() {
- IPath pathToFiles = XmlUtils.getXmlFilesPath();
- File fFolder = pathToFiles.toFile();
- if (!(fFolder.isDirectory() && fFolder.exists())) {
- return;
- }
- for (File xmlFile : fFolder.listFiles()) {
- processFile(xmlFile);
- }
- }
-
- /**
- * Notifies the main XML analysis module that the executable modules list
- * may have changed and needs to be refreshed.
- */
- public static void notifyModuleChange() {
- fModules = null;
- TmfAnalysisManager.refreshModules();
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.analysis.xml.ui/src/org/eclipse/linuxtools/tmf/analysis/xml/ui/module/messages.properties b/lttng/org.eclipse.linuxtools.tmf.analysis.xml.ui/src/org/eclipse/linuxtools/tmf/analysis/xml/ui/module/messages.properties
deleted file mode 100644
index 3059e008b1..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.analysis.xml.ui/src/org/eclipse/linuxtools/tmf/analysis/xml/ui/module/messages.properties
+++ /dev/null
@@ -1,12 +0,0 @@
-###############################################################################
-# Copyright (c) 2014 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:
-# Ericsson - Initial API and implementation
-###############################################################################
-ImportXmlHandler_ImportXmlFile=Import XML analysis file
diff --git a/lttng/org.eclipse.linuxtools.tmf.analysis.xml.ui/src/org/eclipse/linuxtools/tmf/analysis/xml/ui/views/timegraph/Messages.java b/lttng/org.eclipse.linuxtools.tmf.analysis.xml.ui/src/org/eclipse/linuxtools/tmf/analysis/xml/ui/views/timegraph/Messages.java
deleted file mode 100644
index 700937ce15..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.analysis.xml.ui/src/org/eclipse/linuxtools/tmf/analysis/xml/ui/views/timegraph/Messages.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 École Polytechnique de Montréal
- *
- * 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:
- * Geneviève Bastien - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.analysis.xml.ui.views.timegraph;
-
-import org.eclipse.osgi.util.NLS;
-
-/**
- * Message for the XML state system view
- *
- * @author Geneviève Bastien
- */
-@SuppressWarnings("javadoc")
-public class Messages extends NLS {
- private static final String BUNDLE_NAME = "org.eclipse.linuxtools.tmf.analysis.xml.ui.views.timegraph.messages"; //$NON-NLS-1$
-
- public static String XmlPresentationProvider_MultipleStates;
-
- /* Default text messages */
- public static String XmlTimeGraphView_ColumnId;
- public static String XmlTimeGraphView_ColumnName;
- public static String XmlTimeGraphView_ColumnParentId;
- public static String XmlTimeGraphView_DefaultTitle;
-
- /* Text and tooltips of the view */
- public static String XmlTimeGraphView_NextText;
- public static String XmlTimeGraphView_NextTooltip;
- public static String XmlTimeGraphView_PreviousInterval;
- public static String XmlTimeGraphView_PreviousText;
-
- /* Errors and warnings messages */
- public static String XmlTimeGraphView_UselessEndPath;
- static {
- // initialize resource bundle
- NLS.initializeMessages(BUNDLE_NAME, Messages.class);
- }
-
- private Messages() {
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.analysis.xml.ui/src/org/eclipse/linuxtools/tmf/analysis/xml/ui/views/timegraph/XmlEntry.java b/lttng/org.eclipse.linuxtools.tmf.analysis.xml.ui/src/org/eclipse/linuxtools/tmf/analysis/xml/ui/views/timegraph/XmlEntry.java
deleted file mode 100644
index 684b30627d..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.analysis.xml.ui/src/org/eclipse/linuxtools/tmf/analysis/xml/ui/views/timegraph/XmlEntry.java
+++ /dev/null
@@ -1,272 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 École Polytechnique de Montréal
- *
- * 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:
- * Florian Wininger - Initial API and implementation
- * Geneviève Bastien - Review of the initial implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.analysis.xml.ui.views.timegraph;
-
-import java.util.Collections;
-import java.util.List;
-
-import org.eclipse.jdt.annotation.NonNull;
-import org.eclipse.linuxtools.internal.tmf.analysis.xml.ui.TmfXmlUiStrings;
-import org.eclipse.linuxtools.statesystem.core.ITmfStateSystem;
-import org.eclipse.linuxtools.statesystem.core.exceptions.AttributeNotFoundException;
-import org.eclipse.linuxtools.statesystem.core.exceptions.StateSystemDisposedException;
-import org.eclipse.linuxtools.statesystem.core.interval.ITmfStateInterval;
-import org.eclipse.linuxtools.tmf.analysis.xml.core.model.ITmfXmlModelFactory;
-import org.eclipse.linuxtools.tmf.analysis.xml.core.model.ITmfXmlStateAttribute;
-import org.eclipse.linuxtools.tmf.analysis.xml.core.model.TmfXmlLocation;
-import org.eclipse.linuxtools.tmf.analysis.xml.core.model.readonly.TmfXmlReadOnlyModelFactory;
-import org.eclipse.linuxtools.tmf.analysis.xml.core.module.IXmlStateSystemContainer;
-import org.eclipse.linuxtools.tmf.analysis.xml.core.module.XmlUtils;
-import org.eclipse.linuxtools.tmf.core.trace.ITmfTrace;
-import org.eclipse.linuxtools.tmf.ui.widgets.timegraph.model.TimeGraphEntry;
-import org.w3c.dom.Element;
-
-/**
- * An XML-defined entry, or row, to display in the XML state system view
- *
- * @author Florian Wininger
- */
-public class XmlEntry extends TimeGraphEntry implements IXmlStateSystemContainer {
-
- private static final String EMPTY_STRING = ""; //$NON-NLS-1$
-
- /** Type of resource */
- public static enum EntryDisplayType {
- /** Entries without events to display (filler rows, etc.) */
- NULL,
- /** Entries with time events */
- DISPLAY
- }
-
- private final ITmfTrace fTrace;
- private final EntryDisplayType fType;
- private final int fBaseQuark;
- private final int fDisplayQuark;
- private final String fParentId;
- private final String fId;
- private final @NonNull ITmfStateSystem fSs;
- private final Element fElement;
-
- /**
- * Constructor
- *
- * @param baseQuark
- * The quark matching this entry, or <code>-1</code> if no quark
- * @param displayQuark
- * The quark containing the value to display. It was needed by
- * the caller to get the start and end time of this entry, so we
- * receive it as parameter from him.
- * @param trace
- * The trace on which we are working (FIXME: is this parameter
- * useful?)
- * @param name
- * The name of this entry. It will be overridden if a "name" XML
- * tag is specified in the entryElement. It will also be used as
- * the ID of this entry if no "id" XML tag is specified. It
- * typically is the attribute name corresponding the the base
- * quark.
- * @param startTime
- * The start time of this entry lifetime
- * @param endTime
- * The end time of this entry
- * @param type
- * The display type of this entry
- * @param ss
- * The state system this entry belongs to
- * @param entryElement
- * The XML element describing this entry. This element will be
- * used to determine, if available, the parent, ID, name and
- * other display option of this entry
- */
- public XmlEntry(int baseQuark, int displayQuark, ITmfTrace trace, String name, long startTime, long endTime, EntryDisplayType type, @NonNull ITmfStateSystem ss, Element entryElement) {
- super(name, startTime, endTime);
- fTrace = trace;
- fType = type;
- fBaseQuark = baseQuark;
- fDisplayQuark = displayQuark;
- fSs = ss;
- fElement = entryElement;
-
- /* Get the parent if specified */
- List<Element> elements = XmlUtils.getChildElements(fElement, TmfXmlUiStrings.PARENT_ELEMENT);
- if (elements.size() > 0) {
- fParentId = getFirstValue(elements.get(0));
- } else {
- fParentId = EMPTY_STRING;
- }
-
- /* Get the name of this entry */
- elements = XmlUtils.getChildElements(fElement, TmfXmlUiStrings.NAME_ELEMENT);
- if (elements.size() > 0) {
- String nameFromSs = getFirstValue(elements.get(0));
- if (!nameFromSs.isEmpty()) {
- setName(nameFromSs);
- }
- }
-
- /* Get the id of this entry */
- elements = XmlUtils.getChildElements(fElement, TmfXmlUiStrings.ID_ELEMENT);
- if (elements.size() > 0) {
- fId = getFirstValue(elements.get(0));
- } else {
- fId = name;
- }
-
- }
-
- /**
- * Constructor
- *
- * @param baseQuark
- * The quark matching this entry, or <code>-1</code> if no quark
- * @param trace
- * The trace on which we are working
- * @param name
- * The exec_name of this entry
- * @param ss
- * The state system this entry belongs to
- */
- public XmlEntry(int baseQuark, ITmfTrace trace, String name, @NonNull ITmfStateSystem ss) {
- super(name, ss.getStartTime(), ss.getCurrentEndTime());
- fTrace = trace;
- fType = EntryDisplayType.NULL;
- fBaseQuark = baseQuark;
- fDisplayQuark = baseQuark;
- fSs = ss;
- fElement = null;
- fParentId = EMPTY_STRING;
- fId = name;
- }
-
- /** Return the state value of the first interval with a non-null value */
- private String getFirstValue(Element stateAttribute) {
- ITmfXmlModelFactory factory = TmfXmlReadOnlyModelFactory.getInstance();
- ITmfXmlStateAttribute display = factory.createStateAttribute(stateAttribute, this);
- int quark = display.getAttributeQuark(fBaseQuark);
- if (quark != IXmlStateSystemContainer.ERROR_QUARK) {
- try {
- /* Find the first attribute with a parent */
- List<ITmfStateInterval> execNameIntervals = fSs.queryHistoryRange(quark, getStartTime(), getEndTime());
- for (ITmfStateInterval execNameInterval : execNameIntervals) {
-
- if (!execNameInterval.getStateValue().isNull()) {
- return execNameInterval.getStateValue().toString();
- }
- }
- } catch (AttributeNotFoundException | StateSystemDisposedException e) {
- }
- }
- return EMPTY_STRING;
- }
-
- /**
- * Get the trace this entry was taken from
- *
- * @return the entry's trace
- */
- public ITmfTrace getTrace() {
- return fTrace;
- }
-
- /**
- * Get the entry Type of this entry. Uses the inner EntryDisplayType enum.
- *
- * @return The entry type
- */
- public EntryDisplayType getType() {
- return fType;
- }
-
- /**
- * Get the quark from which to get the time event intervals for this entry.
- *
- * @return The attribute quark containing the intervals to display
- */
- public int getDisplayQuark() {
- return fDisplayQuark;
- }
-
- /**
- * Get this entry's ID
- *
- * @return The id of the entry.
- */
- public String getId() {
- return fId;
- }
-
- /**
- * Return the entry's parent ID. It corresponds to another entry's ID
- * received from the {@link #getId()} method.
- *
- * @return The parent ID of this entry
- */
- public String getParentId() {
- return fParentId;
- }
-
- @Override
- public boolean hasTimeEvents() {
- if (fType == EntryDisplayType.NULL) {
- return false;
- }
- return true;
- }
-
- /**
- * Add a child to this entry of type XmlEntry
- *
- * @param entry
- * The entry to add
- */
- public void addChild(XmlEntry entry) {
- int index;
- for (index = 0; index < getChildren().size(); index++) {
- XmlEntry other = (XmlEntry) getChildren().get(index);
- if (entry.getType().compareTo(other.getType()) < 0) {
- break;
- } else if (entry.getType().equals(other.getType())) {
- if (entry.getName().compareTo(other.getName()) < 0) {
- break;
- }
- }
- }
-
- entry.setParent(this);
- addChild(index, entry);
- }
-
- /**
- * Return the state system this entry is associated to
- *
- * @return The state system, or <code>null</code> if the state system can't
- * be found.
- */
- @Override
- @NonNull
- public ITmfStateSystem getStateSystem() {
- return fSs;
- }
-
- @Override
- public String getAttributeValue(String name) {
- return name;
- }
-
- @Override
- public Iterable<TmfXmlLocation> getLocations() {
- return Collections.EMPTY_SET;
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.analysis.xml.ui/src/org/eclipse/linuxtools/tmf/analysis/xml/ui/views/timegraph/XmlPresentationProvider.java b/lttng/org.eclipse.linuxtools.tmf.analysis.xml.ui/src/org/eclipse/linuxtools/tmf/analysis/xml/ui/views/timegraph/XmlPresentationProvider.java
deleted file mode 100644
index 6d41049bf8..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.analysis.xml.ui/src/org/eclipse/linuxtools/tmf/analysis/xml/ui/views/timegraph/XmlPresentationProvider.java
+++ /dev/null
@@ -1,220 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 École Polytechnique de Montréal
- *
- * 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:
- * Florian Wininger - Initial API and implementation
- * Geneviève Bastien - Review of the initial implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.analysis.xml.ui.views.timegraph;
-
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.jdt.annotation.NonNull;
-import org.eclipse.linuxtools.internal.tmf.analysis.xml.ui.TmfXmlUiStrings;
-import org.eclipse.linuxtools.tmf.analysis.xml.core.module.XmlUtils;
-import org.eclipse.linuxtools.tmf.analysis.xml.core.stateprovider.TmfXmlStrings;
-import org.eclipse.linuxtools.tmf.analysis.xml.ui.views.timegraph.XmlEntry.EntryDisplayType;
-import org.eclipse.linuxtools.tmf.ui.widgets.timegraph.StateItem;
-import org.eclipse.linuxtools.tmf.ui.widgets.timegraph.TimeGraphPresentationProvider;
-import org.eclipse.linuxtools.tmf.ui.widgets.timegraph.model.ITimeEvent;
-import org.eclipse.linuxtools.tmf.ui.widgets.timegraph.model.ITimeGraphEntry;
-import org.eclipse.linuxtools.tmf.ui.widgets.timegraph.model.TimeEvent;
-import org.eclipse.swt.graphics.GC;
-import org.eclipse.swt.graphics.RGB;
-import org.eclipse.swt.graphics.Rectangle;
-import org.eclipse.swt.widgets.Display;
-import org.w3c.dom.Element;
-
-/**
- * Presentation provider for the XML view, based on the generic TMF presentation
- * provider.
- *
- * TODO: This should support colors/states defined for each entry element in the
- * XML element. Also, event values may not be integers only (for instance, this
- * wouldn't support yet the callstack view)
- *
- * @author Florian Wininger
- */
-public class XmlPresentationProvider extends TimeGraphPresentationProvider {
-
- private List<StateItem> stateValues = new ArrayList<>();
- /*
- * Maps the value of an event with the corresponding index in the
- * stateValues list
- */
- private Map<Integer, Integer> stateIndex = new HashMap<>();
-
- @Override
- public int getStateTableIndex(ITimeEvent event) {
- if (event instanceof TimeEvent && ((TimeEvent) event).hasValue()) {
- TimeEvent tcEvent = (TimeEvent) event;
-
- XmlEntry entry = (XmlEntry) event.getEntry();
- int value = tcEvent.getValue();
-
- if (entry.getType() == EntryDisplayType.DISPLAY) {
- Integer index = stateIndex.get(value);
- if (index == null) {
- /* Colors won't be refreshed yet, return something known */
- index = TRANSPARENT;
- stateIndex.put(value, stateValues.size());
- StateItem item = new StateItem(calcColor(stateValues.size()), String.valueOf(value));
- stateValues.add(item);
- Display.getDefault().asyncExec(new Runnable() {
- @Override
- public void run() {
- fireColorSettingsChanged();
- }
- });
- }
- return index;
- }
- }
-
- return INVISIBLE;
- }
-
- @Override
- public StateItem[] getStateTable() {
- return stateValues.toArray(new StateItem[stateValues.size()]);
- }
-
- @Override
- public String getEventName(ITimeEvent event) {
- if (event instanceof TimeEvent && ((TimeEvent) event).hasValue()) {
- TimeEvent tcEvent = (TimeEvent) event;
-
- XmlEntry entry = (XmlEntry) event.getEntry();
- int value = tcEvent.getValue();
-
- if (entry.getType() == EntryDisplayType.DISPLAY) {
- Integer index = stateIndex.get(value);
- String rgb = stateValues.get(index).getStateString();
- return rgb;
- }
- return null;
- }
- return Messages.XmlPresentationProvider_MultipleStates;
- }
-
- @Override
- public Map<String, String> getEventHoverToolTipInfo(ITimeEvent event, long hoverTime) {
- /*
- * TODO: Add the XML elements to support adding extra information in the
- * tooltips and implement this
- */
- return Collections.EMPTY_MAP;
- }
-
- @Override
- public void postDrawEvent(ITimeEvent event, Rectangle bounds, GC gc) {
- /*
- * TODO Add the XML elements to support texts in intervals and implement
- * this
- */
- }
-
- @Override
- public void postDrawEntry(ITimeGraphEntry entry, Rectangle bounds, GC gc) {
- }
-
- /**
- * Loads the states from a {@link TmfXmlUiStrings#TIME_GRAPH_VIEW} XML
- * element
- *
- * @param viewElement
- * The XML view element
- */
- public void loadNewStates(@NonNull Element viewElement) {
- stateValues.clear();
- stateIndex.clear();
- List<Element> states = XmlUtils.getChildElements(viewElement, TmfXmlStrings.DEFINED_VALUE);
-
- for (Element state : states) {
- int value = Integer.parseInt(state.getAttribute(TmfXmlStrings.VALUE));
- String name = state.getAttribute(TmfXmlStrings.NAME);
- String color = state.getAttribute(TmfXmlStrings.COLOR);
-
- // FIXME Allow this case
- if (value < 0) {
- return;
- }
-
- RGB colorRGB = new RGB(255, 0, 0);
- if (color.startsWith(TmfXmlStrings.COLOR_PREFIX)) {
- Integer hex = Integer.parseInt(color.substring(1), 16);
- int hex1 = hex.intValue() % 256;
- int hex2 = (hex.intValue() / 256) % 256;
- int hex3 = (hex.intValue() / (256 * 256)) % 256;
- colorRGB = new RGB(hex3, hex2, hex1);
- } else {
- colorRGB = calcColor(value);
- }
-
- StateItem item = new StateItem(colorRGB, name);
-
- Integer index = stateIndex.get(value);
- if (index == null) {
- /* Add the new state value */
- stateIndex.put(value, stateValues.size());
- stateValues.add(item);
- } else {
- /* Override a previous state value */
- stateValues.set(index, item);
- }
- }
- Display.getDefault().asyncExec(new Runnable() {
- @Override
- public void run() {
- fireColorSettingsChanged();
- }
- });
- }
-
- private static RGB calcColor(int value) {
- int x = (value * 97) % 1530;
- int r = 0, g = 0, b = 0;
- if (x >= 0 && x < 255) {
- r = 255;
- g = x;
- b = 0;
- }
- if (x >= 255 && x < 510) {
- r = 510 - x;
- g = 255;
- b = 0;
- }
- if (x >= 510 && x < 765) {
- r = 0;
- g = 255;
- b = x - 510;
- }
- if (x >= 765 && x < 1020) {
- r = 0;
- g = 1020 - x;
- b = 255;
- }
- if (x >= 1020 && x < 1275) {
- r = x - 1020;
- g = 0;
- b = 255;
- }
- if (x >= 1275 && x <= 1530) {
- r = 255;
- g = 0;
- b = 1530 - x;
- }
- return new RGB(r, g, b);
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.analysis.xml.ui/src/org/eclipse/linuxtools/tmf/analysis/xml/ui/views/timegraph/XmlTimeGraphView.java b/lttng/org.eclipse.linuxtools.tmf.analysis.xml.ui/src/org/eclipse/linuxtools/tmf/analysis/xml/ui/views/timegraph/XmlTimeGraphView.java
deleted file mode 100644
index 6c75602a95..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.analysis.xml.ui/src/org/eclipse/linuxtools/tmf/analysis/xml/ui/views/timegraph/XmlTimeGraphView.java
+++ /dev/null
@@ -1,517 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 École Polytechnique de Montréal
- *
- * 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:
- * Florian Wininger - Initial API and implementation
- * Geneviève Bastien - Review of the initial implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.analysis.xml.ui.views.timegraph;
-
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.Comparator;
-import java.util.HashMap;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-import java.util.TreeSet;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.jdt.annotation.NonNull;
-import org.eclipse.jface.util.IPropertyChangeListener;
-import org.eclipse.jface.util.PropertyChangeEvent;
-import org.eclipse.linuxtools.internal.tmf.analysis.xml.ui.Activator;
-import org.eclipse.linuxtools.internal.tmf.analysis.xml.ui.TmfXmlUiStrings;
-import org.eclipse.linuxtools.internal.tmf.analysis.xml.ui.views.XmlViewInfo;
-import org.eclipse.linuxtools.statesystem.core.ITmfStateSystem;
-import org.eclipse.linuxtools.statesystem.core.exceptions.AttributeNotFoundException;
-import org.eclipse.linuxtools.statesystem.core.exceptions.StateSystemDisposedException;
-import org.eclipse.linuxtools.statesystem.core.exceptions.StateValueTypeException;
-import org.eclipse.linuxtools.statesystem.core.exceptions.TimeRangeException;
-import org.eclipse.linuxtools.statesystem.core.interval.ITmfStateInterval;
-import org.eclipse.linuxtools.tmf.analysis.xml.core.model.ITmfXmlModelFactory;
-import org.eclipse.linuxtools.tmf.analysis.xml.core.model.ITmfXmlStateAttribute;
-import org.eclipse.linuxtools.tmf.analysis.xml.core.model.readonly.TmfXmlReadOnlyModelFactory;
-import org.eclipse.linuxtools.tmf.analysis.xml.core.module.IXmlStateSystemContainer;
-import org.eclipse.linuxtools.tmf.analysis.xml.core.module.XmlUtils;
-import org.eclipse.linuxtools.tmf.analysis.xml.core.stateprovider.TmfXmlStrings;
-import org.eclipse.linuxtools.tmf.analysis.xml.ui.views.timegraph.XmlEntry.EntryDisplayType;
-import org.eclipse.linuxtools.tmf.core.statesystem.ITmfAnalysisModuleWithStateSystems;
-import org.eclipse.linuxtools.tmf.core.statesystem.TmfStateSystemAnalysisModule;
-import org.eclipse.linuxtools.tmf.core.trace.ITmfTrace;
-import org.eclipse.linuxtools.tmf.core.trace.TmfTraceManager;
-import org.eclipse.linuxtools.tmf.ui.views.timegraph.AbstractTimeGraphView;
-import org.eclipse.linuxtools.tmf.ui.widgets.timegraph.ITimeGraphPresentationProvider2;
-import org.eclipse.linuxtools.tmf.ui.widgets.timegraph.model.ILinkEvent;
-import org.eclipse.linuxtools.tmf.ui.widgets.timegraph.model.ITimeEvent;
-import org.eclipse.linuxtools.tmf.ui.widgets.timegraph.model.ITimeGraphEntry;
-import org.eclipse.linuxtools.tmf.ui.widgets.timegraph.model.NullTimeEvent;
-import org.eclipse.linuxtools.tmf.ui.widgets.timegraph.model.TimeEvent;
-import org.eclipse.linuxtools.tmf.ui.widgets.timegraph.model.TimeGraphEntry;
-import org.eclipse.swt.widgets.Display;
-import org.w3c.dom.Element;
-
-/**
- * This view displays state system data in a time graph view. It uses an XML
- * {@link TmfXmlUiStrings#TIME_GRAPH_VIEW} element from an XML file. This
- * element defines which entries from the state system will be shown and also
- * gives additional information on the presentation of the view (states, colors,
- * etc)
- *
- * @author Florian Wininger
- */
-public class XmlTimeGraphView extends AbstractTimeGraphView {
-
- /** View ID. */
- public static final @NonNull String ID = "org.eclipse.linuxtools.tmf.analysis.xml.ui.views.timegraph"; //$NON-NLS-1$
-
- private static final String[] DEFAULT_COLUMN_NAMES = new String[] {
- Messages.XmlTimeGraphView_ColumnName,
- Messages.XmlTimeGraphView_ColumnId,
- Messages.XmlTimeGraphView_ColumnParentId,
- };
-
- private static final String[] DEFAULT_FILTER_COLUMN_NAMES = new String[] {
- Messages.XmlTimeGraphView_ColumnName,
- Messages.XmlTimeGraphView_ColumnId
- };
-
- /** The relative weight of the sash */
- private static final int[] fWeight = { 1, 2 };
-
- private static final String EMPTY_STRING = ""; //$NON-NLS-1$
- private static final String SPLIT_STRING = "/"; //$NON-NLS-1$
-
- private final @NonNull XmlViewInfo fViewInfo = new XmlViewInfo(ID);
- private final ITmfXmlModelFactory fFactory;
-
- // ------------------------------------------------------------------------
- // Constructors
- // ------------------------------------------------------------------------
-
- /**
- * Default constructor
- */
- public XmlTimeGraphView() {
- super(ID, new XmlPresentationProvider());
- setWeight(fWeight);
- setTreeColumns(DEFAULT_COLUMN_NAMES);
- setTreeLabelProvider(new XmlTreeLabelProvider());
- setFilterColumns(DEFAULT_FILTER_COLUMN_NAMES);
- setFilterLabelProvider(new XmlTreeLabelProvider());
- setEntryComparator(new XmlEntryComparator());
- this.addPartPropertyListener(new IPropertyChangeListener() {
- @Override
- public void propertyChange(PropertyChangeEvent event) {
- if (event.getProperty().equals(TmfXmlUiStrings.XML_OUTPUT_DATA)) {
- Object newValue = event.getNewValue();
- if (newValue instanceof String) {
- String data = (String) newValue;
- fViewInfo.setViewData(data);
- loadNewXmlView();
- }
- }
- }
- });
-
- fFactory = TmfXmlReadOnlyModelFactory.getInstance();
- }
-
- private void loadNewXmlView() {
- rebuild();
- }
-
- private void setViewTitle(final String title) {
- Display.getDefault().asyncExec(new Runnable() {
- @Override
- public void run() {
- setPartName(title);
- }
- });
-
- }
-
- @Override
- protected String getNextText() {
- return Messages.XmlTimeGraphView_NextText;
- }
-
- @Override
- protected String getNextTooltip() {
- return Messages.XmlTimeGraphView_NextTooltip;
- }
-
- @Override
- protected String getPrevText() {
- return Messages.XmlTimeGraphView_PreviousText;
- }
-
- @Override
- protected String getPrevTooltip() {
- return Messages.XmlTimeGraphView_PreviousInterval;
- }
-
- /**
- * Default label provider, it shows name, id and parent columns
- *
- * TODO: There should be a way to define columns in the XML
- * */
- private static class XmlTreeLabelProvider extends TreeLabelProvider {
-
- @Override
- public String getColumnText(Object element, int columnIndex) {
- XmlEntry entry = (XmlEntry) element;
-
- if (DEFAULT_COLUMN_NAMES[columnIndex].equals(Messages.XmlTimeGraphView_ColumnName)) {
- return entry.getName();
- } else if (DEFAULT_COLUMN_NAMES[columnIndex].equals(Messages.XmlTimeGraphView_ColumnId)) {
- return entry.getId();
- } else if (DEFAULT_COLUMN_NAMES[columnIndex].equals(Messages.XmlTimeGraphView_ColumnParentId)) {
- return entry.getParentId();
- }
- return EMPTY_STRING;
- }
-
- }
-
- private static class XmlEntryComparator implements Comparator<ITimeGraphEntry> {
-
- @Override
- public int compare(ITimeGraphEntry o1, ITimeGraphEntry o2) {
-
- int result = 0;
-
- if ((o1 instanceof XmlEntry) && (o2 instanceof XmlEntry)) {
- XmlEntry entry1 = (XmlEntry) o1;
- XmlEntry entry2 = (XmlEntry) o2;
- result = entry1.getTrace().getStartTime().compareTo(entry2.getTrace().getStartTime());
- if (result == 0) {
- result = entry1.getTrace().getName().compareTo(entry2.getTrace().getName());
- }
- if (result == 0) {
- result = entry1.getName().compareTo(entry2.getName());
- }
- }
-
- if (result == 0) {
- result = o1.getStartTime() < o2.getStartTime() ? -1 : o1.getStartTime() > o2.getStartTime() ? 1 : 0;
- }
-
- return result;
- }
- }
-
- // ------------------------------------------------------------------------
- // Internal
- // ------------------------------------------------------------------------
-
- @Override
- protected void buildEventList(ITmfTrace trace, ITmfTrace parentTrace, IProgressMonitor monitor) {
-
- /*
- * Get the view element from the XML file. If the element can't be
- * found, return.
- */
- Element viewElement = fViewInfo.getViewElement(TmfXmlUiStrings.TIME_GRAPH_VIEW);
- if (viewElement == null) {
- return;
- }
- ITimeGraphPresentationProvider2 pres = this.getPresentationProvider();
- if (pres instanceof XmlPresentationProvider) {
- /*
- * TODO: Each entry of a line could have their own states/color.
- * That will require an update to the presentation provider
- */
- ((XmlPresentationProvider) pres).loadNewStates(viewElement);
- }
-
- String title = fViewInfo.getViewTitle(viewElement);
- if (title == null) {
- title = Messages.XmlTimeGraphView_DefaultTitle;
- }
- setViewTitle(title);
- Set<String> analysisIds = fViewInfo.getViewAnalysisIds(viewElement);
-
- List<Element> entries = XmlUtils.getChildElements(viewElement, TmfXmlUiStrings.ENTRY_ELEMENT);
- Set<XmlEntry> entryList = new TreeSet<>(getEntryComparator());
- for (ITmfTrace aTrace : TmfTraceManager.getTraceSet(trace)) {
- if (monitor.isCanceled()) {
- return;
- }
-
- List<ITmfAnalysisModuleWithStateSystems> stateSystemModules = new LinkedList<>();
- if (analysisIds.isEmpty()) {
- /*
- * No analysis specified, take all state system analysis modules
- */
- for (ITmfAnalysisModuleWithStateSystems module : aTrace.getAnalysisModulesOfClass(ITmfAnalysisModuleWithStateSystems.class)) {
- stateSystemModules.add(module);
- }
- } else {
- for (String moduleId : analysisIds) {
- ITmfAnalysisModuleWithStateSystems module = aTrace.getAnalysisModuleOfClass(ITmfAnalysisModuleWithStateSystems.class, moduleId);
- if (module != null) {
- stateSystemModules.add(module);
- }
- }
- }
-
- for (ITmfAnalysisModuleWithStateSystems module : stateSystemModules) {
- IStatus status = module.schedule();
- if (status.isOK()) {
- if (module instanceof TmfStateSystemAnalysisModule) {
- ((TmfStateSystemAnalysisModule) module).waitForInitialization();
- }
- for (ITmfStateSystem ssq : module.getStateSystems()) {
- if (ssq == null) {
- return;
- }
- ssq.waitUntilBuilt();
-
- long startTime = ssq.getStartTime();
- long endTime = ssq.getCurrentEndTime();
- XmlEntry groupEntry = new XmlEntry(-1, aTrace, aTrace.getName(), ssq);
- entryList.add(groupEntry);
- setStartTime(Math.min(getStartTime(), startTime));
- setEndTime(Math.max(getEndTime(), endTime));
-
- /* Add children entry of this entry for each line */
- for (Element entry : entries) {
- buildEntry(entry, groupEntry, -1);
- }
- }
- } else {
- return;
- }
- }
- }
- putEntryList(trace, new ArrayList<TimeGraphEntry>(entryList));
-
- if (trace.equals(getTrace())) {
- refresh();
- }
- for (XmlEntry traceEntry : entryList) {
- if (monitor.isCanceled()) {
- return;
- }
- long startTime = traceEntry.getStateSystem().getStartTime();
- long endTime = traceEntry.getStateSystem().getCurrentEndTime() + 1;
- buildStatusEvent(traceEntry, monitor, startTime, endTime);
- }
- }
-
- private void buildEntry(Element entryElement, XmlEntry parentEntry, int baseQuark) {
- /* Get the attribute string to display */
- String path = entryElement.getAttribute(TmfXmlUiStrings.PATH);
- if (path.isEmpty()) {
- path = TmfXmlStrings.WILDCARD;
- }
-
- /*
- * Make sure the XML element has either a display attribute or entries,
- * otherwise issue a warning
- */
-
- List<Element> displayElements = XmlUtils.getChildElements(entryElement, TmfXmlUiStrings.DISPLAY_ELEMENT);
- List<Element> entryElements = XmlUtils.getChildElements(entryElement, TmfXmlUiStrings.ENTRY_ELEMENT);
-
- if (displayElements.isEmpty() && entryElements.isEmpty()) {
- Activator.logWarning(String.format("XML view: entry for %s should have either a display element or entry elements", path)); //$NON-NLS-1$
- return;
- }
-
- ITmfStateSystem ss = parentEntry.getStateSystem();
-
- /* Get the list of quarks to process with this path */
- String[] paths = path.split(SPLIT_STRING);
- int i = 0;
- List<Integer> quarks = Collections.singletonList(baseQuark);
-
- try {
- while (i < paths.length) {
- List<Integer> subQuarks = new LinkedList<>();
- /* Replace * by .* to have a regex string */
- String name = paths[i].replaceAll("\\*", ".*"); //$NON-NLS-1$ //$NON-NLS-2$
- for (int relativeQuark : quarks) {
- for (int quark : ss.getSubAttributes(relativeQuark, false, name)) {
- subQuarks.add(quark);
- }
- }
- quarks = subQuarks;
- i++;
- }
-
- /* Process each quark */
- XmlEntry currentEntry = parentEntry;
- Element displayElement = null;
- Map<String, XmlEntry> entryMap = new HashMap<>();
- if (!displayElements.isEmpty()) {
- displayElement = displayElements.get(0);
- }
- for (int quark : quarks) {
- currentEntry = parentEntry;
- /* Process the current entry, if specified */
- if (displayElement != null) {
- currentEntry = processEntry(entryElement, displayElement, parentEntry, quark, ss);
- entryMap.put(currentEntry.getId(), currentEntry);
- }
- /* Process the children entry of this entry */
- for (Element subEntryEl : entryElements) {
- buildEntry(subEntryEl, currentEntry, quark);
- }
- }
- if (!entryMap.isEmpty()) {
- buildTree(entryMap, parentEntry);
- }
- } catch (AttributeNotFoundException e) {
- }
- }
-
- private XmlEntry processEntry(@NonNull Element entryElement, @NonNull Element displayEl,
- XmlEntry parentEntry, int quark, ITmfStateSystem ss) {
- /*
- * Get the start time and end time of this entry from the display
- * attribute
- */
- ITmfXmlStateAttribute display = fFactory.createStateAttribute(displayEl, parentEntry);
- int displayQuark = display.getAttributeQuark(quark);
- if (displayQuark == IXmlStateSystemContainer.ERROR_QUARK) {
- return new XmlEntry(quark, parentEntry.getTrace(),
- String.format("Unknown display quark for %s", ss.getAttributeName(quark)), ss); //$NON-NLS-1$
- }
-
- long entryStart = ss.getStartTime();
- long entryEnd = ss.getCurrentEndTime();
-
- try {
-
- ITmfStateInterval oneInterval = ss.querySingleState(entryStart, displayQuark);
-
- /* The entry start is the first non-null interval */
- while (oneInterval.getStateValue().isNull()) {
- long ts = oneInterval.getEndTime() + 1;
- if (ts > ss.getCurrentEndTime()) {
- break;
- }
- oneInterval = ss.querySingleState(ts, displayQuark);
- }
- entryStart = oneInterval.getStartTime();
-
- /* The entry end is the last non-null interval */
- oneInterval = ss.querySingleState(entryEnd, displayQuark);
- while (oneInterval.getStateValue().isNull()) {
- long ts = oneInterval.getStartTime() - 1;
- if (ts < ss.getStartTime()) {
- break;
- }
- oneInterval = ss.querySingleState(ts, displayQuark);
- }
- entryEnd = oneInterval.getEndTime();
-
- } catch (AttributeNotFoundException | StateSystemDisposedException e) {
- }
-
- return new XmlEntry(quark, displayQuark, parentEntry.getTrace(), ss.getAttributeName(quark),
- entryStart, entryEnd, EntryDisplayType.DISPLAY, ss, entryElement);
- }
-
- private void buildStatusEvent(XmlEntry traceEntry, IProgressMonitor monitor, long start, long end) {
- long resolution = (end - start) / getDisplayWidth();
- long startTime = Math.max(start, traceEntry.getStartTime());
- long endTime = Math.min(end + 1, traceEntry.getEndTime());
- List<ITimeEvent> eventList = getEventList(traceEntry, startTime, endTime, resolution, monitor);
- if (monitor.isCanceled()) {
- return;
- }
- traceEntry.setEventList(eventList);
- redraw();
-
- for (ITimeGraphEntry entry : traceEntry.getChildren()) {
- if (monitor.isCanceled()) {
- return;
- }
- XmlEntry xmlEntry = (XmlEntry) entry;
- buildStatusEvent(xmlEntry, monitor, start, end);
- }
- }
-
- /** Build a tree using getParentId() and getId() */
- private static void buildTree(Map<String, XmlEntry> entryMap, XmlEntry rootEntry) {
- for (XmlEntry entry : entryMap.values()) {
- boolean root = true;
- if (!entry.getParentId().isEmpty()) {
- XmlEntry parent = entryMap.get(entry.getParentId());
- if (parent != null &&
- entry.getStartTime() >= parent.getStartTime() &&
- entry.getStartTime() <= parent.getEndTime()) {
- parent.addChild(entry);
- root = false;
- }
- }
- if (root) {
- rootEntry.addChild(entry);
- }
- }
- }
-
- @Override
- protected List<ITimeEvent> getEventList(TimeGraphEntry entry, long startTime, long endTime, long resolution, IProgressMonitor monitor) {
- if (!(entry instanceof XmlEntry)) {
- return Collections.EMPTY_LIST;
- }
- XmlEntry xmlEntry = (XmlEntry) entry;
- ITmfStateSystem ssq = xmlEntry.getStateSystem();
- final long realStart = Math.max(startTime, entry.getStartTime());
- final long realEnd = Math.min(endTime, entry.getEndTime());
- if (realEnd <= realStart) {
- return null;
- }
- List<ITimeEvent> eventList = null;
- int quark = xmlEntry.getDisplayQuark();
-
- try {
- if (xmlEntry.getType() == EntryDisplayType.DISPLAY) {
-
- List<ITmfStateInterval> statusIntervals = ssq.queryHistoryRange(quark, realStart, realEnd - 1, resolution, monitor);
- eventList = new ArrayList<>(statusIntervals.size());
- long lastEndTime = -1;
- for (ITmfStateInterval statusInterval : statusIntervals) {
- if (monitor.isCanceled()) {
- return null;
- }
- int status = statusInterval.getStateValue().unboxInt();
- long time = statusInterval.getStartTime();
- long duration = statusInterval.getEndTime() - time + 1;
- if (!statusInterval.getStateValue().isNull()) {
- if (lastEndTime != time && lastEndTime != -1) {
- eventList.add(new TimeEvent(entry, lastEndTime, time - lastEndTime));
- }
- eventList.add(new TimeEvent(entry, time, duration, status));
- } else if (lastEndTime == -1 || time + duration >= endTime) {
- // add null event if it intersects the start or end time
- eventList.add(new NullTimeEvent(entry, time, duration));
- }
- lastEndTime = time + duration;
- }
- }
- } catch (AttributeNotFoundException | TimeRangeException | StateValueTypeException | StateSystemDisposedException e) {
- /* Ignored */
- }
- return eventList;
- }
-
- @Override
- protected List<ILinkEvent> getLinkList(long startTime, long endTime, long resolution, IProgressMonitor monitor) {
- /* TODO: not implemented yet, need XML to go along */
- return Collections.EMPTY_LIST;
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.analysis.xml.ui/src/org/eclipse/linuxtools/tmf/analysis/xml/ui/views/timegraph/messages.properties b/lttng/org.eclipse.linuxtools.tmf.analysis.xml.ui/src/org/eclipse/linuxtools/tmf/analysis/xml/ui/views/timegraph/messages.properties
deleted file mode 100644
index 73b9566d2d..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.analysis.xml.ui/src/org/eclipse/linuxtools/tmf/analysis/xml/ui/views/timegraph/messages.properties
+++ /dev/null
@@ -1,10 +0,0 @@
-XmlPresentationProvider_MultipleStates=(multiple)
-XmlTimeGraphView_ColumnId=ID
-XmlTimeGraphView_ColumnName=Name
-XmlTimeGraphView_ColumnParentId=ParentID
-XmlTimeGraphView_DefaultTitle=Xml State Provider
-XmlTimeGraphView_NextText=Next Interval
-XmlTimeGraphView_NextTooltip=Select next interval in time graph
-XmlTimeGraphView_PreviousInterval=Select previous interval in time graph
-XmlTimeGraphView_PreviousText=Previous Interval
-XmlTimeGraphView_UselessEndPath=There should be an XML <entry > for path {0} in the view's XML otherwise the last level is useless
diff --git a/lttng/org.eclipse.linuxtools.tmf.core.tests/.classpath b/lttng/org.eclipse.linuxtools.tmf.core.tests/.classpath
deleted file mode 100644
index f2804a9f0d..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core.tests/.classpath
+++ /dev/null
@@ -1,10 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
- <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.7"/>
- <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
- <classpathentry kind="src" path="src"/>
- <classpathentry kind="src" path="stubs"/>
- <classpathentry kind="src" path="shared"/>
- <classpathentry kind="src" path="perf"/>
- <classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/lttng/org.eclipse.linuxtools.tmf.core.tests/.options b/lttng/org.eclipse.linuxtools.tmf.core.tests/.options
deleted file mode 100644
index 290591c805..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core.tests/.options
+++ /dev/null
@@ -1,8 +0,0 @@
-org.eclipse.linuxtools.tmf/error=false
-org.eclipse.linuxtools.tmf/warning=false
-org.eclipse.linuxtools.tmf/info=false
-
-org.eclipse.linuxtools.tmf/component=false
-org.eclipse.linuxtools.tmf/request=false
-org.eclipse.linuxtools.tmf/signals=false
-org.eclipse.linuxtools.tmf/event=false
diff --git a/lttng/org.eclipse.linuxtools.tmf.core.tests/.project b/lttng/org.eclipse.linuxtools.tmf.core.tests/.project
deleted file mode 100644
index 9abc23b3a5..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core.tests/.project
+++ /dev/null
@@ -1,34 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>org.eclipse.linuxtools.tmf.core.tests</name>
- <comment></comment>
- <projects>
- </projects>
- <buildSpec>
- <buildCommand>
- <name>org.eclipse.jdt.core.javabuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.ManifestBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.SchemaBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.api.tools.apiAnalysisBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>org.eclipse.pde.PluginNature</nature>
- <nature>org.eclipse.jdt.core.javanature</nature>
- <nature>org.eclipse.pde.api.tools.apiAnalysisNature</nature>
- </natures>
-</projectDescription>
diff --git a/lttng/org.eclipse.linuxtools.tmf.core.tests/.settings/org.eclipse.core.resources.prefs b/lttng/org.eclipse.linuxtools.tmf.core.tests/.settings/org.eclipse.core.resources.prefs
deleted file mode 100644
index 99f26c0203..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core.tests/.settings/org.eclipse.core.resources.prefs
+++ /dev/null
@@ -1,2 +0,0 @@
-eclipse.preferences.version=1
-encoding/<project>=UTF-8
diff --git a/lttng/org.eclipse.linuxtools.tmf.core.tests/.settings/org.eclipse.core.runtime.prefs b/lttng/org.eclipse.linuxtools.tmf.core.tests/.settings/org.eclipse.core.runtime.prefs
deleted file mode 100644
index 5a0ad22d2a..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core.tests/.settings/org.eclipse.core.runtime.prefs
+++ /dev/null
@@ -1,2 +0,0 @@
-eclipse.preferences.version=1
-line.separator=\n
diff --git a/lttng/org.eclipse.linuxtools.tmf.core.tests/.settings/org.eclipse.jdt.core.prefs b/lttng/org.eclipse.linuxtools.tmf.core.tests/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index f3fc64575b..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core.tests/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,393 +0,0 @@
-eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.annotation.inheritNullAnnotations=enabled
-org.eclipse.jdt.core.compiler.annotation.missingNonNullByDefaultAnnotation=ignore
-org.eclipse.jdt.core.compiler.annotation.nonnull=org.eclipse.jdt.annotation.NonNull
-org.eclipse.jdt.core.compiler.annotation.nonnullbydefault=org.eclipse.jdt.annotation.NonNullByDefault
-org.eclipse.jdt.core.compiler.annotation.nullable=org.eclipse.jdt.annotation.Nullable
-org.eclipse.jdt.core.compiler.annotation.nullanalysis=enabled
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.7
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.doc.comment.support=enabled
-org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=error
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
-org.eclipse.jdt.core.compiler.problem.comparingIdentical=error
-org.eclipse.jdt.core.compiler.problem.deadCode=error
-org.eclipse.jdt.core.compiler.problem.deprecation=error
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=enabled
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled
-org.eclipse.jdt.core.compiler.problem.discouragedReference=error
-org.eclipse.jdt.core.compiler.problem.emptyStatement=error
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.problem.explicitlyClosedAutoCloseable=error
-org.eclipse.jdt.core.compiler.problem.fallthroughCase=error
-org.eclipse.jdt.core.compiler.problem.fatalOptionalError=disabled
-org.eclipse.jdt.core.compiler.problem.fieldHiding=error
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=error
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=error
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=error
-org.eclipse.jdt.core.compiler.problem.includeNullInfoFromAsserts=disabled
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=error
-org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=error
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=error
-org.eclipse.jdt.core.compiler.problem.invalidJavadoc=warning
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTags=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=protected
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=error
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=error
-org.eclipse.jdt.core.compiler.problem.missingDefaultCase=error
-org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=error
-org.eclipse.jdt.core.compiler.problem.missingEnumCaseDespiteDefault=enabled
-org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=error
-org.eclipse.jdt.core.compiler.problem.missingJavadocComments=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=protected
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagDescription=all_standard_tags
-org.eclipse.jdt.core.compiler.problem.missingJavadocTags=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsMethodTypeParameters=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=protected
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=error
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotationForInterfaceMethodImplementation=enabled
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=error
-org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=error
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=error
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=error
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=ignore
-org.eclipse.jdt.core.compiler.problem.nonnullParameterAnnotationDropped=warning
-org.eclipse.jdt.core.compiler.problem.nullAnnotationInferenceConflict=warning
-org.eclipse.jdt.core.compiler.problem.nullReference=error
-org.eclipse.jdt.core.compiler.problem.nullSpecViolation=error
-org.eclipse.jdt.core.compiler.problem.nullUncheckedConversion=warning
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=error
-org.eclipse.jdt.core.compiler.problem.parameterAssignment=error
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=error
-org.eclipse.jdt.core.compiler.problem.potentialNullReference=error
-org.eclipse.jdt.core.compiler.problem.potentiallyUnclosedCloseable=warning
-org.eclipse.jdt.core.compiler.problem.rawTypeReference=error
-org.eclipse.jdt.core.compiler.problem.redundantNullAnnotation=warning
-org.eclipse.jdt.core.compiler.problem.redundantNullCheck=error
-org.eclipse.jdt.core.compiler.problem.redundantSpecificationOfTypeArguments=error
-org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=error
-org.eclipse.jdt.core.compiler.problem.reportMethodCanBePotentiallyStatic=ignore
-org.eclipse.jdt.core.compiler.problem.reportMethodCanBeStatic=error
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=error
-org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=disabled
-org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
-org.eclipse.jdt.core.compiler.problem.syntacticNullAnalysisForFields=enabled
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
-org.eclipse.jdt.core.compiler.problem.typeParameterHiding=error
-org.eclipse.jdt.core.compiler.problem.unavoidableGenericTypeProblems=disabled
-org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=error
-org.eclipse.jdt.core.compiler.problem.unclosedCloseable=error
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
-org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=error
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=error
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=error
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=error
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=disabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=disabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=error
-org.eclipse.jdt.core.compiler.problem.unusedLabel=error
-org.eclipse.jdt.core.compiler.problem.unusedLocal=error
-org.eclipse.jdt.core.compiler.problem.unusedObjectAllocation=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=error
-org.eclipse.jdt.core.compiler.problem.unusedTypeParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedWarningToken=error
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=error
-org.eclipse.jdt.core.compiler.source=1.7
-org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_assignment=0
-org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
-org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
-org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
-org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
-org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0
-org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=80
-org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=0
-org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch=16
-org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_after_package=1
-org.eclipse.jdt.core.formatter.blank_lines_before_field=0
-org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
-org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
-org.eclipse.jdt.core.formatter.blank_lines_before_method=1
-org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
-org.eclipse.jdt.core.formatter.blank_lines_before_package=0
-org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
-org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
-org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
-org.eclipse.jdt.core.formatter.comment.format_block_comments=true
-org.eclipse.jdt.core.formatter.comment.format_header=false
-org.eclipse.jdt.core.formatter.comment.format_html=true
-org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=true
-org.eclipse.jdt.core.formatter.comment.format_line_comments=true
-org.eclipse.jdt.core.formatter.comment.format_source_code=true
-org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true
-org.eclipse.jdt.core.formatter.comment.indent_root_tags=true
-org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
-org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=insert
-org.eclipse.jdt.core.formatter.comment.line_length=80
-org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries=true
-org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries=true
-org.eclipse.jdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments=false
-org.eclipse.jdt.core.formatter.compact_else_if=true
-org.eclipse.jdt.core.formatter.continuation_indentation=2
-org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2
-org.eclipse.jdt.core.formatter.disabling_tag=@formatter\:off
-org.eclipse.jdt.core.formatter.enabling_tag=@formatter\:on
-org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
-org.eclipse.jdt.core.formatter.format_line_comment_starting_on_first_column=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
-org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_empty_lines=false
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=false
-org.eclipse.jdt.core.formatter.indentation.size=4
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_label=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_try=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources=insert
-org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_try=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
-org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.join_lines_in_comments=true
-org.eclipse.jdt.core.formatter.join_wrapped_lines=false
-org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.lineSplit=250
-org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
-org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
-org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true
-org.eclipse.jdt.core.formatter.tabulation.char=space
-org.eclipse.jdt.core.formatter.tabulation.size=4
-org.eclipse.jdt.core.formatter.use_on_off_tags=false
-org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
-org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
-org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true
-org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true
diff --git a/lttng/org.eclipse.linuxtools.tmf.core.tests/.settings/org.eclipse.jdt.ui.prefs b/lttng/org.eclipse.linuxtools.tmf.core.tests/.settings/org.eclipse.jdt.ui.prefs
deleted file mode 100644
index 4fd0c7006a..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core.tests/.settings/org.eclipse.jdt.ui.prefs
+++ /dev/null
@@ -1,56 +0,0 @@
-eclipse.preferences.version=1
-editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
-formatter_profile=_tmf-style
-formatter_settings_version=12
-sp_cleanup.add_default_serial_version_id=true
-sp_cleanup.add_generated_serial_version_id=false
-sp_cleanup.add_missing_annotations=false
-sp_cleanup.add_missing_deprecated_annotations=true
-sp_cleanup.add_missing_methods=false
-sp_cleanup.add_missing_nls_tags=false
-sp_cleanup.add_missing_override_annotations=true
-sp_cleanup.add_missing_override_annotations_interface_methods=true
-sp_cleanup.add_serial_version_id=false
-sp_cleanup.always_use_blocks=true
-sp_cleanup.always_use_parentheses_in_expressions=false
-sp_cleanup.always_use_this_for_non_static_field_access=false
-sp_cleanup.always_use_this_for_non_static_method_access=false
-sp_cleanup.convert_to_enhanced_for_loop=false
-sp_cleanup.correct_indentation=false
-sp_cleanup.format_source_code=false
-sp_cleanup.format_source_code_changes_only=false
-sp_cleanup.make_local_variable_final=false
-sp_cleanup.make_parameters_final=false
-sp_cleanup.make_private_fields_final=true
-sp_cleanup.make_type_abstract_if_missing_method=false
-sp_cleanup.make_variable_declarations_final=false
-sp_cleanup.never_use_blocks=false
-sp_cleanup.never_use_parentheses_in_expressions=true
-sp_cleanup.on_save_use_additional_actions=true
-sp_cleanup.organize_imports=false
-sp_cleanup.qualify_static_field_accesses_with_declaring_class=false
-sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_with_declaring_class=false
-sp_cleanup.qualify_static_method_accesses_with_declaring_class=false
-sp_cleanup.remove_private_constructors=true
-sp_cleanup.remove_trailing_whitespaces=true
-sp_cleanup.remove_trailing_whitespaces_all=true
-sp_cleanup.remove_trailing_whitespaces_ignore_empty=false
-sp_cleanup.remove_unnecessary_casts=false
-sp_cleanup.remove_unnecessary_nls_tags=false
-sp_cleanup.remove_unused_imports=false
-sp_cleanup.remove_unused_local_variables=false
-sp_cleanup.remove_unused_private_fields=true
-sp_cleanup.remove_unused_private_members=false
-sp_cleanup.remove_unused_private_methods=true
-sp_cleanup.remove_unused_private_types=true
-sp_cleanup.sort_members=false
-sp_cleanup.sort_members_all=false
-sp_cleanup.use_blocks=true
-sp_cleanup.use_blocks_only_for_return_and_throw=false
-sp_cleanup.use_parentheses_in_expressions=false
-sp_cleanup.use_this_for_non_static_field_access=false
-sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=true
-sp_cleanup.use_this_for_non_static_method_access=false
-sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true
diff --git a/lttng/org.eclipse.linuxtools.tmf.core.tests/.settings/org.eclipse.pde.api.tools.prefs b/lttng/org.eclipse.linuxtools.tmf.core.tests/.settings/org.eclipse.pde.api.tools.prefs
deleted file mode 100644
index acc3abd47c..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core.tests/.settings/org.eclipse.pde.api.tools.prefs
+++ /dev/null
@@ -1,97 +0,0 @@
-ANNOTATION_ELEMENT_TYPE_ADDED_METHOD_WITHOUT_DEFAULT_VALUE=Error
-ANNOTATION_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
-ANNOTATION_ELEMENT_TYPE_REMOVED_FIELD=Error
-ANNOTATION_ELEMENT_TYPE_REMOVED_METHOD=Error
-ANNOTATION_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
-API_COMPONENT_ELEMENT_TYPE_REMOVED_API_TYPE=Error
-API_COMPONENT_ELEMENT_TYPE_REMOVED_REEXPORTED_API_TYPE=Error
-API_COMPONENT_ELEMENT_TYPE_REMOVED_REEXPORTED_TYPE=Error
-API_COMPONENT_ELEMENT_TYPE_REMOVED_TYPE=Error
-API_USE_SCAN_FIELD_SEVERITY=Error
-API_USE_SCAN_METHOD_SEVERITY=Error
-API_USE_SCAN_TYPE_SEVERITY=Error
-CLASS_ELEMENT_TYPE_ADDED_METHOD=Error
-CLASS_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
-CLASS_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
-CLASS_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error
-CLASS_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
-CLASS_ELEMENT_TYPE_CHANGED_NON_ABSTRACT_TO_ABSTRACT=Error
-CLASS_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error
-CLASS_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
-CLASS_ELEMENT_TYPE_REMOVED_CONSTRUCTOR=Error
-CLASS_ELEMENT_TYPE_REMOVED_FIELD=Error
-CLASS_ELEMENT_TYPE_REMOVED_METHOD=Error
-CLASS_ELEMENT_TYPE_REMOVED_SUPERCLASS=Error
-CLASS_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
-CLASS_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
-CONSTRUCTOR_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
-CONSTRUCTOR_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
-CONSTRUCTOR_ELEMENT_TYPE_CHANGED_VARARGS_TO_ARRAY=Error
-CONSTRUCTOR_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
-ENUM_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error
-ENUM_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
-ENUM_ELEMENT_TYPE_REMOVED_ENUM_CONSTANT=Error
-ENUM_ELEMENT_TYPE_REMOVED_FIELD=Error
-ENUM_ELEMENT_TYPE_REMOVED_METHOD=Error
-ENUM_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
-FIELD_ELEMENT_TYPE_ADDED_VALUE=Error
-FIELD_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
-FIELD_ELEMENT_TYPE_CHANGED_FINAL_TO_NON_FINAL_STATIC_CONSTANT=Error
-FIELD_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error
-FIELD_ELEMENT_TYPE_CHANGED_NON_STATIC_TO_STATIC=Error
-FIELD_ELEMENT_TYPE_CHANGED_STATIC_TO_NON_STATIC=Error
-FIELD_ELEMENT_TYPE_CHANGED_TYPE=Error
-FIELD_ELEMENT_TYPE_CHANGED_VALUE=Error
-FIELD_ELEMENT_TYPE_REMOVED_TYPE_ARGUMENT=Error
-FIELD_ELEMENT_TYPE_REMOVED_VALUE=Error
-ILLEGAL_EXTEND=Warning
-ILLEGAL_IMPLEMENT=Warning
-ILLEGAL_INSTANTIATE=Warning
-ILLEGAL_OVERRIDE=Warning
-ILLEGAL_REFERENCE=Warning
-INTERFACE_ELEMENT_TYPE_ADDED_FIELD=Error
-INTERFACE_ELEMENT_TYPE_ADDED_METHOD=Error
-INTERFACE_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
-INTERFACE_ELEMENT_TYPE_ADDED_SUPER_INTERFACE_WITH_METHODS=Error
-INTERFACE_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
-INTERFACE_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error
-INTERFACE_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
-INTERFACE_ELEMENT_TYPE_REMOVED_FIELD=Error
-INTERFACE_ELEMENT_TYPE_REMOVED_METHOD=Error
-INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
-INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
-INVALID_JAVADOC_TAG=Warning
-INVALID_REFERENCE_IN_SYSTEM_LIBRARIES=Warning
-LEAK_EXTEND=Warning
-LEAK_FIELD_DECL=Warning
-LEAK_IMPLEMENT=Warning
-LEAK_METHOD_PARAM=Warning
-LEAK_METHOD_RETURN_TYPE=Warning
-METHOD_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
-METHOD_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
-METHOD_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
-METHOD_ELEMENT_TYPE_CHANGED_NON_ABSTRACT_TO_ABSTRACT=Error
-METHOD_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error
-METHOD_ELEMENT_TYPE_CHANGED_NON_STATIC_TO_STATIC=Error
-METHOD_ELEMENT_TYPE_CHANGED_STATIC_TO_NON_STATIC=Error
-METHOD_ELEMENT_TYPE_CHANGED_VARARGS_TO_ARRAY=Error
-METHOD_ELEMENT_TYPE_REMOVED_ANNOTATION_DEFAULT_VALUE=Error
-METHOD_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
-MISSING_EE_DESCRIPTIONS=Ignore
-TYPE_PARAMETER_ELEMENT_TYPE_ADDED_CLASS_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_ADDED_INTERFACE_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_CHANGED_CLASS_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_CHANGED_INTERFACE_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_CLASS_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error
-UNUSED_PROBLEM_FILTERS=Warning
-automatically_removed_unused_problem_filters=false
-eclipse.preferences.version=1
-incompatible_api_component_version=Error
-incompatible_api_component_version_include_major_without_breaking_change=Disabled
-incompatible_api_component_version_include_minor_without_api_change=Disabled
-invalid_since_tag_version=Error
-malformed_since_tag=Error
-missing_since_tag=Error
-report_api_breakage_when_major_version_incremented=Disabled
-report_resolution_errors_api_component=Warning
diff --git a/lttng/org.eclipse.linuxtools.tmf.core.tests/.settings/org.eclipse.pde.prefs b/lttng/org.eclipse.linuxtools.tmf.core.tests/.settings/org.eclipse.pde.prefs
deleted file mode 100644
index 62cfa90dee..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core.tests/.settings/org.eclipse.pde.prefs
+++ /dev/null
@@ -1,32 +0,0 @@
-compilers.f.unresolved-features=1
-compilers.f.unresolved-plugins=1
-compilers.incompatible-environment=1
-compilers.p.build=1
-compilers.p.build.bin.includes=1
-compilers.p.build.encodings=2
-compilers.p.build.java.compiler=2
-compilers.p.build.java.compliance=1
-compilers.p.build.missing.output=2
-compilers.p.build.output.library=1
-compilers.p.build.source.library=1
-compilers.p.build.src.includes=1
-compilers.p.deprecated=1
-compilers.p.discouraged-class=1
-compilers.p.internal=1
-compilers.p.missing-packages=2
-compilers.p.missing-version-export-package=2
-compilers.p.missing-version-import-package=2
-compilers.p.missing-version-require-bundle=2
-compilers.p.no-required-att=0
-compilers.p.not-externalized-att=2
-compilers.p.unknown-attribute=1
-compilers.p.unknown-class=1
-compilers.p.unknown-element=1
-compilers.p.unknown-identifier=1
-compilers.p.unknown-resource=1
-compilers.p.unresolved-ex-points=0
-compilers.p.unresolved-import=0
-compilers.s.create-docs=false
-compilers.s.doc-folder=doc
-compilers.s.open-tags=1
-eclipse.preferences.version=1
diff --git a/lttng/org.eclipse.linuxtools.tmf.core.tests/ChangeLog b/lttng/org.eclipse.linuxtools.tmf.core.tests/ChangeLog
deleted file mode 100644
index abccc44d31..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core.tests/ChangeLog
+++ /dev/null
@@ -1,59 +0,0 @@
-2010-11-09 Francois Chouinard <fchouinard@gmail.com>
-
- Suppress warning for non-externalized strings
- * src/org/eclipse/linuxtools/tmf/tests/component/TmfEventProviderTest.java:
- * src/org/eclipse/linuxtools/tmf/tests/component/TmfProviderManagerTest.java:
- * src/org/eclipse/linuxtools/tmf/tests/event/AllTests.java:
- * src/org/eclipse/linuxtools/tmf/tests/event/TmfEventContentTest.java:
- * src/org/eclipse/linuxtools/tmf/tests/event/TmfEventFieldTest.java:
- * src/org/eclipse/linuxtools/tmf/tests/event/TmfEventReferenceTest.java:
- * src/org/eclipse/linuxtools/tmf/tests/event/TmfEventSourceTest.java:
- * src/org/eclipse/linuxtools/tmf/tests/event/TmfEventTest.java:
- * src/org/eclipse/linuxtools/tmf/tests/event/TmfEventTypeTest.java:
- * src/org/eclipse/linuxtools/tmf/tests/event/TmfTimeRangeTest.java (TmfTimeRangeTest):
- * src/org/eclipse/linuxtools/tmf/tests/event/TmfTimestampTest.java:
- * src/org/eclipse/linuxtools/tmf/tests/event/TmfTraceEventTest.java:
- * src/org/eclipse/linuxtools/tmf/tests/experiment/AllTests.java:
- * src/org/eclipse/linuxtools/tmf/tests/experiment/TmfExperimentTest.java:
- * src/org/eclipse/linuxtools/tmf/tests/experiment/TmfMultiTraceExperimentTest.java:
- * src/org/eclipse/linuxtools/tmf/tests/request/AllTests.java:
- * src/org/eclipse/linuxtools/tmf/tests/request/TmfCoalescedDataRequestTest.java:
- * src/org/eclipse/linuxtools/tmf/tests/request/TmfCoalescedEventRequestTest.java:
- * src/org/eclipse/linuxtools/tmf/tests/request/TmfDataRequestTest.java:
- * src/org/eclipse/linuxtools/tmf/tests/request/TmfEventRequestTest.java:
- * src/org/eclipse/linuxtools/tmf/tests/request/TmfRequestExecutorTest.java:
- * src/org/eclipse/linuxtools/tmf/tests/TmfCorePluginTest.java:
- * src/org/eclipse/linuxtools/tmf/tests/TmfCoreTestPlugin.java:
- * src/org/eclipse/linuxtools/tmf/tests/trace/AllTests.java:
- * src/org/eclipse/linuxtools/tmf/tests/trace/TmfCheckpointTest.java:
- * src/org/eclipse/linuxtools/tmf/tests/trace/TmfContextTest.java:
- * src/org/eclipse/linuxtools/tmf/tests/trace/TmfExperimentTest.java:
- * src/org/eclipse/linuxtools/tmf/tests/trace/TmfLocationTest.java:
- * src/org/eclipse/linuxtools/tmf/tests/trace/TmfTraceTest.java:
- * stubs/org/eclipse/linuxtools/tmf/component/TmfClientStub.java:
- * stubs/org/eclipse/linuxtools/tmf/component/TmfDataProviderStub.java:
- * stubs/org/eclipse/linuxtools/tmf/component/TmfEventProviderStub.java:
- * stubs/org/eclipse/linuxtools/tmf/component/TmfSyntheticEventProviderStub.java:
- * stubs/org/eclipse/linuxtools/tmf/CreateTestFiles.java:
- * stubs/org/eclipse/linuxtools/tmf/event/TmfEventContentStub.java:
- * stubs/org/eclipse/linuxtools/tmf/event/TmfEventTypeStub.java:
- * stubs/org/eclipse/linuxtools/tmf/trace/TmfEventParserStub.java:
- * stubs/org/eclipse/linuxtools/tmf/trace/TmfTraceStub.java:
-
-2010-10-27 Francois Chouinard <fchouinard@gmail.com>
-
- * src/org/eclipse/linuxtools/tmf/tests/component/TmfEventProviderTest.java: Augmented coalescing and cancelling tests
- * src/org/eclipse/linuxtools/tmf/tests/request/TmfCoalescedDataRequestTest.java: Ditto
-
-2010-10-13 Francois Chouinard <fchouinard@gmail.com>
-
- * src/org/eclipse/linuxtools/tmf/tests/event/TmfEventContentTest.java: Added unit test for setEvent()
- * src/org/eclipse/linuxtools/tmf/tests/event/TmfTimeRangeTest.java: Adde unit test for getIntersection()
-
-2010-09-09 Francois Chouinard <fchouinard@gmail.com>
-
- * src/org/eclipse/linuxtools/tmf/tests/experiment/TmfExperimentTest.java: Added a few checks
-
-2010-07-28 Francois Chouinard <fchouinard@gmail.com>
-
- * stubs/org/eclipse/linuxtools/tmf/component/TmfSyntheticEventProviderStub.java: Missing @Override \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.tmf.core.tests/META-INF/MANIFEST.MF b/lttng/org.eclipse.linuxtools.tmf.core.tests/META-INF/MANIFEST.MF
deleted file mode 100644
index 4e97842e68..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core.tests/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,21 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %Bundle-Name
-Bundle-Vendor: %Bundle-Vendor
-Bundle-Version: 3.1.0.qualifier
-Bundle-Localization: plugin
-Bundle-SymbolicName: org.eclipse.linuxtools.tmf.core.tests;singleton:=true
-Bundle-Activator: org.eclipse.linuxtools.tmf.core.tests.TmfCoreTestPlugin
-Bundle-ActivationPolicy: lazy
-Bundle-RequiredExecutionEnvironment: JavaSE-1.7
-Require-Bundle: org.junit;bundle-version="4.0.0",
- org.eclipse.core.runtime,
- org.eclipse.core.resources,
- org.eclipse.linuxtools.tmf.core;bundle-version="3.1.0",
- org.eclipse.test.performance
-Export-Package: org.eclipse.linuxtools.tmf.core.tests,
- org.eclipse.linuxtools.tmf.core.tests.perf,
- org.eclipse.linuxtools.tmf.core.tests.shared,
- org.eclipse.linuxtools.tmf.tests.stubs.trace,
- org.eclipse.linuxtools.tmf.tests.stubs.trace.xml
-Import-Package: com.google.common.collect
diff --git a/lttng/org.eclipse.linuxtools.tmf.core.tests/about.html b/lttng/org.eclipse.linuxtools.tmf.core.tests/about.html
deleted file mode 100644
index c258ef55d8..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core.tests/about.html
+++ /dev/null
@@ -1,28 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
-<title>About</title>
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
-
-<p>June 5, 2006</p>
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;). Unless otherwise
-indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is available
-at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is
-being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content. Check the Redistributor's license that was
-provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at <a href="http://www.eclipse.org/">http://www.eclipse.org</a>.</p>
-
-</body>
-</html> \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.tmf.core.tests/build.properties b/lttng/org.eclipse.linuxtools.tmf.core.tests/build.properties
deleted file mode 100644
index 10715adf74..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core.tests/build.properties
+++ /dev/null
@@ -1,25 +0,0 @@
-###############################################################################
-# Copyright (c) 2013 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:
-# Ericsson - Initial API and implementation
-###############################################################################
-
-source.. = stubs/,\
- shared/,\
- src/,\
- perf/
-output.. = bin/
-bin.includes = META-INF/,\
- .,\
- plugin.properties,\
- testfiles/,\
- plugin.xml
-src.includes = about.html
-additional.bundles = org.eclipse.jdt.annotation
-jars.extra.classpath = platform:/plugin/org.eclipse.jdt.annotation
diff --git a/lttng/org.eclipse.linuxtools.tmf.core.tests/perf/org/eclipse/linuxtools/tmf/core/tests/perf/AllPerfTests.java b/lttng/org.eclipse.linuxtools.tmf.core.tests/perf/org/eclipse/linuxtools/tmf/core/tests/perf/AllPerfTests.java
deleted file mode 100644
index f1d50f1389..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core.tests/perf/org/eclipse/linuxtools/tmf/core/tests/perf/AllPerfTests.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 École Polytechnique de Montréal
- *
- * 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:
- * Geneviève Bastien - Initial implementation and API
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.core.tests.perf;
-
-import org.junit.runner.RunWith;
-import org.junit.runners.Suite;
-
-/**
- * The class <code>AllPerformanceTests</code> builds a suite that can be used to
- * run all of the performance tests within its package as well as within any
- * subpackages of its package.
- *
- * @author Geneviève Bastien
- */
-@RunWith(Suite.class)
-@Suite.SuiteClasses({
- org.eclipse.linuxtools.tmf.core.tests.perf.synchronization.AllPerfTests.class
-})
-public class AllPerfTests {
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core.tests/perf/org/eclipse/linuxtools/tmf/core/tests/perf/synchronization/AllPerfTests.java b/lttng/org.eclipse.linuxtools.tmf.core.tests/perf/org/eclipse/linuxtools/tmf/core/tests/perf/synchronization/AllPerfTests.java
deleted file mode 100644
index 3d9971f6b6..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core.tests/perf/org/eclipse/linuxtools/tmf/core/tests/perf/synchronization/AllPerfTests.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 École Polytechnique de Montréal
- *
- * 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:
- * Geneviève Bastien - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.core.tests.perf.synchronization;
-
-import org.junit.runner.RunWith;
-import org.junit.runners.Suite;
-
-/**
- * Performance tests for the synchronization classes
- *
- * @author Geneviève Bastien
- */
-@RunWith(Suite.class)
-@Suite.SuiteClasses({
- TimestampTransformBenchmark.class
-})
-public class AllPerfTests {
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core.tests/perf/org/eclipse/linuxtools/tmf/core/tests/perf/synchronization/TimestampTransformBenchmark.java b/lttng/org.eclipse.linuxtools.tmf.core.tests/perf/org/eclipse/linuxtools/tmf/core/tests/perf/synchronization/TimestampTransformBenchmark.java
deleted file mode 100644
index d3dc0677fe..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core.tests/perf/org/eclipse/linuxtools/tmf/core/tests/perf/synchronization/TimestampTransformBenchmark.java
+++ /dev/null
@@ -1,78 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 École Polytechnique de Montréal
- *
- * 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:
- * Francis Giraldeau - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.core.tests.perf.synchronization;
-
-import org.eclipse.linuxtools.tmf.core.synchronization.ITmfTimestampTransform;
-import org.eclipse.linuxtools.tmf.core.synchronization.TimestampTransformFactory;
-import org.eclipse.test.performance.Dimension;
-import org.eclipse.test.performance.Performance;
-import org.eclipse.test.performance.PerformanceMeter;
-import org.junit.Test;
-
-/**
- * Test the performance of linear transforms classes
- *
- * @author Francis Giraldeau
- */
-public class TimestampTransformBenchmark {
-
- private static final String TEST_ID = "org.eclipse.linuxtools#Trace synchronization#";
- private static final String TEST_SUMMARY = "Timestamp Transform: ";
-
- /** Number of transformations done for each transform: 50 millions */
- private static final long NB_TRANSFORMATIONS = 50000000L;
-
- /**
- * Test the timestamp transform performances
- */
- @Test
- public void testTimestampTransformPerformance() {
- ITmfTimestampTransform transform = TimestampTransformFactory.getDefaultTransform();
- doTimestampTransformRun("Identity transform", transform, 10);
-
- transform = TimestampTransformFactory.createWithOffset(123456789);
- doTimestampTransformRun("Transform with offset", transform, 10);
-
- transform = TimestampTransformFactory.createLinear(Math.PI, 1234);
- doTimestampTransformRun("Linear transform", transform, 5);
-
- transform = TimestampTransformFactory.createLinear(10000.1234545565635, -4312278758437L);
- doTimestampTransformRun("Linear transform with larger slope and negative offset", transform, 5);
- }
-
- private static void doTimestampTransformRun(String testName, ITmfTimestampTransform xform, long loopCount) {
- Performance perf = Performance.getDefault();
- PerformanceMeter pm = perf.createPerformanceMeter(TEST_ID + testName);
- perf.tagAsSummary(pm, TEST_SUMMARY + testName, Dimension.CPU_TIME);
-
- for (int x = 0; x < loopCount; x++) {
- /**
- * We use timestamps with values in the order of 10^18, which about
- * corresponds to timestamps in nanoseconds since epoch
- */
- long time = (long) Math.pow(10, 18);
- pm.start();
- /**
- * Apply the timestamp transform NB_TRANSFORMATIONS times, with
- * timestamps incremented by 200 each time
- */
- for (long i = 0; i < NB_TRANSFORMATIONS; i++) {
- xform.transform(time);
- time += 200;
- }
- pm.stop();
- }
- pm.commit();
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core.tests/plugin.properties b/lttng/org.eclipse.linuxtools.tmf.core.tests/plugin.properties
deleted file mode 100644
index af1b67d180..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core.tests/plugin.properties
+++ /dev/null
@@ -1,15 +0,0 @@
-###############################################################################
-# Copyright (c) 2013 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:
-# Ericsson - Initial API and implementation
-###############################################################################
-
-#Properties file for org.eclipse.linuxtools.tmf.core.tests
-Bundle-Vendor = Eclipse Linux Tools
-Bundle-Name = Linux Tools TMF Core Tests Plug-in \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.tmf.core.tests/plugin.xml b/lttng/org.eclipse.linuxtools.tmf.core.tests/plugin.xml
deleted file mode 100644
index 74c3626fac..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core.tests/plugin.xml
+++ /dev/null
@@ -1,118 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.4"?>
-<plugin>
- <extension
- point="org.eclipse.linuxtools.tmf.core.analysis">
- <module
- id="org.eclipse.linuxtools.tmf.core.tests.analysis.test"
- name="Test analysis"
- analysis_module="org.eclipse.linuxtools.tmf.tests.stubs.analysis.TestAnalysis">
- <parameter
- name="test">
- </parameter>
- <tracetype
- class="org.eclipse.linuxtools.tmf.tests.stubs.trace.TmfTraceStub">
- </tracetype>
- <tracetype
- applies="false"
- class="org.eclipse.linuxtools.tmf.tests.stubs.trace.TmfTraceStub3">
- </tracetype>
- </module>
- <module
- id="org.eclipse.linuxtools.tmf.core.tests.analysis.test2"
- name="Test analysis 2"
- analysis_module="org.eclipse.linuxtools.tmf.tests.stubs.analysis.TestAnalysis"
- automatic="true">
- <parameter
- default_value="3"
- name="test">
- </parameter>
- <tracetype
- class="org.eclipse.linuxtools.tmf.tests.stubs.trace.TmfTraceStub">
- </tracetype>
- </module>
- <module
- id="org.eclipse.linuxtools.tmf.core.tests.analysis.testother"
- name="Test other analysis"
- analysis_module="org.eclipse.linuxtools.tmf.tests.stubs.analysis.TestAnalysis2"
- automatic="true">
- <tracetype
- applies="true"
- class="org.eclipse.linuxtools.tmf.tests.stubs.trace.TmfTraceStub3">
- </tracetype>
- <tracetype
- applies="true"
- class="org.eclipse.linuxtools.tmf.tests.stubs.trace.TmfTraceStub2">
- </tracetype>
- </module>
- <module
- analysis_module="org.eclipse.linuxtools.tmf.tests.stubs.analysis.TestStateSystemModule"
- automatic="false"
- id="org.eclipse.linuxtools.tmf.core.tests.analysis.sstest"
- name="Test State System">
- <tracetype
- class="org.eclipse.linuxtools.tmf.tests.stubs.trace.TmfTraceStub">
- </tracetype>
- </module>
- <module
- analysis_module="org.eclipse.linuxtools.tmf.tests.stubs.analysis.TestExperimentAnalysis"
- id="org.eclipse.linuxtools.tmf.core.tests.experiment"
- name="Experiment analysis">
- <tracetype
- applies="true"
- class="org.eclipse.linuxtools.tmf.tests.stubs.trace.TmfExperimentStub">
- </tracetype>
- </module>
- <module
- analysis_module="org.eclipse.linuxtools.tmf.tests.stubs.analysis.TestRequirementAnalysis"
- id="org.eclipse.linuxtools.tmf.core.tests.analysis.reqtest"
- name="Test analysis requirements">
- <tracetype
- class="org.eclipse.linuxtools.tmf.tests.stubs.trace.TmfTraceStub">
- </tracetype>
- </module>
- </extension>
- <extension
- point="org.eclipse.linuxtools.tmf.core.tracetype">
- <category
- id="org.eclipse.linuxtools.tmf.core.tests.category"
- name="Test trace">
- </category>
- <type
- category="org.eclipse.linuxtools.tmf.core.tests.category"
- event_type="org.eclipse.linuxtools.tmf.core.event.TmfEvent"
- id="org.eclipse.linuxtools.tmf.core.tests.tracetype"
- name="TMF Tests"
- trace_type="org.eclipse.linuxtools.tmf.tests.stubs.trace.TmfTraceStub">
- </type>
- <type
- category="org.eclipse.linuxtools.tmf.core.tests.category"
- event_type="org.eclipse.linuxtools.tmf.core.event.TmfEvent"
- id="org.eclipse.linuxtools.tmf.core.tests.secondtt"
- name="TMF Tests 2"
- trace_type="org.eclipse.linuxtools.tmf.tests.stubs.trace.TmfTraceStub2">
- </type>
- <type
- category="org.eclipse.linuxtools.tmf.core.tests.category"
- event_type="org.eclipse.linuxtools.tmf.core.event.TmfEvent"
- id="org.eclipse.linuxtools.tmf.core.tests.thirdtt"
- name="TMF Tests 3"
- trace_type="org.eclipse.linuxtools.tmf.tests.stubs.trace.TmfTraceStub3">
- </type>
- <experiment
- category="org.eclipse.linuxtools.tmf.core.tests.category"
- id="org.eclipse.linuxtools.tmf.core.tests.experimenttype"
- name="Test experiment"
- experiment_type="org.eclipse.linuxtools.tmf.tests.stubs.trace.TmfExperimentStub">
- </experiment>
- <type
- category="org.eclipse.linuxtools.tmf.core.tests.category"
- event_type="org.eclipse.linuxtools.tmf.tests.stubs.trace.text.SyslogEvent"
- id="org.eclipse.linuxtools.tmf.tests.stubs.trace.text.testsyslog"
- isDirectory="false"
- name="Test Syslog"
- trace_type="org.eclipse.linuxtools.tmf.tests.stubs.trace.text.SyslogTrace">
- </type>
- </extension>
-
-</plugin>
diff --git a/lttng/org.eclipse.linuxtools.tmf.core.tests/pom.xml b/lttng/org.eclipse.linuxtools.tmf.core.tests/pom.xml
deleted file mode 100644
index 0fc4b6cc4d..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core.tests/pom.xml
+++ /dev/null
@@ -1,55 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Copyright (C) 2011, Red Hat, Inc. and others
-
- 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
--->
-
-<project xmlns="http://maven.apache.org/POM/4.0.0"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
- <modelVersion>4.0.0</modelVersion>
-
- <parent>
- <artifactId>linuxtools-lttng-parent</artifactId>
- <groupId>org.eclipse.linuxtools.lttng</groupId>
- <version>3.2.0-SNAPSHOT</version>
- </parent>
-
- <artifactId>org.eclipse.linuxtools.tmf.core.tests</artifactId>
- <version>3.1.0-SNAPSHOT</version>
- <packaging>eclipse-test-plugin</packaging>
-
- <name>Linux Tools TMF Core Tests Plug-in</name>
-
- <build>
- <!-- workaround for https://issues.sonatype.org/browse/TYCHO-168 -->
- <resources>
- <resource>
- <directory>src</directory>
- <excludes>
- <exclude>**/*.java</exclude>
- </excludes>
- </resource>
- </resources>
- <plugins>
- <plugin>
- <groupId>org.eclipse.tycho</groupId>
- <artifactId>tycho-surefire-plugin</artifactId>
- <version>${tycho-version}</version>
- <configuration>
- <testSuite>org.eclipse.linuxtools.tmf.core.tests</testSuite>
- <testClass>org.eclipse.linuxtools.tmf.core.tests.AllTmfCoreTests</testClass>
- <useUIHarness>false</useUIHarness>
- <useUIThread>false</useUIThread>
- <product>org.eclipse.platform.ide</product>
- </configuration>
- </plugin>
- </plugins>
- </build>
-
- <groupId>org.eclipse.linuxtools.tmf</groupId>
-</project>
diff --git a/lttng/org.eclipse.linuxtools.tmf.core.tests/shared/org/eclipse/linuxtools/tmf/core/tests/shared/DebugListener.java b/lttng/org.eclipse.linuxtools.tmf.core.tests/shared/org/eclipse/linuxtools/tmf/core/tests/shared/DebugListener.java
deleted file mode 100644
index f53c6c4087..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core.tests/shared/org/eclipse/linuxtools/tmf/core/tests/shared/DebugListener.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 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:
- * Alexandre Montplaisir - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.core.tests.shared;
-
-import org.junit.runner.Description;
-import org.junit.runner.notification.Failure;
-import org.junit.runner.notification.RunListener;
-
-/**
- * Debugging RunListener, which will print to stdout the name of the tests being
- * run.
- *
- * @author Alexandre Montplaisir
- */
-public class DebugListener extends RunListener {
-
- @Override
- public void testStarted(Description description) {
- System.out.println("Running " + getTestName(description));
- }
-
- @Override
- public void testAssumptionFailure(Failure failure) {
- System.out.println("SKIPPING TEST: " + getTestName(failure.getDescription()));
- System.out.println(failure.getMessage());
- }
-
- /**
- * Get the className#methodName from a Description.
- */
- private static String getTestName(Description description) {
- return description.getClassName() + '#' + description.getMethodName();
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core.tests/shared/org/eclipse/linuxtools/tmf/core/tests/shared/DebugSuite.java b/lttng/org.eclipse.linuxtools.tmf.core.tests/shared/org/eclipse/linuxtools/tmf/core/tests/shared/DebugSuite.java
deleted file mode 100644
index 684aa60024..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core.tests/shared/org/eclipse/linuxtools/tmf/core/tests/shared/DebugSuite.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 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:
- * Alexandre Montplaisir - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.core.tests.shared;
-
-import org.junit.runner.notification.RunNotifier;
-import org.junit.runners.Suite;
-import org.junit.runners.model.InitializationError;
-
-/**
- * Test suite that adds a {@link DebugListener} to unit tests, to help debug
- * misbehaving tests.
- *
- * Use with @RunWith(DebugSuite) and DebugSuite.SuiteClasses({ })
- *
- * @author Alexandre Montplaisir
- */
-public class DebugSuite extends Suite {
-
- /**
- * Constructor (required by JUnit)
- *
- * @param klass
- * Root of the suite
- * @throws InitializationError
- * If an error happened when getting the test classes
- */
- public DebugSuite(Class<?> klass) throws InitializationError {
- super(klass, getAnnotatedClasses(klass));
- }
-
- @Override
- public void run(RunNotifier runNotifier) {
- runNotifier.addListener(new DebugListener());
- super.run(runNotifier);
- }
-
- private static Class<?>[] getAnnotatedClasses(Class<?> klass) throws InitializationError {
- SuiteClasses annotation = klass.getAnnotation(SuiteClasses.class);
- if (annotation == null) {
- throw new InitializationError(String.format("class '%s' must have a SuiteClasses annotation", klass.getName()));
- }
- return annotation.value();
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core.tests/shared/org/eclipse/linuxtools/tmf/core/tests/shared/TmfTestHelper.java b/lttng/org.eclipse.linuxtools.tmf.core.tests/shared/org/eclipse/linuxtools/tmf/core/tests/shared/TmfTestHelper.java
deleted file mode 100644
index b7cbc542ed..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core.tests/shared/org/eclipse/linuxtools/tmf/core/tests/shared/TmfTestHelper.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 École Polytechnique de Montréal
- *
- * 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:
- * Geneviève Bastien - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.core.tests.shared;
-
-import static org.junit.Assert.fail;
-
-import java.lang.reflect.InvocationTargetException;
-import java.lang.reflect.Method;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.linuxtools.tmf.core.analysis.IAnalysisModule;
-import org.eclipse.linuxtools.tmf.core.analysis.TmfAbstractAnalysisModule;
-
-/**
- * This class contains code for some common use cases of things that would be
- * illegal to do in normal code, but are useful if not necessary in unit tests,
- * like executing protected methods, using reflection.
- *
- * It may also serve as example for developers who want to do similar things in
- * less common use cases.
- *
- * @author Geneviève Bastien
- */
-public class TmfTestHelper {
-
- /**
- * Calls the {@link TmfAbstractAnalysisModule#executeAnalysis} method of an
- * analysis module. This method does not return until the analysis is
- * completed and it returns the result of the method. It allows to execute
- * the analysis without requiring an Eclipse job and waiting for completion.
- *
- * @param module
- * The analysis module to execute
- * @return The return value of the
- * {@link TmfAbstractAnalysisModule#executeAnalysis} method
- */
- public static boolean executeAnalysis(IAnalysisModule module) {
- if (module instanceof TmfAbstractAnalysisModule) {
- try {
- Class<?>[] argTypes = new Class[] { IProgressMonitor.class };
- Method method = TmfAbstractAnalysisModule.class.getDeclaredMethod("executeAnalysis", argTypes);
- method.setAccessible(true);
- Object obj = method.invoke(module, new NullProgressMonitor());
- return (Boolean) obj;
- } catch (IllegalAccessException | IllegalArgumentException | InvocationTargetException | NoSuchMethodException | SecurityException e) {
- fail(e.toString());
- }
- }
- throw new RuntimeException("This analysis module does not have a protected method to execute. Maybe it can be executed differently? Or it is not supported yet in this method?");
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core.tests/shared/org/eclipse/linuxtools/tmf/core/tests/shared/TmfTestTrace.java b/lttng/org.eclipse.linuxtools.tmf.core.tests/shared/org/eclipse/linuxtools/tmf/core/tests/shared/TmfTestTrace.java
deleted file mode 100644
index 5b8df23674..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core.tests/shared/org/eclipse/linuxtools/tmf/core/tests/shared/TmfTestTrace.java
+++ /dev/null
@@ -1,127 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 École Polytechnique de Montréal
- *
- * 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:
- * Geneviève Bastien - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.core.tests.shared;
-
-import java.io.File;
-import java.io.IOException;
-import java.net.URISyntaxException;
-import java.net.URL;
-
-import org.eclipse.core.runtime.FileLocator;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.linuxtools.tmf.core.exceptions.TmfTraceException;
-import org.eclipse.linuxtools.tmf.core.signal.TmfSignalManager;
-import org.eclipse.linuxtools.tmf.core.tests.TmfCoreTestPlugin;
-import org.eclipse.linuxtools.tmf.core.trace.ITmfTrace;
-import org.eclipse.linuxtools.tmf.tests.stubs.trace.TmfTraceStub;
-import org.eclipse.linuxtools.tmf.tests.stubs.trace.TmfTraceStub2;
-
-/**
- * Generic TMF test traces
- *
- * @author Geneviève Bastien
- */
-public enum TmfTestTrace {
- /** A test */
- A_TEST_10K("A-Test-10K"),
- /** A second trace */
- A_TEST_10K2("A-Test-10K-2"),
- /** A third trace */
- E_TEST_10K("E-Test-10K"),
- /** A fourth trace */
- O_TEST_10K("O-Test-10K"),
- /** And oh! a fifth trace */
- R_TEST_10K("R-Test-10K");
-
- private final String fPath;
- private final String fDirectory = "../org.eclipse.linuxtools.tmf.core.tests/testfiles";
- private ITmfTrace fTrace = null;
-
- private TmfTestTrace(String file) {
- fPath = file;
- }
-
- /**
- * Get the path of the trace
- *
- * @return The path of this trace
- */
- public String getPath() {
- return fPath;
- }
-
- /**
- * Get the full path of the trace
- *
- * @return The full path of the trace
- */
- public String getFullPath() {
- return fDirectory + File.separator + fPath;
- }
-
- /**
- * Return a ITmfTrace object of this test trace. It will be already
- * initTrace()'ed. This method will always return a new trace and dispose of
- * the old one.
- *
- * After being used by unit tests, traces must be properly disposed of by
- * calling the {@link TmfTestTrace#dispose()} method.
- *
- * @return A {@link ITmfTrace} reference to this trace
- */
- public ITmfTrace getTrace() {
- if (fTrace != null) {
- fTrace.dispose();
- }
- final URL location = FileLocator.find(TmfCoreTestPlugin.getDefault().getBundle(), new Path(fDirectory + File.separator + fPath), null);
- try {
- File test = new File(FileLocator.toFileURL(location).toURI());
- fTrace = new TmfTraceStub(test.toURI().getPath(), ITmfTrace.DEFAULT_TRACE_CACHE_SIZE, false, null);
-
- } catch (URISyntaxException | IOException | TmfTraceException e) {
- throw new IllegalStateException(e);
- }
- return fTrace;
- }
-
- /**
- * Return a ITmfTrace object that is of type {@link TmfTraceStub2}. It
- * will be already initTrace()'ed. But the trace will be deregistered from
- * signal managers and will need to be manually disposed of by the caller.
- *
- * @return a {@link ITmfTrace} reference to this trace
- */
- public ITmfTrace getTraceAsStub2() {
- ITmfTrace trace = null;
- final URL location = FileLocator.find(TmfCoreTestPlugin.getDefault().getBundle(), new Path(fDirectory + File.separator + fPath), null);
- try {
- File test = new File(FileLocator.toFileURL(location).toURI());
- trace = new TmfTraceStub2(test.toURI().getPath(), ITmfTrace.DEFAULT_TRACE_CACHE_SIZE, false, null);
- TmfSignalManager.deregister(trace);
-
- } catch (URISyntaxException | IOException | TmfTraceException e) {
- throw new IllegalStateException(e);
- }
- return trace;
- }
-
- /**
- * Dispose of the trace
- */
- public void dispose() {
- if (fTrace != null) {
- fTrace.dispose();
- fTrace = null;
- }
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/AllTmfCoreTests.java b/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/AllTmfCoreTests.java
deleted file mode 100644
index 691ac6022e..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/AllTmfCoreTests.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009, 2014 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
- * Alexandre Montplaisir - Port to JUnit4, enable CTF and statistics tests
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.core.tests;
-
-import org.junit.runner.RunWith;
-import org.junit.runners.Suite;
-
-/**
- * Master test suite for TMF Core.
- */
-@RunWith(Suite.class)
-@Suite.SuiteClasses({
- TmfCorePluginTest.class,
- org.eclipse.linuxtools.tmf.core.tests.analysis.AllTests.class,
- org.eclipse.linuxtools.tmf.core.tests.component.AllTests.class,
- org.eclipse.linuxtools.tmf.core.tests.event.AllTests.class,
- org.eclipse.linuxtools.tmf.core.tests.event.lookup.AllTests.class,
- org.eclipse.linuxtools.tmf.core.tests.filter.AllTests.class,
- org.eclipse.linuxtools.tmf.core.tests.request.AllTests.class,
- org.eclipse.linuxtools.tmf.core.tests.signal.AllTests.class,
- org.eclipse.linuxtools.tmf.core.tests.statesystem.AllTests.class,
- org.eclipse.linuxtools.tmf.core.tests.statesystem.mipmap.AllTests.class,
- org.eclipse.linuxtools.tmf.core.tests.synchronization.AllTests.class,
- org.eclipse.linuxtools.tmf.core.tests.trace.AllTests.class,
- org.eclipse.linuxtools.tmf.core.tests.trace.indexer.AllTests.class,
- org.eclipse.linuxtools.tmf.core.tests.trace.indexer.checkpoint.AllTests.class,
- org.eclipse.linuxtools.tmf.core.tests.trace.location.AllTests.class,
- org.eclipse.linuxtools.tmf.core.tests.trace.stub.AllTests.class,
- org.eclipse.linuxtools.tmf.core.tests.trace.text.AllTests.class,
- org.eclipse.linuxtools.tmf.core.tests.uml2sd.AllTests.class,
- org.eclipse.linuxtools.tmf.core.tests.util.AllTests.class
-})
-public class AllTmfCoreTests {
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/TmfCorePluginTest.java b/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/TmfCorePluginTest.java
deleted file mode 100644
index 4e09e75cc2..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/TmfCorePluginTest.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009, 2013 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
- * Alexandre Montplaisir - Port to JUnit4
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.core.tests;
-
-import static org.junit.Assert.assertEquals;
-
-import org.eclipse.linuxtools.internal.tmf.core.Activator;
-import org.junit.Test;
-
-/**
- * Test the TMF core plug-in activator
- */
-public class TmfCorePluginTest {
-
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
-
- // Plug-in instantiation
- static final Activator fPlugin = new Activator();
-
- // ------------------------------------------------------------------------
- // Test cases
- // ------------------------------------------------------------------------
-
- /**
- * Test the plugin ID.
- */
- @Test
- public void testTmfCorePluginId() {
- assertEquals("Plugin ID", "org.eclipse.linuxtools.tmf.core", Activator.PLUGIN_ID);
- }
-
- /**
- * Test the getDefault() static method.
- */
- @Test
- public void testGetDefault() {
- Activator plugin = Activator.getDefault();
- assertEquals("getDefault()", plugin, fPlugin);
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/TmfCoreTestPlugin.java b/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/TmfCoreTestPlugin.java
deleted file mode 100644
index 4d6ec364fb..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/TmfCoreTestPlugin.java
+++ /dev/null
@@ -1,84 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009, 2013 Ericsson
- *
- * All rights reserved. This program and the accompanying materials are
- * made available under the terms of the Eclipse Public License v1.0 which
- * accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Francois Chouinard - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.core.tests;
-
-import org.eclipse.core.runtime.Plugin;
-import org.eclipse.linuxtools.internal.tmf.core.TmfCoreTracer;
-import org.osgi.framework.BundleContext;
-
-/**
- * <b><u>TmfTestPlugin</u></b>
- * <p>
- * The activator class controls the plug-in life cycle
- */
-public class TmfCoreTestPlugin extends Plugin {
-
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
-
- // The plug-in ID
- @SuppressWarnings("javadoc")
- public static final String PLUGIN_ID = "org.eclipse.linuxtools.tmf.tests";
-
- // The shared instance
- private static TmfCoreTestPlugin fPlugin;
-
- // ------------------------------------------------------------------------
- // Constructors
- // ------------------------------------------------------------------------
-
- /**
- * The constructor
- */
- public TmfCoreTestPlugin() {
- setDefault(this);
- }
-
- // ------------------------------------------------------------------------
- // Accessors
- // ------------------------------------------------------------------------
-
- /**
- * @return the shared instance
- */
- public static TmfCoreTestPlugin getDefault() {
- return fPlugin;
- }
-
- /**
- * @param plugin the shared instance
- */
- private static void setDefault(TmfCoreTestPlugin plugin) {
- fPlugin = plugin;
- }
-
- // ------------------------------------------------------------------------
- // Operations
- // ------------------------------------------------------------------------
-
- @Override
- public void start(BundleContext context) throws Exception {
- super.start(context);
- setDefault(this);
- TmfCoreTracer.init();
- }
-
- @Override
- public void stop(BundleContext context) throws Exception {
- TmfCoreTracer.stop();
- setDefault(null);
- super.stop(context);
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/analysis/AllTests.java b/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/analysis/AllTests.java
deleted file mode 100644
index a97a023406..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/analysis/AllTests.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 École Polytechnique de Montréal
- *
- * 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:
- * Geneviève Bastien - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.core.tests.analysis;
-
-import org.junit.runner.RunWith;
-import org.junit.runners.Suite;
-
-/**
- * Unit tests for the analysis package.
- */
-@RunWith(Suite.class)
-@Suite.SuiteClasses({
- AnalysisManagerTest.class,
- AnalysisModuleTest.class,
- AnalysisModuleHelperTest.class,
- AnalysisParameterProviderTest.class,
- AnalysisRequirementTest.class,
- AnalysisRequirementHelperTest.class
-})
-public class AllTests {
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/analysis/AnalysisManagerTest.java b/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/analysis/AnalysisManagerTest.java
deleted file mode 100644
index da3af39495..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/analysis/AnalysisManagerTest.java
+++ /dev/null
@@ -1,130 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013, 2014 École Polytechnique de Montréal
- *
- * 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:
- * Geneviève Bastien - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.core.tests.analysis;
-
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertTrue;
-
-import java.util.Map;
-
-import org.eclipse.linuxtools.tmf.core.analysis.IAnalysisModuleHelper;
-import org.eclipse.linuxtools.tmf.core.analysis.IAnalysisModuleSource;
-import org.eclipse.linuxtools.tmf.core.analysis.TmfAnalysisManager;
-import org.eclipse.linuxtools.tmf.core.tests.shared.TmfTestTrace;
-import org.eclipse.linuxtools.tmf.core.trace.ITmfTrace;
-import org.eclipse.linuxtools.tmf.tests.stubs.analysis.AnalysisModuleSourceStub;
-import org.eclipse.linuxtools.tmf.tests.stubs.analysis.AnalysisModuleTestHelper;
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Test;
-
-/**
- * Test suite for the TmfAnalysisModule class
- */
-public class AnalysisManagerTest {
-
- /** Id of analysis module with parameter */
- public static final String MODULE_PARAM = "org.eclipse.linuxtools.tmf.core.tests.analysis.test";
- /** ID of analysis module with parameter and default value */
- public static final String MODULE_PARAM_DEFAULT = "org.eclipse.linuxtools.tmf.core.tests.analysis.test2";
- /** ID of analysis module for trace 2 classes only */
- public static final String MODULE_SECOND = "org.eclipse.linuxtools.tmf.core.tests.analysis.testother";
- /** Id of analysis module with requirements */
- public static final String MODULE_REQ = "org.eclipse.linuxtools.tmf.core.tests.analysis.reqtest";
-
- private ITmfTrace fTrace;
-
- /**
- * Set up some trace code
- */
- @Before
- public void setupTraces() {
- fTrace = TmfTestTrace.A_TEST_10K2.getTraceAsStub2();
- }
-
- /**
- * Some tests use traces, let's clean them here
- */
- @After
- public void cleanupTraces() {
- TmfTestTrace.A_TEST_10K.dispose();
- fTrace.dispose();
- }
-
- /**
- * Test suite for the {@link TmfAnalysisManager#getAnalysisModules()} method
- */
- @Test
- public void testGetAnalysisModules() {
- Map<String, IAnalysisModuleHelper> modules = TmfAnalysisManager.getAnalysisModules();
- /* At least 3 modules should be found */
- assertTrue(modules.size() >= 3);
-
- IAnalysisModuleHelper module = modules.get(MODULE_PARAM_DEFAULT);
- assertTrue(module.isAutomatic());
-
- module = modules.get(MODULE_PARAM);
- assertFalse(module.isAutomatic());
- }
-
- /**
- * Test suite for {@link TmfAnalysisManager#getAnalysisModules(Class)} Use
- * the test TMF trace and test trace2 stubs as sample traces
- */
- @Test
- public void testListForTraces() {
- /* Generic TmfTrace */
- ITmfTrace trace = TmfTestTrace.A_TEST_10K.getTrace();
- Map<String, IAnalysisModuleHelper> map = TmfAnalysisManager.getAnalysisModules(trace.getClass());
-
- assertTrue(map.containsKey(MODULE_PARAM));
- assertTrue(map.containsKey(MODULE_PARAM_DEFAULT));
- assertFalse(map.containsKey(MODULE_SECOND));
-
- /* TmfTraceStub2 class */
- map = TmfAnalysisManager.getAnalysisModules(fTrace.getClass());
-
- assertTrue(map.containsKey(MODULE_PARAM));
- assertTrue(map.containsKey(MODULE_PARAM_DEFAULT));
- assertTrue(map.containsKey(MODULE_SECOND));
- }
-
- /**
- * Test suite to test refresh of analysis module when adding a {@link IAnalysisModuleSource}
- */
- @Test
- public void testSources() {
- /* Make sure that modules in the new source are not in the list already */
- /* Generic TmfTrace */
- ITmfTrace trace = TmfTestTrace.A_TEST_10K.getTrace();
- Map<String, IAnalysisModuleHelper> map = TmfAnalysisManager.getAnalysisModules(trace.getClass());
-
- assertFalse(map.containsKey(AnalysisModuleTestHelper.moduleStubEnum.TEST.name()));
-
- /* TmfTraceStub2 class */
- map = TmfAnalysisManager.getAnalysisModules(fTrace.getClass());
-
- assertFalse(map.containsKey(AnalysisModuleTestHelper.moduleStubEnum.TEST2.name()));
-
- /* Add new source */
- TmfAnalysisManager.registerModuleSource(new AnalysisModuleSourceStub());
-
- /* Now make sure the modules are present */
- map = TmfAnalysisManager.getAnalysisModules(trace.getClass());
- assertTrue(map.containsKey(AnalysisModuleTestHelper.moduleStubEnum.TEST.name()));
-
- map = TmfAnalysisManager.getAnalysisModules(fTrace.getClass());
- assertTrue(map.containsKey(AnalysisModuleTestHelper.moduleStubEnum.TEST2.name()));
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/analysis/AnalysisModuleHelperTest.java b/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/analysis/AnalysisModuleHelperTest.java
deleted file mode 100644
index 1c9ff0b8da..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/analysis/AnalysisModuleHelperTest.java
+++ /dev/null
@@ -1,270 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013, 2014 École Polytechnique de Montréal
- *
- * 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:
- * Geneviève Bastien - Initial API and implementation
- * Mathieu Rail - Added tests for getting a module's requirements
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.core.tests.analysis;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertNull;
-import static org.junit.Assert.assertTrue;
-import static org.junit.Assert.fail;
-
-import java.util.HashMap;
-import java.util.Map;
-import java.util.Set;
-
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.linuxtools.tmf.core.analysis.IAnalysisModule;
-import org.eclipse.linuxtools.tmf.core.analysis.IAnalysisModuleHelper;
-import org.eclipse.linuxtools.tmf.core.analysis.Messages;
-import org.eclipse.linuxtools.tmf.core.analysis.TmfAnalysisManager;
-import org.eclipse.linuxtools.tmf.core.analysis.TmfAnalysisModuleHelperConfigElement;
-import org.eclipse.linuxtools.tmf.core.analysis.TmfAnalysisRequirement;
-import org.eclipse.linuxtools.tmf.core.exceptions.TmfAnalysisException;
-import org.eclipse.linuxtools.tmf.core.tests.shared.TmfTestTrace;
-import org.eclipse.linuxtools.tmf.core.trace.ITmfTrace;
-import org.eclipse.linuxtools.tmf.core.trace.TmfTrace;
-import org.eclipse.linuxtools.tmf.tests.stubs.analysis.TestAnalysis;
-import org.eclipse.linuxtools.tmf.tests.stubs.analysis.TestAnalysis2;
-import org.eclipse.linuxtools.tmf.tests.stubs.analysis.TestRequirementAnalysis;
-import org.eclipse.linuxtools.tmf.tests.stubs.trace.TmfTraceStub;
-import org.eclipse.linuxtools.tmf.tests.stubs.trace.TmfTraceStub2;
-import org.eclipse.linuxtools.tmf.tests.stubs.trace.TmfTraceStub3;
-import org.eclipse.osgi.util.NLS;
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Test;
-import org.osgi.framework.Bundle;
-
-import com.google.common.collect.ImmutableSet;
-
-/**
- * Test suite for the {@link TmfAnalysisModuleHelperConfigElement} class
- *
- * @author Geneviève Bastien
- */
-public class AnalysisModuleHelperTest {
-
- private IAnalysisModuleHelper fModule;
- private IAnalysisModuleHelper fModuleOther;
- private IAnalysisModuleHelper fReqModule;
- private ITmfTrace fTrace;
-
- /**
- * Gets the module helpers for 2 test modules
- */
- @Before
- public void getModules() {
- fModule = TmfAnalysisManager.getAnalysisModule(AnalysisManagerTest.MODULE_PARAM);
- assertNotNull(fModule);
- assertTrue(fModule instanceof TmfAnalysisModuleHelperConfigElement);
- fModuleOther = TmfAnalysisManager.getAnalysisModule(AnalysisManagerTest.MODULE_SECOND);
- assertNotNull(fModuleOther);
- assertTrue(fModuleOther instanceof TmfAnalysisModuleHelperConfigElement);
- fReqModule = TmfAnalysisManager.getAnalysisModule(AnalysisManagerTest.MODULE_REQ);
- assertNotNull(fReqModule);
- assertTrue(fReqModule instanceof TmfAnalysisModuleHelperConfigElement);
- fTrace = TmfTestTrace.A_TEST_10K2.getTraceAsStub2();
- }
-
- /**
- * Some tests use traces, let's clean them here
- */
- @After
- public void cleanupTraces() {
- TmfTestTrace.A_TEST_10K.dispose();
- fTrace.dispose();
- }
-
- /**
- * Test the helper's getters and setters
- */
- @Test
- public void testHelperGetters() {
- /* With first module */
- assertEquals(AnalysisManagerTest.MODULE_PARAM, fModule.getId());
- assertEquals("Test analysis", fModule.getName());
- assertFalse(fModule.isAutomatic());
-
- Bundle helperbundle = fModule.getBundle();
- Bundle thisbundle = Platform.getBundle("org.eclipse.linuxtools.tmf.core.tests");
- assertNotNull(helperbundle);
- assertEquals(thisbundle, helperbundle);
-
- /* With other module */
- assertEquals(AnalysisManagerTest.MODULE_SECOND, fModuleOther.getId());
- assertEquals("Test other analysis", fModuleOther.getName());
- assertTrue(fModuleOther.isAutomatic());
- }
-
- /**
- * Test the
- * {@link TmfAnalysisModuleHelperConfigElement#appliesToTraceType(Class)}
- * method for the 2 modules
- */
- @Test
- public void testAppliesToTrace() {
- /* stub module */
- assertFalse(fModule.appliesToTraceType(TmfTrace.class));
- assertTrue(fModule.appliesToTraceType(TmfTraceStub.class));
- assertTrue(fModule.appliesToTraceType(TmfTraceStub2.class));
- assertFalse(fModule.appliesToTraceType(TmfTraceStub3.class));
-
- /* stub module 2 */
- assertFalse(fModuleOther.appliesToTraceType(TmfTrace.class));
- assertFalse(fModuleOther.appliesToTraceType(TmfTraceStub.class));
- assertTrue(fModuleOther.appliesToTraceType(TmfTraceStub2.class));
- assertTrue(fModuleOther.appliesToTraceType(TmfTraceStub3.class));
- }
-
- /**
- * Test the
- * {@link TmfAnalysisModuleHelperConfigElement#newModule(ITmfTrace)} method
- * for the 2 modules
- */
- @Test
- public void testNewModule() {
- /* Test analysis module with traceStub */
- Exception exception = null;
- try (IAnalysisModule module = fModule.newModule(TmfTestTrace.A_TEST_10K.getTrace());) {
- assertNotNull(module);
- assertTrue(module instanceof TestAnalysis);
- } catch (TmfAnalysisException e) {
- exception = e;
- }
- assertNull(exception);
-
- /* TestAnalysis2 module with trace, should return an exception */
- try (IAnalysisModule module = fModuleOther.newModule(TmfTestTrace.A_TEST_10K.getTrace());) {
- } catch (TmfAnalysisException e) {
- exception = e;
- }
- assertNotNull(exception);
- assertEquals(NLS.bind(Messages.TmfAnalysisModuleHelper_AnalysisDoesNotApply, fModuleOther.getName()), exception.getMessage());
-
- /* TestAnalysis2 module with a TraceStub2 */
- exception = null;
- try (IAnalysisModule module = fModuleOther.newModule(fTrace);) {
- assertNotNull(module);
- assertTrue(module instanceof TestAnalysis2);
- } catch (TmfAnalysisException e) {
- exception = e;
- }
- assertNull(exception);
- }
-
- /**
- * Test for the initialization of parameters from the extension points
- */
- @Test
- public void testParameters() {
- ITmfTrace trace = TmfTestTrace.A_TEST_10K.getTrace();
-
- /*
- * This analysis has a parameter, but no default value. we should be
- * able to set the parameter
- */
- IAnalysisModuleHelper helper = TmfAnalysisManager.getAnalysisModule(AnalysisManagerTest.MODULE_PARAM);
- try (IAnalysisModule module = helper.newModule(trace);) {
- assertNull(module.getParameter(TestAnalysis.PARAM_TEST));
- module.setParameter(TestAnalysis.PARAM_TEST, 1);
- assertEquals(1, module.getParameter(TestAnalysis.PARAM_TEST));
-
- } catch (TmfAnalysisException e1) {
- fail(e1.getMessage());
- return;
- }
-
- /* This module has a parameter with default value */
- helper = TmfAnalysisManager.getAnalysisModule(AnalysisManagerTest.MODULE_PARAM_DEFAULT);
- try (IAnalysisModule module = helper.newModule(trace);) {
- assertEquals(3, module.getParameter(TestAnalysis.PARAM_TEST));
- module.setParameter(TestAnalysis.PARAM_TEST, 1);
- assertEquals(1, module.getParameter(TestAnalysis.PARAM_TEST));
-
- } catch (TmfAnalysisException e1) {
- fail(e1.getMessage());
- return;
- }
-
- /*
- * This module does not have a parameter so setting it should throw an
- * error
- */
- helper = TmfAnalysisManager.getAnalysisModule(AnalysisManagerTest.MODULE_SECOND);
- Exception exception = null;
- try (IAnalysisModule module = helper.newModule(fTrace);) {
-
- assertNull(module.getParameter(TestAnalysis.PARAM_TEST));
-
- try {
- module.setParameter(TestAnalysis.PARAM_TEST, 1);
- } catch (RuntimeException e) {
- exception = e;
- }
- } catch (TmfAnalysisException e1) {
- fail(e1.getMessage());
- return;
- }
- assertNotNull(exception);
- }
-
- /**
- * Test for the
- * {@link TmfAnalysisModuleHelperConfigElement#getValidTraceTypes} method
- */
- @Test
- public void testGetValidTraceTypes() {
- Set<Class<? extends ITmfTrace>> expected = ImmutableSet.of((Class<? extends ITmfTrace>) TmfTraceStub.class, TmfTraceStub2.class, TmfTraceStub3.class);
- Iterable<Class<? extends ITmfTrace>> traceTypes = fReqModule.getValidTraceTypes();
- assertEquals(expected, traceTypes);
- }
-
- /**
- * Test for the
- * {@link TmfAnalysisModuleHelperConfigElement#getAnalysisRequirements}
- * method
- */
- @Test
- public void testGetRequirements() {
- Iterable<TmfAnalysisRequirement> requirements = fReqModule.getAnalysisRequirements();
- assertNotNull(requirements);
-
- Map<String, TmfAnalysisRequirement> rMap = new HashMap<>();
-
- for (TmfAnalysisRequirement req : requirements) {
- assertFalse(rMap.containsKey(req.getType()));
- rMap.put(req.getType(), req);
- }
- assertEquals(2, rMap.size());
-
- /* Test if all types and values have been obtained */
- TmfAnalysisRequirement req = rMap.get(TestRequirementAnalysis.EVENT_TYPE);
- assertNotNull(req);
-
- Set<String> values = req.getValues();
- assertEquals(3, values.size());
- assertTrue(values.contains(TestRequirementAnalysis.EXIT_SYSCALL));
- assertTrue(values.contains(TestRequirementAnalysis.SCHED_SWITCH));
- assertTrue(values.contains(TestRequirementAnalysis.SCHED_WAKEUP));
-
- req = rMap.get(TestRequirementAnalysis.FIELD_TYPE);
- assertNotNull(req);
-
- values = req.getValues();
- assertEquals(2, values.size());
- assertTrue(values.contains(TestRequirementAnalysis.PID));
- assertTrue(values.contains(TestRequirementAnalysis.TID));
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/analysis/AnalysisModuleTest.java b/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/analysis/AnalysisModuleTest.java
deleted file mode 100644
index fbeac78c63..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/analysis/AnalysisModuleTest.java
+++ /dev/null
@@ -1,257 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013, 2014 École Polytechnique de Montréal
- *
- * 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:
- * Geneviève Bastien - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.core.tests.analysis;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertNull;
-import static org.junit.Assert.assertTrue;
-import static org.junit.Assert.fail;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.linuxtools.tmf.core.analysis.IAnalysisModule;
-import org.eclipse.linuxtools.tmf.core.analysis.Messages;
-import org.eclipse.linuxtools.tmf.core.analysis.TmfAbstractAnalysisModule;
-import org.eclipse.linuxtools.tmf.core.exceptions.TmfAnalysisException;
-import org.eclipse.linuxtools.tmf.core.tests.shared.TmfTestHelper;
-import org.eclipse.linuxtools.tmf.core.tests.shared.TmfTestTrace;
-import org.eclipse.linuxtools.tmf.core.trace.ITmfTrace;
-import org.eclipse.linuxtools.tmf.tests.stubs.analysis.TestAnalysis;
-import org.eclipse.linuxtools.tmf.tests.stubs.analysis.TestAnalysis2;
-import org.eclipse.osgi.util.NLS;
-import org.junit.After;
-import org.junit.Test;
-
-/**
- * Test suite for the {@link TmfAbstractAnalysisModule} class
- */
-public class AnalysisModuleTest {
-
- private static String MODULE_GENERIC_ID = "test.id";
- private static String MODULE_GENERIC_NAME = "Test analysis";
-
- /**
- * Some tests use traces, let's clean them here
- */
- @After
- public void cleanupTraces() {
- TmfTestTrace.A_TEST_10K.dispose();
- }
-
- /**
- * Test suite for analysis module getters and setters
- */
- @Test
- public void testGettersSetters() {
- try (IAnalysisModule module = new TestAnalysis();) {
-
- module.setName(MODULE_GENERIC_NAME);
- module.setId(MODULE_GENERIC_ID);
- assertEquals(MODULE_GENERIC_ID, module.getId());
- assertEquals(MODULE_GENERIC_NAME, module.getName());
-
- module.setAutomatic(false);
- assertFalse(module.isAutomatic());
- module.setAutomatic(true);
- assertTrue(module.isAutomatic());
- module.addParameter(TestAnalysis.PARAM_TEST);
- assertNull(module.getParameter(TestAnalysis.PARAM_TEST));
- module.setParameter(TestAnalysis.PARAM_TEST, 1);
- assertEquals(1, module.getParameter(TestAnalysis.PARAM_TEST));
-
- /* Try to set and get wrong parameter */
- String wrongParam = "abc";
- Exception exception = null;
- try {
- module.setParameter(wrongParam, 1);
- } catch (RuntimeException e) {
- exception = e;
- assertEquals(NLS.bind(Messages.TmfAbstractAnalysisModule_InvalidParameter, wrongParam, module.getName()), e.getMessage());
- }
- assertNotNull(exception);
- assertNull(module.getParameter(wrongParam));
- }
- }
-
- private static TestAnalysis setUpAnalysis() {
- TestAnalysis module = new TestAnalysis();
-
- module.setName(MODULE_GENERIC_NAME);
- module.setId(MODULE_GENERIC_ID);
- module.addParameter(TestAnalysis.PARAM_TEST);
-
- return module;
- }
-
- /**
- * Test suite for analysis module
- * {@link TmfAbstractAnalysisModule#waitForCompletion} with successful
- * execution
- */
- @Test
- public void testWaitForCompletionSuccess() {
- try (TestAnalysis module = setUpAnalysis();) {
-
- IStatus status = module.schedule();
- assertEquals(IStatus.ERROR, status.getSeverity());
-
- /* Set a stub trace for analysis */
- try {
- module.setTrace(TmfTestTrace.A_TEST_10K.getTrace());
- } catch (TmfAnalysisException e) {
- fail(e.getMessage());
- }
-
- /* Default execution, with output 1 */
- module.setParameter(TestAnalysis.PARAM_TEST, 1);
- status = module.schedule();
- assertEquals(Status.OK_STATUS, status);
- boolean completed = module.waitForCompletion();
-
- assertTrue(completed);
- assertEquals(1, module.getAnalysisOutput());
- }
- }
-
- /**
- * Test suite for {@link TmfAbstractAnalysisModule#waitForCompletion} with cancellation
- */
- @Test
- public void testWaitForCompletionCancelled() {
- try (TestAnalysis module = setUpAnalysis();) {
-
- /* Set a stub trace for analysis */
- ITmfTrace trace = TmfTestTrace.A_TEST_10K.getTrace();
- try {
- module.setTrace(trace);
- } catch (TmfAnalysisException e) {
- fail(e.getMessage());
- }
-
- module.setParameter(TestAnalysis.PARAM_TEST, 0);
- IStatus status = module.schedule();
- assertEquals(Status.OK_STATUS, status);
- boolean completed = module.waitForCompletion();
-
- assertFalse(completed);
- assertEquals(0, module.getAnalysisOutput());
- }
- }
-
- /**
- * Test the {@link TmfAbstractAnalysisModule#setTrace(ITmfTrace)} method with wrong trace
- */
- @Test
- public void testSetWrongTrace() {
- try (IAnalysisModule module = new TestAnalysis2();) {
-
- module.setName(MODULE_GENERIC_NAME);
- module.setId(MODULE_GENERIC_ID);
- assertEquals(MODULE_GENERIC_ID, module.getId());
- assertEquals(MODULE_GENERIC_NAME, module.getName());
-
- Exception exception = null;
- try {
- module.setTrace(TmfTestTrace.A_TEST_10K.getTrace());
- } catch (TmfAnalysisException e) {
- exception = e;
- }
- assertNotNull(exception);
- assertEquals(NLS.bind(Messages.TmfAbstractAnalysisModule_AnalysisCannotExecute, module.getName()), exception.getMessage());
- }
- }
-
- /**
- * Test suite for the {@link TmfAbstractAnalysisModule#cancel()} method
- */
- @Test
- public void testCancel() {
- try (TestAnalysis module = setUpAnalysis();) {
-
- module.setParameter(TestAnalysis.PARAM_TEST, 999);
- try {
- module.setTrace(TmfTestTrace.A_TEST_10K.getTrace());
- } catch (TmfAnalysisException e) {
- fail(e.getMessage());
- }
-
- assertEquals(Status.OK_STATUS, module.schedule());
-
- /* Give the job a chance to start */
- try {
- Thread.sleep(1000);
- } catch (InterruptedException e) {
- fail(e.getMessage());
- }
-
- module.cancel();
- assertFalse(module.waitForCompletion());
- assertEquals(-1, module.getAnalysisOutput());
- }
- }
-
- /**
- * Test suite for the {@link IAnalysisModule#notifyParameterChanged(String)}
- * method
- */
- @Test
- public void testParameterChanged() {
- try (TestAnalysis module = setUpAnalysis();) {
-
- try {
- module.setTrace(TmfTestTrace.A_TEST_10K.getTrace());
- } catch (TmfAnalysisException e) {
- fail(e.getMessage());
- }
-
- /* Check exception if no wrong parameter name */
- Exception exception = null;
- try {
- module.notifyParameterChanged("aaa");
- } catch (RuntimeException e) {
- exception = e;
- }
- assertNotNull(exception);
-
- /*
- * Cannot test anymore of this method, need a parameter provider to
- * do this
- */
- }
- }
-
- /**
- * Test the {@link TmfTestHelper#executeAnalysis(IAnalysisModule)} method
- */
- @Test
- public void testHelper() {
- try (TestAnalysis module = setUpAnalysis();) {
-
- try {
- module.setTrace(TmfTestTrace.A_TEST_10K.getTrace());
- } catch (TmfAnalysisException e) {
- fail(e.getMessage());
- }
-
- module.setParameter(TestAnalysis.PARAM_TEST, 1);
- boolean res = TmfTestHelper.executeAnalysis(module);
- assertTrue(res);
-
- module.setParameter(TestAnalysis.PARAM_TEST, 0);
- res = TmfTestHelper.executeAnalysis(module);
- assertFalse(res);
- }
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/analysis/AnalysisParameterProviderTest.java b/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/analysis/AnalysisParameterProviderTest.java
deleted file mode 100644
index 51e6c15e49..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/analysis/AnalysisParameterProviderTest.java
+++ /dev/null
@@ -1,81 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 École Polytechnique de Montréal
- *
- * 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:
- * Geneviève Bastien - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.core.tests.analysis;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.fail;
-
-import java.util.List;
-
-import org.eclipse.linuxtools.tmf.core.analysis.IAnalysisModule;
-import org.eclipse.linuxtools.tmf.core.analysis.IAnalysisModuleHelper;
-import org.eclipse.linuxtools.tmf.core.analysis.IAnalysisParameterProvider;
-import org.eclipse.linuxtools.tmf.core.analysis.TmfAnalysisManager;
-import org.eclipse.linuxtools.tmf.core.exceptions.TmfAnalysisException;
-import org.eclipse.linuxtools.tmf.core.tests.shared.TmfTestTrace;
-import org.eclipse.linuxtools.tmf.core.trace.ITmfTrace;
-import org.eclipse.linuxtools.tmf.tests.stubs.analysis.TestAnalysis;
-import org.eclipse.linuxtools.tmf.tests.stubs.analysis.TestAnalysisParameterProvider;
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Test;
-
-/**
- * Test the TmfAbstractParameterProvider class
- *
- * @author Geneviève Bastien
- */
-public class AnalysisParameterProviderTest {
-
- /**
- * Registers the parameter provider
- */
- @Before
- public void setup() {
- TmfAnalysisManager.registerParameterProvider(AnalysisManagerTest.MODULE_PARAM, TestAnalysisParameterProvider.class);
- }
-
- /**
- * Cleanup the trace after testing
- */
- @After
- public void cleanupTrace() {
- TmfTestTrace.A_TEST_10K.dispose();
- }
-
- /**
- * Test that the provider's value is used
- */
- @Test
- public void testProviderTmfTrace() {
- ITmfTrace trace = TmfTestTrace.A_TEST_10K.getTrace();
- /* Make sure the value is set to null */
- IAnalysisModuleHelper helper = TmfAnalysisManager.getAnalysisModule(AnalysisManagerTest.MODULE_PARAM);
- try (IAnalysisModule module = helper.newModule(trace);) {
-
- assertEquals(10, module.getParameter(TestAnalysis.PARAM_TEST));
-
- /* Change the value of the parameter in the provider */
- List<IAnalysisParameterProvider> providers = TmfAnalysisManager.getParameterProviders(module, trace);
- assertEquals(1, providers.size());
- TestAnalysisParameterProvider provider = (TestAnalysisParameterProvider) providers.get(0);
- provider.setValue(5);
- assertEquals(5, module.getParameter(TestAnalysis.PARAM_TEST));
-
- } catch (TmfAnalysisException e) {
- fail(e.getMessage());
- return;
- }
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/analysis/AnalysisRequirementHelperTest.java b/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/analysis/AnalysisRequirementHelperTest.java
deleted file mode 100644
index 65f1366113..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/analysis/AnalysisRequirementHelperTest.java
+++ /dev/null
@@ -1,182 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 École Polytechnique de Montréal
- *
- * 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:
- * Guilliano Molaire - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.core.tests.analysis;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertTrue;
-
-import java.util.Collection;
-import java.util.HashSet;
-import java.util.Set;
-
-import org.eclipse.linuxtools.tmf.core.analysis.IAnalysisRequirementProvider;
-import org.eclipse.linuxtools.tmf.core.analysis.TmfAnalysisRequirement.ValuePriorityLevel;
-import org.eclipse.linuxtools.tmf.core.analysis.TmfAnalysisRequirementHelper;
-import org.eclipse.linuxtools.tmf.tests.stubs.analysis.AnalysisModuleTestHelper;
-import org.eclipse.linuxtools.tmf.tests.stubs.analysis.AnalysisModuleTestHelper.moduleStubEnum;
-import org.eclipse.linuxtools.tmf.tests.stubs.analysis.AnalysisRequirementFactory;
-import org.junit.Before;
-import org.junit.Test;
-
-import com.google.common.collect.Multimap;
-
-/**
- * Test suite for the {@link TmfAnalysisRequirementHelper} class
- */
-public class AnalysisRequirementHelperTest {
-
- private AnalysisModuleTestHelper fTestModuleHelper;
- private AnalysisModuleTestHelper fTestModuleHelper2;
-
- /**
- * Set up analysis modules
- */
- @Before
- public void setUpTest() {
- fTestModuleHelper = new AnalysisModuleTestHelper(moduleStubEnum.TEST);
- fTestModuleHelper2 = new AnalysisModuleTestHelper(moduleStubEnum.TEST2);
- }
-
- /**
- * Test suite for the
- * {@link TmfAnalysisRequirementHelper#getRequirementValues(IAnalysisRequirementProvider, String)}
- * method
- */
- @Test
- public void testGetRequirementValues() {
- /* Test with a supported type */
- String type = AnalysisRequirementFactory.REQUIREMENT_TYPE_1;
- Set<String> values = TmfAnalysisRequirementHelper.getRequirementValues(fTestModuleHelper, type);
- assertEquals(AnalysisRequirementFactory.REQUIREMENT_VALUES_1.size(), values.size());
-
- /* Test with a type not supported */
- type = AnalysisRequirementFactory.REQUIREMENT_TYPE_2;
- values = TmfAnalysisRequirementHelper.getRequirementValues(fTestModuleHelper, type);
- assertTrue(values.isEmpty());
- }
-
- /**
- * Test suite for the
- * {@link TmfAnalysisRequirementHelper#getRequirementValues(IAnalysisRequirementProvider, String, ValuePriorityLevel)}
- * method
- */
- @Test
- public void testGetRequirementValuesWithLevel() {
- /* Test with a supported type */
- String type = AnalysisRequirementFactory.REQUIREMENT_TYPE_2;
- Set<String> values = TmfAnalysisRequirementHelper.getRequirementValues(fTestModuleHelper2, type, ValuePriorityLevel.MANDATORY);
- assertEquals(3, values.size());
-
- /* Test with another value level */
- values = TmfAnalysisRequirementHelper.getRequirementValues(fTestModuleHelper2, type, ValuePriorityLevel.OPTIONAL);
- assertEquals(2, values.size());
-
- /* Test with a type not supported */
- type = AnalysisRequirementFactory.REQUIREMENT_TYPE_1;
- values = TmfAnalysisRequirementHelper.getRequirementValues(fTestModuleHelper2, type, ValuePriorityLevel.MANDATORY);
- assertTrue(values.isEmpty());
- }
-
- /**
- * Test suite for the
- * {@link TmfAnalysisRequirementHelper#getRequirementValuesMap(Iterable)}
- * method
- */
- @Test
- public void testGetRequirementValuesMap() {
- Set<IAnalysisRequirementProvider> providers = new HashSet<>();
- providers.add(fTestModuleHelper2);
- providers.add(fTestModuleHelper);
-
- Multimap<String, String> valuesByType = TmfAnalysisRequirementHelper.getRequirementValuesMap(providers);
- assertFalse(valuesByType.isEmpty());
-
- /* There should be 3 types */
- assertEquals(3, valuesByType.keySet().size());
-
- Collection<String> values = valuesByType.get(AnalysisRequirementFactory.REQUIREMENT_TYPE_1);
- assertEquals(4, values.size());
- assertTrue(values.contains(AnalysisRequirementFactory.REQUIREMENT_VALUE_1));
- assertTrue(values.contains(AnalysisRequirementFactory.REQUIREMENT_VALUE_2));
- assertTrue(values.contains(AnalysisRequirementFactory.REQUIREMENT_VALUE_3));
- assertTrue(values.contains(AnalysisRequirementFactory.REQUIREMENT_VALUE_5));
-
- values = valuesByType.get(AnalysisRequirementFactory.REQUIREMENT_TYPE_2);
- assertEquals(5, values.size());
- assertTrue(values.contains(AnalysisRequirementFactory.REQUIREMENT_VALUE_1));
- assertTrue(values.contains(AnalysisRequirementFactory.REQUIREMENT_VALUE_2));
- assertTrue(values.contains(AnalysisRequirementFactory.REQUIREMENT_VALUE_3));
- assertTrue(values.contains(AnalysisRequirementFactory.REQUIREMENT_VALUE_4));
- assertTrue(values.contains(AnalysisRequirementFactory.REQUIREMENT_VALUE_5));
-
- values = valuesByType.get(AnalysisRequirementFactory.REQUIREMENT_TYPE_3);
- assertEquals(3, values.size());
- assertTrue(values.contains(AnalysisRequirementFactory.REQUIREMENT_VALUE_3));
- assertTrue(values.contains(AnalysisRequirementFactory.REQUIREMENT_VALUE_4));
- assertTrue(values.contains(AnalysisRequirementFactory.REQUIREMENT_VALUE_5));
- }
-
- /**
- * Test suite for the
- * {@link TmfAnalysisRequirementHelper#getRequirementValuesMap(Iterable, ValuePriorityLevel)}
- * method
- */
- @Test
- public void testGetRequirementValuesMapWithLevel() {
- Set<IAnalysisRequirementProvider> providers = new HashSet<>();
- providers.add(fTestModuleHelper2);
- providers.add(fTestModuleHelper);
-
- /* There should be 3 optional requirements types */
- Multimap<String, String> valuesByType = TmfAnalysisRequirementHelper.getRequirementValuesMap(providers, ValuePriorityLevel.OPTIONAL);
- assertTrue(!valuesByType.isEmpty());
- assertEquals(1, valuesByType.keySet().size());
-
- Collection<String> values = valuesByType.get(AnalysisRequirementFactory.REQUIREMENT_TYPE_1);
- assertTrue(values.isEmpty());
-
- values = valuesByType.get(AnalysisRequirementFactory.REQUIREMENT_TYPE_2);
- assertEquals(2, values.size());
- assertTrue(values.contains(AnalysisRequirementFactory.REQUIREMENT_VALUE_2));
- assertTrue(values.contains(AnalysisRequirementFactory.REQUIREMENT_VALUE_4));
-
- values = valuesByType.get(AnalysisRequirementFactory.REQUIREMENT_TYPE_3);
- assertTrue(values.isEmpty());
-
- /* And 3 types with mandatory requirements */
- valuesByType = TmfAnalysisRequirementHelper.getRequirementValuesMap(providers, ValuePriorityLevel.MANDATORY);
- assertTrue(!valuesByType.isEmpty());
- assertEquals(3, valuesByType.keySet().size());
-
- values = valuesByType.get(AnalysisRequirementFactory.REQUIREMENT_TYPE_1);
- assertEquals(4, values.size());
- assertTrue(values.contains(AnalysisRequirementFactory.REQUIREMENT_VALUE_1));
- assertTrue(values.contains(AnalysisRequirementFactory.REQUIREMENT_VALUE_2));
- assertTrue(values.contains(AnalysisRequirementFactory.REQUIREMENT_VALUE_3));
- assertTrue(values.contains(AnalysisRequirementFactory.REQUIREMENT_VALUE_5));
-
- values = valuesByType.get(AnalysisRequirementFactory.REQUIREMENT_TYPE_2);
- assertEquals(3, values.size());
- assertTrue(values.contains(AnalysisRequirementFactory.REQUIREMENT_VALUE_1));
- assertTrue(values.contains(AnalysisRequirementFactory.REQUIREMENT_VALUE_3));
- assertTrue(values.contains(AnalysisRequirementFactory.REQUIREMENT_VALUE_5));
-
- values = valuesByType.get(AnalysisRequirementFactory.REQUIREMENT_TYPE_3);
- assertEquals(3, values.size());
- assertTrue(values.contains(AnalysisRequirementFactory.REQUIREMENT_VALUE_3));
- assertTrue(values.contains(AnalysisRequirementFactory.REQUIREMENT_VALUE_4));
- assertTrue(values.contains(AnalysisRequirementFactory.REQUIREMENT_VALUE_5));
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/analysis/AnalysisRequirementTest.java b/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/analysis/AnalysisRequirementTest.java
deleted file mode 100644
index 502d270105..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/analysis/AnalysisRequirementTest.java
+++ /dev/null
@@ -1,243 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 École Polytechnique de Montréal
- *
- * 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:
- * Guilliano Molaire - Initial API and implementation
- * Mathieu Rail - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.core.tests.analysis;
-
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Set;
-
-import org.eclipse.linuxtools.tmf.core.analysis.TmfAnalysisRequirement;
-import org.eclipse.linuxtools.tmf.core.analysis.TmfAnalysisRequirement.ValuePriorityLevel;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNull;
-import static org.junit.Assert.assertTrue;
-
-import org.junit.Test;
-
-/**
- * Test suite for the {@link TmfAnalysisRequirement} class.
- *
- * @author Guilliano Molaire
- * @author Mathieu Rail
- */
-public class AnalysisRequirementTest {
-
- /* Requirements used in the tests */
- private TmfAnalysisRequirement fRequirement;
- private TmfAnalysisRequirement fSubRequirement;
-
- /* Types of requirement type strings */
- private static final String TYPE_A = "Test Type A";
- private static final String TYPE_B = "Test Type B";
-
- /* Requirement value name strings */
- private static final String VALUE_A = "Test Value A";
- private static final String VALUE_B = "Test Value B";
- private static final String VALUE_C = "Test Value C";
- private static final String VALUE_D = "Test Value D";
- private static final String VALUE_E = "Test Value E";
- private static final String VALUE_F = "Test Value F";
-
- /* Requirement information strings */
- private static final String INFO_A = "This is an information.";
- private static final String INFO_B = "This is another information.";
- private static final String INFO_C = "This is the last information.";
-
- /**
- * Test suite for the {@link TmfAnalysisRequirement#addInformation} and the
- * {@link TmfAnalysisRequirement#getInformation} methods.
- */
- @Test
- public void testAddAndGetInformation() {
- fRequirement = new TmfAnalysisRequirement(TYPE_A);
-
- fRequirement.addInformation(INFO_A);
- fRequirement.addInformation(INFO_B);
- fRequirement.addInformation(INFO_B);
-
- Set<String> information = fRequirement.getInformation();
-
- assertEquals(2, information.size());
-
- assertTrue(information.contains(INFO_A));
- assertTrue(information.contains(INFO_B));
- }
-
- /**
- * Test suite for the {@link TmfAnalysisRequirement#addValues} and the
- * {@link TmfAnalysisRequirement#addValue} methods.
- */
- @Test
- public void testAddValuesToRequirement() {
- fRequirement = new TmfAnalysisRequirement(TYPE_A);
-
- assertEquals(0, fRequirement.getValues().size());
-
- List<String> values = new ArrayList<>();
- values.add(VALUE_A);
- values.add(VALUE_B);
- values.add(VALUE_C);
- values.add(VALUE_C);
-
- /*
- * Add values to the requirement with the same level, Value C should
- * only exist once
- */
- fRequirement.addValues(values, ValuePriorityLevel.MANDATORY);
- assertEquals(3, fRequirement.getValues().size());
-
- /*
- * The new value should only exist once and its level should be
- * mandatory
- */
- fRequirement.addValue(VALUE_D, ValuePriorityLevel.OPTIONAL);
- fRequirement.addValue(VALUE_D, ValuePriorityLevel.MANDATORY);
-
- assertEquals(4, fRequirement.getValues().size());
- assertEquals(ValuePriorityLevel.MANDATORY, fRequirement.getValueLevel(VALUE_D));
- }
-
- /**
- * Test suite for the {@link TmfAnalysisRequirement#getValueLevel} method.
- */
- @Test
- public void testGetValueLevel() {
- fRequirement = new TmfAnalysisRequirement(TYPE_A);
- fRequirement.addValue(VALUE_A, ValuePriorityLevel.OPTIONAL);
-
- /* Try to get the level of a value */
- assertEquals(ValuePriorityLevel.OPTIONAL, fRequirement.getValueLevel(VALUE_A));
-
- /* Try to get the level of a value that doesn't exist */
- assertNull(fRequirement.getValueLevel(VALUE_B));
- }
-
- /**
- * Test suite for the {@link TmfAnalysisRequirement#merge} method with the
- * parameter value MANDATORY.
- */
- @Test
- public void testMergeMandatory() {
- initMergeRequirements(TYPE_A, TYPE_A);
-
- assertTrue(fRequirement.merge(fSubRequirement, ValuePriorityLevel.MANDATORY));
-
- assertEquals(fRequirement.getValues().size(), 6);
-
- assertEquals(ValuePriorityLevel.MANDATORY, fRequirement.getValueLevel(VALUE_A));
- assertEquals(ValuePriorityLevel.MANDATORY, fRequirement.getValueLevel(VALUE_B));
-
- assertEquals(ValuePriorityLevel.MANDATORY, fRequirement.getValueLevel(VALUE_C));
- assertEquals(ValuePriorityLevel.OPTIONAL, fRequirement.getValueLevel(VALUE_D));
-
- assertEquals(ValuePriorityLevel.MANDATORY, fRequirement.getValueLevel(VALUE_E));
- assertEquals(ValuePriorityLevel.OPTIONAL, fRequirement.getValueLevel(VALUE_F));
-
- Set<String> information = fRequirement.getInformation();
-
- assertEquals(3, information.size());
-
- assertTrue(information.contains(INFO_A));
- assertTrue(information.contains(INFO_B));
- assertTrue(information.contains(INFO_C));
- }
-
- /**
- * Test suite for the {@link TmfAnalysisRequirement#merge} method with the
- * parameter value OPTIONAL.
- */
- @Test
- public void testMergeOptional() {
- initMergeRequirements(TYPE_A, TYPE_A);
-
- assertTrue(fRequirement.merge(fSubRequirement, ValuePriorityLevel.OPTIONAL));
-
- assertEquals(6, fRequirement.getValues().size());
-
- assertEquals(ValuePriorityLevel.MANDATORY, fRequirement.getValueLevel(VALUE_A));
- assertEquals(ValuePriorityLevel.MANDATORY, fRequirement.getValueLevel(VALUE_B));
-
- assertEquals(ValuePriorityLevel.OPTIONAL, fRequirement.getValueLevel(VALUE_C));
- assertEquals(ValuePriorityLevel.OPTIONAL, fRequirement.getValueLevel(VALUE_D));
-
- assertEquals(ValuePriorityLevel.OPTIONAL, fRequirement.getValueLevel(VALUE_E));
- assertEquals(ValuePriorityLevel.OPTIONAL, fRequirement.getValueLevel(VALUE_F));
-
- Set<String> information = fRequirement.getInformation();
-
- assertEquals(3, information.size());
-
- assertTrue(information.contains(INFO_A));
- assertTrue(information.contains(INFO_B));
- assertTrue(information.contains(INFO_C));
- }
-
- /**
- * Test suite for the {@link TmfAnalysisRequirement#merge} method with
- * different requirement types.
- */
- @Test
- public void testMergeDifferentTypes() {
- initMergeRequirements(TYPE_A, TYPE_B);
-
- assertFalse(fRequirement.merge(fSubRequirement, ValuePriorityLevel.OPTIONAL));
- }
-
- /**
- * Test suite for the {@link TmfAnalysisRequirement#isSameType} method.
- */
- @Test
- public void testIsSameRequirementType() {
- fRequirement = new TmfAnalysisRequirement(TYPE_A);
-
- assertTrue(fRequirement.isSameType(new TmfAnalysisRequirement(TYPE_A)));
- assertFalse(fRequirement.isSameType(new TmfAnalysisRequirement(TYPE_B)));
- }
-
- /**
- * Initialize the requirement and sub-requirement for the merge tests.
- *
- * @param typeA
- * The type of the first requirement
- * @param typeB
- * The type of the second requirement
- */
- private void initMergeRequirements(String typeA, String typeB) {
- fRequirement = new TmfAnalysisRequirement(typeA);
- fRequirement.addValue(VALUE_A, ValuePriorityLevel.MANDATORY);
- fRequirement.addValue(VALUE_B, ValuePriorityLevel.MANDATORY);
-
- fRequirement.addValue(VALUE_C, ValuePriorityLevel.OPTIONAL);
- fRequirement.addValue(VALUE_D, ValuePriorityLevel.OPTIONAL);
-
- fRequirement.addInformation(INFO_A);
- fRequirement.addInformation(INFO_B);
-
- /* This sub-requirement will be merged into requirement */
- fSubRequirement = new TmfAnalysisRequirement(typeB);
- fSubRequirement.addValue(VALUE_A, ValuePriorityLevel.MANDATORY);
- fSubRequirement.addValue(VALUE_B, ValuePriorityLevel.OPTIONAL);
-
- fSubRequirement.addValue(VALUE_C, ValuePriorityLevel.MANDATORY);
- fSubRequirement.addValue(VALUE_D, ValuePriorityLevel.OPTIONAL);
-
- fSubRequirement.addValue(VALUE_E, ValuePriorityLevel.MANDATORY);
- fSubRequirement.addValue(VALUE_F, ValuePriorityLevel.OPTIONAL);
-
- fSubRequirement.addInformation(INFO_B);
- fSubRequirement.addInformation(INFO_C);
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/component/AllTests.java b/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/component/AllTests.java
deleted file mode 100644
index d8b309f66b..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/component/AllTests.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 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:
- * Alexandre Montplaisir - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.core.tests.component;
-
-import org.junit.runner.RunWith;
-import org.junit.runners.Suite;
-
-/**
- * Unit tests for the component package.
- */
-@RunWith(Suite.class)
-@Suite.SuiteClasses({
- TmfEventProviderTest.class,
- TmfProviderManagerTest.class
-})
-public class AllTests {
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/component/TmfEventProviderTest.java b/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/component/TmfEventProviderTest.java
deleted file mode 100644
index 703888dfb4..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/component/TmfEventProviderTest.java
+++ /dev/null
@@ -1,362 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009, 2013 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
- * Alexandre Montplaisir - Port to JUnit4
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.core.tests.component;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertTrue;
-import static org.junit.Assert.fail;
-
-import java.io.IOException;
-import java.util.Vector;
-
-import org.eclipse.linuxtools.internal.tmf.core.component.TmfProviderManager;
-import org.eclipse.linuxtools.tmf.core.component.ITmfEventProvider;
-import org.eclipse.linuxtools.tmf.core.event.ITmfEvent;
-import org.eclipse.linuxtools.tmf.core.request.ITmfEventRequest.ExecutionType;
-import org.eclipse.linuxtools.tmf.core.request.TmfEventRequest;
-import org.eclipse.linuxtools.tmf.core.signal.TmfEndSynchSignal;
-import org.eclipse.linuxtools.tmf.core.signal.TmfStartSynchSignal;
-import org.eclipse.linuxtools.tmf.core.timestamp.TmfTimeRange;
-import org.eclipse.linuxtools.tmf.core.timestamp.TmfTimestamp;
-import org.eclipse.linuxtools.tmf.tests.stubs.component.TmfEventProviderStub;
-import org.eclipse.linuxtools.tmf.tests.stubs.component.TmfSyntheticEventProviderStub;
-import org.eclipse.linuxtools.tmf.tests.stubs.event.TmfSyntheticEventStub;
-import org.eclipse.linuxtools.tmf.tests.stubs.trace.TmfTraceStub;
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Test;
-
-/**
- * Test suite for the TmfEventProvider class.
- */
-public class TmfEventProviderTest {
-
- private TmfEventProviderStub fEventProvider;
- private TmfSyntheticEventProviderStub fSyntheticEventProvider;
-
- /**
- * Initialization
- *
- * @throws IOException
- * If we can't find the test trace (they are committed in the
- * tree, so it shouldn't happen).
- */
- @Before
- public void setUp() throws IOException {
- fEventProvider = new TmfEventProviderStub();
- fSyntheticEventProvider = new TmfSyntheticEventProviderStub();
- }
-
- /**
- * Clean-up
- */
- @After
- public void tearDown() {
- fEventProvider.dispose();
- fSyntheticEventProvider.dispose();
- }
-
- // ------------------------------------------------------------------------
- // getProviders (more a sanity check than a test)
- // ------------------------------------------------------------------------
-
- /**
- * Test getProviders
- */
- @Test
- public void testGetProviders() {
- // There should be 2 TmfEvent providers: a TmfTraceStub and a
- // TmfEventProviderStub
- ITmfEventProvider[] eventProviders = TmfProviderManager.getProviders(ITmfEvent.class);
- assertEquals("getProviders", 2, eventProviders.length);
-
- eventProviders = TmfProviderManager.getProviders(ITmfEvent.class, TmfTraceStub.class);
- assertEquals("getProviders", 1, eventProviders.length);
-
- eventProviders = TmfProviderManager.getProviders(ITmfEvent.class, TmfEventProviderStub.class);
- assertEquals("getProviders", 1, eventProviders.length);
-
- // There should be 1 TmfSyntheticEventStub provider
- eventProviders = TmfProviderManager.getProviders(TmfSyntheticEventStub.class);
- assertEquals("getProviders", 1, eventProviders.length);
- }
-
- // ------------------------------------------------------------------------
- // getSyntheticEvent
- // ------------------------------------------------------------------------
-
- /**
- * Test getPlainEvents
- */
- @Test
- public void testGetPlainEvents() {
- final int NB_EVENTS = 1000;
- final Vector<ITmfEvent> requestedEvents = new Vector<>();
-
- // Get the TmfSyntheticEventStub provider
- ITmfEventProvider[] eventProviders = TmfProviderManager.getProviders(ITmfEvent.class,
- TmfEventProviderStub.class);
- ITmfEventProvider provider = eventProviders[0];
-
- TmfTimeRange range = new TmfTimeRange(TmfTimestamp.BIG_BANG, TmfTimestamp.BIG_CRUNCH);
- final TmfEventRequest request = new TmfEventRequest(ITmfEvent.class,
- range, 0, NB_EVENTS, ExecutionType.FOREGROUND) {
- @Override
- public void handleData(ITmfEvent event) {
- super.handleData(event);
- requestedEvents.add(event);
- }
- };
-
- provider.sendRequest(request);
- try {
- request.waitForCompletion();
- assertEquals("nbEvents", NB_EVENTS, requestedEvents.size());
- assertTrue("isCompleted", request.isCompleted());
- assertFalse("isCancelled", request.isCancelled());
-
- // Make that we have distinct events.
- // Don't go overboard: we are not validating the stub!
- for (int i = 0; i < NB_EVENTS; i++) {
- assertEquals("Distinct events", i + 1, requestedEvents.get(i).getTimestamp().getValue());
- }
- } catch (InterruptedException e) {
- fail();
- }
- }
-
- /**
- * Test canceling requests.
- */
- @Test
- public void testCancelRequests() {
- final int NB_EVENTS = 1000;
- final int NUMBER_EVENTS_BEFORE_CANCEL_REQ1 = 10;
- final int NUMBER_EVENTS_BEFORE_CANCEL_REQ2 = 800;
-
- final Vector<ITmfEvent> requestedEventsReq1 = new Vector<>();
- final Vector<ITmfEvent> requestedEventsReq2 = new Vector<>();
-
- // Get the TmfSyntheticEventStub provider
- ITmfEventProvider[] eventProviders = TmfProviderManager.getProviders(ITmfEvent.class,
- TmfEventProviderStub.class);
- ITmfEventProvider provider = eventProviders[0];
-
- TmfTimeRange range = new TmfTimeRange(TmfTimestamp.BIG_BANG, TmfTimestamp.BIG_CRUNCH);
-
- // Create first request
- final TmfEventRequest request1 = new TmfEventRequest(ITmfEvent.class,
- range, 0, NB_EVENTS, ExecutionType.FOREGROUND) {
- @Override
- public void handleData(ITmfEvent event) {
- super.handleData(event);
- requestedEventsReq1.add(event);
-
- // cancel sub request
- if (getNbRead() == NUMBER_EVENTS_BEFORE_CANCEL_REQ1) {
- cancel();
- }
- }
- };
-
- // Synchronize requests
- ((TmfEventProviderStub) provider).startSynch(new TmfStartSynchSignal(0));
-
- // Additionally, notify provider for up-coming requests
- provider.notifyPendingRequest(true);
-
- // Call sendRequest, which will create a coalescing request, but it
- // doesn't send request1 yet
- provider.sendRequest(request1);
-
- // Check if request1 is not running yet.
- assertFalse("isRunning", request1.isRunning());
-
- // Create second request
- final TmfEventRequest request2 = new TmfEventRequest(ITmfEvent.class,
- range, 0, NB_EVENTS, ExecutionType.FOREGROUND) {
- @Override
- public void handleData(ITmfEvent event) {
- super.handleData(event);
- requestedEventsReq2.add(event);
-
- // cancel sub request which will cancel also main request
- if (getNbRead() == NUMBER_EVENTS_BEFORE_CANCEL_REQ2) {
- cancel();
- }
- }
- };
-
- // Call sendRequest, which will create a coalescing request, but it
- // doesn't send request2 yet
- provider.sendRequest(request2);
-
- // Check if request1/2 is not running yet.
- assertFalse("isRunning", request1.isRunning());
- assertFalse("isRunning", request2.isRunning());
-
- // Send end synch signal, however requests won't be sent
- ((TmfEventProviderStub) provider).endSynch(new TmfEndSynchSignal(0));
-
- // Check if request1/2 is not running yet.
- assertFalse("isRunning", request1.isRunning());
- assertFalse("isRunning", request2.isRunning());
-
- // Finally, trigger sending of requests
- provider.notifyPendingRequest(false);
-
- try {
-
- // Wait until requests start
- request1.waitForStart();
- request2.waitForStart();
-
-// // Verify that the requests are running
-// assertTrue("isRunning", request1.isRunning());
-// assertTrue("isRunning", request2.isRunning());
-
- request1.waitForCompletion();
-
-// // Check if request2 is still running
-// assertTrue("isRunning", request2.isRunning());
-
- // Verify result (request1)
- assertEquals("nbEvents", NUMBER_EVENTS_BEFORE_CANCEL_REQ1, requestedEventsReq1.size());
- assertTrue("isCompleted", request1.isCompleted());
- assertTrue("isCancelled", request1.isCancelled());
-
- request2.waitForCompletion();
-
- // Verify result (request2)
- assertEquals("nbEvents", NUMBER_EVENTS_BEFORE_CANCEL_REQ2, requestedEventsReq2.size());
- assertTrue("isCompleted", request2.isCompleted());
- assertTrue("isCancelled", request2.isCancelled());
-
- } catch (InterruptedException e) {
- fail();
- }
- }
-
- private static void getSyntheticData(final TmfTimeRange range,
- final int nbEvents) throws InterruptedException {
-
- final Vector<ITmfEvent> requestedEvents = new Vector<>();
-
- // Get the event provider
- ITmfEventProvider[] eventProviders = TmfProviderManager
- .getProviders(TmfSyntheticEventStub.class);
- ITmfEventProvider provider = eventProviders[0];
-
- final TmfEventRequest request = new TmfEventRequest(TmfSyntheticEventStub.class, range,
- 0, nbEvents, ExecutionType.FOREGROUND) {
- @Override
- public void handleData(ITmfEvent event) {
- super.handleData(event);
- requestedEvents.add(event);
- }
- };
- provider.sendRequest(request);
-
- request.waitForCompletion();
- if (nbEvents != -1) {
- assertEquals("nbEvents", nbEvents, requestedEvents.size());
- }
- assertTrue("isCompleted", request.isCompleted());
- assertFalse("isCancelled", request.isCancelled());
-
- // For each base event, the stub will queue 2 identical synthetic events
- // Ensure that the events are queued properly.
- // Don't go overboard: we are not validating the stub!
- for (int i = 0; i < (nbEvents / 2); i++) {
- assertEquals("Distinct events", i + 1, requestedEvents.get(2 * i + 0).getTimestamp().getValue());
- assertEquals("Distinct events", i + 1, requestedEvents.get(2 * i + 1).getTimestamp().getValue());
- }
- }
-
- /**
- * Test getSyntheticEvents for equal block sizes.
- */
- @Test
- public void testGetSyntheticEvents_EqualBlockSizes() {
- TmfTimeRange range = new TmfTimeRange(TmfTimestamp.BIG_BANG, TmfTimestamp.BIG_CRUNCH);
- try {
- getSyntheticData(range, 1000);
- } catch (InterruptedException e) {
- fail();
- }
- }
-
- /**
- * Test getSyntheticEvents
- */
- @Test
- public void testGetSyntheticEvents_TimeRange() {
- TmfTimestamp start = new TmfTimestamp(1, (byte) -3, 0);
- TmfTimestamp end = new TmfTimestamp(1000, (byte) -3, 0);
- TmfTimeRange range = new TmfTimeRange(start, end);
- try {
- getSyntheticData(range, -1);
- } catch (InterruptedException e) {
- fail();
- }
- }
-
-// public void testGetSyntheticEvents_WeirdTimeRange1() {
-// TmfTimestamp start = TmfTimestamp.BigBang;
-// TmfTimestamp end = TmfTimestamp.Zero; // new TmfTimestamp(0, (byte) -3,
-// // 0);
-// TmfTimeRange range = new TmfTimeRange(start, end);
-// try {
-// getSyntheticData(range, -1, TmfSyntheticEventProviderStub.BLOCK_SIZE);
-// } catch (InterruptedException e) {
-// fail();
-// }
-// }
-
-// public void testGetSyntheticEvents_WeirdTimeRange2() {
-// TmfTimestamp start = TmfTimestamp.Zero; // new TmfTimestamp(0, (byte)
-// // -3, 0);
-// TmfTimestamp end = TmfTimestamp.BigCrunch;
-// TmfTimeRange range = new TmfTimeRange(start, end);
-// try {
-// getSyntheticData(range, -1, TmfSyntheticEventProviderStub.BLOCK_SIZE);
-// } catch (InterruptedException e) {
-// fail();
-// }
-// }
-
- /**
- * Test getProviders (more a sanity check than a test)
- */
- @Test
- public void testGetProviders2() {
-
- // There should be 2 TmfEvent providers: a TmfTraceStub and a
- // TmfEventProviderStub
- ITmfEventProvider[] eventProviders = TmfProviderManager.getProviders(ITmfEvent.class);
- assertEquals("getProviders", 2, eventProviders.length);
-
- eventProviders = TmfProviderManager.getProviders(ITmfEvent.class, TmfTraceStub.class);
- assertEquals("getProviders", 1, eventProviders.length);
-
- eventProviders = TmfProviderManager.getProviders(ITmfEvent.class, TmfEventProviderStub.class);
- assertEquals("getProviders", 1, eventProviders.length);
-
- // There should be 1 TmfSyntheticEventStub provider
- eventProviders = TmfProviderManager.getProviders(TmfSyntheticEventStub.class);
- assertEquals("getProviders", 1, eventProviders.length);
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/component/TmfProviderManagerTest.java b/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/component/TmfProviderManagerTest.java
deleted file mode 100644
index b12ea0e1d3..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/component/TmfProviderManagerTest.java
+++ /dev/null
@@ -1,330 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009, 2013 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
- * Alexandre Montplaisir - Port to JUnit4
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.core.tests.component;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertTrue;
-
-import org.eclipse.linuxtools.internal.tmf.core.component.TmfProviderManager;
-import org.eclipse.linuxtools.tmf.core.component.TmfEventProvider;
-import org.eclipse.linuxtools.tmf.core.event.ITmfEvent;
-import org.eclipse.linuxtools.tmf.core.event.TmfEvent;
-import org.eclipse.linuxtools.tmf.core.request.ITmfEventRequest;
-import org.eclipse.linuxtools.tmf.core.trace.ITmfContext;
-import org.junit.Test;
-
-/**
- * Test suite for the TmfProviderManager class.
- */
-public class TmfProviderManagerTest {
-
- // ------------------------------------------------------------------------
- // Dummy Providers
- // ------------------------------------------------------------------------
-
- private class TestProvider1 extends TmfEventProvider {
- public TestProvider1(Class<ITmfEvent> type) {
- super("TestProvider1", type);
- }
-
- @Override
- public ITmfContext armRequest(ITmfEventRequest request) {
- return null;
- }
-
- @Override
- public ITmfEvent getNext(ITmfContext context) {
- return null;
- }
-
- @Override
- public boolean isCompleted(ITmfEventRequest request, ITmfEvent data, int nbRead) {
- return false;
- }
- }
-
- private class TestProvider2 extends TmfEventProvider {
- public TestProvider2(Class<ITmfEvent> type) {
- super("TestProvider2", type);
- }
-
- @Override
- public ITmfContext armRequest(ITmfEventRequest request) {
- return null;
- }
-
- @Override
- public ITmfEvent getNext(ITmfContext context) {
- return null;
- }
-
- @Override
- public boolean isCompleted(ITmfEventRequest request, ITmfEvent data, int nbRead) {
- return false;
- }
- }
-
- private class TmfEvent3 extends TmfEvent {
- }
-
- private class TestProvider3 extends TmfEventProvider {
- public TestProvider3(Class<TmfEvent3> type) {
- super("TestProvider3", type);
- }
-
- @Override
- public ITmfContext armRequest(ITmfEventRequest request) {
- return null;
- }
-
- @Override
- public TmfEvent3 getNext(ITmfContext context) {
- return null;
- }
-
- @Override
- public boolean isCompleted(ITmfEventRequest request, ITmfEvent data, int nbRead) {
- return false;
- }
- }
-
- // ------------------------------------------------------------------------
- // register/dispose
- // ------------------------------------------------------------------------
-
- /**
- * Test registering
- */
- @Test
- public void testRegister_0() {
- TmfEventProvider[] providers = TmfProviderManager.getProviders(ITmfEvent.class);
- assertEquals("getProviders", 0, providers.length);
-
- providers = TmfProviderManager.getProviders(ITmfEvent.class, TestProvider1.class);
- assertEquals("getProviders", 0, providers.length);
- }
-
- /**
- * Test unregistering
- */
- @Test
- public void testRegister_Unregister_1() {
-
- // Register a single provider
- TestProvider1 testProvider1 = new TestProvider1(ITmfEvent.class);
-
- TmfEventProvider[] providers = TmfProviderManager.getProviders(ITmfEvent.class);
- assertEquals("getProviders", 1, providers.length);
- assertEquals("getProviders", testProvider1, providers[0]);
-
- providers = TmfProviderManager.getProviders(ITmfEvent.class, TestProvider1.class);
- assertEquals("getProviders", 1, providers.length);
- assertEquals("getProviders", testProvider1, providers[0]);
-
- // Unregister it
- testProvider1.dispose();
-
- providers = TmfProviderManager.getProviders(ITmfEvent.class);
- assertEquals("getProviders", 0, providers.length);
-
- providers = TmfProviderManager.getProviders(ITmfEvent.class, TestProvider1.class);
- assertEquals("getProviders", 0, providers.length);
- }
-
- /**
- * Test unregistering
- */
- @Test
- public void testRegister_Unregister_2() {
-
- // Register 2 providers, same data type
- TestProvider1 testProvider1 = new TestProvider1(ITmfEvent.class);
- TestProvider2 testProvider2 = new TestProvider2(ITmfEvent.class);
-
- TmfEventProvider[] providers = TmfProviderManager.getProviders(ITmfEvent.class);
- assertEquals("getProviders", 2, providers.length);
- assertTrue(providers.length == 2);
- if (providers[0] == testProvider1) {
- assertEquals("getProviders", testProvider2, providers[1]);
- }
- else {
- assertEquals("getProviders", testProvider2, providers[0]);
- assertEquals("getProviders", testProvider1, providers[1]);
- }
-
- providers = TmfProviderManager.getProviders(ITmfEvent.class, TestProvider1.class);
- assertEquals("getProviders", 1, providers.length);
- assertEquals("getProviders", testProvider1, providers[0]);
-
- providers = TmfProviderManager.getProviders(ITmfEvent.class, TestProvider2.class);
- assertEquals("getProviders", 1, providers.length);
- assertEquals("getProviders", testProvider2, providers[0]);
-
- // Remove one
- testProvider1.dispose();
-
- providers = TmfProviderManager.getProviders(ITmfEvent.class);
- assertEquals("getProviders", 1, providers.length);
- assertEquals("getProviders", testProvider2, providers[0]);
-
- providers = TmfProviderManager.getProviders(ITmfEvent.class, TestProvider1.class);
- assertEquals("getProviders", 0, providers.length);
-
- providers = TmfProviderManager.getProviders(ITmfEvent.class, TestProvider2.class);
- assertEquals("getProviders", 1, providers.length);
- assertEquals("getProviders", testProvider2, providers[0]);
-
- // Remove the other
- testProvider2.dispose();
-
- providers = TmfProviderManager.getProviders(ITmfEvent.class);
- assertEquals("getProviders", 0, providers.length);
-
- providers = TmfProviderManager.getProviders(ITmfEvent.class, TestProvider1.class);
- assertEquals("getProviders", 0, providers.length);
-
- providers = TmfProviderManager.getProviders(ITmfEvent.class, TestProvider2.class);
- assertEquals("getProviders", 0, providers.length);
- }
-
- /**
- * Test unregistering
- */
- @Test
- public void testRegister_Unregister_3() {
-
- // Register 3 providers, mixed data types
- TestProvider1 testProvider1 = new TestProvider1(ITmfEvent.class);
- TestProvider2 testProvider2 = new TestProvider2(ITmfEvent.class);
- TestProvider3 testProvider3 = new TestProvider3(TmfEvent3.class);
-
- TmfEventProvider[] providers = TmfProviderManager.getProviders(ITmfEvent.class);
- assertEquals("getProviders", 2, providers.length);
- if (providers[0] == testProvider1) {
- assertEquals("getProviders", testProvider2, providers[1]);
- }
- else {
- assertEquals("getProviders", testProvider2, providers[0]);
- assertEquals("getProviders", testProvider1, providers[1]);
- }
-
- TmfEventProvider[] providers3 = TmfProviderManager.getProviders(TmfEvent3.class);
- assertEquals("getProviders", 1, providers3.length);
- assertEquals("getProviders", testProvider3, providers3[0]);
-
- providers = TmfProviderManager.getProviders(ITmfEvent.class, TestProvider1.class);
- assertEquals("getProviders", 1, providers.length);
- assertEquals("getProviders", testProvider1, providers[0]);
-
- providers = TmfProviderManager.getProviders(ITmfEvent.class, TestProvider2.class);
- assertEquals("getProviders", 1, providers.length);
- assertEquals("getProviders", testProvider2, providers[0]);
-
- providers3 = TmfProviderManager.getProviders(TmfEvent3.class, TestProvider3.class);
- assertEquals("getProviders", 1, providers3.length);
- assertEquals("getProviders", testProvider3, providers3[0]);
-
- // Remove one
- testProvider1.dispose();
-
- providers = TmfProviderManager.getProviders(ITmfEvent.class);
- assertEquals("getProviders", 1, providers.length);
- assertEquals("getProviders", testProvider2, providers[0]);
-
- providers = TmfProviderManager.getProviders(ITmfEvent.class, TestProvider1.class);
- assertEquals("getProviders", 0, providers.length);
-
- providers = TmfProviderManager.getProviders(ITmfEvent.class, TestProvider2.class);
- assertEquals("getProviders", 1, providers.length);
- assertEquals("getProviders", testProvider2, providers[0]);
-
- providers3 = TmfProviderManager.getProviders(TmfEvent3.class);
- assertEquals("getProviders", 1, providers3.length);
- assertEquals("getProviders", testProvider3, providers3[0]);
-
- providers3 = TmfProviderManager.getProviders(TmfEvent3.class, TestProvider3.class);
- assertEquals("getProviders", 1, providers3.length);
- assertEquals("getProviders", testProvider3, providers3[0]);
-
- // Remove another one
- testProvider2.dispose();
-
- providers = TmfProviderManager.getProviders(ITmfEvent.class);
- assertEquals("getProviders", 0, providers.length);
-
- providers = TmfProviderManager.getProviders(ITmfEvent.class, TestProvider1.class);
- assertEquals("getProviders", 0, providers.length);
-
- providers = TmfProviderManager.getProviders(ITmfEvent.class, TestProvider2.class);
- assertEquals("getProviders", 0, providers.length);
-
- providers3 = TmfProviderManager.getProviders(TmfEvent3.class);
- assertTrue(providers3.length == 1);
- assertTrue(providers3[0] == testProvider3);
-
- providers3 = TmfProviderManager.getProviders(TmfEvent3.class, TestProvider3.class);
- assertEquals("getProviders", 1, providers3.length);
- assertEquals("getProviders", testProvider3, providers3[0]);
-
- // Remove the last one
- testProvider3.dispose();
-
- providers = TmfProviderManager.getProviders(ITmfEvent.class);
- assertEquals("getProviders", 0, providers.length);
-
- providers = TmfProviderManager.getProviders(ITmfEvent.class, TestProvider1.class);
- assertEquals("getProviders", 0, providers.length);
-
- providers = TmfProviderManager.getProviders(ITmfEvent.class, TestProvider2.class);
- assertEquals("getProviders", 0, providers.length);
-
- providers3 = TmfProviderManager.getProviders(TmfEvent3.class);
- assertEquals("getProviders", 0, providers.length);
-
- providers3 = TmfProviderManager.getProviders(TmfEvent3.class, TestProvider3.class);
- assertEquals("getProviders", 0, providers.length);
- }
-
- /**
- * Test getProviders method
- */
- @Test
- public void testGetProvider() {
-
- // Register 3 providers, mixed data types
- TestProvider1 testProvider1 = new TestProvider1(ITmfEvent.class);
- TestProvider2 testProvider2 = new TestProvider2(ITmfEvent.class);
- TestProvider3 testProvider3 = new TestProvider3(TmfEvent3.class);
-
- TmfEventProvider[] providers = TmfProviderManager.getProviders(ITmfEvent.class, null);
- assertEquals("getProviders", 2, providers.length);
- if (providers[0] == testProvider1) {
- assertEquals("getProviders", testProvider2, providers[1]);
- }
- else {
- assertEquals("getProviders", testProvider2, providers[0]);
- assertEquals("getProviders", testProvider1, providers[1]);
- }
-
- providers = TmfProviderManager.getProviders(TmfEvent3.class, null);
- assertEquals("getProviders", 1, providers.length);
- assertEquals("getProviders", testProvider3, providers[0]);
-
- // Remove the providers
- testProvider1.dispose();
- testProvider2.dispose();
- testProvider3.dispose();
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/event/AllTests.java b/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/event/AllTests.java
deleted file mode 100644
index bf91caf493..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/event/AllTests.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009, 2013 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 Event Model
- * Alexandre Montplaisir - Port to JUnit4
- * Patrick Tasse - Added TmfNanoTimestampTest
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.core.tests.event;
-
-import org.junit.runner.RunWith;
-import org.junit.runners.Suite;
-
-/**
- * Test suite for org.eclipse.linuxtools.tmf.core.event
- */
-@RunWith(Suite.class)
-@Suite.SuiteClasses({
- TmfEventFieldTest.class,
- TmfEventTest.class,
- TmfEventTypeManagerTest.class,
- TmfEventTypeTest.class,
- TmfNanoTimestampTest.class,
- TmfSimpleTimestampTest.class,
- TmfTimePreferencesTest.class,
- TmfTimeRangeTest.class,
- TmfTimestampDeltaTest.class,
- TmfTimestampTest.class,
- TmfTimestampFormatTest.class,
-})
-public class AllTests {
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/event/TmfEventFieldTest.java b/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/event/TmfEventFieldTest.java
deleted file mode 100644
index e69f31e3c1..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/event/TmfEventFieldTest.java
+++ /dev/null
@@ -1,365 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009, 2013 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 Event Model
- * Alexandre Montplaisir - Port to JUnit4
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.core.tests.event;
-
-import static org.junit.Assert.assertArrayEquals;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNotEquals;
-import static org.junit.Assert.assertNull;
-import static org.junit.Assert.assertSame;
-import static org.junit.Assert.assertTrue;
-import static org.junit.Assert.fail;
-
-import java.util.Collection;
-
-import org.eclipse.linuxtools.tmf.core.event.ITmfEventField;
-import org.eclipse.linuxtools.tmf.core.event.TmfEvent;
-import org.eclipse.linuxtools.tmf.core.event.TmfEventField;
-import org.junit.Test;
-
-/**
- * Test suite for the TmfEventField class.
- */
-@SuppressWarnings("javadoc")
-public class TmfEventFieldTest {
-
- // ------------------------------------------------------------------------
- // Variables
- // ------------------------------------------------------------------------
-
- private final String fFieldName1 = "Field-1";
- private final String fFieldName2 = "Field-2";
-
- private final Object fValue1 = "Value";
- private final Object fValue2 = Integer.valueOf(10);
-
- private final TmfEventField fField1 = new TmfEventField(fFieldName1, fValue1, null);
- private final TmfEventField fField2 = new TmfEventField(fFieldName2, fValue2, null);
- private final TmfEventField fField3 = new TmfEventField(fFieldName1, fValue2, null);
-
- private final String fStructRootFieldName = "Root-S";
- private final String[] fStructFieldNames = new String[] { fFieldName1, fFieldName2 };
- private final TmfEventField fStructTerminalField1 = new TmfEventField(fFieldName1, null, null);
- private final TmfEventField fStructTerminalField2 = new TmfEventField(fFieldName2, null, null);
- private final TmfEventField fStructTerminalField3 = new TmfEventField(fFieldName1, null, null);
- private final TmfEventField fStructRootField = new TmfEventField(fStructRootFieldName, null,
- new ITmfEventField[] { fStructTerminalField1, fStructTerminalField2 });
-
- private final String fRootFieldName = "Root";
- private final String[] fFieldNames = new String[] { fFieldName1, fFieldName2 };
- private final TmfEventField fRootField = new TmfEventField(fRootFieldName, null,
- new ITmfEventField[] { fField1, fField2 });
-
- // ------------------------------------------------------------------------
- // Constructors
- // ------------------------------------------------------------------------
-
- @Test
- public void testTerminalStructConstructor() {
- assertSame("getName", fFieldName1, fStructTerminalField1.getName());
- assertNull("getValue", fStructTerminalField1.getValue());
- assertEquals("getFields", 0, fStructTerminalField1.getFields().size());
- assertNull("getField(name)", fStructTerminalField1.getField(fFieldName1));
- assertEquals("getFieldNames", 0, fStructTerminalField1.getFieldNames().size());
- }
-
- @Test
- public void testNonTerminalStructConstructor() {
- assertSame("getName", fStructRootFieldName, fStructRootField.getName());
- assertNull("getValue", fStructRootField.getValue());
- assertEquals("getFields", 2, fStructRootField.getFields().size());
- assertSame("getField(name)", fStructTerminalField1, fStructRootField.getField(fFieldName1));
- assertSame("getField(name)", fStructTerminalField2, fStructRootField.getField(fFieldName2));
-
- final Collection<String> names = fStructRootField.getFieldNames();
- assertEquals("getFieldNames length", 2, names.size());
- assertArrayEquals(fStructFieldNames, names.toArray(new String[names.size()]));
- }
-
- @Test
- public void testTerminalConstructor() {
- assertSame("getName", fFieldName1, fField1.getName());
- assertSame("getValue", fValue1, fField1.getValue());
- assertEquals("getFields", 0, fField1.getFields().size());
- assertNull("getField(name)", fField1.getField(fFieldName1));
- assertEquals("getFieldNames", 0, fField1.getFieldNames().size());
-
- assertSame("getName", fFieldName2, fField2.getName());
- assertSame("getValue", fValue2, fField2.getValue());
- assertEquals("getFields", 0, fField2.getFields().size());
- assertNull("getField(name)", fField2.getField(fFieldName2));
- }
-
- @Test
- public void testNonTerminalConstructor() {
- assertSame("getName", fRootFieldName, fRootField.getName());
- assertNull("getValue", fRootField.getValue());
- assertEquals("getFields", 2, fRootField.getFields().size());
- assertSame("getField(name)", fField1, fRootField.getField(fFieldName1));
- assertSame("getField(name)", fField2, fRootField.getField(fFieldName2));
-
- final Collection<String> names = fRootField.getFieldNames();
- assertEquals("getFieldNames length", 2, names.size());
- assertArrayEquals(fFieldNames, names.toArray(new String[names.size()]));
- }
-
- @Test
- public void testConstructorBadArg() {
- try {
- new TmfEventField(null, fValue1, null);
- fail("Invalid (null) field name");
- } catch (final IllegalArgumentException e) {
- }
- }
-
- @Test
- public void testTerminalCopyConstructor() {
- final TmfEventField copy = new TmfEventField(fField1);
- assertSame("getName", fFieldName1, copy.getName());
- assertSame("getValue", fValue1, copy.getValue());
- assertEquals("getFields", 0, copy.getFields().size());
- assertNull("getField(name)", copy.getField(fFieldName1));
- assertEquals("getFieldNames", 0, copy.getFieldNames().size());
- }
-
- @Test
- public void testNonTerminalCopyConstructor() {
- assertSame("getName", fRootFieldName, fRootField.getName());
- assertNull("getValue", fRootField.getValue());
- assertEquals("getFields", 2, fRootField.getFields().size());
- assertSame("getField(name)", fField1, fRootField.getField(fFieldName1));
- assertSame("getField(name)", fField2, fRootField.getField(fFieldName2));
-
- final Collection<String> names = fRootField.getFieldNames();
- assertEquals("getFieldNames length", 2, names.size());
- assertArrayEquals(fFieldNames, names.toArray(new String[names.size()]));
- }
-
- @Test
- public void testCopyConstructorBadArg() {
- try {
- new TmfEventField(null);
- fail("TmfEventField: null arguemnt");
- } catch (final IllegalArgumentException e) {
- }
- }
-
- /**
- * Test that we correctly fail to create a field with subfields having the
- * same name.
- */
- @Test
- public void testDuplicateFieldNames() {
- ITmfEventField[] fields = {
- new TmfEventField("samename", null, null),
- new TmfEventField("samename", null, null)
- };
-
- try {
- new TmfEventField("field", null, fields);
- fail("TmfEventField: Duplicate field names");
- } catch (IllegalArgumentException e) {
- /* Expected exception */
- }
- }
-
- // ------------------------------------------------------------------------
- // hashCode
- // ------------------------------------------------------------------------
-
- @Test
- public void testHashCode() {
- TmfEventField copy = new TmfEventField(fField1);
- assertTrue("hashCode", fField1.hashCode() == copy.hashCode());
- assertTrue("hashCode", fField1.hashCode() != fField2.hashCode());
-
- copy = new TmfEventField(fStructTerminalField1);
- assertTrue("hashCode", fStructTerminalField1.hashCode() == copy.hashCode());
- assertTrue("hashCode", fStructTerminalField1.hashCode() != fStructTerminalField2.hashCode());
- }
-
- // ------------------------------------------------------------------------
- // equals
- // ------------------------------------------------------------------------
-
- @Test
- public void testEqualsReflexivity() {
- assertTrue("equals", fField1.equals(fField1));
- assertTrue("equals", fField2.equals(fField2));
-
- assertFalse("equals", fField1.equals(fField2));
- assertFalse("equals", fField2.equals(fField1));
-
- assertTrue("equals", fStructTerminalField1.equals(fStructTerminalField1));
- assertTrue("equals", fStructTerminalField2.equals(fStructTerminalField2));
-
- assertFalse("equals", fStructTerminalField1.equals(fStructTerminalField2));
- assertFalse("equals", fStructTerminalField2.equals(fStructTerminalField1));
- }
-
- @Test
- public void testEqualsSymmetry() {
- final TmfEventField copy0 = new TmfEventField(fField1);
- assertTrue("equals", fField1.equals(copy0));
- assertTrue("equals", copy0.equals(fField1));
-
- final TmfEventField copy3 = new TmfEventField(fField2);
- assertTrue("equals", fField2.equals(copy3));
- assertTrue("equals", copy3.equals(fField2));
- }
-
- @Test
- public void testEqualsTransivity() {
- TmfEventField copy1 = new TmfEventField(fField1);
- TmfEventField copy2 = new TmfEventField(copy1);
- assertTrue("equals", fField1.equals(copy1));
- assertTrue("equals", copy1.equals(copy2));
- assertTrue("equals", fField1.equals(copy2));
-
- copy1 = new TmfEventField(fField2);
- copy2 = new TmfEventField(copy1);
- assertTrue("equals", fField2.equals(copy1));
- assertTrue("equals", copy1.equals(copy2));
- assertTrue("equals", fField2.equals(copy2));
- }
-
- @Test
- public void testEquals() {
- assertTrue("equals", fStructTerminalField1.equals(fStructTerminalField3));
- assertTrue("equals", fStructTerminalField3.equals(fStructTerminalField1));
-
- assertFalse("equals", fStructTerminalField1.equals(fField3));
- assertFalse("equals", fField3.equals(fStructTerminalField1));
- }
-
- @Test
- public void testEqualsNull() {
- assertFalse("equals", fField1.equals(null));
- assertFalse("equals", fField2.equals(null));
- }
-
- @Test
- public void testNonEqualClasses() {
- assertFalse("equals", fField1.equals(fStructTerminalField1));
- assertFalse("equals", fField1.equals(fValue1));
- }
-
- @Test
- public void testNonEqualValues() {
- final TmfEventField copy1 = new TmfEventField(fFieldName1, fValue1, null);
- TmfEventField copy2 = new TmfEventField(fFieldName1, fValue1, null);
- assertTrue("equals", copy1.equals(copy2));
- assertTrue("equals", copy2.equals(copy1));
-
- copy2 = new TmfEventField(fFieldName1, fValue2, null);
- assertFalse("equals", copy1.equals(copy2));
- assertFalse("equals", copy2.equals(copy1));
-
- copy2 = new TmfEventField(fFieldName1, null, null);
- assertFalse("equals", copy1.equals(copy2));
- assertFalse("equals", copy2.equals(copy1));
- }
-
- @Test
- public void testNonEquals() {
- assertFalse("equals", fField1.equals(fField2));
- assertFalse("equals", fField2.equals(fField1));
-
- assertFalse("equals", fField1.equals(fStructTerminalField1));
- }
-
- /**
- * Test with same fields, but different values (should not be equal)
- */
- @Test
- public void testNonEqualsValue() {
- final String fieldName = "myfield";
- final Object value1 = new String("test-string");
- final Object value2 = new TmfEvent();
- final TmfEventField[] fields = { fField1, fField2 };
-
- final TmfEventField field1 = new TmfEventField(fieldName, value1, fields);
- final TmfEventField field2 = new TmfEventField(fieldName, value2, fields);
-
- assertNotEquals(field1, field2);
- assertNotEquals(field2, field1);
- }
-
- /**
- * Test with same value, but different fields (should not be equal)
- */
- @Test
- public void testNonEqualsFields() {
- final String fieldName = "myfield";
- final Object value = new String("test-string");
- final TmfEventField[] fields1 = { fField1, fField2 };
- final TmfEventField[] fields2 = { fField2, fField3 };
-
- final TmfEventField field1 = new TmfEventField(fieldName, value, fields1);
- final TmfEventField field2 = new TmfEventField(fieldName, value, fields2);
-
- assertNotEquals(field1, field2);
- assertNotEquals(field2, field1);
- }
-
- /**
- * Test with same field and values (should be equals)
- */
- @Test
- public void testEqualsEverything() {
- final String fieldName = "myfield";
- final Object value = new String("test-string");
- final TmfEventField[] fields = { fField1, fField2 };
-
- final TmfEventField field1 = new TmfEventField(fieldName, value, fields);
- final TmfEventField field2 = new TmfEventField(fieldName, value, fields);
-
- assertEquals(field1, field2);
- assertEquals(field2, field1);
- }
-
- // ------------------------------------------------------------------------
- // toString
- // ------------------------------------------------------------------------
-
- @Test
- public void testToString() {
- final String expected1 = fFieldName1 + "=" + fValue1.toString();
- TmfEventField field = new TmfEventField(fFieldName1, fValue1, null);
- assertEquals("toString", expected1, field.toString());
-
- final String expected2 = fFieldName1 + "=" + fValue2.toString();
- field = new TmfEventField(fFieldName1, fValue2, null);
- assertEquals("toString", expected2, field.toString());
- }
-
- // ------------------------------------------------------------------------
- // makeRoot
- // ------------------------------------------------------------------------
-
- @Test
- public void testMakeRoot() {
- ITmfEventField root = TmfEventField.makeRoot(fStructFieldNames);
- Collection<String> names = root.getFieldNames();
- assertEquals("getFieldNames length", 2, names.size());
- assertArrayEquals(fStructFieldNames, names.toArray(new String[names.size()]));
-
- root = TmfEventField.makeRoot(fFieldNames);
- names = root.getFieldNames();
- assertEquals("getFieldNames length", 2, names.size());
- assertArrayEquals(fFieldNames, names.toArray(new String[names.size()]));
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/event/TmfEventTest.java b/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/event/TmfEventTest.java
deleted file mode 100644
index 40cefa1deb..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/event/TmfEventTest.java
+++ /dev/null
@@ -1,417 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009, 2013 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 Event Model
- * Alexandre Montplaisir - Port to JUnit4
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.core.tests.event;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertNull;
-import static org.junit.Assert.assertTrue;
-import static org.junit.Assert.fail;
-
-import java.io.File;
-import java.io.IOException;
-import java.net.URISyntaxException;
-import java.net.URL;
-
-import org.eclipse.core.runtime.FileLocator;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.linuxtools.tmf.core.event.ITmfEvent;
-import org.eclipse.linuxtools.tmf.core.event.ITmfEventField;
-import org.eclipse.linuxtools.tmf.core.event.ITmfEventType;
-import org.eclipse.linuxtools.tmf.core.event.TmfEvent;
-import org.eclipse.linuxtools.tmf.core.event.TmfEventField;
-import org.eclipse.linuxtools.tmf.core.event.TmfEventType;
-import org.eclipse.linuxtools.tmf.core.exceptions.TmfTraceException;
-import org.eclipse.linuxtools.tmf.core.tests.TmfCoreTestPlugin;
-import org.eclipse.linuxtools.tmf.core.tests.shared.TmfTestTrace;
-import org.eclipse.linuxtools.tmf.core.timestamp.TmfTimestamp;
-import org.eclipse.linuxtools.tmf.core.trace.ITmfContext;
-import org.eclipse.linuxtools.tmf.core.trace.ITmfTrace;
-import org.eclipse.linuxtools.tmf.tests.stubs.trace.TmfTraceStub;
-import org.junit.Test;
-
-/**
- * Test suite for the TmfEvent class.
- */
-@SuppressWarnings("javadoc")
-public class TmfEventTest {
-
- // ------------------------------------------------------------------------
- // Variables
- // ------------------------------------------------------------------------
-
- private final String fSource = "Source";
-
- private final String fContext = ITmfEventType.DEFAULT_CONTEXT_ID;
- private final String fTypeId = "TestType";
- private final String fLabel1 = "AString";
- private final String fLabel2 = "AnInteger";
- private final String[] fLabels = new String[] { fLabel1, fLabel2 };
- private final TmfEventType fType = new TmfEventType(fContext, fTypeId, TmfEventField.makeRoot(fLabels));
-
- private final Object fValue1a = "Some string";
- private final Object fValue1b = Integer.valueOf(10);
- private final ITmfEventField fField1a = new TmfEventField(fLabel1, fValue1a, null);
- private final ITmfEventField fField1b = new TmfEventField(fLabel2, fValue1b, null);
- private final ITmfEventField[] fFields1 = new ITmfEventField[] { fField1a, fField1b };
- private final String fRawContent1 = fField1a.toString() + fField1b.toString();
- private final ITmfEventField fContent1 = new TmfEventField(fRawContent1, null, fFields1);
- private final TmfTimestamp fTimestamp1 = new TmfTimestamp(12345, 2, 5);
- private final String fReference1 = "Some reference";
- private final ITmfEvent fEvent1 = new TmfEvent(null, 0, fTimestamp1, fSource, fType, fContent1, fReference1);
-
- private final Object fValue2a = "Another string";
- private final Object fValue2b = Integer.valueOf(-4);
- private final ITmfEventField fField2a = new TmfEventField(fLabel1, fValue2a, null);
- private final ITmfEventField fField2b = new TmfEventField(fLabel2, fValue2b, null);
- private final ITmfEventField[] fFields2 = new ITmfEventField[] { fField2a, fField2b };
- private final String fRawContent2 = fField2a.toString() + fField2b.toString();
- private final ITmfEventField fContent2 = new TmfEventField(fRawContent2, null, fFields2);
- private final TmfTimestamp fTimestamp2 = new TmfTimestamp(12350, 2, 5);
- private final String fReference2 = "Some other reference";
- private final ITmfEvent fEvent2 = new TmfEvent(null, 1, fTimestamp2, fSource, fType, fContent2, fReference2);
-
- // ------------------------------------------------------------------------
- // Helper functions
- // ------------------------------------------------------------------------
-
- private static TmfTraceStub openTrace() {
- TmfTraceStub trace = null;
- try {
- final URL location = FileLocator.find(TmfCoreTestPlugin.getDefault().getBundle(), new Path(TmfTestTrace.A_TEST_10K.getFullPath()), null);
- final File test = new File(FileLocator.toFileURL(location).toURI());
- trace = new TmfTraceStub(test.toURI().getPath(), 500, false, null);
- } catch (final TmfTraceException e) {
- e.printStackTrace();
- } catch (final URISyntaxException e) {
- e.printStackTrace();
- } catch (final IOException e) {
- e.printStackTrace();
- }
- return trace;
- }
-
- // ------------------------------------------------------------------------
- // Constructors
- // ------------------------------------------------------------------------
-
- @Test
- public void testDefaultConstructor() {
- final ITmfEvent event = new TmfEvent();
- assertNull("getTrace", event.getTrace());
- assertEquals("getRank", ITmfContext.UNKNOWN_RANK, event.getRank());
- assertNull("getTimestamp", event.getTimestamp());
- assertNull("getSource", event.getSource());
- assertNull("getType", event.getType());
- assertNull("getContent", event.getContent());
- assertNull("getReference", event.getReference());
- }
-
- @Test
- public void testFullConstructor() {
- assertNull("getTrace", fEvent1.getTrace());
- assertEquals("getRank", 0, fEvent1.getRank());
- assertEquals("getTimestamp", fTimestamp1, fEvent1.getTimestamp());
- assertEquals("getSource", fSource, fEvent1.getSource());
- assertEquals("getType", fType, fEvent1.getType());
- assertEquals("getContent", fContent1, fEvent1.getContent());
- assertEquals("getReference", fReference1, fEvent1.getReference());
-
- assertNull("getTrace", fEvent2.getTrace());
- assertEquals("getRank", 1, fEvent2.getRank());
- assertEquals("getTimestamp", fTimestamp2, fEvent2.getTimestamp());
- assertEquals("getSource", fSource, fEvent2.getSource());
- assertEquals("getType", fType, fEvent2.getType());
- assertEquals("getContent", fContent2, fEvent2.getContent());
- assertEquals("getReference", fReference2, fEvent2.getReference());
- }
-
- @Test
- public void testNoRankConstructor() {
- final ITmfEvent event = new TmfEvent(null, fTimestamp1, fSource, fType, fContent1, fReference1);
- assertNull("getTrace", event.getTrace());
- assertEquals("getRank", ITmfContext.UNKNOWN_RANK, event.getRank());
- assertEquals("getTimestamp", fTimestamp1, event.getTimestamp());
- assertEquals("getSource", fSource, event.getSource());
- assertEquals("getType", fType, event.getType());
- assertEquals("getContent", fContent1, event.getContent());
- assertEquals("getReference", fReference1, event.getReference());
- }
-
- @Test
- public void testConstructorWithTrace() {
- final ITmfTrace trace = openTrace();
- final ITmfEvent event = new TmfEvent(trace, 0, fTimestamp1, fSource, fType, fContent1, fReference1);
- assertNotNull("getTrace", event.getTrace());
- assertEquals("getRank", 0, event.getRank());
- assertEquals("getTimestamp", fTimestamp1, event.getTimestamp());
- assertEquals("getSource", fSource, event.getSource());
- assertEquals("getType", fType, event.getType());
- assertEquals("getContent", fContent1, event.getContent());
- assertEquals("getReference", fReference1, event.getReference());
- trace.dispose();
- }
-
- @Test
- public void testTmfEventCopy() {
- final ITmfEvent event = new TmfEvent(fEvent1);
- assertNull("getTrace", event.getTrace());
- assertEquals("getRank", 0, event.getRank());
- assertEquals("getTimestamp", fTimestamp1, event.getTimestamp());
- assertEquals("getSource", fSource, event.getSource());
- assertEquals("getType", fType, event.getType());
- assertEquals("getContent", fContent1, event.getContent());
- assertEquals("getReference", fReference1, event.getReference());
- }
-
- @Test
- public void testEventCopy2() {
- try {
- new TmfEvent(null);
- fail("null copy");
- } catch (final IllegalArgumentException e) {
- // Success
- }
- }
-
- // ------------------------------------------------------------------------
- // hashCode
- // ------------------------------------------------------------------------
-
- @Test
- public void testHashCode() {
- ITmfEvent event1 = new TmfEvent();
- ITmfEvent event2 = new TmfEvent();
-
- assertTrue("hashCode", event1.hashCode() == event2.hashCode());
-
- final ITmfTrace trace = openTrace();
- event1 = new TmfEvent(trace, 0, fTimestamp1, fSource, fType, fContent1, fReference1);
- event2 = new TmfEvent(trace, 1, fTimestamp2, fSource, fType, fContent2, fReference2);
- final ITmfEvent event1b = new TmfEvent(event1);
- final ITmfEvent event2b = new TmfEvent(event2);
-
- assertTrue("hashCode", event1.hashCode() == event1b.hashCode());
- assertTrue("hashCode", event2.hashCode() == event2b.hashCode());
-
- assertTrue("hashCode", event1.hashCode() != event2.hashCode());
- assertTrue("hashCode", event2.hashCode() != event1.hashCode());
-
- trace.dispose();
- }
-
- // ------------------------------------------------------------------------
- // equals
- // ------------------------------------------------------------------------
-
- @Test
- public void testEqualsReflexivity() {
- assertTrue("equals", fEvent1.equals(fEvent1));
- assertTrue("equals", fEvent2.equals(fEvent2));
-
- assertFalse("equals", fEvent1.equals(fEvent2));
- assertFalse("equals", fEvent2.equals(fEvent1));
- }
-
- @Test
- public void testEqualsSymmetry() {
- final ITmfEvent event1 = new TmfEvent(fEvent1);
- final ITmfEvent event2 = new TmfEvent(fEvent2);
-
- assertTrue("equals", event1.equals(fEvent1));
- assertTrue("equals", fEvent1.equals(event1));
-
- assertTrue("equals", event2.equals(fEvent2));
- assertTrue("equals", fEvent2.equals(event2));
- }
-
- @Test
- public void testEqualsTransivity() {
- final ITmfEvent event1 = new TmfEvent(fEvent1);
- final ITmfEvent event2 = new TmfEvent(fEvent1);
- final ITmfEvent event3 = new TmfEvent(fEvent1);
-
- assertTrue("equals", event1.equals(event2));
- assertTrue("equals", event2.equals(event3));
- assertTrue("equals", event1.equals(event3));
- }
-
- @Test
- public void testEqualsNull() {
- assertFalse("equals", fEvent1.equals(null));
- assertFalse("equals", fEvent2.equals(null));
- }
-
- @Test
- public void testNonEqualClasses() {
- assertFalse("equals", fEvent1.equals(fEvent1.getType()));
- assertFalse("equals", fEvent1.equals(null));
- }
-
- @Test
- public void testNonEqualTraces() {
- final ITmfTrace trace1 = openTrace();
- final ITmfTrace trace2 = openTrace();
-
- final ITmfEvent event1 = new TmfEvent(trace1, 0, fTimestamp1, fSource, fType, fContent1, fReference1);
- ITmfEvent event2 = new TmfEvent(trace1, 0, fTimestamp1, fSource, fType, fContent1, fReference1);
- assertTrue("equals", event1.equals(event2));
- assertTrue("equals", event2.equals(event1));
-
- event2 = new TmfEvent(null, 0, fTimestamp1, fSource, fType, fContent1, fReference1);
- assertFalse("equals", event1.equals(event2));
- assertFalse("equals", event2.equals(event1));
-
- event2 = new TmfEvent(trace2, 0, fTimestamp1, fSource, fType, fContent1, fReference1);
- assertFalse("equals", event1.equals(event2));
- assertFalse("equals", event2.equals(event1));
-
- trace1.dispose();
- trace2.dispose();
- }
-
- @Test
- public void testNonEqualRanks() {
- final ITmfEvent event1 = new TmfEvent(null, 0, fTimestamp1, fSource, fType, fContent1, fReference1);
- ITmfEvent event2 = new TmfEvent(null, 0, fTimestamp1, fSource, fType, fContent1, fReference1);
- assertTrue("equals", event1.equals(event2));
- assertTrue("equals", event2.equals(event1));
-
- event2 = new TmfEvent(null, 1, fTimestamp1, fSource, fType, fContent1, fReference1);
- assertFalse("equals", event1.equals(event2));
- assertFalse("equals", event2.equals(event1));
- }
-
- @Test
- public void testNonEqualTimestamps() {
- final ITmfEvent event1 = new TmfEvent(null, 0, fTimestamp1, fSource, fType, fContent1, fReference1);
- ITmfEvent event2 = new TmfEvent(null, 0, fTimestamp1, fSource, fType, fContent1, fReference1);
- assertTrue("equals", event1.equals(event2));
- assertTrue("equals", event2.equals(event1));
-
- event2 = new TmfEvent(null, 0, fTimestamp2, fSource, fType, fContent1, fReference1);
- assertFalse("equals", event1.equals(event2));
- assertFalse("equals", event2.equals(event1));
-
- event2 = new TmfEvent(null, 0, null, fSource, fType, fContent1, fReference1);
- assertFalse("equals", event1.equals(event2));
- assertFalse("equals", event2.equals(event1));
- }
-
- @Test
- public void testNonEqualSources() {
- final ITmfEvent event1 = new TmfEvent(null, 0, fTimestamp1, fSource, fType, fContent1, fReference1);
- ITmfEvent event2 = new TmfEvent(null, 0, fTimestamp1, fSource, fType, fContent1, fReference1);
- assertTrue("equals", event1.equals(event2));
- assertTrue("equals", event2.equals(event1));
-
- event2 = new TmfEvent(null, 0, fTimestamp1, fSource + "x", fType, fContent1, fReference1);
- assertFalse("equals", event1.equals(event2));
- assertFalse("equals", event2.equals(event1));
-
- event2 = new TmfEvent(null, 0, fTimestamp1, null, fType, fContent1, fReference1);
- assertFalse("equals", event1.equals(event2));
- assertFalse("equals", event2.equals(event1));
- }
-
- @Test
- public void testNonEqualTypes() {
- final ITmfEvent event1 = new TmfEvent(null, 0, fTimestamp1, fSource, fType, fContent1, fReference1);
- ITmfEvent event2 = new TmfEvent(null, 0, fTimestamp1, fSource, fType, fContent1, fReference1);
- assertTrue("equals", event1.equals(event2));
- assertTrue("equals", event2.equals(event1));
-
- final String typeId = "OtherTestType";
- final String[] labels = new String[] { fLabel2, fLabel1 };
- final TmfEventType newType = new TmfEventType(fContext, typeId, TmfEventField.makeRoot(labels));
-
- event2 = new TmfEvent(null, 0, fTimestamp1, fSource, newType, fContent1, fReference1);
- assertFalse("equals", event1.equals(event2));
- assertFalse("equals", event2.equals(event1));
-
- event2 = new TmfEvent(null, 0, fTimestamp1, fSource, null, fContent1, fReference1);
- assertFalse("equals", event1.equals(event2));
- assertFalse("equals", event2.equals(event1));
- }
-
- @Test
- public void testNonEqualContents() {
- final ITmfEvent event1 = new TmfEvent(null, 0, fTimestamp1, fSource, fType, fContent1, fReference1);
- ITmfEvent event2 = new TmfEvent(null, 0, fTimestamp1, fSource, fType, fContent1, fReference1);
- assertTrue("equals", event1.equals(event2));
- assertTrue("equals", event2.equals(event1));
-
- event2 = new TmfEvent(null, 0, fTimestamp1, fSource, fType, fContent2, fReference1);
- assertFalse("equals", event1.equals(event2));
- assertFalse("equals", event2.equals(event1));
-
- event2 = new TmfEvent(null, 0, fTimestamp1, fSource, fType, null, fReference1);
- assertFalse("equals", event1.equals(event2));
- assertFalse("equals", event2.equals(event1));
- }
-
- @Test
- public void testNonEqualReferences() {
- final ITmfEvent event1 = new TmfEvent(null, 0, fTimestamp1, fSource, fType, fContent1, fReference1);
- ITmfEvent event2 = new TmfEvent(null, 0, fTimestamp1, fSource, fType, fContent1, fReference1);
- assertTrue("equals", event1.equals(event2));
- assertTrue("equals", event2.equals(event1));
-
- event2 = new TmfEvent(null, 0, fTimestamp1, fSource, fType, fContent1, fReference2);
- assertFalse("equals", event1.equals(event2));
- assertFalse("equals", event2.equals(event1));
-
- event2 = new TmfEvent(null, 0, fTimestamp1, fSource, fType, fContent1, null);
- assertFalse("equals", event1.equals(event2));
- assertFalse("equals", event2.equals(event1));
- }
-
- // ------------------------------------------------------------------------
- // toString
- // ------------------------------------------------------------------------
-
- @Test
- public void testToString() {
- final String expected1 = "TmfEvent [fTimestamp=" + fTimestamp1 + ", fTrace=null, fRank=0, fSource=" + fSource
- + ", fType=" + fType + ", fContent=" + fContent1 + ", fReference=" + fReference1 + "]";
- assertEquals("toString", expected1, fEvent1.toString());
-
- final String expected2 = "TmfEvent [fTimestamp=" + fTimestamp2 + ", fTrace=null, fRank=1, fSource=" + fSource
- + ", fType=" + fType + ", fContent=" + fContent2 + ", fReference=" + fReference2 + "]";
- assertEquals("toString", expected2, fEvent2.toString());
- }
-
- /**
- * Test the .toString() with extended classes.
- * It should print the correct class name.
- */
- @Test
- public void testToStringExtended() {
- class ExtendedEvent extends TmfEvent {
- ExtendedEvent(ITmfEvent event) {
- super(event);
- }
- }
- ExtendedEvent event = new ExtendedEvent(fEvent1);
- String expected = "ExtendedEvent [fTimestamp=" + fTimestamp1
- + ", fTrace=null, fRank=0, fSource=" + fSource
- + ", fType=" + fType + ", fContent=" + fContent1
- + ", fReference=" + fReference1 + "]";
-
- assertEquals(expected, event.toString());
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/event/TmfEventTypeManagerTest.java b/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/event/TmfEventTypeManagerTest.java
deleted file mode 100644
index 13bdc3c38f..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/event/TmfEventTypeManagerTest.java
+++ /dev/null
@@ -1,242 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2012, 2013 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
- * Alexandre Montplaisir - Port to JUnit4
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.core.tests.event;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotSame;
-import static org.junit.Assert.assertNull;
-import static org.junit.Assert.assertSame;
-import static org.junit.Assert.assertTrue;
-
-import java.util.Arrays;
-import java.util.Set;
-
-import org.eclipse.linuxtools.tmf.core.event.ITmfEventType;
-import org.eclipse.linuxtools.tmf.core.event.TmfEventField;
-import org.eclipse.linuxtools.tmf.core.event.TmfEventType;
-import org.eclipse.linuxtools.tmf.core.event.TmfEventTypeManager;
-import org.junit.Test;
-
-/**
- * Test suite for the TmfEventTypeManager class.
- */
-@SuppressWarnings("javadoc")
-public class TmfEventTypeManagerTest {
-
- // ------------------------------------------------------------------------
- // Variables
- // ------------------------------------------------------------------------
-
- private static final TmfEventTypeManager fInstance = TmfEventTypeManager.getInstance();
-
- private final String fContext1 = "JUnit context 1";
- private final String fContext2 = "JUnit context 2";
-
- private final String fTypeId1 = "Some type";
- private final String fTypeId2 = "Some other type";
- private final String fTypeId3 = "Yet another type";
- private final String fTypeId4 = "A final type";
-
- private final String fLabel0 = "label1";
- private final String fLabel1 = "label2";
- private final String fLabel2 = "label3";
-
- private final String[] fLabels0 = new String[] { };
- private final String[] fLabels1 = new String[] { fLabel0, fLabel1 };
- private final String[] fLabels2 = new String[] { fLabel1, fLabel0, fLabel2 };
-
- private final TmfEventType fType0 = new TmfEventType(fContext1, fTypeId1, TmfEventField.makeRoot(fLabels0));
- private final TmfEventType fType1 = new TmfEventType(fContext1, fTypeId2, TmfEventField.makeRoot(fLabels1));
- private final TmfEventType fType2 = new TmfEventType(fContext2, fTypeId3, TmfEventField.makeRoot(fLabels2));
- private final TmfEventType fType3 = new TmfEventType(fContext2, fTypeId4, TmfEventField.makeRoot(fLabels1));
-
- // ------------------------------------------------------------------------
- // Getters
- // ------------------------------------------------------------------------
-
- @Test
- public void testGetContexts() {
- fInstance.clear();
- fInstance.add(fContext1, fType0);
- fInstance.add(fContext1, fType1);
- fInstance.add(fContext2, fType2);
- fInstance.add(fContext2, fType3);
-
- final String[] contexts = fInstance.getContexts();
- Arrays.sort(contexts);
- assertEquals("getContexts", 2, contexts.length);
- assertEquals("getContexts", fContext1, contexts[0]);
- assertEquals("getContexts", fContext2, contexts[1]);
- }
-
- @Test
- public void testGetTypes() {
- fInstance.clear();
- fInstance.add(fContext1, fType0);
- fInstance.add(fContext1, fType1);
- fInstance.add(fContext2, fType2);
- fInstance.add(fContext2, fType3);
-
- Set<ITmfEventType> types = fInstance.getTypes(fContext1);
- assertEquals("getTypes", 2, types.size());
- assertTrue(types.contains(fType1));
- assertTrue(types.contains(fType0));
-
- types = fInstance.getTypes(fContext2);
- assertEquals("getTypes", 2, types.size());
- assertTrue(types.contains(fType2));
- assertTrue(types.contains(fType3));
- }
-
- @Test
- public void testGetType() {
- fInstance.clear();
- fInstance.add(fContext1, fType0);
- fInstance.add(fContext1, fType1);
- fInstance.add(fContext2, fType2);
- fInstance.add(fContext2, fType3);
-
- ITmfEventType type = fInstance.getType(fContext1, fType0.getName());
- assertSame("getType", fType0, type);
- type = fInstance.getType(fContext1, fType1.getName());
- assertSame("getType", fType1, type);
- type = fInstance.getType(fContext1, fType2.getName());
- assertNull("getType", type);
- type = fInstance.getType(fContext1, fType3.getName());
- assertNull("getType", type);
-
- type = fInstance.getType(fContext2, fType2.getName());
- assertSame("getType", fType2, type);
- type = fInstance.getType(fContext2, fType3.getName());
- assertSame("getType", fType3, type);
- type = fInstance.getType(fContext2, fType0.getName());
- assertNull("getType", type);
- type = fInstance.getType(fContext2, fType1.getName());
- assertNull("getType", type);
- }
-
- // ------------------------------------------------------------------------
- // Operations
- // ------------------------------------------------------------------------
-
- @Test
- public void testClear() {
- fInstance.clear();
- assertEquals("clear", 0, fInstance.getContexts().length);
- assertEquals("clear", 0, fInstance.getTypes(null).size());
- assertNull("clear", fInstance.getType(null, null));
- assertEquals("clear", "TmfEventTypeManager [fEventTypes={}]", fInstance.toString());
- }
-
- @Test
- public void testClearContext() {
- fInstance.clear();
- fInstance.add(fContext1, fType0);
- fInstance.add(fContext1, fType1);
- fInstance.add(fContext2, fType2);
- fInstance.add(fContext2, fType3);
-
- fInstance.clear(fContext1);
-
- final String[] contexts = fInstance.getContexts();
- assertEquals("clear context", 1, contexts.length);
- assertEquals("clear context", fContext2, contexts[0]);
-
- Set<ITmfEventType> types = fInstance.getTypes(fContext1);
- assertEquals("clear context", 0, types.size());
-
- ITmfEventType type = fInstance.getType(fContext1, fType0.getName());
- assertNull("clear context", type);
- type = fInstance.getType(fContext1, fType1.getName());
- assertNull("clear context", type);
-
- types = fInstance.getTypes(fContext2);
- assertEquals("clear context", 2, types.size());
- assertTrue(types.contains(fType2));
- assertTrue(types.contains(fType3));
- }
-
- @Test
- public void testBasicAdd() {
- fInstance.clear();
- fInstance.add(fContext1, fType0);
-
- final String[] contexts = fInstance.getContexts();
- assertEquals("add", 1, contexts.length);
- assertEquals("add", fContext1, contexts[0]);
-
- final Set<ITmfEventType> types = fInstance.getTypes(contexts[0]);
- assertEquals("add", 1, types.size());
- assertTrue(types.contains(fType0));
-
- ITmfEventType type = fInstance.getType(contexts[0], fType0.getName());
- assertSame("add", fType0, type);
-
- type = fInstance.getType(contexts[0], fType1.getName());
- assertNotSame("add", fType0, type);
- }
-
- @Test
- public void testAdd() {
- fInstance.clear();
- fInstance.add(fContext1, fType0);
- fInstance.add(fContext1, fType1);
- fInstance.add(fContext2, fType2);
- fInstance.add(fContext2, fType3);
-
- final String[] contexts = fInstance.getContexts();
- Arrays.sort(contexts);
- assertEquals("add", 2, contexts.length);
- assertEquals("add", fContext1, contexts[0]);
- assertEquals("add", fContext2, contexts[1]);
-
- Set<ITmfEventType> types = fInstance.getTypes(fContext1);
- assertEquals("add", 2, types.size());
- assertTrue(types.contains(fType0));
- assertTrue(types.contains(fType1));
-
- types = fInstance.getTypes(fContext2);
- assertEquals("add", 2, types.size());
- assertTrue(types.contains(fType2));
- assertTrue(types.contains(fType3));
-
- ITmfEventType type = fInstance.getType(fContext1, fType0.getName());
- assertSame("add", fType0, type);
- type = fInstance.getType(fContext1, fType1.getName());
- assertSame("add", fType1, type);
- type = fInstance.getType(fContext2, fType2.getName());
- assertSame("add", fType2, type);
- type = fInstance.getType(fContext2, fType3.getName());
- assertSame("add", fType3, type);
-
- type = fInstance.getType(fContext1, fType2.getName());
- assertNull("add", type);
- type = fInstance.getType(fContext2, fType0.getName());
- assertNull("add", type);
- }
-
- // ------------------------------------------------------------------------
- // Object
- // ------------------------------------------------------------------------
-
- @Test
- public void testToString() {
- fInstance.clear();
- assertEquals("toString", "TmfEventTypeManager [fEventTypes={}]", fInstance.toString());
-
- fInstance.add(fContext1, fType0);
- assertEquals("toString", "TmfEventTypeManager [fEventTypes={" + fContext1 + "={" + fTypeId1 + "=" + fType0 + "}}]", fInstance.toString());
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/event/TmfEventTypeTest.java b/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/event/TmfEventTypeTest.java
deleted file mode 100644
index 4dbbb8b1e9..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/event/TmfEventTypeTest.java
+++ /dev/null
@@ -1,233 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009, 2013 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 Event Model
- * Alexandre Montplaisir - Port to JUnit4
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.core.tests.event;
-
-import static org.junit.Assert.assertArrayEquals;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNull;
-import static org.junit.Assert.assertTrue;
-import static org.junit.Assert.fail;
-
-import java.util.Collection;
-
-import org.eclipse.linuxtools.tmf.core.event.ITmfEventType;
-import org.eclipse.linuxtools.tmf.core.event.TmfEventField;
-import org.eclipse.linuxtools.tmf.core.event.TmfEventType;
-import org.junit.Test;
-
-/**
- * Test suite for the TmfEventType class.
- */
-@SuppressWarnings("javadoc")
-public class TmfEventTypeTest {
-
- // ------------------------------------------------------------------------
- // Variables
- // ------------------------------------------------------------------------
-
- private final String fContext1 = "JUnit context 1";
- private final String fContext2 = "JUnit context 2";
-
- private final String fTypeId1 = "Some type";
- private final String fTypeId2 = "Some other type";
-
- private final String fLabel0 = "label1";
- private final String fLabel1 = "label2";
- private final String fLabel2 = "label3";
-
- private final String[] fLabels0 = new String[] { };
- private final String[] fLabels1 = new String[] { fLabel0, fLabel1 };
- private final String[] fLabels2 = new String[] { fLabel1, fLabel0, fLabel2 };
-
- private final ITmfEventType fType0 = new TmfEventType(fContext1, fTypeId1, TmfEventField.makeRoot(fLabels0));
- private final ITmfEventType fType1 = new TmfEventType(fContext1, fTypeId2, TmfEventField.makeRoot(fLabels1));
- private final ITmfEventType fType2 = new TmfEventType(fContext2, fTypeId1, TmfEventField.makeRoot(fLabels2));
- private final ITmfEventType fType3 = new TmfEventType(fContext2, fTypeId2, TmfEventField.makeRoot(fLabels1));
-
- // ------------------------------------------------------------------------
- // Constructors
- // ------------------------------------------------------------------------
-
- @Test
- public void testDefaultConstructor() {
- final ITmfEventType type = new TmfEventType();
- assertEquals("getContext", ITmfEventType.DEFAULT_CONTEXT_ID, type.getContext());
- assertEquals("getName", ITmfEventType.DEFAULT_TYPE_ID, type.getName());
- assertNull("getRootField", type.getRootField());
- assertEquals("getFieldNames", 0, type.getFieldNames().size());
- }
-
- @Test
- public void testFullConstructor() {
- final ITmfEventType type0 = new TmfEventType(fContext1, fTypeId1, TmfEventField.makeRoot(fLabels0));
- assertEquals("getContext", fContext1, type0.getContext());
- assertEquals("getName", fTypeId1, type0.getName());
- assertEquals("getRootField", TmfEventField.makeRoot(fLabels0), type0.getRootField());
- final Collection<String> labels0 = type0.getFieldNames();
- assertEquals("getFieldNames length", fLabels0.length, labels0.size());
- assertArrayEquals(fLabels0, labels0.toArray(new String[labels0.size()]));
-
- final ITmfEventType type1 = new TmfEventType(fContext1, fTypeId1, TmfEventField.makeRoot(fLabels1));
- assertEquals("getContext", fContext1, type1.getContext());
- assertEquals("getName", fTypeId1, type1.getName());
- assertEquals("getRootField", TmfEventField.makeRoot(fLabels1), type1.getRootField());
- final Collection<String> labels1 = type1.getFieldNames();
- assertEquals("getFieldNames length", fLabels1.length, labels1.size());
- assertArrayEquals(fLabels1, labels1.toArray(new String[labels1.size()]));
-
- final ITmfEventType type2 = new TmfEventType(fContext2, fTypeId2, TmfEventField.makeRoot(fLabels2));
- assertEquals("getContext", fContext2, type2.getContext());
- assertEquals("getName", fTypeId2, type2.getName());
- assertEquals("getRootField", TmfEventField.makeRoot(fLabels2), type2.getRootField());
- final Collection<String> labels2 = type2.getFieldNames();
- assertEquals("getFieldNames length", fLabels2.length, labels2.size());
- assertArrayEquals(fLabels2, labels2.toArray(new String[labels2.size()]));
- }
-
- @Test
- public void testConstructorCornerCases() {
- try {
- new TmfEventType(null, fTypeId1, null);
- fail("TmfEventType: null context");
- } catch (final IllegalArgumentException e) {
- }
-
- try {
- new TmfEventType(fContext1, null, null);
- fail("TmfEventType: null type");
- } catch (final IllegalArgumentException e) {
- }
- }
-
- @Test
- public void testCopyConstructor() {
- final TmfEventType original = new TmfEventType(fContext1, fTypeId1, TmfEventField.makeRoot(fLabels1));
- final TmfEventType copy = new TmfEventType(original);
-
- assertEquals("getContext", fContext1, copy.getContext());
- assertEquals("getName", fTypeId1, copy.getName());
- assertEquals("getRootField", TmfEventField.makeRoot(fLabels1), copy.getRootField());
- final Collection<String> labels1 = copy.getFieldNames();
- assertEquals("getFieldNames length", fLabels1.length, labels1.size());
- assertArrayEquals(fLabels1, labels1.toArray(new String[labels1.size()]));
- }
-
- @Test
- public void testCopyConstructorCornerCases() {
- try {
- new TmfEventType(null);
- fail("TmfEventType: null argument");
- } catch (final IllegalArgumentException e) {
- }
- }
-
- // ------------------------------------------------------------------------
- // hashCode
- // ------------------------------------------------------------------------
-
- @Test
- public void testHashCode() {
- final TmfEventType copy1 = new TmfEventType(fType0);
-
- assertTrue("hashCode", fType0.hashCode() == copy1.hashCode());
- assertTrue("hashCode", fType0.hashCode() != fType3.hashCode());
- }
-
- // ------------------------------------------------------------------------
- // equals
- // ------------------------------------------------------------------------
-
- @Test
- public void testEqualsReflexivity() {
- assertTrue("equals", fType0.equals(fType0));
- assertTrue("equals", fType3.equals(fType3));
-
- assertFalse("equals", fType0.equals(fType3));
- assertFalse("equals", fType3.equals(fType0));
- }
-
- @Test
- public void testEqualsSymmetry() {
- final TmfEventType copy0 = new TmfEventType(fType0);
- assertTrue("equals", fType0.equals(copy0));
- assertTrue("equals", copy0.equals(fType0));
-
- final TmfEventType copy1 = new TmfEventType(fType1);
- assertTrue("equals", fType1.equals(copy1));
- assertTrue("equals", copy1.equals(fType1));
-
- final TmfEventType copy2 = new TmfEventType(fType2);
- assertTrue("equals", fType2.equals(copy2));
- assertTrue("equals", copy2.equals(fType2));
- }
-
- @Test
- public void testEqualsTransivity() {
- TmfEventType copy1 = new TmfEventType(fType1);
- TmfEventType copy2 = new TmfEventType(copy1);
- assertTrue("equals", fType1.equals(copy1));
- assertTrue("equals", copy1.equals(copy2));
- assertTrue("equals", fType1.equals(copy2));
-
- copy1 = new TmfEventType(fType2);
- copy2 = new TmfEventType(copy1);
- assertTrue("equals", fType2.equals(copy1));
- assertTrue("equals", copy1.equals(copy2));
- assertTrue("equals", fType2.equals(copy2));
-
- copy1 = new TmfEventType(fType3);
- copy2 = new TmfEventType(copy1);
- assertTrue("equals", fType3.equals(copy1));
- assertTrue("equals", copy1.equals(copy2));
- assertTrue("equals", fType3.equals(copy2));
- }
-
- @Test
- public void testEqualsNull() {
- assertFalse("equals", fType0.equals(null));
- assertFalse("equals", fType3.equals(null));
- }
-
- @Test
- public void testNonEquals() {
- assertFalse("equals", fType0.equals(fType1));
- assertFalse("equals", fType1.equals(fType2));
- assertFalse("equals", fType2.equals(fType3));
- assertFalse("equals", fType3.equals(fType0));
- }
-
- @Test
- public void testNonEqualsClasses() {
- assertFalse("equals", fType1.equals(fLabels1));
- }
-
- // ------------------------------------------------------------------------
- // toString
- // ------------------------------------------------------------------------
-
- @Test
- public void testToString() {
- final String expected1 = "TmfEventType [fContext=" + ITmfEventType.DEFAULT_CONTEXT_ID +
- ", fTypeId=" + ITmfEventType.DEFAULT_TYPE_ID + "]";
- final TmfEventType type1 = new TmfEventType();
- assertEquals("toString", expected1, type1.toString());
-
- final String expected2 = "TmfEventType [fContext=" + fContext1 + ", fTypeId=" + fTypeId1 + "]";
- final TmfEventType type2 = new TmfEventType(fContext1, fTypeId1, TmfEventField.makeRoot(fLabels1));
- assertEquals("toString", expected2, type2.toString());
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/event/TmfNanoTimestampTest.java b/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/event/TmfNanoTimestampTest.java
deleted file mode 100644
index 55f040a9be..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/event/TmfNanoTimestampTest.java
+++ /dev/null
@@ -1,293 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 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
- * Patrick Tasse - Modified from TmfSimpleTimestamp to use nanosecond scale
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.core.tests.event;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertTrue;
-import static org.junit.Assert.fail;
-
-import java.text.DateFormat;
-import java.text.SimpleDateFormat;
-import java.util.Date;
-
-import org.eclipse.linuxtools.tmf.core.timestamp.ITmfTimestamp;
-import org.eclipse.linuxtools.tmf.core.timestamp.TmfNanoTimestamp;
-import org.eclipse.linuxtools.tmf.core.timestamp.TmfTimestamp;
-import org.junit.Test;
-
-/**
- * Test suite for the TmfNanoTimestampTest class.
- */
-@SuppressWarnings("javadoc")
-public class TmfNanoTimestampTest {
-
- // ------------------------------------------------------------------------
- // Variables
- // ------------------------------------------------------------------------
-
- private final ITmfTimestamp ts0 = new TmfNanoTimestamp();
- private final ITmfTimestamp ts1 = new TmfNanoTimestamp(12345);
- private final ITmfTimestamp ts2 = new TmfNanoTimestamp(-1234);
-
- // ------------------------------------------------------------------------
- // Constructors
- // ------------------------------------------------------------------------
-
- @Test
- public void testDefaultConstructor() {
- assertEquals("getValue", 0, ts0.getValue());
- assertEquals("getscale", -9, ts0.getScale());
- assertEquals("getPrecision", 0, ts0.getPrecision());
- }
-
- @Test
- public void testFullConstructor() {
- assertEquals("getValue", 12345, ts1.getValue());
- assertEquals("getscale", -9, ts1.getScale());
- assertEquals("getPrecision", 0, ts1.getPrecision());
- }
-
- @Test
- public void testCopyConstructor() {
- final ITmfTimestamp copy = new TmfNanoTimestamp(ts1);
-
- assertEquals("getValue", ts1.getValue(), copy.getValue());
- assertEquals("getscale", ts1.getScale(), copy.getScale());
- assertEquals("getPrecision", ts1.getPrecision(), copy.getPrecision());
-
- assertEquals("getValue", 12345, copy.getValue());
- assertEquals("getscale", -9, copy.getScale());
- assertEquals("getPrecision", 0, copy.getPrecision());
- }
-
- @Test
- public void testCopyBadTimestamp() {
- try {
- new TmfNanoTimestamp(null);
- fail("TmfNanoTimestamp: null argument");
- } catch (final NullPointerException e) {
- }
- }
-
- // ------------------------------------------------------------------------
- // equals
- // ------------------------------------------------------------------------
-
- @Test
- public void testEqualsReflexivity() {
- assertTrue("equals", ts0.equals(ts0));
- assertTrue("equals", ts1.equals(ts1));
- assertTrue("equals", ts2.equals(ts2));
-
- assertTrue("equals", !ts0.equals(ts1));
- assertTrue("equals", !ts0.equals(ts2));
-
- assertTrue("equals", !ts1.equals(ts0));
- assertTrue("equals", !ts1.equals(ts2));
-
- assertTrue("equals", !ts2.equals(ts0));
- assertTrue("equals", !ts2.equals(ts1));
- }
-
- @Test
- public void testEqualsSymmetry() {
- final ITmfTimestamp ts0copy = new TmfNanoTimestamp(ts0);
- assertTrue("equals", ts0.equals(ts0copy));
- assertTrue("equals", ts0copy.equals(ts0));
-
- final ITmfTimestamp ts1copy = new TmfNanoTimestamp(ts1);
- assertTrue("equals", ts1.equals(ts1copy));
- assertTrue("equals", ts1copy.equals(ts1));
- }
-
- @Test
- public void testEqualsTransivity() {
- final ITmfTimestamp ts0copy1 = new TmfNanoTimestamp(ts0);
- final ITmfTimestamp ts0copy2 = new TmfNanoTimestamp(ts0copy1);
- assertTrue("equals", ts0.equals(ts0copy1));
- assertTrue("equals", ts0copy1.equals(ts0copy2));
- assertTrue("equals", ts0.equals(ts0copy2));
-
- final ITmfTimestamp ts1copy1 = new TmfNanoTimestamp(ts1);
- final ITmfTimestamp ts1copy2 = new TmfNanoTimestamp(ts1copy1);
- assertTrue("equals", ts1.equals(ts1copy1));
- assertTrue("equals", ts1copy1.equals(ts1copy2));
- assertTrue("equals", ts1.equals(ts1copy2));
- }
-
- @Test
- public void testEqualsNull() {
- assertTrue("equals", !ts0.equals(null));
- assertTrue("equals", !ts1.equals(null));
- assertTrue("equals", !ts2.equals(null));
- }
-
- @Test
- public void testEqualsNonTimestamp() {
- assertFalse("equals", ts0.equals(ts0.toString()));
- }
-
- // ------------------------------------------------------------------------
- // toString
- // ------------------------------------------------------------------------
-
- @Test
- public void testToString() {
- DateFormat df = new SimpleDateFormat("HH:mm:ss.SSS");
- Date d0 = new Date(ts0.getValue() / 1000000);
- Date d1 = new Date(ts1.getValue() / 1000000);
- Date d2 = new Date(ts2.getValue() / 1000000 - 1);
- assertEquals("toString", df.format(d0) + " 000 000", ts0.toString());
- assertEquals("toString", df.format(d1) + " 012 345", ts1.toString());
- assertEquals("toString", df.format(d2) + " 998 766", ts2.toString());
- }
-
- // ------------------------------------------------------------------------
- // hashCode
- // ------------------------------------------------------------------------
-
- @Test
- public void testHashCode() {
- final ITmfTimestamp ts0copy = new TmfTimestamp(ts0);
- final ITmfTimestamp ts1copy = new TmfTimestamp(ts1);
- final ITmfTimestamp ts2copy = new TmfTimestamp(ts2);
-
- assertTrue("hashCode", ts0.hashCode() == ts0copy.hashCode());
- assertTrue("hashCode", ts1.hashCode() == ts1copy.hashCode());
- assertTrue("hashCode", ts2.hashCode() == ts2copy.hashCode());
-
- assertTrue("hashCode", ts0.hashCode() != ts1.hashCode());
- }
-
- // ------------------------------------------------------------------------
- // normalize
- // ------------------------------------------------------------------------
-
- @Test
- public void testNormalizeScale0() {
- ITmfTimestamp ts = ts0.normalize(0, 0);
- assertEquals("getValue", 0, ts.getValue());
- assertEquals("getscale", 0, ts.getScale());
- assertEquals("getPrecision", 0, ts.getPrecision());
-
- ts = ts0.normalize(12345, 0);
- assertEquals("getValue", 12345, ts.getValue());
- assertEquals("getscale", 0, ts.getScale());
- assertEquals("getPrecision", 0, ts.getPrecision());
-
- ts = ts0.normalize(10, 0);
- assertEquals("getValue", 10, ts.getValue());
- assertEquals("getscale", 0, ts.getScale());
- assertEquals("getPrecision", 0, ts.getPrecision());
-
- ts = ts0.normalize(-10, 0);
- assertEquals("getValue", -10, ts.getValue());
- assertEquals("getscale", 0, ts.getScale());
- assertEquals("getPrecision", 0, ts.getPrecision());
- }
-
- @Test
- public void testNormalizeScaleNot0() {
- ITmfTimestamp ts = ts0.normalize(0, 1);
- assertEquals("getValue", 0, ts.getValue());
- assertEquals("getscale", 1, ts.getScale());
- assertEquals("getPrecision", 0, ts.getPrecision());
-
- ts = ts0.normalize(12345, 1);
- assertEquals("getValue", 12345, ts.getValue());
- assertEquals("getscale", 1, ts.getScale());
- assertEquals("getPrecision", 0, ts.getPrecision());
-
- ts = ts0.normalize(10, 1);
- assertEquals("getValue", 10, ts.getValue());
- assertEquals("getscale", 1, ts.getScale());
- assertEquals("getPrecision", 0, ts.getPrecision());
-
- ts = ts0.normalize(-10, 1);
- assertEquals("getValue", -10, ts.getValue());
- assertEquals("getscale", 1, ts.getScale());
- assertEquals("getPrecision", 0, ts.getPrecision());
- }
-
- // ------------------------------------------------------------------------
- // compareTo
- // ------------------------------------------------------------------------
-
- @Test
- public void testBasicCompareTo() {
- final ITmfTimestamp tstamp1 = new TmfNanoTimestamp(900);
- final ITmfTimestamp tstamp2 = new TmfNanoTimestamp(1000);
- final ITmfTimestamp tstamp3 = new TmfNanoTimestamp(1100);
-
- assertTrue(tstamp1.compareTo(tstamp1) == 0);
-
- assertTrue("CompareTo", tstamp1.compareTo(tstamp2) < 0);
- assertTrue("CompareTo", tstamp1.compareTo(tstamp3) < 0);
-
- assertTrue("CompareTo", tstamp2.compareTo(tstamp1) > 0);
- assertTrue("CompareTo", tstamp2.compareTo(tstamp3) < 0);
-
- assertTrue("CompareTo", tstamp3.compareTo(tstamp1) > 0);
- assertTrue("CompareTo", tstamp3.compareTo(tstamp2) > 0);
- }
-
- @Test
- public void testCompareTo() {
- final ITmfTimestamp ts0a = new TmfTimestamp(0, 2, 0);
- final ITmfTimestamp ts1a = new TmfTimestamp(123450, -10);
- final ITmfTimestamp ts2a = new TmfTimestamp(-12340, -10);
-
- assertTrue(ts1.compareTo(ts1) == 0);
-
- assertTrue("CompareTo", ts0.compareTo(ts0a) == 0);
- assertTrue("CompareTo", ts1.compareTo(ts1a) == 0);
- assertTrue("CompareTo", ts2.compareTo(ts2a) == 0);
- }
-
- // ------------------------------------------------------------------------
- // getDelta
- // ------------------------------------------------------------------------
-
- @Test
- public void testDelta() {
- // Delta for same scale and precision (delta > 0)
- TmfTimestamp tstamp0 = new TmfNanoTimestamp(10);
- TmfTimestamp tstamp1 = new TmfNanoTimestamp(5);
- TmfTimestamp expectd = new TmfNanoTimestamp(5);
-
- ITmfTimestamp delta = tstamp0.getDelta(tstamp1);
- assertEquals("getDelta", 0, delta.compareTo(expectd, false));
-
- // Delta for same scale and precision (delta < 0)
- tstamp0 = new TmfTimestamp(5);
- tstamp1 = new TmfTimestamp(10);
- expectd = new TmfTimestamp(-5);
-
- delta = tstamp0.getDelta(tstamp1);
- assertEquals("getDelta", 0, delta.compareTo(expectd, false));
- }
-
- @Test
- public void testDelta2() {
- // Delta for different scale and same precision (delta > 0)
- final TmfTimestamp tstamp0 = new TmfNanoTimestamp(10);
- final TmfTimestamp tstamp1 = new TmfTimestamp(1, -8);
- final TmfTimestamp expectd = new TmfTimestamp(0, 0);
-
- final ITmfTimestamp delta = tstamp0.getDelta(tstamp1);
- assertEquals("getDelta", 0, delta.compareTo(expectd, false));
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/event/TmfSimpleTimestampTest.java b/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/event/TmfSimpleTimestampTest.java
deleted file mode 100644
index a2f5604254..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/event/TmfSimpleTimestampTest.java
+++ /dev/null
@@ -1,293 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2012, 2013 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
- * Alexandre Montplaisir - Port to JUnit4
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.core.tests.event;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertTrue;
-import static org.junit.Assert.fail;
-
-import java.text.DateFormat;
-import java.text.SimpleDateFormat;
-import java.util.Date;
-
-import org.eclipse.linuxtools.tmf.core.timestamp.ITmfTimestamp;
-import org.eclipse.linuxtools.tmf.core.timestamp.TmfSimpleTimestamp;
-import org.eclipse.linuxtools.tmf.core.timestamp.TmfTimestamp;
-import org.junit.Test;
-
-/**
- * Test suite for the TmfSimpleTimestampTest class.
- */
-@SuppressWarnings("javadoc")
-public class TmfSimpleTimestampTest {
-
- // ------------------------------------------------------------------------
- // Variables
- // ------------------------------------------------------------------------
-
- private final ITmfTimestamp ts0 = new TmfSimpleTimestamp();
- private final ITmfTimestamp ts1 = new TmfSimpleTimestamp(12345);
- private final ITmfTimestamp ts2 = new TmfSimpleTimestamp(-1234);
-
- // ------------------------------------------------------------------------
- // Constructors
- // ------------------------------------------------------------------------
-
- @Test
- public void testDefaultConstructor() {
- assertEquals("getValue", 0, ts0.getValue());
- assertEquals("getscale", 0, ts0.getScale());
- assertEquals("getPrecision", 0, ts0.getPrecision());
- }
-
- @Test
- public void testFullConstructor() {
- assertEquals("getValue", 12345, ts1.getValue());
- assertEquals("getscale", 0, ts1.getScale());
- assertEquals("getPrecision", 0, ts1.getPrecision());
- }
-
- @Test
- public void testCopyConstructor() {
- final ITmfTimestamp copy = new TmfSimpleTimestamp(ts1);
-
- assertEquals("getValue", ts1.getValue(), copy.getValue());
- assertEquals("getscale", ts1.getScale(), copy.getScale());
- assertEquals("getPrecision", ts1.getPrecision(), copy.getPrecision());
-
- assertEquals("getValue", 12345, copy.getValue());
- assertEquals("getscale", 0, copy.getScale());
- assertEquals("getPrecision", 0, copy.getPrecision());
- }
-
- @Test
- public void testCopyBadTimestamp() {
- try {
- new TmfSimpleTimestamp(null);
- fail("TmfSimpleTimestamp: null argument");
- } catch (final NullPointerException e) {
- }
- }
-
- // ------------------------------------------------------------------------
- // equals
- // ------------------------------------------------------------------------
-
- @Test
- public void testEqualsReflexivity() {
- assertTrue("equals", ts0.equals(ts0));
- assertTrue("equals", ts1.equals(ts1));
- assertTrue("equals", ts2.equals(ts2));
-
- assertTrue("equals", !ts0.equals(ts1));
- assertTrue("equals", !ts0.equals(ts2));
-
- assertTrue("equals", !ts1.equals(ts0));
- assertTrue("equals", !ts1.equals(ts2));
-
- assertTrue("equals", !ts2.equals(ts0));
- assertTrue("equals", !ts2.equals(ts1));
- }
-
- @Test
- public void testEqualsSymmetry() {
- final ITmfTimestamp ts0copy = new TmfSimpleTimestamp(ts0);
- assertTrue("equals", ts0.equals(ts0copy));
- assertTrue("equals", ts0copy.equals(ts0));
-
- final ITmfTimestamp ts1copy = new TmfSimpleTimestamp(ts1);
- assertTrue("equals", ts1.equals(ts1copy));
- assertTrue("equals", ts1copy.equals(ts1));
- }
-
- @Test
- public void testEqualsTransivity() {
- final ITmfTimestamp ts0copy1 = new TmfSimpleTimestamp(ts0);
- final ITmfTimestamp ts0copy2 = new TmfSimpleTimestamp(ts0copy1);
- assertTrue("equals", ts0.equals(ts0copy1));
- assertTrue("equals", ts0copy1.equals(ts0copy2));
- assertTrue("equals", ts0.equals(ts0copy2));
-
- final ITmfTimestamp ts1copy1 = new TmfSimpleTimestamp(ts1);
- final ITmfTimestamp ts1copy2 = new TmfSimpleTimestamp(ts1copy1);
- assertTrue("equals", ts1.equals(ts1copy1));
- assertTrue("equals", ts1copy1.equals(ts1copy2));
- assertTrue("equals", ts1.equals(ts1copy2));
- }
-
- @Test
- public void testEqualsNull() {
- assertTrue("equals", !ts0.equals(null));
- assertTrue("equals", !ts1.equals(null));
- assertTrue("equals", !ts2.equals(null));
- }
-
- @Test
- public void testEqualsNonTimestamp() {
- assertFalse("equals", ts0.equals(ts0.toString()));
- }
-
- // ------------------------------------------------------------------------
- // toString
- // ------------------------------------------------------------------------
-
- @Test
- public void testToString() {
- DateFormat df = new SimpleDateFormat("HH:mm:ss.SSS");
- Date d0 = new Date(ts0.getValue()*1000);
- Date d1 = new Date(ts1.getValue()*1000);
- Date d2 = new Date(ts2.getValue()*1000);
- assertEquals("toString", df.format(d0) + " 000 000", ts0.toString());
- assertEquals("toString", df.format(d1) + " 000 000", ts1.toString());
- assertEquals("toString", df.format(d2) + " 000 000", ts2.toString());
- }
-
- // ------------------------------------------------------------------------
- // hashCode
- // ------------------------------------------------------------------------
-
- @Test
- public void testHashCode() {
- final ITmfTimestamp ts0copy = new TmfTimestamp(ts0);
- final ITmfTimestamp ts1copy = new TmfTimestamp(ts1);
- final ITmfTimestamp ts2copy = new TmfTimestamp(ts2);
-
- assertTrue("hashCode", ts0.hashCode() == ts0copy.hashCode());
- assertTrue("hashCode", ts1.hashCode() == ts1copy.hashCode());
- assertTrue("hashCode", ts2.hashCode() == ts2copy.hashCode());
-
- assertTrue("hashCode", ts0.hashCode() != ts1.hashCode());
- }
-
- // ------------------------------------------------------------------------
- // normalize
- // ------------------------------------------------------------------------
-
- @Test
- public void testNormalizeScale0() {
- ITmfTimestamp ts = ts0.normalize(0, 0);
- assertEquals("getValue", 0, ts.getValue());
- assertEquals("getscale", 0, ts.getScale());
- assertEquals("getPrecision", 0, ts.getPrecision());
-
- ts = ts0.normalize(12345, 0);
- assertEquals("getValue", 12345, ts.getValue());
- assertEquals("getscale", 0, ts.getScale());
- assertEquals("getPrecision", 0, ts.getPrecision());
-
- ts = ts0.normalize(10, 0);
- assertEquals("getValue", 10, ts.getValue());
- assertEquals("getscale", 0, ts.getScale());
- assertEquals("getPrecision", 0, ts.getPrecision());
-
- ts = ts0.normalize(-10, 0);
- assertEquals("getValue", -10, ts.getValue());
- assertEquals("getscale", 0, ts.getScale());
- assertEquals("getPrecision", 0, ts.getPrecision());
- }
-
- @Test
- public void testNormalizeScaleNot0() {
- ITmfTimestamp ts = ts0.normalize(0, 1);
- assertEquals("getValue", 0, ts.getValue());
- assertEquals("getscale", 1, ts.getScale());
- assertEquals("getPrecision", 0, ts.getPrecision());
-
- ts = ts0.normalize(12345, 1);
- assertEquals("getValue", 12345, ts.getValue());
- assertEquals("getscale", 1, ts.getScale());
- assertEquals("getPrecision", 0, ts.getPrecision());
-
- ts = ts0.normalize(10, 1);
- assertEquals("getValue", 10, ts.getValue());
- assertEquals("getscale", 1, ts.getScale());
- assertEquals("getPrecision", 0, ts.getPrecision());
-
- ts = ts0.normalize(-10, 1);
- assertEquals("getValue", -10, ts.getValue());
- assertEquals("getscale", 1, ts.getScale());
- assertEquals("getPrecision", 0, ts.getPrecision());
- }
-
- // ------------------------------------------------------------------------
- // compareTo
- // ------------------------------------------------------------------------
-
- @Test
- public void testBasicCompareTo() {
- final ITmfTimestamp tstamp1 = new TmfSimpleTimestamp(900);
- final ITmfTimestamp tstamp2 = new TmfSimpleTimestamp(1000);
- final ITmfTimestamp tstamp3 = new TmfSimpleTimestamp(1100);
-
- assertTrue(tstamp1.compareTo(tstamp1) == 0);
-
- assertTrue("CompareTo", tstamp1.compareTo(tstamp2) < 0);
- assertTrue("CompareTo", tstamp1.compareTo(tstamp3) < 0);
-
- assertTrue("CompareTo", tstamp2.compareTo(tstamp1) > 0);
- assertTrue("CompareTo", tstamp2.compareTo(tstamp3) < 0);
-
- assertTrue("CompareTo", tstamp3.compareTo(tstamp1) > 0);
- assertTrue("CompareTo", tstamp3.compareTo(tstamp2) > 0);
- }
-
- @Test
- public void testCompareTo() {
- final ITmfTimestamp ts0a = new TmfTimestamp(0, 2, 0);
- final ITmfTimestamp ts1a = new TmfTimestamp(123450, -1);
- final ITmfTimestamp ts2a = new TmfTimestamp(-12340, -1);
-
- assertTrue(ts1.compareTo(ts1) == 0);
-
- assertTrue("CompareTo", ts0.compareTo(ts0a) == 0);
- assertTrue("CompareTo", ts1.compareTo(ts1a) == 0);
- assertTrue("CompareTo", ts2.compareTo(ts2a) == 0);
- }
-
- // ------------------------------------------------------------------------
- // getDelta
- // ------------------------------------------------------------------------
-
- @Test
- public void testDelta() {
- // Delta for same scale and precision (delta > 0)
- TmfTimestamp tstamp0 = new TmfSimpleTimestamp(10);
- TmfTimestamp tstamp1 = new TmfSimpleTimestamp(5);
- TmfTimestamp expectd = new TmfSimpleTimestamp(5);
-
- ITmfTimestamp delta = tstamp0.getDelta(tstamp1);
- assertEquals("getDelta", 0, delta.compareTo(expectd, false));
-
- // Delta for same scale and precision (delta < 0)
- tstamp0 = new TmfTimestamp(5);
- tstamp1 = new TmfTimestamp(10);
- expectd = new TmfTimestamp(-5);
-
- delta = tstamp0.getDelta(tstamp1);
- assertEquals("getDelta", 0, delta.compareTo(expectd, false));
- }
-
- @Test
- public void testDelta2() {
- // Delta for different scale and same precision (delta > 0)
- final TmfTimestamp tstamp0 = new TmfSimpleTimestamp(10);
- final TmfTimestamp tstamp1 = new TmfTimestamp(1, 1);
- final TmfTimestamp expectd = new TmfTimestamp(0, 0);
-
- final ITmfTimestamp delta = tstamp0.getDelta(tstamp1);
- assertEquals("getDelta", 0, delta.compareTo(expectd, false));
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/event/TmfTimePreferencesTest.java b/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/event/TmfTimePreferencesTest.java
deleted file mode 100644
index 141bcf9951..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/event/TmfTimePreferencesTest.java
+++ /dev/null
@@ -1,112 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013, 2014 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:
- * Marc-Andre Laperle - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.core.tests.event;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-
-import java.util.Map;
-import java.util.TimeZone;
-
-import org.eclipse.core.runtime.preferences.DefaultScope;
-import org.eclipse.core.runtime.preferences.IEclipsePreferences;
-import org.eclipse.core.runtime.preferences.InstanceScope;
-import org.eclipse.linuxtools.internal.tmf.core.Activator;
-import org.eclipse.linuxtools.tmf.core.timestamp.ITmfTimePreferencesConstants;
-import org.eclipse.linuxtools.tmf.core.timestamp.TmfTimePreferences;
-import org.junit.Test;
-import org.osgi.service.prefs.BackingStoreException;
-
-/**
- * Test suite for the TmfTimePreferences class.
- */
-public class TmfTimePreferencesTest {
-
- private static final String TIME_PATTERN = "HH:mm:ss.SSS SSS SSS";
- private static final String INTERVAL_PATTERN = "TTT.SSS SSS SSS";
-
- /**
- * Test that the preferences get initialized to the default
- */
- @Test
- public void testInit() {
- assertEquals(DefaultScope.INSTANCE.getNode(Activator.PLUGIN_ID).get(ITmfTimePreferencesConstants.DATIME, null), ITmfTimePreferencesConstants.TIME_HOUR_FMT);
- }
-
- /**
- * Test that getInstance returns an instance
- */
- @Test
- public void testGetInstance() {
- assertNotNull(TmfTimePreferences.getInstance());
- }
-
- /**
- * Test that getTimePattern returns the appropriate time pattern (from the default)
- */
- @Test
- public void testGetTimePattern() {
- assertEquals(TIME_PATTERN, TmfTimePreferences.getInstance().getTimePattern());
- }
-
- /**
- * Test that getIntervalPattern returns the appropriate interval pattern (from the default)
- */
- @Test
- public void testGetIntervalPattern() {
- assertEquals(INTERVAL_PATTERN, TmfTimePreferences.getInstance().getIntervalPattern());
- }
-
- /**
- * Test that getTimeZone returns the appropriate time zone (from the default)
- */
- @Test
- public void testGetTimeZone() {
- assertEquals(TimeZone.getDefault(), TmfTimePreferences.getInstance().getTimeZone());
- }
-
- /**
- * Test that getPreferenceMap returns the appropriate map even after preferences get modified
- * and make sure it doesn't affect the defaults
- */
- @Test
- public void testGetPreferenceMap() {
- Map<String, String> defaultPreferenceMap = TmfTimePreferences.getInstance().getDefaultPreferenceMap();
- assertEquals(ITmfTimePreferencesConstants.TIME_HOUR_FMT, defaultPreferenceMap.get(ITmfTimePreferencesConstants.DATIME));
-
- // Modify the preferences
- String testValue = ITmfTimePreferencesConstants.TIME_HOUR_FMT + "foo";
- IEclipsePreferences node = InstanceScope.INSTANCE.getNode(Activator.PLUGIN_ID);
- node.put(ITmfTimePreferencesConstants.DATIME, testValue);
- try {
- node.flush();
- } catch (BackingStoreException e) {
- }
- // Make sure the modification is in the map
- Map<String, String> preferenceMap = TmfTimePreferences.getInstance().getPreferenceMap();
- assertEquals(testValue, preferenceMap.get(ITmfTimePreferencesConstants.DATIME));
-
- // Make sure the default is still the same
- defaultPreferenceMap = TmfTimePreferences.getInstance().getDefaultPreferenceMap();
- assertEquals(ITmfTimePreferencesConstants.TIME_HOUR_FMT, defaultPreferenceMap.get(ITmfTimePreferencesConstants.DATIME));
- }
-
- /**
- * Test that computeTimePattern computes the appropriate time pattern from a preference map (from the default)
- */
- @Test
- public void testComputeTimePattern() {
- assertEquals(TIME_PATTERN, TmfTimePreferences.getInstance().computeTimePattern(TmfTimePreferences.getInstance().getPreferenceMap()));
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/event/TmfTimeRangeTest.java b/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/event/TmfTimeRangeTest.java
deleted file mode 100644
index ba7a99db46..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/event/TmfTimeRangeTest.java
+++ /dev/null
@@ -1,373 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009, 2013 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 Event Model
- * Alexandre Montplaisir - Port to JUnit4
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.core.tests.event;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertTrue;
-import static org.junit.Assert.fail;
-
-import org.eclipse.linuxtools.tmf.core.timestamp.ITmfTimestamp;
-import org.eclipse.linuxtools.tmf.core.timestamp.TmfTimeRange;
-import org.eclipse.linuxtools.tmf.core.timestamp.TmfTimestamp;
-import org.junit.Test;
-
-/**
- * Test suite for the TmfTimeRange class.
- */
-@SuppressWarnings("javadoc")
-public class TmfTimeRangeTest {
-
- // ------------------------------------------------------------------------
- // Constructors
- // ------------------------------------------------------------------------
-
- @Test
- public void testConstructor() {
- final ITmfTimestamp ts1 = new TmfTimestamp(12345);
- final ITmfTimestamp ts2 = new TmfTimestamp(12350);
- final TmfTimeRange range = new TmfTimeRange(ts1, ts2);
-
- assertEquals("startTime", ts1, range.getStartTime());
- assertEquals("endTime", ts2, range.getEndTime());
- }
-
- @Test
- public void testBadConstructor() {
- try {
- new TmfTimeRange(TmfTimestamp.BIG_BANG, null);
- fail("TmfTimeRange: bad end time");
- } catch (final IllegalArgumentException e) {
- // Success
- }
-
- try {
- new TmfTimeRange(null, TmfTimestamp.BIG_CRUNCH);
- fail("TmfTimeRange: bad start time");
- } catch (final IllegalArgumentException e) {
- // Success
- }
- }
-
- @Test
- public void testOpenRange1() {
- final ITmfTimestamp ts2 = new TmfTimestamp(12350);
- final TmfTimeRange range = new TmfTimeRange(TmfTimestamp.BIG_BANG, ts2);
-
- assertEquals("startTime", TmfTimestamp.BIG_BANG, range.getStartTime());
- assertEquals("endTime", ts2, range.getEndTime());
- }
-
- @Test
- public void testOpenRange2() {
- final ITmfTimestamp ts1 = new TmfTimestamp(12345);
- final TmfTimeRange range = new TmfTimeRange(ts1, TmfTimestamp.BIG_CRUNCH);
-
- assertEquals("startTime", ts1, range.getStartTime());
- assertEquals("endTime", TmfTimestamp.BIG_CRUNCH, range.getEndTime());
- }
-
- @Test
- public void testOpenRange3() {
- final TmfTimeRange range = new TmfTimeRange(TmfTimestamp.BIG_BANG, TmfTimestamp.BIG_CRUNCH);
-
- assertEquals("startTime", TmfTimestamp.BIG_BANG, range.getStartTime());
- assertEquals("endTime", TmfTimestamp.BIG_CRUNCH, range.getEndTime());
- }
-
- @Test
- public void testCopyConstructor() {
- final ITmfTimestamp ts1 = new TmfTimestamp(12345);
- final ITmfTimestamp ts2 = new TmfTimestamp(12350);
- final TmfTimeRange range0 = new TmfTimeRange(ts1, ts2);
- final TmfTimeRange range1 = new TmfTimeRange(range0);
-
- assertEquals("startTime", ts1, range1.getStartTime());
- assertEquals("endTime", ts2, range1.getEndTime());
-
- final TmfTimeRange range2 = new TmfTimeRange(TmfTimestamp.BIG_BANG, TmfTimestamp.BIG_CRUNCH);
- final TmfTimeRange range3 = new TmfTimeRange(range2);
-
- assertEquals("startTime", TmfTimestamp.BIG_BANG, range3.getStartTime());
- assertEquals("endTime", TmfTimestamp.BIG_CRUNCH, range3.getEndTime());
- }
-
- @Test
- public void testCopyConstructor2() {
- try {
- new TmfTimeRange(null);
- fail("TmfTimeRange: null argument");
- } catch (final IllegalArgumentException e) {
- // Success
- }
- }
-
- // ------------------------------------------------------------------------
- // hashCode
- // ------------------------------------------------------------------------
-
- @Test
- public void testHashCode() {
- final ITmfTimestamp ts1 = new TmfTimestamp(12345);
- final ITmfTimestamp ts2 = new TmfTimestamp(12350);
- final TmfTimeRange range1 = new TmfTimeRange(ts1, ts2);
- final TmfTimeRange range1b = new TmfTimeRange(range1);
- final TmfTimeRange range2 = new TmfTimeRange(TmfTimestamp.BIG_BANG, TmfTimestamp.BIG_CRUNCH);
- final TmfTimeRange range2b = new TmfTimeRange(range2);
-
- assertTrue("hashCode", range1.hashCode() == range1b.hashCode());
- assertTrue("hashCode", range2.hashCode() == range2b.hashCode());
-
- assertTrue("hashCode", range1.hashCode() != range2.hashCode());
- }
-
- // ------------------------------------------------------------------------
- // equals
- // ------------------------------------------------------------------------
-
- @Test
- public void testEqualsReflexivity() {
- final ITmfTimestamp ts1 = new TmfTimestamp(12345);
- final ITmfTimestamp ts2 = new TmfTimestamp(12350);
- final TmfTimeRange range1 = new TmfTimeRange(ts1, ts2);
- final TmfTimeRange range2 = new TmfTimeRange(TmfTimestamp.BIG_BANG, TmfTimestamp.BIG_CRUNCH);
-
- assertTrue("equals", range1.equals(range1));
- assertTrue("equals", range2.equals(range2));
-
- assertTrue("equals", !range1.equals(range2));
- assertTrue("equals", !range2.equals(range1));
- }
-
- @Test
- public void testEqualsSymmetry() {
- final ITmfTimestamp ts1 = new TmfTimestamp(12345);
- final ITmfTimestamp ts2 = new TmfTimestamp(12350);
- final TmfTimeRange range1a = new TmfTimeRange(ts1, ts2);
- final TmfTimeRange range1b = new TmfTimeRange(ts1, ts2);
-
- final TmfTimeRange range2a = new TmfTimeRange(TmfTimestamp.BIG_BANG, TmfTimestamp.BIG_CRUNCH);
- final TmfTimeRange range2b = new TmfTimeRange(TmfTimestamp.BIG_BANG, TmfTimestamp.BIG_CRUNCH);
-
- assertTrue("equals", range1a.equals(range1b));
- assertTrue("equals", range1b.equals(range1a));
-
- assertTrue("equals", range2a.equals(range2b));
- assertTrue("equals", range2b.equals(range2a));
- }
-
- @Test
- public void testEqualsTransivity() {
- final ITmfTimestamp ts1 = new TmfTimestamp(12345);
- final ITmfTimestamp ts2 = new TmfTimestamp(12350);
- final TmfTimeRange range1a = new TmfTimeRange(ts1, ts2);
- final TmfTimeRange range1b = new TmfTimeRange(ts1, ts2);
- final TmfTimeRange range1c = new TmfTimeRange(ts1, ts2);
-
- assertTrue("equals", range1a.equals(range1b));
- assertTrue("equals", range1b.equals(range1c));
- assertTrue("equals", range1a.equals(range1c));
- }
-
- @Test
- public void testEqualsNull() {
- final ITmfTimestamp ts1 = new TmfTimestamp(12345);
- final ITmfTimestamp ts2 = new TmfTimestamp(12350);
- final TmfTimeRange range1 = new TmfTimeRange(ts1, ts2);
-
- assertTrue("equals", !range1.equals(null));
- }
-
- @Test
- public void testEqualsBadType() {
- final ITmfTimestamp ts1 = new TmfTimestamp(12345);
- final ITmfTimestamp ts2 = new TmfTimestamp(12350);
- final TmfTimeRange range1 = new TmfTimeRange(ts1, ts2);
-
- assertTrue("equals", !range1.equals(ts1));
- }
-
- @Test
- public void testEqualStartTime() {
- final ITmfTimestamp ts1 = new TmfTimestamp(12345);
- final ITmfTimestamp ts2 = new TmfTimestamp(12350);
- final ITmfTimestamp ts3 = new TmfTimestamp(12355);
-
- final TmfTimeRange range1 = new TmfTimeRange(ts1, ts3);
- final TmfTimeRange range2 = new TmfTimeRange(ts2, ts3);
- final TmfTimeRange range3 = new TmfTimeRange(ts1, ts2);
-
- assertTrue("equals", !range1.equals(range2));
- assertTrue("equals", !range1.equals(range3));
- }
-
- @Test
- public void testEqualsEndTime() {
- final ITmfTimestamp ts1 = new TmfTimestamp(12345);
- final ITmfTimestamp ts2 = new TmfTimestamp(12350);
- final ITmfTimestamp ts3 = new TmfTimestamp(12355);
-
- final TmfTimeRange range1 = new TmfTimeRange(ts1, ts2);
- final TmfTimeRange range2 = new TmfTimeRange(ts1, ts3);
- final TmfTimeRange range3 = new TmfTimeRange(ts2, ts3);
-
- assertTrue("equals", !range1.equals(range2));
- assertTrue("equals", !range1.equals(range3));
- }
-
- // ------------------------------------------------------------------------
- // toString
- // ------------------------------------------------------------------------
-
- @Test
- public void testToString() {
- final ITmfTimestamp ts1 = new TmfTimestamp(12345);
- final ITmfTimestamp ts2 = new TmfTimestamp(12350);
- final TmfTimeRange range = new TmfTimeRange(ts1, ts2);
-
- final String expected = "TmfTimeRange [fStartTime=" + ts1 + ", fEndTime=" + ts2 + "]";
- assertEquals("toString", expected, range.toString());
- }
-
- // ------------------------------------------------------------------------
- // contains
- // ------------------------------------------------------------------------
-
- @Test
- public void testContainsTimestamp() {
- final ITmfTimestamp ts1 = new TmfTimestamp(12345);
- final ITmfTimestamp ts2 = new TmfTimestamp(12350);
- final TmfTimeRange range = new TmfTimeRange(ts1, ts2);
-
- assertTrue("contains (lower bound)", range.contains(new TmfTimestamp(12345)));
- assertTrue("contains (higher bound)", range.contains(new TmfTimestamp(12350)));
- assertTrue("contains (within bounds)", range.contains(new TmfTimestamp(12346)));
-
- assertFalse("contains (low value)", range.contains(new TmfTimestamp(12340)));
- assertFalse("contains (high value)", range.contains(new TmfTimestamp(12351)));
- }
-
- @Test
- public void testContainsRange() {
- final ITmfTimestamp ts1 = new TmfTimestamp(10);
- final ITmfTimestamp ts2 = new TmfTimestamp(20);
- final ITmfTimestamp ts3 = new TmfTimestamp(30);
- final ITmfTimestamp ts4 = new TmfTimestamp(40);
- final ITmfTimestamp ts5 = new TmfTimestamp(50);
- final ITmfTimestamp ts6 = new TmfTimestamp(60);
- final ITmfTimestamp ts7 = new TmfTimestamp(70);
- final ITmfTimestamp ts8 = new TmfTimestamp(80);
-
- // Reference range
- final TmfTimeRange range0 = new TmfTimeRange(ts3, ts6);
-
- // Start time below range
- final TmfTimeRange range1 = new TmfTimeRange(ts1, ts2);
- final TmfTimeRange range2 = new TmfTimeRange(ts2, ts3);
- final TmfTimeRange range3 = new TmfTimeRange(ts2, ts4);
- final TmfTimeRange range4 = new TmfTimeRange(ts2, ts6);
- final TmfTimeRange range5 = new TmfTimeRange(ts2, ts7);
-
- assertFalse("contains", range0.contains(range1));
- assertFalse("contains", range0.contains(range2));
- assertFalse("contains", range0.contains(range3));
- assertFalse("contains", range0.contains(range4));
- assertFalse("contains", range0.contains(range5));
-
- // End time above range
- final TmfTimeRange range6 = new TmfTimeRange(ts3, ts7);
- final TmfTimeRange range7 = new TmfTimeRange(ts4, ts7);
- final TmfTimeRange range8 = new TmfTimeRange(ts6, ts7);
- final TmfTimeRange range9 = new TmfTimeRange(ts7, ts8);
-
- assertFalse("contains", range0.contains(range6));
- assertFalse("contains", range0.contains(range7));
- assertFalse("contains", range0.contains(range8));
- assertFalse("contains", range0.contains(range9));
-
- // Within range
- final TmfTimeRange range10 = new TmfTimeRange(ts3, ts4);
- final TmfTimeRange range11 = new TmfTimeRange(ts3, ts6);
- final TmfTimeRange range12 = new TmfTimeRange(ts4, ts5);
- final TmfTimeRange range13 = new TmfTimeRange(ts4, ts6);
-
- assertTrue("contains", range0.contains(range10));
- assertTrue("contains", range0.contains(range11));
- assertTrue("contains", range0.contains(range12));
- assertTrue("contains", range0.contains(range13));
- }
-
- // ------------------------------------------------------------------------
- // getIntersection
- // ------------------------------------------------------------------------
-
- @Test
- public void testGetIntersection() {
-
- final ITmfTimestamp ts1a = new TmfTimestamp(1000);
- final ITmfTimestamp ts1b = new TmfTimestamp(2000);
- final TmfTimeRange range1 = new TmfTimeRange(ts1a, ts1b);
-
- final ITmfTimestamp ts2a = new TmfTimestamp(2000);
- final ITmfTimestamp ts2b = new TmfTimestamp(3000);
- final TmfTimeRange range2 = new TmfTimeRange(ts2a, ts2b);
-
- final ITmfTimestamp ts3a = new TmfTimestamp(3000);
- final ITmfTimestamp ts3b = new TmfTimestamp(4000);
- final TmfTimeRange range3 = new TmfTimeRange(ts3a, ts3b);
-
- final ITmfTimestamp ts4a = new TmfTimestamp(1500);
- final ITmfTimestamp ts4b = new TmfTimestamp(2500);
- final TmfTimeRange range4 = new TmfTimeRange(ts4a, ts4b);
-
- final ITmfTimestamp ts5a = new TmfTimestamp(1500);
- final ITmfTimestamp ts5b = new TmfTimestamp(2000);
- final TmfTimeRange range5 = new TmfTimeRange(ts5a, ts5b);
-
- final ITmfTimestamp ts6a = new TmfTimestamp(2000);
- final ITmfTimestamp ts6b = new TmfTimestamp(2500);
- final TmfTimeRange range6 = new TmfTimeRange(ts6a, ts6b);
-
- final ITmfTimestamp ts7a = new TmfTimestamp(1500);
- final ITmfTimestamp ts7b = new TmfTimestamp(3500);
- final TmfTimeRange range7 = new TmfTimeRange(ts7a, ts7b);
-
- final ITmfTimestamp ts8a = new TmfTimestamp(2250);
- final ITmfTimestamp ts8b = new TmfTimestamp(2750);
- final TmfTimeRange range8 = new TmfTimeRange(ts8a, ts8b);
-
- assertEquals("getIntersection (below - not contiguous)", null, range1.getIntersection(range3));
- assertEquals("getIntersection (above - not contiguous)", null, range3.getIntersection(range1));
-
- assertEquals("getIntersection (below - contiguous)", new TmfTimeRange(ts1b, ts1b), range1.getIntersection(range2));
- assertEquals("getIntersection (above - contiguous)", new TmfTimeRange(ts3a, ts3a), range3.getIntersection(range2));
-
- assertEquals("getIntersection (below - overlap)", new TmfTimeRange(ts2a, ts4b), range2.getIntersection(range4));
- assertEquals("getIntersection (above - overlap)", new TmfTimeRange(ts2a, ts4b), range4.getIntersection(range2));
-
- assertEquals("getIntersection (within - overlap1)", range6, range2.getIntersection(range6));
- assertEquals("getIntersection (within - overlap2)", range6, range6.getIntersection(range2));
-
- assertEquals("getIntersection (within - overlap3)", range5, range1.getIntersection(range5));
- assertEquals("getIntersection (within - overlap4)", range5, range5.getIntersection(range1));
-
- assertEquals("getIntersection (within - overlap5)", range8, range2.getIntersection(range8));
- assertEquals("getIntersection (within - overlap6)", range8, range8.getIntersection(range2));
-
- assertEquals("getIntersection (accross1)", range2, range2.getIntersection(range7));
- assertEquals("getIntersection (accross2)", range2, range7.getIntersection(range2));
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/event/TmfTimestampDeltaTest.java b/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/event/TmfTimestampDeltaTest.java
deleted file mode 100644
index 1cc98df698..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/event/TmfTimestampDeltaTest.java
+++ /dev/null
@@ -1,131 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2012, 2013 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:
- * Bernd Hufmann - Initial API and implementation
- * Alexandre Montplaisir - Port to JUnit4
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.core.tests.event;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertTrue;
-
-import org.eclipse.linuxtools.tmf.core.timestamp.ITmfTimestamp;
-import org.eclipse.linuxtools.tmf.core.timestamp.TmfTimestamp;
-import org.eclipse.linuxtools.tmf.core.timestamp.TmfTimestampDelta;
-import org.eclipse.linuxtools.tmf.core.timestamp.TmfTimestampFormat;
-import org.junit.Test;
-
-/**
- * Test suite for the TmfTimestampDelta class.
- */
-@SuppressWarnings("javadoc")
-public class TmfTimestampDeltaTest {
-
- // ------------------------------------------------------------------------
- // Variables
- // ------------------------------------------------------------------------
-
- private final ITmfTimestamp ts0 = new TmfTimestampDelta();
- private final ITmfTimestamp ts1 = new TmfTimestampDelta(12345, 0);
- private final ITmfTimestamp ts2 = new TmfTimestampDelta(12345, -1);
- private final ITmfTimestamp ts3 = new TmfTimestampDelta(12345, 2, 5);
- private final ITmfTimestamp ts4 = new TmfTimestampDelta(-12345, -5);
-
- // ------------------------------------------------------------------------
- // Constructors
- // ------------------------------------------------------------------------
-
- @Test
- public void testDefaultConstructor() {
- assertEquals("getValue", 0, ts0.getValue());
- assertEquals("getscale", 0, ts0.getScale());
- assertEquals("getPrecision", 0, ts0.getPrecision());
- }
-
- @Test
- public void testValueConstructor() {
- assertEquals("getValue", 12345, ts1.getValue());
- assertEquals("getscale", 0, ts1.getScale());
- assertEquals("getPrecision", 0, ts1.getPrecision());
- }
-
- @Test
- public void testValueScaleConstructor() {
- assertEquals("getValue", 12345, ts2.getValue());
- assertEquals("getscale", -1, ts2.getScale());
- assertEquals("getPrecision", 0, ts2.getPrecision());
- }
-
- @Test
- public void testFullConstructor() {
- assertEquals("getValue", 12345, ts3.getValue());
- assertEquals("getscale", 2, ts3.getScale());
- assertEquals("getPrecision", 5, ts3.getPrecision());
-
- assertEquals("getValue", -12345, ts4.getValue());
- assertEquals("getscale", -5, ts4.getScale());
- assertEquals("getPrecision", 0, ts4.getPrecision());
- }
-
- @Test
- public void testCopyConstructor() {
- final ITmfTimestamp ts = new TmfTimestamp(12345, 2, 5);
- final ITmfTimestamp copy = new TmfTimestamp(ts);
-
- assertEquals("getValue", ts.getValue(), copy.getValue());
- assertEquals("getscale", ts.getScale(), copy.getScale());
- assertEquals("getPrecision", ts.getPrecision(), copy.getPrecision());
-
- assertEquals("getValue", 12345, copy.getValue());
- assertEquals("getscale", 2, copy.getScale());
- assertEquals("getPrecision", 5, copy.getPrecision());
- }
-
- @Test(expected=IllegalArgumentException.class)
- public void testCopyNullConstructor() {
- new TmfTimestamp((TmfTimestamp) null);
- }
-
- // ------------------------------------------------------------------------
- // normalize
- // ------------------------------------------------------------------------
-
- @Test
- public void testNormalizeOffset() {
- ITmfTimestamp ts = ts0.normalize(12345, 0);
- assertTrue("instance", ts instanceof TmfTimestampDelta);
- assertEquals("getValue", 12345, ts.getValue());
- assertEquals("getscale", 0, ts.getScale());
- assertEquals("getPrecision", 0, ts.getPrecision());
- }
-
- // ------------------------------------------------------------------------
- // toString
- // ------------------------------------------------------------------------
-
- @Test
- public void testToStringDefault() {
- assertEquals("toString", "000.000 000 000", ts0.toString());
- assertEquals("toString", "12345.000 000 000", ts1.toString());
- assertEquals("toString", "1234.500 000 000", ts2.toString());
- assertEquals("toString", "1234500.000 000 000", ts3.toString());
- assertEquals("toString", "-000.123 450 000", ts4.toString());
- }
-
- @Test
- public void testToStringFormat() {
- TmfTimestampFormat format = new TmfTimestampFormat("HH:mm:ss.SSS CCC NNN");
- assertEquals("toString", "00:00:00.000 000 000", ts0.toString(format));
- assertEquals("toString", "03:25:45.000 000 000", ts1.toString(format));
- assertEquals("toString", "00:20:34.500 000 000", ts2.toString(format));
- assertEquals("toString", "06:55:00.000 000 000", ts3.toString(format));
- assertEquals("toString", "-00:00:00.123 450 000", ts4.toString(format));
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/event/TmfTimestampFormatTest.java b/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/event/TmfTimestampFormatTest.java
deleted file mode 100644
index 94b08c6561..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/event/TmfTimestampFormatTest.java
+++ /dev/null
@@ -1,394 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013, 2015 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:
- * Marc-Andre Laperle - Initial API and implementation
- * Matthew Khouzam - Added timestamp string tests
- * Patrick Tasse - Updated for fraction of second
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.core.tests.event;
-
-import static org.junit.Assert.assertEquals;
-
-import java.text.ParseException;
-import java.util.Locale;
-import java.util.TimeZone;
-
-import org.eclipse.core.runtime.preferences.IEclipsePreferences;
-import org.eclipse.core.runtime.preferences.InstanceScope;
-import org.eclipse.linuxtools.internal.tmf.core.Activator;
-import org.eclipse.linuxtools.tmf.core.timestamp.ITmfTimePreferencesConstants;
-import org.eclipse.linuxtools.tmf.core.timestamp.TmfTimePreferences;
-import org.eclipse.linuxtools.tmf.core.timestamp.TmfTimestampFormat;
-import org.junit.Test;
-import org.osgi.service.prefs.BackingStoreException;
-
-/**
- * Test suite for the TmfTimestampFormat class.
- */
-public class TmfTimestampFormatTest {
-
- private static final String TEST_PATTERN = "HH:mm:ss.SSS";
- private static final TimeZone TEST_TIME_ZONE = TimeZone.getTimeZone(TimeZone.getAvailableIDs(0)[0]);
- private static final TimeZone GMT = TimeZone.getTimeZone("GMT");
- private static final Locale CA = Locale.CANADA;
-
- private static final TmfTimestampFormat tsf = new TmfTimestampFormat("yyyy-MM-dd HH:mm:ss.SSSSSSSSS", GMT, CA);
- private static final TmfTimestampFormat tsf1 = new TmfTimestampFormat(TEST_PATTERN);
- private static final TmfTimestampFormat tsf2 = new TmfTimestampFormat(TEST_PATTERN, TEST_TIME_ZONE);
-
- /**
- * Test that the default value is loaded when using the default constructor
- */
- @Test
- public void testDefaultConstructor() {
- TmfTimestampFormat ts0 = new TmfTimestampFormat();
- assertEquals("HH:mm:ss.SSS SSS SSS", ts0.toPattern());
- }
-
- /**
- * Test that the value constructor properly assigns the value
- */
- @Test
- public void testValueConstructor() {
- assertEquals(TEST_PATTERN, tsf1.toPattern());
- }
-
- /**
- * Test that the value constructor using a time zone properly assigns the
- * pattern and time zone
- */
- @Test
- public void testValueTimeZoneConstructor() {
- assertEquals(TEST_PATTERN, tsf2.toPattern());
- assertEquals(TEST_TIME_ZONE, tsf2.getTimeZone());
- }
-
- /**
- * Make sure that the default formats in TmfTimestampFormat get updated when
- * updateDefaultFormats is called.
- */
- @Test
- public void testUpdateDefaultFormats() {
- IEclipsePreferences node = InstanceScope.INSTANCE.getNode(Activator.PLUGIN_ID);
-
- String dateTimeTestValue = ITmfTimePreferencesConstants.TIME_HOUR_FMT + ":";
- node.put(ITmfTimePreferencesConstants.DATIME, dateTimeTestValue);
-
- String subSecTestValue = ITmfTimePreferencesConstants.SUBSEC_NANO_FMT + ":";
- node.put(ITmfTimePreferencesConstants.SUBSEC, subSecTestValue);
- try {
- node.flush();
- } catch (BackingStoreException e) {
- }
- TmfTimestampFormat.updateDefaultFormats();
- String expected = dateTimeTestValue + "." + subSecTestValue;
- String expected2 = "TTT." + subSecTestValue;
- assertEquals(expected, TmfTimestampFormat.getDefaulTimeFormat().toPattern());
- assertEquals(expected2, TmfTimestampFormat.getDefaulIntervalFormat().toPattern());
- // Revert preferences
- node.put(ITmfTimePreferencesConstants.DATIME, ITmfTimePreferencesConstants.TIME_HOUR_FMT);
- node.put(ITmfTimePreferencesConstants.SUBSEC, ITmfTimePreferencesConstants.SUBSEC_NANO_FMT);
- try {
- node.flush();
- } catch (BackingStoreException e) {
- }
- TmfTimestampFormat.updateDefaultFormats();
- }
-
- /**
- * Test that getDefaulTimeFormat returns the appropriate value (from the
- * default)
- */
- @Test
- public void testGetDefaulTimeFormat() {
- assertEquals(TmfTimestampFormat.getDefaulTimeFormat().toPattern(), TmfTimePreferences.getInstance().getTimePattern());
- }
-
- /**
- * Test that getDefaulIntervalFormat returns the appropriate value (from the
- * default)
- */
- @Test
- public void testGetDefaulIntervalFormat() {
- assertEquals(TmfTimestampFormat.getDefaulIntervalFormat().toPattern(), TmfTimePreferences.getInstance().getIntervalPattern());
- }
-
- /**
- * Test parsing of seconds and sub-seconds
- *
- * @throws ParseException
- * should not happen, if it does, the test is a failure
- */
- @Test
- public void testParseSeconds() throws ParseException {
- assertEquals(7777777777123456789L, new TmfTimestampFormat("TTTTTTTTTT.SSSSSSSSS").parseValue("7777777777.123456789"));
- assertEquals(7777777777123456789L, new TmfTimestampFormat("T.SSSSSSSSS").parseValue("7777777777.123456789"));
- assertEquals(7123456789L, new TmfTimestampFormat("TTTTTTTTTT.SSSSSSSSS").parseValue("0000000007.123456789"));
- assertEquals(7123456789L, new TmfTimestampFormat("TTTTTTTTTT.SSSSSSSSS").parseValue("7.123456789"));
- assertEquals(7123456780L, new TmfTimestampFormat("TTTTTTTTTT.SSSSSSSSS").parseValue("7.12345678"));
- assertEquals(7123456700L, new TmfTimestampFormat("TTTTTTTTTT.SSSSSSSSS").parseValue("7.1234567"));
- assertEquals(7123456000L, new TmfTimestampFormat("TTTTTTTTTT.SSSSSSSSS").parseValue("7.123456"));
- assertEquals(7123450000L, new TmfTimestampFormat("TTTTTTTTTT.SSSSSSSSS").parseValue("7.12345"));
- assertEquals(7123400000L, new TmfTimestampFormat("TTTTTTTTTT.SSSSSSSSS").parseValue("7.1234"));
- assertEquals(7123000000L, new TmfTimestampFormat("TTTTTTTTTT.SSSSSSSSS").parseValue("7.123"));
- assertEquals(7120000000L, new TmfTimestampFormat("TTTTTTTTTT.SSSSSSSSS").parseValue("7.12"));
- assertEquals(7100000000L, new TmfTimestampFormat("TTTTTTTTTT.SSSSSSSSS").parseValue("7.1"));
- assertEquals(7000000000L, new TmfTimestampFormat("TTTTTTTTTT.SSSSSSSSS").parseValue("7."));
- assertEquals(7000000000L, new TmfTimestampFormat("TTTTTTTTTT.SSSSSSSSS").parseValue("7"));
- assertEquals(123456789L, new TmfTimestampFormat("TTTTTTTTTT.SSSSSSSSS").parseValue(".123456789"));
- assertEquals(123456789L, new TmfTimestampFormat(".SSSSSSSSS").parseValue(".123456789"));
- assertEquals(123456780L, new TmfTimestampFormat(".SSSSSSSS").parseValue(".123456789"));
- assertEquals(123456700L, new TmfTimestampFormat(".SSSSSSS").parseValue(".123456789"));
- assertEquals(123456000L, new TmfTimestampFormat(".SSSSSS").parseValue(".123456789"));
- assertEquals(123450000L, new TmfTimestampFormat(".SSSSS").parseValue(".123456789"));
- assertEquals(123400000L, new TmfTimestampFormat(".SSSS").parseValue(".123456789"));
- assertEquals(123000000L, new TmfTimestampFormat(".SSS").parseValue(".123456789"));
- assertEquals(120000000L, new TmfTimestampFormat(".SS").parseValue(".123456789"));
- assertEquals(100000000L, new TmfTimestampFormat(".S").parseValue(".123456789"));
- assertEquals(7123456789L, new TmfTimestampFormat("T.SSSSSSSSS").parseValue("7.123456789"));
- assertEquals(7123456789L, new TmfTimestampFormat("T.SSS SSS SSS").parseValue("7.123 456 789"));
- assertEquals(7123456789L, new TmfTimestampFormat("T.SSS SSS SSS").parseValue("7.123456789"));
- assertEquals(7123456789L, new TmfTimestampFormat("T.SSS.SSS.SSS").parseValue("7.123.456.789"));
- assertEquals(7123456789L, new TmfTimestampFormat("T.SSS.SSS.SSS").parseValue("7.123456789"));
- assertEquals(7123456789L, new TmfTimestampFormat("T.SSS,SSS,SSS").parseValue("7.123,456,789"));
- assertEquals(7123456789L, new TmfTimestampFormat("T.SSS,SSS,SSS").parseValue("7.123456789"));
- assertEquals(7123456789L, new TmfTimestampFormat("T.SSS-SSS-SSS").parseValue("7.123-456-789"));
- assertEquals(7123456789L, new TmfTimestampFormat("T.SSS-SSS-SSS").parseValue("7.123456789"));
- assertEquals(7123456789L, new TmfTimestampFormat("T.SSS_SSS_SSS").parseValue("7.123_456_789"));
- assertEquals(7123456789L, new TmfTimestampFormat("T.SSS_SSS_SSS").parseValue("7.123456789"));
- assertEquals(7123456789L, new TmfTimestampFormat("T.SSS:SSS:SSS").parseValue("7.123:456:789"));
- assertEquals(7123456789L, new TmfTimestampFormat("T.SSS:SSS:SSS").parseValue("7.123456789"));
- assertEquals(7123456789L, new TmfTimestampFormat("T.SSS;SSS;SSS").parseValue("7.123;456;789"));
- assertEquals(7123456789L, new TmfTimestampFormat("T.SSS;SSS;SSS").parseValue("7.123456789"));
- assertEquals(7123456789L, new TmfTimestampFormat("T.SSS/SSS/SSS").parseValue("7.123/456/789"));
- assertEquals(7123456789L, new TmfTimestampFormat("T.SSS/SSS/SSS").parseValue("7.123456789"));
- assertEquals(7123456789L, new TmfTimestampFormat("T.SSS''SSS''SSS").parseValue("7.123'456'789"));
- assertEquals(7123456789L, new TmfTimestampFormat("T.SSS''SSS''SSS").parseValue("7.123456789"));
- assertEquals(7123456789L, new TmfTimestampFormat("T.SSS\"SSS\"SSS").parseValue("7.123\"456\"789"));
- assertEquals(7123456789L, new TmfTimestampFormat("T.SSS\"SSS\"SSS").parseValue("7.123456789"));
- assertEquals(7000000000L, new TmfTimestampFormat("T. SSSSSSSSS").parseValue("7..123456789"));
- assertEquals(7100000000L, new TmfTimestampFormat("T.S SSSSSSSS").parseValue("7.1,23456789"));
- assertEquals(7120000000L, new TmfTimestampFormat("T.SS SSSSSSS").parseValue("7.12-3456789"));
- assertEquals(7123000000L, new TmfTimestampFormat("T.SSS SSSSSS").parseValue("7.123_456789"));
- assertEquals(7123400000L, new TmfTimestampFormat("T.SSSS SSSSS").parseValue("7.1234:56789"));
- assertEquals(7123450000L, new TmfTimestampFormat("T.SSSSS SSSS").parseValue("7.12345;6789"));
- assertEquals(7123456000L, new TmfTimestampFormat("T.SSSSSS SSS").parseValue("7.123456/789"));
- assertEquals(7123456700L, new TmfTimestampFormat("T.SSSSSSS SS").parseValue("7.1234567'89"));
- assertEquals(7123456780L, new TmfTimestampFormat("T.SSSSSSSS S").parseValue("7.12345678\"9"));
- assertEquals(7123456789L, new TmfTimestampFormat("T 's'.SSS ms SSS us SSS ns").parseValue("7 s.123 ms 456 us 789 ns"));
- assertEquals(7123456789L, new TmfTimestampFormat("T 'S'.SSS 'MS' SSS 'US' SSS 'NS'").parseValue("7 S.123 MS 456 US 789 NS"));
- assertEquals(7123000000L, new TmfTimestampFormat("T.SSSSSSSSS").parseValue("7 s.123 ms 456 ns 789"));
- assertEquals(0L, new TmfTimestampFormat("T.").parseValue("0.123456789"));
- assertEquals(0L, new TmfTimestampFormat("T.S").parseValue("."));
- assertEquals(0L, new TmfTimestampFormat(".S").parseValue("7."));
- assertEquals(0L, new TmfTimestampFormat("T.S").parseValue("-."));
- assertEquals(0L, new TmfTimestampFormat("T.S").parseValue("-0"));
- assertEquals(-100000000L, new TmfTimestampFormat("T.S").parseValue("-0.1"));
- assertEquals(-100000000L, new TmfTimestampFormat("T.S").parseValue("-.1"));
- assertEquals(-7000000000L, new TmfTimestampFormat("T.S").parseValue("-7"));
- assertEquals(-7000000000L, new TmfTimestampFormat("T.S").parseValue("-7."));
- assertEquals(-7000000000L, new TmfTimestampFormat("T.S").parseValue("-7.0"));
- assertEquals(-7100000000L, new TmfTimestampFormat("T.S").parseValue("-7.1"));
- }
-
- /**
- * Test parsing of date and time patterns
- *
- * @throws ParseException
- * should not happen, if it does, the test is a failure
- */
- @Test
- public void testParseDateTime() throws ParseException {
- long time;
-
- time = new TmfTimestampFormat("yyyy", GMT, CA).parseValue("2014");
- assertEquals("2014-01-01 00:00:00.000000000", tsf.format(time));
-
- time = new TmfTimestampFormat("YYYY", GMT, CA).parseValue("2014");
- assertEquals("2013-12-29 00:00:00.000000000", tsf.format(time)); // 1st day of week 1
-
- time = new TmfTimestampFormat("MM", GMT, CA).parseValue("11");
- assertEquals("1970-11-01 00:00:00.000000000", tsf.format(time));
-
- time = new TmfTimestampFormat("ww", GMT, CA).parseValue("01");
- assertEquals("1969-12-28 00:00:00.000000000", tsf.format(time)); // Sunday of week 1
-
- time = new TmfTimestampFormat("DDD", GMT, CA).parseValue("100");
- assertEquals("1970-04-10 00:00:00.000000000", tsf.format(time));
-
- time = new TmfTimestampFormat("F", GMT, CA).parseValue("2");
- assertEquals("1970-01-11 00:00:00.000000000", tsf.format(time)); // 2nd Sunday of month
-
- time = new TmfTimestampFormat("EEE", GMT, CA).parseValue("Mon");
- assertEquals("1970-01-05 00:00:00.000000000", tsf.format(time));
-
- time = new TmfTimestampFormat("u", GMT, CA).parseValue("1");
- assertEquals("1970-01-05 00:00:00.000000000", tsf.format(time));
-
- time = new TmfTimestampFormat("dd", GMT, CA).parseValue("22");
- assertEquals("1970-01-22 00:00:00.000000000", tsf.format(time));
-
- time = new TmfTimestampFormat("HH", GMT, CA).parseValue("12");
- assertEquals("1970-01-01 12:00:00.000000000", tsf.format(time));
-
- time = new TmfTimestampFormat("kk", GMT, CA).parseValue("24");
- assertEquals("1970-01-01 00:00:00.000000000", tsf.format(time));
-
- time = new TmfTimestampFormat("KK", GMT, CA).parseValue("12");
- assertEquals("1970-01-01 12:00:00.000000000", tsf.format(time));
-
- time = new TmfTimestampFormat("hh", GMT, CA).parseValue("12");
- assertEquals("1970-01-01 00:00:00.000000000", tsf.format(time));
-
- time = new TmfTimestampFormat("mm", GMT, CA).parseValue("34");
- assertEquals("1970-01-01 00:34:00.000000000", tsf.format(time));
-
- time = new TmfTimestampFormat("ss", GMT, CA).parseValue("56");
- assertEquals("1970-01-01 00:00:56.000000000", tsf.format(time));
-
- time = new TmfTimestampFormat("yyyy-MM", GMT, CA).parseValue("2014-11");
- assertEquals("2014-11-01 00:00:00.000000000", tsf.format(time));
-
- time = new TmfTimestampFormat("yyyy-MM-dd", GMT, CA).parseValue("2014-11-22");
- assertEquals("2014-11-22 00:00:00.000000000", tsf.format(time));
-
- time = new TmfTimestampFormat("yyyy-MM-dd HH", GMT, CA).parseValue("2014-11-22 12");
- assertEquals("2014-11-22 12:00:00.000000000", tsf.format(time));
-
- time = new TmfTimestampFormat("yyyy-MM-dd HH:mm", GMT, CA).parseValue("2014-11-22 12:34");
- assertEquals("2014-11-22 12:34:00.000000000", tsf.format(time));
-
- time = new TmfTimestampFormat("yyyy-MM-dd HH:mm:ss", GMT, CA).parseValue("2014-11-22 12:34:56");
- assertEquals("2014-11-22 12:34:56.000000000", tsf.format(time));
-
- time = new TmfTimestampFormat("yyyy-MM-dd HH:mm:ss.SSS", GMT, CA).parseValue("2014-11-22 12:34:56.123");
- assertEquals("2014-11-22 12:34:56.123000000", tsf.format(time));
-
- time = new TmfTimestampFormat("yyyy-ww", GMT, CA).parseValue("2014-01");
- assertEquals("2013-12-29 00:00:00.000000000", tsf.format(time)); // Sunday of week 1
-
- time = new TmfTimestampFormat("yyyy-DDD", GMT, CA).parseValue("2014-100");
- assertEquals("2014-04-10 00:00:00.000000000", tsf.format(time));
-
- time = new TmfTimestampFormat("yyyy-MM-F", GMT, CA).parseValue("2014-11-2");
- assertEquals("2014-11-09 00:00:00.000000000", tsf.format(time)); // 2nd Sunday of month
-
- time = new TmfTimestampFormat("yyyy-MM-EEE", GMT, CA).parseValue("2014-11-Mon");
- assertEquals("2014-11-03 00:00:00.000000000", tsf.format(time));
-
- time = new TmfTimestampFormat("yyyy-MM-u", GMT, CA).parseValue("2014-11-1");
- assertEquals("2014-11-03 00:00:00.000000000", tsf.format(time));
-
- time = new TmfTimestampFormat("yyyy MM dd HH mm ss SSS SSS SSS", GMT, CA).parseValue("2014 11 22 12 34 56 123 456 789");
- assertEquals("2014-11-22 12:34:56.123456789", tsf.format(time));
-
- time = new TmfTimestampFormat("yyyy.MM.dd.HH.mm.ss.SSS.SSS.SSS", GMT, CA).parseValue("2014.11.22.12.34.56.123.456.789");
- assertEquals("2014-11-22 12:34:56.123456789", tsf.format(time));
-
- time = new TmfTimestampFormat("yyyy,MM,dd,HH,mm,ss,SSS,SSS,SSS", GMT, CA).parseValue("2014,11,22,12,34,56,123,456,789");
- assertEquals("2014-11-22 12:34:56.123456789", tsf.format(time));
-
- time = new TmfTimestampFormat("yyyy-MM-dd-HH-mm-ss-SSS-SSS-SSS", GMT, CA).parseValue("2014-11-22-12-34-56-123-456-789");
- assertEquals("2014-11-22 12:34:56.123456789", tsf.format(time));
-
- time = new TmfTimestampFormat("yyyy_MM_dd_HH_mm_ss_SSS_SSS_SSS", GMT, CA).parseValue("2014_11_22_12_34_56_123_456_789");
- assertEquals("2014-11-22 12:34:56.123456789", tsf.format(time));
-
- time = new TmfTimestampFormat("yyyy:MM:dd:HH:mm:ss:SSS:SSS:SSS", GMT, CA).parseValue("2014:11:22:12:34:56:123:456:789");
- assertEquals("2014-11-22 12:34:56.123456789", tsf.format(time));
-
- time = new TmfTimestampFormat("yyyy;MM;dd;HH;mm;ss;SSS;SSS;SSS", GMT, CA).parseValue("2014;11;22;12;34;56;123;456;789");
- assertEquals("2014-11-22 12:34:56.123456789", tsf.format(time));
-
- time = new TmfTimestampFormat("yyyy/MM/dd/HH/mm/ss/SSS/SSS/SSS", GMT, CA).parseValue("2014/11/22/12/34/56/123/456/789");
- assertEquals("2014-11-22 12:34:56.123456789", tsf.format(time));
-
- time = new TmfTimestampFormat("yyyy''MM''dd''HH''mm''ss''SSS''SSS''SSS", GMT, CA).parseValue("2014'11'22'12'34'56'123'456'789");
- assertEquals("2014-11-22 12:34:56.123456789", tsf.format(time));
-
- time = new TmfTimestampFormat("yyyy\"MM\"dd\"HH\"mm\"ss\"SSS\"SSS\"SSS", GMT, CA).parseValue("2014\"11\"22\"12\"34\"56\"123\"456\"789");
- assertEquals("2014-11-22 12:34:56.123456789", tsf.format(time));
-
- time = new TmfTimestampFormat("yyyy MM dd HH mm ss SSS SSS SSS", GMT, CA).parseValue("2014 11 22 12 34 56 123 456 789");
- assertEquals("2014-11-22 12:34:56.123456789", tsf.format(time));
-
- time = new TmfTimestampFormat("yyyy MM dd HH mm ss SSS SSS SSS", GMT, CA).parseValue("2014 1 2 3 4 5 123 456 789");
- assertEquals("2014-01-02 03:04:05.123456789", tsf.format(time));
-
- time = new TmfTimestampFormat("yyyy MM dd HH mm ss SSS SSS SSS", GMT, CA).parseValue("2014 \t 1 \t 2 \t 3 \t 4 \t 5 \t 123 456 789");
- assertEquals("2014-01-02 03:04:05.123456789", tsf.format(time));
- }
-
- /**
- * Test parsing of date and time patterns with reference time
- *
- * @throws ParseException
- * should not happen, if it does, the test is a failure
- */
- @Test
- public void testParseDateTimeWithRef() throws ParseException {
- long ref = tsf.parseValue("2014-11-22 12:34:56.123456789"); // Saturday
- long time;
-
- time = new TmfTimestampFormat("yyyy", GMT, CA).parseValue("1970", ref);
- assertEquals("1970-01-01 00:00:00.000000000", tsf.format(time));
-
- time = new TmfTimestampFormat("YYYY", GMT, CA).parseValue("1970", ref);
- assertEquals("1969-12-28 00:00:00.000000000", tsf.format(time)); // 1st day of week 1
-
- time = new TmfTimestampFormat("MM", GMT, CA).parseValue("01", ref);
- assertEquals("2014-01-01 00:00:00.000000000", tsf.format(time));
-
- time = new TmfTimestampFormat("ww", GMT, CA).parseValue("01", ref);
- assertEquals("2014-01-04 00:00:00.000000000", tsf.format(time)); // Saturday of week 1
-
- time = new TmfTimestampFormat("DDD", GMT, CA).parseValue("1", ref);
- assertEquals("2014-01-01 00:00:00.000000000", tsf.format(time));
-
- time = new TmfTimestampFormat("F", GMT, CA).parseValue("2", ref);
- assertEquals("2014-11-08 00:00:00.000000000", tsf.format(time)); // 2nd Saturday of month
-
- time = new TmfTimestampFormat("EEE", GMT, CA).parseValue("Mon", ref);
- assertEquals("2014-11-17 00:00:00.000000000", tsf.format(time));
-
- time = new TmfTimestampFormat("u", GMT, CA).parseValue("1", ref);
- assertEquals("2014-11-17 00:00:00.000000000", tsf.format(time));
-
- time = new TmfTimestampFormat("dd", GMT, CA).parseValue("01", ref);
- assertEquals("2014-11-01 00:00:00.000000000", tsf.format(time));
-
- time = new TmfTimestampFormat("HH", GMT, CA).parseValue("00", ref);
- assertEquals("2014-11-22 00:00:00.000000000", tsf.format(time));
-
- time = new TmfTimestampFormat("kk", GMT, CA).parseValue("24", ref);
- assertEquals("2014-11-22 00:00:00.000000000", tsf.format(time));
-
- time = new TmfTimestampFormat("KK", GMT, CA).parseValue("00", ref);
- assertEquals("2014-11-22 00:00:00.000000000", tsf.format(time));
-
- time = new TmfTimestampFormat("hh", GMT, CA).parseValue("12", ref);
- assertEquals("2014-11-22 00:00:00.000000000", tsf.format(time));
-
- time = new TmfTimestampFormat("mm", GMT, CA).parseValue("00", ref);
- assertEquals("2014-11-22 12:00:00.000000000", tsf.format(time));
-
- time = new TmfTimestampFormat("ss", GMT, CA).parseValue("00", ref);
- assertEquals("2014-11-22 12:34:00.000000000", tsf.format(time));
-
- time = new TmfTimestampFormat(".S", GMT, CA).parseValue(".9", ref);
- assertEquals("2014-11-22 12:34:56.900000000", tsf.format(time));
-
- time = new TmfTimestampFormat("T.S", GMT, CA).parseValue("8.9", ref);
- assertEquals("1970-01-01 00:00:08.900000000", tsf.format(time));
-
- time = new TmfTimestampFormat("T.S", GMT, CA).parseValue(".9", ref);
- assertEquals("1970-01-01 00:00:00.900000000", tsf.format(time));
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/event/TmfTimestampTest.java b/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/event/TmfTimestampTest.java
deleted file mode 100644
index 7bf07186b2..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/event/TmfTimestampTest.java
+++ /dev/null
@@ -1,670 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009, 2013 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 Event Model
- * Alexandre Montplaisir - Port to JUnit4
- * Patrick Tasse - Updated for negative value formatting
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.core.tests.event;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertTrue;
-import static org.junit.Assert.fail;
-
-import java.text.DateFormat;
-import java.text.SimpleDateFormat;
-import java.util.Date;
-
-import org.eclipse.linuxtools.tmf.core.timestamp.ITmfTimestamp;
-import org.eclipse.linuxtools.tmf.core.timestamp.TmfTimestamp;
-import org.eclipse.linuxtools.tmf.core.timestamp.TmfTimestampFormat;
-import org.junit.Test;
-
-/**
- * Test suite for the TmfTimestamp class.
- */
-@SuppressWarnings("javadoc")
-public class TmfTimestampTest {
-
- // ------------------------------------------------------------------------
- // Variables
- // ------------------------------------------------------------------------
-
- private final ITmfTimestamp ts0 = new TmfTimestamp();
- private final ITmfTimestamp ts1 = new TmfTimestamp(12345, 0);
- private final ITmfTimestamp ts2 = new TmfTimestamp(12345, -1);
- private final ITmfTimestamp ts3 = new TmfTimestamp(12345, 2, 5);
- private final ITmfTimestamp ts4 = new TmfTimestamp(12345, -3, 0);
- private final ITmfTimestamp ts5 = new TmfTimestamp(12345, -6, 0);
- private final ITmfTimestamp ts6 = new TmfTimestamp(12345, -9, 0);
- private final ITmfTimestamp ts7 = new TmfTimestamp(-12345, -3, 0);
- private final ITmfTimestamp ts8 = new TmfTimestamp(-12345, -6, 0);
- private final ITmfTimestamp ts9 = new TmfTimestamp(-12345, -9, 0);
-
- // ------------------------------------------------------------------------
- // Constructors
- // ------------------------------------------------------------------------
-
- @Test
- public void testDefaultConstructor() {
- assertEquals("getValue", 0, ts0.getValue());
- assertEquals("getscale", 0, ts0.getScale());
- assertEquals("getPrecision", 0, ts0.getPrecision());
- }
-
- @Test
- public void testValueConstructor() {
- assertEquals("getValue", 12345, ts1.getValue());
- assertEquals("getscale", 0, ts1.getScale());
- assertEquals("getPrecision", 0, ts1.getPrecision());
- }
-
- @Test
- public void testValueScaleConstructor() {
- assertEquals("getValue", 12345, ts2.getValue());
- assertEquals("getscale", -1, ts2.getScale());
- assertEquals("getPrecision", 0, ts2.getPrecision());
- }
-
- @Test
- public void testFullConstructor() {
- assertEquals("getValue", 12345, ts3.getValue());
- assertEquals("getscale", 2, ts3.getScale());
- assertEquals("getPrecision", 5, ts3.getPrecision());
- }
-
- @Test
- public void testCopyConstructor() {
- final ITmfTimestamp ts = new TmfTimestamp(12345, 2, 5);
- final ITmfTimestamp copy = new TmfTimestamp(ts);
-
- assertEquals("getValue", ts.getValue(), copy.getValue());
- assertEquals("getscale", ts.getScale(), copy.getScale());
- assertEquals("getPrecision", ts.getPrecision(), copy.getPrecision());
-
- assertEquals("getValue", 12345, copy.getValue());
- assertEquals("getscale", 2, copy.getScale());
- assertEquals("getPrecision", 5, copy.getPrecision());
- }
-
- @Test(expected=IllegalArgumentException.class)
- public void testCopyNullConstructor() {
- new TmfTimestamp((TmfTimestamp) null);
- }
-
- @Test
- public void testCopyConstructorBigBang() {
- final ITmfTimestamp ts = new TmfTimestamp(TmfTimestamp.BIG_BANG);
- assertEquals("getValue", TmfTimestamp.BIG_BANG.getValue(), ts.getValue());
- assertEquals("getscale", TmfTimestamp.BIG_BANG.getScale(), ts.getScale());
- assertEquals("getPrecision", TmfTimestamp.BIG_BANG.getPrecision(), ts.getPrecision());
- }
-
- @Test
- public void testCopyConstructorBigCrunch() {
- final ITmfTimestamp ts = new TmfTimestamp(TmfTimestamp.BIG_CRUNCH);
- assertEquals("getValue", TmfTimestamp.BIG_CRUNCH.getValue(), ts.getValue());
- assertEquals("getscale", TmfTimestamp.BIG_CRUNCH.getScale(), ts.getScale());
- assertEquals("getPrecision", TmfTimestamp.BIG_CRUNCH.getPrecision(), ts.getPrecision());
- }
-
- @Test
- public void testCopyConstructorZero() {
- final ITmfTimestamp ts = new TmfTimestamp(TmfTimestamp.ZERO);
- assertEquals("getValue", TmfTimestamp.ZERO.getValue(), ts.getValue());
- assertEquals("getscale", TmfTimestamp.ZERO.getScale(), ts.getScale());
- assertEquals("getPrecision", TmfTimestamp.ZERO.getPrecision(), ts.getPrecision());
- }
-
- // ------------------------------------------------------------------------
- // hashCode
- // ------------------------------------------------------------------------
-
- @Test
- public void testHashCode() {
- final ITmfTimestamp ts0copy = new TmfTimestamp(ts0);
- final ITmfTimestamp ts1copy = new TmfTimestamp(ts1);
- final ITmfTimestamp ts2copy = new TmfTimestamp(ts2);
-
- assertTrue("hashCode", ts0.hashCode() == ts0copy.hashCode());
- assertTrue("hashCode", ts1.hashCode() == ts1copy.hashCode());
- assertTrue("hashCode", ts2.hashCode() == ts2copy.hashCode());
-
- assertTrue("hashCode", ts0.hashCode() != ts1.hashCode());
- }
-
- // ------------------------------------------------------------------------
- // equals
- // ------------------------------------------------------------------------
-
- @Test
- public void testEqualsReflexivity() {
- assertTrue("equals", ts0.equals(ts0));
- assertTrue("equals", ts1.equals(ts1));
-
- assertTrue("equals", !ts0.equals(ts1));
- assertTrue("equals", !ts1.equals(ts0));
- }
-
- @Test
- public void testEqualsSymmetry() {
- final ITmfTimestamp ts0copy = new TmfTimestamp(ts0);
- assertTrue("equals", ts0.equals(ts0copy));
- assertTrue("equals", ts0copy.equals(ts0));
-
- final ITmfTimestamp ts1copy = new TmfTimestamp(ts1);
- assertTrue("equals", ts1.equals(ts1copy));
- assertTrue("equals", ts1copy.equals(ts1));
-
- final ITmfTimestamp ts2copy = new TmfTimestamp(ts2);
- assertTrue("equals", ts2.equals(ts2copy));
- assertTrue("equals", ts2copy.equals(ts2));
- }
-
- @Test
- public void testEqualsTransivity() {
- final ITmfTimestamp ts0copy1 = new TmfTimestamp(ts0);
- final ITmfTimestamp ts0copy2 = new TmfTimestamp(ts0copy1);
- assertTrue("equals", ts0.equals(ts0copy1));
- assertTrue("equals", ts0copy1.equals(ts0copy2));
- assertTrue("equals", ts0.equals(ts0copy2));
-
- final ITmfTimestamp ts1copy1 = new TmfTimestamp(ts1);
- final ITmfTimestamp ts1copy2 = new TmfTimestamp(ts1copy1);
- assertTrue("equals", ts1.equals(ts1copy1));
- assertTrue("equals", ts1copy1.equals(ts1copy2));
- assertTrue("equals", ts1.equals(ts1copy2));
-
- final ITmfTimestamp ts2copy1 = new TmfTimestamp(ts2);
- final ITmfTimestamp ts2copy2 = new TmfTimestamp(ts2copy1);
- assertTrue("equals", ts2.equals(ts2copy1));
- assertTrue("equals", ts2copy1.equals(ts2copy2));
- assertTrue("equals", ts2.equals(ts2copy2));
- }
-
- @Test
- public void testEqualsNull() {
- assertTrue("equals", !ts0.equals(null));
- assertTrue("equals", !ts1.equals(null));
- }
-
- @Test
- public void testEqualsNonTimestamp() {
- assertFalse("equals", ts0.equals(ts0.toString()));
- }
-
- // ------------------------------------------------------------------------
- // toString
- // ------------------------------------------------------------------------
-
- @Test
- public void testToStringDefault() {
- DateFormat df = new SimpleDateFormat("HH:mm:ss.SSS");
- Date d0 = new Date((long) (ts0.getValue() * Math.pow(10, ts0.getScale() + 3)));
- Date d1 = new Date((long) (ts1.getValue() * Math.pow(10, ts1.getScale() + 3)));
- Date d2 = new Date((long) (ts2.getValue() * Math.pow(10, ts2.getScale() + 3)));
- Date d3 = new Date((long) (ts3.getValue() * Math.pow(10, ts3.getScale() + 3)));
- Date d4 = new Date((long) (ts4.getValue() * Math.pow(10, ts4.getScale() + 3)));
- Date d5 = new Date((long) (ts5.getValue() * Math.pow(10, ts5.getScale() + 3)));
- Date d6 = new Date((long) (ts6.getValue() * Math.pow(10, ts6.getScale() + 3)));
- Date d7 = new Date((long) (ts7.getValue() * Math.pow(10, ts7.getScale() + 3)));
- Date d8 = new Date((long) (ts8.getValue() * Math.pow(10, ts8.getScale() + 3)) - 1);
- Date d9 = new Date((long) (ts9.getValue() * Math.pow(10, ts9.getScale() + 3)) - 1);
- assertEquals("toString", df.format(d0) + " 000 000", ts0.toString());
- assertEquals("toString", df.format(d1) + " 000 000", ts1.toString());
- assertEquals("toString", df.format(d2) + " 000 000", ts2.toString());
- assertEquals("toString", df.format(d3) + " 000 000", ts3.toString());
- assertEquals("toString", df.format(d4) + " 000 000", ts4.toString());
- assertEquals("toString", df.format(d5) + " 345 000", ts5.toString());
- assertEquals("toString", df.format(d6) + " 012 345", ts6.toString());
- assertEquals("toString", df.format(d7) + " 000 000", ts7.toString());
- assertEquals("toString", df.format(d8) + " 655 000", ts8.toString());
- assertEquals("toString", df.format(d9) + " 987 655", ts9.toString());
- }
-
- @Test
- public void testToStringInterval() {
- assertEquals("toString", "000.000 000 000", ts0.toString(TmfTimestampFormat.getDefaulIntervalFormat()));
- assertEquals("toString", "12345.000 000 000", ts1.toString(TmfTimestampFormat.getDefaulIntervalFormat()));
- assertEquals("toString", "1234.500 000 000", ts2.toString(TmfTimestampFormat.getDefaulIntervalFormat()));
- assertEquals("toString", "1234500.000 000 000", ts3.toString(TmfTimestampFormat.getDefaulIntervalFormat()));
- assertEquals("toString", "012.345 000 000", ts4.toString(TmfTimestampFormat.getDefaulIntervalFormat()));
- assertEquals("toString", "000.012 345 000", ts5.toString(TmfTimestampFormat.getDefaulIntervalFormat()));
- assertEquals("toString", "000.000 012 345", ts6.toString(TmfTimestampFormat.getDefaulIntervalFormat()));
- assertEquals("toString", "-012.345 000 000", ts7.toString(TmfTimestampFormat.getDefaulIntervalFormat()));
- assertEquals("toString", "-000.012 345 000", ts8.toString(TmfTimestampFormat.getDefaulIntervalFormat()));
- assertEquals("toString", "-000.000 012 345", ts9.toString(TmfTimestampFormat.getDefaulIntervalFormat()));
- }
-
- // ------------------------------------------------------------------------
- // normalize
- // ------------------------------------------------------------------------
-
- @Test
- public void testNormalizeOffset() {
- ITmfTimestamp ts = ts0.normalize(0, 0);
- assertEquals("getValue", 0, ts.getValue());
- assertEquals("getscale", 0, ts.getScale());
- assertEquals("getPrecision", 0, ts.getPrecision());
-
- ts = ts0.normalize(12345, 0);
- assertEquals("getValue", 12345, ts.getValue());
- assertEquals("getscale", 0, ts.getScale());
- assertEquals("getPrecision", 0, ts.getPrecision());
-
- ts = ts0.normalize(10, 0);
- assertEquals("getValue", 10, ts.getValue());
- assertEquals("getscale", 0, ts.getScale());
- assertEquals("getPrecision", 0, ts.getPrecision());
-
- ts = ts0.normalize(-10, 0);
- assertEquals("getValue", -10, ts.getValue());
- assertEquals("getscale", 0, ts.getScale());
- assertEquals("getPrecision", 0, ts.getPrecision());
- }
-
- @Test
- public void testNormalizeOffsetLowerLimits() {
- final ITmfTimestamp ref = new TmfTimestamp(Long.MIN_VALUE + 5, 0);
-
- ITmfTimestamp ts = ref.normalize(-4, 0);
- assertEquals("getValue", Long.MIN_VALUE + 1, ts.getValue());
- assertEquals("getscale", 0, ts.getScale());
- assertEquals("getPrecision", 0, ts.getPrecision());
-
- ts = ref.normalize(-5, 0);
- assertEquals("getValue", Long.MIN_VALUE, ts.getValue());
- assertEquals("getscale", 0, ts.getScale());
- assertEquals("getPrecision", 0, ts.getPrecision());
-
- ts = ref.normalize(-6, 0);
- assertEquals("getValue", Long.MIN_VALUE, ts.getValue());
- assertEquals("getscale", 0, ts.getScale());
- assertEquals("getPrecision", 0, ts.getPrecision());
- }
-
- @Test
- public void testNormalizeOffsetUpperLimits() {
- final ITmfTimestamp ref = new TmfTimestamp(Long.MAX_VALUE - 5, 0);
-
- ITmfTimestamp ts = ref.normalize(4, 0);
- assertEquals("getValue", Long.MAX_VALUE - 1, ts.getValue());
- assertEquals("getscale", 0, ts.getScale());
- assertEquals("getPrecision", 0, ts.getPrecision());
-
- ts = ref.normalize(5, 0);
- assertEquals("getValue", Long.MAX_VALUE, ts.getValue());
- assertEquals("getscale", 0, ts.getScale());
- assertEquals("getPrecision", 0, ts.getPrecision());
-
- ts = ref.normalize(6, 0);
- assertEquals("getValue", Long.MAX_VALUE, ts.getValue());
- assertEquals("getscale", 0, ts.getScale());
- assertEquals("getPrecision", 0, ts.getPrecision());
- }
-
- @Test
- public void testNormalizeScale() {
- ITmfTimestamp ts = ts0.normalize(0, 10);
- assertEquals("getValue", 0, ts.getValue());
- assertEquals("getscale", 10, ts.getScale());
- assertEquals("getPrecision", 0, ts.getPrecision());
-
- ts = ts0.normalize(0, -10);
- assertEquals("getValue", 0, ts.getValue());
- assertEquals("getscale", -10, ts.getScale());
- assertEquals("getPrecision", 0, ts.getPrecision());
- }
-
- @Test
- public void testNormalizedScaleLimits() {
- final int MAX_SCALE_DIFF = 19;
-
- // Test below limit
- try {
- ts1.normalize(0, +MAX_SCALE_DIFF - 1);
- ts1.normalize(0, -MAX_SCALE_DIFF + 1);
- } catch (final ArithmeticException e) {
- fail("normalize: scale error");
- }
-
- // Test at limit
- try {
- ts1.normalize(0, +MAX_SCALE_DIFF);
- fail("normalize: scale error");
- ts1.normalize(0, -MAX_SCALE_DIFF);
- fail("normalize: scale error");
- } catch (final ArithmeticException e) {
- }
-
- // Test over limit
- try {
- ts1.normalize(0, +MAX_SCALE_DIFF + 1);
- fail("normalize: scale error");
- ts1.normalize(0, -MAX_SCALE_DIFF - 1);
- fail("normalize: scale error");
- } catch (final ArithmeticException e) {
- }
- }
-
- @Test
- public void testNormalizeOffsetAndScaleTrivial() {
- final ITmfTimestamp ts = ts0.normalize(0, 0);
- assertEquals("getValue", 0, ts.getValue());
- assertEquals("getscale", 0, ts.getScale());
- assertEquals("getPrecision", 0, ts.getPrecision());
- }
-
- @Test
- public void testNormalizeOffsetAndScale() {
- final int SCALE = 12;
-
- ITmfTimestamp ts = ts0.normalize(0, SCALE);
- assertEquals("getValue", 0, ts.getValue());
- assertEquals("getscale", SCALE, ts.getScale());
- assertEquals("getPrecision", 0, ts.getPrecision());
-
- ts = ts0.normalize(12345, SCALE);
- assertEquals("getValue", 12345, ts.getValue());
- assertEquals("getscale", SCALE, ts.getScale());
- assertEquals("getPrecision", 0, ts.getPrecision());
-
- ts = ts0.normalize(10, SCALE);
- assertEquals("getValue", 10, ts.getValue());
- assertEquals("getscale", SCALE, ts.getScale());
- assertEquals("getPrecision", 0, ts.getPrecision());
-
- ts = ts0.normalize(-10, SCALE);
- assertEquals("getValue", -10, ts.getValue());
- assertEquals("getscale", SCALE, ts.getScale());
- assertEquals("getPrecision", 0, ts.getPrecision());
- }
-
- @Test
- public void testNormalizeOffsetAndScale2() {
- int SCALE = 2;
- ITmfTimestamp ts = ts1.normalize(0, SCALE);
- assertEquals("getValue", 123, ts.getValue());
- assertEquals("getscale", SCALE, ts.getScale());
- assertEquals("getPrecision", 0, ts.getPrecision());
-
- ts = ts1.normalize(12345, SCALE);
- assertEquals("getValue", 12468, ts.getValue());
- assertEquals("getscale", SCALE, ts.getScale());
- assertEquals("getPrecision", 0, ts.getPrecision());
-
- SCALE = -2;
- ts = ts1.normalize(0, SCALE);
- assertEquals("getValue", 1234500, ts.getValue());
- assertEquals("getscale", SCALE, ts.getScale());
- assertEquals("getPrecision", 0, ts.getPrecision());
-
- ts = ts1.normalize(67, SCALE);
- assertEquals("getValue", 1234567, ts.getValue());
- assertEquals("getscale", SCALE, ts.getScale());
- assertEquals("getPrecision", 0, ts.getPrecision());
- }
-
- // ------------------------------------------------------------------------
- // compareTo
- // ------------------------------------------------------------------------
-
- @Test
- public void testBasicCompareTo() {
- final ITmfTimestamp t1 = new TmfTimestamp(900, 0, 50);
- final ITmfTimestamp t2 = new TmfTimestamp(1000, 0, 50);
- final ITmfTimestamp t3 = new TmfTimestamp(1100, 0, 50);
- final ITmfTimestamp t4 = new TmfTimestamp(1000, 0, 75);
-
- assertTrue(t1.compareTo(t1) == 0);
-
- assertTrue("CompareTo", t1.compareTo(t2) < 0);
- assertTrue("CompareTo", t1.compareTo(t3) < 0);
- assertTrue("CompareTo", t1.compareTo(t4) < 0);
-
- assertTrue("CompareTo", t2.compareTo(t1) > 0);
- assertTrue("CompareTo", t2.compareTo(t3) < 0);
- assertTrue("CompareTo", t2.compareTo(t4) == 0);
-
- assertTrue("CompareTo", t3.compareTo(t1) > 0);
- assertTrue("CompareTo", t3.compareTo(t2) > 0);
- assertTrue("CompareTo", t3.compareTo(t4) > 0);
- }
-
- @Test
- public void testCompareToCornerCases1() {
- final ITmfTimestamp ts0a = new TmfTimestamp(ts0);
- final ITmfTimestamp ts0b = new TmfTimestamp(ts0.getValue(), ts0.getScale() + 1);
- final ITmfTimestamp ts0c = new TmfTimestamp(ts0.getValue() + 1, ts0.getScale());
- final ITmfTimestamp ts0d = new TmfTimestamp(ts0.getValue() + 1, ts0.getScale() + 1);
-
- assertTrue("compareTo", ts0.compareTo(ts0, false) == 0);
- assertTrue("compareTo", ts0.compareTo(ts0a, false) == 0);
- assertTrue("compareTo", ts0.compareTo(ts0b, false) == 0);
- assertTrue("compareTo", ts0.compareTo(ts0c, false) == -1);
- assertTrue("compareTo", ts0.compareTo(ts0d, false) == -1);
- }
-
- @Test
- public void testCompareToCornerCases2() {
- final ITmfTimestamp ts0a = new TmfTimestamp(Long.MAX_VALUE, Integer.MAX_VALUE - 1);
- final ITmfTimestamp ts0b = new TmfTimestamp(0, Integer.MAX_VALUE);
- final ITmfTimestamp ts0c = new TmfTimestamp(Long.MAX_VALUE, Integer.MAX_VALUE);
-
- assertTrue("compareTo", ts0a.compareTo(ts0b, false) == 1);
- assertTrue("compareTo", ts0a.compareTo(ts0c, false) == -1);
-
- assertTrue("compareTo", ts0b.compareTo(ts0a, false) == -1);
- assertTrue("compareTo", ts0b.compareTo(ts0c, false) == -1);
-
- assertTrue("compareTo", ts0c.compareTo(ts0a, false) == 1);
- assertTrue("compareTo", ts0c.compareTo(ts0b, false) == 1);
- }
-
- @Test
- public void testCompareToCornerCases3() {
- final ITmfTimestamp ts0a = new TmfTimestamp(Long.MIN_VALUE, Integer.MAX_VALUE - 1);
- final ITmfTimestamp ts0b = new TmfTimestamp(0, Integer.MAX_VALUE);
- final ITmfTimestamp ts0c = new TmfTimestamp(Long.MIN_VALUE, Integer.MAX_VALUE);
-
- assertTrue("compareTo", ts0a.compareTo(ts0b, false) == -1);
- assertTrue("compareTo", ts0a.compareTo(ts0c, false) == 1);
-
- assertTrue("compareTo", ts0b.compareTo(ts0a, false) == 1);
- assertTrue("compareTo", ts0b.compareTo(ts0c, false) == 1);
-
- assertTrue("compareTo", ts0c.compareTo(ts0a, false) == -1);
- assertTrue("compareTo", ts0c.compareTo(ts0b, false) == -1);
- }
-
- @Test
- public void testCompareToCornerCases4() {
- assertTrue("compareTo", ts0.compareTo(null, false) == 1);
- assertTrue("compareTo", ts0.compareTo(null, true) == 1);
- }
-
- @Test
- public void testCompareToSameScale() {
- final ITmfTimestamp t1 = new TmfTimestamp(900, 0, 50);
- final ITmfTimestamp t2 = new TmfTimestamp(1000, 0, 50);
- final ITmfTimestamp t3 = new TmfTimestamp(1100, 0, 50);
- final ITmfTimestamp t4 = new TmfTimestamp(1000, 0, 75);
-
- assertTrue(t1.compareTo(t1, false) == 0);
-
- assertTrue("CompareTo", t1.compareTo(t2, false) < 0);
- assertTrue("CompareTo", t1.compareTo(t3, false) < 0);
- assertTrue("CompareTo", t1.compareTo(t4, false) < 0);
-
- assertTrue("CompareTo", t2.compareTo(t1, false) > 0);
- assertTrue("CompareTo", t2.compareTo(t3, false) < 0);
- assertTrue("CompareTo", t2.compareTo(t4, false) == 0);
-
- assertTrue("CompareTo", t3.compareTo(t1, false) > 0);
- assertTrue("CompareTo", t3.compareTo(t2, false) > 0);
- assertTrue("CompareTo", t3.compareTo(t4, false) > 0);
- }
-
- @Test
- public void testCompareToDifferentScale() {
- final ITmfTimestamp t1 = new TmfTimestamp(9000, -1, 50);
- final ITmfTimestamp t2 = new TmfTimestamp(1000, 0, 50);
- final ITmfTimestamp t3 = new TmfTimestamp(110, 1, 50);
- final ITmfTimestamp t4 = new TmfTimestamp(1, 3, 75);
-
- assertTrue("CompareTo", t1.compareTo(t1, false) == 0);
-
- assertTrue("CompareTo", t1.compareTo(t2, false) < 0);
- assertTrue("CompareTo", t1.compareTo(t3, false) < 0);
- assertTrue("CompareTo", t1.compareTo(t4, false) < 0);
-
- assertTrue("CompareTo", t2.compareTo(t1, false) > 0);
- assertTrue("CompareTo", t2.compareTo(t3, false) < 0);
- assertTrue("CompareTo", t2.compareTo(t4, false) == 0);
-
- assertTrue("CompareTo", t3.compareTo(t1, false) > 0);
- assertTrue("CompareTo", t3.compareTo(t2, false) > 0);
- assertTrue("CompareTo", t3.compareTo(t4, false) > 0);
- }
-
- @Test
- public void testCompareToWithinPrecision() {
- final ITmfTimestamp t1 = new TmfTimestamp(900, 0, 50);
- final ITmfTimestamp t2 = new TmfTimestamp(1000, 0, 50);
- final ITmfTimestamp t3 = new TmfTimestamp(1100, 0, 50);
- final ITmfTimestamp t4 = new TmfTimestamp(1000, 0, 75);
-
- assertTrue("CompareTo", t1.compareTo(t1, true) == 0);
-
- assertTrue("CompareTo", t1.compareTo(t2, true) == 0);
- assertTrue("CompareTo", t1.compareTo(t3, true) < 0);
- assertTrue("CompareTo", t1.compareTo(t4, true) == 0);
-
- assertTrue("CompareTo", t2.compareTo(t1, true) == 0);
- assertTrue("CompareTo", t2.compareTo(t3, true) == 0);
- assertTrue("CompareTo", t2.compareTo(t4, true) == 0);
-
- assertTrue("CompareTo", t3.compareTo(t1, true) > 0);
- assertTrue("CompareTo", t3.compareTo(t2, true) == 0);
- assertTrue("CompareTo", t3.compareTo(t4, true) == 0);
- }
-
- @Test
- public void testCompareToLargeScale1() {
- final ITmfTimestamp t1 = new TmfTimestamp(-1, 100);
- final ITmfTimestamp t2 = new TmfTimestamp(-1000, -100);
- final ITmfTimestamp t3 = new TmfTimestamp(1, 100);
- final ITmfTimestamp t4 = new TmfTimestamp(1000, -100);
-
- assertTrue("CompareTo", t1.compareTo(t2, false) < 0);
- assertTrue("CompareTo", t1.compareTo(t3, false) < 0);
- assertTrue("CompareTo", t1.compareTo(t4, false) < 0);
-
- assertTrue("CompareTo", t2.compareTo(t1, false) > 0);
- assertTrue("CompareTo", t2.compareTo(t3, false) < 0);
- assertTrue("CompareTo", t2.compareTo(t4, false) < 0);
-
- assertTrue("CompareTo", t3.compareTo(t1, false) > 0);
- assertTrue("CompareTo", t3.compareTo(t2, false) > 0);
- assertTrue("CompareTo", t3.compareTo(t4, false) > 0);
-
- assertTrue("CompareTo", t4.compareTo(t1, false) > 0);
- assertTrue("CompareTo", t4.compareTo(t2, false) > 0);
- assertTrue("CompareTo", t4.compareTo(t3, false) < 0);
- }
-
- @Test
- public void testCompareToLargeScale2() {
- final ITmfTimestamp ts0a = new TmfTimestamp(0, Integer.MAX_VALUE);
- final ITmfTimestamp ts0b = new TmfTimestamp(1, Integer.MAX_VALUE);
-
- assertTrue("CompareTo", ts0a.compareTo(ts0, false) == 0);
- assertTrue("CompareTo", ts0.compareTo(ts0a, false) == 0);
-
- assertTrue("CompareTo", ts0b.compareTo(ts0, false) == 1);
- assertTrue("CompareTo", ts0.compareTo(ts0b, false) == -1);
- }
-
- // ------------------------------------------------------------------------
- // getDelta
- // ------------------------------------------------------------------------
-
- @Test
- public void testDelta() {
- // Delta for same scale and precision (delta > 0)
- ITmfTimestamp t0 = new TmfTimestamp(10, 9);
- ITmfTimestamp t1 = new TmfTimestamp(5, 9);
- ITmfTimestamp exp = new TmfTimestamp(5, 9);
-
- ITmfTimestamp delta = t0.getDelta(t1);
- assertEquals("getDelta", 0, delta.compareTo(exp, false));
-
- // Delta for same scale and precision (delta < 0)
- t0 = new TmfTimestamp(5, 9);
- t1 = new TmfTimestamp(10, 9);
- exp = new TmfTimestamp(-5, 9);
-
- delta = t0.getDelta(t1);
- assertEquals("getDelta", 0, delta.compareTo(exp, false));
-
- // Delta for different scale and same precision (delta > 0)
- t0 = new TmfTimestamp(5, 9);
- t1 = new TmfTimestamp(10, 8);
- exp = new TmfTimestamp(4, 9);
-
- delta = t0.getDelta(t1);
- assertEquals("getDelta", 0, delta.compareTo(exp, false));
-
- // Delta for different scale and same precision (delta > 0)
- t0 = new TmfTimestamp(5, 9);
- t1 = new TmfTimestamp(10, 7);
- exp = new TmfTimestamp(5, 9);
-
- delta = t0.getDelta(t1);
- assertEquals("getDelta", 0, delta.compareTo(exp, false));
-
- // Delta for different scale and same precision
- t0 = new TmfTimestamp(10, 9);
- t1 = new TmfTimestamp(5, 8);
- exp = new TmfTimestamp(10, 9);
-
- delta = t0.getDelta(t1);
- assertEquals("getDelta", 0, delta.compareTo(exp, false));
-
- // Delta for same scale and different precision
- t0 = new TmfTimestamp(10, 9, 1);
- t1 = new TmfTimestamp(5, 9, 2);
- exp = new TmfTimestamp(5, 9, 3);
-
- delta = t0.getDelta(t1);
- assertEquals("getDelta", 0, delta.compareTo(exp, true));
- assertEquals("precision", 3, delta.getPrecision());
-
- // Delta for same scale and different precision
- t0 = new TmfTimestamp(5, 9, 2);
- t1 = new TmfTimestamp(10, 9, 1);
- exp = new TmfTimestamp(-5, 9, 3);
-
- delta = t0.getDelta(t1);
- assertEquals("getDelta", 0, delta.compareTo(exp, true));
- assertEquals("precision", 3, delta.getPrecision());
-
- // Delta for different scale and different precision
- t0 = new TmfTimestamp(5, 9, 2);
- t1 = new TmfTimestamp(10, 8, 1);
- exp = new TmfTimestamp(4, 9, 3);
- delta = t0.getDelta(t1);
- assertEquals("getDelta", 0, delta.compareTo(exp, true));
- assertEquals("precision", 2, delta.getPrecision());
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/event/lookup/AllTests.java b/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/event/lookup/AllTests.java
deleted file mode 100644
index 2db2ab1c80..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/event/lookup/AllTests.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 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:
- * Bernd Hufmann - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.core.tests.event.lookup;
-
-import org.eclipse.linuxtools.tmf.core.tests.event.lookup.TmfCallsiteTest;
-import org.junit.runner.RunWith;
-import org.junit.runners.Suite;
-
-/**
- * Test suite for org.eclipse.linuxtools.tmf.core.event.lookup
- */
-@RunWith(Suite.class)
-@Suite.SuiteClasses({
- TmfCallsiteTest.class
-})
-public class AllTests {
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/event/lookup/TmfCallsiteTest.java b/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/event/lookup/TmfCallsiteTest.java
deleted file mode 100644
index 2839784745..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/event/lookup/TmfCallsiteTest.java
+++ /dev/null
@@ -1,179 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 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:
- * Bernd Hufmann - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.core.tests.event.lookup;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertTrue;
-
-import org.eclipse.linuxtools.tmf.core.event.lookup.ITmfCallsite;
-import org.eclipse.linuxtools.tmf.core.event.lookup.TmfCallsite;
-import org.junit.Test;
-
-/**
- * Test suite for the TmfCallsite class.
- */
-@SuppressWarnings("javadoc")
-public class TmfCallsiteTest {
-
- // ------------------------------------------------------------------------
- // Variables
- // ------------------------------------------------------------------------
- private final static String fFileName1 = "filename1";
- private final static String fFunctionName1 = "func1";
- private final static long fLine1 = 10;
-
- private final static String fFileName2 = "filename2";
- private final static String fFunctionName2 = "func2";
- private final static long fLine2 = 25;
-
- private final static String fFileName3 = "filename3";
- private final static String fFunctionName3 = null;
- private final static long fLine3 = 123;
-
- private final static ITmfCallsite fCallsite1 = new TmfCallsite(fFileName1, fFunctionName1, fLine1);
- private final static ITmfCallsite fCallsite2 = new TmfCallsite(fFileName2, fFunctionName2, fLine2);
- private final static ITmfCallsite fCallsite3 = new TmfCallsite(fFileName3, fFunctionName3, fLine3);
-
- // ------------------------------------------------------------------------
- // Constructors
- // ------------------------------------------------------------------------
-
- @Test
- public void testDefaultConstructor() {
- assertEquals(fFileName1, fCallsite1.getFileName());
- assertEquals(fFunctionName1, fCallsite1.getFunctionName());
- assertEquals(fLine1, fCallsite1.getLineNumber());
- }
-
- @Test
- public void testCallsiteCopy() {
- TmfCallsite copy = new TmfCallsite(fCallsite1);
-
- assertEquals(fFileName1, copy.getFileName());
- assertEquals(fFunctionName1, copy.getFunctionName());
- assertEquals(fLine1, copy.getLineNumber());
- }
-
- @Test(expected=IllegalArgumentException.class)
- public void testCallsiteCopy2() {
- new TmfCallsite(null);
- }
-
- @Test(expected=IllegalArgumentException.class)
- public void testCallsiteCopy3() {
- new TmfCallsite(new ITmfCallsite() {
- @Override
- public long getLineNumber() {
- return 0;
- }
-
- @Override
- public String getFunctionName() {
- return null;
- }
-
- @Override
- public String getFileName() {
- return null;
- }
- });
- }
-
- @Test(expected=IllegalArgumentException.class)
- public void testCallsiteFileNull() {
- new TmfCallsite(null, fFunctionName1, fLine1);
- }
-
- // ------------------------------------------------------------------------
- // hashCode
- // ------------------------------------------------------------------------
-
- @Test
- public void testHashCode() {
- final ITmfCallsite callsite1b = new TmfCallsite(fCallsite1);
- final ITmfCallsite callsite2b = new TmfCallsite(fCallsite2);
-
- assertTrue("hashCode", fCallsite1.hashCode() == callsite1b.hashCode());
- assertTrue("hashCode", fCallsite2.hashCode() == callsite2b.hashCode());
-
- assertTrue("hashCode", fCallsite1.hashCode() != fCallsite2.hashCode());
- assertTrue("hashCode", fCallsite2.hashCode() != fCallsite1.hashCode());
- }
-
- // ------------------------------------------------------------------------
- // equals
- // ------------------------------------------------------------------------
-
- @Test
- public void testEqualsReflexivity() {
- assertTrue("equals", fCallsite1.equals(fCallsite1));
- assertTrue("equals", fCallsite2.equals(fCallsite2));
-
- assertFalse("equals", fCallsite1.equals(fCallsite2));
- assertFalse("equals", fCallsite2.equals(fCallsite1));
- }
-
- @Test
- public void testEqualsSymmetry() {
- final ITmfCallsite callsite1 = new TmfCallsite(fCallsite1);
- final ITmfCallsite callsite2 = new TmfCallsite(fCallsite2);
-
- assertTrue("equals", callsite1.equals(fCallsite1));
- assertTrue("equals", fCallsite1.equals(callsite1));
-
- assertTrue("equals", callsite2.equals(fCallsite2));
- assertTrue("equals", fCallsite2.equals(callsite2));
- }
-
- @Test
- public void testEqualsTransivity() {
- final ITmfCallsite callsite1 = new TmfCallsite(fCallsite1);
- final ITmfCallsite callsite2 = new TmfCallsite(fCallsite1);
- final ITmfCallsite callsite3 = new TmfCallsite(fCallsite1);
-
- assertTrue("equals", callsite1.equals(callsite2));
- assertTrue("equals", callsite2.equals(callsite3));
- assertTrue("equals", callsite1.equals(callsite3));
- }
-
- @Test
- public void testEqualsNull() {
- assertFalse("equals", fCallsite1.equals(null));
- assertFalse("equals", fCallsite2.equals(null));
- assertFalse("equals", fCallsite3.equals(null));
- }
-
- @Test
- public void testNonEqualClasses() {
- assertFalse("equals", fCallsite1.equals(fCallsite1.getFileName()));
- }
-
- @Test
- public void testNullElements() {
- ITmfCallsite callsite = new TmfCallsite(fFileName1, null, fLine1);
- assertFalse("equals", fCallsite1.equals(callsite));
- assertFalse("equals", callsite.equals(fCallsite1));
- }
-
- // ------------------------------------------------------------------------
- // toString
- // ------------------------------------------------------------------------
-
- @Test
- public void testToString() {
- assertEquals("toString", "filename1:10 func1()", fCallsite1.toString());
- assertEquals("toString", "filename2:25 func2()", fCallsite2.toString());
- assertEquals("toString", "filename3:123", fCallsite3.toString());
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/filter/AllTests.java b/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/filter/AllTests.java
deleted file mode 100644
index 967226e8c3..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/filter/AllTests.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 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:
- * Bernd Hufmann - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.core.tests.filter;
-
-import org.junit.runner.RunWith;
-import org.junit.runners.Suite;
-
-/**
- * Filter tests.
- */
-@RunWith(Suite.class)
-@Suite.SuiteClasses({
- TmfCollapseFilterTest.class,
-})
-public class AllTests {
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/filter/TmfCollapseFilterTest.java b/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/filter/TmfCollapseFilterTest.java
deleted file mode 100644
index 4c58f80685..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/filter/TmfCollapseFilterTest.java
+++ /dev/null
@@ -1,168 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 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:
- * Bernd Hufmann - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.core.tests.filter;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNotEquals;
-import static org.junit.Assert.assertNull;
-import static org.junit.Assert.assertTrue;
-
-import org.eclipse.linuxtools.internal.tmf.core.filter.TmfCollapseFilter;
-import org.eclipse.linuxtools.tmf.core.event.ITmfEvent;
-import org.eclipse.linuxtools.tmf.core.event.ITmfEventField;
-import org.eclipse.linuxtools.tmf.core.event.ITmfEventType;
-import org.eclipse.linuxtools.tmf.core.event.TmfEvent;
-import org.eclipse.linuxtools.tmf.core.event.TmfEventField;
-import org.eclipse.linuxtools.tmf.core.event.TmfEventType;
-import org.eclipse.linuxtools.tmf.core.event.collapse.ITmfCollapsibleEvent;
-import org.eclipse.linuxtools.tmf.core.timestamp.ITmfTimestamp;
-import org.eclipse.linuxtools.tmf.core.timestamp.TmfNanoTimestamp;
-import org.eclipse.linuxtools.tmf.core.trace.ITmfTrace;
-import org.junit.Test;
-
-/**
- * Test suite for the {@link TmfCollpaseFilter} class.
- *
- * @author Bernd Hufmann
- */
-@SuppressWarnings("javadoc")
-public class TmfCollapseFilterTest {
-
- // ------------------------------------------------------------------------
- // Variables
- // ------------------------------------------------------------------------
-
- private CollapsibleEvent fCollapsibleEvent1 = new CollapsibleEvent(true);
- private CollapsibleEvent fCollapsibleEvent2 = new CollapsibleEvent(true);
- private CollapsibleEvent fCollapsibleEvent3 = new CollapsibleEvent(false);
- private NonCollapsibleEvent fNonCollapsibleEvent1 = new NonCollapsibleEvent();
- private TmfCollapseFilter fFilter = new TmfCollapseFilter();
-
- // ------------------------------------------------------------------------
- // matches
- // ------------------------------------------------------------------------
-
- @Test
- public void testMatches() {
-
- TmfCollapseFilter filter = new TmfCollapseFilter();
-
- assertTrue(filter.matches(fCollapsibleEvent1));
- assertFalse(filter.matches(fCollapsibleEvent2));
- assertFalse(filter.matches(fCollapsibleEvent1));
- assertFalse(filter.matches(fCollapsibleEvent2));
- assertTrue(filter.matches(fNonCollapsibleEvent1));
- assertTrue(filter.matches(fNonCollapsibleEvent1));
- assertTrue(filter.matches(fCollapsibleEvent1));
- assertFalse(filter.matches(fCollapsibleEvent2));
- assertTrue(filter.matches(fCollapsibleEvent3));
- }
-
- @Test
- public void testInterfaces() {
- assertNull("getParent()", fFilter.getParent());
- assertEquals("getName()", "Collapse", fFilter.getNodeName());
- assertEquals("hasChildren()", false, fFilter.hasChildren());
- assertEquals("getChildrenCount()", 0, fFilter.getChildrenCount());
- assertEquals("getChildren()", 0, fFilter.getChildren().length);
- }
-
- @Test
- public void testClone() {
- assertNotEquals("clone()", fFilter, fFilter.clone());
- }
-
- @Test(expected=UnsupportedOperationException.class)
- public void testGetChild() {
- fFilter.getChild(0);
- }
-
- @Test(expected=UnsupportedOperationException.class)
- public void testRemove() {
- fFilter.remove();
- }
-
- @Test(expected=UnsupportedOperationException.class)
- public void testRemoveChild() {
- fFilter.removeChild(null);
- }
-
- @Test(expected=UnsupportedOperationException.class)
- public void testAddChild() {
- fFilter.addChild(null);
- }
-
- @Test(expected=UnsupportedOperationException.class)
- public void testReplaceChild() {
- fFilter.replaceChild(0, null);
- }
-
- @Test(expected=UnsupportedOperationException.class)
- public void testGetValidChildren() {
- fFilter.getValidChildren();
- }
-
- // ------------------------------------------------------------------------
- // Helper Classes
- // ------------------------------------------------------------------------
-
- private class CollapsibleEvent extends TmfEvent implements ITmfCollapsibleEvent {
-
- private final boolean fIsCollapsible;
- CollapsibleEvent(boolean isCollapsible) {
- super();
- fIsCollapsible = isCollapsible;
- }
- @Override
- public boolean isCollapsibleWith(ITmfEvent otherEvent) {
- return ((CollapsibleEvent)otherEvent).fIsCollapsible;
- }
- }
-
- private class NonCollapsibleEvent implements ITmfEvent {
-
- @Override
- public Object getAdapter(Class adapter) {
- return null;
- }
- @Override
- public ITmfTrace getTrace() {
- return null;
- }
- @Override
- public long getRank() {
- return 0;
- }
- @Override
- public ITmfTimestamp getTimestamp() {
- return new TmfNanoTimestamp(100);
- }
- @Override
- public String getSource() {
- return "";
- }
- @Override
- public ITmfEventType getType() {
- return new TmfEventType();
- }
- @Override
- public ITmfEventField getContent() {
- return new TmfEventField("testField", "test", null);
- }
- @Override
- public String getReference() {
- return "remote";
- }
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/request/AllTests.java b/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/request/AllTests.java
deleted file mode 100644
index 59c5dbef42..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/request/AllTests.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 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
- * Alexandre Montplaisir - Port to JUnit4
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.core.tests.request;
-
-import org.junit.runner.RunWith;
-import org.junit.runners.Suite;
-
-/**
- * Requests tests
- */
-@RunWith(Suite.class)
-@Suite.SuiteClasses({
- TmfCoalescedEventRequestTest.class,
- TmfEventRequestTest.class,
-})
-public class AllTests {
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/request/TmfCoalescedEventRequestTest.java b/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/request/TmfCoalescedEventRequestTest.java
deleted file mode 100644
index ae5ce9c933..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/request/TmfCoalescedEventRequestTest.java
+++ /dev/null
@@ -1,594 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009, 2014 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
- * Alexandre Montplaisir - Port to JUnit4
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.core.tests.request;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertTrue;
-
-import java.io.File;
-import java.io.IOException;
-import java.net.URISyntaxException;
-import java.net.URL;
-import java.util.Vector;
-
-import org.eclipse.core.runtime.FileLocator;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.linuxtools.internal.tmf.core.component.TmfProviderManager;
-import org.eclipse.linuxtools.internal.tmf.core.request.TmfCoalescedEventRequest;
-import org.eclipse.linuxtools.tmf.core.component.ITmfEventProvider;
-import org.eclipse.linuxtools.tmf.core.event.ITmfEvent;
-import org.eclipse.linuxtools.tmf.core.exceptions.TmfTraceException;
-import org.eclipse.linuxtools.tmf.core.request.ITmfEventRequest.ExecutionType;
-import org.eclipse.linuxtools.tmf.core.request.TmfEventRequest;
-import org.eclipse.linuxtools.tmf.core.signal.TmfSignal;
-import org.eclipse.linuxtools.tmf.core.signal.TmfSignalHandler;
-import org.eclipse.linuxtools.tmf.core.signal.TmfSignalManager;
-import org.eclipse.linuxtools.tmf.core.tests.TmfCoreTestPlugin;
-import org.eclipse.linuxtools.tmf.core.tests.shared.TmfTestTrace;
-import org.eclipse.linuxtools.tmf.core.timestamp.TmfTimeRange;
-import org.eclipse.linuxtools.tmf.core.timestamp.TmfTimestamp;
-import org.eclipse.linuxtools.tmf.tests.stubs.request.TmfEventRequestStub;
-import org.eclipse.linuxtools.tmf.tests.stubs.trace.TmfTraceStub;
-import org.junit.Before;
-import org.junit.Test;
-
-/**
- * Test suite for the TmfCoalescedEventRequest class.
- */
-@SuppressWarnings("javadoc")
-public class TmfCoalescedEventRequestTest {
-
- // ------------------------------------------------------------------------
- // Variables
- // ------------------------------------------------------------------------
-
- private final TmfTimeRange range1 = new TmfTimeRange(TmfTimeRange.ETERNITY);
- private final TmfTimeRange range2 = new TmfTimeRange(new TmfTimestamp(), TmfTimestamp.BIG_CRUNCH);
-
- private TmfCoalescedEventRequest fRequest1;
- private TmfCoalescedEventRequest fRequest2;
- private TmfCoalescedEventRequest fRequest3;
- private TmfCoalescedEventRequest fRequest4;
-
- private TmfCoalescedEventRequest fRequest1b;
- private TmfCoalescedEventRequest fRequest1c;
-
- private int fRequestCount;
-
- // ------------------------------------------------------------------------
- // Housekeeping
- // ------------------------------------------------------------------------
-
- @Before
- public void setUp() {
- TmfEventRequest.reset();
- fRequest1 = new TmfCoalescedEventRequest(ITmfEvent.class, range1, 0, 100, ExecutionType.FOREGROUND);
- fRequest2 = new TmfCoalescedEventRequest(ITmfEvent.class, range2, 0, 100, ExecutionType.FOREGROUND);
- fRequest3 = new TmfCoalescedEventRequest(ITmfEvent.class, range2, 0, 200, ExecutionType.FOREGROUND);
- fRequest4 = new TmfCoalescedEventRequest(ITmfEvent.class, range2, 0, 200, ExecutionType.FOREGROUND);
-
- fRequest1b = new TmfCoalescedEventRequest(ITmfEvent.class, range1, 0, 100, ExecutionType.FOREGROUND);
- fRequest1c = new TmfCoalescedEventRequest(ITmfEvent.class, range1, 0, 100, ExecutionType.FOREGROUND);
-
- fRequestCount = fRequest1c.getRequestId() + 1;
- }
-
- private TmfCoalescedEventRequest setupTestRequest(final boolean[] flags) {
-
- TmfCoalescedEventRequest request = new TmfCoalescedEventRequest(ITmfEvent.class, range1, 0, 100, ExecutionType.FOREGROUND) {
- @Override
- public void handleCompleted() {
- super.handleCompleted();
- flags[0] = true;
- }
-
- @Override
- public void handleSuccess() {
- super.handleSuccess();
- flags[1] = true;
- }
-
- @Override
- public void handleFailure() {
- super.handleFailure();
- flags[2] = true;
- }
-
- @Override
- public void handleCancel() {
- super.handleCancel();
- flags[3] = true;
- }
- };
- return request;
- }
-
- // ------------------------------------------------------------------------
- // Constructor
- // ------------------------------------------------------------------------
-
- @Test
- public void testTmfCoalescedEventRequestIndexNbEventsBlocksize() {
- TmfCoalescedEventRequest request = new TmfCoalescedEventRequest(ITmfEvent.class, range1, 0, 100, ExecutionType.FOREGROUND);
-
- assertEquals("getRequestId", fRequestCount++, request.getRequestId());
- assertEquals("getDataType", ITmfEvent.class, request.getDataType());
-
- assertEquals("getRange", range1, request.getRange());
- assertEquals("getNbRequestedEvents", 100, request.getNbRequested());
-
- assertFalse("isCompleted", request.isCompleted());
- assertFalse("isFailed", request.isFailed());
- assertFalse("isCancelled", request.isCancelled());
-
- assertEquals("getNbRead", 0, request.getNbRead());
- }
-
- // ------------------------------------------------------------------------
- // equals
- // ------------------------------------------------------------------------
-
- @Test
- public void testEqualsReflexivity() {
- assertTrue("equals", fRequest1.equals(fRequest1));
- assertTrue("equals", fRequest2.equals(fRequest2));
-
- assertFalse("equals", fRequest1.equals(fRequest2));
- assertFalse("equals", fRequest2.equals(fRequest1));
- }
-
- @Test
- public void testEqualsSymmetry() {
- assertTrue("equals", fRequest1.equals(fRequest1b));
- assertTrue("equals", fRequest1b.equals(fRequest1));
-
- assertFalse("equals", fRequest1.equals(fRequest3));
- assertFalse("equals", fRequest2.equals(fRequest3));
- assertFalse("equals", fRequest3.equals(fRequest1));
- assertFalse("equals", fRequest3.equals(fRequest2));
- }
-
- @Test
- public void testEqualsTransivity() {
- assertTrue("equals", fRequest1.equals(fRequest1b));
- assertTrue("equals", fRequest1b.equals(fRequest1c));
- assertTrue("equals", fRequest1.equals(fRequest1c));
- }
-
- @Test
- public void testEqualsNull() {
- assertFalse("equals", fRequest1.equals(null));
- assertFalse("equals", fRequest2.equals(null));
- }
-
- // ------------------------------------------------------------------------
- // hashCode
- // ------------------------------------------------------------------------
-
- @Test
- public void testHashCode() {
- assertTrue("hashCode", fRequest1.hashCode() == fRequest1.hashCode());
- assertTrue("hashCode", fRequest2.hashCode() == fRequest2.hashCode());
- assertTrue("hashCode", fRequest1.hashCode() != fRequest2.hashCode());
- }
-
- // ------------------------------------------------------------------------
- // toString
- // ------------------------------------------------------------------------
-
- @Test
- public void testToString() {
- String expected1 = "[TmfCoalescedEventRequest(0,ITmfEvent,FOREGROUND," + range1 + ",0,100, [])]";
- String expected2 = "[TmfCoalescedEventRequest(1,ITmfEvent,FOREGROUND," + range2 + ",0,100, [])]";
- String expected3 = "[TmfCoalescedEventRequest(2,ITmfEvent,FOREGROUND," + range2 + ",0,200, [])]";
- String expected4 = "[TmfCoalescedEventRequest(3,ITmfEvent,FOREGROUND," + range2 + ",0,200, [])]";
-
- assertEquals("toString", expected1, fRequest1.toString());
- assertEquals("toString", expected2, fRequest2.toString());
- assertEquals("toString", expected3, fRequest3.toString());
- assertEquals("toString", expected4, fRequest4.toString());
- }
-
- // ------------------------------------------------------------------------
- // isCompatible
- // ------------------------------------------------------------------------
-
- @Test
- public void testIsCompatible() {
- TmfCoalescedEventRequest coalescedRequest = new TmfCoalescedEventRequest(ITmfEvent.class, range1, 0, 100, ExecutionType.FOREGROUND);
- TmfEventRequest req1 = new TmfEventRequestStub(ITmfEvent.class, range1, 100, 200);
- TmfEventRequest req2 = new TmfEventRequestStub(ITmfEvent.class, range2, 100, 200);
- TmfEventRequest req3 = new TmfEventRequestStub(ITmfEvent.class, range1, 101, 200);
-
- assertTrue("isCompatible", coalescedRequest.isCompatible(req1));
- assertTrue("isCompatible", coalescedRequest.isCompatible(req2));
- assertTrue("isCompatible", coalescedRequest.isCompatible(req3));
- }
-
- // ------------------------------------------------------------------------
- // addEvent
- // ------------------------------------------------------------------------
-
- @Test
- public void testAddEvent1() {
- TmfCoalescedEventRequest coalescedRequest = new TmfCoalescedEventRequest(ITmfEvent.class, range1, 0, 2147483647, ExecutionType.FOREGROUND);
- TmfEventRequest req1 = new TmfEventRequestStub(ITmfEvent.class, range1, 0, 2147483647, 200);
- TmfEventRequest req2 = new TmfEventRequestStub(ITmfEvent.class, range1, 1, 2147483647, 200);
-
- assertTrue("isCompatible", coalescedRequest.isCompatible(req1));
- assertTrue("isCompatible", coalescedRequest.isCompatible(req2));
-
- coalescedRequest.addRequest(req1);
- coalescedRequest.addRequest(req2);
-
- assertEquals("addRequest", 0, coalescedRequest.getIndex());
- assertEquals("addRequest", 2147483647, coalescedRequest.getNbRequested());
- }
-
- @Test
- public void testAddEvent2() {
- TmfCoalescedEventRequest coalescedRequest = new TmfCoalescedEventRequest(ITmfEvent.class, range1, 1, 2147483647, ExecutionType.FOREGROUND);
- TmfEventRequest req1 = new TmfEventRequestStub(ITmfEvent.class, range1, 1, 2147483647, 200);
- TmfEventRequest req2 = new TmfEventRequestStub(ITmfEvent.class, range1, 0, 2147483647, 200);
-
- assertTrue("isCompatible", coalescedRequest.isCompatible(req1));
- assertTrue("isCompatible", coalescedRequest.isCompatible(req2));
-
- coalescedRequest.addRequest(req1);
- coalescedRequest.addRequest(req2);
-
- assertEquals("addRequest", 0, coalescedRequest.getIndex());
- assertEquals("addRequest", 2147483647, coalescedRequest.getNbRequested());
- }
-
- // ------------------------------------------------------------------------
- // done
- // ------------------------------------------------------------------------
-
- @Test
- public void testDone() {
- // Test request
- final boolean[] crFlags = new boolean[4];
- TmfCoalescedEventRequest request = setupTestRequest(crFlags);
- TmfEventRequest subRequest1 = new TmfEventRequestStub(ITmfEvent.class, range1, 100, 200);
- TmfEventRequest subRequest2 = new TmfEventRequestStub(ITmfEvent.class, range1, 100, 200);
- request.addRequest(subRequest1);
- request.addRequest(subRequest2);
-
- request.done();
-
- // Validate the coalescing request
- assertTrue("isCompleted", request.isCompleted());
- assertFalse("isFailed", request.isFailed());
- assertFalse("isCancelled", request.isCancelled());
-
- assertTrue("handleCompleted", crFlags[0]);
- assertTrue("handleSuccess", crFlags[1]);
- assertFalse("handleFailure", crFlags[2]);
- assertFalse("handleCancel", crFlags[3]);
-
- // Validate the first coalesced request
- assertTrue("isCompleted", subRequest1.isCompleted());
- assertFalse("isFailed", subRequest1.isFailed());
- assertFalse("isCancelled", subRequest1.isCancelled());
-
- // Validate the second coalesced request
- assertTrue("isCompleted", subRequest2.isCompleted());
- assertFalse("isFailed", subRequest2.isFailed());
- assertFalse("isCancelled", subRequest2.isCancelled());
- }
-
- // ------------------------------------------------------------------------
- // fail
- // ------------------------------------------------------------------------
-
- @Test
- public void testFail() {
- final boolean[] crFlags = new boolean[4];
- TmfCoalescedEventRequest request = setupTestRequest(crFlags);
- TmfEventRequest subRequest1 = new TmfEventRequestStub(ITmfEvent.class, range1, 100, 200);
- TmfEventRequest subRequest2 = new TmfEventRequestStub(ITmfEvent.class, range1, 100, 200);
- request.addRequest(subRequest1);
- request.addRequest(subRequest2);
-
- request.fail();
-
- // Validate the coalescing request
- assertTrue("isCompleted", request.isCompleted());
- assertTrue("isFailed", request.isFailed());
- assertFalse("isCancelled", request.isCancelled());
-
- assertTrue("handleCompleted", crFlags[0]);
- assertFalse("handleSuccess", crFlags[1]);
- assertTrue("handleFailure", crFlags[2]);
- assertFalse("handleCancel", crFlags[3]);
-
- // Validate the first coalesced request
- assertTrue("isCompleted", subRequest1.isCompleted());
- assertTrue("isFailed", subRequest1.isFailed());
- assertFalse("isCancelled", subRequest1.isCancelled());
-
- // Validate the second coalesced request
- assertTrue("isCompleted", subRequest2.isCompleted());
- assertTrue("isFailed", subRequest2.isFailed());
- assertFalse("isCancelled", subRequest2.isCancelled());
- }
-
- // ------------------------------------------------------------------------
- // cancel
- // ------------------------------------------------------------------------
-
- @Test
- public void testCancel() {
- final boolean[] crFlags = new boolean[4];
- TmfCoalescedEventRequest request = setupTestRequest(crFlags);
- TmfEventRequest subRequest1 = new TmfEventRequestStub(ITmfEvent.class, range1, 100, 200);
- TmfEventRequest subRequest2 = new TmfEventRequestStub(ITmfEvent.class, range1, 100, 200);
- request.addRequest(subRequest1);
- request.addRequest(subRequest2);
-
- request.cancel();
-
- // Validate the coalescing request
- assertTrue("isCompleted", request.isCompleted());
- assertFalse("isFailed", request.isFailed());
- assertTrue("isCancelled", request.isCancelled());
-
- assertTrue("handleCompleted", crFlags[0]);
- assertFalse("handleSuccess", crFlags[1]);
- assertFalse("handleFailure", crFlags[2]);
- assertTrue("handleCancel", crFlags[3]);
-
- // Validate the first coalesced request
- assertTrue("isCompleted", subRequest1.isCompleted());
- assertFalse("isFailed", subRequest1.isFailed());
- assertTrue("isCancelled", subRequest1.isCancelled());
-
- // Validate the second coalesced request
- assertTrue("isCompleted", subRequest2.isCompleted());
- assertFalse("isFailed", subRequest2.isFailed());
- assertTrue("isCancelled", subRequest2.isCancelled());
- }
-
- // ------------------------------------------------------------------------
- // Coalescing
- // ------------------------------------------------------------------------
-
- private static final TmfTestTrace TEST_TRACE = TmfTestTrace.A_TEST_10K;
- private static final int NB_EVENTS = 5000;
-
- // Initialize the test trace
- private TmfTraceStub fTrace = null;
-
- private synchronized TmfTraceStub setupTrace(String path) {
- if (fTrace == null) {
- try {
- URL location = FileLocator.find(TmfCoreTestPlugin.getDefault().getBundle(), new Path(path), null);
- File test = new File(FileLocator.toFileURL(location).toURI());
- fTrace = new TmfTraceStub(test.getPath(), 500, false, null);
- } catch (TmfTraceException e) {
- e.printStackTrace();
- } catch (URISyntaxException e) {
- e.printStackTrace();
- } catch (IOException e) {
- e.printStackTrace();
- }
- }
- return fTrace;
- }
-
- Vector<ITmfEvent> requestedEvents1;
- Vector<ITmfEvent> requestedEvents2;
- Vector<ITmfEvent> requestedEvents3;
-
- TmfEventRequest request1;
- TmfEventRequest request2;
- TmfEventRequest request3;
-
- ITmfEventProvider[] providers;
-
- private static class TmfTestTriggerSignal extends TmfSignal {
- public final boolean forceCancel;
- public final long fIndex;
-
- public TmfTestTriggerSignal(Object source, long index, boolean cancel) {
- super(source);
- forceCancel = cancel;
- fIndex = index;
- }
- }
-
- private static class TmfTestTriggerSignal2 extends TmfSignal {
- public TmfTestTriggerSignal2(Object source) {
- super(source);
- }
- }
-
- @TmfSignalHandler
- public void trigger(final TmfTestTriggerSignal signal) {
-
- TmfTimeRange range = new TmfTimeRange(TmfTimestamp.BIG_BANG, TmfTimestamp.BIG_CRUNCH);
- final long REQUEST_OFFSET = 1000;
-
- requestedEvents1 = new Vector<>();
- request1 = new TmfEventRequest(ITmfEvent.class, range, signal.fIndex,
- NB_EVENTS, ExecutionType.FOREGROUND) {
- @Override
- public void handleData(ITmfEvent event) {
- super.handleData(event);
- if (!isCompleted()) {
- requestedEvents1.add(event);
- if (signal.forceCancel) {
- cancel();
- }
- }
- }
- };
-
- requestedEvents2 = new Vector<>();
- request2 = new TmfEventRequest(ITmfEvent.class, range,
- signal.fIndex + REQUEST_OFFSET, NB_EVENTS, ExecutionType.FOREGROUND) {
- @Override
- public void handleData(ITmfEvent event) {
- super.handleData(event);
- if (!isCompleted()) {
- requestedEvents2.add(event);
- }
- }
- };
-
- requestedEvents3 = new Vector<>();
- request3 = new TmfEventRequest(ITmfEvent.class, range,
- signal.fIndex + 2 * REQUEST_OFFSET, NB_EVENTS, ExecutionType.FOREGROUND) {
- @Override
- public void handleData(ITmfEvent event) {
- super.handleData(event);
- if (!isCompleted()) {
- requestedEvents3.add(event);
- }
- }
- };
-
- providers = TmfProviderManager.getProviders(ITmfEvent.class, TmfTraceStub.class);
- providers[0].sendRequest(request1);
- providers[0].sendRequest(request2);
- providers[0].sendRequest(request3);
- }
-
- /**
- * @param signal
- * the trigger signal
- */
- @TmfSignalHandler
- public void trigger(final TmfTestTriggerSignal2 signal) {
- TmfTimeRange range = new TmfTimeRange(new TmfTimestamp(100, -3), TmfTimestamp.BIG_CRUNCH);
- requestedEvents1 = new Vector<>();
- request1 = new TmfEventRequest(ITmfEvent.class, range, 0, 1, ExecutionType.FOREGROUND) {
- @Override
- public void handleData(ITmfEvent event) {
- super.handleData(event);
- if (!isCompleted()) {
- requestedEvents1.add(event);
- }
- }
- };
- providers = TmfProviderManager.getProviders(ITmfEvent.class, TmfTraceStub.class);
- providers[0].sendRequest(request1);
- }
-
- public void runCoalescedRequest(long startIndex) throws InterruptedException {
-
- fTrace = setupTrace(TEST_TRACE.getFullPath());
-
- TmfSignalManager.register(this);
- TmfTestTriggerSignal signal = new TmfTestTriggerSignal(this, startIndex, false);
- TmfSignalManager.dispatchSignal(signal);
-
- request1.waitForCompletion();
- request2.waitForCompletion();
- request3.waitForCompletion();
-
- try {
- assertEquals("Request1: nbEvents", NB_EVENTS, requestedEvents1.size());
- assertTrue("Request1: isCompleted", request1.isCompleted());
- assertFalse("Request1: isCancelled", request1.isCancelled());
-
- assertEquals("Request2: nbEvents", NB_EVENTS, requestedEvents2.size());
- assertTrue("Request2: isCompleted", request2.isCompleted());
- assertFalse("Request2: isCancelled", request2.isCancelled());
-
- assertEquals("Request3: nbEvents", NB_EVENTS, requestedEvents3.size());
- assertTrue("Request3: isCompleted", request3.isCompleted());
- assertFalse("Request3: isCancelled", request3.isCancelled());
-
- // Ensure that we have distinct events.
- // Don't go overboard: we are not validating the stub!
- for (int i = 0; i < NB_EVENTS; i++) {
- assertEquals("Distinct events", i + 1 + request1.getIndex(), requestedEvents1.get(i).getTimestamp().getValue());
- assertEquals("Distinct events", i + 1 + request2.getIndex(), requestedEvents2.get(i).getTimestamp().getValue());
- assertEquals("Distinct events", i + 1 + request3.getIndex(), requestedEvents3.get(i).getTimestamp().getValue());
- }
- } finally {
- TmfSignalManager.deregister(this);
- fTrace.dispose();
- fTrace = null;
- }
- }
-
- @Test
- public void testCoalescedRequest() throws InterruptedException {
- runCoalescedRequest(0);
- runCoalescedRequest(1);
- runCoalescedRequest(5);
- }
-
- @Test
- public void testCancelCoalescedRequest() throws InterruptedException {
-
- fTrace = setupTrace(TEST_TRACE.getFullPath());
-
- TmfSignalManager.register(this);
- TmfTestTriggerSignal signal = new TmfTestTriggerSignal(this, 0, true);
- TmfSignalManager.dispatchSignal(signal);
-
- request1.waitForCompletion();
- request2.waitForCompletion();
- request3.waitForCompletion();
-
- assertTrue("Request1: isCompleted", request1.isCompleted());
- assertTrue("Request1: isCancelled", request1.isCancelled());
-
- assertEquals("Request2: nbEvents", NB_EVENTS, requestedEvents2.size());
- assertTrue("Request2: isCompleted", request2.isCompleted());
- assertFalse("Request2: isCancelled", request2.isCancelled());
-
- assertEquals("Request3: nbEvents", NB_EVENTS, requestedEvents3.size());
- assertTrue("Request3: isCompleted", request3.isCompleted());
- assertFalse("Request3: isCancelled", request3.isCancelled());
-
- // Ensure that we have distinct events.
- // Don't go overboard: we are not validating the stub!
- for (int i = 0; i < NB_EVENTS; i++) {
- assertEquals("Distinct events", i + 1 + request2.getIndex(), requestedEvents2.get(i).getTimestamp().getValue());
- assertEquals("Distinct events", i + 1 + request3.getIndex(), requestedEvents3.get(i).getTimestamp().getValue());
- }
-
- TmfSignalManager.deregister(this);
- fTrace.dispose();
- fTrace = null;
- }
-
- @Test
- public void testSingleTimeRequest() throws InterruptedException {
-
- fTrace = setupTrace(TEST_TRACE.getFullPath());
-
- TmfSignalManager.register(this);
- TmfTestTriggerSignal2 signal = new TmfTestTriggerSignal2(this);
- TmfSignalManager.dispatchSignal(signal);
-
- request1.waitForCompletion();
-
- assertTrue("Request1: isCompleted", request1.isCompleted());
-
- // We have to have one event processed
- assertEquals("Request1: nbEvents", 1, requestedEvents1.size());
-
- TmfSignalManager.deregister(this);
- fTrace.dispose();
- fTrace = null;
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/request/TmfEventRequestTest.java b/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/request/TmfEventRequestTest.java
deleted file mode 100644
index 04c78ccc1f..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/request/TmfEventRequestTest.java
+++ /dev/null
@@ -1,313 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009, 2013 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
- * Alexandre Montplaisir - Port to JUnit4
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.core.tests.request;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertSame;
-import static org.junit.Assert.assertTrue;
-
-import org.eclipse.linuxtools.tmf.core.event.ITmfEvent;
-import org.eclipse.linuxtools.tmf.core.request.ITmfEventRequest;
-import org.eclipse.linuxtools.tmf.core.request.TmfEventRequest;
-import org.eclipse.linuxtools.tmf.core.timestamp.TmfTimeRange;
-import org.eclipse.linuxtools.tmf.core.timestamp.TmfTimestamp;
-import org.eclipse.linuxtools.tmf.tests.stubs.request.TmfEventRequestStub;
-import org.junit.Before;
-import org.junit.Test;
-
-/**
- * Test suite for the TmfEventRequest class.
- */
-@SuppressWarnings("javadoc")
-public class TmfEventRequestTest {
-
- // ------------------------------------------------------------------------
- // Variables
- // ------------------------------------------------------------------------
-
- private static TmfTimeRange range1 = new TmfTimeRange(TmfTimeRange.ETERNITY);
- private static TmfTimeRange range2 = new TmfTimeRange(new TmfTimestamp(), TmfTimestamp.BIG_CRUNCH);
-
- private static TmfEventRequest fRequest1;
- private static TmfEventRequest fRequest1b;
- private static TmfEventRequest fRequest1c;
- private static TmfEventRequest fRequest2;
- private static TmfEventRequest fRequest3;
- private static TmfEventRequest fRequest4;
-
- private static int fRequestCount;
-
- // ------------------------------------------------------------------------
- // Housekeeping
- // ------------------------------------------------------------------------
-
- @Before
- public void setUp() {
- TmfEventRequest.reset();
- fRequest1 = new TmfEventRequestStub(ITmfEvent.class, range1, 100, 200);
- fRequest2 = new TmfEventRequestStub(ITmfEvent.class, range2, 100, 200);
- fRequest3 = new TmfEventRequestStub(ITmfEvent.class, range2, 200, 200);
- fRequest4 = new TmfEventRequestStub(ITmfEvent.class, range2, 200, 300);
- fRequest1b = new TmfEventRequestStub(ITmfEvent.class, range1, 100, 200);
- fRequest1c = new TmfEventRequestStub(ITmfEvent.class, range1, 100, 200);
- fRequestCount = fRequest1c.getRequestId() + 1;
- }
-
- private static TmfEventRequest setupTestRequest(final boolean[] flags) {
-
- TmfEventRequest request = new TmfEventRequestStub(ITmfEvent.class, new TmfTimeRange(TmfTimeRange.ETERNITY), 100, 200) {
- @Override
- public void handleCompleted() {
- super.handleCompleted();
- flags[0] = true;
- }
-
- @Override
- public void handleSuccess() {
- super.handleSuccess();
- flags[1] = true;
- }
-
- @Override
- public void handleFailure() {
- super.handleFailure();
- flags[2] = true;
- }
-
- @Override
- public void handleCancel() {
- super.handleCancel();
- flags[3] = true;
- }
- };
- return request;
- }
-
- // ------------------------------------------------------------------------
- // Constructors
- // ------------------------------------------------------------------------
-
- @Test
- public void testTmfEventRequest() {
- TmfEventRequest request = new TmfEventRequestStub(ITmfEvent.class);
-
- assertEquals("getRequestId", fRequestCount++, request.getRequestId());
- assertEquals("getDataType", ITmfEvent.class, request.getDataType());
-
- assertEquals("StartTime", TmfTimestamp.BIG_BANG, request.getRange().getStartTime());
- assertEquals("EndTime", TmfTimestamp.BIG_CRUNCH, request.getRange().getEndTime());
-
- assertEquals("getRange", TmfTimeRange.ETERNITY, request.getRange());
- assertSame("getRange", TmfTimeRange.ETERNITY, request.getRange());
-
- assertEquals("getIndex", 0, request.getIndex());
- assertEquals("getNbRequestedEvents", ITmfEventRequest.ALL_DATA, request.getNbRequested());
-
- assertFalse("isCompleted", request.isCompleted());
- assertFalse("isFailed", request.isFailed());
- assertFalse("isCancelled", request.isCancelled());
-
- assertEquals("getNbRead", 0, request.getNbRead());
- }
-
- @Test
- public void testTmfEventRequestTimeRange() {
- TmfTimeRange range = new TmfTimeRange(new TmfTimestamp(), TmfTimestamp.BIG_CRUNCH);
- TmfEventRequest request = new TmfEventRequestStub(ITmfEvent.class, range);
-
- assertEquals("getRequestId", fRequestCount++, request.getRequestId());
- assertEquals("getDataType", ITmfEvent.class, request.getDataType());
-
- assertEquals("StartTime", new TmfTimestamp(), request.getRange().getStartTime());
- assertEquals("EndTime", TmfTimestamp.BIG_CRUNCH, request.getRange().getEndTime());
-
- assertEquals("getIndex", 0, request.getIndex());
- assertEquals("getNbRequestedEvents", ITmfEventRequest.ALL_DATA, request.getNbRequested());
-
- assertFalse("isCompleted", request.isCompleted());
- assertFalse("isFailed", request.isFailed());
- assertFalse("isCancelled", request.isCancelled());
-
- assertEquals("getNbRead", 0, request.getNbRead());
- }
-
- @Test
- public void testTmfEventRequestTimeRangeNbRequested() {
- TmfTimeRange range = new TmfTimeRange(new TmfTimestamp(), TmfTimestamp.BIG_CRUNCH);
- TmfEventRequest request = new TmfEventRequestStub(ITmfEvent.class, range, 100);
-
- assertEquals("getRequestId", fRequestCount++, request.getRequestId());
- assertEquals("getDataType", ITmfEvent.class, request.getDataType());
-
- assertEquals("StartTime", new TmfTimestamp(), request.getRange().getStartTime());
- assertEquals("EndTime", TmfTimestamp.BIG_CRUNCH, request.getRange().getEndTime());
-
- assertEquals("getIndex", 0, request.getIndex());
- assertEquals("getNbRequestedEvents", 100, request.getNbRequested());
-
- assertFalse("isCompleted", request.isCompleted());
- assertFalse("isFailed", request.isFailed());
- assertFalse("isCancelled", request.isCancelled());
-
- assertEquals("getNbRead", 0, request.getNbRead());
- }
-
- @Test
- public void testTmfEventRequestTimeRangeNbRequestedBlocksize() {
- TmfTimeRange range = new TmfTimeRange(new TmfTimestamp(), TmfTimestamp.BIG_CRUNCH);
- TmfEventRequest request = new TmfEventRequestStub(ITmfEvent.class, range, 100, 200);
-
- assertEquals("getRequestId", fRequestCount++, request.getRequestId());
- assertEquals("getDataType", ITmfEvent.class, request.getDataType());
-
- assertEquals("StartTime", new TmfTimestamp(), request.getRange().getStartTime());
- assertEquals("EndTime", TmfTimestamp.BIG_CRUNCH, request.getRange().getEndTime());
-
- assertEquals("getIndex", 0, request.getIndex());
- assertEquals("getNbRequestedEvents", 100, request.getNbRequested());
-
- assertFalse("isCompleted", request.isCompleted());
- assertFalse("isFailed", request.isFailed());
- assertFalse("isCancelled", request.isCancelled());
-
- assertEquals("getNbRead", 0, request.getNbRead());
- }
-
- // ------------------------------------------------------------------------
- // equals
- // ------------------------------------------------------------------------
-
- @Test
- public void testEqualsReflexivity() {
- assertTrue("equals", fRequest1.equals(fRequest1));
- assertTrue("equals", fRequest2.equals(fRequest2));
-
- assertFalse("equals", fRequest1.equals(fRequest2));
- assertFalse("equals", fRequest2.equals(fRequest1));
- }
-
- @Test
- public void testEqualsSymmetry() {
- assertTrue("equals", fRequest1.equals(fRequest1b));
- assertTrue("equals", fRequest1b.equals(fRequest1));
-
- assertFalse("equals", fRequest1.equals(fRequest3));
- assertFalse("equals", fRequest2.equals(fRequest3));
- assertFalse("equals", fRequest3.equals(fRequest1));
- assertFalse("equals", fRequest3.equals(fRequest2));
- }
-
- @Test
- public void testEqualsTransivity() {
- assertTrue("equals", fRequest1.equals(fRequest1b));
- assertTrue("equals", fRequest1b.equals(fRequest1c));
- assertTrue("equals", fRequest1.equals(fRequest1c));
- }
-
- @Test
- public void testEqualsNull() {
- assertFalse("equals", fRequest1.equals(null));
- assertFalse("equals", fRequest2.equals(null));
- }
-
- // ------------------------------------------------------------------------
- // hashCode
- // ------------------------------------------------------------------------
-
- @Test
- public void testHashCode() {
- assertTrue("hashCode", fRequest1.hashCode() == fRequest1.hashCode());
- assertTrue("hashCode", fRequest2.hashCode() == fRequest2.hashCode());
- assertTrue("hashCode", fRequest1.hashCode() != fRequest2.hashCode());
- }
-
- // ------------------------------------------------------------------------
- // toString
- // ------------------------------------------------------------------------
-
- @Test
- public void testToString() {
- String expected1 = "[TmfEventRequestStub(0,ITmfEvent,FOREGROUND," + range1 + ",0,100)]";
- String expected2 = "[TmfEventRequestStub(1,ITmfEvent,FOREGROUND," + range2 + ",0,100)]";
- String expected3 = "[TmfEventRequestStub(2,ITmfEvent,FOREGROUND," + range2 + ",0,200)]";
- String expected4 = "[TmfEventRequestStub(3,ITmfEvent,FOREGROUND," + range2 + ",0,200)]";
-
- assertEquals("toString", expected1, fRequest1.toString());
- assertEquals("toString", expected2, fRequest2.toString());
- assertEquals("toString", expected3, fRequest3.toString());
- assertEquals("toString", expected4, fRequest4.toString());
- }
-
- // ------------------------------------------------------------------------
- // done
- // ------------------------------------------------------------------------
-
- @Test
- public void testDone() {
- final boolean[] flags = new boolean[4];
- TmfEventRequest request = setupTestRequest(flags);
- request.done();
-
- assertTrue("isCompleted", request.isCompleted());
- assertFalse("isFailed", request.isFailed());
- assertFalse("isCancelled", request.isCancelled());
-
- assertTrue("handleCompleted", flags[0]);
- assertTrue("handleSuccess", flags[1]);
- assertFalse("handleFailure", flags[2]);
- assertFalse("handleCancel", flags[3]);
- }
-
- // ------------------------------------------------------------------------
- // fail
- // ------------------------------------------------------------------------
-
- @Test
- public void testFail() {
- final boolean[] flags = new boolean[4];
- TmfEventRequest request = setupTestRequest(flags);
- request.fail();
-
- assertTrue("isCompleted", request.isCompleted());
- assertTrue("isFailed", request.isFailed());
- assertFalse("isCancelled", request.isCancelled());
-
- assertTrue("handleCompleted", flags[0]);
- assertFalse("handleSuccess", flags[1]);
- assertTrue("handleFailure", flags[2]);
- assertFalse("handleCancel", flags[3]);
- }
-
- // ------------------------------------------------------------------------
- // cancel
- // ------------------------------------------------------------------------
-
- @Test
- public void testCancel() {
- final boolean[] flags = new boolean[4];
- TmfEventRequest request = setupTestRequest(flags);
- request.cancel();
-
- assertTrue("isCompleted", request.isCompleted());
- assertFalse("isFailed", request.isFailed());
- assertTrue("isCancelled", request.isCancelled());
-
- assertTrue("handleCompleted", flags[0]);
- assertFalse("handleSuccess", flags[1]);
- assertFalse("handleFailure", flags[2]);
- assertTrue("handleCancel", flags[3]);
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/signal/AllTests.java b/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/signal/AllTests.java
deleted file mode 100644
index 804e4abd89..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/signal/AllTests.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013, 2014 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:
- * Alexandre Montplaisir - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.core.tests.signal;
-
-import org.junit.runner.RunWith;
-import org.junit.runners.Suite;
-
-/**
- * Signal tests
- */
-@RunWith(Suite.class)
-@Suite.SuiteClasses({
- TmfSignalManagerTest.class,
- TmfSignalThrottlerTest.class
-})
-public class AllTests {
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/signal/TmfSignalManagerTest.java b/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/signal/TmfSignalManagerTest.java
deleted file mode 100644
index 2dfb57dbd8..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/signal/TmfSignalManagerTest.java
+++ /dev/null
@@ -1,558 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 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:
- * Bernd Hufmann - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.core.tests.signal;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.fail;
-
-import java.util.ArrayList;
-import java.util.List;
-import java.util.concurrent.CountDownLatch;
-
-import org.eclipse.linuxtools.tmf.core.component.TmfComponent;
-import org.eclipse.linuxtools.tmf.core.signal.TmfEndSynchSignal;
-import org.eclipse.linuxtools.tmf.core.signal.TmfSignal;
-import org.eclipse.linuxtools.tmf.core.signal.TmfSignalHandler;
-import org.eclipse.linuxtools.tmf.core.signal.TmfSignalManager;
-import org.eclipse.linuxtools.tmf.core.signal.TmfStartSynchSignal;
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Test;
-
-/**
- * Test suite for {@link TmfSignalManager}
- *
- * @author Bernd Hufmann
- */
-public class TmfSignalManagerTest {
-
- private TestSignalSender signalSender;
-
- /**
- * Pre-test setup
- */
- @Before
- public void setUp() {
- signalSender = new TestSignalSender();
- }
-
- /**
- * After-test cleanup
- */
- @After
- public void tearDown() {
- signalSender.dispose();
- }
-
- // ------------------------------------------------------------------------
- // Test cases
- // ------------------------------------------------------------------------
-
- /**
- * Test send and receive including synch signals.
- */
- @Test
- public void testSendReceive() {
- final int NB_HANDLERS = 10;
- TestSignalHandler[] signalReceivers = new TestSignalHandler[NB_HANDLERS];
- for (int i = 0; i < NB_HANDLERS; i++) {
- signalReceivers[i] = new TestSignalHandler();
- }
- final TestSignal1 firstSignal = new TestSignal1(signalSender);
- final TestSignal2 secondSignal = new TestSignal2(signalSender);
-
- final Class<?>[] expectedOrder = new Class[] {
- TmfStartSynchSignal.class, TestSignal1.class, TmfEndSynchSignal.class,
- TmfStartSynchSignal.class, TestSignal2.class, TmfEndSynchSignal.class };
-
- try {
- signalSender.sendSignal(firstSignal);
- signalSender.sendSignal(secondSignal);
-
- for (int i = 0; i < NB_HANDLERS; i++) {
- assertEquals(expectedOrder.length, signalReceivers[i].receivedSignals.size());
-
- for (int k = 0; k < expectedOrder.length; k++) {
- assertEquals(signalReceivers[i].receivedSignals.get(k).getClass(), expectedOrder[k]);
- }
-
- for (int k = 0; k < expectedOrder.length; k += 3) {
- // Verify signal IDs
- int startSyncId = signalReceivers[i].receivedSignals.get(k).getReference();
- int signalId = signalReceivers[i].receivedSignals.get(k + 1).getReference();
- int endSyncId = signalReceivers[i].receivedSignals.get(k + 2).getReference();
-
- assertEquals(startSyncId, signalId);
- assertEquals(startSyncId, endSyncId);
- }
- }
- } finally {
- // Make sure that handlers are disposed in any case (success or not success)
- for (int i = 0; i < NB_HANDLERS; i++) {
- signalReceivers[i].dispose();
- }
- }
- }
-
- /**
- * Test nesting signals. Verify that they are handled in the same thread.
- */
- @Test
- public void testNestedSignals() {
- TestSignalHandlerNested signalResender = new TestSignalHandlerNested();
- TestSignalHandler signalReceiver = new TestSignalHandler();
-
- final TestSignal1 mainSignal = new TestSignal1(signalSender);
-
- final Class<?>[] expectedOrder = new Class[] {
- TmfStartSynchSignal.class,
- TmfStartSynchSignal.class,
- TestSignal2.class,
- TmfEndSynchSignal.class,
- TmfStartSynchSignal.class,
- TmfStartSynchSignal.class,
- TestSignal4.class,
- TmfEndSynchSignal.class,
- TestSignal3.class,
- TmfEndSynchSignal.class,
- TestSignal1.class,
- TmfEndSynchSignal.class
- };
-
- /*
- * Index of signals in array signalReceiver.receivedSignals which have
- * to have the same signal ID.
- */
-
- final int[] sameSigNoIndex = new int[] {
- 0, 10, 11, 1, 2, 3, 4, 8, 9, 5, 6, 7
- };
-
- try {
- signalSender.sendSignal(mainSignal);
-
- assertEquals(expectedOrder.length, signalReceiver.receivedSignals.size());
-
- for (int i = 0; i < expectedOrder.length; i++) {
- assertEquals(signalReceiver.receivedSignals.get(i).getClass(), expectedOrder[i]);
- }
-
- for (int i = 0; i < sameSigNoIndex.length; i+=3) {
- // Verify signal IDs
- int startSyncId = signalReceiver.receivedSignals.get(sameSigNoIndex[i]).getReference();
- int signalId = signalReceiver.receivedSignals.get(sameSigNoIndex[i + 1]).getReference();
- int endSyncId = signalReceiver.receivedSignals.get(sameSigNoIndex[i + 2]).getReference();
- assertEquals(startSyncId, signalId);
- assertEquals(startSyncId, endSyncId);
- }
- } finally {
- // Make sure that handlers are disposed in any case (success or not success)
- signalResender.dispose();
- signalReceiver.dispose();
- }
- }
-
- /**
- * Test concurrent signals. Verify that they are handled one after each
- * other.
- */
- @Test
- public void testConcurrentSignals() {
-
- TestSignalHandlerNested signalResender = new TestSignalHandlerNested();
- TestSignalHandler signalReceiver = new TestSignalHandler(false, null);
-
- /*
- * Test of synchronization of signal manager.
- *
- * The order of received signals is either set of signals triggered by
- * thread1 before set of signals triggered by thread2 or the other way
- * around.
- *
- * If both received sets were interleaved then the synchronization of
- * the signal manager would be not working.
- */
-
- final Class<?>[] expectedOrder1 = new Class[] {
- TestSignal2.class, TestSignal4.class, TestSignal3.class, TestSignal1.class, // signals triggered by thread 1
- TestSignal4.class // signal triggered by thread2
- };
-
- final Class<?>[] expectedOrder2 = new Class[] {
- TestSignal4.class, // signal triggered by thread2
- TestSignal2.class, TestSignal4.class, TestSignal3.class, TestSignal1.class // signals triggered by thread 1
- };
-
- /*
- * Run it multiple times so that both expected order are triggered
- */
- try {
- for (int k = 0; k < 10; k++) {
- // Latch to ensure that both threads are started
- final CountDownLatch startLatch = new CountDownLatch(2);
- // Latch to ensure that signals are send roughly at the same time
- final CountDownLatch sendLatch = new CountDownLatch(1);
- // Latch to ensure that both treads are finished
- final CountDownLatch endLatch = new CountDownLatch(2);
-
- signalReceiver.receivedSignals.clear();
-
- Thread senderThread1 = new Thread() {
- @Override
- public void run() {
- startLatch.countDown();
- try {
- sendLatch.await();
- } catch (InterruptedException e) {
- }
- signalSender.sendSignal(new TestSignal1(signalSender));
- endLatch.countDown();
- }
- };
-
- Thread senderThread2 = new Thread() {
- @Override
- public void run() {
- startLatch.countDown();
- try {
- sendLatch.await();
- } catch (InterruptedException e) {
- }
- signalSender.sendSignal(new TestSignal4(signalSender));
- endLatch.countDown();
- }
- };
-
- senderThread1.start();
- senderThread2.start();
- try {
- startLatch.await();
- } catch (InterruptedException e) {
- }
- sendLatch.countDown();
-
- try {
- endLatch.await();
- } catch (InterruptedException e) {
- }
-
- assertEquals(expectedOrder1.length, signalReceiver.receivedSignals.size());
- boolean pass = true;
- for (int i = 0; i < expectedOrder1.length; i++) {
- if (!signalReceiver.receivedSignals.get(i).getClass().equals(expectedOrder1[i])) {
- pass = false;
- break;
- }
- }
-
- if (!pass) {
- for (int i = 0; i < expectedOrder2.length; i++) {
- if (!signalReceiver.receivedSignals.get(i).getClass().equals(expectedOrder2[i])) {
- fail("Concurrent signal test failure!");
- }
- }
- }
- }
- } finally {
- // Make sure that handlers are disposed in any case (success or not success)
- signalResender.dispose();
- signalReceiver.dispose();
- }
- }
-
- /**
- * Test broadcastAsync()
- */
- @Test
- public void testBroadcastAsync() {
- TestSignalHandlerNested signalResender = new TestSignalHandlerNested(false);
-
- final int NB_HANDLERS = 10;
- final CountDownLatch latch = new CountDownLatch(NB_HANDLERS);
- TestSignalHandler[] signalReceivers = new TestSignalHandler[NB_HANDLERS];
- for (int i = 0; i < NB_HANDLERS; i++) {
- signalReceivers[i] = new TestSignalHandler(false, latch);
- }
-
- final Class<?>[] expectedOrder = new Class[] {
- TestSignal1.class, TestSignal2.class, TestSignal3.class, TestSignal4.class
- };
-
- try {
- final TestSignal1 mainSignal = new TestSignal1(signalSender);
- signalSender.sendSignal(mainSignal);
-
- try {
- latch.await();
- } catch (InterruptedException e) {
- }
-
- for (int i = 0; i < NB_HANDLERS; i++) {
- assertEquals(expectedOrder.length, signalReceivers[i].receivedSignals.size());
- for (int k = 0; k < expectedOrder.length; k++) {
- assertEquals(signalReceivers[i].receivedSignals.get(k).getClass(), expectedOrder[k]);
- }
- }
- } finally {
- // Make sure that handlers are disposed in any case (success or not success)
- for (int i = 0; i < NB_HANDLERS; i++) {
- signalReceivers[i].dispose();
- }
- signalResender.dispose();
- }
- }
-
- // ------------------------------------------------------------------------
- // Helper classes
- // ------------------------------------------------------------------------
-
- /**
- * Signal sender
- */
- private class TestSignalSender extends TmfComponent {
-
- TestSignalSender() {
- super("TestSignalSender");
- }
-
- /**
- * Send a signal
- *
- * @param signal
- * main signal to send
- */
- public void sendSignal(TmfSignal signal) {
- broadcast(signal);
- }
- }
-
- /**
- * Signal handler implementation for testing nested signals.
- * Needs to be public so TmfSignalManager can see it.
- */
- public class TestSignalHandlerNested extends AbstractBaseSignalHandler {
-
- private boolean sync;
-
- /**
- * Constructor
- */
- private TestSignalHandlerNested() {
- this(true);
- }
-
- /**
- * Constructor
- *
- * @param sync
- * log sync signals
- *
- */
- private TestSignalHandlerNested(boolean sync) {
- super("TestSignalHandlerNested", false);
- this.sync = sync;
- TmfSignalManager.deregister(this);
- TmfSignalManager.registerVIP(this);
- }
-
- /**
- * Receive a signal of type TestSignal1.
- *
- * @param signal
- * Signal received
- */
- @TmfSignalHandler
- public void receiveSignal1(final TestSignal1 signal) {
- if (sync) {
- broadcast(new TestSignal2(signal.getSource()));
- broadcast(new TestSignal3(signal.getSource()));
- } else {
- broadcastAsync(new TestSignal2(signal.getSource()));
- broadcastAsync(new TestSignal3(signal.getSource()));
- }
- }
-
- /**
- * Receive a signal of type TestSignal3.
- *
- * @param signal
- * Signal received
- */
- @TmfSignalHandler
- public void receiveSignal3(final TestSignal3 signal) {
- if (sync) {
- broadcast(new TestSignal4(signal.getSource()));
- } else {
- broadcastAsync(new TestSignal4(signal.getSource()));
- }
- }
- }
-
- /**
- * Signal handler implementation for testing of sending and receiving
- * signals.
- */
- public class TestSignalHandler extends AbstractBaseSignalHandler {
-
- private CountDownLatch latch;
-
- /**
- * Constructor
- *
- */
- private TestSignalHandler() {
- this(true, null);
- }
-
- /**
- * Constructor
- *
- * @param logSyncSigs
- * log sync signals
- * @param latch
- * latch to count down when receiving last signal
- * (TmfSingal4)
- */
- private TestSignalHandler(boolean logSyncSigs, CountDownLatch latch) {
- super("TestSignalHandler", logSyncSigs);
- this.latch = latch;
- }
-
- /**
- * Receive a signal of type TestSignal1.
- *
- * @param signal
- * Signal received
- */
- @TmfSignalHandler
- public void receiveSignal1(final TestSignal1 signal) {
- receivedSignals.add(signal);
- }
-
- /**
- * Receive a signal of type TestSignal2.
- *
- * @param signal
- * Signal received
- */
- @TmfSignalHandler
- public void receiveSignal2(final TestSignal2 signal) {
- receivedSignals.add(signal);
- }
-
- /**
- * Receive a signal of type TestSignal3.
- *
- * @param signal
- * Signal received
- */
- @TmfSignalHandler
- public void receiveSignal3(final TestSignal3 signal) {
- receivedSignals.add(signal);
- }
-
- /**
- * Receive a signal of type TestSignal4.
- *
- * @param signal
- * Signal received
- */
- @TmfSignalHandler
- public void receiveSignal4(final TestSignal4 signal) {
- receivedSignals.add(signal);
- if (latch != null) {
- latch.countDown();
- }
- }
- }
-
- /**
- * Base signal handler for start and end sync signals.
- */
- public abstract class AbstractBaseSignalHandler extends TmfComponent {
- List<TmfSignal> receivedSignals = new ArrayList<>();
- private boolean logSyncSigs;
-
- private AbstractBaseSignalHandler(String name, boolean logSyncSignal) {
- super(name);
- this.logSyncSigs = logSyncSignal;
- }
-
- /**
- * Receive a signal of type TmfStartSynchSignal.
- *
- * @param signal
- * Signal received
- */
- @TmfSignalHandler
- public void receiveStartSynch(final TmfStartSynchSignal signal) {
- if (logSyncSigs) {
- receivedSignals.add(signal);
- }
- }
-
- /**
- * Receive a signal of type TmfEndSynchSignal.
- *
- * @param signal
- * Signal received
- */
- @TmfSignalHandler
- public void receiveEndSynch(final TmfEndSynchSignal signal) {
- if (logSyncSigs) {
- receivedSignals.add(signal);
- }
- }
- }
-
-
- /**
- * Test Signal object
- */
- private class TestSignal1 extends TmfSignal {
-
- public TestSignal1(Object source) {
- super(source);
- }
- }
-
- /**
- * Test Signal object
- */
- private class TestSignal2 extends TmfSignal {
-
- public TestSignal2(Object source) {
- super(source);
- }
- }
-
- /**
- * Test Signal object
- */
- private class TestSignal3 extends TmfSignal {
-
- public TestSignal3(Object source) {
- super(source);
- }
- }
-
- /**
- * Test Signal object
- */
- private class TestSignal4 extends TmfSignal {
-
- public TestSignal4(Object source) {
- super(source);
- }
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/signal/TmfSignalThrottlerTest.java b/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/signal/TmfSignalThrottlerTest.java
deleted file mode 100644
index 4f153f04b9..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/signal/TmfSignalThrottlerTest.java
+++ /dev/null
@@ -1,224 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 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:
- * Alexandre Montplaisir - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.core.tests.signal;
-
-import static org.junit.Assert.assertEquals;
-
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.List;
-
-import org.eclipse.linuxtools.tmf.core.component.TmfComponent;
-import org.eclipse.linuxtools.tmf.core.signal.TmfSignal;
-import org.eclipse.linuxtools.tmf.core.signal.TmfSignalHandler;
-import org.eclipse.linuxtools.tmf.core.signal.TmfSignalThrottler;
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Test;
-
-/**
- * Test suite for {@link TmfSignalThrottler}
- *
- * @author Alexandre Montplaisir
- */
-public class TmfSignalThrottlerTest {
-
- private MySender sender;
- private MyListener listener;
-
- /**
- * Pre-test setup
- */
- @Before
- public void setUp() {
- sender = new MySender();
- listener = new MyListener();
- }
-
- /**
- * After-test cleanup
- */
- @After
- public void tearDown() {
- sender.dispose();
- listener.dispose();
- }
-
- // ------------------------------------------------------------------------
- // Test cases
- // ------------------------------------------------------------------------
-
- /**
- * Test using only one throttler. Only one signal should go through.
- */
- @Test
- public void testOneChannel() {
- final MySignal sig1 = new MySignal(sender, 0);
- final MySignal sig2 = new MySignal(sender, 0);
- final MySignal sig3 = new MySignal(sender, 0);
-
- synchronized(this) {
- sender.sendSignal(sig1);
- sender.sendSignal(sig2);
- sender.sendSignal(sig3);
- }
-
- sleep(5000);
-
- assertEquals(1, listener.nbReceived[0]);
- assertEquals(0, listener.nbReceived[1]);
- assertEquals(0, listener.nbReceived[2]);
- }
-
- /**
- * Test using multiple throttlers in parrallel. Only one signal per
- * throttler should go through.
- */
- @Test
- public void testMultipleChannels() {
- List<MySignal> signals = new ArrayList<>();
- signals.add(new MySignal(sender, 0));
- signals.add(new MySignal(sender, 0));
- signals.add(new MySignal(sender, 0));
-
- signals.add(new MySignal(sender, 1));
- signals.add(new MySignal(sender, 1));
- signals.add(new MySignal(sender, 1));
-
- signals.add(new MySignal(sender, 2));
- signals.add(new MySignal(sender, 2));
- signals.add(new MySignal(sender, 2));
-
- Collections.shuffle(signals); /* Every day */
-
- synchronized(this) {
- for (MySignal sig : signals) {
- sender.sendSignal(sig);
- }
- }
-
- sleep(5000);
-
- for (int nb : listener.nbReceived) {
- assertEquals(1, nb);
- }
- }
-
- /**
- * Test with one throttler, sending signals slowly. All three signals should
- * go through.
- */
- @Test
- public void testDelay() {
- final MySignal sig1 = new MySignal(sender, 0);
- final MySignal sig2 = new MySignal(sender, 0);
- final MySignal sig3 = new MySignal(sender, 0);
-
- sender.sendSignal(sig1);
- sleep(2000);
- sender.sendSignal(sig2);
- sleep(2000);
- sender.sendSignal(sig3);
- sleep(2000);
-
- assertEquals(3, listener.nbReceived[0]);
- }
-
- // ------------------------------------------------------------------------
- // Helper methods
- // ------------------------------------------------------------------------
-
- private static void sleep(long millis) {
- try {
- Thread.sleep(millis);
- } catch (InterruptedException e) {
- e.printStackTrace();
- }
- }
-
- // ------------------------------------------------------------------------
- // Helper classes
- // ------------------------------------------------------------------------
-
- /**
- * Signal sender
- */
- private class MySender extends TmfComponent {
-
- private final TmfSignalThrottler[] throttlers;
-
- MySender() {
- super("MySender");
- throttlers = new TmfSignalThrottler[] {
- new TmfSignalThrottler(this, 200),
- new TmfSignalThrottler(this, 500),
- new TmfSignalThrottler(this, 1000),
- };
- }
-
- void sendSignal(MySignal signal) {
- throttlers[signal.getChannel()].queue(signal);
- }
-
- @Override
- public void dispose() {
- super.dispose();
- for (TmfSignalThrottler elem : throttlers) {
- elem.dispose();
- }
- }
- }
-
- /**
- * Signal listener
- */
- public class MyListener extends TmfComponent {
-
- int[] nbReceived = { 0, 0, 0 };
-
- /**
- * Constructor. Needs to be public so TmfSignalHandler can see it.
- */
- public MyListener() {
- super("MyListener");
- }
-
- /**
- * Receive a signal.
- *
- * @param sig
- * Signal received
- */
- @TmfSignalHandler
- public void receiveSignal(final MySignal sig) {
- nbReceived[sig.getChannel()]++;
- }
- }
-
- /**
- * Signal object
- */
- private class MySignal extends TmfSignal {
-
- private final int channel;
-
- public MySignal(MySender source, int channel) {
- super(source);
- this.channel = channel;
- }
-
- public int getChannel() {
- return channel;
- }
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/statesystem/AllTests.java b/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/statesystem/AllTests.java
deleted file mode 100644
index b51108aa40..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/statesystem/AllTests.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2012, 2014 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:
- * Alexandre Montplaisir - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.core.tests.statesystem;
-
-import org.junit.runner.RunWith;
-import org.junit.runners.Suite;
-
-/**
- * Test suite for org.eclipse.linuxtools.tmf.core.tests.statesystem
- */
-@RunWith(Suite.class)
-@Suite.SuiteClasses({
- ExperimentStateSystemModuleTest.class,
- StateSystemAnalysisModuleTest.class
-})
-public class AllTests {
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/statesystem/ExperimentStateSystemModuleTest.java b/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/statesystem/ExperimentStateSystemModuleTest.java
deleted file mode 100644
index 93fbf0beca..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/statesystem/ExperimentStateSystemModuleTest.java
+++ /dev/null
@@ -1,119 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 École Polytechnique de Montréal
- *
- * 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:
- * Geneviève Bastien - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.core.tests.statesystem;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertNull;
-import static org.junit.Assert.fail;
-
-import org.eclipse.linuxtools.statesystem.core.ITmfStateSystem;
-import org.eclipse.linuxtools.statesystem.core.exceptions.AttributeNotFoundException;
-import org.eclipse.linuxtools.statesystem.core.exceptions.StateSystemDisposedException;
-import org.eclipse.linuxtools.statesystem.core.interval.ITmfStateInterval;
-import org.eclipse.linuxtools.tmf.core.signal.TmfSignalManager;
-import org.eclipse.linuxtools.tmf.core.signal.TmfTraceOpenedSignal;
-import org.eclipse.linuxtools.tmf.core.statesystem.TmfStateSystemAnalysisModule;
-import org.eclipse.linuxtools.tmf.core.tests.shared.TmfTestTrace;
-import org.eclipse.linuxtools.tmf.core.trace.ITmfTrace;
-import org.eclipse.linuxtools.tmf.core.trace.TmfExperiment;
-import org.eclipse.linuxtools.tmf.tests.stubs.analysis.TestExperimentAnalysis;
-import org.eclipse.linuxtools.tmf.tests.stubs.trace.TmfExperimentStub;
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Rule;
-import org.junit.Test;
-import org.junit.rules.TestRule;
-import org.junit.rules.Timeout;
-
-/**
- * Test the {@link TmfStateSystemAnalysisModule} class for an experiment
- *
- * @author Geneviève Bastien
- */
-public class ExperimentStateSystemModuleTest {
-
- /** Time-out tests after some time */
- @Rule
- public TestRule globalTimeout = new Timeout(60000);
-
- /** ID of the test state system analysis module */
- public static final String MODULE_SS = "org.eclipse.linuxtools.tmf.core.tests.experiment";
-
- private TmfStateSystemAnalysisModule fModule;
- private TmfExperiment fExperiment;
-
- /**
- * Setup test trace
- */
- @Before
- public void setupTraces() {
- ITmfTrace trace = TmfTestTrace.A_TEST_10K.getTrace();
- TmfSignalManager.deregister(trace);
- ITmfTrace trace2 = TmfTestTrace.A_TEST_10K2.getTrace();
- TmfSignalManager.deregister(trace2);
- ITmfTrace[] traces = { trace, trace2 };
- fExperiment = new TmfExperimentStub("Test", traces, 1000);
- fExperiment.traceOpened(new TmfTraceOpenedSignal(this, fExperiment, null));
-
- fModule = (TmfStateSystemAnalysisModule) fExperiment.getAnalysisModule(MODULE_SS);
- assertNotNull(fModule);
- }
-
- /**
- * Some tests use traces, let's clean them here
- */
- @After
- public void cleanupTraces() {
- fExperiment.dispose();
- }
-
- /**
- * Test the state system module execution and result
- */
- @Test
- public void testSsModule() {
- ITmfStateSystem ss = fModule.getStateSystem();
- assertNull(ss);
- fModule.schedule();
- if (fModule.waitForCompletion()) {
- ss = fModule.getStateSystem();
- assertNotNull(ss);
- try {
- int quark = ss.getQuarkAbsolute(TestExperimentAnalysis.TRACE_QUARK_NAME);
- ITmfStateInterval interval = ss.querySingleState(ss.getCurrentEndTime(), quark);
- assertEquals(2, interval.getStateValue().unboxInt());
- } catch (AttributeNotFoundException e) {
- fail("The quark for number of traces does not exist");
- } catch (StateSystemDisposedException e) {
- fail("Error: state system disposed");
- }
- } else {
- fail("Module did not complete properly");
- }
- }
-
- /**
- * Make sure that the state system is initialized after calling 
- * {@link TmfStateSystemAnalysisModule#waitForInitialization()}.
- */
- @Test
- public void testInitialization() {
- assertNull(fModule.getStateSystem());
- fModule.schedule();
-
- fModule.waitForInitialization();
- assertNotNull(fModule.getStateSystem());
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/statesystem/StateSystemAnalysisModuleTest.java b/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/statesystem/StateSystemAnalysisModuleTest.java
deleted file mode 100644
index 08d588a595..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/statesystem/StateSystemAnalysisModuleTest.java
+++ /dev/null
@@ -1,97 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013, 2014 École Polytechnique de Montréal
- *
- * 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:
- * Geneviève Bastien - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.core.tests.statesystem;
-
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertNull;
-import static org.junit.Assert.fail;
-
-import org.eclipse.linuxtools.statesystem.core.ITmfStateSystem;
-import org.eclipse.linuxtools.tmf.core.signal.TmfSignalManager;
-import org.eclipse.linuxtools.tmf.core.signal.TmfTraceOpenedSignal;
-import org.eclipse.linuxtools.tmf.core.statesystem.TmfStateSystemAnalysisModule;
-import org.eclipse.linuxtools.tmf.core.tests.shared.TmfTestTrace;
-import org.eclipse.linuxtools.tmf.tests.stubs.trace.TmfTraceStub;
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Rule;
-import org.junit.Test;
-import org.junit.rules.TestRule;
-import org.junit.rules.Timeout;
-
-/**
- * Test the {@link TmfStateSystemAnalysisModule} class
- *
- * @author Geneviève Bastien
- */
-public class StateSystemAnalysisModuleTest {
-
- /** Time-out tests after 20 seconds */
- @Rule
- public TestRule globalTimeout= new Timeout(20000);
-
- /** ID of the test state system analysis module */
- public static final String MODULE_SS = "org.eclipse.linuxtools.tmf.core.tests.analysis.sstest";
-
- private TmfStateSystemAnalysisModule module;
-
- /**
- * Setup test trace
- */
- @Before
- public void setupTraces() {
- TmfTraceStub trace = (TmfTraceStub) TmfTestTrace.A_TEST_10K.getTrace();
- TmfSignalManager.deregister(trace);
- trace.traceOpened(new TmfTraceOpenedSignal(this, trace, null));
-
- module = (TmfStateSystemAnalysisModule) trace.getAnalysisModule(MODULE_SS);
- }
-
- /**
- * Some tests use traces, let's clean them here
- */
- @After
- public void cleanupTraces() {
- TmfTestTrace.A_TEST_10K.dispose();
- }
-
- /**
- * Test the state system module execution and result
- */
- @Test
- public void testSsModule() {
- ITmfStateSystem ss = module.getStateSystem();
- assertNull(ss);
- module.schedule();
- if (module.waitForCompletion()) {
- ss = module.getStateSystem();
- assertNotNull(ss);
- } else {
- fail("Module did not complete properly");
- }
- }
-
- /**
- * Make sure that the state system is initialized after calling 
- * {@link TmfStateSystemAnalysisModule#waitForInitialization()}.
- */
- @Test
- public void testInitialization() {
- assertNull(module.getStateSystem());
- module.schedule();
-
- module.waitForInitialization();
- assertNotNull(module.getStateSystem());
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/statesystem/mipmap/AllTests.java b/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/statesystem/mipmap/AllTests.java
deleted file mode 100644
index 9b93ccaa18..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/statesystem/mipmap/AllTests.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 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:
- * Patrick Tasse - Updates to mipmap feature
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.core.tests.statesystem.mipmap;
-
-import org.eclipse.linuxtools.tmf.core.tests.statesystem.mipmap.TmfMipmapStateProviderTest;
-import org.eclipse.linuxtools.tmf.core.tests.statesystem.mipmap.TmfMipmapStateProviderWeightedTest;
-import org.junit.runner.RunWith;
-import org.junit.runners.Suite;
-
-/**
- * Test suite for org.eclipse.linuxtools.tmf.core.tests.statesystem.mipmap
- */
-@RunWith(Suite.class)
-@Suite.SuiteClasses({
- TmfMipmapStateProviderTest.class,
- TmfMipmapStateProviderWeightedTest.class,
-})
-public class AllTests {
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/statesystem/mipmap/TmfMipmapStateProviderStub.java b/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/statesystem/mipmap/TmfMipmapStateProviderStub.java
deleted file mode 100644
index 0a47e1ed39..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/statesystem/mipmap/TmfMipmapStateProviderStub.java
+++ /dev/null
@@ -1,116 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 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:
- * Jean-Christian Kouamé - Initial API and implementation
- * Patrick Tasse - Updates to mipmap feature
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.core.tests.statesystem.mipmap;
-
-import org.eclipse.linuxtools.internal.tmf.core.Activator;
-import org.eclipse.linuxtools.internal.tmf.core.statesystem.mipmap.AbstractTmfMipmapStateProvider;
-import org.eclipse.linuxtools.statesystem.core.exceptions.AttributeNotFoundException;
-import org.eclipse.linuxtools.statesystem.core.exceptions.StateValueTypeException;
-import org.eclipse.linuxtools.statesystem.core.exceptions.TimeRangeException;
-import org.eclipse.linuxtools.statesystem.core.statevalue.ITmfStateValue;
-import org.eclipse.linuxtools.statesystem.core.statevalue.TmfStateValue;
-import org.eclipse.linuxtools.tmf.core.event.ITmfEvent;
-import org.eclipse.linuxtools.tmf.core.event.ITmfEventField;
-import org.eclipse.linuxtools.tmf.core.event.ITmfEventType;
-import org.eclipse.linuxtools.tmf.core.event.TmfEvent;
-import org.eclipse.linuxtools.tmf.core.event.TmfEventField;
-import org.eclipse.linuxtools.tmf.core.event.TmfEventType;
-import org.eclipse.linuxtools.tmf.core.timestamp.ITmfTimestamp;
-import org.eclipse.linuxtools.tmf.core.timestamp.TmfNanoTimestamp;
-
-/**
- * A mipmap state provider for test
- *
- * @author Jean-Christian Kouamé
- * @since 3.0
- */
-class TmfMipmapStateProviderStub extends AbstractTmfMipmapStateProvider {
- /** test attribute name */
- public final static String TEST_ATTRIBUTE_NAME = "test_attribute"; //$NON-NLS-1$
-
- private int resolution;
- private ITmfStateValue.Type type;
- private final static String MIPMAP_ID = "MIPMAP_ID"; //$NON-NLS-1$
-
- private final String ERROR_ATTRIBUTE_NOT_FOUND = "Error : Impossible to find the attribute"; //$NON-NLS-1$
- private final String ERROR_INVALID_STATE_VALUE = "Error : Invalid state value"; //$NON-NLS-1$
- private final String ERROR_INVALID_TIMESTAMP = "Error : Invalid timestamp"; //$NON-NLS-1$
-
- /**
- * Constructor
- *
- * @param resolution
- * the mipmap resolution array (max, min, avg)
- * @param type
- * the type of value to use
- */
- public TmfMipmapStateProviderStub(int resolution, ITmfStateValue.Type type) {
- super(null, TmfEvent.class, MIPMAP_ID);
- this.resolution = resolution;
- this.type = type;
- }
-
- @Override
- protected void eventHandle(ITmfEvent ev) {
- final long ts = ev.getTimestamp().normalize(0, ITmfTimestamp.NANOSECOND_SCALE).getValue();
- try {
- int quark = ss.getQuarkAbsoluteAndAdd(TEST_ATTRIBUTE_NAME);
- ITmfStateValue value = (ITmfStateValue) ev.getContent().getValue();
- modifyMipmapAttribute(ts, value, quark, MIN | MAX | AVG, resolution);
- } catch (TimeRangeException e) {
- Activator.logError(ERROR_INVALID_TIMESTAMP, e);
- } catch (AttributeNotFoundException e) {
- Activator.logError(ERROR_ATTRIBUTE_NOT_FOUND, e);
- } catch (StateValueTypeException e) {
- Activator.logError(ERROR_INVALID_STATE_VALUE, e);
- }
- }
-
- @Override
- public int getVersion() {
- return 0;
- }
-
- @Override
- public TmfMipmapStateProviderStub getNewInstance() {
- return new TmfMipmapStateProviderStub(resolution, type);
- }
-
- /**
- * @param time
- * The event type
- * @param longVal
- * The event value or null
- * @return A new TmfEvent
- */
- public ITmfEvent createEvent(long time, Long longVal) {
- ITmfStateValue value;
- if (longVal == null) {
- value = TmfStateValue.nullValue();
- } else if (type == ITmfStateValue.Type.LONG) {
- value = TmfStateValue.newValueLong(longVal);
- } else if (type == ITmfStateValue.Type.INTEGER) {
- value = TmfStateValue.newValueInt(longVal.intValue());
- } else if (type == ITmfStateValue.Type.DOUBLE) {
- value = TmfStateValue.newValueDouble(longVal.doubleValue());
- } else {
- value = TmfStateValue.nullValue();
- }
- ITmfTimestamp timestamp = new TmfNanoTimestamp(time);
- ITmfEventType eventType = new TmfEventType(ITmfEventType.DEFAULT_CONTEXT_ID, MIPMAP_ID, null);
- ITmfEventField content = new TmfEventField(ITmfEventField.ROOT_FIELD_ID, value, null);
- ITmfEvent event = new TmfEvent(null, timestamp, null, eventType, content, null);
- return event;
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/statesystem/mipmap/TmfMipmapStateProviderTest.java b/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/statesystem/mipmap/TmfMipmapStateProviderTest.java
deleted file mode 100644
index 0e18d41d5c..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/statesystem/mipmap/TmfMipmapStateProviderTest.java
+++ /dev/null
@@ -1,541 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013, 2014 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:
- * Jean-Christian Kouamé - Initial API and implementation
- * Patrick Tasse - Updates to mipmap feature
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.core.tests.statesystem.mipmap;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertTrue;
-import static org.junit.Assert.fail;
-
-import java.util.List;
-import java.util.Random;
-
-import org.eclipse.jdt.annotation.NonNull;
-import org.eclipse.linuxtools.internal.tmf.core.statesystem.mipmap.AbstractTmfMipmapStateProvider;
-import org.eclipse.linuxtools.internal.tmf.core.statesystem.mipmap.TmfStateSystemOperations;
-import org.eclipse.linuxtools.statesystem.core.ITmfStateSystemBuilder;
-import org.eclipse.linuxtools.statesystem.core.StateSystemFactory;
-import org.eclipse.linuxtools.statesystem.core.backend.IStateHistoryBackend;
-import org.eclipse.linuxtools.statesystem.core.backend.InMemoryBackend;
-import org.eclipse.linuxtools.statesystem.core.exceptions.AttributeNotFoundException;
-import org.eclipse.linuxtools.statesystem.core.exceptions.StateSystemDisposedException;
-import org.eclipse.linuxtools.statesystem.core.exceptions.StateValueTypeException;
-import org.eclipse.linuxtools.statesystem.core.exceptions.TimeRangeException;
-import org.eclipse.linuxtools.statesystem.core.interval.ITmfStateInterval;
-import org.eclipse.linuxtools.statesystem.core.statevalue.ITmfStateValue.Type;
-import org.eclipse.linuxtools.tmf.core.event.ITmfEvent;
-import org.junit.BeforeClass;
-import org.junit.Test;
-
-/**
- * @author Jean-Christian Kouamé
- *
- */
-public class TmfMipmapStateProviderTest {
-
- @NonNull private static final String SSID = "mimap-test";
- private static final String TEST_ATTRIBUTE_NAME = TmfMipmapStateProviderStub.TEST_ATTRIBUTE_NAME;
- private static final int NB_LEVELS = 4;
- private static final long START_TIME = 1000L;
- private static final long END_TIME = 100000000L;
- private static final long INTERVAL = 1000L;
- private static final int RESOLUTION = 16;
- private static final double DELTA = 0.0001;
- private static final long TEST_TIMESTAMP = 12345000L;
- private static ITmfStateSystemBuilder ssq;
-
- /**
- * Startup code, build a state system with n attributes always going up
- * linearly
- */
- @BeforeClass
- public static void init() {
- TmfMipmapStateProviderStub mmp = new TmfMipmapStateProviderStub(RESOLUTION, Type.LONG);
- IStateHistoryBackend be = new InMemoryBackend(0);
- ssq = StateSystemFactory.newStateSystem(SSID, be);
- mmp.assignTargetStateSystem(ssq);
-
- for (long time = START_TIME; time <= END_TIME; time += INTERVAL) {
- long value = time / INTERVAL;
- ITmfEvent event = mmp.createEvent(time, value);
- mmp.processEvent(event);
- }
- mmp.dispose();
- ssq.waitUntilBuilt();
- }
-
- /**
- * Test a single query to the state system.
- *
- * Make sure the state system has data.
- *
- * Hint: the value read should always be t / 1000
- *
- */
- @Test
- public void testQuery() {
- assertNotNull(ssq);
- try {
- Random rn = new Random();
- long time = Math.max(INTERVAL, rn.nextLong() % END_TIME);
- List<ITmfStateInterval> intervals = ssq.queryFullState(time);
- int mipmapQuark = ssq.getQuarkAbsolute(TEST_ATTRIBUTE_NAME);
- ITmfStateInterval interval = intervals.get(mipmapQuark);
- long valueLong = interval.getStateValue().unboxLong();
- assertEquals(time / INTERVAL, valueLong);
-
- } catch (TimeRangeException e) {
- fail(e.getMessage());
- } catch (StateSystemDisposedException e) {
- fail(e.getMessage());
- } catch (AttributeNotFoundException e) {
- fail(e.getMessage());
- } catch (StateValueTypeException e) {
- fail(e.getMessage());
- }
- assertTrue(true);
- }
-
- /**
- * Test a single query to the state system for the maxLevel.
- *
- * Make sure the state system has data.
- *
- */
- @Test
- public void testMaxLevel() {
- assertNotNull(ssq);
- try {
- Random rn = new Random();
- long time = Math.max(INTERVAL, rn.nextLong() % END_TIME);
- List<ITmfStateInterval> intervals = ssq.queryFullState(time);
-
- int maxMipmapQuark = ssq.getQuarkAbsolute(TEST_ATTRIBUTE_NAME, AbstractTmfMipmapStateProvider.MAX_STRING);
- int nbLevelMax = intervals.get(maxMipmapQuark).getStateValue().unboxInt();
- assertEquals(NB_LEVELS, nbLevelMax);
-
- int minMipmapQuark = ssq.getQuarkAbsolute(TEST_ATTRIBUTE_NAME, AbstractTmfMipmapStateProvider.MIN_STRING);
- int nbLevelMin = intervals.get(minMipmapQuark).getStateValue().unboxInt();
- assertEquals(NB_LEVELS, nbLevelMin);
-
- int avgMipmapQuark = ssq.getQuarkAbsolute(TEST_ATTRIBUTE_NAME, AbstractTmfMipmapStateProvider.AVG_STRING);
- int nbLevelAvg = intervals.get(avgMipmapQuark).getStateValue().unboxInt();
- assertEquals(NB_LEVELS, nbLevelAvg);
-
- } catch (TimeRangeException e) {
- fail(e.getMessage());
- } catch (StateSystemDisposedException e) {
- fail(e.getMessage());
- } catch (AttributeNotFoundException e) {
- fail(e.getMessage());
- } catch (StateValueTypeException e) {
- fail(e.getMessage());
- }
- assertTrue(true);
-
- }
-
- /**
- * Test a single query to the state system for a mip
- *
- * Make sure the state system has data.
- *
- */
- @Test
- public void testQueryEventField() {
- assertNotNull(ssq);
- try {
- List<ITmfStateInterval> intervals = ssq.queryFullState(TEST_TIMESTAMP);
- int eventFieldQuark = ssq.getQuarkAbsolute(TEST_ATTRIBUTE_NAME);
- ITmfStateInterval interval = intervals.get(eventFieldQuark);
- long valueLong = interval.getStateValue().unboxLong();
- assertEquals(TEST_TIMESTAMP / INTERVAL, valueLong);
- } catch (TimeRangeException e) {
- fail(e.getMessage());
- } catch (StateSystemDisposedException e) {
- fail(e.getMessage());
- } catch (AttributeNotFoundException e) {
- fail(e.getMessage());
- } catch (StateValueTypeException e) {
- fail(e.getMessage());
- }
- assertTrue(true);
- }
-
- /**
- * Test a single query to the state system for a max
- *
- * Make sure the state system has data.
- *
- * Hint: the value read should always be greater than(t / 1000)
- *
- */
- @Test
- public void testQueryMipMax() {
- assertNotNull(ssq);
- try {
- List<ITmfStateInterval> intervals = ssq.queryFullState(TEST_TIMESTAMP);
- int mipmapQuark = ssq.getQuarkAbsolute(TEST_ATTRIBUTE_NAME, AbstractTmfMipmapStateProvider.MAX_STRING);
-
- assertEquals("max nblevels", NB_LEVELS, intervals.get(mipmapQuark).getStateValue().unboxInt());
- for (int level = 1; level < NB_LEVELS; level++) {
- long width = (long) Math.pow(RESOLUTION, level);
- int levelQuark = ssq.getQuarkRelative(mipmapQuark, String.valueOf(level));
- ITmfStateInterval interval = intervals.get(levelQuark);
- long valueLong = interval.getStateValue().unboxLong();
- assertEquals("max value @ level " + level, width + (((TEST_TIMESTAMP - START_TIME) / INTERVAL) / width) * width, valueLong);
- assertEquals("max start time @ level " + level, START_TIME + (((TEST_TIMESTAMP - START_TIME) / INTERVAL) / width) * width * INTERVAL, interval.getStartTime());
- assertEquals("max end time @ level " + level, START_TIME + (INTERVAL * width) + (((TEST_TIMESTAMP - START_TIME) / INTERVAL) / width) * width * INTERVAL, interval.getEndTime() + 1);
- }
-
- } catch (TimeRangeException e) {
- fail(e.getMessage());
- } catch (StateSystemDisposedException e) {
- fail(e.getMessage());
- } catch (AttributeNotFoundException e) {
- fail(e.getMessage());
- } catch (StateValueTypeException e) {
- fail(e.getMessage());
- }
- assertTrue(true);
- }
-
- /**
- * Test a single query to the state system for a min
- *
- * Make sure the state system has data.
- *
- * Hint: the value read should always be less than(t / 1000)
- */
- @Test
- public void testQueryMipMin() {
- assertNotNull(ssq);
- try {
- List<ITmfStateInterval> intervals = ssq.queryFullState(TEST_TIMESTAMP);
- int mipmapQuark = ssq.getQuarkAbsolute(TEST_ATTRIBUTE_NAME, AbstractTmfMipmapStateProvider.MIN_STRING);
-
- assertEquals("min nblevels", NB_LEVELS, intervals.get(mipmapQuark).getStateValue().unboxInt());
- for (int level = 1; level < NB_LEVELS; level++) {
- long width = (long) Math.pow(RESOLUTION, level);
- int levelQuark = ssq.getQuarkRelative(mipmapQuark, String.valueOf(level));
- ITmfStateInterval interval = intervals.get(levelQuark);
- long valueLong = interval.getStateValue().unboxLong();
- assertEquals("min value @ level " + level, 1 + (((TEST_TIMESTAMP - START_TIME) / INTERVAL) / width) * width, valueLong);
- assertEquals("min start time @ level " + level, START_TIME + (((TEST_TIMESTAMP - START_TIME) / INTERVAL) / width) * width * INTERVAL, interval.getStartTime());
- assertEquals("min end time @ level " + level, START_TIME + (INTERVAL * width) + (((TEST_TIMESTAMP - START_TIME) / INTERVAL) / width) * width * INTERVAL, interval.getEndTime() + 1);
- }
-
- } catch (TimeRangeException e) {
- fail(e.getMessage());
- } catch (StateSystemDisposedException e) {
- fail(e.getMessage());
- } catch (AttributeNotFoundException e) {
- fail(e.getMessage());
- } catch (StateValueTypeException e) {
- fail(e.getMessage());
- }
- assertTrue(true);
- }
-
- /**
- * Test a single query to the state system for an average
- *
- * Make sure the state system has data.
- *
- * Hint: the value read should always be more or less(t / 1000)
- *
- */
- @Test
- public void testQueryMipAvg() {
- assertNotNull(ssq);
- try {
- List<ITmfStateInterval> intervals = ssq.queryFullState(TEST_TIMESTAMP);
- int mipmapQuark = ssq.getQuarkAbsolute(TEST_ATTRIBUTE_NAME, AbstractTmfMipmapStateProvider.AVG_STRING);
-
- assertEquals("avg nblevels", NB_LEVELS, intervals.get(mipmapQuark).getStateValue().unboxInt());
- for (int level = 1; level < NB_LEVELS; level++) {
- long width = (long) Math.pow(RESOLUTION, level);
- int levelQuark = ssq.getQuarkRelative(mipmapQuark, String.valueOf(level));
- ITmfStateInterval interval = intervals.get(levelQuark);
- double valueDouble = interval.getStateValue().unboxDouble();
- assertEquals("avg value @ level " + level, 0.5 + (width / 2) + (((TEST_TIMESTAMP - START_TIME) / INTERVAL) / width) * width, valueDouble, DELTA);
- assertEquals("avg start time @ level " + level, START_TIME + (((TEST_TIMESTAMP - START_TIME) / INTERVAL) / width) * width * INTERVAL, interval.getStartTime());
- assertEquals("avg end time @ level " + level, START_TIME + (INTERVAL * width) + (((TEST_TIMESTAMP - START_TIME) / INTERVAL) / width) * width * INTERVAL, interval.getEndTime() + 1);
- }
-
- } catch (TimeRangeException e) {
- fail(e.getMessage());
- } catch (StateSystemDisposedException e) {
- fail(e.getMessage());
- } catch (AttributeNotFoundException e) {
- fail(e.getMessage());
- } catch (StateValueTypeException e) {
- fail(e.getMessage());
- }
- assertTrue(true);
- }
-
- /**
- * Test a full query to the state system at the startTime
- *
- * Make sure the state system has data.
- *
- * Hint: the value read should always be more or less(t / 1000)
- *
- */
- @Test
- public void testQueryValuesOnStart() {
- assertNotNull(ssq);
- try {
- int quark;
-
- List<ITmfStateInterval> intervals = ssq.queryFullState(START_TIME);
-
- int baseQuark = ssq.getQuarkAbsolute(TEST_ATTRIBUTE_NAME);
- assertEquals(START_TIME / INTERVAL, intervals.get(baseQuark).getStateValue().unboxLong());
-
- int maxMipmapQuark = ssq.getQuarkRelative(baseQuark, AbstractTmfMipmapStateProvider.MAX_STRING);
- assertEquals("max nblevels", NB_LEVELS, intervals.get(maxMipmapQuark).getStateValue().unboxInt());
- quark = ssq.getQuarkRelative(maxMipmapQuark, String.valueOf(1));
- assertEquals("max value @ level 1", (long) Math.pow(RESOLUTION, 1), intervals.get(quark).getStateValue().unboxLong());
- quark = ssq.getQuarkRelative(maxMipmapQuark, String.valueOf(2));
- assertEquals("max value @ level 2", (long) Math.pow(RESOLUTION, 2), intervals.get(quark).getStateValue().unboxLong());
- quark = ssq.getQuarkRelative(maxMipmapQuark, String.valueOf(3));
- assertEquals("max value @ level 3", (long) Math.pow(RESOLUTION, 3), intervals.get(quark).getStateValue().unboxLong());
- quark = ssq.getQuarkRelative(maxMipmapQuark, String.valueOf(4));
- assertEquals("max value @ level 4", (long) Math.pow(RESOLUTION, 4), intervals.get(quark).getStateValue().unboxLong());
-
- int minMipmapQuark = ssq.getQuarkRelative(baseQuark, AbstractTmfMipmapStateProvider.MIN_STRING);
- assertEquals("min nblevels", NB_LEVELS, intervals.get(minMipmapQuark).getStateValue().unboxInt());
- quark = ssq.getQuarkRelative(minMipmapQuark, String.valueOf(1));
- assertEquals("min value @ level 1", START_TIME / INTERVAL, intervals.get(quark).getStateValue().unboxLong());
- quark = ssq.getQuarkRelative(minMipmapQuark, String.valueOf(2));
- assertEquals("min value @ level 2", START_TIME / INTERVAL, intervals.get(quark).getStateValue().unboxLong());
- quark = ssq.getQuarkRelative(minMipmapQuark, String.valueOf(3));
- assertEquals("min value @ level 3", START_TIME / INTERVAL, intervals.get(quark).getStateValue().unboxLong());
- quark = ssq.getQuarkRelative(minMipmapQuark, String.valueOf(4));
- assertEquals("min value @ level 4", START_TIME / INTERVAL, intervals.get(quark).getStateValue().unboxLong());
-
- int avgMipmapQuark = ssq.getQuarkRelative(baseQuark, AbstractTmfMipmapStateProvider.AVG_STRING);
- assertEquals("avg nblevels", NB_LEVELS, intervals.get(avgMipmapQuark).getStateValue().unboxInt());
- quark = ssq.getQuarkRelative(avgMipmapQuark, String.valueOf(1));
- assertEquals("avg value @ level 1", 0.5 + Math.pow(RESOLUTION, 1) / 2, intervals.get(quark).getStateValue().unboxDouble(), DELTA);
- quark = ssq.getQuarkRelative(avgMipmapQuark, String.valueOf(2));
- assertEquals("avg value @ level 2", 0.5 + Math.pow(RESOLUTION, 2) / 2, intervals.get(quark).getStateValue().unboxDouble(), DELTA);
- quark = ssq.getQuarkRelative(avgMipmapQuark, String.valueOf(3));
- assertEquals("avg value @ level 3", 0.5 + Math.pow(RESOLUTION, 3) / 2, intervals.get(quark).getStateValue().unboxDouble(), DELTA);
- quark = ssq.getQuarkRelative(avgMipmapQuark, String.valueOf(4));
- assertEquals("avg value @ level 4", 0.5 + Math.pow(RESOLUTION, 4) / 2, intervals.get(quark).getStateValue().unboxDouble(), DELTA);
-
- } catch (TimeRangeException e) {
- fail(e.getMessage());
- } catch (StateSystemDisposedException e) {
- fail(e.getMessage());
- } catch (AttributeNotFoundException e) {
- fail(e.getMessage());
- } catch (StateValueTypeException e) {
- fail(e.getMessage());
- }
- assertTrue(true);
- }
-
- /**
- * Test a full query to the state system when the end time
- *
- * Make sure the state system has data.
- *
- * Hint: the value read should always be more or less(t / 1000)
- *
- */
- @Test
- public void testQueryValuesOnClose() {
- assertNotNull(ssq);
- try {
- int quark;
-
- List<ITmfStateInterval> intervals = ssq.queryFullState(END_TIME);
-
- int baseQuark = ssq.getQuarkAbsolute(TEST_ATTRIBUTE_NAME);
- assertEquals(END_TIME / INTERVAL, intervals.get(baseQuark).getStateValue().unboxLong());
-
- int maxMipmapQuark = ssq.getQuarkRelative(baseQuark, AbstractTmfMipmapStateProvider.MAX_STRING);
- assertEquals("max nblevels", NB_LEVELS, intervals.get(maxMipmapQuark).getStateValue().unboxInt());
- quark = ssq.getQuarkRelative(maxMipmapQuark, String.valueOf(1));
- assertEquals("max value @ level 1", END_TIME / INTERVAL, intervals.get(quark).getStateValue().unboxLong());
- quark = ssq.getQuarkRelative(maxMipmapQuark, String.valueOf(2));
- assertEquals("max value @ level 2", END_TIME / INTERVAL, intervals.get(quark).getStateValue().unboxLong());
- quark = ssq.getQuarkRelative(maxMipmapQuark, String.valueOf(3));
- assertEquals("max value @ level 3", END_TIME / INTERVAL, intervals.get(quark).getStateValue().unboxLong());
- quark = ssq.getQuarkRelative(maxMipmapQuark, String.valueOf(4));
- assertEquals("max value @ level 4", END_TIME / INTERVAL, intervals.get(quark).getStateValue().unboxLong());
-
- int minMipmapQuark = ssq.getQuarkRelative(baseQuark, AbstractTmfMipmapStateProvider.MIN_STRING);
- assertEquals("min nblevels", NB_LEVELS, intervals.get(minMipmapQuark).getStateValue().unboxInt());
- quark = ssq.getQuarkRelative(minMipmapQuark, String.valueOf(1));
- assertEquals("min value @ level 1", END_TIME / INTERVAL - (END_TIME - START_TIME) / INTERVAL % (long) Math.pow(RESOLUTION, 1), intervals.get(quark).getStateValue().unboxLong());
- quark = ssq.getQuarkRelative(minMipmapQuark, String.valueOf(2));
- assertEquals("min value @ level 2", END_TIME / INTERVAL - (END_TIME - START_TIME) / INTERVAL % (long) Math.pow(RESOLUTION, 2), intervals.get(quark).getStateValue().unboxLong());
- quark = ssq.getQuarkRelative(minMipmapQuark, String.valueOf(3));
- assertEquals("min value @ level 3", END_TIME / INTERVAL - (END_TIME - START_TIME) / INTERVAL % (long) Math.pow(RESOLUTION, 3), intervals.get(quark).getStateValue().unboxLong());
- quark = ssq.getQuarkRelative(minMipmapQuark, String.valueOf(4));
- assertEquals("min value @ level 4", END_TIME / INTERVAL - (END_TIME - START_TIME) / INTERVAL % (long) Math.pow(RESOLUTION, 4), intervals.get(quark).getStateValue().unboxLong());
-
- int avgMipmapQuark = ssq.getQuarkRelative(baseQuark, AbstractTmfMipmapStateProvider.AVG_STRING);
- assertEquals("avg nblevels", NB_LEVELS, intervals.get(avgMipmapQuark).getStateValue().unboxInt());
- quark = ssq.getQuarkRelative(avgMipmapQuark, String.valueOf(1));
- assertEquals("avg value @ level 1", (long) (END_TIME / INTERVAL - (double) ((END_TIME - START_TIME) / INTERVAL % (long) Math.pow(RESOLUTION, 1)) / 2), intervals.get(quark).getStateValue().unboxDouble(), DELTA);
- quark = ssq.getQuarkRelative(avgMipmapQuark, String.valueOf(2));
- assertEquals("avg value @ level 2", (long) (END_TIME / INTERVAL - (double) ((END_TIME - START_TIME) / INTERVAL % (long) Math.pow(RESOLUTION, 2)) / 2), intervals.get(quark).getStateValue().unboxDouble(), DELTA);
- quark = ssq.getQuarkRelative(avgMipmapQuark, String.valueOf(3));
- assertEquals("avg value @ level 3", (long) (END_TIME / INTERVAL - (double) ((END_TIME - START_TIME) / INTERVAL % (long) Math.pow(RESOLUTION, 3)) / 2), intervals.get(quark).getStateValue().unboxDouble(), DELTA);
- quark = ssq.getQuarkRelative(avgMipmapQuark, String.valueOf(4));
- assertEquals("avg value @ level 4", (long) (END_TIME / INTERVAL - (double) ((END_TIME - START_TIME) / INTERVAL % (long) Math.pow(RESOLUTION, 4)) / 2), intervals.get(quark).getStateValue().unboxDouble(), DELTA);
-
- } catch (TimeRangeException e) {
- fail(e.getMessage());
- } catch (StateSystemDisposedException e) {
- fail(e.getMessage());
- } catch (AttributeNotFoundException e) {
- fail(e.getMessage());
- } catch (StateValueTypeException e) {
- fail(e.getMessage());
- }
- assertTrue(true);
- }
-
- /**
- * Test a query range to the state system to get the maximum value in the
- * range
- *
- * Make sure the state system has data.
- *
- *
- */
- @Test
- public void testQueryMipmapRangeMax() {
- assertNotNull(ssq);
- try {
- long max;
- int quark = ssq.getQuarkAbsolute(TEST_ATTRIBUTE_NAME);
-
- max = TmfStateSystemOperations.queryRangeMax(ssq, 0, START_TIME, quark).unboxLong();
- assertEquals(START_TIME / INTERVAL, max);
-
- max = TmfStateSystemOperations.queryRangeMax(ssq, START_TIME, START_TIME, quark).unboxLong();
- assertEquals(START_TIME / INTERVAL, max);
-
- max = TmfStateSystemOperations.queryRangeMax(ssq, START_TIME, END_TIME / 2, quark).unboxLong();
- assertEquals((END_TIME / 2 / INTERVAL), max);
-
- max = TmfStateSystemOperations.queryRangeMax(ssq, 0, END_TIME, quark).unboxLong();
- assertEquals(END_TIME / INTERVAL, max);
-
- max = TmfStateSystemOperations.queryRangeMax(ssq, END_TIME / 2, END_TIME, quark).unboxLong();
- assertEquals(END_TIME / INTERVAL, max);
-
- max = TmfStateSystemOperations.queryRangeMax(ssq, START_TIME - INTERVAL / 2, END_TIME / 2 + INTERVAL / 2, quark).unboxLong();
- assertEquals(END_TIME / 2 / INTERVAL, max);
-
- } catch (AttributeNotFoundException e) {
- fail(e.getMessage());
- } catch (StateValueTypeException e) {
- fail(e.getMessage());
- } catch (TimeRangeException e) {
- fail(e.getMessage());
- }
- }
-
- /**
- * Test a query range to the state system to get the minimum value in the
- * range
- *
- * Make sure the state system has data.
- *
- *
- */
- @Test
- public void testQueryMipmapRangeMin() {
- assertNotNull(ssq);
- try {
- long min;
- int quark = ssq.getQuarkAbsolute(TEST_ATTRIBUTE_NAME);
-
- min = TmfStateSystemOperations.queryRangeMin(ssq, 0, START_TIME, quark).unboxLong();
- assertEquals(START_TIME / INTERVAL, min);
-
- min = TmfStateSystemOperations.queryRangeMin(ssq, START_TIME, START_TIME, quark).unboxLong();
- assertEquals(START_TIME / INTERVAL, min);
-
- min = TmfStateSystemOperations.queryRangeMin(ssq, START_TIME, END_TIME / 2, quark).unboxLong();
- assertEquals((START_TIME / INTERVAL), min);
-
- min = TmfStateSystemOperations.queryRangeMin(ssq, 0, END_TIME, quark).unboxLong();
- assertEquals(START_TIME / INTERVAL, min);
-
- min = TmfStateSystemOperations.queryRangeMin(ssq, END_TIME / 2, END_TIME, quark).unboxLong();
- assertEquals(END_TIME / 2 / INTERVAL, min);
-
- min = TmfStateSystemOperations.queryRangeMin(ssq, START_TIME - INTERVAL / 2, END_TIME / 2 + INTERVAL / 2, quark).unboxLong();
- assertEquals(START_TIME / INTERVAL, min);
-
- } catch (AttributeNotFoundException e) {
- fail(e.getMessage());
- } catch (StateValueTypeException e) {
- fail(e.getMessage());
- } catch (TimeRangeException e) {
- fail(e.getMessage());
- }
- }
-
- /**
- * Test a query range to the state system to get the average value in the
- * range
- *
- * Make sure the state system has data.
- *
- */
- @Test
- public void testQueryMipmapRangeAvg() {
- assertNotNull(ssq);
- try {
- double avg;
- int quark = ssq.getQuarkAbsolute(TEST_ATTRIBUTE_NAME);
-
- avg = TmfStateSystemOperations.queryRangeAverage(ssq, 0, START_TIME, quark);
- assertEquals((double) (START_TIME - INTERVAL) / INTERVAL, avg, DELTA);
-
- avg = TmfStateSystemOperations.queryRangeAverage(ssq, START_TIME, START_TIME, quark);
- assertEquals((double) START_TIME / INTERVAL, avg, DELTA);
-
- avg = TmfStateSystemOperations.queryRangeAverage(ssq, START_TIME, END_TIME / 2, quark);
- assertEquals((double) (START_TIME + (END_TIME / 2 - INTERVAL)) / 2 / INTERVAL, avg, DELTA);
-
- avg = TmfStateSystemOperations.queryRangeAverage(ssq, 0, END_TIME, quark);
- assertEquals((double) (END_TIME - INTERVAL) / 2 / INTERVAL, avg, DELTA);
-
- avg = TmfStateSystemOperations.queryRangeAverage(ssq, END_TIME / 2, END_TIME, quark);
- assertEquals((double) (END_TIME / 2 + (END_TIME - INTERVAL)) / 2 / INTERVAL, avg, DELTA);
-
- avg = TmfStateSystemOperations.queryRangeAverage(ssq, START_TIME - INTERVAL / 2, END_TIME / 2 + INTERVAL / 2, quark);
- assertEquals((double) (START_TIME + (END_TIME / 2 - INTERVAL)) / 2 / INTERVAL, avg, DELTA);
-
- } catch (AttributeNotFoundException e) {
- fail(e.getMessage());
- } catch (TimeRangeException e) {
- fail(e.getMessage());
- } catch (StateValueTypeException e) {
- fail(e.getMessage());
- }
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/statesystem/mipmap/TmfMipmapStateProviderWeightedTest.java b/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/statesystem/mipmap/TmfMipmapStateProviderWeightedTest.java
deleted file mode 100644
index 45bc5165f6..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/statesystem/mipmap/TmfMipmapStateProviderWeightedTest.java
+++ /dev/null
@@ -1,311 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013, 2014 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:
- * Patrick Tasse - Updates to mipmap feature
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.core.tests.statesystem.mipmap;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.fail;
-
-import org.eclipse.jdt.annotation.NonNull;
-import org.eclipse.linuxtools.internal.tmf.core.statesystem.mipmap.TmfStateSystemOperations;
-import org.eclipse.linuxtools.statesystem.core.ITmfStateSystemBuilder;
-import org.eclipse.linuxtools.statesystem.core.StateSystemFactory;
-import org.eclipse.linuxtools.statesystem.core.backend.IStateHistoryBackend;
-import org.eclipse.linuxtools.statesystem.core.backend.InMemoryBackend;
-import org.eclipse.linuxtools.statesystem.core.exceptions.AttributeNotFoundException;
-import org.eclipse.linuxtools.statesystem.core.exceptions.StateValueTypeException;
-import org.eclipse.linuxtools.statesystem.core.exceptions.TimeRangeException;
-import org.eclipse.linuxtools.statesystem.core.statevalue.ITmfStateValue.Type;
-import org.eclipse.linuxtools.statesystem.core.statevalue.TmfStateValue;
-import org.junit.BeforeClass;
-import org.junit.Test;
-
-/**
- * @author Patrick Tasse
- *
- */
-public class TmfMipmapStateProviderWeightedTest {
-
- @NonNull private static final String SSID = "mipmap-test";
- private static final String TEST_ATTRIBUTE_NAME = TmfMipmapStateProviderStub.TEST_ATTRIBUTE_NAME;
- private static final long END_TIME = 250000L;
- private static final long INTERVAL = 1000L;
- private static final int RESOLUTION = 2;
- private static final double DELTA = 0.0001;
- private static ITmfStateSystemBuilder ssqi;
- private static ITmfStateSystemBuilder ssqd;
-
- /**
- * Startup code, build a state system with uneven state durations
- */
- @BeforeClass
- public static void init() {
- /* setup for INTEGER test */
- TmfMipmapStateProviderStub mmpi = new TmfMipmapStateProviderStub(RESOLUTION, Type.INTEGER);
- IStateHistoryBackend bei = new InMemoryBackend(0);
- ssqi = StateSystemFactory.newStateSystem(SSID, bei);
- mmpi.assignTargetStateSystem(ssqi);
- /* setup for DOUBLE test */
- TmfMipmapStateProviderStub mmpd = new TmfMipmapStateProviderStub(RESOLUTION, Type.DOUBLE);
- IStateHistoryBackend bed = new InMemoryBackend(0);
- ssqd = StateSystemFactory.newStateSystem(SSID, bed);
- mmpd.assignTargetStateSystem(ssqd);
- /*
- * Every 10,000 ns chunk contains the following states:
- *
- * | null | 10 | null | 20 | null | 30 | null |
- * 0 1000 2000 3000 4000 5000 6000 7000 8000 9000 10,000
- *
- * The weighted average for a chunk is (1 x 10 + 2 x 20 + 3 x 30) / 10 = 14.
- */
- for (int i = 0; i < END_TIME / INTERVAL / 10; i++) {
- long time = i * 10 * INTERVAL;
- /* update for INTEGER test */
- mmpi.processEvent(mmpi.createEvent(time, null));
- mmpi.processEvent(mmpi.createEvent(time + 1000, 10L));
- mmpi.processEvent(mmpi.createEvent(time + 2000, null));
- mmpi.processEvent(mmpi.createEvent(time + 3000, 20L));
- mmpi.processEvent(mmpi.createEvent(time + 5000, null));
- mmpi.processEvent(mmpi.createEvent(time + 6000, 30L));
- mmpi.processEvent(mmpi.createEvent(time + 9000, null));
- /* update for DOUBLE test */
- mmpd.processEvent(mmpd.createEvent(time, null));
- mmpd.processEvent(mmpd.createEvent(time + 1000, 10L));
- mmpd.processEvent(mmpd.createEvent(time + 2000, null));
- mmpd.processEvent(mmpd.createEvent(time + 3000, 20L));
- mmpd.processEvent(mmpd.createEvent(time + 5000, null));
- mmpd.processEvent(mmpd.createEvent(time + 6000, 30L));
- mmpd.processEvent(mmpd.createEvent(time + 9000, null));
- }
- /* cleanup for INTEGER test */
- mmpi.processEvent(mmpi.createEvent(END_TIME, 0L));
- mmpi.dispose();
- ssqi.waitUntilBuilt();
- /* cleanup for DOUBLE test */
- mmpd.processEvent(mmpd.createEvent(END_TIME, 0L));
- mmpd.dispose();
- ssqd.waitUntilBuilt();
- }
-
- /**
- * Test a query range to the state system to get the maximum value in the
- * range. The test values are INTEGER.
- */
- @Test
- public void testQueryMipmapRangeMaxInteger() {
- assertNotNull(ssqi);
- try {
- int quark = ssqi.getQuarkAbsolute(TEST_ATTRIBUTE_NAME);
- assertEquals(TmfStateValue.nullValue(), TmfStateSystemOperations.queryRangeMax(ssqi, 0, 0, quark));
- assertEquals(10, TmfStateSystemOperations.queryRangeMax(ssqi, 500, 1500, quark).unboxInt());
- assertEquals(20, TmfStateSystemOperations.queryRangeMax(ssqi, 1500, 5000, quark).unboxInt());
- assertEquals(30, TmfStateSystemOperations.queryRangeMax(ssqi, 5000, 10000, quark).unboxInt());
- assertEquals(30, TmfStateSystemOperations.queryRangeMax(ssqi, 0, 10000, quark).unboxInt());
- assertEquals(TmfStateValue.nullValue(), TmfStateSystemOperations.queryRangeMax(ssqi, 120000, 120000, quark));
- assertEquals(10, TmfStateSystemOperations.queryRangeMax(ssqi, 120500, 121500, quark).unboxInt());
- assertEquals(20, TmfStateSystemOperations.queryRangeMax(ssqi, 121500, 125000, quark).unboxInt());
- assertEquals(30, TmfStateSystemOperations.queryRangeMax(ssqi, 125000, 130000, quark).unboxInt());
- assertEquals(30, TmfStateSystemOperations.queryRangeMax(ssqi, 120000, 130000, quark).unboxInt());
- assertEquals(30, TmfStateSystemOperations.queryRangeMax(ssqi, 100000, 150000, quark).unboxInt());
- assertEquals(30, TmfStateSystemOperations.queryRangeMax(ssqi, 240000, 250000, quark).unboxInt());
- assertEquals(30, TmfStateSystemOperations.queryRangeMax(ssqi, 0, 250000, quark).unboxInt());
- assertEquals(00, TmfStateSystemOperations.queryRangeMax(ssqi, 250000, 250000, quark).unboxInt());
-
- } catch (AttributeNotFoundException e) {
- fail(e.getMessage());
- } catch (StateValueTypeException e) {
- fail(e.getMessage());
- } catch (TimeRangeException e) {
- fail(e.getMessage());
- }
- }
-
- /**
- * Test a query range to the state system to get the minimum value in the
- * range. The test values are INTEGER.
- */
- @Test
- public void testQueryMipmapRangeMinInteger() {
- assertNotNull(ssqi);
- try {
- int quark = ssqi.getQuarkAbsolute(TEST_ATTRIBUTE_NAME);
- assertEquals(TmfStateValue.nullValue(), TmfStateSystemOperations.queryRangeMin(ssqi, 0, 0, quark));
- assertEquals(10, TmfStateSystemOperations.queryRangeMin(ssqi, 500, 1500, quark).unboxInt());
- assertEquals(10, TmfStateSystemOperations.queryRangeMin(ssqi, 1500, 5000, quark).unboxInt());
- assertEquals(30, TmfStateSystemOperations.queryRangeMin(ssqi, 5000, 10000, quark).unboxInt());
- assertEquals(10, TmfStateSystemOperations.queryRangeMin(ssqi, 0, 10000, quark).unboxInt());
- assertEquals(TmfStateValue.nullValue(), TmfStateSystemOperations.queryRangeMin(ssqi, 120000, 120000, quark));
- assertEquals(10, TmfStateSystemOperations.queryRangeMin(ssqi, 120500, 121500, quark).unboxInt());
- assertEquals(10, TmfStateSystemOperations.queryRangeMin(ssqi, 121500, 125000, quark).unboxInt());
- assertEquals(30, TmfStateSystemOperations.queryRangeMin(ssqi, 125000, 130000, quark).unboxInt());
- assertEquals(10, TmfStateSystemOperations.queryRangeMin(ssqi, 120000, 130000, quark).unboxInt());
- assertEquals(10, TmfStateSystemOperations.queryRangeMin(ssqi, 100000, 150000, quark).unboxInt());
- assertEquals(00, TmfStateSystemOperations.queryRangeMin(ssqi, 240000, 250000, quark).unboxInt());
- assertEquals(00, TmfStateSystemOperations.queryRangeMin(ssqi, 0, 250000, quark).unboxInt());
- assertEquals(00, TmfStateSystemOperations.queryRangeMin(ssqi, 250000, 250000, quark).unboxInt());
-
- } catch (AttributeNotFoundException e) {
- fail(e.getMessage());
- } catch (StateValueTypeException e) {
- fail(e.getMessage());
- } catch (TimeRangeException e) {
- fail(e.getMessage());
- }
- }
-
- /**
- * Test a query range to the state system to get the average value in the
- * range. The test values are INTEGER.
- */
- @Test
- public void testQueryMipmapRangeAvgInteger() {
- assertNotNull(ssqi);
- try {
- int quark = ssqi.getQuarkAbsolute(TEST_ATTRIBUTE_NAME);
- assertEquals(0.0, TmfStateSystemOperations.queryRangeAverage(ssqi, 0, 0, quark), DELTA);
- assertEquals(5.0, TmfStateSystemOperations.queryRangeAverage(ssqi, 500, 1500, quark), DELTA);
- assertEquals(90.0 / 7, TmfStateSystemOperations.queryRangeAverage(ssqi, 1500, 5000, quark), DELTA);
- assertEquals(90.0 / 5, TmfStateSystemOperations.queryRangeAverage(ssqi, 5000, 10000, quark), DELTA);
- assertEquals(14.0, TmfStateSystemOperations.queryRangeAverage(ssqi, 0, 10000, quark), DELTA);
- assertEquals(14.0, TmfStateSystemOperations.queryRangeAverage(ssqi, 0, 20000, quark), DELTA);
- assertEquals(14.0, TmfStateSystemOperations.queryRangeAverage(ssqi, 500, 20500, quark), DELTA);
- assertEquals(14.0, TmfStateSystemOperations.queryRangeAverage(ssqi, 1000, 21000, quark), DELTA);
- assertEquals(14.0, TmfStateSystemOperations.queryRangeAverage(ssqi, 2000, 22000, quark), DELTA);
- assertEquals(14.0, TmfStateSystemOperations.queryRangeAverage(ssqi, 3000, 23000, quark), DELTA);
- assertEquals(14.0, TmfStateSystemOperations.queryRangeAverage(ssqi, 4000, 24000, quark), DELTA);
- assertEquals(14.0, TmfStateSystemOperations.queryRangeAverage(ssqi, 5000, 25000, quark), DELTA);
- assertEquals(0.0, TmfStateSystemOperations.queryRangeAverage(ssqi, 120000, 120000, quark), DELTA);
- assertEquals(5.0, TmfStateSystemOperations.queryRangeAverage(ssqi, 120500, 121500, quark), DELTA);
- assertEquals(90.0 / 7, TmfStateSystemOperations.queryRangeAverage(ssqi, 121500, 125000, quark), DELTA);
- assertEquals(90.0 / 5, TmfStateSystemOperations.queryRangeAverage(ssqi, 125000, 130000, quark), DELTA);
- assertEquals(14.0, TmfStateSystemOperations.queryRangeAverage(ssqi, 120000, 130000, quark), DELTA);
- assertEquals(14.0, TmfStateSystemOperations.queryRangeAverage(ssqi, 100000, 150000, quark), DELTA);
- assertEquals(14.0, TmfStateSystemOperations.queryRangeAverage(ssqi, 240000, 250000, quark), DELTA);
- assertEquals(14.0, TmfStateSystemOperations.queryRangeAverage(ssqi, 0, 250000, quark), DELTA);
- assertEquals(0.0, TmfStateSystemOperations.queryRangeAverage(ssqi, 250000, 250000, quark), DELTA);
-
- } catch (AttributeNotFoundException e) {
- fail(e.getMessage());
- } catch (TimeRangeException e) {
- fail(e.getMessage());
- } catch (StateValueTypeException e) {
- fail(e.getMessage());
- }
- }
-
- /**
- * Test a query range to the state system to get the maximum value in the
- * range. The test values are DOUBLE.
- */
- @Test
- public void testQueryMipmapRangeMaxDouble() {
- assertNotNull(ssqd);
- try {
- int quark = ssqd.getQuarkAbsolute(TEST_ATTRIBUTE_NAME);
- assertEquals(TmfStateValue.nullValue(), TmfStateSystemOperations.queryRangeMax(ssqd, 0, 0, quark));
- assertEquals(10.0, TmfStateSystemOperations.queryRangeMax(ssqd, 500, 1500, quark).unboxDouble(), DELTA);
- assertEquals(20.0, TmfStateSystemOperations.queryRangeMax(ssqd, 1500, 5000, quark).unboxDouble(), DELTA);
- assertEquals(30.0, TmfStateSystemOperations.queryRangeMax(ssqd, 5000, 10000, quark).unboxDouble(), DELTA);
- assertEquals(30.0, TmfStateSystemOperations.queryRangeMax(ssqd, 0, 10000, quark).unboxDouble(), DELTA);
- assertEquals(TmfStateValue.nullValue(), TmfStateSystemOperations.queryRangeMax(ssqd, 120000, 120000, quark));
- assertEquals(10.0, TmfStateSystemOperations.queryRangeMax(ssqd, 120500, 121500, quark).unboxDouble(), DELTA);
- assertEquals(20.0, TmfStateSystemOperations.queryRangeMax(ssqd, 121500, 125000, quark).unboxDouble(), DELTA);
- assertEquals(30.0, TmfStateSystemOperations.queryRangeMax(ssqd, 125000, 130000, quark).unboxDouble(), DELTA);
- assertEquals(30.0, TmfStateSystemOperations.queryRangeMax(ssqd, 120000, 130000, quark).unboxDouble(), DELTA);
- assertEquals(30.0, TmfStateSystemOperations.queryRangeMax(ssqd, 100000, 150000, quark).unboxDouble(), DELTA);
- assertEquals(30.0, TmfStateSystemOperations.queryRangeMax(ssqd, 240000, 250000, quark).unboxDouble(), DELTA);
- assertEquals(30.0, TmfStateSystemOperations.queryRangeMax(ssqd, 0, 250000, quark).unboxDouble(), DELTA);
- assertEquals(00.0, TmfStateSystemOperations.queryRangeMax(ssqd, 250000, 250000, quark).unboxDouble(), DELTA);
-
- } catch (AttributeNotFoundException e) {
- fail(e.getMessage());
- } catch (StateValueTypeException e) {
- fail(e.getMessage());
- } catch (TimeRangeException e) {
- fail(e.getMessage());
- }
- }
-
- /**
- * Test a query range to the state system to get the minimum value in the
- * range. The test values are DOUBLE.
- */
- @Test
- public void testQueryMipmapRangeMinDouble() {
- assertNotNull(ssqd);
- try {
- int quark = ssqd.getQuarkAbsolute(TEST_ATTRIBUTE_NAME);
- assertEquals(TmfStateValue.nullValue(), TmfStateSystemOperations.queryRangeMin(ssqd, 0, 0, quark));
- assertEquals(10.0, TmfStateSystemOperations.queryRangeMin(ssqd, 500, 1500, quark).unboxDouble(), DELTA);
- assertEquals(10.0, TmfStateSystemOperations.queryRangeMin(ssqd, 1500, 5000, quark).unboxDouble(), DELTA);
- assertEquals(30.0, TmfStateSystemOperations.queryRangeMin(ssqd, 5000, 10000, quark).unboxDouble(), DELTA);
- assertEquals(10.0, TmfStateSystemOperations.queryRangeMin(ssqd, 0, 10000, quark).unboxDouble(), DELTA);
- assertEquals(TmfStateValue.nullValue(), TmfStateSystemOperations.queryRangeMin(ssqd, 120000, 120000, quark));
- assertEquals(10.0, TmfStateSystemOperations.queryRangeMin(ssqd, 120500, 121500, quark).unboxDouble(), DELTA);
- assertEquals(10.0, TmfStateSystemOperations.queryRangeMin(ssqd, 121500, 125000, quark).unboxDouble(), DELTA);
- assertEquals(30.0, TmfStateSystemOperations.queryRangeMin(ssqd, 125000, 130000, quark).unboxDouble(), DELTA);
- assertEquals(10.0, TmfStateSystemOperations.queryRangeMin(ssqd, 120000, 130000, quark).unboxDouble(), DELTA);
- assertEquals(10.0, TmfStateSystemOperations.queryRangeMin(ssqd, 100000, 150000, quark).unboxDouble(), DELTA);
- assertEquals(00.0, TmfStateSystemOperations.queryRangeMin(ssqd, 240000, 250000, quark).unboxDouble(), DELTA);
- assertEquals(00.0, TmfStateSystemOperations.queryRangeMin(ssqd, 0, 250000, quark).unboxDouble(), DELTA);
- assertEquals(00.0, TmfStateSystemOperations.queryRangeMin(ssqd, 250000, 250000, quark).unboxDouble(), DELTA);
-
- } catch (AttributeNotFoundException e) {
- fail(e.getMessage());
- } catch (StateValueTypeException e) {
- fail(e.getMessage());
- } catch (TimeRangeException e) {
- fail(e.getMessage());
- }
- }
-
- /**
- * Test a query range to the state system to get the average value in the
- * range. The test values are DOUBLE.
- */
- @Test
- public void testQueryMipmapRangeAvgDouble() {
- assertNotNull(ssqd);
- try {
- int quark = ssqd.getQuarkAbsolute(TEST_ATTRIBUTE_NAME);
- assertEquals(0.0, TmfStateSystemOperations.queryRangeAverage(ssqd, 0, 0, quark), DELTA);
- assertEquals(5.0, TmfStateSystemOperations.queryRangeAverage(ssqd, 500, 1500, quark), DELTA);
- assertEquals(90.0 / 7, TmfStateSystemOperations.queryRangeAverage(ssqd, 1500, 5000, quark), DELTA);
- assertEquals(90.0 / 5, TmfStateSystemOperations.queryRangeAverage(ssqd, 5000, 10000, quark), DELTA);
- assertEquals(14.0, TmfStateSystemOperations.queryRangeAverage(ssqd, 0, 10000, quark), DELTA);
- assertEquals(14.0, TmfStateSystemOperations.queryRangeAverage(ssqd, 0, 20000, quark), DELTA);
- assertEquals(14.0, TmfStateSystemOperations.queryRangeAverage(ssqd, 500, 20500, quark), DELTA);
- assertEquals(14.0, TmfStateSystemOperations.queryRangeAverage(ssqd, 1000, 21000, quark), DELTA);
- assertEquals(14.0, TmfStateSystemOperations.queryRangeAverage(ssqd, 2000, 22000, quark), DELTA);
- assertEquals(14.0, TmfStateSystemOperations.queryRangeAverage(ssqd, 3000, 23000, quark), DELTA);
- assertEquals(14.0, TmfStateSystemOperations.queryRangeAverage(ssqd, 4000, 24000, quark), DELTA);
- assertEquals(14.0, TmfStateSystemOperations.queryRangeAverage(ssqd, 5000, 25000, quark), DELTA);
- assertEquals(0.0, TmfStateSystemOperations.queryRangeAverage(ssqd, 120000, 120000, quark), DELTA);
- assertEquals(5.0, TmfStateSystemOperations.queryRangeAverage(ssqd, 120500, 121500, quark), DELTA);
- assertEquals(90.0 / 7, TmfStateSystemOperations.queryRangeAverage(ssqd, 121500, 125000, quark), DELTA);
- assertEquals(90.0 / 5, TmfStateSystemOperations.queryRangeAverage(ssqd, 125000, 130000, quark), DELTA);
- assertEquals(14.0, TmfStateSystemOperations.queryRangeAverage(ssqd, 120000, 130000, quark), DELTA);
- assertEquals(14.0, TmfStateSystemOperations.queryRangeAverage(ssqd, 100000, 150000, quark), DELTA);
- assertEquals(14.0, TmfStateSystemOperations.queryRangeAverage(ssqd, 240000, 250000, quark), DELTA);
- assertEquals(14.0, TmfStateSystemOperations.queryRangeAverage(ssqd, 0, 250000, quark), DELTA);
- assertEquals(0.0, TmfStateSystemOperations.queryRangeAverage(ssqd, 250000, 250000, quark), DELTA);
-
- } catch (AttributeNotFoundException e) {
- fail(e.getMessage());
- } catch (TimeRangeException e) {
- fail(e.getMessage());
- } catch (StateValueTypeException e) {
- fail(e.getMessage());
- }
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/synchronization/AllTests.java b/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/synchronization/AllTests.java
deleted file mode 100644
index 18e5442e6a..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/synchronization/AllTests.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 École Polytechnique de Montréal
- *
- * 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:
- * Geneviève Bastien - Initial implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.core.tests.synchronization;
-
-import org.junit.runner.RunWith;
-import org.junit.runners.Suite;
-
-/**
- * Test suite for org.eclipse.linuxtools.tmf.core.synchronization
- */
-@RunWith(Suite.class)
-@Suite.SuiteClasses({ TsTransformTest.class,
- SyncTest.class,
- TsTransformFactoryTest.class,
- TimeOffsetTest.class })
-public class AllTests {
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/synchronization/SyncTest.java b/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/synchronization/SyncTest.java
deleted file mode 100644
index 270df9f851..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/synchronization/SyncTest.java
+++ /dev/null
@@ -1,247 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 École Polytechnique de Montréal
- *
- * 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:
- * Geneviève Bastien - Initial implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.core.tests.synchronization;
-
-import static org.junit.Assert.assertEquals;
-
-import java.util.Collection;
-import java.util.LinkedList;
-
-import org.eclipse.linuxtools.tmf.core.event.matching.TmfEventDependency;
-import org.eclipse.linuxtools.tmf.core.synchronization.ITmfTimestampTransform;
-import org.eclipse.linuxtools.tmf.core.synchronization.SynchronizationAlgorithm;
-import org.eclipse.linuxtools.tmf.core.synchronization.SynchronizationAlgorithm.SyncQuality;
-import org.eclipse.linuxtools.tmf.core.synchronization.SynchronizationAlgorithmFactory;
-import org.eclipse.linuxtools.tmf.core.synchronization.TimestampTransformFactory;
-import org.eclipse.linuxtools.tmf.core.timestamp.TmfTimestamp;
-import org.eclipse.linuxtools.tmf.core.trace.ITmfTrace;
-import org.eclipse.linuxtools.tmf.tests.stubs.event.TmfSyncEventStub;
-import org.eclipse.linuxtools.tmf.tests.stubs.trace.TmfTraceStub;
-import org.junit.Before;
-import org.junit.Test;
-
-/**
- * Tests for {@link SynchronizationAlgorithm} and its descendants
- *
- * @author Geneviève Bastien
- */
-@SuppressWarnings("nls")
-public class SyncTest {
-
- private TmfTraceStub t1, t2;
- private Collection<ITmfTrace> fTraces;
-
- /**
- * Initializing the traces
- */
- @Before
- public void init() {
- t1 = new TmfTraceStub();
- t1.init("t1");
- t2 = new TmfTraceStub();
- t2.init("t2");
-
- Collection<ITmfTrace> traces = new LinkedList<>();
- traces.add(t1);
- traces.add(t2);
- fTraces = traces;
- }
-
- /**
- * Testing fully incremental algorithm with communication between the two
- * traces
- */
- @Test
- public void testFullyIncremental() {
-
- SynchronizationAlgorithm syncAlgo = SynchronizationAlgorithmFactory.getFullyIncrementalAlgorithm();
-
- syncAlgo.init(fTraces);
-
- assertEquals(SyncQuality.ABSENT, syncAlgo.getSynchronizationQuality(t1, t2));
- syncAlgo.addMatch(
- new TmfEventDependency(new TmfSyncEventStub(t2, new TmfTimestamp(1)),
- new TmfSyncEventStub(t1, new TmfTimestamp(1))
- ));
- assertEquals("SyncAlgorithmFullyIncremental [Between t1 and t2 [ alpha 1 beta 0 ]]", syncAlgo.toString());
- assertEquals(SyncQuality.INCOMPLETE, syncAlgo.getSynchronizationQuality(t1, t2));
-
- syncAlgo.addMatch(
- new TmfEventDependency(new TmfSyncEventStub(t1, new TmfTimestamp(1)),
- new TmfSyncEventStub(t2, new TmfTimestamp(3))
- ));
- assertEquals("SyncAlgorithmFullyIncremental [Between t1 and t2 [ alpha 1 beta 0 ]]", syncAlgo.toString());
- assertEquals(SyncQuality.INCOMPLETE, syncAlgo.getSynchronizationQuality(t1, t2));
-
- syncAlgo.addMatch(
- new TmfEventDependency(new TmfSyncEventStub(t2, new TmfTimestamp(2)),
- new TmfSyncEventStub(t1, new TmfTimestamp(3))
- ));
- assertEquals("SyncAlgorithmFullyIncremental [Between t1 and t2 [ alpha 1 beta 0.5 ]]", syncAlgo.toString());
- assertEquals(SyncQuality.APPROXIMATE, syncAlgo.getSynchronizationQuality(t1, t2));
-
- syncAlgo.addMatch(
- new TmfEventDependency(new TmfSyncEventStub(t1, new TmfTimestamp(3)),
- new TmfSyncEventStub(t2, new TmfTimestamp(5))
- ));
- assertEquals("SyncAlgorithmFullyIncremental [Between t1 and t2 [ alpha 0.75 beta 1.25 ]]", syncAlgo.toString());
- assertEquals(SyncQuality.ACCURATE, syncAlgo.getSynchronizationQuality(t1, t2));
-
- syncAlgo.addMatch(
- new TmfEventDependency(new TmfSyncEventStub(t1, new TmfTimestamp(4)),
- new TmfSyncEventStub(t2, new TmfTimestamp(8))
- ));
- assertEquals("SyncAlgorithmFullyIncremental [Between t1 and t2 [ alpha 0.75 beta 1.25 ]]", syncAlgo.toString());
- assertEquals(SyncQuality.ACCURATE, syncAlgo.getSynchronizationQuality(t1, t2));
-
- syncAlgo.addMatch(
- new TmfEventDependency(new TmfSyncEventStub(t2, new TmfTimestamp(4)),
- new TmfSyncEventStub(t1, new TmfTimestamp(5))
- ));
- assertEquals("SyncAlgorithmFullyIncremental [Between t1 and t2 [ alpha 1.125 beta 0.875 ]]", syncAlgo.toString());
- assertEquals(SyncQuality.ACCURATE, syncAlgo.getSynchronizationQuality(t1, t2));
-
- syncAlgo.addMatch(
- new TmfEventDependency(new TmfSyncEventStub(t2, new TmfTimestamp(4)),
- new TmfSyncEventStub(t1, new TmfTimestamp(6))
- ));
- assertEquals("SyncAlgorithmFullyIncremental [Between t1 and t2 [ alpha 1.125 beta 0.875 ]]", syncAlgo.toString());
- assertEquals(SyncQuality.ACCURATE, syncAlgo.getSynchronizationQuality(t1, t2));
-
- syncAlgo.addMatch(
- new TmfEventDependency(new TmfSyncEventStub(t1, new TmfTimestamp(6)),
- new TmfSyncEventStub(t2, new TmfTimestamp(7))
- ));
- assertEquals("SyncAlgorithmFullyIncremental [Between t1 and t2 [ alpha 0.725 beta 1.275 ]]", syncAlgo.toString());
- assertEquals(SyncQuality.ACCURATE, syncAlgo.getSynchronizationQuality(t1, t2));
-
- ITmfTimestampTransform tt2 = syncAlgo.getTimestampTransform(t2);
- ITmfTimestampTransform tt1 = syncAlgo.getTimestampTransform(t1);
-
- assertEquals(syncAlgo.getTimestampTransform(t1.getHostId()), tt1);
- assertEquals(TimestampTransformFactory.getDefaultTransform(), tt1);
- assertEquals(syncAlgo.getTimestampTransform(t2.getHostId()), tt2);
-
- /* Make the two hulls intersect */
- syncAlgo.addMatch(
- new TmfEventDependency(new TmfSyncEventStub(t1, new TmfTimestamp(7)),
- new TmfSyncEventStub(t2, new TmfTimestamp(4))
- ));
- syncAlgo.addMatch(
- new TmfEventDependency(new TmfSyncEventStub(t2, new TmfTimestamp(7)),
- new TmfSyncEventStub(t1, new TmfTimestamp(3))
- ));
- assertEquals(SyncQuality.FAIL, syncAlgo.getSynchronizationQuality(t1, t2));
- }
-
- /**
- * Testing the fully incremental synchronization algorithm when
- * communication goes in only one direction
- */
- @Test
- public void testOneHull() {
-
- SynchronizationAlgorithm syncAlgo = SynchronizationAlgorithmFactory.getFullyIncrementalAlgorithm();
-
- syncAlgo.init(fTraces);
-
- assertEquals(SyncQuality.ABSENT, syncAlgo.getSynchronizationQuality(t1, t2));
-
- syncAlgo.addMatch(
- new TmfEventDependency(new TmfSyncEventStub(t1, new TmfTimestamp(1)),
- new TmfSyncEventStub(t2, new TmfTimestamp(3)))
- );
- assertEquals(SyncQuality.INCOMPLETE, syncAlgo.getSynchronizationQuality(t1, t2));
-
- syncAlgo.addMatch(
- new TmfEventDependency(new TmfSyncEventStub(t1, new TmfTimestamp(2)),
- new TmfSyncEventStub(t2, new TmfTimestamp(5)))
- );
-
- assertEquals(SyncQuality.INCOMPLETE, syncAlgo.getSynchronizationQuality(t1, t2));
-
- syncAlgo.addMatch(
- new TmfEventDependency(new TmfSyncEventStub(t1, new TmfTimestamp(3)),
- new TmfSyncEventStub(t2, new TmfTimestamp(5)))
- );
- assertEquals(SyncQuality.INCOMPLETE, syncAlgo.getSynchronizationQuality(t1, t2));
-
- syncAlgo.addMatch(
- new TmfEventDependency(new TmfSyncEventStub(t1, new TmfTimestamp(4)),
- new TmfSyncEventStub(t2, new TmfTimestamp(7)))
- );
- assertEquals(SyncQuality.INCOMPLETE, syncAlgo.getSynchronizationQuality(t1, t2));
- assertEquals("SyncAlgorithmFullyIncremental [Between t1 and t2 [ alpha 1 beta 0 ]]", syncAlgo.toString());
-
- }
-
- /**
- * Testing the fully incremental synchronization algorithm when all
- * communication from trace1 to trace2 happens before all communication from
- * trace2 to trace1
- */
- @Test
- public void testDisjoint() {
-
- SynchronizationAlgorithm syncAlgo = SynchronizationAlgorithmFactory.getFullyIncrementalAlgorithm();
-
- syncAlgo.init(fTraces);
-
- assertEquals(SyncQuality.ABSENT, syncAlgo.getSynchronizationQuality(t1, t2));
-
- syncAlgo.addMatch(
- new TmfEventDependency(new TmfSyncEventStub(t1, new TmfTimestamp(1)),
- new TmfSyncEventStub(t2, new TmfTimestamp(3)))
- );
- assertEquals(SyncQuality.INCOMPLETE, syncAlgo.getSynchronizationQuality(t1, t2));
-
- syncAlgo.addMatch(
- new TmfEventDependency(new TmfSyncEventStub(t1, new TmfTimestamp(2)),
- new TmfSyncEventStub(t2, new TmfTimestamp(5)))
- );
-
- assertEquals(SyncQuality.INCOMPLETE, syncAlgo.getSynchronizationQuality(t1, t2));
-
- syncAlgo.addMatch(
- new TmfEventDependency(new TmfSyncEventStub(t1, new TmfTimestamp(3)),
- new TmfSyncEventStub(t2, new TmfTimestamp(5)))
- );
- assertEquals(SyncQuality.INCOMPLETE, syncAlgo.getSynchronizationQuality(t1, t2));
-
- syncAlgo.addMatch(
- new TmfEventDependency(new TmfSyncEventStub(t1, new TmfTimestamp(4)),
- new TmfSyncEventStub(t2, new TmfTimestamp(7)))
- );
- assertEquals(SyncQuality.INCOMPLETE, syncAlgo.getSynchronizationQuality(t1, t2));
- assertEquals("SyncAlgorithmFullyIncremental [Between t1 and t2 [ alpha 1 beta 0 ]]", syncAlgo.toString());
-
- syncAlgo.addMatch(
- new TmfEventDependency(new TmfSyncEventStub(t2, new TmfTimestamp(7)),
- new TmfSyncEventStub(t1, new TmfTimestamp(6)))
- );
- assertEquals(SyncQuality.APPROXIMATE, syncAlgo.getSynchronizationQuality(t1, t2));
-
- syncAlgo.addMatch(
- new TmfEventDependency(new TmfSyncEventStub(t2, new TmfTimestamp(8)),
- new TmfSyncEventStub(t1, new TmfTimestamp(6)))
- );
- assertEquals(SyncQuality.APPROXIMATE, syncAlgo.getSynchronizationQuality(t1, t2));
-
- syncAlgo.addMatch(
- new TmfEventDependency(new TmfSyncEventStub(t2, new TmfTimestamp(10)),
- new TmfSyncEventStub(t1, new TmfTimestamp(8)))
- );
- assertEquals(SyncQuality.APPROXIMATE, syncAlgo.getSynchronizationQuality(t1, t2));
- assertEquals("SyncAlgorithmFullyIncremental [Between t1 and t2 [ alpha 1 beta 2.5 ]]", syncAlgo.toString());
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/synchronization/TimeOffsetTest.java b/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/synchronization/TimeOffsetTest.java
deleted file mode 100644
index ba10d661d7..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/synchronization/TimeOffsetTest.java
+++ /dev/null
@@ -1,166 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 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:
- * Patrick Tasse - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.core.tests.synchronization;
-
-import static org.junit.Assert.assertEquals;
-
-import java.io.ByteArrayInputStream;
-import java.io.File;
-import java.io.IOException;
-import java.io.InputStream;
-import java.net.URISyntaxException;
-import java.net.URL;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.FileLocator;
-import org.eclipse.core.runtime.Path;
-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.synchronization.ITmfTimestampTransform;
-import org.eclipse.linuxtools.tmf.core.synchronization.TimestampTransformFactory;
-import org.eclipse.linuxtools.tmf.core.tests.TmfCoreTestPlugin;
-import org.eclipse.linuxtools.tmf.core.tests.shared.TmfTestTrace;
-import org.eclipse.linuxtools.tmf.core.trace.ITmfTrace;
-import org.eclipse.linuxtools.tmf.core.trace.TmfContext;
-import org.eclipse.linuxtools.tmf.tests.stubs.trace.TmfTraceStub;
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Rule;
-import org.junit.Test;
-import org.junit.rules.TestRule;
-import org.junit.rules.Timeout;
-
-/**
- * Test suite for time offset of traces.
- */
-@SuppressWarnings("javadoc")
-public class TimeOffsetTest {
-
- /** Time-out tests after 20 seconds */
- @Rule
- public TestRule globalTimeout= new Timeout(20000);
-
- // ------------------------------------------------------------------------
- // Variables
- // ------------------------------------------------------------------------
-
- private static final TmfTestTrace TEST_TRACE = TmfTestTrace.A_TEST_10K;
- private static final String PROJECT = "Test Project";
- private static final String RESOURCE = "Test Resource";
- private static final long ONE_MS = 1000000L;
- private IFile fResource;
-
- // ------------------------------------------------------------------------
- // Housekeeping
- // ------------------------------------------------------------------------
-
- @Before
- public void setUp() throws CoreException {
- IProject project = ResourcesPlugin.getWorkspace().getRoot().getProject(PROJECT);
- if (!project.exists()) {
- project.create(null);
- }
- project.open(null);
- fResource = project.getFile(RESOURCE);
- if (!fResource.exists()) {
- final InputStream source = new ByteArrayInputStream(new byte[0]);
- fResource.create(source, true, null);
- }
- fResource.setPersistentProperty(TmfCommonConstants.TRACE_SUPPLEMENTARY_FOLDER, fResource.getParent().getLocationURI().getPath());
- }
-
- @After
- public void tearDown() throws CoreException {
- if (fResource != null && fResource.exists()) {
- fResource.getProject().delete(true, null);
- }
- }
-
- private ITmfTrace createAndIndexTrace() throws URISyntaxException, IOException, TmfTraceException {
- final URL location = FileLocator.find(TmfCoreTestPlugin.getDefault().getBundle(), new Path(TEST_TRACE.getFullPath()), null);
- File testfile = new File(FileLocator.toFileURL(location).toURI());
- TmfTraceStub trace = new TmfTraceStub(fResource, testfile.toURI().getPath(), ITmfTrace.DEFAULT_TRACE_CACHE_SIZE, false, null);
- trace.indexTrace(true);
- return trace;
- }
-
- // ------------------------------------------------------------------------
- // Tests
- // ------------------------------------------------------------------------
-
- @Test
- public void testNoOffset() throws URISyntaxException, IOException, TmfTraceException {
- ITmfTrace trace = createAndIndexTrace();
- final TmfContext context = (TmfContext) trace.seekEvent(0);
-
- ITmfEvent event = trace.getNext(context);
- assertEquals("Event timestamp", 1, event.getTimestamp().getValue());
- event = trace.getNext(context);
- assertEquals("Event timestamp", 2, event.getTimestamp().getValue());
-
- trace.dispose();
- }
-
- @Test
- public void testPositiveOffset() throws URISyntaxException, IOException, TmfTraceException {
- ITmfTimestampTransform tt = TimestampTransformFactory.createWithOffset(ONE_MS);
- TimestampTransformFactory.setTimestampTransform(fResource, tt);
-
- ITmfTrace trace = createAndIndexTrace();
- final TmfContext context = (TmfContext) trace.seekEvent(0);
-
- ITmfEvent event = trace.getNext(context);
- assertEquals("Event timestamp", 2, event.getTimestamp().getValue());
- event = trace.getNext(context);
- assertEquals("Event timestamp", 3, event.getTimestamp().getValue());
-
- trace.dispose();
- }
-
- @Test
- public void testNegativeOffset() throws URISyntaxException, IOException, TmfTraceException {
- ITmfTimestampTransform tt = TimestampTransformFactory.createWithOffset(-ONE_MS);
- TimestampTransformFactory.setTimestampTransform(fResource, tt);
-
- ITmfTrace trace = createAndIndexTrace();
- final TmfContext context = (TmfContext) trace.seekEvent(0);
-
- ITmfEvent event = trace.getNext(context);
- assertEquals("Event timestamp", 0, event.getTimestamp().getValue());
- event = trace.getNext(context);
- assertEquals("Event timestamp", 1, event.getTimestamp().getValue());
-
- trace.dispose();
- }
-
- @Test
- public void testClearOffset() throws URISyntaxException, IOException, TmfTraceException {
- ITmfTimestampTransform tt = TimestampTransformFactory.createWithOffset(ONE_MS);
- TimestampTransformFactory.setTimestampTransform(fResource, tt);
- TimestampTransformFactory.setTimestampTransform(fResource, null);
-
- ITmfTrace trace = createAndIndexTrace();
- final TmfContext context = (TmfContext) trace.seekEvent(0);
-
- ITmfEvent event = trace.getNext(context);
- assertEquals("Event timestamp", 1, event.getTimestamp().getValue());
- event = trace.getNext(context);
- assertEquals("Event timestamp", 2, event.getTimestamp().getValue());
-
- trace.dispose();
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/synchronization/TsTransformFactoryTest.java b/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/synchronization/TsTransformFactoryTest.java
deleted file mode 100644
index 1ab11c3b7f..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/synchronization/TsTransformFactoryTest.java
+++ /dev/null
@@ -1,127 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 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:
- * Matthew Khouzam - Initial implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.core.tests.synchronization;
-
-import static org.junit.Assert.assertEquals;
-
-import java.math.BigDecimal;
-
-import org.eclipse.linuxtools.internal.tmf.core.synchronization.TmfConstantTransform;
-import org.eclipse.linuxtools.tmf.core.synchronization.ITmfTimestampTransform;
-import org.eclipse.linuxtools.tmf.core.synchronization.TimestampTransformFactory;
-import org.eclipse.linuxtools.tmf.core.timestamp.ITmfTimestamp;
-import org.eclipse.linuxtools.tmf.core.timestamp.TmfNanoTimestamp;
-import org.eclipse.linuxtools.tmf.core.timestamp.TmfTimestamp;
-import org.junit.Test;
-
-/**
- * Timestamp transform tests
- *
- * @author Matthew Khouzam
- *
- */
-public class TsTransformFactoryTest {
- private final ITmfTimestamp t0 = new TmfTimestamp(0);
- private final ITmfTimestamp t100 = new TmfTimestamp(100);
- private final ITmfTimestamp t1e2 = new TmfTimestamp(1, 2);
- private final ITmfTimestamp t1e3 = new TmfTimestamp(1, 3);
- private final ITmfTimestamp tn0 = new TmfNanoTimestamp(0);
- private final ITmfTimestamp tn100 = new TmfNanoTimestamp(100);
- private final ITmfTimestamp tn1 = new TmfNanoTimestamp(1);
- private final ITmfTimestampTransform identity1 = TimestampTransformFactory.createLinear(1.0, new TmfNanoTimestamp(0));
- private final ITmfTimestampTransform offset1 = TimestampTransformFactory.createWithOffset(100);
- private final ITmfTimestampTransform offset2 = TimestampTransformFactory.createLinear(BigDecimal.ONE, new BigDecimal(100));
- private final ITmfTimestampTransform offset3 = TimestampTransformFactory.createLinear(1.0, 100);
- private final ITmfTimestampTransform offset4 = TimestampTransformFactory.createLinear(1.0, new TmfNanoTimestamp(100));
-
- /**
- * Test with identity
- */
- @Test
- public void transformIdenity() {
- final ITmfTimestampTransform identity = TimestampTransformFactory.createWithOffset(0);
- final ITmfTimestampTransform innefficientIdentity = new TmfConstantTransform();
- final ITmfTimestampTransform compositeInnefficientIdentity = identity.composeWith(innefficientIdentity);
- final ITmfTimestampTransform compositeInnefficientIdentity2 = innefficientIdentity.composeWith(innefficientIdentity);
- final ITmfTimestampTransform compositeInnefficientIdentity3 = innefficientIdentity.composeWith(identity);
- assertEquals(t0, identity.transform(t0));
- assertEquals(tn0, identity.transform(tn0));
- assertEquals(t100, identity.transform(t100));
- assertEquals(t1e2, identity.transform(t100));
- assertEquals(t1e2, identity.transform(t1e2));
- assertEquals(t1e3, identity.transform(t1e3));
- assertEquals(tn100, identity.transform(tn100));
- assertEquals(t0, innefficientIdentity.transform(t0)); // bad practice
- assertEquals(t0, compositeInnefficientIdentity.transform(t0)); // bad
- // practice
- assertEquals(t0, compositeInnefficientIdentity2.transform(t0)); // bad
- // practice
- assertEquals(t0, compositeInnefficientIdentity3.transform(t0)); // bad
- // practice
- }
-
- /**
- * Test with an offset of 100
- */
- @Test
- public void transformOffset() {
- final ITmfTimestampTransform offset = offset1;
- final ITmfTimestampTransform compositeTransform = offset.composeWith(TimestampTransformFactory.createWithOffset(new TmfNanoTimestamp(-100)));
- assertEquals(tn100, offset.transform(t0));
- assertEquals(tn100, offset.transform(tn0));
- assertEquals(tn0, compositeTransform.transform(tn0));
- assertEquals(t0, compositeTransform.transform(t0));
- assertEquals(200, offset1.transform(100));
- assertEquals(200, offset2.transform(100));
- assertEquals(200, offset3.transform(100));
- assertEquals(200, offset4.transform(100));
- }
-
- /**
- * Test with a slope
- */
- @Test
- public void transformSlope() {
- final ITmfTimestampTransform slope = TimestampTransformFactory.createLinear(10, 0);
- final ITmfTimestampTransform slope1 = TimestampTransformFactory.createLinear(10.0, new TmfNanoTimestamp(0));
- assertEquals(t1e3, slope.transform(t1e2));
- assertEquals(tn100, slope.transform(new TmfNanoTimestamp(10)));
- assertEquals(tn100, slope.transform(slope.transform(tn1)));
- assertEquals(tn100, slope.composeWith(slope).transform(tn1));
- assertEquals(tn100, slope1.transform(new TmfNanoTimestamp(10)));
- }
-
- /**
- * Test toStrings
- */
- @Test
- public void testToString() {
- final String expectedLinear = "TmfTimestampLinear [ slope = 314.0, offset = 0.0 ]";
- final String expectedLinearBigDec = "TmfTimestampLinear [ slope = 314, offset = 0 ]";
- final String expectedOffset = "TmfConstantTransform [ offset = 314 ]";
- final String expectedIdentity = "TmfTimestampTransform [ IDENTITY ]";
- final String expectedOffset100 = "TmfConstantTransform [ offset = 100 ]";
- assertEquals(expectedLinear, TimestampTransformFactory.createLinear(314, 0).toString());
- assertEquals(expectedLinearBigDec, TimestampTransformFactory.createLinear(BigDecimal.valueOf(314), BigDecimal.ZERO).toString());
- assertEquals(expectedOffset, TimestampTransformFactory.createLinear(1, 314).toString());
- assertEquals(expectedOffset, TimestampTransformFactory.createWithOffset(314).toString());
- assertEquals(expectedOffset, TimestampTransformFactory.createWithOffset(14).composeWith(TimestampTransformFactory.createWithOffset(300)).toString());
- assertEquals(expectedIdentity, TimestampTransformFactory.createWithOffset(314).composeWith(TimestampTransformFactory.createWithOffset(-314)).toString());
- assertEquals(expectedIdentity, TimestampTransformFactory.createWithOffset(0).toString());
- assertEquals(expectedIdentity, identity1.toString());
- assertEquals(expectedOffset100, offset1.toString());
- assertEquals(expectedOffset100, offset2.toString());
- assertEquals(expectedOffset100, offset3.toString());
- assertEquals(expectedOffset100, offset4.toString());
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/synchronization/TsTransformTest.java b/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/synchronization/TsTransformTest.java
deleted file mode 100644
index 3d355ba147..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/synchronization/TsTransformTest.java
+++ /dev/null
@@ -1,144 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 École Polytechnique de Montréal
- *
- * 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:
- * Geneviève Bastien - Initial implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.core.tests.synchronization;
-
-import static org.junit.Assert.*;
-
-import java.math.BigDecimal;
-import java.util.HashMap;
-import java.util.Map;
-
-import org.eclipse.linuxtools.internal.tmf.core.synchronization.TmfTimestampTransform;
-import org.eclipse.linuxtools.internal.tmf.core.synchronization.TmfTimestampTransformLinear;
-import org.eclipse.linuxtools.tmf.core.synchronization.ITmfTimestampTransform;
-import org.eclipse.linuxtools.tmf.core.timestamp.ITmfTimestamp;
-import org.eclipse.linuxtools.tmf.core.timestamp.TmfTimestamp;
-import org.junit.Test;
-
-/**
- * Tests for {@link TmfTimestampTransform} and its descendants
- *
- * @author Geneviève Bastien
- */
-@SuppressWarnings("nls")
-public class TsTransformTest {
-
- private long ts = 1361657893526374091L;
- private ITmfTimestamp oTs = new TmfTimestamp(ts);
-
- /**
- * Test the linear transform
- */
- @Test
- public void testLinearTransform() {
- /* Default constructor */
- TmfTimestampTransformLinear ttl = new TmfTimestampTransformLinear();
- assertEquals(1361657893526374091L, ttl.transform(ts));
- assertEquals(1361657893526374091L, ttl.transform(oTs).getValue());
-
- /* Just an offset */
- ttl = new TmfTimestampTransformLinear(BigDecimal.valueOf(1.0), BigDecimal.valueOf(3));
- assertEquals(1361657893526374094L, ttl.transform(ts));
- assertEquals(1361657893526374094L, ttl.transform(oTs).getValue());
-
- /* Just a slope */
- ttl = new TmfTimestampTransformLinear(BigDecimal.valueOf(2.0), BigDecimal.valueOf(0));
- assertEquals(2723315787052748182L, ttl.transform(ts));
- assertEquals(2723315787052748182L, ttl.transform(oTs).getValue());
-
- /* Offset and slope */
- ttl = new TmfTimestampTransformLinear(BigDecimal.valueOf(2.0), BigDecimal.valueOf(3));
- assertEquals(2723315787052748185L, ttl.transform(ts));
- assertEquals(2723315787052748185L, ttl.transform(oTs).getValue());
-
- /* Offset and slope */
- ttl = new TmfTimestampTransformLinear(BigDecimal.valueOf(0.5), BigDecimal.valueOf(0));
- assertEquals(680828946763187045L, ttl.transform(ts));
- assertEquals(680828946763187045L, ttl.transform(oTs).getValue());
- }
-
- /**
- * Test for the identity transform
- */
- @Test
- public void testIdentityTransform() {
- ITmfTimestampTransform tt = TmfTimestampTransform.IDENTITY;
- assertEquals(ts, tt.transform(ts));
- assertEquals(oTs, tt.transform(oTs));
- }
-
- /**
- * Test hash and equals function
- */
- @Test
- public void testEquality() {
- Map<ITmfTimestampTransform, String> map = new HashMap<>();
- ITmfTimestampTransform ttl = new TmfTimestampTransformLinear(BigDecimal.valueOf(2.0), BigDecimal.valueOf(3));
- ITmfTimestampTransform ttl2 = new TmfTimestampTransformLinear(BigDecimal.valueOf(2.0), BigDecimal.valueOf(3));
- ITmfTimestampTransform ttl3 = new TmfTimestampTransformLinear(BigDecimal.valueOf(3), BigDecimal.valueOf(3));
- assertEquals(ttl, ttl2);
- assertFalse(ttl.equals(ttl3));
- assertFalse(ttl2.equals(ttl3));
-
- map.put(ttl, "a");
- assertTrue(map.containsKey(ttl2));
- assertEquals("a", map.get(ttl));
-
- ITmfTimestampTransform ti = TmfTimestampTransform.IDENTITY;
- assertEquals(TmfTimestampTransform.IDENTITY, ti);
- assertFalse(TmfTimestampTransform.IDENTITY.equals(ttl));
-
- map.put(ti, "b");
- assertTrue(map.containsKey(TmfTimestampTransform.IDENTITY));
- assertEquals("b", map.get(ti));
-
- assertFalse(ti.equals(ttl));
- assertFalse(ttl.equals(ti));
-
- }
-
- /**
- * Test the transform composition function
- */
- @Test
- public void testComposition() {
- long t = 100;
- ITmfTimestampTransform ti = TmfTimestampTransform.IDENTITY;
- ITmfTimestampTransform ttl = new TmfTimestampTransformLinear(BigDecimal.valueOf(2.0), BigDecimal.valueOf(3));
- ITmfTimestampTransform ttl2 = new TmfTimestampTransformLinear(BigDecimal.valueOf(1.5), BigDecimal.valueOf(8));
-
- ITmfTimestampTransform tc1 = ti.composeWith(ttl);
- /* Should be ttl */
- assertEquals(ttl, tc1);
- assertEquals(203, tc1.transform(t));
-
- tc1 = ttl.composeWith(ti);
- /* Should be ttl also */
- assertEquals(ttl, tc1);
- assertEquals(203, tc1.transform(t));
-
- tc1 = ti.composeWith(ti);
- /* Should be identity */
- assertEquals(tc1, TmfTimestampTransform.IDENTITY);
- assertEquals(100, tc1.transform(t));
-
- tc1 = ttl.composeWith(ttl2);
- assertEquals(ttl.transform(ttl2.transform(t)), tc1.transform(t));
- assertEquals(319, tc1.transform(t));
-
- tc1 = ttl2.composeWith(ttl);
- assertEquals(ttl2.transform(ttl.transform(t)), tc1.transform(t));
- assertEquals(312, tc1.transform(t));
-
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/trace/AllTests.java b/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/trace/AllTests.java
deleted file mode 100644
index 657ce1b761..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/trace/AllTests.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009, 2013 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
- * Alexandre Montplaisir - Port to JUnit4
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.core.tests.trace;
-
-import org.junit.runner.RunWith;
-import org.junit.runners.Suite;
-
-/**
- * Test suite for org.eclipse.linuxtools.tmf.core.trace
- */
-@RunWith(Suite.class)
-@Suite.SuiteClasses({
- TmfContextTest.class,
- TmfExperimentTest.class,
- TmfMultiTraceExperimentTest.class,
- TmfTraceTest.class
-})
-public class AllTests {} \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/trace/TmfContextTest.java b/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/trace/TmfContextTest.java
deleted file mode 100644
index e5f76dc206..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/trace/TmfContextTest.java
+++ /dev/null
@@ -1,255 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009, 2013 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 - Adapted for TMF Trace Model 1.0
- * Alexandre Montplaisir - Port to JUnit4
- * Patrick Tasse - Updated for removal of context clone
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.core.tests.trace;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertTrue;
-import static org.junit.Assert.fail;
-
-import org.eclipse.linuxtools.tmf.core.timestamp.TmfTimestamp;
-import org.eclipse.linuxtools.tmf.core.trace.ITmfContext;
-import org.eclipse.linuxtools.tmf.core.trace.TmfContext;
-import org.eclipse.linuxtools.tmf.core.trace.location.TmfLongLocation;
-import org.eclipse.linuxtools.tmf.core.trace.location.TmfTimestampLocation;
-import org.junit.Test;
-
-/**
- * Test suite for the TmfContext class.
- */
-@SuppressWarnings("javadoc")
-public class TmfContextTest {
-
- // ------------------------------------------------------------------------
- // Variables
- // ------------------------------------------------------------------------
-
- private final Long aLong = 12345L;
- private final TmfTimestamp aTimestamp = new TmfTimestamp();
-
- private final TmfLongLocation fLocation1 = new TmfLongLocation(aLong);
- private final TmfTimestampLocation fLocation2 = new TmfTimestampLocation(aTimestamp);
-
- private final long fRank1 = 1;
- private final long fRank2 = 2;
-
- private final TmfContext fContext1 = new TmfContext(fLocation1, fRank1);
- private final TmfContext fContext2 = new TmfContext(fLocation2, fRank2);
-
- // ------------------------------------------------------------------------
- // Constructors
- // ------------------------------------------------------------------------
-
- @Test
- public void testTmfContextDefault() {
- final TmfContext context = new TmfContext();
- assertEquals("getLocation", null, context.getLocation());
- assertEquals("getRank", ITmfContext.UNKNOWN_RANK, context.getRank());
- }
-
- @Test
- public void testTmfContextNoRank() {
- final TmfContext context1 = new TmfContext(fLocation1);
- final TmfContext context2 = new TmfContext(fLocation2);
-
- assertEquals("getLocation", fLocation1, context1.getLocation());
- assertEquals("getLocation", fLocation2, context2.getLocation());
-
- assertEquals("getRank", ITmfContext.UNKNOWN_RANK, context1.getRank());
- assertEquals("getRank", ITmfContext.UNKNOWN_RANK, context2.getRank());
- }
-
- @Test
- public void testTmfContext() {
- assertEquals("getLocation", fLocation1, fContext1.getLocation());
- assertEquals("getLocation", fLocation2, fContext2.getLocation());
-
- assertEquals("getRank", fRank1, fContext1.getRank());
- assertEquals("getRank", fRank2, fContext2.getRank());
- }
-
- @Test
- public void testTmfContextCopy() {
- final TmfContext context1 = new TmfContext(fContext1);
- final TmfContext context2 = new TmfContext(fContext2);
-
- assertEquals("getLocation", fLocation1, context1.getLocation());
- assertEquals("getLocation", fLocation2, context2.getLocation());
-
- assertEquals("getRank", fRank1, context1.getRank());
- assertEquals("getRank", fRank2, context2.getRank());
- }
-
- @Test
- public void testTmfContextCopy2() {
- try {
- new TmfContext((TmfContext) null);
- fail("Copy constructor: no exception");
- }
- catch (final IllegalArgumentException e) {
- // pass
- }
- catch (final Exception e) {
- fail("Copy constructor: wrong exception");
- }
- }
-
- // ------------------------------------------------------------------------
- // equals
- // ------------------------------------------------------------------------
-
- @Test
- public void testEqualsReflexivity() {
- assertTrue("equals", fContext1.equals(fContext1));
- assertTrue("equals", fContext2.equals(fContext2));
-
- assertFalse("equals", fContext1.equals(fContext2));
- assertFalse("equals", fContext2.equals(fContext1));
- }
-
- @Test
- public void testEqualsSymmetry() {
- final TmfContext context1 = new TmfContext(fContext1);
- final TmfContext context2 = new TmfContext(fContext2);
-
- assertTrue("equals", context1.equals(fContext1));
- assertTrue("equals", fContext1.equals(context1));
-
- assertTrue("equals", context2.equals(fContext2));
- assertTrue("equals", fContext2.equals(context2));
- }
-
- @Test
- public void testEqualsTransivity() {
- final TmfContext context1 = new TmfContext(fContext1);
- final TmfContext context2 = new TmfContext(context1);
- final TmfContext context3 = new TmfContext(context2);
-
- assertTrue("equals", context1.equals(context2));
- assertTrue("equals", context2.equals(context3));
- assertTrue("equals", context1.equals(context3));
- }
-
- @Test
- public void testEqualsNull() {
- assertFalse("equals", fContext1.equals(null));
- assertFalse("equals", fContext2.equals(null));
- }
-
- private static class MyContext extends TmfContext {
- }
-
- @Test
- public void testNonEquals() {
-
- // Different classes
- final MyContext myContext = new MyContext();
- assertFalse("equals", fContext1.equals(myContext));
- assertFalse("equals", myContext.equals(fContext1));
-
- // Different locations
- TmfContext context1 = new TmfContext(fContext1);
- TmfContext context2 = new TmfContext(fContext1);
- context1.setLocation(null);
- context2.setLocation(null);
-
- assertFalse("equals", fContext1.equals(context1));
- assertFalse("equals", context1.equals(fContext1));
- assertTrue("equals", context1.equals(context2));
-
- // Different ranks
- context1 = new TmfContext(fContext1);
- context2 = new TmfContext(fContext1);
- context1.setRank(fContext1.getRank() + 1);
- context2.setRank(fContext1.getRank() + 2);
-
- assertFalse("equals", fContext1.equals(context1));
- assertFalse("equals", context1.equals(fContext1));
- assertFalse("equals", context1.equals(context2));
- }
-
- // ------------------------------------------------------------------------
- // hashCode
- // ------------------------------------------------------------------------
-
- @Test
- public void testHashCode() {
- final TmfContext context1 = new TmfContext(fContext1);
- final TmfContext context2 = new TmfContext(fContext2);
-
- assertEquals("hashCode", fContext1.hashCode(), context1.hashCode());
- assertEquals("hashCode", fContext2.hashCode(), context2.hashCode());
-
- assertFalse("hashCode", fContext1.hashCode() == context2.hashCode());
- assertFalse("hashCode", fContext2.hashCode() == context1.hashCode());
-
- final TmfContext nullContext1 = new TmfContext();
- final TmfContext nullContext2 = new TmfContext(nullContext1);
- assertEquals("hashCode", nullContext1.hashCode(), nullContext2.hashCode());
- }
-
- // ------------------------------------------------------------------------
- // toString
- // ------------------------------------------------------------------------
-
- @Test
- public void testToString() {
- final String expected1 = "TmfContext [fLocation=" + fLocation1 + ", fRank=" + fRank1 + "]";
- final String expected2 = "TmfContext [fLocation=" + fLocation2 + ", fRank=" + fRank2 + "]";
-
- assertEquals("toString", expected1, fContext1.toString());
- assertEquals("toString", expected2, fContext2.toString());
- }
-
- // ------------------------------------------------------------------------
- // setLocation, setRank, updateRank
- // ------------------------------------------------------------------------
-
- @Test
- public void testSetLocation() {
- final TmfContext context1 = new TmfContext(fContext1);
- context1.setLocation(fContext2.getLocation());
-
- assertEquals("getLocation", fLocation2, context1.getLocation());
- assertEquals("getRank", fRank1, context1.getRank());
- }
-
- @Test
- public void testSetRank() {
- final TmfContext context1 = new TmfContext(fContext1);
- context1.setRank(fContext2.getRank());
-
- assertEquals("getLocation", fLocation1, context1.getLocation());
- assertEquals("getRank", fRank2, context1.getRank());
- }
-
- @Test
- public void testIncreaseRank() {
- final TmfContext context1 = new TmfContext(fContext1);
-
- context1.increaseRank();
- assertEquals("getRank", fRank1 + 1, context1.getRank());
- context1.increaseRank();
- assertEquals("getRank", fRank1 + 2, context1.getRank());
-
- context1.setRank(ITmfContext.UNKNOWN_RANK);
- context1.increaseRank();
- assertEquals("getRank", ITmfContext.UNKNOWN_RANK, context1.getRank());
- context1.increaseRank();
- assertEquals("getRank", ITmfContext.UNKNOWN_RANK, context1.getRank());
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/trace/TmfExperimentTest.java b/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/trace/TmfExperimentTest.java
deleted file mode 100644
index a8635e6592..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/trace/TmfExperimentTest.java
+++ /dev/null
@@ -1,941 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009, 2014 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
- * Alexandre Montplaisir - Port to JUnit4
- * Patrick Tasse - Updated for rank in experiment location
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.core.tests.trace;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertNull;
-import static org.junit.Assert.assertTrue;
-
-import java.io.File;
-import java.io.IOException;
-import java.net.URISyntaxException;
-import java.net.URL;
-import java.util.Vector;
-
-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.tmf.core.analysis.IAnalysisModule;
-import org.eclipse.linuxtools.tmf.core.event.ITmfEvent;
-import org.eclipse.linuxtools.tmf.core.exceptions.TmfTraceException;
-import org.eclipse.linuxtools.tmf.core.request.ITmfEventRequest;
-import org.eclipse.linuxtools.tmf.core.request.ITmfEventRequest.ExecutionType;
-import org.eclipse.linuxtools.tmf.core.request.TmfEventRequest;
-import org.eclipse.linuxtools.tmf.core.signal.TmfTraceOpenedSignal;
-import org.eclipse.linuxtools.tmf.core.tests.TmfCoreTestPlugin;
-import org.eclipse.linuxtools.tmf.core.tests.shared.TmfTestTrace;
-import org.eclipse.linuxtools.tmf.core.timestamp.TmfTimeRange;
-import org.eclipse.linuxtools.tmf.core.timestamp.TmfTimestamp;
-import org.eclipse.linuxtools.tmf.core.trace.ITmfContext;
-import org.eclipse.linuxtools.tmf.core.trace.ITmfTrace;
-import org.eclipse.linuxtools.tmf.core.trace.TmfExperiment;
-import org.eclipse.linuxtools.tmf.core.trace.location.ITmfLocation;
-import org.eclipse.linuxtools.tmf.core.trace.location.TmfLongLocation;
-import org.eclipse.linuxtools.tmf.tests.stubs.analysis.TestExperimentAnalysis;
-import org.eclipse.linuxtools.tmf.tests.stubs.trace.TmfExperimentStub;
-import org.eclipse.linuxtools.tmf.tests.stubs.trace.TmfTraceStub;
-import org.junit.Before;
-import org.junit.Test;
-
-/**
- * Test suite for the TmfExperiment class (single trace).
- */
-@SuppressWarnings("javadoc")
-public class TmfExperimentTest {
-
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
-
- private static final String EXPERIMENT = "MyExperiment";
- private static int NB_EVENTS = 10000;
- private static int BLOCK_SIZE = 1000;
-
- private static final double DELTA = 1e-15;
-
- private ITmfTrace[] fTestTraces;
- private TmfExperimentStub fExperiment;
-
- private static byte SCALE = (byte) -3;
-
- // ------------------------------------------------------------------------
- // Housekeeping
- // ------------------------------------------------------------------------
-
- 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, null);
- fTestTraces[0] = trace;
- } catch (final TmfTraceException e) {
- e.printStackTrace();
- } catch (final URISyntaxException e) {
- e.printStackTrace();
- } catch (final IOException e) {
- e.printStackTrace();
- }
- }
- return fTestTraces;
- }
-
- private synchronized void setupExperiment() {
- if (fExperiment == null) {
- fExperiment = new TmfExperimentStub(EXPERIMENT, fTestTraces, BLOCK_SIZE);
- fExperiment.getIndexer().buildIndex(0, TmfTimeRange.ETERNITY, true);
- }
- }
-
- @Before
- public void setUp() {
- setupTrace(TmfTestTrace.A_TEST_10K.getFullPath());
- setupExperiment();
- }
-
- // ------------------------------------------------------------------------
- // Constructor
- // ------------------------------------------------------------------------
-
- @Test
- public void testSimpleTmfExperimentConstructor() {
- TmfExperiment experiment = new TmfExperiment(ITmfEvent.class, EXPERIMENT, fTestTraces);
- assertEquals("GetId", EXPERIMENT, experiment.getName());
- assertEquals("GetCacheSize", TmfExperiment.DEFAULT_INDEX_PAGE_SIZE, experiment.getCacheSize());
- experiment.dispose();
-
- experiment = new TmfExperiment(ITmfEvent.class, EXPERIMENT, null);
- experiment.dispose();
- }
-
- @Test
- public void testNormalTmfExperimentConstructor() {
- assertEquals("GetId", EXPERIMENT, fExperiment.getName());
- assertEquals("GetNbEvents", NB_EVENTS, fExperiment.getNbEvents());
-
- final long nbExperimentEvents = fExperiment.getNbEvents();
- assertEquals("GetNbEvents", NB_EVENTS, nbExperimentEvents);
-
- final long nbTraceEvents = fExperiment.getTraces()[0].getNbEvents();
- assertEquals("GetNbEvents", NB_EVENTS, nbTraceEvents);
-
- final TmfTimeRange timeRange = fExperiment.getTimeRange();
- assertEquals("getStartTime", 1, timeRange.getStartTime().getValue());
- assertEquals("getEndTime", NB_EVENTS, timeRange.getEndTime().getValue());
- }
-
- // ------------------------------------------------------------------------
- // Experiment setup
- // ------------------------------------------------------------------------
-
- @Test
- public void testExperimentInitialization() {
- /*
- * Calling default constructor, then init should be equivalent to
- * calling the full constructor
- */
-
- TmfExperimentStub experiment = new TmfExperimentStub();
- experiment.initExperiment(ITmfEvent.class, EXPERIMENT, fTestTraces, 5000, null);
- experiment.getIndexer().buildIndex(0, TmfTimeRange.ETERNITY, true);
-
- assertEquals("GetId", EXPERIMENT, fExperiment.getName());
- assertEquals("GetNbEvents", NB_EVENTS, fExperiment.getNbEvents());
-
- final long nbExperimentEvents = fExperiment.getNbEvents();
- assertEquals("GetNbEvents", NB_EVENTS, nbExperimentEvents);
-
- final long nbTraceEvents = fExperiment.getTraces()[0].getNbEvents();
- assertEquals("GetNbEvents", NB_EVENTS, nbTraceEvents);
-
- final TmfTimeRange timeRange = fExperiment.getTimeRange();
- assertEquals("getStartTime", 1, timeRange.getStartTime().getValue());
- assertEquals("getEndTime", NB_EVENTS, timeRange.getEndTime().getValue());
- }
-
- // ------------------------------------------------------------------------
- // getTimestamp
- // ------------------------------------------------------------------------
-
- @Test
- public void testGetTimestamp() {
- assertEquals("getTimestamp", new TmfTimestamp( 1, (byte) -3), fExperiment.getTimestamp( 0));
- assertEquals("getTimestamp", new TmfTimestamp( 2, (byte) -3), fExperiment.getTimestamp( 1));
- assertEquals("getTimestamp", new TmfTimestamp( 11, (byte) -3), fExperiment.getTimestamp( 10));
- assertEquals("getTimestamp", new TmfTimestamp( 101, (byte) -3), fExperiment.getTimestamp( 100));
- assertEquals("getTimestamp", new TmfTimestamp( 1001, (byte) -3), fExperiment.getTimestamp(1000));
- assertEquals("getTimestamp", new TmfTimestamp( 2001, (byte) -3), fExperiment.getTimestamp(2000));
- assertEquals("getTimestamp", new TmfTimestamp( 2501, (byte) -3), fExperiment.getTimestamp(2500));
- assertEquals("getTimestamp", new TmfTimestamp(10000, (byte) -3), fExperiment.getTimestamp(9999));
- assertNull("getTimestamp", fExperiment.getTimestamp(10000));
- }
-
- // ------------------------------------------------------------------------
- // State system, statistics and modules methods
- // ------------------------------------------------------------------------
-
- @Test
- public void testGetAnalysisModules() {
- /* There should not be any modules at this point */
- Iterable<IAnalysisModule> modules = fExperiment.getAnalysisModules();
- assertFalse(modules.iterator().hasNext());
-
- /* Open the experiment, the modules should be populated */
- fExperiment.traceOpened(new TmfTraceOpenedSignal(this, fExperiment, null));
- modules = fExperiment.getAnalysisModules();
- Iterable<TestExperimentAnalysis> testModules = fExperiment.getAnalysisModulesOfClass(TestExperimentAnalysis.class);
- assertTrue(modules.iterator().hasNext());
- assertTrue(testModules.iterator().hasNext());
- }
-
- // ------------------------------------------------------------------------
- // seekEvent by location
- // ------------------------------------------------------------------------
-
- @Test
- public void testSeekBadLocation() {
- ITmfContext context = fExperiment.seekEvent(new TmfLongLocation(0L));
- assertNull("seekEvent", context);
- }
-
- @Test
- public void testSeekNoTrace() {
- TmfExperiment experiment = new TmfExperiment(ITmfEvent.class, EXPERIMENT, null);
- ITmfContext context = experiment.seekEvent((TmfExperimentLocation) null);
- assertNull("seekEvent", context);
- experiment.dispose();
- }
-
- // ------------------------------------------------------------------------
- // seekEvent on ratio
- // ------------------------------------------------------------------------
-
- @Test
- public void testSeekEventOnRatio() {
- // 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());
- }
-
- @Test
- public void testGetLocationRatio() {
- // First event
- ITmfContext context = fExperiment.seekEvent((ITmfLocation) null);
- double ratio = fExperiment.getLocationRatio(context.getLocation());
- assertEquals("getLocationRatio", 0.0, ratio, DELTA);
-
- // Middle event
- context = fExperiment.seekEvent(NB_EVENTS / 2);
- ratio = fExperiment.getLocationRatio(context.getLocation());
- assertEquals("getLocationRatio", (double) (NB_EVENTS / 2) / NB_EVENTS, ratio, DELTA);
-
- // Last event
- context = fExperiment.seekEvent(NB_EVENTS - 1);
- ratio = fExperiment.getLocationRatio(context.getLocation());
- assertEquals("getLocationRatio", (double) (NB_EVENTS - 1) / NB_EVENTS, ratio, DELTA);
- }
-
-// @SuppressWarnings("rawtypes")
-// public void testGetCurrentLocation() {
-// ITmfContext context = fExperiment.seekEvent((ITmfLocation) null);
-// ITmfLocation location = fExperiment.getCurrentLocation();
-// assertEquals("getCurrentLocation", location, context.getLocation());
-// }
-
- // ------------------------------------------------------------------------
- // seekEvent on rank
- // ------------------------------------------------------------------------
-
- @Test
- public void testSeekRankOnCacheBoundary() {
- long cacheSize = fExperiment.getCacheSize();
-
- // On lower bound, returns the first event (TS = 1)
- ITmfContext context = fExperiment.seekEvent(0);
- assertEquals("Context rank", 0, context.getRank());
-
- ITmfEvent event = fExperiment.getNext(context);
- assertEquals("Event timestamp", 1, event.getTimestamp().getValue());
- assertEquals("Context rank", 1, context.getRank());
-
- // Position trace at event rank [cacheSize]
- context = fExperiment.seekEvent(cacheSize);
- assertEquals("Context rank", cacheSize, context.getRank());
-
- event = fExperiment.getNext(context);
- assertEquals("Event timestamp", cacheSize + 1, event.getTimestamp().getValue());
- assertEquals("Context rank", cacheSize + 1, context.getRank());
-
- // Position trace at event rank [4 * cacheSize]
- context = fExperiment.seekEvent(4 * cacheSize);
- assertEquals("Context rank", 4 * cacheSize, context.getRank());
-
- event = fExperiment.getNext(context);
- assertEquals("Event timestamp", 4 * cacheSize + 1, event.getTimestamp().getValue());
- assertEquals("Context rank", 4 * cacheSize + 1, context.getRank());
- }
-
- @Test
- public void testSeekRankNotOnCacheBoundary() {
- long cacheSize = fExperiment.getCacheSize();
-
- // Position trace at event rank 9
- ITmfContext context = fExperiment.seekEvent(9);
- assertEquals("Context rank", 9, context.getRank());
-
- ITmfEvent event = fExperiment.getNext(context);
- assertEquals("Event timestamp", 10, event.getTimestamp().getValue());
- assertEquals("Context rank", 10, context.getRank());
-
- // Position trace at event rank [cacheSize - 1]
- context = fExperiment.seekEvent(cacheSize - 1);
- assertEquals("Context rank", cacheSize - 1, context.getRank());
-
- event = fExperiment.getNext(context);
- assertEquals("Event timestamp", cacheSize, event.getTimestamp().getValue());
- assertEquals("Context rank", cacheSize, context.getRank());
-
- // Position trace at event rank [cacheSize + 1]
- context = fExperiment.seekEvent(cacheSize + 1);
- assertEquals("Context rank", cacheSize + 1, context.getRank());
-
- event = fExperiment.getNext(context);
- assertEquals("Event timestamp", cacheSize + 2, event.getTimestamp().getValue());
- assertEquals("Context rank", cacheSize + 2, context.getRank());
-
- // Position trace at event rank 4500
- context = fExperiment.seekEvent(4500);
- assertEquals("Context rank", 4500, context.getRank());
-
- event = fExperiment.getNext(context);
- assertEquals("Event timestamp", 4501, event.getTimestamp().getValue());
- assertEquals("Context rank", 4501, context.getRank());
- }
-
- @Test
- public void testSeekRankOutOfScope() {
- // Position trace at beginning
- ITmfContext context = fExperiment.seekEvent(-1);
- assertEquals("Event rank", 0, context.getRank());
-
- ITmfEvent event = fExperiment.getNext(context);
- assertEquals("Event timestamp", 1, event.getTimestamp().getValue());
- assertEquals("Context rank", 1, context.getRank());
-
- // Position trace at event passed the end
- context = fExperiment.seekEvent(NB_EVENTS);
- assertEquals("Context rank", NB_EVENTS, context.getRank());
-
- event = fExperiment.getNext(context);
- assertNull("Event", event);
- assertEquals("Context rank", NB_EVENTS, context.getRank());
- }
-
- // ------------------------------------------------------------------------
- // seekEvent on timestamp
- // ------------------------------------------------------------------------
-
- @Test
- public void testSeekTimestampOnCacheBoundary() {
- long cacheSize = fExperiment.getCacheSize();
-
- // Position trace at event rank 0
- ITmfContext context = fExperiment.seekEvent(new TmfTimestamp(1, SCALE, 0));
- assertEquals("Context rank", 0, context.getRank());
-
- ITmfEvent event = fExperiment.getNext(context);
- assertEquals("Event timestamp", 1, event.getTimestamp().getValue());
- assertEquals("Context rank", 1, context.getRank());
-
- // Position trace at event rank [cacheSize]
- context = fExperiment.seekEvent(new TmfTimestamp(cacheSize + 1, SCALE, 0));
- assertEquals("Event rank", cacheSize, context.getRank());
-
- event = fExperiment.getNext(context);
- assertEquals("Event timestamp", cacheSize + 1, event.getTimestamp().getValue());
- assertEquals("Context rank", cacheSize + 1, context.getRank());
-
- // Position trace at event rank [4 * cacheSize]
- context = fExperiment.seekEvent(new TmfTimestamp(4 * cacheSize + 1, SCALE, 0));
- assertEquals("Context rank", 4 * cacheSize, context.getRank());
-
- event = fExperiment.getNext(context);
- assertEquals("Event timestamp", 4 * cacheSize + 1, event.getTimestamp().getValue());
- assertEquals("Context rank", 4 * cacheSize + 1, context.getRank());
- }
-
- @Test
- public void testSeekTimestampNotOnCacheBoundary() {
- // Position trace at event rank 1 (TS = 2)
- ITmfContext context = fExperiment.seekEvent(new TmfTimestamp(2, SCALE, 0));
- assertEquals("Context rank", 1, context.getRank());
-
- ITmfEvent event = fExperiment.getNext(context);
- assertEquals("Event timestamp", 2, event.getTimestamp().getValue());
- assertEquals("Context rank", 2, context.getRank());
-
- // Position trace at event rank 9 (TS = 10)
- context = fExperiment.seekEvent(new TmfTimestamp(10, SCALE, 0));
- assertEquals("Context rank", 9, context.getRank());
-
- event = fExperiment.getNext(context);
- assertEquals("Event timestamp", 10, event.getTimestamp().getValue());
- assertEquals("Context rank", 10, context.getRank());
-
- // Position trace at event rank 999 (TS = 1000)
- context = fExperiment.seekEvent(new TmfTimestamp(1000, SCALE, 0));
- assertEquals("Context rank", 999, context.getRank());
-
- event = fExperiment.getNext(context);
- assertEquals("Event timestamp", 1000, event.getTimestamp().getValue());
- assertEquals("Context rank", 1000, context.getRank());
-
- // Position trace at event rank 1001 (TS = 1002)
- context = fExperiment.seekEvent(new TmfTimestamp(1002, SCALE, 0));
- assertEquals("Context rank", 1001, context.getRank());
-
- event = fExperiment.getNext(context);
- assertEquals("Event timestamp", 1002, event.getTimestamp().getValue());
- assertEquals("Context rank", 1002, context.getRank());
-
- // Position trace at event rank 4500 (TS = 4501)
- context = fExperiment.seekEvent(new TmfTimestamp(4501, SCALE, 0));
- assertEquals("Context rank", 4500, context.getRank());
-
- event = fExperiment.getNext(context);
- assertEquals("Event timestamp", 4501, event.getTimestamp().getValue());
- assertEquals("Context rank", 4501, context.getRank());
- }
-
- @Test
- public void testSeekTimestampOutOfScope() {
- // Position trace at beginning
- ITmfContext context = fExperiment.seekEvent(new TmfTimestamp(-1, SCALE, 0));
- assertEquals("Event rank", 0, context.getRank());
-
- ITmfEvent event = fExperiment.getNext(context);
- assertEquals("Event timestamp", 1, event.getTimestamp().getValue());
- assertEquals("Event rank", 1, context.getRank());
-
- // Position trace at event passed the end
- context = fExperiment.seekEvent(new TmfTimestamp(NB_EVENTS + 1, SCALE, 0));
- event = fExperiment.getNext(context);
- assertNull("Event location", event);
- assertEquals("Event rank", ITmfContext.UNKNOWN_RANK, context.getRank());
- }
-
- // ------------------------------------------------------------------------
- // seekEvent by location (context rank is undefined)
- // ------------------------------------------------------------------------
-
- @Test
- public void testSeekLocationOnCacheBoundary() {
- long cacheSize = fExperiment.getCacheSize();
-
- // Position trace at event rank 0
- ITmfContext tmpContext = fExperiment.seekEvent(0);
- ITmfContext context = fExperiment.seekEvent(tmpContext.getLocation());
-
- ITmfEvent event = fExperiment.getNext(context);
- assertEquals("Event timestamp", 1, event.getTimestamp().getValue());
-
- event = fExperiment.getNext(context);
- assertEquals("Event timestamp", 2, event.getTimestamp().getValue());
-
- // Position trace at event rank 'cacheSize'
- tmpContext = fExperiment.seekEvent(cacheSize);
- context = fExperiment.seekEvent(tmpContext.getLocation());
-
- event = fExperiment.getNext(context);
- assertEquals("Event timestamp", cacheSize + 1, event.getTimestamp().getValue());
-
- event = fExperiment.getNext(context);
- assertEquals("Event timestamp", cacheSize + 2, event.getTimestamp().getValue());
-
- // Position trace at event rank 4 * 'cacheSize'
- tmpContext = fExperiment.seekEvent(4 * cacheSize);
- context = fExperiment.seekEvent(tmpContext.getLocation());
-
- event = fExperiment.getNext(context);
- assertEquals("Event timestamp", 4 * cacheSize + 1, event.getTimestamp().getValue());
-
- event = fExperiment.getNext(context);
- assertEquals("Event timestamp", 4 * cacheSize + 2, event.getTimestamp().getValue());
- }
-
- @Test
- public void testSeekLocationNotOnCacheBoundary() {
- long cacheSize = fExperiment.getCacheSize();
-
- // Position trace at event 'cacheSize' - 1
- ITmfContext tmpContext = fExperiment.seekEvent(cacheSize - 1);
- ITmfContext context = fExperiment.seekEvent(tmpContext.getLocation());
-
- ITmfEvent event = fExperiment.getNext(context);
- assertEquals("Event timestamp", cacheSize, event.getTimestamp().getValue());
-
- event = fExperiment.getNext(context);
- assertEquals("Event timestamp", cacheSize + 1, event.getTimestamp().getValue());
-
- // Position trace at event rank 2 * 'cacheSize' - 1
- tmpContext = fExperiment.seekEvent(2 * cacheSize - 1);
- context = fExperiment.seekEvent(tmpContext.getLocation());
- context = fExperiment.seekEvent(2 * cacheSize - 1);
-
- event = fExperiment.getNext(context);
- assertEquals("Event timestamp", 2 * cacheSize, event.getTimestamp().getValue());
-
- event = fExperiment.getNext(context);
- assertEquals("Event timestamp", 2 * cacheSize + 1, event.getTimestamp().getValue());
-
- // Position trace at event rank 4500
- tmpContext = fExperiment.seekEvent(4500);
- context = fExperiment.seekEvent(tmpContext.getLocation());
-
- event = fExperiment.getNext(context);
- assertEquals("Event timestamp", 4501, event.getTimestamp().getValue());
-
- event = fExperiment.getNext(context);
- assertEquals("Event timestamp", 4502, event.getTimestamp().getValue());
- }
-
- @Test
- public void testSeekLocationOutOfScope() {
- // Position trace at beginning
- ITmfContext context = fExperiment.seekEvent((ITmfLocation) null);
-
- ITmfEvent event = fExperiment.getNext(context);
- assertEquals("Event timestamp", 1, event.getTimestamp().getValue());
- }
-
- // ------------------------------------------------------------------------
- // getNext - updates the context
- // ------------------------------------------------------------------------
-
- private static void validateContextRanks(ITmfContext context) {
- assertTrue("Experiment context type", context instanceof TmfExperimentContext);
- TmfExperimentContext ctx = (TmfExperimentContext) context;
-
- int nbTraces = ctx.getNbTraces();
-
- // expRank = sum(trace ranks) - nbTraces + 1 (if lastTraceRead != NO_TRACE)
- long expRank = -nbTraces + ((ctx.getLastTrace() != TmfExperimentContext.NO_TRACE) ? 1 : 0);
- for (int i = 0; i < nbTraces; i++) {
- ITmfContext subContext = ctx.getContext(i);
- assertNotNull(subContext);
- long rank = subContext.getRank();
- if (rank == -1) {
- expRank = -1;
- break;
- }
- expRank += rank;
- }
- assertEquals("Experiment context rank", expRank, ctx.getRank());
- }
-
- @Test
- public void testGetNextAfteSeekingOnTS_1() {
-
- final long INITIAL_TS = 1;
- final int NB_READS = 20;
-
- // On lower bound, returns the first event (ts = 1)
- final ITmfContext context = fExperiment.seekEvent(new TmfTimestamp(INITIAL_TS, SCALE, 0));
-
- validateContextRanks(context);
-
- // Read NB_EVENTS
- ITmfEvent event;
- for (int i = 0; i < NB_READS; i++) {
- event = fExperiment.getNext(context);
- assertEquals("Event timestamp", INITIAL_TS + i, event.getTimestamp().getValue());
- assertEquals("Event rank", INITIAL_TS + i, context.getRank());
- }
-
- // Make sure we stay positioned
- event = fExperiment.parseEvent(context);
- assertEquals("Event timestamp", INITIAL_TS + NB_READS, event.getTimestamp().getValue());
- assertEquals("Event rank", INITIAL_TS + NB_READS - 1, context.getRank());
-
- validateContextRanks(context);
- }
-
- @Test
- public void testGetNextAfteSeekingOnTS_2() {
- final long INITIAL_TS = 2;
- final int NB_READS = 20;
-
- // On lower bound, returns the first event (ts = 2)
- final ITmfContext context = fExperiment.seekEvent(new TmfTimestamp(INITIAL_TS, SCALE, 0));
-
- validateContextRanks(context);
-
- // Read NB_EVENTS
- ITmfEvent event;
- for (int i = 0; i < NB_READS; i++) {
- event = fExperiment.getNext(context);
- assertEquals("Event timestamp", INITIAL_TS + i, event.getTimestamp().getValue());
- assertEquals("Event rank", INITIAL_TS + i, context.getRank());
- }
-
- // Make sure we stay positioned
- event = fExperiment.parseEvent(context);
- assertEquals("Event timestamp", INITIAL_TS + NB_READS, event.getTimestamp().getValue());
- assertEquals("Event rank", INITIAL_TS + NB_READS - 1, context.getRank());
-
- validateContextRanks(context);
- }
-
- @Test
- public void testGetNextAfteSeekingOnTS_3() {
-
- final long INITIAL_TS = 500;
- final int NB_READS = 20;
-
- // On lower bound, returns the first event (ts = 500)
- final ITmfContext context = fExperiment.seekEvent(new TmfTimestamp(INITIAL_TS, SCALE, 0));
-
- validateContextRanks(context);
-
- // Read NB_EVENTS
- ITmfEvent event;
- for (int i = 0; i < NB_READS; i++) {
- event = fExperiment.getNext(context);
- assertEquals("Event timestamp", INITIAL_TS + i, event.getTimestamp().getValue());
- assertEquals("Event rank", INITIAL_TS + i, context.getRank());
- }
-
- // Make sure we stay positioned
- event = fExperiment.parseEvent(context);
- assertEquals("Event timestamp", INITIAL_TS + NB_READS, event.getTimestamp().getValue());
- assertEquals("Event rank", INITIAL_TS + NB_READS - 1, context.getRank());
-
- validateContextRanks(context);
- }
-
- @Test
- public void testGetNextAfterSeekingOnRank_1() {
- final long INITIAL_RANK = 0L;
- final int NB_READS = 20;
-
- // On lower bound, returns the first event (rank = 0)
- final ITmfContext context = fExperiment.seekEvent(INITIAL_RANK);
-
- validateContextRanks(context);
-
- // Read NB_EVENTS
- ITmfEvent event;
- for (int i = 0; i < NB_READS; i++) {
- event = fExperiment.getNext(context);
- assertEquals("Event timestamp", INITIAL_RANK + i + 1, event.getTimestamp().getValue());
- assertEquals("Event rank", INITIAL_RANK + i + 1, context.getRank());
- }
-
- // Make sure we stay positioned
- event = fExperiment.parseEvent(context);
- assertEquals("Event timestamp", INITIAL_RANK + NB_READS + 1, event.getTimestamp().getValue());
- assertEquals("Event rank", INITIAL_RANK + NB_READS, context.getRank());
-
- validateContextRanks(context);
- }
-
- @Test
- public void testGetNextAfterSeekingOnRank_2() {
- final long INITIAL_RANK = 1L;
- final int NB_READS = 20;
-
- // On lower bound, returns the first event (rank = 0)
- final ITmfContext context = fExperiment.seekEvent(INITIAL_RANK);
-
- validateContextRanks(context);
-
- // Read NB_EVENTS
- ITmfEvent event;
- for (int i = 0; i < NB_READS; i++) {
- event = fExperiment.getNext(context);
- assertEquals("Event timestamp", INITIAL_RANK + i + 1, event.getTimestamp().getValue());
- assertEquals("Event rank", INITIAL_RANK + i + 1, context.getRank());
- }
-
- // Make sure we stay positioned
- event = fExperiment.parseEvent(context);
- assertEquals("Event timestamp", INITIAL_RANK + NB_READS + 1, event.getTimestamp().getValue());
- assertEquals("Event rank", INITIAL_RANK + NB_READS, context.getRank());
-
- validateContextRanks(context);
- }
-
- @Test
- public void testGetNextAfterSeekingOnRank_3() {
- final long INITIAL_RANK = 500L;
- final int NB_READS = 20;
-
- // On lower bound, returns the first event (rank = 0)
- final ITmfContext context = fExperiment.seekEvent(INITIAL_RANK);
-
- validateContextRanks(context);
-
- // Read NB_EVENTS
- ITmfEvent event;
- for (int i = 0; i < NB_READS; i++) {
- event = fExperiment.getNext(context);
- assertEquals("Event timestamp", INITIAL_RANK + i + 1, event.getTimestamp().getValue());
- assertEquals("Event rank", INITIAL_RANK + i + 1, context.getRank());
- }
-
- // Make sure we stay positioned
- event = fExperiment.parseEvent(context);
- assertEquals("Event timestamp", INITIAL_RANK + NB_READS + 1, event.getTimestamp().getValue());
- assertEquals("Event rank", INITIAL_RANK + NB_READS, context.getRank());
-
- validateContextRanks(context);
- }
-
- @Test
- public void testGetNextAfterSeekingOnLocation_1() {
- final ITmfLocation INITIAL_LOC = null;
- final long INITIAL_TS = 1;
- final int NB_READS = 20;
-
- // On lower bound, returns the first event (ts = 1)
- final ITmfContext context = fExperiment.seekEvent(INITIAL_LOC);
-
- validateContextRanks(context);
-
- // Read NB_EVENTS
- ITmfEvent event;
- for (int i = 0; i < NB_READS; i++) {
- event = fExperiment.getNext(context);
- assertEquals("Event timestamp", INITIAL_TS + i, event.getTimestamp().getValue());
- assertEquals("Event rank", INITIAL_TS + i, context.getRank());
- }
-
- // Make sure we stay positioned
- event = fExperiment.parseEvent(context);
- assertEquals("Event timestamp", INITIAL_TS + NB_READS, event.getTimestamp().getValue());
- assertEquals("Event rank", INITIAL_TS + NB_READS - 1, context.getRank());
-
- validateContextRanks(context);
- }
-
- @Test
- public void testGetNextAfterSeekingOnLocation_2() {
- final ITmfLocation INITIAL_LOC = fExperiment.seekEvent(1L).getLocation();
- final long INITIAL_TS = 2;
- final int NB_READS = 20;
-
- // On lower bound, returns the first event (ts = 2)
- final ITmfContext context = fExperiment.seekEvent(INITIAL_LOC);
-
- validateContextRanks(context);
-
- // Read NB_EVENTS
- ITmfEvent event;
- for (int i = 0; i < NB_READS; i++) {
- event = fExperiment.getNext(context);
- assertEquals("Event timestamp", INITIAL_TS + i, event.getTimestamp().getValue());
- }
-
- // Make sure we stay positioned
- event = fExperiment.parseEvent(context);
- assertEquals("Event timestamp", INITIAL_TS + NB_READS, event.getTimestamp().getValue());
-
- validateContextRanks(context);
- }
-
- @Test
- public void testGetNextAfterSeekingOnLocation_3() {
- final ITmfLocation INITIAL_LOC = fExperiment.seekEvent(500L).getLocation();
- final long INITIAL_TS = 501;
- final int NB_READS = 20;
-
- // On lower bound, returns the first event (ts = 501)
- final ITmfContext context = fExperiment.seekEvent(INITIAL_LOC);
-
- validateContextRanks(context);
-
- // Read NB_EVENTS
- ITmfEvent event;
- for (int i = 0; i < NB_READS; i++) {
- event = fExperiment.getNext(context);
- assertEquals("Event timestamp", INITIAL_TS + i, event.getTimestamp().getValue());
- }
-
- // Make sure we stay positioned
- event = fExperiment.parseEvent(context);
- assertEquals("Event timestamp", INITIAL_TS + NB_READS, event.getTimestamp().getValue());
-
- validateContextRanks(context);
- }
-
- @Test
- public void testGetNextLocation() {
- ITmfContext context1 = fExperiment.seekEvent(0);
- fExperiment.getNext(context1);
- ITmfLocation location = context1.getLocation();
- ITmfEvent event1 = fExperiment.getNext(context1);
- ITmfContext context2 = fExperiment.seekEvent(location);
- ITmfEvent event2 = fExperiment.getNext(context2);
- assertEquals("Event timestamp", event1.getTimestamp().getValue(), event2.getTimestamp().getValue());
- }
-
- @Test
- public void testGetNextEndLocation() {
- ITmfContext context1 = fExperiment.seekEvent(fExperiment.getNbEvents() - 1);
- fExperiment.getNext(context1);
- ITmfLocation location = context1.getLocation();
- ITmfContext context2 = fExperiment.seekEvent(location);
- ITmfEvent event = fExperiment.getNext(context2);
- assertNull("Event", event);
- }
-
- // ------------------------------------------------------------------------
- // processRequest
- // ------------------------------------------------------------------------
-
- @Test
- public void testProcessRequestForNbEvents() throws InterruptedException {
- final int nbEvents = 1000;
- final Vector<ITmfEvent> requestedEvents = new Vector<>();
-
- final TmfTimeRange range = new TmfTimeRange(TmfTimestamp.BIG_BANG, TmfTimestamp.BIG_CRUNCH);
- final TmfEventRequest request = new TmfEventRequest(ITmfEvent.class,
- range, 0, nbEvents, ExecutionType.FOREGROUND) {
- @Override
- public void handleData(final ITmfEvent event) {
- super.handleData(event);
- requestedEvents.add(event);
- }
- };
- fExperiment.sendRequest(request);
- request.waitForCompletion();
-
- assertEquals("nbEvents", nbEvents, requestedEvents.size());
- assertTrue("isCompleted", request.isCompleted());
- assertFalse("isCancelled", request.isCancelled());
-
- // Ensure that we have distinct events.
- // Don't go overboard: we are not validating the stub!
- for (int i = 0; i < nbEvents; i++) {
- assertEquals("Distinct events", i+1, requestedEvents.get(i).getTimestamp().getValue());
- }
- }
-
- @Test
- public void testProcessRequestForAllEvents() throws InterruptedException {
- final int nbEvents = ITmfEventRequest.ALL_DATA;
- final Vector<ITmfEvent> requestedEvents = new Vector<>();
- final long nbExpectedEvents = NB_EVENTS;
-
- final TmfTimeRange range = new TmfTimeRange(TmfTimestamp.BIG_BANG, TmfTimestamp.BIG_CRUNCH);
- final TmfEventRequest request = new TmfEventRequest(ITmfEvent.class,
- range, 0, nbEvents, ExecutionType.FOREGROUND) {
- @Override
- public void handleData(final ITmfEvent event) {
- super.handleData(event);
- requestedEvents.add(event);
- }
- };
- fExperiment.sendRequest(request);
- request.waitForCompletion();
-
- assertEquals("nbEvents", nbExpectedEvents, requestedEvents.size());
- assertTrue("isCompleted", request.isCompleted());
- assertFalse("isCancelled", request.isCancelled());
-
- // Ensure that we have distinct events.
- // Don't go overboard: we are not validating the stub!
- for (int i = 0; i < nbExpectedEvents; i++) {
- assertEquals("Distinct events", i+1, requestedEvents.get(i).getTimestamp().getValue());
- }
- }
-
- // ------------------------------------------------------------------------
- // cancel
- // ------------------------------------------------------------------------
-
- @Test
- public void testCancel() throws InterruptedException {
- final int nbEvents = NB_EVENTS;
- final int limit = BLOCK_SIZE;
- final Vector<ITmfEvent> requestedEvents = new Vector<>();
-
- final TmfTimeRange range = new TmfTimeRange(TmfTimestamp.BIG_BANG, TmfTimestamp.BIG_CRUNCH);
- final TmfEventRequest request = new TmfEventRequest(ITmfEvent.class,
- range, 0, nbEvents, ExecutionType.FOREGROUND) {
- int nbRead = 0;
-
- @Override
- public void handleData(final ITmfEvent event) {
- super.handleData(event);
- requestedEvents.add(event);
- if (++nbRead == limit) {
- cancel();
- }
- }
-
- @Override
- public void handleCancel() {
- if (requestedEvents.size() < limit) {
- System.out.println("aie");
- }
- }
- };
- fExperiment.sendRequest(request);
- request.waitForCompletion();
-
- assertEquals("nbEvents", limit, requestedEvents.size());
- assertTrue("isCompleted", request.isCompleted());
- assertTrue("isCancelled", request.isCancelled());
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/trace/TmfMultiTraceExperimentTest.java b/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/trace/TmfMultiTraceExperimentTest.java
deleted file mode 100644
index f4731c0eba..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/trace/TmfMultiTraceExperimentTest.java
+++ /dev/null
@@ -1,814 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009, 2013 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
- * Alexandre Montplaisir - Port to JUnit4
- * Patrick Tasse - Fix for concurrency
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.core.tests.trace;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertNull;
-import static org.junit.Assert.assertTrue;
-
-import java.io.File;
-import java.io.IOException;
-import java.net.URISyntaxException;
-import java.net.URL;
-import java.util.Vector;
-
-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.tmf.core.event.ITmfEvent;
-import org.eclipse.linuxtools.tmf.core.exceptions.TmfTraceException;
-import org.eclipse.linuxtools.tmf.core.request.ITmfEventRequest;
-import org.eclipse.linuxtools.tmf.core.request.ITmfEventRequest.ExecutionType;
-import org.eclipse.linuxtools.tmf.core.request.TmfEventRequest;
-import org.eclipse.linuxtools.tmf.core.tests.TmfCoreTestPlugin;
-import org.eclipse.linuxtools.tmf.core.tests.shared.TmfTestTrace;
-import org.eclipse.linuxtools.tmf.core.timestamp.ITmfTimestamp;
-import org.eclipse.linuxtools.tmf.core.timestamp.TmfTimeRange;
-import org.eclipse.linuxtools.tmf.core.timestamp.TmfTimestamp;
-import org.eclipse.linuxtools.tmf.core.trace.ITmfContext;
-import org.eclipse.linuxtools.tmf.core.trace.ITmfTrace;
-import org.eclipse.linuxtools.tmf.core.trace.location.ITmfLocation;
-import org.eclipse.linuxtools.tmf.tests.stubs.trace.TmfExperimentStub;
-import org.eclipse.linuxtools.tmf.tests.stubs.trace.TmfTraceStub;
-import org.junit.AfterClass;
-import org.junit.BeforeClass;
-import org.junit.Test;
-
-/**
- * Test suite for the TmfExperiment class (multiple traces).
- */
-@SuppressWarnings("javadoc")
-public class TmfMultiTraceExperimentTest {
-
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
-
- private static final long DEFAULT_INITIAL_OFFSET_VALUE = (1L * 100 * 1000 * 1000); // .1sec
- private static final String EXPERIMENT = "MyExperiment";
- private static int NB_EVENTS = 20000;
- private static int BLOCK_SIZE = 1000;
-
- private static TmfExperimentStub fExperiment;
-
- private static byte SCALE = (byte) -3;
-
- // ------------------------------------------------------------------------
- // Housekeeping
- // ------------------------------------------------------------------------
-
- @BeforeClass
- public static void setUp() {
- ITmfTrace[] traces = setupTraces();
- fExperiment = new TmfExperimentStub(EXPERIMENT, traces, BLOCK_SIZE);
- fExperiment.getIndexer().buildIndex(0, TmfTimeRange.ETERNITY, true);
- }
-
- @AfterClass
- public static void tearDown() {
- fExperiment.dispose();
- }
-
- private static ITmfTrace[] setupTraces() {
- try {
- ITmfTrace[] traces = new ITmfTrace[2];
-
- URL location = FileLocator.find(TmfCoreTestPlugin.getDefault().getBundle(), new Path(TmfTestTrace.O_TEST_10K.getFullPath()), null);
- File test = new File(FileLocator.toFileURL(location).toURI());
- final TmfTraceStub trace1 = new TmfTraceStub(test.getPath(), 0, true, null);
- traces[0] = trace1;
-
- location = FileLocator.find(TmfCoreTestPlugin.getDefault().getBundle(), new Path(TmfTestTrace.E_TEST_10K.getFullPath()), null);
- test = new File(FileLocator.toFileURL(location).toURI());
- final TmfTraceStub trace2 = new TmfTraceStub(test.getPath(), 0, true, null);
- traces[1] = trace2;
-
- return traces;
- } catch (final TmfTraceException e) {
- e.printStackTrace();
- } catch (final URISyntaxException e) {
- e.printStackTrace();
- } catch (final IOException e) {
- e.printStackTrace();
- }
- return new ITmfTrace[0];
- }
-
- // ------------------------------------------------------------------------
- // Constructor
- // ------------------------------------------------------------------------
-
- @Test
- public void testBasicTmfExperimentConstructor() {
- assertEquals("GetId", EXPERIMENT, fExperiment.getName());
- assertEquals("GetNbEvents", NB_EVENTS, fExperiment.getNbEvents());
-
- final TmfTimeRange timeRange = fExperiment.getTimeRange();
- assertEquals("getStartTime", 1, timeRange.getStartTime().getValue());
- assertEquals("getEndTime", NB_EVENTS, timeRange.getEndTime().getValue());
-
- TmfTimestamp initRange = new TmfTimestamp(DEFAULT_INITIAL_OFFSET_VALUE, ITmfTimestamp.NANOSECOND_SCALE);
- assertEquals("getInitialRangeOffset", initRange, fExperiment.getInitialRangeOffset());
- }
-
- // ------------------------------------------------------------------------
- // seekEvent on rank
- // ------------------------------------------------------------------------
-
- @Test
- public void testSeekRankOnCacheBoundary() {
- long cacheSize = fExperiment.getCacheSize();
-
- // On lower bound, returns the first event (TS = 1)
- ITmfContext context = fExperiment.seekEvent(0);
- assertEquals("Context rank", 0, context.getRank());
-
- ITmfEvent event = fExperiment.getNext(context);
- assertEquals("Event timestamp", 1, event.getTimestamp().getValue());
- assertEquals("Context rank", 1, context.getRank());
-
- // Position trace at event rank [cacheSize]
- context = fExperiment.seekEvent(cacheSize);
- assertEquals("Context rank", cacheSize, context.getRank());
-
- event = fExperiment.getNext(context);
- assertEquals("Event timestamp", cacheSize + 1, event.getTimestamp().getValue());
- assertEquals("Context rank", cacheSize + 1, context.getRank());
-
- // Position trace at event rank [4 * cacheSize]
- context = fExperiment.seekEvent(4 * cacheSize);
- assertEquals("Context rank", 4 * cacheSize, context.getRank());
-
- event = fExperiment.getNext(context);
- assertEquals("Event timestamp", 4 * cacheSize + 1, event.getTimestamp().getValue());
- assertEquals("Context rank", 4 * cacheSize + 1, context.getRank());
- }
-
- @Test
- public void testSeekRankNotOnCacheBoundary() {
- long cacheSize = fExperiment.getCacheSize();
-
- // Position trace at event rank 9
- ITmfContext context = fExperiment.seekEvent(9);
- assertEquals("Context rank", 9, context.getRank());
-
- ITmfEvent event = fExperiment.getNext(context);
- assertEquals("Event timestamp", 10, event.getTimestamp().getValue());
- assertEquals("Context rank", 10, context.getRank());
-
- // Position trace at event rank [cacheSize - 1]
- context = fExperiment.seekEvent(cacheSize - 1);
- assertEquals("Context rank", cacheSize - 1, context.getRank());
-
- event = fExperiment.getNext(context);
- assertEquals("Event timestamp", cacheSize, event.getTimestamp().getValue());
- assertEquals("Context rank", cacheSize, context.getRank());
-
- // Position trace at event rank [cacheSize + 1]
- context = fExperiment.seekEvent(cacheSize + 1);
- assertEquals("Context rank", cacheSize + 1, context.getRank());
-
- event = fExperiment.getNext(context);
- assertEquals("Event timestamp", cacheSize + 2, event.getTimestamp().getValue());
- assertEquals("Context rank", cacheSize + 2, context.getRank());
-
- // Position trace at event rank 4500
- context = fExperiment.seekEvent(4500);
- assertEquals("Context rank", 4500, context.getRank());
-
- event = fExperiment.getNext(context);
- assertEquals("Event timestamp", 4501, event.getTimestamp().getValue());
- assertEquals("Context rank", 4501, context.getRank());
- }
-
- @Test
- public void testSeekRankOutOfScope() {
- // Position trace at beginning
- ITmfContext context = fExperiment.seekEvent(-1);
- assertEquals("Event rank", 0, context.getRank());
-
- ITmfEvent event = fExperiment.getNext(context);
- assertEquals("Event timestamp", 1, event.getTimestamp().getValue());
- assertEquals("Context rank", 1, context.getRank());
-
- // Position trace at event passed the end
- context = fExperiment.seekEvent(NB_EVENTS);
- assertEquals("Context rank", NB_EVENTS, context.getRank());
-
- event = fExperiment.getNext(context);
- assertNull("Event", event);
- assertEquals("Context rank", NB_EVENTS, context.getRank());
- }
-
- // ------------------------------------------------------------------------
- // seekEvent on timestamp
- // ------------------------------------------------------------------------
-
- @Test
- public void testSeekTimestampOnCacheBoundary() {
- long cacheSize = fExperiment.getCacheSize();
-
- // Position trace at event rank 0
- ITmfContext context = fExperiment.seekEvent(new TmfTimestamp(1, SCALE, 0));
- assertEquals("Context rank", 0, context.getRank());
-
- ITmfEvent event = fExperiment.getNext(context);
- assertEquals("Event timestamp", 1, event.getTimestamp().getValue());
- assertEquals("Context rank", 1, context.getRank());
-
- // Position trace at event rank [cacheSize]
- context = fExperiment.seekEvent(new TmfTimestamp(cacheSize + 1, SCALE, 0));
- assertEquals("Event rank", cacheSize, context.getRank());
-
- event = fExperiment.getNext(context);
- assertEquals("Event timestamp", cacheSize + 1, event.getTimestamp().getValue());
- assertEquals("Context rank", cacheSize + 1, context.getRank());
-
- // Position trace at event rank [4 * cacheSize]
- context = fExperiment.seekEvent(new TmfTimestamp(4 * cacheSize + 1, SCALE, 0));
- assertEquals("Context rank", 4 * cacheSize, context.getRank());
-
- event = fExperiment.getNext(context);
- assertEquals("Event timestamp", 4 * cacheSize + 1, event.getTimestamp().getValue());
- assertEquals("Context rank", 4 * cacheSize + 1, context.getRank());
- }
-
- @Test
- public void testSeekTimestampNotOnCacheBoundary() {
- // Position trace at event rank 1 (TS = 2)
- ITmfContext context = fExperiment.seekEvent(new TmfTimestamp(2, SCALE, 0));
- assertEquals("Context rank", 1, context.getRank());
-
- ITmfEvent event = fExperiment.getNext(context);
- assertEquals("Event timestamp", 2, event.getTimestamp().getValue());
- assertEquals("Context rank", 2, context.getRank());
-
- // Position trace at event rank 9 (TS = 10)
- context = fExperiment.seekEvent(new TmfTimestamp(10, SCALE, 0));
- assertEquals("Context rank", 9, context.getRank());
-
- event = fExperiment.getNext(context);
- assertEquals("Event timestamp", 10, event.getTimestamp().getValue());
- assertEquals("Context rank", 10, context.getRank());
-
- // Position trace at event rank 999 (TS = 1000)
- context = fExperiment.seekEvent(new TmfTimestamp(1000, SCALE, 0));
- assertEquals("Context rank", 999, context.getRank());
-
- event = fExperiment.getNext(context);
- assertEquals("Event timestamp", 1000, event.getTimestamp().getValue());
- assertEquals("Context rank", 1000, context.getRank());
-
- // Position trace at event rank 1001 (TS = 1002)
- context = fExperiment.seekEvent(new TmfTimestamp(1002, SCALE, 0));
- assertEquals("Context rank", 1001, context.getRank());
-
- event = fExperiment.getNext(context);
- assertEquals("Event timestamp", 1002, event.getTimestamp().getValue());
- assertEquals("Context rank", 1002, context.getRank());
-
- // Position trace at event rank 4500 (TS = 4501)
- context = fExperiment.seekEvent(new TmfTimestamp(4501, SCALE, 0));
- assertEquals("Context rank", 4500, context.getRank());
-
- event = fExperiment.getNext(context);
- assertEquals("Event timestamp", 4501, event.getTimestamp().getValue());
- assertEquals("Context rank", 4501, context.getRank());
- }
-
- @Test
- public void testSeekTimestampOutOfScope() {
- // Position trace at beginning
- ITmfContext context = fExperiment.seekEvent(new TmfTimestamp(-1, SCALE, 0));
- assertEquals("Event rank", 0, context.getRank());
-
- ITmfEvent event = fExperiment.getNext(context);
- assertEquals("Event timestamp", 1, event.getTimestamp().getValue());
- assertEquals("Event rank", 1, context.getRank());
-
- // Position trace at event passed the end
- context = fExperiment.seekEvent(new TmfTimestamp(NB_EVENTS + 1, SCALE, 0));
- event = fExperiment.getNext(context);
- assertNull("Event location", event);
- assertEquals("Event rank", ITmfContext.UNKNOWN_RANK, context.getRank());
- }
-
- // ------------------------------------------------------------------------
- // seekEvent by location (context rank is undefined)
- // ------------------------------------------------------------------------
-
- @Test
- public void testSeekLocationOnCacheBoundary() {
- long cacheSize = fExperiment.getCacheSize();
-
- // Position trace at event rank 0
- ITmfContext tmpContext = fExperiment.seekEvent(0);
- ITmfContext context = fExperiment.seekEvent(tmpContext.getLocation());
-
- ITmfEvent event = fExperiment.getNext(context);
- assertEquals("Event timestamp", 1, event.getTimestamp().getValue());
-
- event = fExperiment.getNext(context);
- assertEquals("Event timestamp", 2, event.getTimestamp().getValue());
-
- // Position trace at event rank 'cacheSize'
- tmpContext = fExperiment.seekEvent(cacheSize);
- context = fExperiment.seekEvent(tmpContext.getLocation());
-
- event = fExperiment.getNext(context);
- assertEquals("Event timestamp", cacheSize + 1, event.getTimestamp().getValue());
-
- event = fExperiment.getNext(context);
- assertEquals("Event timestamp", cacheSize + 2, event.getTimestamp().getValue());
-
- // Position trace at event rank 4 * 'cacheSize'
- tmpContext = fExperiment.seekEvent(4 * cacheSize);
- context = fExperiment.seekEvent(tmpContext.getLocation());
-
- event = fExperiment.getNext(context);
- assertEquals("Event timestamp", 4 * cacheSize + 1, event.getTimestamp().getValue());
-
- event = fExperiment.getNext(context);
- assertEquals("Event timestamp", 4 * cacheSize + 2, event.getTimestamp().getValue());
- }
-
- @Test
- public void testSeekLocationNotOnCacheBoundary() {
- long cacheSize = fExperiment.getCacheSize();
-
- // Position trace at event 'cacheSize' - 1
- ITmfContext tmpContext = fExperiment.seekEvent(cacheSize - 1);
- ITmfContext context = fExperiment.seekEvent(tmpContext.getLocation());
-
- ITmfEvent event = fExperiment.getNext(context);
- assertEquals("Event timestamp", cacheSize, event.getTimestamp().getValue());
-
- event = fExperiment.getNext(context);
- assertEquals("Event timestamp", cacheSize + 1, event.getTimestamp().getValue());
-
- // Position trace at event rank 2 * 'cacheSize' - 1
- tmpContext = fExperiment.seekEvent(2 * cacheSize - 1);
- context = fExperiment.seekEvent(tmpContext.getLocation());
- context = fExperiment.seekEvent(2 * cacheSize - 1);
-
- event = fExperiment.getNext(context);
- assertEquals("Event timestamp", 2 * cacheSize, event.getTimestamp().getValue());
-
- event = fExperiment.getNext(context);
- assertEquals("Event timestamp", 2 * cacheSize + 1, event.getTimestamp().getValue());
-
- // Position trace at event rank 4500
- tmpContext = fExperiment.seekEvent(4500);
- context = fExperiment.seekEvent(tmpContext.getLocation());
-
- event = fExperiment.getNext(context);
- assertEquals("Event timestamp", 4501, event.getTimestamp().getValue());
-
- event = fExperiment.getNext(context);
- assertEquals("Event timestamp", 4502, event.getTimestamp().getValue());
- }
-
- @Test
- public void testSeekLocationOutOfScope() {
- // Position trace at beginning
- ITmfContext context = fExperiment.seekEvent((ITmfLocation) null);
-
- ITmfEvent event = fExperiment.getNext(context);
- assertEquals("Event timestamp", 1, event.getTimestamp().getValue());
- }
-
- // ------------------------------------------------------------------------
- // getNext - updates the context
- // ------------------------------------------------------------------------
-
- private static void validateContextRanks(ITmfContext context) {
- assertTrue("Experiment context type", context instanceof TmfExperimentContext);
- TmfExperimentContext ctx = (TmfExperimentContext) context;
-
- int nbTraces = ctx.getNbTraces();
-
- // expRank = sum(trace ranks) - nbTraces + 1 (if lastTraceRead != NO_TRACE)
- long expRank = -nbTraces + ((ctx.getLastTrace() != TmfExperimentContext.NO_TRACE) ? 1 : 0);
- for (int i = 0; i < nbTraces; i++) {
- ITmfContext subContext = ctx.getContext(i);
- assertNotNull(subContext);
- long rank = subContext.getRank();
- if (rank == -1) {
- expRank = -1;
- break;
- }
- expRank += rank;
- }
- assertEquals("Experiment context rank", expRank, ctx.getRank());
- }
-
- @Test
- public void testGetNextAfteSeekingOnTS_1() {
- final long INITIAL_TS = 1;
- final int NB_READS = 20;
-
- // On lower bound, returns the first event (ts = 1)
- final ITmfContext context = fExperiment.seekEvent(new TmfTimestamp(INITIAL_TS, SCALE, 0));
-
- validateContextRanks(context);
-
- // Read NB_EVENTS
- ITmfEvent event;
- for (int i = 0; i < NB_READS; i++) {
- event = fExperiment.getNext(context);
- assertEquals("Event timestamp", INITIAL_TS + i, event.getTimestamp().getValue());
- assertEquals("Event rank", INITIAL_TS + i, context.getRank());
- }
-
- // Make sure we stay positioned
- event = fExperiment.parseEvent(context);
- assertEquals("Event timestamp", INITIAL_TS + NB_READS, event.getTimestamp().getValue());
- assertEquals("Event rank", INITIAL_TS + NB_READS - 1, context.getRank());
-
- validateContextRanks(context);
- }
-
- @Test
- public void testGetNextAfteSeekingOnTS_2() {
- final long INITIAL_TS = 2;
- final int NB_READS = 20;
-
- // On lower bound, returns the first event (ts = 2)
- final ITmfContext context = fExperiment.seekEvent(new TmfTimestamp(INITIAL_TS, SCALE, 0));
-
- validateContextRanks(context);
-
- // Read NB_EVENTS
- ITmfEvent event;
- for (int i = 0; i < NB_READS; i++) {
- event = fExperiment.getNext(context);
- assertEquals("Event timestamp", INITIAL_TS + i, event.getTimestamp().getValue());
- assertEquals("Event rank", INITIAL_TS + i, context.getRank());
- }
-
- // Make sure we stay positioned
- event = fExperiment.parseEvent(context);
- assertEquals("Event timestamp", INITIAL_TS + NB_READS, event.getTimestamp().getValue());
- assertEquals("Event rank", INITIAL_TS + NB_READS - 1, context.getRank());
-
- validateContextRanks(context);
- }
-
- @Test
- public void testGetNextAfteSeekingOnTS_3() {
- final long INITIAL_TS = 500;
- final int NB_READS = 20;
-
- // On lower bound, returns the first event (ts = 500)
- final ITmfContext context = fExperiment.seekEvent(new TmfTimestamp(INITIAL_TS, SCALE, 0));
-
- validateContextRanks(context);
-
- // Read NB_EVENTS
- ITmfEvent event;
- for (int i = 0; i < NB_READS; i++) {
- event = fExperiment.getNext(context);
- assertEquals("Event timestamp", INITIAL_TS + i, event.getTimestamp().getValue());
- assertEquals("Event rank", INITIAL_TS + i, context.getRank());
- }
-
- // Make sure we stay positioned
- event = fExperiment.parseEvent(context);
- assertEquals("Event timestamp", INITIAL_TS + NB_READS, event.getTimestamp().getValue());
- assertEquals("Event rank", INITIAL_TS + NB_READS - 1, context.getRank());
-
- validateContextRanks(context);
- }
-
- @Test
- public void testGetNextAfterSeekingOnRank_1() {
- final long INITIAL_RANK = 0L;
- final int NB_READS = 20;
-
- // On lower bound, returns the first event (rank = 0)
- final ITmfContext context = fExperiment.seekEvent(INITIAL_RANK);
-
- validateContextRanks(context);
-
- // Read NB_EVENTS
- ITmfEvent event;
- for (int i = 0; i < NB_READS; i++) {
- event = fExperiment.getNext(context);
- assertEquals("Event timestamp", INITIAL_RANK + i + 1, event.getTimestamp().getValue());
- assertEquals("Event rank", INITIAL_RANK + i + 1, context.getRank());
- }
-
- // Make sure we stay positioned
- event = fExperiment.parseEvent(context);
- assertEquals("Event timestamp", INITIAL_RANK + NB_READS + 1, event.getTimestamp().getValue());
- assertEquals("Event rank", INITIAL_RANK + NB_READS, context.getRank());
-
- validateContextRanks(context);
- }
-
- @Test
- public void testGetNextAfterSeekingOnRank_2() {
- final long INITIAL_RANK = 1L;
- final int NB_READS = 20;
-
- // On lower bound, returns the first event (rank = 0)
- final ITmfContext context = fExperiment.seekEvent(INITIAL_RANK);
-
- validateContextRanks(context);
-
- // Read NB_EVENTS
- ITmfEvent event;
- for (int i = 0; i < NB_READS; i++) {
- event = fExperiment.getNext(context);
- assertEquals("Event timestamp", INITIAL_RANK + i + 1, event.getTimestamp().getValue());
- assertEquals("Event rank", INITIAL_RANK + i + 1, context.getRank());
- }
-
- // Make sure we stay positioned
- event = fExperiment.parseEvent(context);
- assertEquals("Event timestamp", INITIAL_RANK + NB_READS + 1, event.getTimestamp().getValue());
- assertEquals("Event rank", INITIAL_RANK + NB_READS, context.getRank());
-
- validateContextRanks(context);
- }
-
- @Test
- public void testGetNextAfterSeekingOnRank_3() {
- final long INITIAL_RANK = 500L;
- final int NB_READS = 20;
-
- // On lower bound, returns the first event (rank = 0)
- final ITmfContext context = fExperiment.seekEvent(INITIAL_RANK);
-
- validateContextRanks(context);
-
- // Read NB_EVENTS
- ITmfEvent event;
- for (int i = 0; i < NB_READS; i++) {
- event = fExperiment.getNext(context);
- assertEquals("Event timestamp", INITIAL_RANK + i + 1, event.getTimestamp().getValue());
- assertEquals("Event rank", INITIAL_RANK + i + 1, context.getRank());
- }
-
- // Make sure we stay positioned
- event = fExperiment.parseEvent(context);
- assertEquals("Event timestamp", INITIAL_RANK + NB_READS + 1, event.getTimestamp().getValue());
- assertEquals("Event rank", INITIAL_RANK + NB_READS, context.getRank());
-
- validateContextRanks(context);
- }
-
- @Test
- public void testGetNextAfterSeekingOnLocation_1() {
- final ITmfLocation INITIAL_LOC = null;
- final long INITIAL_TS = 1;
- final int NB_READS = 20;
-
- // On lower bound, returns the first event (ts = 1)
- final ITmfContext context = fExperiment.seekEvent(INITIAL_LOC);
-
- validateContextRanks(context);
-
- // Read NB_EVENTS
- ITmfEvent event;
- for (int i = 0; i < NB_READS; i++) {
- event = fExperiment.getNext(context);
- assertEquals("Event timestamp", INITIAL_TS + i, event.getTimestamp().getValue());
- assertEquals("Event rank", INITIAL_TS + i, context.getRank());
- }
-
- // Make sure we stay positioned
- event = fExperiment.parseEvent(context);
- assertEquals("Event timestamp", INITIAL_TS + NB_READS, event.getTimestamp().getValue());
- assertEquals("Event rank", INITIAL_TS + NB_READS - 1, context.getRank());
-
- validateContextRanks(context);
- }
-
- @Test
- public void testGetNextAfterSeekingOnLocation_2() {
- final ITmfLocation INITIAL_LOC = fExperiment.seekEvent(1L).getLocation();
- final long INITIAL_TS = 2;
- final int NB_READS = 20;
-
- // On lower bound, returns the first event (ts = 2)
- final ITmfContext context = fExperiment.seekEvent(INITIAL_LOC);
-
- validateContextRanks(context);
-
- // Read NB_EVENTS
- ITmfEvent event;
- for (int i = 0; i < NB_READS; i++) {
- event = fExperiment.getNext(context);
- assertEquals("Event timestamp", INITIAL_TS + i, event.getTimestamp().getValue());
- }
-
- // Make sure we stay positioned
- event = fExperiment.parseEvent(context);
- assertEquals("Event timestamp", INITIAL_TS + NB_READS, event.getTimestamp().getValue());
-
- validateContextRanks(context);
- }
-
- @Test
- public void testGetNextAfterSeekingOnLocation_3() {
- final ITmfLocation INITIAL_LOC = fExperiment.seekEvent(500L).getLocation();
- final long INITIAL_TS = 501;
- final int NB_READS = 20;
-
- // On lower bound, returns the first event (ts = 501)
- final ITmfContext context = fExperiment.seekEvent(INITIAL_LOC);
-
- validateContextRanks(context);
-
- // Read NB_EVENTS
- ITmfEvent event;
- for (int i = 0; i < NB_READS; i++) {
- event = fExperiment.getNext(context);
- assertEquals("Event timestamp", INITIAL_TS + i, event.getTimestamp().getValue());
- }
-
- // Make sure we stay positioned
- event = fExperiment.parseEvent(context);
- assertEquals("Event timestamp", INITIAL_TS + NB_READS, event.getTimestamp().getValue());
-
- validateContextRanks(context);
- }
-
- @Test
- public void testGetNextLocation() {
- ITmfContext context1 = fExperiment.seekEvent(0);
- fExperiment.getNext(context1);
- ITmfLocation location = context1.getLocation();
- ITmfEvent event1 = fExperiment.getNext(context1);
- ITmfContext context2 = fExperiment.seekEvent(location);
- ITmfEvent event2 = fExperiment.getNext(context2);
- assertEquals("Event timestamp", event1.getTimestamp().getValue(), event2.getTimestamp().getValue());
- }
-
- @Test
- public void testGetNextEndLocation() {
- ITmfContext context1 = fExperiment.seekEvent(fExperiment.getNbEvents() - 1);
- fExperiment.getNext(context1);
- ITmfLocation location = context1.getLocation();
- ITmfContext context2 = fExperiment.seekEvent(location);
- ITmfEvent event = fExperiment.getNext(context2);
- assertNull("Event", event);
- }
-
- // ------------------------------------------------------------------------
- // processRequest
- // ------------------------------------------------------------------------
-
- @Test
- public void testProcessRequestForNbEvents() throws InterruptedException {
- final int nbEvents = 1000;
- final Vector<ITmfEvent> requestedEvents = new Vector<>();
-
- final TmfTimeRange range = new TmfTimeRange(TmfTimestamp.BIG_BANG, TmfTimestamp.BIG_CRUNCH);
- final TmfEventRequest request = new TmfEventRequest(ITmfEvent.class,
- range, 0, nbEvents, ExecutionType.FOREGROUND) {
- @Override
- public void handleData(final ITmfEvent event) {
- super.handleData(event);
- requestedEvents.add(event);
- }
- };
- fExperiment.sendRequest(request);
- request.waitForCompletion();
-
- assertEquals("nbEvents", nbEvents, requestedEvents.size());
- assertTrue("isCompleted", request.isCompleted());
- assertFalse("isCancelled", request.isCancelled());
-
- // Ensure that we have distinct events.
- // Don't go overboard: we are not validating the stub!
- for (int i = 0; i < nbEvents; i++) {
- assertEquals("Distinct events", i+1, requestedEvents.get(i).getTimestamp().getValue());
- }
- }
-
- @Test
- public void testProcessRequestForAllEvents() throws InterruptedException {
- final int nbEvents = ITmfEventRequest.ALL_DATA;
- final Vector<ITmfEvent> requestedEvents = new Vector<>();
- final long nbExpectedEvents = NB_EVENTS;
-
- final TmfTimeRange range = new TmfTimeRange(TmfTimestamp.BIG_BANG, TmfTimestamp.BIG_CRUNCH);
- final TmfEventRequest request = new TmfEventRequest(ITmfEvent.class,
- range, 0, nbEvents, ExecutionType.FOREGROUND) {
- @Override
- public void handleData(final ITmfEvent event) {
- super.handleData(event);
- requestedEvents.add(event);
- }
- };
- fExperiment.sendRequest(request);
- request.waitForCompletion();
-
- assertEquals("nbEvents", nbExpectedEvents, requestedEvents.size());
- assertTrue("isCompleted", request.isCompleted());
- assertFalse("isCancelled", request.isCancelled());
-
- // Ensure that we have distinct events.
- // Don't go overboard: we are not validating the stub!
- for (int i = 0; i < nbExpectedEvents; i++) {
- assertEquals("Distinct events", i+1, requestedEvents.get(i).getTimestamp().getValue());
- }
- }
-
- // ------------------------------------------------------------------------
- // cancel
- // ------------------------------------------------------------------------
-
- @Test
- public void testCancel() throws InterruptedException {
- final int nbEvents = NB_EVENTS;
- final int limit = BLOCK_SIZE;
- final Vector<ITmfEvent> requestedEvents = new Vector<>();
-
- final TmfTimeRange range = new TmfTimeRange(TmfTimestamp.BIG_BANG, TmfTimestamp.BIG_CRUNCH);
- final TmfEventRequest request = new TmfEventRequest(ITmfEvent.class,
- range, 0, nbEvents, ExecutionType.FOREGROUND) {
- int nbRead = 0;
-
- @Override
- public void handleData(final ITmfEvent event) {
- super.handleData(event);
- requestedEvents.add(event);
- if (++nbRead == limit) {
- cancel();
- }
- }
- };
- fExperiment.sendRequest(request);
- request.waitForCompletion();
-
- assertEquals("nbEvents", limit, requestedEvents.size());
- assertTrue("isCompleted", request.isCompleted());
- assertTrue("isCancelled", request.isCancelled());
- }
-
- // ------------------------------------------------------------------------
- // getTimestamp
- // ------------------------------------------------------------------------
-
- @Test
- public void testGetTimestamp() {
- assertEquals("getTimestamp", new TmfTimestamp( 1, (byte) -3), fExperiment.getTimestamp( 0));
- assertEquals("getTimestamp", new TmfTimestamp( 2, (byte) -3), fExperiment.getTimestamp( 1));
- assertEquals("getTimestamp", new TmfTimestamp( 11, (byte) -3), fExperiment.getTimestamp( 10));
- assertEquals("getTimestamp", new TmfTimestamp( 101, (byte) -3), fExperiment.getTimestamp( 100));
- assertEquals("getTimestamp", new TmfTimestamp( 1001, (byte) -3), fExperiment.getTimestamp( 1000));
- assertEquals("getTimestamp", new TmfTimestamp( 2001, (byte) -3), fExperiment.getTimestamp( 2000));
- assertEquals("getTimestamp", new TmfTimestamp( 2501, (byte) -3), fExperiment.getTimestamp( 2500));
- assertEquals("getTimestamp", new TmfTimestamp(10000, (byte) -3), fExperiment.getTimestamp( 9999));
- assertEquals("getTimestamp", new TmfTimestamp(20000, (byte) -3), fExperiment.getTimestamp(19999));
- assertNull("getTimestamp", fExperiment.getTimestamp(20000));
- }
-
- // ------------------------------------------------------------------------
- // getInitialRangeOffset, getCurrentRange, getCurrentTime
- // ------------------------------------------------------------------------
-
- @Test
- public void testDefaultCurrentTimeValues() {
- ITmfTrace[] traces = setupTraces();
- TmfExperimentStub exp = new TmfExperimentStub(EXPERIMENT, traces, BLOCK_SIZE);
-
- // verify initial values
- TmfTimestamp initRange = new TmfTimestamp(DEFAULT_INITIAL_OFFSET_VALUE, ITmfTimestamp.NANOSECOND_SCALE);
- assertEquals("getInitialRangeOffset", initRange, exp.getInitialRangeOffset());
-
- exp.dispose();
- }
-
- @Test
- public void testInitialRangeOffset() {
- ITmfTrace[] traces = setupTraces();
- ((TmfTraceStub) traces[0]).setInitialRangeOffset(new TmfTimestamp(5, ITmfTimestamp.MILLISECOND_SCALE));
- ((TmfTraceStub) traces[1]).setInitialRangeOffset(new TmfTimestamp(2, ITmfTimestamp.MILLISECOND_SCALE));
- TmfExperimentStub exp = new TmfExperimentStub(EXPERIMENT, traces, BLOCK_SIZE);
-
- TmfTimestamp initRange = new TmfTimestamp(2, ITmfTimestamp.MILLISECOND_SCALE);
- assertEquals("getInitialRangeOffset", initRange, exp.getInitialRangeOffset());
-
- exp.dispose();
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/trace/TmfTraceTest.java b/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/trace/TmfTraceTest.java
deleted file mode 100644
index fa46b548a8..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/trace/TmfTraceTest.java
+++ /dev/null
@@ -1,1389 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009, 2014 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 - Adapted for TMF Trace Model 1.0
- * Alexandre Montplaisir - Port to JUnit4
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.core.tests.trace;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertNull;
-import static org.junit.Assert.assertTrue;
-import static org.junit.Assert.fail;
-
-import java.io.File;
-import java.io.IOException;
-import java.net.URISyntaxException;
-import java.net.URL;
-import java.util.Vector;
-
-import org.eclipse.core.runtime.FileLocator;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.linuxtools.internal.tmf.core.component.TmfProviderManager;
-import org.eclipse.linuxtools.tmf.core.analysis.IAnalysisModule;
-import org.eclipse.linuxtools.tmf.core.component.ITmfEventProvider;
-import org.eclipse.linuxtools.tmf.core.event.ITmfEvent;
-import org.eclipse.linuxtools.tmf.core.exceptions.TmfTraceException;
-import org.eclipse.linuxtools.tmf.core.request.ITmfEventRequest.ExecutionType;
-import org.eclipse.linuxtools.tmf.core.request.TmfEventRequest;
-import org.eclipse.linuxtools.tmf.core.signal.TmfSignalManager;
-import org.eclipse.linuxtools.tmf.core.signal.TmfTraceOpenedSignal;
-import org.eclipse.linuxtools.tmf.core.tests.TmfCoreTestPlugin;
-import org.eclipse.linuxtools.tmf.core.tests.shared.TmfTestTrace;
-import org.eclipse.linuxtools.tmf.core.timestamp.ITmfTimestamp;
-import org.eclipse.linuxtools.tmf.core.timestamp.TmfTimeRange;
-import org.eclipse.linuxtools.tmf.core.timestamp.TmfTimestamp;
-import org.eclipse.linuxtools.tmf.core.trace.ITmfContext;
-import org.eclipse.linuxtools.tmf.core.trace.ITmfTrace;
-import org.eclipse.linuxtools.tmf.core.trace.TmfContext;
-import org.eclipse.linuxtools.tmf.core.trace.location.ITmfLocation;
-import org.eclipse.linuxtools.tmf.tests.stubs.analysis.TestAnalysis;
-import org.eclipse.linuxtools.tmf.tests.stubs.trace.TmfTraceStub;
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Rule;
-import org.junit.Test;
-import org.junit.rules.TestRule;
-import org.junit.rules.Timeout;
-
-/**
- * Test suite for the TmfTrace class.
- */
-@SuppressWarnings("javadoc")
-public class TmfTraceTest {
-
- /** Time-out tests after 20 seconds */
- @Rule
- public TestRule globalTimeout= new Timeout(20000);
-
- // ------------------------------------------------------------------------
- // Variables
- // ------------------------------------------------------------------------
-
- private static final TmfTestTrace TEST_TRACE = TmfTestTrace.A_TEST_10K;
- private static final long DEFAULT_INITIAL_OFFSET_VALUE = (1L * 100 * 1000 * 1000); // .1sec
- private static final int NB_EVENTS = 10000;
- private TmfTraceStub fTrace = null;
-
- private static int SCALE = -3;
-
- // ------------------------------------------------------------------------
- // Housekeeping
- // ------------------------------------------------------------------------
-
- @Before
- public void setUp() {
- try {
- final URL location = FileLocator.find(TmfCoreTestPlugin.getDefault().getBundle(), new Path(TEST_TRACE.getFullPath()), null);
- final File test = new File(FileLocator.toFileURL(location).toURI());
- fTrace = new TmfTraceStub(test.toURI().getPath(), ITmfTrace.DEFAULT_TRACE_CACHE_SIZE, false, null);
- TmfSignalManager.deregister(fTrace);
- fTrace.indexTrace(true);
- } catch (final TmfTraceException e) {
- e.printStackTrace();
- } catch (final URISyntaxException e) {
- e.printStackTrace();
- } catch (final IOException e) {
- e.printStackTrace();
- }
- }
-
- @After
- public void tearDown() {
- fTrace.dispose();
- fTrace = null;
- }
-
- // ------------------------------------------------------------------------
- // Constructors
- // ------------------------------------------------------------------------
-
- @Test
- public void testFullConstructor() throws TmfTraceException {
- try {
- final URL location = FileLocator.find(TmfCoreTestPlugin.getDefault().getBundle(), new Path(TEST_TRACE.getFullPath()), null);
- File testfile = new File(FileLocator.toFileURL(location).toURI());
- TmfTraceStub trace = new TmfTraceStub(testfile.toURI().getPath(), ITmfTrace.DEFAULT_TRACE_CACHE_SIZE, false, null);
- trace.indexTrace(true);
-
- assertEquals("getType", ITmfEvent.class, trace.getType());
- assertNull("getResource", trace.getResource());
- assertEquals("getPath", testfile.toURI().getPath(), trace.getPath());
- assertEquals("getCacheSize", ITmfTrace.DEFAULT_TRACE_CACHE_SIZE, trace.getCacheSize());
- assertEquals("getStreamingInterval", 0, trace.getStreamingInterval());
- assertEquals("getName", TEST_TRACE.getPath(), trace.getName());
-
- assertEquals("getNbEvents", NB_EVENTS, trace.getNbEvents());
- assertEquals("getRange-start", 1, trace.getTimeRange().getStartTime().getValue());
- assertEquals("getRange-end", NB_EVENTS, trace.getTimeRange().getEndTime().getValue());
- assertEquals("getStartTime", 1, trace.getStartTime().getValue());
- assertEquals("getEndTime", NB_EVENTS, trace.getEndTime().getValue());
-
- } catch (final URISyntaxException e) {
- fail("URISyntaxException");
- } catch (final IOException e) {
- fail("IOException");
- }
- }
-
- @Test
- public void testLiveTraceConstructor() throws TmfTraceException {
- final long interval = 100;
- try {
- final URL location = FileLocator.find(TmfCoreTestPlugin.getDefault().getBundle(), new Path(TEST_TRACE.getFullPath()), null);
- File testfile = new File(FileLocator.toFileURL(location).toURI());
- TmfTraceStub trace = new TmfTraceStub(testfile.toURI().getPath(), ITmfTrace.DEFAULT_TRACE_CACHE_SIZE, interval);
- trace.indexTrace(true);
-
- assertEquals("getType", ITmfEvent.class, trace.getType());
- assertNull("getResource", trace.getResource());
- assertEquals("getPath", testfile.toURI().getPath(), trace.getPath());
- assertEquals("getCacheSize", ITmfTrace.DEFAULT_TRACE_CACHE_SIZE, trace.getCacheSize());
- assertEquals("getStreamingInterval", interval, trace.getStreamingInterval());
- assertEquals("getName", TEST_TRACE.getPath(), trace.getName());
-
- assertEquals("getNbEvents", NB_EVENTS, trace.getNbEvents());
- assertEquals("getRange-start", 1, trace.getTimeRange().getStartTime().getValue());
- assertEquals("getRange-end", NB_EVENTS, trace.getTimeRange().getEndTime().getValue());
- assertEquals("getStartTime", 1, trace.getStartTime().getValue());
- assertEquals("getEndTime", NB_EVENTS, trace.getEndTime().getValue());
-
- } catch (final URISyntaxException e) {
- fail("URISyntaxException");
- } catch (final IOException e) {
- fail("IOException");
- }
- }
-
- @Test
- public void testCopyConstructor() throws TmfTraceException {
- try {
- final URL location = FileLocator.find(TmfCoreTestPlugin.getDefault().getBundle(), new Path(TEST_TRACE.getFullPath()), null);
- File testfile = new File(FileLocator.toFileURL(location).toURI());
- TmfTraceStub original = new TmfTraceStub(testfile.toURI().getPath(), ITmfTrace.DEFAULT_TRACE_CACHE_SIZE, false, null);
- TmfTraceStub trace = new TmfTraceStub(original);
- trace.indexTrace(true);
-
- assertEquals("getType", ITmfEvent.class, trace.getType());
- assertNull("getResource", trace.getResource());
- assertEquals("getPath", testfile.toURI().getPath(), trace.getPath());
- assertEquals("getCacheSize", ITmfTrace.DEFAULT_TRACE_CACHE_SIZE, trace.getCacheSize());
- assertEquals("getStreamingInterval", 0, trace.getStreamingInterval());
- assertEquals("getName", TEST_TRACE.getPath(), trace.getName());
-
- assertEquals("getNbEvents", NB_EVENTS, trace.getNbEvents());
- assertEquals("getRange-start", 1, trace.getTimeRange().getStartTime().getValue());
- assertEquals("getRange-end", NB_EVENTS, trace.getTimeRange().getEndTime().getValue());
- assertEquals("getStartTime", 1, trace.getStartTime().getValue());
- assertEquals("getEndTime", NB_EVENTS, trace.getEndTime().getValue());
-
- } catch (final URISyntaxException e) {
- fail("URISyntaxException");
- } catch (final IOException e) {
- fail("IOException");
- }
-
- // Test the copy of a null trace
- try {
- new TmfTraceStub((TmfTraceStub) null);
- fail("Missing exception");
- } catch (final IllegalArgumentException e) {
- // test passed
- } catch (final Exception e) {
- fail("Unexpected exception");
- }
- }
-
- // ------------------------------------------------------------------------
- // Trace initialization
- // ------------------------------------------------------------------------
-
- @Test
- public void testInitializeNullPath() {
- // Instantiate an "empty" trace
- final TmfTraceStub trace = new TmfTraceStub();
-
- try {
- trace.initialize(null, null, ITmfEvent.class);
- fail("TmfTrace.initialize() - no exception thrown");
- } catch (TmfTraceException e) {
- // Success
- } catch (Exception e) {
- fail("TmfTrace.initialize() - wrong exception thrown");
- }
- }
-
- @Test
- public void testInitializeSimplePath() {
- // Instantiate an "empty" trace
- final TmfTraceStub trace = new TmfTraceStub();
-
- // Path == trace name
- String path = "TraceName";
- try {
- trace.initialize(null, path, ITmfEvent.class);
- } catch (Exception e) {
- fail("TmfTrace.initialize() - Exception thrown");
- }
-
- assertEquals("getType", ITmfEvent.class, trace.getType());
- assertNull ("getResource", trace.getResource());
- assertEquals("getPath", path, trace.getPath());
- assertEquals("getCacheSize", ITmfTrace.DEFAULT_TRACE_CACHE_SIZE, trace.getCacheSize());
- assertEquals("getStreamingInterval", 0, trace.getStreamingInterval());
- assertEquals("getName", path, trace.getName());
-
- assertEquals("getNbEvents", 0, trace.getNbEvents());
- assertEquals("getRange-start", Long.MIN_VALUE, trace.getTimeRange().getStartTime().getValue());
- assertEquals("getRange-end", Long.MIN_VALUE, trace.getTimeRange().getEndTime().getValue());
- assertEquals("getStartTime", Long.MIN_VALUE, trace.getStartTime().getValue());
- assertEquals("getEndTime", Long.MIN_VALUE, trace.getEndTime().getValue());
- }
-
- @Test
- public void testInitializeNormalPath() {
- // Instantiate an "empty" trace
- final TmfTraceStub trace = new TmfTraceStub();
-
- // Path == trace name
- String name = "TraceName";
- String path = "/my/trace/path/" + name;
- try {
- trace.initialize(null, path, ITmfEvent.class);
- } catch (Exception e) {
- fail("TmfTrace.initialize() - Exception thrown");
- }
-
- assertEquals("getType", ITmfEvent.class, trace.getType());
- assertNull ("getResource", trace.getResource());
- assertEquals("getPath", path, trace.getPath());
- assertEquals("getCacheSize", ITmfTrace.DEFAULT_TRACE_CACHE_SIZE, trace.getCacheSize());
- assertEquals("getStreamingInterval", 0, trace.getStreamingInterval());
- assertEquals("getName", name, trace.getName());
-
- assertEquals("getNbEvents", 0, trace.getNbEvents());
- assertEquals("getRange-start", Long.MIN_VALUE, trace.getTimeRange().getStartTime().getValue());
- assertEquals("getRange-end", Long.MIN_VALUE, trace.getTimeRange().getEndTime().getValue());
- assertEquals("getStartTime", Long.MIN_VALUE, trace.getStartTime().getValue());
- assertEquals("getEndTime", Long.MIN_VALUE, trace.getEndTime().getValue());
- }
-
- @Test
- public void testInitTrace() throws URISyntaxException, IOException, TmfTraceException, InterruptedException {
- // Instantiate an "empty" trace
- final TmfTraceStub trace = new TmfTraceStub();
-
- assertNull ("getType", trace.getType());
- assertNull ("getResource", trace.getResource());
- assertEquals("getCacheSize", ITmfTrace.DEFAULT_TRACE_CACHE_SIZE, trace.getCacheSize());
- assertEquals("getStreamingInterval", 0, trace.getStreamingInterval());
- assertEquals("getName", "", trace.getName());
-
- assertEquals("getNbEvents", 0, trace.getNbEvents());
- assertEquals("getRange-start", Long.MIN_VALUE, trace.getTimeRange().getStartTime().getValue());
- assertEquals("getRange-end", Long.MIN_VALUE, trace.getTimeRange().getEndTime().getValue());
- assertEquals("getStartTime", Long.MIN_VALUE, trace.getStartTime().getValue());
- assertEquals("getEndTime", Long.MIN_VALUE, trace.getEndTime().getValue());
-
- // Validate
- final URL location = FileLocator.find(TmfCoreTestPlugin.getDefault().getBundle(), new Path(TEST_TRACE.getFullPath()), null);
- final File testfile = new File(FileLocator.toFileURL(location).toURI());
- assertTrue("validate", trace.validate(null, testfile.getPath()).isOK());
-
- // InitTrace and wait for indexing completion...
- trace.initTrace(null, testfile.toURI().getPath(), ITmfEvent.class);
- trace.indexTrace(true);
- int nbSecs = 0;
- while (trace.getNbEvents() < NB_EVENTS && nbSecs < 10) {
- Thread.sleep(1000);
- nbSecs++;
- }
- if (trace.getNbEvents() < NB_EVENTS) {
- fail("indexing");
- }
-
- assertEquals("getType", ITmfEvent.class, trace.getType());
- assertNull ("getResource", trace.getResource());
- assertEquals("getCacheSize", ITmfTrace.DEFAULT_TRACE_CACHE_SIZE, trace.getCacheSize());
- assertEquals("getStreamingInterval", 0, trace.getStreamingInterval());
- assertEquals("getName", TEST_TRACE.getPath(), trace.getName());
-
- assertEquals("getNbEvents", NB_EVENTS, trace.getNbEvents());
- assertEquals("getRange-start", 1, trace.getTimeRange().getStartTime().getValue());
- assertEquals("getRange-end", NB_EVENTS, trace.getTimeRange().getEndTime().getValue());
- assertEquals("getStartTime", 1, trace.getStartTime().getValue());
- assertEquals("getEndTime", NB_EVENTS, trace.getEndTime().getValue());
- }
-
- // ------------------------------------------------------------------------
- // Set/Get streaming interval
- // ------------------------------------------------------------------------
-
- @Test
- public void testSetStreamingInterval() throws TmfTraceException {
- final TmfTraceStub trace = new TmfTraceStub(fTrace);
-
- long interval = 0;
- assertEquals("getStreamingInterval", interval, trace.getStreamingInterval());
-
- interval = 100;
- trace.setStreamingInterval(interval);
- assertEquals("getStreamingInterval", interval, trace.getStreamingInterval());
-
- interval = -1;
- trace.setStreamingInterval(interval);
- assertEquals("getStreamingInterval", 0, trace.getStreamingInterval());
-
- interval = 0;
- trace.setStreamingInterval(interval);
- assertEquals("getStreamingInterval", interval, trace.getStreamingInterval());
-
- trace.dispose();
- }
-
- // ------------------------------------------------------------------------
- // Set/Get time range
- // ------------------------------------------------------------------------
-
- @Test
- public void testSetTimeRange() throws TmfTraceException {
- final TmfTraceStub trace = new TmfTraceStub(fTrace);
- trace.indexTrace(true);
-
- assertEquals("getRange-start", 1, trace.getTimeRange().getStartTime().getValue());
- assertEquals("getRange-end", NB_EVENTS, trace.getTimeRange().getEndTime().getValue());
- assertEquals("getStartTime", 1, trace.getStartTime().getValue());
- assertEquals("getEndTime", NB_EVENTS, trace.getEndTime().getValue());
-
- trace.setTimeRange(new TmfTimeRange(new TmfTimestamp(100), new TmfTimestamp(200)));
- assertEquals("setTimeRange", 100, trace.getTimeRange().getStartTime().getValue());
- assertEquals("setTimeRange", 200, trace.getTimeRange().getEndTime().getValue());
- assertEquals("setTimeRange", 100, trace.getStartTime().getValue());
- assertEquals("setTimeRange", 200, trace.getEndTime().getValue());
-
- trace.dispose();
- }
-
- @Test
- public void testSetStartTime() throws TmfTraceException {
- final TmfTraceStub trace = new TmfTraceStub(fTrace);
- trace.indexTrace(true);
-
- assertEquals("getRange-start", 1, trace.getTimeRange().getStartTime().getValue());
- assertEquals("getRange-end", NB_EVENTS, trace.getTimeRange().getEndTime().getValue());
- assertEquals("getStartTime", 1, trace.getStartTime().getValue());
- assertEquals("getEndTime", NB_EVENTS, trace.getEndTime().getValue());
-
- trace.setStartTime(new TmfTimestamp(100));
- assertEquals("setStartTime", 100, trace.getTimeRange().getStartTime().getValue());
- assertEquals("setStartTime", NB_EVENTS, trace.getTimeRange().getEndTime().getValue());
- assertEquals("setStartTime", 100, trace.getStartTime().getValue());
- assertEquals("setStartTime", NB_EVENTS, trace.getEndTime().getValue());
-
- trace.dispose();
- }
-
- @Test
- public void testSetEndTime() throws TmfTraceException {
- final TmfTraceStub trace = new TmfTraceStub(fTrace);
- trace.indexTrace(true);
-
- assertEquals("getRange-start", 1, trace.getTimeRange().getStartTime().getValue());
- assertEquals("getRange-end", NB_EVENTS, trace.getTimeRange().getEndTime().getValue());
- assertEquals("getStartTime", 1, trace.getStartTime().getValue());
- assertEquals("getEndTime", NB_EVENTS, trace.getEndTime().getValue());
-
- trace.setEndTime(new TmfTimestamp(100));
- assertEquals("setEndTime", 1, trace.getTimeRange().getStartTime().getValue());
- assertEquals("setEndTime", 100, trace.getTimeRange().getEndTime().getValue());
- assertEquals("setEndTime", 1, trace.getStartTime().getValue());
- assertEquals("setEndTime", 100, trace.getEndTime().getValue());
-
- trace.dispose();
- }
-
- @Test
- public void testSetNbEvents() throws TmfTraceException {
- final TmfTraceStub trace = new TmfTraceStub(fTrace);
- trace.indexTrace(true);
-
- assertEquals("getNbEvents", NB_EVENTS, trace.getNbEvents());
-
- trace.setNbEvents(0);
- assertEquals("getNbEvents", 0, trace.getNbEvents());
-
- trace.setNbEvents(-1);
- assertEquals("getNbEvents", 0, trace.getNbEvents());
-
- trace.setNbEvents(NB_EVENTS + 1);
- assertEquals("getNbEvents", NB_EVENTS + 1, trace.getNbEvents());
-
- trace.setNbEvents(NB_EVENTS);
- assertEquals("getNbEvents", NB_EVENTS, trace.getNbEvents());
-
- trace.dispose();
- }
-
- // ------------------------------------------------------------------------
- // State system, statistics and modules methods
- // ------------------------------------------------------------------------
-
- @Test
- public void testGetModulesByClass() {
- /* There should not be any modules at this point */
- Iterable<IAnalysisModule> modules = fTrace.getAnalysisModules();
- assertFalse(modules.iterator().hasNext());
-
- /* Open the trace, the modules should be populated */
- fTrace.traceOpened(new TmfTraceOpenedSignal(this, fTrace, null));
-
- modules = fTrace.getAnalysisModules();
- Iterable<TestAnalysis> testModules = fTrace.getAnalysisModulesOfClass(TestAnalysis.class);
- assertTrue(modules.iterator().hasNext());
- assertTrue(testModules.iterator().hasNext());
-
- /*
- * Make sure all modules of type TestAnalysis are returned in the second
- * call
- */
- for (IAnalysisModule module : modules) {
- if (module instanceof TestAnalysis) {
- IAnalysisModule otherModule = fTrace.getAnalysisModule(module.getId());
- assertNotNull(otherModule);
- assertTrue(otherModule.equals(module));
- }
- }
-
- }
-
- // ------------------------------------------------------------------------
- // seekEvent on location (note: does not reliably set the rank)
- // ------------------------------------------------------------------------
-
- @Test
- public void testSeekEventOnCacheBoundary() {
- // Position trace at event rank 0
- ITmfContext context = fTrace.seekEvent(0);
- ITmfEvent event = fTrace.parseEvent(context);
- assertEquals("Event timestamp", 1, event.getTimestamp().getValue());
- assertEquals("Event rank", 0, context.getRank());
-
- context = fTrace.seekEvent(context.getLocation());
- assertEquals("Event rank", ITmfContext.UNKNOWN_RANK, context.getRank());
-
- event = fTrace.parseEvent(context);
- assertEquals("Event timestamp", 1, event.getTimestamp().getValue());
- assertEquals("Event rank", ITmfContext.UNKNOWN_RANK, context.getRank());
-
- event = fTrace.getNext(context);
- assertEquals("Event timestamp", 1, event.getTimestamp().getValue());
- assertEquals("Event rank", ITmfContext.UNKNOWN_RANK, context.getRank());
-
- // Position trace at event rank 1000
- ITmfContext tmpContext = fTrace.seekEvent(new TmfTimestamp(1001, SCALE, 0));
- context = fTrace.seekEvent(tmpContext.getLocation());
- assertEquals("Event rank", ITmfContext.UNKNOWN_RANK, context.getRank());
-
- event = fTrace.parseEvent(context);
- assertEquals("Event timestamp", 1001, event.getTimestamp().getValue());
- assertEquals("Event rank", ITmfContext.UNKNOWN_RANK, context.getRank());
-
- event = fTrace.getNext(context);
- assertEquals("Event timestamp", 1001, event.getTimestamp().getValue());
- assertEquals("Event rank", ITmfContext.UNKNOWN_RANK, context.getRank());
-
- // Position trace at event rank 4000
- tmpContext = fTrace.seekEvent(new TmfTimestamp(4001, SCALE, 0));
- context = fTrace.seekEvent(tmpContext.getLocation());
- assertEquals("Event rank", ITmfContext.UNKNOWN_RANK, context.getRank());
-
- event = fTrace.parseEvent(context);
- assertEquals("Event timestamp", 4001, event.getTimestamp().getValue());
- assertEquals("Event rank", ITmfContext.UNKNOWN_RANK, context.getRank());
-
- event = fTrace.getNext(context);
- assertEquals("Event timestamp", 4001, event.getTimestamp().getValue());
- assertEquals("Event rank", ITmfContext.UNKNOWN_RANK, context.getRank());
- }
-
- @Test
- public void testSeekEventNotOnCacheBoundary() {
- // Position trace at event rank 9
- ITmfContext tmpContext = fTrace.seekEvent(new TmfTimestamp(10, SCALE, 0));
- TmfContext context = fTrace.seekEvent(tmpContext.getLocation());
- assertEquals("Event rank", ITmfContext.UNKNOWN_RANK, context.getRank());
-
- ITmfEvent event = fTrace.parseEvent(context);
- assertEquals("Event timestamp", 10, event.getTimestamp().getValue());
- assertEquals("Event rank", ITmfContext.UNKNOWN_RANK, context.getRank());
-
- event = fTrace.getNext(context);
- assertEquals("Event timestamp", 10, event.getTimestamp().getValue());
- assertEquals("Event rank", ITmfContext.UNKNOWN_RANK, context.getRank());
-
- // Position trace at event rank 999
- tmpContext = fTrace.seekEvent(new TmfTimestamp(1000, SCALE, 0));
- context = fTrace.seekEvent(tmpContext.getLocation());
- assertEquals("Event rank", ITmfContext.UNKNOWN_RANK, context.getRank());
-
- event = fTrace.parseEvent(context);
- assertEquals("Event timestamp", 1000, event.getTimestamp().getValue());
- assertEquals("Event rank", ITmfContext.UNKNOWN_RANK, context.getRank());
-
- event = fTrace.getNext(context);
- assertEquals("Event timestamp", 1000, event.getTimestamp().getValue());
- assertEquals("Event rank", ITmfContext.UNKNOWN_RANK, context.getRank());
-
- // Position trace at event rank 1001
- tmpContext = fTrace.seekEvent(new TmfTimestamp(1002, SCALE, 0));
- context = fTrace.seekEvent(tmpContext.getLocation());
- assertEquals("Event rank", ITmfContext.UNKNOWN_RANK, context.getRank());
-
- event = fTrace.parseEvent(context);
- assertEquals("Event timestamp", 1002, event.getTimestamp().getValue());
- assertEquals("Event rank", ITmfContext.UNKNOWN_RANK, context.getRank());
-
- event = fTrace.getNext(context);
- assertEquals("Event timestamp", 1002, event.getTimestamp().getValue());
- assertEquals("Event rank", ITmfContext.UNKNOWN_RANK, context.getRank());
-
- // Position trace at event rank 4500
- tmpContext = fTrace.seekEvent(new TmfTimestamp(4501, SCALE, 0));
- context = fTrace.seekEvent(tmpContext.getLocation());
- assertEquals("Event rank", ITmfContext.UNKNOWN_RANK, context.getRank());
-
- event = fTrace.parseEvent(context);
- assertEquals("Event timestamp", 4501, event.getTimestamp().getValue());
- assertEquals("Event rank", ITmfContext.UNKNOWN_RANK, context.getRank());
-
- event = fTrace.getNext(context);
- assertEquals("Event timestamp", 4501, event.getTimestamp().getValue());
- assertEquals("Event rank", ITmfContext.UNKNOWN_RANK, context.getRank());
- }
-
- @Test
- public void testSeekEventOutOfScope() {
- // Position trace at beginning
- ITmfContext tmpContext = fTrace.seekEvent(0);
- ITmfContext context = fTrace.seekEvent(tmpContext.getLocation());
- assertEquals("Event rank", ITmfContext.UNKNOWN_RANK, context.getRank());
-
- ITmfEvent event = fTrace.parseEvent(context);
- assertEquals("Event timestamp", 1, event.getTimestamp().getValue());
- assertEquals("Event rank", ITmfContext.UNKNOWN_RANK, context.getRank());
-
- event = fTrace.getNext(context);
- assertEquals("Event timestamp", 1, event.getTimestamp().getValue());
- assertEquals("Event rank", ITmfContext.UNKNOWN_RANK, context.getRank());
-
- // Position trace at event passed the end
- context = fTrace.seekEvent(new TmfTimestamp(NB_EVENTS + 1, SCALE, 0));
- assertNull("Event timestamp", context.getLocation());
- assertEquals("Event rank", ITmfContext.UNKNOWN_RANK, context.getRank());
-
- event = fTrace.getNext(context);
- assertNull("Event", event);
- }
-
- // ------------------------------------------------------------------------
- // seekEvent on timestamp (note: does not reliably set the rank)
- // ------------------------------------------------------------------------
-
- @Test
- public void testSeekEventOnNullTimestamp() {
- // Position trace at event rank 0
- ITmfContext context = fTrace.seekEvent((ITmfTimestamp) null);
- assertEquals("Event rank", 0, context.getRank());
-
- ITmfEvent event = fTrace.parseEvent(context);
- assertEquals("Event timestamp", 1, event.getTimestamp().getValue());
- assertEquals("Event rank", 0, context.getRank());
- }
-
- @Test
- public void testSeekEventOnTimestampOnCacheBoundary() {
- // Position trace at event rank 0
- ITmfContext context = fTrace.seekEvent(new TmfTimestamp(1, SCALE, 0));
- assertEquals("Event rank", 0, context.getRank());
-
- ITmfEvent event = fTrace.parseEvent(context);
- assertEquals("Event timestamp", 1, event.getTimestamp().getValue());
- assertEquals("Event rank", 0, context.getRank());
-
- event = fTrace.getNext(context);
- assertEquals("Event timestamp", 1, event.getTimestamp().getValue());
- assertEquals("Event rank", 1, context.getRank());
-
- // Position trace at event rank 1000
- context = fTrace.seekEvent(new TmfTimestamp(1001, SCALE, 0));
- assertEquals("Event rank", 1000, context.getRank());
-
- event = fTrace.parseEvent(context);
- assertEquals("Event timestamp", 1001, event.getTimestamp().getValue());
- assertEquals("Event rank", 1000, context.getRank());
-
- event = fTrace.getNext(context);
- assertEquals("Event timestamp", 1001, event.getTimestamp().getValue());
- assertEquals("Event rank", 1001, context.getRank());
-
- // Position trace at event rank 4000
- context = fTrace.seekEvent(new TmfTimestamp(4001, SCALE, 0));
- assertEquals("Event rank", 4000, context.getRank());
-
- event = fTrace.parseEvent(context);
- assertEquals("Event timestamp", 4001, event.getTimestamp().getValue());
- assertEquals("Event rank", 4000, context.getRank());
-
- event = fTrace.getNext(context);
- assertEquals("Event timestamp", 4001, event.getTimestamp().getValue());
- assertEquals("Event rank", 4001, context.getRank());
- }
-
- @Test
- public void testSeekEventOnTimestampNotOnCacheBoundary() {
- // Position trace at event rank 1
- ITmfContext context = fTrace.seekEvent(new TmfTimestamp(2, SCALE, 0));
- assertEquals("Event rank", 1, context.getRank());
-
- ITmfEvent event = fTrace.parseEvent(context);
- assertEquals("Event timestamp", 2, event.getTimestamp().getValue());
- assertEquals("Event rank", 1, context.getRank());
-
- event = fTrace.getNext(context);
- assertEquals("Event timestamp", 2, event.getTimestamp().getValue());
- assertEquals("Event rank", 2, context.getRank());
-
- // Position trace at event rank 9
- context = fTrace.seekEvent(new TmfTimestamp(10, SCALE, 0));
- assertEquals("Event rank", 9, context.getRank());
-
- event = fTrace.parseEvent(context);
- assertEquals("Event timestamp", 10, event.getTimestamp().getValue());
- assertEquals("Event rank", 9, context.getRank());
-
- event = fTrace.getNext(context);
- assertEquals("Event timestamp", 10, event.getTimestamp().getValue());
- assertEquals("Event rank", 10, context.getRank());
-
- // Position trace at event rank 999
- context = fTrace.seekEvent(new TmfTimestamp(1000, SCALE, 0));
- assertEquals("Event rank", 999, context.getRank());
-
- event = fTrace.parseEvent(context);
- assertEquals("Event timestamp", 1000, event.getTimestamp().getValue());
- assertEquals("Event rank", 999, context.getRank());
-
- event = fTrace.getNext(context);
- assertEquals("Event timestamp", 1000, event.getTimestamp().getValue());
- assertEquals("Event rank", 1000, context.getRank());
-
- // Position trace at event rank 1001
- context = fTrace.seekEvent(new TmfTimestamp(1002, SCALE, 0));
- assertEquals("Event rank", 1001, context.getRank());
-
- event = fTrace.parseEvent(context);
- assertEquals("Event timestamp", 1002, event.getTimestamp().getValue());
- assertEquals("Event rank", 1001, context.getRank());
-
- event = fTrace.getNext(context);
- assertEquals("Event timestamp", 1002, event.getTimestamp().getValue());
- assertEquals("Event rank", 1002, context.getRank());
-
- // Position trace at event rank 4500
- context = fTrace.seekEvent(new TmfTimestamp(4501, SCALE, 0));
- assertEquals("Event rank", 4500, context.getRank());
-
- event = fTrace.parseEvent(context);
- assertEquals("Event timestamp", 4501, event.getTimestamp().getValue());
- assertEquals("Event rank", 4500, context.getRank());
-
- event = fTrace.getNext(context);
- assertEquals("Event timestamp", 4501, event.getTimestamp().getValue());
- assertEquals("Event rank", 4501, context.getRank());
- }
-
- @Test
- public void testSeekEventOnTimestampOutOfScope() {
- // Position trace at beginning
- ITmfContext context = fTrace.seekEvent(new TmfTimestamp(-1, SCALE, 0));
- assertEquals("Event rank", 0, context.getRank());
-
- ITmfEvent event = fTrace.parseEvent(context);
- assertEquals("Event timestamp", 1, event.getTimestamp().getValue());
- assertEquals("Event rank", 0, context.getRank());
-
- event = fTrace.getNext(context);
- assertEquals("Event timestamp", 1, event.getTimestamp().getValue());
- assertEquals("Event rank", 1, context.getRank());
-
- // Position trace at event passed the end
- context = fTrace.seekEvent(new TmfTimestamp(NB_EVENTS + 1, SCALE, 0));
- assertEquals("Event rank", ITmfContext.UNKNOWN_RANK, context.getRank());
-
- event = fTrace.parseEvent(context);
- assertEquals("Event timestamp", null, event);
- assertEquals("Event rank", ITmfContext.UNKNOWN_RANK, context.getRank());
-
- event = fTrace.getNext(context);
- assertEquals("Event timestamp", null, event);
- assertEquals("Event rank", ITmfContext.UNKNOWN_RANK, context.getRank());
- }
-
- // ------------------------------------------------------------------------
- // seekEvent on rank
- // ------------------------------------------------------------------------
-
- @Test
- public void testSeekEventOnNegativeRank() {
- // Position trace at event rank 0
- ITmfContext context = fTrace.seekEvent(-1);
- assertEquals("Event rank", 0, context.getRank());
-
- ITmfEvent event = fTrace.parseEvent(context);
- assertEquals("Event timestamp", 1, event.getTimestamp().getValue());
- assertEquals("Event rank", 0, context.getRank());
- }
-
- @Test
- public void testSeekOnRankOnCacheBoundary() {
- // On lower bound, returns the first event (ts = 1)
- ITmfContext context = fTrace.seekEvent(0);
- assertEquals("Event rank", 0, context.getRank());
-
- ITmfEvent event = fTrace.parseEvent(context);
- assertEquals("Event timestamp", 1, event.getTimestamp().getValue());
- assertEquals("Event rank", 0, context.getRank());
-
- event = fTrace.getNext(context);
- assertEquals("Event timestamp", 1, event.getTimestamp().getValue());
- assertEquals("Event rank", 1, context.getRank());
-
- // Position trace at event rank 1000
- context = fTrace.seekEvent(1000);
- assertEquals("Event rank", 1000, context.getRank());
-
- event = fTrace.parseEvent(context);
- assertEquals("Event timestamp", 1001, event.getTimestamp().getValue());
- assertEquals("Event rank", 1000, context.getRank());
-
- event = fTrace.getNext(context);
- assertEquals("Event timestamp", 1001, event.getTimestamp().getValue());
- assertEquals("Event rank", 1001, context.getRank());
-
- // Position trace at event rank 4000
- context = fTrace.seekEvent(4000);
- assertEquals("Event rank", 4000, context.getRank());
-
- event = fTrace.parseEvent(context);
- assertEquals("Event timestamp", 4001, event.getTimestamp().getValue());
- assertEquals("Event rank", 4000, context.getRank());
-
- event = fTrace.getNext(context);
- assertEquals("Event timestamp", 4001, event.getTimestamp().getValue());
- assertEquals("Event rank", 4001, context.getRank());
- }
-
- @Test
- public void testSeekOnRankNotOnCacheBoundary() {
- // Position trace at event rank 9
- ITmfContext context = fTrace.seekEvent(9);
- assertEquals("Event rank", 9, context.getRank());
-
- ITmfEvent event = fTrace.parseEvent(context);
- assertEquals("Event timestamp", 10, event.getTimestamp().getValue());
- assertEquals("Event rank", 9, context.getRank());
-
- event = fTrace.getNext(context);
- assertEquals("Event timestamp", 10, event.getTimestamp().getValue());
- assertEquals("Event rank", 10, context.getRank());
-
- // Position trace at event rank 999
- context = fTrace.seekEvent(999);
- assertEquals("Event rank", 999, context.getRank());
-
- event = fTrace.parseEvent(context);
- assertEquals("Event timestamp", 1000, event.getTimestamp().getValue());
- assertEquals("Event rank", 999, context.getRank());
-
- event = fTrace.getNext(context);
- assertEquals("Event timestamp", 1000, event.getTimestamp().getValue());
- assertEquals("Event rank", 1000, context.getRank());
-
- // Position trace at event rank 1001
- context = fTrace.seekEvent(1001);
- assertEquals("Event rank", 1001, context.getRank());
-
- event = fTrace.parseEvent(context);
- assertEquals("Event timestamp", 1002, event.getTimestamp().getValue());
- assertEquals("Event rank", 1001, context.getRank());
-
- event = fTrace.getNext(context);
- assertEquals("Event timestamp", 1002, event.getTimestamp().getValue());
- assertEquals("Event rank", 1002, context.getRank());
-
- // Position trace at event rank 4500
- context = fTrace.seekEvent(4500);
- assertEquals("Event rank", 4500, context.getRank());
-
- event = fTrace.parseEvent(context);
- assertEquals("Event timestamp", 4501, event.getTimestamp().getValue());
- assertEquals("Event rank", 4500, context.getRank());
-
- event = fTrace.getNext(context);
- assertEquals("Event timestamp", 4501, event.getTimestamp().getValue());
- assertEquals("Event rank", 4501, context.getRank());
- }
-
- @Test
- public void testSeekEventOnRankOutOfScope() {
- // Position trace at beginning
- ITmfContext context = fTrace.seekEvent(-1);
- assertEquals("Event rank", 0, context.getRank());
-
- ITmfEvent event = fTrace.parseEvent(context);
- assertEquals("Event timestamp", 1, event.getTimestamp().getValue());
- assertEquals("Event rank", 0, context.getRank());
-
- event = fTrace.getNext(context);
- assertEquals("Event timestamp", 1, event.getTimestamp().getValue());
- assertEquals("Event rank", 1, context.getRank());
-
- // Position trace at event passed the end
- context = fTrace.seekEvent(NB_EVENTS);
- assertEquals("Event rank", NB_EVENTS, context.getRank());
-
- event = fTrace.parseEvent(context);
- assertNull("Event", event);
- assertEquals("Event rank", NB_EVENTS, context.getRank());
-
- event = fTrace.getNext(context);
- assertNull("Event", event);
- assertEquals("Event rank", NB_EVENTS, context.getRank());
- }
-
- // ------------------------------------------------------------------------
- // parseEvent - make sure parseEvent doesn't update the context
- // ------------------------------------------------------------------------
-
- @Test
- public void testParseEvent() {
- final int NB_READS = 20;
-
- // On lower bound, returns the first event (ts = 0)
- final TmfContext context = (TmfContext) fTrace.seekEvent(new TmfTimestamp(0, SCALE, 0));
- TmfContext svContext = new TmfContext(context);
-
- ITmfEvent event = fTrace.parseEvent(context);
- assertEquals("Event timestamp", 1, event.getTimestamp().getValue());
- assertEquals("Event rank", 0, context.getRank());
- assertTrue("parseEvent", context.equals(svContext));
-
- event = fTrace.parseEvent(context);
- assertEquals("Event timestamp", 1, event.getTimestamp().getValue());
- assertEquals("Event rank", 0, context.getRank());
- assertTrue("parseEvent", context.equals(svContext));
-
- event = fTrace.parseEvent(context);
- assertEquals("Event timestamp", 1, event.getTimestamp().getValue());
- assertEquals("Event rank", 0, context.getRank());
- assertTrue("parseEvent", context.equals(svContext));
-
- // Position the trace at event NB_READS
- for (int i = 1; i < NB_READS; i++) {
- event = fTrace.getNext(context);
- assertEquals("Event timestamp", i, event.getTimestamp().getValue());
- }
-
- svContext = new TmfContext(context);
- event = fTrace.parseEvent(context);
- assertEquals("Event timestamp", NB_READS, event.getTimestamp().getValue());
- assertEquals("Event rank", NB_READS -1 , context.getRank());
- assertTrue("parseEvent", context.equals(svContext));
-
- event = fTrace.parseEvent(context);
- assertEquals("Event timestamp", NB_READS, event.getTimestamp().getValue());
- assertEquals("Event rank", NB_READS - 1, context.getRank());
- assertTrue("parseEvent", context.equals(svContext));
- }
-
- // ------------------------------------------------------------------------
- // getNext - updates the context
- // ------------------------------------------------------------------------
-
- @Test
- public void testGetNextAfteSeekingOnTS_1() {
- final long INITIAL_TS = 1;
- final int NB_READS = 20;
-
- // On lower bound, returns the first event (ts = 1)
- final ITmfContext context = fTrace.seekEvent(new TmfTimestamp(INITIAL_TS, SCALE, 0));
-
- // Read NB_EVENTS
- ITmfEvent event;
- for (int i = 0; i < NB_READS; i++) {
- event = fTrace.getNext(context);
- assertEquals("Event timestamp", INITIAL_TS + i, event.getTimestamp().getValue());
- assertEquals("Event rank", INITIAL_TS + i, context.getRank());
- }
-
- // Make sure we stay positioned
- event = fTrace.parseEvent(context);
- assertEquals("Event timestamp", INITIAL_TS + NB_READS, event.getTimestamp().getValue());
- assertEquals("Event rank", INITIAL_TS + NB_READS - 1, context.getRank());
- }
-
- @Test
- public void testGetNextAfteSeekingOnTS_2() {
- final long INITIAL_TS = 2;
- final int NB_READS = 20;
-
- // On lower bound, returns the first event (ts = 500)
- final ITmfContext context = fTrace.seekEvent(new TmfTimestamp(INITIAL_TS, SCALE, 0));
-
- // Read NB_EVENTS
- ITmfEvent event;
- for (int i = 0; i < NB_READS; i++) {
- event = fTrace.getNext(context);
- assertEquals("Event timestamp", INITIAL_TS + i, event.getTimestamp().getValue());
- assertEquals("Event rank", INITIAL_TS + i, context.getRank());
- }
-
- // Make sure we stay positioned
- event = fTrace.parseEvent(context);
- assertEquals("Event timestamp", INITIAL_TS + NB_READS, event.getTimestamp().getValue());
- assertEquals("Event rank", INITIAL_TS + NB_READS - 1, context.getRank());
- }
-
- @Test
- public void testGetNextAfteSeekingOnTS_3() {
- final long INITIAL_TS = 500;
- final int NB_READS = 20;
-
- // On lower bound, returns the first event (ts = 500)
- final ITmfContext context = fTrace.seekEvent(new TmfTimestamp(INITIAL_TS, SCALE, 0));
-
- // Read NB_EVENTS
- ITmfEvent event;
- for (int i = 0; i < NB_READS; i++) {
- event = fTrace.getNext(context);
- assertEquals("Event timestamp", INITIAL_TS + i, event.getTimestamp().getValue());
- assertEquals("Event rank", INITIAL_TS + i, context.getRank());
- }
-
- // Make sure we stay positioned
- event = fTrace.parseEvent(context);
- assertEquals("Event timestamp", INITIAL_TS + NB_READS, event.getTimestamp().getValue());
- assertEquals("Event rank", INITIAL_TS + NB_READS - 1, context.getRank());
- }
-
- @Test
- public void testGetNextAfterSeekingOnRank_1() {
- final long INITIAL_RANK = 0L;
- final int NB_READS = 20;
-
- // On lower bound, returns the first event (rank = 0)
- final ITmfContext context = fTrace.seekEvent(INITIAL_RANK);
-
- // Read NB_EVENTS
- ITmfEvent event;
- for (int i = 0; i < NB_READS; i++) {
- event = fTrace.getNext(context);
- assertEquals("Event timestamp", INITIAL_RANK + i + 1, event.getTimestamp().getValue());
- assertEquals("Event rank", INITIAL_RANK + i + 1, context.getRank());
- }
-
- // Make sure we stay positioned
- event = fTrace.parseEvent(context);
- assertEquals("Event timestamp", INITIAL_RANK + NB_READS + 1, event.getTimestamp().getValue());
- assertEquals("Event rank", INITIAL_RANK + NB_READS, context.getRank());
- }
-
- @Test
- public void testGetNextAfterSeekingOnRank_2() {
- final long INITIAL_RANK = 1L;
- final int NB_READS = 20;
-
- // On lower bound, returns the first event (rank = 0)
- final ITmfContext context = fTrace.seekEvent(INITIAL_RANK);
-
- // Read NB_EVENTS
- ITmfEvent event;
- for (int i = 0; i < NB_READS; i++) {
- event = fTrace.getNext(context);
- assertEquals("Event timestamp", INITIAL_RANK + i + 1, event.getTimestamp().getValue());
- assertEquals("Event rank", INITIAL_RANK + i + 1, context.getRank());
- }
-
- // Make sure we stay positioned
- event = fTrace.parseEvent(context);
- assertEquals("Event timestamp", INITIAL_RANK + NB_READS + 1, event.getTimestamp().getValue());
- assertEquals("Event rank", INITIAL_RANK + NB_READS, context.getRank());
- }
-
- @Test
- public void testGetNextAfterSeekingOnRank_3() {
- final long INITIAL_RANK = 500L;
- final int NB_READS = 20;
-
- // On lower bound, returns the first event (rank = 0)
- final ITmfContext context = fTrace.seekEvent(INITIAL_RANK);
-
- // Read NB_EVENTS
- ITmfEvent event;
- for (int i = 0; i < NB_READS; i++) {
- event = fTrace.getNext(context);
- assertEquals("Event timestamp", INITIAL_RANK + i + 1, event.getTimestamp().getValue());
- assertEquals("Event rank", INITIAL_RANK + i + 1, context.getRank());
- }
-
- // Make sure we stay positioned
- event = fTrace.parseEvent(context);
- assertEquals("Event timestamp", INITIAL_RANK + NB_READS + 1, event.getTimestamp().getValue());
- assertEquals("Event rank", INITIAL_RANK + NB_READS, context.getRank());
- }
-
- @Test
- public void testGetNextAfterSeekingOnLocation_1() {
- final ITmfLocation INITIAL_LOC = null;
- final long INITIAL_TS = 1;
- final int NB_READS = 20;
-
- // On lower bound, returns the first event (ts = 1)
- final ITmfContext context = fTrace.seekEvent(INITIAL_LOC);
-
- // Read NB_EVENTS
- ITmfEvent event;
- for (int i = 0; i < NB_READS; i++) {
- event = fTrace.getNext(context);
- assertEquals("Event timestamp", INITIAL_TS + i, event.getTimestamp().getValue());
- assertEquals("Event rank", INITIAL_TS + i, context.getRank());
- }
-
- // Make sure we stay positioned
- event = fTrace.parseEvent(context);
- assertEquals("Event timestamp", INITIAL_TS + NB_READS, event.getTimestamp().getValue());
- assertEquals("Event rank", INITIAL_TS + NB_READS - 1, context.getRank());
- }
-
- @Test
- public void testGetNextAfterSeekingOnLocation_2() {
- final ITmfLocation INITIAL_LOC = fTrace.seekEvent(1L).getLocation();
- final long INITIAL_TS = 2;
- final int NB_READS = 20;
-
- // On lower bound, returns the first event (ts = 501)
- final ITmfContext context = fTrace.seekEvent(INITIAL_LOC);
-
- // Read NB_EVENTS
- ITmfEvent event;
- for (int i = 0; i < NB_READS; i++) {
- event = fTrace.getNext(context);
- assertEquals("Event timestamp", INITIAL_TS + i, event.getTimestamp().getValue());
- }
-
- // Make sure we stay positioned
- event = fTrace.parseEvent(context);
- assertEquals("Event timestamp", INITIAL_TS + NB_READS, event.getTimestamp().getValue());
- }
-
- @Test
- public void testGetNextAfterSeekingOnLocation_3() {
- final ITmfLocation INITIAL_LOC = fTrace.seekEvent(500L).getLocation();
- final long INITIAL_TS = 501;
- final int NB_READS = 20;
-
- // On lower bound, returns the first event (ts = 501)
- final ITmfContext context = fTrace.seekEvent(INITIAL_LOC);
-
- // Read NB_EVENTS
- ITmfEvent event;
- for (int i = 0; i < NB_READS; i++) {
- event = fTrace.getNext(context);
- assertEquals("Event timestamp", INITIAL_TS + i, event.getTimestamp().getValue());
- }
-
- // Make sure we stay positioned
- event = fTrace.parseEvent(context);
- assertEquals("Event timestamp", INITIAL_TS + NB_READS, event.getTimestamp().getValue());
- }
-
- @Test
- public void testGetNextLocation() {
- ITmfContext context1 = fTrace.seekEvent(0);
- fTrace.getNext(context1);
- ITmfLocation location = context1.getLocation();
- ITmfEvent event1 = fTrace.getNext(context1);
- ITmfContext context2 = fTrace.seekEvent(location);
- ITmfEvent event2 = fTrace.getNext(context2);
- assertEquals("Event timestamp", event1.getTimestamp().getValue(), event2.getTimestamp().getValue());
- }
-
- @Test
- public void testGetNextEndLocation() {
- ITmfContext context1 = fTrace.seekEvent(fTrace.getNbEvents() - 1);
- fTrace.getNext(context1);
- ITmfLocation location = context1.getLocation();
- ITmfContext context2 = fTrace.seekEvent(location);
- ITmfEvent event = fTrace.getNext(context2);
- assertNull("Event", event);
- }
-
- // ------------------------------------------------------------------------
- // processRequest
- // ------------------------------------------------------------------------
-
- @Test
- public void testProcessEventRequestForAllEvents() throws InterruptedException {
- final Vector<ITmfEvent> requestedEvents = new Vector<>();
-
- final TmfTimeRange range = new TmfTimeRange(TmfTimestamp.BIG_BANG, TmfTimestamp.BIG_CRUNCH);
- final TmfEventRequest request = new TmfEventRequest(ITmfEvent.class,
- range, 0, NB_EVENTS, ExecutionType.FOREGROUND) {
- @Override
- public void handleData(final ITmfEvent event) {
- super.handleData(event);
- requestedEvents.add(event);
- }
- };
- final ITmfEventProvider[] providers = TmfProviderManager.getProviders(ITmfEvent.class, TmfTraceStub.class);
- providers[0].sendRequest(request);
- request.waitForCompletion();
-
- assertEquals("nbEvents", NB_EVENTS, requestedEvents.size());
- assertTrue("isCompleted", request.isCompleted());
- assertFalse("isCancelled", request.isCancelled());
-
- // Ensure that we have distinct events.
- // Don't go overboard: we are not validating the stub!
- for (int i = 0; i < NB_EVENTS; i++) {
- assertEquals("Distinct events", i + 1, requestedEvents.get(i).getTimestamp().getValue());
- }
- }
-
- @Test
- public void testProcessEventRequestForNbEvents() throws InterruptedException {
- final int nbEvents = 1000;
- final Vector<ITmfEvent> requestedEvents = new Vector<>();
-
- final TmfTimeRange range = new TmfTimeRange(TmfTimestamp.BIG_BANG, TmfTimestamp.BIG_CRUNCH);
- final TmfEventRequest request = new TmfEventRequest(ITmfEvent.class,
- range, 0, nbEvents, ExecutionType.FOREGROUND) {
- @Override
- public void handleData(final ITmfEvent event) {
- super.handleData(event);
- requestedEvents.add(event);
- }
- };
- final ITmfEventProvider[] providers = TmfProviderManager.getProviders(ITmfEvent.class, TmfTraceStub.class);
- providers[0].sendRequest(request);
- request.waitForCompletion();
-
- assertEquals("nbEvents", nbEvents, requestedEvents.size());
- assertTrue("isCompleted", request.isCompleted());
- assertFalse("isCancelled", request.isCancelled());
-
- // Ensure that we have distinct events.
- // Don't go overboard: we are not validating the stub!
- for (int i = 0; i < nbEvents; i++) {
- assertEquals("Distinct events", i + 1, requestedEvents.get(i).getTimestamp().getValue());
- }
- }
-
- @Test
- public void testProcessEventRequestForSomeEvents() throws InterruptedException {
- final long startTime = 100;
- final int nbEvents = 1000;
- final Vector<ITmfEvent> requestedEvents = new Vector<>();
-
- final TmfTimeRange range = new TmfTimeRange(new TmfTimestamp(startTime, SCALE), TmfTimestamp.BIG_CRUNCH);
- final TmfEventRequest request = new TmfEventRequest(ITmfEvent.class,
- range, 0, nbEvents, ExecutionType.FOREGROUND) {
- @Override
- public void handleData(final ITmfEvent event) {
- super.handleData(event);
- requestedEvents.add(event);
- }
- };
- final ITmfEventProvider[] providers = TmfProviderManager.getProviders(ITmfEvent.class, TmfTraceStub.class);
- providers[0].sendRequest(request);
- request.waitForCompletion();
-
- assertEquals("nbEvents", nbEvents, requestedEvents.size());
- assertTrue("isCompleted", request.isCompleted());
- assertFalse("isCancelled", request.isCancelled());
-
- // Ensure that we have distinct events.
- // Don't go overboard: we are not validating the stub!
- for (int i = 0; i < nbEvents; i++) {
- assertEquals("Distinct events", startTime + i, requestedEvents.get(i).getTimestamp().getValue());
- }
- }
-
- @Test
- public void testProcessEventRequestForOtherEvents() throws InterruptedException {
- final int startIndex = 99;
- final long startTime = 100;
- final int nbEvents = 1000;
- final Vector<ITmfEvent> requestedEvents = new Vector<>();
-
- final TmfTimeRange range = new TmfTimeRange(new TmfTimestamp(startTime, SCALE), TmfTimestamp.BIG_CRUNCH);
- final TmfEventRequest request = new TmfEventRequest(ITmfEvent.class,
- range, startIndex, nbEvents, ExecutionType.FOREGROUND) {
- @Override
- public void handleData(final ITmfEvent event) {
- super.handleData(event);
- requestedEvents.add(event);
- }
- };
- final ITmfEventProvider[] providers = TmfProviderManager.getProviders(ITmfEvent.class, TmfTraceStub.class);
- providers[0].sendRequest(request);
- request.waitForCompletion();
-
- assertEquals("nbEvents", nbEvents, requestedEvents.size());
- assertTrue("isCompleted", request.isCompleted());
- assertFalse("isCancelled", request.isCancelled());
-
- // Ensure that we have distinct events.
- // Don't go overboard: we are not validating the stub!
- for (int i = 0; i < nbEvents; i++) {
- assertEquals("Distinct events", startTime + i, requestedEvents.get(i).getTimestamp().getValue());
- }
- }
-
- @Test
- public void testProcessDataRequestForSomeEvents() throws InterruptedException {
- final int startIndex = 100;
- final int nbEvents = 1000;
- final Vector<ITmfEvent> requestedEvents = new Vector<>();
-
- final TmfEventRequest request = new TmfEventRequest(ITmfEvent.class,
- TmfTimeRange.ETERNITY,
- startIndex,
- nbEvents,
- TmfEventRequest.ExecutionType.FOREGROUND) {
- @Override
- public void handleData(final ITmfEvent event) {
- super.handleData(event);
- requestedEvents.add(event);
- }
- };
- final ITmfEventProvider[] providers = TmfProviderManager.getProviders(ITmfEvent.class, TmfTraceStub.class);
- providers[0].sendRequest(request);
- request.waitForCompletion();
-
- assertEquals("nbEvents", nbEvents, requestedEvents.size());
- assertTrue("isCompleted", request.isCompleted());
- assertFalse("isCancelled", request.isCancelled());
-
- // Ensure that we have distinct events.
- // Don't go overboard: we are not validating the stub!
- for (int i = 0; i < nbEvents; i++) {
- assertEquals("Distinct events", startIndex + 1 + i, requestedEvents.get(i).getTimestamp().getValue());
- }
- }
-
- // ------------------------------------------------------------------------
- // cancel
- // ------------------------------------------------------------------------
-
- @Test
- public void testCancel() throws InterruptedException {
- final int limit = 500;
- final Vector<ITmfEvent> requestedEvents = new Vector<>();
-
- final TmfTimeRange range = new TmfTimeRange(TmfTimestamp.BIG_BANG, TmfTimestamp.BIG_CRUNCH);
- final TmfEventRequest request = new TmfEventRequest(ITmfEvent.class,
- range, 0, NB_EVENTS, ExecutionType.FOREGROUND) {
- int nbRead = 0;
-
- @Override
- public void handleData(final ITmfEvent event) {
- super.handleData(event);
- requestedEvents.add(event);
- if (++nbRead == limit) {
- cancel();
- }
- }
- };
- final ITmfEventProvider[] providers = TmfProviderManager.getProviders(ITmfEvent.class, TmfTraceStub.class);
- providers[0].sendRequest(request);
- request.waitForCompletion();
-
- assertEquals("nbEvents", limit, requestedEvents.size());
- assertTrue("isCompleted", request.isCompleted());
- assertTrue("isCancelled", request.isCancelled());
- }
-
- // ------------------------------------------------------------------------
- // toString
- // ------------------------------------------------------------------------
-
- @Test
- public void testDefaultTmfTraceStub() {
- assertFalse ("Open trace", fTrace == null);
- assertEquals("getType", ITmfEvent.class, fTrace.getType());
- assertNull ("getResource", fTrace.getResource());
- assertEquals("getStreamingInterval", 0, fTrace.getStreamingInterval());
- assertEquals("getName", TEST_TRACE.getPath(), fTrace.getName());
-
- assertEquals("getNbEvents", NB_EVENTS, fTrace.getNbEvents());
- assertEquals("getRange-start", 1, fTrace.getTimeRange().getStartTime().getValue());
- assertEquals("getRange-end", NB_EVENTS, fTrace.getTimeRange().getEndTime().getValue());
- assertEquals("getStartTime", 1, fTrace.getStartTime().getValue());
- assertEquals("getEndTime", NB_EVENTS, fTrace.getEndTime().getValue());
-
- String expected = "TmfTrace [fPath=" + fTrace.getPath() + ", fCacheSize=" + fTrace.getCacheSize() +
- ", fNbEvents=" + fTrace.getNbEvents() + ", fStartTime=" + fTrace.getStartTime() +
- ", fEndTime=" + fTrace.getEndTime() + ", fStreamingInterval=" + fTrace.getStreamingInterval() +
- "]";
- assertEquals("toString", expected, fTrace.toString());
- }
-
- // ------------------------------------------------------------------------
- // getInitialRangeOffset, getCurrentRange, getCurrentTime
- // ------------------------------------------------------------------------
-
- @Test
- public void testCurrentTimeValues() throws TmfTraceException {
-
- TmfTraceStub trace = null;
- File testfile = null;
- try {
- final URL location = FileLocator.find(TmfCoreTestPlugin.getDefault().getBundle(), new Path(TEST_TRACE.getFullPath()), null);
- testfile = new File(FileLocator.toFileURL(location).toURI());
- trace = new TmfTraceStub(testfile.toURI().getPath(), ITmfTrace.DEFAULT_TRACE_CACHE_SIZE, false, null);
- // verify initial values
- TmfTimestamp defaultInitRange = new TmfTimestamp(DEFAULT_INITIAL_OFFSET_VALUE, ITmfTimestamp.NANOSECOND_SCALE);
- assertEquals("getInitialRangeOffset", defaultInitRange, trace.getInitialRangeOffset());
- trace.setInitialRangeOffset(new TmfTimestamp(5, ITmfTimestamp.MILLISECOND_SCALE));
- trace.indexTrace(true);
-
- TmfTimestamp initRange = new TmfTimestamp(5, ITmfTimestamp.MILLISECOND_SCALE);
- assertEquals("getInitialRangeOffset", initRange, trace.getInitialRangeOffset());
-
- } catch (final URISyntaxException e) {
- fail("URISyntaxException");
- } catch (final IOException e) {
- fail("IOException");
- }
- }
-
- /**
- * Run the String getHostId() method test
- */
- @Test
- public void testTraceHostId() {
- String a = fTrace.getHostId();
- assertEquals("A-Test-10K", a);
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/trace/indexer/AbstractCheckpointCollectionTest.java b/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/trace/indexer/AbstractCheckpointCollectionTest.java
deleted file mode 100644
index 0d386a8849..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/trace/indexer/AbstractCheckpointCollectionTest.java
+++ /dev/null
@@ -1,374 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013, 2014 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:
- * Marc-Andre Laperle - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.core.tests.trace.indexer;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertTrue;
-
-import java.io.File;
-import java.io.IOException;
-import java.io.RandomAccessFile;
-import java.util.ArrayList;
-import java.util.Random;
-
-import org.eclipse.linuxtools.internal.tmf.core.trace.indexer.ICheckpointCollection;
-import org.eclipse.linuxtools.tmf.core.timestamp.TmfTimeRange;
-import org.eclipse.linuxtools.tmf.core.timestamp.TmfTimestamp;
-import org.eclipse.linuxtools.tmf.core.trace.ITmfTrace;
-import org.eclipse.linuxtools.tmf.core.trace.indexer.checkpoint.TmfCheckpoint;
-import org.eclipse.linuxtools.tmf.core.trace.location.TmfLongLocation;
-import org.eclipse.linuxtools.tmf.tests.stubs.trace.TmfTraceStub;
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Test;
-
-/**
- * Common code for ICheckpointCollection test classes
- *
- * @author Marc-Andre Laperle
- */
-public abstract class AbstractCheckpointCollectionTest {
-
- private static final String INDEX_FILE_NAME = "checkpoint.idx"; //$NON-NLS-1$
-
- /**
- * The number of checkpoints to be inserted in insert tests
- */
- protected static final int CHECKPOINTS_INSERT_NUM = 50000;
- /**
- * The collection being tested
- */
- protected ICheckpointCollection fCheckpointCollection = null;
-
- private TmfTraceStub fTrace;
- private File fFile = new File(INDEX_FILE_NAME);
-
- /**
- * Setup the test. Make sure the index is deleted.
- */
- @Before
- public void setUp() {
- fTrace = new TmfTraceStub();
- if (fFile.exists()) {
- fFile.delete();
- }
- fCheckpointCollection = createCollection();
- }
-
- /**
- * Tear down the test. Make sure the index is deleted.
- */
- @After
- public void tearDown() {
- fTrace.dispose();
- fTrace = null;
- if (fCheckpointCollection != null) {
- fCheckpointCollection.dispose();
- }
- if (fFile.exists()) {
- fFile.delete();
- }
- }
-
- /**
- * Get the trace being tested.
- *
- * @return the trace being tested.
- */
- public ITmfTrace getTrace() {
- return fTrace;
- }
-
- /**
- * Returns whether or not the collection is persisted to disk
- *
- * @return true if the collection is persisted to disk, false otherwise
- */
- public boolean isPersistableCollection() {
- return false;
- }
-
- /**
- * Get the file used for the index being tested.
- *
- * @return the file used for the index being tested.
- */
- public File getFile() {
- return fFile;
- }
-
- /**
- * Test constructing a new checkpoint collection
- */
- @Test
- public void testConstructor() {
- if (isPersistableCollection()) {
- assertTrue(fFile.exists());
- }
- assertTrue(fCheckpointCollection.isCreatedFromScratch());
- }
-
- /**
- * Test constructing a new checkpoint collection, existing file
- */
- @Test
- public void testConstructorExistingFile() {
- if (isPersistableCollection()) {
- assertTrue(fFile.exists());
- fCheckpointCollection.setIndexComplete();
- fCheckpointCollection.dispose();
-
- fCheckpointCollection = createCollection();
- assertFalse(fCheckpointCollection.isCreatedFromScratch());
- }
- }
-
- /**
- * Test that a new checkpoint collection is considered created from scratch
- * and vice versa
- */
- @Test
- public void testIsCreatedFromScratch() {
- assertTrue(fCheckpointCollection.isCreatedFromScratch());
- fCheckpointCollection.setIndexComplete();
-
- if (isPersistableCollection()) {
- fCheckpointCollection.dispose();
- fCheckpointCollection = createCollection();
- assertFalse(fCheckpointCollection.isCreatedFromScratch());
- }
- }
-
- /**
- * Test setTimeRange, getTimeRange
- */
- @Test
- public void testSetGetTimeRange() {
- if (isPersistableCollection()) {
- TmfTimeRange timeRange = new TmfTimeRange(new TmfTimestamp(0), new TmfTimestamp(100));
- fCheckpointCollection.setTimeRange(timeRange);
- assertEquals(timeRange, fCheckpointCollection.getTimeRange());
- }
- }
-
- /**
- * Create a collection for the test
- *
- * @return the collection
- */
- abstract protected ICheckpointCollection createCollection();
-
- /**
- * Test setNbEvents, getNbEvents
- */
- @Test
- public void testSetGetNbEvents() {
- if (isPersistableCollection()) {
- int expected = 12345;
- fCheckpointCollection.setNbEvents(expected);
- assertEquals(expected, fCheckpointCollection.getNbEvents());
- }
- }
-
- /**
- * Test setSize, size
- */
- @Test
- public void testSetGetSize() {
- assertEquals(0, fCheckpointCollection.size());
- int expected = CHECKPOINTS_INSERT_NUM;
- for (int i = 0; i < expected; ++i) {
- fCheckpointCollection.insert(new TmfCheckpoint(new TmfTimestamp(0), new TmfLongLocation(0L), 0));
- }
- assertEquals(expected, fCheckpointCollection.size());
- }
-
- /**
- * Test delete
- */
- @Test
- public void testDelete() {
- if (isPersistableCollection()) {
- assertTrue(fFile.exists());
- fCheckpointCollection.delete();
- assertFalse(fFile.exists());
- }
- }
-
- /**
- * Test version change
- *
- * @throws IOException
- * can throw this
- */
- @Test
- public void testVersionChange() throws IOException {
- fCheckpointCollection.setIndexComplete();
- fCheckpointCollection.dispose();
- try (RandomAccessFile f = new RandomAccessFile(fFile, "rw");) {
- f.writeInt(-1);
- }
-
- fCheckpointCollection = createCollection();
- assertTrue(fCheckpointCollection.isCreatedFromScratch());
- }
-
- /**
- * Test a single insertion
- */
- @Test
- public void testInsert() {
- TmfCheckpoint checkpoint = new TmfCheckpoint(new TmfTimestamp(12345), new TmfLongLocation(123456L), 0);
- fCheckpointCollection.insert(checkpoint);
-
- long found = fCheckpointCollection.binarySearch(checkpoint);
- assertEquals(0, found);
- }
-
- /**
- * Generate many checkpoints and insert them in the collection
- *
- * @return the list of generated checkpoints
- */
- protected ArrayList<Integer> insertAlot() {
- for (int i = 0; i < CHECKPOINTS_INSERT_NUM; i++) {
- TmfCheckpoint checkpoint = new TmfCheckpoint(new TmfTimestamp(12345 + i), new TmfLongLocation(123456L + i), i);
- fCheckpointCollection.insert(checkpoint);
- }
-
- fCheckpointCollection.setIndexComplete();
- if (isPersistableCollection()) {
- fCheckpointCollection.dispose();
- }
-
- boolean random = true;
- ArrayList<Integer> list = new ArrayList<>();
- for (int i = 0; i < CHECKPOINTS_INSERT_NUM; i++) {
- if (random) {
- Random rand = new Random();
- list.add(rand.nextInt(CHECKPOINTS_INSERT_NUM));
- } else {
- list.add(i);
- }
- }
- return list;
- }
-
- /**
- * Test many checkpoint insertions. Make sure they can be found after
- * re-opening the file
- */
- @Test
- public void testInsertAlot() {
- ArrayList<Integer> list = insertAlot();
-
- if (isPersistableCollection()) {
- fCheckpointCollection = createCollection();
- }
-
- for (int i = 0; i < CHECKPOINTS_INSERT_NUM; i++) {
- Integer randomCheckpoint = list.get(i);
- TmfCheckpoint checkpoint = new TmfCheckpoint(new TmfTimestamp(12345 + randomCheckpoint), new TmfLongLocation(123456L + randomCheckpoint), 0);
- long found = fCheckpointCollection.binarySearch(checkpoint);
- assertEquals(randomCheckpoint.intValue(), found);
- }
- }
-
- /**
- * Test many checkpoint insertions using the same timestamp. Make sure they
- * can be found after re-opening the file
- */
- @Test
- public void testInsertSameTimestamp() {
- for (int i = 0; i < CHECKPOINTS_INSERT_NUM; i++) {
- TmfCheckpoint checkpoint = new TmfCheckpoint(new TmfTimestamp(12345), new TmfLongLocation(123456L + i), i);
- fCheckpointCollection.insert(checkpoint);
- }
-
- fCheckpointCollection.setIndexComplete();
- if (isPersistableCollection()) {
- fCheckpointCollection.dispose();
- }
-
- boolean random = true;
- ArrayList<Integer> list = new ArrayList<>();
- for (int i = 0; i < CHECKPOINTS_INSERT_NUM; i++) {
- if (random) {
- Random rand = new Random();
- list.add(rand.nextInt(CHECKPOINTS_INSERT_NUM));
- } else {
- list.add(i);
- }
- }
-
- if (isPersistableCollection()) {
- fCheckpointCollection = createCollection();
- }
-
- for (int i = 0; i < CHECKPOINTS_INSERT_NUM; i++) {
- Integer randomCheckpoint = list.get(i);
- TmfCheckpoint checkpoint = new TmfCheckpoint(new TmfTimestamp(12345), new TmfLongLocation(123456L + randomCheckpoint), 0);
- long found = fCheckpointCollection.binarySearch(checkpoint);
- assertEquals(randomCheckpoint.intValue(), found);
- }
- }
-
- /**
- * Tests that binarySearch find the correct checkpoint when the time stamp
- * is between checkpoints
- */
- @Test
- public void testBinarySearchFindInBetween() {
- for (long i = 0; i < CHECKPOINTS_INSERT_NUM; i++) {
- TmfCheckpoint checkpoint = new TmfCheckpoint(new TmfTimestamp(2 * i), new TmfLongLocation(2 * i), i);
- fCheckpointCollection.insert(checkpoint);
- }
-
- TmfCheckpoint searchedCheckpoint = new TmfCheckpoint(new TmfTimestamp(123), new TmfLongLocation(123L), 123);
- int expectedInsertionPoint = 61;
- int expectedRank = -(expectedInsertionPoint + 2);
-
- long rank = fCheckpointCollection.binarySearch(searchedCheckpoint);
- assertEquals(expectedRank, rank);
- }
-
-
- /**
- * Tests that binarySearch finds the correct checkpoint when searching for a
- * checkpoint with a null location. It should return the previous checkpoint
- * from the first checkpoint that matches the timestamp.
- */
- @Test
- public void testBinarySearchInBetweenSameTimestamp() {
- int checkpointNum = 0;
- for (; checkpointNum < 100; checkpointNum++) {
- TmfCheckpoint checkpoint = new TmfCheckpoint(new TmfTimestamp(0), new TmfLongLocation(checkpointNum), checkpointNum);
- fCheckpointCollection.insert(checkpoint);
- }
-
- for (; checkpointNum < 200; checkpointNum++) {
- TmfCheckpoint checkpoint = new TmfCheckpoint(new TmfTimestamp(1), new TmfLongLocation(checkpointNum), checkpointNum);
- fCheckpointCollection.insert(checkpoint);
- }
-
- final TmfCheckpoint searchedCheckpoint = new TmfCheckpoint(new TmfTimestamp(1), null, 0);
-
- long found = fCheckpointCollection.binarySearch(searchedCheckpoint);
-
- int expectedInsertionPoint = 99;
- int expectedRank = -(expectedInsertionPoint + 2);
-
- assertEquals(expectedRank, found);
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/trace/indexer/AllBench.java b/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/trace/indexer/AllBench.java
deleted file mode 100644
index d05abe293e..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/trace/indexer/AllBench.java
+++ /dev/null
@@ -1,251 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 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:
- * Marc-Andre Laperle - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.core.tests.trace.indexer;
-
-import static org.junit.Assert.assertEquals;
-
-import java.io.File;
-import java.io.IOException;
-import java.io.RandomAccessFile;
-import java.util.ArrayList;
-import java.util.Random;
-
-import org.eclipse.linuxtools.internal.tmf.core.trace.indexer.BTree;
-import org.eclipse.linuxtools.internal.tmf.core.trace.indexer.BTreeCheckpointVisitor;
-import org.eclipse.linuxtools.internal.tmf.core.trace.indexer.FlatArray;
-import org.eclipse.linuxtools.tmf.core.timestamp.TmfTimestamp;
-import org.eclipse.linuxtools.tmf.core.trace.indexer.checkpoint.TmfCheckpoint;
-import org.eclipse.linuxtools.tmf.core.trace.location.TmfLongLocation;
-import org.eclipse.linuxtools.tmf.tests.stubs.trace.TmfTraceStub;
-
-/**
- * A class to benchmark different algoritms for storing the
- * checkpoint index on disk
- *
- * @author Marc-Andre Laperle
- */
-public class AllBench {
-
- private static final boolean reportProgress = true;
- private static ArrayList<ArrayList<Integer>> nums;
- private TmfTraceStub fTrace;
- private File file = new File("index.idx");
-
- static int BTREE_DEGREE = 10;
-
- private void setUp() {
- fTrace = new TmfTraceStub();
- if (file.exists()) {
- file.delete();
- }
- }
-
- private void tearDown() {
- fTrace.dispose();
- fTrace = null;
- if (file.exists()) {
- file.delete();
- }
- }
-
- private static void generateDataFile(ArrayList<Integer> list, int checkpointsNums) throws IOException {
- File randomDataFile = new File("data" + checkpointsNums);
- try (RandomAccessFile f = new RandomAccessFile(randomDataFile, "rw");) {
- if (randomDataFile.exists()) {
- for (int i = 0; i < checkpointsNums; i++) {
- Random rand = new Random();
- int nextInt = rand.nextInt(checkpointsNums);
- list.add(nextInt);
- f.writeInt(nextInt);
- }
- } else {
- for (int i = 0; i < checkpointsNums; i++) {
- list.add(f.readInt());
- }
- }
- }
- }
-
- @SuppressWarnings("javadoc")
- public static void main(String[] args) throws IOException {
- int checkpointsNums [] = new int [] { 5000, 50000, 500000, 1000000 };
- nums = new ArrayList<>(checkpointsNums.length);
-
- System.out.println("DEGREE: " + BTREE_DEGREE);
-
- AllBench b = new AllBench();
- b.setUp();
- for (int i = 0; i < checkpointsNums.length; i++) {
- ArrayList<Integer> list = new ArrayList<>();
- generateDataFile(list, checkpointsNums[i]);
- nums.add(list);
-
- System.out.println("*** " + checkpointsNums[i] + " checkpoints ***\n");
-
- b.benchIt(list);
- }
- b.tearDown();
- }
-
- private void benchIt(ArrayList<Integer> list) {
-
- System.out.println("Testing BTree\n");
-
- testInsertAlot(list);
-
- System.out.println("Testing Array\n");
-
- testInsertAlotArray(list);
- }
-
- private void testInsertAlot(ArrayList<Integer> list2) {
- int checkpointsNum = list2.size();
-
- writeCheckpoints(checkpointsNum);
-
- ArrayList<Integer> list = new ArrayList<>();
- for (int i = 0; i < checkpointsNum; i++) {
- list.add(i);
- }
-
- readCheckpoints(checkpointsNum, list, false);
- readCheckpoints(checkpointsNum, list2, true);
-
- file.delete();
-
- System.out.println();
- }
-
- private void testInsertAlotArray(ArrayList<Integer> list2) {
- int checkpointsNum = list2.size();
-
- writeCheckpointsArray(checkpointsNum);
-
- ArrayList<Integer> list = new ArrayList<>();
- for (int i = 0; i < checkpointsNum; i++) {
- list.add(i);
- }
-
- readCheckpointsArray(checkpointsNum, list, false);
- readCheckpointsArray(checkpointsNum, list2, true);
-
- file.delete();
-
- System.out.println();
- }
-
- private void writeCheckpoints(int checkpointsNum) {
- BTree bTree;
- int REPEAT = 10;
- long time = 0;
- for (int j = 0; j < REPEAT; j++) {
- long old = System.currentTimeMillis();
- bTree = new BTree(BTREE_DEGREE, file, fTrace);
- for (int i = 0; i < checkpointsNum; i++) {
- TmfCheckpoint checkpoint = new TmfCheckpoint(new TmfTimestamp(12345 + i), new TmfLongLocation(123456L + i), i);
- bTree.insert(checkpoint);
- }
-
- time += (System.currentTimeMillis() - old);
- bTree.setIndexComplete();
- bTree.dispose();
- if (j != REPEAT - 1) {
- file.delete();
- }
- if (reportProgress) {
- System.out.print(".");
- }
- }
-
- System.out.println("Write time average: " + (float) time / REPEAT);
- }
-
- private void writeCheckpointsArray(int checkpointsNum) {
- FlatArray array;
- int REPEAT = 10;
- long time = 0;
- for (int j = 0; j < REPEAT; j++) {
- long old = System.currentTimeMillis();
- array = new FlatArray(file, fTrace);
- for (int i = 0; i < checkpointsNum; i++) {
- TmfCheckpoint checkpoint = new TmfCheckpoint(new TmfTimestamp(12345 + i), new TmfLongLocation(123456L + i), i);
- array.insert(checkpoint);
- }
-
- time += (System.currentTimeMillis() - old);
- array.setIndexComplete();
- array.dispose();
- if (j != REPEAT - 1) {
- file.delete();
- }
- if (reportProgress) {
- System.out.print(".");
- }
- }
-
- System.out.println("Write time average: " + (float) time / REPEAT);
- }
-
-
- private void readCheckpoints(int checkpointsNum, ArrayList<Integer> list, boolean random) {
- BTree bTree;
- int REPEAT = 10;
- long time = 0;
- long cacheMisses = 0;
- for (int j = 0; j < REPEAT; j++) {
- long old = System.currentTimeMillis();
- bTree = new BTree(BTREE_DEGREE, file, fTrace);
- for (int i = 0; i < checkpointsNum; i++) {
- Integer randomCheckpoint = list.get(i);
- TmfCheckpoint checkpoint = new TmfCheckpoint(new TmfTimestamp(12345 + randomCheckpoint), new TmfLongLocation(123456L + randomCheckpoint), 0);
- BTreeCheckpointVisitor treeVisitor = new BTreeCheckpointVisitor(checkpoint);
- bTree.accept(treeVisitor);
- assertEquals(randomCheckpoint.intValue(), treeVisitor.getCheckpoint().getCheckpointRank());
- }
- time += (System.currentTimeMillis() - old);
- cacheMisses = bTree.getCacheMisses();
- bTree.dispose();
- if (reportProgress) {
- System.out.print(".");
- }
- }
-
- System.out.println("Read " + (random ? "(random)" : "(linear)") + "time average: " + (float) time / REPEAT + " (cache miss: " + cacheMisses + ")");
- }
-
- private void readCheckpointsArray(int checkpointsNum, ArrayList<Integer> list, boolean random) {
- FlatArray array;
- int REPEAT = 10;
- long time = 0;
- long cacheMisses = 0;
- for (int j = 0; j < REPEAT; j++) {
- long old = System.currentTimeMillis();
- array = new FlatArray(file, fTrace);
- for (int i = 0; i < checkpointsNum; i++) {
- Integer randomCheckpoint = list.get(i);
- TmfCheckpoint checkpoint = new TmfCheckpoint(new TmfTimestamp(12345 + randomCheckpoint), new TmfLongLocation(123456L + randomCheckpoint), 0);
- long found = array.binarySearch(checkpoint);
- assertEquals(randomCheckpoint.intValue(), found);
- }
- time += (System.currentTimeMillis() - old);
- cacheMisses = array.getCacheMisses();
- array.dispose();
- if (reportProgress) {
- System.out.print(".");
- }
- }
-
- System.out.println("Read " + (random ? "(random)" : "(linear)") + "time average: " + (float) time / REPEAT + " (cache miss: " + cacheMisses + ")");
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/trace/indexer/AllTests.java b/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/trace/indexer/AllTests.java
deleted file mode 100644
index 0cc9a11dcd..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/trace/indexer/AllTests.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 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:
- * Marc-Andre Laperle - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.core.tests.trace.indexer;
-
-import org.junit.runner.RunWith;
-import org.junit.runners.Suite;
-
-/**
- * Test suite indexer classes
- *
- * @author Marc-Andre Laperle
- */
-@RunWith(Suite.class)
-@Suite.SuiteClasses({
- BTreeTest.class,
- FlatArrayTest.class,
- TmfMemoryIndexTest.class
-})
-public class AllTests {
-
-} \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/trace/indexer/BTreeTest.java b/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/trace/indexer/BTreeTest.java
deleted file mode 100644
index 2ea65819c9..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/trace/indexer/BTreeTest.java
+++ /dev/null
@@ -1,118 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013, 2014 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:
- * Marc-Andre Laperle - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.core.tests.trace.indexer;
-
-import static org.junit.Assert.assertEquals;
-
-import java.util.ArrayList;
-
-import org.eclipse.linuxtools.internal.tmf.core.trace.indexer.BTree;
-import org.eclipse.linuxtools.internal.tmf.core.trace.indexer.BTreeCheckpointVisitor;
-import org.eclipse.linuxtools.internal.tmf.core.trace.indexer.IBTreeVisitor;
-import org.eclipse.linuxtools.tmf.core.timestamp.TmfTimestamp;
-import org.eclipse.linuxtools.tmf.core.trace.indexer.ITmfPersistentlyIndexable;
-import org.eclipse.linuxtools.tmf.core.trace.indexer.checkpoint.ITmfCheckpoint;
-import org.eclipse.linuxtools.tmf.core.trace.indexer.checkpoint.TmfCheckpoint;
-import org.eclipse.linuxtools.tmf.core.trace.location.TmfLongLocation;
-import org.junit.Test;
-
-/**
- * Tests for the BTree class
- *
- * @author Marc-Andre Laperle
- */
-public class BTreeTest extends AbstractCheckpointCollectionTest {
-
- private final int DEGREE = 15;
- private BTree fBTree;
-
- @Override
- protected BTree createCollection() {
- fCheckpointCollection = fBTree = new BTree(DEGREE, getFile(), (ITmfPersistentlyIndexable) getTrace());
- return fBTree;
- }
-
- @Override
- public boolean isPersistableCollection() {
- return true;
- }
-
- /**
- * Tests that accepts find the correct checkpoint and ends with a perfect
- * match
- */
- @Test
- public void testAccept() {
- for (int i = 0; i < CHECKPOINTS_INSERT_NUM; i++) {
- TmfCheckpoint checkpoint = new TmfCheckpoint(new TmfTimestamp(i), new TmfLongLocation(i), 0);
- fBTree.insert(checkpoint);
- }
-
- final TmfCheckpoint checkpoint = new TmfCheckpoint(new TmfTimestamp(123), new TmfLongLocation(123L), 0);
-
- class TestVisitor implements IBTreeVisitor {
- public int fLastCompare = 0;
- ITmfCheckpoint fFoundCheckpoint;
-
- @Override
- public int compare(ITmfCheckpoint checkRec) {
- fLastCompare = checkRec.compareTo(checkpoint);
- if (fLastCompare == 0) {
- fFoundCheckpoint = checkRec;
- }
- return fLastCompare;
- }
- }
- final TestVisitor t = new TestVisitor();
-
- fBTree.accept(t);
-
- assertEquals(checkpoint, t.fFoundCheckpoint);
- assertEquals(0, t.fLastCompare);
- }
-
- /**
- * Test many checkpoint insertions. Make sure they can be found after
- * re-opening the file
- */
- @Test
- public void testInsertAlotCheckEquals() {
- ArrayList<Integer> list = insertAlot();
-
- fBTree = createCollection();
-
- for (int i = 0; i < CHECKPOINTS_INSERT_NUM; i++) {
- Integer checkpointIndex = list.get(i);
- TmfCheckpoint checkpoint = new TmfCheckpoint(new TmfTimestamp(12345 + checkpointIndex), new TmfLongLocation(123456L + checkpointIndex), 0);
- BTreeCheckpointVisitor treeVisitor = new BTreeCheckpointVisitor(checkpoint);
- fBTree.accept(treeVisitor);
- assertEquals(checkpoint, treeVisitor.getCheckpoint());
- }
- }
-
- /**
- * Test setSize, size
- */
- @Override
- @Test
- public void testSetGetSize() {
- assertEquals(0, fBTree.size());
- int expected = CHECKPOINTS_INSERT_NUM;
- for (int i = 0; i < expected; ++i) {
- fBTree.insert(new TmfCheckpoint(new TmfTimestamp(0), new TmfLongLocation(0L), 0));
- fBTree.setSize(fBTree.size() + 1);
- }
- assertEquals(expected, fBTree.size());
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/trace/indexer/FlatArrayTest.java b/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/trace/indexer/FlatArrayTest.java
deleted file mode 100644
index 215a5d1903..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/trace/indexer/FlatArrayTest.java
+++ /dev/null
@@ -1,87 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013, 2014 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:
- * Marc-Andre Laperle - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.core.tests.trace.indexer;
-
-import static org.junit.Assert.assertEquals;
-
-import java.util.ArrayList;
-
-import org.eclipse.linuxtools.internal.tmf.core.trace.indexer.FlatArray;
-import org.eclipse.linuxtools.tmf.core.timestamp.TmfTimestamp;
-import org.eclipse.linuxtools.tmf.core.trace.indexer.ITmfPersistentlyIndexable;
-import org.eclipse.linuxtools.tmf.core.trace.indexer.checkpoint.ITmfCheckpoint;
-import org.eclipse.linuxtools.tmf.core.trace.indexer.checkpoint.TmfCheckpoint;
-import org.eclipse.linuxtools.tmf.core.trace.location.TmfLongLocation;
-import org.junit.Test;
-
-/**
- * Tests for the FlatArray class
- *
- * @author Marc-Andre Laperle
- */
-public class FlatArrayTest extends AbstractCheckpointCollectionTest {
-
- private FlatArray fFlatArray;
-
- @Override
- protected FlatArray createCollection() {
- fCheckpointCollection = fFlatArray = new FlatArray(getFile(), (ITmfPersistentlyIndexable) getTrace());
- return fFlatArray;
- }
-
- @Override
- public boolean isPersistableCollection() {
- return true;
- }
-
- /**
- * Tests that binarySearch find the correct checkpoint and ends with a
- * perfect match
- */
- @Test
- public void testBinarySearch() {
- for (long i = 0; i < CHECKPOINTS_INSERT_NUM; i++) {
- TmfCheckpoint checkpoint = new TmfCheckpoint(new TmfTimestamp(i), new TmfLongLocation(i), 0);
- fFlatArray.insert(checkpoint);
- }
-
- TmfCheckpoint expectedCheckpoint = new TmfCheckpoint(new TmfTimestamp(122), new TmfLongLocation(122L), 0);
- int expectedRank = 122;
-
- long rank = fFlatArray.binarySearch(expectedCheckpoint);
- ITmfCheckpoint found = fFlatArray.get(rank);
-
- assertEquals(expectedRank, rank);
- assertEquals(found, expectedCheckpoint);
- }
-
- /**
- * Test many checkpoint insertions. Make sure they can be found after
- * re-opening the file
- */
- @Test
- public void testInsertAlotCheckEquals() {
- ArrayList<Integer> list = insertAlot();
-
- fFlatArray = createCollection();
-
- for (int i = 0; i < CHECKPOINTS_INSERT_NUM; i++) {
- int checkpointIndex = list.get(i);
- TmfCheckpoint checkpoint = new TmfCheckpoint(new TmfTimestamp(12345 + checkpointIndex),
- new TmfLongLocation(123456L + checkpointIndex), checkpointIndex);
- ITmfCheckpoint found = fFlatArray.get(checkpointIndex);
- assertEquals(checkpoint, found);
- }
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/trace/indexer/TmfMemoryIndexTest.java b/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/trace/indexer/TmfMemoryIndexTest.java
deleted file mode 100644
index 33ebec31c4..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/trace/indexer/TmfMemoryIndexTest.java
+++ /dev/null
@@ -1,84 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 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:
- * Marc-Andre Laperle - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.core.tests.trace.indexer;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertTrue;
-
-import org.eclipse.linuxtools.internal.tmf.core.trace.indexer.TmfMemoryIndex;
-import org.eclipse.linuxtools.tmf.core.timestamp.TmfTimestamp;
-import org.eclipse.linuxtools.tmf.core.trace.indexer.checkpoint.ITmfCheckpoint;
-import org.eclipse.linuxtools.tmf.core.trace.indexer.checkpoint.TmfCheckpoint;
-import org.eclipse.linuxtools.tmf.core.trace.location.TmfLongLocation;
-import org.junit.Test;
-
-/**
- * Test for the TmfMemoryIndex class
- *
- * @author Marc-Andre Laperle
- */
-public class TmfMemoryIndexTest extends AbstractCheckpointCollectionTest {
-
- private TmfMemoryIndex fMemoryIndex;
-
- @Override
- protected TmfMemoryIndex createCollection() {
- fCheckpointCollection = fMemoryIndex = new TmfMemoryIndex(getTrace());
- return fMemoryIndex;
- }
-
- /**
- * Test a single insertion
- */
- @Override
- @Test
- public void testInsert() {
- TmfCheckpoint checkpoint = new TmfCheckpoint(new TmfTimestamp(12345), new TmfLongLocation(123456L), 0);
- fMemoryIndex.insert(checkpoint);
-
- ITmfCheckpoint indexCheckpoint = fMemoryIndex.get(0);
- assertEquals(checkpoint, indexCheckpoint);
-
- long found = fMemoryIndex.binarySearch(checkpoint);
- assertEquals(0, found);
- }
-
- /**
- * Tests that binarySearch find the correct checkpoint and ends with a perfect match
- */
- @Test
- public void testBinarySearch() {
- for (long i = 0; i < CHECKPOINTS_INSERT_NUM; i++) {
- TmfCheckpoint checkpoint = new TmfCheckpoint(new TmfTimestamp(i), new TmfLongLocation(i), 0);
- fMemoryIndex.insert(checkpoint);
- }
-
- TmfCheckpoint expectedCheckpoint = new TmfCheckpoint(new TmfTimestamp(122), new TmfLongLocation(122L), 0);
- int expectedRank = 122;
-
- long rank = fMemoryIndex.binarySearch(expectedCheckpoint);
- ITmfCheckpoint found = fMemoryIndex.get(rank);
-
- assertEquals(expectedRank, rank);
- assertEquals(found, expectedCheckpoint);
- }
-
- /**
- * Test dispose
- */
- @Test
- public void testDispose() {
- fMemoryIndex.dispose();
- assertTrue(fMemoryIndex.isEmpty());
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/trace/indexer/checkpoint/AbstractIndexTest.java b/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/trace/indexer/checkpoint/AbstractIndexTest.java
deleted file mode 100644
index 7f964a22fe..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/trace/indexer/checkpoint/AbstractIndexTest.java
+++ /dev/null
@@ -1,283 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009, 2013 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 - Adapted for TMF Trace Model 1.0
- * Alexandre Montplaisir - Port to JUnit4
- * Marc-Andre Laperle - Extracted to a common class from TmfCheckpointIndexTest
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.core.tests.trace.indexer.checkpoint;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertTrue;
-import static org.junit.Assert.fail;
-
-import java.io.File;
-import java.io.IOException;
-import java.net.URISyntaxException;
-import java.net.URL;
-
-import org.eclipse.core.runtime.FileLocator;
-import org.eclipse.core.runtime.Path;
-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.tests.TmfCoreTestPlugin;
-import org.eclipse.linuxtools.tmf.core.tests.shared.TmfTestTrace;
-import org.eclipse.linuxtools.tmf.core.timestamp.TmfTimestamp;
-import org.eclipse.linuxtools.tmf.core.trace.ITmfTrace;
-import org.eclipse.linuxtools.tmf.core.trace.TmfContext;
-import org.eclipse.linuxtools.tmf.core.trace.indexer.ITmfTraceIndexer;
-import org.eclipse.linuxtools.tmf.core.trace.indexer.checkpoint.ITmfCheckpoint;
-import org.eclipse.linuxtools.tmf.core.trace.indexer.checkpoint.ITmfCheckpointIndex;
-import org.eclipse.linuxtools.tmf.core.trace.indexer.checkpoint.TmfCheckpointIndexer;
-import org.eclipse.linuxtools.tmf.tests.stubs.trace.TmfEmptyTraceStub;
-import org.eclipse.linuxtools.tmf.tests.stubs.trace.TmfTraceStub;
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Test;
-
-/**
- * Common code for index testing
- *
- * @author Marc-Andre Laperle
- */
-public abstract class AbstractIndexTest {
-
- // ------------------------------------------------------------------------
- // Variables
- // ------------------------------------------------------------------------
-
- /**
- *
- */
- protected static final int BLOCK_SIZE = 100;
- private static final int NB_EVENTS = 10000;
- /**
- * The trace being tested
- */
- protected static TestTrace fTrace = null;
- private static EmptyTestTrace fEmptyTrace = null;
-
- // ------------------------------------------------------------------------
- // Housekeeping
- // ------------------------------------------------------------------------
-
- /**
- * Setup the test
- */
- @Before
- public void setUp() {
- setupTrace(getTracePath());
- }
-
- /**
- * Get the trace path
- *
- * @return the trace path
- */
- protected String getTracePath() {
- return TmfTestTrace.A_TEST_10K.getFullPath();
- }
-
- /**
- * Tear down the test
- */
- @After
- public void tearDown() {
- fTrace.dispose();
- fTrace = null;
- fEmptyTrace.dispose();
- fEmptyTrace = null;
- }
-
- interface TestIndexerInterface extends ITmfTraceIndexer {
- ITmfCheckpointIndex getCheckpoints();
- }
-
- // ------------------------------------------------------------------------
- // Helper classes
- // ------------------------------------------------------------------------
-
- /**
- * A test indexer
- */
- protected static class TestIndexer extends TmfCheckpointIndexer implements TestIndexerInterface {
- /**
- * Constructs the test indexer for a normal test trace
- *
- * @param testTrace
- * the test trace
- */
- public TestIndexer(ITmfTrace testTrace) {
- super(testTrace, BLOCK_SIZE);
- }
-
- @Override
- public ITmfCheckpointIndex getCheckpoints() {
- return getTraceIndex();
- }
- }
-
- /**
- * Create the indexer for testing
- *
- * @param trace
- * the trace
- * @return the indexer for testing
- */
- protected TestIndexerInterface createTestIndexer(TestTrace trace) {
- return new TestIndexer(trace);
- }
-
- /**
- * A test trace
- */
- protected class TestTrace extends TmfTraceStub {
- /**
- *
- * @param path
- * the path
- * @param blockSize
- * the block size
- * @throws TmfTraceException
- * when error occurs
- */
- public TestTrace(String path, int blockSize) throws TmfTraceException {
- super(path, blockSize, false, null);
- }
-
- @Override
- protected ITmfTraceIndexer createIndexer(int interval) {
- return createTestIndexer(this);
- }
-
- @Override
- public TestIndexerInterface getIndexer() {
- return (TestIndexerInterface) super.getIndexer();
- }
- }
-
- private class EmptyTestTrace extends TmfEmptyTraceStub {
- public EmptyTestTrace() {
- super();
- init(getClass().getSimpleName(), TmfEvent.class);
- }
-
- @Override
- protected ITmfTraceIndexer createIndexer(int interval) {
- return new TestIndexer(this);
- }
-
- @Override
- public TestIndexer getIndexer() {
- return (TestIndexer) super.getIndexer();
- }
- }
-
- // ------------------------------------------------------------------------
- // Helper functions
- // ------------------------------------------------------------------------
-
- /**
- * Creates the trace for the specified path
- *
- * @param path
- * the path
- * @return the created trace
- * @throws URISyntaxException
- * when error occurs
- * @throws IOException
- * when error occurs
- * @throws TmfTraceException
- * when error occurs
- */
- protected TestTrace createTrace(final String path) throws URISyntaxException, IOException, TmfTraceException {
- final URL location = FileLocator.find(TmfCoreTestPlugin.getDefault().getBundle(), new Path(path), null);
- final File test = new File(FileLocator.toFileURL(location).toURI());
- TestTrace trace = new TestTrace(test.toURI().getPath(), BLOCK_SIZE);
- trace.indexTrace(true);
- return trace;
- }
-
- private synchronized void setupTrace(final String path) {
- if (fTrace == null) {
- try {
- fTrace = createTrace(path);
- } catch (final TmfTraceException e) {
- fail(e.getMessage());
- } catch (final URISyntaxException e) {
- fail(e.getMessage());
- } catch (final IOException e) {
- fail(e.getMessage());
- }
- }
-
- if (fEmptyTrace == null) {
- fEmptyTrace = new EmptyTestTrace();
- fEmptyTrace.indexTrace(true);
- }
- }
-
- // ------------------------------------------------------------------------
- // Verify checkpoints
- // ------------------------------------------------------------------------
-
- /**
- * Test the content of the index after building the full index
- */
- @Test
- public void testTmfTraceIndexing() {
- verifyIndexContent();
- }
-
- /**
- * Verify the content of the index
- */
- protected static void verifyIndexContent() {
- assertEquals(BLOCK_SIZE, fTrace.getCacheSize());
- assertEquals(NB_EVENTS, fTrace.getNbEvents());
- assertEquals(1, fTrace.getTimeRange().getStartTime().getValue());
- assertEquals(NB_EVENTS, fTrace.getTimeRange().getEndTime().getValue());
- assertEquals(1, fTrace.getStartTime().getValue());
- assertEquals(NB_EVENTS, fTrace.getEndTime().getValue());
-
- ITmfCheckpointIndex checkpoints = fTrace.getIndexer().getCheckpoints();
- int pageSize = fTrace.getCacheSize();
- assertTrue(checkpoints != null);
- assertEquals(NB_EVENTS / BLOCK_SIZE, checkpoints.size());
-
- // Validate that each checkpoint points to the right event
- for (int i = 0; i < checkpoints.size(); i++) {
- ITmfCheckpoint checkpoint = checkpoints.get(i);
- TmfContext context = new TmfContext(checkpoint.getLocation(), i * pageSize);
- ITmfEvent event = fTrace.parseEvent(context);
- assertEquals(context.getRank(), i * pageSize);
- assertTrue((checkpoint.getTimestamp().compareTo(event.getTimestamp(), false) == 0));
- }
- }
-
- /**
- * Test that a empty trace has the correct content
- */
- @Test
- public void testEmptyTmfTraceIndexing() {
- assertEquals(ITmfTrace.DEFAULT_TRACE_CACHE_SIZE, fEmptyTrace.getCacheSize());
- assertEquals(0, fEmptyTrace.getNbEvents());
- assertEquals(TmfTimestamp.BIG_BANG, fEmptyTrace.getTimeRange().getStartTime());
- assertEquals(TmfTimestamp.BIG_BANG, fEmptyTrace.getTimeRange().getEndTime());
- assertEquals(TmfTimestamp.BIG_BANG, fEmptyTrace.getStartTime());
- assertEquals(TmfTimestamp.BIG_BANG, fEmptyTrace.getEndTime());
-
- ITmfCheckpointIndex checkpoints = fEmptyTrace.getIndexer().getCheckpoints();
- assertTrue(checkpoints != null);
- assertEquals(0, checkpoints.size());
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/trace/indexer/checkpoint/AllTests.java b/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/trace/indexer/checkpoint/AllTests.java
deleted file mode 100644
index 43ab0a43ea..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/trace/indexer/checkpoint/AllTests.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 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:
- * Alexandre Montplaisir - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.core.tests.trace.indexer.checkpoint;
-
-import org.junit.runner.RunWith;
-import org.junit.runners.Suite;
-
-/**
- * Test suite for org.eclipse.linuxtools.tmf.core.trace.indexer.checkpoint
- */
-@RunWith(Suite.class)
-@Suite.SuiteClasses({
- TmfBTreeIndexTest.class,
- TmfCheckpointIndexTest.class,
- TmfCheckpointIndexTest2.class,
- TmfCheckpointTest.class,
- TmfExperimentCheckpointIndexTest.class,
-})
-public class AllTests {} \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/trace/indexer/checkpoint/TmfBTreeIndexTest.java b/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/trace/indexer/checkpoint/TmfBTreeIndexTest.java
deleted file mode 100644
index f522a95f56..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/trace/indexer/checkpoint/TmfBTreeIndexTest.java
+++ /dev/null
@@ -1,69 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009, 2013 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 - Adapted for TMF Trace Model 1.0
- * Alexandre Montplaisir - Port to JUnit4
- * Marc-Andre Laperle - Adapted to BTree indexer from TmfCheckpointIndexTest
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.core.tests.trace.indexer.checkpoint;
-
-import static org.junit.Assert.assertFalse;
-
-import org.eclipse.linuxtools.tmf.core.trace.indexer.TmfBTreeTraceIndexer;
-import org.eclipse.linuxtools.tmf.core.trace.indexer.checkpoint.ITmfCheckpointIndex;
-import org.junit.Test;
-
-/**
- * Test suite for the TmfBTreeTraceIndexer class.
- *
- * @author Marc-Andre Laperle
- */
-public class TmfBTreeIndexTest extends AbstractIndexTest {
-
- /**
- * Create the indexer for testing
- *
- * @param trace
- * the trace
- * @return the indexer for testing
- */
- @Override
- protected TestIndexerInterface createTestIndexer(TestTrace trace) {
- return new TestBTreeIndexer(trace);
- }
-
- private static class TestBTreeIndexer extends TmfBTreeTraceIndexer implements TestIndexerInterface {
- public TestBTreeIndexer(TestTrace testTrace) {
- super(testTrace, BLOCK_SIZE);
- }
-
- @Override
- public ITmfCheckpointIndex getCheckpoints() {
- return getTraceIndex();
- }
- }
-
- /**
- * Test that a fully built index has the same content when reloaded from disk
- *
- * @throws Exception when error occurs
- */
- @Test
- public void testReopenIndex() throws Exception {
- fTrace.dispose();
- fTrace = createTrace(getTracePath());
- assertFalse(fTrace.getIndexer().getCheckpoints().isCreatedFromScratch());
- fTrace.indexTrace(true);
-
- verifyIndexContent();
- }
-
-} \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/trace/indexer/checkpoint/TmfCheckpointIndexTest.java b/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/trace/indexer/checkpoint/TmfCheckpointIndexTest.java
deleted file mode 100644
index 6eba8a3c3c..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/trace/indexer/checkpoint/TmfCheckpointIndexTest.java
+++ /dev/null
@@ -1,23 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009, 2013 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 - Adapted for TMF Trace Model 1.0
- * Alexandre Montplaisir - Port to JUnit4
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.core.tests.trace.indexer.checkpoint;
-
-
-/**
- * Test suite for the TmfCheckpointIndexTest class.
- */
-public class TmfCheckpointIndexTest extends AbstractIndexTest {
-
-} \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/trace/indexer/checkpoint/TmfCheckpointIndexTest2.java b/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/trace/indexer/checkpoint/TmfCheckpointIndexTest2.java
deleted file mode 100644
index b7049cb63b..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/trace/indexer/checkpoint/TmfCheckpointIndexTest2.java
+++ /dev/null
@@ -1,236 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2012, 2013 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:
- * Bernd Hufmann - Initial API and implementation
- * Alexandre Montplaisir - Port to JUnit4
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.core.tests.trace.indexer.checkpoint;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNull;
-import static org.junit.Assert.assertTrue;
-
-import java.io.File;
-import java.io.IOException;
-import java.net.URISyntaxException;
-import java.net.URL;
-
-import org.eclipse.core.runtime.FileLocator;
-import org.eclipse.core.runtime.Path;
-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.tests.TmfCoreTestPlugin;
-import org.eclipse.linuxtools.tmf.core.tests.shared.TmfTestTrace;
-import org.eclipse.linuxtools.tmf.core.timestamp.TmfTimestamp;
-import org.eclipse.linuxtools.tmf.core.trace.ITmfContext;
-import org.eclipse.linuxtools.tmf.core.trace.indexer.ITmfTraceIndexer;
-import org.eclipse.linuxtools.tmf.core.trace.indexer.checkpoint.ITmfCheckpointIndex;
-import org.eclipse.linuxtools.tmf.core.trace.indexer.checkpoint.TmfCheckpointIndexer;
-import org.eclipse.linuxtools.tmf.tests.stubs.trace.TmfEmptyTraceStub;
-import org.eclipse.linuxtools.tmf.tests.stubs.trace.TmfTraceStub;
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Test;
-
-/**
- * Test suite for the TmfCheckpointIndexer class (events with same
- * timestamp around checkpoint).
- */
-@SuppressWarnings("javadoc")
-public class TmfCheckpointIndexTest2 {
-
- // ------------------------------------------------------------------------
- // Variables
- // ------------------------------------------------------------------------
-
- private static final int BLOCK_SIZE = 100;
- private static final int NB_EVENTS = 702;
- private static TestTrace fTrace = null;
- private static EmptyTestTrace fEmptyTrace = null;
-
- // ------------------------------------------------------------------------
- // Housekeeping
- // ------------------------------------------------------------------------
-
- @Before
- public void setUp() {
- // Trace has 3 events at t=101 at rank 99, 100, 101
- // Trace has events with same timestamp (ts=102) for ranks 102..702 -> 2 checkpoints with same timestamp are created
- setupTrace(TmfTestTrace.A_TEST_10K2.getFullPath());
- }
-
- @After
- public void tearDown() {
- fTrace.dispose();
- fTrace = null;
- fEmptyTrace.dispose();
- fEmptyTrace = null;
- }
-
- // ------------------------------------------------------------------------
- // Helper classes
- // ------------------------------------------------------------------------
-
- private static class TestIndexer extends TmfCheckpointIndexer {
- @SuppressWarnings({ })
- public TestIndexer(TestTrace testTrace) {
- super(testTrace, BLOCK_SIZE);
- }
- @SuppressWarnings({ })
- public TestIndexer(EmptyTestTrace testTrace) {
- super(testTrace, BLOCK_SIZE);
- }
- public ITmfCheckpointIndex getCheckpoints() {
- return getTraceIndex();
- }
- }
-
- private class TestTrace extends TmfTraceStub {
- public TestTrace(String path, int blockSize) throws TmfTraceException {
- super(path, blockSize, false, null);
- }
-
- @Override
- protected ITmfTraceIndexer createIndexer(int interval) {
- return new TestIndexer(this);
- }
-
- @Override
- public TestIndexer getIndexer() {
- return (TestIndexer) super.getIndexer();
- }
- }
-
- private class EmptyTestTrace extends TmfEmptyTraceStub {
-
- public EmptyTestTrace() {
- super();
- init(getClass().getSimpleName(), TmfEvent.class);
- }
-
- @Override
- protected ITmfTraceIndexer createIndexer(int interval) {
- return new TestIndexer(this);
- }
-
- @Override
- public TestIndexer getIndexer() {
- return (TestIndexer) super.getIndexer();
- }
- }
-
- // ------------------------------------------------------------------------
- // Helper functions
- // ------------------------------------------------------------------------
-
- private synchronized void setupTrace(final String path) {
- if (fTrace == null) {
- try {
- final URL location = FileLocator.find(TmfCoreTestPlugin.getDefault().getBundle(), new Path(path), null);
- final File test = new File(FileLocator.toFileURL(location).toURI());
- fTrace = new TestTrace(test.toURI().getPath(), BLOCK_SIZE);
- fTrace.indexTrace(true);
- } catch (final TmfTraceException e) {
- e.printStackTrace();
- } catch (final URISyntaxException e) {
- e.printStackTrace();
- } catch (final IOException e) {
- e.printStackTrace();
- }
- }
-
- if (fEmptyTrace == null) {
- fEmptyTrace = new EmptyTestTrace();
- fEmptyTrace.indexTrace(true);
- }
- }
-
- // ------------------------------------------------------------------------
- // Verify checkpoints
- // ------------------------------------------------------------------------
-
- @Test
- public void testTmfTraceMultiTimestamps() {
- assertEquals("getCacheSize", BLOCK_SIZE, fTrace.getCacheSize());
- assertEquals("getTraceSize", NB_EVENTS, fTrace.getNbEvents());
- assertEquals("getRange-start", 1, fTrace.getTimeRange().getStartTime().getValue());
- assertEquals("getRange-end", 102, fTrace.getTimeRange().getEndTime().getValue());
- assertEquals("getStartTime", 1, fTrace.getStartTime().getValue());
- assertEquals("getEndTime", 102, fTrace.getEndTime().getValue());
-
- ITmfCheckpointIndex checkpoints = fTrace.getIndexer().getCheckpoints();
- assertTrue("Checkpoints exist", checkpoints != null);
- assertEquals("Checkpoints size", NB_EVENTS / BLOCK_SIZE + 1, checkpoints.size());
-
- // Trace has 3 events with same timestamp (ts=101) at rank 99, 100, 101
-
- // Verify that the event at rank=99 is returned when seeking to ts=101 (first event with this timestamp)
- // and not the event at checkpoint boundary
- TmfTimestamp seekTs = new TmfTimestamp(101, -3, 0);
- ITmfContext ctx = fTrace.seekEvent(seekTs);
- ITmfEvent event = fTrace.getNext(ctx);
-
- assertEquals(99, ctx.getRank());
- assertEquals(0, seekTs.compareTo(event.getTimestamp(), false));
-
- event = fTrace.getNext(ctx);
-
- assertEquals(100, ctx.getRank());
- assertEquals(0, seekTs.compareTo(event.getTimestamp(), false));
-
- event = fTrace.getNext(ctx);
-
- assertEquals(101, ctx.getRank());
- assertEquals(0, seekTs.compareTo(event.getTimestamp(), false));
-
- // Trace has events with same timestamp (ts=102) for ranks 102..702 -> 2 checkpoints with same timestamp are created
- // Verify that the event at rank=102 is returned when seeking to ts=102 (first event with this timestamp)
- // and not the event at checkpoint boundary
- seekTs = new TmfTimestamp(102, -3, 0);
- ctx = fTrace.seekEvent(seekTs);
- event = fTrace.getNext(ctx);
-
- assertEquals(102, ctx.getRank());
- assertEquals(0, seekTs.compareTo(event.getTimestamp(), false));
-
- // Verify seek to first checkpoint
- seekTs = new TmfTimestamp(1, -3, 0);
- ctx = fTrace.seekEvent(seekTs);
- event = fTrace.getNext(ctx);
-
- assertEquals(1, ctx.getRank());
- assertEquals(0, seekTs.compareTo(event.getTimestamp(), false));
-
- // Verify seek to timestamp before first event
- seekTs = new TmfTimestamp(0, -3, 0);
- ctx = fTrace.seekEvent(seekTs);
- event = fTrace.getNext(ctx);
-
- assertEquals(1, ctx.getRank());
- assertEquals(0, new TmfTimestamp(1, -3, 0).compareTo(event.getTimestamp(), false));
-
- // Verify seek to timestamp between first and second checkpoint
- seekTs = new TmfTimestamp(50, -3, 0);
- ctx = fTrace.seekEvent(seekTs);
- event = fTrace.getNext(ctx);
-
- assertEquals(50, ctx.getRank());
- assertEquals(0, seekTs.compareTo(event.getTimestamp(), false));
-
- // Verify seek to timestamp after last event in trace
- seekTs = new TmfTimestamp(103, -3, 0);
- ctx = fTrace.seekEvent(seekTs);
- event = fTrace.getNext(ctx);
-
- assertEquals(-1, ctx.getRank());
- assertNull(event);
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/trace/indexer/checkpoint/TmfCheckpointTest.java b/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/trace/indexer/checkpoint/TmfCheckpointTest.java
deleted file mode 100644
index c4e202a250..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/trace/indexer/checkpoint/TmfCheckpointTest.java
+++ /dev/null
@@ -1,243 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009, 2014 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 - Adapted for TMF Trace Model 1.0
- * Alexandre Montplaisir - Port to JUnit4
- * Patrick Tasse - Updated for location in checkpoint
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.core.tests.trace.indexer.checkpoint;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertTrue;
-import static org.junit.Assert.fail;
-
-import org.eclipse.linuxtools.tmf.core.timestamp.ITmfTimestamp;
-import org.eclipse.linuxtools.tmf.core.timestamp.TmfTimestamp;
-import org.eclipse.linuxtools.tmf.core.trace.indexer.checkpoint.TmfCheckpoint;
-import org.eclipse.linuxtools.tmf.core.trace.location.ITmfLocation;
-import org.eclipse.linuxtools.tmf.core.trace.location.TmfLongLocation;
-import org.junit.Test;
-
-/**
- * Test suite for the TmfCheckpoint class.
- */
-@SuppressWarnings("javadoc")
-public class TmfCheckpointTest {
-
- // ------------------------------------------------------------------------
- // Variables
- // ------------------------------------------------------------------------
-
- private ITmfTimestamp fTimestamp1 = new TmfTimestamp();
- private ITmfTimestamp fTimestamp2 = TmfTimestamp.BIG_BANG;
- private ITmfTimestamp fTimestamp3 = TmfTimestamp.BIG_CRUNCH;
-
- private long aLong1 = 12345L;
- private long aLong2 = 23456L;
- private long aLong3 = 34567L;
- private long RANK1 = 1L;
- private long RANK2 = 2L;
- private long RANK3 = 3L;
-
- private ITmfLocation fLocation1 = new TmfLongLocation(aLong1);
- private ITmfLocation fLocation2 = new TmfLongLocation(aLong2);
- private ITmfLocation fLocation3 = new TmfLongLocation(aLong3);
-
- private TmfCheckpoint fCheckpoint1 = new TmfCheckpoint(fTimestamp1, fLocation1, RANK1);
- private TmfCheckpoint fCheckpoint2 = new TmfCheckpoint(fTimestamp2, fLocation2, RANK2);
- private TmfCheckpoint fCheckpoint3 = new TmfCheckpoint(fTimestamp3, fLocation3, RANK3);
-
- // ------------------------------------------------------------------------
- // Constructors
- // ------------------------------------------------------------------------
-
- @Test
- public void testTmfCheckpoint() {
- assertEquals("TmfCheckpoint", fTimestamp1, fCheckpoint1.getTimestamp());
- assertEquals("TmfCheckpoint", fLocation1, fCheckpoint1.getLocation());
- }
-
- public void testTmfLocationCopy() {
- final TmfCheckpoint checkpoint = new TmfCheckpoint(fCheckpoint1);
-
- assertEquals("TmfCheckpoint", fTimestamp1, checkpoint.getTimestamp());
- assertEquals("TmfCheckpoint", fLocation1, checkpoint.getLocation());
- }
-
- @Test
- public void testTmfLocationCopy2() {
- try {
- new TmfCheckpoint(null);
- fail("null copy");
- }
- catch (final IllegalArgumentException e) {
- // Success
- }
- catch (final Exception e) {
- fail("wrong exception");
- }
- }
-
- // ------------------------------------------------------------------------
- // compareTo
- // ------------------------------------------------------------------------
-
- @Test
- public void testCompareTo() {
- assertEquals("compareTo", 0, fCheckpoint1.compareTo(fCheckpoint1));
- assertEquals("compareTo", 1, fCheckpoint1.compareTo(fCheckpoint2));
- assertEquals("compareTo", -1, fCheckpoint1.compareTo(fCheckpoint3));
-
- assertEquals("compareTo", -1, fCheckpoint2.compareTo(fCheckpoint1));
- assertEquals("compareTo", 0, fCheckpoint2.compareTo(fCheckpoint2));
- assertEquals("compareTo", -1, fCheckpoint2.compareTo(fCheckpoint3));
-
- assertEquals("compareTo", 1, fCheckpoint3.compareTo(fCheckpoint1));
- assertEquals("compareTo", 1, fCheckpoint3.compareTo(fCheckpoint2));
- assertEquals("compareTo", 0, fCheckpoint3.compareTo(fCheckpoint3));
- }
-
- @Test
- public void testCompareToNull() {
- final TmfCheckpoint checkpoint1 = new TmfCheckpoint(null, fLocation1, RANK1);
- final TmfCheckpoint checkpoint2 = new TmfCheckpoint(null, fLocation2, RANK2);
- final TmfCheckpoint checkpoint3 = new TmfCheckpoint(null, fLocation3, RANK3);
- final TmfCheckpoint checkpoint4 = new TmfCheckpoint(null, fLocation1, RANK1);
-
- // Test the various 'null' vs. '!null' combinations
- assertEquals("compareTo", 0, checkpoint1.compareTo(fCheckpoint1));
- assertEquals("compareTo", 0, fCheckpoint1.compareTo(checkpoint1));
- assertEquals("compareTo", -1, checkpoint1.compareTo(fCheckpoint2));
- assertEquals("compareTo", 1, fCheckpoint2.compareTo(checkpoint1));
- assertEquals("compareTo", -1, checkpoint1.compareTo(fCheckpoint3));
- assertEquals("compareTo", 1, fCheckpoint3.compareTo(checkpoint1));
-
- // Test the 'null' vs. 'null' combinations
- assertEquals("compareTo", 0, checkpoint1.compareTo(checkpoint4));
- assertEquals("compareTo", 0, checkpoint4.compareTo(checkpoint1));
- assertEquals("compareTo", -1, checkpoint1.compareTo(checkpoint2));
- assertEquals("compareTo", 1, checkpoint2.compareTo(checkpoint1));
- assertEquals("compareTo", -1, checkpoint1.compareTo(checkpoint3));
- assertEquals("compareTo", 1, checkpoint3.compareTo(checkpoint1));
- }
-
- // ------------------------------------------------------------------------
- // hashCode
- // ------------------------------------------------------------------------
-
- @Test
- public void testHashCode() {
- final TmfCheckpoint checkpoint1 = new TmfCheckpoint(fCheckpoint1);
- final TmfCheckpoint checkpoint2 = new TmfCheckpoint(fCheckpoint2);
-
- assertTrue("hashCode", fCheckpoint1.hashCode() == checkpoint1.hashCode());
- assertTrue("hashCode", fCheckpoint2.hashCode() == checkpoint2.hashCode());
-
- assertTrue("hashCode", fCheckpoint1.hashCode() != checkpoint2.hashCode());
- assertTrue("hashCode", fCheckpoint2.hashCode() != checkpoint1.hashCode());
- }
-
- @Test
- public void testHashCodeNull() {
- final TmfCheckpoint checkpoint1 = new TmfCheckpoint(null, fLocation1, RANK1);
- final TmfCheckpoint checkpoint2 = new TmfCheckpoint(fTimestamp1, null, RANK1);
- final TmfCheckpoint checkpoint3 = new TmfCheckpoint(checkpoint1);
- final TmfCheckpoint checkpoint4 = new TmfCheckpoint(checkpoint2);
-
- assertTrue("hashCode", fCheckpoint1.hashCode() != checkpoint1.hashCode());
- assertTrue("hashCode", fCheckpoint1.hashCode() != checkpoint2.hashCode());
-
- assertTrue("hashCode", checkpoint1.hashCode() == checkpoint3.hashCode());
- assertTrue("hashCode", checkpoint2.hashCode() == checkpoint4.hashCode());
- }
-
- // ------------------------------------------------------------------------
- // equals
- // ------------------------------------------------------------------------
-
- @Test
- public void testEqualsReflexivity() {
- assertTrue("equals", fCheckpoint1.equals(fCheckpoint1));
- assertTrue("equals", fCheckpoint2.equals(fCheckpoint2));
-
- assertTrue("equals", !fCheckpoint1.equals(fCheckpoint2));
- assertTrue("equals", !fCheckpoint2.equals(fCheckpoint1));
- }
-
- @Test
- public void testEqualsSymmetry() {
- final TmfCheckpoint checkpoint1 = new TmfCheckpoint(fCheckpoint1);
- final TmfCheckpoint checkpoint2 = new TmfCheckpoint(fCheckpoint2);
-
- assertTrue("equals", checkpoint1.equals(fCheckpoint1));
- assertTrue("equals", fCheckpoint1.equals(checkpoint1));
-
- assertTrue("equals", checkpoint2.equals(fCheckpoint2));
- assertTrue("equals", fCheckpoint2.equals(checkpoint2));
- }
-
- @Test
- public void testEqualsTransivity() {
- final TmfCheckpoint checkpoint1 = new TmfCheckpoint(fCheckpoint1);
- final TmfCheckpoint checkpoint2 = new TmfCheckpoint(checkpoint1);
- final TmfCheckpoint checkpoint3 = new TmfCheckpoint(checkpoint2);
-
- assertTrue("equals", checkpoint1.equals(checkpoint2));
- assertTrue("equals", checkpoint2.equals(checkpoint3));
- assertTrue("equals", checkpoint1.equals(checkpoint3));
- }
-
- @Test
- public void testNotEqual() {
- // Various checkpoints
- final TmfCheckpoint checkpoint1 = new TmfCheckpoint(fTimestamp1, fLocation1, RANK1);
- final TmfCheckpoint checkpoint2 = new TmfCheckpoint(fTimestamp2, fLocation1, RANK1);
- final TmfCheckpoint checkpoint3 = new TmfCheckpoint(fTimestamp1, fLocation2, RANK2);
- final TmfCheckpoint checkpoint4 = new TmfCheckpoint(fTimestamp1, null, RANK1);
- final TmfCheckpoint checkpoint5 = new TmfCheckpoint(null, fLocation1, RANK1);
-
- // Null check
- assertFalse("equals", checkpoint1.equals(null));
-
- // Different types
- assertFalse("equals", checkpoint1.equals(new TmfTimestamp()));
-
- // Null locations/location
- assertFalse("equals", checkpoint1.equals(checkpoint4));
- assertFalse("equals", checkpoint1.equals(checkpoint5));
- assertFalse("equals", checkpoint4.equals(checkpoint1));
- assertFalse("equals", checkpoint5.equals(checkpoint1));
-
- // Different locations/location
- assertFalse("equals", checkpoint1.equals(checkpoint2));
- assertFalse("equals", checkpoint1.equals(checkpoint3));
- }
-
- // ------------------------------------------------------------------------
- // toString
- // ------------------------------------------------------------------------
-
- @Test
- public void testToString() {
- final String expected1 = "TmfCheckpoint [fLocation=" + fCheckpoint1.getLocation() +
- ", fTimestamp=" + fCheckpoint1.getTimestamp() + ", fCheckpointRank=" + fCheckpoint1.getCheckpointRank() + "]";
- final String expected2 = "TmfCheckpoint [fLocation=" + fCheckpoint2.getLocation() +
- ", fTimestamp=" + fCheckpoint2.getTimestamp() + ", fCheckpointRank=" + fCheckpoint2.getCheckpointRank() + "]";
- final String expected3 = "TmfCheckpoint [fLocation=" + fCheckpoint3.getLocation() +
- ", fTimestamp=" + fCheckpoint3.getTimestamp() + ", fCheckpointRank=" + fCheckpoint3.getCheckpointRank() + "]";
-
- assertEquals("toString", expected1, fCheckpoint1.toString());
- assertEquals("toString", expected2, fCheckpoint2.toString());
- assertEquals("toString", expected3, fCheckpoint3.toString());
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/trace/indexer/checkpoint/TmfExperimentCheckpointIndexTest.java b/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/trace/indexer/checkpoint/TmfExperimentCheckpointIndexTest.java
deleted file mode 100644
index 1aa81bf3c1..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/trace/indexer/checkpoint/TmfExperimentCheckpointIndexTest.java
+++ /dev/null
@@ -1,192 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2012, 2013 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
- * Alexandre Montplaisir - Port to JUnit4
- * Patrick Tasse - Updated for ranks in experiment location
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.core.tests.trace.indexer.checkpoint;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertTrue;
-
-import java.io.File;
-import java.io.IOException;
-import java.net.URISyntaxException;
-import java.net.URL;
-
-import org.eclipse.core.runtime.FileLocator;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.linuxtools.tmf.core.event.ITmfEvent;
-import org.eclipse.linuxtools.tmf.core.exceptions.TmfTraceException;
-import org.eclipse.linuxtools.tmf.core.tests.TmfCoreTestPlugin;
-import org.eclipse.linuxtools.tmf.core.tests.shared.TmfTestTrace;
-import org.eclipse.linuxtools.tmf.core.timestamp.TmfTimeRange;
-import org.eclipse.linuxtools.tmf.core.timestamp.TmfTimestamp;
-import org.eclipse.linuxtools.tmf.core.trace.ITmfContext;
-import org.eclipse.linuxtools.tmf.core.trace.ITmfTrace;
-import org.eclipse.linuxtools.tmf.core.trace.indexer.checkpoint.ITmfCheckpoint;
-import org.eclipse.linuxtools.tmf.core.trace.indexer.checkpoint.ITmfCheckpointIndex;
-import org.eclipse.linuxtools.tmf.core.trace.location.ITmfLocation;
-import org.eclipse.linuxtools.tmf.tests.stubs.trace.TmfExperimentStub;
-import org.eclipse.linuxtools.tmf.tests.stubs.trace.TmfTraceStub;
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Test;
-
-/**
- * Test suite for the TmfCheckpointIndexTest class.
- */
-@SuppressWarnings("javadoc")
-public class TmfExperimentCheckpointIndexTest {
-
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
-
- private static final String EXPERIMENT = "MyExperiment";
- private static final TmfTestTrace TEST_TRACE1 = TmfTestTrace.O_TEST_10K;
- private static final TmfTestTrace TEST_TRACE2 = TmfTestTrace.E_TEST_10K;
- private static int NB_EVENTS = 20000;
- private static int BLOCK_SIZE = 1000;
-
- private static ITmfTrace[] fTestTraces;
- private static TmfExperimentStub fExperiment;
-
- // ------------------------------------------------------------------------
- // Housekeeping
- // ------------------------------------------------------------------------
-
- @Before
- public void setUp() {
- setupTraces();
- fExperiment = new TmfExperimentStub(EXPERIMENT, fTestTraces, BLOCK_SIZE);
- fExperiment.getIndexer().buildIndex(0, TmfTimeRange.ETERNITY, true);
- }
-
- @After
- public void tearDown() {
- fExperiment.dispose();
- fExperiment = null;
- for (ITmfTrace trace : fTestTraces) {
- trace.dispose();
- }
- fTestTraces = null;
- }
-
- private static void setupTraces() {
-
- fTestTraces = new ITmfTrace[2];
- try {
- URL location = FileLocator.find(TmfCoreTestPlugin.getDefault().getBundle(), new Path(TEST_TRACE1.getFullPath()), null);
- File test = new File(FileLocator.toFileURL(location).toURI());
- final TmfTraceStub trace1 = new TmfTraceStub(test.getPath(), 0, true, null);
- fTestTraces[0] = trace1;
- location = FileLocator.find(TmfCoreTestPlugin.getDefault().getBundle(), new Path(TEST_TRACE2.getFullPath()), null);
- test = new File(FileLocator.toFileURL(location).toURI());
- final TmfTraceStub trace2 = new TmfTraceStub(test.getPath(), 0, true, null);
- fTestTraces[1] = trace2;
- } catch (final TmfTraceException e) {
- e.printStackTrace();
- } catch (final URISyntaxException e) {
- e.printStackTrace();
- } catch (final IOException e) {
- e.printStackTrace();
- }
- }
-
- // ------------------------------------------------------------------------
- // Verify checkpoints
- // ------------------------------------------------------------------------
-
- @Test
- public void testTmfTraceIndexing() {
- assertEquals("getCacheSize", BLOCK_SIZE, fExperiment.getCacheSize());
- assertEquals("getTraceSize", NB_EVENTS, fExperiment.getNbEvents());
- assertEquals("getRange-start", 1, fExperiment.getTimeRange().getStartTime().getValue());
- assertEquals("getRange-end", NB_EVENTS, fExperiment.getTimeRange().getEndTime().getValue());
- assertEquals("getStartTime", 1, fExperiment.getStartTime().getValue());
- assertEquals("getEndTime", NB_EVENTS, fExperiment.getEndTime().getValue());
-
- ITmfCheckpointIndex checkpoints = fExperiment.getIndexer().getCheckpoints();
- int pageSize = fExperiment.getCacheSize();
- assertTrue("Checkpoints exist", checkpoints != null);
- assertEquals("Checkpoints size", NB_EVENTS / BLOCK_SIZE, checkpoints.size());
-
- // Validate that each checkpoint points to the right event
- for (int i = 0; i < checkpoints.size(); i++) {
- ITmfCheckpoint checkpoint = checkpoints.get(i);
- ITmfLocation location = checkpoint.getLocation();
- ITmfContext context = fExperiment.seekEvent(location);
- ITmfEvent event = fExperiment.parseEvent(context);
- assertTrue(context.getRank() == i * pageSize);
- assertTrue((checkpoint.getTimestamp().compareTo(event.getTimestamp(), false) == 0));
- }
- }
-
- // ------------------------------------------------------------------------
- // Streaming
- // ------------------------------------------------------------------------
-
- @Test
- public void testGrowingIndex() {
- ITmfTrace[] testTraces = new TmfTraceStub[2];
- try {
- URL location = FileLocator.find(TmfCoreTestPlugin.getDefault().getBundle(), new Path(TEST_TRACE1.getFullPath()), null);
- File test = new File(FileLocator.toFileURL(location).toURI());
- final TmfTraceStub trace1 = new TmfTraceStub(test.getPath(), 0, false, null);
- testTraces[0] = trace1;
- location = FileLocator.find(TmfCoreTestPlugin.getDefault().getBundle(), new Path(TEST_TRACE2.getFullPath()), null);
- test = new File(FileLocator.toFileURL(location).toURI());
- final TmfTraceStub trace2 = new TmfTraceStub(test.getPath(), 0, false, null);
- testTraces[1] = trace2;
- } catch (final TmfTraceException e) {
- e.printStackTrace();
- } catch (final URISyntaxException e) {
- e.printStackTrace();
- } catch (final IOException e) {
- e.printStackTrace();
- }
-
- TmfExperimentStub experiment = new TmfExperimentStub(EXPERIMENT, testTraces, BLOCK_SIZE);
- int pageSize = experiment.getCacheSize();
-
- // Build the first half of the index
- TmfTimeRange range = new TmfTimeRange(new TmfTimestamp(1, -3), new TmfTimestamp(NB_EVENTS / 2 - 1, -3));
- experiment.getIndexer().buildIndex(0, range, true);
-
- // Validate that each checkpoint points to the right event
- ITmfCheckpointIndex checkpoints = experiment.getIndexer().getCheckpoints();
- assertTrue("Checkpoints exist", checkpoints != null);
- assertEquals("Checkpoints size", NB_EVENTS / BLOCK_SIZE / 2, checkpoints.size());
-
- // Build the second half of the index
- experiment.getIndexer().buildIndex(NB_EVENTS / 2, TmfTimeRange.ETERNITY, true);
-
- // Validate that each checkpoint points to the right event
- assertEquals("Checkpoints size", NB_EVENTS / BLOCK_SIZE, checkpoints.size());
- for (int i = 0; i < checkpoints.size(); i++) {
- ITmfCheckpoint checkpoint = checkpoints.get(i);
- ITmfLocation location = checkpoint.getLocation();
- ITmfContext context = experiment.seekEvent(location);
- ITmfEvent event = experiment.parseEvent(context);
- assertTrue(context.getRank() == i * pageSize);
- assertTrue((checkpoint.getTimestamp().compareTo(event.getTimestamp(), false) == 0));
- assertEquals("Checkpoint value", i * pageSize + 1, checkpoint.getTimestamp().getValue());
- }
-
- /* Clean up (since we didn't use the class-specific fixtures) */
- experiment.dispose();
- for (ITmfTrace trace : testTraces) {
- trace.dispose();
- }
- }
-
-} \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/trace/location/AllTests.java b/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/trace/location/AllTests.java
deleted file mode 100644
index 3593f4caaa..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/trace/location/AllTests.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009, 2013 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
- * Alexandre Montplaisir - Port to JUnit4
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.core.tests.trace.location;
-
-import org.junit.runner.RunWith;
-import org.junit.runners.Suite;
-
-/**
- * Test suite for org.eclipse.linuxtools.tmf.core.trace.location
- */
-@RunWith(Suite.class)
-@Suite.SuiteClasses({
- TmfLocationTest.class,
-})
-public class AllTests {} \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/trace/location/TmfLocationTest.java b/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/trace/location/TmfLocationTest.java
deleted file mode 100644
index fdbc6a4b1b..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/trace/location/TmfLocationTest.java
+++ /dev/null
@@ -1,252 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009, 2013 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
- * Alexandre Montplaisir - Port to JUnit4
- * Patrick Tasse - Add tests for TmfExperimentLocation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.core.tests.trace.location;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNull;
-import static org.junit.Assert.assertTrue;
-
-import java.nio.ByteBuffer;
-
-import org.eclipse.linuxtools.internal.tmf.core.trace.TmfExperimentLocation;
-import org.eclipse.linuxtools.internal.tmf.core.trace.TmfLocationArray;
-import org.eclipse.linuxtools.tmf.core.timestamp.TmfTimestamp;
-import org.eclipse.linuxtools.tmf.core.trace.location.ITmfLocation;
-import org.eclipse.linuxtools.tmf.core.trace.location.TmfLocation;
-import org.eclipse.linuxtools.tmf.core.trace.location.TmfLongLocation;
-import org.eclipse.linuxtools.tmf.core.trace.location.TmfTimestampLocation;
-import org.junit.Before;
-import org.junit.Test;
-
-/**
- * Test suite for the TmfLocation class.
- */
-@SuppressWarnings("javadoc")
-public class TmfLocationTest {
-
- // ------------------------------------------------------------------------
- // Variables
- // ------------------------------------------------------------------------
-
- private Long aLong = 12345L;
- private TmfTimestamp aTimestamp = new TmfTimestamp();
- private TmfLocationArray aLocationArray;
-
- private TmfLongLocation fLocation1;
- private TmfLongLocation fLocation2;
- private TmfTimestampLocation fLocation3;
- private TmfExperimentLocation fExpLocation;
-
- // ------------------------------------------------------------------------
- // Housekeeping
- // ------------------------------------------------------------------------
-
- @Before
- public void setUp() {
- fLocation1 = new TmfLongLocation((Long) null);
- fLocation2 = new TmfLongLocation(aLong);
- fLocation3 = new TmfTimestampLocation(aTimestamp);
- aLocationArray = new TmfLocationArray(
- new ITmfLocation[] { fLocation1, fLocation2, fLocation3 },
- new long[] { 1, 2, 3 }
- );
- fExpLocation = new TmfExperimentLocation(aLocationArray);
- }
-
- // ------------------------------------------------------------------------
- // Constructors
- // ------------------------------------------------------------------------
-
- @Test
- public void testTmfLocation() {
- assertNull("TmfLocation", fLocation1.getLocationInfo());
- assertEquals("TmfLocation", aLong, fLocation2.getLocationInfo());
- assertEquals("TmfLocation", aTimestamp, fLocation3.getLocationInfo());
- assertEquals("TmfLocation", aLocationArray, fExpLocation.getLocationInfo());
- }
-
- @Test
- public void testTmfLocationCopy() {
- TmfLongLocation location1 = new TmfLongLocation(fLocation1);
- TmfLongLocation location2 = new TmfLongLocation(fLocation2);
- TmfTimestampLocation location3 = new TmfTimestampLocation(fLocation3);
- TmfExperimentLocation expLocation = new TmfExperimentLocation(fExpLocation);
-
- assertNull("TmfLocation", location1.getLocationInfo());
- assertEquals("TmfLocation", aLong, location2.getLocationInfo());
- assertEquals("TmfLocation", aTimestamp, location3.getLocationInfo());
- assertEquals("TmfLocation", aLocationArray, expLocation.getLocationInfo());
- }
-
- // ------------------------------------------------------------------------
- // hashCode
- // ------------------------------------------------------------------------
-
- @Test
- public void testHashCode() {
- TmfLongLocation location1 = new TmfLongLocation((Long) null);
- TmfLongLocation location2 = new TmfLongLocation(aLong);
- TmfTimestampLocation location3 = new TmfTimestampLocation(aTimestamp);
- TmfExperimentLocation expLocation = new TmfExperimentLocation(fExpLocation);
- TmfLocationArray locationArray1 = new TmfLocationArray(aLocationArray, 2, fLocation3, 5);
- TmfExperimentLocation expLocation1 = new TmfExperimentLocation(locationArray1);
- TmfLocationArray locationArray2 = new TmfLocationArray(aLocationArray, 2, fLocation2, 4);
- TmfExperimentLocation expLocation2 = new TmfExperimentLocation(locationArray2);
- TmfLocationArray locationArray3 = new TmfLocationArray(
- new ITmfLocation[] { fLocation1, fLocation2 },
- new long[] { 1, 2 }
- );
- TmfExperimentLocation expLocation3 = new TmfExperimentLocation(locationArray3);
-
- assertTrue("hashCode", fLocation1.hashCode() == location1.hashCode());
- assertTrue("hashCode", fLocation2.hashCode() == location2.hashCode());
- assertTrue("hashCode", fLocation3.hashCode() == location3.hashCode());
- assertTrue("hashCode", fExpLocation.hashCode() == expLocation.hashCode());
-
- assertTrue("hashCode", fLocation2.hashCode() != location3.hashCode());
- assertTrue("hashCode", fLocation3.hashCode() != location2.hashCode());
- assertTrue("hashCode", fExpLocation.hashCode() != expLocation1.hashCode());
- assertTrue("hashCode", fExpLocation.hashCode() != expLocation2.hashCode());
- assertTrue("hashCode", fExpLocation.hashCode() != expLocation3.hashCode());
- }
-
- // ------------------------------------------------------------------------
- // toEquals
- // ------------------------------------------------------------------------
-
- private static class TmfTestLongLocation extends TmfLocation {
- public TmfTestLongLocation(Long location) {
- super(location);
- }
-
- @Override
- public void serialize(ByteBuffer bufferOut) {}
- }
-
- private static class TmfTestLongLocation2 extends TmfTestLongLocation {
- public TmfTestLongLocation2(Long location) {
- super(location);
- }
- }
-
- @Test
- public void testEqualsWrongTypes() {
- ITmfLocation location1 = new TmfTestLongLocation(aLong);
- TmfTestLongLocation location2 = new TmfTestLongLocation2(aLong);
-
- assertFalse("equals", location1.equals(location2));
- assertFalse("equals", location2.equals(location1));
- }
-
- @Test
- public void testEqualsWithNulls() {
- ITmfLocation location1 = new TmfLongLocation(aLong);
- ITmfLocation location2 = new TmfLongLocation((Long) null);
-
- assertFalse("equals", location1.equals(location2));
- assertFalse("equals", location2.equals(location1));
- }
-
- @Test
- public void testEqualsReflexivity() {
- assertTrue("equals", fLocation1.equals(fLocation1));
- assertTrue("equals", fLocation2.equals(fLocation2));
- assertTrue("equals", fLocation3.equals(fLocation3));
- assertTrue("equals", fExpLocation.equals(fExpLocation));
-
- assertTrue("equals", !fLocation2.equals(fLocation3));
- assertTrue("equals", !fLocation3.equals(fLocation2));
- TmfLocationArray locationArray1 = new TmfLocationArray(aLocationArray, 2, fLocation3, 5);
- TmfExperimentLocation expLocation1 = new TmfExperimentLocation(locationArray1);
- TmfLocationArray locationArray2 = new TmfLocationArray(aLocationArray, 2, fLocation2, 4);
- TmfExperimentLocation expLocation2 = new TmfExperimentLocation(locationArray2);
- TmfLocationArray locationArray3 = new TmfLocationArray(
- new ITmfLocation[] { fLocation1, fLocation2, fLocation3 },
- new long[] { 1, 2 }
- );
- TmfExperimentLocation expLocation3 = new TmfExperimentLocation(locationArray3);
- assertTrue("equals", !fExpLocation.equals(expLocation1));
- assertTrue("equals", !expLocation1.equals(fExpLocation));
- assertTrue("equals", !fExpLocation.equals(expLocation2));
- assertTrue("equals", !expLocation2.equals(fExpLocation));
- assertTrue("equals", !fExpLocation.equals(expLocation3));
- assertTrue("equals", !expLocation3.equals(fExpLocation));
- }
-
- @Test
- public void testEqualsSymmetry() {
- TmfLongLocation location2 = new TmfLongLocation(aLong);
- TmfTimestampLocation location3 = new TmfTimestampLocation(aTimestamp);
- TmfExperimentLocation expLocation = new TmfExperimentLocation(fExpLocation);
-
- assertTrue("equals", location2.equals(fLocation2));
- assertTrue("equals", fLocation2.equals(location2));
-
- assertTrue("equals", location3.equals(fLocation3));
- assertTrue("equals", fLocation3.equals(location3));
-
- assertTrue("equals", expLocation.equals(fExpLocation));
- assertTrue("equals", fExpLocation.equals(expLocation));
- }
-
- @Test
- public void testEqualsTransivity() {
- TmfLongLocation location1 = new TmfLongLocation(aLong);
- TmfLongLocation location2 = new TmfLongLocation(aLong);
- TmfLongLocation location3 = new TmfLongLocation(aLong);
-
- TmfExperimentLocation expLocation1 = new TmfExperimentLocation(aLocationArray);
- TmfExperimentLocation expLocation2 = new TmfExperimentLocation(aLocationArray);
- TmfExperimentLocation expLocation3 = new TmfExperimentLocation(aLocationArray);
-
- assertTrue("equals", location1.equals(location2));
- assertTrue("equals", location2.equals(location3));
- assertTrue("equals", location3.equals(location1));
- assertTrue("equals", expLocation1.equals(expLocation2));
- assertTrue("equals", expLocation2.equals(expLocation3));
- assertTrue("equals", expLocation3.equals(expLocation1));
- }
-
- @Test
- public void testEqualsNull() {
- assertTrue("equals", !fLocation1.equals(null));
- assertTrue("equals", !fLocation2.equals(null));
- assertTrue("equals", !fLocation3.equals(null));
- assertTrue("equals", !fExpLocation.equals(null));
- }
-
- // ------------------------------------------------------------------------
- // toString
- // ------------------------------------------------------------------------
-
- @Test
- public void testToString() {
- TmfTimestamp ts = new TmfTimestamp();
-
- TmfLongLocation location1 = new TmfLongLocation(aLong);
- TmfTimestampLocation location2 = new TmfTimestampLocation(ts);
- TmfExperimentLocation expLocation = new TmfExperimentLocation(aLocationArray);
-
- String expected1 = "TmfLongLocation [fLocationInfo=" + aLong + "]";
- String expected2 = "TmfTimestampLocation [fLocationInfo=" + ts + "]";
- String expected3 = "TmfExperimentLocation [" + aLocationArray + "]";
-
- assertEquals("toString", expected1, location1.toString());
- assertEquals("toString", expected2, location2.toString());
- assertEquals("toString", expected3, expLocation.toString());
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/trace/stub/AllTests.java b/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/trace/stub/AllTests.java
deleted file mode 100644
index 4ed2c6ed23..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/trace/stub/AllTests.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 École Polytechnique de Montréal
- *
- * 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:
- * Geneviève Bastien - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.core.tests.trace.stub;
-
-import org.junit.runner.RunWith;
-import org.junit.runners.Suite;
-
-/**
- * Unit tests for the development trace package.
- */
-@RunWith(Suite.class)
-@Suite.SuiteClasses({
- XmlStubTraceTest.class
-})
-public class AllTests {
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/trace/stub/XmlStubTraceTest.java b/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/trace/stub/XmlStubTraceTest.java
deleted file mode 100644
index 5705e938a9..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/trace/stub/XmlStubTraceTest.java
+++ /dev/null
@@ -1,191 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 École Polytechnique de Montréal
- *
- * 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:
- * Geneviève Bastien - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.core.tests.trace.stub;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertTrue;
-import static org.junit.Assert.fail;
-
-import java.io.File;
-import java.io.IOException;
-import java.net.URL;
-
-import org.eclipse.core.runtime.FileLocator;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.core.runtime.Plugin;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.linuxtools.tmf.core.event.ITmfEvent;
-import org.eclipse.linuxtools.tmf.core.event.ITmfEventField;
-import org.eclipse.linuxtools.tmf.core.event.TmfEvent;
-import org.eclipse.linuxtools.tmf.core.exceptions.TmfTraceException;
-import org.eclipse.linuxtools.tmf.core.request.ITmfEventRequest;
-import org.eclipse.linuxtools.tmf.core.request.TmfEventRequest;
-import org.eclipse.linuxtools.tmf.core.tests.TmfCoreTestPlugin;
-import org.eclipse.linuxtools.tmf.core.timestamp.TmfTimeRange;
-import org.eclipse.linuxtools.tmf.core.trace.ITmfTrace;
-import org.eclipse.linuxtools.tmf.tests.stubs.trace.xml.TmfXmlTraceStub;
-import org.junit.Test;
-
-/**
- * Test suite for the {@link TmfXmlTraceStub} class
- *
- * @author Geneviève Bastien
- */
-public class XmlStubTraceTest {
-
- private static final Path VALID_FILE = new Path("testfiles/stub_xml_traces/valid/test.xml");
- private static final Path VALID_PATH = new Path("testfiles/stub_xml_traces/valid");
- private static final Path INVALID_PATH = new Path("testfiles/stub_xml_traces/invalid");
-
- private static final String EVENT_A = "A";
- private static final String EVENT_B = "B";
- private static final String FIELD_A = "b";
- private static final String FIELD_B = "f";
-
- private static IPath getAbsolutePath(Path relativePath) {
- Plugin plugin = TmfCoreTestPlugin.getDefault();
- if (plugin == null) {
- /*
- * Shouldn't happen but at least throw something to get the test to
- * fail early
- */
- throw new IllegalStateException();
- }
- URL location = FileLocator.find(plugin.getBundle(), relativePath, null);
- try {
- IPath path = new Path(FileLocator.toFileURL(location).getPath());
- return path;
- } catch (IOException e) {
- throw new IllegalStateException();
- }
- }
-
- /**
- * Test the
- * {@link TmfXmlTraceStub#validate(org.eclipse.core.resources.IProject, String)}
- * method
- */
- @Test
- public void testValidate() {
- TmfXmlTraceStub trace = new TmfXmlTraceStub();
- File[] invalidFiles = getAbsolutePath(INVALID_PATH).toFile().listFiles();
- assertTrue(invalidFiles.length > 0);
- for (File f : invalidFiles) {
- assertTrue(!trace.validate(null, f.getAbsolutePath()).isOK());
- }
-
- File[] validFiles = getAbsolutePath(VALID_PATH).toFile().listFiles();
- assertTrue(validFiles.length > 0);
- for (File f : validFiles) {
- assertTrue(trace.validate(null, f.getAbsolutePath()).isOK());
- }
- }
-
- /**
- * Test the reading and querying the XML trace and make sure fields are
- * present
- */
- @Test
- public void testDevelopmentTrace() {
- TmfXmlTraceStub trace = new TmfXmlTraceStub();
- IStatus status = trace.validate(null, getAbsolutePath(VALID_FILE).toOSString());
- if (!status.isOK()) {
- fail(status.getException().getMessage());
- }
-
- try {
- trace.initTrace(null, getAbsolutePath(VALID_FILE).toOSString(), TmfEvent.class);
- } catch (TmfTraceException e1) {
- fail(e1.getMessage());
- }
-
- CustomEventRequest req = new CustomEventRequest(trace);
- trace.sendRequest(req);
- try {
- req.waitForCompletion();
- if (req.isCancelled()) {
- fail(req.getStatus().getMessage());
- }
- } catch (InterruptedException e) {
- fail(e.getMessage());
- }
- assertEquals(4, req.getCount());
- }
-
- private static IStatus testEvent(ITmfEvent event) {
- switch (event.getType().getName()) {
- case EVENT_A: {
- ITmfEventField content = event.getContent();
- if (!event.getSource().equals("1")) {
- return new Status(IStatus.ERROR, TmfCoreTestPlugin.PLUGIN_ID, "Events of type A should have source 1 but was " + event.getSource());
- }
- if (content.getField(FIELD_A) == null) {
- return new Status(IStatus.ERROR, TmfCoreTestPlugin.PLUGIN_ID, String.format("Field %s does not exist in event %s", FIELD_A, EVENT_A));
- }
- break;
- }
- case EVENT_B: {
- ITmfEventField content = event.getContent();
- if (!event.getSource().equals("2")) {
- return new Status(IStatus.ERROR, TmfCoreTestPlugin.PLUGIN_ID, "Events of type B should have source 2 but was " + event.getSource());
- }
- if (content.getField(FIELD_B) == null) {
- return new Status(IStatus.ERROR, TmfCoreTestPlugin.PLUGIN_ID, String.format("Field %s does not exist in event %s", FIELD_B, EVENT_B));
- }
- break;
- }
- default:
- return new Status(IStatus.ERROR, TmfCoreTestPlugin.PLUGIN_ID, "Unexpected event " + event.getType().getName());
- }
- return Status.OK_STATUS;
- }
-
- private class CustomEventRequest extends TmfEventRequest {
- private final ITmfTrace fTrace;
- private IStatus fResult = Status.OK_STATUS;
- private int fCount = 0;
-
- public CustomEventRequest(ITmfTrace trace) {
- super(trace.getEventType(),
- TmfTimeRange.ETERNITY,
- 0,
- ITmfEventRequest.ALL_DATA,
- ITmfEventRequest.ExecutionType.BACKGROUND);
- this.fTrace = trace;
- }
-
- @Override
- public void handleData(final ITmfEvent event) {
- super.handleData(event);
- if (event.getTrace() == fTrace) {
- fCount++;
- IStatus result = testEvent(event);
- if (!result.isOK()) {
- fResult = result;
- this.cancel();
- }
- }
- }
-
- public IStatus getStatus() {
- return fResult;
- }
-
- public int getCount() {
- return fCount;
- }
-
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/trace/text/AllTests.java b/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/trace/text/AllTests.java
deleted file mode 100644
index 77274652b1..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/trace/text/AllTests.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 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:
- * Bernd Hufmann - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.core.tests.trace.text;
-
-import org.junit.runner.RunWith;
-import org.junit.runners.Suite;
-
-/**
- * Test suite for org.eclipse.linuxtools.tmf.core.trace.location
- */
-@RunWith(Suite.class)
-@Suite.SuiteClasses({
- TextTraceContextTest.class,
- TextTraceEventContentTest.class,
- TextTraceTest.class,
-})
-public class AllTests {} \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/trace/text/TextTraceContextTest.java b/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/trace/text/TextTraceContextTest.java
deleted file mode 100644
index c514c5bcdb..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/trace/text/TextTraceContextTest.java
+++ /dev/null
@@ -1,238 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 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:
- * Bernd Hufmann - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.core.tests.trace.text;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNull;
-import static org.junit.Assert.assertTrue;
-
-import java.util.regex.Pattern;
-
-import org.eclipse.linuxtools.tmf.core.trace.ITmfContext;
-import org.eclipse.linuxtools.tmf.core.trace.TmfContext;
-import org.eclipse.linuxtools.tmf.core.trace.location.ITmfLocation;
-import org.eclipse.linuxtools.tmf.core.trace.location.TmfLongLocation;
-import org.eclipse.linuxtools.tmf.core.trace.text.TextTraceContext;
-import org.junit.Test;
-
-/**
- * Test suite for the {@link TextTraceContext} class.
- */
-@SuppressWarnings("javadoc")
-public class TextTraceContextTest {
-
- // ------------------------------------------------------------------------
- // Variables
- // ------------------------------------------------------------------------
-
- private final Long aLong1 = 12345L;
- private final Long aLong2 = 12346L;
- private final Long aLong3 = 12347L;
-
- private final TmfLongLocation fLocation1 = new TmfLongLocation(aLong1);
- private final TmfLongLocation fLocation2 = new TmfLongLocation(aLong2);
-
- private final long fRank1 = 1;
- private final long fRank2 = 2;
-
- private final TextTraceContext fContext1 = new TextTraceContext(fLocation1, fRank1);
- private final TextTraceContext fContext2 = new TextTraceContext(fLocation1, fRank1);
-
- private final Pattern pattern1 = Pattern.compile("\\s*.*");
- private final Pattern pattern2 = Pattern.compile("\\s*.*");
-
- private final String line1 = "line1";
- private final String line2 = "line2";
-
- // ------------------------------------------------------------------------
- // Constructors
- // ------------------------------------------------------------------------
-
- public TextTraceContextTest () {
- fContext1.firstLine = line1;
- fContext1.firstLineMatcher = pattern1.matcher(line1);
- fContext1.nextLineLocation = aLong2;
-
- fContext2.firstLine = line2;
- fContext2.firstLineMatcher = pattern2.matcher(line2);
- fContext2.nextLineLocation = aLong3;
- }
-
- @Test
- public void testTmfContextDefault() {
- final TextTraceContext context = new TextTraceContext(fLocation1, fRank1);
- assertEquals("getLocation", fLocation1, context.getLocation());
- assertEquals("getRank", fRank1, context.getRank());
- assertNull(context.firstLine);
- assertNull(context.firstLineMatcher);
- assertEquals(0, context.nextLineLocation);
- }
-
- // ------------------------------------------------------------------------
- // equals
- // ------------------------------------------------------------------------
-
- @Test
- public void testEqualsReflexivity() {
- assertTrue("equals", fContext1.equals(fContext1));
- assertTrue("equals", fContext2.equals(fContext2));
-
- assertFalse("equals", fContext1.equals(fContext2));
- assertFalse("equals", fContext2.equals(fContext1));
- }
-
- @Test
- public void testEqualsSymmetry() {
- final TextTraceContext context1 = new TextTraceContext(fContext1);
- final TextTraceContext context2 = new TextTraceContext(fContext2);
-
- assertTrue("equals", context1.equals(fContext1));
- assertTrue("equals", fContext1.equals(context1));
-
- assertTrue("equals", context2.equals(fContext2));
- assertTrue("equals", fContext2.equals(context2));
- }
-
- @Test
- public void testEqualsTransivity() {
-
- final TextTraceContext context1 = new TextTraceContext(fContext1);
- final TextTraceContext context2 = new TextTraceContext(fContext1);
- final TextTraceContext context3 = new TextTraceContext(fContext1);
-
- assertTrue("equals", context1.equals(context2));
- assertTrue("equals", context2.equals(context3));
- assertTrue("equals", context1.equals(context3));
- }
-
- @Test
- public void testEqualsNull() {
- assertFalse("equals", fContext1.equals(null));
- assertFalse("equals", fContext2.equals(null));
- }
-
- private static class MyContext extends TextTraceContext {
-
- public MyContext(ITmfLocation location, long rank) {
- super(location, rank);
- }
- }
-
- @Test
- public void testNonEquals() {
-
- // Different classes
- final MyContext myContext = new MyContext(fLocation1, fRank1);
- assertFalse("equals", fContext1.equals(myContext));
- assertFalse("equals", myContext.equals(fContext1));
-
- // Different locations
- TextTraceContext context1 = new TextTraceContext(fLocation1, fRank1);
- TextTraceContext context2 = new TextTraceContext(fLocation2, fRank1);
- assertFalse("equals", context1.equals(context2));
-
- // Different ranks
- context1 = new TextTraceContext(fLocation1, fRank1);
- context2 = new TextTraceContext(fLocation1, fRank2);
- assertFalse("equals", context1.equals(context2));
-
- // Different firstLine
- context1 = new TextTraceContext(fLocation1, fRank1);
- context1.firstLine = line1;
- context2 = new TextTraceContext(fLocation1, fRank1);
- context2.firstLine = line2;
- assertFalse("equals", context1.equals(context2));
-
- // Different firstLineMatcher
- context1 = new TextTraceContext(fLocation1, fRank1);
- context1.firstLine = line1;
- context1.firstLineMatcher = fContext1.firstLineMatcher;
- context2 = new TextTraceContext(fLocation1, fRank1);
- context2.firstLine = line1;
- context2.firstLineMatcher = fContext2.firstLineMatcher;
- assertFalse("equals", context1.equals(context2));
-
- // Different nextLineLocation
- context1 = new TextTraceContext(fLocation1, fRank1);
- context1.firstLine = line1;
- context1.firstLineMatcher = fContext1.firstLineMatcher;
- context1.nextLineLocation = aLong2;
- context2 = new TextTraceContext(fLocation1, fRank1);
- context2.firstLine = line1;
- context2.firstLineMatcher = fContext1.firstLineMatcher;
- context2.nextLineLocation = aLong3;
- assertFalse("equals", context1.equals(context2));
-
- }
-
- // ------------------------------------------------------------------------
- // hashCode
- // ------------------------------------------------------------------------
-
- @Test
- public void testHashCode() {
- final TextTraceContext context1 = new TextTraceContext(fContext1);
- final TextTraceContext context2 = new TextTraceContext(fContext2);
-
- assertEquals("hashCode", fContext1.hashCode(), context1.hashCode());
- assertEquals("hashCode", fContext2.hashCode(), context2.hashCode());
-
- assertFalse("hashCode", fContext1.hashCode() == context2.hashCode());
- assertFalse("hashCode", fContext2.hashCode() == context1.hashCode());
-
- final TmfContext nullContext1 = new TmfContext();
- final TmfContext nullContext2 = new TmfContext(nullContext1);
- assertEquals("hashCode", nullContext1.hashCode(), nullContext2.hashCode());
- }
-
- // ------------------------------------------------------------------------
- // setLocation, setRank, updateRank
- // ------------------------------------------------------------------------
-
- @Test
- public void testSetLocation() {
- final TextTraceContext context1 = new TextTraceContext(fLocation1, fRank1);
- context1.setLocation(fLocation2);
-
- assertEquals("getLocation", fLocation2, context1.getLocation());
- assertEquals("getRank", fRank1, context1.getRank());
- }
-
- @Test
- public void testSetRank() {
- final TextTraceContext context1 = new TextTraceContext(fContext1);
- context1.setRank(fContext2.getRank());
-
- assertEquals("getLocation", fContext1.getLocation(), context1.getLocation());
- assertEquals("getRank", fContext2.getRank(), context1.getRank());
- }
-
- @Test
- public void testIncreaseRank() {
- final TextTraceContext context1 = new TextTraceContext(fLocation1, fRank1);
-
- context1.increaseRank();
- assertEquals("getRank", fRank1 + 1, context1.getRank());
- context1.increaseRank();
- assertEquals("getRank", fRank1 + 2, context1.getRank());
-
- context1.setRank(ITmfContext.UNKNOWN_RANK);
- context1.increaseRank();
- assertEquals("getRank", ITmfContext.UNKNOWN_RANK, context1.getRank());
- context1.increaseRank();
- assertEquals("getRank", ITmfContext.UNKNOWN_RANK, context1.getRank());
- }
-
-}
-
diff --git a/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/trace/text/TextTraceEventContentTest.java b/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/trace/text/TextTraceEventContentTest.java
deleted file mode 100644
index 8930792c9e..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/trace/text/TextTraceEventContentTest.java
+++ /dev/null
@@ -1,232 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 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:
- * Bernd Hufmann - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.linuxtools.tmf.core.tests.trace.text;
-
-import static org.junit.Assert.assertArrayEquals;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotEquals;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertNull;
-import static org.junit.Assert.assertTrue;
-
-import java.util.List;
-
-import org.eclipse.linuxtools.tmf.core.event.ITmfEventField;
-import org.eclipse.linuxtools.tmf.core.trace.text.TextTraceEventContent;
-import org.eclipse.linuxtools.tmf.tests.stubs.trace.text.SyslogEventType;
-import org.eclipse.linuxtools.tmf.tests.stubs.trace.text.SyslogEventType.Index;
-import org.junit.Test;
-
-/**
- * Test suite for the {@link TextTraceEventContent} class.
- */
-@SuppressWarnings({ "javadoc", "nls" })
-public class TextTraceEventContentTest {
-
- // ------------------------------------------------------------------------
- // Members
- // ------------------------------------------------------------------------
-
- private TextTraceEventContent fEventContent1;
- private TextTraceEventContent fEventContent1Clone;
- private TextTraceEventContent fEventContent2;
- private TextTraceEventContent fEventContent2Clone;
-
- public TextTraceEventContentTest () {
- fEventContent1 = new TextTraceEventContent(SyslogEventType.LABELS);
- fEventContent1.setValue("CONTENT");
- fEventContent1.setFieldValue(Index.TIMESTAMP, "Jan 1 01:01:01");
- fEventContent1.setFieldValue(Index.HOST, "HostA");
- fEventContent1.setFieldValue(Index.LOGGER, "LoggerA");
- fEventContent1.setFieldValue(Index.MESSAGE, "MessageA");
-
- fEventContent1Clone = new TextTraceEventContent(SyslogEventType.LABELS);
- fEventContent1Clone.setValue("CONTENT");
- fEventContent1Clone.setFieldValue(Index.TIMESTAMP, "Jan 1 01:01:01");
- fEventContent1Clone.setFieldValue(Index.HOST, "HostA");
- fEventContent1Clone.setFieldValue(Index.LOGGER, "LoggerA");
- fEventContent1Clone.setFieldValue(Index.MESSAGE, "MessageA");
-
- fEventContent2 = new TextTraceEventContent(SyslogEventType.LABELS);
- fEventContent2.setFieldValue(SyslogEventType.LABELS[0], "Jan 1 02:02:02");
- fEventContent2.setFieldValue(SyslogEventType.LABELS[1], "HostB");
- fEventContent2.setFieldValue(SyslogEventType.LABELS[2], "LoggerB");
- StringBuffer buffer = new StringBuffer();
- buffer.append("Message B");
- fEventContent2.setFieldValue(SyslogEventType.LABELS[3], buffer);
-
- fEventContent2Clone = new TextTraceEventContent(SyslogEventType.LABELS);
- fEventContent2Clone.setFieldValue(SyslogEventType.LABELS[0], "Jan 1 02:02:02");
- fEventContent2Clone.setFieldValue(SyslogEventType.LABELS[1], "HostB");
- fEventContent2Clone.setFieldValue(SyslogEventType.LABELS[2], "LoggerB");
- buffer = new StringBuffer();
- buffer.append("Message B");
- fEventContent2Clone.setFieldValue(SyslogEventType.LABELS[3], buffer);
- }
-
- public void testConstructorConstructor() {
- assertEquals("getField:TIMESTAMP", "Jan 1 01:01:01", fEventContent1.getFieldValue(Index.TIMESTAMP));
- assertEquals("getField:HOST", "HostA", fEventContent1.getFieldValue(Index.HOST));
- assertEquals("getField:LOGGER", "LoggerA", fEventContent1.getFieldValue(Index.LOGGER));
- assertEquals("getField:MESSAGE", "MessageA", fEventContent1.getFieldValue(Index.MESSAGE).toString());
- }
-
- // ------------------------------------------------------------------------
- // Event Type
- // ------------------------------------------------------------------------
-
- @Test
- public void testEventTypeInstance() {
- SyslogEventType eventType = SyslogEventType.INSTANCE;
- assertEquals("getTypeId", "Syslog", eventType.getName());
- assertNotNull ("instance", eventType);
- assertTrue (eventType.getFieldNames().contains("Timestamp"));
- assertTrue (eventType.getFieldNames().contains("Host"));
- assertTrue (eventType.getFieldNames().contains("Logger"));
- assertTrue (eventType.getFieldNames().contains("Message"));
- }
-
- // ------------------------------------------------------------------------
- // equals
- // ------------------------------------------------------------------------
-
- @Test
- public void testEquals() {
- assertEquals("equals", fEventContent1, fEventContent1);
- assertEquals("equals", fEventContent2, fEventContent2);
-
- assertTrue("equals", !fEventContent1.equals(fEventContent2));
- assertTrue("equals", !fEventContent2.equals(fEventContent1));
-
- assertEquals("equals", fEventContent1, fEventContent1Clone);
- assertEquals("equals", fEventContent2, fEventContent2Clone);
- }
-
- @Test
- public void testEqualsNull() {
- assertTrue("equals", !fEventContent1.equals(null));
- assertTrue("equals", !fEventContent2.equals(null));
- }
-
- // ------------------------------------------------------------------------
- // hashCode
- // ------------------------------------------------------------------------
-
- @Test
- public void testHashCode() {
-
- assertEquals("hashCode", fEventContent1.hashCode(), fEventContent1Clone.hashCode());
- assertEquals("hashCode", fEventContent2.hashCode(), fEventContent2Clone.hashCode());
-
- assertNotEquals("hashCode", fEventContent1.hashCode(), fEventContent2.hashCode());
- assertNotEquals("hashCode", fEventContent2.hashCode(), fEventContent1.hashCode());
- }
-
- // ------------------------------------------------------------------------
- // Event Content
- // ------------------------------------------------------------------------
-
- @Test
- public void testGetFieldValueWithIndex() {
- assertEquals("getFieldValue:TIMESTAMP", "Jan 1 01:01:01", fEventContent1.getFieldValue(Index.TIMESTAMP));
- assertEquals("getFieldValue:HOST", "HostA", fEventContent1.getFieldValue(Index.HOST));
- assertEquals("getFieldValue:LOGGER", "LoggerA", fEventContent1.getFieldValue(Index.LOGGER));
- assertEquals("getFieldValue:MESSAGE", "MessageA", fEventContent1.getFieldValue(Index.MESSAGE));
- assertNull(fEventContent1.getFieldValue(4));
- }
-
- @Test
- public void testGetFieldValueWithName() {
- assertEquals("getFieldValue:TIMESTAMP", "Jan 1 01:01:01", fEventContent1.getFieldValue("Timestamp"));
- assertEquals("getFieldValue:HOST", "HostA", fEventContent1.getFieldValue("Host"));
- assertEquals("getFieldValue:LOGGER", "LoggerA", fEventContent1.getFieldValue("Logger"));
- assertEquals("getFieldValue:MESSAGE", "MessageA", fEventContent1.getFieldValue("Message"));
- assertNull(fEventContent1.getFieldValue("BlaBla"));
- }
-
- @Test
- public void testGetFieldNameWithIndex() {
-
- assertEquals("getFieldName:TIMESTAMP", SyslogEventType.LABELS[0], fEventContent1.getFieldName(Index.TIMESTAMP));
- assertEquals("getFieldName:HOST", SyslogEventType.LABELS[1], fEventContent1.getFieldName(Index.HOST));
- assertEquals("getFieldName:LOGGER", SyslogEventType.LABELS[2], fEventContent1.getFieldName(Index.LOGGER));
- assertEquals("getFieldName:MESSAGE", SyslogEventType.LABELS[3], fEventContent1.getFieldName(Index.MESSAGE));
- assertNull(fEventContent1.getFieldValue(4));
- }
-
- @Test
- public void testGetFields() {
- List<TextTraceEventContent> fields = fEventContent1.getFields();
- assertEquals(4, fields.size());
- assertEquals("getFields:TIMESTAMP", SyslogEventType.LABELS[0], fields.get(Index.TIMESTAMP).getName());
- assertEquals("getFields:TIMESTAMP", "Jan 1 01:01:01", fields.get(Index.TIMESTAMP).getValue());
- assertEquals("getFields:HOST", SyslogEventType.LABELS[1], fields.get(Index.HOST).getName());
- assertEquals("getFields:HOST", "HostA", fields.get(Index.HOST).getValue());
- assertEquals("getFields:LOGGER", SyslogEventType.LABELS[2], fields.get(Index.LOGGER).getName());
- assertEquals("getFields:LOGGER", "LoggerA", fields.get(Index.LOGGER).getValue());
- assertEquals("getFields:MESSAGE", SyslogEventType.LABELS[3], fields.get(Index.MESSAGE).getName());
- assertEquals("getFields:MESSAGE", "MessageA", fields.get(Index.MESSAGE).getValue());
- }
-
- @Test
- public void testGetFieldWithName() {
- ITmfEventField field = fEventContent1.getField("Timestamp");
- assertEquals("getFieldName:TIMESTAMP", SyslogEventType.LABELS[0], field.getName());
- assertEquals("getFieldName:TIMESTAMP", "Jan 1 01:01:01", field.getValue());
-
- field = fEventContent1.getField(SyslogEventType.LABELS[1]);
- assertEquals("getFieldName:HOST", SyslogEventType.LABELS[1], field.getName());
- assertEquals("getFieldName:HOST", "HostA", field.getValue());
-
- field = fEventContent1.getField(SyslogEventType.LABELS[2]);
- assertEquals("getFieldName:LOGGER", SyslogEventType.LABELS[2], field.getName());
- assertEquals("getFieldName:LOGGER", "LoggerA", field.getValue());
-
- field = fEventContent1.getField(SyslogEventType.LABELS[3]);
- assertEquals("getFieldName:Message", SyslogEventType.LABELS[3], field.getName());
- assertEquals("getgetFieldName:Message", "MessageA", field.getValue());
-
- field = fEventContent1.getField("BlaBla");
- assertNull(field);
- }
-
- @Test
- public void testGetFormattedValue() {
- assertEquals("CONTENT", fEventContent1.getFormattedValue());
- }
-
- @Test
- public void testToString() {
- assertEquals("Timestamp=Jan 1 01:01:01, Host=HostA, Logger=LoggerA, Message=MessageA", fEventContent1.toString());
- }
-
- @Test
- public void testGetSubField() {
- String[] names = { "Timestamp"};
-
- ITmfEventField field = fEventContent1.getSubField(names);
- assertEquals("getSubField:TIMESTAMP", SyslogEventType.LABELS[0], field.getName());
- assertEquals("getSubField:TIMESTAMP", "Jan 1 01:01:01", field.getValue());
-
- String[] names2 = { "Timestamp", "subField" };
- field = fEventContent1.getSubField(names2);
- assertNull(field);
- }
-
- @Test
- public void testGetFieldNames() {
- String[] labels = {"Timestamp", "Host", "Logger", "Message"};
- List<String> names = fEventContent1.getFieldNames();
- assertArrayEquals(labels, names.toArray(new String[names.size()]));
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/trace/text/TextTraceTest.java b/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/trace/text/TextTraceTest.java
deleted file mode 100644
index a8df8d27a8..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/trace/text/TextTraceTest.java
+++ /dev/null
@@ -1,259 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 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:
- * Bernd Hufmann - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.core.tests.trace.text;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertTrue;
-
-import java.io.File;
-import java.io.IOException;
-import java.net.URI;
-import java.net.URISyntaxException;
-import java.net.URL;
-import java.util.Locale;
-
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.FileLocator;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.core.runtime.preferences.IEclipsePreferences;
-import org.eclipse.core.runtime.preferences.InstanceScope;
-import org.eclipse.linuxtools.internal.tmf.core.Activator;
-import org.eclipse.linuxtools.tmf.core.request.ITmfEventRequest;
-import org.eclipse.linuxtools.tmf.core.request.ITmfEventRequest.ExecutionType;
-import org.eclipse.linuxtools.tmf.core.request.TmfEventRequest;
-import org.eclipse.linuxtools.tmf.core.tests.TmfCoreTestPlugin;
-import org.eclipse.linuxtools.tmf.core.timestamp.ITmfTimePreferencesConstants;
-import org.eclipse.linuxtools.tmf.core.timestamp.ITmfTimestamp;
-import org.eclipse.linuxtools.tmf.core.timestamp.TmfTimeRange;
-import org.eclipse.linuxtools.tmf.core.timestamp.TmfTimestamp;
-import org.eclipse.linuxtools.tmf.core.timestamp.TmfTimestampFormat;
-import org.eclipse.linuxtools.tmf.core.trace.ITmfContext;
-import org.eclipse.linuxtools.tmf.core.trace.TraceValidationStatus;
-import org.eclipse.linuxtools.tmf.core.trace.text.TextTraceEventContent;
-import org.eclipse.linuxtools.tmf.tests.stubs.trace.text.SyslogEvent;
-import org.eclipse.linuxtools.tmf.tests.stubs.trace.text.SyslogEventType.Index;
-import org.eclipse.linuxtools.tmf.tests.stubs.trace.text.SyslogTrace;
-import org.junit.AfterClass;
-import org.junit.BeforeClass;
-import org.junit.Test;
-
-@SuppressWarnings({ "nls", "javadoc"})
-public class TextTraceTest {
-
- // ------------------------------------------------------------------------
- // Variables
- // ------------------------------------------------------------------------
-
- private static final String NAME = "syslog";
- private static final String PATH = "testfiles/" + NAME;
-
- private static final String OTHER_PATH = "testfiles/" + "A-Test-10K";
-
- private static SyslogTrace fTrace = null;
- private static File fTestFile = null;
-
- // ------------------------------------------------------------------------
- // Housekeeping
- // ------------------------------------------------------------------------
-
- @BeforeClass
- public static void setUp() throws Exception {
- IEclipsePreferences defaultPreferences = InstanceScope.INSTANCE.getNode(Activator.PLUGIN_ID);
- defaultPreferences.put(ITmfTimePreferencesConstants.DATIME, "MMM d HH:mm:ss");
- defaultPreferences.put(ITmfTimePreferencesConstants.SUBSEC, ITmfTimePreferencesConstants.SUBSEC_NO_FMT);
- defaultPreferences.put(ITmfTimePreferencesConstants.LOCALE, Locale.CANADA.toLanguageTag());
- TmfTimestampFormat.updateDefaultFormats();
-
- if (fTrace == null) {
- try {
- URL location = FileLocator.find(TmfCoreTestPlugin.getDefault().getBundle(), new Path(PATH), null);
- URI uri = FileLocator.toFileURL(location).toURI();
- fTestFile = new File(uri);
-
- fTrace = new SyslogTrace();
- IResource resource = ResourcesPlugin.getWorkspace().getRoot().getFile(new Path(PATH));
- fTrace.initTrace(resource, uri.getPath(), SyslogEvent.class);
- // Dummy request to force the trace indexing
- TmfEventRequest request = new TmfEventRequest(
- SyslogEvent.class,
- TmfTimeRange.ETERNITY,
- 0,
- ITmfEventRequest.ALL_DATA,
- ExecutionType.FOREGROUND) {
- };
- fTrace.sendRequest(request);
- request.waitForCompletion();
- } catch (URISyntaxException e) {
- e.printStackTrace();
- } catch (IOException e) {
- e.printStackTrace();
- }
- }
- }
-
- @AfterClass
- public static void tearDown() {
- fTrace.dispose();
- fTrace = null;
- IEclipsePreferences defaultPreferences = InstanceScope.INSTANCE.getNode(Activator.PLUGIN_ID);
- defaultPreferences.put(ITmfTimePreferencesConstants.DATIME, ITmfTimePreferencesConstants.TIME_HOUR_FMT);
- defaultPreferences.put(ITmfTimePreferencesConstants.SUBSEC, ITmfTimePreferencesConstants.SUBSEC_NANO_FMT);
- defaultPreferences.put(ITmfTimePreferencesConstants.LOCALE, Locale.getDefault().toLanguageTag());
- TmfTimestampFormat.updateDefaultFormats();
- }
-
- // ------------------------------------------------------------------------
- // Constructors
- // ------------------------------------------------------------------------
- @Test
- public void testEmptyConstructor() {
- SyslogTrace trace = new SyslogTrace();
- assertEquals("getType", null, trace.getType());
- assertEquals("getPath", null, trace.getPath());
- assertEquals("getName", "", trace.getName());
- assertEquals("getCacheSize", 100, trace.getCacheSize());
-
- TmfTimestamp initRange = new TmfTimestamp(60, ITmfTimestamp.SECOND_SCALE);
- assertEquals("getInitialRangeOffset", initRange, trace.getInitialRangeOffset());
- }
-
- @Test
- public void testValidation() throws URISyntaxException, IOException {
- SyslogTrace trace = new SyslogTrace();
- String validTracePath = fTestFile.getAbsolutePath();
- IStatus status = trace.validate(null, validTracePath);
- assertTrue(status.isOK());
- assertTrue(status instanceof TraceValidationStatus);
- assertEquals(180, ((TraceValidationStatus) status).getConfidence());
-
- URL location = FileLocator.find(TmfCoreTestPlugin.getDefault().getBundle(), new Path(OTHER_PATH), null);
- URI uri = FileLocator.toFileURL(location).toURI();
- File otherFile = new File(uri);
-
- String validNoConfidenceTrace = otherFile.getAbsolutePath();
- status = trace.validate(null, validNoConfidenceTrace);
- assertTrue(status instanceof TraceValidationStatus);
- assertEquals(0, ((TraceValidationStatus) status).getConfidence());
- assertTrue(status.isOK());
-
- String invalidTrace = fTestFile.getParentFile().getAbsolutePath();
- status = trace.validate(null, invalidTrace);
- assertFalse(status.isOK());
- }
-
- @Test
- public void testInitTrace() throws Exception {
- URL location = FileLocator.find(TmfCoreTestPlugin.getDefault().getBundle(), new Path(PATH), null);
- String path = FileLocator.toFileURL(location).toURI().getPath();
- SyslogTrace trace = new SyslogTrace();
- IResource resource = ResourcesPlugin.getWorkspace().getRoot().getFile(new Path(PATH));
- trace.initTrace(resource, path, SyslogEvent.class);
- assertEquals("getType", SyslogEvent.class, trace.getType());
- assertEquals("getPath", fTestFile.toURI().getPath(), trace.getPath());
- assertEquals("getName", NAME, trace.getName());
- assertEquals("getCacheSize", 100, trace.getCacheSize());
- }
-
- // ------------------------------------------------------------------------
- // Indexing
- // ------------------------------------------------------------------------
-
- @Test
- public void testTraceIndexing() {
- assertEquals("getNbEvents", 6, fTrace.getNbEvents());
-
- TmfTimestamp initRange = new TmfTimestamp(60, ITmfTimestamp.SECOND_SCALE);
- assertEquals("getInitialRangeOffset", initRange, fTrace.getInitialRangeOffset());
- }
-
- // ------------------------------------------------------------------------
- // Parsing
- // ------------------------------------------------------------------------
-
- @Test
- public void testTraceParsing() {
- ITmfContext context = fTrace.seekEvent(0);
- SyslogEvent event = fTrace.getNext(context);
- TextTraceEventContent content = event.getContent();
- assertEquals("getTimestamp", "Jan 1 01:01:01", event.getTimestamp().toString());
- assertEquals("getField:TIMESTAMP", "Jan 1 01:01:01", content.getFieldValue(Index.TIMESTAMP));
- assertEquals("getField:HOST", "HostA", content.getFieldValue(Index.HOST));
- assertEquals("getField:LOGGER", "LoggerA", content.getFieldValue(Index.LOGGER));
- assertEquals("getField:MESSAGE", "Message A", content.getFieldValue(Index.MESSAGE).toString());
- event = fTrace.getNext(context);
- content = event.getContent();
- assertEquals("getTimestamp", "Jan 1 02:02:02", event.getTimestamp().toString());
- assertEquals("getField:TIMESTAMP", "Jan 1 02:02:02", content.getFieldValue(Index.TIMESTAMP));
- assertEquals("getField:HOST", "HostB", content.getFieldValue(Index.HOST));
- assertEquals("getField:LOGGER", "LoggerB", content.getFieldValue(Index.LOGGER));
- assertEquals("getField:MESSAGE", "Message B", content.getFieldValue(Index.MESSAGE).toString());
- event = fTrace.getNext(context);
- content = event.getContent();
- assertEquals("getTimestamp", "Jan 1 03:03:03", event.getTimestamp().toString());
- assertEquals("getField:TIMESTAMP", "Jan 1 03:03:03", content.getFieldValue(Index.TIMESTAMP));
- assertEquals("getField:HOST", "HostC", content.getFieldValue(Index.HOST));
- assertEquals("getField:LOGGER", "LoggerC", content.getFieldValue(Index.LOGGER));
- assertEquals("getField:MESSAGE", "Message C", content.getFieldValue(Index.MESSAGE).toString());
- event = fTrace.getNext(context);
- content = event.getContent();
- assertEquals("getTimestamp", "Jan 1 04:04:04", event.getTimestamp().toString());
- assertEquals("getField:TIMESTAMP", "Jan 1 04:04:04", content.getFieldValue(Index.TIMESTAMP));
- assertEquals("getField:HOST", "HostD", content.getFieldValue(Index.HOST));
- assertEquals("getField:LOGGER", "LoggerD", content.getFieldValue(Index.LOGGER));
- assertEquals("getField:MESSAGE", "Message D", content.getFieldValue(Index.MESSAGE).toString());
- event = fTrace.getNext(context);
- content = event.getContent();
- assertEquals("getTimestamp", "Jan 1 05:05:05", event.getTimestamp().toString());
- assertEquals("getField:TIMESTAMP", "Jan 1 05:05:05", content.getFieldValue(Index.TIMESTAMP));
- assertEquals("getField:HOST", "HostE", content.getFieldValue(Index.HOST));
- assertEquals("getField:LOGGER", "LoggerE", content.getFieldValue(Index.LOGGER));
- assertEquals("getField:MESSAGE", "", content.getFieldValue(Index.MESSAGE).toString());
- event = fTrace.getNext(context);
- content = event.getContent();
- assertEquals("getTimestamp", "Jan 1 06:06:06", event.getTimestamp().toString());
- assertEquals("getField:TIMESTAMP", "Jan 1 06:06:06", content.getFieldValue(Index.TIMESTAMP));
- assertEquals("getField:HOST", "HostF", content.getFieldValue(Index.HOST));
- assertEquals("getField:LOGGER", "LoggerF", content.getFieldValue(Index.LOGGER));
- assertEquals("getField:MESSAGE", "Message F", content.getFieldValue(Index.MESSAGE).toString());
- event = fTrace.getNext(context);
- assertEquals("event", null, event);
- context.dispose();
- }
-
- @Test
- public void testLocationRatio() {
- ITmfContext context = fTrace.seekEvent(3);
- double ratio = fTrace.getLocationRatio(context.getLocation());
- SyslogEvent event = fTrace.getNext(context);
- TextTraceEventContent content = event.getContent();
- Object logger = content.getFieldValue(Index.LOGGER);
- context.dispose();
- context = fTrace.seekEvent(ratio);
- event = fTrace.getNext(context);
- content = event.getContent();
- assertEquals("getField:LOGGER", logger.toString(), content.getFieldValue(Index.LOGGER).toString());
- context.dispose();
- context = fTrace.seekEvent(0.0);
- event = fTrace.getNext(context);
- content = event.getContent();
- assertEquals("getField:LOGGER", "LoggerA", content.getFieldValue(Index.LOGGER));
- context.dispose();
- context = fTrace.seekEvent(1.0);
- event = fTrace.getNext(context);
- assertEquals("event", null, event);
- context.dispose();
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/uml2sd/AllTests.java b/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/uml2sd/AllTests.java
deleted file mode 100644
index 0fb01f8e78..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/uml2sd/AllTests.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 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:
- * Alexandre Montplaisir - Port to JUnit4
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.core.tests.uml2sd;
-
-import org.junit.runner.RunWith;
-import org.junit.runners.Suite;
-
-/**
- * Unit tests for tmf.core.uml2sd
- */
-@RunWith(Suite.class)
-@Suite.SuiteClasses({
- TmfAsyncSequenceDiagramEventTest.class,
- TmfSyncSequenceDiagramEventTest.class
-})
-public class AllTests {
-
-} \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/uml2sd/TmfAsyncSequenceDiagramEventTest.java b/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/uml2sd/TmfAsyncSequenceDiagramEventTest.java
deleted file mode 100644
index 8c0d54c6d7..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/uml2sd/TmfAsyncSequenceDiagramEventTest.java
+++ /dev/null
@@ -1,125 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011, 2013 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:
- * Bernd Hufmann - Initial API and implementation
- * Alexandre Montplaisir - Port to JUnit4
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.core.tests.uml2sd;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertTrue;
-import static org.junit.Assert.fail;
-
-import org.eclipse.linuxtools.tmf.core.event.ITmfEvent;
-import org.eclipse.linuxtools.tmf.core.event.ITmfEventField;
-import org.eclipse.linuxtools.tmf.core.event.ITmfEventType;
-import org.eclipse.linuxtools.tmf.core.event.TmfEvent;
-import org.eclipse.linuxtools.tmf.core.event.TmfEventField;
-import org.eclipse.linuxtools.tmf.core.event.TmfEventType;
-import org.eclipse.linuxtools.tmf.core.timestamp.TmfTimestamp;
-import org.eclipse.linuxtools.tmf.core.uml2sd.TmfAsyncSequenceDiagramEvent;
-
-import org.junit.Test;
-
-/**
- * TmfAsyncSequenceDiagramEventTest
- */
-public class TmfAsyncSequenceDiagramEventTest {
-
- private final String fContext = ITmfEventType.DEFAULT_CONTEXT_ID;
- private final String fTypeId = "Some type";
- private final String fLabel0 = "label1";
- private final String fLabel1 = "label2";
- private final String[] fLabels = new String[] { fLabel0, fLabel1 };
-
- private final TmfTimestamp fTimestamp1 = new TmfTimestamp(12345, (byte) 2, 5);
- private final TmfTimestamp fTimestamp2 = new TmfTimestamp(12350, (byte) 2, 5);
- private final String fSource = "Source";
- private final TmfEventType fType = new TmfEventType(fContext, fTypeId, TmfEventField.makeRoot(fLabels));
- private final String fReference = "Some reference";
-
- private final ITmfEvent fEvent1;
- private final ITmfEvent fEvent2;
- private final TmfEventField fContent1;
- private final TmfEventField fContent2;
-
- /**
- * Constructor for the test case
- */
- public TmfAsyncSequenceDiagramEventTest() {
- fContent1 = new TmfEventField(ITmfEventField.ROOT_FIELD_ID, "Some content", null);
- fEvent1 = new TmfEvent(null, fTimestamp1, fSource, fType, fContent1, fReference);
-
- fContent2 = new TmfEventField(ITmfEventField.ROOT_FIELD_ID, "Some other content", null);
- fEvent2 = new TmfEvent(null, fTimestamp2, fSource, fType, fContent2, fReference);
- }
-
- /**
- * Main test
- */
- @Test
- public void testTmfAsyncSequenceDiagramEvent() {
- TmfAsyncSequenceDiagramEvent event = null;
-
- // Check for illegal arguments (i.e. null for the parameters)
- try {
- event = new TmfAsyncSequenceDiagramEvent(null, null, null, null, null);
- fail();
- } catch (IllegalArgumentException e) {
- // success
- assertTrue("TmfAsyncSequenceDiagramEvent", e.getMessage().contains("startEvent=null"));
- }
-
- try {
- event = new TmfAsyncSequenceDiagramEvent(fEvent1, fEvent2, null, null, null);
- fail();
- } catch (IllegalArgumentException e) {
- // success
- assertTrue("TmfAsyncSequenceDiagramEvent", e.getMessage().contains("sender=null"));
- }
-
- try {
- event = new TmfAsyncSequenceDiagramEvent(fEvent1, fEvent2, null, null, null);
- fail();
- } catch (IllegalArgumentException e) {
- // success
- assertTrue("TmfAsyncSequenceDiagramEvent", e.getMessage().contains("receiver=null"));
- }
-
- try {
- event = new TmfAsyncSequenceDiagramEvent(fEvent1, fEvent2, "sender", null, null);
- fail();
- } catch (IllegalArgumentException e) {
- // success
- assertTrue("TmfAsyncSequenceDiagramEvent", e.getMessage().contains("name=null"));
- }
-
- try {
- event = new TmfAsyncSequenceDiagramEvent(fEvent1, null, "sender", "receiver", "signal");
- fail();
- } catch (IllegalArgumentException e) {
- // success
- assertTrue("TmfAsyncSequenceDiagramEvent", e.getMessage().contains("endEvent=null"));
- }
-
- try {
- event = new TmfAsyncSequenceDiagramEvent(fEvent1, fEvent2, "sender", "receiver", "signal");
- // success
- assertEquals("testTmfAsyncSequenceDiagramEvent", 0, event.getStartTime().compareTo(fTimestamp1, true));
- assertEquals("testTmfAsyncSequenceDiagramEvent", 0, event.getEndTime().compareTo(fTimestamp2, true));
- assertEquals("testTmfAsyncSequenceDiagramEvent", "sender", event.getSender());
- assertEquals("testTmfAsyncSequenceDiagramEvent", "receiver", event.getReceiver());
- assertEquals("testTmfAsyncSequenceDiagramEvent", "signal", event.getName());
-
- } catch (IllegalArgumentException e) {
- fail();
- }
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/uml2sd/TmfSyncSequenceDiagramEventTest.java b/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/uml2sd/TmfSyncSequenceDiagramEventTest.java
deleted file mode 100644
index b8a6b157d4..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/uml2sd/TmfSyncSequenceDiagramEventTest.java
+++ /dev/null
@@ -1,108 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011, 2013 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:
- * Bernd Hufmann - Initial API and implementation
- * Alexandre Montplaisir - Port to JUnit4
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.core.tests.uml2sd;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertTrue;
-import static org.junit.Assert.fail;
-
-import org.eclipse.linuxtools.tmf.core.event.ITmfEvent;
-import org.eclipse.linuxtools.tmf.core.event.ITmfEventField;
-import org.eclipse.linuxtools.tmf.core.event.ITmfEventType;
-import org.eclipse.linuxtools.tmf.core.event.TmfEvent;
-import org.eclipse.linuxtools.tmf.core.event.TmfEventField;
-import org.eclipse.linuxtools.tmf.core.event.TmfEventType;
-import org.eclipse.linuxtools.tmf.core.timestamp.TmfTimestamp;
-import org.eclipse.linuxtools.tmf.core.uml2sd.TmfSyncSequenceDiagramEvent;
-
-import org.junit.Test;
-
-/**
- * TmfSyncSequenceDiagramEventTest
- */
-public class TmfSyncSequenceDiagramEventTest {
-
- private final String fContext = ITmfEventType.DEFAULT_CONTEXT_ID;
- private final String fTypeId = "Some type";
- private final String fLabel0 = "label1";
- private final String fLabel1 = "label2";
- private final String[] fLabels = new String[] { fLabel0, fLabel1 };
-
- private final TmfTimestamp fTimestamp1 = new TmfTimestamp(12345, (byte) 2, 5);
- private final String fSource = "Source";
- private final TmfEventType fType = new TmfEventType(fContext, fTypeId, TmfEventField.makeRoot(fLabels));
- private final String fReference = "Some reference";
-
- private final ITmfEvent fEvent1;
- private final TmfEventField fContent1;
-
- /**
- * Constructor for the test case
- */
- public TmfSyncSequenceDiagramEventTest() {
- fContent1 = new TmfEventField(ITmfEventField.ROOT_FIELD_ID, "Some content", null);
- fEvent1 = new TmfEvent(null, fTimestamp1, fSource, fType, fContent1, fReference);
- }
-
- /**
- * Main test
- */
- @Test
- public void testTmfSyncSequenceDiagramEvent() {
- TmfSyncSequenceDiagramEvent event = null;
- try {
- event = new TmfSyncSequenceDiagramEvent(null, null, null, null);
- fail();
- } catch (IllegalArgumentException e) {
- // success
- assertTrue("testTmfSyncSequenceDiagramEvent", e.getMessage().contains("startEvent=null"));
- }
-
- try {
- event = new TmfSyncSequenceDiagramEvent(fEvent1, null, null, null);
- fail();
- } catch (IllegalArgumentException e) {
- // success
- assertTrue("testTmfSyncSequenceDiagramEvent", e.getMessage().contains("sender=null"));
- }
-
- try {
- event = new TmfSyncSequenceDiagramEvent(fEvent1, "sender", null, null);
- fail();
- } catch (IllegalArgumentException e) {
- // success
- assertTrue("testTmfSyncSequenceDiagramEvent", e.getMessage().contains("receiver=null"));
- }
-
- try {
- event = new TmfSyncSequenceDiagramEvent(fEvent1, "sender", "receiver", null);
- fail();
- } catch (IllegalArgumentException e) {
- // success
- assertTrue("testTmfSyncSequenceDiagramEvent", e.getMessage().contains("name=null"));
- }
-
- try {
- event = new TmfSyncSequenceDiagramEvent(fEvent1, "sender", "receiver", "signal");
- // success
- assertEquals("testTmfSyncSequenceDiagramEvent", 0, event.getStartTime().compareTo(fTimestamp1, true));
- assertEquals("testTmfSyncSequenceDiagramEvent", "sender", event.getSender());
- assertEquals("testTmfSyncSequenceDiagramEvent", "receiver", event.getReceiver());
- assertEquals("testTmfSyncSequenceDiagramEvent", "signal", event.getName());
-
- } catch (IllegalArgumentException e) {
- fail();
- }
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/util/AllTests.java b/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/util/AllTests.java
deleted file mode 100644
index 172d2b44a1..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/util/AllTests.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 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:
- * Alexandre Montplaisir - Port to JUnit4
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.core.tests.util;
-
-import org.junit.runner.RunWith;
-import org.junit.runners.Suite;
-
-/**
- * Unit tests for tmf.core.util
- */
-@RunWith(Suite.class)
-@Suite.SuiteClasses({
- PairTest.class
-})
-public class AllTests {
-
-} \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/util/PairTest.java b/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/util/PairTest.java
deleted file mode 100644
index 9230525f63..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/util/PairTest.java
+++ /dev/null
@@ -1,127 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011, 2013 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:
- * Bernd Hufmann - Initial design and implementation
- * Alexandre Montplaisir - Port to JUnit4
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.core.tests.util;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertTrue;
-
-import org.eclipse.linuxtools.tmf.core.util.Pair;
-import org.junit.Test;
-
-/**
- * Test case for Pair class.
- *
- * @author Bernd Hufmann
- */
-@SuppressWarnings("javadoc")
-public class PairTest {
-
- // ------------------------------------------------------------------------
- // Field(s)
- // ------------------------------------------------------------------------
-
- Pair<String, Long> fPair1 = new Pair<>("String 1", 1L);
- Pair<String, Long> fPair2 = new Pair<>("String 2", 2L);
-
- // ------------------------------------------------------------------------
- // to String
- // ------------------------------------------------------------------------
-
- @Test
- public void testToString() {
- String result = fPair1.toString();
- assertEquals("(String 1, 1)", result);
- }
-
- // ------------------------------------------------------------------------
- // Setters/Getters
- // ------------------------------------------------------------------------
-
- @Test
- public void testAccessors() {
- Pair<String, Long> myPair = new Pair<>("String 1", 1L);
- assertEquals("String 1", myPair.getFirst());
- assertEquals(Long.valueOf(1L), myPair.getSecond());
-
- myPair.setFirst("Hello");
- assertEquals("Hello", myPair.getFirst());
-
- myPair.setSecond(123L);
- assertEquals(Long.valueOf(123L), myPair.getSecond());
- }
-
- // ------------------------------------------------------------------------
- // equals
- // ------------------------------------------------------------------------
-
- @Test
- public void testEqualsReflexivity() {
- assertTrue("equals", fPair1.equals(fPair1));
- assertTrue("equals", fPair2.equals(fPair2));
-
- assertTrue("equals", !fPair1.equals(fPair2));
- assertTrue("equals", !fPair2.equals(fPair1));
- }
-
- @Test
- public void testEqualsSymmetry() {
- Pair<String, Long> info1 = new Pair<>(fPair1.getFirst(), fPair1.getSecond().longValue());
- Pair<String, Long> info2 = new Pair<>(fPair2.getFirst(), fPair2.getSecond().longValue());
-
- assertTrue("equals", info1.equals(fPair1));
- assertTrue("equals", fPair1.equals(info1));
-
- assertTrue("equals", info2.equals(fPair2));
- assertTrue("equals", fPair2.equals(info2));
- }
-
- @Test
- public void testEqualsTransivity() {
- Pair<String, Long> info1 = new Pair<>(fPair1.getFirst(), fPair1.getSecond().longValue());
- Pair<String, Long> info2 = new Pair<>(fPair1.getFirst(), fPair1.getSecond().longValue());
- Pair<String, Long> info3 = new Pair<>(fPair1.getFirst(), fPair1.getSecond().longValue());
-
- assertTrue("equals", info1.equals(info2));
- assertTrue("equals", info2.equals(info3));
- assertTrue("equals", info1.equals(info3));
- }
-
- @Test
- public void testEqualsNull() {
- assertTrue("equals", !fPair1.equals(null));
- assertTrue("equals", !fPair2.equals(null));
- }
-
- @Test
- public void testEqualsDifferentObj() {
- Pair<Long, String> info = new Pair<>(1L, "String1");
- assertTrue("equals", !fPair1.equals(info));
- }
-
- // ------------------------------------------------------------------------
- // hashCode
- // ------------------------------------------------------------------------
-
- @Test
- public void testHashCode() {
- Pair<String, Long> info1 = new Pair<>(fPair1.getFirst(), fPair1.getSecond().longValue());
- Pair<String, Long> info2 = new Pair<>(fPair2.getFirst(), fPair2.getSecond().longValue());
-
- assertTrue("hashCode", fPair1.hashCode() == info1.hashCode());
- assertTrue("hashCode", fPair2.hashCode() == info2.hashCode());
-
- assertTrue("hashCode", fPair1.hashCode() != info2.hashCode());
- assertTrue("hashCode", fPair2.hashCode() != info1.hashCode());
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core.tests/stubs/org/eclipse/linuxtools/tmf/tests/stubs/CreateTestFiles.java b/lttng/org.eclipse.linuxtools.tmf.core.tests/stubs/org/eclipse/linuxtools/tmf/tests/stubs/CreateTestFiles.java
deleted file mode 100644
index 4ce1eb5db0..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core.tests/stubs/org/eclipse/linuxtools/tmf/tests/stubs/CreateTestFiles.java
+++ /dev/null
@@ -1,113 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009, 2013 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;
-
-import java.io.BufferedOutputStream;
-import java.io.DataOutputStream;
-import java.io.File;
-import java.io.FileNotFoundException;
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.util.Random;
-
-/**
- * <b><u>CreateTestFiles</u></b>
- * <p>
- * Create a number of event test files of various lengths.
- * <p>
- * Events have the following format:
- * <ul>
- * <li> [timestamp] [source] [type] [ref] [field]*
- * <li> There are NB_SOURCES sources and NB_TYPES types.
- * <li> The number of fields (0 .. NB_TYPES-1) depends on the event type.
- * </ul>
- */
-public class CreateTestFiles {
-
- // ========================================================================
- // Constants
- // ========================================================================
-
- private static final String DIRECTORY = "testfiles";
- // private static final String FILE_NAMES[] = { "Test-10", "Test-1K", "Test-10K", "Test-100K" };
- // private static final int FILE_SIZES[] = { 10 , 1000 , 10000 , 100000 };
- private static final String FILE_NAMES[] = { "Test-10K" };
- private static final int FILE_SIZES[] = { 10000 };
-
- private static final int NB_SOURCES = 15;
- private static final int NB_TYPES = 7;
-
- // ========================================================================
- // Constructors
- // ========================================================================
-
- /**
- * @param args unused
- */
- public static void main(final String[] args) {
-
- try {
- System.out.println("Creating test files in directory: " + new File(".").getCanonicalPath() + File.separator + DIRECTORY);
- } catch (final IOException e) {
- e.printStackTrace();
- }
-
- for (int i = 0; i < FILE_SIZES.length; i++) {
- try {
- createTestFile("testfiles" + File.separator + "O-" + FILE_NAMES[i], FILE_SIZES[i], true, true);
- createTestFile("testfiles" + File.separator + "E-" + FILE_NAMES[i], FILE_SIZES[i], true, false);
- createTestFile("testfiles" + File.separator + "R-" + FILE_NAMES[i], FILE_SIZES[i], false, false);
- } catch (final FileNotFoundException e) {
- } catch (final IOException e) {
- }
- }
-
- System.out.println("Done.");
- }
-
- // ========================================================================
- // Operators
- // ========================================================================
-
- /**
- * @param file
- * @param size
- * @param monotonic
- * @throws FileNotFoundException
- * @throws IOException
- */
- private static void createTestFile(final String file, final int size,
- final boolean monotonic, final boolean odd)
- throws IOException {
- System.out.println("Creating " + file);
- try (DataOutputStream out = new DataOutputStream(new BufferedOutputStream(new FileOutputStream(file)));) {
-
- final Random generator = new Random(19580427 + size);
- long ts = (monotonic && odd) ? -1 : 0;
- for (int i = 0; i < size; i++) {
- ts += monotonic ? 2 : generator.nextInt(10);
- final int sourceIndex = i % NB_SOURCES;
- final int typeIndex = i % NB_TYPES;
- out.writeLong(ts); // Timestamp
- out.writeUTF("Source-" + sourceIndex); // Source
- out.writeUTF("Type-" + typeIndex); // Type
- out.writeInt(i + 1); // Reference (event #)
- for (int j = 0; j < typeIndex; j++) {
- out.writeUTF("Field-" + sourceIndex + "-" + j);
- }
- }
- out.flush();
- }
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core.tests/stubs/org/eclipse/linuxtools/tmf/tests/stubs/analysis/AnalysisModuleSourceStub.java b/lttng/org.eclipse.linuxtools.tmf.core.tests/stubs/org/eclipse/linuxtools/tmf/tests/stubs/analysis/AnalysisModuleSourceStub.java
deleted file mode 100644
index 4e3faa5c2d..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core.tests/stubs/org/eclipse/linuxtools/tmf/tests/stubs/analysis/AnalysisModuleSourceStub.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013, 2014 École Polytechnique de Montréal
- *
- * 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:
- * Geneviève Bastien - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.tests.stubs.analysis;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.linuxtools.tmf.core.analysis.IAnalysisModuleHelper;
-import org.eclipse.linuxtools.tmf.core.analysis.IAnalysisModuleSource;
-import org.eclipse.linuxtools.tmf.tests.stubs.analysis.AnalysisModuleTestHelper.moduleStubEnum;
-
-/**
- * Stub class for analysis module source
- *
- * @author Geneviève Bastien
- */
-public class AnalysisModuleSourceStub implements IAnalysisModuleSource {
-
- @Override
- public Iterable<IAnalysisModuleHelper> getAnalysisModules() {
- List<IAnalysisModuleHelper> list = new ArrayList<>();
- IAnalysisModuleHelper helper = new AnalysisModuleTestHelper(moduleStubEnum.TEST);
- list.add(helper);
- helper = new AnalysisModuleTestHelper(moduleStubEnum.TEST2);
- list.add(helper);
- return list;
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core.tests/stubs/org/eclipse/linuxtools/tmf/tests/stubs/analysis/AnalysisModuleTestHelper.java b/lttng/org.eclipse.linuxtools.tmf.core.tests/stubs/org/eclipse/linuxtools/tmf/tests/stubs/analysis/AnalysisModuleTestHelper.java
deleted file mode 100644
index b53246213c..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core.tests/stubs/org/eclipse/linuxtools/tmf/tests/stubs/analysis/AnalysisModuleTestHelper.java
+++ /dev/null
@@ -1,154 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013, 2014 École Polytechnique de Montréal
- *
- * 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:
- * Geneviève Bastien - Initial API and implementation
- * Guilliano Molaire - Implementation of requirements and valid trace types getters
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.tests.stubs.analysis;
-
-import java.util.Collections;
-
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.jdt.annotation.NonNull;
-import org.eclipse.linuxtools.tmf.core.analysis.IAnalysisModule;
-import org.eclipse.linuxtools.tmf.core.analysis.IAnalysisModuleHelper;
-import org.eclipse.linuxtools.tmf.core.analysis.TmfAnalysisRequirement;
-import org.eclipse.linuxtools.tmf.core.exceptions.TmfAnalysisException;
-import org.eclipse.linuxtools.tmf.core.trace.ITmfTrace;
-import org.eclipse.linuxtools.tmf.tests.stubs.trace.TmfTraceStub;
-import org.eclipse.linuxtools.tmf.tests.stubs.trace.TmfTraceStub2;
-import org.osgi.framework.Bundle;
-
-import com.google.common.collect.ImmutableList;
-
-/**
- * Analysis Module Helper for the stub analysis source
- *
- * @author Geneviève Bastien
- */
-public class AnalysisModuleTestHelper implements IAnalysisModuleHelper {
-
- /**
- * Enum to select an analysis module for this stub
- */
- public enum moduleStubEnum {
- /** Test analysis */
- TEST,
- /** Test analysis 2 */
- TEST2
- }
-
- private moduleStubEnum fModule;
-
- /**
- * Constructor
- *
- * @param module
- * The type identifying the module for this helper
- */
- public AnalysisModuleTestHelper(moduleStubEnum module) {
- fModule = module;
- }
-
- @Override
- public String getId() {
- return fModule.name();
- }
-
- @Override
- public String getName() {
- return fModule.name();
- }
-
- @Override
- public boolean isAutomatic() {
- return false;
- }
-
- @Override
- public String getHelpText() {
- return "";
- }
-
- @Override
- public String getHelpText(@NonNull ITmfTrace trace) {
- return "";
- }
-
- @Override
- public String getIcon() {
- return "";
- }
-
- @Override
- public Bundle getBundle() {
- return Platform.getBundle("org.eclipse.linuxtools.tmf.core.tests");
- }
-
- @Override
- public boolean appliesToTraceType(Class<? extends ITmfTrace> traceclass) {
- switch (fModule) {
- case TEST:
- return TmfTraceStub.class.isAssignableFrom(traceclass);
- case TEST2:
- return TmfTraceStub2.class.isAssignableFrom(traceclass);
- default:
- return false;
- }
- }
-
- @Override
- public IAnalysisModule newModule(ITmfTrace trace) throws TmfAnalysisException {
- IAnalysisModule module = null;
- switch (fModule) {
- case TEST:
- module = new TestAnalysis();
- module.setName(getName());
- module.setId(getId());
- module.setAutomatic(isAutomatic());
- module.setTrace(trace);
- break;
- case TEST2:
- module = new TestAnalysis2();
- module.setName(getName());
- module.setId(getId());
- module.setAutomatic(isAutomatic());
- module.setTrace(trace);
- break;
- default:
- break;
-
- }
- return module;
- }
-
- @Override
- public Iterable<Class<? extends ITmfTrace>> getValidTraceTypes() {
- return ImmutableList.<Class<? extends ITmfTrace>> of(
- TmfTraceStub.class,
- TmfTraceStub2.class);
- }
-
- @Override
- public Iterable<TmfAnalysisRequirement> getAnalysisRequirements() {
- switch (fModule) {
- case TEST:
- return ImmutableList.of(
- AnalysisRequirementFactory.REQUIREMENT_1,
- AnalysisRequirementFactory.REQUIREMENT_3);
- case TEST2:
- return ImmutableList.of(
- AnalysisRequirementFactory.REQUIREMENT_2,
- AnalysisRequirementFactory.REQUIREMENT_3);
- default:
- return Collections.EMPTY_SET;
- }
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core.tests/stubs/org/eclipse/linuxtools/tmf/tests/stubs/analysis/AnalysisRequirementFactory.java b/lttng/org.eclipse.linuxtools.tmf.core.tests/stubs/org/eclipse/linuxtools/tmf/tests/stubs/analysis/AnalysisRequirementFactory.java
deleted file mode 100644
index 21f5b98e12..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core.tests/stubs/org/eclipse/linuxtools/tmf/tests/stubs/analysis/AnalysisRequirementFactory.java
+++ /dev/null
@@ -1,72 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 École Polytechnique de Montréal
- *
- * 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:
- * Guilliano Molaire - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.tests.stubs.analysis;
-
-import java.util.Set;
-
-import org.eclipse.linuxtools.tmf.core.analysis.TmfAnalysisRequirement;
-import org.eclipse.linuxtools.tmf.core.analysis.TmfAnalysisRequirement.ValuePriorityLevel;
-
-import com.google.common.collect.ImmutableSet;
-
-/**
- * Factory class to facilitate requirement usage across test case
- */
-@SuppressWarnings("javadoc")
-public final class AnalysisRequirementFactory {
-
- private AnalysisRequirementFactory() {}
-
- public static final String REQUIREMENT_TYPE_1 = "car";
- public static final String REQUIREMENT_TYPE_2 = "factory";
- public static final String REQUIREMENT_TYPE_3 = "code";
-
- public static final String REQUIREMENT_VALUE_1 = "value1";
- public static final String REQUIREMENT_VALUE_2 = "value2";
- public static final String REQUIREMENT_VALUE_3 = "value3";
- public static final String REQUIREMENT_VALUE_4 = "value4";
- public static final String REQUIREMENT_VALUE_5 = "value5";
-
- public static final Set<String> REQUIREMENT_VALUES_1 = ImmutableSet.of(
- REQUIREMENT_VALUE_1,
- REQUIREMENT_VALUE_2,
- REQUIREMENT_VALUE_3,
- REQUIREMENT_VALUE_5
- );
-
- public static final Set<String> REQUIREMENT_VALUES_2 = ImmutableSet.of(
- REQUIREMENT_VALUE_2,
- REQUIREMENT_VALUE_3
- );
-
- public static final Set<String> REQUIREMENT_VALUES_3 = ImmutableSet.of(
- REQUIREMENT_VALUE_3,
- REQUIREMENT_VALUE_4,
- REQUIREMENT_VALUE_5
- );
-
- public static final TmfAnalysisRequirement REQUIREMENT_1 =
- new TmfAnalysisRequirement(REQUIREMENT_TYPE_1, REQUIREMENT_VALUES_1, ValuePriorityLevel.MANDATORY);
- public static final TmfAnalysisRequirement REQUIREMENT_2 =
- new TmfAnalysisRequirement(REQUIREMENT_TYPE_2);
- public static final TmfAnalysisRequirement REQUIREMENT_3 =
- new TmfAnalysisRequirement(REQUIREMENT_TYPE_3, REQUIREMENT_VALUES_3, ValuePriorityLevel.MANDATORY);
-
- static {
- REQUIREMENT_2.addValue(REQUIREMENT_VALUE_1, ValuePriorityLevel.MANDATORY);
- REQUIREMENT_2.addValue(REQUIREMENT_VALUE_2, ValuePriorityLevel.OPTIONAL);
- REQUIREMENT_2.addValue(REQUIREMENT_VALUE_3, ValuePriorityLevel.MANDATORY);
- REQUIREMENT_2.addValue(REQUIREMENT_VALUE_4, ValuePriorityLevel.OPTIONAL);
- REQUIREMENT_2.addValue(REQUIREMENT_VALUE_5, ValuePriorityLevel.MANDATORY);
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core.tests/stubs/org/eclipse/linuxtools/tmf/tests/stubs/analysis/TestAnalysis.java b/lttng/org.eclipse.linuxtools.tmf.core.tests/stubs/org/eclipse/linuxtools/tmf/tests/stubs/analysis/TestAnalysis.java
deleted file mode 100644
index bc00b59fde..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core.tests/stubs/org/eclipse/linuxtools/tmf/tests/stubs/analysis/TestAnalysis.java
+++ /dev/null
@@ -1,91 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013, 2014 École Polytechnique de Montréal
- *
- * 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:
- * Geneviève Bastien - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.tests.stubs.analysis;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.linuxtools.tmf.core.analysis.TmfAbstractAnalysisModule;
-import org.eclipse.linuxtools.tmf.core.trace.ITmfTrace;
-
-/**
- * Simple analysis type for test
- */
-public class TestAnalysis extends TmfAbstractAnalysisModule {
-
- private int output = 0;
-
- /**
- * Test parameter. If set, simulate cancellation
- */
- public static final String PARAM_TEST = "test";
-
- /**
- * Constructor
- */
- public TestAnalysis() {
- super();
- }
-
- @Override
- public boolean canExecute(ITmfTrace trace) {
- return true;
- }
-
- @Override
- protected boolean executeAnalysis(final IProgressMonitor monitor) {
- if (getParameter(PARAM_TEST) == null) {
- throw new RuntimeException("The parameter should be set");
- }
- /* If PARAM_TEST is set to 0, simulate cancellation */
- if ((Integer) getParameter(PARAM_TEST) == 0) {
- output = 0;
- return false;
- } else if ((Integer) getParameter(PARAM_TEST) == 999) {
- /* just stay in an infinite loop until cancellation */
- while (!monitor.isCanceled()) {
-
- }
- return !monitor.isCanceled();
- }
- output = (Integer) getParameter(PARAM_TEST);
- return true;
- }
-
- @Override
- protected void canceling() {
- output = -1;
- }
-
- @Override
- public Object getParameter(String name) {
- Object value = super.getParameter(name);
- if ((value != null) && name.equals(PARAM_TEST) && (value instanceof String)) {
- return Integer.decode((String) value);
- }
- return value;
- }
-
- @Override
- protected void parameterChanged(String name) {
- schedule();
- }
-
- /**
- * Get the analysis output value
- *
- * @return The analysis output
- */
- public int getAnalysisOutput() {
- return output;
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core.tests/stubs/org/eclipse/linuxtools/tmf/tests/stubs/analysis/TestAnalysis2.java b/lttng/org.eclipse.linuxtools.tmf.core.tests/stubs/org/eclipse/linuxtools/tmf/tests/stubs/analysis/TestAnalysis2.java
deleted file mode 100644
index 6fe7fd3e20..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core.tests/stubs/org/eclipse/linuxtools/tmf/tests/stubs/analysis/TestAnalysis2.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 École Polytechnique de Montréal
- *
- * 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:
- * Geneviève Bastien - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.tests.stubs.analysis;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.linuxtools.tmf.core.analysis.TmfAbstractAnalysisModule;
-import org.eclipse.linuxtools.tmf.core.trace.ITmfTrace;
-import org.eclipse.linuxtools.tmf.tests.stubs.trace.TmfTraceStub2;
-
-/**
- * Simple analysis type for test
- */
-public class TestAnalysis2 extends TmfAbstractAnalysisModule {
-
- @Override
- public boolean canExecute(ITmfTrace trace) {
- /* This just makes sure the trace is a trace stub 2 */
- return (TmfTraceStub2.class.isAssignableFrom(trace.getClass()));
- }
-
- @Override
- protected void canceling() {
-
- }
-
- @Override
- protected boolean executeAnalysis(final IProgressMonitor monitor) {
- return false;
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core.tests/stubs/org/eclipse/linuxtools/tmf/tests/stubs/analysis/TestAnalysisParameterProvider.java b/lttng/org.eclipse.linuxtools.tmf.core.tests/stubs/org/eclipse/linuxtools/tmf/tests/stubs/analysis/TestAnalysisParameterProvider.java
deleted file mode 100644
index b5614e8487..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core.tests/stubs/org/eclipse/linuxtools/tmf/tests/stubs/analysis/TestAnalysisParameterProvider.java
+++ /dev/null
@@ -1,59 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 École Polytechnique de Montréal
- *
- * 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:
- * Geneviève Bastien - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.tests.stubs.analysis;
-
-import org.eclipse.linuxtools.tmf.core.analysis.TmfAbstractAnalysisParamProvider;
-import org.eclipse.linuxtools.tmf.core.trace.ITmfTrace;
-import org.eclipse.linuxtools.tmf.tests.stubs.trace.TmfTraceStub;
-
-/**
- * Test parameter provider for the PARAM_TEST that would apply only to
- * CtfTmfTrace (though it is associated with an analysis that supports all trace
- * types)
- *
- * @author Geneviève Bastien
- */
-public class TestAnalysisParameterProvider extends TmfAbstractAnalysisParamProvider {
-
- private int fValue = 10;
-
- @Override
- public String getName() {
- return "test parameter provider";
- }
-
- @Override
- public Object getParameter(String name) {
- if (name.equals(TestAnalysis.PARAM_TEST)) {
- return fValue;
- }
- return null;
- }
-
- @Override
- public boolean appliesToTrace(ITmfTrace trace) {
- return (trace instanceof TmfTraceStub);
- }
-
- /**
- * Sets a new value for the parameter
- *
- * @param value
- * new parameter value
- */
- public void setValue(int value) {
- fValue = value;
- notifyParameterChanged(TestAnalysis.PARAM_TEST);
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core.tests/stubs/org/eclipse/linuxtools/tmf/tests/stubs/analysis/TestExperimentAnalysis.java b/lttng/org.eclipse.linuxtools.tmf.core.tests/stubs/org/eclipse/linuxtools/tmf/tests/stubs/analysis/TestExperimentAnalysis.java
deleted file mode 100644
index dad0024376..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core.tests/stubs/org/eclipse/linuxtools/tmf/tests/stubs/analysis/TestExperimentAnalysis.java
+++ /dev/null
@@ -1,93 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 École Polytechnique de Montréal
- *
- * 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:
- * Geneviève Bastien - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.tests.stubs.analysis;
-
-import java.util.HashSet;
-import java.util.Set;
-
-import org.eclipse.linuxtools.statesystem.core.exceptions.AttributeNotFoundException;
-import org.eclipse.linuxtools.statesystem.core.exceptions.StateValueTypeException;
-import org.eclipse.linuxtools.statesystem.core.exceptions.TimeRangeException;
-import org.eclipse.linuxtools.statesystem.core.statevalue.TmfStateValue;
-import org.eclipse.linuxtools.tmf.core.event.ITmfEvent;
-import org.eclipse.linuxtools.tmf.core.event.TmfEvent;
-import org.eclipse.linuxtools.tmf.core.statesystem.AbstractTmfStateProvider;
-import org.eclipse.linuxtools.tmf.core.statesystem.ITmfStateProvider;
-import org.eclipse.linuxtools.tmf.core.statesystem.TmfStateSystemAnalysisModule;
-import org.eclipse.linuxtools.tmf.core.trace.ITmfTrace;
-
-/**
- * Stubs for experiment analysis. This analysis is a state system analysis that
- * simply counts the number of traces for which events were received. The number
- * of traces is the value of attribute
- * {@link TestExperimentAnalysis#TRACE_QUARK_NAME}.
- *
- * @author Geneviève Bastien
- */
-public class TestExperimentAnalysis extends TmfStateSystemAnalysisModule {
-
- /**
- * The quark counting the number of traces
- */
- public static final String TRACE_QUARK_NAME = "Traces";
-
- @Override
- protected ITmfStateProvider createStateProvider() {
- return new TestExpStateSystemProvider(getTrace());
- }
-
- @Override
- protected StateSystemBackendType getBackendType() {
- return StateSystemBackendType.INMEM;
- }
-
- private class TestExpStateSystemProvider extends AbstractTmfStateProvider {
-
- private static final int VERSION = 1;
- private final Set<ITmfTrace> fTraces = new HashSet<>();
- private int fCount = 0;
-
- /**
- * Constructor
- *
- * @param trace
- * The LTTng 2.0 kernel trace directory
- */
- public TestExpStateSystemProvider(ITmfTrace trace) {
- super(trace, TmfEvent.class, "Stub State System for Experiment");
- }
-
- @Override
- public int getVersion() {
- return VERSION;
- }
-
- @Override
- public ITmfStateProvider getNewInstance() {
- return new TestExpStateSystemProvider(this.getTrace());
- }
-
- @Override
- protected void eventHandle(ITmfEvent event) {
- if (!fTraces.contains(event.getTrace())) {
- try {
- int quarkId = ss.getQuarkAbsoluteAndAdd(TRACE_QUARK_NAME);
- ss.modifyAttribute(event.getTimestamp().getValue(), TmfStateValue.newValueInt(++fCount), quarkId);
- fTraces.add(event.getTrace());
- } catch (TimeRangeException | AttributeNotFoundException | StateValueTypeException e) {
-
- }
- }
- }
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core.tests/stubs/org/eclipse/linuxtools/tmf/tests/stubs/analysis/TestRequirementAnalysis.java b/lttng/org.eclipse.linuxtools.tmf.core.tests/stubs/org/eclipse/linuxtools/tmf/tests/stubs/analysis/TestRequirementAnalysis.java
deleted file mode 100644
index 08f2e6822d..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core.tests/stubs/org/eclipse/linuxtools/tmf/tests/stubs/analysis/TestRequirementAnalysis.java
+++ /dev/null
@@ -1,81 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 École Polytechnique de Montréal
- *
- * 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:
- * Mathieu Rail - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.tests.stubs.analysis;
-
-import java.util.HashMap;
-import java.util.Map;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.linuxtools.tmf.core.analysis.TmfAbstractAnalysisModule;
-import org.eclipse.linuxtools.tmf.core.analysis.TmfAnalysisRequirement;
-import org.eclipse.linuxtools.tmf.core.analysis.TmfAnalysisRequirement.ValuePriorityLevel;
-import org.eclipse.linuxtools.tmf.core.exceptions.TmfAnalysisException;
-import org.eclipse.linuxtools.tmf.core.trace.ITmfTrace;
-import org.eclipse.linuxtools.tmf.tests.stubs.trace.TmfTraceStub;
-
-/**
- * Analysis type to test requirements acquisition
- */
-@SuppressWarnings({ "javadoc", "nls" })
-public class TestRequirementAnalysis extends TmfAbstractAnalysisModule {
- /* Test requirement types */
- public static final String EVENT_TYPE = "event";
- public static final String FIELD_TYPE = "field";
-
- /* A few event names */
- public static final String EXIT_SYSCALL = "exit_syscall";
- public static final String SCHED_SWITCH = "sched_switch";
- public static final String SCHED_WAKEUP = "sched_wakeup";
-
- /* A few fields */
- public static final String PID = "pid";
- public static final String TID = "tid";
-
- @Override
- public boolean canExecute(ITmfTrace trace) {
- /* This just makes sure the trace is a ctf stub trace */
- return (TmfTraceStub.class.isAssignableFrom(trace.getClass()));
- }
-
- @Override
- protected void canceling() {
-
- }
-
- @Override
- protected boolean executeAnalysis(final IProgressMonitor monitor) {
- return true;
- }
-
- @Override
- public void setTrace(ITmfTrace trace) throws TmfAnalysisException {
- }
-
- @Override
- public Iterable<TmfAnalysisRequirement> getAnalysisRequirements() {
- Map<String, TmfAnalysisRequirement> requirements = new HashMap<>();
-
- /* Event type requirement and values */
- requirements.put(EVENT_TYPE, new TmfAnalysisRequirement(EVENT_TYPE));
- requirements.get(EVENT_TYPE).addValue(EXIT_SYSCALL, ValuePriorityLevel.MANDATORY);
- requirements.get(EVENT_TYPE).addValue(SCHED_SWITCH, ValuePriorityLevel.MANDATORY);
- requirements.get(EVENT_TYPE).addValue(SCHED_WAKEUP, ValuePriorityLevel.MANDATORY);
-
- /* Field type requirement and values */
- requirements.put(FIELD_TYPE, new TmfAnalysisRequirement(FIELD_TYPE));
- requirements.get(FIELD_TYPE).addValue(PID, ValuePriorityLevel.MANDATORY);
- requirements.get(FIELD_TYPE).addValue(TID, ValuePriorityLevel.MANDATORY);
-
- return requirements.values();
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core.tests/stubs/org/eclipse/linuxtools/tmf/tests/stubs/analysis/TestStateSystemModule.java b/lttng/org.eclipse.linuxtools.tmf.core.tests/stubs/org/eclipse/linuxtools/tmf/tests/stubs/analysis/TestStateSystemModule.java
deleted file mode 100644
index 0c392b01eb..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core.tests/stubs/org/eclipse/linuxtools/tmf/tests/stubs/analysis/TestStateSystemModule.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013, 2014 École Polytechnique de Montréal
- *
- * 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:
- * Geneviève Bastien - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.tests.stubs.analysis;
-
-import org.eclipse.jdt.annotation.NonNullByDefault;
-import org.eclipse.linuxtools.tmf.core.statesystem.ITmfStateProvider;
-import org.eclipse.linuxtools.tmf.core.statesystem.TmfStateSystemAnalysisModule;
-
-/**
- * Test State System module
- *
- * @author Geneviève Bastien
- */
-@NonNullByDefault
-public class TestStateSystemModule extends TmfStateSystemAnalysisModule {
-
- @Override
- protected ITmfStateProvider createStateProvider() {
- return new TestStateSystemProvider(getTrace());
- }
-
- @Override
- protected StateSystemBackendType getBackendType() {
- return StateSystemBackendType.INMEM;
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core.tests/stubs/org/eclipse/linuxtools/tmf/tests/stubs/analysis/TestStateSystemProvider.java b/lttng/org.eclipse.linuxtools.tmf.core.tests/stubs/org/eclipse/linuxtools/tmf/tests/stubs/analysis/TestStateSystemProvider.java
deleted file mode 100644
index 1f08e47464..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core.tests/stubs/org/eclipse/linuxtools/tmf/tests/stubs/analysis/TestStateSystemProvider.java
+++ /dev/null
@@ -1,74 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 École Polytechnique de Montréal
- *
- * 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:
- * Geneviève Bastien - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.tests.stubs.analysis;
-
-import org.eclipse.linuxtools.statesystem.core.exceptions.AttributeNotFoundException;
-import org.eclipse.linuxtools.statesystem.core.exceptions.StateValueTypeException;
-import org.eclipse.linuxtools.statesystem.core.exceptions.TimeRangeException;
-import org.eclipse.linuxtools.statesystem.core.statevalue.TmfStateValue;
-import org.eclipse.linuxtools.tmf.core.event.ITmfEvent;
-import org.eclipse.linuxtools.tmf.core.event.TmfEvent;
-import org.eclipse.linuxtools.tmf.core.statesystem.AbstractTmfStateProvider;
-import org.eclipse.linuxtools.tmf.core.statesystem.ITmfStateProvider;
-import org.eclipse.linuxtools.tmf.core.trace.ITmfTrace;
-
-/**
- * Stub test provider for test state system analysis module
- *
- * @author Geneviève Bastien
- */
-public class TestStateSystemProvider extends AbstractTmfStateProvider {
-
- private static final int VERSION = 1;
- private final String fString = "[]";
- private int fCount = 0;
-
- /**
- * Constructor
- *
- * @param trace
- * The LTTng 2.0 kernel trace directory
- */
- public TestStateSystemProvider(ITmfTrace trace) {
- super(trace, TmfEvent.class, "Stub State System");
- }
-
- @Override
- public int getVersion() {
- return VERSION;
- }
-
- @Override
- public ITmfStateProvider getNewInstance() {
- return new TestStateSystemProvider(this.getTrace());
- }
-
- @Override
- protected void eventHandle(ITmfEvent event) {
- /* Just need something to fill the state system */
- if (fString.equals(event.getContent().getValue())) {
- try {
- int quarkId = ss.getQuarkAbsoluteAndAdd("String");
- int quark = ss.getQuarkRelativeAndAdd(quarkId, fString);
- ss.modifyAttribute(event.getTimestamp().getValue(), TmfStateValue.newValueInt(fCount++), quark);
- } catch (TimeRangeException e) {
-
- } catch (AttributeNotFoundException e) {
-
- } catch (StateValueTypeException e) {
-
- }
- }
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core.tests/stubs/org/eclipse/linuxtools/tmf/tests/stubs/component/TmfClientStub.java b/lttng/org.eclipse.linuxtools.tmf.core.tests/stubs/org/eclipse/linuxtools/tmf/tests/stubs/component/TmfClientStub.java
deleted file mode 100644
index d75fb51430..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core.tests/stubs/org/eclipse/linuxtools/tmf/tests/stubs/component/TmfClientStub.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009, 2013 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.component;
-
-import org.eclipse.linuxtools.internal.tmf.core.component.TmfProviderManager;
-import org.eclipse.linuxtools.tmf.core.component.TmfComponent;
-import org.eclipse.linuxtools.tmf.core.component.TmfEventProvider;
-import org.eclipse.linuxtools.tmf.tests.stubs.event.TmfSyntheticEventStub;
-
-/**
- * <b><u>TmfClientStub</u></b>
- * <p>
- * TODO: Implement me. Please.
- */
-@SuppressWarnings("javadoc")
-public class TmfClientStub extends TmfComponent {
-
- private TmfEventProvider[] fProviders;
-
- public TmfClientStub() {
- super("TmfClientStub");
- }
-
- public void findProvider() {
- fProviders = TmfProviderManager.getProviders(TmfSyntheticEventStub.class, TmfSyntheticEventProviderStub.class);
- // TmfEventRequest<TmfEventStub> request;
- System.out.println(fProviders.length);
- }
-
- public void triggeRequest() {
- // TmfEventRequest<TmfEventStub> request;
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core.tests/stubs/org/eclipse/linuxtools/tmf/tests/stubs/component/TmfEventProviderStub.java b/lttng/org.eclipse.linuxtools.tmf.core.tests/stubs/org/eclipse/linuxtools/tmf/tests/stubs/component/TmfEventProviderStub.java
deleted file mode 100644
index 84397c7dcb..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core.tests/stubs/org/eclipse/linuxtools/tmf/tests/stubs/component/TmfEventProviderStub.java
+++ /dev/null
@@ -1,79 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009, 2013 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.component;
-
-import java.io.File;
-import java.io.IOException;
-import java.net.URISyntaxException;
-import java.net.URL;
-
-import org.eclipse.core.runtime.FileLocator;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.linuxtools.tmf.core.component.TmfEventProvider;
-import org.eclipse.linuxtools.tmf.core.event.ITmfEvent;
-import org.eclipse.linuxtools.tmf.core.exceptions.TmfTraceException;
-import org.eclipse.linuxtools.tmf.core.request.ITmfEventRequest;
-import org.eclipse.linuxtools.tmf.core.tests.TmfCoreTestPlugin;
-import org.eclipse.linuxtools.tmf.core.tests.shared.TmfTestTrace;
-import org.eclipse.linuxtools.tmf.core.trace.ITmfContext;
-import org.eclipse.linuxtools.tmf.tests.stubs.trace.TmfTraceStub;
-
-/**
- * <b><u>TmfEventProviderStub</u></b>
- * <p>
- * TODO: Implement me. Please.
- */
-@SuppressWarnings("javadoc")
-public class TmfEventProviderStub extends TmfEventProvider {
-
- private TmfTraceStub fTrace;
-
- public TmfEventProviderStub(final String path) throws IOException {
- super(path, ITmfEvent.class);
- final URL location = FileLocator.find(TmfCoreTestPlugin.getDefault().getBundle(), new Path(path), null);
- try {
- final File test = new File(FileLocator.toFileURL(location).toURI());
- fTrace = new TmfTraceStub(test.getPath(), 0, true, null);
- } catch (final TmfTraceException e) {
- e.printStackTrace();
- } catch (final URISyntaxException e) {
- e.printStackTrace();
- }
- }
-
- public TmfEventProviderStub() throws IOException {
- this(TmfTestTrace.A_TEST_10K.getFullPath());
- }
-
- @Override
- public void dispose() {
- fTrace.dispose();
- super.dispose();
- }
-
- // ------------------------------------------------------------------------
- // TmfEventProvider
- // ------------------------------------------------------------------------
-
- @Override
- public ITmfContext armRequest(final ITmfEventRequest request) {
- final ITmfContext context = fTrace.seekEvent(request.getRange().getStartTime());
- return context;
- }
-
- @Override
- public ITmfEvent getNext(final ITmfContext context) {
- return fTrace.getNext(context);
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core.tests/stubs/org/eclipse/linuxtools/tmf/tests/stubs/component/TmfSyntheticEventProviderStub.java b/lttng/org.eclipse.linuxtools.tmf.core.tests/stubs/org/eclipse/linuxtools/tmf/tests/stubs/component/TmfSyntheticEventProviderStub.java
deleted file mode 100644
index 46c3d196f3..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core.tests/stubs/org/eclipse/linuxtools/tmf/tests/stubs/component/TmfSyntheticEventProviderStub.java
+++ /dev/null
@@ -1,103 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009, 2014 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.component;
-
-import java.util.concurrent.BlockingQueue;
-import java.util.concurrent.LinkedBlockingQueue;
-import java.util.concurrent.TimeUnit;
-
-import org.eclipse.linuxtools.internal.tmf.core.component.TmfProviderManager;
-import org.eclipse.linuxtools.tmf.core.component.ITmfEventProvider;
-import org.eclipse.linuxtools.tmf.core.component.TmfEventProvider;
-import org.eclipse.linuxtools.tmf.core.event.ITmfEvent;
-import org.eclipse.linuxtools.tmf.core.request.ITmfEventRequest;
-import org.eclipse.linuxtools.tmf.core.request.ITmfEventRequest.ExecutionType;
-import org.eclipse.linuxtools.tmf.core.request.TmfEventRequest;
-import org.eclipse.linuxtools.tmf.core.timestamp.TmfTimeRange;
-import org.eclipse.linuxtools.tmf.core.trace.ITmfContext;
-import org.eclipse.linuxtools.tmf.core.trace.TmfContext;
-import org.eclipse.linuxtools.tmf.tests.stubs.event.TmfSyntheticEventStub;
-
-/**
- * <b><u>TmfSyntheticEventProviderStub</u></b>
- * <p>
- * TODO: Implement me. Please.
- */
-@SuppressWarnings("javadoc")
-public class TmfSyntheticEventProviderStub extends TmfEventProvider {
-
- public static final int NB_EVENTS = 1000;
-
- private final BlockingQueue<ITmfEvent> fDataQueue = new LinkedBlockingQueue<>(1000);
-
- public TmfSyntheticEventProviderStub() {
- super("TmfSyntheticEventProviderStub", TmfSyntheticEventStub.class);
- }
-
- @Override
- public ITmfContext armRequest(final ITmfEventRequest request) {
-
- // Get the TmfSyntheticEventStub provider
- final ITmfEventProvider[] eventProviders = TmfProviderManager.getProviders(ITmfEvent.class, TmfEventProviderStub.class);
- final ITmfEventProvider provider = eventProviders[0];
-
- final TmfTimeRange range = request.getRange();
- final TmfEventRequest subRequest =
- new TmfEventRequest(ITmfEvent.class, range, 0, NB_EVENTS, ExecutionType.FOREGROUND) {
- @Override
- public void handleData(final ITmfEvent event) {
- super.handleData(event);
- handleIncomingData(event);
- }
- };
- provider.sendRequest(subRequest);
-
- // Return a dummy context
- return new TmfContext();
- }
-
- // Queue 2 synthetic events per base event
- private void handleIncomingData(final ITmfEvent e) {
- queueResult(new TmfSyntheticEventStub(e));
- queueResult(new TmfSyntheticEventStub(e));
- }
-
- private static final int TIMEOUT = 10000;
-
- @Override
- public TmfSyntheticEventStub getNext(final ITmfContext context) {
- TmfSyntheticEventStub data = null;
- try {
- data = (TmfSyntheticEventStub) fDataQueue.poll(TIMEOUT, TimeUnit.MILLISECONDS);
- if (data == null) {
- throw new InterruptedException();
- }
- }
- catch (final InterruptedException e) {
- }
- return data;
- }
-
- public void queueResult(final TmfSyntheticEventStub data) {
- boolean ok = false;
- try {
- ok = fDataQueue.offer(data, TIMEOUT, TimeUnit.MILLISECONDS);
- if (!ok) {
- throw new InterruptedException();
- }
- }
- catch (final InterruptedException e) {
- }
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core.tests/stubs/org/eclipse/linuxtools/tmf/tests/stubs/event/TmfEventTypeStub.java b/lttng/org.eclipse.linuxtools.tmf.core.tests/stubs/org/eclipse/linuxtools/tmf/tests/stubs/event/TmfEventTypeStub.java
deleted file mode 100644
index 2ad3868199..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core.tests/stubs/org/eclipse/linuxtools/tmf/tests/stubs/event/TmfEventTypeStub.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009, 2013 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.event;
-
-import org.eclipse.linuxtools.tmf.core.event.ITmfEventField;
-import org.eclipse.linuxtools.tmf.core.event.TmfEventField;
-import org.eclipse.linuxtools.tmf.core.event.TmfEventType;
-
-/**
- * <b><u>TmfEventTypeStub</u></b>
- */
-@SuppressWarnings("javadoc")
-public class TmfEventTypeStub extends TmfEventType {
-
- private static final ITmfEventField FIELD_1 = new TmfEventField("Field1", null, null);
- private static final ITmfEventField FIELD_2 = new TmfEventField("Field2", null, null);
- private static final ITmfEventField FIELD_3 = new TmfEventField("Field3", null, null);
- private static final ITmfEventField FIELD_4 = new TmfEventField("Field4", null, null);
- private static final ITmfEventField FIELD_5 = new TmfEventField("Field5", null, null);
-
- private static final ITmfEventField[] FIELDS = new ITmfEventField[] {
- FIELD_1, FIELD_2, FIELD_3, FIELD_4, FIELD_5 };
-
- private static ITmfEventField ROOT = new TmfEventField(ITmfEventField.ROOT_FIELD_ID, null, FIELDS);
-
- public TmfEventTypeStub() {
- super("UnitTest", "TmfEventTypeStub", ROOT);
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core.tests/stubs/org/eclipse/linuxtools/tmf/tests/stubs/event/TmfSyncEventStub.java b/lttng/org.eclipse.linuxtools.tmf.core.tests/stubs/org/eclipse/linuxtools/tmf/tests/stubs/event/TmfSyncEventStub.java
deleted file mode 100644
index b8a0166ba1..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core.tests/stubs/org/eclipse/linuxtools/tmf/tests/stubs/event/TmfSyncEventStub.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 École Polytechnique de Montréal
- *
- * 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:
- * Geneviève Bastien - Initial implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.tests.stubs.event;
-
-import org.eclipse.linuxtools.tmf.core.timestamp.ITmfTimestamp;
-import org.eclipse.linuxtools.tmf.core.event.TmfEvent;
-import org.eclipse.linuxtools.tmf.core.event.TmfEventField;
-import org.eclipse.linuxtools.tmf.core.trace.ITmfTrace;
-
-/**
- * Event stub used by the synchronization tests
- *
- * @author Geneviève Bastien
- */
-public class TmfSyncEventStub extends TmfEvent {
-
- private static final String stub = "stub"; //$NON-NLS-1$
-
- /**
- * Constructor
- *
- * @param trace
- * The trace of this event
- * @param timestamp
- * The timestamp
- */
- public TmfSyncEventStub(final ITmfTrace trace, final ITmfTimestamp timestamp) {
- super(trace,
- timestamp,
- stub,
- new TmfEventTypeStub(),
- new TmfEventField(stub, stub, null),
- stub);
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core.tests/stubs/org/eclipse/linuxtools/tmf/tests/stubs/event/TmfSyntheticEventStub.java b/lttng/org.eclipse.linuxtools.tmf.core.tests/stubs/org/eclipse/linuxtools/tmf/tests/stubs/event/TmfSyntheticEventStub.java
deleted file mode 100644
index 2b1dc92c8c..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core.tests/stubs/org/eclipse/linuxtools/tmf/tests/stubs/event/TmfSyntheticEventStub.java
+++ /dev/null
@@ -1,34 +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
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.tests.stubs.event;
-
-import org.eclipse.linuxtools.tmf.core.event.ITmfEvent;
-import org.eclipse.linuxtools.tmf.core.event.TmfEvent;
-
-/**
- * <b><u>TmfSyntheticEventStub</u></b>
- * <p>
- * TODO: Implement me. Please.
- */
-@SuppressWarnings("javadoc")
-public class TmfSyntheticEventStub extends TmfEvent {
-
-
- public TmfSyntheticEventStub(final ITmfEvent event) {
- super(event);
- }
- public TmfSyntheticEventStub(final TmfSyntheticEventStub other) {
- super(other);
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core.tests/stubs/org/eclipse/linuxtools/tmf/tests/stubs/request/TmfEventRequestStub.java b/lttng/org.eclipse.linuxtools.tmf.core.tests/stubs/org/eclipse/linuxtools/tmf/tests/stubs/request/TmfEventRequestStub.java
deleted file mode 100644
index eb1d741f3e..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core.tests/stubs/org/eclipse/linuxtools/tmf/tests/stubs/request/TmfEventRequestStub.java
+++ /dev/null
@@ -1,73 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009, 2013 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.request;
-
-import org.eclipse.linuxtools.tmf.core.event.ITmfEvent;
-import org.eclipse.linuxtools.tmf.core.request.TmfEventRequest;
-import org.eclipse.linuxtools.tmf.core.timestamp.TmfTimeRange;
-
-/**
- * <b><u>TmfEventRequestStub</u></b>
- */
-public class TmfEventRequestStub extends TmfEventRequest {
-
- /**
- * @param dataType the event type
- */
- public TmfEventRequestStub(final Class<? extends ITmfEvent> dataType) {
- super(dataType, TmfTimeRange.ETERNITY, 0, ALL_DATA, ExecutionType.FOREGROUND);
- }
-
- /**
- * @param dataType the event type
- * @param range the requested time range
- */
- public TmfEventRequestStub(final Class<? extends ITmfEvent> dataType, final TmfTimeRange range) {
- super(dataType, range, 0, ALL_DATA, ExecutionType.FOREGROUND);
- }
-
- /**
- * @param dataType the event type
- * @param range the requested time range
- * @param nbRequested the number of events requested
- */
- public TmfEventRequestStub(final Class<? extends ITmfEvent> dataType, final TmfTimeRange range, final int nbRequested) {
- super(dataType, range, 0, nbRequested, ExecutionType.FOREGROUND);
- }
-
- /**
- * @param dataType the event type
- * @param range the requested time range
- * @param nbRequested the number of events requested
- * @param blockSize the event block size
- */
- public TmfEventRequestStub(final Class<? extends ITmfEvent> dataType, final TmfTimeRange range, final int nbRequested, final int blockSize) {
- super(dataType, range, 0, nbRequested, ExecutionType.FOREGROUND);
- }
-
- /**
- * @param dataType the event type
- * @param range the requested time range
- * @param index the initial event index
- * @param nbRequested the number of events requested
- * @param blockSize the event block size
- */
- public TmfEventRequestStub(final Class<? extends ITmfEvent> dataType, final TmfTimeRange range, final long index, final int nbRequested, final int blockSize) {
- super(dataType, range, index, nbRequested, ExecutionType.FOREGROUND);
- }
-
- @Override
- public void handleData(final ITmfEvent data) {
- super.handleData(data);
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core.tests/stubs/org/eclipse/linuxtools/tmf/tests/stubs/trace/TmfEmptyTraceStub.java b/lttng/org.eclipse.linuxtools.tmf.core.tests/stubs/org/eclipse/linuxtools/tmf/tests/stubs/trace/TmfEmptyTraceStub.java
deleted file mode 100644
index 3a5df51e06..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core.tests/stubs/org/eclipse/linuxtools/tmf/tests/stubs/trace/TmfEmptyTraceStub.java
+++ /dev/null
@@ -1,71 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009, 2013 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.trace.ITmfContext;
-import org.eclipse.linuxtools.tmf.core.trace.TmfContext;
-import org.eclipse.linuxtools.tmf.core.trace.location.ITmfLocation;
-
-/**
- * <b><u>TmfEmptyTraceStub</u></b>
- * <p>
- * Dummy test trace. Use in conjunction with TmfEventParserStub.
- */
-public class TmfEmptyTraceStub extends TmfTraceStub {
-
- /**
- *
- */
- // ------------------------------------------------------------------------
- // Constructors
- // ------------------------------------------------------------------------
-
- /**
- *
- */
- public TmfEmptyTraceStub() {
- super();
- setParser(new TmfEventParserStub(this));
- }
-
- // ------------------------------------------------------------------------
- // Operators
- // ------------------------------------------------------------------------
-
- @Override
- public TmfContext seekEvent(final ITmfLocation location) {
- return new TmfContext();
- }
-
- @Override
- public TmfContext seekEvent(final double ratio) {
- return new TmfContext();
- }
-
- @Override
- public double getLocationRatio(ITmfLocation location) {
- return 0;
- }
-
- @Override
- public ITmfLocation getCurrentLocation() {
- return null;
- }
-
- @Override
- public ITmfEvent parseEvent(final ITmfContext context) {
- return null;
- }
-
-} \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.tmf.core.tests/stubs/org/eclipse/linuxtools/tmf/tests/stubs/trace/TmfEventParserStub.java b/lttng/org.eclipse.linuxtools.tmf.core.tests/stubs/org/eclipse/linuxtools/tmf/tests/stubs/trace/TmfEventParserStub.java
deleted file mode 100644
index 8a692d5a78..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core.tests/stubs/org/eclipse/linuxtools/tmf/tests/stubs/trace/TmfEventParserStub.java
+++ /dev/null
@@ -1,124 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009, 2014 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.io.EOFException;
-import java.io.IOException;
-import java.io.RandomAccessFile;
-import java.util.Vector;
-
-import org.eclipse.linuxtools.tmf.core.event.ITmfEvent;
-import org.eclipse.linuxtools.tmf.core.event.ITmfEventField;
-import org.eclipse.linuxtools.tmf.core.event.TmfEvent;
-import org.eclipse.linuxtools.tmf.core.event.TmfEventField;
-import org.eclipse.linuxtools.tmf.core.event.TmfEventType;
-import org.eclipse.linuxtools.tmf.core.trace.ITmfContext;
-import org.eclipse.linuxtools.tmf.core.trace.ITmfEventParser;
-import org.eclipse.linuxtools.tmf.core.trace.ITmfTrace;
-
-/**
- * <b><u>TmfEventParserStub</u></b>
- * <p>
- * TODO: Implement me. Please.
- */
-@SuppressWarnings("javadoc")
-public class TmfEventParserStub implements ITmfEventParser {
-
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
-
- private static final int NB_TYPES = 10;
- private final TmfEventType[] fTypes;
- private final ITmfTrace fEventStream;
-
- // ------------------------------------------------------------------------
- // Constructors
- // ------------------------------------------------------------------------
-
- public TmfEventParserStub(final ITmfTrace eventStream) {
- fEventStream = eventStream;
- fTypes = new TmfEventType[NB_TYPES];
- for (int i = 0; i < NB_TYPES; i++) {
- final Vector<String> fields = new Vector<>();
- for (int j = 1; j <= i; j++) {
- final String field = "Fmt-" + i + "-Fld-" + j;
- fields.add(field);
- }
- final String[] fieldArray = new String[i];
- final ITmfEventField rootField = TmfEventField.makeRoot(fields.toArray(fieldArray));
- fTypes[i] = new TmfEventType("UnitTest", "Type-" + i, rootField);
- }
- }
-
- // ------------------------------------------------------------------------
- // Operators
- // ------------------------------------------------------------------------
-
- static final String typePrefix = "Type-";
- @Override
- public ITmfEvent parseEvent(final ITmfContext context) {
-
- if (! (fEventStream instanceof TmfTraceStub)) {
- return null;
- }
-
- // Highly inefficient...
- final RandomAccessFile stream = ((TmfTraceStub) fEventStream).getStream();
- if (stream == null) {
- return null;
- }
-
- // String name = eventStream.getName();
- // name = name.substring(name.lastIndexOf('/') + 1);
-
- // no need to use synchronized since it's already cover by the calling method
-
- long location = 0;
- if (context != null && context.getLocation() != null) {
- location = (Long) context.getLocation().getLocationInfo();
- try {
- stream.seek(location);
-
- final long ts = stream.readLong();
- final String source = stream.readUTF();
- final String type = stream.readUTF();
- final int reference = stream.readInt();
- final int typeIndex = Integer.parseInt(type.substring(typePrefix.length()));
- final String[] fields = new String[typeIndex];
- for (int i = 0; i < typeIndex; i++) {
- fields[i] = stream.readUTF();
- }
-
- final StringBuffer content = new StringBuffer("[");
- if (typeIndex > 0) {
- content.append(fields[0]);
- }
- for (int i = 1; i < typeIndex; i++) {
- content.append(", ").append(fields[i]);
- }
- content.append("]");
-
- final TmfEventField root = new TmfEventField(ITmfEventField.ROOT_FIELD_ID, content.toString(), null);
- final ITmfEvent event = new TmfEvent(fEventStream,
- fEventStream.createTimestamp(ts * 1000000L),
- source, fTypes[typeIndex], root, String.valueOf(reference));
- return event;
- } catch (final EOFException e) {
- } catch (final IOException e) {
- }
- }
- return null;
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core.tests/stubs/org/eclipse/linuxtools/tmf/tests/stubs/trace/TmfExperimentStub.java b/lttng/org.eclipse.linuxtools.tmf.core.tests/stubs/org/eclipse/linuxtools/tmf/tests/stubs/trace/TmfExperimentStub.java
deleted file mode 100644
index c2b88bf013..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core.tests/stubs/org/eclipse/linuxtools/tmf/tests/stubs/trace/TmfExperimentStub.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2012, 2013 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.core.resources.IResource;
-import org.eclipse.linuxtools.tmf.core.event.ITmfEvent;
-import org.eclipse.linuxtools.tmf.core.trace.ITmfTrace;
-import org.eclipse.linuxtools.tmf.core.trace.TmfExperiment;
-import org.eclipse.linuxtools.tmf.core.trace.indexer.ITmfTraceIndexer;
-
-/**
- * <b><u>TmfExperimentStub</u></b>
- * <p>
- * Implement me. Please.
- * <p>
- */
-@SuppressWarnings("javadoc")
-public class TmfExperimentStub extends TmfExperiment {
-
- public TmfExperimentStub() {
- super();
- }
-
- public TmfExperimentStub(String name, ITmfTrace[] traces, int blockSize) {
- super(ITmfEvent.class, name, traces, blockSize);
- }
-
- @Override
- protected ITmfTraceIndexer createIndexer(int interval) {
- return new TmfIndexerStub(this, interval);
- }
-
- @Override
- public TmfIndexerStub getIndexer() {
- return (TmfIndexerStub) super.getIndexer();
- }
-
- @Override
- public void initExperiment(final Class<? extends ITmfEvent> type, final String path, final ITmfTrace[] traces, final int indexPageSize, IResource resource) {
- super.initExperiment(type, path, traces, indexPageSize, resource);
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core.tests/stubs/org/eclipse/linuxtools/tmf/tests/stubs/trace/TmfIndexerStub.java b/lttng/org.eclipse.linuxtools.tmf.core.tests/stubs/org/eclipse/linuxtools/tmf/tests/stubs/trace/TmfIndexerStub.java
deleted file mode 100644
index 4338385b54..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core.tests/stubs/org/eclipse/linuxtools/tmf/tests/stubs/trace/TmfIndexerStub.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2012, 2013 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.trace.ITmfTrace;
-import org.eclipse.linuxtools.tmf.core.trace.indexer.checkpoint.ITmfCheckpointIndex;
-import org.eclipse.linuxtools.tmf.core.trace.indexer.checkpoint.TmfCheckpointIndexer;
-
-/**
- * <b><u>TmfIndexerStub</u></b>
- * <p>
- * Implement me. Please.
- * <p>
- */
-@SuppressWarnings("javadoc")
-public class TmfIndexerStub extends TmfCheckpointIndexer {
-
- public TmfIndexerStub(ITmfTrace trace, int blockSize) {
- super(trace, blockSize);
- }
-
- public ITmfCheckpointIndex getCheckpoints() {
- return getTraceIndex();
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core.tests/stubs/org/eclipse/linuxtools/tmf/tests/stubs/trace/TmfTraceStub.java b/lttng/org.eclipse.linuxtools.tmf.core.tests/stubs/org/eclipse/linuxtools/tmf/tests/stubs/trace/TmfTraceStub.java
deleted file mode 100644
index 9459bf8f94..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core.tests/stubs/org/eclipse/linuxtools/tmf/tests/stubs/trace/TmfTraceStub.java
+++ /dev/null
@@ -1,425 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009, 2014 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
- * Patrick Tasse - Updated for removal of context clone
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.tests.stubs.trace;
-
-import java.io.FileNotFoundException;
-import java.io.IOException;
-import java.io.RandomAccessFile;
-import java.nio.ByteBuffer;
-import java.util.concurrent.locks.ReentrantLock;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.linuxtools.internal.tmf.core.Activator;
-import org.eclipse.linuxtools.tmf.core.event.ITmfEvent;
-import org.eclipse.linuxtools.tmf.core.exceptions.TmfTraceException;
-import org.eclipse.linuxtools.tmf.core.signal.TmfSignalManager;
-import org.eclipse.linuxtools.tmf.core.signal.TmfTraceOpenedSignal;
-import org.eclipse.linuxtools.tmf.core.signal.TmfTraceSelectedSignal;
-import org.eclipse.linuxtools.tmf.core.timestamp.ITmfTimestamp;
-import org.eclipse.linuxtools.tmf.core.timestamp.TmfTimeRange;
-import org.eclipse.linuxtools.tmf.core.timestamp.TmfTimestamp;
-import org.eclipse.linuxtools.tmf.core.trace.ITmfContext;
-import org.eclipse.linuxtools.tmf.core.trace.ITmfEventParser;
-import org.eclipse.linuxtools.tmf.core.trace.TmfContext;
-import org.eclipse.linuxtools.tmf.core.trace.TmfTrace;
-import org.eclipse.linuxtools.tmf.core.trace.indexer.ITmfPersistentlyIndexable;
-import org.eclipse.linuxtools.tmf.core.trace.indexer.checkpoint.ITmfCheckpoint;
-import org.eclipse.linuxtools.tmf.core.trace.indexer.checkpoint.TmfCheckpoint;
-import org.eclipse.linuxtools.tmf.core.trace.location.ITmfLocation;
-import org.eclipse.linuxtools.tmf.core.trace.location.TmfLongLocation;
-
-/**
- * <b><u>TmfTraceStub</u></b>
- * <p>
- * Dummy test trace. Use in conjunction with TmfEventParserStub.
- */
-public class TmfTraceStub extends TmfTrace implements ITmfEventParser, ITmfPersistentlyIndexable {
-
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
-
- // The actual stream
- private RandomAccessFile fTrace;
-
-// // The associated event parser
-// private ITmfEventParser<TmfEvent> fParser;
-
- // The synchronization lock
- private final ReentrantLock fLock = new ReentrantLock();
-
- private ITmfTimestamp fInitialRangeOffset = null;
-
- // ------------------------------------------------------------------------
- // Constructors
- // ------------------------------------------------------------------------
-
- /**
- * Default constructor
- */
- public TmfTraceStub() {
- super();
- setParser(new TmfEventParserStub(this));
- }
-
- /**
- * Constructor with which you can specify a custom streaming interval. The
- * parser and indexer won't be specified.
- *
- * @param path
- * The path to the trace file
- * @param cacheSize
- * The cache size
- * @param interval
- * The trace streaming interval
- * @throws TmfTraceException
- * If an error occurred opening the trace
- */
- public TmfTraceStub(final String path,
- final int cacheSize,
- final long interval) throws TmfTraceException {
- super(null, ITmfEvent.class, path, cacheSize, interval, null);
- setupTrace(path);
- setParser(new TmfEventParserStub(this));
- }
-
- /**
- * Constructor to specify the parser and indexer. The streaming interval
- * will be 0.
- *
- * @param path
- * The path to the trace file
- * @param cacheSize
- * The cache size
- * @param waitForCompletion
- * Do we block the caller until the trace is indexed, or not.
- * @param parser
- * The trace parser. If left 'null', it will use a
- * {@link TmfEventParserStub}.
- * @throws TmfTraceException
- * If an error occurred opening the trace
- */
- public TmfTraceStub(final String path,
- final int cacheSize,
- final boolean waitForCompletion,
- final ITmfEventParser parser) throws TmfTraceException {
- super(null, ITmfEvent.class, path, cacheSize, 0, null);
- setupTrace(path);
- setParser((parser != null) ? parser : new TmfEventParserStub(this));
- if (waitForCompletion) {
- indexTrace(true);
- }
- }
-
- /**
- * Constructor to specify the resource, parser and indexer. The streaming
- * interval will be 0.
- *
- * @param resource
- * The trace resource
- * @param path
- * The path to the trace file
- * @param cacheSize
- * The cache size
- * @param waitForCompletion
- * Do we block the caller until the trace is indexed, or not.
- * @param parser
- * The trace parser. If left 'null', it will use a
- * {@link TmfEventParserStub}.
- * @throws TmfTraceException
- * If an error occurred opening the trace
- */
- public TmfTraceStub(final IResource resource,
- final String path,
- final int cacheSize,
- final boolean waitForCompletion,
- final ITmfEventParser parser) throws TmfTraceException {
- super(resource, ITmfEvent.class, path, cacheSize, 0, null);
- setupTrace(path);
- setParser((parser != null) ? parser : new TmfEventParserStub(this));
- if (waitForCompletion) {
- indexTrace(true);
- }
- }
-
- /**
- * Copy constructor
- *
- * @param trace
- * The trace to copy
- * @throws TmfTraceException
- * If an error occurred opening the trace
- */
- public TmfTraceStub(final TmfTraceStub trace) throws TmfTraceException {
- super(trace);
- setupTrace(getPath()); // fPath will be set by the super-constructor
- setParser(new TmfEventParserStub(this));
- }
-
-
- private void setupTrace(String path) throws TmfTraceException {
- try {
- fTrace = new RandomAccessFile(path, "r"); //$NON-NLS-1$
- } catch (FileNotFoundException e) {
- throw new TmfTraceException(e.getMessage());
- }
- }
-
- // ------------------------------------------------------------------------
- // Initializers
- // ------------------------------------------------------------------------
-
- @Override
- public void initTrace(final IResource resource, final String path, final Class<? extends ITmfEvent> type) throws TmfTraceException {
- try {
- fTrace = new RandomAccessFile(path, "r"); //$NON-NLS-1$
- } catch (FileNotFoundException e) {
- throw new TmfTraceException(e.getMessage());
- }
- setParser(new TmfEventParserStub(this));
- super.initTrace(resource, path, type);
- }
-
- @Override
- public void initialize(final IResource resource, final String path, final Class<? extends ITmfEvent> type) throws TmfTraceException {
- super.initialize(resource, path, type);
- }
-
- // ------------------------------------------------------------------------
- // Accessors
- // ------------------------------------------------------------------------
-
- /**
- * @return The file stream to the trace
- */
- public RandomAccessFile getStream() {
- return fTrace;
- }
-
- /**
- * Set the initial range offset.
- *
- * @param initOffset
- * The new initial range offset
- */
- public void setInitialRangeOffset(ITmfTimestamp initOffset) {
- fInitialRangeOffset = initOffset;
- }
-
- @Override
- public ITmfTimestamp getInitialRangeOffset() {
- if (fInitialRangeOffset != null) {
- return fInitialRangeOffset;
- }
- return super.getInitialRangeOffset();
- }
-
- // ------------------------------------------------------------------------
- // Operators
- // ------------------------------------------------------------------------
-
- @Override
- public TmfContext seekEvent(final ITmfLocation location) {
- try {
- fLock.lock();
- try {
- if (fTrace != null) {
- // Position the trace at the requested location and
- // returns the corresponding context
- long loc = 0;
- long rank = 0;
- if (location != null) {
- loc = (Long) location.getLocationInfo();
- rank = ITmfContext.UNKNOWN_RANK;
- }
- if (loc != fTrace.getFilePointer()) {
- fTrace.seek(loc);
- }
- final TmfContext context = new TmfContext(getCurrentLocation(), rank);
- return context;
- }
- } catch (final IOException e) {
- e.printStackTrace();
- } catch (final NullPointerException e) {
- e.printStackTrace();
- }
- finally{
- fLock.unlock();
- }
- } catch (final NullPointerException e) {
- e.printStackTrace();
- }
- return null;
- }
-
-
- @Override
- public TmfContext seekEvent(final double ratio) {
- fLock.lock();
- try {
- if (fTrace != null) {
- final ITmfLocation location = new TmfLongLocation(Long.valueOf(Math.round(ratio * fTrace.length())));
- final TmfContext context = seekEvent(location);
- context.setRank(ITmfContext.UNKNOWN_RANK);
- return context;
- }
- } catch (final IOException e) {
- e.printStackTrace();
- } finally {
- fLock.unlock();
- }
-
- return null;
- }
-
- @Override
- public double getLocationRatio(ITmfLocation location) {
- fLock.lock();
- try {
- if (fTrace != null) {
- if (location.getLocationInfo() instanceof Long) {
- return ((Long) location.getLocationInfo()).doubleValue() / fTrace.length();
- }
- }
- } catch (final IOException e) {
- e.printStackTrace();
- } finally {
- fLock.unlock();
- }
- return 0;
- }
-
- @Override
- public ITmfLocation getCurrentLocation() {
- fLock.lock();
- try {
- if (fTrace != null) {
- return new TmfLongLocation(fTrace.getFilePointer());
- }
- } catch (final IOException e) {
- e.printStackTrace();
- } finally {
- fLock.unlock();
- }
- return null;
- }
-
- @Override
- public ITmfEvent parseEvent(final ITmfContext context) {
- fLock.lock();
- try {
- // parseNextEvent will update the context
- if (fTrace != null && getParser() != null && context != null) {
- final ITmfEvent event = getParser().parseEvent(context);
- return event;
- }
- } finally {
- fLock.unlock();
- }
- return null;
- }
-
- @Override
- public ITmfTimestamp createTimestamp(long ts) {
- return new TmfTimestamp(getTimestampTransform().transform(ts) / 1000000L, ITmfTimestamp.MILLISECOND_SCALE);
- }
-
- @Override
- public synchronized void setNbEvents(final long nbEvents) {
- super.setNbEvents(nbEvents);
- }
-
- @Override
- public void setTimeRange(final TmfTimeRange range) {
- super.setTimeRange(range);
- }
-
- @Override
- public void setStartTime(final ITmfTimestamp startTime) {
- super.setStartTime(startTime);
- }
-
- @Override
- public void setEndTime(final ITmfTimestamp endTime) {
- super.setEndTime(endTime);
- }
-
- @Override
- public void setStreamingInterval(final long interval) {
- super.setStreamingInterval(interval);
- }
-
- @Override
- public synchronized void dispose() {
- fLock.lock();
- try {
- if (fTrace != null) {
- fTrace.close();
- fTrace = null;
- }
- } catch (final IOException e) {
- // Ignore
- } finally {
- fLock.unlock();
- }
- super.dispose();
- }
-
- @Override
- public IStatus validate(IProject project, String path) {
- if (fileExists(path)) {
- return Status.OK_STATUS;
- }
- return new Status(IStatus.ERROR, Activator.PLUGIN_ID, "File does not exist: " + path);
- }
-
- private static int fCheckpointSize = -1;
-
- @Override
- public synchronized int getCheckpointSize() {
- if (fCheckpointSize == -1) {
- TmfCheckpoint c = new TmfCheckpoint(new TmfTimestamp(0L), new TmfLongLocation(0L), 0);
- ByteBuffer b = ByteBuffer.allocate(ITmfCheckpoint.MAX_SERIALIZE_SIZE);
- b.clear();
- c.serialize(b);
- fCheckpointSize = b.position();
- }
-
- return fCheckpointSize;
- }
-
- @Override
- public ITmfLocation restoreLocation(ByteBuffer bufferIn) {
- return new TmfLongLocation(bufferIn);
- }
-
- /**
- * Simulate trace opening, to be called by tests who need an actively opened
- * trace
- */
- public void openTrace() {
- TmfSignalManager.dispatchSignal(new TmfTraceOpenedSignal(this, this, null));
- selectTrace();
- }
-
- /**
- * Simulate selecting the trace
- */
- public void selectTrace() {
- TmfSignalManager.dispatchSignal(new TmfTraceSelectedSignal(this, this));
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core.tests/stubs/org/eclipse/linuxtools/tmf/tests/stubs/trace/TmfTraceStub2.java b/lttng/org.eclipse.linuxtools.tmf.core.tests/stubs/org/eclipse/linuxtools/tmf/tests/stubs/trace/TmfTraceStub2.java
deleted file mode 100644
index 30b19c5727..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core.tests/stubs/org/eclipse/linuxtools/tmf/tests/stubs/trace/TmfTraceStub2.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 École Polytechnique de Montréal
- *
- * 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:
- * Geneviève Bastien - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.tests.stubs.trace;
-
-import org.eclipse.linuxtools.tmf.core.exceptions.TmfTraceException;
-import org.eclipse.linuxtools.tmf.core.trace.ITmfEventParser;
-
-/**
- * Another stub trace class for unit tests who need more than one stub class.
- *
- * @author Geneviève Bastien
- */
-public class TmfTraceStub2 extends TmfTraceStub {
-
- /**
- * Default constructor
- */
- public TmfTraceStub2() {
- super();
- }
-
- /**
- * Constructor to specify the parser and indexer. The streaming interval
- * will be 0.
- *
- * @param path
- * The path to the trace file
- * @param cacheSize
- * The cache size
- * @param waitForCompletion
- * Do we block the caller until the trace is indexed, or not.
- * @param parser
- * The trace parser. If left 'null', it will use a
- * {@link TmfEventParserStub}.
- * @throws TmfTraceException
- * If an error occurred opening the trace
- */
- public TmfTraceStub2(final String path,
- final int cacheSize,
- final boolean waitForCompletion,
- final ITmfEventParser parser) throws TmfTraceException {
- super(path, cacheSize, waitForCompletion, parser);
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core.tests/stubs/org/eclipse/linuxtools/tmf/tests/stubs/trace/TmfTraceStub3.java b/lttng/org.eclipse.linuxtools.tmf.core.tests/stubs/org/eclipse/linuxtools/tmf/tests/stubs/trace/TmfTraceStub3.java
deleted file mode 100644
index c619eec29b..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core.tests/stubs/org/eclipse/linuxtools/tmf/tests/stubs/trace/TmfTraceStub3.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 École Polytechnique de Montréal
- *
- * 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:
- * Geneviève Bastien - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.tests.stubs.trace;
-
-/**
- * Another stub trace class for unit tests who need more than one stub class.
- *
- * @author Geneviève Bastien
- */
-public class TmfTraceStub3 extends TmfTraceStub {
-
- /**
- * Default constructor
- */
- public TmfTraceStub3() {
- super();
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core.tests/stubs/org/eclipse/linuxtools/tmf/tests/stubs/trace/text/SyslogEvent.java b/lttng/org.eclipse.linuxtools.tmf.core.tests/stubs/org/eclipse/linuxtools/tmf/tests/stubs/trace/text/SyslogEvent.java
deleted file mode 100644
index 8146adc101..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core.tests/stubs/org/eclipse/linuxtools/tmf/tests/stubs/trace/text/SyslogEvent.java
+++ /dev/null
@@ -1,127 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 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:
- * Bernd Hufmann - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.tests.stubs.trace.text;
-
-import java.util.List;
-
-import org.eclipse.linuxtools.tmf.core.event.ITmfEvent;
-import org.eclipse.linuxtools.tmf.core.event.ITmfEventType;
-import org.eclipse.linuxtools.tmf.core.event.collapse.ITmfCollapsibleEvent;
-import org.eclipse.linuxtools.tmf.core.timestamp.ITmfTimestamp;
-import org.eclipse.linuxtools.tmf.core.trace.text.TextTraceEvent;
-import org.eclipse.linuxtools.tmf.core.trace.text.TextTraceEventContent;
-
-/**
- * System log trace implementation of TmfEvent.
- */
-public class SyslogEvent extends TextTraceEvent implements ITmfCollapsibleEvent {
-
- /**
- * Default constructor
- */
- public SyslogEvent() {
- super(null, null, null, new SyslogEventType(), null, null);
- }
-
- /**
- * Copy constructor
- *
- * @param other
- * the event to copy
- *
- */
- public SyslogEvent(final SyslogEvent other) {
- super(other);
- }
-
- /**
- * Full Constructor
- *
- * @param parentTrace
- * the parent trace
- * @param timestamp
- * the event timestamp
- * @param source
- * the event source
- * @param type
- * the event type
- * @param content
- * the event content (payload)
- * @param reference
- * the event reference
- */
- public SyslogEvent(SyslogTrace parentTrace, final ITmfTimestamp timestamp, final String source,
- final ITmfEventType type, final TextTraceEventContent content, final String reference) {
- super(parentTrace, timestamp, source, type, content, reference);
- }
-
- @Override
- public boolean isCollapsibleWith(ITmfEvent otherEvent) {
- if (this == otherEvent) {
- return true;
- }
-
- if (!(otherEvent instanceof SyslogEvent)) {
- return false;
- }
-
- final SyslogEvent other = (SyslogEvent) otherEvent;
-
- if (getTrace() == null) {
- if (other.getTrace() != null) {
- return false;
- }
- } else if (!getTrace().equals(other.getTrace())) {
- return false;
- }
-
- if (getType() == null) {
- if (other.getType() != null) {
- return false;
- }
- } else if (!getType().equals(other.getType())) {
- return false;
- }
-
- TextTraceEventContent content = this.getContent();
- TextTraceEventContent otherContent = other.getContent();
-
- if (content == null) {
- if (otherContent != null) {
- return false;
- }
- return true;
- }
-
- if (otherContent == null) {
- return false;
- }
-
- List<TextTraceEventContent> fields = content.getFields();
- List<TextTraceEventContent> otherFields = otherContent.getFields();
- int size = fields.size();
-
- if (size != otherFields.size()) {
- return false;
- }
-
- // At i = 0 the timestamp is stored and needs to be bypassed
- for (int i = 1; i < size; i++) {
- if (!fields.get(i).equals(otherFields.get(i))) {
- return false;
- }
- }
- return true;
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core.tests/stubs/org/eclipse/linuxtools/tmf/tests/stubs/trace/text/SyslogEventType.java b/lttng/org.eclipse.linuxtools.tmf.core.tests/stubs/org/eclipse/linuxtools/tmf/tests/stubs/trace/text/SyslogEventType.java
deleted file mode 100644
index 539faddc27..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core.tests/stubs/org/eclipse/linuxtools/tmf/tests/stubs/trace/text/SyslogEventType.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 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:
- * Bernd Hufmann - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.tests.stubs.trace.text;
-
-import org.eclipse.linuxtools.tmf.core.event.ITmfEventType;
-import org.eclipse.linuxtools.tmf.core.event.TmfEventField;
-import org.eclipse.linuxtools.tmf.core.event.TmfEventType;
-
-/**
- * The system log extension of the TMF event type.
- */
-public class SyslogEventType extends TmfEventType {
-
- /** The event type id string. */
- public static final String TYPE_ID = "Syslog"; //$NON-NLS-1$
- /** The labels (field names) used for SA system log events. */
- @SuppressWarnings("nls")
- public static final String[] LABELS = {"Timestamp", "Host", "Logger", "Message"};
- /** A default instance of this class */
- public static final SyslogEventType INSTANCE = new SyslogEventType();
-
- /** Index numbers in the array of event field names and values. */
- public interface Index {
- /** Index for time stamp */
- int TIMESTAMP = 0;
- /** Index for the host name */
- int HOST = 1;
- /** Index for the logger name */
- int LOGGER = 2;
- /** Index for the event message */
- int MESSAGE = 3;
- }
-
- /**
- * Default Constructor
- */
- public SyslogEventType() {
- super(ITmfEventType.DEFAULT_CONTEXT_ID, TYPE_ID, TmfEventField.makeRoot(LABELS));
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core.tests/stubs/org/eclipse/linuxtools/tmf/tests/stubs/trace/text/SyslogTrace.java b/lttng/org.eclipse.linuxtools.tmf.core.tests/stubs/org/eclipse/linuxtools/tmf/tests/stubs/trace/text/SyslogTrace.java
deleted file mode 100644
index f0b90656fd..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core.tests/stubs/org/eclipse/linuxtools/tmf/tests/stubs/trace/text/SyslogTrace.java
+++ /dev/null
@@ -1,116 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 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:
- * Bernd Hufmann - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.tests.stubs.trace.text;
-
-import java.text.ParseException;
-import java.text.SimpleDateFormat;
-import java.util.Calendar;
-import java.util.Date;
-import java.util.GregorianCalendar;
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
-
-import org.eclipse.linuxtools.tmf.core.timestamp.ITmfTimestamp;
-import org.eclipse.linuxtools.tmf.core.timestamp.TmfTimePreferences;
-import org.eclipse.linuxtools.tmf.core.timestamp.TmfTimestamp;
-import org.eclipse.linuxtools.tmf.core.timestamp.TmfTimestampFormat;
-import org.eclipse.linuxtools.tmf.core.trace.text.TextTrace;
-import org.eclipse.linuxtools.tmf.core.trace.text.TextTraceEventContent;
-import org.eclipse.linuxtools.tmf.tests.stubs.trace.text.SyslogEventType.Index;
-
-/**
- * Extension of TmfTrace for handling of system logs.
- */
-public class SyslogTrace extends TextTrace<SyslogEvent> {
-
- /** The cache size for system log traces. */
- private static final int CACHE_SIZE = 100;
- /** The time stamp format of the trace type. */
- public static final String TIMESTAMP_FORMAT = "MMM dd HH:mm:ss"; //$NON-NLS-1$
- /** The corresponding date format of the time stamp. */
- public static final SimpleDateFormat TIMESTAMP_SIMPLEDATEFORMAT = new SimpleDateFormat(
- TIMESTAMP_FORMAT, TmfTimePreferences.getInstance().getLocale());
- /** The regular expression pattern of the first line of an event. */
- public static final Pattern LINE1_PATTERN = Pattern.compile(
- "\\s*(\\S\\S\\S \\d\\d? \\d\\d:\\d\\d:\\d\\d)\\s*(\\S*)\\s*(\\S*):+\\s*(.*\\S)?"); //$NON-NLS-1$
-
- /* The current calendar to use */
- private static final Calendar CURRENT = Calendar.getInstance();
-
- /**
- * Constructor
- */
- public SyslogTrace() {
- setCacheSize(CACHE_SIZE);
- }
-
- @Override
- protected Pattern getFirstLinePattern() {
- return LINE1_PATTERN;
- }
-
- @Override
- protected SyslogEvent parseFirstLine(Matcher matcher, String line) {
-
- ITmfTimestamp timestamp = null;
-
- try {
- synchronized (TIMESTAMP_SIMPLEDATEFORMAT) {
- TIMESTAMP_SIMPLEDATEFORMAT.setTimeZone(TmfTimestampFormat.getDefaulTimeFormat().getTimeZone());
- Date date = TIMESTAMP_SIMPLEDATEFORMAT.parse(matcher.group(1));
- GregorianCalendar calendar = new GregorianCalendar();
- calendar.setTime(date);
- calendar.set(Calendar.YEAR, CURRENT.get(Calendar.YEAR));
- if (calendar.after(CURRENT)) {
- calendar.set(Calendar.YEAR, CURRENT.get(Calendar.YEAR) - 1);
- }
- long ns = calendar.getTimeInMillis() * 1000000;
- timestamp = createTimestamp(ns);
- }
- } catch (ParseException e) {
- timestamp = new TmfTimestamp();
- }
-
- TextTraceEventContent content = new TextTraceEventContent(SyslogEventType.LABELS);
- content.setValue(new StringBuffer(line));
- content.setFieldValue(Index.TIMESTAMP, matcher.group(1));
- content.setFieldValue(Index.HOST, matcher.group(2));
- content.setFieldValue(Index.LOGGER, matcher.group(3));
- content.setFieldValue(Index.MESSAGE, new StringBuffer(matcher.group(4) != null ? matcher.group(4) : "")); //$NON-NLS-1$
-
- SyslogEvent event = new SyslogEvent(
- this,
- timestamp,
- "", //$NON-NLS-1$
- SyslogEventType.INSTANCE,
- content,
- ""); //$NON-NLS-1$
-
- return event;
- }
-
- @Override
- protected void parseNextLine(SyslogEvent event, String line) {
- TextTraceEventContent content = event.getContent();
- ((StringBuffer) content.getValue()).append("\n").append(line); //$NON-NLS-1$
- if (line.trim().length() > 0) {
- ((StringBuffer) content.getFieldValue(Index.MESSAGE)).append(SEPARATOR + line.trim());
- }
- }
-
- @Override
- public ITmfTimestamp getInitialRangeOffset() {
- return new TmfTimestamp(60, ITmfTimestamp.SECOND_SCALE);
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core.tests/stubs/org/eclipse/linuxtools/tmf/tests/stubs/trace/xml/Messages.java b/lttng/org.eclipse.linuxtools.tmf.core.tests/stubs/org/eclipse/linuxtools/tmf/tests/stubs/trace/xml/Messages.java
deleted file mode 100644
index f0dba7e393..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core.tests/stubs/org/eclipse/linuxtools/tmf/tests/stubs/trace/xml/Messages.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 École Polytechnique de Montréal
- *
- * 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:
- * Geneviève Bastien - Initial implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.tests.stubs.trace.xml;
-
-import org.eclipse.osgi.util.NLS;
-
-/**
- * Externalized messages for the
- * {@link org.eclipse.linuxtools.tmf.tests.stubs.trace.xml} package
- *
- * @author Geneviève Bastien
- */
-@SuppressWarnings("javadoc")
-public class Messages extends NLS {
- private static final String BUNDLE_NAME = "org.eclipse.linuxtools.tmf.tests.stubs.trace.xml.messages"; //$NON-NLS-1$
-
- public static String TmfDevelopmentTrace_FileNotFound;
- public static String TmfDevelopmentTrace_IoError;
- public static String TmfDevelopmentTrace_ValidationError;
- static {
- // initialize resource bundle
- NLS.initializeMessages(BUNDLE_NAME, Messages.class);
- }
-
- private Messages() {
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core.tests/stubs/org/eclipse/linuxtools/tmf/tests/stubs/trace/xml/TmfXmlDevelopmentTrace.xml b/lttng/org.eclipse.linuxtools.tmf.core.tests/stubs/org/eclipse/linuxtools/tmf/tests/stubs/trace/xml/TmfXmlDevelopmentTrace.xml
deleted file mode 100644
index 96ec2b9b5d..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core.tests/stubs/org/eclipse/linuxtools/tmf/tests/stubs/trace/xml/TmfXmlDevelopmentTrace.xml
+++ /dev/null
@@ -1,38 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<CustomXMLTraceDefinitionList>
-<Definition name="handmade">
-<TimeStampOutputFormat>T</TimeStampOutputFormat>
-<InputElement name="trace">
-<InputElement logentry="true" name="event">
-<InputData action="0" format="" name="Ignore"/>
-<Attribute name="name">
-<InputData action="0" format="" name="Message"/>
-</Attribute>
-<Attribute name="source">
-<InputData action="0" format="" name="source"/>
-</Attribute>
-<Attribute name="timestamp">
-<InputData action="0" format="T" name="Time Stamp"/>
-</Attribute>
-<InputElement name="field">
-<InputData action="0" format="" name="Ignore"/>
-<Attribute name="name">
-<InputData action="2" format="" name="fields"/>
-</Attribute>
-<Attribute name="type">
-<InputData action="2" format="" name="type"/>
-</Attribute>
-<Attribute name="value">
-<InputData action="2" format="" name="values"/>
-</Attribute>
-</InputElement>
-</InputElement>
-</InputElement>
-<OutputColumn name="Time Stamp"/>
-<OutputColumn name="Message"/>
-<OutputColumn name="source"/>
-<OutputColumn name="fields"/>
-<OutputColumn name="values"/>
-<OutputColumn name="type"/>
-</Definition>
-</CustomXMLTraceDefinitionList>
diff --git a/lttng/org.eclipse.linuxtools.tmf.core.tests/stubs/org/eclipse/linuxtools/tmf/tests/stubs/trace/xml/TmfXmlDevelopmentTrace.xsd b/lttng/org.eclipse.linuxtools.tmf.core.tests/stubs/org/eclipse/linuxtools/tmf/tests/stubs/trace/xml/TmfXmlDevelopmentTrace.xsd
deleted file mode 100644
index fe8abdfd9e..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core.tests/stubs/org/eclipse/linuxtools/tmf/tests/stubs/trace/xml/TmfXmlDevelopmentTrace.xsd
+++ /dev/null
@@ -1,47 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!-- ***************************************************************************
- * Copyright (c) 2014 École Polytechnique de Montréal
- *
- * 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:
- * Geneviève Bastien - Initial API and implementation
- *************************************************************************** -->
-<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
- attributeFormDefault="unqualified" elementFormDefault="qualified">
-
- <xs:element name="trace">
- <xs:complexType>
- <xs:sequence>
- <xs:element maxOccurs="unbounded" minOccurs="0" name="event" type="event" />
- </xs:sequence>
- </xs:complexType>
- </xs:element>
-
- <xs:complexType name="event">
- <xs:sequence>
- <xs:element maxOccurs="unbounded" minOccurs="0" name="field" type="field" />
- </xs:sequence>
- <xs:attribute name="timestamp" type="xs:integer" use="required" />
- <xs:attribute name="name" type="xs:string" use="required" />
- <xs:attribute name="source" type="xs:integer" use="required" />
- </xs:complexType>
-
- <xs:complexType name="field">
- <xs:attribute name="name" type="xs:string" use="required" />
- <xs:attribute name="value" type="xs:string" use="required" />
- <xs:attribute name="type" use="required" >
- <xs:simpleType>
- <xs:restriction base="xs:string">
- <xs:enumeration value="int"/>
- <xs:enumeration value="long"/>
- <xs:enumeration value="string"/>
- </xs:restriction>
- </xs:simpleType>
- </xs:attribute>
- </xs:complexType>
-
-</xs:schema>
diff --git a/lttng/org.eclipse.linuxtools.tmf.core.tests/stubs/org/eclipse/linuxtools/tmf/tests/stubs/trace/xml/TmfXmlTraceStub.java b/lttng/org.eclipse.linuxtools.tmf.core.tests/stubs/org/eclipse/linuxtools/tmf/tests/stubs/trace/xml/TmfXmlTraceStub.java
deleted file mode 100644
index 47e7e89330..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core.tests/stubs/org/eclipse/linuxtools/tmf/tests/stubs/trace/xml/TmfXmlTraceStub.java
+++ /dev/null
@@ -1,252 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 École Polytechnique de Montréal
- *
- * 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:
- * Geneviève Bastien - Initial implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.tests.stubs.trace.xml;
-
-import java.io.File;
-import java.io.IOException;
-import java.io.InputStream;
-import java.net.URL;
-
-import javax.xml.XMLConstants;
-import javax.xml.transform.Source;
-import javax.xml.transform.stream.StreamSource;
-import javax.xml.validation.Schema;
-import javax.xml.validation.SchemaFactory;
-import javax.xml.validation.Validator;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jdt.annotation.NonNull;
-import org.eclipse.linuxtools.internal.tmf.core.Activator;
-import org.eclipse.linuxtools.tmf.core.event.ITmfEvent;
-import org.eclipse.linuxtools.tmf.core.event.ITmfEventField;
-import org.eclipse.linuxtools.tmf.core.event.ITmfEventType;
-import org.eclipse.linuxtools.tmf.core.event.TmfEvent;
-import org.eclipse.linuxtools.tmf.core.event.TmfEventField;
-import org.eclipse.linuxtools.tmf.core.event.TmfEventType;
-import org.eclipse.linuxtools.tmf.core.exceptions.TmfTraceException;
-import org.eclipse.linuxtools.tmf.core.parsers.custom.CustomEventContent;
-import org.eclipse.linuxtools.tmf.core.parsers.custom.CustomXmlEvent;
-import org.eclipse.linuxtools.tmf.core.parsers.custom.CustomXmlTrace;
-import org.eclipse.linuxtools.tmf.core.parsers.custom.CustomXmlTraceDefinition;
-import org.eclipse.linuxtools.tmf.core.signal.TmfSignalManager;
-import org.eclipse.linuxtools.tmf.core.timestamp.ITmfTimestamp;
-import org.eclipse.linuxtools.tmf.core.trace.ITmfContext;
-import org.eclipse.linuxtools.tmf.core.trace.TmfContext;
-import org.eclipse.linuxtools.tmf.core.trace.TmfTrace;
-import org.eclipse.linuxtools.tmf.core.trace.location.ITmfLocation;
-import org.eclipse.osgi.util.NLS;
-import org.xml.sax.SAXException;
-
-/**
- * An XML development trace using a custom XML trace definition and schema.
- *
- * This class will typically be used to build custom traces to unit test more
- * complex functionalities like analyzes or to develop and test data-driven
- * analyzes.
- *
- * This class wraps a custom XML trace and rewrites the returned events in the
- * getNext() method so that event's fields are the ones defined in <field ... />
- * elements instead of those defined in the custom XML parser. This way, each
- * event can have a different set of fields. This class can, for example, mimic
- * a CTF trace.
- *
- * @author Geneviève Bastien
- */
-public class TmfXmlTraceStub extends TmfTrace {
-
- private static final String DEVELOPMENT_TRACE_PARSER_PATH = "TmfXmlDevelopmentTrace.xml"; //$NON-NLS-1$
- private static final String DEVELOPMENT_TRACE_XSD = "TmfXmlDevelopmentTrace.xsd"; //$NON-NLS-1$
- private static final String EMPTY = ""; //$NON-NLS-1$
-
- /* XML elements and attributes names */
- private static final String EVENT_NAME_FIELD = "Message"; //$NON-NLS-1$
- private static final String FIELD_NAMES_FIELD = "fields"; //$NON-NLS-1$
- private static final String SOURCE_FIELD = "source"; //$NON-NLS-1$
- private static final String VALUES_FIELD = "values"; //$NON-NLS-1$
- private static final String TYPES_FIELD = "type"; //$NON-NLS-1$
- private static final String VALUES_SEPARATOR = " \\| "; //$NON-NLS-1$
- private static final String TYPE_INTEGER = "int"; //$NON-NLS-1$
- private static final String TYPE_LONG = "long"; //$NON-NLS-1$
-
- private final CustomXmlTrace fTrace;
-
- /**
- * Constructor. Constructs the custom XML trace with the appropriate
- * definition.
- */
- public TmfXmlTraceStub() {
-
- /* Load custom XML definition */
- try (InputStream in = TmfXmlTraceStub.class.getResourceAsStream(DEVELOPMENT_TRACE_PARSER_PATH);) {
- CustomXmlTraceDefinition[] definitions = CustomXmlTraceDefinition.loadAll(in);
- if (definitions.length == 0) {
- throw new IllegalStateException("The custom trace definition does not exist"); //$NON-NLS-1$
- }
- fTrace = new CustomXmlTrace(definitions[0]);
- /* Deregister the custom XML trace */
- TmfSignalManager.deregister(fTrace);
- this.setParser(fTrace);
- } catch (IOException e) {
- throw new IllegalStateException("Cannot open the trace parser for development traces"); //$NON-NLS-1$
- }
-
- }
-
- @Override
- public void initTrace(IResource resource, String path, Class<? extends ITmfEvent> type) throws TmfTraceException {
- super.initTrace(resource, path, type);
- fTrace.initTrace(resource, path, type);
- ITmfContext ctx;
- /* Set the start and (current) end times for this trace */
- ctx = seekEvent(0L);
- ITmfEvent event = getNext(ctx);
- if (event != null) {
- final ITmfTimestamp curTime = event.getTimestamp();
- this.setStartTime(curTime);
- this.setEndTime(curTime);
- }
- }
-
- @Override
- public ITmfLocation getCurrentLocation() {
- return fTrace.getCurrentLocation();
- }
-
- @Override
- public double getLocationRatio(ITmfLocation location) {
- return fTrace.getLocationRatio(location);
- }
-
- @Override
- public ITmfContext seekEvent(ITmfLocation location) {
- return fTrace.seekEvent(location);
- }
-
- @Override
- public ITmfContext seekEvent(double ratio) {
- return fTrace.seekEvent(ratio);
- }
-
- @Override
- public IStatus validate(IProject project, String path) {
- File xmlFile = new File(path);
- if (!xmlFile.exists() || !xmlFile.isFile() || !xmlFile.canRead()) {
- return new Status(IStatus.ERROR, Activator.PLUGIN_ID, NLS.bind(org.eclipse.linuxtools.tmf.tests.stubs.trace.xml.Messages.TmfDevelopmentTrace_FileNotFound, path));
- }
- /* Does the XML file validate with the XSD */
- SchemaFactory schemaFactory = SchemaFactory.newInstance(XMLConstants.W3C_XML_SCHEMA_NS_URI);
- Source xmlSource = new StreamSource(xmlFile);
-
- try {
- URL url = TmfXmlTraceStub.class.getResource(DEVELOPMENT_TRACE_XSD);
- Schema schema = schemaFactory.newSchema(url);
-
- Validator validator = schema.newValidator();
- validator.validate(xmlSource);
- } catch (SAXException e) {
- return new Status(IStatus.ERROR, Activator.PLUGIN_ID, NLS.bind(org.eclipse.linuxtools.tmf.tests.stubs.trace.xml.Messages.TmfDevelopmentTrace_ValidationError, path), e);
- } catch (IOException e) {
- return new Status(IStatus.ERROR, Activator.PLUGIN_ID, NLS.bind(org.eclipse.linuxtools.tmf.tests.stubs.trace.xml.Messages.TmfDevelopmentTrace_IoError, path), e);
- }
- return Status.OK_STATUS;
- }
-
- private static String getStringValue(@NonNull ITmfEventField content, String fieldName) {
- ITmfEventField field = content.getField(fieldName);
- if (field == null) {
- return EMPTY;
- }
- Object val = field.getValue();
- if (!(val instanceof String)) {
- return EMPTY;
- }
- return (String) val;
- }
-
- @Override
- public synchronized ITmfEvent getNext(ITmfContext context) {
- final ITmfContext savedContext = new TmfContext(context.getLocation(), context.getRank());
- CustomXmlEvent event = fTrace.getNext(context);
- if (event == null) {
- return null;
- }
-
- /* Translate the content of the event */
- /* The "fields" field contains a | separated list of field names */
- /* The "values" field contains a | separated list of field values */
- /* the "type" field contains a | separated list of field types */
- ITmfEventField content = event.getContent();
- if (content == null) {
- return null;
- }
- String fieldString = getStringValue(content, FIELD_NAMES_FIELD);
- String valueString = getStringValue(content, VALUES_FIELD);
- String typeString = getStringValue(content, TYPES_FIELD);
-
- String[] fields = fieldString.split(VALUES_SEPARATOR);
- String[] values = valueString.split(VALUES_SEPARATOR);
- String[] types = typeString.split(VALUES_SEPARATOR);
- ITmfEventField[] fieldsArray = new TmfEventField[fields.length];
-
- for (int i = 0; i < fields.length; i++) {
- String value = EMPTY;
- if (values.length > i) {
- value = values[i];
- }
- String type = null;
- if (types.length > i) {
- type = types[i];
- }
- Object val = value;
- if (type != null) {
- switch (type) {
- case TYPE_INTEGER: {
- try {
- val = Integer.valueOf(value);
- } catch (NumberFormatException e) {
- Activator.logError(String.format("Get next XML event: cannot cast value %s to integer", value), e); //$NON-NLS-1$
- val = 0;
- }
- break;
- }
- case TYPE_LONG: {
- try {
- val = Long.valueOf(value);
- } catch (NumberFormatException e) {
- Activator.logError(String.format("Get next XML event: cannot cast value %s to long", value), e); //$NON-NLS-1$
- val = 0L;
- }
- break;
- }
- default:
- break;
- }
- }
- fieldsArray[i] = new TmfEventField(fields[i], val, null);
- }
-
- /* Create a new event with new fields and name */
- ITmfEventType customEventType = event.getType();
- TmfEventType eventType = new TmfEventType(customEventType.getContext(), getStringValue(content, EVENT_NAME_FIELD), customEventType.getRootField());
- ITmfEventField eventFields = new CustomEventContent(content.getName(), content.getValue(), fieldsArray);
- TmfEvent newEvent = new TmfEvent(this, event.getTimestamp(), getStringValue(content, SOURCE_FIELD), eventType, eventFields, event.getReference());
- updateAttributes(savedContext, event.getTimestamp());
- context.increaseRank();
-
- return newEvent;
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core.tests/stubs/org/eclipse/linuxtools/tmf/tests/stubs/trace/xml/messages.properties b/lttng/org.eclipse.linuxtools.tmf.core.tests/stubs/org/eclipse/linuxtools/tmf/tests/stubs/trace/xml/messages.properties
deleted file mode 100644
index 005b58eba4..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core.tests/stubs/org/eclipse/linuxtools/tmf/tests/stubs/trace/xml/messages.properties
+++ /dev/null
@@ -1,15 +0,0 @@
-###############################################################################
-# Copyright (c) 2014 École Polytechnique de Montréal
-#
-# 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:
-# École Polytechnique de Montréal - Initial API and implementation
-###############################################################################
-
-TmfDevelopmentTrace_FileNotFound=File not found: {0}
-TmfDevelopmentTrace_IoError=IOException validating file: {0}
-TmfDevelopmentTrace_ValidationError=Trace file does not validate: {0}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core.tests/testfiles/A-Test-10K b/lttng/org.eclipse.linuxtools.tmf.core.tests/testfiles/A-Test-10K
deleted file mode 100644
index cfb674ae46..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core.tests/testfiles/A-Test-10K
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.tmf.core.tests/testfiles/A-Test-10K-2 b/lttng/org.eclipse.linuxtools.tmf.core.tests/testfiles/A-Test-10K-2
deleted file mode 100644
index 4cb2422465..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core.tests/testfiles/A-Test-10K-2
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.tmf.core.tests/testfiles/E-Test-10K b/lttng/org.eclipse.linuxtools.tmf.core.tests/testfiles/E-Test-10K
deleted file mode 100644
index 08ab10d40b..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core.tests/testfiles/E-Test-10K
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.tmf.core.tests/testfiles/O-Test-10K b/lttng/org.eclipse.linuxtools.tmf.core.tests/testfiles/O-Test-10K
deleted file mode 100644
index c7db621e85..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core.tests/testfiles/O-Test-10K
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.tmf.core.tests/testfiles/R-Test-10K b/lttng/org.eclipse.linuxtools.tmf.core.tests/testfiles/R-Test-10K
deleted file mode 100644
index 3e1dcb799d..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core.tests/testfiles/R-Test-10K
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.tmf.core.tests/testfiles/stub_xml_traces/invalid/txtFile.txt b/lttng/org.eclipse.linuxtools.tmf.core.tests/testfiles/stub_xml_traces/invalid/txtFile.txt
deleted file mode 100644
index 1643e89e70..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core.tests/testfiles/stub_xml_traces/invalid/txtFile.txt
+++ /dev/null
@@ -1 +0,0 @@
-This is not an XML development trace \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.tmf.core.tests/testfiles/stub_xml_traces/invalid/xmlFile.xml b/lttng/org.eclipse.linuxtools.tmf.core.tests/testfiles/stub_xml_traces/invalid/xmlFile.xml
deleted file mode 100644
index c9c817a82f..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core.tests/testfiles/stub_xml_traces/invalid/xmlFile.xml
+++ /dev/null
@@ -1,19 +0,0 @@
-<!-- missing name attribute in first event -->
-<trace>
-<event timestamp="1" source="1">
-<field name="b" value="1" type="int" />
-<field name="d" value="3" type="int" />
-</event>
-<event timestamp="3" name="B" source="2">
-<field name="f" value="c" type="string" />
-<field name="g" value="e" type="string" />
-</event>
-<event timestamp="4" name="A" source="1">
-<field name="b" value="3" type="int" />
-<field name="d" value="7" type="int" />
-</event>
-<event timestamp="5" name="B" source="2">
-<field name="f" value="c" type="string" />
-<field name="g" value="e" type="string" />
-</event>
-</trace> \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.tmf.core.tests/testfiles/stub_xml_traces/valid/test.xml b/lttng/org.eclipse.linuxtools.tmf.core.tests/testfiles/stub_xml_traces/valid/test.xml
deleted file mode 100644
index 2912f319cd..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core.tests/testfiles/stub_xml_traces/valid/test.xml
+++ /dev/null
@@ -1,18 +0,0 @@
-<trace>
-<event timestamp="1" name="A" source="1">
-<field name="b" value="1" type="int" />
-<field name="d" value="3" type="int" />
-</event>
-<event timestamp="3" name="B" source="2">
-<field name="f" value="c" type="string" />
-<field name="g" value="e" type="string" />
-</event>
-<event timestamp="4" name="A" source="1">
-<field name="b" value="3" type="int" />
-<field name="d" value="7" type="int" />
-</event>
-<event timestamp="5" name="B" source="2">
-<field name="f" value="c" type="string" />
-<field name="g" value="e" type="string" />
-</event>
-</trace> \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.tmf.core.tests/testfiles/syslog b/lttng/org.eclipse.linuxtools.tmf.core.tests/testfiles/syslog
deleted file mode 100644
index 5ea5d3477b..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core.tests/testfiles/syslog
+++ /dev/null
@@ -1,6 +0,0 @@
-Jan 1 01:01:01 HostA LoggerA: Message A
-Jan 1 02:02:02 HostB LoggerB: Message B
-Jan 1 03:03:03 HostC LoggerC: Message C
-Jan 1 04:04:04 HostD LoggerD: Message D
-Jan 1 05:05:05 HostE LoggerE:
-Jan 1 06:06:06 HostF LoggerF: Message F
diff --git a/lttng/org.eclipse.linuxtools.tmf.core.tests/testfiles/syslog_collapse b/lttng/org.eclipse.linuxtools.tmf.core.tests/testfiles/syslog_collapse
deleted file mode 100644
index 556c0f2b72..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core.tests/testfiles/syslog_collapse
+++ /dev/null
@@ -1,22 +0,0 @@
-Jan 1 01:01:01 HostA LoggerA: Message A
-Jan 1 02:02:02 HostB LoggerB: Message B
-Jan 1 03:03:03 HostC LoggerC: Message C
-Jan 1 04:04:04 HostD LoggerD: Message D
-Jan 1 05:05:05 HostE LoggerE:
-Jan 1 06:06:06 HostF LoggerF: Message F
-Jan 1 06:06:07 HostF LoggerF: Message F
-Jan 1 06:06:08 HostF LoggerF: Message F
-Jan 1 06:06:09 HostF LoggerF: Message F
-Jan 1 06:06:10 HostF LoggerF: Message F
-Jan 1 06:06:11 HostF LoggerF: Message F
-Jan 1 06:06:12 HostF LoggerF: Message F
-Jan 1 06:06:13 HostF LoggerF: Message F
-Jan 1 06:06:14 HostF LoggerF: Message F
-Jan 1 06:06:15 HostF LoggerF: Message F
-Jan 1 06:06:16 HostF LoggerF: Message F
-Jan 1 06:06:17 HostF LoggerF: Message F
-Jan 1 06:06:18 HostF LoggerF: Message F
-Jan 1 06:06:19 HostF LoggerF: Message F
-Jan 1 06:06:20 HostF LoggerF: Message F
-Jan 1 06:06:21 HostF LoggerF: Message D
-Jan 1 06:06:22 HostF LoggerF: Message D
diff --git a/lttng/org.eclipse.linuxtools.tmf.core/.classpath b/lttng/org.eclipse.linuxtools.tmf.core/.classpath
deleted file mode 100644
index 098194ca4b..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
- <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.7"/>
- <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
- <classpathentry kind="src" path="src"/>
- <classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/lttng/org.eclipse.linuxtools.tmf.core/.options b/lttng/org.eclipse.linuxtools.tmf.core/.options
deleted file mode 100644
index 1d3c7c3184..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core/.options
+++ /dev/null
@@ -1,4 +0,0 @@
-org.eclipse.linuxtools.tmf.core/component=false
-org.eclipse.linuxtools.tmf.core/request=false
-org.eclipse.linuxtools.tmf.core/signal=false
-org.eclipse.linuxtools.tmf.core/event=false
diff --git a/lttng/org.eclipse.linuxtools.tmf.core/.project b/lttng/org.eclipse.linuxtools.tmf.core/.project
deleted file mode 100644
index 17bce46315..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core/.project
+++ /dev/null
@@ -1,34 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>org.eclipse.linuxtools.tmf.core</name>
- <comment></comment>
- <projects>
- </projects>
- <buildSpec>
- <buildCommand>
- <name>org.eclipse.jdt.core.javabuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.ManifestBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.SchemaBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.api.tools.apiAnalysisBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>org.eclipse.pde.PluginNature</nature>
- <nature>org.eclipse.jdt.core.javanature</nature>
- <nature>org.eclipse.pde.api.tools.apiAnalysisNature</nature>
- </natures>
-</projectDescription>
diff --git a/lttng/org.eclipse.linuxtools.tmf.core/.settings/org.eclipse.core.resources.prefs b/lttng/org.eclipse.linuxtools.tmf.core/.settings/org.eclipse.core.resources.prefs
deleted file mode 100644
index 99f26c0203..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core/.settings/org.eclipse.core.resources.prefs
+++ /dev/null
@@ -1,2 +0,0 @@
-eclipse.preferences.version=1
-encoding/<project>=UTF-8
diff --git a/lttng/org.eclipse.linuxtools.tmf.core/.settings/org.eclipse.core.runtime.prefs b/lttng/org.eclipse.linuxtools.tmf.core/.settings/org.eclipse.core.runtime.prefs
deleted file mode 100644
index 5a0ad22d2a..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core/.settings/org.eclipse.core.runtime.prefs
+++ /dev/null
@@ -1,2 +0,0 @@
-eclipse.preferences.version=1
-line.separator=\n
diff --git a/lttng/org.eclipse.linuxtools.tmf.core/.settings/org.eclipse.jdt.core.prefs b/lttng/org.eclipse.linuxtools.tmf.core/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index 9f3662cd78..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,394 +0,0 @@
-eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.annotation.inheritNullAnnotations=enabled
-org.eclipse.jdt.core.compiler.annotation.missingNonNullByDefaultAnnotation=ignore
-org.eclipse.jdt.core.compiler.annotation.nonnull=org.eclipse.jdt.annotation.NonNull
-org.eclipse.jdt.core.compiler.annotation.nonnullbydefault=org.eclipse.jdt.annotation.NonNullByDefault
-org.eclipse.jdt.core.compiler.annotation.nullable=org.eclipse.jdt.annotation.Nullable
-org.eclipse.jdt.core.compiler.annotation.nullanalysis=enabled
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.7
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.doc.comment.support=enabled
-org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=error
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
-org.eclipse.jdt.core.compiler.problem.comparingIdentical=error
-org.eclipse.jdt.core.compiler.problem.deadCode=error
-org.eclipse.jdt.core.compiler.problem.deprecation=error
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled
-org.eclipse.jdt.core.compiler.problem.discouragedReference=warning
-org.eclipse.jdt.core.compiler.problem.emptyStatement=error
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.problem.explicitlyClosedAutoCloseable=error
-org.eclipse.jdt.core.compiler.problem.fallthroughCase=error
-org.eclipse.jdt.core.compiler.problem.fatalOptionalError=disabled
-org.eclipse.jdt.core.compiler.problem.fieldHiding=error
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=error
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=error
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=error
-org.eclipse.jdt.core.compiler.problem.includeNullInfoFromAsserts=disabled
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=error
-org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=error
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=error
-org.eclipse.jdt.core.compiler.problem.invalidJavadoc=warning
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTags=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=protected
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=error
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=error
-org.eclipse.jdt.core.compiler.problem.missingDefaultCase=error
-org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=error
-org.eclipse.jdt.core.compiler.problem.missingEnumCaseDespiteDefault=enabled
-org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=error
-org.eclipse.jdt.core.compiler.problem.missingJavadocComments=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=protected
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagDescription=all_standard_tags
-org.eclipse.jdt.core.compiler.problem.missingJavadocTags=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsMethodTypeParameters=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=protected
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=error
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotationForInterfaceMethodImplementation=enabled
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=error
-org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=error
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=error
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=error
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=warning
-org.eclipse.jdt.core.compiler.problem.nonnullParameterAnnotationDropped=warning
-org.eclipse.jdt.core.compiler.problem.nullAnnotationInferenceConflict=warning
-org.eclipse.jdt.core.compiler.problem.nullReference=error
-org.eclipse.jdt.core.compiler.problem.nullSpecViolation=error
-org.eclipse.jdt.core.compiler.problem.nullUncheckedConversion=warning
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=error
-org.eclipse.jdt.core.compiler.problem.parameterAssignment=error
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=error
-org.eclipse.jdt.core.compiler.problem.potentialNullReference=error
-org.eclipse.jdt.core.compiler.problem.potentiallyUnclosedCloseable=warning
-org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning
-org.eclipse.jdt.core.compiler.problem.redundantNullAnnotation=warning
-org.eclipse.jdt.core.compiler.problem.redundantNullCheck=error
-org.eclipse.jdt.core.compiler.problem.redundantSpecificationOfTypeArguments=error
-org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=error
-org.eclipse.jdt.core.compiler.problem.reportMethodCanBePotentiallyStatic=ignore
-org.eclipse.jdt.core.compiler.problem.reportMethodCanBeStatic=error
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=error
-org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=disabled
-org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
-org.eclipse.jdt.core.compiler.problem.syntacticNullAnalysisForFields=enabled
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
-org.eclipse.jdt.core.compiler.problem.typeParameterHiding=error
-org.eclipse.jdt.core.compiler.problem.unavoidableGenericTypeProblems=disabled
-org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
-org.eclipse.jdt.core.compiler.problem.unclosedCloseable=error
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
-org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=error
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=error
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=error
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=warning
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=disabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=disabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=error
-org.eclipse.jdt.core.compiler.problem.unusedLabel=error
-org.eclipse.jdt.core.compiler.problem.unusedLocal=error
-org.eclipse.jdt.core.compiler.problem.unusedObjectAllocation=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=error
-org.eclipse.jdt.core.compiler.problem.unusedTypeParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedWarningToken=error
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=error
-org.eclipse.jdt.core.compiler.source=1.7
-org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_assignment=0
-org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
-org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
-org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
-org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
-org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0
-org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=80
-org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=0
-org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch=16
-org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_after_package=1
-org.eclipse.jdt.core.formatter.blank_lines_before_field=0
-org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
-org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
-org.eclipse.jdt.core.formatter.blank_lines_before_method=1
-org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
-org.eclipse.jdt.core.formatter.blank_lines_before_package=0
-org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
-org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
-org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
-org.eclipse.jdt.core.formatter.comment.format_block_comments=true
-org.eclipse.jdt.core.formatter.comment.format_header=false
-org.eclipse.jdt.core.formatter.comment.format_html=true
-org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=true
-org.eclipse.jdt.core.formatter.comment.format_line_comments=true
-org.eclipse.jdt.core.formatter.comment.format_source_code=true
-org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true
-org.eclipse.jdt.core.formatter.comment.indent_root_tags=true
-org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
-org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=insert
-org.eclipse.jdt.core.formatter.comment.line_length=80
-org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries=true
-org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries=true
-org.eclipse.jdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments=false
-org.eclipse.jdt.core.formatter.compact_else_if=true
-org.eclipse.jdt.core.formatter.continuation_indentation=2
-org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2
-org.eclipse.jdt.core.formatter.disabling_tag=@formatter\:off
-org.eclipse.jdt.core.formatter.enabling_tag=@formatter\:on
-org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
-org.eclipse.jdt.core.formatter.format_line_comment_starting_on_first_column=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
-org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_empty_lines=false
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=false
-org.eclipse.jdt.core.formatter.indentation.size=4
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_label=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_try=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources=insert
-org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_try=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
-org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.join_lines_in_comments=true
-org.eclipse.jdt.core.formatter.join_wrapped_lines=false
-org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.lineSplit=250
-org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
-org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
-org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true
-org.eclipse.jdt.core.formatter.tabulation.char=space
-org.eclipse.jdt.core.formatter.tabulation.size=4
-org.eclipse.jdt.core.formatter.use_on_off_tags=false
-org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
-org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
-org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true
-org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true
diff --git a/lttng/org.eclipse.linuxtools.tmf.core/.settings/org.eclipse.jdt.ui.prefs b/lttng/org.eclipse.linuxtools.tmf.core/.settings/org.eclipse.jdt.ui.prefs
deleted file mode 100644
index 4fd0c7006a..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core/.settings/org.eclipse.jdt.ui.prefs
+++ /dev/null
@@ -1,56 +0,0 @@
-eclipse.preferences.version=1
-editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
-formatter_profile=_tmf-style
-formatter_settings_version=12
-sp_cleanup.add_default_serial_version_id=true
-sp_cleanup.add_generated_serial_version_id=false
-sp_cleanup.add_missing_annotations=false
-sp_cleanup.add_missing_deprecated_annotations=true
-sp_cleanup.add_missing_methods=false
-sp_cleanup.add_missing_nls_tags=false
-sp_cleanup.add_missing_override_annotations=true
-sp_cleanup.add_missing_override_annotations_interface_methods=true
-sp_cleanup.add_serial_version_id=false
-sp_cleanup.always_use_blocks=true
-sp_cleanup.always_use_parentheses_in_expressions=false
-sp_cleanup.always_use_this_for_non_static_field_access=false
-sp_cleanup.always_use_this_for_non_static_method_access=false
-sp_cleanup.convert_to_enhanced_for_loop=false
-sp_cleanup.correct_indentation=false
-sp_cleanup.format_source_code=false
-sp_cleanup.format_source_code_changes_only=false
-sp_cleanup.make_local_variable_final=false
-sp_cleanup.make_parameters_final=false
-sp_cleanup.make_private_fields_final=true
-sp_cleanup.make_type_abstract_if_missing_method=false
-sp_cleanup.make_variable_declarations_final=false
-sp_cleanup.never_use_blocks=false
-sp_cleanup.never_use_parentheses_in_expressions=true
-sp_cleanup.on_save_use_additional_actions=true
-sp_cleanup.organize_imports=false
-sp_cleanup.qualify_static_field_accesses_with_declaring_class=false
-sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_with_declaring_class=false
-sp_cleanup.qualify_static_method_accesses_with_declaring_class=false
-sp_cleanup.remove_private_constructors=true
-sp_cleanup.remove_trailing_whitespaces=true
-sp_cleanup.remove_trailing_whitespaces_all=true
-sp_cleanup.remove_trailing_whitespaces_ignore_empty=false
-sp_cleanup.remove_unnecessary_casts=false
-sp_cleanup.remove_unnecessary_nls_tags=false
-sp_cleanup.remove_unused_imports=false
-sp_cleanup.remove_unused_local_variables=false
-sp_cleanup.remove_unused_private_fields=true
-sp_cleanup.remove_unused_private_members=false
-sp_cleanup.remove_unused_private_methods=true
-sp_cleanup.remove_unused_private_types=true
-sp_cleanup.sort_members=false
-sp_cleanup.sort_members_all=false
-sp_cleanup.use_blocks=true
-sp_cleanup.use_blocks_only_for_return_and_throw=false
-sp_cleanup.use_parentheses_in_expressions=false
-sp_cleanup.use_this_for_non_static_field_access=false
-sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=true
-sp_cleanup.use_this_for_non_static_method_access=false
-sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true
diff --git a/lttng/org.eclipse.linuxtools.tmf.core/.settings/org.eclipse.pde.api.tools.prefs b/lttng/org.eclipse.linuxtools.tmf.core/.settings/org.eclipse.pde.api.tools.prefs
deleted file mode 100644
index acc3abd47c..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core/.settings/org.eclipse.pde.api.tools.prefs
+++ /dev/null
@@ -1,97 +0,0 @@
-ANNOTATION_ELEMENT_TYPE_ADDED_METHOD_WITHOUT_DEFAULT_VALUE=Error
-ANNOTATION_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
-ANNOTATION_ELEMENT_TYPE_REMOVED_FIELD=Error
-ANNOTATION_ELEMENT_TYPE_REMOVED_METHOD=Error
-ANNOTATION_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
-API_COMPONENT_ELEMENT_TYPE_REMOVED_API_TYPE=Error
-API_COMPONENT_ELEMENT_TYPE_REMOVED_REEXPORTED_API_TYPE=Error
-API_COMPONENT_ELEMENT_TYPE_REMOVED_REEXPORTED_TYPE=Error
-API_COMPONENT_ELEMENT_TYPE_REMOVED_TYPE=Error
-API_USE_SCAN_FIELD_SEVERITY=Error
-API_USE_SCAN_METHOD_SEVERITY=Error
-API_USE_SCAN_TYPE_SEVERITY=Error
-CLASS_ELEMENT_TYPE_ADDED_METHOD=Error
-CLASS_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
-CLASS_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
-CLASS_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error
-CLASS_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
-CLASS_ELEMENT_TYPE_CHANGED_NON_ABSTRACT_TO_ABSTRACT=Error
-CLASS_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error
-CLASS_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
-CLASS_ELEMENT_TYPE_REMOVED_CONSTRUCTOR=Error
-CLASS_ELEMENT_TYPE_REMOVED_FIELD=Error
-CLASS_ELEMENT_TYPE_REMOVED_METHOD=Error
-CLASS_ELEMENT_TYPE_REMOVED_SUPERCLASS=Error
-CLASS_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
-CLASS_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
-CONSTRUCTOR_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
-CONSTRUCTOR_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
-CONSTRUCTOR_ELEMENT_TYPE_CHANGED_VARARGS_TO_ARRAY=Error
-CONSTRUCTOR_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
-ENUM_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error
-ENUM_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
-ENUM_ELEMENT_TYPE_REMOVED_ENUM_CONSTANT=Error
-ENUM_ELEMENT_TYPE_REMOVED_FIELD=Error
-ENUM_ELEMENT_TYPE_REMOVED_METHOD=Error
-ENUM_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
-FIELD_ELEMENT_TYPE_ADDED_VALUE=Error
-FIELD_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
-FIELD_ELEMENT_TYPE_CHANGED_FINAL_TO_NON_FINAL_STATIC_CONSTANT=Error
-FIELD_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error
-FIELD_ELEMENT_TYPE_CHANGED_NON_STATIC_TO_STATIC=Error
-FIELD_ELEMENT_TYPE_CHANGED_STATIC_TO_NON_STATIC=Error
-FIELD_ELEMENT_TYPE_CHANGED_TYPE=Error
-FIELD_ELEMENT_TYPE_CHANGED_VALUE=Error
-FIELD_ELEMENT_TYPE_REMOVED_TYPE_ARGUMENT=Error
-FIELD_ELEMENT_TYPE_REMOVED_VALUE=Error
-ILLEGAL_EXTEND=Warning
-ILLEGAL_IMPLEMENT=Warning
-ILLEGAL_INSTANTIATE=Warning
-ILLEGAL_OVERRIDE=Warning
-ILLEGAL_REFERENCE=Warning
-INTERFACE_ELEMENT_TYPE_ADDED_FIELD=Error
-INTERFACE_ELEMENT_TYPE_ADDED_METHOD=Error
-INTERFACE_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
-INTERFACE_ELEMENT_TYPE_ADDED_SUPER_INTERFACE_WITH_METHODS=Error
-INTERFACE_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
-INTERFACE_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error
-INTERFACE_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
-INTERFACE_ELEMENT_TYPE_REMOVED_FIELD=Error
-INTERFACE_ELEMENT_TYPE_REMOVED_METHOD=Error
-INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
-INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
-INVALID_JAVADOC_TAG=Warning
-INVALID_REFERENCE_IN_SYSTEM_LIBRARIES=Warning
-LEAK_EXTEND=Warning
-LEAK_FIELD_DECL=Warning
-LEAK_IMPLEMENT=Warning
-LEAK_METHOD_PARAM=Warning
-LEAK_METHOD_RETURN_TYPE=Warning
-METHOD_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
-METHOD_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
-METHOD_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
-METHOD_ELEMENT_TYPE_CHANGED_NON_ABSTRACT_TO_ABSTRACT=Error
-METHOD_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error
-METHOD_ELEMENT_TYPE_CHANGED_NON_STATIC_TO_STATIC=Error
-METHOD_ELEMENT_TYPE_CHANGED_STATIC_TO_NON_STATIC=Error
-METHOD_ELEMENT_TYPE_CHANGED_VARARGS_TO_ARRAY=Error
-METHOD_ELEMENT_TYPE_REMOVED_ANNOTATION_DEFAULT_VALUE=Error
-METHOD_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
-MISSING_EE_DESCRIPTIONS=Ignore
-TYPE_PARAMETER_ELEMENT_TYPE_ADDED_CLASS_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_ADDED_INTERFACE_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_CHANGED_CLASS_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_CHANGED_INTERFACE_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_CLASS_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error
-UNUSED_PROBLEM_FILTERS=Warning
-automatically_removed_unused_problem_filters=false
-eclipse.preferences.version=1
-incompatible_api_component_version=Error
-incompatible_api_component_version_include_major_without_breaking_change=Disabled
-incompatible_api_component_version_include_minor_without_api_change=Disabled
-invalid_since_tag_version=Error
-malformed_since_tag=Error
-missing_since_tag=Error
-report_api_breakage_when_major_version_incremented=Disabled
-report_resolution_errors_api_component=Warning
diff --git a/lttng/org.eclipse.linuxtools.tmf.core/.settings/org.eclipse.pde.prefs b/lttng/org.eclipse.linuxtools.tmf.core/.settings/org.eclipse.pde.prefs
deleted file mode 100644
index d92b94fd4b..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core/.settings/org.eclipse.pde.prefs
+++ /dev/null
@@ -1,32 +0,0 @@
-compilers.f.unresolved-features=1
-compilers.f.unresolved-plugins=1
-compilers.incompatible-environment=1
-compilers.p.build=1
-compilers.p.build.bin.includes=1
-compilers.p.build.encodings=2
-compilers.p.build.java.compiler=2
-compilers.p.build.java.compliance=1
-compilers.p.build.missing.output=2
-compilers.p.build.output.library=1
-compilers.p.build.source.library=1
-compilers.p.build.src.includes=1
-compilers.p.deprecated=1
-compilers.p.discouraged-class=1
-compilers.p.internal=1
-compilers.p.missing-packages=1
-compilers.p.missing-version-export-package=2
-compilers.p.missing-version-import-package=2
-compilers.p.missing-version-require-bundle=2
-compilers.p.no-required-att=0
-compilers.p.not-externalized-att=1
-compilers.p.unknown-attribute=1
-compilers.p.unknown-class=1
-compilers.p.unknown-element=1
-compilers.p.unknown-identifier=1
-compilers.p.unknown-resource=1
-compilers.p.unresolved-ex-points=0
-compilers.p.unresolved-import=0
-compilers.s.create-docs=false
-compilers.s.doc-folder=doc
-compilers.s.open-tags=1
-eclipse.preferences.version=1
diff --git a/lttng/org.eclipse.linuxtools.tmf.core/ChangeLog b/lttng/org.eclipse.linuxtools.tmf.core/ChangeLog
deleted file mode 100644
index 2ad58a7fcf..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core/ChangeLog
+++ /dev/null
@@ -1,204 +0,0 @@
-2011-03-10 Francois Chouinard <fchouinard@gmail.com>
-
- * src/org/eclipse/linuxtools/tmf/.options: Fixed a typo
- * src/org/eclipse/linuxtools/tmf/signal/TmfSignalManager.java: Improved request tracing
- * src/org/eclipse/linuxtools/tmf/request/TmfRequestExecutor.java: Improved request tracing
- * src/org/eclipse/linuxtools/tmf/request/TmfEventRequest.java: Streamlined constructor
- * src/org/eclipse/linuxtools/tmf/request/TmfDataRequest.java: Improved request tracing
- * src/org/eclipse/linuxtools/tmf/component/TmfEventProvider.java: Improved request tracing
- * src/org/eclipse/linuxtools/tmf/component/TmfDataProvider.java: Improved request tracing
- * src/org/eclipse/linuxtools/tmf/Tracer.java: Improved request tracing
- * src/org/eclipse/linuxtools/tmf/experiment/TmfExperiment.java: Fixed request completion call
-
-2010-12-13 Bernd Hufmann <bhufmann@gmail.com>
-
- * src/org/eclipse/linuxtools/tmf/experiment/TmfExperiment.java (armRequest): For data requests, seek only if necessary
-
-2010-11-23 Francois Chouinard <fchouinard@gmail.com>
-
- * src/org/eclipse/linuxtools/tmf/component/TmfDataProvider.java: Adjusted background request block size
- * src/org/eclipse/linuxtools/tmf/trace/TmfTrace.java: Adjusted buffering between checkpoints
-
-2010-11-10 Francois Chouinard <fchouinard@gmail.com>
-
- Suppress warning for non-externalized strings
- * src/org/eclipse/linuxtools/tmf/experiment/TmfExperiment.java:
-
-2010-11-09 Francois Chouinard <fchouinard@gmail.com>
-
- * src/org/eclipse/linuxtools/tmf/experiment/TmfExperiment.java (getNextEvent): Fix for NullPointerException
-
- Suppress warning for non-externalized strings
- * src/org/eclipse/linuxtools/tmf/component/TmfDataProvider.java (newCoalescedDataRequest):
- (coalesceDataRequest):
- (.run):
- (queueRequest):
- * src/org/eclipse/linuxtools/tmf/component/TmfEventProvider.java (newCoalescedDataRequest):
- * src/org/eclipse/linuxtools/tmf/event/TmfEvent.java (toString):
- * src/org/eclipse/linuxtools/tmf/event/TmfEventContent.java (toString):
- * src/org/eclipse/linuxtools/tmf/event/TmfEventField.java (toString):
- * src/org/eclipse/linuxtools/tmf/event/TmfEventReference.java (toString):
- * src/org/eclipse/linuxtools/tmf/event/TmfEventSource.java (toString):
- * src/org/eclipse/linuxtools/tmf/event/TmfEventType.java (DEFAULT_TYPE_ID):
- (getLabel):
- (toString):
- * src/org/eclipse/linuxtools/tmf/event/TmfTimeRange.java (toString):
- * src/org/eclipse/linuxtools/tmf/event/TmfTimestamp.java (synchronize):
- (toString):
- * src/org/eclipse/linuxtools/tmf/event/TmfTraceEvent.java (toString):
- * src/org/eclipse/linuxtools/tmf/experiment/TmfExperiment.java (TmfExperiment):
- (toString):
- * src/org/eclipse/linuxtools/tmf/experiment/TmfExperimentLocation.java (toString):
- * src/org/eclipse/linuxtools/tmf/request/TmfCoalescedDataRequest.java (toString):
- * src/org/eclipse/linuxtools/tmf/request/TmfCoalescedEventRequest.java (toString):
- * src/org/eclipse/linuxtools/tmf/request/TmfDataRequest.java (TmfDataRequest):
- (handleCompleted):
- (start):
- (done):
- (toString):
- * src/org/eclipse/linuxtools/tmf/request/TmfEventRequest.java (toString):
- * src/org/eclipse/linuxtools/tmf/request/TmfRequestExecutor.java (TmfRequestExecutor):
- (stop):
- (.run):
- (toString):
- * src/org/eclipse/linuxtools/tmf/signal/TmfExperimentSelectedSignal.java (toString):
- * src/org/eclipse/linuxtools/tmf/signal/TmfExperimentUpdatedSignal.java (toString):
- * src/org/eclipse/linuxtools/tmf/signal/TmfSignalTracer.java (traceSignal):
- * src/org/eclipse/linuxtools/tmf/signal/TmfTimeSynchSignal.java (toString):
- * src/org/eclipse/linuxtools/tmf/signal/TmfTraceClosedSignal.java (toString):
- * src/org/eclipse/linuxtools/tmf/signal/TmfTraceOpenedSignal.java (toString):
- * src/org/eclipse/linuxtools/tmf/signal/TmfTraceParserUpdatedSignal.java (toString):
- * src/org/eclipse/linuxtools/tmf/signal/TmfTraceSelectedSignal.java (toString):
- * src/org/eclipse/linuxtools/tmf/signal/TmfTraceUpdatedSignal.java (toString):
- * src/org/eclipse/linuxtools/tmf/TmfCorePlugin.java (PLUGIN_ID):
- * src/org/eclipse/linuxtools/tmf/trace/TmfCheckpoint.java (toString):
- * src/org/eclipse/linuxtools/tmf/trace/TmfContext.java (toString):
- * src/org/eclipse/linuxtools/tmf/trace/TmfLocation.java (toString):
- (clone):
- * src/org/eclipse/linuxtools/tmf/trace/TmfTrace.java (toString):
- * src/org/eclipse/linuxtools/tmf/Tracer.java:
-
-2010-11-04 Francois Chouinard <fchouinard@gmail.com>
-
- * src/org/eclipse/linuxtools/tmf/experiment/TmfExperiment.java: Use the correct index page size
- * src/org/eclipse/linuxtools/tmf/trace/TmfTrace.java: Added indexTrace() and support code
-
-2010-10-29 Francois Chouinard <fchouinard@gmail.com>
-
- * src/org/eclipse/linuxtools/tmf/experiment/TmfExperiment.java (getNextEvent): Removed an unnecessary clone() operation
-
-2010-10-27 Francois Chouinard <fchouinard@gmail.com>
-
- * src/org/eclipse/linuxtools/tmf/component/ITmfDataProvider.java: Augmented API for coalescing (notifyPendingRequest)
- * src/org/eclipse/linuxtools/tmf/component/TmfDataProvider.java: Request coalescing and cancelling
- * src/org/eclipse/linuxtools/tmf/experiment/TmfExperiment.java: Augmented API
- * src/org/eclipse/linuxtools/tmf/request/TmfCoalescedDataRequest.java: Improved coalescing and cancelling
- * src/org/eclipse/linuxtools/tmf/request/TmfCoalescedEventRequest.java: Ditto
- * src/org/eclipse/linuxtools/tmf/request/TmfDataRequest.java: Ditto
- * src/org/eclipse/linuxtools/tmf/signal/TmfSignalManager.java: Renaming of a field
-
-2010-10-15 Francois Chouinard <fchouinard@gmail.com>
-
- * src/org/eclipse/linuxtools/tmf/event/TmfEvent.java: Implement cloning
- * src/org/eclipse/linuxtools/tmf/event/TmfEventContent.java: Implement cloning
- * src/org/eclipse/linuxtools/tmf/event/TmfEventField.java: Implement cloning
- * src/org/eclipse/linuxtools/tmf/event/TmfEventReference.java: Implement cloning
- * src/org/eclipse/linuxtools/tmf/event/TmfEventSource.java: Implement cloning
- * src/org/eclipse/linuxtools/tmf/event/TmfEventType.java: Implement cloning
- * src/org/eclipse/linuxtools/tmf/event/TmfTimestamp.java: Implement cloning
- * src/org/eclipse/linuxtools/tmf/experiment/TmfExperiment.java (updateIndex): Fixed timestamp cloning
- * src/org/eclipse/linuxtools/tmf/request/TmfDataRequest.java: Replaced lock.wait() by CountDownLatch
- * src/org/eclipse/linuxtools/tmf/trace/TmfTrace.java (updateIndex): Fixed timestamp cloning
-
-2010-10-13 Francois Chouinard <fchouinard@gmail.com>
-
- * src/org/eclipse/linuxtools/tmf/request/TmfRequestExecutor.java: Added checks for disposed widget
- * src/org/eclipse/linuxtools/tmf/experiment/TmfExperiment.java: Added checks for disposed widget
- * src/org/eclipse/linuxtools/tmf/request/TmfDataRequest.java: Added waitForStart() API
- * src/org/eclipse/linuxtools/tmf/event/TmfEventContent.java: Added setEvent()
- * src/org/eclipse/linuxtools/tmf/event/TmfTimeRange.java: Added getIntersection()
- * src/org/eclipse/linuxtools/tmf/event/TmfTimestamp.java: Improved timestamp comparison
-
-2010-09-17 Francois Chouinard <fchouinard@gmail.com>
-
- * src/org/eclipse/linuxtools/tmf/component/TmfDataProvider.java: Adjusted to new handleData() API
- * src/org/eclipse/linuxtools/tmf/component/TmfEventProvider.java: Adjusted to new handleData() API
- * src/org/eclipse/linuxtools/tmf/event/TmfEvent.java: Support for single event
- * src/org/eclipse/linuxtools/tmf/experiment/TmfExperiment.java: Adjusted to new handleData() API
- * src/org/eclipse/linuxtools/tmf/request/ITmfDataRequest.java: Adjusted to new handleData() API
- * src/org/eclipse/linuxtools/tmf/request/TmfCoalescedDataRequest.java: Adjusted to new handleData() API
- * src/org/eclipse/linuxtools/tmf/request/TmfCoalescedEventRequest.java: Adjusted to new handleData() API
- * src/org/eclipse/linuxtools/tmf/request/TmfDataRequest.java: Adjusted to new handleData() API
- * src/org/eclipse/linuxtools/tmf/request/TmfEventRequest.java: Adjusted to new handleData() API
-
-2010-09-17 Francois Chouinard <fchouinard@gmail.com>
-
- * src/org/eclipse/linuxtools/tmf/component/TmfDataProvider.java: Adjusted to new handleData() API
- * src/org/eclipse/linuxtools/tmf/component/TmfEventProvider.java: Adjusted to new handleData() API
- * src/org/eclipse/linuxtools/tmf/event/TmfEvent.java: Support for single event
- * src/org/eclipse/linuxtools/tmf/experiment/TmfExperiment.java: Adjusted to new handleData() API
- * src/org/eclipse/linuxtools/tmf/request/ITmfDataRequest.java: Adjusted to new handleData() API
- * src/org/eclipse/linuxtools/tmf/request/TmfCoalescedDataRequest.java: Adjusted to new handleData() API
- * src/org/eclipse/linuxtools/tmf/request/TmfCoalescedEventRequest.java: Adjusted to new handleData() API
- * src/org/eclipse/linuxtools/tmf/request/TmfDataRequest.java: Adjusted to new handleData() API
- * src/org/eclipse/linuxtools/tmf/request/TmfEventRequest.java: Adjusted to new handleData() API
-
-2010-09-15 Francois Chouinard <fchouinard@gmail.com>
-
- * src/org/eclipse/linuxtools/tmf/experiment/TmfExperiment.java: Optimized TmfExperimentContext handling
- * src/org/eclipse/linuxtools/tmf/trace/TmfTrace.java: ExecutionType update
- * src/org/eclipse/linuxtools/tmf/trace/TmfContext.java: ExecutionType update
- * src/org/eclipse/linuxtools/tmf/request/TmfRequestExecutor.java: ExecutionType update
- * src/org/eclipse/linuxtools/tmf/request/TmfEventRequest.java: ExecutionType update
- * src/org/eclipse/linuxtools/tmf/request/TmfDataRequest.java: ExecutionType update
- * src/org/eclipse/linuxtools/tmf/request/TmfCoalescedEventRequest.java: ExecutionType update
- * src/org/eclipse/linuxtools/tmf/request/TmfCoalescedDataRequest.java: ExecutionType update
- * src/org/eclipse/linuxtools/tmf/request/ITmfDataRequest.java: ExecutionType update
- * src/org/eclipse/linuxtools/tmf/component/TmfDataProvider.java: ExecutionType update
- * src/org/eclipse/linuxtools/tmf/Tracer.java: ExecutionType update
-
-2010-09-09 Francois Chouinard <fchouinard@gmail.com>
-
- * src/org/eclipse/linuxtools/tmf/request/TmfCoalescedEventRequest.java: Fix in handleData()
- * src/org/eclipse/linuxtools/tmf/experiment/TmfExperiment.java: Made class extendable
-
-2010-07-20 Francois Chouinard <fchouinard@gmail.com>
-
- * src/org/eclipse/linuxtools/tmf/component/TmfDataProvider.java:
- - Use a specific lock object (instead of this) for synchronization
- - Fix executor exception when request comes in immediately after dispose
- * src/org/eclipse/linuxtools/tmf/experiment/TmfExperiment.java:
- - Fix constructor ignoring index page size
- - Update saved context on parse to avoid unnecessary seeks
-
-2010-07-19 Francois Chouinard <fchouinard@gmail.com>
-
- * src/org/eclipse/linuxtools/tmf/experiment/TmfExperiment.java: Some modifications to make the experiment more generic.
-
-2010-07-13 Francois Chouinard <fchouinard@gmail.com>
-
- * src/org/eclipse/linuxtools/tmf/experiment/TmfExperiment.java (.updateExperiment): Added check for empty experiment
- * src/org/eclipse/linuxtools/tmf/trace/TmfTrace.java (.updateTraceData): Added check for empty trace
-
-2010-07-12 Francois Chouinard <fchouinard@gmail.com>
-
- * src/org/eclipse/linuxtools/tmf/signal/TmfTraceClosedSignal.java: New file.
- * src/org/eclipse/linuxtools/tmf/signal/TmfTraceOpenedSignal.java: New file.
- * src/org/eclipse/linuxtools/tmf/signal/TmfTraceParserUpdatedSignal.java: New file.
- * src/org/eclipse/linuxtools/tmf/signal/TmfTraceSelectedSignal.java: New file.
- * META-INF/MANIFEST.MF: Added a dependency on org.eclipse.core.resources
- * src/org/eclipse/linuxtools/tmf/experiment/TmfExperiment.java (seekEvent): Commented out useless statements
- * src/org/eclipse/linuxtools/tmf/trace/ITmfContext.java: Added a constant
- * src/org/eclipse/linuxtools/tmf/trace/ITmfTrace.java: Added APIs
- * src/org/eclipse/linuxtools/tmf/trace/TmfLocation.java: Added validation on location
- * src/org/eclipse/linuxtools/tmf/trace/TmfTrace.java (getRank): Added
- (indexTrace): Cleaned up warning
- (queueLongRequest): Added background process handling
-
-2010-07-08 Francois Chouinard <fchouinard@gmail.com>
-
- * src/org/eclipse/linuxtools/tmf/trace/TmfTrace.java (indexTrace): New method + renamed a constant
-
-2009-06-16 Andrew Overholt <overholt@redhat.com>
-
- * META-INF/MANIFEST.MF: Change provider from Ericsson to Eclipse. \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.tmf.core/META-INF/MANIFEST.MF b/lttng/org.eclipse.linuxtools.tmf.core/META-INF/MANIFEST.MF
deleted file mode 100644
index 0346a01e06..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,54 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %Bundle-Name
-Bundle-Vendor: %Bundle-Vendor
-Bundle-Version: 3.2.0.qualifier
-Bundle-Localization: plugin
-Bundle-SymbolicName: org.eclipse.linuxtools.tmf.core;singleton:=true
-Bundle-Activator: org.eclipse.linuxtools.internal.tmf.core.Activator
-Bundle-ActivationPolicy: lazy
-Bundle-RequiredExecutionEnvironment: JavaSE-1.7
-Require-Bundle: org.eclipse.core.runtime,
- org.eclipse.core.resources,
- org.eclipse.linuxtools.statesystem.core;visibility:=reexport
-Export-Package: org.eclipse.linuxtools.internal.tmf.core;x-friends:="org.eclipse.linuxtools.tmf.core.tests",
- org.eclipse.linuxtools.internal.tmf.core.analysis;x-friends:="org.eclipse.linuxtools.tmf.core.tests",
- org.eclipse.linuxtools.internal.tmf.core.component;x-friends:="org.eclipse.linuxtools.tmf.core.tests",
- org.eclipse.linuxtools.internal.tmf.core.filter;x-friends:="org.eclipse.linuxtools.tmf.core.tests,org.eclipse.linuxtools.tmf.ui",
- org.eclipse.linuxtools.internal.tmf.core.request;x-friends:="org.eclipse.linuxtools.tmf.core.tests",
- org.eclipse.linuxtools.internal.tmf.core.statesystem.backends.partial;x-friends:="org.eclipse.linuxtools.statesystem.core.tests",
- org.eclipse.linuxtools.internal.tmf.core.statesystem.mipmap;x-friends:="org.eclipse.linuxtools.tmf.core.tests",
- org.eclipse.linuxtools.internal.tmf.core.synchronization;x-friends:="org.eclipse.linuxtools.tmf.core.tests",
- org.eclipse.linuxtools.internal.tmf.core.synchronization.graph;x-friends:="org.eclipse.linuxtools.tmf.core.tests",
- org.eclipse.linuxtools.internal.tmf.core.trace;x-friends:="org.eclipse.linuxtools.tmf.core.tests",
- org.eclipse.linuxtools.internal.tmf.core.trace.indexer;x-friends:="org.eclipse.linuxtools.tmf.core.tests",
- org.eclipse.linuxtools.tmf.core,
- org.eclipse.linuxtools.tmf.core.analysis,
- org.eclipse.linuxtools.tmf.core.callstack,
- org.eclipse.linuxtools.tmf.core.component,
- org.eclipse.linuxtools.tmf.core.event,
- org.eclipse.linuxtools.tmf.core.event.collapse,
- org.eclipse.linuxtools.tmf.core.event.lookup,
- org.eclipse.linuxtools.tmf.core.event.matching,
- org.eclipse.linuxtools.tmf.core.exceptions,
- org.eclipse.linuxtools.tmf.core.filter,
- org.eclipse.linuxtools.tmf.core.filter.model,
- org.eclipse.linuxtools.tmf.core.filter.xml,
- org.eclipse.linuxtools.tmf.core.io,
- org.eclipse.linuxtools.tmf.core.parsers.custom,
- org.eclipse.linuxtools.tmf.core.project.model,
- org.eclipse.linuxtools.tmf.core.request,
- org.eclipse.linuxtools.tmf.core.signal,
- org.eclipse.linuxtools.tmf.core.statesystem,
- org.eclipse.linuxtools.tmf.core.statistics,
- org.eclipse.linuxtools.tmf.core.synchronization,
- org.eclipse.linuxtools.tmf.core.timestamp,
- org.eclipse.linuxtools.tmf.core.trace,
- org.eclipse.linuxtools.tmf.core.trace.indexer,
- org.eclipse.linuxtools.tmf.core.trace.indexer.checkpoint,
- org.eclipse.linuxtools.tmf.core.trace.location,
- org.eclipse.linuxtools.tmf.core.trace.text,
- org.eclipse.linuxtools.tmf.core.uml2sd,
- org.eclipse.linuxtools.tmf.core.util
-Import-Package: com.google.common.base,
- com.google.common.collect
diff --git a/lttng/org.eclipse.linuxtools.tmf.core/about.html b/lttng/org.eclipse.linuxtools.tmf.core/about.html
deleted file mode 100644
index c258ef55d8..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core/about.html
+++ /dev/null
@@ -1,28 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
-<title>About</title>
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
-
-<p>June 5, 2006</p>
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;). Unless otherwise
-indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is available
-at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is
-being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content. Check the Redistributor's license that was
-provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at <a href="http://www.eclipse.org/">http://www.eclipse.org</a>.</p>
-
-</body>
-</html> \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.tmf.core/build.properties b/lttng/org.eclipse.linuxtools.tmf.core/build.properties
deleted file mode 100644
index 1bd81057fa..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core/build.properties
+++ /dev/null
@@ -1,24 +0,0 @@
-###############################################################################
-# Copyright (c) 2013 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:
-# Ericsson - Initial API and implementation
-###############################################################################
-
-source.. = src/
-output.. = bin/
-bin.includes = META-INF/,\
- plugin.properties,\
- plugin.xml,\
- about.html,\
- .,\
- plugin.xml,\
- schema/
-src.includes = about.html
-additional.bundles = org.eclipse.jdt.annotation
-jars.extra.classpath = platform:/plugin/org.eclipse.jdt.annotation
diff --git a/lttng/org.eclipse.linuxtools.tmf.core/plugin.properties b/lttng/org.eclipse.linuxtools.tmf.core/plugin.properties
deleted file mode 100644
index c409cf810a..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core/plugin.properties
+++ /dev/null
@@ -1,22 +0,0 @@
-###############################################################################
-# Copyright (c) 2013, 2014 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:
-# Ericsson - Initial API and implementation
-###############################################################################
-
-#Properties file for org.eclipse.linuxtools.tmf.core
-Bundle-Vendor = Eclipse Linux Tools
-Bundle-Name = Linux Tools TMF Core Plug-in
-
-# Extension points
-extensionpoint.trace_type.name = Tmf Trace Type
-extensionpoint.analysis_module.name = Trace Analysis Module
-
-# Experiment type
-experimenttype.type.generic = Generic Experiment
diff --git a/lttng/org.eclipse.linuxtools.tmf.core/plugin.xml b/lttng/org.eclipse.linuxtools.tmf.core/plugin.xml
deleted file mode 100644
index 45eaf88b1d..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core/plugin.xml
+++ /dev/null
@@ -1,41 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.4"?>
-<plugin>
- <extension-point id="org.eclipse.linuxtools.tmf.core.tracetype" name="%extensionpoint.trace_type.name" schema="schema/org.eclipse.linuxtools.tmf.core.tracetype.exsd"/>
- <extension-point id="org.eclipse.linuxtools.tmf.core.analysis" name="%extensionpoint.analysis_module.name" schema="schema/org.eclipse.linuxtools.tmf.core.analysis.exsd"/>
-
- <extension
- point="org.eclipse.core.runtime.preferences">
- <initializer
- class="org.eclipse.linuxtools.internal.tmf.core.TmfCorePreferenceInitializer">
- </initializer>
- </extension>
- <extension
- point="org.eclipse.linuxtools.tmf.core.analysis">
- <source
- class="org.eclipse.linuxtools.internal.tmf.core.analysis.TmfAnalysisModuleSourceConfigElement">
- </source>
- <module
- analysis_module="org.eclipse.linuxtools.tmf.core.statistics.TmfStatisticsModule"
- automatic="true"
- id="org.eclipse.linuxtools.tmf.core.statistics.analysis"
- name="Tmf Statistics Analysis">
- <tracetype
- applies="true"
- class="org.eclipse.linuxtools.tmf.core.trace.TmfTrace">
- </tracetype>
- <tracetype
- applies="false"
- class="org.eclipse.linuxtools.tmf.core.trace.TmfExperiment">
- </tracetype>
- </module>
- </extension>
- <extension
- point="org.eclipse.linuxtools.tmf.core.tracetype">
- <experiment
- id="org.eclipse.linuxtools.tmf.core.experiment.generic"
- name="%experimenttype.type.generic"
- experiment_type="org.eclipse.linuxtools.tmf.core.trace.TmfExperiment">
- </experiment>
- </extension>
-</plugin>
diff --git a/lttng/org.eclipse.linuxtools.tmf.core/pom.xml b/lttng/org.eclipse.linuxtools.tmf.core/pom.xml
deleted file mode 100644
index 6320b04fce..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core/pom.xml
+++ /dev/null
@@ -1,45 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Copyright (C) 2011, Red Hat, Inc.
-
- 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
--->
-<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
- <modelVersion>4.0.0</modelVersion>
-
- <parent>
- <artifactId>linuxtools-lttng-parent</artifactId>
- <groupId>org.eclipse.linuxtools.lttng</groupId>
- <version>3.2.0-SNAPSHOT</version>
- </parent>
-
- <artifactId>org.eclipse.linuxtools.tmf.core</artifactId>
- <version>3.2.0-SNAPSHOT</version>
- <packaging>eclipse-plugin</packaging>
-
- <name>Linux Tools TMF Core Plug-in</name>
-
- <build>
- <!-- workaround for https://issues.sonatype.org/browse/TYCHO-168 -->
- <resources>
- <resource>
- <directory>src</directory>
- <excludes>
- <exclude>**/*.java</exclude>
- </excludes>
- </resource>
- </resources>
- <plugins>
- <plugin>
- <groupId>org.eclipse.tycho</groupId>
- <artifactId>tycho-source-plugin</artifactId>
- </plugin>
- </plugins>
- </build>
-
- <groupId>org.eclipse.linuxtools.tmf</groupId>
-</project>
diff --git a/lttng/org.eclipse.linuxtools.tmf.core/schema/org.eclipse.linuxtools.tmf.core.analysis.exsd b/lttng/org.eclipse.linuxtools.tmf.core/schema/org.eclipse.linuxtools.tmf.core.analysis.exsd
deleted file mode 100644
index bd16f80e66..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core/schema/org.eclipse.linuxtools.tmf.core.analysis.exsd
+++ /dev/null
@@ -1,310 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!-- Schema file written by PDE -->
-<schema targetNamespace="org.eclipse.linuxtools.tmf.core" xmlns="http://www.w3.org/2001/XMLSchema">
-<annotation>
- <appinfo>
- <meta.schema plugin="org.eclipse.linuxtools.tmf.core" id="org.eclipse.linuxtools.tmf.core.analysis" name="Trace Analysis Module"/>
- </appinfo>
- <documentation>
- This extension point is used to contribute new analysis modules to the TMF framework. Analysis modules provide new independent functionalities that can be run on traces.
- </documentation>
- </annotation>
-
- <element name="extension">
- <annotation>
- <appinfo>
- <meta.element />
- </appinfo>
- </annotation>
- <complexType>
- <sequence minOccurs="0" maxOccurs="unbounded">
- <element ref="module"/>
- <element ref="source"/>
- <element ref="output"/>
- </sequence>
- <attribute name="point" type="string" use="required">
- <annotation>
- <documentation>
- a fully qualified identifier of the target extension point
- </documentation>
- </annotation>
- </attribute>
- <attribute name="id" type="string">
- <annotation>
- <documentation>
- an optional identifier of the extension instance
- </documentation>
- </annotation>
- </attribute>
- <attribute name="name" type="string">
- <annotation>
- <documentation>
- an optional name of the extension instance
- </documentation>
- <appinfo>
- <meta.attribute translatable="true"/>
- </appinfo>
- </annotation>
- </attribute>
- </complexType>
- </element>
-
- <element name="module">
- <complexType>
- <sequence minOccurs="0" maxOccurs="unbounded">
- <element ref="parameter"/>
- <element ref="tracetype"/>
- </sequence>
- <attribute name="id" type="string" use="required">
- <annotation>
- <documentation>
- The unique ID that identifies this analysis module.
- </documentation>
- </annotation>
- </attribute>
- <attribute name="name" type="string" use="required">
- <annotation>
- <documentation>
- The trace analysis module&apos;s name as it is displayed to the end user
- </documentation>
- </annotation>
- </attribute>
- <attribute name="analysis_module" type="string" use="required">
- <annotation>
- <documentation>
- The fully qualified name of a class that implements the &lt;samp&gt;IAnalysisModule&lt;/samp&gt; interface.
- </documentation>
- <appinfo>
- <meta.attribute kind="java" basedOn=":org.eclipse.linuxtools.tmf.core.analysis.IAnalysisModule"/>
- </appinfo>
- </annotation>
- </attribute>
- <attribute name="icon" type="string">
- <annotation>
- <documentation>
- The icon associated to this analysis module.
- </documentation>
- <appinfo>
- <meta.attribute kind="resource"/>
- </appinfo>
- </annotation>
- </attribute>
- <attribute name="automatic" type="boolean">
- <annotation>
- <documentation>
- Whether to execute this analysis automatically when trace is opened, or wait for the user to ask for it
- </documentation>
- </annotation>
- </attribute>
- </complexType>
- </element>
-
- <element name="parameter">
- <annotation>
- <documentation>
- Parameter for this module
- </documentation>
- </annotation>
- <complexType>
- <attribute name="name" type="string" use="required">
- <annotation>
- <documentation>
- The parameter name
- </documentation>
- </annotation>
- </attribute>
- <attribute name="default_value" type="string">
- <annotation>
- <documentation>
- A default value for this parameter
- </documentation>
- </annotation>
- </attribute>
- </complexType>
- </element>
-
- <element name="tracetype">
- <annotation>
- <documentation>
- Allow to define the tracetypes this analysis applies to.
- </documentation>
- </annotation>
- <complexType>
- <attribute name="class" type="string" use="required">
- <annotation>
- <documentation>
- The base trace class this analysis applies to or not (it also applies to traces extending this class).
- </documentation>
- <appinfo>
- <meta.attribute kind="java" basedOn=":org.eclipse.linuxtools.tmf.core.trace.ITmfTrace"/>
- </appinfo>
- </annotation>
- </attribute>
- <attribute name="applies" type="boolean">
- <annotation>
- <documentation>
- Does this tracetype element mean the class applies or not (default true)
- </documentation>
- </annotation>
- </attribute>
- </complexType>
- </element>
-
- <element name="source">
- <annotation>
- <documentation>
- Specifies a class that provides analysis modules.
- </documentation>
- </annotation>
- <complexType>
- <attribute name="class" type="string" use="required">
- <annotation>
- <documentation>
- The fully qualified name of a class that implements the &lt;samp&gt;IAnalysisModuleSource&lt;/samp&gt; interface.
- </documentation>
- <appinfo>
- <meta.attribute kind="java" basedOn=":org.eclipse.linuxtools.tmf.core.analysis.IAnalysisModuleSource"/>
- </appinfo>
- </annotation>
- </attribute>
- </complexType>
- </element>
-
- <element name="output">
- <annotation>
- <documentation>
- Associates an output with an analysis module or a class of analysis modules.
- </documentation>
- </annotation>
- <complexType>
- <choice>
- <element ref="analysisId"/>
- <element ref="analysisModuleClass"/>
- </choice>
- <attribute name="class" type="string" use="required">
- <annotation>
- <documentation>
- The class of this output.
- </documentation>
- <appinfo>
- <meta.attribute kind="java" basedOn=":org.eclipse.linuxtools.tmf.core.analysis.IAnalysisOutput"/>
- </appinfo>
- </annotation>
- </attribute>
- <attribute name="id" type="string">
- <annotation>
- <documentation>
- An ID for this output. For example, for a view, it would be the view ID.
- </documentation>
- </annotation>
- </attribute>
- </complexType>
- </element>
-
- <element name="analysisId">
- <annotation>
- <documentation>
- The output will be associated with a single analysis identified by the ID attribute.
- </documentation>
- </annotation>
- <complexType>
- <attribute name="id" type="string" use="required">
- <annotation>
- <documentation>
- The full ID of the analysis.
- </documentation>
- <appinfo>
- <meta.attribute kind="identifier" basedOn="org.eclipse.linuxtools.tmf.core.analysis/module/@id"/>
- </appinfo>
- </annotation>
- </attribute>
- </complexType>
- </element>
-
- <element name="analysisModuleClass">
- <annotation>
- <documentation>
- The output will be associated with all modules extending or implementing the &apos;class&apos; attribute.
- </documentation>
- </annotation>
- <complexType>
- <attribute name="class" type="string" use="required">
- <annotation>
- <documentation>
- The module class or interface the modules need to extend or implement for this output to be applicable.
- </documentation>
- <appinfo>
- <meta.attribute kind="java" basedOn=":org.eclipse.linuxtools.tmf.core.analysis.IAnalysisModule"/>
- </appinfo>
- </annotation>
- </attribute>
- </complexType>
- </element>
-
- <annotation>
- <appinfo>
- <meta.section type="since"/>
- </appinfo>
- <documentation>
- 3.0
- </documentation>
- </annotation>
-
- <annotation>
- <appinfo>
- <meta.section type="examples"/>
- </appinfo>
- <documentation>
- &lt;p&gt;
-For an example implementation of an analysis module see:
-&lt;pre&gt;
-plug-in: org.eclipse.linuxtools.tmf.core.tests
-package: org.eclipse.linuxtools.tmf.core.tests.stubs.analysis
-class: TestCtfAnalysis
-&lt;/pre&gt;
-&lt;/p&gt;
-
-&lt;p&gt;
-The following is an example of the extension point:
-&lt;pre&gt;
-&lt;extension
- point=&quot;org.eclipse.linuxtools.tmf.core.analysis&quot;&gt;
- &lt;module
- id=&quot;org.eclipse.linuxtools.tmf.core.tests.analysis.testctf&quot;
- name=&quot;Test analysis ctf&quot;
- analysis_module=&quot;org.eclipse.linuxtools.tmf.tests.stubs.analysis.TestCtfAnalysis&quot;
- automatic=&quot;true&quot;&gt;
- &lt;/module&gt;
- &lt;/extension&gt;
-&lt;/pre&gt;
-&lt;/p&gt;
- </documentation>
- </annotation>
-
- <annotation>
- <appinfo>
- <meta.section type="apiinfo"/>
- </appinfo>
- <documentation>
- &lt;p&gt;
-For this extension point, a class implementing IAnalysisModule must be defined (org.eclipse.linuxtools.tmf.core.analysis.IAnalysisModule). Most analysis can just extend the org.eclipse.linuxtools.tmf.core.analysis.TmfAbstractAnalysisModule class, since it already contains everything to manage the trace&apos;s, the analysis&apos; execution, cancellation, completion, the help texts, etc.
-&lt;/p&gt;
-&lt;p&gt;
-The key method to implement if extending TmfAbstractAnalysisModule is executeAnalysis(final IProgressMonitor monitor). It contains the code of the analysis itself and is executed inside an Eclipse job.
-&lt;/p&gt;
- </documentation>
- </annotation>
-
-
- <annotation>
- <appinfo>
- <meta.section type="copyright"/>
- </appinfo>
- <documentation>
- Copyright (c) 2013 École Polytechnique de Montréal
-
-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 &lt;a href=&quot;http://www.eclipse.org/legal/epl-v10.html&quot;&gt;http://www.eclipse.org/legal/epl-v10.html&lt;/a&gt;
- </documentation>
- </annotation>
-
-</schema>
diff --git a/lttng/org.eclipse.linuxtools.tmf.core/schema/org.eclipse.linuxtools.tmf.core.tracetype.exsd b/lttng/org.eclipse.linuxtools.tmf.core/schema/org.eclipse.linuxtools.tmf.core.tracetype.exsd
deleted file mode 100644
index 63d9eb93c9..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core/schema/org.eclipse.linuxtools.tmf.core.tracetype.exsd
+++ /dev/null
@@ -1,232 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!-- Schema file written by PDE -->
-<schema targetNamespace="org.eclipse.linuxtools.tmf.core" xmlns="http://www.w3.org/2001/XMLSchema">
-<annotation>
- <appinfo>
- <meta.schema plugin="org.eclipse.linuxtools.tmf.core" id="tracetype" name="TMF Trace Type"/>
- </appinfo>
- <documentation>
- This extension point is used to contribute new trace types or experiment types to the generic components of the TMF framework.
- </documentation>
- </annotation>
-
- <element name="extension">
- <annotation>
- <appinfo>
- <meta.element />
- </appinfo>
- </annotation>
- <complexType>
- <choice minOccurs="0" maxOccurs="unbounded">
- <element ref="category"/>
- <element ref="type"/>
- <element ref="experiment"/>
- </choice>
- <attribute name="point" type="string" use="required">
- <annotation>
- <documentation>
- a fully qualified identifier of the target extension point
- </documentation>
- </annotation>
- </attribute>
- <attribute name="id" type="string">
- <annotation>
- <documentation>
- an optional identifier of the extension instance
- </documentation>
- </annotation>
- </attribute>
- <attribute name="name" type="string">
- <annotation>
- <documentation>
- an optional name of the extension instance
- </documentation>
- <appinfo>
- <meta.attribute translatable="true"/>
- </appinfo>
- </annotation>
- </attribute>
- </complexType>
- </element>
-
- <element name="category">
- <complexType>
- <attribute name="id" type="string" use="required">
- <annotation>
- <documentation>
- a unique name that will be used to identify this category
- </documentation>
- </annotation>
- </attribute>
- <attribute name="name" type="string" use="required">
- <annotation>
- <documentation>
- a translatable name that will be used in the UI for this category
- </documentation>
- </annotation>
- </attribute>
- </complexType>
- </element>
-
- <element name="type">
- <complexType>
- <attribute name="id" type="string" use="required">
- <annotation>
- <documentation>
- The unique ID that identifies this trace type.
- </documentation>
- </annotation>
- </attribute>
- <attribute name="name" type="string" use="required">
- <annotation>
- <documentation>
- The type name as it is displayed to the end user.
- </documentation>
- </annotation>
- </attribute>
- <attribute name="category" type="string">
- <annotation>
- <documentation>
- An optional attribute that is composed of the category ID. The referenced category must be declared in a corresponding category element.
- </documentation>
- <appinfo>
- <meta.attribute kind="identifier" basedOn="org.eclipse.linuxtools.tmf.core.tracetype/category/@id"/>
- </appinfo>
- </annotation>
- </attribute>
- <attribute name="trace_type" type="string" use="required">
- <annotation>
- <documentation>
- The fully qualified name of a class that implements the &lt;samp&gt;ITmfTrace&lt;/samp&gt; interface.
- </documentation>
- <appinfo>
- <meta.attribute kind="java" basedOn=":org.eclipse.linuxtools.tmf.core.trace.ITmfTrace"/>
- </appinfo>
- </annotation>
- </attribute>
- <attribute name="event_type" type="string" use="required">
- <annotation>
- <documentation>
- The fully qualified name of a class that implements the &lt;samp&gt;ITmfEvent&lt;/samp&gt; interface
- </documentation>
- <appinfo>
- <meta.attribute kind="java" basedOn=":org.eclipse.linuxtools.tmf.core.event.ITmfEvent"/>
- </appinfo>
- </annotation>
- </attribute>
- <attribute name="isDirectory" type="boolean" use="default" value="false">
- <annotation>
- <documentation>
- Indicates whether the trace type is for traces that are directories (true) or files (false)
- </documentation>
- </annotation>
- </attribute>
- </complexType>
- </element>
-
- <element name="experiment">
- <complexType>
- <attribute name="id" type="string" use="required">
- <annotation>
- <documentation>
- The unique ID that identifies this experiment type.
- </documentation>
- </annotation>
- </attribute>
- <attribute name="name" type="string" use="required">
- <annotation>
- <documentation>
- The type name as it is displayed to the end user.
- </documentation>
- </annotation>
- </attribute>
- <attribute name="category" type="string">
- <annotation>
- <documentation>
- An optional attribute that is composed of the category ID. The referenced category must be declared in a corresponding category element.
- </documentation>
- <appinfo>
- <meta.attribute kind="identifier" basedOn="org.eclipse.linuxtools.tmf.core.tracetype/category/@id"/>
- </appinfo>
- </annotation>
- </attribute>
- <attribute name="experiment_type" type="string" use="required">
- <annotation>
- <documentation>
- The fully qualified name of a class that extends the &lt;samp&gt;TmfExperiment&lt;/samp&gt; class
- </documentation>
- <appinfo>
- <meta.attribute kind="java" basedOn="org.eclipse.linuxtools.tmf.core.trace.TmfExperiment:"/>
- </appinfo>
- </annotation>
- </attribute>
- </complexType>
- </element>
-
- <annotation>
- <appinfo>
- <meta.section type="since"/>
- </appinfo>
- <documentation>
- 3.0
- </documentation>
- </annotation>
-
- <annotation>
- <appinfo>
- <meta.section type="examples"/>
- </appinfo>
- <documentation>
- Example use of the tmftracetype extension point for generic CTF traces (CtfTmfTrace) and a category-less generic experiment type:
-
-&lt;extension
- point=&quot;org.eclipse.linuxtools.tmf.core.tracetype&quot;&gt;
- &lt;category
- id=&quot;org.eclipse.linuxtools.tmf.core.category.ctf&quot;
- name=&quot;Common Trace Format&quot;&gt;
- &lt;/category&gt;
- &lt;type
- category=&quot;org.eclipse.linuxtools.tmf.core.category.ctf&quot;
- event_type=&quot;org.eclipse.linuxtools.tmf.core.ctfadaptor.CtfTmfEvent&quot;
- id=&quot;org.eclipse.linuxtools.tmf.core.type.ctf&quot;
- name=&quot;Generic CTF Trace&quot;
- trace_type=&quot;org.eclipse.linuxtools.tmf.core.ctfadaptor.CtfTmfTrace&quot;&gt;
- &lt;/type&gt;
- &lt;experiment
- id=&quot;org.eclipse.linuxtools.tmf.core.experiment.generic&quot;
- name=&quot;Generic experiment&quot;
- experiment_type=&quot;org.eclipse.linuxtools.tmf.core.trace.TmfExperiment&quot;&gt;
- &lt;/experiment&gt;
-&lt;/extension&gt;
- </documentation>
- </annotation>
-
- <annotation>
- <appinfo>
- <meta.section type="apiinfo"/>
- </appinfo>
- <documentation>
- Trace types using this extension point have to specify the two following classes:
-
-* trace_type: Has to implement ITmfTrace. It&apos;s *highly* recommend to extend &apos;TmfTrace&apos; to get default implementations.
-* event_type: Has to implement ITmfEvent. Once again, TmfEvent provides a reference implementation that should work in most cases.
-
-Experiment types using this extension point have to specify the following class:
-
-* experiment_type: Has to extend TmfExperiment. This class is the default experiment class, to be used to analyse sets of traces, where each trace is treated equally.
- </documentation>
- </annotation>
-
-
- <annotation>
- <appinfo>
- <meta.section type="copyright"/>
- </appinfo>
- <documentation>
- Copyright (c) 2014 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 &lt;a href=&quot;http://www.eclipse.org/legal/epl-v10.html&quot;&gt;http://www.eclipse.org/legal/epl-v10.html&lt;/a&gt;
- </documentation>
- </annotation>
-
-</schema>
diff --git a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/internal/tmf/core/Activator.java b/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/internal/tmf/core/Activator.java
deleted file mode 100644
index fae189a683..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/internal/tmf/core/Activator.java
+++ /dev/null
@@ -1,196 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009, 2014 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
- * Bernd Hufmann - Add signal manager disposal
- *******************************************************************************/
-
-package org.eclipse.linuxtools.internal.tmf.core;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Plugin;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.linuxtools.tmf.core.analysis.TmfAnalysisManager;
-import org.eclipse.linuxtools.tmf.core.signal.TmfSignalManager;
-import org.eclipse.linuxtools.tmf.core.trace.TmfTraceManager;
-import org.osgi.framework.BundleContext;
-
-/**
- * The activator class controls the plug-in life cycle. No more than one such
- * plug-in can exist at any time.
- * <p>
- * It also provides the plug-in's general logging facility and manages the
- * internal tracer.
- */
-public class Activator extends Plugin {
-
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
-
- /**
- * The plug-in ID
- */
- public static final String PLUGIN_ID = "org.eclipse.linuxtools.tmf.core"; //$NON-NLS-1$
-
- /**
- * The shared instance
- */
- private static Activator fPlugin;
-
- // ------------------------------------------------------------------------
- // Constructors
- // ------------------------------------------------------------------------
-
- /**
- * Constructor
- */
- public Activator() {
- setDefault(this);
- }
-
- // ------------------------------------------------------------------------
- // Accessors
- // ------------------------------------------------------------------------
-
- /**
- * Returns the TMF Core plug-in instance.
- *
- * @return the TMF Core plug-in instance.
- */
- public static Activator getDefault() {
- return fPlugin;
- }
-
- // Sets plug-in instance
- private static void setDefault(Activator plugin) {
- fPlugin = plugin;
- }
-
- // ------------------------------------------------------------------------
- // Plugin
- // ------------------------------------------------------------------------
-
- @Override
- public void start(BundleContext context) throws Exception {
- super.start(context);
- setDefault(this);
- TmfCoreTracer.init();
- /* Initialize the trace manager */
- TmfTraceManager.getInstance();
- /* Initialize the analysis manager */
- TmfAnalysisManager.initialize();
- }
-
- @Override
- public void stop(BundleContext context) throws Exception {
- TmfCoreTracer.stop();
- TmfSignalManager.dispose();
- setDefault(null);
- super.stop(context);
- }
-
-
- // ------------------------------------------------------------------------
- // Log an IStatus
- // ------------------------------------------------------------------------
-
- /**
- * Log an IStatus object directly
- *
- * @param status
- * The status to log
- */
- public static void log(IStatus status) {
- fPlugin.getLog().log(status);
- }
-
- // ------------------------------------------------------------------------
- // Log INFO
- // ------------------------------------------------------------------------
-
- /**
- * Logs a message with severity INFO in the runtime log of the plug-in.
- *
- * @param message
- * A message to log
- */
- public static void logInfo(String message) {
- fPlugin.getLog().log(new Status(IStatus.INFO, PLUGIN_ID, message));
- }
-
- /**
- * Logs a message and exception with severity INFO in the runtime log of the
- * plug-in.
- *
- * @param message
- * A message to log
- * @param exception
- * The corresponding exception
- */
- public static void logInfo(String message, Throwable exception) {
- fPlugin.getLog().log(new Status(IStatus.INFO, PLUGIN_ID, message, exception));
- }
-
- // ------------------------------------------------------------------------
- // Log WARNING
- // ------------------------------------------------------------------------
-
- /**
- * Logs a message and exception with severity WARNING in the runtime log of
- * the plug-in.
- *
- * @param message
- * A message to log
- */
- public static void logWarning(String message) {
- fPlugin.getLog().log(new Status(IStatus.WARNING, PLUGIN_ID, message));
- }
-
- /**
- * Logs a message and exception with severity WARNING in the runtime log of
- * the plug-in.
- *
- * @param message
- * A message to log
- * @param exception
- * The corresponding exception
- */
- public static void logWarning(String message, Throwable exception) {
- fPlugin.getLog().log(new Status(IStatus.WARNING, PLUGIN_ID, message, exception));
- }
-
- // ------------------------------------------------------------------------
- // Log ERROR
- // ------------------------------------------------------------------------
-
- /**
- * Logs a message and exception with severity ERROR in the runtime log of
- * the plug-in.
- *
- * @param message
- * A message to log
- */
- public static void logError(String message) {
- fPlugin.getLog().log(new Status(IStatus.ERROR, PLUGIN_ID, message));
- }
-
- /**
- * Logs a message and exception with severity ERROR in the runtime log of
- * the plug-in.
- *
- * @param message
- * A message to log
- * @param exception
- * The corresponding exception
- */
- public static void logError(String message, Throwable exception) {
- fPlugin.getLog().log(new Status(IStatus.ERROR, PLUGIN_ID, message, exception));
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/internal/tmf/core/Messages.java b/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/internal/tmf/core/Messages.java
deleted file mode 100644
index 70b4ee8e45..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/internal/tmf/core/Messages.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 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
- *
- *******************************************************************************/
-
-package org.eclipse.linuxtools.internal.tmf.core;
-
-import org.eclipse.osgi.util.NLS;
-
-/**
- * TMF Core message bundle
- * @since 2.0
- */
-@SuppressWarnings("javadoc")
-public class Messages extends NLS {
- private static final String BUNDLE_NAME = "org.eclipse.linuxtools.internal.tmf.core.messages"; //$NON-NLS-1$
- public static String TmfCheckpointIndexer_EventsPerSecond;
- public static String TmfCheckpointIndexer_Indexing;
-
- static {
- // initialize resource bundle
- NLS.initializeMessages(BUNDLE_NAME, Messages.class);
- }
-
- private Messages() {
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/internal/tmf/core/TmfCorePreferenceInitializer.java b/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/internal/tmf/core/TmfCorePreferenceInitializer.java
deleted file mode 100644
index 5103f44bfb..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/internal/tmf/core/TmfCorePreferenceInitializer.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 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:
- * Marc-Andre Laperle - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.internal.tmf.core;
-
-import org.eclipse.core.runtime.preferences.AbstractPreferenceInitializer;
-import org.eclipse.linuxtools.tmf.core.timestamp.TmfTimePreferences;
-
-/**
- * Preference initializer for tmf.core
- *
- */
-public class TmfCorePreferenceInitializer extends AbstractPreferenceInitializer {
-
- @Override
- public void initializeDefaultPreferences() {
- TmfTimePreferences.init();
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/internal/tmf/core/TmfCoreTracer.java b/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/internal/tmf/core/TmfCoreTracer.java
deleted file mode 100644
index 3a36d41ed6..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/internal/tmf/core/TmfCoreTracer.java
+++ /dev/null
@@ -1,239 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2012, 2014 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.internal.tmf.core;
-
-import java.io.BufferedWriter;
-import java.io.FileWriter;
-import java.io.IOException;
-
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.linuxtools.tmf.core.component.ITmfComponent;
-import org.eclipse.linuxtools.tmf.core.component.ITmfEventProvider;
-import org.eclipse.linuxtools.tmf.core.event.ITmfEvent;
-import org.eclipse.linuxtools.tmf.core.request.ITmfEventRequest;
-import org.eclipse.linuxtools.tmf.core.signal.TmfSignal;
-
-/**
- * The TMF Core tracer, used to trace TMF internal components.
- * <p>
- * The tracing classes are independently controlled (i.e no implicit inclusion)
- * from the launch configuration's Tracing. The resulting trace is stored in a
- * distinct file (TmfTrace.log) in a format that can later be analyzed by TMF.
- * <p>
- * The tracing classes are:
- * <ul>
- * <li><strong>Component</strong>: TMF components life-cycle
- * <li><strong>Request</strong>: TMF requests life-cycle
- * <li><strong>Signal</strong>: TMF signals triggering and distribution
- * <li><strong>Event</strong>: TMF trace events
- * </ul>
- *
- * @version 1.0
- * @author Francois Chouinard
- */
-@SuppressWarnings("nls")
-public class TmfCoreTracer {
-
- // ------------------------------------------------------------------------
- // Constants
- // ------------------------------------------------------------------------
-
- private static final String PLUGIN_ID = Activator.PLUGIN_ID;
-
- // Tracing keys (in .options)
- private static final String COMPONENT_TRACE_KEY = PLUGIN_ID + "/component";
- private static final String REQUEST_TRACE_KEY = PLUGIN_ID + "/request";
- private static final String SIGNAL_TRACE_KEY = PLUGIN_ID + "/signal";
- private static final String EVENT_TRACE_KEY = PLUGIN_ID + "/event";
-
- private static final String TRACE_FILE_NAME = "TmfTrace.log";
-
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
-
- // Classes tracing flags
- static boolean COMPONENT_CLASS_ENABLED = false;
- static boolean REQUEST_CLASS_ENABLED = false;
- static boolean SIGNAL_CLASS_ENABLED = false;
- static boolean EVENT_CLASS_ENABLED = false;
-
- // Trace log file
- private static BufferedWriter fTraceFile;
-
- // ------------------------------------------------------------------------
- // Start/stop tracing - controlled by the plug-in
- // ------------------------------------------------------------------------
-
- /**
- * Set the tracing flags according to the launch configuration
- */
- public static void init() {
-
- String traceKey;
- boolean isTracing = false;
-
- traceKey = Platform.getDebugOption(COMPONENT_TRACE_KEY);
- if (traceKey != null) {
- COMPONENT_CLASS_ENABLED = (Boolean.valueOf(traceKey)).booleanValue();
- isTracing |= COMPONENT_CLASS_ENABLED;
- }
-
- traceKey = Platform.getDebugOption(REQUEST_TRACE_KEY);
- if (traceKey != null) {
- REQUEST_CLASS_ENABLED = (Boolean.valueOf(traceKey)).booleanValue();
- isTracing |= REQUEST_CLASS_ENABLED;
- }
-
- traceKey = Platform.getDebugOption(SIGNAL_TRACE_KEY);
- if (traceKey != null) {
- SIGNAL_CLASS_ENABLED = (Boolean.valueOf(traceKey)).booleanValue();
- isTracing |= SIGNAL_CLASS_ENABLED;
- }
-
- traceKey = Platform.getDebugOption(EVENT_TRACE_KEY);
- if (traceKey != null) {
- EVENT_CLASS_ENABLED = (Boolean.valueOf(traceKey)).booleanValue();
- isTracing |= EVENT_CLASS_ENABLED;
- }
-
- // Create trace log file if any of the flags was set
- if (isTracing) {
- try {
- fTraceFile = new BufferedWriter(new FileWriter(TRACE_FILE_NAME));
- } catch (IOException e) {
- Activator.logError("Error opening log file " + TRACE_FILE_NAME, e);
- fTraceFile = null;
- }
- }
- }
-
- /**
- * Close the trace log file
- */
- public static void stop() {
- if (fTraceFile != null) {
- try {
- fTraceFile.close();
- fTraceFile = null;
- } catch (IOException e) {
- Activator.logError("Error closing log file", e);
- }
- }
- }
-
- // ------------------------------------------------------------------------
- // Predicates
- // ------------------------------------------------------------------------
-
- @SuppressWarnings("javadoc")
- public static boolean isComponentTraced() {
- return COMPONENT_CLASS_ENABLED;
- }
-
- @SuppressWarnings("javadoc")
- public static boolean isRequestTraced() {
- return REQUEST_CLASS_ENABLED;
- }
-
- @SuppressWarnings("javadoc")
- public static boolean isSignalTraced() {
- return SIGNAL_CLASS_ENABLED;
- }
-
- @SuppressWarnings("javadoc")
- public static boolean isEventTraced() {
- return EVENT_CLASS_ENABLED;
- }
-
- // ------------------------------------------------------------------------
- // Tracing methods
- // ------------------------------------------------------------------------
-
- /**
- * The central tracing method. Prepends the timestamp and the thread id
- * to the trace message.
- *
- * @param msg the trace message to log
- */
- public static synchronized void trace(String msg) {
- // Leave when there is no place to write the message.
- if (fTraceFile == null) {
- return;
- }
-
- // Set the timestamp (ms resolution)
- long currentTime = System.currentTimeMillis();
- StringBuilder message = new StringBuilder("[");
- message.append(currentTime / 1000);
- message.append(".");
- message.append(String.format("%1$03d", currentTime % 1000));
- message.append("] ");
-
- // Set the thread id
- message.append("[TID=");
- message.append(String.format("%1$03d", Thread.currentThread().getId()));
- message.append("] ");
-
- // Append the trace message
- message.append(msg);
-
- // Write to file
- try {
- fTraceFile.write(message.toString());
- fTraceFile.newLine();
- fTraceFile.flush();
- } catch (IOException e) {
- Activator.logError("Error writing to log file", e);
- }
- }
-
- // ------------------------------------------------------------------------
- // TMF Core specific trace formatters
- // ------------------------------------------------------------------------
-
- @SuppressWarnings("javadoc")
- public static void traceComponent(ITmfComponent component, String msg) {
- if (COMPONENT_CLASS_ENABLED) {
- String message = ("[CMP] Cmp=" + component.getName() + " " + msg);
- trace(message);
- }
- }
-
- @SuppressWarnings("javadoc")
- public static void traceRequest(ITmfEventRequest request, String msg) {
- if (REQUEST_CLASS_ENABLED) {
- String message = ("[REQ] Req=" + request.getRequestId() + " " + msg);
- trace(message);
- }
- }
-
- @SuppressWarnings("javadoc")
- public static void traceSignal(TmfSignal signal, String msg) {
- if (SIGNAL_CLASS_ENABLED) {
- String message = ("[SIG] Sig=" + signal.getClass().getSimpleName()
- + " Target=" + msg);
- trace(message);
- }
- }
-
- @SuppressWarnings("javadoc")
- public static void traceEvent(ITmfEventProvider provider, ITmfEventRequest request, ITmfEvent event) {
- if (EVENT_CLASS_ENABLED) {
- String message = ("[EVT] Provider=" + provider.toString()
- + ", Req=" + request.getRequestId() + ", Event=" + event.getTimestamp());
- trace(message);
- }
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/internal/tmf/core/analysis/TmfAnalysisModuleSourceConfigElement.java b/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/internal/tmf/core/analysis/TmfAnalysisModuleSourceConfigElement.java
deleted file mode 100644
index fd0b17c5ba..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/internal/tmf/core/analysis/TmfAnalysisModuleSourceConfigElement.java
+++ /dev/null
@@ -1,118 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013, 2014 École Polytechnique de Montréal
- *
- * 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:
- * Geneviève Bastien - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.internal.tmf.core.analysis;
-
-import java.util.ArrayList;
-import java.util.LinkedList;
-import java.util.List;
-
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.linuxtools.tmf.core.analysis.IAnalysisModuleHelper;
-import org.eclipse.linuxtools.tmf.core.analysis.IAnalysisModuleSource;
-import org.eclipse.linuxtools.tmf.core.analysis.TmfAnalysisModuleHelperConfigElement;
-
-/**
- * Utility class for accessing TMF analysis module extensions from the
- * platform's extensions registry.
- *
- * @author Geneviève Bastien
- * @since 3.0
- */
-public final class TmfAnalysisModuleSourceConfigElement implements IAnalysisModuleSource {
-
- /** Extension point ID */
- public static final String TMF_ANALYSIS_TYPE_ID = "org.eclipse.linuxtools.tmf.core.analysis"; //$NON-NLS-1$
-
- /** Extension point element 'module' */
- public static final String MODULE_ELEM = "module"; //$NON-NLS-1$
-
- /** Extension point element 'parameter' */
- public static final String PARAMETER_ELEM = "parameter"; //$NON-NLS-1$
-
- /** Extension point attribute 'ID' */
- public static final String ID_ATTR = "id"; //$NON-NLS-1$
-
- /** Extension point attribute 'name' */
- public static final String NAME_ATTR = "name"; //$NON-NLS-1$
-
- /** Extension point attribute 'analysis_module' */
- public static final String ANALYSIS_MODULE_ATTR = "analysis_module"; //$NON-NLS-1$
-
- /** Extension point attribute 'automatic' */
- public static final String AUTOMATIC_ATTR = "automatic"; //$NON-NLS-1$
-
- /** Extension point attribute 'icon' */
- public static final String ICON_ATTR = "icon"; //$NON-NLS-1$
-
- /** Extension point attribute 'default_value' */
- public static final String DEFAULT_VALUE_ATTR = "default_value"; //$NON-NLS-1$
-
- /** Extension point element 'tracetype' */
- public static final String TRACETYPE_ELEM = "tracetype"; //$NON-NLS-1$
-
- /** Extension point attribute 'class' */
- public static final String CLASS_ATTR = "class"; //$NON-NLS-1$
-
- /** Extension point attribute 'applies' */
- public static final String APPLIES_ATTR = "applies"; //$NON-NLS-1$
-
- /**
- * The mapping of available analysis ID to their corresponding helper
- */
- private final List<IAnalysisModuleHelper> fAnalysisHelpers = new ArrayList<>();
-
- /**
- * Retrieves all configuration elements from the platform extension registry
- * for the analysis module extension.
- *
- * @return an array of analysis module configuration elements
- */
- public static IConfigurationElement[] getTypeElements() {
- IConfigurationElement[] elements =
- Platform.getExtensionRegistry().getConfigurationElementsFor(TMF_ANALYSIS_TYPE_ID);
- List<IConfigurationElement> typeElements = new LinkedList<>();
- for (IConfigurationElement element : elements) {
- if (element.getName().equals(MODULE_ELEM)) {
- typeElements.add(element);
- }
- }
- return typeElements.toArray(new IConfigurationElement[typeElements.size()]);
- }
-
- /**
- * Constructor
- */
- public TmfAnalysisModuleSourceConfigElement() {
- populateAnalysisList();
- }
-
- @Override
- public Iterable<IAnalysisModuleHelper> getAnalysisModules() {
- return fAnalysisHelpers;
- }
-
- private void populateAnalysisList() {
- if (fAnalysisHelpers.isEmpty()) {
- // Populate the analysis module list
- IConfigurationElement[] config = Platform.getExtensionRegistry().getConfigurationElementsFor(TMF_ANALYSIS_TYPE_ID);
- for (IConfigurationElement ce : config) {
- String elementName = ce.getName();
- if (elementName.equals(TmfAnalysisModuleSourceConfigElement.MODULE_ELEM)) {
- fAnalysisHelpers.add(new TmfAnalysisModuleHelperConfigElement(ce));
- }
- }
- }
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/internal/tmf/core/analysis/TmfAnalysisModuleSources.java b/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/internal/tmf/core/analysis/TmfAnalysisModuleSources.java
deleted file mode 100644
index 90f01c8b84..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/internal/tmf/core/analysis/TmfAnalysisModuleSources.java
+++ /dev/null
@@ -1,72 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013, 2014 École Polytechnique de Montréal
- *
- * 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:
- * Geneviève Bastien - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.internal.tmf.core.analysis;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.InvalidRegistryObjectException;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.linuxtools.internal.tmf.core.Activator;
-import org.eclipse.linuxtools.tmf.core.analysis.IAnalysisModuleSource;
-
-/**
- * Utility class for accessing TMF analysis module extensions from the
- * platform's extensions registry and returning the module sources.
- *
- * @author Geneviève Bastien
- */
-public final class TmfAnalysisModuleSources {
-
- /** Extension point ID */
- public static final String TMF_ANALYSIS_TYPE_ID = "org.eclipse.linuxtools.tmf.core.analysis"; //$NON-NLS-1$
-
- /** Extension point element 'module' */
- public static final String SOURCE_ELEM = "source"; //$NON-NLS-1$
-
- /** Extension point attribute 'class' */
- public static final String CLASS_ATTR = "class"; //$NON-NLS-1$
-
- private TmfAnalysisModuleSources() {
-
- }
-
- /**
- * Return the analysis module sources advertised in the extension
- * point, in iterable format.
- *
- * @return List of {@link IAnalysisModuleSource}
- */
- public static Iterable<IAnalysisModuleSource> getSources() {
- List<IAnalysisModuleSource> sources = new ArrayList<>();
- // Get the sources element from the extension point
- IConfigurationElement[] config = Platform.getExtensionRegistry().getConfigurationElementsFor(TMF_ANALYSIS_TYPE_ID);
- for (IConfigurationElement ce : config) {
- String elementName = ce.getName();
- if (elementName.equals(SOURCE_ELEM)) {
- try {
- IAnalysisModuleSource source = (IAnalysisModuleSource) ce.createExecutableExtension(CLASS_ATTR);
- sources.add(source);
- } catch (InvalidRegistryObjectException e) {
- Activator.logError("Error creating module source", e); //$NON-NLS-1$
- } catch (CoreException e) {
- Activator.logError("Error creating module source", e); //$NON-NLS-1$
- }
-
- }
- }
- return sources;
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/internal/tmf/core/component/TmfEventThread.java b/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/internal/tmf/core/component/TmfEventThread.java
deleted file mode 100644
index 419fb76369..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/internal/tmf/core/component/TmfEventThread.java
+++ /dev/null
@@ -1,260 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2012, 2015 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
- * Bernd Hufmann - Update handling of suspend and resume
- * Patrick Tasse - Exit early if request is cancelled
- *******************************************************************************/
-
-package org.eclipse.linuxtools.internal.tmf.core.component;
-
-import org.eclipse.linuxtools.internal.tmf.core.Activator;
-import org.eclipse.linuxtools.internal.tmf.core.TmfCoreTracer;
-import org.eclipse.linuxtools.tmf.core.component.ITmfEventProvider;
-import org.eclipse.linuxtools.tmf.core.component.TmfEventProvider;
-import org.eclipse.linuxtools.tmf.core.event.ITmfEvent;
-import org.eclipse.linuxtools.tmf.core.request.ITmfEventRequest;
-import org.eclipse.linuxtools.tmf.core.request.ITmfEventRequest.ExecutionType;
-import org.eclipse.linuxtools.tmf.core.trace.ITmfContext;
-
-/**
- * Provides the core event request processor. It also has support for suspending
- * and resuming a request in a thread-safe manner.
- *
- * @author Francois Chouinard
- * @version 1.0
- */
-public class TmfEventThread implements Runnable {
-
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
-
- /**
- * The event provider
- */
- private final TmfEventProvider fProvider;
-
- /**
- * The wrapped event request
- */
- private final ITmfEventRequest fRequest;
-
- /**
- * The request execution priority
- */
- private final ExecutionType fExecType;
-
- /**
- * The wrapped thread (if applicable)
- */
- private final TmfEventThread fThread;
-
- /**
- * The thread execution state
- */
- private volatile boolean isCompleted = false;
-
- /** The synchronization object */
- private final Object fSynchObject = new Object();
-
- /** The flag for suspending a thread */
- private volatile boolean fIsPaused = false;
-
- // ------------------------------------------------------------------------
- // Constructor
- // ------------------------------------------------------------------------
-
- /**
- * Basic constructor
- *
- * @param provider the event provider
- * @param request the request to process
- */
- public TmfEventThread(TmfEventProvider provider, ITmfEventRequest request) {
- assert provider != null;
- assert request != null;
- fProvider = provider;
- fRequest = request;
- fExecType = request.getExecType();
- fThread = null;
- }
-
- /**
- * Wrapper constructor
- *
- * @param thread the thread to wrap
- */
- public TmfEventThread(TmfEventThread thread) {
- fProvider = thread.fProvider;
- fRequest = thread.fRequest;
- fExecType = thread.fExecType;
- fThread = thread;
- }
-
- // ------------------------------------------------------------------------
- // Getters
- // ------------------------------------------------------------------------
-
- /**
- * @return The wrapped thread
- */
- public TmfEventThread getThread() {
- return fThread;
- }
-
- /**
- * @return The event provider
- */
- public ITmfEventProvider getProvider() {
- return fProvider;
- }
-
- /**
- * @return The event request
- */
- public ITmfEventRequest getRequest() {
- return fRequest;
- }
-
- /**
- * @return The request execution priority
- */
- public ExecutionType getExecType() {
- return fExecType;
- }
-
- /**
- * @return The request execution state
- */
- public boolean isRunning() {
- return fRequest.isRunning() && !isPaused();
- }
-
- /**
- * @return The request execution state
- */
- public boolean isPaused() {
- return fIsPaused;
- }
-
- /**
- * @return The request execution state
- */
- public boolean isCompleted() {
- return isCompleted;
- }
-
- // ------------------------------------------------------------------------
- // Runnable
- // ------------------------------------------------------------------------
-
- @Override
- public void run() {
-
- TmfCoreTracer.traceRequest(fRequest, "is being serviced by " + fProvider.getName()); //$NON-NLS-1$
-
- if (fRequest.isCancelled()) {
- isCompleted = true;
- return;
- }
-
- // Extract the generic information
- fRequest.start();
- int nbRequested = fRequest.getNbRequested();
- int nbRead = 0;
-
- // Initialize the execution
- ITmfContext context = fProvider.armRequest(fRequest);
- if (context == null) {
- isCompleted = true;
- fRequest.cancel();
- return;
- }
-
- try {
- // Get the ordered events
- ITmfEvent event = fProvider.getNext(context);
- TmfCoreTracer.traceRequest(fRequest, "read first event"); //$NON-NLS-1$
-
- while (event != null && !fProvider.isCompleted(fRequest, event, nbRead)) {
-
- TmfCoreTracer.traceEvent(fProvider, fRequest, event);
- if (fRequest.getDataType().isInstance(event)) {
- fRequest.handleData(event);
- }
-
- // Pause execution if requested
-
- while (fIsPaused) {
- synchronized (fSynchObject) {
- try {
- fSynchObject.wait();
- } catch (InterruptedException e) {
- // continue
- }
- }
- }
-
- // To avoid an unnecessary read passed the last event requested
- if (++nbRead < nbRequested) {
- event = fProvider.getNext(context);
- }
- }
-
- isCompleted = true;
-
- if (fRequest.isCancelled()) {
- fRequest.cancel();
- } else {
- fRequest.done();
- }
-
- } catch (Exception e) {
- Activator.logError("Error in " + fProvider.getName() + " handling " + fRequest, e); //$NON-NLS-1$ //$NON-NLS-2$
- isCompleted = true;
- fRequest.fail();
- }
-
- // Cleanup
- context.dispose();
- }
-
- // ------------------------------------------------------------------------
- // Operations
- // ------------------------------------------------------------------------
-
- /**
- * Suspend the thread
- */
- public void suspend() {
- fIsPaused = true;
- TmfCoreTracer.traceRequest(fRequest, "SUSPENDED"); //$NON-NLS-1$
- }
-
- /**
- * Resume the thread
- */
- public void resume() {
- fIsPaused = false;
- synchronized (fSynchObject) {
- fSynchObject.notifyAll();
- }
- TmfCoreTracer.traceRequest(fRequest, "RESUMED"); //$NON-NLS-1$
- }
-
- /**
- * Cancel the request
- */
- public void cancel() {
- if (!fRequest.isCompleted()) {
- fRequest.cancel();
- }
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/internal/tmf/core/component/TmfProviderManager.java b/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/internal/tmf/core/component/TmfProviderManager.java
deleted file mode 100644
index aeee0352cb..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/internal/tmf/core/component/TmfProviderManager.java
+++ /dev/null
@@ -1,122 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009, 2013 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.internal.tmf.core.component;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.linuxtools.tmf.core.component.TmfEventProvider;
-import org.eclipse.linuxtools.tmf.core.event.ITmfEvent;
-
-/**
- * Singleton that keeps track of the event providers.
- *
- * @version 1.0
- * @author Francois Chouinard
- */
-public class TmfProviderManager {
-
- // ------------------------------------------------------------------------
- // No constructor
- // ------------------------------------------------------------------------
-
- private TmfProviderManager() {
- }
-
- // ------------------------------------------------------------------------
- // Keeps track of the providers for each event type
- // ------------------------------------------------------------------------
-
- private static Map<Class<? extends ITmfEvent>, List<TmfEventProvider>> fProviders =
- new HashMap<>();
-
- /**
- * Registers [provider] as a provider of [eventType]
- *
- * @param eventType
- * The event type
- * @param provider
- * The data provider
- */
- public static <T extends ITmfEvent> void register(Class<T> eventType, TmfEventProvider provider) {
- if (fProviders.get(eventType) == null) {
- fProviders.put(eventType, new ArrayList<TmfEventProvider>());
- }
- fProviders.get(eventType).add(provider);
- }
-
- /**
- * Re-registers [provider] as a provider of [eventType]
- *
- * @param eventType
- * The event type
- * @param provider
- * The data provider
- */
- public static <T extends ITmfEvent> void deregister(Class<T> eventType, TmfEventProvider provider) {
- List<TmfEventProvider> list = fProviders.get(eventType);
- if (list != null) {
- list.remove(provider);
- if (list.size() == 0) {
- fProviders.remove(eventType);
- }
- }
- }
-
- /**
- * Returns the list of components that provide [eventType]
- *
- * @param eventType
- * The event type
- * @return the list of components that provide [eventType]
- */
- public static TmfEventProvider[] getProviders(Class<? extends ITmfEvent> eventType) {
- List<TmfEventProvider> list = fProviders.get(eventType);
- if (list == null) {
- list = new ArrayList<>();
- }
- TmfEventProvider[] result = new TmfEventProvider[list.size()];
- return list.toArray(result);
- }
-
- /**
- * Returns the list of components of type [providerType] that provide
- * [eventType]
- *
- * @param eventType
- * The event type
- * @param providerType
- * The data provider
- * @return the list of components of type [providerType] that provide
- * [eventType]
- */
- public static TmfEventProvider[] getProviders(Class<? extends ITmfEvent> eventType, Class<? extends TmfEventProvider> providerType) {
- if (providerType == null) {
- return getProviders(eventType);
- }
- TmfEventProvider[] list = getProviders(eventType);
- List<TmfEventProvider> result = new ArrayList<>();
- if (list != null) {
- for (TmfEventProvider provider : list) {
- if (provider.getClass() == providerType) {
- result.add(provider);
- }
- }
- }
- TmfEventProvider[] array = new TmfEventProvider[result.size()];
- return result.toArray(array);
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/internal/tmf/core/filter/TmfCollapseFilter.java b/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/internal/tmf/core/filter/TmfCollapseFilter.java
deleted file mode 100644
index 66dbae0254..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/internal/tmf/core/filter/TmfCollapseFilter.java
+++ /dev/null
@@ -1,119 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 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:
- * Bernd Hufmann - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.linuxtools.internal.tmf.core.filter;
-
-import java.util.List;
-
-import org.eclipse.linuxtools.tmf.core.event.ITmfEvent;
-import org.eclipse.linuxtools.tmf.core.event.collapse.ITmfCollapsibleEvent;
-import org.eclipse.linuxtools.tmf.core.filter.model.ITmfFilterTreeNode;
-
-/**
- * Stateful filter that compares consecutive events for collapsing feature.
- *
- * Usage of this class in conjunction with other {@link ITmfFilterTreeNode}
- * filters is not supported. Will throw {@link UnsupportedOperationException}
- * in that case.
- *
- * @author Bernd Hufmann
- */
-public class TmfCollapseFilter implements ITmfFilterTreeNode {
-
- private static final String COLLAPSE_NODE_NAME = "Collapse"; //$NON-NLS-1$
-
- private ITmfCollapsibleEvent fPrevEvent = null;
-
- @Override
- public boolean matches(ITmfEvent event) {
-
- if (fPrevEvent != null) {
- if (event instanceof ITmfCollapsibleEvent) {
- boolean isCollapsible = fPrevEvent.isCollapsibleWith(event);
- fPrevEvent = (ITmfCollapsibleEvent) event;
- if (isCollapsible) {
- return false;
- }
- } else {
- fPrevEvent = null;
- }
- } else {
- if (event instanceof ITmfCollapsibleEvent) {
- fPrevEvent = (ITmfCollapsibleEvent) event;
- }
- }
- return true;
- }
-
- @Override
- public ITmfFilterTreeNode getParent() {
- return null;
- }
-
- @Override
- public String getNodeName() {
- return COLLAPSE_NODE_NAME;
- }
-
- @Override
- public boolean hasChildren() {
- return false;
- }
-
- @Override
- public int getChildrenCount() {
- return 0;
- }
-
- @Override
- public ITmfFilterTreeNode[] getChildren() {
- return new ITmfFilterTreeNode[0];
- }
-
- @Override
- public ITmfFilterTreeNode getChild(int index) {
- throw new UnsupportedOperationException();
- }
-
- @Override
- public ITmfFilterTreeNode remove() {
- throw new UnsupportedOperationException();
- }
-
- @Override
- public ITmfFilterTreeNode removeChild(ITmfFilterTreeNode node) {
- throw new UnsupportedOperationException();
- }
-
- @Override
- public int addChild(ITmfFilterTreeNode node) {
- throw new UnsupportedOperationException();
- }
-
- @Override
- public ITmfFilterTreeNode replaceChild(int index, ITmfFilterTreeNode node) {
- throw new UnsupportedOperationException();
- }
-
- @Override
- public void setParent(ITmfFilterTreeNode parent) {
- }
-
- @Override
- public List<String> getValidChildren() {
- throw new UnsupportedOperationException();
- }
-
- @Override
- public ITmfFilterTreeNode clone() {
- return new TmfCollapseFilter();
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/internal/tmf/core/messages.properties b/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/internal/tmf/core/messages.properties
deleted file mode 100644
index ef096a387b..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/internal/tmf/core/messages.properties
+++ /dev/null
@@ -1,14 +0,0 @@
-###############################################################################
-# Copyright (c) 2013 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:
-# Ericsson - Initial API and implementation
-###############################################################################
-
-TmfCheckpointIndexer_EventsPerSecond=events/s
-TmfCheckpointIndexer_Indexing=Indexing
diff --git a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/internal/tmf/core/request/TmfCoalescedEventRequest.java b/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/internal/tmf/core/request/TmfCoalescedEventRequest.java
deleted file mode 100644
index 33d54cd7de..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/internal/tmf/core/request/TmfCoalescedEventRequest.java
+++ /dev/null
@@ -1,321 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009, 2014 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
- * Alexandre Montplaisir - Merge with TmfCoalescedDataRequest
- *******************************************************************************/
-
-package org.eclipse.linuxtools.internal.tmf.core.request;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.linuxtools.internal.tmf.core.TmfCoreTracer;
-import org.eclipse.linuxtools.tmf.core.event.ITmfEvent;
-import org.eclipse.linuxtools.tmf.core.request.ITmfEventRequest;
-import org.eclipse.linuxtools.tmf.core.request.TmfEventRequest;
-import org.eclipse.linuxtools.tmf.core.timestamp.ITmfTimestamp;
-import org.eclipse.linuxtools.tmf.core.timestamp.TmfTimeRange;
-
-/**
- * The TMF coalesced event request
- *
- * @author Francois Chouinard
- * @since 3.0
- */
-public class TmfCoalescedEventRequest extends TmfEventRequest {
-
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
-
- /** The list of coalesced requests */
- private final List<ITmfEventRequest> fRequests = new ArrayList<>();
-
- /**
- * We do not use super.fRange, because in the case of coalesced requests,
- * the global range can be modified as sub-request are added.
- */
- private TmfTimeRange fRange;
-
- // ------------------------------------------------------------------------
- // Constructor
- // ------------------------------------------------------------------------
-
- /**
- * Request 'n' events of a given type for the given time range (given
- * priority). Events are returned in blocks of the given size.
- *
- * @param dataType
- * The requested data type
- * @param range
- * The range of the request. You can use
- * {@link TmfTimeRange#ETERNITY} to request all events.
- * @param index
- * The index of the first event to retrieve. Use '0' to start at
- * the beginning.
- * @param nbRequested
- * The number of events requested. You can use
- * {@link TmfEventRequest#ALL_DATA} to request all events.
- * @param priority
- * The requested execution priority
- */
- public TmfCoalescedEventRequest(Class<? extends ITmfEvent> dataType,
- TmfTimeRange range,
- long index,
- int nbRequested,
- ExecutionType priority) {
- super(ITmfEvent.class, null, index, nbRequested, priority);
- fRange = range;
-
- if (TmfCoreTracer.isRequestTraced()) {
- String type = getClass().getName();
- type = type.substring(type.lastIndexOf('.') + 1);
- @SuppressWarnings("nls")
- String message = "CREATED "
- + (getExecType() == ITmfEventRequest.ExecutionType.BACKGROUND ? "(BG)" : "(FG)")
- + " Type=" + type + " Index=" + getIndex() + " NbReq=" + getNbRequested()
- + " Range=" + getRange()
- + " DataType=" + getDataType().getSimpleName();
- TmfCoreTracer.traceRequest(this, message);
- }
- }
-
- @Override
- public TmfTimeRange getRange() {
- return fRange;
- }
-
- // ------------------------------------------------------------------------
- // Management
- // ------------------------------------------------------------------------
-
- /**
- * Add a request to this one.
- *
- * @param request
- * The request to add
- */
- public void addRequest(ITmfEventRequest request) {
- fRequests.add(request);
- merge(request);
- }
-
- /**
- * Check if a request is compatible with the current coalesced one
- *
- * @param request
- * The request to verify
- * @return If the request is compatible, true or false
- */
- public boolean isCompatible(ITmfEventRequest request) {
- if (request.getExecType() == getExecType() &&
- ranksOverlap(request) &&
- timeRangesOverlap(request)) {
- return true;
- }
- return false;
- }
-
- private boolean ranksOverlap(ITmfEventRequest request) {
- long start = request.getIndex();
- long end = start + request.getNbRequested();
-
- // Return true if either the start or end index falls within
- // the coalesced request boundaries
- return (start <= (fIndex + fNbRequested + 1) && (end >= fIndex - 1));
- }
-
- private boolean timeRangesOverlap(ITmfEventRequest request) {
- ITmfTimestamp startTime = request.getRange().getStartTime();
- ITmfTimestamp endTime = request.getRange().getEndTime();
- return (startTime.compareTo(endTime) <= 0) &&
- (fRange.getStartTime().compareTo(fRange.getEndTime()) <= 0);
- }
-
- private void merge(ITmfEventRequest request) {
- long start = request.getIndex();
- long end = Math.min(start + request.getNbRequested(), ITmfEventRequest.ALL_DATA);
-
- if (start < fIndex) {
- if (fNbRequested != ITmfEventRequest.ALL_DATA) {
- fNbRequested += (fIndex - start);
- }
- fIndex = start;
- }
- if ((request.getNbRequested() == ITmfEventRequest.ALL_DATA) ||
- (fNbRequested == ITmfEventRequest.ALL_DATA)) {
- fNbRequested = ITmfEventRequest.ALL_DATA;
- } else {
- fNbRequested = (int) Math.max(end - fIndex, fNbRequested);
- }
-
- ITmfTimestamp startTime = request.getRange().getStartTime();
- ITmfTimestamp endTime = request.getRange().getEndTime();
- if (!fRange.contains(startTime) && fRange.getStartTime().compareTo(startTime) > 0) {
- fRange = new TmfTimeRange(startTime, fRange.getEndTime());
- }
- if (!fRange.contains(endTime) && fRange.getEndTime().compareTo(endTime) < 0) {
- fRange = new TmfTimeRange(fRange.getStartTime(), endTime);
- }
- }
-
- /**
- * @return The list of IDs of the sub-requests
- */
- @SuppressWarnings("nls")
- public String getSubRequestIds() {
- StringBuffer result = new StringBuffer("[");
- for (int i = 0; i < fRequests.size(); i++) {
- if (i != 0) {
- result.append(", ");
- }
- result.append(fRequests.get(i).getRequestId());
- }
- result.append("]");
- return result.toString();
- }
-
- // ------------------------------------------------------------------------
- // ITmfEventRequest
- // ------------------------------------------------------------------------
-
- @Override
- public void handleData(ITmfEvent data) {
- super.handleData(data);
- long index = getIndex() + getNbRead() - 1;
- for (ITmfEventRequest request : fRequests) {
- long start = request.getIndex();
- if (!request.isCompleted() && index >= start && request.getNbRead() < request.getNbRequested()) {
- ITmfTimestamp ts = data.getTimestamp();
- if (request.getRange().contains(ts)) {
- if (request.getDataType().isInstance(data)) {
- request.handleData(data);
- }
- }
- }
- }
- }
-
- @Override
- public void start() {
- for (ITmfEventRequest request : fRequests) {
- if (!request.isCompleted()) {
- request.start();
- }
- }
- super.start();
- }
-
- @Override
- public void done() {
- for (ITmfEventRequest request : fRequests) {
- if (!request.isCompleted()) {
- request.done();
- }
- }
- super.done();
- }
-
- @Override
- public void fail() {
- for (ITmfEventRequest request : fRequests) {
- request.fail();
- }
- super.fail();
- }
-
- @Override
- public void cancel() {
- for (ITmfEventRequest request : fRequests) {
- if (!request.isCompleted()) {
- request.cancel();
- }
- }
- super.cancel();
- }
-
- @Override
- public synchronized boolean isCompleted() {
- // Firstly, check if coalescing request is completed
- if (super.isCompleted()) {
- return true;
- }
-
- // Secondly, check if all sub-requests are finished
- if (fRequests.size() > 0) {
- // If all sub requests are completed the coalesced request is
- // treated as completed, too.
- for (ITmfEventRequest request : fRequests) {
- if (!request.isCompleted()) {
- return false;
- }
- }
- return true;
- }
-
- // Coalescing request is not finished if there are no sub-requests
- return false;
- }
-
- @Override
- public synchronized boolean isCancelled() {
- // Firstly, check if coalescing request is canceled
- if (super.isCancelled()) {
- return true;
- }
-
- // Secondly, check if all sub-requests are canceled
- if (fRequests.size() > 0) {
- // If all sub requests are canceled the coalesced request is
- // treated as completed, too.
- for (ITmfEventRequest request : fRequests) {
- if (!request.isCancelled()) {
- return false;
- }
- }
- return true;
- }
-
- // Coalescing request is not canceled if there are no sub-requests
- return false;
-
- }
-
- // ------------------------------------------------------------------------
- // Object
- // ------------------------------------------------------------------------
-
- @Override
- // All requests have a unique id
- public int hashCode() {
- return super.hashCode();
- }
-
- @Override
- public boolean equals(Object other) {
- if (other instanceof TmfCoalescedEventRequest) {
- TmfCoalescedEventRequest request = (TmfCoalescedEventRequest) other;
- return (request.getDataType() == getDataType()) &&
- (request.getIndex() == getIndex()) &&
- (request.getNbRequested() == getNbRequested()) &&
- (request.getRange().equals(fRange));
- }
- return false;
- }
-
- @Override
- @SuppressWarnings("nls")
- public String toString() {
- return "[TmfCoalescedEventRequest(" + getRequestId() + "," + getDataType().getSimpleName()
- + "," + getExecType() + "," + getRange() + "," + getIndex() + "," + getNbRequested()
- + ", " + fRequests.toString() + ")]";
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/internal/tmf/core/request/TmfRequestExecutor.java b/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/internal/tmf/core/request/TmfRequestExecutor.java
deleted file mode 100644
index a232cabcb2..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/internal/tmf/core/request/TmfRequestExecutor.java
+++ /dev/null
@@ -1,308 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009, 2014 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 - Added support for pre-emption
- * Simon Delisle - Added scheduler for requests
- *******************************************************************************/
-
-package org.eclipse.linuxtools.internal.tmf.core.request;
-
-import java.util.Queue;
-import java.util.Timer;
-import java.util.TimerTask;
-import java.util.concurrent.ArrayBlockingQueue;
-import java.util.concurrent.Executor;
-import java.util.concurrent.ExecutorService;
-import java.util.concurrent.Executors;
-
-import org.eclipse.linuxtools.internal.tmf.core.TmfCoreTracer;
-import org.eclipse.linuxtools.internal.tmf.core.component.TmfEventThread;
-import org.eclipse.linuxtools.tmf.core.request.ITmfEventRequest.ExecutionType;
-
-/**
- * The request scheduler works with 5 slots with a specific time. It has 4 slots
- * for foreground requests and 1 slot for background requests, and it passes
- * through all the slots (foreground first and background after).
- *
- * Example: if we have one foreground and one background request, the foreground
- * request will be executed four times more often than the background request.
- *
- * @author Francois Chouinard
- * @author Simon Delisle
- * @version 1.1
- */
-public class TmfRequestExecutor implements Executor {
-
- // ------------------------------------------------------------------------
- // Constants
- // ------------------------------------------------------------------------
-
- private static final long REQUEST_TIME = 100;
- private static final int FOREGROUND_SLOT = 4;
-
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
-
- // The request executor
- private final ExecutorService fExecutor = Executors.newCachedThreadPool();
- private final String fExecutorName;
-
- // The request queues
- private final Queue<TmfEventThread> fForegroundTasks = new ArrayBlockingQueue<>(10);
- private final Queue<TmfEventThread> fBackgroundTasks = new ArrayBlockingQueue<>(10);
-
- // The tasks
- private TmfEventThread fActiveTask;
-
- private Timer fTimer;
- private TimerTask fTimerTask;
-
- private int fForegroundCycle = 0;
-
- // ------------------------------------------------------------------------
- // Constructors
- // ------------------------------------------------------------------------
-
- /**
- * Default constructor
- */
- public TmfRequestExecutor() {
- String canonicalName = fExecutor.getClass().getCanonicalName();
- fExecutorName = canonicalName.substring(canonicalName.lastIndexOf('.') + 1);
- if (TmfCoreTracer.isComponentTraced()) {
- TmfCoreTracer.trace(fExecutor + " created"); //$NON-NLS-1$
- }
- }
-
- // ------------------------------------------------------------------------
- // Getters
- // ------------------------------------------------------------------------
-
- /**
- * @return the shutdown state (i.e. if it is accepting new requests)
- */
- public boolean isShutdown() {
- return fExecutor.isShutdown();
- }
-
- /**
- * @return the termination state
- */
- public boolean isTerminated() {
- return fExecutor.isTerminated();
- }
-
- // ------------------------------------------------------------------------
- // Operations
- // ------------------------------------------------------------------------
-
- /**
- * Initialize the executor
- */
- public void init() {
- if (fTimer != null) {
- return;
- }
- // Initialize the timer for the schedSwitch
- fTimerTask = new SchedSwitch();
- fTimer = new Timer(true);
- fTimer.schedule(fTimerTask, 0, REQUEST_TIME);
- }
-
- @Override
- public synchronized void execute(final Runnable command) {
-
- // We are expecting MyEventThread:s
- if (!(command instanceof TmfEventThread)) {
- // TODO: Log an error
- return;
- }
-
- // Wrap the thread in a MyThread
- TmfEventThread thread = (TmfEventThread) command;
- TmfEventThread wrapper = new TmfEventThread(thread) {
- @Override
- public void run() {
- try {
- command.run();
- } finally {
- scheduleNext();
- }
- }
- };
-
- // Add the thread to the appropriate queue
- ExecutionType priority = thread.getExecType();
-
- if (priority == ExecutionType.FOREGROUND) {
- if (!fForegroundTasks.offer(wrapper)) {
- wrapper.cancel();
- }
- } else {
- if (!fBackgroundTasks.offer(wrapper)) {
- wrapper.cancel();
- }
- }
- }
-
- /**
- * Timer task to trigger scheduleNext()
- */
- private class SchedSwitch extends TimerTask {
-
- SchedSwitch() {
- }
-
- @Override
- public void run() {
- scheduleNext();
- }
- }
-
- /**
- * Executes the next pending request, if applicable.
- */
- protected synchronized void scheduleNext() {
- if (!isShutdown()) {
- if (fActiveTask == null) {
- schedule();
- } else if (fActiveTask.getExecType() == ExecutionType.FOREGROUND) {
- if (fActiveTask.getThread().isCompleted()) {
- fActiveTask = null;
- schedule();
- } else {
- if (hasTasks()) {
- fActiveTask.getThread().suspend();
- if (!fForegroundTasks.offer(fActiveTask)) {
- fActiveTask.cancel();
- fActiveTask = null;
- }
- schedule();
- }
- }
-
- } else if (fActiveTask.getExecType() == ExecutionType.BACKGROUND) {
- if (fActiveTask.getThread().isCompleted()) {
- fActiveTask = null;
- schedule();
- } else {
- if (hasTasks()) {
- fActiveTask.getThread().suspend();
- if (!fBackgroundTasks.offer(fActiveTask)) {
- fActiveTask.cancel();
- fActiveTask = null;
- }
- schedule();
- }
- }
- }
- }
- }
-
- /**
- * Stops the executor
- */
- public synchronized void stop() {
- if (fTimerTask != null) {
- fTimerTask.cancel();
- }
-
- if (fTimer != null) {
- fTimer.cancel();
- }
-
- if (fActiveTask != null) {
- fActiveTask.cancel();
- }
-
- while ((fActiveTask = fForegroundTasks.poll()) != null) {
- fActiveTask.cancel();
- }
- while ((fActiveTask = fBackgroundTasks.poll()) != null) {
- fActiveTask.cancel();
- }
-
- fExecutor.shutdown();
- if (TmfCoreTracer.isComponentTraced()) {
- TmfCoreTracer.trace(fExecutor + " terminated"); //$NON-NLS-1$
- }
- }
-
- // ------------------------------------------------------------------------
- // Helper methods
- // ------------------------------------------------------------------------
-
- /**
- * Determine which type of request (foreground or background) we schedule
- * next
- */
- private void schedule() {
- if (!fForegroundTasks.isEmpty()) {
- scheduleNextForeground();
- } else {
- scheduleNextBackground();
- }
- }
-
- /**
- * Schedule the next foreground request
- */
- private void scheduleNextForeground() {
- if (fForegroundCycle < FOREGROUND_SLOT || fBackgroundTasks.isEmpty()) {
- ++fForegroundCycle;
- fActiveTask = fForegroundTasks.poll();
- executefActiveTask();
- } else {
- fActiveTask = null;
- scheduleNextBackground();
- }
- }
-
- /**
- * Schedule the next background request
- */
- private void scheduleNextBackground() {
- fForegroundCycle = 0;
- if (!fBackgroundTasks.isEmpty()) {
- fActiveTask = fBackgroundTasks.poll();
- executefActiveTask();
- }
- }
-
- /**
- * Execute or resume the active task
- */
- private void executefActiveTask() {
- if (fActiveTask.getThread().isPaused()) {
- fActiveTask.getThread().resume();
- } else {
- fExecutor.execute(fActiveTask);
- }
- }
-
- /**
- * Check if the scheduler has tasks
- */
- private boolean hasTasks() {
- return !(fForegroundTasks.isEmpty() && fBackgroundTasks.isEmpty());
- }
-
- // ------------------------------------------------------------------------
- // Object
- // ------------------------------------------------------------------------
-
- @Override
- @SuppressWarnings("nls")
- public String toString() {
- return "[TmfRequestExecutor(" + fExecutorName + ")]";
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/internal/tmf/core/statesystem/backends/partial/PartialHistoryBackend.java b/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/internal/tmf/core/statesystem/backends/partial/PartialHistoryBackend.java
deleted file mode 100644
index f225edeb52..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/internal/tmf/core/statesystem/backends/partial/PartialHistoryBackend.java
+++ /dev/null
@@ -1,365 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013, 2014 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:
- * Alexandre Montplaisir - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.internal.tmf.core.statesystem.backends.partial;
-
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.PrintWriter;
-import java.util.List;
-import java.util.Map;
-import java.util.TreeMap;
-import java.util.concurrent.CountDownLatch;
-
-import org.eclipse.jdt.annotation.NonNull;
-import org.eclipse.linuxtools.statesystem.core.ITmfStateSystem;
-import org.eclipse.linuxtools.statesystem.core.backend.IStateHistoryBackend;
-import org.eclipse.linuxtools.statesystem.core.exceptions.AttributeNotFoundException;
-import org.eclipse.linuxtools.statesystem.core.exceptions.StateSystemDisposedException;
-import org.eclipse.linuxtools.statesystem.core.exceptions.TimeRangeException;
-import org.eclipse.linuxtools.statesystem.core.interval.ITmfStateInterval;
-import org.eclipse.linuxtools.statesystem.core.interval.TmfStateInterval;
-import org.eclipse.linuxtools.statesystem.core.statevalue.ITmfStateValue;
-import org.eclipse.linuxtools.tmf.core.event.ITmfEvent;
-import org.eclipse.linuxtools.tmf.core.request.ITmfEventRequest;
-import org.eclipse.linuxtools.tmf.core.request.TmfEventRequest;
-import org.eclipse.linuxtools.tmf.core.statesystem.AbstractTmfStateProvider;
-import org.eclipse.linuxtools.tmf.core.statesystem.ITmfStateProvider;
-import org.eclipse.linuxtools.tmf.core.timestamp.ITmfTimestamp;
-import org.eclipse.linuxtools.tmf.core.timestamp.TmfTimeRange;
-import org.eclipse.linuxtools.tmf.core.timestamp.TmfTimestamp;
-import org.eclipse.linuxtools.tmf.core.trace.ITmfTrace;
-
-/**
- * Partial state history back-end.
- *
- * This is a shim inserted between the real state system and a "real" history
- * back-end. It will keep checkpoints, every n trace events (where n is called
- * the granularity) and will only forward to the real state history the state
- * intervals that crosses at least one checkpoint. Every other interval will
- * be discarded.
- *
- * This would mean that it can only answer queries exactly at the checkpoints.
- * For any other timestamps (ie, most of the time), it will load the closest
- * earlier checkpoint, and will re-feed the state-change-input with events from
- * the trace, to restore the real state at the time that was requested.
- *
- * @author Alexandre Montplaisir
- */
-public class PartialHistoryBackend implements IStateHistoryBackend {
-
- /**
- * A partial history needs the state input plugin to re-generate state
- * between checkpoints.
- */
- private final @NonNull ITmfStateProvider partialInput;
-
- /**
- * Fake state system that is used for partially rebuilding the states (when
- * going from a checkpoint to a target query timestamp).
- */
- private final @NonNull PartialStateSystem partialSS;
-
- /** Reference to the "real" state history that is used for storage */
- private final @NonNull IStateHistoryBackend innerHistory;
-
- /** Checkpoints map, <Timestamp, Rank in the trace> */
- private final @NonNull TreeMap<Long, Long> checkpoints = new TreeMap<>();
-
- /** Latch tracking if the initial checkpoint registration is done */
- private final @NonNull CountDownLatch checkpointsReady = new CountDownLatch(1);
-
- private final long granularity;
-
- private long latestTime;
-
- /**
- * Constructor
- *
- * @param partialInput
- * The state change input object that was used to build the
- * upstream state system. This partial history will make its own
- * copy (since they have different targets).
- * @param pss
- * The partial history's inner state system. It should already be
- * assigned to partialInput.
- * @param realBackend
- * The real state history back-end to use. It's supposed to be
- * modular, so it should be able to be of any type.
- * @param granularity
- * Configuration parameter indicating how many trace events there
- * should be between each checkpoint
- */
- public PartialHistoryBackend(ITmfStateProvider partialInput, PartialStateSystem pss,
- IStateHistoryBackend realBackend, long granularity) {
- if (granularity <= 0 || partialInput == null || pss == null ||
- partialInput.getAssignedStateSystem() != pss) {
- throw new IllegalArgumentException();
- }
-
- final long startTime = realBackend.getStartTime();
-
- this.partialInput = partialInput;
- this.partialSS = pss;
-
- this.innerHistory = realBackend;
- this.granularity = granularity;
-
- latestTime = startTime;
-
- registerCheckpoints();
- }
-
- private void registerCheckpoints() {
- ITmfEventRequest request = new CheckpointsRequest(partialInput, checkpoints);
- partialInput.getTrace().sendRequest(request);
- /* The request will countDown the checkpoints latch once it's finished */
- }
-
- @Override
- public long getStartTime() {
- return innerHistory.getStartTime();
- }
-
- @Override
- public long getEndTime() {
- return latestTime;
- }
-
- @Override
- public void insertPastState(long stateStartTime, long stateEndTime,
- int quark, ITmfStateValue value) throws TimeRangeException {
- waitForCheckpoints();
-
- /* Update the latest time */
- if (stateEndTime > latestTime) {
- latestTime = stateEndTime;
- }
-
- /*
- * Check if the interval intersects the previous checkpoint. If so,
- * insert it in the real history back-end.
- *
- * FIXME since intervals are inserted in order of rank, we could avoid
- * doing a map lookup every time here (just compare with the known
- * previous one).
- */
- if (stateStartTime <= checkpoints.floorKey(stateEndTime)) {
- innerHistory.insertPastState(stateStartTime, stateEndTime, quark, value);
- }
- }
-
- @Override
- public void finishedBuilding(long endTime) throws TimeRangeException {
- innerHistory.finishedBuilding(endTime);
- }
-
- @Override
- public FileInputStream supplyAttributeTreeReader() {
- return innerHistory.supplyAttributeTreeReader();
- }
-
- @Override
- public File supplyAttributeTreeWriterFile() {
- return innerHistory.supplyAttributeTreeWriterFile();
- }
-
- @Override
- public long supplyAttributeTreeWriterFilePosition() {
- return innerHistory.supplyAttributeTreeWriterFilePosition();
- }
-
- @Override
- public void removeFiles() {
- innerHistory.removeFiles();
- }
-
- @Override
- public void dispose() {
- partialInput.dispose();
- partialSS.dispose();
- innerHistory.dispose();
- }
-
- @Override
- public void doQuery(List<ITmfStateInterval> currentStateInfo, long t)
- throws TimeRangeException, StateSystemDisposedException {
- /* Wait for required steps to be done */
- waitForCheckpoints();
- partialSS.getUpstreamSS().waitUntilBuilt();
-
- if (!checkValidTime(t)) {
- throw new TimeRangeException();
- }
-
- /* Reload the previous checkpoint */
- long checkpointTime = checkpoints.floorKey(t);
- innerHistory.doQuery(currentStateInfo, checkpointTime);
-
- /*
- * Set the initial contents of the partial state system (which is the
- * contents of the query at the checkpoint).
- */
- partialSS.takeQueryLock();
- partialSS.replaceOngoingState(currentStateInfo);
-
- /* Send an event request to update the state system to the target time. */
- TmfTimeRange range = new TmfTimeRange(
- /*
- * The state at the checkpoint already includes any state change
- * caused by the event(s) happening exactly at 'checkpointTime',
- * if any. We must not include those events in the query.
- */
- new TmfTimestamp(checkpointTime + 1, ITmfTimestamp.NANOSECOND_SCALE),
- new TmfTimestamp(t, ITmfTimestamp.NANOSECOND_SCALE));
- ITmfEventRequest request = new PartialStateSystemRequest(partialInput, range);
- partialInput.getTrace().sendRequest(request);
-
- try {
- request.waitForCompletion();
- } catch (InterruptedException e) {
- e.printStackTrace();
- }
-
- /*
- * Now the partial state system should have the ongoing time we are
- * looking for. However, the method expects a List of *state intervals*,
- * not state values, so we'll create intervals with a dummy end time.
- */
- try {
- for (int i = 0; i < currentStateInfo.size(); i++) {
- long start = 0;
- ITmfStateValue val = null;
- start = ((ITmfStateSystem) partialSS).getOngoingStartTime(i);
- val = ((ITmfStateSystem) partialSS).queryOngoingState(i);
-
- ITmfStateInterval interval = new TmfStateInterval(start, t, i, val);
- currentStateInfo.set(i, interval);
- }
- } catch (AttributeNotFoundException e) {
- /* Should not happen, we iterate over existing values. */
- e.printStackTrace();
- }
-
- partialSS.releaseQueryLock();
- }
-
- /**
- * Single queries are not supported in partial histories. To get the same
- * result you can do a full query, then call fullState.get(attribute).
- */
- @Override
- public ITmfStateInterval doSingularQuery(long t, int attributeQuark) {
- throw new UnsupportedOperationException();
- }
-
- @Override
- public boolean checkValidTime(long t) {
- return (t >= getStartTime() && t <= getEndTime());
- }
-
- @Override
- public void debugPrint(PrintWriter writer) {
- // TODO Auto-generated method stub
- }
-
- private void waitForCheckpoints() {
- try {
- checkpointsReady.await();
- } catch (InterruptedException e) {
- e.printStackTrace();
- }
- }
-
- // ------------------------------------------------------------------------
- // Event requests types
- // ------------------------------------------------------------------------
-
- private class CheckpointsRequest extends TmfEventRequest {
- private final ITmfTrace trace;
- private final Map<Long, Long> checkpts;
- private long eventCount;
- private long lastCheckpointAt;
-
- public CheckpointsRequest(ITmfStateProvider input, Map<Long, Long> checkpoints) {
- super(input.getExpectedEventType(),
- TmfTimeRange.ETERNITY,
- 0,
- ITmfEventRequest.ALL_DATA,
- ITmfEventRequest.ExecutionType.FOREGROUND);
- checkpoints.clear();
- this.trace = input.getTrace();
- this.checkpts = checkpoints;
- eventCount = 0;
- lastCheckpointAt = 0;
-
- /* Insert a checkpoint at the start of the trace */
- checkpoints.put(input.getStartTime(), 0L);
- }
-
- @Override
- public void handleData(final ITmfEvent event) {
- super.handleData(event);
- if (event.getTrace() == trace) {
- eventCount++;
-
- /* Check if we need to register a new checkpoint */
- if (eventCount >= lastCheckpointAt + granularity) {
- checkpts.put(event.getTimestamp().getValue(), eventCount);
- lastCheckpointAt = eventCount;
- }
- }
- }
-
- @Override
- public void handleCompleted() {
- super.handleCompleted();
- checkpointsReady.countDown();
- }
- }
-
- private class PartialStateSystemRequest extends TmfEventRequest {
- private final ITmfStateProvider sci;
- private final ITmfTrace trace;
-
- PartialStateSystemRequest(ITmfStateProvider sci, TmfTimeRange range) {
- super(sci.getExpectedEventType(),
- range,
- 0,
- ITmfEventRequest.ALL_DATA,
- ITmfEventRequest.ExecutionType.BACKGROUND);
- this.sci = sci;
- this.trace = sci.getTrace();
- }
-
- @Override
- public void handleData(final ITmfEvent event) {
- super.handleData(event);
- if (event.getTrace() == trace) {
- sci.processEvent(event);
- }
- }
-
- @Override
- public void handleCompleted() {
- /*
- * If we're using a threaded state provider, we need to make sure
- * all events have been handled by the state system before doing
- * queries on it.
- */
- if (partialInput instanceof AbstractTmfStateProvider) {
- ((AbstractTmfStateProvider) partialInput).waitForEmptyQueue();
- }
- super.handleCompleted();
- }
-
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/internal/tmf/core/statesystem/backends/partial/PartialStateSystem.java b/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/internal/tmf/core/statesystem/backends/partial/PartialStateSystem.java
deleted file mode 100644
index 1a7ede3f9a..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/internal/tmf/core/statesystem/backends/partial/PartialStateSystem.java
+++ /dev/null
@@ -1,162 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013, 2014 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:
- * Alexandre Montplaisir - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.internal.tmf.core.statesystem.backends.partial;
-
-import java.util.List;
-import java.util.concurrent.CountDownLatch;
-import java.util.concurrent.locks.Lock;
-import java.util.concurrent.locks.ReentrantLock;
-
-import org.eclipse.linuxtools.internal.statesystem.core.AttributeTree;
-import org.eclipse.linuxtools.internal.statesystem.core.StateSystem;
-import org.eclipse.linuxtools.statesystem.core.ITmfStateSystem;
-import org.eclipse.linuxtools.statesystem.core.backend.NullBackend;
-import org.eclipse.linuxtools.statesystem.core.exceptions.AttributeNotFoundException;
-import org.eclipse.linuxtools.statesystem.core.interval.ITmfStateInterval;
-
-/**
- * State system interface-like extension to use with partial state histories.
- *
- * It mainly exposes the {@link #replaceOngoingState} method, which allows
- * seeking the state system to a different point by updating its "ongoing" state
- * values.
- *
- * @author Alexandre Montplaisir
- */
-@SuppressWarnings("restriction") /* We're using AttributeTree directly */
-public class PartialStateSystem extends StateSystem {
-
- private static final String ERR_MSG = "Partial state system should not modify the attribute tree!"; //$NON-NLS-1$
-
- private final CountDownLatch ssAssignedLatch = new CountDownLatch(1);
- private final Lock queryLock = new ReentrantLock();
-
- /**
- * Reference to the real upstream state system. This is used so we can read
- * its attribute tree.
- */
- private StateSystem realStateSystem = null;
-
- /**
- * Constructor
- */
- public PartialStateSystem() {
- /*
- * We use a Null back end here : we only use this state system for its
- * "ongoing" values, so no need to save the changes that are inserted.
- */
- super("partial", new NullBackend()); //$NON-NLS-1$
- }
-
- /**
- * Assign the upstream state system to this one.
- *
- * @param ss
- * The real state system
- */
- public void assignUpstream(StateSystem ss) {
- realStateSystem = ss;
- ssAssignedLatch.countDown();
- }
-
- ITmfStateSystem getUpstreamSS() {
- return realStateSystem;
- }
-
- // ------------------------------------------------------------------------
- // Publicized non-API methods
- // ------------------------------------------------------------------------
-
- @Override
- public void replaceOngoingState(List<ITmfStateInterval> ongoingIntervals) {
- super.replaceOngoingState(ongoingIntervals);
- }
-
- @Override
- public synchronized void dispose() {
- super.dispose();
- }
-
- // ------------------------------------------------------------------------
- // Methods regarding the query lock
- // ------------------------------------------------------------------------
-
- /**
- * Take this inner state system's lock before doing a query.
- *
- * When doing queries, you should take the lock, then run
- * {@link #replaceOngoingState}, then send events to its state provider
- * input to cause state changes, and then call {@link #queryOngoingState} to
- * get the states at the new "current time".
- *
- * Only after all that it would be safe to release the lock.
- */
- public void takeQueryLock() {
- try {
- queryLock.lockInterruptibly();
- } catch (InterruptedException e) {
- e.printStackTrace();
- }
- }
-
- /**
- * Release the query lock, when you are done with your query.
- */
- public void releaseQueryLock() {
- queryLock.unlock();
- }
-
- @Override
- public AttributeTree getAttributeTree() {
- waitUntilReady();
- return realStateSystem.getAttributeTree();
- }
-
- /*
- * Override these methods to make sure we don't try to overwrite the
- * "real" upstream attribute tree.
- */
-
- @Override
- public void addEmptyAttribute() {
- throw new RuntimeException(ERR_MSG);
- }
-
- @Override
- public int getQuarkAbsoluteAndAdd(String... attribute) {
- waitUntilReady();
- try {
- return realStateSystem.getQuarkAbsolute(attribute);
- } catch (AttributeNotFoundException e) {
- throw new RuntimeException(ERR_MSG);
- }
- }
-
- @Override
- public int getQuarkRelativeAndAdd(int startingNodeQuark, String... subPath) {
- waitUntilReady();
- try {
- return realStateSystem.getQuarkRelative(startingNodeQuark, subPath);
- } catch (AttributeNotFoundException e) {
- throw new RuntimeException(ERR_MSG);
- }
- }
-
- private void waitUntilReady() {
- try {
- ssAssignedLatch.await();
- } catch (InterruptedException e) {
- e.printStackTrace();
- }
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/internal/tmf/core/statesystem/mipmap/AbstractTmfMipmapStateProvider.java b/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/internal/tmf/core/statesystem/mipmap/AbstractTmfMipmapStateProvider.java
deleted file mode 100644
index 2baaae8c9c..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/internal/tmf/core/statesystem/mipmap/AbstractTmfMipmapStateProvider.java
+++ /dev/null
@@ -1,199 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 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:
- * Jean-Christian Kouamé - Initial API and implementation
- * Patrick Tasse - Updates to mipmap feature
- *******************************************************************************/
-
-package org.eclipse.linuxtools.internal.tmf.core.statesystem.mipmap;
-
-import java.util.HashMap;
-import java.util.LinkedHashSet;
-import java.util.Map;
-import java.util.Set;
-
-import org.eclipse.linuxtools.statesystem.core.exceptions.AttributeNotFoundException;
-import org.eclipse.linuxtools.statesystem.core.exceptions.StateValueTypeException;
-import org.eclipse.linuxtools.statesystem.core.exceptions.TimeRangeException;
-import org.eclipse.linuxtools.statesystem.core.statevalue.ITmfStateValue;
-import org.eclipse.linuxtools.statesystem.core.statevalue.TmfStateValue;
-import org.eclipse.linuxtools.statesystem.core.statevalue.ITmfStateValue.Type;
-import org.eclipse.linuxtools.tmf.core.event.ITmfEvent;
-import org.eclipse.linuxtools.tmf.core.statesystem.AbstractTmfStateProvider;
-import org.eclipse.linuxtools.tmf.core.trace.ITmfTrace;
-
-/**
- * This is an abstract state provider that allows attributes to be mipmapped
- * for one or more of the supported mipmap features (min, max, average).
- *
- * Extend this class for a specific implementation
- */
-public abstract class AbstractTmfMipmapStateProvider extends AbstractTmfStateProvider {
-
- /**
- * Feature bit for the maximum mipmap feature (value is 1&lt;&lt;1).
- */
- public static final int MAX = 1 << 1;
-
- /**
- * Feature bit for the minimum mipmap feature (value is 1&lt;&lt;2).
- */
- public static final int MIN = 1 << 2;
-
- /**
- * Feature bit for the average mipmap feature (value is 1&lt;&lt;3).
- */
- public static final int AVG = 1 << 3;
-
- /**
- * The string for maximum mipmap feature sub-attribute.
- * This attribute value is the mipmap number of levels.
- * It has sub-attributes for every level ("1", "2", etc.)
- */
- public static final String MAX_STRING = "max"; //$NON-NLS-1$
-
- /**
- * The string for minimum mipmap feature sub-attribute.
- * This attribute value is the mipmap number of levels.
- * It has sub-attributes for every level ("1", "2", etc.)
- */
- public static final String MIN_STRING = "min"; //$NON-NLS-1$
-
- /**
- * The string for average mipmap feature sub-attribute.
- * This attribute value is the mipmap number of levels.
- * It has sub-attributes for every level ("1", "2", etc.)
- */
- public static final String AVG_STRING = "avg"; //$NON-NLS-1$
-
- /**
- * Map of mipmap features per attribute. The map's key is the base attribute quark.
- */
- private Map<Integer, Set<ITmfMipmapFeature>> featureMap = new HashMap<>();
-
- // ------------------------------------------------------------------------
- // Constructor
- // ------------------------------------------------------------------------
-
- /**
- * Constructor
- *
- * @param trace
- * The trace directory
- * @param eventType
- * The specific class for the event type
- * @param id
- * The name given to this state change input. Only used
- * internally.
- */
- public AbstractTmfMipmapStateProvider(ITmfTrace trace, Class<? extends ITmfEvent> eventType, String id) {
- super(trace, eventType, id);
- }
-
- // ------------------------------------------------------------------------
- // Public methods
- // ------------------------------------------------------------------------
-
- @Override
- public void dispose() {
- waitForEmptyQueue();
- for (Set<ITmfMipmapFeature> features : featureMap.values()) {
- for (ITmfMipmapFeature feature : features) {
- feature.updateAndCloseMipmap();
- }
- }
- super.dispose();
- }
-
- /**
- * Modify a mipmap attribute. The base attribute is modified and the mipmap
- * attributes for the feature(s) specified in the mipmap feature bitmap are
- * created and/or updated.<br>
- * Note: The mipmapFeatureBits and resolution are only used on the first
- * call of this method for a particular attribute, and the mipmap features
- * for this attribute are then activated until the end of the trace.<br>
- * Note: The base attribute should only be modified by calling this method.
- *
- * @param ts
- * The timestamp of the event
- * @param value
- * The value of the base attribute
- * @param baseQuark
- * The quark of the base attribute
- * @param mipmapFeatureBits
- * The mipmap feature bit(s)
- * @param resolution
- * The mipmap resolution (must be greater than 1)
- * @throws TimeRangeException
- * If the requested time is outside of the trace's range
- * @throws AttributeNotFoundException
- * If the requested attribute quark is invalid
- * @throws StateValueTypeException
- * If the inserted state value's type does not match what is
- * already assigned to this attribute.
- * @see #MAX
- * @see #MIN
- * @see #AVG
- */
- public void modifyMipmapAttribute(long ts, ITmfStateValue value, int baseQuark, int mipmapFeatureBits, int resolution)
- throws TimeRangeException, AttributeNotFoundException, StateValueTypeException {
- ss.modifyAttribute(ts, value, baseQuark);
- if (value.getType() == Type.LONG || value.getType() == Type.INTEGER || value.getType() == Type.DOUBLE || value.isNull()) {
- Set<ITmfMipmapFeature> features = getFeatureSet(baseQuark, ts, value, mipmapFeatureBits, resolution);
- for (ITmfMipmapFeature mf : features) {
- mf.updateMipmap(value, ts);
- }
- }
- }
-
- // ------------------------------------------------------------------------
- // Private methods
- // ------------------------------------------------------------------------
-
- private Set<ITmfMipmapFeature> getFeatureSet(int baseQuark, long ts, ITmfStateValue value, int mipmapFeatureBits, int resolution) {
- Set<ITmfMipmapFeature> features = featureMap.get(baseQuark);
- if (features != null) {
- return features;
- }
- features = new LinkedHashSet<>();
- if (value.isNull()) {
- return features;
- }
- featureMap.put(baseQuark, features);
- if (resolution > 1) {
- try {
- if ((mipmapFeatureBits & MAX) != 0) {
- int featureQuark = ss.getQuarkRelativeAndAdd(baseQuark, MAX_STRING);
- ss.modifyAttribute(ts, TmfStateValue.newValueInt(0), featureQuark);
- MaxMipmapFeature mf = new MaxMipmapFeature(baseQuark, featureQuark, resolution, ss);
- features.add(mf);
- }
- if ((mipmapFeatureBits & MIN) != 0) {
- int featureQuark = ss.getQuarkRelativeAndAdd(baseQuark, MIN_STRING);
- ss.modifyAttribute(ts, TmfStateValue.newValueInt(0), featureQuark);
- MinMipmapFeature mf = new MinMipmapFeature(baseQuark, featureQuark, resolution, ss);
- features.add(mf);
- }
- if ((mipmapFeatureBits & AVG) != 0) {
- int featureQuark = ss.getQuarkRelativeAndAdd(baseQuark, AVG_STRING);
- ss.modifyAttribute(ts, TmfStateValue.newValueInt(0), featureQuark);
- AvgMipmapFeature mf = new AvgMipmapFeature(baseQuark, featureQuark, resolution, ss);
- features.add(mf);
- }
- } catch (TimeRangeException e) {
- e.printStackTrace();
- } catch (AttributeNotFoundException e) {
- e.printStackTrace();
- } catch (StateValueTypeException e) {
- e.printStackTrace();
- }
- }
- return features;
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/internal/tmf/core/statesystem/mipmap/AvgMipmapFeature.java b/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/internal/tmf/core/statesystem/mipmap/AvgMipmapFeature.java
deleted file mode 100644
index d86b42eb73..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/internal/tmf/core/statesystem/mipmap/AvgMipmapFeature.java
+++ /dev/null
@@ -1,73 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 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:
- * Jean-Christian Kouamé - Initial API and implementation
- * Patrick Tasse - Updates to mipmap feature
- *******************************************************************************/
-package org.eclipse.linuxtools.internal.tmf.core.statesystem.mipmap;
-
-import java.util.List;
-
-import org.eclipse.linuxtools.statesystem.core.ITmfStateSystemBuilder;
-import org.eclipse.linuxtools.statesystem.core.exceptions.StateValueTypeException;
-import org.eclipse.linuxtools.statesystem.core.interval.ITmfStateInterval;
-import org.eclipse.linuxtools.statesystem.core.statevalue.ITmfStateValue;
-import org.eclipse.linuxtools.statesystem.core.statevalue.TmfStateValue;
-import org.eclipse.linuxtools.statesystem.core.statevalue.ITmfStateValue.Type;
-
-/**
- * The average mipmap feature.
- *
- * Each mipmap state value is the weighted average by time duration of all the
- * lower-level state values it covers. Null state values count as zero in the
- * weighted average. The state value is a Double.
- */
-public class AvgMipmapFeature extends TmfMipmapFeature {
-
- /**
- * Constructor
- *
- * @param baseQuark
- * The quark for the attribute we want to mipmap
- * @param mipmapQuark
- * The quark of the mipmap feature attribute
- * @param mipmapResolution
- * The resolution that will be use in the mipmap
- * @param ss
- * The state system in which to insert the state changes
- */
- public AvgMipmapFeature(final int baseQuark, final int mipmapQuark, final int mipmapResolution, final ITmfStateSystemBuilder ss) {
- super(baseQuark, mipmapQuark, mipmapResolution, ss);
- }
-
- @Override
- protected ITmfStateValue computeMipmapValue(List<ITmfStateInterval> lowerIntervals, long startTime, long endTime) {
- long range = endTime - startTime;
- if (range <= 0) {
- return TmfStateValue.newValueDouble(0.0);
- }
- double sum = 0.0;
- try {
- for (ITmfStateInterval interval : lowerIntervals) {
- ITmfStateValue value = interval.getStateValue();
- long duration = interval.getEndTime() - interval.getStartTime();
- if (value.getType() == Type.DOUBLE) {
- sum += value.unboxDouble() * duration;
- } else {
- sum += (double) value.unboxLong() * duration;
- }
- }
- } catch (StateValueTypeException e) {
- e.printStackTrace();
- }
- double average = sum / range;
- ITmfStateValue avgValue = TmfStateValue.newValueDouble(average);
- return avgValue;
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/internal/tmf/core/statesystem/mipmap/ITmfMipmapFeature.java b/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/internal/tmf/core/statesystem/mipmap/ITmfMipmapFeature.java
deleted file mode 100644
index 7589c80a91..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/internal/tmf/core/statesystem/mipmap/ITmfMipmapFeature.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 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:
- * Jean-Christian Kouamé - Initial API and implementation
- * Patrick Tasse - Updates to mipmap feature
- *******************************************************************************/
-package org.eclipse.linuxtools.internal.tmf.core.statesystem.mipmap;
-
-import org.eclipse.linuxtools.statesystem.core.statevalue.ITmfStateValue;
-
-/**
- * Interface to allow additional types of mipmaps to be added. Two functions
- * need to be implemented: {@link ITmfMipmapFeature#updateMipmap} and
- * {@link ITmfMipmapFeature#updateAndCloseMipmap}.
- *
- * @author Jean-Christian Kouamé
- *
- */
-public interface ITmfMipmapFeature {
-
- /**
- * Update the mipmap with a new state value.
- *
- * @param value
- * The new state value
- * @param ts
- * The timestamp of the event
- */
- public void updateMipmap(ITmfStateValue value, long ts);
-
- /**
- * Update the mipmap values at all levels before closing.
- */
- public void updateAndCloseMipmap();
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/internal/tmf/core/statesystem/mipmap/MaxMipmapFeature.java b/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/internal/tmf/core/statesystem/mipmap/MaxMipmapFeature.java
deleted file mode 100644
index 013da7c768..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/internal/tmf/core/statesystem/mipmap/MaxMipmapFeature.java
+++ /dev/null
@@ -1,69 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 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:
- * Jean-Christian Kouamé - Initial API and implementation
- * Patrick Tasse - Updates to mipmap feature
- *******************************************************************************/
-package org.eclipse.linuxtools.internal.tmf.core.statesystem.mipmap;
-
-import java.util.List;
-
-import org.eclipse.linuxtools.statesystem.core.ITmfStateSystemBuilder;
-import org.eclipse.linuxtools.statesystem.core.exceptions.StateValueTypeException;
-import org.eclipse.linuxtools.statesystem.core.interval.ITmfStateInterval;
-import org.eclipse.linuxtools.statesystem.core.statevalue.ITmfStateValue;
-import org.eclipse.linuxtools.statesystem.core.statevalue.ITmfStateValue.Type;
-
-/**
- * The maximum mipmap feature.
- *
- * Each mipmap state value is the maximum numerical value of all the non-null
- * lower-level state values it covers. The state value is of the same type as
- * the base attribute.
- */
-public class MaxMipmapFeature extends TmfMipmapFeature {
-
- /**
- * Constructor
- *
- * @param baseQuark
- * The quark for the attribute we want to mipmap
- * @param mipmapQuark
- * The quark of the mipmap feature attribute
- * @param mipmapResolution
- * The resolution that will be use in the mipmap
- * @param ss
- * The state system in which to insert the state changes
- */
- public MaxMipmapFeature(final int baseQuark, final int mipmapQuark, final int mipmapResolution, final ITmfStateSystemBuilder ss) {
- super(baseQuark, mipmapQuark, mipmapResolution, ss);
- }
-
- @Override
- protected ITmfStateValue computeMipmapValue(List<ITmfStateInterval> lowerIntervals, long startTime, long endTime) {
- ITmfStateValue maxValue = null;
- try {
- for (ITmfStateInterval interval : lowerIntervals) {
- ITmfStateValue value = interval.getStateValue();
- if (value.getType() == Type.DOUBLE) {
- if (maxValue == null || value.unboxDouble() > maxValue.unboxDouble()) {
- maxValue = value;
- }
- } else {
- if (maxValue == null || value.unboxLong() > maxValue.unboxLong()) {
- maxValue = value;
- }
- }
- }
- } catch (StateValueTypeException e) {
- e.printStackTrace();
- }
- return maxValue;
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/internal/tmf/core/statesystem/mipmap/MinMipmapFeature.java b/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/internal/tmf/core/statesystem/mipmap/MinMipmapFeature.java
deleted file mode 100644
index 4422f8ca28..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/internal/tmf/core/statesystem/mipmap/MinMipmapFeature.java
+++ /dev/null
@@ -1,69 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 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:
- * Jean-Christian Kouamé - Initial API and implementation
- * Patrick Tasse - Updates to mipmap feature
- *******************************************************************************/
-package org.eclipse.linuxtools.internal.tmf.core.statesystem.mipmap;
-
-import java.util.List;
-
-import org.eclipse.linuxtools.statesystem.core.ITmfStateSystemBuilder;
-import org.eclipse.linuxtools.statesystem.core.exceptions.StateValueTypeException;
-import org.eclipse.linuxtools.statesystem.core.interval.ITmfStateInterval;
-import org.eclipse.linuxtools.statesystem.core.statevalue.ITmfStateValue;
-import org.eclipse.linuxtools.statesystem.core.statevalue.ITmfStateValue.Type;
-
-/**
- * The minimum mipmap feature.
- *
- * Each mipmap state value is the minimum numerical value of all the non-null
- * lower-level state values it covers. The state value is of the same type as
- * the base attribute.
- */
-public class MinMipmapFeature extends TmfMipmapFeature {
-
- /**
- * Constructor
- *
- * @param baseQuark
- * The quark for the attribute we want to mipmap
- * @param mipmapQuark
- * The quark of the mipmap feature attribute
- * @param mipmapResolution
- * The resolution that will be use in the mipmap
- * @param ss
- * The state system in which to insert the state changes
- */
- public MinMipmapFeature(final int baseQuark, final int mipmapQuark, final int mipmapResolution, final ITmfStateSystemBuilder ss) {
- super(baseQuark, mipmapQuark, mipmapResolution, ss);
- }
-
- @Override
- protected ITmfStateValue computeMipmapValue(List<ITmfStateInterval> lowerIntervals, long startTime, long endTime) {
- ITmfStateValue minValue = null;
- try {
- for (ITmfStateInterval interval : lowerIntervals) {
- ITmfStateValue value = interval.getStateValue();
- if (value.getType() == Type.DOUBLE) {
- if (minValue == null || value.unboxDouble() < minValue.unboxDouble()) {
- minValue = value;
- }
- } else {
- if (minValue == null || value.unboxLong() < minValue.unboxLong()) {
- minValue = value;
- }
- }
- }
- } catch (StateValueTypeException e) {
- e.printStackTrace();
- }
- return minValue;
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/internal/tmf/core/statesystem/mipmap/TmfMipmapFeature.java b/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/internal/tmf/core/statesystem/mipmap/TmfMipmapFeature.java
deleted file mode 100644
index dfc5fee930..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/internal/tmf/core/statesystem/mipmap/TmfMipmapFeature.java
+++ /dev/null
@@ -1,238 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 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:
- * Jean-Christian Kouamé - Initial API and implementation
- * Patrick Tasse - Updates to mipmap feature
- *******************************************************************************/
-package org.eclipse.linuxtools.internal.tmf.core.statesystem.mipmap;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.linuxtools.statesystem.core.ITmfStateSystemBuilder;
-import org.eclipse.linuxtools.statesystem.core.exceptions.AttributeNotFoundException;
-import org.eclipse.linuxtools.statesystem.core.exceptions.StateValueTypeException;
-import org.eclipse.linuxtools.statesystem.core.exceptions.TimeRangeException;
-import org.eclipse.linuxtools.statesystem.core.interval.ITmfStateInterval;
-import org.eclipse.linuxtools.statesystem.core.interval.TmfStateInterval;
-import org.eclipse.linuxtools.statesystem.core.statevalue.ITmfStateValue;
-import org.eclipse.linuxtools.statesystem.core.statevalue.TmfStateValue;
-
-/**
- * The mipmap feature base implementation.
- *
- * @author Jean-Christian Kouamé
- * @author Patrick Tasse
- *
- */
-public abstract class TmfMipmapFeature implements ITmfMipmapFeature {
-
- /** The current state value */
- protected ITmfStateValue currentValue = TmfStateValue.nullValue();
- /** The current start time for the state value */
- protected long currentStartTime;
- /** The list of ongoing state intervals per mipmap level */
- protected List<List<ITmfStateInterval>> intervals = new ArrayList<>();
- /** The state system used to store the mipmap attributes */
- protected ITmfStateSystemBuilder ss;
-
- private int mipmapResolution;
- private int mipmapQuark;
- private List<Integer> levelQuarks = new ArrayList<>();
-
- /**
- * Constructor
- *
- * @param baseQuark
- * The quark of the attribute we want to mipmap
- * @param mipmapQuark
- * The quark of the mipmap feature attribute
- * @param mipmapResolution
- * The resolution that will be used for the mipmap
- * @param ss
- * The state system in which to insert the state changes
- */
- public TmfMipmapFeature(int baseQuark, int mipmapQuark, int mipmapResolution, ITmfStateSystemBuilder ss) {
- this.mipmapQuark = mipmapQuark;
- this.mipmapResolution = mipmapResolution;
- this.ss = ss;
-
- /* store the base attribute quark at level 0 */
- this.levelQuarks.add(baseQuark);
-
- /* create the level 0 list */
- intervals.add(new ArrayList<ITmfStateInterval>(mipmapResolution));
- }
-
- @Override
- public void updateMipmap(ITmfStateValue value, long ts) {
- /* if the value did not change, ignore it */
- if (currentValue.equals(value)) {
- return;
- }
-
- /* if the ongoing state value is not null, create and store a state interval */
- if (!currentValue.isNull()) {
- ITmfStateInterval interval = new TmfStateInterval(currentStartTime, ts, getLevelQuark(0), currentValue);
- intervals.get(0).add(interval);
- }
-
- /* if the new value is not null, update the mipmap levels that are full */
- if (!value.isNull()) {
- int level = 0;
- while (intervals.get(level).size() == getMipmapResolution()) {
- updateMipmapLevel(++level, ts);
- }
- }
-
- /* store the new value as the ongoing state value */
- currentValue = value;
- currentStartTime = ts;
- }
-
- @Override
- public void updateAndCloseMipmap() {
- if (!currentValue.isNull()) {
- ITmfStateInterval interval = new TmfStateInterval(currentStartTime, currentStartTime, getLevelQuark(0), currentValue);
- intervals.get(0).add(interval);
- }
- for (int level = 1; level <= getNbLevels(); level++) {
- updateMipmapLevel(level, currentStartTime);
- }
- }
-
- /**
- * Compute and update the mipmap level attribute from the lower-level
- * state interval list
- *
- * @param level
- * The mipmap level to update
- * @param endTime
- * The end timestamp to use for the mipmap interval
- */
- protected void updateMipmapLevel(int level, long endTime) {
- try {
- /* get the lower-level interval list */
- List<ITmfStateInterval> lowerIntervals = intervals.get(level - 1);
- if (lowerIntervals.size() == 0) {
- return;
- }
-
- /* get the start time from the first interval in the lower-level list */
- long startTime = lowerIntervals.get(0).getStartTime();
-
- /* compute the mipmap value */
- ITmfStateValue value = computeMipmapValue(lowerIntervals, startTime, endTime);
-
- /* clear the lower-level list */
- lowerIntervals.clear();
-
- /* get or create the current-level quark */
- int levelQuark = ss.getQuarkRelativeAndAdd(mipmapQuark, String.valueOf(level));
- if (!checkLevelExists(level)) {
- addLevelQuark(levelQuark);
- ss.updateOngoingState(TmfStateValue.newValueInt(level), mipmapQuark);
- intervals.add(new ArrayList<ITmfStateInterval>(getMipmapResolution()));
- }
-
- /* add new interval to current-level list */
- ITmfStateInterval interval = new TmfStateInterval(startTime, endTime, levelQuark, value);
- intervals.get(level).add(interval);
-
- /* update the current-level attribute */
- ss.modifyAttribute(startTime, value, levelQuark);
- } catch (StateValueTypeException e) {
- e.printStackTrace();
- } catch (AttributeNotFoundException e) {
- e.printStackTrace();
- } catch (TimeRangeException e) {
- e.printStackTrace();
- }
- }
-
- /**
- * Compute the mipmap value from a list of lower-level state intervals
- *
- * @param lowerIntervals
- * The list of lower-level state intervals
- * @param startTime
- * The start time of the mipmap interval
- * @param endTime
- * The end time of the mipmap interval
- * @return A state value to be stored in the mipmap level attribute
- */
- protected abstract ITmfStateValue computeMipmapValue(List<ITmfStateInterval> lowerIntervals, long startTime, long endTime);
-
- /**
- * Get the mipmap resolution
- *
- * @return The mipmap resolution for this feature
- */
- protected int getMipmapResolution() {
- return mipmapResolution;
- }
-
- /**
- * Get the mipmap feature quark. The state value
- * of this attribute is the mipmap number of levels.
- * This is the parent attribute of the mipmap level quarks.
- *
- * @return The attribute quark for this mipmap feature
- */
- protected int getMipmapQuark() {
- return mipmapQuark;
- }
-
- /**
- * Get the mipmap quark for the specified level.
- * For level 0 the base attribute quark is returned.
- *
- * @param level
- * The mipmap level (0 for the base attribute)
- * @return The attribute quark for this mipmap level
- */
- protected int getLevelQuark(int level) {
- return levelQuarks.get(level);
- }
-
- /**
- * Add a new mipmap level quark.
- *
- * @param quark
- * The attribute quark for the new mipmap level
- */
- protected void addLevelQuark(int quark) {
- levelQuarks.add(quark);
- }
-
- /**
- * Get the mipmap number of levels.
- *
- * @return The current number of mipmap levels for this feature
- * (excluding the base attribute)
- */
- protected int getNbLevels() {
- return levelQuarks.size() - 1;
- }
-
- /**
- * Checks if a mipmap level exists.
- *
- * @param level
- * The mipmap level to check
- * @return true if this level exists, false otherwise
- */
- protected boolean checkLevelExists(int level) {
- if (level >= levelQuarks.size() || level < 0) {
- return false;
- }
- return true;
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/internal/tmf/core/statesystem/mipmap/TmfStateSystemOperations.java b/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/internal/tmf/core/statesystem/mipmap/TmfStateSystemOperations.java
deleted file mode 100644
index 4db30a2990..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/internal/tmf/core/statesystem/mipmap/TmfStateSystemOperations.java
+++ /dev/null
@@ -1,350 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013, 2014 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:
- * Jean-Christian Kouamé - Initial API and implementation
- * Patrick Tasse - Updates to mipmap feature
- ******************************************************************************/
-
-package org.eclipse.linuxtools.internal.tmf.core.statesystem.mipmap;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.linuxtools.statesystem.core.ITmfStateSystem;
-import org.eclipse.linuxtools.statesystem.core.exceptions.AttributeNotFoundException;
-import org.eclipse.linuxtools.statesystem.core.exceptions.StateSystemDisposedException;
-import org.eclipse.linuxtools.statesystem.core.exceptions.StateValueTypeException;
-import org.eclipse.linuxtools.statesystem.core.exceptions.TimeRangeException;
-import org.eclipse.linuxtools.statesystem.core.interval.ITmfStateInterval;
-import org.eclipse.linuxtools.statesystem.core.statevalue.ITmfStateValue;
-import org.eclipse.linuxtools.statesystem.core.statevalue.TmfStateValue;
-import org.eclipse.linuxtools.statesystem.core.statevalue.ITmfStateValue.Type;
-
-/**
- * This class implements additional statistical operations that can be
- * performed on attributes of the state system.
- *
- * @author Patrick Tassé
- * @since 3.0
- */
-public final class TmfStateSystemOperations {
-
- private TmfStateSystemOperations() {}
-
- /**
- * Return the maximum value of an attribute over a time range
- *
- * @param ss
- * The state system to query
- * @param t1
- * The start time of the range
- * @param t2
- * The end time of the range
- * @param quark
- * The quark of the attribute
- * @return The maximum value of the attribute in this range
- * @throws TimeRangeException
- * If an invalid time range is specified
- * @throws AttributeNotFoundException
- * If the specified quark doesn't match an attribute
- * @throws StateValueTypeException
- * If the state value type of the attribute does not support the
- * "Max" operation
- */
- public static ITmfStateValue queryRangeMax(ITmfStateSystem ss, long t1, long t2, int quark)
- throws AttributeNotFoundException, TimeRangeException, StateValueTypeException {
- ITmfStateValue max = TmfStateValue.nullValue();
-
- List<ITmfStateInterval> intervals = queryAttributeRange(ss, t1, t2, quark, AbstractTmfMipmapStateProvider.MAX_STRING);
- if (intervals.size() == 0) {
- return TmfStateValue.nullValue();
- }
- for (ITmfStateInterval si : intervals) {
- ITmfStateValue value = si.getStateValue();
-
- switch (value.getType()) {
- case DOUBLE:
- if (max.isNull() || si.getStateValue().unboxDouble() > max.unboxDouble()) {
- max = si.getStateValue();
- }
- break;
-
- case INTEGER:
- case LONG:
- if (max.isNull() || si.getStateValue().unboxLong() > max.unboxLong()) {
- max = si.getStateValue();
- }
- break;
-
- case NULL:
- case STRING:
- default:
- throw new StateValueTypeException();
- }
- }
- return max;
- }
-
- /**
- * Return the minimum value of an attribute over a time range
- *
- * @param ss
- * The state system to query
- * @param t1
- * The start time of the range
- * @param t2
- * The end time of the range
- * @param quark
- * The quark of the attribute
- * @return The minimum value of the attribute in this range
- * @throws TimeRangeException
- * If an invalid time range is specified
- * @throws AttributeNotFoundException
- * If the specified quark doesn't match an attribute
- * @throws StateValueTypeException
- * If the state value type of the attribute does not support the
- * "Min" operation
- */
- public static ITmfStateValue queryRangeMin(ITmfStateSystem ss,
- long t1, long t2, int quark)
- throws AttributeNotFoundException, TimeRangeException, StateValueTypeException {
- ITmfStateValue min = TmfStateValue.nullValue();
-
- List<ITmfStateInterval> intervals = queryAttributeRange(ss, t1, t2, quark, AbstractTmfMipmapStateProvider.MIN_STRING);
- if (intervals.size() == 0) {
- return TmfStateValue.nullValue();
- }
- for (ITmfStateInterval si : intervals) {
- ITmfStateValue value = si.getStateValue();
-
- switch (value.getType()) {
- case DOUBLE:
- if (min.isNull() || si.getStateValue().unboxDouble() < min.unboxDouble()) {
- min = si.getStateValue();
- }
- break;
-
- case INTEGER:
- case LONG:
- if (min.isNull() || si.getStateValue().unboxLong() < min.unboxLong()) {
- min = si.getStateValue();
- }
- break;
-
- case NULL:
- case STRING:
- default:
- throw new StateValueTypeException();
- }
- }
- return min;
- }
-
- /**
- * Return the weighted average value of an attribute over a time range
- *
- * @param ss
- * The state system to query
- * @param t1
- * The start time of the range
- * @param t2
- * The end time of the range
- * @param quark
- * The quark of the attribute
- * @return The weighted average value of the attribute in this range
- * @throws TimeRangeException
- * If an invalid time range is specified
- * @throws AttributeNotFoundException
- * If the specified quark doesn't match an attribute
- * @throws StateValueTypeException
- * If the state value type of the attribute does not support the
- * "Average" operation
- */
- public static double queryRangeAverage(ITmfStateSystem ss, long t1, long t2, int quark)
- throws AttributeNotFoundException, TimeRangeException, StateValueTypeException {
- double avg = 0.0;
- List<ITmfStateInterval> intervals = queryAttributeRange(ss, t1, t2, quark, AbstractTmfMipmapStateProvider.AVG_STRING);
- if (intervals.size() == 0) {
- return 0;
- } else if (t1 == t2) {
- ITmfStateValue value = intervals.get(0).getStateValue();
- if (value.getType() == Type.DOUBLE) {
- return value.unboxDouble();
- }
- return value.unboxLong();
- }
- for (ITmfStateInterval si : intervals) {
- long startTime = Math.max(t1, si.getStartTime());
- long endTime = Math.min(t2, si.getEndTime() + 1);
- long delta = endTime - startTime;
- if (delta > 0) {
- ITmfStateValue value = si.getStateValue();
- if (value.getType() == Type.DOUBLE) {
- avg += si.getStateValue().unboxDouble() * ((double) delta / (double) (t2 - t1));
- } else {
- avg += si.getStateValue().unboxLong() * ((double) delta / (double) (t2 - t1));
- }
- }
- }
- return avg;
- }
-
- private static List<ITmfStateInterval> queryAttributeRange(ITmfStateSystem ss,
- long t1, long t2, int baseQuark, String featureString)
- throws AttributeNotFoundException, TimeRangeException, StateValueTypeException {
- TimeRange timeRange = new TimeRange(t1, t2);
- int mipmapQuark = -1;
- List<ITmfStateInterval> intervals = new ArrayList<>();
- try {
- try {
- mipmapQuark = ss.getQuarkRelative(baseQuark, featureString);
- } catch (AttributeNotFoundException e) {
- /* Not a mipmap attribute, query the base attribute */
- if (t1 == t2) {
- ITmfStateInterval interval = ss.querySingleState(t1, baseQuark);
- if (!interval.getStateValue().isNull()) {
- intervals.add(interval);
- }
- } else {
- for (ITmfStateInterval interval : ss.queryHistoryRange(baseQuark, t1, t2)) {
- if (!interval.getStateValue().isNull()) {
- intervals.add(interval);
- }
- }
- }
- return intervals;
- }
- ITmfStateInterval maxLevelInterval = ss.querySingleState(timeRange.getSecond(), mipmapQuark);
- int levelMax = maxLevelInterval.getStateValue().unboxInt();
- queryMipmapAttributeRange(ss, 0, levelMax, baseQuark, mipmapQuark, timeRange, intervals);
- return intervals;
-
- } catch (StateValueTypeException e) {
- /* This is a special case, so we'll add a message to the exception */
- throw new StateValueTypeException("State system advertises mipmaps," + //$NON-NLS-1$
- " but doesn't actually have them.", e); //$NON-NLS-1$
- } catch (StateSystemDisposedException e) {
- /* We are shutting down, ignore the operation */
- }
- return intervals;
- }
-
- private static void queryMipmapAttributeRange(ITmfStateSystem ss,
- int currentLevel, int levelMax, int baseQuark, int mipmapQuark,
- TimeRange timeRange, List<ITmfStateInterval> intervals)
- throws AttributeNotFoundException, TimeRangeException {
- int level = currentLevel;
- TimeRange range = timeRange;
- ITmfStateInterval currentLevelInterval = null, nextLevelInterval = null;
- if (range == null || range.getFirst() > range.getSecond()) {
- return;
- }
- if (level > levelMax || level < 0) {
- return;
- }
- try {
- if (range.getFirst() == range.getSecond()) {
- level = 0;
- currentLevelInterval = ss.querySingleState(range.getFirst(), baseQuark);
- if (!currentLevelInterval.getStateValue().isNull()) {
- intervals.add(currentLevelInterval);
- }
- return;
- }
- if (level < levelMax) {
- int levelQuark = ss.getQuarkRelative(mipmapQuark, String.valueOf(level + 1));
- nextLevelInterval = ss.querySingleState(range.getFirst(), levelQuark);
- }
-
- if (nextLevelInterval != null && isFullyOverlapped(range, nextLevelInterval)) {
- if (nextLevelInterval.getStateValue().isNull()) {
- range = updateTimeRange(range, nextLevelInterval);
- } else {
- level++;
- }
- queryMipmapAttributeRange(ss, level, levelMax, baseQuark, mipmapQuark, range, intervals);
- return;
- }
-
- if (level == 0) {
- currentLevelInterval = ss.querySingleState(range.getFirst(), baseQuark);
- } else {
- int levelQuark = ss.getQuarkRelative(mipmapQuark, String.valueOf(level));
- currentLevelInterval = ss.querySingleState(range.getFirst(), levelQuark);
- }
-
- if (currentLevelInterval != null && isFullyOverlapped(range, currentLevelInterval)) {
- if (!currentLevelInterval.getStateValue().isNull()) {
- intervals.add(currentLevelInterval);
- }
- range = updateTimeRange(range, currentLevelInterval);
- } else {
- if (level == 0) {
- if (currentLevelInterval == null) {
- return;
- }
- if (!currentLevelInterval.getStateValue().isNull()) {
- intervals.add(currentLevelInterval);
- }
- range = updateTimeRange(range, currentLevelInterval);
- } else {
- level--;
- }
- }
-
- queryMipmapAttributeRange(ss, level, levelMax, baseQuark,
- mipmapQuark, range, intervals);
-
- } catch (StateSystemDisposedException e) {
- /* We are shutting down, ignore the operation */
- }
- }
-
- private static TimeRange updateTimeRange(TimeRange timeRange,
- ITmfStateInterval currentLevelInterval) {
- if (currentLevelInterval.getEndTime() >= timeRange.getSecond()) {
- return null;
- }
- long startTime = Math.max(timeRange.getFirst(),
- Math.min(currentLevelInterval.getEndTime() + 1, timeRange.getSecond()));
- return new TimeRange(startTime, timeRange.getSecond());
- }
-
- private static boolean isFullyOverlapped(TimeRange range,
- ITmfStateInterval interval) {
- if (range.getFirst() >= range.getSecond() ||
- interval.getStartTime() >= interval.getEndTime()) {
- return false;
- }
- if (range.getFirst() <= interval.getStartTime() &&
- range.getSecond() >= interval.getEndTime()) {
- return true;
- }
- return false;
- }
-}
-
-class TimeRange {
-
- private final long a;
- private final long b;
-
- public TimeRange(long first, long second) {
- a = first;
- b = second;
- }
-
- public long getFirst() {
- return a;
- }
-
- public long getSecond() {
- return b;
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/internal/tmf/core/synchronization/ITmfTimestampTransformInvertible.java b/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/internal/tmf/core/synchronization/ITmfTimestampTransformInvertible.java
deleted file mode 100644
index 62895237d5..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/internal/tmf/core/synchronization/ITmfTimestampTransformInvertible.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 École Polytechnique de Montréal
- *
- * 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:
- * Geneviève Bastien - Initial implementation and API
- *******************************************************************************/
-
-package org.eclipse.linuxtools.internal.tmf.core.synchronization;
-
-import org.eclipse.linuxtools.tmf.core.synchronization.ITmfTimestampTransform;
-
-/**
- * Interface for timestamp transform who also provide an inverse transform.
- *
- * @author Geneviève Bastien
- */
-public interface ITmfTimestampTransformInvertible extends ITmfTimestampTransform {
-
- /**
- * Returns the inverse of this transform. The transform composed with its
- * inverse yields the identity (or as close to it as mathematical
- * approximations in the formulae allow).
- *
- * @return The inverse transform
- */
- ITmfTimestampTransform inverse();
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/internal/tmf/core/synchronization/SyncAlgorithmFullyIncremental.java b/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/internal/tmf/core/synchronization/SyncAlgorithmFullyIncremental.java
deleted file mode 100644
index 540d57d2b7..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/internal/tmf/core/synchronization/SyncAlgorithmFullyIncremental.java
+++ /dev/null
@@ -1,623 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 École Polytechnique de Montréal
- *
- * 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:
- * Geneviève Bastien - Initial implementation and API
- * Francis Giraldeau - Transform computation using synchronization graph
- *******************************************************************************/
-
-package org.eclipse.linuxtools.internal.tmf.core.synchronization;
-
-import java.io.IOException;
-import java.io.ObjectOutputStream;
-import java.io.Serializable;
-import java.math.BigDecimal;
-import java.math.MathContext;
-import java.util.Collection;
-import java.util.LinkedHashMap;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.linuxtools.internal.tmf.core.synchronization.graph.SyncSpanningTree;
-import org.eclipse.linuxtools.tmf.core.event.ITmfEvent;
-import org.eclipse.linuxtools.tmf.core.event.matching.TmfEventDependency;
-import org.eclipse.linuxtools.tmf.core.synchronization.ITmfTimestampTransform;
-import org.eclipse.linuxtools.tmf.core.synchronization.Messages;
-import org.eclipse.linuxtools.tmf.core.synchronization.SynchronizationAlgorithm;
-import org.eclipse.linuxtools.tmf.core.synchronization.TimestampTransformFactory;
-import org.eclipse.linuxtools.tmf.core.timestamp.ITmfTimestamp;
-import org.eclipse.linuxtools.tmf.core.trace.ITmfTrace;
-
-/**
- * Class implementing fully incremental trace synchronization approach as
- * described in
- *
- * Masoume Jabbarifar, Michel Dagenais and Alireza Shameli-Sendi,
- * "Streaming Mode Incremental Clock Synchronization"
- *
- * Since the algorithm itself applies to two traces, it is implemented in a
- * private class, while this public class manages the synchronization between
- * all traces.
- *
- * @author Geneviève Bastien
- */
-public class SyncAlgorithmFullyIncremental extends SynchronizationAlgorithm {
-
- /**
- * Auto-generated serial UID
- */
- private static final long serialVersionUID = -1782788842774838830L;
-
- private static final MathContext fMc = MathContext.DECIMAL128;
-
- /** @Serial */
- private final List<ConvexHull> fSyncs;
-
- private SyncSpanningTree fTree = null;
-
- /**
- * Initialization of the attributes
- */
- public SyncAlgorithmFullyIncremental() {
- fSyncs = new LinkedList<>();
- }
-
- /**
- * Function called after all matching has been done, to do any post-match
- * treatment. For this class, it calculates stats, while the data is
- * available
- */
- @Override
- public void matchingEnded() {
- getStats();
- }
-
- @Override
- public void init(Collection<ITmfTrace> traces) {
- ITmfTrace[] traceArr = traces.toArray(new ITmfTrace[traces.size()]);
- fSyncs.clear();
- /* Create a convex hull for all trace pairs */
- // FIXME: is it necessary to make ConvexHull for every pairs up-front?
- // The ConvexHull seems to be created on the fly in processMatch().
- for (int i = 0; i < traceArr.length; i++) {
- for (int j = i + 1; j < traceArr.length; j++) {
- if (!traceArr[i].getHostId().equals(traceArr[j].getHostId())) {
- ConvexHull algo = new ConvexHull(traceArr[i].getHostId(), traceArr[j].getHostId());
- fSyncs.add(algo);
- }
- }
- }
- }
-
- @Override
- protected void processMatch(TmfEventDependency match) {
- String host1 = match.getSourceEvent().getTrace().getHostId();
- String host2 = match.getDestinationEvent().getTrace().getHostId();
-
- /* Process only if source and destination are different */
- if (host1.equals(host2)) {
- return;
- }
-
- /* Check if a convex hull algorithm already exists for these 2 hosts */
- ConvexHull algo = null;
- for (ConvexHull traceSync : fSyncs) {
- if (traceSync.isForHosts(host1, host2)) {
- algo = traceSync;
- }
- }
- if (algo == null) {
- algo = new ConvexHull(host1, host2);
- fSyncs.add(algo);
- }
- algo.processMatch(match);
- invalidateSyncGraph();
- }
-
- private void invalidateSyncGraph() {
- fTree = null;
- }
-
- @Override
- public ITmfTimestampTransform getTimestampTransform(ITmfTrace trace) {
- return getTimestampTransform(trace.getHostId());
- }
-
- @Override
- public ITmfTimestampTransform getTimestampTransform(String hostId) {
- SyncSpanningTree tree = getSyncTree();
- return tree.getTimestampTransform(hostId);
- }
-
- /**
- * Each convex hull computes the synchronization between 2 given hosts. A
- * synchronization can be done on multiple hosts that may not all
- * communicate with each other. We must use another algorithm to determine
- * which host will be the reference node and what synchronization formula
- * will be used between each host and this reference node.
- *
- * For example, take traces a, b and c where a and c talk to b but do not
- * know each other ({@literal a <-> b <-> c}). The convex hulls will contain
- * the formulae between their 2 traces, but if a is the reference node, then
- * the resulting formula of c would be the composition of {@literal a <-> b}
- * and {@literal b <-> c}
- *
- * @return The synchronization spanning tree for this synchronization
- */
- private SyncSpanningTree getSyncTree() {
- if (fTree == null) {
- fTree = new SyncSpanningTree();
- for (ConvexHull traceSync : fSyncs) {
- SyncQuality q = traceSync.getQuality();
- if (q == SyncQuality.ACCURATE || q == SyncQuality.APPROXIMATE) {
- String from = traceSync.getReferenceHost();
- String to = traceSync.getOtherHost();
- fTree.addSynchronization(from, to, traceSync.getTimestampTransform(to), traceSync.getAccuracy());
- }
- }
- }
- return fTree;
- }
-
- @Override
- public SyncQuality getSynchronizationQuality(ITmfTrace trace1, ITmfTrace trace2) {
- for (ConvexHull traceSync : fSyncs) {
- if (traceSync.isForHosts(trace1.getHostId(), trace2.getHostId())) {
- return traceSync.getQuality();
- }
- }
- return SyncQuality.ABSENT;
- }
-
- @Override
- public boolean isTraceSynced(String hostId) {
- ITmfTimestampTransform t = getTimestampTransform(hostId);
- return !t.equals(TimestampTransformFactory.getDefaultTransform());
- }
-
- @Override
- public Map<String, Map<String, Object>> getStats() {
- /*
- * TODO: Stats, while still accurate, may be misleading now that the
- * sync tree changes synchronization formula. The stats should use the
- * tree instead
- */
- Map<String, Map<String, Object>> statmap = new LinkedHashMap<>();
- for (ConvexHull traceSync : fSyncs) {
- statmap.put(traceSync.getReferenceHost() + " <==> " + traceSync.getOtherHost(), traceSync.getStats()); //$NON-NLS-1$
- }
- return statmap;
- }
-
- @Override
- public String toString() {
- StringBuilder b = new StringBuilder();
- b.append(getClass().getSimpleName() + " "); //$NON-NLS-1$
- b.append(fSyncs);
- return b.toString();
- }
-
- /**
- * This is the actual synchronization algorithm between two traces using
- * convex hull
- */
- private class ConvexHull implements Serializable {
-
- private static final long serialVersionUID = 8309351175030935291L;
-
- /**
- * The list of meaningful points on the upper hull (received by the
- * reference trace, below in a graph)
- */
- private final LinkedList<SyncPoint> fUpperBoundList = new LinkedList<>();
-
- /**
- * The list of meaninful points on the lower hull (sent by the reference
- * trace, above in a graph)
- */
- private final LinkedList<SyncPoint> fLowerBoundList = new LinkedList<>();
-
- /** Points forming the line with maximum slope */
- private final SyncPoint[] fLmax;
-
- /** Points forming the line with minimum slope */
- private final SyncPoint[] fLmin;
-
- /**
- * Slopes and ordinate at origin of respectively fLmin, fLmax and the
- * bisector
- */
- private BigDecimal fAlphamin, fBetamax, fAlphamax, fBetamin, fAlpha, fBeta;
-
- private int fNbMatches, fNbAccurateMatches;
- private String fReferenceHost = "", fOtherHost = ""; //$NON-NLS-1$//$NON-NLS-2$
- private SyncQuality fQuality;
-
- private Map<String, Object> fStats = new LinkedHashMap<>();
-
- /**
- * Initialization of the attributes
- *
- * @param host1
- * ID of the first host
- * @param host2
- * ID of the second host
- */
- public ConvexHull(String host1, String host2) {
- if (host1.compareTo(host2) > 0) {
- fReferenceHost = host2;
- fOtherHost = host1;
- } else {
- fReferenceHost = host1;
- fOtherHost = host2;
- }
- fLmax = new SyncPoint[2];
- fLmin = new SyncPoint[2];
- fAlpha = BigDecimal.ONE;
- fAlphamax = BigDecimal.ONE;
- fAlphamin = BigDecimal.ONE;
- fBeta = BigDecimal.ZERO;
- fBetamax = BigDecimal.ZERO;
- fBetamin = BigDecimal.ZERO;
- fNbMatches = 0;
- fNbAccurateMatches = 0;
- fQuality = SyncQuality.ABSENT; // default quality
- }
-
- protected void processMatch(TmfEventDependency match) {
-
- LinkedList<SyncPoint> boundList, otherBoundList;
-
- SyncPoint[] line, otherLine;
- SyncPoint p;
- int inversionFactor = 1;
- boolean qualify = false;
- fNbMatches++;
-
- /* Initialize data depending on the which hull the match is part of */
- if (match.getSourceEvent().getTrace().getHostId().compareTo(match.getDestinationEvent().getTrace().getHostId()) > 0) {
- boundList = fUpperBoundList;
- otherBoundList = fLowerBoundList;
- line = fLmin;
- otherLine = fLmax;
- p = new SyncPoint(match.getDestinationEvent(), match.getSourceEvent());
- inversionFactor = 1;
- } else {
- boundList = fLowerBoundList;
- otherBoundList = fUpperBoundList;
- line = fLmax;
- otherLine = fLmin;
- p = new SyncPoint(match.getSourceEvent(), match.getDestinationEvent());
- inversionFactor = -1;
- }
-
- /*
- * Does the message qualify for the hull, or is in on the wrong side
- * of the reference line
- */
- if ((line[0] == null) || (line[1] == null) || (p.crossProduct(line[0], line[1]) * inversionFactor > 0)) {
- /*
- * If message qualifies, verify if points need to be removed
- * from the hull and add the new point as the maximum reference
- * point for the line. Also clear the stats that are not good
- * anymore
- */
- fNbAccurateMatches++;
- qualify = true;
- removeUselessPoints(p, boundList, inversionFactor);
- line[1] = p;
- fStats.clear();
- }
-
- /*
- * Adjust the boundary of the reference line and if one of the
- * reference point of the other line was removed from the hull, also
- * adjust the other line
- */
- adjustBound(line, otherBoundList, inversionFactor);
- if ((otherLine[1] != null) && !boundList.contains(otherLine[0])) {
- adjustBound(otherLine, boundList, inversionFactor * -1);
- }
-
- if (qualify) {
- approximateSync();
- }
-
- }
-
- /**
- * Calculates slopes and ordinate at origin of fLmax and fLmin to obtain
- * and approximation of the synchronization at this time
- */
- private void approximateSync() {
-
- /**
- * Line slopes functions
- *
- * Lmax = alpha_max T + beta_min
- *
- * Lmin = alpha_min T + beta_max
- */
- if ((fLmax[0] != null) || (fLmin[0] != null)) {
- /**
- * Do not recalculate synchronization after it is failed. We
- * keep the last not failed result.
- */
- if (getQuality() != SyncQuality.FAIL) {
- BigDecimal alphamax = fLmax[1].getAlpha(fLmax[0]);
- BigDecimal alphamin = fLmin[1].getAlpha(fLmin[0]);
- SyncQuality quality = null;
-
- if ((fLmax[0] == null) || (fLmin[0] == null)) {
- quality = SyncQuality.APPROXIMATE;
- }
- else if (alphamax.compareTo(alphamin) > 0) {
- quality = SyncQuality.ACCURATE;
- } else {
- /* Lines intersect, not good */
- quality = SyncQuality.FAIL;
- }
- /*
- * Only calculate sync if this match does not cause failure
- * of synchronization
- */
- if (quality != SyncQuality.FAIL) {
- fAlphamax = alphamax;
- fBetamin = fLmax[1].getBeta(fAlphamax);
- fAlphamin = alphamin;
- fBetamax = fLmin[1].getBeta(fAlphamin);
- fAlpha = fAlphamax.add(fAlphamin).divide(BigDecimal.valueOf(2), fMc);
- fBeta = fBetamin.add(fBetamax).divide(BigDecimal.valueOf(2), fMc);
- }
- setQuality(quality);
- }
- } else if (((fLmax[0] == null) && (fLmin[1] == null))
- || ((fLmax[1] == null) && (fLmin[0] == null))) {
- /* Either there is no upper hull point or no lower hull */
- setQuality(SyncQuality.INCOMPLETE);
- }
- }
-
- /*
- * Verify if the line should be adjusted to be more accurate give the
- * hull
- */
- private void adjustBound(SyncPoint[] line, LinkedList<SyncPoint> otherBoundList, int inversionFactor) {
- SyncPoint minPoint = null, nextPoint;
- boolean finishedSearch = false;
-
- /*
- * Find in the other bound, the origin point of the line, start from
- * the beginning if the point was lost
- */
- int i = Math.max(0, otherBoundList.indexOf(line[0]));
-
- while ((i < otherBoundList.size() - 1) && !finishedSearch) {
- minPoint = otherBoundList.get(i);
- nextPoint = otherBoundList.get(i + 1);
-
- /*
- * If the rotation (cross-product) is not optimal, move to next
- * point as reference for the line (if available)
- *
- * Otherwise, the current minPoint is the minPoint of the line
- */
- if (minPoint.crossProduct(nextPoint, line[1]) * inversionFactor > 0) {
- if (nextPoint.getTimeX() < line[1].getTimeX()) {
- i++;
- } else {
- line[0] = null;
- finishedSearch = true;
- }
- } else {
- line[0] = minPoint;
- finishedSearch = true;
- }
- }
-
- if (line[0] == null) {
- line[0] = minPoint;
- }
-
- /* Make sure point 0 is before point 1 */
- if ((line[0] != null) && (line[0].getTimeX() > line[1].getTimeX())) {
- line[0] = null;
- }
- }
-
- /*
- * When a point qualifies to be in a hull, we verify if any of the
- * existing points need to be removed from the hull
- */
- private void removeUselessPoints(final SyncPoint p, final LinkedList<SyncPoint> boundList, final int inversionFactor) {
-
- boolean checkRemove = true;
-
- while (checkRemove && boundList.size() >= 2) {
- if (p.crossProduct(boundList.get(boundList.size() - 2), boundList.getLast()) * inversionFactor > 0) {
- boundList.removeLast();
- } else {
- checkRemove = false;
- }
- }
- boundList.addLast(p);
- }
-
- public ITmfTimestampTransform getTimestampTransform(String hostId) {
- if (hostId.equals(fOtherHost) && (getQuality() == SyncQuality.ACCURATE || getQuality() == SyncQuality.APPROXIMATE || getQuality() == SyncQuality.FAIL)) {
- /* alpha: beta => 1 / fAlpha, -1 * fBeta / fAlpha); */
- return TimestampTransformFactory.createLinear(BigDecimal.ONE.divide(fAlpha, fMc), BigDecimal.valueOf(-1).multiply(fBeta).divide(fAlpha, fMc));
- }
- return TimestampTransformFactory.getDefaultTransform();
- }
-
- public SyncQuality getQuality() {
- return fQuality;
- }
-
- public BigDecimal getAccuracy() {
- return fAlphamax.subtract(fAlphamin);
- }
-
- public Map<String, Object> getStats() {
- if (fStats.size() == 0) {
- String syncQuality;
- switch (getQuality()) {
- case ABSENT:
- syncQuality = Messages.SyncAlgorithmFullyIncremental_absent;
- break;
- case ACCURATE:
- syncQuality = Messages.SyncAlgorithmFullyIncremental_accurate;
- break;
- case APPROXIMATE:
- syncQuality = Messages.SyncAlgorithmFullyIncremental_approx;
- break;
- case INCOMPLETE:
- syncQuality = Messages.SyncAlgorithmFullyIncremental_incomplete;
- break;
- case FAIL:
- default:
- syncQuality = Messages.SyncAlgorithmFullyIncremental_fail;
- break;
- }
-
- fStats.put(Messages.SyncAlgorithmFullyIncremental_refhost, fReferenceHost);
- fStats.put(Messages.SyncAlgorithmFullyIncremental_otherhost, fOtherHost);
- fStats.put(Messages.SyncAlgorithmFullyIncremental_quality, syncQuality);
- fStats.put(Messages.SyncAlgorithmFullyIncremental_alpha, fAlpha);
- fStats.put(Messages.SyncAlgorithmFullyIncremental_beta, fBeta);
- fStats.put(Messages.SyncAlgorithmFullyIncremental_ub, (fUpperBoundList.size() == 0) ? Messages.SyncAlgorithmFullyIncremental_NA : fUpperBoundList.size());
- fStats.put(Messages.SyncAlgorithmFullyIncremental_lb, (fLowerBoundList.size() == 0) ? Messages.SyncAlgorithmFullyIncremental_NA : fLowerBoundList.size());
- fStats.put(Messages.SyncAlgorithmFullyIncremental_accuracy, getAccuracy().doubleValue());
- fStats.put(Messages.SyncAlgorithmFullyIncremental_nbmatch, (fNbMatches == 0) ? Messages.SyncAlgorithmFullyIncremental_NA : fNbMatches);
- fStats.put(Messages.SyncAlgorithmFullyIncremental_nbacc, (fNbAccurateMatches == 0) ? Messages.SyncAlgorithmFullyIncremental_NA : fNbAccurateMatches);
- fStats.put(Messages.SyncAlgorithmFullyIncremental_refformula, Messages.SyncAlgorithmFullyIncremental_T_ + fReferenceHost);
- fStats.put(Messages.SyncAlgorithmFullyIncremental_otherformula, fAlpha + Messages.SyncAlgorithmFullyIncremental_mult + Messages.SyncAlgorithmFullyIncremental_T_ + fReferenceHost + Messages.SyncAlgorithmFullyIncremental_add + fBeta);
- }
- return fStats;
-
- }
-
- public String getReferenceHost() {
- return fReferenceHost;
- }
-
- public String getOtherHost() {
- return fOtherHost;
- }
-
- public boolean isForHosts(String hostId1, String hostId2) {
- return ((fReferenceHost.equals(hostId1) && fOtherHost.equals(hostId2)) || (fReferenceHost.equals(hostId2) && fOtherHost.equals(hostId1)));
- }
-
- private void writeObject(ObjectOutputStream s)
- throws IOException {
- /*
- * Remove calculation data because most of it is not serializable.
- * We have the statistics anyway
- */
- fUpperBoundList.clear();
- fLowerBoundList.clear();
- fLmin[0] = null;
- fLmin[1] = null;
- fLmax[0] = null;
- fLmax[1] = null;
- s.defaultWriteObject();
- }
-
- @SuppressWarnings("nls")
- @Override
- public String toString() {
- StringBuilder b = new StringBuilder();
- b.append("Between " + fReferenceHost + " and " + fOtherHost + " [");
- b.append(" alpha " + fAlpha + " beta " + fBeta + " ]");
- return b.toString();
- }
-
- private void setQuality(SyncQuality fQuality) {
- this.fQuality = fQuality;
- }
-
- }
-
- /**
- * Private class representing a point to synchronize on a graph. The x axis
- * is the timestamp of the event from the reference trace while the y axis
- * is the timestamp of the event on the other trace
- */
- private class SyncPoint {
- private final ITmfTimestamp x, y;
-
- public SyncPoint(ITmfEvent ex, ITmfEvent ey) {
- x = ex.getTimestamp();
- y = ey.getTimestamp();
- }
-
- public long getTimeX() {
- return x.getValue();
- }
-
- /**
- * Calculate a cross product of 3 points:
- *
- * If the cross-product < 0, then p, pa, pb are clockwise
- *
- * If the cross-product > 0, then p, pa, pb are counter-clockwise
- *
- * If cross-product == 0, then they are in a line
- *
- * @param pa
- * First point
- * @param pb
- * Second point
- * @return The cross product
- */
- public long crossProduct(SyncPoint pa, SyncPoint pb) {
- long cp = ((pa.x.getValue() - x.getValue()) * (pb.y.getValue() - y.getValue()) - (pa.y.getValue() - y.getValue()) * (pb.x.getValue() - x.getValue()));
- return cp;
- }
-
- /*
- * Gets the alpha (slope) between two points
- */
- public BigDecimal getAlpha(SyncPoint p1) {
- if (p1 == null) {
- return BigDecimal.ONE;
- }
- BigDecimal deltay = BigDecimal.valueOf(y.getValue() - p1.y.getValue());
- BigDecimal deltax = BigDecimal.valueOf(x.getValue() - p1.x.getValue());
- if (deltax.equals(BigDecimal.ZERO)) {
- return BigDecimal.ONE;
- }
- return deltay.divide(deltax, fMc);
- }
-
- /*
- * Get the beta value (when x = 0) of the line given alpha
- */
- public BigDecimal getBeta(BigDecimal alpha) {
- return BigDecimal.valueOf(y.getValue()).subtract(alpha.multiply(BigDecimal.valueOf(x.getValue()), fMc));
- }
-
- @Override
- public String toString() {
- return String.format("%s (%s, %s)", this.getClass().getCanonicalName(), x, y); //$NON-NLS-1$
- }
- }
-
- private void writeObject(ObjectOutputStream s)
- throws IOException {
- /*
- * Remove the tree because it is not serializable
- */
- fTree = null;
- s.defaultWriteObject();
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/internal/tmf/core/synchronization/TmfConstantTransform.java b/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/internal/tmf/core/synchronization/TmfConstantTransform.java
deleted file mode 100644
index fe5f73aeea..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/internal/tmf/core/synchronization/TmfConstantTransform.java
+++ /dev/null
@@ -1,116 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 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:
- * Matthew Khouzam - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.internal.tmf.core.synchronization;
-
-import org.eclipse.jdt.annotation.NonNull;
-import org.eclipse.linuxtools.tmf.core.synchronization.ITmfTimestampTransform;
-import org.eclipse.linuxtools.tmf.core.synchronization.TimestampTransformFactory;
-import org.eclipse.linuxtools.tmf.core.timestamp.ITmfTimestamp;
-import org.eclipse.linuxtools.tmf.core.timestamp.TmfNanoTimestamp;
-
-/**
- * Constant transform, just offset your timestamp with another.
- *
- * @author Matthew Khouzam
- */
-public class TmfConstantTransform implements ITmfTimestampTransformInvertible {
-
- /**
- * Serial ID
- */
- private static final long serialVersionUID = 417299521984404532L;
- private final long fOffset;
-
- /**
- * Default constructor
- */
- public TmfConstantTransform() {
- // we really should be using an identity transform here.
- fOffset = 0;
- }
-
- /**
- * Constructor with offset
- *
- * @param offset
- * The offset of the linear transform in nanoseconds
- */
- public TmfConstantTransform(long offset) {
- fOffset = offset;
- }
-
- /**
- * Constructor with offset timestamp
- *
- * @param offset
- * The offset of the linear transform
- */
- public TmfConstantTransform(@NonNull ITmfTimestamp offset) {
- this(new TmfNanoTimestamp(offset).getValue());
- }
-
- @Override
- public ITmfTimestamp transform(ITmfTimestamp timestamp) {
- return timestamp.normalize(fOffset, ITmfTimestamp.NANOSECOND_SCALE);
- }
-
- /**
- * {@inheritDoc}
- *
- * @param timestamp
- * the timestamp in nanoseconds
- * @return the timestamp in nanoseconds
- */
- @Override
- public long transform(long timestamp) {
- return fOffset + timestamp;
- }
-
- @Override
- public ITmfTimestampTransform composeWith(ITmfTimestampTransform composeWith) {
- if (composeWith.equals(TmfTimestampTransform.IDENTITY)) {
- /* If composing with identity, just return this */
- return this;
- } else if (composeWith instanceof TmfConstantTransform) {
- TmfConstantTransform tct = (TmfConstantTransform) composeWith;
- final long offset = fOffset + tct.fOffset;
- if (offset == 0) {
- return TmfTimestampTransform.IDENTITY;
- }
- return new TmfConstantTransform(offset);
- } else if (composeWith instanceof TmfTimestampTransformLinear) {
- throw new UnsupportedOperationException("Cannot compose a constant and linear transform yet"); //$NON-NLS-1$
- } else {
- /*
- * We do not know what to do with this kind of transform, just
- * return this
- */
- return this;
- }
- }
-
- @Override
- public String toString() {
- StringBuilder builder = new StringBuilder();
- builder.append("TmfConstantTransform [ offset = "); //$NON-NLS-1$
- builder.append(fOffset);
- builder.append(" ]"); //$NON-NLS-1$
- return builder.toString();
- }
-
- @Override
- public ITmfTimestampTransform inverse() {
- return TimestampTransformFactory.createWithOffset(-1 * fOffset);
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/internal/tmf/core/synchronization/TmfTimestampTransform.java b/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/internal/tmf/core/synchronization/TmfTimestampTransform.java
deleted file mode 100644
index 75784e5a68..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/internal/tmf/core/synchronization/TmfTimestampTransform.java
+++ /dev/null
@@ -1,82 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 École Polytechnique de Montréal
- *
- * 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:
- * Geneviève Bastien - Initial implementation and API
- *******************************************************************************/
-
-package org.eclipse.linuxtools.internal.tmf.core.synchronization;
-
-import org.eclipse.linuxtools.tmf.core.synchronization.ITmfTimestampTransform;
-import org.eclipse.linuxtools.tmf.core.timestamp.ITmfTimestamp;
-
-/**
- * A default simple, identity timestamp transform. It is a singleton class and
- * returns the timestamp itself
- *
- * @author Geneviève Bastien
- */
-public final class TmfTimestampTransform implements ITmfTimestampTransformInvertible {
-
- /**
- * Generated serial UID
- */
- private static final long serialVersionUID = -1480581417493073304L;
-
- /**
- * The unique instance of this transform, since it is always the same
- */
- public static final TmfTimestampTransform IDENTITY = new TmfTimestampTransform();
-
- /**
- * Default constructor
- */
- private TmfTimestampTransform() {
-
- }
-
- @Override
- public ITmfTimestamp transform(ITmfTimestamp timestamp) {
- return timestamp;
- }
-
- @Override
- public long transform(long timestamp) {
- return timestamp;
- }
-
- @Override
- public ITmfTimestampTransform composeWith(ITmfTimestampTransform composeWith) {
- /* Since this transform will not modify anything, return the other */
- return composeWith;
- }
-
- @Override
- public boolean equals(Object other) {
- return other.getClass().equals(TmfTimestampTransform.class);
- }
-
- @Override
- public int hashCode() {
- final int prime = 31;
- int result = 1;
- result = (prime * result) + TmfTimestampTransform.class.hashCode();
- return result;
- }
-
- @Override
- public String toString() {
- return "TmfTimestampTransform [ IDENTITY ]"; //$NON-NLS-1$
- }
-
- @Override
- public ITmfTimestampTransform inverse() {
- return IDENTITY;
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/internal/tmf/core/synchronization/TmfTimestampTransformLinear.java b/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/internal/tmf/core/synchronization/TmfTimestampTransformLinear.java
deleted file mode 100644
index 7deb551831..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/internal/tmf/core/synchronization/TmfTimestampTransformLinear.java
+++ /dev/null
@@ -1,150 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 École Polytechnique de Montréal
- *
- * 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:
- * Geneviève Bastien - Initial implementation and API
- *******************************************************************************/
-
-package org.eclipse.linuxtools.internal.tmf.core.synchronization;
-
-import java.math.BigDecimal;
-import java.math.MathContext;
-
-import org.eclipse.linuxtools.tmf.core.synchronization.ITmfTimestampTransform;
-import org.eclipse.linuxtools.tmf.core.synchronization.TimestampTransformFactory;
-import org.eclipse.linuxtools.tmf.core.timestamp.ITmfTimestamp;
-import org.eclipse.linuxtools.tmf.core.timestamp.TmfTimestamp;
-
-/**
- * Class implementing a linear timestamp transform, with a slope and/or offset
- *
- * f(t) = alpha*t + beta
- *
- * @author Geneviève Bastien
- * @since 3.0
- */
-public class TmfTimestampTransformLinear implements ITmfTimestampTransformInvertible {
-
- /**
- * Generated serial UID
- */
- private static final long serialVersionUID = -4756608071358979461L;
-
- /**
- * Respectively the slope and offset and this linear equation.
- */
- private final BigDecimal fAlpha;
- private final BigDecimal fBeta;
-
- private static final MathContext fMc = MathContext.DECIMAL128;
-
- /**
- * Default constructor
- */
- public TmfTimestampTransformLinear() {
- fAlpha = BigDecimal.ONE;
- fBeta = BigDecimal.ZERO;
- }
-
- /**
- * Constructor with alpha and beta
- *
- * @param alpha
- * The slope of the linear transform
- * @param beta
- * The initial offset of the linear transform
- */
- public TmfTimestampTransformLinear(final double alpha, final double beta) {
- fAlpha = BigDecimal.valueOf(alpha);
- fBeta = BigDecimal.valueOf(beta);
- }
-
- /**
- * Constructor with alpha and beta in big decimal
- *
- * @param fAlpha2
- * The slope of the linear transform
- * @param fBeta2
- * The initial offset of the linear transform
- */
- public TmfTimestampTransformLinear(final BigDecimal fAlpha2, final BigDecimal fBeta2) {
- if (fAlpha2 != null) {
- fAlpha = fAlpha2;
- } else {
- fAlpha = BigDecimal.ONE;
- }
- if (fBeta2 != null) {
- fBeta = fBeta2;
- } else {
- fBeta = BigDecimal.ZERO;
- }
- }
-
- @Override
- public ITmfTimestamp transform(ITmfTimestamp timestamp) {
- BigDecimal newvalue = BigDecimal.valueOf(timestamp.getValue()).multiply(fAlpha, fMc).add(fBeta);
- return new TmfTimestamp(timestamp, newvalue.longValue());
- }
-
- @Override
- public long transform(long timestamp) {
- BigDecimal t = BigDecimal.valueOf(timestamp).multiply(fAlpha, fMc).add(fBeta);
- return t.longValue();
- }
-
- @Override
- public ITmfTimestampTransform composeWith(ITmfTimestampTransform composeWith) {
- if (composeWith.equals(TmfTimestampTransform.IDENTITY)) {
- /* If composing with identity, just return this */
- return this;
- } else if (composeWith instanceof TmfTimestampTransformLinear) {
- /* If composeWith is a linear transform, add the two together */
- TmfTimestampTransformLinear ttl = (TmfTimestampTransformLinear) composeWith;
- BigDecimal newAlpha = fAlpha.multiply(ttl.fAlpha, fMc);
- BigDecimal newBeta = fAlpha.multiply(ttl.fBeta, fMc).add(fBeta);
- return TimestampTransformFactory.createLinear(newAlpha, newBeta);
- } else {
- /*
- * We do not know what to do with this kind of transform, just
- * return this
- */
- return this;
- }
- }
-
- @Override
- public boolean equals(Object other) {
- boolean result = false;
- if (other instanceof TmfTimestampTransformLinear) {
- TmfTimestampTransformLinear that = (TmfTimestampTransformLinear) other;
- result = ((that.fAlpha.equals(fAlpha)) && (that.fBeta.equals(fBeta)));
- }
- return result;
- }
-
- @Override
- public int hashCode() {
- final int prime = 31;
- int result = 1;
- result = (prime * result) + (fBeta.multiply(fAlpha).intValue());
- return result;
- }
-
- @Override
- public String toString() {
- return "TmfTimestampLinear [ slope = " + fAlpha.toString() + //$NON-NLS-1$
- ", offset = " + fBeta.toString() + //$NON-NLS-1$
- " ]"; //$NON-NLS-1$
- }
-
- @Override
- public ITmfTimestampTransform inverse() {
- return TimestampTransformFactory.createLinear(BigDecimal.ONE.divide(fAlpha, fMc), BigDecimal.valueOf(-1).multiply(fBeta).divide(fAlpha, fMc));
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/internal/tmf/core/synchronization/graph/Edge.java b/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/internal/tmf/core/synchronization/graph/Edge.java
deleted file mode 100644
index f2afb7babb..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/internal/tmf/core/synchronization/graph/Edge.java
+++ /dev/null
@@ -1,77 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 École Polytechnique de Montréal
- *
- * 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:
- * Francis Giraldeau - Initial implementation and API
- *******************************************************************************/
-
-package org.eclipse.linuxtools.internal.tmf.core.synchronization.graph;
-
-/**
- * An edge in the {@link SyncGraph}
- *
- * @author Francis Giraldeau <francis.giraldeau@gmail.com>
- * @param <V>
- * The vertices type
- * @param <E>
- * The edge annotation type
- */
-public class Edge<V, E> {
-
- private final V fFrom;
- private final V fTo;
- private final E fLabel;
-
- /**
- * An edge constructor
- *
- * @param from
- * The origin vertex
- * @param to
- * The destination vertex
- * @param label
- * The edge annotation label
- */
- public Edge(V from, V to, E label) {
- fFrom = from;
- fTo = to;
- fLabel = label;
- }
-
- /**
- * Get the vertex from
- *
- * @return The origin vertex
- */
- public V getFrom() {
- return fFrom;
- }
-
- /**
- * Get the vertex to
- *
- * @return The destination vertex
- */
- public V getTo() {
- return fTo;
- }
-
- /**
- * Get the edge label
- *
- * @return The edge label
- */
- public E getLabel() {
- return fLabel;
- }
-
- @Override
- public String toString() {
- return String.format("(%s, %s, %s)", fFrom, fTo, fLabel); //$NON-NLS-1$
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/internal/tmf/core/synchronization/graph/SyncGraph.java b/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/internal/tmf/core/synchronization/graph/SyncGraph.java
deleted file mode 100644
index 2fc5c88ee9..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/internal/tmf/core/synchronization/graph/SyncGraph.java
+++ /dev/null
@@ -1,179 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 École Polytechnique de Montréal
- *
- * 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:
- * Francis Giraldeau - Initial implementation and API
- *******************************************************************************/
-
-package org.eclipse.linuxtools.internal.tmf.core.synchronization.graph;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Queue;
-import java.util.Set;
-import java.util.Stack;
-
-import com.google.common.collect.ArrayListMultimap;
-import com.google.common.collect.Multimap;
-
-/**
- * Minimal graph implementation to compute timestamps transforms of a trace from
- * a given synchronized set of traces. The graph is implemented as an adjacency
- * list and is directed. To create undirected graph, add the edge in both
- * directions.
- *
- * @author Francis Giraldeau <francis.giraldeau@gmail.com>
- * @param <V>
- * The vertices type
- * @param <E>
- * The edge annotation type
- */
-public class SyncGraph<V, E> {
-
- private Multimap<V, Edge<V, E>> fAdjacentEdges;
- private Set<V> fVertices;
-
- /**
- * Construct empty graph
- */
- public SyncGraph() {
- fAdjacentEdges = ArrayListMultimap.create();
- fVertices = new HashSet<>();
- }
-
- /**
- * Add edge from v to w and annotation label
- *
- * @param from
- * from vertex
- * @param to
- * to vertex
- * @param label
- * the edge label
- */
- public void addEdge(V from, V to, E label) {
- fAdjacentEdges.put(from, new Edge<>(from, to, label));
- fVertices.add(from);
- fVertices.add(to);
- }
-
- /**
- * Get the number of edges
- *
- * @return number of edges
- */
- public int getNbEdges() {
- return fAdjacentEdges.entries().size();
- }
-
- /**
- * Get the number of vertices
- *
- * @return number of vertices
- */
- public int getNbVertices() {
- return fVertices.size();
- }
-
- /**
- * Returns the adjacent edges of the given vertex
- *
- * @param v
- * the vertex
- * @return the adjacent vertices
- */
- public Collection<Edge<V, E>> getAdjacentEdges(V v) {
- return fAdjacentEdges.get(v);
- }
-
- /**
- * Returns a path between start and end vertices.
- *
- * @param start
- * vertex
- * @param end
- * vertex
- * @return the list of edges between start and end vertices
- */
- public List<Edge<V, E>> path(V start, V end) {
- ArrayList<Edge<V, E>> path = new ArrayList<>();
- HashMap<V, Edge<V, E>> hist = new HashMap<>();
- HashSet<V> visited = new HashSet<>();
- Queue<V> queue = new LinkedList<>();
- queue.offer(start);
- /**
- * Build the map of nodes reachable from the start node, by recursively
- * visiting all accessible nodes. It is a breadth-first search, so the
- * edges kept for each node will be the shortest path to that node.
- */
- while (!queue.isEmpty()) {
- V node = queue.poll();
- visited.add(node);
- for (Edge<V, E> e : getAdjacentEdges(node)) {
- V to = e.getTo();
- if (!visited.contains(to)) {
- queue.offer(e.getTo());
- if (!hist.containsKey(e.getTo())) {
- hist.put(e.getTo(), e);
- }
- }
- }
- }
- /*
- * Find path from start to end by traversing the edges backward, from
- * the end node
- */
- V node = end;
- Edge<V, E> edge = hist.get(node);
- while (edge != null && node != start) {
- path.add(edge);
- node = edge.getFrom();
- edge = hist.get(node);
- }
- Collections.reverse(path);
- return path;
- }
-
- /**
- * Check if this graph is connected, ie there are no partitions, all
- * vertices are reachable from every other one. It is a depth-first visit of
- * all vertices reachable from the first vertex of the graph.
- *
- * @return true if the graph is connected, false otherwise
- */
- public boolean isConnected() {
- HashSet<V> visited = new HashSet<>();
- Stack<V> stack = new Stack<>();
- stack.push(fVertices.iterator().next());
- while (!stack.isEmpty()) {
- V node = stack.pop();
- visited.add(node);
- for (Edge<V, E> edge : getAdjacentEdges(node)) {
- if (!visited.contains(edge.getTo())) {
- stack.push(edge.getTo());
- }
- }
- }
- return visited.size() == fVertices.size();
- }
-
- @Override
- public String toString() {
- StringBuilder str = new StringBuilder();
- for (V key : fAdjacentEdges.keySet()) {
- str.append(key + ": " + fAdjacentEdges.get(key) + "\n"); //$NON-NLS-1$ //$NON-NLS-2$
- }
- return str.toString();
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/internal/tmf/core/synchronization/graph/SyncSpanningTree.java b/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/internal/tmf/core/synchronization/graph/SyncSpanningTree.java
deleted file mode 100644
index 8013c96e4d..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/internal/tmf/core/synchronization/graph/SyncSpanningTree.java
+++ /dev/null
@@ -1,127 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 École Polytechnique de Montréal
- *
- * 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:
- * Geneviève Bastien - Initial implementation and API
- *******************************************************************************/
-
-package org.eclipse.linuxtools.internal.tmf.core.synchronization.graph;
-
-import java.math.BigDecimal;
-import java.util.List;
-import java.util.SortedSet;
-import java.util.TreeSet;
-
-import org.eclipse.linuxtools.internal.tmf.core.synchronization.ITmfTimestampTransformInvertible;
-import org.eclipse.linuxtools.tmf.core.synchronization.ITmfTimestampTransform;
-import org.eclipse.linuxtools.tmf.core.synchronization.TimestampTransformFactory;
-
-/**
- * Implements a tree to calculate the synchronization between hosts
- *
- * TODO: This minimal implementation does not take into account the accuracy of
- * the synchronization or the number of hops between 2 traces. A great
- * improvement would be to implement Masoume Jabbarifar's minimal spanning tree
- * algorithm to select reference trace(s) and optimal path to each node of the
- * tree.
- *
- * @author Geneviève Bastien
- */
-public class SyncSpanningTree {
-
- private final SyncGraph<String, ITmfTimestampTransform> fSyncGraph;
-
- /*
- * Using a TreeSet here to make sure the order of the hosts, and thus the
- * reference node, is predictable, mostly for unit tests.
- */
- private SortedSet<String> fHosts = new TreeSet<>();
-
- /**
- * Default constructor
- */
- public SyncSpanningTree() {
- fSyncGraph = new SyncGraph<>();
- }
-
- /**
- * Add a synchronization formula between hostFrom and hostTo with a given
- * accuracy
- *
- * @param hostFrom
- * Host from which the transform applies
- * @param hostTo
- * Host to which the transform applies
- * @param transform
- * The timestamp transform
- * @param accuracy
- * The accuracy of the synchronization between hostFrom and
- * hostTo
- */
- public void addSynchronization(String hostFrom, String hostTo, ITmfTimestampTransform transform, BigDecimal accuracy) {
- fHosts.add(hostFrom);
- fHosts.add(hostTo);
- fSyncGraph.addEdge(hostFrom, hostTo, transform);
- if (transform instanceof ITmfTimestampTransformInvertible) {
- fSyncGraph.addEdge(hostTo, hostFrom, ((ITmfTimestampTransformInvertible) transform).inverse());
- }
- }
-
- /**
- * Get the timestamp transform to a host
- *
- * FIXME: This might not work in situations where we have disjoint graphs
- * since we only calculate 1 root node and each tree has its own root. When
- * implementing the algorithm with minimal spanning tree, we will solve this
- * problem.
- *
- * @param host
- * The host to reach
- * @return The timestamp transform to host
- */
- public ITmfTimestampTransform getTimestampTransform(String host) {
- ITmfTimestampTransform result = TimestampTransformFactory.getDefaultTransform();
- String rootNode = getRootNode();
- /*
- * Compute the path from reference node to the given host id
- */
- if (rootNode != null) {
- List<Edge<String, ITmfTimestampTransform>> path = fSyncGraph.path(rootNode, host);
- /*
- * Compute the resulting transform by chaining each transforms on
- * the path.
- */
- for (Edge<String, ITmfTimestampTransform> edge : path) {
- result = result.composeWith(edge.getLabel());
- }
- }
- return result;
- }
-
- private String getRootNode() {
- /**
- * Get the root node from which all other paths will be calculated. For
- * now, we take the first node alphabetically.
- */
- if (fHosts.size() == 0) {
- return null;
- }
- return fHosts.first();
- }
-
- /**
- * Check if this multi-host synchronization tree is connected, ie all nodes
- * have a synchronization path to a reference node.
- *
- * @return true if the tree is connected, false otherwise
- */
- public boolean isConnected() {
- return fSyncGraph.isConnected();
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/internal/tmf/core/trace/TmfExperimentCheckpoint.java b/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/internal/tmf/core/trace/TmfExperimentCheckpoint.java
deleted file mode 100644
index faa88d1e47..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/internal/tmf/core/trace/TmfExperimentCheckpoint.java
+++ /dev/null
@@ -1,95 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009, 2013 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.internal.tmf.core.trace;
-
-import org.eclipse.linuxtools.tmf.core.timestamp.TmfTimestamp;
-import org.eclipse.linuxtools.tmf.core.trace.TmfContext;
-
-/**
- * <b><u>TmfExperimentCheckpoint</u></b>
- * <p>
- * TODO: Implement me. Please.
- */
-public class TmfExperimentCheckpoint implements Comparable<TmfExperimentCheckpoint> {
-
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
-
- private final TmfTimestamp fTimestamp;
- private final long[] fRanks;
-
- // ------------------------------------------------------------------------
- // Constructors
- // ------------------------------------------------------------------------
-
- /**
- * @param ts the checkpoint timestamp
- * @param contexts the corresponding set of trace contexts
- */
- public TmfExperimentCheckpoint(final TmfTimestamp ts, final TmfContext[] contexts) {
- fTimestamp = ts;
- fRanks = new long[contexts.length];
- for (int i = 0; i < fRanks.length; i++) {
- fRanks[i] = contexts[i].getRank();
- }
- }
-
- // ------------------------------------------------------------------------
- // Accessors
- // ------------------------------------------------------------------------
-
- /**
- * @return the checkpoint event timestamp
- */
- public TmfTimestamp getTimestamp() {
- return fTimestamp;
- }
-
- /**
- * @return the checkpoint event rank
- */
- public long[] getRanks() {
- return fRanks;
- }
-
- // ------------------------------------------------------------------------
- // Object
- // ------------------------------------------------------------------------
-
- @Override
- public int hashCode() {
- int result = 37;
- result = 17 * result + fTimestamp.hashCode();
- return result;
- }
-
- @Override
- public boolean equals(final Object other) {
- if (!(other instanceof TmfExperimentCheckpoint)) {
- return false;
- }
- final TmfExperimentCheckpoint o = (TmfExperimentCheckpoint) other;
- return fTimestamp.equals(o.fTimestamp);
- }
-
- // ------------------------------------------------------------------------
- // Comparable
- // ------------------------------------------------------------------------
-
- @Override
- public int compareTo(final TmfExperimentCheckpoint other) {
- return fTimestamp.compareTo(other.fTimestamp, false);
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/internal/tmf/core/trace/TmfExperimentContext.java b/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/internal/tmf/core/trace/TmfExperimentContext.java
deleted file mode 100644
index bfeafba49f..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/internal/tmf/core/trace/TmfExperimentContext.java
+++ /dev/null
@@ -1,224 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009, 2013 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 - Put in shape for 1.0
- * Patrick Tasse - Updated for removal of context clone
- *******************************************************************************/
-
-package org.eclipse.linuxtools.internal.tmf.core.trace;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.jdt.annotation.Nullable;
-import org.eclipse.linuxtools.tmf.core.event.ITmfEvent;
-import org.eclipse.linuxtools.tmf.core.trace.ITmfContext;
-import org.eclipse.linuxtools.tmf.core.trace.TmfContext;
-
-/**
- * The experiment context in TMF.
- * <p>
- * The experiment keeps track of the next event from each of its traces so it
- * can pick the next one in chronological order.
- * <p>
- * This implies that the "next" event from each trace has already been
- * read and that we at least know its timestamp.
- * <p>
- * The last trace refers to the trace from which the last event was "consumed"
- * at the experiment level.
- */
-public final class TmfExperimentContext extends TmfContext {
-
- // ------------------------------------------------------------------------
- // Constants
- // ------------------------------------------------------------------------
-
- /**
- * No last trace read indicator
- */
- public static final int NO_TRACE = -1;
-
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
-
- private final List<ITmfContext> fContexts;
- private final List<ITmfEvent> fEvents;
- private int fLastTraceRead;
-
- // ------------------------------------------------------------------------
- // Constructors
- // ------------------------------------------------------------------------
-
- /**
- * Standard constructor
- *
- * @param nbTraces
- * The number of traces in the experiment
- */
- public TmfExperimentContext(final int nbTraces) {
- super();
- fLastTraceRead = NO_TRACE;
- fContexts = new ArrayList<>(nbTraces);
- fEvents = new ArrayList<>(nbTraces);
-
-
- /* Initialize the arrays to the requested size */
- for (int i = 0; i < nbTraces; i++) {
- fContexts.add(null);
- fEvents.add(null);
- }
- }
-
- @Override
- public void dispose() {
- for (ITmfContext context : fContexts) {
- context.dispose();
- }
- super.dispose();
- }
-
- // ------------------------------------------------------------------------
- // Accessors
- // ------------------------------------------------------------------------
-
- /**
- * Return how many traces this experiment context tracks the contexts of
- * (a.k.a., the number of traces in the experiment).
- *
- * @return The number of traces in the experiment
- */
- public int getNbTraces() {
- return fContexts.size();
- }
-
- /**
- * Get the current context of a specific trace
- *
- * @param traceIndex
- * The index of the trace in the experiment
- * @return The matching context object for that trace
- */
- @Nullable
- public ITmfContext getContext(int traceIndex) {
- return fContexts.get(traceIndex);
- }
-
- /**
- * Set the context of a trace
- *
- * @param traceIndex
- * The index of the trace in the experiment
- * @param ctx
- * The new context object for that trace
- */
- public void setContext(int traceIndex, ITmfContext ctx) {
- fContexts.set(traceIndex, ctx);
- }
-
- /**
- * Get the current event for a specific trace in the experiment.
- *
- * @param traceIndex
- * The index of the trace in the experiment
- * @return The event matching the trace/context
- *
- */
- @Nullable
- public ITmfEvent getEvent(int traceIndex) {
- return fEvents.get(traceIndex);
- }
-
- /**
- * Set the context's event for a specific trace
- *
- * @param traceIndex
- * The index of the trace in the experiment
- * @param event
- * The event at the context in the trace
- */
- public void setEvent(int traceIndex, ITmfEvent event) {
- fEvents.set(traceIndex, event);
- }
-
- /**
- * Get the index of the trace that was last read (so the trace whose
- * current context will match this experiment's).
- *
- * @return The index of the trace
- */
- public int getLastTrace() {
- return fLastTraceRead;
- }
-
- /**
- * Set the last trace read index
- *
- * @param newIndex
- * The new value to assign
- */
- public void setLastTrace(final int newIndex) {
- fLastTraceRead = newIndex;
- }
-
- // ------------------------------------------------------------------------
- // Object
- // ------------------------------------------------------------------------
-
- @Override
- public int hashCode() {
- int result = 17;
- for (int i = 0; i < fContexts.size(); i++) {
- result = 37 * result + fContexts.get(i).hashCode();
- }
- return result;
- }
-
- @Override
- public boolean equals(final Object other) {
- if (this == other) {
- return true;
- }
- if (!super.equals(other)) {
- return false;
- }
- if (!(other instanceof TmfExperimentContext)) {
- return false;
- }
- final TmfExperimentContext o = (TmfExperimentContext) other;
- boolean isEqual = true;
- int i = 0;
- while (isEqual && (i < fContexts.size())) {
- isEqual &= fContexts.get(i).equals(o.fContexts.get(i));
- i++;
- }
- return isEqual;
- }
-
- @Override
- @SuppressWarnings("nls")
- public String toString() {
- StringBuilder sb = new StringBuilder("TmfExperimentContext [\n");
- sb.append("\tfLocation=" + getLocation() + ", fRank=" + getRank() + "\n");
- sb.append("\tfContexts=[");
- for (int i = 0; i < fContexts.size(); i++) {
- sb.append("(" + fContexts.get(i).getLocation() + "," + fContexts.get(i).getRank() + ((i < fContexts.size() - 1) ? ")," : ")]\n"));
- }
- sb.append("\tfEvents=[");
- for (int i = 0; i < fEvents.size(); i++) {
- ITmfEvent event = fEvents.get(i);
- sb.append(((event != null) ? fEvents.get(i).getTimestamp() : "(null)") + ((i < fEvents.size() - 1) ? "," : "]\n"));
- }
- sb.append("\tfLastTraceRead=" + fLastTraceRead + "\n");
- sb.append("]");
- return sb.toString();
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/internal/tmf/core/trace/TmfExperimentLocation.java b/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/internal/tmf/core/trace/TmfExperimentLocation.java
deleted file mode 100644
index 4f6edec3c4..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/internal/tmf/core/trace/TmfExperimentLocation.java
+++ /dev/null
@@ -1,120 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009, 2013 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 - Updated as per TMF Trace Model 1.0
- * Patrick Tasse - Updated for ranks in experiment location
- *******************************************************************************/
-
-package org.eclipse.linuxtools.internal.tmf.core.trace;
-
-import java.nio.ByteBuffer;
-
-import org.eclipse.linuxtools.tmf.core.trace.location.ITmfLocation;
-
-
-/**
- * The experiment location in TMF.
- * <p>
- * An experiment location is actually the set of locations of the traces it
- * contains. By setting the individual traces to their corresponding locations,
- * the experiment can be positioned to read the next chronological event.
- * <p>
- * It is the responsibility of the user the individual trace locations are valid
- * and that they are matched to the correct trace.
- *
- * @version 1.0
- * @author Francois Chouinard
- *
- * @see TmfLocationArray
- */
-public final class TmfExperimentLocation implements ITmfLocation {
-
- private final TmfLocationArray fLocation;
-
- // ------------------------------------------------------------------------
- // Constructors
- // ------------------------------------------------------------------------
-
- /**
- * The standard constructor
- *
- * @param locations the set of trace locations
- */
- public TmfExperimentLocation(TmfLocationArray locations) {
- fLocation = locations;
- }
-
- /**
- * The copy constructor
- *
- * @param location the other experiment location
- */
- public TmfExperimentLocation(TmfExperimentLocation location) {
- this(location.getLocationInfo());
- }
-
- // ------------------------------------------------------------------------
- // Object
- // ------------------------------------------------------------------------
-
- @Override
- @SuppressWarnings("nls")
- public String toString() {
- StringBuilder result = new StringBuilder("TmfExperimentLocation [");
- result.append(fLocation.toString());
- result.append("]");
- return result.toString();
- }
-
- @Override
- public int hashCode() {
- final int prime = 31;
- int result = 1;
- result = prime * result + ((fLocation != null) ? fLocation.hashCode() : 0);
- return result;
- }
-
- @Override
- public boolean equals(Object obj) {
- if (this == obj) {
- return true;
- }
- if (obj == null) {
- return false;
- }
- if (getClass() != obj.getClass()) {
- return false;
- }
- final TmfExperimentLocation other = (TmfExperimentLocation) obj;
- if (fLocation == null) {
- if (other.fLocation != null) {
- return false;
- }
- } else if (!fLocation.equals(other.fLocation)) {
- return false;
- }
- return true;
- }
-
- @Override
- public TmfLocationArray getLocationInfo() {
- return fLocation;
- }
-
- @Override
- public void serialize(ByteBuffer bufferOut) {
- ITmfLocation[] locations = fLocation.getLocations();
- long[] ranks = fLocation.getRanks();
- for (int i = 0; i < locations.length; ++i) {
- locations[i].serialize(bufferOut);
- bufferOut.putLong(ranks[i]);
- }
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/internal/tmf/core/trace/TmfLocationArray.java b/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/internal/tmf/core/trace/TmfLocationArray.java
deleted file mode 100644
index a9abc076dc..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/internal/tmf/core/trace/TmfLocationArray.java
+++ /dev/null
@@ -1,204 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011, 2014 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:
- * Patrick Tasse - Initial API and implementation
- * Francois Chouinard - Put in shape for 1.0
- * Patrick Tasse - Updated for ranks in experiment location
- *******************************************************************************/
-
-package org.eclipse.linuxtools.internal.tmf.core.trace;
-
-import java.util.Arrays;
-
-import org.eclipse.linuxtools.tmf.core.trace.location.ITmfLocation;
-
-
-/**
- * A convenience class to store trace location arrays. The main purpose is to
- * provide an immutable and Comparable implementation for TmfExperimentLocation.
- *
- * @version 1.0
- * @author Patrick Tasse
- */
-public final class TmfLocationArray implements Comparable<TmfLocationArray> {
-
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
-
- private final ITmfLocation[] fLocations;
- private final long [] fRanks;
-
- // ------------------------------------------------------------------------
- // Constructors
- // ------------------------------------------------------------------------
-
- /**
- * The standard constructor.
- *
- * @param locations the locations
- * @param ranks the ranks
- */
- public TmfLocationArray(ITmfLocation[] locations, long[] ranks) {
- fLocations = Arrays.copyOf(locations, locations.length);
- fRanks = Arrays.copyOf(ranks, ranks.length);
- }
-
- /**
- * The update constructor. Copies the arrays and updates a single entry.
- *
- * @param locationArray the location array
- * @param index the updated index
- * @param location the updated location
- * @param rank the updated rank
- */
- public TmfLocationArray(TmfLocationArray locationArray, int index, ITmfLocation location, long rank) {
- fLocations = Arrays.copyOf(locationArray.fLocations, locationArray.fLocations.length);
- fLocations[index] = location;
- fRanks = Arrays.copyOf(locationArray.fRanks, locationArray.fRanks.length);
- fRanks[index] = rank;
- }
-
- /**
- * The empty constructor.
- *
- * @param size the number of elements in the array
- */
- public TmfLocationArray(int size) {
- fLocations = new ITmfLocation[size];
- fRanks = new long[size];
- }
-
- // ------------------------------------------------------------------------
- // Getters
- // ------------------------------------------------------------------------
-
- /**
- * Returns the number of elements in this array.
- *
- * @return the number of elements in this array
- */
- public int size() {
- return fLocations.length;
- }
-
- /**
- * Get the locations inside this array.
- *
- * @return a copy of the locations array
- */
- public ITmfLocation[] getLocations() {
- return Arrays.copyOf(fLocations, fLocations.length);
- }
-
- /**
- * Get a specific location
- *
- * @param index the location element
- *
- * @return the specific location (possibly null)
- */
- public ITmfLocation getLocation(int index) {
- if (index >= 0 && index < fLocations.length) {
- return fLocations[index];
- }
- return null;
- }
-
- /**
- * Get the ranks inside this array.
- *
- * @return a copy of the ranks array
- */
- public long[] getRanks() {
- return Arrays.copyOf(fRanks, fRanks.length);
- }
-
- /**
- * Get a specific rank
- *
- * @param index the rank element
- *
- * @return the specific rank
- */
- public long getRank(int index) {
- if (index >= 0 && index < fRanks.length) {
- return fRanks[index];
- }
- return 0;
- }
-
- // ------------------------------------------------------------------------
- // Comparable
- // ------------------------------------------------------------------------
-
- @Override
- public int compareTo(TmfLocationArray o) {
- for (int i = 0; i < fRanks.length; i++) {
- long rank1 = fRanks[i];
- long rank2 = o.fRanks[i];
- if (rank1 < rank2) {
- return -1;
- } else if (rank1 > rank2) {
- return 1;
- }
- }
- return 0;
- }
-
- // ------------------------------------------------------------------------
- // Object
- // ------------------------------------------------------------------------
-
- @Override
- public int hashCode() {
- final int prime = 31;
- int result = 1;
- result = prime * result + Arrays.hashCode(fLocations);
- result = prime * result + Arrays.hashCode(fRanks);
- return result;
- }
-
- @Override
- public boolean equals(Object obj) {
- if (this == obj) {
- return true;
- }
- if (obj == null) {
- return false;
- }
- if (getClass() != obj.getClass()) {
- return false;
- }
- TmfLocationArray other = (TmfLocationArray) obj;
- if (!Arrays.equals(fLocations, other.fLocations)) {
- return false;
- }
- if (!Arrays.equals(fRanks, other.fRanks)) {
- return false;
- }
- return true;
- }
-
- @Override
- @SuppressWarnings("nls")
- public String toString() {
- StringBuilder sb = new StringBuilder();
- sb.append(getClass().getSimpleName() + " [");
- for (int i = 0; i < fLocations.length; i++) {
- if (i > 0) {
- sb.append(", ");
- }
- sb.append("[location=" + fLocations[i] + ",rank=" + fRanks[i] + "]");
- }
- sb.append("]");
- return sb.toString();
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/internal/tmf/core/trace/indexer/AbstractFileCheckpointCollection.java b/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/internal/tmf/core/trace/indexer/AbstractFileCheckpointCollection.java
deleted file mode 100644
index 77832f1174..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/internal/tmf/core/trace/indexer/AbstractFileCheckpointCollection.java
+++ /dev/null
@@ -1,478 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 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:
- * Marc-Andre Laperle - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.internal.tmf.core.trace.indexer;
-
-import java.io.File;
-import java.io.FileNotFoundException;
-import java.io.IOException;
-import java.io.RandomAccessFile;
-import java.nio.ByteBuffer;
-import java.nio.channels.FileChannel;
-import java.text.MessageFormat;
-
-import org.eclipse.linuxtools.internal.tmf.core.Activator;
-import org.eclipse.linuxtools.tmf.core.timestamp.TmfTimeRange;
-import org.eclipse.linuxtools.tmf.core.timestamp.TmfTimestamp;
-import org.eclipse.linuxtools.tmf.core.trace.indexer.ITmfPersistentlyIndexable;
-
-/**
- * Common implementation of file-based checkpoint collection
- *
- * @author Marc-Andre Laperle
- */
-public abstract class AbstractFileCheckpointCollection implements ICheckpointCollection {
-
- private static final int VERSION = 1;
- private static final int SUB_VERSION_NONE = -1;
-
- /**
- * The base file header, can be extended
- */
- protected class CheckpointCollectionFileHeader {
- private final static int SIZE = INT_SIZE +
- INT_SIZE +
- LONG_SIZE +
- LONG_SIZE;
-
- /**
- * Get the size of the header in bytes. This should be overridden if the
- * header is augmented with more data
- *
- * @return the size of the header in bytes
- */
- public int getSize() {
- return SIZE;
- }
-
- /**
- * Get the sub version of this header
- *
- * @return the sub version
- */
- public int getSubVersion() {
- return SUB_VERSION_NONE;
- }
-
- /**
- * Constructs a new file header for an existing file
- *
- * @param randomAccessFile
- * the existing file
- * @throws IOException
- * if an I/O error occurs reading from the file
- */
- public CheckpointCollectionFileHeader(RandomAccessFile randomAccessFile) throws IOException {
- fVersion = randomAccessFile.readInt();
- fSize = randomAccessFile.readInt();
- fNbEvents = randomAccessFile.readLong();
- fTimeRangeOffset = randomAccessFile.readLong();
- }
-
- /**
- * Constructs a new file header for the given version
- *
- * @param version
- * the version
- */
- public CheckpointCollectionFileHeader(int version) {
- fVersion = version;
- }
-
- /**
- * Serialize the header to a file
- *
- * @param randomAccessFile
- * the existing file
- * @throws IOException
- * if an I/O error occurs writing to the file
- */
- public void serialize(RandomAccessFile randomAccessFile) throws IOException {
- randomAccessFile.seek(0);
- randomAccessFile.writeInt(getVersion());
- randomAccessFile.writeInt(fSize);
- randomAccessFile.writeLong(fNbEvents);
- randomAccessFile.writeLong(fTimeRangeOffset);
- }
-
- /**
- * The version of the collection. Should be incremented if a binary
- * incompatible change occurs.
- */
- protected final int fVersion;
- /**
- * The size of the collection expressed in a number of checkpoints.
- */
- protected int fSize = 0;
- /**
- * Offset in bytes where the time range is store
- */
- protected long fTimeRangeOffset;
- /**
- * The total number of events in the trace
- */
- protected long fNbEvents;
- }
-
- /**
- * The size of an int in bytes
- */
- protected static final int INT_SIZE = 4;
- /**
- * The size of a long in bytes
- */
- protected static final int LONG_SIZE = 8;
-
- /**
- * The maximum size of the serialize buffer when writing the time range
- */
- protected static final int MAX_TIME_RANGE_SERIALIZE_SIZE = 1024;
-
- /**
- * The originating trace
- */
- private ITmfPersistentlyIndexable fTrace;
-
- private long fCacheMisses = 0;
- private boolean fCreatedFromScratch;
-
- /**
- * File handle for the file being read/written
- */
- private RandomAccessFile fRandomAccessFile;
- /**
- * File handle for the file being read/written
- */
- private File fFile;
-
- /**
- * The base file header
- */
- private final CheckpointCollectionFileHeader fHeader;
-
- // Cached values
- private FileChannel fFileChannel;
- private TmfTimeRange fTimeRange;
-
- /**
- * Constructs a checkpoint collection for a given trace from scratch or from
- * an existing file. When the checkpoint collection is created from scratch,
- * it is populated by subsequent calls to {@link #insert}.
- *
- * @param file
- * the file to use as the persistent storage
- * @param trace
- * the trace
- */
- public AbstractFileCheckpointCollection(File file, ITmfPersistentlyIndexable trace) {
- fTrace = trace;
- fFile = file;
- setCreatedFromScratch(!fFile.exists());
-
- CheckpointCollectionFileHeader header = null;
-
- if (!isCreatedFromScratch()) {
- header = tryRestore();
- if (header == null) {
- fFile.delete();
- dispose();
- }
- }
-
- if (isCreatedFromScratch()) {
- header = initialize();
- }
-
- fHeader = header;
- }
-
- /**
- * Creates a new basic file header with the version field initialized. This
- * should be overridden if the file header is extended
- *
- * @return the created file header
- */
- protected CheckpointCollectionFileHeader createHeader() {
- return new CheckpointCollectionFileHeader(VERSION);
- }
-
- /**
- * Creates a new basic file header for an existing file. This should be
- * overridden if the file header is extended
- *
- * @param randomAccessFile
- * the existing file
- * @return the created file header
- * @throws IOException
- * if an I/O error occurs reading from the file
- */
- protected CheckpointCollectionFileHeader createHeader(RandomAccessFile randomAccessFile) throws IOException {
- return new CheckpointCollectionFileHeader(randomAccessFile);
- }
-
- /**
- * Get the version of the collection.
- *
- * @return the version of the collection.
- */
- protected int getVersion() {
- return VERSION;
- }
-
- /**
- * Get the sub version of the collection.
- *
- * @return the sub version of the collection.
- */
- protected int getSubVersion() {
- return SUB_VERSION_NONE;
- }
-
- private CheckpointCollectionFileHeader initialize() {
- CheckpointCollectionFileHeader header = null;
- try {
- fRandomAccessFile = new RandomAccessFile(fFile, "rw"); //$NON-NLS-1$
- fFileChannel = fRandomAccessFile.getChannel();
- header = createHeader();
-
- // Reserve space for header
- fRandomAccessFile.setLength(header.getSize());
-
- fTimeRange = new TmfTimeRange(new TmfTimestamp(0), new TmfTimestamp(0));
- } catch (IOException e) {
- Activator.logError(MessageFormat.format(Messages.ErrorOpeningIndex, fFile), e);
- return null;
- }
-
- return header;
- }
-
- /**
- * Try to restore the index from disk. Try to open the file and check the
- * version. Returns the loaded header or null if it could not be loaded.
- *
- * @return the loaded header or null if it could not be loaded.
- */
- private CheckpointCollectionFileHeader tryRestore() {
- CheckpointCollectionFileHeader header = null;
-
- try {
- fRandomAccessFile = new RandomAccessFile(fFile, "r"); //$NON-NLS-1$
- fFileChannel = fRandomAccessFile.getChannel();
- } catch (FileNotFoundException e) {
- Activator.logError(MessageFormat.format(Messages.ErrorOpeningIndex, fFile), e);
- return null;
- }
-
- try {
- header = createHeader(fRandomAccessFile);
- if (header.fVersion != VERSION || header.getSubVersion() != getSubVersion()) {
- return null;
- }
- serializeInTimeRange(header);
- } catch (IOException e) {
- Activator.logError(MessageFormat.format(Messages.IOErrorReadingHeader, fFile), e);
- return null;
- }
-
- return header;
- }
-
- private void serializeInTimeRange(CheckpointCollectionFileHeader header) throws IOException {
- ByteBuffer b = ByteBuffer.allocate(MAX_TIME_RANGE_SERIALIZE_SIZE);
- b.clear();
- fFileChannel.read(b, header.fTimeRangeOffset);
- b.flip();
- fTimeRange = new TmfTimeRange(new TmfTimestamp(b), new TmfTimestamp(b));
- }
-
- private void serializeOutTimeRange() throws IOException {
- fHeader.fTimeRangeOffset = fRandomAccessFile.length();
- ByteBuffer b = ByteBuffer.allocate(MAX_TIME_RANGE_SERIALIZE_SIZE);
- b.clear();
- new TmfTimestamp(fTimeRange.getStartTime()).serialize(b);
- new TmfTimestamp(fTimeRange.getEndTime()).serialize(b);
- b.flip();
- fFileChannel.write(b, fHeader.fTimeRangeOffset);
- }
-
- /**
- * Set the index as complete. No more checkpoints will be inserted.
- */
- @Override
- public void setIndexComplete() {
- try {
- serializeOutTimeRange();
-
- fHeader.serialize(fRandomAccessFile);
- } catch (IOException e) {
- Activator.logError(MessageFormat.format(Messages.IOErrorWritingHeader, fFile), e);
- }
- }
-
- /**
- *
- * @return true if the checkpoint collection was created from scratch, false
- * otherwise
- */
- @Override
- public boolean isCreatedFromScratch() {
- return fCreatedFromScratch;
- }
-
- /**
- * Set whether or not the collection is created from scratch
- *
- * @param isCreatedFromScratch
- * whether or not the collection is created from scratch
- */
- protected void setCreatedFromScratch(boolean isCreatedFromScratch) {
- fCreatedFromScratch = isCreatedFromScratch;
- }
-
- /**
- * @return the number of cache misses.
- */
- public long getCacheMisses() {
- return fCacheMisses;
- }
-
- /**
- * Increment the number of cache misses.
- */
- protected void incCacheMisses() {
- ++fCacheMisses;
- }
-
- /**
- * Returns the size of the checkpoint collection expressed as a number of
- * checkpoints.
- *
- * @return the size of the checkpoint collection
- */
- @Override
- public int size() {
- return fHeader.fSize;
- }
-
- /**
- * Set the trace time range
- *
- * @param timeRange
- * the trace time range
- */
- @Override
- public void setTimeRange(TmfTimeRange timeRange) {
- fTimeRange = timeRange;
- }
-
- /**
- * Get the trace time range
- *
- * @return the trace time range
- */
- @Override
- public TmfTimeRange getTimeRange() {
- return fTimeRange;
- }
-
- /**
- * Set the number of events in the trace
- *
- * @param nbEvents
- * the number of events in the trace
- */
- @Override
- public void setNbEvents(long nbEvents) {
- fHeader.fNbEvents = nbEvents;
- }
-
- /**
- * Get the number of events in the trace
- *
- * @return the number of events in the trace
- */
- @Override
- public long getNbEvents() {
- return fHeader.fNbEvents;
- }
-
- /**
- * Get the trace
- *
- * @return the trace
- */
- protected ITmfPersistentlyIndexable getTrace() {
- return fTrace;
- }
-
- /**
- * Get the random access file currently opened
- *
- * @return the file
- */
- protected RandomAccessFile getRandomAccessFile() {
- return fRandomAccessFile;
- }
-
- /**
- * Get the file channel currently used for the index
- *
- * @return the file channel
- */
- protected FileChannel getFileChannel() {
- return fRandomAccessFile.getChannel();
- }
-
- /**
- * Get the file handle for the index
- *
- * @return the file
- */
- protected File getFile() {
- return fFile;
- }
-
- /**
- * Get the header for this collection
- *
- * @return the header
- */
- public CheckpointCollectionFileHeader getHeader() {
- return fHeader;
- }/**
- * Dispose and delete the checkpoint collection
- */
- @Override
- public void delete() {
- dispose();
- if (fFile.exists()) {
- fFile.delete();
- }
- }
-
- /**
- * Dispose the collection and its resources
- */
- @Override
- public void dispose() {
- try {
- if (fRandomAccessFile != null) {
- fRandomAccessFile.close();
- }
- setCreatedFromScratch(true);
- fRandomAccessFile = null;
- } catch (IOException e) {
- Activator.logError(MessageFormat.format(Messages.IOErrorClosingIndex, fFile), e);
- }
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/internal/tmf/core/trace/indexer/BTree.java b/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/internal/tmf/core/trace/indexer/BTree.java
deleted file mode 100644
index d5d524207d..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/internal/tmf/core/trace/indexer/BTree.java
+++ /dev/null
@@ -1,383 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 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:
- * Marc-Andre Laperle - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.internal.tmf.core.trace.indexer;
-
-import java.io.File;
-import java.io.IOException;
-import java.io.RandomAccessFile;
-import java.nio.ByteBuffer;
-import java.text.MessageFormat;
-
-import org.eclipse.linuxtools.internal.tmf.core.Activator;
-import org.eclipse.linuxtools.tmf.core.trace.indexer.ITmfPersistentlyIndexable;
-import org.eclipse.linuxtools.tmf.core.trace.indexer.checkpoint.ITmfCheckpoint;
-
-/**
- * A BTree made of BTreeNodes representing a series of ITmfCheckpoints ordered
- * by time stamps. {@link BTreeNodeCache } is used to improve performance by
- * caching some nodes in memory and the other nodes are kept on disk.
- *
- * @author Marc-Andre Laperle
- */
-public class BTree extends AbstractFileCheckpointCollection {
-
- /**
- * Typical BTree file name
- */
- public static final String INDEX_FILE_NAME = "checkpoint_btree.idx"; //$NON-NLS-1$
- private static final int SUB_VERSION = 4;
- private static final boolean ALWAYS_CACHE_ROOT = true;
-
- private final int fMaxNumEntries;
- private final int fMaxNumChildren;
- private final int fMedianEntry;
-
- private BTreeHeader fBTreeHeader;
-
- // Cached values
- private int nodeSize = -1;
- private final ByteBuffer fNodeByteBuffer;
- private final BTreeNodeCache fNodeCache;
-
- private class BTreeHeader extends CheckpointCollectionFileHeader {
- private static final int SIZE = LONG_SIZE + INT_SIZE;
- private long fRoot;
- private final int fSubVersion;
-
- private BTreeHeader(int version, int subVersion) {
- super(version);
- fSubVersion = subVersion;
- }
-
- private BTreeHeader(RandomAccessFile randomAccessFile) throws IOException {
- super(randomAccessFile);
-
- fRoot = randomAccessFile.readLong();
- fSubVersion = randomAccessFile.readInt();
- }
-
- @Override
- public int getSubVersion() {
- return fSubVersion;
- }
-
- @Override
- public int getSize() {
- return SIZE + super.getSize();
- }
-
- @Override
- public void serialize(RandomAccessFile randomAccessFile) throws IOException {
- super.serialize(randomAccessFile);
-
- randomAccessFile.writeLong(fRoot);
- randomAccessFile.writeInt(fSubVersion);
- }
- }
-
- @Override
- protected CheckpointCollectionFileHeader createHeader() {
- fBTreeHeader = new BTreeHeader(getVersion(), SUB_VERSION);
- return fBTreeHeader;
- }
-
- @Override
- protected CheckpointCollectionFileHeader createHeader(RandomAccessFile randomAccessFile) throws IOException {
- fBTreeHeader = new BTreeHeader(randomAccessFile);
- return fBTreeHeader;
- }
-
- @Override
- protected int getSubVersion() {
- return SUB_VERSION;
- }
-
- /**
- * Constructs a BTree for a given trace from scratch or from an existing
- * file. The degree is used to calibrate the number of entries in each node
- * which can affect performance. When the BTree is created from scratch, it
- * is populated by subsequent calls to {@link #insert}.
- *
- * @param degree
- * the degree to use in the tree
- * @param file
- * the file to use as the persistent storage
- * @param trace
- * the trace
- */
- public BTree(int degree, File file, ITmfPersistentlyIndexable trace) {
- super(file, trace);
-
- fMaxNumEntries = 2 * degree - 1;
- fMaxNumChildren = 2 * degree;
- fMedianEntry = degree - 1;
-
- fNodeByteBuffer = ByteBuffer.allocate(getNodeSize());
- fNodeByteBuffer.clear();
- fNodeCache = new BTreeNodeCache(this);
- BTreeNode rootNode = isCreatedFromScratch() ? allocateNode() : fNodeCache.getNode(fBTreeHeader.fRoot);
- setRootNode(rootNode);
- }
-
- /**
- * Insert a checkpoint into the file-backed BTree
- *
- * @param checkpoint
- * the checkpoint to insert
- */
- @Override
- public void insert(ITmfCheckpoint checkpoint) {
- insert(checkpoint, fBTreeHeader.fRoot, null, 0);
- }
-
- private void setRootNode(BTreeNode newRootNode) {
- fBTreeHeader.fRoot = newRootNode.getOffset();
- if (ALWAYS_CACHE_ROOT) {
- fNodeCache.setRootNode(newRootNode);
- } else {
- fNodeCache.addNode(newRootNode);
- }
- }
-
- private void insert(ITmfCheckpoint checkpoint, long nodeOffset, BTreeNode pParent, int iParent) {
- BTreeNode parent = pParent;
- BTreeNode node = fNodeCache.getNode(nodeOffset);
-
- // If this node is full (last entry isn't null), split it
- if (node.getEntry(fMaxNumEntries - 1) != null) {
-
- ITmfCheckpoint median = node.getEntry(fMedianEntry);
- if (median.compareTo(checkpoint) == 0) {
- // Found it
- return;
- }
-
- // Split it.
- // Create the new node and move the larger entries over.
- BTreeNode newnode = allocateNode();
- fNodeCache.addNode(newnode);
- long newNodeOffset = newnode.getOffset();
- for (int i = 0; i < fMedianEntry; ++i) {
- newnode.setEntry(i, node.getEntry(fMedianEntry + 1 + i));
- node.setEntry(fMedianEntry + 1 + i, null);
- newnode.setChild(i, node.getChild(fMedianEntry + 1 + i));
- node.setChild(fMedianEntry + 1 + i, BTreeNode.NULL_CHILD);
- }
- newnode.setChild(fMedianEntry, node.getChild(fMaxNumEntries));
- node.setChild(fMaxNumEntries, BTreeNode.NULL_CHILD);
-
- if (parent == null) {
- parent = allocateNode();
- setRootNode(parent);
- parent.setChild(0, nodeOffset);
- } else {
- // Insert the median into the parent.
- for (int i = fMaxNumEntries - 2; i >= iParent; --i) {
- ITmfCheckpoint r = parent.getEntry(i);
- if (r != null) {
- parent.setEntry(i + 1, r);
- parent.setChild(i + 2, parent.getChild(i + 1));
- }
- }
- }
-
- fNodeCache.getNode(parent.getOffset());
-
- parent.setEntry(iParent, median);
- parent.setChild(iParent + 1, newNodeOffset);
-
- node.setEntry(fMedianEntry, null);
-
- // Set the node to the correct one to follow.
- if (checkpoint.compareTo(median) > 0) {
- node = newnode;
- }
- }
-
- // Binary search to find the insert point.
- int lower = 0;
- int upper = fMaxNumEntries - 1;
- while (lower < upper && node.getEntry(upper - 1) == null) {
- upper--;
- }
-
- while (lower < upper) {
- int middle = (lower + upper) / 2;
- ITmfCheckpoint check = node.getEntry(middle);
- if (check == null) {
- upper = middle;
- } else {
- int compare = check.compareTo(checkpoint);
- if (compare > 0) {
- upper = middle;
- } else if (compare < 0) {
- lower = middle + 1;
- } else {
- // Found it, no insert
- return;
- }
- }
- }
- final int i = lower;
- long child = node.getChild(i);
- if (child != BTreeNode.NULL_CHILD) {
- // Visit the children.
- insert(checkpoint, child, node, i);
- } else {
- // We are at the leaf, add us in.
- // First copy everything after over one.
- for (int j = fMaxNumEntries - 2; j >= i; --j) {
- ITmfCheckpoint r = node.getEntry(j);
- if (r != null) {
- node.setEntry(j + 1, r);
- }
- }
- node.setEntry(i, checkpoint);
- return;
- }
- }
-
- int getNodeSize() {
- if (nodeSize == -1) {
- nodeSize = INT_SIZE; // num entries
- nodeSize += getTrace().getCheckpointSize() * fMaxNumEntries;
- nodeSize += LONG_SIZE * fMaxNumChildren;
- }
-
- return nodeSize;
- }
-
- private BTreeNode allocateNode() {
- try {
- long offset = getRandomAccessFile().length();
- getRandomAccessFile().setLength(offset + getNodeSize());
- BTreeNode node = new BTreeNode(this, offset);
- return node;
- } catch (IOException e) {
- Activator.logError(MessageFormat.format(Messages.BTree_IOErrorAllocatingNode, getFile()), e);
- }
- return null;
- }
-
- @Override
- public long binarySearch(ITmfCheckpoint checkpoint) {
- BTreeCheckpointVisitor v = new BTreeCheckpointVisitor(checkpoint);
- accept(v);
- return v.getCheckpointRank();
- }
-
- /**
- * Accept a visitor. This visitor is used to search through the whole tree.
- *
- * @param treeVisitor
- * the visitor to accept
- */
- public void accept(IBTreeVisitor treeVisitor) {
- accept(fBTreeHeader.fRoot, treeVisitor);
- }
-
- private void accept(long nodeOffset, IBTreeVisitor visitor) {
-
- if (nodeOffset == BTreeNode.NULL_CHILD) {
- return;
- }
-
- BTreeNode node = fNodeCache.getNode(nodeOffset);
-
- // Binary search to find first entry greater or equal.
- int lower = 0;
- int upper = fMaxNumEntries - 1;
- while (lower < upper && node.getEntry(upper - 1) == null) {
- upper--;
- }
- while (lower < upper) {
- int middle = (lower + upper) / 2;
- ITmfCheckpoint middleCheckpoint = node.getEntry(middle);
- if (middleCheckpoint == null) {
- upper = middle;
- } else {
- int compare = visitor.compare(middleCheckpoint);
- if (compare == 0) {
- return;
- } else if (compare > 0) {
- upper = middle;
- } else {
- lower = middle + 1;
- }
- }
- }
-
- // Start with first record greater or equal, reuse comparison
- // results.
- int i = lower;
- for (; i < fMaxNumEntries; ++i) {
- ITmfCheckpoint record = node.getEntry(i);
- if (record == null) {
- break;
- }
-
- int compare = visitor.compare(record);
- if (compare > 0) {
- // Start point is to the left.
- accept(node.getChild(i), visitor);
- return;
- } else if (compare == 0) {
- return;
- }
- }
- accept(node.getChild(i), visitor);
- return;
- }
-
- /**
- * Set the index as complete. No more checkpoints will be inserted.
- */
- @Override
- public void setIndexComplete() {
- super.setIndexComplete();
-
- fNodeCache.serialize();
- }
-
- /**
- * Get the maximum number of entries in a node
- *
- * @return the maximum number of entries in a node
- */
- int getMaxNumEntries() {
- return fMaxNumEntries;
- }
-
- /**
- * Set the size of the BTree, expressed as a number of checkpoints
- *
- * @param size
- * the size of the BTree
- */
- public void setSize(int size) {
- fBTreeHeader.fSize = size;
- }
-
- /**
- * Get the maximum number of children in a node
- *
- * @return the maximum number of children in a node
- */
- int getMaxNumChildren() {
- return fMaxNumChildren;
- }
-
- ByteBuffer getNodeByteBuffer() {
- return fNodeByteBuffer;
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/internal/tmf/core/trace/indexer/BTreeCheckpointVisitor.java b/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/internal/tmf/core/trace/indexer/BTreeCheckpointVisitor.java
deleted file mode 100644
index 20e10e2790..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/internal/tmf/core/trace/indexer/BTreeCheckpointVisitor.java
+++ /dev/null
@@ -1,76 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 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:
- * Marc-Andre Laperle - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.internal.tmf.core.trace.indexer;
-
-import org.eclipse.linuxtools.tmf.core.trace.indexer.checkpoint.ITmfCheckpoint;
-
-/**
- * A visitor that searches for a specific checkpoint
- *
- * @author Marc-Andre Laperle
- */
-public class BTreeCheckpointVisitor implements IBTreeVisitor {
-
- private long rank = -1;
- private ITmfCheckpoint found;
- private ITmfCheckpoint search;
- private boolean exactFound = false;
-
- /**
- * Constructs the checkpoint visitor
- *
- * @param search
- * the checkpoint to search for
- */
- public BTreeCheckpointVisitor(ITmfCheckpoint search) {
- this.search = search;
- }
-
- @Override
- public int compare(ITmfCheckpoint currentCheckpoint) {
- int compareTo = currentCheckpoint.compareTo(search);
- if (compareTo <= 0 && !exactFound) {
- rank = currentCheckpoint.getCheckpointRank();
- found = currentCheckpoint;
- if (compareTo == 0) {
- exactFound = true;
- }
- }
- return compareTo;
- }
-
- /**
- * Return the found checkpoint
- *
- * @return the found checkpoint
- */
- public ITmfCheckpoint getCheckpoint() {
- return found;
- }
-
- /**
- * Returns the checkpoint rank of the searched checkpoint, if it is
- * contained in the index; otherwise, (-(insertion point) - 1).
- *
- * @return the checkpoint rank of the searched checkpoint, if it is
- * contained in the index; otherwise, (-(insertion point) - 1).
- */
- public long getCheckpointRank() {
- if (!exactFound) {
- long insertionPoint = rank + 1;
- return -insertionPoint - 1;
- }
-
- return rank;
- }
-} \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/internal/tmf/core/trace/indexer/BTreeNode.java b/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/internal/tmf/core/trace/indexer/BTreeNode.java
deleted file mode 100644
index 2a37b90b4d..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/internal/tmf/core/trace/indexer/BTreeNode.java
+++ /dev/null
@@ -1,204 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 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:
- * Marc-Andre Laperle - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.internal.tmf.core.trace.indexer;
-
-import java.io.IOException;
-import java.nio.ByteBuffer;
-import java.text.MessageFormat;
-import java.util.Arrays;
-
-import org.eclipse.linuxtools.internal.tmf.core.Activator;
-import org.eclipse.linuxtools.tmf.core.timestamp.ITmfTimestamp;
-import org.eclipse.linuxtools.tmf.core.timestamp.TmfTimestamp;
-import org.eclipse.linuxtools.tmf.core.trace.indexer.checkpoint.ITmfCheckpoint;
-import org.eclipse.linuxtools.tmf.core.trace.indexer.checkpoint.TmfCheckpoint;
-import org.eclipse.linuxtools.tmf.core.trace.location.ITmfLocation;
-
-/**
- * A node in the BTree. A node contains entries and pointers to other nodes.
- * The layout can be illustrated like this:
- *
- * |
- * ___________Node__________
- * | e | e | e | e |
- * p p p p p
- * |
- * |
- * Node ...
- *
- * Where e is an entry, p is a pointer to another node.
- *
- * A pointer on the left side of an entry points to a node containing entries
- * that are of lesser value than the entry and a pointer on the right side of
- * an entry points to a node containing entries that are of greater value
- * than the entry. In this implementation, entries are ITmfCheckpoints and
- * pointers are file offsets (long).
- *
- * @author Marc-Andre Laperle
- */
-class BTreeNode {
-
- /**
- * Integer to represent a null child
- */
- static final int NULL_CHILD = -1;
-
- private final ITmfCheckpoint fEntries[];
- private final long fChildrenFileOffsets[];
- private final long fFileOffset;
- private final BTree fTree;
-
- private int fNumEntries = 0;
- private boolean fIsDirty = false;
-
- /**
- * Construct a node for the specified tree for the specified file offset
- *
- * @param tree
- * the BTree
- * @param offset
- * the file offset
- */
- BTreeNode(BTree tree, long offset) {
- fTree = tree;
- fFileOffset = offset;
- fEntries = new ITmfCheckpoint[fTree.getMaxNumEntries()];
- fChildrenFileOffsets = new long[fTree.getMaxNumChildren()];
- Arrays.fill(fChildrenFileOffsets, NULL_CHILD);
- }
-
- /**
- * Get the file offset for this node
- *
- * @return the file offset
- */
- long getOffset() {
- return fFileOffset;
- }
-
- /**
- * Read the node data from disk
- */
- void serializeIn() {
- try {
- fTree.getRandomAccessFile().seek(fFileOffset);
-
- ByteBuffer bb;
- bb = fTree.getNodeByteBuffer();
- bb.clear();
- fTree.getRandomAccessFile().read(bb.array());
-
- for (int i = 0; i < fTree.getMaxNumChildren(); ++i) {
- fChildrenFileOffsets[i] = bb.getLong();
- }
- fNumEntries = bb.getInt();
-
- for (int i = 0; i < fNumEntries; ++i) {
-
- ITmfLocation location = fTree.getTrace().restoreLocation(bb);
- ITmfTimestamp timeStamp = new TmfTimestamp(bb);
- TmfCheckpoint c = new TmfCheckpoint(timeStamp, location, bb);
- fEntries[i] = c;
- }
-
- } catch (IOException e) {
- Activator.logError(MessageFormat.format(Messages.BTreeNode_IOErrorLoading, fFileOffset, fTree.getRandomAccessFile()), e);
- }
- }
-
- /**
- * Write the node data to disk
- */
- void serializeOut() {
- try {
- fTree.getRandomAccessFile().seek(fFileOffset);
-
- ByteBuffer bb = fTree.getNodeByteBuffer();
- bb.clear();
-
- for (int i = 0; i < fTree.getMaxNumChildren(); ++i) {
- bb.putLong(fChildrenFileOffsets[i]);
- }
- bb.putInt(fNumEntries);
-
- for (int i = 0; i < fNumEntries; ++i) {
- ITmfCheckpoint key = fEntries[i];
- key.serialize(bb);
- }
-
- fTree.getRandomAccessFile().write(bb.array());
-
- fIsDirty = false;
- } catch (IOException e) {
- Activator.logError(MessageFormat.format(Messages.BTreeNode_IOErrorWriting, fFileOffset, fTree.getRandomAccessFile()), e);
- }
- }
-
- /**
- * Get the entry at the given index
- *
- * @param index
- * the index where to get the entry
- * @return the entry at the index
- */
- ITmfCheckpoint getEntry(int index) {
- return fEntries[index];
- }
-
- long getChild(int index) {
- return fChildrenFileOffsets[index];
- }
-
- /**
- * Set the checkpoint entry at the given index
- *
- * @param index
- * the index where to set the entry
- * @param checkpoint
- * the checkpoint to set at the index
- */
- void setEntry(int index, ITmfCheckpoint checkpoint) {
- fIsDirty = true;
- // Update number of entries
- if (fEntries[index] == null && checkpoint != null) {
- ++fNumEntries;
- } else if (fEntries[index] != null && checkpoint == null) {
- fNumEntries = Math.max(0, fNumEntries - 1);
- }
-
- fEntries[index] = checkpoint;
- }
-
- /**
- * Set the child file offset at the given index
- *
- * @param index
- * the index where to set the child offset
- * @param offset
- * the child offset
- */
- void setChild(int index, long offset) {
- fIsDirty = true;
- fChildrenFileOffsets[index] = offset;
- }
-
- /**
- * Returns whether or not the node is dirty, that is, if the node has been
- * modified since it first has been loaded into memory
- *
- * @return true if the node is dirty, false otherwise
- */
- boolean isDirty() {
- return fIsDirty;
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/internal/tmf/core/trace/indexer/BTreeNodeCache.java b/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/internal/tmf/core/trace/indexer/BTreeNodeCache.java
deleted file mode 100644
index a0b8488564..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/internal/tmf/core/trace/indexer/BTreeNodeCache.java
+++ /dev/null
@@ -1,146 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 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:
- * Marc-Andre Laperle - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.internal.tmf.core.trace.indexer;
-
-import java.util.ArrayDeque;
-import java.util.Deque;
-
-/**
- * A simple LRU node cache. The BTree request a node from the cache and the
- * cache load it from disk if it's not already in memory.
- *
- * This cache could be improved considerably by allowing bigger caches.
- *
- * @author Marc-Andre Laperle
- */
-public class BTreeNodeCache {
-
- /**
- * Cache size obtained by experimentation. An improved cache could set this
- * dynamically or using a user preference.
- */
- private static final int CACHE_SIZE = 15;
-
- private final BTree fTree;
- /**
- * The root node is always kept in memory when {@link
- * BTree#ALWAYS_CACHE_ROOT} is set to true
- */
- private BTreeNode fRootNode = null;
- /**
- * The collection keeping the nodes in memory. The most recently used is
- * kept at the front of the double-ended queue and the least recently used
- * node is kept at the back.
- */
- private final Deque<BTreeNode> fCachedNodes = new ArrayDeque<>(CACHE_SIZE);
-
- private int fCcheMisses = 0;
-
- /**
- * Construct a new node cache for the given BTree
- *
- * @param tree
- * the BTree that will use the cache
- */
- BTreeNodeCache(BTree tree) {
- fTree = tree;
- }
-
- /**
- * Get the node at the offset from the cache. If the node is not found in
- * memory, it is loaded from disk.
- *
- * @param offset
- * @return
- */
- BTreeNode getNode(long offset) {
- if (fRootNode != null && fRootNode.getOffset() == offset) {
- return fRootNode;
- }
-
- for (BTreeNode nodeSearch : fCachedNodes) {
- if (nodeSearch.getOffset() == offset) {
- // This node is now the most recently used
- fCachedNodes.remove(nodeSearch);
- fCachedNodes.push(nodeSearch);
-
- return nodeSearch;
- }
- }
-
- ++fCcheMisses;
-
- BTreeNode node = new BTreeNode(fTree, offset);
- node.serializeIn();
- addNode(node);
-
- return node;
- }
-
- /**
- * Write all in-memory nodes to disk if they are dirty
- */
- void serialize() {
- if (fRootNode != null && fRootNode.isDirty()) {
- fRootNode.serializeOut();
- }
- for (BTreeNode nodeSearch : fCachedNodes) {
- if (nodeSearch.isDirty()) {
- nodeSearch.serializeOut();
- }
- }
- }
-
- /**
- * Add a node to the cache. If the cache has reached the size specified with
- * {@link #CACHE_SIZE}, the least recently used node is removed from memory.
- *
- * @param node
- * the node to add to the cache
- */
- void addNode(BTreeNode node) {
- if (fCachedNodes.size() >= CACHE_SIZE) {
- BTreeNode removed = fCachedNodes.removeLast();
- if (removed.isDirty()) {
- removed.serializeOut();
- }
- }
- fCachedNodes.push(node);
- }
-
- /**
- * Set the root node. See {@link #fRootNode}
- *
- * @param newRootNode
- * the new root node
- */
- void setRootNode(BTreeNode newRootNode) {
- BTreeNode oldRootNode = fRootNode;
- fRootNode = newRootNode;
- if (oldRootNode != null) {
- addNode(oldRootNode);
- }
- return;
- }
-
- /**
- * Useful for benchmarks. Get the number of cache misses for the whole BTree
- * instance lifetime. Cache misses occur when a node is requested and it's
- * not in memory therefore it has to be read from disk.
- *
- * @return the number of cache misses.
- */
- int getCacheMisses() {
- return fCcheMisses;
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/internal/tmf/core/trace/indexer/FlatArray.java b/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/internal/tmf/core/trace/indexer/FlatArray.java
deleted file mode 100644
index de9d906888..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/internal/tmf/core/trace/indexer/FlatArray.java
+++ /dev/null
@@ -1,142 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 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:
- * Marc-Andre Laperle - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.internal.tmf.core.trace.indexer;
-
-import java.io.File;
-import java.io.IOException;
-import java.nio.ByteBuffer;
-import java.text.MessageFormat;
-
-import org.eclipse.linuxtools.internal.tmf.core.Activator;
-import org.eclipse.linuxtools.tmf.core.timestamp.ITmfTimestamp;
-import org.eclipse.linuxtools.tmf.core.timestamp.TmfTimestamp;
-import org.eclipse.linuxtools.tmf.core.trace.indexer.ITmfPersistentlyIndexable;
-import org.eclipse.linuxtools.tmf.core.trace.indexer.checkpoint.ITmfCheckpoint;
-import org.eclipse.linuxtools.tmf.core.trace.indexer.checkpoint.TmfCheckpoint;
-import org.eclipse.linuxtools.tmf.core.trace.location.ITmfLocation;
-
-/**
- * An array of checkpoints stored on disk. It is very efficient for searching
- * checkpoints by rank (O(1))
- *
- * @author Marc-Andre Laperle
- */
-public class FlatArray extends AbstractFileCheckpointCollection {
- /**
- * Typical FlatArray file name
- */
- public static final String INDEX_FILE_NAME = "checkpoint_flatarray.idx"; //$NON-NLS-1$
-
- // Cached values
- private int fCheckpointSize = 0;
- private ByteBuffer fByteBuffer;
-
- /**
- * Constructs a FlatArray for a given trace from scratch or from an existing
- * file. When the FlatArray is created from scratch, it is populated by
- * subsequent calls to {@link #insert}.
- *
- * @param file
- * the file to use as the persistent storage
- * @param trace
- * the trace
- */
- public FlatArray(File file, ITmfPersistentlyIndexable trace) {
- super(file, trace);
-
- fCheckpointSize = getTrace().getCheckpointSize();
- fByteBuffer = ByteBuffer.allocate(fCheckpointSize);
- fByteBuffer.clear();
- }
-
- /**
- * Insert a checkpoint into the file-backed array
- *
- * @param checkpoint
- * the checkpoint to insert
- */
- @Override
- public void insert(ITmfCheckpoint checkpoint) {
- try {
- CheckpointCollectionFileHeader header = getHeader();
- ++header.fSize;
- getRandomAccessFile().seek(getRandomAccessFile().length());
- fByteBuffer.clear();
- checkpoint.serialize(fByteBuffer);
- getRandomAccessFile().write(fByteBuffer.array());
- } catch (IOException e) {
- Activator.logError(MessageFormat.format(Messages.FlatArray_IOErrorWriting, getFile()), e);
- }
- }
-
- /**
- * Get a checkpoint from a rank
- *
- * @param rank
- * the rank to search
- * @return the checkpoint that has been found or null if not found
- */
- public ITmfCheckpoint get(long rank) {
- ITmfCheckpoint checkpoint = null;
- try {
- long pos = getHeader().getSize() + fCheckpointSize * rank;
- getRandomAccessFile().seek(pos);
- fByteBuffer.clear();
- getRandomAccessFile().read(fByteBuffer.array());
- ITmfLocation location = getTrace().restoreLocation(fByteBuffer);
- ITmfTimestamp timeStamp = new TmfTimestamp(fByteBuffer);
- checkpoint = new TmfCheckpoint(timeStamp, location, fByteBuffer);
- } catch (IOException e) {
- Activator.logError(MessageFormat.format(Messages.FlatArray_IOErrorReading, getFile()), e);
- }
- return checkpoint;
- }
-
- /**
- * Search for a checkpoint and return the rank.
- *
- * @param checkpoint
- * the checkpoint to search
- * @return the checkpoint rank of the searched checkpoint, if it is
- * contained in the index; otherwise, (-(insertion point) - 1).
- */
- @Override
- public long binarySearch(ITmfCheckpoint checkpoint) {
- if (getHeader().fSize == 1) {
- return 0;
- }
-
- long lower = 0;
- long upper = getHeader().fSize - 1;
- long lastMiddle = -1;
- long middle = 0;
- while (lower <= upper && lastMiddle != middle) {
- lastMiddle = middle;
- middle = (lower + upper) / 2;
- ITmfCheckpoint found = get(middle);
- incCacheMisses();
- int compare = checkpoint.compareTo(found);
- if (compare == 0) {
- return middle;
- }
-
- if (compare < 0) {
- upper = middle;
- } else {
- lower = middle + 1;
- }
- }
- long insertionPoint = lower;
- return -(insertionPoint) - 1;
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/internal/tmf/core/trace/indexer/IBTreeVisitor.java b/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/internal/tmf/core/trace/indexer/IBTreeVisitor.java
deleted file mode 100644
index 4f4e560dca..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/internal/tmf/core/trace/indexer/IBTreeVisitor.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 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:
- * Marc-Andre Laperle - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.internal.tmf.core.trace.indexer;
-
-import org.eclipse.linuxtools.tmf.core.trace.indexer.checkpoint.ITmfCheckpoint;
-
-/**
- * A BTree visitor goes through the tree using a comparator for
- * optimal searches.
- *
- * @author Marc-Andre Laperle
- */
-public interface IBTreeVisitor {
-
- /**
- * The current checkpoint being compared against an internally held key.
- *
- * @param checkpoint
- * the current checkpoint
- * @return -1 if checkpoint < key, 0 if checkpoint == key, 1 if checkpoint >
- * key
- */
- int compare(ITmfCheckpoint checkpoint);
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/internal/tmf/core/trace/indexer/ICheckpointCollection.java b/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/internal/tmf/core/trace/indexer/ICheckpointCollection.java
deleted file mode 100644
index ea75482e7b..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/internal/tmf/core/trace/indexer/ICheckpointCollection.java
+++ /dev/null
@@ -1,99 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 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:
- * Marc-Andre Laperle - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.internal.tmf.core.trace.indexer;
-
-import org.eclipse.linuxtools.tmf.core.timestamp.TmfTimeRange;
-import org.eclipse.linuxtools.tmf.core.trace.indexer.checkpoint.ITmfCheckpoint;
-
-/**
- * A common interface for collections containing checkpoints
- *
- * @author Marc-Andre Laperle
- */
-public interface ICheckpointCollection {
-
- /**
- * Insert a checkpoint into the collection
- *
- * @param checkpoint
- * the checkpoint to insert
- */
- void insert(ITmfCheckpoint checkpoint);
-
- /**
- * Search for a checkpoint and return the rank.
- *
- * @param checkpoint
- * the checkpoint to search
- * @return the checkpoint rank of the searched checkpoint, if it is
- * contained in the index; otherwise, (-(insertion point) - 1).
- */
- long binarySearch(ITmfCheckpoint checkpoint);
-
- /**
- * @return true if the collection was created from scratch, false otherwise
- */
- boolean isCreatedFromScratch();
-
- /**
- * Returns the size of the collection expressed as a number of checkpoints.
- *
- * @return the size of the collection
- */
- int size();
-
- /**
- * Set the trace time range
- *
- * @param timeRange
- * the trace time range
- */
- void setTimeRange(TmfTimeRange timeRange);
-
- /**
- * Get the trace time range
- *
- * @return the trace time range
- */
- TmfTimeRange getTimeRange();
-
- /**
- * Set the number of events in the trace
- *
- * @param nbEvents
- * the number of events in the trace
- */
- void setNbEvents(long nbEvents);
-
- /**
- * Get the number of events in the trace
- *
- * @return the number of events in the trace
- */
- long getNbEvents();
-
- /**
- * Set the index as complete. No more checkpoints will be inserted.
- */
- void setIndexComplete();
-
- /**
- * Dispose the collection and delete persistent data (file)
- */
- void delete();
-
- /**
- * Dispose the structure and its resources
- */
- void dispose();
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/internal/tmf/core/trace/indexer/Messages.java b/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/internal/tmf/core/trace/indexer/Messages.java
deleted file mode 100644
index f7c8631050..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/internal/tmf/core/trace/indexer/Messages.java
+++ /dev/null
@@ -1,67 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 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:
- * Marc-Andre Laperle - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.internal.tmf.core.trace.indexer;
-
-import org.eclipse.osgi.util.NLS;
-
-/**
- * Message bundle for tmf.core.trace.index
- *
- * @author Marc-Andre Laperle
- */
-public class Messages extends NLS {
- private static final String BUNDLE_NAME = "org.eclipse.linuxtools.internal.tmf.core.trace.indexer.messages"; //$NON-NLS-1$
- /**
- * Error opening index
- */
- public static String ErrorOpeningIndex;
- /**
- * I/O Error allocating a node
- */
- public static String BTree_IOErrorAllocatingNode;
- /**
- * I/O Error closing the index
- */
- public static String IOErrorClosingIndex;
- /**
- * I/O Error reading header from disk
- */
- public static String IOErrorReadingHeader;
- /**
- * I/O Error writing header from disk
- */
- public static String IOErrorWritingHeader;
- /**
- * I/O Error reading node from disk
- */
- public static String BTreeNode_IOErrorLoading;
- /**
- * I/O Error writing node to disk
- */
- public static String BTreeNode_IOErrorWriting;
- /**
- * I/O Error reading from disk
- */
- public static String FlatArray_IOErrorReading;
- /**
- * I/O Error writing to disk
- */
- public static String FlatArray_IOErrorWriting;
- static {
- // initialize resource bundle
- NLS.initializeMessages(BUNDLE_NAME, Messages.class);
- }
-
- private Messages() {
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/internal/tmf/core/trace/indexer/TmfMemoryIndex.java b/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/internal/tmf/core/trace/indexer/TmfMemoryIndex.java
deleted file mode 100644
index 62ad4ff762..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/internal/tmf/core/trace/indexer/TmfMemoryIndex.java
+++ /dev/null
@@ -1,103 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 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:
- * Marc-Andre Laperle - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.internal.tmf.core.trace.indexer;
-
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.List;
-
-import org.eclipse.linuxtools.tmf.core.timestamp.TmfTimeRange;
-import org.eclipse.linuxtools.tmf.core.trace.ITmfTrace;
-import org.eclipse.linuxtools.tmf.core.trace.indexer.checkpoint.ITmfCheckpoint;
-import org.eclipse.linuxtools.tmf.core.trace.indexer.checkpoint.ITmfCheckpointIndex;
-
-/**
- * A checkpoint index that store all checkpoints in memory.
- *
- * @since 3.0
- * @author Marc-Andre Laperle
- */
-public class TmfMemoryIndex implements ITmfCheckpointIndex, ICheckpointCollection {
-
- private final List<ITmfCheckpoint> fCheckpoints;
-
- /**
- * Creates an index for the given trace
- *
- * @param trace the trace
- */
- public TmfMemoryIndex(ITmfTrace trace) {
- fCheckpoints = new ArrayList<>();
- }
-
- @Override
- public void dispose() {
- fCheckpoints.clear();
- }
-
- @Override
- public void insert(ITmfCheckpoint checkpoint) {
- fCheckpoints.add(checkpoint);
- }
-
- @Override
- public ITmfCheckpoint get(long checkpoint) {
- return fCheckpoints.get((int)checkpoint);
- }
-
- @Override
- public long binarySearch(ITmfCheckpoint checkpoint) {
- return Collections.binarySearch(fCheckpoints, checkpoint);
- }
-
- @Override
- public boolean isEmpty() {
- return fCheckpoints.isEmpty();
- }
-
- @Override
- public int size() {
- return fCheckpoints.size();
- }
-
- @Override
- public boolean isCreatedFromScratch() {
- return true;
- }
-
- @Override
- public void setTimeRange(TmfTimeRange timeRange) {
- }
-
- @Override
- public void setNbEvents(long nbEvents) {
- }
-
- @Override
- public TmfTimeRange getTimeRange() {
- return null;
- }
-
- @Override
- public long getNbEvents() {
- return 0;
- }
-
- @Override
- public void setIndexComplete() {
- }
-
- @Override
- public void delete() {
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/internal/tmf/core/trace/indexer/messages.properties b/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/internal/tmf/core/trace/indexer/messages.properties
deleted file mode 100644
index 6528587289..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/internal/tmf/core/trace/indexer/messages.properties
+++ /dev/null
@@ -1,21 +0,0 @@
-###############################################################################
-# Copyright (c) 2013 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:
-# Ericsson - Initial API and implementation
-###############################################################################
-
-ErrorOpeningIndex=Error opening index. File: {0}
-BTree_IOErrorAllocatingNode=I/O error allocating index node. File: {0}
-IOErrorClosingIndex=Error closing index. File: {0}
-IOErrorReadingHeader=Error reading index header. File: {0}
-IOErrorWritingHeader=Error writing index header. File: {0}
-BTreeNode_IOErrorLoading=I/O error loading index node. Offset: {0} file: {1}
-BTreeNode_IOErrorWriting=I/O error writing index node. Offset: {0} file: {1}
-FlatArray_IOErrorReading=I/O error reading index checkpoint. File: {0}
-FlatArray_IOErrorWriting=I/O error writing index checkpoint. File: {0}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/Messages.java b/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/Messages.java
deleted file mode 100644
index 4474752cfc..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/Messages.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 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:
- * Marc-Andre Laperle - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.core;
-
-import org.eclipse.osgi.util.NLS;
-
-/**
- * Message strings for TMF model handling.
- *
- * @author Marc-Andre Laperle
- * @since 2.2
- */
-public class Messages extends NLS {
-
- private static final String BUNDLE_NAME = "org.eclipse.linuxtools.tmf.core.messages"; //$NON-NLS-1$
-
- /**
- * The name of the default project
- */
- public static String DefaultTraceProjectName;
-
- static {
- // initialize resource bundle
- NLS.initializeMessages(BUNDLE_NAME, Messages.class);
- }
-
- private Messages() {
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/TmfCommonConstants.java b/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/TmfCommonConstants.java
deleted file mode 100644
index 2d90110e01..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/TmfCommonConstants.java
+++ /dev/null
@@ -1,59 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011, 2014 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:
- * Bernd Hufmann - Initial API and implementation
- * Patrick Tasse - Add support for source location
- *******************************************************************************/
-package org.eclipse.linuxtools.tmf.core;
-
-import org.eclipse.core.runtime.QualifiedName;
-
-/**
- * This class provides a common container for TMF constants.
- *
- * @version 1.0
- * @author Bernd Hufmann
- */
-public class TmfCommonConstants {
-
- // ------------------------------------------------------------------------
- // Constants
- // ------------------------------------------------------------------------
-
- /**
- * The trace type ID persistent property of a trace resource.
- */
- public static final QualifiedName TRACETYPE = new QualifiedName("org.eclipse.linuxtools.tmf", "tracetype.id"); //$NON-NLS-1$//$NON-NLS-2$
-
- /**
- * The source location persistent property of a trace resource.
- * @since 3.0
- */
- public static final QualifiedName SOURCE_LOCATION = new QualifiedName("org.eclipse.linuxtools.tmf", "source.location"); //$NON-NLS-1$//$NON-NLS-2$
-
- /**
- * The supplementary folder name persistent property of a trace resource.
- */
- public static final QualifiedName TRACE_SUPPLEMENTARY_FOLDER = new QualifiedName("org.eclipse.linuxtools.tmf", "trace.suppl.folder"); //$NON-NLS-1$//$NON-NLS-2$
-
- /**
- * The name of the parent folder for storing trace specific supplementary data. Each trace will have a sub-directory underneath with folder name equal to the trace name.
- * @since 3.0
- */
- public static final String TRACE_SUPPLEMENTARY_FOLDER_NAME = ".tracing"; //$NON-NLS-1$
-
- /**
- * The name of the default project that can be created under various
- * conditions when there is no tracing project in the workspace.
- *
- * @since 2.2
- */
- public static final String DEFAULT_TRACE_PROJECT_NAME = Messages.DefaultTraceProjectName;
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/TmfProjectNature.java b/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/TmfProjectNature.java
deleted file mode 100644
index c100335eb0..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/TmfProjectNature.java
+++ /dev/null
@@ -1,64 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009, 2013 Ericsson
- *
- * All rights reserved. This program and the accompanying materials are
- * made available under the terms of the Eclipse Public License v1.0 which
- * accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Francois Chouinard - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.core;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IProjectNature;
-import org.eclipse.core.runtime.CoreException;
-
-/**
- * The TMF basic tracing project nature.
- *
- * @version 1.0
- * @author Francois Chouinard
- */
-public class TmfProjectNature implements IProjectNature {
-
- // ------------------------------------------------------------------------
- // Constants
- // ------------------------------------------------------------------------
-
- /**
- * The nature ID
- */
- public static final String ID = "org.eclipse.linuxtools.tmf.project.nature"; //$NON-NLS-1$
-
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
-
- private IProject fProject;
-
- // ------------------------------------------------------------------------
- // Operations
- // ------------------------------------------------------------------------
-
- @Override
- public void configure() throws CoreException {
- }
-
- @Override
- public void deconfigure() throws CoreException {
- }
-
- @Override
- public IProject getProject() {
- return fProject;
- }
-
- @Override
- public void setProject(IProject project) {
- fProject = project;
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/analysis/IAnalysisModule.java b/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/analysis/IAnalysisModule.java
deleted file mode 100644
index 3e30dc9f71..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/analysis/IAnalysisModule.java
+++ /dev/null
@@ -1,249 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013, 2014 École Polytechnique de Montréal
- *
- * 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:
- * Geneviève Bastien - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.core.analysis;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.jdt.annotation.NonNull;
-import org.eclipse.linuxtools.tmf.core.component.ITmfComponent;
-import org.eclipse.linuxtools.tmf.core.exceptions.TmfAnalysisException;
-import org.eclipse.linuxtools.tmf.core.trace.ITmfTrace;
-
-/**
- * Interface that hooks analysis modules to the rest of TMF. Analysis modules
- * are a set of operations to be run on a trace (or experiment). They will
- * typically either provide outputs to the end user, or feed other analysis.
- *
- * An analysis module must tell what trace type it applies to and if it can be
- * executed on a given trace of the right type.
- *
- * Implementations of this interface must define how an analysis will be
- * executed once scheduled and provide help texts to describe how to use the
- * analysis.
- *
- * Analysis can also take parameters, manually set, through default values or
- * using an {@link IAnalysisParameterProvider}. {@link IAnalysisOutput} can also
- * be registered to an analysis modules to display the results of the analysis.
- *
- * This interface just allows to hook the analysis to the TMF framework, but the
- * developer is free to implement the internals of its operations the way he
- * wishes.
- *
- * @author Geneviève Bastien
- * @since 3.0
- */
-public interface IAnalysisModule extends ITmfComponent, IAnalysisRequirementProvider, AutoCloseable {
-
- // --------------------------------------------------------
- // Getters and setters
- // --------------------------------------------------------
-
- /**
- * Sets the name of the analysis module
- *
- * @param name
- * name of the module
- */
- void setName(String name);
-
- /**
- * Sets the id of the module
- *
- * @param id
- * id of the module
- */
- void setId(String id);
-
- /**
- * Gets the id of the analysis module
- *
- * @return The id of the module
- */
- @NonNull
- String getId();
-
- /**
- * Sets whether this analysis should be run automatically at trace opening
- *
- * @param auto
- * True if analysis should be run automatically for a trace
- */
- void setAutomatic(boolean auto);
-
- /**
- * Gets whether the analysis should be run automatically at trace opening
- *
- * @return true if analysis is to be run automatically
- */
- boolean isAutomatic();
-
- /**
- * Sets the trace on which to run the analysis
- *
- * Note: The trace cannot be final since most modules are instantiated in a
- * way that does not know about the trace, but it shouldn't be set more than
- * once since an instance of a module belongs to a trace. It is up to each
- * implementation to make sure the trace is set only once.
- *
- * @param trace
- * The trace to run the analysis on
- * @throws TmfAnalysisException
- */
- void setTrace(ITmfTrace trace) throws TmfAnalysisException;
-
- /**
- * Add a parameter to this module
- *
- * @param name
- * Name of the parameter
- */
- void addParameter(String name);
-
- /**
- * Sets the value of a parameter
- *
- * @param name
- * The name of the parameter
- * @param value
- * The value (subclasses may type-check it)
- * @throws RuntimeException
- */
- void setParameter(String name, Object value);
-
- /**
- * Gets the value of a parameter
- *
- * @param name
- * Name of the parameter
- * @return The value of a parameter
- */
- Object getParameter(String name);
-
- // -----------------------------------------------------
- // Functionalities
- // -----------------------------------------------------
-
- /**
- * Can an analysis be executed on a given trace (otherwise, it is shown
- * grayed out and a help message is available to see why it is not
- * applicable)
- *
- * @param trace
- * The trace to analyze
- * @return Whether the analysis can be executed
- */
- boolean canExecute(@NonNull ITmfTrace trace);
-
- /**
- * Schedule the execution of the analysis. If the trace has been set and is
- * opened, the analysis will be executed right away, otherwise it should
- * scheduled for execution once all pre-conditions are satisfied.
- *
- * @return An IStatus indicating if the execution of the analysis could be
- * scheduled successfully or not.
- */
- IStatus schedule();
-
- /**
- * Gets a list of outputs
- *
- * @return The list of {@link IAnalysisOutput}
- */
- Iterable<IAnalysisOutput> getOutputs();
-
- /**
- * Registers an output for this analysis
- *
- * @param output
- * The {@link IAnalysisOutput} object
- */
- void registerOutput(IAnalysisOutput output);
-
- /**
- * Block the calling thread until this analysis has completed (or has been
- * cancelled).
- *
- * @return True if the analysis finished successfully, false if it was
- * cancelled.
- */
- boolean waitForCompletion();
-
- /**
- * Typically the output of an analysis will be available only after it is
- * completed. This method allows to wait until an analysis has been
- * completed or the analysis has been cancelled
- *
- * To avoid UI freezes, it should not be called from the main thread of the
- * application
- *
- * @param monitor
- * The progress monitor to check for cancellation
- * @return If the analysis was successfully completed. If false is returned,
- * this either means there was a problem during the analysis, or it
- * got cancelled before it could finished or it has not been
- * scheduled to run at all. In all cases, the quality or
- * availability of the output(s) and results is not guaranteed.
- */
- boolean waitForCompletion(IProgressMonitor monitor);
-
- /**
- * Cancels the current analysis
- */
- void cancel();
-
- // -----------------------------------------------------
- // Utilities
- // -----------------------------------------------------
-
- /**
- * Gets a generic help message/documentation for this analysis module
- *
- * This help text will be displayed to the user and may contain information
- * on what the module does, how to use it and how to correctly generate the
- * trace to make it available
- *
- * TODO: Help texts could be quite long. They should reside in their own
- * file and be accessed either with text, for a command line man page, or
- * through the eclipse help context.
- *
- * @return The generic help text
- */
- String getHelpText();
-
- /**
- * Gets a help text specific for a given trace
- *
- * For instance, it may explain why the analysis module cannot be executed
- * on a trace and how to correct this
- *
- * @param trace
- * The trace to analyze
- * @return A help text with information on a specific trace
- */
- String getHelpText(ITmfTrace trace);
-
- /**
- * Notify the module that the value of a parameter has changed
- *
- * @param name
- * The of the parameter that changed
- */
- void notifyParameterChanged(String name);
-
- // -----------------------------------------------------
- // AutoCloseable (remove the thrown exception)
- // -----------------------------------------------------
-
- @Override
- void close();
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/analysis/IAnalysisModuleHelper.java b/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/analysis/IAnalysisModuleHelper.java
deleted file mode 100644
index 4469e9798f..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/analysis/IAnalysisModuleHelper.java
+++ /dev/null
@@ -1,138 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013, 2014 École Polytechnique de Montréal
- *
- * 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:
- * Geneviève Bastien - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.core.analysis;
-
-import org.eclipse.jdt.annotation.NonNull;
-import org.eclipse.linuxtools.tmf.core.exceptions.TmfAnalysisException;
-import org.eclipse.linuxtools.tmf.core.trace.ITmfTrace;
-import org.osgi.framework.Bundle;
-
-/**
- * Interface for modules helpers that provide basic module information and
- * creates module from a source when requested.
- *
- * @author Geneviève Bastien
- * @since 3.0
- */
-public interface IAnalysisModuleHelper extends IAnalysisRequirementProvider {
-
- // ------------------------------------
- // Getters
- // ------------------------------------
-
- /**
- * Gets the id of the analysis module
- *
- * @return The id of the module
- */
- String getId();
-
- /**
- * Gets the name of the analysis module
- *
- * @return The id of the module
- */
- String getName();
-
- /**
- * Gets whether the analysis should be run automatically at trace opening
- *
- * @return true if analysis is to be run automatically
- */
- boolean isAutomatic();
-
- /**
- * Gets a generic help message/documentation for this analysis module
- *
- * This help text will be displayed to the user and may contain information
- * on what the module does, how to use it and how to correctly generate the
- * trace to make it available
- *
- * TODO: Help texts could be quite long. They should reside in their own
- * file and be accessed either with text, for a command line man page, or
- * through the eclipse help context. There should be a custom way to make it
- * available through the helper, without instantiating the analysis, though
- * help text after analysis instantiation may be richer.
- *
- * @return The generic help text
- */
- String getHelpText();
-
- /**
- * Gets a specific help message/documentation for this analysis module
- * applied on the given trace. This help message can add information on the
- * status of this analysis for a given trace, whether it can be executed or
- * not and why.
- *
- * This help text will be displayed to the user and may contain information
- * on what the module does, how to use it and how to correctly generate the
- * trace to make it available
- *
- * @param trace
- * A trace for which to get specific help message
- * @return The generic help text
- */
- String getHelpText(@NonNull ITmfTrace trace);
-
- /**
- * Gets the icon for this module
- *
- * @return The icon path
- */
- String getIcon();
-
- /**
- * Gets the bundle this analysis module is part of
- *
- * @return The bundle
- */
- Bundle getBundle();
-
- /**
- * Does an analysis apply to a given trace type (otherwise, it is not shown)
- *
- * @param traceclass
- * The trace to analyze
- * @return whether the analysis applies
- */
- boolean appliesToTraceType(Class<? extends ITmfTrace> traceclass);
-
- /**
- * Gets the list of valid trace types that the analysis can operate on.
- *
- * @return List of the trace type
- */
- Iterable<Class<? extends ITmfTrace>> getValidTraceTypes();
-
- // ---------------------------------------
- // Functionalities
- // ---------------------------------------
-
- /**
- * Creates a new instance of the {@link IAnalysisModule} represented by this
- * helper and initializes it with the trace.
- *
- * After the module is fully created, this method should call
- * {@link TmfAnalysisManager#analysisModuleCreated(IAnalysisModule)} in
- * order for the new module listeners to be executed on this module.
- *
- * @param trace
- * The trace to be linked to the module
- * @return A new {@link IAnalysisModule} instance initialized with the
- * trace.
- * @throws TmfAnalysisException
- * Exceptions that occurred when setting trace
- */
- IAnalysisModule newModule(ITmfTrace trace) throws TmfAnalysisException;
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/analysis/IAnalysisModuleSource.java b/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/analysis/IAnalysisModuleSource.java
deleted file mode 100644
index c5720ee1e6..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/analysis/IAnalysisModuleSource.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013, 2014 École Polytechnique de Montréal
- *
- * 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:
- * Geneviève Bastien - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.core.analysis;
-
-
-/**
- * Interface that module sources must implement. A module source provides a list
- * of analysis modules. For example, one module source would be the plugin's
- * configuration element through the analysis extension point.
- *
- * Typically, for each module source, there would be an
- * {@link IAnalysisModuleHelper} implementation to create modules from this
- * source.
- *
- * @author Geneviève Bastien
- * @since 3.0
- */
-public interface IAnalysisModuleSource {
-
- /**
- * Get the list of modules helpers provided by this source
- *
- * @return The analysis module helpers in iterable format
- */
- Iterable<IAnalysisModuleHelper> getAnalysisModules();
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/analysis/IAnalysisOutput.java b/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/analysis/IAnalysisOutput.java
deleted file mode 100644
index 5c072947dc..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/analysis/IAnalysisOutput.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 École Polytechnique de Montréal
- *
- * 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:
- * Geneviève Bastien - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.core.analysis;
-
-import org.eclipse.jdt.annotation.NonNull;
-
-/**
- * Interface for all output types of analysis
- *
- * @author Geneviève Bastien
- * @since 3.0
- */
-public interface IAnalysisOutput {
-
- /**
- * Gets the name of the output
- *
- * @return Name of the output
- */
- String getName();
-
- /**
- * Requests the output for an analysis module. This function does not
- * necessarily output the analysis, it just specifies that the user wants
- * this output.
- */
- void requestOutput();
-
- /**
- * Sets an arbitrary property on the output. The key must not be null, a
- * <code>null</code> value removes the property.
- *
- * @param key
- * The arbitrary property. Must not be null.
- * @param value
- * The value of the property.
- * @param immediate
- * If <code>true</code>, the property will be applied immediately
- * if the output is active. Otherwise, it is only applied when the
- * output is explicitly requested by the user.
- */
- void setOutputProperty(@NonNull String key, String value, boolean immediate);
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/analysis/IAnalysisParameterProvider.java b/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/analysis/IAnalysisParameterProvider.java
deleted file mode 100644
index 2689f203a7..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/analysis/IAnalysisParameterProvider.java
+++ /dev/null
@@ -1,68 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 École Polytechnique de Montréal
- *
- * 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:
- * Geneviève Bastien - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.core.analysis;
-
-import org.eclipse.linuxtools.tmf.core.trace.ITmfTrace;
-
-/**
- * Interface for classes that can provide parameters to analysis when they are
- * not set manually
- *
- * @author Geneviève Bastien
- * @since 3.0
- */
-public interface IAnalysisParameterProvider {
-
- // --------------------------------------------------------
- // Getters and setters
- // --------------------------------------------------------
-
- /**
- * Gets the name of the parameter provider
- *
- * @return Name of the parameter provider
- */
- String getName();
-
- /**
- * Gets the value of a parameter
- *
- * @param name
- * Name of the parameter
- * @return The value of a parameter
- */
- Object getParameter(String name);
-
- // --------------------------------------------------------
- // Functionalities
- // --------------------------------------------------------
-
- /**
- * Does this parameter provider apply to a given trace
- *
- * @param trace
- * The trace to analyse
- * @return whether the parameter provider applies
- */
- boolean appliesToTrace(ITmfTrace trace);
-
- /**
- * Register an analysis module to be notified when a parameter value is
- * changed
- *
- * @param module
- * The listening analysis module
- */
- void registerModule(IAnalysisModule module);
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/analysis/IAnalysisRequirementProvider.java b/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/analysis/IAnalysisRequirementProvider.java
deleted file mode 100644
index f1744baa18..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/analysis/IAnalysisRequirementProvider.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 École Polytechnique de Montréal
- *
- * 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:
- * Guilliano Molaire - Initial API and implementation
- * Mathieu Rail - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.core.analysis;
-
-/**
- * Interface that provides the necessary methods for an analysis to define its
- * requirements.
- *
- * @author Guilliano Molaire
- * @author Mathieu Rail
- * @since 3.0
- */
-public interface IAnalysisRequirementProvider {
-
- /**
- * Gets the requirements associated with this analysis.
- *
- * @return List of requirement
- */
- Iterable<TmfAnalysisRequirement> getAnalysisRequirements();
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/analysis/ITmfNewAnalysisModuleListener.java b/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/analysis/ITmfNewAnalysisModuleListener.java
deleted file mode 100644
index 8ec84ae9f3..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/analysis/ITmfNewAnalysisModuleListener.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 École Polytechnique de Montréal
- *
- * 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:
- * Geneviève Bastien - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.core.analysis;
-
-/**
- * This is the interface class must implement to listen to new analysis module
- * objects being instantiated.
- *
- * @author Geneviève Bastien
- * @since 3.0
- */
-public interface ITmfNewAnalysisModuleListener {
-
- /**
- * Method called when an analysis module has just been instantiated.
- *
- * @param module
- * The newly instantiated analysis module
- */
- public void moduleCreated(IAnalysisModule module);
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/analysis/Messages.java b/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/analysis/Messages.java
deleted file mode 100644
index 3919bf3270..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/analysis/Messages.java
+++ /dev/null
@@ -1,70 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 École Polytechnique de Montréal
- * 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:
- * Geneviève Bastien - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.core.analysis;
-
-import org.eclipse.osgi.util.NLS;
-
-/**
- * Message bundle for org.eclipse.linuxtools.tmf.core.analysis
- *
- * @author Geneviève Bastien
- * @since 3.0
- */
-public class Messages extends NLS {
- private static final String BUNDLE_NAME = "org.eclipse.linuxtools.tmf.core.analysis.messages"; //$NON-NLS-1$
-
- /** Trace was set more than once for this module */
- public static String TmfAbstractAnalysisModule_TraceSetMoreThanOnce;
-
- /** Analysis Module cannot execute on trace */
- public static String TmfAbstractAnalysisModule_AnalysisCannotExecute;
-
- /** Analysis Module does not apply to trace */
- public static String TmfAnalysisModuleHelper_AnalysisDoesNotApply;
-
- /** Analysis Module for trace */
- public static String TmfAbstractAnalysisModule_AnalysisForTrace;
-
- /** Analysis Module presentation */
- public static String TmfAbstractAnalysisModule_AnalysisModule;
-
- /** Parameter is invalid */
- public static String TmfAbstractAnalysisModule_InvalidParameter;
-
- /** The trace to set was null */
- public static String TmfAbstractAnalysisModule_NullTrace;
-
- /** Additional information on a requirement */
- public static String TmfAnalysis_RequirementInformation;
-
- /** Mandatory values of a requirement */
- public static String TmfAnalysis_RequirementMandatoryValues;
-
- /** A requirement is not fulfilled */
- public static String TmfAnalysis_RequirementNotFulfilled;
-
- /** Running analysis */
- public static String TmfAbstractAnalysisModule_RunningAnalysis;
-
- /** Error instantiating parameter provider */
- public static String TmfAnalysisManager_ErrorParameterProvider;
-
- /** Impossible to instantiate module from helper */
- public static String TmfAnalysisModuleHelper_ImpossibleToCreateModule;
- static {
- // initialize resource bundle
- NLS.initializeMessages(BUNDLE_NAME, Messages.class);
- }
-
- private Messages() {
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/analysis/TmfAbstractAnalysisModule.java b/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/analysis/TmfAbstractAnalysisModule.java
deleted file mode 100644
index eace7cf1ff..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/analysis/TmfAbstractAnalysisModule.java
+++ /dev/null
@@ -1,478 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013, 2014 École Polytechnique de Montréal
- *
- * 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:
- * Geneviève Bastien - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.core.analysis;
-
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-import java.util.concurrent.CountDownLatch;
-import java.util.concurrent.TimeUnit;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.core.runtime.jobs.Job;
-import org.eclipse.jdt.annotation.NonNull;
-import org.eclipse.linuxtools.internal.tmf.core.Activator;
-import org.eclipse.linuxtools.tmf.core.analysis.TmfAnalysisRequirement.ValuePriorityLevel;
-import org.eclipse.linuxtools.tmf.core.component.TmfComponent;
-import org.eclipse.linuxtools.tmf.core.exceptions.TmfAnalysisException;
-import org.eclipse.linuxtools.tmf.core.signal.TmfSignalHandler;
-import org.eclipse.linuxtools.tmf.core.signal.TmfStartAnalysisSignal;
-import org.eclipse.linuxtools.tmf.core.signal.TmfTraceClosedSignal;
-import org.eclipse.linuxtools.tmf.core.signal.TmfTraceSelectedSignal;
-import org.eclipse.linuxtools.tmf.core.trace.ITmfTrace;
-import org.eclipse.linuxtools.tmf.core.trace.TmfTraceManager;
-import org.eclipse.osgi.util.NLS;
-
-/**
- * Base class that analysis modules main class may extend. It provides default
- * behavior to some methods of the analysis module
- *
- * @author Geneviève Bastien
- * @since 3.0
- */
-public abstract class TmfAbstractAnalysisModule extends TmfComponent implements IAnalysisModule {
-
- private String fName, fId;
- private boolean fAutomatic = false, fStarted = false;
- private volatile ITmfTrace fTrace;
- private final Map<String, Object> fParameters = new HashMap<>();
- private final List<String> fParameterNames = new ArrayList<>();
- private final List<IAnalysisOutput> fOutputs = new ArrayList<>();
- private List<IAnalysisParameterProvider> fParameterProviders = new ArrayList<>();
- private Job fJob = null;
-
- private final Object syncObj = new Object();
-
- /* Latch tracking if the analysis is completed or not */
- private CountDownLatch fFinishedLatch = new CountDownLatch(0);
-
- private boolean fAnalysisCancelled = false;
-
- @Override
- public boolean isAutomatic() {
- return fAutomatic;
- }
-
- @Override
- public String getName() {
- return fName;
- }
-
- @Override
- public void setName(String name) {
- fName = name;
- }
-
- @Override
- public void setId(String id) {
- fId = id;
- }
-
- @Override
- @NonNull
- public String getId() {
- String id = fId;
- if (id == null) {
- id = new String(this.getClass().getCanonicalName());
- fId = id;
- }
- return id;
- }
-
- @Override
- public void setAutomatic(boolean auto) {
- fAutomatic = auto;
- }
-
- @Override
- public void setTrace(ITmfTrace trace) throws TmfAnalysisException {
- if (trace == null) {
- throw new TmfAnalysisException(Messages.TmfAbstractAnalysisModule_NullTrace);
- }
- if (fTrace != null) {
- throw new TmfAnalysisException(NLS.bind(Messages.TmfAbstractAnalysisModule_TraceSetMoreThanOnce, getName()));
- }
-
- /* Check that analysis can be executed */
- if (!canExecute(trace)) {
- throw new TmfAnalysisException(NLS.bind(Messages.TmfAbstractAnalysisModule_AnalysisCannotExecute, getName()));
- }
-
- fTrace = trace;
- /* Get the parameter providers for this trace */
- fParameterProviders = TmfAnalysisManager.getParameterProviders(this, trace);
- for (IAnalysisParameterProvider provider : fParameterProviders) {
- provider.registerModule(this);
- }
- resetAnalysis();
- fStarted = false;
- }
-
- /**
- * Gets the trace
- *
- * @return The trace
- */
- protected ITmfTrace getTrace() {
- return fTrace;
- }
-
- @Override
- public void addParameter(String name) {
- fParameterNames.add(name);
- }
-
- @Override
- public synchronized void setParameter(String name, Object value) {
- if (!fParameterNames.contains(name)) {
- throw new RuntimeException(NLS.bind(Messages.TmfAbstractAnalysisModule_InvalidParameter, name, getName()));
- }
- Object oldValue = fParameters.get(name);
- fParameters.put(name, value);
- if ((value != null) && !(value.equals(oldValue))) {
- parameterChanged(name);
- }
- }
-
- @Override
- public synchronized void notifyParameterChanged(String name) {
- if (!fParameterNames.contains(name)) {
- throw new RuntimeException(NLS.bind(Messages.TmfAbstractAnalysisModule_InvalidParameter, name, getName()));
- }
- Object oldValue = fParameters.get(name);
- Object value = getParameter(name);
- if ((value != null) && !(value.equals(oldValue))) {
- parameterChanged(name);
- }
- }
-
- /**
- * Used to indicate that a parameter value has been changed
- *
- * @param name
- * The name of the modified parameter
- */
- protected void parameterChanged(String name) {
-
- }
-
- @Override
- public Object getParameter(String name) {
- Object paramValue = fParameters.get(name);
- /* The parameter is not set, maybe it can be provided by someone else */
- if ((paramValue == null) && (fTrace != null)) {
- for (IAnalysisParameterProvider provider : fParameterProviders) {
- paramValue = provider.getParameter(name);
- if (paramValue != null) {
- break;
- }
- }
- }
- return paramValue;
- }
-
- @Override
- public boolean canExecute(@NonNull ITmfTrace trace) {
- for (TmfAnalysisRequirement requirement : getAnalysisRequirements()) {
- if (!requirement.isFulfilled(trace)) {
- return false;
- }
- }
- return true;
- }
-
- /**
- * Set the countdown latch back to 1 so the analysis can be executed again
- */
- protected void resetAnalysis() {
- fFinishedLatch.countDown();
- fFinishedLatch = new CountDownLatch(1);
- }
-
- /**
- * Actually executes the analysis itself
- *
- * @param monitor
- * Progress monitor
- * @return Whether the analysis was completed successfully or not
- * @throws TmfAnalysisException
- * Method may throw an analysis exception
- */
- protected abstract boolean executeAnalysis(final IProgressMonitor monitor) throws TmfAnalysisException;
-
- /**
- * Indicate the analysis has been canceled. It is abstract to force
- * implementing class to cleanup what they are running. This is called by
- * the job's canceling. It does not need to be called directly.
- */
- protected abstract void canceling();
-
- /**
- * To be called when the analysis is completed, whether normally or because
- * it was cancelled or for any other reason.
- *
- * It has to be called inside a synchronized block
- */
- private void setAnalysisCompleted() {
- fStarted = false;
- fJob = null;
- fFinishedLatch.countDown();
- }
-
- /**
- * Cancels the analysis if it is executing
- */
- @Override
- public final void cancel() {
- synchronized (syncObj) {
- if (fJob != null) {
- if (fJob.cancel()) {
- fAnalysisCancelled = true;
- setAnalysisCompleted();
- }
- }
- fStarted = false;
- }
- }
-
- @Override
- public void close() {
- dispose();
- }
-
- @Override
- public void dispose() {
- super.dispose();
- cancel();
- }
-
- private void execute(@NonNull final ITmfTrace trace) {
-
- /*
- * TODO: The analysis in a job should be done at the analysis manager
- * level instead of depending on this abstract class implementation,
- * otherwise another analysis implementation may block the main thread
- */
-
- /* Do not execute if analysis has already run */
- if (fFinishedLatch.getCount() == 0) {
- return;
- }
-
- /* Do not execute if analysis already running */
- synchronized (syncObj) {
- if (fStarted) {
- return;
- }
- fStarted = true;
- }
-
- /*
- * Actual analysis will be run on a separate thread
- */
- fJob = new Job(NLS.bind(Messages.TmfAbstractAnalysisModule_RunningAnalysis, getName())) {
- @Override
- protected IStatus run(final IProgressMonitor monitor) {
- try {
- monitor.beginTask("", IProgressMonitor.UNKNOWN); //$NON-NLS-1$
- broadcast(new TmfStartAnalysisSignal(TmfAbstractAnalysisModule.this, TmfAbstractAnalysisModule.this));
- fAnalysisCancelled = !executeAnalysis(monitor);
- } catch (TmfAnalysisException e) {
- Activator.logError("Error executing analysis with trace " + trace.getName(), e); //$NON-NLS-1$
- } finally {
- synchronized (syncObj) {
- monitor.done();
- setAnalysisCompleted();
- }
- TmfTraceManager.refreshSupplementaryFiles(trace);
- }
- if (!fAnalysisCancelled) {
- return Status.OK_STATUS;
- }
- // Reset analysis so that it can be executed again.
- resetAnalysis();
- return Status.CANCEL_STATUS;
- }
-
- @Override
- protected void canceling() {
- TmfAbstractAnalysisModule.this.canceling();
- }
-
- };
- fJob.schedule();
- }
-
- @Override
- public IStatus schedule() {
- synchronized (syncObj) {
- final ITmfTrace trace = getTrace();
- if (trace == null) {
- return new Status(IStatus.ERROR, Activator.PLUGIN_ID, String.format("No trace specified for analysis %s", getName())); //$NON-NLS-1$
- }
- execute(trace);
- }
-
- return Status.OK_STATUS;
- }
-
- @Override
- public Iterable<IAnalysisOutput> getOutputs() {
- return fOutputs;
- }
-
- @Override
- public void registerOutput(IAnalysisOutput output) {
- if (!fOutputs.contains(output)) {
- fOutputs.add(output);
- }
- }
-
- @Override
- public boolean waitForCompletion() {
- try {
- fFinishedLatch.await();
- } catch (InterruptedException e) {
- Activator.logError("Error while waiting for module completion", e); //$NON-NLS-1$
- }
- return !fAnalysisCancelled;
- }
-
- @Override
- public boolean waitForCompletion(IProgressMonitor monitor) {
- try {
- while (!fFinishedLatch.await(500, TimeUnit.MILLISECONDS)) {
- if (fAnalysisCancelled || monitor.isCanceled()) {
- fAnalysisCancelled = true;
- return false;
- }
- }
- } catch (InterruptedException e) {
- Activator.logError("Error while waiting for module completion", e); //$NON-NLS-1$
- }
- return !fAnalysisCancelled;
- }
-
- /**
- * Signal handler for trace closing
- *
- * @param signal
- * Trace closed signal
- */
- @TmfSignalHandler
- public void traceClosed(TmfTraceClosedSignal signal) {
- /* Is the closing trace the one that was requested? */
- synchronized (syncObj) {
- if (signal.getTrace() == fTrace) {
- cancel();
- fTrace = null;
- }
- }
- }
-
- /**
- * Signal handler for when the trace becomes active
- *
- * @param signal
- * Trace selected signal
- * @since 3.1
- */
- @TmfSignalHandler
- public void traceSelected(TmfTraceSelectedSignal signal) {
- /*
- * Since some parameter providers may handle many traces, we need to
- * register the current trace to it
- */
- if (signal.getTrace() == fTrace) {
- for (IAnalysisParameterProvider provider : fParameterProviders) {
- provider.registerModule(this);
- }
- }
- }
-
- /**
- * Returns a full help text to display
- *
- * @return Full help text for the module
- */
- protected String getFullHelpText() {
- return NLS.bind(Messages.TmfAbstractAnalysisModule_AnalysisModule, getName());
- }
-
- /**
- * Gets a short help text, to display as header to other help text
- *
- * @param trace
- * The trace to show help for
- *
- * @return Short help text describing the module
- */
- protected String getShortHelpText(ITmfTrace trace) {
- return NLS.bind(Messages.TmfAbstractAnalysisModule_AnalysisForTrace, getName(), trace.getName());
- }
-
- /**
- * Gets the help text specific for a trace who does not have required
- * characteristics for module to execute. The default implementation uses
- * the analysis requirements.
- *
- * @param trace
- * The trace to apply the analysis to
- * @return Help text
- */
- protected String getTraceCannotExecuteHelpText(@NonNull ITmfTrace trace) {
- StringBuilder builder = new StringBuilder();
- builder.append(NLS.bind(Messages.TmfAbstractAnalysisModule_AnalysisCannotExecute, getName()));
- for (TmfAnalysisRequirement requirement : getAnalysisRequirements()) {
- if (!requirement.isFulfilled(trace)) {
- builder.append("\n\n"); //$NON-NLS-1$
- builder.append(NLS.bind(Messages.TmfAnalysis_RequirementNotFulfilled, requirement.getType()));
- builder.append("\n"); //$NON-NLS-1$
- builder.append(NLS.bind(Messages.TmfAnalysis_RequirementMandatoryValues, requirement.getValues(ValuePriorityLevel.MANDATORY)));
- Set<String> information = requirement.getInformation();
- if (!information.isEmpty()) {
- builder.append("\n"); //$NON-NLS-1$
- builder.append(NLS.bind(Messages.TmfAnalysis_RequirementInformation, information));
- }
- }
- }
- return builder.toString();
- }
-
- @Override
- public String getHelpText() {
- return getFullHelpText();
- }
-
- @Override
- public String getHelpText(ITmfTrace trace) {
- if (trace == null) {
- return getHelpText();
- }
- String text = getShortHelpText(trace);
- if (!canExecute(trace)) {
- text = text + "\n\n" + getTraceCannotExecuteHelpText(trace); //$NON-NLS-1$
- }
- return text;
- }
-
- @Override
- public Iterable<TmfAnalysisRequirement> getAnalysisRequirements() {
- return Collections.EMPTY_SET;
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/analysis/TmfAbstractAnalysisParamProvider.java b/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/analysis/TmfAbstractAnalysisParamProvider.java
deleted file mode 100644
index 7f56b5d221..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/analysis/TmfAbstractAnalysisParamProvider.java
+++ /dev/null
@@ -1,71 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 École Polytechnique de Montréal
- *
- * 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:
- * Geneviève Bastien - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.core.analysis;
-
-import org.eclipse.linuxtools.tmf.core.trace.ITmfTrace;
-import org.eclipse.linuxtools.tmf.core.trace.TmfTraceManager;
-
-/**
- * Abstract class for parameter providers, implements methods and
- * functionalities to warn the analysis module of parameter changed
- *
- * @author Geneviève Bastien
- * @since 3.0
- */
-public abstract class TmfAbstractAnalysisParamProvider implements IAnalysisParameterProvider {
-
- /**
- * The module registered with this provider
- */
- private IAnalysisModule fModule;
-
- @Override
- public void registerModule(IAnalysisModule module) {
- if (module == null) {
- throw new IllegalArgumentException();
- }
- ITmfTrace selectedTrace = TmfTraceManager.getInstance().getActiveTrace();
- /* If no trace is active, just register the module */
- if (selectedTrace == null) {
- fModule = module;
- return;
- }
- IAnalysisModule selectedModule = selectedTrace.getAnalysisModule(module.getId());
- /* register only if the module is for the currently selected trace */
- if (selectedModule == module) {
- fModule = module;
- }
- }
-
- /**
- * Gets the analysis module
- *
- * @return the {@link IAnalysisModule} associated with this provider
- */
- protected IAnalysisModule getModule() {
- return fModule;
- }
-
- /**
- * Notify the registered module that the said parameter has a new value. The
- * analysis module will decide what to do with this information
- *
- * @param name
- * Name of the modified parameter
- */
- protected void notifyParameterChanged(String name) {
- if (fModule != null) {
- fModule.notifyParameterChanged(name);
- }
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/analysis/TmfAnalysisManager.java b/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/analysis/TmfAnalysisManager.java
deleted file mode 100644
index 3bf69efe67..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/analysis/TmfAnalysisManager.java
+++ /dev/null
@@ -1,230 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013, 2014 École Polytechnique de Montréal
- *
- * 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:
- * Geneviève Bastien - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.core.analysis;
-
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.linuxtools.internal.tmf.core.Activator;
-import org.eclipse.linuxtools.internal.tmf.core.analysis.TmfAnalysisModuleSources;
-import org.eclipse.linuxtools.tmf.core.trace.ITmfTrace;
-
-/**
- * Manages the available analysis helpers from different sources and their
- * parameter providers.
- *
- * @author Geneviève Bastien
- * @since 3.0
- */
-public class TmfAnalysisManager {
-
- private static final Map<String, IAnalysisModuleHelper> fAnalysisModules = new HashMap<>();
- private static final Map<String, List<Class<? extends IAnalysisParameterProvider>>> fParameterProviders = new HashMap<>();
- private static final Map<Class<? extends IAnalysisParameterProvider>, IAnalysisParameterProvider> fParamProviderInstances = new HashMap<>();
- private static final List<IAnalysisModuleSource> fSources = new ArrayList<>();
- private static final List<ITmfNewAnalysisModuleListener> fListeners = new ArrayList<>();
-
- /**
- * Constructor, not to be used
- * TODO This class is not meant to be instantiated, put me private in next major release
- * @deprecated It was never meant to be public
- */
- @Deprecated
- public TmfAnalysisManager() {
-
- }
-
- /**
- * Registers a new source of modules
- *
- * @param source
- * A {@link IAnalysisModuleSource} instance
- */
- public static synchronized void registerModuleSource(IAnalysisModuleSource source) {
- fSources.add(source);
- refreshModules();
- }
-
- /**
- * Initializes sources and new module listeners from the extension point
- */
- public static synchronized void initialize() {
- fSources.clear();
- fListeners.clear();
- initializeModuleSources();
- initializeNewModuleListeners();
- }
-
- /**
- * Cleans the module sources list and initialize it from the extension point
- */
- private static synchronized void initializeModuleSources() {
- for (IAnalysisModuleSource source : TmfAnalysisModuleSources.getSources()) {
- fSources.add(source);
- }
- }
-
- /**
- * Cleans the new module listeners list and initialize it from the extension
- * point
- */
- private static synchronized void initializeNewModuleListeners() {
- for (ITmfNewAnalysisModuleListener output : TmfAnalysisModuleOutputs.getOutputListeners()) {
- fListeners.add(output);
- }
- }
-
- /**
- * Add a new module listener to the list of listeners
- *
- * @param listener
- * The new module listener
- */
- public static synchronized void addNewModuleListener(ITmfNewAnalysisModuleListener listener) {
- fListeners.add(listener);
- }
-
- /**
- * Gets all available analysis module helpers
- *
- * This map is read-only
- *
- * @return The map of available {@link IAnalysisModuleHelper}
- */
- public static synchronized Map<String, IAnalysisModuleHelper> getAnalysisModules() {
- if (fAnalysisModules.isEmpty()) {
- for (IAnalysisModuleSource source : fSources) {
- for (IAnalysisModuleHelper helper : source.getAnalysisModules()) {
- fAnalysisModules.put(helper.getId(), helper);
- }
- }
- }
- return Collections.unmodifiableMap(fAnalysisModules);
- }
-
- /**
- * Gets all analysis module helpers that apply to a given trace type
- *
- * This map is read-only
- *
- * @param traceclass
- * The trace class to get modules for
- * @return The map of available {@link IAnalysisModuleHelper}
- */
- public static Map<String, IAnalysisModuleHelper> getAnalysisModules(Class<? extends ITmfTrace> traceclass) {
- Map<String, IAnalysisModuleHelper> allModules = getAnalysisModules();
- Map<String, IAnalysisModuleHelper> map = new HashMap<>();
- for (IAnalysisModuleHelper module : allModules.values()) {
- if (module.appliesToTraceType(traceclass)) {
- map.put(module.getId(), module);
- }
- }
- return Collections.unmodifiableMap(map);
- }
-
- /**
- * Gets an analysis module helper identified by an id
- *
- * @param id
- * Id of the analysis module to get
- * @return The {@link IAnalysisModuleHelper}
- */
- public static IAnalysisModuleHelper getAnalysisModule(String id) {
- Map<String, IAnalysisModuleHelper> map = getAnalysisModules();
- return map.get(id);
- }
-
- /**
- * Register a new parameter provider for an analysis
- *
- * @param analysisId
- * The id of the analysis
- * @param paramProvider
- * The class of the parameter provider
- */
- public static void registerParameterProvider(String analysisId, Class<? extends IAnalysisParameterProvider> paramProvider) {
- synchronized (fParameterProviders) {
- if (!fParameterProviders.containsKey(analysisId)) {
- fParameterProviders.put(analysisId, new ArrayList<Class<? extends IAnalysisParameterProvider>>());
- }
- fParameterProviders.get(analysisId).add(paramProvider);
- }
- }
-
- /**
- * Get a parameter provider that applies to the requested trace
- *
- * @param module
- * Analysis module
- * @param trace
- * The trace
- * @return A parameter provider if one applies to the trace, null otherwise
- */
- public static List<IAnalysisParameterProvider> getParameterProviders(IAnalysisModule module, ITmfTrace trace) {
- List<IAnalysisParameterProvider> providerList = new ArrayList<>();
- synchronized (fParameterProviders) {
- if (!fParameterProviders.containsKey(module.getId())) {
- return providerList;
- }
- for (Class<? extends IAnalysisParameterProvider> providerClass : fParameterProviders.get(module.getId())) {
- try {
- IAnalysisParameterProvider provider = fParamProviderInstances.get(providerClass);
- if (provider == null) {
- provider = providerClass.newInstance();
- fParamProviderInstances.put(providerClass, provider);
- }
- if (provider != null) {
- if (provider.appliesToTrace(trace)) {
- providerList.add(provider);
- }
- }
- } catch (IllegalArgumentException e) {
- Activator.logError(Messages.TmfAnalysisManager_ErrorParameterProvider, e);
- } catch (SecurityException e) {
- Activator.logError(Messages.TmfAnalysisManager_ErrorParameterProvider, e);
- } catch (InstantiationException e) {
- Activator.logError(Messages.TmfAnalysisManager_ErrorParameterProvider, e);
- } catch (IllegalAccessException e) {
- Activator.logError(Messages.TmfAnalysisManager_ErrorParameterProvider, e);
- }
- }
- }
- return providerList;
- }
-
- /**
- * Clear the list of modules so that next time, it is computed again from
- * sources
- */
- public static synchronized void refreshModules() {
- fAnalysisModules.clear();
- }
-
- /**
- * This method should be called when new analysis modules have been created
- * by module helpers to that the {@link ITmfNewAnalysisModuleListener} can
- * be executed on the module instance.
- *
- * @param module
- * The newly created analysis module
- */
- public static synchronized void analysisModuleCreated(IAnalysisModule module) {
- for (ITmfNewAnalysisModuleListener listener : fListeners) {
- listener.moduleCreated(module);
- }
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/analysis/TmfAnalysisModuleHelperConfigElement.java b/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/analysis/TmfAnalysisModuleHelperConfigElement.java
deleted file mode 100644
index 4b73977b35..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/analysis/TmfAnalysisModuleHelperConfigElement.java
+++ /dev/null
@@ -1,206 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013, 2014 École Polytechnique de Montréal
- *
- * 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:
- * Geneviève Bastien - Initial API and implementation
- * Mathieu Rail - Added functionality for getting a module's requirements
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.core.analysis;
-
-import java.util.Collections;
-import java.util.HashSet;
-import java.util.Set;
-
-import org.eclipse.core.runtime.ContributorFactoryOSGi;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.InvalidRegistryObjectException;
-import org.eclipse.jdt.annotation.NonNull;
-import org.eclipse.linuxtools.internal.tmf.core.Activator;
-import org.eclipse.linuxtools.internal.tmf.core.analysis.TmfAnalysisModuleSourceConfigElement;
-import org.eclipse.linuxtools.tmf.core.exceptions.TmfAnalysisException;
-import org.eclipse.linuxtools.tmf.core.project.model.TmfTraceType;
-import org.eclipse.linuxtools.tmf.core.project.model.TraceTypeHelper;
-import org.eclipse.linuxtools.tmf.core.trace.ITmfTrace;
-import org.eclipse.osgi.util.NLS;
-import org.osgi.framework.Bundle;
-
-/**
- * Analysis module helper for modules provided by a plugin's configuration
- * elements.
- *
- * @author Geneviève Bastien
- * @since 3.0
- */
-public class TmfAnalysisModuleHelperConfigElement implements IAnalysisModuleHelper {
-
- private final IConfigurationElement fCe;
-
- /**
- * Constructor
- *
- * @param ce
- * The source {@link IConfigurationElement} of this module helper
- */
- public TmfAnalysisModuleHelperConfigElement(IConfigurationElement ce) {
- fCe = ce;
- }
-
- // ----------------------------------------
- // Wrappers to {@link IAnalysisModule} methods
- // ----------------------------------------
-
- @Override
- public String getId() {
- return fCe.getAttribute(TmfAnalysisModuleSourceConfigElement.ID_ATTR);
- }
-
- @Override
- public String getName() {
- return fCe.getAttribute(TmfAnalysisModuleSourceConfigElement.NAME_ATTR);
- }
-
- @Override
- public boolean isAutomatic() {
- return Boolean.parseBoolean(fCe.getAttribute(TmfAnalysisModuleSourceConfigElement.AUTOMATIC_ATTR));
- }
-
- @Override
- public String getHelpText() {
- /*
- * FIXME: No need to externalize this. A better solution will be found
- * soon and this string is just temporary
- */
- return new String("The trace must be opened to get the help message"); //$NON-NLS-1$
- }
-
- @Override
- public String getIcon() {
- return fCe.getAttribute(TmfAnalysisModuleSourceConfigElement.ICON_ATTR);
- }
-
- @Override
- public Bundle getBundle() {
- return ContributorFactoryOSGi.resolve(fCe.getContributor());
- }
-
- @Override
- public boolean appliesToTraceType(Class<? extends ITmfTrace> traceclass) {
- boolean applies = false;
-
- /* Get the module's applying tracetypes */
- final IConfigurationElement[] tracetypeCE = fCe.getChildren(TmfAnalysisModuleSourceConfigElement.TRACETYPE_ELEM);
- for (IConfigurationElement element : tracetypeCE) {
- Class<?> applyclass;
- try {
- applyclass = getBundle().loadClass(element.getAttribute(TmfAnalysisModuleSourceConfigElement.CLASS_ATTR));
- String classAppliesVal = element.getAttribute(TmfAnalysisModuleSourceConfigElement.APPLIES_ATTR);
- boolean classApplies = true;
- if (classAppliesVal != null) {
- classApplies = Boolean.parseBoolean(classAppliesVal);
- }
- if (classApplies) {
- applies |= applyclass.isAssignableFrom(traceclass);
- } else {
- /* If the trace type does not apply, reset the applies variable to false */
- if (applyclass.isAssignableFrom(traceclass)) {
- applies = false;
- }
- }
- } catch (ClassNotFoundException e) {
- Activator.logError("Error in applies to trace", e); //$NON-NLS-1$
- } catch (InvalidRegistryObjectException e) {
- Activator.logError("Error in applies to trace", e); //$NON-NLS-1$
- }
- }
- return applies;
- }
-
- @Override
- public Iterable<Class<? extends ITmfTrace>> getValidTraceTypes() {
- Set<Class<? extends ITmfTrace>> traceTypes = new HashSet<>();
-
- for (TraceTypeHelper tth : TmfTraceType.getTraceTypeHelpers()) {
- if (appliesToTraceType(tth.getTraceClass())) {
- traceTypes.add(tth.getTraceClass());
- }
- }
-
- return traceTypes;
- }
-
- @Override
- public Iterable<TmfAnalysisRequirement> getAnalysisRequirements() {
- IAnalysisModule module = createModule();
- if (module != null) {
- return module.getAnalysisRequirements();
- }
- return Collections.EMPTY_SET;
-
- }
-
- // ---------------------------------------
- // Functionalities
- // ---------------------------------------
-
- private IAnalysisModule createModule() {
- IAnalysisModule module = null;
- try {
- module = (IAnalysisModule) fCe.createExecutableExtension(TmfAnalysisModuleSourceConfigElement.ANALYSIS_MODULE_ATTR);
- module.setName(getName());
- module.setId(getId());
- } catch (CoreException e) {
- Activator.logError("Error getting analysis modules from configuration files", e); //$NON-NLS-1$
- }
- return module;
- }
-
- @Override
- public IAnalysisModule newModule(ITmfTrace trace) throws TmfAnalysisException {
-
- /* Check that analysis can be executed */
- if (!appliesToTraceType(trace.getClass())) {
- throw new TmfAnalysisException(NLS.bind(Messages.TmfAnalysisModuleHelper_AnalysisDoesNotApply, getName()));
- }
-
- IAnalysisModule module = createModule();
- if (module == null) {
- return null;
- }
-
- module.setAutomatic(isAutomatic());
-
- /* Get the module's parameters */
- final IConfigurationElement[] parametersCE = fCe.getChildren(TmfAnalysisModuleSourceConfigElement.PARAMETER_ELEM);
- for (IConfigurationElement element : parametersCE) {
- module.addParameter(element.getAttribute(TmfAnalysisModuleSourceConfigElement.NAME_ATTR));
- String defaultValue = element.getAttribute(TmfAnalysisModuleSourceConfigElement.DEFAULT_VALUE_ATTR);
- if (defaultValue != null) {
- module.setParameter(element.getAttribute(TmfAnalysisModuleSourceConfigElement.NAME_ATTR), defaultValue);
- }
- }
- module.setTrace(trace);
- TmfAnalysisManager.analysisModuleCreated(module);
-
- return module;
-
- }
-
- @Override
- public String getHelpText(@NonNull ITmfTrace trace) {
- IAnalysisModule module = createModule();
- if (module != null) {
- String ret = module.getHelpText(trace);
- module.dispose();
- return ret;
- }
- return getHelpText();
-
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/analysis/TmfAnalysisModuleOutputs.java b/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/analysis/TmfAnalysisModuleOutputs.java
deleted file mode 100644
index bc32aad6df..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/analysis/TmfAnalysisModuleOutputs.java
+++ /dev/null
@@ -1,95 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 École Polytechnique de Montréal
- *
- * 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:
- * Geneviève Bastien - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.core.analysis;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.InvalidRegistryObjectException;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.linuxtools.internal.tmf.core.Activator;
-
-/**
- * Utility class for accessing TMF analysis module extensions from the
- * platform's extensions registry and returning the modules' outputs, wrapped as
- * new module listeners.
- *
- * @author Geneviève Bastien
- * @since 3.0
- */
-public class TmfAnalysisModuleOutputs {
-
- /** Extension point ID */
- public static final String TMF_ANALYSIS_TYPE_ID = "org.eclipse.linuxtools.tmf.core.analysis"; //$NON-NLS-1$
-
- /** Extension point element 'output' */
- public static final String OUTPUT_ELEM = "output"; //$NON-NLS-1$
-
- /** Extension point attribute 'outputClass' */
- public static final String CLASS_ATTR = "class"; //$NON-NLS-1$
-
- /** Extension point attribute 'id' */
- public static final String ID_ATTR = "id"; //$NON-NLS-1$
-
- /**
- * Extension point element 'analysisId' to associate the output to a single
- * analysis
- */
- public static final String ANALYSIS_ID_ELEM = "analysisId"; //$NON-NLS-1$
-
- /**
- * Extension point element 'analysisModuleClass' to associate the output
- * with an analysis module class
- */
- public static final String MODULE_CLASS_ELEM = "analysisModuleClass"; //$NON-NLS-1$
-
- private TmfAnalysisModuleOutputs() {
-
- }
-
- /**
- * Return the analysis module outputs, wrapped as new module listeners,
- * advertised in the extension point, in iterable format.
- *
- * @return List of {@link ITmfNewAnalysisModuleListener}
- */
- public static Iterable<ITmfNewAnalysisModuleListener> getOutputListeners() {
- List<ITmfNewAnalysisModuleListener> newModuleListeners = new ArrayList<>();
- // Get the sources element from the extension point
- IConfigurationElement[] config = Platform.getExtensionRegistry().getConfigurationElementsFor(TMF_ANALYSIS_TYPE_ID);
- for (IConfigurationElement ce : config) {
- String elementName = ce.getName();
- if (elementName.equals(OUTPUT_ELEM)) {
- try {
- IAnalysisOutput output = (IAnalysisOutput) ce.createExecutableExtension(CLASS_ATTR);
- ITmfNewAnalysisModuleListener listener = null;
- for (IConfigurationElement childCe : ce.getChildren()) {
- if (childCe.getName().equals(ANALYSIS_ID_ELEM)) {
- listener = new TmfNewAnalysisOutputListener(output, childCe.getAttribute(ID_ATTR), null);
- } else if (childCe.getName().equals(MODULE_CLASS_ELEM)) {
- listener = new TmfNewAnalysisOutputListener(output, null, childCe.createExecutableExtension(CLASS_ATTR).getClass().asSubclass(IAnalysisModule.class));
- }
- }
- if (listener != null) {
- newModuleListeners.add(listener);
- }
- } catch (InvalidRegistryObjectException | CoreException e) {
- Activator.logError("Error creating module output listener", e); //$NON-NLS-1$
- }
- }
- }
- return newModuleListeners;
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/analysis/TmfAnalysisRequirement.java b/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/analysis/TmfAnalysisRequirement.java
deleted file mode 100644
index 9397b2469d..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/analysis/TmfAnalysisRequirement.java
+++ /dev/null
@@ -1,291 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 École Polytechnique de Montréal
- *
- * 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:
- * Mathieu Rail - Initial API and implementation
- * Guilliano Molaire - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.core.analysis;
-
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Map;
-import java.util.Map.Entry;
-import java.util.Set;
-
-import org.eclipse.jdt.annotation.NonNull;
-import org.eclipse.linuxtools.tmf.core.trace.ITmfTrace;
-import org.eclipse.linuxtools.tmf.core.trace.ITmfTraceWithPreDefinedEvents;
-import org.eclipse.linuxtools.tmf.core.trace.TmfEventTypeCollectionHelper;
-
-/**
- * Class that contains all the values associated with a type needed by an
- * analysis in order to execute. Each value is peered with a level that
- * determines the importance of that specific value for the requirement.
- *
- * The type gives an indication about the kind of value the requirement
- * contains. The value should depend on the type. For instance, a requirement
- * type could be "event" and all the values that would be added in the
- * requirement object could indicate the possible events handled by the
- * analysis.
- *
- * For these values, a level will be assigned indicating how important the value
- * is based on two possibilities: Mandatory or optional.
- *
- * Moreover, useful information that can not be leveled with a priority but are
- * important for the proper execution of an analysis can be added.
- *
- * @author Guilliano Molaire
- * @author Mathieu Rail
- * @since 3.0
- */
-public class TmfAnalysisRequirement {
-
- /**
- * String for requirement type 'event', that can be used by analysis
- */
- public static final String TYPE_EVENT = "event"; //$NON-NLS-1$
-
- private final String fType;
- private final Map<String, ValuePriorityLevel> fValues = new HashMap<>();
- private final Set<String> fInformation = new HashSet<>();
-
- /**
- * The possible level for each value. They must be listed in ascending order
- * of priority.
- */
- public enum ValuePriorityLevel {
- /** The value could be absent and the analysis would still work */
- OPTIONAL,
- /** The value must be present at runtime (for the analysis) */
- MANDATORY
- }
-
- /**
- * Constructor
- *
- * @param type
- * The type of the requirement
- */
- public TmfAnalysisRequirement(String type) {
- fType = type;
- }
-
- /**
- * Constructor. Instantiate a requirement object with a list of values of
- * the same level
- *
- * @param type
- * The type of the requirement
- * @param values
- * All the values associated with that type
- * @param level
- * A level associated with all the values
- */
- public TmfAnalysisRequirement(String type, Iterable<String> values, ValuePriorityLevel level) {
- fType = type;
- addValues(values, level);
- }
-
- /**
- * Merges the values of the specified requirement with those of this
- * requirement. All new values will retain their priority value level. If a
- * value was already inside the current requirement, the current priority
- * level will be overridden if the new priority level is higher.
- *
- * @param subRequirement
- * The requirement to be merged into the current one
- * @param maxSubRequirementValueLevel
- * The level associated with all the new values or currently
- * lower priority ones
- * @return True if the merge was successful
- */
- public Boolean merge(TmfAnalysisRequirement subRequirement, ValuePriorityLevel maxSubRequirementValueLevel) {
- /* Two requirements can't be merged if their types are different */
- if (!isSameType(subRequirement)) {
- return false;
- }
-
- Set<String> values = subRequirement.getValues();
- for (String value : values) {
- /*
- * Sub-requirement value levels are limited to
- * maxSubRequirementValueLevel, so the level associated with the
- * values in the merge is the minimum value between
- * maxSubRequirementValueLevel and its true level.
- */
- int minLevel = Math.min(subRequirement.getValueLevel(value).ordinal(), maxSubRequirementValueLevel.ordinal());
- ValuePriorityLevel subRequirementValueLevel = ValuePriorityLevel.values()[minLevel];
-
- if (fValues.containsKey(value)) {
- /*
- * If a value is already in a requirement, we update the level
- * by the highest value between the current level in the
- * requirement and the level of the value in the
- * sub-requirement.
- */
- ValuePriorityLevel requirementValueLevel = getValueLevel(value);
-
- int newValueLevel = Math.max(requirementValueLevel.ordinal(), subRequirementValueLevel.ordinal());
- ValuePriorityLevel highestLevel = ValuePriorityLevel.values()[newValueLevel];
- addValue(value, highestLevel);
- }
- else {
- addValue(value, subRequirementValueLevel);
- }
- }
-
- /* Merge the information */
- fInformation.addAll(subRequirement.getInformation());
-
- return true;
- }
-
- /**
- * Adds a list of value inside the requirement with the same level.
- *
- * @param values
- * A list of value
- * @param level
- * The level associated with all the values
- */
- public void addValues(Iterable<String> values, ValuePriorityLevel level) {
- for (String value : values) {
- addValue(value, level);
- }
- }
-
- /**
- * Adds a value with his associated level into the requirement. If the value
- * is already contained in the requirement the method modifies its existing
- * value level.
- *
- * @param value
- * The value
- * @param level
- * The level
- */
- public void addValue(String value, ValuePriorityLevel level) {
- synchronized (fValues) {
- fValues.put(value, level);
- }
- }
-
- /**
- * Adds an information about the requirement.
- *
- * @param information
- * The information to be added
- */
- public void addInformation(String information) {
- fInformation.add(information);
- }
-
- /**
- * Determines if the analysis requirement has the same type of another
- * requirement.
- *
- * @param requirement
- * Requirement whose type is to be compared to this requirement's
- * type.
- * @return True if the two requirements have the same type; otherwise false
- */
- public Boolean isSameType(TmfAnalysisRequirement requirement) {
- return fType.equals(requirement.getType());
- }
-
- /**
- * Gets the requirement type. The type is read only.
- *
- * @return The type of this requirement
- */
- public String getType() {
- return fType;
- }
-
- /**
- * Gets all the values associated with the requirement.
- *
- * @return Set containing the values
- */
- public Set<String> getValues() {
- synchronized (fValues) {
- return fValues.keySet();
- }
- }
-
- /**
- * Gets all the values associated with the requirement with a given priority
- * level.
- *
- * @param level
- * The desired level
- * @return Set containing the values with the given priority level
- */
- public Set<String> getValues(ValuePriorityLevel level) {
- synchronized (fValues) {
- Set<String> values = new HashSet<>();
- for (Entry<String, ValuePriorityLevel> entry : fValues.entrySet()) {
- if (entry.getValue() == level) {
- values.add(entry.getKey());
- }
- }
- return values;
- }
- }
-
- /**
- * Gets information about the requirement.
- *
- * @return The set of all the information
- */
- public Set<String> getInformation() {
- return fInformation;
- }
-
- /**
- * Gets the level associated with a particular type
- *
- * @param value
- * The value
- * @return The level or null if the value does not exist
- */
- public ValuePriorityLevel getValueLevel(String value) {
- synchronized (fValues) {
- return fValues.get(value);
- }
- }
-
- /**
- * Verifies whether a trace fulfills this requirement
- *
- * @param trace
- * The trace on which to check for this requirement
- * @return True if the trace has all mandatory values of this requirement
- */
- public boolean isFulfilled(@NonNull ITmfTrace trace) {
- switch (fType) {
- case TYPE_EVENT:
- if (trace instanceof ITmfTraceWithPreDefinedEvents) {
- Set<String> traceEvents = TmfEventTypeCollectionHelper.getEventNames(((ITmfTraceWithPreDefinedEvents) trace).getContainedEventTypes());
- Set<String> mandatoryValues = getValues(ValuePriorityLevel.MANDATORY);
- return traceEvents.containsAll(mandatoryValues);
- }
- break;
- default:
- return true;
- }
- return true;
- }
-
- @Override
- public String toString() {
- return fType + ": " + fValues; //$NON-NLS-1$
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/analysis/TmfAnalysisRequirementHelper.java b/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/analysis/TmfAnalysisRequirementHelper.java
deleted file mode 100644
index 4377cede63..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/analysis/TmfAnalysisRequirementHelper.java
+++ /dev/null
@@ -1,128 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 École Polytechnique de Montréal
- *
- * 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:
- * Guilliano Molaire - Initial API and implementation
- * Mathieu Rail - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.core.analysis;
-
-import java.util.HashSet;
-import java.util.Set;
-
-import org.eclipse.linuxtools.tmf.core.analysis.TmfAnalysisRequirement.ValuePriorityLevel;
-
-import com.google.common.collect.HashMultimap;
-import com.google.common.collect.SetMultimap;
-
-/**
- * Helper class to simplify analysis requirement management.
- *
- * @author Guilliano Molaire
- * @since 3.0
- */
-public final class TmfAnalysisRequirementHelper {
-
- /**
- * Private constructor. The class should not be instantiated.
- */
- private TmfAnalysisRequirementHelper() {
- }
-
- /**
- * Gets the requirement values of a given type from an analysis requirement
- * provider. Only values linked to the type will be returned.
- *
- * @param provider
- * The analysis requirement provider
- * @param type
- * The type of the requirement values we need
- * @return The list of values for the specified type
- */
- public static Set<String> getRequirementValues(IAnalysisRequirementProvider provider, String type) {
- Set<String> values = new HashSet<>();
- for (TmfAnalysisRequirement requirement : provider.getAnalysisRequirements()) {
- if (requirement.getType().equalsIgnoreCase(type)) {
- values.addAll(requirement.getValues());
- }
- }
- return values;
- }
-
- /**
- * Gets the requirement values of a given type from an analysis requirement
- * provider, with the specified level. Only values associated with that type
- * and level will be returned.
- *
- * @param provider
- * The analysis requirement provider
- * @param type
- * The type of the requirement values we need
- * @param level
- * The priority level of the values to be returned
- * @return The list of values for the specified type
- */
- public static Set<String> getRequirementValues(IAnalysisRequirementProvider provider, String type, ValuePriorityLevel level) {
- Set<String> values = new HashSet<>();
- for (TmfAnalysisRequirement requirement : provider.getAnalysisRequirements()) {
- if (requirement.getType().equalsIgnoreCase(type)) {
- for (String value : requirement.getValues()) {
- if (requirement.getValueLevel(value) == level) {
- values.add(value);
- }
- }
- }
- }
- return values;
- }
-
- /**
- * Gets a map in which the keys are the types of different requirements and
- * the values represent a set of requirement values linked to that type.
- *
- * @param providers
- * The set of analysis requirement provider
- * @return A map with the values keyed by type
- */
- public static SetMultimap<String, String> getRequirementValuesMap(Iterable<IAnalysisRequirementProvider> providers) {
- SetMultimap<String, String> valuesByType = HashMultimap.create();
- for (IAnalysisRequirementProvider provider : providers) {
- for (TmfAnalysisRequirement requirement : provider.getAnalysisRequirements()) {
- valuesByType.putAll(requirement.getType(), requirement.getValues());
- }
- }
- return valuesByType;
- }
-
- /**
- * Gets a map in which the keys are the types of different requirements and
- * the values represents a list of requirement values linked to that type.
- * We only take values with the same priority level as the argument.
- *
- * @param providers
- * The set of analysis requirement provider
- * @param level
- * The priority level of the values to be returned
- * @return A map with the values keyed by type
- */
- public static SetMultimap<String, String> getRequirementValuesMap(Iterable<IAnalysisRequirementProvider> providers, ValuePriorityLevel level) {
- SetMultimap<String, String> valuesByType = HashMultimap.create();
- for (IAnalysisRequirementProvider provider : providers) {
- for (TmfAnalysisRequirement requirement : provider.getAnalysisRequirements()) {
- /* Since it's a set, there will be no duplicate */
- for (String value : requirement.getValues()) {
- if (requirement.getValueLevel(value) == level) {
- valuesByType.put(requirement.getType(), value);
- }
- }
- }
- }
- return valuesByType;
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/analysis/TmfNewAnalysisOutputListener.java b/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/analysis/TmfNewAnalysisOutputListener.java
deleted file mode 100644
index 2412f1bb6f..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/analysis/TmfNewAnalysisOutputListener.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 École Polytechnique de Montréal
- *
- * 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:
- * Geneviève Bastien - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.core.analysis;
-
-/**
- * This class listens when new analysis modules are created and registers an
- * output if the module corresponds to the output specifications
- *
- * @author Geneviève Bastien
- * @since 3.0
- */
-public class TmfNewAnalysisOutputListener implements ITmfNewAnalysisModuleListener {
-
- private final String fAnalysisId;
- private final Class<? extends IAnalysisModule> fAnalysisModuleClass;
- private final IAnalysisOutput fOutput;
-
- /**
- * Constructor
- *
- * @param output
- * The analysis output to add if the analysis corresponds to the
- * ID or class
- * @param analysisId
- * The analysis ID of the single analysis to match
- * @param moduleClass
- * The module class this output applies to
- */
- public TmfNewAnalysisOutputListener(IAnalysisOutput output, String analysisId, Class<? extends IAnalysisModule> moduleClass) {
- fOutput = output;
- fAnalysisId = analysisId;
- fAnalysisModuleClass = moduleClass;
- }
-
- @Override
- public void moduleCreated(IAnalysisModule module) {
- if (fAnalysisId != null) {
- if (module.getId().equals(fAnalysisId)) {
- module.registerOutput(fOutput);
- }
- } else if (fAnalysisModuleClass != null) {
- if (fAnalysisModuleClass.isAssignableFrom(module.getClass())) {
- module.registerOutput(fOutput);
- }
- }
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/analysis/messages.properties b/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/analysis/messages.properties
deleted file mode 100644
index 1cd4123a28..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/analysis/messages.properties
+++ /dev/null
@@ -1,24 +0,0 @@
-###############################################################################
-# Copyright (c) 2014 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:
-# Ericsson - Initial API and implementation
-###############################################################################
-TmfAbstractAnalysisModule_TraceSetMoreThanOnce=Trace was set more than once for analysis "{0}"
-TmfAbstractAnalysisModule_AnalysisCannotExecute=Cannot perform analysis "{0}" on this trace because the trace does not have the required characteristics
-TmfAnalysisModuleHelper_AnalysisDoesNotApply=Cannot perform analysis "{0}" on this trace because the trace is of the wrong type.
-TmfAbstractAnalysisModule_AnalysisForTrace=Analysis module: {0} for trace {1}
-TmfAbstractAnalysisModule_AnalysisModule=Analysis module: {0}
-TmfAbstractAnalysisModule_InvalidParameter=Parameter {0} is not valid for analysis module {1}
-TmfAbstractAnalysisModule_NullTrace=Setting a null trace to analysis module
-TmfAnalysis_RequirementInformation=Additional information: {0}
-TmfAnalysis_RequirementMandatoryValues=Mandatory values: {0}
-TmfAnalysis_RequirementNotFulfilled=Requirement not fulfilled: {0}
-TmfAbstractAnalysisModule_RunningAnalysis=Running analysis {0}
-TmfAnalysisManager_ErrorParameterProvider=Error instantiating parameter provider
-TmfAnalysisModuleHelper_ImpossibleToCreateModule=Could not instantiate module "{0}"
diff --git a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/callstack/CallStackStateProvider.java b/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/callstack/CallStackStateProvider.java
deleted file mode 100644
index 54f02e3eac..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/callstack/CallStackStateProvider.java
+++ /dev/null
@@ -1,198 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013, 2014 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:
- * Patrick Tasse - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.core.callstack;
-
-import org.eclipse.linuxtools.internal.tmf.core.Activator;
-import org.eclipse.linuxtools.statesystem.core.exceptions.AttributeNotFoundException;
-import org.eclipse.linuxtools.statesystem.core.exceptions.StateValueTypeException;
-import org.eclipse.linuxtools.statesystem.core.exceptions.TimeRangeException;
-import org.eclipse.linuxtools.statesystem.core.statevalue.ITmfStateValue;
-import org.eclipse.linuxtools.statesystem.core.statevalue.TmfStateValue;
-import org.eclipse.linuxtools.tmf.core.event.ITmfEvent;
-import org.eclipse.linuxtools.tmf.core.statesystem.AbstractTmfStateProvider;
-import org.eclipse.linuxtools.tmf.core.timestamp.ITmfTimestamp;
-import org.eclipse.linuxtools.tmf.core.trace.ITmfTrace;
-import org.eclipse.osgi.util.NLS;
-
-/**
- * The state provider for traces that support the Call Stack view.
- *
- * The attribute tree should have the following structure:
- *<pre>
- * (root)
- * \-- Threads
- * |-- (Thread 1)
- * | \-- CallStack (stack-attribute)
- * | |-- 1
- * | |-- 2
- * | ...
- * | \-- n
- * |-- (Thread 2)
- * | \-- CallStack (stack-attribute)
- * | |-- 1
- * | |-- 2
- * | ...
- * | \-- n
- * ...
- * \-- (Thread n)
- * \-- CallStack (stack-attribute)
- * |-- 1
- * |-- 2
- * ...
- * \-- n
- *</pre>
- * where:
- * <br>
- * (Thread n) is an attribute whose name is the display name of the thread.
- * Optionally, its value is a long representing the thread id, used for sorting.
- * <br>
- * CallStack is a stack-attribute whose pushed values are either a string,
- * int or long representing the function name or address in the call stack.
- * The type of value used must be constant for a particular CallStack.
- *
- * @author Patrick Tasse
- * @since 2.0
- */
-public abstract class CallStackStateProvider extends AbstractTmfStateProvider {
-
- /** Thread attribute */
- public static final String THREADS = "Threads"; //$NON-NLS-1$
- /** CallStack stack-attribute */
- public static final String CALL_STACK = "CallStack"; //$NON-NLS-1$
- /** Undefined function exit name */
- public static final String UNDEFINED = "UNDEFINED"; //$NON-NLS-1$
-
- /** CallStack state system ID */
- private static final String ID = "org.eclipse.linuxtools.tmf.callstack"; //$NON-NLS-1$
- /** Dummy function name for when no function is expected */
- private static final String NO_FUNCTION = "no function"; //$NON-NLS-1$
-
- /**
- * Default constructor
- *
- * @param trace
- * The trace for which we build this state system
- */
- public CallStackStateProvider(ITmfTrace trace) {
- super(trace, ITmfEvent.class, ID);
- }
-
- @Override
- protected void eventHandle(ITmfEvent event) {
- if (!considerEvent(event)) {
- return;
- }
- try {
- /* Check if the event is a function entry */
- String functionEntryName = functionEntry(event);
- if (functionEntryName != null) {
- long timestamp = event.getTimestamp().normalize(0, ITmfTimestamp.NANOSECOND_SCALE).getValue();
- String thread = getThreadName(event);
- int threadQuark = ss.getQuarkAbsoluteAndAdd(THREADS, thread);
- Long threadId = getThreadId(event);
- if (threadId != null) {
- ss.updateOngoingState(TmfStateValue.newValueLong(threadId), threadQuark);
- }
- int callStackQuark = ss.getQuarkRelativeAndAdd(threadQuark, CALL_STACK);
- ITmfStateValue value = TmfStateValue.newValueString(functionEntryName);
- ss.pushAttribute(timestamp, value, callStackQuark);
- return;
- }
-
- /* Check if the event is a function exit */
- String functionExitName = functionExit(event);
- if (functionExitName != null) {
- long timestamp = event.getTimestamp().normalize(0, ITmfTimestamp.NANOSECOND_SCALE).getValue();
- String thread = getThreadName(event);
- int quark = ss.getQuarkAbsoluteAndAdd(THREADS, thread, CALL_STACK);
- ITmfStateValue poppedValue = ss.popAttribute(timestamp, quark);
- String poppedName = (poppedValue == null ? NO_FUNCTION : poppedValue.unboxStr());
-
- /*
- * Verify that the value we are popping matches the one in the
- * event field, unless the latter is undefined.
- */
- if (!functionExitName.equals(UNDEFINED) &&
- !functionExitName.equals(poppedName)) {
- Activator.logWarning(NLS.bind(
- Messages.CallStackStateProvider_UnmatchedPoppedValue,
- functionExitName,
- poppedName));
- }
- }
-
- } catch (TimeRangeException e) {
- e.printStackTrace();
- } catch (AttributeNotFoundException e) {
- e.printStackTrace();
- } catch (StateValueTypeException e) {
- e.printStackTrace();
- }
- }
-
- /**
- * Check if this event should be considered at all for function entry/exit
- * analysis. This check is only run once per event, before
- * {@link #functionEntry} and {@link #functionExit} (to avoid repeating
- * checks in those methods).
- *
- * @param event
- * The event to check
- * @return If false, the event will be ignored by the state provider. If
- * true processing will continue.
- * @since 3.0
- */
- protected abstract boolean considerEvent(ITmfEvent event);
-
- /**
- * Check an event if it indicates a function entry.
- *
- * @param event
- * An event to check for function entry
- * @return The function name of the function entry, or null if not a
- * function entry.
- */
- protected abstract String functionEntry(ITmfEvent event);
-
- /**
- * Check an event if it indicates a function exit.
- *
- * @param event
- * An event to check for function exit
- * @return The function name, or UNDEFINED, for a function exit, or null if
- * not a function exit.
- */
- protected abstract String functionExit(ITmfEvent event);
-
- /**
- * Return the thread name of a function entry or exit event.
- *
- * @param event
- * The event
- * @return The thread name (as will be shown in the view)
- * @since 3.0
- */
- protected abstract String getThreadName(ITmfEvent event);
-
- /**
- * Return the thread id of a function entry event.
- *
- * @param event
- * The event
- * @return The thread id, or null if undefined
- * @since 3.1
- */
- protected Long getThreadId(ITmfEvent event) {
- return null;
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/callstack/Messages.java b/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/callstack/Messages.java
deleted file mode 100644
index eaf0f7c394..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/callstack/Messages.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 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:
- * Alexandre Montplaisir - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.core.callstack;
-
-import org.eclipse.osgi.util.NLS;
-
-/**
- * Message bundle for the call stack state provider.
- *
- * @since 3.0
- */
-public class Messages extends NLS {
-
- private static final String BUNDLE_NAME = "org.eclipse.linuxtools.tmf.core.callstack.messages"; //$NON-NLS-1$
-
- /**
- * The value popped from a 'func_exit' event doesn't match the current
- * function name.
- */
- public static String CallStackStateProvider_UnmatchedPoppedValue;
-
- static {
- // initialize resource bundle
- NLS.initializeMessages(BUNDLE_NAME, Messages.class);
- }
-
- private Messages() {
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/callstack/messages.properties b/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/callstack/messages.properties
deleted file mode 100644
index 4603be0526..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/callstack/messages.properties
+++ /dev/null
@@ -1,13 +0,0 @@
-###############################################################################
-# Copyright (c) 2013 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:
-# Alexandre Montplaisir - Initial API and implementation
-###############################################################################
-
-CallStackStateProvider_UnmatchedPoppedValue=Function exit name in event ({0}) different from the expected one ({1}). You may have lost events in your trace.
diff --git a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/component/ITmfComponent.java b/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/component/ITmfComponent.java
deleted file mode 100644
index c5aeafa739..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/component/ITmfComponent.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009, 2014 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
- * Bernd Hufmann - Add interface for broadcasting signals asynchronously
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.core.component;
-
-import org.eclipse.linuxtools.tmf.core.signal.TmfSignal;
-
-/**
- * This is the basic interface of all the TMF components.
- * <p>
- * Currently, it only addresses the inter-component signalling.
- *
- * @version 1.0
- * @author Francois Chouinard
- *
- * @see TmfComponent
- */
-public interface ITmfComponent {
-
- /**
- * @return the component ID (display name)
- */
- String getName();
-
- /**
- * Dispose of the component
- */
- void dispose();
-
- /**
- * Propagate a signal to all the interested listeners in
- * the same thread of execution.
- *
- * @param signal the signal to broadcast
- */
- void broadcast(TmfSignal signal);
-
- /**
- * Propagate a signal to all the interested listeners
- * in a separate thread.
- *
- * @param signal the signal to broadcast
- * @since 3.0
- */
- void broadcastAsync(TmfSignal signal);
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/component/ITmfEventProvider.java b/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/component/ITmfEventProvider.java
deleted file mode 100644
index e26e717f54..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/component/ITmfEventProvider.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009, 2014 Ericsson
- *
- * All rights reserved. This program and the accompanying materials are
- * made available under the terms of the Eclipse Public License v1.0 which
- * accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Francois Chouinard - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.core.component;
-
-import org.eclipse.linuxtools.tmf.core.event.ITmfEvent;
-import org.eclipse.linuxtools.tmf.core.request.ITmfEventRequest;
-import org.eclipse.linuxtools.tmf.core.trace.ITmfContext;
-
-/**
- * This is the interface of the data providers in TMF. Data providers have the
- * capability of handling data requests.
- *
- * @author Francois Chouinard
- *
- * @see TmfEventProvider
- * @since 3.0
- */
-public interface ITmfEventProvider extends ITmfComponent {
-
- /**
- * Queue the request for processing.
- *
- * @param request The request to process
- */
- void sendRequest(ITmfEventRequest request);
-
- /**
- * Increments/decrements the pending requests counters and fires the request
- * if necessary (counter == 0). Used for coalescing requests across multiple
- * TmfDataProvider's.
- *
- * @param isIncrement
- * Should we increment (true) or decrement (false) the pending
- * counter
- */
- void notifyPendingRequest(boolean isIncrement);
-
- /**
- * Return the next event based on the context supplied. The context
- * will be updated for the subsequent read.
- *
- * @param context the trace read context (updated)
- * @return the event referred to by context
- */
- ITmfEvent getNext(ITmfContext context);
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/component/TmfComponent.java b/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/component/TmfComponent.java
deleted file mode 100644
index 25692eea89..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/component/TmfComponent.java
+++ /dev/null
@@ -1,119 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009, 2014 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
- * Bernd Hufmann - Add interface for broadcasting signals asynchronously
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.core.component;
-
-import org.eclipse.linuxtools.internal.tmf.core.TmfCoreTracer;
-import org.eclipse.linuxtools.tmf.core.signal.TmfSignal;
-import org.eclipse.linuxtools.tmf.core.signal.TmfSignalManager;
-
-/**
- * This is the base class of the TMF components.
- * <p>
- * Currently, it only addresses the inter-component signaling.
- *
- * @version 1.0
- * @author Francois Chouinard
- */
-public abstract class TmfComponent implements ITmfComponent {
-
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
-
- private String fName;
-
- // ------------------------------------------------------------------------
- // Constructor
- // ------------------------------------------------------------------------
-
- /**
- * Default constructor. To be used in conjunction with init()
- */
- public TmfComponent() {
- this(""); //$NON-NLS-1$
- }
-
- /**
- * Perform component initialization and register it as a signal listener.
- * Need to be called when the default constructor was used.
- *
- * @param name
- * the component name
- */
- public void init(String name) {
- TmfCoreTracer.traceComponent(this, "created"); //$NON-NLS-1$
- fName = name;
- TmfSignalManager.register(this);
- }
-
- /**
- * The standard constructor
- *
- * @param name
- * the component name
- */
- public TmfComponent(String name) {
- init(name);
- }
-
- /**
- * The copy constructor
- *
- * @param other
- * the other component
- */
- public TmfComponent(TmfComponent other) {
- init(other.fName);
- }
-
- // ------------------------------------------------------------------------
- // Getters/setters
- // ------------------------------------------------------------------------
-
- @Override
- public String getName() {
- return fName;
- }
-
- /**
- * @param name
- * the new component name
- */
- protected void setName(String name) {
- fName = name;
- }
-
- // ------------------------------------------------------------------------
- // ITmfComponent
- // ------------------------------------------------------------------------
-
- @Override
- public void dispose() {
- TmfSignalManager.deregister(this);
- TmfCoreTracer.traceComponent(this, "disposed"); //$NON-NLS-1$
- }
-
- @Override
- public void broadcast(TmfSignal signal) {
- TmfSignalManager.dispatchSignal(signal);
- }
-
- /**
- * @since 3.0
- */
- @Override
- public void broadcastAsync(TmfSignal signal) {
- TmfSignalManager.dispatchSignalAsync(signal);
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/component/TmfEventProvider.java b/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/component/TmfEventProvider.java
deleted file mode 100644
index 83a318c289..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/component/TmfEventProvider.java
+++ /dev/null
@@ -1,439 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009, 2014 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, replace background
- * requests by preemptable requests
- * Alexandre Montplaisir - Merge with TmfDataProvider
- * Bernd Hufmann - Add timer based coalescing for background requests
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.core.component;
-
-import java.util.Iterator;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Timer;
-import java.util.TimerTask;
-
-import org.eclipse.linuxtools.internal.tmf.core.TmfCoreTracer;
-import org.eclipse.linuxtools.internal.tmf.core.component.TmfEventThread;
-import org.eclipse.linuxtools.internal.tmf.core.component.TmfProviderManager;
-import org.eclipse.linuxtools.internal.tmf.core.request.TmfCoalescedEventRequest;
-import org.eclipse.linuxtools.internal.tmf.core.request.TmfRequestExecutor;
-import org.eclipse.linuxtools.tmf.core.event.ITmfEvent;
-import org.eclipse.linuxtools.tmf.core.request.ITmfEventRequest;
-import org.eclipse.linuxtools.tmf.core.request.ITmfEventRequest.ExecutionType;
-import org.eclipse.linuxtools.tmf.core.signal.TmfEndSynchSignal;
-import org.eclipse.linuxtools.tmf.core.signal.TmfSignalHandler;
-import org.eclipse.linuxtools.tmf.core.signal.TmfStartSynchSignal;
-import org.eclipse.linuxtools.tmf.core.timestamp.ITmfTimestamp;
-import org.eclipse.linuxtools.tmf.core.trace.ITmfContext;
-
-/**
- * An abstract base class that implements ITmfEventProvider.
- * <p>
- * This abstract class implements the housekeeping methods to register/
- * de-register the event provider and to handle generically the event requests.
- * </p>
- *
- * @author Francois Chouinard
- * @since 3.0
- */
-public abstract class TmfEventProvider extends TmfComponent implements ITmfEventProvider {
-
- // ------------------------------------------------------------------------
- // Constants
- // ------------------------------------------------------------------------
-
- /** Default amount of events per request "chunk"
- * @since 3.0 */
- public static final int DEFAULT_BLOCK_SIZE = 50000;
-
- /** Delay for coalescing background requests (in milli-seconds) */
- private static final long DELAY = 1000;
-
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
-
- /** List of coalesced requests */
- private final List<TmfCoalescedEventRequest> fPendingCoalescedRequests = new LinkedList<>();
-
- /** The type of event handled by this provider */
- private Class<? extends ITmfEvent> fType;
-
- private final TmfRequestExecutor fExecutor;
-
- private final Object fLock = new Object();
-
- private int fSignalDepth = 0;
-
- private int fRequestPendingCounter = 0;
-
- private Timer fTimer;
-
- private boolean fIsTimeout = false;
-
- // ------------------------------------------------------------------------
- // Constructors
- // ------------------------------------------------------------------------
-
- /**
- * Default constructor
- */
- public TmfEventProvider() {
- super();
- fExecutor = new TmfRequestExecutor();
- }
-
- /**
- * Standard constructor. Instantiate and initialize at the same time.
- *
- * @param name
- * Name of the provider
- * @param type
- * The type of events that will be handled
- */
- public TmfEventProvider(String name, Class<? extends ITmfEvent> type) {
- this();
- init(name, type);
- }
-
- /**
- * Initialize this data provider
- *
- * @param name
- * Name of the provider
- * @param type
- * The type of events that will be handled
- */
- public void init(String name, Class<? extends ITmfEvent> type) {
- super.init(name);
- fType = type;
- fExecutor.init();
-
- fSignalDepth = 0;
-
- synchronized (fLock) {
- fTimer = new Timer();
- }
-
- TmfProviderManager.register(fType, this);
- }
-
- @Override
- public void dispose() {
- TmfProviderManager.deregister(fType, this);
- fExecutor.stop();
- synchronized (fLock) {
- if (fTimer != null) {
- fTimer.cancel();
- }
- fTimer = null;
- }
- super.dispose();
- }
-
- // ------------------------------------------------------------------------
- // Accessors
- // ------------------------------------------------------------------------
-
- /**
- * Get the event type this provider handles
- *
- * @return The type of ITmfEvent
- */
- public Class<? extends ITmfEvent> getType() {
- return fType;
- }
-
- // ------------------------------------------------------------------------
- // ITmfRequestHandler
- // ------------------------------------------------------------------------
-
- /**
- * @since 3.0
- */
- @Override
- public void sendRequest(final ITmfEventRequest request) {
- synchronized (fLock) {
- if (request.getExecType() == ExecutionType.FOREGROUND) {
- if ((fSignalDepth > 0) || (fRequestPendingCounter > 0)) {
- coalesceEventRequest(request);
- } else {
- queueRequest(request);
- }
- return;
- }
-
- /*
- * Dispatch request in case timer is not running.
- */
- if (fTimer == null) {
- queueRequest(request);
- return;
- }
-
- /*
- * For the first background request in the request pending queue
- * a timer will be started to allow other background requests to
- * coalesce.
- */
- boolean startTimer = (getNbPendingBackgroundRequests() == 0);
- coalesceEventRequest(request);
- if (startTimer) {
- TimerTask task = new TimerTask() {
- @Override
- public void run() {
- synchronized (fLock) {
- fIsTimeout = true;
- fireRequest();
- }
- }
- };
- fTimer.schedule(task, DELAY);
- }
- }
- }
-
- private void fireRequest() {
- synchronized (fLock) {
- if (fRequestPendingCounter > 0) {
- return;
- }
-
- if (fPendingCoalescedRequests.size() > 0) {
- Iterator<TmfCoalescedEventRequest> iter = fPendingCoalescedRequests.iterator();
- while (iter.hasNext()) {
- ExecutionType type = (fIsTimeout ? ExecutionType.BACKGROUND : ExecutionType.FOREGROUND);
- ITmfEventRequest request = iter.next();
- if (type == request.getExecType()) {
- queueRequest(request);
- iter.remove();
- }
- }
- }
- }
- }
-
- /**
- * Increments/decrements the pending requests counters and fires the request
- * if necessary (counter == 0). Used for coalescing requests across multiple
- * TmfDataProvider's.
- *
- * @param isIncrement
- * Should we increment (true) or decrement (false) the pending
- * counter
- */
- @Override
- public void notifyPendingRequest(boolean isIncrement) {
- synchronized (fLock) {
- if (isIncrement) {
- fRequestPendingCounter++;
- } else {
- if (fRequestPendingCounter > 0) {
- fRequestPendingCounter--;
- }
-
- // fire request if all pending requests are received
- if (fRequestPendingCounter == 0) {
- fireRequest();
- }
- }
- }
- }
-
- // ------------------------------------------------------------------------
- // Coalescing
- // ------------------------------------------------------------------------
-
- /**
- * Create a new request from an existing one, and add it to the coalesced
- * requests
- *
- * @param request
- * The request to copy
- * @since 3.0
- */
- protected void newCoalescedEventRequest(ITmfEventRequest request) {
- synchronized (fLock) {
- TmfCoalescedEventRequest coalescedRequest = new TmfCoalescedEventRequest(
- request.getDataType(),
- request.getRange(),
- request.getIndex(),
- request.getNbRequested(),
- request.getExecType());
- coalescedRequest.addRequest(request);
- if (TmfCoreTracer.isRequestTraced()) {
- TmfCoreTracer.traceRequest(request, "COALESCED with " + coalescedRequest.getRequestId()); //$NON-NLS-1$
- TmfCoreTracer.traceRequest(coalescedRequest, "now contains " + coalescedRequest.getSubRequestIds()); //$NON-NLS-1$
- }
- fPendingCoalescedRequests.add(coalescedRequest);
- }
- }
-
- /**
- * Add an existing requests to the list of coalesced ones
- *
- * @param request
- * The request to add to the list
- * @since 3.0
- */
- protected void coalesceEventRequest(ITmfEventRequest request) {
- synchronized (fLock) {
- for (TmfCoalescedEventRequest coalescedRequest : fPendingCoalescedRequests) {
- if (coalescedRequest.isCompatible(request)) {
- coalescedRequest.addRequest(request);
- if (TmfCoreTracer.isRequestTraced()) {
- TmfCoreTracer.traceRequest(request, "COALESCED with " + coalescedRequest.getRequestId()); //$NON-NLS-1$
- TmfCoreTracer.traceRequest(coalescedRequest, "now contains " + coalescedRequest.getSubRequestIds()); //$NON-NLS-1$
- }
- return;
- }
- }
- newCoalescedEventRequest(request);
- }
- }
-
- /**
- * Gets the number of background requests in pending queue.
- *
- * @return the number of background requests in pending queue
- */
- private int getNbPendingBackgroundRequests() {
- int nbBackgroundRequests = 0;
- synchronized (fLock) {
- for (ITmfEventRequest request : fPendingCoalescedRequests) {
- if (request.getExecType() == ExecutionType.BACKGROUND) {
- nbBackgroundRequests++;
- }
- }
- }
- return nbBackgroundRequests;
- }
-
- // ------------------------------------------------------------------------
- // Request processing
- // ------------------------------------------------------------------------
-
- /**
- * Queue a request.
- *
- * @param request
- * The data request
- * @since 3.0
- */
- protected void queueRequest(final ITmfEventRequest request) {
-
- if (fExecutor.isShutdown()) {
- request.cancel();
- return;
- }
-
- TmfEventThread thread = new TmfEventThread(this, request);
-
- if (TmfCoreTracer.isRequestTraced()) {
- TmfCoreTracer.traceRequest(request, "QUEUED"); //$NON-NLS-1$
- }
-
- fExecutor.execute(thread);
- }
-
- /**
- * Initialize the provider based on the request. The context is provider
- * specific and will be updated by getNext().
- *
- * @param request
- * The request
- * @return An application specific context; null if request can't be
- * serviced
- * @since 3.0
- */
- public abstract ITmfContext armRequest(ITmfEventRequest request);
-
- /**
- * Checks if the data meets the request completion criteria.
- *
- * @param request
- * The request
- * @param event
- * The data to verify
- * @param nbRead
- * The number of events read so far
- * @return true if completion criteria is met
- * @since 3.0
- */
- public boolean isCompleted(ITmfEventRequest request, ITmfEvent event, int nbRead) {
- boolean requestCompleted = isCompleted2(request, nbRead);
- if (!requestCompleted) {
- ITmfTimestamp endTime = request.getRange().getEndTime();
- return event.getTimestamp().compareTo(endTime, false) > 0;
- }
- return requestCompleted;
- }
-
- private static boolean isCompleted2(ITmfEventRequest request,int nbRead) {
- return request.isCompleted() || nbRead >= request.getNbRequested();
- }
-
- // ------------------------------------------------------------------------
- // Pass-through's to the request executor
- // ------------------------------------------------------------------------
-
- /**
- * @return the shutdown state (i.e. if it is accepting new requests)
- * @since 2.0
- */
- protected boolean executorIsShutdown() {
- return fExecutor.isShutdown();
- }
-
- /**
- * @return the termination state
- * @since 2.0
- */
- protected boolean executorIsTerminated() {
- return fExecutor.isTerminated();
- }
-
- // ------------------------------------------------------------------------
- // Signal handlers
- // ------------------------------------------------------------------------
-
- /**
- * Handler for the start synch signal
- *
- * @param signal
- * Incoming signal
- */
- @TmfSignalHandler
- public void startSynch(TmfStartSynchSignal signal) {
- synchronized (fLock) {
- fSignalDepth++;
- }
- }
-
- /**
- * Handler for the end synch signal
- *
- * @param signal
- * Incoming signal
- */
- @TmfSignalHandler
- public void endSynch(TmfEndSynchSignal signal) {
- synchronized (fLock) {
- fSignalDepth--;
- if (fSignalDepth == 0) {
- fIsTimeout = false;
- fireRequest();
- }
- }
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/event/ITmfCustomAttributes.java b/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/event/ITmfCustomAttributes.java
deleted file mode 100644
index 923c5ca459..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/event/ITmfCustomAttributes.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 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:
- * Simon Delisle - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.core.event;
-
-import java.util.Set;
-
-/**
- * Interface for events to implement to provide information about custom
- * attributes.
- *
- * @author Simon Delisle
- * @since 2.0
- */
-public interface ITmfCustomAttributes {
-
- /**
- * List the custom attributes of this event.
- *
- * @return The list of custom attribute names. Should not be null, but could
- * be empty.
- */
- Set<String> listCustomAttributes();
-
- /**
- * Get the value of a custom attribute.
- *
- * @param name
- * Name of the the custom attribute
- * @return Value of this attribute, or null if there is no attribute with
- * that name
- */
- String getCustomAttribute(String name);
-} \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/event/ITmfEvent.java b/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/event/ITmfEvent.java
deleted file mode 100644
index 807552e565..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/event/ITmfEvent.java
+++ /dev/null
@@ -1,113 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2012, 2013 Ericsson
- *
- * All rights reserved. This program and the accompanying materials are
- * made available under the terms of the Eclipse Public License v1.0 which
- * accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Francois Chouinard - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.core.event;
-
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.jdt.annotation.NonNull;
-import org.eclipse.linuxtools.tmf.core.timestamp.ITmfTimestamp;
-import org.eclipse.linuxtools.tmf.core.trace.ITmfTrace;
-
-/**
- * The generic event structure in TMF. In its canonical form, an event has:
- * <ul>
- * <li>a parent trace
- * <li>a rank (order within the trace)
- * <li>a timestamp
- * <li>a source (reporting component)
- * <li>a type
- * <li>a content (payload)
- * </ul>
- * For convenience, a free-form reference field is also provided. It could be
- * used as e.g. a location marker (filename:lineno) to indicate where the event
- * was generated.
- *
- * @version 1.0
- * @author Francois Chouinard
- *
- * @see ITmfTimestamp
- * @see ITmfEventType
- * @see ITmfEventField
- * @see TmfEvent
- */
-public interface ITmfEvent extends IAdaptable {
-
- // ------------------------------------------------------------------------
- // Constants
- // ------------------------------------------------------------------------
-
- /**
- * Pre-defined event timestamp attribute (for searching &filtering purposes)
- */
- public static final @NonNull String EVENT_FIELD_TIMESTAMP = ":timestamp:"; //$NON-NLS-1$
-
- /**
- * Pre-defined event source attribute (for searching &filtering purposes)
- */
- public static final @NonNull String EVENT_FIELD_SOURCE = ":source:"; //$NON-NLS-1$
-
- /**
- * Pre-defined event type attribute (for searching &filtering purposes)
- */
- public static final @NonNull String EVENT_FIELD_TYPE = ":type:"; //$NON-NLS-1$
-
- /**
- * Pre-defined event content attribute (for searching &filtering purposes)
- */
- public static final @NonNull String EVENT_FIELD_CONTENT = ":content:"; //$NON-NLS-1$
-
- /**
- * Pre-defined event reference attribute (for searching &filtering purposes)
- */
- public static final @NonNull String EVENT_FIELD_REFERENCE = ":reference:"; //$NON-NLS-1$
-
- // ------------------------------------------------------------------------
- // Getters
- // ------------------------------------------------------------------------
-
- /**
- * @return the trace that 'owns' the event
- */
- ITmfTrace getTrace();
-
- /**
- * @return the event rank within the parent trace
- */
- long getRank();
-
- /**
- * @return the event timestamp
- * @since 2.0
- */
- ITmfTimestamp getTimestamp();
-
- /**
- * @return the event source
- */
- String getSource();
-
- /**
- * @return the event type
- */
- ITmfEventType getType();
-
- /**
- * @return the event content
- */
- ITmfEventField getContent();
-
- /**
- * @return the event reference
- */
- String getReference();
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/event/ITmfEventField.java b/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/event/ITmfEventField.java
deleted file mode 100644
index 72f250f6d1..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/event/ITmfEventField.java
+++ /dev/null
@@ -1,96 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2012, 2014 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
- * Alexandre Montplaisir - Removed arrays from the API
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.core.event;
-
-import java.util.Collection;
-
-import org.eclipse.jdt.annotation.NonNull;
-
-/**
- * The generic event payload in TMF. Each field can be either a terminal or
- * further decomposed into subfields.
- *
- * @version 1.0
- * @author Francois Chouinard
- *
- * @see ITmfEvent
- * @see ITmfEventType
- */
-public interface ITmfEventField {
-
- // ------------------------------------------------------------------------
- // Constants
- // ------------------------------------------------------------------------
-
- /**
- * The root field id (the main container)
- */
- public static final @NonNull String ROOT_FIELD_ID = ":root:"; //$NON-NLS-1$
-
- // ------------------------------------------------------------------------
- // Getters
- // ------------------------------------------------------------------------
-
- /**
- * @return the field name
- */
- String getName();
-
- /**
- * @return the field value
- */
- Object getValue();
-
- /**
- * @return the value formatted as string
- * @since 2.0
- */
- String getFormattedValue();
-
- /**
- * Return the subfield names. The iteration order is the same as
- * {@link #getFields()}. The returned Collection is immutable.
- *
- * @return The subfield names (empty Collection if none)
- * @since 3.0
- */
- Collection<String> getFieldNames();
-
- /**
- * Return the subfield. The iteration order is the same as
- * {@link #getFieldNames()}. The returned Collection is immutable.
- *
- * @return The subfields (empty Collection if none)
- * @since 3.0
- */
- Collection<? extends ITmfEventField> getFields();
-
- /**
- * @param name The name of the field
- * @return a specific subfield by name (null if absent or inexistent)
- */
- ITmfEventField getField(String name);
-
- /**
- * Gets the a sub-field of this field, which may be multiple levels down.
- *
- * @param path
- * Array of field names to recursively go through
- * @return The field at the end, or null if a field in the path cannot be
- * found
- * @since 3.0
- */
- ITmfEventField getSubField(String... path);
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/event/ITmfEventType.java b/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/event/ITmfEventType.java
deleted file mode 100644
index 07dd4b3e5e..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/event/ITmfEventType.java
+++ /dev/null
@@ -1,69 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2012, 2013 Ericsson
- *
- * All rights reserved. This program and the accompanying materials are
- * made available under the terms of the Eclipse Public License v1.0 which
- * accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Francois Chouinard - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.core.event;
-
-import java.util.Collection;
-
-/**
- * The generic event type in TMF. It contains a reference to the full field structure
- * for that event type.
- * <p>
- * Types are unique within their context space.
- *
- * @version 1.0
- * @author Francois Chouinard
- *
- * @see ITmfEvent
- * @see ITmfEventField
- */
-public interface ITmfEventType {
-
- // ------------------------------------------------------------------------
- // Constants
- // ------------------------------------------------------------------------
-
- /**
- * The default event type content
- */
- public static final String DEFAULT_CONTEXT_ID = "TmfContext"; //$NON-NLS-1$
-
- /**
- * The default event type name
- */
- public static final String DEFAULT_TYPE_ID = "TmfType"; //$NON-NLS-1$
-
- // ------------------------------------------------------------------------
- // Getters
- // ------------------------------------------------------------------------
-
- /**
- * @return the event type context
- */
- String getContext();
-
- /**
- * @return the event type ID
- */
- String getName();
-
- /**
- * @return the event type root field
- */
- ITmfEventField getRootField();
-
- /**
- * @return the event field names (labels)
- * @since 3.0
- */
- Collection<String> getFieldNames();
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/event/ITmfLostEvent.java b/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/event/ITmfLostEvent.java
deleted file mode 100644
index 8408e3caba..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/event/ITmfLostEvent.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2012, 2013 Ericsson
- *
- * All rights reserved. This program and the accompanying materials are
- * made available under the terms of the Eclipse Public License v1.0 which
- * accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Francois Chouinard - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.core.event;
-
-import org.eclipse.linuxtools.tmf.core.timestamp.TmfTimeRange;
-
-/**
- * The generic lost event structure in TMF.
- *
- * In some demanding situations, tracers can be overwhelmed and have a hard time
- * keeping up with the flow of events to record. Usually, even if a tracer can't
- * keep up, it can at least record the number of events that it lost.
- *
- * This interface provides the different components (e.g. views) with a mean to
- * identify and highlight such events.
- *
- * This interface extends ITmfEvent by adding the number of lost events for a
- * 'problematic' time range.
- *
- * @see TmfLostEvent
- *
- * @author Francois Chouinard
- * @version 1.0
- * @since 1.2
- */
-public interface ITmfLostEvent extends ITmfEvent {
-
- // ------------------------------------------------------------------------
- // Getters
- // ------------------------------------------------------------------------
-
- /**
- * @return the 'problem' time range
- * @since 2.0
- */
- TmfTimeRange getTimeRange();
-
- /**
- * @return the number of lost events in the time range
- */
- long getNbLostEvents();
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/event/TmfEvent.java b/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/event/TmfEvent.java
deleted file mode 100644
index 0a1763a864..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/event/TmfEvent.java
+++ /dev/null
@@ -1,249 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009, 2013 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 - Updated as per TMF Event Model 1.0
- * Alexandre Montplaisir - Made immutable
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.core.event;
-
-import org.eclipse.core.runtime.PlatformObject;
-import org.eclipse.linuxtools.tmf.core.timestamp.ITmfTimestamp;
-import org.eclipse.linuxtools.tmf.core.trace.ITmfContext;
-import org.eclipse.linuxtools.tmf.core.trace.ITmfTrace;
-
-/**
- * A basic implementation of ITmfEvent.
- *
- * @version 1.0
- * @author Francois Chouinard
- *
- * @see ITmfTimestamp
- * @see ITmfEventType
- * @see ITmfEventField
- * @see ITmfTrace
- */
-public class TmfEvent extends PlatformObject implements ITmfEvent {
-
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
-
- private final ITmfTrace fTrace;
- private final long fRank;
- private final ITmfTimestamp fTimestamp;
- private final String fSource;
- private final ITmfEventType fType;
- private final ITmfEventField fContent;
- private final String fReference;
-
- // ------------------------------------------------------------------------
- // Constructors
- // ------------------------------------------------------------------------
-
- /**
- * Default constructor. All fields have their default value (null) and the
- * event rank is set to TmfContext.UNKNOWN_RANK.
- */
- public TmfEvent() {
- this(null, ITmfContext.UNKNOWN_RANK, null, null, null, null, null);
- }
-
- /**
- * Standard constructor. The event rank will be set to TmfContext.UNKNOWN_RANK.
- *
- * @param trace the parent trace
- * @param timestamp the event timestamp
- * @param source the event source
- * @param type the event type
- * @param content the event content (payload)
- * @param reference the event reference
- * @since 2.0
-
- */
- public TmfEvent(final ITmfTrace trace, final ITmfTimestamp timestamp, final String source,
- final ITmfEventType type, final ITmfEventField content, final String reference)
- {
- this(trace, ITmfContext.UNKNOWN_RANK, timestamp, source, type, content, reference);
- }
-
- /**
- * Full constructor
- *
- * @param trace the parent trace
- * @param rank the event rank (in the trace)
- * @param timestamp the event timestamp
- * @param source the event source
- * @param type the event type
- * @param content the event content (payload)
- * @param reference the event reference
- * @since 2.0
- */
- public TmfEvent(final ITmfTrace trace, final long rank, final ITmfTimestamp timestamp, final String source,
- final ITmfEventType type, final ITmfEventField content, final String reference)
- {
- fTrace = trace;
- fRank = rank;
- fTimestamp = timestamp;
- fSource = source;
- fType = type;
- fContent = content;
- fReference = reference;
- }
-
- /**
- * Copy constructor
- *
- * @param event the original event
- */
- public TmfEvent(final ITmfEvent event) {
- if (event == null) {
- throw new IllegalArgumentException();
- }
- fTrace = event.getTrace();
- fRank = event.getRank();
- fTimestamp = event.getTimestamp();
- fSource = event.getSource();
- fType = event.getType();
- fContent = event.getContent();
- fReference = event.getReference();
- }
-
- // ------------------------------------------------------------------------
- // ITmfEvent
- // ------------------------------------------------------------------------
-
- @Override
- public ITmfTrace getTrace() {
- return fTrace;
- }
-
- @Override
- public long getRank() {
- return fRank;
- }
-
- /**
- * @since 2.0
- */
- @Override
- public ITmfTimestamp getTimestamp() {
- return fTimestamp;
- }
-
- @Override
- public String getSource() {
- return fSource;
- }
-
- @Override
- public ITmfEventType getType() {
- return fType;
- }
-
- @Override
- public ITmfEventField getContent() {
- return fContent;
- }
-
- @Override
- public String getReference() {
- return fReference;
- }
-
- // ------------------------------------------------------------------------
- // Object
- // ------------------------------------------------------------------------
-
- @Override
- public int hashCode() {
- final int prime = 31;
- int result = 1;
- result = prime * result + ((fTrace == null) ? 0 : fTrace.hashCode());
- result = prime * result + (int) (fRank ^ (fRank >>> 32));
- result = prime * result + ((fTimestamp == null) ? 0 : fTimestamp.hashCode());
- result = prime * result + ((fSource == null) ? 0 : fSource.hashCode());
- result = prime * result + ((fType == null) ? 0 : fType.hashCode());
- result = prime * result + ((fContent == null) ? 0 : fContent.hashCode());
- result = prime * result + ((fReference == null) ? 0 : fReference.hashCode());
- return result;
- }
-
- @Override
- public boolean equals(final Object obj) {
- if (this == obj) {
- return true;
- }
- if (obj == null) {
- return false;
- }
- if (!(obj instanceof TmfEvent)) {
- return false;
- }
- final TmfEvent other = (TmfEvent) obj;
- if (fTrace == null) {
- if (other.fTrace != null) {
- return false;
- }
- } else if (!fTrace.equals(other.fTrace)) {
- return false;
- }
- if (fRank != other.fRank) {
- return false;
- }
- if (fTimestamp == null) {
- if (other.fTimestamp != null) {
- return false;
- }
- } else if (!fTimestamp.equals(other.fTimestamp)) {
- return false;
- }
- if (fSource == null) {
- if (other.fSource != null) {
- return false;
- }
- } else if (!fSource.equals(other.fSource)) {
- return false;
- }
- if (fType == null) {
- if (other.fType != null) {
- return false;
- }
- } else if (!fType.equals(other.fType)) {
- return false;
- }
- if (fContent == null) {
- if (other.fContent != null) {
- return false;
- }
- } else if (!fContent.equals(other.fContent)) {
- return false;
- }
- if (fReference == null) {
- if (other.fReference != null) {
- return false;
- }
- } else if (!fReference.equals(other.fReference)) {
- return false;
- }
- return true;
- }
-
- @Override
- @SuppressWarnings("nls")
- public String toString() {
- return getClass().getSimpleName() + " [fTimestamp=" + getTimestamp()
- + ", fTrace=" + getTrace() + ", fRank=" + getRank()
- + ", fSource=" + getSource() + ", fType=" + getType()
- + ", fContent=" + getContent() + ", fReference=" + getReference()
- + "]";
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/event/TmfEventField.java b/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/event/TmfEventField.java
deleted file mode 100644
index f98221b8c7..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/event/TmfEventField.java
+++ /dev/null
@@ -1,261 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009, 2014 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 - Updated as per TMF Event Model 1.0
- * Alexandre Montplaisir - Removed Cloneable, made immutable
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.core.event;
-
-import java.util.Collection;
-
-import org.eclipse.jdt.annotation.NonNull;
-import org.eclipse.jdt.annotation.Nullable;
-
-import com.google.common.base.Joiner;
-import com.google.common.collect.ImmutableMap;
-
-/**
- * A basic implementation of ITmfEventField.
- * <p>
- * Non-value fields are structural (i.e. used to represent the event structure
- * including optional fields) while the valued fields are actual event fields.
- *
- * @version 1.0
- * @author Francois Chouinard
- *
- * @see ITmfEvent
- * @see ITmfEventType
- */
-public class TmfEventField implements ITmfEventField {
-
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
-
- private final @NonNull String fName;
- private final @Nullable Object fValue;
- private final @NonNull ImmutableMap<String, ITmfEventField> fFields;
-
- // ------------------------------------------------------------------------
- // Constructors
- // ------------------------------------------------------------------------
-
- /**
- * Full constructor
- *
- * @param name
- * the event field id
- * @param value
- * the event field value
- * @param fields
- * the list of subfields
- * @throws IllegalArgumentException
- * If 'name' is null, or if 'fields' has duplicate field names.
- */
- @SuppressWarnings("null") /* ImmutableMap methods do not return @NonNull */
- public TmfEventField(String name, @Nullable Object value, @Nullable ITmfEventField[] fields) {
- if (name == null) {
- throw new IllegalArgumentException();
- }
- fName = name;
- fValue = value;
-
- if (fields == null) {
- fFields = ImmutableMap.of();
- } else {
- /* Java 8 streams will make this even more simple! */
- ImmutableMap.Builder<String, ITmfEventField> mapBuilder = new ImmutableMap.Builder<>();
- for (ITmfEventField field : fields) {
- final String curName = field.getName();
- mapBuilder.put(curName, field);
- }
- fFields = mapBuilder.build();
- }
- }
-
- /**
- * Copy constructor
- *
- * @param field the other event field
- */
- public TmfEventField(final TmfEventField field) {
- if (field == null) {
- throw new IllegalArgumentException();
- }
- fName = field.fName;
- fValue = field.fValue;
- fFields = field.fFields;
- }
-
- // ------------------------------------------------------------------------
- // ITmfEventField
- // ------------------------------------------------------------------------
-
- @Override
- public String getName() {
- return fName;
- }
-
- @Override
- public Object getValue() {
- return fValue;
- }
-
- /**
- * @since 3.0
- */
- @Override
- public Collection<String> getFieldNames() {
- return fFields.keySet();
- }
-
- /**
- * @since 3.0
- */
- @Override
- public Collection<ITmfEventField> getFields() {
- return fFields.values();
- }
-
- @Override
- public ITmfEventField getField(final String name) {
- return fFields.get(name);
- }
-
- /**
- * @since 3.0
- */
- @Override
- public ITmfEventField getSubField(final String... names) {
- ITmfEventField field = this;
- for (String name : names) {
- field = field.getField(name);
- if (field == null) {
- return null;
- }
- }
- return field;
- }
-
- // ------------------------------------------------------------------------
- // Operations
- // ------------------------------------------------------------------------
-
- /**
- * Create a root field from a list of labels.
- *
- * @param labels the list of labels
- * @return the (flat) root list
- */
- public final static ITmfEventField makeRoot(final String[] labels) {
- final ITmfEventField[] fields = new ITmfEventField[labels.length];
- for (int i = 0; i < labels.length; i++) {
- fields[i] = new TmfEventField(labels[i], null, null);
- }
- // Return a new root field;
- return new TmfEventField(ITmfEventField.ROOT_FIELD_ID, null, fields);
- }
-
- // ------------------------------------------------------------------------
- // Object
- // ------------------------------------------------------------------------
-
- @Override
- public int hashCode() {
- Object value = fValue;
- final int prime = 31;
- int result = 1;
- result = prime * result + fName.hashCode();
- result = prime * result + ((value == null) ? 0 : value.hashCode());
- result = prime * result + fFields.hashCode();
- return result;
- }
-
- @Override
- public boolean equals(final Object obj) {
- if (this == obj) {
- return true;
- }
- if (obj == null) {
- return false;
- }
- if (!(obj instanceof TmfEventField)) {
- return false;
- }
-
- final TmfEventField other = (TmfEventField) obj;
-
- /* Check that 'fName' is the same */
- if (!fName.equals(other.fName)) {
- return false;
- }
-
- /* Check that 'fValue' is the same */
- Object value = this.fValue;
- if (value == null) {
- if (other.fValue != null) {
- return false;
- }
- } else if (!value.equals(other.fValue)) {
- return false;
- }
-
- /* Check that 'fFields' are the same */
- if (!fFields.equals(other.fFields)) {
- return false;
- }
-
- return true;
- }
-
- @Override
- public String toString() {
- StringBuilder ret = new StringBuilder();
- if (fName.equals(ITmfEventField.ROOT_FIELD_ID)) {
- /*
- * If this field is a top-level "field container", we will print its
- * sub-fields directly.
- */
- appendSubFields(ret);
-
- } else {
- /* The field has its own values */
- ret.append(fName);
- ret.append('=');
- ret.append(fValue);
-
- if (!fFields.isEmpty()) {
- /*
- * In addition to its own name/value, this field also has
- * sub-fields.
- */
- ret.append(" ["); //$NON-NLS-1$
- appendSubFields(ret);
- ret.append(']');
- }
- }
- return ret.toString();
- }
-
- private void appendSubFields(StringBuilder sb) {
- Joiner joiner = Joiner.on(", ").skipNulls(); //$NON-NLS-1$
- sb.append(joiner.join(getFields()));
- }
-
- /**
- * @since 2.0
- */
- @Override
- public String getFormattedValue() {
- return getValue().toString();
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/event/TmfEventType.java b/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/event/TmfEventType.java
deleted file mode 100644
index da6a08ab62..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/event/TmfEventType.java
+++ /dev/null
@@ -1,149 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009, 2013 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 - Updated as per TMF Event Model 1.0
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.core.event;
-
-import java.util.Collection;
-import java.util.Collections;
-
-/**
- * A basic implementation of ITmfEventType.
- *
- * @version 1.0
- * @author Francois Chouinard
- *
- * @see ITmfEvent
- * @see ITmfEventField
- */
-public class TmfEventType implements ITmfEventType {
-
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
-
- private final String fContext;
- private final String fTypeId;
- private final ITmfEventField fRootField;
-
- // ------------------------------------------------------------------------
- // Constructors
- // ------------------------------------------------------------------------
-
- /**
- * Default constructor
- */
- public TmfEventType() {
- this(DEFAULT_CONTEXT_ID, DEFAULT_TYPE_ID, null);
- }
-
- /**
- * Full constructor
- *
- * @param context the type context
- * @param typeId the type name
- * @param root the root field
- */
- public TmfEventType(final String context, final String typeId, final ITmfEventField root) {
- if (context == null || typeId == null) {
- throw new IllegalArgumentException();
- }
- fContext = context;
- fTypeId = typeId;
- fRootField = root;
-
- // Register to the event type manager
- TmfEventTypeManager.getInstance().add(context, this);
- }
-
- /**
- * Copy constructor
- *
- * @param type the other type
- */
- public TmfEventType(final ITmfEventType type) {
- if (type == null) {
- throw new IllegalArgumentException();
- }
- fContext = type.getContext();
- fTypeId = type.getName();
- fRootField = type.getRootField();
- }
-
- // ------------------------------------------------------------------------
- // ITmfEventType
- // ------------------------------------------------------------------------
-
- @Override
- public String getContext() {
- return fContext;
- }
-
- @Override
- public String getName() {
- return fTypeId;
- }
-
- @Override
- public ITmfEventField getRootField() {
- return fRootField;
- }
-
- /**
- * @since 3.0
- */
- @Override
- public Collection<String> getFieldNames() {
- return (fRootField != null) ? fRootField.getFieldNames() : Collections.EMPTY_SET;
- }
-
- // ------------------------------------------------------------------------
- // Object
- // ------------------------------------------------------------------------
-
- @Override
- public int hashCode() {
- final int prime = 31;
- int result = 1;
- result = prime * result + fContext.hashCode();
- result = prime * result + fTypeId.hashCode();
- return result;
- }
-
- @Override
- public boolean equals(final Object obj) {
- if (this == obj) {
- return true;
- }
- if (obj == null) {
- return false;
- }
- if (!(obj instanceof TmfEventType)) {
- return false;
- }
- final TmfEventType other = (TmfEventType) obj;
- if (!fContext.equals(other.fContext)) {
- return false;
- }
- if (!fTypeId.equals(other.fTypeId)) {
- return false;
- }
- return true;
- }
-
- @Override
- @SuppressWarnings("nls")
- public String toString() {
- return "TmfEventType [fContext=" + fContext + ", fTypeId=" + fTypeId + "]";
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/event/TmfEventTypeManager.java b/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/event/TmfEventTypeManager.java
deleted file mode 100644
index 4a6a5bc215..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/event/TmfEventTypeManager.java
+++ /dev/null
@@ -1,147 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2012, 2013 Ericsson
- *
- * All rights reserved. This program and the accompanying materials are
- * made available under the terms of the Eclipse Public License v1.0 which
- * accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Francois Chouinard - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.core.event;
-
-import java.util.HashMap;
-import java.util.Map;
-import java.util.Set;
-
-import com.google.common.collect.ImmutableSet;
-
-/**
- * A central repository for the available event types. Types are managed by
- * context space.
- *
- * @version 1.0
- * @author Francois Chouinard
- *
- * @see ITmfEventType
- */
-public final class TmfEventTypeManager {
-
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
-
- // The event type manager singleton
- private static TmfEventTypeManager fEventTypeManager = null;
-
- // The available types, per context
- private final Map<String, HashMap<String, ITmfEventType>> fEventTypes;
-
- // ------------------------------------------------------------------------
- // Constructors
- // ------------------------------------------------------------------------
-
- /**
- * The singleton constructor
- */
- private TmfEventTypeManager() {
- fEventTypes = new HashMap<>();
- }
-
- /**
- * @return the TmfEventTypeManager singleton
- */
- public static synchronized TmfEventTypeManager getInstance() {
- if (fEventTypeManager == null) {
- fEventTypeManager = new TmfEventTypeManager();
- }
- return fEventTypeManager;
- }
-
- // ------------------------------------------------------------------------
- // Operations
- // ------------------------------------------------------------------------
-
- /**
- * Add a context:type pair to the available types
- *
- * @param context the target context
- * @param type the type to add
- */
- public synchronized void add(final String context, final ITmfEventType type) {
- HashMap<String, ITmfEventType> types = fEventTypes.get(context);
- if (types == null) {
- types = new HashMap<>();
- }
- types.put(type.getName(), type);
- fEventTypes.put(context, types);
- }
-
- /**
- * Return the list of currently defined contexts
- *
- * @return the list of contexts
- */
- public synchronized String[] getContexts() {
- return fEventTypes.keySet().toArray(new String[fEventTypes.size()]);
- }
-
- /**
- * Return the list of types defined for a given context
- *
- * @param context the context to look into
- * @return the list of types defined for that context
- * @since 3.0
- */
- public synchronized Set<ITmfEventType> getTypes(final String context) {
- final HashMap<String, ITmfEventType> types = fEventTypes.get(context);
- if (types != null) {
- return ImmutableSet.copyOf(types.values());
- }
- return ImmutableSet.of();
- }
-
- /**
- * Return an event type
- *
- * @param context the context to look into
- * @param typeId the type ID
- * @return the corresponding type
- */
- public synchronized ITmfEventType getType(final String context, final String typeId) {
- final HashMap<String, ITmfEventType> types = fEventTypes.get(context);
- if (types != null) {
- return types.get(typeId);
- }
- return null;
- }
-
- /**
- * Remove the types associated to a context
- *
- * @param context the context to remove
- */
- public synchronized void clear(final String context) {
- fEventTypes.remove(context);
- }
-
- /**
- * Remove all contexts and types
- */
- public synchronized void clear() {
- fEventTypes.clear();
- }
-
- // ------------------------------------------------------------------------
- // Object
- // ------------------------------------------------------------------------
-
- @Override
- @SuppressWarnings("nls")
- public String toString() {
- return "TmfEventTypeManager [fEventTypes=" + fEventTypes + "]";
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/event/TmfLostEvent.java b/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/event/TmfLostEvent.java
deleted file mode 100644
index 04d13ecea0..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/event/TmfLostEvent.java
+++ /dev/null
@@ -1,136 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2012, 2013 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
- * Alexandre Montplaisir - Made immutable
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.core.event;
-
-import org.eclipse.linuxtools.tmf.core.timestamp.ITmfTimestamp;
-import org.eclipse.linuxtools.tmf.core.timestamp.TmfTimeRange;
-import org.eclipse.linuxtools.tmf.core.trace.ITmfTrace;
-
-/**
- * A basic implementation of ITmfLostEvent.
- *
- * @author Francois Chouinard
- * @version 1.0
- * @since 1.2
-*/
-public class TmfLostEvent extends TmfEvent implements ITmfLostEvent {
-
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
-
- private final TmfTimeRange fTimeRange;
- private final long fNbLostEvents;
-
- // ------------------------------------------------------------------------
- // Constructors
- // ------------------------------------------------------------------------
-
- /**
- * Full constructor
- *
- * @param trace
- * the parent trace
- * @param rank
- * the event rank (in the trace)
- * @param timestamp
- * the event timestamp
- * @param source
- * the event source
- * @param type
- * the event type
- * @param reference
- * the event reference
- * @param timeRange
- * the 'problematic' time range
- * @param nbLostEvents
- * the number of lost events in the time range
- * @since 2.0
- */
- public TmfLostEvent(final ITmfTrace trace,
- final long rank,
- final ITmfTimestamp timestamp,
- final String source,
- final ITmfEventType type,
- final String reference,
- final TmfTimeRange timeRange,
- final long nbLostEvents) {
- super(trace, rank, timestamp, source, type, null, reference);
- fTimeRange = timeRange;
- fNbLostEvents = nbLostEvents;
- }
-
- // ------------------------------------------------------------------------
- // ITmfLostEvent
- // ------------------------------------------------------------------------
-
- /**
- * @since 2.0
- */
- @Override
- public TmfTimeRange getTimeRange() {
- return fTimeRange;
- }
-
- @Override
- public long getNbLostEvents() {
- return fNbLostEvents;
- }
-
- // ------------------------------------------------------------------------
- // Object
- // ------------------------------------------------------------------------
-
- @Override
- public int hashCode() {
- final int prime = 31;
- int result = super.hashCode();
- result = prime * result + (int) (fNbLostEvents ^ (fNbLostEvents >>> 32));
- result = prime * result + ((fTimeRange == null) ? 0 : fTimeRange.hashCode());
- return result;
- }
-
- @Override
- public boolean equals(Object obj) {
- if (this == obj) {
- return true;
- }
- if (!super.equals(obj)) {
- return false;
- }
- if (!(obj instanceof TmfLostEvent)) {
- return false;
- }
- TmfLostEvent other = (TmfLostEvent) obj;
- if (fNbLostEvents != other.fNbLostEvents) {
- return false;
- }
- if (fTimeRange == null) {
- if (other.fTimeRange != null) {
- return false;
- }
- } else if (!fTimeRange.equals(other.fTimeRange)) {
- return false;
- }
- return true;
- }
-
- @Override
- @SuppressWarnings("nls")
- public String toString() {
- return getClass().getSimpleName() + " [Event=" + super.toString() +
- ", fTimeRange=" + fTimeRange + ", fNbLostEvents=" + fNbLostEvents + "]";
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/event/collapse/ITmfCollapsibleEvent.java b/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/event/collapse/ITmfCollapsibleEvent.java
deleted file mode 100644
index 273ba20269..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/event/collapse/ITmfCollapsibleEvent.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 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:
- * Bernd Hufmann - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.linuxtools.tmf.core.event.collapse;
-
-import org.eclipse.linuxtools.tmf.core.event.ITmfEvent;
-
-/**
- * Interface for deciding whether an event can be collapsed with another event.
- *
- * @author Bernd Hufmann
- * @since 3.2
- */
-public interface ITmfCollapsibleEvent {
-
- /**
- * Verifies if an event is similar to a given event and can be collapsed
- * into one event. For example, an event can be seen as similar if all data
- * of the events but the timestamp is equal.
- *
- * @param otherEvent
- * an event to compare
- * @return <code>true</code> if a given event is similar to another event
- * else <code>false</code>
- */
- boolean isCollapsibleWith(ITmfEvent otherEvent);
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/event/lookup/ITmfCallsite.java b/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/event/lookup/ITmfCallsite.java
deleted file mode 100644
index 95ef5ff6a9..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/event/lookup/ITmfCallsite.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 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:
- * Bernd Hufmann - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.core.event.lookup;
-
-
-/**
- * The generic call site structure in TMF. A call site has:
- * <ul>
- * <li> a file name
- * <li> a function name (optional)
- * <li> a line number
- * </ul>
- *
- * @author Bernd Hufmann
- * @since 2.0
- *
- * @see TmfCallsite
- */
-public interface ITmfCallsite {
- /**
- * Returns the file name of the call site.
- * @return the file name
- */
- public String getFileName();
-
- /**
- * Returns the function name of the call site.
- * @return the function name or null
- */
- public String getFunctionName();
-
- /**
- * Returns the line number of the call site.
- * @return the line number
- */
- public long getLineNumber();
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/event/lookup/ITmfModelLookup.java b/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/event/lookup/ITmfModelLookup.java
deleted file mode 100644
index b5dbf08583..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/event/lookup/ITmfModelLookup.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 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:
- * Bernd Hufmann - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.linuxtools.tmf.core.event.lookup;
-
-
-/**
- * Interface for events to implement to provide information for model element lookup.
- *
- * @author Bernd Hufmann
- * @since 2.0
- */
-public interface ITmfModelLookup {
- /**
- * Returns a model URI string.
- *
- * @return a model URI string.
- */
- public String getModelUri();
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/event/lookup/ITmfSourceLookup.java b/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/event/lookup/ITmfSourceLookup.java
deleted file mode 100644
index c3daac9a46..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/event/lookup/ITmfSourceLookup.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 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:
- * Bernd Hufmann - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.linuxtools.tmf.core.event.lookup;
-
-
-/**
- * Interface for events to implement to provide information for source lookup.
- *
- * @author Bernd Hufmann
- * @since 2.0
- */
-public interface ITmfSourceLookup {
- /**
- * Returns a call site instance.
- *
- * @return a call site instance.
- */
- public ITmfCallsite getCallsite();
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/event/lookup/TmfCallsite.java b/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/event/lookup/TmfCallsite.java
deleted file mode 100644
index ca02084663..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/event/lookup/TmfCallsite.java
+++ /dev/null
@@ -1,150 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 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:
- * Bernd Hufmann - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.core.event.lookup;
-
-
-/**
- * TMF call site information for source code lookup.
- *
- * @since 2.0
- * @author Bernd Hufmann
- */
-public class TmfCallsite implements ITmfCallsite {
-
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
-
- /** The file name string. */
- final private String fFileName;
-
- /** The function name. */
- final private String fFunctionName;
-
- /** The line number. */
- final private long fLineNumber;
-
- // ------------------------------------------------------------------------
- // Constructors
- // ------------------------------------------------------------------------
-
- /**
- * Default constructor.
- *
- * @param fileName
- * - a file name
- * @param functionName
- * - a function name
- * @param lineNumber
- * - a line number
- */
- public TmfCallsite(String fileName, String functionName, long lineNumber) {
- if (fileName == null) {
- throw new IllegalArgumentException();
- }
- fFileName = fileName;
- fFunctionName = functionName;
- fLineNumber = lineNumber;
- }
-
- /**
- * Copy Constructor.
- *
- * @param other
- * - An other call site implementation
- */
- public TmfCallsite(ITmfCallsite other) {
- if ((other == null) || (other.getFileName() == null)) {
- throw new IllegalArgumentException();
- }
- fFileName = other.getFileName();
- fFunctionName = other.getFunctionName();
- fLineNumber = other.getLineNumber();
- }
-
- // ------------------------------------------------------------------------
- // Accessors
- // ------------------------------------------------------------------------
-
- @Override
- public String getFileName() {
- return fFileName;
- }
-
- @Override
- public String getFunctionName() {
- return fFunctionName;
- }
-
- @Override
- public long getLineNumber() {
- return fLineNumber;
- }
-
- // ------------------------------------------------------------------------
- // Operations
- // ------------------------------------------------------------------------
-
- @Override
- public int hashCode() {
- final int prime = 31;
- int result = 1;
- result = prime * result + fFileName.hashCode(); // fFileName cannot be null
- result = prime * result + ((fFunctionName == null) ? 0 : fFunctionName.hashCode());
- result = prime * result + (int) (fLineNumber ^ (fLineNumber >>> 32));
- return result;
- }
-
- @Override
- public boolean equals(Object obj) {
- if (this == obj) {
- return true;
- }
- if (obj == null) {
- return false;
- }
- if (getClass() != obj.getClass()) {
- return false;
- }
- TmfCallsite other = (TmfCallsite) obj;
-
- // fFileName cannot be null!
- if (!fFileName.equals(other.fFileName)) {
- return false;
- }
-
- if (fFunctionName == null) {
- if (other.fFunctionName != null) {
- return false;
- }
- } else if (!fFunctionName.equals(other.fFunctionName)) {
- return false;
- }
- if (fLineNumber != other.fLineNumber) {
- return false;
- }
- return true;
- }
-
- @Override
- public String toString() {
- StringBuilder builder = new StringBuilder();
- builder.append(fFileName).append(':');
- builder.append(Long.toString(fLineNumber));
- if (fFunctionName != null) {
- builder.append(' ');
- builder.append(fFunctionName).append("()"); //$NON-NLS-1$
- }
- return builder.toString();
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/event/matching/IMatchProcessingUnit.java b/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/event/matching/IMatchProcessingUnit.java
deleted file mode 100644
index 4fc90cc843..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/event/matching/IMatchProcessingUnit.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 École Polytechnique de Montréal
- *
- * 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:
- * Geneviève Bastien - Initial implementation and API
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.core.event.matching;
-
-import java.util.Collection;
-
-import org.eclipse.linuxtools.tmf.core.trace.ITmfTrace;
-
-/**
- * This class represent an action to be done when event matches are found. This
- * interface needs to be implemented by all classes that want to be warned when
- * new event matches are found. They need to register to an instance of
- * TmfEventMatches class in order to be informed of matches.
- *
- * @author Geneviève Bastien
- * @since 3.0
- */
-public interface IMatchProcessingUnit {
-
- /**
- * Once the traces are known, hook function to initialize some things
- *
- * @param fTraces the set of traces that will be synchronized
- */
- void init(Collection<ITmfTrace> fTraces);
-
- /**
- * Function called when a match is found
- *
- * @param match
- * The event match
- */
- void addMatch(TmfEventDependency match);
-
- /**
- * Function called after all matching has been done, to do any post-match
- * treatment
- */
- void matchingEnded();
-
- /**
- * Counts the matches
- *
- * @return the number of matches
- */
- int countMatches();
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/event/matching/ITmfEventMatching.java b/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/event/matching/ITmfEventMatching.java
deleted file mode 100644
index 1714ca8510..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/event/matching/ITmfEventMatching.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 École Polytechnique de Montréal
- *
- * 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:
- * Geneviève Bastien - Initial implementation and API
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.core.event.matching;
-
-
-/**
- * Interface for matching trace events
- *
- * @author Geneviève Bastien
- * @since 3.0
- */
-public interface ITmfEventMatching {
-
- /**
- * Method that start the process of matching events
- *
- * @return Whether the match was completed correctly or not
- */
- boolean matchEvents();
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/event/matching/ITmfMatchEventDefinition.java b/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/event/matching/ITmfMatchEventDefinition.java
deleted file mode 100644
index caba63508e..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/event/matching/ITmfMatchEventDefinition.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 École Polytechnique de Montréal
- *
- * 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:
- * Geneviève Bastien - Initial implementation and API
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.core.event.matching;
-
-import java.util.List;
-
-import org.eclipse.linuxtools.tmf.core.event.ITmfEvent;
-import org.eclipse.linuxtools.tmf.core.event.matching.TmfEventMatching.MatchingType;
-import org.eclipse.linuxtools.tmf.core.trace.ITmfTrace;
-
-/**
- * This interface describe a concrete method to match events. Typically it
- * manages for a given matching type what events/fields are used to match events
- *
- * @author Geneviève Bastien
- * @since 3.0
- */
-public interface ITmfMatchEventDefinition {
-
- /**
- * Returns a list of values for an event that uniquely identifies this event
- *
- * @param event
- * The event for which to compute the key
- * @return the unique key for this event
- */
- List<Object> getUniqueField(ITmfEvent event);
-
- /**
- * Verifies whether a trace has all required events to match using this
- * class
- *
- * @param trace
- * The trace
- * @return Whether the trace has all required information
- */
- boolean canMatchTrace(ITmfTrace trace);
-
- /**
- * Return all matching types this definition covers
- *
- * @return an array of matching types
- */
- MatchingType[] getApplicableMatchingTypes();
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/event/matching/ITmfNetworkMatchDefinition.java b/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/event/matching/ITmfNetworkMatchDefinition.java
deleted file mode 100644
index b6cf2b8119..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/event/matching/ITmfNetworkMatchDefinition.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 École Polytechnique de Montréal
- *
- * 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:
- * Geneviève Bastien - Initial implementation and API
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.core.event.matching;
-
-import org.eclipse.linuxtools.tmf.core.event.ITmfEvent;
-import org.eclipse.linuxtools.tmf.core.event.matching.TmfNetworkEventMatching.Direction;
-
-/**
- * Interface for all network match definitions, ie traces with send and receive
- * events
- *
- * @author Geneviève Bastien
- * @since 3.0
- */
-public interface ITmfNetworkMatchDefinition extends ITmfMatchEventDefinition {
-
- /**
- * Returns the direction of this event, whether 'send', 'receive' or null if
- * event is neither
- *
- * @param event
- * The event to check
- * @return The direction of this event, null if uninteresting event
- */
- Direction getDirection(ITmfEvent event);
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/event/matching/TmfEventDependency.java b/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/event/matching/TmfEventDependency.java
deleted file mode 100644
index 13502507b5..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/event/matching/TmfEventDependency.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 École Polytechnique de Montréal
- *
- * 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:
- * Geneviève Bastien - Initial implementation and API
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.core.event.matching;
-
-import org.eclipse.linuxtools.tmf.core.event.ITmfEvent;
-
-/**
- * Represents a dependency (match) between two events, where source event leads
- * to destination event
- *
- * @author Geneviève Bastien
- * @since 3.0
- */
-public class TmfEventDependency {
-
- private final ITmfEvent fSourceEvent;
- private final ITmfEvent fDestEvent;
-
- /**
- * Constructor
- *
- * @param source
- * The source event of this dependency
- * @param destination
- * The destination event of this dependency
- */
- public TmfEventDependency(final ITmfEvent source, final ITmfEvent destination) {
- fSourceEvent = source;
- fDestEvent = destination;
- }
-
- /**
- * Getter for fSourceEvent
- *
- * @return The source event
- */
- public ITmfEvent getSourceEvent() {
- return fSourceEvent;
- }
-
- /**
- * Getter for fDestEvent
- *
- * @return the Destination event
- */
- public ITmfEvent getDestinationEvent() {
- return fDestEvent;
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/event/matching/TmfEventMatches.java b/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/event/matching/TmfEventMatches.java
deleted file mode 100644
index c247d0c8a4..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/event/matching/TmfEventMatches.java
+++ /dev/null
@@ -1,80 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 École Polytechnique de Montréal
- *
- * 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:
- * Geneviève Bastien - Initial implementation and API
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.core.event.matching;
-
-import java.util.Collection;
-
-import org.eclipse.linuxtools.tmf.core.trace.ITmfTrace;
-
-/**
- * Class that does something with a match.
- *
- * This default implementation of the class just counts the matches
- *
- * @author Geneviève Bastien
- * @since 3.0
- */
-public class TmfEventMatches implements IMatchProcessingUnit {
-
- private int fMatchCount;
-
- /**
- * Constructor
- */
- public TmfEventMatches() {
- fMatchCount = 0;
- }
-
- /**
- * IMatchProcessingUnit overrides
- */
-
- @Override
- public void init(Collection<ITmfTrace> fTraces) {
- fMatchCount = 0;
- }
-
- @Override
- public void addMatch(TmfEventDependency match) {
- fMatchCount++;
- }
-
- @Override
- public void matchingEnded() {
-
- }
-
- @Override
- public int countMatches() {
- return fMatchCount;
- }
-
- /**
- * Returns the match at the specified index
- *
- * @param index
- * The index of the match to get
- * @return The match at index or null or not present
- * @deprecated Matches are not kept anymore, they use up memory for no real reason
- */
- @Deprecated
- public TmfEventDependency getMatch(int index) {
- return null;
- }
-
- @Override
- public String toString() {
- return getClass().getSimpleName() + " [ Number of matches found: " + fMatchCount + " ]"; //$NON-NLS-1$ //$NON-NLS-2$
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/event/matching/TmfEventMatching.java b/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/event/matching/TmfEventMatching.java
deleted file mode 100644
index 169a0eae41..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/event/matching/TmfEventMatching.java
+++ /dev/null
@@ -1,271 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 École Polytechnique de Montréal
- *
- * 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:
- * Geneviève Bastien - Initial implementation and API
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.core.event.matching;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.linuxtools.internal.tmf.core.Activator;
-import org.eclipse.linuxtools.tmf.core.event.ITmfEvent;
-import org.eclipse.linuxtools.tmf.core.request.ITmfEventRequest;
-import org.eclipse.linuxtools.tmf.core.request.TmfEventRequest;
-import org.eclipse.linuxtools.tmf.core.timestamp.TmfTimeRange;
-import org.eclipse.linuxtools.tmf.core.trace.ITmfTrace;
-
-/**
- * Abstract class to extend to match certain type of events in a trace
- *
- * @author Geneviève Bastien
- * @since 3.0
- */
-public abstract class TmfEventMatching implements ITmfEventMatching {
-
- /**
- * The matching type
- *
- * FIXME Not the best place to put this. Have an array of match types as a
- * parameter of each trace?
- */
- public enum MatchingType {
- /**
- * NETWORK, match network events
- */
- NETWORK
- }
-
- /**
- * The array of traces to match
- */
- private final Collection<ITmfTrace> fTraces;
-
- /**
- * The class to call once a match is found
- */
- private final IMatchProcessingUnit fMatches;
-
- private static final Map<MatchingType, List<ITmfMatchEventDefinition>> fMatchDefinitions = new HashMap<>();
-
- private final Map<ITmfTrace, ITmfMatchEventDefinition> fMatchMap = new HashMap<>();
-
- /**
- * Constructor with multiple traces and a match processing object
- *
- * @param traces
- * The set of traces for which to match events
- * @param tmfEventMatches
- * The match processing class
- */
- public TmfEventMatching(Collection<ITmfTrace> traces, IMatchProcessingUnit tmfEventMatches) {
- if (tmfEventMatches == null) {
- throw new IllegalArgumentException();
- }
- fTraces = traces;
- fMatches = tmfEventMatches;
- }
-
- /**
- * Returns the traces to process
- *
- * @return The traces
- */
- protected Collection<? extends ITmfTrace> getTraces() {
- return fTraces;
- }
-
- /**
- * Returns the match processing unit
- *
- * @return The match processing unit
- */
- protected IMatchProcessingUnit getProcessingUnit() {
- return fMatches;
- }
-
- /**
- * Returns the match event definition corresponding to the trace
- *
- * @param trace
- * The trace
- * @return The match event definition object
- */
- protected ITmfMatchEventDefinition getEventDefinition(ITmfTrace trace) {
- return fMatchMap.get(trace);
- }
-
- /**
- * Method that initializes any data structure for the event matching. It
- * also assigns to each trace an event matching definition instance that
- * applies to the trace
- */
- protected void initMatching() {
- fMatches.init(fTraces);
- List<ITmfMatchEventDefinition> deflist = fMatchDefinitions.get(getMatchingType());
- if (deflist == null) {
- return;
- }
- for (ITmfTrace trace : fTraces) {
- for (ITmfMatchEventDefinition def : deflist) {
- if (def.canMatchTrace(trace)) {
- fMatchMap.put(trace, def);
- break;
- }
- }
- }
- }
-
- /**
- * Calls any post matching methods of the processing class
- */
- protected void finalizeMatching() {
- fMatches.matchingEnded();
- }
-
- /**
- * Prints stats from the matching
- *
- * @return string of statistics
- */
- @SuppressWarnings("nls")
- @Override
- public String toString() {
- return getClass().getSimpleName() + " [ " + fMatches + " ]";
- }
-
- /**
- * Matches one event
- *
- * @param event
- * The event to match
- * @param trace
- * The trace to which this event belongs
- */
- protected abstract void matchEvent(ITmfEvent event, ITmfTrace trace);
-
- /**
- * Returns the matching type this class implements
- *
- * @return A matching type
- */
- protected abstract MatchingType getMatchingType();
-
- /**
- * Method that start the process of matching events
- *
- * @return Whether the match was completed correctly or not
- */
- @Override
- public boolean matchEvents() {
-
- /* Are there traces to match? If no, return false */
- if (!(fTraces.size() > 0)) {
- return false;
- }
-
- // TODO Start a new thread here?
- initMatching();
-
- /**
- * For each trace, get the events and for each event, call the
- * MatchEvent method
- *
- * FIXME This would use a lot of memory if the traces are big, because
- * all involved events from first trace will have to be kept before a
- * first match is possible with second trace.
- *
- * <pre>
- * Other possible matching strategy:
- * Incremental:
- * Sliding window:
- * Other strategy: start with the shortest trace, take a few events
- * at the beginning and at the end
- * Experiment strategy: have the experiment do the request, then events will
- * come from both traces chronologically, but then instead of ITmfTrace[], it
- * would be preferable to have experiment
- * </pre>
- */
- for (ITmfTrace trace : fTraces) {
- EventMatchingBuildRequest request = new EventMatchingBuildRequest(this, trace);
-
- /*
- * Send the request to the trace here, since there is probably no
- * experiment.
- */
- trace.sendRequest(request);
- try {
- request.waitForCompletion();
- } catch (InterruptedException e) {
- Activator.logInfo(e.getMessage());
- }
- }
-
- finalizeMatching();
-
- return true;
- }
-
- /**
- * Registers an event match definition to be used for a certain match type
- *
- * @param match
- * The event matching definition
- */
- public static void registerMatchObject(ITmfMatchEventDefinition match) {
- for (MatchingType type : match.getApplicableMatchingTypes()) {
- if (!fMatchDefinitions.containsKey(type)) {
- fMatchDefinitions.put(type, new ArrayList<ITmfMatchEventDefinition>());
- }
- fMatchDefinitions.get(type).add(match);
- }
- }
-
-}
-
-class EventMatchingBuildRequest extends TmfEventRequest {
-
- private final TmfEventMatching matching;
- private final ITmfTrace trace;
-
- EventMatchingBuildRequest(TmfEventMatching matching, ITmfTrace trace) {
- super(ITmfEvent.class,
- TmfTimeRange.ETERNITY,
- 0,
- ITmfEventRequest.ALL_DATA,
- ITmfEventRequest.ExecutionType.FOREGROUND);
- this.matching = matching;
- this.trace = trace;
- }
-
- @Override
- public void handleData(final ITmfEvent event) {
- super.handleData(event);
- matching.matchEvent(event, trace);
- }
-
- @Override
- public void handleSuccess() {
- super.handleSuccess();
- }
-
- @Override
- public void handleCancel() {
- super.handleCancel();
- }
-
- @Override
- public void handleFailure() {
- super.handleFailure();
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/event/matching/TmfNetworkEventMatching.java b/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/event/matching/TmfNetworkEventMatching.java
deleted file mode 100644
index 384f4634aa..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/event/matching/TmfNetworkEventMatching.java
+++ /dev/null
@@ -1,212 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 École Polytechnique de Montréal
- *
- * 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:
- * Geneviève Bastien - Initial implementation and API
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.core.event.matching;
-
-import java.util.Collection;
-import java.util.HashMap;
-import java.util.LinkedHashMap;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.linuxtools.tmf.core.event.ITmfEvent;
-import org.eclipse.linuxtools.tmf.core.trace.ITmfTrace;
-
-/**
- * This class matches events typically network-style, ie. where some events are
- * 'send' events and the other 'receive' events or out/in events
- *
- * @author Geneviève Bastien
- * @since 3.0
- */
-public class TmfNetworkEventMatching extends TmfEventMatching {
-
- /**
- * Hashtables for unmatches incoming events
- */
- private final Map<ITmfTrace, Map<List<Object>, ITmfEvent>> fUnmatchedIn = new LinkedHashMap<>();
-
- /**
- * Hashtables for unmatches outgoing events
- */
- private final Map<ITmfTrace, Map<List<Object>, ITmfEvent>> fUnmatchedOut = new LinkedHashMap<>();
-
- /**
- * Enum for in and out types
- */
- public enum Direction {
- /**
- * The event is a 'receive' type of event
- */
- IN,
- /**
- * The event is a 'send' type of event
- */
- OUT,
- }
-
- /**
- * Constructor with multiple traces and match processing object
- *
- * @param traces
- * The set of traces for which to match events
- */
- public TmfNetworkEventMatching(Collection<ITmfTrace> traces) {
- this(traces, new TmfEventMatches());
- }
-
- /**
- * Constructor with multiple traces and match processing object
- *
- * @param traces
- * The set of traces for which to match events
- * @param tmfEventMatches
- * The match processing class
- */
- public TmfNetworkEventMatching(Collection<ITmfTrace> traces, IMatchProcessingUnit tmfEventMatches) {
- super(traces, tmfEventMatches);
- }
-
- /**
- * Method that initializes any data structure for the event matching
- */
- @Override
- public void initMatching() {
- // Initialize the matching infrastructure (unmatched event lists)
- fUnmatchedIn.clear();
- fUnmatchedOut.clear();
- for (ITmfTrace trace : getTraces()) {
- fUnmatchedIn.put(trace, new HashMap<List<Object>, ITmfEvent>());
- fUnmatchedOut.put(trace, new HashMap<List<Object>, ITmfEvent>());
- }
- super.initMatching();
- }
-
- /**
- * Function that counts the events in a hashtable.
- *
- * @param tbl
- * The table to count events for
- * @return The number of events
- */
- protected int countEvents(Map<List<Object>, ITmfEvent> tbl) {
- return tbl.size();
- }
-
- @Override
- protected MatchingType getMatchingType() {
- return MatchingType.NETWORK;
- }
-
- @Override
- public void matchEvent(ITmfEvent event, ITmfTrace trace) {
- if (!(getEventDefinition(event.getTrace()) instanceof ITmfNetworkMatchDefinition)) {
- return;
- }
- ITmfNetworkMatchDefinition def = (ITmfNetworkMatchDefinition) getEventDefinition(event.getTrace());
-
- Direction evType = def.getDirection(event);
- if (evType == null) {
- return;
- }
-
- /* Get the event's unique fields */
- List<Object> eventKey = def.getUniqueField(event);
- Map<ITmfTrace, Map<List<Object>, ITmfEvent>> unmatchedTbl, companionTbl;
-
- /* Point to the appropriate table */
- switch (evType) {
- case IN:
- unmatchedTbl = fUnmatchedIn;
- companionTbl = fUnmatchedOut;
- break;
- case OUT:
- unmatchedTbl = fUnmatchedOut;
- companionTbl = fUnmatchedIn;
- break;
- default:
- return;
- }
-
- boolean found = false;
- TmfEventDependency dep = null;
- /* Search for the event in the companion table */
- for (Map<List<Object>, ITmfEvent> map : companionTbl.values()) {
- if (map.containsKey(eventKey)) {
- found = true;
- ITmfEvent companionEvent = map.get(eventKey);
-
- /* Remove the element from the companion table */
- map.remove(eventKey);
-
- /* Create the dependency object */
- switch (evType) {
- case IN:
- dep = new TmfEventDependency(companionEvent, event);
- break;
- case OUT:
- dep = new TmfEventDependency(event, companionEvent);
- break;
- default:
- break;
-
- }
- }
- }
-
- /*
- * If no companion was found, add the event to the appropriate unMatched
- * lists
- */
- if (found) {
- getProcessingUnit().addMatch(dep);
- } else {
- /*
- * If an event is already associated with this key, do not add it
- * again, we keep the first event chronologically, so if its match
- * is eventually found, it is associated with the first send or
- * receive event. At best, it is a good guess, at worst, the match
- * will be too far off to be accurate. Too bad!
- *
- * TODO: maybe instead of just one event, we could have a list of
- * events as value for the unmatched table. Not necessary right now
- * though
- */
- if (!unmatchedTbl.get(trace).containsKey(eventKey)) {
- unmatchedTbl.get(trace).put(eventKey, event);
- }
- }
-
- }
-
- /**
- * Prints stats from the matching
- *
- * @return string of statistics
- */
- @SuppressWarnings("nls")
- @Override
- public String toString() {
- final String cr = System.getProperty("line.separator");
- StringBuilder b = new StringBuilder();
- b.append(getProcessingUnit());
- int i = 0;
- for (ITmfTrace trace : getTraces()) {
- b.append("Trace " + i++ + ":" + cr +
- " " + countEvents(fUnmatchedIn.get(trace)) + " unmatched incoming events" + cr +
- " " + countEvents(fUnmatchedOut.get(trace)) + " unmatched outgoing events" + cr);
- }
-
- return b.toString();
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/exceptions/TmfAnalysisException.java b/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/exceptions/TmfAnalysisException.java
deleted file mode 100644
index 8957d02380..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/exceptions/TmfAnalysisException.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 École Polytechnique de Montréal
- *
- * 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:
- * Geneviève Bastien - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.core.exceptions;
-
-/**
- * Generic exception for an error or issue occurs in analysis setup and
- * execution.
- *
- * For instance, to perform an analysis, a trace must be of the right type and
- * have some characteristics. If trying to do an analysis on a trace that does
- * not match, this exception is thrown.
- *
- * @author Geneviève Bastien
- * @since 3.0
- */
-public class TmfAnalysisException extends Exception {
-
- private static final long serialVersionUID = -4567750551324478401L;
-
- /**
- * Default constructor
- */
- public TmfAnalysisException() {
- super();
- }
-
- /**
- * Constructor with a message
- *
- * @param message
- * Message to attach to this exception
- */
- public TmfAnalysisException(String message) {
- super(message);
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/exceptions/TmfTraceException.java b/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/exceptions/TmfTraceException.java
deleted file mode 100644
index 90e5a8fc82..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/exceptions/TmfTraceException.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2012 Ericsson
- *
- * All rights reserved. This program and the accompanying materials are
- * made available under the terms of the Eclipse Public License v1.0 which
- * accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Francois Chouinard - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.core.exceptions;
-
-/**
- * TMF trace related exception
- *
- * @version 1.0
- * @author Francois Chouinard
- */
-public class TmfTraceException extends Exception {
-
- /**
- * The exception version ID
- */
- private static final long serialVersionUID = -6829650938285722133L;
-
- /**
- * Constructor
- *
- * @param errMsg the error message
- */
- public TmfTraceException(String errMsg) {
- super(errMsg);
- }
-
- /**
- * Constructor
- *
- * @param errMsg the error message
- * @param cause the error cause (<code>null</code> is permitted which means no cause is available)
- */
- public TmfTraceException(String errMsg, Throwable cause) {
- super(errMsg, cause);
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/filter/ITmfFilter.java b/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/filter/ITmfFilter.java
deleted file mode 100644
index b73399c783..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/filter/ITmfFilter.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010, 2013 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:
- * Patrick Tasse - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.core.filter;
-
-import org.eclipse.linuxtools.tmf.core.event.ITmfEvent;
-
-/**
- * The TMF filter interface.
- *
- * @version 1.0
- * @author Patrick Tasse
- */
-public interface ITmfFilter {
-
- /**
- * Verify the filter conditions on an event
- *
- * @param event The event to verify.
- * @return True if the event matches the filter conditions.
- */
- boolean matches(ITmfEvent event);
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/filter/model/ITmfFilterTreeNode.java b/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/filter/model/ITmfFilterTreeNode.java
deleted file mode 100644
index 174f970a20..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/filter/model/ITmfFilterTreeNode.java
+++ /dev/null
@@ -1,127 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010, 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 Godin (copelnug@gmail.com) - Initial API
- * Yuriy Vashchuk (yvashchuk@gmail.com) - Initial implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.core.filter.model;
-
-import java.util.List;
-
-import org.eclipse.linuxtools.tmf.core.filter.ITmfFilter;
-
-
-/**
- * <h4>This is Node Interface in the Filter Tree</h4>
- */
-public interface ITmfFilterTreeNode extends ITmfFilter {
-
- /**
- * <h4>Get the parent node of current node</h4>
- *
- * @return The parent node (null when the node has no parent).
- */
- public ITmfFilterTreeNode getParent();
-
- /**
- * <h4>Get the current node name</h4>
- *
- * @return The name of the current node.
- */
- public String getNodeName();
-
- /**
- * <h4>Tell if the node has children</h4>
- *
- * @return True if the node has children.
- */
- public boolean hasChildren();
-
- /**
- * <h4>Return the number of children</h4>
- *
- * @return The number of children.
- */
- public int getChildrenCount();
-
- /**
- * <h4>Get the array of children</h4>
- *
- * @return The array (possibly empty) of children nodes.
- */
- public ITmfFilterTreeNode[] getChildren();
-
- /**
- * <h4>Get the node by index</h4>
- *
- * @param index The index of node to return.
- * @return The desired node (null if the node is not exists).
- */
- public ITmfFilterTreeNode getChild(int index);
-
- /**
- * <h4>Remove the node from its parent</h4>
- *
- * <p>Shifts all nodes after the removed one to prevent having an empty spot.
- * See {@link #replaceChild(int, ITmfFilterTreeNode)} to replace a node.</p>
- *
- * @return The removed node.
- */
- public ITmfFilterTreeNode remove();
-
- /**
- * <h4>Remove the child from the current node</h4>
- *
- * <p>Shifts all nodes after the removed one to prevent having an empty spot.
- * See {@link #replaceChild(int, ITmfFilterTreeNode)} to replace a node.</p>
- *
- * @param node the parent node
- *
- * @return The removed node.
- */
- public ITmfFilterTreeNode removeChild(ITmfFilterTreeNode node);
-
- /**
- * <h4>Append a node to the current children</h4>
- *
- * @param node Node to append.
- * @return Index of added node (-1 if the node cannot be added).
- */
- public int addChild(ITmfFilterTreeNode node);
-
- /**
- * <h4>Replace a child node</h4>
- *
- * @param index Index of the node to replace.
- * @param node Node who will replace.
- * @return Node replaced.
- */
- public ITmfFilterTreeNode replaceChild(int index, ITmfFilterTreeNode node);
-
- /**
- * <h4>Sets the parent of current node</h4>
- *
- * @param parent The parent of current node.
- */
- public void setParent(ITmfFilterTreeNode parent);
-
- /**
- * <h4>Gets the list of valid children node names that could be added to the node</h4>
- *
- * @return The list of valid children node names.
- */
- public List<String> getValidChildren();
-
- /**
- * @return a clone of the node
- */
- public ITmfFilterTreeNode clone();
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/filter/model/TmfFilterAndNode.java b/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/filter/model/TmfFilterAndNode.java
deleted file mode 100644
index c384f90f4b..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/filter/model/TmfFilterAndNode.java
+++ /dev/null
@@ -1,88 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010, 2015 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:
- * Patrick Tasse - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.core.filter.model;
-
-import org.eclipse.linuxtools.tmf.core.event.ITmfEvent;
-
-/**
- * Filter node for the 'and' operation
- *
- * @version 1.0
- * @author Patrick Tasse
- */
-@SuppressWarnings("javadoc")
-public class TmfFilterAndNode extends TmfFilterTreeNode {
-
- public static final String NODE_NAME = "AND"; //$NON-NLS-1$
- public static final String NOT_ATTR = "not"; //$NON-NLS-1$
-
- private boolean fNot = false;
-
- /**
- * @param parent the parent node
- */
- public TmfFilterAndNode(ITmfFilterTreeNode parent) {
- super(parent);
- }
-
- /**
- * @return the NOT state
- */
- public boolean isNot() {
- return fNot;
- }
-
- /**
- * @param not the NOT state
- */
- public void setNot(boolean not) {
- this.fNot = not;
- }
-
- @Override
- public String getNodeName() {
- return NODE_NAME;
- }
-
- @Override
- public boolean matches(ITmfEvent event) {
- for (ITmfFilterTreeNode node : getChildren()) {
- if (! node.matches(event)) {
- return false ^ fNot;
- }
- }
- return true ^ fNot;
- }
-
- @Override
- public String toString() {
- StringBuffer buf = new StringBuffer();
- if (fNot) {
- buf.append("not "); //$NON-NLS-1$
- }
- if (getParent() != null && !(getParent() instanceof TmfFilterRootNode) && !(getParent() instanceof TmfFilterNode)) {
- buf.append("( "); //$NON-NLS-1$
- }
- for (int i = 0; i < getChildrenCount(); i++) {
- ITmfFilterTreeNode node = getChildren()[i];
- buf.append(node.toString());
- if (i < getChildrenCount() - 1) {
- buf.append(" and "); //$NON-NLS-1$
- }
- }
- if (getParent() != null && !(getParent() instanceof TmfFilterRootNode) && !(getParent() instanceof TmfFilterNode)) {
- buf.append(" )"); //$NON-NLS-1$
- }
- return buf.toString();
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/filter/model/TmfFilterCompareNode.java b/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/filter/model/TmfFilterCompareNode.java
deleted file mode 100644
index 45f4f1d6a4..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/filter/model/TmfFilterCompareNode.java
+++ /dev/null
@@ -1,218 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010, 2015 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:
- * Patrick Tasse - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.core.filter.model;
-
-import java.text.NumberFormat;
-import java.text.ParseException;
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.linuxtools.tmf.core.event.ITmfEvent;
-import org.eclipse.linuxtools.tmf.core.timestamp.ITmfTimestamp;
-import org.eclipse.linuxtools.tmf.core.timestamp.TmfNanoTimestamp;
-import org.eclipse.linuxtools.tmf.core.timestamp.TmfTimestampFormat;
-
-/**
- * Filter node for the comparison operation
- *
- * @version 1.0
- * @author Patrick Tasse
- */
-@SuppressWarnings("javadoc")
-public class TmfFilterCompareNode extends TmfFilterTreeNode {
-
- public static final String NODE_NAME = "COMPARE"; //$NON-NLS-1$
- public static final String NOT_ATTR = "not"; //$NON-NLS-1$
- public static final String FIELD_ATTR = "field"; //$NON-NLS-1$
- public static final String RESULT_ATTR = "result"; //$NON-NLS-1$
- public static final String TYPE_ATTR = "type"; //$NON-NLS-1$
- public static final String VALUE_ATTR = "value"; //$NON-NLS-1$
-
- /**
- * Supported comparison types
- */
- public static enum Type {
- NUM,
- ALPHA,
- TIMESTAMP
- }
-
- private boolean fNot = false;
- private String fField;
- private int fResult;
- private Type fType = Type.NUM;
- private String fValue;
- private transient Number fValueNumber;
- private transient ITmfTimestamp fValueTimestamp;
- private transient TmfTimestampFormat fTimestampFormat = new TmfTimestampFormat("T.SSSSSSSSS"); //$NON-NLS-1$
-
- /**
- * @param parent the parent node
- */
- public TmfFilterCompareNode(ITmfFilterTreeNode parent) {
- super(parent);
- }
-
- /**
- * @return the NOT state
- */
- public boolean isNot() {
- return fNot;
- }
-
- /**
- * @param not the NOT state
- */
- public void setNot(boolean not) {
- this.fNot = not;
- }
-
- /**
- * @return the field name
- */
- public String getField() {
- return fField;
- }
-
- /**
- * @param field the field name
- */
- public void setField(String field) {
- this.fField = field;
- }
-
- /**
- * @return the compare result (-1, 0 or 1)
- */
- public int getResult() {
- return fResult;
- }
-
- /**
- * @param result the compare result (-1, 0 or 1)
- */
- public void setResult(int result) {
- this.fResult = (int) Math.signum(result);
- }
-
- /**
- * @return the comparison type
- */
- public Type getType() {
- return fType;
- }
-
- /**
- * @param type the comparison type
- */
- public void setType(Type type) {
- this.fType = type;
- setValue(fValue);
- }
-
- /**
- * @return the comparison value (in seconds for the TIMESTAMP type)
- */
- public String getValue() {
- return fValue;
- }
-
- /**
- * @param value the comparison value (in seconds for the TIMESTAMP type)
- */
- public void setValue(String value) {
- this.fValue = value;
- fValueNumber = null;
- fValueTimestamp = null;
- if (value == null) {
- return;
- }
- if (fType == Type.NUM) {
- try {
- fValueNumber = NumberFormat.getInstance().parse(value).doubleValue();
- } catch (ParseException e) {
- }
- } else if (fType == Type.TIMESTAMP) {
- try {
- fValueTimestamp = new TmfNanoTimestamp(fTimestampFormat.parseValue(value.toString()));
- } catch (ParseException e) {
- }
- }
- }
-
- @Override
- public String getNodeName() {
- return NODE_NAME;
- }
-
- @Override
- public boolean matches(ITmfEvent event) {
- Object value = getFieldValue(event, fField);
- if (value == null) {
- return false;
- }
- if (fType == Type.NUM) {
- if (fValueNumber != null) {
- if (value instanceof Number) {
- double valueDouble = ((Number) value).doubleValue();
- return (Double.compare(valueDouble, fValueNumber.doubleValue()) == fResult) ^ fNot;
- }
- try {
- double valueDouble = NumberFormat.getInstance().parse(value.toString()).doubleValue();
- return (Double.compare(valueDouble, fValueNumber.doubleValue()) == fResult) ^ fNot;
- } catch (ParseException e) {
- }
- }
- } else if (fType == Type.ALPHA) {
- String valueString = value.toString();
- int comp = (int) Math.signum(valueString.compareTo(fValue.toString()));
- return (comp == fResult) ^ fNot;
- } else if (fType == Type.TIMESTAMP) {
- if (fValueTimestamp != null) {
- if (value instanceof ITmfTimestamp) {
- ITmfTimestamp valueTimestamp = (ITmfTimestamp) value;
- int comp = (int) Math.signum(valueTimestamp.compareTo(fValueTimestamp, false));
- return (comp == fResult) ^ fNot;
- }
- try {
- ITmfTimestamp valueTimestamp = new TmfNanoTimestamp(fTimestampFormat.parseValue(value.toString()));
- int comp = (int) Math.signum(valueTimestamp.compareTo(fValueTimestamp, false));
- return (comp == fResult) ^ fNot;
- } catch (ParseException e) {
- }
- }
- }
- return false;
- }
-
- @Override
- public List<String> getValidChildren() {
- return new ArrayList<>(0);
- }
-
- @Override
- public String toString() {
- String result = (fResult == 0 ? "= " : fResult < 0 ? "< " : "> "); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- String open = (fType == Type.NUM ? "" : fType == Type.ALPHA ? "\"" : "["); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- String close = (fType == Type.NUM ? "" : fType == Type.ALPHA ? "\"" : "]"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- return fField + (fNot ? " not " : " ") + result + open + fValue + close; //$NON-NLS-1$ //$NON-NLS-2$
- }
-
- @Override
- public ITmfFilterTreeNode clone() {
- TmfFilterCompareNode clone = (TmfFilterCompareNode) super.clone();
- clone.fField = fField;
- clone.setValue(fValue);
- return clone;
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/filter/model/TmfFilterContainsNode.java b/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/filter/model/TmfFilterContainsNode.java
deleted file mode 100644
index 85238f6ec2..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/filter/model/TmfFilterContainsNode.java
+++ /dev/null
@@ -1,142 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010, 2015 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:
- * Patrick Tasse - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.core.filter.model;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.linuxtools.tmf.core.event.ITmfEvent;
-
-/**
- * Filter node for the 'contains' operation
- *
- * @version 1.0
- * @author Patrick Tasse
- */
-@SuppressWarnings("javadoc")
-public class TmfFilterContainsNode extends TmfFilterTreeNode {
-
- public static final String NODE_NAME = "CONTAINS"; //$NON-NLS-1$
- public static final String NOT_ATTR = "not"; //$NON-NLS-1$
- public static final String FIELD_ATTR = "field"; //$NON-NLS-1$
- public static final String VALUE_ATTR = "value"; //$NON-NLS-1$
- public static final String IGNORECASE_ATTR = "ignorecase"; //$NON-NLS-1$
-
- private boolean fNot = false;
- private String fField;
- private String fValue;
- private transient String fValueUpperCase;
- private boolean fIgnoreCase = false;
-
- /**
- * @param parent the parent node
- */
- public TmfFilterContainsNode(ITmfFilterTreeNode parent) {
- super(parent);
- }
-
- /**
- * @return the NOT state
- */
- public boolean isNot() {
- return fNot;
- }
-
- /**
- * @param not the NOT state
- */
- public void setNot(boolean not) {
- this.fNot = not;
- }
-
- /**
- * @return the field name
- */
- public String getField() {
- return fField;
- }
-
- /**
- * @param field the field name
- */
- public void setField(String field) {
- this.fField = field;
- }
-
- /**
- * @return the contains value
- */
- public String getValue() {
- return fValue;
- }
-
- /**
- * @param value the contains value
- */
- public void setValue(String value) {
- this.fValue = value;
- if (value != null) {
- fValueUpperCase = value.toUpperCase();
- }
- }
-
- /**
- * @return the ignoreCase state
- */
- public boolean isIgnoreCase() {
- return fIgnoreCase;
- }
-
- /**
- * @param ignoreCase the ignoreCase state
- */
- public void setIgnoreCase(boolean ignoreCase) {
- this.fIgnoreCase = ignoreCase;
- }
-
- @Override
- public String getNodeName() {
- return NODE_NAME;
- }
-
- @Override
- public boolean matches(ITmfEvent event) {
- Object value = getFieldValue(event, fField);
- if (value == null) {
- return false ^ fNot;
- }
- String valueString = value.toString();
- if (fIgnoreCase) {
- return valueString.toUpperCase().contains(fValueUpperCase) ^ fNot;
- }
- return valueString.contains(fValue) ^ fNot;
- }
-
- @Override
- public List<String> getValidChildren() {
- return new ArrayList<>(0);
- }
-
- @Override
- public String toString() {
- return fField + (fNot ? " not contains " : " contains ") + (fIgnoreCase ? "ignorecase \"" : "\"") + fValue + '\"'; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
- }
-
- @Override
- public ITmfFilterTreeNode clone() {
- TmfFilterContainsNode clone = (TmfFilterContainsNode) super.clone();
- clone.fField = fField;
- clone.setValue(fValue);
- return clone;
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/filter/model/TmfFilterEqualsNode.java b/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/filter/model/TmfFilterEqualsNode.java
deleted file mode 100644
index e19c7068dd..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/filter/model/TmfFilterEqualsNode.java
+++ /dev/null
@@ -1,141 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010, 2015 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:
- * Patrick Tasse - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.core.filter.model;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.linuxtools.tmf.core.event.ITmfEvent;
-
-/**
- * Filter node for the '==' operation
- *
- * @version 1.0
- * @author Patrick Tasse
- */
-@SuppressWarnings("javadoc")
-public class TmfFilterEqualsNode extends TmfFilterTreeNode {
-
- public static final String NODE_NAME = "EQUALS"; //$NON-NLS-1$
- public static final String NOT_ATTR = "not"; //$NON-NLS-1$
- public static final String FIELD_ATTR = "field"; //$NON-NLS-1$
- public static final String VALUE_ATTR = "value"; //$NON-NLS-1$
- public static final String IGNORECASE_ATTR = "ignorecase"; //$NON-NLS-1$
-
- private boolean fNot = false;
- private String fField;
- private String fValue;
- private boolean fIgnoreCase = false;
-
- /**
- * @param parent the aprent node
- */
- public TmfFilterEqualsNode(ITmfFilterTreeNode parent) {
- super(parent);
- }
-
- /**
- * @return the NOT state
- */
- public boolean isNot() {
- return fNot;
- }
-
- /**
- * @param not the NOT state
- */
- public void setNot(boolean not) {
- this.fNot = not;
- }
-
- /**
- * @return the field name
- */
- public String getField() {
- return fField;
- }
-
- /**
- * @param field the field name
- */
- public void setField(String field) {
- this.fField = field;
- }
-
- /**
- * @return the equals value
- */
- public String getValue() {
- return fValue;
- }
-
- /**
- * @param value the equals value
- */
- public void setValue(String value) {
- this.fValue = value;
- }
-
- /**
- * @return the ignoreCase state
- */
- public boolean isIgnoreCase() {
- return fIgnoreCase;
- }
-
- /**
- * @param ignoreCase the ignoreCase state
- */
- public void setIgnoreCase(boolean ignoreCase) {
- this.fIgnoreCase = ignoreCase;
- }
-
- @Override
- public String getNodeName() {
- return NODE_NAME;
- }
-
- @Override
- public boolean matches(ITmfEvent event) {
- Object value = getFieldValue(event, fField);
- if (value == null) {
- return false ^ fNot;
- }
- String valueString = value.toString();
- if (valueString == null) {
- return false ^ fNot;
- }
- if (fIgnoreCase) {
- return valueString.equalsIgnoreCase(fValue) ^ fNot;
- }
- return valueString.equals(fValue) ^ fNot;
- }
-
- @Override
- public List<String> getValidChildren() {
- return new ArrayList<>(0);
- }
-
- @Override
- public String toString() {
- return fField + (fNot ? " not equals " : " equals ") + (fIgnoreCase ? "ignorecase \"" : "\"") + fValue + '\"'; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
- }
-
- @Override
- public ITmfFilterTreeNode clone() {
- TmfFilterEqualsNode clone = (TmfFilterEqualsNode) super.clone();
- clone.fField = fField;
- clone.fValue = fValue;
- return clone;
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/filter/model/TmfFilterEventTypeNode.java b/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/filter/model/TmfFilterEventTypeNode.java
deleted file mode 100644
index 0abcedfde5..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/filter/model/TmfFilterEventTypeNode.java
+++ /dev/null
@@ -1,133 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010, 2015 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:
- * Patrick Tasse - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.core.filter.model;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.linuxtools.tmf.core.event.ITmfEvent;
-
-/**
- * Filter node for an event
- *
- * @version 1.0
- * @author Patrick Tasse
- */
-@SuppressWarnings("javadoc")
-public class TmfFilterEventTypeNode extends TmfFilterTreeNode {
-
- public static final String NODE_NAME = "EVENTTYPE"; //$NON-NLS-1$
- public static final String TYPE_ATTR = "type"; //$NON-NLS-1$
- public static final String NAME_ATTR = "name"; //$NON-NLS-1$
-
- private String fType;
- private String fName;
-
- /**
- * @param parent the parent node
- */
- public TmfFilterEventTypeNode(ITmfFilterTreeNode parent) {
- super(parent);
- }
-
- @Override
- public String getNodeName() {
- return NODE_NAME;
- }
-
- /**
- * @return the event type
- */
- public String getEventType() {
- return fType;
- }
-
- /**
- * @param type the event type
- */
- public void setEventType(String type) {
- this.fType = type;
- }
-
- /**
- * @return the category and trace type name
- */
- public String getName() {
- return fName;
- }
-
- /**
- * @param name the category and trace type name
- */
- public void setName(String name) {
- this.fName = name;
- }
-
- @Override
- public boolean matches(ITmfEvent event) {
- boolean match = false;
- if (fType.contains(":")) { //$NON-NLS-1$
- // special case for custom parsers
- if (fType.startsWith(event.getClass().getCanonicalName())) {
- if (fType.endsWith(event.getType().getName())) {
- match = true;
- }
- }
- } else {
- if (event.getClass().getCanonicalName().equals(fType)) {
- match = true;
- }
- }
- if (match) {
- // There should be at most one child
- for (ITmfFilterTreeNode node : getChildren()) {
- if (! node.matches(event)) {
- return false;
- }
- }
- return true;
- }
- return false;
- }
-
- @Override
- public List<String> getValidChildren() {
- if (getChildrenCount() == 0) {
- return super.getValidChildren();
- }
- return new ArrayList<>(0); // only one child allowed
- }
-
- @Override
- public String toString() {
- StringBuffer buf = new StringBuffer();
- buf.append("EventType is " + fName); //$NON-NLS-1$
- if (getChildrenCount() > 0) {
- buf.append(" and "); //$NON-NLS-1$
- }
- if (getChildrenCount() > 1) {
- buf.append("( "); //$NON-NLS-1$
- }
- for (int i = 0; i < getChildrenCount(); i++) {
- ITmfFilterTreeNode node = getChildren()[i];
- buf.append(node.toString());
- if (i < getChildrenCount() - 1) {
- buf.append(" and "); //$NON-NLS-1$
- }
- }
- if (getChildrenCount() > 1) {
- buf.append(" )"); //$NON-NLS-1$
- }
- return buf.toString();
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/filter/model/TmfFilterMatchesNode.java b/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/filter/model/TmfFilterMatchesNode.java
deleted file mode 100644
index 6efae7a7ec..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/filter/model/TmfFilterMatchesNode.java
+++ /dev/null
@@ -1,154 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010, 2015 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:
- * Patrick Tasse - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.core.filter.model;
-
-import java.util.ArrayList;
-import java.util.List;
-import java.util.regex.Pattern;
-import java.util.regex.PatternSyntaxException;
-
-import org.eclipse.linuxtools.tmf.core.event.ITmfEvent;
-
-/**
- * Filter node for the regex match
- *
- * @version 1.0
- * @author Patrick Tasse
- */
-@SuppressWarnings("javadoc")
-public class TmfFilterMatchesNode extends TmfFilterTreeNode {
-
- public static final String NODE_NAME = "MATCHES"; //$NON-NLS-1$
- public static final String NOT_ATTR = "not"; //$NON-NLS-1$
- public static final String FIELD_ATTR = "field"; //$NON-NLS-1$
- public static final String REGEX_ATTR = "regex"; //$NON-NLS-1$
-
- private boolean fNot = false;
- private String fField;
- private String fRegex;
- private transient Pattern fPattern;
-
- /**
- * @param parent
- * the parent node
- */
- public TmfFilterMatchesNode(ITmfFilterTreeNode parent) {
- super(parent);
- }
-
- /**
- * @return the NOT state
- */
- public boolean isNot() {
- return fNot;
- }
-
- /**
- * @param not
- * the NOT state
- */
- public void setNot(boolean not) {
- this.fNot = not;
- }
-
- /**
- * @return the field name
- */
- public String getField() {
- return fField;
- }
-
- /**
- * @param field
- * the field name
- */
- public void setField(String field) {
- this.fField = field;
- }
-
- /**
- * @return the regular expression
- */
- public String getRegex() {
- return fRegex;
- }
-
- /**
- * @param regex
- * the regular expression
- */
- public void setRegex(String regex) {
- this.fRegex = regex;
- if (regex != null) {
- try {
- this.fPattern = Pattern.compile(regex, Pattern.DOTALL);
- } catch (PatternSyntaxException e) {
- this.fPattern = null;
- }
- }
- }
-
- @Override
- public String getNodeName() {
- return NODE_NAME;
- }
-
- @Override
- public boolean matches(ITmfEvent event) {
- if (fPattern == null) {
- return false ^ fNot;
- }
-
- Object value = getFieldValue(event, fField);
- if (value == null) {
- return false ^ fNot;
- }
- String valueString = value.toString();
-
- return fPattern.matcher(valueString).matches() ^ fNot;
- }
-
- @Override
- public List<String> getValidChildren() {
- return new ArrayList<>(0);
- }
-
- @Override
- public String toString() {
- return fField + (fNot ? " not" : "") + " matches \"" + fRegex + "\""; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
- }
-
- @Override
- public ITmfFilterTreeNode clone() {
- TmfFilterMatchesNode clone = (TmfFilterMatchesNode) super.clone();
- clone.fField = fField;
- clone.setRegex(fRegex);
- return clone;
- }
-
- /**
- * @param pattern
- * the rough regex pattern
- * @return the compliant regex
- */
- public static String regexFix(String pattern) {
- String ret = pattern;
- // if the pattern does not contain one of the expressions .* !^
- // (at the beginning) $ (at the end), then a .* is added at the
- // beginning and at the end of the pattern
- if (!(ret.indexOf(".*") >= 0 || ret.charAt(0) == '^' || ret.charAt(ret.length() - 1) == '$')) { //$NON-NLS-1$
- ret = ".*" + ret + ".*"; //$NON-NLS-1$ //$NON-NLS-2$
- }
- return ret;
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/filter/model/TmfFilterNode.java b/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/filter/model/TmfFilterNode.java
deleted file mode 100644
index c9127da724..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/filter/model/TmfFilterNode.java
+++ /dev/null
@@ -1,109 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010, 2015 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:
- * Patrick Tasse - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.core.filter.model;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.linuxtools.tmf.core.event.ITmfEvent;
-
-/**
- * Filter node for the event match operation
- *
- * @version 1.0
- * @author Patrick Tasse
- */
-@SuppressWarnings("javadoc")
-public class TmfFilterNode extends TmfFilterTreeNode {
-
- public static final String NODE_NAME = "FILTER"; //$NON-NLS-1$
- public static final String NAME_ATTR = "name"; //$NON-NLS-1$
-
- String fFilterName;
-
- /**
- * @param filterName the filter name
- */
- public TmfFilterNode(String filterName) {
- super(null);
- fFilterName = filterName;
- }
-
- /**
- * @param parent the parent node
- * @param filterName the filter name
- */
- public TmfFilterNode(ITmfFilterTreeNode parent, String filterName) {
- super(parent);
- fFilterName = filterName;
- }
-
- /**
- * @return the filer name
- */
- public String getFilterName() {
- return fFilterName;
- }
-
- /**
- * @param filterName the filer name
- */
- public void setFilterName(String filterName) {
- fFilterName = filterName;
- }
-
- @Override
- public String getNodeName() {
- return NODE_NAME;
- }
-
- @Override
- public boolean matches(ITmfEvent event) {
- // There should be at most one child
- for (ITmfFilterTreeNode node : getChildren()) {
- if (node.matches(event)) {
- return true;
- }
- }
- return false;
- }
-
- @Override
- public List<String> getValidChildren() {
- if (getChildrenCount() == 0) {
- return super.getValidChildren();
- }
- return new ArrayList<>(0); // only one child allowed
- }
-
- @Override
- public String toString() {
- StringBuffer buf = new StringBuffer();
- buf.append(fFilterName);
- buf.append(": "); //$NON-NLS-1$
- if (getChildrenCount() > 1) {
- buf.append("( "); //$NON-NLS-1$
- }
- for (int i = 0; i < getChildrenCount(); i++) {
- ITmfFilterTreeNode node = getChildren()[i];
- buf.append(node.toString());
- if (i < (getChildrenCount() - 1)) {
- buf.append(" and "); //$NON-NLS-1$
- }
- }
- if (getChildrenCount() > 1) {
- buf.append(" )"); //$NON-NLS-1$
- }
- return buf.toString();
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/filter/model/TmfFilterOrNode.java b/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/filter/model/TmfFilterOrNode.java
deleted file mode 100644
index b9f2cfa2b7..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/filter/model/TmfFilterOrNode.java
+++ /dev/null
@@ -1,88 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010, 2015 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:
- * Patrick Tasse - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.core.filter.model;
-
-import org.eclipse.linuxtools.tmf.core.event.ITmfEvent;
-
-/**
- * Filter node for the 'or' operation
- *
- * @version 1.0
- * @author Patrick Tasse
- */
-@SuppressWarnings("javadoc")
-public class TmfFilterOrNode extends TmfFilterTreeNode {
-
- public static final String NODE_NAME = "OR"; //$NON-NLS-1$
- public static final String NOT_ATTR = "not"; //$NON-NLS-1$
-
- private boolean fNot = false;
-
- /**
- * @param parent the parent node
- */
- public TmfFilterOrNode(ITmfFilterTreeNode parent) {
- super(parent);
- }
-
- @Override
- public String getNodeName() {
- return NODE_NAME;
- }
-
- /**
- * @return the NOT state
- */
- public boolean isNot() {
- return fNot;
- }
-
- /**
- * @param not the NOT state
- */
- public void setNot(boolean not) {
- this.fNot = not;
- }
-
- @Override
- public boolean matches(ITmfEvent event) {
- for (ITmfFilterTreeNode node : getChildren()) {
- if (node.matches(event)) {
- return true ^ fNot;
- }
- }
- return false & fNot;
- }
-
- @Override
- public String toString() {
- StringBuffer buf = new StringBuffer();
- if (fNot) {
- buf.append("not "); //$NON-NLS-1$
- }
- if (getParent() != null && !(getParent() instanceof TmfFilterRootNode) && !(getParent() instanceof TmfFilterNode)) {
- buf.append("( "); //$NON-NLS-1$
- }
- for (int i = 0; i < getChildrenCount(); i++) {
- ITmfFilterTreeNode node = getChildren()[i];
- buf.append(node.toString());
- if (i < getChildrenCount() - 1) {
- buf.append(" or "); //$NON-NLS-1$
- }
- }
- if (getParent() != null && !(getParent() instanceof TmfFilterRootNode) && !(getParent() instanceof TmfFilterNode)) {
- buf.append(" )"); //$NON-NLS-1$
- }
- return buf.toString();
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/filter/model/TmfFilterRootNode.java b/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/filter/model/TmfFilterRootNode.java
deleted file mode 100644
index 9c754604d8..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/filter/model/TmfFilterRootNode.java
+++ /dev/null
@@ -1,62 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010, 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:
- * Patrick Tasse - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.core.filter.model;
-
-import java.util.Arrays;
-import java.util.List;
-
-import org.eclipse.linuxtools.tmf.core.event.ITmfEvent;
-
-/**
- * The Filter tree root node
- *
- * @version 1.0
- * @author Patrick Tasse
- */
-public class TmfFilterRootNode extends TmfFilterTreeNode {
-
- @SuppressWarnings("javadoc")
- public static final String NODE_NAME = "ROOT"; //$NON-NLS-1$
-
- private static final String[] VALID_CHILDREN = {
- TmfFilterNode.NODE_NAME
- };
-
- /**
- * Default constructor
- */
- public TmfFilterRootNode() {
- super(null);
- }
-
- @Override
- public String getNodeName() {
- return NODE_NAME;
- }
-
- @Override
- public boolean matches(ITmfEvent event) {
- for (ITmfFilterTreeNode node : getChildren()) {
- if (! node.matches(event)) {
- return false;
- }
- }
- return true;
- }
-
- @Override
- public List<String> getValidChildren() {
- return Arrays.asList(VALID_CHILDREN);
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/filter/model/TmfFilterTreeNode.java b/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/filter/model/TmfFilterTreeNode.java
deleted file mode 100644
index 3e96d3b13f..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/filter/model/TmfFilterTreeNode.java
+++ /dev/null
@@ -1,234 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010, 2015 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:
- * Yuriy Vashchuk (yvashchuk@gmail.com) - Initial API and implementation
- * Patrick Tasse - Refactoring
- * Vincent Perot - Add subfield filtering
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.core.filter.model;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
-
-import org.eclipse.linuxtools.tmf.core.event.ITmfEvent;
-import org.eclipse.linuxtools.tmf.core.event.ITmfEventField;
-
-/**
- * The base class for the Filter tree nodes
- *
- * @version 1.0
- * @author Yuriy Vashchuk
- * @author Patrick Tasse
- */
-public abstract class TmfFilterTreeNode implements ITmfFilterTreeNode, Cloneable {
-
- private static final char SLASH = '/';
- private static final char BACKSLASH = '\\';
-
- private static final String[] VALID_CHILDREN = {
- TmfFilterEventTypeNode.NODE_NAME,
- TmfFilterAndNode.NODE_NAME,
- TmfFilterOrNode.NODE_NAME,
- TmfFilterContainsNode.NODE_NAME,
- TmfFilterEqualsNode.NODE_NAME,
- TmfFilterMatchesNode.NODE_NAME,
- TmfFilterCompareNode.NODE_NAME
- };
-
- private ITmfFilterTreeNode parent = null;
- private ArrayList<ITmfFilterTreeNode> children = new ArrayList<>();
-
- private String fPathAsString = null;
- private String[] fPathAsArray = null;
-
- /**
- * @param parent
- * the parent node
- */
- public TmfFilterTreeNode(final ITmfFilterTreeNode parent) {
- if (parent != null) {
- parent.addChild(this);
- }
- }
-
- @Override
- public ITmfFilterTreeNode getParent() {
- return parent;
- }
-
- @Override
- public abstract String getNodeName();
-
- @Override
- public boolean hasChildren() {
- return (children.size() > 0);
- }
-
- @Override
- public int getChildrenCount() {
- return children.size();
- }
-
- @Override
- public ITmfFilterTreeNode[] getChildren() {
- return children.toArray(new ITmfFilterTreeNode[0]);
- }
-
- @Override
- public ITmfFilterTreeNode getChild(final int index) throws IndexOutOfBoundsException {
- return children.get(index);
- }
-
- @Override
- public ITmfFilterTreeNode remove() {
- if (getParent() != null) {
- getParent().removeChild(this);
- }
- return this;
- }
-
- @Override
- public ITmfFilterTreeNode removeChild(ITmfFilterTreeNode node) {
- children.remove(node);
- node.setParent(null);
- return node;
- }
-
- @Override
- public int addChild(final ITmfFilterTreeNode node) {
- node.setParent(this);
- if (children.add(node)) {
- return (children.size() - 1);
- }
- return -1;
- }
-
- @Override
- public ITmfFilterTreeNode replaceChild(final int index, final ITmfFilterTreeNode node) throws IndexOutOfBoundsException {
- node.setParent(this);
- return children.set(index, node);
- }
-
- @Override
- public void setParent(final ITmfFilterTreeNode parent) {
- this.parent = parent;
- }
-
- @Override
- public abstract boolean matches(ITmfEvent event);
-
- /**
- * @param event
- * the event
- * @param field
- * the field id
- * @return the field value
- */
- protected Object getFieldValue(ITmfEvent event, String field) {
- Object value = null;
- if (ITmfEvent.EVENT_FIELD_CONTENT.equals(field)) {
- value = event.getContent().toString();
- }
- else if (ITmfEvent.EVENT_FIELD_TYPE.equals(field)) {
- value = event.getType().getName();
- }
- else if (ITmfEvent.EVENT_FIELD_TIMESTAMP.equals(field)) {
- value = event.getTimestamp();
- }
- else if (ITmfEvent.EVENT_FIELD_SOURCE.equals(field)) {
- value = event.getSource();
- }
- else if (ITmfEvent.EVENT_FIELD_REFERENCE.equals(field)) {
- value = event.getReference();
- }
- else {
- if (field == null) {
- return null;
- }
- ITmfEventField eventField;
- if (field.isEmpty() || field.charAt(0) != SLASH) {
- eventField = event.getContent().getField(field);
- } else {
- String[] array = getPathArray(field);
- eventField = event.getContent().getSubField(array);
- }
-
- if (eventField != null) {
- value = eventField.getValue();
- }
- }
- return value;
- }
-
- private String[] getPathArray(String field) {
-
- // Check if last request was not the same string.
- if (field.equals(fPathAsString)) {
- return fPathAsArray;
- }
-
- // Generate the new path array
- StringBuilder sb = new StringBuilder();
- List<String> list = new ArrayList<>();
-
- // We start at 1 since the first character is a slash that we want to
- // ignore.
- for (int i = 1; i < field.length(); i++) {
- char charAt = field.charAt(i);
- if (charAt == SLASH) {
- // char is slash. Cut here.
- list.add(sb.toString());
- sb = new StringBuilder();
- } else if (charAt == BACKSLASH && i < field.length() - 1 && field.charAt(i + 1) == SLASH) {
- // Uninterpreted slash. Add it.
- sb.append(SLASH);
- i++;
- } else {
- // Any other character. Add.
- sb.append(charAt);
- }
- }
-
- // Last block. Add it to list.
- list.add(sb.toString());
-
- // Transform to array
- String[] array = new String[list.size()];
- list.toArray(array);
-
- // Save new values.
- // Array first for solving concurrency issues
- fPathAsArray = array;
- fPathAsString = field;
-
- return array;
- }
-
- @Override
- public List<String> getValidChildren() {
- return Arrays.asList(VALID_CHILDREN);
- }
-
- @Override
- public ITmfFilterTreeNode clone() {
- try {
- TmfFilterTreeNode clone = (TmfFilterTreeNode) super.clone();
- clone.parent = null;
- clone.children = new ArrayList<>(children.size());
- for (ITmfFilterTreeNode child : getChildren()) {
- clone.addChild(child.clone());
- }
- return clone;
- } catch (CloneNotSupportedException e) {
- return null;
- }
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/filter/xml/TmfFilterContentHandler.java b/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/filter/xml/TmfFilterContentHandler.java
deleted file mode 100644
index 87f9576fb3..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/filter/xml/TmfFilterContentHandler.java
+++ /dev/null
@@ -1,179 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010, 2013 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:
- * Yuriy Vashchuk (yvashchuk@gmail.com) - Initial API and implementation
- * based on http://smeric.developpez.com/java/cours/xml/sax/
- * Patrick Tasse - Refactoring
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.core.filter.xml;
-
-import java.util.Stack;
-
-import org.eclipse.linuxtools.tmf.core.filter.model.ITmfFilterTreeNode;
-import org.eclipse.linuxtools.tmf.core.filter.model.TmfFilterAndNode;
-import org.eclipse.linuxtools.tmf.core.filter.model.TmfFilterCompareNode;
-import org.eclipse.linuxtools.tmf.core.filter.model.TmfFilterContainsNode;
-import org.eclipse.linuxtools.tmf.core.filter.model.TmfFilterEqualsNode;
-import org.eclipse.linuxtools.tmf.core.filter.model.TmfFilterEventTypeNode;
-import org.eclipse.linuxtools.tmf.core.filter.model.TmfFilterMatchesNode;
-import org.eclipse.linuxtools.tmf.core.filter.model.TmfFilterNode;
-import org.eclipse.linuxtools.tmf.core.filter.model.TmfFilterOrNode;
-import org.eclipse.linuxtools.tmf.core.filter.model.TmfFilterRootNode;
-import org.eclipse.linuxtools.tmf.core.filter.model.TmfFilterTreeNode;
-import org.eclipse.linuxtools.tmf.core.filter.model.TmfFilterCompareNode.Type;
-import org.xml.sax.Attributes;
-import org.xml.sax.SAXException;
-import org.xml.sax.helpers.DefaultHandler;
-
-/**
- * The SAX Content Handler
- *
- * @version 1.0
- * @author Yuriy Vashchuk
- * @author Patrick Tasse
- */
-public class TmfFilterContentHandler extends DefaultHandler {
-
- private ITmfFilterTreeNode fRoot = null;
- private Stack<ITmfFilterTreeNode> fFilterTreeStack = null;
-
- /**
- * The default constructor
- */
- public TmfFilterContentHandler() {
- super();
- fFilterTreeStack = new Stack<>();
- }
-
- /**
- * Getter of tree
- *
- * @return The builded tree
- */
- public ITmfFilterTreeNode getTree() {
- return fRoot;
- }
-
-
- @Override
- public void startElement(String uri, String localName, String qName, Attributes atts) throws SAXException {
- ITmfFilterTreeNode node = null;
-
- if (localName.equalsIgnoreCase(TmfFilterRootNode.NODE_NAME)) {
-
- node = new TmfFilterRootNode();
-
- } else if (localName.equals(TmfFilterNode.NODE_NAME)) {
-
- node = new TmfFilterNode(atts.getValue(TmfFilterNode.NAME_ATTR));
-
- } else if (localName.equals(TmfFilterEventTypeNode.NODE_NAME)) {
-
- node = new TmfFilterEventTypeNode(null);
- ((TmfFilterEventTypeNode) node).setEventType(atts.getValue(TmfFilterEventTypeNode.TYPE_ATTR));
- ((TmfFilterEventTypeNode) node).setName(atts.getValue(TmfFilterEventTypeNode.NAME_ATTR));
-
- } else if (localName.equals(TmfFilterAndNode.NODE_NAME)) {
-
- node = new TmfFilterAndNode(null);
- String value = atts.getValue(TmfFilterAndNode.NOT_ATTR);
- if (value != null && value.equalsIgnoreCase(Boolean.TRUE.toString())) {
- ((TmfFilterAndNode) node).setNot(true);
- }
-
- } else if (localName.equals(TmfFilterOrNode.NODE_NAME)) {
-
- node = new TmfFilterOrNode(null);
- String value = atts.getValue(TmfFilterOrNode.NOT_ATTR);
- if (value != null && value.equalsIgnoreCase(Boolean.TRUE.toString())) {
- ((TmfFilterOrNode) node).setNot(true);
- }
-
- } else if (localName.equals(TmfFilterContainsNode.NODE_NAME)) {
-
- node = new TmfFilterContainsNode(null);
- String value = atts.getValue(TmfFilterContainsNode.NOT_ATTR);
- if (value != null && value.equalsIgnoreCase(Boolean.TRUE.toString())) {
- ((TmfFilterContainsNode) node).setNot(true);
- }
- ((TmfFilterContainsNode) node).setField(atts.getValue(TmfFilterContainsNode.FIELD_ATTR));
- ((TmfFilterContainsNode) node).setValue(atts.getValue(TmfFilterContainsNode.VALUE_ATTR));
- value = atts.getValue(TmfFilterContainsNode.IGNORECASE_ATTR);
- if (value != null && value.equalsIgnoreCase(Boolean.TRUE.toString())) {
- ((TmfFilterContainsNode) node).setIgnoreCase(true);
- }
-
- } else if (localName.equals(TmfFilterEqualsNode.NODE_NAME)) {
-
- node = new TmfFilterEqualsNode(null);
- String value = atts.getValue(TmfFilterEqualsNode.NOT_ATTR);
- if (value != null && value.equalsIgnoreCase(Boolean.TRUE.toString())) {
- ((TmfFilterEqualsNode) node).setNot(true);
- }
- ((TmfFilterEqualsNode) node).setField(atts.getValue(TmfFilterEqualsNode.FIELD_ATTR));
- ((TmfFilterEqualsNode) node).setValue(atts.getValue(TmfFilterEqualsNode.VALUE_ATTR));
- value = atts.getValue(TmfFilterEqualsNode.IGNORECASE_ATTR);
- if (value != null && value.equalsIgnoreCase(Boolean.TRUE.toString())) {
- ((TmfFilterEqualsNode) node).setIgnoreCase(true);
- }
-
- } else if (localName.equals(TmfFilterMatchesNode.NODE_NAME)) {
-
- node = new TmfFilterMatchesNode(null);
- String value = atts.getValue(TmfFilterMatchesNode.NOT_ATTR);
- if (value != null && value.equalsIgnoreCase(Boolean.TRUE.toString())) {
- ((TmfFilterMatchesNode) node).setNot(true);
- }
- ((TmfFilterMatchesNode) node).setField(atts.getValue(TmfFilterMatchesNode.FIELD_ATTR));
- ((TmfFilterMatchesNode) node).setRegex(atts.getValue(TmfFilterMatchesNode.REGEX_ATTR));
-
- } else if (localName.equals(TmfFilterCompareNode.NODE_NAME)) {
-
- node = new TmfFilterCompareNode(null);
- String value = atts.getValue(TmfFilterCompareNode.NOT_ATTR);
- if (value != null && value.equalsIgnoreCase(Boolean.TRUE.toString())) {
- ((TmfFilterCompareNode) node).setNot(true);
- }
- ((TmfFilterCompareNode) node).setField(atts.getValue(TmfFilterCompareNode.FIELD_ATTR));
- value = atts.getValue(TmfFilterCompareNode.TYPE_ATTR);
- if (value != null) {
- ((TmfFilterCompareNode) node).setType(Type.valueOf(value));
- }
- value = atts.getValue(TmfFilterCompareNode.RESULT_ATTR);
- if (value != null) {
- if (value.equals(Integer.toString(-1))) {
- ((TmfFilterCompareNode) node).setResult(-1);
- } else if (value.equals(Integer.toString(1))) {
- ((TmfFilterCompareNode) node).setResult(1);
- } else {
- ((TmfFilterCompareNode) node).setResult(0);
- }
- }
- ((TmfFilterCompareNode) node).setValue(atts.getValue(TmfFilterCompareNode.VALUE_ATTR));
-
- }
-
- fFilterTreeStack.push(node);
- }
-
- @Override
- public void endElement(String uri, String localName, String qName) throws SAXException {
- ITmfFilterTreeNode node = fFilterTreeStack.pop();
-
- if (fFilterTreeStack.isEmpty()) {
- fRoot = node;
- } else if (fFilterTreeStack.lastElement() instanceof TmfFilterTreeNode &&
- node instanceof TmfFilterTreeNode) {
- fFilterTreeStack.lastElement().addChild(node);
- }
-
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/filter/xml/TmfFilterXMLParser.java b/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/filter/xml/TmfFilterXMLParser.java
deleted file mode 100644
index 7ddbd54b4e..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/filter/xml/TmfFilterXMLParser.java
+++ /dev/null
@@ -1,70 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010, 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:
- * Yuriy Vashchuk (yvashchuk@gmail.com) - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.core.filter.xml;
-
-import java.io.IOException;
-
-import javax.xml.parsers.ParserConfigurationException;
-import javax.xml.parsers.SAXParserFactory;
-
-import org.eclipse.linuxtools.tmf.core.filter.model.ITmfFilterTreeNode;
-import org.xml.sax.SAXException;
-import org.xml.sax.XMLReader;
-
-/**
- * The SAX based XML parser
- *
- * @version 1.0
- * @author Yuriy Vashchuk
- * @author Patrick Tasse
- */
-public class TmfFilterXMLParser {
-
- private static ITmfFilterTreeNode fRoot = null;
-
- /**
- * The XMLParser constructor
- *
- * @param uri The XML file to parse
- * @throws SAXException SAX exception
- * @throws IOException IO exception
- */
- public TmfFilterXMLParser(final String uri) throws SAXException, IOException {
-
- SAXParserFactory m_parserFactory = null;
- m_parserFactory = SAXParserFactory.newInstance();
- m_parserFactory.setNamespaceAware(true);
-
- XMLReader saxReader = null;
- try {
-
- saxReader = m_parserFactory.newSAXParser().getXMLReader();
- saxReader.setContentHandler(new TmfFilterContentHandler());
- saxReader.parse(uri);
-
- fRoot = ((TmfFilterContentHandler) saxReader.getContentHandler()).getTree();
-
- } catch (ParserConfigurationException e) {
- e.printStackTrace();
- }
- }
-
- /**
- * Getter of tree
- *
- * @return The builded tree
- */
- public ITmfFilterTreeNode getTree() {
- return fRoot;
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/filter/xml/TmfFilterXMLWriter.java b/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/filter/xml/TmfFilterXMLWriter.java
deleted file mode 100644
index e642733e8e..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/filter/xml/TmfFilterXMLWriter.java
+++ /dev/null
@@ -1,162 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010, 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:
- * Yuriy Vashchuk (yvashchuk@gmail.com) - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.core.filter.xml;
-
-import java.io.File;
-
-import javax.xml.parsers.DocumentBuilder;
-import javax.xml.parsers.DocumentBuilderFactory;
-import javax.xml.parsers.ParserConfigurationException;
-import javax.xml.transform.Transformer;
-import javax.xml.transform.TransformerConfigurationException;
-import javax.xml.transform.TransformerException;
-import javax.xml.transform.TransformerFactory;
-import javax.xml.transform.dom.DOMSource;
-import javax.xml.transform.stream.StreamResult;
-
-import org.eclipse.linuxtools.tmf.core.filter.model.ITmfFilterTreeNode;
-import org.eclipse.linuxtools.tmf.core.filter.model.TmfFilterAndNode;
-import org.eclipse.linuxtools.tmf.core.filter.model.TmfFilterCompareNode;
-import org.eclipse.linuxtools.tmf.core.filter.model.TmfFilterContainsNode;
-import org.eclipse.linuxtools.tmf.core.filter.model.TmfFilterEqualsNode;
-import org.eclipse.linuxtools.tmf.core.filter.model.TmfFilterEventTypeNode;
-import org.eclipse.linuxtools.tmf.core.filter.model.TmfFilterMatchesNode;
-import org.eclipse.linuxtools.tmf.core.filter.model.TmfFilterNode;
-import org.eclipse.linuxtools.tmf.core.filter.model.TmfFilterOrNode;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-
-/**
- * The SAX based XML writer
- *
- * @version 1.0
- * @author Yuriy Vashchuk
- * @author Patrick Tasse
- */
-public class TmfFilterXMLWriter {
-
- private Document document = null;
-
- /**
- * The XMLParser constructor
- *
- * @param root The tree root
- * @throws ParserConfigurationException if a DocumentBuilder
- * cannot be created which satisfies the configuration requested.
- */
- public TmfFilterXMLWriter(final ITmfFilterTreeNode root) throws ParserConfigurationException {
- DocumentBuilderFactory documentBuilderFactory = DocumentBuilderFactory.newInstance();
- DocumentBuilder documentBuilder = documentBuilderFactory.newDocumentBuilder();
- document = documentBuilder.newDocument();
-
- Element rootElement = document.createElement(root.getNodeName());
- document.appendChild(rootElement);
-
- for (ITmfFilterTreeNode node : root.getChildren()) {
- buildXMLTree(document, node, rootElement);
- }
- }
-
- /**
- * The Tree to XML parser
- *
- * @param document The XML document
- * @param treenode The node to write
- * @param parentElement The XML element of the parent
- */
- public static void buildXMLTree(final Document document, final ITmfFilterTreeNode treenode, Element parentElement) {
- Element element = document.createElement(treenode.getNodeName());
-
- if (treenode instanceof TmfFilterNode) {
-
- TmfFilterNode node = (TmfFilterNode) treenode;
- element.setAttribute(TmfFilterNode.NAME_ATTR, node.getFilterName());
-
- } else if (treenode instanceof TmfFilterEventTypeNode) {
-
- TmfFilterEventTypeNode node = (TmfFilterEventTypeNode) treenode;
- element.setAttribute(TmfFilterEventTypeNode.TYPE_ATTR, node.getEventType());
- element.setAttribute(TmfFilterEventTypeNode.NAME_ATTR, node.getName());
-
- } else if (treenode instanceof TmfFilterAndNode) {
-
- TmfFilterAndNode node = (TmfFilterAndNode) treenode;
- element.setAttribute(TmfFilterAndNode.NOT_ATTR, Boolean.toString(node.isNot()));
-
- } else if (treenode instanceof TmfFilterOrNode) {
-
- TmfFilterOrNode node = (TmfFilterOrNode) treenode;
- element.setAttribute(TmfFilterOrNode.NOT_ATTR, Boolean.toString(node.isNot()));
-
- } else if (treenode instanceof TmfFilterContainsNode) {
-
- TmfFilterContainsNode node = (TmfFilterContainsNode) treenode;
- element.setAttribute(TmfFilterContainsNode.NOT_ATTR, Boolean.toString(node.isNot()));
- element.setAttribute(TmfFilterContainsNode.FIELD_ATTR, node.getField());
- element.setAttribute(TmfFilterContainsNode.VALUE_ATTR, node.getValue());
- element.setAttribute(TmfFilterContainsNode.IGNORECASE_ATTR, Boolean.toString(node.isIgnoreCase()));
-
- } else if (treenode instanceof TmfFilterEqualsNode) {
-
- TmfFilterEqualsNode node = (TmfFilterEqualsNode) treenode;
- element.setAttribute(TmfFilterEqualsNode.NOT_ATTR, Boolean.toString(node.isNot()));
- element.setAttribute(TmfFilterEqualsNode.FIELD_ATTR, node.getField());
- element.setAttribute(TmfFilterEqualsNode.VALUE_ATTR, node.getValue());
- element.setAttribute(TmfFilterEqualsNode.IGNORECASE_ATTR, Boolean.toString(node.isIgnoreCase()));
-
- } else if (treenode instanceof TmfFilterMatchesNode) {
-
- TmfFilterMatchesNode node = (TmfFilterMatchesNode) treenode;
- element.setAttribute(TmfFilterMatchesNode.NOT_ATTR, Boolean.toString(node.isNot()));
- element.setAttribute(TmfFilterMatchesNode.FIELD_ATTR, node.getField());
- element.setAttribute(TmfFilterMatchesNode.REGEX_ATTR, node.getRegex());
-
- } else if (treenode instanceof TmfFilterCompareNode) {
-
- TmfFilterCompareNode node = (TmfFilterCompareNode) treenode;
- element.setAttribute(TmfFilterCompareNode.NOT_ATTR, Boolean.toString(node.isNot()));
- element.setAttribute(TmfFilterCompareNode.FIELD_ATTR, node.getField());
- element.setAttribute(TmfFilterCompareNode.RESULT_ATTR, Integer.toString(node.getResult()));
- element.setAttribute(TmfFilterCompareNode.TYPE_ATTR, node.getType().toString());
- element.setAttribute(TmfFilterCompareNode.VALUE_ATTR, node.getValue());
-
- }
-
- parentElement.appendChild(element);
-
- for (int i = 0; i < treenode.getChildrenCount(); i++) {
- buildXMLTree(document, treenode.getChild(i), element);
- }
- }
-
- /**
- * Save the tree
- *
- * @param uri The new Filter XML path
- */
- public void saveTree(final String uri) {
- TransformerFactory transformerFactory = TransformerFactory.newInstance();
-
- try {
- Transformer transformer = transformerFactory.newTransformer();
- DOMSource source = new DOMSource(document);
- StreamResult result = new StreamResult(new File(uri));
- transformer.transform(source, result);
- } catch (TransformerConfigurationException e) {
- e.printStackTrace();
- } catch (TransformerException e) {
- e.printStackTrace();
- }
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/io/BufferedRandomAccessFile.java b/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/io/BufferedRandomAccessFile.java
deleted file mode 100644
index 8c0b9c3ed3..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/io/BufferedRandomAccessFile.java
+++ /dev/null
@@ -1,229 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010, 2014 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:
- * Patrick Tasse - Initial API and implementation, based on article by Nick Zhang
- * (http://www.javaworld.com/javatips/jw-javatip26.html)
- ******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.core.io;
-
-import java.io.File;
-import java.io.IOException;
-import java.io.RandomAccessFile;
-import java.nio.charset.Charset;
-
-/**
- * A class to mitigate the Java I/O inefficiency of RandomAccessFile.
- *
- * @version 1.0
- * @author Patrick Tasse
- */
-public class BufferedRandomAccessFile extends RandomAccessFile {
-
- private static final int DEFAULT_BUF_SIZE = 8192;
- private static final Charset CHARSET_UTF8 = Charset.forName("UTF-8"); //$NON-NLS-1$
-
- private final int BUF_SIZE;
- private final byte buffer[];
- private int buf_end = 0;
- private int buf_pos = 0;
- private long real_pos = 0;
- private final StringBuilder sb = new StringBuilder();
-
- /**
- * Constructor using the default buffer size
- *
- * @param name
- * File path. This is passed as-is to the RandomAccessFile's
- * constructor.
- * @param mode
- * File open mode ("r", "rw", etc.). This is passed as-is to
- * RandomAccessFile's constructor.
- * @throws IOException
- * If the file was not found or couldn't be opened with the
- * request permissions
- */
- public BufferedRandomAccessFile(String name, String mode) throws IOException {
- this(name, mode, DEFAULT_BUF_SIZE);
- }
-
- /**
- * Constructor using the default buffer size
- *
- * @param file
- * File object. This is passed as-is to the RandomAccessFile's
- * constructor.
- * @param mode
- * File open mode ("r", "rw", etc.). This is passed as-is to
- * RandomAccessFile's constructor.
- * @throws IOException
- * If the file was not found or couldn't be opened with the
- * request permissions
- */
- public BufferedRandomAccessFile(File file, String mode) throws IOException {
- this(file, mode, DEFAULT_BUF_SIZE);
- }
-
- /**
- * Standard constructor.
- *
- * @param name
- * File path. This is passed as-is to the RandomAccessFile's
- * constructor.
- * @param mode
- * File open mode ("r", "rw", etc.). This is passed as-is to
- * RandomAccessFile's constructor.
- * @param bufsize
- * Buffer size to use, in bytes
- * @throws IOException
- * If the file was not found or couldn't be opened with the
- * request permissions
- */
- public BufferedRandomAccessFile(String name, String mode, int bufsize) throws IOException {
- super(name, mode);
- invalidate();
- BUF_SIZE = bufsize;
- buffer = new byte[BUF_SIZE];
- }
-
- /**
- * Standard constructor.
- *
- * @param file
- * File object. This is passed as-is to the RandomAccessFile's
- * constructor.
- * @param mode
- * File open mode ("r", "rw", etc.). This is passed as-is to
- * RandomAccessFile's constructor.
- * @param bufsize
- * Buffer size to use, in bytes
- * @throws IOException
- * If the file was not found or couldn't be opened with the
- * request permissions
- */
- public BufferedRandomAccessFile(File file, String mode, int bufsize) throws IOException {
- super(file, mode);
- invalidate();
- BUF_SIZE = bufsize;
- buffer = new byte[BUF_SIZE];
- }
-
- @Override
- public final int read() throws IOException {
- if (buf_pos >= buf_end) {
- if (fillBuffer() < 0) {
- return -1;
- }
- }
- if (buf_end == 0) {
- return -1;
- }
- return (buffer[buf_pos++] & 0xff);
- }
-
- @Override
- public int read(byte b[], int off, int len) throws IOException {
- int leftover = buf_end - buf_pos;
- if (len <= leftover) {
- System.arraycopy(buffer, buf_pos, b, off, len);
- buf_pos += len;
- return len;
- }
- for (int i = 0; i < len; i++) {
- int c = this.read();
- if (c != -1) {
- b[off + i] = (byte) c;
- } else {
- if (i == 0) {
- return -1;
- }
- return i;
- }
- }
- return len;
- }
-
- @Override
- public long getFilePointer() throws IOException {
- long l = real_pos;
- return (l - buf_end + buf_pos);
- }
-
- @Override
- public void seek(long pos) throws IOException {
- int n = (int) (real_pos - pos);
- if (n >= 0 && n <= buf_end) {
- buf_pos = buf_end - n;
- } else {
- super.seek(pos);
- invalidate();
- }
- }
-
- /**
- * Read the next line from the buffer (ie, until the next '\n'). The bytes
- * are interpreted as UTF-8 characters.
- *
- * @return The String that was read
- * @throws IOException
- * If we failed reading the file
- */
- public final String getNextLine() throws IOException {
- String str = null;
- if (buf_end - buf_pos <= 0) {
- if (fillBuffer() < 0) {
- return null;
- }
- }
- int lineend = -1;
- for (int i = buf_pos; i < buf_end; i++) {
- if (buffer[i] == '\n') {
- lineend = i;
- break;
- }
- }
- if (lineend < 0) {
- sb.delete(0, sb.length());
- int c;
- while (((c = read()) != -1) && (c != '\n')) {
- sb.append((char) c);
- }
- if ((c == -1) && (sb.length() == 0)) {
- return null;
- }
- if (sb.charAt(sb.length() - 1) == '\r') {
- sb.deleteCharAt(sb.length() - 1);
- }
- return sb.toString();
- }
- if (lineend > 0 && buffer[lineend - 1] == '\r' && lineend > buf_pos) {
- str = new String(buffer, buf_pos, lineend - buf_pos - 1, CHARSET_UTF8);
- } else {
- str = new String(buffer, buf_pos, lineend - buf_pos, CHARSET_UTF8);
- }
- buf_pos = lineend + 1;
- return str;
- }
-
- private int fillBuffer() throws IOException {
- int n = super.read(buffer, 0, BUF_SIZE);
- if (n >= 0) {
- real_pos += n;
- buf_end = n;
- buf_pos = 0;
- }
- return n;
- }
-
- private void invalidate() throws IOException {
- buf_end = 0;
- buf_pos = 0;
- real_pos = super.getFilePointer();
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/messages.properties b/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/messages.properties
deleted file mode 100644
index 501a62717c..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/messages.properties
+++ /dev/null
@@ -1,13 +0,0 @@
-###############################################################################
-# Copyright (c) 2013 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:
-# Marc-Andre Laperle - Initial API and implementation
-###############################################################################
-
-DefaultTraceProjectName=Tracing \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/parsers/custom/CustomEvent.java b/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/parsers/custom/CustomEvent.java
deleted file mode 100644
index e8508c4295..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/parsers/custom/CustomEvent.java
+++ /dev/null
@@ -1,314 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010, 2014 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:
- * Patrick Tasse - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.core.parsers.custom;
-
-import java.text.ParseException;
-import java.util.HashMap;
-import java.util.Map;
-
-import org.eclipse.linuxtools.tmf.core.event.ITmfEventField;
-import org.eclipse.linuxtools.tmf.core.event.ITmfEventType;
-import org.eclipse.linuxtools.tmf.core.event.TmfEvent;
-import org.eclipse.linuxtools.tmf.core.event.TmfEventField;
-import org.eclipse.linuxtools.tmf.core.event.TmfEventType;
-import org.eclipse.linuxtools.tmf.core.parsers.custom.CustomTraceDefinition.OutputColumn;
-import org.eclipse.linuxtools.tmf.core.timestamp.ITmfTimestamp;
-import org.eclipse.linuxtools.tmf.core.timestamp.TmfNanoTimestamp;
-import org.eclipse.linuxtools.tmf.core.timestamp.TmfTimestamp;
-import org.eclipse.linuxtools.tmf.core.timestamp.TmfTimestampFormat;
-import org.eclipse.linuxtools.tmf.core.trace.ITmfTrace;
-
-/**
- * Base event for custom text parsers.
- *
- * @author Patrick Tassé
- * @since 3.0
- */
-public class CustomEvent extends TmfEvent {
-
- /** Input format key */
- protected static final String TIMESTAMP_INPUT_FORMAT_KEY = "CE_TS_I_F"; //$NON-NLS-1$
-
- /** Empty message */
- protected static final String NO_MESSAGE = ""; //$NON-NLS-1$
-
- /** Replacement for the super-class' timestamp field */
- private ITmfTimestamp customEventTimestamp;
-
- /** Replacement for the super-class' content field */
- private ITmfEventField customEventContent;
-
- /** Replacement for the super-class' type field */
- private ITmfEventType customEventType;
-
- /** The trace to which this event belongs */
- protected CustomTraceDefinition fDefinition;
-
- /** The payload data of this event, <field name, value> */
- protected Map<String, String> fData;
-
- private TmfEventField[] fColumnData;
-
- /**
- * Basic constructor.
- *
- * @param definition
- * The trace definition to which this event belongs
- */
- public CustomEvent(CustomTraceDefinition definition) {
- fDefinition = definition;
- fData = new HashMap<>();
- }
-
- /**
- * Build a new CustomEvent from an existing TmfEvent.
- *
- * @param definition
- * The trace definition to which this event belongs
- * @param other
- * The TmfEvent to copy
- */
- public CustomEvent(CustomTraceDefinition definition, TmfEvent other) {
- super(other);
- fDefinition = definition;
- fData = new HashMap<>();
-
- /* Set our overridden fields */
- customEventTimestamp = other.getTimestamp();
- customEventContent = other.getContent();
- customEventType = other.getType();
- }
-
- /**
- * Full constructor
- *
- * @param definition
- * Trace definition of this event
- * @param parentTrace
- * Parent trace object
- * @param timestamp
- * Timestamp of this event
- * @param source
- * Source of the event
- * @param type
- * Event type
- * @param reference
- * Event reference
- */
- public CustomEvent(CustomTraceDefinition definition, ITmfTrace parentTrace,
- ITmfTimestamp timestamp, String source, TmfEventType type,
- String reference) {
- /* Do not use upstream's fields for stuff we override */
- super(parentTrace, null, source, null, null, reference);
- fDefinition = definition;
- fData = new HashMap<>();
-
- /* Set our overridden fields */
- customEventTimestamp = timestamp;
- customEventContent = null;
- customEventType = type;
- }
-
- // ------------------------------------------------------------------------
- // Overridden getters
- // ------------------------------------------------------------------------
-
- @Override
- public ITmfTimestamp getTimestamp() {
- if (fData != null) {
- processData();
- }
- return customEventTimestamp;
- }
-
- @Override
- public ITmfEventField getContent() {
- return customEventContent;
- }
-
- @Override
- public ITmfEventType getType() {
- return customEventType;
- }
-
- // ------------------------------------------------------------------------
- // Setters
- // ------------------------------------------------------------------------
-
- /**
- * Set this event's timestamp
- *
- * @param timestamp
- * The new timestamp
- */
- protected void setTimestamp(ITmfTimestamp timestamp) {
- customEventTimestamp = timestamp;
- }
-
- /**
- * Set this event's content
- *
- * @param content
- * The new content
- */
- protected void setContent(ITmfEventField content) {
- customEventContent = content;
- }
-
- /**
- * Set this event's type
- *
- * @param type
- * The new type
- */
- protected void setType(ITmfEventType type) {
- customEventType = type;
- }
-
- // ------------------------------------------------------------------------
- // Other operations
- // ------------------------------------------------------------------------
-
- /**
- * Get the contents of an event table cell for this event's row.
- *
- * @param index
- * The ID/index of the field to display. This corresponds to the
- * index in the event content.
- * @return The String to display in the cell
- * @since 3.1
- */
- public String getEventString(int index) {
- if (fData != null) {
- processData();
- }
- if (index < 0 || index >= fColumnData.length) {
- return ""; //$NON-NLS-1$
- }
-
- return fColumnData[index].getValue().toString();
- }
-
- /**
- * Get the contents of the row in the events table corresponding to this
- * event. The order of the elements corresponds to the order of the columns.
- *
- * @return The event row entries
- * @deprecated This should not be used, since this isn't related to the
- * order of columns in the view anymore. You should use
- * {@link #getEventString(int)}
- */
- @Deprecated
- public String[] getEventStrings() {
- if (fData != null) {
- processData();
- }
- String[] entries = new String[fColumnData.length];
- for (int i = 0; i < fColumnData.length; i++) {
- entries[i] = fColumnData[i].getValue().toString();
- }
- return entries;
- }
-
- private void processData() {
- String timestampString = fData.get(CustomTraceDefinition.TAG_TIMESTAMP);
- String timestampInputFormat = fData.get(TIMESTAMP_INPUT_FORMAT_KEY);
- TmfTimestamp timestamp = null;
- if (timestampInputFormat != null && timestampString != null) {
- TmfTimestampFormat timestampFormat = new TmfTimestampFormat(timestampInputFormat);
- try {
- long time = timestampFormat.parseValue(timestampString);
- timestamp = new TmfNanoTimestamp(getTrace().getTimestampTransform().transform(time));
- setTimestamp(timestamp);
- } catch (ParseException e) {
- setTimestamp(TmfTimestamp.ZERO);
- }
- } else {
- setTimestamp(TmfTimestamp.ZERO);
- }
-
- int i = 0;
- fColumnData = new TmfEventField[fDefinition.outputs.size()];
- for (OutputColumn outputColumn : fDefinition.outputs) {
- String value = fData.get(outputColumn.name);
- if (outputColumn.name.equals(CustomTraceDefinition.TAG_TIMESTAMP) && timestamp != null) {
- TmfTimestampFormat timestampFormat = new TmfTimestampFormat(fDefinition.timeStampOutputFormat);
- fColumnData[i++] = new TmfEventField(outputColumn.name, timestampFormat.format(timestamp.getValue()), null);
- } else {
- fColumnData[i++] = new TmfEventField(outputColumn.name, (value != null ? value : ""), null); //$NON-NLS-1$
- }
- }
- CustomEventContent curContent = (CustomEventContent) getContent();
- setContent(new CustomEventContent(curContent.getName(), curContent.getValue(), fColumnData));
- fData = null;
- }
-
- @Override
- public int hashCode() {
- final int prime = 31;
- int result = super.hashCode();
- result = prime * result + ((fDefinition == null) ? 0 : fDefinition.hashCode());
- result = prime * result + ((customEventTimestamp == null) ? 0 : customEventTimestamp.hashCode());
- result = prime * result + ((customEventContent == null) ? 0 : customEventContent.hashCode());
- result = prime * result + ((customEventType == null) ? 0 : customEventType.hashCode());
- return result;
- }
-
- @Override
- public boolean equals(Object obj) {
- if (this == obj) {
- return true;
- }
- if (!super.equals(obj)) {
- return false;
- }
- if (!(obj instanceof CustomEvent)) {
- return false;
- }
- CustomEvent other = (CustomEvent) obj;
- if (fDefinition == null) {
- if (other.fDefinition != null) {
- return false;
- }
- } else if (!fDefinition.equals(other.fDefinition)) {
- return false;
- }
-
- if (customEventTimestamp == null) {
- if (other.customEventTimestamp != null) {
- return false;
- }
- } else if (!customEventTimestamp.equals(other.customEventTimestamp)) {
- return false;
- }
-
- if (customEventContent == null) {
- if (other.customEventContent != null) {
- return false;
- }
- } else if (!customEventContent.equals(other.customEventContent)) {
- return false;
- }
-
- if (customEventType == null) {
- if (other.customEventType != null) {
- return false;
- }
- } else if (!customEventType.equals(other.customEventType)) {
- return false;
- }
-
- return true;
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/parsers/custom/CustomEventContent.java b/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/parsers/custom/CustomEventContent.java
deleted file mode 100644
index 69684a8957..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/parsers/custom/CustomEventContent.java
+++ /dev/null
@@ -1,70 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010, 2014 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:
- * Patrick Tassé - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.core.parsers.custom;
-
-import org.eclipse.linuxtools.tmf.core.event.ITmfEventField;
-import org.eclipse.linuxtools.tmf.core.event.TmfEventField;
-
-/**
- * Event content for custom text parsers
- *
- * @author Patrick Tassé
- * @since 3.0
- */
-public class CustomEventContent extends TmfEventField {
-
- /**
- * Constructor.
- *
- * @param parent
- * Parent event
- * @param content
- * Event content
- */
- public CustomEventContent(CustomEvent parent, StringBuffer content) {
- super(ITmfEventField.ROOT_FIELD_ID, content, null);
- }
-
- /**
- * Create a new event field with sub-fields.
- *
- * @param name
- * Field name
- * @param content
- * Event content
- * @param fields
- * The array of sub-fields
- */
- public CustomEventContent(String name, Object content, ITmfEventField[] fields) {
- super(name, content, fields);
- }
-
- @Override
- public int hashCode() {
- return super.hashCode();
- }
-
- @Override
- public boolean equals(Object obj) {
- if (this == obj) {
- return true;
- }
- if (!super.equals(obj)) {
- return false;
- }
- if (!(obj instanceof CustomEventContent)) {
- return false;
- }
- return true;
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/parsers/custom/CustomEventType.java b/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/parsers/custom/CustomEventType.java
deleted file mode 100644
index 2dc5c785c7..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/parsers/custom/CustomEventType.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010, 2014 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:
- * Patrick Tassé - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.core.parsers.custom;
-
-import org.eclipse.linuxtools.tmf.core.event.ITmfEventField;
-import org.eclipse.linuxtools.tmf.core.event.TmfEventField;
-import org.eclipse.linuxtools.tmf.core.event.TmfEventType;
-
-/**
- * Event type for custom text parsers.
- *
- * @author Patrick Tassé
- * @since 3.0
- */
-public abstract class CustomEventType extends TmfEventType {
-
- private static String CONTEXT_ID = "CustomEventType"; //$NON-NLS-1$
-
- /**
- * Constructor
- *
- * @param definition
- * Trace definition
- */
- public CustomEventType(CustomTraceDefinition definition) {
- super(CONTEXT_ID, definition.definitionName, getRootField(definition));
- }
-
- private static ITmfEventField getRootField(CustomTraceDefinition definition) {
- ITmfEventField[] fields = new ITmfEventField[definition.outputs.size()];
- for (int i = 0; i < fields.length; i++) {
- fields[i] = new TmfEventField(definition.outputs.get(i).name, null, null);
- }
- ITmfEventField rootField = new TmfEventField(ITmfEventField.ROOT_FIELD_ID, null, fields);
- return rootField;
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/parsers/custom/CustomTraceDefinition.java b/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/parsers/custom/CustomTraceDefinition.java
deleted file mode 100644
index d38ddd92f8..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/parsers/custom/CustomTraceDefinition.java
+++ /dev/null
@@ -1,157 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010, 2014 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:
- * Patrick Tasse - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.core.parsers.custom;
-
-import java.io.ByteArrayInputStream;
-import java.text.SimpleDateFormat;
-import java.util.List;
-
-import org.eclipse.linuxtools.tmf.core.timestamp.TmfTimestamp;
-import org.xml.sax.EntityResolver;
-import org.xml.sax.ErrorHandler;
-import org.xml.sax.InputSource;
-import org.xml.sax.SAXException;
-import org.xml.sax.SAXParseException;
-
-/**
- * Base class for custom trace definitions.
- *
- * @author Patrick Tassé
- * @since 3.0
- */
-public abstract class CustomTraceDefinition {
-
- /** "set" action */
- public static final int ACTION_SET = 0;
-
- /** "append" action */
- public static final int ACTION_APPEND = 1;
-
- /** "append with separator" action */
- public static final int ACTION_APPEND_WITH_SEPARATOR = 2;
-
- /** Timestamp tag */
- public static final String TAG_TIMESTAMP = Messages.CustomTraceDefinition_timestampTag;
-
- /** Message tag */
- public static final String TAG_MESSAGE = Messages.CustomTraceDefinition_messageTag;
-
- /** "Other" tag */
- public static final String TAG_OTHER = Messages.CustomTraceDefinition_otherTag;
-
- /** Category of this trace definition
- * @since 3.2 */
- public String categoryName;
-
- /** Name of this trace definition */
- public String definitionName;
-
- /** List of output columns */
- public List<OutputColumn> outputs;
-
- /** Timestamp format */
- public String timeStampOutputFormat;
-
- /**
- * Definition of an output column
- */
- public static class OutputColumn {
-
- /** Name of this column */
- public String name;
-
- /**
- * Default constructor (empty)
- */
- public OutputColumn() {}
-
- /**
- * Constructor
- *
- * @param name Name of this output column
- */
- public OutputColumn(String name) {
- this.name = name;
- }
-
- @Override
- public String toString() {
- return name;
- }
- }
-
- /**
- * Format a timestamp in this trace's current time stamp format.
- *
- * @param timestamp
- * The timestamp to format
- * @return The same timestamp as a formatted string
- */
- public String formatTimeStamp(TmfTimestamp timestamp) {
- SimpleDateFormat simpleDateFormat = new SimpleDateFormat(timeStampOutputFormat);
- return simpleDateFormat.format(timestamp.getValue());
- }
-
- /**
- * Save this custom trace in the default path.
- */
- public abstract void save();
-
- /**
- * Save this custom trace in the supplied path.
- *
- * @param path
- * The path to save to
- */
- public abstract void save(String path);
-
- /**
- * Creates a new empty entity resolver
- *
- * @return a new entity resolver
- * @since 3.1
- */
- protected static EntityResolver createEmptyEntityResolver() {
- return new EntityResolver() {
- @Override
- public InputSource resolveEntity(String publicId, String systemId) {
- String empty = ""; //$NON-NLS-1$
- ByteArrayInputStream bais = new ByteArrayInputStream(empty.getBytes());
- return new InputSource(bais);
- }
- };
- }
-
- /**
- * Creates an error handler for parse exceptions
- *
- * @return a new error handler
- * @since 3.1
- */
- protected static ErrorHandler createErrorHandler() {
- return new ErrorHandler() {
- @Override
- public void error(SAXParseException saxparseexception) throws SAXException {
- }
-
- @Override
- public void warning(SAXParseException saxparseexception) throws SAXException {
- }
-
- @Override
- public void fatalError(SAXParseException saxparseexception) throws SAXException {
- throw saxparseexception;
- }
- };
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/parsers/custom/CustomTxtEvent.java b/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/parsers/custom/CustomTxtEvent.java
deleted file mode 100644
index b8d11f2927..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/parsers/custom/CustomTxtEvent.java
+++ /dev/null
@@ -1,143 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010, 2014 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:
- * Patrick Tasse - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.core.parsers.custom;
-
-import java.util.regex.Matcher;
-
-import org.eclipse.linuxtools.tmf.core.event.ITmfEventField;
-import org.eclipse.linuxtools.tmf.core.event.TmfEvent;
-import org.eclipse.linuxtools.tmf.core.event.TmfEventType;
-import org.eclipse.linuxtools.tmf.core.parsers.custom.CustomTxtTraceDefinition.InputData;
-import org.eclipse.linuxtools.tmf.core.parsers.custom.CustomTxtTraceDefinition.InputLine;
-import org.eclipse.linuxtools.tmf.core.timestamp.ITmfTimestamp;
-import org.eclipse.linuxtools.tmf.core.trace.ITmfTrace;
-
-/**
- * Trace event for custom text parsers.
- *
- * @author Patrick Tassé
- * @since 3.0
- */
-public class CustomTxtEvent extends CustomEvent {
-
- /**
- * Constructor
- *
- * @param definition
- * Trace definition
- */
- public CustomTxtEvent(CustomTxtTraceDefinition definition) {
- super(definition);
- setType(new CustomTxtEventType(definition));
- }
-
- /**
- * Construct a custom text event from an existing TmfEvent.
- *
- * @param definition
- * Trace definition
- * @param other
- * The TmfEvent object to copy
- */
- public CustomTxtEvent(CustomTxtTraceDefinition definition, TmfEvent other) {
- super(definition, other);
- }
-
- /**
- * Full constructor.
- *
- * @param definition
- * Trace definition
- * @param parentTrace
- * Parent trace object
- * @param timestamp
- * Timestamp of this event
- * @param source
- * Source of this event
- * @param type
- * Event type
- * @param reference
- * Reference if this event
- */
- public CustomTxtEvent(CustomTxtTraceDefinition definition,
- ITmfTrace parentTrace, ITmfTimestamp timestamp, String source,
- TmfEventType type, String reference) {
- super(definition, parentTrace, timestamp, source, type, reference);
- }
-
- @Override
- public void setContent(ITmfEventField content) {
- super.setContent(content);
- }
-
- /**
- * Process an entry in the trace file
- *
- * @param input
- * The input line to read
- * @param matcher
- * The regex matcher to use
- */
- public void processGroups(InputLine input, Matcher matcher) {
- if (input.columns == null) {
- return;
- }
- for (int i = 0; i < input.columns.size(); i++) {
- InputData column = input.columns.get(i);
- if (i < matcher.groupCount() && matcher.group(i + 1) != null) {
- String value = matcher.group(i + 1).trim();
- if (value.length() == 0) {
- continue;
- }
- String name = column.name;
- if (column.action == CustomTraceDefinition.ACTION_SET) {
- fData.put(name, value);
- if (name.equals(CustomTraceDefinition.TAG_TIMESTAMP)) {
- fData.put(TIMESTAMP_INPUT_FORMAT_KEY, column.format);
- }
- } else if (column.action == CustomTraceDefinition.ACTION_APPEND) {
- String s = fData.get(name);
- if (s != null) {
- fData.put(name, s + value);
- } else {
- fData.put(name, value);
- }
- if (name.equals(CustomTraceDefinition.TAG_TIMESTAMP)) {
- String timeStampInputFormat = fData.get(TIMESTAMP_INPUT_FORMAT_KEY);
- if (timeStampInputFormat != null) {
- fData.put(TIMESTAMP_INPUT_FORMAT_KEY, timeStampInputFormat + column.format);
- } else {
- fData.put(TIMESTAMP_INPUT_FORMAT_KEY, column.format);
- }
- }
- } else if (column.action == CustomTraceDefinition.ACTION_APPEND_WITH_SEPARATOR) {
- String s = fData.get(name);
- if (s != null) {
- fData.put(name, s + " | " + value); //$NON-NLS-1$
- } else {
- fData.put(name, value);
- }
- if (name.equals(CustomTraceDefinition.TAG_TIMESTAMP)) {
- String timeStampInputFormat = fData.get(TIMESTAMP_INPUT_FORMAT_KEY);
- if (timeStampInputFormat != null) {
- fData.put(TIMESTAMP_INPUT_FORMAT_KEY, timeStampInputFormat + " | " + column.format); //$NON-NLS-1$
- } else {
- fData.put(TIMESTAMP_INPUT_FORMAT_KEY, column.format);
- }
- }
- }
- }
- }
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/parsers/custom/CustomTxtEventType.java b/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/parsers/custom/CustomTxtEventType.java
deleted file mode 100644
index 5bf681e4db..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/parsers/custom/CustomTxtEventType.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010, 2014 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:
- * Patrick Tasse - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.core.parsers.custom;
-
-/**
- * Event type for custom text traces.
- *
- * @author Patrick Tassé
- * @since 3.0
- */
-public class CustomTxtEventType extends CustomEventType {
-
- /**
- * Constructor
- *
- * @param definition
- * Custom text trace definition
- */
- public CustomTxtEventType(CustomTxtTraceDefinition definition) {
- super(definition);
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/parsers/custom/CustomTxtTrace.java b/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/parsers/custom/CustomTxtTrace.java
deleted file mode 100644
index 5d45ce359b..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/parsers/custom/CustomTxtTrace.java
+++ /dev/null
@@ -1,463 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010, 2014 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:
- * Patrick Tasse - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.core.parsers.custom;
-
-import java.io.File;
-import java.io.FileNotFoundException;
-import java.io.IOException;
-import java.nio.ByteBuffer;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map.Entry;
-import java.util.regex.Matcher;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.linuxtools.internal.tmf.core.Activator;
-import org.eclipse.linuxtools.tmf.core.event.ITmfEvent;
-import org.eclipse.linuxtools.tmf.core.exceptions.TmfTraceException;
-import org.eclipse.linuxtools.tmf.core.io.BufferedRandomAccessFile;
-import org.eclipse.linuxtools.tmf.core.parsers.custom.CustomTxtTraceDefinition.InputLine;
-import org.eclipse.linuxtools.tmf.core.timestamp.TmfTimestamp;
-import org.eclipse.linuxtools.tmf.core.trace.ITmfContext;
-import org.eclipse.linuxtools.tmf.core.trace.ITmfEventParser;
-import org.eclipse.linuxtools.tmf.core.trace.TmfContext;
-import org.eclipse.linuxtools.tmf.core.trace.TmfTrace;
-import org.eclipse.linuxtools.tmf.core.trace.TraceValidationStatus;
-import org.eclipse.linuxtools.tmf.core.trace.indexer.ITmfPersistentlyIndexable;
-import org.eclipse.linuxtools.tmf.core.trace.indexer.ITmfTraceIndexer;
-import org.eclipse.linuxtools.tmf.core.trace.indexer.TmfBTreeTraceIndexer;
-import org.eclipse.linuxtools.tmf.core.trace.indexer.checkpoint.ITmfCheckpoint;
-import org.eclipse.linuxtools.tmf.core.trace.indexer.checkpoint.TmfCheckpoint;
-import org.eclipse.linuxtools.tmf.core.trace.location.ITmfLocation;
-import org.eclipse.linuxtools.tmf.core.trace.location.TmfLongLocation;
-
-/**
- * Base class for custom plain text traces.
- *
- * @author Patrick Tassé
- * @since 3.0
- */
-public class CustomTxtTrace extends TmfTrace implements ITmfEventParser, ITmfPersistentlyIndexable {
-
- private static final TmfLongLocation NULL_LOCATION = new TmfLongLocation(-1L);
- private static final int DEFAULT_CACHE_SIZE = 100;
- private static final int MAX_LINES = 100;
- private static final int MAX_CONFIDENCE = 100;
-
- private final CustomTxtTraceDefinition fDefinition;
- private final CustomTxtEventType fEventType;
- private BufferedRandomAccessFile fFile;
-
- /**
- * Basic constructor.
- *
- * @param definition
- * Text trace definition
- */
- public CustomTxtTrace(final CustomTxtTraceDefinition definition) {
- fDefinition = definition;
- fEventType = new CustomTxtEventType(fDefinition);
- setCacheSize(DEFAULT_CACHE_SIZE);
- }
-
- /**
- * Full constructor.
- *
- * @param resource
- * Trace's resource.
- * @param definition
- * Text trace definition
- * @param path
- * Path to the trace file
- * @param cacheSize
- * Cache size to use
- * @throws TmfTraceException
- * If we couldn't open the trace at 'path'
- */
- public CustomTxtTrace(final IResource resource,
- final CustomTxtTraceDefinition definition, final String path,
- final int cacheSize) throws TmfTraceException {
- this(definition);
- setCacheSize((cacheSize > 0) ? cacheSize : DEFAULT_CACHE_SIZE);
- initTrace(resource, path, CustomTxtEvent.class);
- }
-
- @Override
- public void initTrace(final IResource resource, final String path, final Class<? extends ITmfEvent> eventType) throws TmfTraceException {
- super.initTrace(resource, path, eventType);
- try {
- fFile = new BufferedRandomAccessFile(getPath(), "r"); //$NON-NLS-1$
- } catch (IOException e) {
- throw new TmfTraceException(e.getMessage(), e);
- }
- }
-
- @Override
- public synchronized void dispose() {
- super.dispose();
- if (fFile != null) {
- try {
- fFile.close();
- } catch (IOException e) {
- } finally {
- fFile = null;
- }
- }
- }
-
- @Override
- public ITmfTraceIndexer getIndexer() {
- return super.getIndexer();
- }
-
- @Override
- public synchronized TmfContext seekEvent(final ITmfLocation location) {
- final CustomTxtTraceContext context = new CustomTxtTraceContext(NULL_LOCATION, ITmfContext.UNKNOWN_RANK);
- if (NULL_LOCATION.equals(location) || fFile == null) {
- return context;
- }
- try {
- if (location == null) {
- fFile.seek(0);
- } else if (location.getLocationInfo() instanceof Long) {
- fFile.seek((Long) location.getLocationInfo());
- }
- long rawPos = fFile.getFilePointer();
- String line = fFile.getNextLine();
- while (line != null) {
- for (final InputLine input : getFirstLines()) {
- final Matcher matcher = input.getPattern().matcher(line);
- if (matcher.matches()) {
- context.setLocation(new TmfLongLocation(rawPos));
- context.firstLineMatcher = matcher;
- context.firstLine = line;
- context.nextLineLocation = fFile.getFilePointer();
- context.inputLine = input;
- return context;
- }
- }
- rawPos = fFile.getFilePointer();
- line = fFile.getNextLine();
- }
- return context;
- } catch (final FileNotFoundException e) {
- Activator.logError("Error seeking event. File not found: " + getPath(), e); //$NON-NLS-1$
- return context;
- } catch (final IOException e) {
- Activator.logError("Error seeking event. File: " + getPath(), e); //$NON-NLS-1$
- return context;
- }
-
- }
-
- @Override
- public synchronized TmfContext seekEvent(final double ratio) {
- if (fFile == null) {
- return new CustomTxtTraceContext(NULL_LOCATION, ITmfContext.UNKNOWN_RANK);
- }
- try {
- long pos = Math.round(ratio * fFile.length());
- while (pos > 0) {
- fFile.seek(pos - 1);
- if (fFile.read() == '\n') {
- break;
- }
- pos--;
- }
- final ITmfLocation location = new TmfLongLocation(pos);
- final TmfContext context = seekEvent(location);
- context.setRank(ITmfContext.UNKNOWN_RANK);
- return context;
- } catch (final IOException e) {
- Activator.logError("Error seeking event. File: " + getPath(), e); //$NON-NLS-1$
- return new CustomTxtTraceContext(NULL_LOCATION, ITmfContext.UNKNOWN_RANK);
- }
- }
-
- @Override
- public synchronized double getLocationRatio(final ITmfLocation location) {
- if (fFile == null) {
- return 0;
- }
- try {
- if (location.getLocationInfo() instanceof Long) {
- return ((Long) location.getLocationInfo()).doubleValue() / fFile.length();
- }
- } catch (final IOException e) {
- Activator.logError("Error seeking event. File: " + getPath(), e); //$NON-NLS-1$
- }
- return 0;
- }
-
- @Override
- public ITmfLocation getCurrentLocation() {
- // TODO Auto-generated method stub
- return null;
- }
-
- @Override
- public synchronized CustomTxtEvent parseEvent(final ITmfContext tmfContext) {
- ITmfContext context = seekEvent(tmfContext.getLocation());
- return parse(context);
- }
-
- @Override
- public synchronized CustomTxtEvent getNext(final ITmfContext context) {
- final ITmfContext savedContext = new TmfContext(context.getLocation(), context.getRank());
- final CustomTxtEvent event = parse(context);
- if (event != null) {
- updateAttributes(savedContext, event.getTimestamp());
- context.increaseRank();
- }
- return event;
- }
-
- private synchronized CustomTxtEvent parse(final ITmfContext tmfContext) {
- if (fFile == null) {
- return null;
- }
- if (!(tmfContext instanceof CustomTxtTraceContext)) {
- return null;
- }
-
- final CustomTxtTraceContext context = (CustomTxtTraceContext) tmfContext;
- if (context.getLocation() == null || !(context.getLocation().getLocationInfo() instanceof Long) || NULL_LOCATION.equals(context.getLocation())) {
- return null;
- }
-
- CustomTxtEvent event = parseFirstLine(context);
-
- final HashMap<InputLine, Integer> countMap = new HashMap<>();
- InputLine currentInput = null;
- if (context.inputLine.childrenInputs != null && context.inputLine.childrenInputs.size() > 0) {
- currentInput = context.inputLine.childrenInputs.get(0);
- countMap.put(currentInput, 0);
- }
-
- try {
- if (fFile.getFilePointer() != context.nextLineLocation) {
- fFile.seek(context.nextLineLocation);
- }
- long rawPos = fFile.getFilePointer();
- String line = fFile.getNextLine();
- while (line != null) {
- boolean processed = false;
- if (currentInput == null) {
- for (final InputLine input : getFirstLines()) {
- final Matcher matcher = input.getPattern().matcher(line);
- if (matcher.matches()) {
- context.setLocation(new TmfLongLocation(rawPos));
- context.firstLineMatcher = matcher;
- context.firstLine = line;
- context.nextLineLocation = fFile.getFilePointer();
- context.inputLine = input;
- return event;
- }
- }
- } else {
- if (countMap.get(currentInput) >= currentInput.getMinCount()) {
- final List<InputLine> nextInputs = currentInput.getNextInputs(countMap);
- if (nextInputs.size() == 0 || nextInputs.get(nextInputs.size() - 1).getMinCount() == 0) {
- for (final InputLine input : getFirstLines()) {
- final Matcher matcher = input.getPattern().matcher(line);
- if (matcher.matches()) {
- context.setLocation(new TmfLongLocation(rawPos));
- context.firstLineMatcher = matcher;
- context.firstLine = line;
- context.nextLineLocation = fFile.getFilePointer();
- context.inputLine = input;
- return event;
- }
- }
- }
- for (final InputLine input : nextInputs) {
- final Matcher matcher = input.getPattern().matcher(line);
- if (matcher.matches()) {
- event.processGroups(input, matcher);
- currentInput = input;
- if (countMap.get(currentInput) == null) {
- countMap.put(currentInput, 1);
- } else {
- countMap.put(currentInput, countMap.get(currentInput) + 1);
- }
- Iterator<InputLine> iter = countMap.keySet().iterator();
- while (iter.hasNext()) {
- final InputLine inputLine = iter.next();
- if (inputLine.level > currentInput.level) {
- iter.remove();
- }
- }
- if (currentInput.childrenInputs != null && currentInput.childrenInputs.size() > 0) {
- currentInput = currentInput.childrenInputs.get(0);
- countMap.put(currentInput, 0);
- } else if (countMap.get(currentInput) >= currentInput.getMaxCount()) {
- if (currentInput.getNextInputs(countMap).size() > 0) {
- currentInput = currentInput.getNextInputs(countMap).get(0);
- if (countMap.get(currentInput) == null) {
- countMap.put(currentInput, 0);
- }
- iter = countMap.keySet().iterator();
- while (iter.hasNext()) {
- final InputLine inputLine = iter.next();
- if (inputLine.level > currentInput.level) {
- iter.remove();
- }
- }
- } else {
- currentInput = null;
- }
- }
- processed = true;
- break;
- }
- }
- }
- if (!processed && currentInput != null) {
- final Matcher matcher = currentInput.getPattern().matcher(line);
- if (matcher.matches()) {
- event.processGroups(currentInput, matcher);
- countMap.put(currentInput, countMap.get(currentInput) + 1);
- if (currentInput.childrenInputs != null && currentInput.childrenInputs.size() > 0) {
- currentInput = currentInput.childrenInputs.get(0);
- countMap.put(currentInput, 0);
- } else if (countMap.get(currentInput) >= currentInput.getMaxCount()) {
- if (currentInput.getNextInputs(countMap).size() > 0) {
- currentInput = currentInput.getNextInputs(countMap).get(0);
- if (countMap.get(currentInput) == null) {
- countMap.put(currentInput, 0);
- }
- final Iterator<InputLine> iter = countMap.keySet().iterator();
- while (iter.hasNext()) {
- final InputLine inputLine = iter.next();
- if (inputLine.level > currentInput.level) {
- iter.remove();
- }
- }
- } else {
- currentInput = null;
- }
- }
- }
- ((StringBuffer) event.getContent().getValue()).append("\n").append(line); //$NON-NLS-1$
- }
- }
- rawPos = fFile.getFilePointer();
- line = fFile.getNextLine();
- }
- } catch (final IOException e) {
- Activator.logError("Error seeking event. File: " + getPath(), e); //$NON-NLS-1$
- }
- for (final Entry<InputLine, Integer> entry : countMap.entrySet()) {
- if (entry.getValue() < entry.getKey().getMinCount()) {
- event = null;
- }
- }
- context.setLocation(NULL_LOCATION);
- return event;
- }
-
- /**
- * @return The first few lines of the text file
- */
- public List<InputLine> getFirstLines() {
- return fDefinition.inputs;
- }
-
- /**
- * Parse the first line of the trace (to recognize the type).
- *
- * @param context
- * Trace context
- * @return The first event
- */
- public CustomTxtEvent parseFirstLine(final CustomTxtTraceContext context) {
- final CustomTxtEvent event = new CustomTxtEvent(fDefinition, this, TmfTimestamp.ZERO, "", fEventType, ""); //$NON-NLS-1$ //$NON-NLS-2$
- event.processGroups(context.inputLine, context.firstLineMatcher);
- event.setContent(new CustomEventContent(event, new StringBuffer(context.firstLine)));
- return event;
- }
-
- /**
- * Get the trace definition.
- *
- * @return The trace definition
- */
- public CustomTraceDefinition getDefinition() {
- return fDefinition;
- }
-
- /**
- * {@inheritDoc}
- * <p>
- * The default implementation computes the confidence as the percentage of
- * lines in the first 100 lines of the file which match any of the root
- * input line patterns.
- */
- @Override
- public IStatus validate(IProject project, String path) {
- File file = new File(path);
- if (!file.exists() || !file.isFile() || !file.canRead()) {
- return new Status(IStatus.ERROR, Activator.PLUGIN_ID, Messages.CustomTrace_FileNotFound + ": " + path); //$NON-NLS-1$
- }
- int confidence = 0;
- try (BufferedRandomAccessFile rafile = new BufferedRandomAccessFile(path, "r")) { //$NON-NLS-1$
- int lineCount = 0;
- double matches = 0.0;
- String line = rafile.getNextLine();
- while ((line != null) && (lineCount++ < MAX_LINES)) {
- for (InputLine inputLine : fDefinition.inputs) {
- Matcher matcher = inputLine.getPattern().matcher(line);
- if (matcher.matches()) {
- int groupCount = matcher.groupCount();
- matches += (1.0 + groupCount / ((double) groupCount + 1));
- break;
- }
- }
- confidence = (int) (MAX_CONFIDENCE * matches / lineCount);
- line = rafile.getNextLine();
- }
- } catch (IOException e) {
- return new Status(IStatus.ERROR, Activator.PLUGIN_ID, "IOException validating file: " + path, e); //$NON-NLS-1$
- }
- return new TraceValidationStatus(confidence, Activator.PLUGIN_ID);
- }
-
- private static int fCheckpointSize = -1;
-
- @Override
- public synchronized int getCheckpointSize() {
- if (fCheckpointSize == -1) {
- TmfCheckpoint c = new TmfCheckpoint(TmfTimestamp.ZERO, new TmfLongLocation(0L), 0);
- ByteBuffer b = ByteBuffer.allocate(ITmfCheckpoint.MAX_SERIALIZE_SIZE);
- b.clear();
- c.serialize(b);
- fCheckpointSize = b.position();
- }
-
- return fCheckpointSize;
- }
-
- @Override
- public ITmfLocation restoreLocation(ByteBuffer bufferIn) {
- return new TmfLongLocation(bufferIn);
- }
-
- @Override
- protected ITmfTraceIndexer createIndexer(int interval) {
- return new TmfBTreeTraceIndexer(this, interval);
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/parsers/custom/CustomTxtTraceContext.java b/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/parsers/custom/CustomTxtTraceContext.java
deleted file mode 100644
index ca01f22a8b..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/parsers/custom/CustomTxtTraceContext.java
+++ /dev/null
@@ -1,103 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010, 2014 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:
- * Patrick Tasse - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.core.parsers.custom;
-
-import java.util.regex.Matcher;
-
-import org.eclipse.linuxtools.tmf.core.parsers.custom.CustomTxtTraceDefinition.InputLine;
-import org.eclipse.linuxtools.tmf.core.trace.TmfContext;
-import org.eclipse.linuxtools.tmf.core.trace.location.ITmfLocation;
-
-/**
- * Trace context for custom text traces.
- *
- * @author Patrick Tassé
- * @since 3.0
- */
-public class CustomTxtTraceContext extends TmfContext {
-
- /** Regex matcher for the first line of the trace */
- public Matcher firstLineMatcher;
-
- /** First line of the text file */
- public String firstLine;
-
- /** Position in the file where the 'current' next line is */
- public long nextLineLocation;
-
- /** InputLine object for the currently read line */
- public InputLine inputLine;
-
- /**
- * Constructor.
- *
- * @param location
- * Location in the trace
- * @param rank
- * Rank of the event at this location
- */
- public CustomTxtTraceContext(ITmfLocation location, long rank) {
- super(location, rank);
- }
-
- @Override
- public int hashCode() {
- final int prime = 31;
- int result = super.hashCode();
- result = prime * result + ((firstLine == null) ? 0 : firstLine.hashCode());
- result = prime * result + ((firstLineMatcher == null) ? 0 : firstLineMatcher.hashCode());
- result = prime * result + ((inputLine == null) ? 0 : inputLine.hashCode());
- result = prime * result + (int) (nextLineLocation ^ (nextLineLocation >>> 32));
- return result;
- }
-
- @Override
- public boolean equals(Object obj) {
- if (this == obj) {
- return true;
- }
- if (!super.equals(obj)) {
- return false;
- }
- if (!(obj instanceof CustomTxtTraceContext)) {
- return false;
- }
- CustomTxtTraceContext other = (CustomTxtTraceContext) obj;
- if (firstLine == null) {
- if (other.firstLine != null) {
- return false;
- }
- } else if (!firstLine.equals(other.firstLine)) {
- return false;
- }
- if (firstLineMatcher == null) {
- if (other.firstLineMatcher != null) {
- return false;
- }
- } else if (!firstLineMatcher.equals(other.firstLineMatcher)) {
- return false;
- }
- if (inputLine == null) {
- if (other.inputLine != null) {
- return false;
- }
- } else if (!inputLine.equals(other.inputLine)) {
- return false;
- }
- if (nextLineLocation != other.nextLineLocation) {
- return false;
- }
- return true;
- }
-
-} \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/parsers/custom/CustomTxtTraceDefinition.java b/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/parsers/custom/CustomTxtTraceDefinition.java
deleted file mode 100644
index 02e8911ad6..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/parsers/custom/CustomTxtTraceDefinition.java
+++ /dev/null
@@ -1,935 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010, 2014 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:
- * Patrick Tasse - Initial API and implementation
- * Matthew Khouzam - Add support for default parsers
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.core.parsers.custom;
-
-import java.io.File;
-import java.io.FileWriter;
-import java.io.IOException;
-import java.io.StringWriter;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Comparator;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-import java.util.TreeSet;
-import java.util.regex.Pattern;
-import java.util.regex.PatternSyntaxException;
-
-import javax.xml.parsers.DocumentBuilder;
-import javax.xml.parsers.DocumentBuilderFactory;
-import javax.xml.parsers.ParserConfigurationException;
-import javax.xml.transform.OutputKeys;
-import javax.xml.transform.Transformer;
-import javax.xml.transform.TransformerConfigurationException;
-import javax.xml.transform.TransformerException;
-import javax.xml.transform.TransformerFactory;
-import javax.xml.transform.TransformerFactoryConfigurationError;
-import javax.xml.transform.dom.DOMSource;
-import javax.xml.transform.stream.StreamResult;
-
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.linuxtools.internal.tmf.core.Activator;
-import org.eclipse.linuxtools.tmf.core.project.model.TmfTraceType;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-import org.xml.sax.SAXException;
-
-/**
- * Trace definition for custom text traces.
- *
- * @author Patrick Tassé
- * @since 3.0
- */
-public class CustomTxtTraceDefinition extends CustomTraceDefinition {
-
- /** Input lines */
- public List<InputLine> inputs;
-
- /** File name of the default definition file */
- protected static final String CUSTOM_TXT_TRACE_DEFINITIONS_DEFAULT_FILE_NAME = "custom_txt_default_parsers.xml"; //$NON-NLS-1$
- /** File name of the definition file */
- protected static final String CUSTOM_TXT_TRACE_DEFINITIONS_FILE_NAME = "custom_txt_parsers.xml"; //$NON-NLS-1$
-
- /** Path of the definition file */
- protected static final String CUSTOM_TXT_TRACE_DEFINITIONS_DEFAULT_PATH_NAME =
- Platform.getInstallLocation().getURL().getPath() + "templates/org.eclipse.linuxtools.tmf.core/" + //$NON-NLS-1$
- CUSTOM_TXT_TRACE_DEFINITIONS_DEFAULT_FILE_NAME;
- /** Path of the definition file */
- protected static final String CUSTOM_TXT_TRACE_DEFINITIONS_PATH_NAME =
- Activator.getDefault().getStateLocation().addTrailingSeparator().append(CUSTOM_TXT_TRACE_DEFINITIONS_FILE_NAME).toString();
-
- /**
- * Legacy path to the XML definitions file (in the UI plug-in) TODO Remove
- * once we feel the transition phase is over.
- */
- private static final String CUSTOM_TXT_TRACE_DEFINITIONS_PATH_NAME_LEGACY =
- Activator.getDefault().getStateLocation().removeLastSegments(1).addTrailingSeparator()
- .append("org.eclipse.linuxtools.tmf.ui") //$NON-NLS-1$
- .append(CUSTOM_TXT_TRACE_DEFINITIONS_FILE_NAME).toString();
-
- private static final String CUSTOM_TXT_TRACE_DEFINITION_ROOT_ELEMENT = Messages.CustomTxtTraceDefinition_definitionRootElement;
- private static final String DEFINITION_ELEMENT = Messages.CustomTxtTraceDefinition_definition;
- private static final String CATEGORY_ATTRIBUTE = Messages.CustomTxtTraceDefinition_category;
- private static final String NAME_ATTRIBUTE = Messages.CustomTxtTraceDefinition_name;
- private static final String TIME_STAMP_OUTPUT_FORMAT_ELEMENT = Messages.CustomTxtTraceDefinition_timestampOutputFormat;
- private static final String INPUT_LINE_ELEMENT = Messages.CustomTxtTraceDefinition_inputLine;
- private static final String CARDINALITY_ELEMENT = Messages.CustomTxtTraceDefinition_cardinality;
- private static final String MIN_ATTRIBUTE = Messages.CustomTxtTraceDefinition_min;
- private static final String MAX_ATTRIBUTE = Messages.CustomTxtTraceDefinition_max;
- private static final String REGEX_ELEMENT = Messages.CustomTxtTraceDefinition_regEx;
- private static final String INPUT_DATA_ELEMENT = Messages.CustomTxtTraceDefinition_inputData;
- private static final String ACTION_ATTRIBUTE = Messages.CustomTxtTraceDefinition_action;
- private static final String FORMAT_ATTRIBUTE = Messages.CustomTxtTraceDefinition_format;
- private static final String OUTPUT_COLUMN_ELEMENT = Messages.CustomTxtTraceDefinition_outputColumn;
-
- /**
- * Default constructor.
- */
- public CustomTxtTraceDefinition() {
- this(TmfTraceType.CUSTOM_TXT_CATEGORY, "", new ArrayList<InputLine>(0), new ArrayList<OutputColumn>(0), ""); //$NON-NLS-1$ //$NON-NLS-2$
- }
-
- /**
- * Full constructor.
- *
- * @param traceType
- * Name of the trace type
- * @param inputs
- * List of inputs
- * @param outputs
- * List of output columns
- * @param timeStampOutputFormat
- * The timestamp format to use
- * @deprecated Use {@link #CustomTxtTraceDefinition(String, String, List, List, String)}
- */
- @Deprecated
- public CustomTxtTraceDefinition(String traceType, List<InputLine> inputs,
- List<OutputColumn> outputs, String timeStampOutputFormat) {
- this.definitionName = traceType;
- this.inputs = inputs;
- this.outputs = outputs;
- this.timeStampOutputFormat = timeStampOutputFormat;
- }
-
- /**
- * Full constructor.
- *
- * @param category
- * Category of the trace type
- * @param traceType
- * Name of the trace type
- * @param inputs
- * List of inputs
- * @param outputs
- * List of output columns
- * @param timeStampOutputFormat
- * The timestamp format to use
- * @since 3.2
- */
- public CustomTxtTraceDefinition(String category, String traceType, List<InputLine> inputs,
- List<OutputColumn> outputs, String timeStampOutputFormat) {
- this.categoryName = category;
- this.definitionName = traceType;
- this.inputs = inputs;
- this.outputs = outputs;
- this.timeStampOutputFormat = timeStampOutputFormat;
- }
-
- /**
- * Wrapper to store a line of the log file
- */
- public static class InputLine {
-
- /** Data columns of this line */
- public List<InputData> columns;
-
- /** Cardinality of this line (see {@link Cardinality}) */
- public Cardinality cardinality;
-
- /** Parent line */
- public InputLine parentInput;
-
- /** Level of this line */
- public int level;
-
- /** Next input line in the file */
- public InputLine nextInput;
-
- /** Children of this line (if one "event" spans many lines) */
- public List<InputLine> childrenInputs;
-
- private String regex;
- private Pattern pattern;
-
- /**
- * Default (empty) constructor.
- */
- public InputLine() {
- }
-
- /**
- * Constructor.
- *
- * @param cardinality
- * Cardinality of this line.
- * @param regex
- * Regex
- * @param columns
- * Columns to use
- */
- public InputLine(Cardinality cardinality, String regex, List<InputData> columns) {
- this.cardinality = cardinality;
- this.regex = regex;
- this.columns = columns;
- }
-
- /**
- * Set the regex of this input line
- *
- * @param regex
- * Regex to set
- */
- public void setRegex(String regex) {
- this.regex = regex;
- this.pattern = null;
- }
-
- /**
- * Get the current regex
- *
- * @return The current regex
- */
- public String getRegex() {
- return regex;
- }
-
- /**
- * Get the Pattern object of this line's regex
- *
- * @return The Pattern
- * @throws PatternSyntaxException
- * If the regex does not parse correctly
- */
- public Pattern getPattern() throws PatternSyntaxException {
- if (pattern == null) {
- pattern = Pattern.compile(regex);
- }
- return pattern;
- }
-
- /**
- * Add a child line to this line.
- *
- * @param input
- * The child input line
- */
- public void addChild(InputLine input) {
- if (childrenInputs == null) {
- childrenInputs = new ArrayList<>(1);
- } else if (childrenInputs.size() > 0) {
- InputLine last = childrenInputs.get(childrenInputs.size() - 1);
- last.nextInput = input;
- }
- childrenInputs.add(input);
- input.parentInput = this;
- input.level = this.level + 1;
- }
-
- /**
- * Set the next input line.
- *
- * @param input
- * The next input line
- */
- public void addNext(InputLine input) {
- if (parentInput != null) {
- int index = parentInput.childrenInputs.indexOf(this);
- parentInput.childrenInputs.add(index + 1, input);
- InputLine next = nextInput;
- nextInput = input;
- input.nextInput = next;
- }
- input.parentInput = this.parentInput;
- input.level = this.level;
- }
-
- /**
- * Move this line up in its parent's children.
- */
- public void moveUp() {
- if (parentInput != null) {
- int index = parentInput.childrenInputs.indexOf(this);
- if (index > 0) {
- parentInput.childrenInputs.add(index - 1, parentInput.childrenInputs.remove(index));
- parentInput.childrenInputs.get(index).nextInput = nextInput;
- nextInput = parentInput.childrenInputs.get(index);
- }
- }
- }
-
- /**
- * Move this line down in its parent's children.
- */
- public void moveDown() {
- if (parentInput != null) {
- int index = parentInput.childrenInputs.indexOf(this);
- if (index < parentInput.childrenInputs.size() - 1) {
- parentInput.childrenInputs.add(index + 1, parentInput.childrenInputs.remove(index));
- nextInput = parentInput.childrenInputs.get(index).nextInput;
- parentInput.childrenInputs.get(index).nextInput = this;
- }
- }
- }
-
- /**
- * Add a data column to this line
- *
- * @param column
- * The column to add
- */
- public void addColumn(InputData column) {
- if (columns == null) {
- columns = new ArrayList<>(1);
- }
- columns.add(column);
- }
-
- /**
- * Get the next input lines.
- *
- * @param countMap
- * The map of line "sets".
- * @return The next list of lines.
- */
- public List<InputLine> getNextInputs(Map<InputLine, Integer> countMap) {
- List<InputLine> nextInputs = new ArrayList<>();
- InputLine next = nextInput;
- while (next != null) {
- nextInputs.add(next);
- if (next.cardinality.min > 0) {
- return nextInputs;
- }
- next = next.nextInput;
- }
- if (parentInput != null && parentInput.level > 0) {
- int parentCount = countMap.get(parentInput);
- if (parentCount < parentInput.getMaxCount()) {
- nextInputs.add(parentInput);
- }
- if (parentCount < parentInput.getMinCount()) {
- return nextInputs;
- }
- nextInputs.addAll(parentInput.getNextInputs(countMap));
- }
- return nextInputs;
- }
-
- /**
- * Get the minimum possible amount of entries.
- *
- * @return The minimum
- */
- public int getMinCount() {
- return cardinality.min;
- }
-
- /**
- * Get the maximum possible amount of entries.
- *
- * @return The maximum
- */
- public int getMaxCount() {
- return cardinality.max;
- }
-
- @Override
- public String toString() {
- return regex + " " + cardinality; //$NON-NLS-1$
- }
- }
-
- /**
- * Data column for input lines.
- */
- public static class InputData {
-
- /** Name of this column */
- public String name;
-
- /** Action id */
- public int action;
-
- /** Format */
- public String format;
-
- /**
- * Default (empty) constructor
- */
- public InputData() {
- }
-
- /**
- * Full constructor
- *
- * @param name
- * Name
- * @param action
- * Action
- * @param format
- * Format
- */
- public InputData(String name, int action, String format) {
- this.name = name;
- this.action = action;
- this.format = format;
- }
-
- /**
- * Constructor with default format
- *
- * @param name
- * Name
- * @param action
- * Action
- */
- public InputData(String name, int action) {
- this.name = name;
- this.action = action;
- }
- }
-
- /**
- * Input line cardinality
- */
- public static class Cardinality {
-
- /** Representation of infinity */
- public final static int INF = Integer.MAX_VALUE;
-
- /** Preset for [1, 1] */
- public final static Cardinality ONE = new Cardinality(1, 1);
-
- /** Preset for [1, inf] */
- public final static Cardinality ONE_OR_MORE = new Cardinality(1, INF);
-
- /** Preset for [0, 1] */
- public final static Cardinality ZERO_OR_ONE = new Cardinality(0, 1);
-
- /** Preset for [0, inf] */
- public final static Cardinality ZERO_OR_MORE = new Cardinality(0, INF);
-
- private final int min;
- private final int max;
-
- /**
- * Constructor.
- *
- * @param min
- * Minimum
- * @param max
- * Maximum
- */
- public Cardinality(int min, int max) {
- this.min = min;
- this.max = max;
- }
-
- @Override
- public String toString() {
- return "(" + (min >= 0 ? min : "?") + ',' + (max == INF ? "\u221E" : (max >= 0 ? max : "?")) + ')'; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
- }
-
- @Override
- public int hashCode() {
- final int prime = 31;
- int result = 1;
- result = prime * result + max;
- result = prime * result + min;
- return result;
- }
-
- @Override
- public boolean equals(Object obj) {
- if (this == obj) {
- return true;
- }
- if (obj == null) {
- return false;
- }
- if (!(obj instanceof Cardinality)) {
- return false;
- }
- Cardinality other = (Cardinality) obj;
- return (this.min == other.min && this.max == other.max);
- }
- }
-
- @Override
- public void save() {
- save(CUSTOM_TXT_TRACE_DEFINITIONS_PATH_NAME);
- }
-
- @Override
- public void save(String path) {
- try {
- DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
- DocumentBuilder db = dbf.newDocumentBuilder();
-
- // The following allows xml parsing without access to the dtd
- db.setEntityResolver(createEmptyEntityResolver());
-
- // The following catches xml parsing exceptions
- db.setErrorHandler(createErrorHandler());
-
- Document doc = null;
- File file = new File(path);
- if (file.canRead()) {
- doc = db.parse(file);
- if (!doc.getDocumentElement().getNodeName().equals(CUSTOM_TXT_TRACE_DEFINITION_ROOT_ELEMENT)) {
- return;
- }
- } else {
- doc = db.newDocument();
- Node node = doc.createElement(CUSTOM_TXT_TRACE_DEFINITION_ROOT_ELEMENT);
- doc.appendChild(node);
- }
-
- Element root = doc.getDocumentElement();
-
- Element oldDefinitionElement = findDefinitionElement(root, categoryName, definitionName);
- if (oldDefinitionElement != null) {
- root.removeChild(oldDefinitionElement);
- }
- Element definitionElement = doc.createElement(DEFINITION_ELEMENT);
- root.appendChild(definitionElement);
- definitionElement.setAttribute(CATEGORY_ATTRIBUTE, categoryName);
- definitionElement.setAttribute(NAME_ATTRIBUTE, definitionName);
-
- Element formatElement = doc.createElement(TIME_STAMP_OUTPUT_FORMAT_ELEMENT);
- definitionElement.appendChild(formatElement);
- formatElement.appendChild(doc.createTextNode(timeStampOutputFormat));
-
- if (inputs != null) {
- for (InputLine inputLine : inputs) {
- definitionElement.appendChild(createInputLineElement(inputLine, doc));
- }
- }
-
- if (outputs != null) {
- for (OutputColumn output : outputs) {
- Element outputColumnElement = doc.createElement(OUTPUT_COLUMN_ELEMENT);
- definitionElement.appendChild(outputColumnElement);
- outputColumnElement.setAttribute(NAME_ATTRIBUTE, output.name);
- }
- }
-
- Transformer transformer = TransformerFactory.newInstance().newTransformer();
- transformer.setOutputProperty(OutputKeys.INDENT, "yes"); //$NON-NLS-1$
-
- // initialize StreamResult with File object to save to file
- StreamResult result = new StreamResult(new StringWriter());
- DOMSource source = new DOMSource(doc);
- transformer.transform(source, result);
- String xmlString = result.getWriter().toString();
-
- try (FileWriter writer = new FileWriter(file);) {
- writer.write(xmlString);
- }
-
- TmfTraceType.addCustomTraceType(CustomTxtTrace.class, categoryName, definitionName);
-
- } catch (ParserConfigurationException e) {
- Activator.logError("Error saving CustomTxtTraceDefinition: path=" + path, e); //$NON-NLS-1$
- } catch (TransformerConfigurationException e) {
- Activator.logError("Error saving CustomTxtTraceDefinition: path=" + path, e); //$NON-NLS-1$
- } catch (TransformerFactoryConfigurationError e) {
- Activator.logError("Error saving CustomTxtTraceDefinition: path=" + path, e); //$NON-NLS-1$
- } catch (TransformerException e) {
- Activator.logError("Error saving CustomTxtTraceDefinition: path=" + path, e); //$NON-NLS-1$
- } catch (IOException e) {
- Activator.logError("Error saving CustomTxtTraceDefinition: path=" + path, e); //$NON-NLS-1$
- } catch (SAXException e) {
- Activator.logError("Error saving CustomTxtTraceDefinition: path=" + path, e); //$NON-NLS-1$
- }
- }
-
- private Element createInputLineElement(InputLine inputLine, Document doc) {
- Element inputLineElement = doc.createElement(INPUT_LINE_ELEMENT);
-
- Element cardinalityElement = doc.createElement(CARDINALITY_ELEMENT);
- inputLineElement.appendChild(cardinalityElement);
- cardinalityElement.setAttribute(MIN_ATTRIBUTE, Integer.toString(inputLine.cardinality.min));
- cardinalityElement.setAttribute(MAX_ATTRIBUTE, Integer.toString(inputLine.cardinality.max));
-
- Element regexElement = doc.createElement(REGEX_ELEMENT);
- inputLineElement.appendChild(regexElement);
- regexElement.appendChild(doc.createTextNode(inputLine.regex));
-
- if (inputLine.columns != null) {
- for (InputData inputData : inputLine.columns) {
- Element inputDataElement = doc.createElement(INPUT_DATA_ELEMENT);
- inputLineElement.appendChild(inputDataElement);
- inputDataElement.setAttribute(NAME_ATTRIBUTE, inputData.name);
- inputDataElement.setAttribute(ACTION_ATTRIBUTE, Integer.toString(inputData.action));
- if (inputData.format != null) {
- inputDataElement.setAttribute(FORMAT_ATTRIBUTE, inputData.format);
- }
- }
- }
-
- if (inputLine.childrenInputs != null) {
- for (InputLine childInputLine : inputLine.childrenInputs) {
- inputLineElement.appendChild(createInputLineElement(childInputLine, doc));
- }
- }
-
- return inputLineElement;
- }
-
- /**
- * Load all custom text trace definitions, including the user-defined and
- * default (built-in) parsers.
- *
- * @return The loaded trace definitions
- */
- public static CustomTxtTraceDefinition[] loadAll() {
- return loadAll(true);
- }
-
- /**
- * Load all custom text trace definitions, including the user-defined and,
- * optionally, the default (built-in) parsers.
- *
- * @param includeDefaults
- * if true, the default (built-in) parsers are included
- *
- * @return The loaded trace definitions
- * @since 3.2
- */
- public static CustomTxtTraceDefinition[] loadAll(boolean includeDefaults) {
- File defaultFile = new File(CUSTOM_TXT_TRACE_DEFINITIONS_PATH_NAME);
- File legacyFile = new File(CUSTOM_TXT_TRACE_DEFINITIONS_PATH_NAME_LEGACY);
-
- /*
- * If there is no file at the expected location, check the legacy
- * location instead.
- */
- if (!defaultFile.exists() && legacyFile.exists()) {
- CustomTxtTraceDefinition[] oldDefs = loadAll(CUSTOM_TXT_TRACE_DEFINITIONS_PATH_NAME_LEGACY);
- for (CustomTxtTraceDefinition def : oldDefs) {
- /* Save in the new location */
- def.save();
- }
- }
-
- Set<CustomTxtTraceDefinition> defs = new TreeSet<>(new Comparator<CustomTxtTraceDefinition>() {
- @Override
- public int compare(CustomTxtTraceDefinition o1, CustomTxtTraceDefinition o2) {
- int result = o1.categoryName.compareTo(o2.categoryName);
- if (result != 0) {
- return result;
- }
- return o1.definitionName.compareTo(o2.definitionName);
- }
- });
- defs.addAll(Arrays.asList(loadAll(CUSTOM_TXT_TRACE_DEFINITIONS_PATH_NAME)));
- if (includeDefaults) {
- defs.addAll(Arrays.asList(loadAll(CUSTOM_TXT_TRACE_DEFINITIONS_DEFAULT_PATH_NAME)));
- }
- return defs.toArray(new CustomTxtTraceDefinition[0]);
-
- }
-
- /**
- * Load a specific text trace definition file.
- *
- * @param path
- * The path to the file to load
- * @return The loaded trace definitions
- */
- public static CustomTxtTraceDefinition[] loadAll(String path) {
- try {
- DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
- DocumentBuilder db = dbf.newDocumentBuilder();
-
- // The following allows xml parsing without access to the dtd
- db.setEntityResolver(createEmptyEntityResolver());
-
- // The following catches xml parsing exceptions
- db.setErrorHandler(createErrorHandler());
-
- File file = new File(path);
- if (!file.canRead()) {
- return new CustomTxtTraceDefinition[0];
- }
- Document doc = db.parse(file);
-
- Element root = doc.getDocumentElement();
- if (!root.getNodeName().equals(CUSTOM_TXT_TRACE_DEFINITION_ROOT_ELEMENT)) {
- return new CustomTxtTraceDefinition[0];
- }
-
- ArrayList<CustomTxtTraceDefinition> defList = new ArrayList<>();
- NodeList nodeList = root.getChildNodes();
- for (int i = 0; i < nodeList.getLength(); i++) {
- Node node = nodeList.item(i);
- if (node instanceof Element && node.getNodeName().equals(DEFINITION_ELEMENT)) {
- CustomTxtTraceDefinition def = extractDefinition((Element) node);
- if (def != null) {
- defList.add(def);
- }
- }
- }
- return defList.toArray(new CustomTxtTraceDefinition[0]);
- } catch (ParserConfigurationException e) {
- Activator.logError("Error loading all in CustomTxtTraceDefinition: path=" + path, e); //$NON-NLS-1$
- } catch (SAXException e) {
- Activator.logError("Error loading all in CustomTxtTraceDefinition: path=" + path, e); //$NON-NLS-1$
- } catch (IOException e) {
- Activator.logError("Error loading all in CustomTxtTraceDefinition: path=" + path, e); //$NON-NLS-1$
- }
- return new CustomTxtTraceDefinition[0];
- }
-
- /**
- * Load a single definition.
- *
- * @param definitionName
- * Name of the definition to load
- * @return The loaded trace definition
- * @deprecated Use {@link #load(String, String)}
- */
- @Deprecated
- public static CustomTxtTraceDefinition load(String definitionName) {
- return load(TmfTraceType.CUSTOM_TXT_CATEGORY, definitionName);
- }
-
- /**
- * Load a single definition.
- *
- * @param categoryName
- * Category of the definition to load
- * @param definitionName
- * Name of the definition to load
- * @return The loaded trace definition
- * @since 3.2
- */
- public static CustomTxtTraceDefinition load(String categoryName, String definitionName) {
- try {
- DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
- DocumentBuilder db = dbf.newDocumentBuilder();
-
- // The following allows xml parsing without access to the dtd
- db.setEntityResolver(createEmptyEntityResolver());
-
- // The following catches xml parsing exceptions
- db.setErrorHandler(createErrorHandler());
-
- CustomTxtTraceDefinition value = lookupDefinition(categoryName, definitionName, db, CUSTOM_TXT_TRACE_DEFINITIONS_PATH_NAME);
- if (value == null) {
- return lookupDefinition(categoryName, definitionName, db, CUSTOM_TXT_TRACE_DEFINITIONS_DEFAULT_PATH_NAME);
- }
- return value;
- } catch (ParserConfigurationException | SAXException | IOException e) {
- Activator.logError("Error loading CustomTxtTraceDefinition: definitionName=" + definitionName, e); //$NON-NLS-1$
- }
- return null;
- }
-
- private static CustomTxtTraceDefinition lookupDefinition(String categoryName, String definitionName, DocumentBuilder db, String source) throws SAXException, IOException {
- File file = new File(source);
- if (!file.exists()) {
- return null;
- }
- Document doc = db.parse(file);
-
- Element root = doc.getDocumentElement();
- if (!root.getNodeName().equals(CUSTOM_TXT_TRACE_DEFINITION_ROOT_ELEMENT)) {
- return null;
- }
-
- Element definitionElement = findDefinitionElement(root, categoryName, definitionName);
- if (definitionElement != null) {
- return extractDefinition(definitionElement);
- }
- return null;
- }
-
- private static Element findDefinitionElement(Element root, String categoryName, String definitionName) {
- NodeList nodeList = root.getChildNodes();
- for (int i = 0; i < nodeList.getLength(); i++) {
- Node node = nodeList.item(i);
- if (node instanceof Element && node.getNodeName().equals(DEFINITION_ELEMENT)) {
- Element element = (Element) node;
- String categoryAttribute = element.getAttribute(CATEGORY_ATTRIBUTE);
- if (categoryAttribute.isEmpty()) {
- categoryAttribute = TmfTraceType.CUSTOM_TXT_CATEGORY;
- }
- String nameAttribute = element.getAttribute(NAME_ATTRIBUTE);
- if (categoryName.equals(categoryAttribute) &&
- definitionName.equals(nameAttribute)) {
- return element;
- }
- }
- }
- return null;
- }
-
- /**
- * Get the definition from a definition element.
- *
- * @param definitionElement
- * The Element to extract from
- * @return The loaded trace definition
- */
- public static CustomTxtTraceDefinition extractDefinition(Element definitionElement) {
- CustomTxtTraceDefinition def = new CustomTxtTraceDefinition();
-
- def.categoryName = definitionElement.getAttribute(CATEGORY_ATTRIBUTE);
- if (def.categoryName.isEmpty()) {
- def.categoryName = TmfTraceType.CUSTOM_TXT_CATEGORY;
- }
- def.definitionName = definitionElement.getAttribute(NAME_ATTRIBUTE);
- if (def.definitionName.isEmpty()) {
- return null;
- }
-
- NodeList nodeList = definitionElement.getChildNodes();
- for (int i = 0; i < nodeList.getLength(); i++) {
- Node node = nodeList.item(i);
- String nodeName = node.getNodeName();
- if (nodeName.equals(TIME_STAMP_OUTPUT_FORMAT_ELEMENT)) {
- Element formatElement = (Element) node;
- def.timeStampOutputFormat = formatElement.getTextContent();
- } else if (nodeName.equals(INPUT_LINE_ELEMENT)) {
- InputLine inputLine = extractInputLine((Element) node);
- if (inputLine != null) {
- def.inputs.add(inputLine);
- }
- } else if (nodeName.equals(OUTPUT_COLUMN_ELEMENT)) {
- Element outputColumnElement = (Element) node;
- OutputColumn outputColumn = new OutputColumn();
- outputColumn.name = outputColumnElement.getAttribute(NAME_ATTRIBUTE);
- def.outputs.add(outputColumn);
- }
- }
- return def;
- }
-
- private static InputLine extractInputLine(Element inputLineElement) {
- InputLine inputLine = new InputLine();
- NodeList nodeList = inputLineElement.getChildNodes();
- for (int i = 0; i < nodeList.getLength(); i++) {
- Node node = nodeList.item(i);
- String nodeName = node.getNodeName();
- if (nodeName.equals(CARDINALITY_ELEMENT)) {
- Element cardinalityElement = (Element) node;
- try {
- int min = Integer.parseInt(cardinalityElement.getAttribute(MIN_ATTRIBUTE));
- int max = Integer.parseInt(cardinalityElement.getAttribute(MAX_ATTRIBUTE));
- inputLine.cardinality = new Cardinality(min, max);
- } catch (NumberFormatException e) {
- return null;
- }
- } else if (nodeName.equals(REGEX_ELEMENT)) {
- Element regexElement = (Element) node;
- inputLine.regex = regexElement.getTextContent();
- } else if (nodeName.equals(INPUT_DATA_ELEMENT)) {
- Element inputDataElement = (Element) node;
- InputData inputData = new InputData();
- inputData.name = inputDataElement.getAttribute(NAME_ATTRIBUTE);
- inputData.action = Integer.parseInt(inputDataElement.getAttribute(ACTION_ATTRIBUTE));
- inputData.format = inputDataElement.getAttribute(FORMAT_ATTRIBUTE);
- inputLine.addColumn(inputData);
- } else if (nodeName.equals(INPUT_LINE_ELEMENT)) {
- Element childInputLineElement = (Element) node;
- InputLine childInputLine = extractInputLine(childInputLineElement);
- if (childInputLine != null) {
- inputLine.addChild(childInputLine);
- }
- }
- }
- return inputLine;
- }
-
- /**
- * Delete a definition from the currently loaded ones.
- *
- * @param definitionName
- * The name of the definition to delete
- * @deprecated Use {@link #delete(String, String)}
- */
- @Deprecated
- public static void delete(String definitionName) {
- delete(TmfTraceType.CUSTOM_TXT_CATEGORY, definitionName);
- }
-
- /**
- * Delete a definition from the currently loaded ones.
- *
- * @param categoryName
- * The category of the definition to delete
- * @param definitionName
- * The name of the definition to delete
- * @since 3.2
- */
- public static void delete(String categoryName, String definitionName) {
- try {
- DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
- DocumentBuilder db = dbf.newDocumentBuilder();
-
- // The following allows xml parsing without access to the dtd
- db.setEntityResolver(createEmptyEntityResolver());
-
- // The following catches xml parsing exceptions
- db.setErrorHandler(createErrorHandler());
-
- File file = new File(CUSTOM_TXT_TRACE_DEFINITIONS_PATH_NAME);
- Document doc = db.parse(file);
-
- Element root = doc.getDocumentElement();
- if (!root.getNodeName().equals(CUSTOM_TXT_TRACE_DEFINITION_ROOT_ELEMENT)) {
- return;
- }
-
- Element definitionElement = findDefinitionElement(root, categoryName, definitionName);
- if (definitionElement != null) {
- root.removeChild(definitionElement);
- }
-
- Transformer transformer = TransformerFactory.newInstance().newTransformer();
- transformer.setOutputProperty(OutputKeys.INDENT, "yes"); //$NON-NLS-1$
-
- // initialize StreamResult with File object to save to file
- StreamResult result = new StreamResult(new StringWriter());
- DOMSource source = new DOMSource(doc);
- transformer.transform(source, result);
- String xmlString = result.getWriter().toString();
-
- try (FileWriter writer = new FileWriter(file);) {
- writer.write(xmlString);
- }
-
- TmfTraceType.removeCustomTraceType(CustomTxtTrace.class, categoryName, definitionName);
- // Check if default definition needs to be reloaded
- TmfTraceType.addCustomTraceType(CustomTxtTrace.class, categoryName, definitionName);
-
- } catch (ParserConfigurationException | SAXException | IOException | TransformerFactoryConfigurationError | TransformerException e) {
- Activator.logError("Error deleting CustomTxtTraceDefinition: definitionName=" + definitionName, e); //$NON-NLS-1$
- }
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/parsers/custom/CustomXmlEvent.java b/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/parsers/custom/CustomXmlEvent.java
deleted file mode 100644
index 0a23b3766d..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/parsers/custom/CustomXmlEvent.java
+++ /dev/null
@@ -1,127 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010, 2014 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:
- * Patrick Tasse - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.core.parsers.custom;
-
-import org.eclipse.linuxtools.tmf.core.event.ITmfEventField;
-import org.eclipse.linuxtools.tmf.core.event.TmfEvent;
-import org.eclipse.linuxtools.tmf.core.event.TmfEventType;
-import org.eclipse.linuxtools.tmf.core.timestamp.ITmfTimestamp;
-import org.eclipse.linuxtools.tmf.core.trace.ITmfTrace;
-
-/**
- * Trace event for custom XML traces.
- *
- * @author Patrick Tassé
- * @since 3.0
- */
-public class CustomXmlEvent extends CustomEvent {
-
- /**
- * Constructor defining only the trace definition
- *
- * @param definition
- * Trace definition
- */
- public CustomXmlEvent(CustomXmlTraceDefinition definition) {
- super(definition);
- setType(new CustomXmlEventType(definition));
- }
-
- /**
- * Build a custom trace event from an existing TmfEvent.
- *
- * @param definition
- * Trace definition
- * @param other
- * Other TmfEvent to copy
- */
- public CustomXmlEvent(CustomXmlTraceDefinition definition, TmfEvent other) {
- super(definition, other);
- }
-
- /**
- * Full constructor
- *
- * @param definition
- * Trace definition
- * @param parentTrace
- * Parent trace object
- * @param timestamp
- * Timestamp of the event
- * @param source
- * Source of the event
- * @param type
- * Event type
- * @param reference
- * Reference of the event
- */
- public CustomXmlEvent(CustomXmlTraceDefinition definition, ITmfTrace parentTrace, ITmfTimestamp timestamp, String source, TmfEventType type, String reference) {
- super(definition, parentTrace, timestamp, source, type, reference);
- }
-
- @Override
- public void setContent(ITmfEventField content) {
- super.setContent(content);
- }
-
- /**
- * Parse an entry.
- *
- * @param value Value
- * @param name Name
- * @param inputAction Input action
- * @param inputFormat Input format
- */
- public void parseInput(String value, String name, int inputAction, String inputFormat) {
- if (value.length() == 0) {
- return;
- }
- if (inputAction == CustomTraceDefinition.ACTION_SET) {
- fData.put(name, value);
- if (name.equals(CustomTraceDefinition.TAG_TIMESTAMP)) {
- fData.put(TIMESTAMP_INPUT_FORMAT_KEY, inputFormat);
- }
- } else if (inputAction == CustomTraceDefinition.ACTION_APPEND) {
- String s = fData.get(name);
- if (s != null) {
- fData.put(name, s + value);
- } else {
- fData.put(name, value);
- }
- if (name.equals(CustomTraceDefinition.TAG_TIMESTAMP)) {
- String timeStampInputFormat = fData.get(TIMESTAMP_INPUT_FORMAT_KEY);
- if (timeStampInputFormat != null) {
- fData.put(TIMESTAMP_INPUT_FORMAT_KEY, timeStampInputFormat + inputFormat);
- } else {
- fData.put(TIMESTAMP_INPUT_FORMAT_KEY, inputFormat);
- }
- }
- } else if (inputAction == CustomTraceDefinition.ACTION_APPEND_WITH_SEPARATOR) {
- String s = fData.get(name);
- if (s != null) {
- fData.put(name, s + " | " + value); //$NON-NLS-1$
- } else {
- fData.put(name, value);
- }
- if (name.equals(CustomTraceDefinition.TAG_TIMESTAMP)) {
- String timeStampInputFormat = fData.get(TIMESTAMP_INPUT_FORMAT_KEY);
- if (timeStampInputFormat != null) {
- fData.put(TIMESTAMP_INPUT_FORMAT_KEY, timeStampInputFormat + " | " + inputFormat); //$NON-NLS-1$
- } else {
- fData.put(TIMESTAMP_INPUT_FORMAT_KEY, inputFormat);
- }
- }
- }
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/parsers/custom/CustomXmlEventType.java b/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/parsers/custom/CustomXmlEventType.java
deleted file mode 100644
index 3757b62283..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/parsers/custom/CustomXmlEventType.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010, 2014 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:
- * Patrick Tasse - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.core.parsers.custom;
-
-/**
- * Event type class for custom XML traces.
- *
- * @author Patrick Tassé
- * @since 3.0
- */
-public class CustomXmlEventType extends CustomEventType {
-
- /**
- * Constructor
- *
- * @param definition
- * Trace definition
- */
- public CustomXmlEventType(CustomXmlTraceDefinition definition) {
- super(definition);
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/parsers/custom/CustomXmlTrace.java b/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/parsers/custom/CustomXmlTrace.java
deleted file mode 100644
index c6a333de18..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/parsers/custom/CustomXmlTrace.java
+++ /dev/null
@@ -1,585 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010, 2014 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:
- * Patrick Tasse - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.core.parsers.custom;
-
-import java.io.ByteArrayInputStream;
-import java.io.File;
-import java.io.IOException;
-import java.io.RandomAccessFile;
-import java.nio.ByteBuffer;
-
-import javax.xml.parsers.DocumentBuilder;
-import javax.xml.parsers.DocumentBuilderFactory;
-import javax.xml.parsers.ParserConfigurationException;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.linuxtools.internal.tmf.core.Activator;
-import org.eclipse.linuxtools.tmf.core.event.ITmfEvent;
-import org.eclipse.linuxtools.tmf.core.exceptions.TmfTraceException;
-import org.eclipse.linuxtools.tmf.core.io.BufferedRandomAccessFile;
-import org.eclipse.linuxtools.tmf.core.parsers.custom.CustomXmlTraceDefinition.InputAttribute;
-import org.eclipse.linuxtools.tmf.core.parsers.custom.CustomXmlTraceDefinition.InputElement;
-import org.eclipse.linuxtools.tmf.core.timestamp.TmfTimestamp;
-import org.eclipse.linuxtools.tmf.core.trace.ITmfContext;
-import org.eclipse.linuxtools.tmf.core.trace.ITmfEventParser;
-import org.eclipse.linuxtools.tmf.core.trace.TmfContext;
-import org.eclipse.linuxtools.tmf.core.trace.TmfTrace;
-import org.eclipse.linuxtools.tmf.core.trace.TraceValidationStatus;
-import org.eclipse.linuxtools.tmf.core.trace.indexer.ITmfPersistentlyIndexable;
-import org.eclipse.linuxtools.tmf.core.trace.indexer.ITmfTraceIndexer;
-import org.eclipse.linuxtools.tmf.core.trace.indexer.TmfBTreeTraceIndexer;
-import org.eclipse.linuxtools.tmf.core.trace.indexer.checkpoint.ITmfCheckpoint;
-import org.eclipse.linuxtools.tmf.core.trace.indexer.checkpoint.TmfCheckpoint;
-import org.eclipse.linuxtools.tmf.core.trace.location.ITmfLocation;
-import org.eclipse.linuxtools.tmf.core.trace.location.TmfLongLocation;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-import org.xml.sax.EntityResolver;
-import org.xml.sax.ErrorHandler;
-import org.xml.sax.InputSource;
-import org.xml.sax.SAXException;
-import org.xml.sax.SAXParseException;
-
-/**
- * Trace object for custom XML trace parsers.
- *
- * @author Patrick Tassé
- * @since 3.0
- */
-public class CustomXmlTrace extends TmfTrace implements ITmfEventParser, ITmfPersistentlyIndexable {
-
- private static final TmfLongLocation NULL_LOCATION = new TmfLongLocation(-1L);
- private static final int DEFAULT_CACHE_SIZE = 100;
- private static final int MAX_LINES = 100;
- private static final int CONFIDENCE = 100;
-
- private final CustomXmlTraceDefinition fDefinition;
- private final CustomXmlEventType fEventType;
- private final InputElement fRecordInputElement;
- private BufferedRandomAccessFile fFile;
-
- /**
- * Basic constructor
- *
- * @param definition
- * Trace definition
- */
- public CustomXmlTrace(final CustomXmlTraceDefinition definition) {
- fDefinition = definition;
- fEventType = new CustomXmlEventType(fDefinition);
- fRecordInputElement = getRecordInputElement(fDefinition.rootInputElement);
- setCacheSize(DEFAULT_CACHE_SIZE);
- }
-
- /**
- * Full constructor
- *
- * @param resource
- * Trace resource
- * @param definition
- * Trace definition
- * @param path
- * Path to the trace/log file
- * @param pageSize
- * Page size to use
- * @throws TmfTraceException
- * If the trace/log couldn't be opened
- */
- public CustomXmlTrace(final IResource resource,
- final CustomXmlTraceDefinition definition, final String path,
- final int pageSize) throws TmfTraceException {
- this(definition);
- setCacheSize((pageSize > 0) ? pageSize : DEFAULT_CACHE_SIZE);
- initTrace(resource, path, CustomXmlEvent.class);
- }
-
- @Override
- public void initTrace(final IResource resource, final String path, final Class<? extends ITmfEvent> eventType) throws TmfTraceException {
- super.initTrace(resource, path, eventType);
- try {
- fFile = new BufferedRandomAccessFile(getPath(), "r"); //$NON-NLS-1$
- } catch (IOException e) {
- throw new TmfTraceException(e.getMessage(), e);
- }
- }
-
- @Override
- public synchronized void dispose() {
- super.dispose();
- if (fFile != null) {
- try {
- fFile.close();
- } catch (IOException e) {
- } finally {
- fFile = null;
- }
- }
- }
-
- @Override
- public ITmfTraceIndexer getIndexer() {
- return super.getIndexer();
- }
-
- @Override
- public synchronized TmfContext seekEvent(final ITmfLocation location) {
- final CustomXmlTraceContext context = new CustomXmlTraceContext(NULL_LOCATION, ITmfContext.UNKNOWN_RANK);
- if (NULL_LOCATION.equals(location) || fFile == null) {
- return context;
- }
- try {
- if (location == null) {
- fFile.seek(0);
- } else if (location.getLocationInfo() instanceof Long) {
- fFile.seek((Long) location.getLocationInfo());
- }
- long rawPos = fFile.getFilePointer();
- String line = fFile.getNextLine();
- while (line != null) {
- final int idx = indexOfElement(fRecordInputElement.elementName, line, 0);
- if (idx != -1) {
- context.setLocation(new TmfLongLocation(rawPos + idx));
- return context;
- }
- rawPos = fFile.getFilePointer();
- line = fFile.getNextLine();
- }
- return context;
- } catch (final IOException e) {
- Activator.logError("Error seeking event. File: " + getPath(), e); //$NON-NLS-1$
- return context;
- }
-
- }
-
- @Override
- public synchronized TmfContext seekEvent(final double ratio) {
- if (fFile == null) {
- return new CustomTxtTraceContext(NULL_LOCATION, ITmfContext.UNKNOWN_RANK);
- }
- try {
- long pos = Math.round(ratio * fFile.length());
- while (pos > 0) {
- fFile.seek(pos - 1);
- if (fFile.read() == '\n') {
- break;
- }
- pos--;
- }
- final ITmfLocation location = new TmfLongLocation(pos);
- final TmfContext context = seekEvent(location);
- context.setRank(ITmfContext.UNKNOWN_RANK);
- return context;
- } catch (final IOException e) {
- Activator.logError("Error seeking event. File: " + getPath(), e); //$NON-NLS-1$
- return new CustomXmlTraceContext(NULL_LOCATION, ITmfContext.UNKNOWN_RANK);
- }
- }
-
- @Override
- public synchronized double getLocationRatio(final ITmfLocation location) {
- if (fFile == null) {
- return 0;
- }
- try {
- if (location.getLocationInfo() instanceof Long) {
- return ((Long) location.getLocationInfo()).doubleValue() / fFile.length();
- }
- } catch (final IOException e) {
- Activator.logError("Error getting location ration. File: " + getPath(), e); //$NON-NLS-1$
- }
- return 0;
- }
-
- @Override
- public ITmfLocation getCurrentLocation() {
- // TODO Auto-generated method stub
- return null;
- }
-
- @Override
- public synchronized CustomXmlEvent parseEvent(final ITmfContext tmfContext) {
- ITmfContext context = seekEvent(tmfContext.getLocation());
- return parse(context);
- }
-
- @Override
- public synchronized CustomXmlEvent getNext(final ITmfContext context) {
- final ITmfContext savedContext = new TmfContext(context.getLocation(), context.getRank());
- final CustomXmlEvent event = parse(context);
- if (event != null) {
- updateAttributes(savedContext, event.getTimestamp());
- context.increaseRank();
- }
- return event;
- }
-
- private synchronized CustomXmlEvent parse(final ITmfContext tmfContext) {
- if (fFile == null) {
- return null;
- }
- if (!(tmfContext instanceof CustomXmlTraceContext)) {
- return null;
- }
-
- final CustomXmlTraceContext context = (CustomXmlTraceContext) tmfContext;
- if (context.getLocation() == null || !(context.getLocation().getLocationInfo() instanceof Long) || NULL_LOCATION.equals(context.getLocation())) {
- return null;
- }
-
- CustomXmlEvent event = null;
- try {
- if (fFile.getFilePointer() != (Long) context.getLocation().getLocationInfo() + 1)
- {
- fFile.seek((Long) context.getLocation().getLocationInfo() + 1); // +1 is for the <
- }
- final StringBuffer elementBuffer = new StringBuffer("<"); //$NON-NLS-1$
- readElement(elementBuffer, fFile);
- final Element element = parseElementBuffer(elementBuffer);
-
- event = extractEvent(element, fRecordInputElement);
- ((StringBuffer) event.getContent().getValue()).append(elementBuffer);
-
- long rawPos = fFile.getFilePointer();
- String line = fFile.getNextLine();
- while (line != null) {
- final int idx = indexOfElement(fRecordInputElement.elementName, line, 0);
- if (idx != -1) {
- context.setLocation(new TmfLongLocation(rawPos + idx));
- return event;
- }
- rawPos = fFile.getFilePointer();
- line = fFile.getNextLine();
- }
- } catch (final IOException e) {
- Activator.logError("Error parsing event. File: " + getPath(), e); //$NON-NLS-1$
-
- }
- context.setLocation(NULL_LOCATION);
- return event;
- }
-
- private Element parseElementBuffer(final StringBuffer elementBuffer) {
- try {
- final DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
- final DocumentBuilder db = dbf.newDocumentBuilder();
-
- // The following allows xml parsing without access to the dtd
- final EntityResolver resolver = new EntityResolver() {
- @Override
- public InputSource resolveEntity(final String publicId, final String systemId) {
- final String empty = ""; //$NON-NLS-1$
- final ByteArrayInputStream bais = new ByteArrayInputStream(empty.getBytes());
- return new InputSource(bais);
- }
- };
- db.setEntityResolver(resolver);
-
- // The following catches xml parsing exceptions
- db.setErrorHandler(new ErrorHandler() {
- @Override
- public void error(final SAXParseException saxparseexception) throws SAXException {}
-
- @Override
- public void warning(final SAXParseException saxparseexception) throws SAXException {}
-
- @Override
- public void fatalError(final SAXParseException saxparseexception) throws SAXException {
- throw saxparseexception;
- }
- });
-
- final Document doc = db.parse(new ByteArrayInputStream(elementBuffer.toString().getBytes()));
- return doc.getDocumentElement();
- } catch (final ParserConfigurationException e) {
- Activator.logError("Error parsing element buffer. File:" + getPath(), e); //$NON-NLS-1$
- } catch (final SAXException e) {
- Activator.logError("Error parsing element buffer. File:" + getPath(), e); //$NON-NLS-1$
- } catch (final IOException e) {
- Activator.logError("Error parsing element buffer. File: " + getPath(), e); //$NON-NLS-1$
- }
- return null;
- }
-
- private static int indexOfElement(String elementName, String line, int fromIndex) {
- final String recordElementStart = '<' + elementName;
- int index = line.indexOf(recordElementStart, fromIndex);
- if (index == -1) {
- return index;
- }
- int nextCharIndex = index + recordElementStart.length();
- if (nextCharIndex < line.length()) {
- char c = line.charAt(nextCharIndex);
- // Check that the match is not just a substring of another element
- if (Character.isLetterOrDigit(c)) {
- return indexOfElement(elementName, line, nextCharIndex);
- }
- }
- return index;
- }
-
- private void readElement(final StringBuffer buffer, final RandomAccessFile raFile) {
- try {
- int numRead = 0;
- boolean startTagClosed = false;
- int i;
- while ((i = raFile.read()) != -1) {
- numRead++;
- final char c = (char) i;
- buffer.append(c);
- if (c == '"') {
- readQuote(buffer, raFile, '"');
- } else if (c == '\'') {
- readQuote(buffer, raFile, '\'');
- } else if (c == '<') {
- readElement(buffer, raFile);
- } else if (c == '/' && numRead == 1) {
- break; // found "</"
- } else if (c == '-' && numRead == 3 && buffer.substring(buffer.length() - 3, buffer.length() - 1).equals("!-")) { //$NON-NLS-1$
- readComment(buffer, raFile); // found "<!--"
- } else if (i == '>') {
- if (buffer.charAt(buffer.length() - 2) == '/') {
- break; // found "/>"
- } else if (startTagClosed) {
- break; // found "<...>...</...>"
- }
- else {
- startTagClosed = true; // found "<...>"
- }
- }
- }
- return;
- } catch (final IOException e) {
- return;
- }
- }
-
- private static void readQuote(final StringBuffer buffer,
- final RandomAccessFile raFile, final char eq) {
- try {
- int i;
- while ((i = raFile.read()) != -1) {
- final char c = (char) i;
- buffer.append(c);
- if (c == eq)
- {
- break; // found matching end-quote
- }
- }
- return;
- } catch (final IOException e) {
- return;
- }
- }
-
- private static void readComment(final StringBuffer buffer,
- final RandomAccessFile raFile) {
- try {
- int numRead = 0;
- int i;
- while ((i = raFile.read()) != -1) {
- numRead++;
- final char c = (char) i;
- buffer.append(c);
- if (c == '>' && numRead >= 2 && buffer.substring(buffer.length() - 3, buffer.length() - 1).equals("--")) //$NON-NLS-1$
- {
- break; // found "-->"
- }
- }
- return;
- } catch (final IOException e) {
- return;
- }
- }
-
- /**
- * Parse an XML element.
- *
- * @param parentElement
- * The parent element
- * @param buffer
- * The contents to parse
- * @return The parsed content
- */
- public static StringBuffer parseElement(final Element parentElement, final StringBuffer buffer) {
- final NodeList nodeList = parentElement.getChildNodes();
- String separator = null;
- for (int i = 0; i < nodeList.getLength(); i++) {
- final Node node = nodeList.item(i);
- if (node.getNodeType() == Node.ELEMENT_NODE) {
- if (separator == null) {
- separator = " | "; //$NON-NLS-1$
- } else {
- buffer.append(separator);
- }
- final Element element = (Element) node;
- if (!element.hasChildNodes()) {
- buffer.append(element.getNodeName());
- } else if (element.getChildNodes().getLength() == 1 && element.getFirstChild().getNodeType() == Node.TEXT_NODE) {
- buffer.append(element.getNodeName() + ":" + element.getFirstChild().getNodeValue().trim()); //$NON-NLS-1$
- } else {
- buffer.append(element.getNodeName());
- buffer.append(" [ "); //$NON-NLS-1$
- parseElement(element, buffer);
- buffer.append(" ]"); //$NON-NLS-1$
- }
- } else if (node.getNodeType() == Node.TEXT_NODE) {
- if (node.getNodeValue().trim().length() != 0) {
- buffer.append(node.getNodeValue().trim());
- }
- }
- }
- return buffer;
- }
-
- /**
- * Get an input element if it is a valid record input. If not, we will look
- * into its children for valid inputs.
- *
- * @param inputElement
- * The main element to check for.
- * @return The record element
- */
- public InputElement getRecordInputElement(final InputElement inputElement) {
- if (inputElement.logEntry) {
- return inputElement;
- } else if (inputElement.childElements != null) {
- for (final InputElement childInputElement : inputElement.childElements) {
- final InputElement recordInputElement = getRecordInputElement(childInputElement);
- if (recordInputElement != null) {
- return recordInputElement;
- }
- }
- }
- return null;
- }
-
- /**
- * Extract a trace event from an XML element.
- *
- * @param element
- * The element
- * @param inputElement
- * The input element
- * @return The extracted event
- */
- public CustomXmlEvent extractEvent(final Element element, final InputElement inputElement) {
- final CustomXmlEvent event = new CustomXmlEvent(fDefinition, this, TmfTimestamp.ZERO, "", fEventType, ""); //$NON-NLS-1$ //$NON-NLS-2$
- event.setContent(new CustomEventContent(event, new StringBuffer()));
- parseElement(element, event, inputElement);
- return event;
- }
-
- private void parseElement(final Element element, final CustomXmlEvent event, final InputElement inputElement) {
- if (inputElement.inputName != null && !inputElement.inputName.equals(CustomXmlTraceDefinition.TAG_IGNORE)) {
- event.parseInput(parseElement(element, new StringBuffer()).toString(), inputElement.inputName, inputElement.inputAction, inputElement.inputFormat);
- }
- if (inputElement.attributes != null) {
- for (final InputAttribute attribute : inputElement.attributes) {
- event.parseInput(element.getAttribute(attribute.attributeName), attribute.inputName, attribute.inputAction, attribute.inputFormat);
- }
- }
- final NodeList childNodes = element.getChildNodes();
- if (inputElement.childElements != null) {
- for (int i = 0; i < childNodes.getLength(); i++) {
- final Node node = childNodes.item(i);
- if (node instanceof Element) {
- for (final InputElement child : inputElement.childElements) {
- if (node.getNodeName().equals(child.elementName)) {
- parseElement((Element) node, event, child);
- break;
- }
- }
- }
- }
- }
- return;
- }
-
- /**
- * Retrieve the trace definition.
- *
- * @return The trace definition
- */
- public CustomTraceDefinition getDefinition() {
- return fDefinition;
- }
-
- /**
- * {@inheritDoc}
- * <p>
- * The default implementation sets the confidence to 100 if any of the first
- * 100 lines of the file contains a valid record input element, and 0
- * otherwise.
- */
- @Override
- public IStatus validate(IProject project, String path) {
- File file = new File(path);
- if (!file.exists() || !file.isFile() || !file.canRead()) {
- return new Status(IStatus.ERROR, Activator.PLUGIN_ID, Messages.CustomTrace_FileNotFound + ": " + path); //$NON-NLS-1$
- }
- try (BufferedRandomAccessFile rafile = new BufferedRandomAccessFile(path, "r")) { //$NON-NLS-1$
- int lineCount = 0;
- long rawPos = 0;
- String line = rafile.getNextLine();
- while ((line != null) && (lineCount++ < MAX_LINES)) {
- final int idx = indexOfElement(fRecordInputElement.elementName, line, 0);
- if (idx != -1) {
- rafile.seek(rawPos + idx + 1); // +1 is for the <
- final StringBuffer elementBuffer = new StringBuffer("<"); //$NON-NLS-1$
- readElement(elementBuffer, rafile);
- final Element element = parseElementBuffer(elementBuffer);
- if (element != null) {
- rafile.close();
- return new TraceValidationStatus(CONFIDENCE, Activator.PLUGIN_ID);
- }
- }
- rawPos = rafile.getFilePointer();
- line = rafile.getNextLine();
- }
- } catch (IOException e) {
- return new Status(IStatus.ERROR, Activator.PLUGIN_ID, "IOException validating file: " + path, e); //$NON-NLS-1$
- }
- return new TraceValidationStatus(0, Activator.PLUGIN_ID);
- }
-
- private static int fCheckpointSize = -1;
-
- @Override
- public synchronized int getCheckpointSize() {
- if (fCheckpointSize == -1) {
- TmfCheckpoint c = new TmfCheckpoint(TmfTimestamp.ZERO, new TmfLongLocation(0L), 0);
- ByteBuffer b = ByteBuffer.allocate(ITmfCheckpoint.MAX_SERIALIZE_SIZE);
- b.clear();
- c.serialize(b);
- fCheckpointSize = b.position();
- }
-
- return fCheckpointSize;
- }
-
- @Override
- public ITmfLocation restoreLocation(ByteBuffer bufferIn) {
- return new TmfLongLocation(bufferIn);
- }
-
- @Override
- protected ITmfTraceIndexer createIndexer(int interval) {
- return new TmfBTreeTraceIndexer(this, interval);
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/parsers/custom/CustomXmlTraceContext.java b/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/parsers/custom/CustomXmlTraceContext.java
deleted file mode 100644
index ec86422ab3..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/parsers/custom/CustomXmlTraceContext.java
+++ /dev/null
@@ -1,57 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010, 2014 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:
- * Patrick Tasse - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.core.parsers.custom;
-
-import org.eclipse.linuxtools.tmf.core.trace.TmfContext;
-import org.eclipse.linuxtools.tmf.core.trace.location.ITmfLocation;
-
-/**
- * Trace context for custom XML traces.
- *
- * @author Patrick Tassé
- * @since 3.0
- */
-public class CustomXmlTraceContext extends TmfContext {
-
- /**
- * Constructor
- *
- * @param location
- * The location (in the file) of this context
- * @param rank
- * The rank of the event pointed by this context
- */
- public CustomXmlTraceContext(ITmfLocation location, long rank) {
- super(location, rank);
- }
-
- @Override
- public int hashCode() {
- return super.hashCode();
- }
-
- @Override
- public boolean equals(Object obj) {
- if (this == obj) {
- return true;
- }
- if (!super.equals(obj)) {
- return false;
- }
- if (!(obj instanceof CustomXmlTraceContext)) {
- return false;
- }
- return true;
- }
-
-} \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/parsers/custom/CustomXmlTraceDefinition.java b/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/parsers/custom/CustomXmlTraceDefinition.java
deleted file mode 100644
index d2df6bf590..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/parsers/custom/CustomXmlTraceDefinition.java
+++ /dev/null
@@ -1,858 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010, 2014 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:
- * Patrick Tasse - Initial API and implementation
- * Matthew Khouzam - Add support for default xml parsers
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.core.parsers.custom;
-
-import java.io.ByteArrayInputStream;
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileWriter;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.StringWriter;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Comparator;
-import java.util.List;
-import java.util.Set;
-import java.util.TreeSet;
-
-import javax.xml.parsers.DocumentBuilder;
-import javax.xml.parsers.DocumentBuilderFactory;
-import javax.xml.parsers.ParserConfigurationException;
-import javax.xml.transform.OutputKeys;
-import javax.xml.transform.Transformer;
-import javax.xml.transform.TransformerException;
-import javax.xml.transform.TransformerFactory;
-import javax.xml.transform.TransformerFactoryConfigurationError;
-import javax.xml.transform.dom.DOMSource;
-import javax.xml.transform.stream.StreamResult;
-
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.linuxtools.internal.tmf.core.Activator;
-import org.eclipse.linuxtools.tmf.core.project.model.TmfTraceType;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-import org.xml.sax.EntityResolver;
-import org.xml.sax.ErrorHandler;
-import org.xml.sax.InputSource;
-import org.xml.sax.SAXException;
-import org.xml.sax.SAXParseException;
-
-/**
- * Trace definition for custom XML traces.
- *
- * @author Patrick Tassé
- * @since 3.0
- */
-public class CustomXmlTraceDefinition extends CustomTraceDefinition {
-
- /** "ignore" tag */
- public static final String TAG_IGNORE = Messages.CustomXmlTraceDefinition_ignoreTag;
-
- /** Name of the default XML definitions file */
- protected static final String CUSTOM_XML_TRACE_DEFINITIONS_DEFAULT_FILE_NAME = "custom_xml_default_parsers.xml"; //$NON-NLS-1$
-
- /** Name of the XML definitions file */
- protected static final String CUSTOM_XML_TRACE_DEFINITIONS_FILE_NAME = "custom_xml_parsers.xml"; //$NON-NLS-1$
-
- /** Path to the XML definitions file */
- protected static final String CUSTOM_XML_TRACE_DEFINITIONS_DEFAULT_PATH_NAME =
- Platform.getInstallLocation().getURL().getPath() + "templates/org.eclipse.linuxtools.tmf.core/" + //$NON-NLS-1$
- CUSTOM_XML_TRACE_DEFINITIONS_DEFAULT_FILE_NAME;
-
- /** Path to the XML definitions file */
- protected static final String CUSTOM_XML_TRACE_DEFINITIONS_PATH_NAME =
- Activator.getDefault().getStateLocation().addTrailingSeparator().append(CUSTOM_XML_TRACE_DEFINITIONS_FILE_NAME).toString();
-
- /**
- * Legacy path to the XML definitions file (in the UI plug-in) TODO Remove
- * once we feel the transition phase is over.
- */
- private static final String CUSTOM_XML_TRACE_DEFINITIONS_PATH_NAME_LEGACY =
- Activator.getDefault().getStateLocation().removeLastSegments(1).addTrailingSeparator()
- .append("org.eclipse.linuxtools.tmf.ui") //$NON-NLS-1$
- .append(CUSTOM_XML_TRACE_DEFINITIONS_FILE_NAME).toString();
-
- // TODO: These strings should not be externalized
- private static final String CUSTOM_XML_TRACE_DEFINITION_ROOT_ELEMENT = Messages.CustomXmlTraceDefinition_definitionRootElement;
- private static final String DEFINITION_ELEMENT = Messages.CustomXmlTraceDefinition_definition;
- private static final String CATEGORY_ATTRIBUTE = Messages.CustomXmlTraceDefinition_category;
- private static final String NAME_ATTRIBUTE = Messages.CustomXmlTraceDefinition_name;
- private static final String LOG_ENTRY_ATTRIBUTE = Messages.CustomXmlTraceDefinition_logEntry;
- private static final String TIME_STAMP_OUTPUT_FORMAT_ELEMENT = Messages.CustomXmlTraceDefinition_timestampOutputFormat;
- private static final String INPUT_ELEMENT_ELEMENT = Messages.CustomXmlTraceDefinition_inputElement;
- private static final String ATTRIBUTE_ELEMENT = Messages.CustomXmlTraceDefinition_attribute;
- private static final String INPUT_DATA_ELEMENT = Messages.CustomXmlTraceDefinition_inputData;
- private static final String ACTION_ATTRIBUTE = Messages.CustomXmlTraceDefinition_action;
- private static final String FORMAT_ATTRIBUTE = Messages.CustomXmlTraceDefinition_format;
- private static final String OUTPUT_COLUMN_ELEMENT = Messages.CustomXmlTraceDefinition_outputColumn;
-
- /** Top-level input element */
- public InputElement rootInputElement;
-
- /**
- * Default constructor
- */
- public CustomXmlTraceDefinition() {
- this(TmfTraceType.CUSTOM_XML_CATEGORY, "", null, new ArrayList<OutputColumn>(), ""); //$NON-NLS-1$ //$NON-NLS-2$
- }
-
- /**
- * Full constructor
- *
- * @param traceType
- * Name of the trace type
- * @param rootElement
- * The top-level XML element
- * @param outputs
- * The list of output columns
- * @param timeStampOutputFormat
- * The timestamp format to use
- * @deprecated Use {@link #CustomXmlTraceDefinition(String, String, InputElement, List, String)}
- */
- @Deprecated
- public CustomXmlTraceDefinition(String traceType, InputElement rootElement,
- List<OutputColumn> outputs, String timeStampOutputFormat) {
- this.definitionName = traceType;
- this.rootInputElement = rootElement;
- this.outputs = outputs;
- this.timeStampOutputFormat = timeStampOutputFormat;
- }
-
- /**
- * Full constructor
- *
- * @param category
- * Category of the trace type
- * @param traceType
- * Name of the trace type
- * @param rootElement
- * The top-level XML element
- * @param outputs
- * The list of output columns
- * @param timeStampOutputFormat
- * The timestamp format to use
- * @since 3.2
- */
- public CustomXmlTraceDefinition(String category, String traceType, InputElement rootElement,
- List<OutputColumn> outputs, String timeStampOutputFormat) {
- this.categoryName = category;
- this.definitionName = traceType;
- this.rootInputElement = rootElement;
- this.outputs = outputs;
- this.timeStampOutputFormat = timeStampOutputFormat;
- }
-
- /**
- * Wrapper for input XML elements
- */
- public static class InputElement {
-
- /** Name of the element */
- public String elementName;
-
- /** Indicates if this is a log entry */
- public boolean logEntry;
-
- /** Name of the input element */
- public String inputName;
-
- /** Input action */
- public int inputAction;
-
- /** Input format */
- public String inputFormat;
-
- /** XML attributes of this element */
- public List<InputAttribute> attributes;
-
- /** Parent element */
- public InputElement parentElement;
-
- /** Following element in the file */
- public InputElement nextElement;
-
- /** Child elements */
- public List<InputElement> childElements;
-
- /**
- * Default (empty) constructor
- */
- public InputElement() {
- }
-
- /**
- * Constructor
- *
- * @param elementName
- * Element name
- * @param logEntry
- * If this element is a log entry
- * @param inputName
- * Name of the the input
- * @param inputAction
- * Input action
- * @param inputFormat
- * Input format
- * @param attributes
- * XML attributes of this element
- */
- public InputElement(String elementName, boolean logEntry,
- String inputName, int inputAction, String inputFormat,
- List<InputAttribute> attributes) {
- this.elementName = elementName;
- this.logEntry = logEntry;
- this.inputName = inputName;
- this.inputAction = inputAction;
- this.inputFormat = inputFormat;
- this.attributes = attributes;
- }
-
- /**
- * Add a XML attribute to the element
- *
- * @param attribute
- * The attribute to add
- */
- public void addAttribute(InputAttribute attribute) {
- if (attributes == null) {
- attributes = new ArrayList<>(1);
- }
- attributes.add(attribute);
- }
-
- /**
- * Add a child element to this one.
- *
- * @param input
- * The input element to add as child
- */
- public void addChild(InputElement input) {
- if (childElements == null) {
- childElements = new ArrayList<>(1);
- } else if (childElements.size() > 0) {
- InputElement last = childElements.get(childElements.size() - 1);
- last.nextElement = input;
- }
- childElements.add(input);
- input.parentElement = this;
- }
-
- /**
- * Set the following input element.
- *
- * @param input
- * The input element to add as next element
- */
- public void addNext(InputElement input) {
- if (parentElement != null) {
- int index = parentElement.childElements.indexOf(this);
- parentElement.childElements.add(index + 1, input);
- InputElement next = nextElement;
- nextElement = input;
- input.nextElement = next;
- }
- input.parentElement = this.parentElement;
- }
-
- /**
- * Move this element up in its parent's list of children.
- */
- public void moveUp() {
- if (parentElement != null) {
- int index = parentElement.childElements.indexOf(this);
- if (index > 0) {
- parentElement.childElements.add(index - 1, parentElement.childElements.remove(index));
- parentElement.childElements.get(index).nextElement = nextElement;
- nextElement = parentElement.childElements.get(index);
- }
- }
- }
-
- /**
- * Move this element down in its parent's list of children.
- */
- public void moveDown() {
- if (parentElement != null) {
- int index = parentElement.childElements.indexOf(this);
- if (index < parentElement.childElements.size() - 1) {
- parentElement.childElements.add(index + 1, parentElement.childElements.remove(index));
- nextElement = parentElement.childElements.get(index).nextElement;
- parentElement.childElements.get(index).nextElement = this;
- }
- }
- }
-
- }
-
- /**
- * Wrapper for XML element attributes
- */
- public static class InputAttribute {
-
- /** Name of the XML attribute */
- public String attributeName;
-
- /** Input name */
- public String inputName;
-
- /** Input action */
- public int inputAction;
-
- /** Input format */
- public String inputFormat;
-
- /**
- * Default (empty) constructor
- */
- public InputAttribute() {
- }
-
- /**
- * Constructor
- *
- * @param attributeName
- * Name of the XML attribute
- * @param inputName
- * Input name
- * @param inputAction
- * Input action
- * @param inputFormat
- * Input format
- */
- public InputAttribute(String attributeName, String inputName,
- int inputAction, String inputFormat) {
- this.attributeName = attributeName;
- this.inputName = inputName;
- this.inputAction = inputAction;
- this.inputFormat = inputFormat;
- }
- }
-
- @Override
- public void save() {
- save(CUSTOM_XML_TRACE_DEFINITIONS_PATH_NAME);
- }
-
- @Override
- public void save(String path) {
- try {
- DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
- DocumentBuilder db = dbf.newDocumentBuilder();
-
- // The following allows xml parsing without access to the dtd
- db.setEntityResolver(createEmptyEntityResolver());
-
- // The following catches xml parsing exceptions
- db.setErrorHandler(createErrorHandler());
-
- Document doc = null;
- File file = new File(path);
- if (file.canRead()) {
- doc = db.parse(file);
- if (!doc.getDocumentElement().getNodeName().equals(CUSTOM_XML_TRACE_DEFINITION_ROOT_ELEMENT)) {
- return;
- }
- } else {
- doc = db.newDocument();
- Node node = doc.createElement(CUSTOM_XML_TRACE_DEFINITION_ROOT_ELEMENT);
- doc.appendChild(node);
- }
-
- Element root = doc.getDocumentElement();
-
- Element oldDefinitionElement = findDefinitionElement(root, categoryName, definitionName);
- if (oldDefinitionElement != null) {
- root.removeChild(oldDefinitionElement);
- }
- Element definitionElement = doc.createElement(DEFINITION_ELEMENT);
- root.appendChild(definitionElement);
- definitionElement.setAttribute(CATEGORY_ATTRIBUTE, categoryName);
- definitionElement.setAttribute(NAME_ATTRIBUTE, definitionName);
-
- Element formatElement = doc.createElement(TIME_STAMP_OUTPUT_FORMAT_ELEMENT);
- definitionElement.appendChild(formatElement);
- formatElement.appendChild(doc.createTextNode(timeStampOutputFormat));
-
- if (rootInputElement != null) {
- definitionElement.appendChild(createInputElementElement(rootInputElement, doc));
- }
-
- if (outputs != null) {
- for (OutputColumn output : outputs) {
- Element outputColumnElement = doc.createElement(OUTPUT_COLUMN_ELEMENT);
- definitionElement.appendChild(outputColumnElement);
- outputColumnElement.setAttribute(NAME_ATTRIBUTE, output.name);
- }
- }
-
- Transformer transformer = TransformerFactory.newInstance().newTransformer();
- transformer.setOutputProperty(OutputKeys.INDENT, "yes"); //$NON-NLS-1$
-
- // initialize StreamResult with File object to save to file
- StreamResult result = new StreamResult(new StringWriter());
- DOMSource source = new DOMSource(doc);
- transformer.transform(source, result);
- String xmlString = result.getWriter().toString();
-
- try (FileWriter writer = new FileWriter(file);) {
- writer.write(xmlString);
- }
-
- TmfTraceType.addCustomTraceType(CustomXmlTrace.class, categoryName, definitionName);
-
- } catch (ParserConfigurationException | TransformerFactoryConfigurationError | TransformerException | IOException | SAXException e) {
- Activator.logError("Error saving CustomXmlTraceDefinition: path=" + path, e); //$NON-NLS-1$
- }
- }
-
- private Element createInputElementElement(InputElement inputElement, Document doc) {
- Element inputElementElement = doc.createElement(INPUT_ELEMENT_ELEMENT);
- inputElementElement.setAttribute(NAME_ATTRIBUTE, inputElement.elementName);
-
- if (inputElement.logEntry) {
- inputElementElement.setAttribute(LOG_ENTRY_ATTRIBUTE, Boolean.toString(inputElement.logEntry));
- }
-
- if (inputElement.parentElement != null) {
- Element inputDataElement = doc.createElement(INPUT_DATA_ELEMENT);
- inputElementElement.appendChild(inputDataElement);
- inputDataElement.setAttribute(NAME_ATTRIBUTE, inputElement.inputName);
- inputDataElement.setAttribute(ACTION_ATTRIBUTE, Integer.toString(inputElement.inputAction));
- if (inputElement.inputFormat != null) {
- inputDataElement.setAttribute(FORMAT_ATTRIBUTE, inputElement.inputFormat);
- }
- }
-
- if (inputElement.attributes != null) {
- for (InputAttribute attribute : inputElement.attributes) {
- Element inputAttributeElement = doc.createElement(ATTRIBUTE_ELEMENT);
- inputElementElement.appendChild(inputAttributeElement);
- inputAttributeElement.setAttribute(NAME_ATTRIBUTE, attribute.attributeName);
- Element inputDataElement = doc.createElement(INPUT_DATA_ELEMENT);
- inputAttributeElement.appendChild(inputDataElement);
- inputDataElement.setAttribute(NAME_ATTRIBUTE, attribute.inputName);
- inputDataElement.setAttribute(ACTION_ATTRIBUTE, Integer.toString(attribute.inputAction));
- if (attribute.inputFormat != null) {
- inputDataElement.setAttribute(FORMAT_ATTRIBUTE, attribute.inputFormat);
- }
- }
- }
-
- if (inputElement.childElements != null) {
- for (InputElement childInputElement : inputElement.childElements) {
- inputElementElement.appendChild(createInputElementElement(childInputElement, doc));
- }
- }
-
- return inputElementElement;
- }
-
- /**
- * Load all custom XML trace definitions, including the user-defined and
- * default (built-in) parsers.
- *
- * @return The loaded trace definitions
- */
- public static CustomXmlTraceDefinition[] loadAll() {
- return loadAll(true);
- }
-
- /**
- * Load all custom XML trace definitions, including the user-defined and,
- * optionally, the default (built-in) parsers.
- *
- * @param includeDefaults
- * if true, the default (built-in) parsers are included
- *
- * @return The loaded trace definitions
- * @since 3.2
- */
- public static CustomXmlTraceDefinition[] loadAll(boolean includeDefaults) {
- File defaultFile = new File(CUSTOM_XML_TRACE_DEFINITIONS_PATH_NAME);
- File legacyFile = new File(CUSTOM_XML_TRACE_DEFINITIONS_PATH_NAME_LEGACY);
-
- /*
- * If there is no file at the expected location, check the legacy
- * location instead.
- */
- if (!defaultFile.exists() && legacyFile.exists()) {
- CustomXmlTraceDefinition[] oldDefs = loadAll(CUSTOM_XML_TRACE_DEFINITIONS_PATH_NAME_LEGACY);
- for (CustomXmlTraceDefinition def : oldDefs) {
- /* Save in the new location */
- def.save();
- }
- }
-
- Set<CustomXmlTraceDefinition> defs = new TreeSet<>(new Comparator<CustomXmlTraceDefinition>() {
- @Override
- public int compare(CustomXmlTraceDefinition o1, CustomXmlTraceDefinition o2) {
- int result = o1.categoryName.compareTo(o2.categoryName);
- if (result != 0) {
- return result;
- }
- return o1.definitionName.compareTo(o2.definitionName);
- }
- });
- defs.addAll(Arrays.asList(loadAll(CUSTOM_XML_TRACE_DEFINITIONS_PATH_NAME)));
- if (includeDefaults) {
- defs.addAll(Arrays.asList(loadAll(CUSTOM_XML_TRACE_DEFINITIONS_DEFAULT_PATH_NAME)));
- }
- return defs.toArray(new CustomXmlTraceDefinition[0]);
- }
-
- /**
- * Load all the XML trace definitions in the given definitions file.
- *
- * @param path
- * Path to the definitions file to load
- * @return The loaded trace definitions
- */
- public static CustomXmlTraceDefinition[] loadAll(String path) {
- File file = new File(path);
- if (!file.canRead()) {
- return new CustomXmlTraceDefinition[0];
- }
- try (FileInputStream fis = new FileInputStream(file);) {
- return loadAll(fis);
- } catch (IOException e) {
- Activator.logError("Error loading all in CustomXmlTraceDefinition: path=" + path, e); //$NON-NLS-1$
- }
- return new CustomXmlTraceDefinition[0];
- }
-
- /**
- * Load all the XML trace definitions from the given stream
- *
- * @param stream
- * An input stream from which to read the definitions
- * @return The loaded trace definitions
- * @since 3.2
- */
- public static CustomXmlTraceDefinition[] loadAll(InputStream stream) {
- try {
- DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
- DocumentBuilder db = dbf.newDocumentBuilder();
-
- // The following allows xml parsing without access to the dtd
- db.setEntityResolver(createEmptyEntityResolver());
-
- // The following catches xml parsing exceptions
- db.setErrorHandler(createErrorHandler());
-
- Document doc = db.parse(stream);
- Element root = doc.getDocumentElement();
- if (!root.getNodeName().equals(CUSTOM_XML_TRACE_DEFINITION_ROOT_ELEMENT)) {
- return new CustomXmlTraceDefinition[0];
- }
-
- ArrayList<CustomXmlTraceDefinition> defList = new ArrayList<>();
- NodeList nodeList = root.getChildNodes();
- for (int i = 0; i < nodeList.getLength(); i++) {
- Node node = nodeList.item(i);
- if (node instanceof Element && node.getNodeName().equals(DEFINITION_ELEMENT)) {
- CustomXmlTraceDefinition def = extractDefinition((Element) node);
- if (def != null) {
- defList.add(def);
- }
- }
- }
- return defList.toArray(new CustomXmlTraceDefinition[0]);
- } catch (ParserConfigurationException | SAXException | IOException e) {
- Activator.logError("Error loading all in CustomXmlTraceDefinition: path=" + stream, e); //$NON-NLS-1$
- }
- return new CustomXmlTraceDefinition[0];
- }
-
- /**
- * Load the given trace definition.
- *
- * @param definitionName
- * Name of the XML trace definition to load
- * @return The loaded trace definition
- * @deprecated Use {@link #load(String, String)}
- */
- @Deprecated
- public static CustomXmlTraceDefinition load(String definitionName) {
- return load(TmfTraceType.CUSTOM_XML_CATEGORY, definitionName);
- }
-
- /**
- * Load the given trace definition.
- *
- * @param categoryName
- * Category of the definition to load
- * @param definitionName
- * Name of the XML trace definition to load
- * @return The loaded trace definition
- * @since 3.2
- */
- public static CustomXmlTraceDefinition load(String categoryName, String definitionName) {
- try {
- DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
- DocumentBuilder db = dbf.newDocumentBuilder();
-
- // The following allows xml parsing without access to the dtd
- EntityResolver resolver = new EntityResolver() {
- @Override
- public InputSource resolveEntity(String publicId, String systemId) {
- String empty = ""; //$NON-NLS-1$
- ByteArrayInputStream bais = new ByteArrayInputStream(empty.getBytes());
- return new InputSource(bais);
- }
- };
- db.setEntityResolver(resolver);
-
- // The following catches xml parsing exceptions
- db.setErrorHandler(new ErrorHandler() {
- @Override
- public void error(SAXParseException saxparseexception) throws SAXException {
- }
-
- @Override
- public void warning(SAXParseException saxparseexception) throws SAXException {
- }
-
- @Override
- public void fatalError(SAXParseException saxparseexception) throws SAXException {
- throw saxparseexception;
- }
- });
-
- CustomXmlTraceDefinition value = lookupXmlDefinition(categoryName, definitionName, db, CUSTOM_XML_TRACE_DEFINITIONS_PATH_NAME);
- if (value == null) {
- value = lookupXmlDefinition(categoryName, definitionName, db, CUSTOM_XML_TRACE_DEFINITIONS_DEFAULT_PATH_NAME);
- }
- return value;
- } catch (ParserConfigurationException | SAXException | IOException e) {
- Activator.logError("Error loading CustomXmlTraceDefinition: definitionName=" + definitionName, e); //$NON-NLS-1$
- }
- return null;
- }
-
- private static CustomXmlTraceDefinition lookupXmlDefinition(String categoryName, String definitionName, DocumentBuilder db, String source) throws SAXException, IOException {
- File file = new File(source);
- if (!file.exists()) {
- return null;
- }
-
- Document doc = db.parse(file);
-
- Element root = doc.getDocumentElement();
- if (!root.getNodeName().equals(CUSTOM_XML_TRACE_DEFINITION_ROOT_ELEMENT)) {
- return null;
- }
-
- Element definitionElement = findDefinitionElement(root, categoryName, definitionName);
- if (definitionElement != null) {
- return extractDefinition(definitionElement);
- }
- return null;
- }
-
- private static Element findDefinitionElement(Element root, String categoryName, String definitionName) {
- NodeList nodeList = root.getChildNodes();
- for (int i = 0; i < nodeList.getLength(); i++) {
- Node node = nodeList.item(i);
- if (node instanceof Element && node.getNodeName().equals(DEFINITION_ELEMENT)) {
- Element element = (Element) node;
- String categoryAttribute = element.getAttribute(CATEGORY_ATTRIBUTE);
- if (categoryAttribute.isEmpty()) {
- categoryAttribute = TmfTraceType.CUSTOM_XML_CATEGORY;
- }
- String nameAttribute = element.getAttribute(NAME_ATTRIBUTE);
- if (categoryName.equals(categoryAttribute) &&
- definitionName.equals(nameAttribute)) {
- return element;
- }
- }
- }
- return null;
- }
-
- /**
- * Extract a trace definition from an XML element.
- *
- * @param definitionElement
- * Definition element
- * @return The extracted trace definition
- */
- public static CustomXmlTraceDefinition extractDefinition(Element definitionElement) {
- CustomXmlTraceDefinition def = new CustomXmlTraceDefinition();
-
- def.categoryName = definitionElement.getAttribute(CATEGORY_ATTRIBUTE);
- if (def.categoryName.isEmpty()) {
- def.categoryName = TmfTraceType.CUSTOM_XML_CATEGORY;
- }
- def.definitionName = definitionElement.getAttribute(NAME_ATTRIBUTE);
- if (def.definitionName.isEmpty()) {
- return null;
- }
-
- NodeList nodeList = definitionElement.getChildNodes();
- for (int i = 0; i < nodeList.getLength(); i++) {
- Node node = nodeList.item(i);
- String nodeName = node.getNodeName();
- if (nodeName.equals(TIME_STAMP_OUTPUT_FORMAT_ELEMENT)) {
- Element formatElement = (Element) node;
- def.timeStampOutputFormat = formatElement.getTextContent();
- } else if (nodeName.equals(INPUT_ELEMENT_ELEMENT)) {
- InputElement inputElement = extractInputElement((Element) node);
- if (inputElement != null) {
- if (def.rootInputElement == null) {
- def.rootInputElement = inputElement;
- } else {
- return null;
- }
- }
- } else if (nodeName.equals(OUTPUT_COLUMN_ELEMENT)) {
- Element outputColumnElement = (Element) node;
- OutputColumn outputColumn = new OutputColumn();
- outputColumn.name = outputColumnElement.getAttribute(NAME_ATTRIBUTE);
- def.outputs.add(outputColumn);
- }
- }
- return def;
- }
-
- private static InputElement extractInputElement(Element inputElementElement) {
- InputElement inputElement = new InputElement();
- inputElement.elementName = inputElementElement.getAttribute(NAME_ATTRIBUTE);
- inputElement.logEntry = (Boolean.toString(true).equals(inputElementElement.getAttribute(LOG_ENTRY_ATTRIBUTE))) ? true : false;
- NodeList nodeList = inputElementElement.getChildNodes();
- for (int i = 0; i < nodeList.getLength(); i++) {
- Node node = nodeList.item(i);
- String nodeName = node.getNodeName();
- if (nodeName.equals(INPUT_DATA_ELEMENT)) {
- Element inputDataElement = (Element) node;
- inputElement.inputName = inputDataElement.getAttribute(NAME_ATTRIBUTE);
- inputElement.inputAction = Integer.parseInt(inputDataElement.getAttribute(ACTION_ATTRIBUTE));
- inputElement.inputFormat = inputDataElement.getAttribute(FORMAT_ATTRIBUTE);
- } else if (nodeName.equals(ATTRIBUTE_ELEMENT)) {
- Element attributeElement = (Element) node;
- InputAttribute attribute = new InputAttribute();
- attribute.attributeName = attributeElement.getAttribute(NAME_ATTRIBUTE);
- NodeList attributeNodeList = attributeElement.getChildNodes();
- for (int j = 0; j < attributeNodeList.getLength(); j++) {
- Node attributeNode = attributeNodeList.item(j);
- String attributeNodeName = attributeNode.getNodeName();
- if (attributeNodeName.equals(INPUT_DATA_ELEMENT)) {
- Element inputDataElement = (Element) attributeNode;
- attribute.inputName = inputDataElement.getAttribute(NAME_ATTRIBUTE);
- attribute.inputAction = Integer.parseInt(inputDataElement.getAttribute(ACTION_ATTRIBUTE));
- attribute.inputFormat = inputDataElement.getAttribute(FORMAT_ATTRIBUTE);
- }
- }
- inputElement.addAttribute(attribute);
- } else if (nodeName.equals(INPUT_ELEMENT_ELEMENT)) {
- Element childInputElementElement = (Element) node;
- InputElement childInputElement = extractInputElement(childInputElementElement);
- if (childInputElement != null) {
- inputElement.addChild(childInputElement);
- }
- }
- }
- return inputElement;
- }
-
- /**
- * Delete a definition from the currently loaded ones.
- *
- * @param definitionName
- * The name of the definition to delete
- * @deprecated Use {@link #delete(String, String)}
- */
- @Deprecated
- public static void delete(String definitionName) {
- delete(TmfTraceType.CUSTOM_XML_CATEGORY, definitionName);
- }
-
- /**
- * Delete a definition from the currently loaded ones.
- *
- * @param categoryName
- * The category of the definition to delete
- * @param definitionName
- * The name of the definition to delete
- * @since 3.2
- */
- public static void delete(String categoryName, String definitionName) {
- try {
- DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
- DocumentBuilder db = dbf.newDocumentBuilder();
-
- // The following allows xml parsing without access to the dtd
- EntityResolver resolver = new EntityResolver() {
- @Override
- public InputSource resolveEntity(String publicId, String systemId) {
- String empty = ""; //$NON-NLS-1$
- ByteArrayInputStream bais = new ByteArrayInputStream(empty.getBytes());
- return new InputSource(bais);
- }
- };
- db.setEntityResolver(resolver);
-
- // The following catches xml parsing exceptions
- db.setErrorHandler(new ErrorHandler() {
- @Override
- public void error(SAXParseException saxparseexception) throws SAXException {
- }
-
- @Override
- public void warning(SAXParseException saxparseexception) throws SAXException {
- }
-
- @Override
- public void fatalError(SAXParseException saxparseexception) throws SAXException {
- throw saxparseexception;
- }
- });
-
- File file = new File(CUSTOM_XML_TRACE_DEFINITIONS_PATH_NAME);
- Document doc = db.parse(file);
-
- Element root = doc.getDocumentElement();
- if (!root.getNodeName().equals(CUSTOM_XML_TRACE_DEFINITION_ROOT_ELEMENT)) {
- return;
- }
-
- Element definitionElement = findDefinitionElement(root, categoryName, definitionName);
- if (definitionElement != null) {
- root.removeChild(definitionElement);
- }
-
- Transformer transformer = TransformerFactory.newInstance().newTransformer();
- transformer.setOutputProperty(OutputKeys.INDENT, "yes"); //$NON-NLS-1$
-
- // initialize StreamResult with File object to save to file
- StreamResult result = new StreamResult(new StringWriter());
- DOMSource source = new DOMSource(doc);
- transformer.transform(source, result);
- String xmlString = result.getWriter().toString();
-
- try (FileWriter writer = new FileWriter(file);) {
- writer.write(xmlString);
- }
-
- TmfTraceType.removeCustomTraceType(CustomXmlTrace.class, categoryName, definitionName);
- // Check if default definition needs to be reloaded
- TmfTraceType.addCustomTraceType(CustomXmlTrace.class, categoryName, definitionName);
-
- } catch (ParserConfigurationException | SAXException | IOException | TransformerFactoryConfigurationError | TransformerException e) {
- Activator.logError("Error deleteing CustomXmlTraceDefinition: definitionName=" + definitionName, e); //$NON-NLS-1$
- }
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/parsers/custom/Messages.java b/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/parsers/custom/Messages.java
deleted file mode 100644
index 40d4a85262..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/parsers/custom/Messages.java
+++ /dev/null
@@ -1,66 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013, 2014 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:
- * Matthew Khouzam - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.core.parsers.custom;
-
-import org.eclipse.osgi.util.NLS;
-
-/**
- * @since 3.0
- */
-@SuppressWarnings("javadoc")
-public class Messages extends NLS {
-
- private static final String BUNDLE_NAME = "org.eclipse.linuxtools.tmf.core.parsers.custom.messages"; //$NON-NLS-1$
-
- public static String CustomTrace_FileNotFound;
-
- // TODO: These strings should not be externalized
- public static String CustomTraceDefinition_messageTag;
- public static String CustomTraceDefinition_otherTag;
- public static String CustomTraceDefinition_timestampTag;
- public static String CustomTxtTraceDefinition_action;
- public static String CustomTxtTraceDefinition_cardinality;
- /** @since 3.2*/
- public static String CustomTxtTraceDefinition_category;
- public static String CustomTxtTraceDefinition_definition;
- public static String CustomTxtTraceDefinition_definitionRootElement;
- public static String CustomTxtTraceDefinition_format;
- public static String CustomTxtTraceDefinition_inputData;
- public static String CustomTxtTraceDefinition_inputLine;
- public static String CustomTxtTraceDefinition_max;
- public static String CustomTxtTraceDefinition_min;
- public static String CustomTxtTraceDefinition_name;
- public static String CustomTxtTraceDefinition_outputColumn;
- public static String CustomTxtTraceDefinition_regEx;
- public static String CustomTxtTraceDefinition_timestampOutputFormat;
- public static String CustomXmlTraceDefinition_action;
- public static String CustomXmlTraceDefinition_attribute;
- /** @since 3.2*/
- public static String CustomXmlTraceDefinition_category;
- public static String CustomXmlTraceDefinition_definition;
- public static String CustomXmlTraceDefinition_definitionRootElement;
- public static String CustomXmlTraceDefinition_format;
- public static String CustomXmlTraceDefinition_ignoreTag;
- public static String CustomXmlTraceDefinition_inputData;
- public static String CustomXmlTraceDefinition_inputElement;
- public static String CustomXmlTraceDefinition_logEntry;
- public static String CustomXmlTraceDefinition_name;
- public static String CustomXmlTraceDefinition_outputColumn;
- public static String CustomXmlTraceDefinition_timestampOutputFormat;
-
- static {
- NLS.initializeMessages(BUNDLE_NAME, Messages.class);
- }
-
- private Messages() {
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/parsers/custom/messages.properties b/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/parsers/custom/messages.properties
deleted file mode 100644
index 5f12afdde8..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/parsers/custom/messages.properties
+++ /dev/null
@@ -1,44 +0,0 @@
-###############################################################################
-# Copyright (c) 2013, 2014 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:
-# Ericsson - Initial API and implementation
-###############################################################################
-
-CustomTrace_FileNotFound=File not found
-
-CustomTraceDefinition_messageTag=Message
-CustomTraceDefinition_otherTag=Other
-CustomTraceDefinition_timestampTag=Time Stamp
-CustomTxtTraceDefinition_action=action
-CustomTxtTraceDefinition_cardinality=Cardinality
-CustomTxtTraceDefinition_category=category
-CustomTxtTraceDefinition_definition=Definition
-CustomTxtTraceDefinition_definitionRootElement=CustomTxtTraceDefinitionList
-CustomTxtTraceDefinition_format=format
-CustomTxtTraceDefinition_inputData=InputData
-CustomTxtTraceDefinition_inputLine=InputLine
-CustomTxtTraceDefinition_max=max
-CustomTxtTraceDefinition_min=min
-CustomTxtTraceDefinition_name=name
-CustomTxtTraceDefinition_outputColumn=OutputColumn
-CustomTxtTraceDefinition_regEx=RegEx
-CustomTxtTraceDefinition_timestampOutputFormat=TimeStampOutputFormat
-CustomXmlTraceDefinition_action=action
-CustomXmlTraceDefinition_attribute=Attribute
-CustomXmlTraceDefinition_category=category
-CustomXmlTraceDefinition_definition=Definition
-CustomXmlTraceDefinition_definitionRootElement=CustomXMLTraceDefinitionList
-CustomXmlTraceDefinition_format=format
-CustomXmlTraceDefinition_ignoreTag=Ignore
-CustomXmlTraceDefinition_inputData=InputData
-CustomXmlTraceDefinition_inputElement=InputElement
-CustomXmlTraceDefinition_logEntry=logentry
-CustomXmlTraceDefinition_name=name
-CustomXmlTraceDefinition_outputColumn=OutputColumn
-CustomXmlTraceDefinition_timestampOutputFormat=TimeStampOutputFormat
diff --git a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/project/model/TmfTraceCoreUtils.java b/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/project/model/TmfTraceCoreUtils.java
deleted file mode 100644
index 4747385b2b..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/project/model/TmfTraceCoreUtils.java
+++ /dev/null
@@ -1,84 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 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:
- * Bernd Hufmann - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.core.project.model;
-
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.Path;
-
-/**
- * Utility class for common tmf.core functionalities
- *
- * @since 3.2
- */
-public class TmfTraceCoreUtils {
-
- // ------------------------------------------------------------------------
- // Constants
- // ------------------------------------------------------------------------
- private static final boolean IS_WINDOWS = System.getProperty("os.name").contains("Windows") ? true : false; //$NON-NLS-1$ //$NON-NLS-2$
- private static final String INVALID_RESOURCE_CHARACTERS_WIN = "[\\\\/:*?\\\"<>]|\\.$"; //$NON-NLS-1$
- private static final String INVALID_RESOURCE_CHARACTERS_OTHER = "[/\0]"; //$NON-NLS-1$
- private static final char BACKSLASH_PUA = 0xF000 + '\\';
- private static final char COLON_PUA = 0xF000 + ':';
-
- /**
- * Validates whether the given input file or folder string is a valid
- * resource string for one of the given types. It replaces invalid
- * characters by '_' and prefixes the name with '_' if needed.
- *
- * @param input
- * a input name to validate
- * @return valid name
- */
- public static String validateName(String input) {
- String output = input;
- String pattern;
- if (IS_WINDOWS) {
- pattern = INVALID_RESOURCE_CHARACTERS_WIN;
- } else {
- pattern = INVALID_RESOURCE_CHARACTERS_OTHER;
- }
-
- output = output.replaceAll(pattern, String.valueOf('_'));
- if(!ResourcesPlugin.getWorkspace().validateName(output, IResource.FILE | IResource.FOLDER).isOK()) {
- output = '_' + output;
- }
- return output;
- }
-
- /**
- * Creates a new safe path, replacing any invalid Windows file name
- * characters '\' and ':' with characters in the Unicode Private Use Area.
- *
- * @param path
- * a string path
- * @return a safe path
- */
- public static Path newSafePath(String path) {
- return new Path(path.replace('\\', BACKSLASH_PUA).replace(':', COLON_PUA));
- }
-
- /**
- * Returns the string representation of a safe path, replacing characters
- * in the Unicode Private Use Area back to their original value.
- *
- * @param path
- * a safe path string
- * @return a string representation of this path
- */
- public static String safePathToString(String path) {
- return path.replace(BACKSLASH_PUA, '\\').replace(COLON_PUA, ':');
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/project/model/TmfTraceImportException.java b/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/project/model/TmfTraceImportException.java
deleted file mode 100644
index 115353c715..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/project/model/TmfTraceImportException.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2013, 2014 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:
- * Matthew Khouzam - Initial API and implementation
- **********************************************************************/
-
-package org.eclipse.linuxtools.tmf.core.project.model;
-
-/**
- * Tmf trace import exception
- *
- * @author Matthew Khouzam
- * @since 3.0
- */
-public class TmfTraceImportException extends Exception {
-
- private static final long serialVersionUID = -6902068313782751330L;
-
- /**
- * Constructs a new TmfTraceImportException with <code>null</code> as its
- * detail message. The cause is not initialized, and may subsequently be
- * initialized by a call to {@link #initCause}.
- */
- public TmfTraceImportException() {
- }
-
- /**
- * Constructs a new exception with the specified detail message. The cause
- * is not initialized, and may subsequently be initialized by a call to
- * {@link #initCause}.
- *
- * @param message
- * the detail message. The detail message is saved for later
- * retrieval by the {@link #getMessage()} method.
- */
- public TmfTraceImportException(String message) {
- super(message);
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/project/model/TmfTraceType.java b/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/project/model/TmfTraceType.java
deleted file mode 100644
index e949b524c1..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/project/model/TmfTraceType.java
+++ /dev/null
@@ -1,692 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011, 2014 Ericsson, École Polytechnique de Montréal
- *
- * 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:
- * Patrick Tasse - Initial API and implementation
- * Matthew Khouzam - Added import functionalities
- * Geneviève Bastien - Added support for experiment types
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.core.project.model;
-
-import java.io.File;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.Comparator;
-import java.util.HashMap;
-import java.util.LinkedHashMap;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.linuxtools.tmf.core.TmfCommonConstants;
-import org.eclipse.linuxtools.tmf.core.parsers.custom.CustomTxtTrace;
-import org.eclipse.linuxtools.tmf.core.parsers.custom.CustomTxtTraceDefinition;
-import org.eclipse.linuxtools.tmf.core.parsers.custom.CustomXmlTrace;
-import org.eclipse.linuxtools.tmf.core.parsers.custom.CustomXmlTraceDefinition;
-import org.eclipse.linuxtools.tmf.core.signal.TmfSignalManager;
-import org.eclipse.linuxtools.tmf.core.trace.ITmfTrace;
-
-/**
- * Utility class for accessing TMF trace type extensions from the platform's
- * extensions registry.
- *
- * @version 1.0
- * @author Patrick Tasse
- * @author Matthew Khouzam
- * @since 3.0
- */
-public final class TmfTraceType {
-
- // ------------------------------------------------------------------
- // Constants
- // ------------------------------------------------------------------
-
- private static final char SEPARATOR = ':';
-
- /** Extension point ID */
- public static final String TMF_TRACE_TYPE_ID = "org.eclipse.linuxtools.tmf.core.tracetype"; //$NON-NLS-1$
-
- /** Extension point element 'Category' */
- public static final String CATEGORY_ELEM = "category"; //$NON-NLS-1$
-
- /** Extension point element 'Type' */
- public static final String TYPE_ELEM = "type"; //$NON-NLS-1$
-
- /** Extension point element 'Experiment' */
- public static final String EXPERIMENT_ELEM = "experiment"; //$NON-NLS-1$
-
- /** Extension point attribute 'ID' */
- public static final String ID_ATTR = "id"; //$NON-NLS-1$
-
- /** Extension point attribute 'name' */
- public static final String NAME_ATTR = "name"; //$NON-NLS-1$
-
- /** Extension point attribute 'category' */
- public static final String CATEGORY_ATTR = "category"; //$NON-NLS-1$
-
- /** Extension point attribute 'trace_type' */
- public static final String TRACE_TYPE_ATTR = "trace_type"; //$NON-NLS-1$
-
- /** Extension point attribute 'event_type' */
- public static final String EVENT_TYPE_ATTR = "event_type"; //$NON-NLS-1$
-
- /** Extension point attribute 'experiment_type' */
- public static final String EXPERIMENT_TYPE_ATTR = "experiment_type"; //$NON-NLS-1$
-
- /** Extension point attribute 'isDirectory' */
- public static final String IS_DIR_ATTR = "isDirectory"; //$NON-NLS-1$
-
- /**
- * Custom text label used internally and therefore should not be
- * externalized
- */
- public static final String CUSTOM_TXT_CATEGORY = "Custom Text"; //$NON-NLS-1$
-
- /**
- * Custom XML label used internally and therefore should not be externalized
- */
- public static final String CUSTOM_XML_CATEGORY = "Custom XML"; //$NON-NLS-1$
-
- /** Default experiment type */
- public static final String DEFAULT_EXPERIMENT_TYPE = "org.eclipse.linuxtools.tmf.core.experiment.generic"; //$NON-NLS-1$
-
- // The mapping of available trace type IDs to their corresponding
- // configuration element
- private static final Map<String, IConfigurationElement> TRACE_TYPE_ATTRIBUTES = new HashMap<>();
- private static final Map<String, IConfigurationElement> TRACE_CATEGORIES = new HashMap<>();
- private static final Map<String, TraceTypeHelper> TRACE_TYPES = new LinkedHashMap<>();
-
- static {
- populateCategoriesAndTraceTypes();
- populateCustomTraceTypes();
- }
-
- /**
- * Enum to say whether a type applies to a trace or experiment
- *
- * @author Geneviève Bastien
- */
- public enum TraceElementType {
- /** Trace type applies to trace */
- TRACE,
- /** Trace type applies to experiment */
- EXPERIMENT,
- }
-
- // ------------------------------------------------------------------
- // Constructor
- // ------------------------------------------------------------------
-
- private TmfTraceType() {
- }
-
- // ------------------------------------------------------------------
- // Operations
- // ------------------------------------------------------------------
-
- /**
- * Retrieves the category name from the platform extension registry based on
- * the category ID
- *
- * @param categoryId
- * The category ID
- * @return the category name or empty string if not found
- */
- public static String getCategoryName(String categoryId) {
- IConfigurationElement[] elements = Platform.getExtensionRegistry()
- .getConfigurationElementsFor(TMF_TRACE_TYPE_ID);
- for (IConfigurationElement element : elements) {
- if (element.getName().equals(CATEGORY_ELEM) && element.getAttribute(ID_ATTR).equals(categoryId)) {
- return element.getAttribute(NAME_ATTR);
- }
- }
- return ""; //$NON-NLS-1$
- }
-
- /**
- * Retrieves all configuration elements from the platform extension registry
- * for the trace type extension that apply to traces and not experiments.
- *
- * @return an array of trace type configuration elements
- */
- public static IConfigurationElement[] getTypeElements() {
- IConfigurationElement[] elements = Platform.getExtensionRegistry()
- .getConfigurationElementsFor(TMF_TRACE_TYPE_ID);
- List<IConfigurationElement> typeElements = new LinkedList<>();
- for (IConfigurationElement element : elements) {
- if (element.getName().equals(TYPE_ELEM)) {
- typeElements.add(element);
- }
- }
- return typeElements.toArray(new IConfigurationElement[typeElements.size()]);
- }
-
- /**
- * Retrieve the TraceTypeHelper for a given trace type ID
- *
- * @param id
- * The trace type ID
- * @return The corresponding TraceTypeHelper, or null if there is none for
- * the specified ID
- * @deprecated Use {@link #getTraceType(String)}
- */
- @Deprecated
- public static TraceTypeHelper getTraceTypeHelper(String id) {
- return TRACE_TYPES.get(id);
- }
-
- /**
- * Get an iterable view of the existing trace type IDs.
- *
- * @return The currently registered trace type IDs
- */
- public static Iterable<String> getTraceTypeIDs() {
- return TRACE_TYPES.keySet();
- }
-
- /**
- * Get an iterable view of the existing trace type helpers.
- *
- * @return The currently registered trace type helpers
- */
- public static Iterable<TraceTypeHelper> getTraceTypeHelpers() {
- return TRACE_TYPES.values();
- }
-
- /**
- * Returns a list of "category:tracetype , ..."
- *
- * Returns only trace types, not experiment types
- *
- * @return returns a list of "category:tracetype , ..."
- */
- public static String[] getAvailableTraceTypes() {
- return getAvailableTraceTypes(null);
- }
-
- /**
- * Returns a list of "category:tracetype , ..." sorted by given comparator.
- *
- * Returns only trace types, not experiment types
- *
- * @param comparator
- * Comparator class (type String) or null for alphabetical order.
- * @return sorted list according to the given comparator
- */
- public static String[] getAvailableTraceTypes(Comparator<String> comparator) {
-
- // Generate the list of Category:TraceType to populate the ComboBox
- List<String> traceTypes = new ArrayList<>();
-
- for (String key : TRACE_TYPES.keySet()) {
- TraceTypeHelper tt = TRACE_TYPES.get(key);
- if (!tt.isExperimentType()) {
- traceTypes.add(tt.getCategoryName() + SEPARATOR + tt.getName());
- }
- }
-
- if (comparator == null) {
- Collections.sort(traceTypes);
- } else {
- Collections.sort(traceTypes, comparator);
- }
-
- // Format result
- return traceTypes.toArray(new String[traceTypes.size()]);
- }
-
- /**
- * Gets the custom trace types (custom text and friends)
- *
- * @param type
- * the type to get (Text, xml or other...)
- * @return the list of custom trace types
- */
- public static List<String> getCustomTraceTypes(String type) {
- List<String> traceTypes = new ArrayList<>();
- if (type.equals(CUSTOM_TXT_CATEGORY)) {
- for (CustomTxtTraceDefinition def : CustomTxtTraceDefinition.loadAll()) {
- String traceTypeName = def.definitionName;
- traceTypes.add(traceTypeName);
- }
- }
- if (type.equals(CUSTOM_XML_CATEGORY)) {
- for (CustomXmlTraceDefinition def : CustomXmlTraceDefinition.loadAll()) {
- String traceTypeName = def.definitionName;
- traceTypes.add(traceTypeName);
- }
- }
- return traceTypes;
- }
-
- /**
- * Gets all the custom trace types
- *
- * @return the list of custom trace types
- */
- public static List<String> getCustomTraceTypes() {
-
- List<String> traceTypes = new ArrayList<>();
- for (CustomTxtTraceDefinition def : CustomTxtTraceDefinition.loadAll()) {
- String traceTypeName = def.definitionName;
- traceTypes.add(traceTypeName);
- }
- for (CustomXmlTraceDefinition def : CustomXmlTraceDefinition.loadAll()) {
- String traceTypeName = def.definitionName;
- traceTypes.add(traceTypeName);
- }
- return traceTypes;
- }
-
- private static void populateCustomTraceTypes() {
- // add the custom trace types
- for (CustomTxtTraceDefinition def : CustomTxtTraceDefinition.loadAll()) {
- String traceTypeId = CustomTxtTrace.class.getCanonicalName() + SEPARATOR + def.categoryName + SEPARATOR + def.definitionName;
- ITmfTrace trace = new CustomTxtTrace(def);
- TraceTypeHelper tt = new TraceTypeHelper(traceTypeId, def.categoryName, def.definitionName, trace, false, TraceElementType.TRACE);
- TRACE_TYPES.put(traceTypeId, tt);
- // Deregister trace as signal handler because it is only used for validation
- TmfSignalManager.deregister(trace);
- }
- for (CustomXmlTraceDefinition def : CustomXmlTraceDefinition.loadAll()) {
- String traceTypeId = CustomXmlTrace.class.getCanonicalName() + SEPARATOR + def.categoryName + SEPARATOR + def.definitionName;
- ITmfTrace trace = new CustomXmlTrace(def);
- TraceTypeHelper tt = new TraceTypeHelper(traceTypeId, def.categoryName, def.definitionName, trace, false, TraceElementType.TRACE);
- TRACE_TYPES.put(traceTypeId, tt);
- // Deregister trace as signal handler because it is only used for validation
- TmfSignalManager.deregister(trace);
- }
- }
-
- /**
- * Add or replace a custom trace type
- *
- * @param category
- * The custom parser category
- * @param definitionName
- * The custom parser definition name to add or replace
- * @deprecated Use {@link #addCustomTraceType(Class, String, String)}
- */
- @Deprecated
- public static void addCustomTraceType(String category, String definitionName) {
- if (category.equals(CUSTOM_TXT_CATEGORY)) {
- addCustomTraceType(CustomTxtTrace.class, category, definitionName);
- } else if (category.equals(CUSTOM_XML_CATEGORY)) {
- addCustomTraceType(CustomXmlTrace.class, category, definitionName);
- }
- }
-
- /**
- * Add or replace a custom trace type
- *
- * @param traceClass
- * The custom trace class, either {@link CustomTxtTrace} or
- * {@link CustomXmlTrace}
- * @param category
- * The custom parser category
- * @param definitionName
- * The custom parser definition name to add or replace
- */
- public static void addCustomTraceType(Class<? extends ITmfTrace> traceClass, String category, String definitionName) {
- String traceTypeId = null;
- ITmfTrace trace = null;
-
- if (traceClass.equals(CustomTxtTrace.class)) {
- traceTypeId = CustomTxtTrace.class.getCanonicalName() + SEPARATOR + category + SEPARATOR + definitionName;
- CustomTxtTraceDefinition def = CustomTxtTraceDefinition.load(category, definitionName);
- if (def != null) {
- trace = new CustomTxtTrace(def);
- }
- } else if (traceClass.equals(CustomXmlTrace.class)) {
- traceTypeId = CustomXmlTrace.class.getCanonicalName() + SEPARATOR + category + SEPARATOR + definitionName;
- CustomXmlTraceDefinition def = CustomXmlTraceDefinition.load(category, definitionName);
- if (def != null) {
- trace = new CustomXmlTrace(def);
- }
- }
-
- if (traceTypeId != null && trace != null) {
- TraceTypeHelper helper = TRACE_TYPES.get(traceTypeId);
- if (helper != null) {
- helper.getTrace().dispose();
- }
- TraceTypeHelper tt = new TraceTypeHelper(traceTypeId, category, definitionName, trace, false, TraceElementType.TRACE);
- TRACE_TYPES.put(traceTypeId, tt);
- // Deregister trace as signal handler because it is only used for validation
- TmfSignalManager.deregister(trace);
- }
- }
-
- /**
- * Remove a custom trace type
- *
- * @param category
- * The custom parser category
- * @param definitionName
- * The custom parser definition name to add or replace
- * @deprecated Use {@link #removeCustomTraceType(Class, String, String)}
- */
- @Deprecated
- public static void removeCustomTraceType(String category, String definitionName) {
- if (category.equals(CUSTOM_TXT_CATEGORY)) {
- removeCustomTraceType(CustomTxtTrace.class, category, definitionName);
- } else if (category.equals(CUSTOM_XML_CATEGORY)) {
- removeCustomTraceType(CustomXmlTrace.class, category, definitionName);
- }
- }
-
- /**
- * Remove a custom trace type
- *
- * @param traceClass
- * The custom trace class, either {@link CustomTxtTrace} or
- * {@link CustomXmlTrace}
- * @param category
- * The custom parser category
- * @param definitionName
- * The custom parser definition name to add or replace
- */
- public static void removeCustomTraceType(Class<? extends ITmfTrace> traceClass, String category, String definitionName) {
- String traceTypeId = traceClass.getCanonicalName() + SEPARATOR + category + SEPARATOR + definitionName;
- TraceTypeHelper helper = TRACE_TYPES.remove(traceTypeId);
- if (helper != null) {
- helper.getTrace().dispose();
- }
- }
-
- /**
- * Gets a trace type for a given canonical id
- *
- * @param id
- * the ID of the trace
- * @return the return type
- */
- public static TraceTypeHelper getTraceType(String id) {
- return TRACE_TYPES.get(id);
- }
-
- private static void populateCategoriesAndTraceTypes() {
- if (TRACE_TYPES.isEmpty()) {
- // Populate the Categories and Trace Types
- IConfigurationElement[] config = Platform.getExtensionRegistry().getConfigurationElementsFor(TmfTraceType.TMF_TRACE_TYPE_ID);
- for (IConfigurationElement ce : config) {
- String elementName = ce.getName();
- if (elementName.equals(TmfTraceType.TYPE_ELEM)) {
- String traceTypeId = ce.getAttribute(TmfTraceType.ID_ATTR);
- TRACE_TYPE_ATTRIBUTES.put(traceTypeId, ce);
- } else if (elementName.equals(TmfTraceType.CATEGORY_ELEM)) {
- String categoryId = ce.getAttribute(TmfTraceType.ID_ATTR);
- TRACE_CATEGORIES.put(categoryId, ce);
- } else if (elementName.equals(TmfTraceType.EXPERIMENT_ELEM)) {
- String experimentTypeId = ce.getAttribute(TmfTraceType.ID_ATTR);
- TRACE_TYPE_ATTRIBUTES.put(experimentTypeId, ce);
- }
- }
- // create the trace types
- for (String typeId : TRACE_TYPE_ATTRIBUTES.keySet()) {
- IConfigurationElement ce = TRACE_TYPE_ATTRIBUTES.get(typeId);
- final String category = getCategory(ce);
- final String attribute = ce.getAttribute(TmfTraceType.NAME_ATTR);
- ITmfTrace trace = null;
- TraceElementType elementType = TraceElementType.TRACE;
- try {
- if (ce.getName().equals(TmfTraceType.TYPE_ELEM)) {
- trace = (ITmfTrace) ce.createExecutableExtension(TmfTraceType.TRACE_TYPE_ATTR);
- } else if (ce.getName().equals(TmfTraceType.EXPERIMENT_ELEM)) {
- trace = (ITmfTrace) ce.createExecutableExtension(TmfTraceType.EXPERIMENT_TYPE_ATTR);
- elementType = TraceElementType.EXPERIMENT;
- }
- if (trace == null) {
- break;
- }
- // Deregister trace as signal handler because it is only
- // used for validation
- TmfSignalManager.deregister(trace);
-
- final String dirString = ce.getAttribute(TmfTraceType.IS_DIR_ATTR);
- boolean isDir = Boolean.parseBoolean(dirString);
-
- TraceTypeHelper tt = new TraceTypeHelper(typeId, category, attribute, trace, isDir, elementType);
- TRACE_TYPES.put(typeId, tt);
- } catch (CoreException e) {
- }
-
- }
- }
- }
-
- private static String getCategory(IConfigurationElement ce) {
- final String categoryId = ce.getAttribute(TmfTraceType.CATEGORY_ATTR);
- if (categoryId != null) {
- IConfigurationElement category = TRACE_CATEGORIES.get(categoryId);
- if (category != null && !category.getName().equals("")) { //$NON-NLS-1$
- return category.getAttribute(TmfTraceType.NAME_ATTR);
- }
- }
- return "[no category]"; //$NON-NLS-1$
- }
-
- /**
- * Returns the list of trace categories
- *
- * @return the list of trace categories
- */
- public static List<String> getTraceCategories() {
- List<String> categoryNames = new ArrayList<>();
- for (String key : TRACE_TYPES.keySet()) {
- final String categoryName = TRACE_TYPES.get(key).getCategoryName();
- if (!categoryNames.contains(categoryName)) {
- categoryNames.add(categoryName);
- }
- }
- return categoryNames;
- }
-
- /**
- * Get the trace type helper classes from category name. Return only the
- * trace types, not the experiment types
- *
- * @param categoryName
- * the categoryName to lookup
- * @return a list of trace type helper classes {@link TraceTypeHelper}
- */
- public static List<TraceTypeHelper> getTraceTypes(String categoryName) {
- List<TraceTypeHelper> traceNames = new ArrayList<>();
- for (String key : TRACE_TYPES.keySet()) {
- if (!TRACE_TYPES.get(key).isExperimentType()) {
- final String storedCategoryName = TRACE_TYPES.get(key).getCategoryName();
- if (storedCategoryName.equals(categoryName)) {
- traceNames.add(TRACE_TYPES.get(key));
- }
- }
- }
- return traceNames;
- }
-
- /**
- * Validate a trace type
- *
- * @param traceTypeName
- * the trace category (canonical name)
- * @param fileName
- * the file name (and path)
- * @return true if the trace is of a valid type
- */
- public static boolean validate(String traceTypeName, String fileName) {
- if (traceTypeName != null && !traceTypeName.isEmpty()) {
- final TraceTypeHelper traceTypeHelper = TRACE_TYPES.get(traceTypeName);
- if (traceTypeHelper == null || !traceTypeHelper.validate(fileName).isOK()) {
- return false;
- }
- }
- return true;
- }
-
- /**
- * Validate a trace
- *
- * @param traceToValidate
- * the trace category (canonical name)
- * @return true if the trace is of a valid type
- */
- public static boolean validate(TraceValidationHelper traceToValidate) {
- return validate(traceToValidate.getTraceType(), traceToValidate.getTraceToScan());
- }
-
- /**
- * Validate a list of files with a tracetype
- *
- * @param traceTypeName
- * the trace category (canonical name)
- * @param traces
- * the list of files to check if they are trace
- * @return true if all the traces are valid
- */
- public static boolean validateTraceFiles(String traceTypeName, List<File> traces) {
- if (traceTypeName != null && !"".equals(traceTypeName) && //$NON-NLS-1$
- !traceTypeName.startsWith(TmfTraceType.CUSTOM_TXT_CATEGORY) && !traceTypeName.startsWith(TmfTraceType.CUSTOM_XML_CATEGORY)) {
- for (File trace : traces) {
- if (!validate(traceTypeName, trace.getAbsolutePath())) {
- return false;
- }
- }
- }
- return true;
- }
-
- /**
- * Get a configuration element for a given name
- *
- * @param traceType
- * the name canonical
- * @return the configuration element, can be null
- */
- public static IConfigurationElement getTraceAttributes(String traceType) {
- return TRACE_TYPE_ATTRIBUTES.get(traceType);
- }
-
- /**
- * Find the id of a trace type by its parameters
- *
- * @param category
- * like "ctf" or "custom text"
- * @param traceType
- * like "kernel"
- * @return an id like "org.eclipse.linuxtools.blabla...
- */
- public static String getTraceTypeId(String category, String traceType) {
- for (String key : TRACE_TYPES.keySet()) {
- if (TRACE_TYPES.get(key).getCategoryName().equals(category.trim()) && TRACE_TYPES.get(key).getName().equals(traceType.trim())) {
- return key;
- }
- }
- return null;
- }
-
- /**
- * Gets the custom trace type ID from the custom trace name
- *
- * @param traceType
- * The trace type in human form (category:name)
- * @return the trace type ID or null if the trace is not a custom one
- * @deprecated Use {@link #getTraceTypeId(String, String)}
- */
- @Deprecated
- public static String getCustomTraceTypeId(String traceType) {
- String traceTypeToken[] = traceType.split(":", 2); //$NON-NLS-1$
- if (traceTypeToken.length == 2) {
- return getTraceTypeId(traceTypeToken[0], traceTypeToken[1]);
- }
- return null;
- }
-
- /**
- * Is the trace a custom (user-defined) trace type. These are the traces
- * like : text and xml defined by the custom trace wizard.
- *
- * @param traceType
- * the trace type in human form (category:name)
- * @return true if the trace is a custom type
- * @deprecated Use {@link #getTraceTypeId(String, String)} and check prefix
- */
- @Deprecated
- public static boolean isCustomTrace(String traceType) {
- String traceTypeId = getCustomTraceTypeId(traceType);
- if (traceTypeId != null) {
- return traceTypeId.startsWith(CustomTxtTrace.class.getCanonicalName() + SEPARATOR) ||
- traceTypeId.startsWith(CustomXmlTrace.class.getCanonicalName() + SEPARATOR);
- }
- return false;
- }
-
- /**
- * Checks if a trace is a valid directory trace
- * @param path
- * the file name (and path)
- * @return <code>true</code> if the trace is a valid directory trace else <code>false</code>
- */
- public static boolean isDirectoryTrace(String path) {
- final Iterable<TraceTypeHelper> traceTypeHelpers = getTraceTypeHelpers();
- for (TraceTypeHelper traceTypeHelper : traceTypeHelpers) {
- if (traceTypeHelper.isDirectoryTraceType() &&
- traceTypeHelper.validate(path).isOK()) {
- return true;
- }
- }
- return false;
- }
-
- /**
- * @param traceType
- * the trace type
- * @return <code>true</code> it is a directory trace type else else <code>false</code>
- */
- public static boolean isDirectoryTraceType(String traceType) {
- if (traceType != null) {
- TraceTypeHelper traceTypeHelper = getTraceType(traceType);
- if (traceTypeHelper != null) {
- return traceTypeHelper.isDirectoryTraceType();
- }
- return false;
- }
- throw new IllegalArgumentException("Invalid trace type string: " + traceType); //$NON-NLS-1$
- }
-
- /**
- * Get the trace type id for a resource
- *
- * @param resource
- * the resource
- * @return the trace type id or null if it is not set
- * @throws CoreException
- * if the trace type id cannot be accessed
- * @since 3.2
- */
- public static String getTraceTypeId(IResource resource) throws CoreException {
- String traceTypeId = resource.getPersistentProperties().get(TmfCommonConstants.TRACETYPE);
- // Fix custom trace type id with old class name or without category name for backward compatibility
- if (traceTypeId != null) {
- int index = traceTypeId.lastIndexOf(':');
- if (index != -1) {
- if (traceTypeId.contains(CustomTxtTrace.class.getSimpleName() + ':') && traceTypeId.indexOf(':') == index) {
- traceTypeId = CustomTxtTrace.class.getCanonicalName() + ':' +
- TmfTraceType.CUSTOM_TXT_CATEGORY + traceTypeId.substring(index);
- } else if (traceTypeId.contains(CustomXmlTrace.class.getSimpleName() + ':') && traceTypeId.indexOf(':') == index) {
- traceTypeId = CustomXmlTrace.class.getCanonicalName() + ':' +
- TmfTraceType.CUSTOM_XML_CATEGORY + traceTypeId.substring(index);
- }
- }
- }
- return traceTypeId;
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/project/model/TraceTypeHelper.java b/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/project/model/TraceTypeHelper.java
deleted file mode 100644
index b647038809..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/project/model/TraceTypeHelper.java
+++ /dev/null
@@ -1,167 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013, 2014 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:
- * Matthew Khouzam - Initial API and implementation
- * Bernd Hufmann - Handling of directory traces types
- * Geneviève Bastien - Added support of experiment types
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.core.project.model;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.jdt.annotation.NonNull;
-import org.eclipse.linuxtools.tmf.core.project.model.TmfTraceType.TraceElementType;
-import org.eclipse.linuxtools.tmf.core.trace.ITmfTrace;
-import org.eclipse.linuxtools.tmf.core.trace.TraceValidationStatus;
-
-/**
- * TraceTypeHelper, a helper that can link a few names to a configuration element
- * and a trace
- *
- * @author Matthew Khouzam
- * @since 3.0
- */
-public class TraceTypeHelper {
-
- private final String fName;
- private final String fCategoryName;
- private final String fCanonicalName;
- private final TraceElementType fElementType;
- @NonNull
- private final ITmfTrace fTrace;
- private final boolean fIsDirectory;
-
- /**
- * Constructor for a trace type helper. It is a link between a canonical
- * (hard to read) name, a category name, a name and a trace object. It is
- * used for trace validation.
- *
- * @param canonicalName
- * The "path" of the tracetype
- * @param categoryName
- * the category of the trace type
- * @param name
- * the name of the trace
- * @param trace
- * an object of the trace type
- * @param isDir
- * flag indicating whether the trace type is for a directory or file trace
- * @param elementType
- * True if this helper is for an experiment type
- */
- public TraceTypeHelper(String canonicalName, String categoryName, String name, @NonNull ITmfTrace trace, boolean isDir, TraceElementType elementType) {
- fName = name;
- fCategoryName = categoryName;
- fCanonicalName = canonicalName;
- fTrace = trace;
- fIsDirectory = isDir;
- fElementType = elementType;
- }
-
- /**
- * Get the name
- *
- * @return the name
- */
- public String getName() {
- return fName;
- }
-
- /**
- * Get the category name
- *
- * @return the category name
- */
- public String getCategoryName() {
- return fCategoryName;
- }
-
- /**
- * Get the canonical name
- *
- * @return the canonical Name
- */
- public String getCanonicalName() {
- return fCanonicalName;
- }
-
- /**
- * Is the trace of this type?
- *
- * @param path
- * the trace to validate
- * @return whether it passes the validation
- */
- public IStatus validate(String path) {
- return fTrace.validate(null, path);
- }
-
- /**
- * Validate a trace against this trace type with confidence level
- *
- * @param path
- * the trace to validate
- * @return the confidence level (0 is lowest) or -1 if validation fails
- * @since 3.0
- */
- public int validateWithConfidence(String path) {
- int result = -1;
- IStatus status = fTrace.validate(null, path);
- if (status.isOK()) {
- result = 0;
- if (status instanceof TraceValidationStatus) {
- result = ((TraceValidationStatus) status).getConfidence();
- }
- }
- return result;
- }
-
- /**
- * Get an object of the trace type
- * @return an object of the trace type
- * @since 2.1
- */
- public ITmfTrace getTrace() {
- return fTrace;
- }
-
- /**
- * Return whether this helper applies to a trace type or experiment type
- *
- * @return True if experiment type, false otherwise
- */
- public boolean isExperimentType() {
- return fElementType == TraceElementType.EXPERIMENT;
- }
-
- /**
- * Get the class associated with this trace type
- *
- * @return The trace class
- * @since 3.0
- */
- public Class<? extends ITmfTrace> getTraceClass() {
- return fTrace.getClass();
- }
-
- /**
- * Returns whether trace type is for a directory trace or a single file trace
- * @return <code>true</code> if trace type is for a directory trace else <code>false</code>
- */
- public boolean isDirectoryTraceType() {
- return fIsDirectory;
- }
-
-
- @Override
- public String toString() {
- return fName;
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/project/model/TraceValidationHelper.java b/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/project/model/TraceValidationHelper.java
deleted file mode 100644
index b95ddadb43..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/project/model/TraceValidationHelper.java
+++ /dev/null
@@ -1,99 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013, 2014 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:
- * Matthew Khouzam - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.core.project.model;
-
-/**
- * Trace import helper class
- *
- * @author Matthew Khouzam
- * @since 3.0
- */
-public class TraceValidationHelper implements Comparable<TraceValidationHelper> {
-
- private final String fTraceToScan;
- private final String fTraceType;
-
- /**
- * Trace To validate constructor
- *
- * @param traceToScan
- * the path of the trace
- * @param traceType
- * the trace type of the trace to add (canonical name)
- */
- public TraceValidationHelper(String traceToScan, String traceType) {
- this.fTraceToScan = traceToScan;
- this.fTraceType = traceType;
- }
-
- /**
- * @return the trace filename
- */
- public String getTraceToScan() {
- return fTraceToScan;
- }
-
- /**
- * @return the trace type canonical name
- */
- public String getTraceType() {
- return fTraceType;
- }
-
- @Override
- public int hashCode() {
- final int prime = 31;
- int result = 1;
- result = prime * result + ((fTraceToScan == null) ? 0 : fTraceToScan.hashCode());
- result = prime * result + ((fTraceType == null) ? 0 : fTraceType.hashCode());
- return result;
- }
-
- @Override
- public boolean equals(Object obj) {
- if (this == obj) {
- return true;
- }
- if (obj == null) {
- return false;
- }
- if (!(obj instanceof TraceValidationHelper)) {
- return false;
- }
- TraceValidationHelper other = (TraceValidationHelper) obj;
- if (fTraceToScan == null) {
- if (other.fTraceToScan != null) {
- return false;
- }
- } else if (!fTraceToScan.equals(other.fTraceToScan)) {
- return false;
- }
- if (fTraceType == null) {
- if (other.fTraceType != null) {
- return false;
- }
- } else if (!fTraceType.equals(other.fTraceType)) {
- return false;
- }
- return true;
- }
-
- @Override
- public int compareTo(TraceValidationHelper o) {
- int retVal = fTraceToScan.compareTo(o.getTraceToScan());
- if (retVal == 0) {
- retVal = fTraceType.compareTo(o.fTraceType);
- }
- return retVal;
- }
-} \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/request/ITmfEventRequest.java b/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/request/ITmfEventRequest.java
deleted file mode 100644
index 8f0aca9b4b..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/request/ITmfEventRequest.java
+++ /dev/null
@@ -1,199 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009, 2013 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
- * Alexandre Montplaisir - Merge with ITmfDataRequest
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.core.request;
-
-import org.eclipse.jdt.annotation.NonNull;
-import org.eclipse.linuxtools.tmf.core.event.ITmfEvent;
-import org.eclipse.linuxtools.tmf.core.timestamp.TmfTimeRange;
-
-/**
- * The TMF event request
- *
- * @author Francois Chouinard
- */
-public interface ITmfEventRequest {
-
- // ------------------------------------------------------------------------
- // Constants
- // ------------------------------------------------------------------------
-
- /** The request count for all the events
- * @since 3.0*/
- static final int ALL_DATA = Integer.MAX_VALUE;
-
- /** The request execution type/priority
- * @since 3.0*/
- enum ExecutionType {
- /**
- * Backgroung, long-running, lower priority request
- */
- BACKGROUND,
- /**
- * Foreground, short-running, high priority request
- */
- FOREGROUND
- }
-
- // ------------------------------------------------------------------------
- // Accessors
- // ------------------------------------------------------------------------
-
- /**
- * @return request data type (T)
- */
- Class<? extends ITmfEvent> getDataType();
-
- /**
- * @return request ID
- */
- int getRequestId();
-
- /**
- * @return request ID
- * @since 3.0
- */
- ExecutionType getExecType();
-
- /**
- * @return the index of the first event requested
- */
- long getIndex();
-
- /**
- * @return the number of requested events
- */
- int getNbRequested();
-
- /**
- * @return the number of events read so far
- */
- int getNbRead();
-
- /**
- * @return the requested time range
- */
- TmfTimeRange getRange();
-
- // ------------------------------------------------------------------------
- // Request state predicates
- // ------------------------------------------------------------------------
-
- /**
- * @return true if the request is still active
- */
- boolean isRunning();
-
- /**
- * @return true if the request is completed
- */
- boolean isCompleted();
-
- /**
- * @return true if the request has failed
- */
- boolean isFailed();
-
- /**
- * @return true if the request was cancelled
- */
- boolean isCancelled();
-
- // ------------------------------------------------------------------------
- // Data handling
- // ------------------------------------------------------------------------
-
- /**
- * Process the piece of data
- *
- * @param event
- * The trace event to process
- */
- void handleData(@NonNull ITmfEvent event);
-
- // ------------------------------------------------------------------------
- // Request notifications
- // ------------------------------------------------------------------------
-
- /**
- * Request processing start notification
- */
- void handleStarted();
-
- /**
- * Request processing completion notification
- */
- void handleCompleted();
-
- /**
- * Request successful completion notification
- */
- void handleSuccess();
-
- /**
- * Request failure notification
- */
- void handleFailure();
-
- /**
- * Request cancellation notification
- */
- void handleCancel();
-
- /**
- * To suspend the client thread until the request completes (or is
- * cancelled).
- *
- * @throws InterruptedException
- * thrown if the request was cancelled
- */
- void waitForCompletion() throws InterruptedException;
-
- // ------------------------------------------------------------------------
- // Request state modifiers
- // ------------------------------------------------------------------------
-
- /**
- * Put the request in the running state
- */
- void start();
-
- /**
- * Put the request in the completed state
- */
- void done();
-
- /**
- * Put the request in the failed completed state
- */
- void fail();
-
- /**
- * Put the request in the cancelled completed state
- */
- void cancel();
-
- // ------------------------------------------------------------------------
- // Others
- // ------------------------------------------------------------------------
-
- /**
- * This method is called by the event provider to set the index
- * corresponding to the time range start time
- *
- * @param index
- * The start time index
- */
- void setStartIndex(int index);
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/request/TmfEventRequest.java b/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/request/TmfEventRequest.java
deleted file mode 100644
index c37bb1173a..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/request/TmfEventRequest.java
+++ /dev/null
@@ -1,426 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009, 2013 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
- * Alexandre Montplaisir - Consolidate constructors, merge with TmfDataRequest
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.core.request;
-
-import java.util.concurrent.CountDownLatch;
-
-import org.eclipse.linuxtools.internal.tmf.core.TmfCoreTracer;
-import org.eclipse.linuxtools.tmf.core.event.ITmfEvent;
-import org.eclipse.linuxtools.tmf.core.timestamp.TmfTimeRange;
-
-/**
- * TmfEventRequest's are used to obtain series of events from an event provider.
- * Open ranges can be used, especially for continuous streaming.
- * <p>
- * The request is processed asynchronously by a TmfEventProvider and, as events
- * become available, handleData() is invoked synchronously for each one.
- * <p>
- * The TmfEventProvider indicates that the request is completed by calling
- * done(). The request can be cancelled at any time with cancel().
- * <p>
- * Typical usage:
- *
- * <pre><code>
- * TmfEventRequest request = new TmfEventRequest(DataType.class, range, startIndex, nbEvents, priority) {
- *
- * public void handleData(ITmfEvent event) {
- * // do something with the event
- * }
- *
- * public void handleSuccess() {
- * // callback for when the request completes successfully
- * }
- *
- * public void handleFailure() {
- * // callback for when the request fails due to an error
- * }
- *
- * public void handleCancel() {
- * // callback for when the request is cancelled via .cancel()
- * }
- *
- * };
- *
- * eventProvider.sendRequest(request);
- * </code></pre>
- *
- *
- * TODO: Implement request failures (codes, etc...)
- *
- * @author Francois Chouinard
- * @since 3.0
- */
-public abstract class TmfEventRequest implements ITmfEventRequest {
-
- // ------------------------------------------------------------------------
- // Constants
- // ------------------------------------------------------------------------
-
- private static int fRequestNumber = 0;
-
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
-
- private final Class<? extends ITmfEvent> fDataType;
- private final ExecutionType fExecType;
-
- /** A unique request ID */
- private final int fRequestId;
-
- /** The requested events time range */
- private final TmfTimeRange fRange;
-
- /** The index (rank) of the requested event
- * @since 3.0*/
- protected long fIndex;
-
- /** The number of requested events (ALL_DATA for all)
- * @since 3.0*/
- protected int fNbRequested;
-
- /** The number of reads so far */
- private int fNbRead;
-
- private final CountDownLatch startedLatch = new CountDownLatch(1);
- private final CountDownLatch completedLatch = new CountDownLatch(1);
-
- private boolean fRequestRunning;
- private boolean fRequestCompleted;
- private boolean fRequestFailed;
- private boolean fRequestCanceled;
-
- // ------------------------------------------------------------------------
- // Constructors
- // ------------------------------------------------------------------------
-
- /**
- * Request 'n' events of a given type, for the *whole* trace, at the given
- * priority.
- *
- * @param dataType
- * The requested data type.
- * @param index
- * The index of the first event to retrieve. You can use '0' to
- * start at the beginning of the trace.
- * @param nbRequested
- * The number of events requested. You can use
- * {@link TmfEventRequest#ALL_DATA} to indicate you want all
- * events in the trace.
- * @param priority
- * The requested execution priority.
- */
- public TmfEventRequest(Class<? extends ITmfEvent> dataType,
- long index,
- int nbRequested,
- ExecutionType priority) {
- this(dataType, TmfTimeRange.ETERNITY, index, nbRequested, priority);
- }
-
- /**
- * Request 'n' events of a given type, for the given time range, at the
- * given priority.
- *
- * @param dataType
- * The requested data type.
- * @param range
- * The time range of the requested events. You can use
- * {@link TmfTimeRange#ETERNITY} to indicate you want to cover
- * the whole trace.
- * @param index
- * The index of the first event to retrieve. You can use '0' to
- * start at the beginning of the trace.
- * @param nbRequested
- * The number of events requested. You can use
- * {@link TmfEventRequest#ALL_DATA} to indicate you want all
- * events in the time range.
- * @param priority
- * The requested execution priority.
- */
- public TmfEventRequest(Class<? extends ITmfEvent> dataType,
- TmfTimeRange range,
- long index,
- int nbRequested,
- ExecutionType priority) {
-
- fRequestId = fRequestNumber++;
- fDataType = dataType;
- fIndex = index;
- fNbRequested = nbRequested;
- fExecType = priority;
- fRange = range;
- fNbRead = 0;
-
- fRequestRunning = false;
- fRequestCompleted = false;
- fRequestFailed = false;
- fRequestCanceled = false;
-
- /* Setup the request tracing if it's enabled */
- if (TmfCoreTracer.isRequestTraced()) {
- String type = getClass().getName();
- type = type.substring(type.lastIndexOf('.') + 1);
- @SuppressWarnings("nls")
- String message = "CREATED "
- + (getExecType() == ExecutionType.BACKGROUND ? "(BG)" : "(FG)")
- + " Type=" + type + " Index=" + getIndex() + " NbReq=" + getNbRequested()
- + " Range=" + getRange()
- + " DataType=" + getDataType().getSimpleName();
- TmfCoreTracer.traceRequest(this, message);
- }
- }
-
- /**
- * Resets the request counter (used for testing)
- */
- public static void reset() {
- fRequestNumber = 0;
- }
-
- // ------------------------------------------------------------------------
- // Accessors
- // ------------------------------------------------------------------------
-
- @Override
- public int getRequestId() {
- return fRequestId;
- }
-
- @Override
- public long getIndex() {
- return fIndex;
- }
-
- /**
- * @since 3.0
- */
- @Override
- public ExecutionType getExecType() {
- return fExecType;
- }
-
- @Override
- public int getNbRequested() {
- return fNbRequested;
- }
-
- @Override
- public synchronized int getNbRead() {
- return fNbRead;
- }
-
- @Override
- public synchronized boolean isRunning() {
- return fRequestRunning;
- }
-
- @Override
- public synchronized boolean isCompleted() {
- return fRequestCompleted;
- }
-
- @Override
- public synchronized boolean isFailed() {
- return fRequestFailed;
- }
-
- @Override
- public synchronized boolean isCancelled() {
- return fRequestCanceled;
- }
-
- @Override
- public Class<? extends ITmfEvent> getDataType() {
- return fDataType;
- }
-
- @Override
- public TmfTimeRange getRange() {
- return fRange;
- }
-
- // ------------------------------------------------------------------------
- // Setters
- // ------------------------------------------------------------------------
-
- /**
- * This method is called by the event provider to set the index
- * corresponding to the time range start time
- *
- * @param index
- * The start time index
- */
- protected void setIndex(int index) {
- fIndex = index;
- }
-
- @Override
- public void setStartIndex(int index) {
- setIndex(index);
- }
-
- // ------------------------------------------------------------------------
- // Operators
- // ------------------------------------------------------------------------
-
- @Override
- public void handleData(ITmfEvent event) {
- fNbRead++;
- }
-
- @Override
- public void handleStarted() {
- if (TmfCoreTracer.isRequestTraced()) {
- TmfCoreTracer.traceRequest(this, "STARTED"); //$NON-NLS-1$
- }
- }
-
- @Override
- public void handleCompleted() {
- boolean requestFailed = false;
- boolean requestCanceled = false;
- synchronized (this) {
- requestFailed = fRequestFailed;
- requestCanceled = fRequestCanceled;
- }
-
- if (requestFailed) {
- handleFailure();
- } else if (requestCanceled) {
- handleCancel();
- } else {
- handleSuccess();
- }
- if (TmfCoreTracer.isRequestTraced()) {
- TmfCoreTracer.traceRequest(this, "COMPLETED (" + fNbRead + " events read)"); //$NON-NLS-1$ //$NON-NLS-2$
- }
- }
-
- @Override
- public void handleSuccess() {
- if (TmfCoreTracer.isRequestTraced()) {
- TmfCoreTracer.traceRequest(this, "SUCCEEDED"); //$NON-NLS-1$
- }
- }
-
- @Override
- public void handleFailure() {
- if (TmfCoreTracer.isRequestTraced()) {
- TmfCoreTracer.traceRequest(this, "FAILED"); //$NON-NLS-1$
- }
- }
-
- @Override
- public void handleCancel() {
- if (TmfCoreTracer.isRequestTraced()) {
- TmfCoreTracer.traceRequest(this, "CANCELLED"); //$NON-NLS-1$
- }
- }
-
- /**
- * To suspend the client thread until the request starts (or is canceled).
- *
- * @throws InterruptedException
- * If the thread was interrupted while waiting
- */
- public void waitForStart() throws InterruptedException {
- while (!fRequestRunning) {
- startedLatch.await();
- }
- }
-
- @Override
- public void waitForCompletion() throws InterruptedException {
- while (!fRequestCompleted) {
- completedLatch.await();
- }
- }
-
- @Override
- public void start() {
- synchronized (this) {
- fRequestRunning = true;
- }
- handleStarted();
- startedLatch.countDown();
- }
-
- @Override
- public void done() {
- synchronized (this) {
- if (!fRequestCompleted) {
- fRequestRunning = false;
- fRequestCompleted = true;
- } else {
- return;
- }
- }
- try {
- handleCompleted();
- } finally {
- completedLatch.countDown();
- }
- }
-
- @Override
- public void fail() {
- synchronized (this) {
- fRequestFailed = true;
- }
- done();
- }
-
- @Override
- public void cancel() {
- synchronized (this) {
- fRequestCanceled = true;
- }
- done();
- }
-
- // ------------------------------------------------------------------------
- // Object
- // ------------------------------------------------------------------------
-
- @Override
- // All requests have a unique id
- public int hashCode() {
- return getRequestId();
- }
-
- @Override
- public boolean equals(Object other) {
- if (other instanceof TmfEventRequest) {
- TmfEventRequest request = (TmfEventRequest) other;
- return request.fDataType == fDataType
- && request.fIndex == fIndex
- && request.fNbRequested == fNbRequested
- && request.fRange.equals(fRange);
- }
- return false;
- }
-
- @Override
- public String toString() {
- String name = getClass().getName();
- int dot = name.lastIndexOf('.');
- if (dot >= 0) {
- name = name.substring(dot + 1);
- }
- return '[' + name + '(' + getRequestId() + ',' + getDataType().getSimpleName() +
- ',' + getExecType() + ',' + getRange() + ',' + getIndex() +
- ',' + getNbRequested() + ")]"; //$NON-NLS-1$
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/signal/TmfEndSynchSignal.java b/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/signal/TmfEndSynchSignal.java
deleted file mode 100644
index f4a0f4203b..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/signal/TmfEndSynchSignal.java
+++ /dev/null
@@ -1,33 +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
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.core.signal;
-
-/**
- * End of signal synchronization
- *
- * @version 1.0
- * @author Francois Chouinard
- */
-public class TmfEndSynchSignal extends TmfSignal {
-
- /**
- * Constructor
- *
- * @param synchId
- * The ID assigned to this signal
- */
- public TmfEndSynchSignal(int synchId) {
- super(null, synchId);
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/signal/TmfEventFilterAppliedSignal.java b/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/signal/TmfEventFilterAppliedSignal.java
deleted file mode 100644
index bff7197651..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/signal/TmfEventFilterAppliedSignal.java
+++ /dev/null
@@ -1,68 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2012 Ericsson
- *
- * All rights reserved. This program and the accompanying materials are
- * made available under the terms of the Eclipse Public License v1.0 which
- * accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Patrick Tasse - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.core.signal;
-
-import org.eclipse.linuxtools.tmf.core.filter.ITmfFilter;
-import org.eclipse.linuxtools.tmf.core.trace.ITmfTrace;
-
-/**
- * Signal indicating an event filter has been applied.
- *
- * @version 1.0
- * @author Patrick Tasse
- * @since 2.0
- */
-public class TmfEventFilterAppliedSignal extends TmfSignal {
-
- private final ITmfTrace fTrace;
- private final ITmfFilter fEventFilter;
-
- /**
- * Constructor for a new signal.
- *
- * @param source
- * The object sending this signal
- * @param trace
- * The trace to which filter is applied
- * @param filter
- * The applied event filter or null
- */
- public TmfEventFilterAppliedSignal(Object source, ITmfTrace trace, ITmfFilter filter) {
- super(source);
- fTrace = trace;
- fEventFilter = filter;
- }
-
- /**
- * Get the trace object concerning this signal
- *
- * @return The trace
- */
- public ITmfTrace getTrace() {
- return fTrace;
- }
-
- /**
- * Get the event filter being applied
- *
- * @return The filter
- */
- public ITmfFilter getEventFilter() {
- return fEventFilter;
- }
-
- @Override
- public String toString() {
- return "[TmfEventFilterAppliedSignal (" + fTrace.getName() + " : " + fEventFilter + ")]"; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/signal/TmfEventSearchAppliedSignal.java b/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/signal/TmfEventSearchAppliedSignal.java
deleted file mode 100644
index ab13c334d4..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/signal/TmfEventSearchAppliedSignal.java
+++ /dev/null
@@ -1,68 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2012 Ericsson
- *
- * All rights reserved. This program and the accompanying materials are
- * made available under the terms of the Eclipse Public License v1.0 which
- * accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Patrick Tasse - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.core.signal;
-
-import org.eclipse.linuxtools.tmf.core.filter.ITmfFilter;
-import org.eclipse.linuxtools.tmf.core.trace.ITmfTrace;
-
-/**
- * Signal indicating an event search has been applied.
- *
- * @version 1.0
- * @author Patrick Tasse
- * @since 2.0
- */
-public class TmfEventSearchAppliedSignal extends TmfSignal {
-
- private final ITmfTrace fTrace;
- private final ITmfFilter fSearchFilter;
-
- /**
- * Constructor for a new signal.
- *
- * @param source
- * The object sending this signal
- * @param trace
- * The trace to which search is applied
- * @param filter
- * The applied search filter or null
- */
- public TmfEventSearchAppliedSignal(Object source, ITmfTrace trace, ITmfFilter filter) {
- super(source);
- fTrace = trace;
- fSearchFilter = filter;
- }
-
- /**
- * Get the trace object concerning this signal
- *
- * @return The trace
- */
- public ITmfTrace getTrace() {
- return fTrace;
- }
-
- /**
- * Get the search filter being applied
- *
- * @return The search filter
- */
- public ITmfFilter getSearchFilter() {
- return fSearchFilter;
- }
-
- @Override
- public String toString() {
- return "[TmfSearchFilterAppliedSignal (" + fTrace.getName() + " : " + fSearchFilter + ")]"; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/signal/TmfEventSelectedSignal.java b/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/signal/TmfEventSelectedSignal.java
deleted file mode 100644
index 53b5e0d54e..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/signal/TmfEventSelectedSignal.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 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:
- * Patrick Tasse - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.core.signal;
-
-import org.eclipse.linuxtools.tmf.core.event.ITmfEvent;
-
-/**
- * Signal indicating a trace event has been selected.
- *
- * The specified event has been selected.
- *
- * @author Patrick Tasse
- * @since 3.2
- */
-public class TmfEventSelectedSignal extends TmfSignal {
-
- private final ITmfEvent fEvent;
-
- /**
- * Constructor
- *
- * @param source
- * Object sending this signal
- * @param event
- * The event that was selected
- */
- public TmfEventSelectedSignal(Object source, ITmfEvent event) {
- super(source);
- fEvent = event;
- }
-
- /**
- * @return The event referred to by this signal
- */
- public ITmfEvent getEvent() {
- return fEvent;
- }
-
- @Override
- public String toString() {
- return "[TmfEventSelectedSignal (" + fEvent.toString() + ")]"; //$NON-NLS-1$ //$NON-NLS-2$
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/signal/TmfRangeSynchSignal.java b/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/signal/TmfRangeSynchSignal.java
deleted file mode 100644
index 7d2e00ad68..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/signal/TmfRangeSynchSignal.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009, 2014 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
- * Patrick Tasse - Deprecate current time
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.core.signal;
-
-import org.eclipse.linuxtools.tmf.core.timestamp.TmfTimeRange;
-
-/**
- * A new time range has been selected.
- *
- * This is the visible (zoom) time range. To synchronize on the selection range,
- * use {@link TmfTimeSynchSignal}.
- *
- * @version 1.0
- * @author Francois Chouinard
- */
-public class TmfRangeSynchSignal extends TmfSignal {
-
- private final TmfTimeRange fCurrentRange;
-
- /**
- * Constructor
- *
- * @param source
- * Object sending this signal
- * @param range
- * The new time range
- * @since 2.1
- */
- public TmfRangeSynchSignal(Object source, TmfTimeRange range) {
- super(source);
- fCurrentRange = range;
- }
-
- /**
- * @return This signal's time range
- * @since 2.0
- */
- public TmfTimeRange getCurrentRange() {
- return fCurrentRange;
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/signal/TmfSignal.java b/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/signal/TmfSignal.java
deleted file mode 100644
index 3304828c18..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/signal/TmfSignal.java
+++ /dev/null
@@ -1,73 +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
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.core.signal;
-
-/**
- * Base class for TMF signals
- *
- * @version 1.0
- * @author Francois Chouinard
- */
-public abstract class TmfSignal {
-
- private final Object fSource;
- private int fReference;
-
- /**
- * Basic constructor, which uses a default of "0" for the reference index
- *
- * @param source
- * Object sending this signal
- */
- public TmfSignal(Object source) {
- this(source, 0);
- }
-
- /**
- * Standard constructor
- *
- * @param source
- * Object sending this signal
- * @param reference
- * Reference index to assign to this signal
- */
- public TmfSignal(Object source, int reference) {
- fSource = source;
- fReference = reference;
- }
-
- /**
- * @return The source object of this signal
- */
- public Object getSource() {
- return fSource;
- }
-
- /**
- * Change this signal's reference index
- *
- * @param reference
- * The new reference to use
- */
- public void setReference(int reference) {
- fReference = reference;
- }
-
- /**
- * @return This signal's reference index
- */
- public int getReference() {
- return fReference;
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/signal/TmfSignalHandler.java b/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/signal/TmfSignalHandler.java
deleted file mode 100644
index caff3db90a..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/signal/TmfSignalHandler.java
+++ /dev/null
@@ -1,30 +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
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.core.signal;
-
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-
-/**
- * Marker for TMF signal handlers.
- *
- * @version 1.0
- * @author Francois Chouinard
- */
-@Retention(RetentionPolicy.RUNTIME)
-@Target(ElementType.METHOD)
-public @interface TmfSignalHandler {
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/signal/TmfSignalManager.java b/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/signal/TmfSignalManager.java
deleted file mode 100644
index 90e34ed704..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/signal/TmfSignalManager.java
+++ /dev/null
@@ -1,231 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009, 2014 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
- * Bernd Hufmann - Update register methods
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.core.signal;
-
-import java.lang.reflect.InvocationTargetException;
-import java.lang.reflect.Method;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.concurrent.ExecutorService;
-import java.util.concurrent.Executors;
-
-import org.eclipse.linuxtools.internal.tmf.core.Activator;
-import org.eclipse.linuxtools.internal.tmf.core.TmfCoreTracer;
-
-/**
- * This class manages the set of signal listeners and the signals they are
- * interested in. When a signal is broadcasted, the appropriate listeners
- * signal handlers are invoked.
- *
- * @version 1.0
- * @author Francois Chouinard
- */
-public class TmfSignalManager {
-
- // The set of event listeners and their corresponding handler methods.
- // Note: listeners could be restricted to ITmfComponents but there is no
- // harm in letting anyone use this since it is not tied to anything but
- // the signal data type.
- private static Map<Object, Method[]> fListeners = new HashMap<>();
- private static Map<Object, Method[]> fVIPListeners = new HashMap<>();
-
- // The signal executor for asynchronous signals
- private static final ExecutorService fExecutor = Executors.newSingleThreadExecutor();
-
- // If requested, add universal signal tracer
- // TODO: Temporary solution: should be enabled/disabled dynamically
- private static boolean fTraceIsActive = false;
- private static TmfSignalTracer fSignalTracer;
-
- static {
- if (fTraceIsActive) {
- fSignalTracer = TmfSignalTracer.getInstance();
- register(fSignalTracer);
- }
- }
-
- /**
- * Register an object to the signal manager. This object can then implement
- * handler methods, marked with @TmfSignalHandler and with the expected
- * signal type as parameter.
- *
- * @param listener
- * The object that will be notified of new signals
- */
- public static synchronized void register(Object listener) {
- deregister(listener); // make sure that listener is only registered once
- Method[] methods = getSignalHandlerMethods(listener);
- if (methods.length > 0) {
- fListeners.put(listener, methods);
- }
- }
-
- /**
- * Register an object to the signal manager as a "VIP" listener. All VIP
- * listeners will all receive the signal before the manager moves on to the
- * lowly, non-VIP listeners.
- *
- * @param listener
- * The object that will be notified of new signals
- */
- public static synchronized void registerVIP(Object listener) {
- deregister(listener); // make sure that listener is only registered once
- Method[] methods = getSignalHandlerMethods(listener);
- if (methods.length > 0) {
- fVIPListeners.put(listener, methods);
- }
- }
-
- /**
- * De-register a listener object from the signal manager. This means that
- * its @TmfSignalHandler methods will no longer be called.
- *
- * @param listener
- * The object to de-register
- */
- public static synchronized void deregister(Object listener) {
- fVIPListeners.remove(listener);
- fListeners.remove(listener);
- }
-
- /**
- * Returns the list of signal handlers in the listener. Signal handler name
- * is irrelevant; only the annotation (@TmfSignalHandler) is important.
- *
- * @param listener
- * @return
- */
- private static Method[] getSignalHandlerMethods(Object listener) {
- List<Method> handlers = new ArrayList<>();
- Method[] methods = listener.getClass().getMethods();
- for (Method method : methods) {
- if (method.isAnnotationPresent(TmfSignalHandler.class)) {
- handlers.add(method);
- }
- }
- return handlers.toArray(new Method[handlers.size()]);
- }
-
- static int fSignalId = 0;
-
- /**
- * Invokes the handling methods that listens to signals of a given type in
- * the current thread.
- *
- * The list of handlers is built on-the-fly to allow for the dynamic
- * creation/deletion of signal handlers. Since the number of signal handlers
- * shouldn't be too high, this is not a big performance issue to pay for the
- * flexibility.
- *
- * For synchronization purposes, the signal is bracketed by two synch
- * signals.
- *
- * @param signal
- * the signal to dispatch
- */
- public static synchronized void dispatchSignal(TmfSignal signal) {
- int signalId = fSignalId++;
- sendSignal(new TmfStartSynchSignal(signalId));
- signal.setReference(signalId);
- sendSignal(signal);
- sendSignal(new TmfEndSynchSignal(signalId));
- }
-
- /**
- * Invokes the handling methods that listens to signals of a given type
- * in a separate thread which will call
- * {@link TmfSignalManager#dispatchSignal(TmfSignal)}.
- *
- * If a signal is already processed the signal will be queued and
- * dispatched after the ongoing signal finishes.
- *
- * @param signal
- * the signal to dispatch
- * @since 3.0
- */
- public static void dispatchSignalAsync(final TmfSignal signal) {
- if (!fExecutor.isShutdown()) {
- fExecutor.execute(new Runnable() {
- @Override
- public void run() {
- dispatchSignal(signal);
- }
- });
- }
- }
-
- /**
- * Disposes the signal manager
- * @since 3.0
- */
- public static void dispose() {
- fExecutor.shutdown();
- }
-
- private static void sendSignal(TmfSignal signal) {
- sendSignal(fVIPListeners, signal);
- sendSignal(fListeners, signal);
- }
-
- private static void sendSignal(Map<Object, Method[]> listeners, TmfSignal signal) {
-
- if (TmfCoreTracer.isSignalTraced()) {
- TmfCoreTracer.traceSignal(signal, "(start)"); //$NON-NLS-1$
- }
-
- // Build the list of listener methods that are registered for this signal
- Class<?> signalClass = signal.getClass();
- Map<Object, List<Method>> targets = new HashMap<>();
- targets.clear();
- for (Map.Entry<Object, Method[]> entry : listeners.entrySet()) {
- List<Method> matchingMethods = new ArrayList<>();
- for (Method method : entry.getValue()) {
- if (method.getParameterTypes()[0].isAssignableFrom(signalClass)) {
- matchingMethods.add(method);
- }
- }
- if (!matchingMethods.isEmpty()) {
- targets.put(entry.getKey(), matchingMethods);
- }
- }
-
- // Call the signal handlers
- for (Map.Entry<Object, List<Method>> entry : targets.entrySet()) {
- for (Method method : entry.getValue()) {
- try {
- method.invoke(entry.getKey(), new Object[] { signal });
- if (TmfCoreTracer.isSignalTraced()) {
- Object key = entry.getKey();
- String hash = String.format("%1$08X", entry.getKey().hashCode()); //$NON-NLS-1$
- String target = "[" + hash + "] " + key.getClass().getSimpleName() + ":" + method.getName(); //$NON-NLS-1$//$NON-NLS-2$//$NON-NLS-3$
- TmfCoreTracer.traceSignal(signal, target);
- }
- } catch (IllegalArgumentException e) {
- Activator.logError("Exception handling signal " + signal + " in method " + method, e); //$NON-NLS-1$ //$NON-NLS-2$
- } catch (IllegalAccessException e) {
- Activator.logError("Exception handling signal " + signal + " in method " + method, e); //$NON-NLS-1$ //$NON-NLS-2$
- } catch (InvocationTargetException e) {
- Activator.logError("Exception handling signal " + signal + " in method " + method, e); //$NON-NLS-1$ //$NON-NLS-2$
- }
- }
- }
-
- if (TmfCoreTracer.isSignalTraced()) {
- TmfCoreTracer.traceSignal(signal, "(end)"); //$NON-NLS-1$
- }
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/signal/TmfSignalThrottler.java b/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/signal/TmfSignalThrottler.java
deleted file mode 100644
index c5c79ec5e2..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/signal/TmfSignalThrottler.java
+++ /dev/null
@@ -1,103 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 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:
- * Alexandre Montplaisir - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.core.signal;
-
-import java.util.Timer;
-import java.util.TimerTask;
-
-import org.eclipse.linuxtools.tmf.core.component.ITmfComponent;
-import org.eclipse.linuxtools.tmf.core.component.TmfComponent;
-
-/**
- * "Buffer" between a TmfComponent and the signal manager. You can use this if
- * you want to throttle the amount of signals your component will send.
- *
- * It works by specifying a delay, then calling {@link #queue}. The signals will
- * only be really sent if no other call to {@link #queue} happens within $delay
- * milliseconds afterwards. This guarantees that only the *last* signal is
- * actually broadcasted.
- *
- * Note that this class does not discriminate for signal types, sources, or
- * whatever. If you want to throttle different signals in different ways, you
- * can use multiple signal throttlers in your component and call them
- * accordingly.
- *
- * @author Alexandre Montplaisir
- * @since 2.0
- */
-public class TmfSignalThrottler {
-
- private final ITmfComponent fComponent;
- private final long fDelay;
- private final Timer fTimer;
- private TimerTask fCurrentTask;
-
- /**
- * Constructor
- *
- * @param component
- * The source component of the signals
- * @param delay
- * Time to wait before actually sending signals (in ms)
- */
- public TmfSignalThrottler(ITmfComponent component, long delay) {
- this.fComponent = component;
- this.fDelay = delay;
- this.fTimer = new Timer();
-
- /*
- * Initialize currentTask to something, so we don't have to do a null
- * check every time
- */
- fCurrentTask = new TimerTask() { @Override public void run() {} };
- }
-
- /**
- * Queue a signal for sending. It will only be forward to the centralized
- * signal handler if 'delay' elapses without another signal being sent
- * through this method.
- *
- * You call this instead of calling {@link TmfComponent#broadcast}.
- *
- * @param signal
- * The signal to queue for broadcasting
- */
- public synchronized void queue(TmfSignal signal) {
- fCurrentTask.cancel();
- fCurrentTask = new BroadcastRequest(signal);
- fTimer.schedule(fCurrentTask, fDelay);
- }
-
- /**
- * Dispose method. Will prevent any pending signal from being sent, and this
- * throttler from be used again.
- */
- public synchronized void dispose() {
- fTimer.cancel();
- fTimer.purge();
- }
-
- private class BroadcastRequest extends TimerTask {
-
- private final TmfSignal signal;
-
- BroadcastRequest(TmfSignal signal) {
- this.signal = signal;
- }
-
- @Override
- public void run() {
- fComponent.broadcast(signal);
- }
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/signal/TmfSignalTracer.java b/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/signal/TmfSignalTracer.java
deleted file mode 100644
index 66106920c6..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/signal/TmfSignalTracer.java
+++ /dev/null
@@ -1,48 +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
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.core.signal;
-
-/**
- * This object (singleton) traces all TmfSignals in the application.
- *
- * @version 1.0
- * @author Francois Chouinard
- */
-public class TmfSignalTracer {
-
- static TmfSignalTracer fInstance;
-
- /**
- * @return The single instance of the signal tracer object
- */
- static public TmfSignalTracer getInstance() {
- if (fInstance == null) {
- fInstance = new TmfSignalTracer();
- }
- return fInstance;
- }
-
- private TmfSignalTracer() {
- }
-
- /**
- * Handler for all TMF signal types
- *
- * @param signal
- * Incoming signal
- */
- @TmfSignalHandler
- public void traceSignal(TmfSignal signal) {
- System.out.println(signal.getSource().toString() + ": " + signal.toString()); //$NON-NLS-1$
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/signal/TmfStartAnalysisSignal.java b/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/signal/TmfStartAnalysisSignal.java
deleted file mode 100644
index 5542a2cbf6..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/signal/TmfStartAnalysisSignal.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 École Polytechnique de Montréal
- *
- * 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:
- * Geneviève Bastien - Initial implementation and API
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.core.signal;
-
-import org.eclipse.linuxtools.tmf.core.analysis.IAnalysisModule;
-
-/**
- * Signal indicating an analysis has started. Views and outputs may use it to
- * update themselves with the results.
- *
- * @author Geneviève Bastien
- * @since 3.0
- */
-public class TmfStartAnalysisSignal extends TmfSignal {
-
- private final IAnalysisModule fModule;
-
- /**
- * Constructor for a new signal.
- *
- * @param source
- * The object sending this signal
- * @param module
- * The analysis module
- */
- public TmfStartAnalysisSignal(Object source, IAnalysisModule module) {
- super(source);
- fModule = module;
- }
-
- /**
- * Get the trace object concerning this signal
- *
- * @return The trace
- */
- public IAnalysisModule getAnalysisModule() {
- return fModule;
- }
-
- @Override
- public String toString() {
- return "[" + this.getClass().getSimpleName() + " (" + fModule.getName() + ")]"; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/signal/TmfStartSynchSignal.java b/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/signal/TmfStartSynchSignal.java
deleted file mode 100644
index 5dd85a331c..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/signal/TmfStartSynchSignal.java
+++ /dev/null
@@ -1,34 +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
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.core.signal;
-
-/**
- * Start of signal synchronization
- *
- * @version 1.0
- * @author Francois Chouinard
- */
-public class TmfStartSynchSignal extends TmfSignal {
-
-
- /**
- * Constructor
- *
- * @param synchId
- * The synch ID of this signal
- */
- public TmfStartSynchSignal(int synchId) {
- super(null, synchId);
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/signal/TmfTimeSynchSignal.java b/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/signal/TmfTimeSynchSignal.java
deleted file mode 100644
index 02fd8886a6..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/signal/TmfTimeSynchSignal.java
+++ /dev/null
@@ -1,95 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009, 2014 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
- * Patrick Tasse - Support selection range
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.core.signal;
-
-import org.eclipse.linuxtools.tmf.core.timestamp.ITmfTimestamp;
-
-/**
- * A new time or time range selection has been made.
- *
- * This is the selected time or time range. To synchronize on the visible
- * (zoom) range, use {@link TmfRangeSynchSignal}.
- *
- * @version 1.0
- * @author Francois Chouinard
-*/
-public class TmfTimeSynchSignal extends TmfSignal {
-
- private final ITmfTimestamp fBeginTime;
- private final ITmfTimestamp fEndTime;
-
- /**
- * Constructor
- *
- * @param source
- * Object sending this signal
- * @param ts
- * Timestamp of selection
- * @since 2.0
- */
- public TmfTimeSynchSignal(Object source, ITmfTimestamp ts) {
- super(source);
- fBeginTime = ts;
- fEndTime = ts;
- }
-
- /**
- * Constructor
- *
- * @param source
- * Object sending this signal
- * @param begin
- * Timestamp of begin of selection range
- * @param end
- * Timestamp of end of selection range
- * @since 2.1
- */
- public TmfTimeSynchSignal(Object source, ITmfTimestamp begin, ITmfTimestamp end) {
- super(source);
- fBeginTime = begin;
- fEndTime = end;
- }
-
- /**
- * @return The begin timestamp of selection
- * @since 2.1
- */
- public ITmfTimestamp getBeginTime() {
- return fBeginTime;
- }
-
- /**
- * @return The end timestamp of selection
- * @since 2.1
- */
- public ITmfTimestamp getEndTime() {
- return fEndTime;
- }
-
- @Override
- public String toString() {
- StringBuilder sb = new StringBuilder();
- sb.append("[TmfTimeSynchSignal ("); //$NON-NLS-1$
- if (fBeginTime != null) {
- sb.append(fBeginTime.toString());
- if (!fBeginTime.equals(fEndTime) && fEndTime != null) {
- sb.append('-');
- sb.append(fEndTime.toString());
- }
- }
- sb.append(")]"); //$NON-NLS-1$
- return sb.toString();
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/signal/TmfTimestampFormatUpdateSignal.java b/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/signal/TmfTimestampFormatUpdateSignal.java
deleted file mode 100644
index 2b25fd0aab..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/signal/TmfTimestampFormatUpdateSignal.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2012 Ericsson
- *
- * All rights reserved. This program and the accompanying materials are
- * made available under the terms of the Eclipse Public License v1.0 which
- * accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Francois Chouinard - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.core.signal;
-
-/**
- * The default timestamp/interval format was modified
- *
- * @author Francois Chouinard
- * @version 1.0
- * @since 2.0
- */
-public class TmfTimestampFormatUpdateSignal extends TmfSignal {
-
- /**
- * @param source the signal source
- */
- public TmfTimestampFormatUpdateSignal(Object source) {
- super(source);
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/signal/TmfTraceClosedSignal.java b/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/signal/TmfTraceClosedSignal.java
deleted file mode 100644
index 9f9f2fa5ee..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/signal/TmfTraceClosedSignal.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2012 Ericsson
- *
- * All rights reserved. This program and the accompanying materials are
- * made available under the terms of the Eclipse Public License v1.0 which
- * accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Patrick Tasse - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.core.signal;
-
-import org.eclipse.jdt.annotation.NonNullByDefault;
-import org.eclipse.linuxtools.tmf.core.trace.ITmfTrace;
-
-/**
- * Signal indicating a trace is being closed.
- *
- * Receivers should cancel any jobs, threads or requests for the specified trace
- * and clear any user interface component related to it as soon as possible.
- * The trace will be disposed after the signal has been processed.
- *
- * @version 1.0
- * @author Patrick Tasse
- * @since 2.0
- */
-@NonNullByDefault
-public class TmfTraceClosedSignal extends TmfSignal {
-
- private final ITmfTrace fTrace;
-
- /**
- * Constructor for a new signal
- *
- * @param source
- * The object sending this signal
- * @param trace
- * The trace being closed
- */
- public TmfTraceClosedSignal(Object source, ITmfTrace trace) {
- super(source);
- fTrace = trace;
- }
-
- /**
- * Get a reference to the trace being closed
- *
- * @return The trace object
- */
- public ITmfTrace getTrace() {
- return fTrace;
- }
-
- @Override
- public String toString() {
- return "[TmfTraceClosedSignal (" + fTrace.getName() + ")]"; //$NON-NLS-1$ //$NON-NLS-2$
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/signal/TmfTraceOpenedSignal.java b/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/signal/TmfTraceOpenedSignal.java
deleted file mode 100644
index 962b9af6b9..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/signal/TmfTraceOpenedSignal.java
+++ /dev/null
@@ -1,72 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2012, 2014 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:
- * Patrick Tasse - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.core.signal;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.linuxtools.tmf.core.trace.ITmfTrace;
-
-/**
- * Signal indicating a trace has been opened.
- *
- * Receivers can get ready to receive TmfTraceRangeUpdatedSignal for coalescing
- * and can expect TmfTraceSelectedSignal to follow.
- *
- * @version 1.0
- * @author Patrick Tasse
- * @since 2.0
- */
-public class TmfTraceOpenedSignal extends TmfSignal {
-
- private final ITmfTrace fTrace;
- private final IFile fEditorFile;
-
- /**
- * Constructor for a new signal.
- *
- * @param source
- * The object sending this signal
- * @param trace
- * The trace that has been opened
- * @param editorFile
- * Pointer to the editor file
- */
- public TmfTraceOpenedSignal(Object source, ITmfTrace trace, IFile editorFile) {
- super(source);
- fTrace = trace;
- fEditorFile = editorFile;
- }
-
- /**
- * Get the trace object concerning this signal
- *
- * @return The trace
- */
- public ITmfTrace getTrace() {
- return fTrace;
- }
-
- /**
- * Get a pointer to the editor file for this trace
- *
- * @return The IFile object
- * @since 3.0
- */
- public IFile getEditorFile() {
- return fEditorFile;
- }
-
- @Override
- public String toString() {
- return "[TmfTraceOpenedSignal (" + fTrace.getName() + ")]"; //$NON-NLS-1$ //$NON-NLS-2$
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/signal/TmfTraceRangeUpdatedSignal.java b/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/signal/TmfTraceRangeUpdatedSignal.java
deleted file mode 100644
index 57e259801b..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/signal/TmfTraceRangeUpdatedSignal.java
+++ /dev/null
@@ -1,69 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2012, 2013 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:
- * Patrick Tasse - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.core.signal;
-
-import org.eclipse.linuxtools.tmf.core.timestamp.TmfTimeRange;
-import org.eclipse.linuxtools.tmf.core.trace.ITmfTrace;
-
-/**
- * Signal indicating a trace range has been updated.
- *
- * Receivers can safely perform event requests for the specified time range.
- * The signal acts as a trigger for coalescing such requests.
- *
- * @version 1.0
- * @author Patrick Tasse
- * @since 2.0
- */
-public class TmfTraceRangeUpdatedSignal extends TmfSignal {
-
- private final ITmfTrace fTrace;
- private final TmfTimeRange fTimeRange;
-
- /**
- * Constructor
- *
- * @param source
- * Object sending this signal
- * @param trace
- * Trace whose range was updated
- * @param range
- * The new time range of the trace
- */
- public TmfTraceRangeUpdatedSignal(Object source, ITmfTrace trace, TmfTimeRange range) {
- super(source);
- fTrace = trace;
- fTimeRange = range;
- }
-
- /**
- * @return The trace
- */
- public ITmfTrace getTrace() {
- return fTrace;
- }
-
- /**
- * @return The time range
- */
- public TmfTimeRange getRange() {
- return fTimeRange;
- }
-
- @Override
- @SuppressWarnings("nls")
- public String toString() {
- return "[TmfTraceRangeUpdatedSignal (" + fTrace.getName() + ", " + fTimeRange.toString() + ")]";
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/signal/TmfTraceSelectedSignal.java b/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/signal/TmfTraceSelectedSignal.java
deleted file mode 100644
index 8292888e45..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/signal/TmfTraceSelectedSignal.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2012 Ericsson
- *
- * All rights reserved. This program and the accompanying materials are
- * made available under the terms of the Eclipse Public License v1.0 which
- * accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Patrick Tasse - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.core.signal;
-
-import org.eclipse.linuxtools.tmf.core.trace.ITmfTrace;
-
-/**
- * Signal indicating a trace has been selected.
- *
- * The specified trace is the active trace and has been brought to top
- * or the signal is used as a trigger to bring it to top.
- *
- * @version 1.0
- * @author Patrick Tasse
- */
-public class TmfTraceSelectedSignal extends TmfSignal {
-
- private final ITmfTrace fTrace;
-
- /**
- * Constructor
- *
- * @param source
- * Object sending this signal
- * @param trace
- * The trace that was selected
- */
- public TmfTraceSelectedSignal(Object source, ITmfTrace trace) {
- super(source);
- fTrace = trace;
- }
-
- /**
- * @return The trace referred to by this signal
- */
- public ITmfTrace getTrace() {
- return fTrace;
- }
-
- @Override
- public String toString() {
- return "[TmfTraceSelectedSignal (" + fTrace.getName() + ")]"; //$NON-NLS-1$ //$NON-NLS-2$
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/signal/TmfTraceSynchronizedSignal.java b/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/signal/TmfTraceSynchronizedSignal.java
deleted file mode 100644
index fa24bbf702..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/signal/TmfTraceSynchronizedSignal.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 École Polytechnique de Montréal
- *
- * 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:
- * Geneviève Bastien - Initial implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.core.signal;
-
-import org.eclipse.linuxtools.tmf.core.synchronization.SynchronizationAlgorithm;
-
-/**
- * Signal indicating a trace synchronization has been done
- *
- * @author Geneviève Bastien
- * @since 3.0
- */
-public class TmfTraceSynchronizedSignal extends TmfSignal {
-
- private final SynchronizationAlgorithm fAlgoSync;
-
- /**
- * Constructor
- *
- * @param source
- * Object sending this signal
- * @param algoSync
- * The synchronization algorithm used
- */
- public TmfTraceSynchronizedSignal(Object source, SynchronizationAlgorithm algoSync) {
- super(source);
- fAlgoSync = algoSync;
- }
-
- /**
- * Synchronization algorithm getter
- *
- * @return The algorithm object
- */
- public SynchronizationAlgorithm getSyncAlgo() {
- return fAlgoSync;
- }
-
- @Override
- public String toString() {
- return "[" + getClass().getSimpleName() + " (" + fAlgoSync.toString() + ")]"; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/signal/TmfTraceUpdatedSignal.java b/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/signal/TmfTraceUpdatedSignal.java
deleted file mode 100644
index 73ecbfbe5d..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/signal/TmfTraceUpdatedSignal.java
+++ /dev/null
@@ -1,84 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009, 2013 Ericsson
- *
- * All rights reserved. This program and the accompanying materials are
- * made available under the terms of the Eclipse Public License v1.0 which
- * accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Francois Chouinard - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.core.signal;
-
-import org.eclipse.linuxtools.tmf.core.timestamp.TmfTimeRange;
-import org.eclipse.linuxtools.tmf.core.trace.ITmfTrace;
-
-/**
- * Signal indicating a trace has been updated.
- *
- * The trace has been indexed up to the specified range.
- *
- * @version 1.0
- * @author Francois Chouinard
- */
-public class TmfTraceUpdatedSignal extends TmfSignal {
-
- private final ITmfTrace fTrace;
- private final TmfTimeRange fTimeRange;
- private final long fNbEvents;
-
- /**
- * Constructor
- *
- * @param source
- * Object sending this signal
- * @param trace
- * The trace that was updated
- * @param range
- * The new time range of the trace
- * @param nbEvents
- * The number of events in the trace
- * @since 3.0
- */
- public TmfTraceUpdatedSignal(Object source, ITmfTrace trace, TmfTimeRange range, long nbEvents) {
- super(source);
- fTrace = trace;
- fTimeRange = range;
- fNbEvents = nbEvents;
- }
-
- /**
- * @return The trace referred to by this signal
- */
- public ITmfTrace getTrace() {
- return fTrace;
- }
-
- /**
- * @return The time range indicated by this signal
- * @since 2.0
- */
- public TmfTimeRange getRange() {
- return fTimeRange;
- }
-
- /**
- * Returns the number of events indicated by this signal
- *
- * @return the number of events indicated by this signal
- * @since 3.0
- */
- public long getNbEvents() {
- return fNbEvents;
- }
-
- @Override
- @SuppressWarnings("nls")
- public String toString() {
- return "[TmfTraceUpdatedSignal (" + fTrace.toString() + ", "
- + fTimeRange.toString() + ")]";
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/statesystem/AbstractTmfStateProvider.java b/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/statesystem/AbstractTmfStateProvider.java
deleted file mode 100644
index 54209c808c..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/statesystem/AbstractTmfStateProvider.java
+++ /dev/null
@@ -1,243 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2012, 2014 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:
- * Alexandre Montplaisir - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.core.statesystem;
-
-import java.util.concurrent.ArrayBlockingQueue;
-import java.util.concurrent.BlockingQueue;
-
-import org.eclipse.linuxtools.statesystem.core.ITmfStateSystem;
-import org.eclipse.linuxtools.statesystem.core.ITmfStateSystemBuilder;
-import org.eclipse.linuxtools.tmf.core.event.ITmfEvent;
-import org.eclipse.linuxtools.tmf.core.event.TmfEvent;
-import org.eclipse.linuxtools.tmf.core.timestamp.ITmfTimestamp;
-import org.eclipse.linuxtools.tmf.core.trace.ITmfTrace;
-
-/**
- * Instead of using IStateChangeInput directly, one can extend this class, which
- * defines a lot of the common functions of the state change input plugin.
- *
- * It will handle the state-system-processing in a separate thread, which is
- * normally not a bad idea for traces of some size.
- *
- * processEvent() is replaced with eventHandle(), so that all the multi-thread
- * logic is abstracted away.
- *
- * @author Alexandre Montplaisir
- * @since 2.0
- */
-public abstract class AbstractTmfStateProvider implements ITmfStateProvider {
-
- private static final int DEFAULT_EVENTS_QUEUE_SIZE = 10000;
-
- private final ITmfTrace trace;
- private final Class<? extends ITmfEvent> eventType;
- private final BlockingQueue<ITmfEvent> eventsQueue;
- private final Thread eventHandlerThread;
-
- private boolean ssAssigned;
-
- /** State system in which to insert the state changes */
- protected ITmfStateSystemBuilder ss = null;
-
- /**
- * Instantiate a new state provider plugin.
- *
- * @param trace
- * The LTTng 2.0 kernel trace directory
- * @param eventType
- * The specific class for the event type that will be used within
- * the subclass
- * @param id
- * Name given to this state change input. Only used internally.
- */
- public AbstractTmfStateProvider(ITmfTrace trace,
- Class<? extends ITmfEvent> eventType, String id) {
- this.trace = trace;
- this.eventType = eventType;
- eventsQueue = new ArrayBlockingQueue<>(DEFAULT_EVENTS_QUEUE_SIZE);
- ssAssigned = false;
-
- String id2 = (id == null ? "Unamed" : id); //$NON-NLS-1$
- eventHandlerThread = new Thread(new EventProcessor(), id2 + " Event Handler"); //$NON-NLS-1$
- }
-
- @Override
- public ITmfTrace getTrace() {
- return trace;
- }
-
- /**
- * @since 3.0
- */
- @Override
- public long getStartTime() {
- return trace.getStartTime().normalize(0, ITmfTimestamp.NANOSECOND_SCALE).getValue();
- }
-
- /**
- * @since 3.0
- */
- @Override
- public void assignTargetStateSystem(ITmfStateSystemBuilder ssb) {
- ss = ssb;
- ssAssigned = true;
- eventHandlerThread.start();
- }
-
- /**
- * @since 3.0
- */
- @Override
- public ITmfStateSystem getAssignedStateSystem() {
- return ss;
- }
-
- @Override
- public void dispose() {
- /* Insert a null event in the queue to stop the event handler's thread. */
- try {
- eventsQueue.put(END_EVENT);
- eventHandlerThread.join();
- } catch (InterruptedException e) {
- e.printStackTrace();
- }
- ssAssigned = false;
- ss = null;
- }
-
- @Override
- public final Class<? extends ITmfEvent> getExpectedEventType() {
- return eventType;
- }
-
- @Override
- public final void processEvent(ITmfEvent event) {
- /* Make sure the target state system has been assigned */
- if (!ssAssigned) {
- System.err.println("Cannot process event without a target state system"); //$NON-NLS-1$
- return;
- }
-
- /* Insert the event we're received into the events queue */
- ITmfEvent curEvent = event;
- try {
- eventsQueue.put(curEvent);
- } catch (InterruptedException e) {
- e.printStackTrace();
- }
- }
-
- /**
- * Block the caller until the events queue is empty.
- */
- public void waitForEmptyQueue() {
- /*
- * We will first insert a dummy event that is guaranteed to not modify
- * the state. That way, when that event leaves the queue, we will know
- * for sure that the state system processed the preceding real event.
- */
- try {
- eventsQueue.put(EMPTY_QUEUE_EVENT);
- while (!eventsQueue.isEmpty()) {
- Thread.sleep(100);
- }
- } catch (InterruptedException e) {
- e.printStackTrace();
- }
- }
-
- // ------------------------------------------------------------------------
- // Special event types
- // ------------------------------------------------------------------------
-
- /** Fake event indicating the build is over, and the provider should close */
- private static class EndEvent extends TmfEvent {}
- /** Fake event indicating we want to clear the current queue */
- private static class EmptyQueueEvent extends TmfEvent {}
-
- private static final EndEvent END_EVENT = new EndEvent();
- private static final EmptyQueueEvent EMPTY_QUEUE_EVENT = new EmptyQueueEvent();
-
- // ------------------------------------------------------------------------
- // Inner classes
- // ------------------------------------------------------------------------
-
- /**
- * This is the runner class for the second thread, which will take the
- * events from the queue and pass them through the state system.
- */
- private class EventProcessor implements Runnable {
-
- private ITmfEvent currentEvent;
-
- @Override
- public void run() {
- if (ss == null) {
- System.err.println("Cannot run event manager without assigning a target state system first!"); //$NON-NLS-1$
- return;
- }
- ITmfEvent event;
-
- try {
- event = eventsQueue.take();
- /* This is a singleton, we want to do != instead of !x.equals */
- while (event != END_EVENT) {
- if (event == EMPTY_QUEUE_EVENT) {
- /* Synchronization event, should be ignored */
- event = eventsQueue.take();
- continue;
- }
-
- currentEvent = event;
-
- /* Make sure this is an event the sub-class can process */
- if (eventType.isInstance(event) && event.getType() != null) {
- eventHandle(event);
- }
- event = eventsQueue.take();
- }
- /* We've received the last event, clean up */
- closeStateSystem();
- } catch (InterruptedException e) {
- /* We've been interrupted abnormally */
- System.out.println("Event handler interrupted!"); //$NON-NLS-1$
- e.printStackTrace();
- }
- }
-
- private void closeStateSystem() {
- final long endTime = (currentEvent == null) ? 0 :
- currentEvent.getTimestamp().normalize(0, ITmfTimestamp.NANOSECOND_SCALE).getValue();
- ss.closeHistory(endTime);
- }
- }
-
- // ------------------------------------------------------------------------
- // Abstract methods
- // ------------------------------------------------------------------------
-
- /**
- * Handle the given event and send the appropriate state transitions into
- * the the state system.
- *
- * This is basically the same thing as IStateChangeInput.processEvent(),
- * except here processEvent() and eventHandle() are run in two different
- * threads (and the AbstractStateChangeInput takes care of processEvent()
- * already).
- *
- * @param event
- * The event to process. If you need a specific event type, you
- * should check for its instance right at the beginning.
- */
- protected abstract void eventHandle(ITmfEvent event);
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/statesystem/ITmfAnalysisModuleWithStateSystems.java b/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/statesystem/ITmfAnalysisModuleWithStateSystems.java
deleted file mode 100644
index 4d982d121a..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/statesystem/ITmfAnalysisModuleWithStateSystems.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013, 2014 École Polytechnique de Montréal
- *
- * 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:
- * Geneviève Bastien - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.core.statesystem;
-
-import org.eclipse.jdt.annotation.NonNull;
-import org.eclipse.jdt.annotation.Nullable;
-import org.eclipse.linuxtools.statesystem.core.ITmfStateSystem;
-import org.eclipse.linuxtools.tmf.core.analysis.IAnalysisModule;
-
-/**
- * Interface for analysis modules providing state systems.
- *
- * @author Geneviève Bastien
- * @since 3.0
- */
-public interface ITmfAnalysisModuleWithStateSystems extends IAnalysisModule {
-
- /**
- * Return a specific state system provided by this analysis.
- *
- * @param id
- * The ID of the state system
- * @return The state system corresponding to the given ID, null if there is
- * no match.
- */
- @Nullable
- ITmfStateSystem getStateSystem(@NonNull String id);
-
- /**
- * Return all the state systems provided by this analysis module, in
- * Iterable format.
- *
- * @return The state systems
- */
- @NonNull
- Iterable<ITmfStateSystem> getStateSystems();
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/statesystem/ITmfStateProvider.java b/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/statesystem/ITmfStateProvider.java
deleted file mode 100644
index 379fa4dc3c..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/statesystem/ITmfStateProvider.java
+++ /dev/null
@@ -1,119 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2012, 2013 Ericsson
- * Copyright (c) 2010, 2011 École Polytechnique de Montréal
- * Copyright (c) 2010, 2011 Alexandre Montplaisir <alexandre.montplaisir@gmail.com>
- *
- * 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
- *
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.core.statesystem;
-
-import org.eclipse.linuxtools.statesystem.core.ITmfStateSystem;
-import org.eclipse.linuxtools.statesystem.core.ITmfStateSystemBuilder;
-import org.eclipse.linuxtools.tmf.core.event.ITmfEvent;
-import org.eclipse.linuxtools.tmf.core.trace.ITmfTrace;
-
-/**
- * This is the interface used to define the "state change input", which is the
- * main type of input that goes in the state system.
- *
- * Usually a state change input, also called "state provider" is the piece of
- * the pipeline which converts trace events to state changes.
- *
- * @author Alexandre Montplaisir
- * @since 2.0
- */
-public interface ITmfStateProvider {
-
- /**
- * Event handler plugins should provide a version number. This is used to
- * determine if a potential existing file can be re-opened later (if the
- * versions in the file and in the viewer match), or if the file should be
- * rebuilt from scratch (if the versions don't match).
- *
- * @return The version number of the input plugin
- * @since 2.0
- */
- int getVersion();
-
- /**
- * Get the trace with which this state input plugin is associated.
- *
- * @return The associated trace
- */
- ITmfTrace getTrace();
-
- /**
- * Return the start time of this "state change input", which is normally the
- * start time of the originating trace (or it can be the time of the first
- * state-changing event).
- *
- * @return The start time
- */
- long getStartTime();
-
- /**
- * Method for the input plugin to specify which type of events it expects.
- * This will guarantee that all events it receives via processEvent() are
- * indeed of the given type, so it should be safe to cast to that type.
- *
- * @return The expected Class of the event. Only events of this class (and
- * valid subclasses) will be handled.
- * @since 2.0
- */
- Class<? extends ITmfEvent> getExpectedEventType();
-
- /**
- * Assign the target state system where this SCI will insert its state
- * changes. Because of dependencies issues, this can normally not be done at
- * the constructor.
- *
- * This needs to be called before .run()!
- *
- * @param ssb
- * Target state system for the state changes generated by this
- * input plugin
- * @since 3.0
- */
- void assignTargetStateSystem(ITmfStateSystemBuilder ssb);
-
- /**
- * Return the currently assigned target state system.
- *
- * @return Reference to the currently assigned state system, or null if no
- * SS is assigned yet
- * @since 3.0
- */
- ITmfStateSystem getAssignedStateSystem();
-
- /**
- * Send an event to this input plugin for processing. The implementation
- * should check the contents, and call the state-modifying methods of its
- * IStateSystemBuilder object accordingly.
- *
- * @param event
- * The event (which should be safe to cast to the
- * expectedEventType) that has to be processed.
- */
- void processEvent(ITmfEvent event);
-
- /**
- * Provide a non-initialized copy of this state input plugin. You will need
- * to call {@link #assignTargetStateSystem} on it to assign its target.
- *
- * @return A new state change input object, of the same type, but without an
- * assigned target state system
- * @since 2.0
- */
- ITmfStateProvider getNewInstance();
-
- /**
- * Indicate to the state history building process that we are done (for now),
- * and that it should close its current history.
- */
- void dispose();
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/statesystem/TmfStateSystemAnalysisModule.java b/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/statesystem/TmfStateSystemAnalysisModule.java
deleted file mode 100644
index 8f3ca302b0..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/statesystem/TmfStateSystemAnalysisModule.java
+++ /dev/null
@@ -1,512 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013, 2014 École Polytechnique de Montréal
- *
- * 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:
- * Geneviève Bastien - Initial API and implementation
- * Bernd Hufmann - Integrated history builder functionality
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.core.statesystem;
-
-import java.io.File;
-import java.io.IOException;
-import java.util.Collections;
-import java.util.concurrent.CountDownLatch;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.jdt.annotation.NonNull;
-import org.eclipse.jdt.annotation.NonNullByDefault;
-import org.eclipse.jdt.annotation.Nullable;
-import org.eclipse.linuxtools.internal.tmf.core.statesystem.backends.partial.PartialHistoryBackend;
-import org.eclipse.linuxtools.internal.tmf.core.statesystem.backends.partial.PartialStateSystem;
-import org.eclipse.linuxtools.statesystem.core.ITmfStateSystem;
-import org.eclipse.linuxtools.statesystem.core.ITmfStateSystemBuilder;
-import org.eclipse.linuxtools.statesystem.core.StateSystemFactory;
-import org.eclipse.linuxtools.statesystem.core.backend.IStateHistoryBackend;
-import org.eclipse.linuxtools.statesystem.core.backend.InMemoryBackend;
-import org.eclipse.linuxtools.statesystem.core.backend.NullBackend;
-import org.eclipse.linuxtools.statesystem.core.backend.historytree.HistoryTreeBackend;
-import org.eclipse.linuxtools.statesystem.core.backend.historytree.ThreadedHistoryTreeBackend;
-import org.eclipse.linuxtools.tmf.core.analysis.TmfAbstractAnalysisModule;
-import org.eclipse.linuxtools.tmf.core.event.ITmfEvent;
-import org.eclipse.linuxtools.tmf.core.exceptions.TmfTraceException;
-import org.eclipse.linuxtools.tmf.core.request.ITmfEventRequest;
-import org.eclipse.linuxtools.tmf.core.request.TmfEventRequest;
-import org.eclipse.linuxtools.tmf.core.timestamp.TmfTimeRange;
-import org.eclipse.linuxtools.tmf.core.trace.ITmfTrace;
-import org.eclipse.linuxtools.tmf.core.trace.TmfExperiment;
-import org.eclipse.linuxtools.tmf.core.trace.TmfTraceManager;
-
-/**
- * Abstract analysis module to generate a state system. It is a base class that
- * can be used as a shortcut by analysis who just need to build a single state
- * system with a state provider.
- *
- * Analysis implementing this class should only need to provide a state system
- * and optionally a backend (default to NULL) and, if required, a filename
- * (defaults to the analysis'ID)
- *
- * @author Geneviève Bastien
- * @since 3.0
- */
-@NonNullByDefault
-public abstract class TmfStateSystemAnalysisModule extends TmfAbstractAnalysisModule
- implements ITmfAnalysisModuleWithStateSystems {
-
- private static final String EXTENSION = ".ht"; //$NON-NLS-1$
-
- private final CountDownLatch fInitialized = new CountDownLatch(1);
-
- @Nullable private ITmfStateSystemBuilder fStateSystem;
- @Nullable private ITmfStateProvider fStateProvider;
- @Nullable private IStateHistoryBackend fHtBackend;
- @Nullable private ITmfEventRequest fRequest;
-
- /**
- * State system backend types
- *
- * @author Geneviève Bastien
- */
- protected enum StateSystemBackendType {
- /** Full history in file */
- FULL,
- /** In memory state system */
- INMEM,
- /** Null history */
- NULL,
- /** State system backed with partial history */
- PARTIAL
- }
-
-
- /**
- * Retrieve a state system belonging to trace, by passing the ID of the
- * relevant analysis module.
- *
- * This will start the execution of the analysis module, and start the
- * construction of the state system, if needed.
- *
- * @param trace
- * The trace for which you want the state system
- * @param moduleId
- * The ID of the state system analysis module
- * @return The state system, or null if there was no match
- * @since 3.1
- */
- public static @Nullable ITmfStateSystem getStateSystem(ITmfTrace trace, String moduleId) {
- TmfStateSystemAnalysisModule module =
- trace.getAnalysisModuleOfClass(TmfStateSystemAnalysisModule.class, moduleId);
- if (module != null) {
- IStatus status = module.schedule();
- if (status.isOK()) {
- module.waitForInitialization();
- /*
- * FIXME If we keep a reference to "module", the compiler expects us to
- * close it. The Analysis Module's API should be reworked to not expose
- * these objects directly (utility classes instead?)
- */
- return module.getStateSystem();
- }
- }
- return null;
- }
-
- /**
- * Get the state provider for this analysis module
- *
- * @return the state provider
- */
- protected abstract ITmfStateProvider createStateProvider();
-
- /**
- * Get the state system backend type used by this module
- *
- * @return The {@link StateSystemBackendType}
- */
- protected StateSystemBackendType getBackendType() {
- /* Using full history by default, sub-classes can override */
- return StateSystemBackendType.FULL;
- }
-
- /**
- * Get the supplementary file name where to save this state system. The
- * default is the ID of the analysis followed by the extension.
- *
- * @return The supplementary file name
- */
- protected String getSsFileName() {
- return getId() + EXTENSION;
- }
-
- /**
- * Get the state system generated by this analysis, or null if it is not yet
- * created.
- *
- * @return The state system
- */
- @Nullable
- public ITmfStateSystem getStateSystem() {
- return fStateSystem;
- }
-
- /**
- * Block the calling thread until the analysis module has been initialized.
- * After this method returns, {@link #getStateSystem()} should not return
- * null anymore.
- */
- public void waitForInitialization() {
- try {
- fInitialized.await();
- } catch (InterruptedException e) {}
- }
-
- // ------------------------------------------------------------------------
- // TmfAbstractAnalysisModule
- // ------------------------------------------------------------------------
-
- @Override
- protected boolean executeAnalysis(@Nullable final IProgressMonitor monitor) {
- IProgressMonitor mon = (monitor == null ? new NullProgressMonitor() : monitor);
- final ITmfStateProvider provider = createStateProvider();
-
- String id = getId();
-
- /* FIXME: State systems should make use of the monitor, to be cancelled */
- try {
- /* Get the state system according to backend */
- StateSystemBackendType backend = getBackendType();
- String directory;
- File htFile;
-
- ITmfTrace trace = getTrace();
- if (trace == null) {
- // Analysis was cancelled in the meantime
- fInitialized.countDown();
- return false;
- }
- switch (backend) {
- case FULL:
- directory = TmfTraceManager.getSupplementaryFileDir(trace);
- htFile = new File(directory + getSsFileName());
- createFullHistory(id, provider, htFile);
- break;
- case PARTIAL:
- directory = TmfTraceManager.getSupplementaryFileDir(trace);
- htFile = new File(directory + getSsFileName());
- createPartialHistory(id, provider, htFile);
- break;
- case INMEM:
- createInMemoryHistory(id, provider);
- break;
- case NULL:
- createNullHistory(id, provider);
- break;
- default:
- break;
- }
- } catch (TmfTraceException e) {
- fInitialized.countDown();
- return false;
- }
- return !mon.isCanceled();
- }
-
- @Override
- protected void canceling() {
- ITmfEventRequest req = fRequest;
- if ((req != null) && (!req.isCompleted())) {
- req.cancel();
- }
- }
-
- @Override
- public void dispose() {
- super.dispose();
- if (fStateSystem != null) {
- fStateSystem.dispose();
- }
- }
-
- // ------------------------------------------------------------------------
- // History creation methods
- // ------------------------------------------------------------------------
-
- /*
- * Load the history file matching the target trace. If the file already
- * exists, it will be opened directly. If not, it will be created from
- * scratch.
- */
- private void createFullHistory(String id, ITmfStateProvider provider, File htFile) throws TmfTraceException {
-
- /* If the target file already exists, do not rebuild it uselessly */
- // TODO for now we assume it's complete. Might be a good idea to check
- // at least if its range matches the trace's range.
-
- if (htFile.exists()) {
- /* Load an existing history */
- final int version = provider.getVersion();
- try {
- IStateHistoryBackend backend = new HistoryTreeBackend(htFile, version);
- fHtBackend = backend;
- fStateSystem = StateSystemFactory.newStateSystem(id, backend, false);
- fInitialized.countDown();
- return;
- } catch (IOException e) {
- /*
- * There was an error opening the existing file. Perhaps it was
- * corrupted, perhaps it's an old version? We'll just
- * fall-through and try to build a new one from scratch instead.
- */
- }
- }
-
- /* Size of the blocking queue to use when building a state history */
- final int QUEUE_SIZE = 10000;
-
- try {
- IStateHistoryBackend backend = new ThreadedHistoryTreeBackend(htFile,
- provider.getStartTime(), provider.getVersion(), QUEUE_SIZE);
- fHtBackend = backend;
- fStateSystem = StateSystemFactory.newStateSystem(id, backend);
- provider.assignTargetStateSystem(fStateSystem);
- build(provider);
- } catch (IOException e) {
- /*
- * If it fails here however, it means there was a problem writing to
- * the disk, so throw a real exception this time.
- */
- throw new TmfTraceException(e.toString(), e);
- }
- }
-
- /*
- * Create a new state system backed with a partial history. A partial
- * history is similar to a "full" one (which you get with
- * {@link #newFullHistory}), except that the file on disk is much smaller,
- * but queries are a bit slower.
- *
- * Also note that single-queries are implemented using a full-query
- * underneath, (which are much slower), so this might not be a good fit for
- * a use case where you have to do lots of single queries.
- */
- private void createPartialHistory(String id, ITmfStateProvider provider, File htPartialFile)
- throws TmfTraceException {
- /*
- * The order of initializations is very tricky (but very important!)
- * here. We need to follow this pattern:
- * (1 is done before the call to this method)
- *
- * 1- Instantiate realStateProvider
- * 2- Instantiate realBackend
- * 3- Instantiate partialBackend, with prereqs:
- * 3a- Instantiate partialProvider, via realProvider.getNew()
- * 3b- Instantiate nullBackend (partialSS's backend)
- * 3c- Instantiate partialSS
- * 3d- partialProvider.assignSS(partialSS)
- * 4- Instantiate realSS
- * 5- partialSS.assignUpstream(realSS)
- * 6- realProvider.assignSS(realSS)
- * 7- Call HistoryBuilder(realProvider, realSS, partialBackend) to build the thing.
- */
-
- /* Size of the blocking queue to use when building a state history */
- final int QUEUE_SIZE = 10000;
-
- final long granularity = 50000;
-
- /* 2 */
- IStateHistoryBackend realBackend = null;
- try {
- realBackend = new ThreadedHistoryTreeBackend(htPartialFile,
- provider.getStartTime(), provider.getVersion(), QUEUE_SIZE);
- } catch (IOException e) {
- throw new TmfTraceException(e.toString(), e);
- }
-
- /* 3a */
- ITmfStateProvider partialProvider = provider.getNewInstance();
-
- /* 3b-3c, constructor automatically uses a NullBackend */
- PartialStateSystem pss = new PartialStateSystem();
-
- /* 3d */
- partialProvider.assignTargetStateSystem(pss);
-
- /* 3 */
- IStateHistoryBackend partialBackend =
- new PartialHistoryBackend(partialProvider, pss, realBackend, granularity);
-
- /* 4 */
- @SuppressWarnings("restriction")
- org.eclipse.linuxtools.internal.statesystem.core.StateSystem realSS =
- (org.eclipse.linuxtools.internal.statesystem.core.StateSystem) StateSystemFactory.newStateSystem(id, partialBackend);
-
- /* 5 */
- pss.assignUpstream(realSS);
-
- /* 6 */
- provider.assignTargetStateSystem(realSS);
-
- /* 7 */
- fHtBackend = partialBackend;
- fStateSystem = realSS;
-
- build(provider);
- }
-
- /*
- * Create a new state system using a null history back-end. This means that
- * no history intervals will be saved anywhere, and as such only
- * {@link ITmfStateSystem#queryOngoingState} will be available.
- */
- private void createNullHistory(String id, ITmfStateProvider provider) {
- IStateHistoryBackend backend = new NullBackend();
- fHtBackend = backend;
- fStateSystem = StateSystemFactory.newStateSystem(id, backend);
- provider.assignTargetStateSystem(fStateSystem);
- build(provider);
- }
-
- /*
- * Create a new state system using in-memory interval storage. This should
- * only be done for very small state system, and will be naturally limited
- * to 2^31 intervals.
- */
- private void createInMemoryHistory(String id, ITmfStateProvider provider) {
- IStateHistoryBackend backend = new InMemoryBackend(provider.getStartTime());
- fHtBackend = backend;
- fStateSystem = StateSystemFactory.newStateSystem(id, backend);
- provider.assignTargetStateSystem(fStateSystem);
- build(provider);
- }
-
- private void disposeProvider(boolean deleteFiles) {
- ITmfStateProvider provider = fStateProvider;
- if (provider != null) {
- provider.dispose();
- }
- if (deleteFiles && (fHtBackend != null)) {
- fHtBackend.removeFiles();
- }
- }
-
- private void build(ITmfStateProvider provider) {
- if ((fStateSystem == null) || (fHtBackend == null)) {
- throw new IllegalArgumentException();
- }
-
- ITmfEventRequest request = fRequest;
- if ((request != null) && (!request.isCompleted())) {
- request.cancel();
- }
-
- request = new StateSystemEventRequest(provider);
- provider.getTrace().sendRequest(request);
-
- /*
- * Only now that we've actually started the build, we'll update the
- * class fields, so that they become visible for other callers.
- */
- fStateProvider = provider;
- fRequest = request;
-
- /*
- * The state system object is now created, we can consider this module
- * "initialized" (components can retrieve it and start doing queries).
- */
- fInitialized.countDown();
-
- /*
- * Block the executeAnalysis() construction is complete (so that the
- * progress monitor displays that it is running).
- */
- try {
- request.waitForCompletion();
- } catch (InterruptedException e) {
- e.printStackTrace();
- }
- }
-
- private class StateSystemEventRequest extends TmfEventRequest {
- private final ITmfStateProvider sci;
- private final ITmfTrace trace;
-
- public StateSystemEventRequest(ITmfStateProvider sp) {
- super(sp.getExpectedEventType(),
- TmfTimeRange.ETERNITY,
- 0,
- ITmfEventRequest.ALL_DATA,
- ITmfEventRequest.ExecutionType.BACKGROUND);
- this.sci = sp;
-
- // sci.getTrace() will eventually return a @NonNull
- @SuppressWarnings("null")
- @NonNull ITmfTrace tr = sci.getTrace();
- trace = tr;
-
- }
-
- @Override
- public void handleData(final ITmfEvent event) {
- super.handleData(event);
- if (event.getTrace() == trace) {
- sci.processEvent(event);
- } else if (trace instanceof TmfExperiment) {
- /*
- * If the request is for an experiment, check if the event is
- * from one of the child trace
- */
- for (ITmfTrace childTrace : ((TmfExperiment) trace).getTraces()) {
- if (childTrace == event.getTrace()) {
- sci.processEvent(event);
- }
- }
- }
- }
-
- @Override
- public void handleSuccess() {
- super.handleSuccess();
- disposeProvider(false);
- }
-
- @Override
- public void handleCancel() {
- super.handleCancel();
- disposeProvider(true);
- }
-
- @Override
- public void handleFailure() {
- super.handleFailure();
- disposeProvider(true);
- }
- }
-
- // ------------------------------------------------------------------------
- // ITmfAnalysisModuleWithStateSystems
- // ------------------------------------------------------------------------
-
- @Override
- @Nullable
- public ITmfStateSystem getStateSystem(String id) {
- if (id.equals(getId())) {
- return fStateSystem;
- }
- return null;
- }
-
- @Override
- public Iterable<ITmfStateSystem> getStateSystems() {
- @SuppressWarnings("null")
- @NonNull Iterable<ITmfStateSystem> ret = Collections.singleton((ITmfStateSystem) fStateSystem);
- return ret;
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/statistics/ITmfStatistics.java b/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/statistics/ITmfStatistics.java
deleted file mode 100644
index 467b1c49a0..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/statistics/ITmfStatistics.java
+++ /dev/null
@@ -1,98 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2012, 2014 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:
- * Alexandre Montplaisir - Initial API
- ******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.core.statistics;
-
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.linuxtools.tmf.core.timestamp.ITmfTimestamp;
-
-/**
- * Provider for statistics, which is assigned to a trace. This can be used to
- * populate views like the Statistics View or the Histogram.
- *
- * As a guideline, since any trace type can use this interface, all timestamps
- * should be normalized to nanoseconds when using these methods
- * ({@link ITmfTimestamp#NANOSECOND_SCALE}).
- *
- * @author Alexandre Montplaisir
- * @since 2.0
- */
-public interface ITmfStatistics {
-
- /**
- * Run a histogram query on the statistics back-end. This means, return the
- * total number of events in a series of 'nb' equal-sized ranges between
- * 'start' and 'end'. As its name implies, this is typically used to fill
- * the histogram data (where each range represents one pixel on the
- * histogram).
- *
- * This method will block the caller until the results are returned, so it
- * should not be called from a signal handler or from the UI thread.
- *
- * @param start
- * Start time of the query
- * @param end
- * End time of the query
- * @param nb
- * The number of ranges to separate the complete time range into.
- * It will be the size() of the returned array.
- * @return The array representing the number of events found in each
- * sub-range.
- */
- List<Long> histogramQuery(long start, long end, int nb);
-
- /**
- * Return the total number of events in the trace.
- *
- * @return The total number of events
- */
- long getEventsTotal();
-
- /**
- * Return a Map of the total events in the trace, per event type. The event
- * type should come from ITmfEvent.getType().getName().
- *
- * @return The map of <event_type, count>, for the whole trace
- */
- Map<String, Long> getEventTypesTotal();
-
- /**
- * Retrieve the number of events in the trace in a given time interval.
- *
- * @param start
- * Start time of the time range
- * @param end
- * End time of the time range
- * @return The number of events found
- */
- long getEventsInRange(long start, long end);
-
- /**
- * Retrieve the number of events in the trace, per event type, in a given
- * time interval.
- *
- * @param start
- * Start time of the time range
- * @param end
- * End time of the time range
- * @return The map of <event_type, count>, for the given time range
- */
- Map<String, Long> getEventTypesInRange(long start, long end);
-
- /**
- * Notify the statistics back-end that the trace is being closed, so it
- * should dispose itself as appropriate (release file descriptors, etc.)
- */
- void dispose();
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/statistics/TmfEventsStatistics.java b/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/statistics/TmfEventsStatistics.java
deleted file mode 100644
index e3d53bcd94..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/statistics/TmfEventsStatistics.java
+++ /dev/null
@@ -1,285 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2012, 2014 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:
- * Alexandre Montplaisir - Initial API and implementation
- ******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.core.statistics;
-
-import java.util.Collection;
-import java.util.HashMap;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Map;
-import java.util.TreeMap;
-
-import org.eclipse.linuxtools.tmf.core.event.ITmfEvent;
-import org.eclipse.linuxtools.tmf.core.event.ITmfLostEvent;
-import org.eclipse.linuxtools.tmf.core.request.ITmfEventRequest;
-import org.eclipse.linuxtools.tmf.core.request.TmfEventRequest;
-import org.eclipse.linuxtools.tmf.core.timestamp.ITmfTimestamp;
-import org.eclipse.linuxtools.tmf.core.timestamp.TmfTimeRange;
-import org.eclipse.linuxtools.tmf.core.timestamp.TmfTimestamp;
-import org.eclipse.linuxtools.tmf.core.trace.ITmfTrace;
-
-/**
- * Implementation of ITmfStatistics which uses event requests to the trace to
- * retrieve its information.
- *
- * There is almost no setup time, but queries themselves are longer than with a
- * TmfStateStatistics. Queries are O(n * m), where n is the size of the trace,
- * and m is the portion of the trace covered by the selected interval.
- *
- * @author Alexandre Montplaisir
- * @since 2.0
- */
-public class TmfEventsStatistics implements ITmfStatistics {
-
- /* All timestamps should be stored in nanoseconds in the statistics backend */
- private static final int SCALE = ITmfTimestamp.NANOSECOND_SCALE;
-
- private final ITmfTrace trace;
-
- /* Event request objects for the time-range request. */
- private StatsTotalRequest totalRequest = null;
- private StatsPerTypeRequest perTypeRequest = null;
-
- /**
- * Constructor
- *
- * @param trace
- * The trace for which we are building the statistics
- */
- public TmfEventsStatistics(ITmfTrace trace) {
- this.trace = trace;
- }
-
- @Override
- public void dispose() {
- cancelOngoingRequests();
- }
-
- @Override
- public List<Long> histogramQuery(long start, long end, int nb) {
- final long[] borders = new long[nb];
- final long increment = (end - start) / nb;
-
- long curTime = start;
- for (int i = 0; i < nb; i++) {
- borders[i] = curTime;
- curTime += increment;
- }
-
- HistogramQueryRequest req = new HistogramQueryRequest(borders, end);
- sendAndWait(req);
-
- List<Long> results = new LinkedList<>(req.getResults());
- return results;
-
- }
-
- private synchronized void cancelOngoingRequests() {
- if (totalRequest != null && totalRequest.isRunning()) {
- totalRequest.cancel();
- }
- if (perTypeRequest != null && perTypeRequest.isRunning()) {
- perTypeRequest.cancel();
- }
- }
-
- @Override
- public long getEventsTotal() {
- StatsTotalRequest request = new StatsTotalRequest(trace, TmfTimeRange.ETERNITY);
- sendAndWait(request);
-
- long total = request.getResult();
- return total;
- }
-
- @Override
- public Map<String, Long> getEventTypesTotal() {
- StatsPerTypeRequest request = new StatsPerTypeRequest(trace, TmfTimeRange.ETERNITY);
- sendAndWait(request);
-
- Map<String, Long> stats = request.getResults();
- return stats;
- }
-
- @Override
- public long getEventsInRange(long start, long end) {
- ITmfTimestamp startTS = new TmfTimestamp(start, SCALE);
- ITmfTimestamp endTS = new TmfTimestamp(end, SCALE);
- TmfTimeRange range = new TmfTimeRange(startTS, endTS);
-
- StatsTotalRequest request = new StatsTotalRequest(trace, range);
- sendAndWait(request);
-
- long total = request.getResult();
- return total;
- }
-
- @Override
- public Map<String, Long> getEventTypesInRange(long start, long end) {
- ITmfTimestamp startTS = new TmfTimestamp(start, SCALE);
- ITmfTimestamp endTS = new TmfTimestamp(end, SCALE);
- TmfTimeRange range = new TmfTimeRange(startTS, endTS);
-
- StatsPerTypeRequest request = new StatsPerTypeRequest(trace, range);
- sendAndWait(request);
-
- Map<String, Long> stats = request.getResults();
- return stats;
- }
-
- private void sendAndWait(TmfEventRequest request) {
- trace.sendRequest(request);
- try {
- request.waitForCompletion();
- } catch (InterruptedException e) {
- e.printStackTrace();
- }
- }
-
-
- /**
- * Event request to get the total number of events
- */
- private class StatsTotalRequest extends TmfEventRequest {
-
- /* Total number of events the request has found */
- private long total;
-
- public StatsTotalRequest(ITmfTrace trace, TmfTimeRange range) {
- super(trace.getEventType(), range, 0, ITmfEventRequest.ALL_DATA,
- ITmfEventRequest.ExecutionType.BACKGROUND);
- total = 0;
- }
-
- public long getResult() {
- return total;
- }
-
- @Override
- public void handleData(final ITmfEvent event) {
- super.handleData(event);
- if (!(event instanceof ITmfLostEvent) && event.getTrace() == trace) {
- total += 1;
- }
- }
- }
-
-
- /**
- * Event request to get the counts per event type
- */
- private class StatsPerTypeRequest extends TmfEventRequest {
-
- /* Map in which the results are saved */
- private final Map<String, Long> stats;
-
- public StatsPerTypeRequest(ITmfTrace trace, TmfTimeRange range) {
- super(trace.getEventType(), range, 0, ITmfEventRequest.ALL_DATA,
- ITmfEventRequest.ExecutionType.BACKGROUND);
- this.stats = new HashMap<>();
- }
-
- public Map<String, Long> getResults() {
- return stats;
- }
-
- @Override
- public void handleData(final ITmfEvent event) {
- super.handleData(event);
- if (event.getTrace() == trace) {
- String eventType = event.getType().getName();
- /*
- * Special handling for lost events: instead of counting just
- * one, we will count how many actual events it represents.
- */
- if (event instanceof ITmfLostEvent) {
- ITmfLostEvent le = (ITmfLostEvent) event;
- incrementStats(eventType, le.getNbLostEvents());
- return;
- }
-
- /* For standard event types, just increment by one */
- incrementStats(eventType, 1L);
- }
- }
-
- private void incrementStats(String key, long count) {
- if (stats.containsKey(key)) {
- long curValue = stats.get(key);
- stats.put(key, curValue + count);
- } else {
- stats.put(key, count);
- }
- }
- }
-
- /**
- * Event request for histogram queries. It is much faster to do one event
- * request then set the results accordingly than doing thousands of them one
- * by one.
- */
- private class HistogramQueryRequest extends TmfEventRequest {
-
- /** Map of <borders, number of events> */
- private final TreeMap<Long, Long> results;
-
- /**
- * New histogram request
- *
- * @param borders
- * The array of borders (not including the end time). The
- * first element should be the start time of the queries.
- * @param endTime
- * The end time of the query. Not used in the results map,
- * but we need to know when to stop the event request.
- */
- public HistogramQueryRequest(long[] borders, long endTime) {
- super(trace.getEventType(),
- new TmfTimeRange(
- new TmfTimestamp(borders[0], SCALE),
- new TmfTimestamp(endTime, SCALE)),
- 0,
- ITmfEventRequest.ALL_DATA,
- ITmfEventRequest.ExecutionType.BACKGROUND);
-
- /* Prepare the results map, with all counts at 0 */
- results = new TreeMap<>();
- for (long border : borders) {
- results.put(border, 0L);
- }
- }
-
- public Collection<Long> getResults() {
- return results.values();
- }
-
- @Override
- public void handleData(ITmfEvent event) {
- super.handleData(event);
- if (event.getTrace() == trace) {
- long ts = event.getTimestamp().normalize(0, SCALE).getValue();
- Long key = results.floorKey(ts);
- if (key != null) {
- incrementValue(key);
- }
- }
- }
-
- private void incrementValue(Long key) {
- long value = results.get(key);
- value++;
- results.put(key, value);
- }
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/statistics/TmfStateStatistics.java b/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/statistics/TmfStateStatistics.java
deleted file mode 100644
index 125fbdb8ef..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/statistics/TmfStateStatistics.java
+++ /dev/null
@@ -1,323 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2012, 2014 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:
- * Alexandre Montplaisir - Initial API and implementation
- * Patrick Tasse - Fix TimeRangeException
- ******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.core.statistics;
-
-import java.util.HashMap;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.jdt.annotation.NonNull;
-import org.eclipse.linuxtools.statesystem.core.ITmfStateSystem;
-import org.eclipse.linuxtools.statesystem.core.exceptions.AttributeNotFoundException;
-import org.eclipse.linuxtools.statesystem.core.exceptions.StateSystemDisposedException;
-import org.eclipse.linuxtools.statesystem.core.interval.ITmfStateInterval;
-
-/**
- * Implementation of ITmfStatistics which uses a state history for storing its
- * information. In reality, it uses two state histories, one for "event totals"
- * information (which should ideally use a fast backend), and another one for
- * the rest (per event type, per CPU, etc.).
- *
- * Compared to the event-request-based statistics calculations, it adds the
- * building the history first, but gives much faster response times once built :
- * Queries are O(log n) wrt the size of the trace, and O(1) wrt to the size of
- * the time interval selected.
- *
- * @author Alexandre Montplaisir
- * @since 2.0
- */
-public class TmfStateStatistics implements ITmfStatistics {
-
- // ------------------------------------------------------------------------
- // Fields
- // ------------------------------------------------------------------------
-
- /** The event totals state system */
- private final ITmfStateSystem totalsStats;
-
- /** The state system for event types */
- private final ITmfStateSystem typesStats;
-
- // ------------------------------------------------------------------------
- // Constructors
- // ------------------------------------------------------------------------
-
- /**
- * Constructor
- *
- * @param totals
- * The state system containing the "totals" information
- * @param eventTypes
- * The state system containing the "event types" information
- * @since 3.0
- */
- public TmfStateStatistics(@NonNull ITmfStateSystem totals, @NonNull ITmfStateSystem eventTypes) {
- this.totalsStats = totals;
- this.typesStats = eventTypes;
- }
-
- /**
- * Return the state system containing the "totals" values
- *
- * @return The "totals" state system
- * @since 3.0
- */
- public ITmfStateSystem getTotalsSS() {
- return totalsStats;
- }
-
- /**
- * Return the state system containing the "event types" values
- *
- * @return The "event types" state system
- * @since 3.0
- */
- public ITmfStateSystem getEventTypesSS() {
- return typesStats;
- }
-
- // ------------------------------------------------------------------------
- // ITmfStatistics
- // ------------------------------------------------------------------------
-
- @Override
- public void dispose() {
- totalsStats.dispose();
- typesStats.dispose();
- }
-
- @Override
- public List<Long> histogramQuery(final long start, final long end, final int nb) {
- final List<Long> list = new LinkedList<>();
- final long increment = (end - start) / nb;
-
- if (totalsStats.isCancelled()) {
- return list;
- }
-
- /*
- * We will do one state system query per "border", and save the
- * differences between each border.
- */
- long prevTotal = (start == totalsStats.getStartTime()) ? 0 : getEventCountAt(start);
- long curTime = start + increment;
-
- long curTotal, count;
- for (int i = 0; i < nb - 1; i++) {
- curTotal = getEventCountAt(curTime);
- count = curTotal - prevTotal;
- list.add(count);
-
- curTime += increment;
- prevTotal = curTotal;
- }
-
- /*
- * For the last bucket, we'll stretch its end time to the end time of
- * the requested range, in case it got truncated down.
- */
- curTotal = getEventCountAt(end);
- count = curTotal - prevTotal;
- list.add(count);
-
- return list;
- }
-
- @Override
- public long getEventsTotal() {
- long endTime = totalsStats.getCurrentEndTime();
- int count = 0;
-
- try {
- final int quark = totalsStats.getQuarkAbsolute(Attributes.TOTAL);
- count= totalsStats.querySingleState(endTime, quark).getStateValue().unboxInt();
-
- } catch (StateSystemDisposedException e) {
- /* Assume there is no events for that range */
- return 0;
- } catch (AttributeNotFoundException e) {
- e.printStackTrace();
- }
-
- return count;
- }
-
- @Override
- public Map<String, Long> getEventTypesTotal() {
- final Map<String, Long> map = new HashMap<>();
- long endTime = typesStats.getCurrentEndTime();
-
- try {
- /* Get the list of quarks, one for each even type in the database */
- int quark = typesStats.getQuarkAbsolute(Attributes.EVENT_TYPES);
- List<Integer> quarks = typesStats.getSubAttributes(quark, false);
-
- /* Since we want the total we can look only at the end */
- List<ITmfStateInterval> endState = typesStats.queryFullState(endTime);
-
- String curEventName;
- long eventCount;
- for (int typeQuark : quarks) {
- curEventName = typesStats.getAttributeName(typeQuark);
- eventCount = endState.get(typeQuark).getStateValue().unboxInt();
- map.put(curEventName, eventCount);
- }
-
- } catch (StateSystemDisposedException e) {
- /* Assume there is no events, nothing will be put in the map. */
- } catch (AttributeNotFoundException e) {
- e.printStackTrace();
- }
- return map;
- }
-
- @Override
- public long getEventsInRange(long start, long end) {
- long startCount;
- if (start == totalsStats.getStartTime()) {
- startCount = 0;
- } else {
- /*
- * We want the events happening at "start" to be included, so we'll
- * need to query one unit before that point.
- */
- startCount = getEventCountAt(start - 1);
- }
- long endCount = getEventCountAt(end);
-
- return endCount - startCount;
- }
-
- @Override
- public Map<String, Long> getEventTypesInRange(long start, long end) {
- final Map<String, Long> map = new HashMap<>();
- List<Integer> quarks;
-
- /* Make sure the start/end times are within the state history, so we
- * don't get TimeRange exceptions.
- */
- long startTime = checkStartTime(start, typesStats);
- long endTime = checkEndTime(end, typesStats);
- if (endTime < startTime) {
- /* The start/end times do not intersect this state system range.
- * Return the empty map. */
- return map;
- }
-
- try {
- /* Get the list of quarks, one for each even type in the database */
- int quark = typesStats.getQuarkAbsolute(Attributes.EVENT_TYPES);
- quarks = typesStats.getSubAttributes(quark, false);
- } catch (AttributeNotFoundException e) {
- /*
- * The state system does not (yet?) have the needed attributes, it
- * probably means there are no events counted yet. Return the empty
- * map.
- */
- return map;
- }
-
- try {
- List<ITmfStateInterval> endState = typesStats.queryFullState(endTime);
-
- if (startTime == typesStats.getStartTime()) {
- /* Only use the values picked up at the end time */
- for (int typeQuark : quarks) {
- String curEventName = typesStats.getAttributeName(typeQuark);
- long eventCount = endState.get(typeQuark).getStateValue().unboxInt();
- if (eventCount == -1) {
- eventCount = 0;
- }
- map.put(curEventName, eventCount);
- }
- } else {
- /*
- * Query the start time at -1, so the beginning of the interval
- * is inclusive.
- */
- List<ITmfStateInterval> startState = typesStats.queryFullState(startTime - 1);
- for (int typeQuark : quarks) {
- String curEventName = typesStats.getAttributeName(typeQuark);
- long countAtStart = startState.get(typeQuark).getStateValue().unboxInt();
- long countAtEnd = endState.get(typeQuark).getStateValue().unboxInt();
-
- if (countAtStart == -1) {
- countAtStart = 0;
- }
- if (countAtEnd == -1) {
- countAtEnd = 0;
- }
- long eventCount = countAtEnd - countAtStart;
- map.put(curEventName, eventCount);
- }
- }
-
- } catch (StateSystemDisposedException e) {
- /* Assume there is no (more) events, nothing will be put in the map. */
- }
- return map;
- }
-
- // ------------------------------------------------------------------------
- // Helper methods
- // ------------------------------------------------------------------------
-
- private long getEventCountAt(long timestamp) {
- /* Make sure the target time is within the range of the history */
- long ts = checkStartTime(timestamp, totalsStats);
- ts = checkEndTime(ts, totalsStats);
-
- try {
- final int quark = totalsStats.getQuarkAbsolute(Attributes.TOTAL);
- long count = totalsStats.querySingleState(ts, quark).getStateValue().unboxInt();
- return count;
-
- } catch (StateSystemDisposedException e) {
- /* Assume there is no (more) events, nothing will be put in the map. */
- } catch (AttributeNotFoundException e) {
- e.printStackTrace();
- }
-
- return 0;
- }
-
- private static long checkStartTime(long initialStart, ITmfStateSystem ss) {
- long start = initialStart;
- if (start < ss.getStartTime()) {
- return ss.getStartTime();
- }
- return start;
- }
-
- private static long checkEndTime(long initialEnd, ITmfStateSystem ss) {
- long end = initialEnd;
- if (end > ss.getCurrentEndTime()) {
- return ss.getCurrentEndTime();
- }
- return end;
- }
-
- /**
- * The attribute names that are used in the state provider
- */
- public static class Attributes {
-
- /** Total nb of events */
- public static final String TOTAL = "total"; //$NON-NLS-1$
-
- /** event_types */
- public static final String EVENT_TYPES = "event_types"; //$NON-NLS-1$<
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/statistics/TmfStatisticsEventTypesModule.java b/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/statistics/TmfStatisticsEventTypesModule.java
deleted file mode 100644
index fec4665b60..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/statistics/TmfStatisticsEventTypesModule.java
+++ /dev/null
@@ -1,161 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013, 2014 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:
- * Alexandre Montplaisir - Initial API and implementation
- ******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.core.statistics;
-
-import org.eclipse.jdt.annotation.NonNull;
-import org.eclipse.linuxtools.statesystem.core.exceptions.AttributeNotFoundException;
-import org.eclipse.linuxtools.statesystem.core.exceptions.StateValueTypeException;
-import org.eclipse.linuxtools.statesystem.core.exceptions.TimeRangeException;
-import org.eclipse.linuxtools.statesystem.core.statevalue.TmfStateValue;
-import org.eclipse.linuxtools.tmf.core.event.ITmfEvent;
-import org.eclipse.linuxtools.tmf.core.event.ITmfLostEvent;
-import org.eclipse.linuxtools.tmf.core.statesystem.AbstractTmfStateProvider;
-import org.eclipse.linuxtools.tmf.core.statesystem.ITmfStateProvider;
-import org.eclipse.linuxtools.tmf.core.statesystem.TmfStateSystemAnalysisModule;
-import org.eclipse.linuxtools.tmf.core.statistics.TmfStateStatistics.Attributes;
-import org.eclipse.linuxtools.tmf.core.timestamp.ITmfTimestamp;
-import org.eclipse.linuxtools.tmf.core.trace.ITmfTrace;
-
-/**
- * The analysis module building the "event types" statistics state system.
- *
- * It is not in the extension point (and as such, not registered in the
- * TmfAnalysisManager), as it is being handled by the TmfStatisticsModule.
- *
- * @author Alexandre Montplaisir
- * @since 3.0
- */
-public class TmfStatisticsEventTypesModule extends TmfStateSystemAnalysisModule {
-
- /**
- * The ID of this analysis module (which is also the ID of the state system)
- */
- @NonNull
- public static final String ID = "org.eclipse.linuxtools.tmf.statistics.types"; //$NON-NLS-1$
-
- private static final String NAME = "TMF Statistics, events per type"; //$NON-NLS-1$
-
- /**
- * Constructor
- */
- public TmfStatisticsEventTypesModule() {
- super();
- setId(ID);
- setName(NAME);
- }
-
- @Override
- protected ITmfStateProvider createStateProvider() {
- return new StatsProviderEventTypes(getTrace());
- }
-
- @Override
- protected String getSsFileName() {
- return "statistics-types.ht"; //$NON-NLS-1$
- }
-
-
- /**
- * The state provider for traces statistics that use TmfStateStatistics. It
- * should work with any trace type for which we can use the state system.
- *
- * It will store number of events seen, per event types. The resulting attribute
- * tree will look like this:
- *
- * <pre>
- * (root)
- * \-- event_types
- * |-- (event name 1)
- * |-- (event name 2)
- * |-- (event name 3)
- * ...
- * </pre>
- *
- * And each (event name)'s value will be an integer, representing how many times
- * this particular event type has been seen in the trace so far.
- *
- * @author Alexandre Montplaisir
- * @version 1.0
- */
- class StatsProviderEventTypes extends AbstractTmfStateProvider {
-
- /**
- * Version number of this input handler. Please bump this if you modify the
- * contents of the generated state history in some way.
- */
- private static final int VERSION = 2;
-
- /**
- * Constructor
- *
- * @param trace
- * The trace for which we build this state system
- */
- public StatsProviderEventTypes(ITmfTrace trace) {
- super(trace, ITmfEvent.class ,"TMF Statistics, events per type"); //$NON-NLS-1$
- }
-
- @Override
- public int getVersion() {
- return VERSION;
- }
-
- @Override
- public StatsProviderEventTypes getNewInstance() {
- return new StatsProviderEventTypes(this.getTrace());
- }
-
- @Override
- protected void eventHandle(ITmfEvent event) {
- int quark;
-
- /* Since this can be used for any trace types, normalize all the
- * timestamp values to nanoseconds. */
- final long ts = event.getTimestamp().normalize(0, ITmfTimestamp.NANOSECOND_SCALE).getValue();
-
- final String eventName = event.getType().getName();
-
- try {
- /* Special handling for lost events */
- if (event instanceof ITmfLostEvent) {
- ITmfLostEvent le = (ITmfLostEvent) event;
- quark = ss.getQuarkAbsoluteAndAdd(Attributes.EVENT_TYPES, eventName);
-
- int curVal = ss.queryOngoingState(quark).unboxInt();
- if (curVal == -1) {
- curVal = 0;
- }
-
- TmfStateValue value = TmfStateValue.newValueInt((int) (curVal + le.getNbLostEvents()));
- ss.modifyAttribute(ts, value, quark);
- return;
- }
-
- /* Number of events of each type, globally */
- quark = ss.getQuarkAbsoluteAndAdd(Attributes.EVENT_TYPES, eventName);
- ss.incrementAttribute(ts, quark);
-
-// /* Number of events per CPU */
-// quark = ss.getQuarkRelativeAndAdd(currentCPUNode, Attributes.STATISTICS, Attributes.EVENT_TYPES, eventName);
-// ss.incrementAttribute(ts, quark);
- //
-// /* Number of events per process */
-// quark = ss.getQuarkRelativeAndAdd(currentThreadNode, Attributes.STATISTICS, Attributes.EVENT_TYPES, eventName);
-// ss.incrementAttribute(ts, quark);
-
- } catch (StateValueTypeException | TimeRangeException | AttributeNotFoundException e) {
- e.printStackTrace();
- }
- }
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/statistics/TmfStatisticsModule.java b/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/statistics/TmfStatisticsModule.java
deleted file mode 100644
index 36c444582e..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/statistics/TmfStatisticsModule.java
+++ /dev/null
@@ -1,191 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013, 2014 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:
- * Alexandre Montplaisir - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.core.statistics;
-
-import java.util.LinkedList;
-import java.util.List;
-import java.util.concurrent.CountDownLatch;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.jdt.annotation.Nullable;
-import org.eclipse.linuxtools.statesystem.core.ITmfStateSystem;
-import org.eclipse.linuxtools.tmf.core.analysis.TmfAbstractAnalysisModule;
-import org.eclipse.linuxtools.tmf.core.exceptions.TmfAnalysisException;
-import org.eclipse.linuxtools.tmf.core.statesystem.ITmfAnalysisModuleWithStateSystems;
-import org.eclipse.linuxtools.tmf.core.statesystem.TmfStateSystemAnalysisModule;
-import org.eclipse.linuxtools.tmf.core.trace.ITmfTrace;
-
-/**
- * Analysis module to compute the statistics of a trace.
- *
- * @author Alexandre Montplaisir
- * @since 3.0
- */
-public class TmfStatisticsModule extends TmfAbstractAnalysisModule
- implements ITmfAnalysisModuleWithStateSystems {
-
- /** ID of this analysis module */
- public static final String ID = "org.eclipse.linuxtools.tmf.core.statistics.analysis"; //$NON-NLS-1$
-
- /** The trace's statistics */
- private ITmfStatistics fStatistics = null;
-
- private final TmfStateSystemAnalysisModule totalsModule = new TmfStatisticsTotalsModule();
- private final TmfStateSystemAnalysisModule eventTypesModule = new TmfStatisticsEventTypesModule();
-
- private final CountDownLatch fInitialized = new CountDownLatch(1);
-
- /**
- * Constructor
- */
- public TmfStatisticsModule() {
- super();
- }
-
- /**
- * Get the statistics object built by this analysis
- *
- * @return The ITmfStatistics object
- */
- @Nullable
- public ITmfStatistics getStatistics() {
- return fStatistics;
- }
-
- /**
- * Wait until the analyses/state systems underneath are ready to be queried.
- */
- public void waitForInitialization() {
- try {
- fInitialized.await();
- } catch (InterruptedException e) {}
- }
-
- // ------------------------------------------------------------------------
- // TmfAbstractAnalysisModule
- // ------------------------------------------------------------------------
-
- @Override
- public void dispose() {
- /*
- * The sub-analyses are not registered to the trace directly, so we need
- * to tell them when the trace is disposed.
- */
- super.dispose();
- totalsModule.dispose();
- eventTypesModule.dispose();
- }
-
- @Override
- public void setTrace(ITmfTrace trace) throws TmfAnalysisException {
- super.setTrace(trace);
-
- /*
- * Since these sub-analyzes are not built from an extension point, we
- * have to assign the trace ourselves. Very important to do so before
- * calling schedule()!
- */
- totalsModule.setTrace(trace);
- eventTypesModule.setTrace(trace);
- }
-
- @Override
- protected boolean executeAnalysis(IProgressMonitor monitor) throws TmfAnalysisException {
- ITmfTrace trace = getTrace();
- if (trace == null) {
- /* This analysis was cancelled in the meantime */
- fInitialized.countDown();
- return false;
- }
-
- IStatus status1 = totalsModule.schedule();
- IStatus status2 = eventTypesModule.schedule();
- if (!(status1.isOK() && status2.isOK())) {
- cancelSubAnalyses();
- fInitialized.countDown();
- return false;
- }
-
- /* Wait until the two modules are initialized */
- totalsModule.waitForInitialization();
- eventTypesModule.waitForInitialization();
-
- ITmfStateSystem totalsSS = totalsModule.getStateSystem();
- ITmfStateSystem eventTypesSS = eventTypesModule.getStateSystem();
-
- if (totalsSS == null || eventTypesSS == null) {
- /* This analysis was cancelled in the meantime */
- fInitialized.countDown();
- return false;
- }
-
- fStatistics = new TmfStateStatistics(totalsSS, eventTypesSS);
-
- /* fStatistics is now set, consider this module initialized */
- fInitialized.countDown();
-
- /*
- * The rest of this "execute" will encompass the "execute" of the two
- * sub-analyzes.
- */
- if (!(totalsModule.waitForCompletion(monitor) &&
- eventTypesModule.waitForCompletion(monitor))) {
- return false;
- }
- return true;
- }
-
- @Override
- protected void canceling() {
- /*
- * FIXME The "right" way to cancel state system construction is not
- * available yet...
- */
- cancelSubAnalyses();
-
- ITmfStatistics stats = fStatistics;
- if (stats != null) {
- stats.dispose();
- }
- }
-
- private void cancelSubAnalyses() {
- totalsModule.cancel();
- eventTypesModule.cancel();
- }
-
- // ------------------------------------------------------------------------
- // ITmfStateSystemAnalysisModule
- // ------------------------------------------------------------------------
-
- @Override
- public ITmfStateSystem getStateSystem(String id) {
- switch (id) {
- case TmfStatisticsTotalsModule.ID:
- return totalsModule.getStateSystem();
- case TmfStatisticsEventTypesModule.ID:
- return eventTypesModule.getStateSystem();
- default:
- return null;
- }
- }
-
- @Override
- public Iterable<ITmfStateSystem> getStateSystems() {
- List<ITmfStateSystem> list = new LinkedList<>();
- list.add(totalsModule.getStateSystem());
- list.add(eventTypesModule.getStateSystem());
- return list;
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/statistics/TmfStatisticsTotalsModule.java b/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/statistics/TmfStatisticsTotalsModule.java
deleted file mode 100644
index 513f7deeb2..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/statistics/TmfStatisticsTotalsModule.java
+++ /dev/null
@@ -1,130 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013, 2014 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:
- * Alexandre Montplaisir - Initial API and implementation
- ******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.core.statistics;
-
-import org.eclipse.linuxtools.statesystem.core.exceptions.AttributeNotFoundException;
-import org.eclipse.linuxtools.statesystem.core.exceptions.StateValueTypeException;
-import org.eclipse.linuxtools.statesystem.core.exceptions.TimeRangeException;
-import org.eclipse.linuxtools.tmf.core.event.ITmfEvent;
-import org.eclipse.linuxtools.tmf.core.event.ITmfLostEvent;
-import org.eclipse.linuxtools.tmf.core.statesystem.AbstractTmfStateProvider;
-import org.eclipse.linuxtools.tmf.core.statesystem.ITmfStateProvider;
-import org.eclipse.linuxtools.tmf.core.statesystem.TmfStateSystemAnalysisModule;
-import org.eclipse.linuxtools.tmf.core.statistics.TmfStateStatistics.Attributes;
-import org.eclipse.linuxtools.tmf.core.timestamp.ITmfTimestamp;
-import org.eclipse.linuxtools.tmf.core.trace.ITmfTrace;
-
-/**
- * The analysis module building the "totals" statistics state system.
- *
- * It is not in the extension point (and as such, not registered in the
- * TmfAnalysisManager), as it is being handled by the TmfStatisticsModule.
- *
- * @author Alexandre Montplaisir
- * @since 3.0
- */
-public class TmfStatisticsTotalsModule extends TmfStateSystemAnalysisModule {
-
- /**
- * The ID of this analysis module (which is also the ID of the state system)
- */
- public static final String ID = "org.eclipse.linuxtools.tmf.statistics.totals"; //$NON-NLS-1$
-
- private static final String NAME = "TMF Statistics, event totals"; //$NON-NLS-1$
-
- /**
- * Constructor
- */
- public TmfStatisticsTotalsModule() {
- super();
- setId(ID);
- setName(NAME);
- }
-
- @Override
- protected ITmfStateProvider createStateProvider() {
- return new StatsProviderTotals(getTrace());
- }
-
- @Override
- protected String getSsFileName() {
- return "statistics-totals.ht"; //$NON-NLS-1$
- }
-
-
- /**
- * The state provider for traces statistics that use TmfStateStatistics. It
- * should work with any trace type for which we can use the state system.
- *
- * Only one attribute will be stored, containing the total of events seen so
- * far. The resulting attribute tree will look like this:
- *
- * <pre>
- * (root)
- * \-- total
- * </pre>
- *
- * @author Alexandre Montplaisir
- * @version 1.0
- */
- class StatsProviderTotals extends AbstractTmfStateProvider {
-
- /**
- * Version number of this input handler. Please bump this if you modify the
- * contents of the generated state history in some way.
- */
- private static final int VERSION = 2;
-
- /**
- * Constructor
- *
- * @param trace
- * The trace for which we build this state system
- */
- public StatsProviderTotals(ITmfTrace trace) {
- super(trace, ITmfEvent.class , NAME);
- }
-
- @Override
- public int getVersion() {
- return VERSION;
- }
-
- @Override
- public StatsProviderTotals getNewInstance() {
- return new StatsProviderTotals(this.getTrace());
- }
-
- @Override
- protected void eventHandle(ITmfEvent event) {
- /* Do not count lost events in the total */
- if (event instanceof ITmfLostEvent) {
- return;
- }
-
- /* Since this can be used for any trace types, normalize all the
- * timestamp values to nanoseconds. */
- final long ts = event.getTimestamp().normalize(0, ITmfTimestamp.NANOSECOND_SCALE).getValue();
-
- try {
- /* Total number of events */
- int quark = ss.getQuarkAbsoluteAndAdd(Attributes.TOTAL);
- ss.incrementAttribute(ts, quark);
-
- } catch (StateValueTypeException | TimeRangeException | AttributeNotFoundException e) {
- e.printStackTrace();
- }
- }
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/synchronization/ITmfTimestampTransform.java b/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/synchronization/ITmfTimestampTransform.java
deleted file mode 100644
index 9e24bb86cb..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/synchronization/ITmfTimestampTransform.java
+++ /dev/null
@@ -1,57 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 École Polytechnique de Montréal
- *
- * 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:
- * Geneviève Bastien - Initial implementation and API
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.core.synchronization;
-
-import java.io.Serializable;
-
-import org.eclipse.linuxtools.tmf.core.timestamp.ITmfTimestamp;
-
-/**
- * This class contains a formula to transform the value of a timestamp, for
- * example after trace synchronization
- *
- * @author Geneviève Bastien
- * @since 3.0
- */
-public interface ITmfTimestampTransform extends Serializable {
-
- /**
- * Transforms a timestamp
- *
- * @param timestamp
- * The timestamp to transform
- * @return the transformed timestamp
- */
- ITmfTimestamp transform(ITmfTimestamp timestamp);
-
- /**
- * Transforms a timestamp value
- *
- * @param timestamp
- * The timestamp to transform in nanoseconds
- * @return the transformed value
- */
- long transform(long timestamp);
-
- /**
- * Returns a timestamp transform that is the composition of two timestamp
- * transforms.
- *
- * @param composeWith
- * The transform to first apply on the timestamp before applying
- * the current object
- * @return A new timestamp transform object with the resulting composition.
- */
- ITmfTimestampTransform composeWith(ITmfTimestampTransform composeWith);
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/synchronization/Messages.java b/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/synchronization/Messages.java
deleted file mode 100644
index 757cbccec1..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/synchronization/Messages.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 École Polytechnique de Montréal
- *
- * 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:
- * Geneviève Bastien - Initial implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.core.synchronization;
-
-import org.eclipse.osgi.util.NLS;
-
-/**
- * Messages class
- *
- * @since 3.0
- */
-@SuppressWarnings("javadoc")
-public class Messages extends NLS {
- private static final String BUNDLE_NAME = "org.eclipse.linuxtools.tmf.core.synchronization.messages"; //$NON-NLS-1$
- public static String SyncAlgorithmFullyIncremental_absent;
- public static String SyncAlgorithmFullyIncremental_alpha;
- public static String SyncAlgorithmFullyIncremental_beta;
- public static String SyncAlgorithmFullyIncremental_T_;
- public static String SyncAlgorithmFullyIncremental_otherformula;
- public static String SyncAlgorithmFullyIncremental_mult;
- public static String SyncAlgorithmFullyIncremental_add;
- public static String SyncAlgorithmFullyIncremental_ub;
- public static String SyncAlgorithmFullyIncremental_lb;
- public static String SyncAlgorithmFullyIncremental_accuracy;
- public static String SyncAlgorithmFullyIncremental_accurate;
- public static String SyncAlgorithmFullyIncremental_approx;
- public static String SyncAlgorithmFullyIncremental_fail;
- public static String SyncAlgorithmFullyIncremental_incomplete;
- public static String SyncAlgorithmFullyIncremental_nbmatch;
- public static String SyncAlgorithmFullyIncremental_nbacc;
- public static String SyncAlgorithmFullyIncremental_refhost;
- public static String SyncAlgorithmFullyIncremental_otherhost;
- public static String SyncAlgorithmFullyIncremental_refformula;
- public static String SyncAlgorithmFullyIncremental_NA;
- public static String SyncAlgorithmFullyIncremental_quality;
- static {
- // initialize resource bundle
- NLS.initializeMessages(BUNDLE_NAME, Messages.class);
- }
-
- private Messages() {
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/synchronization/SyncAlgorithmFullyIncremental.java b/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/synchronization/SyncAlgorithmFullyIncremental.java
deleted file mode 100644
index 25208fb56a..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/synchronization/SyncAlgorithmFullyIncremental.java
+++ /dev/null
@@ -1,626 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 École Polytechnique de Montréal
- *
- * 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:
- * Geneviève Bastien - Initial implementation and API
- * Francis Giraldeau - Transform computation using synchronization graph
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.core.synchronization;
-
-import java.io.IOException;
-import java.io.ObjectOutputStream;
-import java.io.Serializable;
-import java.math.BigDecimal;
-import java.math.MathContext;
-import java.util.Collection;
-import java.util.LinkedHashMap;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.linuxtools.internal.tmf.core.synchronization.graph.SyncSpanningTree;
-import org.eclipse.linuxtools.tmf.core.event.ITmfEvent;
-import org.eclipse.linuxtools.tmf.core.event.matching.TmfEventDependency;
-import org.eclipse.linuxtools.tmf.core.synchronization.ITmfTimestampTransform;
-import org.eclipse.linuxtools.tmf.core.synchronization.Messages;
-import org.eclipse.linuxtools.tmf.core.synchronization.SynchronizationAlgorithm;
-import org.eclipse.linuxtools.tmf.core.synchronization.TimestampTransformFactory;
-import org.eclipse.linuxtools.tmf.core.timestamp.ITmfTimestamp;
-import org.eclipse.linuxtools.tmf.core.trace.ITmfTrace;
-
-/**
- * Class implementing fully incremental trace synchronization approach as
- * described in
- *
- * Masoume Jabbarifar, Michel Dagenais and Alireza Shameli-Sendi,
- * "Streaming Mode Incremental Clock Synchronization"
- *
- * Since the algorithm itself applies to two traces, it is implemented in a
- * private class, while this public class manages the synchronization between
- * all traces.
- *
- * @author Geneviève Bastien
- * @since 3.0
- * @deprecated This class has been moved to internal. Use one of
- * {@link SynchronizationAlgorithmFactory#getFullyIncrementalAlgorithm()}
- * method to get this algorithm.
- */
-@Deprecated
-public class SyncAlgorithmFullyIncremental extends SynchronizationAlgorithm {
-
- /**
- * Auto-generated serial UID
- */
- private static final long serialVersionUID = -1782788842774838830L;
-
- private static final MathContext fMc = MathContext.DECIMAL128;
-
- /** @serial */
- private final List<ConvexHull> fSyncs;
-
- private SyncSpanningTree fTree = null;
-
- /**
- * Initialization of the attributes
- */
- public SyncAlgorithmFullyIncremental() {
- fSyncs = new LinkedList<>();
- }
-
- /**
- * Function called after all matching has been done, to do any post-match
- * treatment. For this class, it calculates stats, while the data is
- * available
- */
- @Override
- public void matchingEnded() {
- getStats();
- }
-
- @Override
- public void init(Collection<ITmfTrace> traces) {
- ITmfTrace[] traceArr = traces.toArray(new ITmfTrace[traces.size()]);
- fSyncs.clear();
- /* Create a convex hull for all trace pairs */
- // FIXME: is it necessary to make ConvexHull for every pairs up-front?
- // The ConvexHull seems to be created on the fly in processMatch().
- for (int i = 0; i < traceArr.length; i++) {
- for (int j = i + 1; j < traceArr.length; j++) {
- ConvexHull algo = new ConvexHull(traceArr[i].getHostId(), traceArr[j].getHostId());
- fSyncs.add(algo);
- }
- }
- }
-
- @Override
- protected void processMatch(TmfEventDependency match) {
- String host1 = match.getSourceEvent().getTrace().getHostId();
- String host2 = match.getDestinationEvent().getTrace().getHostId();
-
- /* Process only if source and destination are different */
- if (host1.equals(host2)) {
- return;
- }
-
- /* Check if a convex hull algorithm already exists for these 2 hosts */
- ConvexHull algo = null;
- for (ConvexHull traceSync : fSyncs) {
- if (traceSync.isForHosts(host1, host2)) {
- algo = traceSync;
- }
- }
- if (algo == null) {
- algo = new ConvexHull(host1, host2);
- fSyncs.add(algo);
- }
- algo.processMatch(match);
- invalidateSyncGraph();
- }
-
- private void invalidateSyncGraph() {
- fTree = null;
- }
-
- @Override
- public ITmfTimestampTransform getTimestampTransform(ITmfTrace trace) {
- return getTimestampTransform(trace.getHostId());
- }
-
- @Override
- public ITmfTimestampTransform getTimestampTransform(String hostId) {
- SyncSpanningTree tree = getSyncTree();
- return tree.getTimestampTransform(hostId);
- }
-
- /**
- * Each convex hull computes the synchronization between 2 given hosts. A
- * synchronization can be done on multiple hosts that may not all
- * communicate with each other. We must use another algorithm to determine
- * which host will be the reference node and what synchronization formula
- * will be used between each host and this reference node.
- *
- * For example, take traces a, b and c where a and c talk to b but do not
- * know each other ({@literal a <-> b <-> c}). The convex hulls will contain
- * the formulae between their 2 traces, but if a is the reference node, then
- * the resulting formula of c would be the composition of {@literal a <-> b}
- * and {@literal b <-> c}
- *
- * @return The synchronization spanning tree for this synchronization
- */
- private SyncSpanningTree getSyncTree() {
- if (fTree == null) {
- fTree = new SyncSpanningTree();
- for (ConvexHull traceSync : fSyncs) {
- SyncQuality q = traceSync.getQuality();
- if (q == SyncQuality.ACCURATE || q == SyncQuality.APPROXIMATE) {
- String from = traceSync.getReferenceHost();
- String to = traceSync.getOtherHost();
- fTree.addSynchronization(from, to, traceSync.getTimestampTransform(to), traceSync.getAccuracy());
- }
- }
- }
- return fTree;
- }
-
- @Override
- public SyncQuality getSynchronizationQuality(ITmfTrace trace1, ITmfTrace trace2) {
- for (ConvexHull traceSync : fSyncs) {
- if (traceSync.isForHosts(trace1.getHostId(), trace2.getHostId())) {
- return traceSync.getQuality();
- }
- }
- return SyncQuality.ABSENT;
- }
-
- @Override
- public boolean isTraceSynced(String hostId) {
- ITmfTimestampTransform t = getTimestampTransform(hostId);
- return !t.equals(TimestampTransformFactory.getDefaultTransform());
- }
-
- @Override
- public Map<String, Map<String, Object>> getStats() {
- /*
- * TODO: Stats, while still accurate, may be misleading now that the
- * sync tree changes synchronization formula. The stats should use the
- * tree instead
- */
- Map<String, Map<String, Object>> statmap = new LinkedHashMap<>();
- for (ConvexHull traceSync : fSyncs) {
- statmap.put(traceSync.getReferenceHost() + " <==> " + traceSync.getOtherHost(), traceSync.getStats()); //$NON-NLS-1$
- }
- return statmap;
- }
-
- @Override
- public String toString() {
- StringBuilder b = new StringBuilder();
- b.append(getClass().getSimpleName() + " "); //$NON-NLS-1$
- b.append(fSyncs);
- return b.toString();
- }
-
- /**
- * This is the actual synchronization algorithm between two traces using
- * convex hull
- */
- private class ConvexHull implements Serializable {
-
- private static final long serialVersionUID = 8309351175030935291L;
-
- /**
- * The list of meaningful points on the upper hull (received by the
- * reference trace, below in a graph)
- */
- private final LinkedList<SyncPoint> fUpperBoundList = new LinkedList<>();
-
- /**
- * The list of meaninful points on the lower hull (sent by the reference
- * trace, above in a graph)
- */
- private final LinkedList<SyncPoint> fLowerBoundList = new LinkedList<>();
-
- /** Points forming the line with maximum slope */
- private final SyncPoint[] fLmax;
-
- /** Points forming the line with minimum slope */
- private final SyncPoint[] fLmin;
-
- /**
- * Slopes and ordinate at origin of respectively fLmin, fLmax and the
- * bisector
- */
- private BigDecimal fAlphamin, fBetamax, fAlphamax, fBetamin, fAlpha, fBeta;
-
- private int fNbMatches, fNbAccurateMatches;
- private String fReferenceHost = "", fOtherHost = ""; //$NON-NLS-1$//$NON-NLS-2$
- private SyncQuality fQuality;
-
- private Map<String, Object> fStats = new LinkedHashMap<>();
-
- /**
- * Initialization of the attributes
- *
- * @param host1
- * ID of the first host
- * @param host2
- * ID of the second host
- */
- public ConvexHull(String host1, String host2) {
- if (host1.compareTo(host2) > 0) {
- fReferenceHost = host2;
- fOtherHost = host1;
- } else {
- fReferenceHost = host1;
- fOtherHost = host2;
- }
- fLmax = new SyncPoint[2];
- fLmin = new SyncPoint[2];
- fAlpha = BigDecimal.ONE;
- fAlphamax = BigDecimal.ONE;
- fAlphamin = BigDecimal.ONE;
- fBeta = BigDecimal.ZERO;
- fBetamax = BigDecimal.ZERO;
- fBetamin = BigDecimal.ZERO;
- fNbMatches = 0;
- fNbAccurateMatches = 0;
- fQuality = SyncQuality.ABSENT; // default quality
- }
-
- protected void processMatch(TmfEventDependency match) {
-
- LinkedList<SyncPoint> boundList, otherBoundList;
-
- SyncPoint[] line, otherLine;
- SyncPoint p;
- int inversionFactor = 1;
- boolean qualify = false;
- fNbMatches++;
-
- /* Initialize data depending on the which hull the match is part of */
- if (match.getSourceEvent().getTrace().getHostId().compareTo(match.getDestinationEvent().getTrace().getHostId()) > 0) {
- boundList = fUpperBoundList;
- otherBoundList = fLowerBoundList;
- line = fLmin;
- otherLine = fLmax;
- p = new SyncPoint(match.getDestinationEvent(), match.getSourceEvent());
- inversionFactor = 1;
- } else {
- boundList = fLowerBoundList;
- otherBoundList = fUpperBoundList;
- line = fLmax;
- otherLine = fLmin;
- p = new SyncPoint(match.getSourceEvent(), match.getDestinationEvent());
- inversionFactor = -1;
- }
-
- /*
- * Does the message qualify for the hull, or is in on the wrong side
- * of the reference line
- */
- if ((line[0] == null) || (line[1] == null) || (p.crossProduct(line[0], line[1]) * inversionFactor > 0)) {
- /*
- * If message qualifies, verify if points need to be removed
- * from the hull and add the new point as the maximum reference
- * point for the line. Also clear the stats that are not good
- * anymore
- */
- fNbAccurateMatches++;
- qualify = true;
- removeUselessPoints(p, boundList, inversionFactor);
- line[1] = p;
- fStats.clear();
- }
-
- /*
- * Adjust the boundary of the reference line and if one of the
- * reference point of the other line was removed from the hull, also
- * adjust the other line
- */
- adjustBound(line, otherBoundList, inversionFactor);
- if ((otherLine[1] != null) && !boundList.contains(otherLine[0])) {
- adjustBound(otherLine, boundList, inversionFactor * -1);
- }
-
- if (qualify) {
- approximateSync();
- }
-
- }
-
- /**
- * Calculates slopes and ordinate at origin of fLmax and fLmin to obtain
- * and approximation of the synchronization at this time
- */
- private void approximateSync() {
-
- /**
- * Line slopes functions
- *
- * Lmax = alpha_max T + beta_min
- *
- * Lmin = alpha_min T + beta_max
- */
- if ((fLmax[0] != null) || (fLmin[0] != null)) {
- /**
- * Do not recalculate synchronization after it is failed. We
- * keep the last not failed result.
- */
- if (getQuality() != SyncQuality.FAIL) {
- BigDecimal alphamax = fLmax[1].getAlpha(fLmax[0]);
- BigDecimal alphamin = fLmin[1].getAlpha(fLmin[0]);
- SyncQuality quality = null;
-
- if ((fLmax[0] == null) || (fLmin[0] == null)) {
- quality = SyncQuality.APPROXIMATE;
- }
- else if (alphamax.compareTo(alphamin) > 0) {
- quality = SyncQuality.ACCURATE;
- } else {
- /* Lines intersect, not good */
- quality = SyncQuality.FAIL;
- }
- /*
- * Only calculate sync if this match does not cause failure
- * of synchronization
- */
- if (quality != SyncQuality.FAIL) {
- fAlphamax = alphamax;
- fBetamin = fLmax[1].getBeta(fAlphamax);
- fAlphamin = alphamin;
- fBetamax = fLmin[1].getBeta(fAlphamin);
- fAlpha = fAlphamax.add(fAlphamin).divide(BigDecimal.valueOf(2), fMc);
- fBeta = fBetamin.add(fBetamax).divide(BigDecimal.valueOf(2), fMc);
- }
- setQuality(quality);
- }
- } else if (((fLmax[0] == null) && (fLmin[1] == null))
- || ((fLmax[1] == null) && (fLmin[0] == null))) {
- /* Either there is no upper hull point or no lower hull */
- setQuality(SyncQuality.INCOMPLETE);
- }
- }
-
- /*
- * Verify if the line should be adjusted to be more accurate give the
- * hull
- */
- private void adjustBound(SyncPoint[] line, LinkedList<SyncPoint> otherBoundList, int inversionFactor) {
- SyncPoint minPoint = null, nextPoint;
- boolean finishedSearch = false;
-
- /*
- * Find in the other bound, the origin point of the line, start from
- * the beginning if the point was lost
- */
- int i = Math.max(0, otherBoundList.indexOf(line[0]));
-
- while ((i < otherBoundList.size() - 1) && !finishedSearch) {
- minPoint = otherBoundList.get(i);
- nextPoint = otherBoundList.get(i + 1);
-
- /*
- * If the rotation (cross-product) is not optimal, move to next
- * point as reference for the line (if available)
- *
- * Otherwise, the current minPoint is the minPoint of the line
- */
- if (minPoint.crossProduct(nextPoint, line[1]) * inversionFactor > 0) {
- if (nextPoint.getTimeX() < line[1].getTimeX()) {
- i++;
- } else {
- line[0] = null;
- finishedSearch = true;
- }
- } else {
- line[0] = minPoint;
- finishedSearch = true;
- }
- }
-
- if (line[0] == null) {
- line[0] = minPoint;
- }
-
- /* Make sure point 0 is before point 1 */
- if ((line[0] != null) && (line[0].getTimeX() > line[1].getTimeX())) {
- line[0] = null;
- }
- }
-
- /*
- * When a point qualifies to be in a hull, we verify if any of the
- * existing points need to be removed from the hull
- */
- private void removeUselessPoints(final SyncPoint p, final LinkedList<SyncPoint> boundList, final int inversionFactor) {
-
- boolean checkRemove = true;
-
- while (checkRemove && boundList.size() >= 2) {
- if (p.crossProduct(boundList.get(boundList.size() - 2), boundList.getLast()) * inversionFactor > 0) {
- boundList.removeLast();
- } else {
- checkRemove = false;
- }
- }
- boundList.addLast(p);
- }
-
- public ITmfTimestampTransform getTimestampTransform(String hostId) {
- if (hostId.equals(fOtherHost) && (getQuality() == SyncQuality.ACCURATE || getQuality() == SyncQuality.APPROXIMATE || getQuality() == SyncQuality.FAIL)) {
- /* alpha: beta => 1 / fAlpha, -1 * fBeta / fAlpha); */
- return TimestampTransformFactory.createLinear(BigDecimal.ONE.divide(fAlpha, fMc), BigDecimal.valueOf(-1).multiply(fBeta).divide(fAlpha, fMc));
- }
- return TimestampTransformFactory.getDefaultTransform();
- }
-
- public SyncQuality getQuality() {
- return fQuality;
- }
-
- public BigDecimal getAccuracy() {
- return fAlphamax.subtract(fAlphamin);
- }
-
- public Map<String, Object> getStats() {
- if (fStats.size() == 0) {
- String syncQuality;
- switch (getQuality()) {
- case ABSENT:
- syncQuality = Messages.SyncAlgorithmFullyIncremental_absent;
- break;
- case ACCURATE:
- syncQuality = Messages.SyncAlgorithmFullyIncremental_accurate;
- break;
- case APPROXIMATE:
- syncQuality = Messages.SyncAlgorithmFullyIncremental_approx;
- break;
- case INCOMPLETE:
- syncQuality = Messages.SyncAlgorithmFullyIncremental_incomplete;
- break;
- case FAIL:
- default:
- syncQuality = Messages.SyncAlgorithmFullyIncremental_fail;
- break;
- }
-
- fStats.put(Messages.SyncAlgorithmFullyIncremental_refhost, fReferenceHost);
- fStats.put(Messages.SyncAlgorithmFullyIncremental_otherhost, fOtherHost);
- fStats.put(Messages.SyncAlgorithmFullyIncremental_quality, syncQuality);
- fStats.put(Messages.SyncAlgorithmFullyIncremental_alpha, fAlpha);
- fStats.put(Messages.SyncAlgorithmFullyIncremental_beta, fBeta);
- fStats.put(Messages.SyncAlgorithmFullyIncremental_ub, (fUpperBoundList.size() == 0) ? Messages.SyncAlgorithmFullyIncremental_NA : fUpperBoundList.size());
- fStats.put(Messages.SyncAlgorithmFullyIncremental_lb, (fLowerBoundList.size() == 0) ? Messages.SyncAlgorithmFullyIncremental_NA : fLowerBoundList.size());
- fStats.put(Messages.SyncAlgorithmFullyIncremental_accuracy, getAccuracy().doubleValue());
- fStats.put(Messages.SyncAlgorithmFullyIncremental_nbmatch, (fNbMatches == 0) ? Messages.SyncAlgorithmFullyIncremental_NA : fNbMatches);
- fStats.put(Messages.SyncAlgorithmFullyIncremental_nbacc, (fNbAccurateMatches == 0) ? Messages.SyncAlgorithmFullyIncremental_NA : fNbAccurateMatches);
- fStats.put(Messages.SyncAlgorithmFullyIncremental_refformula, Messages.SyncAlgorithmFullyIncremental_T_ + fReferenceHost);
- fStats.put(Messages.SyncAlgorithmFullyIncremental_otherformula, fAlpha + Messages.SyncAlgorithmFullyIncremental_mult + Messages.SyncAlgorithmFullyIncremental_T_ + fReferenceHost + Messages.SyncAlgorithmFullyIncremental_add + fBeta);
- }
- return fStats;
-
- }
-
- public String getReferenceHost() {
- return fReferenceHost;
- }
-
- public String getOtherHost() {
- return fOtherHost;
- }
-
- public boolean isForHosts(String hostId1, String hostId2) {
- return ((fReferenceHost.equals(hostId1) && fOtherHost.equals(hostId2)) || (fReferenceHost.equals(hostId2) && fOtherHost.equals(hostId1)));
- }
-
- private void writeObject(ObjectOutputStream s)
- throws IOException {
- /*
- * Remove calculation data because most of it is not serializable.
- * We have the statistics anyway
- */
- fUpperBoundList.clear();
- fLowerBoundList.clear();
- fLmin[0] = null;
- fLmin[1] = null;
- fLmax[0] = null;
- fLmax[1] = null;
- s.defaultWriteObject();
- }
-
- @SuppressWarnings("nls")
- @Override
- public String toString() {
- StringBuilder b = new StringBuilder();
- b.append("Between " + fReferenceHost + " and " + fOtherHost + " [");
- b.append(" alpha " + fAlpha + " beta " + fBeta + " ]");
- return b.toString();
- }
-
- private void setQuality(SyncQuality fQuality) {
- this.fQuality = fQuality;
- }
-
- }
-
- /**
- * Private class representing a point to synchronize on a graph. The x axis
- * is the timestamp of the event from the reference trace while the y axis
- * is the timestamp of the event on the other trace
- */
- private class SyncPoint {
- private final ITmfTimestamp x, y;
-
- public SyncPoint(ITmfEvent ex, ITmfEvent ey) {
- x = ex.getTimestamp();
- y = ey.getTimestamp();
- }
-
- public long getTimeX() {
- return x.getValue();
- }
-
- /**
- * Calculate a cross product of 3 points:
- *
- * If the cross-product < 0, then p, pa, pb are clockwise
- *
- * If the cross-product > 0, then p, pa, pb are counter-clockwise
- *
- * If cross-product == 0, then they are in a line
- *
- * @param pa
- * First point
- * @param pb
- * Second point
- * @return The cross product
- */
- public long crossProduct(SyncPoint pa, SyncPoint pb) {
- long cp = ((pa.x.getValue() - x.getValue()) * (pb.y.getValue() - y.getValue()) - (pa.y.getValue() - y.getValue()) * (pb.x.getValue() - x.getValue()));
- return cp;
- }
-
- /*
- * Gets the alpha (slope) between two points
- */
- public BigDecimal getAlpha(SyncPoint p1) {
- if (p1 == null) {
- return BigDecimal.ONE;
- }
- BigDecimal deltay = BigDecimal.valueOf(y.getValue() - p1.y.getValue());
- BigDecimal deltax = BigDecimal.valueOf(x.getValue() - p1.x.getValue());
- if (deltax.equals(BigDecimal.ZERO)) {
- return BigDecimal.ONE;
- }
- return deltay.divide(deltax, fMc);
- }
-
- /*
- * Get the beta value (when x = 0) of the line given alpha
- */
- public BigDecimal getBeta(BigDecimal alpha) {
- return BigDecimal.valueOf(y.getValue()).subtract(alpha.multiply(BigDecimal.valueOf(x.getValue()), fMc));
- }
-
- @Override
- public String toString() {
- return String.format("%s (%s, %s)", this.getClass().getCanonicalName(), x, y); //$NON-NLS-1$
- }
- }
-
- private void writeObject(ObjectOutputStream s)
- throws IOException {
- /*
- * Remove the tree because it is not serializable
- */
- fTree = null;
- s.defaultWriteObject();
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/synchronization/SynchronizationAlgorithm.java b/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/synchronization/SynchronizationAlgorithm.java
deleted file mode 100644
index ce6e12c207..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/synchronization/SynchronizationAlgorithm.java
+++ /dev/null
@@ -1,122 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 École Polytechnique de Montréal
- *
- * 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:
- * Geneviève Bastien - Initial implementation and API
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.core.synchronization;
-
-import java.io.Serializable;
-import java.util.Map;
-
-import org.eclipse.linuxtools.tmf.core.event.matching.TmfEventDependency;
-import org.eclipse.linuxtools.tmf.core.event.matching.TmfEventMatches;
-import org.eclipse.linuxtools.tmf.core.trace.ITmfTrace;
-
-/**
- * Abstract class for synchronization algorithm
- *
- * @author Geneviève Bastien
- * @since 3.0
- */
-public abstract class SynchronizationAlgorithm extends TmfEventMatches implements Serializable {
-
- private static final long serialVersionUID = -3083906749528872196L;
-
- /**
- * Quality of the result obtained by the synchronization algorithm
- */
- public enum SyncQuality {
- /**
- * Algorithm returned a result satisfying all hypothesis for the
- * algorithm
- */
- ACCURATE,
- /**
- * Best effort of the algorithm
- */
- APPROXIMATE,
- /**
- * There is communication only in one direction
- */
- INCOMPLETE,
- /**
- * No communication between two traces
- */
- ABSENT,
- /**
- * Hypothesis of the algorithm are not satisfied for some reason
- */
- FAIL
- }
-
- @Override
- public void addMatch(TmfEventDependency match) {
- super.addMatch(match);
- processMatch(match);
- }
-
- /**
- * Function for synchronization algorithm to do something with the received
- * match
- *
- * @param match
- * The match of events
- */
- protected abstract void processMatch(TmfEventDependency match);
-
- /**
- * Returns a map of staticstics relating to this algorithm. Those stats
- * could be used to be displayed in a view for example.
- *
- * @return A map of statistics for this algorithm
- */
- public abstract Map<String, Map<String, Object>> getStats();
-
- /**
- * Returns a timestamp transformation algorithm
- *
- * @param trace
- * The trace to get the transform for
- * @return The timestamp transformation formula
- */
- public abstract ITmfTimestampTransform getTimestampTransform(ITmfTrace trace);
-
- /**
- * Returns a timestamp transformation algorithm
- *
- * @param hostId
- * The host ID of the trace to get the transform for
- * @return The timestamp transformation formula
- */
- public abstract ITmfTimestampTransform getTimestampTransform(String hostId);
-
- /**
- * Gets the quality of the synchronization between two given traces
- *
- * @param trace1
- * First trace
- * @param trace2
- * Second trace
- * @return The synchronization quality
- */
- public abstract SyncQuality getSynchronizationQuality(ITmfTrace trace1, ITmfTrace trace2);
-
- /**
- * Returns whether a given trace has a synchronization formula that is not
- * identity. This function returns true if the synchronization algorithm has
- * failed for some reason
- *
- * @param hostId
- * The host ID of the trace
- * @return true if trace has formula
- */
- public abstract boolean isTraceSynced(String hostId);
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/synchronization/SynchronizationAlgorithmFactory.java b/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/synchronization/SynchronizationAlgorithmFactory.java
deleted file mode 100644
index bd30e7c73f..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/synchronization/SynchronizationAlgorithmFactory.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 École Polytechnique de Montréal
- *
- * 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:
- * Geneviève Bastien - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.core.synchronization;
-
-import org.eclipse.linuxtools.internal.tmf.core.synchronization.SyncAlgorithmFullyIncremental;
-
-/**
- * A factory to generate synchronization algorithm to synchronize traces
- *
- * @author Geneviève Bastien
- * @since 3.2
- */
-public final class SynchronizationAlgorithmFactory {
-
- private SynchronizationAlgorithmFactory() {
-
- }
-
- /**
- * Returns the system's default trace synchronization algorithm, ie the
- * fully incremental convex hull synchronization algorithm.
- *
- * @return The default trace synchronization algorithm
- */
- public static SynchronizationAlgorithm getDefaultAlgorithm() {
- return new SyncAlgorithmFullyIncremental();
- }
-
- /**
- * Returns the class implementing the fully incremental convex hull trace
- * synchronization approach as described in
- *
- * Masoume Jabbarifar, Michel Dagenais and Alireza Shameli-Sendi,
- * "Streaming Mode Incremental Clock Synchronization"
- *
- * @return The {@link SynchronizationAlgorithm} implementing the fully
- * incremental convex hull synchronization algorithm
- */
- public static SynchronizationAlgorithm getFullyIncrementalAlgorithm() {
- return new SyncAlgorithmFullyIncremental();
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/synchronization/SynchronizationBackend.java b/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/synchronization/SynchronizationBackend.java
deleted file mode 100644
index 534410a779..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/synchronization/SynchronizationBackend.java
+++ /dev/null
@@ -1,196 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 École Polytechnique de Montréal
- *
- * 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:
- * Geneviève Bastien - Initial implementation and API
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.core.synchronization;
-
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileNotFoundException;
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.io.ObjectInputStream;
-import java.io.ObjectOutputStream;
-import java.nio.ByteBuffer;
-import java.nio.channels.FileChannel;
-
-import org.eclipse.linuxtools.internal.tmf.core.Activator;
-
-/**
- * Class to fetch and save synchronization information between traces
- *
- * @author Geneviève Bastien
- * @since 3.0
- */
-public class SynchronizationBackend {
-
- private static final int SYNC_FILE_MAGIC_NUMBER = 0x0DECAF00;
-
- private static final int FILE_VERSION = 1;
-
- private static final int HEADER_SIZE = 20;
-
- private final File fSyncFile;
-
- /**
- * Constructor
- *
- * @param syncFile
- * The file containing synchronization information
- * @throws IOException
- * If the file couldn't be opened for some reason
- */
- public SynchronizationBackend(File syncFile) throws IOException {
- this(syncFile, true);
- }
-
- /**
- * Constructor with possibility to tell whether to throw errors on exception
- * or not
- *
- * @param syncFile
- * The file containing synchronization information
- * @param throwErrors
- * Whether to throw exceptions or not
- * @throws IOException
- * If the file couldn't be opened for some reason
- */
- public SynchronizationBackend(File syncFile, boolean throwErrors) throws IOException {
- /*
- * Open the file ourselves, get the header information we need, then
- * pass on the descriptor.
- */
- int res;
-
- fSyncFile = syncFile;
-
- if (syncFile == null) {
- return;
- }
-
- if (!syncFile.exists()) {
- if (throwErrors) {
- throw new IOException("Selected synchronization file does not exist"); //$NON-NLS-1$
- }
- return;
- }
- if (syncFile.length() <= 0) {
- if (throwErrors) {
- throw new IOException("Invalid synchronization file selected, " + //$NON-NLS-1$
- "target file is empty"); //$NON-NLS-1$
- }
- return;
- }
-
- try (FileInputStream fis = new FileInputStream(syncFile);
- FileChannel fc = fis.getChannel();) {
- ByteBuffer buffer = ByteBuffer.allocate(HEADER_SIZE);
- buffer.clear();
- fc.read(buffer);
- buffer.flip();
-
- /*
- * Check the magic number,to make sure we're opening the right type
- * of file
- */
- res = buffer.getInt();
- if (res != SYNC_FILE_MAGIC_NUMBER) {
- throw new IOException("Selected file does not" + //$NON-NLS-1$
- "look like a synchronization file"); //$NON-NLS-1$
- }
-
- res = buffer.getInt(); /* Major version number */
- if (res != FILE_VERSION) {
- throw new IOException("Select synchronization file is of an older " //$NON-NLS-1$
- + "format. Synchronization will have to be computed again."); //$NON-NLS-1$
- }
-
- res = buffer.getInt(); /* Minor version number */
- }
- }
-
- /**
- * Opens an existing synchronization file
- *
- * @return The synchronization algorithm contained in the file
- * @throws IOException
- * Exception returned file functions
- */
- public SynchronizationAlgorithm openExistingSync() throws IOException {
-
- if (fSyncFile == null) {
- return null;
- }
-
- try (/* Set the position after the header */
- FileInputStream fis = new FileInputStream(fSyncFile);
- FileChannel fc = fis.getChannel().position(HEADER_SIZE);
- /* Read the input stream */
- ObjectInputStream ois = new ObjectInputStream(fis);) {
-
- return (SynchronizationAlgorithm) ois.readObject();
- } catch (ClassNotFoundException e) {
- return null;
- }
-
-
- }
-
- /**
- * Saves the synchronization algorithm object to file
- *
- * @param syncAlgo
- * The algorithm to save
- * @throws FileNotFoundException
- * propagate callee's exceptions
- */
- public void saveSync(SynchronizationAlgorithm syncAlgo) throws FileNotFoundException {
-
- if (fSyncFile == null) {
- return;
- }
-
- /* Save the header of the file */
- try (FileOutputStream fos = new FileOutputStream(fSyncFile, false);
- FileChannel fc = fos.getChannel();) {
-
- ByteBuffer buffer = ByteBuffer.allocate(HEADER_SIZE);
- buffer.clear();
-
- fc.position(0);
-
- buffer.putInt(SYNC_FILE_MAGIC_NUMBER);
-
- buffer.putInt(FILE_VERSION);
-
- buffer.flip();
- int res = fc.write(buffer);
- assert (res <= HEADER_SIZE);
- /* done writing the file header */
-
- fc.position(HEADER_SIZE);
-
- try (ObjectOutputStream oos = new ObjectOutputStream(fos);) {
- oos.writeObject(syncAlgo);
- }
-
- } catch (FileNotFoundException e) {
- /* Send this upwards */
- throw e;
- } catch (IOException e) {
- /* Handle other cases of IOException's */
- Activator.logError("Error saving trace synchronization data", e); //$NON-NLS-1$
- }
- return;
-
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/synchronization/SynchronizationManager.java b/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/synchronization/SynchronizationManager.java
deleted file mode 100644
index bb489d9cdc..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/synchronization/SynchronizationManager.java
+++ /dev/null
@@ -1,134 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 École Polytechnique de Montréal
- *
- * 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:
- * Geneviève Bastien - Initial implementation and API
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.core.synchronization;
-
-import java.io.File;
-import java.io.IOException;
-import java.util.Collection;
-
-import org.eclipse.linuxtools.internal.tmf.core.Activator;
-import org.eclipse.linuxtools.tmf.core.component.TmfComponent;
-import org.eclipse.linuxtools.tmf.core.event.matching.ITmfEventMatching;
-import org.eclipse.linuxtools.tmf.core.event.matching.TmfNetworkEventMatching;
-import org.eclipse.linuxtools.tmf.core.trace.ITmfTrace;
-
-/**
- * This abstract manager class handles loading trace synchronization data or
- * otherwise their calculation.
- *
- * @author Geneviève Bastien
- * @since 3.0
- */
-public abstract class SynchronizationManager extends TmfComponent {
-
- /**
- * Function called to synchronize traces using the fully incremental
- * synchronization algorithm
- *
- * @param syncFile
- * The target name of the synchronization file. If it exists, it
- * will be opened, otherwise it will be created and data from
- * this synchro run will be saved there
- * @param traces
- * The list of traces to synchronize
- * @param doSync
- * Whether to actually synchronize or just try opening a sync
- * file
- * @return The synchronization object
- */
- public static SynchronizationAlgorithm synchronizeTraces(final File syncFile, final Collection<ITmfTrace> traces, boolean doSync) {
-
- SynchronizationAlgorithm syncAlgo;
- if (doSync) {
- syncAlgo = synchronize(syncFile, traces, SynchronizationAlgorithmFactory.getDefaultAlgorithm());
- } else {
- syncAlgo = openExisting(syncFile);
- if (syncAlgo == null) {
- syncAlgo = SynchronizationAlgorithmFactory.getDefaultAlgorithm();
- }
- }
- return syncAlgo;
- }
-
- /**
- * Function called to synchronize traces with a specific synchronization
- * algorithm. If a synchronization already exists, but is not the requested
- * algorithm, the synchronization is done again using the new algorithm
- *
- * @param syncFile
- * The target name of the synchronization file. If it exists, it
- * will be opened, otherwise it will be created and data from
- * this synchro run will be saved there
- * @param traces
- * The list of traces to synchronize
- * @param algo
- * A synchronization algorithm object to determine the algorithm
- * used to synchronization.
- * @param doSync
- * Whether to actually synchronize or just try opening a sync
- * file
- * @return The synchronization object
- */
- public static SynchronizationAlgorithm synchronizeTraces(final File syncFile, final Collection<ITmfTrace> traces, SynchronizationAlgorithm algo, boolean doSync) {
-
- SynchronizationAlgorithm syncAlgo;
- if (doSync) {
- syncAlgo = synchronize(syncFile, traces, algo);
- } else {
- syncAlgo = openExisting(syncFile);
- if (syncAlgo == null || (syncAlgo.getClass() != algo.getClass())) {
- if (algo != null) {
- syncAlgo = algo;
- } else {
- syncAlgo = SynchronizationAlgorithmFactory.getDefaultAlgorithm();
- }
- }
- }
-
- return syncAlgo;
- }
-
- private static SynchronizationAlgorithm openExisting(final File syncFile) {
- if ((syncFile != null) && syncFile.exists()) {
- /* Load an existing history */
- try {
- SynchronizationBackend syncBackend = new SynchronizationBackend(syncFile);
- SynchronizationAlgorithm algo = syncBackend.openExistingSync();
- return algo;
- } catch (IOException e) {
- /*
- * There was an error opening the existing file. Perhaps it was
- * corrupted, perhaps it's an old version? We'll just
- * fall-through and try to build a new one from scratch instead.
- */
- Activator.logInfo("Problem opening existing trace synchronization file", e); //$NON-NLS-1$
- }
- }
- return null;
- }
-
- private static SynchronizationAlgorithm synchronize(final File syncFile, final Collection<ITmfTrace> traces, SynchronizationAlgorithm syncAlgo) {
- ITmfEventMatching matching = new TmfNetworkEventMatching(traces, syncAlgo);
- matching.matchEvents();
-
- SynchronizationBackend syncBackend;
- try {
- syncBackend = new SynchronizationBackend(syncFile, false);
- syncBackend.saveSync(syncAlgo);
- } catch (IOException e) {
- Activator.logError("Error while saving trace synchronization file", e); //$NON-NLS-1$
- }
- return syncAlgo;
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/synchronization/TimestampTransformFactory.java b/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/synchronization/TimestampTransformFactory.java
deleted file mode 100644
index f74deb02de..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/synchronization/TimestampTransformFactory.java
+++ /dev/null
@@ -1,208 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 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:
- * Matthew Khouzam - Initial implementation and API
- *******************************************************************************/
-package org.eclipse.linuxtools.tmf.core.synchronization;
-
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.io.ObjectInputStream;
-import java.io.ObjectOutputStream;
-import java.math.BigDecimal;
-
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.linuxtools.internal.tmf.core.Activator;
-import org.eclipse.linuxtools.internal.tmf.core.synchronization.TmfConstantTransform;
-import org.eclipse.linuxtools.internal.tmf.core.synchronization.TmfTimestampTransform;
-import org.eclipse.linuxtools.internal.tmf.core.synchronization.TmfTimestampTransformLinear;
-import org.eclipse.linuxtools.tmf.core.TmfCommonConstants;
-import org.eclipse.linuxtools.tmf.core.timestamp.ITmfTimestamp;
-
-/**
- * A factory to generate timestamp tranforms
- *
- * @author Matthew Khouzam
- * @since 3.1
- */
-public final class TimestampTransformFactory {
-
- private static final String SYNCHRONIZATION_FORMULA_FILE = "sync_formula"; //$NON-NLS-1$
-
- private TimestampTransformFactory() {
- }
-
- /**
- * Creates the identity timestamp transform
- *
- * @return The identity timestamp transform
- */
- public static ITmfTimestampTransform getDefaultTransform() {
- return TmfTimestampTransform.IDENTITY;
- }
-
- /**
- * Create an offsetted transform
- *
- * @param offset
- * the offset in long format, nanosecond scale
- * @return the offsetted transform
- */
- public static ITmfTimestampTransform createWithOffset(long offset) {
- if (offset == 0) {
- return TmfTimestampTransform.IDENTITY;
- }
- return new TmfConstantTransform(offset);
- }
-
- /**
- * Create an offsetted transform
- *
- * @param offset
- * the offset in a timestamp with scale
- * @return the offsetted transform
- */
- public static ITmfTimestampTransform createWithOffset(ITmfTimestamp offset) {
- if (offset.getValue() == 0) {
- return TmfTimestampTransform.IDENTITY;
- }
- return new TmfConstantTransform(offset);
- }
-
- /**
- * Create a timestamp transform corresponding to a linear equation, with
- * slope and offset. The expected timestamp transform is such that f(t) =
- * m*x + b, where m is the slope and b the offset.
- *
- * @param factor
- * the slope
- * @param offset
- * the offset
- * @return the transform
- */
- public static ITmfTimestampTransform createLinear(double factor, ITmfTimestamp offset) {
- if (factor == 1.0) {
- return createWithOffset(offset);
- }
- return new TmfTimestampTransformLinear(factor, offset.normalize(0, ITmfTimestamp.NANOSECOND_SCALE).getValue());
- }
-
- /**
- * Create a timestamp transform corresponding to a linear equation, with
- * slope and offset. The expected timestamp transform is such that f(t) =
- * m*x + b, where m is the slope and b the offset.
- *
- * @param factor
- * the slope
- * @param offset
- * the offset in nanoseconds
- * @return the transform
- */
- public static ITmfTimestampTransform createLinear(double factor, long offset) {
- if (factor == 1.0) {
- return createWithOffset(offset);
- }
- return new TmfTimestampTransformLinear(factor, offset);
- }
-
- /**
- * Create a timestamp transform corresponding to a linear equation, with
- * slope and offset expressed in BigDecimal. The expected timestamp
- * transform is such that f(t) = m*x + b, where m is the slope and b the
- * offset.
- *
- * @param factor
- * the slope
- * @param offset
- * the offset in nanoseconds
- * @return the transform
- */
- public static ITmfTimestampTransform createLinear(BigDecimal factor, BigDecimal offset) {
- if (factor.equals(BigDecimal.ONE)) {
- return createWithOffset(offset.longValueExact());
- }
- return new TmfTimestampTransformLinear(factor, offset);
- }
-
- /**
- * Returns the file resource used to store synchronization formula. The file
- * may not exist.
- *
- * @param resource
- * the trace resource
- * @return the synchronization file
- */
- private static File getSyncFormulaFile(IResource resource) {
- if (resource == null) {
- return null;
- }
- try {
- String supplDirectory = resource.getPersistentProperty(TmfCommonConstants.TRACE_SUPPLEMENTARY_FOLDER);
- return new File(supplDirectory + File.separator + SYNCHRONIZATION_FORMULA_FILE);
- } catch (CoreException e) {
- /* Ignored */
- }
- return null;
- }
-
- /**
- * Returns the timestamp transform for a trace resource
- *
- * @param resource
- * the trace resource
- * @return the timestamp transform
- * @since 3.2
- */
- public static ITmfTimestampTransform getTimestampTransform(IResource resource) {
- File syncFile = getSyncFormulaFile(resource);
- if (syncFile != null && syncFile.exists()) {
- /* Read the serialized object from file */
- try (FileInputStream fis = new FileInputStream(syncFile);
- ObjectInputStream ois = new ObjectInputStream(fis);) {
- return (ITmfTimestampTransform) ois.readObject();
- } catch (ClassNotFoundException | IOException e) {
- }
- }
- return TimestampTransformFactory.getDefaultTransform();
- }
-
- /**
- * Sets the trace resource's timestamp transform
- *
- * @param resource
- * the trace resource
- * @param tt
- * The timestamp transform for all timestamps of this trace, or
- * null to clear it
- * @since 3.2
- */
- public static void setTimestampTransform(IResource resource, ITmfTimestampTransform tt) {
- /* Save the timestamp transform to a file */
- File syncFile = getSyncFormulaFile(resource);
- if (syncFile != null) {
- if (syncFile.exists()) {
- syncFile.delete();
- }
- if (tt == null) {
- return;
- }
- /* Write the serialized object to file */
- try (FileOutputStream fos = new FileOutputStream(syncFile, false);
- ObjectOutputStream oos = new ObjectOutputStream(fos);) {
- oos.writeObject(tt);
- } catch (IOException e1) {
- Activator.logError("Error writing timestamp transform for trace", e1); //$NON-NLS-1$
- }
- }
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/synchronization/TmfTimestampTransform.java b/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/synchronization/TmfTimestampTransform.java
deleted file mode 100644
index a229658814..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/synchronization/TmfTimestampTransform.java
+++ /dev/null
@@ -1,82 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 École Polytechnique de Montréal
- *
- * 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:
- * Geneviève Bastien - Initial implementation and API
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.core.synchronization;
-
-import org.eclipse.linuxtools.tmf.core.timestamp.ITmfTimestamp;
-
-/**
- * A default simple, identity timestamp transform. It is a singleton class and
- * returns the timestamp itself
- *
- * @author Geneviève Bastien
- * @since 3.0
- * @deprecated This class has been moved to internal. Use one of
- * {@link TimestampTransformFactory} methods to create the timestamp
- * transform. For the identity, use
- * {@link TimestampTransformFactory#getDefaultTransform()}
- */
-@Deprecated
-public class TmfTimestampTransform implements ITmfTimestampTransform {
-
- /**
- * Generated serial UID
- */
- private static final long serialVersionUID = -1480581417493073304L;
-
- /**
- * The unique instance of this transform, since it is always the same
- */
- public static final TmfTimestampTransform IDENTITY = new TmfTimestampTransform();
-
- /**
- * Default constructor
- */
- protected TmfTimestampTransform() {
-
- }
-
- @Override
- public ITmfTimestamp transform(ITmfTimestamp timestamp) {
- return timestamp;
- }
-
- @Override
- public long transform(long timestamp) {
- return timestamp;
- }
-
- @Override
- public ITmfTimestampTransform composeWith(ITmfTimestampTransform composeWith) {
- /* Since this transform will not modify anything, return the other */
- return composeWith;
- }
-
- @Override
- public boolean equals(Object other) {
- return other.getClass().equals(TmfTimestampTransform.class);
- }
-
- @Override
- public int hashCode() {
- final int prime = 31;
- int result = 1;
- result = (prime * result) + TmfTimestampTransform.class.hashCode();
- return result;
- }
-
- @Override
- public String toString() {
- return "TmfTimestampTransform [ IDENTITY ]"; //$NON-NLS-1$
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/synchronization/TmfTimestampTransformLinear.java b/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/synchronization/TmfTimestampTransformLinear.java
deleted file mode 100644
index 52c4c9cf24..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/synchronization/TmfTimestampTransformLinear.java
+++ /dev/null
@@ -1,149 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 École Polytechnique de Montréal
- *
- * 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:
- * Geneviève Bastien - Initial implementation and API
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.core.synchronization;
-
-import java.math.BigDecimal;
-import java.math.MathContext;
-
-import org.eclipse.linuxtools.tmf.core.timestamp.ITmfTimestamp;
-import org.eclipse.linuxtools.tmf.core.timestamp.TmfTimestamp;
-
-/**
- * Class implementing a linear timestamp transform, with a slope and/or offset
- *
- * f(t) = alpha*t + beta
- *
- * @author Geneviève Bastien
- * @since 3.0
- * @deprecated This class has been moved to internal. Use one of
- * {@link TimestampTransformFactory} methods to create the timestamp
- * transform. It will return an optimized transform for the
- * parameters given. To have a linear transform, use methods
- * <code>createLinear</code> from the factory.
- */
-@Deprecated
-public class TmfTimestampTransformLinear implements ITmfTimestampTransform {
-
- /**
- * Generated serial UID
- */
- private static final long serialVersionUID = -4756608071358979461L;
-
- /**
- * Respectively the slope and offset and this linear equation.
- */
- private final BigDecimal fAlpha;
- private final BigDecimal fBeta;
-
- private static final MathContext fMc = MathContext.DECIMAL128;
-
- /**
- * Default constructor
- */
- public TmfTimestampTransformLinear() {
- fAlpha = BigDecimal.ONE;
- fBeta = BigDecimal.ZERO;
- }
-
- /**
- * Constructor with alpha and beta
- *
- * @param alpha
- * The slope of the linear transform
- * @param beta
- * The initial offset of the linear transform
- */
- public TmfTimestampTransformLinear(final double alpha, final double beta) {
- fAlpha = BigDecimal.valueOf(alpha);
- fBeta = BigDecimal.valueOf(beta);
- }
-
- /**
- * Constructor with alpha and beta in big decimal
- *
- * @param fAlpha2
- * The slope of the linear transform
- * @param fBeta2
- * The initial offset of the linear transform
- */
- public TmfTimestampTransformLinear(final BigDecimal fAlpha2, final BigDecimal fBeta2) {
- if (fAlpha2 != null) {
- fAlpha = fAlpha2;
- } else {
- fAlpha = BigDecimal.ONE;
- }
- if (fBeta2 != null) {
- fBeta = fBeta2;
- } else {
- fBeta = BigDecimal.ZERO;
- }
- }
-
- @Override
- public ITmfTimestamp transform(ITmfTimestamp timestamp) {
- BigDecimal newvalue = BigDecimal.valueOf(timestamp.getValue()).multiply(fAlpha, fMc).add(fBeta);
- return new TmfTimestamp(timestamp, newvalue.longValue());
- }
-
- @Override
- public long transform(long timestamp) {
- BigDecimal t = BigDecimal.valueOf(timestamp).multiply(fAlpha, fMc).add(fBeta);
- return t.longValue();
- }
-
- @Override
- public ITmfTimestampTransform composeWith(ITmfTimestampTransform composeWith) {
- if (composeWith.equals(TmfTimestampTransform.IDENTITY)) {
- /* If composing with identity, just return this */
- return this;
- } else if (composeWith instanceof TmfTimestampTransformLinear) {
- /* If composeWith is a linear transform, add the two together */
- TmfTimestampTransformLinear ttl = (TmfTimestampTransformLinear) composeWith;
- BigDecimal newAlpha = fAlpha.multiply(ttl.fAlpha, fMc);
- BigDecimal newBeta = fAlpha.multiply(ttl.fBeta, fMc).add(fBeta);
- return new TmfTimestampTransformLinear(newAlpha, newBeta);
- } else {
- /*
- * We do not know what to do with this kind of transform, just
- * return this
- */
- return this;
- }
- }
-
- @Override
- public boolean equals(Object other) {
- boolean result = false;
- if (other instanceof TmfTimestampTransformLinear) {
- TmfTimestampTransformLinear that = (TmfTimestampTransformLinear) other;
- result = ((that.fAlpha.equals(fAlpha)) && (that.fBeta.equals(fBeta)));
- }
- return result;
- }
-
- @Override
- public int hashCode() {
- final int prime = 31;
- int result = 1;
- result = (prime * result) + (fBeta.multiply(fAlpha).intValue());
- return result;
- }
-
- @Override
- public String toString() {
- return "TmfTimestampLinear [ alpha = " + fAlpha.toString() + //$NON-NLS-1$
- ", beta = " + fBeta.toString() + //$NON-NLS-1$
- " ]"; //$NON-NLS-1$
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/synchronization/messages.properties b/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/synchronization/messages.properties
deleted file mode 100644
index 328fe23af4..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/synchronization/messages.properties
+++ /dev/null
@@ -1,32 +0,0 @@
-###############################################################################
-# Copyright (c) 2014 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:
-# Ericsson - Initial API and implementation
-###############################################################################
-SyncAlgorithmFullyIncremental_absent=Absent
-SyncAlgorithmFullyIncremental_alpha=Alpha
-SyncAlgorithmFullyIncremental_beta=Beta
-SyncAlgorithmFullyIncremental_T_=T_
-SyncAlgorithmFullyIncremental_otherformula=C_T1(t)
-SyncAlgorithmFullyIncremental_mult=*
-SyncAlgorithmFullyIncremental_add=\ +
-SyncAlgorithmFullyIncremental_ub=Number of points in upper hull
-SyncAlgorithmFullyIncremental_lb=Number of points in lower hull
-SyncAlgorithmFullyIncremental_accuracy=Accuracy
-SyncAlgorithmFullyIncremental_accurate=Accurate
-SyncAlgorithmFullyIncremental_approx=Approximate
-SyncAlgorithmFullyIncremental_fail=Fail
-SyncAlgorithmFullyIncremental_incomplete=Incomplete
-SyncAlgorithmFullyIncremental_nbmatch=Number of matching packets received
-SyncAlgorithmFullyIncremental_nbacc=Number of accurate packets
-SyncAlgorithmFullyIncremental_refhost=T0
-SyncAlgorithmFullyIncremental_otherhost=T1
-SyncAlgorithmFullyIncremental_refformula=C_T0(t)
-SyncAlgorithmFullyIncremental_NA=N/A
-SyncAlgorithmFullyIncremental_quality=Quality \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/timestamp/ITmfTimePreferencesConstants.java b/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/timestamp/ITmfTimePreferencesConstants.java
deleted file mode 100644
index 7ce220c3a3..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/timestamp/ITmfTimePreferencesConstants.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013, 2014 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:
- * Marc-Andre Laperle - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.core.timestamp;
-
-/**
- * @since 2.1
- * @noimplement This interface is not intended to be implemented by clients.
- */
-@SuppressWarnings({ "javadoc", "nls" })
-public interface ITmfTimePreferencesConstants {
- public static final String TIME_FORMAT_PREF = "org.eclipse.linuxtools.tmf.core.prefs.time.format";
- public static final String DEFAULT_TIME_PATTERN = "HH:mm:ss.SSS SSS SSS";
- public static final String DATIME = TIME_FORMAT_PREF + ".datime";
- public static final String SUBSEC = TIME_FORMAT_PREF + ".subsec";
- public static final String TIME_ZONE = TIME_FORMAT_PREF + ".timezone";
- public static final String DATE_DELIMITER = TIME_FORMAT_PREF + ".date.delimiter";
- public static final String TIME_DELIMITER = TIME_FORMAT_PREF + ".time.delimiter";
- public static final String SSEC_DELIMITER = TIME_FORMAT_PREF + ".ssec.delimiter";
- public static final String DATE_YEAR_FMT = "yyyy-MM-dd HH:mm:ss";
- public static final String DATE_YEAR2_FMT = "yy-MM-dd HH:mm:ss";
- public static final String DATE_MONTH_FMT = "MM-dd HH:mm:ss";
- public static final String DATE_DAY_FMT = "dd HH:mm:ss";
- public static final String DATE_JDAY_FMT = "DDD HH:mm:ss";
- public static final String DATE_NO_FMT = "HH:mm:ss";
- public static final String TIME_HOUR_FMT = "HH:mm:ss";
- public static final String TIME_MINUTE_FMT = "mm:ss";
- public static final String TIME_SECOND_FMT = "ss";
- public static final String TIME_ELAPSED_FMT = "TTT";
- public static final String TIME_NO_FMT = "";
- public static final String SUBSEC_MILLI_FMT = "SSS";
- public static final String SUBSEC_MICRO_FMT = "SSS SSS";
- public static final String SUBSEC_NANO_FMT = "SSS SSS SSS";
- public static final String SUBSEC_NO_FMT = "";
- public static final String DELIMITER_NONE = "";
- public static final String DELIMITER_SPACE = " ";
- public static final String DELIMITER_PERIOD = ".";
- public static final String DELIMITER_COMMA = ",";
- public static final String DELIMITER_DASH = "-";
- public static final String DELIMITER_UNDERLINE = "_";
- public static final String DELIMITER_COLON = ":";
- public static final String DELIMITER_SEMICOLON = ";";
- public static final String DELIMITER_SLASH = "/";
- public static final String DELIMITER_DQUOT = "\"";
- /** @since 3.0 */
- public static final String DELIMITER_QUOTE = "''";
- /** @since 3.2*/
- public static final String LOCALE = TIME_FORMAT_PREF + ".locale";
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/timestamp/ITmfTimestamp.java b/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/timestamp/ITmfTimestamp.java
deleted file mode 100644
index 5f4bf5fc59..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/timestamp/ITmfTimestamp.java
+++ /dev/null
@@ -1,142 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2012, 2013 Ericsson
- *
- * All rights reserved. This program and the accompanying materials are
- * made available under the terms of the Eclipse Public License v1.0 which
- * accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Francois Chouinard - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.core.timestamp;
-
-import org.eclipse.linuxtools.tmf.core.event.ITmfEvent;
-
-/**
- * The fundamental time reference in the TMF.
- * <p>
- * It defines a generic timestamp interface in its most basic form:
- * <ul>
- * <li>timestamp = [value] * 10**[scale] +/- [precision]
- * </ul>
- * Where:
- * <ul>
- * <li>[value] is an unstructured integer value
- * <li>[scale] is the magnitude of the value wrt some application-specific
- * base unit (e.g. the second)
- * <li>[precision] indicates the error on the value (useful for comparing
- * timestamps in different scales). Default: 0.
- * </ul>
- *
- * @author Francois Chouinard
- * @version 2.0
- * @since 2.0
- *
- * @see ITmfEvent
- * @see TmfTimeRange
- */
-public interface ITmfTimestamp extends Comparable<ITmfTimestamp> {
-
- // ------------------------------------------------------------------------
- // Constants
- // ------------------------------------------------------------------------
-
- /**
- * The millisecond scale factor (10e0)
- */
- public static final int SECOND_SCALE = 0;
-
- /**
- * The millisecond scale factor (10e-3)
- */
- public static final int MILLISECOND_SCALE = -3;
-
- /**
- * The microsecond scale factor (10e-6)
- */
- public static final int MICROSECOND_SCALE = -6;
-
- /**
- * The nanosecond scale factor (10e-9)
- */
- public static final int NANOSECOND_SCALE = -9;
-
- // ------------------------------------------------------------------------
- // Getters
- // ------------------------------------------------------------------------
-
- /**
- * @return the timestamp value (magnitude)
- */
- long getValue();
-
- /**
- * @return the timestamp scale (exponent)
- */
- int getScale();
-
- /**
- * @return the timestamp precision (measurement tolerance)
- */
- int getPrecision();
-
- // ------------------------------------------------------------------------
- // Operations
- // ------------------------------------------------------------------------
-
- /**
- * Normalize (adjust scale and offset) of the timestamp
- *
- * @param offset the offset to apply to the timestamp value (after scaling)
- * @param scale the new timestamp scale
- * @return a new 'adjusted' ITmfTimestamp
- */
- ITmfTimestamp normalize(long offset, int scale);
-
- /**
- * Compares [this] and [ts] within timestamp precision
- *
- * @param ts the other timestamp
- * @param withinPrecision consider the precision when testing for equality
- * @return -1, 0 or 1 (less than, equals, greater than)
- */
- int compareTo(ITmfTimestamp ts, boolean withinPrecision);
-
- /**
- * Returns the difference between [this] and [ts] as a timestamp
- *
- * @param ts the other timestamp
- * @return the time difference (this - other) as an ITmfTimestamp
- */
- ITmfTimestamp getDelta(ITmfTimestamp ts);
-
- /**
- * Returns if this timestamp intersects the given time range. Borders are
- * inclusive (for more fine-grained behavior, you can use
- * {@link #compareTo(ITmfTimestamp)}.
- *
- * @param range
- * The time range to compare to
- * @return True if this timestamp is part of the time range, false if not
- */
- boolean intersects(TmfTimeRange range);
-
- // ------------------------------------------------------------------------
- // Comparable
- // ------------------------------------------------------------------------
-
- @Override
- int compareTo(ITmfTimestamp ts);
-
- /**
- * Format the timestamp as per the format provided
- *
- * @param format the timestamp formatter
- * @return the formatted timestamp
- * @since 2.0
- */
- String toString(final TmfTimestampFormat format);
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/timestamp/TmfNanoTimestamp.java b/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/timestamp/TmfNanoTimestamp.java
deleted file mode 100644
index 64d7982579..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/timestamp/TmfNanoTimestamp.java
+++ /dev/null
@@ -1,110 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 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
- * Patrick Tasse - Modified from TmfSimpleTimestamp to use nanosecond scale
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.core.timestamp;
-
-/**
- * A simplified timestamp where scale is nanoseconds and precision is set to 0.
- *
- * @since 2.1
- */
-public class TmfNanoTimestamp extends TmfTimestamp {
-
- // ------------------------------------------------------------------------
- // Constructors
- // ------------------------------------------------------------------------
-
- /**
- * Default constructor (value = 0)
- */
- public TmfNanoTimestamp() {
- this(0);
- }
-
- /**
- * Full constructor
- *
- * @param value the timestamp value
- */
- public TmfNanoTimestamp(final long value) {
- super(value, ITmfTimestamp.NANOSECOND_SCALE, 0);
- }
-
- /**
- * Copy constructor.
- *
- * If the parameter is not a TmfNanoTimestamp, the timestamp will be
- * scaled to nanoseconds, and the precision will be discarded.
- *
- * @param timestamp
- * The timestamp to copy
- */
- public TmfNanoTimestamp(final ITmfTimestamp timestamp) {
- super(timestamp.normalize(0, ITmfTimestamp.NANOSECOND_SCALE).getValue(), ITmfTimestamp.NANOSECOND_SCALE, 0);
- }
-
- // ------------------------------------------------------------------------
- // ITmfTimestamp
- // ------------------------------------------------------------------------
-
- @Override
- public ITmfTimestamp normalize(final long offset, final int scale) {
- if (scale == ITmfTimestamp.NANOSECOND_SCALE) {
- return new TmfNanoTimestamp(getValue() + offset);
- }
- return super.normalize(offset, scale);
- }
-
- @Override
- public int compareTo(final ITmfTimestamp ts, final boolean withinPrecision) {
- if (ts instanceof TmfNanoTimestamp) {
- final long delta = getValue() - ts.getValue();
- return (delta == 0) ? 0 : (delta > 0) ? 1 : -1;
- }
- return super.compareTo(ts, withinPrecision);
- }
-
- @Override
- public ITmfTimestamp getDelta(final ITmfTimestamp ts) {
- if (ts instanceof TmfNanoTimestamp) {
- return new TmfTimestampDelta(getValue() - ts.getValue(), ITmfTimestamp.NANOSECOND_SCALE);
- }
- return super.getDelta(ts);
- }
-
- // ------------------------------------------------------------------------
- // Object
- // ------------------------------------------------------------------------
-
- @Override
- public int hashCode() {
- return super.hashCode();
- }
-
- @Override
- public boolean equals(final Object other) {
- if (this == other) {
- return true;
- }
- if (other == null) {
- return false;
- }
- if (!(other instanceof TmfNanoTimestamp)) {
- return super.equals(other);
- }
- final TmfNanoTimestamp ts = (TmfNanoTimestamp) other;
-
- return compareTo(ts, false) == 0;
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/timestamp/TmfSimpleTimestamp.java b/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/timestamp/TmfSimpleTimestamp.java
deleted file mode 100644
index 94fccfb051..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/timestamp/TmfSimpleTimestamp.java
+++ /dev/null
@@ -1,112 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2012, 2013 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 - Standardize on the default toString()
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.core.timestamp;
-
-/**
- * A simplified timestamp where scale and precision are set to 0.
- *
- * @author Francois Chouinard
- * @version 1.1
- * @since 2.0
- */
-public class TmfSimpleTimestamp extends TmfTimestamp {
-
- // ------------------------------------------------------------------------
- // Constructors
- // ------------------------------------------------------------------------
-
- /**
- * Default constructor (value = 0)
- */
- public TmfSimpleTimestamp() {
- this(0);
- }
-
- /**
- * Full constructor
- *
- * @param value the timestamp value
- */
- public TmfSimpleTimestamp(final long value) {
- super(value, 0, 0);
- }
-
- /**
- * Copy constructor.
- *
- * If the parameter is not a TmfSimpleTimestamp, the timestamp will be
- * scaled to seconds, and the precision will be discarded.
- *
- * @param timestamp
- * The timestamp to copy
- */
- public TmfSimpleTimestamp(final ITmfTimestamp timestamp) {
- super(timestamp.normalize(0, ITmfTimestamp.SECOND_SCALE).getValue(), 0, 0);
- }
-
- // ------------------------------------------------------------------------
- // ITmfTimestamp
- // ------------------------------------------------------------------------
-
- @Override
- public ITmfTimestamp normalize(final long offset, final int scale) {
- if (scale == 0) {
- return new TmfSimpleTimestamp(getValue() + offset);
- }
- return super.normalize(offset, scale);
- }
-
- @Override
- public int compareTo(final ITmfTimestamp ts, final boolean withinPrecision) {
- if (ts instanceof TmfSimpleTimestamp) {
- final long delta = getValue() - ts.getValue();
- return (delta == 0) ? 0 : (delta > 0) ? 1 : -1;
- }
- return super.compareTo(ts, withinPrecision);
- }
-
- @Override
- public ITmfTimestamp getDelta(final ITmfTimestamp ts) {
- if (ts instanceof TmfSimpleTimestamp) {
- return new TmfTimestampDelta(getValue() - ts.getValue());
- }
- return super.getDelta(ts);
- }
-
- // ------------------------------------------------------------------------
- // Object
- // ------------------------------------------------------------------------
-
- @Override
- public int hashCode() {
- return super.hashCode();
- }
-
- @Override
- public boolean equals(final Object other) {
- if (this == other) {
- return true;
- }
- if (other == null) {
- return false;
- }
- if (!(other instanceof TmfSimpleTimestamp)) {
- return super.equals(other);
- }
- final TmfSimpleTimestamp ts = (TmfSimpleTimestamp) other;
-
- return compareTo(ts, false) == 0;
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/timestamp/TmfTimePreferences.java b/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/timestamp/TmfTimePreferences.java
deleted file mode 100644
index f7abb872fd..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/timestamp/TmfTimePreferences.java
+++ /dev/null
@@ -1,213 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2012, 2013 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
- * Marc-Andre Laperle - Add time zone preference
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.core.timestamp;
-
-import java.util.HashMap;
-import java.util.Locale;
-import java.util.Map;
-import java.util.TimeZone;
-
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.preferences.DefaultScope;
-import org.eclipse.core.runtime.preferences.IEclipsePreferences;
-import org.eclipse.core.runtime.preferences.InstanceScope;
-import org.eclipse.linuxtools.internal.tmf.core.Activator;
-
-/**
- * TMF Time format preferences
- *
- * @author Francois Chouinard
- * @version 1.0
- * @since 2.1
- */
-public class TmfTimePreferences {
-
- // ------------------------------------------------------------------------
- // Constants
- // ------------------------------------------------------------------------
-
- private static final String DATIME_DEFAULT = ITmfTimePreferencesConstants.TIME_HOUR_FMT;
- private static final String SUBSEC_DEFAULT = ITmfTimePreferencesConstants.SUBSEC_NANO_FMT;
- private static final String DATE_DELIMITER_DEFAULT = ITmfTimePreferencesConstants.DELIMITER_DASH;
- private static final String TIME_DELIMITER_DEFAULT = ITmfTimePreferencesConstants.DELIMITER_COLON;
- private static final String SSEC_DELIMITER_DEFAULT = ITmfTimePreferencesConstants.DELIMITER_SPACE;
- private static final String TIME_ZONE_DEFAULT = TimeZone.getDefault().getID();
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
-
- private static TmfTimePreferences fPreferences;
-
- // ------------------------------------------------------------------------
- // Constructor
- // ------------------------------------------------------------------------
-
- /**
- * Initialize the default preferences and the singleton
- */
- public static void init() {
- IEclipsePreferences defaultPreferences = DefaultScope.INSTANCE.getNode(Activator.PLUGIN_ID);
- defaultPreferences.put(ITmfTimePreferencesConstants.DATIME, DATIME_DEFAULT);
- defaultPreferences.put(ITmfTimePreferencesConstants.SUBSEC, SUBSEC_DEFAULT);
- defaultPreferences.put(ITmfTimePreferencesConstants.DATE_DELIMITER, DATE_DELIMITER_DEFAULT);
- defaultPreferences.put(ITmfTimePreferencesConstants.TIME_DELIMITER, TIME_DELIMITER_DEFAULT);
- defaultPreferences.put(ITmfTimePreferencesConstants.SSEC_DELIMITER, SSEC_DELIMITER_DEFAULT);
- defaultPreferences.put(ITmfTimePreferencesConstants.TIME_ZONE, TIME_ZONE_DEFAULT);
-
- // Create the singleton and update default formats
- getInstance();
- }
-
- /**
- * Get the TmfTimePreferences singleton
- *
- * @return The TmfTimePreferences instance
- */
- public static synchronized TmfTimePreferences getInstance() {
- if (fPreferences == null) {
- fPreferences = new TmfTimePreferences();
- TmfTimestampFormat.updateDefaultFormats();
- }
- return fPreferences;
- }
-
- /**
- * Local constructor
- */
- private TmfTimePreferences() {
- }
-
- // ------------------------------------------------------------------------
- // Getters/Setters
- // ------------------------------------------------------------------------
-
- /**
- * Return the timestamp pattern
- *
- * @return the timestamp pattern
- */
- public String getTimePattern() {
- return computeTimePattern(getPreferenceMap(false));
- }
-
- /**
- * Return the interval pattern
- *
- * @return the interval pattern
- */
- public String getIntervalPattern() {
- return computeIntervalPattern(getPreferenceMap(false));
- }
-
- /**
- * Get the time zone
- *
- * @return the time zone
- */
- public TimeZone getTimeZone() {
- return TimeZone.getTimeZone(Platform.getPreferencesService().getString(Activator.PLUGIN_ID, ITmfTimePreferencesConstants.TIME_ZONE, TimeZone.getDefault().getID(), null));
- }
-
- /**
- * Get the locale
- *
- * @return the locale
- * @since 3.2
- */
- public Locale getLocale() {
- return Locale.forLanguageTag(Platform.getPreferencesService().getString(Activator.PLUGIN_ID, ITmfTimePreferencesConstants.LOCALE, Locale.getDefault().toLanguageTag(), null));
- }
-
- /**
- * Get the default preferences map
- *
- * @return a collection containing the default preferences
- */
- public Map<String, String> getDefaultPreferenceMap() {
- return getPreferenceMap(true);
- }
-
- /**
- * Get the current preferences map
- *
- * @return a collection containing the current preferences
- */
- public Map<String, String> getPreferenceMap() {
- return getPreferenceMap(false);
- }
-
- private static Map<String, String> getPreferenceMap(boolean defaultValues) {
- Map<String, String> prefsMap = new HashMap<>();
- IEclipsePreferences prefs = defaultValues ? DefaultScope.INSTANCE.getNode(Activator.PLUGIN_ID) : InstanceScope.INSTANCE.getNode(Activator.PLUGIN_ID);
- prefToMap(prefs, prefsMap, ITmfTimePreferencesConstants.SUBSEC, SUBSEC_DEFAULT);
- prefToMap(prefs, prefsMap, ITmfTimePreferencesConstants.TIME_DELIMITER, TIME_DELIMITER_DEFAULT);
- prefToMap(prefs, prefsMap, ITmfTimePreferencesConstants.SSEC_DELIMITER, SSEC_DELIMITER_DEFAULT);
- prefToMap(prefs, prefsMap, ITmfTimePreferencesConstants.DATIME, DATIME_DEFAULT);
- prefToMap(prefs, prefsMap, ITmfTimePreferencesConstants.DATE_DELIMITER, DATE_DELIMITER_DEFAULT);
- return prefsMap;
- }
-
- // ------------------------------------------------------------------------
- // Operations
- // ------------------------------------------------------------------------
-
- private static String computeIntervalPattern(Map<String, String> prefsMap) {
- String ssecFmt = computeSubSecFormat(prefsMap);
- return ITmfTimePreferencesConstants.TIME_ELAPSED_FMT + "." + ssecFmt; //$NON-NLS-1$
- }
-
- private static String computeSubSecFormat(Map<String, String> prefsMap) {
- String sSecFormat = prefsMap.get(ITmfTimePreferencesConstants.SUBSEC);
- String sSecFieldSep = prefsMap.get(ITmfTimePreferencesConstants.SSEC_DELIMITER);
- String ssecFmt = sSecFormat.replaceAll(" ", sSecFieldSep); //$NON-NLS-1$
- return ssecFmt;
- }
-
- private static void prefToMap(IEclipsePreferences node, Map<String, String> prefsMap, String key, String defaultValue) {
- prefsMap.put(key, node.get(key, defaultValue));
- }
-
- /**
- * Compute the time pattern with the collection of preferences
- *
- * @param prefsMap the preferences to apply when computing the time pattern
- * @return the time pattern resulting in applying the preferences
- */
- public String computeTimePattern(Map<String, String> prefsMap) {
- String dateTimeFormat = prefsMap.get(ITmfTimePreferencesConstants.DATIME);
- if (dateTimeFormat == null) {
- dateTimeFormat = ITmfTimePreferencesConstants.DEFAULT_TIME_PATTERN;
- }
-
- String dateFormat;
- String timeFormat;
- int index = dateTimeFormat.indexOf(' ');
- if (index != -1) {
- dateFormat = dateTimeFormat.substring(0, dateTimeFormat.indexOf(' ') + 1);
- timeFormat = dateTimeFormat.substring(dateFormat.length());
- } else {
- dateFormat = ""; //$NON-NLS-1$
- timeFormat = dateTimeFormat;
- }
-
- String dateFieldSep = prefsMap.get(ITmfTimePreferencesConstants.DATE_DELIMITER);
- String timeFieldSep = prefsMap.get(ITmfTimePreferencesConstants.TIME_DELIMITER);
- String dateFmt = dateFormat.replaceAll("-", dateFieldSep); //$NON-NLS-1$
- String timeFmt = timeFormat.replaceAll(":", timeFieldSep); //$NON-NLS-1$
-
- String ssecFmt = computeSubSecFormat(prefsMap);
- return dateFmt + timeFmt + (ssecFmt.equals(ITmfTimePreferencesConstants.SUBSEC_NO_FMT) ? "" : '.' + ssecFmt); //$NON-NLS-1$;
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/timestamp/TmfTimeRange.java b/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/timestamp/TmfTimeRange.java
deleted file mode 100644
index 2f373fcb51..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/timestamp/TmfTimeRange.java
+++ /dev/null
@@ -1,226 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009, 2013 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 - Updated as per TMF Event Model 1.0
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.core.timestamp;
-
-import org.eclipse.jdt.annotation.NonNull;
-
-/**
- * A utility class to define and manage time ranges.
- *
- * @author Francois Chouinard
- * @version 1.0
- * @since 2.0
- *
- * @see ITmfTimestamp
- */
-public class TmfTimeRange {
-
- // ------------------------------------------------------------------------
- // Constants
- // ------------------------------------------------------------------------
-
- /**
- * The full possible time range
- */
- public static final @NonNull TmfTimeRange ETERNITY = new EternityTimeRange();
-
- /**
- * The null time range
- */
- public static final @NonNull TmfTimeRange NULL_RANGE = new TmfTimeRange();
-
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
-
- private final ITmfTimestamp fStartTime;
- private final ITmfTimestamp fEndTime;
-
- // ------------------------------------------------------------------------
- // Constructors
- // ------------------------------------------------------------------------
-
- /**
- * Default constructor
- */
- private TmfTimeRange() {
- fStartTime = TmfTimestamp.BIG_BANG;
- fEndTime = TmfTimestamp.BIG_BANG;
- }
-
- /**
- * Full constructor
- *
- * @param startTime start of the time range
- * @param endTime end of the time range
- */
- public TmfTimeRange(final ITmfTimestamp startTime, final ITmfTimestamp endTime) {
- if (startTime == null || endTime == null) {
- throw new IllegalArgumentException();
- }
- fStartTime = startTime;
- fEndTime = endTime;
- }
-
- /**
- * Copy constructor
- *
- * @param range the other time range
- */
- public TmfTimeRange(final TmfTimeRange range) {
- if (range == null) {
- throw new IllegalArgumentException();
- }
- fStartTime = range.getStartTime();
- fEndTime = range.getEndTime();
- }
-
- // ------------------------------------------------------------------------
- // Getters
- // ------------------------------------------------------------------------
-
- /**
- * @return the time range start time
- */
- public ITmfTimestamp getStartTime() {
- return fStartTime;
- }
-
- /**
- * @return the time range end time
- */
- public ITmfTimestamp getEndTime() {
- return fEndTime;
- }
-
- // ------------------------------------------------------------------------
- // Predicates
- // ------------------------------------------------------------------------
-
- /**
- * Check if the timestamp is within the time range
- *
- * @param ts
- * The timestamp to check
- * @return True if [startTime] <= [ts] <= [endTime]
- */
- public boolean contains(final ITmfTimestamp ts) {
- return (fStartTime.compareTo(ts, true) <= 0) && (fEndTime.compareTo(ts, true) >= 0);
- }
-
- /**
- * Check if the time range is within the time range
- *
- * @param range
- * The other time range
- * @return True if [range] is fully contained
- */
- public boolean contains(final TmfTimeRange range) {
- final ITmfTimestamp startTime = range.getStartTime();
- final ITmfTimestamp endTime = range.getEndTime();
- return (fStartTime.compareTo(startTime, true) <= 0) && (fEndTime.compareTo(endTime, true) >= 0);
- }
-
- // ------------------------------------------------------------------------
- // Operations
- // ------------------------------------------------------------------------
-
- /**
- * Get intersection of two time ranges
- *
- * @param range the other time range
- * @return the intersection time range, or null if no intersection exists
- */
- public TmfTimeRange getIntersection(final TmfTimeRange range) {
- if (fStartTime.compareTo(range.fEndTime, true) > 0 || fEndTime.compareTo(range.fStartTime, true) < 0) {
- return null; // no intersection
- }
-
- return new TmfTimeRange(fStartTime.compareTo(range.fStartTime, true) < 0
- ? range.fStartTime
- : fStartTime, fEndTime.compareTo(range.fEndTime, true) > 0
- ? range.fEndTime
- : fEndTime);
- }
-
- // ------------------------------------------------------------------------
- // Object
- // ------------------------------------------------------------------------
-
- @Override
- public int hashCode() {
- final int prime = 31;
- int result = 1;
- result = prime * result + fEndTime.hashCode();
- result = prime * result + fStartTime.hashCode();
- return result;
- }
-
- @Override
- public boolean equals(final Object obj) {
- if (this == obj) {
- return true;
- }
- if (obj == null) {
- return false;
- }
- if (!(obj instanceof TmfTimeRange)) {
- return false;
- }
- final TmfTimeRange other = (TmfTimeRange) obj;
- if (!fEndTime.equals(other.fEndTime)) {
- return false;
- }
- if (!fStartTime.equals(other.fStartTime)) {
- return false;
- }
- return true;
- }
-
- @Override
- @SuppressWarnings("nls")
- public String toString() {
- return "TmfTimeRange [fStartTime=" + fStartTime + ", fEndTime=" + fEndTime + "]";
- }
-
- // ------------------------------------------------------------------------
- // Inner classes
- // ------------------------------------------------------------------------
-
- /**
- * "Eternity" time range, representing the largest time range possible,
- * which includes any other time range or timestamp.
- */
- private static final class EternityTimeRange extends TmfTimeRange {
-
- public EternityTimeRange() {
- super(TmfTimestamp.BIG_BANG, TmfTimestamp.BIG_CRUNCH);
- }
-
- @Override
- public boolean contains(ITmfTimestamp ts) {
- return true;
- }
-
- @Override
- public boolean contains(TmfTimeRange range) {
- return true;
- }
-
- @Override
- public TmfTimeRange getIntersection(TmfTimeRange range) {
- return range;
- }
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/timestamp/TmfTimestamp.java b/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/timestamp/TmfTimestamp.java
deleted file mode 100644
index 95648c55cc..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/timestamp/TmfTimestamp.java
+++ /dev/null
@@ -1,384 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009, 2013 Ericsson, École Polytechnique de Montréal
- *
- * 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
- * Thomas Gatterweh - Updated scaling / synchronization
- * Francois Chouinard - Refactoring to align with TMF Event Model 1.0
- * Francois Chouinard - Implement augmented interface
- * Geneviève Bastien - Added copy constructor with new value
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.core.timestamp;
-
-import java.nio.ByteBuffer;
-
-/**
- * A generic timestamp implementation. The timestamp is represented by the
- * tuple { value, scale, precision }. By default, timestamps are scaled in
- * seconds.
- *
- * @author Francois Chouinard
- * @version 1.1
- * @since 2.0
- */
-public class TmfTimestamp implements ITmfTimestamp {
-
- // ------------------------------------------------------------------------
- // Constants
- // ------------------------------------------------------------------------
-
- /**
- * The beginning of time
- */
- public static final ITmfTimestamp BIG_BANG =
- new TmfTimestamp(Long.MIN_VALUE, Integer.MAX_VALUE, 0);
-
- /**
- * The end of time
- */
- public static final ITmfTimestamp BIG_CRUNCH =
- new TmfTimestamp(Long.MAX_VALUE, Integer.MAX_VALUE, 0);
-
- /**
- * A more practical definition of "beginning of time"
- */
- public static final ITmfTimestamp PROJECT_IS_FUNDED = BIG_BANG;
-
- /**
- * A more practical definition of "end of time"
- */
- public static final ITmfTimestamp PROJECT_IS_CANNED = BIG_CRUNCH;
-
- /**
- * Zero
- */
- public static final ITmfTimestamp ZERO =
- new TmfTimestamp(0, 0, 0);
-
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
-
- /**
- * The timestamp raw value (mantissa)
- */
- private final long fValue;
-
- /**
- * The timestamp scale (magnitude)
- */
- private final int fScale;
-
- /**
- * The value precision (tolerance)
- */
- private final int fPrecision;
-
- // ------------------------------------------------------------------------
- // Constructors
- // ------------------------------------------------------------------------
-
- /**
- * Default constructor
- */
- public TmfTimestamp() {
- this(0, ITmfTimestamp.SECOND_SCALE, 0);
- }
-
- /**
- * Simple constructor (scale = precision = 0)
- *
- * @param value the timestamp value
- */
- public TmfTimestamp(final long value) {
- this(value, ITmfTimestamp.SECOND_SCALE, 0);
- }
-
- /**
- * Simple constructor (precision = 0)
- *
- * @param value the timestamp value
- * @param scale the timestamp scale
- */
- public TmfTimestamp(final long value, final int scale) {
- this(value, scale, 0);
- }
-
- /**
- * Full constructor
- *
- * @param value the timestamp value
- * @param scale the timestamp scale
- * @param precision the timestamp precision
- */
- public TmfTimestamp(final long value, final int scale, final int precision) {
- fValue = value;
- fScale = scale;
- fPrecision = Math.abs(precision);
- }
-
- /**
- * Copy constructor
- *
- * @param timestamp the timestamp to copy
- */
- public TmfTimestamp(final ITmfTimestamp timestamp) {
- if (timestamp == null) {
- throw new IllegalArgumentException();
- }
- fValue = timestamp.getValue();
- fScale = timestamp.getScale();
- fPrecision = timestamp.getPrecision();
- }
-
- /**
- * Copies a timestamp but with a new time value
- *
- * @param timestamp
- * The timestamp to copy
- * @param newvalue
- * The value the new timestamp will have
- * @since 3.0
- */
- public TmfTimestamp(ITmfTimestamp timestamp, long newvalue) {
- if (timestamp == null) {
- throw new IllegalArgumentException();
- }
- fValue = newvalue;
- fScale = timestamp.getScale();
- fPrecision = timestamp.getPrecision();
- }
-
- // ------------------------------------------------------------------------
- // ITmfTimestamp
- // ------------------------------------------------------------------------
-
- /**
- * Construct the timestamp from the ByteBuffer.
- *
- * @param bufferIn
- * the buffer to read from
- *
- * @since 3.0
- */
- public TmfTimestamp(ByteBuffer bufferIn) {
- this(bufferIn.getLong(), bufferIn.getInt(), bufferIn.getInt());
- }
-
- @Override
- public long getValue() {
- return fValue;
- }
-
- @Override
- public int getScale() {
- return fScale;
- }
-
- @Override
- public int getPrecision() {
- return fPrecision;
- }
-
- private static final long scalingFactors[] = new long[] {
- 1L,
- 10L,
- 100L,
- 1000L,
- 10000L,
- 100000L,
- 1000000L,
- 10000000L,
- 100000000L,
- 1000000000L,
- 10000000000L,
- 100000000000L,
- 1000000000000L,
- 10000000000000L,
- 100000000000000L,
- 1000000000000000L,
- 10000000000000000L,
- 100000000000000000L,
- 1000000000000000000L,
- };
-
- @Override
- public ITmfTimestamp normalize(final long offset, final int scale) {
-
- long value = fValue;
- int precision = fPrecision;
-
- // Handle the trivial case
- if (fScale == scale && offset == 0) {
- return this;
- }
-
- // In case of big bang and big crunch just return this (no need to normalize)
- if (this.equals(BIG_BANG) || this.equals(BIG_CRUNCH)) {
- return this;
- }
-
- // First, scale the timestamp
- if (fScale != scale) {
- final int scaleDiff = Math.abs(fScale - scale);
- if (scaleDiff >= scalingFactors.length) {
- throw new ArithmeticException("Scaling exception"); //$NON-NLS-1$
- }
-
- final long scalingFactor = scalingFactors[scaleDiff];
- if (scale < fScale) {
- value *= scalingFactor;
- precision *= scalingFactor;
- } else {
- value /= scalingFactor;
- precision /= scalingFactor;
- }
- }
-
- // Then, apply the offset
- if (offset < 0) {
- value = (value < Long.MIN_VALUE - offset) ? Long.MIN_VALUE : value + offset;
- } else {
- value = (value > Long.MAX_VALUE - offset) ? Long.MAX_VALUE : value + offset;
- }
-
- return new TmfTimestamp(value, scale, precision);
- }
-
- @Override
- public int compareTo(final ITmfTimestamp ts, final boolean withinPrecision) {
-
- // Check the corner cases (we can't use equals() because it uses compareTo()...)
- if (ts == null) {
- return 1;
- }
- if (this == ts || (fValue == ts.getValue() && fScale == ts.getScale())) {
- return 0;
- }
- if ((fValue == BIG_BANG.getValue() && fScale == BIG_BANG.getScale()) || (ts.getValue() == BIG_CRUNCH.getValue() && ts.getScale() == BIG_CRUNCH.getScale())) {
- return -1;
- }
- if ((fValue == BIG_CRUNCH.getValue() && fScale == BIG_CRUNCH.getScale()) || (ts.getValue() == BIG_BANG.getValue() && ts.getScale() == BIG_BANG.getScale())) {
- return 1;
- }
-
- try {
- final ITmfTimestamp nts = ts.normalize(0, fScale);
- final long delta = fValue - nts.getValue();
- if ((delta == 0) || (withinPrecision && (Math.abs(delta) <= (fPrecision + nts.getPrecision())))) {
- return 0;
- }
- return (delta > 0) ? 1 : -1;
- }
- catch (final ArithmeticException e) {
- // Scaling error. We can figure it out nonetheless.
-
- // First, look at the sign of the mantissa
- final long value = ts.getValue();
- if (fValue == 0 && value == 0) {
- return 0;
- }
- if (fValue < 0 && value >= 0) {
- return -1;
- }
- if (fValue >= 0 && value < 0) {
- return 1;
- }
-
- // Otherwise, just compare the scales
- final int scale = ts.getScale();
- return (fScale > scale) ? (fValue >= 0) ? 1 : -1 : (fValue >= 0) ? -1 : 1;
- }
- }
-
- @Override
- public ITmfTimestamp getDelta(final ITmfTimestamp ts) {
- final ITmfTimestamp nts = ts.normalize(0, fScale);
- final long value = fValue - nts.getValue();
- return new TmfTimestampDelta(value, fScale, fPrecision + nts.getPrecision());
- }
-
- @Override
- public boolean intersects(TmfTimeRange range) {
- if (this.compareTo(range.getStartTime()) >= 0 &&
- this.compareTo(range.getEndTime()) <= 0) {
- return true;
- }
- return false;
- }
-
- // ------------------------------------------------------------------------
- // Comparable
- // ------------------------------------------------------------------------
-
- @Override
- public int compareTo(final ITmfTimestamp ts) {
- return compareTo(ts, false);
- }
-
- // ------------------------------------------------------------------------
- // Object
- // ------------------------------------------------------------------------
-
- @Override
- public int hashCode() {
- final int prime = 31;
- int result = 1;
- result = prime * result + (int) (fValue ^ (fValue >>> 32));
- result = prime * result + fScale;
- result = prime * result + fPrecision;
- return result;
- }
-
- @Override
- public boolean equals(final Object other) {
- if (this == other) {
- return true;
- }
- if (other == null) {
- return false;
- }
- if (!(other instanceof TmfTimestamp)) {
- return false;
- }
- final TmfTimestamp ts = (TmfTimestamp) other;
- return compareTo(ts, false) == 0;
- }
-
- @Override
- public String toString() {
- return toString(TmfTimestampFormat.getDefaulTimeFormat());
- }
-
- /**
- * @since 2.0
- */
- @Override
- public String toString(final TmfTimestampFormat format) {
- try {
- ITmfTimestamp ts = normalize(0, ITmfTimestamp.NANOSECOND_SCALE);
- return format.format(ts.getValue());
- }
- catch (ArithmeticException e) {
- return format.format(0);
- }
- }
-
- /**
- * Write the time stamp to the ByteBuffer so that it can be saved to disk.
- * @param bufferOut the buffer to write to
- *
- * @since 3.0
- */
- public void serialize(ByteBuffer bufferOut) {
- bufferOut.putLong(fValue);
- bufferOut.putInt(fScale);
- bufferOut.putInt(fPrecision);
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/timestamp/TmfTimestampDelta.java b/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/timestamp/TmfTimestampDelta.java
deleted file mode 100644
index ea0775f993..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/timestamp/TmfTimestampDelta.java
+++ /dev/null
@@ -1,105 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2012, 2013 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:
- * Bernd Hufmann - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.linuxtools.tmf.core.timestamp;
-
-import java.util.TimeZone;
-
-/**
- * A generic timestamp implementation for delta between timestamps.
- * The toString() method takes negative values into consideration.
- *
- * @author Bernd Hufmann
- * @since 2.0
- */
-public class TmfTimestampDelta extends TmfTimestamp {
-
- // ------------------------------------------------------------------------
- // Members
- // ------------------------------------------------------------------------
-
- // ------------------------------------------------------------------------
- // Constructors
- // ------------------------------------------------------------------------
- /**
- * Default constructor
- */
- public TmfTimestampDelta() {
- super();
- }
-
- /**
- * Simple constructor (scale = precision = 0)
- *
- * @param value the timestamp value
- */
-
- public TmfTimestampDelta(long value) {
- super(value);
- }
-
- /**
- * Simple constructor (precision = 0)
- *
- * @param value the timestamp value
- * @param scale the timestamp scale
- */
- public TmfTimestampDelta(long value, int scale) {
- super(value, scale);
- }
-
-
- /**
- * Copy constructor
- *
- * @param timestamp the timestamp to copy
- */
- public TmfTimestampDelta(ITmfTimestamp timestamp) {
- super(timestamp);
- }
-
- /**
- * Full constructor
- *
- * @param value the timestamp value
- * @param scale the timestamp scale
- * @param precision the timestamp precision
- */
- public TmfTimestampDelta(long value, int scale, int precision) {
- super(value, scale, precision);
- }
-
- // ------------------------------------------------------------------------
- // Operations
- // ------------------------------------------------------------------------
-
- @Override
- public ITmfTimestamp normalize(final long offset, final int scale) {
- ITmfTimestamp nts = super.normalize(offset, scale);
- return new TmfTimestampDelta(nts.getValue(), nts.getScale(), nts.getPrecision());
- }
-
- @Override
- public String toString() {
- return toString(TmfTimestampFormat.getDefaulIntervalFormat());
- }
-
- @Override
- public String toString(TmfTimestampFormat format) {
- if (getValue() < 0) {
- TmfTimestampDelta tmpTs = new TmfTimestampDelta(-getValue(), getScale(), getPrecision());
- return "-" + tmpTs.toString(format); //$NON-NLS-1$
- }
- TmfTimestampFormat deltaFormat = new TmfTimestampFormat(format.toPattern());
- deltaFormat.setTimeZone(TimeZone.getTimeZone("UTC")); //$NON-NLS-1$
- return super.toString(deltaFormat);
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/timestamp/TmfTimestampFormat.java b/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/timestamp/TmfTimestampFormat.java
deleted file mode 100644
index 970ce9dbf7..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/timestamp/TmfTimestampFormat.java
+++ /dev/null
@@ -1,816 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2012, 2015 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
- * Marc-Andre Laperle - Add time zone preference
- * Patrick Tasse - Updated for negative value formatting and fraction of sec
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.core.timestamp;
-
-import java.text.DecimalFormat;
-import java.text.ParseException;
-import java.text.SimpleDateFormat;
-import java.util.ArrayList;
-import java.util.Calendar;
-import java.util.Date;
-import java.util.List;
-import java.util.Locale;
-import java.util.TimeZone;
-
-/**
- * A formatting and parsing facility that can handle timestamps that span the
- * epoch with a precision down to the nanosecond. It can be understood as an
- * extension of SimpleDateFormat that supports seconds since the epoch (Jan 1,
- * 1970, 00:00:00 GMT), additional sub-second patterns and optional delimiters.
- * <p>
- * The timestamp representation is broken down into a number of optional
- * components that can be assembled into a fairly simple way.
- *
- * <h4>Date and Time Patterns</h4>
- * All date and time pattern letters defined in {@link SimpleDateFormat} are
- * supported with the following exceptions:
- * <blockquote>
- * <table border=0 cellspacing=3 cellpadding=0 >
- * <tr bgcolor="#ccccff">
- * <th align=left>Format
- * <th align=left>Description
- * <th align=left>Value Range
- * <th align=left>Example
- * <tr bgcolor="#eeeeff">
- * <td><code>T</code>
- * <td>The seconds since the epoch
- * <td><code>0-9223372036</code>
- * <td><code>1332170682</code>
- * <tr>
- * <td><code>S</code>
- * <td>Millisecond
- * <td><code>N/A</code>
- * <td><code>Not supported</code>
- * <tr bgcolor="#eeeeff">
- * <td><code>W</code>
- * <td>Week in month
- * <td><code>N/A</code>
- * <td><code>Not supported</code>
- * </table>
- * </blockquote>
- * <p>
- * <strong>Note:</strong> When parsing, if "T" is used, no other Date and Time
- * pattern letter will be interpreted and the entire pre-delimiter input string
- * will be parsed as a number. Also, "T" should be used for time intervals.
- * <p>
- * <strong>Note:</strong> The decimal separator between the Date and Time
- * pattern and the Sub-Seconds pattern is mandatory (if there is a fractional
- * part) and must be one of the sub-second delimiters. Date and Time pattern
- * letters are not interpreted after the decimal separator.
- * <p>
- * <h4>Sub-Seconds Patterns</h4>
- * <blockquote>
- * <table border=0 cellspacing=3 cellpadding=0 >
- * <tr bgcolor="#ccccff">
- * <th align=left>Format
- * <th align=left>Description
- * <th align=left>Value Range
- * <th align=left>Example
- * <tr>
- * <td><code>S</code>
- * <td>Fraction of second
- * <td><code>0-999999999</code>
- * <td><code>123456789</code>
- * <tr bgcolor="#eeeeff">
- * <td><code>C</code>
- * <td>Microseconds in ms
- * <td><code>0-999</code>
- * <td><code>456</code>
- * <tr>
- * <td><code>N</code>
- * <td>Nanoseconds in &#181s
- * <td><code>0-999</code>
- * <td><code>789</code>
- * </table>
- * </blockquote>
- * <strong>Note:</strong> The fraction of second pattern can be split, in which
- * case parsing and formatting continues at the next digit. Digits beyond the
- * total number of pattern letters are ignored when parsing and truncated when
- * formatting.
- * <p>
- * <strong>Note:</strong> When parsing, "S", "C" and "N" are interchangeable
- * and are all handled as fraction of second ("S"). The use of "C" and "N" is
- * discouraged but is supported for backward compatibility.
- * <p>
- *
- * The recognized sub-second delimiters are:
- * <ul>
- * <li>Space ("<code> </code>")
- * <li>Period ("<code>.</code>")
- * <li>Comma ("<code>,</code>")
- * <li>Dash ("<code>-</code>")
- * <li>Underline ("<code>_</code>")
- * <li>Colon ("<code>:</code>")
- * <li>Semicolon ("<code>;</code>")
- * <li>Slash ("<code>/</code>")
- * <li>Single-quote ("<code>''</code>")
- * <li>Double-quote ("<code>"</code>")
- * </ul>
- * <p>
- * <strong>Note:</strong> When parsing, sub-second delimiters are optional if
- * unquoted. However, an extra delimiter or any other unexpected character in
- * the input string ends the parsing of digits. All other quoted or unquoted
- * characters in the sub-second pattern are matched against the input string.
- *
- * <h4>Examples</h4>
- * The following examples show how timestamp patterns are interpreted in
- * the U.S. locale. The given timestamp is 1332170682539677389L, the number
- * of nanoseconds since 1970/01/01.
- *
- * <blockquote>
- * <table border=0 cellspacing=3 cellpadding=0>
- * <tr bgcolor="#ccccff">
- * <th align=left>Date and Time Pattern
- * <th align=left>Result
- * <tr>
- * <td><code>"yyyy-MM-dd HH:mm:ss.SSS.SSS.SSS"</code>
- * <td><code>2012-03-19 11:24:42.539.677.389</code>
- * <tr bgcolor="#eeeeff">
- * <td><code>"yyyy-MM-dd HH:mm:ss.SSS.SSS"</code>
- * <td><code>2012-03-19 11:24:42.539.677</code>
- * <tr>
- * <td><code>"yyyy-D HH:mm:ss.SSS.SSS"</code>
- * <td><code>2012-79 11:24:42.539.677</code>
- * <tr bgcolor="#eeeeff">
- * <td><code>"ss,SSSS"</code>
- * <td><code>42,5397</code>
- * <tr>
- * <td><code>"T.SSS SSS SSS"</code>
- * <td><code>1332170682.539 677 389</code>
- * <tr bgcolor="#eeeeff">
- * <td><code>"T"</code>
- * <td><code>1332170682</code>
- * </table>
- * </blockquote>
- * <p>
- * @version 1.0
- * @since 2.0
- * @author Francois Chouinard
- */
-public class TmfTimestampFormat extends SimpleDateFormat {
-
- // ------------------------------------------------------------------------
- // Constants
- // ------------------------------------------------------------------------
-
- /**
- * This class' serialization ID
- */
- private static final long serialVersionUID = 2835829763122454020L;
-
- /**
- * The default timestamp pattern
- */
- public static final String DEFAULT_TIME_PATTERN = "HH:mm:ss.SSS SSS SSS"; //$NON-NLS-1$
-
- /**
- * The default interval pattern
- */
- public static final String DEFAULT_INTERVAL_PATTERN = "TTT.SSS SSS SSS"; //$NON-NLS-1$
-
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
-
- // The default timestamp pattern
- private static TmfTimestampFormat fDefaultTimeFormat = null;
-
- // The default time interval format
- private static TmfTimestampFormat fDefaultIntervalFormat = null;
-
- // The timestamp pattern
- private String fPattern;
-
- // The index of the decimal separator in the pattern
- private int fPatternDecimalSeparatorIndex;
-
- // The decimal separator
- private char fDecimalSeparator = '\0';
-
- // The date and time pattern unquoted characters
- private String fDateTimePattern;
-
- // The sub-seconds pattern
- private String fSubSecPattern;
-
- // The list of supplementary patterns
- private List<String> fSupplPatterns = new ArrayList<>();
-
- // The locale
- private final Locale fLocale;
-
- /**
- * The supplementary pattern letters. Can be redefined by sub-classes
- * to either override existing letters or augment the letter set.
- * If so, the format() method must provide the (re-)implementation of the
- * pattern.
- */
- protected String fSupplPatternLetters = "TSCN"; //$NON-NLS-1$
- /**
- * The sub-second pattern letters.
- * @since 3.0
- */
- protected String fSubSecPatternChars = "SCN"; //$NON-NLS-1$
- /**
- * The optional sub-second delimiter characters.
- * @since 3.0
- */
- protected String fDelimiterChars = " .,-_:;/'\""; //$NON-NLS-1$
-
- /*
- * The bracketing symbols used to mitigate the risk of a format string
- * that contains escaped sequences that would conflict with our format
- * extension.
- */
- /** The open bracket symbol */
- protected String fOpenBracket = "[&"; //$NON-NLS-1$
-
- /** The closing bracket symbol */
- protected String fCloseBracket = "&]"; //$NON-NLS-1$
-
- // ------------------------------------------------------------------------
- // Constructors
- // ------------------------------------------------------------------------
-
- /**
- * The default constructor (uses the default pattern)
- */
- public TmfTimestampFormat() {
- this(TmfTimePreferences.getInstance().getTimePattern());
- }
-
- /**
- * The normal constructor
- *
- * @param pattern the format pattern
- */
- public TmfTimestampFormat(String pattern) {
- fLocale = Locale.getDefault();
- applyPattern(pattern);
- }
-
- /**
- * The full constructor
- *
- * @param pattern the format pattern
- * @param timeZone the time zone
- * @since 2.1
- */
- public TmfTimestampFormat(String pattern, TimeZone timeZone) {
- fLocale = Locale.getDefault();
- setTimeZone(timeZone);
- applyPattern(pattern);
- }
-
- /**
- * The fuller constructor
- *
- * @param pattern the format pattern
- * @param timeZone the time zone
- * @param locale the locale
- * @since 3.2
- */
- public TmfTimestampFormat(String pattern, TimeZone timeZone, Locale locale) {
- super("", locale); //$NON-NLS-1$
- fLocale = locale;
- setTimeZone(timeZone);
- setCalendar(Calendar.getInstance(timeZone, locale));
- applyPattern(pattern);
- }
-
- /**
- * The copy constructor
- *
- * @param other the other format pattern
- */
- public TmfTimestampFormat(TmfTimestampFormat other) {
- this(other.fPattern, other.getTimeZone(), other.fLocale);
- }
-
- // ------------------------------------------------------------------------
- // Getters/setters
- // ------------------------------------------------------------------------
-
- /**
- * @since 2.1
- */
- public static void updateDefaultFormats() {
- fDefaultTimeFormat = new TmfTimestampFormat(
- TmfTimePreferences.getInstance().getTimePattern(),
- TmfTimePreferences.getInstance().getTimeZone(),
- TmfTimePreferences.getInstance().getLocale());
- fDefaultIntervalFormat = new TmfTimestampFormat(TmfTimePreferences.getInstance().getIntervalPattern());
- }
-
- /**
- * @return the default time format pattern
- */
- public static TmfTimestampFormat getDefaulTimeFormat() {
- if (fDefaultTimeFormat == null) {
- fDefaultTimeFormat = new TmfTimestampFormat(
- TmfTimePreferences.getInstance().getTimePattern(),
- TmfTimePreferences.getInstance().getTimeZone(),
- TmfTimePreferences.getInstance().getLocale());
- }
- return fDefaultTimeFormat;
- }
-
- /**
- * @return the default interval format pattern
- */
- public static TmfTimestampFormat getDefaulIntervalFormat() {
- if (fDefaultIntervalFormat == null) {
- fDefaultIntervalFormat = new TmfTimestampFormat(TmfTimePreferences.getInstance().getIntervalPattern());
- }
- return fDefaultIntervalFormat;
- }
-
- @Override
- public void applyPattern(String pattern) {
- fPattern = pattern;
- fPatternDecimalSeparatorIndex = indexOfPatternDecimalSeparator(pattern);
- fDateTimePattern = unquotePattern(pattern.substring(0, fPatternDecimalSeparatorIndex));
- // Check that 'S' is not present in the date and time pattern
- if (fDateTimePattern.indexOf('S') != -1) {
- throw new IllegalArgumentException("Illegal pattern character 'S'"); //$NON-NLS-1$
- }
- // Check that 'W' is not present in the date and time pattern
- if (fDateTimePattern.indexOf('W') != -1) {
- throw new IllegalArgumentException("Illegal pattern character 'W'"); //$NON-NLS-1$
- }
- // The super pattern is the date/time pattern, quoted and bracketed
- super.applyPattern(quoteSpecificTags(pattern.substring(0, fPatternDecimalSeparatorIndex), true));
- // The sub-seconds pattern is bracketed (but not quoted)
- fSubSecPattern = quoteSpecificTags(pattern.substring(fPatternDecimalSeparatorIndex), false);
- }
-
- @Override
- public String toPattern() {
- return fPattern;
- }
-
- // ------------------------------------------------------------------------
- // Operations
- // ------------------------------------------------------------------------
-
- /**
- * Format the timestamp according to its pattern.
- *
- * @param value the timestamp value to format (in ns)
- * @return the formatted timestamp
- */
- public synchronized String format(long value) {
-
- // Split the timestamp value into its sub-components
- long date = value / 1000000; // milliseconds since January 1, 1970, 00:00:00 GMT
- long sec = value / 1000000000; // seconds since January 1, 1970, 00:00:00 GMT
- long ms = Math.abs((value % 1000000000) / 1000000); // milliseconds
- long cs = Math.abs((value % 1000000) / 1000); // microseconds
- long ns = Math.abs(value % 1000); // nanoseconds
-
- // Adjust for negative value when formatted as a date
- if (value < 0 && ms + cs + ns > 0 && !super.toPattern().contains(fOpenBracket + "T")) { //$NON-NLS-1$
- date -= 1;
- long nanosec = 1000000000 - (1000000 * ms + 1000 * cs + ns);
- ms = nanosec / 1000000;
- cs = (nanosec % 1000000) / 1000;
- ns = nanosec % 1000;
- }
-
- // Let the base class format the date/time pattern
- StringBuffer result = new StringBuffer(super.format(date));
- // Append the sub-second pattern
- result.append(fSubSecPattern);
-
- int fractionDigitsPrinted = 0;
- // Fill in our extensions
- for (String pattern : fSupplPatterns) {
- int length = pattern.length();
- long val = 0;
- int bufLength = 0;
-
- // Format the proper value as per the pattern
- switch (pattern.charAt(0)) {
- case 'T':
- if (value < 0 && sec == 0) {
- result.insert(0, '-');
- }
- val = sec;
- bufLength = Math.min(length, 10);
- break;
- case 'S':
- val = 1000000 * ms + 1000 * cs + ns;
- bufLength = 9;
- break;
- case 'C':
- val = cs;
- bufLength = Math.min(length, 3);
- break;
- case 'N':
- val = ns;
- bufLength = Math.min(length, 3);
- break;
- default:
- break;
- }
-
- // Prepare the format buffer
- StringBuffer fmt = new StringBuffer();
- for (int i = 0; i < bufLength; i++) {
- fmt.append("0"); //$NON-NLS-1$
- }
- DecimalFormat dfmt = new DecimalFormat(fmt.toString());
- String fmtVal = dfmt.format(val);
- if (pattern.charAt(0) == 'S') {
- fmtVal = fmtVal.substring(fractionDigitsPrinted, Math.min(bufLength, fractionDigitsPrinted + length));
- fractionDigitsPrinted += fmtVal.length();
- }
-
- // Substitute the placeholder pattern with the formatted value
- String ph = new StringBuffer(fOpenBracket + pattern + fCloseBracket).toString();
- int loc = result.indexOf(ph);
- result.replace(loc, loc + length + fOpenBracket.length() + fCloseBracket.length(), fmtVal);
- }
-
- return result.toString();
- }
-
- /**
- * Parse a string according to the format pattern
- *
- * @param source the source string
- * @param ref the reference (base) time (in ns)
- * @return the parsed value (in ns)
- * @throws ParseException if the string has an invalid format
- */
- public synchronized long parseValue(final String source, final long ref) throws ParseException {
-
- // Trivial case
- if (source == null || source.length() == 0) {
- return 0;
- }
-
- long seconds = 0;
- boolean isNegative = source.charAt(0) == '-';
- boolean isDateTimeFormat = true;
-
- int index = indexOfSourceDecimalSeparator(source);
-
- // Check for seconds in epoch pattern
- for (String pattern : fSupplPatterns) {
- if (pattern.charAt(0) == 'T') {
- isDateTimeFormat = false;
- // Remove everything up to the first "." and compute the
- // number of seconds since the epoch. If there is no period,
- // assume an integer value and return immediately
- if (index == 0 || (isNegative && index <= 1)) {
- seconds = 0;
- } else if (index == source.length()) {
- return new DecimalFormat("0").parse(source).longValue() * 1000000000; //$NON-NLS-1$
- } else {
- seconds = new DecimalFormat("0").parse(source.substring(0, index)).longValue(); //$NON-NLS-1$
- }
- break;
- }
- }
-
- // If there was no "T" (thus not an interval), parse as a date
- if (isDateTimeFormat && super.toPattern().length() > 0) {
- Date baseDate = super.parse(source.substring(0, index));
- getCalendar();
-
- if (ref != Long.MIN_VALUE) {
- Calendar baseTime = Calendar.getInstance(getTimeZone(), fLocale);
- baseTime.setTimeInMillis(baseDate.getTime());
- Calendar newTime = Calendar.getInstance(getTimeZone(), fLocale);
- newTime.setTimeInMillis(ref / 1000000);
- boolean setRemainingFields = false;
- if (dateTimePatternContains("yY")) { //$NON-NLS-1$
- newTime.set(Calendar.YEAR, baseTime.get(Calendar.YEAR));
- setRemainingFields = true;
- }
- if (setRemainingFields || dateTimePatternContains("M")) { //$NON-NLS-1$
- newTime.set(Calendar.MONTH, baseTime.get(Calendar.MONTH));
- setRemainingFields = true;
- }
- if (setRemainingFields || dateTimePatternContains("d")) { //$NON-NLS-1$
- newTime.set(Calendar.DATE, baseTime.get(Calendar.DATE));
- setRemainingFields = true;
- } else if (dateTimePatternContains("D")) { //$NON-NLS-1$
- newTime.set(Calendar.DAY_OF_YEAR, baseTime.get(Calendar.DAY_OF_YEAR));
- setRemainingFields = true;
- } else if (dateTimePatternContains("w")) { //$NON-NLS-1$
- newTime.set(Calendar.WEEK_OF_YEAR, baseTime.get(Calendar.WEEK_OF_YEAR));
- setRemainingFields = true;
- }
- if (dateTimePatternContains("F")) { //$NON-NLS-1$
- newTime.set(Calendar.DAY_OF_WEEK_IN_MONTH, baseTime.get(Calendar.DAY_OF_WEEK_IN_MONTH));
- setRemainingFields = true;
- }
- if (dateTimePatternContains("Eu")) { //$NON-NLS-1$
- newTime.set(Calendar.DAY_OF_WEEK, baseTime.get(Calendar.DAY_OF_WEEK));
- setRemainingFields = true;
- }
- if (setRemainingFields || dateTimePatternContains("aHkKh")) { //$NON-NLS-1$
- newTime.set(Calendar.HOUR_OF_DAY, baseTime.get(Calendar.HOUR_OF_DAY));
- setRemainingFields = true;
- }
- if (setRemainingFields || dateTimePatternContains("m")) { //$NON-NLS-1$
- newTime.set(Calendar.MINUTE, baseTime.get(Calendar.MINUTE));
- setRemainingFields = true;
- }
- if (setRemainingFields || dateTimePatternContains("s")) { //$NON-NLS-1$
- newTime.set(Calendar.SECOND, baseTime.get(Calendar.SECOND));
- }
- newTime.set(Calendar.MILLISECOND, 0);
- seconds = newTime.getTimeInMillis() / 1000;
- } else {
- seconds = baseDate.getTime() / 1000;
- }
- } else if (isDateTimeFormat && ref != Long.MIN_VALUE) {
- // If the date and time pattern is empty, adjust for reference
- seconds = ref / 1000000000;
- }
-
- long nanos = parseSubSeconds(source.substring(index));
- if (isNegative && !isDateTimeFormat) {
- nanos = -nanos;
- }
- // Compute the value in ns
- return seconds * 1000000000 + nanos;
- }
-
- /**
- * Parse a string according to the format pattern
- *
- * @param source the source string
- * @return the parsed value (in ns)
- * @throws ParseException if the string has an invalid format
- */
- public long parseValue(final String source) throws ParseException {
- long result = parseValue(source, Long.MIN_VALUE);
- return result;
-
- }
-
- // ------------------------------------------------------------------------
- // Helper functions
- // ------------------------------------------------------------------------
-
- /**
- * Finds the index of the decimal separator in the pattern string, which is
- * the last delimiter found before the first sub-second pattern character.
- * Returns the pattern string length if decimal separator is not found.
- */
- private int indexOfPatternDecimalSeparator(String pattern) {
- int lastDelimiterIndex = pattern.length();
- boolean inQuote = false;
- int index = 0;
- while (index < pattern.length()) {
- char ch = pattern.charAt(index);
- if (ch == '\'') {
- if (index + 1 < pattern.length()) {
- index++;
- ch = pattern.charAt(index);
- if (ch != '\'') {
- inQuote = !inQuote;
- }
- }
- }
- if (!inQuote) {
- if (fSubSecPatternChars.indexOf(ch) != -1) {
- if (lastDelimiterIndex < pattern.length()) {
- fDecimalSeparator = pattern.charAt(lastDelimiterIndex);
- }
- return lastDelimiterIndex;
- }
- if (fDelimiterChars.indexOf(ch) != -1) {
- lastDelimiterIndex = index;
- if (ch == '\'') {
- lastDelimiterIndex--;
- }
- }
- }
- index++;
- }
- return pattern.length();
- }
-
- /**
- * Finds the first index of a decimal separator in the source string.
- * Skips the number of decimal separators in the format pattern.
- * Returns the source string length if decimal separator is not found.
- */
- private int indexOfSourceDecimalSeparator(String source) {
- String separator = fDecimalSeparator == '\'' ? "''" : String.valueOf(fDecimalSeparator); //$NON-NLS-1$
- int patternPos = fPattern.indexOf(separator);
- int sourcePos = -1;
- while (patternPos != -1 && patternPos <= fPatternDecimalSeparatorIndex) {
- sourcePos = source.indexOf(fDecimalSeparator, sourcePos + 1);
- if (sourcePos == -1) {
- break;
- }
- // skip optional spaces and tabs before a pattern letter
- char p = patternPos < fPattern.length() - 1 ? fPattern.charAt(patternPos + 1) : '\0';
- if ((p >= 'a' && p <= 'z') || (p >= 'A' && p <= 'Z')) {
- while (sourcePos < source.length() - 1) {
- char s = source.charAt(sourcePos + 1);
- if (s == ' ' || s == '\t') {
- sourcePos++;
- } else {
- break;
- }
- }
- }
- patternPos = fPattern.indexOf(separator, patternPos + separator.length());
- }
- if (sourcePos == -1) {
- sourcePos = source.length();
- }
- return sourcePos;
- }
-
- /**
- * Parse the sub-second digits in the input. Handle delimiters as optional
- * characters. Match any non-pattern and non-delimiter pattern characters
- * against the input. Returns the number of nanoseconds.
- */
- private long parseSubSeconds(String input) throws ParseException {
- StringBuilder digits = new StringBuilder("000000000"); //$NON-NLS-1$
- String pattern = fPattern.substring(fPatternDecimalSeparatorIndex);
- boolean inQuote = false;
- int digitIndex = 0;
- int inputIndex = 0;
- int patternIndex = 0;
- while (patternIndex < pattern.length()) {
- char ch = pattern.charAt(patternIndex);
- if (ch == '\'') {
- patternIndex++;
- if (patternIndex < pattern.length()) {
- ch = pattern.charAt(patternIndex);
- if (ch != '\'') {
- inQuote = !inQuote;
- }
- } else if (inQuote) {
- // final end quote
- break;
- }
- }
- if (fDelimiterChars.indexOf(ch) != -1 && !inQuote) {
- // delimiter is optional if not in quote
- if (inputIndex < input.length() && input.charAt(inputIndex) == ch) {
- inputIndex++;
- }
- patternIndex++;
- continue;
- } else if (fSubSecPatternChars.indexOf(ch) != -1 && !inQuote) {
- // read digit if not in quote
- if (inputIndex < input.length() && Character.isDigit(input.charAt(inputIndex))) {
- if (digitIndex < digits.length()) {
- digits.setCharAt(digitIndex, input.charAt(inputIndex));
- digitIndex++;
- }
- inputIndex++;
- } else {
- // not a digit, stop parsing digits
- digitIndex = digits.length();
- }
- patternIndex++;
- continue;
- }
- if (inputIndex >= input.length() || input.charAt(inputIndex) != ch) {
- throw new ParseException("Unparseable sub-seconds: \"" + input + '\"', inputIndex); //$NON-NLS-1$
- }
- patternIndex++;
- inputIndex++;
- }
- return Long.parseLong(digits.toString());
- }
-
- /**
- * Copy the pattern but quote (bracket with "[&" and "&]") the
- * TmfTimestampFormat specific tags. Optionally surround tags with single
- * quotes so these fields are treated as comments by the base class.
- *
- * It also keeps track of the corresponding quoted fields so they can be
- * properly populated later on (by format()).
- *
- * @param pattern
- * the 'extended' pattern
- * @param includeQuotes
- * true to include quotes from pattern and add single quotes
- * around tags
- * @return the quoted and bracketed pattern
- */
- private String quoteSpecificTags(final String pattern, boolean includeQuotes) {
-
- StringBuffer result = new StringBuffer();
-
- int length = pattern.length();
- boolean inQuote = false;
-
- for (int i = 0; i < length; i++) {
- char c = pattern.charAt(i);
- if (c != '\'' || includeQuotes) {
- result.append(c);
- }
- if (c == '\'') {
- // '' is treated as a single quote regardless of being
- // in a quoted section.
- if ((i + 1) < length) {
- c = pattern.charAt(i + 1);
- if (c == '\'') {
- i++;
- result.append(c);
- continue;
- }
- }
- inQuote = !inQuote;
- continue;
- }
- if (!inQuote && (fSupplPatternLetters.indexOf(c) != -1)) {
- if (pattern.charAt(0) == fDecimalSeparator) {
- if (fSubSecPatternChars.indexOf(c) == -1) {
- // do not quote non-sub-second pattern letters in sub-second pattern
- continue;
- }
- } else {
- if (fSubSecPatternChars.indexOf(c) != -1) {
- // do not quote sub-second pattern letters in date and time pattern
- continue;
- }
- }
- StringBuilder pat = new StringBuilder();
- pat.append(c);
- if (includeQuotes) {
- result.insert(result.length() - 1, "'"); //$NON-NLS-1$
- }
- result.insert(result.length() - 1, fOpenBracket);
- while ((i + 1) < length && pattern.charAt(i + 1) == c) {
- result.append(c);
- pat.append(c);
- i++;
- }
- result.append(fCloseBracket);
- if (includeQuotes) {
- result.append("'"); //$NON-NLS-1$
- }
- fSupplPatterns.add(pat.toString());
- }
- }
- return result.toString();
- }
-
- /**
- * Returns the unquoted characters in this pattern.
- */
- private static String unquotePattern(String pattern) {
- boolean inQuote = false;
- int index = 0;
- StringBuilder result = new StringBuilder();
- while (index < pattern.length()) {
- char ch = pattern.charAt(index);
- if (ch == '\'') {
- if (index + 1 < pattern.length()) {
- index++;
- ch = pattern.charAt(index);
- if (ch != '\'') {
- inQuote = !inQuote;
- }
- }
- }
- if (!inQuote) {
- result.append(ch);
- }
- index++;
- }
- return result.toString();
- }
-
- /**
- * Returns true if the date and time pattern contains any of these chars.
- */
- private boolean dateTimePatternContains(String chars) {
- int index = 0;
- while (index < chars.length()) {
- char ch = chars.charAt(index);
- if (fDateTimePattern.indexOf(ch) != -1) {
- return true;
- }
- index++;
- }
- return false;
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/trace/ITmfContext.java b/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/trace/ITmfContext.java
deleted file mode 100644
index f3b526e117..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/trace/ITmfContext.java
+++ /dev/null
@@ -1,88 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009, 2013 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 - Updated as per TMF Trace Model 1.0
- * Patrick Tasse - Updated for removal of context clone
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.core.trace;
-
-import org.eclipse.linuxtools.tmf.core.trace.location.ITmfLocation;
-
-/**
- * The basic trace context structure in TMF. The purpose of the context is to
- * associate a trace location to an event at a specific rank (order).
- * <p>
- * The context should be sufficient to allow the trace to position itself so
- * that performing a trace read operation will yield the corresponding 'nth'
- * event.
- *
- * @version 1.0
- * @author Francois Chouinard
- *
- * @see ITmfLocation
- */
-public interface ITmfContext {
-
- // ------------------------------------------------------------------------
- // Constants
- // ------------------------------------------------------------------------
-
- /**
- * The unknown event rank
- */
- public long UNKNOWN_RANK = -1L;
-
- // ------------------------------------------------------------------------
- // Getters
- // ------------------------------------------------------------------------
-
- /**
- * @return the rank of the event at the context location
- */
- long getRank();
-
- /**
- * @return the location of the event at the context rank
- * @since 3.0
- */
- ITmfLocation getLocation();
-
- /**
- * @return indicates if the context rank is valid (!= UNKNOWN_RANK)
- */
- boolean hasValidRank();
-
- // ------------------------------------------------------------------------
- // Operations
- // ------------------------------------------------------------------------
-
- /**
- * @param location the new location
- * @since 3.0
- */
- void setLocation(ITmfLocation location);
-
- /**
- * @param rank the new rank
- */
- void setRank(long rank);
-
- /**
- * Increment the context rank
- */
- void increaseRank();
-
- /**
- * Cleanup hook
- */
- void dispose();
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/trace/ITmfEventParser.java b/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/trace/ITmfEventParser.java
deleted file mode 100644
index d855f8b267..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/trace/ITmfEventParser.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009, 2013 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 - Updated as per TMF Trace Model 1.0
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.core.trace;
-
-import org.eclipse.linuxtools.tmf.core.event.ITmfEvent;
-
-/**
- * The generic trace parser in TMF.
- *
- * @version 1.0
- * @author Francois Chouinard
- *
- * @see ITmfEvent
- * @see ITmfContext
- */
-public interface ITmfEventParser {
-
- /**
- * Parses the trace event referenced by the context.
- * The context should *not* be altered.
- *
- * @param context the trace context
- * @return a parsed event (null if none)
- */
- ITmfEvent parseEvent(ITmfContext context);
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/trace/ITmfTrace.java b/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/trace/ITmfTrace.java
deleted file mode 100644
index 4c2cf3f0a4..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/trace/ITmfTrace.java
+++ /dev/null
@@ -1,457 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009, 2014 Ericsson, École Polytechnique de Montréal
- *
- * 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 - Updated as per TMF Trace Model 1.0
- * Geneviève Bastien - Added timestamp transforms and timestamp
- * creation functions
- * Patrick Tasse - Add support for folder elements
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.core.trace;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.jdt.annotation.NonNull;
-import org.eclipse.jdt.annotation.Nullable;
-import org.eclipse.linuxtools.tmf.core.analysis.IAnalysisModule;
-import org.eclipse.linuxtools.tmf.core.component.ITmfEventProvider;
-import org.eclipse.linuxtools.tmf.core.event.ITmfEvent;
-import org.eclipse.linuxtools.tmf.core.exceptions.TmfTraceException;
-import org.eclipse.linuxtools.tmf.core.synchronization.ITmfTimestampTransform;
-import org.eclipse.linuxtools.tmf.core.timestamp.ITmfTimestamp;
-import org.eclipse.linuxtools.tmf.core.timestamp.TmfTimeRange;
-import org.eclipse.linuxtools.tmf.core.trace.indexer.ITmfTraceIndexer;
-import org.eclipse.linuxtools.tmf.core.trace.location.ITmfLocation;
-
-/**
- * The event stream structure in TMF. In its basic form, a trace has:
- * <ul>
- * <li> an associated Eclipse resource
- * <li> a path to its location on the file system
- * <li> the type of the events it contains
- * <li> the number of events it contains
- * <li> the time range (span) of the events it contains
- * </ul>
- * Concrete ITmfTrace classes have to provide a parameter-less constructor and
- * an initialization method (<i>initTrace</i>) if they are to be opened from the
- * Project View. Also, a validation method (<i>validate</i>) has to be provided
- * to ensure that the trace is of the correct type.
- * <p>
- * A trace can be accessed simultaneously from multiple threads by various
- * application components. To avoid obvious multi-threading issues, the trace
- * uses an ITmfContext as a synchronization aid for its read operations.
- * <p>
- * A proper ITmfContext can be obtained by performing a seek operation on the
- * trace. Seek operations can be performed for a particular event (by rank or
- * timestamp) or for a plain trace location.
- * <p>
- * <b>Example 1</b>: Process a whole trace
- * <pre>
- * ITmfContext context = trace.seekEvent(0);
- * ITmfEvent event = trace.getNext(context);
- * while (event != null) {
- * processEvent(event);
- * event = trace.getNext(context);
- * }
- * </pre>
- * <b>Example 2</b>: Process 50 events starting from the 1000th event
- * <pre>
- * int nbEventsRead = 0;
- * ITmfContext context = trace.seekEvent(1000);
- * ITmfEvent event = trace.getNext(context);
- * while (event != null && nbEventsRead < 50) {
- * nbEventsRead++;
- * processEvent(event);
- * event = trace.getNext(context);
- * }
- * </pre>
- * <b>Example 3</b>: Process the events between 2 timestamps (inclusive)
- * <pre>
- * ITmfTimestamp startTime = ...;
- * ITmfTimestamp endTime = ...;
- * ITmfContext context = trace.seekEvent(startTime);
- * ITmfEvent event = trace.getNext(context);
- * while (event != null && event.getTimestamp().compareTo(endTime) <= 0) {
- * processEvent(event);
- * event = trace.getNext(context);
- * }
- * </pre>
- *
- * A trace is also an event provider so it can process event requests
- * asynchronously (and coalesce compatible, concurrent requests).
- * <p>
- *
- * <b>Example 4</b>: Process a whole trace (see ITmfEventRequest for
- * variants)
- * <pre>
- * ITmfRequest request = new TmfEventRequest&lt;MyEventType&gt;(MyEventType.class) {
- * &#064;Override
- * public void handleData(MyEventType event) {
- * super.handleData(event);
- * processEvent(event);
- * }
- *
- * &#064;Override
- * public void handleCompleted() {
- * finish();
- * super.handleCompleted();
- * }
- * };
- *
- * fTrace.handleRequest(request);
- * if (youWant) {
- * request.waitForCompletion();
- * }
- * </pre>
- *
- * @version 1.0
- * @author Francois Chouinard
- *
- * @see ITmfContext
- * @see ITmfEvent
- * @see ITmfTraceIndexer
- * @see ITmfEventParser
- */
-public interface ITmfTrace extends ITmfEventProvider {
-
- // ------------------------------------------------------------------------
- // Constants
- // ------------------------------------------------------------------------
-
- /**
- * The default trace cache size
- */
- public static final int DEFAULT_TRACE_CACHE_SIZE = 1000;
-
- // ------------------------------------------------------------------------
- // Initializers
- // ------------------------------------------------------------------------
-
- /**
- * Initialize a newly instantiated "empty" trace object. This is used to
- * properly parameterize an ITmfTrace instantiated with its parameterless
- * constructor.
- * <p>
- * Typically, the parameterless constructor will provide the block size and
- * its associated parser and indexer.
- *
- * @param resource
- * the trace resource
- * @param path
- * the trace path. The path should suitable for passing to
- * <code>java.io.File(String)</code> and should use the
- * platform-dependent path separator.
- * @param type
- * the trace event type
- * @throws TmfTraceException
- * If we couldn't open the trace
- */
- void initTrace(IResource resource, String path, Class<? extends ITmfEvent> type) throws TmfTraceException;
-
- /**
- * Initialize a newly instantiated "empty" trace object. This is used to
- * properly parameterize an ITmfTrace instantiated with its parameterless
- * constructor.
- * <p>
- * Typically, the parameterless constructor will provide the block size and
- * its associated parser and indexer.
- *
- * @param resource
- * the trace resource
- * @param path
- * the trace path
- * @param type
- * the trace event type
- * @param name
- * the trace name
- * @throws TmfTraceException
- * If we couldn't open the trace
- */
- void initTrace(IResource resource, String path, Class<? extends ITmfEvent> type, String name) throws TmfTraceException;
-
- /**
- * Validate that the trace is of the correct type. The implementation should
- * return a TraceValidationStatus to indicate success with a certain level
- * of confidence.
- *
- * @param project
- * the eclipse project
- * @param path
- * the trace path. The path should suitable for passing to
- * <code>java.io.File(String)</code> and should use the
- * platform-dependent path separator.
- *
- * @return an IStatus object with validation result. Use severity OK to
- * indicate success.
- * @see TraceValidationStatus
- * @since 2.0
- */
- IStatus validate(IProject project, String path);
-
- // ------------------------------------------------------------------------
- // Basic getters
- // ------------------------------------------------------------------------
-
- /**
- * @return the trace event type
- */
- Class<? extends ITmfEvent> getEventType();
-
- /**
- * @return the associated trace resource
- */
- IResource getResource();
-
- /**
- * @return the trace path
- */
- String getPath();
-
- /**
- * @return the trace cache size
- */
- int getCacheSize();
-
- /**
- * Index the trace. Depending on the trace type, this could be done at the
- * constructor or initTrace phase too, so this could be implemented as a
- * no-op.
- *
- * @param waitForCompletion
- * Should we block the caller until indexing is finished, or not.
- * @since 2.0
- */
- void indexTrace(boolean waitForCompletion);
-
- // ------------------------------------------------------------------------
- // Analysis getters
- // ------------------------------------------------------------------------
-
- /**
- * Returns an analysis module with the given ID.
- *
- * @param id
- * The analysis module ID
- * @return The {@link IAnalysisModule} object, or null if an analysis with
- * the given ID does no exist.
- * @since 3.0
- */
- @Nullable
- IAnalysisModule getAnalysisModule(String id);
-
- /**
- * Get a list of all analysis modules currently available for this trace.
- *
- * @return An iterable view of the analysis modules
- * @since 3.0
- */
- @NonNull
- Iterable<IAnalysisModule> getAnalysisModules();
-
- /**
- * Get an analysis module belonging to this trace, with the specified ID and
- * class.
- *
- * @param moduleClass
- * Returned modules must extend this class
- * @param id
- * The ID of the analysis module
- * @return The analysis module with specified class and ID, or null if no
- * such module exists.
- * @since 3.0
- */
- @Nullable
- <T extends IAnalysisModule> T getAnalysisModuleOfClass(Class<T> moduleClass, String id);
-
- /**
- * Return the analysis modules that are of a given class. Module are already
- * casted to the requested class.
- *
- * @param moduleClass
- * Returned modules must extend this class
- * @return List of modules of class moduleClass
- * @since 3.0
- */
- @NonNull
- <T> Iterable<T> getAnalysisModulesOfClass(Class<T> moduleClass);
-
- // ------------------------------------------------------------------------
- // Trace characteristics getters
- // ------------------------------------------------------------------------
-
- /**
- * @return the number of events in the trace
- */
- long getNbEvents();
-
- /**
- * @return the trace time range
- * @since 2.0
- */
- TmfTimeRange getTimeRange();
-
- /**
- * @return the timestamp of the first trace event
- * @since 2.0
- */
- ITmfTimestamp getStartTime();
-
- /**
- * @return the timestamp of the last trace event
- * @since 2.0
- */
- ITmfTimestamp getEndTime();
-
- /**
- * @return the streaming interval in ms (0 if not a streaming trace)
- */
- long getStreamingInterval();
-
- // ------------------------------------------------------------------------
- // Trace positioning getters
- // ------------------------------------------------------------------------
-
- /**
- * @return the current trace location
- * @since 3.0
- */
- ITmfLocation getCurrentLocation();
-
- /**
- * Returns the ratio (proportion) corresponding to the specified location.
- *
- * @param location
- * a trace specific location
- * @return a floating-point number between 0.0 (beginning) and 1.0 (end)
- * @since 3.0
- */
- double getLocationRatio(ITmfLocation location);
-
- // ------------------------------------------------------------------------
- // SeekEvent operations (returning a trace context)
- // ------------------------------------------------------------------------
-
- /**
- * Position the trace at the specified (trace specific) location.
- * <p>
- * A null location is interpreted as seeking for the first event of the
- * trace.
- * <p>
- * If not null, the location requested must be valid otherwise the returned
- * context is undefined (up to the implementation to recover if possible).
- * <p>
- *
- * @param location
- * the trace specific location
- * @return a context which can later be used to read the corresponding event
- * @since 3.0
- */
- ITmfContext seekEvent(ITmfLocation location);
-
- /**
- * Position the trace at the 'rank'th event in the trace.
- * <p>
- * A rank <= 0 is interpreted as seeking for the first event of the trace.
- * <p>
- * If the requested rank is beyond the last trace event, the context
- * returned will yield a null event if used in a subsequent read.
- *
- * @param rank
- * the event rank
- * @return a context which can later be used to read the corresponding event
- */
- ITmfContext seekEvent(long rank);
-
- /**
- * Position the trace at the first event with the specified timestamp. If
- * there is no event with the requested timestamp, a context pointing to the
- * next chronological event is returned.
- * <p>
- * A null timestamp is interpreted as seeking for the first event of the
- * trace.
- * <p>
- * If the requested timestamp is beyond the last trace event, the context
- * returned will yield a null event if used in a subsequent read.
- *
- * @param timestamp
- * the timestamp of desired event
- * @return a context which can later be used to read the corresponding event
- * @since 2.0
- */
- ITmfContext seekEvent(ITmfTimestamp timestamp);
-
- /**
- * Position the trace at the event located at the specified ratio in the
- * trace file.
- * <p>
- * The notion of ratio (0.0 <= r <= 1.0) is trace specific and left
- * voluntarily vague. Typically, it would refer to the event proportional
- * rank (arguably more intuitive) or timestamp in the trace file.
- *
- * @param ratio
- * the proportional 'rank' in the trace
- * @return a context which can later be used to read the corresponding event
- */
- ITmfContext seekEvent(double ratio);
-
- /**
- * Returns the initial range offset
- *
- * @return the initial range offset
- * @since 2.0
- */
- ITmfTimestamp getInitialRangeOffset();
-
- /**
- * Returns the ID of the host this trace is from. The host ID is not
- * necessarily the hostname, but should be a unique identifier for the
- * machine on which the trace was taken. It can be used to determine if two
- * traces were taken on the exact same machine (timestamp are already
- * synchronized, resources with same id are the same if taken at the same
- * time, etc).
- *
- * @return The host id of this trace
- * @since 3.0
- */
- String getHostId();
-
- // ------------------------------------------------------------------------
- // Timestamp transformation functions
- // ------------------------------------------------------------------------
-
- /**
- * Returns the timestamp transformation for this trace
- *
- * @return the timestamp transform
- * @since 3.0
- */
- ITmfTimestampTransform getTimestampTransform();
-
- /**
- * Sets the trace's timestamp transform
- *
- * @param tt
- * The timestamp transform for all timestamps of this trace
- * @since 3.0
- */
- void setTimestampTransform(final ITmfTimestampTransform tt);
-
- /**
- * Creates a timestamp for this trace, using the transformation formula
- *
- * @param ts
- * The time in nanoseconds with which to create the timestamp
- * @return The new timestamp
- * @since 3.0
- */
- ITmfTimestamp createTimestamp(long ts);
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/trace/ITmfTraceCompleteness.java b/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/trace/ITmfTraceCompleteness.java
deleted file mode 100644
index 67a31eb414..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/trace/ITmfTraceCompleteness.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2014 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:
- * Marc-Andre Laperle - Initial implementation
- **********************************************************************/
-
-package org.eclipse.linuxtools.tmf.core.trace;
-
-/**
- * An interface that provides information about the completeness of a trace. A
- * trace is considered complete when it is known that no more data will be added
- * to it.
- *
- * @since 3.1
- */
-public interface ITmfTraceCompleteness {
-
- /**
- * Returns whether or not a trace is complete.
- *
- * @return true if a trace is complete, false otherwise
- */
- boolean isComplete();
-
- /**
- * Set the completeness of a trace.
- *
- * @param isComplete
- * whether the trace should be considered complete or not
- */
- void setComplete(boolean isComplete);
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/trace/ITmfTraceProperties.java b/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/trace/ITmfTraceProperties.java
deleted file mode 100644
index 6838b38a2f..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/trace/ITmfTraceProperties.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 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:
- * Alexandre Montplaisir - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.core.trace;
-
-import java.util.Map;
-
-/**
- * Interface for trace types to implement when they can provide additional
- * trace-wide properties.
- *
- * This information will be displayed in the trace's Properties View, among
- * other things.
- *
- * @author Alexandre Montplaisir
- * @since 2.0
- */
-public interface ITmfTraceProperties {
-
- /**
- * Get the properties related to this trace.
- *
- * @return The map of properties, <name, value>
- */
- public Map<String, String> getTraceProperties();
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/trace/ITmfTraceWithPreDefinedEvents.java b/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/trace/ITmfTraceWithPreDefinedEvents.java
deleted file mode 100644
index 093ccfffdc..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/trace/ITmfTraceWithPreDefinedEvents.java
+++ /dev/null
@@ -1,59 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 École Polytechnique de Montréal, 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:
- * Geneviève Bastien - Initial API and implementation
- * Matthew Khouzam - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.core.trace;
-
-import java.util.Set;
-
-import org.eclipse.linuxtools.tmf.core.event.ITmfEventType;
-
-/**
- * This interface should be implemented by all trace classes who have a way to
- * know in advance what events it may contain. It allows analyses and other
- * external components to ask the list of events for the trace might contain.
- *
- * The methods from this interface will typically be called to determine whether
- * or not it is worth reading a trace. If we can know in advance that a trace
- * does not contain the events required by an analysis, then the analysis will
- * not be run. So the response should not involve having to actually read the
- * trace.
- *
- * @author Geneviève Bastien
- * @author Matthew Khouzam
- * @since 3.0
- */
-public interface ITmfTraceWithPreDefinedEvents {
-
- /**
- * Return a set of event types declared in the trace, without actually
- * reading the trace. This method can be called before reading a trace but
- * after it is initialized, in order to compare this set with a set of
- * events that a request handles, to determine whether or not it is worth
- * reading the trace.
- *
- * Some trace types have ways to determine the events that were traced
- * without having to read the whole trace and this is what this method will
- * query. The presence of an event in the returned set does not guarantee
- * that an event with this name actually happened during this trace, only
- * that it can be there.
- *
- * The set should be immutable. Destructive set operations should be
- * performed on a copy of this set.A helper class
- * {@link TmfEventTypeCollectionHelper} will provide ways of working with
- * this data structure.
- *
- * @return The set of events that might be present in the trace
- */
- Set<ITmfEventType> getContainedEventTypes();
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/trace/TmfContext.java b/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/trace/TmfContext.java
deleted file mode 100644
index 3b55ebe1ec..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/trace/TmfContext.java
+++ /dev/null
@@ -1,178 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009, 2013 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 - Updated as per TMF Trace Model 1.0
- * Patrick Tasse - Updated for removal of context clone
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.core.trace;
-
-import org.eclipse.linuxtools.tmf.core.trace.location.ITmfLocation;
-
-/**
- * A basic implementation of ITmfContext.
- * <p>
- * It ties a trace location to an event rank. The context should be enough to
- * restore the trace state so the corresponding event can be read.
- *
- * @version 1.0
- * @author Francois Chouinard
- *
- * @see ITmfLocation
- */
-public class TmfContext implements ITmfContext {
-
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
-
- // The trace location
- private ITmfLocation fLocation;
-
- // The event rank
- private long fRank;
-
- // ------------------------------------------------------------------------
- // Constructors
- // ------------------------------------------------------------------------
-
- /**
- * Default constructor
- */
- public TmfContext() {
- this(null, UNKNOWN_RANK);
- }
-
- /**
- * Simple constructor (unknown rank)
- *
- * @param location the event location
- * @since 3.0
- */
- public TmfContext(final ITmfLocation location) {
- this(location, UNKNOWN_RANK);
- }
-
- /**
- * Full constructor
- *
- * @param location the event location
- * @param rank the event rank
- * @since 3.0
- */
- public TmfContext(final ITmfLocation location, final long rank) {
- fLocation = location;
- fRank = rank;
- }
-
- /**
- * Copy constructor
- *
- * @param context the other context
- */
- public TmfContext(final TmfContext context) {
- if (context == null) {
- throw new IllegalArgumentException();
- }
- fLocation = context.fLocation;
- fRank = context.fRank;
- }
-
- // ------------------------------------------------------------------------
- // ITmfContext
- // ------------------------------------------------------------------------
-
- /**
- * @since 3.0
- */
- @Override
- public ITmfLocation getLocation() {
- return fLocation;
- }
-
- /**
- * @since 3.0
- */
- @Override
- public void setLocation(final ITmfLocation location) {
- fLocation = location;
- }
-
- @Override
- public long getRank() {
- return fRank;
- }
-
- @Override
- public void setRank(final long rank) {
- fRank = rank;
- }
-
- @Override
- public void increaseRank() {
- if (hasValidRank()) {
- fRank++;
- }
- }
-
- @Override
- public boolean hasValidRank() {
- return fRank != UNKNOWN_RANK;
- }
-
- @Override
- public void dispose() {
- }
-
- // ------------------------------------------------------------------------
- // Object
- // ------------------------------------------------------------------------
-
- @Override
- public int hashCode() {
- final int prime = 31;
- int result = 1;
- result = prime * result + ((fLocation == null) ? 0 : fLocation.hashCode());
- result = prime * result + (int) (fRank ^ (fRank >>> 32));
- return result;
- }
-
- @Override
- public boolean equals(final Object obj) {
- if (this == obj) {
- return true;
- }
- if (obj == null) {
- return false;
- }
- if (getClass() != obj.getClass()) {
- return false;
- }
- final TmfContext other = (TmfContext) obj;
- if (fLocation == null) {
- if (other.fLocation != null) {
- return false;
- }
- } else if (!fLocation.equals(other.fLocation)) {
- return false;
- }
- if (fRank != other.fRank) {
- return false;
- }
- return true;
- }
-
- @Override
- @SuppressWarnings("nls")
- public String toString() {
- return "TmfContext [fLocation=" + fLocation + ", fRank=" + fRank + "]";
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/trace/TmfEventTypeCollectionHelper.java b/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/trace/TmfEventTypeCollectionHelper.java
deleted file mode 100644
index 72bfe18574..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/trace/TmfEventTypeCollectionHelper.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 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:
- * Matthew Khouzam - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.core.trace;
-
-import java.util.HashSet;
-import java.util.Set;
-
-import org.eclipse.linuxtools.tmf.core.event.ITmfEventType;
-
-/**
- * Set Helper for sets of ITmfTraceType
- *
- * TODO Remove once Java 8 is used (replace with Streams)
- *
- * @author Matthew Khouzam
- * @since 3.0
- */
-public final class TmfEventTypeCollectionHelper {
-
- private TmfEventTypeCollectionHelper() {
- }
-
- /**
- * Gets the event names from a collection of event types
- *
- * @param eventTypes
- * an iterable collection of ITmfEventTypes
- * @return a set of the names of these events, if some names are clashing
- * they will only appear once
- */
- public static Set<String> getEventNames(Iterable<ITmfEventType> eventTypes) {
- Set<String> retSet = new HashSet<>();
- for (ITmfEventType eventType : eventTypes) {
- retSet.add(eventType.getName());
- }
- return retSet;
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/trace/TmfExperiment.java b/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/trace/TmfExperiment.java
deleted file mode 100644
index 3eeee30c34..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/trace/TmfExperiment.java
+++ /dev/null
@@ -1,736 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009, 2014 Ericsson, École Polytechnique de Montréal
- *
- * 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 - Updated as per TMF Trace Model 1.0
- * Patrick Tasse - Updated for removal of context clone
- * Patrick Tasse - Updated for ranks in experiment location
- * Geneviève Bastien - Added support of experiment synchronization
- * Added the initExperiment method and default constructor
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.core.trace;
-
-import java.io.File;
-import java.nio.ByteBuffer;
-import java.util.Arrays;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.MultiStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.linuxtools.internal.tmf.core.Activator;
-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.TmfCommonConstants;
-import org.eclipse.linuxtools.tmf.core.event.ITmfEvent;
-import org.eclipse.linuxtools.tmf.core.exceptions.TmfTraceException;
-import org.eclipse.linuxtools.tmf.core.request.ITmfEventRequest;
-import org.eclipse.linuxtools.tmf.core.signal.TmfSignalHandler;
-import org.eclipse.linuxtools.tmf.core.signal.TmfTraceOpenedSignal;
-import org.eclipse.linuxtools.tmf.core.signal.TmfTraceRangeUpdatedSignal;
-import org.eclipse.linuxtools.tmf.core.signal.TmfTraceSynchronizedSignal;
-import org.eclipse.linuxtools.tmf.core.synchronization.SynchronizationAlgorithm;
-import org.eclipse.linuxtools.tmf.core.synchronization.SynchronizationManager;
-import org.eclipse.linuxtools.tmf.core.timestamp.ITmfTimestamp;
-import org.eclipse.linuxtools.tmf.core.timestamp.TmfTimeRange;
-import org.eclipse.linuxtools.tmf.core.timestamp.TmfTimestamp;
-import org.eclipse.linuxtools.tmf.core.trace.indexer.ITmfPersistentlyIndexable;
-import org.eclipse.linuxtools.tmf.core.trace.indexer.ITmfTraceIndexer;
-import org.eclipse.linuxtools.tmf.core.trace.indexer.TmfBTreeTraceIndexer;
-import org.eclipse.linuxtools.tmf.core.trace.location.ITmfLocation;
-
-/**
- * TmfExperiment presents a time-ordered, unified view of a set of ITmfTrace:s
- * that are part of a tracing experiment.
- *
- * @version 1.0
- * @author Francois Chouinard
- */
-public class TmfExperiment extends TmfTrace implements ITmfEventParser, ITmfPersistentlyIndexable {
-
- // ------------------------------------------------------------------------
- // Constants
- // ------------------------------------------------------------------------
-
- /**
- * The file name of the Synchronization
- *
- * @since 3.0
- * @deprecated This file name shouldn't be used directly anymore. All
- * synchronization files have been moved to a folder and you
- * should use the {@link #getSynchronizationFolder(boolean)}
- * method to return the path to this folder.
- */
- @Deprecated
- public static final String SYNCHRONIZATION_FILE_NAME = "synchronization.bin"; //$NON-NLS-1$
-
- /**
- * The name of the directory containing trace synchronization data. This
- * directory typically will be preserved when traces are synchronized.
- * Analysis involved in synchronization can put their supplementary files in
- * there so they are not deleted when synchronized traces are copied.
- */
- private static final String SYNCHRONIZATION_DIRECTORY = "sync_data"; //$NON-NLS-1$
-
- /**
- * The default index page size
- */
- public static final int DEFAULT_INDEX_PAGE_SIZE = 5000;
-
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
-
- /**
- * The set of traces that constitute the experiment
- */
- protected ITmfTrace[] fTraces;
-
- /**
- * The set of traces that constitute the experiment
- */
- private boolean fInitialized = false;
-
- // ------------------------------------------------------------------------
- // Construction
- // ------------------------------------------------------------------------
-
- /**
- * Default constructor
- *
- * @since 3.0
- */
- public TmfExperiment() {
- super();
- }
-
- /**
- * Constructor with parameters
- *
- * @param type
- * the event type
- * @param id
- * the experiment id
- * @param traces
- * the experiment set of traces
- */
- public TmfExperiment(final Class<? extends ITmfEvent> type, final String id, final ITmfTrace[] traces) {
- this(type, id, traces, DEFAULT_INDEX_PAGE_SIZE, null);
- }
-
- /**
- * Constructor of experiment taking type, path, traces and resource
- *
- * @param type
- * the event type
- * @param id
- * the experiment id
- * @param traces
- * the experiment set of traces
- * @param resource
- * the resource associated to the experiment
- */
- public TmfExperiment(final Class<? extends ITmfEvent> type, final String id, final ITmfTrace[] traces, IResource resource) {
- this(type, id, traces, DEFAULT_INDEX_PAGE_SIZE, resource);
- }
-
- /**
- * @param type
- * the event type
- * @param path
- * the experiment path
- * @param traces
- * the experiment set of traces
- * @param indexPageSize
- * the experiment index page size
- */
- public TmfExperiment(final Class<? extends ITmfEvent> type, final String path, final ITmfTrace[] traces, final int indexPageSize) {
- this(type, path, traces, indexPageSize, null);
- }
-
- /**
- * Full constructor of an experiment, taking the type, path, traces,
- * indexPageSize and resource
- *
- * @param type
- * the event type
- * @param path
- * the experiment path
- * @param traces
- * the experiment set of traces
- * @param indexPageSize
- * the experiment index page size
- * @param resource
- * the resource associated to the experiment
- */
- public TmfExperiment(final Class<? extends ITmfEvent> type, final String path, final ITmfTrace[] traces, final int indexPageSize, IResource resource) {
- initExperiment(type, path, traces, indexPageSize, resource);
- }
-
- @Override
- protected ITmfTraceIndexer createIndexer(int interval) {
- if (getCheckpointSize() > 0) {
- return new TmfBTreeTraceIndexer(this, interval);
- }
- return super.createIndexer(interval);
- }
-
- /**
- * Clears the experiment
- */
- @Override
- public synchronized void dispose() {
-
- // Clean up the index if applicable
- if (getIndexer() != null) {
- getIndexer().dispose();
- }
-
- if (fTraces != null) {
- for (final ITmfTrace trace : fTraces) {
- trace.dispose();
- }
- fTraces = null;
- }
- super.dispose();
- }
-
- // ------------------------------------------------------------------------
- // ITmfTrace - Initializers
- // ------------------------------------------------------------------------
-
- @Override
- public void initTrace(final IResource resource, final String path, final Class<? extends ITmfEvent> type) {
- }
-
- /**
- * Initialization of an experiment, taking the type, path, traces,
- * indexPageSize and resource
- *
- * @param type
- * the event type
- * @param path
- * the experiment path
- * @param traces
- * the experiment set of traces
- * @param indexPageSize
- * the experiment index page size
- * @param resource
- * the resource associated to the experiment
- * @since 3.0
- */
- public void initExperiment(final Class<? extends ITmfEvent> type, final String path, final ITmfTrace[] traces, final int indexPageSize, IResource resource) {
- setCacheSize(indexPageSize);
- setStreamingInterval(0);
- setParser(this);
- // traces have to be set before super.initialize()
- fTraces = traces;
- try {
- super.initialize(resource, path, type);
- } catch (TmfTraceException e) {
- Activator.logError("Error initializing experiment", e); //$NON-NLS-1$
- }
-
- if (resource != null) {
- this.synchronizeTraces();
- }
- }
-
- /**
- * @since 2.0
- */
- @Override
- public IStatus validate(final IProject project, final String path) {
- return Status.OK_STATUS;
- }
-
- // ------------------------------------------------------------------------
- // Accessors
- // ------------------------------------------------------------------------
-
- /**
- * Get the traces contained in this experiment.
- *
- * @return The array of contained traces
- */
- public ITmfTrace[] getTraces() {
- return fTraces;
- }
-
- /**
- * Returns the timestamp of the event at the requested index. If none,
- * returns null.
- *
- * @param index
- * the event index (rank)
- * @return the corresponding event timestamp
- * @since 2.0
- */
- public ITmfTimestamp getTimestamp(final int index) {
- final ITmfContext context = seekEvent(index);
- final ITmfEvent event = getNext(context);
- context.dispose();
- return (event != null) ? event.getTimestamp() : null;
- }
-
- // ------------------------------------------------------------------------
- // Request management
- // ------------------------------------------------------------------------
-
- /**
- * @since 2.0
- */
- @Override
- public synchronized ITmfContext armRequest(final ITmfEventRequest request) {
-
- // Make sure we have something to read from
- if (fTraces == null) {
- return null;
- }
-
- if (!TmfTimestamp.BIG_BANG.equals(request.getRange().getStartTime())
- && request.getIndex() == 0) {
- final ITmfContext context = seekEvent(request.getRange().getStartTime());
- request.setStartIndex((int) context.getRank());
- return context;
-
- }
-
- return seekEvent(request.getIndex());
- }
-
- // ------------------------------------------------------------------------
- // ITmfTrace trace positioning
- // ------------------------------------------------------------------------
-
- /**
- * @since 3.0
- */
- @Override
- public synchronized ITmfContext seekEvent(final ITmfLocation location) {
- // Validate the location
- if (location != null && !(location instanceof TmfExperimentLocation)) {
- return null; // Throw an exception?
- }
- // Make sure we have something to read from
- if (fTraces == null) {
- return null;
- }
-
- // Initialize the location array if necessary
- TmfLocationArray locationArray = ((location == null) ?
- new TmfLocationArray(fTraces.length) :
- ((TmfExperimentLocation) location).getLocationInfo());
-
- ITmfLocation[] locations = locationArray.getLocations();
- long[] ranks = locationArray.getRanks();
-
- // Create and populate the context's traces contexts
- final TmfExperimentContext context = new TmfExperimentContext(fTraces.length);
-
- // Position the traces
- long rank = 0;
- for (int i = 0; i < fTraces.length; i++) {
- // Get the relevant trace attributes
- final ITmfContext traceContext = fTraces[i].seekEvent(locations[i]);
- context.setContext(i, traceContext);
- traceContext.setRank(ranks[i]);
- // update location after seek
- locations[i] = traceContext.getLocation();
- context.setEvent(i, fTraces[i].getNext(traceContext));
- rank += ranks[i];
- }
-
- // Finalize context
- context.setLocation(new TmfExperimentLocation(new TmfLocationArray(locations, ranks)));
- context.setLastTrace(TmfExperimentContext.NO_TRACE);
- context.setRank(rank);
-
- return context;
- }
-
- // ------------------------------------------------------------------------
- // ITmfTrace - SeekEvent operations (returning a trace context)
- // ------------------------------------------------------------------------
-
- @Override
- public ITmfContext seekEvent(final double ratio) {
- final ITmfContext context = seekEvent(Math.round(ratio * getNbEvents()));
- return context;
- }
-
- /**
- * @since 3.0
- */
- @Override
- public double getLocationRatio(final ITmfLocation location) {
- if (location instanceof TmfExperimentLocation) {
- long rank = 0;
- TmfLocationArray locationArray = ((TmfExperimentLocation) location).getLocationInfo();
- for (int i = 0; i < locationArray.size(); i++) {
- rank += locationArray.getRank(i);
- }
- return (double) rank / getNbEvents();
- }
- return 0.0;
- }
-
- /**
- * @since 3.0
- */
- @Override
- public ITmfLocation getCurrentLocation() {
- // never used
- return null;
- }
-
- // ------------------------------------------------------------------------
- // ITmfTrace trace positioning
- // ------------------------------------------------------------------------
-
- @Override
- public synchronized ITmfEvent parseEvent(final ITmfContext context) {
- final ITmfContext tmpContext = seekEvent(context.getLocation());
- final ITmfEvent event = getNext(tmpContext);
- return event;
- }
-
- @Override
- public synchronized ITmfEvent getNext(ITmfContext context) {
-
- // Validate the context
- if (!(context instanceof TmfExperimentContext)) {
- return null; // Throw an exception?
- }
-
- // Make sure that we have something to read from
- if (fTraces == null) {
- return null;
- }
-
- TmfExperimentContext expContext = (TmfExperimentContext) context;
-
- // If an event was consumed previously, first get the next one from that
- // trace
- final int lastTrace = expContext.getLastTrace();
- if (lastTrace != TmfExperimentContext.NO_TRACE) {
- final ITmfContext traceContext = expContext.getContext(lastTrace);
- expContext.setEvent(lastTrace, fTraces[lastTrace].getNext(traceContext));
- expContext.setLastTrace(TmfExperimentContext.NO_TRACE);
- }
-
- // Scan the candidate events and identify the "next" trace to read from
- int trace = TmfExperimentContext.NO_TRACE;
- ITmfTimestamp timestamp = TmfTimestamp.BIG_CRUNCH;
- for (int i = 0; i < fTraces.length; i++) {
- final ITmfEvent event = expContext.getEvent(i);
- if (event != null && event.getTimestamp() != null) {
- final ITmfTimestamp otherTS = event.getTimestamp();
- if (otherTS.compareTo(timestamp, true) < 0) {
- trace = i;
- timestamp = otherTS;
- }
- }
- }
-
- ITmfEvent event = null;
- if (trace != TmfExperimentContext.NO_TRACE) {
- event = expContext.getEvent(trace);
- if (event != null) {
- updateAttributes(expContext, event.getTimestamp());
- expContext.increaseRank();
- expContext.setLastTrace(trace);
- final ITmfContext traceContext = expContext.getContext(trace);
- if (traceContext == null) {
- throw new IllegalStateException();
- }
-
- // Update the experiment location
- TmfLocationArray locationArray = new TmfLocationArray(
- ((TmfExperimentLocation) expContext.getLocation()).getLocationInfo(),
- trace, traceContext.getLocation(), traceContext.getRank());
- expContext.setLocation(new TmfExperimentLocation(locationArray));
-
- processEvent(event);
- }
- }
-
- return event;
- }
-
- /**
- * @since 2.0
- */
- @Override
- public ITmfTimestamp getInitialRangeOffset() {
- if ((fTraces == null) || (fTraces.length == 0)) {
- return super.getInitialRangeOffset();
- }
-
- ITmfTimestamp initTs = TmfTimestamp.BIG_CRUNCH;
- for (int i = 0; i < fTraces.length; i++) {
- ITmfTimestamp ts = fTraces[i].getInitialRangeOffset();
- if (ts.compareTo(initTs) < 0) {
- initTs = ts;
- }
- }
- return initTs;
- }
-
- /**
- * Get the path to the folder in the supplementary file where
- * synchronization-related data can be kept so they are not deleted when the
- * experiment is synchronized. Analysis involved in synchronization can put
- * their supplementary files in there so they are preserved after
- * synchronization.
- *
- * If the directory does not exist, it will be created. A return value of
- * <code>null</code> means either the trace resource does not exist or
- * supplementary resources cannot be kept.
- *
- * @param absolute
- * If <code>true</code>, it returns the absolute path in the file
- * system, including the supplementary file path. Otherwise, it
- * returns only the directory name.
- * @return The path to the folder where synchronization-related
- * supplementary files can be kept or <code>null</code> if not
- * available.
- * @since 3.2
- */
- public String getSynchronizationFolder(boolean absolute) {
- /* Set up the path to the synchronization file we'll use */
- IResource resource = this.getResource();
- String syncDirectory = null;
-
- try {
- /* get the directory where the file will be stored. */
- if (resource != null) {
- String fullDirectory = resource.getPersistentProperty(TmfCommonConstants.TRACE_SUPPLEMENTARY_FOLDER);
- /* Create the synchronization data directory if not present */
- if (fullDirectory != null) {
- fullDirectory = fullDirectory + File.separator + SYNCHRONIZATION_DIRECTORY;
- File syncDir = new File(fullDirectory);
- syncDir.mkdirs();
- }
- if (absolute) {
- syncDirectory = fullDirectory;
- } else {
- syncDirectory = SYNCHRONIZATION_DIRECTORY;
- }
- }
- } catch (CoreException e) {
- return null;
- }
-
- return syncDirectory;
- }
-
- /**
- * Synchronizes the traces of an experiment. By default it only tries to
- * read a synchronization file if it exists
- *
- * @return The synchronization object
- * @since 3.0
- */
- public synchronized SynchronizationAlgorithm synchronizeTraces() {
- return synchronizeTraces(false);
- }
-
- /**
- * Synchronizes the traces of an experiment.
- *
- * @param doSync
- * Whether to actually synchronize or just try opening a sync
- * file
- * @return The synchronization object
- * @since 3.0
- */
- public synchronized SynchronizationAlgorithm synchronizeTraces(boolean doSync) {
-
- String syncDirectory = getSynchronizationFolder(true);
-
- final File syncFile = (syncDirectory != null) ? new File(syncDirectory + File.separator + SYNCHRONIZATION_FILE_NAME) : null;
-
- final SynchronizationAlgorithm syncAlgo = SynchronizationManager.synchronizeTraces(syncFile, Arrays.asList(fTraces), doSync);
-
- final TmfTraceSynchronizedSignal signal = new TmfTraceSynchronizedSignal(this, syncAlgo);
-
- /* Broadcast in separate thread to prevent deadlock */
- new Thread() {
- @Override
- public void run() {
- broadcast(signal);
- }
- }.start();
-
- return syncAlgo;
- }
-
- @Override
- @SuppressWarnings("nls")
- public synchronized String toString() {
- return "[TmfExperiment (" + getName() + ")]";
- }
-
- // ------------------------------------------------------------------------
- // Streaming support
- // ------------------------------------------------------------------------
-
- private synchronized void initializeStreamingMonitor() {
-
- if (fInitialized) {
- return;
- }
- fInitialized = true;
-
- if (getStreamingInterval() == 0) {
- final ITmfContext context = seekEvent(0);
- final ITmfEvent event = getNext(context);
- context.dispose();
- if (event == null) {
- return;
- }
- final TmfTimeRange timeRange = new TmfTimeRange(event.getTimestamp(), TmfTimestamp.BIG_CRUNCH);
- final TmfTraceRangeUpdatedSignal signal = new TmfTraceRangeUpdatedSignal(this, this, timeRange);
-
- // Broadcast in separate thread to prevent deadlock
- new Thread() {
- @Override
- public void run() {
- broadcast(signal);
- }
- }.start();
- return;
- }
-
- final Thread thread = new Thread("Streaming Monitor for experiment " + getName()) { //$NON-NLS-1$
- private ITmfTimestamp safeTimestamp = null;
- private ITmfTimestamp lastSafeTimestamp = null;
- private TmfTimeRange timeRange = null;
-
- @Override
- public void run() {
- while (!executorIsShutdown()) {
- if (!getIndexer().isIndexing()) {
- ITmfTimestamp startTimestamp = TmfTimestamp.BIG_CRUNCH;
- ITmfTimestamp endTimestamp = TmfTimestamp.BIG_BANG;
- for (final ITmfTrace trace : fTraces) {
- if (trace.getStartTime().compareTo(startTimestamp) < 0) {
- startTimestamp = trace.getStartTime();
- }
- if (trace.getStreamingInterval() != 0 && trace.getEndTime().compareTo(endTimestamp) > 0) {
- endTimestamp = trace.getEndTime();
- }
- }
- if (safeTimestamp != null && (lastSafeTimestamp == null || safeTimestamp.compareTo(lastSafeTimestamp, false) > 0)) {
- timeRange = new TmfTimeRange(startTimestamp, safeTimestamp);
- lastSafeTimestamp = safeTimestamp;
- } else {
- timeRange = null;
- }
- safeTimestamp = endTimestamp;
- if (timeRange != null) {
- final TmfTraceRangeUpdatedSignal signal =
- new TmfTraceRangeUpdatedSignal(TmfExperiment.this, TmfExperiment.this, timeRange);
- broadcast(signal);
- }
- }
- try {
- Thread.sleep(getStreamingInterval());
- } catch (final InterruptedException e) {
- e.printStackTrace();
- }
- }
- }
- };
- thread.start();
- }
-
- @Override
- public long getStreamingInterval() {
- long interval = 0;
- for (final ITmfTrace trace : fTraces) {
- interval = Math.max(interval, trace.getStreamingInterval());
- }
- return interval;
- }
-
- // ------------------------------------------------------------------------
- // Signal handlers
- // ------------------------------------------------------------------------
-
- @Override
- @TmfSignalHandler
- public void traceOpened(TmfTraceOpenedSignal signal) {
- if (signal.getTrace() == this) {
- initializeStreamingMonitor();
-
- /* Initialize the analysis */
- MultiStatus status = new MultiStatus(Activator.PLUGIN_ID, IStatus.OK, null, null);
- status.add(executeAnalysis());
- if (!status.isOK()) {
- Activator.log(status);
- }
- TmfTraceManager.refreshSupplementaryFiles(this);
- }
- }
-
- /**
- * @since 3.0
- */
- @Override
- public synchronized int getCheckpointSize() {
- int totalCheckpointSize = 0;
- try {
- if (fTraces != null) {
- for (final ITmfTrace trace : fTraces) {
- if (!(trace instanceof ITmfPersistentlyIndexable)) {
- return 0;
- }
-
- ITmfPersistentlyIndexable persistableIndexTrace = (ITmfPersistentlyIndexable) trace;
- int currentTraceCheckpointSize = persistableIndexTrace.getCheckpointSize();
- if (currentTraceCheckpointSize <= 0) {
- return 0;
- }
- totalCheckpointSize += currentTraceCheckpointSize;
- // each entry in the TmfLocationArray has a rank in addition
- // of the location
- totalCheckpointSize += 8;
- }
- }
- } catch (UnsupportedOperationException e) {
- return 0;
- }
-
- return totalCheckpointSize;
- }
-
- /**
- * @since 3.0
- */
- @Override
- public ITmfLocation restoreLocation(ByteBuffer bufferIn) {
- ITmfLocation[] locations = new ITmfLocation[fTraces.length];
- long[] ranks = new long[fTraces.length];
- for (int i = 0; i < fTraces.length; ++i) {
- final ITmfTrace trace = fTraces[i];
- locations[i] = ((ITmfPersistentlyIndexable) trace).restoreLocation(bufferIn);
- ranks[i] = bufferIn.getLong();
- }
- TmfLocationArray arr = new TmfLocationArray(locations, ranks);
- TmfExperimentLocation l = new TmfExperimentLocation(arr);
- return l;
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/trace/TmfTrace.java b/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/trace/TmfTrace.java
deleted file mode 100644
index 167800c755..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/trace/TmfTrace.java
+++ /dev/null
@@ -1,826 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009, 2014 Ericsson, École Polytechnique de Montréal
- *
- * 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 - Updated as per TMF Trace Model 1.0
- * Patrick Tasse - Updated for removal of context clone
- * Geneviève Bastien - Added timestamp transforms, its saving to file and
- * timestamp creation functions
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.core.trace;
-
-import java.io.File;
-import java.util.Collections;
-import java.util.HashSet;
-import java.util.LinkedHashMap;
-import java.util.Map;
-import java.util.Map.Entry;
-import java.util.Set;
-
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.MultiStatus;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.linuxtools.internal.tmf.core.Activator;
-import org.eclipse.linuxtools.tmf.core.analysis.IAnalysisModule;
-import org.eclipse.linuxtools.tmf.core.analysis.IAnalysisModuleHelper;
-import org.eclipse.linuxtools.tmf.core.analysis.TmfAnalysisManager;
-import org.eclipse.linuxtools.tmf.core.component.TmfEventProvider;
-import org.eclipse.linuxtools.tmf.core.event.ITmfEvent;
-import org.eclipse.linuxtools.tmf.core.exceptions.TmfAnalysisException;
-import org.eclipse.linuxtools.tmf.core.exceptions.TmfTraceException;
-import org.eclipse.linuxtools.tmf.core.request.ITmfEventRequest;
-import org.eclipse.linuxtools.tmf.core.signal.TmfSignalHandler;
-import org.eclipse.linuxtools.tmf.core.signal.TmfSignalManager;
-import org.eclipse.linuxtools.tmf.core.signal.TmfTraceOpenedSignal;
-import org.eclipse.linuxtools.tmf.core.signal.TmfTraceRangeUpdatedSignal;
-import org.eclipse.linuxtools.tmf.core.signal.TmfTraceUpdatedSignal;
-import org.eclipse.linuxtools.tmf.core.synchronization.ITmfTimestampTransform;
-import org.eclipse.linuxtools.tmf.core.synchronization.TimestampTransformFactory;
-import org.eclipse.linuxtools.tmf.core.timestamp.ITmfTimestamp;
-import org.eclipse.linuxtools.tmf.core.timestamp.TmfNanoTimestamp;
-import org.eclipse.linuxtools.tmf.core.timestamp.TmfTimeRange;
-import org.eclipse.linuxtools.tmf.core.timestamp.TmfTimestamp;
-import org.eclipse.linuxtools.tmf.core.trace.indexer.ITmfTraceIndexer;
-import org.eclipse.linuxtools.tmf.core.trace.indexer.checkpoint.TmfCheckpointIndexer;
-import org.eclipse.linuxtools.tmf.core.trace.location.ITmfLocation;
-
-/**
- * Abstract implementation of ITmfTrace.
- * <p>
- * Since the concept of 'location' is trace specific, the concrete classes have
- * to provide the related methods, namely:
- * <ul>
- * <li> public ITmfLocation<?> getCurrentLocation()
- * <li> public double getLocationRatio(ITmfLocation<?> location)
- * <li> public ITmfContext seekEvent(ITmfLocation<?> location)
- * <li> public ITmfContext seekEvent(double ratio)
- * <li> public IStatus validate(IProject project, String path)
- * </ul>
- * A concrete trace must provide its corresponding parser. A common way to
- * accomplish this is by making the concrete class extend TmfTrace and
- * implement ITmfEventParser.
- * <p>
- * When constructing an event, the concrete trace should use the trace's
- * timestamp transform to create the timestamp, by either transforming the
- * parsed time value directly or by using the method createTimestamp().
- * <p>
- * The concrete class can either specify its own indexer or use the provided
- * TmfCheckpointIndexer (default). In this case, the trace cache size will be
- * used as checkpoint interval.
- *
- * @version 1.0
- * @author Francois Chouinard
- *
- * @see ITmfEvent
- * @see ITmfTraceIndexer
- * @see ITmfEventParser
- */
-public abstract class TmfTrace extends TmfEventProvider implements ITmfTrace, ITmfTraceCompleteness {
-
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
-
- // The resource used for persistent properties for this trace
- private IResource fResource;
-
- // The trace path
- private String fPath;
-
- // The trace cache page size
- private int fCacheSize = ITmfTrace.DEFAULT_TRACE_CACHE_SIZE;
-
- // The number of events collected (so far)
- private volatile long fNbEvents = 0;
-
- // The time span of the event stream
- private ITmfTimestamp fStartTime = TmfTimestamp.BIG_BANG;
- private ITmfTimestamp fEndTime = TmfTimestamp.BIG_BANG;
-
- // The trace streaming interval (0 = no streaming)
- private long fStreamingInterval = 0;
-
- // The trace indexer
- private ITmfTraceIndexer fIndexer;
-
- // The trace parser
- private ITmfEventParser fParser;
-
- private ITmfTimestampTransform fTsTransform;
-
- private final Map<String, IAnalysisModule> fAnalysisModules =
- Collections.synchronizedMap(new LinkedHashMap<String, IAnalysisModule>());
-
- // ------------------------------------------------------------------------
- // Construction
- // ------------------------------------------------------------------------
-
- /**
- * The default, parameterless, constructor
- */
- public TmfTrace() {
- super();
- fIndexer = createIndexer(DEFAULT_BLOCK_SIZE);
- }
-
- /**
- * Full constructor.
- *
- * @param resource
- * The resource associated to the trace
- * @param type
- * The type of events that will be read from this trace
- * @param path
- * The path to the trace on the filesystem
- * @param cacheSize
- * The trace cache size. Pass '-1' to use the default specified
- * in {@link ITmfTrace#DEFAULT_TRACE_CACHE_SIZE}
- * @param interval
- * The trace streaming interval. You can use '0' for post-mortem
- * traces.
- * @param parser
- * The trace event parser. Use 'null' if (and only if) the trace
- * object itself is also the ITmfEventParser to be used.
- * @throws TmfTraceException
- * If something failed during the opening
- */
- protected TmfTrace(final IResource resource,
- final Class<? extends ITmfEvent> type,
- final String path,
- final int cacheSize,
- final long interval,
- final ITmfEventParser parser)
- throws TmfTraceException {
- super();
- fCacheSize = (cacheSize > 0) ? cacheSize : ITmfTrace.DEFAULT_TRACE_CACHE_SIZE;
- fStreamingInterval = interval;
- fParser = parser;
- initialize(resource, path, type);
- }
-
- /**
- * Copy constructor
- *
- * @param trace the original trace
- * @throws TmfTraceException Should not happen usually
- */
- public TmfTrace(final TmfTrace trace) throws TmfTraceException {
- super();
- if (trace == null) {
- throw new IllegalArgumentException();
- }
- fCacheSize = trace.getCacheSize();
- fStreamingInterval = trace.getStreamingInterval();
- fParser = trace.fParser;
- initialize(trace.getResource(), trace.getPath(), trace.getEventType());
- }
-
- /**
- * Creates the indexer instance. Classes extending this class can override
- * this to provide a different indexer implementation.
- *
- * @param interval the checkpoints interval
- *
- * @return the indexer
- * @since 3.0
- */
- protected ITmfTraceIndexer createIndexer(int interval) {
- return new TmfCheckpointIndexer(this, interval);
- }
-
- // ------------------------------------------------------------------------
- // ITmfTrace - Initializers
- // ------------------------------------------------------------------------
-
- @Override
- public void initTrace(final IResource resource, final String path, final Class<? extends ITmfEvent> type, String name) throws TmfTraceException {
- setName(name);
- initTrace(resource, path, type);
- }
-
- @Override
- public void initTrace(final IResource resource, final String path, final Class<? extends ITmfEvent> type) throws TmfTraceException {
- initialize(resource, path, type);
- }
-
- /**
- * Initialize the trace common attributes and the base component.
- *
- * @param resource the Eclipse resource (trace)
- * @param path the trace path
- * @param type the trace event type
- *
- * @throws TmfTraceException If something failed during the initialization
- */
- protected void initialize(final IResource resource,
- final String path,
- final Class<? extends ITmfEvent> type)
- throws TmfTraceException {
- if (path == null) {
- throw new TmfTraceException("Invalid trace path"); //$NON-NLS-1$
- }
- fPath = path;
- fResource = resource;
- String traceName = getName();
- if (traceName == null || traceName.isEmpty()) {
- traceName = (resource != null) ? resource.getName() : new Path(path).lastSegment();
- }
- if (fParser == null) {
- if (this instanceof ITmfEventParser) {
- fParser = (ITmfEventParser) this;
- } else {
- throw new TmfTraceException("Invalid trace parser"); //$NON-NLS-1$
- }
- }
- super.init(traceName, type);
- // register as VIP after super.init() because TmfComponent registers to signal manager there
- TmfSignalManager.registerVIP(this);
- if (fIndexer != null) {
- fIndexer.dispose();
- }
- fIndexer = createIndexer(fCacheSize);
- }
-
- /**
- * Indicates if the path points to an existing file/directory
- *
- * @param path the path to test
- * @return true if the file/directory exists
- */
- protected boolean fileExists(final String path) {
- final File file = new File(path);
- return file.exists();
- }
-
- /**
- * @since 2.0
- */
- @Override
- public void indexTrace(boolean waitForCompletion) {
- getIndexer().buildIndex(0, TmfTimeRange.ETERNITY, waitForCompletion);
- }
-
- /**
- * Instantiate the applicable analysis modules and executes the analysis
- * modules that are meant to be automatically executed
- *
- * @return An IStatus indicating whether the analysis could be run
- * successfully or not
- * @since 3.0
- */
- protected IStatus executeAnalysis() {
- MultiStatus status = new MultiStatus(Activator.PLUGIN_ID, IStatus.OK, null, null);
- Map<String, IAnalysisModuleHelper> modules = TmfAnalysisManager.getAnalysisModules(this.getClass());
- for (IAnalysisModuleHelper helper : modules.values()) {
- try {
- IAnalysisModule module = helper.newModule(this);
- fAnalysisModules.put(module.getId(), module);
- if (module.isAutomatic()) {
- status.add(module.schedule());
- }
- } catch (TmfAnalysisException e) {
- status.add(new Status(IStatus.WARNING, Activator.PLUGIN_ID, e.getMessage()));
- }
- }
- return status;
- }
-
- /**
- * @since 3.0
- */
- @Override
- public IAnalysisModule getAnalysisModule(String analysisId) {
- return fAnalysisModules.get(analysisId);
- }
-
-
- /**
- * @since 3.0
- */
- @Override
- public Iterable<IAnalysisModule> getAnalysisModules() {
- synchronized (fAnalysisModules) {
- Set<IAnalysisModule> modules = new HashSet<>(fAnalysisModules.values());
- return modules;
- }
- }
-
- /**
- * @since 3.0
- */
- @Override
- public <T extends IAnalysisModule> T getAnalysisModuleOfClass(Class<T> moduleClass, String id) {
- Iterable<T> modules = getAnalysisModulesOfClass(moduleClass);
- for (T module : modules) {
- if (id.equals(module.getId())) {
- return module;
- }
- }
- return null;
- }
-
- /**
- * @since 3.0
- */
- @Override
- public <T> Iterable<T> getAnalysisModulesOfClass(Class<T> moduleClass) {
- Set<T> modules = new HashSet<>();
- synchronized (fAnalysisModules) {
- for (Entry<String, IAnalysisModule> entry : fAnalysisModules.entrySet()) {
- if (moduleClass.isAssignableFrom(entry.getValue().getClass())) {
- modules.add(moduleClass.cast(entry.getValue()));
- }
- }
- }
- return modules;
- }
-
- /**
- * Clears the trace
- */
- @Override
- public synchronized void dispose() {
- /* Clean up the index if applicable */
- if (getIndexer() != null) {
- getIndexer().dispose();
- }
-
- /* Clean up the analysis modules */
- synchronized (fAnalysisModules) {
- for (IAnalysisModule module : fAnalysisModules.values()) {
- module.dispose();
- }
- fAnalysisModules.clear();
- }
-
- super.dispose();
- }
-
- // ------------------------------------------------------------------------
- // ITmfTrace - Basic getters
- // ------------------------------------------------------------------------
-
- @Override
- public Class<? extends ITmfEvent> getEventType() {
- return super.getType();
- }
-
- @Override
- public IResource getResource() {
- return fResource;
- }
-
- @Override
- public String getPath() {
- return fPath;
- }
-
- @Override
- public int getCacheSize() {
- return fCacheSize;
- }
-
- @Override
- public long getStreamingInterval() {
- return fStreamingInterval;
- }
-
- /**
- * @return the trace indexer
- * @since 3.0
- */
- protected ITmfTraceIndexer getIndexer() {
- return fIndexer;
- }
-
- /**
- * @return the trace parser
- */
- protected ITmfEventParser getParser() {
- return fParser;
- }
-
- // ------------------------------------------------------------------------
- // ITmfTrace - Trace characteristics getters
- // ------------------------------------------------------------------------
-
- @Override
- public long getNbEvents() {
- return fNbEvents;
- }
-
- /**
- * @since 2.0
- */
- @Override
- public TmfTimeRange getTimeRange() {
- return new TmfTimeRange(fStartTime, fEndTime);
- }
-
- /**
- * @since 2.0
- */
- @Override
- public ITmfTimestamp getStartTime() {
- return fStartTime;
- }
-
- /**
- * @since 2.0
- */
- @Override
- public ITmfTimestamp getEndTime() {
- return fEndTime;
- }
-
- /**
- * @since 2.0
- */
- @Override
- public ITmfTimestamp getInitialRangeOffset() {
- final long DEFAULT_INITIAL_OFFSET_VALUE = (1L * 100 * 1000 * 1000); // .1sec
- return new TmfTimestamp(DEFAULT_INITIAL_OFFSET_VALUE, ITmfTimestamp.NANOSECOND_SCALE);
- }
-
- /**
- * @since 3.0
- */
- @Override
- public String getHostId() {
- return this.getName();
- }
-
- // ------------------------------------------------------------------------
- // Convenience setters
- // ------------------------------------------------------------------------
-
- /**
- * Set the trace cache size. Must be done at initialization time.
- *
- * @param cacheSize The trace cache size
- */
- protected void setCacheSize(final int cacheSize) {
- fCacheSize = cacheSize;
- }
-
- /**
- * Set the trace known number of events. This can be quite dynamic
- * during indexing or for live traces.
- *
- * @param nbEvents The number of events
- */
- protected synchronized void setNbEvents(final long nbEvents) {
- fNbEvents = (nbEvents > 0) ? nbEvents : 0;
- }
-
- /**
- * Update the trace events time range
- *
- * @param range the new time range
- * @since 2.0
- */
- protected void setTimeRange(final TmfTimeRange range) {
- fStartTime = range.getStartTime();
- fEndTime = range.getEndTime();
- }
-
- /**
- * Update the trace chronologically first event timestamp
- *
- * @param startTime the new first event timestamp
- * @since 2.0
- */
- protected void setStartTime(final ITmfTimestamp startTime) {
- fStartTime = startTime;
- }
-
- /**
- * Update the trace chronologically last event timestamp
- *
- * @param endTime the new last event timestamp
- * @since 2.0
- */
- protected void setEndTime(final ITmfTimestamp endTime) {
- fEndTime = endTime;
- }
-
- /**
- * Set the polling interval for live traces (default = 0 = no streaming).
- *
- * @param interval the new trace streaming interval
- */
- protected void setStreamingInterval(final long interval) {
- fStreamingInterval = (interval > 0) ? interval : 0;
- }
-
- /**
- * Set the trace parser. Must be done at initialization time.
- *
- * @param parser the new trace parser
- */
- protected void setParser(final ITmfEventParser parser) {
- fParser = parser;
- }
-
- // ------------------------------------------------------------------------
- // ITmfTrace - SeekEvent operations (returning a trace context)
- // ------------------------------------------------------------------------
-
- @Override
- public synchronized ITmfContext seekEvent(final long rank) {
-
- // A rank <= 0 indicates to seek the first event
- if (rank <= 0) {
- ITmfContext context = seekEvent((ITmfLocation) null);
- context.setRank(0);
- return context;
- }
-
- // Position the trace at the checkpoint
- final ITmfContext context = fIndexer.seekIndex(rank);
-
- // And locate the requested event context
- long pos = context.getRank();
- if (pos < rank) {
- ITmfEvent event = getNext(context);
- while ((event != null) && (++pos < rank)) {
- event = getNext(context);
- }
- }
- return context;
- }
-
- /**
- * @since 2.0
- */
- @Override
- public synchronized ITmfContext seekEvent(final ITmfTimestamp timestamp) {
-
- // A null timestamp indicates to seek the first event
- if (timestamp == null) {
- ITmfContext context = seekEvent((ITmfLocation) null);
- context.setRank(0);
- return context;
- }
-
- // Position the trace at the checkpoint
- ITmfContext context = fIndexer.seekIndex(timestamp);
-
- // And locate the requested event context
- ITmfLocation previousLocation = context.getLocation();
- long previousRank = context.getRank();
- ITmfEvent event = getNext(context);
- while (event != null && event.getTimestamp().compareTo(timestamp, false) < 0) {
- previousLocation = context.getLocation();
- previousRank = context.getRank();
- event = getNext(context);
- }
- if (event == null) {
- context.setLocation(null);
- context.setRank(ITmfContext.UNKNOWN_RANK);
- } else {
- context.dispose();
- context = seekEvent(previousLocation);
- context.setRank(previousRank);
- }
- return context;
- }
-
- // ------------------------------------------------------------------------
- // ITmfTrace - Read operations (returning an actual event)
- // ------------------------------------------------------------------------
-
- @Override
- public synchronized ITmfEvent getNext(final ITmfContext context) {
- // parseEvent() does not update the context
- final ITmfEvent event = fParser.parseEvent(context);
- if (event != null) {
- updateAttributes(context, event.getTimestamp());
- context.setLocation(getCurrentLocation());
- context.increaseRank();
- processEvent(event);
- }
- return event;
- }
-
- /**
- * Hook for special event processing by the concrete class
- * (called by TmfTrace.getEvent())
- *
- * @param event the event
- */
- protected void processEvent(final ITmfEvent event) {
- // Do nothing
- }
-
- /**
- * Update the trace attributes
- *
- * @param context the current trace context
- * @param timestamp the corresponding timestamp
- * @since 2.0
- */
- protected synchronized void updateAttributes(final ITmfContext context, final ITmfTimestamp timestamp) {
- if (fStartTime.equals(TmfTimestamp.BIG_BANG) || (fStartTime.compareTo(timestamp, false) > 0)) {
- fStartTime = timestamp;
- }
- if (fEndTime.equals(TmfTimestamp.BIG_CRUNCH) || (fEndTime.compareTo(timestamp, false) < 0)) {
- fEndTime = timestamp;
- }
- if (context.hasValidRank()) {
- long rank = context.getRank();
- if (fNbEvents <= rank) {
- fNbEvents = rank + 1;
- }
- if (fIndexer != null) {
- fIndexer.updateIndex(context, timestamp);
- }
- }
- }
-
- // ------------------------------------------------------------------------
- // TmfDataProvider
- // ------------------------------------------------------------------------
-
- /**
- * @since 2.0
- */
- @Override
- public synchronized ITmfContext armRequest(final ITmfEventRequest request) {
- if (executorIsShutdown()) {
- return null;
- }
- if (!TmfTimestamp.BIG_BANG.equals(request.getRange().getStartTime())
- && (request.getIndex() == 0)) {
- final ITmfContext context = seekEvent(request.getRange().getStartTime());
- request.setStartIndex((int) context.getRank());
- return context;
-
- }
- return seekEvent(request.getIndex());
- }
-
- // ------------------------------------------------------------------------
- // Signal handlers
- // ------------------------------------------------------------------------
-
- /**
- * Handler for the Trace Opened signal
- *
- * @param signal
- * The incoming signal
- * @since 2.0
- */
- @TmfSignalHandler
- public void traceOpened(TmfTraceOpenedSignal signal) {
- boolean signalIsForUs = false;
- for (ITmfTrace trace : TmfTraceManager.getTraceSet(signal.getTrace())) {
- if (trace == this) {
- signalIsForUs = true;
- break;
- }
- }
-
- if (!signalIsForUs) {
- return;
- }
-
- /*
- * The signal is either for this trace, or for an experiment containing
- * this trace.
- */
- IStatus status = executeAnalysis();
- if (!status.isOK()) {
- Activator.log(status);
- }
-
- TmfTraceManager.refreshSupplementaryFiles(this);
-
- if (signal.getTrace() == this) {
- /* Additionally, the signal is directly for this trace. */
- if (getNbEvents() == 0) {
- return;
- }
-
- /* For a streaming trace, the range updated signal should be sent
- * by the subclass when a new safe time is determined.
- */
- if (getStreamingInterval() > 0) {
- return;
- }
-
- if (isComplete()) {
- final TmfTimeRange timeRange = new TmfTimeRange(getStartTime(), TmfTimestamp.BIG_CRUNCH);
- final TmfTraceRangeUpdatedSignal rangeUpdatedsignal = new TmfTraceRangeUpdatedSignal(this, this, timeRange);
-
- // Broadcast in separate thread to prevent deadlock
- broadcastAsync(rangeUpdatedsignal);
- }
- return;
- }
- }
-
- /**
- * Signal handler for the TmfTraceRangeUpdatedSignal signal
- *
- * @param signal The incoming signal
- * @since 2.0
- */
- @TmfSignalHandler
- public void traceRangeUpdated(final TmfTraceRangeUpdatedSignal signal) {
- if (signal.getTrace() == this) {
- getIndexer().buildIndex(getNbEvents(), signal.getRange(), false);
- }
- }
-
- /**
- * Signal handler for the TmfTraceUpdatedSignal signal
- *
- * @param signal The incoming signal
- * @since 3.0
- */
- @TmfSignalHandler
- public void traceUpdated(final TmfTraceUpdatedSignal signal) {
- if (signal.getSource() == getIndexer()) {
- fNbEvents = signal.getNbEvents();
- fStartTime = signal.getRange().getStartTime();
- fEndTime = signal.getRange().getEndTime();
- }
- }
-
- // ------------------------------------------------------------------------
- // Timestamp transformation functions
- // ------------------------------------------------------------------------
-
- /**
- * @since 3.0
- */
- @Override
- public ITmfTimestampTransform getTimestampTransform() {
- if (fTsTransform == null) {
- fTsTransform = TimestampTransformFactory.getTimestampTransform(getResource());
- }
- return fTsTransform;
- }
-
- /**
- * @since 3.0
- */
- @Override
- public void setTimestampTransform(final ITmfTimestampTransform tt) {
- fTsTransform = tt;
- TimestampTransformFactory.setTimestampTransform(getResource(), tt);
- }
-
- /**
- * @since 3.0
- */
- @Override
- public ITmfTimestamp createTimestamp(long ts) {
- return new TmfNanoTimestamp(getTimestampTransform().transform(ts));
- }
-
- // ------------------------------------------------------------------------
- // toString
- // ------------------------------------------------------------------------
-
- @Override
- @SuppressWarnings("nls")
- public synchronized String toString() {
- return "TmfTrace [fPath=" + fPath + ", fCacheSize=" + fCacheSize
- + ", fNbEvents=" + fNbEvents + ", fStartTime=" + fStartTime
- + ", fEndTime=" + fEndTime + ", fStreamingInterval=" + fStreamingInterval + "]";
- }
-
- /**
- * @since 3.1
- */
- @Override
- public boolean isComplete() {
- /*
- * Be default, all traces are "complete" which means no more data will
- * be added later
- */
- return true;
- }
-
- /**
- * @since 3.1
- */
- @Override
- public void setComplete(boolean isComplete) {
- /*
- * This should be overridden by trace classes that can support live
- * reading (traces in an incomplete state)
- */
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/trace/TmfTraceContext.java b/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/trace/TmfTraceContext.java
deleted file mode 100644
index b2a3e689f2..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/trace/TmfTraceContext.java
+++ /dev/null
@@ -1,115 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013, 2014 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:
- * Alexandre Montplaisir - Initial API and implementation
- * Patrick Tasse - Support selection range
- * Xavier Raynaud - Support filters tracking
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.core.trace;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.linuxtools.tmf.core.filter.ITmfFilter;
-import org.eclipse.linuxtools.tmf.core.timestamp.ITmfTimestamp;
-import org.eclipse.linuxtools.tmf.core.timestamp.TmfTimeRange;
-import org.eclipse.linuxtools.tmf.core.timestamp.TmfTimestamp;
-
-/**
- * Context of a trace, which is the representation of the "view" the user
- * currently has on this trace (window time range, selected time or time range).
- *
- * TODO could be extended to support the notion of current location too.
- *
- * @author Alexandre Montplaisir
- * @since 2.0
- */
-final class TmfTraceContext {
-
- static final TmfTraceContext NULL_CONTEXT =
- new TmfTraceContext(TmfTimestamp.BIG_CRUNCH, TmfTimestamp.BIG_CRUNCH, TmfTimeRange.NULL_RANGE, null);
-
- private final TmfTimeRange fSelection;
- private final TmfTimeRange fWindowRange;
- private final IFile fEditorFile;
- private final ITmfFilter fFilter;
-
- public TmfTraceContext(ITmfTimestamp beginTs, ITmfTimestamp endTs, TmfTimeRange tr, IFile editorFile) {
- fSelection = new TmfTimeRange(beginTs, endTs);
- fWindowRange = tr;
- fEditorFile = editorFile;
- fFilter = null;
- }
-
- public TmfTraceContext(TmfTraceContext prevCtx, ITmfTimestamp beginTs, ITmfTimestamp endTs) {
- fSelection = new TmfTimeRange(beginTs, endTs);
- fWindowRange = prevCtx.fWindowRange;
- fEditorFile = prevCtx.fEditorFile;
- fFilter = prevCtx.fFilter;
- }
-
- public TmfTraceContext(TmfTraceContext prevCtx, TmfTimeRange tr) {
- fSelection = prevCtx.fSelection;
- fWindowRange = tr;
- fEditorFile = prevCtx.fEditorFile;
- fFilter = prevCtx.fFilter;
- }
-
- /**
- * @param prevCtx
- * The previous context
- * @param filter
- * The applied filter
- * @since 2.2
- */
- public TmfTraceContext(TmfTraceContext prevCtx, ITmfFilter filter) {
- fSelection = prevCtx.fSelection;
- fWindowRange = prevCtx.fWindowRange;
- fEditorFile = prevCtx.fEditorFile;
- fFilter = filter;
- }
-
- public ITmfTimestamp getSelectionBegin() {
- return fSelection.getStartTime();
- }
-
- public ITmfTimestamp getSelectionEnd() {
- return fSelection.getEndTime();
- }
-
- public TmfTimeRange getWindowRange() {
- return fWindowRange;
- }
-
- public IFile getEditorFile() {
- return fEditorFile;
- }
-
- /**
- * @return the current filter applied to the trace
- * @since 2.2
- */
- public ITmfFilter getFilter() {
- return fFilter;
- }
-
- public boolean isValid() {
- if (fSelection.getStartTime().compareTo(TmfTimestamp.ZERO) <= 0 ||
- fSelection.getEndTime().compareTo(TmfTimestamp.ZERO) <= 0 ||
- fWindowRange.getEndTime().compareTo(fWindowRange.getStartTime()) <= 0) {
- return false;
- }
- return true;
- }
-
- @Override
- public String toString() {
- return getClass().getSimpleName() + "[fSelection=" + fSelection + //$NON-NLS-1$
- ", fWindowRange=" + fWindowRange + ']'; //$NON-NLS-1$
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/trace/TmfTraceManager.java b/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/trace/TmfTraceManager.java
deleted file mode 100644
index e0ab3e8a23..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/trace/TmfTraceManager.java
+++ /dev/null
@@ -1,524 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013, 2014 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:
- * Alexandre Montplaisir - Initial API and implementation
- * Patrick Tasse - Support selection range
- * Xavier Raynaud - Support filters tracking
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.core.trace;
-
-import java.io.File;
-import java.net.URISyntaxException;
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.LinkedHashMap;
-import java.util.LinkedHashSet;
-import java.util.Map;
-import java.util.Set;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IFolder;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.URIUtil;
-import org.eclipse.jdt.annotation.NonNull;
-import org.eclipse.linuxtools.internal.tmf.core.Activator;
-import org.eclipse.linuxtools.tmf.core.TmfCommonConstants;
-import org.eclipse.linuxtools.tmf.core.filter.ITmfFilter;
-import org.eclipse.linuxtools.tmf.core.signal.TmfEventFilterAppliedSignal;
-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.signal.TmfTraceClosedSignal;
-import org.eclipse.linuxtools.tmf.core.signal.TmfTraceOpenedSignal;
-import org.eclipse.linuxtools.tmf.core.signal.TmfTraceSelectedSignal;
-import org.eclipse.linuxtools.tmf.core.timestamp.ITmfTimestamp;
-import org.eclipse.linuxtools.tmf.core.timestamp.TmfTimeRange;
-import org.eclipse.linuxtools.tmf.core.timestamp.TmfTimestamp;
-
-/**
- * Central trace manager for TMF. It tracks the currently opened traces and
- * experiment, as well as the currently-selected time or time range and the
- * current window time range for each one of those. It also tracks filters
- * applied for each trace.
- *
- * It's a singleton class, so only one instance should exist (available via
- * {@link #getInstance()}).
- *
- * @author Alexandre Montplaisir
- * @since 2.0
- */
-public final class TmfTraceManager {
-
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
-
- private final Map<ITmfTrace, TmfTraceContext> fTraces;
-
- /** The currently-selected trace. Should always be part of the trace map */
- private ITmfTrace fCurrentTrace = null;
-
- private static final String TEMP_DIR_NAME = ".temp"; //$NON-NLS-1$
-
- // ------------------------------------------------------------------------
- // Constructor
- // ------------------------------------------------------------------------
-
- private TmfTraceManager() {
- fTraces = new LinkedHashMap<>();
- TmfSignalManager.registerVIP(this);
- }
-
- /** Singleton instance */
- private static TmfTraceManager tm = null;
-
- /**
- * Get an instance of the trace manager.
- *
- * @return The trace manager
- */
- public static synchronized TmfTraceManager getInstance() {
- if (tm == null) {
- tm = new TmfTraceManager();
- }
- return tm;
- }
-
- // ------------------------------------------------------------------------
- // Accessors
- // ------------------------------------------------------------------------
-
- /**
- * @return The begin timestamp of selection
- * @since 2.1
- */
- public ITmfTimestamp getSelectionBeginTime() {
- return getCurrentTraceContext().getSelectionBegin();
- }
-
- /**
- * @return The end timestamp of selection
- * @since 2.1
- */
- public ITmfTimestamp getSelectionEndTime() {
- return getCurrentTraceContext().getSelectionEnd();
- }
-
- /**
- * Return the current window time range.
- *
- * @return the current window time range
- */
- public synchronized TmfTimeRange getCurrentRange() {
- return getCurrentTraceContext().getWindowRange();
- }
-
- /**
- * Gets the filter applied to the current trace
- *
- * @return
- * a filter, or <code>null</code>
- * @since 2.2
- */
- public synchronized ITmfFilter getCurrentFilter() {
- return getCurrentTraceContext().getFilter();
- }
-
- /**
- * Get the currently selected trace (normally, the focused editor).
- *
- * @return The active trace
- */
- public synchronized ITmfTrace getActiveTrace() {
- return fCurrentTrace;
- }
-
- /**
- * Get the trace set of the currently active trace.
- *
- * @return The active trace set
- * @see #getTraceSet(ITmfTrace)
- */
- public synchronized ITmfTrace[] getActiveTraceSet() {
- final ITmfTrace trace = fCurrentTrace;
- return getTraceSet(trace);
- }
-
- /**
- * Get the currently-opened traces, as an unmodifiable set.
- *
- * @return A set containing the opened traces
- */
- public synchronized Set<ITmfTrace> getOpenedTraces() {
- return Collections.unmodifiableSet(fTraces.keySet());
- }
-
- /**
- * Get the editor file for an opened trace.
- *
- * @param trace
- * the trace
- * @return the editor file or null if the trace is not opened
- * @since 3.0
- */
- public synchronized IFile getTraceEditorFile(ITmfTrace trace) {
- TmfTraceContext ctx = fTraces.get(trace);
- if (ctx != null) {
- return ctx.getEditorFile();
- }
- return null;
- }
-
- private TmfTraceContext getCurrentTraceContext() {
- TmfTraceContext curCtx = fTraces.get(fCurrentTrace);
- if (curCtx == null) {
- /* There are no traces opened at the moment. */
- return TmfTraceContext.NULL_CONTEXT;
- }
- return curCtx;
- }
-
- // ------------------------------------------------------------------------
- // Public utility methods
- // ------------------------------------------------------------------------
-
- /**
- * Get the trace set of a given trace. For a standard trace, this is simply
- * an array with only that trace in it. For experiments, this is an array of
- * all the traces contained in this experiment.
- *
- * @param trace
- * The trace or experiment
- * @return The corresponding trace set
- */
- public static ITmfTrace[] getTraceSet(ITmfTrace trace) {
- if (trace == null) {
- return null;
- }
- if (trace instanceof TmfExperiment) {
- TmfExperiment exp = (TmfExperiment) trace;
- return exp.getTraces();
- }
- return new ITmfTrace[] { trace };
- }
-
- /**
- * Get the trace set of a given trace or experiment, including the
- * experiment. For a standard trace, this is simply a set containing only
- * that trace. For experiments, it is the set of all the traces contained in
- * this experiment, along with the experiment.
- *
- * @param trace
- * The trace or experiment
- * @return The corresponding trace set, including the experiment
- * @since 3.1
- */
- public static @NonNull Set<ITmfTrace> getTraceSetWithExperiment(ITmfTrace trace) {
- if (trace == null) {
- @SuppressWarnings("null")
- @NonNull Set<ITmfTrace> emptySet = Collections.EMPTY_SET;
- return emptySet;
- }
- if (trace instanceof TmfExperiment) {
- TmfExperiment exp = (TmfExperiment) trace;
- ITmfTrace[] traces = exp.getTraces();
- Set<ITmfTrace> alltraces = new LinkedHashSet<>(Arrays.asList(traces));
- alltraces.add(exp);
- return alltraces;
- }
- @SuppressWarnings("null")
- @NonNull Set<ITmfTrace> singleton = Collections.singleton(trace);
- return singleton;
- }
-
- /**
- * Return the path (as a string) to the directory for supplementary files to
- * use with a given trace. If no supplementary file directory has been
- * configured, a temporary directory based on the trace's name will be
- * provided.
- *
- * @param trace
- * The trace
- * @return The path to the supplementary file directory (trailing slash is
- * INCLUDED!)
- */
- public static String getSupplementaryFileDir(ITmfTrace trace) {
- IResource resource = trace.getResource();
- if (resource == null) {
- return getTemporaryDir(trace);
- }
-
- String supplDir = null;
- try {
- supplDir = resource.getPersistentProperty(TmfCommonConstants.TRACE_SUPPLEMENTARY_FOLDER);
- } catch (CoreException e) {
- return getTemporaryDir(trace);
- }
- return supplDir + File.separator;
- }
-
- /**
- * Refresh the supplementary files resources for a trace, so it can pick up
- * new files that got created.
- *
- * @param trace
- * The trace for which to refresh the supplementary files
- * @since 3.0
- */
- public static void refreshSupplementaryFiles(ITmfTrace trace) {
- IResource resource = trace.getResource();
- if (resource != null && resource.exists()) {
- String supplFolderPath = getSupplementaryFileDir(trace);
- IProject project = resource.getProject();
- /* Remove the project's path from the supplementary path dir */
- if (!supplFolderPath.startsWith(project.getLocationURI().getPath())) {
- Activator.logWarning(String.format("Supplementary files folder for trace %s is not within the project.", trace.getName())); //$NON-NLS-1$
- return;
- }
- IFolder supplFolder = project.getFolder(supplFolderPath.substring(project.getLocationURI().getPath().length()));
- if (supplFolder.exists()) {
- try {
- supplFolder.refreshLocal(IResource.DEPTH_INFINITE, null);
- } catch (CoreException e) {
- Activator.logError("Error refreshing resources", e); //$NON-NLS-1$
- }
- }
- }
- }
-
- // ------------------------------------------------------------------------
- // Signal handlers
- // ------------------------------------------------------------------------
-
- /**
- * Signal handler for the traceOpened signal.
- *
- * @param signal
- * The incoming signal
- */
- @TmfSignalHandler
- public synchronized void traceOpened(final TmfTraceOpenedSignal signal) {
- final ITmfTrace trace = signal.getTrace();
- final IFile editorFile = signal.getEditorFile();
- final ITmfTimestamp startTs = trace.getStartTime();
-
- /* Calculate the initial time range */
- final int SCALE = ITmfTimestamp.NANOSECOND_SCALE;
- long offset = trace.getInitialRangeOffset().normalize(0, SCALE).getValue();
- long endTime = startTs.normalize(0, SCALE).getValue() + offset;
- final TmfTimeRange startTr = new TmfTimeRange(startTs, new TmfTimestamp(endTime, SCALE));
-
- final TmfTraceContext startCtx = new TmfTraceContext(startTs, startTs, startTr, editorFile);
-
- fTraces.put(trace, startCtx);
-
- /* We also want to set the newly-opened trace as the active trace */
- fCurrentTrace = trace;
- }
-
-
- /**
- * Handler for the TmfTraceSelectedSignal.
- *
- * @param signal
- * The incoming signal
- */
- @TmfSignalHandler
- public synchronized void traceSelected(final TmfTraceSelectedSignal signal) {
- final ITmfTrace newTrace = signal.getTrace();
- if (!fTraces.containsKey(newTrace)) {
- throw new RuntimeException();
- }
- fCurrentTrace = newTrace;
- }
-
- /**
- * Signal handler for the filterApplied signal.
- *
- * @param signal
- * The incoming signal
- * @since 2.2
- */
- @TmfSignalHandler
- public synchronized void filterApplied(TmfEventFilterAppliedSignal signal) {
- final ITmfTrace newTrace = signal.getTrace();
- TmfTraceContext context = fTraces.get(newTrace);
- if (context == null) {
- throw new RuntimeException();
- }
- fTraces.put(newTrace, new TmfTraceContext(context, signal.getEventFilter()));
- }
-
- /**
- * Signal handler for the traceClosed signal.
- *
- * @param signal
- * The incoming signal
- */
- @TmfSignalHandler
- public synchronized void traceClosed(final TmfTraceClosedSignal signal) {
- fTraces.remove(signal.getTrace());
- if (fTraces.size() == 0) {
- fCurrentTrace = null;
- /*
- * In other cases, we should receive a traceSelected signal that
- * will indicate which trace is the new one.
- */
- }
- }
-
- /**
- * Signal handler for the TmfTimeSynchSignal signal.
- *
- * The current time of *all* traces whose range contains the requested new
- * selection time range will be updated.
- *
- * @param signal
- * The incoming signal
- */
- @TmfSignalHandler
- public synchronized void timeUpdated(final TmfTimeSynchSignal signal) {
- final ITmfTimestamp beginTs = signal.getBeginTime();
- final ITmfTimestamp endTs = signal.getEndTime();
-
- for (Map.Entry<ITmfTrace, TmfTraceContext> entry : fTraces.entrySet()) {
- final ITmfTrace trace = entry.getKey();
- if (beginTs.intersects(getValidTimeRange(trace)) || endTs.intersects(getValidTimeRange(trace))) {
- TmfTraceContext prevCtx = entry.getValue();
- TmfTraceContext newCtx = new TmfTraceContext(prevCtx, beginTs, endTs);
- entry.setValue(newCtx);
- }
- }
- }
-
- /**
- * Signal handler for the TmfRangeSynchSignal signal.
- *
- * The current window time range of *all* valid traces will be updated
- * to the new requested times.
- *
- * @param signal
- * The incoming signal
- */
- @TmfSignalHandler
- public synchronized void timeRangeUpdated(final TmfRangeSynchSignal signal) {
- for (Map.Entry<ITmfTrace, TmfTraceContext> entry : fTraces.entrySet()) {
- final ITmfTrace trace = entry.getKey();
- final TmfTraceContext curCtx = entry.getValue();
-
- final TmfTimeRange validTr = getValidTimeRange(trace);
-
- /* Determine the new time range */
- TmfTimeRange targetTr = signal.getCurrentRange().getIntersection(validTr);
- TmfTimeRange newTr = (targetTr == null ? curCtx.getWindowRange() : targetTr);
-
- /* Update the values */
- TmfTraceContext newCtx = new TmfTraceContext(curCtx, newTr);
- entry.setValue(newCtx);
- }
- }
-
- // ------------------------------------------------------------------------
- // Private utility methods
- // ------------------------------------------------------------------------
-
- /**
- * Return the valid time range of a trace (not the current window time
- * range, but the range of all possible valid timestamps).
- *
- * For a real trace this is the whole range of the trace. For an experiment,
- * it goes from the start time of the earliest trace to the end time of the
- * latest one.
- *
- * @param trace
- * The trace to check for
- * @return The valid time span, or 'null' if the trace is not valid
- */
- private TmfTimeRange getValidTimeRange(ITmfTrace trace) {
- if (!fTraces.containsKey(trace)) {
- /* Trace is not part of the currently opened traces */
- return null;
- }
- if (!(trace instanceof TmfExperiment)) {
- /* "trace" is a single trace, return its time range directly */
- return trace.getTimeRange();
- }
- final ITmfTrace[] traces = ((TmfExperiment) trace).getTraces();
- if (traces.length == 0) {
- /* We are being trolled */
- return null;
- }
- if (traces.length == 1) {
- /* Trace is an experiment with only 1 trace */
- return traces[0].getTimeRange();
- }
- /*
- * Trace is an experiment with 2+ traces, so get the earliest start and
- * the latest end.
- */
- ITmfTimestamp start = traces[0].getStartTime();
- ITmfTimestamp end = traces[0].getEndTime();
- for (int i = 1; i < traces.length; i++) {
- ITmfTrace curTrace = traces[i];
- if (curTrace.getStartTime().compareTo(start) < 0) {
- start = curTrace.getStartTime();
- }
- if (curTrace.getEndTime().compareTo(end) > 0) {
- end = curTrace.getEndTime();
- }
- }
- return new TmfTimeRange(start, end);
- }
-
- /**
- * Get the temporary directory path. If there is an instance of Eclipse
- * running, the temporary directory will reside under the workspace.
- *
- * @return the temporary directory path suitable to be passed to the
- * java.io.File constructor without a trailing separator
- * @since 3.2
- */
- public static String getTemporaryDirPath() {
- // Get the workspace path from the properties
- String property = System.getProperty("osgi.instance.area"); //$NON-NLS-1$
- if (property != null) {
- try {
- File dir = URIUtil.toFile(URIUtil.fromString(property));
- dir = new File(dir.getAbsolutePath() + File.separator + TEMP_DIR_NAME);
- if (!dir.exists()) {
- dir.mkdirs();
- }
- return dir.getAbsolutePath();
- } catch (URISyntaxException e) {
- Activator.logError(e.getLocalizedMessage(), e);
- }
- }
- return System.getProperty("java.io.tmpdir"); //$NON-NLS-1$
- }
-
- /**
- * Get a temporary directory based on a trace's name. We will create the
- * directory if it doesn't exist, so that it's ready to be used.
- */
- private static String getTemporaryDir(ITmfTrace trace) {
- String pathName = getTemporaryDirPath() +
- File.separator +
- trace.getName() +
- File.separator;
- File dir = new File(pathName);
- if (!dir.exists()) {
- dir.mkdirs();
- }
- return pathName;
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/trace/TraceValidationStatus.java b/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/trace/TraceValidationStatus.java
deleted file mode 100644
index 70ee92a7ed..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/trace/TraceValidationStatus.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 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:
- * Patrick Tasse - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.core.trace;
-
-import org.eclipse.core.runtime.Status;
-
-/**
- * A class representing the validation status of a trace against a particular
- * trace type.
- *
- * @since 3.0
- */
-public class TraceValidationStatus extends Status {
-
- private int fConfidence;
-
- /**
- * Construct a successful validation status with a confidence level
- *
- * @param confidence the confidence level, 0 is lowest
- * @param pluginId the unique identifier of the relevant plug-in
- */
- public TraceValidationStatus(int confidence, String pluginId) {
- super(OK, pluginId, OK_STATUS.getMessage());
- if (confidence < 0) {
- throw new IllegalArgumentException();
- }
- fConfidence = confidence;
- }
-
- /**
- * Gets the confidence level
- *
- * @return the confidence level, 0 is lowest
- */
- public int getConfidence() {
- return fConfidence;
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/trace/indexer/ITmfPersistentlyIndexable.java b/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/trace/indexer/ITmfPersistentlyIndexable.java
deleted file mode 100644
index 1011008174..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/trace/indexer/ITmfPersistentlyIndexable.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 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:
- * Marc-Andre Laperle - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.core.trace.indexer;
-
-import java.nio.ByteBuffer;
-
-import org.eclipse.linuxtools.tmf.core.trace.location.ITmfLocation;
-
-/**
- * A trace implementing this interface can be indexed and its index can be
- * persisted to disk.
- *
- * @author Marc-Andre Laperle
- * @since 3.0
- */
-public interface ITmfPersistentlyIndexable {
-
- /**
- * Instantiate a ITmfLocation from a ByteBuffer, typically from disk.
- *
- * @param bufferIn
- * the buffer to read from
- * @return the instantiated location
- *
- * @since 3.0
- */
- ITmfLocation restoreLocation(ByteBuffer bufferIn);
-
- /**
- * Get the checkpoint size for this trace
- *
- * @return the checkpoint size
- *
- * @since 3.0
- */
- public int getCheckpointSize();
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/trace/indexer/ITmfTraceIndexer.java b/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/trace/indexer/ITmfTraceIndexer.java
deleted file mode 100644
index 3f279480e6..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/trace/indexer/ITmfTraceIndexer.java
+++ /dev/null
@@ -1,116 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2012, 2013 Ericsson
- *
- * All rights reserved. This program and the accompanying materials are
- * made available under the terms of the Eclipse Public License v1.0 which
- * accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Francois Chouinard - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.core.trace.indexer;
-
-import org.eclipse.linuxtools.tmf.core.event.ITmfEvent;
-import org.eclipse.linuxtools.tmf.core.timestamp.ITmfTimestamp;
-import org.eclipse.linuxtools.tmf.core.timestamp.TmfTimeRange;
-import org.eclipse.linuxtools.tmf.core.trace.ITmfContext;
-import org.eclipse.linuxtools.tmf.core.trace.ITmfTrace;
-
-/**
- * The generic trace indexer in TMF with support for incremental indexing.
- *
- * @see ITmfTrace
- * @see ITmfEvent
- *
- * @author Francois Chouinard
- * @since 3.0
- */
-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.
- * <p>
- * <b>Example 1</b>: Index a whole trace asynchronously
- *
- * <pre>
- * trace.getIndexer().buildIndex(0, TmfTimeRange.ETERNITY, false);
- * </pre>
- *
- * <b>Example 2</b>: Index a whole trace synchronously
- *
- * <pre>
- * trace.getIndexer().buildIndex(0, TmfTimeRange.ETERNITY, true);
- * </pre>
- *
- * <b>Example 3</b>: Index a trace asynchronously, starting at rank 100
- *
- * <pre>
- * trace.getIndexer().buildIndex(100, TmfTimeRange.ETERNITY, false);
- * </pre>
- *
- * <b>Example 4</b>: Index a trace asynchronously, starting at rank 100 for
- * events between T1 and T2 (inclusive). This is used for incremental
- * indexing.
- *
- * <pre>
- * TmfTimeRange range = new TmfTimeRange(T1, T2);
- * trace.getIndexer().buildIndex(100, range, false);
- * </pre>
- *
- * @param offset
- * The offset of the first event to consider
- * @param range
- * The time range to consider
- * @param waitForCompletion
- * Should we block the calling thread until the build is
- * complete?
- * @since 2.0
- */
- 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)
- */
- boolean isIndexing();
-
- /**
- * Adds an entry to the trace index.
- *
- * @param context The trace context to save
- * @param timestamp The timestamp matching this context
- * @since 2.0
- */
- void updateIndex(ITmfContext context, ITmfTimestamp timestamp);
-
- /**
- * Returns the context of the checkpoint immediately preceding the requested
- * timestamp (or at the timestamp if it coincides with a checkpoint).
- *
- * @param timestamp the requested timestamp
- * @return the checkpoint context
- * @since 2.0
- */
- ITmfContext seekIndex(ITmfTimestamp timestamp);
-
- /**
- * Returns the context of the checkpoint immediately preceding the requested
- * rank (or at rank if it coincides with a checkpoint).
- *
- * @param rank the requested event rank
- * @return the checkpoint context
- */
- ITmfContext seekIndex(long rank);
-
- /**
- * Perform cleanup when the indexer is no longer required.
- */
- void dispose();
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/trace/indexer/TmfBTreeTraceIndex.java b/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/trace/indexer/TmfBTreeTraceIndex.java
deleted file mode 100644
index 39f2bf47e3..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/trace/indexer/TmfBTreeTraceIndex.java
+++ /dev/null
@@ -1,139 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 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:
- * Marc-Andre Laperle - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.core.trace.indexer;
-
-import java.io.File;
-
-import org.eclipse.linuxtools.internal.tmf.core.trace.indexer.BTree;
-import org.eclipse.linuxtools.internal.tmf.core.trace.indexer.FlatArray;
-import org.eclipse.linuxtools.tmf.core.timestamp.TmfTimeRange;
-import org.eclipse.linuxtools.tmf.core.trace.ITmfTrace;
-import org.eclipse.linuxtools.tmf.core.trace.TmfTraceManager;
-import org.eclipse.linuxtools.tmf.core.trace.indexer.checkpoint.ITmfCheckpoint;
-import org.eclipse.linuxtools.tmf.core.trace.indexer.checkpoint.ITmfCheckpointIndex;
-
-/**
- * A checkpoint index that uses a BTree to store and search checkpoints by time stamps.
- * It's possible to have the checkpoints time stamps in a different order than their checkpoint ranks.
- * Because of that, we use a separate structure FlatArray that is better suited for searching
- * by checkpoint rank (O(1)).
- *
- * @since 3.0
- * @author Marc-Andre Laperle
- */
-public class TmfBTreeTraceIndex implements ITmfCheckpointIndex {
-
- private final BTree fCheckpoints;
- private final FlatArray fCheckpointRanks;
-
- private static final int BTREE_DEGREE = 15;
-
- /**
- * Creates an index for the given trace
- *
- * @param trace the trace
- */
- public TmfBTreeTraceIndex(ITmfTrace trace) {
- BTree bTree = createBTree(trace);
- FlatArray flatArray = createFlatArray(trace);
-
- // If one of the files is created from scratch, make sure we rebuild the other one too
- if (bTree.isCreatedFromScratch() != flatArray.isCreatedFromScratch()) {
- bTree.delete();
- flatArray.delete();
- bTree = createBTree(trace);
- flatArray = createFlatArray(trace);
- }
-
- fCheckpoints = bTree;
- fCheckpointRanks = flatArray;
- }
-
- private static FlatArray createFlatArray(ITmfTrace trace) {
- return new FlatArray(getIndexFile(trace, FlatArray.INDEX_FILE_NAME), (ITmfPersistentlyIndexable)trace);
- }
-
- private static BTree createBTree(ITmfTrace trace) {
- return new BTree(BTREE_DEGREE, getIndexFile(trace, BTree.INDEX_FILE_NAME), (ITmfPersistentlyIndexable)trace);
- }
-
- private static File getIndexFile(ITmfTrace trace, String fileName) {
- String directory = TmfTraceManager.getSupplementaryFileDir(trace);
- return new File(directory + fileName);
- }
-
- @Override
- public void dispose() {
- fCheckpoints.dispose();
- fCheckpointRanks.dispose();
- }
-
- @Override
- public void insert(ITmfCheckpoint checkpoint) {
- fCheckpoints.insert(checkpoint);
- fCheckpointRanks.insert(checkpoint);
- fCheckpoints.setSize(fCheckpoints.size() + 1);
- }
-
- @Override
- public ITmfCheckpoint get(long checkpoint) {
- return fCheckpointRanks.get(checkpoint);
- }
-
- @Override
- public long binarySearch(ITmfCheckpoint checkpoint) {
- return fCheckpoints.binarySearch(checkpoint);
- }
-
- @Override
- public boolean isEmpty() {
- return size() == 0;
- }
-
- @Override
- public int size() {
- return fCheckpoints.size();
- }
-
- @Override
- public boolean isCreatedFromScratch() {
- return fCheckpoints.isCreatedFromScratch();
- }
-
- @Override
- public void setTimeRange(TmfTimeRange timeRange) {
- fCheckpoints.setTimeRange(timeRange);
- }
-
- @Override
- public void setNbEvents(long nbEvents) {
- fCheckpoints.setNbEvents(nbEvents);
- }
-
- @Override
- public TmfTimeRange getTimeRange() {
- return fCheckpoints.getTimeRange();
- }
-
- @Override
- public long getNbEvents() {
- return fCheckpoints.getNbEvents();
- }
-
- @Override
- public void setIndexComplete() {
- fCheckpoints.setIndexComplete();
- fCheckpointRanks.setIndexComplete();
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/trace/indexer/TmfBTreeTraceIndexer.java b/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/trace/indexer/TmfBTreeTraceIndexer.java
deleted file mode 100644
index a4d76b2144..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/trace/indexer/TmfBTreeTraceIndexer.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 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:
- * Marc-Andre Laperle - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.core.trace.indexer;
-
-import org.eclipse.linuxtools.tmf.core.trace.ITmfTrace;
-import org.eclipse.linuxtools.tmf.core.trace.indexer.checkpoint.ITmfCheckpointIndex;
-import org.eclipse.linuxtools.tmf.core.trace.indexer.checkpoint.TmfCheckpointIndexer;
-
-/**
- * An indexer that uses a Btree index to store checkpoints
- *
- * @since 3.0
- * @author Marc-Andre Laperle
- */
-public class TmfBTreeTraceIndexer extends TmfCheckpointIndexer {
-
- /**
- * Full trace indexer
- *
- * @param trace
- * the trace to index
- * @param interval
- * the checkpoints interval
- */
- public TmfBTreeTraceIndexer(ITmfTrace trace, int interval) {
- super(trace, interval);
- }
-
- @Override
- protected ITmfCheckpointIndex createIndex(ITmfTrace trace) {
- return new TmfBTreeTraceIndex(trace);
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/trace/indexer/TmfFlatArrayTraceIndex.java b/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/trace/indexer/TmfFlatArrayTraceIndex.java
deleted file mode 100644
index c1fd940e5a..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/trace/indexer/TmfFlatArrayTraceIndex.java
+++ /dev/null
@@ -1,112 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 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:
- * Marc-Andre Laperle - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.core.trace.indexer;
-
-import java.io.File;
-
-import org.eclipse.linuxtools.internal.tmf.core.trace.indexer.FlatArray;
-import org.eclipse.linuxtools.tmf.core.timestamp.TmfTimeRange;
-import org.eclipse.linuxtools.tmf.core.trace.ITmfTrace;
-import org.eclipse.linuxtools.tmf.core.trace.TmfTraceManager;
-import org.eclipse.linuxtools.tmf.core.trace.indexer.checkpoint.ITmfCheckpoint;
-import org.eclipse.linuxtools.tmf.core.trace.indexer.checkpoint.ITmfCheckpointIndex;
-
-/**
- * <p>A checkpoint index that uses a FlatArray to store and search checkpoints by
- * time stamps and by checkpoint rank.</p>
- *
- * <p>Note: This index alone will not work for
- * traces that have events with time stamps that are out of order.</p>
- *
- * @since 3.0
- * @author Marc-Andre Laperle
- */
-public class TmfFlatArrayTraceIndex implements ITmfCheckpointIndex {
-
- private final FlatArray fCheckpoints;
-
- /**
- * Creates an index for the given trace
- *
- * @param trace the trace
- */
- public TmfFlatArrayTraceIndex(ITmfTrace trace) {
- fCheckpoints = new FlatArray(getIndexFile(trace, FlatArray.INDEX_FILE_NAME), (ITmfPersistentlyIndexable)trace);
- }
-
- private static File getIndexFile(ITmfTrace trace, String fileName) {
- String directory = TmfTraceManager.getSupplementaryFileDir(trace);
- return new File(directory + fileName);
- }
-
- @Override
- public void dispose() {
- fCheckpoints.dispose();
- }
-
- @Override
- public void insert(ITmfCheckpoint checkpoint) {
- fCheckpoints.insert(checkpoint);
- }
-
- @Override
- public ITmfCheckpoint get(long checkpoint) {
- return fCheckpoints.get(checkpoint);
- }
-
- @Override
- public long binarySearch(ITmfCheckpoint checkpoint) {
- return fCheckpoints.binarySearch(checkpoint);
- }
-
- @Override
- public boolean isEmpty() {
- return size() == 0;
- }
-
- @Override
- public int size() {
- return fCheckpoints.size();
- }
-
- @Override
- public boolean isCreatedFromScratch() {
- return fCheckpoints.isCreatedFromScratch();
- }
-
- @Override
- public void setTimeRange(TmfTimeRange timeRange) {
- fCheckpoints.setTimeRange(timeRange);
- }
-
- @Override
- public void setNbEvents(long nbEvents) {
- fCheckpoints.setNbEvents(nbEvents);
- }
-
- @Override
- public TmfTimeRange getTimeRange() {
- return fCheckpoints.getTimeRange();
- }
-
- @Override
- public long getNbEvents() {
- return fCheckpoints.getNbEvents();
- }
-
- @Override
- public void setIndexComplete() {
- fCheckpoints.setIndexComplete();
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/trace/indexer/TmfFlatArrayTraceIndexer.java b/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/trace/indexer/TmfFlatArrayTraceIndexer.java
deleted file mode 100644
index 7ae1cef6b1..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/trace/indexer/TmfFlatArrayTraceIndexer.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 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:
- * Marc-Andre Laperle - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.core.trace.indexer;
-
-import org.eclipse.linuxtools.tmf.core.trace.ITmfTrace;
-import org.eclipse.linuxtools.tmf.core.trace.indexer.checkpoint.ITmfCheckpointIndex;
-import org.eclipse.linuxtools.tmf.core.trace.indexer.checkpoint.TmfCheckpointIndexer;
-
-/**
- * An indexer that uses a FlatArray index to store checkpoints
- *
- * @since 3.0
- * @author Marc-Andre Laperle
- */
-public class TmfFlatArrayTraceIndexer extends TmfCheckpointIndexer {
-
- /**
- * Full trace indexer
- *
- * @param trace
- * the trace to index
- * @param interval
- * the checkpoints interval
- */
- public TmfFlatArrayTraceIndexer(ITmfTrace trace, int interval) {
- super(trace, interval);
- }
-
- @Override
- protected ITmfCheckpointIndex createIndex(ITmfTrace trace) {
- return new TmfFlatArrayTraceIndex(trace);
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/trace/indexer/checkpoint/ITmfCheckpoint.java b/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/trace/indexer/checkpoint/ITmfCheckpoint.java
deleted file mode 100644
index e847fc2d85..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/trace/indexer/checkpoint/ITmfCheckpoint.java
+++ /dev/null
@@ -1,79 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2012, 2013 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
- * Patrick Tasse - Updated for location in checkpoint
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.core.trace.indexer.checkpoint;
-
-import java.nio.ByteBuffer;
-
-import org.eclipse.linuxtools.tmf.core.timestamp.ITmfTimestamp;
-import org.eclipse.linuxtools.tmf.core.trace.location.ITmfLocation;
-
-/**
- * The basic trace checkpoint structure in TMF. The purpose of the checkpoint is
- * to associate a trace location to an event timestamp.
- * *
- * @see ITmfTimestamp
- * @see ITmfLocation
- *
- * @author Francois Chouinard
- * @since 3.0
- */
-public interface ITmfCheckpoint extends Comparable<ITmfCheckpoint> {
-
- // ------------------------------------------------------------------------
- // Getters
- // ------------------------------------------------------------------------
-
- /**
- * The maximum size of the serialize buffer when determining the checkpoint
- * size
- */
- static final int MAX_SERIALIZE_SIZE = 1024;
-
- /**
- * @return the timestamp of the event referred to by the context
- * @since 2.0
- */
- ITmfTimestamp getTimestamp();
-
- /**
- * @return the location of the event referred to by the checkpoint
- */
- ITmfLocation getLocation();
-
- // ------------------------------------------------------------------------
- // Comparable
- // ------------------------------------------------------------------------
-
- @Override
- int compareTo(ITmfCheckpoint checkpoint);
-
- /**
- * Returns the checkpoint rank for this checkpoint. The checkpoint rank can
- * be seen as the index of the checkpoint in the order it was added.
- *
- * @return the checkpoint rank for this checkpoint
- * @since 3.0
- */
- long getCheckpointRank();
-
- /**
- * Write the checkpoint to the ByteBuffer so that it can be saved to disk.
- *
- * @param bufferOut
- * the buffer to write to
- *
- * @since 3.0
- */
- void serialize(ByteBuffer bufferOut);
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/trace/indexer/checkpoint/ITmfCheckpointIndex.java b/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/trace/indexer/checkpoint/ITmfCheckpointIndex.java
deleted file mode 100644
index 264e3604d2..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/trace/indexer/checkpoint/ITmfCheckpointIndex.java
+++ /dev/null
@@ -1,118 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 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:
- * Marc-Andre Laperle - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.core.trace.indexer.checkpoint;
-
-import java.util.Collections;
-
-import org.eclipse.linuxtools.tmf.core.timestamp.TmfTimeRange;
-
-/**
- * A trace index contains the data (checkpoints) needed by the indexer so that it can perform
- * its operations. Implementors can store checkpoints in various ways and
- * optionally restore them later, see ({@link #isCreatedFromScratch})
- *
- * @since 3.0
- * @author Marc-Andre Laperle
- */
-public interface ITmfCheckpointIndex {
-
- /**
- * Add a checkpoint to the index
- *
- * @param checkpoint
- * the checkpoint to add
- */
- void insert(ITmfCheckpoint checkpoint);
-
- /**
- * Get a checkpoint by checkpoint rank
- *
- * @param checkpointRank
- * the checkpoint rank to search for
- * @return the checkpoint found for the given checkpoint rank
- */
- ITmfCheckpoint get(long checkpointRank);
-
- /**
- * Find the checkpoint rank of a checkpoint. Implementors must respect the
- * contract of {@link Collections#binarySearch}
- *
- * @param checkpoint
- * the checkpoint to search for
- * @return the checkpoint rank of the searched checkpoint, if it is
- * contained in the index; otherwise, (-(insertion point) - 1).
- */
- long binarySearch(ITmfCheckpoint checkpoint);
-
- /**
- * Returns whether or not the index is empty
- *
- * @return true if empty false otherwise
- */
- boolean isEmpty();
-
- /**
- * Returns the number of checkpoints in the index
- *
- * @return the number of checkpoints
- */
- int size();
-
- /**
- * Dispose the index and its resources
- */
- void dispose();
-
- /**
- * Returns whether or not the index was created from scratch. An index not
- * created from scratch was typically loaded from disk.
- *
- * @return true if the index was created from scratch, false otherwise
- */
- boolean isCreatedFromScratch();
-
- /**
- * Set trace time range to be stored in the index
- *
- * @param timeRange
- * the time range to be stored in the index
- */
- void setTimeRange(TmfTimeRange timeRange);
-
- /**
- * Set the total number of events in the trace to be stored in the index
- *
- * @param nbEvents
- * the total number of events
- */
- void setNbEvents(long nbEvents);
-
- /**
- * Get the trace time range stored in the index
- *
- * @return the trace time range
- */
- TmfTimeRange getTimeRange();
-
- /**
- * Get the total number of events in the trace stored in the index
- *
- * @return the total number of events
- */
- long getNbEvents();
-
- /**
- * Set the index as complete. No more checkpoints will be inserted.
- */
- void setIndexComplete();
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/trace/indexer/checkpoint/TmfCheckpoint.java b/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/trace/indexer/checkpoint/TmfCheckpoint.java
deleted file mode 100644
index b3c74722f3..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/trace/indexer/checkpoint/TmfCheckpoint.java
+++ /dev/null
@@ -1,222 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009, 2013 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 - Updated as per TMF Trace Model 1.0
- * Patrick Tasse - Updated for location in checkpoint
- ******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.core.trace.indexer.checkpoint;
-
-import java.nio.ByteBuffer;
-
-import org.eclipse.linuxtools.tmf.core.timestamp.ITmfTimestamp;
-import org.eclipse.linuxtools.tmf.core.timestamp.TmfTimestamp;
-import org.eclipse.linuxtools.tmf.core.trace.location.ITmfLocation;
-
-/**
- * A basic implementation of ITmfCheckpoint. It simply maps an event timestamp
- * to a generic location.
- *
- * @see ITmfLocation
- * @see ITmfTimestamp
- *
- * @author Francois Chouinard
- * @since 3.0
- */
-public class TmfCheckpoint implements ITmfCheckpoint {
-
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
-
- // The checkpoint location
- private final ITmfLocation fLocation;
-
- // The checkpoint timestamp
- private final ITmfTimestamp fTimestamp;
-
- private final long fCheckpointRank;
-
- // ------------------------------------------------------------------------
- // Constructors
- // ------------------------------------------------------------------------
-
- /**
- * Full constructor
- *
- * @param timestamp
- * the checkpoint timestamp
- * @param location
- * the corresponding trace location
- * @param checkpointRank
- * the rank of the checkpoint
- * @since 3.0
- */
- public TmfCheckpoint(final ITmfTimestamp timestamp, final ITmfLocation location, long checkpointRank) {
- fTimestamp = timestamp;
- fLocation = location;
- fCheckpointRank = checkpointRank;
- }
-
- /**
- * Constructs a checkpoint using also a byte buffer to read the rank from
- * disk.
- *
- * @param timestamp
- * the checkpoint timestamp
- * @param location
- * the corresponding trace location
- * @param bufferIn
- * the byte buffer to read from
- *
- * @since 3.0
- */
- public TmfCheckpoint(final ITmfTimestamp timestamp, final ITmfLocation location, ByteBuffer bufferIn) {
- fTimestamp = timestamp;
- fLocation = location;
- fCheckpointRank = bufferIn.getLong();
- }
-
- /**
- * Copy constructor
- *
- * @param other the other checkpoint
- */
- public TmfCheckpoint(final TmfCheckpoint other) {
- if (other == null) {
- throw new IllegalArgumentException();
- }
- fTimestamp = other.fTimestamp;
- fLocation = other.fLocation;
- fCheckpointRank = other.fCheckpointRank;
- }
-
- // ------------------------------------------------------------------------
- // ITmfCheckpoint
- // ------------------------------------------------------------------------
-
- /**
- * @since 2.0
- */
- @Override
- public ITmfTimestamp getTimestamp() {
- return fTimestamp;
- }
-
- @Override
- public ITmfLocation getLocation() {
- return fLocation;
- }
-
- // ------------------------------------------------------------------------
- // Comparable
- // ------------------------------------------------------------------------
-
- @Override
- @SuppressWarnings({ "unchecked", "rawtypes" })
- public int compareTo(final ITmfCheckpoint other) {
- int comp = 0;
- if ((fTimestamp != null) && (other.getTimestamp() != null)) {
- comp = fTimestamp.compareTo(other.getTimestamp(), false);
- if (comp != 0) {
- return comp;
- }
- // compare locations if timestamps are the same
- }
-
- if ((fLocation == null) && (other.getLocation() == null)) {
- return 0;
- }
-
- // treat location of other as null location which is before any location
- if ((fLocation != null) && (other.getLocation() == null)) {
- return 1;
- }
-
- // treat this as null location which is before any other locations
- if ((fLocation == null) && (other.getLocation() != null)) {
- return -1;
- }
-
- // compare location
- final Comparable location1 = getLocation().getLocationInfo();
- final Comparable location2 = other.getLocation().getLocationInfo();
- return location1.compareTo(location2);
- }
-
- // ------------------------------------------------------------------------
- // Object
- // ------------------------------------------------------------------------
-
- @Override
- public int hashCode() {
- final int prime = 31;
- int result = 1;
- result = prime * result + ((fLocation == null) ? 0 : fLocation.hashCode());
- result = prime * result + ((fTimestamp == null) ? 0 : fTimestamp.hashCode());
- return result;
- }
-
- @Override
- public boolean equals(final Object obj) {
- if (this == obj) {
- return true;
- }
- if (obj == null) {
- return false;
- }
- if (!(obj instanceof TmfCheckpoint)) {
- return false;
- }
- final TmfCheckpoint other = (TmfCheckpoint) obj;
- if (fLocation == null) {
- if (other.fLocation != null) {
- return false;
- }
- } else if (!fLocation.equals(other.fLocation)) {
- return false;
- }
- if (fTimestamp == null) {
- if (other.fTimestamp != null) {
- return false;
- }
- } else if (!fTimestamp.equals(other.fTimestamp)) {
- return false;
- }
- return true;
- }
-
- @Override
- @SuppressWarnings("nls")
- public String toString() {
- return getClass().getSimpleName() + " [fLocation=" + fLocation + ", fTimestamp=" + fTimestamp + ", fCheckpointRank=" + fCheckpointRank + "]";
- }
-
- /**
- * @since 3.0
- */
- @Override
- public void serialize(ByteBuffer bufferOut) {
- fLocation.serialize(bufferOut);
- // Always serialize as base TmfTimestamp, this should be sufficient for indexing.
- // If not, we can add API for the test to restore the time stamp, similarly to the location.
- TmfTimestamp t = new TmfTimestamp(fTimestamp);
- t.serialize(bufferOut);
- bufferOut.putLong(fCheckpointRank);
- }
-
- /**
- * @since 3.0
- */
- @Override
- public long getCheckpointRank() {
- return fCheckpointRank;
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/trace/indexer/checkpoint/TmfCheckpointIndexer.java b/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/trace/indexer/checkpoint/TmfCheckpointIndexer.java
deleted file mode 100644
index eacdd0ef24..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/trace/indexer/checkpoint/TmfCheckpointIndexer.java
+++ /dev/null
@@ -1,355 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2012, 2014 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
- * Bernd Hufmann - Update way of broadcasting of TmfTraceUpdatedSignal
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.core.trace.indexer.checkpoint;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.core.runtime.jobs.Job;
-import org.eclipse.linuxtools.internal.tmf.core.Messages;
-import org.eclipse.linuxtools.internal.tmf.core.trace.indexer.TmfMemoryIndex;
-import org.eclipse.linuxtools.tmf.core.component.TmfEventProvider;
-import org.eclipse.linuxtools.tmf.core.event.ITmfEvent;
-import org.eclipse.linuxtools.tmf.core.request.ITmfEventRequest;
-import org.eclipse.linuxtools.tmf.core.request.TmfEventRequest;
-import org.eclipse.linuxtools.tmf.core.signal.TmfTraceUpdatedSignal;
-import org.eclipse.linuxtools.tmf.core.timestamp.ITmfTimestamp;
-import org.eclipse.linuxtools.tmf.core.timestamp.TmfTimeRange;
-import org.eclipse.linuxtools.tmf.core.trace.ITmfContext;
-import org.eclipse.linuxtools.tmf.core.trace.ITmfTrace;
-import org.eclipse.linuxtools.tmf.core.trace.ITmfTraceCompleteness;
-import org.eclipse.linuxtools.tmf.core.trace.indexer.ITmfTraceIndexer;
-import org.eclipse.linuxtools.tmf.core.trace.location.ITmfLocation;
-
-/**
- * A simple indexer that manages the trace index as an array of trace
- * checkpoints. Checkpoints are stored in memory at fixed intervals (event rank) in
- * ascending timestamp order.
- * <p>
- * The goal being to access a random trace event reasonably fast from the user's
- * standpoint, picking the right interval value becomes a trade-off between speed
- * and memory usage (a shorter inter-event interval is faster but requires more
- * checkpoints).
- * <p>
- * Locating a specific checkpoint is trivial for both rank (rank % interval) and
- * timestamp (bsearch in the array).
- * *
- * @see ITmfTrace
- * @see ITmfEvent
- *
- * @author Francois Chouinard
- * @since 3.0
- */
-public class TmfCheckpointIndexer implements ITmfTraceIndexer {
-
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
-
- /** The event trace to index */
- protected final ITmfTrace fTrace;
-
- /** 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.
- */
- protected final ITmfCheckpointIndex fTraceIndex;
-
- /**
- * The indexing request
- */
- private ITmfEventRequest fIndexingRequest = null;
-
- // ------------------------------------------------------------------------
- // Construction
- // ------------------------------------------------------------------------
-
- /**
- * Basic constructor that uses the default trace block size as checkpoints
- * intervals
- *
- * @param trace the trace to index
- */
- public TmfCheckpointIndexer(final ITmfTrace trace) {
- this(trace, TmfEventProvider.DEFAULT_BLOCK_SIZE);
- }
-
- /**
- * Full trace indexer
- *
- * @param trace the trace to index
- * @param interval the checkpoints interval
- */
- public TmfCheckpointIndexer(final ITmfTrace trace, final int interval) {
- fTrace = trace;
- fCheckpointInterval = interval;
- fTraceIndex = createIndex(trace);
- fIsIndexing = false;
- }
-
- /**
- * Creates the index instance. Classes extending this class
- * can override this to provide a different index implementation.
- *
- * @param trace the trace to index
- * @return the index
- * @since 3.0
- */
- protected ITmfCheckpointIndex createIndex(final ITmfTrace trace) {
- return new TmfMemoryIndex(trace);
- }
-
- @Override
- public void dispose() {
- if ((fIndexingRequest != null) && !fIndexingRequest.isCompleted()) {
- fIndexingRequest.cancel();
- }
-
- fTraceIndex.dispose();
- }
-
- // ------------------------------------------------------------------------
- // ITmfTraceIndexer - isIndexing
- // ------------------------------------------------------------------------
-
- @Override
- public boolean isIndexing() {
- return fIsIndexing;
- }
-
- // ------------------------------------------------------------------------
- // ITmfTraceIndexer - buildIndex
- // ------------------------------------------------------------------------
-
- /**
- * @since 2.0
- */
- @Override
- 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;
- }
-
- // No need to build the index, it has been restored
- if (!fTraceIndex.isCreatedFromScratch()) {
- // Set some trace attributes that depends on indexing
- TmfTraceUpdatedSignal signal = new TmfTraceUpdatedSignal(this, fTrace, new TmfTimeRange(fTraceIndex.getTimeRange().getStartTime(), fTraceIndex.getTimeRange().getEndTime()), fTraceIndex.getNbEvents());
- if (waitForCompletion) {
- fTrace.broadcast(signal);
- } else {
- fTrace.broadcastAsync(signal);
- }
- fIsIndexing = false;
- return;
- }
-
- // The monitoring job
- final Job job = new Job("Indexing " + fTrace.getName() + "...") { //$NON-NLS-1$ //$NON-NLS-2$
- @Override
- protected IStatus run(final IProgressMonitor monitor) {
- monitor.beginTask("", IProgressMonitor.UNKNOWN); //$NON-NLS-1$
- while (!monitor.isCanceled()) {
- try {
- long prevNbEvents = fTrace.getNbEvents();
- Thread.sleep(250);
- long nbEvents = fTrace.getNbEvents();
- setName(Messages.TmfCheckpointIndexer_Indexing + ' ' + fTrace.getName() + " (" + nbEvents + ")"); //$NON-NLS-1$ //$NON-NLS-2$
- // setName doesn't refresh the UI, setTaskName does
- long rate = (nbEvents - prevNbEvents) * 4;
- monitor.setTaskName(rate + " " + Messages.TmfCheckpointIndexer_EventsPerSecond); //$NON-NLS-1$
- } catch (final InterruptedException e) {
- return Status.OK_STATUS;
- }
- }
- monitor.done();
- return Status.OK_STATUS;
- }
- };
- job.setSystem(!isCompleteTrace(fTrace));
- job.schedule();
-
- // Build a background request for all the trace data. The index is
- // updated as we go by readNextEvent().
- fIndexingRequest = new TmfEventRequest(ITmfEvent.class,
- range, offset, ITmfEventRequest.ALL_DATA,
- ITmfEventRequest.ExecutionType.BACKGROUND) {
- @Override
- public void handleData(final ITmfEvent event) {
- super.handleData(event);
- // Update the trace status at regular intervals
- if ((getNbRead() % fCheckpointInterval) == 0) {
- updateTraceStatus();
- }
- }
-
- @Override
- public void handleSuccess() {
- fTraceIndex.setTimeRange(fTrace.getTimeRange());
- fTraceIndex.setNbEvents(fTrace.getNbEvents());
- if (isCompleteTrace(fTrace)) {
- fTraceIndex.setIndexComplete();
- }
- updateTraceStatus();
- }
-
- @Override
- public void handleCompleted() {
- job.cancel();
- super.handleCompleted();
- fIsIndexing = false;
- }
-
- private void updateTraceStatus() {
- if (fTrace.getNbEvents() > 0) {
- signalNewTimeRange(fTrace.getStartTime(), fTrace.getEndTime());
- }
- }
- };
-
- // Submit the request and wait for completion if required
- fTrace.sendRequest(fIndexingRequest);
- if (waitForCompletion) {
- try {
- fIndexingRequest.waitForCompletion();
- } catch (final InterruptedException e) {
- }
- }
- }
-
- /**
- * Notify the interested parties that the trace time range has changed
- *
- * @param startTime the new start time
- * @param endTime the new end time
- */
- private void signalNewTimeRange(final ITmfTimestamp startTime, final ITmfTimestamp endTime) {
- fTrace.broadcast(new TmfTraceUpdatedSignal(fTrace, fTrace, new TmfTimeRange(startTime, endTime), fTrace.getNbEvents()));
- }
-
- // ------------------------------------------------------------------------
- // ITmfTraceIndexer - updateIndex
- // ------------------------------------------------------------------------
-
- /**
- * @since 2.0
- */
- @Override
- public synchronized void updateIndex(final ITmfContext context, final ITmfTimestamp timestamp) {
- if ((context.getRank() % fCheckpointInterval) == 0) {
- // Determine the table position
- final long position = context.getRank() / fCheckpointInterval;
- // Add new entry at proper location (if empty)
- if (fTraceIndex.size() == position) {
- fTraceIndex.insert(new TmfCheckpoint(timestamp, context.getLocation(), position));
- }
- }
- }
-
- // ------------------------------------------------------------------------
- // ITmfTraceIndexer - seekIndex
- // ------------------------------------------------------------------------
-
- /**
- * @since 2.0
- */
- @Override
- public synchronized ITmfContext seekIndex(final ITmfTimestamp timestamp) {
-
- // A null timestamp indicates to seek the first event
- if (timestamp == null) {
- return fTrace.seekEvent(0);
- }
-
- // Find the checkpoint at or before the requested timestamp.
- // In the very likely event that the timestamp is not at a checkpoint
- // boundary, bsearch will return index = (- (insertion point + 1)).
- // It is then trivial to compute the index of the previous checkpoint.
- long index = fTraceIndex.binarySearch(new TmfCheckpoint(timestamp, null, 0));
- if (index < 0) {
- index = Math.max(0, -(index + 2));
- } else {
- // If timestamp was in the list, use previous index to be able to find the
- // first event with the same timestamp before the checkpoint
- index = Math.max(0, index - 1);
- }
-
- // Position the trace at the checkpoint
- return restoreCheckpoint(index);
- }
-
- @Override
- public ITmfContext seekIndex(final long rank) {
-
- // A rank < 0 indicates to seek the first event
- if (rank < 0) {
- return fTrace.seekEvent(0);
- }
-
- // Find the checkpoint at or before the requested rank.
- final int index = (int) rank / fCheckpointInterval;
-
- // Position the trace at the checkpoint
- return restoreCheckpoint(index);
- }
-
- /**
- * Position the trace at the given checkpoint
- *
- * @param checkpoint the checkpoint index
- * @return the corresponding context
- */
- private ITmfContext restoreCheckpoint(final long checkpoint) {
- ITmfLocation location = null;
- long index = 0;
- synchronized (fTraceIndex) {
- if (!fTraceIndex.isEmpty()) {
- index = checkpoint;
- if (index >= fTraceIndex.size()) {
- index = fTraceIndex.size() - 1;
- }
- location = fTraceIndex.get(index).getLocation();
- }
- }
- final ITmfContext context = fTrace.seekEvent(location);
- context.setRank(index * fCheckpointInterval);
- return context;
- }
-
- // ------------------------------------------------------------------------
- // Getters
- // ------------------------------------------------------------------------
-
- /**
- * @return the trace index
- * @since 3.0
- */
- protected ITmfCheckpointIndex getTraceIndex() {
- return fTraceIndex;
- }
-
- private static boolean isCompleteTrace(ITmfTrace trace) {
- return !(trace instanceof ITmfTraceCompleteness) || ((ITmfTraceCompleteness)trace).isComplete();
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/trace/location/ITmfLocation.java b/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/trace/location/ITmfLocation.java
deleted file mode 100644
index 50819485a8..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/trace/location/ITmfLocation.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009, 2013 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 - Updated as per TMF Trace Model 1.0
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.core.trace.location;
-
-import java.nio.ByteBuffer;
-
-/**
- * The generic trace location in TMF.
- * <p>
- * An ITmfLocation is the equivalent of a random-access file position, holding
- * enough information to allow the positioning of the trace 'pointer' to read an
- * arbitrary event.
- * <p>
- * This location is trace-specific, must be comparable and immutable.
- *
- * @author Francois Chouinard
- * @since 3.0
- */
-public interface ITmfLocation {
-
- // ------------------------------------------------------------------------
- // Getters
- // ------------------------------------------------------------------------
-
- /**
- * Returns the concrete trace location information
- *
- * @return the location information
- * @since 2.0
- */
- Comparable<?> getLocationInfo();
-
- /**
- * Write the location to the ByteBuffer so that it can be saved to disk.
- * @param bufferOut the buffer to write to
- *
- * @since 3.0
- */
- void serialize(ByteBuffer bufferOut);
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/trace/location/TmfLocation.java b/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/trace/location/TmfLocation.java
deleted file mode 100644
index 133f002886..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/trace/location/TmfLocation.java
+++ /dev/null
@@ -1,108 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009, 2013 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 - Updated as per TMF Trace Model 1.0
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.core.trace.location;
-
-
-/**
- * A abstract implementation of ITmfLocation. The concrete classes must provide
- * comparable location information.
- *
- * @author Francois Chouinard
- * @since 3.0
- */
-public abstract class TmfLocation implements ITmfLocation {
-
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
-
- private final Comparable<?> fLocationInfo;
-
- // ------------------------------------------------------------------------
- // Constructors
- // ------------------------------------------------------------------------
-
- /**
- * Standard constructor.
- *
- * @param locationInfo
- * The concrete trace location
- */
- public TmfLocation(final Comparable<?> locationInfo) {
- fLocationInfo = locationInfo;
- }
-
- /**
- * Copy constructor
- *
- * @param location
- * The original trace location
- */
- public TmfLocation(final TmfLocation location) {
- fLocationInfo = location.fLocationInfo;
- }
-
- // ------------------------------------------------------------------------
- // Getters
- // ------------------------------------------------------------------------
-
- /**
- * @since 2.0
- */
- @Override
- public Comparable<?> getLocationInfo() {
- return fLocationInfo;
- }
-
- // ------------------------------------------------------------------------
- // Object
- // ------------------------------------------------------------------------
-
- @Override
- public int hashCode() {
- final int prime = 31;
- int result = 1;
- result = prime * result + ((fLocationInfo != null) ? fLocationInfo.hashCode() : 0);
- return result;
- }
-
- @Override
- public boolean equals(final Object obj) {
- if (this == obj) {
- return true;
- }
- if (obj == null) {
- return false;
- }
- if (getClass() != obj.getClass()) {
- return false;
- }
- final TmfLocation other = (TmfLocation) obj;
- if (fLocationInfo == null) {
- if (other.fLocationInfo != null) {
- return false;
- }
- } else if (!fLocationInfo.equals(other.fLocationInfo)) {
- return false;
- }
- return true;
- }
-
- @Override
- @SuppressWarnings("nls")
- public String toString() {
- return getClass().getSimpleName() + " [fLocationInfo=" + fLocationInfo + "]";
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/trace/location/TmfLongLocation.java b/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/trace/location/TmfLongLocation.java
deleted file mode 100644
index fdb249f10a..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/trace/location/TmfLongLocation.java
+++ /dev/null
@@ -1,78 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2012, 2014 Ericsson
- *
- * All rights reserved. This program and the accompanying materials are
- * made available under the terms of the Eclipse Public License v1.0 which
- * accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Francois Chouinard - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.core.trace.location;
-
-import java.nio.ByteBuffer;
-
-/**
- * A concrete implementation of TmfLocation based on Long:s
- *
- * @author Francois Chouinard
- * @since 3.0
- */
-public final class TmfLongLocation extends TmfLocation {
-
- /**
- * Constructor
- *
- * @param locationInfo
- * The concrete location
- */
- public TmfLongLocation(long locationInfo) {
- super(Long.valueOf(locationInfo));
- }
-
- /**
- * The normal constructor
- *
- * @param locationInfo the concrete location
- */
- public TmfLongLocation(final Long locationInfo) {
- super(locationInfo);
- }
-
- /**
- * The copy constructor
- *
- * @param other the other location
- */
- public TmfLongLocation(final TmfLongLocation other) {
- super(other.getLocationInfo());
- }
-
- /**
- * Construct the location from the ByteBuffer.
- *
- * @param bufferIn
- * the buffer to read from
- *
- * @since 3.0
- */
- public TmfLongLocation(ByteBuffer bufferIn) {
- this(bufferIn.getLong());
- }
-
- @Override
- public Long getLocationInfo() {
- return (Long) super.getLocationInfo();
- }
-
- /**
- * @since 3.0
- */
- @Override
- public void serialize(ByteBuffer bufferOut) {
- bufferOut.putLong(getLocationInfo().longValue());
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/trace/location/TmfTimestampLocation.java b/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/trace/location/TmfTimestampLocation.java
deleted file mode 100644
index 4e76217cfe..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/trace/location/TmfTimestampLocation.java
+++ /dev/null
@@ -1,71 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2012, 2013 Ericsson
- *
- * All rights reserved. This program and the accompanying materials are
- * made available under the terms of the Eclipse Public License v1.0 which
- * accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Francois Chouinard - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.core.trace.location;
-
-import java.nio.ByteBuffer;
-
-import org.eclipse.linuxtools.tmf.core.timestamp.ITmfTimestamp;
-import org.eclipse.linuxtools.tmf.core.timestamp.TmfTimestamp;
-
-/**
- * A concrete implementation of TmfLocation based on ITmfTimestamp:s
- *
- * @author Francois Chouinard
- * @since 3.0
- */
-public final class TmfTimestampLocation extends TmfLocation {
-
- /**
- * The normal constructor
- *
- * @param locationInfo the concrete location
- */
- public TmfTimestampLocation(final ITmfTimestamp locationInfo) {
- super(locationInfo);
- }
-
- /**
- * The copy constructor
- *
- * @param other the other location
- */
- public TmfTimestampLocation(final TmfTimestampLocation other) {
- super(other.getLocationInfo());
- }
-
- /**
- * Construct the location from the ByteBuffer.
- *
- * @param bufferIn
- * the buffer to read from
- *
- * @since 3.0
- */
- public TmfTimestampLocation(ByteBuffer bufferIn) {
- super(new TmfTimestamp(bufferIn));
- }
-
- @Override
- public ITmfTimestamp getLocationInfo() {
- return (ITmfTimestamp) super.getLocationInfo();
- }
-
- /**
- * @since 3.0
- */
- @Override
- public void serialize(ByteBuffer bufferOut) {
- TmfTimestamp t = new TmfTimestamp(getLocationInfo());
- t.serialize(bufferOut);
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/trace/text/TextTrace.java b/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/trace/text/TextTrace.java
deleted file mode 100644
index 44f82b07bf..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/trace/text/TextTrace.java
+++ /dev/null
@@ -1,400 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2012, 2014 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:
- * Patrick Tasse - Initial API and implementation
- * Marc-Andre Laperle - Add persistent index support
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.core.trace.text;
-
-import java.io.File;
-import java.io.IOException;
-import java.nio.ByteBuffer;
-import java.util.Collections;
-import java.util.List;
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jdt.annotation.NonNull;
-import org.eclipse.linuxtools.internal.tmf.core.Activator;
-import org.eclipse.linuxtools.tmf.core.event.ITmfEvent;
-import org.eclipse.linuxtools.tmf.core.exceptions.TmfTraceException;
-import org.eclipse.linuxtools.tmf.core.io.BufferedRandomAccessFile;
-import org.eclipse.linuxtools.tmf.core.timestamp.TmfTimestamp;
-import org.eclipse.linuxtools.tmf.core.trace.ITmfContext;
-import org.eclipse.linuxtools.tmf.core.trace.ITmfEventParser;
-import org.eclipse.linuxtools.tmf.core.trace.TmfTrace;
-import org.eclipse.linuxtools.tmf.core.trace.TraceValidationStatus;
-import org.eclipse.linuxtools.tmf.core.trace.indexer.ITmfPersistentlyIndexable;
-import org.eclipse.linuxtools.tmf.core.trace.indexer.ITmfTraceIndexer;
-import org.eclipse.linuxtools.tmf.core.trace.indexer.TmfBTreeTraceIndexer;
-import org.eclipse.linuxtools.tmf.core.trace.indexer.checkpoint.ITmfCheckpoint;
-import org.eclipse.linuxtools.tmf.core.trace.indexer.checkpoint.TmfCheckpoint;
-import org.eclipse.linuxtools.tmf.core.trace.location.ITmfLocation;
-import org.eclipse.linuxtools.tmf.core.trace.location.TmfLongLocation;
-
-/**
- * Extension of TmfTrace for handling of line-based text traces parsed using
- * regular expressions. Each line that matches the first line pattern indicates
- * the start of a new event. The subsequent lines can contain additional
- * information that is added to the current event.
- *
- * @param <T>
- * TmfEvent class returned by this trace
- *
- * @since 3.0
- */
-public abstract class TextTrace<T extends TextTraceEvent> extends TmfTrace implements ITmfEventParser, ITmfPersistentlyIndexable {
-
- private static final TmfLongLocation NULL_LOCATION = new TmfLongLocation(-1L);
- private static final int MAX_LINES = 100;
- private static final int MAX_CONFIDENCE = 100;
-
- /** The default separator used for multi-line fields */
- protected static final String SEPARATOR = " | "; //$NON-NLS-1$
-
- /** The text file */
- protected BufferedRandomAccessFile fFile;
-
- /**
- * Constructor
- */
- public TextTrace() {
- }
-
- /**
- * {@inheritDoc}
- * <p>
- * The default implementation computes the confidence as the sum of weighted
- * values of the first 100 lines of the file which match any of the provided
- * validation patterns. For each matching line a weighted value between 1.5
- * and 2.0 is assigned based on the group count of the matching patterns.
- * The higher the group count, the closer the weighted value will be to 2.0.
- */
- @Override
- public IStatus validate(IProject project, String path) {
- File file = new File(path);
- if (!file.exists()) {
- return new Status(IStatus.ERROR, Activator.PLUGIN_ID, "File not found: " + path); //$NON-NLS-1$
- }
- if (!file.isFile()) {
- return new Status(IStatus.ERROR, Activator.PLUGIN_ID, "Not a file. It's a directory: " + path); //$NON-NLS-1$
- }
- int confidence = 0;
- try (BufferedRandomAccessFile rafile = new BufferedRandomAccessFile(path, "r")) { //$NON-NLS-1$
- int lineCount = 0;
- double matches = 0.0;
- String line = rafile.getNextLine();
- List<Pattern> validationPatterns = getValidationPatterns();
- while ((line != null) && (lineCount++ < MAX_LINES)) {
- line = preProcessLine(line);
- for(Pattern pattern : validationPatterns) {
- Matcher matcher = pattern.matcher(line);
- if (matcher.matches()) {
- int groupCount = matcher.groupCount();
- matches += (1.0 + groupCount / ((double) groupCount + 1));
- }
- }
- confidence = (int) (MAX_CONFIDENCE * matches / lineCount);
- line = rafile.getNextLine();
- }
- } catch (IOException e) {
- Activator.logError("Error validating file: " + path, e); //$NON-NLS-1$
- return new Status(IStatus.ERROR, Activator.PLUGIN_ID, "IOException validating file: " + path, e); //$NON-NLS-1$
- }
-
- return new TraceValidationStatus(confidence, Activator.PLUGIN_ID);
-
- }
- @Override
- public void initTrace(IResource resource, String path, Class<? extends ITmfEvent> type) throws TmfTraceException {
- super.initTrace(resource, path, type);
- try {
- fFile = new BufferedRandomAccessFile(getPath(), "r"); //$NON-NLS-1$
- } catch (IOException e) {
- throw new TmfTraceException(e.getMessage(), e);
- }
- }
-
- @Override
- public synchronized void dispose() {
- super.dispose();
- if (fFile != null) {
- try {
- fFile.close();
- } catch (IOException e) {
- } finally {
- fFile = null;
- }
- }
- }
-
- @Override
- public synchronized TextTraceContext seekEvent(ITmfLocation location) {
- TextTraceContext context = new TextTraceContext(NULL_LOCATION, ITmfContext.UNKNOWN_RANK);
- if (NULL_LOCATION.equals(location) || fFile == null) {
- return context;
- }
- try {
- if (location == null) {
- fFile.seek(0);
- } else if (location.getLocationInfo() instanceof Long) {
- fFile.seek((Long) location.getLocationInfo());
- }
- long rawPos = fFile.getFilePointer();
- String line = fFile.getNextLine();
- while (line != null) {
- line = preProcessLine(line);
- Matcher matcher = getFirstLinePattern().matcher(line);
- if (matcher.matches()) {
- setupContext(context, rawPos, line, matcher);
- return context;
- }
- rawPos = fFile.getFilePointer();
- line = fFile.getNextLine();
- }
- return context;
- } catch (IOException e) {
- Activator.logError("Error seeking file: " + getPath(), e); //$NON-NLS-1$
- return context;
- }
- }
-
- private void setupContext(TextTraceContext context, long rawPos, String line, Matcher matcher) throws IOException {
- context.setLocation(new TmfLongLocation(rawPos));
- context.firstLineMatcher = matcher;
- context.firstLine = line;
- context.nextLineLocation = fFile.getFilePointer();
- }
-
- @Override
- public synchronized TextTraceContext seekEvent(double ratio) {
- if (fFile == null) {
- return new TextTraceContext(NULL_LOCATION, ITmfContext.UNKNOWN_RANK);
- }
- try {
- long pos = (long) (ratio * fFile.length());
- while (pos > 0) {
- fFile.seek(pos - 1);
- if (fFile.read() == '\n') {
- break;
- }
- pos--;
- }
- ITmfLocation location = new TmfLongLocation(Long.valueOf(pos));
- TextTraceContext context = seekEvent(location);
- context.setRank(ITmfContext.UNKNOWN_RANK);
- return context;
- } catch (IOException e) {
- Activator.logError("Error seeking file: " + getPath(), e); //$NON-NLS-1$
- return new TextTraceContext(NULL_LOCATION, ITmfContext.UNKNOWN_RANK);
- }
- }
-
- @Override
- public double getLocationRatio(ITmfLocation location) {
- if (fFile == null) {
- return 0;
- }
- try {
- long length = fFile.length();
- if (length == 0) {
- return 0;
- }
- if (location.getLocationInfo() instanceof Long) {
- return (double) ((Long) location.getLocationInfo()) / length;
- }
- } catch (IOException e) {
- Activator.logError("Error reading file: " + getPath(), e); //$NON-NLS-1$
- }
- return 0;
- }
-
- @Override
- public ITmfLocation getCurrentLocation() {
- return null;
- }
-
- @Override
- public TextTraceEvent parseEvent(ITmfContext tmfContext) {
- TextTraceContext context = seekEvent(tmfContext.getLocation());
- return parse(context);
- }
-
- @Override
- public synchronized T getNext(ITmfContext context) {
- if (!(context instanceof TextTraceContext)) {
- throw new IllegalArgumentException();
- }
- TextTraceContext savedContext = new TextTraceContext(context.getLocation(), context.getRank());
- T event = parse((TextTraceContext) context);
- if (event != null) {
- updateAttributes(savedContext, event.getTimestamp());
- context.increaseRank();
- }
- return event;
- }
-
- /**
- * Parse the next event. The context is advanced.
- *
- * @param tmfContext
- * the context
- * @return the next event or null
- */
- protected synchronized T parse(TextTraceContext tmfContext) {
- if (fFile == null) {
- return null;
- }
- TextTraceContext context = tmfContext;
- if (context.getLocation() == null || !(context.getLocation().getLocationInfo() instanceof Long) || NULL_LOCATION.equals(context.getLocation())) {
- return null;
- }
-
- T event = parseFirstLine(context.firstLineMatcher, context.firstLine);
-
- try {
- if (fFile.getFilePointer() != context.nextLineLocation) {
- fFile.seek(context.nextLineLocation);
- }
- long rawPos = fFile.getFilePointer();
- String line = fFile.getNextLine();
- while (line != null) {
- line = preProcessLine(line);
- Matcher matcher = getFirstLinePattern().matcher(line);
- if (matcher.matches()) {
- setupContext(context, rawPos, line, matcher);
- return event;
- }
- parseNextLine(event, line);
- rawPos = fFile.getFilePointer();
- line = fFile.getNextLine();
- }
- } catch (IOException e) {
- Activator.logError("Error reading file: " + getPath(), e); //$NON-NLS-1$
- }
-
- context.setLocation(NULL_LOCATION);
- return event;
- }
-
- /**
- * Pre-processes the input line. The default implementation returns the
- * input line.
- *
- * @param line
- * non-null input string
- * @return the pre-processed input line
- * @since 3.2
- */
- @NonNull
- protected String preProcessLine(@NonNull String line) {
- return line;
- }
-
- /**
- * Gets the first line pattern.
- *
- * @return The first line pattern
- */
- protected abstract Pattern getFirstLinePattern();
-
- /**
- * Parses the first line data and returns a new event. When constructing the
- * event, the concrete trace should use the trace's timestamp transform to
- * create the timestamp, by either transforming the parsed time value
- * directly or by using the method {@link #createTimestamp(long)}.
- *
- * @param matcher
- * The matcher
- * @param line
- * The line to parse
- * @return The parsed event
- */
- protected abstract T parseFirstLine(Matcher matcher, String line);
-
- /**
- * Parses the next line data for the current event.
- *
- * @param event
- * The current event being parsed
- * @param line
- * The line to parse
- */
- protected abstract void parseNextLine(T event, String line);
-
- /**
- * Returns a ordered list of validation patterns that will be used in
- * the default {@link #validate(IProject, String)} method to match
- * the first 100 to compute the confidence level
- *
- * @return collection of patterns to validate against
- * @since 3.2
- */
- protected List<Pattern> getValidationPatterns() {
- return Collections.singletonList(getFirstLinePattern());
- }
-
- // ------------------------------------------------------------------------
- // Helper methods
- // ------------------------------------------------------------------------
-
- /**
- * Strip quotes surrounding a string
- *
- * @param input
- * The input string
- * @return The string without quotes
- */
- protected static String replaceQuotes(String input) {
- String out = input.replaceAll("^\"|(\"\\s*)$", ""); //$NON-NLS-1$//$NON-NLS-2$
- return out;
- }
-
- /**
- * Strip brackets surrounding a string
- *
- * @param input
- * The input string
- * @return The string without brackets
- */
- protected static String replaceBrackets(String input) {
- String out = input.replaceAll("^\\{|(\\}\\s*)$", ""); //$NON-NLS-1$//$NON-NLS-2$
- return out;
- }
-
- private static int fCheckpointSize = -1;
-
- @Override
- public synchronized int getCheckpointSize() {
- if (fCheckpointSize == -1) {
- TmfCheckpoint c = new TmfCheckpoint(TmfTimestamp.ZERO, new TmfLongLocation(0L), 0);
- ByteBuffer b = ByteBuffer.allocate(ITmfCheckpoint.MAX_SERIALIZE_SIZE);
- b.clear();
- c.serialize(b);
- fCheckpointSize = b.position();
- }
-
- return fCheckpointSize;
- }
-
- @Override
- protected ITmfTraceIndexer createIndexer(int interval) {
- return new TmfBTreeTraceIndexer(this, interval);
- }
-
- @Override
- public ITmfLocation restoreLocation(ByteBuffer bufferIn) {
- return new TmfLongLocation(bufferIn);
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/trace/text/TextTraceContext.java b/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/trace/text/TextTraceContext.java
deleted file mode 100644
index 2b7a7a7175..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/trace/text/TextTraceContext.java
+++ /dev/null
@@ -1,100 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2012, 2014 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:
- * Patrick Tasse - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.core.trace.text;
-
-import java.util.regex.Matcher;
-
-import org.eclipse.linuxtools.tmf.core.trace.TmfContext;
-import org.eclipse.linuxtools.tmf.core.trace.location.ITmfLocation;
-
-/**
- * Implementation of a TmfContext for text traces.
- *
- * @since 3.0
- */
-public class TextTraceContext extends TmfContext {
-
- /** The Matcher object for the first line. */
- public Matcher firstLineMatcher;
- /** The first line string */
- public String firstLine;
- /** The location of the next line */
- public long nextLineLocation;
-
- /**
- * Constructor
- *
- * @param location
- * Trace location
- * @param rank
- * Event rank
- */
- public TextTraceContext(final ITmfLocation location, final long rank) {
- super(location, rank);
- }
-
- /**
- * Copy Constructor
- *
- * @param other
- * the other TextTraceContext
- */
- public TextTraceContext(TextTraceContext other) {
- this(other.getLocation(), other.getRank());
- firstLine = other.firstLine;
- firstLineMatcher = other.firstLineMatcher;
- nextLineLocation = other.nextLineLocation;
- }
-
- @Override
- public int hashCode() {
- final int prime = 31;
- int result = super.hashCode();
- result = prime * result + ((firstLine == null) ? 0 : firstLine.hashCode());
- result = prime * result + ((firstLineMatcher == null) ? 0 : firstLineMatcher.hashCode());
- result = prime * result + (int) (nextLineLocation ^ (nextLineLocation >>> 32));
- return result;
- }
-
- @Override
- public boolean equals(Object obj) {
- if (this == obj) {
- return true;
- }
- if (!super.equals(obj)) {
- return false;
- }
- if (getClass() != obj.getClass()) {
- return false;
- }
- TextTraceContext other = (TextTraceContext) obj;
- if (firstLine == null) {
- if (other.firstLine != null) {
- return false;
- }
- } else if (!firstLine.equals(other.firstLine)) {
- return false;
- }
- if (firstLineMatcher == null) {
- if (other.firstLineMatcher != null) {
- return false;
- }
- } else if (!firstLineMatcher.equals(other.firstLineMatcher)) {
- return false;
- }
- if (nextLineLocation != other.nextLineLocation) {
- return false;
- }
- return true;
- }
-} \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/trace/text/TextTraceEvent.java b/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/trace/text/TextTraceEvent.java
deleted file mode 100644
index 5853f33923..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/trace/text/TextTraceEvent.java
+++ /dev/null
@@ -1,76 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 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:
- * Alexandre Montplaisir - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.core.trace.text;
-
-import org.eclipse.linuxtools.tmf.core.event.ITmfEventType;
-import org.eclipse.linuxtools.tmf.core.event.TmfEvent;
-import org.eclipse.linuxtools.tmf.core.timestamp.ITmfTimestamp;
-
-/**
- * Class to store the common functionality of text trace events.
- *
- * @author Alexandre Montplaisir
- * @since 3.0
- */
-public abstract class TextTraceEvent extends TmfEvent {
-
- /**
- * Full Constructor.
- *
- * Compared to {@link TmfEvent}'s constructor, 'content' is restricted to a
- * {@link TextTraceEventContent}.
- *
- * @param parentTrace
- * The parent trace
- * @param timestamp
- * The event timestamp
- * @param source
- * The event source
- * @param type
- * The event type
- * @param content
- * The event content (payload)
- * @param reference
- * The event reference
- */
- public TextTraceEvent(TextTrace<? extends TextTraceEvent> parentTrace,
- final ITmfTimestamp timestamp,
- final String source,
- final ITmfEventType type,
- final TextTraceEventContent content,
- final String reference) {
- super(parentTrace, timestamp, source, type, content, reference);
- }
-
- /**
- * Copy constructor
- *
- * @param other
- * The event to copy
- */
- public TextTraceEvent(final TextTraceEvent other) {
- super(other);
- }
-
- @Override
- public TextTrace<? extends TextTraceEvent> getTrace() {
- /* Cast should be safe, type is restricted by the constructor */
- return (TextTrace<?>) super.getTrace();
- }
-
- @Override
- public TextTraceEventContent getContent() {
- /* Cast should be safe, type is restricted by the constructor */
- return (TextTraceEventContent) super.getContent();
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/trace/text/TextTraceEventContent.java b/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/trace/text/TextTraceEventContent.java
deleted file mode 100644
index b239b7b0a1..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/trace/text/TextTraceEventContent.java
+++ /dev/null
@@ -1,312 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2012, 2014 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:
- * Patrick Tasse - Initial API and implementation
- * Bernd Hufmann - Updated equals, clone and hashCode to consider StringBuffer values
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.core.trace.text;
-
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.List;
-
-import org.eclipse.jdt.annotation.NonNull;
-import org.eclipse.jdt.annotation.Nullable;
-import org.eclipse.linuxtools.tmf.core.event.ITmfEventField;
-
-/**
- * Implementation of ITmfEventField for Text Traces.
- *
- * @since 3.0
- */
-public class TextTraceEventContent implements ITmfEventField {
-
- private final @NonNull String fName;
- private final @NonNull List<TextTraceEventContent> fFields;
-
- private @Nullable Object fValue;
-
- // ------------------------------------------------------------------------
- // Constructors
- // ------------------------------------------------------------------------
-
- /**
- * Constructor for a root event content
- *
- * @param fieldNames
- * the array of field names
- */
- public TextTraceEventContent(String[] fieldNames) {
- fName = ITmfEventField.ROOT_FIELD_ID;
- fValue = null;
- fFields = new ArrayList<>(fieldNames.length);
- for (String fieldName : fieldNames) {
- if (fieldName == null) {
- throw new IllegalArgumentException("Null field name not allowed"); //$NON-NLS-1$
- }
- fFields.add(new TextTraceEventContent(fieldName));
- }
- }
-
- /**
- * Constructor for a subfield
- *
- * @param fieldNames
- * the array of field names
- */
- private TextTraceEventContent(@NonNull String fieldName) {
- fName = fieldName;
- fValue = null;
- @SuppressWarnings("null")
- @NonNull List<TextTraceEventContent> fields = Collections.EMPTY_LIST;
- fFields = fields;
- }
-
- // ------------------------------------------------------------------------
- // ITmfEventField
- // ------------------------------------------------------------------------
-
- @Override
- public String getName() {
- return fName;
- }
-
- @Override
- public Object getValue() {
- return fValue;
- }
-
- @Override
- public List<String> getFieldNames() {
- List<String> fieldNames = new ArrayList<>(fFields.size());
- for (TextTraceEventContent field : fFields) {
- fieldNames.add(field.getName());
- }
- return fieldNames;
- }
-
- @Override
- public List<TextTraceEventContent> getFields() {
- return new ArrayList<>(fFields);
- }
-
- @Override
- public ITmfEventField getField(String name) {
- for (TextTraceEventContent field : fFields) {
- if (field.getName().equals(name)) {
- return field;
- }
- }
- return null;
- }
-
- @Override
- public String getFormattedValue() {
- Object value = fValue;
- if (value == null) {
- return null;
- }
- return value.toString();
- }
-
- @Override
- public ITmfEventField getSubField(String... names) {
- // There are no sub fields
- if (names.length == 1) {
- return getField(names[0]);
- }
- return null;
- }
-
- // ------------------------------------------------------------------------
- // Convenience getters and setters
- // ------------------------------------------------------------------------
-
- /**
- * Get a field name by index
- *
- * @param index
- * The index of the field
- * @return The name of the field at that index
- */
- public String getFieldName(int index) {
- if (index >= 0 && index < fFields.size()) {
- return fFields.get(index).getName();
- }
- return null;
- }
-
- /**
- * Get a field by index
- *
- * @param index
- * The index of the field
- * @return The field object at the requested index
- */
- public ITmfEventField getField(int index) {
- if (index >= 0 && index < fFields.size()) {
- return fFields.get(index);
- }
- return null;
- }
-
- /**
- * Get a subfield value by name
- *
- * @param name
- * a subfield name
- * @return field value object
- */
- public Object getFieldValue(String name) {
- for (int i = 0; i < fFields.size(); i++) {
- if (fFields.get(i).getName().equals(name)) {
- return fFields.get(i).getValue();
- }
- }
- return null;
- }
-
- /**
- * Get a subfield value by index
- *
- * @param index
- * a subfield index
- * @return field value object
- */
- public Object getFieldValue(int index) {
- if (index >= 0 && index < fFields.size()) {
- return fFields.get(index).getValue();
- }
- return null;
- }
-
- /**
- * Set the content value
- *
- * @param value
- * the content value
- */
- public void setValue(Object value) {
- fValue = value;
- }
-
- /**
- * Set a subfield value by name
- *
- * @param name
- * a subfield name
- * @param value
- * the subfield value
- */
- public void setFieldValue(String name, Object value) {
- for (int i = 0; i < fFields.size(); i++) {
- if (fFields.get(i).getName().equals(name)) {
- fFields.get(i).fValue = value;
- }
- }
- }
-
- /**
- * Set a subfield value by index
- *
- * @param index
- * a subfield index
- * @param value
- * the subfield value
- */
- public void setFieldValue(int index, Object value) {
- if (index >= 0 && index < fFields.size()) {
- fFields.get(index).fValue = value;
- }
- }
-
- // ------------------------------------------------------------------------
- // Object
- // ------------------------------------------------------------------------
-
- @Override
- public int hashCode() {
- final int prime = 31;
- int result = 1;
- result = prime * result + fFields.hashCode();
- result = prime * result + fName.hashCode();
- int tmpHash = 0; // initialize for fValue equals null;
- Object value = fValue;
- if (value != null) {
- if (value instanceof StringBuffer) {
- tmpHash = value.toString().hashCode();
- } else {
- tmpHash = value.hashCode();
- }
- }
- result = prime * result + tmpHash;
- return result;
- }
-
- @Override
- public boolean equals(Object obj) {
- if (this == obj) {
- return true;
- }
- if (obj == null) {
- return false;
- }
- if (getClass() != obj.getClass()) {
- return false;
- }
- TextTraceEventContent other = (TextTraceEventContent) obj;
- if (!fFields.equals(other.fFields)) {
- return false;
- }
- if (!fName.equals(other.fName)) {
- return false;
- }
-
- Object value = fValue;
- if (value == null) {
- if (other.fValue != null) {
- return false;
- }
- } else {
- if ((value instanceof StringBuffer) && (other.fValue instanceof StringBuffer)) {
- Object otherValue = other.getValue();
- if (otherValue == null) {
- return false;
- }
- if (!value.toString().equals(otherValue.toString())) {
- return false;
- }
- } else if (!value.equals(other.fValue)) {
- return false;
- }
- }
- return true;
- }
-
- @Override
- public String toString() {
- StringBuilder sb = new StringBuilder();
- if (fName == ITmfEventField.ROOT_FIELD_ID) {
- for (int i = 0; i < getFields().size(); i++) {
- ITmfEventField field = getFields().get(i);
- if (i != 0) {
- sb.append(", "); //$NON-NLS-1$
- }
- sb.append(field.toString());
- }
- } else {
- sb.append(fName);
- sb.append('=');
- sb.append(fValue);
- }
- return sb.toString();
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/uml2sd/ITmfAsyncSequenceDiagramEvent.java b/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/uml2sd/ITmfAsyncSequenceDiagramEvent.java
deleted file mode 100644
index 3201560e5e..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/uml2sd/ITmfAsyncSequenceDiagramEvent.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2011, 2013 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:
- * Bernd Hufmann - Initial API and implementation
- **********************************************************************/
-package org.eclipse.linuxtools.tmf.core.uml2sd;
-
-import org.eclipse.linuxtools.tmf.core.timestamp.ITmfTimestamp;
-
-/**
- * <p>
- * Interface for asynchronous sequence diagram events.
- * </p>
- *
- * @version 1.0
- * @author Bernd Hufmann
- */
-public interface ITmfAsyncSequenceDiagramEvent extends ITmfSyncSequenceDiagramEvent {
- /**
- * Returns end timestamp of message (i.e. receive time)
- *
- * @return end timestamp of message (i.e. receive time)
- * @since 2.0
- */
- ITmfTimestamp getEndTime();
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/uml2sd/ITmfSyncSequenceDiagramEvent.java b/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/uml2sd/ITmfSyncSequenceDiagramEvent.java
deleted file mode 100644
index bfcb520d50..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/uml2sd/ITmfSyncSequenceDiagramEvent.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2011, 2013 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:
- * Bernd Hufmann - Initial API and implementation
- **********************************************************************/
-package org.eclipse.linuxtools.tmf.core.uml2sd;
-
-import org.eclipse.linuxtools.tmf.core.timestamp.ITmfTimestamp;
-
-/**
- * <p>
- * Interface for synchronous sequence diagram events.
- * </p>
- *
- * @version 1.0
- * @author Bernd Hufmann
- */
-public interface ITmfSyncSequenceDiagramEvent {
-
- /**
- * Returns Name of message.
- *
- * @return Name of message
- */
- String getName();
-
- /**
- * Returns name of sender of message.
- *
- * @return name of sender of message
- */
- String getSender();
-
- /**
- * Returns Name of receiver of message.
- *
- * @return Name of receiver of message
- */
- String getReceiver();
-
- /**
- * Returns Start time of message (i.e. send time).
- *
- * @return Start timestamp of message (i.e. send time)
- * @since 2.0
- */
- ITmfTimestamp getStartTime();
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/uml2sd/TmfAsyncSequenceDiagramEvent.java b/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/uml2sd/TmfAsyncSequenceDiagramEvent.java
deleted file mode 100644
index ad0e07e8fb..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/uml2sd/TmfAsyncSequenceDiagramEvent.java
+++ /dev/null
@@ -1,67 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2011, 2013 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:
- * Bernd Hufmann - Initial API and implementation
- **********************************************************************/
-package org.eclipse.linuxtools.tmf.core.uml2sd;
-
-import org.eclipse.linuxtools.tmf.core.event.ITmfEvent;
-import org.eclipse.linuxtools.tmf.core.timestamp.ITmfTimestamp;
-
-/**
- * <p>
- * A basic implementation of ITmfAsyncSequenceDiagramEvent.
- * </p>
- *
- * @version 1.0
- * @author Bernd Hufmann
- */
-public class TmfAsyncSequenceDiagramEvent extends TmfSyncSequenceDiagramEvent implements ITmfAsyncSequenceDiagramEvent {
-
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
- /**
- * The end time of the sequence diagram event (i.e. time when signal was received).
- */
- private final ITmfTimestamp fEndTime;
-
- // ------------------------------------------------------------------------
- // Constructors
- // ------------------------------------------------------------------------
- /**
- * Constructor
- *
- * @param startEvent The start event (on sender side).
- * @param endEvent The end event (receiver side).
- * @param sender The name of sender of signal.
- * @param receiver The Name of receiver of signal.
- * @param name - The signal name
- */
- public TmfAsyncSequenceDiagramEvent(ITmfEvent startEvent, ITmfEvent endEvent, String sender, String receiver, String name) {
- super(startEvent, sender, receiver, name);
-
- if (endEvent == null) {
- throw new IllegalArgumentException("TmfAsyncSequenceDiagramEvent constructor: endEvent=null"); //$NON-NLS-1$
- }
- fEndTime = endEvent.getTimestamp();
- }
-
- // ------------------------------------------------------------------------
- // Operations
- // ------------------------------------------------------------------------
-
- /**
- * @since 2.0
- */
- @Override
- public ITmfTimestamp getEndTime() {
- return fEndTime;
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/uml2sd/TmfSyncSequenceDiagramEvent.java b/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/uml2sd/TmfSyncSequenceDiagramEvent.java
deleted file mode 100644
index aff49d792f..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/uml2sd/TmfSyncSequenceDiagramEvent.java
+++ /dev/null
@@ -1,102 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2011, 2013 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:
- * Bernd Hufmann - Initial API and implementation
- **********************************************************************/
-package org.eclipse.linuxtools.tmf.core.uml2sd;
-
-import org.eclipse.linuxtools.tmf.core.event.ITmfEvent;
-import org.eclipse.linuxtools.tmf.core.timestamp.ITmfTimestamp;
-
-/**
- * <p>
- * A basic implementation of ITmfSyncSequenceDiagramEvent.
- * </p>
- *
- * @version 1.0
- * @author Bernd Hufmann
- */
-public class TmfSyncSequenceDiagramEvent implements ITmfSyncSequenceDiagramEvent {
-
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
- /**
- * The start time of the sequence diagram event (i.e. time when signal was sent).
- */
- private final ITmfTimestamp fStartTime;
- /**
- * The name of the sender of the signal.
- */
- private final String fSender;
- /**
- * The name of the receiver of the signal.
- */
- private final String fReceiver;
- /**
- * The name of the signal
- */
- private final String fName;
-
- // ------------------------------------------------------------------------
- // Constructors
- // ------------------------------------------------------------------------
- /**
- * Constructor
- *
- * @param startEvent The start event (on sender side).
- * @param sender The name of sender of signal.
- * @param receiver The Name of receiver of signal.
- * @param name - The signal name
- */
- public TmfSyncSequenceDiagramEvent(ITmfEvent startEvent, String sender, String receiver, String name) {
-
- if ((startEvent == null) || (sender == null) || (receiver == null) || (name == null)) {
- throw new IllegalArgumentException("TmfSyncSequenceDiagramEvent constructor: " + //$NON-NLS-1$
- (startEvent == null ? ", startEvent=null" : "") + //$NON-NLS-1$ //$NON-NLS-2$
- (sender == null ? ", sender=null" : "") + //$NON-NLS-1$ //$NON-NLS-2$
- (receiver == null ? ", receiver=null" : "") + //$NON-NLS-1$ //$NON-NLS-2$
- (name == null ? ", name=null" : "")); //$NON-NLS-1$ //$NON-NLS-2$
- }
-
- fStartTime = startEvent.getTimestamp();
-
- fSender = sender;
- fReceiver = receiver;
-
- fName = name;
- }
-
- // ------------------------------------------------------------------------
- // Operations
- // ------------------------------------------------------------------------
-
- @Override
- public String getSender() {
- return fSender;
- }
-
- @Override
- public String getReceiver() {
- return fReceiver;
- }
-
- @Override
- public String getName() {
- return fName;
- }
-
- /**
- * @since 2.0
- */
- @Override
- public ITmfTimestamp getStartTime() {
- return fStartTime;
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/util/Pair.java b/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/util/Pair.java
deleted file mode 100644
index 6bde87908d..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/util/Pair.java
+++ /dev/null
@@ -1,146 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2012 Ericsson
- *
- * All rights reserved. This program and the accompanying materials are
- * made available under the terms of the Eclipse Public License v1.0 which
- * accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Philippe Sawicki (INF4990.A2010@gmail.com) - Initial API and implementation
- * Mathieu Denis (mathieu.denis55@gmail.com) - Refactored code
- * Bernd Hufmann - Integrated to TMF, fixed hashCode() and equals() methods
- *******************************************************************************/
-package org.eclipse.linuxtools.tmf.core.util;
-
-/**
- * Pair utility class, encapsulates a pair of objects.
- *
- * @param <A>
- * The type of the first object.
- * @param <B>
- * The type of the second object.
- *
- * @author Philippe Sawicki
- * @since 2.0
- */
-public class Pair<A, B> {
-
- /**
- * A reference to the first object.
- */
- protected A fFirst;
- /**
- * A reference to the second object.
- */
- protected B fSecond;
-
- /**
- * Constructor.
- * @param first
- * The pair's first object.
- * @param second
- * The pair's second object.
- */
- public Pair(A first, B second) {
- fFirst = first;
- fSecond = second;
- }
-
- /**
- * Constructor.
- */
- public Pair() {
- this(null, null);
- }
-
- /**
- * Pair hash code.
- */
- @Override
- public int hashCode() {
- final int prime = 31;
- int result = 1;
- result = prime * result + ((fFirst == null) ? 0 : fFirst.hashCode());
- result = prime * result + ((fSecond == null) ? 0 : fSecond.hashCode());
- return result;
- }
-
- /**
- * Object comparison.
- */
- @Override
- public boolean equals(Object obj) {
- if (this == obj) {
- return true;
- }
-
- if (obj == null) {
- return false;
- }
-
- if (getClass() != obj.getClass()) {
- return false;
- }
-
- Pair<?, ?> other = (Pair<?, ?>) obj;
-
- if (fFirst == null) {
- if (other.fFirst != null) {
- return false;
- }
- } else if (!fFirst.equals(other.fFirst)) {
- return false;
- }
- if (fSecond == null) {
- if (other.fSecond != null) {
- return false;
- }
- } else if (!fSecond.equals(other.fSecond)) {
- return false;
- }
- return true;
- }
-
- /**
- * Object to string.
- */
- @Override
- public String toString() {
- return "(" + fFirst + ", " + fSecond + ")"; //$NON-NLS-1$//$NON-NLS-2$ //$NON-NLS-3$
- }
-
- /**
- * Returns a reference to the pair's first object.
- * @return A reference to the pair's first object.
- */
- public A getFirst() {
- return fFirst;
- }
-
- /**
- * Sets the pair's first object.
- * @param first
- * The pair's first object.
- */
- public void setFirst(A first) {
- fFirst = first;
- }
-
- /**
- * Returns a reference to the pair's second object.
- * @return A reference to the pair's second object.
- */
- public B getSecond() {
- return fSecond;
- }
-
- /**
- * Sets the pair's second object.
- * @param second
- * The pair's second object.
- */
- public void setSecond(B second) {
- fSecond = second;
- }
-} \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.tmf.ctf.core.tests/.classpath b/lttng/org.eclipse.linuxtools.tmf.ctf.core.tests/.classpath
deleted file mode 100644
index 11921cabe4..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ctf.core.tests/.classpath
+++ /dev/null
@@ -1,10 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
- <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.7"/>
- <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
- <classpathentry kind="src" path="src"/>
- <classpathentry kind="src" path="perf"/>
- <classpathentry kind="src" path="shared"/>
- <classpathentry kind="src" path="stubs"/>
- <classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/lttng/org.eclipse.linuxtools.tmf.ctf.core.tests/.project b/lttng/org.eclipse.linuxtools.tmf.ctf.core.tests/.project
deleted file mode 100644
index b7c6da5da2..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ctf.core.tests/.project
+++ /dev/null
@@ -1,34 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>org.eclipse.linuxtools.tmf.ctf.core.tests</name>
- <comment></comment>
- <projects>
- </projects>
- <buildSpec>
- <buildCommand>
- <name>org.eclipse.jdt.core.javabuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.ManifestBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.SchemaBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.api.tools.apiAnalysisBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>org.eclipse.pde.PluginNature</nature>
- <nature>org.eclipse.jdt.core.javanature</nature>
- <nature>org.eclipse.pde.api.tools.apiAnalysisNature</nature>
- </natures>
-</projectDescription>
diff --git a/lttng/org.eclipse.linuxtools.tmf.ctf.core.tests/.settings/org.eclipse.core.resources.prefs b/lttng/org.eclipse.linuxtools.tmf.ctf.core.tests/.settings/org.eclipse.core.resources.prefs
deleted file mode 100644
index 99f26c0203..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ctf.core.tests/.settings/org.eclipse.core.resources.prefs
+++ /dev/null
@@ -1,2 +0,0 @@
-eclipse.preferences.version=1
-encoding/<project>=UTF-8
diff --git a/lttng/org.eclipse.linuxtools.tmf.ctf.core.tests/.settings/org.eclipse.core.runtime.prefs b/lttng/org.eclipse.linuxtools.tmf.ctf.core.tests/.settings/org.eclipse.core.runtime.prefs
deleted file mode 100644
index 5a0ad22d2a..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ctf.core.tests/.settings/org.eclipse.core.runtime.prefs
+++ /dev/null
@@ -1,2 +0,0 @@
-eclipse.preferences.version=1
-line.separator=\n
diff --git a/lttng/org.eclipse.linuxtools.tmf.ctf.core.tests/.settings/org.eclipse.jdt.core.prefs b/lttng/org.eclipse.linuxtools.tmf.ctf.core.tests/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index f3fc64575b..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ctf.core.tests/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,393 +0,0 @@
-eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.annotation.inheritNullAnnotations=enabled
-org.eclipse.jdt.core.compiler.annotation.missingNonNullByDefaultAnnotation=ignore
-org.eclipse.jdt.core.compiler.annotation.nonnull=org.eclipse.jdt.annotation.NonNull
-org.eclipse.jdt.core.compiler.annotation.nonnullbydefault=org.eclipse.jdt.annotation.NonNullByDefault
-org.eclipse.jdt.core.compiler.annotation.nullable=org.eclipse.jdt.annotation.Nullable
-org.eclipse.jdt.core.compiler.annotation.nullanalysis=enabled
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.7
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.doc.comment.support=enabled
-org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=error
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
-org.eclipse.jdt.core.compiler.problem.comparingIdentical=error
-org.eclipse.jdt.core.compiler.problem.deadCode=error
-org.eclipse.jdt.core.compiler.problem.deprecation=error
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=enabled
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled
-org.eclipse.jdt.core.compiler.problem.discouragedReference=error
-org.eclipse.jdt.core.compiler.problem.emptyStatement=error
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.problem.explicitlyClosedAutoCloseable=error
-org.eclipse.jdt.core.compiler.problem.fallthroughCase=error
-org.eclipse.jdt.core.compiler.problem.fatalOptionalError=disabled
-org.eclipse.jdt.core.compiler.problem.fieldHiding=error
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=error
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=error
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=error
-org.eclipse.jdt.core.compiler.problem.includeNullInfoFromAsserts=disabled
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=error
-org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=error
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=error
-org.eclipse.jdt.core.compiler.problem.invalidJavadoc=warning
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTags=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=protected
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=error
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=error
-org.eclipse.jdt.core.compiler.problem.missingDefaultCase=error
-org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=error
-org.eclipse.jdt.core.compiler.problem.missingEnumCaseDespiteDefault=enabled
-org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=error
-org.eclipse.jdt.core.compiler.problem.missingJavadocComments=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=protected
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagDescription=all_standard_tags
-org.eclipse.jdt.core.compiler.problem.missingJavadocTags=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsMethodTypeParameters=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=protected
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=error
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotationForInterfaceMethodImplementation=enabled
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=error
-org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=error
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=error
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=error
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=ignore
-org.eclipse.jdt.core.compiler.problem.nonnullParameterAnnotationDropped=warning
-org.eclipse.jdt.core.compiler.problem.nullAnnotationInferenceConflict=warning
-org.eclipse.jdt.core.compiler.problem.nullReference=error
-org.eclipse.jdt.core.compiler.problem.nullSpecViolation=error
-org.eclipse.jdt.core.compiler.problem.nullUncheckedConversion=warning
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=error
-org.eclipse.jdt.core.compiler.problem.parameterAssignment=error
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=error
-org.eclipse.jdt.core.compiler.problem.potentialNullReference=error
-org.eclipse.jdt.core.compiler.problem.potentiallyUnclosedCloseable=warning
-org.eclipse.jdt.core.compiler.problem.rawTypeReference=error
-org.eclipse.jdt.core.compiler.problem.redundantNullAnnotation=warning
-org.eclipse.jdt.core.compiler.problem.redundantNullCheck=error
-org.eclipse.jdt.core.compiler.problem.redundantSpecificationOfTypeArguments=error
-org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=error
-org.eclipse.jdt.core.compiler.problem.reportMethodCanBePotentiallyStatic=ignore
-org.eclipse.jdt.core.compiler.problem.reportMethodCanBeStatic=error
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=error
-org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=disabled
-org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
-org.eclipse.jdt.core.compiler.problem.syntacticNullAnalysisForFields=enabled
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
-org.eclipse.jdt.core.compiler.problem.typeParameterHiding=error
-org.eclipse.jdt.core.compiler.problem.unavoidableGenericTypeProblems=disabled
-org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=error
-org.eclipse.jdt.core.compiler.problem.unclosedCloseable=error
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
-org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=error
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=error
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=error
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=error
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=disabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=disabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=error
-org.eclipse.jdt.core.compiler.problem.unusedLabel=error
-org.eclipse.jdt.core.compiler.problem.unusedLocal=error
-org.eclipse.jdt.core.compiler.problem.unusedObjectAllocation=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=error
-org.eclipse.jdt.core.compiler.problem.unusedTypeParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedWarningToken=error
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=error
-org.eclipse.jdt.core.compiler.source=1.7
-org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_assignment=0
-org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
-org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
-org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
-org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
-org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0
-org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=80
-org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=0
-org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch=16
-org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_after_package=1
-org.eclipse.jdt.core.formatter.blank_lines_before_field=0
-org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
-org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
-org.eclipse.jdt.core.formatter.blank_lines_before_method=1
-org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
-org.eclipse.jdt.core.formatter.blank_lines_before_package=0
-org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
-org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
-org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
-org.eclipse.jdt.core.formatter.comment.format_block_comments=true
-org.eclipse.jdt.core.formatter.comment.format_header=false
-org.eclipse.jdt.core.formatter.comment.format_html=true
-org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=true
-org.eclipse.jdt.core.formatter.comment.format_line_comments=true
-org.eclipse.jdt.core.formatter.comment.format_source_code=true
-org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true
-org.eclipse.jdt.core.formatter.comment.indent_root_tags=true
-org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
-org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=insert
-org.eclipse.jdt.core.formatter.comment.line_length=80
-org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries=true
-org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries=true
-org.eclipse.jdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments=false
-org.eclipse.jdt.core.formatter.compact_else_if=true
-org.eclipse.jdt.core.formatter.continuation_indentation=2
-org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2
-org.eclipse.jdt.core.formatter.disabling_tag=@formatter\:off
-org.eclipse.jdt.core.formatter.enabling_tag=@formatter\:on
-org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
-org.eclipse.jdt.core.formatter.format_line_comment_starting_on_first_column=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
-org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_empty_lines=false
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=false
-org.eclipse.jdt.core.formatter.indentation.size=4
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_label=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_try=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources=insert
-org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_try=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
-org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.join_lines_in_comments=true
-org.eclipse.jdt.core.formatter.join_wrapped_lines=false
-org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.lineSplit=250
-org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
-org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
-org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true
-org.eclipse.jdt.core.formatter.tabulation.char=space
-org.eclipse.jdt.core.formatter.tabulation.size=4
-org.eclipse.jdt.core.formatter.use_on_off_tags=false
-org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
-org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
-org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true
-org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true
diff --git a/lttng/org.eclipse.linuxtools.tmf.ctf.core.tests/.settings/org.eclipse.jdt.ui.prefs b/lttng/org.eclipse.linuxtools.tmf.ctf.core.tests/.settings/org.eclipse.jdt.ui.prefs
deleted file mode 100644
index 4fd0c7006a..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ctf.core.tests/.settings/org.eclipse.jdt.ui.prefs
+++ /dev/null
@@ -1,56 +0,0 @@
-eclipse.preferences.version=1
-editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
-formatter_profile=_tmf-style
-formatter_settings_version=12
-sp_cleanup.add_default_serial_version_id=true
-sp_cleanup.add_generated_serial_version_id=false
-sp_cleanup.add_missing_annotations=false
-sp_cleanup.add_missing_deprecated_annotations=true
-sp_cleanup.add_missing_methods=false
-sp_cleanup.add_missing_nls_tags=false
-sp_cleanup.add_missing_override_annotations=true
-sp_cleanup.add_missing_override_annotations_interface_methods=true
-sp_cleanup.add_serial_version_id=false
-sp_cleanup.always_use_blocks=true
-sp_cleanup.always_use_parentheses_in_expressions=false
-sp_cleanup.always_use_this_for_non_static_field_access=false
-sp_cleanup.always_use_this_for_non_static_method_access=false
-sp_cleanup.convert_to_enhanced_for_loop=false
-sp_cleanup.correct_indentation=false
-sp_cleanup.format_source_code=false
-sp_cleanup.format_source_code_changes_only=false
-sp_cleanup.make_local_variable_final=false
-sp_cleanup.make_parameters_final=false
-sp_cleanup.make_private_fields_final=true
-sp_cleanup.make_type_abstract_if_missing_method=false
-sp_cleanup.make_variable_declarations_final=false
-sp_cleanup.never_use_blocks=false
-sp_cleanup.never_use_parentheses_in_expressions=true
-sp_cleanup.on_save_use_additional_actions=true
-sp_cleanup.organize_imports=false
-sp_cleanup.qualify_static_field_accesses_with_declaring_class=false
-sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_with_declaring_class=false
-sp_cleanup.qualify_static_method_accesses_with_declaring_class=false
-sp_cleanup.remove_private_constructors=true
-sp_cleanup.remove_trailing_whitespaces=true
-sp_cleanup.remove_trailing_whitespaces_all=true
-sp_cleanup.remove_trailing_whitespaces_ignore_empty=false
-sp_cleanup.remove_unnecessary_casts=false
-sp_cleanup.remove_unnecessary_nls_tags=false
-sp_cleanup.remove_unused_imports=false
-sp_cleanup.remove_unused_local_variables=false
-sp_cleanup.remove_unused_private_fields=true
-sp_cleanup.remove_unused_private_members=false
-sp_cleanup.remove_unused_private_methods=true
-sp_cleanup.remove_unused_private_types=true
-sp_cleanup.sort_members=false
-sp_cleanup.sort_members_all=false
-sp_cleanup.use_blocks=true
-sp_cleanup.use_blocks_only_for_return_and_throw=false
-sp_cleanup.use_parentheses_in_expressions=false
-sp_cleanup.use_this_for_non_static_field_access=false
-sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=true
-sp_cleanup.use_this_for_non_static_method_access=false
-sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true
diff --git a/lttng/org.eclipse.linuxtools.tmf.ctf.core.tests/.settings/org.eclipse.pde.api.tools.prefs b/lttng/org.eclipse.linuxtools.tmf.ctf.core.tests/.settings/org.eclipse.pde.api.tools.prefs
deleted file mode 100644
index acc3abd47c..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ctf.core.tests/.settings/org.eclipse.pde.api.tools.prefs
+++ /dev/null
@@ -1,97 +0,0 @@
-ANNOTATION_ELEMENT_TYPE_ADDED_METHOD_WITHOUT_DEFAULT_VALUE=Error
-ANNOTATION_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
-ANNOTATION_ELEMENT_TYPE_REMOVED_FIELD=Error
-ANNOTATION_ELEMENT_TYPE_REMOVED_METHOD=Error
-ANNOTATION_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
-API_COMPONENT_ELEMENT_TYPE_REMOVED_API_TYPE=Error
-API_COMPONENT_ELEMENT_TYPE_REMOVED_REEXPORTED_API_TYPE=Error
-API_COMPONENT_ELEMENT_TYPE_REMOVED_REEXPORTED_TYPE=Error
-API_COMPONENT_ELEMENT_TYPE_REMOVED_TYPE=Error
-API_USE_SCAN_FIELD_SEVERITY=Error
-API_USE_SCAN_METHOD_SEVERITY=Error
-API_USE_SCAN_TYPE_SEVERITY=Error
-CLASS_ELEMENT_TYPE_ADDED_METHOD=Error
-CLASS_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
-CLASS_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
-CLASS_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error
-CLASS_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
-CLASS_ELEMENT_TYPE_CHANGED_NON_ABSTRACT_TO_ABSTRACT=Error
-CLASS_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error
-CLASS_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
-CLASS_ELEMENT_TYPE_REMOVED_CONSTRUCTOR=Error
-CLASS_ELEMENT_TYPE_REMOVED_FIELD=Error
-CLASS_ELEMENT_TYPE_REMOVED_METHOD=Error
-CLASS_ELEMENT_TYPE_REMOVED_SUPERCLASS=Error
-CLASS_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
-CLASS_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
-CONSTRUCTOR_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
-CONSTRUCTOR_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
-CONSTRUCTOR_ELEMENT_TYPE_CHANGED_VARARGS_TO_ARRAY=Error
-CONSTRUCTOR_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
-ENUM_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error
-ENUM_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
-ENUM_ELEMENT_TYPE_REMOVED_ENUM_CONSTANT=Error
-ENUM_ELEMENT_TYPE_REMOVED_FIELD=Error
-ENUM_ELEMENT_TYPE_REMOVED_METHOD=Error
-ENUM_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
-FIELD_ELEMENT_TYPE_ADDED_VALUE=Error
-FIELD_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
-FIELD_ELEMENT_TYPE_CHANGED_FINAL_TO_NON_FINAL_STATIC_CONSTANT=Error
-FIELD_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error
-FIELD_ELEMENT_TYPE_CHANGED_NON_STATIC_TO_STATIC=Error
-FIELD_ELEMENT_TYPE_CHANGED_STATIC_TO_NON_STATIC=Error
-FIELD_ELEMENT_TYPE_CHANGED_TYPE=Error
-FIELD_ELEMENT_TYPE_CHANGED_VALUE=Error
-FIELD_ELEMENT_TYPE_REMOVED_TYPE_ARGUMENT=Error
-FIELD_ELEMENT_TYPE_REMOVED_VALUE=Error
-ILLEGAL_EXTEND=Warning
-ILLEGAL_IMPLEMENT=Warning
-ILLEGAL_INSTANTIATE=Warning
-ILLEGAL_OVERRIDE=Warning
-ILLEGAL_REFERENCE=Warning
-INTERFACE_ELEMENT_TYPE_ADDED_FIELD=Error
-INTERFACE_ELEMENT_TYPE_ADDED_METHOD=Error
-INTERFACE_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
-INTERFACE_ELEMENT_TYPE_ADDED_SUPER_INTERFACE_WITH_METHODS=Error
-INTERFACE_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
-INTERFACE_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error
-INTERFACE_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
-INTERFACE_ELEMENT_TYPE_REMOVED_FIELD=Error
-INTERFACE_ELEMENT_TYPE_REMOVED_METHOD=Error
-INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
-INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
-INVALID_JAVADOC_TAG=Warning
-INVALID_REFERENCE_IN_SYSTEM_LIBRARIES=Warning
-LEAK_EXTEND=Warning
-LEAK_FIELD_DECL=Warning
-LEAK_IMPLEMENT=Warning
-LEAK_METHOD_PARAM=Warning
-LEAK_METHOD_RETURN_TYPE=Warning
-METHOD_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
-METHOD_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
-METHOD_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
-METHOD_ELEMENT_TYPE_CHANGED_NON_ABSTRACT_TO_ABSTRACT=Error
-METHOD_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error
-METHOD_ELEMENT_TYPE_CHANGED_NON_STATIC_TO_STATIC=Error
-METHOD_ELEMENT_TYPE_CHANGED_STATIC_TO_NON_STATIC=Error
-METHOD_ELEMENT_TYPE_CHANGED_VARARGS_TO_ARRAY=Error
-METHOD_ELEMENT_TYPE_REMOVED_ANNOTATION_DEFAULT_VALUE=Error
-METHOD_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
-MISSING_EE_DESCRIPTIONS=Ignore
-TYPE_PARAMETER_ELEMENT_TYPE_ADDED_CLASS_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_ADDED_INTERFACE_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_CHANGED_CLASS_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_CHANGED_INTERFACE_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_CLASS_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error
-UNUSED_PROBLEM_FILTERS=Warning
-automatically_removed_unused_problem_filters=false
-eclipse.preferences.version=1
-incompatible_api_component_version=Error
-incompatible_api_component_version_include_major_without_breaking_change=Disabled
-incompatible_api_component_version_include_minor_without_api_change=Disabled
-invalid_since_tag_version=Error
-malformed_since_tag=Error
-missing_since_tag=Error
-report_api_breakage_when_major_version_incremented=Disabled
-report_resolution_errors_api_component=Warning
diff --git a/lttng/org.eclipse.linuxtools.tmf.ctf.core.tests/.settings/org.eclipse.pde.prefs b/lttng/org.eclipse.linuxtools.tmf.ctf.core.tests/.settings/org.eclipse.pde.prefs
deleted file mode 100644
index 62cfa90dee..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ctf.core.tests/.settings/org.eclipse.pde.prefs
+++ /dev/null
@@ -1,32 +0,0 @@
-compilers.f.unresolved-features=1
-compilers.f.unresolved-plugins=1
-compilers.incompatible-environment=1
-compilers.p.build=1
-compilers.p.build.bin.includes=1
-compilers.p.build.encodings=2
-compilers.p.build.java.compiler=2
-compilers.p.build.java.compliance=1
-compilers.p.build.missing.output=2
-compilers.p.build.output.library=1
-compilers.p.build.source.library=1
-compilers.p.build.src.includes=1
-compilers.p.deprecated=1
-compilers.p.discouraged-class=1
-compilers.p.internal=1
-compilers.p.missing-packages=2
-compilers.p.missing-version-export-package=2
-compilers.p.missing-version-import-package=2
-compilers.p.missing-version-require-bundle=2
-compilers.p.no-required-att=0
-compilers.p.not-externalized-att=2
-compilers.p.unknown-attribute=1
-compilers.p.unknown-class=1
-compilers.p.unknown-element=1
-compilers.p.unknown-identifier=1
-compilers.p.unknown-resource=1
-compilers.p.unresolved-ex-points=0
-compilers.p.unresolved-import=0
-compilers.s.create-docs=false
-compilers.s.doc-folder=doc
-compilers.s.open-tags=1
-eclipse.preferences.version=1
diff --git a/lttng/org.eclipse.linuxtools.tmf.ctf.core.tests/META-INF/MANIFEST.MF b/lttng/org.eclipse.linuxtools.tmf.ctf.core.tests/META-INF/MANIFEST.MF
deleted file mode 100644
index 3dbe6aae8f..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ctf.core.tests/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,28 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %Bundle-Name
-Bundle-Vendor: %Bundle-Vendor
-Bundle-Version: 3.1.0.qualifier
-Bundle-Localization: plugin
-Bundle-SymbolicName: org.eclipse.linuxtools.tmf.ctf.core.tests;singleton:=true
-Bundle-ActivationPolicy: lazy
-Bundle-RequiredExecutionEnvironment: JavaSE-1.7
-Require-Bundle: org.junit;bundle-version="4.0.0",
- org.eclipse.core.runtime,
- org.eclipse.core.resources,
- org.eclipse.linuxtools.tmf.core;bundle-version="3.1.0",
- org.eclipse.linuxtools.tmf.core.tests,
- org.eclipse.linuxtools.tmf.ctf.core,
- org.eclipse.linuxtools.ctf.core,
- org.eclipse.linuxtools.ctf.core.tests
-Export-Package: org.eclipse.linuxtools.tmf.ctf.core.tests,
- org.eclipse.linuxtools.tmf.ctf.core.tests.headless;x-internal:=true,
- org.eclipse.linuxtools.tmf.ctf.core.tests.perf,
- org.eclipse.linuxtools.tmf.ctf.core.tests.perf.experiment;x-internal:=true,
- org.eclipse.linuxtools.tmf.ctf.core.tests.request;x-internal:=true,
- org.eclipse.linuxtools.tmf.ctf.core.tests.shared,
- org.eclipse.linuxtools.tmf.ctf.core.tests.statistics;x-internal:=true,
- org.eclipse.linuxtools.tmf.ctf.core.tests.stubs,
- org.eclipse.linuxtools.tmf.ctf.core.tests.tracemanager;x-internal:=true
-Import-Package: com.google.common.collect,
- org.eclipse.test.performance
diff --git a/lttng/org.eclipse.linuxtools.tmf.ctf.core.tests/about.html b/lttng/org.eclipse.linuxtools.tmf.ctf.core.tests/about.html
deleted file mode 100644
index 28737f60b7..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ctf.core.tests/about.html
+++ /dev/null
@@ -1,28 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
-<title>About</title>
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
-
-<p>June 5, 2006</p>
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;). Unless otherwise
-indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is available
-at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is
-being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content. Check the Redistributor's license that was
-provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at <a href="http://www.eclipse.org/">http://www.eclipse.org</a>.</p>
-
-</body>
-</html> \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.tmf.ctf.core.tests/build.properties b/lttng/org.eclipse.linuxtools.tmf.ctf.core.tests/build.properties
deleted file mode 100644
index 2f7d89bee1..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ctf.core.tests/build.properties
+++ /dev/null
@@ -1,24 +0,0 @@
-###############################################################################
-# Copyright (c) 2013 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:
-# Ericsson - Initial API and implementation
-###############################################################################
-
-source.. = src/,\
- perf/,\
- shared/,\
- stubs
-output.. = bin/
-bin.includes = META-INF/,\
- .,\
- plugin.properties,\
- plugin.xml
-src.includes = about.html
-additional.bundles = org.eclipse.jdt.annotation
-jars.extra.classpath = platform:/plugin/org.eclipse.jdt.annotation
diff --git a/lttng/org.eclipse.linuxtools.tmf.ctf.core.tests/perf/org/eclipse/linuxtools/tmf/ctf/core/tests/perf/AllPerfTests.java b/lttng/org.eclipse.linuxtools.tmf.ctf.core.tests/perf/org/eclipse/linuxtools/tmf/ctf/core/tests/perf/AllPerfTests.java
deleted file mode 100644
index 630b212ea1..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ctf.core.tests/perf/org/eclipse/linuxtools/tmf/ctf/core/tests/perf/AllPerfTests.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 École Polytechnique de Montréal
- *
- * 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:
- * Geneviève Bastien - Initial implementation and API
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.ctf.core.tests.perf;
-
-import org.junit.runner.RunWith;
-import org.junit.runners.Suite;
-
-/**
- * The class <code>AllPerformanceTests</code> builds a suite that can be used to
- * run all of the performance tests within its package as well as within any
- * subpackages of its package.
- *
- * @author Geneviève Bastien
- */
-@RunWith(Suite.class)
-@Suite.SuiteClasses({
- org.eclipse.linuxtools.tmf.ctf.core.tests.perf.experiment.AllPerfTests.class
-})
-public class AllPerfTests {
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ctf.core.tests/perf/org/eclipse/linuxtools/tmf/ctf/core/tests/perf/experiment/AllPerfTests.java b/lttng/org.eclipse.linuxtools.tmf.ctf.core.tests/perf/org/eclipse/linuxtools/tmf/ctf/core/tests/perf/experiment/AllPerfTests.java
deleted file mode 100644
index c7727eadfe..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ctf.core.tests/perf/org/eclipse/linuxtools/tmf/ctf/core/tests/perf/experiment/AllPerfTests.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 École Polytechnique de Montréal
- *
- * 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:
- * Geneviève Bastien - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.ctf.core.tests.perf.experiment;
-
-import org.junit.runner.RunWith;
-import org.junit.runners.Suite;
-
-/**
- * Test suite
- */
-@RunWith(Suite.class)
-@Suite.SuiteClasses({
- ExperimentBenchmark.class
-})
-public class AllPerfTests {
-} \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.tmf.ctf.core.tests/perf/org/eclipse/linuxtools/tmf/ctf/core/tests/perf/experiment/ExperimentBenchmark.java b/lttng/org.eclipse.linuxtools.tmf.ctf.core.tests/perf/org/eclipse/linuxtools/tmf/ctf/core/tests/perf/experiment/ExperimentBenchmark.java
deleted file mode 100644
index 4506e82a93..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ctf.core.tests/perf/org/eclipse/linuxtools/tmf/ctf/core/tests/perf/experiment/ExperimentBenchmark.java
+++ /dev/null
@@ -1,163 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 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:
- * Matthew Khouzam - Initial API and implementation
- * Geneviève Bastien - Convert to JUnit performance test
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.ctf.core.tests.perf.experiment;
-
-import java.io.File;
-import java.util.Arrays;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Set;
-
-import org.eclipse.linuxtools.ctf.core.tests.shared.CtfTestTrace;
-import org.eclipse.linuxtools.tmf.core.event.ITmfEvent;
-import org.eclipse.linuxtools.tmf.core.exceptions.TmfTraceException;
-import org.eclipse.linuxtools.tmf.core.request.ITmfEventRequest;
-import org.eclipse.linuxtools.tmf.core.request.ITmfEventRequest.ExecutionType;
-import org.eclipse.linuxtools.tmf.core.request.TmfEventRequest;
-import org.eclipse.linuxtools.tmf.core.trace.ITmfTrace;
-import org.eclipse.linuxtools.tmf.ctf.core.CtfTmfTrace;
-import org.eclipse.linuxtools.tmf.tests.stubs.trace.TmfExperimentStub;
-import org.eclipse.test.performance.Dimension;
-import org.eclipse.test.performance.Performance;
-import org.eclipse.test.performance.PerformanceMeter;
-import org.junit.Test;
-
-/**
- * Coalescing benchmark
- *
- * @author Matthew Khouzam
- */
-public class ExperimentBenchmark {
-
- private static final String TEST_ID = "org.eclipse.linuxtools#Experiment benchmark#";
- private static final int MAX_TRACES = 160;
- private static final int BLOCK_SIZE = 100;
- private static final String TRACES_ROOT_PATH = CtfTestTrace.TRACE_EXPERIMENT.getPath();
- private static final int SAMPLE_SIZE_SLOW = 20;
- private static final int SAMPLE_SIZE = 100;
-
- private TmfExperimentStub fExperiment;
-
- /**
- * Run the benchmark
- */
- @Test
- public void benchmarkExperimentSizeRequest() {
- Performance perf = Performance.getDefault();
-
- for (int numTraces = 1; numTraces < MAX_TRACES; numTraces = (int) (1.6 * (numTraces + 1))) {
- PerformanceMeter pm = perf.createPerformanceMeter(TEST_ID + numTraces + " traces");
- perf.tagAsSummary(pm, "Experiment Benchmark:" + numTraces + " traces", Dimension.CPU_TIME);
- if ((int) (1.6 * (numTraces + 1)) > MAX_TRACES) {
- perf.tagAsGlobalSummary(pm, "Experiment Benchmark:" + numTraces + " traces", Dimension.CPU_TIME);
- }
-
- int sampleSize = SAMPLE_SIZE;
- if (numTraces > 20) {
- sampleSize = SAMPLE_SIZE_SLOW;
- }
-
- for (int s = 0; s < sampleSize; s++) {
-
- InnerEventRequest expReq = new InnerEventRequest(ITmfEvent.class, 0, ITmfEventRequest.ALL_DATA, ExecutionType.BACKGROUND);
- InnerEventRequest traceReq[] = new InnerEventRequest[numTraces];
-
- init(numTraces);
- fExperiment.sendRequest(expReq);
- ITmfTrace[] traces = fExperiment.getTraces();
- for (int i = 0; i < numTraces; i++) {
- traceReq[i] = new InnerEventRequest(ITmfEvent.class, 0, ITmfEventRequest.ALL_DATA, ExecutionType.BACKGROUND);
- traces[i].sendRequest(traceReq[i]);
- }
-
- pm.start();
- waitForRequest(expReq, traceReq);
- pm.stop();
-
- for (int i = 0; i < traces.length; i++) {
- if (!expReq.isTraceHandled(traces[i])) {
- System.err.println("Trace " + i + " not handled!");
- }
- }
-
- fExperiment.dispose();
- }
- pm.commit();
- }
- }
-
- /**
- * Initialization
- *
- * @param maxTraces
- * maximum number of traces to open
- */
- private void init(int maxTraces) {
- try {
- File parentDir = new File(TRACES_ROOT_PATH);
- File[] traceFiles = parentDir.listFiles();
- ITmfTrace[] traces = new CtfTmfTrace[Math.min(maxTraces, traceFiles.length)];
- for (int i = 0; i < traces.length; i++) {
- traces[i] = new CtfTmfTrace();
- }
- fExperiment = new TmfExperimentStub("MegaExperiment", traces, BLOCK_SIZE);
- int j = 0;
- for (int i = 0; i < (traces.length) && (j < traces.length); i++) {
- String absolutePath = traceFiles[j].getAbsolutePath();
- if (traces[i].validate(null, absolutePath).isOK()) {
- traces[i].initTrace(null, absolutePath, ITmfEvent.class);
- } else {
- i--;
- }
- j++;
- }
- if (traces[traces.length - 1].getPath() == null) {
- throw new TmfTraceException("Insufficient valid traces in directory");
- }
- } catch (TmfTraceException e) {
- System.out.println(e.getMessage());
- }
- }
-
- private static void waitForRequest(InnerEventRequest expReq, InnerEventRequest[] traceReqs) {
- try {
- expReq.waitForCompletion();
- List<InnerEventRequest> reqs = Arrays.asList(traceReqs);
- for (InnerEventRequest traceReq : reqs) {
- traceReq.waitForCompletion();
- }
- } catch (InterruptedException e) {
- }
- }
-
- private static class InnerEventRequest extends TmfEventRequest {
- private Set<String> fTraces = new HashSet<>();
-
- public InnerEventRequest(Class<? extends ITmfEvent> dataType, long index, int nbRequested, ExecutionType priority) {
- super(dataType, index, nbRequested, priority);
- }
-
- @Override
- public void handleData(ITmfEvent event) {
- super.handleData(event);
- if (!fTraces.contains(event.getTrace().getName())) {
- fTraces.add(event.getTrace().getName());
- }
- }
-
- public boolean isTraceHandled(ITmfTrace trace) {
- return fTraces.contains(trace.getName());
- }
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ctf.core.tests/plugin.properties b/lttng/org.eclipse.linuxtools.tmf.ctf.core.tests/plugin.properties
deleted file mode 100644
index bceb689333..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ctf.core.tests/plugin.properties
+++ /dev/null
@@ -1,15 +0,0 @@
-###############################################################################
-# Copyright (c) 2013 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:
-# Ericsson - Initial API and implementation
-###############################################################################
-
-#Properties file for org.eclipse.linuxtools.tmf.ctf.core.tests
-Bundle-Vendor = Eclipse Linux Tools
-Bundle-Name = CTF support for TMF Core Tests Plug-in
diff --git a/lttng/org.eclipse.linuxtools.tmf.ctf.core.tests/plugin.xml b/lttng/org.eclipse.linuxtools.tmf.ctf.core.tests/plugin.xml
deleted file mode 100644
index 5fa1596cf3..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ctf.core.tests/plugin.xml
+++ /dev/null
@@ -1,16 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.4"?>
-<plugin>
- <extension
- point="org.eclipse.linuxtools.tmf.core.tracetype">
- <type
- category="org.eclipse.linuxtools.tmf.core.tests.category"
- event_type="org.eclipse.linuxtools.tmf.ctf.core.CtfTmfEvent"
- id="org.eclipse.linuxtools.tmf.ctf.core.tests.ctf.tracetype"
- isDirectory="true"
- name="CTF Test Trace"
- trace_type="org.eclipse.linuxtools.tmf.ctf.core.tests.stubs.CtfTmfTraceStub">
- </type>
- </extension>
-
-</plugin>
diff --git a/lttng/org.eclipse.linuxtools.tmf.ctf.core.tests/pom.xml b/lttng/org.eclipse.linuxtools.tmf.ctf.core.tests/pom.xml
deleted file mode 100644
index d232a14197..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ctf.core.tests/pom.xml
+++ /dev/null
@@ -1,64 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Copyright (C) 2011, Red Hat, Inc.
-
- 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
--->
-<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
- <modelVersion>4.0.0</modelVersion>
-
- <parent>
- <artifactId>linuxtools-lttng-parent</artifactId>
- <groupId>org.eclipse.linuxtools.lttng</groupId>
- <version>3.2.0-SNAPSHOT</version>
- </parent>
-
- <artifactId>org.eclipse.linuxtools.tmf.ctf.core.tests</artifactId>
- <version>3.1.0-SNAPSHOT</version>
- <packaging>eclipse-test-plugin</packaging>
-
- <name>CTF Support for TMF Core Tests Plug-in</name>
-
- <build>
- <plugins>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-antrun-plugin</artifactId>
- <version>1.7</version>
- <executions>
- <execution>
- <id>prepare</id>
- <phase>validate</phase>
- <configuration>
- <target>
- <echo message="prepare phase" />
- </target>
- </configuration>
- <goals>
- <goal>run</goal>
- </goals>
- </execution>
- </executions>
- </plugin>
- <plugin>
- <groupId>org.eclipse.tycho</groupId>
- <artifactId>tycho-surefire-plugin</artifactId>
- <version>${tycho-version}</version>
- <configuration>
- <includes>
- <include>**/AllTests.*</include>
- </includes>
- <useUIHarness>false</useUIHarness>
- <useUIThread>false</useUIThread>
- <product>org.eclipse.platform.ide</product>
- </configuration>
- </plugin>
- </plugins>
- </build>
-
- <groupId>org.eclipse.linuxtools.tmf</groupId>
-</project>
diff --git a/lttng/org.eclipse.linuxtools.tmf.ctf.core.tests/shared/org/eclipse/linuxtools/tmf/ctf/core/tests/shared/CtfTmfTestTrace.java b/lttng/org.eclipse.linuxtools.tmf.ctf.core.tests/shared/org/eclipse/linuxtools/tmf/ctf/core/tests/shared/CtfTmfTestTrace.java
deleted file mode 100644
index ab57c6b13e..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ctf.core.tests/shared/org/eclipse/linuxtools/tmf/ctf/core/tests/shared/CtfTmfTestTrace.java
+++ /dev/null
@@ -1,123 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 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:
- * Alexandre Montplaisir - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.ctf.core.tests.shared;
-
-import org.eclipse.jdt.annotation.NonNull;
-import org.eclipse.jdt.annotation.NonNullByDefault;
-import org.eclipse.jdt.annotation.Nullable;
-import org.eclipse.linuxtools.ctf.core.tests.shared.CtfTestTrace;
-import org.eclipse.linuxtools.tmf.core.exceptions.TmfTraceException;
-import org.eclipse.linuxtools.tmf.ctf.core.CtfTmfEvent;
-import org.eclipse.linuxtools.tmf.ctf.core.CtfTmfTrace;
-import org.eclipse.linuxtools.tmf.ctf.core.tests.stubs.CtfTmfTraceStub;
-
-/**
- * Available CTF TMF test traces. Kind-of-extends {@link CtfTestTrace}.
- *
- * To run tests using these, you first need to run the "get-traces.[xml|sh]"
- * script located under lttng/org.eclipse.linuxtools.ctf.core.tests/traces/ .
- *
- * @author Alexandre Montplaisir
- */
-@NonNullByDefault
-public enum CtfTmfTestTrace {
- /** Example kernel trace */
- KERNEL,
- /** Another kernel trace */
- TRACE2,
- /** Kernel trace with event contexts */
- KERNEL_VM,
- /** Trace synchronization: source trace */
- SYNC_SRC,
- /** Trace synchronization: destination trace */
- SYNC_DEST,
- /** Trace synchronization (case 2): django client trace */
- DJANGO_CLIENT,
- /** Trace synchronization (case 2): django db trace */
- DJANGO_DB,
- /** Trace synchronization (case 2): django web server trace */
- DJANGO_HTTPD,
- /** UST trace with lots of lost events */
- HELLO_LOST,
- /** UST trace with lttng-ust-cyg-profile events (aka -finstrument-functions) */
- CYG_PROFILE,
- /** UST trace with lttng-ust-cyg-profile-fast events (no address in func_exit) */
- CYG_PROFILE_FAST,
- /** Autogenerated Syntetic trace */
- SYNTHETIC_TRACE,
- /** Trace with non-standard field sizes */
- FUNKY_TRACE;
-
-
- private final String fPath;
- private @Nullable CtfTmfTraceStub fTrace = null;
-
- private CtfTmfTestTrace() {
- @SuppressWarnings("null")
- @NonNull String path = CtfTestTrace.valueOf(this.name()).getPath();
- fPath = path;
- }
-
- /**
- * @return The path of this trace
- */
- public String getPath() {
- return fPath;
- }
-
- /**
- * Return a CtfTmfTraceStub object of this test trace. It will be already
- * initTrace()'ed.
- *
- * Make sure you call {@link #exists()} before calling this!
- *
- * After being used by unit tests, traces must be properly disposed of by
- * calling the {@link CtfTmfTestTrace#dispose()} method.
- *
- * @return A CtfTmfTrace reference to this trace
- */
- public synchronized CtfTmfTrace getTrace() {
- CtfTmfTraceStub trace = fTrace;
- if (trace != null) {
- trace.close();
- }
- trace = new CtfTmfTraceStub();
- try {
- trace.initTrace(null, fPath, CtfTmfEvent.class);
- } catch (TmfTraceException e) {
- /* Should not happen if tracesExist() passed */
- throw new RuntimeException(e);
- }
- fTrace = trace;
- return trace;
- }
-
- /**
- * Check if the trace actually exists on disk or not.
- *
- * @return If the trace is present
- */
- public boolean exists() {
- return CtfTestTrace.valueOf(this.name()).exists();
- }
-
- /**
- * Dispose of the trace
- */
- public void dispose() {
- if (fTrace != null) {
- fTrace.dispose();
- fTrace = null;
- }
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ctf.core.tests/src/org/eclipse/linuxtools/tmf/ctf/core/tests/AllTests.java b/lttng/org.eclipse.linuxtools.tmf.ctf.core.tests/src/org/eclipse/linuxtools/tmf/ctf/core/tests/AllTests.java
deleted file mode 100644
index 3230a87700..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ctf.core.tests/src/org/eclipse/linuxtools/tmf/ctf/core/tests/AllTests.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2012, 2013 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:
- * Matthew Khouzam - Initial generation with CodePro tools
- * Alexandre Montplaisir - Clean up, consolidate redundant tests
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.ctf.core.tests;
-
-import org.junit.runner.RunWith;
-import org.junit.runners.Suite;
-
-/**
- * The class <code>TestAll</code> builds a suite that can be used to run all
- * of the tests within its package as well as within any subpackages of its
- * package.
- *
- * @author ematkho
- */
-@RunWith(Suite.class)
-@Suite.SuiteClasses({
- CtfIteratorTest.class,
- CtfLocationDataTest.class,
- CtfLocationTest.class,
- CtfTmfContextTest.class,
- CtfTmfEventFieldTest.class,
- CtfTmfEventTest.class,
- CtfTmfEventTypeTest.class,
- CtfTmfLostEventsTest.class,
- CtfTmfTimestampTest.class,
- CtfTmfTraceTest.class,
- EventContextTest.class,
- FunkyTraceTest.class,
-
- /* Tests in other packages (that are there because of CTF) */
- org.eclipse.linuxtools.tmf.ctf.core.tests.request.AllTests.class,
- org.eclipse.linuxtools.tmf.ctf.core.tests.statistics.AllTests.class,
- org.eclipse.linuxtools.tmf.ctf.core.tests.tracemanager.AllTests.class
-})
-public class AllTests {
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ctf.core.tests/src/org/eclipse/linuxtools/tmf/ctf/core/tests/CtfIteratorTest.java b/lttng/org.eclipse.linuxtools.tmf.ctf.core.tests/src/org/eclipse/linuxtools/tmf/ctf/core/tests/CtfIteratorTest.java
deleted file mode 100644
index 9100880f68..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ctf.core.tests/src/org/eclipse/linuxtools/tmf/ctf/core/tests/CtfIteratorTest.java
+++ /dev/null
@@ -1,243 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2012, 2013 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:
- * Matthew Khouzam - Initial generation with CodePro tools
- * Alexandre Montplaisir - Clean up, consolidate redundant tests
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.ctf.core.tests;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertTrue;
-import static org.junit.Assume.assumeTrue;
-
-import org.eclipse.linuxtools.ctf.core.trace.CTFReaderException;
-import org.eclipse.linuxtools.tmf.ctf.core.CtfIterator;
-import org.eclipse.linuxtools.tmf.ctf.core.CtfLocation;
-import org.eclipse.linuxtools.tmf.ctf.core.CtfLocationInfo;
-import org.eclipse.linuxtools.tmf.ctf.core.CtfTmfEvent;
-import org.eclipse.linuxtools.tmf.ctf.core.CtfTmfTrace;
-import org.eclipse.linuxtools.tmf.ctf.core.tests.shared.CtfTmfTestTrace;
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Test;
-
-/**
- * The class <code>CtfIteratorTest</code> contains tests for the class
- * <code>{@link CtfIterator}</code>.
- *
- * @author ematkho
- * @version 1.0
- */
-public class CtfIteratorTest {
-
- private static final CtfTmfTestTrace testTrace = CtfTmfTestTrace.KERNEL;
-
- private CtfTmfTrace trace;
- private CtfIterator iterator;
-
- /**
- * Perform pre-test initialization.
- * @throws CTFReaderException error
- */
- @Before
- public void setUp() throws CTFReaderException {
- assumeTrue(testTrace.exists());
- trace = testTrace.getTrace();
- iterator = new CtfIterator(trace);
- CtfLocation ctfLocation = new CtfLocation(new CtfLocationInfo(1, 0));
- iterator.setLocation(ctfLocation);
- iterator.increaseRank();
- }
-
- /**
- * Perform post-test clean-up.
- */
- @After
- public void tearDown() {
- if (trace != null) {
- trace.dispose();
- }
- if (iterator != null) {
- iterator.dispose();
- }
- }
-
- /**
- * Run the CtfIterator(CtfTmfTrace) constructor on a non init'ed trace.
- * @throws CTFReaderException error
- */
- @Test
- public void testCtfIterator_noinit() throws CTFReaderException {
- try (CtfIterator result = new CtfIterator(trace);) {
- assertNotNull(result);
- }
- }
-
- /**
- * Run the CtfIterator(CtfTmfTrace) constructor on an init'ed trace.
- * @throws CTFReaderException error
- */
- @Test
- public void testCtfIterator_init() throws CTFReaderException {
- trace.init("test");
- try (CtfIterator result = new CtfIterator(trace);) {
- assertNotNull(result);
- }
- }
-
- /**
- * Run the CtfIterator(CtfTmfTrace,long,long) constructor test, which
- * specifies an initial position for the iterator.
- * @throws CTFReaderException error
- */
- @Test
- public void testCtfIterator_position() throws CTFReaderException {
- long timestampValue = 1L;
- long rank = 1L;
- try (CtfIterator result = new CtfIterator(trace, new CtfLocationInfo(timestampValue, 0), rank);) {
- assertNotNull(result);
- }
- }
-
-
- /**
- * Run the boolean advance() method test.
- */
- @Test
- public void testAdvance() {
- boolean result = iterator.advance();
- assertTrue(result);
- }
-
- /**
- * Run the int compareTo(CtfIterator) method test.
- * @throws CTFReaderException error
- */
- @Test
- public void testCompareTo() throws CTFReaderException {
- try (CtfIterator o = new CtfIterator(trace);) {
- int result = iterator.compareTo(o);
- assertEquals(1L, result);
- }
- }
-
- /**
- * Run the boolean equals(Object) method test. Compare with another iterator
- * on the same trace.
- * @throws CTFReaderException error
- */
- @Test
- public void testEquals_other() throws CTFReaderException {
- try (CtfIterator obj = new CtfIterator(trace);) {
- CtfLocation ctfLocation1 = new CtfLocation(new CtfLocationInfo(1, 0));
- obj.setLocation(ctfLocation1);
- obj.increaseRank();
-
- boolean result = iterator.equals(obj);
- assertTrue(result);
- }
- }
-
- /**
- * Run the boolean equals(Object) method test. Compare with an empty object.
- */
- @Test
- public void testEquals_empty() {
- Object obj = new Object();
- boolean result = iterator.equals(obj);
-
- assertFalse(result);
- }
-
- /**
- * Run the CtfTmfTrace getCtfTmfTrace() method test.
- */
- @Test
- public void testGetCtfTmfTrace() {
- try (CtfTmfTrace result = iterator.getCtfTmfTrace();) {
- assertNotNull(result);
- }
- }
-
- /**
- * Run the CtfTmfEvent getCurrentEvent() method test.
- */
- @Test
- public void testGetCurrentEvent() {
- CtfTmfEvent result = iterator.getCurrentEvent();
- assertNotNull(result);
- }
-
- /**
- * Run the CtfLocation getLocation() method test.
- */
- @Test
- public void testGetLocation() {
- CtfLocation result = iterator.getLocation();
- assertNotNull(result);
- }
-
- /**
- * Run the long getRank() method test.
- */
- @Test
- public void testGetRank() {
- long result = iterator.getRank();
- assertEquals(1L, result);
- }
-
- /**
- * Run the boolean hasValidRank() method test.
- */
- @Test
- public void testHasValidRank() {
- boolean result = iterator.hasValidRank();
- assertTrue(result);
- }
-
- /**
- * Run the int hashCode() method test.
- */
- @Test
- public void testHashCode() {
- int result = iterator.hashCode();
- int result2 = iterator.hashCode();
- assertEquals(result, result2);
- }
-
- /**
- * Run the void increaseRank() method test.
- */
- @Test
- public void testIncreaseRank() {
- iterator.increaseRank();
- }
-
- /**
- * Run the boolean seek(long) method test.
- */
- @Test
- public void testSeek() {
- long timestamp = 1L;
- boolean result = iterator.seek(timestamp);
- assertTrue(result);
- }
-
- /**
- * Run the void setLocation(ITmfLocation<?>) method test.
- */
- @Test
- public void testSetLocation() {
- CtfLocation location = new CtfLocation(new CtfLocationInfo(1, 0));
- iterator.setLocation(location);
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ctf.core.tests/src/org/eclipse/linuxtools/tmf/ctf/core/tests/CtfLocationDataTest.java b/lttng/org.eclipse.linuxtools.tmf.ctf.core.tests/src/org/eclipse/linuxtools/tmf/ctf/core/tests/CtfLocationDataTest.java
deleted file mode 100644
index 2a963b477a..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ctf.core.tests/src/org/eclipse/linuxtools/tmf/ctf/core/tests/CtfLocationDataTest.java
+++ /dev/null
@@ -1,99 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2012, 2013 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:
- * Alexandre Montplaisir - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.ctf.core.tests;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertTrue;
-
-import org.eclipse.linuxtools.tmf.ctf.core.CtfLocationInfo;
-import org.junit.Before;
-import org.junit.Test;
-
-/**
- * Collection of tests for the {@link CtfLocationInfo}
- *
- * @author alexmont
- */
-public class CtfLocationDataTest {
-
- private CtfLocationInfo fixture;
-
- /**
- * Perform pre-test initialization.
- */
- @Before
- public void setUp() {
- fixture = new CtfLocationInfo(1, 0);
- }
-
- /**
- * Test for the .getTimestamp() and .getIndex() methods
- */
- @Test
- public void testGetters() {
- long timestamp = fixture.getTimestamp();
- long index = fixture.getIndex();
-
- assertEquals(1, timestamp);
- assertEquals(0, index);
- }
-
- /**
- * Test for the .hashCode() method
- */
- @Test
- public void testHashCode() {
- int code = fixture.hashCode();
- assertEquals(962, code);
- }
-
- /**
- * Test for the .equals() method
- */
- @Test
- public void testEquals() {
- CtfLocationInfo same = new CtfLocationInfo(1, 0);
- CtfLocationInfo diff1 = new CtfLocationInfo(100, 0);
- CtfLocationInfo diff2 = new CtfLocationInfo(1, 10);
-
- assertTrue(fixture.equals(same));
- assertFalse(fixture.equals(diff1));
- assertFalse(fixture.equals(diff2));
- }
-
- /**
- * Test for the .compareTo() method
- */
- @Test
- public void testCompareTo() {
- CtfLocationInfo same = new CtfLocationInfo(1, 0);
- CtfLocationInfo smaller = new CtfLocationInfo(0, 0);
- CtfLocationInfo bigger1 = new CtfLocationInfo(1000, 500);
- CtfLocationInfo bigger2 = new CtfLocationInfo(1, 1);
-
- assertEquals(0, same.compareTo(fixture));
- assertEquals(-1, smaller.compareTo(fixture));
- assertEquals(1, bigger1.compareTo(fixture));
- assertEquals(1, bigger2.compareTo(fixture));
- }
-
- /**
- * Test for the .toString() method
- */
- @Test
- public void testToString() {
- String expected = "Element [1/0]";
- assertEquals(expected, fixture.toString());
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ctf.core.tests/src/org/eclipse/linuxtools/tmf/ctf/core/tests/CtfLocationTest.java b/lttng/org.eclipse.linuxtools.tmf.ctf.core.tests/src/org/eclipse/linuxtools/tmf/ctf/core/tests/CtfLocationTest.java
deleted file mode 100644
index dd0a965892..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ctf.core.tests/src/org/eclipse/linuxtools/tmf/ctf/core/tests/CtfLocationTest.java
+++ /dev/null
@@ -1,105 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2012, 2014 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:
- * Matthew Khouzam - Initial generation with CodePro tools
- * Alexandre Montplaisir - Clean up, consolidate redundant tests
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.ctf.core.tests;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-
-import org.eclipse.linuxtools.tmf.core.timestamp.ITmfTimestamp;
-import org.eclipse.linuxtools.tmf.core.timestamp.TmfTimestamp;
-import org.eclipse.linuxtools.tmf.ctf.core.CtfLocation;
-import org.eclipse.linuxtools.tmf.ctf.core.CtfLocationInfo;
-import org.junit.Before;
-import org.junit.Test;
-
-/**
- * The class <code>CtfLocationTest</code> contains tests for the class
- * <code>{@link CtfLocation}</code>.
- *
- * @author ematkho
- * @version 1.0
- */
-public class CtfLocationTest {
-
- private CtfLocation fixture;
-
- /**
- * Perform pre-test initialization.
- */
- @Before
- public void setUp() {
- fixture = new CtfLocation(new CtfLocationInfo(1, 0));
- }
-
- /**
- * Run the CtfLocation(Long) constructor test.
- */
- @Test
- public void testCtfLocation_long() {
- CtfLocationInfo location = new CtfLocationInfo(1, 0);
- CtfLocation result = new CtfLocation(location);
-
- assertNotNull(result);
- assertEquals(1L, result.getLocationInfo().getTimestamp());
- }
-
- /**
- * Run the CtfLocation(ITmfTimestamp) constructor test.
- */
- @Test
- public void testCtfLocation_timestamp() {
- ITmfTimestamp timestamp = new TmfTimestamp();
- CtfLocation result = new CtfLocation(timestamp);
-
- assertNotNull(result);
- assertEquals(0L, result.getLocationInfo().getTimestamp());
- }
-
- /**
- * Run the Long getLocation() method test.
- */
- @Test
- public void testGetLocation() {
- CtfLocationInfo location = fixture.getLocationInfo();
- long result = location.getTimestamp();
- assertEquals(1L, result);
- }
-
- /**
- * Run the void setLocation(Long) method test.
- */
- @Test
- public void testSetLocation() {
- CtfLocationInfo location = new CtfLocationInfo(1337, 7331);
- fixture = new CtfLocation(location);
- }
-
- /**
- * Test the toString() method with a valid location.
- */
- @Test
- public void testToString_valid(){
- CtfLocation fixture2 = new CtfLocation(new CtfLocationInfo(1337, 7331));
- assertEquals("CtfLocation [fLocationInfo=Element [1337/7331]]", fixture2.toString());
- }
-
- /**
- * Test the toString() method with an invalid location.
- */
- @Test
- public void testToString_invalid(){
- CtfLocation fixture2 = new CtfLocation(new CtfLocationInfo(-1, -1));
- assertEquals("CtfLocation [INVALID]", fixture2.toString());
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ctf.core.tests/src/org/eclipse/linuxtools/tmf/ctf/core/tests/CtfTmfContextTest.java b/lttng/org.eclipse.linuxtools.tmf.ctf.core.tests/src/org/eclipse/linuxtools/tmf/ctf/core/tests/CtfTmfContextTest.java
deleted file mode 100644
index 2aa8224264..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ctf.core.tests/src/org/eclipse/linuxtools/tmf/ctf/core/tests/CtfTmfContextTest.java
+++ /dev/null
@@ -1,126 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2012, 2014 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:
- * Matthew Khouzam - Initial implementation
- * Alexandre Montplaisir
- * Patrick Tasse - Updated for removal of context clone
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.ctf.core.tests;
-
-import static org.junit.Assert.assertTrue;
-import static org.junit.Assume.assumeTrue;
-
-import java.util.ArrayList;
-
-import org.eclipse.core.resources.IResource;
-import org.eclipse.linuxtools.tmf.core.exceptions.TmfTraceException;
-import org.eclipse.linuxtools.tmf.ctf.core.CtfTmfContext;
-import org.eclipse.linuxtools.tmf.ctf.core.CtfTmfEvent;
-import org.eclipse.linuxtools.tmf.ctf.core.CtfTmfTrace;
-import org.eclipse.linuxtools.tmf.ctf.core.tests.shared.CtfTmfTestTrace;
-import org.junit.Before;
-import org.junit.Test;
-
-/**
- * Tests for the CtfTmfLightweightContext class
- *
- * @author Matthew Khouzam
- * @version 1.1
- */
-public class CtfTmfContextTest {
-
- private static final CtfTmfTestTrace testTrace = CtfTmfTestTrace.KERNEL;
- private static final long begin = 1332170682440133097L; /* Trace start time */
- private static final long end = 1332170692664579801L; /* Trace end time */
-
- private CtfTmfTrace trace;
-
- private class SeekerThread extends Thread {
- long val;
-
- public void setVal(long val) {
- this.val = val;
- }
- }
-
- /**
- * Pre-test initialization
- *
- * @throws TmfTraceException
- * If the trace couldn't be init'ed, which shouldn't happen.
- */
- @Before
- public void setUp() throws TmfTraceException {
- assumeTrue(testTrace.exists());
- trace = new CtfTmfTrace();
- String path = testTrace.getPath();
- trace.initTrace((IResource) null, path, CtfTmfEvent.class);
- }
-
- /**
- * Index all the events in the test trace.
- */
- @Test
- public void testIndexing() {
- CtfTmfContext context = new CtfTmfContext(trace);
- context.seek(0);
-
- int count = 0;
- while (trace.getNext(context) != null) {
- count++;
- }
- assertTrue(count > 0);
- }
-
- /**
- * Context fuzzer. Use an amount of contexts greater than the size of the
- * iterator cache and have them access the trace in parallel.
- *
- * @throws InterruptedException
- * Would fail the test
- */
- @Test
- public void testTooManyContexts() throws InterruptedException {
- final int lwcCount = 101;
- double increment = (end - begin) / lwcCount;
- final ArrayList<Long> vals = new ArrayList<>();
- final ArrayList<Thread> threads = new ArrayList<>();
- final ArrayList<CtfTmfContext> tooManyContexts = new ArrayList<>();
-
- for (double i = begin; i < end; i += increment) {
- SeekerThread thread = new SeekerThread() {
- @Override
- public void run() {
- CtfTmfContext lwc = new CtfTmfContext(trace);
- lwc.seek(val);
- trace.getNext(lwc);
- synchronized(trace){
- if (lwc.getCurrentEvent() != null) {
- vals.add(lwc.getCurrentEvent().getTimestamp().getValue());
- }
- tooManyContexts.add(lwc);
- }
- }
- };
- thread.setVal((long)i);
- threads.add(thread);
- thread.start();
- }
-
- for (Thread t: threads){
- t.join();
- }
-
- for (long val : vals){
- assertTrue(val >= begin);
- assertTrue(val <= end);
- }
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ctf.core.tests/src/org/eclipse/linuxtools/tmf/ctf/core/tests/CtfTmfEventFieldTest.java b/lttng/org.eclipse.linuxtools.tmf.ctf.core.tests/src/org/eclipse/linuxtools/tmf/ctf/core/tests/CtfTmfEventFieldTest.java
deleted file mode 100644
index fe94569d24..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ctf.core.tests/src/org/eclipse/linuxtools/tmf/ctf/core/tests/CtfTmfEventFieldTest.java
+++ /dev/null
@@ -1,324 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2012, 2013 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:
- * Matthew Khouzam - Initial generation with CodePro tools
- * Alexandre Montplaisir - Clean up, consolidate redundant tests
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.ctf.core.tests;
-
-import static org.junit.Assert.assertArrayEquals;
-import static org.junit.Assert.assertEquals;
-
-import java.io.UnsupportedEncodingException;
-import java.nio.ByteBuffer;
-import java.nio.ByteOrder;
-
-import org.eclipse.jdt.annotation.NonNull;
-import org.eclipse.linuxtools.ctf.core.event.io.BitBuffer;
-import org.eclipse.linuxtools.ctf.core.event.types.EnumDeclaration;
-import org.eclipse.linuxtools.ctf.core.event.types.FloatDeclaration;
-import org.eclipse.linuxtools.ctf.core.event.types.FloatDefinition;
-import org.eclipse.linuxtools.ctf.core.event.types.IDefinition;
-import org.eclipse.linuxtools.ctf.core.event.types.IntegerDeclaration;
-import org.eclipse.linuxtools.ctf.core.event.types.StringDeclaration;
-import org.eclipse.linuxtools.ctf.core.event.types.StructDeclaration;
-import org.eclipse.linuxtools.ctf.core.event.types.StructDefinition;
-import org.eclipse.linuxtools.ctf.core.event.types.VariantDeclaration;
-import org.eclipse.linuxtools.ctf.core.trace.CTFReaderException;
-import org.eclipse.linuxtools.internal.ctf.core.event.types.ArrayDeclaration;
-import org.eclipse.linuxtools.internal.ctf.core.event.types.SequenceDeclaration;
-import org.eclipse.linuxtools.tmf.ctf.core.CtfTmfEventField;
-import org.junit.Before;
-import org.junit.Test;
-
-/**
- * The class <code>CtfTmfEventFieldTest</code> contains tests for the class
- * <code>{@link CtfTmfEventField}</code>.
- *
- * @author Matthew Khouzam
- * @version 1.0
- */
-public class CtfTmfEventFieldTest {
-
- private static final @NonNull String ROOT = "root";
- private static final String SEQ = "seq";
- private static final @NonNull String ARRAY_STR = "array_str";
- private static final @NonNull String ARRAY_FLOAT = "array_float";
- private static final @NonNull String ARRAY_INT = "array_int";
- private static final @NonNull String ARRAY_STRUCT = "array_struct";
- private static final @NonNull String ARRAY_VARIANT = "array_variant";
- private static final @NonNull String ARRAY_ENUM = "array_enum";
- private static final String STR = "str";
- private static final String FLOAT = "float";
- private static final String LEN = "len";
- private static final String INT = "int";
- private static final String NAME = "test";
- private static final String STRUCT = "struct";
- private static final String VARIANT = "variant";
- private static final String ENUM = "enum";
-
- private static final byte TEST_NUMBER = 2;
- private static final String TEST_STRING = "two";
-
- private static final int ARRAY_SIZE = 2;
-
- private StructDefinition fixture;
-
- /**
- * Perform pre-test initialization.
- *
- * @throws UnsupportedEncodingException
- * Thrown when UTF-8 encoding is not available.
- * @throws CTFReaderException
- * error
- */
- @Before
- public void setUp() throws UnsupportedEncodingException, CTFReaderException {
- final byte[] testStringBytes = TEST_STRING.getBytes("UTF-8");
-
- int capacity = 2048;
- ByteBuffer bb = ByteBuffer.allocateDirect(capacity);
-
- StructDeclaration sDec = new StructDeclaration(1l);
- StringDeclaration strDec = new StringDeclaration();
- IntegerDeclaration intDec = IntegerDeclaration.UINT_8_DECL;
- FloatDeclaration flDec = new FloatDeclaration(8, 24,
- ByteOrder.BIG_ENDIAN, 8);
- SequenceDeclaration seqDec = new SequenceDeclaration(LEN, intDec);
- StructDeclaration structDec = new StructDeclaration(8);
- EnumDeclaration enumDec = new EnumDeclaration(intDec);
- VariantDeclaration varDec = new VariantDeclaration();
- ArrayDeclaration arrStrDec = new ArrayDeclaration(ARRAY_SIZE, strDec);
- ArrayDeclaration arrFloatDec = new ArrayDeclaration(ARRAY_SIZE, flDec);
- ArrayDeclaration arrIntDec = new ArrayDeclaration(ARRAY_SIZE, intDec);
- ArrayDeclaration arrStructDec = new ArrayDeclaration(ARRAY_SIZE, structDec);
- ArrayDeclaration arrVariantDec = new ArrayDeclaration(ARRAY_SIZE, varDec);
- ArrayDeclaration arrEnumDec = new ArrayDeclaration(ARRAY_SIZE, enumDec);
-
- sDec.addField(INT, intDec);
- bb.put(TEST_NUMBER);
-
- sDec.addField(ARRAY_INT, arrIntDec);
- for (int i = 0; i < ARRAY_SIZE; ++i) {
- bb.put(TEST_NUMBER);
- }
-
- sDec.addField(LEN, intDec);
- bb.put(TEST_NUMBER);
-
- sDec.addField(FLOAT, flDec);
- bb.putFloat(TEST_NUMBER);
-
- sDec.addField(ARRAY_FLOAT, arrFloatDec);
- for (int i = 0; i < ARRAY_SIZE; ++i) {
- bb.putFloat(TEST_NUMBER);
- }
-
- sDec.addField(STR, strDec);
- bb.put(testStringBytes);
- bb.put((byte) 0);
-
- sDec.addField(ARRAY_STR, arrStrDec);
- for (int i = 0; i < ARRAY_SIZE; ++i) {
- bb.put(testStringBytes);
- bb.put((byte) 0);
- }
-
- sDec.addField(SEQ, seqDec);
- bb.put(TEST_NUMBER);
- bb.put(TEST_NUMBER);
-
- structDec.addField(STR, strDec);
- structDec.addField(INT, intDec);
- sDec.addField(STRUCT, structDec);
- bb.put(testStringBytes);
- bb.put((byte) 0);
- bb.put(TEST_NUMBER);
-
- sDec.addField(ARRAY_STRUCT, arrStructDec);
- for (int i = 0; i < ARRAY_SIZE; ++i) {
- bb.put(testStringBytes);
- bb.put((byte) 0);
- bb.put(TEST_NUMBER);
- }
-
- enumDec.add(0, 1, LEN);
- enumDec.add(2, 3, FLOAT);
- sDec.addField(ENUM, enumDec);
- bb.put(TEST_NUMBER);
-
- sDec.addField(ARRAY_ENUM, arrEnumDec);
- for (int i = 0; i < ARRAY_SIZE; ++i) {
- bb.put(TEST_NUMBER);
- }
-
- varDec.addField(LEN, intDec);
- varDec.addField(FLOAT, flDec);
- varDec.setTag(ENUM);
- sDec.addField(VARIANT, varDec);
- bb.putFloat(TEST_NUMBER);
-
- sDec.addField(ARRAY_VARIANT, arrVariantDec);
- for (int i = 0; i < ARRAY_SIZE; ++i) {
- bb.putFloat(TEST_NUMBER);
- }
-
- fixture = sDec.createDefinition(fixture, ROOT, new BitBuffer(bb));
-
- }
-
- /**
- * Run the CtfTmfEventField parseField(Definition,String) method test.
- */
- @Test
- public void testParseField_float() {
- FloatDefinition fieldDef = (FloatDefinition) fixture.lookupDefinition(FLOAT);
- CtfTmfEventField result = CtfTmfEventField.parseField((IDefinition)fieldDef, "_" + NAME);
- assertEquals("test=2.0", result.toString());
- }
-
- /**
- * Run the CtfTmfEventField parseField(Definition,String) method test for an
- * array of floats field.
- */
- @Test
- public void testParseField_array_float() {
- IDefinition fieldDef = fixture.lookupArrayDefinition(ARRAY_FLOAT);
- CtfTmfEventField result = CtfTmfEventField.parseField(fieldDef, NAME);
- assertEquals("test=[2.0, 2.0]", result.toString());
- }
-
- /**
- * Run the CtfTmfEventField parseField(Definition,String) method test.
- */
- @Test
- public void testParseField_int() {
- IDefinition fieldDef = fixture.lookupDefinition(INT);
- CtfTmfEventField result = CtfTmfEventField.parseField(fieldDef, NAME);
- assertEquals("test=2", result.toString());
- }
-
- /**
- * Run the CtfTmfEventField parseField(Definition,String) method test for an
- * array of integers field.
- */
- @Test
- public void testParseField_array_int() {
- IDefinition fieldDef = fixture.lookupArrayDefinition(ARRAY_INT);
- CtfTmfEventField result = CtfTmfEventField.parseField(fieldDef, NAME);
- assertEquals("test=[2, 2]", result.toString());
- }
-
- /**
- * Run the CtfTmfEventField parseField(Definition,String) method test.
- */
- @Test
- public void testParseField_sequence() {
- IDefinition fieldDef = fixture.lookupDefinition(SEQ);
- CtfTmfEventField result = CtfTmfEventField.parseField(fieldDef, NAME);
- assertEquals("test=[2, 2]", result.toString());
- }
-
- /**
- * Run the CtfTmfEventField parseField(Definition,String) method test.
- */
- @Test
- public void testParseField_sequence_value() {
- IDefinition fieldDef = fixture.lookupDefinition(SEQ);
- CtfTmfEventField result = CtfTmfEventField.parseField(fieldDef, NAME);
- long[] values = (long[]) result.getValue();
- long[] expected = new long[] { 2, 2 };
- assertArrayEquals(expected, values);
- }
-
- /**
- * Run the CtfTmfEventField parseField(Definition,String) method test.
- */
- @Test
- public void testParseField_string() {
- IDefinition fieldDef = fixture.lookupDefinition(STR);
- CtfTmfEventField result = CtfTmfEventField.parseField(fieldDef, NAME);
- assertEquals("test=two", result.toString());
- }
-
- /**
- * Run the CtfTmfEventField parseField(Definition,String) method test for an
- * array of strings field.
- */
- @Test
- public void testParseField_array_string() {
- IDefinition fieldDef = fixture.lookupArrayDefinition(ARRAY_STR);
- CtfTmfEventField result = CtfTmfEventField.parseField(fieldDef, NAME);
- assertEquals("test=[two, two]", result.toString());
- }
-
- /**
- * Run the CtfTmfEventField parseField(Definition,String) method test.
- */
- @Test
- public void testParseField_struct() {
- IDefinition fieldDef = fixture.lookupDefinition(STRUCT);
- CtfTmfEventField result = CtfTmfEventField.parseField(fieldDef, NAME);
- assertEquals("test=[str=two, int=2]", result.toString());
- }
-
- /**
- * Run the CtfTmfEventField parseField(Definition,String) method test for an
- * array of structs field.
- */
- @Test
- public void testParseField_array_struct() {
- IDefinition fieldDef = fixture.lookupArrayDefinition(ARRAY_STRUCT);
- CtfTmfEventField result = CtfTmfEventField.parseField(fieldDef, NAME);
- assertEquals("test=[[str=two, int=2], [str=two, int=2]]", result.toString());
- }
-
- /**
- * Run the CtfTmfEventField parseField(Definition,String) method test.
- */
- @Test
- public void testParseField_enum() {
- IDefinition fieldDef = fixture.lookupDefinition(ENUM);
- CtfTmfEventField result = CtfTmfEventField.parseField(fieldDef, NAME);
- assertEquals("test=float", result.toString());
- }
-
- /**
- * Run the CtfTmfEventField parseField(Definition,String) method test for an
- * array of enums field.
- */
- @Test
- public void testParseField_array_enum() {
- IDefinition fieldDef = fixture.lookupArrayDefinition(ARRAY_ENUM);
- CtfTmfEventField result = CtfTmfEventField.parseField(fieldDef, NAME);
- assertEquals("test=[float, float]", result.toString());
- }
-
- /**
- * Run the CtfTmfEventField parseField(Definition,String) method test.
- */
- @Test
- public void testParseField_variant() {
- IDefinition fieldDef = fixture.lookupDefinition(VARIANT);
- CtfTmfEventField result = CtfTmfEventField.parseField(fieldDef, NAME);
- assertEquals("test=float=2.0", result.toString());
- }
-
- /**
- * Run the CtfTmfEventField parseField(Definition,String) method test for an
- * array of variants field.
- */
- @Test
- public void testParseField_array_variant() {
- IDefinition fieldDef = fixture.lookupArrayDefinition(ARRAY_VARIANT);
- CtfTmfEventField result = CtfTmfEventField.parseField(fieldDef, NAME);
- assertEquals("test=[float=2.0, float=2.0]", result.toString());
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ctf.core.tests/src/org/eclipse/linuxtools/tmf/ctf/core/tests/CtfTmfEventTest.java b/lttng/org.eclipse.linuxtools.tmf.ctf.core.tests/src/org/eclipse/linuxtools/tmf/ctf/core/tests/CtfTmfEventTest.java
deleted file mode 100644
index 2411dd2199..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ctf.core.tests/src/org/eclipse/linuxtools/tmf/ctf/core/tests/CtfTmfEventTest.java
+++ /dev/null
@@ -1,227 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2012, 2014 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:
- * Matthew Khouzam - Initial generation with CodePro tools
- * Alexandre Montplaisir - Clean up, consolidate redundant tests
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.ctf.core.tests;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertNull;
-import static org.junit.Assert.assertSame;
-import static org.junit.Assume.assumeTrue;
-
-import java.util.Collection;
-import java.util.Set;
-
-import org.eclipse.linuxtools.ctf.core.trace.CTFReaderException;
-import org.eclipse.linuxtools.tmf.core.event.ITmfEventField;
-import org.eclipse.linuxtools.tmf.core.event.ITmfEventType;
-import org.eclipse.linuxtools.tmf.core.trace.ITmfContext;
-import org.eclipse.linuxtools.tmf.ctf.core.CtfIterator;
-import org.eclipse.linuxtools.tmf.ctf.core.CtfTmfEvent;
-import org.eclipse.linuxtools.tmf.ctf.core.CtfTmfEventFactory;
-import org.eclipse.linuxtools.tmf.ctf.core.CtfTmfTrace;
-import org.eclipse.linuxtools.tmf.ctf.core.tests.shared.CtfTmfTestTrace;
-import org.junit.Before;
-import org.junit.BeforeClass;
-import org.junit.Test;
-
-/**
- * The class <code>CtfTmfEventTest</code> contains tests for the class
- * <code>{@link CtfTmfEvent}</code>.
- *
- * @author ematkho
- * @version $Revision: 1.0 $
- */
-public class CtfTmfEventTest {
-
- private static final CtfTmfTestTrace testTrace = CtfTmfTestTrace.KERNEL;
-
- private static CtfTmfEvent nullEvent;
- private CtfTmfEvent fixture;
-
- /**
- * Test class initialization
- */
- @BeforeClass
- public static void initialize() {
- nullEvent = CtfTmfEventFactory.getNullEvent();
- }
-
- /**
- * Perform pre-test initialization.
- *
- * @throws CTFReaderException
- * error
- */
- @Before
- public void setUp() throws CTFReaderException {
- assumeTrue(testTrace.exists());
- try (CtfTmfTrace trace = testTrace.getTrace();
- CtfIterator tr = new CtfIterator(trace);) {
- tr.advance();
- fixture = tr.getCurrentEvent();
- }
- }
-
- /**
- * Run the CTFEvent(EventDefinition,StreamInputReader) constructor test.
- */
- @Test
- public void testCTFEvent_read() {
- assertNotNull(fixture);
- }
-
- /**
- * Run the int getCPU() method test.
- */
- @Test
- public void testGetCPU() {
- int result = nullEvent.getCPU();
- assertEquals(-1, result);
- }
-
- /**
- * Run the String getEventName() method test.
- */
- @Test
- public void testGetEventName() {
- String result = nullEvent.getType().getName();
- assertEquals("Empty CTF event", result);
- }
-
- /**
- * Run the ArrayList<String> getFieldNames() method test.
- */
- @Test
- public void testGetFieldNames() {
- Collection<String> result = fixture.getContent().getFieldNames();
- assertNotNull(result);
- }
-
- /**
- * Run the Object getFieldValue(String) method test.
- */
- @Test
- public void testGetFieldValue() {
- String fieldName = "pid";
- ITmfEventField result = fixture.getContent().getField(fieldName);
-
- assertNotNull(result);
- assertNotNull(result.getValue());
- }
-
- /**
- * Run the HashMap<String, CTFEventField> getFields() method test.
- */
- @Test
- public void testGetFields() {
- Collection<? extends ITmfEventField> fields = nullEvent.getContent().getFields();
- assertEquals(0, fields.size());
- }
-
- /**
- * Run the ITmfEventField getSubFieldValue(String[]) method test.
- */
- @Test
- public void testGetSubFieldValue() {
- /* Field exists */
- String[] names = { "pid" };
- assertNotNull(fixture.getContent().getSubField(names));
-
- /* First field exists, not the second */
- String[] names2 = { "pid", "abcd" };
- assertNull(fixture.getContent().getSubField(names2));
-
- /* Both field do not exist */
- String[] names3 = { "pfid", "abcd" };
- assertNull(fixture.getContent().getSubField(names3));
-
- /* TODO Missing case of embedded field, need event for it */
- }
-
- /**
- * Run the long getID() method test.
- */
- @Test
- public void testGetID() {
- long result = nullEvent.getID();
- assertEquals(-1L, result);
- }
-
- /**
- * Run the long getTimestamp() method test.
- */
- @Test
- public void testGetTimestamp() {
- long result = nullEvent.getTimestamp().getValue();
- assertEquals(-1L, result);
- }
-
- /**
- * Test the getters for the reference, source and type.
- */
- @Test
- public void testGetters() {
- long rank = fixture.getRank();
- try (CtfTmfTrace trace = fixture.getTrace();) {
- assertEquals("kernel", trace.getName());
- }
- String reference = fixture.getReference();
- String source = fixture.getSource();
- ITmfEventType type = fixture.getType();
- assertEquals(ITmfContext.UNKNOWN_RANK, rank);
-
- assertEquals("channel0_1", reference);
- assertEquals("1", source);
- assertEquals("lttng_statedump_vm_map", type.toString());
- }
-
- /**
- * Test the custom CTF attributes methods. The test trace doesn't have any,
- * so the list of attributes should be empty.
- */
- @Test
- public void testCustomAttributes() {
- Set<String> attributes = fixture.listCustomAttributes();
- assertEquals(0, attributes.size());
-
- String attrib = fixture.getCustomAttribute("bozo");
- assertNull(attrib);
- }
-
- /**
- * Test the toString() method
- */
- @Test
- public void testToString() {
- String s = fixture.getContent().toString();
- assertEquals("pid=1922, start=0xb73ea000, end=0xb73ec000, flags=0x8000075, inode=917738, pgoff=0", s);
- }
-
- /**
- * Test the {@link CtfTmfEventFactory#getNullEvent()} method, and the
- * nullEvent's values.
- */
- @Test
- public void testNullEvent() {
- CtfTmfEvent nullEvent2 = CtfTmfEventFactory.getNullEvent();
- assertSame(nullEvent2, nullEvent);
- assertNotNull(nullEvent);
- assertEquals(-1, nullEvent.getCPU());
- assertEquals("Empty CTF event", nullEvent.getType().getName());
- assertNull(nullEvent.getReference());
- assertEquals(0, nullEvent.getContent().getFields().size());
- assertEquals(-1L, nullEvent.getID());
- assertEquals(-1L, nullEvent.getTimestamp().getValue());
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ctf.core.tests/src/org/eclipse/linuxtools/tmf/ctf/core/tests/CtfTmfEventTypeTest.java b/lttng/org.eclipse.linuxtools.tmf.ctf.core.tests/src/org/eclipse/linuxtools/tmf/ctf/core/tests/CtfTmfEventTypeTest.java
deleted file mode 100644
index 167bce8f95..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ctf.core.tests/src/org/eclipse/linuxtools/tmf/ctf/core/tests/CtfTmfEventTypeTest.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2012, 2013 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:
- * Matthew Khouzam - Initial generation with CodePro tools
- * Alexandre Montplaisir - Clean up, consolidate redundant tests
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.ctf.core.tests;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-
-import org.eclipse.linuxtools.tmf.core.event.ITmfEventField;
-import org.eclipse.linuxtools.tmf.core.event.TmfEventField;
-import org.eclipse.linuxtools.tmf.ctf.core.CtfTmfEventType;
-import org.eclipse.linuxtools.tmf.tests.stubs.trace.TmfTraceStub;
-import org.junit.Test;
-
-/**
- * The class <code>CtfTmfEventTypeTest</code> contains tests for the class
- * <code>{@link CtfTmfEventType}</code>.
- *
- * @author ematkho
- * @version 1.0
- */
-public class CtfTmfEventTypeTest {
-
- /**
- * Run the CtfTmfEventType(String,String,ITmfEventField) constructor test.
- */
- @Test
- public void testCtfTmfEventType() {
- String eventName = "";
- ITmfEventField content = new TmfEventField("", null, new ITmfEventField[] {});
- CtfTmfEventType result = new CtfTmfEventType(eventName, new TmfTraceStub(), content);
-
- assertNotNull(result);
- assertEquals("", result.toString());
- assertEquals("", result.getName());
- assertEquals("Ctf Event/null", result.getContext());
- }
-
- /**
- * Run the String toString() method test.
- */
- @Test
- public void testToString() {
- ITmfEventField emptyField = new TmfEventField("", null, new ITmfEventField[] {});
- CtfTmfEventType fixture = new CtfTmfEventType("", new TmfTraceStub() , emptyField);
-
- String result = fixture.toString();
-
- assertEquals("", result);
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ctf.core.tests/src/org/eclipse/linuxtools/tmf/ctf/core/tests/CtfTmfLostEventStatisticsTest.java b/lttng/org.eclipse.linuxtools.tmf.ctf.core.tests/src/org/eclipse/linuxtools/tmf/ctf/core/tests/CtfTmfLostEventStatisticsTest.java
deleted file mode 100644
index 069281492d..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ctf.core.tests/src/org/eclipse/linuxtools/tmf/ctf/core/tests/CtfTmfLostEventStatisticsTest.java
+++ /dev/null
@@ -1,167 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2012, 2014 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:
- * Alexandre Montplaisir - Initial API and implementation
- ******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.ctf.core.tests;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertTrue;
-import static org.junit.Assert.fail;
-import static org.junit.Assume.assumeTrue;
-
-import java.util.Map;
-
-import org.eclipse.linuxtools.ctf.core.CTFStrings;
-import org.eclipse.linuxtools.statesystem.core.ITmfStateSystem;
-import org.eclipse.linuxtools.tmf.core.exceptions.TmfAnalysisException;
-import org.eclipse.linuxtools.tmf.core.statistics.ITmfStatistics;
-import org.eclipse.linuxtools.tmf.core.statistics.TmfStateStatistics;
-import org.eclipse.linuxtools.tmf.core.statistics.TmfStatisticsEventTypesModule;
-import org.eclipse.linuxtools.tmf.core.statistics.TmfStatisticsTotalsModule;
-import org.eclipse.linuxtools.tmf.core.trace.ITmfTrace;
-import org.eclipse.linuxtools.tmf.ctf.core.tests.shared.CtfTmfTestTrace;
-import org.junit.After;
-import org.junit.Before;
-import org.junit.BeforeClass;
-import org.junit.Rule;
-import org.junit.Test;
-import org.junit.rules.TestRule;
-import org.junit.rules.Timeout;
-
-/**
- * Unit tests for handling of lost events by the statistics backends.
- *
- * @author Alexandre Montplaisir
- */
-public class CtfTmfLostEventStatisticsTest {
-
- /** Time-out tests after 30 seconds */
- @Rule
- public TestRule globalTimeout= new Timeout(30000);
-
- /**Test trace with lost events */
- private static final CtfTmfTestTrace lostEventsTrace = CtfTmfTestTrace.HELLO_LOST;
-
- private ITmfTrace fTrace;
-
- /** The statistics back-end object for the trace with lost events */
- private ITmfStatistics fStats;
-
- /* The two analysis modules needed for fStats */
- private TmfStatisticsTotalsModule fTotalsMod;
- private TmfStatisticsEventTypesModule fEventTypesMod;
-
- // ------------------------------------------------------------------------
- // Maintenance
- // ------------------------------------------------------------------------
-
- /**
- * Class setup
- */
- @BeforeClass
- public static void setUpClass() {
- assumeTrue(lostEventsTrace.exists());
- }
-
- /**
- * Test setup
- */
- @Before
- public void setUp() {
- fTrace = lostEventsTrace.getTrace();
-
- /* Prepare the two analysis-backed state systems */
- fTotalsMod = new TmfStatisticsTotalsModule();
- fEventTypesMod = new TmfStatisticsEventTypesModule();
- try {
- fTotalsMod.setTrace(fTrace);
- fEventTypesMod.setTrace(fTrace);
- } catch (TmfAnalysisException e) {
- fail();
- }
-
- fTotalsMod.schedule();
- fEventTypesMod.schedule();
- assertTrue(fTotalsMod.waitForCompletion());
- assertTrue(fEventTypesMod.waitForCompletion());
-
- ITmfStateSystem totalsSS = fTotalsMod.getStateSystem();
- ITmfStateSystem eventTypesSS = fEventTypesMod.getStateSystem();
- assertNotNull(totalsSS);
- assertNotNull(eventTypesSS);
-
- fStats = new TmfStateStatistics(totalsSS, eventTypesSS);
- }
-
- /**
- * Test cleanup
- */
- @After
- public void tearDown() {
- fStats.dispose();
- fTotalsMod.close();
- fEventTypesMod.close();
- fTrace.dispose();
- }
-
- // ------------------------------------------------------------------------
- // Test methods
- // ------------------------------------------------------------------------
-
- /*
- * Trace start = 1376592664828559410
- * Trace end = 1376592665108210547
- */
-
- private static final long rangeStart = 1376592664900000000L;
- private static final long rangeEnd = 1376592665000000000L;
-
- /**
- * Test the total number of "real" events. Make sure the lost events aren't
- * counted in the total.
- */
- @Test
- public void testLostEventsTotals() {
- long realEvents = fStats.getEventsTotal();
- assertEquals(32300, realEvents);
- }
-
- /**
- * Test the number of real events in a given range. Lost events shouldn't be
- * counted.
- */
- @Test
- public void testLostEventsTotalInRange() {
- long realEventsInRange = fStats.getEventsInRange(rangeStart, rangeEnd);
- assertEquals(11209L, realEventsInRange);
- }
-
- /**
- * Test the total number of lost events reported in the trace.
- */
- @Test
- public void testLostEventsTypes() {
- Map<String, Long> events = fStats.getEventTypesTotal();
- Long lostEvents = events.get(CTFStrings.LOST_EVENT_NAME);
- assertEquals(Long.valueOf(967700L), lostEvents);
- }
-
- /**
- * Test the number of lost events reported in a given range.
- */
- @Test
- public void testLostEventsTypesInRange() {
- Map<String, Long> eventsInRange = fStats.getEventTypesInRange(rangeStart, rangeEnd);
- long lostEventsInRange = eventsInRange.get(CTFStrings.LOST_EVENT_NAME);
- assertEquals(363494L, lostEventsInRange);
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ctf.core.tests/src/org/eclipse/linuxtools/tmf/ctf/core/tests/CtfTmfLostEventsTest.java b/lttng/org.eclipse.linuxtools.tmf.ctf.core.tests/src/org/eclipse/linuxtools/tmf/ctf/core/tests/CtfTmfLostEventsTest.java
deleted file mode 100644
index 02f3db41af..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ctf.core.tests/src/org/eclipse/linuxtools/tmf/ctf/core/tests/CtfTmfLostEventsTest.java
+++ /dev/null
@@ -1,256 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 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:
- * Alexandre Montplaisir - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.ctf.core.tests;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertTrue;
-import static org.junit.Assume.assumeTrue;
-
-import org.eclipse.linuxtools.tmf.core.event.ITmfEvent;
-import org.eclipse.linuxtools.tmf.core.event.ITmfLostEvent;
-import org.eclipse.linuxtools.tmf.core.request.ITmfEventRequest;
-import org.eclipse.linuxtools.tmf.core.request.TmfEventRequest;
-import org.eclipse.linuxtools.tmf.core.timestamp.ITmfTimestamp;
-import org.eclipse.linuxtools.tmf.core.timestamp.TmfTimeRange;
-import org.eclipse.linuxtools.tmf.core.timestamp.TmfTimestamp;
-import org.eclipse.linuxtools.tmf.ctf.core.CtfTmfEvent;
-import org.eclipse.linuxtools.tmf.ctf.core.CtfTmfTimestamp;
-import org.eclipse.linuxtools.tmf.ctf.core.CtfTmfTrace;
-import org.eclipse.linuxtools.tmf.ctf.core.tests.shared.CtfTmfTestTrace;
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Test;
-
-/**
- * Tests to verify that lost events are handled correctly.
- *
- * Be wary if you are using Babeltrace to cross-check those values. There could
- * be a bug in Babeltrace with regards to lost events. See
- * http://bugs.lttng.org/issues/589
- *
- * It's not 100% sure at this point which implementation is correct, so for now
- * these tests assume the Java implementation is the right one.
- *
- * @author Alexandre Montplaisir
- */
-public class CtfTmfLostEventsTest {
-
- private static final CtfTmfTestTrace testTrace = CtfTmfTestTrace.HELLO_LOST;
-
- private CtfTmfTrace fixture = null;
-
- /**
- * Class setup
- */
- @Before
- public void setUp() {
- assumeTrue(testTrace.exists());
- fixture = testTrace.getTrace();
- fixture.indexTrace(true);
- }
-
- /**
- * Clean-up
- */
- @After
- public void tearDown() {
- if (fixture != null) {
- fixture.dispose();
- }
- }
-
- // ------------------------------------------------------------------------
- // Test methods
- // ------------------------------------------------------------------------
-
- /**
- * Test that the number of events is reported correctly (a range of lost
- * events is counted as one event).
- */
- @Test
- public void testNbEvents() {
- final long expectedReal = 32300;
- final long expectedLost = 562;
-
- EventCountRequest req = new EventCountRequest();
- fixture.sendRequest(req);
- try {
- req.waitForCompletion();
- } catch (InterruptedException e) {
- e.printStackTrace();
- }
-
- assertEquals(expectedReal, req.getReal());
- assertEquals(expectedLost, req.getLost());
- }
-
- /**
- * Test getting the first lost event from the trace.
- */
- @Test
- public void testFirstLostEvent() {
- final long rank = 153;
- final ITmfTimestamp start = new CtfTmfTimestamp(1376592664828848222L);
- final ITmfTimestamp end = new CtfTmfTimestamp(1376592664828848540L);
- final long nbLost = 859;
-
- final CtfTmfEvent ev = getOneEventTime(start);
- /* Make sure seeking by rank yields the same event */
- final CtfTmfEvent ev2 = getOneEventRank(rank);
- assertEquals(ev, ev2);
-
- assertTrue(ev instanceof ITmfLostEvent);
- ITmfLostEvent event = (ITmfLostEvent) ev;
-
- assertEquals(start, event.getTimestamp());
- assertEquals(start, event.getTimeRange().getStartTime());
- assertEquals(end, event.getTimeRange().getEndTime());
- assertEquals(nbLost, event.getNbLostEvents());
- }
-
- /**
- * Test getting the second lost event from the trace.
- */
- @Test
- public void testSecondLostEvent() {
- final long rank = 191;
- final ITmfTimestamp start = new CtfTmfTimestamp(1376592664829402521L);
- final ITmfTimestamp end = new CtfTmfTimestamp(1376592664829403076L);
- final long nbLost = 488;
-
- final CtfTmfEvent ev = getOneEventTime(start);
- /* Make sure seeking by rank yields the same event */
- final CtfTmfEvent ev2 = getOneEventRank(rank);
- assertEquals(ev, ev2);
-
- assertTrue(ev instanceof ITmfLostEvent);
- ITmfLostEvent event = (ITmfLostEvent) ev;
-
- assertEquals(start, event.getTimestamp());
- assertEquals(start, event.getTimeRange().getStartTime());
- assertEquals(end, event.getTimeRange().getEndTime());
- assertEquals(nbLost, event.getNbLostEvents());
- }
-
- /**
- * Test getting one normal event from the trace (lost events should not
- * interfere).
- */
- @Test
- public void testNormalEvent() {
- final long rank = 200;
- final ITmfTimestamp ts = new CtfTmfTimestamp(1376592664829423928L);
-
- final CtfTmfEvent event = getOneEventTime(ts);
- /* Make sure seeking by rank yields the same event */
- final CtfTmfEvent event2 = getOneEventRank(rank);
- assertEquals(event, event2);
-
- assertFalse(event instanceof ITmfLostEvent);
- assertEquals(ts, event.getTimestamp());
- }
-
- // ------------------------------------------------------------------------
- // Event requests
- // ------------------------------------------------------------------------
-
- private CtfTmfEvent getOneEventRank(long rank) {
- OneEventRequestPerRank req = new OneEventRequestPerRank(rank);
- fixture.sendRequest(req);
- try {
- req.waitForCompletion();
- } catch (InterruptedException e) {
- e.printStackTrace();
- }
- return req.getEvent();
- }
-
- private CtfTmfEvent getOneEventTime(ITmfTimestamp ts) {
- OneEventRequestPerTs req = new OneEventRequestPerTs(ts);
- fixture.sendRequest(req);
- try {
- req.waitForCompletion();
- } catch (InterruptedException e) {
- e.printStackTrace();
- }
- return req.getEvent();
- }
-
- private class OneEventRequestPerRank extends TmfEventRequest {
-
- private CtfTmfEvent event = null;
-
- public OneEventRequestPerRank(long rank) {
- super(CtfTmfEvent.class, TmfTimeRange.ETERNITY, rank, 1, ExecutionType.FOREGROUND);
- }
-
- @Override
- public void handleData(ITmfEvent ev) {
- /* Type is checked by the request, cast should be safe */
- event = (CtfTmfEvent) ev;
- }
-
- public CtfTmfEvent getEvent() {
- return event;
- }
- }
-
- private class OneEventRequestPerTs extends TmfEventRequest {
-
- private CtfTmfEvent event = null;
-
- public OneEventRequestPerTs(ITmfTimestamp ts) {
- super(CtfTmfEvent.class,
- new TmfTimeRange(ts, TmfTimestamp.PROJECT_IS_CANNED),
- 0, 1, ExecutionType.FOREGROUND);
- }
-
- @Override
- public void handleData(ITmfEvent ev) {
- event = (CtfTmfEvent) ev;
- }
-
- public CtfTmfEvent getEvent() {
- return event;
- }
- }
-
- private class EventCountRequest extends TmfEventRequest {
-
- private long nbReal = 0;
- private long nbLost = 0;
-
- public EventCountRequest() {
- super(CtfTmfEvent.class, TmfTimeRange.ETERNITY, 0,
- ITmfEventRequest.ALL_DATA, ExecutionType.FOREGROUND);
- }
-
- @Override
- public void handleData(ITmfEvent event) {
- if (event instanceof ITmfLostEvent) {
- nbLost++;
- } else {
- nbReal++;
- }
- }
-
- public long getReal() {
- return nbReal;
- }
-
- public long getLost() {
- return nbLost;
- }
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ctf.core.tests/src/org/eclipse/linuxtools/tmf/ctf/core/tests/CtfTmfTimestampTest.java b/lttng/org.eclipse.linuxtools.tmf.ctf.core.tests/src/org/eclipse/linuxtools/tmf/ctf/core/tests/CtfTmfTimestampTest.java
deleted file mode 100644
index b16bccc5f7..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ctf.core.tests/src/org/eclipse/linuxtools/tmf/ctf/core/tests/CtfTmfTimestampTest.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2012, 2013 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:
- * Matthew Khouzam - Initial generation with CodePro tools
- * Alexandre Montplaisir - Clean up, consolidate redundant tests
- * Patrick Tasse - Fix for local time zone
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.ctf.core.tests;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-
-import java.text.DateFormat;
-import java.text.SimpleDateFormat;
-import java.util.Date;
-
-import org.eclipse.linuxtools.tmf.ctf.core.CtfTmfTimestamp;
-import org.junit.Test;
-
-/**
- * The class <code>CtfTmfTimestampTest</code> contains tests for the class
- * <code>{@link CtfTmfTimestamp}</code>.
- *
- * @author ematkho
- * @version 1.0
- */
-public class CtfTmfTimestampTest {
-
- /**
- * Run the CtfTmfTimestamp(long) constructor test.
- */
- @Test
- public void testCtfTmfTimestamp() {
- long timestamp = 1L;
- DateFormat df = new SimpleDateFormat("HH:mm:ss.SSS");
- Date d = new Date(timestamp / 1000000);
-
- CtfTmfTimestamp result = new CtfTmfTimestamp(timestamp);
-
- assertNotNull(result);
- assertEquals(df.format(d) + " 000 001", result.toString());
- assertEquals(0, result.getPrecision());
- assertEquals(-9, result.getScale());
- assertEquals(1L, result.getValue());
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ctf.core.tests/src/org/eclipse/linuxtools/tmf/ctf/core/tests/CtfTmfTraceTest.java b/lttng/org.eclipse.linuxtools.tmf.ctf.core.tests/src/org/eclipse/linuxtools/tmf/ctf/core/tests/CtfTmfTraceTest.java
deleted file mode 100644
index 795fd6ecd2..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ctf.core.tests/src/org/eclipse/linuxtools/tmf/ctf/core/tests/CtfTmfTraceTest.java
+++ /dev/null
@@ -1,393 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2012, 2014 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:
- * Matthew Khouzam - Initial generation with CodePro tools
- * Alexandre Montplaisir - Clean up, consolidate redundant tests
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.ctf.core.tests;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertNull;
-import static org.junit.Assert.assertTrue;
-import static org.junit.Assume.assumeTrue;
-
-import java.util.Arrays;
-import java.util.HashSet;
-import java.util.Set;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.linuxtools.tmf.core.event.ITmfEventType;
-import org.eclipse.linuxtools.tmf.core.exceptions.TmfTraceException;
-import org.eclipse.linuxtools.tmf.core.signal.TmfEndSynchSignal;
-import org.eclipse.linuxtools.tmf.core.signal.TmfSignal;
-import org.eclipse.linuxtools.tmf.core.timestamp.ITmfTimestamp;
-import org.eclipse.linuxtools.tmf.core.timestamp.TmfTimeRange;
-import org.eclipse.linuxtools.tmf.core.timestamp.TmfTimestamp;
-import org.eclipse.linuxtools.tmf.core.trace.ITmfContext;
-import org.eclipse.linuxtools.tmf.core.trace.TmfEventTypeCollectionHelper;
-import org.eclipse.linuxtools.tmf.ctf.core.CtfLocation;
-import org.eclipse.linuxtools.tmf.ctf.core.CtfLocationInfo;
-import org.eclipse.linuxtools.tmf.ctf.core.CtfTmfEvent;
-import org.eclipse.linuxtools.tmf.ctf.core.CtfTmfTimestamp;
-import org.eclipse.linuxtools.tmf.ctf.core.CtfTmfTrace;
-import org.eclipse.linuxtools.tmf.ctf.core.tests.shared.CtfTmfTestTrace;
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Test;
-
-/**
- * The class <code>CtfTmfTraceTest</code> contains tests for the class
- * <code>{@link CtfTmfTrace}</code>.
- *
- * @author ematkho
- * @version 1.0
- */
-public class CtfTmfTraceTest {
-
- private static final CtfTmfTestTrace testTrace = CtfTmfTestTrace.KERNEL;
-
- private CtfTmfTrace fixture;
-
- /**
- * Perform pre-test initialization.
- *
- * @throws TmfTraceException
- * If the test trace is not found
- */
- @Before
- public void setUp() throws TmfTraceException {
- assumeTrue(testTrace.exists());
- fixture = new CtfTmfTrace();
- fixture.initTrace((IResource) null, testTrace.getPath(), CtfTmfEvent.class);
- }
-
- /**
- * Perform post-test clean-up.
- */
- @After
- public void tearDown() {
- if (fixture != null) {
- fixture.dispose();
- }
- }
-
- /**
- * Run the CtfTmfTrace() constructor test.
- */
- @Test
- public void testCtfTmfTrace() {
- try (CtfTmfTrace result = new CtfTmfTrace();) {
- assertNotNull(result);
- assertEquals(1000, result.getCacheSize());
- assertEquals(0L, result.getNbEvents());
- assertEquals(0L, result.getStreamingInterval());
- assertNull(result.getResource());
- assertNull(result.getType());
- }
- }
-
- /**
- * Test the parseEvent() method
- */
- @Test
- public void testParseEvent() {
- ITmfContext ctx = fixture.seekEvent(0);
- fixture.getNext(ctx);
- CtfTmfEvent event = fixture.parseEvent(ctx);
- assertNotNull(event);
- }
-
- /**
- * Run the void broadcast(TmfSignal) method test.
- */
- @Test
- public void testBroadcast() {
- TmfSignal signal = new TmfEndSynchSignal(1);
- fixture.broadcast(signal);
- }
-
- /**
- * Run the void dispose() method test.
- */
- @Test
- public void testClose() {
- try (CtfTmfTrace emptyFixture = new CtfTmfTrace();) {
- }
- }
-
- /**
- * Run the int getCacheSize() method test.
- */
- @Test
- public void testGetCacheSize() {
- try (CtfTmfTrace emptyFixture = new CtfTmfTrace();) {
- int result = emptyFixture.getCacheSize();
- assertEquals(1000, result);
- }
- }
-
- /**
- * Run the ITmfLocation<Comparable> getCurrentLocation() method test.
- */
- @Test
- public void testGetCurrentLocation() {
- CtfLocation result = (CtfLocation) fixture.getCurrentLocation();
- assertNull(result);
- }
-
- /**
- * Test the seekEvent() method with a null location.
- */
- @Test
- public void testSeekEventLoc_null() {
- CtfLocation loc = null;
- fixture.seekEvent(loc);
- assertNotNull(fixture);
- }
-
- /**
- * Test the seekEvent() method with a location from a timestamp.
- */
- @Test
- public void testSeekEventLoc_timetamp() {
- CtfLocation loc = new CtfLocation(new CtfTmfTimestamp(0L));
- fixture.seekEvent(loc);
- assertNotNull(fixture);
- }
-
- /**
- * Run the ITmfTimestamp getEndTime() method test.
- */
- @Test
- public void testGetEndTime() {
- ITmfTimestamp result = fixture.getEndTime();
- assertNotNull(result);
- }
-
- /**
- * Run the String getEnvironment method test.
- */
- @Test
- public void testGetEnvValue() {
- String key = "tracer_name";
- String result = fixture.getTraceProperties().get(key);
- assertEquals("\"lttng-modules\"", result);
- }
-
- /**
- * Test the {@link CtfTmfTrace#getEventType()} method.
- */
- @Test
- public void testGetEventType() {
- Class<?> result = fixture.getEventType();
- assertNotNull(result);
- assertEquals(CtfTmfEvent.class, result);
- }
-
- /**
- * Run the Class<CtfTmfEvent> getContainedEventTypes() method test.
- */
- @Test
- public void testGetContainedEventTypes() {
- Set<ITmfEventType> result = fixture.getContainedEventTypes();
- assertNotNull(result);
- assertFalse(result.isEmpty());
- }
-
- /**
- * Run the double getLocationRatio(ITmfLocation<?>) method test.
- */
- @Test
- public void testGetLocationRatio() {
- final CtfLocationInfo location2 = new CtfLocationInfo(1, 0);
- CtfLocation location = new CtfLocation(location2);
- double result = fixture.getLocationRatio(location);
-
- assertEquals(Double.NEGATIVE_INFINITY, result, 0.1);
- }
-
- /**
- * Run the String getName() method test.
- */
- @Test
- public void testGetName() {
- String result = fixture.getName();
- assertNotNull(result);
- }
-
- /**
- * Run the getTraceProperties() method test.
- */
- @Test
- public void testGetTraceProperties() {
- int result = fixture.getTraceProperties().size();
- assertEquals(9, result);
- }
-
- /**
- * Run the long getNbEvents() method test.
- */
- @Test
- public void testGetNbEvents() {
- long result = fixture.getNbEvents();
- assertEquals(1L, result);
- }
-
- /**
- * Run the CtfTmfEvent getNext(ITmfContext) method test.
- */
- @Test
- public void testGetNext() {
- ITmfContext context = fixture.seekEvent(0);
- CtfTmfEvent result = fixture.getNext(context);
- assertNotNull(result);
- }
-
- /**
- * Run the String getPath() method test.
- */
- @Test
- public void testGetPath() {
- String result = fixture.getPath();
- assertNotNull(result);
- }
-
- /**
- * Run the IResource getResource() method test.
- */
- @Test
- public void testGetResource() {
- IResource result = fixture.getResource();
- assertNull(result);
- }
-
- /**
- * Run the ITmfTimestamp getStartTime() method test.
- */
- @Test
- public void testGetStartTime() {
- ITmfTimestamp result = fixture.getStartTime();
- assertNotNull(result);
- }
-
- /**
- * Run the long getStreamingInterval() method test.
- */
- @Test
- public void testGetStreamingInterval() {
- long result = fixture.getStreamingInterval();
- assertEquals(0L, result);
- }
-
- /**
- * Run the TmfTimeRange getTimeRange() method test.
- */
- @Test
- public void testGetTimeRange() {
- TmfTimeRange result = fixture.getTimeRange();
- assertNotNull(result);
- }
-
- /**
- * Run the CtfTmfEvent readNextEvent(ITmfContext) method test.
- */
- @Test
- public void testReadNextEvent() {
- ITmfContext context = fixture.seekEvent(0);
- CtfTmfEvent result = fixture.getNext(context);
- assertNotNull(result);
- }
-
- /**
- * Run the ITmfContext seekEvent(double) method test.
- */
- @Test
- public void testSeekEvent_ratio() {
- double ratio = 0.99;
- ITmfContext result = fixture.seekEvent(ratio);
- assertNotNull(result);
- }
-
- /**
- * Run the ITmfContext seekEvent(long) method test.
- */
- @Test
- public void testSeekEvent_rank() {
- long rank = 1L;
- ITmfContext result = fixture.seekEvent(rank);
- assertNotNull(result);
- }
-
- /**
- * Run the ITmfContext seekEvent(ITmfTimestamp) method test.
- */
- @Test
- public void testSeekEvent_timestamp() {
- ITmfTimestamp timestamp = new TmfTimestamp();
- ITmfContext result = fixture.seekEvent(timestamp);
- assertNotNull(result);
- }
-
- /**
- * Run the ITmfContext seekEvent(ITmfLocation<?>) method test.
- */
- @Test
- public void testSeekEvent_location() {
- final CtfLocationInfo location2 = new CtfLocationInfo(1L, 0L);
- CtfLocation ctfLocation = new CtfLocation(location2);
- ITmfContext result = fixture.seekEvent(ctfLocation);
- assertNotNull(result);
- }
-
- /**
- * Run the boolean validate(IProject,String) method test.
- */
- @Test
- public void testValidate() {
- IProject project = null;
- IStatus result = fixture.validate(project, testTrace.getPath());
- assertTrue(result.isOK());
- }
-
- /**
- * Run the boolean hasEvent(final String) method test
- */
- @Test
- public void testEventLookup() {
- Set<ITmfEventType> eventTypes = fixture.getContainedEventTypes();
- Set<String> eventNames = TmfEventTypeCollectionHelper.getEventNames(eventTypes);
- assertTrue(eventNames.contains("sched_switch"));
- assertFalse(eventNames.contains("Sched_switch"));
- String[] events = { "sched_switch", "sched_wakeup", "timer_init" };
- assertTrue(eventNames.containsAll(Arrays.asList(events)));
- Set<String> copy = new HashSet<>(eventNames);
- copy.retainAll(Arrays.asList(events));
- assertFalse(copy.isEmpty());
- String[] names = { "inexistent", "sched_switch", "SomeThing" };
- copy = new HashSet<>(eventNames);
- copy.retainAll(Arrays.asList(names));
- assertTrue(!copy.isEmpty());
- assertFalse(eventNames.containsAll(Arrays.asList(names)));
- }
-
- /**
- * Run the String getHostId() method test
- */
- @Test
- public void testCtfHostId() {
- String a = fixture.getHostId();
- assertEquals("\"84db105b-b3f4-4821-b662-efc51455106a\"", a);
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ctf.core.tests/src/org/eclipse/linuxtools/tmf/ctf/core/tests/EventContextTest.java b/lttng/org.eclipse.linuxtools.tmf.ctf.core.tests/src/org/eclipse/linuxtools/tmf/ctf/core/tests/EventContextTest.java
deleted file mode 100644
index 0cfdb8f953..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ctf.core.tests/src/org/eclipse/linuxtools/tmf/ctf/core/tests/EventContextTest.java
+++ /dev/null
@@ -1,241 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 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:
- * Alexandre Montplaisir - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.ctf.core.tests;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assume.assumeTrue;
-
-import org.eclipse.core.resources.IResource;
-import org.eclipse.linuxtools.tmf.core.event.ITmfEvent;
-import org.eclipse.linuxtools.tmf.core.exceptions.TmfTraceException;
-import org.eclipse.linuxtools.tmf.core.request.TmfEventRequest;
-import org.eclipse.linuxtools.tmf.core.timestamp.ITmfTimestamp;
-import org.eclipse.linuxtools.tmf.core.timestamp.TmfTimeRange;
-import org.eclipse.linuxtools.tmf.core.timestamp.TmfTimestamp;
-import org.eclipse.linuxtools.tmf.ctf.core.CtfTmfEvent;
-import org.eclipse.linuxtools.tmf.ctf.core.CtfTmfTimestamp;
-import org.eclipse.linuxtools.tmf.ctf.core.CtfTmfTrace;
-import org.eclipse.linuxtools.tmf.ctf.core.tests.shared.CtfTmfTestTrace;
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Test;
-
-/**
- * Tests for reading event contexts from a CtfTmfTrace.
- *
- * @author Alexandre Montplaisir
- */
-public class EventContextTest {
-
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
-
- /* We use test trace #2, kernel_vm, which has event contexts */
- private static final CtfTmfTestTrace testTrace = CtfTmfTestTrace.KERNEL_VM;
-
- private CtfTmfTrace fixture;
- private long startTime;
- private long endTime;
-
- // ------------------------------------------------------------------------
- // Class methods
- // ------------------------------------------------------------------------
-
- /**
- * Perform pre-class initialization.
- *
- * @throws TmfTraceException
- * If the test trace is not found
- */
- @Before
- public void setUp() throws TmfTraceException {
- assumeTrue(testTrace.exists());
- fixture = new CtfTmfTrace();
- fixture.initTrace((IResource) null, testTrace.getPath(), CtfTmfEvent.class);
- fixture.indexTrace(true);
-
- startTime = fixture.getStartTime().normalize(0, ITmfTimestamp.NANOSECOND_SCALE).getValue();
- endTime = fixture.getEndTime().normalize(0, ITmfTimestamp.NANOSECOND_SCALE).getValue();
- }
-
- /**
- * Perform post-class clean-up.
- */
- @After
- public void tearDown() {
- if (fixture != null) {
- fixture.dispose();
- }
- }
-
- // ------------------------------------------------------------------------
- // Test methods
- // ------------------------------------------------------------------------
-
- /**
- * Make sure the trace is the correct one, and its timestamps are read
- * correctly.
- */
- @Test
- public void testTrace() {
- assertEquals(1363700740555978750L, startTime);
- assertEquals(1363700770550261288L, endTime);
- }
-
- /**
- * Test the context of the very first event of the trace.
- */
- @Test
- public void testContextStart() {
- CtfTmfEvent firstEvent = getEventAt(startTime);
- long perfPageFault = (Long) firstEvent.getContent().getField("context._perf_page_fault").getValue();
- String procname = (String) firstEvent.getContent().getField("context._procname").getValue();
- long tid = (Long) firstEvent.getContent().getField("context._tid").getValue();
-
- assertEquals(613, perfPageFault);
- assertEquals("lttng-sessiond", procname);
- assertEquals(1230, tid);
- }
-
- /**
- * Test the context of the event at 1363700745.559739078.
- */
- @Test
- public void testContext1() {
- long time = startTime + 5000000000L; // 1363700745.559739078
- CtfTmfEvent event = getEventAt(time);
- long perfPageFault = (Long) event.getContent().getField("context._perf_page_fault").getValue();
- String procname = (String) event.getContent().getField("context._procname").getValue();
- long tid = (Long) event.getContent().getField("context._tid").getValue();
-
- assertEquals(6048, perfPageFault);
- assertEquals("swapper/0", procname);
- assertEquals(0, tid);
- }
-
- /**
- * Test the context of the event at 1363700750.559707062.
- */
- @Test
- public void testContext2() {
- long time = startTime + 2 * 5000000000L; // 1363700750.559707062
- CtfTmfEvent event = getEventAt(time);
- long perfPageFault = (Long) event.getContent().getField("context._perf_page_fault").getValue();
- String procname = (String) event.getContent().getField("context._procname").getValue();
- long tid = (Long) event.getContent().getField("context._tid").getValue();
-
- assertEquals(13258, perfPageFault);
- assertEquals("swapper/0", procname);
- assertEquals(0, tid);
- }
-
- /**
- * Test the context of the event at 1363700755.555723128, which is roughly
- * mid-way through the trace.
- */
- @Test
- public void testContextMiddle() {
- long midTime = startTime + (endTime - startTime) / 2L; // 1363700755.555723128
- CtfTmfEvent midEvent = getEventAt(midTime);
- long perfPageFault = (Long) midEvent.getContent().getField("context._perf_page_fault").getValue();
- String procname = (String) midEvent.getContent().getField("context._procname").getValue();
- long tid = (Long) midEvent.getContent().getField("context._tid").getValue();
-
- assertEquals(19438, perfPageFault);
- assertEquals("swapper/0", procname);
- assertEquals(0, tid);
- }
-
- /**
- * Test the context of the event at 1363700760.559719724.
- */
- @Test
- public void testContext3() {
- long time = startTime + 4 * 5000000000L; // 1363700760.559719724
- CtfTmfEvent event = getEventAt(time);
- long perfPageFault = (Long) event.getContent().getField("context._perf_page_fault").getValue();
- String procname = (String) event.getContent().getField("context._procname").getValue();
- long tid = (Long) event.getContent().getField("context._tid").getValue();
-
- assertEquals(21507, perfPageFault);
- assertEquals("swapper/0", procname);
- assertEquals(0, tid);
- }
-
- /**
- * Test the context of the event at 1363700765.559714634.
- */
- @Test
- public void testContext4() {
- long time = startTime + 5 * 5000000000L; // 1363700765.559714634
- CtfTmfEvent event = getEventAt(time);
- long perfPageFault = (Long) event.getContent().getField("context._perf_page_fault").getValue();
- String procname = (String) event.getContent().getField("context._procname").getValue();
- long tid = (Long) event.getContent().getField("context._tid").getValue();
-
- assertEquals(21507, perfPageFault);
- assertEquals("swapper/0", procname);
- assertEquals(0, tid);
- }
-
- /**
- * Test the context of the last event of the trace.
- */
- @Test
- public void testContextEnd() {
- CtfTmfEvent lastEvent = getEventAt(endTime);
- long perfPageFault = (Long) lastEvent.getContent().getField("context._perf_page_fault").getValue();
- String procname = (String) lastEvent.getContent().getField("context._procname").getValue();
- long tid = (Long) lastEvent.getContent().getField("context._tid").getValue();
-
- assertEquals(22117, perfPageFault);
- assertEquals("lttng-sessiond", procname);
- assertEquals(1230, tid);
- }
-
- // ------------------------------------------------------------------------
- // Private stuff
- // ------------------------------------------------------------------------
-
- private synchronized CtfTmfEvent getEventAt(long timestamp) {
- EventContextTestRequest req = new EventContextTestRequest(timestamp);
- fixture.sendRequest(req);
- try {
- req.waitForCompletion();
- } catch (InterruptedException e) {
- return null;
- }
- return req.getEvent();
- }
-
- private class EventContextTestRequest extends TmfEventRequest {
-
- private CtfTmfEvent retEvent = null;
-
- public EventContextTestRequest(long timestamp) {
- super(CtfTmfEvent.class,
- new TmfTimeRange(new CtfTmfTimestamp(timestamp), TmfTimestamp.BIG_CRUNCH),
- 0, 1, ExecutionType.FOREGROUND);
- }
-
- @Override
- public void handleData(ITmfEvent event) {
- retEvent = (CtfTmfEvent) event;
- }
-
- public CtfTmfEvent getEvent() {
- return retEvent;
- }
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ctf.core.tests/src/org/eclipse/linuxtools/tmf/ctf/core/tests/FunkyTraceTest.java b/lttng/org.eclipse.linuxtools.tmf.ctf.core.tests/src/org/eclipse/linuxtools/tmf/ctf/core/tests/FunkyTraceTest.java
deleted file mode 100644
index 9303d64451..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ctf.core.tests/src/org/eclipse/linuxtools/tmf/ctf/core/tests/FunkyTraceTest.java
+++ /dev/null
@@ -1,212 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013, 2014 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:
- * Alexandre Montplaisir - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.ctf.core.tests;
-
-import static org.junit.Assert.assertArrayEquals;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assume.assumeTrue;
-
-import org.eclipse.linuxtools.tmf.core.event.ITmfEvent;
-import org.eclipse.linuxtools.tmf.core.event.ITmfEventField;
-import org.eclipse.linuxtools.tmf.core.request.TmfEventRequest;
-import org.eclipse.linuxtools.tmf.core.timestamp.TmfTimeRange;
-import org.eclipse.linuxtools.tmf.ctf.core.CtfEnumPair;
-import org.eclipse.linuxtools.tmf.ctf.core.CtfTmfEvent;
-import org.eclipse.linuxtools.tmf.ctf.core.CtfTmfTrace;
-import org.eclipse.linuxtools.tmf.ctf.core.tests.shared.CtfTmfTestTrace;
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Rule;
-import org.junit.Test;
-import org.junit.rules.TestRule;
-import org.junit.rules.Timeout;
-
-/**
- * More advanced CTF tests using "funky_trace", a trace generated with the
- * Babeltrace CTF writer API, which has lots of fun things like different
- * integer/float sizes and non-standard struct alignments.
- *
- * @author Alexandre Montplaisir
- */
-public class FunkyTraceTest {
-
- /** Time-out tests after 20 seconds */
- @Rule
- public TestRule globalTimeout= new Timeout(20000);
-
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
-
- private static final CtfTmfTestTrace testTrace = CtfTmfTestTrace.FUNKY_TRACE;
- private static final double DELTA = 0.0000001;
-
- private CtfTmfTrace fTrace;
-
- // ------------------------------------------------------------------------
- // Setup
- // ------------------------------------------------------------------------
-
- /**
- * Test setup
- */
- @Before
- public void setup() {
- assumeTrue(testTrace.exists());
- fTrace = testTrace.getTrace();
- fTrace.indexTrace(true);
- }
-
- /**
- * Clean-up
- */
- @After
- public void tearDown() {
- if (fTrace != null) {
- fTrace.dispose();
- }
- }
-
- // ------------------------------------------------------------------------
- // Test methods
- // ------------------------------------------------------------------------
-
- /**
- * Verify the contents of the first event
- */
- @Test
- public void testFirstEvent() {
- CtfTmfEvent event = getEvent(0);
- assertEquals("Simple Event", event.getType().getName());
- assertEquals(1234567, event.getTimestamp().getValue());
- assertEquals(42, ((Long) event.getContent().getField("integer_field").getValue()).intValue());
- assertEquals(3.1415, ((Double) event.getContent().getField("float_field").getValue()).doubleValue(), DELTA);
- }
-
- /**
- * Verify the contents of the second event (the first "spammy event")
- */
- @Test
- public void testSecondEvent() {
- CtfTmfEvent event = getEvent(1);
- assertEquals("Spammy_Event", event.getType().getName());
- assertEquals(1234568, event.getTimestamp().getValue());
- assertEquals(0, ((Long) event.getContent().getField("field_1").getValue()).intValue());
- assertEquals("This is a test", event.getContent().getField("a_string").getValue());
- }
-
- /**
- * Verify the contents of the last "spammy event"
- */
- @Test
- public void testSecondToLastEvent() {
- CtfTmfEvent event = getEvent(100000);
- assertEquals("Spammy_Event", event.getType().getName());
- assertEquals(1334567, event.getTimestamp().getValue());
- assertEquals(99999, ((Long) event.getContent().getField("field_1").getValue()).intValue());
- assertEquals("This is a test", event.getContent().getField("a_string").getValue());
- }
-
- /**
- * Verify the contents of the last, complex event
- */
- @Test
- public void testLastEvent() {
- /*
- * Last event as seen in Babeltrace:
- * [19:00:00.001334568] (+0.000000001) Complex Test Event: { }, {
- * uint_35 = 0xDDF00D,
- * int_16 = -12345,
- * complex_structure = {
- * variant_selector = ( INT16_TYPE : container = 1 ),
- * a_string = "Test string",
- * variant_value = { INT16_TYPE = -200 },
- * inner_structure = {
- * seq_len = 0xA,
- * a_sequence = [ [0] = 4, [1] = 3, [2] = 2, [3] = 1, [4] = 0, [5] = -1, [6] = -2, [7] = -3, [8] = -4, [9] = -5 ]
- * }
- * }
- * }
- */
-
- CtfTmfEvent event = getEvent(100001);
- assertEquals("Complex Test Event", event.getType().getName());
- assertEquals(1334568, event.getTimestamp().getValue());
- assertEquals(0xddf00d, ((Long) event.getContent().getField("uint_35").getValue()).intValue());
- assertEquals(-12345, ((Long) event.getContent().getField("int_16").getValue()).intValue());
-
- ITmfEventField[] complexStruct =
- (ITmfEventField[]) event.getContent().getField("complex_structure").getValue();
-
- assertEquals("variant_selector", complexStruct[0].getName());
- CtfEnumPair variant1 = (CtfEnumPair) complexStruct[0].getValue();
- assertEquals("INT16_TYPE", variant1.getStringValue());
- assertEquals(Long.valueOf(1), variant1.getLongValue());
-
- assertEquals("a_string", complexStruct[1].getName());
- assertEquals("Test string", complexStruct[1].getValue());
-
- assertEquals("variant_value", complexStruct[2].getName());
- ITmfEventField variantField = (ITmfEventField) complexStruct[2].getValue();
- assertEquals("INT16_TYPE", variantField.getName());
- assertEquals(Long.valueOf(-200), variantField.getValue());
-
- ITmfEventField[] innerStruct = (ITmfEventField[]) complexStruct[3].getValue();
-
- assertEquals("seq_len", innerStruct[0].getName());
- assertEquals(Long.valueOf(10), innerStruct[0].getValue());
-
- assertEquals("a_sequence", innerStruct[1].getName());
- long[] seqValues = (long[]) innerStruct[1].getValue();
- long[] expectedValues = { 4, 3, 2, 1, 0, -1, -2, -3, -4, -5 };
- assertArrayEquals(expectedValues, seqValues);
- }
-
- // ------------------------------------------------------------------------
- // Private stuff
- // ------------------------------------------------------------------------
-
- private synchronized CtfTmfEvent getEvent(long index) {
- TestEventRequest req = new TestEventRequest(index);
- fTrace.sendRequest(req);
- try {
- req.waitForCompletion();
- } catch (InterruptedException e) {
- return null;
- }
- return req.getEvent();
- }
-
- private class TestEventRequest extends TmfEventRequest {
-
- private CtfTmfEvent fRetEvent = null;
-
- public TestEventRequest(long index) {
- super(CtfTmfEvent.class,
- TmfTimeRange.ETERNITY,
- index,
- 1,
- ExecutionType.FOREGROUND);
- }
-
- @Override
- public void handleData(ITmfEvent event) {
- fRetEvent = (CtfTmfEvent) event;
- }
-
- public CtfTmfEvent getEvent() {
- return fRetEvent;
- }
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ctf.core.tests/src/org/eclipse/linuxtools/tmf/ctf/core/tests/headless/Benchmark.java b/lttng/org.eclipse.linuxtools.tmf.ctf.core.tests/src/org/eclipse/linuxtools/tmf/ctf/core/tests/headless/Benchmark.java
deleted file mode 100644
index 8782a70528..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ctf.core.tests/src/org/eclipse/linuxtools/tmf/ctf/core/tests/headless/Benchmark.java
+++ /dev/null
@@ -1,97 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2012, 2014 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:
- * Matthew Khouzam - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.ctf.core.tests.headless;
-
-import java.util.Vector;
-
-import org.eclipse.linuxtools.tmf.core.exceptions.TmfTraceException;
-import org.eclipse.linuxtools.tmf.ctf.core.CtfTmfContext;
-import org.eclipse.linuxtools.tmf.ctf.core.CtfTmfEvent;
-import org.eclipse.linuxtools.tmf.ctf.core.CtfTmfTrace;
-
-/**
- * Test and benchmark reading a CTF LTTng kernel trace.
- *
- * @author Matthew Khouzam
- */
-public class Benchmark {
-
- /**
- * Run the benchmark.
- *
- * @param args The command-line arguments
- */
- public static void main(final String[] args) {
- final String TRACE_PATH = "testfiles/kernel";
- final int NUM_LOOPS = 100;
-
- // Change this to enable text output
- final boolean USE_TEXT = true;
-
- // Work variables
- long nbEvent = 0L;
- final Vector<Double> benchs = new Vector<>();
- long start, stop;
- for (int loops = 0; loops < NUM_LOOPS; loops++) {
- nbEvent = 0L;
- try (CtfTmfTrace trace = new CtfTmfTrace();) {
- try {
- trace.initTrace(null, TRACE_PATH, CtfTmfEvent.class);
- } catch (final TmfTraceException e) {
- loops = NUM_LOOPS + 1;
- break;
- }
-
- start = System.nanoTime();
- if (nbEvent != -1) {
- final CtfTmfContext traceReader = (CtfTmfContext) trace.seekEvent(0);
-
- start = System.nanoTime();
- CtfTmfEvent current = traceReader.getCurrentEvent();
- while (current != null) {
- nbEvent++;
- if (USE_TEXT) {
-
- System.out.println("Event " + nbEvent + " Time "
- + current.getTimestamp().toString() + " type " + current.getType().getName()
- + " on CPU " + current.getSource() + " " + current.getContent().toString());
- }
- // advance the trace to the next event.
- boolean hasMore = traceReader.advance();
- if (hasMore) {
- // you can know the trace has more events.
- }
- current = traceReader.getCurrentEvent();
- }
- }
- stop = System.nanoTime();
- System.out.print('.');
- final double time = (stop - start) / (double) nbEvent;
- benchs.add(time);
- } // trace.close()
- }
- System.out.println("");
- double avg = 0;
- for (final double val : benchs) {
- avg += val;
- }
- avg /= benchs.size();
- System.out.println("Time to read = " + avg + " events/ns");
- for (final Double val : benchs) {
- System.out.print(val);
- System.out.print(", ");
- }
-
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ctf.core.tests/src/org/eclipse/linuxtools/tmf/ctf/core/tests/headless/RequestBenchmark.java b/lttng/org.eclipse.linuxtools.tmf.ctf.core.tests/src/org/eclipse/linuxtools/tmf/ctf/core/tests/headless/RequestBenchmark.java
deleted file mode 100644
index 7f063eb876..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ctf.core.tests/src/org/eclipse/linuxtools/tmf/ctf/core/tests/headless/RequestBenchmark.java
+++ /dev/null
@@ -1,130 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009, 2013 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:
- * William Bourque <wbourque@gmail.com> - Initial API and implementation
- * Matthew Khouzam - Update to CtfTmf trace and events
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.ctf.core.tests.headless;
-
-import java.util.Vector;
-
-import org.eclipse.linuxtools.tmf.core.event.ITmfEvent;
-import org.eclipse.linuxtools.tmf.core.request.TmfEventRequest;
-import org.eclipse.linuxtools.tmf.core.timestamp.TmfTimeRange;
-import org.eclipse.linuxtools.tmf.core.trace.ITmfTrace;
-import org.eclipse.linuxtools.tmf.core.trace.TmfExperiment;
-import org.eclipse.linuxtools.tmf.ctf.core.CtfTmfEvent;
-import org.eclipse.linuxtools.tmf.ctf.core.CtfTmfTrace;
-
-/**
- * Benchmark the event request subsystem of TMF.
- */
-public class RequestBenchmark extends TmfEventRequest {
-
- private RequestBenchmark(final Class<? extends ITmfEvent> dataType,
- final TmfTimeRange range, final int nbRequested) {
- super(dataType, range, 0, nbRequested, ExecutionType.FOREGROUND);
- }
-
- // Path of the trace
- private static final String TRACE_PATH = "../org.eclipse.linuxtools.ctf.core.tests/traces/kernel";
-
- // Change this to run several time over the same trace
- private static final int NB_OF_PASS = 100;
-
- // Work variables
- private static int nbEvent = 0;
- private static TmfExperiment fExperiment = null;
- private static Vector<Double> benchs = new Vector<>();
-
- /**
- * Run the benchmark
- *
- * @param args
- * The command-line arguments
- */
- public static void main(final String[] args) {
-
- try {
- /* Our experiment will contains ONE trace */
- final ITmfTrace[] traces = new ITmfTrace[1];
- traces[0] = new CtfTmfTrace();
- traces[0].initTrace(null, TRACE_PATH, CtfTmfEvent.class);
- /* Create our new experiment */
- fExperiment = new TmfExperiment(CtfTmfEvent.class, "Headless", traces);
-
- /*
- * We will issue a request for each "pass". TMF will then process
- * them synchronously.
- */
- RequestBenchmark request = null;
- for (int x = 0; x < NB_OF_PASS; x++) {
- request = new RequestBenchmark(CtfTmfEvent.class,
- TmfTimeRange.ETERNITY, Integer.MAX_VALUE);
- fExperiment.sendRequest(request);
- }
- prev = System.nanoTime();
- } catch (final NullPointerException e) {
- /*
- * Silently dismiss Null pointer exception The only way to "finish"
- * the threads in TMF is by crashing them with null.
- */
- } catch (final Exception e) {
- e.printStackTrace();
- }
-
- }
-
- @Override
- public void handleData(final ITmfEvent event) {
- super.handleData(event);
- nbEvent++;
-
- }
-
- static long prev;
- static long done = 0;
- @Override
- public void handleCompleted() {
- final long next = System.nanoTime();
- double val = next - prev;
- final int nbEvent2 = nbEvent;
- val /= nbEvent2;
-
- nbEvent = 0;
- prev = next;
- benchs.add(val);
- if (benchs.size() == NB_OF_PASS) {
- try {
- System.out.println("Nb events : " + nbEvent2);
-
- for (final double value : benchs) {
- System.out.print(value + ", ");
- }
- fExperiment.sendRequest(null);
-
- } catch (final Exception e) {
- }
- }
- }
-
- @Override
- public void handleSuccess() {
- }
-
- @Override
- public void handleFailure() {
- }
-
- @Override
- public void handleCancel() {
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ctf.core.tests/src/org/eclipse/linuxtools/tmf/ctf/core/tests/request/AllTests.java b/lttng/org.eclipse.linuxtools.tmf.ctf.core.tests/src/org/eclipse/linuxtools/tmf/ctf/core/tests/request/AllTests.java
deleted file mode 100644
index 6fe21d2525..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ctf.core.tests/src/org/eclipse/linuxtools/tmf/ctf/core/tests/request/AllTests.java
+++ /dev/null
@@ -1,25 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 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:
- * Alexandre Montplaisir - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.ctf.core.tests.request;
-
-import org.junit.runner.RunWith;
-import org.junit.runners.Suite;
-
-/**
- * Test suite
- */
-@RunWith(Suite.class)
-@Suite.SuiteClasses({
- TmfSchedulerTest.class
-})
-public class AllTests {} \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.tmf.ctf.core.tests/src/org/eclipse/linuxtools/tmf/ctf/core/tests/request/TmfSchedulerBenchmark.java b/lttng/org.eclipse.linuxtools.tmf.ctf.core.tests/src/org/eclipse/linuxtools/tmf/ctf/core/tests/request/TmfSchedulerBenchmark.java
deleted file mode 100644
index cffdf1fe49..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ctf.core.tests/src/org/eclipse/linuxtools/tmf/ctf/core/tests/request/TmfSchedulerBenchmark.java
+++ /dev/null
@@ -1,360 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 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:
- * Simon Delisle - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.ctf.core.tests.request;
-
-import java.io.PrintWriter;
-
-import org.eclipse.linuxtools.tmf.core.event.ITmfEvent;
-import org.eclipse.linuxtools.tmf.core.request.ITmfEventRequest;
-import org.eclipse.linuxtools.tmf.core.request.TmfEventRequest;
-import org.eclipse.linuxtools.tmf.core.timestamp.TmfTimeRange;
-import org.eclipse.linuxtools.tmf.ctf.core.CtfTmfTrace;
-import org.eclipse.linuxtools.tmf.ctf.core.tests.shared.CtfTmfTestTrace;
-
-/**
- * Benchmark for the request scheduler
- *
- * The benchmark has three tests. The first one is the latency (time between the
- * creation of the request and the beginning of its execution). The second one
- * is the average waiting time for a request. The last one is the total
- * completion time.
- */
-public class TmfSchedulerBenchmark {
-
- // ------------------------------------------------------------------------
- // Constants
- // ------------------------------------------------------------------------
-
- private static final int NUM_LOOPS = 10;
- private static final int NANOSECONDS_IN_MILLISECONDS = 1000000;
- private static final int NANOSECONDS_IN_SECONDS = 1000000000;
-
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
-
- private static CtfTmfTrace trace = CtfTmfTestTrace.KERNEL.getTrace();
- private static ForegroundRequest lastForegroundRequest = null;
- private static BackgroundRequest lastBackgroundRequest = null;
-
- private static PrintWriter pw = new PrintWriter(System.out, true);
-
- /**
- * Start the benchmark
- *
- * @param args
- * The command-line arguments
- */
- public static void main(final String[] args) {
- trace.indexTrace(true);
- pw.println("---------- Benchmark started ----------");
- latencyBenchmark();
- averageWaitingTime();
- completedTime();
- benchmarkResults();
- trace.dispose();
- }
-
- private static void latencyBenchmark() {
- long averageLatency = 0;
-
- pw.println("----- Latency -----");
- for (int i = 0; i < NUM_LOOPS; i++) {
- try {
- ForegroundRequest foreground1 = new ForegroundRequest(TmfTimeRange.ETERNITY);
- trace.sendRequest(foreground1);
- foreground1.waitForCompletion();
- averageLatency += foreground1.getLatency();
- } catch (InterruptedException e) {
- e.printStackTrace();
- }
- }
- pw.println((averageLatency / NUM_LOOPS) / NANOSECONDS_IN_MILLISECONDS + " ms");
- }
-
- private static void averageWaitingTime() {
- long averageWaitingBackground = 0;
- long averageWaitingForeground1 = 0;
- long averageWaitingForeground2 = 0;
-
- pw.println("----- Average waiting time with 3 requests -----");
- for (int i = 0; i < NUM_LOOPS; i++) {
- ForegroundRequest foreground1 = new ForegroundRequest(TmfTimeRange.ETERNITY);
- ForegroundRequest foreground2 = new ForegroundRequest(TmfTimeRange.ETERNITY);
- BackgroundRequest background1 = new BackgroundRequest(TmfTimeRange.ETERNITY);
- trace.sendRequest(background1);
- trace.sendRequest(foreground1);
- trace.sendRequest(foreground2);
- try {
- foreground1.waitForCompletion();
- foreground2.waitForCompletion();
- background1.waitForCompletion();
- } catch (InterruptedException e) {
- e.printStackTrace();
- }
- averageWaitingBackground += background1.getAverageWaitingTime();
- averageWaitingForeground1 += foreground1.getAverageWaitingTime();
- averageWaitingForeground2 += foreground2.getAverageWaitingTime();
- }
- pw.print("-- Background : ");
- pw.println((averageWaitingBackground / NUM_LOOPS) / NANOSECONDS_IN_MILLISECONDS + " ms");
-
- pw.print("-- First foreground : ");
- pw.println((averageWaitingForeground1 / NUM_LOOPS) / NANOSECONDS_IN_MILLISECONDS + " ms");
-
- pw.print("-- Second foreground : ");
- pw.println((averageWaitingForeground2 / NUM_LOOPS) / NANOSECONDS_IN_MILLISECONDS + " ms");
- }
-
- private static void completedTime() {
- long averageCompletedTime1 = 0;
- long averageCompletedTime2 = 0;
- long averageCompletedTime3 = 0;
- long averageCompletedTime4 = 0;
- long averageCompletedTime5 = 0;
- long averageCompletedTime6 = 0;
-
- pw.println("----- Time to complete request -----");
- for (int i = 0; i < NUM_LOOPS; i++) {
- try {
- ForegroundRequest foreground1 = new ForegroundRequest(TmfTimeRange.ETERNITY);
- trace.sendRequest(foreground1);
- foreground1.waitForCompletion();
- averageCompletedTime1 += foreground1.getCompletedTime();
-
- ForegroundRequest foreground2 = new ForegroundRequest(TmfTimeRange.ETERNITY);
- ForegroundRequest foreground3 = new ForegroundRequest(TmfTimeRange.ETERNITY);
- trace.sendRequest(foreground2);
- trace.sendRequest(foreground3);
- foreground2.waitForCompletion();
- foreground3.waitForCompletion();
- averageCompletedTime2 += (foreground2.getCompletedTime() + foreground3.getCompletedTime());
-
- ForegroundRequest foreground4 = new ForegroundRequest(TmfTimeRange.ETERNITY);
- BackgroundRequest background1 = new BackgroundRequest(TmfTimeRange.ETERNITY);
- trace.sendRequest(foreground4);
- trace.sendRequest(background1);
- foreground4.waitForCompletion();
- background1.waitForCompletion();
- averageCompletedTime3 += (foreground4.getCompletedTime() + background1.getCompletedTime());
-
- ForegroundRequest foreground5 = new ForegroundRequest(TmfTimeRange.ETERNITY);
- ForegroundRequest foreground6 = new ForegroundRequest(TmfTimeRange.ETERNITY);
- BackgroundRequest background2 = new BackgroundRequest(TmfTimeRange.ETERNITY);
- trace.sendRequest(foreground5);
- trace.sendRequest(foreground6);
- trace.sendRequest(background2);
- foreground5.waitForCompletion();
- foreground6.waitForCompletion();
- background2.waitForCompletion();
- averageCompletedTime4 += (foreground5.getCompletedTime() + foreground6.getCompletedTime() + background2.getCompletedTime());
-
- ForegroundRequest foreground7 = new ForegroundRequest(TmfTimeRange.ETERNITY);
- ForegroundRequest foreground8 = new ForegroundRequest(TmfTimeRange.ETERNITY);
- ForegroundRequest foreground9 = new ForegroundRequest(TmfTimeRange.ETERNITY);
- BackgroundRequest background3 = new BackgroundRequest(TmfTimeRange.ETERNITY);
- trace.sendRequest(foreground7);
- trace.sendRequest(foreground8);
- trace.sendRequest(foreground9);
- trace.sendRequest(background3);
- foreground7.waitForCompletion();
- foreground8.waitForCompletion();
- foreground9.waitForCompletion();
- background3.waitForCompletion();
- averageCompletedTime5 += (foreground7.getCompletedTime() + foreground8.getCompletedTime() + foreground9.getCompletedTime() + background3.getCompletedTime());
-
- ForegroundRequest foreground10 = new ForegroundRequest(TmfTimeRange.ETERNITY);
- ForegroundRequest foreground11 = new ForegroundRequest(TmfTimeRange.ETERNITY);
- ForegroundRequest foreground12 = new ForegroundRequest(TmfTimeRange.ETERNITY);
- ForegroundRequest foreground13 = new ForegroundRequest(TmfTimeRange.ETERNITY);
- BackgroundRequest background4 = new BackgroundRequest(TmfTimeRange.ETERNITY);
- trace.sendRequest(foreground10);
- trace.sendRequest(foreground11);
- trace.sendRequest(foreground12);
- trace.sendRequest(foreground13);
- trace.sendRequest(background4);
- foreground10.waitForCompletion();
- foreground11.waitForCompletion();
- foreground12.waitForCompletion();
- foreground13.waitForCompletion();
- background4.waitForCompletion();
- averageCompletedTime6 += (foreground10.getCompletedTime() + foreground11.getCompletedTime() + foreground12.getCompletedTime() + foreground13.getCompletedTime() + background4.getCompletedTime());
- } catch (InterruptedException e) {
- e.printStackTrace();
- }
- }
-
- pw.print("-- Time to complete one request : ");
- pw.println((averageCompletedTime1 / NUM_LOOPS) / NANOSECONDS_IN_SECONDS + " s");
-
- pw.print("-- Time to complete 2 requests (2 foreground) : ");
- pw.println((averageCompletedTime2 / NUM_LOOPS) / NANOSECONDS_IN_SECONDS + " s");
-
- pw.print("-- Time to complete 2 requests (1 foreground, 1 background) : ");
- pw.println((averageCompletedTime3 / NUM_LOOPS) / NANOSECONDS_IN_SECONDS + " s");
-
- pw.print("-- Time to complete 3 requests (2 foreground, 1 background) : ");
- pw.println((averageCompletedTime4 / NUM_LOOPS) / NANOSECONDS_IN_SECONDS + " s");
-
- pw.print("-- Time to complete 4 requests (3 foreground, 1 background) : ");
- pw.println((averageCompletedTime5 / NUM_LOOPS) / NANOSECONDS_IN_SECONDS + " s");
-
- pw.print("-- Time to complete 5 requests (4 foreground, 1 background) : ");
- pw.println((averageCompletedTime6 / NUM_LOOPS) / NANOSECONDS_IN_SECONDS + " s");
- }
-
- /**
- * The benchmark results
- */
- public static void benchmarkResults() {
- pw.println("---------- Benchmark completed ----------");
- }
-
- // ------------------------------------------------------------------------
- // Helper methods
- // ------------------------------------------------------------------------
-
- private static class BackgroundRequest extends TmfEventRequest {
- private long startTime;
- private long endTimeLatency = -1;
- private long completedTime = 0;
- private long waitingTimeStart = 0;
- private long waitingTimeEnd = 0;
- private long waitingTime = 0;
- private int waitingCounter = 0;
- private boolean isWaiting = false;
-
- BackgroundRequest(TmfTimeRange timeRange) {
- super(trace.getEventType(),
- timeRange,
- 0,
- ITmfEventRequest.ALL_DATA,
- ExecutionType.BACKGROUND);
- startTime = System.nanoTime();
- }
-
- @Override
- public void handleData(final ITmfEvent event) {
- if (endTimeLatency == -1) {
- endTimeLatency = System.nanoTime();
- }
- super.handleData(event);
- if (lastForegroundRequest == null && lastBackgroundRequest == null) {
- lastBackgroundRequest = this;
- }
- if (isWaiting) {
- waitingTimeEnd = System.nanoTime();
- waitingTime += waitingTimeEnd - waitingTimeStart;
- ++waitingCounter;
- isWaiting = false;
- }
- if (lastForegroundRequest != null) {
- lastForegroundRequest.waitingTimeStart = System.nanoTime();
- lastForegroundRequest.isWaiting = true;
- lastForegroundRequest = null;
- lastBackgroundRequest = this;
- }
- if (lastBackgroundRequest != this) {
- lastBackgroundRequest.waitingTimeStart = System.nanoTime();
- lastBackgroundRequest.isWaiting = true;
- lastBackgroundRequest = this;
- }
- }
-
- @Override
- public void handleCompleted() {
- completedTime = System.nanoTime();
- super.handleCompleted();
- }
-
- public long getCompletedTime() {
- return completedTime - startTime;
- }
-
- public long getAverageWaitingTime() {
- if (waitingCounter == 0) {
- return 0;
- }
- return waitingTime / waitingCounter;
- }
- }
-
- private static class ForegroundRequest extends TmfEventRequest {
- private long startTime = 0;
- private long endTimeLatency = -1;
- private long completedTime = 0;
- private long waitingTimeStart = 0;
- private long waitingTimeEnd = 0;
- private long waitingTime = 0;
- private int waitingCounter = 0;
- private boolean isWaiting = false;
-
- ForegroundRequest(TmfTimeRange timeRange) {
- super(trace.getEventType(),
- timeRange,
- 0,
- ITmfEventRequest.ALL_DATA,
- ExecutionType.FOREGROUND);
- startTime = System.nanoTime();
- }
-
- @Override
- public void handleData(final ITmfEvent event) {
- if (endTimeLatency == -1) {
- endTimeLatency = System.nanoTime();
- }
- super.handleData(event);
- if (lastBackgroundRequest == null && lastForegroundRequest == null) {
- lastForegroundRequest = this;
- }
- if (isWaiting) {
- waitingTimeEnd = System.nanoTime();
- waitingTime += waitingTimeEnd - waitingTimeStart;
- ++waitingCounter;
- isWaiting = false;
- }
- if (lastBackgroundRequest != null) {
- lastBackgroundRequest.waitingTimeStart = System.nanoTime();
- lastBackgroundRequest.isWaiting = true;
- lastBackgroundRequest = null;
- lastForegroundRequest = this;
- }
- if (lastForegroundRequest != this) {
- lastForegroundRequest.waitingTimeStart = System.nanoTime();
- lastForegroundRequest.isWaiting = true;
- lastForegroundRequest = this;
- }
- }
-
- @Override
- public void handleCompleted() {
- completedTime = System.nanoTime();
- super.handleCompleted();
- }
-
- public long getLatency() {
- return endTimeLatency - startTime;
- }
-
- public long getCompletedTime() {
- return completedTime - startTime;
- }
-
- public long getAverageWaitingTime() {
- if (waitingCounter == 0) {
- return 0;
- }
- return waitingTime / waitingCounter;
- }
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ctf.core.tests/src/org/eclipse/linuxtools/tmf/ctf/core/tests/request/TmfSchedulerTest.java b/lttng/org.eclipse.linuxtools.tmf.ctf.core.tests/src/org/eclipse/linuxtools/tmf/ctf/core/tests/request/TmfSchedulerTest.java
deleted file mode 100644
index a86a62ee8a..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ctf.core.tests/src/org/eclipse/linuxtools/tmf/ctf/core/tests/request/TmfSchedulerTest.java
+++ /dev/null
@@ -1,451 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013, 2014 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:
- * Simon Delisle - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.ctf.core.tests.request;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertTrue;
-import static org.junit.Assert.fail;
-import static org.junit.Assume.assumeTrue;
-
-import java.util.ArrayList;
-import java.util.LinkedList;
-import java.util.List;
-
-import org.eclipse.core.resources.IResource;
-import org.eclipse.linuxtools.tmf.core.event.ITmfEvent;
-import org.eclipse.linuxtools.tmf.core.exceptions.TmfTraceException;
-import org.eclipse.linuxtools.tmf.core.request.ITmfEventRequest;
-import org.eclipse.linuxtools.tmf.core.request.TmfEventRequest;
-import org.eclipse.linuxtools.tmf.core.signal.TmfTimeSynchSignal;
-import org.eclipse.linuxtools.tmf.core.timestamp.ITmfTimestamp;
-import org.eclipse.linuxtools.tmf.core.timestamp.TmfTimeRange;
-import org.eclipse.linuxtools.tmf.core.timestamp.TmfTimestamp;
-import org.eclipse.linuxtools.tmf.ctf.core.CtfTmfEvent;
-import org.eclipse.linuxtools.tmf.ctf.core.CtfTmfTrace;
-import org.eclipse.linuxtools.tmf.ctf.core.tests.shared.CtfTmfTestTrace;
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Ignore;
-import org.junit.Rule;
-import org.junit.Test;
-import org.junit.rules.TestRule;
-import org.junit.rules.Timeout;
-
-/**
- * Test suite for the scheduler.
- */
-public class TmfSchedulerTest {
-
- /** Time-out tests after 60 seconds */
- @Rule
- public TestRule globalTimeout= new Timeout(60000);
-
- // ------------------------------------------------------------------------
- // Constants
- // ------------------------------------------------------------------------
-
- private static final CtfTmfTestTrace testTrace = CtfTmfTestTrace.KERNEL;
- private static final int NB_EVENTS_TRACE = 695319;
- private static final int NB_EVENTS_TIME_RANGE = 155133;
-
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
-
- private CtfTmfTrace fixture;
-
- private long fStartTime;
- private long fEndTime;
- private TmfTimeRange fForegroundTimeRange;
-
- private final List<String> fOrderList = new ArrayList<>();
- private int fForegroundId = 0;
- private int fBackgroundId = 0;
-
- /**
- * Perform pre-test initialization.
- *
- * @throws TmfTraceException
- * If the test trace is not found
- */
- @Before
- public void setUp() throws TmfTraceException {
- assumeTrue(testTrace.exists());
- fixture = new CtfTmfTrace();
- fixture.initTrace((IResource) null, testTrace.getPath(), CtfTmfEvent.class);
- fixture.indexTrace(true);
- fStartTime = fixture.getStartTime().normalize(0, ITmfTimestamp.NANOSECOND_SCALE).getValue();
- fEndTime = fixture.getEndTime().normalize(0, ITmfTimestamp.NANOSECOND_SCALE).getValue();
-
- long foregroundStartTime = fStartTime + ((fEndTime - fStartTime) / 4);
- long foregroundEndTime = fStartTime + ((fEndTime - fStartTime) / 2);
- fForegroundTimeRange = new TmfTimeRange(new TmfTimestamp(foregroundStartTime, ITmfTimestamp.NANOSECOND_SCALE, 0), new TmfTimestamp(foregroundEndTime, ITmfTimestamp.NANOSECOND_SCALE, 0));
- }
-
- /**
- * Perform post-test clean-up.
- */
- @After
- public void tearDown() {
- if (fixture != null) {
- fixture.dispose();
- }
- }
-
- // ------------------------------------------------------------------------
- // Tests cases
- // ------------------------------------------------------------------------
-
- /**
- * Test one background request
- */
- @Test
- public void backgroundRequest() {
- BackgroundRequest background = new BackgroundRequest(TmfTimeRange.ETERNITY);
- fixture.sendRequest(background);
- try {
- background.waitForCompletion();
- } catch (InterruptedException e) {
- fail();
- }
- assertEquals(NB_EVENTS_TRACE, background.getNbEvents());
- }
-
- /**
- * Test one foreground request
- */
- @Test
- public void foregroundRequest() {
- ForegroundRequest foreground = new ForegroundRequest(TmfTimeRange.ETERNITY);
- fixture.sendRequest(foreground);
- try {
- foreground.waitForCompletion();
- } catch (InterruptedException e) {
- fail();
- }
- assertEquals(NB_EVENTS_TRACE, foreground.getNbEvents());
- }
-
- /**
- * Test one foreground and one background request for the entire trace at
- * the same time
- */
- @Test
- public void TestMultiRequest1() {
- BackgroundRequest background = new BackgroundRequest(TmfTimeRange.ETERNITY);
- ForegroundRequest foreground = new ForegroundRequest(TmfTimeRange.ETERNITY);
-
- fixture.sendRequest(background);
- fixture.sendRequest(foreground);
- try {
- background.waitForCompletion();
- foreground.waitForCompletion();
- } catch (InterruptedException e) {
- fail();
- }
-
- assertEquals(NB_EVENTS_TRACE, background.getNbEvents());
- assertEquals(NB_EVENTS_TRACE, foreground.getNbEvents());
- }
-
- /**
- * Test one background request for the entire trace and one foreground
- * request for smaller time range
- */
- @Test
- public void TestMultiRequest2() {
- BackgroundRequest background2 = new BackgroundRequest(TmfTimeRange.ETERNITY);
- ForegroundRequest foreground2 = new ForegroundRequest(fForegroundTimeRange);
-
- fixture.sendRequest(background2);
- fixture.sendRequest(foreground2);
- try {
- background2.waitForCompletion();
- foreground2.waitForCompletion();
- } catch (InterruptedException e) {
- fail();
- }
-
- assertEquals(NB_EVENTS_TRACE, background2.getNbEvents());
- assertEquals(NB_EVENTS_TIME_RANGE, foreground2.getNbEvents());
- }
-
- /**
- * Test two foreground request, one to select a time range and one to select
- * an event in this time range
- */
- @Test
- public void TestMultiRequest3() {
- ForegroundRequest foreground3 = new ForegroundRequest(TmfTimeRange.ETERNITY);
- fixture.sendRequest(foreground3);
-
- TmfTimeSynchSignal signal3 = new TmfTimeSynchSignal(this, new TmfTimestamp(fForegroundTimeRange.getStartTime()));
- fixture.broadcast(signal3);
-
- try {
- foreground3.waitForCompletion();
- } catch (InterruptedException e) {
- fail();
- }
-
- assertEquals(NB_EVENTS_TRACE, foreground3.getNbEvents());
- }
-
- /**
- * Test two foreground request, one to select a time range and one to select
- * an event before this time range
- */
- @Test
- public void TestMultiRequest4() {
- ForegroundRequest foreground4 = new ForegroundRequest(fForegroundTimeRange);
- fixture.sendRequest(foreground4);
- TmfTimeSynchSignal signal4 = new TmfTimeSynchSignal(this, new TmfTimestamp(fStartTime + ((fEndTime - fStartTime) / 8)));
- fixture.broadcast(signal4);
-
- try {
- foreground4.waitForCompletion();
- } catch (InterruptedException e) {
- fail();
- }
-
- assertEquals(NB_EVENTS_TIME_RANGE, foreground4.getNbEvents());
- }
-
- /**
- * Test two foreground request, one to select a time range and one to select
- * an event after this time range
- */
- @Test
- public void TestMultiRequest5() {
- ForegroundRequest foreground5 = new ForegroundRequest(fForegroundTimeRange);
- fixture.sendRequest(foreground5);
- TmfTimeSynchSignal signal5 = new TmfTimeSynchSignal(this, new TmfTimestamp(fEndTime - ((fEndTime - fStartTime) / 4)));
- fixture.broadcast(signal5);
-
- try {
- foreground5.waitForCompletion();
- } catch (InterruptedException e) {
- fail();
- }
-
- assertEquals(NB_EVENTS_TIME_RANGE, foreground5.getNbEvents());
- }
-
- /**
- * Test one background and one foreground request for the entire trace and
- * one foreground request to select an event
- */
- @Test
- public void TestMultiRequest6() {
- BackgroundRequest background6 = new BackgroundRequest(TmfTimeRange.ETERNITY);
- ForegroundRequest foreground6 = new ForegroundRequest(TmfTimeRange.ETERNITY);
-
- fixture.sendRequest(background6);
- fixture.sendRequest(foreground6);
-
- TmfTimeSynchSignal signal6 = new TmfTimeSynchSignal(this, new TmfTimestamp(fStartTime + ((fEndTime - fStartTime) / 8)));
- fixture.broadcast(signal6);
-
- try {
- background6.waitForCompletion();
- foreground6.waitForCompletion();
- } catch (InterruptedException e) {
- fail();
- }
-
- assertEquals(NB_EVENTS_TRACE, background6.getNbEvents());
- assertEquals(NB_EVENTS_TRACE, foreground6.getNbEvents());
- }
-
- /**
- * Four request, two foreground and two background
- */
- @Test
- public void TestMultiRequest7() {
- ForegroundRequest foreground7 = new ForegroundRequest(TmfTimeRange.ETERNITY);
- ForegroundRequest foreground8 = new ForegroundRequest(fForegroundTimeRange);
- BackgroundRequest background7 = new BackgroundRequest(TmfTimeRange.ETERNITY);
- BackgroundRequest background8 = new BackgroundRequest(TmfTimeRange.ETERNITY);
- fixture.sendRequest(foreground7);
- fixture.sendRequest(foreground8);
- fixture.sendRequest(background7);
- fixture.sendRequest(background8);
- try {
- foreground7.waitForCompletion();
- foreground8.waitForCompletion();
- background7.waitForCompletion();
- background8.waitForCompletion();
- } catch (InterruptedException e) {
- fail();
- }
- assertEquals(NB_EVENTS_TRACE, foreground7.getNbEvents());
- assertEquals(NB_EVENTS_TIME_RANGE, foreground8.getNbEvents());
- assertEquals(NB_EVENTS_TRACE, background7.getNbEvents());
- assertEquals(NB_EVENTS_TRACE, background8.getNbEvents());
- }
-
- /**
- * One long foreground request and one short foreground request, the short
- * one should finish first
- */
- @Test
- public void preemptedForegroundRequest() {
- ForegroundRequest foreground9 = new ForegroundRequest(TmfTimeRange.ETERNITY);
- TmfTimeRange shortTimeRange = new TmfTimeRange(new TmfTimestamp(fStartTime, ITmfTimestamp.NANOSECOND_SCALE, 0), new TmfTimestamp(fStartTime + ((fEndTime - fStartTime) / 16), ITmfTimestamp.NANOSECOND_SCALE, 0));
- ForegroundRequest shortForeground = new ForegroundRequest(shortTimeRange);
- fixture.sendRequest(foreground9);
- try {
- foreground9.waitForStart();
- } catch (InterruptedException e) {
- fail();
- }
- fixture.sendRequest(shortForeground);
- try {
- shortForeground.waitForCompletion();
- } catch (InterruptedException e) {
- fail();
- }
- assertFalse(foreground9.isCompleted());
- }
-
- /**
- * One long background request and one short foreground request, the
- * foreground request should finish first
- */
- @Test
- public void preemptedBackgroundRequest() {
- BackgroundRequest background9 = new BackgroundRequest(TmfTimeRange.ETERNITY);
- ForegroundRequest foreground10 = new ForegroundRequest(fForegroundTimeRange);
- fixture.sendRequest(background9);
- fixture.sendRequest(foreground10);
- try {
- foreground10.waitForCompletion();
- } catch (InterruptedException e) {
- fail();
- }
- assertTrue(foreground10.isCompleted());
- assertFalse(background9.isCompleted());
- }
-
- /**
- * Test if the scheduler is working as expected
- */
- @Ignore
- @Test
- public void executionOrder() {
- List<String> expectedOrder = new LinkedList<>();
- expectedOrder.add("FOREGROUND1");
- expectedOrder.add("FOREGROUND2");
- expectedOrder.add("FOREGROUND3");
- expectedOrder.add("FOREGROUND4");
- expectedOrder.add("BACKGROUND1");
- expectedOrder.add("FOREGROUND1");
- expectedOrder.add("FOREGROUND2");
- expectedOrder.add("FOREGROUND3");
- expectedOrder.add("FOREGROUND4");
- expectedOrder.add("BACKGROUND2");
-
- fOrderList.clear();
- fForegroundId = 0;
- fBackgroundId = 0;
-
- BackgroundRequest background1 = new BackgroundRequest(TmfTimeRange.ETERNITY);
- BackgroundRequest background2 = new BackgroundRequest(TmfTimeRange.ETERNITY);
-
- ForegroundRequest foreground1 = new ForegroundRequest(TmfTimeRange.ETERNITY);
- ForegroundRequest foreground2 = new ForegroundRequest(TmfTimeRange.ETERNITY);
- ForegroundRequest foreground3 = new ForegroundRequest(TmfTimeRange.ETERNITY);
- ForegroundRequest foreground4 = new ForegroundRequest(TmfTimeRange.ETERNITY);
-
- fixture.sendRequest(foreground1);
- fixture.sendRequest(foreground2);
- fixture.sendRequest(foreground3);
- fixture.sendRequest(foreground4);
- fixture.sendRequest(background1);
- fixture.sendRequest(background2);
- try {
- foreground1.waitForCompletion();
- foreground2.waitForCompletion();
- foreground3.waitForCompletion();
- foreground4.waitForCompletion();
- background1.waitForCompletion();
- background2.waitForCompletion();
- } catch (InterruptedException e) {
- fail();
- }
- assertEquals(expectedOrder, fOrderList.subList(0, expectedOrder.size()));
- }
-
- // ------------------------------------------------------------------------
- // Helper methods
- // ------------------------------------------------------------------------
-
- private class BackgroundRequest extends TmfEventRequest {
- private int nbEvents = 0;
- private String backgroundName;
-
- BackgroundRequest(TmfTimeRange timeRange) {
- super(fixture.getEventType(),
- timeRange,
- 0,
- ITmfEventRequest.ALL_DATA,
- ExecutionType.BACKGROUND);
- backgroundName = getExecType().toString() + ++fBackgroundId;
- }
-
- @Override
- public void handleData(final ITmfEvent event) {
- super.handleData(event);
- synchronized (fOrderList) {
- if (fOrderList.isEmpty() || !fOrderList.get(fOrderList.size() - 1).equals(backgroundName)) {
- fOrderList.add(backgroundName);
- }
- }
- ++nbEvents;
- }
-
- public int getNbEvents() {
- return nbEvents;
- }
- }
-
- private class ForegroundRequest extends TmfEventRequest {
- private int nbEvents = 0;
- private String foregroundName;
-
- ForegroundRequest(TmfTimeRange timeRange) {
- super(fixture.getEventType(),
- timeRange,
- 0,
- ITmfEventRequest.ALL_DATA,
- ExecutionType.FOREGROUND);
- foregroundName = getExecType().toString() + ++fForegroundId;
- }
-
- @Override
- public void handleData(final ITmfEvent event) {
- super.handleData(event);
- synchronized (fOrderList) {
- if (fOrderList.isEmpty() || !fOrderList.get(fOrderList.size() - 1).equals(foregroundName)) {
- fOrderList.add(foregroundName);
- }
- }
- ++nbEvents;
- }
-
- public int getNbEvents() {
- return nbEvents;
- }
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ctf.core.tests/src/org/eclipse/linuxtools/tmf/ctf/core/tests/statistics/AllTests.java b/lttng/org.eclipse.linuxtools.tmf.ctf.core.tests/src/org/eclipse/linuxtools/tmf/ctf/core/tests/statistics/AllTests.java
deleted file mode 100644
index 11721ed7dc..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ctf.core.tests/src/org/eclipse/linuxtools/tmf/ctf/core/tests/statistics/AllTests.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2012, 2014 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:
- * Alexandre Montplaisir - Initial API and implementation
- ******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.ctf.core.tests.statistics;
-
-import org.junit.runner.RunWith;
-import org.junit.runners.Suite;
-
-/**
- * Test suite
- */
-@RunWith(Suite.class)
-@Suite.SuiteClasses({
- TmfEventsStatisticsTest.class,
- TmfStateStatisticsTest.class
-})
-public class AllTests {}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ctf.core.tests/src/org/eclipse/linuxtools/tmf/ctf/core/tests/statistics/TmfEventsStatisticsTest.java b/lttng/org.eclipse.linuxtools.tmf.ctf.core.tests/src/org/eclipse/linuxtools/tmf/ctf/core/tests/statistics/TmfEventsStatisticsTest.java
deleted file mode 100644
index 18d475b8f7..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ctf.core.tests/src/org/eclipse/linuxtools/tmf/ctf/core/tests/statistics/TmfEventsStatisticsTest.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2012, 2013 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:
- * Alexandre Montplaisir - Initial API and implementation
- ******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.ctf.core.tests.statistics;
-
-import static org.junit.Assume.assumeTrue;
-
-import org.eclipse.linuxtools.tmf.core.statistics.TmfEventsStatistics;
-import org.junit.BeforeClass;
-
-/**
- * Unit tests for the {@link TmfEventsStatistics}
- *
- * @author Alexandre Montplaisir
- */
-public class TmfEventsStatisticsTest extends TmfStatisticsTest {
-
- /**
- * Set up the fixture once for all tests.
- */
- @BeforeClass
- public static void setUpClass() {
- assumeTrue(testTrace.exists());
- backend = new TmfEventsStatistics(testTrace.getTrace());
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ctf.core.tests/src/org/eclipse/linuxtools/tmf/ctf/core/tests/statistics/TmfStateStatisticsTest.java b/lttng/org.eclipse.linuxtools.tmf.ctf.core.tests/src/org/eclipse/linuxtools/tmf/ctf/core/tests/statistics/TmfStateStatisticsTest.java
deleted file mode 100644
index b8a6c526df..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ctf.core.tests/src/org/eclipse/linuxtools/tmf/ctf/core/tests/statistics/TmfStateStatisticsTest.java
+++ /dev/null
@@ -1,89 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2012, 2014 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:
- * Alexandre Montplaisir - Initial API and implementation
- ******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.ctf.core.tests.statistics;
-
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertTrue;
-import static org.junit.Assert.fail;
-import static org.junit.Assume.assumeTrue;
-
-import org.eclipse.linuxtools.statesystem.core.ITmfStateSystem;
-import org.eclipse.linuxtools.tmf.core.exceptions.TmfAnalysisException;
-import org.eclipse.linuxtools.tmf.core.statistics.TmfStateStatistics;
-import org.eclipse.linuxtools.tmf.core.statistics.TmfStatisticsEventTypesModule;
-import org.eclipse.linuxtools.tmf.core.statistics.TmfStatisticsTotalsModule;
-import org.eclipse.linuxtools.tmf.core.trace.ITmfTrace;
-import org.junit.After;
-import org.junit.Before;
-import org.junit.BeforeClass;
-
-/**
- * Unit tests for the {@link TmfStateStatistics}
- *
- * @author Alexandre Montplaisir
- */
-public class TmfStateStatisticsTest extends TmfStatisticsTest {
-
- private ITmfTrace fTrace;
-
- private TmfStatisticsTotalsModule fTotalsMod;
- private TmfStatisticsEventTypesModule fEventTypesMod;
-
- /**
- * Class setup
- */
- @BeforeClass
- public static void setUpClass() {
- assumeTrue(testTrace.exists());
- }
-
- /**
- * Test setup
- */
- @Before
- public void setUp() {
- fTrace = testTrace.getTrace();
-
- /* Prepare the two analysis-backed state systems */
- fTotalsMod = new TmfStatisticsTotalsModule();
- fEventTypesMod = new TmfStatisticsEventTypesModule();
- try {
- fTotalsMod.setTrace(fTrace);
- fEventTypesMod.setTrace(fTrace);
- } catch (TmfAnalysisException e) {
- fail();
- }
-
- fTotalsMod.schedule();
- fEventTypesMod.schedule();
- assertTrue(fTotalsMod.waitForCompletion());
- assertTrue(fEventTypesMod.waitForCompletion());
-
- ITmfStateSystem totalsSS = fTotalsMod.getStateSystem();
- ITmfStateSystem eventTypesSS = fEventTypesMod.getStateSystem();
- assertNotNull(totalsSS);
- assertNotNull(eventTypesSS);
-
- backend = new TmfStateStatistics(totalsSS, eventTypesSS);
- }
-
- /**
- * Test cleanup
- */
- @After
- public void tearDown() {
- fTotalsMod.close();
- fEventTypesMod.close();
- fTrace.dispose();
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ctf.core.tests/src/org/eclipse/linuxtools/tmf/ctf/core/tests/statistics/TmfStatisticsTest.java b/lttng/org.eclipse.linuxtools.tmf.ctf.core.tests/src/org/eclipse/linuxtools/tmf/ctf/core/tests/statistics/TmfStatisticsTest.java
deleted file mode 100644
index 97aa9bd148..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ctf.core.tests/src/org/eclipse/linuxtools/tmf/ctf/core/tests/statistics/TmfStatisticsTest.java
+++ /dev/null
@@ -1,364 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2012, 2014 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:
- * Alexandre Montplaisir - Initial API and implementation
- ******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.ctf.core.tests.statistics;
-
-import static org.junit.Assert.assertEquals;
-
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.linuxtools.tmf.core.statistics.ITmfStatistics;
-import org.eclipse.linuxtools.tmf.ctf.core.tests.shared.CtfTmfTestTrace;
-import org.junit.Rule;
-import org.junit.Test;
-import org.junit.rules.TestRule;
-import org.junit.rules.Timeout;
-
-/**
- * Base unit test class for any type of ITmfStatistics. Sub-classes should
- * implement a "@BeforeClass" method to setup the 'backend' fixture accordingly.
- *
- * @author Alexandre Montplaisir
- */
-public abstract class TmfStatisticsTest {
-
- /** Time-out tests after 30 seconds */
- @Rule public TestRule globalTimeout= new Timeout(30000);
-
- /** Test trace used for these tests */
- protected static final CtfTmfTestTrace testTrace = CtfTmfTestTrace.KERNEL;
-
- /** The statistics back-end object */
- protected static ITmfStatistics backend;
-
- /* Known values about the trace */
- private static final int totalNbEvents = 695319;
- private static final long tStart = 1332170682440133097L; /* Timestamp of first event */
- private static final long tEnd = 1332170692664579801L; /* Timestamp of last event */
-
- /* Timestamps of interest */
- private static final long t1 = 1332170682490946000L;
- private static final long t2 = 1332170682490947524L; /* event exactly here */
- private static final long t3 = 1332170682490948000L;
- private static final long t4 = 1332170682490949000L;
- private static final long t5 = 1332170682490949270L; /* following event here */
- private static final long t6 = 1332170682490949300L;
-
- private static final String eventType = "lttng_statedump_process_state";
-
-
- // ------------------------------------------------------------------------
- // Tests for histogramQuery()
- // ------------------------------------------------------------------------
-
- /**
- * Test the {@link ITmfStatistics#histogramQuery} method for the small known
- * interval.
- */
- @Test
- public void testHistogramQuerySmall() {
- final int NB_REQ = 10;
- List<Long> results = backend.histogramQuery(t1, t6, NB_REQ);
-
- /* Make sure the returned array has the right size */
- assertEquals(NB_REQ, results.size());
-
- /* Check the contents of each "bucket" */
- assertEquals(0, results.get(0).longValue());
- assertEquals(0, results.get(1).longValue());
- assertEquals(0, results.get(2).longValue());
- assertEquals(0, results.get(3).longValue());
- assertEquals(1, results.get(4).longValue());
- assertEquals(0, results.get(5).longValue());
- assertEquals(0, results.get(6).longValue());
- assertEquals(0, results.get(7).longValue());
- assertEquals(0, results.get(8).longValue());
- assertEquals(1, results.get(9).longValue());
-
- }
-
- /**
- * Test the {@link ITmfStatistics#histogramQuery} method over the whole
- * trace.
- */
- @Test
- public void testHistogramQueryFull() {
- final int NB_REQ = 10;
- List<Long> results = backend.histogramQuery(tStart, tEnd, NB_REQ);
-
- /* Make sure the returned array has the right size */
- assertEquals(NB_REQ, results.size());
-
- /* Check the total number of events */
- long count = 0;
- for (long val : results) {
- count += val;
- }
- assertEquals(totalNbEvents, count);
-
- /* Check the contents of each "bucket" */
- assertEquals(94161, results.get(0).longValue());
- assertEquals(87348, results.get(1).longValue());
- assertEquals(58941, results.get(2).longValue());
- assertEquals(59879, results.get(3).longValue());
- assertEquals(66941, results.get(4).longValue());
- assertEquals(68939, results.get(5).longValue());
- assertEquals(72746, results.get(6).longValue());
- assertEquals(60749, results.get(7).longValue());
- assertEquals(61208, results.get(8).longValue());
- assertEquals(64407, results.get(9).longValue());
- }
-
- // ------------------------------------------------------------------------
- // Test for getEventsTotal()
- // ------------------------------------------------------------------------
-
- /**
- * Basic test for {@link ITmfStatistics#getEventsTotal}
- */
- @Test
- public void testGetEventsTotal() {
- long count = backend.getEventsTotal();
- assertEquals(totalNbEvents, count);
- }
-
- // ------------------------------------------------------------------------
- // Test for getEventTypesTotal()
- // ------------------------------------------------------------------------
-
- /**
- * Basic test for {@link ITmfStatistics#getEventTypesTotal}
- */
- @Test
- public void testEventTypesTotal() {
- Map<String, Long> res = backend.getEventTypesTotal();
- assertEquals(126, res.size()); /* Number of different event types in the trace */
-
- long count = sumOfEvents(res);
- assertEquals(totalNbEvents, count);
- }
-
- // ------------------------------------------------------------------------
- // Tests for getEventsInRange(ITmfTimestamp start, ITmfTimestamp end)
- // ------------------------------------------------------------------------
-
- /**
- * Test for {@link ITmfStatistics#getEventsInRange} over the whole trace.
- */
- @Test
- public void testGetEventsInRangeWholeRange() {
- long count = backend.getEventsInRange(tStart, tEnd);
- assertEquals(totalNbEvents, count);
- }
-
- /**
- * Test for {@link ITmfStatistics#getEventsInRange} for the whole range,
- * except the start time (there is only one event at the start time).
- */
- @Test
- public void testGetEventsInRangeMinusStart() {
- long count = backend.getEventsInRange(tStart + 1, tEnd);
- assertEquals(totalNbEvents - 1, count);
- }
-
- /**
- * Test for {@link ITmfStatistics#getEventsInRange} for the whole range,
- * except the end time (there is only one event at the end time).
- */
- @Test
- public void testGetEventsInRangeMinusEnd() {
- long count = backend.getEventsInRange(tStart, tEnd - 1);
- assertEquals(totalNbEvents - 1, count);
- }
-
- /**
- * Test for {@link ITmfStatistics#getEventsInRange} when both the start and
- * end times don't match an event.
- */
- @Test
- public void testGetEventsInRangeNoEventsAtEdges() {
- long count = backend.getEventsInRange(t1, t6);
- assertEquals(2, count);
- }
-
- /**
- * Test for {@link ITmfStatistics#getEventsInRange} when the *start* of the
- * interval is exactly on an event (that event should be included).
- */
- @Test
- public void testGetEventsInRangeEventAtStart() {
- long count = backend.getEventsInRange(t2, t3);
- assertEquals(1, count);
-
- count = backend.getEventsInRange(t2, t6);
- assertEquals(2, count);
- }
-
- /**
- * Test for {@link ITmfStatistics#getEventsInRange} when the *end* of the
- * interval is exactly on an event (that event should be included).
- */
- @Test
- public void testGetEventsInRangeEventAtEnd() {
- long count = backend.getEventsInRange(t4, t5);
- assertEquals(1, count);
-
- count = backend.getEventsInRange(t1, t5);
- assertEquals(2, count);
- }
-
- /**
- * Test for {@link ITmfStatistics#getEventsInRange} when there are events
- * matching exactly both the start and end times of the range (both should
- * be included).
- */
- @Test
- public void testGetEventsInRangeEventAtBoth() {
- long count = backend.getEventsInRange(t2, t5);
- assertEquals(2, count);
- }
-
- /**
- * Test for {@link ITmfStatistics#getEventsInRange} when there are no events
- * in a given range.
- */
- @Test
- public void testGetEventsInRangeNoEvents() {
- long count = backend.getEventsInRange(t3, t4);
- assertEquals(0, count);
- }
-
- // ------------------------------------------------------------------------
- // Tests for getEventTypesInRange(ITmfTimestamp start, ITmfTimestamp end)
- // ------------------------------------------------------------------------
-
- /**
- * Test for {@link ITmfStatistics#getEventTypesInRange} over the whole trace.
- */
- @Test
- public void testGetEventTypesInRangeWholeRange() {
- Map<String, Long> result = backend.getEventTypesInRange(tStart, tEnd);
- /* Number of events of that type in the whole trace */
- assertEquals(new Long(464L), result.get(eventType));
-
- long count = sumOfEvents(result);
- assertEquals(totalNbEvents, count);
- }
-
- /**
- * Test for {@link ITmfStatistics#getEventTypesInRange} for the whole range,
- * except the start time (there is only one event at the start time).
- */
- @Test
- public void testGetEventTypesInRangeMinusStart() {
- Map<String, Long> result = backend.getEventTypesInRange(tStart + 1, tEnd);
-
- long count = sumOfEvents(result);
- assertEquals(totalNbEvents - 1, count);
- }
-
- /**
- * Test for {@link ITmfStatistics#getEventTypesInRange} for the whole range,
- * except the end time (there is only one event at the end time).
- */
- @Test
- public void testGetEventTypesInRangeMinusEnd() {
- Map<String, Long> result = backend.getEventTypesInRange(tStart, tEnd - 1);
-
- long count = sumOfEvents(result);
- assertEquals(totalNbEvents - 1, count);
- }
-
- /**
- * Test for {@link ITmfStatistics#getEventTypesInRange} when both the start
- * and end times don't match an event.
- */
- @Test
- public void testGetEventTypesInRangeNoEventsAtEdges() {
- Map<String, Long> result = backend.getEventTypesInRange(t1, t6);
- assertEquals(new Long(2L), result.get(eventType));
-
- long count = sumOfEvents(result);
- assertEquals(2, count);
- }
-
- /**
- * Test for {@link ITmfStatistics#getEventTypesInRange} when the *start* of
- * the interval is exactly on an event (that event should be included).
- */
- @Test
- public void testGetEventTypesInRangeEventAtStart() {
- Map<String, Long> result = backend.getEventTypesInRange(t2, t3);
- assertEquals(new Long(1L), result.get(eventType));
- long count = sumOfEvents(result);
- assertEquals(1, count);
-
- result = backend.getEventTypesInRange(t2, t6);
- assertEquals(new Long(2L), result.get(eventType));
- count = sumOfEvents(result);
- assertEquals(2, count);
- }
-
- /**
- * Test for {@link ITmfStatistics#getEventTypesInRange} when the *end* of
- * the interval is exactly on an event (that event should be included).
- */
- @Test
- public void testGetEventTypesInRangeEventAtEnd() {
- Map<String, Long> result = backend.getEventTypesInRange(t4, t5);
- assertEquals(new Long(1L), result.get(eventType));
- long count = sumOfEvents(result);
- assertEquals(1, count);
-
- result = backend.getEventTypesInRange(t1, t5);
- assertEquals(new Long(2L), result.get(eventType));
- count = sumOfEvents(result);
- assertEquals(2, count);
- }
-
- /**
- * Test for {@link ITmfStatistics#getEventTypesInRange} when there are
- * events matching exactly both the start and end times of the range (both
- * should be included).
- */
- @Test
- public void testGetEventTypesInRangeEventAtBoth() {
- Map<String, Long> result = backend.getEventTypesInRange(t2, t5);
- assertEquals(new Long(2L), result.get(eventType));
- long count = sumOfEvents(result);
- assertEquals(2, count);
- }
-
- /**
- * Test for {@link ITmfStatistics#getEventTypesInRange} when there are no
- * events in a given range.
- */
- @Test
- public void testGetEventTypesInRangeNoEvents() {
- Map<String, Long> result = backend.getEventTypesInRange(t3, t4);
- long count = sumOfEvents(result);
- assertEquals(0, count);
- }
-
- // ------------------------------------------------------------------------
- // Convenience methods
- // ------------------------------------------------------------------------
-
- private static long sumOfEvents(Map<String, Long> map) {
- long count = 0;
- for (long val : map.values()) {
- count += val;
- }
- return count;
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ctf.core.tests/src/org/eclipse/linuxtools/tmf/ctf/core/tests/tracemanager/AllTests.java b/lttng/org.eclipse.linuxtools.tmf.ctf.core.tests/src/org/eclipse/linuxtools/tmf/ctf/core/tests/tracemanager/AllTests.java
deleted file mode 100644
index e0831e5dc8..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ctf.core.tests/src/org/eclipse/linuxtools/tmf/ctf/core/tests/tracemanager/AllTests.java
+++ /dev/null
@@ -1,25 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 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:
- * Alexandre Montplaisir - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.ctf.core.tests.tracemanager;
-
-import org.junit.runner.RunWith;
-import org.junit.runners.Suite;
-
-/**
- * Test suite
- */
-@RunWith(Suite.class)
-@Suite.SuiteClasses({
- TmfTraceManagerTest.class
-})
-public class AllTests {} \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.tmf.ctf.core.tests/src/org/eclipse/linuxtools/tmf/ctf/core/tests/tracemanager/TmfTraceManagerTest.java b/lttng/org.eclipse.linuxtools.tmf.ctf.core.tests/src/org/eclipse/linuxtools/tmf/ctf/core/tests/tracemanager/TmfTraceManagerTest.java
deleted file mode 100644
index 5919d827cc..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ctf.core.tests/src/org/eclipse/linuxtools/tmf/ctf/core/tests/tracemanager/TmfTraceManagerTest.java
+++ /dev/null
@@ -1,720 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 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:
- * Alexandre Montplaisir - Initial API and implementation
- * Patrick Tasse - Support selection range
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.ctf.core.tests.tracemanager;
-
-import static org.junit.Assert.assertArrayEquals;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertSame;
-import static org.junit.Assume.assumeTrue;
-
-import java.io.File;
-import java.util.Set;
-
-import org.eclipse.linuxtools.tmf.core.event.ITmfEvent;
-import org.eclipse.linuxtools.tmf.core.signal.TmfRangeSynchSignal;
-import org.eclipse.linuxtools.tmf.core.signal.TmfSignalManager;
-import org.eclipse.linuxtools.tmf.core.signal.TmfTimeSynchSignal;
-import org.eclipse.linuxtools.tmf.core.signal.TmfTraceClosedSignal;
-import org.eclipse.linuxtools.tmf.core.signal.TmfTraceOpenedSignal;
-import org.eclipse.linuxtools.tmf.core.signal.TmfTraceSelectedSignal;
-import org.eclipse.linuxtools.tmf.core.timestamp.ITmfTimestamp;
-import org.eclipse.linuxtools.tmf.core.timestamp.TmfTimeRange;
-import org.eclipse.linuxtools.tmf.core.timestamp.TmfTimestamp;
-import org.eclipse.linuxtools.tmf.core.trace.ITmfTrace;
-import org.eclipse.linuxtools.tmf.core.trace.TmfExperiment;
-import org.eclipse.linuxtools.tmf.core.trace.TmfTraceManager;
-import org.eclipse.linuxtools.tmf.ctf.core.tests.shared.CtfTmfTestTrace;
-import org.junit.After;
-import org.junit.AfterClass;
-import org.junit.Before;
-import org.junit.BeforeClass;
-import org.junit.Test;
-
-import com.google.common.collect.ImmutableSet;
-
-/**
- * Test suite for the {@link TmfTraceManager}.
- *
- * @author Alexandre Montplaisir
- */
-public class TmfTraceManagerTest {
-
- private static final int SCALE = ITmfTimestamp.NANOSECOND_SCALE;
-
- private static ITmfTrace trace1;
- private static final long t1start = 1331668247314038062L;
- private static final long t1end = 1331668259054285979L;
-
- private static ITmfTrace trace2;
- private static final long t2start = 1332170682440133097L;
- private static final long t2end = 1332170692664579801L;
-
- private static final long ONE_SECOND = 1000000000L;
-
- private TmfTraceManager tm;
-
-
- /**
- * Test class initialization
- */
- @BeforeClass
- public static void setUpClass() {
- assumeTrue(CtfTmfTestTrace.TRACE2.exists());
- assumeTrue(CtfTmfTestTrace.KERNEL.exists());
- trace1 = CtfTmfTestTrace.TRACE2.getTrace();
- trace2 = CtfTmfTestTrace.KERNEL.getTrace();
-
- trace1.indexTrace(true);
- trace2.indexTrace(true);
-
- // Deregister traces from signal manager so that they don't
- // interfere with the TmfTraceManager tests
- TmfSignalManager.deregister(trace1);
- TmfSignalManager.deregister(trace2);
- }
-
- /**
- * Test initialization
- */
- @Before
- public void setUp() {
- tm = TmfTraceManager.getInstance();
- }
-
- /**
- * Test clean-up
- */
- @After
- public void tearDown() {
- while (tm.getActiveTrace() != null) {
- closeTrace(tm.getActiveTrace());
- }
- }
-
- /**
- * Test class clean-up
- */
- @AfterClass
- public static void tearDownClass() {
- CtfTmfTestTrace.TRACE2.dispose();
- CtfTmfTestTrace.KERNEL.dispose();
- }
-
- // ------------------------------------------------------------------------
- // Dummy actions (fake signals)
- // ------------------------------------------------------------------------
-
- private void openTrace(ITmfTrace trace) {
- if (trace == null) {
- throw new IllegalArgumentException();
- }
- TmfSignalManager.dispatchSignal(new TmfTraceOpenedSignal(this, trace, null));
- selectTrace(trace);
- }
-
- private void closeTrace(ITmfTrace trace) {
- if (trace == null) {
- throw new IllegalArgumentException();
- }
- TmfSignalManager.dispatchSignal(new TmfTraceClosedSignal(this, trace));
- /*
- * In TMF, the next tab would now be selected (if there are some), which
- * would select another trace automatically.
- */
- if (tm.getOpenedTraces().size() > 0) {
- selectTrace(tm.getOpenedTraces().toArray(new ITmfTrace[0])[0]);
- }
- }
-
- private void selectTrace(ITmfTrace trace) {
- TmfSignalManager.dispatchSignal(new TmfTraceSelectedSignal(this, trace));
- }
-
- private void selectTimestamp(ITmfTimestamp ts) {
- TmfSignalManager.dispatchSignal(new TmfTimeSynchSignal(this, ts));
- }
-
- private void selectTimeRange(TmfTimeRange tr) {
- TmfSignalManager.dispatchSignal(new TmfRangeSynchSignal(this, tr));
- }
-
- // ------------------------------------------------------------------------
- // General tests
- // ------------------------------------------------------------------------
-
- /**
- * Test that the manager is correctly initialized
- */
- @Test
- public void testInitialize() {
- TmfTraceManager mgr = TmfTraceManager.getInstance();
- assertNotNull(mgr);
- assertSame(tm, mgr);
- }
-
- /**
- * Test the contents of a trace set with one trace.
- */
- @Test
- public void testTraceSet() {
- openTrace(trace1);
- openTrace(trace2);
- selectTrace(trace2);
-
- ITmfTrace[] expected = new ITmfTrace[] { trace2 };
- ITmfTrace[] actual = tm.getActiveTraceSet();
-
- assertEquals(1, actual.length);
- assertArrayEquals(expected, actual);
- }
-
- /**
- * Test the contents of a trace set with an experiment.
- */
- @Test
- public void testTraceSetExperiment() {
- TmfExperiment exp = createExperiment(trace1, trace2);
- openTrace(trace1);
- openTrace(exp);
-
- ITmfTrace[] expected = new ITmfTrace[] { trace1, trace2 };
- ITmfTrace[] actual = tm.getActiveTraceSet();
-
- assertEquals(2, actual.length);
- assertArrayEquals(expected, actual);
- }
-
- /**
- * Test the contents of the complete trace set.
- */
- @Test
- public void testTraceSetWithExperiment() {
- /* Test with a trace */
- Set<ITmfTrace> expected = ImmutableSet.of(trace1);
- Set<ITmfTrace> actual = TmfTraceManager.getTraceSetWithExperiment(trace1);
- assertEquals(1, actual.size());
- assertEquals(expected, actual);
-
- /* Test with an experiment */
- TmfExperiment exp = createExperiment(trace1, trace2);
- expected = ImmutableSet.of(trace1, trace2, exp);
- actual = TmfTraceManager.getTraceSetWithExperiment(exp);
- assertEquals(3, actual.size());
- assertEquals(expected, actual);
- }
-
- /**
- * Test the {@link TmfTraceManager#getSupplementaryFileDir} method.
- */
- @Test
- public void testSupplementaryFileDir() {
- String name1 = trace1.getName();
- String name2 = trace2.getName();
- String basePath = TmfTraceManager.getTemporaryDirPath() + File.separator;
-
- String expected1 = basePath + name1 + File.separator;
- String expected2 = basePath + name2 + File.separator;
-
- assertEquals(expected1, TmfTraceManager.getSupplementaryFileDir(trace1));
- assertEquals(expected2, TmfTraceManager.getSupplementaryFileDir(trace2));
- }
-
- // ------------------------------------------------------------------------
- // Test a single trace
- // ------------------------------------------------------------------------
-
- /**
- * Test the initial range of a single trace.
- */
- @Test
- public void testTraceInitialRange() {
- openTrace(trace2);
- final TmfTimeRange expectedRange = new TmfTimeRange(
- trace2.getStartTime(),
- calculateOffset(trace2.getStartTime(), trace2.getInitialRangeOffset()));
- TmfTimeRange actualRange = tm.getCurrentRange();
- assertEquals(expectedRange, actualRange);
- }
-
- /**
- * Try selecting a timestamp contained inside the trace's range. The trace's
- * current time should get updated correctly.
- */
- @Test
- public void testNewTimestamp() {
- openTrace(trace2);
- ITmfTimestamp ts = new TmfTimestamp(t2start + ONE_SECOND, SCALE);
- selectTimestamp(ts);
-
- ITmfTimestamp afterTs = tm.getSelectionBeginTime();
- assertEquals(ts, afterTs);
- afterTs = tm.getSelectionEndTime();
- assertEquals(ts, afterTs);
- }
-
- /**
- * Try selecting a timestamp happening before the trace's start. The change
- * should be ignored.
- */
- @Test
- public void testTimestampBefore() {
- openTrace(trace2);
- ITmfTimestamp beforeTs = tm.getSelectionBeginTime();
- ITmfTimestamp ts = new TmfTimestamp(t2start - ONE_SECOND, SCALE);
- selectTimestamp(ts);
-
- ITmfTimestamp curTs = tm.getSelectionBeginTime();
- assertEquals(beforeTs, curTs);
- curTs = tm.getSelectionEndTime();
- assertEquals(beforeTs, curTs);
- }
-
- /**
- * Try selecting a timestamp happening after the trace's end. The change
- * should be ignored.
- */
- @Test
- public void testTimestampAfter() {
- openTrace(trace2);
- ITmfTimestamp beforeTs = tm.getSelectionBeginTime();
- ITmfTimestamp ts = new TmfTimestamp(t2end + ONE_SECOND, SCALE);
- selectTimestamp(ts);
-
- ITmfTimestamp curTs = tm.getSelectionBeginTime();
- assertEquals(beforeTs, curTs);
- curTs = tm.getSelectionEndTime();
- assertEquals(beforeTs, curTs);
- }
-
- /**
- * Test selecting a normal sub-range of a single trace.
- */
- @Test
- public void testTraceNewTimeRange() {
- openTrace(trace2);
- TmfTimeRange range = new TmfTimeRange(
- new TmfTimestamp(t2start + ONE_SECOND, SCALE),
- new TmfTimestamp(t2end - ONE_SECOND, SCALE));
- selectTimeRange(range);
-
- TmfTimeRange curRange = tm.getCurrentRange();
- assertEquals(range.getStartTime(), curRange.getStartTime());
- assertEquals(range.getEndTime(), curRange.getEndTime());
- }
-
- /**
- * Test selecting a range whose start time is before the trace's start time.
- * The selected range should get clamped to the trace's range.
- */
- @Test
- public void testTraceTimeRangeClampingStart() {
- openTrace(trace2);
- TmfTimeRange range = new TmfTimeRange(
- new TmfTimestamp(t2start - ONE_SECOND, SCALE), // minus here
- new TmfTimestamp(t2end - ONE_SECOND, SCALE));
- selectTimeRange(range);
-
- TmfTimeRange curRange = tm.getCurrentRange();
- assertEquals(t2start, curRange.getStartTime().getValue());
- assertEquals(range.getEndTime(), curRange.getEndTime());
- }
-
- /**
- * Test selecting a range whose end time is after the trace's end time.
- * The selected range should get clamped to the trace's range.
- */
- @Test
- public void testTraceTimeRangeClampingEnd() {
- openTrace(trace2);
- TmfTimeRange range = new TmfTimeRange(
- new TmfTimestamp(t2start + ONE_SECOND, SCALE),
- new TmfTimestamp(t2end + ONE_SECOND, SCALE)); // plus here
- selectTimeRange(range);
-
- TmfTimeRange curRange = tm.getCurrentRange();
- assertEquals(range.getStartTime(), curRange.getStartTime());
- assertEquals(t2end, curRange.getEndTime().getValue());
- }
-
- /**
- * Test selecting a range whose both start and end times are outside of the
- * trace's range. The selected range should get clamped to the trace's
- * range.
- */
- @Test
- public void testTraceTimeRangeClampingBoth() {
- openTrace(trace2);
- TmfTimeRange range = new TmfTimeRange(
- new TmfTimestamp(t2start - ONE_SECOND, SCALE), // minus here
- new TmfTimestamp(t2end + ONE_SECOND, SCALE)); // plus here
- selectTimeRange(range);
-
- TmfTimeRange curRange = tm.getCurrentRange();
- assertEquals(t2start, curRange.getStartTime().getValue());
- assertEquals(t2end, curRange.getEndTime().getValue());
- }
-
- // ------------------------------------------------------------------------
- // Test multiple, non-overlapping traces in parallel
- // ------------------------------------------------------------------------
-
- /**
- * Test, with two traces in parallel, when we select a timestamp that is
- * part of the first trace.
- *
- * The first trace's timestamp should be updated, but the second trace's one
- * should not change.
- */
- @Test
- public void testTwoTracesTimestampValid() {
- openTrace(trace1);
- openTrace(trace2);
- selectTrace(trace1);
- TmfTimestamp ts = new TmfTimestamp(t1start + ONE_SECOND, SCALE);
- selectTimestamp(ts);
-
- /* Timestamp of trace1 should have been updated */
- assertEquals(ts, tm.getSelectionBeginTime());
- assertEquals(ts, tm.getSelectionEndTime());
-
- /* Timestamp of trace2 should not have changed */
- selectTrace(trace2);
- assertEquals(trace2.getStartTime(), tm.getSelectionBeginTime());
- assertEquals(trace2.getStartTime(), tm.getSelectionEndTime());
- }
-
- /**
- * Test, with two traces in parallel, when we select a timestamp that is
- * between two traces.
- *
- * None of the trace's timestamps should be updated (we are not in an
- * experiment!)
- */
- @Test
- public void testTwoTracesTimestampInBetween() {
- openTrace(trace1);
- openTrace(trace2);
- selectTrace(trace1);
- TmfTimestamp ts = new TmfTimestamp(t1end + ONE_SECOND, SCALE);
- selectTimestamp(ts);
-
- /* Timestamp of trace1 should not have changed */
- assertEquals(trace1.getStartTime(), tm.getSelectionBeginTime());
- assertEquals(trace1.getStartTime(), tm.getSelectionEndTime());
-
- /* Timestamp of trace2 should not have changed */
- selectTrace(trace2);
- assertEquals(trace2.getStartTime(), tm.getSelectionBeginTime());
- assertEquals(trace2.getStartTime(), tm.getSelectionEndTime());
- }
-
- /**
- * Test, with two traces in parallel, when we select a timestamp that is
- * completely out of the trace's range.
- *
- * None of the trace's timestamps should be updated.
- */
- @Test
- public void testTwoTracesTimestampInvalid() {
- openTrace(trace1);
- openTrace(trace2);
- selectTrace(trace1);
- TmfTimestamp ts = new TmfTimestamp(t2end + ONE_SECOND, SCALE);
- selectTimestamp(ts);
-
- /* Timestamp of trace1 should not have changed */
- assertEquals(trace1.getStartTime(), tm.getSelectionBeginTime());
- assertEquals(trace1.getStartTime(), tm.getSelectionEndTime());
-
- /* Timestamp of trace2 should not have changed */
- selectTrace(trace2);
- assertEquals(trace2.getStartTime(), tm.getSelectionBeginTime());
- assertEquals(trace2.getStartTime(), tm.getSelectionEndTime());
- }
-
- /**
- * Test, with two traces opened in parallel (not in an experiment), if we
- * select a time range valid in one of them. That trace's time range should
- * be updated, but not the other one.
- */
- @Test
- public void testTwoTracesTimeRangeAllInOne() {
- openTrace(trace1);
- openTrace(trace2);
- selectTrace(trace1);
- TmfTimeRange range = new TmfTimeRange(
- new TmfTimestamp(t1start + ONE_SECOND, SCALE),
- new TmfTimestamp(t1end - ONE_SECOND, SCALE));
- selectTimeRange(range);
-
- /* Range of trace1 should be equal to the requested one */
- assertEquals(range, tm.getCurrentRange());
-
- /* The range of trace 2 should not have changed */
- selectTrace(trace2);
- assertEquals(getInitialRange(trace2), tm.getCurrentRange());
- }
-
- /**
- * Test, with two traces in parallel, when we select a time range that is
- * only partially valid for one of the traces.
- *
- * The first trace's time range should be clamped to a valid range, and the
- * second one's should not change.
- */
- @Test
- public void testTwoTracesTimeRangePartiallyInOne() {
- openTrace(trace1);
- openTrace(trace2);
- selectTrace(trace1);
- TmfTimeRange range = new TmfTimeRange(
- new TmfTimestamp(t1start + ONE_SECOND, SCALE),
- new TmfTimestamp(t1end + ONE_SECOND, SCALE));
- selectTimeRange(range);
-
- /* Range of trace1 should get clamped to its end time */
- TmfTimeRange expectedRange = new TmfTimeRange(
- new TmfTimestamp(t1start + ONE_SECOND, SCALE),
- new TmfTimestamp(t1end, SCALE));
- assertEquals(expectedRange, tm.getCurrentRange());
-
- /* Range of trace2 should not have changed */
- selectTrace(trace2);
- assertEquals(getInitialRange(trace2), tm.getCurrentRange());
- }
-
- /**
- * Test, with two traces in parallel, when we select a time range that is
- * only partially valid for both traces.
- *
- * Each trace's time range should get clamped to respectively valid ranges.
- */
- @Test
- public void testTwoTracesTimeRangeInBoth() {
- openTrace(trace1);
- openTrace(trace2);
- selectTrace(trace1);
- TmfTimeRange range = new TmfTimeRange(
- new TmfTimestamp(t1end - ONE_SECOND, SCALE),
- new TmfTimestamp(t2start + ONE_SECOND, SCALE));
- selectTimeRange(range);
-
- /* Range of trace1 should be clamped to its end time */
- TmfTimeRange expectedRange = new TmfTimeRange(
- new TmfTimestamp(t1end - ONE_SECOND, SCALE),
- new TmfTimestamp(t1end, SCALE));
- assertEquals(expectedRange, tm.getCurrentRange());
-
- /* Range of trace2 should be clamped to its start time */
- selectTrace(trace2);
- expectedRange = new TmfTimeRange(
- new TmfTimestamp(t2start, SCALE),
- new TmfTimestamp(t2start + ONE_SECOND, SCALE));
- assertEquals(expectedRange, tm.getCurrentRange());
- }
-
- /**
- * Test, with two traces in parallel, when we select a time range that is
- * not valid for any trace.
- *
- * Each trace's time range should not be modified.
- */
- @Test
- public void testTwoTracesTimeRangeInBetween() {
- openTrace(trace1);
- openTrace(trace2);
- selectTrace(trace1);
- TmfTimeRange range = new TmfTimeRange(
- new TmfTimestamp(t1end + ONE_SECOND, SCALE),
- new TmfTimestamp(t1end - ONE_SECOND, SCALE));
- selectTimeRange(range);
-
- /* Range of trace1 should not have changed */
- TmfTimeRange expectedRange = getInitialRange(trace1);
- TmfTimeRange curRange = tm.getCurrentRange();
- assertEquals(expectedRange.getStartTime(), curRange.getStartTime());
- assertEquals(expectedRange.getEndTime(), curRange.getEndTime());
-
- /* Range of trace2 should not have changed */
- selectTrace(trace2);
- expectedRange = getInitialRange(trace2);
- curRange = tm.getCurrentRange();
- assertEquals(expectedRange.getStartTime(), curRange.getStartTime());
- assertEquals(expectedRange.getEndTime(), curRange.getEndTime());
- }
-
- // ------------------------------------------------------------------------
- // Test an experiment
- // ------------------------------------------------------------------------
-
- /**
- * Test in an experiment when we select a timestamp that is part of one of
- * the experiment's traces.
- *
- * The experiment's current time should be correctly updated.
- */
- @Test
- public void testExperimentTimestampInTrace() {
- TmfExperiment exp = createExperiment(trace1, trace2);
- openTrace(exp);
- TmfTimestamp ts = new TmfTimestamp(t1start + ONE_SECOND, SCALE);
- selectTimestamp(ts);
-
- /* The experiment's current time should be updated. */
- assertEquals(ts, tm.getSelectionBeginTime());
- assertEquals(ts, tm.getSelectionEndTime());
- }
-
- /**
- * Test in an experiment when we select a timestamp that is between two
- * traces in the experiment.
- *
- * The experiment's current time should still be updated, since the
- * timestamp is valid in the experiment itself.
- */
- @Test
- public void testExperimentTimestampInBetween() {
- TmfExperiment exp = createExperiment(trace1, trace2);
- openTrace(exp);
- TmfTimestamp ts = new TmfTimestamp(t1end + ONE_SECOND, SCALE);
- selectTimestamp(ts);
-
- /* The experiment's current time should be updated. */
- assertEquals(ts, tm.getSelectionBeginTime());
- assertEquals(ts, tm.getSelectionEndTime());
- }
-
- /**
- * Test in an experiment when we select a timestamp that is outside of the
- * total range of the experiment.
- *
- * The experiment's current time should not be updated.
- */
- @Test
- public void testExperimentTimestampInvalid() {
- TmfExperiment exp = createExperiment(trace1, trace2);
- openTrace(exp);
- TmfTimestamp ts = new TmfTimestamp(t2end + ONE_SECOND, SCALE);
- selectTimestamp(ts);
-
- /* The experiment's current time should NOT be updated. */
- assertEquals(trace1.getStartTime(), tm.getSelectionBeginTime());
- assertEquals(trace1.getStartTime(), tm.getSelectionEndTime());
- }
-
- /**
- * Test the initial range of an experiment.
- */
- @Test
- public void testExperimentInitialRange() {
- TmfExperiment exp = createExperiment(trace1, trace2);
- openTrace(exp);
- /*
- * The initial range should be == to the initial range of the earliest
- * trace (here trace1).
- */
- final TmfTimeRange actualRange = tm.getCurrentRange();
-
- assertEquals(getInitialRange(trace1), actualRange);
- assertEquals(getInitialRange(exp), actualRange);
- }
-
- /**
- * Test the range clamping with the start time of the range outside of the
- * earliest trace's range. Only that start time should get clamped.
- */
- @Test
- public void testExperimentRangeClampingOne() {
- TmfExperiment exp = createExperiment(trace1, trace2);
- openTrace(exp);
-
- final TmfTimeRange range = new TmfTimeRange(
- new TmfTimestamp(t1start - ONE_SECOND, SCALE),
- new TmfTimestamp(t1end - ONE_SECOND, SCALE));
- selectTimeRange(range);
-
- TmfTimeRange actualRange = tm.getCurrentRange();
- assertEquals(t1start, actualRange.getStartTime().getValue());
- assertEquals(t1end - ONE_SECOND, actualRange.getEndTime().getValue());
- }
-
- /**
- * Test the range clamping when both the start and end times of the signal's
- * range are outside of the trace's range. The range should clamp to the
- * experiment's range.
- */
- @Test
- public void testExperimentRangeClampingBoth() {
- TmfExperiment exp = createExperiment(trace1, trace2);
- openTrace(exp);
-
- final TmfTimeRange range = new TmfTimeRange(
- new TmfTimestamp(t1start - ONE_SECOND, SCALE),
- new TmfTimestamp(t2end + ONE_SECOND, SCALE));
- selectTimeRange(range);
-
- TmfTimeRange actualRange = tm.getCurrentRange();
- assertEquals(t1start, actualRange.getStartTime().getValue());
- assertEquals(t2end, actualRange.getEndTime().getValue());
- }
-
- /**
- * Test selecting a range in-between two disjoint traces in an experiment.
- * The range should still get correctly selected, even if no trace has any
- * events in that range.
- */
- @Test
- public void testExperimentRangeInBetween() {
- TmfExperiment exp = createExperiment(trace1, trace2);
- openTrace(exp);
-
- final TmfTimeRange range = new TmfTimeRange(
- new TmfTimestamp(t1end + ONE_SECOND, SCALE),
- new TmfTimestamp(t2start - ONE_SECOND, SCALE));
- selectTimeRange(range);
-
- TmfTimeRange actualRange = tm.getCurrentRange();
- assertEquals(range, actualRange);
- }
-
- // ------------------------------------------------------------------------
- // Utility methods
- // ------------------------------------------------------------------------
-
- private static TmfExperiment createExperiment(ITmfTrace t1, ITmfTrace t2) {
- ITmfTrace[] traces = new ITmfTrace[] { t1, t2 };
- TmfExperiment exp = new TmfExperiment(ITmfEvent.class, "test-exp", traces);
- exp.indexTrace(true);
- // Deregister experiment from signal manager so that it doesn't
- // interfere with the TmfTraceManager tests
- TmfSignalManager.deregister(exp);
- return exp;
- }
-
- private static TmfTimeRange getInitialRange(ITmfTrace trace) {
- return new TmfTimeRange(
- trace.getStartTime(),
- calculateOffset(trace.getStartTime(), trace.getInitialRangeOffset()));
- }
-
- /**
- * Basically a "initial + offset" operation, but for ITmfTimetamp objects.
- */
- private static ITmfTimestamp calculateOffset(ITmfTimestamp initialTs, ITmfTimestamp offsetTs) {
- long start = initialTs.normalize(0, SCALE).getValue();
- long offset = offsetTs.normalize(0, SCALE).getValue();
- return new TmfTimestamp(start + offset, SCALE);
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ctf.core.tests/stubs/org/eclipse/linuxtools/tmf/ctf/core/tests/stubs/CtfTmfTraceStub.java b/lttng/org.eclipse.linuxtools.tmf.ctf.core.tests/stubs/org/eclipse/linuxtools/tmf/ctf/core/tests/stubs/CtfTmfTraceStub.java
deleted file mode 100644
index 5a52a131b4..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ctf.core.tests/stubs/org/eclipse/linuxtools/tmf/ctf/core/tests/stubs/CtfTmfTraceStub.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 École Polytechnique de Montréal
- *
- * 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:
- * Geneviève Bastien - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.ctf.core.tests.stubs;
-
-import org.eclipse.linuxtools.tmf.core.signal.TmfSignalManager;
-import org.eclipse.linuxtools.tmf.core.signal.TmfTraceOpenedSignal;
-import org.eclipse.linuxtools.tmf.core.signal.TmfTraceSelectedSignal;
-import org.eclipse.linuxtools.tmf.ctf.core.CtfTmfTrace;
-
-/**
- * Dummy test ctf trace
- */
-public class CtfTmfTraceStub extends CtfTmfTrace {
-
- /**
- * Simulate trace opening, to be called by tests who need an actively opened
- * trace
- */
- public void openTrace() {
- TmfSignalManager.dispatchSignal(new TmfTraceOpenedSignal(this, this, null));
- selectTrace();
- }
-
- /**
- * Simulate selecting the trace
- */
- public void selectTrace() {
- TmfSignalManager.dispatchSignal(new TmfTraceSelectedSignal(this, this));
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ctf.core/.classpath b/lttng/org.eclipse.linuxtools.tmf.ctf.core/.classpath
deleted file mode 100644
index 098194ca4b..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ctf.core/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
- <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.7"/>
- <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
- <classpathentry kind="src" path="src"/>
- <classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/lttng/org.eclipse.linuxtools.tmf.ctf.core/.project b/lttng/org.eclipse.linuxtools.tmf.ctf.core/.project
deleted file mode 100644
index 6b8f39f1dd..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ctf.core/.project
+++ /dev/null
@@ -1,34 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>org.eclipse.linuxtools.tmf.ctf.core</name>
- <comment></comment>
- <projects>
- </projects>
- <buildSpec>
- <buildCommand>
- <name>org.eclipse.jdt.core.javabuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.ManifestBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.SchemaBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.api.tools.apiAnalysisBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>org.eclipse.pde.PluginNature</nature>
- <nature>org.eclipse.jdt.core.javanature</nature>
- <nature>org.eclipse.pde.api.tools.apiAnalysisNature</nature>
- </natures>
-</projectDescription>
diff --git a/lttng/org.eclipse.linuxtools.tmf.ctf.core/.settings/org.eclipse.core.resources.prefs b/lttng/org.eclipse.linuxtools.tmf.ctf.core/.settings/org.eclipse.core.resources.prefs
deleted file mode 100644
index 99f26c0203..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ctf.core/.settings/org.eclipse.core.resources.prefs
+++ /dev/null
@@ -1,2 +0,0 @@
-eclipse.preferences.version=1
-encoding/<project>=UTF-8
diff --git a/lttng/org.eclipse.linuxtools.tmf.ctf.core/.settings/org.eclipse.core.runtime.prefs b/lttng/org.eclipse.linuxtools.tmf.ctf.core/.settings/org.eclipse.core.runtime.prefs
deleted file mode 100644
index 5a0ad22d2a..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ctf.core/.settings/org.eclipse.core.runtime.prefs
+++ /dev/null
@@ -1,2 +0,0 @@
-eclipse.preferences.version=1
-line.separator=\n
diff --git a/lttng/org.eclipse.linuxtools.tmf.ctf.core/.settings/org.eclipse.jdt.core.prefs b/lttng/org.eclipse.linuxtools.tmf.ctf.core/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index 9f3662cd78..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ctf.core/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,394 +0,0 @@
-eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.annotation.inheritNullAnnotations=enabled
-org.eclipse.jdt.core.compiler.annotation.missingNonNullByDefaultAnnotation=ignore
-org.eclipse.jdt.core.compiler.annotation.nonnull=org.eclipse.jdt.annotation.NonNull
-org.eclipse.jdt.core.compiler.annotation.nonnullbydefault=org.eclipse.jdt.annotation.NonNullByDefault
-org.eclipse.jdt.core.compiler.annotation.nullable=org.eclipse.jdt.annotation.Nullable
-org.eclipse.jdt.core.compiler.annotation.nullanalysis=enabled
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.7
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.doc.comment.support=enabled
-org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=error
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
-org.eclipse.jdt.core.compiler.problem.comparingIdentical=error
-org.eclipse.jdt.core.compiler.problem.deadCode=error
-org.eclipse.jdt.core.compiler.problem.deprecation=error
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled
-org.eclipse.jdt.core.compiler.problem.discouragedReference=warning
-org.eclipse.jdt.core.compiler.problem.emptyStatement=error
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.problem.explicitlyClosedAutoCloseable=error
-org.eclipse.jdt.core.compiler.problem.fallthroughCase=error
-org.eclipse.jdt.core.compiler.problem.fatalOptionalError=disabled
-org.eclipse.jdt.core.compiler.problem.fieldHiding=error
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=error
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=error
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=error
-org.eclipse.jdt.core.compiler.problem.includeNullInfoFromAsserts=disabled
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=error
-org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=error
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=error
-org.eclipse.jdt.core.compiler.problem.invalidJavadoc=warning
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTags=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=protected
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=error
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=error
-org.eclipse.jdt.core.compiler.problem.missingDefaultCase=error
-org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=error
-org.eclipse.jdt.core.compiler.problem.missingEnumCaseDespiteDefault=enabled
-org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=error
-org.eclipse.jdt.core.compiler.problem.missingJavadocComments=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=protected
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagDescription=all_standard_tags
-org.eclipse.jdt.core.compiler.problem.missingJavadocTags=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsMethodTypeParameters=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=protected
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=error
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotationForInterfaceMethodImplementation=enabled
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=error
-org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=error
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=error
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=error
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=warning
-org.eclipse.jdt.core.compiler.problem.nonnullParameterAnnotationDropped=warning
-org.eclipse.jdt.core.compiler.problem.nullAnnotationInferenceConflict=warning
-org.eclipse.jdt.core.compiler.problem.nullReference=error
-org.eclipse.jdt.core.compiler.problem.nullSpecViolation=error
-org.eclipse.jdt.core.compiler.problem.nullUncheckedConversion=warning
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=error
-org.eclipse.jdt.core.compiler.problem.parameterAssignment=error
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=error
-org.eclipse.jdt.core.compiler.problem.potentialNullReference=error
-org.eclipse.jdt.core.compiler.problem.potentiallyUnclosedCloseable=warning
-org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning
-org.eclipse.jdt.core.compiler.problem.redundantNullAnnotation=warning
-org.eclipse.jdt.core.compiler.problem.redundantNullCheck=error
-org.eclipse.jdt.core.compiler.problem.redundantSpecificationOfTypeArguments=error
-org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=error
-org.eclipse.jdt.core.compiler.problem.reportMethodCanBePotentiallyStatic=ignore
-org.eclipse.jdt.core.compiler.problem.reportMethodCanBeStatic=error
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=error
-org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=disabled
-org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
-org.eclipse.jdt.core.compiler.problem.syntacticNullAnalysisForFields=enabled
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
-org.eclipse.jdt.core.compiler.problem.typeParameterHiding=error
-org.eclipse.jdt.core.compiler.problem.unavoidableGenericTypeProblems=disabled
-org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
-org.eclipse.jdt.core.compiler.problem.unclosedCloseable=error
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
-org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=error
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=error
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=error
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=warning
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=disabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=disabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=error
-org.eclipse.jdt.core.compiler.problem.unusedLabel=error
-org.eclipse.jdt.core.compiler.problem.unusedLocal=error
-org.eclipse.jdt.core.compiler.problem.unusedObjectAllocation=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=error
-org.eclipse.jdt.core.compiler.problem.unusedTypeParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedWarningToken=error
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=error
-org.eclipse.jdt.core.compiler.source=1.7
-org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_assignment=0
-org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
-org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
-org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
-org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
-org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0
-org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=80
-org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=0
-org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch=16
-org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_after_package=1
-org.eclipse.jdt.core.formatter.blank_lines_before_field=0
-org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
-org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
-org.eclipse.jdt.core.formatter.blank_lines_before_method=1
-org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
-org.eclipse.jdt.core.formatter.blank_lines_before_package=0
-org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
-org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
-org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
-org.eclipse.jdt.core.formatter.comment.format_block_comments=true
-org.eclipse.jdt.core.formatter.comment.format_header=false
-org.eclipse.jdt.core.formatter.comment.format_html=true
-org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=true
-org.eclipse.jdt.core.formatter.comment.format_line_comments=true
-org.eclipse.jdt.core.formatter.comment.format_source_code=true
-org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true
-org.eclipse.jdt.core.formatter.comment.indent_root_tags=true
-org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
-org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=insert
-org.eclipse.jdt.core.formatter.comment.line_length=80
-org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries=true
-org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries=true
-org.eclipse.jdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments=false
-org.eclipse.jdt.core.formatter.compact_else_if=true
-org.eclipse.jdt.core.formatter.continuation_indentation=2
-org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2
-org.eclipse.jdt.core.formatter.disabling_tag=@formatter\:off
-org.eclipse.jdt.core.formatter.enabling_tag=@formatter\:on
-org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
-org.eclipse.jdt.core.formatter.format_line_comment_starting_on_first_column=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
-org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_empty_lines=false
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=false
-org.eclipse.jdt.core.formatter.indentation.size=4
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_label=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_try=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources=insert
-org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_try=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
-org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.join_lines_in_comments=true
-org.eclipse.jdt.core.formatter.join_wrapped_lines=false
-org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.lineSplit=250
-org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
-org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
-org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true
-org.eclipse.jdt.core.formatter.tabulation.char=space
-org.eclipse.jdt.core.formatter.tabulation.size=4
-org.eclipse.jdt.core.formatter.use_on_off_tags=false
-org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
-org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
-org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true
-org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true
diff --git a/lttng/org.eclipse.linuxtools.tmf.ctf.core/.settings/org.eclipse.jdt.ui.prefs b/lttng/org.eclipse.linuxtools.tmf.ctf.core/.settings/org.eclipse.jdt.ui.prefs
deleted file mode 100644
index 4fd0c7006a..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ctf.core/.settings/org.eclipse.jdt.ui.prefs
+++ /dev/null
@@ -1,56 +0,0 @@
-eclipse.preferences.version=1
-editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
-formatter_profile=_tmf-style
-formatter_settings_version=12
-sp_cleanup.add_default_serial_version_id=true
-sp_cleanup.add_generated_serial_version_id=false
-sp_cleanup.add_missing_annotations=false
-sp_cleanup.add_missing_deprecated_annotations=true
-sp_cleanup.add_missing_methods=false
-sp_cleanup.add_missing_nls_tags=false
-sp_cleanup.add_missing_override_annotations=true
-sp_cleanup.add_missing_override_annotations_interface_methods=true
-sp_cleanup.add_serial_version_id=false
-sp_cleanup.always_use_blocks=true
-sp_cleanup.always_use_parentheses_in_expressions=false
-sp_cleanup.always_use_this_for_non_static_field_access=false
-sp_cleanup.always_use_this_for_non_static_method_access=false
-sp_cleanup.convert_to_enhanced_for_loop=false
-sp_cleanup.correct_indentation=false
-sp_cleanup.format_source_code=false
-sp_cleanup.format_source_code_changes_only=false
-sp_cleanup.make_local_variable_final=false
-sp_cleanup.make_parameters_final=false
-sp_cleanup.make_private_fields_final=true
-sp_cleanup.make_type_abstract_if_missing_method=false
-sp_cleanup.make_variable_declarations_final=false
-sp_cleanup.never_use_blocks=false
-sp_cleanup.never_use_parentheses_in_expressions=true
-sp_cleanup.on_save_use_additional_actions=true
-sp_cleanup.organize_imports=false
-sp_cleanup.qualify_static_field_accesses_with_declaring_class=false
-sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_with_declaring_class=false
-sp_cleanup.qualify_static_method_accesses_with_declaring_class=false
-sp_cleanup.remove_private_constructors=true
-sp_cleanup.remove_trailing_whitespaces=true
-sp_cleanup.remove_trailing_whitespaces_all=true
-sp_cleanup.remove_trailing_whitespaces_ignore_empty=false
-sp_cleanup.remove_unnecessary_casts=false
-sp_cleanup.remove_unnecessary_nls_tags=false
-sp_cleanup.remove_unused_imports=false
-sp_cleanup.remove_unused_local_variables=false
-sp_cleanup.remove_unused_private_fields=true
-sp_cleanup.remove_unused_private_members=false
-sp_cleanup.remove_unused_private_methods=true
-sp_cleanup.remove_unused_private_types=true
-sp_cleanup.sort_members=false
-sp_cleanup.sort_members_all=false
-sp_cleanup.use_blocks=true
-sp_cleanup.use_blocks_only_for_return_and_throw=false
-sp_cleanup.use_parentheses_in_expressions=false
-sp_cleanup.use_this_for_non_static_field_access=false
-sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=true
-sp_cleanup.use_this_for_non_static_method_access=false
-sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true
diff --git a/lttng/org.eclipse.linuxtools.tmf.ctf.core/.settings/org.eclipse.pde.api.tools.prefs b/lttng/org.eclipse.linuxtools.tmf.ctf.core/.settings/org.eclipse.pde.api.tools.prefs
deleted file mode 100644
index acc3abd47c..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ctf.core/.settings/org.eclipse.pde.api.tools.prefs
+++ /dev/null
@@ -1,97 +0,0 @@
-ANNOTATION_ELEMENT_TYPE_ADDED_METHOD_WITHOUT_DEFAULT_VALUE=Error
-ANNOTATION_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
-ANNOTATION_ELEMENT_TYPE_REMOVED_FIELD=Error
-ANNOTATION_ELEMENT_TYPE_REMOVED_METHOD=Error
-ANNOTATION_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
-API_COMPONENT_ELEMENT_TYPE_REMOVED_API_TYPE=Error
-API_COMPONENT_ELEMENT_TYPE_REMOVED_REEXPORTED_API_TYPE=Error
-API_COMPONENT_ELEMENT_TYPE_REMOVED_REEXPORTED_TYPE=Error
-API_COMPONENT_ELEMENT_TYPE_REMOVED_TYPE=Error
-API_USE_SCAN_FIELD_SEVERITY=Error
-API_USE_SCAN_METHOD_SEVERITY=Error
-API_USE_SCAN_TYPE_SEVERITY=Error
-CLASS_ELEMENT_TYPE_ADDED_METHOD=Error
-CLASS_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
-CLASS_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
-CLASS_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error
-CLASS_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
-CLASS_ELEMENT_TYPE_CHANGED_NON_ABSTRACT_TO_ABSTRACT=Error
-CLASS_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error
-CLASS_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
-CLASS_ELEMENT_TYPE_REMOVED_CONSTRUCTOR=Error
-CLASS_ELEMENT_TYPE_REMOVED_FIELD=Error
-CLASS_ELEMENT_TYPE_REMOVED_METHOD=Error
-CLASS_ELEMENT_TYPE_REMOVED_SUPERCLASS=Error
-CLASS_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
-CLASS_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
-CONSTRUCTOR_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
-CONSTRUCTOR_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
-CONSTRUCTOR_ELEMENT_TYPE_CHANGED_VARARGS_TO_ARRAY=Error
-CONSTRUCTOR_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
-ENUM_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error
-ENUM_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
-ENUM_ELEMENT_TYPE_REMOVED_ENUM_CONSTANT=Error
-ENUM_ELEMENT_TYPE_REMOVED_FIELD=Error
-ENUM_ELEMENT_TYPE_REMOVED_METHOD=Error
-ENUM_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
-FIELD_ELEMENT_TYPE_ADDED_VALUE=Error
-FIELD_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
-FIELD_ELEMENT_TYPE_CHANGED_FINAL_TO_NON_FINAL_STATIC_CONSTANT=Error
-FIELD_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error
-FIELD_ELEMENT_TYPE_CHANGED_NON_STATIC_TO_STATIC=Error
-FIELD_ELEMENT_TYPE_CHANGED_STATIC_TO_NON_STATIC=Error
-FIELD_ELEMENT_TYPE_CHANGED_TYPE=Error
-FIELD_ELEMENT_TYPE_CHANGED_VALUE=Error
-FIELD_ELEMENT_TYPE_REMOVED_TYPE_ARGUMENT=Error
-FIELD_ELEMENT_TYPE_REMOVED_VALUE=Error
-ILLEGAL_EXTEND=Warning
-ILLEGAL_IMPLEMENT=Warning
-ILLEGAL_INSTANTIATE=Warning
-ILLEGAL_OVERRIDE=Warning
-ILLEGAL_REFERENCE=Warning
-INTERFACE_ELEMENT_TYPE_ADDED_FIELD=Error
-INTERFACE_ELEMENT_TYPE_ADDED_METHOD=Error
-INTERFACE_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
-INTERFACE_ELEMENT_TYPE_ADDED_SUPER_INTERFACE_WITH_METHODS=Error
-INTERFACE_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
-INTERFACE_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error
-INTERFACE_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
-INTERFACE_ELEMENT_TYPE_REMOVED_FIELD=Error
-INTERFACE_ELEMENT_TYPE_REMOVED_METHOD=Error
-INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
-INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
-INVALID_JAVADOC_TAG=Warning
-INVALID_REFERENCE_IN_SYSTEM_LIBRARIES=Warning
-LEAK_EXTEND=Warning
-LEAK_FIELD_DECL=Warning
-LEAK_IMPLEMENT=Warning
-LEAK_METHOD_PARAM=Warning
-LEAK_METHOD_RETURN_TYPE=Warning
-METHOD_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
-METHOD_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
-METHOD_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
-METHOD_ELEMENT_TYPE_CHANGED_NON_ABSTRACT_TO_ABSTRACT=Error
-METHOD_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error
-METHOD_ELEMENT_TYPE_CHANGED_NON_STATIC_TO_STATIC=Error
-METHOD_ELEMENT_TYPE_CHANGED_STATIC_TO_NON_STATIC=Error
-METHOD_ELEMENT_TYPE_CHANGED_VARARGS_TO_ARRAY=Error
-METHOD_ELEMENT_TYPE_REMOVED_ANNOTATION_DEFAULT_VALUE=Error
-METHOD_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
-MISSING_EE_DESCRIPTIONS=Ignore
-TYPE_PARAMETER_ELEMENT_TYPE_ADDED_CLASS_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_ADDED_INTERFACE_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_CHANGED_CLASS_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_CHANGED_INTERFACE_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_CLASS_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error
-UNUSED_PROBLEM_FILTERS=Warning
-automatically_removed_unused_problem_filters=false
-eclipse.preferences.version=1
-incompatible_api_component_version=Error
-incompatible_api_component_version_include_major_without_breaking_change=Disabled
-incompatible_api_component_version_include_minor_without_api_change=Disabled
-invalid_since_tag_version=Error
-malformed_since_tag=Error
-missing_since_tag=Error
-report_api_breakage_when_major_version_incremented=Disabled
-report_resolution_errors_api_component=Warning
diff --git a/lttng/org.eclipse.linuxtools.tmf.ctf.core/.settings/org.eclipse.pde.prefs b/lttng/org.eclipse.linuxtools.tmf.ctf.core/.settings/org.eclipse.pde.prefs
deleted file mode 100644
index d92b94fd4b..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ctf.core/.settings/org.eclipse.pde.prefs
+++ /dev/null
@@ -1,32 +0,0 @@
-compilers.f.unresolved-features=1
-compilers.f.unresolved-plugins=1
-compilers.incompatible-environment=1
-compilers.p.build=1
-compilers.p.build.bin.includes=1
-compilers.p.build.encodings=2
-compilers.p.build.java.compiler=2
-compilers.p.build.java.compliance=1
-compilers.p.build.missing.output=2
-compilers.p.build.output.library=1
-compilers.p.build.source.library=1
-compilers.p.build.src.includes=1
-compilers.p.deprecated=1
-compilers.p.discouraged-class=1
-compilers.p.internal=1
-compilers.p.missing-packages=1
-compilers.p.missing-version-export-package=2
-compilers.p.missing-version-import-package=2
-compilers.p.missing-version-require-bundle=2
-compilers.p.no-required-att=0
-compilers.p.not-externalized-att=1
-compilers.p.unknown-attribute=1
-compilers.p.unknown-class=1
-compilers.p.unknown-element=1
-compilers.p.unknown-identifier=1
-compilers.p.unknown-resource=1
-compilers.p.unresolved-ex-points=0
-compilers.p.unresolved-import=0
-compilers.s.create-docs=false
-compilers.s.doc-folder=doc
-compilers.s.open-tags=1
-eclipse.preferences.version=1
diff --git a/lttng/org.eclipse.linuxtools.tmf.ctf.core/META-INF/MANIFEST.MF b/lttng/org.eclipse.linuxtools.tmf.ctf.core/META-INF/MANIFEST.MF
deleted file mode 100644
index 6f4163a96a..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ctf.core/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,18 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %Bundle-Name
-Bundle-Vendor: %Bundle-Vendor
-Bundle-Version: 3.1.0.qualifier
-Bundle-Localization: plugin
-Bundle-SymbolicName: org.eclipse.linuxtools.tmf.ctf.core;singleton:=true
-Bundle-Activator: org.eclipse.linuxtools.internal.tmf.ctf.core.Activator
-Bundle-ActivationPolicy: lazy
-Bundle-RequiredExecutionEnvironment: JavaSE-1.7
-Require-Bundle: org.eclipse.core.runtime,
- org.eclipse.core.resources,
- org.eclipse.linuxtools.ctf.core;bundle-version="3.1.0",
- org.eclipse.linuxtools.tmf.core;bundle-version="3.1.0"
-Export-Package: org.eclipse.linuxtools.internal.tmf.ctf.core;x-internal:=true,
- org.eclipse.linuxtools.tmf.ctf.core
-Import-Package: com.google.common.collect,
- org.eclipse.emf.common.util
diff --git a/lttng/org.eclipse.linuxtools.tmf.ctf.core/about.html b/lttng/org.eclipse.linuxtools.tmf.ctf.core/about.html
deleted file mode 100644
index 28737f60b7..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ctf.core/about.html
+++ /dev/null
@@ -1,28 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
-<title>About</title>
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
-
-<p>June 5, 2006</p>
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;). Unless otherwise
-indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is available
-at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is
-being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content. Check the Redistributor's license that was
-provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at <a href="http://www.eclipse.org/">http://www.eclipse.org</a>.</p>
-
-</body>
-</html> \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.tmf.ctf.core/build.properties b/lttng/org.eclipse.linuxtools.tmf.ctf.core/build.properties
deleted file mode 100644
index 244c9d8e3e..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ctf.core/build.properties
+++ /dev/null
@@ -1,22 +0,0 @@
-###############################################################################
-# Copyright (c) 2013, 2014 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:
-# Ericsson - Initial API and implementation
-###############################################################################
-
-source.. = src/
-output.. = bin/
-bin.includes = META-INF/,\
- .,\
- about.html,\
- plugin.properties,\
- plugin.xml
-src.includes = about.html
-additional.bundles = org.eclipse.jdt.annotation
-jars.extra.classpath = platform:/plugin/org.eclipse.jdt.annotation
diff --git a/lttng/org.eclipse.linuxtools.tmf.ctf.core/plugin.properties b/lttng/org.eclipse.linuxtools.tmf.ctf.core/plugin.properties
deleted file mode 100644
index 9532831de2..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ctf.core/plugin.properties
+++ /dev/null
@@ -1,19 +0,0 @@
-###############################################################################
-# Copyright (c) 2013, 2014 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:
-# Ericsson - Initial API and implementation
-###############################################################################
-
-#Properties file for org.eclipse.linuxtools.tmf.ctf.core
-Bundle-Vendor = Eclipse Linux Tools
-Bundle-Name = CTF support for TMF Core Plug-in
-
-# CTF trace type
-tracetype.category.ctf = Common Trace Format
-tracetype.type.ctf = Generic CTF Trace
diff --git a/lttng/org.eclipse.linuxtools.tmf.ctf.core/plugin.xml b/lttng/org.eclipse.linuxtools.tmf.ctf.core/plugin.xml
deleted file mode 100644
index edf9524381..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ctf.core/plugin.xml
+++ /dev/null
@@ -1,20 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.4"?>
-<plugin>
- <extension
- point="org.eclipse.linuxtools.tmf.core.tracetype">
- <category
- id="org.eclipse.linuxtools.tmf.ctf.core.category.ctf"
- name="%tracetype.category.ctf">
- </category>
- <type
- category="org.eclipse.linuxtools.tmf.ctf.core.category.ctf"
- event_type="org.eclipse.linuxtools.tmf.ctf.core.CtfTmfEvent"
- id="org.eclipse.linuxtools.tmf.ui.type.ctf"
- isDirectory="true"
- name="%tracetype.type.ctf"
- trace_type="org.eclipse.linuxtools.tmf.ctf.core.CtfTmfTrace">
- </type>
- </extension>
-
-</plugin>
diff --git a/lttng/org.eclipse.linuxtools.tmf.ctf.core/pom.xml b/lttng/org.eclipse.linuxtools.tmf.ctf.core/pom.xml
deleted file mode 100644
index cef066fb52..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ctf.core/pom.xml
+++ /dev/null
@@ -1,36 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Copyright (C) 2011, Red Hat, Inc.
-
- 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
--->
-<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
- <modelVersion>4.0.0</modelVersion>
-
- <parent>
- <artifactId>linuxtools-lttng-parent</artifactId>
- <groupId>org.eclipse.linuxtools.lttng</groupId>
- <version>3.2.0-SNAPSHOT</version>
- </parent>
-
- <artifactId>org.eclipse.linuxtools.tmf.ctf.core</artifactId>
- <version>3.1.0-SNAPSHOT</version>
- <packaging>eclipse-plugin</packaging>
-
- <name>CTF support for TMF Core Plug-in</name>
-
- <build>
- <plugins>
- <plugin>
- <groupId>org.eclipse.tycho</groupId>
- <artifactId>tycho-source-plugin</artifactId>
- </plugin>
- </plugins>
- </build>
-
- <groupId>org.eclipse.linuxtools.tmf</groupId>
-</project>
diff --git a/lttng/org.eclipse.linuxtools.tmf.ctf.core/src/org/eclipse/linuxtools/internal/tmf/ctf/core/Activator.java b/lttng/org.eclipse.linuxtools.tmf.ctf.core/src/org/eclipse/linuxtools/internal/tmf/ctf/core/Activator.java
deleted file mode 100644
index 6a13879c8b..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ctf.core/src/org/eclipse/linuxtools/internal/tmf/ctf/core/Activator.java
+++ /dev/null
@@ -1,137 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2012, 2013 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.internal.tmf.ctf.core;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Plugin;
-import org.eclipse.core.runtime.Status;
-import org.osgi.framework.BundleContext;
-
-/**
- * <b><u>Activator</u></b>
- * <p>
- * The activator class controls the plug-in life cycle
- */
-public class Activator extends Plugin {
-
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
-
- /**
- * The plug-in ID
- */
- public static final String PLUGIN_ID = "org.eclipse.linuxtools.tmf.ctf.core"; //$NON-NLS-1$
-
- /**
- * The shared instance
- */
- private static Activator plugin;
-
- // ------------------------------------------------------------------------
- // Constructors
- // ------------------------------------------------------------------------
-
- /**
- * The constructor
- */
- public Activator() {
- }
-
- // ------------------------------------------------------------------------
- // Accessors
- // ------------------------------------------------------------------------
-
- /**
- * Returns the shared instance
- *
- * @return the shared instance
- */
- public static Activator getDefault() {
- return plugin;
- }
-
- // ------------------------------------------------------------------------
- // Operators
- // ------------------------------------------------------------------------
-
- @Override
- public void start(BundleContext context) throws Exception {
- super.start(context);
- plugin = this;
- }
-
- @Override
- public void stop(BundleContext context) throws Exception {
- plugin = null;
- super.stop(context);
- }
-
- /**
- * Logs a message with severity INFO in the runtime log of the plug-in.
- *
- * @param message A message to log
- */
- public void logInfo(String message) {
- getLog().log(new Status(IStatus.INFO, PLUGIN_ID, message));
- }
-
- /**
- * Logs a message and exception with severity INFO in the runtime log of the plug-in.
- *
- * @param message A message to log
- * @param exception A exception to log
- */
- public void logInfo(String message, Throwable exception) {
- getLog().log(new Status(IStatus.INFO, PLUGIN_ID, message, exception));
- }
-
- /**
- * Logs a message and exception with severity WARNING in the runtime log of the plug-in.
- *
- * @param message A message to log
- */
- public void logWarning(String message) {
- getLog().log(new Status(IStatus.WARNING, PLUGIN_ID, message));
- }
-
- /**
- * Logs a message and exception with severity WARNING in the runtime log of the plug-in.
- *
- * @param message A message to log
- * @param exception A exception to log
- */
- public void logWarning(String message, Throwable exception) {
- getLog().log(new Status(IStatus.WARNING, PLUGIN_ID, message, exception));
- }
-
- /**
- * Logs a message and exception with severity ERROR in the runtime log of the plug-in.
- *
- * @param message A message to log
- */
- public void logError(String message) {
- getLog().log(new Status(IStatus.ERROR, PLUGIN_ID, message));
- }
-
- /**
- * Logs a message and exception with severity ERROR in the runtime log of the plug-in.
- *
- * @param message A message to log
- * @param exception A exception to log
- */
- public void logError(String message, Throwable exception) {
- getLog().log(new Status(IStatus.ERROR, PLUGIN_ID, message, exception));
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ctf.core/src/org/eclipse/linuxtools/tmf/ctf/core/CtfConstants.java b/lttng/org.eclipse.linuxtools.tmf.ctf.core/src/org/eclipse/linuxtools/tmf/ctf/core/CtfConstants.java
deleted file mode 100644
index 97fd143c5b..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ctf.core/src/org/eclipse/linuxtools/tmf/ctf/core/CtfConstants.java
+++ /dev/null
@@ -1,64 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 Ericsson, Ecole Polytechnique de Montreal and others
- *
- * 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:
- * Ansgar Radermacher - support for model URI
- * Patrick Tasse - context strings
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.ctf.core;
-
-import org.eclipse.core.runtime.QualifiedName;
-
-/**
- * Set of constants used by the CTF adaptor classes
- *
- * @since 2.0
- * @noimplement This interface is not intended to be implemented by clients.
- */
-@SuppressWarnings("nls")
-public interface CtfConstants {
-
- /*
- * Context strings
- */
-
- /** Prefix for context information stored as CtfTmfEventfield */
- public static final String CONTEXT_FIELD_PREFIX = "context.";
-
- /** Key for ip field */
- public static final String IP_KEY = "_ip";
-
- /*
- * Custom attributes names (key within hash table)
- */
-
- /** Model URI for traces related to EMF models */
- public final String MODEL_URI_KEY = "model.emf.uri";
-
- /**
- * The host persistent property for the live session.
- *
- * @since 3.1
- */
- QualifiedName LIVE_HOST = new QualifiedName("org.eclipse.linuxtools.tmf.ctf.core", "live.host"); //$NON-NLS-1$//$NON-NLS-2$
-
- /**
- * The port persistent property for the live session.
- *
- * @since 3.1
- */
- QualifiedName LIVE_PORT = new QualifiedName("org.eclipse.linuxtools.tmf.ctf.core", "live.port"); //$NON-NLS-1$//$NON-NLS-2$
-
- /**
- * The live session name persistent property.
- *
- * @since 3.1
- */
- QualifiedName LIVE_SESSION_NAME = new QualifiedName("org.eclipse.linuxtools.tmf.ctf.core", "live.session.name"); //$NON-NLS-1$//$NON-NLS-2$;
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ctf.core/src/org/eclipse/linuxtools/tmf/ctf/core/CtfEnumPair.java b/lttng/org.eclipse.linuxtools.tmf.ctf.core/src/org/eclipse/linuxtools/tmf/ctf/core/CtfEnumPair.java
deleted file mode 100644
index f27894d0dc..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ctf.core/src/org/eclipse/linuxtools/tmf/ctf/core/CtfEnumPair.java
+++ /dev/null
@@ -1,59 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2012, 2013 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:
- * Bernd Hufmann - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.ctf.core;
-
-import org.eclipse.linuxtools.tmf.core.util.Pair;
-
-/**
- * Pair of Enum value name and its long value.
- *
- * @author Bernd Hufmann
- * @since 2.0
- */
-public class CtfEnumPair extends Pair<String, Long> {
-
- /**
- * Constructs a CtfEnumPair
- *
- * @param strValue
- * The first parameter of the pair (String)
- * @param longValue
- * The second parameter of the pair (Long)
- */
- public CtfEnumPair(String strValue, Long longValue) {
- super(strValue, longValue);
- }
-
- /**
- * Returns the String value of the Enum.
- *
- * @return the string value
- */
- public String getStringValue() {
- return getFirst();
- }
-
- /**
- * Returns the long value of the Enum.
- *
- * @return the Long value
- */
- public Long getLongValue() {
- return getSecond();
- }
-
- @Override
- public String toString() {
- return getFirst();
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ctf.core/src/org/eclipse/linuxtools/tmf/ctf/core/CtfIterator.java b/lttng/org.eclipse.linuxtools.tmf.ctf.core/src/org/eclipse/linuxtools/tmf/ctf/core/CtfIterator.java
deleted file mode 100644
index 7d384fbcbd..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ctf.core/src/org/eclipse/linuxtools/tmf/ctf/core/CtfIterator.java
+++ /dev/null
@@ -1,353 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2012, 2014 Ericsson, École Polytechnique de Montréal
- *
- * 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:
- * Matthew Khouzam - Initial API and implementation
- * Florian Wininger - Performance improvements
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.ctf.core;
-
-import org.eclipse.linuxtools.ctf.core.trace.CTFReaderException;
-import org.eclipse.linuxtools.ctf.core.trace.CTFStreamInputReader;
-import org.eclipse.linuxtools.ctf.core.trace.CTFTraceReader;
-import org.eclipse.linuxtools.internal.tmf.ctf.core.Activator;
-import org.eclipse.linuxtools.tmf.core.trace.ITmfContext;
-import org.eclipse.linuxtools.tmf.core.trace.location.ITmfLocation;
-
-/**
- * The CTF trace reader iterator.
- *
- * It doesn't reserve a file handle, so many iterators can be used without
- * worries of I/O errors or resource exhaustion.
- *
- * @author Matthew Khouzam
- */
-public class CtfIterator extends CTFTraceReader
- implements ITmfContext, Comparable<CtfIterator> {
-
- /** An invalid location */
- public static final CtfLocation NULL_LOCATION = new CtfLocation(CtfLocation.INVALID_LOCATION);
-
- private final CtfTmfTrace fTrace;
-
- private CtfLocation fCurLocation;
- private long fCurRank;
-
- private CtfLocation fPreviousLocation;
- private CtfTmfEvent fPreviousEvent;
-
- // ------------------------------------------------------------------------
- // Constructors
- // ------------------------------------------------------------------------
-
- /**
- * Create a new CTF trace iterator, which initially points at the first
- * event in the trace.
- *
- * @param trace
- * The trace to iterate over
- * @throws CTFReaderException
- * If the iterator couldn't not be instantiated, probably due to
- * a read error.
- */
- public CtfIterator(CtfTmfTrace trace) throws CTFReaderException {
- super(trace.getCTFTrace());
- fTrace = trace;
- if (hasMoreEvents()) {
- fCurLocation = new CtfLocation(trace.getStartTime());
- fCurRank = 0;
- } else {
- setUnknownLocation();
- }
- }
-
- /**
- * Create a new CTF trace iterator, which will initially point to the given
- * location/rank.
- *
- * @param trace
- * The trace to iterate over
- * @param ctfLocationData
- * The initial timestamp the iterator will be pointing to
- * @param rank
- * The initial rank
- * @throws CTFReaderException
- * If the iterator couldn't not be instantiated, probably due to
- * a read error.
- * @since 2.0
- */
- public CtfIterator(CtfTmfTrace trace, CtfLocationInfo ctfLocationData, long rank)
- throws CTFReaderException {
- super(trace.getCTFTrace());
-
- this.fTrace = trace;
- if (this.hasMoreEvents()) {
- this.fCurLocation = new CtfLocation(ctfLocationData);
- if (this.getCurrentEvent().getTimestamp().getValue() != ctfLocationData.getTimestamp()) {
- this.seek(ctfLocationData);
- this.fCurRank = rank;
- }
- } else {
- setUnknownLocation();
- }
- }
-
- @Override
- public void dispose() {
- close();
- }
-
- private void setUnknownLocation() {
- fCurLocation = NULL_LOCATION;
- fCurRank = UNKNOWN_RANK;
- }
-
- // ------------------------------------------------------------------------
- // Accessors
- // ------------------------------------------------------------------------
-
- /**
- * Return this iterator's trace.
- *
- * @return CtfTmfTrace The iterator's trace
- */
- public CtfTmfTrace getCtfTmfTrace() {
- return fTrace;
- }
-
- /**
- * Return the current event pointed to by the iterator.
- *
- * @return CtfTmfEvent The current event
- */
- public synchronized CtfTmfEvent getCurrentEvent() {
- final CTFStreamInputReader top = super.getPrio().peek();
- if (top != null) {
- if (!fCurLocation.equals(fPreviousLocation)) {
- fPreviousLocation = fCurLocation;
- fPreviousEvent = CtfTmfEventFactory.createEvent(top.getCurrentEvent(),
- top.getFilename(), fTrace);
- }
- return fPreviousEvent;
- }
- return null;
- }
-
- /**
- * Return the current timestamp location pointed to by the iterator.
- * This is the timestamp for use in CtfLocation, not the event timestamp.
- *
- * @return long The current timestamp location
- */
- public synchronized long getCurrentTimestamp() {
- final CTFStreamInputReader top = super.getPrio().peek();
- if (top != null) {
- long ts = top.getCurrentEvent().getTimestamp();
- return fTrace.getCTFTrace().timestampCyclesToNanos(ts);
- }
- return 0;
- }
-
- /**
- * Seek this iterator to a given location.
- *
- * @param ctfLocationData
- * The LocationData representing the position to seek to
- * @return boolean True if the seek was successful, false if there was an
- * error seeking.
- * @since 2.0
- */
- public synchronized boolean seek(CtfLocationInfo ctfLocationData) {
- boolean ret = false;
-
- /* Avoid the cost of seeking at the current location. */
- if (fCurLocation.getLocationInfo().equals(ctfLocationData)) {
- return super.hasMoreEvents();
- }
-
- /* Adjust the timestamp depending on the trace's offset */
- long currTimestamp = ctfLocationData.getTimestamp();
- final long offsetTimestamp = this.getCtfTmfTrace().getCTFTrace().timestampNanoToCycles(currTimestamp);
- try {
- if (offsetTimestamp < 0) {
- ret = super.seek(0L);
- } else {
- ret = super.seek(offsetTimestamp);
- }
- } catch (CTFReaderException e) {
- Activator.getDefault().logError(e.getMessage(), e);
- return false;
- }
- /*
- * Check if there is already one or more events for that timestamp, and
- * assign the location index correctly
- */
- long index = 0;
- final CtfTmfEvent currentEvent = this.getCurrentEvent();
- if (currentEvent != null) {
- currTimestamp = currentEvent.getTimestamp().getValue();
-
- for (long i = 0; i < ctfLocationData.getIndex(); i++) {
- if (currTimestamp == currentEvent.getTimestamp().getValue()) {
- index++;
- } else {
- index = 0;
- }
- this.advance();
- }
- } else {
- ret = false;
- }
- /* Seek the current location accordingly */
- if (ret) {
- fCurLocation = new CtfLocation(new CtfLocationInfo(getCurrentEvent().getTimestamp().getValue(), index));
- } else {
- fCurLocation = NULL_LOCATION;
- }
-
- return ret;
- }
-
- // ------------------------------------------------------------------------
- // CTFTraceReader
- // ------------------------------------------------------------------------
-
- @Override
- public boolean seek(long timestamp) {
- return seek(new CtfLocationInfo(timestamp, 0));
- }
-
- @Override
- public synchronized boolean advance() {
- boolean ret = false;
- try {
- ret = super.advance();
- } catch (CTFReaderException e) {
- Activator.getDefault().logError(e.getMessage(), e);
- }
-
- if (ret) {
- long timestamp = fCurLocation.getLocationInfo().getTimestamp();
- final long timestampValue = getCurrentTimestamp();
- if (timestamp == timestampValue) {
- long index = fCurLocation.getLocationInfo().getIndex();
- fCurLocation = new CtfLocation(timestampValue, index + 1);
- } else {
- fCurLocation = new CtfLocation(timestampValue, 0L);
- }
- } else {
- fCurLocation = NULL_LOCATION;
- }
- return ret;
- }
-
- // ------------------------------------------------------------------------
- // ITmfContext
- // ------------------------------------------------------------------------
-
- @Override
- public long getRank() {
- return fCurRank;
- }
-
- @Override
- public void setRank(long rank) {
- fCurRank = rank;
- }
-
- @Override
- public void increaseRank() {
- /* Only increase the rank if it's valid */
- if (hasValidRank()) {
- fCurRank++;
- }
- }
-
- @Override
- public boolean hasValidRank() {
- return (getRank() >= 0);
- }
-
- /**
- * @since 3.0
- */
- @Override
- public void setLocation(ITmfLocation location) {
- // FIXME alex: isn't there a cleaner way than a cast here?
- fCurLocation = (CtfLocation) location;
- seek(((CtfLocation) location).getLocationInfo());
- }
-
- @Override
- public CtfLocation getLocation() {
- return fCurLocation;
- }
-
- // ------------------------------------------------------------------------
- // Comparable
- // ------------------------------------------------------------------------
-
- @Override
- public int compareTo(final CtfIterator o) {
- if (getRank() < o.getRank()) {
- return -1;
- } else if (getRank() > o.getRank()) {
- return 1;
- }
- return 0;
- }
-
- // ------------------------------------------------------------------------
- // Object
- // ------------------------------------------------------------------------
-
- @Override
- public int hashCode() {
- final int prime = 31;
- int result = super.hashCode();
- result = (prime * result)
- + ((fTrace == null) ? 0 : fTrace.hashCode());
- result = (prime * result)
- + ((fCurLocation == null) ? 0 : fCurLocation.hashCode());
- result = (prime * result) + (int) (fCurRank ^ (fCurRank >>> 32));
- return result;
- }
-
- @Override
- public boolean equals(Object obj) {
- if (this == obj) {
- return true;
- }
- if (!super.equals(obj)) {
- return false;
- }
- if (!(obj instanceof CtfIterator)) {
- return false;
- }
- CtfIterator other = (CtfIterator) obj;
- if (fTrace == null) {
- if (other.fTrace != null) {
- return false;
- }
- } else if (!fTrace.equals(other.fTrace)) {
- return false;
- }
- if (fCurLocation == null) {
- if (other.fCurLocation != null) {
- return false;
- }
- } else if (!fCurLocation.equals(other.fCurLocation)) {
- return false;
- }
- if (fCurRank != other.fCurRank) {
- return false;
- }
- return true;
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ctf.core/src/org/eclipse/linuxtools/tmf/ctf/core/CtfIteratorManager.java b/lttng/org.eclipse.linuxtools.tmf.ctf.core/src/org/eclipse/linuxtools/tmf/ctf/core/CtfIteratorManager.java
deleted file mode 100644
index 7ca324f5eb..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ctf.core/src/org/eclipse/linuxtools/tmf/ctf/core/CtfIteratorManager.java
+++ /dev/null
@@ -1,229 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2012, 2013 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:
- * Matthew Khouzam - Initial API and implementation
- * Simon Delisle - Added a method to remove the iterator
- *******************************************************************************/
-package org.eclipse.linuxtools.tmf.ctf.core;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.Random;
-
-/**
- * Ctf Iterator Manager, allows mapping of iterators (a limited resource) to
- * contexts (many many resources).
- *
- * @author Matthew Khouzam
- * @version 1.0
- * @since 1.1
- */
-public abstract class CtfIteratorManager {
- /*
- * A side note synchronized works on the whole object, Therefore add and
- * remove will be thread safe.
- */
-
- /*
- * The map of traces to trace managers.
- */
- private static HashMap<CtfTmfTrace, CtfTraceManager> map = new HashMap<>();
-
- /**
- * Registers a trace to the iterator manager, the trace can now get
- * iterators.
- *
- * @param trace
- * the trace to register.
- */
- public static synchronized void addTrace(final CtfTmfTrace trace) {
- map.put(trace, new CtfTraceManager(trace));
- }
-
- /**
- * Removes a trace to the iterator manager.
- *
- * @param trace
- * the trace to register.
- */
- public static synchronized void removeTrace(final CtfTmfTrace trace) {
- CtfTraceManager mgr = map.remove(trace);
- if (mgr != null) {
- mgr.clear();
- }
- }
-
- /**
- * Get an iterator for a given trace and context.
- *
- * @param trace
- * the trace
- * @param ctx
- * the context
- * @return the iterator
- * @since 2.0
- */
- public static synchronized CtfIterator getIterator(final CtfTmfTrace trace,
- final CtfTmfContext ctx) {
- return map.get(trace).getIterator(ctx);
- }
-
- /**
- * Remove an iterator for a given trace and context
- *
- * @param trace
- * the trace
- * @param ctx
- * the context
- * @since 2.1
- */
- public static synchronized void removeIterator(final CtfTmfTrace trace, final CtfTmfContext ctx) {
- CtfTraceManager traceManager = map.get(trace);
- if (traceManager != null) {
- traceManager.removeIterator(ctx);
- }
- }
-}
-
-/**
- * A trace manager
- *
- * @author Matthew Khouzam
- */
-class CtfTraceManager {
- /*
- * Cache size. Under 1023 on linux32 systems. Number of file handles
- * created.
- */
- private final static int MAX_SIZE = 100;
- /*
- * The map of the cache.
- */
- private final HashMap<CtfTmfContext, CtfIterator> fMap;
- /*
- * An array pointing to the same cache. this allows fast "random" accesses.
- */
- private final ArrayList<CtfTmfContext> fRandomAccess;
- /*
- * The parent trace
- */
- private final CtfTmfTrace fTrace;
- /*
- * Random number generator
- */
- private final Random fRnd;
-
- public CtfTraceManager(CtfTmfTrace trace) {
- fMap = new HashMap<>();
- fRandomAccess = new ArrayList<>();
- fRnd = new Random(System.nanoTime());
- fTrace = trace;
- }
-
- /**
- * This needs explaining: the iterator table is effectively a cache.
- * Originally the contexts had a 1 to 1 structure with the file handles of a
- * trace. This failed since there is a limit to how many file handles we can
- * have opened simultaneously. Then a round-robin scheme was implemented,
- * this lead up to a two competing contexts syncing up and using the same
- * file handler, causing horrible slowdowns. Now a random replacement
- * algorithm is selected. This is the same as used by arm processors, and it
- * works quite well when many cores so this looks promising for very
- * multi-threaded systems.
- *
- * @param context
- * the context to look up
- * @return the iterator referring to the context
- */
- public CtfIterator getIterator(final CtfTmfContext context) {
- /*
- * if the element is in the map, we don't need to do anything else.
- */
- CtfIterator retVal = fMap.get(context);
- if (retVal == null) {
- /*
- * Assign an iterator to a context, this means we will need to seek
- * at the end.
- */
- if (fRandomAccess.size() < MAX_SIZE) {
- /*
- * if we're not full yet, just add an element.
- */
- retVal = fTrace.createIterator();
- addElement(context, retVal);
-
- } else {
- /*
- * if we're full, randomly replace an element
- */
- retVal = replaceRandomElement(context);
- }
- if (context.getLocation() != null) {
- final CtfLocationInfo location = (CtfLocationInfo) context.getLocation().getLocationInfo();
- retVal.seek(location);
- }
- }
- return retVal;
- }
-
- public void removeIterator(CtfTmfContext context) {
- try (CtfIterator removed = fMap.remove(context)) {
- }
-
- fRandomAccess.remove(context);
- }
-
- /**
- * Add a pair of context and element to the hashmap and the arraylist.
- *
- * @param context
- * the context
- * @param elem
- * the iterator
- */
- private void addElement(final CtfTmfContext context,
- final CtfIterator elem) {
- fMap.put(context, elem);
- fRandomAccess.add(context);
- }
-
- /**
- * Replace a random element
- *
- * @param context
- * the context to swap in
- * @return the iterator of the removed elements.
- */
- private CtfIterator replaceRandomElement(
- final CtfTmfContext context) {
- /*
- * This needs some explanation too: We need to select a random victim
- * and remove it. The order of the elements is not important, so instead
- * of just calling arraylist.remove(element) which has an O(n)
- * complexity, we pick an random number. The element is swapped out of
- * the array and removed and replaced in the hashmap.
- */
- final int size = fRandomAccess.size();
- final int pos = fRnd.nextInt(size);
- final CtfTmfContext victim = fRandomAccess.get(pos);
- fRandomAccess.set(pos, context);
- final CtfIterator elem = fMap.remove(victim);
- fMap.put(context, elem);
- victim.dispose();
- return elem;
- }
-
- void clear() {
- for (CtfIterator iterator : fMap.values()) {
- iterator.dispose();
- }
- fMap.clear();
- fRandomAccess.clear();
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ctf.core/src/org/eclipse/linuxtools/tmf/ctf/core/CtfLocation.java b/lttng/org.eclipse.linuxtools.tmf.ctf.core/src/org/eclipse/linuxtools/tmf/ctf/core/CtfLocation.java
deleted file mode 100644
index e909c8face..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ctf.core/src/org/eclipse/linuxtools/tmf/ctf/core/CtfLocation.java
+++ /dev/null
@@ -1,147 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2012, 2013 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:
- * Matthew Khouzam - Initial API and implementation
- * Alexandre Montplaisir - Extends TmfLocation
- *******************************************************************************/
-package org.eclipse.linuxtools.tmf.ctf.core;
-
-import java.nio.ByteBuffer;
-
-import org.eclipse.linuxtools.tmf.core.timestamp.ITmfTimestamp;
-import org.eclipse.linuxtools.tmf.core.trace.location.TmfLocation;
-
-/**
- * The nugget of information that is unique to a location in a CTF trace.
- *
- * It can be copied and used to restore a position in a given trace.
- *
- * @version 1.0
- * @author Matthew Khouzam
- */
-public final class CtfLocation extends TmfLocation {
-
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
-
- /**
- * An invalid location
- */
- public static final CtfLocationInfo INVALID_LOCATION = new CtfLocationInfo(-1, -1);
-
- // ------------------------------------------------------------------------
- // Constructors
- // ------------------------------------------------------------------------
-
- /**
- * Basic constructor for CtfLocation. Uses a default index of 0.
- *
- * @param timestamp
- * The timestamp of this location
- * @since 2.0
- */
- public CtfLocation(final ITmfTimestamp timestamp) {
- this(timestamp.getValue(), 0);
- }
-
- /**
- * Constructor using timestamp object and index
- *
- * @param timestamp
- * The timestamp of this location
- * @param index
- * The index of this location for this timestamp
- * @since 2.0
- */
- public CtfLocation(final ITmfTimestamp timestamp, long index) {
- this(timestamp.getValue(), index);
- }
-
- /**
- * Constructor using a long value for the timestamp, and an index
- *
- * @param timestampValue
- * The new timestamp
- * @param index
- * The new index
- * @since 2.0
- */
- public CtfLocation(final long timestampValue, final long index) {
- super(new CtfLocationInfo(timestampValue, index));
- }
-
- /**
- * Constructor using a pre-made locationInfo object
- *
- * @param locationInfo
- * The locationInfo object to use
- * @since 2.0
- */
- public CtfLocation(CtfLocationInfo locationInfo) {
- super(locationInfo);
- }
-
- /**
- * Copy constructor
- *
- * @param location
- * Other location to copy
- * @since 2.0
- */
- public CtfLocation(final CtfLocation location) {
- super(location);
- }
-
- // ------------------------------------------------------------------------
- // TmfLocation
- // ------------------------------------------------------------------------
-
- /**
- * Construct the location from the ByteBuffer.
- *
- * @param bufferIn
- * the buffer to read from
- *
- * @since 3.0
- */
- public CtfLocation(ByteBuffer bufferIn) {
- super(new CtfLocationInfo(bufferIn));
- }
-
- /**
- * @since 2.0
- */
- @Override
- public CtfLocationInfo getLocationInfo() {
- return (CtfLocationInfo) super.getLocationInfo();
- }
-
- // ------------------------------------------------------------------------
- // Object
- // ------------------------------------------------------------------------
-
- @Override
- public String toString() {
- if (getLocationInfo().equals(CtfLocation.INVALID_LOCATION )) {
- return getClass().getSimpleName() + " [INVALID]"; //$NON-NLS-1$
- }
- return super.toString();
- }
-
- /**
- * Constructs the location from the ByteBuffer. This typically happens when reading from disk.
- *
- * @since 3.0
- */
- @Override
- public void serialize(ByteBuffer bufferOut) {
- getLocationInfo().serialize(bufferOut);
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ctf.core/src/org/eclipse/linuxtools/tmf/ctf/core/CtfLocationInfo.java b/lttng/org.eclipse.linuxtools.tmf.ctf.core/src/org/eclipse/linuxtools/tmf/ctf/core/CtfLocationInfo.java
deleted file mode 100644
index c0088ac578..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ctf.core/src/org/eclipse/linuxtools/tmf/ctf/core/CtfLocationInfo.java
+++ /dev/null
@@ -1,137 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2012, 2013 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: Matthew Khouzam - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.linuxtools.tmf.ctf.core;
-
-import java.nio.ByteBuffer;
-
-/**
- * The data object to go in a {@link CtfLocation}.
- *
- * @author Matthew Khouzam
- * @since 2.0
- */
-public class CtfLocationInfo implements Comparable<CtfLocationInfo> {
-
- private final long fTimestamp;
- private final long fIndex;
-
- /**
- * @param ts
- * Timestamp
- * @param index
- * Index of this event (if there are N elements with the same
- * timestamp, which one is it.)
- */
- public CtfLocationInfo(long ts, long index) {
- fTimestamp = ts;
- fIndex = index;
- }
-
- /**
- * Construct the location from the ByteBuffer.
- *
- * @param bufferIn
- * the buffer to read from
- *
- * @since 3.0
- */
- public CtfLocationInfo(ByteBuffer bufferIn) {
- fTimestamp = bufferIn.getLong();
- fIndex = bufferIn.getLong();
- }
-
- /**
- * @return The timestamp
- */
- public long getTimestamp() {
- return fTimestamp;
- }
-
- /**
- * @return The index of the element
- */
- public long getIndex() {
- return fIndex;
- }
-
- // ------------------------------------------------------------------------
- // Object
- // ------------------------------------------------------------------------
-
- @Override
- public int hashCode() {
- final int prime = 31;
- int result = 1;
- result = (prime * result) + (int) (fIndex ^ (fIndex >>> 32));
- result = (prime * result) + (int) (fTimestamp ^ (fTimestamp >>> 32));
- return result;
- }
-
- @Override
- public boolean equals(Object obj) {
- if (this == obj) {
- return true;
- }
- if (obj == null) {
- return false;
- }
- if (!(obj instanceof CtfLocationInfo)) {
- return false;
- }
- CtfLocationInfo other = (CtfLocationInfo) obj;
- if (fIndex != other.fIndex) {
- return false;
- }
- if (fTimestamp != other.fTimestamp) {
- return false;
- }
- return true;
- }
-
- @Override
- public String toString() {
- return "Element [" + fTimestamp + '/' + fIndex + ']'; //$NON-NLS-1$
- }
-
- // ------------------------------------------------------------------------
- // Comparable
- // ------------------------------------------------------------------------
-
- @Override
- public int compareTo(CtfLocationInfo other) {
- if (fTimestamp > other.getTimestamp()) {
- return 1;
- }
- if (fTimestamp < other.getTimestamp()) {
- return -1;
- }
- if (fIndex > other.getIndex()) {
- return 1;
- }
- if (fIndex < other.getIndex()) {
- return -1;
- }
- return 0;
- }
-
- /**
- * Write the location to the ByteBuffer so that it can be saved to disk.
- *
- * @param bufferOut
- * the buffer to write to
- *
- * @since 3.0
- */
- public void serialize(ByteBuffer bufferOut) {
- bufferOut.putLong(fTimestamp);
- bufferOut.putLong(fIndex);
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ctf.core/src/org/eclipse/linuxtools/tmf/ctf/core/CtfTmfCallsite.java b/lttng/org.eclipse.linuxtools.tmf.ctf.core/src/org/eclipse/linuxtools/tmf/ctf/core/CtfTmfCallsite.java
deleted file mode 100644
index 867db01d42..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ctf.core/src/org/eclipse/linuxtools/tmf/ctf/core/CtfTmfCallsite.java
+++ /dev/null
@@ -1,116 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 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:
- * Patrick Tasse - Initial API and implementation
- * Bernd Hufmann - Updated for new parent class
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.ctf.core;
-
-import org.eclipse.linuxtools.ctf.core.event.CTFCallsite;
-import org.eclipse.linuxtools.tmf.core.event.lookup.TmfCallsite;
-
-/**
- * CTF TMF call site information for source code lookup.
- *
- * @author Patrick Tasse
- * @since 2.0
- */
-public class CtfTmfCallsite extends TmfCallsite {
-
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
-
- /** The event name. */
- final private String fEventName;
-
- /** The instruction pointer. */
- final private long fInstructionPointer;
-
- // ------------------------------------------------------------------------
- // Constructors
- // ------------------------------------------------------------------------
-
- /**
- * Standard Constructor.
- *
- * @param callsite
- * - a CTF call site
- */
- CtfTmfCallsite(CTFCallsite callsite) {
- super(callsite.getFileName(), callsite.getFunctionName(), callsite.getLineNumber());
- fEventName = callsite.getEventName();
- fInstructionPointer = callsite.getIp();
- }
-
- // ------------------------------------------------------------------------
- // Accessors
- // ------------------------------------------------------------------------
-
- /**
- * Returns the event name of the call site.
- * @return the event name
- */
- public String getEventName() {
- return fEventName;
- }
-
- /**
- * Returns the instruction pointer of the call site.
- * @return the instruction pointer
- */
- public long getIntructionPointer() {
- return fInstructionPointer;
- }
-
- // ------------------------------------------------------------------------
- // Accessors
- // ------------------------------------------------------------------------
-
- @Override
- public int hashCode() {
- final int prime = 31;
- int result = super.hashCode();
- result = prime * result + ((fEventName == null) ? 0 : fEventName.hashCode());
- result = prime * result + (int) (fInstructionPointer ^ (fInstructionPointer >>> 32));
- return result;
- }
-
- @Override
- public boolean equals(Object obj) {
- if (this == obj) {
- return true;
- }
- if (!super.equals(obj)) {
- return false;
- }
- if (getClass() != obj.getClass()) {
- return false;
- }
- CtfTmfCallsite other = (CtfTmfCallsite) obj;
- if (fEventName == null) {
- if (other.fEventName != null) {
- return false;
- }
- } else if (!fEventName.equals(other.fEventName)) {
- return false;
- }
- if (fInstructionPointer != other.fInstructionPointer) {
- return false;
- }
- return true;
- }
-
- @Override
- public String toString() {
- return getEventName() + "@0x" + Long.toHexString(fInstructionPointer) + ": " + //$NON-NLS-1$ //$NON-NLS-2$
- getFileName() + ':' + Long.toString(getLineNumber()) + ' ' + getFileName() + "()"; //$NON-NLS-1$
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ctf.core/src/org/eclipse/linuxtools/tmf/ctf/core/CtfTmfContext.java b/lttng/org.eclipse.linuxtools.tmf.ctf.core/src/org/eclipse/linuxtools/tmf/ctf/core/CtfTmfContext.java
deleted file mode 100644
index 0825b84f2f..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ctf.core/src/org/eclipse/linuxtools/tmf/ctf/core/CtfTmfContext.java
+++ /dev/null
@@ -1,202 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2012, 2013 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:
- * Matthew Khouzam - Initial API and implementation
- * Simon Delisle - Remove the iterator in dispose()
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.ctf.core;
-
-import org.eclipse.linuxtools.tmf.core.trace.ITmfContext;
-import org.eclipse.linuxtools.tmf.core.trace.location.ITmfLocation;
-
-/**
- * Lightweight Context for CtfTmf traces. Should only use 3 references, 1 ref to
- * a boxed Long, a long and an int.
- *
- * @author Matthew Khouzam
- * @version 1.0
- * @since 2.0
- */
-public class CtfTmfContext implements ITmfContext {
-
- // -------------------------------------------
- // Fields
- // -------------------------------------------
-
- private CtfLocation fCurLocation;
- private long fCurRank;
-
- private final CtfTmfTrace fTrace;
-
- // -------------------------------------------
- // Constructor
- // -------------------------------------------
-
- /**
- * Constructor
- *
- * @param ctfTmfTrace
- * the parent trace
- * @since 1.1
- */
- public CtfTmfContext(CtfTmfTrace ctfTmfTrace) {
- fTrace = ctfTmfTrace;
- fCurLocation = new CtfLocation(new CtfLocationInfo(0, 0));
- }
-
- // -------------------------------------------
- // TmfContext Overrides
- // -------------------------------------------
-
- @Override
- public long getRank() {
- return fCurRank;
- }
-
- /**
- * @since 3.0
- */
- @Override
- public synchronized ITmfLocation getLocation() {
- return fCurLocation;
- }
-
- @Override
- public boolean hasValidRank() {
- return fCurRank != CtfLocation.INVALID_LOCATION.getTimestamp();
- }
-
- /**
- * @since 3.0
- */
- @Override
- public synchronized void setLocation(ITmfLocation location) {
- fCurLocation = (CtfLocation) location;
- if (fCurLocation != null) {
- getIterator().seek(fCurLocation.getLocationInfo());
- }
- }
-
- @Override
- public void setRank(long rank) {
- fCurRank = rank;
-
- }
-
- @Override
- public void increaseRank() {
- if (hasValidRank()) {
- fCurRank++;
- }
- }
-
- // -------------------------------------------
- // CtfTmfTrace Helpers
- // -------------------------------------------
-
- /**
- * Gets the trace of this context.
- *
- * @return The trace of this context
- */
- public CtfTmfTrace getTrace() {
- return fTrace;
- }
-
- /**
- * Gets the current event. Wrapper to help CtfTmfTrace
- *
- * @return The event or null
- */
- public synchronized CtfTmfEvent getCurrentEvent() {
- return getIterator().getCurrentEvent();
- }
-
- /**
- * Advances to a the next event. Wrapper to help CtfTmfTrace
- *
- * @return success or not
- */
- public synchronized boolean advance() {
- final CtfLocationInfo curLocationData = fCurLocation.getLocationInfo();
- CtfIterator iterator = getIterator();
- boolean retVal = iterator.advance();
- CtfTmfEvent currentEvent = iterator.getCurrentEvent();
-
- if (currentEvent != null) {
- final long timestampValue = iterator.getCurrentTimestamp();
- if (curLocationData.getTimestamp() == timestampValue) {
- fCurLocation = new CtfLocation(timestampValue, curLocationData.getIndex() + 1);
- } else {
- fCurLocation = new CtfLocation(timestampValue, 0L);
- }
- } else {
- fCurLocation = new CtfLocation(CtfLocation.INVALID_LOCATION);
- }
-
- return retVal;
- }
-
- @Override
- public void dispose() {
- CtfIteratorManager.removeIterator(fTrace, this);
- }
-
- /**
- * Seeks to a given timestamp. Wrapper to help CtfTmfTrace
- *
- * @param timestamp
- * desired timestamp
- * @return success or not
- */
- public synchronized boolean seek(final long timestamp) {
- fCurLocation = new CtfLocation(timestamp, 0);
- return getIterator().seek(timestamp);
- }
-
- /**
- * Seeks to a given location. Wrapper to help CtfTmfTrace
- * @param location
- * unique location to find the event.
- *
- * @return success or not
- * @since 2.0
- */
- public synchronized boolean seek(final CtfLocationInfo location) {
- fCurLocation = new CtfLocation(location);
- return getIterator().seek(location);
- }
-
- @Override
- public CtfTmfContext clone() {
- CtfTmfContext ret = null;
- try {
- ret = (CtfTmfContext) super.clone();
- /* Fields are immutable, no need to deep-copy them */
- } catch (CloneNotSupportedException e) {
- /* Should not happen, we're calling Object.clone() */
- }
- return ret;
- }
-
- // -------------------------------------------
- // Private helpers
- // -------------------------------------------
-
- /**
- * Get iterator, called every time to get an iterator, no local copy is
- * stored so that there is no need to "update"
- *
- * @return an iterator
- */
- private CtfIterator getIterator() {
- return CtfIteratorManager.getIterator(fTrace, this);
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ctf.core/src/org/eclipse/linuxtools/tmf/ctf/core/CtfTmfEvent.java b/lttng/org.eclipse.linuxtools.tmf.ctf.core/src/org/eclipse/linuxtools/tmf/ctf/core/CtfTmfEvent.java
deleted file mode 100644
index 7ab14408b5..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ctf.core/src/org/eclipse/linuxtools/tmf/ctf/core/CtfTmfEvent.java
+++ /dev/null
@@ -1,262 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011, 2014 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:
- * Alexandre Montplaisir - Initial API and implementation
- * Bernd Hufmann - Updated for source and model lookup interfaces
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.ctf.core;
-
-import java.util.ArrayList;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Set;
-
-import org.eclipse.jdt.annotation.NonNull;
-import org.eclipse.linuxtools.ctf.core.event.CTFCallsite;
-import org.eclipse.linuxtools.ctf.core.event.EventDefinition;
-import org.eclipse.linuxtools.ctf.core.event.IEventDeclaration;
-import org.eclipse.linuxtools.ctf.core.event.types.ICompositeDefinition;
-import org.eclipse.linuxtools.ctf.core.event.types.IDefinition;
-import org.eclipse.linuxtools.ctf.core.trace.CTFTrace;
-import org.eclipse.linuxtools.tmf.core.event.ITmfCustomAttributes;
-import org.eclipse.linuxtools.tmf.core.event.ITmfEventField;
-import org.eclipse.linuxtools.tmf.core.event.ITmfEventType;
-import org.eclipse.linuxtools.tmf.core.event.TmfEvent;
-import org.eclipse.linuxtools.tmf.core.event.TmfEventField;
-import org.eclipse.linuxtools.tmf.core.event.lookup.ITmfModelLookup;
-import org.eclipse.linuxtools.tmf.core.event.lookup.ITmfSourceLookup;
-import org.eclipse.linuxtools.tmf.core.trace.ITmfContext;
-
-/**
- * A wrapper class around CTF's Event Definition/Declaration that maps all types
- * of Declaration to native Java types.
- *
- * @version 1.0
- * @author Alexandre Montplaisir
- * @since 2.0
- */
-public class CtfTmfEvent extends TmfEvent
- implements ITmfSourceLookup, ITmfModelLookup, ITmfCustomAttributes {
-
- // ------------------------------------------------------------------------
- // Constants
- // ------------------------------------------------------------------------
-
- private static final String EMPTY_CTF_EVENT_NAME = "Empty CTF event"; //$NON-NLS-1$
-
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
-
- private final int fSourceCPU;
- private final long fTypeId;
- private final String fEventName;
- private final IEventDeclaration fEventDeclaration;
- @NonNull
- private final EventDefinition fEvent;
- private ITmfEventField fContent;
-
- // ------------------------------------------------------------------------
- // Constructors
- // ------------------------------------------------------------------------
-
- /**
- * Constructor used by {@link CtfTmfEventFactory#createEvent}
- */
- CtfTmfEvent(CtfTmfTrace trace, long rank, CtfTmfTimestamp timestamp,
- String fileName, int cpu, IEventDeclaration declaration, @NonNull EventDefinition eventDefinition) {
- super(trace,
- rank,
- timestamp,
- String.valueOf(cpu), // Source
- null, // Event type. We don't use TmfEvent's field here, we
- // re-implement getType()
- null, // Content handled with a lazy loaded re-implemented in
- // getContent()
- fileName // Reference
- );
-
- fEventDeclaration = declaration;
- fSourceCPU = cpu;
- fTypeId = declaration.getId().longValue();
- fEventName = declaration.getName();
- fEvent = eventDefinition;
-
- }
-
- /**
- * Inner constructor to create "null" events. Don't use this directly in
- * normal usage, use {@link CtfTmfEventFactory#getNullEvent()} to get an
- * instance of an empty event.
- *
- * This needs to be public however because it's used in extension points,
- * and the framework will use this constructor to get the class type.
- */
- public CtfTmfEvent() {
- super(null,
- ITmfContext.UNKNOWN_RANK,
- new CtfTmfTimestamp(-1),
- null,
- null,
- new TmfEventField("", null, new CtfTmfEventField[0]), //$NON-NLS-1$
- null);
- fSourceCPU = -1;
- fTypeId = -1;
- fEventName = EMPTY_CTF_EVENT_NAME;
- fEventDeclaration = null;
- fEvent = EventDefinition.NULL_EVENT;
- }
-
- // ------------------------------------------------------------------------
- // Getters/Setters/Predicates
- // ------------------------------------------------------------------------
-
- /**
- * Gets the cpu core the event was recorded on.
- *
- * @return The cpu id for a given source. In lttng it's from CPUINFO
- */
- public int getCPU() {
- return fSourceCPU;
- }
-
- /**
- * Return this event's ID, according to the trace's metadata.
- *
- * Watch out, this ID is not constant from one trace to another for the same
- * event types! Use "getEventName()" for a constant reference.
- *
- * @return The event ID
- */
- public long getID() {
- return fTypeId;
- }
-
- @Override
- public CtfTmfTrace getTrace() {
- /*
- * Should be of the right type, since we take a CtfTmfTrace at the
- * constructor
- */
- return (CtfTmfTrace) super.getTrace();
- }
-
- @Override
- public ITmfEventType getType() {
- CtfTmfEventType ctfTmfEventType = CtfTmfEventType.get(getTrace(), fEventName);
- if (ctfTmfEventType == null) {
- /* Should only return null the first time */
- ctfTmfEventType = new CtfTmfEventType(fEventName, getTrace(), getContent());
- }
- return ctfTmfEventType;
- }
-
- /**
- * @since 2.0
- */
- @Override
- public Set<String> listCustomAttributes() {
- if (fEventDeclaration == null) {
- return new HashSet<>();
- }
- return fEventDeclaration.getCustomAttributes();
- }
-
- /**
- * @since 2.0
- */
- @Override
- public String getCustomAttribute(String name) {
- if (fEventDeclaration == null) {
- return null;
- }
- return fEventDeclaration.getCustomAttribute(name);
- }
-
- /**
- * Get the call site for this event.
- *
- * @return the call site information, or null if there is none
- * @since 2.0
- */
- @Override
- public CtfTmfCallsite getCallsite() {
- CTFCallsite callsite = null;
- CtfTmfTrace trace = getTrace();
- if (trace == null) {
- return null;
- }
- CTFTrace ctfTrace = trace.getCTFTrace();
- /* Should not happen, but it is a good check */
- if (ctfTrace == null) {
- return null;
- }
- if (getContent() != null) {
- ITmfEventField ipField = getContent().getField(CtfConstants.CONTEXT_FIELD_PREFIX + CtfConstants.IP_KEY);
- if (ipField != null && ipField.getValue() instanceof Long) {
- long ip = (Long) ipField.getValue();
- callsite = ctfTrace.getCallsite(fEventName, ip);
- }
- }
- if (callsite == null) {
- callsite = ctfTrace.getCallsite(fEventName);
- }
- if (callsite != null) {
- return new CtfTmfCallsite(callsite);
- }
- return null;
- }
-
- /**
- * @since 2.0
- */
- @Override
- public String getModelUri() {
- return getCustomAttribute(CtfConstants.MODEL_URI_KEY);
- }
-
- @Override
- public synchronized ITmfEventField getContent() {
- if (fContent == null) {
- fContent = new TmfEventField(
- ITmfEventField.ROOT_FIELD_ID, null, parseFields(fEvent));
- }
- return fContent;
- }
-
- /**
- * Extract the field information from the structDefinition haze-inducing
- * mess, and put them into something ITmfEventField can cope with.
- */
- private static CtfTmfEventField[] parseFields(@NonNull EventDefinition eventDef) {
- List<CtfTmfEventField> fields = new ArrayList<>();
-
- ICompositeDefinition structFields = eventDef.getFields();
- if (structFields != null) {
- if (structFields.getFieldNames() != null) {
- for (String curFieldName : structFields.getFieldNames()) {
- fields.add(CtfTmfEventField.parseField((IDefinition) structFields.getDefinition(curFieldName), curFieldName));
- }
- }
- }
- /* Add context information as CtfTmfEventField */
- ICompositeDefinition structContext = eventDef.getContext();
- if (structContext != null) {
- for (String contextName : structContext.getFieldNames()) {
- /* Prefix field name */
- String curContextName = CtfConstants.CONTEXT_FIELD_PREFIX + contextName;
- fields.add(CtfTmfEventField.parseField((IDefinition) structContext.getDefinition(contextName), curContextName));
- }
- }
-
- return fields.toArray(new CtfTmfEventField[fields.size()]);
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ctf.core/src/org/eclipse/linuxtools/tmf/ctf/core/CtfTmfEventFactory.java b/lttng/org.eclipse.linuxtools.tmf.ctf.core/src/org/eclipse/linuxtools/tmf/ctf/core/CtfTmfEventFactory.java
deleted file mode 100644
index 2de1d23061..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ctf.core/src/org/eclipse/linuxtools/tmf/ctf/core/CtfTmfEventFactory.java
+++ /dev/null
@@ -1,121 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 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:
- * Alexandre Montplaisir - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.ctf.core;
-
-import org.eclipse.linuxtools.ctf.core.CTFStrings;
-import org.eclipse.linuxtools.ctf.core.event.EventDefinition;
-import org.eclipse.linuxtools.ctf.core.event.IEventDeclaration;
-import org.eclipse.linuxtools.ctf.core.event.types.IDefinition;
-import org.eclipse.linuxtools.ctf.core.event.types.IntegerDefinition;
-import org.eclipse.linuxtools.tmf.core.timestamp.TmfTimeRange;
-import org.eclipse.linuxtools.tmf.core.trace.ITmfContext;
-
-/**
- * Factory for CtfTmfEvent's.
- *
- * This code was moved out of CtfTmfEvent to provide better separation between
- * the parsing/instantiation of events, and the usual TMF API implementations.
- *
- * @author Alexandre Montplaisir
- * @since 2.0
- */
-public final class CtfTmfEventFactory {
-
- private static final String NO_STREAM = "No stream"; //$NON-NLS-1$
-
- /**
- * Don't let anyone instantiate this class.
- */
- private CtfTmfEventFactory() {}
-
- /**
- * Factory method to instantiate new {@link CtfTmfEvent}'s.
- *
- * @param eventDef
- * CTF EventDefinition object corresponding to this trace event
- * @param fileName
- * The path to the trace file
- * @param originTrace
- * The trace from which this event originates
- * @return The newly-built CtfTmfEvent
- */
- public static CtfTmfEvent createEvent(EventDefinition eventDef,
- String fileName, CtfTmfTrace originTrace) {
-
- /* Prepare what to pass to CtfTmfEvent's constructor */
- final IEventDeclaration eventDecl = eventDef.getDeclaration();
- final long ts = eventDef.getTimestamp();
- final CtfTmfTimestamp timestamp = originTrace.createTimestamp(
- originTrace.getCTFTrace().timestampCyclesToNanos(ts));
-
- int sourceCPU = eventDef.getCPU();
-
- String reference = fileName == null ? NO_STREAM : fileName;
-
- /* Handle the special case of lost events */
- if (eventDecl.getName().equals(CTFStrings.LOST_EVENT_NAME)) {
- IDefinition nbLostEventsDef = eventDef.getFields().getDefinition(CTFStrings.LOST_EVENTS_FIELD);
- IDefinition durationDef = eventDef.getFields().getDefinition(CTFStrings.LOST_EVENTS_DURATION);
- if (!(nbLostEventsDef instanceof IntegerDefinition) || !(durationDef instanceof IntegerDefinition)) {
- /*
- * One or both of these fields doesn't exist, or is not of the
- * right type. The event claims to be a "lost event", but is
- * malformed. Log it and return a null event instead.
- */
- return getNullEvent();
- }
- long nbLostEvents = ((IntegerDefinition) nbLostEventsDef).getValue();
- long duration = ((IntegerDefinition) durationDef).getValue();
- CtfTmfTimestamp timestampEnd = new CtfTmfTimestamp(
- originTrace.getCTFTrace().timestampCyclesToNanos(ts) + duration);
-
- CtfTmfLostEvent lostEvent = new CtfTmfLostEvent(originTrace,
- ITmfContext.UNKNOWN_RANK,
- reference, // filename
- sourceCPU,
- eventDecl,
- new TmfTimeRange(timestamp, timestampEnd),
- nbLostEvents,
- eventDef);
- return lostEvent;
- }
-
- /* Handle standard event types */
- CtfTmfEvent event = new CtfTmfEvent(
- originTrace,
- ITmfContext.UNKNOWN_RANK,
- timestamp,
- reference, // filename
- sourceCPU,
- eventDecl,
- eventDef);
- return event;
- }
-
- /* Singleton instance of a null event */
- private static CtfTmfEvent nullEvent = null;
-
- /**
- * Get an instance of a null event.
- *
- * @return An empty event
- */
- public static CtfTmfEvent getNullEvent() {
- if (nullEvent == null) {
- nullEvent = new CtfTmfEvent();
- }
- return nullEvent;
- }
-
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ctf.core/src/org/eclipse/linuxtools/tmf/ctf/core/CtfTmfEventField.java b/lttng/org.eclipse.linuxtools.tmf.ctf.core/src/org/eclipse/linuxtools/tmf/ctf/core/CtfTmfEventField.java
deleted file mode 100644
index 0f2496f29f..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ctf.core/src/org/eclipse/linuxtools/tmf/ctf/core/CtfTmfEventField.java
+++ /dev/null
@@ -1,472 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011, 2014 Ericsson, École Polytechnique de Montréal
- *
- * 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:
- * Matthew Khouzam - Initial API and implementation
- * Alexandre Montplaisir - Initial API and implementation, extend TmfEventField
- * Bernd Hufmann - Add Enum field handling
- * Geneviève Bastien - Add Struct and Variant field handling
- * Jean-Christian Kouame - Correct handling of unsigned integer fields
- * François Doray - Add generic array field type
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.ctf.core;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.List;
-
-import org.eclipse.linuxtools.ctf.core.event.types.CompoundDeclaration;
-import org.eclipse.linuxtools.ctf.core.event.types.Definition;
-import org.eclipse.linuxtools.ctf.core.event.types.EnumDefinition;
-import org.eclipse.linuxtools.ctf.core.event.types.FloatDefinition;
-import org.eclipse.linuxtools.ctf.core.event.types.ICompositeDefinition;
-import org.eclipse.linuxtools.ctf.core.event.types.IDeclaration;
-import org.eclipse.linuxtools.ctf.core.event.types.IDefinition;
-import org.eclipse.linuxtools.ctf.core.event.types.IntegerDeclaration;
-import org.eclipse.linuxtools.ctf.core.event.types.IntegerDefinition;
-import org.eclipse.linuxtools.ctf.core.event.types.StringDefinition;
-import org.eclipse.linuxtools.ctf.core.event.types.VariantDefinition;
-import org.eclipse.linuxtools.internal.ctf.core.event.types.ArrayDefinition;
-import org.eclipse.linuxtools.internal.ctf.core.event.types.ByteArrayDefinition;
-import org.eclipse.linuxtools.tmf.core.event.ITmfEventField;
-import org.eclipse.linuxtools.tmf.core.event.TmfEventField;
-
-/**
- * The CTF implementation of the TMF event field model
- *
- * @version 2.0
- * @author Matthew Khouzam
- * @author Alexandre Montplaisir
- */
-public abstract class CtfTmfEventField extends TmfEventField {
-
- // ------------------------------------------------------------------------
- // Constructor
- // ------------------------------------------------------------------------
-
- /**
- * Standard constructor. Only to be used internally, call parseField() to
- * generate a new field object.
- *
- * @param name
- * The name of this field
- * @param value
- * The value of this field. Its type should match the field type.
- * @param fields
- * The children fields. Useful for composite fields
- * @since 2.0
- */
- protected CtfTmfEventField(String name, Object value, ITmfEventField[] fields) {
- super(/* Strip the underscore from the field name if there is one */
- name.startsWith("_") ? name.substring(1) : name, //$NON-NLS-1$
- value,
- fields);
- }
-
- // ------------------------------------------------------------------------
- // Operations
- // ------------------------------------------------------------------------
-
- /**
- * Factory method to instantiate CtfTmfEventField objects.
- *
- * @param fieldDef
- * The CTF Definition of this event field
- * @param fieldName
- * String The name to assign to this field
- * @return The resulting CtfTmfEventField object
- * @deprecated use {@link CtfTmfEventField#parseField(IDefinition, String)}
- */
- @Deprecated
- public static CtfTmfEventField parseField(Definition fieldDef,
- String fieldName) {
- return parseField((IDefinition) fieldDef, fieldName);
- }
-
- /**
- * Factory method to instantiate CtfTmfEventField objects.
- *
- * @param fieldDef
- * The CTF Definition of this event field
- * @param fieldName
- * String The name to assign to this field
- * @return The resulting CtfTmfEventField object
- * @since 3.1
- */
- public static CtfTmfEventField parseField(IDefinition fieldDef,
- String fieldName) {
- CtfTmfEventField field = null;
-
- /* Determine the Definition type */
- if (fieldDef instanceof IntegerDefinition) {
- IntegerDefinition intDef = (IntegerDefinition) fieldDef;
- int base = intDef.getDeclaration().getBase();
- field = new CTFIntegerField(fieldName, intDef.getValue(), base, intDef.getDeclaration().isSigned());
-
- } else if (fieldDef instanceof EnumDefinition) {
- EnumDefinition enumDef = (EnumDefinition) fieldDef;
- field = new CTFEnumField(fieldName, new CtfEnumPair(enumDef.getValue(), enumDef.getIntegerValue()));
-
- } else if (fieldDef instanceof StringDefinition) {
- field = new CTFStringField(fieldName, ((StringDefinition) fieldDef).getValue());
-
- } else if (fieldDef instanceof FloatDefinition) {
- FloatDefinition floatDef = (FloatDefinition) fieldDef;
- field = new CTFFloatField(fieldName, floatDef.getValue());
-
- } else if (fieldDef instanceof ArrayDefinition) {
- ArrayDefinition arrayDef = (ArrayDefinition) fieldDef;
- IDeclaration decl = arrayDef.getDeclaration();
- if (!(decl instanceof CompoundDeclaration)) {
- throw new IllegalArgumentException("Array definitions should only come from sequence or array declarations"); //$NON-NLS-1$
- }
- CompoundDeclaration arrDecl = (CompoundDeclaration) decl;
- IDeclaration elemType = null;
- Collection<Definition> definitions = arrayDef.getDefinitions();
- elemType = arrDecl.getElementType();
- if (elemType instanceof IntegerDeclaration) {
- /* Array of integers => CTFIntegerArrayField, unless it's a CTFStringField */
- IntegerDeclaration elemIntType = (IntegerDeclaration) elemType;
- /* Are the integers characters and encoded? */
- if (elemIntType.isCharacter()) {
- /* it's a CTFStringField */
- field = new CTFStringField(fieldName, arrayDef.toString());
- } else {
- /* it's a CTFIntegerArrayField */
- long[] values = new long[arrayDef.getLength()];
- for (int i = 0; i < arrayDef.getLength(); i++) {
- IDefinition elem = arrayDef.getDefinitions().get(i);
- if (elem == null) {
- break;
- }
- values[i] = ((IntegerDefinition) elem).getValue();
- }
- field = new CTFIntegerArrayField(fieldName, values,
- elemIntType.getBase(),
- elemIntType.isSigned());
- }
- } else {
- /* Arrays of elements of any other type */
- CtfTmfEventField[] elements = new CtfTmfEventField[arrayDef.getLength()];
- /* Parse the elements of the array. */
- int i = 0;
- for (IDefinition definition : definitions) {
- CtfTmfEventField curField = CtfTmfEventField.parseField(
- definition, fieldName + '[' + i + ']');
- elements[i] = curField;
- i++;
- }
-
- field = new CTFArrayField(fieldName, elements);
- }
- } else if (fieldDef instanceof ByteArrayDefinition) {
- /* This is an array of ascii bytes, a.k.a. a String! */
- field = new CTFStringField(fieldName, fieldDef.toString());
-
- } else if (fieldDef instanceof ICompositeDefinition) {
- ICompositeDefinition strDef = (ICompositeDefinition) fieldDef;
-
- List<ITmfEventField> list = new ArrayList<>();
- /* Recursively parse the fields */
- for (String curFieldName : strDef.getFieldNames()) {
- list.add(CtfTmfEventField.parseField(strDef.getDefinition(curFieldName), curFieldName));
- }
- field = new CTFStructField(fieldName, list.toArray(new CtfTmfEventField[list.size()]));
-
- } else if (fieldDef instanceof VariantDefinition) {
- VariantDefinition varDef = (VariantDefinition) fieldDef;
-
- String curFieldName = varDef.getCurrentFieldName();
- IDefinition curFieldDef = varDef.getCurrentField();
- if (curFieldDef != null) {
- CtfTmfEventField subField = CtfTmfEventField.parseField(curFieldDef, curFieldName);
- field = new CTFVariantField(fieldName, subField);
- } else {
- /* A safe-guard, but curFieldDef should never be null */
- field = new CTFStringField(curFieldName, ""); //$NON-NLS-1$
- }
-
- } else {
- /*
- * Safe-guard, to avoid null exceptions later, field is expected not
- * to be null
- */
- field = new CTFStringField(fieldName, Messages.CtfTmfEventField_UnsupportedType + fieldDef.getClass().toString());
- }
- return field;
- }
-
- @Override
- public String toString() {
- return getName() + '=' + getFormattedValue();
- }
-
-}
-
-/**
- * The CTF field implementation for integer fields.
- *
- * @author alexmont
- */
-final class CTFIntegerField extends CtfTmfEventField {
-
- private final int fBase;
- private final boolean fSigned;
-
- /**
- * A CTF "IntegerDefinition" can be an integer of any byte size, so in the
- * Java parser this is interpreted as a long.
- *
- * @param name
- * The name of this field
- * @param longValue
- * The integer value of this field
- * @param signed
- * Is the value signed or not
- */
- CTFIntegerField(String name, long longValue, int base, boolean signed) {
- super(name, longValue, null);
- fSigned = signed;
- fBase = base;
- }
-
- @Override
- public Long getValue() {
- return (Long) super.getValue();
- }
-
- @Override
- public String getFormattedValue() {
- return IntegerDefinition.formatNumber(getValue(), fBase, fSigned);
- }
-
-}
-
-/**
- * The CTF field implementation for string fields
- *
- * @author alexmont
- */
-final class CTFStringField extends CtfTmfEventField {
-
- /**
- * Constructor for CTFStringField.
- *
- * @param strValue
- * The string value of this field
- * @param name
- * The name of this field
- */
- CTFStringField(String name, String strValue) {
- super(name, strValue, null);
- }
-
- @Override
- public String getValue() {
- return (String) super.getValue();
- }
-}
-
-/**
- * CTF field implementation for arrays of integers.
- *
- * @author alexmont
- */
-final class CTFIntegerArrayField extends CtfTmfEventField {
-
- private final int fBase;
- private final boolean fSigned;
- private String fFormattedValue = null;
-
- /**
- * Constructor for CTFIntegerArrayField.
- *
- * @param name
- * The name of this field
- * @param longValues
- * The array of integers (as longs) that compose this field's
- * value
- * @param signed
- * Are the values in the array signed or not
- */
- CTFIntegerArrayField(String name, long[] longValues, int base, boolean signed) {
- super(name, longValues, null);
- fBase = base;
- fSigned = signed;
- }
-
- @Override
- public long[] getValue() {
- return (long[]) super.getValue();
- }
-
- @Override
- public synchronized String getFormattedValue() {
- if (fFormattedValue == null) {
- List<String> strings = new ArrayList<>();
- for (long value : getValue()) {
- strings.add(IntegerDefinition.formatNumber(value, fBase, fSigned));
- }
- fFormattedValue = strings.toString();
- }
- return fFormattedValue;
- }
-
-}
-
-/**
- * CTF field implementation for arrays of arbitrary types.
- *
- * @author fdoray
- */
-final class CTFArrayField extends CtfTmfEventField {
-
- private String fFormattedValue = null;
-
- /**
- * Constructor for CTFArrayField.
- *
- * @param name
- * The name of this field
- * @param elements
- * The array elements of this field
- */
- CTFArrayField(String name, CtfTmfEventField[] elements) {
- super(name, elements, elements);
- }
-
- @Override
- public CtfTmfEventField[] getValue() {
- return (CtfTmfEventField[]) super.getValue();
- }
-
- @Override
- public synchronized String getFormattedValue() {
- if (fFormattedValue == null) {
- List<String> strings = new ArrayList<>();
- for (CtfTmfEventField element : getValue()) {
- strings.add(element.getFormattedValue());
- }
- fFormattedValue = strings.toString();
- }
- return fFormattedValue;
- }
-}
-
-/**
- * CTF field implementation for floats.
- *
- * @author emathko
- */
-final class CTFFloatField extends CtfTmfEventField {
-
- /**
- * Constructor for CTFFloatField.
- *
- * @param value
- * The float value (actually a double) of this field
- * @param name
- * The name of this field
- */
- protected CTFFloatField(String name, double value) {
- super(name, value, null);
- }
-
- @Override
- public Double getValue() {
- return (Double) super.getValue();
- }
-}
-
-/**
- * The CTF field implementation for Enum fields
- *
- * @author Bernd Hufmann
- */
-final class CTFEnumField extends CtfTmfEventField {
-
- /**
- * Constructor for CTFEnumField.
- *
- * @param enumValue
- * The Enum value consisting of a pair of Enum value name and its
- * long value
- * @param name
- * The name of this field
- */
- CTFEnumField(String name, CtfEnumPair enumValue) {
- super(name, new CtfEnumPair(enumValue.getFirst(),
- enumValue.getSecond()), null);
- }
-
- @Override
- public CtfEnumPair getValue() {
- return (CtfEnumPair) super.getValue();
- }
-}
-
-/**
- * The CTF field implementation for struct fields with sub-fields
- *
- * @author gbastien
- */
-final class CTFStructField extends CtfTmfEventField {
-
- /**
- * Constructor for CTFStructField.
- *
- * @param fields
- * The children of this field
- * @param name
- * The name of this field
- */
- CTFStructField(String name, CtfTmfEventField[] fields) {
- super(name, fields, fields);
- }
-
- @Override
- public CtfTmfEventField[] getValue() {
- return (CtfTmfEventField[]) super.getValue();
- }
-
- @Override
- public String getFormattedValue() {
- return Arrays.toString(getValue());
- }
-
-}
-
-/**
- * The CTF field implementation for variant fields its child
- *
- * @author gbastien
- */
-final class CTFVariantField extends CtfTmfEventField {
-
- /**
- * Constructor for CTFVariantField.
- *
- * @param field
- * The field selected for this variant
- * @param name
- * The name of this field
- */
- CTFVariantField(String name, CtfTmfEventField field) {
- super(name, field, new CtfTmfEventField[] { field });
- }
-
- @Override
- public CtfTmfEventField getValue() {
- return (CtfTmfEventField) super.getValue();
- }
-
-}
-
-/* Implement other possible fields types here... */
diff --git a/lttng/org.eclipse.linuxtools.tmf.ctf.core/src/org/eclipse/linuxtools/tmf/ctf/core/CtfTmfEventType.java b/lttng/org.eclipse.linuxtools.tmf.ctf.core/src/org/eclipse/linuxtools/tmf/ctf/core/CtfTmfEventType.java
deleted file mode 100644
index 85bb249141..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ctf.core/src/org/eclipse/linuxtools/tmf/ctf/core/CtfTmfEventType.java
+++ /dev/null
@@ -1,84 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2012 Ericsson
- *
- * All rights reserved. This program and the accompanying materials are made
- * available under the terms of the Eclipse Public License v1.0 which
- * accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors: Matthew Khouzam - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.ctf.core;
-
-import org.eclipse.linuxtools.tmf.core.event.ITmfEventField;
-import org.eclipse.linuxtools.tmf.core.event.TmfEventType;
-import org.eclipse.linuxtools.tmf.core.event.TmfEventTypeManager;
-import org.eclipse.linuxtools.tmf.core.trace.ITmfTrace;
-
-/**
- * The CTF extension of the TMF event type
- *
- * @version 1.0
- * @author Matthew khouzam
- */
-public class CtfTmfEventType extends TmfEventType {
-
- /**
- * CTFTmfEventType context for the event type manager
- */
- private static final String CONTEXT_ID = "Ctf Event"; //$NON-NLS-1$
-
- private static final String UNKNOWN_TRACE = "unknown"; //$NON-NLS-1$
-
- /**
- * Constructor for CtfTmfEventType.
- *
- * @param eventName
- * The event name
- * @param trace
- * the parent trace
- * @param content
- * The event field
- * @since 3.0
- */
- public CtfTmfEventType(String eventName, ITmfTrace trace, ITmfEventField content) {
- super(computeContextName(trace), eventName, content);
- }
-
- /**
- * Method toString.
- *
- * @return String
- */
- @Override
- public String toString() {
- return getName();
- }
-
- /**
- * gets the event type for an event name
- *
- * @param trace
- * the parent trace
- * @param eventName
- * the event name
- * @return the event type
- * @since 3.0
- */
- public static CtfTmfEventType get(CtfTmfTrace trace, String eventName) {
- return (CtfTmfEventType) TmfEventTypeManager.getInstance().getType(computeContextName(trace), eventName);
- }
-
- /**
- * Get the context name of a ctf trace
- *
- * @param trace
- * the trace
- * @return the context name
- * @since 3.0
- */
- public static String computeContextName(ITmfTrace trace) {
- return CONTEXT_ID + "/" + (trace == null ? UNKNOWN_TRACE : trace.getPath()); //$NON-NLS-1$
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ctf.core/src/org/eclipse/linuxtools/tmf/ctf/core/CtfTmfLostEvent.java b/lttng/org.eclipse.linuxtools.tmf.ctf.core/src/org/eclipse/linuxtools/tmf/ctf/core/CtfTmfLostEvent.java
deleted file mode 100644
index c699de0aeb..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ctf.core/src/org/eclipse/linuxtools/tmf/ctf/core/CtfTmfLostEvent.java
+++ /dev/null
@@ -1,79 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 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:
- * Alexandre Montplaisir - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.ctf.core;
-
-import org.eclipse.jdt.annotation.NonNull;
-import org.eclipse.linuxtools.ctf.core.event.EventDefinition;
-import org.eclipse.linuxtools.ctf.core.event.IEventDeclaration;
-import org.eclipse.linuxtools.tmf.core.event.ITmfLostEvent;
-import org.eclipse.linuxtools.tmf.core.timestamp.TmfTimeRange;
-
-/**
- * An implementation of {@link ITmfLostEvent} for use in the CTF adaptor.
- *
- * @author Alexandre Montplaisir
- * @since 2.2
- */
-public class CtfTmfLostEvent extends CtfTmfEvent implements ITmfLostEvent {
-
- private final TmfTimeRange fTimeRange;
- private final long fNbLost;
-
- /**
- * Constructor. Only {@link CtfTmfEventFactory} should call this.
- *
- * @param trace
- * The origin trace
- * @param rank
- * The rank of the event in the trace
- * @param content
- * The event's payload (fields). In case this event has some.
- * @param fileName
- * The name of the trace file from which this event comes
- * @param cpu
- * The CPU on which this event happened
- * @param declaration
- * The CTF Event Declaration object that created this event
- * @param timeRange
- * The time range of lost events indicated by this one
- * @param nbLost
- * The number of lost events in the range
- */
- CtfTmfLostEvent(CtfTmfTrace trace,
- long rank,
- String fileName,
- int cpu,
- IEventDeclaration declaration,
- TmfTimeRange timeRange,
- long nbLost,
- @NonNull EventDefinition def) {
- /*
- * Only the factory should call this method, the case to
- * (CtfTmfTimestamp) should be safe.
- */
- super(trace, rank, (CtfTmfTimestamp) timeRange.getStartTime(), fileName, cpu, declaration, def);
- fTimeRange = timeRange;
- fNbLost = nbLost;
- }
-
- @Override
- public TmfTimeRange getTimeRange() {
- return fTimeRange;
- }
-
- @Override
- public long getNbLostEvents() {
- return fNbLost;
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ctf.core/src/org/eclipse/linuxtools/tmf/ctf/core/CtfTmfTimestamp.java b/lttng/org.eclipse.linuxtools.tmf.ctf.core/src/org/eclipse/linuxtools/tmf/ctf/core/CtfTmfTimestamp.java
deleted file mode 100644
index 1d6873c74e..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ctf.core/src/org/eclipse/linuxtools/tmf/ctf/core/CtfTmfTimestamp.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2012, 2013 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:
- * Matthew Khouzam - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.ctf.core;
-
-import org.eclipse.linuxtools.tmf.core.timestamp.ITmfTimestamp;
-import org.eclipse.linuxtools.tmf.core.timestamp.TmfTimestamp;
-
-/**
- * The CTF adapter for the TMF timestamp. It's basically the same as a
- * TmfTimestamp, but the scale is always nanoseconds, and the precision is 0.
- *
- * @version 1.2
- * @author Matthew khouzam
- */
-public final class CtfTmfTimestamp extends TmfTimestamp {
-
- /**
- * Constructor for CtfTmfTimestamp.
- *
- * @param timestamp
- * The timestamp value (in nanoseconds)
- */
- public CtfTmfTimestamp(long timestamp) {
- super(timestamp, ITmfTimestamp.NANOSECOND_SCALE, 0);
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ctf.core/src/org/eclipse/linuxtools/tmf/ctf/core/CtfTmfTrace.java b/lttng/org.eclipse.linuxtools.tmf.ctf.core/src/org/eclipse/linuxtools/tmf/ctf/core/CtfTmfTrace.java
deleted file mode 100644
index a2831cf6bd..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ctf.core/src/org/eclipse/linuxtools/tmf/ctf/core/CtfTmfTrace.java
+++ /dev/null
@@ -1,518 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2012, 2014 Ericsson, École Polytechnique de Montréal
- *
- * 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:
- * Matthew Khouzam - Initial API and implementation
- * Patrick Tasse - Updated for removal of context clone
- * Geneviève Bastien - Added the createTimestamp function
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.ctf.core;
-
-import java.nio.BufferOverflowException;
-import java.nio.ByteBuffer;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.linuxtools.ctf.core.event.CTFClock;
-import org.eclipse.linuxtools.ctf.core.event.IEventDeclaration;
-import org.eclipse.linuxtools.ctf.core.trace.CTFReaderException;
-import org.eclipse.linuxtools.ctf.core.trace.CTFTrace;
-import org.eclipse.linuxtools.ctf.core.trace.CTFTraceReader;
-import org.eclipse.linuxtools.internal.tmf.ctf.core.Activator;
-import org.eclipse.linuxtools.tmf.core.event.ITmfEvent;
-import org.eclipse.linuxtools.tmf.core.event.ITmfEventField;
-import org.eclipse.linuxtools.tmf.core.event.ITmfEventType;
-import org.eclipse.linuxtools.tmf.core.event.TmfEventField;
-import org.eclipse.linuxtools.tmf.core.event.TmfEventTypeManager;
-import org.eclipse.linuxtools.tmf.core.exceptions.TmfTraceException;
-import org.eclipse.linuxtools.tmf.core.timestamp.ITmfTimestamp;
-import org.eclipse.linuxtools.tmf.core.timestamp.TmfTimestamp;
-import org.eclipse.linuxtools.tmf.core.trace.ITmfContext;
-import org.eclipse.linuxtools.tmf.core.trace.ITmfEventParser;
-import org.eclipse.linuxtools.tmf.core.trace.ITmfTraceProperties;
-import org.eclipse.linuxtools.tmf.core.trace.ITmfTraceWithPreDefinedEvents;
-import org.eclipse.linuxtools.tmf.core.trace.TmfTrace;
-import org.eclipse.linuxtools.tmf.core.trace.TraceValidationStatus;
-import org.eclipse.linuxtools.tmf.core.trace.indexer.ITmfPersistentlyIndexable;
-import org.eclipse.linuxtools.tmf.core.trace.indexer.ITmfTraceIndexer;
-import org.eclipse.linuxtools.tmf.core.trace.indexer.TmfBTreeTraceIndexer;
-import org.eclipse.linuxtools.tmf.core.trace.indexer.checkpoint.ITmfCheckpoint;
-import org.eclipse.linuxtools.tmf.core.trace.indexer.checkpoint.TmfCheckpoint;
-import org.eclipse.linuxtools.tmf.core.trace.location.ITmfLocation;
-
-import com.google.common.collect.ImmutableSet;
-
-/**
- * The CTf trace handler
- *
- * @version 1.0
- * @author Matthew khouzam
- */
-public class CtfTmfTrace extends TmfTrace
- implements ITmfEventParser, ITmfTraceProperties, ITmfPersistentlyIndexable,
- ITmfTraceWithPreDefinedEvents, AutoCloseable {
-
- // -------------------------------------------
- // Constants
- // -------------------------------------------
- /**
- * Default cache size for CTF traces
- */
- protected static final int DEFAULT_CACHE_SIZE = 50000;
-
- /*
- * The Ctf clock unique identifier field
- */
- private static final String CLOCK_HOST_PROPERTY = "uuid"; //$NON-NLS-1$
- private static final int CONFIDENCE = 10;
-
- // -------------------------------------------
- // Fields
- // -------------------------------------------
-
- /* Reference to the CTF Trace */
- private CTFTrace fTrace;
-
- // -------------------------------------------
- // TmfTrace Overrides
- // -------------------------------------------
- /**
- * Method initTrace.
- *
- * @param resource
- * The resource associated with this trace
- * @param path
- * The path to the trace file
- * @param eventType
- * The type of events that will be read from this trace
- * @throws TmfTraceException
- * If something went wrong while reading the trace
- */
- @Override
- public void initTrace(final IResource resource, final String path, final Class<? extends ITmfEvent> eventType)
- throws TmfTraceException {
- /*
- * Set the cache size. This has to be done before the call to super()
- * because the super needs to know the cache size.
- */
- setCacheSize();
-
- super.initTrace(resource, path, eventType);
-
- try {
- this.fTrace = new CTFTrace(path);
- CtfIteratorManager.addTrace(this);
- CtfTmfContext ctx;
- /* Set the start and (current) end times for this trace */
- ctx = (CtfTmfContext) seekEvent(0L);
- CtfTmfEvent event = getNext(ctx);
- if ((ctx.getLocation().equals(CtfIterator.NULL_LOCATION)) || (ctx.getCurrentEvent() == null)) {
- /* Handle the case where the trace is empty */
- this.setStartTime(TmfTimestamp.BIG_BANG);
- } else {
- final ITmfTimestamp curTime = event.getTimestamp();
- this.setStartTime(curTime);
- this.setEndTime(curTime);
- }
- /*
- * Register every event type. When you call getType, it will
- * register a trace to that type in the TmfEventTypeManager
- */
- try (CtfIterator iter = CtfIteratorManager.getIterator(this, ctx)) {
- for (IEventDeclaration ied : iter.getEventDeclarations()) {
- CtfTmfEventType ctfTmfEventType = CtfTmfEventType.get(this, ied.getName());
- if (ctfTmfEventType == null) {
- List<ITmfEventField> content = new ArrayList<>();
- /* Should only return null the first time */
- for (String fieldName : ied.getFields().getFieldsList()) {
- content.add(new TmfEventField(fieldName, null, null));
- }
- ITmfEventField contentTree = new TmfEventField(
- ITmfEventField.ROOT_FIELD_ID,
- null,
- content.toArray(new ITmfEventField[content.size()])
- );
-
- ctfTmfEventType = new CtfTmfEventType(ied.getName(), this, contentTree);
- }
- }
- }
- } catch (final CTFReaderException e) {
- /*
- * If it failed at the init(), we can assume it's because the file
- * was not found or was not recognized as a CTF trace. Throw into
- * the new type of exception expected by the rest of TMF.
- */
- throw new TmfTraceException(e.getMessage(), e);
- }
- }
-
- @Override
- public void close() {
- dispose();
- }
-
- @Override
- public synchronized void dispose() {
- CtfIteratorManager.removeTrace(this);
- if (fTrace != null) {
- fTrace.close();
- fTrace = null;
- }
- super.dispose();
- }
-
- /**
- * {@inheritDoc}
- * <p>
- * The default implementation sets the confidence to 10 if the trace is a
- * valid CTF trace.
- */
- @Override
- public IStatus validate(final IProject project, final String path) {
- IStatus status = new TraceValidationStatus(CONFIDENCE, Activator.PLUGIN_ID);
- try (final CTFTrace temp = new CTFTrace(path);) {
- if (!temp.majorIsSet()) {
- status = new Status(IStatus.ERROR, Activator.PLUGIN_ID, Messages.CtfTmfTrace_MajorNotSet);
- } else {
- try (CTFTraceReader ctfTraceReader = new CTFTraceReader(temp);) {
- if (!ctfTraceReader.hasMoreEvents()) {
- // TODO: This will need an additional check when we
- // support live traces
- // because having no event is valid for a live trace
- status = new Status(IStatus.ERROR, Activator.PLUGIN_ID, Messages.CtfTmfTrace_NoEvent);
- }
- }
- }
- } catch (final CTFReaderException e) {
- status = new Status(IStatus.ERROR, Activator.PLUGIN_ID, Messages.CtfTmfTrace_ReadingError + ": " + e.toString()); //$NON-NLS-1$
- } catch (final BufferOverflowException e) {
- status = new Status(IStatus.ERROR, Activator.PLUGIN_ID, Messages.CtfTmfTrace_ReadingError + ": " + Messages.CtfTmfTrace_BufferOverflowErrorMessage); //$NON-NLS-1$
- }
-
- return status;
- }
-
- /**
- * Method getCurrentLocation. This is not applicable in CTF
- *
- * @return null, since the trace has no knowledge of the current location
- * @see org.eclipse.linuxtools.tmf.core.trace.ITmfTrace#getCurrentLocation()
- * @since 3.0
- */
- @Override
- public ITmfLocation getCurrentLocation() {
- return null;
- }
-
- /**
- * @since 3.0
- */
- @Override
- public double getLocationRatio(ITmfLocation location) {
- final CtfLocation curLocation = (CtfLocation) location;
- final CtfTmfContext context = new CtfTmfContext(this);
- context.setLocation(curLocation);
- context.seek(curLocation.getLocationInfo());
- final CtfLocationInfo currentTime = ((CtfLocationInfo) context.getLocation().getLocationInfo());
- final long startTime = getIterator(this, context).getStartTime();
- final long endTime = getIterator(this, context).getEndTime();
- return ((double) currentTime.getTimestamp() - startTime)
- / (endTime - startTime);
- }
-
- /**
- * Method seekEvent.
- *
- * @param location
- * ITmfLocation<?>
- * @return ITmfContext
- * @since 3.0
- */
- @Override
- public synchronized ITmfContext seekEvent(final ITmfLocation location) {
- CtfLocation currentLocation = (CtfLocation) location;
- CtfTmfContext context = new CtfTmfContext(this);
- if (fTrace == null) {
- context.setLocation(null);
- context.setRank(ITmfContext.UNKNOWN_RANK);
- return context;
- }
- /*
- * The rank is set to 0 if the iterator seeks the beginning. If not, it
- * will be set to UNKNOWN_RANK, since CTF traces don't support seeking
- * by rank for now.
- */
- if (currentLocation == null) {
- currentLocation = new CtfLocation(new CtfLocationInfo(0L, 0L));
- context.setRank(0);
- }
- if (currentLocation.getLocationInfo() == CtfLocation.INVALID_LOCATION) {
- currentLocation = new CtfLocation(getCTFTrace().getCurrentEndTime() + 1, 0L);
- }
- context.setLocation(currentLocation);
- if (location == null) {
- long timestamp = getIterator(this, context).getCurrentTimestamp();
- currentLocation = new CtfLocation(timestamp, 0);
- }
- if (context.getRank() != 0) {
- context.setRank(ITmfContext.UNKNOWN_RANK);
- }
- return context;
- }
-
- @Override
- public synchronized ITmfContext seekEvent(double ratio) {
- CtfTmfContext context = new CtfTmfContext(this);
- if (fTrace == null) {
- context.setLocation(null);
- context.setRank(ITmfContext.UNKNOWN_RANK);
- return context;
- }
- final long end = getCTFTrace().getCurrentEndTime();
- final long start = getCTFTrace().getCurrentStartTime();
- final long diff = end - start;
- final long ratioTs = Math.round(diff * ratio) + start;
- context.seek(ratioTs);
- context.setRank(ITmfContext.UNKNOWN_RANK);
- return context;
- }
-
- /**
- * Method readNextEvent.
- *
- * @param context
- * ITmfContext
- * @return CtfTmfEvent
- * @see org.eclipse.linuxtools.tmf.core.trace.ITmfTrace#getNext(ITmfContext)
- */
- @Override
- public synchronized CtfTmfEvent getNext(final ITmfContext context) {
- if (fTrace == null) {
- return null;
- }
- CtfTmfEvent event = null;
- if (context instanceof CtfTmfContext) {
- if (context.getLocation() == null || CtfLocation.INVALID_LOCATION.equals(context.getLocation().getLocationInfo())) {
- return null;
- }
- CtfTmfContext ctfContext = (CtfTmfContext) context;
- event = ctfContext.getCurrentEvent();
-
- if (event != null) {
- updateAttributes(context, event.getTimestamp());
- ctfContext.advance();
- ctfContext.increaseRank();
- }
- }
-
- return event;
- }
-
- /**
- * gets the CTFtrace that this is wrapping
- *
- * @return the CTF trace
- */
- public CTFTrace getCTFTrace() {
- return fTrace;
- }
-
- /**
- * Ctf traces have a clock with a unique uuid that will be used to identify
- * the host. Traces with the same clock uuid will be known to have been made
- * on the same machine.
- *
- * Note: uuid is an optional field, it may not be there for a clock.
- */
- @Override
- public String getHostId() {
- CTFClock clock = getCTFTrace().getClock();
- if (clock != null) {
- String clockHost = (String) clock.getProperty(CLOCK_HOST_PROPERTY);
- if (clockHost != null) {
- return clockHost;
- }
- }
- return super.getHostId();
- }
-
- // -------------------------------------------
- // ITmfTraceProperties
- // -------------------------------------------
-
- /**
- * @since 2.0
- */
- @Override
- public Map<String, String> getTraceProperties() {
- Map<String, String> properties = new HashMap<>();
- properties.putAll(fTrace.getEnvironment());
- properties.put(Messages.CtfTmfTrace_HostID, getHostId());
- return properties;
- }
-
- // -------------------------------------------
- // Clocks
- // -------------------------------------------
-
- /**
- * gets the clock offset
- *
- * @return the clock offset in ns
- */
- public long getOffset() {
- if (fTrace != null) {
- return fTrace.getOffset();
- }
- return 0;
- }
-
- /**
- * Gets the list of declared events
- *
- * @since 3.0
- */
- @Override
- public Set<ITmfEventType> getContainedEventTypes() {
- TmfEventTypeManager instance = TmfEventTypeManager.getInstance();
- Set<ITmfEventType> eventTypes = instance.getTypes(CtfTmfEventType.computeContextName(this));
- return ImmutableSet.copyOf(eventTypes);
- }
-
- // -------------------------------------------
- // Parser
- // -------------------------------------------
-
- @Override
- public CtfTmfEvent parseEvent(ITmfContext context) {
- CtfTmfEvent event = null;
- if (context instanceof CtfTmfContext) {
- final ITmfContext tmpContext = seekEvent(context.getLocation());
- event = getNext(tmpContext);
- }
- return event;
- }
-
- /**
- * Sets the cache size for a CtfTmfTrace.
- */
- protected void setCacheSize() {
- setCacheSize(DEFAULT_CACHE_SIZE);
- }
-
- // -------------------------------------------
- // Helpers
- // -------------------------------------------
-
- private static CtfIterator getIterator(CtfTmfTrace trace, CtfTmfContext context) {
- return CtfIteratorManager.getIterator(trace, context);
- }
-
- /**
- * Get an iterator to the trace
- *
- * @return an iterator to the trace
- * @since 2.0
- */
- public CtfIterator createIterator() {
- try {
- return new CtfIterator(this);
- } catch (CTFReaderException e) {
- Activator.getDefault().logError(e.getMessage(), e);
- }
- return null;
- }
-
- // ------------------------------------------------------------------------
- // Timestamp transformation functions
- // ------------------------------------------------------------------------
-
- /**
- * @since 3.0
- */
- @Override
- public CtfTmfTimestamp createTimestamp(long ts) {
- return new CtfTmfTimestamp(getTimestampTransform().transform(ts));
- }
-
- private static int fCheckpointSize = -1;
-
- /**
- * @since 3.0
- */
- @Override
- public synchronized int getCheckpointSize() {
- if (fCheckpointSize == -1) {
- TmfCheckpoint c = new TmfCheckpoint(new CtfTmfTimestamp(0), new CtfLocation(0, 0), 0);
- ByteBuffer b = ByteBuffer.allocate(ITmfCheckpoint.MAX_SERIALIZE_SIZE);
- b.clear();
- c.serialize(b);
- fCheckpointSize = b.position();
- }
-
- return fCheckpointSize;
- }
-
- @Override
- protected ITmfTraceIndexer createIndexer(int interval) {
- return new TmfBTreeTraceIndexer(this, interval);
- }
-
- /**
- * @since 3.0
- */
- @Override
- public ITmfLocation restoreLocation(ByteBuffer bufferIn) {
- return new CtfLocation(bufferIn);
- }
-
- @Override
- public boolean isComplete() {
- if (getResource() == null) {
- return true;
- }
-
- String host = null;
- String port = null;
- String sessionName = null;
- try {
- host = getResource().getPersistentProperty(CtfConstants.LIVE_HOST);
- port = getResource().getPersistentProperty(CtfConstants.LIVE_PORT);
- sessionName = getResource().getPersistentProperty(CtfConstants.LIVE_SESSION_NAME);
- } catch (CoreException e) {
- Activator.getDefault().logError(e.getMessage(), e);
- // Something happened to the resource, assume we won't get any more data from it
- return true;
- }
- return host == null || port == null || sessionName == null;
- }
-
- @Override
- public void setComplete(final boolean isComplete) {
- super.setComplete(isComplete);
- try {
- if (isComplete) {
- getResource().setPersistentProperty(CtfConstants.LIVE_HOST, null);
- getResource().setPersistentProperty(CtfConstants.LIVE_PORT, null);
- getResource().setPersistentProperty(CtfConstants.LIVE_SESSION_NAME, null);
- }
- } catch (CoreException e) {
- Activator.getDefault().logError(e.getMessage(), e);
- }
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ctf.core/src/org/eclipse/linuxtools/tmf/ctf/core/Messages.java b/lttng/org.eclipse.linuxtools.tmf.ctf.core/src/org/eclipse/linuxtools/tmf/ctf/core/Messages.java
deleted file mode 100644
index 0401ace838..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ctf.core/src/org/eclipse/linuxtools/tmf/ctf/core/Messages.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 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:
- * Matthew Khouzam - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.ctf.core;
-
-import org.eclipse.osgi.util.NLS;
-
-/**
- * Message bundle for tmf.core.ctfadaptor
- *
- * @author Matthew Khouzam
- * @since 2.0
- */
-public class Messages extends NLS {
-
- private static final String BUNDLE_NAME = "org.eclipse.linuxtools.tmf.ctf.core.messages"; //$NON-NLS-1$
-
- /** Buffer overflow detected
- * @since 2.1*/
- public static String CtfTmfTrace_BufferOverflowErrorMessage;
-
- /**
- * Text for host ID
- *
- * @since 3.1
- */
- public static String CtfTmfTrace_HostID;
-
- /** Major version number not set */
- public static String CtfTmfTrace_MajorNotSet;
-
- /** Reading error */
- public static String CtfTmfTrace_ReadingError;
-
- /** No event */
- public static String CtfTmfTrace_NoEvent;
-
- /** Unsupported field type */
- public static String CtfTmfEventField_UnsupportedType;
-
- static {
- // initialize resource bundle
- NLS.initializeMessages(BUNDLE_NAME, Messages.class);
- }
-
- private Messages() {
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ctf.core/src/org/eclipse/linuxtools/tmf/ctf/core/messages.properties b/lttng/org.eclipse.linuxtools.tmf.ctf.core/src/org/eclipse/linuxtools/tmf/ctf/core/messages.properties
deleted file mode 100644
index 14d393b2db..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ctf.core/src/org/eclipse/linuxtools/tmf/ctf/core/messages.properties
+++ /dev/null
@@ -1,18 +0,0 @@
-###############################################################################
-# Copyright (c) 2013 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:
-# Ericsson - Initial API and implementation
-###############################################################################
-
-CtfTmfTrace_BufferOverflowErrorMessage=Buffer overflow exception, trace is malformed
-CtfTmfTrace_HostID=host ID
-CtfTmfTrace_MajorNotSet=Major version number not set
-CtfTmfTrace_ReadingError=Reading error
-CtfTmfTrace_NoEvent=Trace has no events
-CtfTmfEventField_UnsupportedType=Unsupported field type: \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.tmf.ctf.ui.swtbot.tests/.classpath b/lttng/org.eclipse.linuxtools.tmf.ctf.ui.swtbot.tests/.classpath
deleted file mode 100644
index 098194ca4b..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ctf.ui.swtbot.tests/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
- <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.7"/>
- <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
- <classpathentry kind="src" path="src"/>
- <classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/lttng/org.eclipse.linuxtools.tmf.ctf.ui.swtbot.tests/.gitignore b/lttng/org.eclipse.linuxtools.tmf.ctf.ui.swtbot.tests/.gitignore
deleted file mode 100644
index 750e145aa2..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ctf.ui.swtbot.tests/.gitignore
+++ /dev/null
@@ -1 +0,0 @@
-screenshots/
diff --git a/lttng/org.eclipse.linuxtools.tmf.ctf.ui.swtbot.tests/.project b/lttng/org.eclipse.linuxtools.tmf.ctf.ui.swtbot.tests/.project
deleted file mode 100644
index 4d596a0afc..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ctf.ui.swtbot.tests/.project
+++ /dev/null
@@ -1,34 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>org.eclipse.linuxtools.tmf.ctf.ui.swtbot.tests</name>
- <comment></comment>
- <projects>
- </projects>
- <buildSpec>
- <buildCommand>
- <name>org.eclipse.jdt.core.javabuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.ManifestBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.SchemaBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.api.tools.apiAnalysisBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>org.eclipse.pde.PluginNature</nature>
- <nature>org.eclipse.jdt.core.javanature</nature>
- <nature>org.eclipse.pde.api.tools.apiAnalysisNature</nature>
- </natures>
-</projectDescription>
diff --git a/lttng/org.eclipse.linuxtools.tmf.ctf.ui.swtbot.tests/.settings/org.eclipse.core.resources.prefs b/lttng/org.eclipse.linuxtools.tmf.ctf.ui.swtbot.tests/.settings/org.eclipse.core.resources.prefs
deleted file mode 100644
index 99f26c0203..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ctf.ui.swtbot.tests/.settings/org.eclipse.core.resources.prefs
+++ /dev/null
@@ -1,2 +0,0 @@
-eclipse.preferences.version=1
-encoding/<project>=UTF-8
diff --git a/lttng/org.eclipse.linuxtools.tmf.ctf.ui.swtbot.tests/.settings/org.eclipse.core.runtime.prefs b/lttng/org.eclipse.linuxtools.tmf.ctf.ui.swtbot.tests/.settings/org.eclipse.core.runtime.prefs
deleted file mode 100644
index 5a0ad22d2a..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ctf.ui.swtbot.tests/.settings/org.eclipse.core.runtime.prefs
+++ /dev/null
@@ -1,2 +0,0 @@
-eclipse.preferences.version=1
-line.separator=\n
diff --git a/lttng/org.eclipse.linuxtools.tmf.ctf.ui.swtbot.tests/.settings/org.eclipse.jdt.core.prefs b/lttng/org.eclipse.linuxtools.tmf.ctf.ui.swtbot.tests/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index f3fc64575b..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ctf.ui.swtbot.tests/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,393 +0,0 @@
-eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.annotation.inheritNullAnnotations=enabled
-org.eclipse.jdt.core.compiler.annotation.missingNonNullByDefaultAnnotation=ignore
-org.eclipse.jdt.core.compiler.annotation.nonnull=org.eclipse.jdt.annotation.NonNull
-org.eclipse.jdt.core.compiler.annotation.nonnullbydefault=org.eclipse.jdt.annotation.NonNullByDefault
-org.eclipse.jdt.core.compiler.annotation.nullable=org.eclipse.jdt.annotation.Nullable
-org.eclipse.jdt.core.compiler.annotation.nullanalysis=enabled
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.7
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.doc.comment.support=enabled
-org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=error
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
-org.eclipse.jdt.core.compiler.problem.comparingIdentical=error
-org.eclipse.jdt.core.compiler.problem.deadCode=error
-org.eclipse.jdt.core.compiler.problem.deprecation=error
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=enabled
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled
-org.eclipse.jdt.core.compiler.problem.discouragedReference=error
-org.eclipse.jdt.core.compiler.problem.emptyStatement=error
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.problem.explicitlyClosedAutoCloseable=error
-org.eclipse.jdt.core.compiler.problem.fallthroughCase=error
-org.eclipse.jdt.core.compiler.problem.fatalOptionalError=disabled
-org.eclipse.jdt.core.compiler.problem.fieldHiding=error
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=error
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=error
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=error
-org.eclipse.jdt.core.compiler.problem.includeNullInfoFromAsserts=disabled
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=error
-org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=error
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=error
-org.eclipse.jdt.core.compiler.problem.invalidJavadoc=warning
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTags=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=protected
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=error
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=error
-org.eclipse.jdt.core.compiler.problem.missingDefaultCase=error
-org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=error
-org.eclipse.jdt.core.compiler.problem.missingEnumCaseDespiteDefault=enabled
-org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=error
-org.eclipse.jdt.core.compiler.problem.missingJavadocComments=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=protected
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagDescription=all_standard_tags
-org.eclipse.jdt.core.compiler.problem.missingJavadocTags=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsMethodTypeParameters=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=protected
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=error
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotationForInterfaceMethodImplementation=enabled
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=error
-org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=error
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=error
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=error
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=ignore
-org.eclipse.jdt.core.compiler.problem.nonnullParameterAnnotationDropped=warning
-org.eclipse.jdt.core.compiler.problem.nullAnnotationInferenceConflict=warning
-org.eclipse.jdt.core.compiler.problem.nullReference=error
-org.eclipse.jdt.core.compiler.problem.nullSpecViolation=error
-org.eclipse.jdt.core.compiler.problem.nullUncheckedConversion=warning
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=error
-org.eclipse.jdt.core.compiler.problem.parameterAssignment=error
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=error
-org.eclipse.jdt.core.compiler.problem.potentialNullReference=error
-org.eclipse.jdt.core.compiler.problem.potentiallyUnclosedCloseable=warning
-org.eclipse.jdt.core.compiler.problem.rawTypeReference=error
-org.eclipse.jdt.core.compiler.problem.redundantNullAnnotation=warning
-org.eclipse.jdt.core.compiler.problem.redundantNullCheck=error
-org.eclipse.jdt.core.compiler.problem.redundantSpecificationOfTypeArguments=error
-org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=error
-org.eclipse.jdt.core.compiler.problem.reportMethodCanBePotentiallyStatic=ignore
-org.eclipse.jdt.core.compiler.problem.reportMethodCanBeStatic=error
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=error
-org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=disabled
-org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
-org.eclipse.jdt.core.compiler.problem.syntacticNullAnalysisForFields=enabled
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
-org.eclipse.jdt.core.compiler.problem.typeParameterHiding=error
-org.eclipse.jdt.core.compiler.problem.unavoidableGenericTypeProblems=disabled
-org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=error
-org.eclipse.jdt.core.compiler.problem.unclosedCloseable=error
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
-org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=error
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=error
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=error
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=error
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=disabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=disabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=error
-org.eclipse.jdt.core.compiler.problem.unusedLabel=error
-org.eclipse.jdt.core.compiler.problem.unusedLocal=error
-org.eclipse.jdt.core.compiler.problem.unusedObjectAllocation=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=error
-org.eclipse.jdt.core.compiler.problem.unusedTypeParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedWarningToken=error
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=error
-org.eclipse.jdt.core.compiler.source=1.7
-org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_assignment=0
-org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
-org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
-org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
-org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
-org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0
-org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=80
-org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=0
-org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch=16
-org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_after_package=1
-org.eclipse.jdt.core.formatter.blank_lines_before_field=0
-org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
-org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
-org.eclipse.jdt.core.formatter.blank_lines_before_method=1
-org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
-org.eclipse.jdt.core.formatter.blank_lines_before_package=0
-org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
-org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
-org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
-org.eclipse.jdt.core.formatter.comment.format_block_comments=true
-org.eclipse.jdt.core.formatter.comment.format_header=false
-org.eclipse.jdt.core.formatter.comment.format_html=true
-org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=true
-org.eclipse.jdt.core.formatter.comment.format_line_comments=true
-org.eclipse.jdt.core.formatter.comment.format_source_code=true
-org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true
-org.eclipse.jdt.core.formatter.comment.indent_root_tags=true
-org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
-org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=insert
-org.eclipse.jdt.core.formatter.comment.line_length=80
-org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries=true
-org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries=true
-org.eclipse.jdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments=false
-org.eclipse.jdt.core.formatter.compact_else_if=true
-org.eclipse.jdt.core.formatter.continuation_indentation=2
-org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2
-org.eclipse.jdt.core.formatter.disabling_tag=@formatter\:off
-org.eclipse.jdt.core.formatter.enabling_tag=@formatter\:on
-org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
-org.eclipse.jdt.core.formatter.format_line_comment_starting_on_first_column=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
-org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_empty_lines=false
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=false
-org.eclipse.jdt.core.formatter.indentation.size=4
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_label=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_try=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources=insert
-org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_try=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
-org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.join_lines_in_comments=true
-org.eclipse.jdt.core.formatter.join_wrapped_lines=false
-org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.lineSplit=250
-org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
-org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
-org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true
-org.eclipse.jdt.core.formatter.tabulation.char=space
-org.eclipse.jdt.core.formatter.tabulation.size=4
-org.eclipse.jdt.core.formatter.use_on_off_tags=false
-org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
-org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
-org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true
-org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true
diff --git a/lttng/org.eclipse.linuxtools.tmf.ctf.ui.swtbot.tests/.settings/org.eclipse.jdt.ui.prefs b/lttng/org.eclipse.linuxtools.tmf.ctf.ui.swtbot.tests/.settings/org.eclipse.jdt.ui.prefs
deleted file mode 100644
index 4fd0c7006a..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ctf.ui.swtbot.tests/.settings/org.eclipse.jdt.ui.prefs
+++ /dev/null
@@ -1,56 +0,0 @@
-eclipse.preferences.version=1
-editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
-formatter_profile=_tmf-style
-formatter_settings_version=12
-sp_cleanup.add_default_serial_version_id=true
-sp_cleanup.add_generated_serial_version_id=false
-sp_cleanup.add_missing_annotations=false
-sp_cleanup.add_missing_deprecated_annotations=true
-sp_cleanup.add_missing_methods=false
-sp_cleanup.add_missing_nls_tags=false
-sp_cleanup.add_missing_override_annotations=true
-sp_cleanup.add_missing_override_annotations_interface_methods=true
-sp_cleanup.add_serial_version_id=false
-sp_cleanup.always_use_blocks=true
-sp_cleanup.always_use_parentheses_in_expressions=false
-sp_cleanup.always_use_this_for_non_static_field_access=false
-sp_cleanup.always_use_this_for_non_static_method_access=false
-sp_cleanup.convert_to_enhanced_for_loop=false
-sp_cleanup.correct_indentation=false
-sp_cleanup.format_source_code=false
-sp_cleanup.format_source_code_changes_only=false
-sp_cleanup.make_local_variable_final=false
-sp_cleanup.make_parameters_final=false
-sp_cleanup.make_private_fields_final=true
-sp_cleanup.make_type_abstract_if_missing_method=false
-sp_cleanup.make_variable_declarations_final=false
-sp_cleanup.never_use_blocks=false
-sp_cleanup.never_use_parentheses_in_expressions=true
-sp_cleanup.on_save_use_additional_actions=true
-sp_cleanup.organize_imports=false
-sp_cleanup.qualify_static_field_accesses_with_declaring_class=false
-sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_with_declaring_class=false
-sp_cleanup.qualify_static_method_accesses_with_declaring_class=false
-sp_cleanup.remove_private_constructors=true
-sp_cleanup.remove_trailing_whitespaces=true
-sp_cleanup.remove_trailing_whitespaces_all=true
-sp_cleanup.remove_trailing_whitespaces_ignore_empty=false
-sp_cleanup.remove_unnecessary_casts=false
-sp_cleanup.remove_unnecessary_nls_tags=false
-sp_cleanup.remove_unused_imports=false
-sp_cleanup.remove_unused_local_variables=false
-sp_cleanup.remove_unused_private_fields=true
-sp_cleanup.remove_unused_private_members=false
-sp_cleanup.remove_unused_private_methods=true
-sp_cleanup.remove_unused_private_types=true
-sp_cleanup.sort_members=false
-sp_cleanup.sort_members_all=false
-sp_cleanup.use_blocks=true
-sp_cleanup.use_blocks_only_for_return_and_throw=false
-sp_cleanup.use_parentheses_in_expressions=false
-sp_cleanup.use_this_for_non_static_field_access=false
-sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=true
-sp_cleanup.use_this_for_non_static_method_access=false
-sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true
diff --git a/lttng/org.eclipse.linuxtools.tmf.ctf.ui.swtbot.tests/.settings/org.eclipse.pde.api.tools.prefs b/lttng/org.eclipse.linuxtools.tmf.ctf.ui.swtbot.tests/.settings/org.eclipse.pde.api.tools.prefs
deleted file mode 100644
index acc3abd47c..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ctf.ui.swtbot.tests/.settings/org.eclipse.pde.api.tools.prefs
+++ /dev/null
@@ -1,97 +0,0 @@
-ANNOTATION_ELEMENT_TYPE_ADDED_METHOD_WITHOUT_DEFAULT_VALUE=Error
-ANNOTATION_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
-ANNOTATION_ELEMENT_TYPE_REMOVED_FIELD=Error
-ANNOTATION_ELEMENT_TYPE_REMOVED_METHOD=Error
-ANNOTATION_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
-API_COMPONENT_ELEMENT_TYPE_REMOVED_API_TYPE=Error
-API_COMPONENT_ELEMENT_TYPE_REMOVED_REEXPORTED_API_TYPE=Error
-API_COMPONENT_ELEMENT_TYPE_REMOVED_REEXPORTED_TYPE=Error
-API_COMPONENT_ELEMENT_TYPE_REMOVED_TYPE=Error
-API_USE_SCAN_FIELD_SEVERITY=Error
-API_USE_SCAN_METHOD_SEVERITY=Error
-API_USE_SCAN_TYPE_SEVERITY=Error
-CLASS_ELEMENT_TYPE_ADDED_METHOD=Error
-CLASS_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
-CLASS_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
-CLASS_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error
-CLASS_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
-CLASS_ELEMENT_TYPE_CHANGED_NON_ABSTRACT_TO_ABSTRACT=Error
-CLASS_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error
-CLASS_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
-CLASS_ELEMENT_TYPE_REMOVED_CONSTRUCTOR=Error
-CLASS_ELEMENT_TYPE_REMOVED_FIELD=Error
-CLASS_ELEMENT_TYPE_REMOVED_METHOD=Error
-CLASS_ELEMENT_TYPE_REMOVED_SUPERCLASS=Error
-CLASS_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
-CLASS_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
-CONSTRUCTOR_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
-CONSTRUCTOR_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
-CONSTRUCTOR_ELEMENT_TYPE_CHANGED_VARARGS_TO_ARRAY=Error
-CONSTRUCTOR_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
-ENUM_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error
-ENUM_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
-ENUM_ELEMENT_TYPE_REMOVED_ENUM_CONSTANT=Error
-ENUM_ELEMENT_TYPE_REMOVED_FIELD=Error
-ENUM_ELEMENT_TYPE_REMOVED_METHOD=Error
-ENUM_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
-FIELD_ELEMENT_TYPE_ADDED_VALUE=Error
-FIELD_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
-FIELD_ELEMENT_TYPE_CHANGED_FINAL_TO_NON_FINAL_STATIC_CONSTANT=Error
-FIELD_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error
-FIELD_ELEMENT_TYPE_CHANGED_NON_STATIC_TO_STATIC=Error
-FIELD_ELEMENT_TYPE_CHANGED_STATIC_TO_NON_STATIC=Error
-FIELD_ELEMENT_TYPE_CHANGED_TYPE=Error
-FIELD_ELEMENT_TYPE_CHANGED_VALUE=Error
-FIELD_ELEMENT_TYPE_REMOVED_TYPE_ARGUMENT=Error
-FIELD_ELEMENT_TYPE_REMOVED_VALUE=Error
-ILLEGAL_EXTEND=Warning
-ILLEGAL_IMPLEMENT=Warning
-ILLEGAL_INSTANTIATE=Warning
-ILLEGAL_OVERRIDE=Warning
-ILLEGAL_REFERENCE=Warning
-INTERFACE_ELEMENT_TYPE_ADDED_FIELD=Error
-INTERFACE_ELEMENT_TYPE_ADDED_METHOD=Error
-INTERFACE_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
-INTERFACE_ELEMENT_TYPE_ADDED_SUPER_INTERFACE_WITH_METHODS=Error
-INTERFACE_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
-INTERFACE_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error
-INTERFACE_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
-INTERFACE_ELEMENT_TYPE_REMOVED_FIELD=Error
-INTERFACE_ELEMENT_TYPE_REMOVED_METHOD=Error
-INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
-INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
-INVALID_JAVADOC_TAG=Warning
-INVALID_REFERENCE_IN_SYSTEM_LIBRARIES=Warning
-LEAK_EXTEND=Warning
-LEAK_FIELD_DECL=Warning
-LEAK_IMPLEMENT=Warning
-LEAK_METHOD_PARAM=Warning
-LEAK_METHOD_RETURN_TYPE=Warning
-METHOD_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
-METHOD_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
-METHOD_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
-METHOD_ELEMENT_TYPE_CHANGED_NON_ABSTRACT_TO_ABSTRACT=Error
-METHOD_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error
-METHOD_ELEMENT_TYPE_CHANGED_NON_STATIC_TO_STATIC=Error
-METHOD_ELEMENT_TYPE_CHANGED_STATIC_TO_NON_STATIC=Error
-METHOD_ELEMENT_TYPE_CHANGED_VARARGS_TO_ARRAY=Error
-METHOD_ELEMENT_TYPE_REMOVED_ANNOTATION_DEFAULT_VALUE=Error
-METHOD_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
-MISSING_EE_DESCRIPTIONS=Ignore
-TYPE_PARAMETER_ELEMENT_TYPE_ADDED_CLASS_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_ADDED_INTERFACE_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_CHANGED_CLASS_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_CHANGED_INTERFACE_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_CLASS_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error
-UNUSED_PROBLEM_FILTERS=Warning
-automatically_removed_unused_problem_filters=false
-eclipse.preferences.version=1
-incompatible_api_component_version=Error
-incompatible_api_component_version_include_major_without_breaking_change=Disabled
-incompatible_api_component_version_include_minor_without_api_change=Disabled
-invalid_since_tag_version=Error
-malformed_since_tag=Error
-missing_since_tag=Error
-report_api_breakage_when_major_version_incremented=Disabled
-report_resolution_errors_api_component=Warning
diff --git a/lttng/org.eclipse.linuxtools.tmf.ctf.ui.swtbot.tests/.settings/org.eclipse.pde.prefs b/lttng/org.eclipse.linuxtools.tmf.ctf.ui.swtbot.tests/.settings/org.eclipse.pde.prefs
deleted file mode 100644
index 62cfa90dee..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ctf.ui.swtbot.tests/.settings/org.eclipse.pde.prefs
+++ /dev/null
@@ -1,32 +0,0 @@
-compilers.f.unresolved-features=1
-compilers.f.unresolved-plugins=1
-compilers.incompatible-environment=1
-compilers.p.build=1
-compilers.p.build.bin.includes=1
-compilers.p.build.encodings=2
-compilers.p.build.java.compiler=2
-compilers.p.build.java.compliance=1
-compilers.p.build.missing.output=2
-compilers.p.build.output.library=1
-compilers.p.build.source.library=1
-compilers.p.build.src.includes=1
-compilers.p.deprecated=1
-compilers.p.discouraged-class=1
-compilers.p.internal=1
-compilers.p.missing-packages=2
-compilers.p.missing-version-export-package=2
-compilers.p.missing-version-import-package=2
-compilers.p.missing-version-require-bundle=2
-compilers.p.no-required-att=0
-compilers.p.not-externalized-att=2
-compilers.p.unknown-attribute=1
-compilers.p.unknown-class=1
-compilers.p.unknown-element=1
-compilers.p.unknown-identifier=1
-compilers.p.unknown-resource=1
-compilers.p.unresolved-ex-points=0
-compilers.p.unresolved-import=0
-compilers.s.create-docs=false
-compilers.s.doc-folder=doc
-compilers.s.open-tags=1
-eclipse.preferences.version=1
diff --git a/lttng/org.eclipse.linuxtools.tmf.ctf.ui.swtbot.tests/META-INF/MANIFEST.MF b/lttng/org.eclipse.linuxtools.tmf.ctf.ui.swtbot.tests/META-INF/MANIFEST.MF
deleted file mode 100644
index c2ed040662..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ctf.ui.swtbot.tests/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,32 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %Bundle-Name
-Bundle-Vendor: %Bundle-Vendor
-Bundle-Version: 3.1.0.qualifier
-Bundle-Localization: plugin
-Bundle-SymbolicName: org.eclipse.linuxtools.tmf.ctf.ui.swtbot.tests;singleton:=true
-Bundle-ActivationPolicy: lazy
-Bundle-RequiredExecutionEnvironment: JavaSE-1.7
-Export-Package: org.eclipse.linuxtools.tmf.ctf.ui.swtbot.tests
-Require-Bundle: org.junit;bundle-version="4.0.0",
- org.eclipse.core.resources,
- org.eclipse.core.runtime,
- org.eclipse.ui,
- org.eclipse.ui.ide,
- org.eclipse.ui.views,
- org.eclipse.linuxtools.tmf.core,
- org.eclipse.linuxtools.tmf.ui,
- org.eclipse.linuxtools.tmf.ui.swtbot.tests,
- org.eclipse.linuxtools.tmf.ctf.core,
- org.eclipse.linuxtools.tmf.ctf.core.tests
-Import-Package: org.apache.log4j,
- org.apache.log4j.varia,
- org.eclipse.swtbot.eclipse.finder,
- org.eclipse.swtbot.eclipse.finder.widgets,
- org.eclipse.swtbot.swt.finder,
- org.eclipse.swtbot.swt.finder.finders,
- org.eclipse.swtbot.swt.finder.junit,
- org.eclipse.swtbot.swt.finder.results,
- org.eclipse.swtbot.swt.finder.utils,
- org.eclipse.swtbot.swt.finder.waits,
- org.eclipse.swtbot.swt.finder.widgets
diff --git a/lttng/org.eclipse.linuxtools.tmf.ctf.ui.swtbot.tests/about.html b/lttng/org.eclipse.linuxtools.tmf.ctf.ui.swtbot.tests/about.html
deleted file mode 100644
index 28737f60b7..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ctf.ui.swtbot.tests/about.html
+++ /dev/null
@@ -1,28 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
-<title>About</title>
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
-
-<p>June 5, 2006</p>
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;). Unless otherwise
-indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is available
-at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is
-being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content. Check the Redistributor's license that was
-provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at <a href="http://www.eclipse.org/">http://www.eclipse.org</a>.</p>
-
-</body>
-</html> \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.tmf.ctf.ui.swtbot.tests/build.properties b/lttng/org.eclipse.linuxtools.tmf.ctf.ui.swtbot.tests/build.properties
deleted file mode 100644
index 98b1bad4ba..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ctf.ui.swtbot.tests/build.properties
+++ /dev/null
@@ -1,18 +0,0 @@
-###############################################################################
-# Copyright (c) 2014 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:
-# Ericsson - Initial API and implementation
-###############################################################################
-
-source.. = src/
-output.. = bin/
-bin.includes = META-INF/,\
- .,\
- plugin.properties
-src.includes = about.html
diff --git a/lttng/org.eclipse.linuxtools.tmf.ctf.ui.swtbot.tests/plugin.properties b/lttng/org.eclipse.linuxtools.tmf.ctf.ui.swtbot.tests/plugin.properties
deleted file mode 100644
index 91395e8d6d..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ctf.ui.swtbot.tests/plugin.properties
+++ /dev/null
@@ -1,14 +0,0 @@
-###############################################################################
-# Copyright (c) 2014 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:
-# Ericsson - Initial API and implementation
-###############################################################################
-
-Bundle-Vendor = Eclipse Linux Tools
-Bundle-Name = CTF Support for TMF UI SWTBot Tests Plug-in
diff --git a/lttng/org.eclipse.linuxtools.tmf.ctf.ui.swtbot.tests/pom.xml b/lttng/org.eclipse.linuxtools.tmf.ctf.ui.swtbot.tests/pom.xml
deleted file mode 100644
index 25489746a7..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ctf.ui.swtbot.tests/pom.xml
+++ /dev/null
@@ -1,51 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Copyright (C) 2014 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
--->
-
-<project xmlns="http://maven.apache.org/POM/4.0.0"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
- <modelVersion>4.0.0</modelVersion>
-
- <parent>
- <artifactId>linuxtools-lttng-parent</artifactId>
- <groupId>org.eclipse.linuxtools.lttng</groupId>
- <version>3.2.0-SNAPSHOT</version>
- </parent>
-
- <artifactId>org.eclipse.linuxtools.tmf.ctf.ui.swtbot.tests</artifactId>
- <version>3.1.0-SNAPSHOT</version>
- <packaging>eclipse-test-plugin</packaging>
-
- <name>CTF Support for TMF SWTBot Tests Plug-in</name>
-
- <build>
- <plugins>
- <plugin>
- <groupId>org.eclipse.tycho</groupId>
- <artifactId>tycho-surefire-plugin</artifactId>
- <version>${tycho-version}</version>
- <configuration>
- <testSuite>org.eclipse.linuxtools.tmf.ctf.ui.swtbot.tests</testSuite>
- <testClass>org.eclipse.linuxtools.tmf.ctf.ui.swtbot.tests.AllTests</testClass>
- <useUIHarness>true</useUIHarness>
- <useUIThread>false</useUIThread>
- <argLine>${tycho.testArgLine} ${base.ui.test.vmargs}</argLine>
- <product>org.eclipse.platform.ide</product>
-<!-- Disable GTK3 with Luna because it makes the test hang (bug in IcedTea http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1736) -->
- <environmentVariables>
- <SWT_GTK3>0</SWT_GTK3>
- </environmentVariables>
- </configuration>
- </plugin>
- </plugins>
- </build>
-
- <groupId>org.eclipse.linuxtools.tmf</groupId>
-</project>
diff --git a/lttng/org.eclipse.linuxtools.tmf.ctf.ui.swtbot.tests/src/org/eclipse/linuxtools/tmf/ctf/ui/swtbot/tests/AbstractImportAndReadSmokeTest.java b/lttng/org.eclipse.linuxtools.tmf.ctf.ui.swtbot.tests/src/org/eclipse/linuxtools/tmf/ctf/ui/swtbot/tests/AbstractImportAndReadSmokeTest.java
deleted file mode 100644
index 677bcec4bf..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ctf.ui.swtbot.tests/src/org/eclipse/linuxtools/tmf/ctf/ui/swtbot/tests/AbstractImportAndReadSmokeTest.java
+++ /dev/null
@@ -1,267 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 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:
- * Bernd Hufmann - Initial API and implementation
- * (Extracted from ImportAndReadSmokeTest.java)
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.ctf.ui.swtbot.tests;
-
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assume.assumeTrue;
-
-import java.util.List;
-
-import org.apache.log4j.Logger;
-import org.apache.log4j.varia.NullAppender;
-import org.eclipse.jface.viewers.SelectionChangedEvent;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.jface.wizard.Wizard;
-import org.eclipse.linuxtools.tmf.core.signal.TmfTimeSynchSignal;
-import org.eclipse.linuxtools.tmf.core.trace.ITmfContext;
-import org.eclipse.linuxtools.tmf.ctf.core.CtfTmfEvent;
-import org.eclipse.linuxtools.tmf.ctf.core.CtfTmfTrace;
-import org.eclipse.linuxtools.tmf.ctf.core.tests.shared.CtfTmfTestTrace;
-import org.eclipse.linuxtools.tmf.ui.editors.TmfEventsEditor;
-import org.eclipse.linuxtools.tmf.ui.swtbot.tests.SWTBotUtil;
-import org.eclipse.linuxtools.tmf.ui.swtbot.tests.conditions.ConditionHelpers;
-import org.eclipse.linuxtools.tmf.ui.views.histogram.HistogramView;
-import org.eclipse.linuxtools.tmf.ui.views.statistics.TmfStatisticsView;
-import org.eclipse.swtbot.eclipse.finder.SWTWorkbenchBot;
-import org.eclipse.swtbot.eclipse.finder.widgets.SWTBotView;
-import org.eclipse.swtbot.swt.finder.finders.UIThreadRunnable;
-import org.eclipse.swtbot.swt.finder.junit.SWTBotJunit4ClassRunner;
-import org.eclipse.swtbot.swt.finder.results.VoidResult;
-import org.eclipse.swtbot.swt.finder.utils.SWTBotPreferences;
-import org.eclipse.swtbot.swt.finder.waits.Conditions;
-import org.eclipse.swtbot.swt.finder.widgets.SWTBotButton;
-import org.eclipse.swtbot.swt.finder.widgets.SWTBotShell;
-import org.eclipse.swtbot.swt.finder.widgets.SWTBotText;
-import org.eclipse.swtbot.swt.finder.widgets.SWTBotToolbarButton;
-import org.eclipse.swtbot.swt.finder.widgets.SWTBotTree;
-import org.eclipse.swtbot.swt.finder.widgets.SWTBotTreeItem;
-import org.eclipse.ui.IViewPart;
-import org.eclipse.ui.IViewReference;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.views.properties.PropertySheet;
-import org.junit.BeforeClass;
-import org.junit.runner.RunWith;
-
-/**
- * Abstract SWTBot Smoke test class.
- *
- * @author Matthew Khouzam
- * @author Bernd Hufmann
- */
-@RunWith(SWTBotJunit4ClassRunner.class)
-public abstract class AbstractImportAndReadSmokeTest {
-
- /** Trace name */
- protected static final String TRACE_NAME = "scp_dest";
- /** Trace folder */
- protected static final String TRACE_FOLDER = "synctraces";
- /** Trace type name for generic CTF traces */
- protected static final String TRACE_TYPE_NAME = "Generic CTF Trace";
- /** A Generic CTF Trace*/
- protected static final CtfTmfTestTrace fTrace = CtfTmfTestTrace.SYNC_DEST;
- /** SWT BOT workbench reference */
- protected static SWTWorkbenchBot fBot;
- /** Wizard to use */
- protected static Wizard fWizard;
-
- /** The Log4j logger instance. */
- protected static final Logger fLogger = Logger.getRootLogger();
-
- /** Test Class setup */
- @BeforeClass
- public static void init() {
- assumeTrue(fTrace.exists());
- SWTBotUtil.failIfUIThread();
-
- /* set up for swtbot */
- SWTBotPreferences.TIMEOUT = 50000; /* 50 second timeout */
- fLogger.addAppender(new NullAppender());
- fBot = new SWTWorkbenchBot();
-
- SWTBotUtil.closeView("welcome", fBot);
-
- SWTBotUtil.switchToTracingPerspective();
- /* finish waiting for eclipse to load */
- SWTBotUtil.waitForJobs();
- }
-
- /**
- * Creates a tracing projects
- */
- protected void createProject() {
- SWTBotUtil.focusMainWindow(fBot.shells());
- fBot.menu("File").menu("New").menu("Project...").click();
-
- fBot.shell("New Project").setFocus();
- SWTBotTree tree = fBot.tree();
- assertNotNull(tree);
- final String tracingKey = "Tracing";
- fBot.waitUntil(ConditionHelpers.IsTreeNodeAvailable(tracingKey, tree));
- final SWTBotTreeItem tracingNode = tree.expandNode(tracingKey);
-
- tracingNode.select();
- final String projectKey = "Tracing Project";
- fBot.waitUntil(ConditionHelpers.IsTreeChildNodeAvailable(projectKey, tracingNode));
- final SWTBotTreeItem tracingProject = tracingNode.getNode(projectKey);
- assertNotNull(tracingProject);
-
- tracingProject.select();
- tracingProject.click();
-
- SWTBotButton nextButton = fBot.button("Next >");
- fBot.waitUntil(Conditions.widgetIsEnabled(nextButton));
- nextButton.click();
- fBot.shell("Tracing Project").setFocus();
-
- final SWTBotText text = fBot.text();
- text.setText(getProjectName());
-
- fBot.button("Finish").click();
- SWTBotUtil.waitForJobs();
- }
-
- /**
- * Finishes the wizard
- */
- protected void importFinish() {
- SWTBotShell shell = fBot.activeShell();
- final SWTBotButton finishButton = fBot.button("Finish");
- finishButton.click();
- fBot.waitUntil(Conditions.shellCloses(shell));
- SWTBotUtil.waitForJobs();
- }
-
- /**
- * Gets the project Name
- * @return the project name
- */
- protected abstract String getProjectName();
-
- // ---------------------------------------------
- // Helpers for testing views
- // ---------------------------------------------
-
- /**
- * Verifies the properties view for a given view part
- *
- * @param vp
- * a view part
- */
- protected void testPropertyView(IViewPart vp) {
- PropertySheet pv = (PropertySheet) vp;
- assertNotNull(pv);
- }
-
- /**
- * Verifies the Histogram View
- * @param vp
- * the view part
- * @param tmfEd
- * the events editor
- */
- protected void testHistogramView(IViewPart vp, final TmfEventsEditor tmfEd) {
- final CtfTmfEvent desiredEvent1 = getEvent(100);
- UIThreadRunnable.syncExec(new VoidResult() {
- @Override
- public void run() {
- tmfEd.setFocus();
- tmfEd.selectionChanged(new SelectionChangedEvent(tmfEd, new StructuredSelection(desiredEvent1)));
- }
- });
-
- SWTBotUtil.waitForJobs();
- SWTBotUtil.delay(1000);
-
- final CtfTmfEvent desiredEvent2 = getEvent(10000);
- SWTBotView hvBot = fBot.viewById(HistogramView.ID);
- List<SWTBotToolbarButton> hvTools = hvBot.getToolbarButtons();
- for (SWTBotToolbarButton hvTool : hvTools) {
- if (hvTool.getToolTipText().toLowerCase().contains("lost")) {
- hvTool.click();
- }
- }
- HistogramView hv = (HistogramView) vp;
- final TmfTimeSynchSignal signal = new TmfTimeSynchSignal(hv, desiredEvent1.getTimestamp());
- final TmfTimeSynchSignal signal2 = new TmfTimeSynchSignal(hv, desiredEvent2.getTimestamp());
- hv.updateTimeRange(100000);
- SWTBotUtil.waitForJobs();
- hv.currentTimeUpdated(signal);
- hv.broadcast(signal);
- SWTBotUtil.waitForJobs();
- SWTBotUtil.delay(1000);
-
- hv.updateTimeRange(1000000000);
- SWTBotUtil.waitForJobs();
- hv.currentTimeUpdated(signal2);
- hv.broadcast(signal2);
- SWTBotUtil.waitForJobs();
- SWTBotUtil.delay(1000);
- assertNotNull(hv);
- }
-
- /**
- * Verifies the statistics view
- * @param vp
- * the view part
- */
- protected void testStatisticsView(IViewPart vp) {
- TmfStatisticsView sv = (TmfStatisticsView) vp;
- assertNotNull(sv);
- }
-
- // ---------------------------------------------
- // Trace helpers
- // ---------------------------------------------
-
- /**
- * Gets an event at a given rank
- * @param rank
- * a rank
- * @return the event at given rank
- */
- protected CtfTmfEvent getEvent(int rank) {
- try (CtfTmfTrace trace = fTrace.getTrace()) {
- ITmfContext ctx = trace.seekEvent(0);
- for (int i = 0; i < rank; i++) {
- trace.getNext(ctx);
- }
- return trace.getNext(ctx);
- }
- }
-
- /**
- * Gets a view part based on view title
- * @param viewTile
- * a view title
- * @return the view part
- */
- protected IViewPart getViewPart(final String viewTile) {
- final IViewPart[] vps = new IViewPart[1];
- UIThreadRunnable.syncExec(new VoidResult() {
- @Override
- public void run() {
- IViewReference[] viewRefs = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().getViewReferences();
- for (IViewReference viewRef : viewRefs) {
- IViewPart vp = viewRef.getView(true);
- if (vp.getTitle().equals(viewTile)) {
- vps[0] = vp;
- return;
- }
- }
- }
- });
-
- return vps[0];
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ctf.ui.swtbot.tests/src/org/eclipse/linuxtools/tmf/ctf/ui/swtbot/tests/AllTests.java b/lttng/org.eclipse.linuxtools.tmf.ctf.ui.swtbot.tests/src/org/eclipse/linuxtools/tmf/ctf/ui/swtbot/tests/AllTests.java
deleted file mode 100644
index bb3df9e919..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ctf.ui.swtbot.tests/src/org/eclipse/linuxtools/tmf/ctf/ui/swtbot/tests/AllTests.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013, 2014 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:
- * Matthew Khouzam - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.ctf.ui.swtbot.tests;
-
-import org.junit.runner.RunWith;
-import org.junit.runners.Suite;
-
-/**
- * SWTBot test suite for tmf.ui
- *
- * @author Matthew Khouzam
- */
-@RunWith(Suite.class)
-@Suite.SuiteClasses({
- ImportAndReadSmokeTest.class,
- StandardImportAndReadSmokeTest.class
-})
-public class AllTests {
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ctf.ui.swtbot.tests/src/org/eclipse/linuxtools/tmf/ctf/ui/swtbot/tests/ImportAndReadSmokeTest.java b/lttng/org.eclipse.linuxtools.tmf.ctf.ui.swtbot.tests/src/org/eclipse/linuxtools/tmf/ctf/ui/swtbot/tests/ImportAndReadSmokeTest.java
deleted file mode 100644
index 1118f59ba0..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ctf.ui.swtbot.tests/src/org/eclipse/linuxtools/tmf/ctf/ui/swtbot/tests/ImportAndReadSmokeTest.java
+++ /dev/null
@@ -1,142 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013, 2014 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:
- * Matthew Khouzam - Initial API and implementation
- * Marc-Andre Laperle
- * Bernd Hufmann - Extracted functionality to class AbstractImportAndReadSmokeTest
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.ctf.ui.swtbot.tests;
-
-import static org.junit.Assert.assertNotNull;
-
-import org.eclipse.core.runtime.Path;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.jface.wizard.IWizardPage;
-import org.eclipse.jface.wizard.WizardDialog;
-import org.eclipse.linuxtools.internal.tmf.ui.project.wizards.importtrace.BatchImportTraceWizard;
-import org.eclipse.linuxtools.tmf.ui.editors.TmfEventsEditor;
-import org.eclipse.linuxtools.tmf.ui.swtbot.tests.SWTBotUtil;
-import org.eclipse.linuxtools.tmf.ui.swtbot.tests.conditions.ConditionHelpers;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swtbot.swt.finder.finders.UIThreadRunnable;
-import org.eclipse.swtbot.swt.finder.junit.SWTBotJunit4ClassRunner;
-import org.eclipse.swtbot.swt.finder.results.VoidResult;
-import org.eclipse.swtbot.swt.finder.waits.Conditions;
-import org.eclipse.swtbot.swt.finder.widgets.SWTBotButton;
-import org.eclipse.swtbot.swt.finder.widgets.SWTBotTree;
-import org.eclipse.swtbot.swt.finder.widgets.SWTBotTreeItem;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.PlatformUI;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-
-/**
- * SWTBot Smoke test. base for other tests
- *
- * @author Matthew Khouzam
- */
-@RunWith(SWTBotJunit4ClassRunner.class)
-public class ImportAndReadSmokeTest extends AbstractImportAndReadSmokeTest {
-
- private static final String TRACE_PROJECT_NAME = "test";
-
- /**
- * Main test case
- */
- @Test
- public void test() {
- createProject();
-
- batchImportOpenWizard();
- batchImportSelecTraceType();
- batchImportAddDirectory();
- batchImportSelectTrace();
- importFinish();
-
- TmfEventsEditor tmfEd = SWTBotUtil.openEditor(fBot, getProjectName(), new Path(TRACE_NAME));
-
- testHistogramView(getViewPart("Histogram"), tmfEd);
- testPropertyView(getViewPart("Properties"));
- testStatisticsView(getViewPart("Statistics"));
- fBot.closeAllEditors();
-
- SWTBotUtil.deleteProject(getProjectName(), fBot);
- }
-
- private static void batchImportOpenWizard() {
- fWizard = new BatchImportTraceWizard();
-
- UIThreadRunnable.asyncExec(new VoidResult() {
- @Override
- public void run() {
- final IWorkbench workbench = PlatformUI.getWorkbench();
- // Fire the Import Trace Wizard
- if (workbench != null) {
- final IWorkbenchWindow activeWorkbenchWindow = workbench.getActiveWorkbenchWindow();
- Shell shell = activeWorkbenchWindow.getShell();
- assertNotNull(shell);
- ((BatchImportTraceWizard) fWizard).init(PlatformUI.getWorkbench(), StructuredSelection.EMPTY);
- WizardDialog dialog = new WizardDialog(shell, fWizard);
- dialog.open();
- }
- }
- });
-
- fBot.waitUntil(ConditionHelpers.isWizardReady(fWizard));
- }
-
- private static void batchImportSelecTraceType() {
- final SWTBotTree tree = fBot.tree();
- final String ctfId = "Common Trace Format";
- fBot.waitUntil(ConditionHelpers.IsTreeNodeAvailable(ctfId, tree));
- fBot.waitUntil(ConditionHelpers.IsTreeChildNodeAvailable(TRACE_TYPE_NAME, tree.getTreeItem(ctfId)));
- tree.getTreeItem(ctfId).getNode(TRACE_TYPE_NAME).check();
- batchImportClickNext();
- }
-
- private static void batchImportAddDirectory() {
- UIThreadRunnable.syncExec(new VoidResult() {
- @Override
- public void run() {
- ((BatchImportTraceWizard) fWizard).addFileToScan(fTrace.getPath());
- }
- });
- final SWTBotButton removeButton = fBot.button("Remove");
- fBot.waitUntil(Conditions.widgetIsEnabled(removeButton));
- removeButton.click();
- fBot.waitUntil(Conditions.tableHasRows(fBot.table(), 1));
-
- batchImportClickNext();
- }
-
- private static void batchImportSelectTrace() {
- SWTBotTree tree = fBot.tree();
- fBot.waitUntil(Conditions.widgetIsEnabled(tree));
- final SWTBotTreeItem genericCtfTreeItem = tree.getTreeItem(TRACE_TYPE_NAME);
- fBot.waitUntil(Conditions.widgetIsEnabled(genericCtfTreeItem));
- genericCtfTreeItem.expand();
- genericCtfTreeItem.check();
- batchImportClickNext();
- }
-
- private static void batchImportClickNext() {
- IWizardPage currentPage = fWizard.getContainer().getCurrentPage();
- IWizardPage desiredPage = fWizard.getNextPage(currentPage);
- SWTBotButton nextButton = fBot.button("Next >");
- nextButton.click();
- fBot.waitUntil(ConditionHelpers.isWizardOnPage(fWizard, desiredPage));
- }
-
- @Override
- protected String getProjectName() {
- return TRACE_PROJECT_NAME;
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ctf.ui.swtbot.tests/src/org/eclipse/linuxtools/tmf/ctf/ui/swtbot/tests/StandardImportAndReadSmokeTest.java b/lttng/org.eclipse.linuxtools.tmf.ctf.ui.swtbot.tests/src/org/eclipse/linuxtools/tmf/ctf/ui/swtbot/tests/StandardImportAndReadSmokeTest.java
deleted file mode 100644
index a1a2046c7e..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ctf.ui.swtbot.tests/src/org/eclipse/linuxtools/tmf/ctf/ui/swtbot/tests/StandardImportAndReadSmokeTest.java
+++ /dev/null
@@ -1,315 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 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:
- * Bernd Hufmann - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.ctf.ui.swtbot.tests;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertTrue;
-
-import java.io.File;
-import java.util.Collections;
-import java.util.Comparator;
-import java.util.List;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.jface.wizard.WizardDialog;
-import org.eclipse.linuxtools.internal.tmf.ui.project.wizards.importtrace.ImportTraceWizard;
-import org.eclipse.linuxtools.internal.tmf.ui.project.wizards.importtrace.ImportTraceWizardPage;
-import org.eclipse.linuxtools.internal.tmf.ui.project.wizards.importtrace.Messages;
-import org.eclipse.linuxtools.tmf.ui.editors.TmfEventsEditor;
-import org.eclipse.linuxtools.tmf.ui.project.model.TmfProjectElement;
-import org.eclipse.linuxtools.tmf.ui.project.model.TmfProjectRegistry;
-import org.eclipse.linuxtools.tmf.ui.project.model.TmfTraceElement;
-import org.eclipse.linuxtools.tmf.ui.project.model.TmfTraceFolder;
-import org.eclipse.linuxtools.tmf.ui.project.model.TmfTracesFolder;
-import org.eclipse.linuxtools.tmf.ui.swtbot.tests.SWTBotUtil;
-import org.eclipse.linuxtools.tmf.ui.swtbot.tests.conditions.ConditionHelpers;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swtbot.swt.finder.finders.UIThreadRunnable;
-import org.eclipse.swtbot.swt.finder.junit.SWTBotJunit4ClassRunner;
-import org.eclipse.swtbot.swt.finder.results.VoidResult;
-import org.eclipse.swtbot.swt.finder.waits.Conditions;
-import org.eclipse.swtbot.swt.finder.widgets.SWTBotCheckBox;
-import org.eclipse.swtbot.swt.finder.widgets.SWTBotCombo;
-import org.eclipse.swtbot.swt.finder.widgets.SWTBotRadio;
-import org.eclipse.swtbot.swt.finder.widgets.SWTBotText;
-import org.eclipse.swtbot.swt.finder.widgets.SWTBotTree;
-import org.eclipse.swtbot.swt.finder.widgets.SWTBotTreeItem;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.PlatformUI;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-
-/**
- * SWTBot Smoke test using ImportTraceWizard.
- *
- * @author Bernd Hufmann
- */
-@RunWith(SWTBotJunit4ClassRunner.class)
-public class StandardImportAndReadSmokeTest extends AbstractImportAndReadSmokeTest {
-
- private static final String TRACE_FOLDER_PARENT_PATH = fTrace.getPath() + File.separator + ".." + File.separator + ".." + File.separator;
- private static final String TRACE_ARCHIVE_PATH = TRACE_FOLDER_PARENT_PATH + "synctraces.tar.gz";
- private static final String TRACE_PROJECT_NAME = "Tracing";
-
- /**
- * Test import from directory
- */
- @Test
- public void testImportFromDirectory() {
- testImport(0, false, false);
- }
-
- /**
- * Test import from directory, create links
- */
- @Test
- public void testImportFromDirectoryLinks() {
- testImport(ImportTraceWizardPage.OPTION_CREATE_LINKS_IN_WORKSPACE, false, false);
- }
-
- /**
- * Test import from directory, preserve folder structure
- */
- @Test
- public void testImportFromDirectoryPreserveFolder() {
- testImport(ImportTraceWizardPage.OPTION_PRESERVE_FOLDER_STRUCTURE, false, false);
- }
-
- /**
- * Test import from directory, create links, preserve folder structure
- */
- @Test
- public void testImportFromDirectoryLinksPreserveFolder() {
- int options = ImportTraceWizardPage.OPTION_CREATE_LINKS_IN_WORKSPACE | ImportTraceWizardPage.OPTION_PRESERVE_FOLDER_STRUCTURE;
- testImport(options, false, false);
- }
-
- /**
- * Test import from directory, overwrite all
- */
- @Test
- public void testImportFromDirectoryOverwrite() {
- testImport(0, false, false);
- testImport(ImportTraceWizardPage.OPTION_OVERWRITE_EXISTING_RESOURCES, false, false);
- }
-
- /**
- * Test import from archive
- */
- @Test
- public void testImportFromArchive() {
- testImport(ImportTraceWizardPage.OPTION_PRESERVE_FOLDER_STRUCTURE, true, true);
- }
-
- /**
- * Test import from directory, preserve folder structure
- */
- @Test
- public void testImportFromArchivePreserveFolder() {
- testImport(ImportTraceWizardPage.OPTION_PRESERVE_FOLDER_STRUCTURE, false, true);
- }
-
- /**
- * Test import from directory, overwrite all
- */
- @Test
- public void testImportFromArchiveOverwrite() {
- testImport(0, false, true);
- testImport(ImportTraceWizardPage.OPTION_OVERWRITE_EXISTING_RESOURCES, false, true);
- }
-
- private void testImport(int options, boolean testViews, boolean fromArchive) {
- createProject();
-
- importOpenWizard();
- if (fromArchive) {
- importAddArchive();
- } else {
- importAddDirectory();
- }
-
- setOptions(options, ImportTraceWizardPage.TRACE_TYPE_AUTO_DETECT);
- importFinish();
-
- checkOptions(options);
- TmfEventsEditor tmfEd = SWTBotUtil.openEditor(fBot, getProjectName(), getTraceElementPath(options));
- if (testViews) {
- testViews(tmfEd);
- }
-
- fBot.closeAllEditors();
-
- SWTBotUtil.deleteProject(getProjectName(), fBot);
- }
-
- private void testViews(TmfEventsEditor editor) {
- testHistogramView(getViewPart("Histogram"), editor);
- testPropertyView(getViewPart("Properties"));
- testStatisticsView(getViewPart("Statistics"));
- }
-
- private static void importOpenWizard() {
- fWizard = new ImportTraceWizard();
-
- UIThreadRunnable.asyncExec(new VoidResult() {
- @Override
- public void run() {
- final IWorkbench workbench = PlatformUI.getWorkbench();
- // Fire the Import Trace Wizard
- if (workbench != null) {
- final IWorkbenchWindow activeWorkbenchWindow = workbench.getActiveWorkbenchWindow();
- Shell shell = activeWorkbenchWindow.getShell();
- assertNotNull(shell);
- ((ImportTraceWizard) fWizard).init(PlatformUI.getWorkbench(), StructuredSelection.EMPTY);
- WizardDialog dialog = new WizardDialog(shell, fWizard);
- dialog.open();
- }
- }
- });
-
- fBot.waitUntil(ConditionHelpers.isWizardReady(fWizard));
- }
-
- private static void importAddDirectory() {
- SWTBotRadio button = fBot.radio("Select roo&t directory:");
- button.click();
-
- SWTBotCombo sourceCombo = fBot.comboBox();
- File traceFolderParent = new File(TRACE_FOLDER_PARENT_PATH);
- sourceCombo.setText(traceFolderParent.getAbsolutePath());
-
- SWTBotText text = fBot.text();
- text.setFocus();
-
- fBot.activeShell();
- SWTBotTree tree = fBot.tree();
- fBot.waitUntil(Conditions.widgetIsEnabled(tree));
-
- final String traceFolderParentName = new Path(traceFolderParent.getAbsolutePath()).lastSegment();
- fBot.waitUntil(ConditionHelpers.IsTreeNodeAvailable(traceFolderParentName, tree));
- final SWTBotTreeItem folderParentNode = tree.getTreeItem(traceFolderParentName);
- folderParentNode.expand();
-
- fBot.waitUntil(ConditionHelpers.IsTreeChildNodeAvailable(TRACE_FOLDER, folderParentNode));
- final SWTBotTreeItem folderNode = folderParentNode.getNode(TRACE_FOLDER);
- folderNode.check();
- }
-
- private static void importAddArchive() {
- SWTBotRadio button = fBot.radio("Select &archive file:");
- button.click();
-
- SWTBotCombo sourceCombo = fBot.comboBox(1);
-
- sourceCombo.setText(new File(TRACE_ARCHIVE_PATH).getAbsolutePath());
-
- SWTBotText text = fBot.text();
- text.setFocus();
-
- SWTBotTree tree = fBot.tree();
- fBot.waitUntil(Conditions.widgetIsEnabled(tree));
- final SWTBotTreeItem genericCtfTreeItem = tree.getTreeItem("/");
- fBot.waitUntil(Conditions.widgetIsEnabled(genericCtfTreeItem));
- genericCtfTreeItem.check();
-
- SWTBotCheckBox checkBox = fBot.checkBox(Messages.ImportTraceWizard_CreateLinksInWorkspace);
- assertFalse(checkBox.isEnabled());
- }
-
- private static void setOptions(int optionFlags, String traceTypeName) {
- SWTBotCheckBox checkBox = fBot.checkBox(Messages.ImportTraceWizard_CreateLinksInWorkspace);
- if (checkBox.isEnabled()) {
- if ((optionFlags & ImportTraceWizardPage.OPTION_CREATE_LINKS_IN_WORKSPACE) != 0) {
- checkBox.select();
- } else {
- checkBox.deselect();
- }
- }
-
- checkBox = fBot.checkBox(Messages.ImportTraceWizard_PreserveFolderStructure);
- if ((optionFlags & ImportTraceWizardPage.OPTION_PRESERVE_FOLDER_STRUCTURE) != 0) {
- checkBox.select();
- } else {
- checkBox.deselect();
- }
-
- checkBox = fBot.checkBox(Messages.ImportTraceWizard_ImportUnrecognized);
- if ((optionFlags & ImportTraceWizardPage.OPTION_IMPORT_UNRECOGNIZED_TRACES) != 0) {
- checkBox.select();
- } else {
- checkBox.deselect();
- }
-
- checkBox = fBot.checkBox(Messages.ImportTraceWizard_OverwriteExistingTrace);
- if ((optionFlags & ImportTraceWizardPage.OPTION_OVERWRITE_EXISTING_RESOURCES) != 0) {
- checkBox.select();
- } else {
- checkBox.deselect();
- }
-
- SWTBotCombo comboBox = fBot.comboBoxWithLabel(Messages.ImportTraceWizard_TraceType);
- if (traceTypeName != null && !traceTypeName.isEmpty()) {
- comboBox.setSelection(traceTypeName);
- } else {
- comboBox.setSelection(ImportTraceWizardPage.TRACE_TYPE_AUTO_DETECT);
- }
- }
-
- private static void checkOptions(int optionFlags) {
- IProject project = ResourcesPlugin.getWorkspace().getRoot().getProject(TRACE_PROJECT_NAME);
- assertTrue(project.exists());
- TmfProjectElement tmfProject = TmfProjectRegistry.getProject(project, true);
- assertNotNull(tmfProject);
- TmfTraceFolder tracesFolder = tmfProject.getTracesFolder();
- assertNotNull(tracesFolder);
- List<TmfTraceElement> traces = tracesFolder.getTraces();
- assertFalse(traces.isEmpty());
- Collections.sort(traces, new Comparator<TmfTraceElement>() {
- @Override
- public int compare(TmfTraceElement arg0, TmfTraceElement arg1) {
- return arg0.getElementPath().compareTo(arg1.getElementPath());
- }
- });
-
- TmfTraceElement tmfTraceElement = traces.get(0);
- IResource traceResource = tmfTraceElement.getResource();
-
- assertEquals((optionFlags & ImportTraceWizardPage.OPTION_CREATE_LINKS_IN_WORKSPACE) != 0, traceResource.isLinked());
-
- // i.e. /Tracing/Traces
- IPath expectedPath = Path.ROOT.append(new Path(TRACE_PROJECT_NAME)).append(TmfTracesFolder.TRACES_FOLDER_NAME);
- expectedPath = expectedPath.append(getTraceElementPath(optionFlags));
- assertEquals(expectedPath, traceResource.getFullPath());
- }
-
- private static IPath getTraceElementPath(int optionFlags) {
- IPath traceElementPath = new Path("");
- if ((optionFlags & ImportTraceWizardPage.OPTION_PRESERVE_FOLDER_STRUCTURE) != 0) {
- traceElementPath = traceElementPath.append(TRACE_FOLDER);
- }
- return traceElementPath.append(TRACE_NAME);
- }
-
- @Override
- protected String getProjectName() {
- return TRACE_PROJECT_NAME;
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ctf/.project b/lttng/org.eclipse.linuxtools.tmf.ctf/.project
deleted file mode 100644
index e5c87f162b..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ctf/.project
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>org.eclipse.linuxtools.tmf.ctf</name>
- <comment></comment>
- <projects>
- </projects>
- <buildSpec>
- <buildCommand>
- <name>org.eclipse.pde.FeatureBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>org.eclipse.pde.FeatureNature</nature>
- </natures>
-</projectDescription>
diff --git a/lttng/org.eclipse.linuxtools.tmf.ctf/.settings/org.eclipse.core.resources.prefs b/lttng/org.eclipse.linuxtools.tmf.ctf/.settings/org.eclipse.core.resources.prefs
deleted file mode 100644
index 99f26c0203..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ctf/.settings/org.eclipse.core.resources.prefs
+++ /dev/null
@@ -1,2 +0,0 @@
-eclipse.preferences.version=1
-encoding/<project>=UTF-8
diff --git a/lttng/org.eclipse.linuxtools.tmf.ctf/.settings/org.eclipse.core.runtime.prefs b/lttng/org.eclipse.linuxtools.tmf.ctf/.settings/org.eclipse.core.runtime.prefs
deleted file mode 100644
index 5a0ad22d2a..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ctf/.settings/org.eclipse.core.runtime.prefs
+++ /dev/null
@@ -1,2 +0,0 @@
-eclipse.preferences.version=1
-line.separator=\n
diff --git a/lttng/org.eclipse.linuxtools.tmf.ctf/build.properties b/lttng/org.eclipse.linuxtools.tmf.ctf/build.properties
deleted file mode 100644
index c0db4e0a72..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ctf/build.properties
+++ /dev/null
@@ -1,15 +0,0 @@
-###############################################################################
-# Copyright (c) 2013 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:
-# Ericsson - Initial API and implementation
-###############################################################################
-
-bin.includes = feature.xml,\
- feature.properties,\
- p2.inf
diff --git a/lttng/org.eclipse.linuxtools.tmf.ctf/feature.properties b/lttng/org.eclipse.linuxtools.tmf.ctf/feature.properties
deleted file mode 100644
index 9d4e7f47ed..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ctf/feature.properties
+++ /dev/null
@@ -1,21 +0,0 @@
-###############################################################################
-# Copyright (c) 2009, 2014 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:
-# Ericsson - Initial API and implementation
-###############################################################################
-
-featureName=CTF Support for TMF
-
-description=Plug-ins to add support for reading traces in the \
-Common Trace Format (CTF) to the Tracing and Monitoring Framework (TMF).
-
-featureProvider=Eclipse Linux Tools
-
-copyright=Copyright 2014 Ericsson
-
diff --git a/lttng/org.eclipse.linuxtools.tmf.ctf/feature.xml b/lttng/org.eclipse.linuxtools.tmf.ctf/feature.xml
deleted file mode 100644
index bc5fe37fa7..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ctf/feature.xml
+++ /dev/null
@@ -1,55 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- For PDE build, remove "ws" and "arch" -->
-<feature
- id="org.eclipse.linuxtools.tmf.ctf"
- label="%featureName"
- version="3.2.0.qualifier"
- provider-name="%featureProvider"
- license-feature="org.eclipse.license"
- license-feature-version="0.0.0">
-
- <description>
- %description
- </description>
-
- <copyright>
- %copyright
- </copyright>
-
- <license url="%licenseURL">
- %license
- </license>
-
- <url>
- <update label="Linux Tools Update Site" url="http://download.eclipse.org/linuxtools/update"/>
- </url>
-
- <includes
- id="org.eclipse.linuxtools.tmf"
- version="0.0.0"
- name="Tracing and Monitoring Framework (TMF)"/>
-
- <includes
- id="org.eclipse.linuxtools.ctf"
- version="0.0.0"
- name="Common Trace Format (CTF)"/>
-
- <requires>
- <import plugin="org.eclipse.core.runtime"/>
- <import plugin="org.eclipse.core.resources"/>
- <import plugin="org.eclipse.linuxtools.ctf.core" version="3.1.0" match="greaterOrEqual"/>
- <import plugin="org.eclipse.linuxtools.tmf.core" version="3.1.0" match="greaterOrEqual"/>
- <import plugin="org.eclipse.ui"/>
- <import plugin="org.eclipse.ui.ide"/>
- <import plugin="org.eclipse.linuxtools.tmf.ui" version="3.1.0" match="greaterOrEqual"/>
- <import plugin="org.eclipse.help"/>
- </requires>
-
- <plugin
- id="org.eclipse.linuxtools.tmf.ctf.core"
- download-size="0"
- install-size="0"
- version="0.0.0"
- unpack="false"/>
-
-</feature>
diff --git a/lttng/org.eclipse.linuxtools.tmf.ctf/p2.inf b/lttng/org.eclipse.linuxtools.tmf.ctf/p2.inf
deleted file mode 100644
index 014c6202db..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ctf/p2.inf
+++ /dev/null
@@ -1,3 +0,0 @@
-instructions.configure=\
-org.eclipse.equinox.p2.touchpoint.eclipse.addRepository(location:http${#58}//download.eclipse.org/linuxtools/updates-nightly,type:0,name:Linux Tools,enabled:false); \
-org.eclipse.equinox.p2.touchpoint.eclipse.addRepository(location:http${#58}//download.eclipse.org/linuxtools/updates-nightly,type:1,name:Linux Tools,enabled:false);
diff --git a/lttng/org.eclipse.linuxtools.tmf.ctf/pom.xml b/lttng/org.eclipse.linuxtools.tmf.ctf/pom.xml
deleted file mode 100644
index d76eb1fb1f..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ctf/pom.xml
+++ /dev/null
@@ -1,59 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Copyright (C) 2011, Red Hat, Inc.
-
- 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
--->
-<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
- <modelVersion>4.0.0</modelVersion>
-
- <parent>
- <artifactId>linuxtools-lttng-parent</artifactId>
- <groupId>org.eclipse.linuxtools.lttng</groupId>
- <version>3.2.0-SNAPSHOT</version>
- </parent>
-
- <artifactId>org.eclipse.linuxtools.tmf.ctf</artifactId>
- <version>3.2.0-SNAPSHOT</version>
- <packaging>eclipse-feature</packaging>
-
- <name>CTF support for TMF Feature</name>
-
- <groupId>org.eclipse.linuxtools.tmf</groupId>
-
- <build>
- <plugins>
- <plugin>
- <groupId>org.eclipse.tycho.extras</groupId>
- <artifactId>tycho-source-feature-plugin</artifactId>
- <executions>
- <execution>
- <id>source-feature</id>
- <phase>package</phase>
- <goals>
- <goal>source-feature</goal>
- </goals>
- </execution>
- </executions>
- </plugin>
- <plugin>
- <groupId>org.eclipse.tycho</groupId>
- <artifactId>tycho-p2-plugin</artifactId>
- <version>${tycho-version}</version>
- <executions>
- <execution>
- <id>attached-p2-metadata</id>
- <phase>package</phase>
- <goals>
- <goal>p2-metadata</goal>
- </goals>
- </execution>
- </executions>
- </plugin>
- </plugins>
- </build>
-</project>
diff --git a/lttng/org.eclipse.linuxtools.tmf.help/.empty.dtd b/lttng/org.eclipse.linuxtools.tmf.help/.empty.dtd
deleted file mode 100644
index e69de29bb2..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.help/.empty.dtd
+++ /dev/null
diff --git a/lttng/org.eclipse.linuxtools.tmf.help/.externalToolBuilders/org.eclipse.linuxtools.tmf.help build.xml [Builder].launch b/lttng/org.eclipse.linuxtools.tmf.help/.externalToolBuilders/org.eclipse.linuxtools.tmf.help build.xml [Builder].launch
deleted file mode 100644
index bc9bdaa7f5..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.help/.externalToolBuilders/org.eclipse.linuxtools.tmf.help build.xml [Builder].launch
+++ /dev/null
@@ -1,24 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<launchConfiguration type="org.eclipse.ant.AntBuilderLaunchConfigurationType">
-<stringAttribute key="org.eclipse.ant.ui.ATTR_ANT_CLEAN_TARGETS" value="clean,"/>
-<booleanAttribute key="org.eclipse.ant.ui.ATTR_TARGETS_UPDATED" value="true"/>
-<booleanAttribute key="org.eclipse.ant.ui.DEFAULT_VM_INSTALL" value="false"/>
-<stringAttribute key="org.eclipse.debug.core.ATTR_REFRESH_SCOPE" value="${working_set:&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;&#10;&lt;resources&gt;&#10;&lt;item path=&quot;/org.eclipse.linuxtools.tmf.help&quot; type=&quot;4&quot;/&gt;&#10;&lt;/resources&gt;}"/>
-<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
-<listEntry value="/org.eclipse.linuxtools.tmf.help/build.xml"/>
-</listAttribute>
-<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
-<listEntry value="1"/>
-</listAttribute>
-<booleanAttribute key="org.eclipse.debug.ui.ATTR_LAUNCH_IN_BACKGROUND" value="false"/>
-<stringAttribute key="org.eclipse.jdt.launching.CLASSPATH_PROVIDER" value="org.eclipse.ant.ui.AntClasspathProvider"/>
-<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="org.eclipse.linuxtools.tmf.help"/>
-<stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER" value="org.eclipse.ant.ui.AntClasspathProvider"/>
-<mapAttribute key="org.eclipse.ui.externaltools.ATTR_ANT_PROPERTIES">
-<mapEntry key="eclipse.home" value="${eclipse_home}"/>
-</mapAttribute>
-<stringAttribute key="org.eclipse.ui.externaltools.ATTR_LOCATION" value="${workspace_loc:/org.eclipse.linuxtools.tmf.help/build.xml}"/>
-<stringAttribute key="org.eclipse.ui.externaltools.ATTR_RUN_BUILD_KINDS" value="incremental,clean"/>
-<booleanAttribute key="org.eclipse.ui.externaltools.ATTR_TRIGGERS_CONFIGURED" value="true"/>
-<stringAttribute key="process_factory_id" value="org.eclipse.ant.ui.remoteAntProcessFactory"/>
-</launchConfiguration>
diff --git a/lttng/org.eclipse.linuxtools.tmf.help/.project b/lttng/org.eclipse.linuxtools.tmf.help/.project
deleted file mode 100644
index 98058138cd..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.help/.project
+++ /dev/null
@@ -1,37 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>org.eclipse.linuxtools.tmf.help</name>
- <comment></comment>
- <projects>
- </projects>
- <buildSpec>
- <buildCommand>
- <name>org.eclipse.ui.externaltools.ExternalToolBuilder</name>
- <triggers>clean,full,incremental,</triggers>
- <arguments>
- <dictionary>
- <key>LaunchConfigHandle</key>
- <value>&lt;project&gt;/.externalToolBuilders/org.eclipse.linuxtools.tmf.help build.xml [Builder].launch</value>
- </dictionary>
- <dictionary>
- <key>incclean</key>
- <value>true</value>
- </dictionary>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.ManifestBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.SchemaBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>org.eclipse.pde.PluginNature</nature>
- <nature>org.eclipse.mylyn.wikitext.ui.wikiTextNature</nature>
- </natures>
-</projectDescription>
diff --git a/lttng/org.eclipse.linuxtools.tmf.help/.settings/org.eclipse.core.resources.prefs b/lttng/org.eclipse.linuxtools.tmf.help/.settings/org.eclipse.core.resources.prefs
deleted file mode 100644
index 99f26c0203..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.help/.settings/org.eclipse.core.resources.prefs
+++ /dev/null
@@ -1,2 +0,0 @@
-eclipse.preferences.version=1
-encoding/<project>=UTF-8
diff --git a/lttng/org.eclipse.linuxtools.tmf.help/.settings/org.eclipse.core.runtime.prefs b/lttng/org.eclipse.linuxtools.tmf.help/.settings/org.eclipse.core.runtime.prefs
deleted file mode 100644
index 5a0ad22d2a..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.help/.settings/org.eclipse.core.runtime.prefs
+++ /dev/null
@@ -1,2 +0,0 @@
-eclipse.preferences.version=1
-line.separator=\n
diff --git a/lttng/org.eclipse.linuxtools.tmf.help/.settings/org.eclipse.ltk.core.refactoring.prefs b/lttng/org.eclipse.linuxtools.tmf.help/.settings/org.eclipse.ltk.core.refactoring.prefs
deleted file mode 100644
index b196c64a34..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.help/.settings/org.eclipse.ltk.core.refactoring.prefs
+++ /dev/null
@@ -1,2 +0,0 @@
-eclipse.preferences.version=1
-org.eclipse.ltk.core.refactoring.enable.project.refactoring.history=false
diff --git a/lttng/org.eclipse.linuxtools.tmf.help/META-INF/MANIFEST.MF b/lttng/org.eclipse.linuxtools.tmf.help/META-INF/MANIFEST.MF
deleted file mode 100644
index 1aabe2b714..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.help/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,8 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %Bundle-Name
-Bundle-Vendor: %Bundle-Vendor
-Bundle-Version: 3.1.0.qualifier
-Bundle-Localization: plugin
-Bundle-SymbolicName: org.eclipse.linuxtools.tmf.help;singleton:=true
-Require-Bundle: org.eclipse.help
diff --git a/lttng/org.eclipse.linuxtools.tmf.help/README b/lttng/org.eclipse.linuxtools.tmf.help/README
deleted file mode 100644
index 588523b222..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.help/README
+++ /dev/null
@@ -1,19 +0,0 @@
-This describes how to build the documentation found in the o.e.l.tmf.help
-plugin.
-
-
-Your Eclipse environment first needs to have the "Mylyn Wikitext" plugin
-installed. It can be found in the default Eclipse repository, under
-"Collaboration".
-
-Once that is installed, you should be able to use the manual Eclipse builder to
-generate the doc : select the tmf.help plugin and choose, in the top-menu,
-"Project -> Build Project".
-
-It uses the build.xml Ant script, but it's recommended to run it from within
-Eclipse, since the builder will pass some environment variables that the script
-needs.
-
-You might get a warning from build.properties because of a missing file. This
-file gets generated with the rest of the doc, so once you have run these steps
-(and refreshed the project if needed), the warning should disappear. \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.tmf.help/about.html b/lttng/org.eclipse.linuxtools.tmf.help/about.html
deleted file mode 100644
index c258ef55d8..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.help/about.html
+++ /dev/null
@@ -1,28 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
-<title>About</title>
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
-
-<p>June 5, 2006</p>
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;). Unless otherwise
-indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is available
-at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is
-being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content. Check the Redistributor's license that was
-provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at <a href="http://www.eclipse.org/">http://www.eclipse.org</a>.</p>
-
-</body>
-</html> \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.tmf.help/book.css b/lttng/org.eclipse.linuxtools.tmf.help/book.css
deleted file mode 100644
index 797473964a..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.help/book.css
+++ /dev/null
@@ -1,59 +0,0 @@
-/* following font face declarations need to be removed for DBCS */
-
-
-body, h1, h2, h3, h4, p, table, td, caption, th, ul, ol, dl, li, dd, dt {font-family: Arial, sans-serif; color: #000000}
-pre { font-family: Courier, monospace}
-
-/* end font face declarations */
-
-/* following font size declarations should be OK for DBCS */
-body, h1, h2, h3, h4, p, table, td, caption, th, ul, ol, dl, li, dd, dt {font-size: 12pt; }
-pre { font-size: 12pt}
-
-/* end font size declarations */
-
-body { background: #FFFFFF}
-h1 { font-size: 18pt; margin-top: 5; margin-bottom: 1 }
-h2 { font-size: 14pt; margin-top: 25; margin-bottom: 3 }
-h3 { font-size: 11pt; margin-top: 20; margin-bottom: 3 }
-h4 { font-size: 10pt; margin-top: 20; margin-bottom: 3; font-style: italic }
-h5 { font size: 13.5pt; }
-p { font-size: 12pt; }
-pre { margin-left: 6; font-size: 9pt }
-
-a:link { color: #006699 }
-a:visited { color: #996699 }
-a:hover { color: #006699 }
-
-ul { margin-top: 0; margin-bottom: 10 }
-li { margin-top: 0; margin-bottom: 0 }
-li p { margin-top: 0; margin-bottom: 0 }
-ol { margin-top: 0; margin-bottom: 10 }
-dl { margin-top: 0; margin-bottom: 10 }
-dt { margin-top: 0; margin-bottom: 0; font-weight: bold }
-dd { margin-top: 0; margin-bottom: 0 }
-strong { font-weight: bold}
-em { font-style: italic}
-var { font-style: italic}
-div.revision { border-left-style: solid; border-left-width: thin;
- border-left-color: #7B68EE; padding-left:5 }
-th { font-weight: bold }
-.hidden {
- display: none;
-}
-
-/* Mike Behm's addition to the style sheet */
-.userinput { font-family: monospace; }
-.guitab, .important, .guibutton, .selectblue, .guimenu, .guilabel,
-.notetitle {
- color: #000000;
- font-family: helvetica, arial, sans-serif;
- font-weight: bold;
- }
-div.linux {display:none;}
-.firsterm {font-style:italic;}
-
-.typewriter {font-family:monospace;}
-.bold {font-weight:600;}
-.linethrough {text-decoration: line-through;}
-.underline {text-decoration: underline;}
diff --git a/lttng/org.eclipse.linuxtools.tmf.help/build.properties b/lttng/org.eclipse.linuxtools.tmf.help/build.properties
deleted file mode 100644
index 4272eadfae..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.help/build.properties
+++ /dev/null
@@ -1,22 +0,0 @@
-###############################################################################
-# Copyright (c) 2013 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:
-# Ericsson - Initial API and implementation
-###############################################################################
-
-bin.includes = plugin.xml,\
- META-INF/,\
- about.html,\
- plugin.properties,\
- book.css,\
- doc/
-jars.extra.classpath = platform:/plugin/org.eclipse.mylyn.wikitext.core,\
- platform:/plugin/org.eclipse.mylyn.wikitext.mediawiki.core
-src.includes = about.html
-
diff --git a/lttng/org.eclipse.linuxtools.tmf.help/build.xml b/lttng/org.eclipse.linuxtools.tmf.help/build.xml
deleted file mode 100644
index 6499418f96..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.help/build.xml
+++ /dev/null
@@ -1,63 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project name="org.eclipse.linuxtools.tmf.help" default="build" basedir=".">
- <description>
- Generate Eclipse help content for the Linux Tools TMF Developer Guide
- </description>
-
- <property name="ug.title" value="TMF Developer Guide" />
-
- <path id="wikitext.tasks.classpath">
- <!-- Search in the local Eclipse installation directory for the Wikitext plugin -->
- <fileset dir="${eclipse.home}/plugins" erroronmissingdir="false">
- <include name="org.eclipse.mylyn.wikitext.*core*.jar" />
- <include name="com.google.guava_*.jar" />
- </fileset>
-
- <!-- For Maven builds: use the compile_classpath -->
- <pathelement path="${compile_classpath}" />
- </path>
-
- <taskdef classpathref="wikitext.tasks.classpath" resource="org/eclipse/mylyn/internal/wikitext/mediawiki/core/tasks/tasks.properties" />
- <taskdef classpathref="wikitext.tasks.classpath" resource="org/eclipse/mylyn/wikitext/core/util/anttask/tasks.properties" />
- <!-- Different location in more recent versions of Mylyn (Luna ?) -->
- <taskdef classpathref="wikitext.tasks.classpath" resource="org/eclipse/mylyn/wikitext/core/ant/tasks.properties" />
-
- <target name="build" description="Generate Eclipse help content for the Linux Tools TMF Developer Guide">
- <wikitext-to-eclipse-help markupLanguage="MediaWiki"
- validate="true"
- failonvalidationerror="true"
- overwrite="true"
- multipleOutputFiles="true"
- navigationimages="true"
- title="${ug.title}"
- formatoutput="true"
- helpPrefix="doc">
- <fileset dir="doc">
- <include name="Developer-Guide.mediawiki" />
- </fileset>
- <stylesheet url="book.css" />
- </wikitext-to-eclipse-help>
- <antcall target="test" />
- </target>
-
- <target name="test" description="Verify that all of the HTML files are well-formed XML">
- <!--
- Don't bother with DTD validation: we only care if the files are well-formed.
- We therefore provide an empty DTD
- -->
- <xmlvalidate lenient="true">
- <fileset dir="doc">
- <include name="**/*.html" />
- </fileset>
- <dtd publicid="-//W3C//DTD XHTML 1.0 Transitional//EN" location=".empty.dtd" />
- </xmlvalidate>
- </target>
-
- <target name ="clean" description="Delete all generated files">
- <delete failonerror="false">
- <fileset dir="doc" includes="**/*.html" />
- <fileset dir="doc" includes="**/*.xml" />
- </delete>
- </target>
-
-</project>
diff --git a/lttng/org.eclipse.linuxtools.tmf.help/doc/.gitignore b/lttng/org.eclipse.linuxtools.tmf.help/doc/.gitignore
deleted file mode 100644
index 28d48547c4..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.help/doc/.gitignore
+++ /dev/null
@@ -1,2 +0,0 @@
-*.html
-*.xml
diff --git a/lttng/org.eclipse.linuxtools.tmf.help/doc/Developer-Guide.mediawiki b/lttng/org.eclipse.linuxtools.tmf.help/doc/Developer-Guide.mediawiki
deleted file mode 100644
index ee56c51395..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.help/doc/Developer-Guide.mediawiki
+++ /dev/null
@@ -1,4137 +0,0 @@
-
-= Introduction =
-
-The purpose of the '''Tracing Monitoring Framework (TMF)''' is to facilitate the integration of tracing and monitoring tools into Eclipse, to provide out-of-the-box generic functionalities/views and provide extension mechanisms of the base functionalities for application specific purposes.
-
-= Implementing a New Trace Type =
-
-The framework can easily be extended to support more trace types. To make a new trace type, one must define the following items:
-
-* The event type
-* The trace reader
-* The trace context
-* The trace location
-* The ''org.eclipse.linuxtools.tmf.core.tracetype'' plug-in extension point
-* (Optional) The ''org.eclipse.linuxtools.tmf.ui.tracetypeui'' plug-in extension point
-
-The '''event type''' must implement an ''ITmfEvent'' or extend a class that implements an ''ITmfEvent''. Typically it will extend ''TmfEvent''. The event type must contain all the data of an event. The '''trace reader''' must be of an ''ITmfTrace'' type. The ''TmfTrace'' class will supply many background operations so that the reader only needs to implement certain functions. The '''trace context''' can be seen as the internals of an iterator. It is required by the trace reader to parse events as it iterates the trace and to keep track of its rank and location. It can have a timestamp, a rank, a file position, or any other element, it should be considered to be ephemeral. The '''trace location''' is an element that is cloned often to store checkpoints, it is generally persistent. It is used to rebuild a context, therefore, it needs to contain enough information to unambiguously point to one and only one event. Finally the ''tracetype'' plug-in extension associates a given trace, non-programmatically to a trace type for use in the UI.
-
-== An Example: Nexus-lite parser ==
-
-=== Description of the file ===
-
-This is a very small subset of the nexus trace format, with some changes to make it easier to read. There is one file. This file starts with 64 Strings containing the event names, then an arbitrarily large number of events. The events are each 64 bits long. the first 32 are the timestamp in microseconds, the second 32 are split into 6 bits for the event type, and 26 for the data payload.
-
-The trace type will be made of two parts, part 1 is the event description, it is just 64 strings, comma seperated and then a line feed.
-
-<pre>
-Startup,Stop,Load,Add, ... ,reserved\n
-</pre>
-
-Then there will be the events in this format
-
-{| width= "85%"
-|style="width: 50%; background-color: #ffffcc;"|timestamp (32 bits)
-|style="width: 10%; background-color: #ffccff;"|type (6 bits)
-|style="width: 40%; background-color: #ccffcc;"|payload (26 bits)
-|-
-|style="background-color: #ffcccc;" colspan="3"|64 bits total
-|}
-
-all events will be the same size (64 bits).
-
-=== NexusLite Plug-in ===
-
-Create a '''New''', '''Project...''', '''Plug-in Project''', set the title to '''com.example.nexuslite''', click '''Next >''' then click on '''Finish'''.
-
-Now the structure for the Nexus trace Plug-in is set up.
-
-Add a dependency to TMF core and UI by opening the '''MANIFEST.MF''' in '''META-INF''', selecting the '''Dependencies''' tab and '''Add ...''' '''org.eclipse.linuxtools.tmf.core''' and '''org.eclipse.linuxtools.tmf.ui'''.
-
-[[Image:images/NTTAddDepend.png]]<br>
-[[Image:images/NTTSelectProjects.png]]<br>
-
-Now the project can access TMF classes.
-
-=== Trace Event ===
-
-The '''TmfEvent''' class will work for this example. No code required.
-
-=== Trace Reader ===
-
-The trace reader will extend a '''TmfTrace''' class.
-
-It will need to implement:
-
-* validate (is the trace format valid?)
-
-* initTrace (called as the trace is opened
-
-* seekEvent (go to a position in the trace and create a context)
-
-* getNext (implemented in the base class)
-
-* parseEvent (read the next element in the trace)
-
-For reference, there is an example implementation of the Nexus Trace file in
-org.eclipse.linuxtools.tracing.examples.core.trace.nexus.NexusTrace.java.
-
-In this example, the '''validate''' function checks first checks if the file
-exists, then makes sure that it is really a file, and not a directory. Then we
-attempt to read the file header, to make sure that it is really a Nexus Trace.
-If that check passes, we return a TmfValidationStatus with a confidence of 20.
-
-Typically, TmfValidationStatus confidences should range from 1 to 100. 1 meaning
-"there is a very small chance that this trace is of this type", and 100 meaning
-"it is this type for sure, and cannot be anything else". At run-time, the
-auto-detection will pick the the type which returned the highest confidence. So
-checks of the type "does the file exist?" should not return a too high
-confidence.
-
-Here we used a confidence of 20, to leave "room" for more specific trace types
-in the Nexus format that could be defined in TMF.
-
-The '''initTrace''' function will read the event names, and find where the data starts. After this, the number of events is known, and since each event is 8 bytes long according to the specs, the seek is then trivial.
-
-The '''seek''' here will just reset the reader to the right location.
-
-The '''parseEvent''' method needs to parse and return the current event and store the current location.
-
-The '''getNext''' method (in base class) will read the next event and update the context. It calls the '''parseEvent''' method to read the event and update the location. It does not need to be overridden and in this example it is not. The sequence of actions necessary are parse the next event from the trace, create an '''ITmfEvent''' with that data, update the current location, call '''updateAttributes''', update the context then return the event.
-
-Traces will typically implement an index, to make seeking faster. The index can
-be rebuilt every time the trace is opened. Alternatively, it can be saved to
-disk, to make future openings of the same trace quicker. To do so, the trace
-object can implement the '''ITmfPersistentlyIndexable''' interface.
-
-=== Trace Context ===
-
-The trace context will be a '''TmfContext'''
-
-=== Trace Location ===
-
-The trace location will be a long, representing the rank in the file. The '''TmfLongLocation''' will be the used, once again, no code is required.
-
-=== The ''org.eclipse.linuxtools.tmf.core.tracetype'' and ''org.eclipse.linuxtools.tmf.ui.tracetypeui'' plug-in extension point ===
-
-One should implement the ''tmf.core.tracetype'' extension in their own plug-in.
-In this example, the Nexus trace plug-in will be modified.
-
-The '''plugin.xml''' file in the ui plug-in needs to be updated if one wants users to access the given event type. It can be updated in the Eclipse plug-in editor.
-
-# In Extensions tab, add the '''org.eclipse.linuxtools.tmf.core.tracetype''' extension point.
-[[Image:images/NTTExtension.png]]<br>
-[[Image:images/NTTTraceType.png]]<br>
-[[Image:images/NTTExtensionPoint.png]]<br>
-
-# Add in the '''org.eclipse.linuxtools.tmf.ui.tracetype''' extension a new type. To do that, '''right click''' on the extension then in the context menu, go to '''New >''', '''type'''.
-
-[[Image:images/NTTAddType.png]]<br>
-
-The '''id''' is the unique identifier used to refer to the trace.
-
-The '''name''' is the field that shall be displayed when a trace type is selected.
-
-The '''trace type''' is the canonical path refering to the class of the trace.
-
-The '''event type''' is the canonical path refering to the class of the events of a given trace.
-
-The '''category''' (optional) is the container in which this trace type will be stored.
-
-# (Optional) To also add UI-specific properties to your trace type, use the '''org.eclipse.linuxtools.tmf.ui.tracetypeui''' extension. To do that,
-'''right click''' on the extension then in the context menu, go to
-'''New >''', '''type'''.
-
-The '''tracetype''' here is the '''id''' of the
-''org.eclipse.linuxtools.tmf.core.tracetype'' mentioned above.
-
-The '''icon''' is the image to associate with that trace type.
-
-In the end, the extension menu should look like this.
-
-[[Image:images/NTTPluginxmlComplete.png]]<br>
-
-== Other Considerations ==
-The ''org.eclipse.linuxtools.tmf.ui.viewers.events.TmfEventsTable'' provides additional features that are active when the event class (defined in '''event type''') implements certain additional interfaces.
-
-=== Collapsing of repetitive events ===
-By implementing the interface ''org.eclipse.linuxtools.tmf.core.event.collapse.ITmfCollapsibleEvent'' the events table will allow to collapse repetitive events by selecting the menu item '''Collapse Events''' after pressing the right mouse button in the table.
-
-== Best Practices ==
-
-* Do not load the whole trace in RAM, it will limit the size of the trace that can be read.
-* Reuse as much code as possible, it makes the trace format much easier to maintain.
-* Use Eclipse's editor instead of editing the XML directly.
-* Do not forget Java supports only signed data types, there may be special care needed to handle unsigned data.
-* If the support for your trace has custom UI elements (like icons, views, etc.), split the core and UI parts in separate plugins, named identically except for a ''.core'' or ''.ui'' suffix.
-** Implement the ''tmf.core.tracetype'' extension in the core plugin, and the ''tmf.ui.tracetypeui'' extension in the UI plugin if applicable.
-
-== Download the Code ==
-
-The described example is available in the
-org.eclipse.linuxtools.tracing.examples.(tests.)trace.nexus packages with a
-trace generator and a quick test case.
-
-== Optional Trace Type Attributes ==
-
-After defining the trace type as described in the previous chapters it is possible to define optional attributes for the trace type.
-
-=== Default Editor ===
-
-The '''defaultEditor''' attribute of the '''org.eclipse.tmf.ui.tracetypeui'''
-extension point allows for configuring the editor to use for displaying the
-events. If omitted, the ''TmfEventsEditor'' is used as default.
-
-To configure an editor, first add the '''defaultEditor''' attribute to the trace
-type in the extension definition. This can be done by selecting the trace type
-in the plug-in manifest editor. Then click the right mouse button and select
-'''New -> defaultEditor''' in the context sensitive menu. Then select the newly
-added attribute. Now you can specify the editor id to use on the right side of
-the manifest editor. For example, this attribute could be used to implement an
-extension of the class ''org.eclipse.ui.part.MultiPageEditor''. The first page
-could use the ''TmfEventsEditor''' to display the events in a table as usual and
-other pages can display other aspects of the trace.
-
-=== Events Table Type ===
-
-The '''eventsTableType''' attribute of the '''org.eclipse.tmf.ui.tracetypeui'''
-extension point allows for configuring the events table class to use in the
-default events editor. If omitted, the default events table will be used.
-
-To configure a trace type specific events table, first add the
-'''eventsTableType''' attribute to the trace type in the extension definition.
-This can be done by selecting the trace type in the plug-in manifest editor.
-Then click the right mouse button and select '''New -> eventsTableType''' in the
-context sensitive menu. Then select the newly added attribute and click on
-''class'' on the right side of the manifest editor. The new class wizard will
-open. The ''superclass'' field will be already filled with the class ''org.eclipse.linuxtools.tmf.ui.viewers.events.TmfEventsTable''.
-
-By using this attribute, a table with different columns than the default columns
-can be defined. See the class org.eclipse.linuxtools.internal.lttng2.kernel.ui.viewers.events.Lttng2EventsTable
-for an example implementation.
-
-= View Tutorial =
-
-This tutorial describes how to create a simple view using the TMF framework and the SWTChart library. SWTChart is a library based on SWT that can draw several types of charts including a line chart which we will use in this tutorial. We will create a view containing a line chart that displays time stamps on the X axis and the corresponding event values on the Y axis.
-
-This tutorial will cover concepts like:
-
-* Extending TmfView
-* Signal handling (@TmfSignalHandler)
-* Data requests (TmfEventRequest)
-* SWTChart integration
-
-'''Note''': TMF 3.0.0 provides base implementations for generating SWTChart viewers and views. For more details please refer to chapter [[#TMF Built-in Views and Viewers]].
-
-=== Prerequisites ===
-
-The tutorial is based on Eclipse 4.4 (Eclipse Luna), TMF 3.0.0 and SWTChart 0.7.0. If you are using TMF from the source repository, SWTChart is already included in the target definition file (see org.eclipse.linuxtools.lttng.target). You can also install it manually by using the Orbit update site. http://download.eclipse.org/tools/orbit/downloads/
-
-=== Creating an Eclipse UI Plug-in ===
-
-To create a new project with name org.eclipse.linuxtools.tmf.sample.ui select '''File -> New -> Project -> Plug-in Development -> Plug-in Project'''. <br>
-[[Image:images/Screenshot-NewPlug-inProject1.png]]<br>
-
-[[Image:images/Screenshot-NewPlug-inProject2.png]]<br>
-
-[[Image:images/Screenshot-NewPlug-inProject3.png]]<br>
-
-=== Creating a View ===
-
-To open the plug-in manifest, double-click on the MANIFEST.MF file. <br>
-[[Image:images/SelectManifest.png]]<br>
-
-Change to the Dependencies tab and select '''Add...''' of the ''Required Plug-ins'' section. A new dialog box will open. Next find plug-in ''org.eclipse.linuxtools.tmf.core'' and press '''OK'''<br>
-Following the same steps, add ''org.eclipse.linuxtools.tmf.ui'' and ''org.swtchart''.<br>
-[[Image:images/AddDependencyTmfUi.png]]<br>
-
-Change to the Extensions tab and select '''Add...''' of the ''All Extension'' section. A new dialog box will open. Find the view extension ''org.eclipse.ui.views'' and press '''Finish'''.<br>
-[[Image:images/AddViewExtension1.png]]<br>
-
-To create a view, click the right mouse button. Then select '''New -> view'''<br>
-[[Image:images/AddViewExtension2.png]]<br>
-
-A new view entry has been created. Fill in the fields ''id'' and ''name''. For ''class'' click on the '''class hyperlink''' and it will show the New Java Class dialog. Enter the name ''SampleView'', change the superclass to ''TmfView'' and click Finish. This will create the source file and fill the ''class'' field in the process. We use TmfView as the superclass because it provides extra functionality like getting the active trace, pinning and it has support for signal handling between components.<br>
-[[Image:images/FillSampleViewExtension.png]]<br>
-
-This will generate an empty class. Once the quick fixes are applied, the following code is obtained:
-
-<pre>
-package org.eclipse.linuxtools.tmf.sample.ui;
-
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.ui.part.ViewPart;
-
-public class SampleView extends TmfView {
-
- public SampleView(String viewName) {
- super(viewName);
- // TODO Auto-generated constructor stub
- }
-
- @Override
- public void createPartControl(Composite parent) {
- // TODO Auto-generated method stub
-
- }
-
- @Override
- public void setFocus() {
- // TODO Auto-generated method stub
-
- }
-
-}
-</pre>
-
-This creates an empty view, however the basic structure is now is place.
-
-=== Implementing a view ===
-
-We will start by adding a empty chart then it will need to be populated with the trace data. Finally, we will make the chart more visually pleasing by adjusting the range and formating the time stamps.
-
-==== Adding an Empty Chart ====
-
-First, we can add an empty chart to the view and initialize some of its components.
-
-<pre>
- private static final String SERIES_NAME = "Series";
- private static final String Y_AXIS_TITLE = "Signal";
- private static final String X_AXIS_TITLE = "Time";
- private static final String FIELD = "value"; // The name of the field that we want to display on the Y axis
- private static final String VIEW_ID = "org.eclipse.linuxtools.tmf.sample.ui.view";
- private Chart chart;
- private ITmfTrace currentTrace;
-
- public SampleView() {
- super(VIEW_ID);
- }
-
- @Override
- public void createPartControl(Composite parent) {
- chart = new Chart(parent, SWT.BORDER);
- chart.getTitle().setVisible(false);
- chart.getAxisSet().getXAxis(0).getTitle().setText(X_AXIS_TITLE);
- chart.getAxisSet().getYAxis(0).getTitle().setText(Y_AXIS_TITLE);
- chart.getSeriesSet().createSeries(SeriesType.LINE, SERIES_NAME);
- chart.getLegend().setVisible(false);
- }
-
- @Override
- public void setFocus() {
- chart.setFocus();
- }
-</pre>
-
-The view is prepared. Run the Example. To launch the an Eclipse Application select the ''Overview'' tab and click on '''Launch an Eclipse Application'''<br>
-[[Image:images/RunEclipseApplication.png]]<br>
-
-A new Eclipse application window will show. In the new window go to '''Windows -> Show View -> Other... -> Other -> Sample View'''.<br>
-[[Image:images/ShowViewOther.png]]<br>
-
-You should now see a view containing an empty chart<br>
-[[Image:images/EmptySampleView.png]]<br>
-
-==== Signal Handling ====
-
-We would like to populate the view when a trace is selected. To achieve this, we can use a signal hander which is specified with the '''@TmfSignalHandler''' annotation.
-
-<pre>
- @TmfSignalHandler
- public void traceSelected(final TmfTraceSelectedSignal signal) {
-
- }
-</pre>
-
-==== Requesting Data ====
-
-Then we need to actually gather data from the trace. This is done asynchronously using a ''TmfEventRequest''
-
-<pre>
- @TmfSignalHandler
- public void traceSelected(final TmfTraceSelectedSignal signal) {
- // Don't populate the view again if we're already showing this trace
- if (currentTrace == signal.getTrace()) {
- return;
- }
- currentTrace = signal.getTrace();
-
- // Create the request to get data from the trace
-
- TmfEventRequest req = new TmfEventRequest(TmfEvent.class,
- TmfTimeRange.ETERNITY, 0, ITmfEventRequest.ALL_DATA,
- ITmfEventRequest.ExecutionType.BACKGROUND) {
-
- @Override
- public void handleData(ITmfEvent data) {
- // Called for each event
- super.handleData(data);
- }
-
- @Override
- public void handleSuccess() {
- // Request successful, not more data available
- super.handleSuccess();
- }
-
- @Override
- public void handleFailure() {
- // Request failed, not more data available
- super.handleFailure();
- }
- };
- ITmfTrace trace = signal.getTrace();
- trace.sendRequest(req);
- }
-</pre>
-
-==== Transferring Data to the Chart ====
-
-The chart expects an array of doubles for both the X and Y axis values. To provide that, we can accumulate each event's time and value in their respective list then convert the list to arrays when all events are processed.
-
-<pre>
- TmfEventRequest req = new TmfEventRequest(TmfEvent.class,
- TmfTimeRange.ETERNITY, 0, ITmfEventRequest.ALL_DATA,
- ITmfEventRequest.ExecutionType.BACKGROUND) {
-
- ArrayList<Double> xValues = new ArrayList<Double>();
- ArrayList<Double> yValues = new ArrayList<Double>();
-
- @Override
- public void handleData(ITmfEvent data) {
- // Called for each event
- super.handleData(data);
- ITmfEventField field = data.getContent().getField(FIELD);
- if (field != null) {
- yValues.add((Double) field.getValue());
- xValues.add((double) data.getTimestamp().getValue());
- }
- }
-
- @Override
- public void handleSuccess() {
- // Request successful, not more data available
- super.handleSuccess();
-
- final double x[] = toArray(xValues);
- final double y[] = toArray(yValues);
-
- // This part needs to run on the UI thread since it updates the chart SWT control
- Display.getDefault().asyncExec(new Runnable() {
-
- @Override
- public void run() {
- chart.getSeriesSet().getSeries()[0].setXSeries(x);
- chart.getSeriesSet().getSeries()[0].setYSeries(y);
-
- chart.redraw();
- }
-
- });
- }
-
- /**
- * Convert List<Double> to double[]
- */
- private double[] toArray(List<Double> list) {
- double[] d = new double[list.size()];
- for (int i = 0; i < list.size(); ++i) {
- d[i] = list.get(i);
- }
-
- return d;
- }
- };
-</pre>
-
-==== Adjusting the Range ====
-
-The chart now contains values but they might be out of range and not visible. We can adjust the range of each axis by computing the minimum and maximum values as we add events.
-
-<pre>
-
- ArrayList<Double> xValues = new ArrayList<Double>();
- ArrayList<Double> yValues = new ArrayList<Double>();
- private double maxY = -Double.MAX_VALUE;
- private double minY = Double.MAX_VALUE;
- private double maxX = -Double.MAX_VALUE;
- private double minX = Double.MAX_VALUE;
-
- @Override
- public void handleData(ITmfEvent data) {
- super.handleData(data);
- ITmfEventField field = data.getContent().getField(FIELD);
- if (field != null) {
- Double yValue = (Double) field.getValue();
- minY = Math.min(minY, yValue);
- maxY = Math.max(maxY, yValue);
- yValues.add(yValue);
-
- double xValue = (double) data.getTimestamp().getValue();
- xValues.add(xValue);
- minX = Math.min(minX, xValue);
- maxX = Math.max(maxX, xValue);
- }
- }
-
- @Override
- public void handleSuccess() {
- super.handleSuccess();
- final double x[] = toArray(xValues);
- final double y[] = toArray(yValues);
-
- // This part needs to run on the UI thread since it updates the chart SWT control
- Display.getDefault().asyncExec(new Runnable() {
-
- @Override
- public void run() {
- chart.getSeriesSet().getSeries()[0].setXSeries(x);
- chart.getSeriesSet().getSeries()[0].setYSeries(y);
-
- // Set the new range
- if (!xValues.isEmpty() && !yValues.isEmpty()) {
- chart.getAxisSet().getXAxis(0).setRange(new Range(0, x[x.length - 1]));
- chart.getAxisSet().getYAxis(0).setRange(new Range(minY, maxY));
- } else {
- chart.getAxisSet().getXAxis(0).setRange(new Range(0, 1));
- chart.getAxisSet().getYAxis(0).setRange(new Range(0, 1));
- }
- chart.getAxisSet().adjustRange();
-
- chart.redraw();
- }
- });
- }
-</pre>
-
-==== Formatting the Time Stamps ====
-
-To display the time stamps on the X axis nicely, we need to specify a format or else the time stamps will be displayed as ''long''. We use TmfTimestampFormat to make it consistent with the other TMF views. We also need to handle the '''TmfTimestampFormatUpdateSignal''' to make sure that the time stamps update when the preferences change.
-
-<pre>
- @Override
- public void createPartControl(Composite parent) {
- ...
-
- chart.getAxisSet().getXAxis(0).getTick().setFormat(new TmfChartTimeStampFormat());
- }
-
- public class TmfChartTimeStampFormat extends SimpleDateFormat {
- private static final long serialVersionUID = 1L;
- @Override
- public StringBuffer format(Date date, StringBuffer toAppendTo, FieldPosition fieldPosition) {
- long time = date.getTime();
- toAppendTo.append(TmfTimestampFormat.getDefaulTimeFormat().format(time));
- return toAppendTo;
- }
- }
-
- @TmfSignalHandler
- public void timestampFormatUpdated(TmfTimestampFormatUpdateSignal signal) {
- // Called when the time stamp preference is changed
- chart.getAxisSet().getXAxis(0).getTick().setFormat(new TmfChartTimeStampFormat());
- chart.redraw();
- }
-</pre>
-
-We also need to populate the view when a trace is already selected and the view is opened. We can reuse the same code by having the view send the '''TmfTraceSelectedSignal''' to itself.
-
-<pre>
- @Override
- public void createPartControl(Composite parent) {
- ...
-
- ITmfTrace trace = getActiveTrace();
- if (trace != null) {
- traceSelected(new TmfTraceSelectedSignal(this, trace));
- }
- }
-</pre>
-
-The view is now ready but we need a proper trace to test it. For this example, a trace was generated using LTTng-UST so that it would produce a sine function.<br>
-
-[[Image:images/SampleView.png]]<br>
-
-In summary, we have implemented a simple TMF view using the SWTChart library. We made use of signals and requests to populate the view at the appropriate time and we formated the time stamps nicely. We also made sure that the time stamp format is updated when the preferences change.
-
-== TMF Built-in Views and Viewers ==
-
-TMF provides base implementations for several types of views and viewers for generating custom X-Y-Charts, Time Graphs, or Trees. They are well integrated with various TMF features such as reading traces and time synchronization with other views. They also handle mouse events for navigating the trace and view, zooming or presenting detailed information at mouse position. The code can be found in the TMF UI plug-in ''org.eclipse.linuxtools.tmf.ui''. See below for a list of relevant java packages:
-
-* Generic
-** ''org.eclipse.linuxtools.tmf.ui.views'': Common TMF view base classes
-* X-Y-Chart
-** ''org.eclipse.linuxtools.tmf.ui.viewers.xycharts'': Common base classes for X-Y-Chart viewers based on SWTChart
-** ''org.eclipse.linuxtools.tmf.ui.viewers.xycharts.barcharts'': Base classes for bar charts
-** ''org.eclipse.linuxtools.tmf.ui.viewers.xycharts.linecharts'': Base classes for line charts
-* Time Graph View
-** ''org.eclipse.linuxtools.tmf.ui.widgets.timegraph'': Base classes for time graphs e.g. Gantt-charts
-* Tree Viewer
-** ''org.eclipse.linuxtools.tmf.ui.viewers.tree'': Base classes for TMF specific tree viewers
-
-Several features in TMF and the Eclipse LTTng integration are using this framework and can be used as example for further developments:
-* X-Y- Chart
-** ''org.eclipse.linuxtools.internal.lttng2.ust.ui.views.memusage.MemUsageView.java''
-** ''org.eclipse.linuxtools.internal.lttng2.kernel.ui.views.cpuusage.CpuUsageView.java''
-** ''org.eclipse.linuxtools.tracing.examples.ui.views.histogram.NewHistogramView.java''
-* Time Graph View
-** ''org.eclipse.linuxtools.internal.lttng2.kernel.ui.views.controlflow.ControlFlowView.java''
-** ''org.eclipse.linuxtools.internal.lttng2.kernel.ui.views.resources.ResourcesView.java''
-* Tree Viewer
-** ''org.eclipse.linuxtools.tmf.ui.views.statesystem.TmfStateSystemExplorer.java''
-** ''org.eclipse.linuxtools.internal.lttng2.kernel.ui.views.cpuusage.CpuUsageComposite.java''
-
-= Component Interaction =
-
-TMF provides a mechanism for different components to interact with each other using signals. The signals can carry information that is specific to each signal.
-
-The TMF Signal Manager handles registration of components and the broadcasting of signals to their intended receivers.
-
-Components can register as VIP receivers which will ensure they will receive the signal before non-VIP receivers.
-
-== Sending Signals ==
-
-In order to send a signal, an instance of the signal must be created and passed as argument to the signal manager to be dispatched. Every component that can handle the signal will receive it. The receivers do not need to be known by the sender.
-
-<pre>
-TmfExampleSignal signal = new TmfExampleSignal(this, ...);
-TmfSignalManager.dispatchSignal(signal);
-</pre>
-
-If the sender is an instance of the class TmfComponent, the broadcast method can be used:
-
-<pre>
-TmfExampleSignal signal = new TmfExampleSignal(this, ...);
-broadcast(signal);
-</pre>
-
-== Receiving Signals ==
-
-In order to receive any signal, the receiver must first be registered with the signal manager. The receiver can register as a normal or VIP receiver.
-
-<pre>
-TmfSignalManager.register(this);
-TmfSignalManager.registerVIP(this);
-</pre>
-
-If the receiver is an instance of the class TmfComponent, it is automatically registered as a normal receiver in the constructor.
-
-When the receiver is destroyed or disposed, it should deregister itself from the signal manager.
-
-<pre>
-TmfSignalManager.deregister(this);
-</pre>
-
-To actually receive and handle any specific signal, the receiver must use the @TmfSignalHandler annotation and implement a method that will be called when the signal is broadcast. The name of the method is irrelevant.
-
-<pre>
-@TmfSignalHandler
-public void example(TmfExampleSignal signal) {
- ...
-}
-</pre>
-
-The source of the signal can be used, if necessary, by a component to filter out and ignore a signal that was broadcast by itself when the component is also a receiver of the signal but only needs to handle it when it was sent by another component or another instance of the component.
-
-== Signal Throttling ==
-
-It is possible for a TmfComponent instance to buffer the dispatching of signals so that only the last signal queued after a specified delay without any other signal queued is sent to the receivers. All signals that are preempted by a newer signal within the delay are discarded.
-
-The signal throttler must first be initialized:
-
-<pre>
-final int delay = 100; // in ms
-TmfSignalThrottler throttler = new TmfSignalThrottler(this, delay);
-</pre>
-
-Then the sending of signals should be queued through the throttler:
-
-<pre>
-TmfExampleSignal signal = new TmfExampleSignal(this, ...);
-throttler.queue(signal);
-</pre>
-
-When the throttler is no longer needed, it should be disposed:
-
-<pre>
-throttler.dispose();
-</pre>
-
-== Signal Reference ==
-
-The following is a list of built-in signals defined in the framework.
-
-=== TmfStartSynchSignal ===
-
-''Purpose''
-
-This signal is used to indicate the start of broadcasting of a signal. Internally, the data provider will not fire event requests until the corresponding TmfEndSynchSignal signal is received. This allows coalescing of requests triggered by multiple receivers of the broadcast signal.
-
-''Senders''
-
-Sent by TmfSignalManager before dispatching a signal to all receivers.
-
-''Receivers''
-
-Received by TmfDataProvider.
-
-=== TmfEndSynchSignal ===
-
-''Purpose''
-
-This signal is used to indicate the end of broadcasting of a signal. Internally, the data provider fire all pending event requests that were received and buffered since the corresponding TmfStartSynchSignal signal was received. This allows coalescing of requests triggered by multiple receivers of the broadcast signal.
-
-''Senders''
-
-Sent by TmfSignalManager after dispatching a signal to all receivers.
-
-''Receivers''
-
-Received by TmfDataProvider.
-
-=== TmfTraceOpenedSignal ===
-
-''Purpose''
-
-This signal is used to indicate that a trace has been opened in an editor.
-
-''Senders''
-
-Sent by a TmfEventsEditor instance when it is created.
-
-''Receivers''
-
-Received by TmfTrace, TmfExperiment, TmfTraceManager and every view that shows trace data. Components that show trace data should handle this signal.
-
-=== TmfTraceSelectedSignal ===
-
-''Purpose''
-
-This signal is used to indicate that a trace has become the currently selected trace.
-
-''Senders''
-
-Sent by a TmfEventsEditor instance when it receives focus. Components can send this signal to make a trace editor be brought to front.
-
-''Receivers''
-
-Received by TmfTraceManager and every view that shows trace data. Components that show trace data should handle this signal.
-
-=== TmfTraceClosedSignal ===
-
-''Purpose''
-
-This signal is used to indicate that a trace editor has been closed.
-
-''Senders''
-
-Sent by a TmfEventsEditor instance when it is disposed.
-
-''Receivers''
-
-Received by TmfTraceManager and every view that shows trace data. Components that show trace data should handle this signal.
-
-=== TmfTraceRangeUpdatedSignal ===
-
-''Purpose''
-
-This signal is used to indicate that the valid time range of a trace has been updated. This triggers indexing of the trace up to the end of the range. In the context of streaming, this end time is considered a safe time up to which all events are guaranteed to have been completely received. For non-streaming traces, the end time is set to infinity indicating that all events can be read immediately. Any processing of trace events that wants to take advantage of request coalescing should be triggered by this signal.
-
-''Senders''
-
-Sent by TmfExperiment and non-streaming TmfTrace. Streaming traces should send this signal in the TmfTrace subclass when a new safe time is determined by a specific implementation.
-
-''Receivers''
-
-Received by TmfTrace, TmfExperiment and components that process trace events. Components that need to process trace events should handle this signal.
-
-=== TmfTraceUpdatedSignal ===
-
-''Purpose''
-
-This signal is used to indicate that new events have been indexed for a trace.
-
-''Senders''
-
-Sent by TmfCheckpointIndexer when new events have been indexed and the number of events has changed.
-
-''Receivers''
-
-Received by components that need to be notified of a new trace event count.
-
-=== TmfTimeSynchSignal ===
-
-''Purpose''
-
-This signal is used to indicate that a new time or time range has been
-selected. It contains a begin and end time. If a single time is selected then
-the begin and end time are the same.
-
-''Senders''
-
-Sent by any component that allows the user to select a time or time range.
-
-''Receivers''
-
-Received by any component that needs to be notified of the currently selected time or time range.
-
-=== TmfRangeSynchSignal ===
-
-''Purpose''
-
-This signal is used to indicate that a new time range window has been set.
-
-''Senders''
-
-Sent by any component that allows the user to set a time range window.
-
-''Receivers''
-
-Received by any component that needs to be notified of the current visible time range window.
-
-=== TmfEventFilterAppliedSignal ===
-
-''Purpose''
-
-This signal is used to indicate that a filter has been applied to a trace.
-
-''Senders''
-
-Sent by TmfEventsTable when a filter is applied.
-
-''Receivers''
-
-Received by any component that shows trace data and needs to be notified of applied filters.
-
-=== TmfEventSearchAppliedSignal ===
-
-''Purpose''
-
-This signal is used to indicate that a search has been applied to a trace.
-
-''Senders''
-
-Sent by TmfEventsTable when a search is applied.
-
-''Receivers''
-
-Received by any component that shows trace data and needs to be notified of applied searches.
-
-=== TmfTimestampFormatUpdateSignal ===
-
-''Purpose''
-
-This signal is used to indicate that the timestamp format preference has been updated.
-
-''Senders''
-
-Sent by TmfTimestampFormat when the default timestamp format preference is changed.
-
-''Receivers''
-
-Received by any component that needs to refresh its display for the new timestamp format.
-
-=== TmfStatsUpdatedSignal ===
-
-''Purpose''
-
-This signal is used to indicate that the statistics data model has been updated.
-
-''Senders''
-
-Sent by statistic providers when new statistics data has been processed.
-
-''Receivers''
-
-Received by statistics viewers and any component that needs to be notified of a statistics update.
-
-=== TmfPacketStreamSelected ===
-
-''Purpose''
-
-This signal is used to indicate that the user has selected a packet stream to analyze.
-
-''Senders''
-
-Sent by the Stream List View when the user selects a new packet stream.
-
-''Receivers''
-
-Received by views that analyze packet streams.
-
-== Debugging ==
-
-TMF has built-in Eclipse tracing support for the debugging of signal interaction between components. To enable it, open the '''Run/Debug Configuration...''' dialog, select a configuration, click the '''Tracing''' tab, select the plug-in '''org.eclipse.linuxtools.tmf.core''', and check the '''signal''' item.
-
-All signals sent and received will be logged to the file TmfTrace.log located in the Eclipse home directory.
-
-= Generic State System =
-
-== Introduction ==
-
-The Generic State System is a utility available in TMF to track different states
-over the duration of a trace. It works by first sending some or all events of
-the trace into a state provider, which defines the state changes for a given
-trace type. Once built, views and analysis modules can then query the resulting
-database of states (called "state history") to get information.
-
-For example, let's suppose we have the following sequence of events in a kernel
-trace:
-
- 10 s, sys_open, fd = 5, file = /home/user/myfile
- ...
- 15 s, sys_read, fd = 5, size=32
- ...
- 20 s, sys_close, fd = 5
-
-Now let's say we want to implement an analysis module which will track the
-amount of bytes read and written to each file. Here, of course the sys_read is
-interesting. However, by just looking at that event, we have no information on
-which file is being read, only its fd (5) is known. To get the match
-fd5 = /home/user/myfile, we have to go back to the sys_open event which happens
-5 seconds earlier.
-
-But since we don't know exactly where this sys_open event is, we will have to go
-back to the very start of the trace, and look through events one by one! This is
-obviously not efficient, and will not scale well if we want to analyze many
-similar patterns, or for very large traces.
-
-A solution in this case would be to use the state system to keep track of the
-amount of bytes read/written to every *filename* (instead of every file
-descriptor, like we get from the events). Then the module could ask the state
-system "what is the amount of bytes read for file "/home/user/myfile" at time
-16 s", and it would return the answer "32" (assuming there is no other read
-than the one shown).
-
-== High-level components ==
-
-The State System infrastructure is composed of 3 parts:
-* The state provider
-* The central state system
-* The storage backend
-
-The state provider is the customizable part. This is where the mapping from
-trace events to state changes is done. This is what you want to implement for
-your specific trace type and analysis type. It's represented by the
-ITmfStateProvider interface (with a threaded implementation in
-AbstractTmfStateProvider, which you can extend).
-
-The core of the state system is exposed through the ITmfStateSystem and
-ITmfStateSystemBuilder interfaces. The former allows only read-only access and
-is typically used for views doing queries. The latter also allows writing to the
-state history, and is typically used by the state provider.
-
-Finally, each state system has its own separate backend. This determines how the
-intervals, or the "state history", are saved (in RAM, on disk, etc.) You can
-select the type of backend at construction time in the TmfStateSystemFactory.
-
-== Definitions ==
-
-Before we dig into how to use the state system, we should go over some useful
-definitions:
-
-=== Attribute ===
-
-An attribute is the smallest element of the model that can be in any particular
-state. When we refer to the "full state", in fact it means we are interested in
-the state of every single attribute of the model.
-
-=== Attribute Tree ===
-
-Attributes in the model can be placed in a tree-like structure, a bit like files
-and directories in a file system. However, note that an attribute can always
-have both a value and sub-attributes, so they are like files and directories at
-the same time. We are then able to refer to every single attribute with its
-path in the tree.
-
-For example, in the attribute tree for LTTng kernel traces, we use the following
-attributes, among others:
-
-<pre>
-|- Processes
-| |- 1000
-| | |- PPID
-| | |- Exec_name
-| |- 1001
-| | |- PPID
-| | |- Exec_name
-| ...
-|- CPUs
- |- 0
- | |- Status
- | |- Current_pid
- ...
-</pre>
-
-In this model, the attribute "Processes/1000/PPID" refers to the PPID of process
-with PID 1000. The attribute "CPUs/0/Status" represents the status (running,
-idle, etc.) of CPU 0. "Processes/1000/PPID" and "Processes/1001/PPID" are two
-different attribute, even though their base name is the same: the whole path is
-the unique identifier.
-
-The value of each attribute can change over the duration of the trace,
-independently of the other ones, and independently of its position in the tree.
-
-The tree-like organization is optional, all attributes could be at the same
-level. But it's possible to put them in a tree, and it helps make things
-clearer.
-
-=== Quark ===
-
-In addition to a given path, each attribute also has a unique integer
-identifier, called the "quark". To continue with the file system analogy, this
-is like the inode number. When a new attribute is created, a new unique quark
-will be assigned automatically. They are assigned incrementally, so they will
-normally be equal to their order of creation, starting at 0.
-
-Methods are offered to get the quark of an attribute from its path. The API
-methods for inserting state changes and doing queries normally use quarks
-instead of paths. This is to encourage users to cache the quarks and re-use
-them, which avoids re-walking the attribute tree over and over, which avoids
-unneeded hashing of strings.
-
-=== State value ===
-
-The path and quark of an attribute will remain constant for the whole duration
-of the trace. However, the value carried by the attribute will change. The value
-of a specific attribute at a specific time is called the state value.
-
-In the TMF implementation, state values can be integers, longs, doubles, or strings.
-There is also a "null value" type, which is used to indicate that no particular
-value is active for this attribute at this time, but without resorting to a
-'null' reference.
-
-Any other type of value could be used, as long as the backend knows how to store
-it.
-
-Note that the TMF implementation also forces every attribute to always carry the
-same type of state value. This is to make it simpler for views, so they can
-expect that an attribute will always use a given type, without having to check
-every single time. Null values are an exception, they are always allowed for all
-attributes, since they can safely be "unboxed" into all types.
-
-=== State change ===
-
-A state change is the element that is inserted in the state system. It consists
-of:
-* a timestamp (the time at which the state change occurs)
-* an attribute (the attribute whose value will change)
-* a state value (the new value that the attribute will carry)
-
-It's not an object per se in the TMF implementation (it's represented by a
-function call in the state provider). Typically, the state provider will insert
-zero, one or more state changes for every trace event, depending on its event
-type, payload, etc.
-
-Note, we use "timestamp" here, but it's in fact a generic term that could be
-referred to as "index". For example, if a given trace type has no notion of
-timestamp, the event rank could be used.
-
-In the TMF implementation, the timestamp is a long (64-bit integer).
-
-=== State interval ===
-
-State changes are inserted into the state system, but state intervals are the
-objects that come out on the other side. Those are stocked in the storage
-backend. A state interval represents a "state" of an attribute we want to track.
-When doing queries on the state system, intervals are what is returned. The
-components of a state interval are:
-* Start time
-* End time
-* State value
-* Quark
-
-The start and end times represent the time range of the state. The state value
-is the same as the state value in the state change that started this interval.
-The interval also keeps a reference to its quark, although you normally know
-your quark in advance when you do queries.
-
-=== State history ===
-
-The state history is the name of the container for all the intervals created by
-the state system. The exact implementation (how the intervals are stored) is
-determined by the storage backend that is used.
-
-Some backends will use a state history that is peristent on disk, others do not.
-When loading a trace, if a history file is available and the backend supports
-it, it will be loaded right away, skipping the need to go through another
-construction phase.
-
-=== Construction phase ===
-
-Before we can query a state system, we need to build the state history first. To
-do so, trace events are sent one-by-one through the state provider, which in
-turn sends state changes to the central component, which then creates intervals
-and stores them in the backend. This is called the construction phase.
-
-Note that the state system needs to receive its events into chronological order.
-This phase will end once the end of the trace is reached.
-
-Also note that it is possible to query the state system while it is being build.
-Any timestamp between the start of the trace and the current end time of the
-state system (available with ITmfStateSystem#getCurrentEndTime()) is a valid
-timestamp that can be queried.
-
-=== Queries ===
-
-As mentioned previously, when doing queries on the state system, the returned
-objects will be state intervals. In most cases it's the state *value* we are
-interested in, but since the backend has to instantiate the interval object
-anyway, there is no additional cost to return the interval instead. This way we
-also get the start and end times of the state "for free".
-
-There are two types of queries that can be done on the state system:
-
-==== Full queries ====
-
-A full query means that we want to retrieve the whole state of the model for one
-given timestamp. As we remember, this means "the state of every single attribute
-in the model". As parameter we only need to pass the timestamp (see the API
-methods below). The return value will be an array of intervals, where the offset
-in the array represents the quark of each attribute.
-
-==== Single queries ====
-
-In other cases, we might only be interested in the state of one particular
-attribute at one given timestamp. For these cases it's better to use a
-single query. For a single query. we need to pass both a timestamp and a
-quark in parameter. The return value will be a single interval, representing
-the state that this particular attribute was at that time.
-
-Single queries are typically faster than full queries (but once again, this
-depends on the backend that is used), but not by much. Even if you only want the
-state of say 10 attributes out of 200, it could be faster to use a full query
-and only read the ones you need. Single queries should be used for cases where
-you only want one attribute per timestamp (for example, if you follow the state
-of the same attribute over a time range).
-
-
-== Relevant interfaces/classes ==
-
-This section will describe the public interface and classes that can be used if
-you want to use the state system.
-
-=== Main classes in org.eclipse.linuxtools.tmf.core.statesystem ===
-
-==== ITmfStateProvider / AbstractTmfStateProvider ====
-
-ITmfStateProvider is the interface you have to implement to define your state
-provider. This is where most of the work has to be done to use a state system
-for a custom trace type or analysis type.
-
-For first-time users, it's recommended to extend AbstractTmfStateProvider
-instead. This class takes care of all the initialization mumbo-jumbo, and also
-runs the event handler in a separate thread. You will only need to implement
-eventHandle, which is the call-back that will be called for every event in the
-trace.
-
-For an example, you can look at StatsStateProvider in the TMF tree, or at the
-small example below.
-
-==== TmfStateSystemFactory ====
-
-Once you have defined your state provider, you need to tell your trace type to
-build a state system with this provider during its initialization. This consists
-of overriding TmfTrace#buildStateSystems() and in there of calling the method in
-TmfStateSystemFactory that corresponds to the storage backend you want to use
-(see the section [[#Comparison of state system backends]]).
-
-You will have to pass in parameter the state provider you want to use, which you
-should have defined already. Each backend can also ask for more configuration
-information.
-
-You must then call registerStateSystem(id, statesystem) to make your state
-system visible to the trace objects and the views. The ID can be any string of
-your choosing. To access this particular state system, the views or modules will
-need to use this ID.
-
-Also, don't forget to call super.buildStateSystems() in your implementation,
-unless you know for sure you want to skip the state providers built by the
-super-classes.
-
-You can look at how LttngKernelTrace does it for an example. It could also be
-possible to build a state system only under certain conditions (like only if the
-trace contains certain event types).
-
-
-==== ITmfStateSystem ====
-
-ITmfStateSystem is the main interface through which views or analysis modules
-will access the state system. It offers a read-only view of the state system,
-which means that no states can be inserted, and no attributes can be created.
-Calling TmfTrace#getStateSystems().get(id) will return you a ITmfStateSystem
-view of the requested state system. The main methods of interest are:
-
-===== getQuarkAbsolute()/getQuarkRelative() =====
-
-Those are the basic quark-getting methods. The goal of the state system is to
-return the state values of given attributes at given timestamps. As we've seen
-earlier, attributes can be described with a file-system-like path. The goal of
-these methods is to convert from the path representation of the attribute to its
-quark.
-
-Since quarks are created on-the-fly, there is no guarantee that the same
-attributes will have the same quark for two traces of the same type. The views
-should always query their quarks when dealing with a new trace or a new state
-provider. Beyond that however, quarks should be cached and reused as much as
-possible, to avoid potentially costly string re-hashing.
-
-getQuarkAbsolute() takes a variable amount of Strings in parameter, which
-represent the full path to the attribute. Some of them can be constants, some
-can come programatically, often from the event's fields.
-
-getQuarkRelative() is to be used when you already know the quark of a certain
-attribute, and want to access on of its sub-attributes. Its first parameter is
-the origin quark, followed by a String varagrs which represent the relative path
-to the final attribute.
-
-These two methods will throw an AttributeNotFoundException if trying to access
-an attribute that does not exist in the model.
-
-These methods also imply that the view has the knowledge of how the attribute
-tree is organized. This should be a reasonable hypothesis, since the same
-analysis plugin will normally ship both the state provider and the view, and
-they will have been written by the same person. In other cases, it's possible to
-use getSubAttributes() to explore the organization of the attribute tree first.
-
-===== waitUntilBuilt() =====
-
-This is a simple method used to block the caller until the construction phase of
-this state system is done. If the view prefers to wait until all information is
-available before starting to do queries (to get all known attributes right away,
-for example), this is the guy to call.
-
-===== queryFullState() =====
-
-This is the method to do full queries. As mentioned earlier, you only need to
-pass a target timestamp in parameter. It will return a List of state intervals,
-in which the offset corresponds to the attribute quark. This will represent the
-complete state of the model at the requested time.
-
-===== querySingleState() =====
-
-The method to do single queries. You pass in parameter both a timestamp and an
-attribute quark. This will return the single state matching this
-timestamp/attribute pair.
-
-Other methods are available, you are encouraged to read their Javadoc and see if
-they can be potentially useful.
-
-==== ITmfStateSystemBuilder ====
-
-ITmfStateSystemBuilder is the read-write interface to the state system. It
-extends ITmfStateSystem itself, so all its methods are available. It then adds
-methods that can be used to write to the state system, either by creating new
-attributes of inserting state changes.
-
-It is normally reserved for the state provider and should not be visible to
-external components. However it will be available in AbstractTmfStateProvider,
-in the field 'ss'. That way you can call ss.modifyAttribute() etc. in your state
-provider to write to the state.
-
-The main methods of interest are:
-
-===== getQuark*AndAdd() =====
-
-getQuarkAbsoluteAndAdd() and getQuarkRelativeAndAdd() work exactly like their
-non-AndAdd counterparts in ITmfStateSystem. The difference is that the -AndAdd
-versions will not throw any exception: if the requested attribute path does not
-exist in the system, it will be created, and its newly-assigned quark will be
-returned.
-
-When in a state provider, the -AndAdd version should normally be used (unless
-you know for sure the attribute already exist and don't want to create it
-otherwise). This means that there is no need to define the whole attribute tree
-in advance, the attributes will be created on-demand.
-
-===== modifyAttribute() =====
-
-This is the main state-change-insertion method. As was explained before, a state
-change is defined by a timestamp, an attribute and a state value. Those three
-elements need to be passed to modifyAttribute as parameters.
-
-Other state change insertion methods are available (increment-, push-, pop- and
-removeAttribute()), but those are simply convenience wrappers around
-modifyAttribute(). Check their Javadoc for more information.
-
-===== closeHistory() =====
-
-When the construction phase is done, do not forget to call closeHistory() to
-tell the backend that no more intervals will be received. Depending on the
-backend type, it might have to save files, close descriptors, etc. This ensures
-that a persitent file can then be re-used when the trace is opened again.
-
-If you use the AbstractTmfStateProvider, it will call closeHistory()
-automatically when it reaches the end of the trace.
-
-=== Other relevant interfaces ===
-
-==== o.e.l.tmf.core.statevalue.ITmfStateValue ====
-
-This is the interface used to represent state values. Those are used when
-inserting state changes in the provider, and is also part of the state intervals
-obtained when doing queries.
-
-The abstract TmfStateValue class contains the factory methods to create new
-state values of either int, long, double or string types. To retrieve the real
-object inside the state value, one can use the .unbox* methods.
-
-Note: Do not instantiate null values manually, use TmfStateValue.nullValue()
-
-==== o.e.l.tmf.core.interval.ITmfStateInterval ====
-
-This is the interface to represent the state intervals, which are stored in the
-state history backend, and are returned when doing state system queries. A very
-simple implementation is available in TmfStateInterval. Its methods should be
-self-descriptive.
-
-=== Exceptions ===
-
-The following exceptions, found in o.e.l.tmf.core.exceptions, are related to
-state system activities.
-
-==== AttributeNotFoundException ====
-
-This is thrown by getQuarkRelative() and getQuarkAbsolute() (but not byt the
--AndAdd versions!) when passing an attribute path that is not present in the
-state system. This is to ensure that no new attribute is created when using
-these versions of the methods.
-
-Views can expect some attributes to be present, but they should handle these
-exceptions for when the attributes end up not being in the state system (perhaps
-this particular trace didn't have a certain type of events, etc.)
-
-==== StateValueTypeException ====
-
-This exception will be thrown when trying to unbox a state value into a type
-different than its own. You should always check with ITmfStateValue#getType()
-beforehand if you are not sure about the type of a given state value.
-
-==== TimeRangeException ====
-
-This exception is thrown when trying to do a query on the state system for a
-timestamp that is outside of its range. To be safe, you should check with
-ITmfStateSystem#getStartTime() and #getCurrentEndTime() for the current valid
-range of the state system. This is especially important when doing queries on
-a state system that is currently being built.
-
-==== StateSystemDisposedException ====
-
-This exception is thrown when trying to access a state system that has been
-disposed, with its dispose() method. This can potentially happen at shutdown,
-since Eclipse is not always consistent with the order in which the components
-are closed.
-
-
-== Comparison of state system backends ==
-
-As we have seen in section [[#High-level components]], the state system needs
-a storage backend to save the intervals. Different implementations are
-available when building your state system from TmfStateSystemFactory.
-
-Do not confuse full/single queries with full/partial history! All backend types
-should be able to handle any type of queries defined in the ITmfStateSystem API,
-unless noted otherwise.
-
-=== Full history ===
-
-Available with TmfStateSystemFactory#newFullHistory(). The full history uses a
-History Tree data structure, which is an optimized structure store state
-intervals on disk. Once built, it can respond to queries in a ''log(n)'' manner.
-
-You need to specify a file at creation time, which will be the container for
-the history tree. Once it's completely built, it will remain on disk (until you
-delete the trace from the project). This way it can be reused from one session
-to another, which makes subsequent loading time much faster.
-
-This the backend used by the LTTng kernel plugin. It offers good scalability and
-performance, even at extreme sizes (it's been tested with traces of sizes up to
-500 GB). Its main downside is the amount of disk space required: since every
-single interval is written to disk, the size of the history file can quite
-easily reach and even surpass the size of the trace itself.
-
-=== Null history ===
-
-Available with TmfStateSystemFactory#newNullHistory(). As its name implies the
-null history is in fact an absence of state history. All its query methods will
-return null (see the Javadoc in NullBackend).
-
-Obviously, no file is required, and almost no memory space is used.
-
-It's meant to be used in cases where you are not interested in past states, but
-only in the "ongoing" one. It can also be useful for debugging and benchmarking.
-
-=== In-memory history ===
-
-Available with TmfStateSystemFactory#newInMemHistory(). This is a simple wrapper
-using a TreeSet to store all state intervals in memory. The implementation at
-the moment is quite simple, it will perform a binary search on entries when
-doing queries to find the ones that match.
-
-The advantage of this method is that it's very quick to build and query, since
-all the information resides in memory. However, you are limited to 2^31 entries
-(roughly 2 billions), and depending on your state provider and trace type, that
-can happen really fast!
-
-There are no safeguards, so if you bust the limit you will end up with
-ArrayOutOfBoundsException's everywhere. If your trace or state history can be
-arbitrarily big, it's probably safer to use a Full History instead.
-
-=== Partial history ===
-
-Available with TmfStateSystemFactory#newPartialHistory(). The partial history is
-a more advanced form of the full history. Instead of writing all state intervals
-to disk like with the full history, we only write a small fraction of them, and
-go back to read the trace to recreate the states in-between.
-
-It has a big advantage over a full history in terms of disk space usage. It's
-very possible to reduce the history tree file size by a factor of 1000, while
-keeping query times within a factor of two. Its main downside comes from the
-fact that you cannot do efficient single queries with it (they are implemented
-by doing full queries underneath).
-
-This makes it a poor choice for views like the Control Flow view, where you do
-a lot of range queries and single queries. However, it is a perfect fit for
-cases like statistics, where you usually do full queries already, and you store
-lots of small states which are very easy to "compress".
-
-However, it can't really be used until bug 409630 is fixed.
-
-== State System Operations ==
-
-TmfStateSystemOperations is a static class that implements additional
-statistical operations that can be performed on attributes of the state system.
-
-These operations require that the attribute be one of the numerical values
-(int, long or double).
-
-The speed of these operations can be greatly improved for large data sets if
-the attribute was inserted in the state system as a mipmap attribute. Refer to
-the [[#Mipmap feature | Mipmap feature]] section.
-
-===== queryRangeMax() =====
-
-This method returns the maximum numerical value of an attribute in the
-specified time range. The attribute must be of type int, long or double.
-Null values are ignored. The returned value will be of the same state value
-type as the base attribute, or a null value if there is no state interval
-stored in the given time range.
-
-===== queryRangeMin() =====
-
-This method returns the minimum numerical value of an attribute in the
-specified time range. The attribute must be of type int, long or double.
-Null values are ignored. The returned value will be of the same state value
-type as the base attribute, or a null value if there is no state interval
-stored in the given time range.
-
-===== queryRangeAverage() =====
-
-This method returns the average numerical value of an attribute in the
-specified time range. The attribute must be of type int, long or double.
-Each state interval value is weighted according to time. Null values are
-counted as zero. The returned value will be a double primitive, which will
-be zero if there is no state interval stored in the given time range.
-
-== Code example ==
-
-Here is a small example of code that will use the state system. For this
-example, let's assume we want to track the state of all the CPUs in a LTTng
-kernel trace. To do so, we will watch for the "sched_switch" event in the state
-provider, and will update an attribute indicating if the associated CPU should
-be set to "running" or "idle".
-
-We will use an attribute tree that looks like this:
-<pre>
-CPUs
- |--0
- | |--Status
- |
- |--1
- | |--Status
- |
- | 2
- | |--Status
-...
-</pre>
-
-The second-level attributes will be named from the information available in the
-trace events. Only the "Status" attributes will carry a state value (this means
-we could have just used "1", "2", "3",... directly, but we'll do it in a tree
-for the example's sake).
-
-Also, we will use integer state values to represent "running" or "idle", instead
-of saving the strings that would get repeated every time. This will help in
-reducing the size of the history file.
-
-First we will define a state provider in MyStateProvider. Then, assuming we
-have already implemented a custom trace type extending CtfTmfTrace, we will add
-a section to it to make it build a state system using the provider we defined
-earlier. Finally, we will show some example code that can query the state
-system, which would normally go in a view or analysis module.
-
-=== State Provider ===
-
-<pre>
-import org.eclipse.linuxtools.tmf.core.ctfadaptor.CtfTmfEvent;
-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.statesystem.AbstractTmfStateProvider;
-import org.eclipse.linuxtools.tmf.core.statevalue.ITmfStateValue;
-import org.eclipse.linuxtools.tmf.core.statevalue.TmfStateValue;
-import org.eclipse.linuxtools.tmf.core.trace.ITmfTrace;
-
-/**
- * Example state system provider.
- *
- * @author Alexandre Montplaisir
- */
-public class MyStateProvider extends AbstractTmfStateProvider {
-
- /** State value representing the idle state */
- public static ITmfStateValue IDLE = TmfStateValue.newValueInt(0);
-
- /** State value representing the running state */
- public static ITmfStateValue RUNNING = TmfStateValue.newValueInt(1);
-
- /**
- * Constructor
- *
- * @param trace
- * The trace to which this state provider is associated
- */
- public MyStateProvider(ITmfTrace trace) {
- super(trace, CtfTmfEvent.class, "Example"); //$NON-NLS-1$
- /*
- * The third parameter here is not important, it's only used to name a
- * thread internally.
- */
- }
-
- @Override
- public int getVersion() {
- /*
- * If the version of an existing file doesn't match the version supplied
- * in the provider, a rebuild of the history will be forced.
- */
- return 1;
- }
-
- @Override
- public MyStateProvider getNewInstance() {
- return new MyStateProvider(getTrace());
- }
-
- @Override
- protected void eventHandle(ITmfEvent ev) {
- /*
- * AbstractStateChangeInput should have already checked for the correct
- * class type.
- */
- CtfTmfEvent event = (CtfTmfEvent) ev;
-
- final long ts = event.getTimestamp().getValue();
- Integer nextTid = ((Long) event.getContent().getField("next_tid").getValue()).intValue();
-
- try {
-
- if (event.getEventName().equals("sched_switch")) {
- int quark = ss.getQuarkAbsoluteAndAdd("CPUs", String.valueOf(event.getCPU()), "Status");
- ITmfStateValue value;
- if (nextTid > 0) {
- value = RUNNING;
- } else {
- value = IDLE;
- }
- ss.modifyAttribute(ts, value, quark);
- }
-
- } catch (TimeRangeException e) {
- /*
- * This should not happen, since the timestamp comes from a trace
- * event.
- */
- throw new IllegalStateException(e);
- } catch (AttributeNotFoundException e) {
- /*
- * This should not happen either, since we're only accessing a quark
- * we just created.
- */
- throw new IllegalStateException(e);
- } catch (StateValueTypeException e) {
- /*
- * This wouldn't happen here, but could potentially happen if we try
- * to insert mismatching state value types in the same attribute.
- */
- e.printStackTrace();
- }
-
- }
-
-}
-</pre>
-
-=== Trace type definition ===
-
-<pre>
-import java.io.File;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.linuxtools.tmf.core.ctfadaptor.CtfTmfTrace;
-import org.eclipse.linuxtools.tmf.core.exceptions.TmfTraceException;
-import org.eclipse.linuxtools.tmf.core.statesystem.ITmfStateProvider;
-import org.eclipse.linuxtools.tmf.core.statesystem.ITmfStateSystem;
-import org.eclipse.linuxtools.tmf.core.statesystem.TmfStateSystemFactory;
-import org.eclipse.linuxtools.tmf.core.trace.TmfTraceManager;
-
-/**
- * Example of a custom trace type using a custom state provider.
- *
- * @author Alexandre Montplaisir
- */
-public class MyTraceType extends CtfTmfTrace {
-
- /** The file name of the history file */
- public final static String HISTORY_FILE_NAME = "mystatefile.ht";
-
- /** ID of the state system we will build */
- public static final String STATE_ID = "org.eclipse.linuxtools.lttng2.example";
-
- /**
- * Default constructor
- */
- public MyTraceType() {
- super();
- }
-
- @Override
- public IStatus validate(final IProject project, final String path) {
- /*
- * Add additional validation code here, and return a IStatus.ERROR if
- * validation fails.
- */
- return Status.OK_STATUS;
- }
-
- @Override
- protected void buildStateSystem() throws TmfTraceException {
- super.buildStateSystem();
-
- /* Build the custom state system for this trace */
- String directory = TmfTraceManager.getSupplementaryFileDir(this);
- final File htFile = new File(directory + HISTORY_FILE_NAME);
- final ITmfStateProvider htInput = new MyStateProvider(this);
-
- ITmfStateSystem ss = TmfStateSystemFactory.newFullHistory(htFile, htInput, false);
- fStateSystems.put(STATE_ID, ss);
- }
-
-}
-</pre>
-
-=== Query code ===
-
-<pre>
-import java.util.List;
-
-import org.eclipse.linuxtools.tmf.core.exceptions.AttributeNotFoundException;
-import org.eclipse.linuxtools.tmf.core.exceptions.StateSystemDisposedException;
-import org.eclipse.linuxtools.tmf.core.exceptions.TimeRangeException;
-import org.eclipse.linuxtools.tmf.core.interval.ITmfStateInterval;
-import org.eclipse.linuxtools.tmf.core.statesystem.ITmfStateSystem;
-import org.eclipse.linuxtools.tmf.core.statevalue.ITmfStateValue;
-import org.eclipse.linuxtools.tmf.core.trace.ITmfTrace;
-
-/**
- * Class showing examples of state system queries.
- *
- * @author Alexandre Montplaisir
- */
-public class QueryExample {
-
- private final ITmfStateSystem ss;
-
- /**
- * Constructor
- *
- * @param trace
- * Trace that this "view" will display.
- */
- public QueryExample(ITmfTrace trace) {
- ss = trace.getStateSystems().get(MyTraceType.STATE_ID);
- }
-
- /**
- * Example method of querying one attribute in the state system.
- *
- * We pass it a cpu and a timestamp, and it returns us if that cpu was
- * executing a process (true/false) at that time.
- *
- * @param cpu
- * The CPU to check
- * @param timestamp
- * The timestamp of the query
- * @return True if the CPU was running, false otherwise
- */
- public boolean cpuIsRunning(int cpu, long timestamp) {
- try {
- int quark = ss.getQuarkAbsolute("CPUs", String.valueOf(cpu), "Status");
- ITmfStateValue value = ss.querySingleState(timestamp, quark).getStateValue();
-
- if (value.equals(MyStateProvider.RUNNING)) {
- return true;
- }
-
- /*
- * Since at this level we have no guarantee on the contents of the state
- * system, it's important to handle these cases correctly.
- */
- } catch (AttributeNotFoundException e) {
- /*
- * Handle the case where the attribute does not exist in the state
- * system (no CPU with this number, etc.)
- */
- ...
- } catch (TimeRangeException e) {
- /*
- * Handle the case where 'timestamp' is outside of the range of the
- * history.
- */
- ...
- } catch (StateSystemDisposedException e) {
- /*
- * Handle the case where the state system is being disposed. If this
- * happens, it's normally when shutting down, so the view can just
- * return immediately and wait it out.
- */
- }
- return false;
- }
-
-
- /**
- * Example method of using a full query.
- *
- * We pass it a timestamp, and it returns us how many CPUs were executing a
- * process at that moment.
- *
- * @param timestamp
- * The target timestamp
- * @return The amount of CPUs that were running at that time
- */
- public int getNbRunningCpus(long timestamp) {
- int count = 0;
-
- try {
- /* Get the list of the quarks we are interested in. */
- List<Integer> quarks = ss.getQuarks("CPUs", "*", "Status");
-
- /*
- * Get the full state at our target timestamp (it's better than
- * doing an arbitrary number of single queries).
- */
- List<ITmfStateInterval> state = ss.queryFullState(timestamp);
-
- /* Look at the value of the state for each quark */
- for (Integer quark : quarks) {
- ITmfStateValue value = state.get(quark).getStateValue();
- if (value.equals(MyStateProvider.RUNNING)) {
- count++;
- }
- }
-
- } catch (TimeRangeException e) {
- /*
- * Handle the case where 'timestamp' is outside of the range of the
- * history.
- */
- ...
- } catch (StateSystemDisposedException e) {
- /* Handle the case where the state system is being disposed. */
- ...
- }
- return count;
- }
-}
-</pre>
-
-== Mipmap feature ==
-
-The mipmap feature allows attributes to be inserted into the state system with
-additional computations performed to automatically store sub-attributes that
-can later be used for statistical operations. The mipmap has a resolution which
-represents the number of state attribute changes that are used to compute the
-value at the next mipmap level.
-
-The supported mipmap features are: max, min, and average. Each one of these
-features requires that the base attribute be a numerical state value (int, long
-or double). An attribute can be mipmapped for one or more of the features at
-the same time.
-
-To use a mipmapped attribute in queries, call the corresponding methods of the
-static class [[#State System Operations | TmfStateSystemOperations]].
-
-=== AbstractTmfMipmapStateProvider ===
-
-AbstractTmfMipmapStateProvider is an abstract provider class that allows adding
-features to a specific attribute into a mipmap tree. It extends AbstractTmfStateProvider.
-
-If a provider wants to add mipmapped attributes to its tree, it must extend
-AbstractTmfMipmapStateProvider and call modifyMipmapAttribute() in the event
-handler, specifying one or more mipmap features to compute. Then the structure
-of the attribute tree will be :
-
-<pre>
-|- <attribute>
-| |- <mipmapFeature> (min/max/avg)
-| | |- 1
-| | |- 2
-| | |- 3
-| | ...
-| | |- n (maximum mipmap level)
-| |- <mipmapFeature> (min/max/avg)
-| | |- 1
-| | |- 2
-| | |- 3
-| | ...
-| | |- n (maximum mipmap level)
-| ...
-</pre>
-
-= UML2 Sequence Diagram Framework =
-
-The purpose of the UML2 Sequence Diagram Framework of TMF is to provide a framework for generation of UML2 sequence diagrams. It provides
-*UML2 Sequence diagram drawing capabilities (i.e. lifelines, messages, activations, object creation and deletion)
-*a generic, re-usable Sequence Diagram View
-*Eclipse Extension Point for the creation of sequence diagrams
-*callback hooks for searching and filtering within the Sequence Diagram View
-*scalability<br>
-The following chapters describe the Sequence Diagram Framework as well as a reference implementation and its usage.
-
-== TMF UML2 Sequence Diagram Extensions ==
-
-In the UML2 Sequence Diagram Framework an Eclipse extension point is defined so that other plug-ins can contribute code to create sequence diagram.
-
-'''Identifier''': org.eclipse.linuxtools.tmf.ui.uml2SDLoader<br>
-'''Since''': 1.0<br>
-'''Description''': This extension point aims to list and connect any UML2 Sequence Diagram loader.<br>
-'''Configuration Markup''':<br>
-
-<pre>
-<!ELEMENT extension (uml2SDLoader)+>
-<!ATTLIST extension
-point CDATA #REQUIRED
-id CDATA #IMPLIED
-name CDATA #IMPLIED
->
-</pre>
-
-*point - A fully qualified identifier of the target extension point.
-*id - An optional identifier of the extension instance.
-*name - An optional name of the extension instance.
-
-<pre>
-<!ELEMENT uml2SDLoader EMPTY>
-<!ATTLIST uml2SDLoader
-id CDATA #REQUIRED
-name CDATA #REQUIRED
-class CDATA #REQUIRED
-view CDATA #REQUIRED
-default (true | false)
-</pre>
-
-*id - A unique identifier for this uml2SDLoader. This is not mandatory as long as the id attribute cannot be retrieved by the provider plug-in. The class attribute is the one on which the underlying algorithm relies.
-*name - An name of the extension instance.
-*class - The implementation of this UML2 SD viewer loader. The class must implement org.eclipse.linuxtools.tmf.ui.views.uml2sd.load.IUml2SDLoader.
-*view - The view ID of the view that this loader aims to populate. Either org.eclipse.linuxtools.tmf.ui.views.uml2sd.SDView itself or a extension of org.eclipse.linuxtools.tmf.ui.views.uml2sd.SDView.
-*default - Set to true to make this loader the default one for the view; in case of several default loaders, first one coming from extensions list is taken.
-
-
-== Management of the Extension Point ==
-
-The TMF UI plug-in is responsible for evaluating each contribution to the extension point.
-<br>
-<br>
-With this extension point, a loader class is associated with a Sequence Diagram View. Multiple loaders can be associated to a single Sequence Diagram View. However, additional means have to be implemented to specify which loader should be used when opening the view. For example, an eclipse action or command could be used for that. This additional code is not necessary if there is only one loader for a given Sequence Diagram View associated and this loader has the attribute "default" set to "true". (see also [[#Using one Sequence Diagram View with Multiple Loaders | Using one Sequence Diagram View with Multiple Loaders]])
-
-== Sequence Diagram View ==
-
-For this extension point a Sequence Diagram View has to be defined as well. The Sequence Diagram View class implementation is provided by the plug-in ''org.eclipse.linuxtools.tmf.ui'' (''org.eclipse.linuxtools.tmf.ui.views.uml2sd.SDView'') and can be used as is or can also be sub-classed. For that, a view extension has to be added to the ''plugin.xml''.
-
-=== Supported Widgets ===
-
-The loader class provides a frame containing all the UML2 widgets to be displayed. The following widgets exist:
-
-*Lifeline
-*Activation
-*Synchronous Message
-*Asynchronous Message
-*Synchronous Message Return
-*Asynchronous Message Return
-*Stop
-
-For a lifeline, a category can be defined. The lifeline category defines icons, which are displayed in the lifeline header.
-
-=== Zooming ===
-
-The Sequence Diagram View allows the user to zoom in, zoom out and reset the zoom factor.
-
-=== Printing ===
-
-It is possible to print the whole sequence diagram as well as part of it.
-
-=== Key Bindings ===
-
-*SHIFT+ALT+ARROW-DOWN - to scroll down within sequence diagram one view page at a time
-*SHIFT+ALT+ARROW-UP - to scroll up within sequence diagram one view page at a time
-*SHIFT+ALT+ARROW-RIGHT - to scroll right within sequence diagram one view page at a time
-*SHIFT+ALT+ARROW-LEFT - to scroll left within sequence diagram one view page at a time
-*SHIFT+ALT+ARROW-HOME - to jump to the beginning of the selected message if not already visible in page
-*SHIFT+ALT+ARROW-END - to jump to the end of the selected message if not already visible in page
-*CTRL+F - to open find dialog if either the basic or extended find provider is defined (see [[#Using the Find Provider Interface | Using the Find Provider Interface]])
-*CTRL+P - to open print dialog
-
-=== Preferences ===
-
-The UML2 Sequence Diagram Framework provides preferences to customize the appearance of the Sequence Diagram View. The color of all widgets and text as well as the fonts of the text of all widget can be adjust. Amongst others the default lifeline width can be alternated. To change preferences select '''Windows->Preferences->Tracing->UML2 Sequence Diagrams'''. The following preference page will show:<br>
-[[Image:images/SeqDiagramPref.png]] <br>
-After changing the preferences select '''OK'''.
-
-=== Callback hooks ===
-
-The Sequence Diagram View provides several callback hooks so that extension can provide application specific functionality. The following interfaces can be provided:
-* Basic find provider or extended find Provider<br> For finding within the sequence diagram
-* Basic filter provider and extended Filter Provider<br> For filtering within the sequnce diagram.
-* Basic paging provider or advanced paging provider<br> For scalability reasons, used to limit number of displayed messages
-* Properies provider<br> To provide properties of selected elements
-* Collapse provider <br> To collapse areas of the sequence diagram
-
-== Tutorial ==
-
-This tutorial describes how to create a UML2 Sequence Diagram Loader extension and use this loader in the in Eclipse.
-
-=== Prerequisites ===
-
-The tutorial is based on Eclipse 4.4 (Eclipse Luna) and TMF 3.0.0.
-
-=== Creating an Eclipse UI Plug-in ===
-
-To create a new project with name org.eclipse.linuxtools.tmf.sample.ui select '''File -> New -> Project -> Plug-in Development -> Plug-in Project'''. <br>
-[[Image:images/Screenshot-NewPlug-inProject1.png]]<br>
-
-[[Image:images/Screenshot-NewPlug-inProject2.png]]<br>
-
-[[Image:images/Screenshot-NewPlug-inProject3.png]]<br>
-
-=== Creating a Sequence Diagram View ===
-
-To open the plug-in manifest, double-click on the MANIFEST.MF file. <br>
-[[Image:images/SelectManifest.png]]<br>
-
-Change to the Dependencies tab and select '''Add...''' of the ''Required Plug-ins'' section. A new dialog box will open. Next find plug-ins ''org.eclipse.linuxtools.tmf.ui'' and ''org.eclipse.linuxtools.tmf.core'' and then press '''OK'''<br>
-[[Image:images/AddDependencyTmfUi.png]]<br>
-
-Change to the Extensions tab and select '''Add...''' of the ''All Extension'' section. A new dialog box will open. Find the view extension ''org.eclipse.ui.views'' and press '''Finish'''.<br>
-[[Image:images/AddViewExtension1.png]]<br>
-
-To create a Sequence Diagram View, click the right mouse button. Then select '''New -> view'''<br>
-[[Image:images/AddViewExtension2.png]]<br>
-
-A new view entry has been created. Fill in the fields ''id'', ''name'' and ''class''. Note that for ''class'' the SD view implementation (''org.eclipse.linuxtools.tmf.ui.views.SDView'') of the TMF UI plug-in is used.<br>
-[[Image:images/FillSampleSeqDiagram.png]]<br>
-
-The view is prepared. Run the Example. To launch the an Eclipse Application select the ''Overview'' tab and click on '''Launch an Eclipse Application'''<br>
-[[Image:images/RunEclipseApplication.png]]<br>
-
-A new Eclipse application window will show. In the new window go to '''Windows -> Show View -> Other... -> Other -> Sample Sequence Diagram'''.<br>
-[[Image:images/ShowViewOther.png]]<br>
-
-The Sequence Diagram View will open with an blank page.<br>
-[[Image:images/BlankSampleSeqDiagram.png]]<br>
-
-Close the Example Application.
-
-=== Defining the uml2SDLoader Extension ===
-
-After defining the Sequence Diagram View it's time to create the ''uml2SDLoader'' Extension. <br>
-
-Before doing that add a dependency to TMF. For that select '''Add...''' of the ''Required Plug-ins'' section. A new dialog box will open. Next find plug-in ''org.eclipse.linuxtools.tmf'' and press '''OK'''<br>
-[[Image:images/AddDependencyTmf.png]]<br>
-
-To create the loader extension, change to the Extensions tab and select '''Add...''' of the ''All Extension'' section. A new dialog box will open. Find the extension ''org.eclipse.linuxtools.tmf.ui.uml2SDLoader'' and press '''Finish'''.<br>
-[[Image:images/AddTmfUml2SDLoader.png]]<br>
-
-A new 'uml2SDLoader'' extension has been created. Fill in fields ''id'', ''name'', ''class'', ''view'' and ''default''. Use ''default'' equal true for this example. For the view add the id of the Sequence Diagram View of chapter [[#Creating a Sequence Diagram View | Creating a Sequence Diagram View]]. <br>
-[[Image:images/FillSampleLoader.png]]<br>
-
-Then click on ''class'' (see above) to open the new class dialog box. Fill in the relevant fields and select '''Finish'''. <br>
-[[Image:images/NewSampleLoaderClass.png]]<br>
-
-A new Java class will be created which implements the interface ''org.eclipse.linuxtools.tmf.ui.views.uml2sd.load.IUml2SDLoader''.<br>
-
-<pre>
-package org.eclipse.linuxtools.tmf.sample.ui;
-
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.SDView;
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.load.IUml2SDLoader;
-
-public class SampleLoader implements IUml2SDLoader {
-
- public SampleLoader() {
- // TODO Auto-generated constructor stub
- }
-
- @Override
- public void dispose() {
- // TODO Auto-generated method stub
-
- }
-
- @Override
- public String getTitleString() {
- // TODO Auto-generated method stub
- return null;
- }
-
- @Override
- public void setViewer(SDView arg0) {
- // TODO Auto-generated method stub
-
- }
-</pre>
-
-=== Implementing the Loader Class ===
-
-Next is to implement the methods of the IUml2SDLoader interface method. The following code snippet shows how to create the major sequence diagram elements. Please note that no time information is stored.<br>
-
-<pre>
-package org.eclipse.linuxtools.tmf.sample.ui;
-
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.SDView;
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.core.AsyncMessage;
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.core.AsyncMessageReturn;
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.core.ExecutionOccurrence;
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.core.Frame;
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.core.Lifeline;
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.core.Stop;
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.core.SyncMessage;
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.core.SyncMessageReturn;
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.load.IUml2SDLoader;
-
-public class SampleLoader implements IUml2SDLoader {
-
- private SDView fSdView;
-
- public SampleLoader() {
- }
-
- @Override
- public void dispose() {
- }
-
- @Override
- public String getTitleString() {
- return "Sample Diagram";
- }
-
- @Override
- public void setViewer(SDView arg0) {
- fSdView = arg0;
- createFrame();
- }
-
- private void createFrame() {
-
- Frame testFrame = new Frame();
- testFrame.setName("Sample Frame");
-
- /*
- * Create lifelines
- */
-
- Lifeline lifeLine1 = new Lifeline();
- lifeLine1.setName("Object1");
- testFrame.addLifeLine(lifeLine1);
-
- Lifeline lifeLine2 = new Lifeline();
- lifeLine2.setName("Object2");
- testFrame.addLifeLine(lifeLine2);
-
-
- /*
- * Create Sync Message
- */
- // Get new occurrence on lifelines
- lifeLine1.getNewEventOccurrence();
-
- // Get Sync message instances
- SyncMessage start = new SyncMessage();
- start.setName("Start");
- start.setEndLifeline(lifeLine1);
- testFrame.addMessage(start);
-
- /*
- * Create Sync Message
- */
- // Get new occurrence on lifelines
- lifeLine1.getNewEventOccurrence();
- lifeLine2.getNewEventOccurrence();
-
- // Get Sync message instances
- SyncMessage syn1 = new SyncMessage();
- syn1.setName("Sync Message 1");
- syn1.setStartLifeline(lifeLine1);
- syn1.setEndLifeline(lifeLine2);
- testFrame.addMessage(syn1);
-
- /*
- * Create corresponding Sync Message Return
- */
-
- // Get new occurrence on lifelines
- lifeLine1.getNewEventOccurrence();
- lifeLine2.getNewEventOccurrence();
-
- SyncMessageReturn synReturn1 = new SyncMessageReturn();
- synReturn1.setName("Sync Message Return 1");
- synReturn1.setStartLifeline(lifeLine2);
- synReturn1.setEndLifeline(lifeLine1);
- synReturn1.setMessage(syn1);
- testFrame.addMessage(synReturn1);
-
- /*
- * Create Activations (Execution Occurrence)
- */
- ExecutionOccurrence occ1 = new ExecutionOccurrence();
- occ1.setStartOccurrence(start.getEventOccurrence());
- occ1.setEndOccurrence(synReturn1.getEventOccurrence());
- lifeLine1.addExecution(occ1);
- occ1.setName("Activation 1");
-
- ExecutionOccurrence occ2 = new ExecutionOccurrence();
- occ2.setStartOccurrence(syn1.getEventOccurrence());
- occ2.setEndOccurrence(synReturn1.getEventOccurrence());
- lifeLine2.addExecution(occ2);
- occ2.setName("Activation 2");
-
- /*
- * Create Sync Message
- */
- // Get new occurrence on lifelines
- lifeLine1.getNewEventOccurrence();
- lifeLine2.getNewEventOccurrence();
-
- // Get Sync message instances
- AsyncMessage asyn1 = new AsyncMessage();
- asyn1.setName("Async Message 1");
- asyn1.setStartLifeline(lifeLine1);
- asyn1.setEndLifeline(lifeLine2);
- testFrame.addMessage(asyn1);
-
- /*
- * Create corresponding Sync Message Return
- */
-
- // Get new occurrence on lifelines
- lifeLine1.getNewEventOccurrence();
- lifeLine2.getNewEventOccurrence();
-
- AsyncMessageReturn asynReturn1 = new AsyncMessageReturn();
- asynReturn1.setName("Async Message Return 1");
- asynReturn1.setStartLifeline(lifeLine2);
- asynReturn1.setEndLifeline(lifeLine1);
- asynReturn1.setMessage(asyn1);
- testFrame.addMessage(asynReturn1);
-
- /*
- * Create a note
- */
-
- // Get new occurrence on lifelines
- lifeLine1.getNewEventOccurrence();
-
- EllipsisMessage info = new EllipsisMessage();
- info.setName("Object deletion");
- info.setStartLifeline(lifeLine2);
- testFrame.addNode(info);
-
- /*
- * Create a Stop
- */
- Stop stop = new Stop();
- stop.setLifeline(lifeLine2);
- stop.setEventOccurrence(lifeLine2.getNewEventOccurrence());
- lifeLine2.addNode(stop);
-
- fSdView.setFrame(testFrame);
- }
-}
-</pre>
-
-Now it's time to run the example application. To launch the Example Application select the ''Overview'' tab and click on '''Launch an Eclipse Application'''<br>
-[[Image:images/SampleDiagram1.png]] <br>
-
-=== Adding time information ===
-
-To add time information in sequence diagram the timestamp has to be set for each message. The sequence diagram framework uses the ''TmfTimestamp'' class of plug-in ''org.eclipse.linuxtools.tmf.core''. Use ''setTime()'' on each message ''SyncMessage'' since start and end time are the same. For each ''AsyncMessage'' set start and end time separately by using methods ''setStartTime'' and ''setEndTime''. For example: <br>
-
-<pre>
- private void createFrame() {
- //...
- start.setTime(new TmfTimestamp(1000, -3));
- syn1.setTime(new TmfTimestamp(1005, -3));
- synReturn1.setTime(new TmfTimestamp(1050, -3));
- asyn1.setStartTime(new TmfTimestamp(1060, -3));
- asyn1.setEndTime(new TmfTimestamp(1070, -3));
- asynReturn1.setStartTime(new TmfTimestamp(1060, -3));
- asynReturn1.setEndTime(new TmfTimestamp(1070, -3));
- //...
- }
-</pre>
-
-When running the example application, a time compression bar on the left appears which indicates the time elapsed between consecutive events. The time compression scale shows where the time falls between the minimum and maximum delta times. The intensity of the color is used to indicate the length of time, namely, the deeper the intensity, the higher the delta time. The minimum and maximum delta times are configurable through the collbar menu ''Configure Min Max''. The time compression bar and scale may provide an indication about which events consumes the most time. By hovering over the time compression bar a tooltip appears containing more information. <br>
-
-[[Image:images/SampleDiagramTimeComp.png]] <br>
-
-By hovering over a message it will show the time information in the appearing tooltip. For each ''SyncMessage'' it shows its time occurrence and for each ''AsyncMessage'' it shows the start and end time.
-
-[[Image:images/SampleDiagramSyncMessage.png]] <br>
-[[Image:images/SampleDiagramAsyncMessage.png]] <br>
-
-To see the time elapsed between 2 messages, select one message and hover over a second message. A tooltip will show with the delta in time. Note if the second message is before the first then a negative delta is displayed. Note that for ''AsyncMessage'' the end time is used for the delta calculation.<br>
-[[Image:images/SampleDiagramMessageDelta.png]] <br>
-
-=== Default Coolbar and Menu Items ===
-
-The Sequence Diagram View comes with default coolbar and menu items. By default, each sequence diagram shows the following actions:
-* Zoom in
-* Zoom out
-* Reset Zoom Factor
-* Selection
-* Configure Min Max (drop-down menu only)
-* Navigation -> Show the node end (drop-down menu only)
-* Navigation -> Show the node start (drop-down menu only)
-
-[[Image:images/DefaultCoolbarMenu.png]]<br>
-
-=== Implementing Optional Callbacks ===
-
-The following chapters describe how to use all supported provider interfaces.
-
-==== Using the Paging Provider Interface ====
-
-For scalability reasons, the paging provider interfaces exists to limit the number of messages displayed in the Sequence Diagram View at a time. For that, two interfaces exist, the basic paging provider and the advanced paging provider. When using the basic paging interface, actions for traversing page by page through the sequence diagram of a trace will be provided.
-<br>
-To use the basic paging provider, first the interface methods of the ''ISDPagingProvider'' have to be implemented by a class. (i.e. ''hasNextPage()'', ''hasPrevPage()'', ''nextPage()'', ''prevPage()'', ''firstPage()'' and ''endPage()''. Typically, this is implemented in the loader class. Secondly, the provider has to be set in the Sequence Diagram View. This will be done in the ''setViewer()'' method of the loader class. Lastly, the paging provider has to be removed from the view, when the ''dispose()'' method of the loader class is called.
-
-<pre>
-public class SampleLoader implements IUml2SDLoader, ISDPagingProvider {
- //...
- private page = 0;
-
- @Override
- public void dispose() {
- if (fSdView != null) {
- fSdView.resetProviders();
- }
- }
-
- @Override
- public void setViewer(SDView arg0) {
- fSdView = arg0;
- fSdView.setSDPagingProvider(this);
- createFrame();
- }
-
- private void createSecondFrame() {
- Frame testFrame = new Frame();
- testFrame.setName("SecondFrame");
- Lifeline lifeline = new Lifeline();
- lifeline.setName("LifeLine 0");
- testFrame.addLifeLine(lifeline);
- lifeline = new Lifeline();
- lifeline.setName("LifeLine 1");
- testFrame.addLifeLine(lifeline);
- for (int i = 1; i < 5; i++) {
- SyncMessage message = new SyncMessage();
- message.autoSetStartLifeline(testFrame.getLifeline(0));
- message.autoSetEndLifeline(testFrame.getLifeline(0));
- message.setName((new StringBuilder("Message ")).append(i).toString());
- testFrame.addMessage(message);
-
- SyncMessageReturn messageReturn = new SyncMessageReturn();
- messageReturn.autoSetStartLifeline(testFrame.getLifeline(0));
- messageReturn.autoSetEndLifeline(testFrame.getLifeline(0));
-
- testFrame.addMessage(messageReturn);
- messageReturn.setName((new StringBuilder("Message return ")).append(i).toString());
- ExecutionOccurrence occ = new ExecutionOccurrence();
- occ.setStartOccurrence(testFrame.getSyncMessage(i - 1).getEventOccurrence());
- occ.setEndOccurrence(testFrame.getSyncMessageReturn(i - 1).getEventOccurrence());
- testFrame.getLifeline(0).addExecution(occ);
- }
- fSdView.setFrame(testFrame);
- }
-
- @Override
- public boolean hasNextPage() {
- return page == 0;
- }
-
- @Override
- public boolean hasPrevPage() {
- return page == 1;
- }
-
- @Override
- public void nextPage() {
- page = 1;
- createSecondFrame();
- }
-
- @Override
- public void prevPage() {
- page = 0;
- createFrame();
- }
-
- @Override
- public void firstPage() {
- page = 0;
- createFrame();
- }
-
- @Override
- public void lastPage() {
- page = 1;
- createSecondFrame();
- }
- //...
-}
-
-</pre>
-
-When running the example application, new actions will be shown in the coolbar and the coolbar menu. <br>
-
-[[Image:images/PageProviderAdded.png]]
-
-<br><br>
-To use the advanced paging provider, the interface ''ISDAdvancePagingProvider'' has to be implemented. It extends the basic paging provider. The methods ''currentPage()'', ''pagesCount()'' and ''pageNumberChanged()'' have to be added.
-<br>
-
-==== Using the Find Provider Interface ====
-
-For finding nodes in a sequence diagram two interfaces exists. One for basic finding and one for extended finding. The basic find comes with a dialog box for entering find criteria as regular expressions. This find criteria can be used to execute the find. Find criteria a persisted in the Eclipse workspace.
-<br>
-For the extended find provider interface a ''org.eclipse.jface.action.Action'' class has to be provided. The actual find handling has to be implemented and triggered by the action.
-<br>
-Only on at a time can be active. If the extended find provder is defined it obsoletes the basic find provider.
-<br>
-To use the basic find provider, first the interface methods of the ''ISDFindProvider'' have to be implemented by a class. Typically, this is implemented in the loader class. Add the ISDFindProvider to the list of implemented interfaces, implement the methods ''find()'' and ''cancel()'' and set the provider in the ''setViewer()'' method as well as remove the provider in the ''dispose()'' method of the loader class. Please note that the ''ISDFindProvider'' extends the interface ''ISDGraphNodeSupporter'' which methods (''isNodeSupported()'' and ''getNodeName()'') have to be implemented, too. The following shows an example implementation. Please note that only search for lifelines and SynchMessage are supported. The find itself will always find only the first occurrence the pattern to match.
-
-<pre>
-public class SampleLoader implements IUml2SDLoader, ISDPagingProvider, ISDFindProvider {
-
- //...
- @Override
- public void dispose() {
- if (fSdView != null) {
- fSdView.resetProviders();
- }
- }
-
- @Override
- public void setViewer(SDView arg0) {
- fSdView = arg0;
- fSdView.setSDPagingProvider(this);
- fSdView.setSDFindProvider(this);
- createFrame();
- }
-
- @Override
- public boolean isNodeSupported(int nodeType) {
- switch (nodeType) {
- case ISDGraphNodeSupporter.LIFELINE:
- case ISDGraphNodeSupporter.SYNCMESSAGE:
- return true;
-
- default:
- break;
- }
- return false;
- }
-
- @Override
- public String getNodeName(int nodeType, String loaderClassName) {
- switch (nodeType) {
- case ISDGraphNodeSupporter.LIFELINE:
- return "Lifeline";
- case ISDGraphNodeSupporter.SYNCMESSAGE:
- return "Sync Message";
- }
- return "";
- }
-
- @Override
- public boolean find(Criteria criteria) {
- Frame frame = fSdView.getFrame();
- if (criteria.isLifeLineSelected()) {
- for (int i = 0; i < frame.lifeLinesCount(); i++) {
- if (criteria.matches(frame.getLifeline(i).getName())) {
- fSdView.getSDWidget().moveTo(frame.getLifeline(i));
- return true;
- }
- }
- }
- if (criteria.isSyncMessageSelected()) {
- for (int i = 0; i < frame.syncMessageCount(); i++) {
- if (criteria.matches(frame.getSyncMessage(i).getName())) {
- fSdView.getSDWidget().moveTo(frame.getSyncMessage(i));
- return true;
- }
- }
- }
- return false;
- }
-
- @Override
- public void cancel() {
- // reset find parameters
- }
- //...
-}
-</pre>
-
-When running the example application, the find action will be shown in the coolbar and the coolbar menu. <br>
-[[Image:images/FindProviderAdded.png]]
-
-To find a sequence diagram node press on the find button of the coolbar (see above). A new dialog box will open. Enter a regular expression in the ''Matching String'' text box, select the node types (e.g. Sync Message) and press '''Find'''. If found the corresponding node will be selected. If not found the dialog box will indicate not found. <br>
-[[Image:images/FindDialog.png]]<br>
-
-Note that the find dialog will be opened by typing the key shortcut CRTL+F.
-
-==== Using the Filter Provider Interface ====
-
-For filtering of sequence diagram elements two interfaces exist. One basic for filtering and one for extended filtering. The basic filtering comes with two dialog for entering filter criteria as regular expressions and one for selecting the filter to be used. Multiple filters can be active at a time. Filter criteria are persisted in the Eclipse workspace.
-<br>
-To use the basic filter provider, first the interface method of the ''ISDFilterProvider'' has to be implemented by a class. Typically, this is implemented in the loader class. Add the ''ISDFilterProvider'' to the list of implemented interfaces, implement the method ''filter()''and set the provider in the ''setViewer()'' method as well as remove the provider in the ''dispose()'' method of the loader class. Please note that the ''ISDFindProvider'' extends the interface ''ISDGraphNodeSupporter'' which methods (''isNodeSupported()'' and ''getNodeName()'') have to be implemented, too. <br>
-Note that no example implementation of ''filter()'' is provided.
-<br>
-
-<pre>
-public class SampleLoader implements IUml2SDLoader, ISDPagingProvider, ISDFindProvider, ISDFilterProvider {
-
- //...
- @Override
- public void dispose() {
- if (fSdView != null) {
- fSdView.resetProviders();
- }
- }
-
- @Override
- public void setViewer(SDView arg0) {
- fSdView = arg0;
- fSdView.setSDPagingProvider(this);
- fSdView.setSDFindProvider(this);
- fSdView.setSDFilterProvider(this);
- createFrame();
- }
-
- @Override
- public boolean filter(List<?> list) {
- return false;
- }
- //...
-}
-</pre>
-
-When running the example application, the filter action will be shown in the coolbar menu. <br>
-[[Image:images/HidePatternsMenuItem.png]]
-
-To filter select the '''Hide Patterns...''' of the coolbar menu. A new dialog box will open. <br>
-[[Image:images/DialogHidePatterns.png]]
-
-To Add a new filter press '''Add...'''. A new dialog box will open. Enter a regular expression in the ''Matching String'' text box, select the node types (e.g. Sync Message) and press '''Create''''. <br>
-[[Image:images/DialogHidePatterns.png]] <br>
-
-Now back at the Hide Pattern dialog. Select one or more filter and select '''OK'''.
-
-To use the extended filter provider, the interface ''ISDExtendedFilterProvider'' has to be implemented. It will provide a ''org.eclipse.jface.action.Action'' class containing the actual filter handling and filter algorithm.
-
-==== Using the Extended Action Bar Provider Interface ====
-
-The extended action bar provider can be used to add customized actions to the Sequence Diagram View.
-To use the extended action bar provider, first the interface method of the interface ''ISDExtendedActionBarProvider'' has to be implemented by a class. Typically, this is implemented in the loader class. Add the ''ISDExtendedActionBarProvider'' to the list of implemented interfaces, implement the method ''supplementCoolbarContent()'' and set the provider in the ''setViewer()'' method as well as remove the provider in the ''dispose()'' method of the loader class. <br>
-
-<pre>
-public class SampleLoader implements IUml2SDLoader, ISDPagingProvider, ISDFindProvider, ISDFilterProvider, ISDExtendedActionBarProvider {
- //...
-
- @Override
- public void dispose() {
- if (fSdView != null) {
- fSdView.resetProviders();
- }
- }
-
- @Override
- public void setViewer(SDView arg0) {
- fSdView = arg0;
- fSdView.setSDPagingProvider(this);
- fSdView.setSDFindProvider(this);
- fSdView.setSDFilterProvider(this);
- fSdView.setSDExtendedActionBarProvider(this);
- createFrame();
- }
-
- @Override
- public void supplementCoolbarContent(IActionBars iactionbars) {
- Action action = new Action("Refresh") {
- @Override
- public void run() {
- System.out.println("Refreshing...");
- }
- };
- iactionbars.getMenuManager().add(action);
- iactionbars.getToolBarManager().add(action);
- }
- //...
-}
-</pre>
-
-When running the example application, all new actions will be added to the coolbar and coolbar menu according to the implementation of ''supplementCoolbarContent()''<br>.
-For the example above the coolbar and coolbar menu will look as follows.
-
-[[Image:images/SupplCoolbar.png]]
-
-==== Using the Properties Provider Interface====
-
-This interface can be used to provide property information. A property provider which returns an ''IPropertyPageSheet'' (see ''org.eclipse.ui.views'') has to be implemented and set in the Sequence Diagram View. <br>
-
-To use the property provider, first the interface method of the ''ISDPropertiesProvider'' has to be implemented by a class. Typically, this is implemented in the loader class. Add the ''ISDPropertiesProvider'' to the list of implemented interfaces, implement the method ''getPropertySheetEntry()'' and set the provider in the ''setViewer()'' method as well as remove the provider in the ''dispose()'' method of the loader class. Please note that no example is provided here.
-
-Please refer to the following Eclipse articles for more information about properties and tabed properties.
-*[http://www.eclipse.org/articles/Article-Properties-View/properties-view.html | Take control of your properties]
-*[http://www.eclipse.org/articles/Article-Tabbed-Properties/tabbed_properties_view.html | The Eclipse Tabbed Properties View]
-
-==== Using the Collapse Provider Interface ====
-
-This interface can be used to define a provider which responsibility is to collapse two selected lifelines. This can be used to hide a pair of lifelines.
-
-To use the collapse provider, first the interface method of the ''ISDCollapseProvider'' has to be implemented by a class. Typically, this is implemented in the loader class. Add the ISDCollapseProvider to the list of implemented interfaces, implement the method ''collapseTwoLifelines()'' and set the provider in the ''setViewer()'' method as well as remove the provider in the ''dispose()'' method of the loader class. Please note that no example is provided here.
-
-==== Using the Selection Provider Service ====
-
-The Sequence Diagram View comes with a build in selection provider service. To this service listeners can be added. To use the selection provider service, the interface ''ISelectionListener'' of plug-in ''org.eclipse.ui'' has to implemented. Typically this is implemented in loader class. Firstly, add the ''ISelectionListener'' interface to the list of implemented interfaces, implement the method ''selectionChanged()'' and set the listener in method ''setViewer()'' as well as remove the listener in the ''dispose()'' method of the loader class.
-
-<pre>
-public class SampleLoader implements IUml2SDLoader, ISDPagingProvider, ISDFindProvider, ISDFilterProvider, ISDExtendedActionBarProvider, ISelectionListener {
-
- //...
- @Override
- public void dispose() {
- if (fSdView != null) {
- PlatformUI.getWorkbench().getActiveWorkbenchWindow().getSelectionService().removePostSelectionListener(this);
- fSdView.resetProviders();
- }
- }
-
- @Override
- public String getTitleString() {
- return "Sample Diagram";
- }
-
- @Override
- public void setViewer(SDView arg0) {
- fSdView = arg0;
- PlatformUI.getWorkbench().getActiveWorkbenchWindow().getSelectionService().addPostSelectionListener(this);
- fSdView.setSDPagingProvider(this);
- fSdView.setSDFindProvider(this);
- fSdView.setSDFilterProvider(this);
- fSdView.setSDExtendedActionBarProvider(this);
-
- createFrame();
- }
-
- @Override
- public void selectionChanged(IWorkbenchPart part, ISelection selection) {
- ISelection sel = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getSelectionService().getSelection();
- if (sel != null && (sel instanceof StructuredSelection)) {
- StructuredSelection stSel = (StructuredSelection) sel;
- if (stSel.getFirstElement() instanceof BaseMessage) {
- BaseMessage syncMsg = ((BaseMessage) stSel.getFirstElement());
- System.out.println("Message '" + syncMsg.getName() + "' selected.");
- }
- }
- }
-
- //...
-}
-</pre>
-
-=== Printing a Sequence Diagram ===
-
-To print a the whole sequence diagram or only parts of it, select the Sequence Diagram View and select '''File -> Print...''' or type the key combination ''CTRL+P''. A new print dialog will open. <br>
-
-[[Image:images/PrintDialog.png]] <br>
-
-Fill in all the relevant information, select '''Printer...''' to choose the printer and the press '''OK'''.
-
-=== Using one Sequence Diagram View with Multiple Loaders ===
-
-A Sequence Diagram View definition can be used with multiple sequence diagram loaders. However, the active loader to be used when opening the view has to be set. For this define an Eclipse action or command and assign the current loader to the view. Here is a code snippet for that:
-
-<pre>
-public class OpenSDView extends AbstractHandler {
- @Override
- public Object execute(ExecutionEvent event) throws ExecutionException {
- try {
- IWorkbenchPage persp = TmfUiPlugin.getDefault().getWorkbench().getActiveWorkbenchWindow().getActivePage();
- SDView view = (SDView) persp.showView("org.eclipse.linuxtools.ust.examples.ui.componentinteraction");
- LoadersManager.getLoadersManager().createLoader("org.eclipse.linuxtools.tmf.ui.views.uml2sd.impl.TmfUml2SDSyncLoader", view);
- } catch (PartInitException e) {
- throw new ExecutionException("PartInitException caught: ", e);
- }
- return null;
- }
-}
-</pre>
-
-=== Downloading the Tutorial ===
-
-Use the following link to download the source code of the tutorial [http://wiki.eclipse.org/images/e/e6/SamplePlugin.zip Plug-in of Tutorial].
-
-== Integration of Tracing and Monitoring Framework with Sequence Diagram Framework ==
-
-In the previous sections the Sequence Diagram Framework has been described and a tutorial was provided. In the following sections the integration of the Sequence Diagram Framework with other features of TMF will be described. Together it is a powerful framework to analyze and visualize content of traces. The integration is explained using the reference implementation of a UML2 sequence diagram loader which part of the TMF UI delivery. The reference implementation can be used as is, can be sub-classed or simply be an example for other sequence diagram loaders to be implemented.
-
-=== Reference Implementation ===
-
-A Sequence Diagram View Extension is defined in the plug-in TMF UI as well as a uml2SDLoader Extension with the reference loader.
-
-[[Image:images/ReferenceExtensions.png]]
-
-=== Used Sequence Diagram Features ===
-
-Besides the default features of the Sequence Diagram Framework, the reference implementation uses the following additional features:
-*Advanced paging
-*Basic finding
-*Basic filtering
-*Selection Service
-
-==== Advanced paging ====
-
-The reference loader implements the interface ''ISDAdvancedPagingProvider'' interface. Please refer to section [[#Using the Paging Provider Interface | Using the Paging Provider Interface]] for more details about the advanced paging feature.
-
-==== Basic finding ====
-
-The reference loader implements the interface ''ISDFindProvider'' interface. The user can search for ''Lifelines'' and ''Interactions''. The find is done across pages. If the expression to match is not on the current page a new thread is started to search on other pages. If expression is found the corresponding page is shown as well as the searched item is displayed. If not found then a message is displayed in the ''Progress View'' of Eclipse. Please refer to section [[#Using the Find Provider Interface | Using the Find Provider Interface]] for more details about the basic find feature.
-
-==== Basic filtering ====
-
-The reference loader implements the interface ''ISDFilterProvider'' interface. The user can filter on ''Lifelines'' and ''Interactions''. Please refer to section [[#Using the Filter Provider Interface | Using the Filter Provider Interface]] for more details about the basic filter feature.
-
-==== Selection Service ====
-
-The reference loader implements the interface ''ISelectionListener'' interface. When an interaction is selected a ''TmfTimeSynchSignal'' is broadcast (see [[#TMF Signal Framework | TMF Signal Framework]]). Please also refer to section [[#Using the Selection Provider Service | Using the Selection Provider Service]] for more details about the selection service and .
-
-=== Used TMF Features ===
-
-The reference implementation uses the following features of TMF:
-*TMF Experiment and Trace for accessing traces
-*Event Request Framework to request TMF events from the experiment and respective traces
-*Signal Framework for broadcasting and receiving TMF signals for synchronization purposes
-
-==== TMF Experiment and Trace for accessing traces ====
-
-The reference loader uses TMF Experiments to access traces and to request data from the traces.
-
-==== TMF Event Request Framework ====
-
-The reference loader use the TMF Event Request Framework to request events from the experiment and its traces.
-
-When opening a traces (which is triggered by signal ''TmfExperimentSelected'') or when opening the Sequence Diagram View after a trace had been opened previously, a TMF background request is initiated to index the trace and to fill in the first page of the sequence diagram. The purpose of the indexing is to store time ranges for pages with 10000 messages per page. This allows quickly to move to certain pages in a trace without having to re-parse from the beginning. The request is called indexing request.
-
-When switching pages, the a TMF foreground event request is initiated to retrieve the corresponding events from the experiment. It uses the time range stored in the index for the respective page.
-
-A third type of event request is issued for finding specific data across pages.
-
-==== TMF Signal Framework ====
-
-The reference loader extends the class ''TmfComponent''. By doing that the loader is registered as a TMF signal handler for sending and receiving TMF signals. The loader implements signal handlers for the following TMF signals:
-*''TmfTraceSelectedSignal''
-This signal indicates that a trace or experiment was selected. When receiving this signal the indexing request is initiated and the first page is displayed after receiving the relevant information.
-*''TmfTraceClosedSignal''
-This signal indicates that a trace or experiment was closed. When receiving this signal the loader resets its data and a blank page is loaded in the Sequence Diagram View.
-*''TmfTimeSynchSignal''
-This signal is used to indicate that a new time or time range has been selected. It contains a begin and end time. If a single time is selected then the begin and end time are the same. When receiving this signal the corresponding message matching the begin time is selected in the Sequence Diagram View. If necessary, the page is changed.
-*''TmfRangeSynchSignal''
-This signal indicates that a new time range is in focus. When receiving this signal the loader loads the page which corresponds to the start time of the time range signal. The message with the start time will be in focus.
-
-Besides acting on receiving signals, the reference loader is also sending signals. A ''TmfTimeSynchSignal'' is broadcasted with the timestamp of the message which was selected in the Sequence Diagram View. ''TmfRangeSynchSignal'' is sent when a page is changed in the Sequence Diagram View. The start timestamp of the time range sent is the timestamp of the first message. The end timestamp sent is the timestamp of the first message plus the current time range window. The current time range window is the time window that was indicated in the last received ''TmfRangeSynchSignal''.
-
-=== Supported Traces ===
-
-The reference implementation is able to analyze traces from a single component that traces the interaction with other components. For example, a server node could have trace information about its interaction with client nodes. The server node could be traced and then analyzed using TMF and the Sequence Diagram Framework of TMF could used to visualize the interactions with the client nodes.<br>
-
-Note that combined traces of multiple components, that contain the trace information about the same interactions are not supported in the reference implementation!
-
-=== Trace Format ===
-
-The reference implementation in class ''TmfUml2SDSyncLoader'' in package ''org.eclipse.linuxtools.tmf.ui.views.uml2sd.impl'' analyzes events from type ''ITmfEvent'' and creates events type ''ITmfSyncSequenceDiagramEvent'' if the ''ITmfEvent'' contains all relevant information information. The parsing algorithm looks like as follows:
-
-<pre>
- /**
- * @param tmfEvent Event to parse for sequence diagram event details
- * @return sequence diagram event if details are available else null
- */
- protected ITmfSyncSequenceDiagramEvent getSequenceDiagramEvent(ITmfEvent tmfEvent){
- //type = .*RECEIVE.* or .*SEND.*
- //content = sender:<sender name>:receiver:<receiver name>,signal:<signal name>
- String eventType = tmfEvent.getType().toString();
- if (eventType.contains(Messages.TmfUml2SDSyncLoader_EventTypeSend) || eventType.contains(Messages.TmfUml2SDSyncLoader_EventTypeReceive)) {
- Object sender = tmfEvent.getContent().getField(Messages.TmfUml2SDSyncLoader_FieldSender);
- Object receiver = tmfEvent.getContent().getField(Messages.TmfUml2SDSyncLoader_FieldReceiver);
- Object name = tmfEvent.getContent().getField(Messages.TmfUml2SDSyncLoader_FieldSignal);
- if ((sender instanceof ITmfEventField) && (receiver instanceof ITmfEventField) && (name instanceof ITmfEventField)) {
- ITmfSyncSequenceDiagramEvent sdEvent = new TmfSyncSequenceDiagramEvent(tmfEvent,
- ((ITmfEventField) sender).getValue().toString(),
- ((ITmfEventField) receiver).getValue().toString(),
- ((ITmfEventField) name).getValue().toString());
-
- return sdEvent;
- }
- }
- return null;
- }
-</pre>
-
-The analysis looks for event type Strings containing ''SEND'' and ''RECEIVE''. If event type matches these key words, the analyzer will look for strings ''sender'', ''receiver'' and ''signal'' in the event fields of type ''ITmfEventField''. If all the data is found a sequence diagram event can be created using this information. Note that Sync Messages are assumed, which means start and end time are the same.
-
-=== How to use the Reference Implementation ===
-
-An example CTF (Common Trace Format) trace is provided that contains trace events with sequence diagram information. To download the reference trace, use the following link: [https://wiki.eclipse.org/images/3/35/ReferenceTrace.zip Reference Trace].
-
-Run an Eclipse application with TMF 3.0 or later installed. To open the Reference Sequence Diagram View, select '''Windows -> Show View -> Other... -> TMF -> Sequence Diagram''' <br>
-[[Image:images/ShowTmfSDView.png]]<br>
-
-A blank Sequence Diagram View will open.
-
-Then import the reference trace to the '''Project Explorer''' using the '''Import Trace Package...''' menu option.<br>
-[[Image:images/ImportTracePackage.png]]
-
-Next, open the trace by double-clicking on the trace element in the '''Project Explorer'''. The trace will be opened and the Sequence Diagram view will be filled.
-[[Image:images/ReferenceSeqDiagram.png]]<br>
-
-Now the reference implementation can be explored. To demonstrate the view features try the following things:
-*Select a message in the Sequence diagram. As result the corresponding event will be selected in the Events View.
-*Select an event in the Events View. As result the corresponding message in the Sequence Diagram View will be selected. If necessary, the page will be changed.
-*In the Events View, press key ''End''. As result, the Sequence Diagram view will jump to the last page.
-*In the Events View, press key ''Home''. As result, the Sequence Diagram view will jump to the first page.
-*In the Sequence Diagram View select the find button. Enter the expression '''REGISTER.*''', select '''Search for Interaction''' and press '''Find'''. As result the corresponding message will be selected in the Sequence Diagram and the corresponding event in the Events View will be selected. Select again '''Find''' the next occurrence of will be selected. Since the second occurrence is on a different page than the first, the corresponding page will be loaded.
-* In the Sequence Diagram View, select menu item '''Hide Patterns...'''. Add the filter '''BALL.*''' for '''Interaction''' only and select '''OK'''. As result all messages with name ''BALL_REQUEST'' and ''BALL_REPLY'' will be hidden. To remove the filter, select menu item '''Hide Patterns...''', deselect the corresponding filter and press '''OK'''. All the messages will be shown again.<br>
-
-=== Extending the Reference Loader ===
-
-In some case it might be necessary to change the implementation of the analysis of each ''TmfEvent'' for the generation of ''Sequence Diagram Events''. For that just extend the class ''TmfUml2SDSyncLoader'' and overwrite the method ''protected ITmfSyncSequenceDiagramEvent getSequnceDiagramEvent(TmfEvent tmfEvent)'' with your own implementation.
-
-= CTF Parser =
-
-== CTF Format ==
-CTF is a format used to store traces. It is self defining, binary and made to be easy to write to.
-Before going further, the full specification of the CTF file format can be found at http://www.efficios.com/ .
-
-For the purpose of the reader some basic description will be given. A CTF trace typically is made of several files all in the same folder.
-
-These files can be split into two types :
-* Metadata
-* Event streams
-
-=== Metadata ===
-The metadata is either raw text or packetized text. It is tsdl encoded. it contains a description of the type of data in the event streams. It can grow over time if new events are added to a trace but it will never overwrite what is already there.
-
-=== Event Streams ===
-The event streams are a file per stream per cpu. These streams are binary and packet based. The streams store events and event information (ie lost events) The event data is stored in headers and field payloads.
-
-So if you have two streams (channels) "channel1" and "channel2" and 4 cores, you will have the following files in your trace directory: "channel1_0" , "channel1_1" , "channel1_2" , "channel1_3" , "channel2_0" , "channel2_1" , "channel2_2" & "channel2_3"
-
-== Reading a trace ==
-In order to read a CTF trace, two steps must be done.
-* The metadata must be read to know how to read the events.
-* the events must be read.
-
-The metadata is a written in a subset of the C language called TSDL. To read it, first it is depacketized (if it is not in plain text) then the raw text is parsed by an antlr grammer. The parsing is done in two phases. There is a lexer (CTFLexer.g) which separated the metatdata text into tokens. The tokens are then pattern matched using the parser (CTFParser.g) to form an AST. This AST is walked through using "IOStructGen.java" to populate streams and traces in trace parent object.
-
-When the metadata is loaded and read, the trace object will be populated with 3 items:
-* the event definitions available per stream: a definition is a description of the datatype.
-* the event declarations available per stream: this will save declaration creation on a per event basis. They will all be created in advance, just not populated.
-* the beginning of a packet index.
-
-Now all the trace readers for the event streams have everything they need to read a trace. They will each point to one file, and read the file from packet to packet. Everytime the trace reader changes packet, the index is updated with the new packet's information. The readers are in a priority queue and sorted by timestamp. This ensures that the events are read in a sequential order. They are also sorted by file name so that in the eventuality that two events occur at the same time, they stay in the same order.
-
-== Seeking in a trace ==
-The reason for maintaining an index is to speed up seeks. In the case that a user wishes to seek to a certain timestamp, they just have to find the index entry that contains the timestamp, and go there to iterate in that packet until the proper event is found. this will reduce the searches time by an order of 8000 for a 256k paket size (kernel default).
-
-== Interfacing to TMF ==
-The trace can be read easily now but the data is still awkward to extract.
-
-=== CtfLocation ===
-A location in a given trace, it is currently the timestamp of a trace and the index of the event. The index shows for a given timestamp if it is the first second or nth element.
-
-=== CtfTmfTrace ===
-The CtfTmfTrace is a wrapper for the standard CTF trace that allows it to perform the following actions:
-* '''initTrace()''' create a trace
-* '''validateTrace()''' is the trace a CTF trace?
-* '''getLocationRatio()''' how far in the trace is my location?
-* '''seekEvent()''' sets the cursor to a certain point in a trace.
-* '''readNextEvent()''' reads the next event and then advances the cursor
-* '''getTraceProperties()''' gets the 'env' structures of the metadata
-
-=== CtfIterator ===
-The CtfIterator is a wrapper to the CTF file reader. It behaves like an iterator on a trace. However, it contains a file pointer and thus cannot be duplicated too often or the system will run out of file handles. To alleviate the situation, a pool of iterators is created at the very beginning and stored in the CtfTmfTrace. They can be retried by calling the GetIterator() method.
-
-=== CtfIteratorManager ===
-Since each CtfIterator will have a file reader, the OS will run out of handles if too many iterators are spawned. The solution is to use the iterator manager. This will allow the user to get an iterator. If there is a context at the requested position, the manager will return that one, if not, a context will be selected at random and set to the correct location. Using random replacement minimizes contention as it will settle quickly at a new balance point.
-
-=== CtfTmfContext ===
-The CtfTmfContext implements the ITmfContext type. It is the CTF equivalent of TmfContext. It has a CtfLocation and points to an iterator in the CtfTmfTrace iterator pool as well as the parent trace. it is made to be cloned easily and not affect system resources much. Contexts behave much like C file pointers (FILE*) but they can be copied until one runs out of RAM.
-
-=== CtfTmfTimestamp ===
-The CtfTmfTimestamp take a CTF time (normally a long int) and outputs the time formats it as a TmfTimestamp, allowing it to be compared to other timestamps. The time is stored with the UTC offset already applied. It also features a simple toString() function that allows it to output the time in more Human readable ways: "yyyy/mm/dd/hh:mm:ss.nnnnnnnnn ns" for example. An additional feature is the getDelta() function that allows two timestamps to be substracted, showing the time difference between A and B.
-
-=== CtfTmfEvent ===
-The CtfTmfEvent is an ITmfEvent that is used to wrap event declarations and event definitions from the CTF side into easier to read and parse chunks of information. It is a final class with final fields made to be newed very often without incurring performance costs. Most of the information is already available. It should be noted that one type of event can appear called "lost event" these are synthetic events that do not exist in the trace. They will not appear in other trace readers such as babeltrace.
-
-=== Other ===
-There are other helper files that format given events for views, they are simpler and the architecture does not depend on them.
-
-=== Limitations ===
-For the moment live trace reading is not supported, there are no sources of traces to test on.
-
-= Event matching and trace synchronization =
-
-Event matching consists in taking an event from a trace and linking it to another event in a possibly different trace. The example that comes to mind is matching network packets sent from one traced machine to another traced machine. These matches can be used to synchronize traces.
-
-Trace synchronization consists in taking traces, taken on different machines, with a different time reference, and finding the formula to transform the timestamps of some of the traces, so that they all have the same time reference.
-
-== Event matching interfaces ==
-
-Here's a description of the major parts involved in event matching. These classes are all in the ''org.eclipse.linuxtools.tmf.core.event.matching'' package:
-
-* '''ITmfEventMatching''': Controls the event matching process
-* '''ITmfMatchEventDefinition''': Describes how events are matched
-* '''IMatchProcessingUnit''': Processes the matched events
-
-== Implementation details and how to extend it ==
-
-=== ITmfEventMatching interface and derived classes ===
-
-This interface and its default abstract implementation '''TmfEventMatching''' control the event matching itself. Their only public method is ''matchEvents''. The class needs to manage how to setup the traces, and any initialization or finalization procedures.
-
-The abstract class generates an event request for each trace from which events are matched and waits for the request to complete before calling the one from another trace. The ''handleData'' method from the request calls the ''matchEvent'' method that needs to be implemented in children classes.
-
-Class '''TmfNetworkEventMatching''' is a concrete implementation of this interface. It applies to all use cases where a ''in'' event can be matched with a ''out' event (''in'' and ''out'' can be the same event, with different data). It creates a '''TmfEventDependency''' between the source and destination events. The dependency is added to the processing unit.
-
-To match events requiring other mechanisms (for instance, a series of events can be matched with another series of events), one would need to implement another class either extending '''TmfEventMatching''' or implementing '''ITmfEventMatching'''. It would most probably also require a new '''ITmfMatchEventDefinition''' implementation.
-
-=== ITmfMatchEventDefinition interface and its derived classes ===
-
-These are the classes that describe how to actually match specific events together.
-
-The '''canMatchTrace''' method will tell if a definition is compatible with a given trace.
-
-The '''getUniqueField''' method will return a list of field values that uniquely identify this event and can be used to find a previous event to match with.
-
-Typically, there would be a match definition abstract class/interface per event matching type.
-
-The interface '''ITmfNetworkMatchDefinition''' adds the ''getDirection'' method to indicate whether this event is a ''in'' or ''out'' event to be matched with one from the opposite direction.
-
-As examples, two concrete network match definitions have been implemented in the ''org.eclipse.linuxtools.lttng2.kernel.core.event.matching'' package for two compatible methods of matching TCP packets (See the LTTng User Guide on ''trace synchronization'' for information on those matching methods). Each one tells which events need to be present in the metadata of a CTF trace for this matching method to be applicable. It also returns the field values from each event that will uniquely match 2 events together.
-
-=== IMatchProcessingUnit interface and derived classes ===
-
-While matching events is an exercice in itself, it's what to do with the match that really makes this functionality interesting. This is the job of the '''IMatchProcessingUnit''' interface.
-
-'''TmfEventMatches''' provides a default implementation that only stores the matches to count them. When a new match is obtained, the ''addMatch'' is called with the match and the processing unit can do whatever needs to be done with it.
-
-A match processing unit can be an analysis in itself. For example, trace synchronization is done through such a processing unit. One just needs to set the processing unit in the TmfEventMatching constructor.
-
-== Code examples ==
-
-=== Using network packets matching in an analysis ===
-
-This example shows how one can create a processing unit inline to create a link between two events. In this example, the code already uses an event request, so there is no need here to call the ''matchEvents'' method, that will only create another request.
-
-<pre>
-class MyAnalysis extends TmfAbstractAnalysisModule {
-
- private TmfNetworkEventMatching tcpMatching;
-
- ...
-
- protected void executeAnalysis() {
-
- IMatchProcessingUnit matchProcessing = new IMatchProcessingUnit() {
- @Override
- public void matchingEnded() {
- }
-
- @Override
- public void init(ITmfTrace[] fTraces) {
- }
-
- @Override
- public int countMatches() {
- return 0;
- }
-
- @Override
- public void addMatch(TmfEventDependency match) {
- log.debug("we got a tcp match! " + match.getSourceEvent().getContent() + " " + match.getDestinationEvent().getContent());
- TmfEvent source = match.getSourceEvent();
- TmfEvent destination = match.getDestinationEvent();
- /* Create a link between the two events */
- }
- };
-
- ITmfTrace[] traces = { getTrace() };
- tcpMatching = new TmfNetworkEventMatching(traces, matchProcessing);
- tcpMatching.initMatching();
-
- MyEventRequest request = new MyEventRequest(this, i);
- getTrace().sendRequest(request);
- }
-
- public void analyzeEvent(TmfEvent event) {
- ...
- tcpMatching.matchEvent(event, 0);
- ...
- }
-
- ...
-
-}
-
-class MyEventRequest extends TmfEventRequest {
-
- private final MyAnalysis analysis;
-
- MyEventRequest(MyAnalysis analysis, int traceno) {
- super(CtfTmfEvent.class,
- TmfTimeRange.ETERNITY,
- 0,
- TmfDataRequest.ALL_DATA,
- ITmfDataRequest.ExecutionType.FOREGROUND);
- this.analysis = analysis;
- }
-
- @Override
- public void handleData(final ITmfEvent event) {
- super.handleData(event);
- if (event != null) {
- analysis.analyzeEvent(event);
- }
- }
-}
-</pre>
-
-=== Match network events from UST traces ===
-
-Suppose a client-server application is instrumented using LTTng-UST. Traces are collected on the server and some clients on different machines. The traces can be synchronized using network event matching.
-
-The following metadata describes the events:
-
-<pre>
- event {
- name = "myapp:send";
- id = 0;
- stream_id = 0;
- loglevel = 13;
- fields := struct {
- integer { size = 32; align = 8; signed = 1; encoding = none; base = 10; } _sendto;
- integer { size = 64; align = 8; signed = 1; encoding = none; base = 10; } _messageid;
- integer { size = 64; align = 8; signed = 1; encoding = none; base = 10; } _data;
- };
- };
-
- event {
- name = "myapp:receive";
- id = 1;
- stream_id = 0;
- loglevel = 13;
- fields := struct {
- integer { size = 32; align = 8; signed = 1; encoding = none; base = 10; } _from;
- integer { size = 64; align = 8; signed = 1; encoding = none; base = 10; } _messageid;
- integer { size = 64; align = 8; signed = 1; encoding = none; base = 10; } _data;
- };
- };
-</pre>
-
-One would need to write an event match definition for those 2 events as follows:
-
-<pre>
-public class MyAppUstEventMatching implements ITmfNetworkMatchDefinition {
-
- @Override
- public Direction getDirection(ITmfEvent event) {
- String evname = event.getType().getName();
- if (evname.equals("myapp:receive")) {
- return Direction.IN;
- } else if (evname.equals("myapp:send")) {
- return Direction.OUT;
- }
- return null;
- }
-
- @Override
- public List<Object> getUniqueField(ITmfEvent event) {
- List<Object> keys = new ArrayList<Object>();
-
- if (evname.equals("myapp:receive")) {
- keys.add(event.getContent().getField("from").getValue());
- keys.add(event.getContent().getField("messageid").getValue());
- } else {
- keys.add(event.getContent().getField("sendto").getValue());
- keys.add(event.getContent().getField("messageid").getValue());
- }
-
- return keys;
- }
-
- @Override
- public boolean canMatchTrace(ITmfTrace trace) {
- if (!(trace instanceof CtfTmfTrace)) {
- return false;
- }
- CtfTmfTrace ktrace = (CtfTmfTrace) trace;
- String[] events = { "myapp:receive", "myapp:send" };
- return ktrace.hasAtLeastOneOfEvents(events);
- }
-
- @Override
- public MatchingType[] getApplicableMatchingTypes() {
- MatchingType[] types = { MatchingType.NETWORK };
- return types;
- }
-
-}
-</pre>
-
-Somewhere in code that will be executed at the start of the plugin (like in the Activator), the following code will have to be run:
-
-<pre>
-TmfEventMatching.registerMatchObject(new MyAppUstEventMatching());
-</pre>
-
-Now, only adding the traces in an experiment and clicking the '''Synchronize traces''' menu element would synchronize the traces using the new definition for event matching.
-
-== Trace synchronization ==
-
-Trace synchronization classes and interfaces are located in the ''org.eclipse.linuxtools.tmf.core.synchronization'' package.
-
-=== Synchronization algorithm ===
-
-Synchronization algorithms are used to synchronize traces from events matched between traces. After synchronization, traces taken on different machines with different time references see their timestamps modified such that they all use the same time reference (typically, the time of at least one of the traces). With traces from different machines, it is impossible to have perfect synchronization, so the result is a best approximation that takes network latency into account.
-
-The abstract class '''SynchronizationAlgorithm''' is a processing unit for matches. New synchronization algorithms must extend this one, it already contains the functions to get the timestamp transforms for different traces.
-
-The ''fully incremental convex hull'' synchronization algorithm is the default synchronization algorithm.
-
-While the synchronization system provisions for more synchronization algorithms, there is not yet a way to select one, the experiment's trace synchronization uses the default algorithm. To test a new synchronization algorithm, the synchronization should be called directly like this:
-
-<pre>
-SynchronizationAlgorithm syncAlgo = new MyNewSynchronizationAlgorithm();
-syncAlgo = SynchronizationManager.synchronizeTraces(syncFile, traces, syncAlgo, true);
-</pre>
-
-=== Timestamp transforms ===
-
-Timestamp transforms are the formulae used to transform the timestamps from a trace into the reference time. The '''ITmfTimestampTransform''' is the interface to implement to add a new transform.
-
-The following classes implement this interface:
-
-* '''TmfTimestampTransform''': default transform. It cannot be instantiated, it has a single static object TmfTimestampTransform.IDENTITY, which returns the original timestamp.
-* '''TmfTimestampTransformLinear''': transforms the timestamp using a linear formula: ''f(t) = at + b'', where ''a'' and ''b'' are computed by the synchronization algorithm.
-
-One could extend the interface for other timestamp transforms, for instance to have a transform where the formula would change over the course of the trace.
-
-== Todo ==
-
-Here's a list of features not yet implemented that would enhance trace synchronization and event matching:
-
-* Ability to select a synchronization algorithm
-* Implement a better way to select the reference trace instead of arbitrarily taking the first in alphabetical order (for instance, the minimum spanning tree algorithm by Masoume Jabbarifar (article on the subject not published yet))
-* Ability to join traces from the same host so that even if one of the traces is not synchronized with the reference trace, it will take the same timestamp transform as the one on the same machine.
-* Instead of having the timestamp transforms per trace, have the timestamp transform as part of an experiment context, so that the trace's specific analysis, like the state system, are in the original trace, but are transformed only when needed for an experiment analysis.
-* Add more views to display the synchronization information (only textual statistics are available for now)
-
-= Analysis Framework =
-
-Analysis modules are useful to tell the user exactly what can be done with a trace. The analysis framework provides an easy way to access and execute the modules and open the various outputs available.
-
-Analyses can have parameters they can use in their code. They also have outputs registered to them to display the results from their execution.
-
-== Creating a new module ==
-
-All analysis modules must implement the '''IAnalysisModule''' interface from the o.e.l.tmf.core project. An abstract class, '''TmfAbstractAnalysisModule''', provides a good base implementation. It is strongly suggested to use it as a superclass of any new analysis.
-
-=== Example ===
-
-This example shows how to add a simple analysis module for an LTTng kernel trace with two parameters.
-
-<pre>
-public class MyLttngKernelAnalysis extends TmfAbstractAnalysisModule {
-
- public static final String PARAM1 = "myparam";
- public static final String PARAM2 = "myotherparam";
-
- @Override
- public boolean canExecute(ITmfTrace trace) {
- /* This just makes sure the trace is an Lttng kernel trace, though
- usually that should have been done by specifying the trace type
- this analysis module applies to */
- if (!LttngKernelTrace.class.isAssignableFrom(trace.getClass())) {
- return false;
- }
-
- /* Does the trace contain the appropriate events? */
- String[] events = { "sched_switch", "sched_wakeup" };
- return ((LttngKernelTrace) trace).hasAllEvents(events);
- }
-
- @Override
- protected void canceling() {
- /* The job I am running in is being cancelled, let's clean up */
- }
-
- @Override
- protected boolean executeAnalysis(final IProgressMonitor monitor) {
- /*
- * I am running in an Eclipse job, and I already know I can execute
- * on a given trace.
- *
- * In the end, I will return true if I was successfully completed or
- * false if I was either interrupted or something wrong occurred.
- */
- Object param1 = getParameter(PARAM1);
- int param2 = (Integer) getParameter(PARAM2);
- }
-
- @Override
- public Object getParameter(String name) {
- Object value = super.getParameter(name);
- /* Make sure the value of param2 is of the right type. For sake of
- simplicity, the full parameter format validation is not presented
- here */
- if ((value != null) && name.equals(PARAM2) && (value instanceof String)) {
- return Integer.parseInt((String) value);
- }
- return value;
- }
-
-}
-</pre>
-
-=== Available base analysis classes and interfaces ===
-
-The following are available as base classes for analysis modules. They also extend the abstract '''TmfAbstractAnalysisModule'''
-
-* '''TmfStateSystemAnalysisModule''': A base analysis module that builds one state system. A module extending this class only needs to provide a state provider and the type of state system backend to use. All state systems should now use this base class as it also contains all the methods to actually create the state sytem with a given backend.
-
-The following interfaces can optionally be implemented by analysis modules if they use their functionalities. For instance, some utility views, like the State System Explorer, may have access to the module's data through these interfaces.
-
-* '''ITmfAnalysisModuleWithStateSystems''': Modules implementing this have one or more state systems included in them. For example, a module may "hide" 2 state system modules for its internal workings. By implementing this interface, it tells that it has state systems and can return them if required.
-
-=== How it works ===
-
-Analyses are managed through the '''TmfAnalysisManager'''. The analysis manager is a singleton in the application and keeps track of all available analysis modules, with the help of '''IAnalysisModuleHelper'''. It can be queried to get the available analysis modules, either all of them or only those for a given tracetype. The helpers contain the non-trace specific information on an analysis module: its id, its name, the tracetypes it applies to, etc.
-
-When a trace is opened, the helpers for the applicable analysis create new instances of the analysis modules. The analysis are then kept in a field of the trace and can be executed automatically or on demand.
-
-The analysis is executed by calling the '''IAnalysisModule#schedule()''' method. This method makes sure the analysis is executed only once and, if it is already running, it won't start again. The analysis itself is run inside an Eclipse job that can be cancelled by the user or the application. The developer must consider the progress monitor that comes as a parameter of the '''executeAnalysis()''' method, to handle the proper cancellation of the processing. The '''IAnalysisModule#waitForCompletion()''' method will block the calling thread until the analysis is completed. The method will return whether the analysis was successfully completed or if it was cancelled.
-
-A running analysis can be cancelled by calling the '''IAnalysisModule#cancel()''' method. This will set the analysis as done, so it cannot start again unless it is explicitly reset. This is done by calling the protected method '''resetAnalysis'''.
-
-== Telling TMF about the analysis module ==
-
-Now that the analysis module class exists, it is time to hook it to the rest of TMF so that it appears under the traces in the project explorer. The way to do so is to add an extension of type ''org.eclipse.linuxtools.tmf.core.analysis'' to a plugin, either through the ''Extensions'' tab of the Plug-in Manifest Editor or by editing directly the plugin.xml file.
-
-The following code shows what the resulting plugin.xml file should look like.
-
-<pre>
-<extension
- point="org.eclipse.linuxtools.tmf.core.analysis">
- <module
- id="my.lttng.kernel.analysis.id"
- name="My LTTng Kernel Analysis"
- analysis_module="my.plugin.package.MyLttngKernelAnalysis"
- automatic="true">
- <parameter
- name="myparam">
- </parameter>
- <parameter
- default_value="3"
- name="myotherparam">
- <tracetype
- class="org.eclipse.linuxtools.lttng2.kernel.core.trace.LttngKernelTrace">
- </tracetype>
- </module>
-</extension>
-</pre>
-
-This defines an analysis module where the ''analysis_module'' attribute corresponds to the module class and must implement IAnalysisModule. This module has 2 parameters: ''myparam'' and ''myotherparam'' which has default value of 3. The ''tracetype'' element tells which tracetypes this analysis applies to. There can be many tracetypes. Also, the ''automatic'' attribute of the module indicates whether this analysis should be run when the trace is opened, or wait for the user's explicit request.
-
-Note that with these extension points, it is possible to use the same module class for more than one analysis (with different ids and names). That is a desirable behavior. For instance, a third party plugin may add a new tracetype different from the one the module is meant for, but on which the analysis can run. Also, different analyses could provide different results with the same module class but with different default values of parameters.
-
-== Attaching outputs and views to the analysis module ==
-
-Analyses will typically produce outputs the user can examine. Outputs can be a text dump, a .dot file, an XML file, a view, etc. All output types must implement the '''IAnalysisOutput''' interface.
-
-An output can be registered to an analysis module at any moment by calling the '''IAnalysisModule#registerOutput()''' method. Analyses themselves may know what outputs are available and may register them in the analysis constructor or after analysis completion.
-
-The various concrete output types are:
-
-* '''TmfAnalysisViewOutput''': It takes a view ID as parameter and, when selected, opens the view.
-
-=== Using the extension point to add outputs ===
-
-Analysis outputs can also be hooked to an analysis using the same extension point ''org.eclipse.linuxtools.tmf.core.analysis'' in the plugin.xml file. Outputs can be matched either to a specific analysis identified by an ID, or to all analysis modules extending or implementing a given class or interface.
-
-The following code shows how to add a view output to the analysis defined above directly in the plugin.xml file. This extension does not have to be in the same plugin as the extension defining the analysis. Typically, an analysis module can be defined in a core plugin, along with some outputs that do not require UI elements. Other outputs, like views, who need UI elements, will be defined in a ui plugin.
-
-<pre>
-<extension
- point="org.eclipse.linuxtools.tmf.core.analysis">
- <output
- class="org.eclipse.linuxtools.tmf.ui.analysis.TmfAnalysisViewOutput"
- id="my.plugin.package.ui.views.myView">
- <analysisId
- id="my.lttng.kernel.analysis.id">
- </analysisId>
- </output>
- <output
- class="org.eclipse.linuxtools.tmf.ui.analysis.TmfAnalysisViewOutput"
- id="my.plugin.package.ui.views.myMoreGenericView">
- <analysisModuleClass
- class="my.plugin.package.core.MyAnalysisModuleClass">
- </analysisModuleClass>
- </output>
-</extension>
-</pre>
-
-== Providing help for the module ==
-
-For now, the only way to provide a meaningful help message to the user is by overriding the '''IAnalysisModule#getHelpText()''' method and return a string that will be displayed in a message box.
-
-What still needs to be implemented is for a way to add a full user/developer documentation with mediawiki text file for each module and automatically add it to Eclipse Help. Clicking on the Help menu item of an analysis module would open the corresponding page in the help.
-
-== Using analysis parameter providers ==
-
-An analysis may have parameters that can be used during its execution. Default values can be set when describing the analysis module in the plugin.xml file, or they can use the '''IAnalysisParameterProvider''' interface to provide values for parameters. '''TmfAbstractAnalysisParamProvider''' provides an abstract implementation of this interface, that automatically notifies the module of a parameter change.
-
-=== Example parameter provider ===
-
-The following example shows how to have a parameter provider listen to a selection in the LTTng kernel Control Flow view and send the thread id to the analysis.
-
-<pre>
-public class MyLttngKernelParameterProvider extends TmfAbstractAnalysisParamProvider {
-
- private ControlFlowEntry fCurrentEntry = null;
-
- private static final String NAME = "My Lttng kernel parameter provider"; //$NON-NLS-1$
-
- private ISelectionListener selListener = new ISelectionListener() {
- @Override
- public void selectionChanged(IWorkbenchPart part, ISelection selection) {
- if (selection instanceof IStructuredSelection) {
- Object element = ((IStructuredSelection) selection).getFirstElement();
- if (element instanceof ControlFlowEntry) {
- ControlFlowEntry entry = (ControlFlowEntry) element;
- setCurrentThreadEntry(entry);
- }
- }
- }
- };
-
- /*
- * Constructor
- */
- public CriticalPathParameterProvider() {
- super();
- registerListener();
- }
-
- @Override
- public String getName() {
- return NAME;
- }
-
- @Override
- public Object getParameter(String name) {
- if (fCurrentEntry == null) {
- return null;
- }
- if (name.equals(MyLttngKernelAnalysis.PARAM1)) {
- return fCurrentEntry.getThreadId()
- }
- return null;
- }
-
- @Override
- public boolean appliesToTrace(ITmfTrace trace) {
- return (trace instanceof LttngKernelTrace);
- }
-
- private void setCurrentThreadEntry(ControlFlowEntry entry) {
- if (!entry.equals(fCurrentEntry)) {
- fCurrentEntry = entry;
- this.notifyParameterChanged(MyLttngKernelAnalysis.PARAM1);
- }
- }
-
- private void registerListener() {
- final IWorkbench wb = PlatformUI.getWorkbench();
-
- final IWorkbenchPage activePage = wb.getActiveWorkbenchWindow().getActivePage();
-
- /* Add the listener to the control flow view */
- view = activePage.findView(ControlFlowView.ID);
- if (view != null) {
- view.getSite().getWorkbenchWindow().getSelectionService().addPostSelectionListener(selListener);
- view.getSite().getWorkbenchWindow().getPartService().addPartListener(partListener);
- }
- }
-
-}
-</pre>
-
-=== Register the parameter provider to the analysis ===
-
-To have the parameter provider class register to analysis modules, it must first register through the analysis manager. It can be done in a plugin's activator as follows:
-
-<pre>
-@Override
-public void start(BundleContext context) throws Exception {
- /* ... */
- TmfAnalysisManager.registerParameterProvider("my.lttng.kernel.analysis.id", MyLttngKernelParameterProvider.class)
-}
-</pre>
-
-where '''MyLttngKernelParameterProvider''' will be registered to analysis ''"my.lttng.kernel.analysis.id"''. When the analysis module is created, the new module will register automatically to the singleton parameter provider instance. Only one module is registered to a parameter provider at a given time, the one corresponding to the currently selected trace.
-
-== Providing requirements to analyses ==
-
-=== Analysis requirement provider API ===
-
-A requirement defines the needs of an analysis. For example, an analysis could need an event named ''"sched_switch"'' in order to be properly executed. The requirements are represented by the class '''TmfAnalysisRequirement'''. Since '''IAnalysisModule''' extends the '''IAnalysisRequirementProvider''' interface, all analysis modules must provide their requirements. If the analysis module extends '''TmfAbstractAnalysisModule''', it has the choice between overriding the requirements getter ('''IAnalysisRequirementProvider#getAnalysisRequirements()''') or not, since the abstract class returns an empty collection by default (no requirements).
-
-=== Requirement values ===
-
-When instantiating a requirement, the developer needs to specify a type to which all the values added to the requirement will be linked. In the earlier example, there would be an ''"event"'' or ''"eventName"'' type. The type is represented by a string, like all values added to the requirement object. With an 'event' type requirement, a trace generator like the LTTng Control could automatically enable the required events. This is possible by calling the '''TmfAnalysisRequirementHelper''' class. Another point we have to take into consideration is the priority level of each value added to the requirement object. The enum '''TmfAnalysisRequirement#ValuePriorityLevel''' gives the choice between '''ValuePriorityLevel#MANDATORY''' and '''ValuePriorityLevel#OPTIONAL'''. That way, we can tell if an analysis can run without a value or not. To add values, one must call '''TmfAnalysisRequirement#addValue()'''.
-
-Moreover, information can be added to requirements. That way, the developer can explicitly give help details at the requirement level instead of at the analysis level (which would just be a general help text). To add information to a requirement, the method '''TmfAnalysisRequirement#addInformation()''' must be called. Adding information is not mandatory.
-
-=== Example of providing requirements ===
-
-In this example, we will implement a method that initializes a requirement object and return it in the '''IAnalysisRequirementProvider#getAnalysisRequirements()''' getter. The example method will return a set with two requirements. The first one will indicate the events needed by a specific analysis and the last one will tell on what domain type the analysis applies. In the event type requirement, we will indicate that the analysis needs a mandatory event and an optional one.
-
-<pre>
-@Override
-public Iterable<TmfAnalysisRequirement> getAnalysisRequirements() {
- Set<TmfAnalysisRequirement> requirements = new HashSet<>();
-
- /* Create requirements of type 'event' and 'domain' */
- TmfAnalysisRequirement eventRequirement = new TmfAnalysisRequirement("event");
- TmfAnalysisRequirement domainRequirement = new TmfAnalysisRequirement("domain");
-
- /* Add the values */
- domainRequirement.addValue("kernel", TmfAnalysisRequirement.ValuePriorityLevel.MANDATORY);
- eventRequirement.addValue("sched_switch", TmfAnalysisRequirement.ValuePriorityLevel.MANDATORY);
- eventRequirement.addValue("sched_wakeup", TmfAnalysisRequirement.ValuePriorityLevel.OPTIONAL);
-
- /* An information about the events */
- eventRequirement.addInformation("The event sched_wakeup is optional because it's not properly handled by this analysis yet.");
-
- /* Add them to the set */
- requirements.add(domainRequirement);
- requirements.add(eventRequirement);
-
- return requirements;
-}
-</pre>
-
-
-== TODO ==
-
-Here's a list of features not yet implemented that would improve the analysis module user experience:
-
-* Implement help using the Eclipse Help facility (without forgetting an eventual command line request)
-* The abstract class '''TmfAbstractAnalysisModule''' executes an analysis as a job, but nothing compels a developer to do so for an analysis implementing the '''IAnalysisModule''' interface. We should force the execution of the analysis as a job, either from the trace itself or using the TmfAnalysisManager or by some other mean.
-* Views and outputs are often registered by the analysis themselves (forcing them often to be in the .ui packages because of the views), because there is no other easy way to do so. We should extend the analysis extension point so that .ui plugins or other third-party plugins can add outputs to a given analysis that resides in the core.
-* Improve the user experience with the analysis:
-** Allow the user to select which analyses should be available, per trace or per project.
-** Allow the user to view all available analyses even though he has no imported traces.
-** Allow the user to generate traces for a given analysis, or generate a template to generate the trace that can be sent as parameter to the tracer.
-** Give the user a visual status of the analysis: not executed, in progress, completed, error.
-** Give a small screenshot of the output as icon for it.
-** Allow to specify parameter values from the GUI.
-* Add the possibility for an analysis requirement to be composed of another requirement.
-* Generate a trace session from analysis requirements.
-
-
-= Performance Tests =
-
-Performance testing allows to calculate some metrics (CPU time, Memory Usage, etc) that some part of the code takes during its execution. These metrics can then be used as is for information on the system's execution, or they can be compared either with other execution scenarios, or previous runs of the same scenario, for instance, after some optimization has been done on the code.
-
-For automatic performance metric computation, we use the ''org.eclipse.test.performance'' plugin, provided by the Eclipse Test Feature.
-
-== Add performance tests ==
-
-=== Where ===
-
-Performance tests are unit tests and they are added to the corresponding unit tests plugin. To separate performance tests from unit tests, a separate source folder, typically named ''perf'', is added to the plug-in.
-
-Tests are to be added to a package under the ''perf'' directory, the package name would typically match the name of the package it is testing. For each package, a class named '''AllPerfTests''' would list all the performance tests classes inside this package. And like for unit tests, a class named '''AllPerfTests''' for the plug-in would list all the packages' '''AllPerfTests''' classes.
-
-When adding performance tests for the first time in a plug-in, the plug-in's '''AllPerfTests''' class should be added to the global list of performance tests, found in package ''org.eclipse.linuxtools.lttng.alltests'', in class '''RunAllPerfTests'''. This will ensure that performance tests for the plug-in are run along with the other performance tests
-
-=== How ===
-
-TMF is using the org.eclipse.test.performance framework for performance tests. Using this, performance metrics are automatically taken and, if many runs of the tests are run, average and standard deviation are automatically computed. Results can optionally be stored to a database for later use.
-
-Here is an example of how to use the test framework in a performance test:
-
-<pre>
-public class AnalysisBenchmark {
-
- private static final String TEST_ID = "org.eclipse.linuxtools#LTTng kernel analysis";
- private static final CtfTmfTestTrace testTrace = CtfTmfTestTrace.TRACE2;
- private static final int LOOP_COUNT = 10;
-
- /**
- * Performance test
- */
- @Test
- public void testTrace() {
- assumeTrue(testTrace.exists());
-
- /** Create a new performance meter for this scenario */
- Performance perf = Performance.getDefault();
- PerformanceMeter pm = perf.createPerformanceMeter(TEST_ID);
-
- /** Optionally, tag this test for summary or global summary on a given dimension */
- perf.tagAsSummary(pm, "LTTng Kernel Analysis", Dimension.CPU_TIME);
- perf.tagAsGlobalSummary(pm, "LTTng Kernel Analysis", Dimension.CPU_TIME);
-
- /** The test will be run LOOP_COUNT times */
- for (int i = 0; i < LOOP_COUNT; i++) {
-
- /** Start each run of the test with new objects to avoid different code paths */
- try (IAnalysisModule module = new LttngKernelAnalysisModule();
- LttngKernelTrace trace = new LttngKernelTrace()) {
- module.setId("test");
- trace.initTrace(null, testTrace.getPath(), CtfTmfEvent.class);
- module.setTrace(trace);
-
- /** The analysis execution is being tested, so performance metrics
- * are taken before and after the execution */
- pm.start();
- TmfTestHelper.executeAnalysis(module);
- pm.stop();
-
- /*
- * Delete the supplementary files, so next iteration rebuilds
- * the state system.
- */
- File suppDir = new File(TmfTraceManager.getSupplementaryFileDir(trace));
- for (File file : suppDir.listFiles()) {
- file.delete();
- }
-
- } catch (TmfAnalysisException | TmfTraceException e) {
- fail(e.getMessage());
- }
- }
-
- /** Once the test has been run many times, committing the results will
- * calculate average, standard deviation, and, if configured, save the
- * data to a database */
- pm.commit();
- }
-}
-
-</pre>
-
-For more information, see [http://wiki.eclipse.org/Performance/Automated_Tests The Eclipse Performance Test How-to]
-
-Some rules to help write performance tests are explained in section [[#ABC of performance testing | ABC of performance testing]].
-
-=== Run a performance test ===
-
-Performance tests are unit tests, so, just like unit tests, they can be run by right-clicking on a performance test class and selecting ''Run As'' -> ''Junit Plug-in Test''.
-
-By default, if no database has been configured, results will be displayed in the Console at the end of the test.
-
-Here is the sample output from the test described in the previous section. It shows all the metrics that have been calculated during the test.
-
-<pre>
-Scenario 'org.eclipse.linuxtools#LTTng kernel analysis' (average over 10 samples):
- System Time: 3.04s (95% in [2.77s, 3.3s]) Measurable effect: 464ms (1.3 SDs) (required sample size for an effect of 5% of mean: 94)
- Used Java Heap: -1.43M (95% in [-33.67M, 30.81M]) Measurable effect: 57.01M (1.3 SDs) (required sample size for an effect of 5% of stdev: 6401)
- Working Set: 14.43M (95% in [-966.01K, 29.81M]) Measurable effect: 27.19M (1.3 SDs) (required sample size for an effect of 5% of stdev: 6400)
- Elapsed Process: 3.04s (95% in [2.77s, 3.3s]) Measurable effect: 464ms (1.3 SDs) (required sample size for an effect of 5% of mean: 94)
- Kernel time: 621ms (95% in [586ms, 655ms]) Measurable effect: 60ms (1.3 SDs) (required sample size for an effect of 5% of mean: 39)
- CPU Time: 6.06s (95% in [5.02s, 7.09s]) Measurable effect: 1.83s (1.3 SDs) (required sample size for an effect of 5% of mean: 365)
- Hard Page Faults: 0 (95% in [0, 0]) Measurable effect: 0 (1.3 SDs) (required sample size for an effect of 5% of stdev: 6400)
- Soft Page Faults: 9.27K (95% in [3.28K, 15.27K]) Measurable effect: 10.6K (1.3 SDs) (required sample size for an effect of 5% of mean: 5224)
- Text Size: 0 (95% in [0, 0])
- Data Size: 0 (95% in [0, 0])
- Library Size: 32.5M (95% in [-12.69M, 77.69M]) Measurable effect: 79.91M (1.3 SDs) (required sample size for an effect of 5% of stdev: 6401)
-</pre>
-
-Results from performance tests can be saved automatically to a derby database. Derby can be run either in embedded mode, locally on a machine, or on a server. More information on setting up derby for performance tests can be found here: [http://wiki.eclipse.org/Performance/Automated_Tests The Eclipse Performance Test How-to]. The following documentation will show how to configure an Eclipse run configuration to store results on a derby database located on a server.
-
-Note that to store results in a derby database, the ''org.apache.derby'' plug-in must be available within your Eclipse. Since it is an optional dependency, it is not included in the target definition. It can be installed via the '''Orbit''' repository, in ''Help'' -> ''Install new software...''. If the '''Orbit''' repository is not listed, click on the latest one from [http://download.eclipse.org/tools/orbit/downloads/] and copy the link under ''Orbit Build Repository''.
-
-To store the data to a database, it needs to be configured in the run configuration. In ''Run'' -> ''Run configurations..'', under ''Junit Plug-in Test'', find the run configuration that corresponds to the test you wish to run, or create one if it is not present yet.
-
-In the ''Arguments'' tab, in the box under ''VM Arguments'', add on separate lines the following information
-
-<pre>
--Declipse.perf.dbloc=//javaderby.dorsal.polymtl.ca
--Declipse.perf.config=build=mybuild;host=myhost;config=linux;jvm=1.7
-</pre>
-
-The ''eclipse.perf.dbloc'' parameter is the url (or filename) of the derby database. The database is by default named ''perfDB'', with username and password ''guest''/''guest''. If the database does not exist, it will be created, initialized and populated.
-
-The ''eclipse.perf.config'' parameter identifies a '''variation''': It typically identifies the build on which is it run (commitId and/or build date, etc), the machine (host) on which it is run, the configuration of the system (for example Linux or Windows), the jvm etc. That parameter is a list of ';' separated key-value pairs. To be backward-compatible with the Eclipse Performance Tests Framework, the 4 keys mentioned above are mandatory, but any key-value pairs can be used.
-
-== ABC of performance testing ==
-
-Here follow some rules to help design good and meaningful performance tests.
-
-=== Determine what to test ===
-
-For tests to be significant, it is important to choose what exactly is to be tested and make sure it is reproducible every run. To limit the amount of noise caused by the TMF framework, the performance test code should be tweaked so that only the method under test is run. For instance, a trace should not be "opened" (by calling the ''traceOpened()'' method) to test an analysis, since the ''traceOpened'' method will also trigger the indexing and the execution of all applicable automatic analysis.
-
-For each code path to test, multiple scenarios can be defined. For instance, an analysis could be run on different traces, with different sizes. The results will show how the system scales and/or varies depending on the objects it is executed on.
-
-The number of '''samples''' used to compute the results is also important. The code to test will typically be inside a '''for''' loop that runs exactly the same code each time for a given number of times. All objects used for the test must start in the same state at each iteration of the loop. For instance, any trace used during an execution should be disposed of at the end of the loop, and any supplementary file that may have been generated in the run should be deleted.
-
-Before submitting a performance test to the code review, you should run it a few times (with results in the Console) and see if the standard deviation is not too large and if the results are reproducible.
-
-=== Metrics descriptions and considerations ===
-
-CPU time: CPU time represent the total time spent on CPU by the current process, for the time of the test execution. It is the sum of the time spent by all threads. On one hand, it is more significant than the elapsed time, since it should be the same no matter how many CPU cores the computer has. But since it calculates the time of every thread, one has to make sure that only threads related to what is being tested are executed during that time, or else the results will include the times of those other threads. For an application like TMF, it is hard to control all the threads, and empirically, it is found to vary a lot more than the system time from one run to the other.
-
-System time (Elapsed time): The time between the start and the end of the execution. It will vary depending on the parallelisation of the threads and the load of the machine.
-
-Kernel time: Time spent in kernel mode
-
-Used Java Heap: It is the difference between the memory used at the beginning of the execution and at the end. This metric may be useful to calculate the overall size occupied by the data generated by the test run, by forcing a garbage collection before taking the metrics at the beginning and at the end of the execution. But it will not show the memory used throughout the execution. There can be a large standard deviation. The reason for this is that when benchmarking methods that trigger tasks in different threads, like signals and/or analysis, these other threads might be in various states at each run of the test, which will impact the memory usage calculated. When using this metric, either make sure the method to test does not trigger external threads or make sure you wait for them to finish.
-
-= Network Tracing =
-
-== Adding a protocol ==
-
-Supporting a new network protocol in TMF is straightforward. Minimal effort is required to support new protocols. In this tutorial, the UDP protocol will be added to the list of supported protocols.
-
-=== Architecture ===
-
-All the TMF pcap-related code is divided in three projects (not considering the tests plugins):
-* '''org.eclipse.linuxtools.pcap.core''', which contains the parser that will read pcap files and constructs the different packets from a ByteBuffer. It also contains means to build packet streams, which are conversation (list of packets) between two endpoints. To add a protocol, almost all of the work will be in that project.
-* '''org.eclipse.linuxtools.tmf.pcap.core''', which contains TMF-specific concepts and act as a wrapper between TMF and the pcap parsing library. It only depends on org.eclipse.linuxtools.tmf.core and org.eclipse.pcap.core. To add a protocol, one file must be edited in this project.
-* '''org.eclipse.linuxtools.tmf.pcap.ui''', which contains all TMF pcap UI-specific concepts, such as the views and perspectives. No work is needed in that project.
-
-=== UDP Packet Structure ===
-
-The UDP is a transport-layer protocol that does not guarantee message delivery nor in-order message reception. A UDP packet (datagram) has the following [http://en.wikipedia.org/wiki/User_Datagram_Protocol#Packet_structure structure]:
-
-{| class="wikitable" style="margin: 0 auto; text-align: center;"
-|-
-! style="border-bottom:none; border-right:none;"| ''Offsets''
-! style="border-left:none;"| Octet
-! colspan="8" | 0
-! colspan="8" | 1
-! colspan="8" | 2
-! colspan="8" | 3
-|-
-! style="border-top: none" | Octet
-! <tt>Bit</tt>!!<tt>&nbsp;0</tt>!!<tt>&nbsp;1</tt>!!<tt>&nbsp;2</tt>!!<tt>&nbsp;3</tt>!!<tt>&nbsp;4</tt>!!<tt>&nbsp;5</tt>!!<tt>&nbsp;6</tt>!!<tt>&nbsp;7</tt>!!<tt>&nbsp;8</tt>!!<tt>&nbsp;9</tt>!!<tt>10</tt>!!<tt>11</tt>!!<tt>12</tt>!!<tt>13</tt>!!<tt>14</tt>!!<tt>15</tt>!!<tt>16</tt>!!<tt>17</tt>!!<tt>18</tt>!!<tt>19</tt>!!<tt>20</tt>!!<tt>21</tt>!!<tt>22</tt>!!<tt>23</tt>!!<tt>24</tt>!!<tt>25</tt>!!<tt>26</tt>!!<tt>27</tt>!!<tt>28</tt>!!<tt>29</tt>!!<tt>30</tt>!!<tt>31</tt>
-|-
-! 0
-!<tt> 0</tt>
-| colspan="16" style="background:#fdd;"| Source port || colspan="16"| Destination port
-|-
-! 4
-!<tt>32</tt>
-| colspan="16"| Length || colspan="16" style="background:#fdd;"| Checksum
-|}
-
-Knowing that, we can define an UDPPacket class that contains those fields.
-
-=== Creating the UDPPacket ===
-
-First, in org.eclipse.linuxtools.pcap.core, create a new package named '''org.eclipse.linuxtools.pcap.core.protocol.name''' with name being the name of the new protocol. In our case name is udp so we create the package '''org.eclipse.linuxtools.pcap.core.protocol.udp'''. All our work is going in this package.
-
-In this package, we create a new class named UDPPacket that extends Packet. All new protocol must define a packet type that extends the abstract class Packet. We also add different fields:
-* ''Packet'' '''fChildPacket''', which is the packet encapsulated by this UDP packet, if it exists. This field will be initialized by findChildPacket().
-* ''ByteBuffer'' '''fPayload''', which is the payload of this packet. Basically, it is the UDP packet without its header.
-* ''int'' '''fSourcePort''', which is an unsigned 16-bits field, that contains the source port of the packet (see packet structure).
-* ''int'' '''fDestinationPort''', which is an unsigned 16-bits field, that contains the destination port of the packet (see packet structure).
-* ''int'' '''fTotalLength''', which is an unsigned 16-bits field, that contains the total length (header + payload) of the packet.
-* ''int'' '''fChecksum''', which is an unsigned 16-bits field, that contains a checksum to verify the integrity of the data.
-* ''UDPEndpoint'' '''fSourceEndpoint''', which contains the source endpoint of the UDPPacket. The UDPEndpoint class will be created later in this tutorial.
-* ''UDPEndpoint'' '''fDestinationEndpoint''', which contains the destination endpoint of the UDPPacket.
-* ''ImmutableMap<String, String>'' '''fFields''', which is a map that contains all the packet fields (see in data structure) which assign a field name with its value. Those values will be displayed on the UI.
-
-We also create the UDPPacket(PcapFile file, @Nullable Packet parent, ByteBuffer packet) constructor. The parameters are:
-* ''PcapFile'' '''file''', which is the pcap file to which this packet belongs.
-* ''Packet'' '''parent''', which is the packet encasulating this UDPPacket
-* ''ByteBuffer'' '''packet''', which is a ByteBuffer that contains all the data necessary to initialize the fields of this UDPPacket. We will retrieve bytes from it during object construction.
-
-The following class is obtained:
-
-<pre>
-package org.eclipse.linuxtools.pcap.core.protocol.udp;
-
-import java.nio.ByteBuffer;
-import java.util.Map;
-
-import org.eclipse.linuxtools.internal.pcap.core.endpoint.ProtocolEndpoint;
-import org.eclipse.linuxtools.internal.pcap.core.packet.BadPacketException;
-import org.eclipse.linuxtools.internal.pcap.core.packet.Packet;
-
-public class UDPPacket extends Packet {
-
- private final @Nullable Packet fChildPacket;
- private final @Nullable ByteBuffer fPayload;
-
- private final int fSourcePort;
- private final int fDestinationPort;
- private final int fTotalLength;
- private final int fChecksum;
-
- private @Nullable UDPEndpoint fSourceEndpoint;
- private @Nullable UDPEndpoint fDestinationEndpoint;
-
- private @Nullable ImmutableMap<String, String> fFields;
-
- /**
- * Constructor of the UDP Packet class.
- *
- * @param file
- * The file that contains this packet.
- * @param parent
- * The parent packet of this packet (the encapsulating packet).
- * @param packet
- * The entire packet (header and payload).
- * @throws BadPacketException
- * Thrown when the packet is erroneous.
- */
- public UDPPacket(PcapFile file, @Nullable Packet parent, ByteBuffer packet) throws BadPacketException {
- super(file, parent, Protocol.UDP);
- // TODO Auto-generated constructor stub
- }
-
-
- @Override
- public Packet getChildPacket() {
- // TODO Auto-generated method stub
- return null;
- }
-
- @Override
- public ByteBuffer getPayload() {
- // TODO Auto-generated method stub
- return null;
- }
-
- @Override
- public boolean validate() {
- // TODO Auto-generated method stub
- return false;
- }
-
- @Override
- protected Packet findChildPacket() throws BadPacketException {
- // TODO Auto-generated method stub
- return null;
- }
-
- @Override
- public ProtocolEndpoint getSourceEndpoint() {
- // TODO Auto-generated method stub
- return null;
- }
-
- @Override
- public ProtocolEndpoint getDestinationEndpoint() {
- // TODO Auto-generated method stub
- return null;
- }
-
- @Override
- public Map<String, String> getFields() {
- // TODO Auto-generated method stub
- return null;
- }
-
- @Override
- public String getLocalSummaryString() {
- // TODO Auto-generated method stub
- return null;
- }
-
- @Override
- protected String getSignificationString() {
- // TODO Auto-generated method stub
- return null;
- }
-
- @Override
- public boolean equals(Object obj) {
- // TODO Auto-generated method stub
- return false;
- }
-
- @Override
- public int hashCode() {
- // TODO Auto-generated method stub
- return 0;
- }
-
-}
-</pre>
-
-Now, we implement the constructor. It is done in four steps:
-* We initialize fSourceEndpoint, fDestinationEndpoint and fFields to null, since those are lazy-loaded. This allows faster construction of the packet and thus faster parsing.
-* We initialize fSourcePort, fDestinationPort, fTotalLength, fChecksum using ByteBuffer packet. Thanks to the packet data structure, we can simply retrieve packet.getShort() to get the value. Since there is no unsigned in Java, special care is taken to avoid negative number. We use the utility method ConversionHelper.unsignedShortToInt() to convert it to an integer, and initialize the fields.
-* Now that the header is parsed, we take the rest of the ByteBuffer packet to initialize the payload, if there is one. To do this, we simply generate a new ByteBuffer starting from the current position.
-* We initialize the field fChildPacket using the method findChildPacket()
-
-The following constructor is obtained:
-<pre>
- public UDPPacket(PcapFile file, @Nullable Packet parent, ByteBuffer packet) throws BadPacketException {
- super(file, parent, Protocol.UDP);
-
- // The endpoints and fFields are lazy loaded. They are defined in the get*Endpoint()
- // methods.
- fSourceEndpoint = null;
- fDestinationEndpoint = null;
- fFields = null;
-
- // Initialize the fields from the ByteBuffer
- packet.order(ByteOrder.BIG_ENDIAN);
- packet.position(0);
-
- fSourcePort = ConversionHelper.unsignedShortToInt(packet.getShort());
- fDestinationPort = ConversionHelper.unsignedShortToInt(packet.getShort());
- fTotalLength = ConversionHelper.unsignedShortToInt(packet.getShort());
- fChecksum = ConversionHelper.unsignedShortToInt(packet.getShort());
-
- // Initialize the payload
- if (packet.array().length - packet.position() > 0) {
- byte[] array = new byte[packet.array().length - packet.position()];
- packet.get(array);
-
- ByteBuffer payload = ByteBuffer.wrap(array);
- payload.order(ByteOrder.BIG_ENDIAN);
- payload.position(0);
- fPayload = payload;
- } else {
- fPayload = null;
- }
-
- // Find child
- fChildPacket = findChildPacket();
-
- }
-</pre>
-
-Then, we implement the following methods:
-* ''public Packet'' '''getChildPacket()''': simple getter of fChildPacket
-* ''public ByteBuffer'' '''getPayload()''': simple getter of fPayload
-* ''public boolean'' '''validate()''': method that checks if the packet is valid. In our case, the packet is valid if the retrieved checksum fChecksum and the real checksum (that we can compute using the fields and payload of UDPPacket) are the same.
-* ''protected Packet'' '''findChildPacket()''': method that create a new packet if a encapsulated protocol is found. For instance, based on the fDestinationPort, it could determine what the encapsulated protocol is and creates a new packet object.
-* ''public ProtocolEndpoint'' '''getSourceEndpoint()''': method that initializes and returns the source endpoint.
-* ''public ProtocolEndpoint'' '''getDestinationEndpoint()''': method that initializes and returns the destination endpoint.
-* ''public Map<String, String>'' '''getFields()''': method that initializes and returns the map containing the fields matched to their value.
-* ''public String'' '''getLocalSummaryString()''': method that returns a string summarizing the most important fields of the packet. There is no need to list all the fields, just the most important one. This will be displayed on UI.
-* ''protected String'' '''getSignificationString()''': method that returns a string describing the meaning of the packet. If there is no particular meaning, it is possible to return getLocalSummaryString().
-* public boolean'' '''equals(Object obj)''': Object's equals method.
-* public int'' '''hashCode()''': Object's hashCode method.
-
-We get the following code:
-<pre>
- @Override
- public @Nullable Packet getChildPacket() {
- return fChildPacket;
- }
-
- @Override
- public @Nullable ByteBuffer getPayload() {
- return fPayload;
- }
-
- /**
- * Getter method that returns the UDP Source Port.
- *
- * @return The source Port.
- */
- public int getSourcePort() {
- return fSourcePort;
- }
-
- /**
- * Getter method that returns the UDP Destination Port.
- *
- * @return The destination Port.
- */
- public int getDestinationPort() {
- return fDestinationPort;
- }
-
- /**
- * {@inheritDoc}
- *
- * See http://www.iana.org/assignments/service-names-port-numbers/service-
- * names-port-numbers.xhtml or
- * http://en.wikipedia.org/wiki/List_of_TCP_and_UDP_port_numbers
- */
- @Override
- protected @Nullable Packet findChildPacket() throws BadPacketException {
- // When more protocols are implemented, we can simply do a switch on the fDestinationPort field to find the child packet.
- // For instance, if the destination port is 80, then chances are the HTTP protocol is encapsulated. We can create a new HTTP
- // packet (after some verification that it is indeed the HTTP protocol).
- ByteBuffer payload = fPayload;
- if (payload == null) {
- return null;
- }
-
- return new UnknownPacket(getPcapFile(), this, payload);
- }
-
- @Override
- public boolean validate() {
- // Not yet implemented. ATM, we consider that all packets are valid.
- // TODO Implement it. We can compute the real checksum and compare it to fChecksum.
- return true;
- }
-
- @Override
- public UDPEndpoint getSourceEndpoint() {
- @Nullable
- UDPEndpoint endpoint = fSourceEndpoint;
- if (endpoint == null) {
- endpoint = new UDPEndpoint(this, true);
- }
- fSourceEndpoint = endpoint;
- return fSourceEndpoint;
- }
-
- @Override
- public UDPEndpoint getDestinationEndpoint() {
- @Nullable UDPEndpoint endpoint = fDestinationEndpoint;
- if (endpoint == null) {
- endpoint = new UDPEndpoint(this, false);
- }
- fDestinationEndpoint = endpoint;
- return fDestinationEndpoint;
- }
-
- @Override
- public Map<String, String> getFields() {
- ImmutableMap<String, String> map = fFields;
- if (map == null) {
- @SuppressWarnings("null")
- @NonNull ImmutableMap<String, String> newMap = ImmutableMap.<String, String> builder()
- .put("Source Port", String.valueOf(fSourcePort)) //$NON-NLS-1$
- .put("Destination Port", String.valueOf(fDestinationPort)) //$NON-NLS-1$
- .put("Length", String.valueOf(fTotalLength) + " bytes") //$NON-NLS-1$ //$NON-NLS-2$
- .put("Checksum", String.format("%s%04x", "0x", fChecksum)) //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- .build();
- fFields = newMap;
- return newMap;
- }
- return map;
- }
-
- @Override
- public String getLocalSummaryString() {
- return "Src Port: " + fSourcePort + ", Dst Port: " + fDestinationPort; //$NON-NLS-1$ //$NON-NLS-2$
- }
-
- @Override
- protected String getSignificationString() {
- return "Source Port: " + fSourcePort + ", Destination Port: " + fDestinationPort; //$NON-NLS-1$ //$NON-NLS-2$
- }
-
- @Override
- public int hashCode() {
- final int prime = 31;
- int result = 1;
- result = prime * result + fChecksum;
- final Packet child = fChildPacket;
- if (child != null) {
- result = prime * result + child.hashCode();
- } else {
- result = prime * result;
- }
- result = prime * result + fDestinationPort;
- final ByteBuffer payload = fPayload;
- if (payload != null) {
- result = prime * result + payload.hashCode();
- } else {
- result = prime * result;
- }
- result = prime * result + fSourcePort;
- result = prime * result + fTotalLength;
- return result;
- }
-
- @Override
- public boolean equals(@Nullable Object obj) {
- if (this == obj) {
- return true;
- }
- if (obj == null) {
- return false;
- }
- if (getClass() != obj.getClass()) {
- return false;
- }
- UDPPacket other = (UDPPacket) obj;
- if (fChecksum != other.fChecksum) {
- return false;
- }
- final Packet child = fChildPacket;
- if (child != null) {
- if (!child.equals(other.fChildPacket)) {
- return false;
- }
- } else {
- if (other.fChildPacket != null) {
- return false;
- }
- }
- if (fDestinationPort != other.fDestinationPort) {
- return false;
- }
- final ByteBuffer payload = fPayload;
- if (payload != null) {
- if (!payload.equals(other.fPayload)) {
- return false;
- }
- } else {
- if (other.fPayload != null) {
- return false;
- }
- }
- if (fSourcePort != other.fSourcePort) {
- return false;
- }
- if (fTotalLength != other.fTotalLength) {
- return false;
- }
- return true;
- }
-</pre>
-
-The UDPPacket class is implemented. We now have the define the UDPEndpoint.
-
-=== Creating the UDPEndpoint ===
-
-For the UDP protocol, an endpoint will be its source or its destination port, depending if it is the source endpoint or destination endpoint. Knowing that, we can create our UDPEndpoint class.
-
-We create in our package a new class named UDPEndpoint that extends ProtocolEndpoint. We also add a field: fPort, which contains the source or destination port. We finally add a constructor public ExampleEndpoint(Packet packet, boolean isSourceEndpoint):
-* ''Packet'' '''packet''': the packet to build the endpoint from.
-* ''boolean'' '''isSourceEndpoint''': whether the endpoint is the source endpoint or destination endpoint.
-
-We obtain the following unimplemented class:
-
-<pre>
-package org.eclipse.linuxtools.pcap.core.protocol.udp;
-
-import org.eclipse.linuxtools.internal.pcap.core.endpoint.ProtocolEndpoint;
-import org.eclipse.linuxtools.internal.pcap.core.packet.Packet;
-
-public class UDPEndpoint extends ProtocolEndpoint {
-
- private final int fPort;
-
- public UDPEndpoint(Packet packet, boolean isSourceEndpoint) {
- super(packet, isSourceEndpoint);
- // TODO Auto-generated constructor stub
- }
-
- @Override
- public int hashCode() {
- // TODO Auto-generated method stub
- return 0;
- }
-
- @Override
- public boolean equals(Object obj) {
- // TODO Auto-generated method stub
- return false;
- }
-
- @Override
- public String toString() {
- // TODO Auto-generated method stub
- return null;
- }
-
-}
-</pre>
-
-For the constructor, we simply initialize fPort. If isSourceEndpoint is true, then we take packet.getSourcePort(), else we take packet.getDestinationPort().
-
-<pre>
- /**
- * Constructor of the {@link UDPEndpoint} class. It takes a packet to get
- * its endpoint. Since every packet has two endpoints (source and
- * destination), the isSourceEndpoint parameter is used to specify which
- * endpoint to take.
- *
- * @param packet
- * The packet that contains the endpoints.
- * @param isSourceEndpoint
- * Whether to take the source or the destination endpoint of the
- * packet.
- */
- public UDPEndpoint(UDPPacket packet, boolean isSourceEndpoint) {
- super(packet, isSourceEndpoint);
- fPort = isSourceEndpoint ? packet.getSourcePort() : packet.getDestinationPort();
- }
-</pre>
-
-Then we implement the methods:
-* ''public int'' '''hashCode()''': method that returns an integer based on the fields value. In our case, it will return an integer depending on fPort, and the parent endpoint that we can retrieve with getParentEndpoint().
-* ''public boolean'' '''equals(Object obj)''': method that returns true if two objects are equals. In our case, two UDPEndpoints are equal if they both have the same fPort and have the same parent endpoint that we can retrieve with getParentEndpoint().
-* ''public String'' '''toString()''': method that returns a description of the UDPEndpoint as a string. In our case, it will be a concatenation of the string of the parent endpoint and fPort as a string.
-
-<pre>
- @Override
- public int hashCode() {
- final int prime = 31;
- int result = 1;
- ProtocolEndpoint endpoint = getParentEndpoint();
- if (endpoint == null) {
- result = 0;
- } else {
- result = endpoint.hashCode();
- }
- result = prime * result + fPort;
- return result;
- }
-
- @Override
- public boolean equals(@Nullable Object obj) {
- if (this == obj) {
- return true;
- }
- if (!(obj instanceof UDPEndpoint)) {
- return false;
- }
-
- UDPEndpoint other = (UDPEndpoint) obj;
-
- // Check on layer
- boolean localEquals = (fPort == other.fPort);
- if (!localEquals) {
- return false;
- }
-
- // Check above layers.
- ProtocolEndpoint endpoint = getParentEndpoint();
- if (endpoint != null) {
- return endpoint.equals(other.getParentEndpoint());
- }
- return true;
- }
-
- @Override
- public String toString() {
- ProtocolEndpoint endpoint = getParentEndpoint();
- if (endpoint == null) {
- @SuppressWarnings("null")
- @NonNull String ret = String.valueOf(fPort);
- return ret;
- }
- return endpoint.toString() + '/' + fPort;
- }
-</pre>
-
-=== Registering the UDP protocol ===
-
-The last step is to register the new protocol. There are three places where the protocol has to be registered. First, the parser has to know that a new protocol has been added. This is defined in the enum org.eclipse.linuxtools.pcap.core.protocol.PcapProtocol. Simply add the protocol name here, along with a few arguments:
-* ''String'' '''longname''', which is the long version of name of the protocol. In our case, it is "User Datagram Protocol".
-* ''String'' '''shortName''', which is the shortened name of the protocol. In our case, it is "UDP".
-* ''Layer'' '''layer''', which is the layer to which the protocol belongs in the OSI model. In our case, this is the layer 4.
-* ''boolean'' '''supportsStream''', which defines whether or not the protocol supports packet streams. In our case, this is set to true.
-
-Thus, the following line is added in the PcapProtocol enum:
-<pre>
- UDP("User Datagram Protocol", "udp", Layer.LAYER_4, true),
-</pre>
-
-Also, TMF has to know about the new protocol. This is defined in org.eclipse.linuxtools.tmf.pcap.core.protocol.TmfPcapProtocol. We simply add it, with a reference to the corresponding protocol in PcapProtocol. Thus, the following line is added in the TmfPcapProtocol enum:
-<pre>
- UDP(PcapProtocol.UDP),
-</pre>
-
-You will also have to update the ''ProtocolConversion'' class to register the protocol in the switch statements. Thus, for UDP, we add:
-<pre>
- case UDP:
- return TmfPcapProtocol.UDP;
-</pre>
-and
-<pre>
- case UDP:
- return PcapProtocol.UDP;
-</pre>
-
-Finally, all the protocols that could be the parent of the new protocol (in our case, IPv4 and IPv6) have to be notified of the new protocol. This is done by modifying the findChildPacket() method of the packet class of those protocols. For instance, in IPv4Packet, we add a case in the switch statement of findChildPacket, if the Protocol number matches UDP's protocol number at the network layer:
-<pre>
- @Override
- protected @Nullable Packet findChildPacket() throws BadPacketException {
- ByteBuffer payload = fPayload;
- if (payload == null) {
- return null;
- }
-
- switch (fIpDatagramProtocol) {
- case IPProtocolNumberHelper.PROTOCOL_NUMBER_TCP:
- return new TCPPacket(getPcapFile(), this, payload);
- case IPProtocolNumberHelper.PROTOCOL_NUMBER_UDP:
- return new UDPPacket(getPcapFile(), this, payload);
- default:
- return new UnknownPacket(getPcapFile(), this, payload);
- }
- }
-</pre>
-
-The new protocol has been added. Running TMF should work just fine, and the new protocol is now recognized.
-
-== Adding stream-based views ==
-
-To add a stream-based View, simply monitor the TmfPacketStreamSelectedSignal in your view. It contains the new stream that you can retrieve with signal.getStream(). You must then make an event request to the current trace to get the events, and use the stream to filter the events of interest. Therefore, you must also monitor TmfTraceOpenedSignal, TmfTraceClosedSignal and TmfTraceSelectedSignal. Examples of stream-based views include a view that represents the packets as a sequence diagram, or that shows the TCP connection state based on the packets SYN/ACK/FIN/RST flags. A (very very very early) draft of such a view can be found at https://git.eclipse.org/r/#/c/31054/.
-
-== TODO ==
-
-* Add more protocols. At the moment, only four protocols are supported. The following protocols would need to be implemented: ARP, SLL, WLAN, USB, IPv6, ICMP, ICMPv6, IGMP, IGMPv6, SCTP, DNS, FTP, HTTP, RTP, SIP, SSH and Telnet. Other VoIP protocols would be nice.
-* Add a network graph view. It would be useful to produce graphs that are meaningful to network engineers, and that they could use (for presentation purpose, for instance). We could use the XML-based analysis to do that!
-* Add a Stream Diagram view. This view would represent a stream as a Sequence Diagram. It would be updated when a TmfNewPacketStreamSignal is thrown. It would be easy to see the packet exchange and the time delta between each packet. Also, when a packet is selected in the Stream Diagram, it should be selected in the event table and its content should be shown in the Properties View. See https://git.eclipse.org/r/#/c/31054/ for a draft of such a view.
-* Make adding protocol more "plugin-ish", via extension points for instance. This would make it easier to support new protocols, without modifying the source code.
-* Control dumpcap directly from eclipse, similar to how LTTng is controlled in the Control View.
-* Support pcapng. See: http://www.winpcap.org/ntar/draft/PCAP-DumpFileFormat.html for the file format.
-* Add SWTBOT tests to org.eclipse.linuxtools.tmf.pcap.ui
-* Add a Raw Viewer, similar to Wireshark. We could use the “Show Raw†in the event editor to do that.
-* Externalize strings in org.eclipse.linuxtools.pcap.core. At the moment, all the strings are hardcoded. It would be good to externalize them all.
diff --git a/lttng/org.eclipse.linuxtools.tmf.help/doc/images/AddDependencyTmf.png b/lttng/org.eclipse.linuxtools.tmf.help/doc/images/AddDependencyTmf.png
deleted file mode 100644
index 8f9ac0b27a..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.help/doc/images/AddDependencyTmf.png
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.tmf.help/doc/images/AddDependencyTmfUi.png b/lttng/org.eclipse.linuxtools.tmf.help/doc/images/AddDependencyTmfUi.png
deleted file mode 100644
index 41b313bda2..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.help/doc/images/AddDependencyTmfUi.png
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.tmf.help/doc/images/AddTmfUml2SDLoader.png b/lttng/org.eclipse.linuxtools.tmf.help/doc/images/AddTmfUml2SDLoader.png
deleted file mode 100644
index 02ce2dd23f..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.help/doc/images/AddTmfUml2SDLoader.png
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.tmf.help/doc/images/AddViewExtension1.png b/lttng/org.eclipse.linuxtools.tmf.help/doc/images/AddViewExtension1.png
deleted file mode 100644
index b8873dc0bd..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.help/doc/images/AddViewExtension1.png
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.tmf.help/doc/images/AddViewExtension2.png b/lttng/org.eclipse.linuxtools.tmf.help/doc/images/AddViewExtension2.png
deleted file mode 100644
index 26a7fc98b4..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.help/doc/images/AddViewExtension2.png
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.tmf.help/doc/images/BlankSampleSeqDiagram.png b/lttng/org.eclipse.linuxtools.tmf.help/doc/images/BlankSampleSeqDiagram.png
deleted file mode 100644
index 208cfcb880..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.help/doc/images/BlankSampleSeqDiagram.png
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.tmf.help/doc/images/CustomStatisticsView.png b/lttng/org.eclipse.linuxtools.tmf.help/doc/images/CustomStatisticsView.png
deleted file mode 100644
index 6d92e360e6..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.help/doc/images/CustomStatisticsView.png
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.tmf.help/doc/images/DefaultCoolbarMenu.png b/lttng/org.eclipse.linuxtools.tmf.help/doc/images/DefaultCoolbarMenu.png
deleted file mode 100644
index fab1320abd..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.help/doc/images/DefaultCoolbarMenu.png
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.tmf.help/doc/images/DialogHidePatterns.png b/lttng/org.eclipse.linuxtools.tmf.help/doc/images/DialogHidePatterns.png
deleted file mode 100644
index 302d3fb2a8..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.help/doc/images/DialogHidePatterns.png
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.tmf.help/doc/images/EmptySampleView.png b/lttng/org.eclipse.linuxtools.tmf.help/doc/images/EmptySampleView.png
deleted file mode 100644
index 13ace64190..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.help/doc/images/EmptySampleView.png
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.tmf.help/doc/images/ExampleNewStatsView.png b/lttng/org.eclipse.linuxtools.tmf.help/doc/images/ExampleNewStatsView.png
deleted file mode 100644
index ebc603cd0a..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.help/doc/images/ExampleNewStatsView.png
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.tmf.help/doc/images/FillSampleLoader.png b/lttng/org.eclipse.linuxtools.tmf.help/doc/images/FillSampleLoader.png
deleted file mode 100644
index 2f22b52206..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.help/doc/images/FillSampleLoader.png
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.tmf.help/doc/images/FillSampleSeqDiagram.png b/lttng/org.eclipse.linuxtools.tmf.help/doc/images/FillSampleSeqDiagram.png
deleted file mode 100644
index 8d60ed3d2a..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.help/doc/images/FillSampleSeqDiagram.png
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.tmf.help/doc/images/FillSampleViewExtension.png b/lttng/org.eclipse.linuxtools.tmf.help/doc/images/FillSampleViewExtension.png
deleted file mode 100644
index e14b8bb7a4..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.help/doc/images/FillSampleViewExtension.png
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.tmf.help/doc/images/FindDialog.png b/lttng/org.eclipse.linuxtools.tmf.help/doc/images/FindDialog.png
deleted file mode 100644
index 3a1e4f2184..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.help/doc/images/FindDialog.png
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.tmf.help/doc/images/FindProviderAdded.png b/lttng/org.eclipse.linuxtools.tmf.help/doc/images/FindProviderAdded.png
deleted file mode 100644
index 71814baf04..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.help/doc/images/FindProviderAdded.png
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.tmf.help/doc/images/HidePatternsMenuItem.png b/lttng/org.eclipse.linuxtools.tmf.help/doc/images/HidePatternsMenuItem.png
deleted file mode 100644
index e50d2d885a..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.help/doc/images/HidePatternsMenuItem.png
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.tmf.help/doc/images/ImportTracePackage.png b/lttng/org.eclipse.linuxtools.tmf.help/doc/images/ImportTracePackage.png
deleted file mode 100644
index fb41cd6a83..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.help/doc/images/ImportTracePackage.png
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.tmf.help/doc/images/NTTAddDepend.png b/lttng/org.eclipse.linuxtools.tmf.help/doc/images/NTTAddDepend.png
deleted file mode 100644
index af10eb9851..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.help/doc/images/NTTAddDepend.png
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.tmf.help/doc/images/NTTAddType.png b/lttng/org.eclipse.linuxtools.tmf.help/doc/images/NTTAddType.png
deleted file mode 100644
index 6f97c5eab5..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.help/doc/images/NTTAddType.png
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.tmf.help/doc/images/NTTExtension.png b/lttng/org.eclipse.linuxtools.tmf.help/doc/images/NTTExtension.png
deleted file mode 100644
index 63983f3316..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.help/doc/images/NTTExtension.png
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.tmf.help/doc/images/NTTExtensionPoint.png b/lttng/org.eclipse.linuxtools.tmf.help/doc/images/NTTExtensionPoint.png
deleted file mode 100644
index 20b814fad8..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.help/doc/images/NTTExtensionPoint.png
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.tmf.help/doc/images/NTTPluginxmlComplete.png b/lttng/org.eclipse.linuxtools.tmf.help/doc/images/NTTPluginxmlComplete.png
deleted file mode 100644
index d9b12e58e8..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.help/doc/images/NTTPluginxmlComplete.png
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.tmf.help/doc/images/NTTSelectProjects.png b/lttng/org.eclipse.linuxtools.tmf.help/doc/images/NTTSelectProjects.png
deleted file mode 100644
index 303e8be71e..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.help/doc/images/NTTSelectProjects.png
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.tmf.help/doc/images/NTTTraceType.png b/lttng/org.eclipse.linuxtools.tmf.help/doc/images/NTTTraceType.png
deleted file mode 100644
index 5ba1f8e798..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.help/doc/images/NTTTraceType.png
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.tmf.help/doc/images/NewSampleLoaderClass.png b/lttng/org.eclipse.linuxtools.tmf.help/doc/images/NewSampleLoaderClass.png
deleted file mode 100644
index d14757acf5..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.help/doc/images/NewSampleLoaderClass.png
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.tmf.help/doc/images/PageProviderAdded.png b/lttng/org.eclipse.linuxtools.tmf.help/doc/images/PageProviderAdded.png
deleted file mode 100644
index 420a1f38a9..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.help/doc/images/PageProviderAdded.png
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.tmf.help/doc/images/PrintDialog.png b/lttng/org.eclipse.linuxtools.tmf.help/doc/images/PrintDialog.png
deleted file mode 100644
index 16518c9745..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.help/doc/images/PrintDialog.png
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.tmf.help/doc/images/ReferenceExtensions.png b/lttng/org.eclipse.linuxtools.tmf.help/doc/images/ReferenceExtensions.png
deleted file mode 100644
index c1d5204c8c..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.help/doc/images/ReferenceExtensions.png
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.tmf.help/doc/images/ReferenceSeqDiagram.png b/lttng/org.eclipse.linuxtools.tmf.help/doc/images/ReferenceSeqDiagram.png
deleted file mode 100644
index cee5cf7ae6..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.help/doc/images/ReferenceSeqDiagram.png
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.tmf.help/doc/images/RunEclipseApplication.png b/lttng/org.eclipse.linuxtools.tmf.help/doc/images/RunEclipseApplication.png
deleted file mode 100644
index 0a1b9699e4..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.help/doc/images/RunEclipseApplication.png
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.tmf.help/doc/images/SampleDiagram1.png b/lttng/org.eclipse.linuxtools.tmf.help/doc/images/SampleDiagram1.png
deleted file mode 100644
index 70f3289691..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.help/doc/images/SampleDiagram1.png
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.tmf.help/doc/images/SampleDiagramAsyncMessage.png b/lttng/org.eclipse.linuxtools.tmf.help/doc/images/SampleDiagramAsyncMessage.png
deleted file mode 100644
index 998f00f125..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.help/doc/images/SampleDiagramAsyncMessage.png
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.tmf.help/doc/images/SampleDiagramMessageDelta.png b/lttng/org.eclipse.linuxtools.tmf.help/doc/images/SampleDiagramMessageDelta.png
deleted file mode 100644
index 07b9249a8c..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.help/doc/images/SampleDiagramMessageDelta.png
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.tmf.help/doc/images/SampleDiagramSyncMessage.png b/lttng/org.eclipse.linuxtools.tmf.help/doc/images/SampleDiagramSyncMessage.png
deleted file mode 100644
index 56f10d99ec..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.help/doc/images/SampleDiagramSyncMessage.png
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.tmf.help/doc/images/SampleDiagramTimeComp.png b/lttng/org.eclipse.linuxtools.tmf.help/doc/images/SampleDiagramTimeComp.png
deleted file mode 100644
index a898965238..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.help/doc/images/SampleDiagramTimeComp.png
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.tmf.help/doc/images/SampleView.png b/lttng/org.eclipse.linuxtools.tmf.help/doc/images/SampleView.png
deleted file mode 100644
index 0b3477a363..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.help/doc/images/SampleView.png
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.tmf.help/doc/images/Screenshot-NewPlug-inProject1.png b/lttng/org.eclipse.linuxtools.tmf.help/doc/images/Screenshot-NewPlug-inProject1.png
deleted file mode 100644
index 12e80d61f3..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.help/doc/images/Screenshot-NewPlug-inProject1.png
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.tmf.help/doc/images/Screenshot-NewPlug-inProject2.png b/lttng/org.eclipse.linuxtools.tmf.help/doc/images/Screenshot-NewPlug-inProject2.png
deleted file mode 100644
index b863d13184..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.help/doc/images/Screenshot-NewPlug-inProject2.png
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.tmf.help/doc/images/Screenshot-NewPlug-inProject3.png b/lttng/org.eclipse.linuxtools.tmf.help/doc/images/Screenshot-NewPlug-inProject3.png
deleted file mode 100644
index 3c0f047c63..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.help/doc/images/Screenshot-NewPlug-inProject3.png
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.tmf.help/doc/images/SelectManifest.png b/lttng/org.eclipse.linuxtools.tmf.help/doc/images/SelectManifest.png
deleted file mode 100644
index 8fcea68885..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.help/doc/images/SelectManifest.png
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.tmf.help/doc/images/SeqDiagramPref.png b/lttng/org.eclipse.linuxtools.tmf.help/doc/images/SeqDiagramPref.png
deleted file mode 100644
index 42cd810128..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.help/doc/images/SeqDiagramPref.png
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.tmf.help/doc/images/ShowEventsView.png b/lttng/org.eclipse.linuxtools.tmf.help/doc/images/ShowEventsView.png
deleted file mode 100644
index ccb7a01650..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.help/doc/images/ShowEventsView.png
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.tmf.help/doc/images/ShowTmfSDView.png b/lttng/org.eclipse.linuxtools.tmf.help/doc/images/ShowTmfSDView.png
deleted file mode 100644
index 9ccbbdbe47..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.help/doc/images/ShowTmfSDView.png
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.tmf.help/doc/images/ShowViewOther.png b/lttng/org.eclipse.linuxtools.tmf.help/doc/images/ShowViewOther.png
deleted file mode 100644
index e18a7aeae8..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.help/doc/images/ShowViewOther.png
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.tmf.help/doc/images/SupplCoolbar.png b/lttng/org.eclipse.linuxtools.tmf.help/doc/images/SupplCoolbar.png
deleted file mode 100644
index b4f725411a..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.help/doc/images/SupplCoolbar.png
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.tmf.help/doc/images/TmfAddModelClass.png b/lttng/org.eclipse.linuxtools.tmf.help/doc/images/TmfAddModelClass.png
deleted file mode 100644
index 47226a49f9..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.help/doc/images/TmfAddModelClass.png
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.tmf.help/doc/images/TmfAddModelPackage.png b/lttng/org.eclipse.linuxtools.tmf.help/doc/images/TmfAddModelPackage.png
deleted file mode 100644
index f4be6e1c51..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.help/doc/images/TmfAddModelPackage.png
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.tmf.help/doc/images/TmfAddStatisticsView.png b/lttng/org.eclipse.linuxtools.tmf.help/doc/images/TmfAddStatisticsView.png
deleted file mode 100644
index f9bb1a51be..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.help/doc/images/TmfAddStatisticsView.png
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.tmf.help/doc/images/TmfAddStatisticsViewClass.png b/lttng/org.eclipse.linuxtools.tmf.help/doc/images/TmfAddStatisticsViewClass.png
deleted file mode 100644
index 6a182230c2..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.help/doc/images/TmfAddStatisticsViewClass.png
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.tmf.help/doc/images/TmfStatisticsView.png b/lttng/org.eclipse.linuxtools.tmf.help/doc/images/TmfStatisticsView.png
deleted file mode 100644
index 6e555c18d0..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.help/doc/images/TmfStatisticsView.png
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.tmf.help/doc/images/home.gif b/lttng/org.eclipse.linuxtools.tmf.help/doc/images/home.gif
deleted file mode 100644
index 4472e8ce5b..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.help/doc/images/home.gif
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.tmf.help/doc/images/next.gif b/lttng/org.eclipse.linuxtools.tmf.help/doc/images/next.gif
deleted file mode 100644
index e2f8c3e1fe..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.help/doc/images/next.gif
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.tmf.help/doc/images/prev.gif b/lttng/org.eclipse.linuxtools.tmf.help/doc/images/prev.gif
deleted file mode 100644
index 4fb4150103..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.help/doc/images/prev.gif
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.tmf.help/images/home.gif b/lttng/org.eclipse.linuxtools.tmf.help/images/home.gif
deleted file mode 100644
index 4472e8ce5b..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.help/images/home.gif
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.tmf.help/images/next.gif b/lttng/org.eclipse.linuxtools.tmf.help/images/next.gif
deleted file mode 100644
index e2f8c3e1fe..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.help/images/next.gif
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.tmf.help/images/prev.gif b/lttng/org.eclipse.linuxtools.tmf.help/images/prev.gif
deleted file mode 100644
index 4fb4150103..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.help/images/prev.gif
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.tmf.help/plugin.properties b/lttng/org.eclipse.linuxtools.tmf.help/plugin.properties
deleted file mode 100644
index cae5773b0b..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.help/plugin.properties
+++ /dev/null
@@ -1,15 +0,0 @@
-###############################################################################
-# Copyright (c) 2013 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:
-# Ericsson - Initial API and implementation
-###############################################################################
-
-#Properties file for org.eclipse.linuxtools.tmf.help
-Bundle-Vendor = Eclipse Linux Tools
-Bundle-Name = Linux Tools TMF Help Plug-in
diff --git a/lttng/org.eclipse.linuxtools.tmf.help/plugin.xml b/lttng/org.eclipse.linuxtools.tmf.help/plugin.xml
deleted file mode 100644
index 34d2d3c17c..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.help/plugin.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin>
-<!-- This part should be in a documentation plugin -->
-<!-- Configure the help contribution for this plugin -->
- <extension point="org.eclipse.help.toc">
- <toc
- file="doc/Developer-Guide-toc.xml"
- primary="true" />
- </extension>
-</plugin>
diff --git a/lttng/org.eclipse.linuxtools.tmf.help/pom.xml b/lttng/org.eclipse.linuxtools.tmf.help/pom.xml
deleted file mode 100644
index 95354dbe0c..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.help/pom.xml
+++ /dev/null
@@ -1,86 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Copyright (C) 2011, Red Hat, Inc.
-
- 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
--->
-<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
- <modelVersion>4.0.0</modelVersion>
-
- <parent>
- <artifactId>linuxtools-lttng-parent</artifactId>
- <groupId>org.eclipse.linuxtools.lttng</groupId>
- <version>3.2.0-SNAPSHOT</version>
- </parent>
-
- <artifactId>org.eclipse.linuxtools.tmf.help</artifactId>
- <version>3.1.0-SNAPSHOT</version>
- <packaging>eclipse-plugin</packaging>
-
- <name>Linux Tools TMF Help Plug-in</name>
-
- <build>
- <plugins>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-antrun-plugin</artifactId>
- <executions>
- <execution>
- <id>generate-documentation</id>
- <phase>generate-sources</phase>
- <configuration>
- <echo>Generating TMF Help Files</echo>
- <target>
- <property name="compile_classpath" refid="maven.compile.classpath" />
- <ant target="build" inheritRefs="true" antfile="build.xml" />
- </target>
- </configuration>
- <goals>
- <goal>run</goal>
- </goals>
- </execution>
- <execution>
- <id>clean-documentation</id>
- <phase>clean</phase>
- <configuration>
- <echo>Cleaning up generated TMF Help Files</echo>
- <target>
- <ant target="clean" antfile="build.xml" />
- </target>
- </configuration>
- <goals>
- <goal>run</goal>
- </goals>
- </execution>
- </executions>
-
- <dependencies>
- <dependency>
- <groupId>org.apache.ant</groupId>
- <artifactId>ant</artifactId>
- <version>1.8.1</version>
- </dependency>
-
- <dependency>
- <groupId>org.apache.ant</groupId>
- <artifactId>ant-launcher</artifactId>
- <version>1.8.1</version>
- </dependency>
-
- <dependency>
- <groupId>org.apache.ant</groupId>
- <artifactId>ant-nodeps</artifactId>
- <version>1.8.1</version>
- </dependency>
-
- </dependencies>
- </plugin>
- </plugins>
- </build>
-
- <groupId>org.eclipse.linuxtools.tmf</groupId>
-</project>
diff --git a/lttng/org.eclipse.linuxtools.tmf.pcap.core.tests/.classpath b/lttng/org.eclipse.linuxtools.tmf.pcap.core.tests/.classpath
deleted file mode 100644
index 68143fe727..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.pcap.core.tests/.classpath
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
- <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.7"/>
- <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
- <classpathentry kind="src" path="src"/>
- <classpathentry kind="src" path="shared"/>
- <classpathentry kind="src" path="stubs"/>
- <classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/lttng/org.eclipse.linuxtools.tmf.pcap.core.tests/.project b/lttng/org.eclipse.linuxtools.tmf.pcap.core.tests/.project
deleted file mode 100644
index 1e532da855..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.pcap.core.tests/.project
+++ /dev/null
@@ -1,34 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>org.eclipse.linuxtools.tmf.pcap.core.tests</name>
- <comment></comment>
- <projects>
- </projects>
- <buildSpec>
- <buildCommand>
- <name>org.eclipse.jdt.core.javabuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.ManifestBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.SchemaBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.api.tools.apiAnalysisBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>org.eclipse.pde.PluginNature</nature>
- <nature>org.eclipse.jdt.core.javanature</nature>
- <nature>org.eclipse.pde.api.tools.apiAnalysisNature</nature>
- </natures>
-</projectDescription>
diff --git a/lttng/org.eclipse.linuxtools.tmf.pcap.core.tests/.settings/org.eclipse.core.resources.prefs b/lttng/org.eclipse.linuxtools.tmf.pcap.core.tests/.settings/org.eclipse.core.resources.prefs
deleted file mode 100644
index 99f26c0203..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.pcap.core.tests/.settings/org.eclipse.core.resources.prefs
+++ /dev/null
@@ -1,2 +0,0 @@
-eclipse.preferences.version=1
-encoding/<project>=UTF-8
diff --git a/lttng/org.eclipse.linuxtools.tmf.pcap.core.tests/.settings/org.eclipse.core.runtime.prefs b/lttng/org.eclipse.linuxtools.tmf.pcap.core.tests/.settings/org.eclipse.core.runtime.prefs
deleted file mode 100644
index 5a0ad22d2a..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.pcap.core.tests/.settings/org.eclipse.core.runtime.prefs
+++ /dev/null
@@ -1,2 +0,0 @@
-eclipse.preferences.version=1
-line.separator=\n
diff --git a/lttng/org.eclipse.linuxtools.tmf.pcap.core.tests/.settings/org.eclipse.jdt.core.prefs b/lttng/org.eclipse.linuxtools.tmf.pcap.core.tests/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index f3fc64575b..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.pcap.core.tests/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,393 +0,0 @@
-eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.annotation.inheritNullAnnotations=enabled
-org.eclipse.jdt.core.compiler.annotation.missingNonNullByDefaultAnnotation=ignore
-org.eclipse.jdt.core.compiler.annotation.nonnull=org.eclipse.jdt.annotation.NonNull
-org.eclipse.jdt.core.compiler.annotation.nonnullbydefault=org.eclipse.jdt.annotation.NonNullByDefault
-org.eclipse.jdt.core.compiler.annotation.nullable=org.eclipse.jdt.annotation.Nullable
-org.eclipse.jdt.core.compiler.annotation.nullanalysis=enabled
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.7
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.doc.comment.support=enabled
-org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=error
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
-org.eclipse.jdt.core.compiler.problem.comparingIdentical=error
-org.eclipse.jdt.core.compiler.problem.deadCode=error
-org.eclipse.jdt.core.compiler.problem.deprecation=error
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=enabled
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled
-org.eclipse.jdt.core.compiler.problem.discouragedReference=error
-org.eclipse.jdt.core.compiler.problem.emptyStatement=error
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.problem.explicitlyClosedAutoCloseable=error
-org.eclipse.jdt.core.compiler.problem.fallthroughCase=error
-org.eclipse.jdt.core.compiler.problem.fatalOptionalError=disabled
-org.eclipse.jdt.core.compiler.problem.fieldHiding=error
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=error
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=error
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=error
-org.eclipse.jdt.core.compiler.problem.includeNullInfoFromAsserts=disabled
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=error
-org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=error
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=error
-org.eclipse.jdt.core.compiler.problem.invalidJavadoc=warning
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTags=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=protected
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=error
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=error
-org.eclipse.jdt.core.compiler.problem.missingDefaultCase=error
-org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=error
-org.eclipse.jdt.core.compiler.problem.missingEnumCaseDespiteDefault=enabled
-org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=error
-org.eclipse.jdt.core.compiler.problem.missingJavadocComments=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=protected
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagDescription=all_standard_tags
-org.eclipse.jdt.core.compiler.problem.missingJavadocTags=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsMethodTypeParameters=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=protected
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=error
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotationForInterfaceMethodImplementation=enabled
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=error
-org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=error
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=error
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=error
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=ignore
-org.eclipse.jdt.core.compiler.problem.nonnullParameterAnnotationDropped=warning
-org.eclipse.jdt.core.compiler.problem.nullAnnotationInferenceConflict=warning
-org.eclipse.jdt.core.compiler.problem.nullReference=error
-org.eclipse.jdt.core.compiler.problem.nullSpecViolation=error
-org.eclipse.jdt.core.compiler.problem.nullUncheckedConversion=warning
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=error
-org.eclipse.jdt.core.compiler.problem.parameterAssignment=error
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=error
-org.eclipse.jdt.core.compiler.problem.potentialNullReference=error
-org.eclipse.jdt.core.compiler.problem.potentiallyUnclosedCloseable=warning
-org.eclipse.jdt.core.compiler.problem.rawTypeReference=error
-org.eclipse.jdt.core.compiler.problem.redundantNullAnnotation=warning
-org.eclipse.jdt.core.compiler.problem.redundantNullCheck=error
-org.eclipse.jdt.core.compiler.problem.redundantSpecificationOfTypeArguments=error
-org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=error
-org.eclipse.jdt.core.compiler.problem.reportMethodCanBePotentiallyStatic=ignore
-org.eclipse.jdt.core.compiler.problem.reportMethodCanBeStatic=error
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=error
-org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=disabled
-org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
-org.eclipse.jdt.core.compiler.problem.syntacticNullAnalysisForFields=enabled
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
-org.eclipse.jdt.core.compiler.problem.typeParameterHiding=error
-org.eclipse.jdt.core.compiler.problem.unavoidableGenericTypeProblems=disabled
-org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=error
-org.eclipse.jdt.core.compiler.problem.unclosedCloseable=error
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
-org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=error
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=error
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=error
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=error
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=disabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=disabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=error
-org.eclipse.jdt.core.compiler.problem.unusedLabel=error
-org.eclipse.jdt.core.compiler.problem.unusedLocal=error
-org.eclipse.jdt.core.compiler.problem.unusedObjectAllocation=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=error
-org.eclipse.jdt.core.compiler.problem.unusedTypeParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedWarningToken=error
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=error
-org.eclipse.jdt.core.compiler.source=1.7
-org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_assignment=0
-org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
-org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
-org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
-org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
-org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0
-org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=80
-org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=0
-org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch=16
-org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_after_package=1
-org.eclipse.jdt.core.formatter.blank_lines_before_field=0
-org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
-org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
-org.eclipse.jdt.core.formatter.blank_lines_before_method=1
-org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
-org.eclipse.jdt.core.formatter.blank_lines_before_package=0
-org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
-org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
-org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
-org.eclipse.jdt.core.formatter.comment.format_block_comments=true
-org.eclipse.jdt.core.formatter.comment.format_header=false
-org.eclipse.jdt.core.formatter.comment.format_html=true
-org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=true
-org.eclipse.jdt.core.formatter.comment.format_line_comments=true
-org.eclipse.jdt.core.formatter.comment.format_source_code=true
-org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true
-org.eclipse.jdt.core.formatter.comment.indent_root_tags=true
-org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
-org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=insert
-org.eclipse.jdt.core.formatter.comment.line_length=80
-org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries=true
-org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries=true
-org.eclipse.jdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments=false
-org.eclipse.jdt.core.formatter.compact_else_if=true
-org.eclipse.jdt.core.formatter.continuation_indentation=2
-org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2
-org.eclipse.jdt.core.formatter.disabling_tag=@formatter\:off
-org.eclipse.jdt.core.formatter.enabling_tag=@formatter\:on
-org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
-org.eclipse.jdt.core.formatter.format_line_comment_starting_on_first_column=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
-org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_empty_lines=false
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=false
-org.eclipse.jdt.core.formatter.indentation.size=4
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_label=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_try=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources=insert
-org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_try=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
-org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.join_lines_in_comments=true
-org.eclipse.jdt.core.formatter.join_wrapped_lines=false
-org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.lineSplit=250
-org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
-org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
-org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true
-org.eclipse.jdt.core.formatter.tabulation.char=space
-org.eclipse.jdt.core.formatter.tabulation.size=4
-org.eclipse.jdt.core.formatter.use_on_off_tags=false
-org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
-org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
-org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true
-org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true
diff --git a/lttng/org.eclipse.linuxtools.tmf.pcap.core.tests/.settings/org.eclipse.jdt.ui.prefs b/lttng/org.eclipse.linuxtools.tmf.pcap.core.tests/.settings/org.eclipse.jdt.ui.prefs
deleted file mode 100644
index 4fd0c7006a..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.pcap.core.tests/.settings/org.eclipse.jdt.ui.prefs
+++ /dev/null
@@ -1,56 +0,0 @@
-eclipse.preferences.version=1
-editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
-formatter_profile=_tmf-style
-formatter_settings_version=12
-sp_cleanup.add_default_serial_version_id=true
-sp_cleanup.add_generated_serial_version_id=false
-sp_cleanup.add_missing_annotations=false
-sp_cleanup.add_missing_deprecated_annotations=true
-sp_cleanup.add_missing_methods=false
-sp_cleanup.add_missing_nls_tags=false
-sp_cleanup.add_missing_override_annotations=true
-sp_cleanup.add_missing_override_annotations_interface_methods=true
-sp_cleanup.add_serial_version_id=false
-sp_cleanup.always_use_blocks=true
-sp_cleanup.always_use_parentheses_in_expressions=false
-sp_cleanup.always_use_this_for_non_static_field_access=false
-sp_cleanup.always_use_this_for_non_static_method_access=false
-sp_cleanup.convert_to_enhanced_for_loop=false
-sp_cleanup.correct_indentation=false
-sp_cleanup.format_source_code=false
-sp_cleanup.format_source_code_changes_only=false
-sp_cleanup.make_local_variable_final=false
-sp_cleanup.make_parameters_final=false
-sp_cleanup.make_private_fields_final=true
-sp_cleanup.make_type_abstract_if_missing_method=false
-sp_cleanup.make_variable_declarations_final=false
-sp_cleanup.never_use_blocks=false
-sp_cleanup.never_use_parentheses_in_expressions=true
-sp_cleanup.on_save_use_additional_actions=true
-sp_cleanup.organize_imports=false
-sp_cleanup.qualify_static_field_accesses_with_declaring_class=false
-sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_with_declaring_class=false
-sp_cleanup.qualify_static_method_accesses_with_declaring_class=false
-sp_cleanup.remove_private_constructors=true
-sp_cleanup.remove_trailing_whitespaces=true
-sp_cleanup.remove_trailing_whitespaces_all=true
-sp_cleanup.remove_trailing_whitespaces_ignore_empty=false
-sp_cleanup.remove_unnecessary_casts=false
-sp_cleanup.remove_unnecessary_nls_tags=false
-sp_cleanup.remove_unused_imports=false
-sp_cleanup.remove_unused_local_variables=false
-sp_cleanup.remove_unused_private_fields=true
-sp_cleanup.remove_unused_private_members=false
-sp_cleanup.remove_unused_private_methods=true
-sp_cleanup.remove_unused_private_types=true
-sp_cleanup.sort_members=false
-sp_cleanup.sort_members_all=false
-sp_cleanup.use_blocks=true
-sp_cleanup.use_blocks_only_for_return_and_throw=false
-sp_cleanup.use_parentheses_in_expressions=false
-sp_cleanup.use_this_for_non_static_field_access=false
-sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=true
-sp_cleanup.use_this_for_non_static_method_access=false
-sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true
diff --git a/lttng/org.eclipse.linuxtools.tmf.pcap.core.tests/.settings/org.eclipse.pde.api.tools.prefs b/lttng/org.eclipse.linuxtools.tmf.pcap.core.tests/.settings/org.eclipse.pde.api.tools.prefs
deleted file mode 100644
index acc3abd47c..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.pcap.core.tests/.settings/org.eclipse.pde.api.tools.prefs
+++ /dev/null
@@ -1,97 +0,0 @@
-ANNOTATION_ELEMENT_TYPE_ADDED_METHOD_WITHOUT_DEFAULT_VALUE=Error
-ANNOTATION_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
-ANNOTATION_ELEMENT_TYPE_REMOVED_FIELD=Error
-ANNOTATION_ELEMENT_TYPE_REMOVED_METHOD=Error
-ANNOTATION_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
-API_COMPONENT_ELEMENT_TYPE_REMOVED_API_TYPE=Error
-API_COMPONENT_ELEMENT_TYPE_REMOVED_REEXPORTED_API_TYPE=Error
-API_COMPONENT_ELEMENT_TYPE_REMOVED_REEXPORTED_TYPE=Error
-API_COMPONENT_ELEMENT_TYPE_REMOVED_TYPE=Error
-API_USE_SCAN_FIELD_SEVERITY=Error
-API_USE_SCAN_METHOD_SEVERITY=Error
-API_USE_SCAN_TYPE_SEVERITY=Error
-CLASS_ELEMENT_TYPE_ADDED_METHOD=Error
-CLASS_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
-CLASS_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
-CLASS_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error
-CLASS_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
-CLASS_ELEMENT_TYPE_CHANGED_NON_ABSTRACT_TO_ABSTRACT=Error
-CLASS_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error
-CLASS_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
-CLASS_ELEMENT_TYPE_REMOVED_CONSTRUCTOR=Error
-CLASS_ELEMENT_TYPE_REMOVED_FIELD=Error
-CLASS_ELEMENT_TYPE_REMOVED_METHOD=Error
-CLASS_ELEMENT_TYPE_REMOVED_SUPERCLASS=Error
-CLASS_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
-CLASS_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
-CONSTRUCTOR_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
-CONSTRUCTOR_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
-CONSTRUCTOR_ELEMENT_TYPE_CHANGED_VARARGS_TO_ARRAY=Error
-CONSTRUCTOR_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
-ENUM_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error
-ENUM_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
-ENUM_ELEMENT_TYPE_REMOVED_ENUM_CONSTANT=Error
-ENUM_ELEMENT_TYPE_REMOVED_FIELD=Error
-ENUM_ELEMENT_TYPE_REMOVED_METHOD=Error
-ENUM_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
-FIELD_ELEMENT_TYPE_ADDED_VALUE=Error
-FIELD_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
-FIELD_ELEMENT_TYPE_CHANGED_FINAL_TO_NON_FINAL_STATIC_CONSTANT=Error
-FIELD_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error
-FIELD_ELEMENT_TYPE_CHANGED_NON_STATIC_TO_STATIC=Error
-FIELD_ELEMENT_TYPE_CHANGED_STATIC_TO_NON_STATIC=Error
-FIELD_ELEMENT_TYPE_CHANGED_TYPE=Error
-FIELD_ELEMENT_TYPE_CHANGED_VALUE=Error
-FIELD_ELEMENT_TYPE_REMOVED_TYPE_ARGUMENT=Error
-FIELD_ELEMENT_TYPE_REMOVED_VALUE=Error
-ILLEGAL_EXTEND=Warning
-ILLEGAL_IMPLEMENT=Warning
-ILLEGAL_INSTANTIATE=Warning
-ILLEGAL_OVERRIDE=Warning
-ILLEGAL_REFERENCE=Warning
-INTERFACE_ELEMENT_TYPE_ADDED_FIELD=Error
-INTERFACE_ELEMENT_TYPE_ADDED_METHOD=Error
-INTERFACE_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
-INTERFACE_ELEMENT_TYPE_ADDED_SUPER_INTERFACE_WITH_METHODS=Error
-INTERFACE_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
-INTERFACE_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error
-INTERFACE_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
-INTERFACE_ELEMENT_TYPE_REMOVED_FIELD=Error
-INTERFACE_ELEMENT_TYPE_REMOVED_METHOD=Error
-INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
-INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
-INVALID_JAVADOC_TAG=Warning
-INVALID_REFERENCE_IN_SYSTEM_LIBRARIES=Warning
-LEAK_EXTEND=Warning
-LEAK_FIELD_DECL=Warning
-LEAK_IMPLEMENT=Warning
-LEAK_METHOD_PARAM=Warning
-LEAK_METHOD_RETURN_TYPE=Warning
-METHOD_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
-METHOD_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
-METHOD_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
-METHOD_ELEMENT_TYPE_CHANGED_NON_ABSTRACT_TO_ABSTRACT=Error
-METHOD_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error
-METHOD_ELEMENT_TYPE_CHANGED_NON_STATIC_TO_STATIC=Error
-METHOD_ELEMENT_TYPE_CHANGED_STATIC_TO_NON_STATIC=Error
-METHOD_ELEMENT_TYPE_CHANGED_VARARGS_TO_ARRAY=Error
-METHOD_ELEMENT_TYPE_REMOVED_ANNOTATION_DEFAULT_VALUE=Error
-METHOD_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
-MISSING_EE_DESCRIPTIONS=Ignore
-TYPE_PARAMETER_ELEMENT_TYPE_ADDED_CLASS_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_ADDED_INTERFACE_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_CHANGED_CLASS_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_CHANGED_INTERFACE_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_CLASS_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error
-UNUSED_PROBLEM_FILTERS=Warning
-automatically_removed_unused_problem_filters=false
-eclipse.preferences.version=1
-incompatible_api_component_version=Error
-incompatible_api_component_version_include_major_without_breaking_change=Disabled
-incompatible_api_component_version_include_minor_without_api_change=Disabled
-invalid_since_tag_version=Error
-malformed_since_tag=Error
-missing_since_tag=Error
-report_api_breakage_when_major_version_incremented=Disabled
-report_resolution_errors_api_component=Warning
diff --git a/lttng/org.eclipse.linuxtools.tmf.pcap.core.tests/.settings/org.eclipse.pde.prefs b/lttng/org.eclipse.linuxtools.tmf.pcap.core.tests/.settings/org.eclipse.pde.prefs
deleted file mode 100644
index 62cfa90dee..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.pcap.core.tests/.settings/org.eclipse.pde.prefs
+++ /dev/null
@@ -1,32 +0,0 @@
-compilers.f.unresolved-features=1
-compilers.f.unresolved-plugins=1
-compilers.incompatible-environment=1
-compilers.p.build=1
-compilers.p.build.bin.includes=1
-compilers.p.build.encodings=2
-compilers.p.build.java.compiler=2
-compilers.p.build.java.compliance=1
-compilers.p.build.missing.output=2
-compilers.p.build.output.library=1
-compilers.p.build.source.library=1
-compilers.p.build.src.includes=1
-compilers.p.deprecated=1
-compilers.p.discouraged-class=1
-compilers.p.internal=1
-compilers.p.missing-packages=2
-compilers.p.missing-version-export-package=2
-compilers.p.missing-version-import-package=2
-compilers.p.missing-version-require-bundle=2
-compilers.p.no-required-att=0
-compilers.p.not-externalized-att=2
-compilers.p.unknown-attribute=1
-compilers.p.unknown-class=1
-compilers.p.unknown-element=1
-compilers.p.unknown-identifier=1
-compilers.p.unknown-resource=1
-compilers.p.unresolved-ex-points=0
-compilers.p.unresolved-import=0
-compilers.s.create-docs=false
-compilers.s.doc-folder=doc
-compilers.s.open-tags=1
-eclipse.preferences.version=1
diff --git a/lttng/org.eclipse.linuxtools.tmf.pcap.core.tests/META-INF/MANIFEST.MF b/lttng/org.eclipse.linuxtools.tmf.pcap.core.tests/META-INF/MANIFEST.MF
deleted file mode 100644
index acfd408731..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.pcap.core.tests/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,24 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %Bundle-Name
-Bundle-Vendor: %Bundle-Vendor
-Bundle-Version: 1.0.0.qualifier
-Bundle-Localization: plugin
-Bundle-SymbolicName: org.eclipse.linuxtools.tmf.pcap.core.tests;singleton:=true
-Bundle-ActivationPolicy: lazy
-Bundle-RequiredExecutionEnvironment: JavaSE-1.7
-Require-Bundle: org.junit;bundle-version="4.0.0",
- org.eclipse.core.runtime,
- org.eclipse.core.resources,
- org.eclipse.linuxtools.pcap.core;bundle-version="1.0.0",
- org.eclipse.linuxtools.pcap.core.tests;bundle-version="1.0.0",
- org.eclipse.linuxtools.tmf.core;bundle-version="3.1.0",
- org.eclipse.linuxtools.tmf.core.tests;bundle-version="3.1.0",
- org.eclipse.linuxtools.tmf.pcap.core;bundle-version="1.0.0"
-Import-Package: com.google.common.collect
-Export-Package: org.eclipse.linuxtools.tmf.pcap.core.tests,
- org.eclipse.linuxtools.tmf.pcap.core.tests.analysis;x-internal:=true,
- org.eclipse.linuxtools.tmf.pcap.core.tests.event;x-internal:=true,
- org.eclipse.linuxtools.tmf.pcap.core.tests.shared;x-friends:="org.eclipse.linuxtools.tmf.pcap.ui.swtbot.tests",
- org.eclipse.linuxtools.tmf.pcap.core.tests.stubs;x-internal:=true,
- org.eclipse.linuxtools.tmf.pcap.core.tests.trace;x-internal:=true
diff --git a/lttng/org.eclipse.linuxtools.tmf.pcap.core.tests/about.html b/lttng/org.eclipse.linuxtools.tmf.pcap.core.tests/about.html
deleted file mode 100644
index 28737f60b7..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.pcap.core.tests/about.html
+++ /dev/null
@@ -1,28 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
-<title>About</title>
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
-
-<p>June 5, 2006</p>
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;). Unless otherwise
-indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is available
-at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is
-being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content. Check the Redistributor's license that was
-provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at <a href="http://www.eclipse.org/">http://www.eclipse.org</a>.</p>
-
-</body>
-</html> \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.tmf.pcap.core.tests/build.properties b/lttng/org.eclipse.linuxtools.tmf.pcap.core.tests/build.properties
deleted file mode 100644
index 05c0115474..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.pcap.core.tests/build.properties
+++ /dev/null
@@ -1,22 +0,0 @@
-###############################################################################
-# Copyright (c) 2014 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:
-# Ericsson - Initial API and implementation
-###############################################################################
-
-source.. = src/,\
- shared/,\
- stubs
-output.. = bin/
-bin.includes = META-INF/,\
- .,\
- plugin.properties
-src.includes = about.html
-additional.bundles = org.eclipse.jdt.annotation
-jars.extra.classpath = platform:/plugin/org.eclipse.jdt.annotation
diff --git a/lttng/org.eclipse.linuxtools.tmf.pcap.core.tests/plugin.properties b/lttng/org.eclipse.linuxtools.tmf.pcap.core.tests/plugin.properties
deleted file mode 100644
index ea9015e1cb..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.pcap.core.tests/plugin.properties
+++ /dev/null
@@ -1,15 +0,0 @@
-###############################################################################
-# Copyright (c) 2014 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:
-# Ericsson - Initial API and implementation
-###############################################################################
-
-#Properties file for org.eclipse.linuxtools.tmf.pcap.core.tests
-Bundle-Vendor = Eclipse Linux Tools
-Bundle-Name = Pcap support for TMF Core Tests Plug-in
diff --git a/lttng/org.eclipse.linuxtools.tmf.pcap.core.tests/pom.xml b/lttng/org.eclipse.linuxtools.tmf.pcap.core.tests/pom.xml
deleted file mode 100644
index 6b09ce1d6f..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.pcap.core.tests/pom.xml
+++ /dev/null
@@ -1,64 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Copyright (C) 2011, Red Hat, Inc.
-
- 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
--->
-<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
- <modelVersion>4.0.0</modelVersion>
-
- <parent>
- <artifactId>linuxtools-lttng-parent</artifactId>
- <groupId>org.eclipse.linuxtools.lttng</groupId>
- <version>3.2.0-SNAPSHOT</version>
- </parent>
-
- <artifactId>org.eclipse.linuxtools.tmf.pcap.core.tests</artifactId>
- <version>1.0.0-SNAPSHOT</version>
- <packaging>eclipse-test-plugin</packaging>
-
- <name>Pcap Support for TMF Core Tests Plug-in</name>
-
- <build>
- <plugins>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-antrun-plugin</artifactId>
- <version>1.7</version>
- <executions>
- <execution>
- <id>prepare</id>
- <phase>validate</phase>
- <configuration>
- <target>
- <echo message="prepare phase" />
- </target>
- </configuration>
- <goals>
- <goal>run</goal>
- </goals>
- </execution>
- </executions>
- </plugin>
- <plugin>
- <groupId>org.eclipse.tycho</groupId>
- <artifactId>tycho-surefire-plugin</artifactId>
- <version>${tycho-version}</version>
- <configuration>
- <includes>
- <include>**/AllTests.*</include>
- </includes>
- <useUIHarness>false</useUIHarness>
- <useUIThread>false</useUIThread>
- <product>org.eclipse.platform.ide</product>
- </configuration>
- </plugin>
- </plugins>
- </build>
-
- <groupId>org.eclipse.linuxtools.tmf.pcap</groupId>
-</project>
diff --git a/lttng/org.eclipse.linuxtools.tmf.pcap.core.tests/shared/org/eclipse/linuxtools/tmf/pcap/core/tests/shared/PcapTmfTestTrace.java b/lttng/org.eclipse.linuxtools.tmf.pcap.core.tests/shared/org/eclipse/linuxtools/tmf/pcap/core/tests/shared/PcapTmfTestTrace.java
deleted file mode 100644
index ad0f499473..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.pcap.core.tests/shared/org/eclipse/linuxtools/tmf/pcap/core/tests/shared/PcapTmfTestTrace.java
+++ /dev/null
@@ -1,122 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 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:
- * Vincent Perot - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.pcap.core.tests.shared;
-
-import org.eclipse.jdt.annotation.NonNull;
-import org.eclipse.jdt.annotation.NonNullByDefault;
-import org.eclipse.jdt.annotation.Nullable;
-import org.eclipse.linuxtools.internal.tmf.pcap.core.event.PcapEvent;
-import org.eclipse.linuxtools.internal.tmf.pcap.core.trace.PcapTrace;
-import org.eclipse.linuxtools.pcap.core.tests.shared.PcapTestTrace;
-import org.eclipse.linuxtools.tmf.core.exceptions.TmfTraceException;
-import org.eclipse.linuxtools.tmf.pcap.core.tests.stubs.PcapTmfTraceStub;
-
-/**
- * Available Pcap TMF test traces. Kind-of-extends {@link PcapTestTrace}.
- *
- * To run tests using these, you first need to run the "get-traces.[xml|sh]"
- * script located under lttng/org.eclipse.linuxtools.pcap.core.tests/rsc/ .
- *
- * @author Vincent Perot
- */
-@NonNullByDefault
-public enum PcapTmfTestTrace {
- /** A bad pcap file. */
- BAD_PCAPFILE,
-
- /** A Valid Pcap that is empty. */
- EMPTY_PCAP,
-
- /** A Pcap that mostly contains TCP packets. */
- MOSTLY_TCP,
-
- /** A Pcap that mostly contains UDP packets. */
- MOSTLY_UDP,
-
- /** A big-endian trace that contains two packets. */
- SHORT_BIG_ENDIAN,
-
- /** A little-endian trace that contains two packets. */
- SHORT_LITTLE_ENDIAN,
-
- /** A trace used for benchmarking. */
- BENCHMARK_TRACE,
-
- /** A Kernel trace directory. */
- KERNEL_DIRECTORY,
-
- /** A Kernel trace file. */
- KERNEL_TRACE;
-
- private final String fPath;
- private @Nullable PcapTmfTraceStub fTrace = null;
-
- private PcapTmfTestTrace() {
- @SuppressWarnings("null")
- @NonNull String path = PcapTestTrace.valueOf(this.name()).getPath().toString();
- fPath = path;
- }
-
- /**
- * @return The path of this trace
- */
- public String getPath() {
- return fPath;
- }
-
- /**
- * Return a PcapTmfTraceStub object of this test trace. It will be already
- * initTrace()'ed.
- *
- * Make sure you call {@link #exists()} before calling this!
- *
- * After being used by unit tests, traces must be properly disposed of by
- * calling the {@link PcapTmfTestTrace#dispose()} method.
- *
- * @return A PcapTmfTrace reference to this trace
- */
- public synchronized PcapTrace getTrace() {
- PcapTmfTraceStub trace = fTrace;
- if (trace != null) {
- trace.dispose();
- }
- trace = new PcapTmfTraceStub();
- try {
- trace.initTrace(null, fPath, PcapEvent.class);
- } catch (TmfTraceException e) {
- /* Should not happen if tracesExist() passed */
- throw new RuntimeException(e);
- }
- fTrace = trace;
- return trace;
- }
-
- /**
- * Check if the trace actually exists on disk or not.
- *
- * @return If the trace is present
- */
- public boolean exists() {
- return PcapTestTrace.valueOf(this.name()).exists();
- }
-
- /**
- * Dispose of the trace
- */
- public void dispose() {
- if (fTrace != null) {
- fTrace.dispose();
- fTrace = null;
- }
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.pcap.core.tests/src/org/eclipse/linuxtools/tmf/pcap/core/tests/AllTmfPcapCoreTests.java b/lttng/org.eclipse.linuxtools.tmf.pcap.core.tests/src/org/eclipse/linuxtools/tmf/pcap/core/tests/AllTmfPcapCoreTests.java
deleted file mode 100644
index ca551a0208..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.pcap.core.tests/src/org/eclipse/linuxtools/tmf/pcap/core/tests/AllTmfPcapCoreTests.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 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:
- * Vincent Perot - Initial generation with CodePro tools
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.pcap.core.tests;
-
-import org.junit.runner.RunWith;
-import org.junit.runners.Suite;
-
-/**
- * The class <code>AllTmfPcapCoreTests</code> builds a suite to run all the
- * tests.
- *
- * @author Vincent Perot
- */
-@RunWith(Suite.class)
-@Suite.SuiteClasses({
- org.eclipse.linuxtools.tmf.pcap.core.tests.analysis.AllTests.class,
- org.eclipse.linuxtools.tmf.pcap.core.tests.event.AllTests.class,
- org.eclipse.linuxtools.tmf.pcap.core.tests.trace.AllTests.class
-})
-public class AllTmfPcapCoreTests {
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.pcap.core.tests/src/org/eclipse/linuxtools/tmf/pcap/core/tests/analysis/AllTests.java b/lttng/org.eclipse.linuxtools.tmf.pcap.core.tests/src/org/eclipse/linuxtools/tmf/pcap/core/tests/analysis/AllTests.java
deleted file mode 100644
index 99aa8010a5..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.pcap.core.tests/src/org/eclipse/linuxtools/tmf/pcap/core/tests/analysis/AllTests.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 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:
- * Vincent Perot - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.pcap.core.tests.analysis;
-
-import org.junit.runner.RunWith;
-import org.junit.runners.Suite;
-
-/**
- * Analysis test suite
- */
-@RunWith(Suite.class)
-@Suite.SuiteClasses({
- StreamListAnalysisTest.class
-})
-public class AllTests {
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.pcap.core.tests/src/org/eclipse/linuxtools/tmf/pcap/core/tests/analysis/StreamListAnalysisTest.java b/lttng/org.eclipse.linuxtools.tmf.pcap.core.tests/src/org/eclipse/linuxtools/tmf/pcap/core/tests/analysis/StreamListAnalysisTest.java
deleted file mode 100644
index 6acf92615a..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.pcap.core.tests/src/org/eclipse/linuxtools/tmf/pcap/core/tests/analysis/StreamListAnalysisTest.java
+++ /dev/null
@@ -1,126 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 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:
- * Vincent Perot - Initial API and implementation
- ******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.pcap.core.tests.analysis;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertTrue;
-import static org.junit.Assert.fail;
-import static org.junit.Assume.assumeTrue;
-
-import org.eclipse.linuxtools.internal.tmf.pcap.core.analysis.StreamListAnalysis;
-import org.eclipse.linuxtools.internal.tmf.pcap.core.event.TmfPacketStreamBuilder;
-import org.eclipse.linuxtools.internal.tmf.pcap.core.protocol.TmfPcapProtocol;
-import org.eclipse.linuxtools.internal.tmf.pcap.core.trace.PcapTrace;
-import org.eclipse.linuxtools.pcap.core.tests.shared.PcapTestTrace;
-import org.eclipse.linuxtools.tmf.core.exceptions.TmfAnalysisException;
-import org.eclipse.linuxtools.tmf.core.exceptions.TmfTraceException;
-import org.junit.Test;
-
-/**
- * JUnit that test the StreamListAnalysis class.
- *
- * @author Vincent Perot
- */
-public class StreamListAnalysisTest {
-
- /**
- * Method that tests the constructor.
- */
- @Test
- public void constructorTest() {
- try (StreamListAnalysis analysis = new StreamListAnalysis();) {
- analysis.setId(StreamListAnalysis.ID);
- for (TmfPcapProtocol protocol : TmfPcapProtocol.values()) {
- if (protocol.supportsStream()) {
- assertNotNull(analysis.getBuilder(protocol));
- }
- }
- assertFalse(analysis.isFinished());
- }
- }
-
- /**
- * Method that tests canExecute().
- *
- * @throws TmfTraceException
- * Thrown when the trace cannot be initialized. Fails the test.
- */
- @Test
- public void canExecuteTest() throws TmfTraceException {
- PcapTestTrace trace = PcapTestTrace.MOSTLY_TCP;
- assumeTrue(trace.exists());
- String path = trace.getPath().toString();
- try (PcapTrace pcapTrace = new PcapTrace();
- StreamListAnalysis analysis = new StreamListAnalysis();) {
- analysis.setId(StreamListAnalysis.ID);
- pcapTrace.initTrace(null, path, null);
- assertTrue(analysis.canExecute(pcapTrace));
- }
- }
-
- /**
- * Method that execute the analysis and verify the results.
- *
- * @throws TmfAnalysisException
- * Thrown when an analysis error occurs during the setup or
- * execution. Fails the test.
- * @throws TmfTraceException
- * Thrown when the trace cannot be initialized. Fails the test.
- */
- @Test
- public void executeAnalysisTest() throws TmfAnalysisException, TmfTraceException {
- PcapTestTrace trace = PcapTestTrace.MOSTLY_TCP;
- assumeTrue(trace.exists());
- String path = trace.getPath().toString();
- try (PcapTrace pcapTrace = new PcapTrace();
- StreamListAnalysis analysis = new StreamListAnalysis();) {
- pcapTrace.initTrace(null, path, null);
- analysis.setId(StreamListAnalysis.ID);
- analysis.setTrace(pcapTrace);
- analysis.schedule();
- analysis.waitForCompletion();
-
- // Verify that builders are not empty.
- TmfPacketStreamBuilder builder = analysis.getBuilder(TmfPcapProtocol.ETHERNET_II);
- if (builder == null) {
- fail("The PacketStreamBuilder is null!");
- return;
- }
- assertEquals(1, builder.getNbStreams());
-
- builder = analysis.getBuilder(TmfPcapProtocol.IPV4);
- if (builder == null) {
- fail("The PacketStreamBuilder is null!");
- return;
- }
- assertEquals(3, builder.getNbStreams());
-
- builder = analysis.getBuilder(TmfPcapProtocol.TCP);
- if (builder == null) {
- fail("The PacketStreamBuilder is null!");
- return;
- }
- assertEquals(2, builder.getNbStreams());
-
- builder = analysis.getBuilder(TmfPcapProtocol.UDP);
- if (builder == null) {
- fail("The PacketStreamBuilder is null!");
- return;
- }
- assertEquals(1, builder.getNbStreams());
- }
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.pcap.core.tests/src/org/eclipse/linuxtools/tmf/pcap/core/tests/event/AllTests.java b/lttng/org.eclipse.linuxtools.tmf.pcap.core.tests/src/org/eclipse/linuxtools/tmf/pcap/core/tests/event/AllTests.java
deleted file mode 100644
index 90768d05fe..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.pcap.core.tests/src/org/eclipse/linuxtools/tmf/pcap/core/tests/event/AllTests.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 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:
- * Vincent Perot - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.pcap.core.tests.event;
-
-import org.junit.runner.RunWith;
-import org.junit.runners.Suite;
-
-/**
- * Event and Event Field test suite
- */
-@RunWith(Suite.class)
-@Suite.SuiteClasses({
- PcapEventTest.class,
- PcapEventFieldTest.class
-})
-public class AllTests {
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.pcap.core.tests/src/org/eclipse/linuxtools/tmf/pcap/core/tests/event/PcapEventFieldTest.java b/lttng/org.eclipse.linuxtools.tmf.pcap.core.tests/src/org/eclipse/linuxtools/tmf/pcap/core/tests/event/PcapEventFieldTest.java
deleted file mode 100644
index 67f624f95b..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.pcap.core.tests/src/org/eclipse/linuxtools/tmf/pcap/core/tests/event/PcapEventFieldTest.java
+++ /dev/null
@@ -1,243 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 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:
- * Vincent Perot - Initial API and implementation
- ******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.pcap.core.tests.event;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.fail;
-import static org.junit.Assume.assumeTrue;
-
-import java.io.IOException;
-import java.nio.ByteBuffer;
-import java.nio.ByteOrder;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.jdt.annotation.NonNull;
-import org.eclipse.linuxtools.internal.pcap.core.packet.BadPacketException;
-import org.eclipse.linuxtools.internal.pcap.core.packet.Packet;
-import org.eclipse.linuxtools.internal.pcap.core.protocol.ipv4.IPv4Packet;
-import org.eclipse.linuxtools.internal.pcap.core.trace.BadPcapFileException;
-import org.eclipse.linuxtools.internal.pcap.core.trace.PcapFile;
-import org.eclipse.linuxtools.internal.tmf.pcap.core.event.PcapEventField;
-import org.eclipse.linuxtools.internal.tmf.pcap.core.event.PcapRootEventField;
-import org.eclipse.linuxtools.pcap.core.tests.shared.PcapTestTrace;
-import org.eclipse.linuxtools.tmf.core.event.ITmfEventField;
-import org.eclipse.linuxtools.tmf.core.event.TmfEventField;
-import org.junit.BeforeClass;
-import org.junit.Test;
-
-/**
- * JUnit that test the PcapEventField class.
- *
- * @author Vincent Perot
- */
-public class PcapEventFieldTest {
-
- private static final @NonNull String EMPTY_STRING = "";
- private static PcapEventField fRegularField;
- private static PcapRootEventField fRootField;
-
- /**
- * Initialize the Packet and the Event.
- *
- * @throws BadPcapFileException
- * Thrown when the pcap file is erroneous.
- * @throws IOException
- * Thrown when an IO error occurs.
- * @throws BadPacketException
- * Thrown when the packet is erroneous.
- */
- @BeforeClass
- public static void setUp() throws IOException, BadPcapFileException, BadPacketException {
- ByteBuffer bb = ByteBuffer.allocate(25);
- bb.order(ByteOrder.BIG_ENDIAN);
-
- // Version + IHL
- bb.put((byte) 0x46);
-
- // DSCP + ECN
- bb.put((byte) 0x9A);
-
- // Total length - this is randomly chosen so that we verify that the
- // packet handles wrong total length.
- bb.put((byte) 0x00);
- bb.put((byte) 0xFF);
-
- // Identification
- bb.put((byte) 0x0F);
- bb.put((byte) 0xF0);
-
- // Flags + Fragment Offset
- bb.put((byte) 0x1E);
- bb.put((byte) 0xE1);
-
- // Time to live
- bb.put((byte) 0xA0);
-
- // Protocol - Unknown
- bb.put((byte) 0xFE);
-
- // Header checksum - chosen randomly
- bb.put((byte) 0x33);
- bb.put((byte) 0x44);
-
- // Source IP - 4 bytes
- bb.put((byte) 192);
- bb.put((byte) 168);
- bb.put((byte) 1);
- bb.put((byte) 0);
-
- // Destination IP - 4 bytes
- bb.put((byte) 193);
- bb.put((byte) 169);
- bb.put((byte) 2);
- bb.put((byte) 1);
-
- // Options - 4 bytes
- bb.put((byte) 0xA2);
- bb.put((byte) 0x56);
- bb.put((byte) 0xA2);
- bb.put((byte) 0x56);
-
- // Payload - 1 byte
- bb.put((byte) 0xA6);
-
- bb.flip();
-
- PcapTestTrace trace = PcapTestTrace.MOSTLY_TCP;
- assumeTrue(trace.exists());
- try (PcapFile dummy = new PcapFile(trace.getPath())) {
- IPv4Packet packet = new IPv4Packet(dummy, null, bb);
- ITmfEventField[] fieldArray = generatePacketFields(packet);
- fRegularField = new PcapEventField("Regular Field", EMPTY_STRING, fieldArray, packet);
- fRootField = new PcapRootEventField(EMPTY_STRING, fieldArray, packet);
- }
-
- }
-
- /**
- * Method that tests the copy constructor.
- */
- @Test
- public void copyConstructorTest() {
- PcapEventField oldField = fRegularField;
- if (oldField == null) {
- fail("The field has not been initialized!");
- return;
- }
- PcapEventField newField = new PcapEventField(oldField);
- assertEquals(fRegularField.hashCode(), newField.hashCode());
- assertEquals(fRegularField, newField);
- }
-
- /**
- * Method that tests a standard field value request.
- */
- @Test
- public void regularFieldValueRequestTest() {
- ITmfEventField field = fRootField.getField("Internet Protocol Version 4");
- if (field == null) {
- fail("The field is null!");
- return;
- }
-
- ITmfEventField subfield = field.getField("Source IP Address");
- if (subfield == null) {
- fail("The subfield is null!");
- return;
- }
-
- String string = subfield.getValue().toString();
- assertEquals("192.168.1.0", string);
- }
-
- /**
- * Method that tests a custom field value request.
- */
- @Test
- public void customFieldValueRequestTest() {
- ITmfEventField field = fRootField.getField(":protocol:");
- if (field == null) {
- fail("The field is null!");
- return;
- }
- String string = field.getValue().toString();
- assertEquals("IPV4", string);
-
- field = fRootField.getField(":packetsource:");
- if (field == null) {
- fail("The field is null!");
- return;
- }
- string = field.getValue().toString();
- assertEquals("192.168.1.0", string);
-
- field = fRootField.getField(":packetdestination:");
- if (field == null) {
- fail("The field is null!");
- return;
- }
- string = field.getValue().toString();
- assertEquals("193.169.2.1", string);
-
- }
-
- /**
- * Method that teststhe toString() method for a non-root field.
- */
- @Test
- public void regularToStringTest() {
- assertEquals("Src: 192.168.1.0 , Dst: 193.169.2.1", fRegularField.toString());
- }
-
- /**
- * Method that teststhe toString() method for a root field.
- */
- @Test
- public void rootToStringTest() {
- assertEquals("192.168.1.0 > 193.169.2.1 Id=4080 Len=1", fRootField.toString());
- }
-
- // Convenience method
- private static ITmfEventField[] generatePacketFields(Packet packet) {
- List<ITmfEventField> fieldList = new ArrayList<>();
- List<ITmfEventField> subfieldList = new ArrayList<>();
- Packet localPacket = packet;
-
- while (localPacket != null) {
- subfieldList.clear();
- for (Map.Entry<String, String> entry : localPacket.getFields().entrySet()) {
-
- @SuppressWarnings("null")
- @NonNull
- String key = entry.getKey();
-
- @SuppressWarnings("null")
- @NonNull
- String value = entry.getValue();
- subfieldList.add(new TmfEventField(key, value, null));
- }
- ITmfEventField[] subfieldArray = subfieldList.toArray(new ITmfEventField[subfieldList.size()]);
- fieldList.add(new PcapEventField(localPacket.getProtocol().getName(), EMPTY_STRING, subfieldArray, localPacket));
- localPacket = localPacket.getChildPacket();
- }
-
- ITmfEventField[] fieldArray = fieldList.toArray(new ITmfEventField[fieldList.size()]);
- if (fieldArray == null) {
- return new ITmfEventField[0];
- }
- return fieldArray;
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.pcap.core.tests/src/org/eclipse/linuxtools/tmf/pcap/core/tests/event/PcapEventTest.java b/lttng/org.eclipse.linuxtools.tmf.pcap.core.tests/src/org/eclipse/linuxtools/tmf/pcap/core/tests/event/PcapEventTest.java
deleted file mode 100644
index ab90499111..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.pcap.core.tests/src/org/eclipse/linuxtools/tmf/pcap/core/tests/event/PcapEventTest.java
+++ /dev/null
@@ -1,153 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 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:
- * Vincent Perot - Initial API and implementation
- ******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.pcap.core.tests.event;
-
-import static org.junit.Assert.*;
-import static org.junit.Assume.assumeTrue;
-
-import java.io.IOException;
-import java.nio.ByteBuffer;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.linuxtools.internal.pcap.core.trace.BadPcapFileException;
-import org.eclipse.linuxtools.internal.pcap.core.trace.PcapFile;
-import org.eclipse.linuxtools.internal.tmf.pcap.core.event.PcapEvent;
-import org.eclipse.linuxtools.internal.tmf.pcap.core.protocol.TmfPcapProtocol;
-import org.eclipse.linuxtools.internal.tmf.pcap.core.trace.PcapTrace;
-import org.eclipse.linuxtools.pcap.core.tests.shared.PcapTestTrace;
-import org.eclipse.linuxtools.tmf.core.exceptions.TmfTraceException;
-import org.eclipse.linuxtools.tmf.core.trace.TmfContext;
-import org.eclipse.linuxtools.tmf.core.trace.location.TmfLongLocation;
-import org.junit.BeforeClass;
-import org.junit.Test;
-
-import com.google.common.collect.ImmutableList;
-
-/**
- * JUnit that test the PcapEvent class.
- *
- * @author Vincent Perot
- */
-public class PcapEventTest {
-
- private static PcapEvent fEvent;
- private static List<TmfPcapProtocol> fProtocolList;
-
- /**
- * Initialize the Packet and the EventField.
- *
- * @throws BadPcapFileException
- * Thrown when the pcap file is erroneous.
- * @throws IOException
- * Thrown when an IO error occurs.
- * @throws TmfTraceException
- * Thrown when the trace is not valid.
- */
- @BeforeClass
- public static void setUp() throws IOException, BadPcapFileException, TmfTraceException {
-
- PcapTestTrace trace = PcapTestTrace.MOSTLY_TCP;
- assumeTrue(trace.exists());
- try (PcapFile pcap = new PcapFile(trace.getPath());
- PcapTrace pcapTrace = new PcapTrace();) {
- pcapTrace.initTrace(null, trace.getPath().toString(), PcapEvent.class);
- fEvent = pcapTrace.parseEvent(new TmfContext(new TmfLongLocation(3), 3));
- }
-
- // Initialize protocol list.
- List<TmfPcapProtocol> list = new ArrayList<>();
- list.add(TmfPcapProtocol.PCAP);
- list.add(TmfPcapProtocol.ETHERNET_II);
- list.add(TmfPcapProtocol.IPV4);
- list.add(TmfPcapProtocol.TCP);
- list.add(TmfPcapProtocol.UNKNOWN);
- fProtocolList = ImmutableList.copyOf(list);
- }
-
- /**
- * Method that tests getProtocols of PcapEvent.
- */
- @Test
- public void getProtocolsTest() {
- assertEquals(fProtocolList, fEvent.getProtocols());
- }
-
- /**
- * Method that tests getMostEncapsulatedProtocol of PcapEvent.
- */
- @Test
- public void getMostEncapsulatedProtocolTest() {
- assertEquals(TmfPcapProtocol.TCP, fEvent.getMostEncapsulatedProtocol());
- }
-
- /**
- * Method that tests getFields of PcapEvent.
- */
- @Test
- public void getFieldsTest() {
- Map<String, String> map = fEvent.getFields(TmfPcapProtocol.IPV4);
- if (map == null) {
- fail("getFieldsTest() failed because map is null!");
- return;
- }
- assertEquals("145.254.160.237", map.get("Source IP Address"));
- }
-
- /**
- * Method that tests getPayload of PcapEvent.
- */
- @Test
- public void getPayloadTest() {
- ByteBuffer bb = fEvent.getPayload(TmfPcapProtocol.TCP);
- if (bb == null) {
- fail("getPayloadTest() failed because bb is null!");
- return;
- }
- assertEquals((byte) 0x47, bb.get());
- }
-
- /**
- * Method that tests getSourceEndpoint of PcapEvent.
- */
- @Test
- public void getSourceEndpointTest() {
- assertEquals("00:00:01:00:00:00/145.254.160.237/3372", fEvent.getSourceEndpoint(TmfPcapProtocol.TCP));
- }
-
- /**
- * Method that tests getDestinationEndpointTest of PcapEvent.
- */
- @Test
- public void getDestinationEndpointTest() {
- assertEquals("fe:ff:20:00:01:00", fEvent.getDestinationEndpoint(TmfPcapProtocol.ETHERNET_II));
- }
-
- /**
- * Method that tests toString() of PcapEvent.
- */
- @Test
- public void toStringTest() {
- assertEquals("3372 > 80 [ACK, PSH] Seq=951057940 Ack=290218380 Len=20", fEvent.toString());
- }
-
- /**
- * Method that tests toString(protocol) of PcapEvent.
- */
- @Test
- public void toStringAtSpecificProtocolTest() {
- assertEquals("Src: 145.254.160.237 , Dst: 65.208.228.223", fEvent.toString(TmfPcapProtocol.IPV4));
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.pcap.core.tests/src/org/eclipse/linuxtools/tmf/pcap/core/tests/trace/AllTests.java b/lttng/org.eclipse.linuxtools.tmf.pcap.core.tests/src/org/eclipse/linuxtools/tmf/pcap/core/tests/trace/AllTests.java
deleted file mode 100644
index a17b490e96..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.pcap.core.tests/src/org/eclipse/linuxtools/tmf/pcap/core/tests/trace/AllTests.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 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:
- * Vincent Perot - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.pcap.core.tests.trace;
-
-import org.junit.runner.RunWith;
-import org.junit.runners.Suite;
-
-/**
- * Pcap trace test suite
- */
-@RunWith(Suite.class)
-@Suite.SuiteClasses({
- PcapTraceTest.class
-})
-public class AllTests {
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.pcap.core.tests/src/org/eclipse/linuxtools/tmf/pcap/core/tests/trace/PcapTraceTest.java b/lttng/org.eclipse.linuxtools.tmf.pcap.core.tests/src/org/eclipse/linuxtools/tmf/pcap/core/tests/trace/PcapTraceTest.java
deleted file mode 100644
index d1bc1f948a..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.pcap.core.tests/src/org/eclipse/linuxtools/tmf/pcap/core/tests/trace/PcapTraceTest.java
+++ /dev/null
@@ -1,307 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 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:
- * Vincent Perot - Initial API and implementation
- ******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.pcap.core.tests.trace;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertNull;
-import static org.junit.Assert.assertTrue;
-import static org.junit.Assume.assumeTrue;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.linuxtools.internal.tmf.pcap.core.event.PcapEvent;
-import org.eclipse.linuxtools.internal.tmf.pcap.core.trace.PcapTrace;
-import org.eclipse.linuxtools.tmf.core.exceptions.TmfTraceException;
-import org.eclipse.linuxtools.tmf.core.signal.TmfEndSynchSignal;
-import org.eclipse.linuxtools.tmf.core.signal.TmfSignal;
-import org.eclipse.linuxtools.tmf.core.timestamp.ITmfTimestamp;
-import org.eclipse.linuxtools.tmf.core.timestamp.TmfTimeRange;
-import org.eclipse.linuxtools.tmf.core.trace.ITmfContext;
-import org.eclipse.linuxtools.tmf.core.trace.location.TmfLongLocation;
-import org.eclipse.linuxtools.tmf.pcap.core.tests.shared.PcapTmfTestTrace;
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Test;
-
-/**
- * JUnit that test the PcapTrace class.
- *
- * @author Vincent Perot
- */
-public class PcapTraceTest {
-
- private static final PcapTmfTestTrace TEST_TRACE = PcapTmfTestTrace.MOSTLY_TCP;
-
- private PcapTrace fFixture;
-
- /**
- * Perform pre-test initialization.
- *
- * @throws TmfTraceException
- * If the test trace is not found
- */
- @Before
- public void setUp() throws TmfTraceException {
- assumeTrue(TEST_TRACE.exists());
- fFixture = new PcapTrace();
- fFixture.initTrace((IResource) null, TEST_TRACE.getPath(), PcapEvent.class);
- }
-
- /**
- * Perform post-test clean-up.
- */
- @After
- public void tearDown() {
- if (fFixture != null) {
- fFixture.dispose();
- }
- }
-
- /**
- * Run the PcapTrace() constructor test.
- */
- @Test
- public void testPcapTrace() {
- try (PcapTrace result = new PcapTrace();) {
- assertNotNull(result);
- assertEquals(1000, result.getCacheSize());
- assertEquals(0L, result.getNbEvents());
- assertEquals(0L, result.getStreamingInterval());
- assertNull(result.getResource());
- assertNull(result.getType());
- }
- }
-
- /**
- * Test the parseEvent() method
- */
- @Test
- public void testParseEvent() {
- ITmfContext ctx = fFixture.seekEvent(0);
- fFixture.getNext(ctx);
- PcapEvent event = fFixture.parseEvent(ctx);
- assertNotNull(event);
- }
-
- /**
- * Run the void broadcast(TmfSignal) method test.
- */
- @Test
- public void testBroadcast() {
- TmfSignal signal = new TmfEndSynchSignal(1);
- fFixture.broadcast(signal);
- }
-
- /**
- * Run the void dispose() method test.
- */
- @Test
- public void testClose() {
- try (PcapTrace emptyFixture = new PcapTrace();) {
- }
- }
-
- /**
- * Run the int getCacheSize() method test.
- */
- @Test
- public void testGetCacheSize() {
- try (PcapTrace emptyFixture = new PcapTrace();) {
- int result = emptyFixture.getCacheSize();
- assertEquals(1000, result);
- }
- }
-
- /**
- * Run the ITmfLocation<Comparable> getCurrentLocation() method test.
- */
- @Test
- public void testGetCurrentLocation() {
- TmfLongLocation result = (TmfLongLocation) fFixture.getCurrentLocation();
- assertEquals(new TmfLongLocation(0), result);
- }
-
- /**
- * Test the seekEvent() method with a null location.
- */
- @Test
- public void testSeekEventLoc_null() {
- TmfLongLocation loc = null;
- fFixture.seekEvent(loc);
- assertNotNull(fFixture);
- }
-
- /**
- * Test the seekEvent() method with a normal location.
- */
- @Test
- public void testSeekEventLoc_normal() {
- TmfLongLocation loc = new TmfLongLocation(3L);
- fFixture.seekEvent(loc);
- assertNotNull(fFixture);
- }
-
- /**
- * Run the ITmfTimestamp getEndTime() method test.
- */
- @Test
- public void testGetEndTime() {
- ITmfTimestamp result = fFixture.getEndTime();
- assertNotNull(result);
- }
-
- /**
- * Test the {@link PcapTrace#getEventType()} method.
- */
- @Test
- public void testGetEventType() {
- Class<?> result = fFixture.getEventType();
- assertNotNull(result);
- assertEquals(PcapEvent.class, result);
- }
-
- /**
- * Run the double getLocationRatio(ITmfLocation<?>) method test.
- */
- @Test
- public void testGetLocationRatio() {
- TmfLongLocation location = new TmfLongLocation(20L);
- double result = fFixture.getLocationRatio(location);
-
- assertEquals(20.0 / 43.0, result, 0.01);
- }
-
- /**
- * Run the String getName() method test.
- */
- @Test
- public void testGetName() {
- String result = fFixture.getName();
- assertNotNull(result);
- }
-
- /**
- * Run the getTraceProperties() method test.
- */
- @Test
- public void testGetTraceProperties() {
- int result = fFixture.getTraceProperties().size();
- assertEquals(6, result);
- }
-
- /**
- * Run the long getNbEvents() method test.
- */
- @Test
- public void testGetNbEvents() {
- long result = fFixture.getNbEvents();
- assertEquals(0, result);
- }
-
- /**
- * Run the String getPath() method test.
- */
- @Test
- public void testGetPath() {
- String result = fFixture.getPath();
- assertNotNull(result);
- }
-
- /**
- * Run the IResource getResource() method test.
- */
- @Test
- public void testGetResource() {
- IResource result = fFixture.getResource();
- assertNull(result);
- }
-
- /**
- * Run the ITmfTimestamp getStartTime() method test.
- */
- @Test
- public void testGetStartTime() {
- ITmfTimestamp result = fFixture.getStartTime();
- assertNotNull(result);
- }
-
- /**
- * Run the long getStreamingInterval() method test.
- */
- @Test
- public void testGetStreamingInterval() {
- long result = fFixture.getStreamingInterval();
- assertEquals(0L, result);
- }
-
- /**
- * Run the TmfTimeRange getTimeRange() method test.
- */
- @Test
- public void testGetTimeRange() {
- TmfTimeRange result = fFixture.getTimeRange();
- assertNotNull(result);
- }
-
- /**
- * Run the ITmfContext seekEvent(double) method test.
- */
- @Test
- public void testSeekEvent_ratio() {
- double ratio = 21.0 / 43.0;
- ITmfContext result = fFixture.seekEvent(ratio);
- assertNotNull(result);
- }
-
- /**
- * Run the ITmfContext seekEvent(long) method test.
- */
- @Test
- public void testSeekEvent_rank() {
- long rank = 1L;
- ITmfContext result = fFixture.seekEvent(rank);
- assertNotNull(result);
- }
-
- /**
- * Run the ITmfContext seekEvent(ITmfLocation<?>) method test.
- */
- @Test
- public void testSeekEvent_location() {
- TmfLongLocation pcapLocation = new TmfLongLocation(10L);
- ITmfContext result = fFixture.seekEvent(pcapLocation);
- assertNotNull(result);
- }
-
- /**
- * Run the boolean validate(IProject,String) method test.
- */
- @Test
- public void testValidate() {
- IProject project = null;
- IStatus result = fFixture.validate(project, TEST_TRACE.getPath());
- assertTrue(result.isOK());
- }
-
- /**
- * Run the String getHostId() method test
- */
- @Test
- public void getSource() {
- String a = fFixture.getHostId();
- assertEquals("mostlyTCP.pcap", a);
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.pcap.core.tests/stubs/org/eclipse/linuxtools/tmf/pcap/core/tests/stubs/PcapTmfTraceStub.java b/lttng/org.eclipse.linuxtools.tmf.pcap.core.tests/stubs/org/eclipse/linuxtools/tmf/pcap/core/tests/stubs/PcapTmfTraceStub.java
deleted file mode 100644
index ab0228ddc2..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.pcap.core.tests/stubs/org/eclipse/linuxtools/tmf/pcap/core/tests/stubs/PcapTmfTraceStub.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 École Polytechnique de Montréal
- *
- * 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:
- * Vincent Perot - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.pcap.core.tests.stubs;
-
-import org.eclipse.linuxtools.internal.tmf.pcap.core.trace.PcapTrace;
-import org.eclipse.linuxtools.tmf.core.signal.TmfSignalManager;
-import org.eclipse.linuxtools.tmf.core.signal.TmfTraceOpenedSignal;
-import org.eclipse.linuxtools.tmf.core.signal.TmfTraceSelectedSignal;
-
-/**
- * Dummy test pcap trace
- */
-public class PcapTmfTraceStub extends PcapTrace {
-
- /**
- * Simulate trace opening, to be called by tests who need an actively opened
- * trace
- */
- public void openTrace() {
- TmfSignalManager.dispatchSignal(new TmfTraceOpenedSignal(this, this, null));
- selectTrace();
- }
-
- /**
- * Simulate selecting the trace
- */
- public void selectTrace() {
- TmfSignalManager.dispatchSignal(new TmfTraceSelectedSignal(this, this));
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.pcap.core/.classpath b/lttng/org.eclipse.linuxtools.tmf.pcap.core/.classpath
deleted file mode 100644
index 098194ca4b..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.pcap.core/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
- <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.7"/>
- <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
- <classpathentry kind="src" path="src"/>
- <classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/lttng/org.eclipse.linuxtools.tmf.pcap.core/.project b/lttng/org.eclipse.linuxtools.tmf.pcap.core/.project
deleted file mode 100644
index ea9c87f035..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.pcap.core/.project
+++ /dev/null
@@ -1,34 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>org.eclipse.linuxtools.tmf.pcap.core</name>
- <comment></comment>
- <projects>
- </projects>
- <buildSpec>
- <buildCommand>
- <name>org.eclipse.jdt.core.javabuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.ManifestBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.SchemaBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.api.tools.apiAnalysisBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>org.eclipse.pde.PluginNature</nature>
- <nature>org.eclipse.jdt.core.javanature</nature>
- <nature>org.eclipse.pde.api.tools.apiAnalysisNature</nature>
- </natures>
-</projectDescription>
diff --git a/lttng/org.eclipse.linuxtools.tmf.pcap.core/.settings/org.eclipse.core.resources.prefs b/lttng/org.eclipse.linuxtools.tmf.pcap.core/.settings/org.eclipse.core.resources.prefs
deleted file mode 100644
index 99f26c0203..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.pcap.core/.settings/org.eclipse.core.resources.prefs
+++ /dev/null
@@ -1,2 +0,0 @@
-eclipse.preferences.version=1
-encoding/<project>=UTF-8
diff --git a/lttng/org.eclipse.linuxtools.tmf.pcap.core/.settings/org.eclipse.core.runtime.prefs b/lttng/org.eclipse.linuxtools.tmf.pcap.core/.settings/org.eclipse.core.runtime.prefs
deleted file mode 100644
index 5a0ad22d2a..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.pcap.core/.settings/org.eclipse.core.runtime.prefs
+++ /dev/null
@@ -1,2 +0,0 @@
-eclipse.preferences.version=1
-line.separator=\n
diff --git a/lttng/org.eclipse.linuxtools.tmf.pcap.core/.settings/org.eclipse.jdt.core.prefs b/lttng/org.eclipse.linuxtools.tmf.pcap.core/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index 9f3662cd78..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.pcap.core/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,394 +0,0 @@
-eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.annotation.inheritNullAnnotations=enabled
-org.eclipse.jdt.core.compiler.annotation.missingNonNullByDefaultAnnotation=ignore
-org.eclipse.jdt.core.compiler.annotation.nonnull=org.eclipse.jdt.annotation.NonNull
-org.eclipse.jdt.core.compiler.annotation.nonnullbydefault=org.eclipse.jdt.annotation.NonNullByDefault
-org.eclipse.jdt.core.compiler.annotation.nullable=org.eclipse.jdt.annotation.Nullable
-org.eclipse.jdt.core.compiler.annotation.nullanalysis=enabled
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.7
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.doc.comment.support=enabled
-org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=error
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
-org.eclipse.jdt.core.compiler.problem.comparingIdentical=error
-org.eclipse.jdt.core.compiler.problem.deadCode=error
-org.eclipse.jdt.core.compiler.problem.deprecation=error
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled
-org.eclipse.jdt.core.compiler.problem.discouragedReference=warning
-org.eclipse.jdt.core.compiler.problem.emptyStatement=error
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.problem.explicitlyClosedAutoCloseable=error
-org.eclipse.jdt.core.compiler.problem.fallthroughCase=error
-org.eclipse.jdt.core.compiler.problem.fatalOptionalError=disabled
-org.eclipse.jdt.core.compiler.problem.fieldHiding=error
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=error
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=error
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=error
-org.eclipse.jdt.core.compiler.problem.includeNullInfoFromAsserts=disabled
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=error
-org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=error
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=error
-org.eclipse.jdt.core.compiler.problem.invalidJavadoc=warning
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTags=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=protected
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=error
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=error
-org.eclipse.jdt.core.compiler.problem.missingDefaultCase=error
-org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=error
-org.eclipse.jdt.core.compiler.problem.missingEnumCaseDespiteDefault=enabled
-org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=error
-org.eclipse.jdt.core.compiler.problem.missingJavadocComments=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=protected
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagDescription=all_standard_tags
-org.eclipse.jdt.core.compiler.problem.missingJavadocTags=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsMethodTypeParameters=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=protected
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=error
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotationForInterfaceMethodImplementation=enabled
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=error
-org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=error
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=error
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=error
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=warning
-org.eclipse.jdt.core.compiler.problem.nonnullParameterAnnotationDropped=warning
-org.eclipse.jdt.core.compiler.problem.nullAnnotationInferenceConflict=warning
-org.eclipse.jdt.core.compiler.problem.nullReference=error
-org.eclipse.jdt.core.compiler.problem.nullSpecViolation=error
-org.eclipse.jdt.core.compiler.problem.nullUncheckedConversion=warning
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=error
-org.eclipse.jdt.core.compiler.problem.parameterAssignment=error
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=error
-org.eclipse.jdt.core.compiler.problem.potentialNullReference=error
-org.eclipse.jdt.core.compiler.problem.potentiallyUnclosedCloseable=warning
-org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning
-org.eclipse.jdt.core.compiler.problem.redundantNullAnnotation=warning
-org.eclipse.jdt.core.compiler.problem.redundantNullCheck=error
-org.eclipse.jdt.core.compiler.problem.redundantSpecificationOfTypeArguments=error
-org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=error
-org.eclipse.jdt.core.compiler.problem.reportMethodCanBePotentiallyStatic=ignore
-org.eclipse.jdt.core.compiler.problem.reportMethodCanBeStatic=error
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=error
-org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=disabled
-org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
-org.eclipse.jdt.core.compiler.problem.syntacticNullAnalysisForFields=enabled
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
-org.eclipse.jdt.core.compiler.problem.typeParameterHiding=error
-org.eclipse.jdt.core.compiler.problem.unavoidableGenericTypeProblems=disabled
-org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
-org.eclipse.jdt.core.compiler.problem.unclosedCloseable=error
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
-org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=error
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=error
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=error
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=warning
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=disabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=disabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=error
-org.eclipse.jdt.core.compiler.problem.unusedLabel=error
-org.eclipse.jdt.core.compiler.problem.unusedLocal=error
-org.eclipse.jdt.core.compiler.problem.unusedObjectAllocation=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=error
-org.eclipse.jdt.core.compiler.problem.unusedTypeParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedWarningToken=error
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=error
-org.eclipse.jdt.core.compiler.source=1.7
-org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_assignment=0
-org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
-org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
-org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
-org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
-org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0
-org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=80
-org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=0
-org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch=16
-org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_after_package=1
-org.eclipse.jdt.core.formatter.blank_lines_before_field=0
-org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
-org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
-org.eclipse.jdt.core.formatter.blank_lines_before_method=1
-org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
-org.eclipse.jdt.core.formatter.blank_lines_before_package=0
-org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
-org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
-org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
-org.eclipse.jdt.core.formatter.comment.format_block_comments=true
-org.eclipse.jdt.core.formatter.comment.format_header=false
-org.eclipse.jdt.core.formatter.comment.format_html=true
-org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=true
-org.eclipse.jdt.core.formatter.comment.format_line_comments=true
-org.eclipse.jdt.core.formatter.comment.format_source_code=true
-org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true
-org.eclipse.jdt.core.formatter.comment.indent_root_tags=true
-org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
-org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=insert
-org.eclipse.jdt.core.formatter.comment.line_length=80
-org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries=true
-org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries=true
-org.eclipse.jdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments=false
-org.eclipse.jdt.core.formatter.compact_else_if=true
-org.eclipse.jdt.core.formatter.continuation_indentation=2
-org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2
-org.eclipse.jdt.core.formatter.disabling_tag=@formatter\:off
-org.eclipse.jdt.core.formatter.enabling_tag=@formatter\:on
-org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
-org.eclipse.jdt.core.formatter.format_line_comment_starting_on_first_column=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
-org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_empty_lines=false
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=false
-org.eclipse.jdt.core.formatter.indentation.size=4
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_label=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_try=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources=insert
-org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_try=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
-org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.join_lines_in_comments=true
-org.eclipse.jdt.core.formatter.join_wrapped_lines=false
-org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.lineSplit=250
-org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
-org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
-org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true
-org.eclipse.jdt.core.formatter.tabulation.char=space
-org.eclipse.jdt.core.formatter.tabulation.size=4
-org.eclipse.jdt.core.formatter.use_on_off_tags=false
-org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
-org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
-org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true
-org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true
diff --git a/lttng/org.eclipse.linuxtools.tmf.pcap.core/.settings/org.eclipse.jdt.ui.prefs b/lttng/org.eclipse.linuxtools.tmf.pcap.core/.settings/org.eclipse.jdt.ui.prefs
deleted file mode 100644
index 4fd0c7006a..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.pcap.core/.settings/org.eclipse.jdt.ui.prefs
+++ /dev/null
@@ -1,56 +0,0 @@
-eclipse.preferences.version=1
-editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
-formatter_profile=_tmf-style
-formatter_settings_version=12
-sp_cleanup.add_default_serial_version_id=true
-sp_cleanup.add_generated_serial_version_id=false
-sp_cleanup.add_missing_annotations=false
-sp_cleanup.add_missing_deprecated_annotations=true
-sp_cleanup.add_missing_methods=false
-sp_cleanup.add_missing_nls_tags=false
-sp_cleanup.add_missing_override_annotations=true
-sp_cleanup.add_missing_override_annotations_interface_methods=true
-sp_cleanup.add_serial_version_id=false
-sp_cleanup.always_use_blocks=true
-sp_cleanup.always_use_parentheses_in_expressions=false
-sp_cleanup.always_use_this_for_non_static_field_access=false
-sp_cleanup.always_use_this_for_non_static_method_access=false
-sp_cleanup.convert_to_enhanced_for_loop=false
-sp_cleanup.correct_indentation=false
-sp_cleanup.format_source_code=false
-sp_cleanup.format_source_code_changes_only=false
-sp_cleanup.make_local_variable_final=false
-sp_cleanup.make_parameters_final=false
-sp_cleanup.make_private_fields_final=true
-sp_cleanup.make_type_abstract_if_missing_method=false
-sp_cleanup.make_variable_declarations_final=false
-sp_cleanup.never_use_blocks=false
-sp_cleanup.never_use_parentheses_in_expressions=true
-sp_cleanup.on_save_use_additional_actions=true
-sp_cleanup.organize_imports=false
-sp_cleanup.qualify_static_field_accesses_with_declaring_class=false
-sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_with_declaring_class=false
-sp_cleanup.qualify_static_method_accesses_with_declaring_class=false
-sp_cleanup.remove_private_constructors=true
-sp_cleanup.remove_trailing_whitespaces=true
-sp_cleanup.remove_trailing_whitespaces_all=true
-sp_cleanup.remove_trailing_whitespaces_ignore_empty=false
-sp_cleanup.remove_unnecessary_casts=false
-sp_cleanup.remove_unnecessary_nls_tags=false
-sp_cleanup.remove_unused_imports=false
-sp_cleanup.remove_unused_local_variables=false
-sp_cleanup.remove_unused_private_fields=true
-sp_cleanup.remove_unused_private_members=false
-sp_cleanup.remove_unused_private_methods=true
-sp_cleanup.remove_unused_private_types=true
-sp_cleanup.sort_members=false
-sp_cleanup.sort_members_all=false
-sp_cleanup.use_blocks=true
-sp_cleanup.use_blocks_only_for_return_and_throw=false
-sp_cleanup.use_parentheses_in_expressions=false
-sp_cleanup.use_this_for_non_static_field_access=false
-sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=true
-sp_cleanup.use_this_for_non_static_method_access=false
-sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true
diff --git a/lttng/org.eclipse.linuxtools.tmf.pcap.core/.settings/org.eclipse.pde.api.tools.prefs b/lttng/org.eclipse.linuxtools.tmf.pcap.core/.settings/org.eclipse.pde.api.tools.prefs
deleted file mode 100644
index acc3abd47c..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.pcap.core/.settings/org.eclipse.pde.api.tools.prefs
+++ /dev/null
@@ -1,97 +0,0 @@
-ANNOTATION_ELEMENT_TYPE_ADDED_METHOD_WITHOUT_DEFAULT_VALUE=Error
-ANNOTATION_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
-ANNOTATION_ELEMENT_TYPE_REMOVED_FIELD=Error
-ANNOTATION_ELEMENT_TYPE_REMOVED_METHOD=Error
-ANNOTATION_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
-API_COMPONENT_ELEMENT_TYPE_REMOVED_API_TYPE=Error
-API_COMPONENT_ELEMENT_TYPE_REMOVED_REEXPORTED_API_TYPE=Error
-API_COMPONENT_ELEMENT_TYPE_REMOVED_REEXPORTED_TYPE=Error
-API_COMPONENT_ELEMENT_TYPE_REMOVED_TYPE=Error
-API_USE_SCAN_FIELD_SEVERITY=Error
-API_USE_SCAN_METHOD_SEVERITY=Error
-API_USE_SCAN_TYPE_SEVERITY=Error
-CLASS_ELEMENT_TYPE_ADDED_METHOD=Error
-CLASS_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
-CLASS_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
-CLASS_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error
-CLASS_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
-CLASS_ELEMENT_TYPE_CHANGED_NON_ABSTRACT_TO_ABSTRACT=Error
-CLASS_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error
-CLASS_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
-CLASS_ELEMENT_TYPE_REMOVED_CONSTRUCTOR=Error
-CLASS_ELEMENT_TYPE_REMOVED_FIELD=Error
-CLASS_ELEMENT_TYPE_REMOVED_METHOD=Error
-CLASS_ELEMENT_TYPE_REMOVED_SUPERCLASS=Error
-CLASS_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
-CLASS_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
-CONSTRUCTOR_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
-CONSTRUCTOR_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
-CONSTRUCTOR_ELEMENT_TYPE_CHANGED_VARARGS_TO_ARRAY=Error
-CONSTRUCTOR_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
-ENUM_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error
-ENUM_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
-ENUM_ELEMENT_TYPE_REMOVED_ENUM_CONSTANT=Error
-ENUM_ELEMENT_TYPE_REMOVED_FIELD=Error
-ENUM_ELEMENT_TYPE_REMOVED_METHOD=Error
-ENUM_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
-FIELD_ELEMENT_TYPE_ADDED_VALUE=Error
-FIELD_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
-FIELD_ELEMENT_TYPE_CHANGED_FINAL_TO_NON_FINAL_STATIC_CONSTANT=Error
-FIELD_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error
-FIELD_ELEMENT_TYPE_CHANGED_NON_STATIC_TO_STATIC=Error
-FIELD_ELEMENT_TYPE_CHANGED_STATIC_TO_NON_STATIC=Error
-FIELD_ELEMENT_TYPE_CHANGED_TYPE=Error
-FIELD_ELEMENT_TYPE_CHANGED_VALUE=Error
-FIELD_ELEMENT_TYPE_REMOVED_TYPE_ARGUMENT=Error
-FIELD_ELEMENT_TYPE_REMOVED_VALUE=Error
-ILLEGAL_EXTEND=Warning
-ILLEGAL_IMPLEMENT=Warning
-ILLEGAL_INSTANTIATE=Warning
-ILLEGAL_OVERRIDE=Warning
-ILLEGAL_REFERENCE=Warning
-INTERFACE_ELEMENT_TYPE_ADDED_FIELD=Error
-INTERFACE_ELEMENT_TYPE_ADDED_METHOD=Error
-INTERFACE_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
-INTERFACE_ELEMENT_TYPE_ADDED_SUPER_INTERFACE_WITH_METHODS=Error
-INTERFACE_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
-INTERFACE_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error
-INTERFACE_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
-INTERFACE_ELEMENT_TYPE_REMOVED_FIELD=Error
-INTERFACE_ELEMENT_TYPE_REMOVED_METHOD=Error
-INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
-INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
-INVALID_JAVADOC_TAG=Warning
-INVALID_REFERENCE_IN_SYSTEM_LIBRARIES=Warning
-LEAK_EXTEND=Warning
-LEAK_FIELD_DECL=Warning
-LEAK_IMPLEMENT=Warning
-LEAK_METHOD_PARAM=Warning
-LEAK_METHOD_RETURN_TYPE=Warning
-METHOD_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
-METHOD_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
-METHOD_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
-METHOD_ELEMENT_TYPE_CHANGED_NON_ABSTRACT_TO_ABSTRACT=Error
-METHOD_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error
-METHOD_ELEMENT_TYPE_CHANGED_NON_STATIC_TO_STATIC=Error
-METHOD_ELEMENT_TYPE_CHANGED_STATIC_TO_NON_STATIC=Error
-METHOD_ELEMENT_TYPE_CHANGED_VARARGS_TO_ARRAY=Error
-METHOD_ELEMENT_TYPE_REMOVED_ANNOTATION_DEFAULT_VALUE=Error
-METHOD_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
-MISSING_EE_DESCRIPTIONS=Ignore
-TYPE_PARAMETER_ELEMENT_TYPE_ADDED_CLASS_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_ADDED_INTERFACE_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_CHANGED_CLASS_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_CHANGED_INTERFACE_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_CLASS_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error
-UNUSED_PROBLEM_FILTERS=Warning
-automatically_removed_unused_problem_filters=false
-eclipse.preferences.version=1
-incompatible_api_component_version=Error
-incompatible_api_component_version_include_major_without_breaking_change=Disabled
-incompatible_api_component_version_include_minor_without_api_change=Disabled
-invalid_since_tag_version=Error
-malformed_since_tag=Error
-missing_since_tag=Error
-report_api_breakage_when_major_version_incremented=Disabled
-report_resolution_errors_api_component=Warning
diff --git a/lttng/org.eclipse.linuxtools.tmf.pcap.core/.settings/org.eclipse.pde.prefs b/lttng/org.eclipse.linuxtools.tmf.pcap.core/.settings/org.eclipse.pde.prefs
deleted file mode 100644
index d92b94fd4b..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.pcap.core/.settings/org.eclipse.pde.prefs
+++ /dev/null
@@ -1,32 +0,0 @@
-compilers.f.unresolved-features=1
-compilers.f.unresolved-plugins=1
-compilers.incompatible-environment=1
-compilers.p.build=1
-compilers.p.build.bin.includes=1
-compilers.p.build.encodings=2
-compilers.p.build.java.compiler=2
-compilers.p.build.java.compliance=1
-compilers.p.build.missing.output=2
-compilers.p.build.output.library=1
-compilers.p.build.source.library=1
-compilers.p.build.src.includes=1
-compilers.p.deprecated=1
-compilers.p.discouraged-class=1
-compilers.p.internal=1
-compilers.p.missing-packages=1
-compilers.p.missing-version-export-package=2
-compilers.p.missing-version-import-package=2
-compilers.p.missing-version-require-bundle=2
-compilers.p.no-required-att=0
-compilers.p.not-externalized-att=1
-compilers.p.unknown-attribute=1
-compilers.p.unknown-class=1
-compilers.p.unknown-element=1
-compilers.p.unknown-identifier=1
-compilers.p.unknown-resource=1
-compilers.p.unresolved-ex-points=0
-compilers.p.unresolved-import=0
-compilers.s.create-docs=false
-compilers.s.doc-folder=doc
-compilers.s.open-tags=1
-eclipse.preferences.version=1
diff --git a/lttng/org.eclipse.linuxtools.tmf.pcap.core/META-INF/MANIFEST.MF b/lttng/org.eclipse.linuxtools.tmf.pcap.core/META-INF/MANIFEST.MF
deleted file mode 100644
index 7bc16f7bab..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.pcap.core/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,22 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %Bundle-Name
-Bundle-Vendor: %Bundle-Vendor
-Bundle-Version: 1.0.0.qualifier
-Bundle-Localization: plugin
-Bundle-SymbolicName: org.eclipse.linuxtools.tmf.pcap.core;singleton:=true
-Bundle-Activator: org.eclipse.linuxtools.internal.tmf.pcap.core.Activator
-Bundle-ActivationPolicy: lazy
-Bundle-RequiredExecutionEnvironment: JavaSE-1.7
-Require-Bundle: org.eclipse.core.runtime,
- org.eclipse.core.resources,
- org.eclipse.linuxtools.tmf.core;bundle-version="3.1.0",
- org.eclipse.linuxtools.pcap.core;bundle-version="1.0.0"
-Export-Package: org.eclipse.linuxtools.internal.tmf.pcap.core;x-internal:=true,
- org.eclipse.linuxtools.internal.tmf.pcap.core.analysis;x-friends:="org.eclipse.linuxtools.tmf.pcap.core.tests,org.eclipse.linuxtools.tmf.pcap.ui",
- org.eclipse.linuxtools.internal.tmf.pcap.core.event;x-friends:="org.eclipse.linuxtools.tmf.pcap.core.tests,org.eclipse.linuxtools.tmf.pcap.ui",
- org.eclipse.linuxtools.internal.tmf.pcap.core.protocol;x-friends:="org.eclipse.linuxtools.tmf.pcap.core.tests,org.eclipse.linuxtools.tmf.pcap.ui",
- org.eclipse.linuxtools.internal.tmf.pcap.core.signal;x-friends:="org.eclipse.linuxtools.tmf.pcap.ui",
- org.eclipse.linuxtools.internal.tmf.pcap.core.trace;x-friends:="org.eclipse.linuxtools.tmf.pcap.core.tests,org.eclipse.linuxtools.tmf.pcap.ui,org.eclipse.linuxtools.tmf.pcap.ui.swtbot.tests",
- org.eclipse.linuxtools.internal.tmf.pcap.core.util;x-internal:=true
-Import-Package: com.google.common.collect
diff --git a/lttng/org.eclipse.linuxtools.tmf.pcap.core/about.html b/lttng/org.eclipse.linuxtools.tmf.pcap.core/about.html
deleted file mode 100644
index 28737f60b7..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.pcap.core/about.html
+++ /dev/null
@@ -1,28 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
-<title>About</title>
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
-
-<p>June 5, 2006</p>
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;). Unless otherwise
-indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is available
-at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is
-being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content. Check the Redistributor's license that was
-provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at <a href="http://www.eclipse.org/">http://www.eclipse.org</a>.</p>
-
-</body>
-</html> \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.tmf.pcap.core/build.properties b/lttng/org.eclipse.linuxtools.tmf.pcap.core/build.properties
deleted file mode 100644
index 78168e28d0..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.pcap.core/build.properties
+++ /dev/null
@@ -1,22 +0,0 @@
-###############################################################################
-# Copyright (c) 2014 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:
-# Ericsson - Initial API and implementation
-###############################################################################
-
-source.. = src/
-output.. = bin/
-bin.includes = META-INF/,\
- .,\
- about.html,\
- plugin.properties,\
- plugin.xml
-src.includes = about.html
-additional.bundles = org.eclipse.jdt.annotation
-jars.extra.classpath = platform:/plugin/org.eclipse.jdt.annotation
diff --git a/lttng/org.eclipse.linuxtools.tmf.pcap.core/plugin.properties b/lttng/org.eclipse.linuxtools.tmf.pcap.core/plugin.properties
deleted file mode 100644
index 113c7092d8..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.pcap.core/plugin.properties
+++ /dev/null
@@ -1,19 +0,0 @@
-###############################################################################
-# Copyright (c) 2014 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:
-# Ericsson - Initial API and implementation
-###############################################################################
-
-#Properties file for org.eclipse.linuxtools.tmf.pcap.core
-Bundle-Vendor = Eclipse Linux Tools
-Bundle-Name = Pcap support for TMF Core Plug-in
-
-# Pcap trace type
-tracetype.category.pcap = Network Traces
-tracetype.type.pcap = Pcap Trace
diff --git a/lttng/org.eclipse.linuxtools.tmf.pcap.core/plugin.xml b/lttng/org.eclipse.linuxtools.tmf.pcap.core/plugin.xml
deleted file mode 100644
index 4062b329f4..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.pcap.core/plugin.xml
+++ /dev/null
@@ -1,33 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.4"?>
-<plugin>
- <extension
- point="org.eclipse.linuxtools.tmf.core.tracetype">
- <category
- id="org.eclipse.linuxtools.tmf.pcap.core.category"
- name="Network">
- </category>
- <type
- category="org.eclipse.linuxtools.tmf.pcap.core.category"
- event_type="org.eclipse.linuxtools.tmf.core.event.TmfEvent"
- id="org.eclipse.linuxtools.tmf.pcap.core.pcaptrace"
- isDirectory="false"
- name="Pcap Trace"
- trace_type="org.eclipse.linuxtools.internal.tmf.pcap.core.trace.PcapTrace">
- </type>
- </extension>
- <extension
- point="org.eclipse.linuxtools.tmf.core.analysis">
- <module
- analysis_module="org.eclipse.linuxtools.internal.tmf.pcap.core.analysis.StreamListAnalysis"
- automatic="true"
- id="org.eclipse.linuxtools.tmf.pcap.core.analysis.stream"
- name="Stream List">
- <tracetype
- applies="true"
- class="org.eclipse.linuxtools.internal.tmf.pcap.core.trace.PcapTrace">
- </tracetype>
- </module>
- </extension>
-
-</plugin>
diff --git a/lttng/org.eclipse.linuxtools.tmf.pcap.core/pom.xml b/lttng/org.eclipse.linuxtools.tmf.pcap.core/pom.xml
deleted file mode 100644
index 6761187612..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.pcap.core/pom.xml
+++ /dev/null
@@ -1,36 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Copyright (C) 2014, 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
--->
-<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
- <modelVersion>4.0.0</modelVersion>
-
- <parent>
- <artifactId>linuxtools-lttng-parent</artifactId>
- <groupId>org.eclipse.linuxtools.lttng</groupId>
- <version>3.2.0-SNAPSHOT</version>
- </parent>
-
- <artifactId>org.eclipse.linuxtools.tmf.pcap.core</artifactId>
- <version>1.0.0-SNAPSHOT</version>
- <packaging>eclipse-plugin</packaging>
-
- <name>Pcap support for TMF Core Plug-in</name>
-
- <build>
- <plugins>
- <plugin>
- <groupId>org.eclipse.tycho</groupId>
- <artifactId>tycho-source-plugin</artifactId>
- </plugin>
- </plugins>
- </build>
-
- <groupId>org.eclipse.linuxtools.tmf.pcap</groupId>
-</project>
diff --git a/lttng/org.eclipse.linuxtools.tmf.pcap.core/src/org/eclipse/linuxtools/internal/tmf/pcap/core/Activator.java b/lttng/org.eclipse.linuxtools.tmf.pcap.core/src/org/eclipse/linuxtools/internal/tmf/pcap/core/Activator.java
deleted file mode 100644
index 86f2a81a0a..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.pcap.core/src/org/eclipse/linuxtools/internal/tmf/pcap/core/Activator.java
+++ /dev/null
@@ -1,212 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 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:
- * Vincent Perot - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.internal.tmf.pcap.core;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Plugin;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jdt.annotation.Nullable;
-import org.osgi.framework.BundleContext;
-
-/**
- * <b><u>Activator</u></b>
- * <p>
- * The activator class controls the plug-in life cycle
- */
-public class Activator extends Plugin {
-
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
-
- /**
- * The plug-in ID
- */
- public static final String PLUGIN_ID = "org.eclipse.linuxtools.tmf.pcap.core"; //$NON-NLS-1$
-
- /**
- * The shared instance
- */
- private static @Nullable Activator fPlugin;
-
- // ------------------------------------------------------------------------
- // Constructors
- // ------------------------------------------------------------------------
-
- /**
- * Constructor
- */
- public Activator() {
- setDefault(this);
- }
-
- // ------------------------------------------------------------------------
- // Accessors
- // ------------------------------------------------------------------------
-
- /**
- * Returns the TMF Core plug-in instance.
- *
- * @return the TMF Core plug-in instance.
- */
- public static @Nullable Activator getDefault() {
- return fPlugin;
- }
-
- // Sets plug-in instance
- private static void setDefault(@Nullable Activator plugin) {
- fPlugin = plugin;
- }
-
- // ------------------------------------------------------------------------
- // Plugin
- // ------------------------------------------------------------------------
-
- @Override
- public void start(@Nullable BundleContext context) throws Exception {
- super.start(context);
- setDefault(this);
- }
-
- @Override
- public void stop(@Nullable BundleContext context) throws Exception {
- setDefault(null);
- super.stop(context);
- }
-
-
- // ------------------------------------------------------------------------
- // Log an IStatus
- // ------------------------------------------------------------------------
-
- /**
- * Log an IStatus object directly
- *
- * @param status
- * The status to log
- */
- public static void log(IStatus status) {
- Activator activator = fPlugin;
- if (activator == null) {
- return;
- }
- activator.getLog().log(status);
- }
-
- // ------------------------------------------------------------------------
- // Log INFO
- // ------------------------------------------------------------------------
-
- /**
- * Logs a message with severity INFO in the runtime log of the plug-in.
- *
- * @param message
- * A message to log
- */
- public static void logInfo(String message) {
- Activator activator = fPlugin;
- if (activator == null) {
- return;
- }
- activator.getLog().log(new Status(IStatus.INFO, PLUGIN_ID, message));
- }
-
- /**
- * Logs a message and exception with severity INFO in the runtime log of the
- * plug-in.
- *
- * @param message
- * A message to log
- * @param exception
- * The corresponding exception
- */
- public static void logInfo(String message, Throwable exception) {
- Activator activator = fPlugin;
- if (activator == null) {
- return;
- }
- activator.getLog().log(new Status(IStatus.INFO, PLUGIN_ID, message, exception));
- }
-
- // ------------------------------------------------------------------------
- // Log WARNING
- // ------------------------------------------------------------------------
-
- /**
- * Logs a message and exception with severity WARNING in the runtime log of
- * the plug-in.
- *
- * @param message
- * A message to log
- */
- public static void logWarning(String message) {
- Activator activator = fPlugin;
- if (activator == null) {
- return;
- }
- activator.getLog().log(new Status(IStatus.WARNING, PLUGIN_ID, message));
- }
-
- /**
- * Logs a message and exception with severity WARNING in the runtime log of
- * the plug-in.
- *
- * @param message
- * A message to log
- * @param exception
- * The corresponding exception
- */
- public static void logWarning(String message, Throwable exception) {
- Activator activator = fPlugin;
- if (activator == null) {
- return;
- }
- activator.getLog().log(new Status(IStatus.WARNING, PLUGIN_ID, message, exception));
- }
-
- // ------------------------------------------------------------------------
- // Log ERROR
- // ------------------------------------------------------------------------
-
- /**
- * Logs a message and exception with severity ERROR in the runtime log of
- * the plug-in.
- *
- * @param message
- * A message to log
- */
- public static void logError(String message) {
- Activator activator = fPlugin;
- if (activator == null) {
- return;
- }
- activator.getLog().log(new Status(IStatus.ERROR, PLUGIN_ID, message));
- }
-
- /**
- * Logs a message and exception with severity ERROR in the runtime log of
- * the plug-in.
- *
- * @param message
- * A message to log
- * @param exception
- * The corresponding exception
- */
- public static void logError(String message, Throwable exception) {
- Activator activator = fPlugin;
- if (activator == null) {
- return;
- }
- activator.getLog().log(new Status(IStatus.ERROR, PLUGIN_ID, message, exception));
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.pcap.core/src/org/eclipse/linuxtools/internal/tmf/pcap/core/analysis/StreamListAnalysis.java b/lttng/org.eclipse.linuxtools.tmf.pcap.core/src/org/eclipse/linuxtools/internal/tmf/pcap/core/analysis/StreamListAnalysis.java
deleted file mode 100644
index 53b00c1335..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.pcap.core/src/org/eclipse/linuxtools/internal/tmf/pcap/core/analysis/StreamListAnalysis.java
+++ /dev/null
@@ -1,166 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 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:
- * Vincent Perot - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.internal.tmf.pcap.core.analysis;
-
-import java.util.HashMap;
-import java.util.Map;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.jdt.annotation.Nullable;
-import org.eclipse.linuxtools.internal.tmf.pcap.core.event.PcapEvent;
-import org.eclipse.linuxtools.internal.tmf.pcap.core.event.TmfPacketStreamBuilder;
-import org.eclipse.linuxtools.internal.tmf.pcap.core.protocol.TmfPcapProtocol;
-import org.eclipse.linuxtools.internal.tmf.pcap.core.trace.PcapTrace;
-import org.eclipse.linuxtools.tmf.core.analysis.TmfAbstractAnalysisModule;
-import org.eclipse.linuxtools.tmf.core.event.ITmfEvent;
-import org.eclipse.linuxtools.tmf.core.exceptions.TmfAnalysisException;
-import org.eclipse.linuxtools.tmf.core.request.ITmfEventRequest;
-import org.eclipse.linuxtools.tmf.core.request.TmfEventRequest;
-import org.eclipse.linuxtools.tmf.core.timestamp.TmfTimeRange;
-import org.eclipse.linuxtools.tmf.core.trace.ITmfTrace;
-import org.eclipse.linuxtools.tmf.core.trace.TmfExperiment;
-
-/**
- * A pcap-specific analysis that parse an entire trace to find all the streams.
- *
- * @author Vincent Perot
- */
-public class StreamListAnalysis extends TmfAbstractAnalysisModule {
-
- /**
- * The Stream List analysis ID.
- */
- public static final String ID = "org.eclipse.linuxtools.tmf.pcap.core.analysis.stream"; //$NON-NLS-1$
-
- private @Nullable ITmfEventRequest fRequest;
- private final Map<TmfPcapProtocol, TmfPacketStreamBuilder> fBuilders;
-
- /**
- * The default constructor. It initializes all variables.
- */
- public StreamListAnalysis() {
- super();
- fBuilders = new HashMap<>();
- for (TmfPcapProtocol protocol : TmfPcapProtocol.values()) {
- if (protocol.supportsStream()) {
- fBuilders.put(protocol, new TmfPacketStreamBuilder(protocol));
- }
- }
- }
-
- @Override
- public boolean canExecute(ITmfTrace trace) {
-
- // Trace is Pcap
- if (trace instanceof PcapTrace) {
- return true;
- }
-
- // Trace is not a TmfExperiment
- if (!(trace instanceof TmfExperiment)) {
- return false;
- }
-
- // Trace is TmfExperiment. Check if it has a PcapTrace.
- TmfExperiment experiment = (TmfExperiment) trace;
- ITmfTrace[] traces = experiment.getTraces();
- for (int i = 0; i < traces.length; i++) {
- if (traces[i] instanceof PcapTrace) {
- return true;
- }
- }
-
- // No Pcap :(
- return false;
- }
-
- @Override
- protected boolean executeAnalysis(@Nullable IProgressMonitor monitor) throws TmfAnalysisException {
- IProgressMonitor mon = (monitor == null ? new NullProgressMonitor() : monitor);
- ITmfTrace trace = getTrace();
- if (trace == null) {
- /* This analysis was cancelled in the meantime */
- return false;
- }
-
- ITmfEventRequest request = fRequest;
- if ((request != null) && (!request.isCompleted())) {
- request.cancel();
- }
-
- request = new TmfEventRequest(PcapEvent.class,
- TmfTimeRange.ETERNITY, 0L, ITmfEventRequest.ALL_DATA,
- ITmfEventRequest.ExecutionType.BACKGROUND) {
-
- @Override
- public void handleData(ITmfEvent data) {
- // Called for each event
- super.handleData(data);
- if (!(data instanceof PcapEvent)) {
- return;
- }
- PcapEvent event = (PcapEvent) data;
- for (TmfPcapProtocol protocol : fBuilders.keySet()) {
- fBuilders.get(protocol).addEventToStream(event);
- }
-
- }
- };
- trace.sendRequest(request);
- fRequest = request;
- try {
- request.waitForCompletion();
- } catch (InterruptedException e) {
- // Request was canceled.
- return false;
- }
-
- return !mon.isCanceled() && !request.isCancelled() && !request.isFailed();
-
- }
-
- @Override
- protected void canceling() {
- ITmfEventRequest req = fRequest;
- if ((req != null) && (!req.isCompleted())) {
- req.cancel();
- }
- }
-
- /**
- * Getter method that returns the packet builder associated to a particular
- * protocol.
- *
- * @param protocol
- * The specified protocol.
- * @return The builder.
- */
- public @Nullable TmfPacketStreamBuilder getBuilder(TmfPcapProtocol protocol) {
- return fBuilders.get(protocol);
- }
-
- /**
- * Method that indicates if the analysis is still running or has finished.
- *
- * @return Whether the analysis is finished or not.
- */
- public boolean isFinished() {
- ITmfEventRequest req = fRequest;
- if (req == null) {
- return false;
- }
- return req.isCompleted();
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.pcap.core/src/org/eclipse/linuxtools/internal/tmf/pcap/core/analysis/package-info.java b/lttng/org.eclipse.linuxtools.tmf.pcap.core/src/org/eclipse/linuxtools/internal/tmf/pcap/core/analysis/package-info.java
deleted file mode 100644
index 664044c86f..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.pcap.core/src/org/eclipse/linuxtools/internal/tmf/pcap/core/analysis/package-info.java
+++ /dev/null
@@ -1,14 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 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:
- * Ericsson - Initial API and implementation
- *******************************************************************************/
-
-@org.eclipse.jdt.annotation.NonNullByDefault
-package org.eclipse.linuxtools.internal.tmf.pcap.core.analysis; \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.tmf.pcap.core/src/org/eclipse/linuxtools/internal/tmf/pcap/core/event/Messages.java b/lttng/org.eclipse.linuxtools.tmf.pcap.core/src/org/eclipse/linuxtools/internal/tmf/pcap/core/event/Messages.java
deleted file mode 100644
index 47df1b161e..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.pcap.core/src/org/eclipse/linuxtools/internal/tmf/pcap/core/event/Messages.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 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:
- * Vincent Perot - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.internal.tmf.pcap.core.event;
-
-import org.eclipse.jdt.annotation.NonNullByDefault;
-import org.eclipse.jdt.annotation.Nullable;
-import org.eclipse.osgi.util.NLS;
-
-@NonNullByDefault(false)
-@SuppressWarnings("javadoc")
-public class Messages extends NLS {
-
- private static final String BUNDLE_NAME = "org.eclipse.linuxtools.internal.tmf.pcap.core.event.messages"; //$NON-NLS-1$
-
- public static @Nullable String PcapEventType_DefaultContext;
- public static @Nullable String PcapEventType_DefaultTypeID;
-
- static {
- // initialize resource bundle
- NLS.initializeMessages(BUNDLE_NAME, Messages.class);
- }
-
- private Messages() {
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.pcap.core/src/org/eclipse/linuxtools/internal/tmf/pcap/core/event/PcapEvent.java b/lttng/org.eclipse.linuxtools.tmf.pcap.core/src/org/eclipse/linuxtools/internal/tmf/pcap/core/event/PcapEvent.java
deleted file mode 100644
index 705c521984..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.pcap.core/src/org/eclipse/linuxtools/internal/tmf/pcap/core/event/PcapEvent.java
+++ /dev/null
@@ -1,242 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 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:
- * Vincent Perot - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.internal.tmf.pcap.core.event;
-
-import java.nio.ByteBuffer;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.jdt.annotation.NonNull;
-import org.eclipse.jdt.annotation.Nullable;
-import org.eclipse.linuxtools.internal.pcap.core.packet.Packet;
-import org.eclipse.linuxtools.internal.pcap.core.protocol.PcapProtocol;
-import org.eclipse.linuxtools.internal.tmf.pcap.core.protocol.TmfPcapProtocol;
-import org.eclipse.linuxtools.internal.tmf.pcap.core.util.ProtocolConversion;
-import org.eclipse.linuxtools.tmf.core.event.ITmfEventField;
-import org.eclipse.linuxtools.tmf.core.event.TmfEvent;
-import org.eclipse.linuxtools.tmf.core.event.TmfEventType;
-import org.eclipse.linuxtools.tmf.core.timestamp.ITmfTimestamp;
-import org.eclipse.linuxtools.tmf.core.trace.ITmfTrace;
-
-import com.google.common.collect.ImmutableList;
-
-/**
- * Class that extends TmfEvent to allow TMF to use the packets from the parser.
- * It is a simple TmfEvent that wraps a Packet.
- *
- * @author Vincent Perot
- */
-public class PcapEvent extends TmfEvent {
-
- /** Packet Source Field ID */
- public static final String EVENT_FIELD_PACKET_SOURCE = ":packetsource:"; //$NON-NLS-1$
- /** Packet Destination Field ID */
- public static final String EVENT_FIELD_PACKET_DESTINATION = ":packetdestination:"; //$NON-NLS-1$
- /** Packet Protocol Field ID */
- public static final String EVENT_FIELD_PACKET_PROTOCOL = ":protocol:"; //$NON-NLS-1$
-
- private static final String EMPTY_STRING = ""; //$NON-NLS-1$
-
- private final Packet fPacket;
-
- /**
- * Lazy-loaded field representing all the protocols in this event
- */
- private transient @Nullable Collection<TmfPcapProtocol> fProtocols;
-
- /**
- * Full constructor.
- *
- * @param trace
- * the parent trace
- * @param rank
- * the event rank (in the trace)
- * @param timestamp
- * the event timestamp
- * @param source
- * the event source
- * @param type
- * the event type
- * @param content
- * the event content (payload)
- * @param reference
- * the event reference
- * @param packet
- * The packet contained in this event
- */
- public PcapEvent(ITmfTrace trace,
- long rank,
- ITmfTimestamp timestamp,
- String source,
- TmfEventType type,
- ITmfEventField content,
- String reference,
- Packet packet) {
-
- super(trace, rank, timestamp, source, type, content, reference);
- fPacket = packet;
- }
-
- /**
- * Method that returns an immutable map containing all the fields of a
- * packet at a certain protocol. For instance, to get the Source IP Address,
- * use:
- * <code>event.getFields(TmfProtocol.IPV4).get("Source IP Address");</code>. <br>
- * It returns null if the protocol is inexistent in the PcapEvent.
- *
- * @param protocol
- * The specified protocol
- * @return A map containing the fields.
- */
- public @Nullable Map<String, String> getFields(TmfPcapProtocol protocol) {
- PcapProtocol p = ProtocolConversion.unwrap(protocol);
- Packet packet = fPacket.getPacket(p);
- if (packet == null) {
- return null;
- }
- return packet.getFields();
- }
-
- /**
- * Method that returns the payload at a certain protocol level. It returns
- * null if the protocol is inexistent in the PcapEvent.
- *
- * @param protocol
- * The specified protocol
- * @return The payload as a ByteBuffer.
- */
- public @Nullable ByteBuffer getPayload(TmfPcapProtocol protocol) {
- PcapProtocol p = ProtocolConversion.unwrap(protocol);
- Packet packet = fPacket.getPacket(p);
- if (packet == null) {
- return null;
- }
- return packet.getPayload();
- }
-
- /**
- * Method that returns the source endpoint at a certain protocol level. It
- * returns null if the protocol is inexistent in the PcapEvent.
- *
- * @param protocol
- * The specified protocol
- * @return The source endpoint.
- */
- public @Nullable String getSourceEndpoint(TmfPcapProtocol protocol) {
- PcapProtocol p = ProtocolConversion.unwrap(protocol);
- Packet packet = fPacket.getPacket(p);
- if (packet == null) {
- return null;
- }
- return packet.getSourceEndpoint().toString();
- }
-
- /**
- * Method that returns the destination endpoint at a certain protocol level.
- * It returns null if the protocol is inexistent in the PcapEvent.
- *
- * @param protocol
- * The specified protocol
- * @return The destination endpoint.
- */
- public @Nullable String getDestinationEndpoint(TmfPcapProtocol protocol) {
- PcapProtocol p = ProtocolConversion.unwrap(protocol);
- Packet packet = fPacket.getPacket(p);
- if (packet == null) {
- return null;
- }
- return packet.getDestinationEndpoint().toString();
- }
-
- /**
- * Method that returns the most encapsulated protocol in this PcapEvent. If
- * it is an unknown protocol, it returns the last known protocol.
- *
- * @return The most encapsulated TmfProtocol.
- */
- public TmfPcapProtocol getMostEncapsulatedProtocol() {
- return ProtocolConversion.wrap(fPacket.getMostEcapsulatedPacket().getProtocol());
- }
-
- /**
- * Method that returns all the protocols in this PcapEvent.
- *
- * @return A list containing all the TmfProtocol.
- */
- public Collection<TmfPcapProtocol> getProtocols() {
- if (fProtocols != null) {
- return fProtocols;
- }
- ImmutableList.Builder<TmfPcapProtocol> builder = new ImmutableList.Builder<>();
- Packet packet = fPacket;
-
- // Go to start.
- while (packet != null && packet.getParentPacket() != null) {
- packet = packet.getParentPacket();
- }
-
- if (packet == null) {
- @SuppressWarnings("null")
- @NonNull List<TmfPcapProtocol> emptyList = Collections.EMPTY_LIST;
- fProtocols = emptyList;
- return fProtocols;
- }
- // Go through all the packets and add them to list.
- builder.add(ProtocolConversion.wrap(packet.getProtocol()));
- while (packet != null && packet.getChildPacket() != null) {
- packet = packet.getChildPacket();
- if (packet != null) {
- builder.add(ProtocolConversion.wrap(packet.getProtocol()));
- }
- }
-
- @SuppressWarnings("null")
- @NonNull ImmutableList<TmfPcapProtocol> immutableList = builder.build();
- fProtocols = immutableList;
- return immutableList;
- }
-
- /**
- * Getter method that returns the packet. This is default visible since it
- * is only used by tmf.pcap.core and thus should not be visible to other
- * packages
- *
- * @return The packet.
- */
- Packet getPacket() {
- return fPacket;
- }
-
- @Override
- public String toString() {
- return fPacket.getGlobalSummaryString();
- }
-
- /**
- * Return the signification of the PcapEvent at a specific protocol level.
- *
- * @param protocol
- * The specified protocol.
- * @return The signification as a String.
- */
- public String toString(TmfPcapProtocol protocol) {
- PcapProtocol p = ProtocolConversion.unwrap(protocol);
- Packet packet = fPacket.getPacket(p);
- if (packet == null) {
- return EMPTY_STRING;
- }
- return packet.getLocalSummaryString();
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.pcap.core/src/org/eclipse/linuxtools/internal/tmf/pcap/core/event/PcapEventField.java b/lttng/org.eclipse.linuxtools.tmf.pcap.core/src/org/eclipse/linuxtools/internal/tmf/pcap/core/event/PcapEventField.java
deleted file mode 100644
index 004f50d3b0..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.pcap.core/src/org/eclipse/linuxtools/internal/tmf/pcap/core/event/PcapEventField.java
+++ /dev/null
@@ -1,64 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 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:
- * Vincent Perot - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.internal.tmf.pcap.core.event;
-
-import org.eclipse.jdt.annotation.Nullable;
-import org.eclipse.linuxtools.internal.pcap.core.packet.Packet;
-import org.eclipse.linuxtools.tmf.core.event.ITmfEventField;
-import org.eclipse.linuxtools.tmf.core.event.TmfEventField;
-
-/**
- * Class that represents a TMF Pcap Event Field. It is identical to a
- * TmfEventField, except that it overrides the toString() method.
- *
- * @author Vincent Perot
- */
-public class PcapEventField extends TmfEventField {
-
- private final String fSummaryString;
-
- /**
- * Full constructor
- *
- * @param name
- * The event field id.
- * @param value
- * The event field value.
- * @param fields
- * The list of subfields.
- * @param packet
- * The packet from which to take the fields from.
- * @throws IllegalArgumentException
- * If 'name' is null, or if 'fields' has duplicate field names.
- */
- public PcapEventField(String name, Object value, @Nullable ITmfEventField[] fields, Packet packet) {
- super(name, value, fields);
- fSummaryString = packet.getLocalSummaryString();
- }
-
- /**
- * Copy constructor
- *
- * @param field
- * the other event field
- */
- public PcapEventField(final PcapEventField field) {
- super(field);
- fSummaryString = field.fSummaryString;
- }
-
- @Override
- public String toString() {
- return fSummaryString;
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.pcap.core/src/org/eclipse/linuxtools/internal/tmf/pcap/core/event/PcapEventType.java b/lttng/org.eclipse.linuxtools.tmf.pcap.core/src/org/eclipse/linuxtools/internal/tmf/pcap/core/event/PcapEventType.java
deleted file mode 100644
index d15975fea0..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.pcap.core/src/org/eclipse/linuxtools/internal/tmf/pcap/core/event/PcapEventType.java
+++ /dev/null
@@ -1,75 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 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:
- * Vincent Perot - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.internal.tmf.pcap.core.event;
-
-import org.eclipse.jdt.annotation.NonNull;
-import org.eclipse.jdt.annotation.Nullable;
-import org.eclipse.linuxtools.tmf.core.event.ITmfEventField;
-import org.eclipse.linuxtools.tmf.core.event.TmfEventType;
-
-/**
- * Class that represents the type of a PcapEvent.
- *
- * @author Vincent Perot
- */
-public class PcapEventType extends TmfEventType {
-
- private static final String EMPTY_STRING = ""; //$NON-NLS-1$
-
- /**
- * The default Context ID for a PcapEvent
- */
- @SuppressWarnings("null")
- public static final @NonNull String DEFAULT_PCAP_CONTEXT_ID = Messages.PcapEventType_DefaultContext == null ? EMPTY_STRING : Messages.PcapEventType_DefaultContext;
-
- /**
- * The default Pcap Type ID for a PcapEvent
- */
- @SuppressWarnings("null")
- public static final @NonNull String DEFAULT_PCAP_TYPE_ID = Messages.PcapEventType_DefaultTypeID == null ? EMPTY_STRING : Messages.PcapEventType_DefaultTypeID;
-
- /**
- * Default constructor
- */
- public PcapEventType() {
- this(DEFAULT_PCAP_TYPE_ID, null);
- }
-
- /**
- * Full constructor
- *
- * @param typeId
- * the type name
- * @param root
- * the root field
- */
- public PcapEventType(final String typeId, final @Nullable ITmfEventField root) {
- super(DEFAULT_PCAP_CONTEXT_ID, typeId, root);
- }
-
- /**
- * Copy constructor
- *
- * @param type
- * the other type
- */
- public PcapEventType(final PcapEventType type) {
- super(type);
- }
-
- @Override
- public @Nullable String toString() {
- return getName();
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.pcap.core/src/org/eclipse/linuxtools/internal/tmf/pcap/core/event/PcapRootEventField.java b/lttng/org.eclipse.linuxtools.tmf.pcap.core/src/org/eclipse/linuxtools/internal/tmf/pcap/core/event/PcapRootEventField.java
deleted file mode 100644
index 66654fcd74..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.pcap.core/src/org/eclipse/linuxtools/internal/tmf/pcap/core/event/PcapRootEventField.java
+++ /dev/null
@@ -1,90 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 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:
- * Vincent Perot - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.internal.tmf.pcap.core.event;
-
-import org.eclipse.jdt.annotation.Nullable;
-import org.eclipse.linuxtools.internal.pcap.core.packet.Packet;
-import org.eclipse.linuxtools.tmf.core.event.ITmfEventField;
-import org.eclipse.linuxtools.tmf.core.event.TmfEventField;
-
-/**
- * Class that represents the root node of Pcap Event Field.
- *
- * @author Vincent Perot
- */
-public class PcapRootEventField extends TmfEventField {
-
- private final TmfEventField fPacketSourceField;
- private final TmfEventField fPacketDestinationField;
- private final TmfEventField fProtocolField;
- private final String fSummaryString;
-
- /**
- * Full constructor
- *
- * @param value
- * The event field value.
- * @param fields
- * The list of subfields.
- * @param packet
- * The packet from which to take the fields from.
- * @throws IllegalArgumentException
- * If 'name' is null, or if 'fields' has duplicate field names.
- */
- public PcapRootEventField(Object value, @Nullable ITmfEventField[] fields, Packet packet) {
- super(ITmfEventField.ROOT_FIELD_ID, value, fields);
- fPacketSourceField = new TmfEventField(PcapEvent.EVENT_FIELD_PACKET_SOURCE,
- packet.getMostEcapsulatedPacket().getSourceEndpoint().toString(), null);
- fPacketDestinationField = new TmfEventField(PcapEvent.EVENT_FIELD_PACKET_DESTINATION,
- packet.getMostEcapsulatedPacket().getDestinationEndpoint().toString(), null);
- fProtocolField = new TmfEventField(PcapEvent.EVENT_FIELD_PACKET_PROTOCOL,
- packet.getMostEcapsulatedPacket().getProtocol().getShortName().toUpperCase(), null);
- fSummaryString = packet.getGlobalSummaryString();
- }
-
- /**
- * Copy constructor
- *
- * @param field
- * the other event field
- */
- public PcapRootEventField(final PcapRootEventField field) {
- super(field);
- fPacketSourceField = field.fPacketSourceField;
- fPacketDestinationField = field.fPacketDestinationField;
- fProtocolField = field.fProtocolField;
- fSummaryString = field.fSummaryString;
- }
-
- @Override
- public String toString() {
- return fSummaryString;
- }
-
- @Override
- public @Nullable ITmfEventField getField(@Nullable String name) {
- if (name == null) {
- return null;
- }
- switch (name) {
- case PcapEvent.EVENT_FIELD_PACKET_SOURCE:
- return fPacketSourceField;
- case PcapEvent.EVENT_FIELD_PACKET_DESTINATION:
- return fPacketDestinationField;
- case PcapEvent.EVENT_FIELD_PACKET_PROTOCOL:
- return fProtocolField;
- default:
- return super.getField(name);
- }
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.pcap.core/src/org/eclipse/linuxtools/internal/tmf/pcap/core/event/TmfPacketStream.java b/lttng/org.eclipse.linuxtools.tmf.pcap.core/src/org/eclipse/linuxtools/internal/tmf/pcap/core/event/TmfPacketStream.java
deleted file mode 100644
index 7a32d7a047..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.pcap.core/src/org/eclipse/linuxtools/internal/tmf/pcap/core/event/TmfPacketStream.java
+++ /dev/null
@@ -1,175 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 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:
- * Vincent Perot - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.internal.tmf.pcap.core.event;
-
-import org.eclipse.linuxtools.internal.pcap.core.stream.PacketStream;
-import org.eclipse.linuxtools.internal.tmf.pcap.core.protocol.TmfPcapProtocol;
-import org.eclipse.linuxtools.internal.tmf.pcap.core.util.ProtocolConversion;
-import org.eclipse.linuxtools.tmf.core.timestamp.ITmfTimestamp;
-import org.eclipse.linuxtools.tmf.core.timestamp.TmfTimestamp;
-
-/**
- * Class that wraps a Packet Stream.
- *
- * @author Vincent Perot
- */
-public class TmfPacketStream {
-
- private final PacketStream fPacketStream;
-
- /**
- * Class constructor.
- *
- * @param stream
- * The stream to build the TmfPacketStream from.
- */
- public TmfPacketStream(PacketStream stream) {
- fPacketStream = stream;
- }
-
- /**
- * Method that returns the first endpoint of the packet stream.
- *
- * @return The first endpoint.
- */
- public String getFirstEndpoint() {
- return fPacketStream.getEndpointPair().getFirstEndpoint().toString();
- }
-
- /**
- * Method that returns the second endpoint of the packet stream.
- *
- * @return The second endpoint.
- */
- public String getSecondEndpoint() {
- return fPacketStream.getEndpointPair().getSecondEndpoint().toString();
- }
-
- /**
- * Method that returns the ID of the packet stream.
- *
- * @return The ID of the packet stream.
- */
- public int getID() {
- return fPacketStream.getID();
- }
-
- /**
- * Method that returns the TmfProtocol of the packet stream.
- *
- * @return The TmfProtocol of the packet stream.
- */
- public TmfPcapProtocol getProtocol() {
- return ProtocolConversion.wrap(fPacketStream.getProtocol());
- }
-
- /**
- * Get the number of packets going from the first endpoint to the second.
- *
- * @return The number of packets from A to B.
- */
- public synchronized long getNbPacketsAtoB() {
- return fPacketStream.getNbPacketsAtoB();
- }
-
- /**
- * Get the number of packets going from the second endpoint to the first.
- *
- * @return The number of packets from B to A.
- */
- public synchronized long getNbPacketsBtoA() {
- return fPacketStream.getNbPacketsBtoA();
- }
-
- /**
- * Get the total number of packets in this stream.
- *
- * @return The total number of packets.
- */
- public synchronized long getNbPackets() {
- return fPacketStream.getNbPackets();
- }
-
- /**
- * Get the number of bytes going from the first endpoint to the second.
- *
- * @return The number of bytes from A to B.
- */
- public synchronized long getNbBytesAtoB() {
- return fPacketStream.getNbBytesAtoB();
- }
-
- /**
- * Get the number of bytes going from the second endpoint to the first.
- *
- * @return The number of bytes from B to A.
- */
- public synchronized long getNbBytesBtoA() {
- return fPacketStream.getNbBytesBtoA();
- }
-
- /**
- * Get the total number of bytes in this stream.
- *
- * @return The total number of bytes.
- */
- public synchronized long getNbBytes() {
- return fPacketStream.getNbBytes();
- }
-
- /**
- * Get the start time of this stream.
- *
- * @return The start time.
- */
- public synchronized ITmfTimestamp getStartTime() {
- return new TmfTimestamp(fPacketStream.getStartTime(), ITmfTimestamp.NANOSECOND_SCALE);
- }
-
- /**
- * Get the stop time of this stream.
- *
- * @return The stop time.
- */
- public synchronized ITmfTimestamp getStopTime() {
- return new TmfTimestamp(fPacketStream.getStopTime(), ITmfTimestamp.NANOSECOND_SCALE);
- }
-
- /**
- * Get the duration of this stream, in seconds
- *
- * @return The duration of this stream.
- */
- public synchronized double getDuration() {
- return fPacketStream.getDuration();
- }
-
- /**
- * Get the the average byte per second from A to B.
- *
- * @return the average byte per second from A to B.
- */
- public synchronized double getBPSAtoB() {
- return fPacketStream.getBPSAtoB();
- }
-
- /**
- * Get the the average byte per second from B to A.
- *
- * @return the average byte per second from B to A.
- */
- public synchronized double getBPSBtoA() {
- return fPacketStream.getBPSBtoA();
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.pcap.core/src/org/eclipse/linuxtools/internal/tmf/pcap/core/event/TmfPacketStreamBuilder.java b/lttng/org.eclipse.linuxtools.tmf.pcap.core/src/org/eclipse/linuxtools/internal/tmf/pcap/core/event/TmfPacketStreamBuilder.java
deleted file mode 100644
index b6fd527646..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.pcap.core/src/org/eclipse/linuxtools/internal/tmf/pcap/core/event/TmfPacketStreamBuilder.java
+++ /dev/null
@@ -1,86 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 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:
- * Vincent Perot - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.internal.tmf.pcap.core.event;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.linuxtools.internal.pcap.core.packet.Packet;
-import org.eclipse.linuxtools.internal.pcap.core.protocol.PcapProtocol;
-import org.eclipse.linuxtools.internal.pcap.core.protocol.pcap.PcapPacket;
-import org.eclipse.linuxtools.internal.pcap.core.stream.PacketStream;
-import org.eclipse.linuxtools.internal.pcap.core.stream.PacketStreamBuilder;
-import org.eclipse.linuxtools.internal.tmf.pcap.core.protocol.TmfPcapProtocol;
-import org.eclipse.linuxtools.internal.tmf.pcap.core.util.ProtocolConversion;
-
-/**
- * Class that wraps a PacketStreamBuilder.
- *
- * @author Vincent Perot
- */
-public class TmfPacketStreamBuilder {
-
- private final PacketStreamBuilder fBuilder;
-
- /**
- * Constructor.
- *
- * @param protocol
- * The protocol of the streams to build.
- */
- public TmfPacketStreamBuilder(TmfPcapProtocol protocol) {
- fBuilder = new PacketStreamBuilder(ProtocolConversion.unwrap(protocol));
- }
-
- /**
- * Method that adds an event to this builder.
- *
- * @param event
- * The event to add.
- */
- public synchronized void addEventToStream(PcapEvent event) {
- Packet packet = event.getPacket().getPacket(PcapProtocol.PCAP);
- if (packet == null || !(packet instanceof PcapPacket)) {
- return;
- }
- PcapPacket pcapPacket = (PcapPacket) packet;
- fBuilder.addPacketToStream(pcapPacket);
- }
-
- /**
- * Method that returns the number of streams built.
- *
- * @return The number of streams built.
- */
- public synchronized int getNbStreams() {
- return fBuilder.getNbStreams();
- }
-
- /**
- * Method that returns an iterable on the streams built so far.
- *
- * @return An iterable on the streams.
- */
- public synchronized Iterable<TmfPacketStream> getStreams() {
- // We can't store in immutable list since the stream number/content can
- // change dynamically.
- List<TmfPacketStream> list = new ArrayList<>();
- for (PacketStream stream : fBuilder.getStreams()) {
- if (stream != null) {
- list.add(new TmfPacketStream(stream));
- }
- }
- return list;
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.pcap.core/src/org/eclipse/linuxtools/internal/tmf/pcap/core/event/messages.properties b/lttng/org.eclipse.linuxtools.tmf.pcap.core/src/org/eclipse/linuxtools/internal/tmf/pcap/core/event/messages.properties
deleted file mode 100644
index fcf8ca253a..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.pcap.core/src/org/eclipse/linuxtools/internal/tmf/pcap/core/event/messages.properties
+++ /dev/null
@@ -1,14 +0,0 @@
-###############################################################################
-# Copyright (c) 2014 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:
-# Ericsson - Initial API and implementation
-###############################################################################
-
-PcapEventType_DefaultContext=Network/Pcap Event
-PcapEventType_DefaultTypeID=packet
diff --git a/lttng/org.eclipse.linuxtools.tmf.pcap.core/src/org/eclipse/linuxtools/internal/tmf/pcap/core/event/package-info.java b/lttng/org.eclipse.linuxtools.tmf.pcap.core/src/org/eclipse/linuxtools/internal/tmf/pcap/core/event/package-info.java
deleted file mode 100644
index b5720b9340..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.pcap.core/src/org/eclipse/linuxtools/internal/tmf/pcap/core/event/package-info.java
+++ /dev/null
@@ -1,14 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 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:
- * Ericsson - Initial API and implementation
- *******************************************************************************/
-
-@org.eclipse.jdt.annotation.NonNullByDefault
-package org.eclipse.linuxtools.internal.tmf.pcap.core.event; \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.tmf.pcap.core/src/org/eclipse/linuxtools/internal/tmf/pcap/core/package-info.java b/lttng/org.eclipse.linuxtools.tmf.pcap.core/src/org/eclipse/linuxtools/internal/tmf/pcap/core/package-info.java
deleted file mode 100644
index ce245a8678..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.pcap.core/src/org/eclipse/linuxtools/internal/tmf/pcap/core/package-info.java
+++ /dev/null
@@ -1,14 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 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:
- * Ericsson - Initial API and implementation
- *******************************************************************************/
-
-@org.eclipse.jdt.annotation.NonNullByDefault
-package org.eclipse.linuxtools.internal.tmf.pcap.core; \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.tmf.pcap.core/src/org/eclipse/linuxtools/internal/tmf/pcap/core/protocol/TmfPcapProtocol.java b/lttng/org.eclipse.linuxtools.tmf.pcap.core/src/org/eclipse/linuxtools/internal/tmf/pcap/core/protocol/TmfPcapProtocol.java
deleted file mode 100644
index 2b6a96336b..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.pcap.core/src/org/eclipse/linuxtools/internal/tmf/pcap/core/protocol/TmfPcapProtocol.java
+++ /dev/null
@@ -1,109 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 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:
- * Vincent Perot - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.internal.tmf.pcap.core.protocol;
-
-import org.eclipse.linuxtools.internal.pcap.core.protocol.PcapProtocol;
-
-/**
- * Enumeration as a TMF wrapper of the different Protocols. To register a
- * protocol in TMF, it must be present in
- * org.eclipse.linuxtools.pcap.core.protocol.Protocol and must have the same
- * name.
- *
- * @author Vincent Perot
- */
-public enum TmfPcapProtocol {
-
- // Layer 0
- /**
- * The Pcap Protocol is not a real protocol but is used as an helper to
- * generate Pcap packets.
- */
- PCAP(PcapProtocol.PCAP),
-
- // Layer 1
- // Should always be empty.
-
- // Layer 2
- /**
- * The description of the Ethernet II Protocol.
- */
- ETHERNET_II(PcapProtocol.ETHERNET_II),
-
- // Layer 3
- /**
- * The description of the Internet Protocol Version 4.
- */
- IPV4(PcapProtocol.IPV4),
-
- // Layer 4
- /**
- * The description of the Transmission Control Protocol.
- */
- TCP(PcapProtocol.TCP),
- /**
- * The description of the User Datagram Protocol.
- */
- UDP(PcapProtocol.UDP),
-
- // Layer 5
-
- // Layer 6
-
- // Layer 7
- /**
- * This protocol is used as an helper if the protocol of a packet is not
- * recognized. Since all its data goes into payload, it can also be seen as
- * a "payload packet". This is considered to be on layer 7 since its always
- * the most encapsulated packet if present.
- */
- UNKNOWN(PcapProtocol.UNKNOWN);
-
- private final String fName;
- private final String fShortName;
- private final boolean fSupportsStream;
-
- private TmfPcapProtocol(PcapProtocol pcapProto) {
- fName = pcapProto.getName();
- fShortName = pcapProto.getShortName();
- fSupportsStream = pcapProto.supportsStream();
- }
-
- /**
- * Getter method for the long name of the protocol.
- *
- * @return The long name of the protocol, as a string.
- */
- public String getName() {
- return fName;
- }
-
- /**
- * Getter method for the short name of the protocol.
- *
- * @return The short name of the protocol, as a string.
- */
- public String getShortName() {
- return fShortName;
- }
-
- /**
- * Getter method that indicates if the protocol supports streams.
- *
- * @return Whether the protocol supports streams or not.
- */
- public boolean supportsStream() {
- return fSupportsStream;
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.pcap.core/src/org/eclipse/linuxtools/internal/tmf/pcap/core/protocol/package-info.java b/lttng/org.eclipse.linuxtools.tmf.pcap.core/src/org/eclipse/linuxtools/internal/tmf/pcap/core/protocol/package-info.java
deleted file mode 100644
index f3b9157c71..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.pcap.core/src/org/eclipse/linuxtools/internal/tmf/pcap/core/protocol/package-info.java
+++ /dev/null
@@ -1,14 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 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:
- * Ericsson - Initial API and implementation
- *******************************************************************************/
-
-@org.eclipse.jdt.annotation.NonNullByDefault
-package org.eclipse.linuxtools.internal.tmf.pcap.core.protocol; \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.tmf.pcap.core/src/org/eclipse/linuxtools/internal/tmf/pcap/core/signal/TmfPacketStreamSelectedSignal.java b/lttng/org.eclipse.linuxtools.tmf.pcap.core/src/org/eclipse/linuxtools/internal/tmf/pcap/core/signal/TmfPacketStreamSelectedSignal.java
deleted file mode 100644
index 9cd6c0caec..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.pcap.core/src/org/eclipse/linuxtools/internal/tmf/pcap/core/signal/TmfPacketStreamSelectedSignal.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 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:
- * Vincent Perot - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.internal.tmf.pcap.core.signal;
-
-import org.eclipse.jdt.annotation.Nullable;
-import org.eclipse.linuxtools.internal.tmf.pcap.core.event.TmfPacketStream;
-import org.eclipse.linuxtools.tmf.core.signal.TmfSignal;
-
-/**
- * TmfSignal that is broadcasted when a new packet stream is chosen. Views that
- * are network-specific can uses this signal to track when the user selects a
- * new stream.
- *
- * @author Vincent Perot
- */
-public class TmfPacketStreamSelectedSignal extends TmfSignal {
-
- private final @Nullable TmfPacketStream fStream;
-
- /**
- * Standard constructor
- *
- * @param source
- * Object sending this signal
- * @param reference
- * Reference index to assign to this signal
- * @param stream
- * The new stream. It can be null if the user cleared the
- * selection.
- */
- public TmfPacketStreamSelectedSignal(Object source, int reference, @Nullable TmfPacketStream stream) {
- super(source, reference);
- fStream = stream;
- }
-
- /**
- * Getter method that returns the stream.
- *
- * @return The stream.
- */
- public @Nullable TmfPacketStream getStream() {
- return fStream;
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.pcap.core/src/org/eclipse/linuxtools/internal/tmf/pcap/core/signal/package-info.java b/lttng/org.eclipse.linuxtools.tmf.pcap.core/src/org/eclipse/linuxtools/internal/tmf/pcap/core/signal/package-info.java
deleted file mode 100644
index d43ac2918f..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.pcap.core/src/org/eclipse/linuxtools/internal/tmf/pcap/core/signal/package-info.java
+++ /dev/null
@@ -1,14 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 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:
- * Ericsson - Initial API and implementation
- *******************************************************************************/
-
-@org.eclipse.jdt.annotation.NonNullByDefault
-package org.eclipse.linuxtools.internal.tmf.pcap.core.signal; \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.tmf.pcap.core/src/org/eclipse/linuxtools/internal/tmf/pcap/core/trace/Messages.java b/lttng/org.eclipse.linuxtools.tmf.pcap.core/src/org/eclipse/linuxtools/internal/tmf/pcap/core/trace/Messages.java
deleted file mode 100644
index 3b4018da4a..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.pcap.core/src/org/eclipse/linuxtools/internal/tmf/pcap/core/trace/Messages.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 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:
- * Vincent Perot - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.internal.tmf.pcap.core.trace;
-
-import org.eclipse.jdt.annotation.Nullable;
-import org.eclipse.osgi.util.NLS;
-
-@SuppressWarnings("javadoc")
-public class Messages extends NLS {
-
- private static final String BUNDLE_NAME = "org.eclipse.linuxtools.internal.tmf.pcap.core.trace.messages"; //$NON-NLS-1$
-
- public static @Nullable String PcapTrace_FileEndianness;
- public static @Nullable String PcapTrace_LinkLayerHeaderType;
- public static @Nullable String PcapTrace_MaxSnapLength;
- public static @Nullable String PcapTrace_TimestampAccuracy;
- public static @Nullable String PcapTrace_TimeZoneCorrection;
- public static @Nullable String PcapTrace_Version;
-
- static {
- // initialize resource bundle
- NLS.initializeMessages(BUNDLE_NAME, Messages.class);
- }
-
- private Messages() {
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.pcap.core/src/org/eclipse/linuxtools/internal/tmf/pcap/core/trace/PcapTrace.java b/lttng/org.eclipse.linuxtools.tmf.pcap.core/src/org/eclipse/linuxtools/internal/tmf/pcap/core/trace/PcapTrace.java
deleted file mode 100644
index 20e3f5c0f4..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.pcap.core/src/org/eclipse/linuxtools/internal/tmf/pcap/core/trace/PcapTrace.java
+++ /dev/null
@@ -1,251 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 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:
- * Vincent Perot - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.internal.tmf.pcap.core.trace;
-
-import java.io.IOException;
-import java.nio.channels.ClosedChannelException;
-import java.nio.file.FileSystems;
-import java.nio.file.Path;
-import java.util.Map;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jdt.annotation.NonNull;
-import org.eclipse.jdt.annotation.Nullable;
-import org.eclipse.linuxtools.internal.pcap.core.packet.BadPacketException;
-import org.eclipse.linuxtools.internal.pcap.core.protocol.pcap.PcapPacket;
-import org.eclipse.linuxtools.internal.pcap.core.trace.BadPcapFileException;
-import org.eclipse.linuxtools.internal.pcap.core.trace.PcapFile;
-import org.eclipse.linuxtools.internal.pcap.core.util.LinkTypeHelper;
-import org.eclipse.linuxtools.internal.tmf.pcap.core.Activator;
-import org.eclipse.linuxtools.internal.tmf.pcap.core.event.PcapEvent;
-import org.eclipse.linuxtools.internal.tmf.pcap.core.util.PcapEventFactory;
-import org.eclipse.linuxtools.tmf.core.event.ITmfEvent;
-import org.eclipse.linuxtools.tmf.core.exceptions.TmfTraceException;
-import org.eclipse.linuxtools.tmf.core.trace.ITmfContext;
-import org.eclipse.linuxtools.tmf.core.trace.ITmfEventParser;
-import org.eclipse.linuxtools.tmf.core.trace.ITmfTraceProperties;
-import org.eclipse.linuxtools.tmf.core.trace.TmfContext;
-import org.eclipse.linuxtools.tmf.core.trace.TmfTrace;
-import org.eclipse.linuxtools.tmf.core.trace.TraceValidationStatus;
-import org.eclipse.linuxtools.tmf.core.trace.location.ITmfLocation;
-import org.eclipse.linuxtools.tmf.core.trace.location.TmfLongLocation;
-
-import com.google.common.collect.ImmutableMap;
-
-/**
- * Class that represents a TMF Pcap Trace. It is used to make the glue between
- * the Pcap parser and TMF.
- *
- * TODO handle fields in TmfEventType for the filter view.
- *
- * @author Vincent Perot
- */
-public class PcapTrace extends TmfTrace implements ITmfEventParser, ITmfTraceProperties, AutoCloseable {
-
- @SuppressWarnings("null")
- private static final @NonNull Map<String, String> EMPTY_MAP = ImmutableMap.of();
- private static final String EMPTY_STRING = ""; //$NON-NLS-1$
- private static final int CONFIDENCE = 50;
- private @Nullable PcapFile fPcapFile;
- private @Nullable ImmutableMap<String, String> fTraceProperties = null;
-
- @Override
- public synchronized ITmfLocation getCurrentLocation() {
- PcapFile pcap = fPcapFile;
- if (pcap == null) {
- return new TmfLongLocation(0);
- }
- return new TmfLongLocation(pcap.getCurrentRank());
- }
-
- @Override
- public synchronized double getLocationRatio(@Nullable ITmfLocation location) {
- TmfLongLocation loc = (TmfLongLocation) location;
- PcapFile pcap = fPcapFile;
- if (loc == null || pcap == null) {
- return 0;
- }
- try {
- return (pcap.getTotalNbPackets() == 0 ? 0 : ((double) loc.getLocationInfo()) / pcap.getTotalNbPackets());
- } catch (IOException | BadPcapFileException e) {
- String message = e.getMessage();
- if (message == null) {
- message = EMPTY_STRING;
- }
- Activator.logError(message, e);
- return 0;
- }
-
- }
-
- @Override
- public synchronized void initTrace(@Nullable IResource resource, @Nullable String path, @Nullable Class<? extends ITmfEvent> type) throws TmfTraceException {
- super.initTrace(resource, path, type);
- if (path == null) {
- throw new TmfTraceException("No path has been specified."); //$NON-NLS-1$
- }
- @SuppressWarnings("null")
- @NonNull Path filePath = FileSystems.getDefault().getPath(path);
- try {
- fPcapFile = new PcapFile(filePath);
- } catch (IOException | BadPcapFileException e) {
- throw new TmfTraceException(e.getMessage(), e);
- }
- }
-
- @Override
- public synchronized @Nullable PcapEvent parseEvent(@Nullable ITmfContext context) {
- if (context == null) {
- return null;
- }
-
- long rank = context.getRank();
- PcapPacket packet = null;
- PcapFile pcap = fPcapFile;
- if (pcap == null) {
- return null;
- }
- try {
- pcap.seekPacket(rank);
- packet = pcap.parseNextPacket();
- } catch (ClosedChannelException e) {
- /*
- * This is handled independently and happens when the user closes
- * the trace while it is being parsed. It simply stops the parsing.
- * No need to log a error.
- */
- return null;
- } catch (IOException | BadPcapFileException | BadPacketException e) {
- String message = e.getMessage();
- if (message == null) {
- message = EMPTY_STRING;
- }
- Activator.logError(message, e);
- return null;
- }
-
- if (packet == null) {
- return null;
- }
-
- // Generate an event from this packet and return it.
- return PcapEventFactory.createEvent(packet, pcap, this);
-
- }
-
- @Override
- public synchronized ITmfContext seekEvent(double ratio) {
- long position;
- PcapFile pcap = fPcapFile;
- if (pcap == null) {
- return new TmfContext(new TmfLongLocation(0), 0);
- }
-
- try {
- /*
- * The ratio is between 0 and 1. We multiply it by the total number
- * of packets to get the position.
- */
- position = (long) (ratio * pcap.getTotalNbPackets());
- } catch (IOException | BadPcapFileException e) {
- String message = e.getMessage();
- if (message == null) {
- message = EMPTY_STRING;
- }
- Activator.logError(message, e);
- return new TmfContext(new TmfLongLocation(0), 0);
- }
- TmfLongLocation loc = new TmfLongLocation(position);
- return new TmfContext(loc, loc.getLocationInfo());
- }
-
- @Override
- public synchronized ITmfContext seekEvent(@Nullable ITmfLocation location) {
- TmfLongLocation loc = (TmfLongLocation) location;
- if (loc == null) {
- return new TmfContext(new TmfLongLocation(0));
- }
-
- return new TmfContext(loc, loc.getLocationInfo());
- }
-
- @Override
- public IStatus validate(@Nullable IProject project, @Nullable String path) {
-
- // All validations are made when making a new pcap file.
- if (path == null) {
- return new Status(IStatus.ERROR, Activator.PLUGIN_ID, EMPTY_STRING);
- }
- @SuppressWarnings("null")
- @NonNull Path filePath = FileSystems.getDefault().getPath(path);
- try (PcapFile file = new PcapFile(filePath)) {
- } catch (IOException | BadPcapFileException e) {
- return new Status(IStatus.ERROR, Activator.PLUGIN_ID, e.toString());
- }
- return new TraceValidationStatus(CONFIDENCE, Activator.PLUGIN_ID);
- }
-
- @Override
- public synchronized void dispose() {
- super.dispose();
- PcapFile pcap = fPcapFile;
- if (pcap == null) {
- return;
- }
- try {
- pcap.close();
- fPcapFile = null;
- } catch (IOException e) {
- String message = e.getMessage();
- if (message == null) {
- message = EMPTY_STRING;
- }
- Activator.logError(message, e);
- return;
- }
- }
-
- @Override
- public synchronized Map<String, String> getTraceProperties() {
- PcapFile pcap = fPcapFile;
- if (pcap == null) {
- return EMPTY_MAP;
- }
-
- ImmutableMap<String, String> properties = fTraceProperties;
- if (properties == null) {
- @SuppressWarnings("null")
- @NonNull ImmutableMap<String, String> newProperties = ImmutableMap.<String, String> builder()
- .put(Messages.PcapTrace_Version, String.format("%d%c%d", pcap.getMajorVersion(), '.', pcap.getMinorVersion())) //$NON-NLS-1$
- .put(Messages.PcapTrace_TimeZoneCorrection, pcap.getTimeZoneCorrection() + " s") //$NON-NLS-1$
- .put(Messages.PcapTrace_TimestampAccuracy, String.valueOf(pcap.getTimeAccuracy()))
- .put(Messages.PcapTrace_MaxSnapLength, pcap.getSnapLength() + " bytes") //$NON-NLS-1$
- .put(Messages.PcapTrace_LinkLayerHeaderType, LinkTypeHelper.toString((int) pcap.getDataLinkType()) + " (" + pcap.getDataLinkType() + ")") //$NON-NLS-1$ //$NON-NLS-2$
- .put(Messages.PcapTrace_FileEndianness, pcap.getByteOrder().toString())
- .build();
- fTraceProperties = newProperties;
- return newProperties;
-
- }
-
- return properties;
- }
-
- @Override
- public void close() {
- dispose();
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.pcap.core/src/org/eclipse/linuxtools/internal/tmf/pcap/core/trace/messages.properties b/lttng/org.eclipse.linuxtools.tmf.pcap.core/src/org/eclipse/linuxtools/internal/tmf/pcap/core/trace/messages.properties
deleted file mode 100644
index 9a390273ee..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.pcap.core/src/org/eclipse/linuxtools/internal/tmf/pcap/core/trace/messages.properties
+++ /dev/null
@@ -1,18 +0,0 @@
-###############################################################################
-# Copyright (c) 2014 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:
-# Ericsson - Initial API and implementation
-###############################################################################
-
-PcapTrace_FileEndianness=File Endianness
-PcapTrace_LinkLayerHeaderType=Link-Layer Header Type
-PcapTrace_MaxSnapLength=Maximum Snapshot Length
-PcapTrace_TimestampAccuracy=Timestamp Accuracy
-PcapTrace_TimeZoneCorrection=Time Zone Correction
-PcapTrace_Version=Version
diff --git a/lttng/org.eclipse.linuxtools.tmf.pcap.core/src/org/eclipse/linuxtools/internal/tmf/pcap/core/trace/package-info.java b/lttng/org.eclipse.linuxtools.tmf.pcap.core/src/org/eclipse/linuxtools/internal/tmf/pcap/core/trace/package-info.java
deleted file mode 100644
index 5740e6798c..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.pcap.core/src/org/eclipse/linuxtools/internal/tmf/pcap/core/trace/package-info.java
+++ /dev/null
@@ -1,14 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 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:
- * Ericsson - Initial API and implementation
- *******************************************************************************/
-
-@org.eclipse.jdt.annotation.NonNullByDefault
-package org.eclipse.linuxtools.internal.tmf.pcap.core.trace; \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.tmf.pcap.core/src/org/eclipse/linuxtools/internal/tmf/pcap/core/util/Messages.java b/lttng/org.eclipse.linuxtools.tmf.pcap.core/src/org/eclipse/linuxtools/internal/tmf/pcap/core/util/Messages.java
deleted file mode 100644
index 88116c0bcd..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.pcap.core/src/org/eclipse/linuxtools/internal/tmf/pcap/core/util/Messages.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 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:
- * Vincent Perot - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.internal.tmf.pcap.core.util;
-
-import org.eclipse.jdt.annotation.Nullable;
-import org.eclipse.osgi.util.NLS;
-
-@SuppressWarnings("javadoc")
-public class Messages extends NLS {
-
- private static final String BUNDLE_NAME = "org.eclipse.linuxtools.internal.tmf.pcap.core.util.messages"; //$NON-NLS-1$
-
- public static @Nullable String PcapEventFactory_LinkType;
-
- static {
- // initialize resource bundle
- NLS.initializeMessages(BUNDLE_NAME, Messages.class);
- }
-
- private Messages() {
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.pcap.core/src/org/eclipse/linuxtools/internal/tmf/pcap/core/util/PcapEventFactory.java b/lttng/org.eclipse.linuxtools.tmf.pcap.core/src/org/eclipse/linuxtools/internal/tmf/pcap/core/util/PcapEventFactory.java
deleted file mode 100644
index ececebc641..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.pcap.core/src/org/eclipse/linuxtools/internal/tmf/pcap/core/util/PcapEventFactory.java
+++ /dev/null
@@ -1,133 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 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:
- * Vincent Perot - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.internal.tmf.pcap.core.util;
-
-import java.nio.file.Path;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.jdt.annotation.NonNull;
-import org.eclipse.jdt.annotation.Nullable;
-import org.eclipse.linuxtools.internal.pcap.core.packet.Packet;
-import org.eclipse.linuxtools.internal.pcap.core.protocol.PcapProtocol;
-import org.eclipse.linuxtools.internal.pcap.core.protocol.pcap.PcapPacket;
-import org.eclipse.linuxtools.internal.pcap.core.trace.PcapFile;
-import org.eclipse.linuxtools.internal.pcap.core.util.LinkTypeHelper;
-import org.eclipse.linuxtools.internal.pcap.core.util.PcapTimestampScale;
-import org.eclipse.linuxtools.internal.tmf.pcap.core.event.PcapEvent;
-import org.eclipse.linuxtools.internal.tmf.pcap.core.event.PcapEventField;
-import org.eclipse.linuxtools.internal.tmf.pcap.core.event.PcapEventType;
-import org.eclipse.linuxtools.internal.tmf.pcap.core.event.PcapRootEventField;
-import org.eclipse.linuxtools.internal.tmf.pcap.core.trace.PcapTrace;
-import org.eclipse.linuxtools.tmf.core.event.ITmfEventField;
-import org.eclipse.linuxtools.tmf.core.event.TmfEventField;
-import org.eclipse.linuxtools.tmf.core.event.TmfEventType;
-import org.eclipse.linuxtools.tmf.core.timestamp.ITmfTimestamp;
-import org.eclipse.linuxtools.tmf.core.timestamp.TmfTimestamp;
-
-/**
- * Factory class that helps generating Pcap Events.
- *
- * @author Vincent Perot
- */
-public class PcapEventFactory {
-
- private static final ITmfEventField[] EMPTY_FIELD_ARRAY = new ITmfEventField[0];
- private static final String EMPTY_STRING = ""; //$NON-NLS-1$
-
- private static final Map<PcapProtocol, TmfEventType> fEventTypes = new HashMap<>();
-
- private PcapEventFactory() {
- }
-
- /**
- * Method that create a PcapEvent from a packet.
- *
- * @param pcapPacket
- * The packet to generate the event from.
- * @param pcap
- * The pcap file to which the packet belongs.
- * @param trace
- * The trace to which this packet belongs.
- * @return The generated PcapEvent.
- */
- public static @Nullable PcapEvent createEvent(PcapPacket pcapPacket, PcapFile pcap, PcapTrace trace) {
- long rank = pcapPacket.getIndex();
- long timestamp = pcapPacket.getTimestamp();
- PcapTimestampScale scale = pcapPacket.getTimestampScale();
- ITmfTimestamp tmfTimestamp;
- switch (scale) {
- case MICROSECOND:
- long us = trace.getTimestampTransform().transform(timestamp * 1000) / 1000;
- tmfTimestamp = new TmfTimestamp(us, ITmfTimestamp.MICROSECOND_SCALE, (int) pcap.getTimeAccuracy());
- break;
- case NANOSECOND:
- long ns = trace.getTimestampTransform().transform(timestamp);
- tmfTimestamp = new TmfTimestamp(ns, ITmfTimestamp.NANOSECOND_SCALE, (int) pcap.getTimeAccuracy());
- break;
- default:
- throw new IllegalArgumentException("The timestamp precision is not valid!"); //$NON-NLS-1$
- }
- Path filePath = pcap.getPath().getFileName();
- @SuppressWarnings("null") // for .toString()
- @NonNull String fileName = (filePath == null ? EMPTY_STRING : filePath.toString());
-
- String dataLink = Messages.PcapEventFactory_LinkType + ':' + LinkTypeHelper.toString((int) pcapPacket.getPcapFile().getDataLinkType());
-
- ITmfEventField[] fields = generatePacketFields(pcapPacket);
- ITmfEventField field = new PcapRootEventField(EMPTY_STRING, fields, pcapPacket);
- Packet packet = pcapPacket.getMostEcapsulatedPacket();
- if (!fEventTypes.containsKey(packet.getProtocol())) {
- String typeIdString = PcapEventType.DEFAULT_PCAP_TYPE_ID + ':' + packet.getProtocol().getShortName();
- fEventTypes.put(packet.getProtocol(), new PcapEventType(typeIdString, null));
- }
- TmfEventType eventType = fEventTypes.get(packet.getProtocol());
- if (eventType == null) {
- eventType = new TmfEventType();
- }
- return new PcapEvent(trace, rank, tmfTimestamp, dataLink, eventType, field, fileName, packet);
-
- }
-
- private static ITmfEventField[] generatePacketFields(Packet packet) {
- // TODO This is SOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO slow. Must find a
- // way to use less intermediate data structures.
- List<ITmfEventField> fieldList = new ArrayList<>();
- List<ITmfEventField> subfieldList = new ArrayList<>();
- Packet localPacket = packet.getPacket(PcapProtocol.PCAP);
-
- while (localPacket != null) {
- subfieldList.clear();
- for (Map.Entry<String, String> entry : localPacket.getFields().entrySet()) {
-
- @SuppressWarnings("null")
- @NonNull String key = entry.getKey();
-
- @SuppressWarnings("null")
- @NonNull String value = entry.getValue();
- subfieldList.add(new TmfEventField(key, value, null));
- }
- ITmfEventField[] subfieldArray = subfieldList.toArray(new ITmfEventField[subfieldList.size()]);
- fieldList.add(new PcapEventField(localPacket.getProtocol().getName(), EMPTY_STRING, subfieldArray, localPacket));
- localPacket = localPacket.getChildPacket();
- }
-
- ITmfEventField[] fieldArray = fieldList.toArray(new ITmfEventField[fieldList.size()]);
- if (fieldArray == null) {
- return EMPTY_FIELD_ARRAY;
- }
- return fieldArray;
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.pcap.core/src/org/eclipse/linuxtools/internal/tmf/pcap/core/util/ProtocolConversion.java b/lttng/org.eclipse.linuxtools.tmf.pcap.core/src/org/eclipse/linuxtools/internal/tmf/pcap/core/util/ProtocolConversion.java
deleted file mode 100644
index 4fd5249e0d..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.pcap.core/src/org/eclipse/linuxtools/internal/tmf/pcap/core/util/ProtocolConversion.java
+++ /dev/null
@@ -1,80 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 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:
- * Vincent Perot - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.internal.tmf.pcap.core.util;
-
-import org.eclipse.linuxtools.internal.pcap.core.protocol.PcapProtocol;
-import org.eclipse.linuxtools.internal.tmf.pcap.core.protocol.TmfPcapProtocol;
-
-/**
- * Helper class that allows the conversion between Protocol and TmfProtocol.
- * This is only used by this project and thus is internal (not API).
- *
- * @author Vincent Perot
- */
-public final class ProtocolConversion {
-
- private ProtocolConversion() {}
-
- /**
- * Wrap a {@link PcapProtocol} into a {@link TmfPcapProtocol}.
- *
- * @param protocol
- * The {@link PcapProtocol} to match
- * @return The TmfProtocol
- */
- public static TmfPcapProtocol wrap(PcapProtocol protocol) {
- switch (protocol) {
- case ETHERNET_II:
- return TmfPcapProtocol.ETHERNET_II;
- case IPV4:
- return TmfPcapProtocol.IPV4;
- case PCAP:
- return TmfPcapProtocol.PCAP;
- case TCP:
- return TmfPcapProtocol.TCP;
- case UDP:
- return TmfPcapProtocol.UDP;
- case UNKNOWN:
- return TmfPcapProtocol.UNKNOWN;
- default:
- throw new IllegalArgumentException();
- }
- }
-
- /**
- * Unwrap a {@link TmfPcapProtocol} from a {@link PcapProtocol}.
- *
- * @param protocol
- * The TmfProtocol
- * @return The Protocol
- */
- public static PcapProtocol unwrap(TmfPcapProtocol protocol) {
- switch (protocol) {
- case ETHERNET_II:
- return PcapProtocol.ETHERNET_II;
- case IPV4:
- return PcapProtocol.IPV4;
- case PCAP:
- return PcapProtocol.PCAP;
- case TCP:
- return PcapProtocol.TCP;
- case UDP:
- return PcapProtocol.UDP;
- case UNKNOWN:
- return PcapProtocol.UNKNOWN;
- default:
- throw new IllegalArgumentException();
- }
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.pcap.core/src/org/eclipse/linuxtools/internal/tmf/pcap/core/util/messages.properties b/lttng/org.eclipse.linuxtools.tmf.pcap.core/src/org/eclipse/linuxtools/internal/tmf/pcap/core/util/messages.properties
deleted file mode 100644
index 5630ca0536..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.pcap.core/src/org/eclipse/linuxtools/internal/tmf/pcap/core/util/messages.properties
+++ /dev/null
@@ -1,13 +0,0 @@
-###############################################################################
-# Copyright (c) 2014 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:
-# Ericsson - Initial API and implementation
-###############################################################################
-
-PcapEventFactory_LinkType=linktype
diff --git a/lttng/org.eclipse.linuxtools.tmf.pcap.core/src/org/eclipse/linuxtools/internal/tmf/pcap/core/util/package-info.java b/lttng/org.eclipse.linuxtools.tmf.pcap.core/src/org/eclipse/linuxtools/internal/tmf/pcap/core/util/package-info.java
deleted file mode 100644
index e209f6b2c7..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.pcap.core/src/org/eclipse/linuxtools/internal/tmf/pcap/core/util/package-info.java
+++ /dev/null
@@ -1,14 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 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:
- * Ericsson - Initial API and implementation
- *******************************************************************************/
-
-@org.eclipse.jdt.annotation.NonNullByDefault
-package org.eclipse.linuxtools.internal.tmf.pcap.core.util; \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.tmf.pcap.help/.empty.dtd b/lttng/org.eclipse.linuxtools.tmf.pcap.help/.empty.dtd
deleted file mode 100644
index e69de29bb2..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.pcap.help/.empty.dtd
+++ /dev/null
diff --git a/lttng/org.eclipse.linuxtools.tmf.pcap.help/.externalToolBuilders/org.eclipse.linuxtools.tmf.pcap.help build.xml [Builder].launch b/lttng/org.eclipse.linuxtools.tmf.pcap.help/.externalToolBuilders/org.eclipse.linuxtools.tmf.pcap.help build.xml [Builder].launch
deleted file mode 100644
index 29501c4a34..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.pcap.help/.externalToolBuilders/org.eclipse.linuxtools.tmf.pcap.help build.xml [Builder].launch
+++ /dev/null
@@ -1,24 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<launchConfiguration type="org.eclipse.ant.AntBuilderLaunchConfigurationType">
-<stringAttribute key="org.eclipse.ant.ui.ATTR_ANT_CLEAN_TARGETS" value="clean,"/>
-<booleanAttribute key="org.eclipse.ant.ui.ATTR_TARGETS_UPDATED" value="true"/>
-<booleanAttribute key="org.eclipse.ant.ui.DEFAULT_VM_INSTALL" value="false"/>
-<stringAttribute key="org.eclipse.debug.core.ATTR_REFRESH_SCOPE" value="${working_set:&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;&#10;&lt;resources&gt;&#10;&lt;item path=&quot;/org.eclipse.linuxtools.tmf.help&quot; type=&quot;4&quot;/&gt;&#10;&lt;/resources&gt;}"/>
-<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
-<listEntry value="/org.eclipse.linuxtools.tmf.help/build.xml"/>
-</listAttribute>
-<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
-<listEntry value="1"/>
-</listAttribute>
-<booleanAttribute key="org.eclipse.debug.ui.ATTR_LAUNCH_IN_BACKGROUND" value="false"/>
-<stringAttribute key="org.eclipse.jdt.launching.CLASSPATH_PROVIDER" value="org.eclipse.ant.ui.AntClasspathProvider"/>
-<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="org.eclipse.linuxtools.tmf.pcap.help"/>
-<stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER" value="org.eclipse.ant.ui.AntClasspathProvider"/>
-<mapAttribute key="org.eclipse.ui.externaltools.ATTR_ANT_PROPERTIES">
-<mapEntry key="eclipse.home" value="${eclipse_home}"/>
-</mapAttribute>
-<stringAttribute key="org.eclipse.ui.externaltools.ATTR_LOCATION" value="${workspace_loc:/org.eclipse.linuxtools.tmf.pcap.help/build.xml}"/>
-<stringAttribute key="org.eclipse.ui.externaltools.ATTR_RUN_BUILD_KINDS" value="incremental,clean"/>
-<booleanAttribute key="org.eclipse.ui.externaltools.ATTR_TRIGGERS_CONFIGURED" value="true"/>
-<stringAttribute key="process_factory_id" value="org.eclipse.ant.ui.remoteAntProcessFactory"/>
-</launchConfiguration>
diff --git a/lttng/org.eclipse.linuxtools.tmf.pcap.help/.project b/lttng/org.eclipse.linuxtools.tmf.pcap.help/.project
deleted file mode 100644
index 407eca2647..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.pcap.help/.project
+++ /dev/null
@@ -1,37 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>org.eclipse.linuxtools.tmf.pcap.help</name>
- <comment></comment>
- <projects>
- </projects>
- <buildSpec>
- <buildCommand>
- <name>org.eclipse.ui.externaltools.ExternalToolBuilder</name>
- <triggers>clean,full,incremental,</triggers>
- <arguments>
- <dictionary>
- <key>LaunchConfigHandle</key>
- <value>&lt;project&gt;/.externalToolBuilders/org.eclipse.linuxtools.tmf.pcap.help build.xml [Builder].launch</value>
- </dictionary>
- <dictionary>
- <key>incclean</key>
- <value>true</value>
- </dictionary>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.ManifestBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.SchemaBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>org.eclipse.pde.PluginNature</nature>
- <nature>org.eclipse.mylyn.wikitext.ui.wikiTextNature</nature>
- </natures>
-</projectDescription>
diff --git a/lttng/org.eclipse.linuxtools.tmf.pcap.help/.settings/org.eclipse.core.resources.prefs b/lttng/org.eclipse.linuxtools.tmf.pcap.help/.settings/org.eclipse.core.resources.prefs
deleted file mode 100644
index 99f26c0203..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.pcap.help/.settings/org.eclipse.core.resources.prefs
+++ /dev/null
@@ -1,2 +0,0 @@
-eclipse.preferences.version=1
-encoding/<project>=UTF-8
diff --git a/lttng/org.eclipse.linuxtools.tmf.pcap.help/.settings/org.eclipse.core.runtime.prefs b/lttng/org.eclipse.linuxtools.tmf.pcap.help/.settings/org.eclipse.core.runtime.prefs
deleted file mode 100644
index 5a0ad22d2a..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.pcap.help/.settings/org.eclipse.core.runtime.prefs
+++ /dev/null
@@ -1,2 +0,0 @@
-eclipse.preferences.version=1
-line.separator=\n
diff --git a/lttng/org.eclipse.linuxtools.tmf.pcap.help/.settings/org.eclipse.ltk.core.refactoring.prefs b/lttng/org.eclipse.linuxtools.tmf.pcap.help/.settings/org.eclipse.ltk.core.refactoring.prefs
deleted file mode 100644
index b196c64a34..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.pcap.help/.settings/org.eclipse.ltk.core.refactoring.prefs
+++ /dev/null
@@ -1,2 +0,0 @@
-eclipse.preferences.version=1
-org.eclipse.ltk.core.refactoring.enable.project.refactoring.history=false
diff --git a/lttng/org.eclipse.linuxtools.tmf.pcap.help/META-INF/MANIFEST.MF b/lttng/org.eclipse.linuxtools.tmf.pcap.help/META-INF/MANIFEST.MF
deleted file mode 100644
index af7bd8e4c1..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.pcap.help/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,8 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %Bundle-Name
-Bundle-Vendor: %Bundle-Vendor
-Bundle-Version: 1.0.0.qualifier
-Bundle-Localization: plugin
-Bundle-SymbolicName: org.eclipse.linuxtools.tmf.pcap.help;singleton:=true
-Require-Bundle: org.eclipse.help
diff --git a/lttng/org.eclipse.linuxtools.tmf.pcap.help/README b/lttng/org.eclipse.linuxtools.tmf.pcap.help/README
deleted file mode 100644
index 7af3c4ed84..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.pcap.help/README
+++ /dev/null
@@ -1,19 +0,0 @@
-This describes how to build the documentation found in the o.e.l.tmf.pcap.help
-plugin.
-
-
-Your Eclipse environment first needs to have the "Mylyn Wikitext" plugin
-installed. It can be found in the default Eclipse repository, under
-"Collaboration".
-
-Once that is installed, you should be able to use the manual Eclipse builder to
-generate the doc : select the tmf.pcap.help plugin and choose, in the top-menu,
-"Project -> Build Project".
-
-It uses the build.xml Ant script, but it's recommended to run it from within
-Eclipse, since the builder will pass some environment variables that the script
-needs.
-
-You might get a warning from build.properties because of a missing file. This
-file gets generated with the rest of the doc, so once you have run these steps
-(and refreshed the project if needed), the warning should disappear.
diff --git a/lttng/org.eclipse.linuxtools.tmf.pcap.help/about.html b/lttng/org.eclipse.linuxtools.tmf.pcap.help/about.html
deleted file mode 100644
index 28737f60b7..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.pcap.help/about.html
+++ /dev/null
@@ -1,28 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
-<title>About</title>
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
-
-<p>June 5, 2006</p>
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;). Unless otherwise
-indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is available
-at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is
-being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content. Check the Redistributor's license that was
-provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at <a href="http://www.eclipse.org/">http://www.eclipse.org</a>.</p>
-
-</body>
-</html> \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.tmf.pcap.help/book.css b/lttng/org.eclipse.linuxtools.tmf.pcap.help/book.css
deleted file mode 100644
index 797473964a..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.pcap.help/book.css
+++ /dev/null
@@ -1,59 +0,0 @@
-/* following font face declarations need to be removed for DBCS */
-
-
-body, h1, h2, h3, h4, p, table, td, caption, th, ul, ol, dl, li, dd, dt {font-family: Arial, sans-serif; color: #000000}
-pre { font-family: Courier, monospace}
-
-/* end font face declarations */
-
-/* following font size declarations should be OK for DBCS */
-body, h1, h2, h3, h4, p, table, td, caption, th, ul, ol, dl, li, dd, dt {font-size: 12pt; }
-pre { font-size: 12pt}
-
-/* end font size declarations */
-
-body { background: #FFFFFF}
-h1 { font-size: 18pt; margin-top: 5; margin-bottom: 1 }
-h2 { font-size: 14pt; margin-top: 25; margin-bottom: 3 }
-h3 { font-size: 11pt; margin-top: 20; margin-bottom: 3 }
-h4 { font-size: 10pt; margin-top: 20; margin-bottom: 3; font-style: italic }
-h5 { font size: 13.5pt; }
-p { font-size: 12pt; }
-pre { margin-left: 6; font-size: 9pt }
-
-a:link { color: #006699 }
-a:visited { color: #996699 }
-a:hover { color: #006699 }
-
-ul { margin-top: 0; margin-bottom: 10 }
-li { margin-top: 0; margin-bottom: 0 }
-li p { margin-top: 0; margin-bottom: 0 }
-ol { margin-top: 0; margin-bottom: 10 }
-dl { margin-top: 0; margin-bottom: 10 }
-dt { margin-top: 0; margin-bottom: 0; font-weight: bold }
-dd { margin-top: 0; margin-bottom: 0 }
-strong { font-weight: bold}
-em { font-style: italic}
-var { font-style: italic}
-div.revision { border-left-style: solid; border-left-width: thin;
- border-left-color: #7B68EE; padding-left:5 }
-th { font-weight: bold }
-.hidden {
- display: none;
-}
-
-/* Mike Behm's addition to the style sheet */
-.userinput { font-family: monospace; }
-.guitab, .important, .guibutton, .selectblue, .guimenu, .guilabel,
-.notetitle {
- color: #000000;
- font-family: helvetica, arial, sans-serif;
- font-weight: bold;
- }
-div.linux {display:none;}
-.firsterm {font-style:italic;}
-
-.typewriter {font-family:monospace;}
-.bold {font-weight:600;}
-.linethrough {text-decoration: line-through;}
-.underline {text-decoration: underline;}
diff --git a/lttng/org.eclipse.linuxtools.tmf.pcap.help/build.properties b/lttng/org.eclipse.linuxtools.tmf.pcap.help/build.properties
deleted file mode 100644
index e090bb73f5..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.pcap.help/build.properties
+++ /dev/null
@@ -1,22 +0,0 @@
-###############################################################################
-# Copyright (c) 2014 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:
-# Ericsson - Initial API and implementation
-###############################################################################
-
-bin.includes = plugin.xml,\
- META-INF/,\
- about.html,\
- plugin.properties,\
- book.css,\
- doc/
-jars.extra.classpath = platform:/plugin/org.eclipse.mylyn.wikitext.core,\
- platform:/plugin/org.eclipse.mylyn.wikitext.mediawiki.core
-src.includes = about.html
-
diff --git a/lttng/org.eclipse.linuxtools.tmf.pcap.help/build.xml b/lttng/org.eclipse.linuxtools.tmf.pcap.help/build.xml
deleted file mode 100644
index c803b84fdc..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.pcap.help/build.xml
+++ /dev/null
@@ -1,63 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project name="org.eclipse.linuxtools.tmf.pcap.help" default="build" basedir=".">
- <description>
- Generate Eclipse help content for the Linux Tools Pcap User Guide
- </description>
-
- <property name="ug.title" value="Pcap Network Tracing User Guide" />
-
- <path id="wikitext.tasks.classpath">
- <!-- Search in the local Eclipse installation directory for the Wikitext plugin -->
- <fileset dir="${eclipse.home}/plugins" erroronmissingdir="false">
- <include name="org.eclipse.mylyn.wikitext.*core*.jar" />
- <include name="com.google.guava_*.jar" />
- </fileset>
-
- <!-- For Maven builds: use the compile_classpath -->
- <pathelement path="${compile_classpath}" />
- </path>
-
- <taskdef classpathref="wikitext.tasks.classpath" resource="org/eclipse/mylyn/internal/wikitext/mediawiki/core/tasks/tasks.properties" />
- <taskdef classpathref="wikitext.tasks.classpath" resource="org/eclipse/mylyn/wikitext/core/util/anttask/tasks.properties" />
- <!-- Different location in more recent versions of Mylyn (Luna ?) -->
- <taskdef classpathref="wikitext.tasks.classpath" resource="org/eclipse/mylyn/wikitext/core/ant/tasks.properties" />
-
- <target name="build" description="Generate Eclipse help content for the Linux Tools Pcap User Guide">
- <wikitext-to-eclipse-help markupLanguage="MediaWiki"
- validate="true"
- failonvalidationerror="true"
- overwrite="true"
- multipleOutputFiles="true"
- navigationimages="true"
- title="${ug.title}"
- formatoutput="true"
- helpPrefix="doc">
- <fileset dir="doc">
- <include name="User-Guide.mediawiki" />
- </fileset>
- <stylesheet url="book.css" />
- </wikitext-to-eclipse-help>
- <antcall target="test" />
- </target>
-
- <target name="test" description="Verify that all of the HTML files are well-formed XML">
- <!--
- Don't bother with DTD validation: we only care if the files are well-formed.
- We therefore provide an empty DTD
- -->
- <xmlvalidate lenient="true">
- <fileset dir="doc">
- <include name="**/*.html" />
- </fileset>
- <dtd publicid="-//W3C//DTD XHTML 1.0 Transitional//EN" location=".empty.dtd" />
- </xmlvalidate>
- </target>
-
- <target name ="clean" description="Delete all generated files">
- <delete failonerror="false">
- <fileset dir="doc" includes="**/*.html" />
- <fileset dir="doc" includes="**/*.xml" />
- </delete>
- </target>
-
-</project>
diff --git a/lttng/org.eclipse.linuxtools.tmf.pcap.help/doc/.gitignore b/lttng/org.eclipse.linuxtools.tmf.pcap.help/doc/.gitignore
deleted file mode 100644
index 28d48547c4..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.pcap.help/doc/.gitignore
+++ /dev/null
@@ -1,2 +0,0 @@
-*.html
-*.xml
diff --git a/lttng/org.eclipse.linuxtools.tmf.pcap.help/doc/User-Guide.mediawiki b/lttng/org.eclipse.linuxtools.tmf.pcap.help/doc/User-Guide.mediawiki
deleted file mode 100644
index a0c0d5203a..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.pcap.help/doc/User-Guide.mediawiki
+++ /dev/null
@@ -1,52 +0,0 @@
-= Pcap Support Within TMF =
-
-TMF now supports the reading of libpcap files for network tracing. Those files contains packets that were seen on a network, have a .pcap or .cap extension and can be captured with tools like Wireshark/Tshark/Tcpdump. To open a libpcap trace, simply import it just like any other trace type and TMF will recognize the format. Open the imported trace to see the packets that were captured. For more information about generic features of TMF see the [http://wiki.eclipse.org/index.php/Linux_Tools_Project/LTTng2/User_Guide User Guide].
-
-== Supported Protocols ==
-
-Currently, the Pcap integration in TMF can only recognize four protocols: Ethernet, Internet Protocol Version 4, TCP and UDP. In the future, more protocols will be added and supported. If you want to contribute, please see the “Adding a protocol†section in the [http://wiki.eclipse.org/Linux_Tools_Project/TMF/User_Guide TMF Developer Guide].
-
-== Network Tracing Perspective ==
-
-To help analyze the network traces, a new perspective has been created: the Network Tracing perspective. It looks a lot like Wireshark (since it is the de-facto standard) and contains all the views that are useful for network trace analysis. Those views are:
-* '''Event editor''': A high-level view of all the packets. It lists all the packets and gives basic information about them, like source, destination, timestamp, protocol, etc.
-* '''Properties View''': A low-level view of a particular packet. Once a packet is selected in the event editor, all its fields appear in the properties view.
-* '''Histogram View''': A distribution of the packets relative to time. This allows to identify the period where the network was the most solicited, for instance.
-* '''Statistics View''': A view of the different packet type present in the trace.
-* '''Colors View''': A view used to color the events in the event editor. This is useful for rapidly identifying packet type visually. By default, no event are colored.
-* '''Filter View''': A view used to filter the packets for easier analysis.
-* '''Stream List View''': A view that list all the stream present in the trace/experiment. A stream is a bidirectional flow of packets (a conversation) between two endpoints. An endpoint is either the source or the destination of a packet (which is protocol-dependent).
-
-To open the perspective, select '''Window''' > '''Open Perspective''' > '''Other...''' > '''Network Tracing'''.
-
-[[Image:images/networkTracingPerspective.png|The Network Tracing Perspective]]
-
-== Filtering On Subfield ==
-
-It is now possible to filter on subfields, which is really useful for pcap traces. To do so, in the field combo of the Filter View, start with a slash and type the subfield path by separating the different level with a slash. For instance, to get the Source IP Address of the Internet Protocol Version 4, type:
-
-''/Internet Protocol Version 4/Source IP Address''
-
-If a field name contains a real slash, type “\/†(backslash-slash) instead to make an uninterpreted slash. For instance, to get the field named “Process/Threadâ€, type:
-
-''/Process\/Thread''
-
-[[Image:images/subfieldFiltering.png|Example of filtering on subfields]]
-
-== Stream List View ==
-
-Most of the time, you want to analyze the conversation between two endpoints (a stream). The stream list view allows you to do just that, by isolating the interesting packets. The Stream List View is updated when a new pcap trace is opened and lists all the different streams present in the trace/experiment, for all the supported protocols. By right-clicking on a stream, you can follow a stream, which will send a TmfNewPacketStreamSignal that can be used by other views to run an analysis on the stream. You can also extract the stream as a filter, which will generate a filter based on the stream attributes. It is then possible to customize that filter and apply it on the event editor to get the interesting packets.
-
-[[Image:images/streamListView.png|Example of Stream List View]]
-
-== Limitations ==
-
-* No version check. It assumes the version is 2.4 (which is safe enough, since the format hasn't changed for 10+ years and is not supposed to change anytime soon.
-* All timestamps are assumed to be in GMT time.
-
-== References ==
-
-
-* [http://wiki.eclipse.org/index.php/Linux_Tools_Project/LTTng2/User_Guide LTTng User Guide]
-* [http://wiki.eclipse.org/Linux_Tools_Project/TMF/User_Guide TMF Developer Guide]
-
diff --git a/lttng/org.eclipse.linuxtools.tmf.pcap.help/doc/images/networkTracingPerspective.png b/lttng/org.eclipse.linuxtools.tmf.pcap.help/doc/images/networkTracingPerspective.png
deleted file mode 100644
index e8069ea323..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.pcap.help/doc/images/networkTracingPerspective.png
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.tmf.pcap.help/doc/images/streamListView.png b/lttng/org.eclipse.linuxtools.tmf.pcap.help/doc/images/streamListView.png
deleted file mode 100644
index 832dfa1b68..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.pcap.help/doc/images/streamListView.png
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.tmf.pcap.help/doc/images/subfieldFiltering.png b/lttng/org.eclipse.linuxtools.tmf.pcap.help/doc/images/subfieldFiltering.png
deleted file mode 100644
index d4ec48bb51..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.pcap.help/doc/images/subfieldFiltering.png
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.tmf.pcap.help/plugin.properties b/lttng/org.eclipse.linuxtools.tmf.pcap.help/plugin.properties
deleted file mode 100644
index 54fd6668a8..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.pcap.help/plugin.properties
+++ /dev/null
@@ -1,15 +0,0 @@
-###############################################################################
-# Copyright (c) 2014 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:
-# Ericsson - Initial API and implementation
-###############################################################################
-
-#Properties file for org.eclipse.linuxtools.tmf.pcap.help
-Bundle-Vendor = Eclipse Linux Tools
-Bundle-Name = Linux Tools Pcap Help Plug-in
diff --git a/lttng/org.eclipse.linuxtools.tmf.pcap.help/plugin.xml b/lttng/org.eclipse.linuxtools.tmf.pcap.help/plugin.xml
deleted file mode 100644
index 8236399816..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.pcap.help/plugin.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin>
-<!-- This part should be in a documentation plugin -->
-<!-- Configure the help contribution for this plugin -->
- <extension point="org.eclipse.help.toc">
- <toc
- file="doc/User-Guide-toc.xml"
- primary="true" />
- </extension>
-</plugin>
diff --git a/lttng/org.eclipse.linuxtools.tmf.pcap.help/pom.xml b/lttng/org.eclipse.linuxtools.tmf.pcap.help/pom.xml
deleted file mode 100644
index 3a227ba7d8..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.pcap.help/pom.xml
+++ /dev/null
@@ -1,86 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Copyright (C) 2014, 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
--->
-<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
- <modelVersion>4.0.0</modelVersion>
-
- <parent>
- <artifactId>linuxtools-lttng-parent</artifactId>
- <groupId>org.eclipse.linuxtools.lttng</groupId>
- <version>3.2.0-SNAPSHOT</version>
- </parent>
-
- <artifactId>org.eclipse.linuxtools.tmf.pcap.help</artifactId>
- <version>1.0.0-SNAPSHOT</version>
- <packaging>eclipse-plugin</packaging>
-
- <name>Linux Tools Pcap Help Plug-in</name>
-
- <build>
- <plugins>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-antrun-plugin</artifactId>
- <executions>
- <execution>
- <id>generate-documentation</id>
- <phase>generate-sources</phase>
- <configuration>
- <echo>Generating Pcap Help Files</echo>
- <target>
- <property name="compile_classpath" refid="maven.compile.classpath" />
- <ant target="build" inheritRefs="true" antfile="build.xml" />
- </target>
- </configuration>
- <goals>
- <goal>run</goal>
- </goals>
- </execution>
- <execution>
- <id>clean-documentation</id>
- <phase>clean</phase>
- <configuration>
- <echo>Cleaning up generated Pcap Help Files</echo>
- <target>
- <ant target="clean" antfile="build.xml" />
- </target>
- </configuration>
- <goals>
- <goal>run</goal>
- </goals>
- </execution>
- </executions>
-
- <dependencies>
- <dependency>
- <groupId>org.apache.ant</groupId>
- <artifactId>ant</artifactId>
- <version>1.8.1</version>
- </dependency>
-
- <dependency>
- <groupId>org.apache.ant</groupId>
- <artifactId>ant-launcher</artifactId>
- <version>1.8.1</version>
- </dependency>
-
- <dependency>
- <groupId>org.apache.ant</groupId>
- <artifactId>ant-nodeps</artifactId>
- <version>1.8.1</version>
- </dependency>
-
- </dependencies>
- </plugin>
- </plugins>
- </build>
-
- <groupId>org.eclipse.linuxtools.tmf.pcap</groupId>
-</project>
diff --git a/lttng/org.eclipse.linuxtools.tmf.pcap.ui.swtbot.tests/.classpath b/lttng/org.eclipse.linuxtools.tmf.pcap.ui.swtbot.tests/.classpath
deleted file mode 100644
index 3bc247511f..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.pcap.ui.swtbot.tests/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
- <classpathentry kind="src" path="src"/>
- <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.7"/>
- <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
- <classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/lttng/org.eclipse.linuxtools.tmf.pcap.ui.swtbot.tests/.gitignore b/lttng/org.eclipse.linuxtools.tmf.pcap.ui.swtbot.tests/.gitignore
deleted file mode 100644
index 750e145aa2..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.pcap.ui.swtbot.tests/.gitignore
+++ /dev/null
@@ -1 +0,0 @@
-screenshots/
diff --git a/lttng/org.eclipse.linuxtools.tmf.pcap.ui.swtbot.tests/.project b/lttng/org.eclipse.linuxtools.tmf.pcap.ui.swtbot.tests/.project
deleted file mode 100644
index 0089a9771f..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.pcap.ui.swtbot.tests/.project
+++ /dev/null
@@ -1,34 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>org.eclipse.linuxtools.tmf.pcap.ui.swtbot.tests</name>
- <comment></comment>
- <projects>
- </projects>
- <buildSpec>
- <buildCommand>
- <name>org.eclipse.jdt.core.javabuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.ManifestBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.SchemaBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.api.tools.apiAnalysisBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>org.eclipse.jdt.core.javanature</nature>
- <nature>org.eclipse.pde.PluginNature</nature>
- <nature>org.eclipse.pde.api.tools.apiAnalysisNature</nature>
- </natures>
-</projectDescription>
diff --git a/lttng/org.eclipse.linuxtools.tmf.pcap.ui.swtbot.tests/.settings/org.eclipse.core.resources.prefs b/lttng/org.eclipse.linuxtools.tmf.pcap.ui.swtbot.tests/.settings/org.eclipse.core.resources.prefs
deleted file mode 100644
index 99f26c0203..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.pcap.ui.swtbot.tests/.settings/org.eclipse.core.resources.prefs
+++ /dev/null
@@ -1,2 +0,0 @@
-eclipse.preferences.version=1
-encoding/<project>=UTF-8
diff --git a/lttng/org.eclipse.linuxtools.tmf.pcap.ui.swtbot.tests/.settings/org.eclipse.core.runtime.prefs b/lttng/org.eclipse.linuxtools.tmf.pcap.ui.swtbot.tests/.settings/org.eclipse.core.runtime.prefs
deleted file mode 100644
index 5a0ad22d2a..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.pcap.ui.swtbot.tests/.settings/org.eclipse.core.runtime.prefs
+++ /dev/null
@@ -1,2 +0,0 @@
-eclipse.preferences.version=1
-line.separator=\n
diff --git a/lttng/org.eclipse.linuxtools.tmf.pcap.ui.swtbot.tests/.settings/org.eclipse.jdt.core.prefs b/lttng/org.eclipse.linuxtools.tmf.pcap.ui.swtbot.tests/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index f3fc64575b..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.pcap.ui.swtbot.tests/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,393 +0,0 @@
-eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.annotation.inheritNullAnnotations=enabled
-org.eclipse.jdt.core.compiler.annotation.missingNonNullByDefaultAnnotation=ignore
-org.eclipse.jdt.core.compiler.annotation.nonnull=org.eclipse.jdt.annotation.NonNull
-org.eclipse.jdt.core.compiler.annotation.nonnullbydefault=org.eclipse.jdt.annotation.NonNullByDefault
-org.eclipse.jdt.core.compiler.annotation.nullable=org.eclipse.jdt.annotation.Nullable
-org.eclipse.jdt.core.compiler.annotation.nullanalysis=enabled
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.7
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.doc.comment.support=enabled
-org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=error
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
-org.eclipse.jdt.core.compiler.problem.comparingIdentical=error
-org.eclipse.jdt.core.compiler.problem.deadCode=error
-org.eclipse.jdt.core.compiler.problem.deprecation=error
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=enabled
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled
-org.eclipse.jdt.core.compiler.problem.discouragedReference=error
-org.eclipse.jdt.core.compiler.problem.emptyStatement=error
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.problem.explicitlyClosedAutoCloseable=error
-org.eclipse.jdt.core.compiler.problem.fallthroughCase=error
-org.eclipse.jdt.core.compiler.problem.fatalOptionalError=disabled
-org.eclipse.jdt.core.compiler.problem.fieldHiding=error
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=error
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=error
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=error
-org.eclipse.jdt.core.compiler.problem.includeNullInfoFromAsserts=disabled
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=error
-org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=error
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=error
-org.eclipse.jdt.core.compiler.problem.invalidJavadoc=warning
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTags=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=protected
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=error
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=error
-org.eclipse.jdt.core.compiler.problem.missingDefaultCase=error
-org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=error
-org.eclipse.jdt.core.compiler.problem.missingEnumCaseDespiteDefault=enabled
-org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=error
-org.eclipse.jdt.core.compiler.problem.missingJavadocComments=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=protected
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagDescription=all_standard_tags
-org.eclipse.jdt.core.compiler.problem.missingJavadocTags=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsMethodTypeParameters=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=protected
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=error
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotationForInterfaceMethodImplementation=enabled
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=error
-org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=error
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=error
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=error
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=ignore
-org.eclipse.jdt.core.compiler.problem.nonnullParameterAnnotationDropped=warning
-org.eclipse.jdt.core.compiler.problem.nullAnnotationInferenceConflict=warning
-org.eclipse.jdt.core.compiler.problem.nullReference=error
-org.eclipse.jdt.core.compiler.problem.nullSpecViolation=error
-org.eclipse.jdt.core.compiler.problem.nullUncheckedConversion=warning
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=error
-org.eclipse.jdt.core.compiler.problem.parameterAssignment=error
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=error
-org.eclipse.jdt.core.compiler.problem.potentialNullReference=error
-org.eclipse.jdt.core.compiler.problem.potentiallyUnclosedCloseable=warning
-org.eclipse.jdt.core.compiler.problem.rawTypeReference=error
-org.eclipse.jdt.core.compiler.problem.redundantNullAnnotation=warning
-org.eclipse.jdt.core.compiler.problem.redundantNullCheck=error
-org.eclipse.jdt.core.compiler.problem.redundantSpecificationOfTypeArguments=error
-org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=error
-org.eclipse.jdt.core.compiler.problem.reportMethodCanBePotentiallyStatic=ignore
-org.eclipse.jdt.core.compiler.problem.reportMethodCanBeStatic=error
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=error
-org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=disabled
-org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
-org.eclipse.jdt.core.compiler.problem.syntacticNullAnalysisForFields=enabled
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
-org.eclipse.jdt.core.compiler.problem.typeParameterHiding=error
-org.eclipse.jdt.core.compiler.problem.unavoidableGenericTypeProblems=disabled
-org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=error
-org.eclipse.jdt.core.compiler.problem.unclosedCloseable=error
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
-org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=error
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=error
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=error
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=error
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=disabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=disabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=error
-org.eclipse.jdt.core.compiler.problem.unusedLabel=error
-org.eclipse.jdt.core.compiler.problem.unusedLocal=error
-org.eclipse.jdt.core.compiler.problem.unusedObjectAllocation=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=error
-org.eclipse.jdt.core.compiler.problem.unusedTypeParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedWarningToken=error
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=error
-org.eclipse.jdt.core.compiler.source=1.7
-org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_assignment=0
-org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
-org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
-org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
-org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
-org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0
-org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=80
-org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=0
-org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch=16
-org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_after_package=1
-org.eclipse.jdt.core.formatter.blank_lines_before_field=0
-org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
-org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
-org.eclipse.jdt.core.formatter.blank_lines_before_method=1
-org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
-org.eclipse.jdt.core.formatter.blank_lines_before_package=0
-org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
-org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
-org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
-org.eclipse.jdt.core.formatter.comment.format_block_comments=true
-org.eclipse.jdt.core.formatter.comment.format_header=false
-org.eclipse.jdt.core.formatter.comment.format_html=true
-org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=true
-org.eclipse.jdt.core.formatter.comment.format_line_comments=true
-org.eclipse.jdt.core.formatter.comment.format_source_code=true
-org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true
-org.eclipse.jdt.core.formatter.comment.indent_root_tags=true
-org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
-org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=insert
-org.eclipse.jdt.core.formatter.comment.line_length=80
-org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries=true
-org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries=true
-org.eclipse.jdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments=false
-org.eclipse.jdt.core.formatter.compact_else_if=true
-org.eclipse.jdt.core.formatter.continuation_indentation=2
-org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2
-org.eclipse.jdt.core.formatter.disabling_tag=@formatter\:off
-org.eclipse.jdt.core.formatter.enabling_tag=@formatter\:on
-org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
-org.eclipse.jdt.core.formatter.format_line_comment_starting_on_first_column=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
-org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_empty_lines=false
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=false
-org.eclipse.jdt.core.formatter.indentation.size=4
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_label=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_try=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources=insert
-org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_try=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
-org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.join_lines_in_comments=true
-org.eclipse.jdt.core.formatter.join_wrapped_lines=false
-org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.lineSplit=250
-org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
-org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
-org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true
-org.eclipse.jdt.core.formatter.tabulation.char=space
-org.eclipse.jdt.core.formatter.tabulation.size=4
-org.eclipse.jdt.core.formatter.use_on_off_tags=false
-org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
-org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
-org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true
-org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true
diff --git a/lttng/org.eclipse.linuxtools.tmf.pcap.ui.swtbot.tests/.settings/org.eclipse.jdt.ui.prefs b/lttng/org.eclipse.linuxtools.tmf.pcap.ui.swtbot.tests/.settings/org.eclipse.jdt.ui.prefs
deleted file mode 100644
index 4fd0c7006a..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.pcap.ui.swtbot.tests/.settings/org.eclipse.jdt.ui.prefs
+++ /dev/null
@@ -1,56 +0,0 @@
-eclipse.preferences.version=1
-editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
-formatter_profile=_tmf-style
-formatter_settings_version=12
-sp_cleanup.add_default_serial_version_id=true
-sp_cleanup.add_generated_serial_version_id=false
-sp_cleanup.add_missing_annotations=false
-sp_cleanup.add_missing_deprecated_annotations=true
-sp_cleanup.add_missing_methods=false
-sp_cleanup.add_missing_nls_tags=false
-sp_cleanup.add_missing_override_annotations=true
-sp_cleanup.add_missing_override_annotations_interface_methods=true
-sp_cleanup.add_serial_version_id=false
-sp_cleanup.always_use_blocks=true
-sp_cleanup.always_use_parentheses_in_expressions=false
-sp_cleanup.always_use_this_for_non_static_field_access=false
-sp_cleanup.always_use_this_for_non_static_method_access=false
-sp_cleanup.convert_to_enhanced_for_loop=false
-sp_cleanup.correct_indentation=false
-sp_cleanup.format_source_code=false
-sp_cleanup.format_source_code_changes_only=false
-sp_cleanup.make_local_variable_final=false
-sp_cleanup.make_parameters_final=false
-sp_cleanup.make_private_fields_final=true
-sp_cleanup.make_type_abstract_if_missing_method=false
-sp_cleanup.make_variable_declarations_final=false
-sp_cleanup.never_use_blocks=false
-sp_cleanup.never_use_parentheses_in_expressions=true
-sp_cleanup.on_save_use_additional_actions=true
-sp_cleanup.organize_imports=false
-sp_cleanup.qualify_static_field_accesses_with_declaring_class=false
-sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_with_declaring_class=false
-sp_cleanup.qualify_static_method_accesses_with_declaring_class=false
-sp_cleanup.remove_private_constructors=true
-sp_cleanup.remove_trailing_whitespaces=true
-sp_cleanup.remove_trailing_whitespaces_all=true
-sp_cleanup.remove_trailing_whitespaces_ignore_empty=false
-sp_cleanup.remove_unnecessary_casts=false
-sp_cleanup.remove_unnecessary_nls_tags=false
-sp_cleanup.remove_unused_imports=false
-sp_cleanup.remove_unused_local_variables=false
-sp_cleanup.remove_unused_private_fields=true
-sp_cleanup.remove_unused_private_members=false
-sp_cleanup.remove_unused_private_methods=true
-sp_cleanup.remove_unused_private_types=true
-sp_cleanup.sort_members=false
-sp_cleanup.sort_members_all=false
-sp_cleanup.use_blocks=true
-sp_cleanup.use_blocks_only_for_return_and_throw=false
-sp_cleanup.use_parentheses_in_expressions=false
-sp_cleanup.use_this_for_non_static_field_access=false
-sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=true
-sp_cleanup.use_this_for_non_static_method_access=false
-sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true
diff --git a/lttng/org.eclipse.linuxtools.tmf.pcap.ui.swtbot.tests/.settings/org.eclipse.pde.api.tools.prefs b/lttng/org.eclipse.linuxtools.tmf.pcap.ui.swtbot.tests/.settings/org.eclipse.pde.api.tools.prefs
deleted file mode 100644
index acc3abd47c..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.pcap.ui.swtbot.tests/.settings/org.eclipse.pde.api.tools.prefs
+++ /dev/null
@@ -1,97 +0,0 @@
-ANNOTATION_ELEMENT_TYPE_ADDED_METHOD_WITHOUT_DEFAULT_VALUE=Error
-ANNOTATION_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
-ANNOTATION_ELEMENT_TYPE_REMOVED_FIELD=Error
-ANNOTATION_ELEMENT_TYPE_REMOVED_METHOD=Error
-ANNOTATION_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
-API_COMPONENT_ELEMENT_TYPE_REMOVED_API_TYPE=Error
-API_COMPONENT_ELEMENT_TYPE_REMOVED_REEXPORTED_API_TYPE=Error
-API_COMPONENT_ELEMENT_TYPE_REMOVED_REEXPORTED_TYPE=Error
-API_COMPONENT_ELEMENT_TYPE_REMOVED_TYPE=Error
-API_USE_SCAN_FIELD_SEVERITY=Error
-API_USE_SCAN_METHOD_SEVERITY=Error
-API_USE_SCAN_TYPE_SEVERITY=Error
-CLASS_ELEMENT_TYPE_ADDED_METHOD=Error
-CLASS_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
-CLASS_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
-CLASS_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error
-CLASS_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
-CLASS_ELEMENT_TYPE_CHANGED_NON_ABSTRACT_TO_ABSTRACT=Error
-CLASS_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error
-CLASS_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
-CLASS_ELEMENT_TYPE_REMOVED_CONSTRUCTOR=Error
-CLASS_ELEMENT_TYPE_REMOVED_FIELD=Error
-CLASS_ELEMENT_TYPE_REMOVED_METHOD=Error
-CLASS_ELEMENT_TYPE_REMOVED_SUPERCLASS=Error
-CLASS_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
-CLASS_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
-CONSTRUCTOR_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
-CONSTRUCTOR_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
-CONSTRUCTOR_ELEMENT_TYPE_CHANGED_VARARGS_TO_ARRAY=Error
-CONSTRUCTOR_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
-ENUM_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error
-ENUM_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
-ENUM_ELEMENT_TYPE_REMOVED_ENUM_CONSTANT=Error
-ENUM_ELEMENT_TYPE_REMOVED_FIELD=Error
-ENUM_ELEMENT_TYPE_REMOVED_METHOD=Error
-ENUM_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
-FIELD_ELEMENT_TYPE_ADDED_VALUE=Error
-FIELD_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
-FIELD_ELEMENT_TYPE_CHANGED_FINAL_TO_NON_FINAL_STATIC_CONSTANT=Error
-FIELD_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error
-FIELD_ELEMENT_TYPE_CHANGED_NON_STATIC_TO_STATIC=Error
-FIELD_ELEMENT_TYPE_CHANGED_STATIC_TO_NON_STATIC=Error
-FIELD_ELEMENT_TYPE_CHANGED_TYPE=Error
-FIELD_ELEMENT_TYPE_CHANGED_VALUE=Error
-FIELD_ELEMENT_TYPE_REMOVED_TYPE_ARGUMENT=Error
-FIELD_ELEMENT_TYPE_REMOVED_VALUE=Error
-ILLEGAL_EXTEND=Warning
-ILLEGAL_IMPLEMENT=Warning
-ILLEGAL_INSTANTIATE=Warning
-ILLEGAL_OVERRIDE=Warning
-ILLEGAL_REFERENCE=Warning
-INTERFACE_ELEMENT_TYPE_ADDED_FIELD=Error
-INTERFACE_ELEMENT_TYPE_ADDED_METHOD=Error
-INTERFACE_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
-INTERFACE_ELEMENT_TYPE_ADDED_SUPER_INTERFACE_WITH_METHODS=Error
-INTERFACE_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
-INTERFACE_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error
-INTERFACE_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
-INTERFACE_ELEMENT_TYPE_REMOVED_FIELD=Error
-INTERFACE_ELEMENT_TYPE_REMOVED_METHOD=Error
-INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
-INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
-INVALID_JAVADOC_TAG=Warning
-INVALID_REFERENCE_IN_SYSTEM_LIBRARIES=Warning
-LEAK_EXTEND=Warning
-LEAK_FIELD_DECL=Warning
-LEAK_IMPLEMENT=Warning
-LEAK_METHOD_PARAM=Warning
-LEAK_METHOD_RETURN_TYPE=Warning
-METHOD_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
-METHOD_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
-METHOD_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
-METHOD_ELEMENT_TYPE_CHANGED_NON_ABSTRACT_TO_ABSTRACT=Error
-METHOD_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error
-METHOD_ELEMENT_TYPE_CHANGED_NON_STATIC_TO_STATIC=Error
-METHOD_ELEMENT_TYPE_CHANGED_STATIC_TO_NON_STATIC=Error
-METHOD_ELEMENT_TYPE_CHANGED_VARARGS_TO_ARRAY=Error
-METHOD_ELEMENT_TYPE_REMOVED_ANNOTATION_DEFAULT_VALUE=Error
-METHOD_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
-MISSING_EE_DESCRIPTIONS=Ignore
-TYPE_PARAMETER_ELEMENT_TYPE_ADDED_CLASS_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_ADDED_INTERFACE_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_CHANGED_CLASS_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_CHANGED_INTERFACE_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_CLASS_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error
-UNUSED_PROBLEM_FILTERS=Warning
-automatically_removed_unused_problem_filters=false
-eclipse.preferences.version=1
-incompatible_api_component_version=Error
-incompatible_api_component_version_include_major_without_breaking_change=Disabled
-incompatible_api_component_version_include_minor_without_api_change=Disabled
-invalid_since_tag_version=Error
-malformed_since_tag=Error
-missing_since_tag=Error
-report_api_breakage_when_major_version_incremented=Disabled
-report_resolution_errors_api_component=Warning
diff --git a/lttng/org.eclipse.linuxtools.tmf.pcap.ui.swtbot.tests/.settings/org.eclipse.pde.prefs b/lttng/org.eclipse.linuxtools.tmf.pcap.ui.swtbot.tests/.settings/org.eclipse.pde.prefs
deleted file mode 100644
index 62cfa90dee..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.pcap.ui.swtbot.tests/.settings/org.eclipse.pde.prefs
+++ /dev/null
@@ -1,32 +0,0 @@
-compilers.f.unresolved-features=1
-compilers.f.unresolved-plugins=1
-compilers.incompatible-environment=1
-compilers.p.build=1
-compilers.p.build.bin.includes=1
-compilers.p.build.encodings=2
-compilers.p.build.java.compiler=2
-compilers.p.build.java.compliance=1
-compilers.p.build.missing.output=2
-compilers.p.build.output.library=1
-compilers.p.build.source.library=1
-compilers.p.build.src.includes=1
-compilers.p.deprecated=1
-compilers.p.discouraged-class=1
-compilers.p.internal=1
-compilers.p.missing-packages=2
-compilers.p.missing-version-export-package=2
-compilers.p.missing-version-import-package=2
-compilers.p.missing-version-require-bundle=2
-compilers.p.no-required-att=0
-compilers.p.not-externalized-att=2
-compilers.p.unknown-attribute=1
-compilers.p.unknown-class=1
-compilers.p.unknown-element=1
-compilers.p.unknown-identifier=1
-compilers.p.unknown-resource=1
-compilers.p.unresolved-ex-points=0
-compilers.p.unresolved-import=0
-compilers.s.create-docs=false
-compilers.s.doc-folder=doc
-compilers.s.open-tags=1
-eclipse.preferences.version=1
diff --git a/lttng/org.eclipse.linuxtools.tmf.pcap.ui.swtbot.tests/META-INF/MANIFEST.MF b/lttng/org.eclipse.linuxtools.tmf.pcap.ui.swtbot.tests/META-INF/MANIFEST.MF
deleted file mode 100644
index a45c1a731a..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.pcap.ui.swtbot.tests/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,25 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %Bundle-Name
-Bundle-Vendor: %Bundle-Vendor
-Bundle-Version: 1.0.0.qualifier
-Bundle-Localization: plugin
-Bundle-SymbolicName: org.eclipse.linuxtools.tmf.pcap.ui.swtbot.tests;singleton:=true
-Bundle-ActivationPolicy: lazy
-Bundle-RequiredExecutionEnvironment: JavaSE-1.7
-Export-Package: org.eclipse.linuxtools.tmf.pcap.ui.swtbot.tests
-Require-Bundle: org.apache.log4j,
- org.eclipse.core.resources,
- org.eclipse.core.runtime,
- org.eclipse.swtbot.eclipse.finder,
- org.eclipse.swtbot.junit4_x,
- org.eclipse.ui,
- org.eclipse.ui.ide,
- org.eclipse.ui.views,
- org.junit,
- org.eclipse.linuxtools.tmf.core,
- org.eclipse.linuxtools.tmf.pcap.core,
- org.eclipse.linuxtools.tmf.pcap.core.tests,
- org.eclipse.linuxtools.tmf.ui,
- org.eclipse.linuxtools.tmf.pcap.ui,
- org.eclipse.linuxtools.tmf.ui.swtbot.tests
diff --git a/lttng/org.eclipse.linuxtools.tmf.pcap.ui.swtbot.tests/about.html b/lttng/org.eclipse.linuxtools.tmf.pcap.ui.swtbot.tests/about.html
deleted file mode 100644
index 28737f60b7..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.pcap.ui.swtbot.tests/about.html
+++ /dev/null
@@ -1,28 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
-<title>About</title>
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
-
-<p>June 5, 2006</p>
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;). Unless otherwise
-indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is available
-at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is
-being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content. Check the Redistributor's license that was
-provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at <a href="http://www.eclipse.org/">http://www.eclipse.org</a>.</p>
-
-</body>
-</html> \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.tmf.pcap.ui.swtbot.tests/build.properties b/lttng/org.eclipse.linuxtools.tmf.pcap.ui.swtbot.tests/build.properties
deleted file mode 100644
index a1f154eb7a..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.pcap.ui.swtbot.tests/build.properties
+++ /dev/null
@@ -1,17 +0,0 @@
-###############################################################################
-# Copyright (c) 2014 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:
-# Ericsson - Initial API and implementation
-###############################################################################
-source.. = src/
-bin.includes = META-INF/,\
- .,\
- plugin.properties
-additional.bundles = org.eclipse.jdt.annotation
-jars.extra.classpath = platform:/plugin/org.eclipse.jdt.annotation
diff --git a/lttng/org.eclipse.linuxtools.tmf.pcap.ui.swtbot.tests/plugin.properties b/lttng/org.eclipse.linuxtools.tmf.pcap.ui.swtbot.tests/plugin.properties
deleted file mode 100644
index ea7e67c94a..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.pcap.ui.swtbot.tests/plugin.properties
+++ /dev/null
@@ -1,14 +0,0 @@
-###############################################################################
-# Copyright (c) 2014 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:
-# Ericsson - Initial API and implementation
-###############################################################################
-
-Bundle-Vendor = Eclipse Linux Tools
-Bundle-Name = Pcap Support for TMF SWTBot Tests Plug-in
diff --git a/lttng/org.eclipse.linuxtools.tmf.pcap.ui.swtbot.tests/pom.xml b/lttng/org.eclipse.linuxtools.tmf.pcap.ui.swtbot.tests/pom.xml
deleted file mode 100644
index 39b095b646..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.pcap.ui.swtbot.tests/pom.xml
+++ /dev/null
@@ -1,51 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Copyright (C) 2014 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
--->
-
-<project xmlns="http://maven.apache.org/POM/4.0.0"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
- <modelVersion>4.0.0</modelVersion>
-
- <parent>
- <artifactId>linuxtools-lttng-parent</artifactId>
- <groupId>org.eclipse.linuxtools.lttng</groupId>
- <version>3.2.0-SNAPSHOT</version>
- </parent>
-
- <artifactId>org.eclipse.linuxtools.tmf.pcap.ui.swtbot.tests</artifactId>
- <version>1.0.0-SNAPSHOT</version>
- <packaging>eclipse-test-plugin</packaging>
-
- <name>Pcap Support for TMF SWTBot Tests Plug-in</name>
-
- <build>
- <plugins>
- <plugin>
- <groupId>org.eclipse.tycho</groupId>
- <artifactId>tycho-surefire-plugin</artifactId>
- <version>${tycho-version}</version>
- <configuration>
- <testSuite>org.eclipse.linuxtools.tmf.pcap.ui.swtbot.tests</testSuite>
- <testClass>org.eclipse.linuxtools.tmf.pcap.ui.swtbot.tests.AllTests</testClass>
- <useUIHarness>true</useUIHarness>
- <useUIThread>false</useUIThread>
- <argLine>${tycho.testArgLine} ${base.ui.test.vmargs}</argLine>
- <product>org.eclipse.platform.ide</product>
-<!-- Disable GTK3 with Luna because it makes the test hang (bug in IcedTea http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1736) -->
- <environmentVariables>
- <SWT_GTK3>0</SWT_GTK3>
- </environmentVariables>
- </configuration>
- </plugin>
- </plugins>
- </build>
-
- <groupId>org.eclipse.linuxtools.tmf.pcap</groupId>
-</project>
diff --git a/lttng/org.eclipse.linuxtools.tmf.pcap.ui.swtbot.tests/src/org/eclipse/linuxtools/tmf/pcap/ui/swtbot/tests/AllTests.java b/lttng/org.eclipse.linuxtools.tmf.pcap.ui.swtbot.tests/src/org/eclipse/linuxtools/tmf/pcap/ui/swtbot/tests/AllTests.java
deleted file mode 100644
index 35c51ec78f..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.pcap.ui.swtbot.tests/src/org/eclipse/linuxtools/tmf/pcap/ui/swtbot/tests/AllTests.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 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:
- * Matthew Khouzam - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.pcap.ui.swtbot.tests;
-
-import org.junit.runner.RunWith;
-import org.junit.runners.Suite;
-
-/**
- * Test suite for UI on the PCAP parser and networking perspective
- */
-@RunWith(Suite.class)
-@Suite.SuiteClasses({
- ImportAndReadPcapTest.class,
- NetworkPerspectiveChecker.class
-})
-public class AllTests {
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.pcap.ui.swtbot.tests/src/org/eclipse/linuxtools/tmf/pcap/ui/swtbot/tests/ImportAndReadPcapTest.java b/lttng/org.eclipse.linuxtools.tmf.pcap.ui.swtbot.tests/src/org/eclipse/linuxtools/tmf/pcap/ui/swtbot/tests/ImportAndReadPcapTest.java
deleted file mode 100644
index 232cf868b3..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.pcap.ui.swtbot.tests/src/org/eclipse/linuxtools/tmf/pcap/ui/swtbot/tests/ImportAndReadPcapTest.java
+++ /dev/null
@@ -1,269 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 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:
- * Matthew Khouzam - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.pcap.ui.swtbot.tests;
-
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.fail;
-import static org.junit.Assume.assumeTrue;
-
-import java.io.File;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
-
-import org.apache.log4j.ConsoleAppender;
-import org.apache.log4j.Logger;
-import org.apache.log4j.SimpleLayout;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.jface.viewers.SelectionChangedEvent;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.linuxtools.tmf.core.event.ITmfEvent;
-import org.eclipse.linuxtools.tmf.core.signal.TmfTimeSynchSignal;
-import org.eclipse.linuxtools.tmf.core.trace.ITmfContext;
-import org.eclipse.linuxtools.tmf.pcap.core.tests.shared.PcapTmfTestTrace;
-import org.eclipse.linuxtools.internal.tmf.pcap.core.trace.PcapTrace;
-import org.eclipse.linuxtools.internal.tmf.pcap.ui.NetworkingPerspectiveFactory;
-import org.eclipse.linuxtools.internal.tmf.pcap.ui.stream.StreamListView;
-import org.eclipse.linuxtools.tmf.ui.editors.TmfEventsEditor;
-import org.eclipse.linuxtools.tmf.ui.project.model.TmfOpenTraceHelper;
-import org.eclipse.linuxtools.tmf.ui.project.model.TmfProjectRegistry;
-import org.eclipse.linuxtools.tmf.ui.project.model.TmfTraceFolder;
-import org.eclipse.linuxtools.tmf.ui.swtbot.tests.SWTBotUtil;
-import org.eclipse.linuxtools.tmf.ui.swtbot.tests.conditions.ConditionHelpers;
-import org.eclipse.swtbot.eclipse.finder.SWTWorkbenchBot;
-import org.eclipse.swtbot.eclipse.finder.widgets.SWTBotView;
-import org.eclipse.swtbot.swt.finder.finders.UIThreadRunnable;
-import org.eclipse.swtbot.swt.finder.junit.SWTBotJunit4ClassRunner;
-import org.eclipse.swtbot.swt.finder.results.BoolResult;
-import org.eclipse.swtbot.swt.finder.results.VoidResult;
-import org.eclipse.swtbot.swt.finder.utils.SWTBotPreferences;
-import org.eclipse.swtbot.swt.finder.widgets.SWTBotTree;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.IEditorReference;
-import org.eclipse.ui.IViewPart;
-import org.eclipse.ui.IViewReference;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.WorkbenchException;
-import org.junit.BeforeClass;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-
-/**
- * SWTBot Smoke test for Pcap UI.
- *
- * @author Matthew Khouzam
- */
-@RunWith(SWTBotJunit4ClassRunner.class)
-public class ImportAndReadPcapTest {
-
- private static final String NETWORK_PERSPECTIVE_ID = NetworkingPerspectiveFactory.ID;
- private static final String TRACE_PROJECT_NAME = "test";
-
- private static SWTWorkbenchBot fBot;
- private ITmfEvent fDesired1;
- private static PcapTmfTestTrace pttt = PcapTmfTestTrace.BENCHMARK_TRACE;
-
- /** The Log4j logger instance. */
- private static final Logger fLogger = Logger.getRootLogger();
-
- /**
- * Test Class setup
- */
- @BeforeClass
- public static void init() {
-
- SWTBotUtil.failIfUIThread();
-
- /* set up for swtbot */
- SWTBotPreferences.TIMEOUT = 300000; /* 300 second timeout */
- fLogger.addAppender(new ConsoleAppender(new SimpleLayout(), ConsoleAppender.SYSTEM_OUT));
- fBot = new SWTWorkbenchBot();
-
- final List<SWTBotView> openViews = fBot.views();
- for (SWTBotView view : openViews) {
- if (view.getTitle().equals("Welcome")) {
- view.close();
- fBot.waitUntil(ConditionHelpers.ViewIsClosed(view));
- }
- }
- /* Switch perspectives */
- switchNetworkPerspective();
- /* Finish waiting for eclipse to load */
- SWTBotUtil.waitForJobs();
- }
-
- private static void switchNetworkPerspective() {
- final Exception retE[] = new Exception[1];
- if (!UIThreadRunnable.syncExec(new BoolResult() {
- @Override
- public Boolean run() {
- try {
- PlatformUI.getWorkbench().showPerspective(NETWORK_PERSPECTIVE_ID,
- PlatformUI.getWorkbench().getActiveWorkbenchWindow());
- } catch (WorkbenchException e) {
- retE[0] = e;
- return false;
- }
- return true;
- }
- })) {
- fail(retE[0].getMessage());
- }
-
- }
-
- /**
- * Main test case
- */
- @Test
- public void test() {
- assumeTrue(pttt.exists());
- SWTBotUtil.createProject(TRACE_PROJECT_NAME);
- openTrace();
- openEditor();
- testHV(getViewPart("Histogram"));
- testStreamView(getViewPartRef("Stream List"));
- fBot.closeAllEditors();
- SWTBotUtil.deleteProject(TRACE_PROJECT_NAME, fBot);
- }
-
- private void testStreamView(IViewReference viewPart) {
- SWTBotView botView = new SWTBotView(viewPart, fBot);
- StreamListView slv = (StreamListView) getViewPart("Stream List");
- botView.setFocus();
- SWTBotTree botTree = fBot.tree();
- assertNotNull(botTree);
- final TmfTimeSynchSignal signal = new TmfTimeSynchSignal(slv, fDesired1.getTimestamp());
- slv.broadcast(signal);
- SWTBotUtil.waitForJobs();
- // FIXME This is a race condition:
- // TmfEventsTable launches an async exec that may be run after the wait
- // for jobs. This last delay catches it.
- SWTBotUtil.delay(1000);
-
- }
-
- private static void openTrace() {
- final Exception exception[] = new Exception[1];
- exception[0] = null;
- UIThreadRunnable.syncExec(new VoidResult() {
- @Override
- public void run() {
- try {
- IProject project = ResourcesPlugin.getWorkspace().getRoot().getProject(TRACE_PROJECT_NAME);
- TmfTraceFolder destinationFolder = TmfProjectRegistry.getProject(project, true).getTracesFolder();
- String absolutePath = (new File(pttt.getTrace().getPath())).getAbsolutePath();
- TmfOpenTraceHelper.openTraceFromPath(destinationFolder, absolutePath, PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell(), "org.eclipse.linuxtools.tmf.pcap.core.pcaptrace");
- } catch (CoreException e) {
- exception[0] = e;
- }
- }
- });
- if (exception[0] != null) {
- fail(exception[0].getMessage());
- }
-
- SWTBotUtil.delay(1000);
- SWTBotUtil.waitForJobs();
- }
-
- private void openEditor() {
- final List<IEditorReference> editorRefs = new ArrayList<>();
- UIThreadRunnable.syncExec(new VoidResult() {
- @Override
- public void run() {
- IEditorReference[] ieds = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().getEditorReferences();
- editorRefs.addAll(Arrays.asList(ieds));
- }
-
- });
- assertFalse(editorRefs.isEmpty());
- IEditorPart iep = null;
- for (IEditorReference ied : editorRefs) {
- if (ied.getTitle().equals(pttt.getTrace().getName())) {
- iep = ied.getEditor(true);
- break;
- }
- }
- assertNotNull(iep);
- fDesired1 = getEvent(100);
- final TmfEventsEditor tmfEd = (TmfEventsEditor) iep;
- UIThreadRunnable.syncExec(new VoidResult() {
- @Override
- public void run() {
- tmfEd.setFocus();
- tmfEd.selectionChanged(new SelectionChangedEvent(tmfEd, new StructuredSelection(fDesired1)));
- }
- });
-
- SWTBotUtil.waitForJobs();
- SWTBotUtil.delay(1000);
- assertNotNull(tmfEd);
- }
-
- private static void testHV(IViewPart vp) {
- assertNotNull(vp);
- }
-
- private static ITmfEvent getEvent(int rank) {
- try (PcapTrace trace = pttt.getTrace()) {
- ITmfContext ctx = trace.seekEvent(0);
- for (int i = 0; i < rank; i++) {
- trace.getNext(ctx);
- }
- return trace.getNext(ctx);
- }
-
- }
-
- private static IViewPart getViewPart(final String viewTile) {
- final IViewPart[] vps = new IViewPart[1];
- UIThreadRunnable.syncExec(new VoidResult() {
- @Override
- public void run() {
- IViewReference[] viewRefs = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().getViewReferences();
- for (IViewReference viewRef : viewRefs) {
- IViewPart vp = viewRef.getView(true);
- if (vp.getTitle().equals(viewTile)) {
- vps[0] = vp;
- return;
- }
- }
- }
- });
-
- return vps[0];
- }
-
- private static IViewReference getViewPartRef(final String viewTile) {
- final IViewReference[] vrs = new IViewReference[1];
- UIThreadRunnable.syncExec(new VoidResult() {
- @Override
- public void run() {
- IViewReference[] viewRefs = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().getViewReferences();
- for (IViewReference viewRef : viewRefs) {
- IViewPart vp = viewRef.getView(true);
- if (vp.getTitle().equals(viewTile)) {
- vrs[0] = viewRef;
- return;
- }
- }
- }
- });
-
- return vrs[0];
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.pcap.ui.swtbot.tests/src/org/eclipse/linuxtools/tmf/pcap/ui/swtbot/tests/NetworkPerspectiveChecker.java b/lttng/org.eclipse.linuxtools.tmf.pcap.ui.swtbot.tests/src/org/eclipse/linuxtools/tmf/pcap/ui/swtbot/tests/NetworkPerspectiveChecker.java
deleted file mode 100644
index 5e8fb8efd9..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.pcap.ui.swtbot.tests/src/org/eclipse/linuxtools/tmf/pcap/ui/swtbot/tests/NetworkPerspectiveChecker.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 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:
- * Matthew Khouzam - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.pcap.ui.swtbot.tests;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-
-import org.eclipse.linuxtools.internal.tmf.pcap.ui.NetworkingPerspectiveFactory;
-import org.eclipse.linuxtools.internal.tmf.pcap.ui.stream.StreamListView;
-import org.eclipse.linuxtools.tmf.ui.swtbot.tests.AbstractPerspectiveChecker;
-import org.eclipse.linuxtools.tmf.ui.views.colors.ColorsView;
-import org.eclipse.linuxtools.tmf.ui.views.filter.FilterView;
-import org.eclipse.linuxtools.tmf.ui.views.histogram.HistogramView;
-import org.eclipse.linuxtools.tmf.ui.views.statistics.TmfStatisticsView;
-import org.eclipse.ui.IPageLayout;
-import org.junit.Before;
-
-/**
- * Tracing perspective view checker
- *
- * @author Matthew Khouzam
- */
-public class NetworkPerspectiveChecker extends AbstractPerspectiveChecker {
-
- /**
- * Set up arrays for test
- */
- @Before
- public void init() {
- fPerspectiveId = NetworkingPerspectiveFactory.ID;
- fViewIds = new ArrayList<>();
- fViewIds.addAll(Arrays.asList(new String[] {
- // TMF views
- HistogramView.ID,
- TmfStatisticsView.ID,
- FilterView.ID,
- ColorsView.ID,
- // PCAP
- StreamListView.ID,
- // Standard Eclipse views
- IPageLayout.ID_PROJECT_EXPLORER,
- IPageLayout.ID_PROP_SHEET,
- IPageLayout.ID_BOOKMARKS
- }));
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.pcap.ui/.classpath b/lttng/org.eclipse.linuxtools.tmf.pcap.ui/.classpath
deleted file mode 100644
index 098194ca4b..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.pcap.ui/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
- <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.7"/>
- <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
- <classpathentry kind="src" path="src"/>
- <classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/lttng/org.eclipse.linuxtools.tmf.pcap.ui/.project b/lttng/org.eclipse.linuxtools.tmf.pcap.ui/.project
deleted file mode 100644
index ca480fbc13..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.pcap.ui/.project
+++ /dev/null
@@ -1,34 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>org.eclipse.linuxtools.tmf.pcap.ui</name>
- <comment></comment>
- <projects>
- </projects>
- <buildSpec>
- <buildCommand>
- <name>org.eclipse.jdt.core.javabuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.ManifestBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.SchemaBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.api.tools.apiAnalysisBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>org.eclipse.pde.PluginNature</nature>
- <nature>org.eclipse.jdt.core.javanature</nature>
- <nature>org.eclipse.pde.api.tools.apiAnalysisNature</nature>
- </natures>
-</projectDescription>
diff --git a/lttng/org.eclipse.linuxtools.tmf.pcap.ui/.settings/org.eclipse.core.resources.prefs b/lttng/org.eclipse.linuxtools.tmf.pcap.ui/.settings/org.eclipse.core.resources.prefs
deleted file mode 100644
index 99f26c0203..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.pcap.ui/.settings/org.eclipse.core.resources.prefs
+++ /dev/null
@@ -1,2 +0,0 @@
-eclipse.preferences.version=1
-encoding/<project>=UTF-8
diff --git a/lttng/org.eclipse.linuxtools.tmf.pcap.ui/.settings/org.eclipse.core.runtime.prefs b/lttng/org.eclipse.linuxtools.tmf.pcap.ui/.settings/org.eclipse.core.runtime.prefs
deleted file mode 100644
index 5a0ad22d2a..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.pcap.ui/.settings/org.eclipse.core.runtime.prefs
+++ /dev/null
@@ -1,2 +0,0 @@
-eclipse.preferences.version=1
-line.separator=\n
diff --git a/lttng/org.eclipse.linuxtools.tmf.pcap.ui/.settings/org.eclipse.jdt.core.prefs b/lttng/org.eclipse.linuxtools.tmf.pcap.ui/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index 9f3662cd78..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.pcap.ui/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,394 +0,0 @@
-eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.annotation.inheritNullAnnotations=enabled
-org.eclipse.jdt.core.compiler.annotation.missingNonNullByDefaultAnnotation=ignore
-org.eclipse.jdt.core.compiler.annotation.nonnull=org.eclipse.jdt.annotation.NonNull
-org.eclipse.jdt.core.compiler.annotation.nonnullbydefault=org.eclipse.jdt.annotation.NonNullByDefault
-org.eclipse.jdt.core.compiler.annotation.nullable=org.eclipse.jdt.annotation.Nullable
-org.eclipse.jdt.core.compiler.annotation.nullanalysis=enabled
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.7
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.doc.comment.support=enabled
-org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=error
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
-org.eclipse.jdt.core.compiler.problem.comparingIdentical=error
-org.eclipse.jdt.core.compiler.problem.deadCode=error
-org.eclipse.jdt.core.compiler.problem.deprecation=error
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled
-org.eclipse.jdt.core.compiler.problem.discouragedReference=warning
-org.eclipse.jdt.core.compiler.problem.emptyStatement=error
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.problem.explicitlyClosedAutoCloseable=error
-org.eclipse.jdt.core.compiler.problem.fallthroughCase=error
-org.eclipse.jdt.core.compiler.problem.fatalOptionalError=disabled
-org.eclipse.jdt.core.compiler.problem.fieldHiding=error
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=error
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=error
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=error
-org.eclipse.jdt.core.compiler.problem.includeNullInfoFromAsserts=disabled
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=error
-org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=error
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=error
-org.eclipse.jdt.core.compiler.problem.invalidJavadoc=warning
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTags=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=protected
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=error
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=error
-org.eclipse.jdt.core.compiler.problem.missingDefaultCase=error
-org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=error
-org.eclipse.jdt.core.compiler.problem.missingEnumCaseDespiteDefault=enabled
-org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=error
-org.eclipse.jdt.core.compiler.problem.missingJavadocComments=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=protected
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagDescription=all_standard_tags
-org.eclipse.jdt.core.compiler.problem.missingJavadocTags=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsMethodTypeParameters=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=protected
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=error
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotationForInterfaceMethodImplementation=enabled
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=error
-org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=error
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=error
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=error
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=warning
-org.eclipse.jdt.core.compiler.problem.nonnullParameterAnnotationDropped=warning
-org.eclipse.jdt.core.compiler.problem.nullAnnotationInferenceConflict=warning
-org.eclipse.jdt.core.compiler.problem.nullReference=error
-org.eclipse.jdt.core.compiler.problem.nullSpecViolation=error
-org.eclipse.jdt.core.compiler.problem.nullUncheckedConversion=warning
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=error
-org.eclipse.jdt.core.compiler.problem.parameterAssignment=error
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=error
-org.eclipse.jdt.core.compiler.problem.potentialNullReference=error
-org.eclipse.jdt.core.compiler.problem.potentiallyUnclosedCloseable=warning
-org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning
-org.eclipse.jdt.core.compiler.problem.redundantNullAnnotation=warning
-org.eclipse.jdt.core.compiler.problem.redundantNullCheck=error
-org.eclipse.jdt.core.compiler.problem.redundantSpecificationOfTypeArguments=error
-org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=error
-org.eclipse.jdt.core.compiler.problem.reportMethodCanBePotentiallyStatic=ignore
-org.eclipse.jdt.core.compiler.problem.reportMethodCanBeStatic=error
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=error
-org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=disabled
-org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
-org.eclipse.jdt.core.compiler.problem.syntacticNullAnalysisForFields=enabled
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
-org.eclipse.jdt.core.compiler.problem.typeParameterHiding=error
-org.eclipse.jdt.core.compiler.problem.unavoidableGenericTypeProblems=disabled
-org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
-org.eclipse.jdt.core.compiler.problem.unclosedCloseable=error
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
-org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=error
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=error
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=error
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=warning
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=disabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=disabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=error
-org.eclipse.jdt.core.compiler.problem.unusedLabel=error
-org.eclipse.jdt.core.compiler.problem.unusedLocal=error
-org.eclipse.jdt.core.compiler.problem.unusedObjectAllocation=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=error
-org.eclipse.jdt.core.compiler.problem.unusedTypeParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedWarningToken=error
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=error
-org.eclipse.jdt.core.compiler.source=1.7
-org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_assignment=0
-org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
-org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
-org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
-org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
-org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0
-org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=80
-org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=0
-org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch=16
-org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_after_package=1
-org.eclipse.jdt.core.formatter.blank_lines_before_field=0
-org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
-org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
-org.eclipse.jdt.core.formatter.blank_lines_before_method=1
-org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
-org.eclipse.jdt.core.formatter.blank_lines_before_package=0
-org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
-org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
-org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
-org.eclipse.jdt.core.formatter.comment.format_block_comments=true
-org.eclipse.jdt.core.formatter.comment.format_header=false
-org.eclipse.jdt.core.formatter.comment.format_html=true
-org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=true
-org.eclipse.jdt.core.formatter.comment.format_line_comments=true
-org.eclipse.jdt.core.formatter.comment.format_source_code=true
-org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true
-org.eclipse.jdt.core.formatter.comment.indent_root_tags=true
-org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
-org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=insert
-org.eclipse.jdt.core.formatter.comment.line_length=80
-org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries=true
-org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries=true
-org.eclipse.jdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments=false
-org.eclipse.jdt.core.formatter.compact_else_if=true
-org.eclipse.jdt.core.formatter.continuation_indentation=2
-org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2
-org.eclipse.jdt.core.formatter.disabling_tag=@formatter\:off
-org.eclipse.jdt.core.formatter.enabling_tag=@formatter\:on
-org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
-org.eclipse.jdt.core.formatter.format_line_comment_starting_on_first_column=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
-org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_empty_lines=false
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=false
-org.eclipse.jdt.core.formatter.indentation.size=4
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_label=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_try=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources=insert
-org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_try=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
-org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.join_lines_in_comments=true
-org.eclipse.jdt.core.formatter.join_wrapped_lines=false
-org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.lineSplit=250
-org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
-org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
-org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true
-org.eclipse.jdt.core.formatter.tabulation.char=space
-org.eclipse.jdt.core.formatter.tabulation.size=4
-org.eclipse.jdt.core.formatter.use_on_off_tags=false
-org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
-org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
-org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true
-org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true
diff --git a/lttng/org.eclipse.linuxtools.tmf.pcap.ui/.settings/org.eclipse.jdt.ui.prefs b/lttng/org.eclipse.linuxtools.tmf.pcap.ui/.settings/org.eclipse.jdt.ui.prefs
deleted file mode 100644
index 4fd0c7006a..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.pcap.ui/.settings/org.eclipse.jdt.ui.prefs
+++ /dev/null
@@ -1,56 +0,0 @@
-eclipse.preferences.version=1
-editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
-formatter_profile=_tmf-style
-formatter_settings_version=12
-sp_cleanup.add_default_serial_version_id=true
-sp_cleanup.add_generated_serial_version_id=false
-sp_cleanup.add_missing_annotations=false
-sp_cleanup.add_missing_deprecated_annotations=true
-sp_cleanup.add_missing_methods=false
-sp_cleanup.add_missing_nls_tags=false
-sp_cleanup.add_missing_override_annotations=true
-sp_cleanup.add_missing_override_annotations_interface_methods=true
-sp_cleanup.add_serial_version_id=false
-sp_cleanup.always_use_blocks=true
-sp_cleanup.always_use_parentheses_in_expressions=false
-sp_cleanup.always_use_this_for_non_static_field_access=false
-sp_cleanup.always_use_this_for_non_static_method_access=false
-sp_cleanup.convert_to_enhanced_for_loop=false
-sp_cleanup.correct_indentation=false
-sp_cleanup.format_source_code=false
-sp_cleanup.format_source_code_changes_only=false
-sp_cleanup.make_local_variable_final=false
-sp_cleanup.make_parameters_final=false
-sp_cleanup.make_private_fields_final=true
-sp_cleanup.make_type_abstract_if_missing_method=false
-sp_cleanup.make_variable_declarations_final=false
-sp_cleanup.never_use_blocks=false
-sp_cleanup.never_use_parentheses_in_expressions=true
-sp_cleanup.on_save_use_additional_actions=true
-sp_cleanup.organize_imports=false
-sp_cleanup.qualify_static_field_accesses_with_declaring_class=false
-sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_with_declaring_class=false
-sp_cleanup.qualify_static_method_accesses_with_declaring_class=false
-sp_cleanup.remove_private_constructors=true
-sp_cleanup.remove_trailing_whitespaces=true
-sp_cleanup.remove_trailing_whitespaces_all=true
-sp_cleanup.remove_trailing_whitespaces_ignore_empty=false
-sp_cleanup.remove_unnecessary_casts=false
-sp_cleanup.remove_unnecessary_nls_tags=false
-sp_cleanup.remove_unused_imports=false
-sp_cleanup.remove_unused_local_variables=false
-sp_cleanup.remove_unused_private_fields=true
-sp_cleanup.remove_unused_private_members=false
-sp_cleanup.remove_unused_private_methods=true
-sp_cleanup.remove_unused_private_types=true
-sp_cleanup.sort_members=false
-sp_cleanup.sort_members_all=false
-sp_cleanup.use_blocks=true
-sp_cleanup.use_blocks_only_for_return_and_throw=false
-sp_cleanup.use_parentheses_in_expressions=false
-sp_cleanup.use_this_for_non_static_field_access=false
-sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=true
-sp_cleanup.use_this_for_non_static_method_access=false
-sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true
diff --git a/lttng/org.eclipse.linuxtools.tmf.pcap.ui/.settings/org.eclipse.pde.api.tools.prefs b/lttng/org.eclipse.linuxtools.tmf.pcap.ui/.settings/org.eclipse.pde.api.tools.prefs
deleted file mode 100644
index acc3abd47c..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.pcap.ui/.settings/org.eclipse.pde.api.tools.prefs
+++ /dev/null
@@ -1,97 +0,0 @@
-ANNOTATION_ELEMENT_TYPE_ADDED_METHOD_WITHOUT_DEFAULT_VALUE=Error
-ANNOTATION_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
-ANNOTATION_ELEMENT_TYPE_REMOVED_FIELD=Error
-ANNOTATION_ELEMENT_TYPE_REMOVED_METHOD=Error
-ANNOTATION_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
-API_COMPONENT_ELEMENT_TYPE_REMOVED_API_TYPE=Error
-API_COMPONENT_ELEMENT_TYPE_REMOVED_REEXPORTED_API_TYPE=Error
-API_COMPONENT_ELEMENT_TYPE_REMOVED_REEXPORTED_TYPE=Error
-API_COMPONENT_ELEMENT_TYPE_REMOVED_TYPE=Error
-API_USE_SCAN_FIELD_SEVERITY=Error
-API_USE_SCAN_METHOD_SEVERITY=Error
-API_USE_SCAN_TYPE_SEVERITY=Error
-CLASS_ELEMENT_TYPE_ADDED_METHOD=Error
-CLASS_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
-CLASS_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
-CLASS_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error
-CLASS_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
-CLASS_ELEMENT_TYPE_CHANGED_NON_ABSTRACT_TO_ABSTRACT=Error
-CLASS_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error
-CLASS_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
-CLASS_ELEMENT_TYPE_REMOVED_CONSTRUCTOR=Error
-CLASS_ELEMENT_TYPE_REMOVED_FIELD=Error
-CLASS_ELEMENT_TYPE_REMOVED_METHOD=Error
-CLASS_ELEMENT_TYPE_REMOVED_SUPERCLASS=Error
-CLASS_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
-CLASS_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
-CONSTRUCTOR_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
-CONSTRUCTOR_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
-CONSTRUCTOR_ELEMENT_TYPE_CHANGED_VARARGS_TO_ARRAY=Error
-CONSTRUCTOR_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
-ENUM_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error
-ENUM_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
-ENUM_ELEMENT_TYPE_REMOVED_ENUM_CONSTANT=Error
-ENUM_ELEMENT_TYPE_REMOVED_FIELD=Error
-ENUM_ELEMENT_TYPE_REMOVED_METHOD=Error
-ENUM_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
-FIELD_ELEMENT_TYPE_ADDED_VALUE=Error
-FIELD_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
-FIELD_ELEMENT_TYPE_CHANGED_FINAL_TO_NON_FINAL_STATIC_CONSTANT=Error
-FIELD_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error
-FIELD_ELEMENT_TYPE_CHANGED_NON_STATIC_TO_STATIC=Error
-FIELD_ELEMENT_TYPE_CHANGED_STATIC_TO_NON_STATIC=Error
-FIELD_ELEMENT_TYPE_CHANGED_TYPE=Error
-FIELD_ELEMENT_TYPE_CHANGED_VALUE=Error
-FIELD_ELEMENT_TYPE_REMOVED_TYPE_ARGUMENT=Error
-FIELD_ELEMENT_TYPE_REMOVED_VALUE=Error
-ILLEGAL_EXTEND=Warning
-ILLEGAL_IMPLEMENT=Warning
-ILLEGAL_INSTANTIATE=Warning
-ILLEGAL_OVERRIDE=Warning
-ILLEGAL_REFERENCE=Warning
-INTERFACE_ELEMENT_TYPE_ADDED_FIELD=Error
-INTERFACE_ELEMENT_TYPE_ADDED_METHOD=Error
-INTERFACE_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
-INTERFACE_ELEMENT_TYPE_ADDED_SUPER_INTERFACE_WITH_METHODS=Error
-INTERFACE_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
-INTERFACE_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error
-INTERFACE_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
-INTERFACE_ELEMENT_TYPE_REMOVED_FIELD=Error
-INTERFACE_ELEMENT_TYPE_REMOVED_METHOD=Error
-INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
-INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
-INVALID_JAVADOC_TAG=Warning
-INVALID_REFERENCE_IN_SYSTEM_LIBRARIES=Warning
-LEAK_EXTEND=Warning
-LEAK_FIELD_DECL=Warning
-LEAK_IMPLEMENT=Warning
-LEAK_METHOD_PARAM=Warning
-LEAK_METHOD_RETURN_TYPE=Warning
-METHOD_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
-METHOD_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
-METHOD_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
-METHOD_ELEMENT_TYPE_CHANGED_NON_ABSTRACT_TO_ABSTRACT=Error
-METHOD_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error
-METHOD_ELEMENT_TYPE_CHANGED_NON_STATIC_TO_STATIC=Error
-METHOD_ELEMENT_TYPE_CHANGED_STATIC_TO_NON_STATIC=Error
-METHOD_ELEMENT_TYPE_CHANGED_VARARGS_TO_ARRAY=Error
-METHOD_ELEMENT_TYPE_REMOVED_ANNOTATION_DEFAULT_VALUE=Error
-METHOD_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
-MISSING_EE_DESCRIPTIONS=Ignore
-TYPE_PARAMETER_ELEMENT_TYPE_ADDED_CLASS_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_ADDED_INTERFACE_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_CHANGED_CLASS_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_CHANGED_INTERFACE_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_CLASS_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error
-UNUSED_PROBLEM_FILTERS=Warning
-automatically_removed_unused_problem_filters=false
-eclipse.preferences.version=1
-incompatible_api_component_version=Error
-incompatible_api_component_version_include_major_without_breaking_change=Disabled
-incompatible_api_component_version_include_minor_without_api_change=Disabled
-invalid_since_tag_version=Error
-malformed_since_tag=Error
-missing_since_tag=Error
-report_api_breakage_when_major_version_incremented=Disabled
-report_resolution_errors_api_component=Warning
diff --git a/lttng/org.eclipse.linuxtools.tmf.pcap.ui/.settings/org.eclipse.pde.prefs b/lttng/org.eclipse.linuxtools.tmf.pcap.ui/.settings/org.eclipse.pde.prefs
deleted file mode 100644
index d92b94fd4b..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.pcap.ui/.settings/org.eclipse.pde.prefs
+++ /dev/null
@@ -1,32 +0,0 @@
-compilers.f.unresolved-features=1
-compilers.f.unresolved-plugins=1
-compilers.incompatible-environment=1
-compilers.p.build=1
-compilers.p.build.bin.includes=1
-compilers.p.build.encodings=2
-compilers.p.build.java.compiler=2
-compilers.p.build.java.compliance=1
-compilers.p.build.missing.output=2
-compilers.p.build.output.library=1
-compilers.p.build.source.library=1
-compilers.p.build.src.includes=1
-compilers.p.deprecated=1
-compilers.p.discouraged-class=1
-compilers.p.internal=1
-compilers.p.missing-packages=1
-compilers.p.missing-version-export-package=2
-compilers.p.missing-version-import-package=2
-compilers.p.missing-version-require-bundle=2
-compilers.p.no-required-att=0
-compilers.p.not-externalized-att=1
-compilers.p.unknown-attribute=1
-compilers.p.unknown-class=1
-compilers.p.unknown-element=1
-compilers.p.unknown-identifier=1
-compilers.p.unknown-resource=1
-compilers.p.unresolved-ex-points=0
-compilers.p.unresolved-import=0
-compilers.s.create-docs=false
-compilers.s.doc-folder=doc
-compilers.s.open-tags=1
-eclipse.preferences.version=1
diff --git a/lttng/org.eclipse.linuxtools.tmf.pcap.ui/META-INF/MANIFEST.MF b/lttng/org.eclipse.linuxtools.tmf.pcap.ui/META-INF/MANIFEST.MF
deleted file mode 100644
index 93cf988b10..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.pcap.ui/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,21 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %Bundle-Name
-Bundle-Vendor: %Bundle-Vendor
-Bundle-Version: 1.0.0.qualifier
-Bundle-Localization: plugin
-Bundle-SymbolicName: org.eclipse.linuxtools.tmf.pcap.ui;singleton:=true
-Bundle-Activator: org.eclipse.linuxtools.internal.tmf.pcap.ui.Activator
-Bundle-ActivationPolicy: lazy
-Bundle-RequiredExecutionEnvironment: JavaSE-1.7
-Require-Bundle: org.eclipse.core.runtime,
- org.eclipse.core.resources,
- org.eclipse.ui,
- org.eclipse.ui.ide,
- org.eclipse.linuxtools.tmf.core;bundle-version="3.1.0",
- org.eclipse.linuxtools.tmf.ui;bundle-version="3.1.0",
- org.eclipse.linuxtools.tmf.pcap.core;bundle-version="1.0.0"
-Export-Package: org.eclipse.linuxtools.internal.tmf.pcap.ui;x-friends:="org.eclipse.linuxtools.tmf.pcap.ui.swtbot.tests",
- org.eclipse.linuxtools.internal.tmf.pcap.ui.editor;x-internal:=true,
- org.eclipse.linuxtools.internal.tmf.pcap.ui.stream;x-friends:="org.eclipse.linuxtools.tmf.pcap.ui.swtbot.tests"
-Import-Package: com.google.common.collect
diff --git a/lttng/org.eclipse.linuxtools.tmf.pcap.ui/about.html b/lttng/org.eclipse.linuxtools.tmf.pcap.ui/about.html
deleted file mode 100644
index 28737f60b7..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.pcap.ui/about.html
+++ /dev/null
@@ -1,28 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
-<title>About</title>
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
-
-<p>June 5, 2006</p>
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;). Unless otherwise
-indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is available
-at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is
-being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content. Check the Redistributor's license that was
-provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at <a href="http://www.eclipse.org/">http://www.eclipse.org</a>.</p>
-
-</body>
-</html> \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.tmf.pcap.ui/build.properties b/lttng/org.eclipse.linuxtools.tmf.pcap.ui/build.properties
deleted file mode 100644
index 9d5346e883..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.pcap.ui/build.properties
+++ /dev/null
@@ -1,23 +0,0 @@
-###############################################################################
-# Copyright (c) 2014 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:
-# Ericsson - Initial API and implementation
-###############################################################################
-
-source.. = src/
-output.. = bin/
-bin.includes = META-INF/,\
- .,\
- about.html,\
- plugin.properties,\
- plugin.xml,\
- icons/
-src.includes = about.html
-additional.bundles = org.eclipse.jdt.annotation
-jars.extra.classpath = platform:/plugin/org.eclipse.jdt.annotation
diff --git a/lttng/org.eclipse.linuxtools.tmf.pcap.ui/icons/network.png b/lttng/org.eclipse.linuxtools.tmf.pcap.ui/icons/network.png
deleted file mode 100644
index 56f18da574..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.pcap.ui/icons/network.png
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.tmf.pcap.ui/icons/pcap.png b/lttng/org.eclipse.linuxtools.tmf.pcap.ui/icons/pcap.png
deleted file mode 100644
index 208cc697f9..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.pcap.ui/icons/pcap.png
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.tmf.pcap.ui/icons/pcapng.png b/lttng/org.eclipse.linuxtools.tmf.pcap.ui/icons/pcapng.png
deleted file mode 100644
index affe9d1ffe..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.pcap.ui/icons/pcapng.png
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.tmf.pcap.ui/icons/stream_list_view.gif b/lttng/org.eclipse.linuxtools.tmf.pcap.ui/icons/stream_list_view.gif
deleted file mode 100644
index 1ef74cf98f..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.pcap.ui/icons/stream_list_view.gif
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.tmf.pcap.ui/plugin.properties b/lttng/org.eclipse.linuxtools.tmf.pcap.ui/plugin.properties
deleted file mode 100644
index b7d1264e68..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.pcap.ui/plugin.properties
+++ /dev/null
@@ -1,23 +0,0 @@
-###############################################################################
-# Copyright (c) 2014 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:
-# Ericsson - Initial API and implementation
-###############################################################################
-
-#Properties file for org.eclipse.linuxtools.tmf.pcap.ui
-Bundle-Vendor = Eclipse Linux Tools
-Bundle-Name = Pcap support for TMF UI Plug-in
-
-# Pcap trace type
-tracetype.category.pcap = Network Traces
-tracetype.type.pcap = Pcap Trace
-
-category.networking = Network Tracing
-view.stream.list = Stream List
-perspective.networking = Network Tracing \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.tmf.pcap.ui/plugin.xml b/lttng/org.eclipse.linuxtools.tmf.pcap.ui/plugin.xml
deleted file mode 100644
index 31fd1d8211..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.pcap.ui/plugin.xml
+++ /dev/null
@@ -1,51 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.4"?>
-<plugin>
- <extension
- point="org.eclipse.linuxtools.tmf.ui.tracetypeui">
- <type
- icon="icons/pcap.png"
- tracetype="org.eclipse.linuxtools.tmf.pcap.core.pcaptrace">
- <eventTableColumns
- class="org.eclipse.linuxtools.internal.tmf.pcap.ui.editor.PcapEventTableColumns">
- </eventTableColumns>
- </type>
- </extension>
- <extension
- point="org.eclipse.ui.views">
- <category
- id="org.eclipse.linuxtools.tmf.pcap.ui.view.category.network"
- name="%category.networking">
- </category>
- <view
- allowMultiple="false"
- category="org.eclipse.linuxtools.tmf.pcap.ui.view.category.network"
- class="org.eclipse.linuxtools.internal.tmf.pcap.ui.stream.StreamListView"
- icon="icons/stream_list_view.gif"
- id="org.eclipse.linuxtools.tmf.pcap.ui.view.stream.list"
- name="%view.stream.list"
- restorable="true">
- </view>
- </extension>
- <extension
- point="org.eclipse.ui.perspectives">
- <perspective
- class="org.eclipse.linuxtools.internal.tmf.pcap.ui.NetworkingPerspectiveFactory"
- fixed="false"
- icon="icons/network.png"
- id="org.eclipse.linuxtools.tmf.pcap.ui.perspective.network"
- name="%perspective.networking">
- </perspective>
- </extension>
- <extension
- point="org.eclipse.linuxtools.tmf.core.analysis">
- <output
- class="org.eclipse.linuxtools.tmf.ui.analysis.TmfAnalysisViewOutput"
- id="org.eclipse.linuxtools.tmf.pcap.ui.view.stream.list">
- <analysisModuleClass
- class="org.eclipse.linuxtools.internal.tmf.pcap.core.analysis.StreamListAnalysis">
- </analysisModuleClass>
- </output>
- </extension>
-
-</plugin>
diff --git a/lttng/org.eclipse.linuxtools.tmf.pcap.ui/pom.xml b/lttng/org.eclipse.linuxtools.tmf.pcap.ui/pom.xml
deleted file mode 100644
index 03723fe782..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.pcap.ui/pom.xml
+++ /dev/null
@@ -1,36 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Copyright (C) 2014, 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
--->
-<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
- <modelVersion>4.0.0</modelVersion>
-
- <parent>
- <artifactId>linuxtools-lttng-parent</artifactId>
- <groupId>org.eclipse.linuxtools.lttng</groupId>
- <version>3.2.0-SNAPSHOT</version>
- </parent>
-
- <artifactId>org.eclipse.linuxtools.tmf.pcap.ui</artifactId>
- <version>1.0.0-SNAPSHOT</version>
- <packaging>eclipse-plugin</packaging>
-
- <name>Pcap support for TMF UI Plug-in</name>
-
- <build>
- <plugins>
- <plugin>
- <groupId>org.eclipse.tycho</groupId>
- <artifactId>tycho-source-plugin</artifactId>
- </plugin>
- </plugins>
- </build>
-
- <groupId>org.eclipse.linuxtools.tmf.pcap</groupId>
-</project>
diff --git a/lttng/org.eclipse.linuxtools.tmf.pcap.ui/src/org/eclipse/linuxtools/internal/tmf/pcap/ui/Activator.java b/lttng/org.eclipse.linuxtools.tmf.pcap.ui/src/org/eclipse/linuxtools/internal/tmf/pcap/ui/Activator.java
deleted file mode 100644
index 5c9ebaa93f..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.pcap.ui/src/org/eclipse/linuxtools/internal/tmf/pcap/ui/Activator.java
+++ /dev/null
@@ -1,212 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 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:
- * Vincent Perot - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.internal.tmf.pcap.ui;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Plugin;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jdt.annotation.Nullable;
-import org.osgi.framework.BundleContext;
-
-/**
- * <b><u>Activator</u></b>
- * <p>
- * The activator class controls the plug-in life cycle
- */
-public class Activator extends Plugin {
-
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
-
- /**
- * The plug-in ID
- */
- public static final String PLUGIN_ID = "org.eclipse.linuxtools.tmf.pcap.ui"; //$NON-NLS-1$
-
- /**
- * The shared instance
- */
- private static @Nullable Activator fPlugin;
-
- // ------------------------------------------------------------------------
- // Constructors
- // ------------------------------------------------------------------------
-
- /**
- * Constructor
- */
- public Activator() {
- setDefault(this);
- }
-
- // ------------------------------------------------------------------------
- // Accessors
- // ------------------------------------------------------------------------
-
- /**
- * Returns the TMF Core plug-in instance.
- *
- * @return the TMF Core plug-in instance.
- */
- public static @Nullable Activator getDefault() {
- return fPlugin;
- }
-
- // Sets plug-in instance
- private static void setDefault(@Nullable Activator plugin) {
- fPlugin = plugin;
- }
-
- // ------------------------------------------------------------------------
- // Plugin
- // ------------------------------------------------------------------------
-
- @Override
- public void start(@Nullable BundleContext context) throws Exception {
- super.start(context);
- setDefault(this);
- }
-
- @Override
- public void stop(@Nullable BundleContext context) throws Exception {
- setDefault(null);
- super.stop(context);
- }
-
-
- // ------------------------------------------------------------------------
- // Log an IStatus
- // ------------------------------------------------------------------------
-
- /**
- * Log an IStatus object directly
- *
- * @param status
- * The status to log
- */
- public static void log(IStatus status) {
- Activator activator = fPlugin;
- if (activator == null) {
- return;
- }
- activator.getLog().log(status);
- }
-
- // ------------------------------------------------------------------------
- // Log INFO
- // ------------------------------------------------------------------------
-
- /**
- * Logs a message with severity INFO in the runtime log of the plug-in.
- *
- * @param message
- * A message to log
- */
- public static void logInfo(String message) {
- Activator activator = fPlugin;
- if (activator == null) {
- return;
- }
- activator.getLog().log(new Status(IStatus.INFO, PLUGIN_ID, message));
- }
-
- /**
- * Logs a message and exception with severity INFO in the runtime log of the
- * plug-in.
- *
- * @param message
- * A message to log
- * @param exception
- * The corresponding exception
- */
- public static void logInfo(String message, Throwable exception) {
- Activator activator = fPlugin;
- if (activator == null) {
- return;
- }
- activator.getLog().log(new Status(IStatus.INFO, PLUGIN_ID, message, exception));
- }
-
- // ------------------------------------------------------------------------
- // Log WARNING
- // ------------------------------------------------------------------------
-
- /**
- * Logs a message and exception with severity WARNING in the runtime log of
- * the plug-in.
- *
- * @param message
- * A message to log
- */
- public static void logWarning(String message) {
- Activator activator = fPlugin;
- if (activator == null) {
- return;
- }
- activator.getLog().log(new Status(IStatus.WARNING, PLUGIN_ID, message));
- }
-
- /**
- * Logs a message and exception with severity WARNING in the runtime log of
- * the plug-in.
- *
- * @param message
- * A message to log
- * @param exception
- * The corresponding exception
- */
- public static void logWarning(String message, Throwable exception) {
- Activator activator = fPlugin;
- if (activator == null) {
- return;
- }
- activator.getLog().log(new Status(IStatus.WARNING, PLUGIN_ID, message, exception));
- }
-
- // ------------------------------------------------------------------------
- // Log ERROR
- // ------------------------------------------------------------------------
-
- /**
- * Logs a message and exception with severity ERROR in the runtime log of
- * the plug-in.
- *
- * @param message
- * A message to log
- */
- public static void logError(String message) {
- Activator activator = fPlugin;
- if (activator == null) {
- return;
- }
- activator.getLog().log(new Status(IStatus.ERROR, PLUGIN_ID, message));
- }
-
- /**
- * Logs a message and exception with severity ERROR in the runtime log of
- * the plug-in.
- *
- * @param message
- * A message to log
- * @param exception
- * The corresponding exception
- */
- public static void logError(String message, Throwable exception) {
- Activator activator = fPlugin;
- if (activator == null) {
- return;
- }
- activator.getLog().log(new Status(IStatus.ERROR, PLUGIN_ID, message, exception));
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.pcap.ui/src/org/eclipse/linuxtools/internal/tmf/pcap/ui/NetworkingPerspectiveFactory.java b/lttng/org.eclipse.linuxtools.tmf.pcap.ui/src/org/eclipse/linuxtools/internal/tmf/pcap/ui/NetworkingPerspectiveFactory.java
deleted file mode 100644
index 616b3b0bc7..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.pcap.ui/src/org/eclipse/linuxtools/internal/tmf/pcap/ui/NetworkingPerspectiveFactory.java
+++ /dev/null
@@ -1,90 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 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:
- * Vincent Perot - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.internal.tmf.pcap.ui;
-
-import org.eclipse.jdt.annotation.NonNull;
-import org.eclipse.jdt.annotation.Nullable;
-import org.eclipse.linuxtools.internal.tmf.pcap.ui.stream.StreamListView;
-import org.eclipse.linuxtools.tmf.ui.project.wizards.NewTmfProjectWizard;
-import org.eclipse.linuxtools.tmf.ui.views.colors.ColorsView;
-import org.eclipse.linuxtools.tmf.ui.views.filter.FilterView;
-import org.eclipse.linuxtools.tmf.ui.views.histogram.HistogramView;
-import org.eclipse.linuxtools.tmf.ui.views.statistics.TmfStatisticsView;
-import org.eclipse.ui.IFolderLayout;
-import org.eclipse.ui.IPageLayout;
-import org.eclipse.ui.IPerspectiveFactory;
-
-/**
- * The networking perspective definition.
- *
- * @author Vincent Perot
- */
-public class NetworkingPerspectiveFactory implements IPerspectiveFactory {
-
- // ------------------------------------------------------------------------
- // Constants
- // ------------------------------------------------------------------------
-
- /** The Perspective ID */
- public static final String ID = "org.eclipse.linuxtools.tmf.pcap.ui.perspective.network"; //$NON-NLS-1$
-
- // Views
- @SuppressWarnings("null")
- private static final @NonNull String PROJECT_VIEW_ID = IPageLayout.ID_PROJECT_EXPLORER;
- @SuppressWarnings("null")
- private static final @NonNull String PROPERTIES_VIEW_ID = IPageLayout.ID_PROP_SHEET;
- @SuppressWarnings("null")
- private static final @NonNull String BOOKMARKS_VIEW_ID = IPageLayout.ID_BOOKMARKS;
- private static final String FILTER_VIEW_ID = FilterView.ID;
- private static final String HISTOGRAM_VIEW_ID = HistogramView.ID;
- private static final String STATISTICS_VIEW_ID = TmfStatisticsView.ID;
- private static final String COLOR_VIEW_ID = ColorsView.ID;
- private static final String STREAM_LIST_VIEW_ID = StreamListView.ID;
-
- // ------------------------------------------------------------------------
- // IPerspectiveFactory
- // ------------------------------------------------------------------------
-
- @Override
- public void createInitialLayout(@Nullable IPageLayout layout) {
-
- if (layout == null) {
- return;
- }
-
- // Editor area
- layout.setEditorAreaVisible(true);
-
- // Create the top left folder
- IFolderLayout topLeftFolder = layout.createFolder("topLeftFolder", IPageLayout.LEFT, 0.15f, IPageLayout.ID_EDITOR_AREA); //$NON-NLS-1$
- topLeftFolder.addView(PROJECT_VIEW_ID);
-
- // Create the middle right folder
- IFolderLayout middleRightFolder = layout.createFolder("middleRightFolder", IPageLayout.BOTTOM, 0.40f, IPageLayout.ID_EDITOR_AREA); //$NON-NLS-1$
- middleRightFolder.addView(PROPERTIES_VIEW_ID);
- middleRightFolder.addView(HISTOGRAM_VIEW_ID);
- middleRightFolder.addView(STATISTICS_VIEW_ID);
- middleRightFolder.addView(COLOR_VIEW_ID);
-
- // Create the bottom right folder
- IFolderLayout bottomRightFolder = layout.createFolder("bottomRightFolder", IPageLayout.BOTTOM, 0.65f, "middleRightFolder"); //$NON-NLS-1$ //$NON-NLS-2$
- bottomRightFolder.addView(FILTER_VIEW_ID);
- bottomRightFolder.addView(BOOKMARKS_VIEW_ID);
- bottomRightFolder.addView(STREAM_LIST_VIEW_ID);
-
- // Populate menus, etc
- layout.addPerspectiveShortcut(ID);
- layout.addNewWizardShortcut(NewTmfProjectWizard.ID);
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.pcap.ui/src/org/eclipse/linuxtools/internal/tmf/pcap/ui/editor/Messages.java b/lttng/org.eclipse.linuxtools.tmf.pcap.ui/src/org/eclipse/linuxtools/internal/tmf/pcap/ui/editor/Messages.java
deleted file mode 100644
index 590d964dc7..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.pcap.ui/src/org/eclipse/linuxtools/internal/tmf/pcap/ui/editor/Messages.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 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:
- * Vincent Perot - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.internal.tmf.pcap.ui.editor;
-
-import org.eclipse.jdt.annotation.Nullable;
-import org.eclipse.osgi.util.NLS;
-
-@SuppressWarnings("javadoc")
-public class Messages extends NLS {
-
- private static final String BUNDLE_NAME = "org.eclipse.linuxtools.internal.tmf.pcap.ui.editor.messages"; //$NON-NLS-1$
-
- public static @Nullable String PcapEventsTable_Content;
- public static @Nullable String PcapEventsTable_Destination;
- public static @Nullable String PcapEventsTable_Protocol;
- public static @Nullable String PcapEventsTable_Reference;
- public static @Nullable String PcapEventsTable_Source;
- public static @Nullable String PcapEventsTable_Timestamp;
-
- static {
- // initialize resource bundle
- NLS.initializeMessages(BUNDLE_NAME, Messages.class);
- }
-
- private Messages() {
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.pcap.ui/src/org/eclipse/linuxtools/internal/tmf/pcap/ui/editor/PcapEventTableColumns.java b/lttng/org.eclipse.linuxtools.tmf.pcap.ui/src/org/eclipse/linuxtools/internal/tmf/pcap/ui/editor/PcapEventTableColumns.java
deleted file mode 100644
index 227dd04eea..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.pcap.ui/src/org/eclipse/linuxtools/internal/tmf/pcap/ui/editor/PcapEventTableColumns.java
+++ /dev/null
@@ -1,144 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 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:
- * Vincent Perot - Initial API and implementation
- * Alexandre Montplaisir - Update to new TmfEventTableColumn API
- *******************************************************************************/
-
-package org.eclipse.linuxtools.internal.tmf.pcap.ui.editor;
-
-import java.util.Collection;
-
-import org.eclipse.jdt.annotation.NonNull;
-import org.eclipse.jdt.annotation.Nullable;
-import org.eclipse.linuxtools.internal.tmf.pcap.core.event.PcapEvent;
-import org.eclipse.linuxtools.internal.tmf.pcap.core.protocol.TmfPcapProtocol;
-import org.eclipse.linuxtools.tmf.core.event.ITmfEvent;
-import org.eclipse.linuxtools.tmf.ui.viewers.events.columns.ITmfEventTableColumns;
-import org.eclipse.linuxtools.tmf.ui.viewers.events.columns.TmfEventTableColumn;
-
-import com.google.common.collect.ImmutableList;
-
-/**
- * Default event table for pcap traces.
- *
- * @author Vincent Perot
- */
-public class PcapEventTableColumns implements ITmfEventTableColumns {
-
- // ------------------------------------------------------------------------
- // Table data
- // ------------------------------------------------------------------------
-
- @SuppressWarnings("null")
- private static final @NonNull Collection<TmfEventTableColumn> PCAP_COLUMNS = ImmutableList.of(
- TmfEventTableColumn.BaseColumns.TIMESTAMP,
- new PcapSourceColumn(),
- new PcapDestinationColumn(),
- TmfEventTableColumn.BaseColumns.REFERENCE,
- new PcapProtocolColumn(),
- TmfEventTableColumn.BaseColumns.CONTENTS
- );
-
- /**
- * The "packet source" column for pcap events
- */
- private static class PcapSourceColumn extends TmfEventTableColumn {
-
- public PcapSourceColumn() {
- super(getString(Messages.PcapEventsTable_Source));
- }
-
- @Override
- public String getItemString(ITmfEvent event) {
- if (!(event instanceof PcapEvent)) {
- return EMPTY_STRING;
- }
- PcapEvent pcapEvent = (PcapEvent) event;
- TmfPcapProtocol protocol = pcapEvent.getMostEncapsulatedProtocol();
-
- return getString(pcapEvent.getSourceEndpoint(protocol));
- }
-
- @Override
- public @Nullable String getFilterFieldId() {
- return PcapEvent.EVENT_FIELD_PACKET_SOURCE;
- }
- }
-
- /**
- * The "packet destination" column for pcap events
- */
- private static class PcapDestinationColumn extends TmfEventTableColumn {
-
- public PcapDestinationColumn() {
- super(getString(Messages.PcapEventsTable_Destination));
- }
-
- @Override
- public String getItemString(ITmfEvent event) {
- if (!(event instanceof PcapEvent)) {
- return EMPTY_STRING;
- }
- PcapEvent pcapEvent = (PcapEvent) event;
- TmfPcapProtocol protocol = pcapEvent.getMostEncapsulatedProtocol();
- return getString(pcapEvent.getDestinationEndpoint(protocol));
- }
-
- @Override
- public @Nullable String getFilterFieldId() {
- return PcapEvent.EVENT_FIELD_PACKET_DESTINATION;
- }
- }
-
- /**
- * The "packet protocol" column for pcap events
- */
- private static class PcapProtocolColumn extends TmfEventTableColumn {
-
- public PcapProtocolColumn() {
- super(getString(Messages.PcapEventsTable_Protocol));
- }
-
- @Override
- public String getItemString(ITmfEvent event) {
- if (!(event instanceof PcapEvent)) {
- return EMPTY_STRING;
- }
- PcapEvent pcapEvent = (PcapEvent) event;
- TmfPcapProtocol protocol = pcapEvent.getMostEncapsulatedProtocol();
-
- @SuppressWarnings("null")
- @NonNull String proto = protocol.getShortName().toUpperCase();
- return proto;
- }
-
- @Override
- public @Nullable String getFilterFieldId() {
- return PcapEvent.EVENT_FIELD_PACKET_PROTOCOL;
- }
- }
-
- /**
- * Little convenience method to work around the incompatibilities between
- * null annotations and NLS files...
- */
- private static String getString(@Nullable String str) {
- return (str == null ? "" : str); //$NON-NLS-1$
- }
-
- // ------------------------------------------------------------------------
- // ITmfEventTableColumns
- // ------------------------------------------------------------------------
-
- @Override
- public Collection<? extends TmfEventTableColumn> getEventTableColumns() {
- return PCAP_COLUMNS;
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.pcap.ui/src/org/eclipse/linuxtools/internal/tmf/pcap/ui/editor/messages.properties b/lttng/org.eclipse.linuxtools.tmf.pcap.ui/src/org/eclipse/linuxtools/internal/tmf/pcap/ui/editor/messages.properties
deleted file mode 100644
index fe4006df00..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.pcap.ui/src/org/eclipse/linuxtools/internal/tmf/pcap/ui/editor/messages.properties
+++ /dev/null
@@ -1,18 +0,0 @@
-###############################################################################
-# Copyright (c) 2014 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:
-# Ericsson - Initial API and implementation
-###############################################################################
-
-PcapEventsTable_Content=Content
-PcapEventsTable_Destination=Destination
-PcapEventsTable_Protocol=Protocol
-PcapEventsTable_Reference=Reference
-PcapEventsTable_Source=Source
-PcapEventsTable_Timestamp=Timestamp
diff --git a/lttng/org.eclipse.linuxtools.tmf.pcap.ui/src/org/eclipse/linuxtools/internal/tmf/pcap/ui/editor/package-info.java b/lttng/org.eclipse.linuxtools.tmf.pcap.ui/src/org/eclipse/linuxtools/internal/tmf/pcap/ui/editor/package-info.java
deleted file mode 100644
index f3c77e9d57..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.pcap.ui/src/org/eclipse/linuxtools/internal/tmf/pcap/ui/editor/package-info.java
+++ /dev/null
@@ -1,14 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 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:
- * Ericsson - Initial API and implementation
- *******************************************************************************/
-
-@org.eclipse.jdt.annotation.NonNullByDefault
-package org.eclipse.linuxtools.internal.tmf.pcap.ui.editor; \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.tmf.pcap.ui/src/org/eclipse/linuxtools/internal/tmf/pcap/ui/package-info.java b/lttng/org.eclipse.linuxtools.tmf.pcap.ui/src/org/eclipse/linuxtools/internal/tmf/pcap/ui/package-info.java
deleted file mode 100644
index 0567038652..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.pcap.ui/src/org/eclipse/linuxtools/internal/tmf/pcap/ui/package-info.java
+++ /dev/null
@@ -1,14 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 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:
- * Ericsson - Initial API and implementation
- *******************************************************************************/
-
-@org.eclipse.jdt.annotation.NonNullByDefault
-package org.eclipse.linuxtools.internal.tmf.pcap.ui; \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.tmf.pcap.ui/src/org/eclipse/linuxtools/internal/tmf/pcap/ui/stream/Messages.java b/lttng/org.eclipse.linuxtools.tmf.pcap.ui/src/org/eclipse/linuxtools/internal/tmf/pcap/ui/stream/Messages.java
deleted file mode 100644
index 06b3efd3e7..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.pcap.ui/src/org/eclipse/linuxtools/internal/tmf/pcap/ui/stream/Messages.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 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:
- * Vincent Perot - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.internal.tmf.pcap.ui.stream;
-
-import org.eclipse.jdt.annotation.Nullable;
-import org.eclipse.osgi.util.NLS;
-
-@SuppressWarnings("javadoc")
-public class Messages extends NLS {
-
- private static final String BUNDLE_NAME = "org.eclipse.linuxtools.internal.tmf.pcap.ui.stream.messages"; //$NON-NLS-1$
-
- public static @Nullable String StreamListView_BPSAtoB;
- public static @Nullable String StreamListView_BPSBtoA;
- public static @Nullable String StreamListView_BytesAtoB;
- public static @Nullable String StreamListView_BytesBtoA;
- public static @Nullable String StreamListView_Clear;
- public static @Nullable String StreamListView_Duration;
- public static @Nullable String StreamListView_EndpointA;
- public static @Nullable String StreamListView_EndpointB;
- public static @Nullable String StreamListView_ExtractAsFilter;
- public static @Nullable String StreamListView_FilterName_Stream;
- public static @Nullable String StreamListView_FollowStream;
- public static @Nullable String StreamListView_ID;
- public static @Nullable String StreamListView_PacketsAtoB;
- public static @Nullable String StreamListView_PacketsBtoA;
- public static @Nullable String StreamListView_StartTime;
- public static @Nullable String StreamListView_StopTime;
- public static @Nullable String StreamListView_TotalBytes;
- public static @Nullable String StreamListView_TotalPackets;
-
- static {
- // initialize resource bundle
- NLS.initializeMessages(BUNDLE_NAME, Messages.class);
- }
-
- private Messages() {
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.pcap.ui/src/org/eclipse/linuxtools/internal/tmf/pcap/ui/stream/StreamListView.java b/lttng/org.eclipse.linuxtools.tmf.pcap.ui/src/org/eclipse/linuxtools/internal/tmf/pcap/ui/stream/StreamListView.java
deleted file mode 100644
index ba5d0b525e..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.pcap.ui/src/org/eclipse/linuxtools/internal/tmf/pcap/ui/stream/StreamListView.java
+++ /dev/null
@@ -1,503 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 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:
- * Vincent Perot - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.internal.tmf.pcap.ui.stream;
-
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.jdt.annotation.NonNull;
-import org.eclipse.jdt.annotation.Nullable;
-import org.eclipse.linuxtools.internal.tmf.pcap.core.analysis.StreamListAnalysis;
-import org.eclipse.linuxtools.internal.tmf.pcap.core.event.PcapEvent;
-import org.eclipse.linuxtools.internal.tmf.pcap.core.event.TmfPacketStream;
-import org.eclipse.linuxtools.internal.tmf.pcap.core.event.TmfPacketStreamBuilder;
-import org.eclipse.linuxtools.internal.tmf.pcap.core.protocol.TmfPcapProtocol;
-import org.eclipse.linuxtools.internal.tmf.pcap.core.signal.TmfPacketStreamSelectedSignal;
-import org.eclipse.linuxtools.internal.tmf.pcap.core.trace.PcapTrace;
-import org.eclipse.linuxtools.internal.tmf.pcap.ui.Activator;
-import org.eclipse.linuxtools.tmf.core.filter.model.ITmfFilterTreeNode;
-import org.eclipse.linuxtools.tmf.core.filter.model.TmfFilterAndNode;
-import org.eclipse.linuxtools.tmf.core.filter.model.TmfFilterContainsNode;
-import org.eclipse.linuxtools.tmf.core.filter.model.TmfFilterNode;
-import org.eclipse.linuxtools.tmf.core.filter.model.TmfFilterOrNode;
-import org.eclipse.linuxtools.tmf.core.signal.TmfSignal;
-import org.eclipse.linuxtools.tmf.core.signal.TmfSignalHandler;
-import org.eclipse.linuxtools.tmf.core.signal.TmfSignalManager;
-import org.eclipse.linuxtools.tmf.core.signal.TmfTraceClosedSignal;
-import org.eclipse.linuxtools.tmf.core.signal.TmfTraceOpenedSignal;
-import org.eclipse.linuxtools.tmf.core.signal.TmfTraceSelectedSignal;
-import org.eclipse.linuxtools.tmf.core.trace.ITmfTrace;
-import org.eclipse.linuxtools.tmf.ui.project.model.TraceUtils;
-import org.eclipse.linuxtools.tmf.ui.views.TmfView;
-import org.eclipse.linuxtools.tmf.ui.views.filter.FilterManager;
-import org.eclipse.linuxtools.tmf.ui.views.filter.FilterView;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.CTabFolder;
-import org.eclipse.swt.custom.CTabItem;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.Listener;
-import org.eclipse.swt.widgets.Menu;
-import org.eclipse.swt.widgets.MenuItem;
-import org.eclipse.swt.widgets.Table;
-import org.eclipse.swt.widgets.TableColumn;
-import org.eclipse.swt.widgets.TableItem;
-import org.eclipse.ui.IViewPart;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.PlatformUI;
-
-import com.google.common.collect.Lists;
-
-/**
- * Class that represents the Stream List View. Such a view lists all the
- * available streams from the current experiment. <br>
- * <br>
- * TODO Switch to TmfUiRefreshHandler once the behavior is fixed
- *
- * FIXME analysis is leaking ressource. Someone I will not name told me not to worry about it since
- * AnalysisModule will not be autocloseable later.
- *
- * @author Vincent Perot
- */
-public class StreamListView extends TmfView {
-
- /**
- * The Stream List View ID.
- */
- public static final String ID = "org.eclipse.linuxtools.tmf.pcap.ui.view.stream.list"; //$NON-NLS-1$
-
- private static final String[] COLUMN_NAMES =
- { Messages.StreamListView_ID,
- Messages.StreamListView_EndpointA,
- Messages.StreamListView_EndpointB,
- Messages.StreamListView_TotalPackets,
- Messages.StreamListView_TotalBytes,
- Messages.StreamListView_PacketsAtoB,
- Messages.StreamListView_BytesAtoB,
- Messages.StreamListView_PacketsBtoA,
- Messages.StreamListView_BytesBtoA,
- Messages.StreamListView_StartTime,
- Messages.StreamListView_StopTime,
- Messages.StreamListView_Duration,
- Messages.StreamListView_BPSAtoB,
- Messages.StreamListView_BPSBtoA
- };
-
- private static final int[] COLUMN_SIZES =
- { 75,
- 350,
- 350,
- 110,
- 110,
- 110,
- 110,
- 110,
- 110,
- 180,
- 180,
- 110,
- 110,
- 110 };
-
- private static final String KEY_PROTOCOL = "$protocol$"; //$NON-NLS-1$
- private static final String KEY_STREAM = "$stream$"; //$NON-NLS-1$
-
- private static final String EMPTY_STRING = ""; //$NON-NLS-1$
-
- private static final long WAIT_TIME = 1000;
-
- private @Nullable CTabFolder fTabFolder;
- private @Nullable Map<TmfPcapProtocol, Table> fTableMap;
-
- private @Nullable TmfPacketStream fCurrentStream;
- private @Nullable ITmfTrace fCurrentTrace;
-
- private volatile boolean fStopThread;
-
- /**
- * Constructor of the StreamListView class.
- */
- public StreamListView() {
- super(ID);
- }
-
- /**
- * Handler called when an trace is opened.
- *
- * @param signal
- * Contains the information about the selection.
- */
- @TmfSignalHandler
- public void traceOpened(TmfTraceOpenedSignal signal) {
- fCurrentTrace = signal.getTrace();
- resetView();
- queryAnalysis();
- }
-
- /**
- * Handler called when an trace is closed. Checks if the trace is the
- * current trace and update the view accordingly.
- *
- * @param signal
- * Contains the information about the selection.
- */
- @TmfSignalHandler
- public void traceClosed(TmfTraceClosedSignal signal) {
- if (fCurrentTrace == signal.getTrace()) {
- fCurrentTrace = null;
- resetView();
- }
- }
-
- /**
- * Handler called when an trace is selected. Checks if the trace has changed
- * and requests the selected trace if it has not yet been cached.
- *
- * @param signal
- * Contains the information about the selection.
- */
- @TmfSignalHandler
- public void traceSelected(TmfTraceSelectedSignal signal) {
- if (fCurrentTrace != signal.getTrace()) {
- fCurrentTrace = signal.getTrace();
- resetView();
- queryAnalysis();
- }
- }
-
- private void queryAnalysis() {
- Thread thread = new Thread(new Runnable() {
-
- @Override
- public void run() {
- ITmfTrace trace = fCurrentTrace;
- if (trace == null || (!(trace instanceof PcapTrace))) {
- return;
- }
- StreamListAnalysis analysis = trace.getAnalysisModuleOfClass(StreamListAnalysis.class, StreamListAnalysis.ID);
- if (analysis == null) {
- return;
- }
- while (!analysis.isFinished() && !fStopThread) {
- updateUI();
- try {
- Thread.sleep(WAIT_TIME);
- } catch (InterruptedException e) {
- String message = e.getMessage();
- if (message == null) {
- message = EMPTY_STRING;
- }
- Activator.logError(message, e);
- return;
- }
- }
- // Update UI one more time (daft punk)
- if (!fStopThread) {
- updateUI();
- }
-
- }
- });
-
- fStopThread = false;
- thread.start();
- }
-
- private void resetView() {
-
- // Stop thread if needed
- fStopThread = true;
-
- // Remove all content in tables
- final Display display = Display.getDefault();
- if (display == null || display.isDisposed()) {
- return;
- }
- display.asyncExec(new Runnable() {
-
- @Override
- public void run() {
- if (display.isDisposed()) {
- return;
- }
- Map<TmfPcapProtocol, Table> tableMap = fTableMap;
- if (tableMap == null) {
- return;
- }
- for (TmfPcapProtocol protocol : tableMap.keySet()) {
- if (!(tableMap.get(protocol).isDisposed())) {
- tableMap.get(protocol).removeAll();
- }
- }
- }
- });
- }
-
- private void updateUI() {
- final Display display = Display.getDefault();
- if (display == null || display.isDisposed()) {
- return;
- }
- display.asyncExec(new Runnable() {
-
- @Override
- public void run() {
- if (display.isDisposed()) {
- return;
- }
- ITmfTrace trace = fCurrentTrace;
- if (trace == null) {
- return;
- }
-
- StreamListAnalysis analysis = trace.getAnalysisModuleOfClass(StreamListAnalysis.class, StreamListAnalysis.ID);
- if (analysis == null) {
- return;
- }
-
- Map<TmfPcapProtocol, Table> tables = fTableMap;
- if (tables == null) {
- return;
- }
- for (TmfPcapProtocol p : tables.keySet()) {
- @SuppressWarnings("null")
- @NonNull TmfPcapProtocol protocol = p;
- TmfPacketStreamBuilder builder = analysis.getBuilder(protocol);
- if (builder != null && !(tables.get(protocol).isDisposed())) {
- for (TmfPacketStream stream : builder.getStreams()) {
-
- TableItem item;
- if (stream.getID() < tables.get(protocol).getItemCount()) {
- item = tables.get(protocol).getItem(stream.getID());
- } else {
- item = new TableItem(tables.get(protocol), SWT.NONE);
- }
- item.setText(0, String.valueOf(stream.getID()));
- item.setText(1, stream.getFirstEndpoint().toString());
- item.setText(2, stream.getSecondEndpoint().toString());
- item.setText(3, String.valueOf(stream.getNbPackets()));
- item.setText(4, String.valueOf(stream.getNbBytes()));
- item.setText(5, String.valueOf(stream.getNbPacketsAtoB()));
- item.setText(6, String.valueOf(stream.getNbBytesAtoB()));
- item.setText(7, String.valueOf(stream.getNbPacketsBtoA()));
- item.setText(8, String.valueOf(stream.getNbBytesBtoA()));
- item.setText(9, stream.getStartTime().toString());
- item.setText(10, stream.getStopTime().toString());
- item.setText(11, String.format("%.3f", stream.getDuration())); //$NON-NLS-1$
- item.setText(12, String.format("%.3f", stream.getBPSAtoB())); //$NON-NLS-1$
- item.setText(13, String.format("%.3f", stream.getBPSBtoA())); //$NON-NLS-1$
- item.setData(KEY_STREAM, stream);
- }
- }
- }
- }
-
- });
- }
-
- @Override
- public void createPartControl(@Nullable Composite parent) {
- // Initialize
- fTableMap = new HashMap<>();
- fCurrentTrace = getActiveTrace();
- fCurrentStream = null;
-
- // Add a tab folder
- fTabFolder = new CTabFolder(parent, SWT.NONE);
- fTabFolder.addSelectionListener(new SelectionAdapter() {
-
- @Override
- public void widgetSelected(@Nullable SelectionEvent e) {
- Map<TmfPcapProtocol, Table> tables = fTableMap;
- if (tables == null || e == null) {
- return;
- }
- TmfPcapProtocol protocol = (TmfPcapProtocol) e.item.getData(KEY_PROTOCOL);
- tables.get(protocol).deselectAll();
- fCurrentStream = null;
- }
-
- });
-
- // Add items and tables for each protocol
- for (TmfPcapProtocol protocol : TmfPcapProtocol.values()) {
- if (protocol.supportsStream()) {
- CTabItem item = new CTabItem(fTabFolder, SWT.NONE);
- item.setText(protocol.getName());
- item.setData(KEY_PROTOCOL, protocol);
- Table table = new Table(fTabFolder, SWT.NONE);
- table.setHeaderVisible(true);
- table.setLinesVisible(true);
-
- // Add columns to table
- for (int i = 0; i < COLUMN_NAMES.length || i < COLUMN_SIZES.length; i++) {
- TableColumn column = new TableColumn(table, SWT.NONE);
- column.setText(COLUMN_NAMES[i]);
- column.setWidth(COLUMN_SIZES[i]);
- }
- item.setControl(table);
- table.addSelectionListener(new SelectionAdapter() {
-
- @Override
- public void widgetSelected(@Nullable SelectionEvent e) {
- if (e == null) {
- return;
- }
- fCurrentStream = (TmfPacketStream) e.item.getData(KEY_STREAM);
- }
-
- });
-
- Map<TmfPcapProtocol, Table> tables = fTableMap;
- if (tables == null) {
- return;
- }
-
- tables.put(protocol, table);
-
- // Add right click menu
- Menu menu = new Menu(table);
- MenuItem menuItem = new MenuItem(menu, SWT.PUSH);
- menuItem.setText(Messages.StreamListView_FollowStream);
- menuItem.addListener(SWT.Selection, new Listener() {
-
- @Override
- public void handleEvent(@Nullable Event event) {
- TmfSignal signal = new TmfPacketStreamSelectedSignal(this, 0, fCurrentStream);
- TmfSignalManager.dispatchSignal(signal);
- }
- });
- menuItem = new MenuItem(menu, SWT.PUSH);
- menuItem.setText(Messages.StreamListView_Clear);
- menuItem.addListener(SWT.Selection, new Listener() {
-
- @Override
- public void handleEvent(@Nullable Event event) {
- TmfSignal signal = new TmfPacketStreamSelectedSignal(this, 0, null);
- TmfSignalManager.dispatchSignal(signal);
-
- }
- });
- menuItem = new MenuItem(menu, SWT.PUSH);
- menuItem.setText(Messages.StreamListView_ExtractAsFilter);
- menuItem.addListener(SWT.Selection, new Listener() {
-
- @Override
- public void handleEvent(@Nullable Event event) {
- // Generate filter.
- ITmfFilterTreeNode filter = generateFilter();
-
- // Update view and XML
- updateFilters(filter);
-
- }
-
- private void updateFilters(@Nullable ITmfFilterTreeNode filter) {
- if (filter == null) {
- return;
- }
-
- // Update XML
- List<ITmfFilterTreeNode> filters = Lists.newArrayList(FilterManager.getSavedFilters());
- boolean newFilter = true;
- for (ITmfFilterTreeNode savedFilter : filters) {
- // Use toString() equality because equals() is not implemented
- if (savedFilter.toString().equals(filter.toString())) {
- newFilter = false;
- break;
- }
- }
- if (newFilter) {
- filters.add(filter);
- FilterManager.setSavedFilters(filters.toArray(new ITmfFilterTreeNode[filters.size()]));
- }
-
- // Update Filter View
- try {
- final IWorkbench wb = PlatformUI.getWorkbench();
- final IWorkbenchPage activePage = wb.getActiveWorkbenchWindow().getActivePage();
- IViewPart view = activePage.showView(FilterView.ID);
- FilterView filterView = (FilterView) view;
- filterView.addFilter(filter);
- } catch (final PartInitException e) {
- TraceUtils.displayErrorMsg(Messages.StreamListView_ExtractAsFilter, "Error opening view " + FilterView.ID + e.getMessage()); //$NON-NLS-1$
- Activator.logError("Error opening view " + FilterView.ID, e); //$NON-NLS-1$
- return;
- }
-
- }
-
- private @Nullable ITmfFilterTreeNode generateFilter() {
- TmfPacketStream stream = fCurrentStream;
- if (stream == null) {
- return null;
- }
-
- // First stage - root
- String name = Messages.StreamListView_FilterName_Stream + ' ' + stream.getProtocol().getShortName() + ' ' + stream.getFirstEndpoint()
- + " <--> " + stream.getSecondEndpoint(); //$NON-NLS-1$
- TmfFilterNode root = new TmfFilterNode(name);
-
- // Second stage - and
- TmfFilterAndNode and = new TmfFilterAndNode(root);
-
- // Third stage - protocol + or
- TmfFilterContainsNode protocolFilter = new TmfFilterContainsNode(and);
- protocolFilter.setField(stream.getProtocol().getName());
- protocolFilter.setValue(EMPTY_STRING);
- TmfFilterOrNode or = new TmfFilterOrNode(and);
-
- // Fourth stage - and
- TmfFilterAndNode andA = new TmfFilterAndNode(or);
- TmfFilterAndNode andB = new TmfFilterAndNode(or);
-
- // Fourth stage - endpoints
- TmfFilterContainsNode endpointAAndA = new TmfFilterContainsNode(andA);
- endpointAAndA.setField(PcapEvent.EVENT_FIELD_PACKET_SOURCE);
- endpointAAndA.setValue(stream.getFirstEndpoint());
- TmfFilterContainsNode endpointBAndA = new TmfFilterContainsNode(andA);
- endpointBAndA.setField(PcapEvent.EVENT_FIELD_PACKET_DESTINATION);
- endpointBAndA.setValue(stream.getSecondEndpoint());
- TmfFilterContainsNode endpointAAndB = new TmfFilterContainsNode(andB);
- endpointAAndB.setField(PcapEvent.EVENT_FIELD_PACKET_SOURCE);
- endpointAAndB.setValue(stream.getSecondEndpoint());
- TmfFilterContainsNode endpointBAndB = new TmfFilterContainsNode(andB);
- endpointBAndB.setField(PcapEvent.EVENT_FIELD_PACKET_DESTINATION);
- endpointBAndB.setValue(stream.getFirstEndpoint());
-
- return root;
- }
- });
- table.setMenu(menu);
- }
- }
-
- // Ask the analysis for data.
- queryAnalysis();
- }
-
- @Override
- public void setFocus() {
- CTabFolder tabFolder = fTabFolder;
- if (tabFolder != null && !(tabFolder.isDisposed())) {
- tabFolder.setFocus();
- }
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.pcap.ui/src/org/eclipse/linuxtools/internal/tmf/pcap/ui/stream/messages.properties b/lttng/org.eclipse.linuxtools.tmf.pcap.ui/src/org/eclipse/linuxtools/internal/tmf/pcap/ui/stream/messages.properties
deleted file mode 100644
index 2ceb87c3b0..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.pcap.ui/src/org/eclipse/linuxtools/internal/tmf/pcap/ui/stream/messages.properties
+++ /dev/null
@@ -1,30 +0,0 @@
-###############################################################################
-# Copyright (c) 2014 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:
-# Ericsson - Initial API and implementation
-###############################################################################
-
-StreamListView_Clear=Clear
-StreamListView_Duration=Duration
-StreamListView_EndpointA=Endpoint A
-StreamListView_EndpointB=Endpoint B
-StreamListView_ExtractAsFilter=Extract as Filter
-StreamListView_FilterName_Stream=stream
-StreamListView_FollowStream=Follow Stream
-StreamListView_ID=ID
-StreamListView_TotalBytes=Bytes
-StreamListView_TotalPackets=Packets
-StreamListView_PacketsAtoB=Packets A -> B
-StreamListView_PacketsBtoA=Packets B -> A
-StreamListView_BytesAtoB=Bytes A -> B
-StreamListView_BytesBtoA=Bytes B -> A
-StreamListView_StartTime=Start Time
-StreamListView_StopTime=Stop Time
-StreamListView_BPSBtoA=BPS B -> A
-StreamListView_BPSAtoB=BPS A -> B
diff --git a/lttng/org.eclipse.linuxtools.tmf.pcap.ui/src/org/eclipse/linuxtools/internal/tmf/pcap/ui/stream/package-info.java b/lttng/org.eclipse.linuxtools.tmf.pcap.ui/src/org/eclipse/linuxtools/internal/tmf/pcap/ui/stream/package-info.java
deleted file mode 100644
index 9aeb3c64eb..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.pcap.ui/src/org/eclipse/linuxtools/internal/tmf/pcap/ui/stream/package-info.java
+++ /dev/null
@@ -1,14 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 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:
- * Ericsson - Initial API and implementation
- *******************************************************************************/
-
-@org.eclipse.jdt.annotation.NonNullByDefault
-package org.eclipse.linuxtools.internal.tmf.pcap.ui.stream; \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.tmf.pcap/.project b/lttng/org.eclipse.linuxtools.tmf.pcap/.project
deleted file mode 100644
index 591da4940e..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.pcap/.project
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>org.eclipse.linuxtools.tmf.pcap</name>
- <comment></comment>
- <projects>
- </projects>
- <buildSpec>
- <buildCommand>
- <name>org.eclipse.pde.FeatureBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>org.eclipse.pde.FeatureNature</nature>
- </natures>
-</projectDescription>
diff --git a/lttng/org.eclipse.linuxtools.tmf.pcap/.settings/org.eclipse.core.resources.prefs b/lttng/org.eclipse.linuxtools.tmf.pcap/.settings/org.eclipse.core.resources.prefs
deleted file mode 100644
index 99f26c0203..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.pcap/.settings/org.eclipse.core.resources.prefs
+++ /dev/null
@@ -1,2 +0,0 @@
-eclipse.preferences.version=1
-encoding/<project>=UTF-8
diff --git a/lttng/org.eclipse.linuxtools.tmf.pcap/.settings/org.eclipse.core.runtime.prefs b/lttng/org.eclipse.linuxtools.tmf.pcap/.settings/org.eclipse.core.runtime.prefs
deleted file mode 100644
index 5a0ad22d2a..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.pcap/.settings/org.eclipse.core.runtime.prefs
+++ /dev/null
@@ -1,2 +0,0 @@
-eclipse.preferences.version=1
-line.separator=\n
diff --git a/lttng/org.eclipse.linuxtools.tmf.pcap/build.properties b/lttng/org.eclipse.linuxtools.tmf.pcap/build.properties
deleted file mode 100644
index fef213dbc0..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.pcap/build.properties
+++ /dev/null
@@ -1,15 +0,0 @@
-###############################################################################
-# Copyright (c) 2014 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:
-# Ericsson - Initial API and implementation
-###############################################################################
-
-bin.includes = feature.xml,\
- feature.properties,\
- p2.inf
diff --git a/lttng/org.eclipse.linuxtools.tmf.pcap/feature.properties b/lttng/org.eclipse.linuxtools.tmf.pcap/feature.properties
deleted file mode 100644
index b16cdd66b4..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.pcap/feature.properties
+++ /dev/null
@@ -1,20 +0,0 @@
-###############################################################################
-# Copyright (c) 2014 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:
-# Ericsson - Initial API and implementation
-###############################################################################
-
-featureName=Pcap (Packet Capture Format) Analysis
-
-description=Plug-ins to integrate PCAP into the workbench.
-
-featureProvider=Eclipse Linux Tools
-
-copyright=Copyright 2014 Ericsson
-
diff --git a/lttng/org.eclipse.linuxtools.tmf.pcap/feature.xml b/lttng/org.eclipse.linuxtools.tmf.pcap/feature.xml
deleted file mode 100644
index 4c89aa3bc3..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.pcap/feature.xml
+++ /dev/null
@@ -1,68 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<feature
- id="org.eclipse.linuxtools.tmf.pcap"
- label="%featureName"
- version="1.0.0.qualifier"
- provider-name="%featureProvider"
- license-feature="org.eclipse.license"
- license-feature-version="0.0.0">
-
- <description url="http://www.example.com/description">
- %description
- </description>
-
- <copyright url="http://www.example.com/copyright">
- %copyright
- </copyright>
-
- <license url="%licenseURL">
- %license
- </license>
-
- <url>
- <update label="Linux Tools Update Site" url="http://download.eclipse.org/linuxtools/update"/>
- </url>
-
- <includes
- id="org.eclipse.linuxtools.tmf"
- version="0.0.0"/>
-
- <requires>
- <import plugin="org.eclipse.core.runtime"/>
- <import plugin="org.eclipse.core.resources"/>
- <import plugin="com.google.guava"/>
- <import plugin="org.eclipse.ui"/>
- <import plugin="org.eclipse.ui.ide"/>
- <import plugin="org.eclipse.linuxtools.tmf.core" version="3.1.0" match="greaterOrEqual"/>
- <import plugin="org.eclipse.linuxtools.tmf.ui" version="3.1.0" match="greaterOrEqual"/>
- <import plugin="org.eclipse.linuxtools.tmf.pcap.core" version="1.0.0" match="greaterOrEqual"/>
- <import plugin="org.eclipse.linuxtools.pcap.core" version="1.0.0" match="greaterOrEqual"/>
- </requires>
-
- <plugin
- id="org.eclipse.linuxtools.pcap.core"
- download-size="0"
- install-size="0"
- version="0.0.0"/>
-
- <plugin
- id="org.eclipse.linuxtools.tmf.pcap.ui"
- download-size="0"
- install-size="0"
- version="0.0.0"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.linuxtools.tmf.pcap.core"
- download-size="0"
- install-size="0"
- version="0.0.0"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.linuxtools.tmf.pcap.help"
- download-size="0"
- install-size="0"
- version="0.0.0"/>
-
-</feature>
diff --git a/lttng/org.eclipse.linuxtools.tmf.pcap/p2.inf b/lttng/org.eclipse.linuxtools.tmf.pcap/p2.inf
deleted file mode 100644
index abe8c46aeb..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.pcap/p2.inf
+++ /dev/null
@@ -1,3 +0,0 @@
-instructions.configure=\
-org.eclipse.equinox.p2.touchpoint.eclipse.addRepository(location:http${#58}//download.eclipse.org/linuxtools/updates-nightly,type:0,name:Linux Tools,enabled:false);\
-org.eclipse.equinox.p2.touchpoint.eclipse.addRepository(location:http${#58}//download.eclipse.org/linuxtools/updates-nightly,type:1,name:Linux Tools,enabled:false);
diff --git a/lttng/org.eclipse.linuxtools.tmf.pcap/pom.xml b/lttng/org.eclipse.linuxtools.tmf.pcap/pom.xml
deleted file mode 100644
index 7cc1675faf..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.pcap/pom.xml
+++ /dev/null
@@ -1,58 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Copyright (C) 2011, 2014 Red Hat, Inc, 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
--->
-<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
- <modelVersion>4.0.0</modelVersion>
-
- <parent>
- <artifactId>linuxtools-lttng-parent</artifactId>
- <groupId>org.eclipse.linuxtools.lttng</groupId>
- <version>3.2.0-SNAPSHOT</version>
- </parent>
-
- <name>Linux Tools Pcap Analysis Feature</name>
- <artifactId>org.eclipse.linuxtools.tmf.pcap</artifactId>
- <groupId>org.eclipse.linuxtools.tmf.pcap</groupId>
- <version>1.0.0-SNAPSHOT</version>
-
- <packaging>eclipse-feature</packaging>
-
- <build>
- <plugins>
- <plugin>
- <groupId>org.eclipse.tycho.extras</groupId>
- <artifactId>tycho-source-feature-plugin</artifactId>
- <executions>
- <execution>
- <id>source-feature</id>
- <phase>package</phase>
- <goals>
- <goal>source-feature</goal>
- </goals>
- </execution>
- </executions>
- </plugin>
- <plugin>
- <groupId>org.eclipse.tycho</groupId>
- <artifactId>tycho-p2-plugin</artifactId>
- <version>${tycho-version}</version>
- <executions>
- <execution>
- <id>attached-p2-metadata</id>
- <phase>package</phase>
- <goals>
- <goal>p2-metadata</goal>
- </goals>
- </execution>
- </executions>
- </plugin>
- </plugins>
- </build>
-</project>
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui.swtbot.tests/.classpath b/lttng/org.eclipse.linuxtools.tmf.ui.swtbot.tests/.classpath
deleted file mode 100644
index 098194ca4b..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui.swtbot.tests/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
- <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.7"/>
- <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
- <classpathentry kind="src" path="src"/>
- <classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui.swtbot.tests/.gitignore b/lttng/org.eclipse.linuxtools.tmf.ui.swtbot.tests/.gitignore
deleted file mode 100644
index 750e145aa2..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui.swtbot.tests/.gitignore
+++ /dev/null
@@ -1 +0,0 @@
-screenshots/
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui.swtbot.tests/.project b/lttng/org.eclipse.linuxtools.tmf.ui.swtbot.tests/.project
deleted file mode 100644
index 6c30c9e256..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui.swtbot.tests/.project
+++ /dev/null
@@ -1,34 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>org.eclipse.linuxtools.tmf.ui.swtbot.tests</name>
- <comment></comment>
- <projects>
- </projects>
- <buildSpec>
- <buildCommand>
- <name>org.eclipse.jdt.core.javabuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.ManifestBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.SchemaBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.api.tools.apiAnalysisBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>org.eclipse.pde.PluginNature</nature>
- <nature>org.eclipse.jdt.core.javanature</nature>
- <nature>org.eclipse.pde.api.tools.apiAnalysisNature</nature>
- </natures>
-</projectDescription>
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui.swtbot.tests/.settings/org.eclipse.core.resources.prefs b/lttng/org.eclipse.linuxtools.tmf.ui.swtbot.tests/.settings/org.eclipse.core.resources.prefs
deleted file mode 100644
index 99f26c0203..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui.swtbot.tests/.settings/org.eclipse.core.resources.prefs
+++ /dev/null
@@ -1,2 +0,0 @@
-eclipse.preferences.version=1
-encoding/<project>=UTF-8
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui.swtbot.tests/.settings/org.eclipse.core.runtime.prefs b/lttng/org.eclipse.linuxtools.tmf.ui.swtbot.tests/.settings/org.eclipse.core.runtime.prefs
deleted file mode 100644
index 5a0ad22d2a..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui.swtbot.tests/.settings/org.eclipse.core.runtime.prefs
+++ /dev/null
@@ -1,2 +0,0 @@
-eclipse.preferences.version=1
-line.separator=\n
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui.swtbot.tests/.settings/org.eclipse.jdt.core.prefs b/lttng/org.eclipse.linuxtools.tmf.ui.swtbot.tests/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index 9e6ba79e52..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui.swtbot.tests/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,393 +0,0 @@
-eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.annotation.inheritNullAnnotations=enabled
-org.eclipse.jdt.core.compiler.annotation.missingNonNullByDefaultAnnotation=ignore
-org.eclipse.jdt.core.compiler.annotation.nonnull=org.eclipse.jdt.annotation.NonNull
-org.eclipse.jdt.core.compiler.annotation.nonnullbydefault=org.eclipse.jdt.annotation.NonNullByDefault
-org.eclipse.jdt.core.compiler.annotation.nullable=org.eclipse.jdt.annotation.Nullable
-org.eclipse.jdt.core.compiler.annotation.nullanalysis=enabled
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.7
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.doc.comment.support=enabled
-org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=error
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
-org.eclipse.jdt.core.compiler.problem.comparingIdentical=error
-org.eclipse.jdt.core.compiler.problem.deadCode=error
-org.eclipse.jdt.core.compiler.problem.deprecation=error
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=enabled
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled
-org.eclipse.jdt.core.compiler.problem.discouragedReference=warning
-org.eclipse.jdt.core.compiler.problem.emptyStatement=error
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.problem.explicitlyClosedAutoCloseable=error
-org.eclipse.jdt.core.compiler.problem.fallthroughCase=error
-org.eclipse.jdt.core.compiler.problem.fatalOptionalError=disabled
-org.eclipse.jdt.core.compiler.problem.fieldHiding=error
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=error
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=error
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=error
-org.eclipse.jdt.core.compiler.problem.includeNullInfoFromAsserts=disabled
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=error
-org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=error
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=error
-org.eclipse.jdt.core.compiler.problem.invalidJavadoc=warning
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTags=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=protected
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=error
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=error
-org.eclipse.jdt.core.compiler.problem.missingDefaultCase=error
-org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=error
-org.eclipse.jdt.core.compiler.problem.missingEnumCaseDespiteDefault=enabled
-org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=error
-org.eclipse.jdt.core.compiler.problem.missingJavadocComments=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=protected
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagDescription=all_standard_tags
-org.eclipse.jdt.core.compiler.problem.missingJavadocTags=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsMethodTypeParameters=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=protected
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=error
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotationForInterfaceMethodImplementation=enabled
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=error
-org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=error
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=error
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=error
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=ignore
-org.eclipse.jdt.core.compiler.problem.nonnullParameterAnnotationDropped=warning
-org.eclipse.jdt.core.compiler.problem.nullAnnotationInferenceConflict=warning
-org.eclipse.jdt.core.compiler.problem.nullReference=error
-org.eclipse.jdt.core.compiler.problem.nullSpecViolation=error
-org.eclipse.jdt.core.compiler.problem.nullUncheckedConversion=warning
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=error
-org.eclipse.jdt.core.compiler.problem.parameterAssignment=error
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=error
-org.eclipse.jdt.core.compiler.problem.potentialNullReference=error
-org.eclipse.jdt.core.compiler.problem.potentiallyUnclosedCloseable=warning
-org.eclipse.jdt.core.compiler.problem.rawTypeReference=error
-org.eclipse.jdt.core.compiler.problem.redundantNullAnnotation=warning
-org.eclipse.jdt.core.compiler.problem.redundantNullCheck=error
-org.eclipse.jdt.core.compiler.problem.redundantSpecificationOfTypeArguments=error
-org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=error
-org.eclipse.jdt.core.compiler.problem.reportMethodCanBePotentiallyStatic=ignore
-org.eclipse.jdt.core.compiler.problem.reportMethodCanBeStatic=error
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=error
-org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=disabled
-org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
-org.eclipse.jdt.core.compiler.problem.syntacticNullAnalysisForFields=enabled
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
-org.eclipse.jdt.core.compiler.problem.typeParameterHiding=error
-org.eclipse.jdt.core.compiler.problem.unavoidableGenericTypeProblems=disabled
-org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=error
-org.eclipse.jdt.core.compiler.problem.unclosedCloseable=error
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
-org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=error
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=error
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=error
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=error
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=disabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=disabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=error
-org.eclipse.jdt.core.compiler.problem.unusedLabel=error
-org.eclipse.jdt.core.compiler.problem.unusedLocal=error
-org.eclipse.jdt.core.compiler.problem.unusedObjectAllocation=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=error
-org.eclipse.jdt.core.compiler.problem.unusedTypeParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedWarningToken=error
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=error
-org.eclipse.jdt.core.compiler.source=1.7
-org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_assignment=0
-org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
-org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
-org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
-org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
-org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0
-org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=80
-org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=0
-org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch=16
-org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_after_package=1
-org.eclipse.jdt.core.formatter.blank_lines_before_field=0
-org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
-org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
-org.eclipse.jdt.core.formatter.blank_lines_before_method=1
-org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
-org.eclipse.jdt.core.formatter.blank_lines_before_package=0
-org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
-org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
-org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
-org.eclipse.jdt.core.formatter.comment.format_block_comments=true
-org.eclipse.jdt.core.formatter.comment.format_header=false
-org.eclipse.jdt.core.formatter.comment.format_html=true
-org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=true
-org.eclipse.jdt.core.formatter.comment.format_line_comments=true
-org.eclipse.jdt.core.formatter.comment.format_source_code=true
-org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true
-org.eclipse.jdt.core.formatter.comment.indent_root_tags=true
-org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
-org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=insert
-org.eclipse.jdt.core.formatter.comment.line_length=80
-org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries=true
-org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries=true
-org.eclipse.jdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments=false
-org.eclipse.jdt.core.formatter.compact_else_if=true
-org.eclipse.jdt.core.formatter.continuation_indentation=2
-org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2
-org.eclipse.jdt.core.formatter.disabling_tag=@formatter\:off
-org.eclipse.jdt.core.formatter.enabling_tag=@formatter\:on
-org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
-org.eclipse.jdt.core.formatter.format_line_comment_starting_on_first_column=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
-org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_empty_lines=false
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=false
-org.eclipse.jdt.core.formatter.indentation.size=4
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_label=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_try=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources=insert
-org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_try=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
-org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.join_lines_in_comments=true
-org.eclipse.jdt.core.formatter.join_wrapped_lines=false
-org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.lineSplit=250
-org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
-org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
-org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true
-org.eclipse.jdt.core.formatter.tabulation.char=space
-org.eclipse.jdt.core.formatter.tabulation.size=4
-org.eclipse.jdt.core.formatter.use_on_off_tags=false
-org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
-org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
-org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true
-org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui.swtbot.tests/.settings/org.eclipse.jdt.ui.prefs b/lttng/org.eclipse.linuxtools.tmf.ui.swtbot.tests/.settings/org.eclipse.jdt.ui.prefs
deleted file mode 100644
index 4fd0c7006a..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui.swtbot.tests/.settings/org.eclipse.jdt.ui.prefs
+++ /dev/null
@@ -1,56 +0,0 @@
-eclipse.preferences.version=1
-editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
-formatter_profile=_tmf-style
-formatter_settings_version=12
-sp_cleanup.add_default_serial_version_id=true
-sp_cleanup.add_generated_serial_version_id=false
-sp_cleanup.add_missing_annotations=false
-sp_cleanup.add_missing_deprecated_annotations=true
-sp_cleanup.add_missing_methods=false
-sp_cleanup.add_missing_nls_tags=false
-sp_cleanup.add_missing_override_annotations=true
-sp_cleanup.add_missing_override_annotations_interface_methods=true
-sp_cleanup.add_serial_version_id=false
-sp_cleanup.always_use_blocks=true
-sp_cleanup.always_use_parentheses_in_expressions=false
-sp_cleanup.always_use_this_for_non_static_field_access=false
-sp_cleanup.always_use_this_for_non_static_method_access=false
-sp_cleanup.convert_to_enhanced_for_loop=false
-sp_cleanup.correct_indentation=false
-sp_cleanup.format_source_code=false
-sp_cleanup.format_source_code_changes_only=false
-sp_cleanup.make_local_variable_final=false
-sp_cleanup.make_parameters_final=false
-sp_cleanup.make_private_fields_final=true
-sp_cleanup.make_type_abstract_if_missing_method=false
-sp_cleanup.make_variable_declarations_final=false
-sp_cleanup.never_use_blocks=false
-sp_cleanup.never_use_parentheses_in_expressions=true
-sp_cleanup.on_save_use_additional_actions=true
-sp_cleanup.organize_imports=false
-sp_cleanup.qualify_static_field_accesses_with_declaring_class=false
-sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_with_declaring_class=false
-sp_cleanup.qualify_static_method_accesses_with_declaring_class=false
-sp_cleanup.remove_private_constructors=true
-sp_cleanup.remove_trailing_whitespaces=true
-sp_cleanup.remove_trailing_whitespaces_all=true
-sp_cleanup.remove_trailing_whitespaces_ignore_empty=false
-sp_cleanup.remove_unnecessary_casts=false
-sp_cleanup.remove_unnecessary_nls_tags=false
-sp_cleanup.remove_unused_imports=false
-sp_cleanup.remove_unused_local_variables=false
-sp_cleanup.remove_unused_private_fields=true
-sp_cleanup.remove_unused_private_members=false
-sp_cleanup.remove_unused_private_methods=true
-sp_cleanup.remove_unused_private_types=true
-sp_cleanup.sort_members=false
-sp_cleanup.sort_members_all=false
-sp_cleanup.use_blocks=true
-sp_cleanup.use_blocks_only_for_return_and_throw=false
-sp_cleanup.use_parentheses_in_expressions=false
-sp_cleanup.use_this_for_non_static_field_access=false
-sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=true
-sp_cleanup.use_this_for_non_static_method_access=false
-sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui.swtbot.tests/.settings/org.eclipse.pde.api.tools.prefs b/lttng/org.eclipse.linuxtools.tmf.ui.swtbot.tests/.settings/org.eclipse.pde.api.tools.prefs
deleted file mode 100644
index acc3abd47c..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui.swtbot.tests/.settings/org.eclipse.pde.api.tools.prefs
+++ /dev/null
@@ -1,97 +0,0 @@
-ANNOTATION_ELEMENT_TYPE_ADDED_METHOD_WITHOUT_DEFAULT_VALUE=Error
-ANNOTATION_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
-ANNOTATION_ELEMENT_TYPE_REMOVED_FIELD=Error
-ANNOTATION_ELEMENT_TYPE_REMOVED_METHOD=Error
-ANNOTATION_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
-API_COMPONENT_ELEMENT_TYPE_REMOVED_API_TYPE=Error
-API_COMPONENT_ELEMENT_TYPE_REMOVED_REEXPORTED_API_TYPE=Error
-API_COMPONENT_ELEMENT_TYPE_REMOVED_REEXPORTED_TYPE=Error
-API_COMPONENT_ELEMENT_TYPE_REMOVED_TYPE=Error
-API_USE_SCAN_FIELD_SEVERITY=Error
-API_USE_SCAN_METHOD_SEVERITY=Error
-API_USE_SCAN_TYPE_SEVERITY=Error
-CLASS_ELEMENT_TYPE_ADDED_METHOD=Error
-CLASS_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
-CLASS_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
-CLASS_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error
-CLASS_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
-CLASS_ELEMENT_TYPE_CHANGED_NON_ABSTRACT_TO_ABSTRACT=Error
-CLASS_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error
-CLASS_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
-CLASS_ELEMENT_TYPE_REMOVED_CONSTRUCTOR=Error
-CLASS_ELEMENT_TYPE_REMOVED_FIELD=Error
-CLASS_ELEMENT_TYPE_REMOVED_METHOD=Error
-CLASS_ELEMENT_TYPE_REMOVED_SUPERCLASS=Error
-CLASS_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
-CLASS_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
-CONSTRUCTOR_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
-CONSTRUCTOR_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
-CONSTRUCTOR_ELEMENT_TYPE_CHANGED_VARARGS_TO_ARRAY=Error
-CONSTRUCTOR_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
-ENUM_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error
-ENUM_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
-ENUM_ELEMENT_TYPE_REMOVED_ENUM_CONSTANT=Error
-ENUM_ELEMENT_TYPE_REMOVED_FIELD=Error
-ENUM_ELEMENT_TYPE_REMOVED_METHOD=Error
-ENUM_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
-FIELD_ELEMENT_TYPE_ADDED_VALUE=Error
-FIELD_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
-FIELD_ELEMENT_TYPE_CHANGED_FINAL_TO_NON_FINAL_STATIC_CONSTANT=Error
-FIELD_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error
-FIELD_ELEMENT_TYPE_CHANGED_NON_STATIC_TO_STATIC=Error
-FIELD_ELEMENT_TYPE_CHANGED_STATIC_TO_NON_STATIC=Error
-FIELD_ELEMENT_TYPE_CHANGED_TYPE=Error
-FIELD_ELEMENT_TYPE_CHANGED_VALUE=Error
-FIELD_ELEMENT_TYPE_REMOVED_TYPE_ARGUMENT=Error
-FIELD_ELEMENT_TYPE_REMOVED_VALUE=Error
-ILLEGAL_EXTEND=Warning
-ILLEGAL_IMPLEMENT=Warning
-ILLEGAL_INSTANTIATE=Warning
-ILLEGAL_OVERRIDE=Warning
-ILLEGAL_REFERENCE=Warning
-INTERFACE_ELEMENT_TYPE_ADDED_FIELD=Error
-INTERFACE_ELEMENT_TYPE_ADDED_METHOD=Error
-INTERFACE_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
-INTERFACE_ELEMENT_TYPE_ADDED_SUPER_INTERFACE_WITH_METHODS=Error
-INTERFACE_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
-INTERFACE_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error
-INTERFACE_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
-INTERFACE_ELEMENT_TYPE_REMOVED_FIELD=Error
-INTERFACE_ELEMENT_TYPE_REMOVED_METHOD=Error
-INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
-INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
-INVALID_JAVADOC_TAG=Warning
-INVALID_REFERENCE_IN_SYSTEM_LIBRARIES=Warning
-LEAK_EXTEND=Warning
-LEAK_FIELD_DECL=Warning
-LEAK_IMPLEMENT=Warning
-LEAK_METHOD_PARAM=Warning
-LEAK_METHOD_RETURN_TYPE=Warning
-METHOD_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
-METHOD_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
-METHOD_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
-METHOD_ELEMENT_TYPE_CHANGED_NON_ABSTRACT_TO_ABSTRACT=Error
-METHOD_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error
-METHOD_ELEMENT_TYPE_CHANGED_NON_STATIC_TO_STATIC=Error
-METHOD_ELEMENT_TYPE_CHANGED_STATIC_TO_NON_STATIC=Error
-METHOD_ELEMENT_TYPE_CHANGED_VARARGS_TO_ARRAY=Error
-METHOD_ELEMENT_TYPE_REMOVED_ANNOTATION_DEFAULT_VALUE=Error
-METHOD_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
-MISSING_EE_DESCRIPTIONS=Ignore
-TYPE_PARAMETER_ELEMENT_TYPE_ADDED_CLASS_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_ADDED_INTERFACE_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_CHANGED_CLASS_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_CHANGED_INTERFACE_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_CLASS_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error
-UNUSED_PROBLEM_FILTERS=Warning
-automatically_removed_unused_problem_filters=false
-eclipse.preferences.version=1
-incompatible_api_component_version=Error
-incompatible_api_component_version_include_major_without_breaking_change=Disabled
-incompatible_api_component_version_include_minor_without_api_change=Disabled
-invalid_since_tag_version=Error
-malformed_since_tag=Error
-missing_since_tag=Error
-report_api_breakage_when_major_version_incremented=Disabled
-report_resolution_errors_api_component=Warning
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui.swtbot.tests/.settings/org.eclipse.pde.prefs b/lttng/org.eclipse.linuxtools.tmf.ui.swtbot.tests/.settings/org.eclipse.pde.prefs
deleted file mode 100644
index 62cfa90dee..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui.swtbot.tests/.settings/org.eclipse.pde.prefs
+++ /dev/null
@@ -1,32 +0,0 @@
-compilers.f.unresolved-features=1
-compilers.f.unresolved-plugins=1
-compilers.incompatible-environment=1
-compilers.p.build=1
-compilers.p.build.bin.includes=1
-compilers.p.build.encodings=2
-compilers.p.build.java.compiler=2
-compilers.p.build.java.compliance=1
-compilers.p.build.missing.output=2
-compilers.p.build.output.library=1
-compilers.p.build.source.library=1
-compilers.p.build.src.includes=1
-compilers.p.deprecated=1
-compilers.p.discouraged-class=1
-compilers.p.internal=1
-compilers.p.missing-packages=2
-compilers.p.missing-version-export-package=2
-compilers.p.missing-version-import-package=2
-compilers.p.missing-version-require-bundle=2
-compilers.p.no-required-att=0
-compilers.p.not-externalized-att=2
-compilers.p.unknown-attribute=1
-compilers.p.unknown-class=1
-compilers.p.unknown-element=1
-compilers.p.unknown-identifier=1
-compilers.p.unknown-resource=1
-compilers.p.unresolved-ex-points=0
-compilers.p.unresolved-import=0
-compilers.s.create-docs=false
-compilers.s.doc-folder=doc
-compilers.s.open-tags=1
-eclipse.preferences.version=1
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui.swtbot.tests/META-INF/MANIFEST.MF b/lttng/org.eclipse.linuxtools.tmf.ui.swtbot.tests/META-INF/MANIFEST.MF
deleted file mode 100644
index 43d48da31c..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui.swtbot.tests/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,34 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %Bundle-Name
-Bundle-Vendor: %Bundle-Vendor
-Bundle-Version: 3.1.0.qualifier
-Bundle-Localization: plugin
-Bundle-SymbolicName: org.eclipse.linuxtools.tmf.ui.swtbot.tests;singleton:=true
-Bundle-ActivationPolicy: lazy
-Bundle-RequiredExecutionEnvironment: JavaSE-1.7
-Export-Package: org.eclipse.linuxtools.tmf.ui.swtbot.tests,
- org.eclipse.linuxtools.tmf.ui.swtbot.tests.conditions
-Require-Bundle: org.junit;bundle-version="4.0.0",
- org.eclipse.core.resources,
- org.eclipse.core.runtime,
- org.eclipse.ui,
- org.eclipse.ui.ide,
- org.eclipse.ui.views,
- org.eclipse.linuxtools.tmf.ui,
- org.eclipse.linuxtools.tmf.core,
- org.eclipse.linuxtools.tmf.core.tests,
- org.eclipse.swtbot.junit4_x
-Import-Package: org.apache.log4j,
- org.apache.log4j.varia,
- org.eclipse.swtbot.eclipse.finder,
- org.eclipse.swtbot.eclipse.finder.matchers,
- org.eclipse.swtbot.eclipse.finder.widgets,
- org.eclipse.swtbot.swt.finder,
- org.eclipse.swtbot.swt.finder.finders,
- org.eclipse.swtbot.swt.finder.junit,
- org.eclipse.swtbot.swt.finder.keyboard,
- org.eclipse.swtbot.swt.finder.results,
- org.eclipse.swtbot.swt.finder.utils,
- org.eclipse.swtbot.swt.finder.waits,
- org.eclipse.swtbot.swt.finder.widgets
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui.swtbot.tests/about.html b/lttng/org.eclipse.linuxtools.tmf.ui.swtbot.tests/about.html
deleted file mode 100644
index c258ef55d8..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui.swtbot.tests/about.html
+++ /dev/null
@@ -1,28 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
-<title>About</title>
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
-
-<p>June 5, 2006</p>
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;). Unless otherwise
-indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is available
-at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is
-being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content. Check the Redistributor's license that was
-provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at <a href="http://www.eclipse.org/">http://www.eclipse.org</a>.</p>
-
-</body>
-</html> \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui.swtbot.tests/build.properties b/lttng/org.eclipse.linuxtools.tmf.ui.swtbot.tests/build.properties
deleted file mode 100644
index f7a0b9854e..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui.swtbot.tests/build.properties
+++ /dev/null
@@ -1,18 +0,0 @@
-###############################################################################
-# Copyright (c) 2013 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:
-# Ericsson - Initial API and implementation
-###############################################################################
-
-source.. = src/
-output.. = bin/
-bin.includes = META-INF/,\
- .,\
- plugin.properties
-src.includes = about.html
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui.swtbot.tests/plugin.properties b/lttng/org.eclipse.linuxtools.tmf.ui.swtbot.tests/plugin.properties
deleted file mode 100644
index 798369a66d..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui.swtbot.tests/plugin.properties
+++ /dev/null
@@ -1,14 +0,0 @@
-###############################################################################
-# Copyright (c) 2013 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:
-# Ericsson - Initial API and implementation
-###############################################################################
-
-Bundle-Vendor = Eclipse Linux Tools
-Bundle-Name = Linux Tools TMF UI SWTBot Tests Plug-in
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui.swtbot.tests/pom.xml b/lttng/org.eclipse.linuxtools.tmf.ui.swtbot.tests/pom.xml
deleted file mode 100644
index cb47dbed56..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui.swtbot.tests/pom.xml
+++ /dev/null
@@ -1,51 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Copyright (C) 2013 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
--->
-
-<project xmlns="http://maven.apache.org/POM/4.0.0"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
- <modelVersion>4.0.0</modelVersion>
-
- <parent>
- <artifactId>linuxtools-lttng-parent</artifactId>
- <groupId>org.eclipse.linuxtools.lttng</groupId>
- <version>3.2.0-SNAPSHOT</version>
- </parent>
-
- <artifactId>org.eclipse.linuxtools.tmf.ui.swtbot.tests</artifactId>
- <version>3.1.0-SNAPSHOT</version>
- <packaging>eclipse-test-plugin</packaging>
-
- <name>Linux Tools TMF UI SWTBot Tests Plug-in</name>
-
- <build>
- <plugins>
- <plugin>
- <groupId>org.eclipse.tycho</groupId>
- <artifactId>tycho-surefire-plugin</artifactId>
- <version>${tycho-version}</version>
- <configuration>
- <testSuite>org.eclipse.linuxtools.tmf.ui.swtbot.tests</testSuite>
- <testClass>org.eclipse.linuxtools.tmf.ui.swtbot.tests.AllTmfUISWTBotTests</testClass>
- <useUIHarness>true</useUIHarness>
- <useUIThread>false</useUIThread>
- <argLine>${tycho.testArgLine} ${base.ui.test.vmargs}</argLine>
- <product>org.eclipse.platform.ide</product>
-<!-- Disable GTK3 with Luna because it makes the test hang (bug in IcedTea http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1736) -->
- <environmentVariables>
- <SWT_GTK3>0</SWT_GTK3>
- </environmentVariables>
- </configuration>
- </plugin>
- </plugins>
- </build>
-
- <groupId>org.eclipse.linuxtools.tmf</groupId>
-</project>
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui.swtbot.tests/src/org/eclipse/linuxtools/tmf/ui/swtbot/tests/AbstractCustomParserWizard.java b/lttng/org.eclipse.linuxtools.tmf.ui.swtbot.tests/src/org/eclipse/linuxtools/tmf/ui/swtbot/tests/AbstractCustomParserWizard.java
deleted file mode 100644
index 2a9782d098..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui.swtbot.tests/src/org/eclipse/linuxtools/tmf/ui/swtbot/tests/AbstractCustomParserWizard.java
+++ /dev/null
@@ -1,96 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 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:
- * Matthew Khouzam - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.swtbot.tests;
-
-import java.io.File;
-import java.io.FileNotFoundException;
-import java.io.IOException;
-import java.io.RandomAccessFile;
-
-import org.apache.log4j.ConsoleAppender;
-import org.apache.log4j.Logger;
-import org.apache.log4j.SimpleLayout;
-import org.eclipse.swtbot.eclipse.finder.SWTWorkbenchBot;
-import org.eclipse.swtbot.swt.finder.utils.SWTBotPreferences;
-import org.junit.BeforeClass;
-
-/**
- * Abstract custom parser
- * @author Matthew Khouzam
- *
- */
-public class AbstractCustomParserWizard {
-
- /** The Log4j logger instance. */
- static final Logger fLogger = Logger.getRootLogger();
-
- /**
- * The SWTBot running the test
- */
- protected static SWTWorkbenchBot fBot;
-
- /** Test Class setup */
- @BeforeClass
- public static void init() {
- SWTBotUtil.failIfUIThread();
- Thread.currentThread().setName("SWTBot Thread"); // for the debugger
- /* set up for swtbot */
- SWTBotPreferences.TIMEOUT = 20000; /* 20 second timeout */
- fLogger.addAppender(new ConsoleAppender(new SimpleLayout()));
- fBot = new SWTWorkbenchBot();
-
- SWTBotUtil.closeView("welcome", fBot);
-
- SWTBotUtil.switchToTracingPerspective();
- /* finish waiting for eclipse to load */
- SWTBotUtil.waitForJobs();
-
- }
-
- /**
- * Extract test XML file
- *
- * @param xmlFile
- * the XML file to open
- * @param category
- * the category of the parser
- * @param definitionName
- * the name of the definition
- * @return an XML string of the definition
- * @throws IOException
- * Error reading the file
- * @throws FileNotFoundException
- * File is not found
- */
- protected static String extractTestXml(File xmlFile, String category, String definitionName) throws IOException, FileNotFoundException {
- StringBuilder xmlPart = new StringBuilder();
- boolean started = false;
- try (RandomAccessFile raf = new RandomAccessFile(xmlFile, "r");) {
- String s = raf.readLine();
- while (s != null) {
- if (s.equals("<Definition category=\"" + category + "\" name=\"" + definitionName + "\">")) {
- started = true;
- }
- if (started) {
- if (s.equals("</Definition>")) {
- break;
- }
- xmlPart.append(s);
- xmlPart.append('\n');
- }
- s = raf.readLine();
- }
- }
- return xmlPart.toString();
- }
-} \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui.swtbot.tests/src/org/eclipse/linuxtools/tmf/ui/swtbot/tests/AbstractPerspectiveChecker.java b/lttng/org.eclipse.linuxtools.tmf.ui.swtbot.tests/src/org/eclipse/linuxtools/tmf/ui/swtbot/tests/AbstractPerspectiveChecker.java
deleted file mode 100644
index 85b50256e7..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui.swtbot.tests/src/org/eclipse/linuxtools/tmf/ui/swtbot/tests/AbstractPerspectiveChecker.java
+++ /dev/null
@@ -1,111 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 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:
- * Matthew Khouzam - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.swtbot.tests;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertTrue;
-
-import java.util.Collection;
-import java.util.List;
-
-import org.apache.log4j.Logger;
-import org.apache.log4j.varia.NullAppender;
-import org.eclipse.swtbot.eclipse.finder.SWTWorkbenchBot;
-import org.eclipse.swtbot.eclipse.finder.widgets.SWTBotView;
-import org.eclipse.swtbot.swt.finder.junit.SWTBotJunit4ClassRunner;
-import org.eclipse.swtbot.swt.finder.utils.SWTBotPreferences;
-import org.eclipse.ui.IViewReference;
-import org.hamcrest.BaseMatcher;
-import org.hamcrest.Description;
-import org.junit.BeforeClass;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-
-/**
- * Tests perspectives to make sure they have all the views
- *
- * @author Matthew Khouzam
- */
-@RunWith(SWTBotJunit4ClassRunner.class)
-public abstract class AbstractPerspectiveChecker {
-
- private static SWTWorkbenchBot fBot;
- /** The Log4j logger instance. */
- private static final Logger fLogger = Logger.getRootLogger();
-
- /**
- * The perspective id
- */
- protected String fPerspectiveId;
- /**
- * the view id collection
- */
- protected Collection<String> fViewIds;
-
- /** Test Class setup */
- @BeforeClass
- public static void beforeInit() {
- SWTBotUtil.failIfUIThread();
-
- /* set up for swtbot */
- SWTBotPreferences.TIMEOUT = 50000; /* 50 second timeout */
- fLogger.addAppender(new NullAppender());
- fBot = new SWTWorkbenchBot();
-
- SWTBotUtil.closeView("welcome", fBot);
-
- }
-
- /**
- * Gets the perspective and checks if all the views specified in the list
- * are present in the perspective
- */
- @Test
- public void testPerspectiveForViews() {
- SWTBotUtil.switchToPerspective(fPerspectiveId);
- SWTBotUtil.waitForJobs();
- for (final String viewID : fViewIds) {
- List<SWTBotView> view = fBot.views(new BaseMatcher<String>() {
-
- @Override
- public boolean matches(Object item) {
- if (!(item instanceof IViewReference)) {
- return false;
- }
- IViewReference reference = (IViewReference) item;
- return reference.getId().equals(viewID);
- }
-
- @Override
- public void describeTo(Description description) {
- }
-
- });
- assertEquals("view " + viewID + "is present", 1, view.size());
- }
- }
-
- /**
- * Gets the perspective and checks if all the views of that perspective are
- * in the list
- */
- @Test
- public void testPerspectiveComplete() {
- SWTBotUtil.switchToPerspective(fPerspectiveId);
- SWTBotUtil.waitForJobs();
- for (SWTBotView view : fBot.views()) {
- assertTrue("view " + view.toString() + "is present", fViewIds.contains(view.getViewReference().getId()));
- }
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui.swtbot.tests/src/org/eclipse/linuxtools/tmf/ui/swtbot/tests/AllTmfUISWTBotTests.java b/lttng/org.eclipse.linuxtools.tmf.ui.swtbot.tests/src/org/eclipse/linuxtools/tmf/ui/swtbot/tests/AllTmfUISWTBotTests.java
deleted file mode 100644
index 0695023fae..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui.swtbot.tests/src/org/eclipse/linuxtools/tmf/ui/swtbot/tests/AllTmfUISWTBotTests.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013, 2014 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:
- * Matthew Khouzam - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.swtbot.tests;
-
-import org.junit.runner.RunWith;
-import org.junit.runners.Suite;
-
-/**
- * SWTBot test suite for tmf.ui
- *
- * @author Matthew Khouzam
- */
-@RunWith(Suite.class)
-@Suite.SuiteClasses({
- TestCustomTxtWizard.class,
- TestCustomXmlWizard.class,
- TracingPerspectiveChecker.class,
- org.eclipse.linuxtools.tmf.ui.swtbot.tests.table.AllTests.class
-})
-public class AllTmfUISWTBotTests {
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui.swtbot.tests/src/org/eclipse/linuxtools/tmf/ui/swtbot/tests/SWTBotUtil.java b/lttng/org.eclipse.linuxtools.tmf.ui.swtbot.tests/src/org/eclipse/linuxtools/tmf/ui/swtbot/tests/SWTBotUtil.java
deleted file mode 100644
index f81eb00ff2..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui.swtbot.tests/src/org/eclipse/linuxtools/tmf/ui/swtbot/tests/SWTBotUtil.java
+++ /dev/null
@@ -1,345 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 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:
- * Matthew Khouzam - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.swtbot.tests;
-
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.fail;
-
-import java.util.List;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.core.runtime.jobs.Job;
-import org.eclipse.linuxtools.tmf.ui.editors.TmfEventsEditor;
-import org.eclipse.linuxtools.tmf.ui.project.model.TmfOpenTraceHelper;
-import org.eclipse.linuxtools.tmf.ui.project.model.TmfProjectRegistry;
-import org.eclipse.linuxtools.tmf.ui.project.model.TmfTraceFolder;
-import org.eclipse.linuxtools.tmf.ui.project.model.TmfTracesFolder;
-import org.eclipse.linuxtools.tmf.ui.swtbot.tests.conditions.ConditionHelpers;
-import org.eclipse.linuxtools.tmf.ui.views.TracingPerspectiveFactory;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swtbot.eclipse.finder.SWTWorkbenchBot;
-import org.eclipse.swtbot.eclipse.finder.matchers.WidgetMatcherFactory;
-import org.eclipse.swtbot.eclipse.finder.widgets.SWTBotEditor;
-import org.eclipse.swtbot.eclipse.finder.widgets.SWTBotView;
-import org.eclipse.swtbot.swt.finder.finders.UIThreadRunnable;
-import org.eclipse.swtbot.swt.finder.results.VoidResult;
-import org.eclipse.swtbot.swt.finder.waits.Conditions;
-import org.eclipse.swtbot.swt.finder.widgets.SWTBotButton;
-import org.eclipse.swtbot.swt.finder.widgets.SWTBotCheckBox;
-import org.eclipse.swtbot.swt.finder.widgets.SWTBotMenu;
-import org.eclipse.swtbot.swt.finder.widgets.SWTBotShell;
-import org.eclipse.swtbot.swt.finder.widgets.SWTBotTree;
-import org.eclipse.swtbot.swt.finder.widgets.SWTBotTreeItem;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.IEditorReference;
-import org.eclipse.ui.IPageLayout;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.WorkbenchException;
-import org.hamcrest.Matcher;
-
-/**
- * SWTBot Helper functions
- *
- * @author Matthew Khouzam
- */
-public abstract class SWTBotUtil {
- private static final String TRACING_PERSPECTIVE_ID = TracingPerspectiveFactory.ID;
-
- /**
- * Waits for all Eclipse jobs to finish
- */
- public static void waitForJobs() {
- while (!Job.getJobManager().isIdle()) {
- delay(100);
- }
- }
-
- /**
- * Sleeps current thread for a given time.
- *
- * @param waitTimeMillis
- * time in milliseconds to wait
- */
- public static void delay(final long waitTimeMillis) {
- try {
- Thread.sleep(waitTimeMillis);
- } catch (final InterruptedException e) {
- // Ignored
- }
- }
-
- /**
- * Create a tracing project
- *
- * @param projectName
- * the name of the tracing project
- */
- public static void createProject(final String projectName) {
- /*
- * Make a new test
- */
- UIThreadRunnable.syncExec(new VoidResult() {
- @Override
- public void run() {
- IProject project = TmfProjectRegistry.createProject(projectName, null, new NullProgressMonitor());
- assertNotNull(project);
- }
- });
-
- SWTBotUtil.waitForJobs();
- }
-
- /**
- * Deletes a tracing project
- *
- * @param projectName
- * the name of the tracing project
- * @param bot
- * the workbench bot
- */
- public static void deleteProject(String projectName, SWTWorkbenchBot bot) {
- // Wait for any analysis to complete because it might create
- // supplementary files
- SWTBotUtil.waitForJobs();
- try {
- ResourcesPlugin.getWorkspace().getRoot().getProject(projectName).refreshLocal(IResource.DEPTH_INFINITE, null);
- } catch (CoreException e) {
- }
-
- SWTBotUtil.waitForJobs();
-
- final SWTBotView projectViewBot = bot.viewById(IPageLayout.ID_PROJECT_EXPLORER);
- projectViewBot.setFocus();
-
- SWTBotTree treeBot = projectViewBot.bot().tree();
- SWTBotTreeItem treeItem = treeBot.getTreeItem(projectName);
- SWTBotMenu contextMenu = treeItem.contextMenu("Delete");
- contextMenu.click();
-
- bot.shell("Delete Resources").setFocus();
- final SWTBotCheckBox checkBox = bot.checkBox();
- bot.waitUntil(Conditions.widgetIsEnabled(checkBox));
- checkBox.click();
-
- final SWTBotButton okButton = bot.button("OK");
- bot.waitUntil(Conditions.widgetIsEnabled(okButton));
- okButton.click();
-
- SWTBotUtil.waitForJobs();
- }
-
- /**
- * Focus on the main window
- *
- * @param shellBots
- * swtbotshells for all the shells
- */
- public static void focusMainWindow(SWTBotShell[] shellBots) {
- for (SWTBotShell shellBot : shellBots) {
- if (shellBot.getText().toLowerCase().contains("eclipse")) {
- shellBot.activate();
- }
- }
- }
-
- /**
- * Close a view with a title
- *
- * @param title
- * the title, like "welcome"
- * @param bot
- * the workbench bot
- */
- public static void closeView(String title, SWTWorkbenchBot bot) {
- final List<SWTBotView> openViews = bot.views();
- for (SWTBotView view : openViews) {
- if (view.getTitle().equalsIgnoreCase(title)) {
- view.close();
- bot.waitUntil(ConditionHelpers.ViewIsClosed(view));
- }
- }
- }
-
- /**
- * Switch to the tracing perspective
- */
- public static void switchToTracingPerspective() {
- switchToPerspective(TRACING_PERSPECTIVE_ID);
- }
-
- /**
- * Switch to a given perspective
- *
- * @param id
- * the perspective id (like
- * "org.eclipse.linuxtools.tmf.ui.perspective"
- */
- public static void switchToPerspective(final String id) {
- UIThreadRunnable.syncExec(new VoidResult() {
- @Override
- public void run() {
- try {
- PlatformUI.getWorkbench().showPerspective(id, PlatformUI.getWorkbench().getActiveWorkbenchWindow());
- } catch (WorkbenchException e) {
- fail(e.getMessage());
- }
- }
- });
- }
-
- /**
- * If the test is running in the UI thread then fail
- */
- public static void failIfUIThread() {
- if (Display.getCurrent() != null && Display.getCurrent().getThread() == Thread.currentThread()) {
- fail("SWTBot test needs to run in a non-UI thread. Make sure that \"Run in UI thread\" is unchecked in your launch configuration or"
- + " that useUIThread is set to false in the pom.xml");
- }
-
- }
-
- /**
- * Open a trace, this does not perform any validation though
- *
- * @param projectName
- * The project name
- * @param tracePath
- * the path of the trace file (absolute or relative)
- * @param traceType
- * the trace canonical string (eg:
- * org.eclipse.linuxtools.btf.trace)
- */
- public static void openTrace(final String projectName, final String tracePath, final String traceType) {
- final Exception exception[] = new Exception[1];
- exception[0] = null;
- UIThreadRunnable.syncExec(new VoidResult() {
- @Override
- public void run() {
- try {
- IProject project = ResourcesPlugin.getWorkspace().getRoot().getProject(projectName);
- TmfTraceFolder destinationFolder = TmfProjectRegistry.getProject(project, true).getTracesFolder();
- TmfOpenTraceHelper.openTraceFromPath(destinationFolder, tracePath, PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell(), traceType);
- } catch (CoreException e) {
- exception[0] = e;
- }
- }
- });
- if (exception[0] != null) {
- fail(exception[0].getMessage());
- }
-
- delay(1000);
- waitForJobs();
- }
-
- /**
- * Finds an editor and sets focus to the editor
- *
- * @param bot
- * the workbench bot
- * @param editorName
- * the editor name
- * @return the corresponding SWTBotEditor
- */
- public static SWTBotEditor activateEditor(SWTWorkbenchBot bot, String editorName) {
- Matcher<IEditorReference> matcher = WidgetMatcherFactory.withPartName(editorName);
- final SWTBotEditor editorBot = bot.editor(matcher);
- IEditorPart iep = editorBot.getReference().getEditor(true);
- final TmfEventsEditor tmfEd = (TmfEventsEditor) iep;
- editorBot.show();
- UIThreadRunnable.syncExec(new VoidResult() {
- @Override
- public void run() {
- tmfEd.setFocus();
- }
- });
-
- SWTBotUtil.waitForJobs();
- SWTBotUtil.delay(1000);
- assertNotNull(tmfEd);
- return editorBot;
- }
-
- /**
- * Opens a trace in an editor and get the TmfEventsEditor
- *
- * @param bot
- * the workbench bot
- * @param projectName
- * the name of the project that contains the trace
- * @param elementPath
- * the trace element path (relative to Traces folder)
- * @return TmfEventsEditor the opened editor
- */
- public static TmfEventsEditor openEditor(SWTWorkbenchBot bot, String projectName, IPath elementPath) {
- final SWTBotView projectExplorerBot = bot.viewById(IPageLayout.ID_PROJECT_EXPLORER);
- projectExplorerBot.setFocus();
-
- final SWTBotTree tree = bot.tree();
- final SWTBotTreeItem treeItem = tree.getTreeItem(projectName);
- treeItem.expand();
-
- String nodeName = getFullNodeName(treeItem, TmfTracesFolder.TRACES_FOLDER_NAME);
- bot.waitUntil(ConditionHelpers.IsTreeChildNodeAvailable(nodeName, treeItem));
- SWTBotTreeItem tracesNode = treeItem.getNode(nodeName);
- tracesNode.expand();
-
- SWTBotTreeItem currentNode = tracesNode;
- for (String segment : elementPath.segments()) {
- String fullNodeName = getFullNodeName(currentNode, segment);
- bot.waitUntil(ConditionHelpers.IsTreeChildNodeAvailable(fullNodeName, currentNode));
- SWTBotTreeItem newNode = currentNode.getNode(fullNodeName);
- newNode.select();
- newNode.doubleClick();
- currentNode = newNode;
- }
-
- SWTBotUtil.delay(1000);
- SWTBotUtil.waitForJobs();
- final String expectedTitle = elementPath.toString();
-
- final IEditorPart iep[] = new IEditorPart[1];
- UIThreadRunnable.syncExec(new VoidResult() {
- @Override
- public void run() {
- IEditorReference[] ieds = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().getEditorReferences();
- assertNotNull(ieds);
- iep[0] = null;
- for (IEditorReference ied : ieds) {
- if (ied.getTitle().equals(expectedTitle)) {
- iep[0] = ied.getEditor(true);
- break;
- }
- }
- }
- });
- assertNotNull(iep[0]);
- return (TmfEventsEditor) iep[0];
- }
-
- private static String getFullNodeName(final SWTBotTreeItem treeItem, String prefix) {
- List<String> nodes = treeItem.getNodes();
- String nodeName = "";
- for (String node : nodes) {
- if (node.startsWith(prefix)) {
- nodeName = node;
- }
- }
- return nodeName;
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui.swtbot.tests/src/org/eclipse/linuxtools/tmf/ui/swtbot/tests/TestCustomTxtWizard.java b/lttng/org.eclipse.linuxtools.tmf.ui.swtbot.tests/src/org/eclipse/linuxtools/tmf/ui/swtbot/tests/TestCustomTxtWizard.java
deleted file mode 100644
index c5418cf9d0..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui.swtbot.tests/src/org/eclipse/linuxtools/tmf/ui/swtbot/tests/TestCustomTxtWizard.java
+++ /dev/null
@@ -1,262 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 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:
- * Matthew Khouzam - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.swtbot.tests;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-
-import java.io.File;
-import java.io.FileNotFoundException;
-import java.io.FileWriter;
-import java.io.IOException;
-
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.swtbot.eclipse.finder.widgets.SWTBotView;
-import org.eclipse.swtbot.swt.finder.junit.SWTBotJunit4ClassRunner;
-import org.eclipse.swtbot.swt.finder.widgets.SWTBotTreeItem;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-
-/**
- * Custom text wizard tests
- *
- * Some reminders to help making tests (javadoc to keep formatting)
- *
- * Button reminder
- *
- * <pre>
- * 0 Time Stamp Format Help
- * 1 Remove line
- * 2 Add next line
- * 3 Add child line
- * 4 Move up
- * 5 Move down
- * 6 Regular Expression Help
- * 7 Remove group (group 1 toggle)
- * 8 Remove group (group 2 toggle)
- * 9 Add group (group 3 toggle ...)
- * 10 Show parsing result
- * 11 Preview Legend
- * </pre>
- *
- * Combo box reminder
- *
- * <pre>
- * 0 cardinality
- * 1 event type (message, timestamp...)
- * 2 how to handle the data (set, append...)
- * repeat
- * </pre>
- *
- * @author Matthew Khouzam
- *
- */
-@RunWith(SWTBotJunit4ClassRunner.class)
-public class TestCustomTxtWizard extends AbstractCustomParserWizard {
-
- private static final String MANAGE_CUSTOM_PARSERS_SHELL_TITLE = "Manage Custom Parsers";
- private static final String PROJECT_NAME = "TestText";
- private static final String CATEGORY_NAME = "Test Category";
- private static final String TRACETYPE_NAME = "Test Trace";
- private static final String EXPECTED_TEST_DEFINITION = "<Definition category=\"Test Category\" name=\"Test Trace\">\n" +
- "<TimeStampOutputFormat>ss</TimeStampOutputFormat>\n" +
- "<InputLine>\n" +
- "<Cardinality max=\"2147483647\" min=\"0\"/>\n" +
- "<RegEx>\\s*(\\d\\d)\\s(.*\\S)</RegEx>\n" +
- "<InputData action=\"0\" format=\"ss\" name=\"Time Stamp\"/>\n" +
- "<InputData action=\"0\" name=\"Message\"/>\n" +
- "</InputLine>\n" +
- "<InputLine>\n" +
- "<Cardinality max=\"2147483647\" min=\"0\"/>\n" +
- "<RegEx>([^0-9]*)</RegEx>\n" +
- "<InputData action=\"2\" name=\"Message\"/>\n" +
- "</InputLine>\n" +
- "<OutputColumn name=\"Time Stamp\"/>\n" +
- "<OutputColumn name=\"Message\"/>\n";
-
- /**
- * Test to create a custom txt trace and compare the xml
- *
- * @throws IOException
- * the xml file is not accessible, this is bad
- * @throws FileNotFoundException
- * the xml file wasn't written, this is bad
- */
- @Test
- public void testNew() throws FileNotFoundException, IOException {
- File xmlFile = ResourcesPlugin.getWorkspace().getRoot().getLocation().append(".metadata/.plugins/org.eclipse.linuxtools.tmf.core/custom_txt_parsers.xml").toFile();
- SWTBotUtil.createProject(PROJECT_NAME);
- SWTBotView proejctExplorerBot = fBot.viewByTitle("Project Explorer");
- proejctExplorerBot.show();
- SWTBotTreeItem treeItem = proejctExplorerBot.bot().tree().getTreeItem(PROJECT_NAME);
- treeItem.select();
- treeItem.expand();
- SWTBotTreeItem treeNode = null;
- for (String node : treeItem.getNodes()) {
- if (node.startsWith("Trace")) {
- treeNode = treeItem.getNode(node);
- break;
- }
-
- }
- assertNotNull(treeNode);
- treeNode.contextMenu("Manage Custom Parsers...").click();
- fBot.shell(MANAGE_CUSTOM_PARSERS_SHELL_TITLE).setFocus();
-
- fBot.button("New...").click();
-
- fBot.textWithLabel("Category:").setText(CATEGORY_NAME);
- fBot.textWithLabel("Trace type:").setText(TRACETYPE_NAME);
- fBot.textWithLabel("Time Stamp format:").setText("ss");
- fBot.comboBox(1).setSelection("Time Stamp");
- fBot.textWithLabel("format:").setText("ss");
- fBot.button(8).click();
- fBot.button(2).click();
- SWTBotTreeItem[] treeItems = fBot.tree().getAllItems();
- SWTBotTreeItem eventLine[] = new SWTBotTreeItem[2];
- treeItems = fBot.tree().getAllItems();
- for (SWTBotTreeItem item : treeItems) {
- if (item.getText().startsWith("Root Line 1")) {
- eventLine[0] = item;
- }
- if (item.getText().startsWith("Root Line 2")) {
- eventLine[1] = item;
- }
- }
- assertNotNull(eventLine[0]);
- assertNotNull(eventLine[1]);
- fBot.styledText().setText("12 Hello\nWorld\n23 Goodbye\ncruel world");
- eventLine[0].select();
- SWTBotUtil.waitForJobs();
- fBot.textWithLabel("Regular expression:").setText("\\s*(\\d\\d)\\s(.*\\S)");
- eventLine[1].select();
- fBot.textWithLabel("Regular expression:").setText("([^0-9]*)");
- fBot.button(7).click();
- fBot.comboBox("Set").setSelection("Append with |");
- fBot.button("Highlight All").click();
- fBot.button("Next >").click();
- fBot.button("Finish").click();
- String xmlPart = extractTestXml(xmlFile, CATEGORY_NAME, TRACETYPE_NAME);
- assertEquals(EXPECTED_TEST_DEFINITION, xmlPart);
- fBot.list().select(CATEGORY_NAME + " : " + TRACETYPE_NAME);
- fBot.button("Delete").click();
- fBot.button("Yes").click();
- fBot.button("Close").click();
- xmlPart = extractTestXml(xmlFile, CATEGORY_NAME, TRACETYPE_NAME);
- assertEquals("", xmlPart);
-
- SWTBotUtil.deleteProject(PROJECT_NAME, fBot);
- }
-
- /**
- * Test to edit a custom txt trace and compare the xml
- *
- * @throws IOException
- * the xml file is not accessible, this is bad
- * @throws FileNotFoundException
- * the xml file wasn't written, this is bad
- */
- @Test
- public void testEdit() throws FileNotFoundException, IOException {
- File xmlFile = ResourcesPlugin.getWorkspace().getRoot().getLocation().append(".metadata/.plugins/org.eclipse.linuxtools.tmf.core/custom_txt_parsers.xml").toFile();
- try (FileWriter fw = new FileWriter(xmlFile)) {
- String xmlContent = "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n" +
- "<CustomTxtTraceDefinitionList>\n" +
- "<Definition category=\"Demo Category\" name=\"Demo trace\">\n" +
- "<TimeStampOutputFormat>sss</TimeStampOutputFormat>\n" +
- "<InputLine>\n" +
- "<Cardinality max=\"2147483647\" min=\"0\"/>\n" +
- "<RegEx>\\s*(\\d*)\\s(.*)</RegEx>\n" +
- "<InputData action=\"0\" format=\"sss\" name=\"Time Stamp\"/>\n" +
- "<InputData action=\"0\" name=\"Message\"/>\n" +
- "</InputLine>\n" +
- "<OutputColumn name=\"Time Stamp\"/>\n" +
- "<OutputColumn name=\"Message\"/>\n" +
- "</Definition>\n" +
- "<Definition name=\"dmesg\">\n" +
- "<TimeStampOutputFormat>sssssss.ssssss</TimeStampOutputFormat>\n" +
- "<InputLine>\n" +
- "<Cardinality max=\"2147483647\" min=\"0\"/>\n" +
- "<RegEx>^[([0-9]*\\.[0.9]*)]\\s(.*)</RegEx>\n" +
- "<InputData action=\"0\" format=\"sssss.sssss\" name=\"Time Stamp\"/>\n" +
- "<InputData action=\"0\" name=\"Message\"/>\n" +
- "</InputLine>\n" +
- "<OutputColumn name=\"Time Stamp\"/>\n" +
- "<OutputColumn name=\"Message\"/>\n" +
- "</Definition>\n" +
- "</CustomTxtTraceDefinitionList>";
- fw.write(xmlContent);
- fw.flush();
- }
- SWTBotUtil.createProject(PROJECT_NAME);
- SWTBotView proejctExplorerBot = fBot.viewByTitle("Project Explorer");
- proejctExplorerBot.show();
- SWTBotTreeItem treeItem = proejctExplorerBot.bot().tree().getTreeItem(PROJECT_NAME);
- treeItem.select();
- treeItem.expand();
- SWTBotTreeItem treeNode = null;
- for (String node : treeItem.getNodes()) {
- if (node.startsWith("Trace")) {
- treeNode = treeItem.getNode(node);
- break;
- }
-
- }
- assertNotNull(treeNode);
- treeNode.contextMenu("Manage Custom Parsers...").click();
- fBot.shell(MANAGE_CUSTOM_PARSERS_SHELL_TITLE).setFocus();
- fBot.list().select("Demo Category : Demo trace");
- fBot.button("Edit...").click();
-
- fBot.textWithLabel("Category:").setText(CATEGORY_NAME);
- fBot.textWithLabel("Trace type:").setText(TRACETYPE_NAME);
- fBot.textWithLabel("Time Stamp format:").setText("ss");
- fBot.comboBox(1).setSelection("Time Stamp");
- fBot.textWithLabel("format:").setText("ss");
- fBot.button(2).click();
- SWTBotTreeItem[] treeItems = fBot.tree().getAllItems();
- SWTBotTreeItem eventLine[] = new SWTBotTreeItem[2];
- for (SWTBotTreeItem item : treeItems) {
- if (item.getText().startsWith("Root Line 1")) {
- eventLine[0] = item;
- }
- if (item.getText().startsWith("Root Line 2")) {
- eventLine[1] = item;
- }
- }
- treeItems = fBot.tree().getAllItems();
- assertNotNull(eventLine[0]);
- assertNotNull(eventLine[1]);
- fBot.styledText().setText("12 Hello\nWorld\n23 Goodbye\ncruel world");
- eventLine[0].select();
- SWTBotUtil.waitForJobs();
- fBot.textWithLabel("Regular expression:").setText("\\s*(\\d\\d)\\s(.*\\S)");
- eventLine[1].select();
- fBot.textWithLabel("Regular expression:").setText("([^0-9]*)");
- fBot.button(7).click();
- fBot.comboBox("Set").setSelection("Append with |");
- fBot.button("Highlight All").click();
- fBot.button("Next >").click();
- fBot.button("Finish").click();
- String xmlPart = extractTestXml(xmlFile, CATEGORY_NAME, TRACETYPE_NAME);
- assertEquals(EXPECTED_TEST_DEFINITION, xmlPart);
- fBot.list().select(CATEGORY_NAME + " : " + TRACETYPE_NAME);
- fBot.button("Delete").click();
- fBot.button("Yes").click();
- fBot.button("Close").click();
- xmlPart = extractTestXml(xmlFile, CATEGORY_NAME, TRACETYPE_NAME);
- assertEquals("", xmlPart);
-
- SWTBotUtil.deleteProject(PROJECT_NAME, fBot);
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui.swtbot.tests/src/org/eclipse/linuxtools/tmf/ui/swtbot/tests/TestCustomXmlWizard.java b/lttng/org.eclipse.linuxtools.tmf.ui.swtbot.tests/src/org/eclipse/linuxtools/tmf/ui/swtbot/tests/TestCustomXmlWizard.java
deleted file mode 100644
index f87b2f4ea4..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui.swtbot.tests/src/org/eclipse/linuxtools/tmf/ui/swtbot/tests/TestCustomXmlWizard.java
+++ /dev/null
@@ -1,117 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 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:
- * Matthew Khouzam - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.swtbot.tests;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-
-import java.io.File;
-import java.io.FileNotFoundException;
-import java.io.IOException;
-
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.swtbot.eclipse.finder.widgets.SWTBotView;
-import org.eclipse.swtbot.swt.finder.junit.SWTBotJunit4ClassRunner;
-import org.eclipse.swtbot.swt.finder.widgets.SWTBotTreeItem;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-
-/**
- * Custom XML wizard tests
- *
- * This test will help validate the CustomXmlParserInputWizardPage
- *
- * @author Matthew Khouzam
- *
- */
-@RunWith(SWTBotJunit4ClassRunner.class)
-public class TestCustomXmlWizard extends AbstractCustomParserWizard {
-
- private static final String EVENT = "event";
- private static final String TRACE = "trace";
- private static final String XML_TRACE1 = "<trace>\n\t<event time=\"100\" msg=\"hello\"/>\n\t<event time=\"200\" msg=\"world\"/></trace>";
- private static final String MANAGE_CUSTOM_PARSERS_SHELL_TITLE = "Manage Custom Parsers";
- private static final String PROJECT_NAME = "TestXML";
- private static final String CATEGORY_NAME = "Test Category";
- private static final String TRACETYPE_NAME = "Test Trace";
- private static final String EXPECTED_TEST_DEFINITION = "<Definition category=\"Test Category\" name=\"" + TRACETYPE_NAME + "\">\n" +
- "<TimeStampOutputFormat>ss</TimeStampOutputFormat>\n" +
- "<InputElement name=\"trace\">\n" +
- "<InputElement logentry=\"true\" name=\"event\">\n" +
- "<InputData action=\"0\" format=\"\" name=\"Ignore\"/>\n" +
- "<Attribute name=\"msg\">\n" +
- "<InputData action=\"0\" name=\"msg\"/>\n" +
- "</Attribute>\n" +
- "<Attribute name=\"time\">\n" +
- "<InputData action=\"0\" name=\"time\"/>\n" +
- "</Attribute>\n" +
- "</InputElement>\n" +
- "</InputElement>\n" +
- "<OutputColumn name=\"msg\"/>\n" +
- "<OutputColumn name=\"time\"/>\n";
-
- /**
- * Test to create a custom XML trace and compare the XML generated
- *
- * @throws IOException
- * the xml file is not accessible, this is bad
- * @throws FileNotFoundException
- * the xml file wasn't written, this is bad
- */
- @Test
- public void testNew() throws FileNotFoundException, IOException {
- File xmlFile = ResourcesPlugin.getWorkspace().getRoot().getLocation().append(".metadata/.plugins/org.eclipse.linuxtools.tmf.core/custom_xml_parsers.xml").toFile();
- SWTBotUtil.createProject(PROJECT_NAME);
- SWTBotView proejctExplorerBot = fBot.viewByTitle("Project Explorer");
- proejctExplorerBot.show();
- SWTBotTreeItem treeItem = proejctExplorerBot.bot().tree().getTreeItem(PROJECT_NAME);
- treeItem.select();
- treeItem.expand();
- SWTBotTreeItem treeNode = null;
- for (String node : treeItem.getNodes()) {
- if (node.startsWith("Trace")) {
- treeNode = treeItem.getNode(node);
- break;
- }
-
- }
- assertNotNull(treeNode);
- treeNode.contextMenu("Manage Custom Parsers...").click();
- fBot.shell(MANAGE_CUSTOM_PARSERS_SHELL_TITLE).setFocus();
- fBot.radio("XML").click();
- fBot.button("New...").click();
- fBot.textWithLabel("Category:").setText(CATEGORY_NAME);
- fBot.textWithLabel("Trace type:").setText(TRACETYPE_NAME);
- fBot.textWithLabel("Time Stamp format:").setText("ss");
-
- fBot.styledText().setText(XML_TRACE1);
- fBot.buttonWithTooltip("Feeling lucky").click();
-
- fBot.tree().getTreeItem(TRACE).getNode(EVENT).select();
- fBot.checkBox("Log Entry").click();
- fBot.button("Next >").click();
- fBot.button("Finish").click();
-
- String xmlPart = extractTestXml(xmlFile, CATEGORY_NAME, TRACETYPE_NAME);
- assertEquals(EXPECTED_TEST_DEFINITION, xmlPart);
- fBot.list().select(CATEGORY_NAME + " : " + TRACETYPE_NAME);
- fBot.button("Delete").click();
- fBot.button("Yes").click();
- fBot.button("Close").click();
- xmlPart = extractTestXml(xmlFile, CATEGORY_NAME, TRACETYPE_NAME);
- assertEquals("", xmlPart);
-
- SWTBotUtil.deleteProject(PROJECT_NAME, fBot);
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui.swtbot.tests/src/org/eclipse/linuxtools/tmf/ui/swtbot/tests/TracingPerspectiveChecker.java b/lttng/org.eclipse.linuxtools.tmf.ui.swtbot.tests/src/org/eclipse/linuxtools/tmf/ui/swtbot/tests/TracingPerspectiveChecker.java
deleted file mode 100644
index 67262c47c4..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui.swtbot.tests/src/org/eclipse/linuxtools/tmf/ui/swtbot/tests/TracingPerspectiveChecker.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 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:
- * Matthew Khouzam - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.swtbot.tests;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-
-import org.eclipse.linuxtools.tmf.ui.views.TracingPerspectiveFactory;
-import org.eclipse.linuxtools.tmf.ui.views.histogram.HistogramView;
-import org.eclipse.linuxtools.tmf.ui.views.statistics.TmfStatisticsView;
-import org.eclipse.ui.IPageLayout;
-import org.junit.Before;
-
-/**
- * Tracing perspective view checker
- *
- * @author Matthew Khouzam
- */
-public class TracingPerspectiveChecker extends AbstractPerspectiveChecker {
-
- /**
- * Set up arrays for test
- */
- @Before
- public void init() {
- fPerspectiveId = TracingPerspectiveFactory.ID;
- fViewIds = new ArrayList<>();
- fViewIds.addAll(Arrays.asList(new String[] {
- HistogramView.ID,
- TmfStatisticsView.ID,
- // Standard Eclipse views
- IPageLayout.ID_PROJECT_EXPLORER,
- IPageLayout.ID_PROP_SHEET,
- IPageLayout.ID_BOOKMARKS
- }));
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui.swtbot.tests/src/org/eclipse/linuxtools/tmf/ui/swtbot/tests/conditions/ConditionHelpers.java b/lttng/org.eclipse.linuxtools.tmf.ui.swtbot.tests/src/org/eclipse/linuxtools/tmf/ui/swtbot/tests/conditions/ConditionHelpers.java
deleted file mode 100644
index e6fb0e7f9a..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui.swtbot.tests/src/org/eclipse/linuxtools/tmf/ui/swtbot/tests/conditions/ConditionHelpers.java
+++ /dev/null
@@ -1,107 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 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:
- * Matthew Khouzam - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.swtbot.tests.conditions;
-
-import org.eclipse.jface.wizard.IWizardPage;
-import org.eclipse.jface.wizard.Wizard;
-import org.eclipse.swtbot.eclipse.finder.widgets.SWTBotView;
-import org.eclipse.swtbot.swt.finder.waits.ICondition;
-import org.eclipse.swtbot.swt.finder.widgets.SWTBotTable;
-import org.eclipse.swtbot.swt.finder.widgets.SWTBotTree;
-import org.eclipse.swtbot.swt.finder.widgets.SWTBotTreeItem;
-
-/**
- * Is a tree node available
- *
- * @author Matthew Khouzam
- */
-public abstract class ConditionHelpers {
-
- /**
- * Is a tree node available
- *
- * @param name
- * the name of the node
- * @param tree
- * the parent tree
- * @return true or false, it should swallow all exceptions
- */
- public static ICondition IsTreeNodeAvailable(String name, SWTBotTree tree) {
- return new TreeNodeAvailable(name, tree);
- }
-
- /**
- * Is the treeItem's node available
- *
- * @param name
- * the name of the node
- * @param treeItem
- * the treeItem
- * @return true or false, it should swallow all exceptions
- */
- public static ICondition IsTreeChildNodeAvailable(String name, SWTBotTreeItem treeItem) {
- return new TreeItemNodeAvailable(name, treeItem);
- }
-
- /**
- * Checks if the wizard's shell is null
- *
- * @param wizard
- * the null
- * @return false if either are null
- */
- public static ICondition isWizardReady(Wizard wizard) {
- return new WizardReady(wizard);
- }
-
- /**
- * Is the wizard on the page you want?
- *
- * @param wizard
- * wizard
- * @param desiredPage
- * the desired page
- * @return true or false
- */
- public static ICondition isWizardOnPage(Wizard wizard, IWizardPage desiredPage) {
- return new WizardOnPage(wizard, desiredPage);
- }
-
- /**
- * Wait for a view to close
- *
- * @param view
- * bot view for the view
- * @return true if the view is closed, false if it's active.
- */
- public static ICondition ViewIsClosed(SWTBotView view) {
- return new ViewClosed(view);
- }
-
- /**
- * Wait till table cell has a given content.
- *
- * @param table
- * the table bot reference
- * @param content
- * the content to check
- * @param row
- * the row of the cell
- * @param column
- * the column of the cell
- * @return ICondition for verification
- */
- public static ICondition isTableCellFilled(SWTBotTable table, String content, int row, int column) {
- return new TableCellFilled(table, content, row, column);
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui.swtbot.tests/src/org/eclipse/linuxtools/tmf/ui/swtbot/tests/conditions/TableCellFilled.java b/lttng/org.eclipse.linuxtools.tmf.ui.swtbot.tests/src/org/eclipse/linuxtools/tmf/ui/swtbot/tests/conditions/TableCellFilled.java
deleted file mode 100644
index 29be0e6637..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui.swtbot.tests/src/org/eclipse/linuxtools/tmf/ui/swtbot/tests/conditions/TableCellFilled.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 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:
- * Bernd Hufmann - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.swtbot.tests.conditions;
-
-import org.eclipse.swtbot.swt.finder.SWTBot;
-import org.eclipse.swtbot.swt.finder.waits.ICondition;
-import org.eclipse.swtbot.swt.finder.widgets.SWTBotTable;
-
-/**
- * Is a table cell filled? tests if the table cell has a given content.
- *
- * @author Bernd Hufmann
- */
-class TableCellFilled implements ICondition {
-
- private final SWTBotTable fTable;
- private final String fContent;
- private final int fRow;
- private final int fColumn;
-
- public TableCellFilled(SWTBotTable table, String content, int row, int column) {
- fTable = table;
- fContent = content;
- fRow = row;
- fColumn = column;
- }
-
- @Override
- public boolean test() throws Exception {
- try {
- return fContent.equals(fTable.cell(fRow, fColumn));
- } catch (Exception e) {
- }
- return false;
- }
-
- @Override
- public void init(SWTBot bot) {
- }
-
- @Override
- public String getFailureMessage() {
- return null;
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui.swtbot.tests/src/org/eclipse/linuxtools/tmf/ui/swtbot/tests/conditions/TreeItemNodeAvailable.java b/lttng/org.eclipse.linuxtools.tmf.ui.swtbot.tests/src/org/eclipse/linuxtools/tmf/ui/swtbot/tests/conditions/TreeItemNodeAvailable.java
deleted file mode 100644
index 402964478c..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui.swtbot.tests/src/org/eclipse/linuxtools/tmf/ui/swtbot/tests/conditions/TreeItemNodeAvailable.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 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:
- * Matthew Khouzam - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.swtbot.tests.conditions;
-
-import org.eclipse.swtbot.swt.finder.SWTBot;
-import org.eclipse.swtbot.swt.finder.waits.ICondition;
-import org.eclipse.swtbot.swt.finder.widgets.SWTBotTreeItem;
-
-/**
- * Is a TreeItem's node available? tests if the tree has an item with a given name
- *
- * @author Matthew Khouzam
- */
-class TreeItemNodeAvailable implements ICondition {
-
- private final SWTBotTreeItem fTreeItem;
- private final String fName;
-
- public TreeItemNodeAvailable(String name, SWTBotTreeItem treeItem) {
- fName = name;
- fTreeItem = treeItem;
- }
-
- @Override
- public boolean test() throws Exception {
- try {
- return fTreeItem.getNode(fName) != null;
- } catch (Exception e) {
- }
- return false;
- }
-
- @Override
- public void init(SWTBot bot) {
- }
-
- @Override
- public String getFailureMessage() {
- return null;
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui.swtbot.tests/src/org/eclipse/linuxtools/tmf/ui/swtbot/tests/conditions/TreeNodeAvailable.java b/lttng/org.eclipse.linuxtools.tmf.ui.swtbot.tests/src/org/eclipse/linuxtools/tmf/ui/swtbot/tests/conditions/TreeNodeAvailable.java
deleted file mode 100644
index 0e9894ec3c..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui.swtbot.tests/src/org/eclipse/linuxtools/tmf/ui/swtbot/tests/conditions/TreeNodeAvailable.java
+++ /dev/null
@@ -1,67 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 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:
- * Matthew Khouzam - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.swtbot.tests.conditions;
-
-import org.eclipse.swtbot.swt.finder.SWTBot;
-import org.eclipse.swtbot.swt.finder.waits.ICondition;
-import org.eclipse.swtbot.swt.finder.widgets.SWTBotTree;
-import org.eclipse.swtbot.swt.finder.widgets.SWTBotTreeItem;
-
-/**
- * Is a tree node available?
- *
- * @author Matthew Khouzam
- */
-class TreeNodeAvailable implements ICondition {
-
- private final SWTBotTree fTree;
- private final String fName;
-
- /**
- * Is a tree node available
- *
- * @param name
- * The name of the node
- * @param tree
- * the swtbotTree
- */
- public TreeNodeAvailable(String name, SWTBotTree tree) {
- fTree = tree;
- fName = name;
- }
-
- @Override
- public boolean test() throws Exception {
- try {
- final SWTBotTreeItem[] treeItems = fTree.getAllItems();
- for( SWTBotTreeItem ti : treeItems){
- final String text = ti.getText();
- if( text.equals(fName)) {
- return true;
- }
- }
- } catch (Exception e) {
- }
- return false;
- }
-
- @Override
- public void init(SWTBot bot) {
- }
-
- @Override
- public String getFailureMessage() {
- return null;
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui.swtbot.tests/src/org/eclipse/linuxtools/tmf/ui/swtbot/tests/conditions/ViewClosed.java b/lttng/org.eclipse.linuxtools.tmf.ui.swtbot.tests/src/org/eclipse/linuxtools/tmf/ui/swtbot/tests/conditions/ViewClosed.java
deleted file mode 100644
index d128277b58..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui.swtbot.tests/src/org/eclipse/linuxtools/tmf/ui/swtbot/tests/conditions/ViewClosed.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 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:
- * Matthew Khouzam - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.swtbot.tests.conditions;
-
-import org.eclipse.swtbot.eclipse.finder.widgets.SWTBotView;
-import org.eclipse.swtbot.swt.finder.SWTBot;
-import org.eclipse.swtbot.swt.finder.waits.ICondition;
-
-/**
- * Is a view closed?
- *
- * @author Matthew Khouzam
- */
-class ViewClosed implements ICondition {
- private final SWTBotView fView;
-
- public ViewClosed(SWTBotView view) {
- fView = view;
- }
-
- @Override
- public boolean test() throws Exception {
- return (fView != null) && (!fView.isActive());
- }
-
- @Override
- public void init(SWTBot bot) {
- }
-
- @Override
- public String getFailureMessage() {
- return null;
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui.swtbot.tests/src/org/eclipse/linuxtools/tmf/ui/swtbot/tests/conditions/WizardOnPage.java b/lttng/org.eclipse.linuxtools.tmf.ui.swtbot.tests/src/org/eclipse/linuxtools/tmf/ui/swtbot/tests/conditions/WizardOnPage.java
deleted file mode 100644
index 8d4d1d8e8b..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui.swtbot.tests/src/org/eclipse/linuxtools/tmf/ui/swtbot/tests/conditions/WizardOnPage.java
+++ /dev/null
@@ -1,57 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 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:
- * Matthew Khouzam - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.swtbot.tests.conditions;
-
-import org.eclipse.jface.wizard.IWizardContainer;
-import org.eclipse.jface.wizard.IWizardPage;
-import org.eclipse.jface.wizard.Wizard;
-import org.eclipse.swtbot.swt.finder.SWTBot;
-import org.eclipse.swtbot.swt.finder.waits.ICondition;
-
-/**
- * Is the wizard on the page you want?
- * @author Matthew Khouzam
- */
-class WizardOnPage implements ICondition {
-
- private final Wizard fWizard;
- private final IWizardPage fPage;
-
- public WizardOnPage(Wizard wizard, IWizardPage desiredPage) {
- fWizard = wizard;
- fPage = desiredPage;
- }
-
- @Override
- public boolean test() throws Exception {
- if (fWizard == null || fPage == null) {
- return false;
- }
- final IWizardContainer container = fWizard.getContainer();
- if (container == null) {
- return false;
- }
- IWizardPage currentPage = container.getCurrentPage();
- return fPage.equals(currentPage);
- }
-
- @Override
- public void init(SWTBot bot) {
- }
-
- @Override
- public String getFailureMessage() {
- return null;
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui.swtbot.tests/src/org/eclipse/linuxtools/tmf/ui/swtbot/tests/conditions/WizardReady.java b/lttng/org.eclipse.linuxtools.tmf.ui.swtbot.tests/src/org/eclipse/linuxtools/tmf/ui/swtbot/tests/conditions/WizardReady.java
deleted file mode 100644
index 046c5654e3..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui.swtbot.tests/src/org/eclipse/linuxtools/tmf/ui/swtbot/tests/conditions/WizardReady.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 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:
- * Matthew Khouzam - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.swtbot.tests.conditions;
-
-import org.eclipse.jface.wizard.Wizard;
-import org.eclipse.swtbot.swt.finder.SWTBot;
-import org.eclipse.swtbot.swt.finder.waits.ICondition;
-
-/**
- * Is a given wizard ready?
- *
- * @author Matthew Khouzam
- */
-class WizardReady implements ICondition {
-
- private final Wizard fWizard;
-
- public WizardReady(Wizard wizard) {
- fWizard = wizard;
- }
-
- @Override
- public boolean test() throws Exception {
- if (fWizard.getShell() == null) {
- return false;
- }
- return true;
- }
-
- @Override
- public void init(SWTBot bot) {
- }
-
- @Override
- public String getFailureMessage() {
- return null;
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui.swtbot.tests/src/org/eclipse/linuxtools/tmf/ui/swtbot/tests/table/AllTests.java b/lttng/org.eclipse.linuxtools.tmf.ui.swtbot.tests/src/org/eclipse/linuxtools/tmf/ui/swtbot/tests/table/AllTests.java
deleted file mode 100644
index 55d6983991..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui.swtbot.tests/src/org/eclipse/linuxtools/tmf/ui/swtbot/tests/table/AllTests.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 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:
- * Bernd Hufmann - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.swtbot.tests.table;
-
-import org.junit.Ignore;
-import org.junit.runner.RunWith;
-import org.junit.runners.Suite;
-
-/**
- * SWTBot test suite for testing of the TMF events table.
- */
-@RunWith(Suite.class)
-@Suite.SuiteClasses({
- CollapseEventsInTableTest.class,
-})
-@Ignore
-public class AllTests {
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui.swtbot.tests/src/org/eclipse/linuxtools/tmf/ui/swtbot/tests/table/CollapseEventsInTableTest.java b/lttng/org.eclipse.linuxtools.tmf.ui.swtbot.tests/src/org/eclipse/linuxtools/tmf/ui/swtbot/tests/table/CollapseEventsInTableTest.java
deleted file mode 100644
index 852101c113..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui.swtbot.tests/src/org/eclipse/linuxtools/tmf/ui/swtbot/tests/table/CollapseEventsInTableTest.java
+++ /dev/null
@@ -1,196 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013, 2014 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:
- * Bernd Hufmann - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.swtbot.tests.table;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.fail;
-import static org.junit.Assume.assumeTrue;
-
-import java.io.File;
-import java.io.IOException;
-import java.net.URI;
-import java.net.URISyntaxException;
-import java.net.URL;
-
-import org.apache.log4j.ConsoleAppender;
-import org.apache.log4j.Logger;
-import org.apache.log4j.SimpleLayout;
-import org.eclipse.core.runtime.FileLocator;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.core.runtime.preferences.IEclipsePreferences;
-import org.eclipse.core.runtime.preferences.InstanceScope;
-import org.eclipse.jface.bindings.keys.IKeyLookup;
-import org.eclipse.jface.bindings.keys.KeyStroke;
-import org.eclipse.jface.bindings.keys.ParseException;
-import org.eclipse.linuxtools.internal.tmf.core.Activator;
-import org.eclipse.linuxtools.tmf.core.tests.TmfCoreTestPlugin;
-import org.eclipse.linuxtools.tmf.core.timestamp.ITmfTimePreferencesConstants;
-import org.eclipse.linuxtools.tmf.core.timestamp.TmfTimestampFormat;
-import org.eclipse.linuxtools.tmf.ui.swtbot.tests.SWTBotUtil;
-import org.eclipse.linuxtools.tmf.ui.swtbot.tests.conditions.ConditionHelpers;
-import org.eclipse.swtbot.eclipse.finder.SWTWorkbenchBot;
-import org.eclipse.swtbot.eclipse.finder.widgets.SWTBotEditor;
-import org.eclipse.swtbot.swt.finder.junit.SWTBotJunit4ClassRunner;
-import org.eclipse.swtbot.swt.finder.utils.SWTBotPreferences;
-import org.eclipse.swtbot.swt.finder.widgets.SWTBotMenu;
-import org.eclipse.swtbot.swt.finder.widgets.SWTBotTable;
-import org.junit.AfterClass;
-import org.junit.BeforeClass;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-
-/**
- * SWTBot test for testing collapsing feature.
- *
- * @author Bernd Hufmann
- */
-@SuppressWarnings("restriction")
-@RunWith(SWTBotJunit4ClassRunner.class)
-public class CollapseEventsInTableTest {
-
- private static final String TRACE_PROJECT_NAME = "test";
- private static final String COLLAPSE_TRACE_NAME = "syslog_collapse";
- private static final String COLLAPSE_TRACE_PATH = "testfiles/" + COLLAPSE_TRACE_NAME;
- private static final String COLLAPSE_TRACE_TYPE = "org.eclipse.linuxtools.tmf.tests.stubs.trace.text.testsyslog";
-
- private static File fTestFile = null;
-
- private static SWTWorkbenchBot fBot;
-
- /** The Log4j logger instance. */
- private static final Logger fLogger = Logger.getRootLogger();
-
- /**
- * Test Class setup
- */
- @BeforeClass
- public static void init() {
- SWTBotUtil.failIfUIThread();
-
- /* set up test trace*/
- URL location = FileLocator.find(TmfCoreTestPlugin.getDefault().getBundle(), new Path(COLLAPSE_TRACE_PATH), null);
- URI uri;
- try {
- uri = FileLocator.toFileURL(location).toURI();
- fTestFile = new File(uri);
- } catch (URISyntaxException | IOException e) {
- e.printStackTrace();
- fail();
- }
-
- assumeTrue(fTestFile.exists());
-
- IEclipsePreferences defaultPreferences = InstanceScope.INSTANCE.getNode(Activator.PLUGIN_ID);
- defaultPreferences.put(ITmfTimePreferencesConstants.DATIME, "MMM d HH:mm:ss");
- defaultPreferences.put(ITmfTimePreferencesConstants.SUBSEC, ITmfTimePreferencesConstants.SUBSEC_NO_FMT);
- TmfTimestampFormat.updateDefaultFormats();
-
- /* Set up for swtbot */
- SWTBotPreferences.TIMEOUT = 20000; /* 20 second timeout */
- fLogger.addAppender(new ConsoleAppender(new SimpleLayout(), ConsoleAppender.SYSTEM_OUT));
- fBot = new SWTWorkbenchBot();
-
- /* Close welcome view */
- SWTBotUtil.closeView("Welcome", fBot);
-
- /* Switch perspectives */
- SWTBotUtil.switchToTracingPerspective();
-
- /* Finish waiting for eclipse to load */
- SWTBotUtil.waitForJobs();
- }
-
- /**
- * Test class tear down method.
- */
- @AfterClass
- public static void tearDown() {
- /* Set timestamp defaults */
- IEclipsePreferences defaultPreferences = InstanceScope.INSTANCE.getNode(Activator.PLUGIN_ID);
- defaultPreferences.put(ITmfTimePreferencesConstants.DATIME, ITmfTimePreferencesConstants.TIME_HOUR_FMT);
- defaultPreferences.put(ITmfTimePreferencesConstants.SUBSEC, ITmfTimePreferencesConstants.SUBSEC_NANO_FMT);
- TmfTimestampFormat.updateDefaultFormats();
- }
-
- /**
- * Main test case
- */
- @Test
- public void test() {
- SWTBotUtil.createProject(TRACE_PROJECT_NAME);
- SWTBotUtil.openTrace(TRACE_PROJECT_NAME, fTestFile.getAbsolutePath(), COLLAPSE_TRACE_TYPE);
- SWTBotEditor editorBot = SWTBotUtil.activateEditor(fBot, fTestFile.getName());
-
- SWTBotTable tableBot = editorBot.bot().table();
-
- /* Maximize editor area */
- maximizeTable(tableBot);
- tableBot.click(1, 0);
-
- /* Collapse Events */
- SWTBotMenu menuBot = tableBot.contextMenu("Collapse Events");
- menuBot.click();
- fBot.waitUntil(ConditionHelpers.isTableCellFilled(tableBot, "7/22", 1, 1));
-
- String filterString = tableBot.cell(1, 1);
- assertEquals("filterString", "7/22", filterString);
-
- /* Verify collapsed event */
- filterString = tableBot.cell(7, 0);
- assertEquals("repeatCount", "+14", filterString);
-
- filterString = tableBot.cell(7, 1);
- assertEquals("first timestamp", "Jan 1 06:06:06", filterString);
-
- filterString = tableBot.cell(7, 2);
- assertEquals("source", "", filterString);
-
- filterString = tableBot.cell(7, 3);
- assertEquals("type", "Syslog", filterString);
-
- filterString = tableBot.cell(7, 4);
- assertEquals("file", "", filterString);
-
- filterString = tableBot.cell(7, 5);
- assertEquals("content", "Timestamp=Jan 1 06:06:06, Host=HostF, Logger=LoggerF, Message=Message F", filterString);
-
- filterString = tableBot.cell(8, 0);
- assertEquals("repeatCount", "+1", filterString);
-
- filterString = tableBot.cell(8, 1);
- assertEquals("first timestamp (2nd collapse)", "Jan 1 06:06:21", filterString);
-
- filterString = tableBot.cell(8, 5);
- assertEquals("content", "Timestamp=Jan 1 06:06:21, Host=HostF, Logger=LoggerF, Message=Message D", filterString);
-
- /* Clear Filter */
- menuBot = tableBot.contextMenu("Clear Filters");
- menuBot.click();
- fBot.waitUntil(ConditionHelpers.isTableCellFilled(tableBot, "Jan 1 01:01:01", 1, 1));
- assertEquals("timestamp", "Jan 1 01:01:01", tableBot.cell(1, 1));
-
- maximizeTable(tableBot);
-
- fBot.closeAllEditors();
- SWTBotUtil.deleteProject(TRACE_PROJECT_NAME, fBot);
- }
-
- private static void maximizeTable(SWTBotTable tableBot) {
- try {
- tableBot.pressShortcut(KeyStroke.getInstance(IKeyLookup.CTRL_NAME + "+"), KeyStroke.getInstance("M"));
- } catch (ParseException e) {
- fail();
- }
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui.tests/.classpath b/lttng/org.eclipse.linuxtools.tmf.ui.tests/.classpath
deleted file mode 100644
index a40553cdbf..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui.tests/.classpath
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
- <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.7"/>
- <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
- <classpathentry kind="src" path="src"/>
- <classpathentry kind="src" path="widgetStubs"/>
- <classpathentry kind="src" path="shared"/>
- <classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui.tests/.project b/lttng/org.eclipse.linuxtools.tmf.ui.tests/.project
deleted file mode 100644
index f956f8b305..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui.tests/.project
+++ /dev/null
@@ -1,34 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>org.eclipse.linuxtools.tmf.ui.tests</name>
- <comment></comment>
- <projects>
- </projects>
- <buildSpec>
- <buildCommand>
- <name>org.eclipse.jdt.core.javabuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.ManifestBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.SchemaBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.api.tools.apiAnalysisBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>org.eclipse.pde.PluginNature</nature>
- <nature>org.eclipse.jdt.core.javanature</nature>
- <nature>org.eclipse.pde.api.tools.apiAnalysisNature</nature>
- </natures>
-</projectDescription>
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui.tests/.settings/org.eclipse.core.resources.prefs b/lttng/org.eclipse.linuxtools.tmf.ui.tests/.settings/org.eclipse.core.resources.prefs
deleted file mode 100644
index 99f26c0203..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui.tests/.settings/org.eclipse.core.resources.prefs
+++ /dev/null
@@ -1,2 +0,0 @@
-eclipse.preferences.version=1
-encoding/<project>=UTF-8
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui.tests/.settings/org.eclipse.core.runtime.prefs b/lttng/org.eclipse.linuxtools.tmf.ui.tests/.settings/org.eclipse.core.runtime.prefs
deleted file mode 100644
index 5a0ad22d2a..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui.tests/.settings/org.eclipse.core.runtime.prefs
+++ /dev/null
@@ -1,2 +0,0 @@
-eclipse.preferences.version=1
-line.separator=\n
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui.tests/.settings/org.eclipse.jdt.core.prefs b/lttng/org.eclipse.linuxtools.tmf.ui.tests/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index f3fc64575b..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui.tests/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,393 +0,0 @@
-eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.annotation.inheritNullAnnotations=enabled
-org.eclipse.jdt.core.compiler.annotation.missingNonNullByDefaultAnnotation=ignore
-org.eclipse.jdt.core.compiler.annotation.nonnull=org.eclipse.jdt.annotation.NonNull
-org.eclipse.jdt.core.compiler.annotation.nonnullbydefault=org.eclipse.jdt.annotation.NonNullByDefault
-org.eclipse.jdt.core.compiler.annotation.nullable=org.eclipse.jdt.annotation.Nullable
-org.eclipse.jdt.core.compiler.annotation.nullanalysis=enabled
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.7
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.doc.comment.support=enabled
-org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=error
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
-org.eclipse.jdt.core.compiler.problem.comparingIdentical=error
-org.eclipse.jdt.core.compiler.problem.deadCode=error
-org.eclipse.jdt.core.compiler.problem.deprecation=error
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=enabled
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled
-org.eclipse.jdt.core.compiler.problem.discouragedReference=error
-org.eclipse.jdt.core.compiler.problem.emptyStatement=error
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.problem.explicitlyClosedAutoCloseable=error
-org.eclipse.jdt.core.compiler.problem.fallthroughCase=error
-org.eclipse.jdt.core.compiler.problem.fatalOptionalError=disabled
-org.eclipse.jdt.core.compiler.problem.fieldHiding=error
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=error
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=error
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=error
-org.eclipse.jdt.core.compiler.problem.includeNullInfoFromAsserts=disabled
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=error
-org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=error
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=error
-org.eclipse.jdt.core.compiler.problem.invalidJavadoc=warning
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTags=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=protected
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=error
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=error
-org.eclipse.jdt.core.compiler.problem.missingDefaultCase=error
-org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=error
-org.eclipse.jdt.core.compiler.problem.missingEnumCaseDespiteDefault=enabled
-org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=error
-org.eclipse.jdt.core.compiler.problem.missingJavadocComments=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=protected
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagDescription=all_standard_tags
-org.eclipse.jdt.core.compiler.problem.missingJavadocTags=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsMethodTypeParameters=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=protected
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=error
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotationForInterfaceMethodImplementation=enabled
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=error
-org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=error
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=error
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=error
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=ignore
-org.eclipse.jdt.core.compiler.problem.nonnullParameterAnnotationDropped=warning
-org.eclipse.jdt.core.compiler.problem.nullAnnotationInferenceConflict=warning
-org.eclipse.jdt.core.compiler.problem.nullReference=error
-org.eclipse.jdt.core.compiler.problem.nullSpecViolation=error
-org.eclipse.jdt.core.compiler.problem.nullUncheckedConversion=warning
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=error
-org.eclipse.jdt.core.compiler.problem.parameterAssignment=error
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=error
-org.eclipse.jdt.core.compiler.problem.potentialNullReference=error
-org.eclipse.jdt.core.compiler.problem.potentiallyUnclosedCloseable=warning
-org.eclipse.jdt.core.compiler.problem.rawTypeReference=error
-org.eclipse.jdt.core.compiler.problem.redundantNullAnnotation=warning
-org.eclipse.jdt.core.compiler.problem.redundantNullCheck=error
-org.eclipse.jdt.core.compiler.problem.redundantSpecificationOfTypeArguments=error
-org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=error
-org.eclipse.jdt.core.compiler.problem.reportMethodCanBePotentiallyStatic=ignore
-org.eclipse.jdt.core.compiler.problem.reportMethodCanBeStatic=error
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=error
-org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=disabled
-org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
-org.eclipse.jdt.core.compiler.problem.syntacticNullAnalysisForFields=enabled
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
-org.eclipse.jdt.core.compiler.problem.typeParameterHiding=error
-org.eclipse.jdt.core.compiler.problem.unavoidableGenericTypeProblems=disabled
-org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=error
-org.eclipse.jdt.core.compiler.problem.unclosedCloseable=error
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
-org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=error
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=error
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=error
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=error
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=disabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=disabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=error
-org.eclipse.jdt.core.compiler.problem.unusedLabel=error
-org.eclipse.jdt.core.compiler.problem.unusedLocal=error
-org.eclipse.jdt.core.compiler.problem.unusedObjectAllocation=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=error
-org.eclipse.jdt.core.compiler.problem.unusedTypeParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedWarningToken=error
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=error
-org.eclipse.jdt.core.compiler.source=1.7
-org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_assignment=0
-org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
-org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
-org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
-org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
-org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0
-org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=80
-org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=0
-org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch=16
-org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_after_package=1
-org.eclipse.jdt.core.formatter.blank_lines_before_field=0
-org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
-org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
-org.eclipse.jdt.core.formatter.blank_lines_before_method=1
-org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
-org.eclipse.jdt.core.formatter.blank_lines_before_package=0
-org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
-org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
-org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
-org.eclipse.jdt.core.formatter.comment.format_block_comments=true
-org.eclipse.jdt.core.formatter.comment.format_header=false
-org.eclipse.jdt.core.formatter.comment.format_html=true
-org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=true
-org.eclipse.jdt.core.formatter.comment.format_line_comments=true
-org.eclipse.jdt.core.formatter.comment.format_source_code=true
-org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true
-org.eclipse.jdt.core.formatter.comment.indent_root_tags=true
-org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
-org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=insert
-org.eclipse.jdt.core.formatter.comment.line_length=80
-org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries=true
-org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries=true
-org.eclipse.jdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments=false
-org.eclipse.jdt.core.formatter.compact_else_if=true
-org.eclipse.jdt.core.formatter.continuation_indentation=2
-org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2
-org.eclipse.jdt.core.formatter.disabling_tag=@formatter\:off
-org.eclipse.jdt.core.formatter.enabling_tag=@formatter\:on
-org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
-org.eclipse.jdt.core.formatter.format_line_comment_starting_on_first_column=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
-org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_empty_lines=false
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=false
-org.eclipse.jdt.core.formatter.indentation.size=4
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_label=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_try=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources=insert
-org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_try=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
-org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.join_lines_in_comments=true
-org.eclipse.jdt.core.formatter.join_wrapped_lines=false
-org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.lineSplit=250
-org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
-org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
-org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true
-org.eclipse.jdt.core.formatter.tabulation.char=space
-org.eclipse.jdt.core.formatter.tabulation.size=4
-org.eclipse.jdt.core.formatter.use_on_off_tags=false
-org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
-org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
-org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true
-org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui.tests/.settings/org.eclipse.jdt.ui.prefs b/lttng/org.eclipse.linuxtools.tmf.ui.tests/.settings/org.eclipse.jdt.ui.prefs
deleted file mode 100644
index 4fd0c7006a..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui.tests/.settings/org.eclipse.jdt.ui.prefs
+++ /dev/null
@@ -1,56 +0,0 @@
-eclipse.preferences.version=1
-editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
-formatter_profile=_tmf-style
-formatter_settings_version=12
-sp_cleanup.add_default_serial_version_id=true
-sp_cleanup.add_generated_serial_version_id=false
-sp_cleanup.add_missing_annotations=false
-sp_cleanup.add_missing_deprecated_annotations=true
-sp_cleanup.add_missing_methods=false
-sp_cleanup.add_missing_nls_tags=false
-sp_cleanup.add_missing_override_annotations=true
-sp_cleanup.add_missing_override_annotations_interface_methods=true
-sp_cleanup.add_serial_version_id=false
-sp_cleanup.always_use_blocks=true
-sp_cleanup.always_use_parentheses_in_expressions=false
-sp_cleanup.always_use_this_for_non_static_field_access=false
-sp_cleanup.always_use_this_for_non_static_method_access=false
-sp_cleanup.convert_to_enhanced_for_loop=false
-sp_cleanup.correct_indentation=false
-sp_cleanup.format_source_code=false
-sp_cleanup.format_source_code_changes_only=false
-sp_cleanup.make_local_variable_final=false
-sp_cleanup.make_parameters_final=false
-sp_cleanup.make_private_fields_final=true
-sp_cleanup.make_type_abstract_if_missing_method=false
-sp_cleanup.make_variable_declarations_final=false
-sp_cleanup.never_use_blocks=false
-sp_cleanup.never_use_parentheses_in_expressions=true
-sp_cleanup.on_save_use_additional_actions=true
-sp_cleanup.organize_imports=false
-sp_cleanup.qualify_static_field_accesses_with_declaring_class=false
-sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_with_declaring_class=false
-sp_cleanup.qualify_static_method_accesses_with_declaring_class=false
-sp_cleanup.remove_private_constructors=true
-sp_cleanup.remove_trailing_whitespaces=true
-sp_cleanup.remove_trailing_whitespaces_all=true
-sp_cleanup.remove_trailing_whitespaces_ignore_empty=false
-sp_cleanup.remove_unnecessary_casts=false
-sp_cleanup.remove_unnecessary_nls_tags=false
-sp_cleanup.remove_unused_imports=false
-sp_cleanup.remove_unused_local_variables=false
-sp_cleanup.remove_unused_private_fields=true
-sp_cleanup.remove_unused_private_members=false
-sp_cleanup.remove_unused_private_methods=true
-sp_cleanup.remove_unused_private_types=true
-sp_cleanup.sort_members=false
-sp_cleanup.sort_members_all=false
-sp_cleanup.use_blocks=true
-sp_cleanup.use_blocks_only_for_return_and_throw=false
-sp_cleanup.use_parentheses_in_expressions=false
-sp_cleanup.use_this_for_non_static_field_access=false
-sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=true
-sp_cleanup.use_this_for_non_static_method_access=false
-sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui.tests/.settings/org.eclipse.pde.api.tools.prefs b/lttng/org.eclipse.linuxtools.tmf.ui.tests/.settings/org.eclipse.pde.api.tools.prefs
deleted file mode 100644
index acc3abd47c..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui.tests/.settings/org.eclipse.pde.api.tools.prefs
+++ /dev/null
@@ -1,97 +0,0 @@
-ANNOTATION_ELEMENT_TYPE_ADDED_METHOD_WITHOUT_DEFAULT_VALUE=Error
-ANNOTATION_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
-ANNOTATION_ELEMENT_TYPE_REMOVED_FIELD=Error
-ANNOTATION_ELEMENT_TYPE_REMOVED_METHOD=Error
-ANNOTATION_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
-API_COMPONENT_ELEMENT_TYPE_REMOVED_API_TYPE=Error
-API_COMPONENT_ELEMENT_TYPE_REMOVED_REEXPORTED_API_TYPE=Error
-API_COMPONENT_ELEMENT_TYPE_REMOVED_REEXPORTED_TYPE=Error
-API_COMPONENT_ELEMENT_TYPE_REMOVED_TYPE=Error
-API_USE_SCAN_FIELD_SEVERITY=Error
-API_USE_SCAN_METHOD_SEVERITY=Error
-API_USE_SCAN_TYPE_SEVERITY=Error
-CLASS_ELEMENT_TYPE_ADDED_METHOD=Error
-CLASS_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
-CLASS_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
-CLASS_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error
-CLASS_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
-CLASS_ELEMENT_TYPE_CHANGED_NON_ABSTRACT_TO_ABSTRACT=Error
-CLASS_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error
-CLASS_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
-CLASS_ELEMENT_TYPE_REMOVED_CONSTRUCTOR=Error
-CLASS_ELEMENT_TYPE_REMOVED_FIELD=Error
-CLASS_ELEMENT_TYPE_REMOVED_METHOD=Error
-CLASS_ELEMENT_TYPE_REMOVED_SUPERCLASS=Error
-CLASS_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
-CLASS_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
-CONSTRUCTOR_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
-CONSTRUCTOR_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
-CONSTRUCTOR_ELEMENT_TYPE_CHANGED_VARARGS_TO_ARRAY=Error
-CONSTRUCTOR_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
-ENUM_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error
-ENUM_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
-ENUM_ELEMENT_TYPE_REMOVED_ENUM_CONSTANT=Error
-ENUM_ELEMENT_TYPE_REMOVED_FIELD=Error
-ENUM_ELEMENT_TYPE_REMOVED_METHOD=Error
-ENUM_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
-FIELD_ELEMENT_TYPE_ADDED_VALUE=Error
-FIELD_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
-FIELD_ELEMENT_TYPE_CHANGED_FINAL_TO_NON_FINAL_STATIC_CONSTANT=Error
-FIELD_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error
-FIELD_ELEMENT_TYPE_CHANGED_NON_STATIC_TO_STATIC=Error
-FIELD_ELEMENT_TYPE_CHANGED_STATIC_TO_NON_STATIC=Error
-FIELD_ELEMENT_TYPE_CHANGED_TYPE=Error
-FIELD_ELEMENT_TYPE_CHANGED_VALUE=Error
-FIELD_ELEMENT_TYPE_REMOVED_TYPE_ARGUMENT=Error
-FIELD_ELEMENT_TYPE_REMOVED_VALUE=Error
-ILLEGAL_EXTEND=Warning
-ILLEGAL_IMPLEMENT=Warning
-ILLEGAL_INSTANTIATE=Warning
-ILLEGAL_OVERRIDE=Warning
-ILLEGAL_REFERENCE=Warning
-INTERFACE_ELEMENT_TYPE_ADDED_FIELD=Error
-INTERFACE_ELEMENT_TYPE_ADDED_METHOD=Error
-INTERFACE_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
-INTERFACE_ELEMENT_TYPE_ADDED_SUPER_INTERFACE_WITH_METHODS=Error
-INTERFACE_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
-INTERFACE_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error
-INTERFACE_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
-INTERFACE_ELEMENT_TYPE_REMOVED_FIELD=Error
-INTERFACE_ELEMENT_TYPE_REMOVED_METHOD=Error
-INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
-INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
-INVALID_JAVADOC_TAG=Warning
-INVALID_REFERENCE_IN_SYSTEM_LIBRARIES=Warning
-LEAK_EXTEND=Warning
-LEAK_FIELD_DECL=Warning
-LEAK_IMPLEMENT=Warning
-LEAK_METHOD_PARAM=Warning
-LEAK_METHOD_RETURN_TYPE=Warning
-METHOD_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
-METHOD_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
-METHOD_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
-METHOD_ELEMENT_TYPE_CHANGED_NON_ABSTRACT_TO_ABSTRACT=Error
-METHOD_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error
-METHOD_ELEMENT_TYPE_CHANGED_NON_STATIC_TO_STATIC=Error
-METHOD_ELEMENT_TYPE_CHANGED_STATIC_TO_NON_STATIC=Error
-METHOD_ELEMENT_TYPE_CHANGED_VARARGS_TO_ARRAY=Error
-METHOD_ELEMENT_TYPE_REMOVED_ANNOTATION_DEFAULT_VALUE=Error
-METHOD_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
-MISSING_EE_DESCRIPTIONS=Ignore
-TYPE_PARAMETER_ELEMENT_TYPE_ADDED_CLASS_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_ADDED_INTERFACE_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_CHANGED_CLASS_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_CHANGED_INTERFACE_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_CLASS_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error
-UNUSED_PROBLEM_FILTERS=Warning
-automatically_removed_unused_problem_filters=false
-eclipse.preferences.version=1
-incompatible_api_component_version=Error
-incompatible_api_component_version_include_major_without_breaking_change=Disabled
-incompatible_api_component_version_include_minor_without_api_change=Disabled
-invalid_since_tag_version=Error
-malformed_since_tag=Error
-missing_since_tag=Error
-report_api_breakage_when_major_version_incremented=Disabled
-report_resolution_errors_api_component=Warning
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui.tests/.settings/org.eclipse.pde.prefs b/lttng/org.eclipse.linuxtools.tmf.ui.tests/.settings/org.eclipse.pde.prefs
deleted file mode 100644
index 62cfa90dee..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui.tests/.settings/org.eclipse.pde.prefs
+++ /dev/null
@@ -1,32 +0,0 @@
-compilers.f.unresolved-features=1
-compilers.f.unresolved-plugins=1
-compilers.incompatible-environment=1
-compilers.p.build=1
-compilers.p.build.bin.includes=1
-compilers.p.build.encodings=2
-compilers.p.build.java.compiler=2
-compilers.p.build.java.compliance=1
-compilers.p.build.missing.output=2
-compilers.p.build.output.library=1
-compilers.p.build.source.library=1
-compilers.p.build.src.includes=1
-compilers.p.deprecated=1
-compilers.p.discouraged-class=1
-compilers.p.internal=1
-compilers.p.missing-packages=2
-compilers.p.missing-version-export-package=2
-compilers.p.missing-version-import-package=2
-compilers.p.missing-version-require-bundle=2
-compilers.p.no-required-att=0
-compilers.p.not-externalized-att=2
-compilers.p.unknown-attribute=1
-compilers.p.unknown-class=1
-compilers.p.unknown-element=1
-compilers.p.unknown-identifier=1
-compilers.p.unknown-resource=1
-compilers.p.unresolved-ex-points=0
-compilers.p.unresolved-import=0
-compilers.s.create-docs=false
-compilers.s.doc-folder=doc
-compilers.s.open-tags=1
-eclipse.preferences.version=1
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui.tests/ChangeLog b/lttng/org.eclipse.linuxtools.tmf.ui.tests/ChangeLog
deleted file mode 100644
index e29a81f0e9..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui.tests/ChangeLog
+++ /dev/null
@@ -1,8 +0,0 @@
-2010-11-09 Francois Chouinard <fchouinard@gmail.com>
-
- Suppress warning for non-externalized strings
- * src/org/eclipse/linuxtools/tmf/ui/tests/TmfUITestPlugin.java:
- * widgetStubs/org/eclipse/linuxtools/tmf/ui/widgets/timeAnalysis/test/stub/adaption/TsfImplProvider.java:
- * widgetStubs/org/eclipse/linuxtools/tmf/ui/widgets/timeAnalysis/test/stub/model/TraceImpl.java:
- * widgetStubs/org/eclipse/linuxtools/tmf/ui/widgets/timeAnalysis/test/stub/model/TraceModelImplFactory.java:
- * widgetStubs/org/eclipse/linuxtools/tmf/ui/widgets/timeAnalysis/test/stub/views/TsfTraceAnalysisView.java: \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui.tests/META-INF/MANIFEST.MF b/lttng/org.eclipse.linuxtools.tmf.ui.tests/META-INF/MANIFEST.MF
deleted file mode 100644
index 606b5fc1fc..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui.tests/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,21 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %Bundle-Name
-Bundle-Vendor: %Bundle-Vendor
-Bundle-Version: 3.1.0.qualifier
-Bundle-Localization: plugin
-Bundle-SymbolicName: org.eclipse.linuxtools.tmf.ui.tests;singleton:=true
-Bundle-ActivationPolicy: lazy
-Bundle-RequiredExecutionEnvironment: JavaSE-1.7
-Require-Bundle: org.junit;bundle-version="4.0.0",
- org.eclipse.core.runtime,
- org.eclipse.core.resources,
- org.eclipse.ui,
- org.eclipse.ui.views,
- org.eclipse.linuxtools.tmf.core;bundle-version="3.1.0",
- org.eclipse.linuxtools.tmf.ui;bundle-version="3.1.0",
- org.eclipse.linuxtools.tmf.core.tests;bundle-version="3.1.0",
- org.eclipse.ui.ide
-Export-Package: org.eclipse.linuxtools.tmf.ui.tests
-Bundle-Activator: org.eclipse.linuxtools.tmf.ui.tests.TmfUITestPlugin
-Import-Package: com.google.common.collect
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui.tests/about.html b/lttng/org.eclipse.linuxtools.tmf.ui.tests/about.html
deleted file mode 100644
index c258ef55d8..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui.tests/about.html
+++ /dev/null
@@ -1,28 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
-<title>About</title>
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
-
-<p>June 5, 2006</p>
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;). Unless otherwise
-indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is available
-at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is
-being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content. Check the Redistributor's license that was
-provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at <a href="http://www.eclipse.org/">http://www.eclipse.org</a>.</p>
-
-</body>
-</html> \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui.tests/build.properties b/lttng/org.eclipse.linuxtools.tmf.ui.tests/build.properties
deleted file mode 100644
index 3cf0253cb1..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui.tests/build.properties
+++ /dev/null
@@ -1,21 +0,0 @@
-###############################################################################
-# Copyright (c) 2013 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:
-# Ericsson - Initial API and implementation
-###############################################################################
-
-source.. = src/,\
- widgetStubs/,\
- shared/
-output.. = bin/
-bin.includes = META-INF/,\
- .,\
- plugin.properties,\
- plugin.xml
-src.includes = about.html
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui.tests/plugin.properties b/lttng/org.eclipse.linuxtools.tmf.ui.tests/plugin.properties
deleted file mode 100644
index 2825e3c3a1..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui.tests/plugin.properties
+++ /dev/null
@@ -1,18 +0,0 @@
-###############################################################################
-# Copyright (c) 2013 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:
-# Ericsson - Initial API and implementation
-###############################################################################
-
-#Properties file for org.eclipse.linuxtools.tmf.ui.tests
-Bundle-Vendor = Eclipse Linux Tools
-Bundle-Name = Linux Tools TMF UI Tests Plug-in
-
-tmf.ui.stubs.category.name = TMF UI Stubs
-tmf.analysis/view.name = TMF Time Analysis View
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui.tests/plugin.xml b/lttng/org.eclipse.linuxtools.tmf.ui.tests/plugin.xml
deleted file mode 100644
index 3dc023721d..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui.tests/plugin.xml
+++ /dev/null
@@ -1,105 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.4"?>
-<plugin>
- <extension
- point="org.eclipse.ui.views">
- <category id="org.eclipse.linuxtools.tmf.ui.stubs" name="TMF UI Stubs">
- </category>
- <view category="org.eclipse.linuxtools.tmf.ui.stubs"
- class="org.eclipse.linuxtools.tmf.ui.widgets.timegraph.test.stub.views.TsfTraceAnalysisView"
- id="org.eclipse.linuxtools.tmf.ui.widgets.timeAnalysis.test.stub.views.TmfTaTimeAnalysis"
- name="Time Graph View" restorable="true">
- </view>
- <view
- category="org.eclipse.linuxtools.tmf.ui.stubs"
- class="org.eclipse.linuxtools.tmf.ui.views.uml2sd.SDView"
- id="org.eclipse.linuxtools.tmf.ui.tests.testSDView1Loader"
- name="TestSDView1Loader"
- restorable="true">
- </view>
- <view
- category="org.eclipse.linuxtools.tmf.ui.stubs"
- class="org.eclipse.linuxtools.tmf.ui.views.uml2sd.SDView"
- id="org.eclipse.linuxtools.tmf.ui.tests.testSDView2Loaders"
- name="TestSDView2Loaders"
- restorable="true">
- </view>
- <view
- category="org.eclipse.linuxtools.tmf.ui.stubs"
- class="org.eclipse.linuxtools.tmf.ui.views.uml2sd.SDView"
- id="org.eclipse.linuxtools.tmf.ui.tests.testAnalysisView"
- name="Test Analysis View"
- restorable="true">
- </view>
- </extension>
- <extension
- point="org.eclipse.linuxtools.tmf.ui.uml2SDLoader">
- <uml2SDLoader
- class="org.eclipse.linuxtools.tmf.ui.tests.uml2sd.load.TestLoaders"
- default="true"
- id="org.eclipse.linuxtools.tmf.ui.tests.uml2SDLoader1"
- name="Test Loader "
- view="org.eclipse.linuxtools.tmf.ui.tests.testSDView1Loader">
- </uml2SDLoader>
- </extension>
- <extension
- point="org.eclipse.linuxtools.tmf.ui.uml2SDLoader">
- <uml2SDLoader
- class="org.eclipse.linuxtools.tmf.ui.tests.uml2sd.load.TestLoaders"
- default="true"
- id="org.eclipse.linuxtools.tmf.ui.tests.uml2SDLoader2"
- name="Test Loader2"
- view="org.eclipse.linuxtools.tmf.ui.tests.testSDView2Loaders">
- </uml2SDLoader>
- </extension>
- <extension
- point="org.eclipse.linuxtools.tmf.ui.uml2SDLoader">
- <uml2SDLoader
- class="org.eclipse.linuxtools.tmf.ui.views.uml2sd.loader.TmfUml2SDSyncLoader"
- default="true"
- id="org.eclipse.linuxtools.tmf.ui.tests.uml2SDLoader3"
- name="Test Tmf UML2SD Loader"
- view="org.eclipse.linuxtools.tmf.ui.tests.testSDView2Loaders">
- </uml2SDLoader>
- </extension>
- <extension
- point="org.eclipse.linuxtools.tmf.core.analysis">
- <module
- analysis_module="org.eclipse.linuxtools.tmf.ui.tests.stubs.analysis.TestAnalysisUi"
- id="org.eclipse.linuxtools.tmf.ui.tests.test"
- name="Test analysis in UI">
- <tracetype
- class="org.eclipse.linuxtools.tmf.tests.stubs.trace.TmfTraceStub">
- </tracetype>
- </module>
- <output
- class="org.eclipse.linuxtools.tmf.ui.analysis.TmfAnalysisViewOutput"
- id="org.eclipse.linuxtools.tmf.ui.tests.testAnalysisView">
- <analysisModuleClass
- class="org.eclipse.linuxtools.tmf.ui.tests.stubs.analysis.TestAnalysisUi">
- </analysisModuleClass>
- </output>
- </extension>
- <extension
- point="org.eclipse.ui.editors">
- <editor
- class="org.eclipse.linuxtools.tmf.ui.tests.experiment.type.TmfEventsEditorStub"
- default="false"
- id="org.eclipse.linuxtools.tmf.ui.editors.events.stub"
- name="%events.editor.name">
- <contentTypeBinding
- contentTypeId="org.eclipse.linuxtools.tmf.ui.content-type.trace">
- </contentTypeBinding>
- </editor>
- </extension>
- <extension
- point="org.eclipse.linuxtools.tmf.ui.tracetypeui">
- <experiment
- tracetype="org.eclipse.linuxtools.tmf.core.tests.experimenttype">
- <defaultEditor
- id="org.eclipse.linuxtools.tmf.ui.editors.events.stub">
- </defaultEditor>
- </experiment>
- </extension>
-
-</plugin>
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui.tests/pom.xml b/lttng/org.eclipse.linuxtools.tmf.ui.tests/pom.xml
deleted file mode 100644
index 1c59eaef6d..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui.tests/pom.xml
+++ /dev/null
@@ -1,56 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Copyright (C) 2011, Red Hat, Inc. and others
-
- 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
--->
-
-<project xmlns="http://maven.apache.org/POM/4.0.0"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
- <modelVersion>4.0.0</modelVersion>
-
- <parent>
- <artifactId>linuxtools-lttng-parent</artifactId>
- <groupId>org.eclipse.linuxtools.lttng</groupId>
- <version>3.2.0-SNAPSHOT</version>
- </parent>
-
- <artifactId>org.eclipse.linuxtools.tmf.ui.tests</artifactId>
- <version>3.1.0-SNAPSHOT</version>
- <packaging>eclipse-test-plugin</packaging>
-
- <name>Linux Tools TMF UI Tests Plug-in</name>
-
- <build>
- <!-- workaround for https://issues.sonatype.org/browse/TYCHO-168 -->
- <resources>
- <resource>
- <directory>src</directory>
- <excludes>
- <exclude>**/*.java</exclude>
- </excludes>
- </resource>
- </resources>
- <plugins>
- <plugin>
- <groupId>org.eclipse.tycho</groupId>
- <artifactId>tycho-surefire-plugin</artifactId>
- <version>${tycho-version}</version>
- <configuration>
- <testSuite>org.eclipse.linuxtools.tmf.ui.tests</testSuite>
- <testClass>org.eclipse.linuxtools.tmf.ui.tests.AllTmfUITests</testClass>
- <useUIHarness>true</useUIHarness>
- <useUIThread>true</useUIThread>
- <argLine>${tycho.testArgLine} ${base.ui.test.vmargs}</argLine>
- <product>org.eclipse.platform.ide</product>
- </configuration>
- </plugin>
- </plugins>
- </build>
-
- <groupId>org.eclipse.linuxtools.tmf</groupId>
-</project>
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui.tests/shared/org/eclipse/linuxtools/tmf/ui/tests/shared/ProjectModelTestData.java b/lttng/org.eclipse.linuxtools.tmf.ui.tests/shared/org/eclipse/linuxtools/tmf/ui/tests/shared/ProjectModelTestData.java
deleted file mode 100644
index b9db1265c7..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui.tests/shared/org/eclipse/linuxtools/tmf/ui/tests/shared/ProjectModelTestData.java
+++ /dev/null
@@ -1,265 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013, 2014 École Polytechnique de Montréal
- *
- * 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:
- * Geneviève Bastien - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.tests.shared;
-
-import java.io.File;
-import java.lang.reflect.InvocationTargetException;
-import java.util.concurrent.TimeoutException;
-
-import org.eclipse.core.resources.IFolder;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.linuxtools.internal.tmf.ui.Activator;
-import org.eclipse.linuxtools.internal.tmf.ui.project.model.TmfImportHelper;
-import org.eclipse.linuxtools.tmf.core.TmfCommonConstants;
-import org.eclipse.linuxtools.tmf.core.tests.shared.TmfTestTrace;
-import org.eclipse.linuxtools.tmf.ui.project.model.ITmfProjectModelElement;
-import org.eclipse.linuxtools.tmf.ui.project.model.TmfCommonProjectElement;
-import org.eclipse.linuxtools.tmf.ui.project.model.TmfExperimentElement;
-import org.eclipse.linuxtools.tmf.ui.project.model.TmfProjectElement;
-import org.eclipse.linuxtools.tmf.ui.project.model.TmfProjectRegistry;
-import org.eclipse.linuxtools.tmf.ui.project.model.TmfTraceElement;
-import org.eclipse.linuxtools.tmf.ui.project.model.TmfTracesFolder;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.actions.WorkspaceModifyOperation;
-
-/**
- * Creates objects used for this package's testing purposes
- *
- * @author Geneviève Bastien
- */
-public class ProjectModelTestData {
-
- /* Maximum number of thread delays the main thread will do before timing out */
- private static final int DELAY_COUNTER = 1000;
- /* Default delay time when having the main thread sleep. */
- private static final long DEFAULT_DELAY = 500;
-
- /** Default test project name */
- public static final String PROJECT_NAME = "Test_Project";
-
- private static final TmfTestTrace testTrace = TmfTestTrace.A_TEST_10K;
-
- /**
- * Gets a project element with traces all initialized
- *
- * @return A project stub element
- * @throws CoreException
- * If something happened with the project creation
- */
- public static TmfProjectElement getFilledProject() throws CoreException {
-
- IProject project = TmfProjectRegistry.createProject(PROJECT_NAME, null, null);
- IFolder traceFolder = project.getFolder(TmfTracesFolder.TRACES_FOLDER_NAME);
-
- /* Create a trace, if it exist, it will be replaced */
- File file = new File(testTrace.getFullPath());
- String path = file.getAbsolutePath();
- final IPath pathString = Path.fromOSString(path);
- IResource linkedTrace = TmfImportHelper.createLink(traceFolder, pathString, pathString.lastSegment());
- if (!(linkedTrace != null && linkedTrace.exists())) {
- return null;
- }
- linkedTrace.setPersistentProperty(TmfCommonConstants.TRACETYPE,
- "org.eclipse.linuxtools.tmf.core.tests.tracetype");
-
- final TmfProjectElement projectElement = TmfProjectRegistry.getProject(project, true);
- TmfTraceElement traceElement = projectElement.getTracesFolder().getTraces().get(0);
- traceElement.refreshTraceType();
-
- projectElement.refresh();
-
- return projectElement;
- }
-
- /**
- * Adds a new experiment to the project
- *
- * @param projectElement
- * The project to add to
- * @param experimentName
- * Name of the experiment
- * @return The newly created experiment
- */
- public static TmfExperimentElement addExperiment(TmfProjectElement projectElement, String experimentName) {
- IFolder experimentFolder = projectElement.getExperimentsFolder().getResource();
- final IFolder folder = experimentFolder.getFolder(experimentName);
-
- WorkspaceModifyOperation operation = new WorkspaceModifyOperation() {
- @Override
- public void execute(IProgressMonitor monitor) throws CoreException {
- monitor.beginTask("", 1000);
- folder.create(false, true, monitor);
- monitor.done();
- }
- };
- try {
- PlatformUI.getWorkbench().getProgressService().busyCursorWhile(operation);
- } catch (InterruptedException | InvocationTargetException | RuntimeException exception) {
-
- }
-
- for (ITmfProjectModelElement el : projectElement.getExperimentsFolder().getChildren()) {
- if (el.getName().equals(experimentName) && (el instanceof TmfExperimentElement)) {
- return (TmfExperimentElement) el;
- }
- }
- return null;
- }
-
- /**
- * Get the name of the test trace element
- *
- * @return The trace name
- */
- public static String getTraceName() {
- File file = new File(testTrace.getPath());
- String path = file.getAbsolutePath();
- final IPath pathString = Path.fromOSString(path);
- return pathString.lastSegment();
- }
-
- /**
- * Deletes a project
- *
- * @param project
- * Project to delete
- */
- public static void deleteProject(TmfProjectElement project) {
- /* Delete experiments */
- ITmfProjectModelElement[] experiments = project.getExperimentsFolder().getChildren().toArray(new ITmfProjectModelElement[0]);
- for (ITmfProjectModelElement element : experiments) {
- if (element instanceof TmfExperimentElement) {
- TmfExperimentElement experiment = (TmfExperimentElement) element;
- IResource resource = experiment.getResource();
-
- /* Close the experiment if open */
- experiment.closeEditors();
-
- IPath path = resource.getLocation();
- if (path != null) {
- /* Delete supplementary files */
- experiment.deleteSupplementaryFolder();
- }
-
- /* Finally, delete the experiment */
- try {
- resource.delete(true, null);
- } catch (CoreException e) {
- Activator.getDefault().logError("Error deleting experiment element", e);
- }
- }
- }
-
- /* Delete traces */
- ITmfProjectModelElement[] traces = project.getTracesFolder().getChildren().toArray(new ITmfProjectModelElement[0]);
- for (ITmfProjectModelElement element : traces) {
- if (element instanceof TmfTraceElement) {
- TmfTraceElement trace = (TmfTraceElement) element;
- IResource resource = trace.getResource();
-
- /* Close the trace if open */
- trace.closeEditors();
-
- IPath path = resource.getLocation();
- if (path != null) {
- /* Delete supplementary files */
- trace.deleteSupplementaryFolder();
- }
-
- /* Finally, delete the trace */
- try {
- resource.delete(true, new NullProgressMonitor());
- } catch (CoreException e) {
- Activator.getDefault().logError("Error deleting trace element", e);
- }
- }
- }
-
- /* Delete the project itself */
- try {
- project.getResource().delete(true, null);
- } catch (CoreException e) {
- Activator.getDefault().logError("Error deleting project", e);
- }
- }
-
- /**
- * Makes the main display thread sleep, so it gives a chance to other
- * threads needing the main display to execute
- *
- * @param waitTimeMillis
- * time to wait in millisecond
- */
- public static void delayThread(final long waitTimeMillis) {
- final Display display = Display.getCurrent();
- if (display != null) {
- final long endTimeMillis = System.currentTimeMillis() + waitTimeMillis;
- while (System.currentTimeMillis() < endTimeMillis) {
- if (!display.readAndDispatch()) {
- display.sleep();
- }
- display.update();
- }
- } else {
- try {
- Thread.sleep(waitTimeMillis);
- } catch (final InterruptedException e) {
- // Ignored
- }
- }
- }
-
- /**
- * Makes the main display thread sleep to give a chance to other threads to
- * execute. It sleeps until the a trace element's corresponding trace is
- * available (opened) or returns after a timeout. It allows to set short
- * delays, while still not failing tests when it randomly takes a bit more
- * time for the trace to open.
- *
- * If the project model element sent in parameter is not a trace element,
- * then the thread is delayed only once by the default delay time. For
- * longer delays in those cases, it is preferable to use the
- * {@link ProjectModelTestData#delayThread(long)} instead.
- *
- * Timeout is DELAY_COUNTER * DEFAULT_DELAY ms
- *
- * @param projectElement
- * The trace element we are waiting for. If the element if not of
- * type TmfTraceElement, the thread is delayed only once.
- * @throws TimeoutException
- * If after the maximum number of delays the trace is still
- * null, we throw a timeout exception, the trace has not opened.
- */
- public static void delayUntilTraceOpened(final ITmfProjectModelElement projectElement) throws TimeoutException {
- if (projectElement instanceof TmfCommonProjectElement) {
- TmfCommonProjectElement traceElement = (TmfCommonProjectElement) projectElement;
- final long deadline = System.nanoTime() + (DELAY_COUNTER * DEFAULT_DELAY * 1000000L);
- do {
- delayThread(DEFAULT_DELAY);
- if (traceElement.getTrace() != null) {
- return;
- }
- } while (System.nanoTime() < deadline);
- throw new TimeoutException("Timeout while waiting for " + traceElement);
- }
- delayThread(DEFAULT_DELAY);
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui.tests/src/org/eclipse/linuxtools/tmf/ui/tests/AllTmfUITests.java b/lttng/org.eclipse.linuxtools.tmf.ui.tests/src/org/eclipse/linuxtools/tmf/ui/tests/AllTmfUITests.java
deleted file mode 100644
index 34a388725d..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui.tests/src/org/eclipse/linuxtools/tmf/ui/tests/AllTmfUITests.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011-2013 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:
- * Bernd Hufmann - Initial API and implementation
- * Bernd Hufmann - Add UML2SD tests
- * Mathieu Denis <mathieu.denis@polymtl.ca> - Add Statistics test
- * Alexandre Montplaisir - Port to JUnit4
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.tests;
-
-import org.junit.runner.RunWith;
-import org.junit.runners.Suite;
-
-/**
- * Master test suite for TMF UI Core.
- */
-@RunWith(Suite.class)
-@Suite.SuiteClasses({
- org.eclipse.linuxtools.tmf.ui.tests.histogram.AllTests.class,
- org.eclipse.linuxtools.tmf.ui.tests.project.model.AllTests.class,
- org.eclipse.linuxtools.tmf.ui.tests.statistics.AllTests.class,
- org.eclipse.linuxtools.tmf.ui.tests.views.uml2sd.dialogs.AllTests.class,
- org.eclipse.linuxtools.tmf.ui.tests.views.uml2sd.load.AllTests.class,
- org.eclipse.linuxtools.tmf.ui.tests.views.uml2sd.loader.AllTests.class
-})
-public class AllTmfUITests {
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui.tests/src/org/eclipse/linuxtools/tmf/ui/tests/TmfUITestPlugin.java b/lttng/org.eclipse.linuxtools.tmf.ui.tests/src/org/eclipse/linuxtools/tmf/ui/tests/TmfUITestPlugin.java
deleted file mode 100644
index 8988f54cc1..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui.tests/src/org/eclipse/linuxtools/tmf/ui/tests/TmfUITestPlugin.java
+++ /dev/null
@@ -1,84 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 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:
- * Marc-Andre Laperle - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.tests;
-
-import org.eclipse.core.runtime.Plugin;
-import org.osgi.framework.BundleContext;
-
-/**
- * <b><u>TmfUITestPlugin</u></b>
- * <p>
- * The activator class controls the plug-in life cycle
- *
- * @author Marc-Andre Laperle
- */
-public class TmfUITestPlugin extends Plugin {
-
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
-
- /**
- * The plug-in ID
- */
- public static final String PLUGIN_ID = "org.eclipse.linuxtools.tmf.ui.tests";
-
- // The shared instance
- private static TmfUITestPlugin fPlugin;
-
- // ------------------------------------------------------------------------
- // Constructors
- // ------------------------------------------------------------------------
-
- /**
- * The constructor
- */
- public TmfUITestPlugin() {
- setDefault(this);
- }
-
- // ------------------------------------------------------------------------
- // Accessors
- // ------------------------------------------------------------------------
-
- /**
- * @return the shared instance
- */
- public static TmfUITestPlugin getDefault() {
- return fPlugin;
- }
-
- /**
- * @param plugin the shared instance
- */
- private static void setDefault(TmfUITestPlugin plugin) {
- fPlugin = plugin;
- }
-
- // ------------------------------------------------------------------------
- // Operations
- // ------------------------------------------------------------------------
-
- @Override
- public void start(BundleContext context) throws Exception {
- super.start(context);
- setDefault(this);
- }
-
- @Override
- public void stop(BundleContext context) throws Exception {
- setDefault(null);
- super.stop(context);
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui.tests/src/org/eclipse/linuxtools/tmf/ui/tests/histogram/AllTests.java b/lttng/org.eclipse.linuxtools.tmf.ui.tests/src/org/eclipse/linuxtools/tmf/ui/tests/histogram/AllTests.java
deleted file mode 100644
index c4afae7b79..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui.tests/src/org/eclipse/linuxtools/tmf/ui/tests/histogram/AllTests.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011, 2013 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:
- * Bernd Hufmann - Initial API and implementation
- * Alexandre Montplaisir - Port to JUnit4
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.tests.histogram;
-
-import org.junit.runner.RunWith;
-import org.junit.runners.Suite;
-
-/**
- * Test suite class for histogram tests.
- */
-@RunWith(Suite.class)
-@Suite.SuiteClasses({
- HistogramDataModelTest.class
-})
-public class AllTests {
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui.tests/src/org/eclipse/linuxtools/tmf/ui/tests/histogram/HistogramDataModelTest.java b/lttng/org.eclipse.linuxtools.tmf.ui.tests/src/org/eclipse/linuxtools/tmf/ui/tests/histogram/HistogramDataModelTest.java
deleted file mode 100644
index 156ecedbe6..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui.tests/src/org/eclipse/linuxtools/tmf/ui/tests/histogram/HistogramDataModelTest.java
+++ /dev/null
@@ -1,724 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011, 2013 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
- * Bernd Hufmann - Adapt to junit.framework.TestCase
- * Alexandre Montplaisir - Port to JUnit4
- * Patrick Tasse - Support selection range
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.tests.histogram;
-
-import static org.junit.Assert.assertArrayEquals;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.fail;
-
-import org.eclipse.linuxtools.tmf.core.timestamp.ITmfTimestamp;
-import org.eclipse.linuxtools.tmf.core.timestamp.TmfTimeRange;
-import org.eclipse.linuxtools.tmf.core.timestamp.TmfTimestamp;
-import org.eclipse.linuxtools.tmf.core.trace.ITmfTrace;
-import org.eclipse.linuxtools.tmf.ui.views.histogram.HistogramBucket;
-import org.eclipse.linuxtools.tmf.ui.views.histogram.HistogramDataModel;
-import org.eclipse.linuxtools.tmf.ui.views.histogram.HistogramScaledData;
-import org.eclipse.linuxtools.tmf.ui.views.histogram.IHistogramModelListener;
-import org.junit.Test;
-
-/**
- * Unit tests for the HistogramDataModel class.
- */
-public class HistogramDataModelTest {
-
- private static final double DELTA = 1e-15;
-
- private final static HistogramBucket _0 = new HistogramBucket(new int[] {0});
- private final static HistogramBucket _1 = new HistogramBucket(new int[] {1});
- private final static HistogramBucket _2 = new HistogramBucket(new int[] {2});
- private final static HistogramBucket _4 = new HistogramBucket(new int[] {4});
- private final static HistogramBucket _9 = new HistogramBucket(new int[] {9});
- private final static HistogramBucket _20 = new HistogramBucket(new int[] {20});
- private final static HistogramBucket _24 = new HistogramBucket(new int[] {24});
-
- /**
- * Test method for {@link HistogramDataModel#HistogramDataModel()}.
- */
- @Test
- public void testHistogramDataModel() {
- HistogramDataModel model = new HistogramDataModel();
- testModelConsistency(model, HistogramDataModel.DEFAULT_NUMBER_OF_BUCKETS,0, 1, 0 , 0 , 0 , HistogramDataModel.DEFAULT_NUMBER_OF_BUCKETS);
- }
-
- /**
- * Test method for {@link HistogramDataModel#HistogramDataModel(HistogramDataModel)}.
- */
- @Test
- public void testHistogramDataModelCopyConstructor() {
- HistogramDataModel model = new HistogramDataModel();
- HistogramDataModel copy = new HistogramDataModel(model);
- testModelConsistency(copy, HistogramDataModel.DEFAULT_NUMBER_OF_BUCKETS,0, 1, 0 , 0 , 0 , HistogramDataModel.DEFAULT_NUMBER_OF_BUCKETS);
- }
-
- /**
- * Test method for {@link HistogramDataModel#HistogramDataModel(int)}.
- */
- @Test
- public void testHistogramDataModelInt() {
- final int nbBuckets = 5 * 1000;
- HistogramDataModel model = new HistogramDataModel(nbBuckets);
- testModelConsistency(model, nbBuckets, 0, 1, 0, 0, 0, nbBuckets);
- }
-
- /**
- * Test methods for {@link HistogramDataModel#countEvent(long,long, ITmfTrace)}.
- */
- @Test
- public void testClear() {
- final int nbBuckets = 100;
- HistogramDataModel model = new HistogramDataModel(nbBuckets);
- model.countEvent(0, -1, null);
-
- testModelConsistency(model, nbBuckets, 0, 1, 0, 0, 0, nbBuckets);
- }
-
- /**
- * Test methods for {@link HistogramDataModel#countEvent(long,long, ITmfTrace)}.
- */
- @Test
- public void testCountEvent_0() {
- final int nbBuckets = 100;
- HistogramDataModel model = new HistogramDataModel(nbBuckets);
- model.countEvent(0, -1, null);
-
- testModelConsistency(model, nbBuckets, 0, 1, 0, 0, 0, nbBuckets);
- }
-
- /**
- * Test methods for {@link HistogramDataModel#countEvent(long,long, ITmfTrace)} and
- * {@link HistogramDataModel#scaleTo(int,int,int)}.
- */
- @Test
- public void testCountEvent_1() {
- final int nbBuckets = 100;
- final int maxHeight = 10;
-
- HistogramDataModel model = new HistogramDataModel(nbBuckets);
-
- HistogramScaledData result = model.scaleTo(nbBuckets, maxHeight, 1);
-
- for (int i = 0; i < result.fData.length; i++) {
- assertEquals(_0, result.fData[i]);
- }
-
- testModelConsistency(model, nbBuckets, 0, 1, 0, 0, 0, nbBuckets);
- }
-
- /**
- * Test methods for {@link HistogramDataModel#countEvent(long,long, ITmfTrace)} and
- * {@link HistogramDataModel#scaleTo(int,int,int)}.
- */
- @Test
- public void testCountEvent_2() {
- final int nbBuckets = 100;
- final int maxHeight = 10;
-
- HistogramDataModel model = new HistogramDataModel(nbBuckets);
- model.countEvent(0, 1, null);
-
- HistogramScaledData result = model.scaleTo(nbBuckets, maxHeight, 1);
- assertEquals(_1, result.fData[0]);
-
- assertArrayEqualsInt(0, result.fData,1);
-
- testModelConsistency(model, nbBuckets, 1, 1, 1, 1, 1, nbBuckets + 1);
- }
-
- /**
- * Test methods for {@link HistogramDataModel#countEvent(long,long, ITmfTrace)} and
- * {@link HistogramDataModel#scaleTo(int,int,int)}.
- */
- @Test
- public void testCountEvent_3() {
- final int nbBuckets = 100;
- final int maxHeight = 10;
-
- HistogramDataModel model = new HistogramDataModel(nbBuckets);
- countEventsInModel(nbBuckets, model);
-
- HistogramScaledData result = model.scaleTo(nbBuckets, maxHeight, 1);
-
- assertArrayEqualsInt(1, result.fData);
-
- testModelConsistency(model, nbBuckets, nbBuckets, 1, 0, 0, nbBuckets - 1, nbBuckets);
- }
-
- /**
- * Test methods for {@link HistogramDataModel#countEvent(long,long,ITmfTrace)} and
- * {@link HistogramDataModel#scaleTo(int,int,int)}.
- */
- @Test
- public void testCountEvent_4() {
- final int nbBuckets = 100;
- final int maxHeight = 10;
-
- HistogramDataModel model = new HistogramDataModel(nbBuckets);
- // to different to call elsewhere
- for (int i = 0; i < nbBuckets; i++) {
- model.countEvent(i, i, null);
- model.countEvent(i + 1, i, null);
- }
-
- HistogramScaledData result = model.scaleTo(nbBuckets, maxHeight, 1);
-
- assertArrayEqualsInt(2, result.fData);
-
- testModelConsistency(model, nbBuckets, 2 * nbBuckets, 1, 0, 0, nbBuckets- 1, nbBuckets);
- }
-
-
- /**
- * Test methods for {@link HistogramDataModel#countEvent(long,long,ITmfTrace)} and
- * {@link HistogramDataModel#scaleTo(int,int,int)}.
- */
- @Test
- public void testCountEvent_5() {
- final int nbBuckets = 100;
- final int startTime = 25;
- final int maxHeight = 10;
-
- HistogramDataModel model = new HistogramDataModel(nbBuckets);
- for (int i = startTime; i < startTime + nbBuckets; i++) {
- model.countEvent(i, i, null);
- }
-
- HistogramScaledData result = model.scaleTo(nbBuckets, maxHeight, 1);
-
- assertArrayEqualsInt(1, result.fData);
-
- testModelConsistency(model, nbBuckets, nbBuckets, 1, startTime, startTime, startTime + nbBuckets- 1, startTime + nbBuckets);
- }
-
- /**
- * Test methods for {@link HistogramDataModel#countEvent(long,long,ITmfTrace)} and
- * {@link HistogramDataModel#scaleTo(int,int,int)}.
- */
- @Test
- public void testCountEvent_6() {
- final int nbBuckets = 2;
- final long interval = 4294967296L;
- final int maxHeight = 10;
-
- HistogramDataModel model = new HistogramDataModel(nbBuckets);
- model.countEvent(0, 1 * interval, null);
- model.countEvent(1, 0 * interval, null);
-
- HistogramScaledData result = model.scaleTo(nbBuckets, maxHeight, 1);
-
- assertArrayEqualsInt(1, result.fData);
-
- testModelConsistency(model, nbBuckets, nbBuckets, interval, 0L, 0L, interval, nbBuckets * interval);
- }
-
- /**
- * Test method for {@link HistogramDataModel#scaleTo(int,int,int)}.
- */
- @Test
- public void testScaleTo_0() {
- HistogramDataModel model = new HistogramDataModel(10);
- try {
- model.scaleTo(10, 0, 1);
- } catch (AssertionError e1) {
- try {
- model.scaleTo(0, 10, 1);
- } catch (AssertionError e2) {
- try {
- model.scaleTo(0, 0, 1);
- } catch (AssertionError e3) {
- return;
- }
- }
- }
- fail("Uncaught assertion error");
- }
-
- /**
- * Test method for {@link HistogramDataModel#scaleTo(int,int,int)}.
- */
- @Test
- public void testScaleTo_1() {
- final int nbBuckets = 10;
- final int maxHeight = 10;
- final int nbEvents = nbBuckets / 2;
- final HistogramBucket[] expectedResult = new HistogramBucket[] { _1, _1, _1, _1, _1, _0, _0, _0, _0, _0 };
-
- HistogramDataModel model = new HistogramDataModel(nbBuckets);
- countEventsInModel(nbEvents, model);
-
- HistogramScaledData result = model.scaleTo(nbBuckets, maxHeight, 1);
-
- assertArrayEquals( expectedResult, result.fData);
-
- testModelConsistency(model, nbBuckets, nbEvents, 1, 0, 0, nbEvents - 1, nbBuckets);
- }
-
- /**
- * Test method for {@link HistogramDataModel#scaleTo(int,int,int)}.
- */
- @Test
- public void testScaleTo_2() {
- final int nbBuckets = 10;
- final int maxHeight = 10;
- final int nbEvents = nbBuckets;
- final HistogramBucket[] expectedResult = new HistogramBucket[] { _1, _1, _1, _1, _1, _1, _1, _1, _1, _1 };
-
- HistogramDataModel model = new HistogramDataModel(nbBuckets);
- countEventsInModel(nbEvents, model);
-
- HistogramScaledData result = model.scaleTo(nbBuckets, maxHeight, 1);
-
- assertArrayEquals(expectedResult, result.fData);
-
- testModelConsistency(model, nbBuckets, nbEvents, 1, 0, 0, nbEvents - 1, nbBuckets);
- }
-
- /**
- * Test method for {@link HistogramDataModel#scaleTo(int,int,int)}.
- */
- @Test
- public void testScaleTo_3() {
- final int nbBuckets = 10;
- final int maxHeight = 10;
- final int nbEvents = 2 * nbBuckets;
- final HistogramBucket[] expectedResult = new HistogramBucket[] { _2, _2, _2, _2, _2, _2, _2, _2, _2, _2 };
-
- HistogramDataModel model = new HistogramDataModel(nbBuckets);
- countEventsInModel(nbEvents, model);
-
- HistogramScaledData result = model.scaleTo(nbBuckets, maxHeight, 1);
-
- assertArrayEquals(expectedResult, result.fData);
-
- testModelConsistency(model, nbBuckets, nbEvents, 2, 0, 0, nbEvents - 1, 2 * nbBuckets);
- }
-
- /**
- * Test method for {@link HistogramDataModel#scaleTo(int,int,int)}.
- */
- @Test
- public void testScaleTo_4() {
- final int nbBuckets = 10;
- final int maxHeight = 10;
- final int nbEvents = 3 * nbBuckets;
- final HistogramBucket[] expectedResult = new HistogramBucket[] { _4, _4, _4, _4, _4, _4, _4, _2, _0, _0 };
-
- HistogramDataModel model = new HistogramDataModel(nbBuckets);
- countEventsInModel(nbEvents, model);
-
- HistogramScaledData result = model.scaleTo(nbBuckets, maxHeight, 1);
-
- assertArrayEquals(expectedResult, result.fData);
-
- testModelConsistency(model, nbBuckets, nbEvents, 4, 0, 0, nbEvents - 1, 4 * nbBuckets);
- }
-
- /**
- * Test method for {@link HistogramDataModel#scaleTo(int,int,int)}.
- */
- @Test
- public void testScaleTo_5() {
- final int nbBuckets = 100;
- final int maxHeight = 20;
- final int nbEvents = 2 * nbBuckets;
- final HistogramBucket[] expectedResult = new HistogramBucket[] { _20, _20, _20, _20, _20, _20, _20, _20, _20, _20 };
-
- HistogramDataModel model = new HistogramDataModel(nbBuckets);
- countEventsInModel(nbEvents, model);
-
- HistogramScaledData result = model.scaleTo(10, maxHeight, 1);
-
- assertArrayEquals(expectedResult, result.fData);
-
- testModelConsistency(model, nbBuckets, nbEvents, 2, 0, 0, nbEvents - 1, 2 * nbBuckets);
- }
-
- /**
- * Test method for {@link HistogramDataModel#scaleTo(int,int,int)}.
- */
- @Test
- public void testScaleTo_6() {
- final int nbBuckets = 100;
- final int maxHeight = 24;
- final int nbEvents = 2 * nbBuckets + 1;
- final HistogramBucket[] expectedResult = new HistogramBucket[] { _24, _24, _24, _24, _24, _24, _24, _24, _9, _0 };
-
- HistogramDataModel model = new HistogramDataModel(nbBuckets);
- countEventsInModel(nbEvents, model);
-
- HistogramScaledData result = model.scaleTo(10, maxHeight, 1);
-
- assertArrayEquals(expectedResult, result.fData);
-
- testModelConsistency(model, nbBuckets, nbEvents, 4, 0, 0, nbEvents - 1, 4 * nbBuckets);
- }
-
- /**
- * Test method for {@link HistogramDataModel#scaleTo(int,int,int)}.
- */
- @Test
- public void testScaleTo_7() {
- // verify scaleTo with barWidth > 1
- final int nbBuckets = 100;
- final int maxHeight = 24;
- final int width = 10;
- final int barWidth = 4;
- final int nbEvents = 2 * nbBuckets + 1;
-
- // (int)(width / barWith) = 2
- // -> 2 bars -> expected result needs two buckets (scaled data)
- //
- // buckets (in model) per bar = last bucket id / nbBars + 1 (plus 1 to
- // cover all used buckets)
- // -> buckets per bar = 50 / 2 + 1 = 26
- // -> first entry in expected result is 26 * 4 = 104
- // -> second entry in expected result is 22 * 4 + 9 = 97
- final HistogramBucket[] expectedResult = new HistogramBucket[] { new HistogramBucket(new int[] {104}) , new HistogramBucket(new int[] {97}) };
-
- HistogramDataModel model = new HistogramDataModel(nbBuckets);
- countEventsInModel(nbEvents, model);
-
- // verify scaled data
- HistogramScaledData result = model.scaleTo(width, maxHeight, barWidth);
-
- assertEquals(4 * 26, result.fBucketDuration);
- assertEquals(0, result.fSelectionBeginBucket);
- assertEquals(0, result.fSelectionEndBucket);
- assertEquals(0, result.fFirstBucketTime);
- assertEquals(0, result.fFirstEventTime);
- assertEquals(1, result.fLastBucket);
- assertEquals(104, result.fMaxValue);
- assertEquals((double) maxHeight / 104, result.fScalingFactor, DELTA);
- assertEquals(maxHeight, result.fHeight);
- assertEquals(width, result.fWidth);
- assertEquals(barWidth, result.fBarWidth);
-
- assertArrayEquals(expectedResult, result.fData);
-
- // verify model
- testModelConsistency(model, nbBuckets, nbEvents, 4, 0, 0, nbEvents - 1, 4 * nbBuckets);
- }
-
- /**
- * Test method for {@link HistogramDataModel#scaleTo(int,int,int)}.
- */
- @Test
- public void testScaleToReverse_1() {
- final int nbBuckets = 100;
- final int maxHeight = 24;
- final int width = 10;
- final int barWidth = 1;
- final int nbEvents = 2 * nbBuckets + 1;
-
- // (int)(width / barWith) = 10
- // -> 10 bars -> expected result needs 10 buckets (scaled data)
- //
- // buckets in (model) per bar = last bucket id / nbBars + 1 (plus 1 to
- // cover all used buckets)
- // -> buckets per bar = 50 / 10 + 1 = 6
- final HistogramBucket[] expectedResult = new HistogramBucket[] { new HistogramBucket(new int[] {21}), _24, _24, _24, _24, _24, _24, _24, new HistogramBucket(new int[] {12}), _0 };
-
- HistogramDataModel model = new HistogramDataModel(nbBuckets);
- countInvertedEvents(nbEvents, model);
-
- // verify scaled data
- HistogramScaledData result = model.scaleTo(width, maxHeight, barWidth);
-
- assertEquals(4 * 6, result.fBucketDuration);
- assertEquals(0, result.fSelectionBeginBucket);
- assertEquals(0, result.fSelectionEndBucket);
- assertEquals(-3, result.fFirstBucketTime); // negative is correct, can
- // happen when reverse
- assertEquals(0, result.fFirstEventTime);
- assertEquals(9, result.fLastBucket);
- assertEquals(24, result.fMaxValue);
- assertEquals((double) maxHeight / 24, result.fScalingFactor, DELTA);
- assertEquals(maxHeight, result.fHeight);
- assertEquals(width, result.fWidth);
- assertEquals(barWidth, result.fBarWidth);
-
- assertArrayEquals(expectedResult, result.fData);
-
- // verify model
- testModelConsistency(model, nbBuckets, nbEvents, 4, -3, 0, nbEvents - 1, -3 + 4 * nbBuckets);
- }
-
- private static void countInvertedEvents(final int nbEvents, HistogramDataModel model) {
- for (int i = nbEvents - 1; i >= 0; i--) {
- model.countEvent(i, i, null);
- }
- }
-
- /**
- * Test method for {@link HistogramDataModel#scaleTo(int,int,int)}.
- */
- @Test
- public void testScaleToReverse_2() {
- final int nbBuckets = 100;
- final int maxHeight = 24;
- final int width = 10;
- final int barWidth = 1;
-
- final int nbEvents = 2 * nbBuckets;
-
- HistogramDataModel model = new HistogramDataModel(nbBuckets);
- countEventsInModel(nbEvents, model);
-
- HistogramScaledData result = model.scaleTo(width, maxHeight, barWidth);
-
- model.clear();
-
- countInvertedEvents(nbEvents, model);
-
- HistogramScaledData revResult = model.scaleTo(width, maxHeight, barWidth);
-
- testModelConsistency(model, nbBuckets, nbEvents, 2, 0, 0, nbEvents - 1, 2 * nbBuckets);
-
- // For the above number of events, result and revResult are exactly the same.
-
- assertEquals(result.fBucketDuration, revResult.fBucketDuration);
- assertEquals(result.fSelectionBeginBucket, revResult.fSelectionBeginBucket);
- assertEquals(result.fSelectionEndBucket, revResult.fSelectionEndBucket);
- assertEquals(result.fFirstBucketTime, revResult.fFirstBucketTime);
- assertEquals(result.fMaxValue, revResult.fMaxValue);
- assertEquals(result.fScalingFactor, revResult.fScalingFactor, DELTA);
- assertEquals(result.fLastBucket, revResult.fLastBucket);
- assertEquals(result.getBucketEndTime(0), revResult.getBucketEndTime(0));
- assertEquals(result.getBucketStartTime(0), revResult.getBucketStartTime(0));
-
- assertArrayEquals(revResult.fData, result.fData);
- }
-
- /**
- * Test method for testing model listener.
- */
- @Test
- public void testModelListener() {
- final int nbBuckets = 2000;
- final int nbEvents = 10 * nbBuckets + 256;
- final int[] count = new int[1];
- count[0] = 0;
-
- // Test add listener and call of listener
- IHistogramModelListener listener = new IHistogramModelListener() {
- @Override
- public void modelUpdated() {
- count[0]++;
- }
- };
-
- // Test that the listener interface is called every 16000 events.
- HistogramDataModel model = new HistogramDataModel(nbBuckets);
- model.addHistogramListener(listener);
-
- countEventsInModel(nbEvents, model, 1);
-
- assertEquals(1, count[0]);
-
- // Test that the listener interface is called when complete is called.
- model.complete();
- assertEquals(2, count[0]);
-
- // Test that clear triggers call of listener interface
- model.clear();
- assertEquals(3, count[0]);
-
- // Test remove listener
- count[0] = 0;
- model.removeHistogramListener(listener);
-
- countEventsInModel(nbEvents, model);
- model.complete();
- assertEquals(0, count[0]);
- }
-
- /**
- * Test method for {@link HistogramDataModel#scaleTo(int,int,int)}.
- */
- @Test
- public void testLostEventsScaleTo_0() {
- final int nbBuckets = 10;
- final int maxHeight = 10;
- final int nbEvents = 3 * nbBuckets;
- final int nbLostEvents_0 = 4;
- final int nbLostEvents_1 = 9;
- final int nbCombinedEvents = nbEvents + 2;
- final HistogramBucket[] expectedResult = new HistogramBucket[] { _4, _4, _4, _4, _4, _4, _4, _2, _0, _0 };
- final int[] expectedLostEventsResult = new int[] { 0, 2, 2, 0, 3, 3, 3, 0, 0, 0 };
-
- HistogramDataModel model = new HistogramDataModel(nbBuckets);
- countEventsInModel(nbEvents, model);
-
- final TmfTimeRange timeRange_0 = new TmfTimeRange(
- new TmfTimestamp(5L, ITmfTimestamp.NANOSECOND_SCALE),
- new TmfTimestamp(10L, ITmfTimestamp.NANOSECOND_SCALE));
- model.countLostEvent(timeRange_0, nbLostEvents_0, false);
-
- final TmfTimeRange timeRange_1 = new TmfTimeRange(
- new TmfTimestamp(18L, ITmfTimestamp.NANOSECOND_SCALE),
- new TmfTimestamp(27L, ITmfTimestamp.NANOSECOND_SCALE));
- model.countLostEvent(timeRange_1, nbLostEvents_1, false);
-
- HistogramScaledData result = model.scaleTo(nbBuckets, maxHeight, 1);
-
- assertArrayEquals(expectedResult, result.fData);
-
- assertArrayEquals(expectedLostEventsResult, result.fLostEventsData);
-
- testModelConsistency(model, nbBuckets, nbCombinedEvents, 4, 0, 0, nbEvents - 1, 4 * nbBuckets);
- assertEquals(7, result.fMaxCombinedValue);
- }
-
- /**
- * Test method for {@link HistogramDataModel#scaleTo(int,int,int)}.
- */
- @Test
- public void testLostEventsScaleTo_1() {
- final int nbBuckets = 10;
- final int maxHeight = 10;
- final int nbEvents = 3 * nbBuckets;
- final int nbLostEvents_0 = 4;
- final int nbLostEvents_1 = 9;
- final int nbCombinedEvents = nbEvents + 2;
- final int[] expectedLostEventsResult = new int[] { 0, 2, 5, 3, 3, 0, 0, 0, 0, 0 };
-
- HistogramDataModel model = new HistogramDataModel(nbBuckets);
- countEventsInModel(nbEvents, model);
-
- final TmfTimeRange timeRange_0 = new TmfTimeRange(
- new TmfTimestamp(5L, ITmfTimestamp.NANOSECOND_SCALE),
- new TmfTimestamp(10L, ITmfTimestamp.NANOSECOND_SCALE));
- model.countLostEvent(timeRange_0, nbLostEvents_0, false);
-
- final TmfTimeRange timeRange_1 = new TmfTimeRange(
- new TmfTimestamp(11L, ITmfTimestamp.NANOSECOND_SCALE),
- new TmfTimestamp(18L, ITmfTimestamp.NANOSECOND_SCALE));
- model.countLostEvent(timeRange_1, nbLostEvents_1, false);
-
- HistogramScaledData result = model.scaleTo(nbBuckets, maxHeight, 1);
-
- assertArrayEquals(expectedLostEventsResult, result.fLostEventsData);
-
- testModelConsistency(model, nbBuckets, nbCombinedEvents, 4, 0, 0, nbEvents - 1, 4 * nbBuckets);
- assertEquals(9, result.fMaxCombinedValue);
- }
-
- /**
- * Test method for {@link HistogramDataModel#scaleTo(int,int,int)}.
- */
- @Test
- public void testLostEventsScaleTo_2() {
- final int nbBuckets = 10;
- final int maxHeight = 10;
- final int nbEvents = 3 * nbBuckets;
- final int nbLostEvents_0 = 5;
- final int nbLostEvents_1 = 15;
- final int nbLostEvents_2 = 2;
- final int nbCombinedEvents = nbEvents + 3;
- final int[] expectedLostEventsResult = new int[] { 0, 0, 3, 3, 6, 5, 3, 2, 0, 0 };
-
- HistogramDataModel model = new HistogramDataModel(nbBuckets);
- countEventsInModel(nbEvents, model);
-
- final TmfTimeRange timeRange_0 = new TmfTimeRange(
- new TmfTimestamp(18L, ITmfTimestamp.NANOSECOND_SCALE),
- new TmfTimestamp(22L, ITmfTimestamp.NANOSECOND_SCALE));
- model.countLostEvent(timeRange_0, nbLostEvents_0, false);
-
- final TmfTimeRange timeRange_2 = new TmfTimeRange(
- new TmfTimestamp(28L, ITmfTimestamp.NANOSECOND_SCALE),
- new TmfTimestamp(29L, ITmfTimestamp.NANOSECOND_SCALE));
- model.countLostEvent(timeRange_2, nbLostEvents_2, false);
-
- final TmfTimeRange timeRange_1 = new TmfTimeRange(
- new TmfTimestamp(11L, ITmfTimestamp.NANOSECOND_SCALE),
- new TmfTimestamp(26L, ITmfTimestamp.NANOSECOND_SCALE));
- model.countLostEvent(timeRange_1, nbLostEvents_1, false);
-
- HistogramScaledData result = model.scaleTo(nbBuckets, maxHeight, 1);
-
- assertArrayEquals(expectedLostEventsResult, result.fLostEventsData );
-
- testModelConsistency(model, nbBuckets, nbCombinedEvents, 4, 0, 0, nbEvents - 1, 4 * nbBuckets);
- assertEquals(10, result.fMaxCombinedValue);
- }
-
- /**
- * Test method for {@link HistogramDataModel#scaleTo(int,int,int)}.
- */
- @Test
- public void testLostEventsScaleTo_3() {
- final int nbBuckets = 10;
- final int maxHeight = 10;
- final int nbEvents = 3 * nbBuckets;
- final int nbLostEvents_0 = 23;
- final int nbCombinedEvents = nbEvents + 1;
- final int[] expectedLostEventsResult = new int[] { 0, 0, 5, 5, 5, 5, 3, 0, 0, 0 };
-
- HistogramDataModel model = new HistogramDataModel(nbBuckets);
- countEventsInModel(nbEvents, model);
-
- final TmfTimeRange timeRange_0 = new TmfTimeRange(
- new TmfTimestamp(11L, ITmfTimestamp.NANOSECOND_SCALE),
- new TmfTimestamp(26L, ITmfTimestamp.NANOSECOND_SCALE));
- model.countLostEvent(timeRange_0, nbLostEvents_0, false);
-
- HistogramScaledData result = model.scaleTo(nbBuckets, maxHeight, 1);
-
- assertArrayEquals(expectedLostEventsResult, result.fLostEventsData );
-
- testModelConsistency(model, nbBuckets, nbCombinedEvents, 4, 0, 0, nbEvents - 1, 4 * nbBuckets);
- assertEquals(9, result.fMaxCombinedValue);
- }
-
- /*
- * helpers
- */
-
- private static void countEventsInModel(final int nbEvents, HistogramDataModel model) {
- countEventsInModel(nbEvents, model, 0);
- }
-
- private static void countEventsInModel(final int nbEvents, HistogramDataModel model, int offset) {
- countEventsInModel(nbEvents, model, offset, 0);
- }
-
- private static void countEventsInModel(final int nbEvents, HistogramDataModel model, int offset, int startTime) {
- for (int i = startTime; i < nbEvents + startTime; i++) {
- model.countEvent(i + offset, i, null);
- }
- }
-
- private static void testModelConsistency(HistogramDataModel model, int numberOfBuckets, int nbEvents, long bucketduration, long firstBucketTime, long startTime, long endTime, long timeLimit) {
- assertEquals(numberOfBuckets, model.getNbBuckets());
- assertEquals(nbEvents, model.getNbEvents());
- assertEquals(bucketduration, model.getBucketDuration());
- assertEquals(firstBucketTime, model.getFirstBucketTime());
- assertEquals(startTime, model.getStartTime());
- assertEquals(endTime, model.getEndTime());
- assertEquals(timeLimit, model.getTimeLimit());
- }
-
- private static void assertArrayEqualsInt(final int val , HistogramBucket[] result) {
- assertArrayEqualsInt(val, result, 0);
- }
-
- private static void assertArrayEqualsInt(final int val , HistogramBucket[] result, int startVal ) {
- for (int i = startVal; i < result.length; i++) {
- assertEquals(val, result[i].getNbEvents());
- }
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui.tests/src/org/eclipse/linuxtools/tmf/ui/tests/project/model/AllTests.java b/lttng/org.eclipse.linuxtools.tmf.ui.tests/src/org/eclipse/linuxtools/tmf/ui/tests/project/model/AllTests.java
deleted file mode 100644
index cd58290922..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui.tests/src/org/eclipse/linuxtools/tmf/ui/tests/project/model/AllTests.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 École Polytechnique de Montréal
- *
- * 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:
- * Geneviève Bastien - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.tests.project.model;
-
-import org.junit.runner.RunWith;
-import org.junit.runners.Suite;
-
-/**
- * Test suite for org.eclipse.linuxtools.tmf.ui.project.model
- */
-@RunWith(Suite.class)
-@Suite.SuiteClasses({
- ProjectModelAnalysisTest.class,
- ProjectModelOutputTest.class,
- ProjectModelTraceTest.class,
- TraceAndExperimentTypeTest.class
-})
-public class AllTests {
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui.tests/src/org/eclipse/linuxtools/tmf/ui/tests/project/model/ProjectModelAnalysisTest.java b/lttng/org.eclipse.linuxtools.tmf.ui.tests/src/org/eclipse/linuxtools/tmf/ui/tests/project/model/ProjectModelAnalysisTest.java
deleted file mode 100644
index befa33fac7..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui.tests/src/org/eclipse/linuxtools/tmf/ui/tests/project/model/ProjectModelAnalysisTest.java
+++ /dev/null
@@ -1,161 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013, 2014 École Polytechnique de Montréal
- *
- * 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:
- * Geneviève Bastien - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.tests.project.model;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.fail;
-
-import java.util.List;
-import java.util.concurrent.TimeoutException;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.linuxtools.tmf.core.trace.ITmfTrace;
-import org.eclipse.linuxtools.tmf.ui.project.model.ITmfProjectModelElement;
-import org.eclipse.linuxtools.tmf.ui.project.model.TmfAnalysisElement;
-import org.eclipse.linuxtools.tmf.ui.project.model.TmfProjectElement;
-import org.eclipse.linuxtools.tmf.ui.project.model.TmfTraceElement;
-import org.eclipse.linuxtools.tmf.ui.tests.shared.ProjectModelTestData;
-import org.eclipse.linuxtools.tmf.ui.tests.stubs.analysis.TestAnalysisUi;
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Test;
-
-/**
- * Test suite for the {@link TmfAnalysisElement} class.
- *
- * @author Geneviève Bastien
- */
-public class ProjectModelAnalysisTest {
-
- /** ID of analysis module in UI */
- public static final String MODULE_UI = "org.eclipse.linuxtools.tmf.ui.tests.test";
- private TmfProjectElement fixture;
-
- /**
- * Perform pre-test initialization.
- */
- @Before
- public void setUp() {
- try {
- fixture = ProjectModelTestData.getFilledProject();
- } catch (CoreException e) {
- fail(e.getMessage());
- }
- }
-
- /**
- * Cleans up the project after tests have been executed
- */
- @After
- public void cleanUp() {
- ProjectModelTestData.deleteProject(fixture);
- }
-
- private TmfTraceElement getTraceElement() {
- TmfTraceElement trace = null;
- for (ITmfProjectModelElement element : fixture.getTracesFolder().getChildren()) {
- if (element instanceof TmfTraceElement) {
- TmfTraceElement traceElement = (TmfTraceElement) element;
- if (traceElement.getName().equals(ProjectModelTestData.getTraceName())) {
- trace = traceElement;
- }
- }
- }
- assertNotNull(trace);
- return trace;
- }
-
- /**
- * Test the getAvailableAnalysis() method
- */
- @Test
- public void testListAnalysis() {
- TmfTraceElement trace = getTraceElement();
-
- /* Make sure the analysis list is not empty */
- List<TmfAnalysisElement> analysisList = trace.getAvailableAnalysis();
- assertFalse(analysisList.isEmpty());
-
- /* Make sure TestAnalysisUi is there */
- TmfAnalysisElement analysis = null;
- for (TmfAnalysisElement analysisElement : analysisList) {
- if (analysisElement.getAnalysisId().equals(MODULE_UI)) {
- analysis = analysisElement;
- }
- }
- assertNotNull(analysis);
-
- assertEquals("Test analysis in UI", analysis.getName());
- }
-
- /**
- * Test if the list of available analysis is correctly populated by the
- * content provider
- */
- @Test
- public void testPopulate() {
- TmfTraceElement trace = getTraceElement();
-
- /* Make sure the analysis list is not empty */
- List<ITmfProjectModelElement> analysisList = trace.getChildren();
- assertFalse(analysisList.isEmpty());
-
- /* Make sure TestAnalysisUi is there */
- TmfAnalysisElement analysis = null;
- for (ITmfProjectModelElement element : analysisList) {
- if (element instanceof TmfAnalysisElement) {
- TmfAnalysisElement analysisElement = (TmfAnalysisElement) element;
- if (analysisElement.getAnalysisId().equals(MODULE_UI)) {
- analysis = analysisElement;
- }
- }
- }
- assertNotNull(analysis);
-
- assertEquals("Test analysis in UI", analysis.getName());
- }
-
- /**
- * Test the instantiateAnalysis method
- */
- @Test
- public void testInstantiate() {
- TmfTraceElement traceElement = getTraceElement();
-
- TmfAnalysisElement analysis = null;
- for (TmfAnalysisElement analysisElement : traceElement.getAvailableAnalysis()) {
- if (analysisElement.getAnalysisId().equals(MODULE_UI)) {
- analysis = analysisElement;
- }
- }
- assertNotNull(analysis);
-
- /* Instantiate an analysis on a trace that is closed */
- traceElement.closeEditors();
- analysis.activateParent();
-
- try {
- ProjectModelTestData.delayUntilTraceOpened(traceElement);
- } catch (TimeoutException e) {
- fail("The analysis parent did not open in a reasonable time");
- }
- ITmfTrace trace = traceElement.getTrace();
-
- assertNotNull(trace);
- TestAnalysisUi module = (TestAnalysisUi) trace.getAnalysisModule(analysis.getAnalysisId());
- assertNotNull(module);
-
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui.tests/src/org/eclipse/linuxtools/tmf/ui/tests/project/model/ProjectModelOutputTest.java b/lttng/org.eclipse.linuxtools.tmf.ui.tests/src/org/eclipse/linuxtools/tmf/ui/tests/project/model/ProjectModelOutputTest.java
deleted file mode 100644
index 108e1d7b8e..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui.tests/src/org/eclipse/linuxtools/tmf/ui/tests/project/model/ProjectModelOutputTest.java
+++ /dev/null
@@ -1,171 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 École Polytechnique de Montréal
- *
- * 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:
- * Geneviève Bastien - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.tests.project.model;
-
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertTrue;
-import static org.junit.Assert.fail;
-
-import java.util.List;
-import java.util.concurrent.TimeoutException;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.linuxtools.tmf.ui.project.model.ITmfProjectModelElement;
-import org.eclipse.linuxtools.tmf.ui.project.model.TmfAnalysisElement;
-import org.eclipse.linuxtools.tmf.ui.project.model.TmfAnalysisOutputElement;
-import org.eclipse.linuxtools.tmf.ui.project.model.TmfProjectElement;
-import org.eclipse.linuxtools.tmf.ui.project.model.TmfTraceElement;
-import org.eclipse.linuxtools.tmf.ui.tests.shared.ProjectModelTestData;
-import org.eclipse.linuxtools.tmf.ui.tests.stubs.analysis.TestAnalysisUi;
-import org.eclipse.ui.IViewPart;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.PlatformUI;
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Test;
-
-/**
- * Test suite for the {@link TmfAnalysisOutputElement} class.
- *
- * @author Geneviève Bastien
- */
-public class ProjectModelOutputTest {
-
- private TmfProjectElement fixture;
-
- /**
- * Perform pre-test initialization.
- */
- @Before
- public void setUp() {
- try {
- fixture = ProjectModelTestData.getFilledProject();
- } catch (CoreException e) {
- fail(e.getMessage());
- }
- }
-
- /**
- * Cleans up the project after tests have been executed
- */
- @After
- public void cleanUp() {
- ProjectModelTestData.deleteProject(fixture);
- }
-
- private TmfTraceElement getTraceElement() {
- TmfTraceElement trace = null;
- for (ITmfProjectModelElement element : fixture.getTracesFolder().getChildren()) {
- if (element instanceof TmfTraceElement) {
- TmfTraceElement traceElement = (TmfTraceElement) element;
- if (traceElement.getName().equals(ProjectModelTestData.getTraceName())) {
- trace = traceElement;
- }
- }
- }
- assertNotNull(trace);
- return trace;
- }
-
- private TmfAnalysisElement getTestAnalysisUi() {
- TmfTraceElement trace = getTraceElement();
-
- /* Make sure the analysis list is not empty */
- List<TmfAnalysisElement> analysisList = trace.getAvailableAnalysis();
- assertFalse(analysisList.isEmpty());
-
- /* Make sure TestAnalysisUi is there */
- TmfAnalysisElement analysis = null;
- for (TmfAnalysisElement analysisElement : analysisList) {
- if (analysisElement.getAnalysisId().equals(ProjectModelAnalysisTest.MODULE_UI)) {
- analysis = analysisElement;
- }
- }
- assertNotNull(analysis);
- return analysis;
- }
-
- /**
- * Test the getAvailableOutputs() method
- */
- @Test
- public void testListOutputs() {
- TmfAnalysisElement analysis = getTestAnalysisUi();
-
- /* To get the list of outputs the trace needs to be opened */
- analysis.activateParent();
- try {
- ProjectModelTestData.delayUntilTraceOpened(analysis.getParent());
- } catch (TimeoutException e) {
- fail("The analysis parent did not open in a reasonable time");
- }
-
- /* Make sure the output list is not empty */
- List<TmfAnalysisOutputElement> outputList = analysis.getAvailableOutputs();
- assertFalse(outputList.isEmpty());
- boolean found = false;
- for (ITmfProjectModelElement element : outputList) {
- if (element instanceof TmfAnalysisOutputElement) {
- TmfAnalysisOutputElement outputElement = (TmfAnalysisOutputElement) element;
- if (outputElement.getName().equals("Test Analysis View")) {
- found = true;
- }
- }
- }
- assertTrue(found);
- }
-
- /**
- * Test the outputAnalysis method for a view
- */
- @Test
- public void testOpenView() {
- TmfAnalysisElement analysis = getTestAnalysisUi();
-
- analysis.activateParent();
- try {
- ProjectModelTestData.delayUntilTraceOpened(analysis.getParent());
- } catch (TimeoutException e) {
- fail("The analysis parent did not open in a reasonable time");
- }
-
- List<TmfAnalysisOutputElement> outputList = analysis.getAvailableOutputs();
- assertFalse(outputList.isEmpty());
-
- final IWorkbench wb = PlatformUI.getWorkbench();
- final IWorkbenchPage activePage = wb.getActiveWorkbenchWindow().getActivePage();
-
- IViewPart view = activePage.findView(TestAnalysisUi.VIEW_ID);
- if (view != null) {
- activePage.hideView(view);
- }
-
- TmfAnalysisOutputElement outputElement = null;
- for (ITmfProjectModelElement element : outputList) {
- if (element instanceof TmfAnalysisOutputElement) {
- TmfAnalysisOutputElement el = (TmfAnalysisOutputElement) element;
- if (el.getName().equals("Test Analysis View")) {
- outputElement = el;
- }
- }
- }
- assertNotNull(outputElement);
-
- outputElement.outputAnalysis();
- ProjectModelTestData.delayThread(1000);
- view = activePage.findView(TestAnalysisUi.VIEW_ID);
- assertNotNull(view);
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui.tests/src/org/eclipse/linuxtools/tmf/ui/tests/project/model/ProjectModelTraceTest.java b/lttng/org.eclipse.linuxtools.tmf.ui.tests/src/org/eclipse/linuxtools/tmf/ui/tests/project/model/ProjectModelTraceTest.java
deleted file mode 100644
index 50b7291863..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui.tests/src/org/eclipse/linuxtools/tmf/ui/tests/project/model/ProjectModelTraceTest.java
+++ /dev/null
@@ -1,110 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 École Polytechnique de Montréal
- *
- * 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:
- * Geneviève Bastien - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.tests.project.model;
-
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertNull;
-import static org.junit.Assert.assertTrue;
-import static org.junit.Assert.fail;
-
-import java.util.concurrent.TimeoutException;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.linuxtools.tmf.core.trace.ITmfTrace;
-import org.eclipse.linuxtools.tmf.core.trace.TmfTraceManager;
-import org.eclipse.linuxtools.tmf.ui.project.model.TmfOpenTraceHelper;
-import org.eclipse.linuxtools.tmf.ui.project.model.TmfProjectElement;
-import org.eclipse.linuxtools.tmf.ui.project.model.TmfTraceElement;
-import org.eclipse.linuxtools.tmf.ui.tests.shared.ProjectModelTestData;
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Test;
-
-/**
- * Test suite for the TmfTraceElement class.
- *
- * @author Geneviève Bastien
- */
-public class ProjectModelTraceTest {
-
- private TmfProjectElement fixture;
-
- /**
- * Perform pre-test initialization.
- */
- @Before
- public void setUp() {
- try {
- fixture = ProjectModelTestData.getFilledProject();
- } catch (CoreException e) {
- fail(e.getMessage());
- }
- }
-
- /**
- * Cleans up the project after tests have been executed
- */
- @After
- public void cleanUp() {
- ProjectModelTestData.deleteProject(fixture);
- }
-
- /**
- * Test the getTrace() and trace opening
- */
- @Test
- public void testOpenTrace() {
- assertNotNull(fixture);
-
- final TmfTraceElement traceElement = fixture.getTracesFolder().getTraces().get(0);
-
- /*
- * Get the trace from the element, it is not opened yet, should be null
- */
- ITmfTrace trace = traceElement.getTrace();
- assertNull(trace);
-
- TmfOpenTraceHelper.openTraceFromElement(traceElement);
-
- /* Give the trace a chance to open */
- try {
- ProjectModelTestData.delayUntilTraceOpened(traceElement);
- } catch (TimeoutException e) {
- fail("The trace did not open in a reasonable delay");
- }
-
- trace = traceElement.getTrace();
- assertNotNull(trace);
-
- /*
- * Open the trace from project, then get from element, both should be
- * the exact same element as the active trace
- */
- TmfOpenTraceHelper.openTraceFromElement(traceElement);
- try {
- ProjectModelTestData.delayUntilTraceOpened(traceElement);
- } catch (TimeoutException e) {
- fail("The trace did not open in a reasonable delay");
- }
-
- ITmfTrace trace2 = TmfTraceManager.getInstance().getActiveTrace();
-
- /* The trace was reopened, it should be the same as before */
- assertTrue(trace2 == trace);
-
- /* Here, the getTrace() should return the same as active trace */
- trace = traceElement.getTrace();
- assertTrue(trace2 == trace);
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui.tests/src/org/eclipse/linuxtools/tmf/ui/tests/project/model/TraceAndExperimentTypeTest.java b/lttng/org.eclipse.linuxtools.tmf.ui.tests/src/org/eclipse/linuxtools/tmf/ui/tests/project/model/TraceAndExperimentTypeTest.java
deleted file mode 100644
index 1d533b14e3..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui.tests/src/org/eclipse/linuxtools/tmf/ui/tests/project/model/TraceAndExperimentTypeTest.java
+++ /dev/null
@@ -1,199 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 École Polytechnique de Montréal
- *
- * 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:
- * Geneviève Bastien - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.tests.project.model;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertTrue;
-import static org.junit.Assert.fail;
-
-import java.util.concurrent.TimeoutException;
-
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.linuxtools.tmf.core.TmfCommonConstants;
-import org.eclipse.linuxtools.tmf.core.project.model.TmfTraceType;
-import org.eclipse.linuxtools.tmf.core.trace.ITmfTrace;
-import org.eclipse.linuxtools.tmf.core.trace.TmfExperiment;
-import org.eclipse.linuxtools.tmf.tests.stubs.trace.TmfExperimentStub;
-import org.eclipse.linuxtools.tmf.ui.editors.TmfEventsEditor;
-import org.eclipse.linuxtools.tmf.ui.project.model.TmfExperimentElement;
-import org.eclipse.linuxtools.tmf.ui.project.model.TmfOpenTraceHelper;
-import org.eclipse.linuxtools.tmf.ui.project.model.TmfProjectElement;
-import org.eclipse.linuxtools.tmf.ui.tests.experiment.type.TmfEventsEditorStub;
-import org.eclipse.linuxtools.tmf.ui.tests.shared.ProjectModelTestData;
-import org.eclipse.linuxtools.tmf.ui.viewers.events.TmfEventsTable;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.PlatformUI;
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Test;
-
-/**
- * Some unit tests for trace types and experiment types
- *
- * @author Geneviève Bastien
- */
-public class TraceAndExperimentTypeTest {
-
- /** Test experiment type id */
- public final static String TEST_EXPERIMENT_TYPE = "org.eclipse.linuxtools.tmf.core.tests.experimenttype";
-
- private TmfProjectElement fixture;
- private TmfExperimentElement fExperiment;
- private final String EXPERIMENT_NAME = "exp_test";
-
- /**
- * Perform pre-test initialization.
- */
- @Before
- public void setUp() {
- try {
- fixture = ProjectModelTestData.getFilledProject();
- fExperiment = ProjectModelTestData.addExperiment(fixture, EXPERIMENT_NAME);
- assertNotNull(fExperiment);
- } catch (CoreException e) {
- fail(e.getMessage());
- }
- }
-
- /**
- * Cleans up the project after tests have been executed
- */
- @After
- public void cleanUp() {
- ProjectModelTestData.deleteProject(fixture);
- }
-
- /**
- * Test whether a newly created experiment has the default experiment type,
- * even though none was specified
- */
- @Test
- public void testDefaultExperimentType() {
- TmfExperimentElement experimentElement = ProjectModelTestData.addExperiment(fixture, "testDefaultExpType");
- assertNotNull(experimentElement);
- TmfExperiment experiment = experimentElement.instantiateTrace();
- assertNotNull(experiment);
- assertEquals(TmfTraceType.DEFAULT_EXPERIMENT_TYPE, experimentElement.getTraceType());
- }
-
- /**
- * Test that the experiment opened is of the right class
- */
- @Test
- public void testExperimentType() {
-
- IResource resource = fExperiment.getResource();
- try {
- resource.setPersistentProperty(TmfCommonConstants.TRACETYPE, TEST_EXPERIMENT_TYPE);
- fExperiment.refreshTraceType();
- } catch (CoreException e) {
- fail(e.getMessage());
- }
-
- TmfOpenTraceHelper.openTraceFromElement(fExperiment);
- try {
- ProjectModelTestData.delayUntilTraceOpened(fExperiment);
- } catch (TimeoutException e1) {
- fail (e1.getMessage());
- }
-
- ITmfTrace trace = fExperiment.getTrace();
- assertTrue(trace instanceof TmfExperimentStub);
- }
-
- /**
- * Test that event editor, event table and statistics viewer are the default
- * ones for a generic experiment
- */
- @Test
- public void testNoExperimentTypeChildren() {
- TmfOpenTraceHelper.openTraceFromElement(fExperiment);
-
- try {
- ProjectModelTestData.delayUntilTraceOpened(fExperiment);
- } catch (TimeoutException e1) {
- fail (e1.getMessage());
- }
-
- final IWorkbench wb = PlatformUI.getWorkbench();
- final IWorkbenchPage activePage = wb.getActiveWorkbenchWindow().getActivePage();
- IEditorPart editor = activePage.getActiveEditor();
-
- /* Test the editor class. Cannot test table class since it is unexposed */
- assertNotNull(editor);
- assertTrue(editor.getClass().equals(TmfEventsEditor.class));
- }
-
- /**
- * Test that event editor, event table and statistics viewer are built
- * correctly when specified
- */
- @Test
- public void testExperimentTypeChildren() {
-
- /* Set the trace type of the experiment */
- IResource resource = fExperiment.getResource();
- try {
- resource.setPersistentProperty(TmfCommonConstants.TRACETYPE, TEST_EXPERIMENT_TYPE);
- fExperiment.refreshTraceType();
- } catch (CoreException e) {
- fail(e.getMessage());
- }
-
- TmfOpenTraceHelper.openTraceFromElement(fExperiment);
-
- ProjectModelTestData.delayThread(500);
-
- /* Test the editor class */
- final IWorkbench wb = PlatformUI.getWorkbench();
- final IWorkbenchPage activePage = wb.getActiveWorkbenchWindow().getActivePage();
- IEditorPart editor = activePage.getActiveEditor();
-
- assertNotNull(editor);
- assertTrue(editor.getClass().equals(TmfEventsEditorStub.class));
-
- /* Test the event table class */
- TmfEventsEditorStub editorStub = (TmfEventsEditorStub) editor;
- TmfEventsTable table = editorStub.getNewEventsTable();
-
- assertNotNull(table);
- assertTrue(table.getClass().equals(TmfEventsTable.class));
-
- }
-
- /**
- * Test that the analysis get populated under an experiment of the proper type
- */
- @Test
- public void testExperimentTypeAnalysis() {
-
- /* Set the trace type of the experiment */
- IResource resource = fExperiment.getResource();
- try {
- resource.setPersistentProperty(TmfCommonConstants.TRACETYPE, TEST_EXPERIMENT_TYPE);
- fExperiment.refreshTraceType();
- } catch (CoreException e) {
- fail(e.getMessage());
- }
-
- /* Force the refresh of the experiment */
- fExperiment.getParent().refresh();
- assertFalse(fExperiment.getAvailableAnalysis().isEmpty());
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui.tests/src/org/eclipse/linuxtools/tmf/ui/tests/statistics/AllTests.java b/lttng/org.eclipse.linuxtools.tmf.ui.tests/src/org/eclipse/linuxtools/tmf/ui/tests/statistics/AllTests.java
deleted file mode 100644
index c1f8a1986e..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui.tests/src/org/eclipse/linuxtools/tmf/ui/tests/statistics/AllTests.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011, 2013 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:
- * Mathieu Denis <mathieu.denis@polymtl.ca> - Initial API and Implementation
- * Bernd Hufmann - Fixed suite name
- * Alexandre Montplaisir - Port to JUnit4
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.tests.statistics;
-
-import org.junit.runner.RunWith;
-import org.junit.runners.Suite;
-
-/**
- * Test suite for statistic tests.
- */
-@RunWith(Suite.class)
-@Suite.SuiteClasses({
- TmfBaseColumnDataProviderTest.class,
- TmfBaseColumnDataTest.class,
- TmfBaseStatisticsDataTest.class,
- TmfStatisticsTest.class,
- TmfStatisticsTreeNodeTest.class,
- TmfStatisticsTreeManagerTest.class,
- TmfTreeContentProviderTest.class
-})
-public class AllTests {
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui.tests/src/org/eclipse/linuxtools/tmf/ui/tests/statistics/TmfBaseColumnDataProviderTest.java b/lttng/org.eclipse.linuxtools.tmf.ui.tests/src/org/eclipse/linuxtools/tmf/ui/tests/statistics/TmfBaseColumnDataProviderTest.java
deleted file mode 100644
index f774433b7b..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui.tests/src/org/eclipse/linuxtools/tmf/ui/tests/statistics/TmfBaseColumnDataProviderTest.java
+++ /dev/null
@@ -1,173 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011, 2013 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:
- * Mathieu Denis <mathieu.denis@polymtl.ca> - Initial API and Implementation
- * Bernd Hufmann - Fixed header and warnings
- * Alexandre Montplaisir - Port to JUnit4
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.tests.statistics;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertNull;
-import static org.junit.Assert.assertTrue;
-
-import java.util.List;
-
-import org.eclipse.jface.viewers.ColumnLabelProvider;
-import org.eclipse.jface.viewers.ViewerComparator;
-import org.eclipse.linuxtools.tmf.core.event.ITmfEvent;
-import org.eclipse.linuxtools.tmf.core.event.ITmfEventField;
-import org.eclipse.linuxtools.tmf.core.event.TmfEvent;
-import org.eclipse.linuxtools.tmf.core.event.TmfEventField;
-import org.eclipse.linuxtools.tmf.core.event.TmfEventType;
-import org.eclipse.linuxtools.tmf.core.timestamp.TmfTimestamp;
-import org.eclipse.linuxtools.tmf.ui.viewers.statistics.model.Messages;
-import org.eclipse.linuxtools.tmf.ui.viewers.statistics.model.TmfBaseColumnData;
-import org.eclipse.linuxtools.tmf.ui.viewers.statistics.model.TmfBaseColumnData.ITmfColumnPercentageProvider;
-import org.eclipse.linuxtools.tmf.ui.viewers.statistics.model.TmfBaseColumnDataProvider;
-import org.eclipse.linuxtools.tmf.ui.viewers.statistics.model.TmfStatisticsTree;
-import org.eclipse.linuxtools.tmf.ui.viewers.statistics.model.TmfStatisticsTreeNode;
-import org.junit.Test;
-
-/**
- * TmfBaseColumnDataProvider test cases.
- *
- */
-public class TmfBaseColumnDataProviderTest {
-
- // ------------------------------------------------------------------------
- // Fields
- // ------------------------------------------------------------------------
-
- private static final double DELTA = 1e-15;
-
- private final static String LEVEL_COLUMN = Messages.TmfStatisticsView_LevelColumn;
- private final static String EVENTS_COUNT_COLUMN = Messages.TmfStatisticsView_NbEventsColumn;
-
- private TmfBaseColumnDataProvider provider;
-
- private static final String fTestName = "ColumnDataProviderTest";
-
- private final String fContext = "UnitTest";
-
- private final String fTypeId1 = "Some type1";
- private final String fTypeId2 = "Some type2";
-
- private final String fLabel0 = "label1";
- private final String fLabel1 = "label2";
- private final String fLabel2 = "label3";
- private final String[] fLabels = new String[] { fLabel0, fLabel1, fLabel2 };
-
- private final TmfTimestamp fTimestamp1 = new TmfTimestamp(12345, (byte) 2, 5);
- private final TmfTimestamp fTimestamp2 = new TmfTimestamp(12350, (byte) 2, 5);
- private final TmfTimestamp fTimestamp3 = new TmfTimestamp(12355, (byte) 2, 5);
-
- private final String fSource = "Source";
-
- private final TmfEventType fType1 = new TmfEventType(fContext, fTypeId1, TmfEventField.makeRoot(fLabels));
- private final TmfEventType fType2 = new TmfEventType(fContext, fTypeId1, TmfEventField.makeRoot(fLabels));
- private final TmfEventType fType3 = new TmfEventType(fContext, fTypeId2, TmfEventField.makeRoot(fLabels));
-
- private final String fReference = "Some reference";
-
- private final ITmfEvent fEvent1;
- private final ITmfEvent fEvent2;
- private final ITmfEvent fEvent3;
-
- private final TmfEventField fContent1;
- private final TmfEventField fContent2;
- private final TmfEventField fContent3;
-
- private final TmfStatisticsTree fStatsData;
-
- // ------------------------------------------------------------------------
- // Housekeeping
- // ------------------------------------------------------------------------
-
- /**
- * Constructor
- */
- public TmfBaseColumnDataProviderTest() {
- fContent1 = new TmfEventField(ITmfEventField.ROOT_FIELD_ID, "Some content", null);
- fEvent1 = new TmfEvent(null, fTimestamp1, fSource, fType1, fContent1, fReference);
-
- fContent2 = new TmfEventField(ITmfEventField.ROOT_FIELD_ID, "Some other content", null);
- fEvent2 = new TmfEvent(null, fTimestamp2, fSource, fType2, fContent2, fReference);
-
- fContent3 = new TmfEventField(ITmfEventField.ROOT_FIELD_ID, "Some other different content", null);
- fEvent3 = new TmfEvent(null, fTimestamp3, fSource, fType3, fContent3, fReference);
-
- fStatsData = new TmfStatisticsTree();
-
- fStatsData.getOrCreateNode(fTestName, Messages.TmfStatisticsData_EventTypes);
-
- fStatsData.setTotal(fTestName, true, 3);
- fStatsData.setTypeCount(fTestName, fEvent1.getType().getName(), true, 1);
- fStatsData.setTypeCount(fTestName, fEvent2.getType().getName(), true, 1);
- fStatsData.setTypeCount(fTestName, fEvent3.getType().getName(), true, 1);
-
- provider = new TmfBaseColumnDataProvider();
- }
-
- // ------------------------------------------------------------------------
- // Get Column Data
- // ------------------------------------------------------------------------
-
- /**
- * Method with test cases.
- */
- @Test
- public void testGetColumnData() {
- List<TmfBaseColumnData> columnsData = provider.getColumnData();
- assertNotNull("getColumnData", columnsData);
- assertEquals("getColumnData", 4, columnsData.size());
-
- TmfStatisticsTreeNode parentNode = fStatsData.getNode(fTestName);
- TmfStatisticsTreeNode treeNode1 = fStatsData.getNode(fTestName, Messages.TmfStatisticsData_EventTypes, fEvent1.getType().getName());
- TmfStatisticsTreeNode treeNode2 = fStatsData.getNode(fTestName, Messages.TmfStatisticsData_EventTypes, fEvent3.getType().getName());
- ViewerComparator vComp = null;
- for (TmfBaseColumnData columnData : columnsData) {
- assertNotNull("getColumnData", columnData);
- assertNotNull("getColumnData", columnData.getHeader());
- assertNotNull("getColumnData", columnData.getTooltip());
-
- // Testing labelProvider
- ColumnLabelProvider labelProvider = columnData.getLabelProvider();
- if (columnData.getHeader().compareTo(LEVEL_COLUMN) == 0) {
- assertEquals("getColumnData", 0, labelProvider.getText(treeNode1).compareTo(treeNode1.getName()));
- } else if (columnData.getHeader().compareTo(EVENTS_COUNT_COLUMN) == 0) {
- // might not work because of machine local number format
- assertEquals("getColumnData", "1", labelProvider.getText(treeNode1));
- }
-
- // Testing comparator
- vComp = columnData.getComparator();
- if (columnData.getHeader().compareTo(LEVEL_COLUMN) == 0) {
- assertTrue("getColumnData", vComp.compare(null, treeNode1, treeNode2) < 0);
- assertTrue("getColumnData", vComp.compare(null, treeNode2, treeNode1) > 0);
- assertTrue("getColumnData", vComp.compare(null, treeNode1, treeNode1) == 0);
- } else if (columnData.getHeader().compareTo(EVENTS_COUNT_COLUMN) == 0) {
- assertTrue("getColumnData", vComp.compare(null, treeNode1, treeNode2) == 0);
- assertTrue("getColumnData", vComp.compare(null, treeNode2, treeNode1) == 0);
- assertTrue("getColumnData", vComp.compare(null, treeNode1, treeNode1) == 0);
- }
-
- // Testing percentage provider
- ITmfColumnPercentageProvider percentProvider = columnData.getPercentageProvider();
- if (columnData.getHeader().compareTo(LEVEL_COLUMN) == 0) {
- assertNull("getColumnData", percentProvider);
- } else if (columnData.getHeader().compareTo(EVENTS_COUNT_COLUMN) == 0) {
- double percentage = (double) treeNode1.getValues().getTotal() / parentNode.getValues().getTotal();
- assertEquals("getColumnData", percentage, percentProvider.getPercentage(treeNode1), DELTA);
- }
- }
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui.tests/src/org/eclipse/linuxtools/tmf/ui/tests/statistics/TmfBaseColumnDataTest.java b/lttng/org.eclipse.linuxtools.tmf.ui.tests/src/org/eclipse/linuxtools/tmf/ui/tests/statistics/TmfBaseColumnDataTest.java
deleted file mode 100755
index 72d6b492ec..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui.tests/src/org/eclipse/linuxtools/tmf/ui/tests/statistics/TmfBaseColumnDataTest.java
+++ /dev/null
@@ -1,169 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011, 2013 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:
- * Mathieu Denis <mathieu.denis@polymtl.ca> - Initial design and implementation
- * Alexandre Montplaisir - Port to JUnit4
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.tests.statistics;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertTrue;
-
-import org.eclipse.jface.viewers.ColumnLabelProvider;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.jface.viewers.ViewerComparator;
-import org.eclipse.linuxtools.tmf.ui.viewers.statistics.model.TmfBaseColumnData;
-import org.eclipse.linuxtools.tmf.ui.viewers.statistics.model.TmfBaseColumnData.ITmfColumnPercentageProvider;
-import org.eclipse.linuxtools.tmf.ui.viewers.statistics.model.TmfStatisticsTree;
-import org.eclipse.linuxtools.tmf.ui.viewers.statistics.model.TmfStatisticsTreeNode;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.ui.ISharedImages;
-import org.eclipse.ui.PlatformUI;
-import org.junit.Before;
-import org.junit.Test;
-
-/**
- * TmfBaseColumnData Test Case.
- */
-public class TmfBaseColumnDataTest {
-
- // ------------------------------------------------------------------------
- // Fields
- // ------------------------------------------------------------------------
-
- private int fAlignment;
- private int fWidth;
- private String fHeader;
- private String fToolTip;
- private ColumnLabelProvider fLabelProvider;
- private ViewerComparator fComparator;
- private ITmfColumnPercentageProvider fPercentageProvider;
- private TmfStatisticsTreeNode fTreeNode;
- private String fTraceName;
- private TmfBaseColumnData fBaseColumnData;
-
- // ------------------------------------------------------------------------
- // Housekeeping
- // ------------------------------------------------------------------------
-
- /**
- * Pre-test setup
- */
- @Before
- public void init() {
- fHeader = "test Column1";
- fWidth = 300;
- fAlignment = SWT.LEFT;
- fToolTip = "Tooltip " + fHeader;
- fLabelProvider = new ColumnLabelProvider() {
- @Override
- public String getText(Object element) {
- return ((TmfStatisticsTreeNode) element).getName();
- }
-
- @Override
- public Image getImage(Object element) {
- return PlatformUI.getWorkbench().getSharedImages().getImage(ISharedImages.IMG_OBJ_ELEMENT);
- }
- };
- fComparator = new ViewerComparator() {
- @Override
- public int compare(Viewer viewer, Object e1, Object e2) {
- TmfStatisticsTreeNode n1 = (TmfStatisticsTreeNode) e1;
- TmfStatisticsTreeNode n2 = (TmfStatisticsTreeNode) e2;
-
- return n1.getName().compareTo(n2.getName());
- }
- };
- fPercentageProvider = new ITmfColumnPercentageProvider() {
- @Override
- public double getPercentage(TmfStatisticsTreeNode node) {
- TmfStatisticsTreeNode parent = node;
- do {
- parent = parent.getParent();
- } while (parent != null && parent.getValues().getTotal() == 0);
-
- if (parent == null) {
- return 0;
- }
- return (double) node.getValues().getTotal() / parent.getValues().getTotal();
- }
- };
-
- TmfStatisticsTree baseData = new TmfStatisticsTree();
- fTraceName = "trace1";
- fTreeNode = new TmfStatisticsTreeNode(baseData, baseData.getRootNode(), fTraceName);
-
- fBaseColumnData = new TmfBaseColumnData(fHeader, fWidth, fAlignment, fToolTip, fLabelProvider, fComparator, fPercentageProvider);
- }
-
- // ------------------------------------------------------------------------
- // Test methods
- // ------------------------------------------------------------------------
-
- /**
- * Test get header
- */
- @Test
- public void testGetHeader() {
- assertEquals("getHeader", 0, fBaseColumnData.getHeader().compareTo(fHeader));
- }
-
- /**
- * Test getting of column width.
- */
- @Test
- public void testGetWidth() {
- assertEquals("getWidth", fWidth, fBaseColumnData.getWidth());
- }
-
- /**
- * Test getting of alignment value
- */
- @Test
- public void testGetAlignment() {
- assertEquals("getAlignment", fAlignment, fBaseColumnData.getAlignment());
- }
-
- /**
- * Test getting of tooltip.
- */
- @Test
- public void testGetTooltip() {
- assertEquals("getTooltip", fToolTip, fBaseColumnData.getTooltip());
- }
-
- /**
- * Test getting of label provider
- */
- @Test
- public void testGetLabelProvider() {
- assertEquals("getLabelProvider", 0, fBaseColumnData.getLabelProvider().getText(fTreeNode).compareTo(fLabelProvider.getText(fTreeNode)));
- assertTrue("getLabelProvider", fBaseColumnData.getLabelProvider().getImage(fTreeNode).equals(PlatformUI.getWorkbench().getSharedImages().getImage(ISharedImages.IMG_OBJ_ELEMENT)));
- assertTrue("getLabelProvider", fBaseColumnData.getLabelProvider().equals(fLabelProvider));
- }
-
- /**
- * Test getting of comparator.
- */
- @Test
- public void testGetComparator() {
- assertTrue("getComparator", fBaseColumnData.getComparator().equals(fComparator));
- }
-
- /**
- * Test getting of percentage provider.
- */
- @Test
- public void testGetPercentageProvider() {
- assertTrue("getPercentageProvider", fBaseColumnData.getPercentageProvider().equals(fPercentageProvider));
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui.tests/src/org/eclipse/linuxtools/tmf/ui/tests/statistics/TmfBaseStatisticsDataTest.java b/lttng/org.eclipse.linuxtools.tmf.ui.tests/src/org/eclipse/linuxtools/tmf/ui/tests/statistics/TmfBaseStatisticsDataTest.java
deleted file mode 100755
index c00ed83053..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui.tests/src/org/eclipse/linuxtools/tmf/ui/tests/statistics/TmfBaseStatisticsDataTest.java
+++ /dev/null
@@ -1,238 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011, 2013 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:
- * Mathieu Denis <mathieu.denis@polymtl.ca> - Initial design and implementation
- * Bernd Hufmann - Fixed warnings
- * Alexandre Montplaisir - Port to JUnit4
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.tests.statistics;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertNull;
-import static org.junit.Assert.assertTrue;
-import static org.junit.Assert.fail;
-
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.Iterator;
-import java.util.Vector;
-
-import org.eclipse.linuxtools.tmf.core.event.ITmfEvent;
-import org.eclipse.linuxtools.tmf.core.event.ITmfEventField;
-import org.eclipse.linuxtools.tmf.core.event.TmfEvent;
-import org.eclipse.linuxtools.tmf.core.event.TmfEventField;
-import org.eclipse.linuxtools.tmf.core.event.TmfEventType;
-import org.eclipse.linuxtools.tmf.core.timestamp.TmfTimestamp;
-import org.eclipse.linuxtools.tmf.ui.viewers.statistics.model.Messages;
-import org.eclipse.linuxtools.tmf.ui.viewers.statistics.model.TmfStatisticsTree;
-import org.eclipse.linuxtools.tmf.ui.viewers.statistics.model.TmfStatisticsTreeNode;
-import org.junit.Test;
-
-/**
- * TmfBaseStatistics Test Cases.
- */
-public class TmfBaseStatisticsDataTest {
-
- // ------------------------------------------------------------------------
- // Fields
- // ------------------------------------------------------------------------
-
- private static final String fTestName = "StatisticsDataTest";
-
- private final String fContext = "UnitTest";
- private final String fTypeId1 = "Some type1";
- private final String fTypeId2 = "Some type2";
-
- private final String fLabel0 = "label1";
- private final String fLabel1 = "label2";
- private final String fLabel2 = "label3";
- private final String[] fLabels = new String[] { fLabel0, fLabel1, fLabel2 };
-
- private final TmfTimestamp fTimestamp1 = new TmfTimestamp(12345, (byte) 2, 5);
- private final TmfTimestamp fTimestamp2 = new TmfTimestamp(12350, (byte) 2, 5);
- private final TmfTimestamp fTimestamp3 = new TmfTimestamp(12355, (byte) 2, 5);
-
- private final String fSource = "Source";
-
- private final TmfEventType fType1 = new TmfEventType(fContext, fTypeId1, TmfEventField.makeRoot(fLabels));
- private final TmfEventType fType2 = new TmfEventType(fContext, fTypeId1, TmfEventField.makeRoot(fLabels));
- private final TmfEventType fType3 = new TmfEventType(fContext, fTypeId2, TmfEventField.makeRoot(fLabels));
-
- private final String fReference = "Some reference";
-
- private final ITmfEvent fEvent1;
- private final ITmfEvent fEvent2;
- private final ITmfEvent fEvent3;
-
- private final TmfEventField fContent1;
- private final TmfEventField fContent2;
- private final TmfEventField fContent3;
-
- private final TmfStatisticsTree fStatsTree;
-
- // ------------------------------------------------------------------------
- // Housekeeping
- // ------------------------------------------------------------------------
-
- /**
- * Constructor
- */
- public TmfBaseStatisticsDataTest() {
- fContent1 = new TmfEventField(ITmfEventField.ROOT_FIELD_ID, "Some content", null);
- fEvent1 = new TmfEvent(null, fTimestamp1, fSource, fType1, fContent1, fReference);
-
- fContent2 = new TmfEventField(ITmfEventField.ROOT_FIELD_ID, "Some other content", null);
- fEvent2 = new TmfEvent(null, fTimestamp2, fSource, fType2, fContent2, fReference);
-
- fContent3 = new TmfEventField(ITmfEventField.ROOT_FIELD_ID, "Some other different content", null);
- fEvent3 = new TmfEvent(null, fTimestamp3, fSource, fType3, fContent3, fReference);
-
- fStatsTree = new TmfStatisticsTree();
-
- fStatsTree.setTotal(fTestName, true, 3);
- fStatsTree.setTypeCount(fTestName, fEvent1.getType().getName(), true, 1);
- fStatsTree.setTypeCount(fTestName, fEvent2.getType().getName(), true, 1);
- fStatsTree.setTypeCount(fTestName, fEvent3.getType().getName(), true, 1);
- }
-
- // ------------------------------------------------------------------------
- // Test methods
- // ------------------------------------------------------------------------
-
- /**
- * Test getting of children.
- */
- @Test
- public void testGetChildren() {
- // Getting children of the ROOT
- Collection<TmfStatisticsTreeNode> childrenTreeNode = fStatsTree.getRootNode().getChildren();
- assertEquals("getChildren", 1, childrenTreeNode.size());
- TmfStatisticsTreeNode treeNode = childrenTreeNode.iterator().next();
- assertEquals("getChildren", fTestName, treeNode.getName());
-
- // Getting children of the trace
- childrenTreeNode = fStatsTree.getNode(fTestName).getChildren();
- assertEquals("getChildren", 1, childrenTreeNode.size());
- treeNode = childrenTreeNode.iterator().next();
- assertEquals("getChildren", Messages.TmfStatisticsData_EventTypes, treeNode.getName());
-
- Vector<String> keyExpected = new Vector<>();
- keyExpected.add(fEvent1.getType().getName());
- keyExpected.add(fEvent3.getType().getName());
- // Getting children of a category
- childrenTreeNode = treeNode.getChildren();
- assertEquals("getChildren", 2, childrenTreeNode.size());
-
- Iterator<TmfStatisticsTreeNode> iterChild = childrenTreeNode.iterator();
- TmfStatisticsTreeNode temp;
- while (iterChild.hasNext()) {
- temp = iterChild.next();
- assertEquals(0, temp.getChildren().size());
- if (keyExpected.contains(temp.getName())) {
- keyExpected.removeElement(temp.getName());
- } else {
- fail();
- }
- }
-
- // Get children of a specific event type
- childrenTreeNode = childrenTreeNode.iterator().next().getChildren();
- assertEquals("getChildren", 0, childrenTreeNode.size());
- }
-
- /**
- * Test registering of events.
- */
- @Test
- public void testRegisterEvent() {
- TmfStatisticsTreeNode trace = fStatsTree.getNode(fTestName);
- assertEquals("registerEvent", 3, trace.getValues().getTotal());
-
- Collection<TmfStatisticsTreeNode> childrenTreeNode = fStatsTree.getNode(fTestName, Messages.TmfStatisticsData_EventTypes).getChildren();
- for (TmfStatisticsTreeNode child : childrenTreeNode) {
- if (child.getName().compareTo(fEvent1.getType().getName()) == 0) {
- assertEquals("registerEvent", 1, child.getValues().getTotal());
- } else if (child.getName().compareTo(fEvent3.getType().getName()) == 0) {
- assertEquals("registerEvent", 1, child.getValues().getTotal());
- }
- }
- }
-
- /**
- * Test getter.
- */
- @Test
- public void testGet() {
- TmfStatisticsTreeNode traceRoot = fStatsTree.getNode(fTestName);
- assertNotNull("get", traceRoot);
- assertEquals("get", 0, traceRoot.getPath()[0].compareTo(fTestName));
- assertEquals("get", 3, traceRoot.getValues().getTotal());
- assertEquals("get", 1, traceRoot.getNbChildren());
- }
-
- /**
- * Test getting or creating of node entries.
- */
- @Test
- public void testGetOrCreate() {
- String[] newEventType = new String[] { fTestName, Messages.TmfStatisticsData_EventTypes, "Fancy Type" };
- TmfStatisticsTreeNode newEventTypeNode;
-
- // newEventType is not in the tree
- newEventTypeNode = fStatsTree.getNode(newEventType);
- assertNull(newEventTypeNode);
-
- newEventTypeNode = fStatsTree.getOrCreateNode(newEventType);
- assertNotNull(newEventTypeNode);
- assertTrue(Arrays.equals(newEventType, newEventTypeNode.getPath()));
-
- // newEventType is in the tree
- newEventTypeNode.reset();
- newEventTypeNode = fStatsTree.getNode(newEventType);
- assertNotNull(newEventTypeNode);
-
- newEventTypeNode = fStatsTree.getOrCreateNode(newEventType);
- assertNotNull(newEventTypeNode);
- assertTrue(Arrays.equals(newEventType, newEventTypeNode.getPath()));
- }
-
- /**
- * Test getting of parent node.
- */
- @Test
- public void testGetParent() {
- TmfStatisticsTreeNode parentNode = fStatsTree.getRootNode().getParent();
- assertNull(parentNode);
-
- parentNode = fStatsTree.getNode(fTestName).getParent();
- assertNotNull(parentNode);
- assertEquals(parentNode.getPath().toString(), fStatsTree.getRootNode().getPath().toString());
-
- parentNode = fStatsTree.getNode(fTestName, Messages.TmfStatisticsData_EventTypes).getParent();
- assertNotNull(parentNode);
- assertEquals(parentNode.getPath().toString(), fStatsTree.getNode(fTestName).getPath().toString());
- }
-
- /**
- * Test reset method
- */
- @Test
- public void testReset() {
- fStatsTree.getNode(fTestName, Messages.TmfStatisticsData_EventTypes).reset();
-
- assertEquals(0, fStatsTree.getNode(fTestName, Messages.TmfStatisticsData_EventTypes).getChildren().size());
- assertNull(fStatsTree.getNode(fTestName, Messages.TmfStatisticsData_EventTypes, fType1.getName()));
- assertNull(fStatsTree.getNode(fTestName, Messages.TmfStatisticsData_EventTypes, fType3.getName()));
-
- fStatsTree.getNode(fTestName).reset();
- assertEquals(0, fStatsTree.getNode(fTestName).getChildren().size());
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui.tests/src/org/eclipse/linuxtools/tmf/ui/tests/statistics/TmfStatisticsTest.java b/lttng/org.eclipse.linuxtools.tmf.ui.tests/src/org/eclipse/linuxtools/tmf/ui/tests/statistics/TmfStatisticsTest.java
deleted file mode 100644
index 6ab9f57a48..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui.tests/src/org/eclipse/linuxtools/tmf/ui/tests/statistics/TmfStatisticsTest.java
+++ /dev/null
@@ -1,94 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 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:
- * Alexandre Montplaisir - Port to JUnit4
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.tests.statistics;
-
-import static org.junit.Assert.assertEquals;
-
-import org.eclipse.linuxtools.tmf.ui.viewers.statistics.model.TmfStatisticsValues;
-import org.junit.Test;
-
-/**
- * TmfStatistics Test Cases.
- */
-public class TmfStatisticsTest {
-
- private TmfStatisticsValues stats = new TmfStatisticsValues();
-
- /**
- * Test the initial state of the counters
- */
- @Test
- public void testInitialState() {
- assertEquals(0, stats.getTotal());
- assertEquals(0, stats.getPartial());
- }
-
- /**
- * Test incrementing the total counter by an amount
- */
- @Test
- public void testSetValue() {
- final int i = 100;
-
- /* Set the Global counter */
- stats.setValue(true, i);
- assertEquals(i, stats.getTotal());
- // Try to assign a negative number. Should do nothing.
- stats.setValue(true, -10);
- assertEquals(i, stats.getTotal());
- // Checks if the partial counter was affected
- assertEquals(0, stats.getPartial());
-
- /* Set the time range counter */
- stats.resetTotalCount();
- stats.setValue(false, i);
- assertEquals(i, stats.getPartial());
- // Try to assign a negative number. Should do nothing.
- stats.setValue(false, -10);
- assertEquals(i, stats.getPartial());
- // Checks if the total counter was affected
- assertEquals(0, stats.getTotal());
- }
-
- /**
- * Test of the reset for the total counter
- */
- @Test
- public void testResetTotal() {
- stats.setValue(true, 123);
- assertEquals(123, stats.getTotal());
-
- stats.resetTotalCount();
- assertEquals(0, stats.getTotal());
-
- // test when already at 0
- stats.resetTotalCount();
- assertEquals(0, stats.getTotal());
- }
-
- /**
- * Test of the reset for the partial counter
- */
- @Test
- public void testResetPartial() {
- stats.setValue(false, 456);
- assertEquals(456, stats.getPartial());
-
- stats.resetPartialCount();
- assertEquals(0, stats.getPartial());
-
- // test when already at 0
- stats.resetPartialCount();
- assertEquals(0, stats.getPartial());
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui.tests/src/org/eclipse/linuxtools/tmf/ui/tests/statistics/TmfStatisticsTreeManagerTest.java b/lttng/org.eclipse.linuxtools.tmf.ui.tests/src/org/eclipse/linuxtools/tmf/ui/tests/statistics/TmfStatisticsTreeManagerTest.java
deleted file mode 100755
index 409def230e..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui.tests/src/org/eclipse/linuxtools/tmf/ui/tests/statistics/TmfStatisticsTreeManagerTest.java
+++ /dev/null
@@ -1,177 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011, 2013 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:
- * Mathieu Denis <mathieu.denis@polymtl.ca> - Initial design and implementation
- * Bernd Hufmann - Fixed warnings
- * Alexandre Montplaisir - Port to JUnit4
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.tests.statistics;
-
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNotSame;
-import static org.junit.Assert.assertNull;
-import static org.junit.Assert.assertSame;
-import static org.junit.Assert.assertTrue;
-import static org.junit.Assert.fail;
-
-import org.eclipse.linuxtools.tmf.ui.viewers.statistics.model.TmfStatisticsTree;
-import org.eclipse.linuxtools.tmf.ui.viewers.statistics.model.TmfStatisticsTreeManager;
-import org.eclipse.linuxtools.tmf.ui.viewers.statistics.model.TmfStatisticsTreeNode;
-import org.junit.Before;
-import org.junit.Test;
-
-/**
- * TmfStatisticsTreeRootFactory Test Case.
- */
-public class TmfStatisticsTreeManagerTest {
-
- // ------------------------------------------------------------------------
- // Fields
- // ------------------------------------------------------------------------
-
- private TmfStatisticsTree fStatisticsData1;
- private TmfStatisticsTree fStatisticsData2;
- private TmfStatisticsTree fStatisticsData3;
- private String fDataKey1 = "key1";
- private String fDataKey2 = "key2";
- private String fDataKey3 = "key3";
-
-
- // ------------------------------------------------------------------------
- // Housekeeping
- // ------------------------------------------------------------------------
-
- /**
- * Initialization
- */
- @Before
- public void setUp() {
- fStatisticsData1 = new TmfStatisticsTree();
- fStatisticsData2 = new TmfStatisticsTree();
- fStatisticsData3 = new TmfStatisticsTree();
- TmfStatisticsTreeManager.addStatsTreeRoot(fDataKey1, fStatisticsData1);
- TmfStatisticsTreeManager.addStatsTreeRoot(fDataKey2, fStatisticsData2);
- TmfStatisticsTreeManager.addStatsTreeRoot(fDataKey2, fStatisticsData3);
- }
-
- /**
- * Clean the statistics tree
- */
- private static void removeStatsTreeRoot() {
- TmfStatisticsTreeManager.removeAll();
- }
-
- /**
- * Test adding of statistics tree root. It should not throw exceptions
- */
- @Test
- public void testaddStatsTreeRoot() {
- removeStatsTreeRoot();
-
- try {
- assertNull(TmfStatisticsTreeManager.addStatsTreeRoot(null, null));
- assertNull(TmfStatisticsTreeManager.addStatsTreeRoot(null, fStatisticsData1));
- assertNull(TmfStatisticsTreeManager.addStatsTreeRoot(fDataKey1, null));
- assertNull(TmfStatisticsTreeManager.getStatTreeRoot(fDataKey1));
-
- TmfStatisticsTreeNode returnRootNode = TmfStatisticsTreeManager.addStatsTreeRoot(fDataKey1, fStatisticsData1);
- assertSame(fStatisticsData1, TmfStatisticsTreeManager.getStatTree(fDataKey1));
- assertSame(fStatisticsData1.getRootNode(), returnRootNode);
-
- // Overwriting the value
- returnRootNode = TmfStatisticsTreeManager.addStatsTreeRoot(fDataKey1, fStatisticsData2);
- assertSame(fStatisticsData2, TmfStatisticsTreeManager.getStatTree(fDataKey1));
- assertSame(fStatisticsData2.getRootNode(), returnRootNode);
-
- // Success
- } catch(Exception e) {
- fail("AddStatsTreeRoot");
- }
- }
-
- // ------------------------------------------------------------------------
- // get
- // ------------------------------------------------------------------------
-
- /**
- * Test getting of statistics tree root.
- */
- @Test
- public void testGetStatTreeRoot() {
- TmfStatisticsTreeNode value1 = TmfStatisticsTreeManager.getStatTreeRoot(fDataKey1);
- TmfStatisticsTreeNode value2 = TmfStatisticsTreeManager.getStatTreeRoot(fDataKey2);
- TmfStatisticsTreeNode value3 = TmfStatisticsTreeManager.getStatTreeRoot(fDataKey1);
- assertNotSame("getStatTreeRoot", value1, value2);
- assertNotSame("getStatTreeRoot", value2, value3);
- assertSame("getStatTreeRoot", value1, value3);
- assertNull("getStatTreeRoot", TmfStatisticsTreeManager.getStatTreeRoot(null));
- }
-
- /**
- * Test getting statistics tree.
- */
- @Test
- public void testGetStatTree() {
- TmfStatisticsTree value1 = TmfStatisticsTreeManager.getStatTree(fDataKey1);
- TmfStatisticsTree value2 = TmfStatisticsTreeManager.getStatTree(fDataKey2);
- TmfStatisticsTree value3 = TmfStatisticsTreeManager.getStatTree(fDataKey1);
- assertNotSame("getStatTree", value1, value2);
- assertNotSame("getStatTree", value2, value3);
- assertSame("getStatTree", value1, value3);
- assertNull("getStatTreeRoot", TmfStatisticsTreeManager.getStatTree(null));
- }
-
- // ------------------------------------------------------------------------
- // contains
- // ------------------------------------------------------------------------
-
- /**
- * Test checking for tree root existence.
- */
- @Test
- public void testContainsTreeRoot() {
- assertTrue("containsTreeRoot", TmfStatisticsTreeManager.containsTreeRoot(fDataKey1));
- assertTrue("containsTreeRoot", TmfStatisticsTreeManager.containsTreeRoot(fDataKey2));
- assertFalse("containsTreeRoot", TmfStatisticsTreeManager.containsTreeRoot(null));
- }
-
- // ------------------------------------------------------------------------
- // remove
- // ------------------------------------------------------------------------
-
- /**
- * Test removal of statistics tree node.
- */
- @Test
- public void testRemoveStatTreeRoot() {
- TmfStatisticsTreeManager.removeStatTreeRoot(fDataKey1);
- assertNull("removeStatTreeRoot", TmfStatisticsTreeManager.getStatTree(fDataKey1));
-
- try {
- // Trying to remove the same branch from the tree.
- TmfStatisticsTreeManager.removeStatTreeRoot(fDataKey1);
-
- TmfStatisticsTreeManager.removeStatTreeRoot(null);
- // Success
- } catch (Exception e) {
- fail("removeStatTreeRoot");
- }
- }
-
- /**
- * Test removal of all root nodes.
- */
- @Test
- public void testRemoveAll() {
- TmfStatisticsTreeManager.removeAll();
- assertNull("removeAll", TmfStatisticsTreeManager.getStatTreeRoot(fDataKey2));
- assertNull("removeAll", TmfStatisticsTreeManager.getStatTreeRoot(fDataKey3));
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui.tests/src/org/eclipse/linuxtools/tmf/ui/tests/statistics/TmfStatisticsTreeNodeTest.java b/lttng/org.eclipse.linuxtools.tmf.ui.tests/src/org/eclipse/linuxtools/tmf/ui/tests/statistics/TmfStatisticsTreeNodeTest.java
deleted file mode 100755
index dc6da20226..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui.tests/src/org/eclipse/linuxtools/tmf/ui/tests/statistics/TmfStatisticsTreeNodeTest.java
+++ /dev/null
@@ -1,385 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011, 2013 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:
- * Mathieu Denis <mathieu.denis@polymtl.ca> - Initial design and implementation
- * Bernd Hufmann - Fixed warnings
- * Alexandre Montplaisir - Port to JUnit4
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.tests.statistics;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertNull;
-import static org.junit.Assert.assertTrue;
-import static org.junit.Assert.fail;
-
-import java.util.Collection;
-import java.util.Iterator;
-import java.util.Vector;
-
-import org.eclipse.linuxtools.tmf.ui.viewers.statistics.model.Messages;
-import org.eclipse.linuxtools.tmf.ui.viewers.statistics.model.TmfStatisticsTree;
-import org.eclipse.linuxtools.tmf.ui.viewers.statistics.model.TmfStatisticsTreeNode;
-import org.junit.Test;
-
-/**
- * TmfStatisticsTreeNode Test Cases.
- */
-public class TmfStatisticsTreeNodeTest {
-
- // ------------------------------------------------------------------------
- // Fields
- // ------------------------------------------------------------------------
-
- private final String fTypeId1 = "Some type1";
- private final String fTypeId2 = "Some type2";
- private final String fTypeId3 = "Some type3";
-
- private final TmfStatisticsTree fStatsTree;
-
- private static final String fTestName = "StatisticsTreeNodeTest";
-
- // ------------------------------------------------------------------------
- // Housekeeping
- // ------------------------------------------------------------------------
-
- /**
- * Constructor
- */
- public TmfStatisticsTreeNodeTest() {
- fStatsTree = new TmfStatisticsTree();
-
- /* Enter some global values */
- fStatsTree.setTotal(fTestName, true, 18);
- fStatsTree.setTypeCount(fTestName, fTypeId1, true, 5);
- fStatsTree.setTypeCount(fTestName, fTypeId2, true, 6);
- fStatsTree.setTypeCount(fTestName, fTypeId3, true, 7);
-
- /* Enter some time range values */
- fStatsTree.setTotal(fTestName, false, 9);
- fStatsTree.setTypeCount(fTestName, fTypeId1, false, 2);
- fStatsTree.setTypeCount(fTestName, fTypeId2, false, 3);
- fStatsTree.setTypeCount(fTestName, fTypeId3, false, 4);
- }
-
- /**
- * Test checking for child.
- */
- @Test
- public void testContainsChild() {
- TmfStatisticsTreeNode rootNode = fStatsTree.getRootNode();
- TmfStatisticsTreeNode traceNode = fStatsTree.getNode(fTestName);
- // Creates a category from the key already created
- TmfStatisticsTreeNode catNode = traceNode.getChildren().iterator().next();
-
- assertTrue(rootNode.containsChild(fTestName));
- assertFalse(rootNode.containsChild(catNode.getName()));
-
- assertTrue(traceNode.containsChild(catNode.getName()));
- assertFalse(traceNode.containsChild(fTypeId1));
-
- assertTrue(catNode.containsChild(fTypeId1));
- assertTrue(catNode.containsChild(fTypeId2));
- }
-
- /**
- * Test getting of children.
- */
- @Test
- public void testGetChildren() {
- // Getting children of the ROOT
- Collection<TmfStatisticsTreeNode> childrenTreeNode = fStatsTree.getRootNode().getChildren();
- assertEquals(1, childrenTreeNode.size());
- TmfStatisticsTreeNode treeNode = childrenTreeNode.iterator().next();
- assertEquals(fTestName, treeNode.getName());
-
- // Getting children of the trace
- childrenTreeNode = fStatsTree.getNode(fTestName).getChildren();
- assertEquals(1, childrenTreeNode.size());
- treeNode = childrenTreeNode.iterator().next();
- assertEquals(Messages.TmfStatisticsData_EventTypes, treeNode.getName());
-
- Vector<String> keyExpected = new Vector<>();
- keyExpected.add(fTypeId1);
- keyExpected.add(fTypeId2);
- keyExpected.add(fTypeId3);
- // Getting children of a category
- childrenTreeNode = treeNode.getChildren();
- assertEquals(3, childrenTreeNode.size());
-
- Iterator<TmfStatisticsTreeNode> iterChild = childrenTreeNode.iterator();
- TmfStatisticsTreeNode temp;
- while (iterChild.hasNext()) {
- temp = iterChild.next();
- if (keyExpected.contains(temp.getName())) {
- keyExpected.removeElement(temp.getName());
- } else {
- fail();
- }
- }
-
- // Get children of a specific event type
- childrenTreeNode = fStatsTree.getNode(childrenTreeNode.iterator().next().getPath()).getChildren();
- assertEquals(0, childrenTreeNode.size());
- }
-
- /**
- * Test getting of number of children.
- */
- @Test
- public void testGetNbChildren() {
- TmfStatisticsTreeNode rootNode = fStatsTree.getRootNode();
- TmfStatisticsTreeNode traceNode = fStatsTree.getNode(fTestName);
- TmfStatisticsTreeNode catNode = traceNode.getChildren().iterator().next();
- TmfStatisticsTreeNode elementNode = fStatsTree.getNode(fTestName, Messages.TmfStatisticsData_EventTypes, fTypeId1);
-
- assertEquals(1, rootNode.getNbChildren());
- assertEquals(1, traceNode.getNbChildren());
- assertEquals(3, catNode.getNbChildren());
- assertEquals(0, elementNode.getNbChildren());
- }
-
- /**
- * Test checking for children.
- */
- @Test
- public void testHasChildren() {
- TmfStatisticsTreeNode rootNode = fStatsTree.getRootNode();
- TmfStatisticsTreeNode traceNode = fStatsTree.getNode(fTestName);
- TmfStatisticsTreeNode catNode = traceNode.getChildren().iterator().next();
- TmfStatisticsTreeNode elementNode = fStatsTree.getNode(fTestName, Messages.TmfStatisticsData_EventTypes, fTypeId1);
-
- assertTrue(rootNode.hasChildren());
- assertTrue(traceNode.hasChildren());
- assertTrue(catNode.hasChildren());
- assertFalse(elementNode.hasChildren());
- }
-
- /**
- * Test getting of parent.
- */
- @Test
- public void testGetParent() {
- final TmfStatisticsTreeNode rootNode = fStatsTree.getRootNode();
- TmfStatisticsTreeNode parentNode = rootNode.getParent();
- assertNull(parentNode);
-
- TmfStatisticsTreeNode newTraceNode = new TmfStatisticsTreeNode(fStatsTree, rootNode, "newly created trace node");
- parentNode = newTraceNode.getParent();
- assertNotNull(parentNode);
- assertTrue(fStatsTree.getRootNode() == parentNode);
-
- TmfStatisticsTreeNode traceNode = fStatsTree.getNode(fTestName);
- parentNode = traceNode.getParent();
- assertNotNull(parentNode);
- assertTrue(rootNode == parentNode);
-
- TmfStatisticsTreeNode elementNode = fStatsTree.getNode(fTestName, Messages.TmfStatisticsData_EventTypes, fTypeId1);
- parentNode = elementNode.getParent();
- assertTrue(parentNode == fStatsTree.getNode(fTestName, Messages.TmfStatisticsData_EventTypes));
-
- TmfStatisticsTreeNode catNode = traceNode.getChildren().iterator().next();
- parentNode = catNode.getParent();
- assertNotNull(parentNode);
- assertTrue(parentNode == fStatsTree.getNode(fTestName));
-
- parentNode = elementNode.getParent();
- assertNotNull(parentNode);
- assertTrue(arraysEqual(parentNode.getPath(), fTestName, Messages.TmfStatisticsData_EventTypes));
- }
-
- /**
- * Test getting of key.
- */
- @Test
- public void testgetName() {
- TmfStatisticsTreeNode rootNode = fStatsTree.getRootNode();
- TmfStatisticsTreeNode traceNode = fStatsTree.getNode(fTestName);
- TmfStatisticsTreeNode catNode = traceNode.getChildren().iterator().next();
- TmfStatisticsTreeNode elementNode = fStatsTree.getNode(fTestName, Messages.TmfStatisticsData_EventTypes, fTypeId1);
-
- assertEquals(0, rootNode.getName().compareTo("root"));
- assertEquals(0, traceNode.getName().compareTo(fTestName));
- assertEquals(0, catNode.getName().compareTo(Messages.TmfStatisticsData_EventTypes));
- assertEquals(0, elementNode.getName().compareTo(fTypeId1));
- }
-
- /**
- * Test getting of path to node.
- */
- @Test
- public void testGetPath() {
- TmfStatisticsTreeNode rootNode = fStatsTree.getRootNode();
- TmfStatisticsTreeNode traceNode = fStatsTree.getNode(fTestName);
- TmfStatisticsTreeNode catNode = traceNode.getChildren().iterator().next();
- TmfStatisticsTreeNode elementNode = fStatsTree.getNode(fTestName, Messages.TmfStatisticsData_EventTypes, fTypeId1);
-
- assertEquals(0, rootNode.getPath().length); /* Root node has an empty path */
- assertTrue(arraysEqual(traceNode.getPath(), fTestName));
- assertTrue(arraysEqual(catNode.getPath(),
- fTestName, Messages.TmfStatisticsData_EventTypes));
- assertTrue(arraysEqual(elementNode.getPath(),
- fTestName, Messages.TmfStatisticsData_EventTypes, fTypeId1));
- }
-
- /**
- * Test getting statistic value.
- */
- @Test
- public void testGetValue() {
- TmfStatisticsTreeNode rootNode, traceNode, catNode, elementNode1, elementNode2, elementNode3;
- rootNode = fStatsTree.getRootNode();
- traceNode = fStatsTree.getNode(fTestName);
- catNode = traceNode.getChildren().iterator().next();
- elementNode1 = fStatsTree.getNode(fTestName, Messages.TmfStatisticsData_EventTypes, fTypeId1);
- elementNode2 = fStatsTree.getNode(fTestName, Messages.TmfStatisticsData_EventTypes, fTypeId2);
- elementNode3 = fStatsTree.getNode(fTestName, Messages.TmfStatisticsData_EventTypes, fTypeId3);
-
- assertEquals(0, rootNode.getValues().getTotal());
- assertEquals(18, traceNode.getValues().getTotal());
- assertEquals(0, catNode.getValues().getTotal());
- assertEquals(5, elementNode1.getValues().getTotal());
- assertEquals(6, elementNode2.getValues().getTotal());
- assertEquals(7, elementNode3.getValues().getTotal());
-
- assertEquals(0, rootNode.getValues().getPartial());
- assertEquals(9, traceNode.getValues().getPartial());
- assertEquals(0, catNode.getValues().getPartial());
- assertEquals(2, elementNode1.getValues().getPartial());
- assertEquals(3, elementNode2.getValues().getPartial());
- assertEquals(4, elementNode3.getValues().getPartial());
- }
-
- /**
- * Test reset of tree.
- */
- @Test
- public void testReset() {
- TmfStatisticsTreeNode rootNode, traceNode, catNode, elementNode;
- rootNode = fStatsTree.getRootNode();
- traceNode = fStatsTree.getNode(fTestName);
- catNode = traceNode.getChildren().iterator().next();
- elementNode = fStatsTree.getNode(fTestName, Messages.TmfStatisticsData_EventTypes, fTypeId1);
-
- elementNode.reset();
- assertEquals(0, elementNode.getValues().getTotal());
- assertEquals(0, elementNode.getValues().getPartial());
-
- catNode.reset();
- assertEquals(0, catNode.getValues().getTotal());
- assertEquals(0, catNode.getValues().getPartial());
- assertEquals(0, catNode.getNbChildren());
- assertNull(fStatsTree.getNode(fTestName, Messages.TmfStatisticsData_EventTypes, fTypeId1));
-
- traceNode.reset();
- assertEquals(0, traceNode.getValues().getTotal());
- assertEquals(0, traceNode.getValues().getPartial());
- assertEquals(0, traceNode.getNbChildren());
-
- rootNode.reset();
- assertEquals(0, rootNode.getValues().getTotal());
- assertEquals(0, rootNode.getValues().getPartial());
- assertEquals(0, rootNode.getNbChildren());
- }
-
- /**
- * Test reset global value of the node in the tree. It should only clear
- * the global value without removing any node from the tree.
- */
- @Test
- public void testResetGlobalValue() {
- TmfStatisticsTreeNode rootNode, traceNode, catNode, eventTypeNode1, eventTypeNode2, eventTypeNode3;
- rootNode = fStatsTree.getRootNode();
- traceNode = fStatsTree.getNode(fTestName);
- catNode = traceNode.getChildren().iterator().next();
- eventTypeNode1 = fStatsTree.getNode(fTestName, Messages.TmfStatisticsData_EventTypes, fTypeId1);
- eventTypeNode2 = fStatsTree.getNode(fTestName, Messages.TmfStatisticsData_EventTypes, fTypeId2);
- eventTypeNode3 = fStatsTree.getNode(fTestName, Messages.TmfStatisticsData_EventTypes, fTypeId3);
-
- rootNode.resetGlobalValue();
-
- assertEquals(0, rootNode.getValues().getTotal());
- assertEquals(0, traceNode.getValues().getTotal());
- assertEquals(0, catNode.getValues().getTotal());
- assertEquals(0, eventTypeNode1.getValues().getTotal());
- assertEquals(0, eventTypeNode2.getValues().getTotal());
- assertEquals(0, eventTypeNode3.getValues().getTotal());
-
- // Checks the state of the statistics tree
- Collection<TmfStatisticsTreeNode> rootChildren = rootNode.getChildren();
- assertEquals(1, rootChildren.size());
- assertTrue(rootChildren.contains(traceNode));
-
- Collection<TmfStatisticsTreeNode> traceChildren = traceNode.getChildren();
- assertEquals(1, traceChildren.size());
- assertTrue(traceChildren.contains(catNode));
-
- Collection<TmfStatisticsTreeNode> catChildren = catNode.getChildren();
- assertEquals(3, catChildren.size());
- assertTrue(catChildren.contains(eventTypeNode1));
- assertTrue(catChildren.contains(eventTypeNode2));
- assertTrue(catChildren.contains(eventTypeNode3));
- }
-
- /**
- * Test reset time range value of the node in the tree. It should only clear
- * the time range value without removing any node from the tree.
- */
- @Test
- public void testResetTimeRangeValue() {
- TmfStatisticsTreeNode rootNode, traceNode, catNode, eventTypeNode1, eventTypeNode2, eventTypeNode3;
- rootNode = fStatsTree.getRootNode();
- traceNode = fStatsTree.getNode(fTestName);
- catNode = traceNode.getChildren().iterator().next();
- eventTypeNode1 = fStatsTree.getNode(fTestName, Messages.TmfStatisticsData_EventTypes, fTypeId1);
- eventTypeNode2 = fStatsTree.getNode(fTestName, Messages.TmfStatisticsData_EventTypes, fTypeId2);
- eventTypeNode3 = fStatsTree.getNode(fTestName, Messages.TmfStatisticsData_EventTypes, fTypeId3);
-
- rootNode.resetTimeRangeValue();
-
- assertEquals(0, rootNode.getValues().getPartial());
- assertEquals(0, traceNode.getValues().getPartial());
- assertEquals(0, catNode.getValues().getPartial());
- assertEquals(0, eventTypeNode1.getValues().getPartial());
- assertEquals(0, eventTypeNode2.getValues().getPartial());
-
- // Checks the state of the statistics tree
- Collection<TmfStatisticsTreeNode> rootChildren = rootNode.getChildren();
- assertEquals(1, rootChildren.size());
- assertTrue(rootChildren.contains(traceNode));
-
- Collection<TmfStatisticsTreeNode> traceChildren = traceNode.getChildren();
- assertEquals(1, traceChildren.size());
- assertTrue(traceChildren.contains(catNode));
-
- Collection<TmfStatisticsTreeNode> catChildren = catNode.getChildren();
- assertEquals(3, catChildren.size());
- assertTrue(catChildren.contains(eventTypeNode1));
- assertTrue(catChildren.contains(eventTypeNode2));
- assertTrue(catChildren.contains(eventTypeNode3));
- }
-
- /**
- * Check if two String arrays are equals, by comparing their contents.
- * Unlike Arrays.equals(), we can use varargs for the second argument.
- */
- private static boolean arraysEqual(String[] array1, String... array2) {
- if (array1.length != array2.length) {
- return false;
- }
- for (int i = 0; i < array1.length; i++) {
- if (!array1[i].equals(array2[i])) {
- return false;
- }
- }
- return true;
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui.tests/src/org/eclipse/linuxtools/tmf/ui/tests/statistics/TmfTreeContentProviderTest.java b/lttng/org.eclipse.linuxtools.tmf.ui.tests/src/org/eclipse/linuxtools/tmf/ui/tests/statistics/TmfTreeContentProviderTest.java
deleted file mode 100755
index 96eb0d67da..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui.tests/src/org/eclipse/linuxtools/tmf/ui/tests/statistics/TmfTreeContentProviderTest.java
+++ /dev/null
@@ -1,187 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011, 2014 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:
- * Mathieu Denis <mathieu.denis@polymtl.ca> - Initial design and implementation
- * Bernd Hufmann - Fixed warnings
- * Alexandre Montplaisir - Port to JUnit4
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.tests.statistics;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertTrue;
-import static org.junit.Assert.fail;
-
-import java.util.Arrays;
-
-import org.eclipse.linuxtools.tmf.core.event.ITmfEvent;
-import org.eclipse.linuxtools.tmf.core.event.ITmfEventField;
-import org.eclipse.linuxtools.tmf.core.event.TmfEvent;
-import org.eclipse.linuxtools.tmf.core.event.TmfEventField;
-import org.eclipse.linuxtools.tmf.core.event.TmfEventType;
-import org.eclipse.linuxtools.tmf.core.timestamp.TmfTimestamp;
-import org.eclipse.linuxtools.tmf.ui.viewers.statistics.model.Messages;
-import org.eclipse.linuxtools.tmf.ui.viewers.statistics.model.TmfStatisticsTree;
-import org.eclipse.linuxtools.tmf.ui.viewers.statistics.model.TmfStatisticsTreeNode;
-import org.eclipse.linuxtools.tmf.ui.viewers.statistics.model.TmfTreeContentProvider;
-import org.junit.Test;
-
-/**
- * TmfTreeContentProvider Test Cases.
- */
-public class TmfTreeContentProviderTest {
-
- // ------------------------------------------------------------------------
- // Fields
- // ------------------------------------------------------------------------
-
- private static final String fTestName = "TreeContentProviderTest";
-
- private final String fContext = "UnitTest";
- private final String fTypeId1 = "Some type1";
- private final String fTypeId2 = "Some type2";
-
- private final String fLabel0 = "label1";
- private final String fLabel1 = "label2";
- private final String[] fLabels = new String[] { fLabel0, fLabel1 };
-
- private final TmfTimestamp fTimestamp1 = new TmfTimestamp(12345, (byte) 2, 5);
- private final TmfTimestamp fTimestamp2 = new TmfTimestamp(12350, (byte) 2, 5);
-
- private final String fSource = "Source";
-
- private final TmfEventType fType1 = new TmfEventType(fContext, fTypeId1, TmfEventField.makeRoot(fLabels));
- private final TmfEventType fType2 = new TmfEventType(fContext, fTypeId2, TmfEventField.makeRoot(fLabels));
-
- private final String fReference = "Some reference";
-
- private final ITmfEvent fEvent1;
- private final ITmfEvent fEvent2;
-
- private final TmfEventField fContent1;
- private final TmfEventField fContent2;
-
- private final TmfStatisticsTree fStatsData;
-
- private final TmfTreeContentProvider treeProvider;
-
- // ------------------------------------------------------------------------
- // Housekeeping
- // ------------------------------------------------------------------------
-
- /**
- * Constructor
- */
- public TmfTreeContentProviderTest() {
- fContent1 = new TmfEventField(ITmfEventField.ROOT_FIELD_ID, "Some content", null);
- fEvent1 = new TmfEvent(null, fTimestamp1, fSource, fType1, fContent1, fReference);
-
- fContent2 = new TmfEventField(ITmfEventField.ROOT_FIELD_ID, "Some other content", null);
- fEvent2 = new TmfEvent(null, fTimestamp2, fSource, fType2, fContent2, fReference);
-
- fStatsData = new TmfStatisticsTree();
-
- fStatsData.setTotal(fTestName, true, 2);
- fStatsData.setTypeCount(fTestName, fEvent1.getType().getName(), true, 1);
- fStatsData.setTypeCount(fTestName, fEvent2.getType().getName(), true, 1);
-
- treeProvider = new TmfTreeContentProvider();
- }
-
- // ------------------------------------------------------------------------
- // Test methods
- // ------------------------------------------------------------------------
-
- /**
- * Test getting of children.
- * FIXME this test was quickly adapted when we removed the TmfFixedArray,
- * but it could be rewritten to be much more simple...
- */
- @Test
- public void testGetChildren() {
- Object[] objectArray = treeProvider.getChildren(fStatsData.getOrCreateNode(fTestName, Messages.TmfStatisticsData_EventTypes));
- TmfStatisticsTreeNode[] childrenNode = Arrays.asList(objectArray).toArray(new TmfStatisticsTreeNode[0]);
-
- String[][] childrenExpected = new String[][] {
- new String[] { fTestName, Messages.TmfStatisticsData_EventTypes, fEvent1.getType().getName() },
- new String[] { fTestName, Messages.TmfStatisticsData_EventTypes, fEvent2.getType().getName() }
- };
-
- assertEquals("getChildren", childrenExpected.length, childrenNode.length);
- // assertTrue("getChildren", childrenPath.equals(childrenExpected));
- for (TmfStatisticsTreeNode childNode : childrenNode) {
- if (!arrayOfArraysContains(childrenExpected, childNode.getPath())) {
- fail();
- }
- }
- }
-
- private static boolean arrayOfArraysContains(String[][] arrayOfArrays, String[] array) {
- for (String[] curArray : arrayOfArrays) {
- if (arraysEqual(curArray, array)) {
- return true;
- }
- }
- return false;
- }
-
- private static boolean arraysEqual(String[] array1, String[] array2) {
- if (array1.length != array2.length) {
- return false;
- }
- for (int i = 0; i < array1.length; i++) {
- if (!array1[i].equals(array2[i])) {
- return false;
- }
- }
- return true;
- }
-
- /**
- * Test getting of parent.
- */
- @Test
- public void testGetParent() {
- TmfStatisticsTreeNode parent = (TmfStatisticsTreeNode) treeProvider.getParent(fStatsData.getNode(fTestName));
-
- assertNotNull("getParent", parent);
- assertTrue("getParent", parent.getPath().equals(fStatsData.getRootNode().getPath()));
- }
-
- /**
- * Test checking for children.
- */
- @Test
- public void testHasChildren() {
- boolean hasChildren = treeProvider.hasChildren(fStatsData.getRootNode());
- assertTrue("hasChildren", hasChildren);
-
- hasChildren = treeProvider.hasChildren(fStatsData.getOrCreateNode(fTestName));
- assertTrue("hasChildren", hasChildren);
-
- hasChildren = treeProvider.hasChildren(fStatsData.getOrCreateNode(fTestName, Messages.TmfStatisticsData_EventTypes));
- assertTrue("hasChildren", hasChildren);
-
- hasChildren = treeProvider.hasChildren(fStatsData.getOrCreateNode(fTestName, Messages.TmfStatisticsData_EventTypes, fEvent1.getType().getName()));
- assertFalse("hasChildren", hasChildren);
- }
-
- /**
- * Test getting of elements.
- */
- @Test
- public void testGetElements() {
- Object[] objectElements = treeProvider.getElements(fStatsData.getRootNode());
- TmfStatisticsTreeNode[] nodeElements = Arrays.asList(objectElements).toArray(new TmfStatisticsTreeNode[0]);
- assertEquals("getElements", 1, nodeElements.length);
- assertTrue("getElements", nodeElements[0].getPath()[0].equals(fTestName));
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui.tests/src/org/eclipse/linuxtools/tmf/ui/tests/trace/AbstractCustomTraceIndexTest.java b/lttng/org.eclipse.linuxtools.tmf.ui.tests/src/org/eclipse/linuxtools/tmf/ui/tests/trace/AbstractCustomTraceIndexTest.java
deleted file mode 100644
index da8138a2b7..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui.tests/src/org/eclipse/linuxtools/tmf/ui/tests/trace/AbstractCustomTraceIndexTest.java
+++ /dev/null
@@ -1,191 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 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:
- * Marc-Andre Laperle - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.tests.trace;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertTrue;
-
-import java.io.File;
-
-import org.eclipse.linuxtools.tmf.core.event.ITmfEvent;
-import org.eclipse.linuxtools.tmf.core.trace.ITmfEventParser;
-import org.eclipse.linuxtools.tmf.core.trace.ITmfTrace;
-import org.eclipse.linuxtools.tmf.core.trace.TmfContext;
-import org.eclipse.linuxtools.tmf.core.trace.TmfTraceManager;
-import org.eclipse.linuxtools.tmf.core.trace.indexer.TmfBTreeTraceIndexer;
-import org.eclipse.linuxtools.tmf.core.trace.indexer.checkpoint.ITmfCheckpoint;
-import org.eclipse.linuxtools.tmf.core.trace.indexer.checkpoint.ITmfCheckpointIndex;
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Test;
-
-/**
- * Common test code for custom trace indexes
- *
- * @author Marc-Andre Laperle
- */
-public abstract class AbstractCustomTraceIndexTest {
-
- /**
- * Time format use for event creation
- */
- protected static final String TIMESTAMP_FORMAT = "dd/MM/yyyy HH:mm:ss:SSS";
- /**
- * Block size used for the indexer
- */
- protected static final int BLOCK_SIZE = 100;
- /**
- * The total number of events in the generated trace
- */
- protected static final int NB_EVENTS = 10000;
- private TestTrace fTrace = null;
-
- /**
- * A common test indexer for custom trace index tests
- */
- protected static class TestIndexer extends TmfBTreeTraceIndexer {
-
- /**
- * Constructs a new test indexer
- *
- * @param trace the trace
- * @param interval the checkpoint interval
- */
- public TestIndexer(ITmfTrace trace, int interval) {
- super(trace, interval);
- }
-
- /**
- * Get the index
- *
- * @return the index
- */
- public ITmfCheckpointIndex getCheckpoints() {
- return getTraceIndex();
- }
- }
-
- interface TestTrace extends ITmfTrace {
- TestIndexer getIndexer();
- }
-
- /**
- * Setup the test
- *
- * @throws Exception when error occurs
- */
- @Before
- public void setUp() throws Exception {
- setupTrace();
- }
-
- private synchronized void setupTrace() throws Exception {
- File traceDirectory = new File(getTraceDirectory());
- if (traceDirectory.exists()) {
- traceDirectory.delete();
- }
- traceDirectory.mkdir();
- if (fTrace == null) {
- fTrace = createTrace();
- fTrace.indexTrace(true);
- }
- }
-
- /**
- * Create a test trace, varies between tests
- *
- * @return the test trace
- * @throws Exception when error occurs
- */
- abstract protected TestTrace createTrace() throws Exception;
- /**
- * Return the trace directory for the generated trace
- *
- * @return the trace directory for the generated trace
- */
- abstract protected String getTraceDirectory();
-
- /**
- * Tear down the test
- */
- @After
- public void tearDown() {
- String directory = TmfTraceManager.getSupplementaryFileDir(fTrace);
- try {
- fTrace.dispose();
- fTrace = null;
- } finally {
- File dir = new File(directory);
- if (dir.exists()) {
- File[] files = dir.listFiles();
- for (File file : files) {
- file.delete();
- }
- dir.delete();
- }
-
- File trace = new File(getTraceDirectory());
- if (trace.exists()) {
- trace.delete();
- }
- }
-
- }
-
- /**
- * Test the content of the index after building the full index
- */
- @Test
- public void testTmfTraceIndexing() {
- verifyIndexContent();
- }
-
- private void verifyIndexContent() {
- assertEquals("getCacheSize", BLOCK_SIZE, fTrace.getCacheSize());
- assertEquals("getTraceSize", NB_EVENTS, fTrace.getNbEvents());
- assertEquals("getRange-start", 0, fTrace.getTimeRange().getStartTime().getValue());
- assertEquals("getRange-end", NB_EVENTS - 1, fTrace.getTimeRange().getEndTime().getValue());
- assertEquals("getStartTime", 0, fTrace.getStartTime().getValue());
- assertEquals("getEndTime", NB_EVENTS - 1, fTrace.getEndTime().getValue());
-
- ITmfCheckpointIndex checkpoints = fTrace.getIndexer().getCheckpoints();
- int pageSize = fTrace.getCacheSize();
- assertTrue("Checkpoints exist", checkpoints != null);
- assertEquals("Checkpoints size", NB_EVENTS / BLOCK_SIZE, checkpoints.size());
-
- // Validate that each checkpoint points to the right event
- for (int i = 0; i < checkpoints.size(); i++) {
- ITmfCheckpoint checkpoint = checkpoints.get(i);
- TmfContext context = new TmfContext(checkpoint.getLocation(), i * pageSize);
- ITmfEvent event = ((ITmfEventParser)fTrace).parseEvent(context);
- assertTrue(context.getRank() == i * pageSize);
- assertTrue((checkpoint.getTimestamp().compareTo(event.getTimestamp(), false) == 0));
- }
- }
-
- /**
- * Test that a fully built index has the same content when reloaded from disk
- *
- * @throws Exception when error occurs
- */
- @Test
- public void testReopenIndex() throws Exception {
- fTrace.dispose();
- fTrace = createTrace();
- assertFalse(fTrace.getIndexer().getCheckpoints().isCreatedFromScratch());
- fTrace.indexTrace(true);
-
- verifyIndexContent();
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui.tests/src/org/eclipse/linuxtools/tmf/ui/tests/trace/AllTests.java b/lttng/org.eclipse.linuxtools.tmf.ui.tests/src/org/eclipse/linuxtools/tmf/ui/tests/trace/AllTests.java
deleted file mode 100644
index 63f07ab917..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui.tests/src/org/eclipse/linuxtools/tmf/ui/tests/trace/AllTests.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 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:
- * Matthew Khouzam - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.tests.trace;
-
-import org.junit.runner.RunWith;
-import org.junit.runners.Suite;
-
-/**
- * Test suite for custom parsers
- * @author Matthew Khouzam
- *
- */
-@RunWith(Suite.class)
-@Suite.SuiteClasses({
- CustomXmlTraceInvalidTest.class,
- CustomXmlTraceBadlyFormedTest.class,
- CustomXmlTraceValidTest.class,
- CustomXmlIndexTest.class,
- CustomTxtIndexTest.class
-})
-public class AllTests {
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui.tests/src/org/eclipse/linuxtools/tmf/ui/tests/trace/CustomTxtIndexTest.java b/lttng/org.eclipse.linuxtools.tmf.ui.tests/src/org/eclipse/linuxtools/tmf/ui/tests/trace/CustomTxtIndexTest.java
deleted file mode 100644
index ef29108817..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui.tests/src/org/eclipse/linuxtools/tmf/ui/tests/trace/CustomTxtIndexTest.java
+++ /dev/null
@@ -1,81 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009, 2014 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 - Adapted for TMF Trace Model 1.0
- * Alexandre Montplaisir - Port to JUnit4
- * Marc-Andre Laperle - Adapted to CustomTxtTrace
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.tests.trace;
-
-import java.io.BufferedWriter;
-import java.io.File;
-import java.io.FileWriter;
-import java.text.SimpleDateFormat;
-import java.util.Date;
-
-import org.eclipse.linuxtools.tmf.core.exceptions.TmfTraceException;
-import org.eclipse.linuxtools.tmf.core.parsers.custom.CustomTxtTrace;
-import org.eclipse.linuxtools.tmf.core.parsers.custom.CustomTxtTraceDefinition;
-import org.eclipse.linuxtools.tmf.core.trace.TmfTraceManager;
-import org.eclipse.linuxtools.tmf.core.trace.indexer.ITmfTraceIndexer;
-
-/**
- * Test suite for indexing using a CustomTxtTrace.
- *
- * @author Marc-Andre Laperle
- */
-public class CustomTxtIndexTest extends AbstractCustomTraceIndexTest {
-
- private static final String TRACE_DIRECTORY = TmfTraceManager.getTemporaryDirPath() + File.separator + "dummyTxtTrace";
- private static final String TRACE_PATH = TRACE_DIRECTORY + File.separator + "test.txt";
- private static final String DEFINITION_PATH = "tracesets" + File.separator + "txt" + File.separator + "testTxtDefinition.xml";
-
- private static CustomTxtTraceDefinition createDefinition() {
- CustomTxtTraceDefinition[] definitions = CustomTxtTraceDefinition.loadAll(new File(DEFINITION_PATH).toString());
- return definitions[0];
- }
-
- @Override
- protected String getTraceDirectory() {
- return TRACE_DIRECTORY;
- }
-
- @Override
- protected TestTrace createTrace() throws Exception {
- CustomTxtTraceDefinition definition = createDefinition();
- final File file = new File(TRACE_PATH);
- try (BufferedWriter writer = new BufferedWriter(new FileWriter(file));) {
- for (int i = 0; i < NB_EVENTS; ++i) {
- SimpleDateFormat f = new SimpleDateFormat(TIMESTAMP_FORMAT);
- String eventStr = f.format(new Date(i)) + " hello world\n";
- writer.write(eventStr);
- }
- }
-
- return new TestTxtTrace(file.toString(), definition, BLOCK_SIZE);
- }
-
- private class TestTxtTrace extends CustomTxtTrace implements TestTrace {
- public TestTxtTrace(String path, CustomTxtTraceDefinition createDefinition, int blockSize) throws TmfTraceException {
- super(null, createDefinition, path, blockSize);
- }
-
- @Override
- protected ITmfTraceIndexer createIndexer(int interval) {
- return new TestIndexer(this, interval);
- }
-
- @Override
- public TestIndexer getIndexer() {
- return (TestIndexer) super.getIndexer();
- }
- }
-} \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui.tests/src/org/eclipse/linuxtools/tmf/ui/tests/trace/CustomXmlIndexTest.java b/lttng/org.eclipse.linuxtools.tmf.ui.tests/src/org/eclipse/linuxtools/tmf/ui/tests/trace/CustomXmlIndexTest.java
deleted file mode 100644
index bc1edebb8a..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui.tests/src/org/eclipse/linuxtools/tmf/ui/tests/trace/CustomXmlIndexTest.java
+++ /dev/null
@@ -1,83 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009, 2014 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 - Adapted for TMF Trace Model 1.0
- * Alexandre Montplaisir - Port to JUnit4
- * Marc-Andre Laperle - Adapted to CustomXmlTrace
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.tests.trace;
-
-import java.io.BufferedWriter;
-import java.io.File;
-import java.io.FileWriter;
-import java.text.SimpleDateFormat;
-import java.util.Date;
-
-import org.eclipse.linuxtools.tmf.core.exceptions.TmfTraceException;
-import org.eclipse.linuxtools.tmf.core.parsers.custom.CustomXmlTrace;
-import org.eclipse.linuxtools.tmf.core.parsers.custom.CustomXmlTraceDefinition;
-import org.eclipse.linuxtools.tmf.core.trace.TmfTraceManager;
-import org.eclipse.linuxtools.tmf.core.trace.indexer.ITmfTraceIndexer;
-
-/**
- * Test suite for indexing using a CustomXmlTrace.
- *
- * @author Marc-Andre Laperle
- */
-public class CustomXmlIndexTest extends AbstractCustomTraceIndexTest {
-
- private static final String TRACE_DIRECTORY = TmfTraceManager.getTemporaryDirPath() + File.separator + "dummyXmlTrace";
- private static final String TRACE_PATH = TRACE_DIRECTORY + File.separator + "test.xml";
- private static final String DEFINITION_PATH = "tracesets" + File.separator + "xml" + File.separator + "testDefinition.xml";
-
- private static CustomXmlTraceDefinition createDefinition() {
- CustomXmlTraceDefinition[] definitions = CustomXmlTraceDefinition.loadAll(new File(DEFINITION_PATH).toString());
- return definitions[0];
- }
-
- @Override
- protected String getTraceDirectory() {
- return TRACE_DIRECTORY;
- }
-
- @Override
- protected TestTrace createTrace() throws Exception {
- CustomXmlTraceDefinition definition = createDefinition();
- final File file = new File(TRACE_PATH);
- try (BufferedWriter writer = new BufferedWriter(new FileWriter(file));) {
- writer.write("<trace>");
- for (int i = 0; i < NB_EVENTS; ++i) {
- SimpleDateFormat f = new SimpleDateFormat(TIMESTAMP_FORMAT);
- String eventStr = "<element time=\"" + f.format(new Date(i)) + "\">message</element>\n";
- writer.write(eventStr);
- }
- writer.write("</trace>");
- }
-
- return new TestXmlTrace(file.toString(), definition, BLOCK_SIZE);
- }
-
- private class TestXmlTrace extends CustomXmlTrace implements TestTrace {
- public TestXmlTrace(String path, CustomXmlTraceDefinition createDefinition, int blockSize) throws TmfTraceException {
- super(null, createDefinition, path, blockSize);
- }
-
- @Override
- protected ITmfTraceIndexer createIndexer(int interval) {
- return new TestIndexer(this, interval);
- }
-
- @Override
- public TestIndexer getIndexer() {
- return (TestIndexer) super.getIndexer();
- }
- }
-} \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui.tests/src/org/eclipse/linuxtools/tmf/ui/tests/trace/CustomXmlTraceBadlyFormedTest.java b/lttng/org.eclipse.linuxtools.tmf.ui.tests/src/org/eclipse/linuxtools/tmf/ui/tests/trace/CustomXmlTraceBadlyFormedTest.java
deleted file mode 100644
index a5e6e71c98..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui.tests/src/org/eclipse/linuxtools/tmf/ui/tests/trace/CustomXmlTraceBadlyFormedTest.java
+++ /dev/null
@@ -1,74 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 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:
- * Matthew Khouzam - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.tests.trace;
-
-import static org.junit.Assert.fail;
-
-import java.io.File;
-import java.util.ArrayList;
-import java.util.Collection;
-
-import org.eclipse.core.runtime.IStatus;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.junit.runners.Parameterized;
-import org.junit.runners.Parameterized.Parameters;
-
-/**
- * Malformed xml test, dangerous errors
- * @author Matthew Khouzam
- *
- */
-@RunWith(Parameterized.class)
-public class CustomXmlTraceBadlyFormedTest extends CustomXmlTraceTest {
-
- private final static String pathname = "tracesets/xml/malformed";
-
- /**
- * This should create the parameters to launch the project
- *
- * @return the path of the parameters
- */
- @Parameters(name = "{index}: path {0}")
- public static Collection<Object[]> getFiles() {
- File[] malformedFiles = (new File(pathname)).listFiles();
- Collection<Object[]> params = new ArrayList<>();
- for (File f : malformedFiles) {
- Object[] arr = new Object[] { f.getAbsolutePath() };
- params.add(arr);
- }
- return params;
- }
-
- /**
- * Test all the invalid xml files
- */
- @Test
- public void testBadlyFormed() {
- IStatus valid = getTrace().validate(null, getPath());
- if (IStatus.ERROR != valid.getSeverity()) {
- fail(valid.toString());
- }
- }
-
- /**
- * ctor
- *
- * @param filePath
- * the path
- */
- public CustomXmlTraceBadlyFormedTest(String filePath) {
- this.setPath(filePath);
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui.tests/src/org/eclipse/linuxtools/tmf/ui/tests/trace/CustomXmlTraceInvalidTest.java b/lttng/org.eclipse.linuxtools.tmf.ui.tests/src/org/eclipse/linuxtools/tmf/ui/tests/trace/CustomXmlTraceInvalidTest.java
deleted file mode 100644
index f5a1209b61..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui.tests/src/org/eclipse/linuxtools/tmf/ui/tests/trace/CustomXmlTraceInvalidTest.java
+++ /dev/null
@@ -1,75 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 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:
- * Matthew Khouzam - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.tests.trace;
-
-import static org.junit.Assert.fail;
-
-import java.io.File;
-import java.util.ArrayList;
-import java.util.Collection;
-
-import org.eclipse.core.runtime.IStatus;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.junit.runners.Parameterized;
-import org.junit.runners.Parameterized.Parameters;
-
-/**
- * Invalid Xml files, random errors
- *
- * @author Matthew Khouzam
- *
- */
-@RunWith(Parameterized.class)
-public class CustomXmlTraceInvalidTest extends CustomXmlTraceTest{
-
- private final static String pathname = "tracesets/xml/invalid";
-
- /**
- * This should create the parameters to launch the project
- *
- * @return the path of the parameters
- */
- @Parameters(name = "{index}: path {0}")
- public static Collection<Object[]> getFiles() {
- File[] invalidFiles = (new File(pathname)).listFiles();
- Collection<Object[]> params = new ArrayList<>();
- for (File f : invalidFiles) {
- Object[] arr = new Object[] { f.getAbsolutePath() };
- params.add(arr);
- }
- return params;
- }
-
- /**
- * ctor
- *
- * @param filePath
- * the path
- */
- public CustomXmlTraceInvalidTest(String filePath) {
- setPath(filePath);
- }
-
- /**
- * Test all the invalid xml files
- */
- @Test
- public void testInvalid() {
- IStatus invalid = getTrace().validate(null, getPath());
- if (IStatus.ERROR != invalid.getSeverity()) {
- fail(getPath());
- }
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui.tests/src/org/eclipse/linuxtools/tmf/ui/tests/trace/CustomXmlTraceTest.java b/lttng/org.eclipse.linuxtools.tmf.ui.tests/src/org/eclipse/linuxtools/tmf/ui/tests/trace/CustomXmlTraceTest.java
deleted file mode 100644
index 1c40531a38..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui.tests/src/org/eclipse/linuxtools/tmf/ui/tests/trace/CustomXmlTraceTest.java
+++ /dev/null
@@ -1,75 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013, 2014 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:
- * Matthew Khouzam - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.tests.trace;
-
-import java.util.ArrayList;
-
-import org.eclipse.linuxtools.tmf.core.parsers.custom.CustomXmlTrace;
-import org.eclipse.linuxtools.tmf.core.parsers.custom.CustomXmlTraceDefinition;
-import org.eclipse.linuxtools.tmf.core.parsers.custom.CustomTraceDefinition.OutputColumn;
-import org.eclipse.linuxtools.tmf.core.parsers.custom.CustomXmlTraceDefinition.InputElement;
-import org.eclipse.linuxtools.tmf.core.project.model.TmfTraceType;
-import org.junit.Before;
-
-/**
- * Abstract test parent
- *
- * @author Matthew Khouzam
- *
- */
-public abstract class CustomXmlTraceTest {
- private CustomXmlTraceDefinition cxtd;
- /**
- * The trace to use to "validate" the xml files
- */
- private CustomXmlTrace t;
- /**
- * The path of the trace
- */
- private String path;
-
-
- /**
- * set up directories
- */
- @Before
- public void init() {
- cxtd = new CustomXmlTraceDefinition(TmfTraceType.CUSTOM_XML_CATEGORY, "test", new InputElement(), new ArrayList<OutputColumn>(), "s");
- t = new CustomXmlTrace(cxtd);
- }
-
-
- /**
- * @return the trace
- */
- public CustomXmlTrace getTrace() {
- return t;
- }
-
-
- /**
- * @return the path
- */
- public String getPath() {
- return path;
- }
-
-
- /**
- * @param path the path to set
- */
- public void setPath(String path) {
- this.path = path;
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui.tests/src/org/eclipse/linuxtools/tmf/ui/tests/trace/CustomXmlTraceValidTest.java b/lttng/org.eclipse.linuxtools.tmf.ui.tests/src/org/eclipse/linuxtools/tmf/ui/tests/trace/CustomXmlTraceValidTest.java
deleted file mode 100644
index 970d66175b..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui.tests/src/org/eclipse/linuxtools/tmf/ui/tests/trace/CustomXmlTraceValidTest.java
+++ /dev/null
@@ -1,75 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 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:
- * Matthew Khouzam - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.tests.trace;
-
-import static org.junit.Assert.fail;
-
-import java.io.File;
-import java.util.ArrayList;
-import java.util.Collection;
-
-import org.eclipse.core.runtime.IStatus;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.junit.runners.Parameterized;
-import org.junit.runners.Parameterized.Parameters;
-
-/**
- * Well formed XML
- * @author Matthew Khouzam
- *
- */
-@RunWith(Parameterized.class)
-public class CustomXmlTraceValidTest extends CustomXmlTraceTest {
-
- private final static String pathname = "tracesets/xml/valid";
-
-
- /**
- * This should create the parameters to launch the project
- *
- * @return the path of the parameters
- */
- @Parameters(name = "{index}: path {0}")
- public static Collection<Object[]> getFiles() {
- File[] validFiles = (new File(pathname)).listFiles();
- Collection<Object[]> params = new ArrayList<>();
- for (File f : validFiles) {
- Object[] arr = new Object[] { f.getAbsolutePath() };
- params.add(arr);
- }
- return params;
- }
-
- /**
- * Test all the invalid xml files
- */
- @Test
- public void testValid() {
- IStatus valid = getTrace().validate(null, getPath());
- if (IStatus.OK != valid.getSeverity()) {
- fail(valid.toString());
- }
- }
-
- /**
- * ctor
- *
- * @param filePath
- * the path
- */
- public CustomXmlTraceValidTest(String filePath) {
- this.setPath(filePath);
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui.tests/src/org/eclipse/linuxtools/tmf/ui/tests/views/uml2sd/dialogs/AllTests.java b/lttng/org.eclipse.linuxtools.tmf.ui.tests/src/org/eclipse/linuxtools/tmf/ui/tests/views/uml2sd/dialogs/AllTests.java
deleted file mode 100644
index f20c764c28..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui.tests/src/org/eclipse/linuxtools/tmf/ui/tests/views/uml2sd/dialogs/AllTests.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011-2013 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:
- * Bernd Hufmann - Initial API and implementation
- * Alexandre Montplaisir - Port to JUnit4
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.tests.views.uml2sd.dialogs;
-
-import org.junit.runner.RunWith;
-import org.junit.runners.Suite;
-
-/**
- * Test suite of UML2SD dialog tests.
- */
-@RunWith(Suite.class)
-@Suite.SuiteClasses({
- CriteriaTest.class
-})
-public class AllTests {
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui.tests/src/org/eclipse/linuxtools/tmf/ui/tests/views/uml2sd/dialogs/CriteriaTest.java b/lttng/org.eclipse.linuxtools.tmf.ui.tests/src/org/eclipse/linuxtools/tmf/ui/tests/views/uml2sd/dialogs/CriteriaTest.java
deleted file mode 100644
index c6b332332a..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui.tests/src/org/eclipse/linuxtools/tmf/ui/tests/views/uml2sd/dialogs/CriteriaTest.java
+++ /dev/null
@@ -1,304 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011-2013 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:
- * Bernd Hufmann - Initial API and implementation
- * Alexandre Montplaisir - Port to JUnit4
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.tests.views.uml2sd.dialogs;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertNull;
-import static org.junit.Assert.assertTrue;
-
-import java.util.List;
-import java.util.regex.Pattern;
-
-import org.eclipse.jface.dialogs.DialogSettings;
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.dialogs.Criteria;
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.dialogs.FilterCriteria;
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.handlers.provider.ISDFilterProvider;
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.handlers.provider.ISDGraphNodeSupporter;
-import org.junit.Test;
-
-/**
- * Test cases to test Criteria class.
- */
-public class CriteriaTest {
-
- /**
- * Test default constructor.
- */
- @Test
- public void testCriteria() {
- Criteria criteria = new Criteria();
- assertFalse("testCriteria", criteria.isAsyncMessageReturnSelected());
- assertFalse("testCriteria", criteria.isAsyncMessageSelected());
- assertFalse("testCriteria", criteria.isCaseSenstiveSelected());
- assertFalse("testCriteria", criteria.isLifeLineSelected());
- assertFalse("testCriteria", criteria.isStopSelected());
- assertFalse("testCriteria", criteria.isSyncMessageReturnSelected());
- assertFalse("testCriteria", criteria.isSyncMessageSelected());
- assertNull("testCriteria", criteria.getExpression());
- assertNull("testCriteria", criteria.getPattern());
- }
-
- /**
- * Test copy constructor.
- */
- @Test
- public void testCriteriaCriteria() {
- Criteria criteria = new Criteria();
- criteria.setExpression("test");
- criteria.setLifeLineSelected(true);
- criteria.setSyncMessageSelected(true);
-
- Criteria copy = new Criteria(criteria);
-
- assertEquals("testCriteriaCriteria", criteria.isAsyncMessageReturnSelected(), copy.isAsyncMessageReturnSelected());
- assertEquals("testCriteriaCriteria", criteria.isAsyncMessageSelected(), copy.isAsyncMessageSelected());
- assertEquals("testCriteriaCriteria", criteria.isCaseSenstiveSelected(), copy.isCaseSenstiveSelected());
- assertEquals("testCriteriaCriteria", criteria.isLifeLineSelected(), copy.isLifeLineSelected());
- assertEquals("testCriteriaCriteria", criteria.isStopSelected(), copy.isStopSelected());
- assertEquals("testCriteriaCriteria", criteria.isSyncMessageReturnSelected(), copy.isSyncMessageReturnSelected());
- assertEquals("testCriteriaCriteria", criteria.isSyncMessageSelected(), copy.isSyncMessageSelected());
- assertEquals("testCriteriaCriteria", criteria.getExpression(), copy.getExpression());
- assertEquals("testCriteriaCriteria", criteria.getPattern().pattern(), copy.getPattern().pattern());
- }
-
- /**
- * Test accessor methods.
- */
- @Test
- public void testAccessors() {
- Criteria criteria = new Criteria();
- criteria.setAsyncMessageReturnSelected(true);
- criteria.setAsyncMessageSelected(true);
- criteria.setCaseSenstiveSelected(true);
- criteria.setLifeLineSelected(true);
- criteria.setStopSelected(true);
- criteria.setSyncMessageReturnSelected(true);
- criteria.setSyncMessageSelected(true);
- criteria.setExpression("test.*");
-
- // set true to all flags
- assertTrue("testAccessors", criteria.isAsyncMessageReturnSelected());
- assertTrue("testAccessors", criteria.isAsyncMessageSelected());
- assertTrue("testAccessors", criteria.isCaseSenstiveSelected());
- assertTrue("testAccessors", criteria.isLifeLineSelected());
- assertTrue("testAccessors", criteria.isStopSelected());
- assertTrue("testAccessors", criteria.isSyncMessageReturnSelected());
- assertTrue("testAccessors", criteria.isSyncMessageSelected());
- assertEquals("testAccessors", "test.*", criteria.getExpression());
- assertNotNull("testAccessors", criteria.getPattern());
- assertEquals("testAccessors", "test.*", criteria.getPattern().pattern());
- assertEquals("testAccessors", 0, criteria.getPattern().flags() & Pattern.CASE_INSENSITIVE);
-
- // set false to all flags
- criteria.setAsyncMessageReturnSelected(false);
- criteria.setAsyncMessageSelected(false);
- criteria.setCaseSenstiveSelected(false);
- criteria.setLifeLineSelected(false);
- criteria.setStopSelected(false);
- criteria.setSyncMessageReturnSelected(false);
- criteria.setSyncMessageSelected(false);
-
- assertFalse("testAccessors", criteria.isAsyncMessageReturnSelected());
- assertFalse("testAccessors", criteria.isAsyncMessageSelected());
- assertFalse("testAccessors", criteria.isCaseSenstiveSelected());
- assertFalse("testAccessors", criteria.isLifeLineSelected());
- assertFalse("testAccessors", criteria.isStopSelected());
- assertFalse("testAccessors", criteria.isSyncMessageReturnSelected());
- assertFalse("testAccessors", criteria.isSyncMessageSelected());
- assertEquals("testAccessors", "test.*", criteria.getExpression());
- assertNotNull("testAccessors", criteria.getPattern());
- assertEquals("testAccessors", "test.*", criteria.getPattern().pattern());
- assertEquals("testAccessors", Pattern.CASE_INSENSITIVE, criteria.getPattern().flags() & Pattern.CASE_INSENSITIVE);
- }
-
- /**
- * Test compartTo method.
- */
- @Test
- public void testCompareTo() {
- Criteria criteria = new Criteria();
- criteria.setExpression("test");
- criteria.setLifeLineSelected(true);
- criteria.setSyncMessageSelected(true);
-
- Criteria copy = new Criteria(criteria);
- assertTrue("testCompareTo", criteria.compareTo(copy));
- assertTrue("testCompareTo", copy.compareTo(criteria));
- assertTrue("testCompareTo", criteria.compareTo(criteria));
-
- copy.setExpression(null);
- assertFalse("testCompareTo", criteria.compareTo(copy));
- assertFalse("testCompareTo", copy.compareTo(criteria));
-
- criteria.setExpression(null);
- assertTrue("testCompareTo", criteria.compareTo(copy));
- assertTrue("testCompareTo", copy.compareTo(criteria));
-
- criteria.setExpression("test");
- copy.setExpression("test.*[12345]");
- assertFalse("testCompareTo", criteria.compareTo(copy));
- assertFalse("testCompareTo", copy.compareTo(criteria));
-
- copy.setExpression("test");
- copy.setAsyncMessageReturnSelected(true);
- assertFalse("testCompareTo", criteria.compareTo(copy));
- assertFalse("testCompareTo", copy.compareTo(criteria));
- }
-
- /**
- * Test save to disk.
- */
- @Test
- public void testSave() {
- DialogSettings settings = new DialogSettings("mysettings");
-
- Criteria criteria = new Criteria();
- criteria.setExpression("test");
- criteria.setLifeLineSelected(true);
- criteria.setSyncMessageSelected(true);
-
- // Save the criteria to the dialog settings
- criteria.save(settings);
-
- // Check if all values are saved as expected
- assertEquals("testSave", "test", settings.get("expression"));
- assertEquals("testSave", "false", settings.get("isCaseSenstiveSelected"));
- assertEquals("testSave", "false", settings.get("isAsyncMessageReturnSelected"));
- assertEquals("testSave", "false", settings.get("isAsyncMessageSelected"));
- assertEquals("testSave", "true", settings.get("isLifeLineSelected"));
- assertEquals("testSave", "false", settings.get("isStopSelected"));
- assertEquals("testSave", "false", settings.get("isSyncMessageReturnSelected"));
- assertEquals("testSave", "true", settings.get("isSyncMessageSelected"));
- }
-
- /**
- * Test restore from disk.
- */
- @Test
- public void testLoad() {
- DialogSettings settings = new DialogSettings("mysettings");
-
- Criteria criteria = new Criteria();
- criteria.setExpression("test");
- criteria.setLifeLineSelected(true);
- criteria.setSyncMessageSelected(true);
-
- // Save the criteria to the dialog settings
- criteria.save(settings);
-
- // Load the criteria from the dialog settings
- Criteria copy = new Criteria();
- copy.load(settings);
-
- assertTrue("testCompareTo", criteria.compareTo(copy));
- assertTrue("testCompareTo", copy.compareTo(criteria));
- }
-
- /**
- * Test graph node summary usage.
- */
- @Test
- public void testGetGraphNodeSummary() {
-
- // Create a dummy provider
- ISDFilterProvider provider = new ISDFilterProvider() {
-
- @Override
- public boolean isNodeSupported(int nodeType) {
- return true;
- }
-
- @Override
- public String getNodeName(int nodeType, String loaderClassName) {
- // not clear about purpose loaderClassName
- switch (nodeType) {
- case ISDGraphNodeSupporter.LIFELINE:
- return "MyLifeline";
- case ISDGraphNodeSupporter.SYNCMESSAGE:
- return "MySyncMessage";
- case ISDGraphNodeSupporter.SYNCMESSAGERETURN:
- return "MySyncMessageReturn";
- case ISDGraphNodeSupporter.ASYNCMESSAGE:
- return "MyAsyncMessage";
- case ISDGraphNodeSupporter.ASYNCMESSAGERETURN:
- return "MyAsyncMessageReturn";
- case ISDGraphNodeSupporter.STOP:
- return "MyStop";
- default:
- return "";
- }
- }
-
- @Override
- public boolean filter(List<FilterCriteria> filters) {
- return false;
- }
- };
-
- Criteria criteria = new Criteria();
- criteria.setExpression("BALL_.*");
- criteria.setAsyncMessageReturnSelected(true);
- criteria.setAsyncMessageSelected(true);
- criteria.setLifeLineSelected(true);
- criteria.setStopSelected(true);
- criteria.setSyncMessageReturnSelected(true);
- criteria.setSyncMessageSelected(true);
-
- // Test summary when provider is available
- String summary = criteria.getGraphNodeSummary(provider, null);
- assertEquals("testGetGraphNodeSummary", "[MyLifeline or MySyncMessage or MySyncMessageReturn or MyAsyncMessage or MyAsyncMessageReturn or MyStop]", summary);
-
- // Test default summary when no provider is provided
- summary = criteria.getGraphNodeSummary(null, null);
- assertEquals("testGetGraphNodeSummary", "[Lifeline or Synchronous message or Synchronous message return or Asynchronous message or Asynchronous message return or Stop]", summary);
-
- }
-
- /**
- * Test matches algorithm.
- */
- @Test
- public void testMatches() {
- Criteria criteria = new Criteria();
- criteria.setExpression("BALL_.*");
-
- /*
- * Note that method matches uses the Pattern class. Test
- * only case sensitive/case insensitive case. All other regular
- * expression cases are covered by Pattern class.
- */
-
- // case insensitive
- assertTrue("testMatches", criteria.matches("BALL_REQUEST"));
- assertTrue("testMatches", criteria.matches("BALL_REPLY"));
- assertTrue("testMatches", criteria.matches("BALL_R"));
- assertTrue("testMatches", criteria.matches("ball_request"));
- assertTrue("testMatches", criteria.matches("ball_request"));
- assertFalse("testMatches", criteria.matches("NOBALL_REQUEST"));
- assertFalse("testMatches", criteria.matches("BLABLA"));
-
- // case sensitive
- criteria.setCaseSenstiveSelected(true);
- assertTrue("testMatches", criteria.matches("BALL_REQUEST"));
- assertTrue("testMatches", criteria.matches("BALL_REPLY"));
- assertTrue("testMatches", criteria.matches("BALL_R"));
- assertFalse("testMatches", criteria.matches("ball_request"));
- assertFalse("testMatches", criteria.matches("ball_request"));
- assertFalse("testMatches", criteria.matches("NOBALL_REQUEST"));
- assertFalse("testMatches", criteria.matches("BLABLA"));
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui.tests/src/org/eclipse/linuxtools/tmf/ui/tests/views/uml2sd/load/AllTests.java b/lttng/org.eclipse.linuxtools.tmf.ui.tests/src/org/eclipse/linuxtools/tmf/ui/tests/views/uml2sd/load/AllTests.java
deleted file mode 100644
index 12ba3a7047..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui.tests/src/org/eclipse/linuxtools/tmf/ui/tests/views/uml2sd/load/AllTests.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011, 2013 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:
- * Bernd Hufmann - Initial API and implementation
- * Alexandre Montplaisir - Port to JUnit4
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.tests.views.uml2sd.load;
-
-import org.junit.runner.RunWith;
-import org.junit.runners.Suite;
-
-/**
- * Test suite for testing loader manager of UML2SD extension point.
- */
-@RunWith(Suite.class)
-@Suite.SuiteClasses({
- LoadersManagerTest.class
-})
-public class AllTests {
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui.tests/src/org/eclipse/linuxtools/tmf/ui/tests/views/uml2sd/load/LoadersManagerTest.java b/lttng/org.eclipse.linuxtools.tmf.ui.tests/src/org/eclipse/linuxtools/tmf/ui/tests/views/uml2sd/load/LoadersManagerTest.java
deleted file mode 100644
index 8560b3616e..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui.tests/src/org/eclipse/linuxtools/tmf/ui/tests/views/uml2sd/load/LoadersManagerTest.java
+++ /dev/null
@@ -1,157 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2011, 2013 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:
- * Bernd Hufmann - Initial API and implementation
- * Alexandre Montplaisir - Port to JUnit4
- **********************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.tests.views.uml2sd.load;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertNull;
-import static org.junit.Assert.fail;
-
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.linuxtools.internal.tmf.ui.Activator;
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.SDView;
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.load.IUml2SDLoader;
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.load.LoadersManager;
-import org.eclipse.ui.PlatformUI;
-import org.junit.Test;
-
-/**
- * Test cases class to test loader manager of UML2SD extension point.
- */
-public class LoadersManagerTest {
-
- private final static String SDVIEW_WITH_ONE_LOADER = "org.eclipse.linuxtools.tmf.ui.tests.testSDView1Loader";
- private final static String SDVIEW_WITH_MULTIPLE_LOADER = "org.eclipse.linuxtools.tmf.ui.tests.testSDView2Loaders";
- private final static String TEST_LOADER_CLASS_NAME = "org.eclipse.linuxtools.tmf.ui.tests.uml2sd.load.TestLoaders";
- private final static String TMF_UML2SD_LOADER_CLASS_NAME = "org.eclipse.linuxtools.tmf.ui.views.uml2sd.loader.TmfUml2SDSyncLoader";
-
- private static final String LOADER_TAG = "uml2SDLoader";
- private static final String LOADER_PREFIX = LOADER_TAG + ".";
-
- /**
- * Tests of loader manager singleton class.
- */
- @Test
- public void testLoaderManager() {
- SDView view = null;
- try {
-
- /*
- * Test creation of a loader (one per SD view)
- */
-
- // Open view
- // Note this will create the default loader!
- view = (SDView)PlatformUI.getWorkbench()
- .getActiveWorkbenchWindow()
- .getActivePage()
- .showView(SDVIEW_WITH_ONE_LOADER);
-
- IUml2SDLoader defaultLoader = LoadersManager.getInstance().getCurrentLoader(SDVIEW_WITH_ONE_LOADER, view);
- assertNotNull("testLoaderManager", defaultLoader);
-
- // Test createLoader where loader doesn't exist
- assertNull("testLoaderManager", LoadersManager.getInstance().createLoader("blabla", view));
-
- // Test createLoader
- IUml2SDLoader loader = LoadersManager.getInstance().createLoader(TEST_LOADER_CLASS_NAME, view);
-
- assertNotNull("testLoaderManager", loader);
- assertEquals("testLoaderManager", "Test Loader", loader.getTitleString());
- assertEquals("testLoaderManager", loader, LoadersManager.getInstance().getCurrentLoader(SDVIEW_WITH_ONE_LOADER));
-
- // compare loader and default loader. Even if they are the same class, they are different instances
- assertFalse("testLoaderManager", loader==defaultLoader);
-
- // test getCurrentLoader(viewId, view)
- IUml2SDLoader loader2 = LoadersManager.getInstance().getCurrentLoader(SDVIEW_WITH_ONE_LOADER, view);
- assertEquals("testLoaderManager", loader, loader2);
-
- // Hide the view
- PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().hideView(view);
-
- // test that view restores the previous associated loader
- view = (SDView)PlatformUI.getWorkbench()
- .getActiveWorkbenchWindow()
- .getActivePage()
- .showView(SDVIEW_WITH_ONE_LOADER);
-
- // Well, this is the only way test which loader is set
- assertEquals("testLoaderManager", "Sequence Diagram - First Page", view.getFrame().getName());
-
- // Test view == null
- assertNull("testLoaderManager", LoadersManager.getInstance().createLoader(TEST_LOADER_CLASS_NAME, null));
-
- // Hide the view
- PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().hideView(view);
-
- /*
- * Test creation of loaders with re-uses the same SD view
- */
-
- // test that view restores the previous associated loader
- view = (SDView)PlatformUI.getWorkbench()
- .getActiveWorkbenchWindow()
- .getActivePage()
- .showView(SDVIEW_WITH_MULTIPLE_LOADER);
-
- // Test that default loader is set. Note that 2 default loaders are define in the plugin.xml and the
- // the first one should be selected.
-
- // Well, this is the only way test which loader is set
- assertEquals("testLoaderManager", "Sequence Diagram - First Page", view.getFrame().getName());
-
- loader = LoadersManager.getInstance().getCurrentLoader(SDVIEW_WITH_MULTIPLE_LOADER, view);
- assertNotNull("testLoaderManager", loader);
- assertEquals("testLoaderManager", "Test Loader", loader.getTitleString());
- assertEquals("testLoaderManager", loader, LoadersManager.getInstance().getCurrentLoader(SDVIEW_WITH_MULTIPLE_LOADER));
-
- // Test createLoader for loader with class name TMF_UML2SD_LOADER_CLASS_NAME
- loader = LoadersManager.getInstance().createLoader(TMF_UML2SD_LOADER_CLASS_NAME, view);
-
- assertNotNull("testLoaderManager", loader);
- assertEquals("testLoaderManager", "Component Interactions", loader.getTitleString());
- assertEquals("testLoaderManager", loader, LoadersManager.getInstance().getCurrentLoader(SDVIEW_WITH_MULTIPLE_LOADER));
-
- // Verify if the correct loader is stored in the preferences as the current loader for this view
- assertEquals("testLoaderManager", TMF_UML2SD_LOADER_CLASS_NAME, getSavedLoader(SDVIEW_WITH_MULTIPLE_LOADER));
-
- // Test createLoader for loader with class name TEST_LOADER_CLASS_NAME
- loader = LoadersManager.getInstance().createLoader(TEST_LOADER_CLASS_NAME, view);
-
- assertNotNull("testLoaderManager", loader);
- assertEquals("testLoaderManager", "Test Loader", loader.getTitleString());
- assertEquals("testLoaderManager", loader, LoadersManager.getInstance().getCurrentLoader(SDVIEW_WITH_MULTIPLE_LOADER));
-
- // Verify if the correct loader is stored in the preferences as the current loader for this view
- assertEquals("testLoaderManager", TEST_LOADER_CLASS_NAME, getSavedLoader(SDVIEW_WITH_MULTIPLE_LOADER));
- assertEquals("testLoaderManager", TEST_LOADER_CLASS_NAME, LoadersManager.getInstance().getSavedLoader(SDVIEW_WITH_MULTIPLE_LOADER));
-
- // Hide the view
- PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().hideView(view);
-
- // Test reset loader
- LoadersManager.getInstance().resetLoader(SDVIEW_WITH_MULTIPLE_LOADER);
-
- } catch (Exception e) {
- e.printStackTrace();
- fail();
- }
- }
-
- private static String getSavedLoader(String viewId) {
- IPreferenceStore p = Activator.getDefault().getPreferenceStore();
- return p.getString(LOADER_PREFIX + viewId);
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui.tests/src/org/eclipse/linuxtools/tmf/ui/tests/views/uml2sd/loader/AllTests.java b/lttng/org.eclipse.linuxtools.tmf.ui.tests/src/org/eclipse/linuxtools/tmf/ui/tests/views/uml2sd/loader/AllTests.java
deleted file mode 100644
index 903ff5f4e9..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui.tests/src/org/eclipse/linuxtools/tmf/ui/tests/views/uml2sd/loader/AllTests.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011-2013 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:
- * Bernd Hufmann - Initial API and implementation
- * Alexandre Montplaisir - Port to JUnit4
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.tests.views.uml2sd.loader;
-
-import org.junit.runner.RunWith;
-import org.junit.runners.Suite;
-
-/**
- * Test suite for testing the TmfUml2SDSyncLoader class.
- *
- * @author Bernd Hufmann
- */
-@RunWith(Suite.class)
-@Suite.SuiteClasses({
- TmfUml2SDSyncLoaderExpTest.class,
- TmfUml2SDSyncLoaderFilterTest.class,
- TmfUml2SDSyncLoaderFindTest.class,
- TmfUml2SDSyncLoaderPagesTest.class,
- TmfUml2SDSyncLoaderSignalTest.class,
- TmfUml2SDSyncLoaderTimeTest.class
-})
-public class AllTests {
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui.tests/src/org/eclipse/linuxtools/tmf/ui/tests/views/uml2sd/loader/IUml2SDTestConstants.java b/lttng/org.eclipse.linuxtools.tmf.ui.tests/src/org/eclipse/linuxtools/tmf/ui/tests/views/uml2sd/loader/IUml2SDTestConstants.java
deleted file mode 100644
index 18e5edc071..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui.tests/src/org/eclipse/linuxtools/tmf/ui/tests/views/uml2sd/loader/IUml2SDTestConstants.java
+++ /dev/null
@@ -1,77 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011, 2013 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:
- * Bernd Hufmann - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.linuxtools.tmf.ui.tests.views.uml2sd.loader;
-
-/**
- * Common constants for the TMF UML2SD test cases
- * @author Bernd Hufmann
- */
-public interface IUml2SDTestConstants {
-
- /**
- * Timeout for waiting of jobs to finish (in milliseconds).
- */
- public static final int WAIT_FOR_JOBS_DELAY = 1000;
- /**
- * Timeout for waiting for GUI display to refresh (in milliseconds).
- */
- public static final int GUI_REFESH_DELAY = 1000;
- /**
- * Initial delay before indexing (in milliseconds).
- */
- public static final int INITIAL_INDEX_DELAY = 1000;
- /**
- * Delay after broadcasting a TMF signal (in milliseconds)
- */
- public static final int BROADCAST_DELAY = 2000;
- /**
- * Total number of pages of test trace.
- */
- public static final int TOTAL_NUMBER_OF_PAGES = 9;
- /**
- * Number of messages per page (as defined for loader class)
- */
- public static final int MAX_MESSEAGES_PER_PAGE = 10000;
- /**
- * Number of messages of last page of the test trace.
- */
- public static final int NUM_MESSAGES_OF_LAST_PAGE = 32;
- /**
- * Default number of lifelines of test trace.
- */
- public static final int DEFAULT_NUM_LIFELINES = 2;
- /**
- * Number of lifelines of test trace when all lifelines are visible.
- */
- public static final int NUM_OF_ALL_LIFELINES = 3;
- /**
- * Page number of test trace where all lifelines are visible.
- */
- public static final int PAGE_OF_ALL_LIFELINES = 4;
- /**
- * Time scale of test trace.
- */
- public static final byte TIME_SCALE = -9;
- /**
- * Master player name (property of test trace)
- */
- public static final String MASTER_PLAYER_NAME = "Master";
- /**
- * First player name (property of test trace)
- */
- public static final String FIRST_PLAYER_NAME = "player1";
- /**
- * Second player name (property of test trace)
- */
- public static final String SECOND_PLAYER_NAME = "player2";
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui.tests/src/org/eclipse/linuxtools/tmf/ui/tests/views/uml2sd/loader/IUml2SdSignalValidator.java b/lttng/org.eclipse.linuxtools.tmf.ui.tests/src/org/eclipse/linuxtools/tmf/ui/tests/views/uml2sd/loader/IUml2SdSignalValidator.java
deleted file mode 100644
index 186f0a9650..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui.tests/src/org/eclipse/linuxtools/tmf/ui/tests/views/uml2sd/loader/IUml2SdSignalValidator.java
+++ /dev/null
@@ -1,103 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011, 2013 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:
- * Bernd Hufmann - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.linuxtools.tmf.ui.tests.views.uml2sd.loader;
-
-import org.eclipse.linuxtools.tmf.core.timestamp.TmfTimeRange;
-import org.eclipse.linuxtools.tmf.core.timestamp.TmfTimestamp;
-
-/**
- * Interface for testing signal handling within TmfUml2SD
- *
- * @author Bernd Hufmann
- */
-public interface IUml2SdSignalValidator {
- /**
- * @return if signal is received or not
- */
- boolean isSignalReceived();
- /**
- * Sets signal received value
- * @param received boolean value to set
- */
- void setSignalReceived(boolean received);
-
- /**
- * @return whether source of signal is correct or not
- */
- boolean isSourceError();
- /**
- * Sets the source error flag.
- * @param fIsSourceError boolean value to set
- */
- void setSourceError(boolean fIsSourceError);
-
- /**
- * @return whether received current time is correct or not
- */
- boolean isCurrentTimeError();
- /**
- * Sets the current time error flag.
- * @param fIsCurrentTimeError boolean value to set
- */
- void setCurrentTimeError(boolean fIsCurrentTimeError);
-
- /**
- * @return whether received range is correct or not
- */
- boolean isRangeError();
- /**
- * Sets the range error flag.
- * @param fIsRangeError boolean value to set
- */
- void setRangeError(boolean fIsRangeError);
-
- /**
- * @return whether signal was received or not
- */
- boolean isSignalError();
- /**
- * Sets signal error flag.
- * @param fIsSignalError boolean value to set
- */
- void setSignalError(boolean fIsSignalError);
-
- /**
- * @return source of expected signal.
- */
- Object getSource();
- /**
- * Sets source of expected signal
- * @param source expected source component
- */
- void setSource(Object source);
-
- /**
- * @return the expected current time.
- */
- TmfTimestamp getCurrentTime();
- /**
- * Sets the expected current time
- * @param currentTime Time to set
- */
- void setCurrentTime(TmfTimestamp currentTime);
-
- /**
- * @return the expected current time range.
- */
- TmfTimeRange getCurrentRange();
- /**
- * Sets the expected current time range.
- * @param currentRange the expected current time range to set
- */
- void setCurrentRange(TmfTimeRange currentRange);
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui.tests/src/org/eclipse/linuxtools/tmf/ui/tests/views/uml2sd/loader/TmfUml2SDSyncLoaderExpTest.java b/lttng/org.eclipse.linuxtools.tmf.ui.tests/src/org/eclipse/linuxtools/tmf/ui/tests/views/uml2sd/loader/TmfUml2SDSyncLoaderExpTest.java
deleted file mode 100644
index db364a8f70..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui.tests/src/org/eclipse/linuxtools/tmf/ui/tests/views/uml2sd/loader/TmfUml2SDSyncLoaderExpTest.java
+++ /dev/null
@@ -1,191 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011-2013 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:
- * Bernd Hufmann - Initial API and implementation
- * Alexandre Montplaisir - Port to JUnit4
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.tests.views.uml2sd.loader;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertTrue;
-import static org.junit.Assert.fail;
-
-import java.util.List;
-
-import org.eclipse.linuxtools.tmf.core.signal.TmfSignalManager;
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.dialogs.FilterCriteria;
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.dialogs.FilterListDialog;
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.handlers.provider.ISDAdvancedPagingProvider;
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.handlers.provider.ISDPagingProvider;
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.loader.TmfUml2SDSyncLoader;
-import org.junit.AfterClass;
-import org.junit.BeforeClass;
-import org.junit.Test;
-
-/**
- * Test cases for Experiment handling.
- *
- * @author Bernd Hufmann
- */
-public class TmfUml2SDSyncLoaderExpTest {
-
- private static Uml2SDTestFacility fFacility;
-
- /**
- * Initialization
- */
- @BeforeClass
- public static void setUpClass() {
- fFacility = Uml2SDTestFacility.getInstance();
- // create filter criteria (incl. save)
- fFacility.createFilterCriteria();
- fFacility.selectExperiment();
- }
-
- /**
- * Cleanup
- */
- @AfterClass
- public static void tearDownClass() {
- fFacility.disposeExperiment();
- fFacility = null;
- }
-
- /**
- * Verify setup
- *
- * Verified Methods: loader.getTitleString()
- * view.getPartName()
- * view.getFrame()
- * Expected result: Title, view name are set properly.
- */
- @Test
- public void verifySetup() {
- assertEquals("getTitleString", "Component Interactions", fFacility.getLoader().getTitleString());
- assertEquals("getPartName", "Sequence Diagram", fFacility.getSdView().getPartName());
- assertNotNull("getFrame", fFacility.getSdView().getFrame());
-
- fFacility.disposeExperiment();
-
- fFacility.delay(IUml2SDTestConstants.GUI_REFESH_DELAY);
- verifyPage(0, 0, false, false, 0);
- }
-
- /**
- * Verify cancellation of ongoing indexing.
- *
- * Verified Methods: loader.experimentSelected(), loader.experimentDisposed(), loader.nextPage()
- * Expected result: No exceptions during cancellation and nextPage() operation.
- *
- * Note this test is not sufficient to verify the concurrent access of the loader attributes
- * by multiple threads. Contention might happen but it's not guaranteed.
- */
- @Test
- public void verifyCancel() {
- for(int i = 0; i < 5; i++) {
- fFacility.selectExperiment(false);
- fFacility.delay(IUml2SDTestConstants.INITIAL_INDEX_DELAY);
-
- try {
- fFacility.disposeExperiment();
- fFacility.getLoader().nextPage(); // to test out of bounce
- // Note: To actually create an out of bound exception remove
- // safety-checks in nextPage/moveToPage of loader class
- } catch (Exception e){
- // No Exception expected
- fail("exp.select/exp.dispose");
- }
- }
- }
-
- /**
- * Verify disposed experiment.
- *
- * Verified Methods: loader.nextPage(),
- * loader.pagesCount(), loader.hasNextPage(), loader.hasPrevPage(),
- * frame.syncMessagesCount, frame.lifeLinesCount
- * Expected result: Page values and filter are reset.
- *
- * Note this test is not sufficient to verify the concurrent access of the loader attributes
- * by multiple threads. Contention might happen but it's not guaranteed.
- */
- @Test
- public void verifyDispose() {
- verifyPage(0, 0, false, false, 0);
-
- // verify that all enable filters are disabled after disposal
- List<FilterCriteria> filter = FilterListDialog.getGlobalFilters();
-
- for (FilterCriteria filterCriteria : filter) {
- assertFalse("exp.dispose", filterCriteria.isActive());
- }
- }
-
- /**
- * Verify the disposal of the loader.
- *
- * Verified Methods: loader.dispose()
- * Expected result: All providers are removed from SDView.
- */
- @Test
- public void verifyLoaderDispose() {
- fFacility.getLoader().dispose();
- assertTrue("loader.dispose", fFacility.getSdView().getSDPagingProvider() == null);
- assertTrue("loader.dispose", fFacility.getSdView().getSDFindProvider() == null);
- assertTrue("loader.dispose", fFacility.getSdView().getSDFilterProvider() == null);
- assertTrue("loader.dispose", fFacility.getSdView().getExtendedFindProvider() == null);
- assertTrue("loader.dispose", fFacility.getSdView().getExtendedFilterProvider() == null);
-
- // Set again loader as signal handler, which was removed by the the dispose above
- TmfSignalManager.register(fFacility.getLoader());
- }
-
- /**
- * Verify setViewer.
- *
- * Verified Methods: loader.setViewer
- * Expected result: Paging, find and filter provider are set
- */
- @Test
- public void testSetViewer() {
- fFacility.getLoader().setViewer(fFacility.getSdView());
- ISDPagingProvider pagingProvider = fFacility.getSdView().getSDPagingProvider();
- assertTrue("loader.setViewer", pagingProvider != null);
- assertTrue("loader.setViewer", pagingProvider instanceof ISDAdvancedPagingProvider);
- assertTrue("loader.setViewer", pagingProvider instanceof TmfUml2SDSyncLoader);
-
- assertTrue("loader.setViewer", fFacility.getSdView().getSDFindProvider() != null);
-
- assertTrue("loader.setViewer", fFacility.getSdView().getSDFilterProvider() != null);
-
- // All other providers are not used.
- assertTrue("loader.setViewer", fFacility.getSdView().getExtendedFindProvider() == null);
- assertTrue("loader.setViewer", fFacility.getSdView().getExtendedFilterProvider() == null);
- }
-
- private static void verifyPage(int currentPage, int numMsg, boolean hasNext,
- boolean hasPrev, int lifelineCount) {
- assertEquals("currentPage", currentPage, fFacility.getLoader().currentPage());
- assertEquals("syncMessageCount, ", numMsg, fFacility.getSdView().getFrame().syncMessageCount());
- if (hasNext) {
- assertTrue("hasNextpage", fFacility.getLoader().hasNextPage());
- } else {
- assertFalse("hasNextPage", fFacility.getLoader().hasNextPage());
- }
- if (hasPrev) {
- assertTrue("hasPrevPage", fFacility.getLoader().hasPrevPage());
- } else {
- assertFalse("hasPrevPage", fFacility.getLoader().hasPrevPage());
- }
- assertEquals("lifeLinesCount", lifelineCount, fFacility.getSdView().getFrame().lifeLinesCount());
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui.tests/src/org/eclipse/linuxtools/tmf/ui/tests/views/uml2sd/loader/TmfUml2SDSyncLoaderFilterTest.java b/lttng/org.eclipse.linuxtools.tmf.ui.tests/src/org/eclipse/linuxtools/tmf/ui/tests/views/uml2sd/loader/TmfUml2SDSyncLoaderFilterTest.java
deleted file mode 100644
index 90df11c936..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui.tests/src/org/eclipse/linuxtools/tmf/ui/tests/views/uml2sd/loader/TmfUml2SDSyncLoaderFilterTest.java
+++ /dev/null
@@ -1,213 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011-2013 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:
- * Bernd Hufmann - Initial API and implementation
- * Alexandre Montplaisir - Port to JUnit4
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.tests.views.uml2sd.loader;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertTrue;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.core.Lifeline;
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.core.SyncMessage;
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.dialogs.Criteria;
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.dialogs.FilterCriteria;
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.loader.TmfSyncMessage;
-import org.junit.After;
-import org.junit.AfterClass;
-import org.junit.Before;
-import org.junit.BeforeClass;
-import org.junit.Test;
-
-/**
- * Filter test cases.
- *
- * @author Bernd Hufmann
- */
-public class TmfUml2SDSyncLoaderFilterTest {
-
- private static Uml2SDTestFacility fFacility;
- private static List<FilterCriteria> filterToSave;
-
- /**
- * Initialization
- */
- @BeforeClass
- public static void setUpClass() {
- fFacility = Uml2SDTestFacility.getInstance();
- fFacility.selectExperiment();
-
- /* Create Filter Criteria */
- filterToSave = new ArrayList<>();
- Criteria criteria = new Criteria();
- criteria.setLifeLineSelected(true);
- criteria.setExpression(IUml2SDTestConstants.FIRST_PLAYER_NAME);
- filterToSave.add(new FilterCriteria(criteria, false, false));
-
- criteria = new Criteria();
- criteria.setLifeLineSelected(true);
- criteria.setExpression(IUml2SDTestConstants.MASTER_PLAYER_NAME);
- filterToSave.add(new FilterCriteria(criteria, false, false));
-
- criteria = new Criteria();
- criteria.setSyncMessageSelected(true);
- criteria.setExpression("BALL_.*");
- filterToSave.add(new FilterCriteria(criteria, false, false));
- }
-
- /**
- * Cleanup
- */
- @AfterClass
- public static void tearDownClass() {
- fFacility.disposeExperiment();
- fFacility = null;
- }
-
- /**
- * Test Case set-up code.
- */
- @Before
- public void beforeTest(){
- // Make sure we are at the first page
- fFacility.firstPage();
- }
-
- /**
- * Test case clean-up code.
- */
- @After
- public void afterTest() {
- filterToSave.get(0).setActive(false);
- filterToSave.get(1).setActive(false);
- filterToSave.get(2).setActive(false);
- fFacility.getLoader().filter(filterToSave);
- fFacility.delay(IUml2SDTestConstants.GUI_REFESH_DELAY);
- }
-
- /**
- * Verify the filter lifelines (1 out of 2 is hidden)
- *
- * Verified Methods: loader.filter()
- * Expected result: Only one lifeline is visible with no messages
- */
- @Test
- public void verifyFilter1of2() {
- // Initialize the filter
- filterToSave.get(0).setActive(true);
- // Run the filter
- fFacility.getLoader().filter(filterToSave);
- fFacility.delay(IUml2SDTestConstants.GUI_REFESH_DELAY);
-
- assertEquals("filter", 1, fFacility.getSdView().getFrame().lifeLinesCount());
- assertEquals("filter", IUml2SDTestConstants.MASTER_PLAYER_NAME, fFacility.getSdView().getFrame().getLifeline(0).getName());
- assertEquals("filter", 0, fFacility.getSdView().getFrame().syncMessageCount());
- }
-
-
- /**
- * Verify the filter lifelines (2 out of 2 are hidden)
- *
- * Verified Methods: loader.filter(), loader.fillCurrentPage()
- * Expected result: Neiter liflines nor messages are visible
- */
- @Test
- public void verifyFilter2of2() {
- // Initialize the filter
- filterToSave.get(0).setActive(true);
- filterToSave.get(1).setActive(true);
- // Run the filter
- fFacility.getLoader().filter(filterToSave);
- fFacility.delay(IUml2SDTestConstants.GUI_REFESH_DELAY);
-
- assertEquals("filter", 0, fFacility.getSdView().getFrame().lifeLinesCount());
- assertEquals("filter", 0, fFacility.getSdView().getFrame().syncMessageCount());
- }
-
- /**
- * Verify removal of all filters
- *
- * Verified Methods: loader.filter(), loader.fillCurrentPage()
- * Expected result: Everything is shown
- */
- @Test
- public void verifyRemoval() {
- // First set 2 filter
- filterToSave.get(0).setActive(true);
- filterToSave.get(1).setActive(true);
- fFacility.getLoader().filter(filterToSave);
- fFacility.delay(IUml2SDTestConstants.GUI_REFESH_DELAY);
-
- // Remove the filter
- filterToSave.get(0).setActive(false);
- filterToSave.get(1).setActive(false);
- fFacility.getLoader().filter(filterToSave);
- fFacility.delay(IUml2SDTestConstants.GUI_REFESH_DELAY);
-
- assertEquals("filter", 2, fFacility.getSdView().getFrame().lifeLinesCount());
- assertEquals("filter", IUml2SDTestConstants.MAX_MESSEAGES_PER_PAGE,
- fFacility.getSdView().getFrame().syncMessageCount());
- }
-
- /**
- * Verify filter of messages
- *
- * Verified Methods: loader.filter(), loader.fillCurrentPage()
- * Expected result: Only particular messages are shown
- */
- @Test
- public void verifyMessageFilter() {
- // Initialize the filter
- filterToSave.get(2).setActive(true);
- // Run the filter
- fFacility.getLoader().filter(filterToSave);
- fFacility.delay(IUml2SDTestConstants.GUI_REFESH_DELAY);
-
- assertEquals("filter", 2, fFacility.getSdView().getFrame().lifeLinesCount());
- assertEquals("filter", 6, fFacility.getSdView().getFrame().syncMessageCount());
-
- String messages[] = { "REGISTER_PLAYER_REQUEST", "REGISTER_PLAYER_REPLY",
- "GAME_REQUEST", "GAME_REPLY", "START_GAME_REQUEST", "START_GAME_REPLY" };
-
- for (int i = 0; i < messages.length; i++) {
- SyncMessage msg = fFacility.getSdView().getFrame().getSyncMessage(i);
- assertTrue("filter", msg instanceof TmfSyncMessage);
- assertEquals("filter", messages[i], msg.getName());
- }
- }
-
- /**
- * Verify filter lifeline (1 out of three lifelines). Note that filter was
- * set during change of page.
- *
- * Verified Methods: loader.filter(), loader.fillCurrentPage()
- * Expected result: Only 2 lifelines and their interactions are shown
- */
- @Test
- public void verifyFilter1of3() {
- filterToSave.get(0).setActive(true);
- fFacility.getLoader().filter(filterToSave);
- fFacility.setPage(IUml2SDTestConstants.PAGE_OF_ALL_LIFELINES);
-
- assertEquals("filter", 2, fFacility.getSdView().getFrame().lifeLinesCount());
- String lifelines[] = { IUml2SDTestConstants.MASTER_PLAYER_NAME, IUml2SDTestConstants.SECOND_PLAYER_NAME };
-
- for (int i = 0; i < lifelines.length; i++) {
- Lifeline line = fFacility.getSdView().getFrame().getLifeline(i);
- assertEquals("filter", lifelines[i], line.getName());
- }
-
- assertTrue(fFacility.getSdView().getFrame().syncMessageCount() > 0);
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui.tests/src/org/eclipse/linuxtools/tmf/ui/tests/views/uml2sd/loader/TmfUml2SDSyncLoaderFindTest.java b/lttng/org.eclipse.linuxtools.tmf.ui.tests/src/org/eclipse/linuxtools/tmf/ui/tests/views/uml2sd/loader/TmfUml2SDSyncLoaderFindTest.java
deleted file mode 100644
index d6f338cbcb..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui.tests/src/org/eclipse/linuxtools/tmf/ui/tests/views/uml2sd/loader/TmfUml2SDSyncLoaderFindTest.java
+++ /dev/null
@@ -1,338 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011-2013 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:
- * Bernd Hufmann - Initial API and implementation
- * Alexandre Montplaisir - Port to JUnit4
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.tests.views.uml2sd.loader;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertTrue;
-
-import java.util.List;
-
-import org.eclipse.linuxtools.tmf.core.timestamp.TmfTimeRange;
-import org.eclipse.linuxtools.tmf.core.timestamp.TmfTimestamp;
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.core.GraphNode;
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.core.Lifeline;
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.dialogs.Criteria;
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.handlers.provider.ISDGraphNodeSupporter;
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.loader.TmfSyncMessage;
-import org.junit.AfterClass;
-import org.junit.BeforeClass;
-import org.junit.Test;
-
-/**
- * Search Test Cases.
- *
- * @author Bernd Hufmann
- */
-public class TmfUml2SDSyncLoaderFindTest {
-
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
-
- // Test case 002 expected values
- final static private Uml2SDTestTimestamp TC_002_TIME_VALUE = new Uml2SDTestTimestamp(9788642104149L);
- final static private String TC_002_MESSAGE_NAME = "GAME_REQUEST";
- final static private int TC_002_PAGE_VALUE = 0;
- final static private int TC_002_START_OCCURRANCE = 3;
- final static private int TC_002_END_OCCURRANCE = TC_002_START_OCCURRANCE;
- final static private String TC_002_START_LIFELINE = IUml2SDTestConstants.FIRST_PLAYER_NAME;
- final static private String TC_002_END_LIFELINE = IUml2SDTestConstants.MASTER_PLAYER_NAME;
-
- // Test case 003 expected values
- final static private Uml2SDTestTimestamp TC_003_TIME_VALUE = new Uml2SDTestTimestamp(9788642113228L);
- final static private String TC_003_MESSAGE_NAME = "GAME_REPLY";
- final static private int TC_003_PAGE_VALUE = 0;
- final static private int TC_003_START_OCCURRANCE = 4;
- final static private int TC_003_END_OCCURRANCE = TC_003_START_OCCURRANCE;
- final static private String TC_003_START_LIFELINE = IUml2SDTestConstants.MASTER_PLAYER_NAME;
- final static private String TC_003_END_LIFELINE = IUml2SDTestConstants.FIRST_PLAYER_NAME;
-
- // Test case 004 expected values
- final static private Uml2SDTestTimestamp TC_004_TIME_VALUE = new Uml2SDTestTimestamp(9791893030834L);
- final static private String TC_004_MESSAGE_NAME = "GAME_REQUEST";
- final static private int TC_004_PAGE_VALUE = 4;
- final static private int TC_004_START_OCCURRANCE = 19;
- final static private int TC_004_END_OCCURRANCE = TC_004_START_OCCURRANCE;
- final static private String TC_004_START_LIFELINE = IUml2SDTestConstants.SECOND_PLAYER_NAME;
- final static private String TC_004_END_LIFELINE = IUml2SDTestConstants.MASTER_PLAYER_NAME;
-
- // Test case 005 expected values
- final static private int TC_005_PAGE_VALUE = 0;
- final static private String TC_005_LIFELINE_NAME = IUml2SDTestConstants.FIRST_PLAYER_NAME;
-
- // Test case 006 expected values
- final static private int TC_006_PAGE_VALUE = 4;
- final static private String TC_006_LIFELINE_NAME = IUml2SDTestConstants.SECOND_PLAYER_NAME;
-
- // Fields used in tests
- private static Uml2SDTestFacility fFacility;
- private static Uml2SDSignalValidator fTmfComponent;
- private static Criteria criteria;
- private static List<GraphNode> selection;
- private static TmfSyncMessage msg;
- private static Lifeline lifeline;
-
- // ------------------------------------------------------------------------
- // Operations
- // ------------------------------------------------------------------------
-
- /**
- * Initialization
- */
- @BeforeClass
- public static void setUpClass() {
- fFacility = Uml2SDTestFacility.getInstance();
- fFacility.selectExperiment();
- fTmfComponent = new Uml2SDSignalValidator();
- }
-
- /**
- * Cleanup
- */
- @AfterClass
- public static void tearDownClass() {
- fTmfComponent.dispose();
- fFacility.disposeExperiment();
- fFacility = null;
- }
-
- /**
- * Verify the ISDGraphNodeSupporter implementation.
- *
- * Verified Methods: loader.isNodeSupported(), loader.getNodeName()
- * Expected result: Correct values are returned, i.e. only lifelines and
- * sync. messages are supported.
- */
- @Test
- public void verifyISDGraphNodeSupporter() {
-
- fFacility.firstPage();
-
- assertTrue("isNodeSupported", fFacility.getLoader().isNodeSupported(ISDGraphNodeSupporter.LIFELINE));
- assertTrue("isNodeSupported", fFacility.getLoader().isNodeSupported(ISDGraphNodeSupporter.SYNCMESSAGE));
- assertFalse("isNodeSupported", fFacility.getLoader().isNodeSupported(ISDGraphNodeSupporter.SYNCMESSAGERETURN));
- assertFalse("isNodeSupported", fFacility.getLoader().isNodeSupported(ISDGraphNodeSupporter.ASYNCMESSAGE));
- assertFalse("isNodeSupported", fFacility.getLoader().isNodeSupported(ISDGraphNodeSupporter.ASYNCMESSAGERETURN));
- assertFalse("isNodeSupported", fFacility.getLoader().isNodeSupported(ISDGraphNodeSupporter.STOP));
-
- assertEquals("getNodeName", "Lifeline", fFacility.getLoader().getNodeName(ISDGraphNodeSupporter.LIFELINE, null));
- assertEquals("getNodeName", "Interaction", fFacility.getLoader().getNodeName(ISDGraphNodeSupporter.SYNCMESSAGE, null));
- assertEquals("getNodeName", "", fFacility.getLoader().getNodeName(ISDGraphNodeSupporter.SYNCMESSAGERETURN, null));
- assertEquals("getNodeName", "", fFacility.getLoader().getNodeName(ISDGraphNodeSupporter.ASYNCMESSAGE, null));
- assertEquals("getNodeName", "", fFacility.getLoader().getNodeName(ISDGraphNodeSupporter.ASYNCMESSAGERETURN, null));
- assertEquals("getNodeName", "", fFacility.getLoader().getNodeName(ISDGraphNodeSupporter.STOP, null));
-
- fFacility.getLoader().cancel();
- }
-
- /**
- * Verify 1st message find within page.
- *
- * Verified Methods: loader.find(), loader.moveToMessage()
- * Expected result: Correct message is selected
- */
- @Test
- public void verifyFirstMessage() {
- fFacility.firstPage();
-
- criteria = new Criteria();
- criteria.setSyncMessageSelected(true);
- criteria.setExpression("GAME_.*");
-
- // set expected values
- fTmfComponent.setSource(fFacility.getLoader());
- fTmfComponent.setCurrentTime(TC_002_TIME_VALUE);
- fTmfComponent.setCurrentRange(null); // not used
- fTmfComponent.setSignalReceived(false);
-
- fFacility.getLoader().find(criteria);
- // Wait for the selection to finish - needed due to new platform behavior in Juno
- fFacility.delay(IUml2SDTestConstants.GUI_REFESH_DELAY);
- assertTrue("find", fTmfComponent.isSignalReceived());
- assertFalse("find", fTmfComponent.isSignalError());
- assertFalse("find", fTmfComponent.isCurrentTimeError());
- assertFalse("find", fTmfComponent.isSourceError());
-
- assertEquals("find", TC_002_PAGE_VALUE, fFacility.getLoader().currentPage());
- selection = fFacility.getSdView().getSDWidget().getSelection();
- assertNotNull(selection);
- assertEquals("find", 1, selection.size());
- assertTrue(selection.get(0) instanceof TmfSyncMessage);
- msg = (TmfSyncMessage) selection.get(0);
- assertEquals("find", TC_002_MESSAGE_NAME, msg.getName());
- assertEquals("find", 0, TC_002_TIME_VALUE.compareTo(msg.getStartTime(), false));
- assertEquals("find", TC_002_START_OCCURRANCE, msg.getStartOccurrence());
- assertEquals("find", TC_002_END_OCCURRANCE, msg.getEndOccurrence());
- assertEquals("find", TC_002_START_LIFELINE, msg.getStartLifeline().getName());
- assertEquals("find", TC_002_END_LIFELINE, msg.getEndLifeline().getName());
-
- /**
- * Verify 2nd message find within page.
- *
- * Verified Methods: loader.find(), loader.moveToMessage()
- * Expected result: Correct message is selected
- */
-
- // set expected values
- fTmfComponent.setSource(fFacility.getLoader());
- fTmfComponent.setCurrentTime(TC_003_TIME_VALUE);
- fTmfComponent.setCurrentRange(null); // not used
-
- fTmfComponent.setSignalReceived(false);
-
- fFacility.getLoader().find(criteria);
- // Wait for the selection to finish - needed due to new platform behavior in Juno
- fFacility.delay(IUml2SDTestConstants.GUI_REFESH_DELAY);
- assertTrue("find", fTmfComponent.isSignalReceived());
- assertFalse("find", fTmfComponent.isSignalError());
- assertFalse("find", fTmfComponent.isCurrentTimeError());
- assertFalse("find", fTmfComponent.isSourceError());
-
- assertEquals("find", TC_003_PAGE_VALUE, fFacility.getLoader().currentPage());
- selection = fFacility.getSdView().getSDWidget().getSelection();
- assertNotNull(selection);
- assertEquals("find", 1, selection.size());
- assertTrue(selection.get(0) instanceof TmfSyncMessage);
- msg = (TmfSyncMessage) selection.get(0);
- assertEquals("find", TC_003_MESSAGE_NAME, msg.getName());
- assertEquals("find", 0, TC_003_TIME_VALUE.compareTo(msg.getStartTime(), false));
- assertEquals("find", TC_003_START_OCCURRANCE, msg.getStartOccurrence());
- assertEquals("find", TC_003_END_OCCURRANCE, msg.getEndOccurrence());
- assertEquals("find", TC_003_START_LIFELINE, msg.getStartLifeline().getName());
- assertEquals("find", TC_003_END_LIFELINE, msg.getEndLifeline().getName());
-
- /**
- * Verify 1st message across page.
- *
- * Verified Methods: loader.find(), loader.moveToPage(), loader.moveToMessage()
- * Expected result: Correct message is selected
- */
- // set expected values
- fTmfComponent.setSource(fFacility.getLoader());
- fTmfComponent.setCurrentTime(TC_004_TIME_VALUE);
- fTmfComponent.setCurrentRange(new TmfTimeRange(TmfTimestamp.BIG_BANG, TmfTimestamp.BIG_CRUNCH)); // not used
-
- fTmfComponent.setSignalReceived(false);
-
- fFacility.getLoader().find(criteria);
- fFacility.waitForJobs(); // find across pages uses a job
- // to make sure pageRequest has been started before calling waitforCompletion()
- fFacility.delay(IUml2SDTestConstants.GUI_REFESH_DELAY);
- fFacility.getLoader().waitForCompletion();
- fFacility.delay(IUml2SDTestConstants.GUI_REFESH_DELAY);
-
- assertTrue("find", fTmfComponent.isSignalReceived());
- assertFalse("find", fTmfComponent.isSignalError());
- assertFalse("find", fTmfComponent.isCurrentTimeError());
- assertFalse("find", fTmfComponent.isSourceError());
-
- assertEquals("find", TC_004_PAGE_VALUE, fFacility.getLoader().currentPage());
- selection = fFacility.getSdView().getSDWidget().getSelection();
- assertNotNull(selection);
- assertEquals("find", 1, selection.size());
- assertTrue(selection.get(0) instanceof TmfSyncMessage);
- msg = (TmfSyncMessage) selection.get(0);
- assertEquals("find", TC_004_MESSAGE_NAME, msg.getName());
- assertEquals("find", 0, TC_004_TIME_VALUE.compareTo(msg.getStartTime(), false));
- assertEquals("find", TC_004_START_OCCURRANCE, msg.getStartOccurrence());
- assertEquals("find", TC_004_END_OCCURRANCE, msg.getEndOccurrence());
- assertEquals("find", TC_004_START_LIFELINE, msg.getStartLifeline().getName());
- assertEquals("find", TC_004_END_LIFELINE, msg.getEndLifeline().getName());
-
- // cancel find and go back to first page
- fFacility.getLoader().cancel();
- }
-
- /**
- * Verify find of lifeline within page.
- *
- * Verified Methods: loader.find(), loader.moveToPage(), loader.moveToMessage()
- * Expected result: Correct message is selected
- */
- @Test
- public void verifyFind() {
- fFacility.firstPage();
-
- criteria = new Criteria();
- criteria.setLifeLineSelected(true);
- criteria.setExpression(IUml2SDTestConstants.FIRST_PLAYER_NAME);
- fFacility.getLoader().find(criteria);
- // Wait for the selection to finish - needed due to new platform behavior in Juno
- fFacility.delay(IUml2SDTestConstants.GUI_REFESH_DELAY);
-
- assertEquals("find", TC_005_PAGE_VALUE, fFacility.getLoader().currentPage());
- selection = fFacility.getSdView().getSDWidget().getSelection();
- assertNotNull(selection);
- assertEquals("find", 1, selection.size());
- assertTrue(selection.get(0) instanceof Lifeline);
- lifeline = (Lifeline) selection.get(0);
- assertEquals("find", TC_005_LIFELINE_NAME, lifeline.getName());
-
- /**
- * Verify lifeline across page.
- *
- * Verified Methods: loader.find(), loader.moveToPage(), loader.moveToMessage()
- * Expected result: Correct message is selected
- */
- criteria = new Criteria();
- criteria.setLifeLineSelected(true);
- criteria.setExpression(IUml2SDTestConstants.SECOND_PLAYER_NAME);
-
- fFacility.getLoader().find(criteria);
- fFacility.waitForJobs(); // find across pages uses a job
- // to make sure pageRequest has been started before calling waitforCompletion()
- fFacility.delay(IUml2SDTestConstants.GUI_REFESH_DELAY);
- fFacility.getLoader().waitForCompletion();
- fFacility.delay(IUml2SDTestConstants.GUI_REFESH_DELAY);
-
- assertEquals("find", TC_006_PAGE_VALUE, fFacility.getLoader().currentPage());
- selection = fFacility.getSdView().getSDWidget().getSelection();
- assertNotNull(selection);
- assertEquals("find", 1, selection.size());
- assertTrue(selection.get(0) instanceof Lifeline);
- lifeline = (Lifeline) selection.get(0);
- assertEquals("find", TC_006_LIFELINE_NAME, lifeline.getName());
-
- // cancel find and go back to first page
- fFacility.getLoader().cancel();
- }
-
- /**
- * Verify cancel ongoing search job.
- *
- * Verified Methods: loader.find(), loader.find()
- * Expected result: Cancelled find
- */
- @Test
- public void verifyCancelSearch() {
-
- fFacility.firstPage();
-
- criteria = new Criteria();
- criteria.setLifeLineSelected(true);
- criteria.setExpression(IUml2SDTestConstants.SECOND_PLAYER_NAME);
-
- fFacility.getLoader().find(criteria);
- fFacility.delay(200); // to make sure job was started
- fFacility.getLoader().cancel();
-
- assertEquals("find", 0, fFacility.getLoader().currentPage()); // we are still at the first page
-
- // cancel find and go back to first page
- fFacility.getLoader().cancel();
- fFacility.firstPage();
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui.tests/src/org/eclipse/linuxtools/tmf/ui/tests/views/uml2sd/loader/TmfUml2SDSyncLoaderPagesTest.java b/lttng/org.eclipse.linuxtools.tmf.ui.tests/src/org/eclipse/linuxtools/tmf/ui/tests/views/uml2sd/loader/TmfUml2SDSyncLoaderPagesTest.java
deleted file mode 100644
index c24028a7f4..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui.tests/src/org/eclipse/linuxtools/tmf/ui/tests/views/uml2sd/loader/TmfUml2SDSyncLoaderPagesTest.java
+++ /dev/null
@@ -1,215 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011-2013 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:
- * Bernd Hufmann - Initial API and implementation
- * Alexandre Montplaisir - Port to JUnit4
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.tests.views.uml2sd.loader;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertTrue;
-import static org.junit.Assert.fail;
-
-import org.junit.AfterClass;
-import org.junit.BeforeClass;
-import org.junit.Test;
-
-/**
- * Test cases for pages handling.
- *
- * @author Bernd Hufmann
- */
-public class TmfUml2SDSyncLoaderPagesTest {
-
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
-
- private static Uml2SDTestFacility fFacility;
-
- // ------------------------------------------------------------------------
- // Operations
- // ------------------------------------------------------------------------
-
- /**
- * Initialization
- */
- @BeforeClass
- public static void setUpClass() {
- fFacility = Uml2SDTestFacility.getInstance();
- fFacility.selectExperiment();
- }
-
- /**
- * Cleanup
- */
- @AfterClass
- public static void tearDownClass() {
- fFacility.disposeExperiment();
- fFacility = null;
- }
-
- /**
- * Test Case: 001
- * Description: Test number of pages.
- * Verified Methods: loader.pagesCount().
- * Expected result: ITestConstants.TOTAL_NUMBER_OF_PAGES of pages
- */
- @Test
- public void verifyPagesCount() {
- assertEquals(IUml2SDTestConstants.TOTAL_NUMBER_OF_PAGES, fFacility.getLoader().pagesCount());
- }
-
-
- /**
- * Test Case: 002
- * Description: Tests next page feature.
- * Verified Methods: loader.nextPage(), loader.fillCurrentPage(), loader.pagesCount(),
- * loader.hasNextPage(), loader.hasPrevPage(),
- * frame.syncMessagesCount, frame.lifeLinesCount
- * Expected result: Expected values are return.
- */
- @Test
- public void verifyNextPage() {
- // assuming we are at the first page
- for(int i = 0; i < IUml2SDTestConstants.TOTAL_NUMBER_OF_PAGES-2; i++) {
- fFacility.nextPage();
-
- if (i+1 == IUml2SDTestConstants.PAGE_OF_ALL_LIFELINES) {
- verifyPage(i+1, IUml2SDTestConstants.MAX_MESSEAGES_PER_PAGE, true, true, IUml2SDTestConstants.NUM_OF_ALL_LIFELINES);
- }
- else {
- verifyPage(i+1, IUml2SDTestConstants.MAX_MESSEAGES_PER_PAGE, true, true);
- }
- }
-
- // Last Page
- fFacility.nextPage();
- verifyPage(IUml2SDTestConstants.TOTAL_NUMBER_OF_PAGES - 1, IUml2SDTestConstants.NUM_MESSAGES_OF_LAST_PAGE, false, true);
-
- // Check for index out of bounce
- try {
- fFacility.getLoader().nextPage();
- } catch (Exception e) {
- fail();
- }
-
- fFacility.firstPage();
- }
-
- /**
- * Test Case: 003
- * Description: Test previous page feature.
- * Verified Methods: loader.prevPage(), loader.fillCurrentPage(), loader.pagesCount(),
- * loader.hasNextPage(), loader.hasPrevPage(),
- * frame.syncMessagesCount, frame.lifeLinesCount
- * Expected result: Expected values are return.
- */
- @Test
- public void verifyPrevPage() {
- // Last Page
- fFacility.lastPage();
- assertEquals(IUml2SDTestConstants.TOTAL_NUMBER_OF_PAGES - 1, fFacility.getLoader().currentPage());
- assertEquals(IUml2SDTestConstants.NUM_MESSAGES_OF_LAST_PAGE, fFacility.getSdView().getFrame().syncMessageCount());
- assertFalse(fFacility.getLoader().hasNextPage());
- assertTrue(fFacility.getLoader().hasPrevPage());
- assertEquals(2, fFacility.getSdView().getFrame().lifeLinesCount());
-
- for(int i = IUml2SDTestConstants.TOTAL_NUMBER_OF_PAGES-2; i > 0; i--) {
- fFacility.prevPage();
- if (i == IUml2SDTestConstants.PAGE_OF_ALL_LIFELINES) {
- verifyPage(i, IUml2SDTestConstants.MAX_MESSEAGES_PER_PAGE, true, true, IUml2SDTestConstants.NUM_OF_ALL_LIFELINES);
- } else {
- verifyPage(i, IUml2SDTestConstants.MAX_MESSEAGES_PER_PAGE, true, true);
- }
- }
-
- fFacility.prevPage();
- verifyPage(0, IUml2SDTestConstants.MAX_MESSEAGES_PER_PAGE, true, false);
-
- // Check for index out of bounce
- try {
- fFacility.getLoader().prevPage();
- } catch (Exception e) {
- fail();
- }
- }
-
- /**
- * Test Case: 004
- * Description: Test first page feature.
- * Verified Methods: loader.firstPage(), loader.fillCurrentPage(), loader.pagesCount(),
- * loader.hasNextPage(), loader.hasPrevPage(),
- * frame.syncMessagesCount, frame.lifeLinesCount
- * Expected result: Expected values are return.
- */
- @Test
- public void verifyFirstPage() {
- fFacility.lastPage();
-
- // First Page
- fFacility.firstPage();
- verifyPage(0, IUml2SDTestConstants.MAX_MESSEAGES_PER_PAGE, true, false);
- }
-
- /**
- * Test Case: 005
- * Description: Test last page feature.
- * Verified Methods: loader.lastPage(), loader.pagesCount(), loader.hasNextPage(), loader.hasPrevPage()
- * frame.syncMessagesCount, frame.lifeLinesCount
- * Expected result: Expected values are return.
- */
- @Test
- public void verifyLastPage() {
- fFacility.lastPage();
- verifyPage(IUml2SDTestConstants.TOTAL_NUMBER_OF_PAGES - 1, IUml2SDTestConstants.NUM_MESSAGES_OF_LAST_PAGE, false, true);
- fFacility.firstPage();
- }
-
- /**
- * Test Case: 006
- * Description: Test move to any page feature.
- * Verified Methods: loader.pageNumberChanged(), loader.fillCurrentPage(), loader.pagesCount(),
- * loader.hasNextPage(), loader.hasPrevPage(),
- * frame.syncMessagesCount, frame.lifeLinesCount
- * Expected result: Expected values are return.
- */
- @Test
- public void verifyPageNumberChanged() {
- // any page
- fFacility.setPage(IUml2SDTestConstants.PAGE_OF_ALL_LIFELINES);
- verifyPage(IUml2SDTestConstants.PAGE_OF_ALL_LIFELINES,
- IUml2SDTestConstants.MAX_MESSEAGES_PER_PAGE, true, true,
- IUml2SDTestConstants.NUM_OF_ALL_LIFELINES);
- fFacility.firstPage();
- }
-
- private static void verifyPage(int currentPage, int numMsg, boolean hasNext, boolean hasPrev) {
- verifyPage(currentPage, numMsg, hasNext, hasPrev, IUml2SDTestConstants.DEFAULT_NUM_LIFELINES);
- }
-
- private static void verifyPage(int currentPage, int numMsg, boolean hasNext,
- boolean hasPrev, int lifelineCount) {
- assertEquals("currentPage", currentPage, fFacility.getLoader().currentPage());
- assertEquals("syncMessageCount, ", numMsg, fFacility.getSdView().getFrame().syncMessageCount());
- if (hasNext) {
- assertTrue("hasNextpage", fFacility.getLoader().hasNextPage());
- } else {
- assertFalse("hasNextPage", fFacility.getLoader().hasNextPage());
- }
- if (hasPrev) {
- assertTrue("hasPrevPage", fFacility.getLoader().hasPrevPage());
- } else {
- assertFalse("hasPrevPage", fFacility.getLoader().hasPrevPage());
- }
- assertEquals("lifeLinesCount", lifelineCount, fFacility.getSdView().getFrame().lifeLinesCount());
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui.tests/src/org/eclipse/linuxtools/tmf/ui/tests/views/uml2sd/loader/TmfUml2SDSyncLoaderSignalTest.java b/lttng/org.eclipse.linuxtools.tmf.ui.tests/src/org/eclipse/linuxtools/tmf/ui/tests/views/uml2sd/loader/TmfUml2SDSyncLoaderSignalTest.java
deleted file mode 100644
index 111780f1b1..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui.tests/src/org/eclipse/linuxtools/tmf/ui/tests/views/uml2sd/loader/TmfUml2SDSyncLoaderSignalTest.java
+++ /dev/null
@@ -1,134 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011, 2013 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:
- * Bernd Hufmann - Initial API and implementation
- * Alexandre Montplaisir - Port to JUnit4
- * Patrick Tasse - Support selection range
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.tests.views.uml2sd.loader;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertTrue;
-
-import org.eclipse.linuxtools.tmf.core.signal.TmfRangeSynchSignal;
-import org.eclipse.linuxtools.tmf.core.signal.TmfTimeSynchSignal;
-import org.eclipse.linuxtools.tmf.core.timestamp.TmfTimeRange;
-import org.eclipse.linuxtools.tmf.core.timestamp.TmfTimestamp;
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.core.GraphNode;
-import org.junit.AfterClass;
-import org.junit.BeforeClass;
-import org.junit.Test;
-
-/**
- * Test cases for signal handling.
- *
- * @author Bernd Hufmann
- */
-public class TmfUml2SDSyncLoaderSignalTest {
-
- private static Uml2SDTestFacility fFacility;
- private static Uml2SDSignalValidator fTmfComponent;
-
- private static TmfTimeRange range;
- private static TmfTimestamp rangeWindow;
- private static TmfTimestamp currentTime;
-
- /**
- * Initialization
- */
- @BeforeClass
- public static void setUpClass() {
- fFacility = Uml2SDTestFacility.getInstance();
- fFacility.selectExperiment();
-
- range = new TmfTimeRange(new Uml2SDTestTimestamp(9789689220871L), new Uml2SDTestTimestamp(9789773881426L));
- // Get range window for tests below
- rangeWindow = (TmfTimestamp) range.getEndTime().getDelta(range.getStartTime());
- currentTime = new Uml2SDTestTimestamp(9789773782043L);
-
- fFacility.getTrace().broadcast(new TmfRangeSynchSignal(fFacility, range));
- fFacility.getTrace().broadcast(new TmfTimeSynchSignal(fFacility, currentTime));
- fFacility.delay(IUml2SDTestConstants.BROADCAST_DELAY);
-
- fTmfComponent = new Uml2SDSignalValidator();
- }
-
- /**
- * Cleanup
- */
- @AfterClass
- public static void tearDownClass() {
- fFacility.disposeExperiment();
- fFacility = null;
- }
-
- /**
- * Test Case: 001
- * Description: Verify that time range signal is send with correct values when going to first page
- * Verified Methods: broadcast()
- * Expected result: Time range sync signal is sent with correct range and current time.
- */
- @Test
- public void verifyFirstPageSignal() {
- currentTime = new Uml2SDTestTimestamp(9788641608418L);
- range = new TmfTimeRange(currentTime, new Uml2SDTestTimestamp(currentTime.getValue() + rangeWindow.getValue()));
-
- fTmfComponent.setSignalError(false);
- fTmfComponent.setSignalReceived(false);
- fTmfComponent.setCurrentTimeError(false);
- fTmfComponent.setRangeError(false);
- fTmfComponent.setSourceError(false);
-
- // set expected values
- fTmfComponent.setSource(fFacility.getLoader());
- fTmfComponent.setCurrentTime(currentTime);
- fTmfComponent.setCurrentRange(range);
-
- fFacility.firstPage();
- assertTrue("TmfRangeSynchSignal", fTmfComponent.isSignalReceived());
- assertFalse("TmfRangeSynchSignal", fTmfComponent.isSignalError());
- assertFalse("TmfRangeSynchSignal", fTmfComponent.isCurrentTimeError());
- assertFalse("TmfRangeSynchSignal", fTmfComponent.isSourceError());
- assertFalse("TmfRangeSynchSignal", fTmfComponent.isRangeError());
- }
-
- /**
- * Test Case: 002
- * Description: Verify that time sync signal is sent correctly after selection
- * Verified Methods: loader.broadcast(), testSelectionChanged
- * Expected result: Time sync signal is sent with correct current time.
- */
- @Test
- public void verifySelectionSignal() {
- fTmfComponent.setSignalReceived(false);
-
- int count = fFacility.getSdView().getFrame().syncMessageCount();
- assertEquals("Test Preparation", IUml2SDTestConstants.MAX_MESSEAGES_PER_PAGE, count);
- GraphNode node = fFacility.getSdView().getFrame().getSyncMessage(3);
-
- // set expected values
- fTmfComponent.setSource(fFacility.getLoader());
- fTmfComponent.setCurrentTime(new Uml2SDTestTimestamp(9788642113228L));
- fTmfComponent.setCurrentRange(null); // not used
-
- fFacility.getSdView().getSDWidget().moveTo(node); // selects the given node
- // Wait for the selection to finish - needed due to new platform behavior in Juno
- fFacility.delay(IUml2SDTestConstants.GUI_REFESH_DELAY);
- assertTrue("TmfTimeSynchSignal", fTmfComponent.isSignalReceived());
- assertFalse("TmfTimeSynchSignal", fTmfComponent.isSignalError());
- assertFalse("TmfTimeSynchSignal", fTmfComponent.isCurrentTimeError());
- assertFalse("TmfTimeSynchSignal", fTmfComponent.isSourceError());
-
- fTmfComponent.setSignalReceived(false);
-
- fTmfComponent.dispose();
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui.tests/src/org/eclipse/linuxtools/tmf/ui/tests/views/uml2sd/loader/TmfUml2SDSyncLoaderTimeTest.java b/lttng/org.eclipse.linuxtools.tmf.ui.tests/src/org/eclipse/linuxtools/tmf/ui/tests/views/uml2sd/loader/TmfUml2SDSyncLoaderTimeTest.java
deleted file mode 100644
index 829858322d..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui.tests/src/org/eclipse/linuxtools/tmf/ui/tests/views/uml2sd/loader/TmfUml2SDSyncLoaderTimeTest.java
+++ /dev/null
@@ -1,311 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011, 2013 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:
- * Bernd Hufmann - Initial API and implementation
- * Alexandre Montplaisir - Port to JUnit4
- * Patrick Tasse - Support selection range
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.tests.views.uml2sd.loader;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertTrue;
-
-import java.util.List;
-
-import org.eclipse.linuxtools.tmf.core.signal.TmfRangeSynchSignal;
-import org.eclipse.linuxtools.tmf.core.signal.TmfTimeSynchSignal;
-import org.eclipse.linuxtools.tmf.core.timestamp.TmfTimeRange;
-import org.eclipse.linuxtools.tmf.core.timestamp.TmfTimestamp;
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.core.GraphNode;
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.loader.TmfSyncMessage;
-import org.junit.AfterClass;
-import org.junit.BeforeClass;
-import org.junit.Test;
-
-/**
- * Test cases for time synchronization handling.
- *
- * @author Bernd Hufmann
- */
-public class TmfUml2SDSyncLoaderTimeTest {
-
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
-
- // Test case 001 expected values
- final static private Uml2SDTestTimestamp TC_001_TIME_VALUE = new Uml2SDTestTimestamp(9788642228395L);
- final static private String TC_001_MESSAGE_NAME = "START_GAME_REPLY";
- final static private int TC_001_PAGE_VALUE = 0;
- final static private int TC_001_START_OCCURRANCE = 6;
- final static private int TC_001_END_OCCURRANCE = TC_001_START_OCCURRANCE;
- final static private String TC_001_START_LIFELINE = IUml2SDTestConstants.MASTER_PLAYER_NAME;
- final static private String TC_001_END_LIFELINE = IUml2SDTestConstants.FIRST_PLAYER_NAME;
-
- // Test case 002 expected values
- final static private Uml2SDTestTimestamp TC_002_TIME_VALUE = new Uml2SDTestTimestamp(9789689830722L);
- final static private String TC_002_MESSAGE_NAME = "PAUSE_GAME_REQUEST";
- final static private int TC_002_PAGE_VALUE = 2;
- final static private int TC_002_START_OCCURRANCE = 7;
- final static private int TC_002_END_OCCURRANCE = TC_002_START_OCCURRANCE;
- final static private String TC_002_START_LIFELINE = IUml2SDTestConstants.FIRST_PLAYER_NAME;
- final static private String TC_002_END_LIFELINE = IUml2SDTestConstants.MASTER_PLAYER_NAME;
-
- // Test case 003 expected values
- final static private Uml2SDTestTimestamp TC_003_TIME_VALUE = new Uml2SDTestTimestamp(9790750000000L);
- final static private int TC_003_PAGE_VALUE = 4;
-
- // Test case 004 expected values
- final static private int TC_004_PAGE_VALUE = 0;
-
- // Test case 005 expected values
- final static private int TC_005_PAGE_VALUE = IUml2SDTestConstants.TOTAL_NUMBER_OF_PAGES - 1;
-
- // Test case 006 expected values
- final static private Uml2SDTestTimestamp TC_006_TIME_VALUE = new Uml2SDTestTimestamp(9792420661655L);
- final static private int TC_006_PAGE_VALUE = 4;
- final static private int TC_006_START_OCCURRANCE = IUml2SDTestConstants.MAX_MESSEAGES_PER_PAGE;
- final static private int TC_006_END_OCCURRANCE = TC_006_START_OCCURRANCE;
-
- // Test case 007 expected values
- final static private Uml2SDTestTimestamp TC_007_TIME_VALUE = new Uml2SDTestTimestamp(9792420756010L);
- final static private int TC_007_PAGE_VALUE = 5;
- final static private int TC_007_START_OCCURRANCE = 1;
- final static private int TC_007_END_OCCURRANCE = TC_007_START_OCCURRANCE;
-
- // Test case 008 expected values
- final static private Uml2SDTestTimestamp TC_008_TIME_VALUE = new Uml2SDTestTimestamp(9788642228395L);
- final static private int TC_008_PAGE_VALUE = 0;
- final static private Uml2SDTestTimestamp TC_008_START_TIME_VALUE = new Uml2SDTestTimestamp(9788642228395L);
- final static private Uml2SDTestTimestamp TC_008_END_TIME_VALUE = new Uml2SDTestTimestamp(9789164833324L);
-
- // Test case 009 expected values
- final static private Uml2SDTestTimestamp TC_009_TIME_VALUE = new Uml2SDTestTimestamp(9789689220871L);
- final static private int TC_009_PAGE_VALUE = 1;
- final static private Uml2SDTestTimestamp TC_009_START_TIME_VALUE = TC_009_TIME_VALUE;
- final static private Uml2SDTestTimestamp TC_009_END_TIME_VALUE = new Uml2SDTestTimestamp(9789773881426L);
-
- // Fields used in tests
- private static Uml2SDTestFacility fFacility;
- private static List<GraphNode> selection;
- private static TmfSyncMessage msg;
-
- // ------------------------------------------------------------------------
- // Operations
- // ------------------------------------------------------------------------
-
- /**
- * Initialization
- */
- @BeforeClass
- public static void setUpClass() {
- fFacility = Uml2SDTestFacility.getInstance();
- fFacility.selectExperiment();
- }
-
- /**
- * Cleanup
- */
- @AfterClass
- public static void tearDownClass() {
- fFacility.disposeExperiment();
- fFacility = null;
- }
-
- /**
- * Test Case: 001
- * Description: Verify synchToTime (exact time in page), selection of message in page
- * Verified Methods: loader.syncToTime(), loader.moveToMessage(), loader.moveToMessageInPage()
- * Expected result: Correct message is selected.
- */
- @Test
- public void verifySynchToTimeInPage() {
- fFacility.getTrace().broadcast(new TmfTimeSynchSignal(this, TC_001_TIME_VALUE));
- fFacility.getLoader().waitForCompletion();
- fFacility.delay(IUml2SDTestConstants.GUI_REFESH_DELAY);
- assertEquals("synchToTime", TC_001_PAGE_VALUE, fFacility.getLoader().currentPage());
- selection = fFacility.getSdView().getSDWidget().getSelection();
- assertNotNull(selection);
- assertEquals("synchToTime", 1, selection.size());
- assertTrue(selection.get(0) instanceof TmfSyncMessage);
- msg = (TmfSyncMessage) selection.get(0);
- assertEquals("synchToTime", TC_001_MESSAGE_NAME, msg.getName());
- assertEquals("synchToTime", 0, TC_001_TIME_VALUE.compareTo(msg.getStartTime(), false));
- assertEquals("synchToTime", TC_001_START_OCCURRANCE, msg.getStartOccurrence());
- assertEquals("synchToTime", TC_001_END_OCCURRANCE, msg.getEndOccurrence());
- assertEquals("synchToTime", TC_001_START_LIFELINE, msg.getStartLifeline().getName());
- assertEquals("synchToTime", TC_001_END_LIFELINE, msg.getEndLifeline().getName());
- }
-
- /**
- * Test Case: 002
- * Description: Verify synchToTime (exact time outside of page), selection of message in page
- * Verified Methods: loader.syncToTime(), loader.moveToMessage(), loader.moveToPage()
- * Expected result: Correct message is selected.
- */
- @Test
- public void verifySynchToTimeOutsidePage() {
- fFacility.getTrace().broadcast(new TmfTimeSynchSignal(this, TC_002_TIME_VALUE));
- fFacility.getLoader().waitForCompletion();
- fFacility.delay(IUml2SDTestConstants.GUI_REFESH_DELAY);
- assertEquals("synchToTime", TC_002_PAGE_VALUE, fFacility.getLoader().currentPage());
- selection = fFacility.getSdView().getSDWidget().getSelection();
- assertNotNull("synchToTime", selection);
- assertEquals("synchToTime", 1, selection.size());
- assertTrue("synchToTime", selection.get(0) instanceof TmfSyncMessage);
- msg = (TmfSyncMessage) selection.get(0);
- assertEquals("synchToTime", TC_002_MESSAGE_NAME, msg.getName());
- assertEquals(0, TC_002_TIME_VALUE.compareTo(msg.getStartTime(), false));
- assertEquals("synchToTime", TC_002_START_OCCURRANCE, msg.getStartOccurrence());
- assertEquals("synchToTime", TC_002_END_OCCURRANCE, msg.getEndOccurrence());
- assertEquals(TC_002_START_LIFELINE, msg.getStartLifeline().getName());
- assertEquals(TC_002_END_LIFELINE, msg.getEndLifeline().getName());
- }
-
-
- /**
- * Test Case: 003
- * Description: Verify synchToTime (timestamp doesn't exist in trace), no selection of message in page
- * Verified Methods: loader.syncToTime(), loader.moveToMessage(), loader.moveToPage()
- * Expected result: Move to correct page, currentTime is updated so that focus on the currentTime, but no selection.
- */
- @Test
- public void verifySynchToTimeNonExisting() {
- fFacility.getLoader().firstPage();
-
- fFacility.getTrace().broadcast(new TmfTimeSynchSignal(this, TC_003_TIME_VALUE));
- fFacility.getLoader().waitForCompletion();
- fFacility.delay(IUml2SDTestConstants.GUI_REFESH_DELAY);
- assertEquals("synchToTime", 0, TC_003_TIME_VALUE.compareTo(fFacility.getLoader().getCurrentTime(), false));
- assertEquals("synchToTime", TC_003_PAGE_VALUE, fFacility.getLoader().currentPage());
- selection = fFacility.getSdView().getSDWidget().getSelection();
- assertNotNull("synchToTime", selection);
- assertEquals("synchToTime", 0, selection.size());
- }
-
- /**
- * Test Case: 004
- * Description: Verify synchToTime (timestamp < experiment time range start)
- * Verified Methods: loader.syncToTime(), loader.moveToMessage(), loader.moveToPage()
- * Expected result: Move to first page, focus on the beginning of the page, but no selection.
- */
- @Test
- public void verifySynchToTimeBeforeExpStart() {
- fFacility.getTrace().broadcast(new TmfTimeSynchSignal(this, TmfTimestamp.BIG_BANG));
- fFacility.getLoader().waitForCompletion();
- fFacility.delay(IUml2SDTestConstants.GUI_REFESH_DELAY);
- assertEquals("synchToTime", TC_004_PAGE_VALUE, fFacility.getLoader().currentPage());
- selection = fFacility.getSdView().getSDWidget().getSelection();
- assertNotNull("synchToTime", selection);
- assertEquals("synchToTime", 0, selection.size());
- }
-
- /**
- * Test Case: 005
- * Description: Verify synchToTime (timestamp > experiment time range end)
- * Verified Methods: loader.syncToTime(), loader.moveToMessage(), loader.moveToPage()
- * Expected result: Move to last page, focus on the end of the page, but no selection.
- */
- @Test
- public void verifySynchToTimeAfterExpEnd() {
- fFacility.getTrace().broadcast(new TmfTimeSynchSignal(this, TmfTimestamp.BIG_CRUNCH));
- fFacility.getLoader().waitForCompletion();
- fFacility.delay(IUml2SDTestConstants.GUI_REFESH_DELAY);
- assertEquals("synchToTime", TC_005_PAGE_VALUE, fFacility.getLoader().currentPage());
- selection = fFacility.getSdView().getSDWidget().getSelection();
- assertNotNull(selection);
- assertEquals("synchToTime", 0, selection.size());
- }
-
- /**
- * Test Case: 006
- * Description: Verify synchToTime (timestamp of last message in page)
- * Verified Methods: loader.syncToTime(), loader.moveToMessage(), loader.moveToPage(), loader.moveToMessageInPage()
- * Expected result: Move to correct page, selection of last message in page.
- */
- @Test
- public void verifySynchToTimeEqualsLast() {
- fFacility.getTrace().broadcast(new TmfTimeSynchSignal(this, TC_006_TIME_VALUE));
- fFacility.getLoader().waitForCompletion();
- fFacility.delay(IUml2SDTestConstants.GUI_REFESH_DELAY);
- assertEquals("synchToTime", TC_006_PAGE_VALUE, fFacility.getLoader().currentPage());
- selection = fFacility.getSdView().getSDWidget().getSelection();
- assertNotNull("synchToTime", selection);
- assertEquals("synchToTime", 1, selection.size());
- msg = (TmfSyncMessage) selection.get(0);
- assertEquals("synchToTime", TC_006_START_OCCURRANCE, msg.getStartOccurrence());
- assertEquals("synchToTime", TC_006_END_OCCURRANCE, msg.getEndOccurrence());
- }
-
- /**
- * Test Case: 007
- * Description: Verify synchToTime (timestamp of first message in page)
- * Verified Methods: loader.syncToTime(), loader.moveToMessage(), loader.moveToPage()
- * Expected result: Move to correct page, selection of last message in page.
- */
- @Test
- public void verifySynchToTimeFirst() {
- fFacility.getTrace().broadcast(new TmfTimeSynchSignal(this, TC_007_TIME_VALUE));
- fFacility.getLoader().waitForCompletion();
- fFacility.delay(IUml2SDTestConstants.GUI_REFESH_DELAY);
- assertEquals("synchToTime", TC_007_PAGE_VALUE, fFacility.getLoader().currentPage());
- selection = fFacility.getSdView().getSDWidget().getSelection();
- assertNotNull("synchToTime", selection);
- msg = (TmfSyncMessage) selection.get(0);
- assertEquals("synchToTime", 1, selection.size());
- assertEquals("synchToTime", TC_007_START_OCCURRANCE, msg.getStartOccurrence());
- assertEquals("synchToTime", TC_007_END_OCCURRANCE, msg.getEndOccurrence());
- }
-
- /**
- * Test Case: 008
- * Description: Verify time range signal (start, end time and current time are in same page)
- * Verified Methods: loader.synchToTimeRange(), loader.moveToMessage(), loader.moveToMessageInPage()
- * Expected result: Move to correct page(=page of start time of range), set focus on start time of range, but no selection of message.
- */
- @Test
- public void verifyTimeRangeSamePage() {
- // 9788.642228395 (page 0) -> 9789.164833324 (page 0) with selected time 9788.642228395 (page 0)
- fFacility.getLoader().firstPage();
- TmfTimeRange range = new TmfTimeRange(TC_008_START_TIME_VALUE, TC_008_END_TIME_VALUE);
- fFacility.getLoader().waitForCompletion();
- fFacility.delay(IUml2SDTestConstants.GUI_REFESH_DELAY);
- fFacility.getTrace().broadcast(new TmfRangeSynchSignal(this, range));
- assertEquals("synchToTimeRange", TC_008_PAGE_VALUE, fFacility.getLoader().currentPage());
- assertNotNull("synchToTimeRange", fFacility.getLoader().getCurrentTime());
- assertEquals("synchToTimeRange", 0, TC_008_TIME_VALUE.compareTo(fFacility.getLoader().getCurrentTime(), false));
- selection = fFacility.getSdView().getSDWidget().getSelection();
- // We actually don't want something to be selected!!!
- assertNotNull("synchToTimeRange", selection);
- assertEquals("synchToTimeRange", 0, selection.size());
- }
-
- /**
- * Test Case: 009
- * Description: Verify time range signal (start and end time are across 2 pages)
- * Verified Methods: loader.synchToTimeRange(), loader.moveToMessage(), loader.moveToPage()
- * Expected result: Move to correct page (=page of start time of range), set focus on start time of range, but no selection of message.
- */
- @Test
- public void verifyTimeRangeDifferentPages() {
- TmfTimeRange range = new TmfTimeRange(TC_009_START_TIME_VALUE, TC_009_END_TIME_VALUE);
- fFacility.getTrace().broadcast(new TmfRangeSynchSignal(this, range));
- fFacility.getLoader().waitForCompletion();
- fFacility.delay(IUml2SDTestConstants.GUI_REFESH_DELAY);
- assertEquals("synchToTimeRange", TC_009_PAGE_VALUE, fFacility.getLoader().currentPage());
- assertNotNull("synchToTimeRange", fFacility.getLoader().getCurrentTime());
- assertEquals("synchToTimeRange", 0, TC_009_TIME_VALUE.compareTo(fFacility.getLoader().getCurrentTime(), false));
- selection = fFacility.getSdView().getSDWidget().getSelection();
- // We actually don't want something to be selected!!!
- assertNotNull("synchToTimeRange", selection);
- assertEquals("synchToTimeRange", 0, selection.size());
- }
-} \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui.tests/src/org/eclipse/linuxtools/tmf/ui/tests/views/uml2sd/loader/Uml2SDSignalValidator.java b/lttng/org.eclipse.linuxtools.tmf.ui.tests/src/org/eclipse/linuxtools/tmf/ui/tests/views/uml2sd/loader/Uml2SDSignalValidator.java
deleted file mode 100644
index d41bc282a0..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui.tests/src/org/eclipse/linuxtools/tmf/ui/tests/views/uml2sd/loader/Uml2SDSignalValidator.java
+++ /dev/null
@@ -1,188 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011, 2013 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:
- * Bernd Hufmann - Initial API and implementation
- * Patrick Tasse - Support selection range
- *******************************************************************************/
-package org.eclipse.linuxtools.tmf.ui.tests.views.uml2sd.loader;
-
-import org.eclipse.linuxtools.tmf.core.component.TmfComponent;
-import org.eclipse.linuxtools.tmf.core.signal.TmfEndSynchSignal;
-import org.eclipse.linuxtools.tmf.core.signal.TmfRangeSynchSignal;
-import org.eclipse.linuxtools.tmf.core.signal.TmfSignalHandler;
-import org.eclipse.linuxtools.tmf.core.signal.TmfStartSynchSignal;
-import org.eclipse.linuxtools.tmf.core.signal.TmfTimeSynchSignal;
-import org.eclipse.linuxtools.tmf.core.timestamp.TmfTimeRange;
-import org.eclipse.linuxtools.tmf.core.timestamp.TmfTimestamp;
-
-/**
- * Class to implement that certain signals are sent as well as are sent with correct content.
- *
- * @author Bernd Hufmann
- */
-public class Uml2SDSignalValidator extends TmfComponent implements IUml2SdSignalValidator {
-
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
- private int fSignalDepth = 0;
- private boolean fIsSignalReceived = false;
- private boolean fIsSignalError = false;
- private boolean fIsSourceError = false;
- private boolean fIsCurrentTimeError = false;
- private boolean fIsRangeError = false;
-
- private Object fSource = null;
- private TmfTimestamp fCurrentTimestamp = null;
- private TmfTimeRange fCurrentTimeRange = null;
-
- // ------------------------------------------------------------------------
- // Constructor
- // ------------------------------------------------------------------------
- /**
- * Constructor
- */
- public Uml2SDSignalValidator() {
- }
-
- // ------------------------------------------------------------------------
- // Operations
- // ------------------------------------------------------------------------
- /**
- * Signal handler for time synch signal.
- * @param signal the signal to handle.
- */
- @TmfSignalHandler
- public void synchToTime(TmfTimeSynchSignal signal) {
- // Set results so that it can be validated in the test case
- setSignalReceived(true);
- setSourceError(getSource() != signal.getSource());
- setCurrentTimeError(!getCurrentTime().equals(signal.getBeginTime()));
- }
-
- /**
- * Signal handler for time range synch signal.
- * @param signal the signal to handle.
- */
- @TmfSignalHandler
- public void synchToTimeRange(TmfRangeSynchSignal signal) {
- // Set results so that it can be validated in the test case
- setSignalReceived(true);
- if (getSource() != null) {
- setSourceError(getSource() != signal.getSource());
- }
- if (getCurrentRange() != null) {
- setRangeError(!getCurrentRange().equals(signal.getCurrentRange()));
- }
- }
-
- /**
- * Signal handler for handling start synch signal.
- * @param signal the signal to handle.
- */
- @TmfSignalHandler
- public void startSynch(TmfStartSynchSignal signal) {
- fSignalDepth++;
- // make sure that the signal which is send by the loader class is not handled by the loader class
- // after receiving it. i.e. it must not trigger a another signal
-
- // Set results so that it can be validated in the test case
- setSignalError(fSignalDepth > 1);
- }
-
- /**
- * Signal handler for handling end synch signal.
- * @param signal the signal to handle.
- */
- @TmfSignalHandler
- public void endSynch(TmfEndSynchSignal signal) {
- fSignalDepth = fSignalDepth > 0 ? fSignalDepth - 1 : 0;
- }
-
- @Override
- public boolean isSignalReceived() {
- return fIsSignalReceived;
- }
-
- @Override
- public void setSignalReceived(boolean received) {
- fIsSignalReceived = received;
- }
-
- @Override
- public boolean isSourceError() {
- return fIsSourceError;
- }
-
- @Override
- public void setSourceError(boolean fIsSourceError) {
- this.fIsSourceError = fIsSourceError;
- }
-
- @Override
- public boolean isCurrentTimeError() {
- return fIsCurrentTimeError;
- }
-
- @Override
- public void setCurrentTimeError(boolean fIsCurrentTimeError) {
- this.fIsCurrentTimeError = fIsCurrentTimeError;
- }
-
- @Override
- public boolean isRangeError() {
- return fIsRangeError;
- }
-
- @Override
- public void setRangeError(boolean fIsRangeError) {
- this.fIsRangeError = fIsRangeError;
- }
-
- @Override
- public boolean isSignalError() {
- return fIsSignalError;
- }
-
- @Override
- public void setSignalError(boolean fIsSignalError) {
- this.fIsSignalError = fIsSignalError;
- }
-
- @Override
- public Object getSource() {
- return fSource;
- }
-
- @Override
- public void setSource(Object source) {
- fSource = source;
- }
-
- @Override
- public TmfTimestamp getCurrentTime() {
- return fCurrentTimestamp;
- }
-
- @Override
- public void setCurrentTime(TmfTimestamp currentTime) {
- fCurrentTimestamp = currentTime == null ? null : new TmfTimestamp(currentTime);
- }
-
- @Override
- public TmfTimeRange getCurrentRange() {
- return fCurrentTimeRange;
- }
-
- @Override
- public void setCurrentRange(TmfTimeRange currentRange) {
- fCurrentTimeRange = currentRange == null ? null : new TmfTimeRange(currentRange);
- }
-}
-
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui.tests/src/org/eclipse/linuxtools/tmf/ui/tests/views/uml2sd/loader/Uml2SDTestFacility.java b/lttng/org.eclipse.linuxtools.tmf.ui.tests/src/org/eclipse/linuxtools/tmf/ui/tests/views/uml2sd/loader/Uml2SDTestFacility.java
deleted file mode 100644
index 94020d9dcd..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui.tests/src/org/eclipse/linuxtools/tmf/ui/tests/views/uml2sd/loader/Uml2SDTestFacility.java
+++ /dev/null
@@ -1,360 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011, 2013 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:
- * Bernd Hufmann - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.linuxtools.tmf.ui.tests.views.uml2sd.loader;
-
-import java.io.File;
-import java.io.IOException;
-import java.net.URISyntaxException;
-import java.net.URL;
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.runtime.FileLocator;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.core.runtime.jobs.Job;
-import org.eclipse.linuxtools.tmf.core.event.ITmfEvent;
-import org.eclipse.linuxtools.tmf.core.exceptions.TmfTraceException;
-import org.eclipse.linuxtools.tmf.core.signal.TmfTraceClosedSignal;
-import org.eclipse.linuxtools.tmf.core.signal.TmfTraceOpenedSignal;
-import org.eclipse.linuxtools.tmf.core.signal.TmfTraceSelectedSignal;
-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.core.trace.indexer.ITmfTraceIndexer;
-import org.eclipse.linuxtools.tmf.core.trace.indexer.checkpoint.TmfCheckpointIndexer;
-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;
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.dialogs.Criteria;
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.dialogs.FilterCriteria;
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.dialogs.FilterListDialog;
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.load.LoadersManager;
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.loader.TmfUml2SDSyncLoader;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.ui.IViewPart;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.PlatformUI;
-import org.osgi.framework.FrameworkUtil;
-
-/**
- * Singleton class to facilitate the test cases. Creates UML2SD view and loader objects as well as provides
- * utility methods for interacting with the loader/view.
- *
- * @author Bernd Hufmann
- */
-public class Uml2SDTestFacility {
-
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
- private static Uml2SDTestFacility fInstance = null;
-
- private TmfUml2SDSyncLoader fLoader;
- private SDView fSdView;
- private TmfTraceStub fTrace = null;
- private TmfUml2SDTestTrace fParser = null;
- private TmfExperiment fExperiment = null;
-
- private volatile boolean fIsInitialized = false;
-
- // ------------------------------------------------------------------------
- // Constructors
- // ------------------------------------------------------------------------
- private Uml2SDTestFacility() {
- }
-
- // ------------------------------------------------------------------------
- // Operations
- // ------------------------------------------------------------------------
- /**
- * @return the singleton instance.
- */
- public synchronized static Uml2SDTestFacility getInstance() {
- if (fInstance == null) {
- fInstance = new Uml2SDTestFacility();
- fInstance.init();
- }
- return fInstance;
- }
-
- /**
- * Initial the test facility.
- */
- public void init() {
-
- if (!fIsInitialized) {
-
- fParser = new TmfUml2SDTestTrace();
- fTrace = setupTrace(fParser);
- fParser.setTrace(fTrace);
-
- IViewPart view;
- try {
- // Remove welcome view to avoid interference during test execution
- view = PlatformUI.getWorkbench()
- .getActiveWorkbenchWindow()
- .getActivePage()
- .findView("org.eclipse.ui.internal.introview");
-
- if (view != null) {
- PlatformUI.getWorkbench()
- .getActiveWorkbenchWindow()
- .getActivePage().hideView(view);
- }
-
- view = PlatformUI.getWorkbench()
- .getActiveWorkbenchWindow()
- .getActivePage()
- .showView("org.eclipse.linuxtools.tmf.ui.tmfUml2SDSyncView");
-
- } catch (final PartInitException e) {
- throw new RuntimeException(e);
- }
-
- fSdView = (SDView) view;
- fLoader = (TmfUml2SDSyncLoader)LoadersManager.getInstance().createLoader(
- "org.eclipse.linuxtools.tmf.ui.views.uml2sd.loader.TmfUml2SDSyncLoader", fSdView);
-
- delay(3000);
- fIsInitialized = true;
- }
- }
-
-
- private TmfTraceStub setupTrace(final ITmfEventParser parser) {
-
- try {
- // Create test trace object
- final URL location = FileLocator.find(FrameworkUtil.getBundle(this.getClass()), new Path("tracesets/sdEvents"), null);
- final File test = new File(FileLocator.toFileURL(location).toURI());
- return new TmfTraceStub(test.getPath(), 500, true, parser);
- } catch (final TmfTraceException e) {
- e.printStackTrace();
- throw new RuntimeException(e);
- } catch (final URISyntaxException e) {
- e.printStackTrace();
- throw new RuntimeException(e);
- } catch (final IOException e) {
- e.printStackTrace();
- throw new RuntimeException(e);
- }
- }
-
- /**
- * Dispose the resource
- */
- public void dispose() {
- if (fIsInitialized) {
- ITmfTrace trace = fTrace;
- TmfExperiment experiment = fExperiment;
- if (trace == null || experiment == null) {
- throw new IllegalStateException();
- }
-
- trace.broadcast(new TmfTraceClosedSignal(this, experiment));
- experiment.dispose();
-
- // Wait for all Eclipse jobs to finish
- waitForJobs();
-
- PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().hideView(fSdView);
- fIsInitialized = false;
- }
- }
-
- /**
- * Sleeps current thread or GUI thread for a given time.
- * @param waitTimeMillis time in milliseconds to wait
- */
- public void delay(final long waitTimeMillis) {
- final Display display = Display.getCurrent();
- if (display != null) {
- final long endTimeMillis = System.currentTimeMillis() + waitTimeMillis;
- while(System.currentTimeMillis() < endTimeMillis) {
- if (!display.readAndDispatch()) {
- // We do not use Display.sleep because it might never wake up
- // if there is no user interaction
- try {
- Thread.sleep(Math.min(waitTimeMillis, 10));
- } catch (final InterruptedException e) {
- // Ignored
- }
- }
- display.update();
- }
- } else {
- try {
- Thread.sleep(waitTimeMillis);
- } catch (final InterruptedException e) {
- // Ignored
- }
- }
- }
-
- /**
- * Waits for all Eclipse jobs to finish
- */
- public void waitForJobs() {
- while (!Job.getJobManager().isIdle()) {
- delay(IUml2SDTestConstants.WAIT_FOR_JOBS_DELAY);
- }
- }
-
- /**
- * @return current UML2SD loader
- */
- public TmfUml2SDSyncLoader getLoader() {
- return fLoader;
- }
-
- /**
- * @return current SD view
- */
- public SDView getSdView() {
- return fSdView;
- }
-
- /**
- * @return current trace
- */
- public TmfTraceStub getTrace() {
- return fTrace;
- }
-
- /**
- * @return Trace parser
- */
- public TmfUml2SDTestTrace getParser() {
- return fParser;
- }
-
- /**
- * @return current experiment.
- */
- public TmfExperiment getExperiment() {
- return fExperiment;
- }
-
- /**
- * Go to next page;
- */
- public void nextPage() {
- fLoader.nextPage();
- fLoader.waitForCompletion();
- delay(IUml2SDTestConstants.GUI_REFESH_DELAY);
- }
-
- /**
- * Go to previous page.
- */
- public void prevPage() {
- fLoader.prevPage();
- fLoader.waitForCompletion();
- delay(IUml2SDTestConstants.GUI_REFESH_DELAY);
- }
-
- /**
- * Go to last page.
- */
- public void lastPage() {
- fLoader.lastPage();
- fLoader.waitForCompletion();
- delay(IUml2SDTestConstants.GUI_REFESH_DELAY);
- }
-
- /**
- * Go to first page.
- */
- public void firstPage() {
- fLoader.firstPage();
- fLoader.waitForCompletion();
- delay(IUml2SDTestConstants.GUI_REFESH_DELAY);
- }
-
- /**
- * @param page number to set
- */
- public void setPage(final int page) {
- fLoader.pageNumberChanged(page);
- fLoader.waitForCompletion();
- delay(IUml2SDTestConstants.GUI_REFESH_DELAY);
- }
-
- /**
- * @see org.eclipse.linuxtools.tmf.ui.tests.views.uml2sd.loader.Uml2SDTestFacility#selectExperiment(boolean)
- */
- public void selectExperiment() {
- this.selectExperiment(true);
- }
-
- /**
- * Selects the experiment.
- * @param wait true to wait for indexing to finish else false
- */
- public void selectExperiment(final boolean wait) {
- fParser = new TmfUml2SDTestTrace();
- fTrace = setupTrace(fParser);
- fParser.setTrace(fTrace);
-
- final ITmfTrace traces[] = new ITmfTrace[1];
- traces[0] = fTrace;
- fExperiment = new TmfExperiment(ITmfEvent.class, "TestExperiment", traces) {
- @Override
- protected ITmfTraceIndexer createIndexer(int interval) {
- return new TmfCheckpointIndexer(this, interval);
- }
- };
- fTrace.broadcast(new TmfTraceOpenedSignal(this, fExperiment, null));
- fTrace.broadcast(new TmfTraceSelectedSignal(this, fExperiment));
- if (wait) {
- while (fExperiment.getNbEvents() == 0) {
- delay(IUml2SDTestConstants.GUI_REFESH_DELAY);
- }
- waitForJobs();
- delay(IUml2SDTestConstants.GUI_REFESH_DELAY);
- }
- }
-
- /**
- * Disposes the experiment.
- */
- public void disposeExperiment() {
- ITmfTrace trace = fTrace;
- TmfExperiment experiment = fExperiment;
- if (trace == null || experiment == null) {
- throw new IllegalStateException();
- }
- trace.broadcast(new TmfTraceClosedSignal(this, experiment));
- experiment.dispose();
- delay(IUml2SDTestConstants.GUI_REFESH_DELAY);
- }
-
- /**
- * Creates some global filter criteria and saves them to disk.
- */
- public void createFilterCriteria() {
- // Create Filter Criteria and save tme
- final List<FilterCriteria> filterToSave = new ArrayList<>();
- Criteria criteria = new Criteria();
- criteria.setLifeLineSelected(true);
- criteria.setExpression(IUml2SDTestConstants.FIRST_PLAYER_NAME);
- filterToSave.add(new FilterCriteria(criteria, true, false));
-
- criteria = new Criteria();
- criteria.setSyncMessageSelected(true);
- criteria.setExpression("BALL_.*");
- filterToSave.add(new FilterCriteria(criteria, true, false));
- FilterListDialog.saveFiltersCriteria(filterToSave);
- }
-
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui.tests/src/org/eclipse/linuxtools/tmf/ui/tests/views/uml2sd/loader/Uml2SDTestSetup.java b/lttng/org.eclipse.linuxtools.tmf.ui.tests/src/org/eclipse/linuxtools/tmf/ui/tests/views/uml2sd/loader/Uml2SDTestSetup.java
deleted file mode 100644
index 3ea6580ad0..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui.tests/src/org/eclipse/linuxtools/tmf/ui/tests/views/uml2sd/loader/Uml2SDTestSetup.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011, 2013 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:
- * Bernd Hufmann - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.linuxtools.tmf.ui.tests.views.uml2sd.loader;
-
-import junit.extensions.TestSetup;
-import junit.framework.Test;
-
-/**
- * Test setup class for one-time setUp() and tearDown() across test cases.
- */
-public class Uml2SDTestSetup extends TestSetup {
-
- /**
- * Constructor
- * @param test the test to use.
- */
- public Uml2SDTestSetup(Test test) {
- super(test);
- }
-
- @Override
- protected void setUp() throws Exception {
- Uml2SDTestFacility.getInstance().init();
- }
-
- @Override
- protected void tearDown() throws Exception {
- Uml2SDTestFacility.getInstance().dispose();
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui.tests/src/org/eclipse/linuxtools/tmf/ui/tests/views/uml2sd/loader/Uml2SDTestTimestamp.java b/lttng/org.eclipse.linuxtools.tmf.ui.tests/src/org/eclipse/linuxtools/tmf/ui/tests/views/uml2sd/loader/Uml2SDTestTimestamp.java
deleted file mode 100644
index 4e7a852190..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui.tests/src/org/eclipse/linuxtools/tmf/ui/tests/views/uml2sd/loader/Uml2SDTestTimestamp.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011, 2013 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:
- * Bernd Hufmann - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.linuxtools.tmf.ui.tests.views.uml2sd.loader;
-
-import org.eclipse.linuxtools.tmf.core.timestamp.TmfTimestamp;
-
-/**
- * Timestamp implementation for UML2SD test cases.
- *
- * @author Bernd Hufmann
- *
- */
-public class Uml2SDTestTimestamp extends TmfTimestamp {
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
-
- // ------------------------------------------------------------------------
- // Constructors
- // ------------------------------------------------------------------------
-
- /**
- * Constructor
- * @param value time as long value (nanoseconds)
- */
- public Uml2SDTestTimestamp(long value) {
- super(value, IUml2SDTestConstants.TIME_SCALE);
- }
-
- // ------------------------------------------------------------------------
- // Operations
- // ------------------------------------------------------------------------
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui.tests/tracesets/sdEvents b/lttng/org.eclipse.linuxtools.tmf.ui.tests/tracesets/sdEvents
deleted file mode 100644
index 85e44a6ece..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui.tests/tracesets/sdEvents
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui.tests/tracesets/txt/testTxtDefinition.xml b/lttng/org.eclipse.linuxtools.tmf.ui.tests/tracesets/txt/testTxtDefinition.xml
deleted file mode 100644
index ee2f9cbd73..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui.tests/tracesets/txt/testTxtDefinition.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<CustomTxtTraceDefinitionList>
-<Definition name="testtxt">
-<TimeStampOutputFormat>dd/MM/yyyy HH:mm:ss:SSS</TimeStampOutputFormat>
-<InputLine>
-<Cardinality max="2147483647" min="0"/>
-<RegEx>(\S*\s\S*) (.*\S)</RegEx>
-<InputData action="0" format="dd/MM/yyyy HH:mm:ss:SSS" name="Time Stamp"/>
-<InputData action="0" format="" name="Message"/>
-</InputLine>
-<OutputColumn name="Time Stamp"/>
-<OutputColumn name="Message"/>
-</Definition>
-</CustomTxtTraceDefinitionList>
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui.tests/tracesets/xml/invalid/001.xml b/lttng/org.eclipse.linuxtools.tmf.ui.tests/tracesets/xml/invalid/001.xml
deleted file mode 100644
index 25c39f9af1..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui.tests/tracesets/xml/invalid/001.xml
+++ /dev/null
@@ -1 +0,0 @@
-<doc>
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui.tests/tracesets/xml/invalid/002.xml b/lttng/org.eclipse.linuxtools.tmf.ui.tests/tracesets/xml/invalid/002.xml
deleted file mode 100644
index 25c39f9af1..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui.tests/tracesets/xml/invalid/002.xml
+++ /dev/null
@@ -1 +0,0 @@
-<doc>
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui.tests/tracesets/xml/invalid/003.xml b/lttng/org.eclipse.linuxtools.tmf.ui.tests/tracesets/xml/invalid/003.xml
deleted file mode 100644
index 48e4b52f1e..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui.tests/tracesets/xml/invalid/003.xml
+++ /dev/null
@@ -1,2 +0,0 @@
-<doc>
-</doc
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui.tests/tracesets/xml/invalid/004.xml b/lttng/org.eclipse.linuxtools.tmf.ui.tests/tracesets/xml/invalid/004.xml
deleted file mode 100644
index 881c4feb86..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui.tests/tracesets/xml/invalid/004.xml
+++ /dev/null
@@ -1 +0,0 @@
-This is text
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui.tests/tracesets/xml/invalid/005.xml b/lttng/org.eclipse.linuxtools.tmf.ui.tests/tracesets/xml/invalid/005.xml
deleted file mode 100644
index 8ba45c2b5e..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui.tests/tracesets/xml/invalid/005.xml
+++ /dev/null
@@ -1 +0,0 @@
-<do/c></do/c>
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui.tests/tracesets/xml/invalid/006.xml b/lttng/org.eclipse.linuxtools.tmf.ui.tests/tracesets/xml/invalid/006.xml
deleted file mode 100644
index ad5bca02f4..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui.tests/tracesets/xml/invalid/006.xml
+++ /dev/null
@@ -1 +0,0 @@
-<doc></doc name="goose">
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui.tests/tracesets/xml/malformed/001.xml b/lttng/org.eclipse.linuxtools.tmf.ui.tests/tracesets/xml/malformed/001.xml
deleted file mode 100644
index cb2af8327e..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui.tests/tracesets/xml/malformed/001.xml
+++ /dev/null
@@ -1 +0,0 @@
-<doc><doc2></doc></doc2>
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui.tests/tracesets/xml/malformed/002.xml b/lttng/org.eclipse.linuxtools.tmf.ui.tests/tracesets/xml/malformed/002.xml
deleted file mode 100644
index fb35d3d72a..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui.tests/tracesets/xml/malformed/002.xml
+++ /dev/null
@@ -1 +0,0 @@
-<doc><book>Harry Potter</livre></doc>
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui.tests/tracesets/xml/malformed/003.xml b/lttng/org.eclipse.linuxtools.tmf.ui.tests/tracesets/xml/malformed/003.xml
deleted file mode 100644
index ba63bb638e..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui.tests/tracesets/xml/malformed/003.xml
+++ /dev/null
@@ -1 +0,0 @@
-<doc><book>Harry Potter</book>A wizard did it</author></doc2>
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui.tests/tracesets/xml/testDefinition.xml b/lttng/org.eclipse.linuxtools.tmf.ui.tests/tracesets/xml/testDefinition.xml
deleted file mode 100644
index 858f9d4e76..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui.tests/tracesets/xml/testDefinition.xml
+++ /dev/null
@@ -1,16 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<CustomXMLTraceDefinitionList>
-<Definition name="myxml">
-<TimeStampOutputFormat>HH:mm:ss:SSS</TimeStampOutputFormat>
-<InputElement name="trace">
-<InputElement logentry="true" name="element">
-<InputData action="0" format="" name="Message"/>
-<Attribute name="time">
-<InputData action="0" format="dd/MM/yyyy HH:mm:ss:SSS" name="Time Stamp"/>
-</Attribute>
-</InputElement>
-</InputElement>
-<OutputColumn name="Time Stamp"/>
-<OutputColumn name="Message"/>
-</Definition>
-</CustomXMLTraceDefinitionList>
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui.tests/tracesets/xml/valid/001.xml b/lttng/org.eclipse.linuxtools.tmf.ui.tests/tracesets/xml/valid/001.xml
deleted file mode 100644
index afa807c23f..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui.tests/tracesets/xml/valid/001.xml
+++ /dev/null
@@ -1 +0,0 @@
-<doc></doc>
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui.tests/tracesets/xml/valid/002.xml b/lttng/org.eclipse.linuxtools.tmf.ui.tests/tracesets/xml/valid/002.xml
deleted file mode 100644
index 6cd7309bd5..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui.tests/tracesets/xml/valid/002.xml
+++ /dev/null
@@ -1 +0,0 @@
-<doc attrib=""></doc>
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui.tests/tracesets/xml/valid/003.xml b/lttng/org.eclipse.linuxtools.tmf.ui.tests/tracesets/xml/valid/003.xml
deleted file mode 100644
index a0723ada1e..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui.tests/tracesets/xml/valid/003.xml
+++ /dev/null
@@ -1 +0,0 @@
-<doc attrib=""><elem/></doc>
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui.tests/widgetStubs/org/eclipse/linuxtools/tmf/ui/tests/experiment/type/TmfEventsEditorStub.java b/lttng/org.eclipse.linuxtools.tmf.ui.tests/widgetStubs/org/eclipse/linuxtools/tmf/ui/tests/experiment/type/TmfEventsEditorStub.java
deleted file mode 100644
index 10f9d13f86..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui.tests/widgetStubs/org/eclipse/linuxtools/tmf/ui/tests/experiment/type/TmfEventsEditorStub.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 École Polytechnique de Montréal
- *
- * 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:
- * Geneviève Bastien - Initial implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.tests.experiment.type;
-
-import org.eclipse.linuxtools.tmf.ui.editors.TmfEventsEditor;
-import org.eclipse.linuxtools.tmf.ui.viewers.events.TmfEventsTable;
-import org.eclipse.swt.widgets.Composite;
-
-/**
- * Event editor stub for experiment type unit tests
- *
- * @author Geneviève Bastien
- */
-public class TmfEventsEditorStub extends TmfEventsEditor {
-
- private Composite fParent;
-
- @Override
- public void createPartControl(final Composite parent) {
- super.createPartControl(parent);
- fParent = parent;
- }
-
- /**
- * Get a new event table, because the one from the parent events editor is
- * not available.
- *
- * This function is meant to be used for unit tests only
- *
- * @return A new event table
- */
- public TmfEventsTable getNewEventsTable() {
- TmfEventsTable table = createEventsTable(fParent, getTrace().getCacheSize());
- return table;
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui.tests/widgetStubs/org/eclipse/linuxtools/tmf/ui/tests/stubs/analysis/TestAnalysisUi.java b/lttng/org.eclipse.linuxtools.tmf.ui.tests/widgetStubs/org/eclipse/linuxtools/tmf/ui/tests/stubs/analysis/TestAnalysisUi.java
deleted file mode 100644
index ec99f24c07..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui.tests/widgetStubs/org/eclipse/linuxtools/tmf/ui/tests/stubs/analysis/TestAnalysisUi.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013, 2014 École Polytechnique de Montréal
- *
- * 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:
- * Geneviève Bastien - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.tests.stubs.analysis;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.linuxtools.tmf.core.analysis.TmfAbstractAnalysisModule;
-import org.eclipse.linuxtools.tmf.core.trace.ITmfTrace;
-
-/**
- * Stub for an analysis module with outputs
- */
-public class TestAnalysisUi extends TmfAbstractAnalysisModule {
-
- /** ID of the view opened by this analysis module */
- public static final String VIEW_ID = "org.eclipse.linuxtools.tmf.ui.tests.testAnalysisView";
-
- private String fTraceName;
-
- /**
- * Constructor
- */
- public TestAnalysisUi() {
- super();
- }
-
- @Override
- protected boolean executeAnalysis(final IProgressMonitor monitor) {
- return false;
- }
-
- @Override
- protected void canceling() {
-
- }
-
- @Override
- public ITmfTrace getTrace() {
- return super.getTrace();
- }
-
- /**
- * Returns the name of the trace that should be set
- *
- * @return Name of the trace
- */
- public String getTraceName() {
- return fTraceName;
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui.tests/widgetStubs/org/eclipse/linuxtools/tmf/ui/tests/uml2sd/load/TestLoaders.java b/lttng/org.eclipse.linuxtools.tmf.ui.tests/widgetStubs/org/eclipse/linuxtools/tmf/ui/tests/uml2sd/load/TestLoaders.java
deleted file mode 100644
index 0dcba3472a..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui.tests/widgetStubs/org/eclipse/linuxtools/tmf/ui/tests/uml2sd/load/TestLoaders.java
+++ /dev/null
@@ -1,483 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 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:
- * Bernd Hufmann - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.tests.uml2sd.load;
-
-import java.net.URL;
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.linuxtools.tmf.core.timestamp.TmfTimestamp;
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.SDView;
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.core.AsyncMessageReturn;
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.core.BasicExecutionOccurrence;
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.core.EllipsisMessage;
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.core.ExecutionOccurrence;
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.core.Frame;
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.core.GraphNode;
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.core.HotSpot;
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.core.Lifeline;
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.core.LifelineCategories;
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.core.Stop;
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.core.SyncMessage;
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.core.SyncMessageReturn;
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.dialogs.Criteria;
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.dialogs.FilterCriteria;
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.drawings.IImage;
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.handlers.provider.ISDFilterProvider;
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.handlers.provider.ISDFindProvider;
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.handlers.provider.ISDGraphNodeSupporter;
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.handlers.provider.ISDPagingProvider;
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.load.IUml2SDLoader;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.ui.ISelectionListener;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.ui.PlatformUI;
-
-/**
- * Test loader class.
- */
-@SuppressWarnings("javadoc")
-public class TestLoaders implements IUml2SDLoader, ISDFindProvider, ISDFilterProvider, ISDPagingProvider, ISelectionListener {
-
- public SDView v;
- public int page;
- private List<GraphNode> findResults = new ArrayList<>();
- private Criteria findCriteria;
- private int currentFindIndex = 0;
-
- private Frame savedFrame = null;
-
- public TestLoaders() {
- this("");
- }
-
- /**
- * Constructor
- *
- * @param name
- */
- public TestLoaders(String name) {
- page = 1;
- }
-
- @Override
- public void setViewer(SDView j) {
- PlatformUI.getWorkbench().getActiveWorkbenchWindow().getSelectionService().addPostSelectionListener(this);
- v = j;
- v.setSDPagingProvider(this);
- v.setSDFindProvider(this);
- v.setSDFilterProvider(this);
- page = 1;
- createFrame();
- }
-
- @Override
- public boolean hasNextPage() {
- return page == 1;
- }
-
- @Override
- public boolean hasPrevPage() {
- return page == 2;
- }
-
- @Override
- public void prevPage() {
- page--;
- createFrame();
- }
-
- @Override
- public void nextPage() {
- page++;
- createFrame();
- }
-
- private void createFrame() {
- Frame testFrame = new Frame();
- if (page == 1) {
- testFrame.setName("Sequence Diagram - First Page");
- LifelineCategories tt[] = new LifelineCategories[2];
- tt[0] = new LifelineCategories();
- tt[1] = new LifelineCategories();
- tt[1].setName("Categorie 1");
- tt[1].setImage(new LocalImageImpl("obj16/node_obj.gif"));
- tt[0].setImage(new LocalImageImpl("obj16/class.gif"));
- tt[0].setName("Categorie 0");
- testFrame.setLifelineCategories(tt);
- Lifeline lifeline = new Lifeline();
- lifeline.setName("LifeLine 0");
- testFrame.addLifeLine(lifeline);
- EllipsisMessage mn = new EllipsisMessage();
- lifeline.getNewEventOccurrence();
- mn.setStartLifeline(lifeline);
- mn.setName("******************* EllipsisisMessage TEST ****************");
- testFrame.addMessage(mn);
- SyncMessage mn3 = new SyncMessage();
- mn3.setStartLifeline(lifeline);
- testFrame.addMessage(mn3);
- SyncMessage mn2 = new SyncMessage();
- lifeline.getNewEventOccurrence();
- lifeline.setCategory(0);
- mn2.setEndLifeline(lifeline);
- mn2.setName("*******************Sync TEST ****************");
- testFrame.addMessage(mn2);
- for (int i = 1; i < 300; i++) {
- lifeline = new Lifeline();
- lifeline.setName((new StringBuilder("LifeLine ")).append(i).toString());
- lifeline.setCategory(1);
- testFrame.addLifeLine(lifeline);
- SyncMessage m3 = new SyncMessage();
- testFrame.getLifeline(i - 1).getNewEventOccurrence();
- m3.setStartLifeline(testFrame.getLifeline(i - 1));
- m3.setEndLifeline(testFrame.getLifeline(i));
- m3.setName((new StringBuilder("Sync Message ")).append(i).toString());
- testFrame.addMessage(m3);
-// if (i == 11)
-// m3.setTime(new TmfTimestamp(i - 400));
-// else if (i == 6)
-// m3.setTime(new TmfTimestamp(i));
-// else
- m3.setTime(new TmfTimestamp(i + 1));
- }
-
- for (int i = testFrame.lifeLinesCount() - 1; i > 0; i--) {
- SyncMessageReturn m = new SyncMessageReturn();
- testFrame.getLifeline(i).getNewEventOccurrence();
- m.setStartLifeline(testFrame.getLifeline(i));
- m.setEndLifeline(testFrame.getLifeline(i - 1));
- testFrame.addMessage(m);
- m.setName((new StringBuilder("Sync Message return ")).append(i).toString());
- if (i + 1 < testFrame.lifeLinesCount()) {
- SyncMessage h = testFrame.getSyncMessage(i + 1);
- m.setMessage(h);
- }
- }
-
- for (int i = 0; i < testFrame.lifeLinesCount(); i++) {
- if (i > 0) {
- ExecutionOccurrence occ = new ExecutionOccurrence();
- occ.setStartOccurrence(testFrame.getSyncMessage(i).getEventOccurrence() + 1);
- occ.setEndOccurrence(testFrame.getSyncMessageReturn(testFrame.syncMessageReturnCount() - i).getEventOccurrence());
- testFrame.getLifeline(i).addExecution(occ);
- occ.setName("******************* Execution Occurance TEST ****************");
- }
- }
-
- Stop s = new Stop();
- s.setLifeline(testFrame.getLifeline(1));
- s.setEventOccurrence(testFrame.getLifeline(1).getNewEventOccurrence());
- testFrame.getLifeline(1).addNode(s);
- HotSpot gg = new HotSpot();
- gg.setImage(new LocalImageImpl("obj16/plus_obj.gif"));
- gg.setExecution((BasicExecutionOccurrence) testFrame.getLifeline(1).getExecutions().get(0));
- AsyncMessageReturn m = new AsyncMessageReturn();
- m.setStartLifeline(testFrame.getLifeline(1));
- m.setEndLifeline(testFrame.getLifeline(3));
- m.setStartOccurrence(2);
- m.setEndOccurrence(6);
- m.setStartTime(new TmfTimestamp(2));
- m.setEndTime(new TmfTimestamp(6));
- m.setName("*******************Async TEST ****************");
- testFrame.addMessage(m);
- v.setFrame(testFrame);
- v.getSDWidget().setReorderMode(true);
- } else {
-
-// if (page == 2) {
- testFrame.setName("Sequence Diagram");
- Lifeline lifeline = new Lifeline();
- lifeline.setName("LifeLine 0");
- testFrame.addLifeLine(lifeline);
- lifeline = new Lifeline();
- lifeline.setName("LifeLine 1");
- testFrame.addLifeLine(lifeline);
- for (int i = 1; i < 30; i++) {
- SyncMessage m3 = new SyncMessage();
- m3.autoSetStartLifeline(testFrame.getLifeline(0));
- m3.autoSetEndLifeline(testFrame.getLifeline(0));
- m3.setName((new StringBuilder("Message ")).append(i).toString());
- testFrame.addMessage(m3);
- SyncMessageReturn m = new SyncMessageReturn();
- m.autoSetStartLifeline(testFrame.getLifeline(0));
- m.autoSetEndLifeline(testFrame.getLifeline(0));
- testFrame.addMessage(m);
- m.setName((new StringBuilder("Message return ")).append(i).toString());
- ExecutionOccurrence occ = new ExecutionOccurrence();
- occ.setStartOccurrence(testFrame.getSyncMessage(i - 1).getEventOccurrence());
- occ.setEndOccurrence(testFrame.getSyncMessageReturn(i - 1).getEventOccurrence());
- testFrame.getLifeline(0).addExecution(occ);
- }
- }
- v.setFrame(testFrame);
- }
-
- @Override
- public boolean find(Criteria toSearch) {
- Frame frame = v.getFrame();
-
- if (frame == null) {
- return false;
- }
- if (findResults == null || findCriteria == null || !findCriteria.compareTo(toSearch)) {
- findResults = new ArrayList<>();
- findCriteria = toSearch;
- if (findCriteria.isLifeLineSelected()) {
- for (int i = 0; i < frame.lifeLinesCount(); i++) {
- if (findCriteria.matches(frame.getLifeline(i).getName())) {
- findResults.add(frame.getLifeline(i));
- }
- }
-
- }
- ArrayList<GraphNode> msgs = new ArrayList<>();
- if (findCriteria.isSyncMessageSelected()) {
- for (int i = 0; i < frame.syncMessageCount(); i++) {
- if (findCriteria.matches(frame.getSyncMessage(i).getName())) {
- msgs.add(frame.getSyncMessage(i));
- }
- }
-
- for (int i = 0; i < frame.syncMessageReturnCount(); i++) {
- if (findCriteria.matches(frame.getSyncMessageReturn(i).getName())) {
- msgs.add(frame.getSyncMessageReturn(i));
- }
- }
-
- }
- // if(msgs.size() > 0) {
- // GraphNode temp[] = msgs.toArray(new GraphNode[0]);
- // Arrays.sort(temp, new DateComparator());
- // findResults.addAll(Arrays.asList(temp));
- // }
-
- msgs = new ArrayList<>();
- if (findCriteria.isAsyncMessageSelected()) {
- for (int i = 0; i < frame.asyncMessageCount(); i++) {
- if (findCriteria.matches(frame.getAsyncMessage(i).getName())) {
- msgs.add(frame.getAsyncMessage(i));
- }
- }
-
- for (int i = 0; i < frame.asyncMessageReturnCount(); i++) {
- if (findCriteria.matches(frame.getAsyncMessageReturn(i).getName())) {
- msgs.add(frame.getAsyncMessageReturn(i));
- }
- }
-
- }
- // if(msgs.size() > 0) {
- // GraphNode temp[] = msgs.toArray(new GraphNode[0]);
- // Arrays.sort(temp, new DateComparator());
- // findResults.addAll(Arrays.asList(temp));
- // }
-
- List<GraphNode> selection = v.getSDWidget().getSelection();
- if (selection != null && selection.size() == 1) {
- currentFindIndex = findResults.indexOf(selection.get(0)) + 1;
- } else {
- currentFindIndex = 0;
- }
- } else {
- currentFindIndex++;
- }
- if (findResults.size() > currentFindIndex) {
- GraphNode current = findResults.get(currentFindIndex);
- v.getSDWidget().moveTo(current);
- return true;
- }
- // return notFoundYet(findCriteria); // search in other page
- return false;
- }
-
- @Override
- public void cancel() {
- findResults = null;
- findCriteria = null;
- currentFindIndex = 0;
- }
-
- public boolean isLifelineSupported() {
- return false;
- }
-
- public boolean isSyncMessageSupported() {
- return false;
- }
-
- public boolean isSyncMessageReturnSupported() {
- return false;
- }
-
- public boolean isAsyncMessageSupported() {
- return false;
- }
-
- public boolean isAsyncMessageReturnSupported() {
- return false;
- }
-
- public boolean isStopSupported() {
- return false;
- }
-
- public Action getFindAction() {
- return null;
- }
-
- @Override
- public boolean filter(List<FilterCriteria> filters) {
-
- if (savedFrame != null) {
- savedFrame = v.getFrame();
- }
-
- Frame frame = v.getFrame();
-
- if (frame == null) {
- return false;
- }
-
- if (filters.size() != 1) {
- return false;
- }
-
- FilterCriteria filterCriteria = filters.get(0);
-
- // One way is to set visiblity of the item, but this only works for messages and not
- // for lifelines! It's better to create a new frame without the filtered messages.
- boolean found = false;
- if (filterCriteria.getCriteria().isSyncMessageSelected()) {
- for (int i = 0; i < frame.syncMessageCount(); i++) {
- if (filterCriteria.getCriteria().matches(frame.getSyncMessage(i).getName())) {
- frame.getSyncMessage(i).setVisible(false);
- found = true;
- }
- }
-
- for (int i = 0; i < frame.syncMessageReturnCount(); i++) {
- if (filterCriteria.getCriteria().matches(frame.getSyncMessageReturn(i).getName())) {
- frame.getSyncMessageReturn(i).setVisible(false);
- found = true;
- }
- }
- }
-
- v.getSDWidget().redraw();
- return found;
- }
-
- public ArrayList<?> getCurrentFilters() {
- return null;
- }
-
- @Override
- public String getTitleString() {
- return "Test Loader";
- }
-
- @Override
- public void dispose() {
- }
-
-
- @Override
- public void selectionChanged(IWorkbenchPart part, ISelection selection) {
- ISelection sel = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getSelectionService().getSelection();
- if (sel != null && (sel instanceof StructuredSelection)) {
- StructuredSelection stSel = (StructuredSelection) sel;
- if (stSel.getFirstElement() instanceof HotSpot) {
- // OpenToolBox gg = new OpenToolBox(v);
- // gg.run();
- }
- }
- }
-
- @Override
- public boolean isNodeSupported(int nodeType) {
- switch (nodeType) {
- case ISDGraphNodeSupporter.LIFELINE:
- case ISDGraphNodeSupporter.SYNCMESSAGE:
- case ISDGraphNodeSupporter.SYNCMESSAGERETURN:
- case ISDGraphNodeSupporter.ASYNCMESSAGE:
- case ISDGraphNodeSupporter.ASYNCMESSAGERETURN:
- case ISDGraphNodeSupporter.STOP:
- return true;
-
- default:
- break;
- }
- return false;
- }
-
- @Override
- public String getNodeName(int nodeType, String loaderClassName) {
- return null;
- }
-
- public static class LocalImageImpl implements IImage {
- protected Image img;
-
- public LocalImageImpl(String file) {
- img = null;
- img = getResourceImage(file);
- }
-
- public LocalImageImpl(Image img_) {
- img = null;
- img = img_;
- }
-
- public Image getResourceImage(String _name) {
- ImageDescriptor imgage;
- try {
- URL BASIC_URL = new URL("platform", "localhost", "plugin");
- URL url = new URL(BASIC_URL, (new StringBuilder("plugin/org.eclipse.linuxtools.tmf.ui/icons/")).append(_name).toString());
- imgage = ImageDescriptor.createFromURL(url);
- return imgage.createImage();
- } catch (Exception e) {
- System.err.println(e);
- }
- return null;
- }
-
- @Override
- public Object getImage() {
- return img;
- }
-
- @Override
- public void dispose() {
- if (img != null) {
- img.dispose();
- }
- }
-
- }
-
- @Override
- public void firstPage() {
- page = 0;
- createFrame();
-
- }
-
- @Override
- public void lastPage() {
- page = 2;
- createFrame();
- }
-} \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui.tests/widgetStubs/org/eclipse/linuxtools/tmf/ui/tests/uml2sd/trace/TmfUml2SDTestTrace.java b/lttng/org.eclipse.linuxtools.tmf.ui.tests/widgetStubs/org/eclipse/linuxtools/tmf/ui/tests/uml2sd/trace/TmfUml2SDTestTrace.java
deleted file mode 100644
index c4499cb830..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui.tests/widgetStubs/org/eclipse/linuxtools/tmf/ui/tests/uml2sd/trace/TmfUml2SDTestTrace.java
+++ /dev/null
@@ -1,112 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011, 2013 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:
- * Bernd Hufmann - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.linuxtools.tmf.ui.tests.uml2sd.trace;
-
-import java.io.EOFException;
-import java.io.IOException;
-import java.io.RandomAccessFile;
-
-import org.eclipse.linuxtools.tmf.core.event.ITmfEvent;
-import org.eclipse.linuxtools.tmf.core.event.ITmfEventField;
-import org.eclipse.linuxtools.tmf.core.event.TmfEvent;
-import org.eclipse.linuxtools.tmf.core.event.TmfEventField;
-import org.eclipse.linuxtools.tmf.core.event.TmfEventType;
-import org.eclipse.linuxtools.tmf.core.timestamp.TmfTimestamp;
-import org.eclipse.linuxtools.tmf.core.trace.ITmfContext;
-import org.eclipse.linuxtools.tmf.core.trace.ITmfEventParser;
-import org.eclipse.linuxtools.tmf.core.trace.ITmfTrace;
-import org.eclipse.linuxtools.tmf.tests.stubs.trace.TmfTraceStub;
-
-/**
- * Parser implementation for Uml2SD Test Traces.
- *
- */
-public class TmfUml2SDTestTrace implements ITmfEventParser {
-
- ITmfTrace fEventStream;
-
- /**
- * Default Constructor
- */
- public TmfUml2SDTestTrace() {
- }
-
- /**
- * Constructor
- * @param eventStream ITmfTrace implementation
- */
- public TmfUml2SDTestTrace(ITmfTrace eventStream) {
- fEventStream = eventStream;
- }
-
- /**
- * @param eventStream ITmfTrace implementation to set
- */
- public void setTrace(ITmfTrace eventStream) {
- fEventStream = eventStream;
- }
-
- @Override
- public ITmfEvent parseEvent(ITmfContext context) {
- if (! (fEventStream instanceof TmfTraceStub)) {
- return null;
- }
-
- // Highly inefficient...
- RandomAccessFile stream = ((TmfTraceStub) fEventStream).getStream();
-
-// String name = eventStream.getName();
-// name = name.substring(name.lastIndexOf('/') + 1);
-
- long location = 0;
- if (context != null) {
- location = (Long) context.getLocation().getLocationInfo();
- }
-
- try {
- stream.seek(location);
-
- long ts = stream.readLong();
- String source = stream.readUTF();
- String type = stream.readUTF();
- String reference = stream.readUTF();
- String sender = stream.readUTF();
- String receiver = stream.readUTF();
- String signal = stream.readUTF();
-
- String[] labels = {"sender", "receiver", "signal"};
-
- TmfEventType tmfEventType = new TmfEventType("UnitTest", type, TmfEventField.makeRoot(labels));
-
- String content = "[";
- content += sender;
- content += "," + receiver;
- content += "," + signal;
- content += "]";
-
- // Pre-parse the content
- TmfEventField[] fields = new TmfEventField[3];
- fields[0] = new TmfEventField("sender", sender, null);
- fields[1] = new TmfEventField("receiver", receiver, null);
- fields[2] = new TmfEventField("signal", signal, null);
-
- ITmfEventField tmfContent = new TmfEventField(ITmfEventField.ROOT_FIELD_ID, content, fields);
- ITmfEvent tmfEvent = new TmfEvent(fEventStream, new TmfTimestamp(ts, -9), source, tmfEventType, tmfContent, reference);
-
- return tmfEvent;
- } catch (final EOFException e) {
- } catch (final IOException e) {
- }
- return null;
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui.tests/widgetStubs/org/eclipse/linuxtools/tmf/ui/widgets/timegraph/test/stub/adaption/TsfImplProvider.java b/lttng/org.eclipse.linuxtools.tmf.ui.tests/widgetStubs/org/eclipse/linuxtools/tmf/ui/widgets/timegraph/test/stub/adaption/TsfImplProvider.java
deleted file mode 100644
index 9e4170049d..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui.tests/widgetStubs/org/eclipse/linuxtools/tmf/ui/widgets/timegraph/test/stub/adaption/TsfImplProvider.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009, 2013 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:
- * Alvaro Sanchez-Leon (alvsan09@gmail.com) - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.linuxtools.tmf.ui.widgets.timegraph.test.stub.adaption;
-
-import java.util.HashMap;
-import java.util.Map;
-
-import org.eclipse.linuxtools.tmf.ui.widgets.timegraph.TimeGraphPresentationProvider;
-import org.eclipse.linuxtools.tmf.ui.widgets.timegraph.model.ITimeEvent;
-import org.eclipse.linuxtools.tmf.ui.widgets.timegraph.test.stub.model.EventImpl;
-
-/**
- * Time Graph Presentation Provider Stub.
- */
-public class TsfImplProvider extends TimeGraphPresentationProvider {
-
- // ========================================================================
- // Methods
- // ========================================================================
- @Override
- public int getStateTableIndex(ITimeEvent event) {
- return 0;
- }
-
- @Override
- public Map<String, String> getEventHoverToolTipInfo(ITimeEvent revent) {
- Map<String, String> toolTipEventMsgs = new HashMap<>();
- if (revent instanceof EventImpl) {
- toolTipEventMsgs.put("Test Tip1", "Test Value tip1");
- toolTipEventMsgs.put("Test Tip2", "Test Value tip2");
- }
-
- return toolTipEventMsgs;
- }
-
- @Override
- public String getEventName(ITimeEvent event) {
- String name = "Unknown";
- if (event instanceof EventImpl) {
- EventImpl devent = (EventImpl) event;
- name = devent.getType().toString();
- }
- return name;
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui.tests/widgetStubs/org/eclipse/linuxtools/tmf/ui/widgets/timegraph/test/stub/model/EventImpl.java b/lttng/org.eclipse.linuxtools.tmf.ui.tests/widgetStubs/org/eclipse/linuxtools/tmf/ui/widgets/timegraph/test/stub/model/EventImpl.java
deleted file mode 100644
index c8ed3d411d..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui.tests/widgetStubs/org/eclipse/linuxtools/tmf/ui/widgets/timegraph/test/stub/model/EventImpl.java
+++ /dev/null
@@ -1,85 +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:
- * Alvaro Sanchez-Leon (alvsan09@gmail.com) - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.linuxtools.tmf.ui.widgets.timegraph.test.stub.model;
-
-import org.eclipse.linuxtools.tmf.ui.widgets.timegraph.model.ITimeEvent;
-import org.eclipse.linuxtools.tmf.ui.widgets.timegraph.model.ITimeGraphEntry;
-
-/**
- * ITimeEvent implementation for test purposes.
- */
-@SuppressWarnings("javadoc")
-public class EventImpl implements ITimeEvent {
- // ========================================================================
- // Data
- // ========================================================================
- public static enum Type {ERROR, WARNING, TIMEADJUSTMENT, ALARM, EVENT, INFORMATION, UNKNOWN, INFO1, INFO2, INFO3, INFO4, INFO5, INFO6, INFO7, INFO8, INFO9}
-
- private long time = 0;
- private ITimeGraphEntry trace = null;
- private Type myType = Type.UNKNOWN;
- private long duration;
-
- // ========================================================================
- // Constructor
- // ========================================================================
- public EventImpl(long time, ITimeGraphEntry trace, Type type) {
- this.time = time;
- this.trace = trace;
- this.myType = type;
- }
-
- // ========================================================================
- // Methods
- // ========================================================================
- public Type getType() {
- return myType;
- }
-
- public void setType(Type myType) {
- this.myType = myType;
- }
-
- public void setTime(long time) {
- this.time = time;
- }
-
- public void setTrace(ITimeGraphEntry trace) {
- this.trace = trace;
- }
-
- @Override
- public long getTime() {
- return time;
- }
-
- @Override
- public ITimeGraphEntry getEntry() {
- return trace;
- }
-
- /**
- * @param duration the duration to set
- */
- public void setDuration(long duration) {
- this.duration = duration;
- }
-
- /**
- * @return the duration
- */
- @Override
- public long getDuration() {
- return duration;
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui.tests/widgetStubs/org/eclipse/linuxtools/tmf/ui/widgets/timegraph/test/stub/model/TraceImpl.java b/lttng/org.eclipse.linuxtools.tmf.ui.tests/widgetStubs/org/eclipse/linuxtools/tmf/ui/widgets/timegraph/test/stub/model/TraceImpl.java
deleted file mode 100644
index 62f6f3680c..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui.tests/widgetStubs/org/eclipse/linuxtools/tmf/ui/widgets/timegraph/test/stub/model/TraceImpl.java
+++ /dev/null
@@ -1,118 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009, 2013 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:
- * Alvaro Sanchez-Leon (alvsan09@gmail.com) - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.linuxtools.tmf.ui.widgets.timegraph.test.stub.model;
-
-import java.util.Iterator;
-import java.util.List;
-import java.util.Vector;
-
-import org.eclipse.linuxtools.tmf.ui.widgets.timegraph.model.ITimeEvent;
-import org.eclipse.linuxtools.tmf.ui.widgets.timegraph.model.ITimeGraphEntry;
-
-@SuppressWarnings("javadoc")
-public class TraceImpl implements ITimeGraphEntry {
-
- // ========================================================================
- // Data
- // ========================================================================
-
- private String name = "traceDefaultName";
- private long startTime = 0;
- private long stopTime = 1;
- private String className = "defaultClassName";
- private Vector<ITimeEvent> traceEvents = new Vector<>();
-
- // ========================================================================
- // Constructor
- // ========================================================================
-
- public TraceImpl(String name, long sTime, long stopTime, String className) {
- this.name = name;
- this.startTime = sTime;
- this.stopTime = stopTime;
- this.className = className;
- }
-
- // ========================================================================
- // Methods
- // ========================================================================
-
- public String getClassName() {
- return className;
- }
-
- public void setClassName(String className) {
- this.className = className;
- }
-
- public void setName(String name) {
- this.name = name;
- }
-
- public void setStartTime(long startTime) {
- this.startTime = startTime;
- }
-
- public void setStopTime(long stopTime) {
- this.stopTime = stopTime;
- }
-
- @Override
- public String getName() {
- return name;
- }
-
- @Override
- public long getStartTime() {
- return startTime;
- }
-
- @Override
- public long getEndTime() {
- return stopTime;
- }
-
- @Override
- public boolean hasTimeEvents() {
- return traceEvents != null;
- }
-
- @Override
- public Iterator<ITimeEvent> getTimeEventsIterator() {
- return traceEvents.iterator();
- }
-
- @Override
- public Iterator<ITimeEvent> getTimeEventsIterator(long aStartTime, long aStopTime, long maxDuration) {
- return traceEvents.iterator();
- }
-
- public void addTraceEvent(ITimeEvent event) {
- traceEvents.add(event);
- }
-
- @Override
- public List<ITimeGraphEntry> getChildren() {
- return null;
- }
-
- @Override
- public ITimeGraphEntry getParent() {
- return null;
- }
-
- @Override
- public boolean hasChildren() {
- return false;
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui.tests/widgetStubs/org/eclipse/linuxtools/tmf/ui/widgets/timegraph/test/stub/model/TraceModelImplFactory.java b/lttng/org.eclipse.linuxtools.tmf.ui.tests/widgetStubs/org/eclipse/linuxtools/tmf/ui/widgets/timegraph/test/stub/model/TraceModelImplFactory.java
deleted file mode 100644
index bd875921b0..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui.tests/widgetStubs/org/eclipse/linuxtools/tmf/ui/widgets/timegraph/test/stub/model/TraceModelImplFactory.java
+++ /dev/null
@@ -1,232 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009, 2013 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:
- * Alvaro Sanchez-Leon (alvsan09@gmail.com) - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.linuxtools.tmf.ui.widgets.timegraph.test.stub.model;
-
-import java.util.Date;
-
-@SuppressWarnings("javadoc")
-public class TraceModelImplFactory {
-
- // ========================================================================
- // Data
- // ========================================================================
- private int count = 0;
- private final TraceStrings[] traceNames;
- private static final long msTons = 1000000;
- private final Long timeRef = new Date().getTime() * msTons;
-
- // ========================================================================
- // Constructor
- // ========================================================================
- public TraceModelImplFactory() {
- traceNames = new TraceStrings[17];
- loadTraceNameStrings();
- }
-
- // ========================================================================
- // Methods
- // ========================================================================
- public TraceImpl[] createTraces() {
- TraceImpl trace;
- TraceImpl[] traceArr = new TraceImpl[17];
- for (int i = 0; i < traceArr.length; i++) {
- trace = new TraceImpl(traceNames[i].name, timeRef, timeRef + 40,
- traceNames[i].classNmme);
- count = i;
- createEvents(trace);
- traceArr[i] = trace;
- }
- return traceArr;
- }
-
- /**
- * 5000 Events per Trace.
- * @param number
- * @return
- */
- public TraceImpl[] createLargeTraces(int number) {
- TraceImpl trace;
- TraceImpl[] traceArr = new TraceImpl[number];
- for (int i = 0; i < traceArr.length; i++) {
- int counter = i%17;
- long sTime = i * (long) 1E6;
- trace = new TraceImpl(traceNames[counter].name, sTime , sTime + 20000,
- traceNames[counter].classNmme);
- create5000Events(trace);
- traceArr[i] = trace;
- }
- return traceArr;
- }
-
- private static void create5000Events(TraceImpl trace) {
- EventImpl event;
- Long eventTime;
- int numEvents = 5000;
- long sTime = trace.getStartTime();
- long eTime = trace.getEndTime();
- long duration = (eTime - sTime)/numEvents;
- for (int i = 0; i < numEvents; i++) {
- eventTime = sTime + (i * duration);
- // eventTime = timeRef + (5 * (count % 4) + (5 * (int) (i/2) ));
- // System.out.println("Trace: " + trace.getName() + " EventTime: "
- // + eventTime);
-// duration = i * msTons + (long) ((i % 4));
-
- event = new EventImpl(eventTime, trace, getEventType(i%16));
- event.setDuration(duration);
- trace.addTraceEvent(event);
- }
- }
-
- private void createEvents(TraceImpl trace) {
- EventImpl event;
- Long eventTime;
- int numEvents = 17;
- long duration = 0;
- for (int i = 0; i < numEvents; i++) {
- eventTime = timeRef + msTons * i + (5 * msTons * count) + (5 * i);
- duration = msTons + i * msTons + ((i % 4));
-// duration = i + (long) ((i % 4));
- event = new EventImpl(eventTime, trace, getEventType(i));
- event.setDuration(duration);
- trace.addTraceEvent(event);
- }
- }
-
- private static EventImpl.Type getEventType(int val) {
- if (EventImpl.Type.ALARM.ordinal() == val) {
- return EventImpl.Type.ALARM;
- }
- if (EventImpl.Type.ERROR.ordinal() == val) {
- return EventImpl.Type.ERROR;
- }
- if (EventImpl.Type.EVENT.ordinal() == val) {
- return EventImpl.Type.EVENT;
- }
- if (EventImpl.Type.INFORMATION.ordinal() == val) {
- return EventImpl.Type.INFORMATION;
- }
- if (EventImpl.Type.TIMEADJUSTMENT.ordinal() == val) {
- return EventImpl.Type.TIMEADJUSTMENT;
- }
- if (EventImpl.Type.WARNING.ordinal() == val) {
- return EventImpl.Type.WARNING;
- }
- if (EventImpl.Type.INFO1.ordinal() == val) {
- return EventImpl.Type.INFO1;
- }
- if (EventImpl.Type.INFO2.ordinal() == val) {
- return EventImpl.Type.INFO2;
- }
- if (EventImpl.Type.INFO3.ordinal() == val) {
- return EventImpl.Type.INFO3;
- }
- if (EventImpl.Type.INFO4.ordinal() == val) {
- return EventImpl.Type.INFO4;
- }
- if (EventImpl.Type.INFO5.ordinal() == val) {
- return EventImpl.Type.INFO5;
- }
- if (EventImpl.Type.INFO6.ordinal() == val) {
- return EventImpl.Type.INFO6;
- }
- if (EventImpl.Type.INFO7.ordinal() == val) {
- return EventImpl.Type.INFO7;
- }
- if (EventImpl.Type.INFO8.ordinal() == val) {
- return EventImpl.Type.INFO8;
- }
- if (EventImpl.Type.INFO9.ordinal() == val) {
- return EventImpl.Type.INFO9;
- }
- return EventImpl.Type.UNKNOWN;
- }
-
- private void loadTraceNameStrings() {
- traceNames[0] = new TraceStrings();
- traceNames[0].name = "TE Log - TATA BSC11";
- traceNames[0].classNmme = "All Boards";
-
- traceNames[1] = new TraceStrings();
- traceNames[1].name = "System Log";
- traceNames[1].classNmme = "BSC11";
-
- traceNames[2] = new TraceStrings();
- traceNames[2].name = "Alarm Log";
- traceNames[2].classNmme = "BSC11";
-
- traceNames[3] = new TraceStrings();
- traceNames[3].name = "Events Log";
- traceNames[3].classNmme = "BSC 11";
-
- traceNames[4] = new TraceStrings();
- traceNames[4].name = "CPU Load";
- traceNames[4].classNmme = "All Boards";
-
- traceNames[5] = new TraceStrings();
- traceNames[5].name = "Performance Log";
- traceNames[5].classNmme = "BSC11";
-
- traceNames[6] = new TraceStrings();
- traceNames[6].name = "TE Log - TATA BSC14";
- traceNames[6].classNmme = "Board 24";
-
- traceNames[7] = new TraceStrings();
- traceNames[7].name = "TE Log - TATA BSC14";
- traceNames[7].classNmme = "Board 23";
-
- traceNames[8] = new TraceStrings();
- traceNames[8].name = "TE Log - TATA BSC14";
- traceNames[8].classNmme = "Board 11";
-
- traceNames[9] = new TraceStrings();
- traceNames[9].name = "TE Log - TATA BSC14";
- traceNames[9].classNmme = "Board 14, SPO";
-
- traceNames[10] = new TraceStrings();
- traceNames[10].name = "INFO 1";
- traceNames[10].classNmme = "All Boards";
-
- traceNames[11] = new TraceStrings();
- traceNames[11].name = "INFO2";
- traceNames[11].classNmme = "BSC11";
-
- traceNames[12] = new TraceStrings();
- traceNames[12].name = "INFO3";
- traceNames[12].classNmme = "Board 24";
-
- traceNames[13] = new TraceStrings();
- traceNames[13].name = "MISC1";
- traceNames[13].classNmme = "Board 23";
-
- traceNames[14] = new TraceStrings();
- traceNames[14].name = "MISC2";
- traceNames[14].classNmme = "Board 11";
-
- traceNames[15] = new TraceStrings();
- traceNames[15].name = "MISC3";
- traceNames[15].classNmme = "Board 23";
-
- traceNames[16] = new TraceStrings();
- traceNames[16].name = "MISC4";
- traceNames[16].classNmme = "Board 11";
-
- }
-
- // ========================================================================
- // Inner Class
- // ========================================================================
- private static class TraceStrings {
- public String name = "";
- public String classNmme = name + " class";
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui.tests/widgetStubs/org/eclipse/linuxtools/tmf/ui/widgets/timegraph/test/stub/views/TsfTraceAnalysisView.java b/lttng/org.eclipse.linuxtools.tmf.ui.tests/widgetStubs/org/eclipse/linuxtools/tmf/ui/widgets/timegraph/test/stub/views/TsfTraceAnalysisView.java
deleted file mode 100644
index 09d122b8f8..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui.tests/widgetStubs/org/eclipse/linuxtools/tmf/ui/widgets/timegraph/test/stub/views/TsfTraceAnalysisView.java
+++ /dev/null
@@ -1,672 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009, 2013 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:
- * Alvaro Sanchez-Leon (alvsan09@gmail.com) - Initial API and implementation
- * Patrick Tasse - Support selection range
- *******************************************************************************/
-package org.eclipse.linuxtools.tmf.ui.widgets.timegraph.test.stub.views;
-
-import java.text.SimpleDateFormat;
-import java.util.ArrayList;
-import java.util.Date;
-
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.action.IMenuListener;
-import org.eclipse.jface.action.IMenuManager;
-import org.eclipse.jface.action.IToolBarManager;
-import org.eclipse.jface.action.MenuManager;
-import org.eclipse.jface.action.Separator;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.viewers.DoubleClickEvent;
-import org.eclipse.jface.viewers.IDoubleClickListener;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.ITreeContentProvider;
-import org.eclipse.jface.viewers.LabelProvider;
-import org.eclipse.jface.viewers.TreeViewer;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.jface.viewers.ViewerSorter;
-import org.eclipse.linuxtools.tmf.ui.widgets.timegraph.ITimeGraphRangeListener;
-import org.eclipse.linuxtools.tmf.ui.widgets.timegraph.ITimeGraphSelectionListener;
-import org.eclipse.linuxtools.tmf.ui.widgets.timegraph.ITimeGraphTimeListener;
-import org.eclipse.linuxtools.tmf.ui.widgets.timegraph.TimeGraphRangeUpdateEvent;
-import org.eclipse.linuxtools.tmf.ui.widgets.timegraph.TimeGraphSelectionEvent;
-import org.eclipse.linuxtools.tmf.ui.widgets.timegraph.TimeGraphTimeEvent;
-import org.eclipse.linuxtools.tmf.ui.widgets.timegraph.TimeGraphViewer;
-import org.eclipse.linuxtools.tmf.ui.widgets.timegraph.model.ITimeGraphEntry;
-import org.eclipse.linuxtools.tmf.ui.widgets.timegraph.test.stub.adaption.TsfImplProvider;
-import org.eclipse.linuxtools.tmf.ui.widgets.timegraph.test.stub.model.EventImpl;
-import org.eclipse.linuxtools.tmf.ui.widgets.timegraph.test.stub.model.TraceImpl;
-import org.eclipse.linuxtools.tmf.ui.widgets.timegraph.test.stub.model.TraceModelImplFactory;
-import org.eclipse.linuxtools.tmf.ui.widgets.timegraph.widgets.Utils.TimeFormat;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.SashForm;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Menu;
-import org.eclipse.ui.IActionBars;
-import org.eclipse.ui.ISharedImages;
-import org.eclipse.ui.IWorkbenchActionConstants;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.part.DrillDownAdapter;
-import org.eclipse.ui.part.ViewPart;
-
-@SuppressWarnings("javadoc")
-public class TsfTraceAnalysisView extends ViewPart implements
- ITimeGraphSelectionListener, ITimeGraphTimeListener, ITimeGraphRangeListener {
-
- // ========================================================================
- // Data
- // ========================================================================
-
- private TreeViewer viewer;
- private DrillDownAdapter drillDownAdapter;
- private Action action1;
- private Action action2;
- private Action resetScale;
- private Action nextEvent;
- private Action prevEvent;
- private Action nextTrace;
- private Action prevTrace;
- private Action showLegent;
- private Action zoomIn;
- private Action zoomOut;
- private Action events300K;
-
- private Action doubleClickAction;
- private TimeGraphViewer tsfviewer;
- private TimeGraphViewer tsfviewer2;
-
- private static SimpleDateFormat stimeformat = new SimpleDateFormat(
- "yy/MM/dd HH:mm:ss");
- private TraceModelImplFactory fact;
-
- // ========================================================================
- // Inner Classes
- // ========================================================================
- /*
- * The content provider class is responsible for providing objects to the
- * view. It can wrap existing objects in adapters or simply return objects
- * as-is. These objects may be sensitive to the current input of the view,
- * or ignore it and always show the same content (like Task List, for
- * example).
- */
-
- class TreeObject implements IAdaptable {
- private final String name;
- private TreeParent parent;
-
- public TreeObject(String name) {
- this.name = name;
- }
-
- public String getName() {
- return name;
- }
-
- public void setParent(TreeParent parent) {
- this.parent = parent;
- }
-
- public TreeParent getParent() {
- return parent;
- }
-
- @Override
- public String toString() {
- return getName();
- }
-
- @Override
- public Object getAdapter(Class key) {
- return null;
- }
- }
-
- class TreeParent extends TreeObject {
- private final ArrayList<TreeObject> children;
-
- public TreeParent(String name) {
- super(name);
- children = new ArrayList<>();
- }
-
- public void addChild(TreeObject child) {
- children.add(child);
- child.setParent(this);
- }
-
- public void removeChild(TreeObject child) {
- children.remove(child);
- child.setParent(null);
- }
-
- public TreeObject[] getChildren() {
- return children.toArray(new TreeObject[children
- .size()]);
- }
-
- public boolean hasChildren() {
- return children.size() > 0;
- }
- }
-
- class ViewContentProvider implements ITreeContentProvider {
- private TreeParent invisibleRoot;
-
- @Override
- public void inputChanged(Viewer v, Object oldInput, Object newInput) {
- }
-
- @Override
- public void dispose() {
- }
-
- @Override
- public Object[] getElements(Object parent) {
- if (parent.equals(getViewSite())) {
- if (invisibleRoot == null) {
- initialize();
- }
- return getChildren(invisibleRoot);
- }
- return getChildren(parent);
- }
-
- @Override
- public Object getParent(Object child) {
- if (child instanceof TreeObject) {
- return ((TreeObject) child).getParent();
- }
- return null;
- }
-
- @Override
- public Object[] getChildren(Object parent) {
- if (parent instanceof TreeParent) {
- return ((TreeParent) parent).getChildren();
- }
- return new Object[0];
- }
-
- @Override
- public boolean hasChildren(Object parent) {
- if (parent instanceof TreeParent) {
- return ((TreeParent) parent).hasChildren();
- }
- return false;
- }
-
- /*
- * We will set up a dummy model to initialize tree heararchy. In a real
- * code, you will connect to a real model and expose its hierarchy.
- */
- private void initialize() {
- TreeObject to1 = new TreeObject("Leaf 1");
- TreeObject to2 = new TreeObject("Leaf 2");
- TreeObject to3 = new TreeObject("Leaf 3");
- TreeParent p1 = new TreeParent("Parent 1");
- p1.addChild(to1);
- p1.addChild(to2);
- p1.addChild(to3);
-
- TreeObject to4 = new TreeObject("Leaf 4");
- TreeParent p2 = new TreeParent("Parent 2");
- p2.addChild(to4);
-
- TreeParent root = new TreeParent("Root");
- root.addChild(p1);
- root.addChild(p2);
-
- invisibleRoot = new TreeParent("");
- invisibleRoot.addChild(root);
- }
- }
-
- static class ViewLabelProvider extends LabelProvider {
-
- @Override
- public String getText(Object obj) {
- return obj.toString();
- }
-
- @Override
- public Image getImage(Object obj) {
- String imageKey = ISharedImages.IMG_OBJ_ELEMENT;
- if (obj instanceof TreeParent) {
- imageKey = ISharedImages.IMG_OBJ_FOLDER;
- }
- return PlatformUI.getWorkbench().getSharedImages().getImage(
- imageKey);
- }
- }
-
- static class NameSorter extends ViewerSorter {
- }
-
- // ========================================================================
- // Methods
- // ========================================================================
- /**
- * This is a callback that will allow us to create the viewer and initialize
- * it.
- */
- @Override
- public void createPartControl(Composite parent) {
- final SashForm sashForm = new SashForm(parent, SWT.NONE);
- final SashForm sashForm2 = new SashForm(sashForm, SWT.NONE);
-
- tsfviewer = new TimeGraphViewer(sashForm2, SWT.NONE);
- tsfviewer.setTimeGraphProvider(new TsfImplProvider());
- tsfviewer2 = new TimeGraphViewer(sashForm2, SWT.NONE);
- tsfviewer2.setTimeGraphProvider(new TsfImplProvider());
-
- viewer = new TreeViewer(sashForm, SWT.MULTI | SWT.H_SCROLL
- | SWT.V_SCROLL);
- drillDownAdapter = new DrillDownAdapter(viewer);
- viewer.setContentProvider(new ViewContentProvider());
- viewer.setLabelProvider(new ViewLabelProvider());
- viewer.setSorter(new NameSorter());
- viewer.setInput(getViewSite());
-
- sashForm.setWeights(new int[] { 5, 1 });
- sashForm2.setWeights(new int[] { 1, 1 });
-
- fact = new TraceModelImplFactory();
- ITimeGraphEntry[] traceArr = fact.createTraces();
- tsfviewer.setInput(traceArr);
- tsfviewer.addSelectionListener(this);
- tsfviewer.addRangeListener(this);
- tsfviewer.setTimeFormat(TimeFormat.CALENDAR);
-
- tsfviewer2.setInput(traceArr);
- tsfviewer2.addSelectionListener(this);
- tsfviewer2.addRangeListener(this);
- // tsfviewer2.setTimeFormat(TimeGraphViewer.timeFormat.epoch);
-
- makeActions();
- hookContextMenu();
- hookDoubleClickAction();
- contributeToActionBars();
- }
-
- private void hookContextMenu() {
- MenuManager menuMgr = new MenuManager("#PopupMenu");
- menuMgr.setRemoveAllWhenShown(true);
- menuMgr.addMenuListener(new IMenuListener() {
- @Override
- public void menuAboutToShow(IMenuManager manager) {
- TsfTraceAnalysisView.this.fillContextMenu(manager);
- }
- });
- Menu menu = menuMgr.createContextMenu(viewer.getControl());
- viewer.getControl().setMenu(menu);
- getSite().registerContextMenu(menuMgr, viewer);
- }
-
- private void contributeToActionBars() {
- IActionBars bars = getViewSite().getActionBars();
- fillLocalPullDown(bars.getMenuManager());
- fillLocalToolBar(bars.getToolBarManager());
- }
-
- private void fillLocalPullDown(IMenuManager manager) {
- manager.add(action1);
- manager.add(new Separator());
- manager.add(action2);
- }
-
- private void fillContextMenu(IMenuManager manager) {
- manager.add(action1);
- manager.add(action2);
- manager.add(new Separator());
- drillDownAdapter.addNavigationActions(manager);
- // Other plug-ins can contribute there actions here
- manager.add(new Separator(IWorkbenchActionConstants.MB_ADDITIONS));
- }
-
- private void fillLocalToolBar(IToolBarManager manager) {
- manager.add(new Separator());
- manager.add(resetScale);
- manager.add(nextEvent);
- manager.add(prevEvent);
- manager.add(nextTrace);
- manager.add(prevTrace);
- manager.add(showLegent);
- manager.add(zoomIn);
- manager.add(zoomOut);
- manager.add(events300K);
- manager.add(new Separator());
-
- drillDownAdapter.addNavigationActions(manager);
- }
-
- private TimeGraphViewer getActiveTsfCtrl() {
- TimeGraphViewer inFocusViewer = null;
- if (tsfviewer.isInFocus()) {
- inFocusViewer = tsfviewer;
- } else if (tsfviewer2.isInFocus()) {
- inFocusViewer = tsfviewer2;
- }
- return inFocusViewer;
- }
-
- private void makeActions() {
- // action1
- action1 = new Action() {
- @Override
- public void run() {
- showMessage("Action 1 executed");
- }
- };
- action1.setText("Action 1");
- action1.setToolTipText("Action 1 tooltip");
- action1.setImageDescriptor(PlatformUI.getWorkbench().getSharedImages()
- .getImageDescriptor(ISharedImages.IMG_OBJS_INFO_TSK));
-
- // action2
- action2 = new Action() {
- @Override
- public void run() {
- showMessage("Action 2 executed");
- }
- };
- action2.setText("Action 2");
- action2.setToolTipText("Action 2 tooltip");
- action2.setImageDescriptor(PlatformUI.getWorkbench().getSharedImages()
- .getImageDescriptor(ISharedImages.IMG_OBJS_INFO_TSK));
-
- // action4
- resetScale = new Action() {
- @Override
- public void run() {
- TimeGraphViewer inFocusViewer = getActiveTsfCtrl();
- if (inFocusViewer != null) {
- inFocusViewer.resetStartFinishTime();
- }
-
- }
- };
- resetScale.setText("Reset");
- resetScale.setToolTipText("Reset the Time Scale to Default");
-
- // action5
- nextEvent = new Action() {
- @Override
- public void run() {
- TimeGraphViewer inFocusViewer = getActiveTsfCtrl();
- if (inFocusViewer != null) {
- inFocusViewer.selectNextEvent();
- }
- }
- };
- nextEvent.setText("NextEv");
- nextEvent.setToolTipText("Next Event");
-
- // action6
- prevEvent = new Action() {
- @Override
- public void run() {
- TimeGraphViewer inFocusViewer = getActiveTsfCtrl();
- if (inFocusViewer != null) {
- inFocusViewer.selectPrevEvent();
- }
- }
- };
- prevEvent.setText("PrevEv");
- prevEvent.setToolTipText("Previous Event");
-
- // action7
- nextTrace = new Action() {
- @Override
- public void run() {
- TimeGraphViewer inFocusViewer = getActiveTsfCtrl();
- if (inFocusViewer != null) {
- inFocusViewer.selectNextItem();
- }
- }
- };
- nextTrace.setText("NextTrace");
- nextTrace.setToolTipText("Select Next Event");
-
- // action8
- prevTrace = new Action() {
- @Override
- public void run() {
- TimeGraphViewer inFocusViewer = getActiveTsfCtrl();
- if (inFocusViewer != null) {
- inFocusViewer.selectPrevItem();
- }
- }
- };
- prevTrace.setText("PrevTrace");
- prevTrace.setToolTipText("Select Previous Trace");
-
- // action9
- showLegent = new Action() {
- @Override
- public void run() {
- TimeGraphViewer inFocusViewer = getActiveTsfCtrl();
- if (inFocusViewer != null) {
- inFocusViewer.showLegend();
- }
- }
- };
- showLegent.setText("Legend");
- showLegent.setToolTipText("Show Legend");
-
- // action10
- zoomIn = new Action() {
- @Override
- public void run() {
- TimeGraphViewer inFocusViewer = getActiveTsfCtrl();
- if (inFocusViewer != null) {
- inFocusViewer.zoomIn();
- }
- }
- };
- zoomIn.setText("Zoom In");
- zoomIn.setToolTipText("Zoom In");
-
- // action10
- zoomOut = new Action() {
- @Override
- public void run() {
- TimeGraphViewer inFocusViewer = getActiveTsfCtrl();
- if (inFocusViewer != null) {
- inFocusViewer.zoomOut();
- }
- // ISelection selection = inFocusViewer.getSelection();
- // Object sel = null;
- // if (selection != null && !selection.isEmpty()) {
- // sel = ((IStructuredSelection) selection)
- // .getFirstElement();
- // if (sel instanceof EventImpl) {
- // EventImpl event = (EventImpl) sel;
- // inFocusViewer.selectNextEvent();
- // }
- // }
- }
- };
- zoomOut.setText("Zoom Out");
- zoomOut.setToolTipText("Zoom Out");
-
- // action12
- events300K = new Action() {
- @Override
- public void run() {
- TimeGraphViewer inFocusViewer = getActiveTsfCtrl();
- if (inFocusViewer != null) {
- ITimeGraphEntry[] traceArr = fact
- .createLargeTraces(60);
- inFocusViewer.setInput(traceArr);
- }
- }
- };
- events300K.setText("300K Events");
- events300K.setToolTipText("Add 300K Events");
-
- doubleClickAction = new Action() {
- @Override
- public void run() {
- ISelection selection = viewer.getSelection();
- Object obj = ((IStructuredSelection) selection)
- .getFirstElement();
- showMessage("Double-click detected on " + obj.toString());
- }
- };
- }
-
- private void hookDoubleClickAction() {
- viewer.addDoubleClickListener(new IDoubleClickListener() {
- @Override
- public void doubleClick(DoubleClickEvent event) {
- doubleClickAction.run();
- }
- });
- }
-
- private void showMessage(String message) {
- MessageDialog.openInformation(viewer.getControl().getShell(),
- "TsfTrace Analysis View", message);
- }
-
- /**
- * Passing the focus request to the viewer's control.
- */
- @Override
- public void setFocus() {
- viewer.getControl().setFocus();
- }
-
- @Override
- public void selectionChanged(TimeGraphSelectionEvent event) {
- Object source = event.getSource();
- if (source == null || !(source instanceof TimeGraphViewer)) {
- return;
- }
-
- TimeGraphViewer rViewer = (TimeGraphViewer) event.getSource();
- TimeGraphViewer synchViewer = null;
- // Synchronize viewer selections if Enabled,
- // make sure the selection does not go in loops
- if (tsfviewer == rViewer) {
- synchViewer = tsfviewer2;
- } else {
- synchViewer = tsfviewer;
- }
- Object selection = event.getSelection();
-
- if (selection instanceof EventImpl) {
- EventImpl selEvent = (EventImpl) selection;
- System.out
- .println("TsfTraceAnalysisView.selectionChanged() Selected Event: \nType: "
- + selEvent.getType().toString()
- + "\nTime: "
- + selEvent.getTime()
- + "\nTrace Name: "
- + selEvent.getEntry().getName());
-
- synchViewer.setSelectedEvent(selEvent, source);
-
- } else if (selection instanceof TraceImpl) {
- TraceImpl selTrace = (TraceImpl) selection;
- System.out
- .println("TsfTraceAnalysisView.selectionChanged() Selected Trace: \nName: "
- + selTrace.getName().toString()
- + "\nClass Name: "
- + selTrace.getClassName());
-
- synchViewer.setSelection(selTrace);
- } else {
- System.out
- .println("TsfTmIncubatorListener.tsfTmProcessEvent() Unexpected event source received: "
- + selection.getClass().getName());
- }
-
- }
-
- @Override
- public void timeSelected(TimeGraphTimeEvent event) {
- TimeGraphViewer rViewer = (TimeGraphViewer) event.getSource();
- TimeGraphViewer synchViewer = null;
- // Synchronize viewer selections if Enabled,
- // make sure the selection does not go in loops
- if (tsfviewer == rViewer) {
- synchViewer = tsfviewer2;
- } else {
- synchViewer = tsfviewer;
- }
- long selTimens = event.getBeginTime();
- long tms = (long) (selTimens * 1E-6);
- Date date = new Date(tms);
- String fDate = stimeformat.format(date);
- String ns = formatNs(selTimens);
-
- System.out.println("TsfTraceAnalysisView.timeSelected() Selected Event: \nTime: "
- + event.getBeginTime()
- + "\nSelected Time: "
- + selTimens + " " + fDate + " " + ns);
-
- synchViewer.setSelectedTime(event.getBeginTime(), true);
- }
-
- @Override
- public void timeRangeUpdated(TimeGraphRangeUpdateEvent event) {
- if (event == null) {
- return;
- }
- Object source = event.getSource();
- if (source == null || !(source instanceof TimeGraphViewer)) {
- return;
- }
-
- TimeGraphRangeUpdateEvent rEvent = event;
- TimeGraphViewer rViewer = (TimeGraphViewer) event
- .getSource();
- TimeGraphViewer synchViewer = null;
- // Synchronize viewer selections if Enabled,
- // make sure the selection does not go in loops
- if (tsfviewer == rViewer) {
- synchViewer = tsfviewer2;
- } else {
- synchViewer = tsfviewer;
- }
-
- synchViewer.setSelectVisTimeWindow(rEvent.getStartTime(), rEvent.getEndTime(), source);
- }
-
- /**
- * Obtains the remainder fraction on unit Seconds of the entered value in
- * nanoseconds. e.g. input: 1241207054171080214 ns The number of seconds can
- * be obtain by removing the last 9 digits: 1241207054 the fractional
- * portion of seconds, expressed in ns is: 171080214
- *
- * @param v
- * @return
- */
- public String formatNs(long v) {
- StringBuffer str = new StringBuffer();
- long val = v;
- boolean neg = val < 0;
- if (neg) {
- val = -val;
- str.append('-');
- }
-
- String strVal = String.valueOf(val);
- if (val < 1000000000) {
- return strVal;
- }
-
- // Extract the last nine digits (e.g. fraction of a S expressed in ns
- return strVal.substring(strVal.length() - 9);
- }
-} \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/.classpath b/lttng/org.eclipse.linuxtools.tmf.ui/.classpath
deleted file mode 100644
index 098194ca4b..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
- <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.7"/>
- <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
- <classpathentry kind="src" path="src"/>
- <classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/.options b/lttng/org.eclipse.linuxtools.tmf.ui/.options
deleted file mode 100644
index de185c71ff..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/.options
+++ /dev/null
@@ -1,7 +0,0 @@
-org.eclipse.linuxtools.tmf.ui/error=false
-org.eclipse.linuxtools.tmf.ui/warning=false
-org.eclipse.linuxtools.tmf.ui/info=false
-
-org.eclipse.linuxtools.tmf.ui/index=false
-org.eclipse.linuxtools.tmf.ui/display=false
-org.eclipse.linuxtools.tmf.ui/sorting=false
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/.project b/lttng/org.eclipse.linuxtools.tmf.ui/.project
deleted file mode 100644
index 42e4f8d248..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/.project
+++ /dev/null
@@ -1,34 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>org.eclipse.linuxtools.tmf.ui</name>
- <comment></comment>
- <projects>
- </projects>
- <buildSpec>
- <buildCommand>
- <name>org.eclipse.jdt.core.javabuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.ManifestBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.SchemaBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.api.tools.apiAnalysisBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>org.eclipse.pde.PluginNature</nature>
- <nature>org.eclipse.jdt.core.javanature</nature>
- <nature>org.eclipse.pde.api.tools.apiAnalysisNature</nature>
- </natures>
-</projectDescription>
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/.settings/.api_filters b/lttng/org.eclipse.linuxtools.tmf.ui/.settings/.api_filters
deleted file mode 100644
index ff31090892..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/.settings/.api_filters
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<component id="org.eclipse.linuxtools.tmf.ui" version="2">
- <resource path="src/org/eclipse/linuxtools/tmf/ui/editors/UnsortedPropertySheetPage.java" type="org.eclipse.linuxtools.tmf.ui.editors.UnsortedPropertySheetPage">
- <filter comment="The Eclipse platform still mistakingly marks PropertySheetPage as @noextend. See bug 109617. " id="571473929">
- <message_arguments>
- <message_argument value="PropertySheetPage"/>
- <message_argument value="UnsortedPropertySheetPage"/>
- </message_arguments>
- </filter>
- </resource>
-</component>
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/.settings/org.eclipse.core.resources.prefs b/lttng/org.eclipse.linuxtools.tmf.ui/.settings/org.eclipse.core.resources.prefs
deleted file mode 100644
index 99f26c0203..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/.settings/org.eclipse.core.resources.prefs
+++ /dev/null
@@ -1,2 +0,0 @@
-eclipse.preferences.version=1
-encoding/<project>=UTF-8
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/.settings/org.eclipse.core.runtime.prefs b/lttng/org.eclipse.linuxtools.tmf.ui/.settings/org.eclipse.core.runtime.prefs
deleted file mode 100644
index 5a0ad22d2a..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/.settings/org.eclipse.core.runtime.prefs
+++ /dev/null
@@ -1,2 +0,0 @@
-eclipse.preferences.version=1
-line.separator=\n
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/.settings/org.eclipse.jdt.core.prefs b/lttng/org.eclipse.linuxtools.tmf.ui/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index 9f3662cd78..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,394 +0,0 @@
-eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.annotation.inheritNullAnnotations=enabled
-org.eclipse.jdt.core.compiler.annotation.missingNonNullByDefaultAnnotation=ignore
-org.eclipse.jdt.core.compiler.annotation.nonnull=org.eclipse.jdt.annotation.NonNull
-org.eclipse.jdt.core.compiler.annotation.nonnullbydefault=org.eclipse.jdt.annotation.NonNullByDefault
-org.eclipse.jdt.core.compiler.annotation.nullable=org.eclipse.jdt.annotation.Nullable
-org.eclipse.jdt.core.compiler.annotation.nullanalysis=enabled
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.7
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.doc.comment.support=enabled
-org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=error
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
-org.eclipse.jdt.core.compiler.problem.comparingIdentical=error
-org.eclipse.jdt.core.compiler.problem.deadCode=error
-org.eclipse.jdt.core.compiler.problem.deprecation=error
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled
-org.eclipse.jdt.core.compiler.problem.discouragedReference=warning
-org.eclipse.jdt.core.compiler.problem.emptyStatement=error
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.problem.explicitlyClosedAutoCloseable=error
-org.eclipse.jdt.core.compiler.problem.fallthroughCase=error
-org.eclipse.jdt.core.compiler.problem.fatalOptionalError=disabled
-org.eclipse.jdt.core.compiler.problem.fieldHiding=error
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=error
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=error
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=error
-org.eclipse.jdt.core.compiler.problem.includeNullInfoFromAsserts=disabled
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=error
-org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=error
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=error
-org.eclipse.jdt.core.compiler.problem.invalidJavadoc=warning
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTags=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=protected
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=error
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=error
-org.eclipse.jdt.core.compiler.problem.missingDefaultCase=error
-org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=error
-org.eclipse.jdt.core.compiler.problem.missingEnumCaseDespiteDefault=enabled
-org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=error
-org.eclipse.jdt.core.compiler.problem.missingJavadocComments=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=protected
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagDescription=all_standard_tags
-org.eclipse.jdt.core.compiler.problem.missingJavadocTags=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsMethodTypeParameters=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=protected
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=error
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotationForInterfaceMethodImplementation=enabled
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=error
-org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=error
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=error
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=error
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=warning
-org.eclipse.jdt.core.compiler.problem.nonnullParameterAnnotationDropped=warning
-org.eclipse.jdt.core.compiler.problem.nullAnnotationInferenceConflict=warning
-org.eclipse.jdt.core.compiler.problem.nullReference=error
-org.eclipse.jdt.core.compiler.problem.nullSpecViolation=error
-org.eclipse.jdt.core.compiler.problem.nullUncheckedConversion=warning
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=error
-org.eclipse.jdt.core.compiler.problem.parameterAssignment=error
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=error
-org.eclipse.jdt.core.compiler.problem.potentialNullReference=error
-org.eclipse.jdt.core.compiler.problem.potentiallyUnclosedCloseable=warning
-org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning
-org.eclipse.jdt.core.compiler.problem.redundantNullAnnotation=warning
-org.eclipse.jdt.core.compiler.problem.redundantNullCheck=error
-org.eclipse.jdt.core.compiler.problem.redundantSpecificationOfTypeArguments=error
-org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=error
-org.eclipse.jdt.core.compiler.problem.reportMethodCanBePotentiallyStatic=ignore
-org.eclipse.jdt.core.compiler.problem.reportMethodCanBeStatic=error
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=error
-org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=disabled
-org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
-org.eclipse.jdt.core.compiler.problem.syntacticNullAnalysisForFields=enabled
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
-org.eclipse.jdt.core.compiler.problem.typeParameterHiding=error
-org.eclipse.jdt.core.compiler.problem.unavoidableGenericTypeProblems=disabled
-org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
-org.eclipse.jdt.core.compiler.problem.unclosedCloseable=error
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
-org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=error
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=error
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=error
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=warning
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=disabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=disabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=error
-org.eclipse.jdt.core.compiler.problem.unusedLabel=error
-org.eclipse.jdt.core.compiler.problem.unusedLocal=error
-org.eclipse.jdt.core.compiler.problem.unusedObjectAllocation=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=error
-org.eclipse.jdt.core.compiler.problem.unusedTypeParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedWarningToken=error
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=error
-org.eclipse.jdt.core.compiler.source=1.7
-org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_assignment=0
-org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
-org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
-org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
-org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
-org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0
-org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=80
-org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=0
-org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch=16
-org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_after_package=1
-org.eclipse.jdt.core.formatter.blank_lines_before_field=0
-org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
-org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
-org.eclipse.jdt.core.formatter.blank_lines_before_method=1
-org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
-org.eclipse.jdt.core.formatter.blank_lines_before_package=0
-org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
-org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
-org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
-org.eclipse.jdt.core.formatter.comment.format_block_comments=true
-org.eclipse.jdt.core.formatter.comment.format_header=false
-org.eclipse.jdt.core.formatter.comment.format_html=true
-org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=true
-org.eclipse.jdt.core.formatter.comment.format_line_comments=true
-org.eclipse.jdt.core.formatter.comment.format_source_code=true
-org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true
-org.eclipse.jdt.core.formatter.comment.indent_root_tags=true
-org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
-org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=insert
-org.eclipse.jdt.core.formatter.comment.line_length=80
-org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries=true
-org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries=true
-org.eclipse.jdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments=false
-org.eclipse.jdt.core.formatter.compact_else_if=true
-org.eclipse.jdt.core.formatter.continuation_indentation=2
-org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2
-org.eclipse.jdt.core.formatter.disabling_tag=@formatter\:off
-org.eclipse.jdt.core.formatter.enabling_tag=@formatter\:on
-org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
-org.eclipse.jdt.core.formatter.format_line_comment_starting_on_first_column=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
-org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_empty_lines=false
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=false
-org.eclipse.jdt.core.formatter.indentation.size=4
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_label=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_try=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources=insert
-org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_try=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
-org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.join_lines_in_comments=true
-org.eclipse.jdt.core.formatter.join_wrapped_lines=false
-org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.lineSplit=250
-org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
-org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
-org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true
-org.eclipse.jdt.core.formatter.tabulation.char=space
-org.eclipse.jdt.core.formatter.tabulation.size=4
-org.eclipse.jdt.core.formatter.use_on_off_tags=false
-org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
-org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
-org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true
-org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/.settings/org.eclipse.jdt.ui.prefs b/lttng/org.eclipse.linuxtools.tmf.ui/.settings/org.eclipse.jdt.ui.prefs
deleted file mode 100644
index 4fd0c7006a..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/.settings/org.eclipse.jdt.ui.prefs
+++ /dev/null
@@ -1,56 +0,0 @@
-eclipse.preferences.version=1
-editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
-formatter_profile=_tmf-style
-formatter_settings_version=12
-sp_cleanup.add_default_serial_version_id=true
-sp_cleanup.add_generated_serial_version_id=false
-sp_cleanup.add_missing_annotations=false
-sp_cleanup.add_missing_deprecated_annotations=true
-sp_cleanup.add_missing_methods=false
-sp_cleanup.add_missing_nls_tags=false
-sp_cleanup.add_missing_override_annotations=true
-sp_cleanup.add_missing_override_annotations_interface_methods=true
-sp_cleanup.add_serial_version_id=false
-sp_cleanup.always_use_blocks=true
-sp_cleanup.always_use_parentheses_in_expressions=false
-sp_cleanup.always_use_this_for_non_static_field_access=false
-sp_cleanup.always_use_this_for_non_static_method_access=false
-sp_cleanup.convert_to_enhanced_for_loop=false
-sp_cleanup.correct_indentation=false
-sp_cleanup.format_source_code=false
-sp_cleanup.format_source_code_changes_only=false
-sp_cleanup.make_local_variable_final=false
-sp_cleanup.make_parameters_final=false
-sp_cleanup.make_private_fields_final=true
-sp_cleanup.make_type_abstract_if_missing_method=false
-sp_cleanup.make_variable_declarations_final=false
-sp_cleanup.never_use_blocks=false
-sp_cleanup.never_use_parentheses_in_expressions=true
-sp_cleanup.on_save_use_additional_actions=true
-sp_cleanup.organize_imports=false
-sp_cleanup.qualify_static_field_accesses_with_declaring_class=false
-sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_with_declaring_class=false
-sp_cleanup.qualify_static_method_accesses_with_declaring_class=false
-sp_cleanup.remove_private_constructors=true
-sp_cleanup.remove_trailing_whitespaces=true
-sp_cleanup.remove_trailing_whitespaces_all=true
-sp_cleanup.remove_trailing_whitespaces_ignore_empty=false
-sp_cleanup.remove_unnecessary_casts=false
-sp_cleanup.remove_unnecessary_nls_tags=false
-sp_cleanup.remove_unused_imports=false
-sp_cleanup.remove_unused_local_variables=false
-sp_cleanup.remove_unused_private_fields=true
-sp_cleanup.remove_unused_private_members=false
-sp_cleanup.remove_unused_private_methods=true
-sp_cleanup.remove_unused_private_types=true
-sp_cleanup.sort_members=false
-sp_cleanup.sort_members_all=false
-sp_cleanup.use_blocks=true
-sp_cleanup.use_blocks_only_for_return_and_throw=false
-sp_cleanup.use_parentheses_in_expressions=false
-sp_cleanup.use_this_for_non_static_field_access=false
-sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=true
-sp_cleanup.use_this_for_non_static_method_access=false
-sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/.settings/org.eclipse.pde.api.tools.prefs b/lttng/org.eclipse.linuxtools.tmf.ui/.settings/org.eclipse.pde.api.tools.prefs
deleted file mode 100644
index acc3abd47c..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/.settings/org.eclipse.pde.api.tools.prefs
+++ /dev/null
@@ -1,97 +0,0 @@
-ANNOTATION_ELEMENT_TYPE_ADDED_METHOD_WITHOUT_DEFAULT_VALUE=Error
-ANNOTATION_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
-ANNOTATION_ELEMENT_TYPE_REMOVED_FIELD=Error
-ANNOTATION_ELEMENT_TYPE_REMOVED_METHOD=Error
-ANNOTATION_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
-API_COMPONENT_ELEMENT_TYPE_REMOVED_API_TYPE=Error
-API_COMPONENT_ELEMENT_TYPE_REMOVED_REEXPORTED_API_TYPE=Error
-API_COMPONENT_ELEMENT_TYPE_REMOVED_REEXPORTED_TYPE=Error
-API_COMPONENT_ELEMENT_TYPE_REMOVED_TYPE=Error
-API_USE_SCAN_FIELD_SEVERITY=Error
-API_USE_SCAN_METHOD_SEVERITY=Error
-API_USE_SCAN_TYPE_SEVERITY=Error
-CLASS_ELEMENT_TYPE_ADDED_METHOD=Error
-CLASS_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
-CLASS_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
-CLASS_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error
-CLASS_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
-CLASS_ELEMENT_TYPE_CHANGED_NON_ABSTRACT_TO_ABSTRACT=Error
-CLASS_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error
-CLASS_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
-CLASS_ELEMENT_TYPE_REMOVED_CONSTRUCTOR=Error
-CLASS_ELEMENT_TYPE_REMOVED_FIELD=Error
-CLASS_ELEMENT_TYPE_REMOVED_METHOD=Error
-CLASS_ELEMENT_TYPE_REMOVED_SUPERCLASS=Error
-CLASS_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
-CLASS_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
-CONSTRUCTOR_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
-CONSTRUCTOR_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
-CONSTRUCTOR_ELEMENT_TYPE_CHANGED_VARARGS_TO_ARRAY=Error
-CONSTRUCTOR_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
-ENUM_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error
-ENUM_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
-ENUM_ELEMENT_TYPE_REMOVED_ENUM_CONSTANT=Error
-ENUM_ELEMENT_TYPE_REMOVED_FIELD=Error
-ENUM_ELEMENT_TYPE_REMOVED_METHOD=Error
-ENUM_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
-FIELD_ELEMENT_TYPE_ADDED_VALUE=Error
-FIELD_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
-FIELD_ELEMENT_TYPE_CHANGED_FINAL_TO_NON_FINAL_STATIC_CONSTANT=Error
-FIELD_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error
-FIELD_ELEMENT_TYPE_CHANGED_NON_STATIC_TO_STATIC=Error
-FIELD_ELEMENT_TYPE_CHANGED_STATIC_TO_NON_STATIC=Error
-FIELD_ELEMENT_TYPE_CHANGED_TYPE=Error
-FIELD_ELEMENT_TYPE_CHANGED_VALUE=Error
-FIELD_ELEMENT_TYPE_REMOVED_TYPE_ARGUMENT=Error
-FIELD_ELEMENT_TYPE_REMOVED_VALUE=Error
-ILLEGAL_EXTEND=Warning
-ILLEGAL_IMPLEMENT=Warning
-ILLEGAL_INSTANTIATE=Warning
-ILLEGAL_OVERRIDE=Warning
-ILLEGAL_REFERENCE=Warning
-INTERFACE_ELEMENT_TYPE_ADDED_FIELD=Error
-INTERFACE_ELEMENT_TYPE_ADDED_METHOD=Error
-INTERFACE_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
-INTERFACE_ELEMENT_TYPE_ADDED_SUPER_INTERFACE_WITH_METHODS=Error
-INTERFACE_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
-INTERFACE_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error
-INTERFACE_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
-INTERFACE_ELEMENT_TYPE_REMOVED_FIELD=Error
-INTERFACE_ELEMENT_TYPE_REMOVED_METHOD=Error
-INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
-INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
-INVALID_JAVADOC_TAG=Warning
-INVALID_REFERENCE_IN_SYSTEM_LIBRARIES=Warning
-LEAK_EXTEND=Warning
-LEAK_FIELD_DECL=Warning
-LEAK_IMPLEMENT=Warning
-LEAK_METHOD_PARAM=Warning
-LEAK_METHOD_RETURN_TYPE=Warning
-METHOD_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
-METHOD_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
-METHOD_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
-METHOD_ELEMENT_TYPE_CHANGED_NON_ABSTRACT_TO_ABSTRACT=Error
-METHOD_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error
-METHOD_ELEMENT_TYPE_CHANGED_NON_STATIC_TO_STATIC=Error
-METHOD_ELEMENT_TYPE_CHANGED_STATIC_TO_NON_STATIC=Error
-METHOD_ELEMENT_TYPE_CHANGED_VARARGS_TO_ARRAY=Error
-METHOD_ELEMENT_TYPE_REMOVED_ANNOTATION_DEFAULT_VALUE=Error
-METHOD_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
-MISSING_EE_DESCRIPTIONS=Ignore
-TYPE_PARAMETER_ELEMENT_TYPE_ADDED_CLASS_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_ADDED_INTERFACE_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_CHANGED_CLASS_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_CHANGED_INTERFACE_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_CLASS_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error
-UNUSED_PROBLEM_FILTERS=Warning
-automatically_removed_unused_problem_filters=false
-eclipse.preferences.version=1
-incompatible_api_component_version=Error
-incompatible_api_component_version_include_major_without_breaking_change=Disabled
-incompatible_api_component_version_include_minor_without_api_change=Disabled
-invalid_since_tag_version=Error
-malformed_since_tag=Error
-missing_since_tag=Error
-report_api_breakage_when_major_version_incremented=Disabled
-report_resolution_errors_api_component=Warning
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/.settings/org.eclipse.pde.prefs b/lttng/org.eclipse.linuxtools.tmf.ui/.settings/org.eclipse.pde.prefs
deleted file mode 100644
index d92b94fd4b..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/.settings/org.eclipse.pde.prefs
+++ /dev/null
@@ -1,32 +0,0 @@
-compilers.f.unresolved-features=1
-compilers.f.unresolved-plugins=1
-compilers.incompatible-environment=1
-compilers.p.build=1
-compilers.p.build.bin.includes=1
-compilers.p.build.encodings=2
-compilers.p.build.java.compiler=2
-compilers.p.build.java.compliance=1
-compilers.p.build.missing.output=2
-compilers.p.build.output.library=1
-compilers.p.build.source.library=1
-compilers.p.build.src.includes=1
-compilers.p.deprecated=1
-compilers.p.discouraged-class=1
-compilers.p.internal=1
-compilers.p.missing-packages=1
-compilers.p.missing-version-export-package=2
-compilers.p.missing-version-import-package=2
-compilers.p.missing-version-require-bundle=2
-compilers.p.no-required-att=0
-compilers.p.not-externalized-att=1
-compilers.p.unknown-attribute=1
-compilers.p.unknown-class=1
-compilers.p.unknown-element=1
-compilers.p.unknown-identifier=1
-compilers.p.unknown-resource=1
-compilers.p.unresolved-ex-points=0
-compilers.p.unresolved-import=0
-compilers.s.create-docs=false
-compilers.s.doc-folder=doc
-compilers.s.open-tags=1
-eclipse.preferences.version=1
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/ChangeLog b/lttng/org.eclipse.linuxtools.tmf.ui/ChangeLog
deleted file mode 100644
index 8dc8651284..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/ChangeLog
+++ /dev/null
@@ -1,254 +0,0 @@
-2011-01-12 Bernd Hufmann <bhufmann@gmail.com> Fix for Bug 333606
-
- * src/org/eclipse/linuxtools/tmf/ui/viewers/events/TmfEventsTable.java (.handleCompleted): Added time range verification
- (..run): Added conditional notification call
- * src/org/eclipse/linuxtools/tmf/ui/widgets/TmfVirtualTable.java (handleTableKeyEvent): Added unconditional notification call
- (notifyUpdatedSelection): Added parameter to method call
- (setSelection): Change setting of members if selection is at the end of the trace
-
-2010-12-15 Bernd Hufmann <bhufmann@gmail.com>
-
- * src/org/eclipse/linuxtools/tmf/ui/viewers/events/TmfEventsTable.java (populateCache): Added call to notifyUpdatedSelection
- * src/org/eclipse/linuxtools/tmf/ui/widgets/TmfVirtualTable.java: Optimize table refresh
-
-2010-12-15 Francois Chouinard <fchouinard@gmail.com>
-
- * src/org/eclipse/linuxtools/tmf/ui/viewers/events/TmfEventsTable.java:
- * src/org/eclipse/linuxtools/tmf/ui/widgets/TmfVirtualTable.java:
-
-2010-11-25 Francois Chouinard <fchouinard@gmail.com>
-
- * src/org/eclipse/linuxtools/tmf/ui/viewers/timeAnalysis/widgets/TmfTimeStatesCtrl.java (drawItemDataBurst): Fixed the threading issue on the shared vector
-
-2010-11-10 Francois Chouinard <fchouinard@gmail.com>
-
- Suppress warning for non-externalized strings
- * src/org/eclipse/linuxtools/tmf/ui/viewers/timeAnalysis/widgets/TmfTimeStatesCtrl.java:
- * src/org/eclipse/linuxtools/tmf/ui/views/project/dialogs/NewExperimentDialog.java:
- * src/org/eclipse/linuxtools/tmf/ui/views/project/ProjectView.java:
-
-2010-11-09 Francois Chouinard <fchouinard@gmail.com>
-
- Externalized strings
- * src/org/eclipse/linuxtools/tmf/ui/parsers/custom/Messages.java: New file.
- * src/org/eclipse/linuxtools/tmf/ui/parsers/custom/messages.properties: New file.
- * src/org/eclipse/linuxtools/tmf/ui/views/project/dialogs/Messages.java: New file.
- * src/org/eclipse/linuxtools/tmf/ui/views/project/dialogs/messages.properties: New file.
- * src/org/eclipse/linuxtools/tmf/ui/wizards/Messages.java: New file.
- * src/org/eclipse/linuxtools/tmf/ui/wizards/messages.properties: New file.
-
- Suppress warning for non-externalized strings
- * src/org/eclipse/linuxtools/tmf/ui/dialogs/ManageCustomParsersDialog.java (createDialogArea):
- * src/org/eclipse/linuxtools/tmf/ui/editors/TmfEditor.java (TmfEditor):
- * src/org/eclipse/linuxtools/tmf/ui/editors/TmfEventsEditor.java (init):
- * src/org/eclipse/linuxtools/tmf/ui/editors/TmfMultiPageEditorPart.java (TmfMultiPageEditorPart):
- * src/org/eclipse/linuxtools/tmf/ui/parsers/custom/CustomEvent.java:
- * src/org/eclipse/linuxtools/tmf/ui/parsers/custom/CustomEventsTable.java (static initializer):
- * src/org/eclipse/linuxtools/tmf/ui/parsers/custom/CustomParserProvider.java (getCategory):
- * src/org/eclipse/linuxtools/tmf/ui/parsers/custom/CustomTraceDefinition.java (formatTimeStamp):
- * src/org/eclipse/linuxtools/tmf/ui/parsers/custom/CustomTxtEvent.java (processGroups):
- * src/org/eclipse/linuxtools/tmf/ui/parsers/custom/CustomTxtTrace.java (seekLocation):
- * src/org/eclipse/linuxtools/tmf/ui/parsers/custom/CustomTxtTraceDefinition.java (CustomTxtTraceDefinition):
- * src/org/eclipse/linuxtools/tmf/ui/parsers/custom/CustomXmlEvent.java (parseInput):
- * src/org/eclipse/linuxtools/tmf/ui/parsers/custom/CustomXmlTrace.java (seekLocation):
- * src/org/eclipse/linuxtools/tmf/ui/parsers/custom/CustomXmlTraceDefinition.java (CustomXmlTraceDefinition):
- * src/org/eclipse/linuxtools/tmf/ui/parsers/ParserProviderManager.java (init):
- * src/org/eclipse/linuxtools/tmf/ui/TmfUiPlugin.java (PLUGIN_ID):
- * src/org/eclipse/linuxtools/tmf/ui/TmfUiPreferenceInitializer.java:
- * src/org/eclipse/linuxtools/tmf/ui/viewers/events/TmfEventsTable.java (TmfEventsTable):
- * src/org/eclipse/linuxtools/tmf/ui/viewers/timeAnalysis/dialogs/TmfTimeFilterDialog.java (createColumns):
- * src/org/eclipse/linuxtools/tmf/ui/viewers/timeAnalysis/TmfTimeAnalysisProvider.java (StateColor.StateColor):
- * src/org/eclipse/linuxtools/tmf/ui/viewers/timeAnalysis/TmfTimeAnalysisViewer.java (getViewTypeStr):
- * src/org/eclipse/linuxtools/tmf/ui/viewers/timeAnalysis/widgets/TimeScaleCtrl.java (paint):
- * src/org/eclipse/linuxtools/tmf/ui/viewers/timeAnalysis/widgets/TmfTimeStatesCtrl.java (drawName):
- * src/org/eclipse/linuxtools/tmf/ui/viewers/timeAnalysis/widgets/TmfTimeTipHandler.java (.fillValues):
- * src/org/eclipse/linuxtools/tmf/ui/viewers/timeAnalysis/widgets/Utils.java (static initializer):
- * src/org/eclipse/linuxtools/tmf/ui/views/project/dialogs/AddTraceWizard.java (init):
- * src/org/eclipse/linuxtools/tmf/ui/views/project/dialogs/AddTraceWizardPage.java (AddTraceWizardPage):
- * src/org/eclipse/linuxtools/tmf/ui/views/project/dialogs/ImportTraceWizard.java (ImportTraceWizard):
- * src/org/eclipse/linuxtools/tmf/ui/views/project/dialogs/NewExperimentDialog.java (validateFolderName):
- * src/org/eclipse/linuxtools/tmf/ui/views/project/dialogs/NewProjectWizard.java (NewProjectWizard):
- * src/org/eclipse/linuxtools/tmf/ui/views/project/handlers/RefreshHandler.java (execute):
- * src/org/eclipse/linuxtools/tmf/ui/views/project/handlers/RenameExperimentHandler.java (execute):
- * src/org/eclipse/linuxtools/tmf/ui/views/project/handlers/RenameProjectHandler.java (execute):
- * src/org/eclipse/linuxtools/tmf/ui/views/project/handlers/RenameTraceHandler.java (execute):
- * src/org/eclipse/linuxtools/tmf/ui/views/project/handlers/SelectParserContributionItem.java (getContributionItems):
- * src/org/eclipse/linuxtools/tmf/ui/views/project/handlers/SelectParserHandler.java (execute):
- * src/org/eclipse/linuxtools/tmf/ui/views/project/model/TmfProjectLabelProvider.java (fOpenedProjectIcon):
- * src/org/eclipse/linuxtools/tmf/ui/views/project/model/TmfProjectNode.java:
- * src/org/eclipse/linuxtools/tmf/ui/views/project/ProjectView.java (createLink):
- * src/org/eclipse/linuxtools/tmf/ui/views/project/TmfProjectNature.java:
- * src/org/eclipse/linuxtools/tmf/ui/views/TmfEventsView.java (TmfEventsView):
- * src/org/eclipse/linuxtools/tmf/ui/wizards/CustomTxtParserInputWizardPage.java (CustomTxtParserInputWizardPage):
- * src/org/eclipse/linuxtools/tmf/ui/wizards/CustomTxtParserOutputWizardPage.java (CustomTxtParserOutputWizardPage):
- * src/org/eclipse/linuxtools/tmf/ui/wizards/CustomXmlParserInputWizardPage.java (CustomXmlParserInputWizardPage):
- * src/org/eclipse/linuxtools/tmf/ui/wizards/CustomXmlParserOutputWizardPage.java (CustomXmlParserOutputWizardPage):
-
-2010-10-27 Francois Chouinard <fchouinard@gmail.com>
-
- * src/org/eclipse/linuxtools/tmf/ui/viewers/events/TmfEventsTable.java: Performance optimization
-
-2010-10-15 Francois Chouinard <fchouinard@gmail.com>
-
- * src/org/eclipse/linuxtools/tmf/ui/viewers/events/TmfEventsTable.java: Small cleanup
-
-2010-10-13 Francois Chouinard <fchouinard@gmail.com>
-
- * src/org/eclipse/linuxtools/tmf/ui/views/project/ProjectView.java: Added checks for disposed widget
- * src/org/eclipse/linuxtools/tmf/ui/viewers/events/TmfEventsTable.java: Added checks for disposed widget
-
-2010-09-12 francois <francois@sushi>
-
- * src/org/eclipse/linuxtools/tmf/ui/widgets/TmfVirtualTable.java: Fixed table scrolling issues
-
-2010-08-30 Francois Chouinard <fchouinard@gmail.com>
-
- * src/org/eclipse/linuxtools/tmf/ui/parsers/custom/CustomEventsTable.java (createColumnHeaders): Added dummy param to create array of correct type (ColumnData)
- * src/org/eclipse/linuxtools/tmf/ui/widgets/TmfVirtualTable.java: Fix for the calculation of the number of rows
-
-2010-07-28 Francois Chouinard <fchouinard@gmail.com>
-
- * src/org/eclipse/linuxtools/tmf/ui/widgets/ColumnData.java: New file.
- * src/org/eclipse/linuxtools/tmf/ui/widgets/TmfVirtualTable.java: New file.
- * META-INF/MANIFEST.MF: Export org.eclipse.linuxtools.tmf.ui.widgets
- * src/org/eclipse/linuxtools/tmf/ui/editors/TmfEditorInput.java: Missing @Override
- * src/org/eclipse/linuxtools/tmf/ui/parsers/custom/CustomEventsTable.java: Missing @Override
- * src/org/eclipse/linuxtools/tmf/ui/parsers/custom/CustomTxtTraceDefinition.java: Missing @Override
- * src/org/eclipse/linuxtools/tmf/ui/parsers/custom/CustomXmlTraceDefinition.java: Missing @Override
- * src/org/eclipse/linuxtools/tmf/ui/viewers/events/TmfEventsTable.java: Replace Table by TmfVirtualTable
- * src/org/eclipse/linuxtools/tmf/ui/views/project/handlers/CloseProjectHandler.java: Missing @Override
- * src/org/eclipse/linuxtools/tmf/ui/views/project/handlers/DeleteExperimentHandler.java: Missing @Override
- * src/org/eclipse/linuxtools/tmf/ui/views/project/handlers/DeleteProjectHandler.java : Missing @Override
- * src/org/eclipse/linuxtools/tmf/ui/views/project/handlers/DeleteTraceHandler.java: Missing @Override
- * src/org/eclipse/linuxtools/tmf/ui/views/project/handlers/ImportTraceHandler.java: Missing @Override
- * src/org/eclipse/linuxtools/tmf/ui/views/project/handlers/NewExperimentHandler.java: Missing @Override
- * src/org/eclipse/linuxtools/tmf/ui/views/project/handlers/NewProjectHandler.java: Missing @Override
- * src/org/eclipse/linuxtools/tmf/ui/views/project/handlers/OpenExperimentHandler.java: Missing @Override
- * src/org/eclipse/linuxtools/tmf/ui/views/project/handlers/OpenProjectHandler.java: Missing @Override
- * src/org/eclipse/linuxtools/tmf/ui/views/project/handlers/OpenTraceHandler.java: Missing @Override
- * src/org/eclipse/linuxtools/tmf/ui/views/project/handlers/RefreshHandler.java: Missing @Override
- * src/org/eclipse/linuxtools/tmf/ui/views/project/handlers/RenameExperimentHandler.java: Missing @Override
- * src/org/eclipse/linuxtools/tmf/ui/views/project/handlers/RenameProjectHandler.java: Missing @Override
- * src/org/eclipse/linuxtools/tmf/ui/views/project/handlers/RenameTraceHandler.java: Missing @Override
- * src/org/eclipse/linuxtools/tmf/ui/views/project/handlers/SelectParserHandler.java: Missing @Override
- * src/org/eclipse/linuxtools/tmf/ui/views/project/handlers/SelectTracesHandler.java: Missing @Override
- * src/org/eclipse/linuxtools/tmf/ui/wizards/CustomTxtParserInputWizardPage.java: Missing @Override
- * src/org/eclipse/linuxtools/tmf/ui/wizards/CustomTxtParserOutputWizardPage.java: Missing @Override
- * src/org/eclipse/linuxtools/tmf/ui/wizards/CustomTxtParserWizard.java: Missing @Override
- * src/org/eclipse/linuxtools/tmf/ui/wizards/CustomXmlParserInputWizardPage.java: Missing @Override
- * src/org/eclipse/linuxtools/tmf/ui/wizards/CustomXmlParserOutputWizardPage.java: Missing @Override
- * src/org/eclipse/linuxtools/tmf/ui/wizards/CustomXmlParserWizard.java: Missing @Override
-
-2010-07-20 Francois Chouinard <fchouinard@gmail.com>
-
- * src/org/eclipse/linuxtools/tmf/ui/editors/TmfEventsEditor.java
- - Enable the dispose of trace when events table is disposed
- * src/org/eclipse/linuxtools/tmf/ui/viewers/events/TmfEventsTable.java
- - Use static defaults for column data
- - Make optional the dispose of trace when table is disposed
- - Perform the seek on timestamp in a background job in TmfTimeSynchSignal handler
- * src/org/eclipse/linuxtools/tmf/ui/views/project/ProjectView.java
- - Fix tree item selection on mouse double-click
- * src/org/eclipse/linuxtools/tmf/ui/views/TmfEventsView.java
- - Reduce default cache size to 100
- - Disable the dispose of trace when events table is disposed
- * src/org/eclipse/linuxtools/tmf/ui/wizards/CustomTxtParserOutputWizardPage.java
- - Enable the dispose of trace when events table is disposed
- * src/org/eclipse/linuxtools/tmf/ui/wizards/CustomXmlParserOutputWizardPage.java
- - Enable the dispose of trace when events table is disposed
-
-2010-07-13 Francois Chouinard <fchouinard@gmail.com>
-
- * src/org/eclipse/linuxtools/tmf/ui/viewers/events/TmfEventsTable.java: Changed visibility of 2 methods (from public to protected)
- * src/org/eclipse/linuxtools/tmf/ui/views/TmfEventsView.java: Removed unnecessary methods
-
-2010-07-12 Francois Chouinard <fchouinar@gmail.com>
-
- * icons/add_button.gif: New file.
- * icons/addchild_button.gif: New file.
- * icons/addmany_button.gif: New file.
- * icons/addnext_button.gif: New file.
- * icons/customparser_wizard.gif: New file.
- * icons/delete_button.gif: New file.
- * icons/down_button.gif: New file.
- * icons/element_icon.gif: New file.
- * icons/help_button.gif: New file.
- * icons/line_icon.gif: New file.
- * icons/movedown_button.gif: New file.
- * icons/moveup_button.gif: New file.
- * icons/up_button.gif: New file.
- * src/org/eclipse/linuxtools/tmf/ui/commands/ManageCustomParsersCommandHandler.java: New file.
- * src/org/eclipse/linuxtools/tmf/ui/dialogs/ManageCustomParsersDialog.java: New file.
- * src/org/eclipse/linuxtools/tmf/ui/parsers/custom/CustomEvent.java: New file.
- * src/org/eclipse/linuxtools/tmf/ui/parsers/custom/CustomEventsTable.java: New file.
- * src/org/eclipse/linuxtools/tmf/ui/parsers/custom/CustomParserProvider.java: New file.
- * src/org/eclipse/linuxtools/tmf/ui/parsers/custom/CustomTraceDefinition.java: New file.
- * src/org/eclipse/linuxtools/tmf/ui/parsers/custom/CustomTxtEvent.java: New file.
- * src/org/eclipse/linuxtools/tmf/ui/parsers/custom/CustomTxtTrace.java: New file.
- * src/org/eclipse/linuxtools/tmf/ui/parsers/custom/CustomTxtTraceContext.java: New file.
- * src/org/eclipse/linuxtools/tmf/ui/parsers/custom/CustomTxtTraceDefinition.java: New file.
- * src/org/eclipse/linuxtools/tmf/ui/parsers/custom/CustomXmlEvent.java: New file.
- * src/org/eclipse/linuxtools/tmf/ui/parsers/custom/CustomXmlTrace.java: New file.
- * src/org/eclipse/linuxtools/tmf/ui/parsers/custom/CustomXmlTraceContext.java: New file.
- * src/org/eclipse/linuxtools/tmf/ui/parsers/custom/CustomXmlTraceDefinition.java: New file.
- * src/org/eclipse/linuxtools/tmf/ui/wizards/CustomTxtParserInputWizardPage.java: New file.
- * src/org/eclipse/linuxtools/tmf/ui/wizards/CustomTxtParserOutputWizardPage.java: New file.
- * src/org/eclipse/linuxtools/tmf/ui/wizards/CustomTxtParserWizard.java: New file.
- * src/org/eclipse/linuxtools/tmf/ui/wizards/CustomXmlParserInputWizardPage.java: New file.
- * src/org/eclipse/linuxtools/tmf/ui/wizards/CustomXmlParserOutputWizardPage.java: New file.
- * src/org/eclipse/linuxtools/tmf/ui/wizards/CustomXmlParserWizard.java: New file.
-
- * src/org/eclipse/linuxtools/tmf/ui/TmfUiPlugin.java:
- - Initialized ParserProviderManager
- - Added getImageFromPath()
- * src/org/eclipse/linuxtools/tmf/ui/editors/ITmfTraceEditor.java: New file.
- * src/org/eclipse/linuxtools/tmf/ui/editors/TmfEditor.java: New file.
- * src/org/eclipse/linuxtools/tmf/ui/editors/TmfEditorInput.java: New file.
- * src/org/eclipse/linuxtools/tmf/ui/editors/TmfEventsEditor.java: New file.
- * src/org/eclipse/linuxtools/tmf/ui/editors/TmfMultiPageEditorPart.java: New file.
- * src/org/eclipse/linuxtools/tmf/ui/parsers/IParserProvider.java: New file.
- * src/org/eclipse/linuxtools/tmf/ui/parsers/ParserProviderManager.java: New file.
- * src/org/eclipse/linuxtools/tmf/ui/views/TmfEventsView.java: Use TmfEventsTable instead of Table
- * src/org/eclipse/linuxtools/tmf/ui/views/project/ProjectView.java: New file.
- * src/org/eclipse/linuxtools/tmf/ui/views/project/TmfProjectNature.java: New file.
- * src/org/eclipse/linuxtools/tmf/ui/views/project/dialogs/AddTraceWizard.java:
- * src/org/eclipse/linuxtools/tmf/ui/views/project/dialogs/AddTraceWizardPage.java: New file.
- * src/org/eclipse/linuxtools/tmf/ui/views/project/dialogs/DialogTraceContentProvider.java: New file.
- * src/org/eclipse/linuxtools/tmf/ui/views/project/dialogs/DialogTraceLabelProvider.java: New file.
- * src/org/eclipse/linuxtools/tmf/ui/views/project/dialogs/ImportTraceWizard.java: New file.
- * src/org/eclipse/linuxtools/tmf/ui/views/project/dialogs/ImportTraceWizardPage.java: New file.
- * src/org/eclipse/linuxtools/tmf/ui/views/project/dialogs/NewExperimentDialog.java: New file.
- * src/org/eclipse/linuxtools/tmf/ui/views/project/dialogs/NewProjectMainWizardPage.java: New file.
- * src/org/eclipse/linuxtools/tmf/ui/views/project/dialogs/NewProjectWizard.java: New file.
- * src/org/eclipse/linuxtools/tmf/ui/views/project/handlers/CloseProjectHandler.java: New file.
- * src/org/eclipse/linuxtools/tmf/ui/views/project/handlers/DeleteExperimentHandler.java: New file.
- * src/org/eclipse/linuxtools/tmf/ui/views/project/handlers/DeleteProjectHandler.java: New file.
- * src/org/eclipse/linuxtools/tmf/ui/views/project/handlers/DeleteTraceHandler.java: New file.
- * src/org/eclipse/linuxtools/tmf/ui/views/project/handlers/ImportTraceHandler.java: New file.
- * src/org/eclipse/linuxtools/tmf/ui/views/project/handlers/NewExperimentHandler.java: New file.
- * src/org/eclipse/linuxtools/tmf/ui/views/project/handlers/NewProjectHandler.java: New file.
- * src/org/eclipse/linuxtools/tmf/ui/views/project/handlers/OpenExperimentHandler.java: New file.
- * src/org/eclipse/linuxtools/tmf/ui/views/project/handlers/OpenProjectHandler.java: New file.
- * src/org/eclipse/linuxtools/tmf/ui/views/project/handlers/OpenTraceHandler.java: New file.
- * src/org/eclipse/linuxtools/tmf/ui/views/project/handlers/RefreshHandler.java: New file.
- * src/org/eclipse/linuxtools/tmf/ui/views/project/handlers/RenameExperimentHandler.java: New file.
- * src/org/eclipse/linuxtools/tmf/ui/views/project/handlers/RenameProjectHandler.java: New file.
- * src/org/eclipse/linuxtools/tmf/ui/views/project/handlers/RenameTraceHandler.java: New file.
- * src/org/eclipse/linuxtools/tmf/ui/views/project/handlers/SelectParserContributionItem.java: New file.
- * src/org/eclipse/linuxtools/tmf/ui/views/project/handlers/SelectParserHandler.java: New file.
- * src/org/eclipse/linuxtools/tmf/ui/views/project/handlers/SelectTracesHandler.java: New file.
- * src/org/eclipse/linuxtools/tmf/ui/views/project/model/ITmfProjectTreeNode.java: New file.
- * src/org/eclipse/linuxtools/tmf/ui/views/project/model/TmfExperimentFolderNode.java: New file.
- * src/org/eclipse/linuxtools/tmf/ui/views/project/model/TmfExperimentNode.java: New file.
- * src/org/eclipse/linuxtools/tmf/ui/views/project/model/TmfProjectContentProvider.java: New file.
- * src/org/eclipse/linuxtools/tmf/ui/views/project/model/TmfProjectLabelProvider.java: New file.
- * src/org/eclipse/linuxtools/tmf/ui/views/project/model/TmfProjectNode.java: New file.
- * src/org/eclipse/linuxtools/tmf/ui/views/project/model/TmfProjectRoot.java: New file.
- * src/org/eclipse/linuxtools/tmf/ui/views/project/model/TmfTraceFolderNode.java: New file.
- * src/org/eclipse/linuxtools/tmf/ui/views/project/model/TmfProjectTreeNode.java: New file.
- * src/org/eclipse/linuxtools/tmf/ui/views/project/model/TmfTraceNode.java: New file.
- * schema/org.eclipse.linuxtools.tmf.ui.parserprovider.exsd: Extension point for parser providers
- * META-INF/MANIFEST.MF: Added plugin.xml in includes
- * build.properties: Added plugin.xml in includes
- * plugin.xml: New file (extensions used by TmfEditor, TmfTable, TmfProject)
- \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/META-INF/MANIFEST.MF b/lttng/org.eclipse.linuxtools.tmf.ui/META-INF/MANIFEST.MF
deleted file mode 100644
index 1ba880f0fd..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,87 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %Bundle-Name
-Bundle-Vendor: %Bundle-Vendor
-Bundle-Version: 3.2.0.qualifier
-Bundle-Localization: plugin
-Bundle-SymbolicName: org.eclipse.linuxtools.tmf.ui;singleton:=true
-Bundle-Activator: org.eclipse.linuxtools.internal.tmf.ui.Activator
-Bundle-ActivationPolicy: lazy
-Bundle-RequiredExecutionEnvironment: JavaSE-1.7
-Require-Bundle: org.eclipse.core.expressions,
- org.eclipse.core.filesystem,
- org.eclipse.core.resources,
- org.eclipse.core.runtime,
- org.eclipse.linuxtools.tmf.core;bundle-version="3.1.0",
- org.eclipse.ui,
- org.eclipse.ui.ide,
- org.eclipse.ui.navigator,
- org.eclipse.ui.navigator.resources,
- org.swtchart,
- org.eclipse.cdt.core,
- com.ibm.icu
-Export-Package: org.eclipse.linuxtools.internal.tmf.ui;x-friends:="org.eclipse.linuxtools.tmf.ui.tests,org.eclipse.linuxtools.tmf.ctf.ui.tests",
- org.eclipse.linuxtools.internal.tmf.ui.commands;x-internal:=true,
- org.eclipse.linuxtools.internal.tmf.ui.dialogs;x-internal:=true,
- org.eclipse.linuxtools.internal.tmf.ui.editors.handlers;x-internal:=true,
- org.eclipse.linuxtools.internal.tmf.ui.parsers.custom;x-friends:="org.eclipse.linuxtools.tmf.ui.tests",
- org.eclipse.linuxtools.internal.tmf.ui.parsers.wizards;x-friends:="org.eclipse.linuxtools.tmf.ui.tests",
- org.eclipse.linuxtools.internal.tmf.ui.preferences;x-internal:=true,
- org.eclipse.linuxtools.internal.tmf.ui.project.dialogs;x-internal:=true,
- org.eclipse.linuxtools.internal.tmf.ui.project.dialogs.offset;x-internal:=true,
- org.eclipse.linuxtools.internal.tmf.ui.project.handlers;x-friends:="org.eclipse.linuxtools.tmf.ui.tests",
- org.eclipse.linuxtools.internal.tmf.ui.project.model;x-friends:="org.eclipse.linuxtools.lttng2.ui,org.eclipse.linuxtools.tmf.ui.tests,org.eclipse.linuxtools.tmf.ctf.ui.tests",
- org.eclipse.linuxtools.internal.tmf.ui.project.operations;x-internal:=true,
- org.eclipse.linuxtools.internal.tmf.ui.project.wizards.importtrace;x-friends:="org.eclipse.linuxtools.tmf.ctf.ui.swtbot.tests,org.eclipse.linuxtools.tmf.ui,org.eclipse.linuxtools.lttng2.control.ui",
- org.eclipse.linuxtools.internal.tmf.ui.project.wizards.tracepkg;x-internal:=true,
- org.eclipse.linuxtools.internal.tmf.ui.project.wizards.tracepkg.importexport;x-internal:=true,
- org.eclipse.linuxtools.internal.tmf.ui.viewers.events.columns;x-internal:=true,
- org.eclipse.linuxtools.tmf.ui,
- org.eclipse.linuxtools.tmf.ui.analysis,
- org.eclipse.linuxtools.tmf.ui.editors,
- org.eclipse.linuxtools.tmf.ui.project.model,
- org.eclipse.linuxtools.tmf.ui.project.wizards,
- org.eclipse.linuxtools.tmf.ui.properties,
- org.eclipse.linuxtools.tmf.ui.viewers,
- org.eclipse.linuxtools.tmf.ui.viewers.events,
- org.eclipse.linuxtools.tmf.ui.viewers.events.columns,
- org.eclipse.linuxtools.tmf.ui.viewers.events.text,
- org.eclipse.linuxtools.tmf.ui.viewers.statistics,
- org.eclipse.linuxtools.tmf.ui.viewers.statistics.model,
- org.eclipse.linuxtools.tmf.ui.viewers.tree,
- org.eclipse.linuxtools.tmf.ui.viewers.xycharts,
- org.eclipse.linuxtools.tmf.ui.viewers.xycharts.barcharts,
- org.eclipse.linuxtools.tmf.ui.viewers.xycharts.linecharts,
- org.eclipse.linuxtools.tmf.ui.views,
- org.eclipse.linuxtools.tmf.ui.views.callstack,
- org.eclipse.linuxtools.tmf.ui.views.colors,
- org.eclipse.linuxtools.tmf.ui.views.distribution.model,
- org.eclipse.linuxtools.tmf.ui.views.filter,
- org.eclipse.linuxtools.tmf.ui.views.histogram,
- org.eclipse.linuxtools.tmf.ui.views.statesystem,
- org.eclipse.linuxtools.tmf.ui.views.statistics,
- org.eclipse.linuxtools.tmf.ui.views.synchronization,
- org.eclipse.linuxtools.tmf.ui.views.timechart,
- org.eclipse.linuxtools.tmf.ui.views.timegraph,
- org.eclipse.linuxtools.tmf.ui.views.uml2sd,
- org.eclipse.linuxtools.tmf.ui.views.uml2sd.core,
- org.eclipse.linuxtools.tmf.ui.views.uml2sd.dialogs,
- org.eclipse.linuxtools.tmf.ui.views.uml2sd.drawings,
- org.eclipse.linuxtools.tmf.ui.views.uml2sd.drawings.impl,
- org.eclipse.linuxtools.tmf.ui.views.uml2sd.handlers,
- org.eclipse.linuxtools.tmf.ui.views.uml2sd.handlers.provider,
- org.eclipse.linuxtools.tmf.ui.views.uml2sd.load,
- org.eclipse.linuxtools.tmf.ui.views.uml2sd.loader,
- org.eclipse.linuxtools.tmf.ui.views.uml2sd.preferences,
- org.eclipse.linuxtools.tmf.ui.views.uml2sd.util,
- org.eclipse.linuxtools.tmf.ui.widgets.rawviewer,
- org.eclipse.linuxtools.tmf.ui.widgets.tabsview,
- org.eclipse.linuxtools.tmf.ui.widgets.timegraph,
- org.eclipse.linuxtools.tmf.ui.widgets.timegraph.dialogs,
- org.eclipse.linuxtools.tmf.ui.widgets.timegraph.model,
- org.eclipse.linuxtools.tmf.ui.widgets.timegraph.widgets,
- org.eclipse.linuxtools.tmf.ui.widgets.virtualtable
-Import-Package: com.google.common.base,
- com.google.common.collect,
- org.eclipse.emf.common.util,
- org.eclipse.emf.ecore
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/about.html b/lttng/org.eclipse.linuxtools.tmf.ui/about.html
deleted file mode 100644
index c258ef55d8..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/about.html
+++ /dev/null
@@ -1,28 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
-<title>About</title>
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
-
-<p>June 5, 2006</p>
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;). Unless otherwise
-indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is available
-at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is
-being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content. Check the Redistributor's license that was
-provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at <a href="http://www.eclipse.org/">http://www.eclipse.org</a>.</p>
-
-</body>
-</html> \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/build.properties b/lttng/org.eclipse.linuxtools.tmf.ui/build.properties
deleted file mode 100644
index 9ed841f5f1..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/build.properties
+++ /dev/null
@@ -1,25 +0,0 @@
-###############################################################################
-# Copyright (c) 2013 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:
-# Ericsson - Initial API and implementation
-###############################################################################
-
-source.. = src/
-output.. = bin/
-bin.includes = META-INF/,\
- .,\
- icons/,\
- about.html,\
- plugin.properties,\
- plugin.xml,\
- schema/
-src.includes = about.html,\
- schema/
-additional.bundles = org.eclipse.jdt.annotation
-jars.extra.classpath = platform:/plugin/org.eclipse.jdt.annotation
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/icons/dlcl16/open.gif b/lttng/org.eclipse.linuxtools.tmf.ui/icons/dlcl16/open.gif
deleted file mode 100644
index 96d5334b7e..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/icons/dlcl16/open.gif
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/icons/dlcl16/refresh.gif b/lttng/org.eclipse.linuxtools.tmf.ui/icons/dlcl16/refresh.gif
deleted file mode 100644
index dfab700f81..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/icons/dlcl16/refresh.gif
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/icons/dlcl16/rename.gif b/lttng/org.eclipse.linuxtools.tmf.ui/icons/dlcl16/rename.gif
deleted file mode 100644
index 68ca27ad46..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/icons/dlcl16/rename.gif
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/icons/dlcl16/set_trace_type.gif b/lttng/org.eclipse.linuxtools.tmf.ui/icons/dlcl16/set_trace_type.gif
deleted file mode 100644
index 6186a6a2e4..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/icons/dlcl16/set_trace_type.gif
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/icons/dtool16/clear.gif b/lttng/org.eclipse.linuxtools.tmf.ui/icons/dtool16/clear.gif
deleted file mode 100644
index 7f3248023c..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/icons/dtool16/clear.gif
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/icons/dtool16/copy_edit.gif b/lttng/org.eclipse.linuxtools.tmf.ui/icons/dtool16/copy_edit.gif
deleted file mode 100644
index 98626a819b..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/icons/dtool16/copy_edit.gif
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/icons/dtool16/delete.gif b/lttng/org.eclipse.linuxtools.tmf.ui/icons/dtool16/delete.gif
deleted file mode 100644
index 9e142981b2..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/icons/dtool16/delete.gif
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/icons/dtool16/import.gif b/lttng/org.eclipse.linuxtools.tmf.ui/icons/dtool16/import.gif
deleted file mode 100644
index cd4474182f..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/icons/dtool16/import.gif
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/icons/dtool16/new.gif b/lttng/org.eclipse.linuxtools.tmf.ui/icons/dtool16/new.gif
deleted file mode 100644
index f656481e0d..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/icons/dtool16/new.gif
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/icons/elcl16/add_button.gif b/lttng/org.eclipse.linuxtools.tmf.ui/icons/elcl16/add_button.gif
deleted file mode 100644
index ae9543c6e7..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/icons/elcl16/add_button.gif
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/icons/elcl16/addchild_button.gif b/lttng/org.eclipse.linuxtools.tmf.ui/icons/elcl16/addchild_button.gif
deleted file mode 100644
index 4219ea1116..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/icons/elcl16/addchild_button.gif
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/icons/elcl16/addmany_button.gif b/lttng/org.eclipse.linuxtools.tmf.ui/icons/elcl16/addmany_button.gif
deleted file mode 100644
index 576eb4fa01..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/icons/elcl16/addmany_button.gif
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/icons/elcl16/addnext_button.gif b/lttng/org.eclipse.linuxtools.tmf.ui/icons/elcl16/addnext_button.gif
deleted file mode 100644
index fb7c7f00ea..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/icons/elcl16/addnext_button.gif
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/icons/elcl16/backward_nav.gif b/lttng/org.eclipse.linuxtools.tmf.ui/icons/elcl16/backward_nav.gif
deleted file mode 100644
index 4fb4150103..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/icons/elcl16/backward_nav.gif
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/icons/elcl16/bookmark_obj.gif b/lttng/org.eclipse.linuxtools.tmf.ui/icons/elcl16/bookmark_obj.gif
deleted file mode 100644
index 74329543a1..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/icons/elcl16/bookmark_obj.gif
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/icons/elcl16/bullet.gif b/lttng/org.eclipse.linuxtools.tmf.ui/icons/elcl16/bullet.gif
deleted file mode 100644
index a831fe7278..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/icons/elcl16/bullet.gif
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/icons/elcl16/delete_button.gif b/lttng/org.eclipse.linuxtools.tmf.ui/icons/elcl16/delete_button.gif
deleted file mode 100644
index 6bc0689f13..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/icons/elcl16/delete_button.gif
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/icons/elcl16/down_button.gif b/lttng/org.eclipse.linuxtools.tmf.ui/icons/elcl16/down_button.gif
deleted file mode 100644
index 3f3a1aea43..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/icons/elcl16/down_button.gif
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/icons/elcl16/element_icon.gif b/lttng/org.eclipse.linuxtools.tmf.ui/icons/elcl16/element_icon.gif
deleted file mode 100644
index 246a8a09f5..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/icons/elcl16/element_icon.gif
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/icons/elcl16/experiment.gif b/lttng/org.eclipse.linuxtools.tmf.ui/icons/elcl16/experiment.gif
deleted file mode 100644
index 3971b50765..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/icons/elcl16/experiment.gif
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/icons/elcl16/export_button.gif b/lttng/org.eclipse.linuxtools.tmf.ui/icons/elcl16/export_button.gif
deleted file mode 100644
index ac8a71f8d3..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/icons/elcl16/export_button.gif
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/icons/elcl16/filter_items.gif b/lttng/org.eclipse.linuxtools.tmf.ui/icons/elcl16/filter_items.gif
deleted file mode 100644
index ef51bd544f..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/icons/elcl16/filter_items.gif
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/icons/elcl16/follow_arrow_bwd.gif b/lttng/org.eclipse.linuxtools.tmf.ui/icons/elcl16/follow_arrow_bwd.gif
deleted file mode 100644
index 04b5a0525b..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/icons/elcl16/follow_arrow_bwd.gif
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/icons/elcl16/follow_arrow_fwd.gif b/lttng/org.eclipse.linuxtools.tmf.ui/icons/elcl16/follow_arrow_fwd.gif
deleted file mode 100644
index b8aa056fc9..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/icons/elcl16/follow_arrow_fwd.gif
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/icons/elcl16/forward_nav.gif b/lttng/org.eclipse.linuxtools.tmf.ui/icons/elcl16/forward_nav.gif
deleted file mode 100644
index e2f8c3e1fe..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/icons/elcl16/forward_nav.gif
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/icons/elcl16/gotopage_menu.gif b/lttng/org.eclipse.linuxtools.tmf.ui/icons/elcl16/gotopage_menu.gif
deleted file mode 100755
index d4e00ba797..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/icons/elcl16/gotopage_menu.gif
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/icons/elcl16/help_button.gif b/lttng/org.eclipse.linuxtools.tmf.ui/icons/elcl16/help_button.gif
deleted file mode 100644
index 9d70301dae..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/icons/elcl16/help_button.gif
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/icons/elcl16/hide_arrows.gif b/lttng/org.eclipse.linuxtools.tmf.ui/icons/elcl16/hide_arrows.gif
deleted file mode 100644
index 6fe858df88..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/icons/elcl16/hide_arrows.gif
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/icons/elcl16/hide_lost_events.gif b/lttng/org.eclipse.linuxtools.tmf.ui/icons/elcl16/hide_lost_events.gif
deleted file mode 100644
index bb46075ce4..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/icons/elcl16/hide_lost_events.gif
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/icons/elcl16/home_nav.gif b/lttng/org.eclipse.linuxtools.tmf.ui/icons/elcl16/home_nav.gif
deleted file mode 100644
index fd0c669509..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/icons/elcl16/home_nav.gif
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/icons/elcl16/import_button.gif b/lttng/org.eclipse.linuxtools.tmf.ui/icons/elcl16/import_button.gif
deleted file mode 100644
index 4296c84b4c..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/icons/elcl16/import_button.gif
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/icons/elcl16/line_icon.gif b/lttng/org.eclipse.linuxtools.tmf.ui/icons/elcl16/line_icon.gif
deleted file mode 100644
index af96acefc6..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/icons/elcl16/line_icon.gif
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/icons/elcl16/movedown_button.gif b/lttng/org.eclipse.linuxtools.tmf.ui/icons/elcl16/movedown_button.gif
deleted file mode 100644
index a603a537fb..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/icons/elcl16/movedown_button.gif
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/icons/elcl16/moveup_button.gif b/lttng/org.eclipse.linuxtools.tmf.ui/icons/elcl16/moveup_button.gif
deleted file mode 100644
index 2cc297225e..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/icons/elcl16/moveup_button.gif
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/icons/elcl16/new_tracing_prj.gif b/lttng/org.eclipse.linuxtools.tmf.ui/icons/elcl16/new_tracing_prj.gif
deleted file mode 100644
index 2e63097436..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/icons/elcl16/new_tracing_prj.gif
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/icons/elcl16/next_event.gif b/lttng/org.eclipse.linuxtools.tmf.ui/icons/elcl16/next_event.gif
deleted file mode 100644
index da6c4b66f6..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/icons/elcl16/next_event.gif
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/icons/elcl16/next_item.gif b/lttng/org.eclipse.linuxtools.tmf.ui/icons/elcl16/next_item.gif
deleted file mode 100644
index a970e7e1f2..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/icons/elcl16/next_item.gif
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/icons/elcl16/next_menu.gif b/lttng/org.eclipse.linuxtools.tmf.ui/icons/elcl16/next_menu.gif
deleted file mode 100755
index 9b5b581b2b..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/icons/elcl16/next_menu.gif
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/icons/elcl16/node_end.gif b/lttng/org.eclipse.linuxtools.tmf.ui/icons/elcl16/node_end.gif
deleted file mode 100755
index a1c74077e6..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/icons/elcl16/node_end.gif
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/icons/elcl16/node_start.gif b/lttng/org.eclipse.linuxtools.tmf.ui/icons/elcl16/node_start.gif
deleted file mode 100755
index 5d95c27e34..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/icons/elcl16/node_start.gif
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/icons/elcl16/open.gif b/lttng/org.eclipse.linuxtools.tmf.ui/icons/elcl16/open.gif
deleted file mode 100644
index 7e4c5830d9..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/icons/elcl16/open.gif
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/icons/elcl16/pin_view.gif b/lttng/org.eclipse.linuxtools.tmf.ui/icons/elcl16/pin_view.gif
deleted file mode 100644
index ec50b70fab..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/icons/elcl16/pin_view.gif
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/icons/elcl16/prev_event.gif b/lttng/org.eclipse.linuxtools.tmf.ui/icons/elcl16/prev_event.gif
deleted file mode 100644
index ed3e7c26ee..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/icons/elcl16/prev_event.gif
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/icons/elcl16/prev_item.gif b/lttng/org.eclipse.linuxtools.tmf.ui/icons/elcl16/prev_item.gif
deleted file mode 100644
index c16474aad4..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/icons/elcl16/prev_item.gif
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/icons/elcl16/prev_menu.gif b/lttng/org.eclipse.linuxtools.tmf.ui/icons/elcl16/prev_menu.gif
deleted file mode 100755
index 091e884006..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/icons/elcl16/prev_menu.gif
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/icons/elcl16/refresh.gif b/lttng/org.eclipse.linuxtools.tmf.ui/icons/elcl16/refresh.gif
deleted file mode 100644
index 049cac696c..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/icons/elcl16/refresh.gif
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/icons/elcl16/rename.gif b/lttng/org.eclipse.linuxtools.tmf.ui/icons/elcl16/rename.gif
deleted file mode 100644
index aeccbfd8c1..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/icons/elcl16/rename.gif
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/icons/elcl16/save_button.gif b/lttng/org.eclipse.linuxtools.tmf.ui/icons/elcl16/save_button.gif
deleted file mode 100644
index 67d48fc7ce..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/icons/elcl16/save_button.gif
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/icons/elcl16/search.gif b/lttng/org.eclipse.linuxtools.tmf.ui/icons/elcl16/search.gif
deleted file mode 100644
index d540a01f4d..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/icons/elcl16/search.gif
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/icons/elcl16/search_match.gif b/lttng/org.eclipse.linuxtools.tmf.ui/icons/elcl16/search_match.gif
deleted file mode 100644
index 7b1efa5498..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/icons/elcl16/search_match.gif
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/icons/elcl16/search_match_bookmark.gif b/lttng/org.eclipse.linuxtools.tmf.ui/icons/elcl16/search_match_bookmark.gif
deleted file mode 100644
index 581f30fbbb..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/icons/elcl16/search_match_bookmark.gif
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/icons/elcl16/search_seqdiag_menu.gif b/lttng/org.eclipse.linuxtools.tmf.ui/icons/elcl16/search_seqdiag_menu.gif
deleted file mode 100755
index 6f9dfffda1..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/icons/elcl16/search_seqdiag_menu.gif
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/icons/elcl16/select_menu.gif b/lttng/org.eclipse.linuxtools.tmf.ui/icons/elcl16/select_menu.gif
deleted file mode 100755
index a939cf775d..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/icons/elcl16/select_menu.gif
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/icons/elcl16/set_trace_type.gif b/lttng/org.eclipse.linuxtools.tmf.ui/icons/elcl16/set_trace_type.gif
deleted file mode 100644
index 9da8bff09f..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/icons/elcl16/set_trace_type.gif
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/icons/elcl16/show_hist_traces.gif b/lttng/org.eclipse.linuxtools.tmf.ui/icons/elcl16/show_hist_traces.gif
deleted file mode 100644
index 40febb20ab..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/icons/elcl16/show_hist_traces.gif
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/icons/elcl16/show_legend.gif b/lttng/org.eclipse.linuxtools.tmf.ui/icons/elcl16/show_legend.gif
deleted file mode 100644
index f40ce6b179..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/icons/elcl16/show_legend.gif
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/icons/elcl16/stop.gif b/lttng/org.eclipse.linuxtools.tmf.ui/icons/elcl16/stop.gif
deleted file mode 100644
index 303bf2a850..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/icons/elcl16/stop.gif
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/icons/elcl16/synced.gif b/lttng/org.eclipse.linuxtools.tmf.ui/icons/elcl16/synced.gif
deleted file mode 100644
index 870934b693..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/icons/elcl16/synced.gif
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/icons/elcl16/trace.gif b/lttng/org.eclipse.linuxtools.tmf.ui/icons/elcl16/trace.gif
deleted file mode 100644
index 42fca3fcc9..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/icons/elcl16/trace.gif
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/icons/elcl16/unknown_parser.gif b/lttng/org.eclipse.linuxtools.tmf.ui/icons/elcl16/unknown_parser.gif
deleted file mode 100644
index b472212933..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/icons/elcl16/unknown_parser.gif
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/icons/elcl16/up_button.gif b/lttng/org.eclipse.linuxtools.tmf.ui/icons/elcl16/up_button.gif
deleted file mode 100644
index 7760d26598..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/icons/elcl16/up_button.gif
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/icons/elcl16/zoomin_nav.gif b/lttng/org.eclipse.linuxtools.tmf.ui/icons/elcl16/zoomin_nav.gif
deleted file mode 100644
index 31441e34e4..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/icons/elcl16/zoomin_nav.gif
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/icons/elcl16/zoomout_nav.gif b/lttng/org.eclipse.linuxtools.tmf.ui/icons/elcl16/zoomout_nav.gif
deleted file mode 100644
index 1f874009ad..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/icons/elcl16/zoomout_nav.gif
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/icons/etool16/clear.gif b/lttng/org.eclipse.linuxtools.tmf.ui/icons/etool16/clear.gif
deleted file mode 100644
index 2d3935a689..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/icons/etool16/clear.gif
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/icons/etool16/copy_edit.gif b/lttng/org.eclipse.linuxtools.tmf.ui/icons/etool16/copy_edit.gif
deleted file mode 100644
index 71d7c95aa8..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/icons/etool16/copy_edit.gif
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/icons/etool16/customparser_wizard.gif b/lttng/org.eclipse.linuxtools.tmf.ui/icons/etool16/customparser_wizard.gif
deleted file mode 100644
index d3667ed765..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/icons/etool16/customparser_wizard.gif
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/icons/etool16/delete.gif b/lttng/org.eclipse.linuxtools.tmf.ui/icons/etool16/delete.gif
deleted file mode 100644
index b6922ac11c..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/icons/etool16/delete.gif
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/icons/etool16/export.gif b/lttng/org.eclipse.linuxtools.tmf.ui/icons/etool16/export.gif
deleted file mode 100644
index 5a0837d1e4..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/icons/etool16/export.gif
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/icons/etool16/import.gif b/lttng/org.eclipse.linuxtools.tmf.ui/icons/etool16/import.gif
deleted file mode 100644
index d38085ad9c..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/icons/etool16/import.gif
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/icons/etool16/link.gif b/lttng/org.eclipse.linuxtools.tmf.ui/icons/etool16/link.gif
deleted file mode 100644
index e085688898..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/icons/etool16/link.gif
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/icons/etool16/new.gif b/lttng/org.eclipse.linuxtools.tmf.ui/icons/etool16/new.gif
deleted file mode 100644
index 7aea894d0b..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/icons/etool16/new.gif
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/icons/etool16/newfolder_wiz.gif b/lttng/org.eclipse.linuxtools.tmf.ui/icons/etool16/newfolder_wiz.gif
deleted file mode 100644
index 310eb18e34..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/icons/etool16/newfolder_wiz.gif
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/icons/etool16/sort_alpha.gif b/lttng/org.eclipse.linuxtools.tmf.ui/icons/etool16/sort_alpha.gif
deleted file mode 100644
index 6311cc00f8..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/icons/etool16/sort_alpha.gif
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/icons/etool16/sort_alpha_rev.gif b/lttng/org.eclipse.linuxtools.tmf.ui/icons/etool16/sort_alpha_rev.gif
deleted file mode 100644
index 7503bf11d3..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/icons/etool16/sort_alpha_rev.gif
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/icons/etool16/sort_num.gif b/lttng/org.eclipse.linuxtools.tmf.ui/icons/etool16/sort_num.gif
deleted file mode 100644
index a889504192..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/icons/etool16/sort_num.gif
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/icons/etool16/sort_num_rev.gif b/lttng/org.eclipse.linuxtools.tmf.ui/icons/etool16/sort_num_rev.gif
deleted file mode 100644
index 2df6cacc16..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/icons/etool16/sort_num_rev.gif
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/icons/etool16/sort_time.gif b/lttng/org.eclipse.linuxtools.tmf.ui/icons/etool16/sort_time.gif
deleted file mode 100644
index 26668c2c16..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/icons/etool16/sort_time.gif
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/icons/etool16/sort_time_rev.gif b/lttng/org.eclipse.linuxtools.tmf.ui/icons/etool16/sort_time_rev.gif
deleted file mode 100644
index 2e7eed0da0..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/icons/etool16/sort_time_rev.gif
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/icons/eview16/callstack_view.gif b/lttng/org.eclipse.linuxtools.tmf.ui/icons/eview16/callstack_view.gif
deleted file mode 100644
index f1e585bdf7..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/icons/eview16/callstack_view.gif
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/icons/eview16/colors_view.gif b/lttng/org.eclipse.linuxtools.tmf.ui/icons/eview16/colors_view.gif
deleted file mode 100644
index cc168a4251..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/icons/eview16/colors_view.gif
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/icons/eview16/events_view.gif b/lttng/org.eclipse.linuxtools.tmf.ui/icons/eview16/events_view.gif
deleted file mode 100644
index 1ef74cf98f..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/icons/eview16/events_view.gif
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/icons/eview16/filters_view.gif b/lttng/org.eclipse.linuxtools.tmf.ui/icons/eview16/filters_view.gif
deleted file mode 100644
index 24e8e862ec..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/icons/eview16/filters_view.gif
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/icons/eview16/histogram.gif b/lttng/org.eclipse.linuxtools.tmf.ui/icons/eview16/histogram.gif
deleted file mode 100644
index dd2dda5caa..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/icons/eview16/histogram.gif
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/icons/eview16/project_view.gif b/lttng/org.eclipse.linuxtools.tmf.ui/icons/eview16/project_view.gif
deleted file mode 100644
index 4b98a62c6e..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/icons/eview16/project_view.gif
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/icons/eview16/sequencediagram_view.gif b/lttng/org.eclipse.linuxtools.tmf.ui/icons/eview16/sequencediagram_view.gif
deleted file mode 100755
index a024c49ba7..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/icons/eview16/sequencediagram_view.gif
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/icons/eview16/statistics_view.gif b/lttng/org.eclipse.linuxtools.tmf.ui/icons/eview16/statistics_view.gif
deleted file mode 100755
index d11c996e57..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/icons/eview16/statistics_view.gif
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/icons/eview16/synced.gif b/lttng/org.eclipse.linuxtools.tmf.ui/icons/eview16/synced.gif
deleted file mode 100644
index 870934b693..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/icons/eview16/synced.gif
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/icons/eview16/timechart_view.gif b/lttng/org.eclipse.linuxtools.tmf.ui/icons/eview16/timechart_view.gif
deleted file mode 100644
index 532d1808d7..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/icons/eview16/timechart_view.gif
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/icons/eview16/tracing_pers.gif b/lttng/org.eclipse.linuxtools.tmf.ui/icons/eview16/tracing_pers.gif
deleted file mode 100644
index 9396e21eb7..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/icons/eview16/tracing_pers.gif
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/icons/obj16/add_obj.gif b/lttng/org.eclipse.linuxtools.tmf.ui/icons/obj16/add_obj.gif
deleted file mode 100644
index 252d7ebcb8..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/icons/obj16/add_obj.gif
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/icons/obj16/arrow_colapse.bmp b/lttng/org.eclipse.linuxtools.tmf.ui/icons/obj16/arrow_colapse.bmp
deleted file mode 100755
index fb5082b07a..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/icons/obj16/arrow_colapse.bmp
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/icons/obj16/arrow_up.bmp b/lttng/org.eclipse.linuxtools.tmf.ui/icons/obj16/arrow_up.bmp
deleted file mode 100755
index 91f137428c..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/icons/obj16/arrow_up.bmp
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/icons/obj16/binaries_obj.gif b/lttng/org.eclipse.linuxtools.tmf.ui/icons/obj16/binaries_obj.gif
deleted file mode 100644
index 5a08512dcb..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/icons/obj16/binaries_obj.gif
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/icons/obj16/class.gif b/lttng/org.eclipse.linuxtools.tmf.ui/icons/obj16/class.gif
deleted file mode 100755
index ce1719ea56..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/icons/obj16/class.gif
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/icons/obj16/classobject_obj.gif b/lttng/org.eclipse.linuxtools.tmf.ui/icons/obj16/classobject_obj.gif
deleted file mode 100755
index fbb8c360ae..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/icons/obj16/classobject_obj.gif
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/icons/obj16/collapsed_obj.gif b/lttng/org.eclipse.linuxtools.tmf.ui/icons/obj16/collapsed_obj.gif
deleted file mode 100755
index 536b2e973e..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/icons/obj16/collapsed_obj.gif
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/icons/obj16/node_obj.gif b/lttng/org.eclipse.linuxtools.tmf.ui/icons/obj16/node_obj.gif
deleted file mode 100755
index 02b51a8f27..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/icons/obj16/node_obj.gif
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/icons/obj16/package_obj.gif b/lttng/org.eclipse.linuxtools.tmf.ui/icons/obj16/package_obj.gif
deleted file mode 100755
index 773c301085..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/icons/obj16/package_obj.gif
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/icons/obj16/plus_obj.gif b/lttng/org.eclipse.linuxtools.tmf.ui/icons/obj16/plus_obj.gif
deleted file mode 100755
index ebc00e32f2..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/icons/obj16/plus_obj.gif
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/icons/obj16/process_obj.gif b/lttng/org.eclipse.linuxtools.tmf.ui/icons/obj16/process_obj.gif
deleted file mode 100755
index 8223467dbc..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/icons/obj16/process_obj.gif
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/icons/obj16/stckframe_obj.gif b/lttng/org.eclipse.linuxtools.tmf.ui/icons/obj16/stckframe_obj.gif
deleted file mode 100644
index f1e585bdf7..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/icons/obj16/stckframe_obj.gif
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/icons/obj16/thread_obj.gif b/lttng/org.eclipse.linuxtools.tmf.ui/icons/obj16/thread_obj.gif
deleted file mode 100755
index cade785122..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/icons/obj16/thread_obj.gif
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/icons/obj16/zoom_mask.bmp b/lttng/org.eclipse.linuxtools.tmf.ui/icons/obj16/zoom_mask.bmp
deleted file mode 100755
index 22eb40d4a1..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/icons/obj16/zoom_mask.bmp
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/icons/obj16/zoomin_obj.bmp b/lttng/org.eclipse.linuxtools.tmf.ui/icons/obj16/zoomin_obj.bmp
deleted file mode 100755
index cbfb0d81dc..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/icons/obj16/zoomin_obj.bmp
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/icons/obj16/zoomout_obj.bmp b/lttng/org.eclipse.linuxtools.tmf.ui/icons/obj16/zoomout_obj.bmp
deleted file mode 100755
index 55f11ffc32..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/icons/obj16/zoomout_obj.bmp
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/icons/ovr16/error_ovr.gif b/lttng/org.eclipse.linuxtools.tmf.ui/icons/ovr16/error_ovr.gif
deleted file mode 100755
index 119dcccd5a..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/icons/ovr16/error_ovr.gif
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/icons/ovr16/experiment_folder_ovr.png b/lttng/org.eclipse.linuxtools.tmf.ui/icons/ovr16/experiment_folder_ovr.png
deleted file mode 100644
index 62218cff13..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/icons/ovr16/experiment_folder_ovr.png
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/icons/ovr16/link_ovr.gif b/lttng/org.eclipse.linuxtools.tmf.ui/icons/ovr16/link_ovr.gif
deleted file mode 100644
index 4f1440ebe0..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/icons/ovr16/link_ovr.gif
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/icons/ovr16/trace_folder_ovr.png b/lttng/org.eclipse.linuxtools.tmf.ui/icons/ovr16/trace_folder_ovr.png
deleted file mode 100644
index d1fa4a6eaa..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/icons/ovr16/trace_folder_ovr.png
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/icons/ovr16/trace_nature_ovr.gif b/lttng/org.eclipse.linuxtools.tmf.ui/icons/ovr16/trace_nature_ovr.gif
deleted file mode 100644
index 2f8ec19fb0..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/icons/ovr16/trace_nature_ovr.gif
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/icons/ovr16/trace_type_ovr.gif b/lttng/org.eclipse.linuxtools.tmf.ui/icons/ovr16/trace_type_ovr.gif
deleted file mode 100644
index 2f8ec19fb0..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/icons/ovr16/trace_type_ovr.gif
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/icons/wizban/conflict_stat.gif b/lttng/org.eclipse.linuxtools.tmf.ui/icons/wizban/conflict_stat.gif
deleted file mode 100644
index 020fc5438b..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/icons/wizban/conflict_stat.gif
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/icons/wizban/export_wiz.png b/lttng/org.eclipse.linuxtools.tmf.ui/icons/wizban/export_wiz.png
deleted file mode 100644
index aa787ef561..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/icons/wizban/export_wiz.png
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/icons/wizban/trace_import_wiz.png b/lttng/org.eclipse.linuxtools.tmf.ui/icons/wizban/trace_import_wiz.png
deleted file mode 100644
index 732631c0ac..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/icons/wizban/trace_import_wiz.png
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/plugin.properties b/lttng/org.eclipse.linuxtools.tmf.ui/plugin.properties
deleted file mode 100644
index 4c2b539133..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/plugin.properties
+++ /dev/null
@@ -1,199 +0,0 @@
-###############################################################################
-# Copyright (c) 2013, 2014 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:
-# Ericsson - Initial API and implementation
-###############################################################################
-
-#Properties file for org.eclipse.linuxtools.tmf.ui
-Bundle-Vendor = Eclipse Linux Tools
-Bundle-Name = Linux Tools TMF UI Plug-in
-
-# Extension points
-extensionpoint.trace_type_ui.name = Tmf Trace Type UI Elements
-extensionpoint.sequence_diagram_loader.name = TMF UML 2 Sequence Diagram Loader
-
-# Perspective and Views names
-perspective.category.name = Tracing
-
-views.category.name = Tracing
-filters.view.name = Filters
-colors.view.name = Colors
-timechart.view.name = Time Chart
-statistics.view.name = Statistics
-events.editor.name = Events Editor
-uml2sd.view.name = Sequence Diagram
-histogram.view.name = Histogram
-ssvisualizer.view.name = State System Explorer
-callstack.view.name = Call Stack
-synchronization.view.name = Synchronization
-
-
-# Tracing wizards
-project.new.category.name = Tracing
-project.new.wizard.name = Tracing Project
-project.new.wizard.description = Create a new Tracing project
-project.new.wizard.custom.text.parser = Custom Text Parser
-project.new.wizard.custom.xml.parser = Custom XML Parser
-
-project.import.wizard.name = Trace Import
-project.import.wizard.name.tracepkg = Trace Package Import
-project.export.wizard.name.tracepkg = Trace Package Export
-
-# Project model elements
-project.model.trace_folder = Trace Folder
-project.model.experiment_folder = Trace Experiment Folder
-project.model.linked_trace = Linked Trace
-
-# Preference page
-preference.page.trace.name = Tracing
-preference.page.uml2sd.name = UML2 Sequence Diagram
-preferences.page.timestamp.format = Time Format
-
-##Commands and Menus
-
-binding.scheme = Tracing
-binding.scheme.description = Default key binding for tracing
-binding.context = Tracing
-
-## Tracing commands
-commands.category.name = Tracing
-commands.category.description = Tracing Commands
-
-## Common (re-used by multiple sub-menus)
-
-command.open = Open
-command.open.mnemonic = O
-command.open.description = Open element
-
-command.copy = Copy...
-command.copy.mnemonic = C
-command.copy.description = Copy element
-
-command.rename = Rename...
-command.rename.mnemonic = m
-command.rename.description = Rename element
-
-command.delete = Delete
-command.delete.mnemonic = D
-command.delete.description = Delete element
-
-command.clear = Clear
-command.clear.mnemonic = l
-command.clear.description = Clear element
-
-command.refresh = Refresh
-command.refresh.mnemonic = f
-command.refresh.description = Refresh project structure
-
-command.delete_suppl_files = Delete Supplementary Files...
-command.delete_suppl_files.mnemonic = S
-command.delete_suppl_files.description = Delete Supplementary Files
-
-command.select_trace_type = Select Trace Type...
-command.select_trace_type.mnemonic = T
-command.select_trace_type.description = Select a trace type
-command.select_trace_type.bundle = Bundle
-command.select_trace_type.type = Trace Type
-command.select_trace_type.icon = Icon
-
-command.export_to_text = Export To Text...
-command.export_to_text.description = Export trace to text...
-
-command.synchronize_traces = Synchronize Traces
-command.synchronize_traces.mnemonic = y
-command.synchronize_traces.description = Synchronize 2 or more traces
-
-command.offset_traces = Apply Time Offset...
-command.offset_traces.description = Shift traces by a constant time offset
-
-command.clear_offset = Clear Time Offset
-command.clear_offset.description = Clear time offset
-
-## Trace menu
-# Open, Copy, Rename, Delete, Delete Supplementary Files, Select Trace Type
-
-## Trace folder menu
-# Import, Refresh
-
-command.OpenFile.description = Opens a file
-command.OpenFile.name = Open File
-command.OpenDirectory.description = Opens a directory
-command.OpenFile.label = Open Trace...
-command.import = Import...
-command.import.mnemonic = I
-command.import.description = Import traces into project
-
-command.new_folder = New Folder...
-command.new_folder.mnemonic = N
-command.new_folder.description = Create a new trace folder
-
-## Experiment menu
-# Open, Copy, Rename, Remove, Delete Supplementary Files, Select Traces, Refresh
-
-command.select_traces = Select Traces...
-command.select_traces.mnemonic = T
-command.select_traces.description = Select Traces
-
-command.remove = Remove
-command.remove.mnemonic = v
-command.remove.description = Remove trace from experiment
-
-command.select_experiment_type = Select Experiment Type...
-command.select_experiment_type.mnemonic = E
-command.select_experiment_type.description = Select an experiment type
-
-## Experiment folder menu
-# New, Refresh
-command.new_experiment = New...
-command.new_experiment.mnemonic = N
-command.new_experiment.description = Create Tracing Experiment
-
-command.export_trace_package = Export Trace Package...
-command.export_trace_package.mnemonic = E
-command.export_trace_package.description = Export a Trace Package
-command.import_trace_package = Import Trace Package...
-command.import_trace_package.mnemonic = P
-command.import_trace_package.description = Import a Trace Package
-
-# Custom parsers
-commands.parser.category.name = Parser Commands
-commands.parser.category.description = Parser Commands
-commands.parser.manage = Manage Custom Parsers...
-commands.parser.manage.description = Manage Custom Parsers
-
-## Analysis and views
-command.analysis_help = Help
-command.analysis_help.mnemonic = H
-command.analysis_help.description = Help
-
-contenttype.trace = TMF Trace
-
-parser.provider.extension-point.name = Parser Providers
-navigatorContent.name = TMF Elements
-navigatorCommonFilter.name = State History Files
-
-contexts.uml2sd = UML2 Sequence Diagram Viewer
-commands.uml2sd.category.name = UML2 Sequence Diagram Viewer Commands
-commands.uml2sd.category.description = UML2 Sequence Diagram Viewer Commands
-
-commands.uml2sd.scrollup = Scroll up
-commands.uml2sd.scrollup.description = Scroll up the sequence diagram
-commands.uml2sd.scrolldown = Scroll down
-commands.uml2sd.scrolldown.description = Scroll down the sequence diagram
-commands.uml2sd.scrollleft = Scroll left
-commands.uml2sd.scrollleft.description = Scroll left the sequence diagram
-commands.uml2sd.scrollright = Scroll right
-commands.uml2sd.scrollright.description = Scroll right the sequence diagram
-commands.uml2sd.goto = Go to associated message
-commands.uml2sd.goto.description = Go to the associated message
-commands.uml2sd.showend = Show node end
-commands.uml2sd.showend.description = Show the node end
-commands.uml2sd.showstart = Show node start
-commands.uml2sd.showstart.description = Show the node start
-
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/plugin.xml b/lttng/org.eclipse.linuxtools.tmf.ui/plugin.xml
deleted file mode 100644
index 79e9eca3f8..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/plugin.xml
+++ /dev/null
@@ -1,1834 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.4"?>
-<plugin>
- <extension-point id="org.eclipse.linuxtools.tmf.ui.uml2SDLoader" name="%extensionpoint.sequence_diagram_loader.name" schema="schema/org.eclipse.linuxtools.tmf.ui.uml2SDLoader.exsd"/>
- <extension-point id="org.eclipse.linuxtools.tmf.ui.tracetypeui" name="%extensionpoint.trace_type_ui.name" schema="schema/org.eclipse.linuxtools.tmf.ui.tracetypeui.exsd"/>
-
- <extension
- point="org.eclipse.ui.perspectives">
- <perspective
- class="org.eclipse.linuxtools.tmf.ui.views.TracingPerspectiveFactory"
- icon="icons/eview16/tracing_pers.gif"
- id="org.eclipse.linuxtools.tmf.ui.perspective"
- name="%perspective.category.name">
- </perspective>
- </extension>
- <extension
- point="org.eclipse.ui.views">
- <category
- id="org.eclipse.linuxtools.tmf.ui.views.category"
- name="%views.category.name">
- </category>
- <view
- category="org.eclipse.linuxtools.tmf.ui.views.category"
- class="org.eclipse.linuxtools.tmf.ui.views.timechart.TimeChartView"
- icon="icons/eview16/timechart_view.gif"
- id="org.eclipse.linuxtools.tmf.ui.views.timechart"
- name="%timechart.view.name"
- restorable="true">
- </view>
- <view
- allowMultiple="false"
- category="org.eclipse.linuxtools.tmf.ui.views.category"
- class="org.eclipse.linuxtools.tmf.ui.views.statesystem.TmfStateSystemExplorer"
- icon="icons/eview16/events_view.gif"
- id="org.eclipse.linuxtools.tmf.ui.views.ssvisualizer"
- name="%ssvisualizer.view.name"
- restorable="true">
- </view>
- <view
- allowMultiple="false"
- category="org.eclipse.linuxtools.tmf.ui.views.category"
- class="org.eclipse.linuxtools.tmf.ui.views.colors.ColorsView"
- icon="icons/eview16/colors_view.gif"
- id="org.eclipse.linuxtools.tmf.ui.views.colors"
- name="%colors.view.name"
- restorable="true">
- </view>
- <view
- allowMultiple="false"
- category="org.eclipse.linuxtools.tmf.ui.views.category"
- class="org.eclipse.linuxtools.tmf.ui.views.filter.FilterView"
- icon="icons/eview16/filters_view.gif"
- id="org.eclipse.linuxtools.tmf.ui.views.filter"
- name="%filters.view.name"
- restorable="true">
- </view>
- <view
- category="org.eclipse.linuxtools.tmf.ui.views.category"
- class="org.eclipse.linuxtools.tmf.ui.views.uml2sd.SDView"
- icon="icons/eview16/sequencediagram_view.gif"
- id="org.eclipse.linuxtools.tmf.ui.tmfUml2SDSyncView"
- name="%uml2sd.view.name"
- restorable="true">
- </view>
- <view
- allowMultiple="false"
- category="org.eclipse.linuxtools.tmf.ui.views.category"
- class="org.eclipse.linuxtools.tmf.ui.views.statistics.TmfStatisticsView"
- icon="icons/eview16/statistics_view.gif"
- id="org.eclipse.linuxtools.tmf.ui.views.statistics"
- name="%statistics.view.name"
- restorable="true">
- </view>
- <view
- allowMultiple="false"
- category="org.eclipse.linuxtools.tmf.ui.views.category"
- class="org.eclipse.linuxtools.tmf.ui.views.histogram.HistogramView"
- icon="icons/eview16/histogram.gif"
- id="org.eclipse.linuxtools.tmf.ui.views.histogram"
- name="%histogram.view.name"
- restorable="true">
- </view>
- <view
- category="org.eclipse.linuxtools.tmf.ui.views.category"
- class="org.eclipse.linuxtools.tmf.ui.views.callstack.CallStackView"
- icon="icons/eview16/callstack_view.gif"
- id="org.eclipse.linuxtools.tmf.ui.views.callstack"
- name="%callstack.view.name"
- restorable="true">
- </view>
- <view
- allowMultiple="false"
- category="org.eclipse.linuxtools.tmf.ui.views.category"
- class="org.eclipse.linuxtools.tmf.ui.views.synchronization.TmfSynchronizationView"
- icon="icons/eview16/synced.gif"
- id="org.eclipse.linuxtools.tmf.ui.views.synchronization"
- name="%synchronization.view.name"
- restorable="true">
- </view>
- </extension>
- <extension
- point="org.eclipse.ui.editors">
- <editor
- class="org.eclipse.linuxtools.tmf.ui.editors.TmfEventsEditor"
- default="false"
- icon="icons/eview16/events_view.gif"
- id="org.eclipse.linuxtools.tmf.ui.editors.events"
- name="%events.editor.name">
- <contentTypeBinding
- contentTypeId="org.eclipse.linuxtools.tmf.ui.content-type.trace">
- </contentTypeBinding>
- </editor>
- </extension>
- <extension
- point="org.eclipse.ui.newWizards">
- <category
- id="org.eclipse.linuxtools.tmf.ui.wizards.new"
- name="%project.new.category.name">
- </category>
- <wizard
- category="org.eclipse.linuxtools.tmf.ui.wizards.new"
- class="org.eclipse.linuxtools.tmf.ui.project.wizards.NewTmfProjectWizard"
- icon="icons/elcl16/new_tracing_prj.gif"
- id="org.eclipse.linuxtools.tmf.ui.views.ui.wizards.newProject"
- name="%project.new.wizard.name"
- project="true">
- <description>
- %project.new.wizard.description
-
- </description>
- </wizard>
- <wizard
- category="org.eclipse.linuxtools.tmf.ui.wizards.new"
- class="org.eclipse.linuxtools.internal.tmf.ui.parsers.wizards.CustomTxtParserWizard"
- icon="icons/etool16/customparser_wizard.gif"
- id="org.eclipse.linuxtools.tmf.ui.wizards.custom.text"
- name="%project.new.wizard.custom.text.parser">
- </wizard>
- <wizard
- category="org.eclipse.linuxtools.tmf.ui.wizards.new"
- class="org.eclipse.linuxtools.internal.tmf.ui.parsers.wizards.CustomXmlParserWizard"
- icon="icons/etool16/customparser_wizard.gif"
- id="org.eclipse.linuxtools.tmf.ui.wizards.custom.xml"
- name="%project.new.wizard.custom.xml.parser">
- </wizard>
- </extension>
- <extension
- point="org.eclipse.ui.importWizards">
- <category
- id="org.eclipse.linuxtools.tmf.import.category"
- name="%project.new.category.name">
- </category>
- <wizard
- category="org.eclipse.linuxtools.tmf.import.category"
- class="org.eclipse.linuxtools.internal.tmf.ui.project.wizards.importtrace.ImportTraceWizard"
- icon="icons/etool16/import.gif"
- id="org.eclipse.linuxtools.tmf.ui.trace.import.wizard"
- name="%project.import.wizard.name">
- </wizard>
- <wizard
- category="org.eclipse.linuxtools.tmf.import.category"
- class="org.eclipse.linuxtools.internal.tmf.ui.project.wizards.tracepkg.importexport.ImportTracePackageWizard"
- icon="icons/etool16/import.gif"
- id="org.eclipse.linuxtools.tmf.ui.trace.import.package.wizard"
- name="%project.import.wizard.name.tracepkg">
- </wizard>
- </extension>
- <extension
- id="org.eclipse.linuxtools.tmf.project.nature"
- point="org.eclipse.core.resources.natures">
- <runtime>
- <run
- class="org.eclipse.linuxtools.tmf.core.TmfProjectNature">
- </run>
- </runtime>
- </extension>
- <extension
- point="org.eclipse.ui.ide.projectNatureImages">
- <image
- icon="icons/ovr16/trace_nature_ovr.gif"
- id="org.eclipse.linuxtools.tmf.ui.nature.image"
- natureId="org.eclipse.linuxtools.tmf.project.nature">
- </image>
- </extension>
- <extension
- point="org.eclipse.ui.navigator.navigatorContent">
- <navigatorContent
- activeByDefault="true"
- contentProvider="org.eclipse.linuxtools.tmf.ui.project.model.TmfNavigatorContentProvider"
- icon="icons/eview16/tracing_pers.gif"
- id="org.eclipse.linuxtools.tmf.ui.navigator.content"
- labelProvider="org.eclipse.linuxtools.tmf.ui.project.model.TmfNavigatorLabelProvider"
- name="%navigatorContent.name"
- priority="normal">
- <triggerPoints>
- <or>
- <and>
- <instanceof
- value="org.eclipse.core.resources.IProject">
- </instanceof>
- <test
- property="org.eclipse.core.resources.projectNature"
- value="org.eclipse.linuxtools.tmf.project.nature">
- </test>
- </and>
- <instanceof
- value="org.eclipse.linuxtools.tmf.ui.project.model.ITmfProjectModelElement">
- </instanceof>
- </or>
- </triggerPoints>
- <possibleChildren>
- <or>
- <instanceof
- value="org.eclipse.linuxtools.tmf.ui.project.model.ITmfProjectModelElement">
- </instanceof>
- <instanceof
- value="org.eclipse.core.resources.IResource">
- </instanceof>
- </or></possibleChildren>
- <override
- policy="InvokeAlwaysRegardlessOfSuppressedExt"
- suppressedExtensionId="org.eclipse.ui.navigator.resourceContent">
- </override>
- <actionProvider
- class="org.eclipse.linuxtools.internal.tmf.ui.project.handlers.TmfActionProvider"
- id="org.eclipse.linuxtools.tmf.ui.navigator.actions.provider">
- <enablement>
- <or>
- <instanceof
- value="org.eclipse.linuxtools.tmf.ui.project.model.ITmfProjectModelElement">
- </instanceof>
- </or>
- </enablement>
- </actionProvider>
- <dropAssistant
- class="org.eclipse.linuxtools.internal.tmf.ui.project.handlers.DropAdapterAssistant"
- id="org.eclipse.linuxtools.tmf.ui.navigator.dropAssistant">
- <possibleDropTargets>
- <or>
- <and>
- <instanceof
- value="org.eclipse.core.resources.IProject">
- </instanceof>
- <test
- property="org.eclipse.core.resources.projectNature"
- value="org.eclipse.linuxtools.tmf.project.nature">
- </test>
- </and>
- <instanceof
- value="org.eclipse.linuxtools.tmf.ui.project.model.ITmfProjectModelElement">
- </instanceof>
- </or>
- </possibleDropTargets>
- </dropAssistant>
- <commonWizard
- menuGroupId="org.eclipse.linuxtools.tmf.ui.views.ui.wizards.menuGroupId"
- type="new"
- wizardId="org.eclipse.linuxtools.tmf.ui.views.ui.wizards.newProject">
- <enablement>
- <with variable="activeWorkbenchWindow.activePerspective">
- <equals
- value="org.eclipse.linuxtools.tmf.ui.perspective">
- </equals>
- </with>
- </enablement>
- </commonWizard>
- <commonSorter
- class="org.eclipse.linuxtools.tmf.ui.project.model.TmfViewerSorter"
- id="org.eclipse.linuxtools.tmf.ui.navigator.viewerSorter">
- </commonSorter>
- </navigatorContent>
- </extension>
- <extension
- point="org.eclipse.ui.navigator.viewer">
- <viewerContentBinding
- viewerId="org.eclipse.ui.navigator.ProjectExplorer">
- <includes>
- <contentExtension
- pattern="org.eclipse.linuxtools.tmf.ui.navigator.content">
- </contentExtension>
- <contentExtension
- pattern="org.eclipse.ui.navigator.resources.filters.*">
- </contentExtension>
- <contentExtension
- pattern="org.eclipse.linuxtools.internal.tmf.ui.project.model.TmfEditorLinkHelper">
- </contentExtension>
- </includes>
- </viewerContentBinding>
- </extension>
- <extension
- point="org.eclipse.ui.decorators">
- <decorator
- icon="icons/ovr16/trace_folder_ovr.png"
- id="org.eclipse.linuxtools.tmf.ui.trace_folder.decorator"
- label="%project.model.trace_folder"
- lightweight="true"
- location="TOP_RIGHT"
- state="true">
- <enablement>
- <objectClass
- name="org.eclipse.linuxtools.tmf.ui.project.model.TmfTraceFolder">
- </objectClass>
- </enablement>
- </decorator>
- <decorator
- icon="icons/ovr16/experiment_folder_ovr.png"
- id="org.eclipse.linuxtools.tmf.ui.experiment_folder.decorator"
- label="%project.model.experiment_folder"
- lightweight="true"
- location="TOP_RIGHT"
- state="true">
- <enablement>
- <objectClass
- name="org.eclipse.linuxtools.tmf.ui.project.model.TmfExperimentFolder">
- </objectClass>
- </enablement>
- </decorator>
- <decorator
- icon="icons/ovr16/link_ovr.gif"
- id="org.eclipse.linuxtools.tmf.ui.linked_trace.decorator"
- label="%project.model.linked_trace"
- lightweight="true"
- location="BOTTOM_RIGHT"
- state="true">
- <enablement>
- <and>
- <objectClass
- name="org.eclipse.linuxtools.tmf.ui.project.model.TmfTraceElement">
- </objectClass>
- <objectState
- name="isLinked"
- value="true">
- </objectState>
- </and>
- </enablement>
- </decorator>
- </extension>
- <extension
- point="org.eclipse.ui.menus">
- <menuContribution
- allPopups="false"
- locationURI="popup:org.eclipse.ui.popup.any?after=group.open">
- <command
- commandId="org.eclipse.linuxtools.tmf.ui.openFile"
- label="%command.OpenFile.label"
- style="push">
- <visibleWhen
- checkEnabled="false">
- <with
- variable="selection">
- <count
- value="1">
- </count>
- <iterate
- operator="and">
- <instanceof
- value="org.eclipse.linuxtools.tmf.ui.project.model.TmfTraceFolder">
- </instanceof>
- </iterate>
- </with>
- </visibleWhen>
- </command>
- <command
- commandId="org.eclipse.ui.navigate.openResource"
- disabledIcon="/icons/dlcl16/open.gif"
- icon="/icons/elcl16/open.gif"
- label="%command.open"
- mnemonic="%command.open.mnemonic"
- style="push">
- <visibleWhen
- checkEnabled="false">
- <with
- variable="selection">
- <count
- value="1">
- </count>
- <iterate
- ifEmpty="false"
- operator="and">
- <or>
- <instanceof
- value="org.eclipse.linuxtools.tmf.ui.project.model.TmfTraceElement">
- </instanceof>
- <instanceof
- value="org.eclipse.linuxtools.tmf.ui.project.model.TmfExperimentElement">
- </instanceof>
- <instanceof
- value="org.eclipse.linuxtools.tmf.ui.project.model.TmfAnalysisOutputElement">
- </instanceof>
- </or>
- </iterate>
- </with>
- </visibleWhen>
- </command>
- </menuContribution>
- <menuContribution
- locationURI="popup:org.eclipse.ui.popup.any?after=additions">
- <separator
- name="org.eclipse.linuxtools.tmf.ui.separator1"
- visible="true">
- </separator>
- <command
- commandId="org.eclipse.linuxtools.tmf.ui.import"
- label="%command.import"
- mnemonic="%command.import.mnemonic"
- style="push">
- <visibleWhen
- checkEnabled="false">
- <with
- variable="selection">
- <count
- value="1">
- </count>
- <iterate
- operator="and">
- <instanceof
- value="org.eclipse.linuxtools.tmf.ui.project.model.TmfTraceFolder">
- </instanceof>
- </iterate>
- </with>
- </visibleWhen>
- </command>
- <separator
- name="org.eclipse.linuxtools.tmf.ui.separator0"
- visible="true">
- </separator>
- <command
- commandId="org.eclipse.linuxtools.tmf.ui.command.new_folder"
- icon="icons/etool16/newfolder_wiz.gif"
- label="%command.new_folder"
- mnemonic="%command.new_folder.mnemonic"
- style="push"
- tooltip="%command.new_folder.description">
- <visibleWhen
- checkEnabled="false">
- <with
- variable="selection">
- <count
- value="1">
- </count>
- <iterate
- ifEmpty="false"
- operator="or">
- <or>
- <instanceof
- value="org.eclipse.linuxtools.tmf.ui.project.model.TmfTraceFolder">
- </instanceof>
- </or>
- </iterate>
- </with>
- </visibleWhen>
- </command>
- <command
- commandId="org.eclipse.ui.edit.copy"
- disabledIcon="icons/dtool16/copy_edit.gif"
- icon="icons/etool16/copy_edit.gif"
- label="%command.copy"
- mnemonic="%command.copy.mnemonic"
- style="push">
- <visibleWhen
- checkEnabled="false">
- <and>
- <with
- variable="activePart">
- <instanceof
- value="org.eclipse.ui.navigator.CommonNavigator">
- </instanceof>
- </with>
- <count
- value="1">
- </count>
- <iterate
- ifEmpty="false"
- operator="and">
- <or>
- <instanceof
- value="org.eclipse.linuxtools.tmf.ui.project.model.TmfTraceElement">
- </instanceof>
- <instanceof
- value="org.eclipse.linuxtools.tmf.ui.project.model.TmfExperimentElement">
- </instanceof>
- </or>
- </iterate>
- </and>
- </visibleWhen>
- </command>
- <command
- commandId="org.eclipse.ui.edit.rename"
- disabledIcon="/icons/dlcl16/rename.gif"
- icon="/icons/elcl16/rename.gif"
- label="%command.rename"
- mnemonic="%command.rename.mnemonic"
- style="push">
- <visibleWhen
- checkEnabled="false">
- <with
- variable="selection">
- <count
- value="1">
- </count>
- <iterate
- ifEmpty="false"
- operator="and">
- <or>
- <instanceof
- value="org.eclipse.linuxtools.tmf.ui.project.model.TmfTraceElement">
- </instanceof>
- <instanceof
- value="org.eclipse.linuxtools.tmf.ui.project.model.TmfExperimentElement">
- </instanceof>
- <and>
- <not>
- <instanceof
- value="org.eclipse.linuxtools.tmf.ui.project.model.TmfTracesFolder">
- </instanceof>
- </not>
- <instanceof
- value="org.eclipse.linuxtools.tmf.ui.project.model.TmfTraceFolder">
- </instanceof>
- </and>
- </or>
- </iterate>
- </with>
- </visibleWhen>
- </command>
- <command
- commandId="org.eclipse.ui.edit.delete"
- disabledIcon="icons/dtool16/delete.gif"
- icon="icons/etool16/delete.gif"
- label="%command.delete"
- mnemonic="%command.delete.mnemonic"
- style="push">
- <visibleWhen
- checkEnabled="false">
- <with
- variable="selection">
- <and>
- <or>
- <iterate
- ifEmpty="false"
- operator="and">
- <instanceof
- value="org.eclipse.linuxtools.tmf.ui.project.model.TmfExperimentElement">
- </instanceof>
- </iterate>
- <iterate
- ifEmpty="false"
- operator="and">
- <or>
- <instanceof
- value="org.eclipse.linuxtools.tmf.ui.project.model.TmfTraceFolder">
- </instanceof>
- <and>
- <instanceof
- value="org.eclipse.linuxtools.tmf.ui.project.model.TmfTraceElement">
- </instanceof>
- <not>
- <test
- forcePluginActivation="true"
- property="org.eclipse.linuxtools.tmf.ui.isExperimentTrace">
- </test>
- </not>
- </and>
- </or>
- </iterate>
- </or>
- <not>
- <with
- variable="selection">
- <iterate
- ifEmpty="false"
- operator="and">
- <instanceof
- value="org.eclipse.linuxtools.tmf.ui.project.model.TmfTracesFolder">
- </instanceof>
- </iterate>
- </with>
- </not>
- </and>
- </with>
- </visibleWhen>
- </command>
- <command
- commandId="org.eclipse.ui.edit.delete"
- disabledIcon="icons/dtool16/delete.gif"
- icon="icons/etool16/delete.gif"
- label="%command.clear"
- mnemonic="%command.clear.mnemonic"
- style="push">
- <visibleWhen
- checkEnabled="false">
- <with
- variable="selection">
- <iterate
- ifEmpty="false"
- operator="and">
- <instanceof
- value="org.eclipse.linuxtools.tmf.ui.project.model.TmfTracesFolder">
- </instanceof>
- </iterate>
- </with>
- </visibleWhen>
- </command>
- <command
- commandId="org.eclipse.ui.edit.delete"
- disabledIcon="icons/dtool16/delete.gif"
- icon="icons/etool16/delete.gif"
- label="%command.remove"
- mnemonic="%command.remove.mnemonic"
- style="push">
- <visibleWhen
- checkEnabled="false">
- <with
- variable="selection">
- <iterate
- ifEmpty="false"
- operator="and">
- <and>
- <instanceof
- value="org.eclipse.linuxtools.tmf.ui.project.model.TmfTraceElement">
- </instanceof>
- <test
- forcePluginActivation="true"
- property="org.eclipse.linuxtools.tmf.ui.isExperimentTrace">
- </test>
- </and>
- </iterate>
- </with>
- </visibleWhen>
- </command>
- <separator
- name="org.eclipse.linuxtools.tmf.ui.separator2"
- visible="true">
- </separator>
- <command
- commandId="org.eclipse.linuxtools.tmf.ui.command.new_experiment"
- disabledIcon="icons/dtool16/new.gif"
- icon="icons/etool16/new.gif"
- label="%command.new_experiment"
- mnemonic="%command.new_experiment.mnemonic"
- style="push"
- tooltip="%command.new_experiment.description">
- <visibleWhen
- checkEnabled="false">
- <with
- variable="selection">
- <count
- value="1">
- </count>
- <iterate
- ifEmpty="false"
- operator="and">
- <instanceof
- value="org.eclipse.linuxtools.tmf.ui.project.model.TmfExperimentFolder">
- </instanceof>
- </iterate>
- </with>
- </visibleWhen>
- </command>
- <command
- commandId="org.eclipse.linuxtools.tmf.ui.command.delete_suppl_files"
- label="%command.delete_suppl_files"
- mnemonic="%command.delete_suppl_files.mnemonic"
- style="push"
- tooltip="%command.delete_suppl_files.description">
- <visibleWhen
- checkEnabled="false">
- <with
- variable="selection">
- <and>
- <iterate
- ifEmpty="false"
- operator="and">
- <or>
- <instanceof
- value="org.eclipse.linuxtools.tmf.ui.project.model.TmfTraceElement">
- </instanceof>
- <instanceof
- value="org.eclipse.linuxtools.tmf.ui.project.model.TmfExperimentElement">
- </instanceof>
- </or>
- </iterate>
- <iterate
- ifEmpty="false"
- operator="or">
- <test
- forcePluginActivation="true"
- property="org.eclipse.linuxtools.tmf.ui.hasSupplementaryFiles">
- </test>
- </iterate>
- </and>
- </with>
- </visibleWhen>
- </command>
- <command
- commandId="org.eclipse.linuxtools.tmf.ui.command.importtracepkg"
- label="%command.import_trace_package"
- mnemonic="%command.import_trace_package.mnemonic"
- style="push"
- tooltip="%command.import_trace_package.description">
- <visibleWhen
- checkEnabled="false">
- <with
- variable="selection">
- <and>
- <count
- value="1">
- </count>
- <iterate
- ifEmpty="false"
- operator="and">
- <instanceof
- value="org.eclipse.linuxtools.tmf.ui.project.model.TmfTraceFolder">
- </instanceof>
- </iterate>
- </and>
- </with>
- </visibleWhen>
- </command>
- <separator
- name="org.eclipse.linuxtools.tmf.ui.export.separator"
- visible="true">
- </separator>
- <command
- commandId="org.eclipse.linuxtools.tmf.ui.command.exporttracepkg"
- icon="icons/etool16/export.gif"
- label="%command.export_trace_package"
- mnemonic="%command.export_trace_package.mnemonic"
- style="push"
- tooltip="%command.export_trace_package.description">
- <visibleWhen
- checkEnabled="false">
- <with
- variable="selection">
- <or>
- <iterate
- ifEmpty="false"
- operator="and">
- <instanceof
- value="org.eclipse.linuxtools.tmf.ui.project.model.TmfTraceElement">
- </instanceof>
- </iterate>
- <and>
- <count
- value="1">
- </count>
- <iterate
- operator="and">
- <instanceof
- value="org.eclipse.linuxtools.tmf.ui.project.model.TmfTraceFolder">
- </instanceof>
- </iterate>
- </and>
- </or>
- </with>
- </visibleWhen>
- </command>
- <separator
- name="org.eclipse.linuxtools.tmf.ui.separator3"
- visible="true">
- </separator>
- <command
- commandId="org.eclipse.linuxtools.tmf.ui.command.managecustomparsers"
- icon="icons/etool16/customparser_wizard.gif"
- id="org.eclipse.linuxtools.tmf.ui.menu.managecustomparsers"
- style="push">
- <visibleWhen
- checkEnabled="false">
- <with
- variable="selection">
- <count
- value="1">
- </count>
- <iterate
- operator="and">
- <instanceof
- value="org.eclipse.linuxtools.tmf.ui.project.model.TmfTraceFolder">
- </instanceof>
- </iterate>
- </with>
- </visibleWhen>
- </command>
- <menu
- label="%command.select_trace_type"
- mnemonic="%command.select_trace_type.mnemonic"
- tooltip="%command.select_trace_type.description">
- <dynamic
- class="org.eclipse.linuxtools.internal.tmf.ui.project.handlers.SelectElementTypeContributionItem"
- id="org.eclipse.linuxtools.tmf.ui.command.select_trace_type.dynamic">
- </dynamic>
- <separator
- name="org.eclipse.linuxtools.tmf.ui.separator6"
- visible="true">
- </separator>
- <command
- commandId="org.eclipse.linuxtools.tmf.ui.command.managecustomparsers"
- icon="icons/etool16/customparser_wizard.gif"
- style="push">
- </command>
- <visibleWhen
- checkEnabled="false">
- <with
- variable="selection">
- <iterate
- ifEmpty="false"
- operator="and">
- <instanceof
- value="org.eclipse.linuxtools.tmf.ui.project.model.TmfTraceElement">
- </instanceof>
- </iterate>
- </with>
- </visibleWhen>
- </menu>
- <menu
- label="%command.select_experiment_type"
- mnemonic="%command.select_experiment_type.mnemonic"
- tooltip="%command.select_experiment_type.description">
- <dynamic
- class="org.eclipse.linuxtools.internal.tmf.ui.project.handlers.SelectElementTypeContributionItem"
- id="org.eclipse.linuxtools.tmf.ui.command.select_trace_type.dynamic">
- </dynamic>
- <visibleWhen
- checkEnabled="false">
- <with
- variable="selection">
- <iterate
- ifEmpty="false"
- operator="and">
- <instanceof
- value="org.eclipse.linuxtools.tmf.ui.project.model.TmfExperimentElement">
- </instanceof>
- </iterate>
- </with>
- </visibleWhen>
- </menu>
- <separator
- name="org.eclipse.linuxtools.tmf.ui.separator4"
- visible="true">
- </separator>
- <command
- commandId="org.eclipse.linuxtools.tmf.ui.command.select_traces"
- icon="icons/obj16/add_obj.gif"
- label="%command.select_traces"
- mnemonic="%command.select_traces.mnemonic"
- style="push"
- tooltip="%command.select_traces.description">
- <visibleWhen
- checkEnabled="false">
- <with
- variable="selection">
- <count
- value="1">
- </count>
- <iterate
- ifEmpty="false"
- operator="and">
- <instanceof
- value="org.eclipse.linuxtools.tmf.ui.project.model.TmfExperimentElement">
- </instanceof>
- </iterate>
- </with>
- </visibleWhen>
- </command>
- <command
- commandId="org.eclipse.linuxtools.tmf.ui.command.synchronize_traces"
- icon="icons/obj16/add_obj.gif"
- label="%command.synchronize_traces"
- mnemonic="%command.synchronize_traces.mnemonic"
- style="push"
- tooltip="%command.synchronize_traces.description">
- <visibleWhen
- checkEnabled="false">
- <with
- variable="selection">
- <count
- value="1">
- </count>
- <iterate
- ifEmpty="false"
- operator="and">
- <instanceof
- value="org.eclipse.linuxtools.tmf.ui.project.model.TmfExperimentElement">
- </instanceof>
- </iterate>
- </with>
- </visibleWhen>
- </command>
- <command
- commandId="org.eclipse.linuxtools.tmf.ui.command.offset_traces"
- label="%command.offset_traces"
- style="push"
- tooltip="%command.offset_traces.description">
- <visibleWhen
- checkEnabled="true">
- </visibleWhen>
- </command>
- <command
- commandId="org.eclipse.linuxtools.tmf.ui.command.clear_offset"
- label="%command.clear_offset"
- style="push"
- tooltip="%command.clear_offset.description">
- <visibleWhen
- checkEnabled="true">
- </visibleWhen>
- </command>
- <separator
- name="org.eclipse.linuxtools.tmf.ui.separator5"
- visible="true">
- </separator>
- <command
- commandId="org.eclipse.ui.file.refresh"
- label="%command.refresh"
- mnemonic="%command.refresh.mnemonic"
- style="push">
- <visibleWhen
- checkEnabled="false">
- <with
- variable="selection">
- <count
- value="1">
- </count>
- <iterate
- ifEmpty="false"
- operator="and">
- <or>
- <instanceof
- value="org.eclipse.linuxtools.tmf.ui.project.model.TmfTraceFolder">
- </instanceof>
- <instanceof
- value="org.eclipse.linuxtools.tmf.ui.project.model.TmfExperimentFolder">
- </instanceof>
- <instanceof
- value="org.eclipse.linuxtools.tmf.ui.project.model.TmfExperimentElement">
- </instanceof>
- </or>
- </iterate>
- </with>
- </visibleWhen>
- </command>
- <command
- commandId="org.eclipse.linuxtools.tmf.ui.command.analysis_help"
- icon="icons/dlcl16/open.gif"
- label="%command.analysis_help"
- mnemonic="%command.analysis_help.mnemonic"
- style="push"
- tooltip="%command.analysis_help.description">
- <visibleWhen
- checkEnabled="false">
- <with
- variable="selection">
- <count
- value="1">
- </count>
- <iterate
- ifEmpty="false"
- operator="and">
- <instanceof
- value="org.eclipse.linuxtools.tmf.ui.project.model.TmfAnalysisElement">
- </instanceof>
- </iterate>
- </with>
- </visibleWhen>
- </command>
- </menuContribution>
- <menuContribution
- allPopups="false"
- locationURI="toolbar:org.eclipse.linuxtools.tmf.ui.views.filter?after=add_delete">
- <command
- commandId="org.eclipse.ui.edit.delete"
- style="push">
- </command>
- </menuContribution>
- <menuContribution
- allPopups="false"
- locationURI="toolbar:org.eclipse.linuxtools.tmf.ui.views.filter?after=edit">
- <command
- commandId="org.eclipse.ui.edit.cut"
- style="push">
- </command>
- </menuContribution>
- <menuContribution
- allPopups="false"
- locationURI="toolbar:org.eclipse.linuxtools.tmf.ui.views.filter?after=edit">
- <command
- commandId="org.eclipse.ui.edit.copy"
- style="push">
- </command>
- </menuContribution>
- <menuContribution
- allPopups="false"
- locationURI="toolbar:org.eclipse.linuxtools.tmf.ui.views.filter?after=edit">
- <command
- commandId="org.eclipse.ui.edit.paste"
- style="push">
- </command>
- </menuContribution>
- <menuContribution
- allPopups="false"
- locationURI="popup:org.eclipse.linuxtools.tmf.ui.views.filter?after=delete">
- <command
- commandId="org.eclipse.ui.edit.delete"
- style="push">
- </command>
- </menuContribution>
- <menuContribution
- allPopups="false"
- locationURI="popup:org.eclipse.linuxtools.tmf.ui.views.filter?after=edit">
- <command
- commandId="org.eclipse.ui.edit.paste"
- style="push">
- </command>
- </menuContribution>
- <menuContribution
- allPopups="false"
- locationURI="popup:org.eclipse.linuxtools.tmf.ui.views.filter?after=edit">
- <command
- commandId="org.eclipse.ui.edit.copy"
- style="push">
- </command>
- </menuContribution>
- <menuContribution
- allPopups="false"
- locationURI="popup:org.eclipse.linuxtools.tmf.ui.views.filter?after=edit">
- <command
- commandId="org.eclipse.ui.edit.cut"
- style="push">
- </command>
- </menuContribution>
- </extension>
- <extension
- point="org.eclipse.ui.commands">
- <category
- description="%commands.category.description"
- id="org.eclipse.linuxtools.tmf.ui.commands.category"
- name="%commands.category.name">
- </category>
- <command
- categoryId="org.eclipse.linuxtools.tmf.ui.commands.category"
- description="%command.new_folder.description"
- id="org.eclipse.linuxtools.tmf.ui.command.new_folder"
- name="%command.new_folder">
- </command>
- <command
- categoryId="org.eclipse.linuxtools.tmf.ui.commands.category"
- description="%command.new_experiment.description"
- id="org.eclipse.linuxtools.tmf.ui.command.new_experiment"
- name="%command.new_experiment">
- </command>
- <command
- categoryId="org.eclipse.linuxtools.tmf.ui.commands.category"
- description="%command.analysis_help.description"
- id="org.eclipse.linuxtools.tmf.ui.command.analysis_help"
- name="%command.analysis_help">
- </command>
- <command
- categoryId="org.eclipse.linuxtools.tmf.ui.commands.category"
- description="%command.select_trace_type.description"
- id="org.eclipse.linuxtools.tmf.ui.command.select_trace_type"
- name="%command.select_trace_type">
- <commandParameter
- id="org.eclipse.linuxtools.tmf.ui.commandparameter.select_trace_type.bundle"
- name="%command.select_trace_type.bundle"
- optional="false">
- </commandParameter>
- <commandParameter
- id="org.eclipse.linuxtools.tmf.ui.commandparameter.select_trace_type.type"
- name="%command.select_trace_type.type"
- optional="false">
- </commandParameter>
- <commandParameter
- id="org.eclipse.linuxtools.tmf.ui.commandparameter.select_trace_type.icon"
- name="%command.select_trace_type.icon"
- optional="false">
- </commandParameter>
- </command>
- <command
- categoryId="org.eclipse.linuxtools.tmf.ui.commands.category"
- id="org.eclipse.linuxtools.tmf.ui.command.delete_suppl_files"
- name="%command.delete_suppl_files">
- </command>
- <command
- categoryId="org.eclipse.linuxtools.tmf.ui.commands.category"
- id="org.eclipse.linuxtools.tmf.ui.command.exporttracepkg"
- name="%command.export_trace_package">
- </command>
- <command
- categoryId="org.eclipse.linuxtools.tmf.ui.commands.category"
- id="org.eclipse.linuxtools.tmf.ui.command.importtracepkg"
- name="%command.import_trace_package">
- </command>
- <command
- categoryId="org.eclipse.linuxtools.tmf.ui.commands.category"
- description="%command.select_traces.description"
- id="org.eclipse.linuxtools.tmf.ui.command.select_traces"
- name="%command.select_traces">
- </command>
- <command
- categoryId="org.eclipse.linuxtools.tmf.ui.commands.category"
- description="%command.synchronize_traces.description"
- id="org.eclipse.linuxtools.tmf.ui.command.synchronize_traces"
- name="%command.synchronize_traces">
- </command>
- <category
- description="%commands.parser.category.description"
- id="org.eclipse.linuxtools.tmf.ui.commands.parser.category"
- name="%commands.parser.category.name">
- </category>
- <command
- categoryId="org.eclipse.linuxtools.tmf.ui.commands.parser.category"
- description="%commands.parser.manage.description"
- id="org.eclipse.linuxtools.tmf.ui.command.managecustomparsers"
- name="%commands.parser.manage">
- </command>
- <category
- description="%commands.uml2sd.category.name"
- id="org.eclipse.linuxtools.tmf.ui.views.uml2sd.category"
- name="%commands.uml2sd.category.name">
- </category>
- <command
- categoryId="org.eclipse.linuxtools.tmf.ui.views.uml2sd.category"
- description="%commands.uml2sd.goto.description"
- id="org.eclipse.linuxtools.tmf.ui.views.uml2sd.handlers.GoToMessage"
- name="%commands.uml2sd.goto">
- </command>
- <command
- categoryId="org.eclipse.linuxtools.tmf.ui.views.uml2sd.category"
- description="%commands.uml2sd.showend.description"
- id="org.eclipse.linuxtools.tmf.ui.views.uml2sd.handlers.ShowNodeEnd"
- name="%commands.uml2sd.showend">
- </command>
- <command
- categoryId="org.eclipse.linuxtools.tmf.ui.views.uml2sd.category"
- description="%commands.uml2sd.showstart.description"
- id="org.eclipse.linuxtools.tmf.ui.views.uml2sd.handlers.ShowNodeStart"
- name="%commands.uml2sd.showstart">
- </command>
- <command
- categoryId="org.eclipse.linuxtools.tmf.ui.views.uml2sd.category"
- description="%commands.uml2sd.scrollup.description"
- id="org.eclipse.linuxtools.tmf.ui.views.uml2sd.handlers.MoveSDUp"
- name="%commands.uml2sd.scrollup">
- </command>
- <command
- categoryId="org.eclipse.linuxtools.tmf.ui.views.uml2sd.category"
- description="%commands.uml2sd.scrolldown.description"
- id="org.eclipse.linuxtools.tmf.ui.views.uml2sd.handlers.MoveSDDown"
- name="%commands.uml2sd.scrolldown">
- </command>
- <command
- categoryId="org.eclipse.linuxtools.tmf.ui.views.uml2sd.category"
- description="%commands.uml2sd.scrollleft.description"
- id="org.eclipse.linuxtools.tmf.ui.views.uml2sd.handlers.MoveSDLeft"
- name="%commands.uml2sd.scrollleft">
- </command>
- <command
- categoryId="org.eclipse.linuxtools.tmf.ui.views.uml2sd.category"
- description="%commands.uml2sd.scrollright.description"
- id="org.eclipse.linuxtools.tmf.ui.views.uml2sd.handlers.MoveSDRight"
- name="%commands.uml2sd.scrollright">
- </command>
- <command
- description="%command.import.description"
- id="org.eclipse.linuxtools.tmf.ui.import"
- name="%command.import">
- </command>
- <command
- categoryId="org.eclipse.linuxtools.tmf.ui.commands.category"
- description="%command.export_to_text.description"
- id="org.eclipse.linuxtools.tmf.ui.exportToText"
- name="%command.export_to_text">
- </command>
- <command
- categoryId="org.eclipse.ui.category.file"
- defaultHandler="org.eclipse.linuxtools.internal.tmf.ui.commands.OpenFileHandler"
- description="%command.OpenFile.description"
- id="org.eclipse.linuxtools.tmf.ui.openFile"
- name="%command.OpenFile.name">
- </command>
- <command
- categoryId="org.eclipse.linuxtools.tmf.ui.commands.category"
- description="%command.offset_traces.description"
- id="org.eclipse.linuxtools.tmf.ui.command.offset_traces"
- name="%command.offset_traces">
- </command>
- <command
- categoryId="org.eclipse.linuxtools.tmf.ui.commands.category"
- description="%command.clear_offset.description"
- id="org.eclipse.linuxtools.tmf.ui.command.clear_offset"
- name="%command.clear_offset">
- </command>
- </extension>
- <extension
- point="org.eclipse.ui.handlers">
- <handler
- class="org.eclipse.linuxtools.internal.tmf.ui.project.handlers.ImportTraceHandler"
- commandId="org.eclipse.linuxtools.tmf.ui.import">
- </handler>
- <handler
- class="org.eclipse.linuxtools.internal.tmf.ui.project.handlers.RefreshHandler"
- commandId="org.eclipse.ui.file.refresh">
- <activeWhen>
- <and>
- <count
- value="1">
- </count>
- <iterate
- ifEmpty="false"
- operator="and">
- <or>
- <instanceof
- value="org.eclipse.linuxtools.tmf.ui.project.model.TmfTraceFolder">
- </instanceof>
- <instanceof
- value="org.eclipse.linuxtools.tmf.ui.project.model.TmfExperimentFolder">
- </instanceof>
- <instanceof
- value="org.eclipse.linuxtools.tmf.ui.project.model.TmfExperimentElement">
- </instanceof>
- </or>
- </iterate>
- </and>
- </activeWhen>
- </handler>
- <handler
- class="org.eclipse.linuxtools.internal.tmf.ui.project.handlers.OpenTraceHandler"
- commandId="org.eclipse.ui.navigate.openResource">
- <activeWhen>
- <and>
- <count
- value="1">
- </count>
- <iterate
- operator="and">
- <instanceof
- value="org.eclipse.linuxtools.tmf.ui.project.model.TmfTraceElement">
- </instanceof>
- </iterate>
- </and>
- </activeWhen>
- </handler>
- <handler
- class="org.eclipse.linuxtools.internal.tmf.ui.project.handlers.OpenExperimentHandler"
- commandId="org.eclipse.ui.navigate.openResource">
- <activeWhen>
- <and>
- <count
- value="1">
- </count>
- <iterate
- operator="and">
- <instanceof
- value="org.eclipse.linuxtools.tmf.ui.project.model.TmfExperimentElement">
- </instanceof>
- </iterate>
- </and>
- </activeWhen>
- </handler>
- <handler
- class="org.eclipse.linuxtools.internal.tmf.ui.project.handlers.OpenAnalysisHelpHandler"
- commandId="org.eclipse.linuxtools.tmf.ui.command.analysis_help">
- <activeWhen>
- <and>
- <count
- value="1">
- </count>
- <iterate
- operator="and">
- <instanceof
- value="org.eclipse.linuxtools.tmf.ui.project.model.TmfAnalysisElement">
- </instanceof>
- </iterate>
- </and>
- </activeWhen>
- </handler>
- <handler
- class="org.eclipse.linuxtools.internal.tmf.ui.project.handlers.OpenAnalysisOutputHandler"
- commandId="org.eclipse.ui.navigate.openResource">
- <activeWhen>
- <and>
- <count
- value="1">
- </count>
- <iterate
- operator="and">
- <instanceof
- value="org.eclipse.linuxtools.tmf.ui.project.model.TmfAnalysisOutputElement">
- </instanceof>
- </iterate>
- </and>
- </activeWhen>
- </handler>
- <handler
- class="org.eclipse.linuxtools.internal.tmf.ui.project.handlers.CopyTraceHandler"
- commandId="org.eclipse.ui.edit.copy">
- <activeWhen>
- <and>
- <with
- variable="activePart">
- <instanceof
- value="org.eclipse.ui.navigator.CommonNavigator">
- </instanceof>
- </with>
- <count
- value="1">
- </count>
- <iterate
- operator="and">
- <instanceof
- value="org.eclipse.linuxtools.tmf.ui.project.model.TmfTraceElement">
- </instanceof>
- <not>
- <test
- forcePluginActivation="true"
- property="org.eclipse.linuxtools.tmf.ui.isExperimentTrace">
- </test>
- </not>
- </iterate>
- </and>
- </activeWhen>
- </handler>
- <handler
- class="org.eclipse.linuxtools.internal.tmf.ui.project.handlers.CopyExperimentHandler"
- commandId="org.eclipse.ui.edit.copy">
- <activeWhen>
- <and>
- <with
- variable="activePart">
- <instanceof
- value="org.eclipse.ui.navigator.CommonNavigator">
- </instanceof>
- </with>
- <count
- value="1">
- </count>
- <iterate
- operator="and">
- <instanceof
- value="org.eclipse.linuxtools.tmf.ui.project.model.TmfExperimentElement">
- </instanceof>
- </iterate>
- </and>
- </activeWhen>
- </handler>
- <handler
- class="org.eclipse.linuxtools.internal.tmf.ui.project.handlers.RenameTraceHandler"
- commandId="org.eclipse.ui.edit.rename">
- <activeWhen>
- <and>
- <count
- value="1">
- </count>
- <iterate
- operator="and">
- <instanceof
- value="org.eclipse.linuxtools.tmf.ui.project.model.TmfTraceElement">
- </instanceof>
- </iterate>
- </and>
- </activeWhen>
- </handler>
- <handler
- class="org.eclipse.linuxtools.internal.tmf.ui.project.handlers.RenameExperimentHandler"
- commandId="org.eclipse.ui.edit.rename">
- <activeWhen>
- <and>
- <count
- value="1">
- </count>
- <iterate
- operator="and">
- <instanceof
- value="org.eclipse.linuxtools.tmf.ui.project.model.TmfExperimentElement">
- </instanceof>
- </iterate>
- </and>
- </activeWhen>
- </handler>
- <handler
- class="org.eclipse.linuxtools.internal.tmf.ui.project.handlers.RenameFolderHandler"
- commandId="org.eclipse.ui.edit.rename">
- <activeWhen>
- <and>
- <count
- value="1">
- </count>
- <iterate
- operator="and">
- <and>
- <not>
- <instanceof
- value="org.eclipse.linuxtools.tmf.ui.project.model.TmfTracesFolder">
- </instanceof>
- </not>
- <instanceof
- value="org.eclipse.linuxtools.tmf.ui.project.model.TmfTraceFolder">
- </instanceof>
- </and>
- </iterate>
- </and>
- </activeWhen>
- </handler>
- <handler
- class="org.eclipse.linuxtools.internal.tmf.ui.project.handlers.DeleteExperimentHandler"
- commandId="org.eclipse.ui.edit.delete">
- <activeWhen>
- <iterate
- ifEmpty="false"
- operator="and">
- <instanceof
- value="org.eclipse.linuxtools.tmf.ui.project.model.TmfExperimentElement">
- </instanceof>
- </iterate>
- </activeWhen>
- </handler>
- <handler
- class="org.eclipse.linuxtools.internal.tmf.ui.project.handlers.DeleteTraceFolderElementHandler"
- commandId="org.eclipse.ui.edit.delete">
- <activeWhen>
- <iterate
- ifEmpty="false"
- operator="and">
- <or>
- <instanceof
- value="org.eclipse.linuxtools.tmf.ui.project.model.TmfTraceElement">
- </instanceof>
- <instanceof
- value="org.eclipse.linuxtools.tmf.ui.project.model.TmfTraceFolder">
- </instanceof>
- </or>
- </iterate>
- </activeWhen>
- </handler>
- <handler
- class="org.eclipse.linuxtools.internal.tmf.ui.project.handlers.NewFolderHandler"
- commandId="org.eclipse.linuxtools.tmf.ui.command.new_folder">
- <activeWhen>
- <and>
- <count
- value="1">
- </count>
- <iterate
- ifEmpty="false"
- operator="or">
- <instanceof
- value="org.eclipse.linuxtools.tmf.ui.project.model.TmfTraceFolder">
- </instanceof>
- </iterate>
- </and>
- </activeWhen>
- </handler>
- <handler
- class="org.eclipse.linuxtools.internal.tmf.ui.project.handlers.DeleteTraceSupplementaryFilesHandler"
- commandId="org.eclipse.linuxtools.tmf.ui.command.delete_suppl_files">
- </handler>
- <handler
- class="org.eclipse.linuxtools.internal.tmf.ui.project.wizards.tracepkg.importexport.ExportTracePackageHandler"
- commandId="org.eclipse.linuxtools.tmf.ui.command.exporttracepkg">
- </handler>
- <handler
- class="org.eclipse.linuxtools.internal.tmf.ui.project.wizards.tracepkg.importexport.ImportTracePackageHandler"
- commandId="org.eclipse.linuxtools.tmf.ui.command.importtracepkg">
- <activeWhen>
- <and>
- <count
- value="1">
- </count>
- <iterate
- operator="and">
- <instanceof
- value="org.eclipse.linuxtools.tmf.ui.project.model.TmfTraceFolder">
- </instanceof>
- </iterate>
- </and>
- </activeWhen>
- </handler>
- <handler
- class="org.eclipse.linuxtools.internal.tmf.ui.project.handlers.NewExperimentHandler"
- commandId="org.eclipse.linuxtools.tmf.ui.command.new_experiment">
- <activeWhen>
- <and>
- <count
- value="1">
- </count>
- <iterate
- operator="and">
- <instanceof
- value="org.eclipse.linuxtools.tmf.ui.project.model.TmfExperimentFolder">
- </instanceof>
- </iterate>
- </and>
- </activeWhen>
- </handler>
- <handler
- class="org.eclipse.linuxtools.internal.tmf.ui.project.handlers.SelectTraceTypeHandler"
- commandId="org.eclipse.linuxtools.tmf.ui.command.select_trace_type">
- <activeWhen>
- <iterate
- ifEmpty="false"
- operator="and">
- <or>
- <instanceof
- value="org.eclipse.linuxtools.tmf.ui.project.model.TmfTraceElement">
- </instanceof>
- <instanceof
- value="org.eclipse.linuxtools.tmf.ui.project.model.TmfExperimentElement">
- </instanceof>
- </or>
- </iterate>
- </activeWhen>
- </handler>
- <handler
- class="org.eclipse.linuxtools.internal.tmf.ui.project.handlers.SelectTracesHandler"
- commandId="org.eclipse.linuxtools.tmf.ui.command.select_traces">
- <activeWhen>
- <and>
- <count
- value="1">
- </count>
- <iterate
- operator="and">
- <instanceof
- value="org.eclipse.linuxtools.tmf.ui.project.model.TmfExperimentElement">
- </instanceof>
- </iterate>
- </and>
- </activeWhen>
- </handler>
- <handler
- class="org.eclipse.linuxtools.internal.tmf.ui.project.handlers.SynchronizeTracesHandler"
- commandId="org.eclipse.linuxtools.tmf.ui.command.synchronize_traces">
- <activeWhen>
- <and>
- <count
- value="1">
- </count>
- <iterate
- operator="and">
- <instanceof
- value="org.eclipse.linuxtools.tmf.ui.project.model.TmfExperimentElement">
- </instanceof>
- </iterate>
- </and>
- </activeWhen>
- </handler>
- <handler
- class="org.eclipse.linuxtools.internal.tmf.ui.commands.ManageCustomParsersCommandHandler"
- commandId="org.eclipse.linuxtools.tmf.ui.command.managecustomparsers">
- </handler>
- <handler
- class="org.eclipse.linuxtools.internal.tmf.ui.editors.handlers.AddBookmarkHandler"
- commandId="org.eclipse.ui.edit.addBookmark">
- <activeWhen>
- <and>
- <with
- variable="activePart">
- <instanceof
- value="org.eclipse.linuxtools.tmf.ui.editors.TmfEventsEditor">
- </instanceof>
- </with>
- <count
- value="1">
- </count>
- <iterate
- ifEmpty="false"
- operator="and">
- <instanceof
- value="org.eclipse.linuxtools.tmf.core.event.ITmfEvent">
- </instanceof>
- </iterate>
- </and>
- </activeWhen>
- </handler>
- <handler
- class="org.eclipse.linuxtools.internal.tmf.ui.commands.ExportToTextCommandHandler"
- commandId="org.eclipse.linuxtools.tmf.ui.exportToText">
- </handler>
- <handler
- class="org.eclipse.linuxtools.tmf.ui.views.filter.CopyHandler"
- commandId="org.eclipse.ui.edit.copy">
- <activeWhen>
- <with
- variable="activePart">
- <instanceof
- value="org.eclipse.linuxtools.tmf.ui.views.filter.FilterView">
- </instanceof>
- </with>
- </activeWhen>
- </handler>
- <handler
- class="org.eclipse.linuxtools.tmf.ui.views.filter.PasteHandler"
- commandId="org.eclipse.ui.edit.paste">
- <activeWhen>
- <with
- variable="activePart">
- <instanceof
- value="org.eclipse.linuxtools.tmf.ui.views.filter.FilterView">
- </instanceof>
- </with>
- </activeWhen>
- </handler>
- <handler
- class="org.eclipse.linuxtools.tmf.ui.views.filter.CutHandler"
- commandId="org.eclipse.ui.edit.cut">
- <activeWhen>
- <with
- variable="activePart">
- <instanceof
- value="org.eclipse.linuxtools.tmf.ui.views.filter.FilterView">
- </instanceof>
- </with>
- </activeWhen>
- </handler>
- <handler
- class="org.eclipse.linuxtools.tmf.ui.views.filter.DeleteHandler"
- commandId="org.eclipse.ui.edit.delete">
- <activeWhen>
- <with
- variable="activePart">
- <instanceof
- value="org.eclipse.linuxtools.tmf.ui.views.filter.FilterView">
- </instanceof>
- </with>
- </activeWhen>
- </handler>
- <handler
- class="org.eclipse.linuxtools.internal.tmf.ui.project.handlers.OffsetTraceHandler"
- commandId="org.eclipse.linuxtools.tmf.ui.command.offset_traces">
- <activeWhen>
- <with
- variable="selection">
- <iterate
- ifEmpty="false"
- operator="and">
- <or>
- <instanceof
- value="org.eclipse.linuxtools.tmf.ui.project.model.TmfTraceElement">
- </instanceof>
- <instanceof
- value="org.eclipse.linuxtools.tmf.ui.project.model.TmfExperimentElement">
- </instanceof>
- <instanceof
- value="org.eclipse.linuxtools.tmf.ui.project.model.TmfTraceFolder">
- </instanceof>
- </or>
- </iterate>
- </with>
- </activeWhen>
- </handler>
- <handler
- class="org.eclipse.linuxtools.internal.tmf.ui.project.handlers.ClearTraceOffsetHandler"
- commandId="org.eclipse.linuxtools.tmf.ui.command.clear_offset">
- <activeWhen>
- <with
- variable="selection">
- <iterate
- ifEmpty="false"
- operator="and">
- <or>
- <instanceof
- value="org.eclipse.linuxtools.tmf.ui.project.model.TmfTraceElement">
- </instanceof>
- <instanceof
- value="org.eclipse.linuxtools.tmf.ui.project.model.TmfExperimentElement">
- </instanceof>
- <instanceof
- value="org.eclipse.linuxtools.tmf.ui.project.model.TmfTraceFolder">
- </instanceof>
- </or>
- </iterate>
- </with>
- </activeWhen>
- </handler>
- </extension>
- <extension point="org.eclipse.ui.bindings">
- <key
- sequence="ALT+R"
- contextId="org.eclipse.linuxtools.tmf.ui.view.uml2sd.context"
- commandId="org.eclipse.linuxtools.tmf.ui.views.uml2sd.handlers.GoToMessage"
- schemeId="org.eclipse.ui.defaultAcceleratorConfiguration">
- </key>
- <key
- sequence="SHIFT+ALT+END"
- contextId="org.eclipse.linuxtools.tmf.ui.view.uml2sd.context"
- commandId="org.eclipse.linuxtools.tmf.ui.views.uml2sd.handlers.ShowNodeEnd"
- schemeId="org.eclipse.ui.defaultAcceleratorConfiguration">
- </key>
- <key
- sequence="SHIFT+ALT+HOME"
- contextId="org.eclipse.linuxtools.tmf.ui.view.uml2sd.context"
- commandId="org.eclipse.linuxtools.tmf.ui.views.uml2sd.handlers.ShowNodeStart"
- schemeId="org.eclipse.ui.defaultAcceleratorConfiguration">
- </key>
- <key
- sequence="SHIFT+ALT+ARROW_UP"
- contextId="org.eclipse.linuxtools.tmf.ui.view.uml2sd.context"
- commandId="org.eclipse.linuxtools.tmf.ui.views.uml2sd.handlers.MoveSDUp"
- schemeId="org.eclipse.ui.defaultAcceleratorConfiguration">
- </key>
- <key
- sequence="SHIFT+ALT+ARROW_DOWN"
- contextId="org.eclipse.linuxtools.tmf.ui.view.uml2sd.context"
- commandId="org.eclipse.linuxtools.tmf.ui.views.uml2sd.handlers.MoveSDDown"
- schemeId="org.eclipse.ui.defaultAcceleratorConfiguration">
- </key>
- <key
- sequence="SHIFT+ALT+ARROW_LEFT"
- contextId="org.eclipse.linuxtools.tmf.ui.view.uml2sd.context"
- commandId="org.eclipse.linuxtools.tmf.ui.views.uml2sd.handlers.MoveSDLeft"
- schemeId="org.eclipse.ui.defaultAcceleratorConfiguration">
- </key>
- <key
- sequence="SHIFT+ALT+ARROW_RIGHT"
- contextId="org.eclipse.linuxtools.tmf.ui.view.uml2sd.context"
- commandId="org.eclipse.linuxtools.tmf.ui.views.uml2sd.handlers.MoveSDRight"
- schemeId="org.eclipse.ui.defaultAcceleratorConfiguration">
- </key>
- </extension>
- <extension
- point="org.eclipse.core.contenttype.contentTypes">
- <content-type
- id="org.eclipse.linuxtools.tmf.ui.content-type.trace"
- name="%contenttype.trace"
- priority="normal">
- </content-type>
- </extension>
- <extension
- point="org.eclipse.ui.contexts">
- <context
- id="org.eclipse.linuxtools.tmf.ui.view.uml2sd.context"
- name="%contexts.uml2sd">
- </context>
- </extension>
- <extension
- point="org.eclipse.ui.preferencePages">
- <page
- class="org.eclipse.linuxtools.internal.tmf.ui.preferences.TmfTracingPreferencePage"
- id="org.eclipse.linuxtools.tmf.ui.TmfTracingPreferences"
- name="%preference.page.trace.name">
- </page>
- <page
- category="org.eclipse.linuxtools.tmf.ui.TmfTracingPreferences"
- class="org.eclipse.linuxtools.tmf.ui.views.uml2sd.preferences.SDViewerPage"
- id="org.eclipse.linuxtools.tmf.ui.views.uml2sd.preferences.SDViewerPage"
- name="%preference.page.uml2sd.name">
- </page>
- <page
- category="org.eclipse.linuxtools.tmf.ui.TmfTracingPreferences"
- class="org.eclipse.linuxtools.tmf.ui.properties.TmfTimestampFormatPage"
- id="org.eclipse.linuxtools.tmf.ui.preferences.timestamp.format"
- name="%preferences.page.timestamp.format">
- </page>
- </extension>
- <extension
- point="org.eclipse.linuxtools.tmf.ui.uml2SDLoader">
- <uml2SDLoader
- class="org.eclipse.linuxtools.tmf.ui.views.uml2sd.loader.TmfUml2SDSyncLoader"
- default="true"
- id="org.eclipse.linuxtools.tmf.ui.views.uml2sd.impl.TmfUml2SDSyncLoader"
- name="TMF UML2SD Loader"
- view="org.eclipse.linuxtools.tmf.ui.tmfUml2SDSyncView">
- </uml2SDLoader>
- </extension>
- <!--extension
- point="org.eclipse.core.expressions.propertyTesters">
- <propertyTester
- class="org.eclipse.linuxtools.tmf.ui.project.handlers.PropertyTester"
- id="org.eclipse.linuxtools.tmf.ui.propertyTester.isInTraceFolder"
- namespace="org.eclipse.linuxtools.tmf.ui.propertyTester"
- properties="isInTraceFolder"
- type="org.eclipse.jface.viewers.ISelection">
- </propertyTester>
- </extension -->
- <extension
- point="org.eclipse.core.expressions.propertyTesters">
- <propertyTester
- class="org.eclipse.linuxtools.internal.tmf.ui.project.handlers.TracePropertyTester"
- id="org.eclipse.linuxtools.tmf.ui.tracePropertyTester"
- namespace="org.eclipse.linuxtools.tmf.ui"
- properties="isExperimentTrace,hasSupplementaryFiles,traceType"
- type="org.eclipse.linuxtools.tmf.ui.project.model.TmfProjectModelElement">
- </propertyTester>
- </extension>
- <extension
- point="org.eclipse.ui.navigator.linkHelper">
- <linkHelper
- class="org.eclipse.linuxtools.internal.tmf.ui.project.model.TmfEditorLinkHelper"
- id="org.eclipse.linuxtools.internal.tmf.ui.project.model.TmfEditorLinkHelper">
- <editorInputEnablement>
- <instanceof value="org.eclipse.ui.IFileEditorInput"/>
- </editorInputEnablement>
- <selectionEnablement>
- <or>
- <instanceof
- value="org.eclipse.linuxtools.tmf.ui.project.model.TmfTraceElement">
- </instanceof>
- <instanceof
- value="org.eclipse.linuxtools.tmf.ui.project.model.TmfExperimentElement">
- </instanceof>
- </or>
- </selectionEnablement>
- </linkHelper>
- </extension>
- <extension
- point="org.eclipse.ui.exportWizards">
- <wizard
- category="org.eclipse.linuxtools.tmf.export.category"
- class="org.eclipse.linuxtools.internal.tmf.ui.project.wizards.tracepkg.importexport.ExportTracePackageWizard"
- icon="icons/etool16/export.gif"
- id="org.eclipse.linuxtools.tmf.ui.trace.export.package.wizard"
- name="%project.export.wizard.name.tracepkg">
- </wizard>
- <category
- id="org.eclipse.linuxtools.tmf.export.category"
- name="%project.new.category.name">
- </category>
- </extension>
- <extension
- point="org.eclipse.linuxtools.tmf.core.analysis">
- <output
- class="org.eclipse.linuxtools.tmf.ui.analysis.TmfAnalysisViewOutput"
- id="org.eclipse.linuxtools.tmf.ui.views.statistics">
- <analysisId
- id="org.eclipse.linuxtools.tmf.core.statistics.analysis">
- </analysisId>
- </output>
- </extension>
- <extension
- point="org.eclipse.linuxtools.tmf.ui.tracetypeui">
- <experiment
- tracetype="org.eclipse.linuxtools.tmf.core.experiment.generic"
- icon="icons/elcl16/experiment.gif">
- </experiment>
- </extension>
-</plugin>
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/pom.xml b/lttng/org.eclipse.linuxtools.tmf.ui/pom.xml
deleted file mode 100644
index f601c26eb3..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/pom.xml
+++ /dev/null
@@ -1,45 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Copyright (C) 2011, Red Hat, Inc.
-
- 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
--->
-<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
- <modelVersion>4.0.0</modelVersion>
-
- <parent>
- <artifactId>linuxtools-lttng-parent</artifactId>
- <groupId>org.eclipse.linuxtools.lttng</groupId>
- <version>3.2.0-SNAPSHOT</version>
- </parent>
-
- <artifactId>org.eclipse.linuxtools.tmf.ui</artifactId>
- <version>3.2.0-SNAPSHOT</version>
- <packaging>eclipse-plugin</packaging>
-
- <name>Linux Tools TMF UI Plug-in</name>
-
- <build>
- <!-- workaround for https://issues.sonatype.org/browse/TYCHO-168 -->
- <resources>
- <resource>
- <directory>src</directory>
- <excludes>
- <exclude>**/*.java</exclude>
- </excludes>
- </resource>
- </resources>
- <plugins>
- <plugin>
- <groupId>org.eclipse.tycho</groupId>
- <artifactId>tycho-source-plugin</artifactId>
- </plugin>
- </plugins>
- </build>
-
- <groupId>org.eclipse.linuxtools.tmf</groupId>
-</project>
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/schema/export-manifest.xsd b/lttng/org.eclipse.linuxtools.tmf.ui/schema/export-manifest.xsd
deleted file mode 100644
index 21480bd8d7..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/schema/export-manifest.xsd
+++ /dev/null
@@ -1,60 +0,0 @@
-<!--
- ***************************************************************************
- * Copyright (c) 2013 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:
- * Marc-Andre Laperle - Initial API and implementation
- ***************************************************************************
--->
-<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
- <xs:element name="tmf-export">
- <xs:complexType>
- <xs:sequence>
- <xs:element name="trace" maxOccurs="unbounded" minOccurs="0">
- <xs:complexType>
- <xs:sequence>
-
- <xs:element name="file">
- <xs:complexType>
- <xs:attribute type="xs:string" name="name" use="required"/>
- </xs:complexType>
- </xs:element>
-
- <xs:element name="supplementary-file" maxOccurs="unbounded" minOccurs="0">
- <xs:complexType>
- <xs:attribute type="xs:string" name="name" use="required"/>
- </xs:complexType>
- </xs:element>
-
- <xs:element name="bookmarks" maxOccurs="unbounded" minOccurs="0">
- <xs:complexType>
- <xs:sequence>
-
- <xs:element name="bookmark" maxOccurs="unbounded" minOccurs="0">
- <xs:complexType>
- <xs:attribute type="xs:string" name="location" use="required"/>
- <xs:attribute type="xs:string" name="message" use="required"/>
- <xs:anyAttribute processContents="skip"/>
- </xs:complexType>
- </xs:element>
-
- </xs:sequence>
- </xs:complexType>
- </xs:element>
-
- </xs:sequence>
-
- <xs:attribute type="xs:string" name="name"/>
- <xs:attribute type="xs:string" name="type"/>
-
- </xs:complexType>
- </xs:element>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
-</xs:schema> \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/schema/org.eclipse.linuxtools.tmf.ui.tracetypeui.exsd b/lttng/org.eclipse.linuxtools.tmf.ui/schema/org.eclipse.linuxtools.tmf.ui.tracetypeui.exsd
deleted file mode 100644
index 1a1dba8572..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/schema/org.eclipse.linuxtools.tmf.ui.tracetypeui.exsd
+++ /dev/null
@@ -1,247 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!-- Schema file written by PDE -->
-<schema targetNamespace="org.eclipse.linuxtools.tmf.ui" xmlns="http://www.w3.org/2001/XMLSchema">
-<annotation>
- <appinfo>
- <meta.schema plugin="org.eclipse.linuxtools.tmf.ui" id="tracetypeui" name="TMF Trace Type UI Elements"/>
- </appinfo>
- <documentation>
- This extension point is used to assign UI elements to a trace type defined by org.eclipse.linuxtools.tmf.core.tracetype.
- </documentation>
- </annotation>
-
- <element name="extension">
- <annotation>
- <appinfo>
- <meta.element />
- </appinfo>
- </annotation>
- <complexType>
- <choice minOccurs="0" maxOccurs="unbounded">
- <element ref="type"/>
- <element ref="experiment"/>
- </choice>
- <attribute name="point" type="string" use="required">
- <annotation>
- <documentation>
- a fully qualified identifier of the target extension point
- </documentation>
- </annotation>
- </attribute>
- <attribute name="id" type="string">
- <annotation>
- <documentation>
- an optional identifier of the extension instance
- </documentation>
- </annotation>
- </attribute>
- <attribute name="name" type="string">
- <annotation>
- <documentation>
- an optional name of the extension instance
- </documentation>
- <appinfo>
- <meta.attribute translatable="true"/>
- </appinfo>
- </annotation>
- </attribute>
- </complexType>
- </element>
-
- <element name="type">
- <annotation>
- <appinfo>
- <meta.element labelAttribute="tracetype"/>
- </appinfo>
- </annotation>
- <complexType>
- <sequence>
- <element ref="eventsTableType" minOccurs="0" maxOccurs="1"/>
- <element ref="defaultEditor" minOccurs="0" maxOccurs="1"/>
- <element ref="eventTableColumns" minOccurs="0" maxOccurs="1"/>
- </sequence>
- <attribute name="tracetype" type="string" use="required">
- <annotation>
- <documentation>
- The unique ID that identifies this trace type.
- </documentation>
- <appinfo>
- <meta.attribute kind="identifier" basedOn="org.eclipse.linuxtools.tmf.core.tracetype/type/@id"/>
- </appinfo>
- </annotation>
- </attribute>
- <attribute name="icon" type="string">
- <annotation>
- <documentation>
- The icon associated to the trace type.
- </documentation>
- <appinfo>
- <meta.attribute kind="resource"/>
- </appinfo>
- </annotation>
- </attribute>
- </complexType>
- </element>
-
- <element name="experiment">
- <annotation>
- <appinfo>
- <meta.element labelAttribute="tracetype"/>
- </appinfo>
- </annotation>
- <complexType>
- <sequence>
- <element ref="eventsTableType" minOccurs="0" maxOccurs="1"/>
- <element ref="defaultEditor" minOccurs="0" maxOccurs="1"/>
- </sequence>
- <attribute name="tracetype" type="string" use="required">
- <annotation>
- <documentation>
- The unique ID that identifies this experiment type.
- </documentation>
- <appinfo>
- <meta.attribute kind="identifier" basedOn="org.eclipse.linuxtools.tmf.core.tracetype/experiment/@id"/>
- </appinfo>
- </annotation>
- </attribute>
- <attribute name="icon" type="string">
- <annotation>
- <documentation>
- The icon associated to the experiment type.
- </documentation>
- <appinfo>
- <meta.attribute kind="resource"/>
- </appinfo>
- </annotation>
- </attribute>
- </complexType>
- </element>
-
- <element name="eventsTableType">
- <annotation>
- <documentation>
- The events table to use for this trace type.
-If omitted, the default events table will be used.
- </documentation>
- </annotation>
- <complexType>
- <attribute name="class" type="string" use="default" value="org.eclipse.linuxtools.tmf.ui.viewers.events.TmfEventsTable">
- <annotation>
- <documentation>
- The fully qualified name of a class that extends &lt;samp&gt;TmfEventsTable&lt;/samp&gt; .
-If empty, the default events table will be used.
- </documentation>
- <appinfo>
- <meta.attribute kind="java" basedOn="org.eclipse.linuxtools.tmf.ui.viewers.events.TmfEventsTable:"/>
- </appinfo>
- </annotation>
- </attribute>
- </complexType>
- </element>
-
- <element name="defaultEditor">
- <annotation>
- <documentation>
- The default editor to use for this trace type.
-If omitted, the default events editor will be used.
- </documentation>
- </annotation>
- <complexType>
- <attribute name="id" type="string" use="default" value="org.eclipse.linuxtools.tmf.ui.editors.events">
- <annotation>
- <documentation>
- The id of the editor to use for this trace type.
-If empty, the default events editor will be used.
- </documentation>
- </annotation>
- </attribute>
- </complexType>
- </element>
-
- <element name="eventTableColumns">
- <annotation>
- <documentation>
- The event table columns to use with this trace type.
-If omitted, the default columns will be used.
-
-If the &quot;eventsTableType&quot; element is present, we will first try to provide a table of that type (ignoring the contents of &quot;eventTableColumns&quot;). If the requested table type cannot be provided, then we will fall-back to using a default table with the columns defined in &quot;eventTableColumns&quot;.
- </documentation>
- </annotation>
- <complexType>
- <attribute name="class" type="string">
- <annotation>
- <documentation>
- The fully qualified name of a class that implements &lt;samp&gt;ITmfEventTableColumns&lt;/samp&gt; .
-If empty, the default columns will be used.
- </documentation>
- <appinfo>
- <meta.attribute kind="java" basedOn=":org.eclipse.linuxtools.tmf.ui.viewers.events.columns.ITmfEventTableColumns"/>
- </appinfo>
- </annotation>
- </attribute>
- </complexType>
- </element>
-
- <annotation>
- <appinfo>
- <meta.section type="since"/>
- </appinfo>
- <documentation>
- 3.0
- </documentation>
- </annotation>
-
- <annotation>
- <appinfo>
- <meta.section type="examples"/>
- </appinfo>
- <documentation>
- Example use of the extension point: the GDB trace type, which specifies a custom icon and a custom editor, also the generic experiment, which specifies a custom icon. The &apos;type/tracetype&apos; element has to point to an existing tmf.core.tracetype extension!
-
-&lt;extension
- point=&quot;org.eclipse.linuxtools.tmf.ui.tracetypeui&quot;&gt;
- &lt;type
- icon=&quot;icons/obj16/gdb_icon16.png&quot;
- tracetype=&quot;org.eclipse.linuxtools.gdbtrace.core.type.gdb&quot;&gt;
- &lt;eventsTableType
- class=&quot;org.eclipse.linuxtools.internal.gdbtrace.ui.views.events.GdbEventsTable&quot;&gt;
- &lt;/eventsTableType&gt;
- &lt;/type&gt;
- &lt;experiment_type
- tracetype=&quot;org.eclipse.linuxtools.tmf.core.experiment.generic&quot;
- icon=&quot;icons/elcl16/experiment.gif&quot;&gt;
- &lt;/experiment_type&gt;
-&lt;/extension&gt;
- </documentation>
- </annotation>
-
- <annotation>
- <appinfo>
- <meta.section type="apiinfo"/>
- </appinfo>
- <documentation>
- The &apos;eventsTableType/class&apos; element has to extend TmfEventsTable. It is optional however ; if it is not specified, the default TmfEventsTable will be used.
- </documentation>
- </annotation>
-
- <annotation>
- <appinfo>
- <meta.section type="implementation"/>
- </appinfo>
- <documentation>
- [Enter information about supplied implementation of this extension point.]
- </documentation>
- </annotation>
-
- <annotation>
- <appinfo>
- <meta.section type="copyright"/>
- </appinfo>
- <documentation>
- Copyright (c) 2014 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 &lt;a href=&quot;http://www.eclipse.org/legal/epl-v10.html&quot;&gt;http://www.eclipse.org/legal/epl-v10.html&lt;/a&gt;
- </documentation>
- </annotation>
-
-</schema>
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/schema/org.eclipse.linuxtools.tmf.ui.uml2SDLoader.exsd b/lttng/org.eclipse.linuxtools.tmf.ui/schema/org.eclipse.linuxtools.tmf.ui.uml2SDLoader.exsd
deleted file mode 100644
index 0b2a155d61..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/schema/org.eclipse.linuxtools.tmf.ui.uml2SDLoader.exsd
+++ /dev/null
@@ -1,193 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!-- Schema file written by PDE -->
-<schema targetNamespace="org.eclipse.linuxtools.tmf.ui" xmlns="http://www.w3.org/2001/XMLSchema">
-<annotation>
- <appinfo>
- <meta.schema plugin="org.eclipse.linuxtools.tmf.ui" id="uml2SDLoader" name="TMF UML2 Sequence Diagram Extensions"/>
- </appinfo>
- <documentation>
- This extension point aims to list and connect any UML2 Sequence Diagram loader.
- </documentation>
- </annotation>
-
- <element name="extension">
- <annotation>
- <appinfo>
- <meta.element />
- </appinfo>
- </annotation>
- <complexType>
- <sequence minOccurs="1" maxOccurs="unbounded">
- <element ref="uml2SDLoader"/>
- </sequence>
- <attribute name="point" type="string" use="required">
- <annotation>
- <documentation>
- A fully qualified identifier of the target extension point.
- </documentation>
- </annotation>
- </attribute>
- <attribute name="id" type="string">
- <annotation>
- <documentation>
- An optional identifier of the extension instance.
- </documentation>
- </annotation>
- </attribute>
- <attribute name="name" type="string">
- <annotation>
- <documentation>
- An optional name of the extension instance.
- </documentation>
- </annotation>
- </attribute>
- </complexType>
- </element>
-
- <element name="uml2SDLoader">
- <complexType>
- <attribute name="id" type="string" use="required">
- <annotation>
- <documentation>
- A unique identifier for this &lt;code&gt;uml2SDLoader&lt;/code&gt;. This is not mandatory as long as the id attribute cannot be retrieved by the provider plugin. The class attribute is the one on which the underlying algorythm relies.
- </documentation>
- </annotation>
- </attribute>
- <attribute name="name" type="string" use="required">
- <annotation>
- <documentation>
- An name of the extension instance.
- </documentation>
- </annotation>
- </attribute>
- <attribute name="class" type="string" use="required">
- <annotation>
- <documentation>
- The implementation of this UML2 SD viewer loader. The class must implement &lt;code&gt;org.eclipse.linuxtools.tmf.ui.views.uml2sd.load.IUml2SDLoader&lt;/code&gt;.
- </documentation>
- <appinfo>
- <meta.attribute kind="java" basedOn=":org.eclipse.linuxtools.tmf.ui.views.uml2sd.load.IUml2SDLoader"/>
- </appinfo>
- </annotation>
- </attribute>
- <attribute name="view" type="string" use="required">
- <annotation>
- <documentation>
- The view ID of the view that this loader aims to populate.
-Either &lt;code&gt;org.eclipse.linuxtools.tmf.ui.views.uml2sd.SDView&lt;/code&gt; itself or a extension of &lt;code&gt;org.eclipse.linuxtools.tmf.ui.views.uml2sd.SDView&lt;/code&gt;.
- </documentation>
- </annotation>
- </attribute>
- <attribute name="default" type="boolean">
- <annotation>
- <documentation>
- Set to true to make this loader the default one for the view; in case of several default loaders, first one coming from extensions list is taken.
- </documentation>
- </annotation>
- </attribute>
- </complexType>
- </element>
-
- <annotation>
- <appinfo>
- <meta.section type="since"/>
- </appinfo>
- <documentation>
- 1.0
- </documentation>
- </annotation>
-
- <annotation>
- <appinfo>
- <meta.section type="examples"/>
- </appinfo>
- <documentation>
- &lt;p&gt;
-For an example implementation of the loader class see:
-&lt;pre&gt;
-plug-in: org.eclipse.linuxtools.tmf.ui
-package: org.eclipse.linuxtools.tmf.ui.views.uml2sd.impl
-class: TmfUml2SDSyncLoader
-&lt;/pre&gt;
-&lt;/p&gt;
-
-&lt;p&gt;
-The following is an example of the extension point:
-&lt;pre&gt;
-&lt;extension
- point=&quot;org.eclipse.linuxtools.tmf.ui.uml2SDLoader&quot;&gt;
- &lt;uml2SDLoader
- class=&quot;org.eclipse.linuxtools.tmf.ui.views.uml2sd.impl.TmfUml2SDSyncLoader&quot;
- default=&quot;true&quot;
- id=&quot;org.eclipse.linuxtools.tmf.ui.views.uml2sd.impl.TmfUml2SDSyncLoader&quot;
- name=&quot;Component Interactions&quot;
- view=&quot;org.eclipse.linuxtools.ust.examples.ui.componentinteraction&quot;&gt;
- &lt;/uml2SDLoader&gt;
-&lt;/extension&gt;
-&lt;/pre&gt;
-&lt;/p&gt;
-&lt;p&gt;
-The following is an example of the extension point for the required sequence diagram view:
-&lt;pre&gt;
-&lt;extension
- point=&quot;org.eclipse.ui.views&quot;&gt;
- &lt;view
- category=&quot;org.eclipse.linuxtools.ust.examples.ui.sequenceDiagrams&quot;
- class =&quot;org.eclipse.linuxtools.tmf.ui.views.uml2sd.SDView&quot;
- id=&quot;org.eclipse.linuxtools.ust.examples.ui.componentinteraction&quot;
- name=&quot;Sequence Diagram&quot;
- restorable=&quot;true&quot;&gt;
- &lt;/view&gt;
-&lt;/extension&gt;
-&lt;/pre&gt;
-&lt;/p&gt;
-
-&lt;p&gt;
-The following example command handler shows how to specify which loader to use while opening the sequence diagram view. This is not necessary if there is only one loader for a given sequence diagram view associated and this loader has the attribute &quot;default&quot; set to &quot;true&quot;.
-&lt;pre&gt;
-public class OpenSDView extends AbstractHandler {
- @Override
- public Object execute(ExecutionEvent event) throws ExecutionException {
- try {
- IWorkbenchPage persp = TmfUiPlugin.getDefault().getWorkbench().getActiveWorkbenchWindow().getActivePage();
- SDView view = (SDView) persp.showView(&quot;org.eclipse.linuxtools.ust.examples.ui.componentinteraction&quot;);
- LoadersManager.getLoadersManager().createLoader(&quot;org.eclipse.linuxtools.tmf.ui.views.uml2sd.impl.TmfUml2SDSyncLoader&quot;, view);
- } catch (PartInitException e) {
- throw new ExecutionException(&quot;PartInitException caught: &quot;, e);
- }
- return null;
- }
-}
-&lt;/pre&gt;
-&lt;/p&gt;
- </documentation>
- </annotation>
-
- <annotation>
- <appinfo>
- <meta.section type="apiinfo"/>
- </appinfo>
- <documentation>
- &lt;p&gt;
-For this extension point a sequence diagram view has to be defined as well. The sequence diagram view class implementation is provided by the plug-in org.eclipse.linuxtools.tmf.ui (org.eclipse.linuxtools.tmf.ui.views.uml2sd.SDView) and can be used as is or can also be sub-classed.
-&lt;/p&gt;
-&lt;p&gt;
-With this extension point, a loader class is associated with a sequence diagram view. Multiple loaders can be associated to a single sequence diagram view. However, additional means have to be implemented to specify which loader should be used when opening the view. For example, an eclipse action or command could be used for that (see example section). This additional code is not necessary if there is only one loader for a given sequence diagram view associated and this loader has the attribute &quot;default&quot; set to &quot;true&quot;.
-&lt;/p&gt;
- </documentation>
- </annotation>
-
-
- <annotation>
- <appinfo>
- <meta.section type="copyright"/>
- </appinfo>
- <documentation>
- Copyright (c) 2005, 2008, 2011 IBM Corporation, Ericsson and others
-
-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 &lt;a
-href=&quot;http://www.eclipse.org/legal/epl-v10.html&quot;&gt;http://www.eclipse.org/legal/epl-v10.html&lt;/a&gt;
- </documentation>
- </annotation>
-
-</schema>
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/Activator.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/Activator.java
deleted file mode 100644
index 131a10ebed..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/Activator.java
+++ /dev/null
@@ -1,245 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009, 2013 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.internal.tmf.ui;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.core.runtime.preferences.InstanceScope;
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.resource.ImageRegistry;
-import org.eclipse.linuxtools.tmf.core.event.ITmfEvent;
-import org.eclipse.linuxtools.tmf.ui.TmfUiRefreshHandler;
-import org.eclipse.linuxtools.tmf.ui.project.model.TmfExperimentElement;
-import org.eclipse.linuxtools.tmf.ui.project.model.TmfTraceElement;
-import org.eclipse.linuxtools.tmf.ui.viewers.events.TmfEventAdapterFactory;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.ui.plugin.AbstractUIPlugin;
-import org.eclipse.ui.preferences.ScopedPreferenceStore;
-import org.osgi.framework.BundleContext;
-
-/**
- * The activator class controls the plug-in life cycle.
- */
-public class Activator extends AbstractUIPlugin {
-
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
-
- /**
- * The plug-in ID
- */
- public static final String PLUGIN_ID = "org.eclipse.linuxtools.tmf.ui"; //$NON-NLS-1$
- /**
- * The core plug-in ID
- */
- public static final String PLUGIN_CORE_ID = "org.eclipse.linuxtools.tmf.core"; //$NON-NLS-1$
-
- /**
- * The shared instance
- */
- private static Activator plugin;
-
- private TmfEventAdapterFactory fTmfEventAdapterFactory;
- private IPreferenceStore fCorePreferenceStore;
-
- // ------------------------------------------------------------------------
- // Constructors
- // ------------------------------------------------------------------------
-
- /**
- * Constructor
- */
- public Activator() {
- }
-
- // ------------------------------------------------------------------------
- // Accessors
- // ------------------------------------------------------------------------
-
- /**
- * Returns the TMF UI plug-in instance.
- *
- * @return the TMF UI plug-in instance.
- */
- public static Activator getDefault() {
- return plugin;
- }
-
- // ------------------------------------------------------------------------
- // AbstractUIPlugin
- // ------------------------------------------------------------------------
-
- @Override
- public void start(BundleContext context) throws Exception {
- super.start(context);
- plugin = this;
- TmfUiRefreshHandler.getInstance(); // to classload/initialize it
- TmfUiTracer.init();
- TmfTraceElement.init();
- TmfExperimentElement.init();
-
- fTmfEventAdapterFactory = new TmfEventAdapterFactory();
- Platform.getAdapterManager().registerAdapters(fTmfEventAdapterFactory, ITmfEvent.class);
- }
-
- @Override
- public void stop(BundleContext context) throws Exception {
- TmfUiTracer.stop();
- TmfUiRefreshHandler.getInstance().dispose();
- plugin = null;
-
- Platform.getAdapterManager().unregisterAdapters(fTmfEventAdapterFactory);
- super.stop(context);
- }
-
- /**
- * Returns a preference store for org.eclipse.linux.tmf.core preferences
- * @return the preference store
- */
- public IPreferenceStore getCorePreferenceStore() {
- if (fCorePreferenceStore == null) {
- fCorePreferenceStore= new ScopedPreferenceStore(InstanceScope.INSTANCE, PLUGIN_CORE_ID);
- }
- return fCorePreferenceStore;
- }
-
- // ------------------------------------------------------------------------
- // Operations
- // ------------------------------------------------------------------------
-
- /**
- * Gets an image object using given path within plug-in.
- *
- * @param path
- * path to image file
- *
- * @return image object
- */
- public Image getImageFromPath(String path) {
- return getImageDescripterFromPath(path).createImage();
- }
-
- /**
- * Gets an image descriptor using given path within plug-in.
- *
- * @param path
- * path to image file
- *
- * @return image descriptor object
- */
- public ImageDescriptor getImageDescripterFromPath(String path) {
- return AbstractUIPlugin.imageDescriptorFromPlugin(PLUGIN_ID, path);
- }
-
- /**
- * Gets a image object from the image registry based on the given path. If
- * the image is not in the registry it will be registered.
- *
- * @param path
- * to the image file
- * @return image object
- */
- public Image getImageFromImageRegistry(String path) {
- Image icon = getImageRegistry().get(path);
- if (icon == null) {
- icon = getImageDescripterFromPath(path).createImage();
- plugin.getImageRegistry().put(path, icon);
- }
- return icon;
- }
-
- @Override
- protected void initializeImageRegistry(ImageRegistry reg) {
- reg.put(ITmfImageConstants.IMG_UI_ZOOM, getImageFromPath(ITmfImageConstants.IMG_UI_ZOOM));
- reg.put(ITmfImageConstants.IMG_UI_ZOOM_IN, getImageFromPath(ITmfImageConstants.IMG_UI_ZOOM_IN));
- reg.put(ITmfImageConstants.IMG_UI_ZOOM_OUT, getImageFromPath(ITmfImageConstants.IMG_UI_ZOOM_OUT));
- reg.put(ITmfImageConstants.IMG_UI_SEQ_DIAGRAM_OBJ, getImageFromPath(ITmfImageConstants.IMG_UI_SEQ_DIAGRAM_OBJ));
- reg.put(ITmfImageConstants.IMG_UI_ARROW_COLLAPSE_OBJ, getImageFromPath(ITmfImageConstants.IMG_UI_ARROW_COLLAPSE_OBJ));
- reg.put(ITmfImageConstants.IMG_UI_ARROW_UP_OBJ, getImageFromPath(ITmfImageConstants.IMG_UI_ARROW_UP_OBJ));
- reg.put(ITmfImageConstants.IMG_UI_CONFLICT, getImageFromPath(ITmfImageConstants.IMG_UI_CONFLICT));
- }
-
- /**
- * Logs a message with severity INFO in the runtime log of the plug-in.
- *
- * @param message
- * A message to log
- */
- public void logInfo(String message) {
- getLog().log(new Status(IStatus.INFO, PLUGIN_ID, message));
- }
-
- /**
- * Logs a message and exception with severity INFO in the runtime log of the
- * plug-in.
- *
- * @param message
- * A message to log
- * @param exception
- * A exception to log
- */
- public void logInfo(String message, Throwable exception) {
- getLog().log(new Status(IStatus.INFO, PLUGIN_ID, message, exception));
- }
-
- /**
- * Logs a message and exception with severity WARNING in the runtime log of
- * the plug-in.
- *
- * @param message
- * A message to log
- */
- public void logWarning(String message) {
- getLog().log(new Status(IStatus.WARNING, PLUGIN_ID, message));
- }
-
- /**
- * Logs a message and exception with severity WARNING in the runtime log of
- * the plug-in.
- *
- * @param message
- * A message to log
- * @param exception
- * A exception to log
- */
- public void logWarning(String message, Throwable exception) {
- getLog().log(new Status(IStatus.WARNING, PLUGIN_ID, message, exception));
- }
-
- /**
- * Logs a message and exception with severity ERROR in the runtime log of
- * the plug-in.
- *
- * @param message
- * A message to log
- */
- public void logError(String message) {
- getLog().log(new Status(IStatus.ERROR, PLUGIN_ID, message));
- }
-
- /**
- * Logs a message and exception with severity ERROR in the runtime log of
- * the plug-in.
- *
- * @param message
- * A message to log
- * @param exception
- * A exception to log
- */
- public void logError(String message, Throwable exception) {
- getLog().log(new Status(IStatus.ERROR, PLUGIN_ID, message, exception));
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/ITmfImageConstants.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/ITmfImageConstants.java
deleted file mode 100755
index 9d21ec9b7b..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/ITmfImageConstants.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011, 2013 Ericsson and others.
- * 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:
- * Bernd Hufmann - initial API and implementation
- * Patrick Tasse - added icons
- *******************************************************************************/
-package org.eclipse.linuxtools.internal.tmf.ui;
-
-/**
- * Names for generic icons and buttons used in TMF
- */
-@SuppressWarnings({"nls", "javadoc"})
-public interface ITmfImageConstants {
-
- public static final String ICONS_PATH = "icons/"; //$NON-NLS-1$
-
- /* elcl16 */
- public static final String IMG_UI_HOME_MENU = ICONS_PATH + "elcl16/home_nav.gif";
- public static final String IMG_UI_SELECT_MENU = ICONS_PATH + "elcl16/select_menu.gif";
- public static final String IMG_UI_ZOOM_IN_MENU = ICONS_PATH + "elcl16/zoomin_nav.gif";
- public static final String IMG_UI_ZOOM_OUT_MENU = ICONS_PATH + "elcl16/zoomout_nav.gif";
- public static final String IMG_UI_FILTERS = ICONS_PATH + "elcl16/filter_items.gif";
- public static final String IMG_UI_SEARCH_SEQ = ICONS_PATH + "elcl16/search_seqdiag_menu.gif";
- public static final String IMG_UI_NEXT_PAGE = ICONS_PATH + "elcl16/next_menu.gif";
- public static final String IMG_UI_PREV_PAGE = ICONS_PATH + "elcl16/prev_menu.gif";
- public static final String IMG_UI_GOTO_PAGE = ICONS_PATH + "elcl16/gotopage_menu.gif";
- public static final String IMG_UI_NODE_START = ICONS_PATH + "elcl16/node_end.gif";
- public static final String IMG_UI_NODE_END = ICONS_PATH + "elcl16/node_start.gif";
- public static final String IMG_UI_SEARCH_MATCH = ICONS_PATH + "elcl16/search_match.gif";
- public static final String IMG_UI_FIRST_PAGE = ICONS_PATH + "elcl16/backward_nav.gif";
- public static final String IMG_UI_LAST_PAGE = ICONS_PATH + "elcl16/forward_nav.gif";
- public static final String IMG_UI_SHOW_LEGEND = ICONS_PATH + "elcl16/show_legend.gif";
- public static final String IMG_UI_NEXT_EVENT = ICONS_PATH + "elcl16/next_event.gif";
- public static final String IMG_UI_PREV_EVENT = ICONS_PATH + "elcl16/prev_event.gif";
-// public static final String IMG_UI_NEXT_ITEM = ICONS_PATH + "elcl16/next_item.gif";
-// public static final String IMG_UI_PREV_ITEM = ICONS_PATH + "elcl16/prev_item.gif";
- public static final String IMG_UI_NEXT_ITEM = IMG_UI_NEXT_PAGE;
- public static final String IMG_UI_PREV_ITEM = IMG_UI_PREV_PAGE;
- public static final String IMG_UI_PIN_VIEW = ICONS_PATH + "elcl16/pin_view.gif";
- public static final String IMG_UI_HIDE_ARROWS = ICONS_PATH + "elcl16/hide_arrows.gif";
- public static final String IMG_UI_FOLLOW_ARROW_FORWARD = ICONS_PATH + "elcl16/follow_arrow_fwd.gif";
- public static final String IMG_UI_FOLLOW_ARROW_BACKWARD = ICONS_PATH + "elcl16/follow_arrow_bwd.gif";
- public static final String IMG_UI_SHOW_LOST_EVENTS = ICONS_PATH + "elcl16/hide_lost_events.gif";
- public static final String IMG_UI_SHOW_HIST_TRACES = ICONS_PATH + "elcl16/show_hist_traces.gif";
-
- /* eview16 */
- public static final String IMG_UI_SEQ_DIAGRAM_OBJ = ICONS_PATH + "eview16/sequencediagram_view.gif";
-
- /* obj16 */
- public static final String IMG_UI_ZOOM = ICONS_PATH + "obj16/zoom_mask.bmp";
- public static final String IMG_UI_ZOOM_IN = ICONS_PATH + "obj16/zoomin_obj.bmp";
- public static final String IMG_UI_ZOOM_OUT = ICONS_PATH + "obj16/zoomout_obj.bmp";
- public static final String IMG_UI_ARROW_COLLAPSE_OBJ = ICONS_PATH + "obj16/arrow_colapse.bmp";
- public static final String IMG_UI_ARROW_UP_OBJ = ICONS_PATH + "obj16/arrow_up.bmp";
-
- /* wizban */
- public static final String IMG_UI_CONFLICT = ICONS_PATH + "wizban/conflict_stat.gif";
-} \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/Messages.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/Messages.java
deleted file mode 100644
index 264ebd8f1b..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/Messages.java
+++ /dev/null
@@ -1,307 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2012, 2014 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
- *
- *******************************************************************************/
-
-package org.eclipse.linuxtools.internal.tmf.ui;
-
-import org.eclipse.osgi.util.NLS;
-
-/**
- * TMF message bundle
- */
-@SuppressWarnings("javadoc")
-public class Messages extends NLS {
-
- private static final String BUNDLE_NAME = "org.eclipse.linuxtools.internal.tmf.ui.messages"; //$NON-NLS-1$
-
- public static String ManageCustomParsersDialog_ConflictMessage;
- public static String ManageCustomParsersDialog_ConflictRenameButtonLabel;
- public static String ManageCustomParsersDialog_ConflictSkipButtonLabel;
- public static String ManageCustomParsersDialog_DeleteButtonLabel;
- public static String ManageCustomParsersDialog_DeleteConfirmation;
- public static String ManageCustomParsersDialog_DeleteParserDialogHeader;
- public static String ManageCustomParsersDialog_DialogHeader;
- public static String ManageCustomParsersDialog_EditButtonLabel;
- public static String ManageCustomParsersDialog_ExportButtonLabel;
- public static String ManageCustomParsersDialog_ExportParserSelection;
- public static String ManageCustomParsersDialog_ImportButtonLabel;
- public static String ManageCustomParsersDialog_ImportParserSelection;
- public static String ManageCustomParsersDialog_NewButtonLabel;
- public static String ManageCustomParsersDialog_TextButtonLabel;
-
- public static String TmfEventsTable_AddBookmarkActionText;
- public static String TmfEventsTable_AddBookmarkDialogMessage;
- public static String TmfEventsTable_AddBookmarkDialogTitle;
- public static String TmfEventsTable_ApplyPresetFilterMenuName;
- public static String TmfEventsTable_ClearFiltersActionText;
- public static String TmfEventsTable_CollapseFilterMenuName;
- public static String TmfEventsTable_ContentColumnHeader;
- public static String TmfEventsTable_Export_to_text;
- public static String TmfEventsTable_FilterHint;
- public static String TmfEventsTable_HideRawActionText;
- public static String TmfEventsTable_HideTableActionText;
- public static String TmfEventsTable_MultipleBookmarksToolTip;
- public static String TmfEventsTable_OpenSourceCodeActionText;
- public static String TmfEventsTable_OpenSourceCodeNotFound;
- public static String TmfEventsTable_OpenSourceCodeSelectFileDialogTitle;
- public static String TmfEventsTable_OpenModelActionText;
- public static String TmfEventsTable_OpenModelUnsupportedURI;
- public static String TmfEventsTable_ReferenceColumnHeader;
- public static String TmfEventsTable_RemoveBookmarkActionText;
- public static String TmfEventsTable_SearchHint;
- public static String TmfEventsTable_SearchingJobName;
- public static String TmfEventsTable_ShowFilterBarActionText;
- public static String TmfEventsTable_ShowRawActionText;
- public static String TmfEventsTable_ShowSearchBarActionText;
- public static String TmfEventsTable_ShowTableActionText;
- public static String TmfEventsTable_SourceColumnHeader;
- public static String TmfEventsTable_TimestampColumnHeader;
- public static String TmfEventsTable_TypeColumnHeader;
-
- public static String TmfTimeFilterDialog_EDIT_PROFILING_OPTIONS;
- public static String TmfTimeFilterDialog_TRACE_FILTER;
- public static String TmfTimeFilterDialog_TRACE_FILTER_DESC;
- public static String TmfTimeFilterDialog_TRACE_ID;
- public static String TmfTimeFilterDialog_TRACE_NAME;
- public static String TmfTimeLegend_LEGEND;
- public static String TmfTimeLegend_TRACE_STATES;
- public static String TmfTimeLegend_TRACE_STATES_TITLE;
- public static String TmfTimeLegend_WINDOW_TITLE;
- public static String TmfTimeLegend_StateTypeName;
- public static String TmfTimeFilterDialog_WINDOW_TITLE;
- public static String TmfTimeFilterDialog_MESSAGE;
- public static String TmfTimeFilterDialog_CHECK_ALL;
- public static String TmfTimeFilterDialog_UNCHECK_ALL;
- public static String TmfTimeFilterDialog_CHECK_SELECTED;
- public static String TmfTimeFilterDialog_UNCHECK_SELECTED;
- public static String TmfTimeFilterDialog_CHECK_SUBTREE;
- public static String TmfTimeFilterDialog_UNCHECK_SUBTREE;
-
- public static String TmfTimeTipHandler_DURATION;
- public static String TmfTimeTipHandler_LINK_SOURCE;
- public static String TmfTimeTipHandler_LINK_SOURCE_TIME;
- public static String TmfTimeTipHandler_LINK_TARGET;
- public static String TmfTimeTipHandler_LINK_TARGET_TIME;
- public static String TmfTimeTipHandler_LINK_TIME;
- public static String TmfTimeTipHandler_TRACE_DATE;
- public static String TmfTimeTipHandler_TRACE_EVENT_TIME;
- public static String TmfTimeTipHandler_TRACE_START_TIME;
- public static String TmfTimeTipHandler_TRACE_STATE;
- public static String TmfTimeTipHandler_TRACE_STOP_TIME;
-
- public static String TmfTimeGraphCombo_FilterActionNameText;
- public static String TmfTimeGraphCombo_FilterActionToolTipText;
-
- public static String TmfTimeGraphViewer_ResetScaleActionNameText;
- public static String TmfTimeGraphViewer_ResetScaleActionToolTipText;
- public static String TmfTimeGraphViewer_LegendActionNameText;
- public static String TmfTimeGraphViewer_LegendActionToolTipText;
- public static String TmfTimeGraphViewer_NextEventActionNameText;
- public static String TmfTimeGraphViewer_NextEventActionToolTipText;
- public static String TmfTimeGraphViewer_PreviousEventActionNameText;
- public static String TmfTimeGraphViewer_PreviousEventActionToolTipText;
- public static String TmfTimeGraphViewer_NextItemActionNameText;
- public static String TmfTimeGraphViewer_NextItemActionToolTipText;
- public static String TmfTimeGraphViewer_PreviousItemActionNameText;
- public static String TmfTimeGraphViewer_PreviousItemActionToolTipText;
- public static String TmfTimeGraphViewer_ZoomInActionNameText;
- public static String TmfTimeGraphViewer_ZoomInActionToolTipText;
- public static String TmfTimeGraphViewer_ZoomOutActionNameText;
- public static String TmfTimeGraphViewer_ZoomOutActionToolTipText;
- public static String TmfTimeGraphViewer_HideArrowsActionNameText;
- public static String TmfTimeGraphViewer_HideArrowsActionToolTipText;
- public static String TmfTimeGraphViewer_FollowArrowForwardActionNameText;
- public static String TmfTimeGraphViewer_FollowArrowForwardActionToolTipText;
- public static String TmfTimeGraphViewer_FollowArrowBackwardActionNameText;
- public static String TmfTimeGraphViewer_FollowArrowBackwardActionToolTipText;
-
- public static String Utils_ClockCyclesUnit;
-
- public static String ColorsView_AddActionToolTipText;
- public static String ColorsView_BackgroundButtonText;
- public static String ColorsView_BackgroundDialogText;
- public static String ColorsView_DeleteActionToolTipText;
- public static String ColorsView_ExportActionToolTipText;
- public static String ColorsView_FilterButtonText;
- public static String ColorsView_ForegroundButtonText;
- public static String ColorsView_ForegroundDialogText;
- public static String ColorsView_ImportActionToolTipText;
- public static String ColorsView_ImportOverwriteDialogMessage1;
- public static String ColorsView_ImportOverwriteDialogMessage2;
- public static String ColorsView_ImportOverwriteDialogTitle;
- public static String ColorsView_MoveDownActionToolTipText;
- public static String ColorsView_MoveUpActionToolTipText;
- public static String ColorsView_TickButtonText;
- public static String TickColorDialog_TickColorDialogTitle;
-
- public static String CustomTxtParserInputWizardPage_addChildLine;
- public static String CustomTxtParserInputWizardPage_addGroup;
- public static String CustomTxtParserInputWizardPage_addNextLine;
- public static String CustomTxtParserInputWizardPage_append;
- public static String CustomTxtParserInputWizardPage_appendWith;
- public static String CustomTxtParserInputWizardPage_capturedGroup;
- public static String CustomTxtParserInputWizardPage_cardinality;
- public static String CustomTxtParserInputWizardPage_category;
- public static String CustomTxtParserInputWizardPage_desccriptionEdit;
- public static String CustomTxtParserInputWizardPage_descriptionNew;
- public static String CustomTxtParserInputWizardPage_format;
- public static String CustomTxtParserInputWizardPage_group;
- public static String CustomTxtParserInputWizardPage_highlightAll;
- public static String CustomTxtParserInputWizardPage_logType;
- public static String CustomTxtParserInputWizardPage_matchingOtherLine;
- public static String CustomTxtParserInputWizardPage_matchingRootLine;
- public static String CustomTxtParserInputWizardPage_max;
- public static String CustomTxtParserInputWizardPage_min;
- public static String CustomTxtParserInputWizardPage_moveDown;
- public static String CustomTxtParserInputWizardPage_moveUp;
- public static String CustomTxtParserInputWizardPage_name;
- public static String CustomTxtParserInputWizardPage_newGroup;
- public static String CustomTxtParserInputWizardPage_noMatch;
- public static String CustomTxtParserInputWizardPage_noMatchingGroup;
- public static String CustomTxtParserInputWizardPage_noMatchingLine;
- public static String CustomTxtParserInputWizardPage_noMatchingTimestamp;
- public static String CustomTxtParserInputWizardPage_noMathcingLine;
- public static String CustomTxtParserInputWizardPage_nonMatchingLine;
- public static String CustomTxtParserInputWizardPage_noTimestampGroup;
- public static String CustomTxtParserInputWizardPage_preview;
- public static String CustomTxtParserInputWizardPage_previewInput;
- public static String CustomTxtParserInputWizardPage_previewLegend;
- public static String CustomTxtParserInputWizardPage_regularExpression;
- public static String CustomTxtParserInputWizardPage_regularExpressionHelp;
- public static String CustomTxtParserInputWizardPage_removeGroup;
- public static String CustomTxtParserInputWizardPage_removeLine;
- public static String CustomTxtParserInputWizardPage_set;
- public static String CustomTxtParserInputWizardPage_timestampFormat;
- public static String CustomTxtParserInputWizardPage_timestampFormatHelp;
- public static String CustomTxtParserInputWizardPage_uncapturedText;
- public static String CustomTxtParserInputWizardPage_unidentifiedCaptureGroup;
- public static String CustomTxtParserInputWizardPage_windowTitleEdit;
- public static String CustomTxtParserInputWizardPage_windowTitleNew;
- public static String CustomTxtParserOutputWizardPage_description;
- public static String CustomTxtParserOutputWizardPage_moveAfter;
- public static String CustomTxtParserOutputWizardPage_moveBefore;
- public static String CustomTxtParserOutputWizardPage_visible;
- public static String CustomXmlParserInputWizardPage_emptyCategoryError;
- public static String CustomXmlParserInputWizardPage_emptyLogTypeError;
- public static String CustomXmlParserInputWizardPage_invalidCategoryError;
- public static String CustomXmlParserInputWizardPage_invalidLogTypeError;
- public static String CustomXmlParserInputWizardPage_duplicatelogTypeError;
- public static String CustomXmlParserInputWizardPage_noDocumentError;
- public static String CustomXmlParserInputWizardPage_missingLogEntryError;
- public static String CustomXmlParserInputWizardPage_missingTimestampFmtError;
- public static String CustomXmlParserInputWizardPage_missingDocumentElementError;
- public static String CustomXmlParserInputWizardPage_noTimestampElementOrAttribute;
- public static String CustomXmlParserInputWizardPage_elementMissingNameError;
- public static String CustomXmlParserInputWizardPage_elementMissingInputNameError;
- public static String CustomXmlParserInputWizardPage_elementMissingTimestampFmtError;
- public static String CustomXmlParserInputWizardPage_elementInvalidTimestampFmtError;
- public static String CustomXmlParserInputWizardPage_elementDuplicateNameError;
- public static String CustomXmlParserInputWizardPage_attributeMissingNameError;
- public static String CustomXmlParserInputWizardPage_attributeMissingInputNameError;
- public static String CustomXmlParserInputWizardPage_attributeMissingTimestampFmtError;
- public static String CustomXmlParserInputWizardPage_attributeInvalidTimestampFmtError;
- public static String CustomXmlParserInputWizardPage_attributeDuplicateNameError;
- public static String CustomXmlParserInputWizardPage_addAttribute;
- public static String CustomXmlParserInputWizardPage_addChildElement;
- public static String CustomXmlParserInputWizardPage_addDocumentEleemnt;
- public static String CustomXmlParserInputWizardPage_addDocumentElement;
- public static String CustomXmlParserInputWizardPage_addNextElement;
- public static String CustomXmlParserInputWizardPage_append;
- public static String CustomXmlParserInputWizardPage_appendWith;
- public static String CustomXmlParserInputWizardPage_attibute;
- public static String CustomXmlParserInputWizardPage_category;
- public static String CustomXmlParserInputWizardPage_descriptionEdit;
- public static String CustomXmlParserInputWizardPage_descriptionNew;
- public static String CustomXmlParserInputWizardPage_elementName;
- public static String CustomXmlParserInputWizardPage_feelingLucky;
- public static String CustomXmlParserInputWizardPage_format;
- public static String CustomXmlParserInputWizardPage_logEntry;
- public static String CustomXmlParserInputWizardPage_logType;
- public static String CustomXmlParserInputWizardPage_moveDown;
- public static String CustomXmlParserInputWizardPage_moveUp;
- public static String CustomXmlParserInputWizardPage_name;
- public static String CustomXmlParserInputWizardPage_newAttibute;
- public static String CustomXmlParserInputWizardPage_noMatchingAttribute;
- public static String CustomXmlParserInputWizardPage_noMatch;
- public static String CustomXmlParserInputWizardPage_noMatchingElement;
- public static String CustomXmlParserInputWizardPage_preview;
- public static String CustomXmlParserInputWizardPage_previewInput;
- public static String CustomXmlParserInputWizardPage_removeAttribute;
- public static String CustomXmlParserInputWizardPage_removeElement;
- public static String CustomXmlParserInputWizardPage_set;
- public static String CustomXmlParserInputWizardPage_tagName;
- public static String CustomXmlParserInputWizardPage_timestampFormat;
- public static String CustomXmlParserInputWizardPage_timestampFormatHelp;
- public static String CustomXmlParserInputWizardPage_titleEdit;
- public static String CustomXmlParserInputWizardPage_titleNew;
- public static String CustomXmlParserOutputWizardPage_description;
- public static String CustomXmlParserOutputWizardPage_moveAfter;
- public static String CustomXmlParserOutputWizardPage_moveBefore;
- public static String CustomXmlParserOutputWizardPage_visible;
-
- public static String FilterDialog_FilterDialogTitle;
- public static String FilterView_AddActionToolTipText;
- public static String FilterView_DeleteActionToolTipText;
- public static String FilterView_ExportActionToolTipText;
- public static String FilterView_FileDialogFilterName;
- public static String FilterView_ImportActionToolTipText;
- public static String FilterView_SaveActionToolTipText;
- public static String FilterViewer_AlphaButtonText;
- public static String FilterViewer_CommonCategory;
- public static String FilterViewer_DeleteActionText;
- public static String FilterViewer_EmptyTreeHintText;
- public static String FilterViewer_FieldLabel;
- public static String FilterViewer_FilterNameHint;
- public static String FilterViewer_IgnoreCaseButtonText;
- public static String FilterViewer_NameLabel;
- public static String FilterViewer_NewPrefix;
- public static String FilterViewer_NotLabel;
- public static String FilterViewer_NumButtonText;
- public static String FilterViewer_RegexHint;
- public static String FilterViewer_RegexLabel;
- public static String FilterViewer_ResultLabel;
- public static String FilterViewer_Subfilter_ToolTip;
- public static String FilterViewer_TimestampButtonText;
- public static String FilterViewer_TypeLabel;
- public static String FilterViewer_ValueHint;
- public static String FilterViewer_ValueLabel;
-
- public static String TmfView_PinActionNameText;
- public static String TmfView_PinActionToolTipText;
-
- public static String CallStackPresentationProvider_Thread;
- public static String CallStackView_FunctionColumn;
- public static String CallStackView_DepthColumn;
- public static String CallStackView_EntryTimeColumn;
- public static String CallStackView_ExitTimeColumn;
- public static String CallStackView_DurationColumn;
- public static String CallStackView_StackInfoNotAvailable;
- public static String CallStackView_SortByThreadName;
- public static String CallStackView_SortByThreadId;
- public static String CallStackView_SortByThreadTime;
- public static String CallStackView_ImportMappingButtonText;
- public static String CallStackView_ImportMappingButtonTooltip;
- public static String CallStackView_ImportMappingDialogTitle;
- public static String CallStackView_ImportMappingJobName;
-
- public static String CallStackView_ImportBinaryFileButtonText;
- public static String CallStackView_ImportBinaryFileButtonTooltip;
- public static String CallStackView_ImportBinaryFileDialogTitle;
-
- public static String ExportToTextJob_Export_to;
- public static String ExportToTextJob_Export_trace_to;
- public static String ExportToTextJob_Unable_to_export_trace;
-
- static {
- // initialize resource bundle
- NLS.initializeMessages(BUNDLE_NAME, Messages.class);
- }
-
- private Messages() {
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/TmfUiTracer.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/TmfUiTracer.java
deleted file mode 100644
index 24f4ed97fc..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/TmfUiTracer.java
+++ /dev/null
@@ -1,245 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2012, 2014 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
- *
- *******************************************************************************/
-
-package org.eclipse.linuxtools.internal.tmf.ui;
-
-import java.io.BufferedWriter;
-import java.io.FileWriter;
-import java.io.IOException;
-
-import org.eclipse.core.runtime.Platform;
-
-/**
- * Tracer class for the tmf.ui plugin
- */
-@SuppressWarnings("nls")
-public class TmfUiTracer {
-
- private static String pluginID = Activator.PLUGIN_ID;
-
- static boolean ERROR = false;
- static boolean WARNING = false;
- static boolean INFO = false;
-
- static boolean INDEX = false;
- static boolean DISPLAY = false;
- static boolean SORTING = false;
-
- private static String LOGNAME = "traceUI.log";
- private static BufferedWriter fTraceLog = null;
-
- private static BufferedWriter openLogFile(String filename) {
- BufferedWriter outfile = null;
- try {
- outfile = new BufferedWriter(new FileWriter(filename));
- } catch (IOException e) {
- Activator.getDefault().logError("Error creating log file " + LOGNAME, e); //$NON-NLS-1$
- }
- return outfile;
- }
-
- /**
- * Initialize tracing
- */
- public static void init() {
-
- String traceKey;
- boolean isTracing = false;
-
- traceKey = Platform.getDebugOption(pluginID + "/error");
- if (traceKey != null) {
- ERROR = (Boolean.valueOf(traceKey)).booleanValue();
- isTracing |= ERROR;
- }
-
- traceKey = Platform.getDebugOption(pluginID + "/warning");
- if (traceKey != null) {
- WARNING = (Boolean.valueOf(traceKey)).booleanValue();
- isTracing |= WARNING;
- }
-
- traceKey = Platform.getDebugOption(pluginID + "/info");
- if (traceKey != null) {
- INFO = (Boolean.valueOf(traceKey)).booleanValue();
- isTracing |= INFO;
- }
-
- traceKey = Platform.getDebugOption(pluginID + "/updateindex");
- if (traceKey != null) {
- INDEX = (Boolean.valueOf(traceKey)).booleanValue();
- isTracing |= INDEX;
- }
-
- traceKey = Platform.getDebugOption(pluginID + "/display");
- if (traceKey != null) {
- DISPLAY = (Boolean.valueOf(traceKey)).booleanValue();
- isTracing |= DISPLAY;
- }
-
- traceKey = Platform.getDebugOption(pluginID + "/sorting");
- if (traceKey != null) {
- SORTING = (Boolean.valueOf(traceKey)).booleanValue();
- isTracing |= SORTING;
- }
-
- // Create trace log file if needed
- if (isTracing) {
- fTraceLog = openLogFile(LOGNAME);
- }
- }
-
- /**
- * Stop tracing
- */
- public static void stop() {
- if (fTraceLog == null) {
- return;
- }
-
- try {
- fTraceLog.close();
- fTraceLog = null;
- } catch (IOException e) {
- Activator.getDefault().logError("Error closing log file " + LOGNAME, e); //$NON-NLS-1$
- }
- }
-
- // ------------------------------------------------------------------------
- // Predicates
- // ------------------------------------------------------------------------
-
- /**
- * @return If ERROR messages are traced
- */
- public static boolean isErrorTraced() {
- return ERROR;
- }
-
- /**
- * @return If INDEX messages are traced
- */
- public static boolean isIndexTraced() {
- return INDEX;
- }
-
- /**
- * @return If DISPLAY messages are traced
- */
- public static boolean isDisplayTraced() {
- return DISPLAY;
- }
-
- /**
- * @return If SORTING messages are traced
- */
- public static boolean isSortingTraced() {
- return SORTING;
- }
-
-
- // ------------------------------------------------------------------------
- // Tracing methods
- // ------------------------------------------------------------------------
-
- /**
- * Trace a generic event
- *
- * @param msg
- * The event's message
- */
- public static void trace(String msg) {
- // Leave when there is no place to write the message.
- if (fTraceLog == null) {
- return;
- }
-
- long currentTime = System.currentTimeMillis();
- StringBuilder message = new StringBuilder("[");
- message.append(currentTime / 1000);
- message.append(".");
- message.append(String.format("%1$03d", currentTime % 1000));
- message.append("] ");
- message.append(msg);
-
- try {
- fTraceLog.write(message.toString());
- fTraceLog.newLine();
- fTraceLog.flush();
- } catch (IOException e) {
- Activator.getDefault().logError("Error writing to log file " + LOGNAME, e); //$NON-NLS-1$
- }
- }
-
- /**
- * Trace an INDEX event
- *
- * @param msg
- * The event's message
- */
- public static void traceIndex(String msg) {
- String message = ("[INDEX] " + msg);
- trace(message);
- }
-
- /**
- * Trace a DISPLAY event
- *
- * @param msg
- * The event's message
- */
- public static void traceDisplay(String msg) {
- String message = ("[DISPLAY]" + msg);
- trace(message);
- }
-
- /**
- * Trace a SORTING event
- *
- * @param msg
- * The event's message
- */
- public static void traceSorting(String msg) {
- String message = ("[SORT] " + msg);
- trace(message);
- }
-
- /**
- * Trace an ERROR event
- *
- * @param msg
- * The event's message
- */
- public static void traceError(String msg) {
- String message = ("[ERR] Thread=" + Thread.currentThread().getId() + " " + msg);
- trace(message);
- }
-
- /**
- * Trace a WARNING event
- *
- * @param msg
- * The event's message
- */
- public static void traceWarning(String msg) {
- String message = ("[WARN] Thread=" + Thread.currentThread().getId() + " " + msg);
- trace(message);
- }
-
- /**
- * Trace an INFO event
- *
- * @param msg
- * The event's message
- */
- public static void traceInfo(String msg) {
- String message = ("[INF] Thread=" + Thread.currentThread().getId() + " " + msg);
- trace(message);
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/commands/ExportToTextCommandHandler.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/commands/ExportToTextCommandHandler.java
deleted file mode 100644
index f8f4a82300..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/commands/ExportToTextCommandHandler.java
+++ /dev/null
@@ -1,81 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013, 2014 Kalray, 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:
- * Xavier Raynaud - Initial API and implementation
- * Bernd Hufmann - Adapted to new events table column API
- *******************************************************************************/
-
-package org.eclipse.linuxtools.internal.tmf.ui.commands;
-
-import java.util.List;
-
-import org.eclipse.core.commands.AbstractHandler;
-import org.eclipse.core.commands.ExecutionEvent;
-import org.eclipse.core.commands.ExecutionException;
-import org.eclipse.core.expressions.IEvaluationContext;
-import org.eclipse.core.runtime.jobs.Job;
-import org.eclipse.linuxtools.tmf.core.filter.ITmfFilter;
-import org.eclipse.linuxtools.tmf.core.trace.ITmfTrace;
-import org.eclipse.linuxtools.tmf.core.trace.TmfTraceManager;
-import org.eclipse.linuxtools.tmf.ui.viewers.events.columns.TmfEventTableColumn;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.widgets.FileDialog;
-import org.eclipse.ui.PlatformUI;
-
-/**
- * This handler exports traces to text files.
- * @author Xavier Raynaud <xavier.raynaud@kalray.eu>
- */
-public class ExportToTextCommandHandler extends AbstractHandler {
-
- /** Id of the export-to-text command */
- public static final String COMMAND_ID = "org.eclipse.linuxtools.tmf.ui.exportToText"; //$NON-NLS-1$
- /**
- * Id used to retrieve the header (as a String) of the trace to export.
- * This header is from the application context of this handler.
- */
- public static final String TMF_EVENT_TABLE_COLUMNS_ID = "org.eclipse.linuxtools.tmf.ui.exportToText.columns"; //$NON-NLS-1$
-
- /**
- * Constructor
- */
- public ExportToTextCommandHandler() {
- }
-
- @Override
- public Object execute(ExecutionEvent event) throws ExecutionException {
- List<TmfEventTableColumn> columns = getColumns(event.getApplicationContext());
- ITmfTrace trace = TmfTraceManager.getInstance().getActiveTrace();
- ITmfFilter filter = TmfTraceManager.getInstance().getCurrentFilter();
- if (trace != null) {
- FileDialog fd = new FileDialog(PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell(), SWT.SAVE);
- fd.setFilterExtensions(new String[] { "*.csv", "*.*", "*" }); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- fd.setOverwrite(true);
- final String s = fd.open();
- if (s != null) {
- Job j = new ExportToTextJob(trace, filter, columns, s);
- j.setUser(true);
- j.schedule();
- }
- }
- return null;
- }
-
- @SuppressWarnings("unchecked")
- private static List<TmfEventTableColumn> getColumns(Object evaluationContext) {
- if (evaluationContext instanceof IEvaluationContext) {
- Object s = ((IEvaluationContext) evaluationContext).getVariable(TMF_EVENT_TABLE_COLUMNS_ID);
- if (s instanceof List<?>) {
- return (List<TmfEventTableColumn>) s;
- }
- }
- return null;
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/commands/ExportToTextJob.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/commands/ExportToTextJob.java
deleted file mode 100644
index 4ffef85d23..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/commands/ExportToTextJob.java
+++ /dev/null
@@ -1,135 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013, 2014 Kalray, 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:
- * Xavier Raynaud - Initial API and implementation
- * Bernd Hufmann - Adapted to new events table column API
- *******************************************************************************/
-
-package org.eclipse.linuxtools.internal.tmf.ui.commands;
-
-import java.io.BufferedWriter;
-import java.io.FileWriter;
-import java.io.IOException;
-import java.io.Writer;
-import java.text.MessageFormat;
-import java.util.List;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.core.runtime.jobs.Job;
-import org.eclipse.linuxtools.internal.tmf.ui.Activator;
-import org.eclipse.linuxtools.internal.tmf.ui.Messages;
-import org.eclipse.linuxtools.tmf.core.filter.ITmfFilter;
-import org.eclipse.linuxtools.tmf.core.trace.ITmfTrace;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.linuxtools.tmf.ui.viewers.events.columns.TmfEventTableColumn;
-
-/**
- * This job exports traces to text files.
- * @author Xavier Raynaud <xavier.raynaud@kalray.eu>
- */
-public class ExportToTextJob extends Job {
-
- private static final int TOTAL_WORK = 100;
- private static final int SLEEPING_INTERVAL = 100;
-
- /** the ExportToCSV job family */
- public static final Object ExportToCSVJobFamily = new Object();
-
- private final ITmfTrace fTrace;
- private final ITmfFilter fFilter;
- private final List<TmfEventTableColumn> fColumns;
- private final String destination;
-
- /**
- * Job constructor.
- *
- * @param trace
- * the trace to export
- * @param filter
- * the filter to apply when exporting the trace. may be null.
- * @param columns
- * the header to put at top of the exported file (may be <code>null</code>)
- * @param destination
- * the path of the file where the data is exported.
- */
- public ExportToTextJob(ITmfTrace trace, ITmfFilter filter, List<TmfEventTableColumn> columns, String destination) {
- super(MessageFormat.format(Messages.ExportToTextJob_Export_to, destination));
- this.fTrace = trace;
- this.fFilter = filter;
- this.fColumns = columns;
- this.destination = destination;
- }
-
- @Override
- public IStatus run(IProgressMonitor monitor) {
- monitor.beginTask(NLS.bind(Messages.ExportToTextJob_Export_trace_to, destination), TOTAL_WORK);
- IStatus ret = saveImpl(monitor);
- monitor.done();
- return ret;
- }
-
- private IStatus saveImpl(IProgressMonitor monitor) {
- try (final BufferedWriter bw = new BufferedWriter(new FileWriter(destination));) {
- if (fColumns != null) {
- boolean needTab = false;
- for (TmfEventTableColumn column : fColumns) {
- if (needTab) {
- bw.write('\t');
- }
- bw.write(column.getHeaderName());
- needTab = true;
- }
- bw.append('\n');
- }
- return saveImpl(bw, monitor);
- } catch (IOException ex) {
- Status status = new Status(IStatus.ERROR, Activator.PLUGIN_ID,
- MessageFormat.format(Messages.ExportToTextJob_Unable_to_export_trace, destination),
- ex);
- return status;
- }
- }
-
- private IStatus saveImpl(Writer bw, IProgressMonitor monitor) {
- ExportToTextRequest request = new ExportToTextRequest(bw, fFilter, fColumns);
- fTrace.sendRequest(request);
- int currentIndex = 0;
- while (!request.isCompleted()) {
- if (monitor.isCanceled()) {
- request.cancel();
- return Status.CANCEL_STATUS;
- }
- int index = (int) (request.getNbRead() * TOTAL_WORK / fTrace.getNbEvents());
- if (index > currentIndex) {
- int progress = index - currentIndex;
- monitor.worked(progress);
- currentIndex = index;
- }
- try {
- Thread.sleep(SLEEPING_INTERVAL);
- } catch (InterruptedException e) {
- }
- }
- if (request.isFailed()) {
- Status status = new Status(IStatus.ERROR, Activator.PLUGIN_ID,
- MessageFormat.format(Messages.ExportToTextJob_Unable_to_export_trace, destination),
- request.getIOException());
- return status;
- }
- return Status.OK_STATUS;
- }
-
- @Override
- public boolean belongsTo(Object family) {
- return ExportToCSVJobFamily.equals(family);
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/commands/ExportToTextRequest.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/commands/ExportToTextRequest.java
deleted file mode 100644
index 950d9739a9..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/commands/ExportToTextRequest.java
+++ /dev/null
@@ -1,103 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013, 2014 Kalray, 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:
- * Xavier Raynaud - Initial API and implementation
- * Bernd Hufmann - Adapted to new events table column API
- *******************************************************************************/
-
-package org.eclipse.linuxtools.internal.tmf.ui.commands;
-
-import java.io.IOException;
-import java.io.Writer;
-import java.util.List;
-
-import org.eclipse.linuxtools.tmf.core.event.ITmfEvent;
-import org.eclipse.linuxtools.tmf.core.event.ITmfEventField;
-import org.eclipse.linuxtools.tmf.core.filter.ITmfFilter;
-import org.eclipse.linuxtools.tmf.core.request.ITmfEventRequest;
-import org.eclipse.linuxtools.tmf.core.request.TmfEventRequest;
-import org.eclipse.linuxtools.tmf.core.timestamp.TmfTimeRange;
-import org.eclipse.linuxtools.tmf.ui.viewers.events.columns.TmfEventTableColumn;
-
-/**
- * This TMF Requests exports traces to text files.
- * @author Xavier Raynaud <xavier.raynaud@kalray.eu>
- */
-public class ExportToTextRequest extends TmfEventRequest {
-
- private final Writer fWriter;
- private final ITmfFilter fFilter;
- private final List<TmfEventTableColumn> fColumns;
- private IOException fIOException;
-
- /**
- * Constructor
- * @param w
- * a Writer, typically a FileWriter.
- * @param filter
- * a TmfFilter, if we want to filter some events. May be <code>null</code>.
- * @param columns
- * the {@link TmfEventTableColumn} requesting the export (may be <code>null</code>)
- */
- public ExportToTextRequest(Writer w, ITmfFilter filter, List<TmfEventTableColumn> columns) {
- super(ITmfEvent.class, TmfTimeRange.ETERNITY, 0, ITmfEventRequest.ALL_DATA, ExecutionType.FOREGROUND);
- this.fWriter = w;
- this.fFilter = filter;
- this.fColumns = columns;
- }
-
- /**
- * Gets the IOException thrown by this export request, if any.
- * @return the fIoException
- */
- public IOException getIOException() {
- return fIOException;
- }
-
- @Override
- public void handleData(final ITmfEvent event) {
- super.handleData(event);
- if (isCancelled()) {
- return;
- }
- try {
- if (fFilter == null || fFilter.matches(event)) {
- if (fColumns != null) {
- boolean needTab = false;
- for (TmfEventTableColumn column : fColumns) {
- if (needTab) {
- fWriter.write('\t');
- }
- fWriter.write(column.getItemString(event));
- needTab = true;
- }
- } else { // fallback to default formatting
- fWriter.write(event.getTimestamp().toString());
- fWriter.write('\t');
- fWriter.write(event.getSource());
- fWriter.write('\t');
- fWriter.write(event.getType().getName());
- fWriter.write('\t');
- fWriter.write(event.getReference());
- fWriter.write('\t');
- ITmfEventField content = event.getContent();
- Object value = content.getValue();
- if (value != null) {
- fWriter.write(value.toString());
- }
- }
- fWriter.write('\n');
- }
- } catch (IOException ex) {
- fIOException = ex;
- fail();
- }
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/commands/ManageCustomParsersCommandHandler.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/commands/ManageCustomParsersCommandHandler.java
deleted file mode 100644
index 1f73c8a002..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/commands/ManageCustomParsersCommandHandler.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010, 2013 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:
- * Patrick Tasse - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.internal.tmf.ui.commands;
-
-import org.eclipse.core.commands.AbstractHandler;
-import org.eclipse.core.commands.ExecutionEvent;
-import org.eclipse.core.commands.ExecutionException;
-import org.eclipse.linuxtools.internal.tmf.ui.dialogs.ManageCustomParsersDialog;
-import org.eclipse.swt.widgets.Display;
-
-/**
- * Command handler for custom text parsers.
- *
- * @author Patrick Tassé
- */
-public class ManageCustomParsersCommandHandler extends AbstractHandler {
-
- @Override
- public Object execute(ExecutionEvent event) throws ExecutionException {
- ManageCustomParsersDialog dialog = new ManageCustomParsersDialog(Display.getDefault().getActiveShell());
- dialog.open();
- return null;
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/commands/Messages.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/commands/Messages.java
deleted file mode 100644
index d8d5d4ada3..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/commands/Messages.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2013 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:
- * Marc-Andre Laperle - Initial API and implementation
- **********************************************************************/
-
-package org.eclipse.linuxtools.internal.tmf.ui.commands;
-
-import org.eclipse.osgi.util.NLS;
-
-/**
- * Messages for commands
- *
- * @author Marc-Andre Laperle
- */
-public class Messages extends NLS {
- private static final String BUNDLE_NAME = "org.eclipse.linuxtools.internal.tmf.ui.commands.messages"; //$NON-NLS-1$
-
- /** Select trace directory */
- public static String OpenDirHandler_SelectTraceDirectory;
- /** Select trace file */
- public static String OpenFileHandler_SelectTraceFile;
-
- static {
- // initialize resource bundle
- NLS.initializeMessages(BUNDLE_NAME, Messages.class);
- }
-
- private Messages() {
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/commands/OpenFileHandler.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/commands/OpenFileHandler.java
deleted file mode 100644
index 456dd6bbbb..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/commands/OpenFileHandler.java
+++ /dev/null
@@ -1,79 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2013, 2014 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:
- * Matthew Khouzam - Initial API and implementation
- * Patrick Tasse - Add support for folder elements
- **********************************************************************/
-
-package org.eclipse.linuxtools.internal.tmf.ui.commands;
-
-import org.eclipse.core.commands.AbstractHandler;
-import org.eclipse.core.commands.ExecutionEvent;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.linuxtools.internal.tmf.ui.Activator;
-import org.eclipse.linuxtools.tmf.core.TmfCommonConstants;
-import org.eclipse.linuxtools.tmf.ui.project.model.TmfOpenTraceHelper;
-import org.eclipse.linuxtools.tmf.ui.project.model.TmfProjectElement;
-import org.eclipse.linuxtools.tmf.ui.project.model.TmfProjectRegistry;
-import org.eclipse.linuxtools.tmf.ui.project.model.TmfTraceFolder;
-import org.eclipse.swt.widgets.FileDialog;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.handlers.HandlerUtil;
-
-/**
- * Open file handler, used to open files (not directories)
- *
- * @author Matthew Khouzam
- */
-public class OpenFileHandler extends AbstractHandler {
-
- @Override
- public Object execute(ExecutionEvent event) {
-
- ISelection currentSelection = HandlerUtil.getCurrentSelection(event);
- // Menu Selection is not null for context-sensitive menu
- ISelection menuSelection = HandlerUtil.getActiveMenuSelection(event);
-
- // Get trace path
- final Shell shell = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell();
- FileDialog fd = new FileDialog(shell);
- fd.setText(Messages.OpenFileHandler_SelectTraceFile);
- String filePath = fd.open();
- if (filePath == null) {
- return null;
- }
-
- try {
-
- TmfTraceFolder destinationFolder;
-
- if ((menuSelection != null) && (currentSelection instanceof IStructuredSelection)) {
- // If handler is called from the context sensitive menu of a tracing project import to
- // the traces folder from this project
- destinationFolder = TmfHandlerUtil.getTraceFolderFromSelection(currentSelection);
- } else {
- // If handler is called from file menu import into default tracing project
- IProject project = TmfProjectRegistry.createProject(
- TmfCommonConstants.DEFAULT_TRACE_PROJECT_NAME, null, new NullProgressMonitor());
- TmfProjectElement projectElement = TmfProjectRegistry.getProject(project, true);
- destinationFolder = projectElement.getTracesFolder();
- }
-
- TmfOpenTraceHelper.openTraceFromPath(destinationFolder, filePath, shell);
- } catch (CoreException e) {
- Activator.getDefault().logError(e.getMessage(), e);
- }
- return null;
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/commands/TmfHandlerUtil.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/commands/TmfHandlerUtil.java
deleted file mode 100644
index ebfe2a49a6..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/commands/TmfHandlerUtil.java
+++ /dev/null
@@ -1,76 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013, 2014 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:
- * Marc-Andre Laperle - Initial API and implementation
- * Patrick Tasse - Add support for folder elements
- *******************************************************************************/
-
-package org.eclipse.linuxtools.internal.tmf.ui.commands;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.linuxtools.tmf.ui.project.model.ITmfProjectModelElement;
-import org.eclipse.linuxtools.tmf.ui.project.model.TmfTraceFolder;
-
-/**
- * Utility methods for handlers
- *
- * @author Marc-Andre Laperle
- */
-public class TmfHandlerUtil {
-
- /**
- * Get the enclosing project from the selection
- *
- * @param selection
- * the selection
- *
- * @return the enclosing project or null if selection is no enclosed by a
- * project
- */
- public static IProject getProjectFromSelection(ISelection selection) {
- if (selection instanceof IStructuredSelection) {
- IStructuredSelection structuredSelection = (IStructuredSelection) selection;
- Object firstElement = structuredSelection.getFirstElement();
- if (firstElement instanceof ITmfProjectModelElement) {
- ITmfProjectModelElement tmfProjectElement = (ITmfProjectModelElement) firstElement;
- return tmfProjectElement.getProject().getResource();
- }
- }
-
- return null;
- }
-
- /**
- * Get the trace folder from the selection
- *
- * @param selection
- * the selection
- *
- * @return the enclosing project or null if selection is no enclosed by a
- * project
- */
- public static TmfTraceFolder getTraceFolderFromSelection(ISelection selection) {
- if (selection instanceof IStructuredSelection) {
- IStructuredSelection structuredSelection = (IStructuredSelection) selection;
- Object firstElement = structuredSelection.getFirstElement();
- if (firstElement instanceof ITmfProjectModelElement) {
- ITmfProjectModelElement element = (ITmfProjectModelElement) firstElement;
- while (element != null) {
- if (element instanceof TmfTraceFolder) {
- return (TmfTraceFolder) element;
- }
- element = element.getParent();
- }
- }
- }
- return null;
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/commands/messages.properties b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/commands/messages.properties
deleted file mode 100644
index 911dd9d6eb..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/commands/messages.properties
+++ /dev/null
@@ -1,14 +0,0 @@
-###############################################################################
-# Copyright (c) 2013 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:
-# Marc-Andre Laperle - initial API and implementation
-###############################################################################
-
-OpenDirHandler_SelectTraceDirectory=Open trace directory
-OpenFileHandler_SelectTraceFile=Open trace file \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/dialogs/ManageCustomParsersDialog.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/dialogs/ManageCustomParsersDialog.java
deleted file mode 100644
index 459a66016c..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/dialogs/ManageCustomParsersDialog.java
+++ /dev/null
@@ -1,367 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010, 2014 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:
- * Patrick Tasse - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.internal.tmf.ui.dialogs;
-
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.window.Window;
-import org.eclipse.jface.wizard.WizardDialog;
-import org.eclipse.linuxtools.internal.tmf.ui.Activator;
-import org.eclipse.linuxtools.internal.tmf.ui.Messages;
-import org.eclipse.linuxtools.internal.tmf.ui.parsers.wizards.CustomTxtParserWizard;
-import org.eclipse.linuxtools.internal.tmf.ui.parsers.wizards.CustomXmlParserWizard;
-import org.eclipse.linuxtools.tmf.core.parsers.custom.CustomTraceDefinition;
-import org.eclipse.linuxtools.tmf.core.parsers.custom.CustomTxtTraceDefinition;
-import org.eclipse.linuxtools.tmf.core.parsers.custom.CustomXmlTraceDefinition;
-import org.eclipse.linuxtools.tmf.core.project.model.TmfTraceType;
-import org.eclipse.linuxtools.tmf.core.project.model.TraceTypeHelper;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.events.SelectionListener;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.FileDialog;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.List;
-import org.eclipse.swt.widgets.Shell;
-
-/**
- * Dialog for custom text parsers.
- *
- * @author Patrick Tassé
- */
-public class ManageCustomParsersDialog extends Dialog {
-
- private static final String SEP = " : "; //$NON-NLS-1$
- private static final int SEP_LEN = SEP.length();
-
- private static final Image image = Activator.getDefault().getImageFromPath("/icons/etool16/customparser_wizard.gif"); //$NON-NLS-1$
-
- Button txtButton;
- Button xmlButton;
- List parserList;
- Button newButton;
- Button editButton;
- Button deleteButton;
- Button importButton;
- Button exportButton;
-
- /**
- * Constructor
- *
- * @param parent
- * Parent shell of this dialog
- */
- public ManageCustomParsersDialog(Shell parent) {
- super(parent);
- setShellStyle(SWT.RESIZE | SWT.MAX | getShellStyle());
- }
-
- @Override
- protected Control createDialogArea(Composite parent) {
- getShell().setText(Messages.ManageCustomParsersDialog_DialogHeader);
- getShell().setImage(image);
-
- Composite composite = (Composite) super.createDialogArea(parent);
- composite.setLayout(new GridLayout(2, false));
-
- Composite listContainer = new Composite(composite, SWT.NONE);
- listContainer.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
- GridLayout lcgl = new GridLayout();
- lcgl.marginHeight = 0;
- lcgl.marginWidth = 0;
- listContainer.setLayout(lcgl);
-
- Composite radioContainer = new Composite(listContainer, SWT.NONE);
- GridLayout rcgl = new GridLayout(2, true);
- rcgl.marginHeight = 0;
- rcgl.marginWidth = 0;
- radioContainer.setLayout(rcgl);
-
- txtButton = new Button(radioContainer, SWT.RADIO);
- txtButton.setText(Messages.ManageCustomParsersDialog_TextButtonLabel);
- txtButton.setSelection(true);
- txtButton.addSelectionListener(new SelectionListener() {
- @Override
- public void widgetDefaultSelected(SelectionEvent e) {}
-
- @Override
- public void widgetSelected(SelectionEvent e) {
- fillParserList();
- }
- });
-
- xmlButton = new Button(radioContainer, SWT.RADIO);
- xmlButton.setText("XML"); //$NON-NLS-1$
- xmlButton.addSelectionListener(new SelectionListener() {
- @Override
- public void widgetDefaultSelected(SelectionEvent e) {
- }
-
- @Override
- public void widgetSelected(SelectionEvent e) {
- fillParserList();
- }
- });
-
- parserList = new List(listContainer, SWT.SINGLE | SWT.BORDER | SWT.H_SCROLL | SWT.V_SCROLL);
- parserList.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
- parserList.addSelectionListener(new SelectionListener() {
- @Override
- public void widgetDefaultSelected(SelectionEvent e) {}
-
- @Override
- public void widgetSelected(SelectionEvent e) {
- if (parserList.getSelectionCount() == 0) {
- editButton.setEnabled(false);
- deleteButton.setEnabled(false);
- exportButton.setEnabled(false);
- } else {
- editButton.setEnabled(true);
- deleteButton.setEnabled(true);
- exportButton.setEnabled(true);
- }
- }
- });
-
- Composite buttonContainer = new Composite(composite, SWT.NULL);
- buttonContainer.setLayout(new GridLayout());
- buttonContainer.setLayoutData(new GridData(SWT.CENTER, SWT.TOP, false, false));
-
- newButton = new Button(buttonContainer, SWT.PUSH);
- newButton.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, false, false));
- newButton.setText(Messages.ManageCustomParsersDialog_NewButtonLabel);
- newButton.addSelectionListener(new SelectionListener() {
- @Override
- public void widgetDefaultSelected(SelectionEvent e) {}
-
- @Override
- public void widgetSelected(SelectionEvent e) {
- WizardDialog dialog = null;
- if (txtButton.getSelection()) {
- dialog = new WizardDialog(getShell(), new CustomTxtParserWizard());
- } else if (xmlButton.getSelection()) {
- dialog = new WizardDialog(getShell(), new CustomXmlParserWizard());
- }
- if (dialog != null) {
- dialog.open();
- if (dialog.getReturnCode() == Window.OK) {
- fillParserList();
- }
- }
- }
- });
-
- editButton = new Button(buttonContainer, SWT.PUSH);
- editButton.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, false, false));
- editButton.setText(Messages.ManageCustomParsersDialog_EditButtonLabel);
- editButton.setEnabled(false);
- editButton.addSelectionListener(new SelectionListener() {
- @Override
- public void widgetDefaultSelected(SelectionEvent e) {}
-
- @Override
- public void widgetSelected(SelectionEvent e) {
- WizardDialog dialog = null;
- String selection = parserList.getSelection()[0];
- String category = selection.substring(0, selection.indexOf(SEP));
- String name = selection.substring(selection.indexOf(SEP) + SEP_LEN);
- if (txtButton.getSelection()) {
- dialog = new WizardDialog(getShell(),
- new CustomTxtParserWizard(CustomTxtTraceDefinition.load(category, name)));
- } else if (xmlButton.getSelection()) {
- dialog = new WizardDialog(getShell(),
- new CustomXmlParserWizard(CustomXmlTraceDefinition.load(category, name)));
- }
- if (dialog != null) {
- dialog.open();
- if (dialog.getReturnCode() == Window.OK) {
- fillParserList();
- }
- }
- }
- });
-
- deleteButton = new Button(buttonContainer, SWT.PUSH);
- deleteButton.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, false, false));
- deleteButton.setText(Messages.ManageCustomParsersDialog_DeleteButtonLabel);
- deleteButton.setEnabled(false);
- deleteButton.addSelectionListener(new SelectionListener() {
- @Override
- public void widgetDefaultSelected(SelectionEvent e) {}
-
- @Override
- public void widgetSelected(SelectionEvent e) {
- boolean confirm = MessageDialog.openQuestion(
- getShell(),
- Messages.ManageCustomParsersDialog_DeleteParserDialogHeader,
- NLS.bind(Messages.ManageCustomParsersDialog_DeleteConfirmation, parserList.getSelection()[0]));
- if (confirm) {
- String selection = parserList.getSelection()[0];
- String category = selection.substring(0, selection.indexOf(SEP));
- String name = selection.substring(selection.indexOf(SEP) + SEP_LEN);
- if (txtButton.getSelection()) {
- CustomTxtTraceDefinition.delete(category, name);
- } else if (xmlButton.getSelection()) {
- CustomXmlTraceDefinition.delete(category, name);
- }
- fillParserList();
- }
- }
- });
-
- new Label(buttonContainer, SWT.NONE); // filler
-
- importButton = new Button(buttonContainer, SWT.PUSH);
- importButton.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, false, false));
- importButton.setText(Messages.ManageCustomParsersDialog_ImportButtonLabel);
- importButton.addSelectionListener(new SelectionListener() {
- @Override
- public void widgetDefaultSelected(SelectionEvent e) {}
-
- @Override
- public void widgetSelected(SelectionEvent e) {
- FileDialog dialog = new FileDialog(Display.getCurrent().getActiveShell(), SWT.OPEN);
- dialog.setText(Messages.ManageCustomParsersDialog_ImportParserSelection);
- dialog.setFilterExtensions(new String[] { "*.xml", "*" }); //$NON-NLS-1$ //$NON-NLS-2$
- String path = dialog.open();
- if (path != null) {
- CustomTraceDefinition[] defs = null;
- if (txtButton.getSelection()) {
- defs = CustomTxtTraceDefinition.loadAll(path);
- } else if (xmlButton.getSelection()) {
- defs = CustomXmlTraceDefinition.loadAll(path);
- }
- if (defs != null && defs.length > 0) {
- for (CustomTraceDefinition def : defs) {
- boolean ok = checkNameConflict(def);
- if (ok) {
- def.save();
- }
- }
- fillParserList();
- }
- }
- }
- });
-
- exportButton = new Button(buttonContainer, SWT.PUSH);
- exportButton.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, false, false));
- exportButton.setText(Messages.ManageCustomParsersDialog_ExportButtonLabel);
- exportButton.setEnabled(false);
- exportButton.addSelectionListener(new SelectionListener() {
- @Override
- public void widgetDefaultSelected(SelectionEvent e) {}
-
- @Override
- public void widgetSelected(SelectionEvent e) {
- FileDialog dialog = new FileDialog(Display.getCurrent().getActiveShell(), SWT.SAVE);
- dialog.setText(NLS.bind(Messages.ManageCustomParsersDialog_ExportParserSelection, parserList.getSelection()[0]));
- dialog.setFilterExtensions(new String[] { "*.xml", "*" }); //$NON-NLS-1$ //$NON-NLS-2$
- String path = dialog.open();
- if (path != null) {
- String selection = parserList.getSelection()[0];
- String category = selection.substring(0, selection.indexOf(SEP));
- String name = selection.substring(selection.indexOf(SEP) + SEP_LEN);
- CustomTraceDefinition def = null;
- if (txtButton.getSelection()) {
- def = CustomTxtTraceDefinition.load(category, name);
- } else if (xmlButton.getSelection()) {
- def = CustomXmlTraceDefinition.load(category, name);
- }
- if (def != null) {
- def.save(path);
- }
- }
- }
- });
-
- fillParserList();
-
- getShell().setMinimumSize(300, 275);
- return composite;
- }
-
- @Override
- protected void createButtonsForButtonBar(Composite parent) {
- createButton(parent, IDialogConstants.OK_ID, IDialogConstants.CLOSE_LABEL, false);
- }
-
- private void fillParserList() {
- parserList.removeAll();
- if (txtButton.getSelection()) {
- for (CustomTxtTraceDefinition def : CustomTxtTraceDefinition.loadAll(false)) {
- parserList.add(def.categoryName + SEP + def.definitionName);
- }
- } else if (xmlButton.getSelection()) {
- for (CustomXmlTraceDefinition def : CustomXmlTraceDefinition.loadAll(false)) {
- parserList.add(def.categoryName + SEP + def.definitionName);
- }
- }
- editButton.setEnabled(false);
- deleteButton.setEnabled(false);
- exportButton.setEnabled(false);
- }
-
- private boolean checkNameConflict(CustomTraceDefinition def) {
- for (TraceTypeHelper helper : TmfTraceType.getTraceTypeHelpers()) {
- if (def.categoryName.equals(helper.getCategoryName()) &&
- def.definitionName.equals(helper.getName())) {
- String newName = findAvailableName(def);
- MessageDialog dialog = new MessageDialog(
- getShell(),
- null,
- null,
- NLS.bind(Messages.ManageCustomParsersDialog_ConflictMessage,
- new Object[] { def.categoryName, def.definitionName, newName}),
- MessageDialog.QUESTION,
- new String[] { Messages.ManageCustomParsersDialog_ConflictRenameButtonLabel,
- Messages.ManageCustomParsersDialog_ConflictSkipButtonLabel },
- 0);
- int result = dialog.open();
- if (result == 0) {
- def.definitionName = newName;
- return true;
- }
- return false;
- }
- }
- return true;
- }
-
- private static String findAvailableName(CustomTraceDefinition def) {
- int i = 2;
- Iterable<TraceTypeHelper> helpers = TmfTraceType.getTraceTypeHelpers();
- while (true) {
- String newName = def.definitionName + '(' + Integer.toString(i++) + ')';
- boolean available = true;
- for (TraceTypeHelper helper : helpers) {
- if (def.categoryName.equals(helper.getCategoryName()) &&
- newName.equals(helper.getName())) {
- available = false;
- break;
- }
- }
- if (available) {
- return newName;
- }
- }
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/dialogs/MultiLineInputDialog.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/dialogs/MultiLineInputDialog.java
deleted file mode 100644
index 7d757cd5d5..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/dialogs/MultiLineInputDialog.java
+++ /dev/null
@@ -1,167 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2012, 2013 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:
- * Patrick Tasse - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.internal.tmf.ui.dialogs;
-
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jface.dialogs.IInputValidator;
-import org.eclipse.jface.dialogs.InputDialog;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.KeyAdapter;
-import org.eclipse.swt.events.KeyEvent;
-import org.eclipse.swt.events.MouseAdapter;
-import org.eclipse.swt.events.MouseEvent;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.graphics.Rectangle;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Text;
-
-/**
- * A simple input dialog for soliciting an input string from the user.
- *
- * Overrides InputDialog to support multiple line text input.
- *
- * @author Patrick Tassé
- */
-public class MultiLineInputDialog extends InputDialog {
-
- private final String dialogMessage;
-
- /* flag to indicate if CR can be used to submit the dialog */
- private boolean submitOnCR = true;
-
- /**
- * Creates a multi line input dialog.
- *
- * @param parentShell
- * the parent shell, or <code>null</code> to create a top-level shell
- * @param dialogTitle
- * the dialog title, or <code>null</code> if none
- * @param dialogMessage
- * the dialog message, or <code>null</code> if none
- * @param initialValue
- * the initial input value, or <code>null</code> if none (equivalent to the empty string)
- * @param validator
- * an input validator, or <code>null</code> if none
- */
- public MultiLineInputDialog(Shell parentShell, String dialogTitle,
- String dialogMessage, String initialValue, IInputValidator validator) {
- super(parentShell, dialogTitle, null, initialValue, validator);
- this.dialogMessage = dialogMessage;
- }
-
- /**
- * Creates a multi line input dialog with a not-empty text validator.
- *
- * @param parentShell
- * the parent shell, or <code>null</code> to create a top-level shell
- * @param dialogTitle
- * the dialog title, or <code>null</code> if none
- * @param dialogMessage
- * the dialog message, or <code>null</code> if none
- * @param initialValue
- * the initial input value, or <code>null</code> if none (equivalent to the empty string)
- */
- public MultiLineInputDialog(Shell parentShell, String dialogTitle,
- String dialogMessage, String initialValue) {
- super(parentShell, dialogTitle, null, initialValue, new NotEmptyValidator());
- this.dialogMessage = dialogMessage;
- }
-
- @Override
- protected Control createDialogArea(Composite parent) {
- Composite composite = (Composite) super.createDialogArea(parent);
- final Text text = getText();
-
- /* create dialog message label here instead because default implementation uses GRAB_VERTICAL */
- if (dialogMessage != null) {
- Label label = new Label(composite, SWT.WRAP);
- label.setText(dialogMessage);
- GridData data = new GridData(GridData.GRAB_HORIZONTAL | GridData.HORIZONTAL_ALIGN_FILL
- | GridData.VERTICAL_ALIGN_CENTER);
- data.widthHint = convertHorizontalDLUsToPixels(IDialogConstants.MINIMUM_MESSAGE_AREA_WIDTH);
- label.setLayoutData(data);
- label.setFont(parent.getFont());
- label.moveAbove(text);
- }
-
- /* modify text layout data here because default implementation doesn't fill vertically */
- GridData gridData = new GridData(GridData.FILL_BOTH);
- gridData.widthHint = convertHorizontalDLUsToPixels(250);
- gridData.heightHint = convertHeightInCharsToPixels(3);
- text.setLayoutData(gridData);
-
- text.addKeyListener(new KeyAdapter() {
- @Override
- public void keyPressed(KeyEvent e) {
- if (e.character == SWT.CR) {
- if (submitOnCR) {
- /* submit the dialog */
- e.doit = false;
- okPressed();
- return;
- }
- } else if (e.character == SWT.TAB) {
- /* don't insert a tab character in the text */
- e.doit = false;
- text.traverse(SWT.TRAVERSE_TAB_NEXT);
- }
- /* don't allow CR to submit anymore */
- submitOnCR = false;
- }
- });
-
- text.addMouseListener(new MouseAdapter() {
- @Override
- public void mouseDown(MouseEvent e) {
- /* don't allow CR to submit anymore */
- submitOnCR = false;
- }
- });
-
- return composite;
- }
-
- @Override
- protected Control createContents(Composite parent) {
- Control control = super.createContents(parent);
-
- /* set the shell minimum size */
- Point clientArea = control.computeSize(SWT.DEFAULT, SWT.DEFAULT);
- Rectangle trim = getShell().computeTrim(0, 0, clientArea.x, clientArea.y);
- getShell().setMinimumSize(trim.width, trim.height);
-
- return control;
- }
-
- @Override
- protected int getInputTextStyle() {
- return SWT.MULTI | SWT.WRAP | SWT.V_SCROLL | SWT.BORDER;
- }
-
- @Override
- protected boolean isResizable() {
- return true;
- }
-
- private static class NotEmptyValidator implements IInputValidator {
- @Override
- public String isValid(String newText) {
- return (newText == null || newText.trim().length() == 0) ? " " : null; //$NON-NLS-1$
- }
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/editors/handlers/AddBookmarkHandler.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/editors/handlers/AddBookmarkHandler.java
deleted file mode 100644
index 203bc2ce38..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/editors/handlers/AddBookmarkHandler.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010, 2013 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:
- * Patrick Tasse - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.internal.tmf.ui.editors.handlers;
-
-import org.eclipse.core.commands.AbstractHandler;
-import org.eclipse.core.commands.ExecutionEvent;
-import org.eclipse.core.commands.ExecutionException;
-import org.eclipse.linuxtools.tmf.ui.editors.TmfEventsEditor;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.PlatformUI;
-
-/**
- * Handler to add bookmarks.
- *
- * @author Patrick Tasse
- */
-public class AddBookmarkHandler extends AbstractHandler {
-
- @Override
- public boolean isEnabled() {
- return true;
- }
-
- @Override
- public Object execute(ExecutionEvent event) throws ExecutionException {
- IWorkbench wb = PlatformUI.getWorkbench();
- IWorkbenchPage activePage = wb.getActiveWorkbenchWindow().getActivePage();
- IEditorPart activeEditor = activePage.getActiveEditor();
- if (activeEditor instanceof TmfEventsEditor) {
- TmfEventsEditor editor = (TmfEventsEditor) activeEditor;
- editor.addBookmark();
- }
- return null;
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/messages.properties b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/messages.properties
deleted file mode 100644
index 4f1cb93bee..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/messages.properties
+++ /dev/null
@@ -1,298 +0,0 @@
-###############################################################################
-# Copyright (c) 2013, 2014 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:
-# Ericsson - Initial API and implementation
-###############################################################################
-
-# org.eclipse.linuxtools.tmf.ui.dialogs
-ManageCustomParsersDialog_ConflictMessage=Trace type ''{0} : {1}'' already exists.\nDo you want to rename to ''{2}'' or skip?
-ManageCustomParsersDialog_ConflictRenameButtonLabel=Rename
-ManageCustomParsersDialog_ConflictSkipButtonLabel=Skip
-ManageCustomParsersDialog_DeleteButtonLabel=Delete
-ManageCustomParsersDialog_DeleteConfirmation=Are you sure you want to delete {0}?
-ManageCustomParsersDialog_DeleteParserDialogHeader=Delete Custom Parser
-ManageCustomParsersDialog_DialogHeader=Manage Custom Parsers
-ManageCustomParsersDialog_EditButtonLabel=Edit...
-ManageCustomParsersDialog_ExportButtonLabel=Export...
-ManageCustomParsersDialog_ExportParserSelection=Select file to export {0}
-ManageCustomParsersDialog_ImportButtonLabel=Import...
-ManageCustomParsersDialog_ImportParserSelection=Select custom parser file to import
-ManageCustomParsersDialog_NewButtonLabel=New...
-ManageCustomParsersDialog_TextButtonLabel=Text
-
-# org.eclipse.linuxtools.tmf.ui.viewers.events
-TmfEventsTable_AddBookmarkActionText=Add Bookmark...
-TmfEventsTable_AddBookmarkDialogMessage=Enter Bookmark Description:
-TmfEventsTable_AddBookmarkDialogTitle=Add Bookmark
-TmfEventsTable_ApplyPresetFilterMenuName=Apply Preset Filter...
-TmfEventsTable_ClearFiltersActionText=Clear Filters
-TmfEventsTable_CollapseFilterMenuName=Collapse Events
-TmfEventsTable_ContentColumnHeader=Content
-TmfEventsTable_Export_to_text=Export To Text...
-TmfEventsTable_FilterHint=<filter>
-TmfEventsTable_HideRawActionText=Hide Raw
-TmfEventsTable_HideTableActionText=Hide Table
-TmfEventsTable_MultipleBookmarksToolTip=Multiple bookmarks at this location
-TmfEventsTable_OpenSourceCodeActionText=Open Source Code
-TmfEventsTable_OpenSourceCodeNotFound=can not be found in the workspace.
-TmfEventsTable_OpenSourceCodeSelectFileDialogTitle=Select source file for the call site
-TmfEventsTable_OpenModelActionText=Open Model Element
-TmfEventsTable_OpenModelUnsupportedURI=is not a supported model URI format.
-TmfEventsTable_ReferenceColumnHeader=File
-TmfEventsTable_RemoveBookmarkActionText=Remove Bookmark
-TmfEventsTable_SearchHint=<srch>
-TmfEventsTable_SearchingJobName=Searching...
-TmfEventsTable_ShowFilterBarActionText=Show Filter Bar
-TmfEventsTable_ShowRawActionText=Show Raw
-TmfEventsTable_ShowSearchBarActionText=Show Search Bar
-TmfEventsTable_ShowTableActionText=Show Table
-TmfEventsTable_SourceColumnHeader=Source
-TmfEventsTable_TimestampColumnHeader=Timestamp
-TmfEventsTable_TypeColumnHeader=Type
-
-# org.eclipse.linuxtools.tmf.ui.viewers.timegraph.dialogs
-TmfTimeFilterDialog_EDIT_PROFILING_OPTIONS=Edit Profiling Options
-TmfTimeFilterDialog_TRACE_FILTER=Trace Filter
-TmfTimeFilterDialog_TRACE_FILTER_DESC=Define the filter set
-TmfTimeFilterDialog_TRACE_ID=Trace Id
-TmfTimeFilterDialog_TRACE_NAME=Trace Name
-TmfTimeLegend_LEGEND=Legend
-TmfTimeLegend_TRACE_STATES=Trace
-TmfTimeLegend_TRACE_STATES_TITLE=States Transition Visualizer
-TmfTimeLegend_WINDOW_TITLE=Trace Visualizer's Legend
-TmfTimeLegend_StateTypeName=States
-TmfTimeFilterDialog_WINDOW_TITLE=Filter
-TmfTimeFilterDialog_MESSAGE=Check the entries to show
-TmfTimeFilterDialog_CHECK_ALL=Check all
-TmfTimeFilterDialog_UNCHECK_ALL=Uncheck all
-TmfTimeFilterDialog_CHECK_SELECTED=Check selected
-TmfTimeFilterDialog_UNCHECK_SELECTED=Uncheck selected
-TmfTimeFilterDialog_CHECK_SUBTREE=Check subtree
-TmfTimeFilterDialog_UNCHECK_SUBTREE=Uncheck subtree
-
-# org.eclipse.linuxtools.tmf.ui.viewers.timegraph.widgets
-TmfTimeTipHandler_DURATION=Duration
-TmfTimeTipHandler_LINK_SOURCE=Source
-TmfTimeTipHandler_LINK_SOURCE_TIME=Source Time
-TmfTimeTipHandler_LINK_TARGET=Target
-TmfTimeTipHandler_LINK_TARGET_TIME=Target Time
-TmfTimeTipHandler_LINK_TIME=Time
-TmfTimeTipHandler_TRACE_DATE=Date
-TmfTimeTipHandler_TRACE_EVENT_TIME=Event Time
-TmfTimeTipHandler_TRACE_START_TIME=Start Time
-TmfTimeTipHandler_TRACE_STATE=State
-TmfTimeTipHandler_TRACE_STOP_TIME=Stop Time
-
-TmfTimeGraphCombo_FilterActionNameText=Filter
-TmfTimeGraphCombo_FilterActionToolTipText=Show View Filters
-
-
-TmfTimeGraphViewer_ResetScaleActionNameText=Reset
-TmfTimeGraphViewer_ResetScaleActionToolTipText=Reset the Time Scale to Default
-TmfTimeGraphViewer_LegendActionNameText=Legend
-TmfTimeGraphViewer_LegendActionToolTipText=Show Legend
-TmfTimeGraphViewer_NextEventActionNameText=Next Event
-TmfTimeGraphViewer_NextEventActionToolTipText=Select Next Event
-TmfTimeGraphViewer_PreviousEventActionNameText=Previous Event
-TmfTimeGraphViewer_PreviousEventActionToolTipText=Select Previous Event
-TmfTimeGraphViewer_NextItemActionNameText=Next Item
-TmfTimeGraphViewer_NextItemActionToolTipText=Select Next Item
-TmfTimeGraphViewer_PreviousItemActionNameText=Previous Item
-TmfTimeGraphViewer_PreviousItemActionToolTipText=Select Previous Item
-TmfTimeGraphViewer_ZoomInActionNameText=Zoom In
-TmfTimeGraphViewer_ZoomInActionToolTipText=Zoom In
-TmfTimeGraphViewer_ZoomOutActionNameText=Zoom Out
-TmfTimeGraphViewer_ZoomOutActionToolTipText=Zoom Out
-TmfTimeGraphViewer_HideArrowsActionNameText=Hide Arrows
-TmfTimeGraphViewer_HideArrowsActionToolTipText=Hide Arrows
-TmfTimeGraphViewer_FollowArrowForwardActionNameText=Follow Arrow Forward
-TmfTimeGraphViewer_FollowArrowForwardActionToolTipText=Follow Arrow Forward
-TmfTimeGraphViewer_FollowArrowBackwardActionNameText=Follow Arrow Backward
-TmfTimeGraphViewer_FollowArrowBackwardActionToolTipText=Follow Arrow Backward
-
-Utils_ClockCyclesUnit=\u0020cc
-
-# org.eclipse.linuxtools.tmf.ui.views.colors
-ColorsView_AddActionToolTipText=Insert new color setting
-ColorsView_BackgroundButtonText=BG
-ColorsView_BackgroundDialogText=Set background color
-ColorsView_DeleteActionToolTipText=Delete color setting
-ColorsView_ExportActionToolTipText=Export color settings
-ColorsView_FilterButtonText=Filter...
-ColorsView_ForegroundButtonText=FG
-ColorsView_ForegroundDialogText=Set foreground color
-ColorsView_ImportActionToolTipText=Import color settings
-ColorsView_ImportOverwriteDialogMessage1=Do you want to overwrite the current color settings?\n
-ColorsView_ImportOverwriteDialogMessage2=Answering No will insert the imported settings above the current selection.
-ColorsView_ImportOverwriteDialogTitle=Overwrite current settings
-ColorsView_MoveDownActionToolTipText=Decrease priority
-ColorsView_MoveUpActionToolTipText=Increase priority
-ColorsView_TickButtonText=Tick
-TickColorDialog_TickColorDialogTitle=Choose tick color
-
-# org.eclipse.linuxtools.tmf.ui.wizards
-CustomTxtParserInputWizardPage_addChildLine=Add child line
-CustomTxtParserInputWizardPage_addGroup=Add group
-CustomTxtParserInputWizardPage_addNextLine=Add next line
-CustomTxtParserInputWizardPage_append=Append
-CustomTxtParserInputWizardPage_appendWith=Append with |
-CustomTxtParserInputWizardPage_capturedGroup=Captured group
-CustomTxtParserInputWizardPage_cardinality=Cardinality:
-CustomTxtParserInputWizardPage_category=Category:
-CustomTxtParserInputWizardPage_desccriptionEdit=Edit an existing custom parser for text trace files
-CustomTxtParserInputWizardPage_descriptionNew=Create a new custom parser for text trace files
-CustomTxtParserInputWizardPage_format=format:
-CustomTxtParserInputWizardPage_group=Group {0}:
-CustomTxtParserInputWizardPage_highlightAll=Highlight All
-CustomTxtParserInputWizardPage_logType=Trace type:
-CustomTxtParserInputWizardPage_matchingOtherLine=Matching other line:
-CustomTxtParserInputWizardPage_matchingRootLine=Matching root line :
-CustomTxtParserInputWizardPage_max=max:
-CustomTxtParserInputWizardPage_min=min:
-CustomTxtParserInputWizardPage_moveDown=Move down
-CustomTxtParserInputWizardPage_moveUp=Move up
-CustomTxtParserInputWizardPage_name=name:
-CustomTxtParserInputWizardPage_newGroup=New group
-CustomTxtParserInputWizardPage_noMatch=*no match*
-CustomTxtParserInputWizardPage_noMatchingGroup=*no matching group*
-CustomTxtParserInputWizardPage_noMatchingLine=*no matching line*
-CustomTxtParserInputWizardPage_noMatchingTimestamp=*no matching timestamp*
-CustomTxtParserInputWizardPage_noMathcingLine=*no matching line*
-CustomTxtParserInputWizardPage_nonMatchingLine=Non-matching line\n
-CustomTxtParserInputWizardPage_noTimestampGroup=*no timestamp group*
-CustomTxtParserInputWizardPage_preview=Preview:
-CustomTxtParserInputWizardPage_previewInput=Preview input
-CustomTxtParserInputWizardPage_previewLegend=Preview Legend
-CustomTxtParserInputWizardPage_regularExpression=Regular expression:
-CustomTxtParserInputWizardPage_regularExpressionHelp=Regular Expression Help
-CustomTxtParserInputWizardPage_removeGroup=Remove group
-CustomTxtParserInputWizardPage_removeLine=Remove line
-CustomTxtParserInputWizardPage_set=Set
-CustomTxtParserInputWizardPage_timestampFormat=Time Stamp format:
-CustomTxtParserInputWizardPage_timestampFormatHelp=Time Stamp Format Help
-CustomTxtParserInputWizardPage_uncapturedText=Uncaptured text
-CustomTxtParserInputWizardPage_unidentifiedCaptureGroup=Unidentified captured group
-CustomTxtParserInputWizardPage_windowTitleEdit=Edit Custom Text Parser
-CustomTxtParserInputWizardPage_windowTitleNew=New Custom Text Parser
-CustomTxtParserOutputWizardPage_description=Customize the output of the parser
-CustomTxtParserOutputWizardPage_moveAfter=Move After
-CustomTxtParserOutputWizardPage_moveBefore=Move Before
-CustomTxtParserOutputWizardPage_visible=Visible
-CustomXmlParserInputWizardPage_emptyCategoryError=Enter a category for the new trace type.
-CustomXmlParserInputWizardPage_emptyLogTypeError=Enter a name for the new trace type.
-CustomXmlParserInputWizardPage_invalidCategoryError=Invalid character ':' in category.
-CustomXmlParserInputWizardPage_invalidLogTypeError=Invalid character ':' in trace type.
-CustomXmlParserInputWizardPage_duplicatelogTypeError=The trace type name already exists.
-CustomXmlParserInputWizardPage_noDocumentError=Add a document element.
-CustomXmlParserInputWizardPage_missingLogEntryError=Identify a Log Entry element.
-CustomXmlParserInputWizardPage_missingTimestampFmtError=Enter the output format for the Time Stamp field.
-CustomXmlParserInputWizardPage_missingDocumentElementError=Enter a name for the document element.
-CustomXmlParserInputWizardPage_noTimestampElementOrAttribute=*no time stamp element or attribute*
-CustomXmlParserInputWizardPage_elementMissingNameError=Enter a name for the element (Element {0}).
-CustomXmlParserInputWizardPage_elementMissingInputNameError=Enter a name for the input (Element {0}).
-CustomXmlParserInputWizardPage_elementMissingTimestampFmtError=Enter the input format for the Time Stamp (Element {0}).
-CustomXmlParserInputWizardPage_elementInvalidTimestampFmtError=Enter a valid output format for the Time Stamp field (Element {0}).
-CustomXmlParserInputWizardPage_elementDuplicateNameError=Duplicate element names (Element {0}).
-CustomXmlParserInputWizardPage_attributeMissingNameError=Enter a name for the attribute (Attribute {0}: ?).
-CustomXmlParserInputWizardPage_attributeMissingInputNameError=Enter a name for the input (Attribute {0}).
-CustomXmlParserInputWizardPage_attributeMissingTimestampFmtError=Enter the input format for the Time Stamp (Attribute {0}).
-CustomXmlParserInputWizardPage_attributeInvalidTimestampFmtError=Enter a valid input format for the Time Stamp (Attribute {0}).
-CustomXmlParserInputWizardPage_attributeDuplicateNameError=Duplicate attribute names (Attribute {0}).
-CustomXmlParserInputWizardPage_addAttribute=Add attribute
-CustomXmlParserInputWizardPage_addChildElement=Add child element
-CustomXmlParserInputWizardPage_addDocumentEleemnt=Add document element
-CustomXmlParserInputWizardPage_addDocumentElement=Add document element
-CustomXmlParserInputWizardPage_addNextElement=Add next element
-CustomXmlParserInputWizardPage_append=Append
-CustomXmlParserInputWizardPage_appendWith=Append with |
-CustomXmlParserInputWizardPage_attibute=Attribute
-CustomXmlParserInputWizardPage_category=Category:
-CustomXmlParserInputWizardPage_descriptionEdit=Edit an existing custom parser for XML trace files
-CustomXmlParserInputWizardPage_descriptionNew=Create a new custom parser for XML trace files
-CustomXmlParserInputWizardPage_elementName=Element name:
-CustomXmlParserInputWizardPage_feelingLucky=Feeling lucky
-CustomXmlParserInputWizardPage_format=format:
-CustomXmlParserInputWizardPage_logEntry=Log Entry
-CustomXmlParserInputWizardPage_logType=Trace type:
-CustomXmlParserInputWizardPage_moveDown=Move down
-CustomXmlParserInputWizardPage_moveUp=Move up
-CustomXmlParserInputWizardPage_name=name:
-CustomXmlParserInputWizardPage_newAttibute=New attribute
-CustomXmlParserInputWizardPage_noMatch=*no match*
-CustomXmlParserInputWizardPage_noMatchingAttribute=*no matching attribute*
-CustomXmlParserInputWizardPage_noMatchingElement=*no matching element*
-CustomXmlParserInputWizardPage_preview=Preview:
-CustomXmlParserInputWizardPage_previewInput=Preview input
-CustomXmlParserInputWizardPage_removeAttribute=Remove attribute
-CustomXmlParserInputWizardPage_removeElement=Remove element
-CustomXmlParserInputWizardPage_set=Set
-CustomXmlParserInputWizardPage_tagName=tag name:
-CustomXmlParserInputWizardPage_timestampFormat=Time Stamp format:
-CustomXmlParserInputWizardPage_timestampFormatHelp=Time Stamp Format Help
-CustomXmlParserInputWizardPage_titleEdit=Edit Custom XML Parser
-CustomXmlParserInputWizardPage_titleNew=New Custom XML Parser
-CustomXmlParserOutputWizardPage_description=Customize the output of the parser
-CustomXmlParserOutputWizardPage_moveAfter=Move After
-CustomXmlParserOutputWizardPage_moveBefore=Move Before
-CustomXmlParserOutputWizardPage_visible=Visible
-
-# org.eclipse.linuxtools.tmf.ui.views.filter
-FilterDialog_FilterDialogTitle=Edit filter
-FilterView_AddActionToolTipText=Add new filter
-FilterView_DeleteActionToolTipText=Delete filter node
-FilterView_ExportActionToolTipText=Export filters
-FilterView_FileDialogFilterName=TMF Filter files
-FilterView_ImportActionToolTipText=Import filters
-FilterView_SaveActionToolTipText=Save filters
-FilterViewer_AlphaButtonText=Alpha
-FilterViewer_CommonCategory=[common]
-FilterViewer_DeleteActionText=Delete
-FilterViewer_EmptyTreeHintText=<Right-click to add filter node>
-FilterViewer_FieldLabel=field:
-FilterViewer_FilterNameHint=type filter name
-FilterViewer_IgnoreCaseButtonText=ignore case
-FilterViewer_NameLabel=name:
-FilterViewer_NewPrefix=New
-FilterViewer_NotLabel=not:
-FilterViewer_NumButtonText=Num
-FilterViewer_RegexHint=type regular expression
-FilterViewer_RegexLabel=regex:
-FilterViewer_ResultLabel=result:
-FilterViewer_Subfilter_ToolTip=Prefix with '/' to enter a path where subfields are separated by '/'. For an uninterpreted slash use '\\/'.
-FilterViewer_TimestampButtonText=Timestamp
-FilterViewer_TypeLabel=type:
-FilterViewer_ValueHint=type value
-FilterViewer_ValueLabel=value:
-
-TmfView_PinActionNameText=Pin View
-TmfView_PinActionToolTipText=Pin View
-
-# Call Stack View
-CallStackPresentationProvider_Thread=Thread
-CallStackView_FunctionColumn=Function
-CallStackView_DepthColumn=Depth
-CallStackView_EntryTimeColumn=Entry time
-CallStackView_ExitTimeColumn=Exit time
-CallStackView_DurationColumn=Duration
-CallStackView_StackInfoNotAvailable=Stack info not available
-CallStackView_SortByThreadName=Sort threads by thread name
-CallStackView_SortByThreadId=Sort threads by thread id
-CallStackView_SortByThreadTime=Sort threads by start time
-CallStackView_ImportMappingButtonText=Import mapping file...
-CallStackView_ImportMappingButtonTooltip=Import a text file containing the mapping between addresses and function names
-CallStackView_ImportMappingDialogTitle=Select Mapping File
-CallStackView_ImportMappingJobName=Updating Call Stack view function mapping
-
-CallStackView_ImportBinaryFileButtonText=Import binary file...
-CallStackView_ImportBinaryFileButtonTooltip=Import a binary file containing debugging symbols
-CallStackView_ImportBinaryFileDialogTitle=Select Binary File
-
-ExportToTextJob_Export_to=Export to {0}...
-ExportToTextJob_Export_trace_to=Export trace to {0}
-ExportToTextJob_Unable_to_export_trace=Unable to export trace to {0}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/parsers/custom/CustomEventTableColumns.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/parsers/custom/CustomEventTableColumns.java
deleted file mode 100644
index af90427a49..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/parsers/custom/CustomEventTableColumns.java
+++ /dev/null
@@ -1,100 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010, 2014 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:
- * Patrick Tasse - Initial API and implementation
- * Alexandre Montplaisir - Update for TmfEventTableColumn
- *******************************************************************************/
-
-package org.eclipse.linuxtools.internal.tmf.ui.parsers.custom;
-
-import java.util.Collection;
-import java.util.List;
-
-import org.eclipse.jdt.annotation.NonNull;
-import org.eclipse.linuxtools.tmf.core.event.ITmfEvent;
-import org.eclipse.linuxtools.tmf.core.parsers.custom.CustomEvent;
-import org.eclipse.linuxtools.tmf.core.parsers.custom.CustomTraceDefinition;
-import org.eclipse.linuxtools.tmf.core.parsers.custom.CustomTraceDefinition.OutputColumn;
-import org.eclipse.linuxtools.tmf.ui.viewers.events.TmfEventsTable;
-import org.eclipse.linuxtools.tmf.ui.viewers.events.columns.ITmfEventTableColumns;
-import org.eclipse.linuxtools.tmf.ui.viewers.events.columns.TmfEventTableColumn;
-
-import com.google.common.collect.ImmutableList;
-
-/**
- * Event table column definition for Custom {Text|XML} traces.
- *
- * Since this definition will be different for every single custom trace, this
- * does not work the same as with {@link ITmfEventTableColumns}.
- *
- * Instead, one has to call {@link #generateColumns(CustomTraceDefinition)} with
- * the CustomTraceDefinition of the the particular trace to display. Then the
- * returned collection can be passed to the constructor
- * {@link TmfEventsTable#TmfEventsTable(org.eclipse.swt.widgets.Composite, int, Collection)}
- * as usual.
- *
- * @author Alexandre Montplaisir
- */
-public class CustomEventTableColumns {
-
- /**
- * Column for custom events, which uses an integer ID to represent each
- * column.
- */
- private static final class CustomEventTableColumn extends TmfEventTableColumn {
-
- private final int fIndex;
-
- /**
- * Constructor
- *
- * @param name
- * The name (title) of this column
- * @param idx
- * The index of this column, which should be the index of the
- * field in the event's content to display.
- */
- public CustomEventTableColumn(@NonNull String name, int idx) {
- super(name);
- fIndex = idx;
- }
-
- @Override
- public String getItemString(ITmfEvent event) {
- if (event instanceof CustomEvent) {
- String ret = ((CustomEvent) event).getEventString(fIndex);
- return (ret == null ? EMPTY_STRING : ret);
- }
- return EMPTY_STRING;
- }
-
- @Override
- public String getFilterFieldId() {
- return getHeaderName();
- }
- }
-
- /**
- * Get the event table columns for a given trace definition
- *
- * @param definition The {@link CustomTraceDefinition} of the trace for which you want the columns
- * @return The set of columns for the given trace.
- */
- public static Collection<CustomEventTableColumn> generateColumns(CustomTraceDefinition definition) {
- ImmutableList.Builder<CustomEventTableColumn> builder = new ImmutableList.Builder<>();
- List<OutputColumn> outputs = definition.outputs;
- for (int i = 0; i < outputs.size(); i++) {
- String name = outputs.get(i).name;
- if (name != null) {
- builder.add(new CustomEventTableColumn(name, i));
- }
- }
- return builder.build();
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/parsers/wizards/CustomTxtParserInputWizardPage.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/parsers/wizards/CustomTxtParserInputWizardPage.java
deleted file mode 100644
index c34dc77f3c..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/parsers/wizards/CustomTxtParserInputWizardPage.java
+++ /dev/null
@@ -1,1681 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010, 2014 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:
- * Patrick Tasse - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.internal.tmf.ui.parsers.wizards;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStreamReader;
-import java.net.URL;
-import java.text.ParseException;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.Scanner;
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
-import java.util.regex.PatternSyntaxException;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.FileLocator;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.jface.viewers.ColumnLabelProvider;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.ISelectionChangedListener;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.ITreeContentProvider;
-import org.eclipse.jface.viewers.SelectionChangedEvent;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.jface.viewers.TreeViewer;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.jface.wizard.WizardPage;
-import org.eclipse.linuxtools.internal.tmf.ui.Activator;
-import org.eclipse.linuxtools.internal.tmf.ui.Messages;
-import org.eclipse.linuxtools.tmf.core.parsers.custom.CustomTraceDefinition;
-import org.eclipse.linuxtools.tmf.core.parsers.custom.CustomTxtTraceDefinition;
-import org.eclipse.linuxtools.tmf.core.parsers.custom.CustomTxtTraceDefinition.Cardinality;
-import org.eclipse.linuxtools.tmf.core.parsers.custom.CustomTxtTraceDefinition.InputData;
-import org.eclipse.linuxtools.tmf.core.parsers.custom.CustomTxtTraceDefinition.InputLine;
-import org.eclipse.linuxtools.tmf.core.project.model.TmfTraceType;
-import org.eclipse.linuxtools.tmf.core.project.model.TraceTypeHelper;
-import org.eclipse.linuxtools.tmf.core.timestamp.TmfTimestampFormat;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.browser.Browser;
-import org.eclipse.swt.browser.TitleEvent;
-import org.eclipse.swt.browser.TitleListener;
-import org.eclipse.swt.custom.SashForm;
-import org.eclipse.swt.custom.ScrolledComposite;
-import org.eclipse.swt.custom.StyleRange;
-import org.eclipse.swt.custom.StyledText;
-import org.eclipse.swt.events.ModifyEvent;
-import org.eclipse.swt.events.ModifyListener;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.events.SelectionListener;
-import org.eclipse.swt.events.VerifyEvent;
-import org.eclipse.swt.events.VerifyListener;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.graphics.Font;
-import org.eclipse.swt.graphics.FontData;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.graphics.Rectangle;
-import org.eclipse.swt.layout.FillLayout;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Combo;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Group;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Text;
-import org.osgi.framework.Bundle;
-
-/**
- * Input wizard page for custom text parsers.
- *
- * @author Patrick Tasse
- */
-public class CustomTxtParserInputWizardPage extends WizardPage {
-
- private static final String DEFAULT_REGEX = "\\s*(.*\\S)"; //$NON-NLS-1$
- private static final String DEFAULT_TIMESTAMP_FORMAT = "yyyy-MM-dd HH:mm:ss.SSS"; //$NON-NLS-1$
- private static final String TIMESTAMP_FORMAT_BUNDLE = "org.eclipse.linuxtools.lttng.help"; //$NON-NLS-1$
- private static final String TIMESTAMP_FORMAT_PATH = "reference/api/org/eclipse/linuxtools/tmf/core/timestamp/TmfTimestampFormat.html"; //$NON-NLS-1$
- private static final String PATTERN_URL = "http://docs.oracle.com/javase/7/docs/api/java/util/regex/Pattern.html#sum"; //$NON-NLS-1$
- private static final Image LINE_IMAGE = Activator.getDefault().getImageFromPath("/icons/elcl16/line_icon.gif"); //$NON-NLS-1$
- private static final Image ADD_IMAGE = Activator.getDefault().getImageFromPath("/icons/elcl16/add_button.gif"); //$NON-NLS-1$
- private static final Image ADD_NEXT_IMAGE = Activator.getDefault().getImageFromPath("/icons/elcl16/addnext_button.gif"); //$NON-NLS-1$
- private static final Image ADD_CHILD_IMAGE = Activator.getDefault().getImageFromPath("/icons/elcl16/addchild_button.gif"); //$NON-NLS-1$
- private static final Image DELETE_IMAGE = Activator.getDefault().getImageFromPath("/icons/elcl16/delete_button.gif"); //$NON-NLS-1$
- private static final Image MOVE_UP_IMAGE = Activator.getDefault().getImageFromPath("/icons/elcl16/moveup_button.gif"); //$NON-NLS-1$
- private static final Image MOVE_DOWN_IMAGE = Activator.getDefault().getImageFromPath("/icons/elcl16/movedown_button.gif"); //$NON-NLS-1$
- private static final Image HELP_IMAGE = Activator.getDefault().getImageFromPath("/icons/elcl16/help_button.gif"); //$NON-NLS-1$
- private static final Color COLOR_BLACK = Display.getDefault().getSystemColor(SWT.COLOR_BLACK);
- private static final Color COLOR_LIGHT_GREEN = new Color(Display.getDefault(), 192, 255, 192);
- private static final Color COLOR_GREEN = Display.getDefault().getSystemColor(SWT.COLOR_GREEN);
- private static final Color COLOR_LIGHT_YELLOW = new Color(Display.getDefault(), 255, 255, 192);
- private static final Color COLOR_YELLOW = Display.getDefault().getSystemColor(SWT.COLOR_YELLOW);
- private static final Color COLOR_LIGHT_MAGENTA = new Color(Display.getDefault(), 255, 192, 255);
- private static final Color COLOR_MAGENTA = Display.getDefault().getSystemColor(SWT.COLOR_MAGENTA);
- private static final Color COLOR_LIGHT_RED = new Color(Display.getDefault(), 255, 192, 192);
- private static final Color COLOR_TEXT_BACKGROUND = Display.getDefault().getSystemColor(SWT.COLOR_WHITE);
- private static final Color COLOR_WIDGET_BACKGROUND = Display.getDefault().getSystemColor(SWT.COLOR_WIDGET_BACKGROUND);
-
- private final ISelection selection;
- private CustomTxtTraceDefinition definition;
- private String editCategoryName;
- private String editDefinitionName;
- private String defaultDescription;
- private Line selectedLine;
- private Composite container;
- private Text categoryText;
- private Text logtypeText;
- private Text timestampOutputFormatText;
- private Text timestampPreviewText;
- private ScrolledComposite lineScrolledComposite;
- private TreeViewer treeViewer;
- private Composite lineContainer;
- private StyledText inputText;
- private Font fixedFont;
- private UpdateListener updateListener;
- private Browser helpBrowser;
-
- // variables used recursively through line traversal
- private String timeStampFormat;
- private boolean timestampFound;
-
- /**
- * Constructor
- *
- * @param selection
- * The Selection object
- * @param definition
- * The trace definition
- */
- protected CustomTxtParserInputWizardPage(ISelection selection,
- CustomTxtTraceDefinition definition) {
- super("CustomParserWizardPage"); //$NON-NLS-1$
- if (definition == null) {
- setTitle(Messages.CustomTxtParserInputWizardPage_windowTitleNew);
- defaultDescription = Messages.CustomTxtParserInputWizardPage_descriptionNew;
- } else {
- setTitle(Messages.CustomTxtParserInputWizardPage_windowTitleEdit);
- defaultDescription = Messages.CustomTxtParserInputWizardPage_desccriptionEdit;
- }
- setDescription(defaultDescription);
- this.selection = selection;
- this.definition = definition;
- if (definition != null) {
- this.editCategoryName = definition.categoryName;
- this.editDefinitionName = definition.definitionName;
- }
- }
-
- @Override
- public void createControl(Composite parent) {
- container = new Composite(parent, SWT.NULL);
- container.setLayout(new GridLayout());
-
- updateListener = new UpdateListener();
-
- Composite headerComposite = new Composite(container, SWT.FILL);
- GridLayout headerLayout = new GridLayout(5, false);
- headerLayout.marginHeight = 0;
- headerLayout.marginWidth = 0;
- headerComposite.setLayout(headerLayout);
- headerComposite.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false));
-
- Label categoryLabel = new Label(headerComposite, SWT.NULL);
- categoryLabel.setText(Messages.CustomTxtParserInputWizardPage_category);
-
- categoryText = new Text(headerComposite, SWT.BORDER | SWT.SINGLE);
- categoryText.setLayoutData(new GridData(120, SWT.DEFAULT));
-
- Label timestampFormatLabel = new Label(headerComposite, SWT.NULL);
- timestampFormatLabel.setText(Messages.CustomTxtParserInputWizardPage_timestampFormat);
-
- timestampOutputFormatText = new Text(headerComposite, SWT.BORDER | SWT.SINGLE);
- timestampOutputFormatText.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false));
- timestampOutputFormatText.setText(DEFAULT_TIMESTAMP_FORMAT);
-
- Button timeStampFormatHelpButton = new Button(headerComposite, SWT.PUSH);
- timeStampFormatHelpButton.setImage(HELP_IMAGE);
- timeStampFormatHelpButton.setToolTipText(Messages.CustomTxtParserInputWizardPage_timestampFormatHelp);
- timeStampFormatHelpButton.addSelectionListener(new SelectionAdapter() {
- @Override
- public void widgetSelected(SelectionEvent e) {
- Bundle plugin = Platform.getBundle(TIMESTAMP_FORMAT_BUNDLE);
- IPath path = new Path(TIMESTAMP_FORMAT_PATH);
- URL fileURL = FileLocator.find(plugin, path, null);
- try {
- URL pageURL = FileLocator.toFileURL(fileURL);
- openHelpShell(pageURL.toString());
- } catch (IOException e1) {
- }
- }
- });
-
- Label logtypeLabel = new Label(headerComposite, SWT.NULL);
- logtypeLabel.setText(Messages.CustomTxtParserInputWizardPage_logType);
-
- logtypeText = new Text(headerComposite, SWT.BORDER | SWT.SINGLE);
- logtypeText.setLayoutData(new GridData(120, SWT.DEFAULT));
- logtypeText.setFocus();
-
- Label timestampPreviewLabel = new Label(headerComposite, SWT.NULL);
- timestampPreviewLabel.setText(Messages.CustomTxtParserInputWizardPage_preview);
-
- timestampPreviewText = new Text(headerComposite, SWT.BORDER | SWT.SINGLE | SWT.READ_ONLY);
- timestampPreviewText.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false, 2, 1));
- timestampPreviewText.setText(Messages.CustomTxtParserInputWizardPage_noMatchingTimestamp);
-
- Composite buttonBar = new Composite(container, SWT.NONE);
- GridLayout buttonBarLayout = new GridLayout(5, false);
- buttonBarLayout.marginHeight = 0;
- buttonBarLayout.marginWidth = 0;
- buttonBar.setLayout(buttonBarLayout);
-
- Button removeButton = new Button(buttonBar, SWT.PUSH);
- removeButton.setImage(DELETE_IMAGE);
- removeButton.setToolTipText(Messages.CustomTxtParserInputWizardPage_removeLine);
- removeButton.addSelectionListener(new SelectionAdapter() {
- @Override
- public void widgetSelected(SelectionEvent e) {
- if (treeViewer.getSelection().isEmpty() || selectedLine == null) {
- return;
- }
- removeLine();
- InputLine inputLine = (InputLine) ((IStructuredSelection) treeViewer.getSelection()).getFirstElement();
- if (inputLine.parentInput == null) {
- definition.inputs.remove(inputLine);
- } else {
- inputLine.parentInput.childrenInputs.remove(inputLine);
- }
- treeViewer.refresh();
- validate();
- updatePreviews();
- }
- });
- Button addNextButton = new Button(buttonBar, SWT.PUSH);
- addNextButton.setImage(ADD_NEXT_IMAGE);
- addNextButton.setToolTipText(Messages.CustomTxtParserInputWizardPage_addNextLine);
- addNextButton.addSelectionListener(new SelectionAdapter() {
- @Override
- public void widgetSelected(SelectionEvent e) {
- InputLine inputLine = new InputLine(Cardinality.ZERO_OR_MORE, "", null); //$NON-NLS-1$
- if (((List<?>) treeViewer.getInput()).size() == 0) {
- definition.inputs.add(inputLine);
- } else if (treeViewer.getSelection().isEmpty()) {
- return;
- } else {
- InputLine previousInputLine = (InputLine) ((IStructuredSelection) treeViewer.getSelection()).getFirstElement();
- if (previousInputLine.parentInput == null) {
- for (int i = 0; i < definition.inputs.size(); i++) {
- if (definition.inputs.get(i).equals(previousInputLine)) {
- definition.inputs.add(i + 1, inputLine);
- }
- }
- } else {
- previousInputLine.addNext(inputLine);
- }
- }
- treeViewer.refresh();
- treeViewer.setSelection(new StructuredSelection(inputLine), true);
- }
- });
- Button addChildButton = new Button(buttonBar, SWT.PUSH);
- addChildButton.setImage(ADD_CHILD_IMAGE);
- addChildButton.setToolTipText(Messages.CustomTxtParserInputWizardPage_addChildLine);
- addChildButton.addSelectionListener(new SelectionAdapter() {
- @Override
- public void widgetSelected(SelectionEvent e) {
- InputLine inputLine = new InputLine(Cardinality.ZERO_OR_MORE, "", null); //$NON-NLS-1$
- if (((List<?>) treeViewer.getInput()).size() == 0) {
- definition.inputs.add(inputLine);
- } else if (treeViewer.getSelection().isEmpty()) {
- return;
- } else {
- InputLine parentInputLine = (InputLine) ((IStructuredSelection) treeViewer.getSelection()).getFirstElement();
- parentInputLine.addChild(inputLine);
- }
- treeViewer.refresh();
- treeViewer.setSelection(new StructuredSelection(inputLine), true);
- }
- });
- Button moveUpButton = new Button(buttonBar, SWT.PUSH);
- moveUpButton.setImage(MOVE_UP_IMAGE);
- moveUpButton.setToolTipText(Messages.CustomTxtParserInputWizardPage_moveUp);
- moveUpButton.addSelectionListener(new SelectionAdapter() {
- @Override
- public void widgetSelected(SelectionEvent e) {
- if (treeViewer.getSelection().isEmpty()) {
- return;
- }
- InputLine inputLine = (InputLine) ((IStructuredSelection) treeViewer.getSelection()).getFirstElement();
- if (inputLine.parentInput == null) {
- for (int i = 1; i < definition.inputs.size(); i++) {
- if (definition.inputs.get(i).equals(inputLine)) {
- definition.inputs.add(i - 1, definition.inputs.remove(i));
- break;
- }
- }
- } else {
- inputLine.moveUp();
- }
- treeViewer.refresh();
- validate();
- updatePreviews();
- }
- });
- Button moveDownButton = new Button(buttonBar, SWT.PUSH);
- moveDownButton.setImage(MOVE_DOWN_IMAGE);
- moveDownButton.setToolTipText(Messages.CustomTxtParserInputWizardPage_moveDown);
- moveDownButton.addSelectionListener(new SelectionAdapter() {
- @Override
- public void widgetSelected(SelectionEvent e) {
- if (treeViewer.getSelection().isEmpty()) {
- return;
- }
- InputLine inputLine = (InputLine) ((IStructuredSelection) treeViewer.getSelection()).getFirstElement();
- if (inputLine.parentInput == null) {
- for (int i = 0; i < definition.inputs.size() - 1; i++) {
- if (definition.inputs.get(i).equals(inputLine)) {
- definition.inputs.add(i + 1, definition.inputs.remove(i));
- break;
- }
- }
- } else {
- inputLine.moveDown();
- }
- treeViewer.refresh();
- validate();
- updatePreviews();
- }
- });
-
- SashForm vSash = new SashForm(container, SWT.VERTICAL);
- vSash.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
- vSash.setBackground(vSash.getDisplay().getSystemColor(SWT.COLOR_GRAY));
-
- SashForm hSash = new SashForm(vSash, SWT.HORIZONTAL);
- hSash.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
-
- ScrolledComposite treeScrolledComposite = new ScrolledComposite(hSash, SWT.V_SCROLL | SWT.H_SCROLL);
- GridData gd = new GridData(SWT.FILL, SWT.FILL, true, true);
- gd.heightHint = 200;
- gd.widthHint = 200;
- treeScrolledComposite.setLayoutData(gd);
- Composite treeContainer = new Composite(treeScrolledComposite, SWT.NONE);
- treeContainer.setLayout(new FillLayout());
- treeScrolledComposite.setContent(treeContainer);
- treeScrolledComposite.setExpandHorizontal(true);
- treeScrolledComposite.setExpandVertical(true);
-
- treeViewer = new TreeViewer(treeContainer, SWT.SINGLE | SWT.BORDER);
- treeViewer.setContentProvider(new InputLineTreeNodeContentProvider());
- treeViewer.setLabelProvider(new InputLineTreeLabelProvider());
- treeViewer.addSelectionChangedListener(new InputLineTreeSelectionChangedListener());
- treeContainer.layout();
-
- treeScrolledComposite.setMinSize(treeContainer.computeSize(SWT.DEFAULT, SWT.DEFAULT).x, treeContainer.computeSize(SWT.DEFAULT, SWT.DEFAULT).y);
-
- lineScrolledComposite = new ScrolledComposite(hSash, SWT.V_SCROLL);
- lineScrolledComposite.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
- lineContainer = new Composite(lineScrolledComposite, SWT.NONE);
- GridLayout linesLayout = new GridLayout();
- linesLayout.marginHeight = 1;
- linesLayout.marginWidth = 0;
- lineContainer.setLayout(linesLayout);
- lineScrolledComposite.setContent(lineContainer);
- lineScrolledComposite.setExpandHorizontal(true);
- lineScrolledComposite.setExpandVertical(true);
-
- if (definition == null) {
- definition = new CustomTxtTraceDefinition();
- definition.inputs.add(new InputLine(Cardinality.ZERO_OR_MORE, DEFAULT_REGEX,
- Arrays.asList(new InputData(CustomTraceDefinition.TAG_MESSAGE, CustomTraceDefinition.ACTION_SET))));
- }
- loadDefinition(definition);
- treeViewer.expandAll();
- lineContainer.layout();
-
- categoryText.addModifyListener(updateListener);
- logtypeText.addModifyListener(updateListener);
- timestampOutputFormatText.addModifyListener(updateListener);
-
- lineScrolledComposite.setMinSize(lineContainer.computeSize(SWT.DEFAULT, SWT.DEFAULT).x, lineContainer.computeSize(SWT.DEFAULT, SWT.DEFAULT).y - 1);
-
- hSash.setWeights(new int[] { 1, 2 });
-
- Composite sashBottom = new Composite(vSash, SWT.NONE);
- GridLayout sashBottomLayout = new GridLayout(3, false);
- sashBottomLayout.marginHeight = 0;
- sashBottomLayout.marginWidth = 0;
- sashBottom.setLayout(sashBottomLayout);
-
- Label previewLabel = new Label(sashBottom, SWT.NULL);
- previewLabel.setText(Messages.CustomTxtParserInputWizardPage_previewInput);
- previewLabel.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false));
-
- Button highlightAllButton = new Button(sashBottom, SWT.PUSH);
- highlightAllButton.setLayoutData(new GridData(SWT.RIGHT, SWT.CENTER, false, false));
- highlightAllButton.setText(Messages.CustomTxtParserInputWizardPage_highlightAll);
- highlightAllButton.addSelectionListener(new SelectionAdapter() {
- @Override
- public void widgetSelected(SelectionEvent e) {
- updatePreviews(true);
- }
- });
-
- Button legendButton = new Button(sashBottom, SWT.PUSH);
- legendButton.setImage(HELP_IMAGE);
- legendButton.setToolTipText(Messages.CustomTxtParserInputWizardPage_previewLegend);
- legendButton.setLayoutData(new GridData(SWT.RIGHT, SWT.CENTER, false, false));
- legendButton.addSelectionListener(new SelectionAdapter() {
- @Override
- public void widgetSelected(SelectionEvent e) {
- openLegend();
- }
- });
-
- inputText = new StyledText(sashBottom, SWT.MULTI | SWT.V_SCROLL | SWT.H_SCROLL);
- if (fixedFont == null) {
- if (System.getProperty("os.name").contains("Windows")) { //$NON-NLS-1$ //$NON-NLS-2$
- fixedFont = new Font(Display.getCurrent(), new FontData("Courier New", 10, SWT.NORMAL)); //$NON-NLS-1$
- } else {
- fixedFont = new Font(Display.getCurrent(), new FontData("Monospace", 10, SWT.NORMAL)); //$NON-NLS-1$
- }
- }
- inputText.setFont(fixedFont);
- gd = new GridData(SWT.FILL, SWT.FILL, true, true, 3, 1);
- gd.heightHint = inputText.computeSize(SWT.DEFAULT, inputText.getLineHeight() * 4).y;
- gd.widthHint = 800;
- inputText.setLayoutData(gd);
- inputText.setText(getSelectionText());
- inputText.addModifyListener(updateListener);
-
- vSash.setWeights(new int[] { hSash.computeSize(SWT.DEFAULT, SWT.DEFAULT).y, sashBottom.computeSize(SWT.DEFAULT, SWT.DEFAULT).y });
-
- setControl(container);
-
- validate();
- updatePreviews();
- }
-
- private static class InputLineTreeNodeContentProvider implements ITreeContentProvider {
-
- @Override
- public Object[] getElements(Object inputElement) {
- return ((List<?>) inputElement).toArray();
- }
-
- @Override
- public Object[] getChildren(Object parentElement) {
- InputLine inputLine = (InputLine) parentElement;
- if (inputLine.childrenInputs == null) {
- return new InputLine[0];
- }
- return inputLine.childrenInputs.toArray();
- }
-
- @Override
- public boolean hasChildren(Object element) {
- InputLine inputLine = (InputLine) element;
- return (inputLine.childrenInputs != null && inputLine.childrenInputs.size() > 0);
- }
-
- @Override
- public void dispose() {
- }
-
- @Override
- public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
- }
-
- @Override
- public Object getParent(Object element) {
- InputLine inputLine = (InputLine) element;
- return inputLine.parentInput;
- }
- }
-
- private class InputLineTreeLabelProvider extends ColumnLabelProvider {
-
- @Override
- public Image getImage(Object element) {
- return LINE_IMAGE;
- }
-
- @Override
- public String getText(Object element) {
- InputLine inputLine = (InputLine) element;
- if (inputLine.parentInput == null) {
- return "Root Line " + getName(inputLine) + " " + inputLine.cardinality.toString() + " : " + inputLine.getRegex(); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- }
- return "Line " + getName(inputLine) + " " + inputLine.cardinality.toString() + " : " + inputLine.getRegex(); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- }
- }
-
- private class InputLineTreeSelectionChangedListener implements ISelectionChangedListener {
- @Override
- public void selectionChanged(SelectionChangedEvent event) {
- if (selectedLine != null) {
- selectedLine.dispose();
- }
- if (!(event.getSelection().isEmpty()) && event.getSelection() instanceof IStructuredSelection) {
- IStructuredSelection sel = (IStructuredSelection) event.getSelection();
- InputLine inputLine = (InputLine) sel.getFirstElement();
- selectedLine = new Line(lineContainer, getName(inputLine), inputLine);
- lineContainer.layout();
- lineScrolledComposite.setMinSize(lineContainer.computeSize(SWT.DEFAULT, SWT.DEFAULT).x, lineContainer.computeSize(SWT.DEFAULT, SWT.DEFAULT).y - 1);
- container.layout();
- validate();
- updatePreviews();
- }
- }
- }
-
- @Override
- public void dispose() {
- if (fixedFont != null) {
- fixedFont.dispose();
- fixedFont = null;
- }
- super.dispose();
- }
-
- private void loadDefinition(CustomTxtTraceDefinition def) {
- categoryText.setText(def.categoryName);
- logtypeText.setText(def.definitionName);
- timestampOutputFormatText.setText(def.timeStampOutputFormat);
- treeViewer.setInput(def.inputs);
- if (def.inputs.size() > 0) {
- InputLine inputLine = def.inputs.get(0);
- treeViewer.setSelection(new StructuredSelection(inputLine));
- }
- }
-
- private String getName(InputLine inputLine) {
- if (inputLine.parentInput == null) {
- return Integer.toString(definition.inputs.indexOf(inputLine) + 1);
- }
- return getName(inputLine.parentInput) + "." + Integer.toString(inputLine.parentInput.childrenInputs.indexOf(inputLine) + 1); //$NON-NLS-1$
- }
-
- /**
- * Get the global list of input names.
- *
- * @return The list of input names
- */
- public List<String> getInputNames() {
- List<String> inputs = new ArrayList<>();
- for (InputLine inputLine : definition.inputs) {
- for (String inputName : getInputNames(inputLine)) {
- if (!inputs.contains(inputName)) {
- inputs.add(inputName);
- }
- }
- }
- return inputs;
- }
-
- /**
- * Get the list of input names for the given input line.
- *
- * @param inputLine
- * The input line
- * @return The list of input names
- */
- public List<String> getInputNames(InputLine inputLine) {
- List<String> inputs = new ArrayList<>();
- if (inputLine.columns != null) {
- for (InputData inputData : inputLine.columns) {
- String inputName = inputData.name;
- if (!inputs.contains(inputName)) {
- inputs.add(inputName);
- }
- }
- }
- if (inputLine.childrenInputs != null) {
- for (InputLine childInputLine : inputLine.childrenInputs) {
- for (String inputName : getInputNames(childInputLine)) {
- if (!inputs.contains(inputName)) {
- inputs.add(inputName);
- }
- }
- }
- }
- return inputs;
- }
-
- private void removeLine() {
- selectedLine.dispose();
- selectedLine = null;
- lineContainer.layout();
- lineScrolledComposite.setMinSize(lineContainer.computeSize(SWT.DEFAULT, SWT.DEFAULT).x, lineContainer.computeSize(SWT.DEFAULT, SWT.DEFAULT).y - 1);
- container.layout();
- }
-
- private String getSelectionText() {
- if (this.selection instanceof IStructuredSelection) {
- Object sel = ((IStructuredSelection) this.selection).getFirstElement();
- if (sel instanceof IFile) {
- IFile file = (IFile) sel;
- BufferedReader reader = null;
- try {
- reader = new BufferedReader(new InputStreamReader(file.getContents()));
- StringBuilder sb = new StringBuilder();
- String line = null;
- while ((line = reader.readLine()) != null) {
- sb.append(line + "\n"); //$NON-NLS-1$
- }
- return sb.toString();
- } catch (CoreException e) {
- return ""; //$NON-NLS-1$
- } catch (IOException e) {
- return ""; //$NON-NLS-1$
- } finally {
- if (reader != null) {
- try {
- reader.close();
- } catch (IOException e) {
- }
- }
- }
- }
- }
- return ""; //$NON-NLS-1$
- }
-
- private void updatePreviews() {
- updatePreviews(false);
- }
-
- private void updatePreviews(boolean updateAll) {
- if (inputText == null) {
- // early update during construction
- return;
- }
- inputText.setStyleRanges(new StyleRange[] {});
-
- try (Scanner scanner = new Scanner(inputText.getText());) {
- scanner.useDelimiter("\n"); //$NON-NLS-1$
-
- int rawPos = 0;
- // skip starting delimiters
- String skip = scanner.findWithinHorizon("\\A\n+", 0); //$NON-NLS-1$
- if (skip != null) {
- rawPos += skip.length();
- }
-
- timeStampFormat = null;
- if (selectedLine != null) {
- for (InputGroup input : selectedLine.inputs) {
- input.previewText.setText(Messages.CustomTxtParserInputWizardPage_noMathcingLine);
- }
- }
-
- Map<String, String> data = new HashMap<>();
- int rootLineMatches = 0;
- String firstEntryTimeStamp = null;
- String firstEntryTimeStampInputFormat = null;
- String line = null;
- boolean lineIsNull = true; // needed because of JDT bug with continue at label
- event: while (scanner.hasNext() || !lineIsNull) {
- if (rootLineMatches > 0 && !updateAll) {
- break;
- }
- if (line == null) {
- line = scanner.next();
- lineIsNull = false;
- }
- int length = line.length();
- String log = line.replaceAll("\r", ""); //$NON-NLS-1$ //$NON-NLS-2$
- for (InputLine rootInputLine : definition.inputs) {
- Pattern pattern;
- try {
- pattern = rootInputLine.getPattern();
- } catch (PatternSyntaxException e) {
- continue;
- }
- Matcher matcher = pattern.matcher(log);
- if (matcher.matches()) {
- rootLineMatches++;
- inputText.setStyleRange(new StyleRange(rawPos, length,
- COLOR_BLACK, COLOR_YELLOW, SWT.ITALIC));
- data = new HashMap<>();
- timeStampFormat = null;
- updatePreviewLine(rootInputLine, matcher, data, rawPos, rootLineMatches);
- if (rootLineMatches == 1) {
- firstEntryTimeStamp = data.get(CustomTraceDefinition.TAG_TIMESTAMP);
- firstEntryTimeStampInputFormat = timeStampFormat;
- }
- HashMap<InputLine, Integer> countMap = new HashMap<>();
- InputLine currentInput = null;
- if (rootInputLine.childrenInputs != null && rootInputLine.childrenInputs.size() > 0) {
- currentInput = rootInputLine.childrenInputs.get(0);
- countMap.put(currentInput, 0);
- }
- rawPos += length + 1; // +1 for \n
- while (scanner.hasNext()) {
- line = scanner.next();
- length = line.length();
- log = line.replaceAll("\r", ""); //$NON-NLS-1$ //$NON-NLS-2$
- boolean processed = false;
- if (currentInput == null) {
- for (InputLine input : definition.inputs) {
- try {
- matcher = input.getPattern().matcher(log);
- } catch (PatternSyntaxException e) {
- continue;
- }
- if (matcher.matches()) {
- continue event;
- }
- }
- } else {
- if (countMap.get(currentInput) >= currentInput.getMinCount()) {
- List<InputLine> nextInputs = currentInput.getNextInputs(countMap);
- if (nextInputs.size() == 0 || nextInputs.get(nextInputs.size() - 1).getMinCount() == 0) {
- for (InputLine input : definition.inputs) {
- try {
- matcher = input.getPattern().matcher(log);
- } catch (PatternSyntaxException e) {
- continue;
- }
- if (matcher.matches()) {
- continue event;
- }
- }
- }
- for (InputLine input : nextInputs) {
- try {
- matcher = input.getPattern().matcher(log);
- } catch (PatternSyntaxException e) {
- continue;
- }
- if (matcher.matches()) {
- inputText.setStyleRange(new StyleRange(rawPos, length,
- COLOR_BLACK, COLOR_LIGHT_YELLOW, SWT.ITALIC));
- currentInput = input;
- updatePreviewLine(currentInput, matcher, data, rawPos, rootLineMatches);
- if (countMap.get(currentInput) == null) {
- countMap.put(currentInput, 1);
- } else {
- countMap.put(currentInput, countMap.get(currentInput) + 1);
- }
- Iterator<InputLine> iter = countMap.keySet().iterator();
- while (iter.hasNext()) {
- InputLine inputLine = iter.next();
- if (inputLine.level > currentInput.level) {
- iter.remove();
- }
- }
- if (currentInput.childrenInputs != null && currentInput.childrenInputs.size() > 0) {
- currentInput = currentInput.childrenInputs.get(0);
- countMap.put(currentInput, 0);
- } else {
- if (countMap.get(currentInput) >= currentInput.getMaxCount()) {
- if (currentInput.getNextInputs(countMap).size() > 0) {
- currentInput = currentInput.getNextInputs(countMap).get(0);
- if (countMap.get(currentInput) == null) {
- countMap.put(currentInput, 0);
- }
- iter = countMap.keySet().iterator();
- while (iter.hasNext()) {
- InputLine inputLine = iter.next();
- if (inputLine.level > currentInput.level) {
- iter.remove();
- }
- }
- } else {
- currentInput = null;
- }
- }
- }
- processed = true;
- break;
- }
- }
- }
- if (!processed && currentInput != null) {
- matcher = null;
- try {
- matcher = currentInput.getPattern().matcher(log);
- } catch (PatternSyntaxException e) {
- }
- if (matcher != null && matcher.matches()) {
- inputText.setStyleRange(new StyleRange(rawPos, length,
- COLOR_BLACK, COLOR_LIGHT_YELLOW, SWT.ITALIC));
- updatePreviewLine(currentInput, matcher, data, rawPos, rootLineMatches);
- countMap.put(currentInput, countMap.get(currentInput) + 1);
- if (currentInput.childrenInputs != null && currentInput.childrenInputs.size() > 0) {
- currentInput = currentInput.childrenInputs.get(0);
- countMap.put(currentInput, 0);
- } else {
- if (countMap.get(currentInput) >= currentInput.getMaxCount()) {
- if (currentInput.getNextInputs(countMap).size() > 0) {
- currentInput = currentInput.getNextInputs(countMap).get(0);
- if (countMap.get(currentInput) == null) {
- countMap.put(currentInput, 0);
- }
- Iterator<InputLine> iter = countMap.keySet().iterator();
- while (iter.hasNext()) {
- InputLine inputLine = iter.next();
- if (inputLine.level > currentInput.level) {
- iter.remove();
- }
- }
- } else {
- currentInput = null;
- }
- }
- }
- }
- }
- }
- rawPos += length + 1; // +1 for \n
- }
-
- break;
- }
- }
- rawPos += length + 1; // +1 for \n
- line = null;
- lineIsNull = true;
- }
-
- if (rootLineMatches == 1) {
- firstEntryTimeStamp = data.get(CustomTraceDefinition.TAG_TIMESTAMP);
- firstEntryTimeStampInputFormat = timeStampFormat;
- }
- if (firstEntryTimeStamp == null) {
- timestampPreviewText.setText(Messages.CustomTxtParserInputWizardPage_noTimestampGroup);
- if (selectedLine != null) {
- for (InputGroup group : selectedLine.inputs) {
- if (group.tagCombo.getText().equals(CustomTraceDefinition.TAG_TIMESTAMP)) {
- timestampPreviewText.setText(Messages.CustomTxtParserInputWizardPage_noMatchingTimestamp);
- break;
- }
- }
- }
- } else {
- try {
- TmfTimestampFormat timestampFormat = new TmfTimestampFormat(firstEntryTimeStampInputFormat);
- long timestamp = timestampFormat.parseValue(firstEntryTimeStamp);
- timestampFormat = new TmfTimestampFormat(timestampOutputFormatText.getText().trim());
- timestampPreviewText.setText(timestampFormat.format(timestamp));
- } catch (ParseException e) {
- timestampPreviewText.setText("*parse exception* [" + firstEntryTimeStamp + "] <> [" + firstEntryTimeStampInputFormat + "]"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- } catch (IllegalArgumentException e) {
- timestampPreviewText.setText("*parse exception* [Illegal Argument: " + e.getMessage() + "]"); //$NON-NLS-1$ //$NON-NLS-2$
- }
-
- }
- }
- }
-
- private void updatePreviewLine(InputLine line, Matcher matcher, Map<String, String> data, int rawPos, int rootLineMatches) {
- for (int i = 0; i < line.columns.size(); i++) {
- InputData input = line.columns.get(i);
- if (i < matcher.groupCount() && matcher.group(i + 1) != null) {
- if (line.parentInput == null) {
- inputText.setStyleRange(new StyleRange(rawPos + matcher.start(i + 1), matcher.end(i + 1) - matcher.start(i + 1),
- COLOR_BLACK, COLOR_GREEN, SWT.BOLD));
- } else {
- inputText.setStyleRange(new StyleRange(rawPos + matcher.start(i + 1), matcher.end(i + 1) - matcher.start(i + 1),
- COLOR_BLACK, COLOR_LIGHT_GREEN, SWT.BOLD));
- }
- String value = matcher.group(i + 1).trim();
- if (selectedLine != null && selectedLine.inputLine.equals(line) && rootLineMatches == 1 &&
- selectedLine.inputs.get(i).previewText.getText().equals(Messages.CustomTxtParserInputWizardPage_noMatchingLine)) {
- selectedLine.inputs.get(i).previewText.setText(value);
- }
- if (value.length() == 0) {
- continue;
- }
- if (input.action == CustomTraceDefinition.ACTION_SET) {
- data.put(input.name, value);
- if (input.name.equals(CustomTraceDefinition.TAG_TIMESTAMP)) {
- timeStampFormat = input.format;
- }
- } else if (input.action == CustomTraceDefinition.ACTION_APPEND) {
- String s = data.get(input.name);
- if (s != null) {
- data.put(input.name, s + value);
- } else {
- data.put(input.name, value);
- }
- if (input.name.equals(CustomTraceDefinition.TAG_TIMESTAMP)) {
- if (timeStampFormat != null) {
- timeStampFormat += input.format;
- } else {
- timeStampFormat = input.format;
- }
- }
- } else if (input.action == CustomTraceDefinition.ACTION_APPEND_WITH_SEPARATOR) {
- String s = data.get(input.name);
- if (s != null) {
- data.put(input.name, s + " | " + value); //$NON-NLS-1$
- } else {
- data.put(input.name, value);
- }
- if (input.name.equals(CustomTraceDefinition.TAG_TIMESTAMP)) {
- if (timeStampFormat != null) {
- timeStampFormat += " | " + input.format; //$NON-NLS-1$
- } else {
- timeStampFormat = input.format;
- }
- }
- }
- } else {
- if (selectedLine != null && selectedLine.inputLine.equals(line) && rootLineMatches == 1) {
- if (selectedLine.inputs.get(i).previewText.getText().equals(Messages.CustomTxtParserInputWizardPage_noMatchingLine)) {
- selectedLine.inputs.get(i).previewText.setText(Messages.CustomTxtParserInputWizardPage_noMatchingGroup);
- }
- }
- }
- }
- // highlight the matching groups that have no corresponponding input
- for (int i = line.columns.size(); i < matcher.groupCount(); i++) {
- if (matcher.group(i + 1) != null) {
- if (line.parentInput == null) {
- inputText.setStyleRange(new StyleRange(rawPos + matcher.start(i + 1), matcher.end(i + 1) - matcher.start(i + 1),
- COLOR_BLACK, COLOR_MAGENTA));
- } else {
- inputText.setStyleRange(new StyleRange(rawPos + matcher.start(i + 1), matcher.end(i + 1) - matcher.start(i + 1),
- COLOR_BLACK, COLOR_LIGHT_MAGENTA));
- }
- }
- }
- }
-
- private void openHelpShell(String url) {
- if (helpBrowser != null && !helpBrowser.isDisposed()) {
- helpBrowser.getShell().setActive();
- if (!helpBrowser.getUrl().equals(url)) {
- helpBrowser.setUrl(url);
- }
- return;
- }
- final Shell helpShell = new Shell(getShell(), SWT.SHELL_TRIM);
- helpShell.setLayout(new FillLayout());
- helpBrowser = new Browser(helpShell, SWT.NONE);
- helpBrowser.addTitleListener(new TitleListener() {
- @Override
- public void changed(TitleEvent event) {
- helpShell.setText(event.title);
- }
- });
- Rectangle r = container.getBounds();
- Point p = container.toDisplay(r.x, r.y);
- Rectangle trim = helpShell.computeTrim(p.x + (r.width - 750) / 2, p.y + (r.height - 400) / 2, 750, 400);
- helpShell.setBounds(trim);
- helpShell.open();
- helpBrowser.setUrl(url);
- }
-
- private void openLegend() {
- final String cg = Messages.CustomTxtParserInputWizardPage_capturedGroup;
- final String ucg = Messages.CustomTxtParserInputWizardPage_unidentifiedCaptureGroup;
- final String ut = Messages.CustomTxtParserInputWizardPage_uncapturedText;
- int line1start = 0;
- String line1 = Messages.CustomTxtParserInputWizardPage_nonMatchingLine;
- int line2start = line1start + line1.length();
- String line2 = Messages.CustomTxtParserInputWizardPage_matchingRootLine + ' ' + cg + ' ' + ucg + ' ' + ut + " \n"; //$NON-NLS-1$
- int line3start = line2start + line2.length();
- String line3 = Messages.CustomTxtParserInputWizardPage_matchingOtherLine + ' ' + cg + ' ' + ucg + ' ' + ut + " \n"; //$NON-NLS-1$
- int line4start = line3start + line3.length();
- String line4 = Messages.CustomTxtParserInputWizardPage_matchingOtherLine + ' ' + cg + ' ' + ucg + ' ' + ut + " \n"; //$NON-NLS-1$
- int line5start = line4start + line4.length();
- String line5 = Messages.CustomTxtParserInputWizardPage_nonMatchingLine;
- int line6start = line5start + line5.length();
- String line6 = Messages.CustomTxtParserInputWizardPage_matchingRootLine + cg + ' ' + ucg + ' ' + ut + " \n"; //$NON-NLS-1$
-
- final Shell legendShell = new Shell(getShell(), SWT.DIALOG_TRIM);
- legendShell.setLayout(new FillLayout());
- StyledText legendText = new StyledText(legendShell, SWT.MULTI);
- legendText.setFont(fixedFont);
- legendText.setText(line1 + line2 + line3 + line4 + line5 + line6);
- legendText.setStyleRange(new StyleRange(line2start, line2.length(), COLOR_BLACK, COLOR_YELLOW, SWT.ITALIC));
- legendText.setStyleRange(new StyleRange(line3start, line3.length(), COLOR_BLACK, COLOR_LIGHT_YELLOW, SWT.ITALIC));
- legendText.setStyleRange(new StyleRange(line4start, line4.length(), COLOR_BLACK, COLOR_LIGHT_YELLOW, SWT.ITALIC));
- legendText.setStyleRange(new StyleRange(line6start, line6.length(), COLOR_BLACK, COLOR_YELLOW, SWT.ITALIC));
- legendText.setStyleRange(new StyleRange(line2start + line2.indexOf(cg), cg.length(), COLOR_BLACK, COLOR_GREEN, SWT.BOLD));
- legendText.setStyleRange(new StyleRange(line2start + line2.indexOf(ucg), ucg.length(), COLOR_BLACK, COLOR_MAGENTA));
- legendText.setStyleRange(new StyleRange(line3start + line3.indexOf(cg), cg.length(), COLOR_BLACK, COLOR_LIGHT_GREEN, SWT.BOLD));
- legendText.setStyleRange(new StyleRange(line3start + line3.indexOf(ucg), ucg.length(), COLOR_BLACK, COLOR_LIGHT_MAGENTA));
- legendText.setStyleRange(new StyleRange(line4start + line4.indexOf(cg), cg.length(), COLOR_BLACK, COLOR_LIGHT_GREEN, SWT.BOLD));
- legendText.setStyleRange(new StyleRange(line4start + line4.indexOf(ucg), ucg.length(), COLOR_BLACK, COLOR_LIGHT_MAGENTA));
- legendText.setStyleRange(new StyleRange(line6start + line6.indexOf(cg), cg.length(), COLOR_BLACK, COLOR_GREEN, SWT.BOLD));
- legendText.setStyleRange(new StyleRange(line6start + line6.indexOf(ucg), ucg.length(), COLOR_BLACK, COLOR_MAGENTA));
- legendShell.setText(Messages.CustomTxtParserInputWizardPage_previewLegend);
- legendShell.pack();
- legendShell.open();
- }
-
- private class UpdateListener implements ModifyListener, SelectionListener {
-
- @Override
- public void modifyText(ModifyEvent e) {
- validate();
- updatePreviews();
- }
-
- @Override
- public void widgetDefaultSelected(SelectionEvent e) {
- validate();
- updatePreviews();
- }
-
- @Override
- public void widgetSelected(SelectionEvent e) {
- validate();
- updatePreviews();
- }
-
- }
-
- private class Line {
- private static final String INFINITY_STRING = "\u221E"; //$NON-NLS-1$
- private InputLine inputLine;
- private Group group;
- private Composite labelComposite;
- private Text regexText;
- private Composite cardinalityContainer;
- private Combo cardinalityCombo;
- private Label cardinalityMinLabel;
- private Text cardinalityMinText;
- private Label cardinalityMaxLabel;
- private Text cardinalityMaxText;
- private Button infiniteButton;
- private List<InputGroup> inputs = new ArrayList<>();
- private Button addGroupButton;
- private Label addGroupLabel;
-
- public Line(Composite parent, String name, InputLine inputLine) {
- this.inputLine = inputLine;
-
- group = new Group(parent, SWT.NONE);
- group.setText(name);
- group.setLayout(new GridLayout(2, false));
- group.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false));
-
- labelComposite = new Composite(group, SWT.FILL);
- GridLayout labelLayout = new GridLayout(1, false);
- labelLayout.marginWidth = 0;
- labelLayout.marginHeight = 0;
- labelComposite.setLayout(labelLayout);
- labelComposite.setLayoutData(new GridData(SWT.RIGHT, SWT.CENTER, false, false));
-
- Label label = new Label(labelComposite, SWT.NULL);
- label.setText(Messages.CustomTxtParserInputWizardPage_regularExpression);
-
- Composite regexContainer = new Composite(group, SWT.NONE);
- GridLayout regexLayout = new GridLayout(2, false);
- regexLayout.marginHeight = 0;
- regexLayout.marginWidth = 0;
- regexContainer.setLayout(regexLayout);
- regexContainer.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false));
-
- regexText = new Text(regexContainer, SWT.BORDER | SWT.SINGLE);
- GridData gd = new GridData(SWT.FILL, SWT.CENTER, true, false);
- gd.widthHint = 0;
- regexText.setLayoutData(gd);
- regexText.setText(inputLine.getRegex());
- regexText.addModifyListener(updateListener);
-
- Button regexHelpButton = new Button(regexContainer, SWT.PUSH);
- regexHelpButton.setImage(HELP_IMAGE);
- regexHelpButton.setToolTipText(Messages.CustomTxtParserInputWizardPage_regularExpressionHelp);
- regexHelpButton.addSelectionListener(new SelectionAdapter() {
- @Override
- public void widgetSelected(SelectionEvent e) {
- openHelpShell(PATTERN_URL);
- }
- });
-
- label = new Label(group, SWT.NONE);
- label.setText(Messages.CustomTxtParserInputWizardPage_cardinality);
- label.setLayoutData(new GridData(SWT.RIGHT, SWT.CENTER, false, false));
-
- cardinalityContainer = new Composite(group, SWT.NONE);
- GridLayout cardinalityLayout = new GridLayout(6, false);
- cardinalityLayout.marginHeight = 0;
- cardinalityLayout.marginWidth = 0;
- cardinalityContainer.setLayout(cardinalityLayout);
- cardinalityContainer.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false));
-
- cardinalityCombo = new Combo(cardinalityContainer, SWT.DROP_DOWN | SWT.READ_ONLY);
- cardinalityCombo.setItems(new String[] {
- Cardinality.ZERO_OR_MORE.toString(),
- Cardinality.ONE_OR_MORE.toString(),
- Cardinality.ZERO_OR_ONE.toString(),
- Cardinality.ONE.toString(), "(?,?)" }); //$NON-NLS-1$
- cardinalityCombo.addSelectionListener(new SelectionListener() {
- @Override
- public void widgetDefaultSelected(SelectionEvent e) {
- }
-
- @Override
- public void widgetSelected(SelectionEvent e) {
- switch (cardinalityCombo.getSelectionIndex()) {
- case 4: // (?,?)
- cardinalityMinLabel.setVisible(true);
- cardinalityMinText.setVisible(true);
- cardinalityMaxLabel.setVisible(true);
- cardinalityMaxText.setVisible(true);
- infiniteButton.setVisible(true);
- break;
- default:
- cardinalityMinLabel.setVisible(false);
- cardinalityMinText.setVisible(false);
- cardinalityMaxLabel.setVisible(false);
- cardinalityMaxText.setVisible(false);
- infiniteButton.setVisible(false);
- break;
- }
- cardinalityContainer.layout();
- validate();
- updatePreviews();
- }
- });
-
- cardinalityMinLabel = new Label(cardinalityContainer, SWT.NONE);
- cardinalityMinLabel.setLayoutData(new GridData(SWT.RIGHT, SWT.CENTER, false, false));
- cardinalityMinLabel.setText(Messages.CustomTxtParserInputWizardPage_min);
- cardinalityMinLabel.setVisible(false);
-
- cardinalityMinText = new Text(cardinalityContainer, SWT.BORDER | SWT.SINGLE);
- gd = new GridData(SWT.CENTER, SWT.CENTER, false, false);
- gd.widthHint = 20;
- cardinalityMinText.setLayoutData(gd);
- cardinalityMinText.setVisible(false);
-
- cardinalityMaxLabel = new Label(cardinalityContainer, SWT.NONE);
- cardinalityMaxLabel.setLayoutData(new GridData(SWT.RIGHT, SWT.CENTER, false, false));
- cardinalityMaxLabel.setText(Messages.CustomTxtParserInputWizardPage_max);
- cardinalityMaxLabel.setVisible(false);
-
- cardinalityMaxText = new Text(cardinalityContainer, SWT.BORDER | SWT.SINGLE);
- gd = new GridData(SWT.CENTER, SWT.CENTER, false, false);
- gd.widthHint = 20;
- cardinalityMaxText.setLayoutData(gd);
- cardinalityMaxText.setVisible(false);
-
- infiniteButton = new Button(cardinalityContainer, SWT.PUSH);
- infiniteButton.setText(INFINITY_STRING);
- infiniteButton.setVisible(false);
- infiniteButton.addSelectionListener(new SelectionAdapter() {
- @Override
- public void widgetSelected(SelectionEvent e) {
- cardinalityMaxText.setText(INFINITY_STRING);
- }
- });
-
- if (inputLine.cardinality.equals(Cardinality.ZERO_OR_MORE)) {
- cardinalityCombo.select(0);
- } else if (inputLine.cardinality.equals(Cardinality.ONE_OR_MORE)) {
- cardinalityCombo.select(1);
- } else if (inputLine.cardinality.equals(Cardinality.ZERO_OR_ONE)) {
- cardinalityCombo.select(2);
- } else if (inputLine.cardinality.equals(Cardinality.ONE)) {
- cardinalityCombo.select(3);
- } else {
- cardinalityCombo.select(4);
- cardinalityMinLabel.setVisible(true);
- cardinalityMinText.setVisible(true);
- if (inputLine.getMinCount() >= 0) {
- cardinalityMinText.setText(Integer.toString(inputLine.getMinCount()));
- }
- cardinalityMaxLabel.setVisible(true);
- cardinalityMaxText.setVisible(true);
- if (inputLine.getMaxCount() == Cardinality.INF) {
- cardinalityMaxText.setText(INFINITY_STRING);
- } else if (inputLine.getMaxCount() >= 0) {
- cardinalityMaxText.setText(Integer.toString(inputLine.getMaxCount()));
- }
- infiniteButton.setVisible(true);
- }
-
- VerifyListener digitsListener = new VerifyListener() {
- @Override
- public void verifyText(VerifyEvent e) {
- if (e.text.equals(INFINITY_STRING)) {
- e.doit = e.widget == cardinalityMaxText && e.start == 0 && e.end == ((Text) e.widget).getText().length();
- } else {
- if (((Text) e.widget).getText().equals(INFINITY_STRING)) {
- e.doit = e.start == 0 && e.end == ((Text) e.widget).getText().length();
- }
- for (int i = 0; i < e.text.length(); i++) {
- if (!Character.isDigit(e.text.charAt(i))) {
- e.doit = false;
- break;
- }
- }
- }
- }
- };
-
- cardinalityMinText.addModifyListener(updateListener);
- cardinalityMaxText.addModifyListener(updateListener);
- cardinalityMinText.addVerifyListener(digitsListener);
- cardinalityMaxText.addVerifyListener(digitsListener);
-
- if (inputLine.columns != null) {
- for (InputData inputData : inputLine.columns) {
- InputGroup inputGroup = new InputGroup(group, this, inputs.size() + 1);
- if (inputData.name.equals(CustomTraceDefinition.TAG_TIMESTAMP)) {
- inputGroup.tagCombo.select(0);
- inputGroup.tagText.setText(inputData.format);
- inputGroup.tagLabel.setText(Messages.CustomTxtParserInputWizardPage_format);
- inputGroup.tagLabel.setVisible(true);
- inputGroup.tagText.setVisible(true);
- inputGroup.tagText.addModifyListener(updateListener);
- } else if (inputData.name.equals(CustomTraceDefinition.TAG_MESSAGE)) {
- inputGroup.tagCombo.select(1);
- } else {
- inputGroup.tagCombo.select(2);
- inputGroup.tagText.setText(inputData.name);
- inputGroup.tagLabel.setText(Messages.CustomTxtParserInputWizardPage_name);
- inputGroup.tagLabel.setVisible(true);
- inputGroup.tagText.setVisible(true);
- inputGroup.tagText.addModifyListener(updateListener);
- }
- inputGroup.actionCombo.select(inputData.action);
- inputs.add(inputGroup);
- }
- }
-
- createAddGroupButton();
- }
-
- private void createAddGroupButton() {
- addGroupButton = new Button(group, SWT.PUSH);
- addGroupButton.setLayoutData(new GridData(SWT.RIGHT, SWT.CENTER, false, false));
- addGroupButton.setImage(ADD_IMAGE);
- addGroupButton.setToolTipText(Messages.CustomTxtParserInputWizardPage_addGroup);
- addGroupButton.addSelectionListener(new SelectionAdapter() {
- @Override
- public void widgetSelected(SelectionEvent e) {
- removeAddGroupButton();
- inputs.add(new InputGroup(group, Line.this, inputs.size() + 1));
- createAddGroupButton();
- lineContainer.layout();
- lineScrolledComposite.setMinSize(lineContainer.computeSize(SWT.DEFAULT, SWT.DEFAULT).x, lineContainer.computeSize(SWT.DEFAULT, SWT.DEFAULT).y - 1);
- group.getParent().layout();
- validate();
- updatePreviews();
- }
- });
-
- addGroupLabel = new Label(group, SWT.NULL);
- addGroupLabel.setText(Messages.CustomTxtParserInputWizardPage_newGroup);
- }
-
- private void removeAddGroupButton() {
- addGroupButton.dispose();
- addGroupLabel.dispose();
- }
-
- private void removeInput(int inputNumber) {
- int nb = inputNumber;
- if (--nb < inputs.size()) {
- inputs.remove(nb).dispose();
- for (int i = nb; i < inputs.size(); i++) {
- inputs.get(i).setInputNumber(i + 1);
- }
- lineContainer.layout();
- lineScrolledComposite.setMinSize(lineContainer.computeSize(SWT.DEFAULT, SWT.DEFAULT).x, lineContainer.computeSize(SWT.DEFAULT, SWT.DEFAULT).y - 1);
- group.getParent().layout();
- }
- }
-
- private void dispose() {
- group.dispose();
- }
-
- private void extractInputs() {
- inputLine.setRegex(selectedLine.regexText.getText());
- switch (cardinalityCombo.getSelectionIndex()) {
- case 0:
- inputLine.cardinality = Cardinality.ZERO_OR_MORE;
- break;
- case 1:
- inputLine.cardinality = Cardinality.ONE_OR_MORE;
- break;
- case 2:
- inputLine.cardinality = Cardinality.ZERO_OR_ONE;
- break;
- case 3:
- inputLine.cardinality = Cardinality.ONE;
- break;
- case 4: // (?,?)
- int min,
- max;
- try {
- min = Integer.parseInt(cardinalityMinText.getText());
- } catch (NumberFormatException e) {
- min = -1;
- }
- try {
- if (cardinalityMaxText.getText().equals(INFINITY_STRING)) {
- max = Cardinality.INF;
- } else {
- max = Integer.parseInt(cardinalityMaxText.getText());
- }
- } catch (NumberFormatException e) {
- max = -1;
- }
- inputLine.cardinality = new Cardinality(min, max);
- break;
- default:
- inputLine.cardinality = Cardinality.ZERO_OR_MORE;
- break;
- }
- inputLine.columns = new ArrayList<>(inputs.size());
- for (int i = 0; i < inputs.size(); i++) {
- InputGroup grp = inputs.get(i);
- InputData inputData = new InputData();
- if (grp.tagCombo.getText().equals(CustomTraceDefinition.TAG_OTHER)) {
- inputData.name = grp.tagText.getText().trim();
- } else {
- inputData.name = grp.tagCombo.getText();
- if (grp.tagCombo.getText().equals(CustomTraceDefinition.TAG_TIMESTAMP)) {
- inputData.format = grp.tagText.getText().trim();
- }
- }
- inputData.action = grp.actionCombo.getSelectionIndex();
- inputLine.columns.add(inputData);
- }
- }
- }
-
- private class InputGroup {
- private Line line;
- private int inputNumber;
-
- // children of parent (must be disposed)
- private Composite labelComposite;
- private Composite tagComposite;
- private Label previewLabel;
- private Text previewText;
-
- // children of labelComposite
- private Label inputLabel;
-
- // children of tagComposite
- private Combo tagCombo;
- private Label tagLabel;
- private Text tagText;
- private Combo actionCombo;
-
- public InputGroup(Composite parent, Line line, int inputNumber) {
- this.line = line;
- this.inputNumber = inputNumber;
-
- labelComposite = new Composite(parent, SWT.FILL);
- GridLayout labelLayout = new GridLayout(2, false);
- labelLayout.marginWidth = 0;
- labelLayout.marginHeight = 0;
- labelComposite.setLayout(labelLayout);
- labelComposite.setLayoutData(new GridData(SWT.RIGHT, SWT.CENTER, false, false));
-
- Button deleteButton = new Button(labelComposite, SWT.PUSH);
- deleteButton.setLayoutData(new GridData(SWT.RIGHT, SWT.CENTER, false, false));
- deleteButton.setImage(DELETE_IMAGE);
- deleteButton.setToolTipText(Messages.CustomTxtParserInputWizardPage_removeGroup);
- deleteButton.addSelectionListener(new SelectionAdapter() {
- @Override
- public void widgetSelected(SelectionEvent e) {
- InputGroup.this.line.removeInput(InputGroup.this.inputNumber);
- validate();
- updatePreviews();
- }
- });
-
- inputLabel = new Label(labelComposite, SWT.NULL);
- inputLabel.setLayoutData(new GridData(SWT.RIGHT, SWT.CENTER, false, false));
- inputLabel.setText(NLS.bind(Messages.CustomTxtParserInputWizardPage_group, inputNumber));
-
- tagComposite = new Composite(parent, SWT.FILL);
- GridLayout tagLayout = new GridLayout(4, false);
- tagLayout.marginWidth = 0;
- tagLayout.marginHeight = 0;
- tagComposite.setLayout(tagLayout);
- tagComposite.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false));
-
- tagCombo = new Combo(tagComposite, SWT.DROP_DOWN | SWT.READ_ONLY);
- tagCombo.setItems(new String[] { CustomTraceDefinition.TAG_TIMESTAMP,
- CustomTraceDefinition.TAG_MESSAGE,
- CustomTraceDefinition.TAG_OTHER });
- tagCombo.select(1);
- tagCombo.addSelectionListener(new SelectionListener() {
- @Override
- public void widgetDefaultSelected(SelectionEvent e) {
- }
-
- @Override
- public void widgetSelected(SelectionEvent e) {
- tagText.removeModifyListener(updateListener);
- switch (tagCombo.getSelectionIndex()) {
- case 0: // Time Stamp
- tagLabel.setText(Messages.CustomTxtParserInputWizardPage_format);
- tagLabel.setVisible(true);
- tagText.setVisible(true);
- tagText.addModifyListener(updateListener);
- break;
- case 1: // Message
- tagLabel.setVisible(false);
- tagText.setVisible(false);
- break;
- case 2: // Other
- tagLabel.setText(Messages.CustomTxtParserInputWizardPage_name);
- tagLabel.setVisible(true);
- tagText.setVisible(true);
- tagText.addModifyListener(updateListener);
- break;
- case 3: // Continue
- tagLabel.setVisible(false);
- tagText.setVisible(false);
- break;
- default:
- break;
- }
- tagComposite.layout();
- validate();
- updatePreviews();
- }
- });
-
- tagLabel = new Label(tagComposite, SWT.NULL);
- tagLabel.setLayoutData(new GridData(SWT.RIGHT, SWT.CENTER, false, false));
- tagLabel.setVisible(false);
-
- tagText = new Text(tagComposite, SWT.BORDER | SWT.SINGLE);
- GridData gd = new GridData(SWT.FILL, SWT.CENTER, true, false);
- gd.widthHint = 0;
- tagText.setLayoutData(gd);
- tagText.setVisible(false);
-
- actionCombo = new Combo(tagComposite, SWT.DROP_DOWN | SWT.READ_ONLY);
- actionCombo.setItems(new String[] { Messages.CustomTxtParserInputWizardPage_set, Messages.CustomTxtParserInputWizardPage_append, Messages.CustomTxtParserInputWizardPage_appendWith });
- actionCombo.select(0);
- actionCombo.addSelectionListener(updateListener);
-
- previewLabel = new Label(parent, SWT.NULL);
- previewLabel.setLayoutData(new GridData(SWT.RIGHT, SWT.CENTER, false, false));
- previewLabel.setText(Messages.CustomTxtParserInputWizardPage_preview);
-
- previewText = new Text(parent, SWT.BORDER | SWT.SINGLE | SWT.READ_ONLY);
- gd = new GridData(SWT.FILL, SWT.CENTER, true, false);
- gd.widthHint = 0;
- previewText.setLayoutData(gd);
- previewText.setText(Messages.CustomTxtParserInputWizardPage_noMatch);
- previewText.setBackground(COLOR_WIDGET_BACKGROUND);
- }
-
- private void dispose() {
- labelComposite.dispose();
- tagComposite.dispose();
- previewLabel.dispose();
- previewText.dispose();
- }
-
- private void setInputNumber(int inputNumber) {
- this.inputNumber = inputNumber;
- inputLabel.setText(NLS.bind(Messages.CustomTxtParserInputWizardPage_group, inputNumber));
- labelComposite.layout();
- }
- }
-
- private void validate() {
-
- definition.categoryName = categoryText.getText().trim();
- definition.definitionName = logtypeText.getText().trim();
- definition.timeStampOutputFormat = timestampOutputFormatText.getText().trim();
-
- if (selectedLine != null) {
- selectedLine.extractInputs();
- treeViewer.refresh();
- }
-
- StringBuffer errors = new StringBuffer();
-
- if (definition.categoryName.length() == 0) {
- errors.append("Enter a category for the new trace type. "); //$NON-NLS-1$
- categoryText.setBackground(COLOR_LIGHT_RED);
- } else if (definition.definitionName.length() == 0) {
- errors.append("Enter a name for the new trace type. "); //$NON-NLS-1$
- logtypeText.setBackground(COLOR_LIGHT_RED);
- } else {
- categoryText.setBackground(COLOR_TEXT_BACKGROUND);
- logtypeText.setBackground(COLOR_TEXT_BACKGROUND);
- if (definition.categoryName.indexOf(':') != -1) {
- errors.append("Invalid character ':' in category. "); //$NON-NLS-1$
- categoryText.setBackground(COLOR_LIGHT_RED);
- }
- if (definition.definitionName.indexOf(':') != -1) {
- errors.append("Invalid character ':' in trace type. "); //$NON-NLS-1$
- logtypeText.setBackground(COLOR_LIGHT_RED);
- }
- for (TraceTypeHelper helper : TmfTraceType.getTraceTypeHelpers()) {
- if (definition.categoryName.equals(helper.getCategoryName()) &&
- definition.definitionName.equals(helper.getName()) &&
- (editDefinitionName == null || !editDefinitionName.equals(definition.definitionName)) &&
- (editCategoryName == null || !editCategoryName.equals(definition.categoryName))) {
- errors.append("The trace type name already exists. "); //$NON-NLS-1$
- logtypeText.setBackground(COLOR_LIGHT_RED);
- break;
- }
- }
- }
-
- timestampFound = false;
- for (int i = 0; i < definition.inputs.size(); i++) {
-
- InputLine inputLine = definition.inputs.get(i);
- String name = Integer.toString(i + 1);
- errors.append(validateLine(inputLine, name));
- }
- if (timestampFound) {
- if (definition.timeStampOutputFormat.length() == 0) {
- errors.append("Enter the output format for the Time Stamp field. "); //$NON-NLS-1$
- timestampOutputFormatText.setBackground(COLOR_LIGHT_RED);
- } else {
- try {
- new TmfTimestampFormat(definition.timeStampOutputFormat);
- timestampOutputFormatText.setBackground(COLOR_TEXT_BACKGROUND);
- } catch (IllegalArgumentException e) {
- errors.append("Enter a valid output format for the Time Stamp field [" + e.getMessage() + "]."); //$NON-NLS-1$ //$NON-NLS-2$
- timestampOutputFormatText.setBackground(COLOR_LIGHT_RED);
- }
- }
-
- } else {
- timestampOutputFormatText.setBackground(COLOR_TEXT_BACKGROUND);
- }
-
- if (errors.length() == 0) {
- setDescription(defaultDescription);
- setPageComplete(true);
- } else {
- setDescription(errors.toString());
- setPageComplete(false);
- }
- }
-
- /**
- * Validate an input line.
- *
- * @param inputLine
- * The line to clean up
- * @param name
- * The name of the line
- * @return The cleaned up line
- */
- public StringBuffer validateLine(InputLine inputLine, String name) {
- StringBuffer errors = new StringBuffer();
- Line line = null;
- if (selectedLine != null && selectedLine.inputLine.equals(inputLine)) {
- line = selectedLine;
- }
- try {
- Pattern.compile(inputLine.getRegex());
- if (line != null) {
- line.regexText.setBackground(COLOR_TEXT_BACKGROUND);
- }
- } catch (PatternSyntaxException e) {
- errors.append("Enter a valid regular expression (Line " + name + "). "); //$NON-NLS-1$ //$NON-NLS-2$
- if (line != null) {
- line.regexText.setBackground(COLOR_LIGHT_RED);
- }
- }
- if (inputLine.getMinCount() == -1) {
- errors.append("Enter a minimum value for cardinality (Line " + name + "). "); //$NON-NLS-1$ //$NON-NLS-2$
- if (line != null) {
- line.cardinalityMinText.setBackground(COLOR_LIGHT_RED);
- }
- } else {
- if (line != null) {
- line.cardinalityMinText.setBackground(COLOR_TEXT_BACKGROUND);
- }
- }
- if (inputLine.getMaxCount() == -1) {
- errors.append("Enter a maximum value for cardinality (Line " + name + "). "); //$NON-NLS-1$ //$NON-NLS-2$
- if (line != null) {
- line.cardinalityMaxText.setBackground(COLOR_LIGHT_RED);
- }
- } else if (inputLine.getMinCount() > inputLine.getMaxCount()) {
- errors.append("Enter correct (min <= max) values for cardinality (Line " + name + "). "); //$NON-NLS-1$ //$NON-NLS-2$
- if (line != null) {
- line.cardinalityMinText.setBackground(COLOR_LIGHT_RED);
- }
- if (line != null) {
- line.cardinalityMaxText.setBackground(COLOR_LIGHT_RED);
- }
- } else {
- if (line != null) {
- line.cardinalityMaxText.setBackground(COLOR_TEXT_BACKGROUND);
- }
- }
- for (int i = 0; inputLine.columns != null && i < inputLine.columns.size(); i++) {
- InputData inputData = inputLine.columns.get(i);
- InputGroup group = null;
- if (line != null) {
- group = line.inputs.get(i);
- }
- if (inputData.name.equals(CustomTraceDefinition.TAG_TIMESTAMP)) {
- timestampFound = true;
- if (inputData.format.length() == 0) {
- errors.append("Enter the input format for the Time Stamp (Line " + name + " Group " + (i + 1) + "). "); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- if (group != null) {
- group.tagText.setBackground(COLOR_LIGHT_RED);
- }
- } else {
- try {
- new TmfTimestampFormat(inputData.format);
- if (group != null) {
- group.tagText.setBackground(COLOR_TEXT_BACKGROUND);
- }
- } catch (IllegalArgumentException e) {
- errors.append("Enter a valid input format for the Time Stamp (Line " + name + " Group " + (i + 1) + ") [" + e.getMessage() + "]. "); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
- if (group != null) {
- group.tagText.setBackground(COLOR_LIGHT_RED);
- }
- }
- }
- } else if (inputData.name.length() == 0) {
- errors.append("Enter a name for the data group (Line " + name + " Group " + (i + 1) + "). "); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- if (group != null) {
- group.tagText.setBackground(COLOR_LIGHT_RED);
- }
- } else {
- if (group != null) {
- group.tagText.setBackground(COLOR_TEXT_BACKGROUND);
- }
- }
- }
- for (int i = 0; inputLine.childrenInputs != null && i < inputLine.childrenInputs.size(); i++) {
- errors.append(validateLine(inputLine.childrenInputs.get(i), name + "." + (i + 1))); //$NON-NLS-1$
- }
- return errors;
- }
-
- /**
- * Get the trace definition.
- *
- * @return The trace definition
- */
- public CustomTxtTraceDefinition getDefinition() {
- return definition;
- }
-
- /**
- * Get the raw text of the input.
- *
- * @return The raw input text
- */
- public char[] getInputText() {
- return inputText.getText().toCharArray();
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/parsers/wizards/CustomTxtParserOutputWizardPage.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/parsers/wizards/CustomTxtParserOutputWizardPage.java
deleted file mode 100644
index b93f94c3bc..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/parsers/wizards/CustomTxtParserOutputWizardPage.java
+++ /dev/null
@@ -1,340 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010, 2014 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:
- * Patrick Tasse - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.internal.tmf.ui.parsers.wizards;
-
-import java.io.File;
-import java.io.FileWriter;
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.jface.wizard.WizardPage;
-import org.eclipse.linuxtools.internal.tmf.ui.Activator;
-import org.eclipse.linuxtools.internal.tmf.ui.Messages;
-import org.eclipse.linuxtools.internal.tmf.ui.parsers.custom.CustomEventTableColumns;
-import org.eclipse.linuxtools.tmf.core.exceptions.TmfTraceException;
-import org.eclipse.linuxtools.tmf.core.parsers.custom.CustomTraceDefinition.OutputColumn;
-import org.eclipse.linuxtools.tmf.core.parsers.custom.CustomTxtTrace;
-import org.eclipse.linuxtools.tmf.core.parsers.custom.CustomTxtTraceDefinition;
-import org.eclipse.linuxtools.tmf.core.timestamp.TmfTimeRange;
-import org.eclipse.linuxtools.tmf.core.trace.indexer.ITmfTraceIndexer;
-import org.eclipse.linuxtools.tmf.core.trace.indexer.checkpoint.TmfCheckpointIndexer;
-import org.eclipse.linuxtools.tmf.ui.viewers.events.TmfEventsTable;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.SashForm;
-import org.eclipse.swt.custom.ScrolledComposite;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Text;
-
-/**
- * Output wizard page for custom text trace parsers.
- *
- * @author Patrick Tasse
- */
-public class CustomTxtParserOutputWizardPage extends WizardPage {
-
- private static final Image UP_IMAGE = Activator.getDefault().getImageFromPath("/icons/elcl16/up_button.gif"); //$NON-NLS-1$
- private static final Image DOWN_IMAGE = Activator.getDefault().getImageFromPath("/icons/elcl16/down_button.gif"); //$NON-NLS-1$
- private final CustomTxtParserWizard wizard;
- private CustomTxtTraceDefinition definition;
- private List<Output> outputs = new ArrayList<>();
- private Composite container;
- private SashForm sash;
- private ScrolledComposite outputsScrolledComposite;
- private Composite outputsContainer;
- private Composite tableContainer;
- private TmfEventsTable previewTable;
- private File tmpFile;
-
- /**
- * Constructor
- *
- * @param wizard
- * The wizard to which this page belongs
- */
- protected CustomTxtParserOutputWizardPage(final CustomTxtParserWizard wizard) {
- super("CustomParserOutputWizardPage"); //$NON-NLS-1$
- setTitle(wizard.inputPage.getTitle());
- setDescription(Messages.CustomTxtParserOutputWizardPage_description);
- this.wizard = wizard;
- setPageComplete(false);
- }
-
- @Override
- public void createControl(final Composite parent) {
- container = new Composite(parent, SWT.NULL);
- container.setLayout(new GridLayout());
-
- sash = new SashForm(container, SWT.VERTICAL);
- sash.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
- sash.setBackground(sash.getDisplay().getSystemColor(SWT.COLOR_GRAY));
-
- outputsScrolledComposite = new ScrolledComposite(sash, SWT.V_SCROLL);
- outputsScrolledComposite.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
- outputsContainer = new Composite(outputsScrolledComposite, SWT.NONE);
- final GridLayout outputsLayout = new GridLayout(4, false);
- outputsLayout.marginHeight = 10;
- outputsLayout.marginWidth = 0;
- outputsContainer.setLayout(outputsLayout);
- outputsScrolledComposite.setContent(outputsContainer);
- outputsScrolledComposite.setExpandHorizontal(true);
- outputsScrolledComposite.setExpandVertical(true);
-
- outputsContainer.layout();
-
- outputsScrolledComposite.setMinSize(outputsContainer.computeSize(SWT.DEFAULT, SWT.DEFAULT).x, outputsContainer.computeSize(SWT.DEFAULT, SWT.DEFAULT).y-5);
-
- tableContainer = new Composite(sash, SWT.NONE);
- final GridLayout tableLayout = new GridLayout();
- tableLayout.marginHeight = 0;
- tableLayout.marginWidth = 0;
- tableContainer.setLayout(tableLayout);
- previewTable = new TmfEventsTable(tableContainer, 0, CustomEventTableColumns.generateColumns(new CustomTxtTraceDefinition()));
- previewTable.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
-
- if (wizard.definition != null) {
- loadDefinition(wizard.definition);
- }
- setControl(container);
-
- }
-
- @Override
- public void dispose() {
- previewTable.dispose();
- super.dispose();
- }
-
- private void loadDefinition(final CustomTxtTraceDefinition def) {
- for (final OutputColumn outputColumn : def.outputs) {
- final Output output = new Output(outputsContainer, outputColumn.name);
- outputs.add(output);
- }
- }
-
- @Override
- public void setVisible(final boolean visible) {
- if (visible) {
- this.definition = wizard.inputPage.getDefinition();
- final List<String> outputNames = wizard.inputPage.getInputNames();
-
- // dispose outputs that have been removed in the input page
- final Iterator<Output> iter = outputs.iterator();
- while (iter.hasNext()) {
- final Output output = iter.next();
- boolean found = false;
- for (final String name : outputNames) {
- if (output.name.equals(name)) {
- found = true;
- break;
- }
- }
- if (!found) {
- output.dispose();
- iter.remove();
- }
- }
-
- // create outputs that have been added in the input page
- for (final String name : outputNames) {
- boolean found = false;
- for (final Output output : outputs) {
- if (output.name.equals(name)) {
- found = true;
- break;
- }
- }
- if (!found) {
- outputs.add(new Output(outputsContainer, name));
- }
- }
-
- outputsContainer.layout();
- outputsScrolledComposite.setMinSize(outputsContainer.computeSize(SWT.DEFAULT, SWT.DEFAULT).x, outputsContainer.computeSize(SWT.DEFAULT, SWT.DEFAULT).y-5);
- updatePreviewTable();
- if (sash.getSize().y > outputsContainer.computeSize(SWT.DEFAULT, SWT.DEFAULT).y + previewTable.getTable().getItemHeight()) {
- sash.setWeights(new int[] {outputsContainer.computeSize(SWT.DEFAULT, SWT.DEFAULT).y, sash.getSize().y - outputsContainer.computeSize(SWT.DEFAULT, SWT.DEFAULT).y});
- } else {
- sash.setWeights(new int[] {outputsContainer.computeSize(SWT.DEFAULT, SWT.DEFAULT).y, previewTable.getTable().getItemHeight()});
- }
- setPageComplete(true);
- } else {
- setPageComplete(false);
- }
- super.setVisible(visible);
- }
-
- private void moveBefore(final Output moved) {
- final int i = outputs.indexOf(moved);
- if (i > 0) {
- final Output previous = outputs.get(i-1);
- moved.enabledButton.moveAbove(previous.enabledButton);
- moved.nameLabel.moveBelow(moved.enabledButton);
- moved.upButton.moveBelow(moved.nameLabel);
- moved.downButton.moveBelow(moved.upButton);
- outputs.add(i-1, outputs.remove(i));
- outputsContainer.layout();
- outputsScrolledComposite.setMinSize(outputsContainer.computeSize(SWT.DEFAULT, SWT.DEFAULT).x, outputsContainer.computeSize(SWT.DEFAULT, SWT.DEFAULT).y-5);
- container.layout();
- updatePreviewTable();
- }
- }
-
- private void moveAfter(final Output moved) {
- final int i = outputs.indexOf(moved);
- if (i+1 < outputs.size()) {
- final Output next = outputs.get(i+1);
- moved.enabledButton.moveBelow(next.downButton);
- moved.nameLabel.moveBelow(moved.enabledButton);
- moved.upButton.moveBelow(moved.nameLabel);
- moved.downButton.moveBelow(moved.upButton);
- outputs.add(i+1, outputs.remove(i));
- outputsContainer.layout();
- outputsScrolledComposite.setMinSize(outputsContainer.computeSize(SWT.DEFAULT, SWT.DEFAULT).x, outputsContainer.computeSize(SWT.DEFAULT, SWT.DEFAULT).y-5);
- container.layout();
- updatePreviewTable();
- }
- }
-
- private void updatePreviewTable() {
- final int CACHE_SIZE = 50;
- definition.outputs = extractOutputs();
- tmpFile = Activator.getDefault().getStateLocation().addTrailingSeparator().append("customwizard.tmp").toFile(); //$NON-NLS-1$
-
- try (final FileWriter writer = new FileWriter(tmpFile);) {
- writer.write(wizard.inputPage.getInputText());
- } catch (final IOException e) {
- Activator.getDefault().logError("Error creating CustomTxtTrace. File:" + tmpFile.getAbsolutePath(), e); //$NON-NLS-1$
- }
-
- try {
- final CustomTxtTrace trace = new CustomTxtTrace(null, definition, tmpFile.getAbsolutePath(), CACHE_SIZE) {
- @Override
- protected ITmfTraceIndexer createIndexer(int interval) {
- return new TmfCheckpointIndexer(this, interval);
- }
- };
- trace.getIndexer().buildIndex(0, TmfTimeRange.ETERNITY, false);
- previewTable.dispose();
- previewTable = new TmfEventsTable(tableContainer, CACHE_SIZE, CustomEventTableColumns.generateColumns(definition));
- previewTable.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
- previewTable.setTrace(trace, true);
- } catch (final TmfTraceException e) {
- Activator.getDefault().logError("Error creating CustomTxtTrace. File:" + tmpFile.getAbsolutePath(), e); //$NON-NLS-1$
- }
-
- tableContainer.layout();
- container.layout();
- }
-
- /**
- * Extract the list of output columns from the page's contents.
- *
- * @return The output columns
- */
- public List<OutputColumn> extractOutputs() {
- int numColumns = 0;
- for (int i = 0; i < outputs.size(); i++) {
- if (outputs.get(i).enabledButton.getSelection()) {
- numColumns++;
- }
- }
- final List<OutputColumn> outputColumns = new ArrayList<>(numColumns);
- numColumns = 0;
- for (int i = 0; i < outputs.size(); i++) {
- final Output output = outputs.get(i);
- if (output.enabledButton.getSelection()) {
- final OutputColumn column = new OutputColumn();
- column.name = output.nameLabel.getText();
- outputColumns.add(column);
- }
- }
- return outputColumns;
- }
-
- private class Output {
- String name;
- Button enabledButton;
- Text nameLabel;
- Button upButton;
- Button downButton;
-
- public Output(final Composite parent, final String name) {
- this.name = name;
-
- enabledButton = new Button(parent, SWT.CHECK);
- enabledButton.setToolTipText(Messages.CustomTxtParserOutputWizardPage_visible);
- enabledButton.setSelection(true);
- enabledButton.addSelectionListener(new SelectionAdapter() {
- @Override
- public void widgetSelected(final SelectionEvent e) {
- updatePreviewTable();
- }
- });
- // if (messageOutput != null) {
- // enabledButton.moveAbove(messageOutput.enabledButton);
- // }
-
- nameLabel = new Text(parent, SWT.BORDER | SWT.READ_ONLY | SWT.SINGLE);
- nameLabel.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, false, false));
- nameLabel.setText(name);
- nameLabel.moveBelow(enabledButton);
-
- upButton = new Button(parent, SWT.PUSH);
- upButton.setImage(UP_IMAGE);
- upButton.setToolTipText(Messages.CustomTxtParserOutputWizardPage_moveBefore);
- upButton.addSelectionListener(new SelectionAdapter() {
- @Override
- public void widgetSelected(final SelectionEvent e) {
- moveBefore(Output.this);
- }
- });
- upButton.moveBelow(nameLabel);
-
- downButton = new Button(parent, SWT.PUSH);
- downButton.setImage(DOWN_IMAGE);
- downButton.setToolTipText(Messages.CustomTxtParserOutputWizardPage_moveAfter);
- downButton.addSelectionListener(new SelectionAdapter() {
- @Override
- public void widgetSelected(final SelectionEvent e) {
- moveAfter(Output.this);
- }
- });
- downButton.moveBelow(upButton);
- }
-
- private void dispose() {
- enabledButton.dispose();
- nameLabel.dispose();
- upButton.dispose();
- downButton.dispose();
- }
- }
-
- /**
- * Get the trace definition.
- *
- * @return The trace definition
- */
- public CustomTxtTraceDefinition getDefinition() {
- return definition;
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/parsers/wizards/CustomTxtParserWizard.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/parsers/wizards/CustomTxtParserWizard.java
deleted file mode 100644
index 6c884ea2b8..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/parsers/wizards/CustomTxtParserWizard.java
+++ /dev/null
@@ -1,82 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010, 2014 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:
- * Patrick Tasse - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.internal.tmf.ui.parsers.wizards;
-
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.wizard.Wizard;
-import org.eclipse.linuxtools.tmf.core.parsers.custom.CustomTxtTraceDefinition;
-import org.eclipse.ui.INewWizard;
-import org.eclipse.ui.IWorkbench;
-
-/**
- * Wizard for custom text trace parsers.
- *
- * @author Patrick Tasse
- */
-public class CustomTxtParserWizard extends Wizard implements INewWizard {
-
- CustomTxtParserInputWizardPage inputPage;
- CustomTxtParserOutputWizardPage outputPage;
- private ISelection selection;
- CustomTxtTraceDefinition definition;
- String initialCategoryName;
- String initialDefinitionName;
-
- /**
- * Default constructor
- */
- public CustomTxtParserWizard() {
- super();
- }
-
- /**
- * Constructor
- *
- * @param definition
- * The trace definition
- */
- public CustomTxtParserWizard(CustomTxtTraceDefinition definition) {
- super();
- this.definition = definition;
- if (definition != null) {
- initialCategoryName = definition.categoryName;
- initialDefinitionName = definition.definitionName;
- }
- }
-
- @Override
- public boolean performFinish() {
- CustomTxtTraceDefinition def = outputPage.getDefinition();
- if (definition != null && (!initialCategoryName.equals(def.categoryName) ||
- !initialDefinitionName.equals(def.definitionName))) {
- CustomTxtTraceDefinition.delete(initialCategoryName, initialDefinitionName);
- }
- def.save();
- return true;
- }
-
- @Override
- public void addPages() {
- inputPage = new CustomTxtParserInputWizardPage(selection, definition);
- addPage(inputPage);
- outputPage = new CustomTxtParserOutputWizardPage(this);
- addPage(outputPage);
- }
-
- @Override
- public void init(IWorkbench workbench, IStructuredSelection sel) {
- this.selection = sel;
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/parsers/wizards/CustomXmlParserInputWizardPage.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/parsers/wizards/CustomXmlParserInputWizardPage.java
deleted file mode 100644
index 69e33ab022..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/parsers/wizards/CustomXmlParserInputWizardPage.java
+++ /dev/null
@@ -1,1765 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010, 2014 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:
- * Patrick Tasse - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.internal.tmf.ui.parsers.wizards;
-
-import java.io.BufferedReader;
-import java.io.ByteArrayInputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.InputStreamReader;
-import java.net.URL;
-import java.text.ParseException;
-import java.util.ArrayList;
-import java.util.List;
-
-import javax.xml.parsers.DocumentBuilder;
-import javax.xml.parsers.DocumentBuilderFactory;
-import javax.xml.parsers.ParserConfigurationException;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.FileLocator;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.jface.viewers.AbstractTreeViewer;
-import org.eclipse.jface.viewers.ColumnLabelProvider;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.ISelectionChangedListener;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.ITreeContentProvider;
-import org.eclipse.jface.viewers.SelectionChangedEvent;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.jface.viewers.TreeViewer;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.jface.wizard.WizardPage;
-import org.eclipse.linuxtools.internal.tmf.ui.Activator;
-import org.eclipse.linuxtools.internal.tmf.ui.Messages;
-import org.eclipse.linuxtools.tmf.core.parsers.custom.CustomTraceDefinition;
-import org.eclipse.linuxtools.tmf.core.parsers.custom.CustomXmlTrace;
-import org.eclipse.linuxtools.tmf.core.parsers.custom.CustomXmlTraceDefinition;
-import org.eclipse.linuxtools.tmf.core.parsers.custom.CustomXmlTraceDefinition.InputAttribute;
-import org.eclipse.linuxtools.tmf.core.parsers.custom.CustomXmlTraceDefinition.InputElement;
-import org.eclipse.linuxtools.tmf.core.project.model.TmfTraceType;
-import org.eclipse.linuxtools.tmf.core.project.model.TraceTypeHelper;
-import org.eclipse.linuxtools.tmf.core.timestamp.TmfTimestampFormat;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.browser.Browser;
-import org.eclipse.swt.browser.TitleEvent;
-import org.eclipse.swt.browser.TitleListener;
-import org.eclipse.swt.custom.SashForm;
-import org.eclipse.swt.custom.ScrolledComposite;
-import org.eclipse.swt.custom.StyleRange;
-import org.eclipse.swt.custom.StyledText;
-import org.eclipse.swt.events.ModifyEvent;
-import org.eclipse.swt.events.ModifyListener;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.events.SelectionListener;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.graphics.Font;
-import org.eclipse.swt.graphics.FontData;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.graphics.Rectangle;
-import org.eclipse.swt.layout.FillLayout;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Combo;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Group;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Text;
-import org.osgi.framework.Bundle;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.NamedNodeMap;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-import org.xml.sax.EntityResolver;
-import org.xml.sax.ErrorHandler;
-import org.xml.sax.InputSource;
-import org.xml.sax.SAXException;
-import org.xml.sax.SAXParseException;
-
-import com.google.common.base.Joiner;
-
-/**
- * Input wizard page for custom XML trace parsers.
- *
- * @author Patrick Tasse
- */
-public class CustomXmlParserInputWizardPage extends WizardPage {
-
- private static final String DEFAULT_TIMESTAMP_FORMAT = "yyyy-MM-dd HH:mm:ss.SSS"; //$NON-NLS-1$
- private static final String TIMESTAMP_FORMAT_BUNDLE = "org.eclipse.linuxtools.lttng.help"; //$NON-NLS-1$
- private static final String TIMESTAMP_FORMAT_PATH = "reference/api/org/eclipse/linuxtools/tmf/core/timestamp/TmfTimestampFormat.html"; //$NON-NLS-1$
- private static final Image ELEMENT_IMAGE = Activator.getDefault().getImageFromPath("/icons/elcl16/element_icon.gif"); //$NON-NLS-1$
- private static final Image ADD_IMAGE = Activator.getDefault().getImageFromPath("/icons/elcl16/add_button.gif"); //$NON-NLS-1$
- private static final Image ADD_NEXT_IMAGE = Activator.getDefault().getImageFromPath("/icons/elcl16/addnext_button.gif"); //$NON-NLS-1$
- private static final Image ADD_CHILD_IMAGE = Activator.getDefault().getImageFromPath("/icons/elcl16/addchild_button.gif"); //$NON-NLS-1$
- private static final Image ADD_MANY_IMAGE = Activator.getDefault().getImageFromPath("/icons/elcl16/addmany_button.gif"); //$NON-NLS-1$
- private static final Image DELETE_IMAGE = Activator.getDefault().getImageFromPath("/icons/elcl16/delete_button.gif"); //$NON-NLS-1$
- private static final Image MOVE_UP_IMAGE = Activator.getDefault().getImageFromPath("/icons/elcl16/moveup_button.gif"); //$NON-NLS-1$
- private static final Image MOVE_DOWN_IMAGE = Activator.getDefault().getImageFromPath("/icons/elcl16/movedown_button.gif"); //$NON-NLS-1$
- private static final Image HELP_IMAGE = Activator.getDefault().getImageFromPath("/icons/elcl16/help_button.gif"); //$NON-NLS-1$
- private static final Color COLOR_LIGHT_RED = new Color(Display.getDefault(), 255, 192, 192);
- private static final Color COLOR_TEXT_BACKGROUND = Display.getDefault().getSystemColor(SWT.COLOR_WHITE);
- private static final Color COLOR_WIDGET_BACKGROUND = Display.getDefault().getSystemColor(SWT.COLOR_WIDGET_BACKGROUND);
-
- private final ISelection selection;
- private CustomXmlTraceDefinition definition;
- private String editCategoryName;
- private String editDefinitionName;
- private String defaultDescription;
- private ElementNode selectedElement;
- private Composite container;
- private Text categoryText;
- private Text logtypeText;
- private Text timeStampOutputFormatText;
- private Text timeStampPreviewText;
- private Button removeButton;
- private Button addChildButton;
- private Button addNextButton;
- private Button moveUpButton;
- private Button moveDownButton;
- private ScrolledComposite elementScrolledComposite;
- private TreeViewer treeViewer;
- private Composite elementContainer;
- private Text errorText;
- private StyledText inputText;
- private Font fixedFont;
- private UpdateListener updateListener;
- private Browser helpBrowser;
- private Element documentElement;
-
- // variables used recursively through element traversal
- private String timeStampValue;
- private String timeStampFormat;
- private boolean timeStampFound;
- private int logEntriesCount;
- private boolean logEntryFound;
-
- /**
- * Constructor
- *
- * @param selection
- * Selection object
- * @param definition
- * Trace definition
- */
- protected CustomXmlParserInputWizardPage(ISelection selection, CustomXmlTraceDefinition definition) {
- super("CustomXmlParserWizardPage"); //$NON-NLS-1$
- if (definition == null) {
- setTitle(Messages.CustomXmlParserInputWizardPage_titleNew);
- defaultDescription = Messages.CustomXmlParserInputWizardPage_descriptionNew;
- } else {
- setTitle(Messages.CustomXmlParserInputWizardPage_titleEdit);
- defaultDescription = Messages.CustomXmlParserInputWizardPage_descriptionEdit;
- }
- setDescription(defaultDescription);
- this.selection = selection;
- this.definition = definition;
- if (definition != null) {
- this.editCategoryName = definition.categoryName;
- this.editDefinitionName = definition.definitionName;
- }
- }
-
- @Override
- public void createControl(Composite parent) {
- container = new Composite(parent, SWT.NULL);
- container.setLayout(new GridLayout());
-
- updateListener = new UpdateListener();
-
- Composite headerComposite = new Composite(container, SWT.FILL);
- GridLayout headerLayout = new GridLayout(5, false);
- headerLayout.marginHeight = 0;
- headerLayout.marginWidth = 0;
- headerComposite.setLayout(headerLayout);
- headerComposite.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false));
-
- Label categoryLabel = new Label(headerComposite, SWT.NULL);
- categoryLabel.setText(Messages.CustomXmlParserInputWizardPage_category);
-
- categoryText = new Text(headerComposite, SWT.BORDER | SWT.SINGLE);
- categoryText.setLayoutData(new GridData(120, SWT.DEFAULT));
-
- Label timeStampFormatLabel = new Label(headerComposite, SWT.NULL);
- timeStampFormatLabel.setText(Messages.CustomXmlParserInputWizardPage_timestampFormat);
-
- timeStampOutputFormatText = new Text(headerComposite, SWT.BORDER | SWT.SINGLE);
- timeStampOutputFormatText.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false));
- timeStampOutputFormatText.setText(DEFAULT_TIMESTAMP_FORMAT);
-
- Button timeStampFormatHelpButton = new Button(headerComposite, SWT.PUSH);
- timeStampFormatHelpButton.setImage(HELP_IMAGE);
- timeStampFormatHelpButton.setToolTipText(Messages.CustomXmlParserInputWizardPage_timestampFormatHelp);
- timeStampFormatHelpButton.addSelectionListener(new SelectionAdapter() {
- @Override
- public void widgetSelected(SelectionEvent e) {
- Bundle plugin = Platform.getBundle(TIMESTAMP_FORMAT_BUNDLE);
- IPath path = new Path(TIMESTAMP_FORMAT_PATH);
- URL fileURL = FileLocator.find(plugin, path, null);
- try {
- URL pageURL = FileLocator.toFileURL(fileURL);
- openHelpShell(pageURL.toString());
- } catch (IOException e1) {
- }
- }
- });
-
- Label logtypeLabel = new Label(headerComposite, SWT.NULL);
- logtypeLabel.setText(Messages.CustomXmlParserInputWizardPage_logType);
-
- logtypeText = new Text(headerComposite, SWT.BORDER | SWT.SINGLE);
- logtypeText.setLayoutData(new GridData(120, SWT.DEFAULT));
- logtypeText.setFocus();
-
- Label timeStampPreviewLabel = new Label(headerComposite, SWT.NULL);
- timeStampPreviewLabel.setText(Messages.CustomXmlParserInputWizardPage_preview);
-
- timeStampPreviewText = new Text(headerComposite, SWT.BORDER | SWT.SINGLE | SWT.READ_ONLY);
- timeStampPreviewText.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false, 2, 1));
- timeStampPreviewText.setText("*no time stamp element or attribute*"); //$NON-NLS-1$
-
- createButtonBar();
-
- SashForm vSash = new SashForm(container, SWT.VERTICAL);
- vSash.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
- vSash.setBackground(vSash.getDisplay().getSystemColor(SWT.COLOR_GRAY));
-
- SashForm hSash = new SashForm(vSash, SWT.HORIZONTAL);
- hSash.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
-
- ScrolledComposite treeScrolledComposite = new ScrolledComposite(hSash, SWT.V_SCROLL | SWT.H_SCROLL);
- treeScrolledComposite.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
- Composite treeContainer = new Composite(treeScrolledComposite, SWT.NONE);
- treeContainer.setLayout(new FillLayout());
- treeScrolledComposite.setContent(treeContainer);
- treeScrolledComposite.setExpandHorizontal(true);
- treeScrolledComposite.setExpandVertical(true);
-
- treeViewer = new TreeViewer(treeContainer, SWT.SINGLE | SWT.BORDER);
- treeViewer.setContentProvider(new InputElementTreeNodeContentProvider());
- treeViewer.setLabelProvider(new InputElementTreeLabelProvider());
- treeViewer.addSelectionChangedListener(new InputElementTreeSelectionChangedListener());
- treeContainer.layout();
-
- treeScrolledComposite
- .setMinSize(treeContainer.computeSize(SWT.DEFAULT, SWT.DEFAULT).x, treeContainer.computeSize(SWT.DEFAULT, SWT.DEFAULT).y);
-
- elementScrolledComposite = new ScrolledComposite(hSash, SWT.V_SCROLL);
- elementScrolledComposite.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
- elementContainer = new Composite(elementScrolledComposite, SWT.NONE);
- GridLayout gl = new GridLayout();
- gl.marginHeight = 1;
- gl.marginWidth = 0;
- elementContainer.setLayout(gl);
- elementScrolledComposite.setContent(elementContainer);
- elementScrolledComposite.setExpandHorizontal(true);
- elementScrolledComposite.setExpandVertical(true);
-
- if (definition == null) {
- definition = new CustomXmlTraceDefinition();
- }
- loadDefinition(definition);
- treeViewer.expandAll();
- elementContainer.layout();
-
- categoryText.addModifyListener(updateListener);
- logtypeText.addModifyListener(updateListener);
- timeStampOutputFormatText.addModifyListener(updateListener);
-
- elementScrolledComposite.setMinSize(elementContainer.computeSize(SWT.DEFAULT, SWT.DEFAULT).x,
- elementContainer.computeSize(SWT.DEFAULT, SWT.DEFAULT).y - 1);
-
- hSash.setWeights(new int[] { 1, 2 });
-
- if (definition.rootInputElement == null) {
- removeButton.setEnabled(false);
- addChildButton.setToolTipText(Messages.CustomXmlParserInputWizardPage_addDocumentElement);
- addNextButton.setEnabled(false);
- moveUpButton.setEnabled(false);
- moveDownButton.setEnabled(false);
- } else { // root is selected
- addNextButton.setEnabled(false);
- }
-
- Composite sashBottom = new Composite(vSash, SWT.NONE);
- GridLayout sashBottomLayout = new GridLayout(2, false);
- sashBottomLayout.marginHeight = 0;
- sashBottomLayout.marginWidth = 0;
- sashBottom.setLayout(sashBottomLayout);
-
- Label previewLabel = new Label(sashBottom, SWT.NULL);
- previewLabel.setText(Messages.CustomXmlParserInputWizardPage_previewInput);
-
- errorText = new Text(sashBottom, SWT.SINGLE | SWT.READ_ONLY);
- errorText.setBackground(COLOR_WIDGET_BACKGROUND);
- errorText.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false));
- errorText.setVisible(false);
-
- inputText = new StyledText(sashBottom, SWT.MULTI | SWT.V_SCROLL | SWT.H_SCROLL);
- if (fixedFont == null) {
- if (System.getProperty("os.name").contains("Windows")) { //$NON-NLS-1$ //$NON-NLS-2$
- fixedFont = new Font(Display.getCurrent(), new FontData("Courier New", 10, SWT.NORMAL)); //$NON-NLS-1$
- } else {
- fixedFont = new Font(Display.getCurrent(), new FontData("Monospace", 10, SWT.NORMAL)); //$NON-NLS-1$
- }
- }
- inputText.setFont(fixedFont);
- GridData gd = new GridData(SWT.FILL, SWT.FILL, true, true, 2, 1);
- gd.heightHint = inputText.computeSize(SWT.DEFAULT, inputText.getLineHeight() * 4).y;
- gd.widthHint = 800;
- inputText.setLayoutData(gd);
- inputText.setText(getSelectionText());
- inputText.addModifyListener(new ModifyListener() {
- @Override
- public void modifyText(ModifyEvent e) {
- parseXmlInput(inputText.getText());
- }
- });
- inputText.addModifyListener(updateListener);
-
- vSash.setWeights(new int[] { hSash.computeSize(SWT.DEFAULT, SWT.DEFAULT).y, sashBottom.computeSize(SWT.DEFAULT, SWT.DEFAULT).y });
-
- setControl(container);
- }
-
- private void createButtonBar() {
- Composite buttonBar = new Composite(container, SWT.NONE);
- GridLayout buttonBarLayout = new GridLayout(6, false);
- buttonBarLayout.marginHeight = 0;
- buttonBarLayout.marginWidth = 0;
- buttonBar.setLayout(buttonBarLayout);
-
- removeButton = new Button(buttonBar, SWT.PUSH);
- removeButton.setImage(DELETE_IMAGE);
- removeButton.setToolTipText(Messages.CustomXmlParserInputWizardPage_removeElement);
- removeButton.addSelectionListener(new SelectionAdapter() {
- @Override
- public void widgetSelected(SelectionEvent e) {
- if (treeViewer.getSelection().isEmpty() || selectedElement == null) {
- return;
- }
- removeElement();
- InputElement inputElement = (InputElement) ((IStructuredSelection) treeViewer.getSelection()).getFirstElement();
- if (inputElement == definition.rootInputElement) {
- definition.rootInputElement = null;
- } else {
- inputElement.parentElement.childElements.remove(inputElement);
- }
- treeViewer.refresh();
- validate();
- updatePreviews();
- removeButton.setEnabled(false);
- if (definition.rootInputElement == null) {
- addChildButton.setEnabled(true);
- addChildButton.setToolTipText(Messages.CustomXmlParserInputWizardPage_addDocumentEleemnt);
- } else {
- addChildButton.setEnabled(false);
- }
- addNextButton.setEnabled(false);
- moveUpButton.setEnabled(false);
- moveDownButton.setEnabled(false);
- }
- });
-
- addChildButton = new Button(buttonBar, SWT.PUSH);
- addChildButton.setImage(ADD_CHILD_IMAGE);
- addChildButton.setToolTipText(Messages.CustomXmlParserInputWizardPage_addChildElement);
- addChildButton.addSelectionListener(new SelectionAdapter() {
- @Override
- public void widgetSelected(SelectionEvent e) {
- InputElement inputElement = new InputElement("", false, CustomXmlTraceDefinition.TAG_IGNORE, 0, "", null); //$NON-NLS-1$ //$NON-NLS-2$
- if (definition.rootInputElement == null) {
- definition.rootInputElement = inputElement;
- inputElement.elementName = getChildNameSuggestion(null);
- } else if (treeViewer.getSelection().isEmpty()) {
- return;
- } else {
- InputElement parentInputElement = (InputElement) ((IStructuredSelection) treeViewer.getSelection()).getFirstElement();
- parentInputElement.addChild(inputElement);
- inputElement.elementName = getChildNameSuggestion(parentInputElement);
- }
- treeViewer.refresh();
- treeViewer.setSelection(new StructuredSelection(inputElement), true);
- }
- });
-
- addNextButton = new Button(buttonBar, SWT.PUSH);
- addNextButton.setImage(ADD_NEXT_IMAGE);
- addNextButton.setToolTipText(Messages.CustomXmlParserInputWizardPage_addNextElement);
- addNextButton.addSelectionListener(new SelectionAdapter() {
- @Override
- public void widgetSelected(SelectionEvent e) {
- InputElement inputElement = new InputElement("", false, CustomXmlTraceDefinition.TAG_IGNORE, 0, "", null); //$NON-NLS-1$ //$NON-NLS-2$
- if (definition.rootInputElement == null) {
- definition.rootInputElement = inputElement;
- inputElement.elementName = getChildNameSuggestion(null);
- } else if (treeViewer.getSelection().isEmpty()) {
- return;
- } else {
- InputElement previousInputElement = (InputElement) ((IStructuredSelection) treeViewer.getSelection()).getFirstElement();
- if (previousInputElement == definition.rootInputElement) {
- return;
- }
- previousInputElement.addNext(inputElement);
- inputElement.elementName = getChildNameSuggestion(inputElement.parentElement);
- }
- treeViewer.refresh();
- treeViewer.setSelection(new StructuredSelection(inputElement), true);
- }
- });
-
- Button feelingLuckyButton = new Button(buttonBar, SWT.PUSH);
- feelingLuckyButton.setImage(ADD_MANY_IMAGE);
- feelingLuckyButton.setToolTipText(Messages.CustomXmlParserInputWizardPage_feelingLucky);
- feelingLuckyButton.addSelectionListener(new SelectionAdapter() {
- @Override
- public void widgetSelected(SelectionEvent e) {
- InputElement inputElement = null;
- if (definition.rootInputElement == null) {
- if (getChildNameSuggestion(null).length() != 0) {
- inputElement = new InputElement(getChildNameSuggestion(null), false, CustomXmlTraceDefinition.TAG_IGNORE, 0, "", null); //$NON-NLS-1$
- definition.rootInputElement = inputElement;
- feelingLucky(inputElement);
- } else {
- return;
- }
- } else if (treeViewer.getSelection().isEmpty()) {
- return;
- } else {
- inputElement = (InputElement) ((IStructuredSelection) treeViewer.getSelection()).getFirstElement();
- feelingLucky(inputElement);
- }
- treeViewer.refresh();
- treeViewer.setSelection(new StructuredSelection(inputElement), true);
- treeViewer.expandToLevel(inputElement, AbstractTreeViewer.ALL_LEVELS);
- }
- });
-
- moveUpButton = new Button(buttonBar, SWT.PUSH);
- moveUpButton.setImage(MOVE_UP_IMAGE);
- moveUpButton.setToolTipText(Messages.CustomXmlParserInputWizardPage_moveUp);
- moveUpButton.addSelectionListener(new SelectionAdapter() {
- @Override
- public void widgetSelected(SelectionEvent e) {
- if (treeViewer.getSelection().isEmpty()) {
- return;
- }
- InputElement inputElement = (InputElement) ((IStructuredSelection) treeViewer.getSelection()).getFirstElement();
- if (inputElement == definition.rootInputElement) {
- return;
- }
- inputElement.moveUp();
- treeViewer.refresh();
- validate();
- updatePreviews();
- }
- });
-
- moveDownButton = new Button(buttonBar, SWT.PUSH);
- moveDownButton.setImage(MOVE_DOWN_IMAGE);
- moveDownButton.setToolTipText(Messages.CustomXmlParserInputWizardPage_moveDown);
- moveDownButton.addSelectionListener(new SelectionAdapter() {
- @Override
- public void widgetSelected(SelectionEvent e) {
- if (treeViewer.getSelection().isEmpty()) {
- return;
- }
- InputElement inputElement = (InputElement) ((IStructuredSelection) treeViewer.getSelection()).getFirstElement();
- if (inputElement == definition.rootInputElement) {
- return;
- }
- inputElement.moveDown();
- treeViewer.refresh();
- validate();
- updatePreviews();
- }
- });
- }
-
- private void feelingLucky(InputElement inputElement) {
- while (true) {
- String attributeName = getAttributeNameSuggestion(inputElement);
- if (attributeName.length() == 0) {
- break;
- }
- InputAttribute attribute = new InputAttribute(attributeName, attributeName, 0, ""); //$NON-NLS-1$
- inputElement.addAttribute(attribute);
- }
- while (true) {
- String childName = getChildNameSuggestion(inputElement);
- if (childName.length() == 0) {
- break;
- }
- InputElement childElement = new InputElement(childName, false, CustomXmlTraceDefinition.TAG_IGNORE, 0, "", null); //$NON-NLS-1$
- inputElement.addChild(childElement);
- feelingLucky(childElement);
- }
- }
-
- private static class InputElementTreeNodeContentProvider implements ITreeContentProvider {
-
- @Override
- public Object[] getElements(Object inputElement) {
- CustomXmlTraceDefinition def = (CustomXmlTraceDefinition) inputElement;
- if (def.rootInputElement != null) {
- return new Object[] { def.rootInputElement };
- }
- return new Object[0];
- }
-
- @Override
- public Object[] getChildren(Object parentElement) {
- InputElement inputElement = (InputElement) parentElement;
- if (inputElement.childElements == null) {
- return new InputElement[0];
- }
- return inputElement.childElements.toArray();
- }
-
- @Override
- public boolean hasChildren(Object element) {
- InputElement inputElement = (InputElement) element;
- return (inputElement.childElements != null && inputElement.childElements.size() > 0);
- }
-
- @Override
- public void dispose() {
- }
-
- @Override
- public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
- }
-
- @Override
- public Object getParent(Object element) {
- InputElement inputElement = (InputElement) element;
- return inputElement.parentElement;
- }
- }
-
- private static class InputElementTreeLabelProvider extends ColumnLabelProvider {
-
- @Override
- public Image getImage(Object element) {
- return ELEMENT_IMAGE;
- }
-
- @Override
- public String getText(Object element) {
- InputElement inputElement = (InputElement) element;
- return (inputElement.elementName.trim().length() == 0) ? "?" : inputElement.elementName; //$NON-NLS-1$
- }
- }
-
- private class InputElementTreeSelectionChangedListener implements ISelectionChangedListener {
- @Override
- public void selectionChanged(SelectionChangedEvent event) {
- if (selectedElement != null) {
- selectedElement.dispose();
- }
- if (!(event.getSelection().isEmpty()) && event.getSelection() instanceof IStructuredSelection) {
- IStructuredSelection sel = (IStructuredSelection) event.getSelection();
- InputElement inputElement = (InputElement) sel.getFirstElement();
- selectedElement = new ElementNode(elementContainer, inputElement);
- elementContainer.layout();
- elementScrolledComposite.setMinSize(elementContainer.computeSize(SWT.DEFAULT, SWT.DEFAULT).x,
- elementContainer.computeSize(SWT.DEFAULT, SWT.DEFAULT).y - 1);
- container.layout();
- validate();
- updatePreviews();
- removeButton.setEnabled(true);
- addChildButton.setEnabled(true);
- addChildButton.setToolTipText(Messages.CustomXmlParserInputWizardPage_addChildElement);
- if (definition.rootInputElement == inputElement) {
- addNextButton.setEnabled(false);
- } else {
- addNextButton.setEnabled(true);
- }
- moveUpButton.setEnabled(true);
- moveDownButton.setEnabled(true);
- } else {
- removeButton.setEnabled(false);
- if (definition.rootInputElement == null) {
- addChildButton.setEnabled(true);
- addChildButton.setToolTipText(Messages.CustomXmlParserInputWizardPage_addDocumentElement);
- } else {
- addChildButton.setEnabled(false);
- }
- addNextButton.setEnabled(false);
- moveUpButton.setEnabled(false);
- moveDownButton.setEnabled(false);
- }
- }
- }
-
- @Override
- public void dispose() {
- if (fixedFont != null) {
- fixedFont.dispose();
- fixedFont = null;
- }
- super.dispose();
- }
-
- private void loadDefinition(CustomXmlTraceDefinition def) {
- categoryText.setText(def.categoryName);
- logtypeText.setText(def.definitionName);
- timeStampOutputFormatText.setText(def.timeStampOutputFormat);
- treeViewer.setInput(def);
-
- if (def.rootInputElement != null) {
- treeViewer.setSelection(new StructuredSelection(def.rootInputElement));
- }
- }
-
- private String getName(InputElement inputElement) {
- String name = (inputElement.elementName.trim().length() == 0) ? "?" : inputElement.elementName.trim(); //$NON-NLS-1$
- if (inputElement.parentElement == null) {
- return name;
- }
- return getName(inputElement.parentElement) + " : " + name; //$NON-NLS-1$
- }
-
- private String getName(InputAttribute inputAttribute, InputElement inputElement) {
- String name = (inputAttribute.attributeName.trim().length() == 0) ? "?" : inputAttribute.attributeName.trim(); //$NON-NLS-1$
- return getName(inputElement) + " : " + name; //$NON-NLS-1$
- }
-
- @Override
- public void setVisible(boolean visible) {
- if (visible) {
- validate();
- updatePreviews();
- }
- super.setVisible(visible);
- }
-
- /**
- * Get the global list of input names.
- *
- * @return The list of input names
- */
- public List<String> getInputNames() {
- return getInputNames(definition.rootInputElement);
- }
-
- /**
- * Get the list of input names for a given element.
- *
- * @param inputElement
- * The element
- * @return The input names for this element
- */
- public List<String> getInputNames(InputElement inputElement) {
- List<String> inputs = new ArrayList<>();
- if (inputElement.inputName != null && !inputElement.inputName.equals(CustomXmlTraceDefinition.TAG_IGNORE)) {
- String inputName = inputElement.inputName;
- if (!inputs.contains(inputName)) {
- inputs.add(inputName);
- }
- }
- if (inputElement.attributes != null) {
- for (InputAttribute attribute : inputElement.attributes) {
- String inputName = attribute.inputName;
- if (!inputs.contains(inputName)) {
- inputs.add(inputName);
- }
- }
- }
- if (inputElement.childElements != null) {
- for (InputElement childInputElement : inputElement.childElements) {
- for (String inputName : getInputNames(childInputElement)) {
- if (!inputs.contains(inputName)) {
- inputs.add(inputName);
- }
- }
- }
- }
- return inputs;
- }
-
- private void removeElement() {
- selectedElement.dispose();
- selectedElement = null;
- elementContainer.layout();
- elementScrolledComposite.setMinSize(elementContainer.computeSize(SWT.DEFAULT, SWT.DEFAULT).x,
- elementContainer.computeSize(SWT.DEFAULT, SWT.DEFAULT).y - 1);
- container.layout();
- }
-
- private String getSelectionText() {
- InputStream inputStream = null;
- if (this.selection instanceof IStructuredSelection) {
- Object sel = ((IStructuredSelection) this.selection).getFirstElement();
- if (sel instanceof IFile) {
- IFile file = (IFile) sel;
- try {
- inputStream = file.getContents();
- } catch (CoreException e) {
- return ""; //$NON-NLS-1$
- }
- }
- }
- if (inputStream != null) {
- try (BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream));) {
- StringBuilder sb = new StringBuilder();
- String line = null;
- while ((line = reader.readLine()) != null) {
- sb.append(line + "\n"); //$NON-NLS-1$
- }
- parseXmlInput(sb.toString());
- return sb.toString();
- } catch (IOException e) {
- return ""; //$NON-NLS-1$
- }
- }
- return ""; //$NON-NLS-1$
- }
-
- private void parseXmlInput(final String string) {
- try {
- DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
- DocumentBuilder db = dbf.newDocumentBuilder();
-
- // The following allows xml parsing without access to the dtd
- EntityResolver resolver = new EntityResolver() {
- @Override
- public InputSource resolveEntity(String publicId, String systemId) {
- String empty = ""; //$NON-NLS-1$
- ByteArrayInputStream bais = new ByteArrayInputStream(empty.getBytes());
- return new InputSource(bais);
- }
- };
- db.setEntityResolver(resolver);
-
- // The following catches xml parsing exceptions
- db.setErrorHandler(new ErrorHandler() {
- @Override
- public void error(SAXParseException saxparseexception) throws SAXException {
- }
-
- @Override
- public void warning(SAXParseException saxparseexception) throws SAXException {
- }
-
- @Override
- public void fatalError(SAXParseException saxparseexception) throws SAXException {
- if (string.trim().length() != 0) {
- errorText.setText(saxparseexception.getMessage());
- errorText.setBackground(COLOR_LIGHT_RED);
- errorText.setVisible(true);
- }
- throw saxparseexception;
- }
- });
-
- errorText.setVisible(false);
- Document doc = null;
- doc = db.parse(new ByteArrayInputStream(string.getBytes()));
- documentElement = doc.getDocumentElement();
- } catch (ParserConfigurationException e) {
- Activator.getDefault().logError("Error pasing XML input string: " + string, e); //$NON-NLS-1$
- documentElement = null;
- } catch (SAXException e) {
- documentElement = null;
- } catch (IOException e) {
- Activator.getDefault().logError("Error pasing XML input string: " + string, e); //$NON-NLS-1$
- documentElement = null;
- }
- }
-
- private void initValues() {
- timeStampValue = null;
- timeStampFormat = null;
- logEntriesCount = 0;
- logEntryFound = false;
- }
-
- private void updatePreviews() {
- if (inputText == null) {
- // early update during construction
- return;
- }
- inputText.setStyleRanges(new StyleRange[] {});
- if (selectedElement == null) {
- return;
- }
-
- initValues();
-
- selectedElement.updatePreview();
-
- if (timeStampValue != null && timeStampFormat != null) {
- try {
- TmfTimestampFormat timestampFormat = new TmfTimestampFormat(timeStampFormat);
- long timestamp = timestampFormat.parseValue(timeStampValue);
- timestampFormat = new TmfTimestampFormat(timeStampOutputFormatText.getText().trim());
- timeStampPreviewText.setText(timestampFormat.format(timestamp));
- } catch (ParseException e) {
- timeStampPreviewText.setText("*parse exception* [" + timeStampValue + "] <> [" + timeStampFormat + "]"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- } catch (IllegalArgumentException e) {
- timeStampPreviewText.setText("*parse exception* [Illegal Argument]"); //$NON-NLS-1$
- }
- } else {
- timeStampPreviewText.setText("*no matching time stamp*"); //$NON-NLS-1$
- }
- }
-
- private void openHelpShell(String url) {
- if (helpBrowser != null && !helpBrowser.isDisposed()) {
- helpBrowser.getShell().setActive();
- if (!helpBrowser.getUrl().equals(url)) {
- helpBrowser.setUrl(url);
- }
- return;
- }
- final Shell helpShell = new Shell(getShell(), SWT.SHELL_TRIM);
- helpShell.setLayout(new FillLayout());
- helpBrowser = new Browser(helpShell, SWT.NONE);
- helpBrowser.addTitleListener(new TitleListener() {
- @Override
- public void changed(TitleEvent event) {
- helpShell.setText(event.title);
- }
- });
- Rectangle r = container.getBounds();
- Point p = container.toDisplay(r.x, r.y);
- Rectangle trim = helpShell.computeTrim(p.x + (r.width - 750) / 2, p.y + (r.height - 400) / 2, 750, 400);
- helpShell.setBounds(trim);
- helpShell.open();
- helpBrowser.setUrl(url);
- }
-
- private class UpdateListener implements ModifyListener, SelectionListener {
-
- @Override
- public void modifyText(ModifyEvent e) {
- validate();
- updatePreviews();
- }
-
- @Override
- public void widgetDefaultSelected(SelectionEvent e) {
- validate();
- updatePreviews();
- }
-
- @Override
- public void widgetSelected(SelectionEvent e) {
- validate();
- updatePreviews();
- }
-
- }
-
- private class ElementNode {
- private final InputElement inputElement;
- private final Group group;
- private List<Attribute> attributes = new ArrayList<>();
- private List<ElementNode> childElements = new ArrayList<>();
- private Text elementNameText;
- private Composite tagComposite;
- private Combo tagCombo;
- private Label tagLabel;
- private Text tagText;
- private Combo actionCombo;
- private Label previewLabel;
- private Text previewText;
- private Button logEntryButton;
- private Label fillerLabel;
- private Composite addAttributeComposite;
- private Button addAttributeButton;
- private Label addAttributeLabel;
-
- public ElementNode(Composite parent, InputElement inputElement) {
- this.inputElement = inputElement;
-
- group = new Group(parent, SWT.NONE);
- GridLayout gl = new GridLayout(2, false);
- gl.marginHeight = 0;
- group.setLayout(gl);
- group.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false));
- group.setText(getName(inputElement));
-
- Label label = new Label(group, SWT.NULL);
- label.setText(Messages.CustomXmlParserInputWizardPage_elementName);
- label.setLayoutData(new GridData(SWT.RIGHT, SWT.CENTER, false, false));
-
- elementNameText = new Text(group, SWT.BORDER | SWT.SINGLE);
- GridData gd = new GridData(SWT.FILL, SWT.CENTER, true, false);
- gd.widthHint = 0;
- elementNameText.setLayoutData(gd);
- elementNameText.addModifyListener(new ModifyListener() {
- @Override
- public void modifyText(ModifyEvent e) {
- ElementNode.this.inputElement.elementName = elementNameText.getText().trim();
- group.setText(getName(ElementNode.this.inputElement));
- }
- });
- elementNameText.setText(inputElement.elementName);
- elementNameText.addModifyListener(updateListener);
-
- if (inputElement.parentElement != null) {
- previewLabel = new Label(group, SWT.NULL);
- previewLabel.setLayoutData(new GridData(SWT.RIGHT, SWT.CENTER, false, false));
- previewLabel.setText(Messages.CustomXmlParserInputWizardPage_preview);
-
- previewText = new Text(group, SWT.BORDER | SWT.SINGLE | SWT.READ_ONLY);
- gd = new GridData(SWT.FILL, SWT.CENTER, true, false);
- gd.widthHint = 0;
- previewText.setLayoutData(gd);
- previewText.setText(Messages.CustomXmlParserInputWizardPage_noMatchingElement);
- previewText.setBackground(COLOR_WIDGET_BACKGROUND);
-
- logEntryButton = new Button(group, SWT.CHECK);
- logEntryButton.setText(Messages.CustomXmlParserInputWizardPage_logEntry);
- logEntryButton.setSelection(inputElement.logEntry);
- logEntryButton.addSelectionListener(new SelectionListener() {
- @Override
- public void widgetDefaultSelected(SelectionEvent e) {
- }
-
- @Override
- public void widgetSelected(SelectionEvent e) {
- InputElement parentElem = ElementNode.this.inputElement.parentElement;
- while (parentElem != null) {
- parentElem.logEntry = false;
- parentElem = parentElem.parentElement;
- }
- }
- });
- logEntryButton.addSelectionListener(updateListener);
-
- tagComposite = new Composite(group, SWT.FILL);
- GridLayout tagLayout = new GridLayout(4, false);
- tagLayout.marginWidth = 0;
- tagLayout.marginHeight = 0;
- tagComposite.setLayout(tagLayout);
- tagComposite.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false));
-
- tagCombo = new Combo(tagComposite, SWT.DROP_DOWN | SWT.READ_ONLY);
- tagCombo.setItems(new String[] { CustomXmlTraceDefinition.TAG_IGNORE, CustomTraceDefinition.TAG_TIMESTAMP,
- CustomTraceDefinition.TAG_MESSAGE, CustomTraceDefinition.TAG_OTHER });
- tagCombo.setVisibleItemCount(tagCombo.getItemCount());
- tagCombo.addSelectionListener(new SelectionListener() {
- @Override
- public void widgetDefaultSelected(SelectionEvent e) {
- }
-
- @Override
- public void widgetSelected(SelectionEvent e) {
- tagText.removeModifyListener(updateListener);
- switch (tagCombo.getSelectionIndex()) {
- case 0: // Ignore
- tagLabel.setVisible(false);
- tagText.setVisible(false);
- actionCombo.setVisible(false);
- break;
- case 1: // Time Stamp
- tagLabel.setText(Messages.CustomXmlParserInputWizardPage_format);
- tagLabel.setVisible(true);
- tagText.setVisible(true);
- tagText.addModifyListener(updateListener);
- actionCombo.setVisible(true);
- break;
- case 2: // Message
- tagLabel.setVisible(false);
- tagText.setVisible(false);
- actionCombo.setVisible(true);
- break;
- case 3: // Other
- tagLabel.setText(Messages.CustomXmlParserInputWizardPage_tagName);
- tagLabel.setVisible(true);
- if (tagText.getText().trim().length() == 0) {
- tagText.setText(elementNameText.getText().trim());
- }
- tagText.setVisible(true);
- tagText.addModifyListener(updateListener);
- actionCombo.setVisible(true);
- break;
- default:
- break;
- }
- tagComposite.layout();
- validate();
- updatePreviews();
- }
- });
-
- tagLabel = new Label(tagComposite, SWT.NULL);
- tagLabel.setLayoutData(new GridData(SWT.RIGHT, SWT.CENTER, false, false));
-
- tagText = new Text(tagComposite, SWT.BORDER | SWT.SINGLE);
- gd = new GridData(SWT.FILL, SWT.CENTER, true, false);
- gd.widthHint = 0;
- tagText.setLayoutData(gd);
-
- actionCombo = new Combo(tagComposite, SWT.DROP_DOWN | SWT.READ_ONLY);
- actionCombo.setItems(new String[] { Messages.CustomXmlParserInputWizardPage_set, Messages.CustomXmlParserInputWizardPage_append,
- Messages.CustomXmlParserInputWizardPage_appendWith });
- actionCombo.select(inputElement.inputAction);
- actionCombo.addSelectionListener(updateListener);
-
- if (inputElement.inputName.equals(CustomXmlTraceDefinition.TAG_IGNORE)) {
- tagCombo.select(0);
- tagLabel.setVisible(false);
- tagText.setVisible(false);
- actionCombo.setVisible(false);
- } else if (inputElement.inputName.equals(CustomTraceDefinition.TAG_TIMESTAMP)) {
- tagCombo.select(1);
- tagLabel.setText(Messages.CustomXmlParserInputWizardPage_format);
- tagText.setText(inputElement.inputFormat);
- tagText.addModifyListener(updateListener);
- } else if (inputElement.inputName.equals(CustomTraceDefinition.TAG_MESSAGE)) {
- tagCombo.select(2);
- tagLabel.setVisible(false);
- tagText.setVisible(false);
- } else {
- tagCombo.select(3);
- tagLabel.setText(Messages.CustomXmlParserInputWizardPage_tagName);
- tagText.setText(inputElement.inputName);
- tagText.addModifyListener(updateListener);
- }
- }
-
- if (inputElement.attributes != null) {
- for (InputAttribute inputAttribute : inputElement.attributes) {
- Attribute attribute = new Attribute(group, this, inputAttribute, attributes.size() + 1);
- attributes.add(attribute);
- }
- }
-
- createAddButton();
- }
-
- private void updatePreview() {
- Element element = getPreviewElement(inputElement);
- if (inputElement.parentElement != null) { // no preview text for
- // document element
- previewText.setText(Messages.CustomXmlParserInputWizardPage_noMatchingElement);
- if (element != null) {
- previewText.setText(CustomXmlTrace.parseElement(element, new StringBuffer()).toString());
- if (logEntryButton.getSelection()) {
- if (!logEntryFound) {
- logEntryFound = true;
- logEntriesCount++;
- } else {
- logEntryButton.setSelection(false); // remove nested
- // log entry
- }
- }
- if (tagCombo.getText().equals(CustomTraceDefinition.TAG_TIMESTAMP) && logEntriesCount <= 1) {
- String value = previewText.getText().trim();
- if (value.length() != 0) {
- if (actionCombo.getSelectionIndex() == CustomTraceDefinition.ACTION_SET) {
- timeStampValue = value;
- timeStampFormat = tagText.getText().trim();
- } else if (actionCombo.getSelectionIndex() == CustomTraceDefinition.ACTION_APPEND) {
- if (timeStampValue != null) {
- timeStampValue += value;
- timeStampFormat += tagText.getText().trim();
- } else {
- timeStampValue = value;
- timeStampFormat = tagText.getText().trim();
- }
- } else if (actionCombo.getSelectionIndex() == CustomTraceDefinition.ACTION_APPEND_WITH_SEPARATOR) {
- if (timeStampValue != null) {
- timeStampValue += " | " + value; //$NON-NLS-1$
- timeStampFormat += " | " + tagText.getText().trim(); //$NON-NLS-1$
- } else {
- timeStampValue = value;
- timeStampFormat = tagText.getText().trim();
- }
- }
- }
- }
- }
- }
- for (Attribute attribute : attributes) {
- if (element != null) {
- String value = element.getAttribute(attribute.attributeNameText.getText().trim());
- if (value.length() != 0) {
- attribute.previewText.setText(value);
- if (attribute.tagCombo.getText().equals(CustomTraceDefinition.TAG_TIMESTAMP) && logEntriesCount <= 1) {
- if (attribute.actionCombo.getSelectionIndex() == CustomTraceDefinition.ACTION_SET) {
- timeStampValue = value;
- timeStampFormat = attribute.tagText.getText().trim();
- } else if (attribute.actionCombo.getSelectionIndex() == CustomTraceDefinition.ACTION_APPEND) {
- if (timeStampValue != null) {
- timeStampValue += value;
- timeStampFormat += attribute.tagText.getText().trim();
- } else {
- timeStampValue = value;
- timeStampFormat = attribute.tagText.getText().trim();
- }
- } else if (attribute.actionCombo.getSelectionIndex() == CustomTraceDefinition.ACTION_APPEND_WITH_SEPARATOR) {
- if (timeStampValue != null) {
- timeStampValue += " | " + value; //$NON-NLS-1$
- timeStampFormat += " | " + attribute.tagText.getText().trim(); //$NON-NLS-1$
- } else {
- timeStampValue = value;
- timeStampFormat = attribute.tagText.getText().trim();
- }
- }
- }
- } else {
- attribute.previewText.setText(Messages.CustomXmlParserInputWizardPage_noMatchingAttribute);
- }
- } else {
- attribute.previewText.setText(Messages.CustomXmlParserInputWizardPage_noMatchingElement);
- }
- }
- for (ElementNode child : childElements) {
- child.updatePreview();
- }
- if (logEntryButton != null && logEntryButton.getSelection()) {
- logEntryFound = false;
- }
- }
-
- private void createAddButton() {
- fillerLabel = new Label(group, SWT.NONE);
-
- addAttributeComposite = new Composite(group, SWT.NONE);
- addAttributeComposite.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false));
- GridLayout addAttributeLayout = new GridLayout(2, false);
- addAttributeLayout.marginHeight = 0;
- addAttributeLayout.marginWidth = 0;
- addAttributeComposite.setLayout(addAttributeLayout);
-
- addAttributeButton = new Button(addAttributeComposite, SWT.PUSH);
- addAttributeButton.setImage(ADD_IMAGE);
- addAttributeButton.setToolTipText(Messages.CustomXmlParserInputWizardPage_addAttribute);
- addAttributeButton.addSelectionListener(new SelectionAdapter() {
- @Override
- public void widgetSelected(SelectionEvent e) {
- removeAddButton();
- String attributeName = getAttributeNameSuggestion(inputElement);
- InputAttribute inputAttribute = new InputAttribute(attributeName, attributeName, 0, ""); //$NON-NLS-1$
- attributes.add(new Attribute(group, ElementNode.this, inputAttribute, attributes.size() + 1));
- createAddButton();
- elementContainer.layout();
- elementScrolledComposite.setMinSize(elementContainer.computeSize(SWT.DEFAULT, SWT.DEFAULT).x,
- elementContainer.computeSize(SWT.DEFAULT, SWT.DEFAULT).y - 1);
- group.getParent().layout();
- validate();
- updatePreviews();
- }
- });
-
- addAttributeLabel = new Label(addAttributeComposite, SWT.NULL);
- addAttributeLabel.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false));
- addAttributeLabel.setText(Messages.CustomXmlParserInputWizardPage_newAttibute);
- }
-
- private void removeAddButton() {
- fillerLabel.dispose();
- addAttributeComposite.dispose();
- }
-
- private void removeAttribute(int attributeNumber) {
- int nb = attributeNumber;
- if (--nb < attributes.size()) {
- attributes.remove(nb).dispose();
- for (int i = nb; i < attributes.size(); i++) {
- attributes.get(i).setAttributeNumber(i + 1);
- }
- elementContainer.layout();
- elementScrolledComposite.setMinSize(elementContainer.computeSize(SWT.DEFAULT, SWT.DEFAULT).x,
- elementContainer.computeSize(SWT.DEFAULT, SWT.DEFAULT).y - 1);
- group.getParent().layout();
- }
- }
-
- private void dispose() {
- group.dispose();
- }
-
- private void extractInputs() {
- inputElement.elementName = elementNameText.getText().trim();
- if (inputElement.parentElement != null) {
- inputElement.logEntry = logEntryButton.getSelection();
- if (tagCombo.getText().equals(CustomTraceDefinition.TAG_OTHER)) {
- inputElement.inputName = tagText.getText().trim();
- } else {
- inputElement.inputName = tagCombo.getText();
- if (tagCombo.getText().equals(CustomTraceDefinition.TAG_TIMESTAMP)) {
- inputElement.inputFormat = tagText.getText().trim();
- }
- }
- inputElement.inputAction = actionCombo.getSelectionIndex();
- }
- inputElement.attributes = new ArrayList<>(attributes.size());
- for (int i = 0; i < attributes.size(); i++) {
- Attribute attribute = attributes.get(i);
- InputAttribute inputAttribute = new InputAttribute();
- inputAttribute.attributeName = attribute.attributeNameText.getText().trim();
- if (attribute.tagCombo.getText().equals(CustomTraceDefinition.TAG_OTHER)) {
- inputAttribute.inputName = attribute.tagText.getText().trim();
- } else {
- inputAttribute.inputName = attribute.tagCombo.getText();
- if (attribute.tagCombo.getText().equals(CustomTraceDefinition.TAG_TIMESTAMP)) {
- inputAttribute.inputFormat = attribute.tagText.getText().trim();
- }
- }
- inputAttribute.inputAction = attribute.actionCombo.getSelectionIndex();
- inputElement.addAttribute(inputAttribute);
- }
- }
- }
-
- private class Attribute {
- private ElementNode element;
- private int attributeNumber;
-
- // children of parent (must be disposed)
- private Composite labelComposite;
- private Composite attributeComposite;
- private Label filler;
- private Composite tagComposite;
-
- // children of labelComposite
- private Label attributeLabel;
-
- // children of attributeComposite
- private Text attributeNameText;
- private Text previewText;
-
- // children of tagComposite
- private Combo tagCombo;
- private Label tagLabel;
- private Text tagText;
- private Combo actionCombo;
-
- public Attribute(Composite parent, ElementNode element, InputAttribute inputAttribute, int attributeNumber) {
- this.element = element;
- this.attributeNumber = attributeNumber;
-
- labelComposite = new Composite(parent, SWT.FILL);
- GridLayout labelLayout = new GridLayout(2, false);
- labelLayout.marginWidth = 0;
- labelLayout.marginHeight = 0;
- labelComposite.setLayout(labelLayout);
- labelComposite.setLayoutData(new GridData(SWT.RIGHT, SWT.CENTER, false, false));
-
- Button deleteButton = new Button(labelComposite, SWT.PUSH);
- deleteButton.setLayoutData(new GridData(SWT.RIGHT, SWT.CENTER, false, false));
- deleteButton.setImage(DELETE_IMAGE);
- deleteButton.setToolTipText(Messages.CustomXmlParserInputWizardPage_removeAttribute);
- deleteButton.addSelectionListener(new SelectionAdapter() {
- @Override
- public void widgetSelected(SelectionEvent e) {
- Attribute.this.element.removeAttribute(Attribute.this.attributeNumber);
- validate();
- updatePreviews();
- }
- });
-
- attributeLabel = new Label(labelComposite, SWT.NULL);
- attributeLabel.setLayoutData(new GridData(SWT.RIGHT, SWT.CENTER, false, false));
- attributeLabel.setText(Messages.CustomXmlParserInputWizardPage_attibute);
-
- attributeComposite = new Composite(parent, SWT.FILL);
- GridLayout attributeLayout = new GridLayout(4, false);
- attributeLayout.marginWidth = 0;
- attributeLayout.marginHeight = 0;
- attributeComposite.setLayout(attributeLayout);
- attributeComposite.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false));
-
- Label nameLabel = new Label(attributeComposite, SWT.NONE);
- nameLabel.setText(Messages.CustomXmlParserInputWizardPage_name);
-
- attributeNameText = new Text(attributeComposite, SWT.BORDER | SWT.SINGLE);
- attributeNameText.setLayoutData(new GridData(120, SWT.DEFAULT));
- attributeNameText.setText(inputAttribute.attributeName);
- attributeNameText.addModifyListener(updateListener);
-
- Label previewLabel = new Label(attributeComposite, SWT.NONE);
- previewLabel.setText(Messages.CustomXmlParserInputWizardPage_preview);
-
- previewText = new Text(attributeComposite, SWT.BORDER | SWT.SINGLE | SWT.READ_ONLY);
- GridData gd = new GridData(SWT.FILL, SWT.CENTER, true, false);
- gd.widthHint = 0;
- previewText.setLayoutData(gd);
- previewText.setText(Messages.CustomXmlParserInputWizardPage_noMatch);
- previewText.setBackground(COLOR_WIDGET_BACKGROUND);
-
- filler = new Label(parent, SWT.NULL);
-
- tagComposite = new Composite(parent, SWT.FILL);
- GridLayout tagLayout = new GridLayout(4, false);
- tagLayout.marginWidth = 0;
- tagLayout.marginHeight = 0;
- tagComposite.setLayout(tagLayout);
- tagComposite.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false));
-
- tagCombo = new Combo(tagComposite, SWT.DROP_DOWN | SWT.READ_ONLY);
- tagCombo.setItems(new String[] { CustomTraceDefinition.TAG_TIMESTAMP, CustomTraceDefinition.TAG_MESSAGE,
- CustomTraceDefinition.TAG_OTHER });
- tagCombo.select(2); // Other
- tagCombo.addSelectionListener(new SelectionListener() {
- @Override
- public void widgetDefaultSelected(SelectionEvent e) {
- }
-
- @Override
- public void widgetSelected(SelectionEvent e) {
- tagText.removeModifyListener(updateListener);
- switch (tagCombo.getSelectionIndex()) {
- case 0: // Time Stamp
- tagLabel.setText(Messages.CustomXmlParserInputWizardPage_format);
- tagLabel.setVisible(true);
- tagText.setVisible(true);
- tagText.addModifyListener(updateListener);
- break;
- case 1: // Message
- tagLabel.setVisible(false);
- tagText.setVisible(false);
- break;
- case 2: // Other
- tagLabel.setText(Messages.CustomXmlParserInputWizardPage_tagName);
- tagLabel.setVisible(true);
- if (tagText.getText().trim().length() == 0) {
- tagText.setText(attributeNameText.getText().trim());
- }
- tagText.setVisible(true);
- tagText.addModifyListener(updateListener);
- break;
- default:
- break;
- }
- tagComposite.layout();
- validate();
- updatePreviews();
- }
- });
-
- tagLabel = new Label(tagComposite, SWT.NULL);
- tagLabel.setLayoutData(new GridData(SWT.RIGHT, SWT.CENTER, false, false));
-
- tagText = new Text(tagComposite, SWT.BORDER | SWT.SINGLE);
- gd = new GridData(SWT.FILL, SWT.CENTER, true, false);
- gd.widthHint = 0;
- tagText.setLayoutData(gd);
- tagText.setText(attributeNameText.getText());
-
- actionCombo = new Combo(tagComposite, SWT.DROP_DOWN | SWT.READ_ONLY);
- actionCombo.setItems(new String[] { Messages.CustomXmlParserInputWizardPage_set, Messages.CustomXmlParserInputWizardPage_append,
- Messages.CustomXmlParserInputWizardPage_appendWith });
- actionCombo.select(inputAttribute.inputAction);
- actionCombo.addSelectionListener(updateListener);
-
- if (inputAttribute.inputName.equals(CustomTraceDefinition.TAG_TIMESTAMP)) {
- tagCombo.select(0);
- tagLabel.setText(Messages.CustomXmlParserInputWizardPage_format);
- tagText.setText(inputAttribute.inputFormat);
- tagText.addModifyListener(updateListener);
- } else if (inputAttribute.inputName.equals(CustomTraceDefinition.TAG_MESSAGE)) {
- tagCombo.select(1);
- tagLabel.setVisible(false);
- tagText.setVisible(false);
- } else {
- tagCombo.select(2);
- tagLabel.setText(Messages.CustomXmlParserInputWizardPage_tagName);
- tagText.setText(inputAttribute.inputName);
- tagText.addModifyListener(updateListener);
- }
- }
-
- private void dispose() {
- labelComposite.dispose();
- attributeComposite.dispose();
- filler.dispose();
- tagComposite.dispose();
- }
-
- private void setAttributeNumber(int attributeNumber) {
- this.attributeNumber = attributeNumber;
- labelComposite.layout();
- }
- }
-
- private Element getPreviewElement(InputElement inputElement) {
- InputElement currentElement = inputElement;
- Element element = documentElement;
- if (element != null) {
- if (!documentElement.getNodeName().equals(definition.rootInputElement.elementName)) {
- return null;
- }
- ArrayList<String> elementNames = new ArrayList<>();
- while (currentElement != null) {
- elementNames.add(currentElement.elementName);
- currentElement = currentElement.parentElement;
- }
- for (int i = elementNames.size() - 1; --i >= 0;) {
- NodeList childList = element.getChildNodes();
- element = null;
- for (int j = 0; j < childList.getLength(); j++) {
- Node child = childList.item(j);
- if (child instanceof Element && child.getNodeName().equals(elementNames.get(i))) {
- element = (Element) child;
- break;
- }
- }
- if (element == null) {
- break;
- }
- }
- if (element != null) {
- return element;
- }
- }
- return null;
- }
-
- private String getChildNameSuggestion(InputElement inputElement) {
- if (inputElement == null) {
- if (documentElement != null) {
- return documentElement.getNodeName();
- }
- } else {
- Element element = getPreviewElement(inputElement);
- if (element != null) {
- NodeList childNodes = element.getChildNodes();
- for (int i = 0; i < childNodes.getLength(); i++) {
- Node node = childNodes.item(i);
- if (node instanceof Element) {
- boolean unused = true;
- if (inputElement.childElements != null) {
- for (InputElement child : inputElement.childElements) {
- if (child.elementName.equals(node.getNodeName())) {
- unused = false;
- break;
- }
- }
- }
- if (unused) {
- return node.getNodeName();
- }
- }
- }
- }
- }
- return ""; //$NON-NLS-1$
- }
-
- private String getAttributeNameSuggestion(InputElement inputElement) {
- Element element = getPreviewElement(inputElement);
- if (element != null) {
- NamedNodeMap attributeMap = element.getAttributes();
- for (int i = 0; i < attributeMap.getLength(); i++) {
- Node node = attributeMap.item(i);
- boolean unused = true;
- if (inputElement.attributes != null) {
- for (InputAttribute attribute : inputElement.attributes) {
- if (attribute.attributeName.equals(node.getNodeName())) {
- unused = false;
- break;
- }
- }
- }
- if (unused) {
- return node.getNodeName();
- }
- }
- }
- return ""; //$NON-NLS-1$
- }
-
- private void validate() {
- definition.categoryName = categoryText.getText().trim();
- definition.definitionName = logtypeText.getText().trim();
- definition.timeStampOutputFormat = timeStampOutputFormatText.getText().trim();
-
- if (selectedElement != null) {
- selectedElement.extractInputs();
- treeViewer.refresh();
- }
-
- List<String> errors = new ArrayList<>();
-
- if (definition.categoryName.length() == 0) {
- errors.add(Messages.CustomXmlParserInputWizardPage_emptyCategoryError);
- categoryText.setBackground(COLOR_LIGHT_RED);
- } else if (definition.definitionName.length() == 0) {
- errors.add(Messages.CustomXmlParserInputWizardPage_emptyLogTypeError);
- logtypeText.setBackground(COLOR_LIGHT_RED);
- } else {
- categoryText.setBackground(COLOR_TEXT_BACKGROUND);
- logtypeText.setBackground(COLOR_TEXT_BACKGROUND);
- if (definition.categoryName.indexOf(':') != -1) {
- errors.add(Messages.CustomXmlParserInputWizardPage_invalidCategoryError);
- categoryText.setBackground(COLOR_LIGHT_RED);
- }
- if (definition.definitionName.indexOf(':') != -1) {
- errors.add(Messages.CustomXmlParserInputWizardPage_invalidLogTypeError);
- logtypeText.setBackground(COLOR_LIGHT_RED);
- }
- for (TraceTypeHelper helper : TmfTraceType.getTraceTypeHelpers()) {
- if (definition.categoryName.equals(helper.getCategoryName()) &&
- definition.definitionName.equals(helper.getName()) &&
- (editDefinitionName == null || !editDefinitionName.equals(definition.definitionName)) &&
- (editCategoryName == null || !editCategoryName.equals(definition.categoryName))) {
- errors.add(Messages.CustomXmlParserInputWizardPage_duplicatelogTypeError);
- logtypeText.setBackground(COLOR_LIGHT_RED);
- break;
- }
- }
- }
-
- if (definition.rootInputElement == null) {
- errors.add(Messages.CustomXmlParserInputWizardPage_noDocumentError);
- }
-
- if (definition.rootInputElement != null) {
- logEntryFound = false;
- timeStampFound = false;
-
- errors.addAll(validateElement(definition.rootInputElement));
-
- if ((definition.rootInputElement.attributes != null && definition.rootInputElement.attributes.size() != 0)
- || (definition.rootInputElement.childElements != null && definition.rootInputElement.childElements.size() != 0)
- || errors.size() == 0) {
- if (!logEntryFound) {
- errors.add(Messages.CustomXmlParserInputWizardPage_missingLogEntryError);
- }
-
- if (timeStampFound) {
- if (timeStampOutputFormatText.getText().trim().length() == 0) {
- errors.add(Messages.CustomXmlParserInputWizardPage_missingTimestampFmtError);
- timeStampOutputFormatText.setBackground(COLOR_LIGHT_RED);
- } else {
- try {
- new TmfTimestampFormat(timeStampOutputFormatText.getText().trim());
- timeStampOutputFormatText.setBackground(COLOR_TEXT_BACKGROUND);
- } catch (IllegalArgumentException e) {
- errors.add(Messages.CustomXmlParserInputWizardPage_elementInvalidTimestampFmtError);
- timeStampOutputFormatText.setBackground(COLOR_LIGHT_RED);
- }
- }
- } else {
- timeStampPreviewText.setText(Messages.CustomXmlParserInputWizardPage_noTimestampElementOrAttribute);
- }
- }
- } else {
- timeStampPreviewText.setText(Messages.CustomXmlParserInputWizardPage_noTimestampElementOrAttribute);
- }
-
- if (errors.size() == 0) {
- setDescription(defaultDescription);
- setPageComplete(true);
- } else {
- setDescription(Joiner.on(' ').join(errors));
- setPageComplete(false);
- }
- }
-
- /**
- * Clean up the specified XML element.
- *
- * @param inputElement
- * The element to clean up
- * @return The validated element
- */
- public List<String> validateElement(InputElement inputElement) {
- List<String> errors = new ArrayList<>();
- ElementNode elementNode = null;
- if (selectedElement != null && selectedElement.inputElement.equals(inputElement)) {
- elementNode = selectedElement;
- }
- if (inputElement == definition.rootInputElement) {
- if (inputElement.elementName.length() == 0) {
- errors.add(Messages.CustomXmlParserInputWizardPage_missingDocumentElementError);
- if (elementNode != null) {
- elementNode.elementNameText.setBackground(COLOR_LIGHT_RED);
- }
- } else {
- if (elementNode != null) {
- elementNode.elementNameText.setBackground(COLOR_TEXT_BACKGROUND);
- }
- }
- }
- if (inputElement != definition.rootInputElement) {
- if (inputElement.logEntry) {
- logEntryFound = true;
- }
- if (inputElement.inputName.equals(CustomTraceDefinition.TAG_TIMESTAMP)) {
- timeStampFound = true;
- if (inputElement.inputFormat.length() == 0) {
- errors.add(NLS.bind(Messages.CustomXmlParserInputWizardPage_elementMissingTimestampFmtError, getName(inputElement)));
- if (elementNode != null) {
- elementNode.tagText.setBackground(COLOR_LIGHT_RED);
- }
- } else {
- try {
- new TmfTimestampFormat(inputElement.inputFormat);
- if (elementNode != null) {
- elementNode.tagText.setBackground(COLOR_TEXT_BACKGROUND);
- }
- } catch (IllegalArgumentException e) {
- errors.add(NLS.bind(Messages.CustomXmlParserInputWizardPage_elementInvalidTimestampFmtError, getName(inputElement)));
- if (elementNode != null) {
- elementNode.tagText.setBackground(COLOR_LIGHT_RED);
- }
- }
- }
- } else if (inputElement.inputName.length() == 0) {
- errors.add(NLS.bind(Messages.CustomXmlParserInputWizardPage_elementMissingInputNameError, getName(inputElement)));
- if (elementNode != null) {
- elementNode.tagText.setBackground(COLOR_LIGHT_RED);
- }
- } else {
- if (elementNode != null) {
- elementNode.tagText.setBackground(COLOR_TEXT_BACKGROUND);
- }
- }
- }
- if (inputElement.attributes != null) {
- if (elementNode != null) {
- for (Attribute attribute : elementNode.attributes) {
- attribute.attributeNameText.setBackground(COLOR_TEXT_BACKGROUND);
- }
- }
- for (int i = 0; i < inputElement.attributes.size(); i++) {
- InputAttribute attribute = inputElement.attributes.get(i);
- boolean duplicate = false;
- for (int j = i + 1; j < inputElement.attributes.size(); j++) {
- InputAttribute otherAttribute = inputElement.attributes.get(j);
- if (otherAttribute.attributeName.equals(attribute.attributeName)) {
- duplicate = true;
- if (elementNode != null) {
- elementNode.attributes.get(j).attributeNameText.setBackground(COLOR_LIGHT_RED);
- }
- }
- }
- if (attribute.attributeName.length() == 0) {
- errors.add(NLS.bind(Messages.CustomXmlParserInputWizardPage_attributeMissingNameError, getName(inputElement)));
- if (elementNode != null) {
- elementNode.attributes.get(i).attributeNameText.setBackground(COLOR_LIGHT_RED);
- }
- } else if (duplicate) {
- errors.add(NLS.bind(Messages.CustomXmlParserInputWizardPage_attributeDuplicateNameError, getName(attribute, inputElement)));
- if (elementNode != null) {
- elementNode.attributes.get(i).attributeNameText.setBackground(COLOR_LIGHT_RED);
- }
- }
- if (attribute.inputName.equals(CustomTraceDefinition.TAG_TIMESTAMP)) {
- timeStampFound = true;
- if (attribute.inputFormat.length() == 0) {
- errors.add(NLS.bind(Messages.CustomXmlParserInputWizardPage_attributeMissingTimestampFmtError, getName(attribute, inputElement)));
- if (elementNode != null) {
- elementNode.attributes.get(i).tagText.setBackground(COLOR_LIGHT_RED);
- }
- } else {
- try {
- new TmfTimestampFormat(attribute.inputFormat);
- if (elementNode != null) {
- elementNode.attributes.get(i).tagText.setBackground(COLOR_TEXT_BACKGROUND);
- }
- } catch (IllegalArgumentException e) {
- errors.add(NLS.bind(Messages.CustomXmlParserInputWizardPage_attributeInvalidTimestampFmtError, getName(attribute, inputElement)));
- if (elementNode != null) {
- elementNode.attributes.get(i).tagText.setBackground(COLOR_LIGHT_RED);
- }
- }
- }
- } else if (attribute.inputName.length() == 0) {
- errors.add(NLS.bind(Messages.CustomXmlParserInputWizardPage_attributeMissingInputNameError, getName(attribute, inputElement)));
- if (elementNode != null) {
- elementNode.attributes.get(i).tagText.setBackground(COLOR_LIGHT_RED);
- }
- } else {
- if (elementNode != null) {
- elementNode.attributes.get(i).tagText.setBackground(COLOR_TEXT_BACKGROUND);
- }
- }
- }
- }
- if (inputElement.childElements != null) {
- for (InputElement child : inputElement.childElements) {
- ElementNode childElementNode = null;
- if (selectedElement != null && selectedElement.inputElement.equals(child)) {
- childElementNode = selectedElement;
- }
- if (childElementNode != null) {
- childElementNode.elementNameText.setBackground(COLOR_TEXT_BACKGROUND);
- }
- }
- for (int i = 0; i < inputElement.childElements.size(); i++) {
- InputElement child = inputElement.childElements.get(i);
- ElementNode childElementNode = null;
- if (selectedElement != null && selectedElement.inputElement.equals(child)) {
- childElementNode = selectedElement;
- }
- if (child.elementName.length() == 0) {
- errors.add(NLS.bind(Messages.CustomXmlParserInputWizardPage_elementMissingNameError, getName(child)));
- if (childElementNode != null) {
- childElementNode.elementNameText.setBackground(COLOR_LIGHT_RED);
- }
- } else {
- boolean duplicate = false;
- for (int j = i + 1; j < inputElement.childElements.size(); j++) {
- InputElement otherChild = inputElement.childElements.get(j);
- if (otherChild.elementName.equals(child.elementName)) {
- duplicate = true;
- ElementNode otherChildElementNode = null;
- if (selectedElement != null && selectedElement.inputElement.equals(otherChild)) {
- otherChildElementNode = selectedElement;
- }
- if (otherChildElementNode != null) {
- otherChildElementNode.elementNameText.setBackground(COLOR_LIGHT_RED);
- }
- }
- }
- if (duplicate) {
- errors.add(NLS.bind(Messages.CustomXmlParserInputWizardPage_elementDuplicateNameError, getName(child)));
- if (childElementNode != null) {
- childElementNode.elementNameText.setBackground(COLOR_LIGHT_RED);
- }
- }
- }
-
- errors.addAll(validateElement(child));
- }
- }
- return errors;
- }
-
- /**
- * Get the trace definition.
- *
- * @return The trace definition
- */
- public CustomXmlTraceDefinition getDefinition() {
- return definition;
- }
-
- /**
- * Get the raw text input.
- *
- * @return The raw text input.
- */
- public char[] getInputText() {
- return inputText.getText().toCharArray();
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/parsers/wizards/CustomXmlParserOutputWizardPage.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/parsers/wizards/CustomXmlParserOutputWizardPage.java
deleted file mode 100644
index d8784fcb5c..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/parsers/wizards/CustomXmlParserOutputWizardPage.java
+++ /dev/null
@@ -1,341 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010, 2014 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:
- * Patrick Tasse - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.internal.tmf.ui.parsers.wizards;
-
-import java.io.File;
-import java.io.FileWriter;
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.jface.wizard.WizardPage;
-import org.eclipse.linuxtools.internal.tmf.ui.Activator;
-import org.eclipse.linuxtools.internal.tmf.ui.Messages;
-import org.eclipse.linuxtools.internal.tmf.ui.parsers.custom.CustomEventTableColumns;
-import org.eclipse.linuxtools.tmf.core.exceptions.TmfTraceException;
-import org.eclipse.linuxtools.tmf.core.parsers.custom.CustomTraceDefinition;
-import org.eclipse.linuxtools.tmf.core.parsers.custom.CustomTraceDefinition.OutputColumn;
-import org.eclipse.linuxtools.tmf.core.parsers.custom.CustomXmlTrace;
-import org.eclipse.linuxtools.tmf.core.parsers.custom.CustomXmlTraceDefinition;
-import org.eclipse.linuxtools.tmf.core.timestamp.TmfTimeRange;
-import org.eclipse.linuxtools.tmf.core.trace.indexer.ITmfTraceIndexer;
-import org.eclipse.linuxtools.tmf.core.trace.indexer.checkpoint.TmfCheckpointIndexer;
-import org.eclipse.linuxtools.tmf.ui.viewers.events.TmfEventsTable;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.SashForm;
-import org.eclipse.swt.custom.ScrolledComposite;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Text;
-
-/**
- * Output wizard page for custom XML trace parsers.
- *
- * @author Patrick Tasse
- */
-public class CustomXmlParserOutputWizardPage extends WizardPage {
-
- private static final Image UP_IMAGE = Activator.getDefault().getImageFromPath("/icons/elcl16/up_button.gif"); //$NON-NLS-1$
- private static final Image DOWN_IMAGE = Activator.getDefault().getImageFromPath("/icons/elcl16/down_button.gif"); //$NON-NLS-1$
- private final CustomXmlParserWizard wizard;
- private CustomXmlTraceDefinition definition;
- private List<Output> outputs = new ArrayList<>();
- private Composite container;
- private SashForm sash;
- private ScrolledComposite outputsScrolledComposite;
- private Composite outputsContainer;
- private Composite tableContainer;
- private TmfEventsTable previewTable;
- private File tmpFile;
-
- /**
- * Constructor
- *
- * @param wizard
- * The wizard to which this page belongs
- */
- protected CustomXmlParserOutputWizardPage(final CustomXmlParserWizard wizard) {
- super("CustomParserOutputWizardPage"); //$NON-NLS-1$
- setTitle(wizard.inputPage.getTitle());
- setDescription(Messages.CustomXmlParserOutputWizardPage_description);
- this.wizard = wizard;
- setPageComplete(false);
- }
-
- @Override
- public void createControl(final Composite parent) {
- container = new Composite(parent, SWT.NULL);
- container.setLayout(new GridLayout());
-
- sash = new SashForm(container, SWT.VERTICAL);
- sash.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
- sash.setBackground(sash.getDisplay().getSystemColor(SWT.COLOR_GRAY));
-
- outputsScrolledComposite = new ScrolledComposite(sash, SWT.V_SCROLL);
- outputsScrolledComposite.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
- outputsContainer = new Composite(outputsScrolledComposite, SWT.NONE);
- final GridLayout outputsLayout = new GridLayout(4, false);
- outputsLayout.marginHeight = 10;
- outputsLayout.marginWidth = 0;
- outputsContainer.setLayout(outputsLayout);
- outputsScrolledComposite.setContent(outputsContainer);
- outputsScrolledComposite.setExpandHorizontal(true);
- outputsScrolledComposite.setExpandVertical(true);
-
- outputsContainer.layout();
-
- outputsScrolledComposite.setMinSize(outputsContainer.computeSize(SWT.DEFAULT, SWT.DEFAULT).x, outputsContainer.computeSize(SWT.DEFAULT, SWT.DEFAULT).y-5);
-
- tableContainer = new Composite(sash, SWT.NONE);
- final GridLayout tableLayout = new GridLayout();
- tableLayout.marginHeight = 0;
- tableLayout.marginWidth = 0;
- tableContainer.setLayout(tableLayout);
- previewTable = new TmfEventsTable(tableContainer, 0, CustomEventTableColumns.generateColumns(new CustomXmlTraceDefinition()));
- previewTable.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
-
- if (wizard.definition != null) {
- loadDefinition(wizard.definition);
- }
- setControl(container);
-
- }
-
- @Override
- public void dispose() {
- previewTable.dispose();
- super.dispose();
- }
-
- private void loadDefinition(final CustomTraceDefinition def) {
- for (final OutputColumn outputColumn : def.outputs) {
- final Output output = new Output(outputsContainer, outputColumn.name);
- outputs.add(output);
- }
- }
-
- @Override
- public void setVisible(final boolean visible) {
- if (visible) {
- this.definition = wizard.inputPage.getDefinition();
- final List<String> outputNames = wizard.inputPage.getInputNames();
-
- // dispose outputs that have been removed in the input page
- final Iterator<Output> iter = outputs.iterator();
- while (iter.hasNext()) {
- final Output output = iter.next();
- boolean found = false;
- for (final String name : outputNames) {
- if (output.name.equals(name)) {
- found = true;
- break;
- }
- }
- if (!found) {
- output.dispose();
- iter.remove();
- }
- }
-
- // create outputs that have been added in the input page
- for (final String name : outputNames) {
- boolean found = false;
- for (final Output output : outputs) {
- if (output.name.equals(name)) {
- found = true;
- break;
- }
- }
- if (!found) {
- outputs.add(new Output(outputsContainer, name));
- }
- }
-
- outputsContainer.layout();
- outputsScrolledComposite.setMinSize(outputsContainer.computeSize(SWT.DEFAULT, SWT.DEFAULT).x, outputsContainer.computeSize(SWT.DEFAULT, SWT.DEFAULT).y-5);
- updatePreviewTable();
- if (sash.getSize().y > outputsContainer.computeSize(SWT.DEFAULT, SWT.DEFAULT).y + previewTable.getTable().getItemHeight()) {
- sash.setWeights(new int[] {outputsContainer.computeSize(SWT.DEFAULT, SWT.DEFAULT).y, sash.getSize().y - outputsContainer.computeSize(SWT.DEFAULT, SWT.DEFAULT).y});
- } else {
- sash.setWeights(new int[] {outputsContainer.computeSize(SWT.DEFAULT, SWT.DEFAULT).y, previewTable.getTable().getItemHeight()});
- }
- setPageComplete(true);
- } else {
- setPageComplete(false);
- }
- super.setVisible(visible);
- }
-
- private void moveBefore(final Output moved) {
- final int i = outputs.indexOf(moved);
- if (i > 0) {
- final Output previous = outputs.get(i-1);
- moved.enabledButton.moveAbove(previous.enabledButton);
- moved.nameLabel.moveBelow(moved.enabledButton);
- moved.upButton.moveBelow(moved.nameLabel);
- moved.downButton.moveBelow(moved.upButton);
- outputs.add(i-1, outputs.remove(i));
- outputsContainer.layout();
- outputsScrolledComposite.setMinSize(outputsContainer.computeSize(SWT.DEFAULT, SWT.DEFAULT).x, outputsContainer.computeSize(SWT.DEFAULT, SWT.DEFAULT).y-5);
- container.layout();
- updatePreviewTable();
- }
- }
-
- private void moveAfter(final Output moved) {
- final int i = outputs.indexOf(moved);
- if (i+1 < outputs.size()) {
- final Output next = outputs.get(i+1);
- moved.enabledButton.moveBelow(next.downButton);
- moved.nameLabel.moveBelow(moved.enabledButton);
- moved.upButton.moveBelow(moved.nameLabel);
- moved.downButton.moveBelow(moved.upButton);
- outputs.add(i+1, outputs.remove(i));
- outputsContainer.layout();
- outputsScrolledComposite.setMinSize(outputsContainer.computeSize(SWT.DEFAULT, SWT.DEFAULT).x, outputsContainer.computeSize(SWT.DEFAULT, SWT.DEFAULT).y-5);
- container.layout();
- updatePreviewTable();
- }
- }
-
- private void updatePreviewTable() {
- final int CACHE_SIZE = 50;
- definition.outputs = extractOutputs();
- tmpFile = Activator.getDefault().getStateLocation().addTrailingSeparator().append("customwizard.tmp").toFile(); //$NON-NLS-1$
-
- try (final FileWriter writer = new FileWriter(tmpFile);) {
- writer.write(wizard.inputPage.getInputText());
- } catch (final IOException e) {
- Activator.getDefault().logError("Error creating CustomXmlTrace. File:" + tmpFile.getAbsolutePath(), e); //$NON-NLS-1$
- }
-
- try {
- final CustomXmlTrace trace = new CustomXmlTrace(null, definition, tmpFile.getAbsolutePath(), CACHE_SIZE) {
- @Override
- protected ITmfTraceIndexer createIndexer(int interval) {
- return new TmfCheckpointIndexer(this, interval);
- }
- };
- trace.getIndexer().buildIndex(0, TmfTimeRange.ETERNITY, false);
- previewTable.dispose();
- previewTable = new TmfEventsTable(tableContainer, CACHE_SIZE, CustomEventTableColumns.generateColumns(definition));
- previewTable.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
- previewTable.setTrace(trace, true);
- } catch (final TmfTraceException e) {
- Activator.getDefault().logError("Error creating CustomXmlTrace. File:" + tmpFile.getAbsolutePath(), e); //$NON-NLS-1$
- }
-
- tableContainer.layout();
- container.layout();
- }
-
- /**
- * Extract the output columns from the page's current contents.
- *
- * @return The list of output columns
- */
- public List<OutputColumn> extractOutputs() {
- int numColumns = 0;
- for (int i = 0; i < outputs.size(); i++) {
- if (outputs.get(i).enabledButton.getSelection()) {
- numColumns++;
- }
- }
- final List<OutputColumn> outputColumns = new ArrayList<>(numColumns);
- numColumns = 0;
- for (int i = 0; i < outputs.size(); i++) {
- final Output output = outputs.get(i);
- if (output.enabledButton.getSelection()) {
- final OutputColumn column = new OutputColumn();
- column.name = output.nameLabel.getText();
- outputColumns.add(column);
- }
- }
- return outputColumns;
- }
-
- private class Output {
- String name;
- Button enabledButton;
- Text nameLabel;
- Button upButton;
- Button downButton;
-
- public Output(final Composite parent, final String name) {
- this.name = name;
-
- enabledButton = new Button(parent, SWT.CHECK);
- enabledButton.setToolTipText(Messages.CustomXmlParserOutputWizardPage_visible);
- enabledButton.setSelection(true);
- enabledButton.addSelectionListener(new SelectionAdapter() {
- @Override
- public void widgetSelected(final SelectionEvent e) {
- updatePreviewTable();
- }
- });
- // if (messageOutput != null) {
- // enabledButton.moveAbove(messageOutput.enabledButton);
- // }
-
- nameLabel = new Text(parent, SWT.BORDER | SWT.READ_ONLY | SWT.SINGLE);
- nameLabel.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, false, false));
- nameLabel.setText(name);
- nameLabel.moveBelow(enabledButton);
-
- upButton = new Button(parent, SWT.PUSH);
- upButton.setImage(UP_IMAGE);
- upButton.setToolTipText(Messages.CustomXmlParserOutputWizardPage_moveBefore);
- upButton.addSelectionListener(new SelectionAdapter() {
- @Override
- public void widgetSelected(final SelectionEvent e) {
- moveBefore(Output.this);
- }
- });
- upButton.moveBelow(nameLabel);
-
- downButton = new Button(parent, SWT.PUSH);
- downButton.setImage(DOWN_IMAGE);
- downButton.setToolTipText(Messages.CustomXmlParserOutputWizardPage_moveAfter);
- downButton.addSelectionListener(new SelectionAdapter() {
- @Override
- public void widgetSelected(final SelectionEvent e) {
- moveAfter(Output.this);
- }
- });
- downButton.moveBelow(upButton);
- }
-
- private void dispose() {
- enabledButton.dispose();
- nameLabel.dispose();
- upButton.dispose();
- downButton.dispose();
- }
- }
-
- /**
- * Get the trace definition.
- *
- * @return The trace definition
- */
- public CustomXmlTraceDefinition getDefinition() {
- return definition;
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/parsers/wizards/CustomXmlParserWizard.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/parsers/wizards/CustomXmlParserWizard.java
deleted file mode 100644
index 5da5f43bdc..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/parsers/wizards/CustomXmlParserWizard.java
+++ /dev/null
@@ -1,86 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010, 2014 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:
- * Patrick Tasse - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.internal.tmf.ui.parsers.wizards;
-
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.wizard.Wizard;
-import org.eclipse.linuxtools.tmf.core.parsers.custom.CustomXmlTraceDefinition;
-import org.eclipse.ui.INewWizard;
-import org.eclipse.ui.IWorkbench;
-
-/**
- * Wizard for custom XML trace parsers.
- *
- * @author Patrick Tasse
- */
-public class CustomXmlParserWizard extends Wizard implements INewWizard {
-
- CustomXmlParserInputWizardPage inputPage;
- CustomXmlParserOutputWizardPage outputPage;
- private ISelection selection;
- CustomXmlTraceDefinition definition;
- String initialCategoryName;
- String initialDefinitionName;
-
- /**
- * Default constructor
- */
- public CustomXmlParserWizard() {
- super();
- }
-
- /**
- * Constructor
- *
- * @param definition
- * The trace definition
- */
- public CustomXmlParserWizard(CustomXmlTraceDefinition definition) {
- super();
- this.definition = definition;
- if (definition != null) {
- initialCategoryName = definition.categoryName;
- initialDefinitionName = definition.definitionName;
- }
- }
-
- @Override
- public boolean performFinish() {
- CustomXmlTraceDefinition def = outputPage.getDefinition();
- if (definition != null && (!initialCategoryName.equals(def.categoryName) ||
- !initialDefinitionName.equals(def.definitionName))) {
- CustomXmlTraceDefinition.delete(initialCategoryName, initialDefinitionName);
- }
- def.save();
- return true;
- }
-
- /**
- * Adding the page to the wizard.
- */
-
- @Override
- public void addPages() {
- inputPage = new CustomXmlParserInputWizardPage(selection, definition);
- addPage(inputPage);
- outputPage = new CustomXmlParserOutputWizardPage(this);
- addPage(outputPage);
- }
-
- @Override
- public void init(IWorkbench workbench, IStructuredSelection sel) {
- this.selection = sel;
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/preferences/TmfTracingPreferencePage.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/preferences/TmfTracingPreferencePage.java
deleted file mode 100644
index bc6618c0de..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/preferences/TmfTracingPreferencePage.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011, 2013 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:
- * Bernd Hufmann - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.linuxtools.internal.tmf.ui.preferences;
-
-import org.eclipse.jface.preference.PreferencePage;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.IWorkbenchPreferencePage;
-
-/**
- * Top Level Preference Page for Tracing.
- *
- * @version 1.0
- * @author Bernd Hufmann
- */
-public class TmfTracingPreferencePage extends PreferencePage implements IWorkbenchPreferencePage {
-
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
-
- // ------------------------------------------------------------------------
- // Constructors
- // ------------------------------------------------------------------------
-
- // ------------------------------------------------------------------------
- // Operations
- // ------------------------------------------------------------------------
-
- @Override
- protected Control createContents(Composite parent) {
- Composite composite = new Composite(parent, SWT.NONE);
- // No content yet!
- return composite;
- }
-
- @Override
- public void init(IWorkbench workbench) {
- // Nothing to do yet!
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/dialogs/Messages.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/dialogs/Messages.java
deleted file mode 100644
index ab451ab7b3..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/dialogs/Messages.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011, 2013 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
- * Marc-Andre Laperle - Add select/deselect all
- *******************************************************************************/
-
-package org.eclipse.linuxtools.internal.tmf.ui.project.dialogs;
-
-import org.eclipse.osgi.util.NLS;
-
-/**
- * Message bundle for dialog messages.
- */
-@SuppressWarnings("javadoc")
-public class Messages extends NLS {
-
- private static final String BUNDLE_NAME = "org.eclipse.linuxtools.internal.tmf.ui.project.dialogs.messages"; //$NON-NLS-1$
-
- public static String SelectSpplementaryResources_DialogTitle;
- public static String SelectSpplementaryResources_ResourcesGroupTitle;
- public static String Dialog_SelectAll;
- public static String Dialog_DeselectAll;
-
- static {
- // initialize resource bundle
- NLS.initializeMessages(BUNDLE_NAME, Messages.class);
- }
-
- private Messages() {
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/dialogs/SelectSupplementaryResourcesDialog.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/dialogs/SelectSupplementaryResourcesDialog.java
deleted file mode 100644
index e86d836071..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/dialogs/SelectSupplementaryResourcesDialog.java
+++ /dev/null
@@ -1,324 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009, 2014 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 - Copied and adapted from NewFolderDialog
- * Marc-Andre Laperle - Add select/deselect all
- * Patrick Tasse - Add support for folder elements
- *******************************************************************************/
-
-package org.eclipse.linuxtools.internal.tmf.ui.project.dialogs;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.List;
-import java.util.Map.Entry;
-
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jface.viewers.CheckStateChangedEvent;
-import org.eclipse.jface.viewers.CheckboxTreeViewer;
-import org.eclipse.jface.viewers.ICheckStateListener;
-import org.eclipse.jface.viewers.ISelectionChangedListener;
-import org.eclipse.jface.viewers.ITreeContentProvider;
-import org.eclipse.jface.viewers.LabelProvider;
-import org.eclipse.jface.viewers.SelectionChangedEvent;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.linuxtools.internal.tmf.ui.Activator;
-import org.eclipse.linuxtools.tmf.ui.project.model.TmfCommonProjectElement;
-import org.eclipse.linuxtools.tmf.ui.project.model.TmfExperimentElement;
-import org.eclipse.linuxtools.tmf.ui.project.model.TmfTraceElement;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.layout.FillLayout;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Group;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Tree;
-import org.eclipse.ui.ISharedImages;
-import org.eclipse.ui.PlatformUI;
-
-import com.google.common.collect.Multimap;
-
-/**
- * SelectSupplementaryResourcesDialog
- */
-public class SelectSupplementaryResourcesDialog extends Dialog {
-
- // ------------------------------------------------------------------------
- // Constants
- // ------------------------------------------------------------------------
- private static final Image EXPERIMENT_IMAGE = Activator.getDefault().getImageFromPath("icons/elcl16/experiment.gif"); //$NON-NLS-1$
- private static final Image TRACE_IMAGE = Activator.getDefault().getImageFromPath("icons/elcl16/trace.gif"); //$NON-NLS-1$
- private static final Image RESOURCE_IMAGE = PlatformUI.getWorkbench().getSharedImages().getImage(ISharedImages.IMG_OBJ_FILE);
-
- // ------------------------------------------------------------------------
- // Members
- // ------------------------------------------------------------------------
- private CheckboxTreeViewer fTreeViewer;
- private final Multimap<TmfCommonProjectElement, IResource> fResourceMap;
- private IResource[] fReturnedResources;
-
- // ------------------------------------------------------------------------
- // Constructor
- // ------------------------------------------------------------------------
-
- /**
- * Constructor.
- *
- * @param shell
- * Parent shell of this dialog
- * @param resourceMap
- * Map of element to supplementary resources
- */
- public SelectSupplementaryResourcesDialog(Shell shell, Multimap<TmfCommonProjectElement, IResource> resourceMap) {
- super(shell);
- fResourceMap = resourceMap;
- setShellStyle(SWT.RESIZE | getShellStyle());
- }
-
- // ------------------------------------------------------------------------
- // Getters/Setters
- // ------------------------------------------------------------------------
-
- /**
- * @return A copy of the selected resources
- */
- public IResource[] getResources() {
- return Arrays.copyOf(fReturnedResources, fReturnedResources.length);
- }
-
- // ------------------------------------------------------------------------
- // Dialog
- // ------------------------------------------------------------------------
-
- @Override
- protected void configureShell(Shell newShell) {
- super.configureShell(newShell);
- newShell.setText(Messages.SelectSpplementaryResources_DialogTitle);
- newShell.setImage(PlatformUI.getWorkbench().getSharedImages().getImage(ISharedImages.IMG_ETOOL_DELETE));
- }
-
- @Override
- protected Control createDialogArea(Composite parent) {
- Composite composite = (Composite) super.createDialogArea(parent);
- composite.setLayout(new GridLayout());
- composite.setLayoutData(new GridData(GridData.FILL_BOTH));
-
- Group contextGroup = new Group(composite, SWT.SHADOW_NONE);
- contextGroup.setText(Messages.SelectSpplementaryResources_ResourcesGroupTitle);
- contextGroup.setLayout(new GridLayout(2, false));
- contextGroup.setLayoutData(new GridData(GridData.FILL_BOTH));
-
- fTreeViewer = new CheckboxTreeViewer(contextGroup, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL);
- GridData data = new GridData(GridData.FILL_BOTH);
- Tree tree = fTreeViewer.getTree();
- tree.setLayoutData(data);
- fTreeViewer.setContentProvider(new ITreeContentProvider() {
-
- @Override
- public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
- }
-
- @Override
- public void dispose() {
- }
-
- @Override
- public boolean hasChildren(Object element) {
- return element instanceof TmfCommonProjectElement;
- }
-
- @Override
- public Object getParent(Object element) {
- if (element instanceof IResource) {
- getParentElement((IResource) element);
- }
- return null;
- }
-
- @Override
- public Object[] getElements(Object inputElement) {
- if (inputElement instanceof Object[]) {
- return (Object[]) inputElement;
- }
- return null;
- }
-
- @Override
- public Object[] getChildren(Object parentElement) {
- if (parentElement instanceof TmfCommonProjectElement) {
- return fResourceMap.get((TmfCommonProjectElement) parentElement).toArray();
- }
- return null;
- }
- });
-
- fTreeViewer.setLabelProvider(new LabelProvider() {
- @Override
- public String getText(Object element) {
- if (element instanceof IResource) {
- IResource resource = (IResource) element;
- TmfCommonProjectElement projectElement = getParentElement(resource);
- // remove .tracing/<supplementary folder> segments
- IPath suppFolderPath = projectElement.getTraceSupplementaryFolder(projectElement.getElementPath()).getFullPath();
- return resource.getFullPath().removeFirstSegments(suppFolderPath.segmentCount()).toString();
- } else if (element instanceof TmfCommonProjectElement) {
- TmfCommonProjectElement projectElement = (TmfCommonProjectElement) element;
- return projectElement.getElementPath();
- }
- return super.getText(element);
- }
-
- @Override
- public Image getImage(Object element) {
- if (element instanceof IResource) {
- return RESOURCE_IMAGE;
- } else if (element instanceof TmfTraceElement) {
- return TRACE_IMAGE;
- } else if (element instanceof TmfExperimentElement) {
- return EXPERIMENT_IMAGE;
- }
- return null;
- }
-
- });
-
- fTreeViewer.setInput(fResourceMap.keySet().toArray());
-
- fTreeViewer.expandAll();
- setAllChecked(true);
-
- fTreeViewer.addCheckStateListener(new ICheckStateListener() {
- @Override
- public void checkStateChanged(CheckStateChangedEvent event) {
- if (event.getElement() instanceof TmfCommonProjectElement) {
- fTreeViewer.setSubtreeChecked(event.getElement(), event.getChecked());
- fTreeViewer.setGrayed(event.getElement(), false);
- } else if (event.getElement() instanceof IResource) {
- TmfCommonProjectElement projectElement = getParentElement((IResource) event.getElement());
- int checkedCount = 0;
- Collection<IResource> resources = fResourceMap.get(projectElement);
- for (IResource resource : resources) {
- if (fTreeViewer.getChecked(resource)) {
- checkedCount++;
- }
- }
- if (checkedCount == resources.size()) {
- fTreeViewer.setChecked(projectElement, true);
- fTreeViewer.setGrayed(projectElement, false);
- } else if (checkedCount > 0) {
- fTreeViewer.setGrayChecked(projectElement, true);
- } else {
- fTreeViewer.setGrayChecked(projectElement, false);
- }
- }
- }
- });
-
- fTreeViewer.addSelectionChangedListener(new ISelectionChangedListener() {
- @Override
- public void selectionChanged(SelectionChangedEvent event) {
- updateOKButtonEnablement();
- }
- });
-
- Composite btComp = new Composite(contextGroup, SWT.NONE);
- FillLayout layout = new FillLayout(SWT.VERTICAL);
- layout.spacing = 4;
- btComp.setLayout(layout);
-
- GridData gd = new GridData();
- gd.verticalAlignment = SWT.CENTER;
- btComp.setLayoutData(gd);
-
- final Button selectAll = new Button(btComp, SWT.PUSH);
- selectAll.setText(Messages.Dialog_SelectAll);
- selectAll.addSelectionListener(new SelectionAdapter() {
- @Override
- public void widgetSelected(SelectionEvent e) {
- setAllChecked(true);
-
- updateOKButtonEnablement();
- }
- });
-
- final Button deselectAll = new Button(btComp, SWT.PUSH);
- deselectAll.setText(Messages.Dialog_DeselectAll);
- deselectAll.addSelectionListener(new SelectionAdapter() {
- @Override
- public void widgetSelected(SelectionEvent e) {
- setAllChecked(false);
-
- updateOKButtonEnablement();
- }
- });
-
- getShell().setMinimumSize(new Point(300, 150));
-
- return composite;
- }
-
- private TmfCommonProjectElement getParentElement(IResource resource) {
- for (Entry<TmfCommonProjectElement, IResource> entry : fResourceMap.entries()) {
- if (entry.getValue().equals(resource)) {
- return entry.getKey();
- }
- }
- return null;
- }
-
- private void setAllChecked(boolean state) {
- for (Object element : fResourceMap.keySet()) {
- fTreeViewer.setSubtreeChecked(element, state);
- fTreeViewer.setGrayed(element, false);
- }
- }
-
- private void updateOKButtonEnablement() {
- Object[] checked = fTreeViewer.getCheckedElements();
- getButton(IDialogConstants.OK_ID).setEnabled(checked.length > 0);
- }
-
- @Override
- protected Control createButtonBar(Composite parent) {
- Control control = super.createButtonBar(parent);
- updateOKButtonEnablement();
- return control;
- }
-
- @Override
- protected void createButtonsForButtonBar(Composite parent) {
- createButton(parent, IDialogConstants.CANCEL_ID, IDialogConstants.CANCEL_LABEL, true);
- createButton(parent, IDialogConstants.OK_ID, IDialogConstants.OK_LABEL, true);
- }
-
- @Override
- protected void okPressed() {
- Object[] checkedElements = fTreeViewer.getCheckedElements();
- List<IResource> checkedResources = new ArrayList<>(checkedElements.length);
- for (Object checked : checkedElements) {
- if (checked instanceof IResource) {
- checkedResources.add((IResource) checked);
- }
- }
- fReturnedResources = checkedResources.toArray(new IResource[0]);
- super.okPressed();
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/dialogs/messages.properties b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/dialogs/messages.properties
deleted file mode 100644
index 476306e1fd..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/dialogs/messages.properties
+++ /dev/null
@@ -1,16 +0,0 @@
-###############################################################################
-# Copyright (c) 2012, 2013 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:
-# Bernd Hufmann - initial API and implementation
-# Marc-Andre Laperle - Add select/deselect all
-###############################################################################
-SelectSpplementaryResources_DialogTitle=Delete Resources
-SelectSpplementaryResources_ResourcesGroupTitle=Select resources to delete
-Dialog_SelectAll=Select All
-Dialog_DeselectAll=Deselect All \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/dialogs/offset/Messages.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/dialogs/offset/Messages.java
deleted file mode 100644
index f545096a63..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/dialogs/offset/Messages.java
+++ /dev/null
@@ -1,67 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 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:
- * Matthew Khouzam - Initial API and implementation
- * Patrick Tasse - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.internal.tmf.ui.project.dialogs.offset;
-
-import org.eclipse.osgi.util.NLS;
-
-/**
- * Messages for the offset dialog
- */
-public class Messages extends NLS {
- private static final String BUNDLE_NAME = "org.eclipse.linuxtools.internal.tmf.ui.project.dialogs.offset.messages"; //$NON-NLS-1$
-
- /**
- * Advanced mode button
- */
- public static String OffsetDialog_AdvancedButton;
- /**
- * Advanced mode dialog message
- */
- public static String OffsetDialog_AdvancedMessage;
- /**
- * Basic mode button
- */
- public static String OffsetDialog_BasicButton;
- /**
- * Basic mode dialog message
- */
- public static String OffsetDialog_BasicMessage;
- /**
- * Offset time
- */
- public static String OffsetDialog_OffsetTime;
- /**
- * Reference time
- */
- public static String OffsetDialog_ReferenceTime;
- /**
- * Target time
- */
- public static String OffsetDialog_TargetTime;
- /**
- * Dialog title
- */
- public static String OffsetDialog_Title;
- /**
- * Trace name
- */
- public static String OffsetDialog_TraceName;
- static {
- // initialize resource bundle
- NLS.initializeMessages(BUNDLE_NAME, Messages.class);
- }
-
- private Messages() {
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/dialogs/offset/OffsetDialog.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/dialogs/offset/OffsetDialog.java
deleted file mode 100644
index c13dd240ca..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/dialogs/offset/OffsetDialog.java
+++ /dev/null
@@ -1,578 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 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:
- * Matthew Khouzam - Initial API and implementation
- * Patrick Tasse - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.internal.tmf.ui.project.dialogs.offset;
-
-import java.text.ParseException;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.Comparator;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.viewers.CellEditor;
-import org.eclipse.jface.viewers.ColumnLabelProvider;
-import org.eclipse.jface.viewers.ColumnViewer;
-import org.eclipse.jface.viewers.ColumnViewerEditor;
-import org.eclipse.jface.viewers.ColumnViewerEditorActivationStrategy;
-import org.eclipse.jface.viewers.EditingSupport;
-import org.eclipse.jface.viewers.FocusCellOwnerDrawHighlighter;
-import org.eclipse.jface.viewers.TextCellEditor;
-import org.eclipse.jface.viewers.TreeViewerColumn;
-import org.eclipse.jface.viewers.TreeViewerEditor;
-import org.eclipse.jface.viewers.TreeViewerFocusCellManager;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.linuxtools.tmf.core.signal.TmfEventSelectedSignal;
-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.signal.TmfTraceOpenedSignal;
-import org.eclipse.linuxtools.tmf.core.timestamp.ITmfTimestamp;
-import org.eclipse.linuxtools.tmf.core.timestamp.TmfNanoTimestamp;
-import org.eclipse.linuxtools.tmf.core.timestamp.TmfTimestampFormat;
-import org.eclipse.linuxtools.tmf.core.trace.ITmfTrace;
-import org.eclipse.linuxtools.tmf.core.trace.TmfTraceManager;
-import org.eclipse.linuxtools.tmf.ui.project.model.TmfOpenTraceHelper;
-import org.eclipse.linuxtools.tmf.ui.project.model.TmfTraceElement;
-import org.eclipse.linuxtools.tmf.ui.viewers.ArrayTreeContentProvider;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.TreeEditor;
-import org.eclipse.swt.events.DisposeEvent;
-import org.eclipse.swt.events.DisposeListener;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.layout.RowLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Group;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Tree;
-import org.eclipse.swt.widgets.TreeColumn;
-import org.eclipse.swt.widgets.TreeItem;
-import org.eclipse.ui.dialogs.FilteredTree;
-import org.eclipse.ui.dialogs.PatternFilter;
-
-/**
- * Offset wizard dialog
- *
- * @author Matthew Khouzam
- *
- */
-public class OffsetDialog extends Dialog {
-
- private static final int TREE_EDITOR_MIN_WIDTH = 50;
- private static final String EDITOR_KEY = "$editor$"; //$NON-NLS-1$
- private static final String WIDTH_KEY = "$width$"; //$NON-NLS-1$
-
- private static final TmfTimestampFormat TIME_FORMAT = new TmfTimestampFormat("yyyy-MM-dd HH:mm:ss.SSS SSS SSS"); //$NON-NLS-1$
- private static final TmfTimestampFormat OFFSET_FORMAT = new TmfTimestampFormat("T.SSS SSS SSS"); //$NON-NLS-1$
-
- private final Map<TmfTraceElement, Long> fOffsetMap;
- private final Map<TmfTraceElement, ITmfTimestamp> fRefTimeMap;
- private final Map<TmfTraceElement, ITmfTimestamp> fTargetTimeMap;
-
- private Label fBasicMessageLabel;
- private Group fButtonGroup;
- private Label fAdvancedMessageLabel;
- private FilteredTree fViewer;
-
- private boolean fAdvancedMode = true;
- private TreeViewerColumn fButtonViewerColumn;
- private TreeColumn fRefTimeColumn;
- private TreeColumn fTargetTimeColumn;
-
- private abstract class ColumnEditingSupport extends EditingSupport {
- private final TextCellEditor textCellEditor;
-
- private ColumnEditingSupport(ColumnViewer viewer, TextCellEditor textCellEditor) {
- super(viewer);
- this.textCellEditor = textCellEditor;
- }
-
- @Override
- protected CellEditor getCellEditor(Object element) {
- return textCellEditor;
- }
-
- @Override
- protected boolean canEdit(Object element) {
- return true;
- }
- }
-
- private class TimeEditingSupport extends ColumnEditingSupport {
- private Map<TmfTraceElement, ITmfTimestamp> map;
-
- private TimeEditingSupport(ColumnViewer viewer, TextCellEditor textCellEditor, Map<TmfTraceElement, ITmfTimestamp> map) {
- super(viewer, textCellEditor);
- this.map = map;
- }
-
- @Override
- protected void setValue(Object element, Object value) {
- if (value instanceof String) {
- String string = (String) value;
- if (string.trim().isEmpty()) {
- map.remove(element);
- } else {
- try {
- ITmfTimestamp refTime = map.get(element);
- long ref = refTime == null ? 0 : refTime.normalize(0, ITmfTimestamp.NANOSECOND_SCALE).getValue();
- Long newVal = TIME_FORMAT.parseValue(string, ref);
- map.put((TmfTraceElement) element, new TmfNanoTimestamp(newVal));
- } catch (ParseException e) {
- /* Ignore and reload previous value */
- }
- }
- fViewer.getViewer().update(element, null);
- }
- }
-
- @Override
- protected Object getValue(Object element) {
- if (map.get(element) == null) {
- return ""; //$NON-NLS-1$
- }
- return TIME_FORMAT.format(map.get(element).normalize(0, ITmfTimestamp.NANOSECOND_SCALE).getValue());
- }
- }
-
- private class RefTimeEditingSupport extends TimeEditingSupport {
- private RefTimeEditingSupport(ColumnViewer viewer, TextCellEditor textCellEditor) {
- super(viewer, textCellEditor, fRefTimeMap);
- }
- }
-
- private class TargetTimeEditingSupport extends TimeEditingSupport {
- private TargetTimeEditingSupport(ColumnViewer viewer, TextCellEditor textCellEditor) {
- super(viewer, textCellEditor, fTargetTimeMap);
- }
- }
-
- private class OffsetEditingSupport extends ColumnEditingSupport {
- private OffsetEditingSupport(ColumnViewer viewer, TextCellEditor textCellEditor) {
- super(viewer, textCellEditor);
- }
-
- @Override
- protected void setValue(Object element, Object value) {
- if (value instanceof String) {
- String string = (String) value;
- if (string.trim().isEmpty()) {
- fOffsetMap.put((TmfTraceElement) element, 0L);
- } else {
- try {
- Long newVal = OFFSET_FORMAT.parseValue(string);
- fOffsetMap.put((TmfTraceElement) element, newVal);
- } catch (ParseException e) {
- /* Ignore and reload previous value */
- }
- }
- fViewer.getViewer().update(element, null);
- }
- }
-
- @Override
- protected Object getValue(Object element) {
- if (fOffsetMap.get(element) == 0) {
- return ""; //$NON-NLS-1$
- }
- return OFFSET_FORMAT.format((long) fOffsetMap.get(element));
- }
- }
-
- /**
- * Constructor
- *
- * @param parent
- * parent shell
- * @param results
- * results to put the data into
- */
- public OffsetDialog(Shell parent, Map<TmfTraceElement, Long> results) {
- super(parent);
- setShellStyle(getShellStyle() & ~SWT.APPLICATION_MODAL);
- fOffsetMap = results;
- fRefTimeMap = new HashMap<>();
- fTargetTimeMap = new HashMap<>();
- }
-
- @Override
- protected boolean isResizable() {
- return true;
- }
-
- @Override
- protected Control createDialogArea(Composite parent) {
- getShell().setText(Messages.OffsetDialog_Title);
- Composite area = (Composite) super.createDialogArea(parent);
- Composite composite = new Composite(area, SWT.NONE);
- composite.setLayoutData(new GridData(GridData.FILL_BOTH));
- GridLayout gl = new GridLayout();
- gl.marginHeight = 0;
- gl.marginWidth = 0;
- composite.setLayout(new GridLayout());
- createBasicMessage(composite);
- createButtonGroup(composite);
- createAdvancedMessage(composite);
- createViewer(composite);
-
- /* set label width hint equal to tree width */
- int widthHint = fViewer.getViewer().getTree().computeSize(SWT.DEFAULT, SWT.DEFAULT).x;
- GridData gd = (GridData) fBasicMessageLabel.getLayoutData();
- gd.widthHint = widthHint;
- gd = (GridData) fAdvancedMessageLabel.getLayoutData();
- gd.widthHint = widthHint;
- gd = (GridData) composite.getLayoutData();
- gd.heightHint = composite.computeSize(widthHint, SWT.DEFAULT).y;
- setBasicMode();
-
- TmfSignalManager.register(this);
- composite.addDisposeListener(new DisposeListener() {
- @Override
- public void widgetDisposed(DisposeEvent e) {
- TmfSignalManager.deregister(this);
- }
- });
- return area;
- }
-
- private void createBasicMessage(final Composite parent) {
- fBasicMessageLabel = new Label(parent, SWT.WRAP);
- fBasicMessageLabel.setText(Messages.OffsetDialog_BasicMessage);
- GridData gd = new GridData(SWT.FILL, SWT.CENTER, true, false);
- gd.widthHint = 0;
- gd.heightHint = SWT.DEFAULT;
- fBasicMessageLabel.setLayoutData(gd);
- }
-
- private void createButtonGroup(final Composite parent) {
- fButtonGroup = new Group(parent, SWT.SHADOW_NONE);
- fButtonGroup.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, false, false));
- fButtonGroup.setLayout(new RowLayout(SWT.HORIZONTAL));
-
- final Button basicButton = new Button(fButtonGroup, SWT.RADIO);
- basicButton.setText(Messages.OffsetDialog_BasicButton);
- basicButton.addSelectionListener(new SelectionAdapter() {
- @Override
- public void widgetSelected(SelectionEvent e) {
- if (!basicButton.getSelection() || !fAdvancedMode) {
- return;
- }
- setBasicMode();
- parent.layout();
- }
- });
- basicButton.setSelection(true);
-
- final Button advancedButton = new Button(fButtonGroup, SWT.RADIO);
- advancedButton.setText(Messages.OffsetDialog_AdvancedButton);
- advancedButton.addSelectionListener(new SelectionAdapter() {
- @Override
- public void widgetSelected(SelectionEvent e) {
- if (!advancedButton.getSelection() || fAdvancedMode) {
- return;
- }
- setAdvancedMode();
- parent.layout();
- }
- });
- }
-
- private void createAdvancedMessage(final Composite parent) {
- fAdvancedMessageLabel = new Label(parent, SWT.WRAP);
- fAdvancedMessageLabel.setText(Messages.OffsetDialog_AdvancedMessage);
- GridData gd = new GridData(SWT.FILL, SWT.CENTER, true, false);
- gd.widthHint = 0;
- gd.heightHint = SWT.DEFAULT;
- fAdvancedMessageLabel.setLayoutData(gd);
- }
-
- private void createViewer(Composite parent) {
-
- // Define the TableViewer
- fViewer = new FilteredTree(parent, SWT.MULTI | SWT.H_SCROLL
- | SWT.V_SCROLL | SWT.FULL_SELECTION | SWT.BORDER, new PatternFilter() {
- @Override
- protected boolean isLeafMatch(Viewer viewer, Object element) {
- return wordMatches(((TmfTraceElement) element).getElementPath());
- }
- }, true);
-
- // Make lines and make header visible
- final Tree tree = fViewer.getViewer().getTree();
- tree.setHeaderVisible(true);
- tree.setLinesVisible(true);
-
- TreeViewerFocusCellManager focusCellManager = new TreeViewerFocusCellManager(fViewer.getViewer(), new FocusCellOwnerDrawHighlighter(fViewer.getViewer()));
- ColumnViewerEditorActivationStrategy actSupport = new ColumnViewerEditorActivationStrategy(fViewer.getViewer());
- TreeViewerEditor.create(fViewer.getViewer(), focusCellManager, actSupport, ColumnViewerEditor.TABBING_HORIZONTAL
- | ColumnViewerEditor.TABBING_MOVE_TO_ROW_NEIGHBOR
- | ColumnViewerEditor.TABBING_VERTICAL | ColumnViewerEditor.KEYBOARD_ACTIVATION);
-
- final TextCellEditor textCellEditor = new TextCellEditor(fViewer.getViewer().getTree(), SWT.RIGHT);
-
- fViewer.getViewer().setColumnProperties(new String[] { Messages.OffsetDialog_TraceName, Messages.OffsetDialog_ReferenceTime, Messages.OffsetDialog_OffsetTime });
-
- TreeViewerColumn column = createTreeViewerColumn(Messages.OffsetDialog_TraceName, SWT.NONE);
- column.setLabelProvider(new ColumnLabelProvider() {
- @Override
- public String getText(Object element) {
- return ((TmfTraceElement) element).getElementPath();
- }
- });
-
- column = createTreeViewerColumn(Messages.OffsetDialog_OffsetTime, SWT.RIGHT);
- column.setLabelProvider(new ColumnLabelProvider() {
- @Override
- public String getText(Object element) {
- if (fOffsetMap.get(element) != 0) {
- return super.getText(OFFSET_FORMAT.format((long) fOffsetMap.get(element)));
- }
- return ""; //$NON-NLS-1$
- }
- });
- column.setEditingSupport(new OffsetEditingSupport(fViewer.getViewer(), textCellEditor));
-
- column = createTreeViewerColumn("", SWT.NONE); //$NON-NLS-1$
- column.setLabelProvider(new ColumnLabelProvider() {
- @Override
- public String getText(Object element) {
- return ""; //$NON-NLS-1$
- }
- });
- column.getColumn().setWidth(TREE_EDITOR_MIN_WIDTH);
- column.getColumn().setResizable(false);
- fButtonViewerColumn = column;
-
- column = createTreeViewerColumn(Messages.OffsetDialog_ReferenceTime, SWT.RIGHT);
- column.setLabelProvider(new ColumnLabelProvider() {
- @Override
- public String getText(Object element) {
- return super.getText(fRefTimeMap.get(element));
- }
- });
- column.setEditingSupport(new RefTimeEditingSupport(fViewer.getViewer(), textCellEditor));
- fRefTimeColumn = column.getColumn();
-
- column = createTreeViewerColumn(Messages.OffsetDialog_TargetTime, SWT.RIGHT);
- column.setLabelProvider(new ColumnLabelProvider() {
- @Override
- public String getText(Object element) {
- return super.getText(fTargetTimeMap.get(element));
- }
- });
- column.setEditingSupport(new TargetTimeEditingSupport(fViewer.getViewer(), textCellEditor));
- fTargetTimeColumn = column.getColumn();
-
- List<TmfTraceElement> traces = new ArrayList<>(fOffsetMap.keySet());
- Collections.sort(traces, new Comparator<TmfTraceElement>() {
- @Override
- public int compare(TmfTraceElement o1, TmfTraceElement o2) {
- IPath folder1 = new Path(o1.getElementPath()).removeLastSegments(1);
- IPath folder2 = new Path(o2.getElementPath()).removeLastSegments(1);
- if (folder1.equals(folder2)) {
- return o1.getName().compareToIgnoreCase(o2.getName());
- }
- if (folder1.isPrefixOf(folder2)) {
- return 1;
- } else if (folder2.isPrefixOf(folder1)) {
- return -1;
- }
- return folder1.toString().compareToIgnoreCase(folder2.toString());
- }
- });
-
- fViewer.getViewer().setContentProvider(new ArrayTreeContentProvider());
- fViewer.getViewer().setInput(traces);
-
- /* add button as tree editors to fourth column of every item */
- for (TreeItem treeItem : tree.getItems()) {
- TreeEditor treeEditor = new TreeEditor(tree);
- Button applyButton = new Button(tree, SWT.PUSH);
- applyButton.setText("<<"); //$NON-NLS-1$
- applyButton.setData(treeItem.getData());
- applyButton.addSelectionListener(new SelectionAdapter() {
- @Override
- public void widgetSelected(SelectionEvent e) {
- TmfTraceElement traceElement = (TmfTraceElement) e.widget.getData();
- ITmfTimestamp targetTime = fTargetTimeMap.get(traceElement);
- ITmfTimestamp refTime = fRefTimeMap.get(traceElement);
- if (targetTime != null && refTime != null) {
- long offset = new TmfNanoTimestamp(targetTime).getValue() -
- new TmfNanoTimestamp(refTime).getValue();
- fOffsetMap.put(traceElement, offset);
- fViewer.getViewer().update(traceElement, null);
- }
- }
- });
- treeEditor.grabHorizontal = true;
- treeEditor.minimumWidth = TREE_EDITOR_MIN_WIDTH;
- treeEditor.setEditor(applyButton, treeItem, 2);
- treeItem.setData(EDITOR_KEY, applyButton);
- }
-
- /* put temporary values in maps to pack according to time formats */
- fRefTimeMap.put(traces.get(0), new TmfNanoTimestamp());
- fTargetTimeMap.put(traces.get(0), new TmfNanoTimestamp());
- fViewer.getViewer().update(traces.get(0), null);
- for (final TreeColumn treeColumn : tree.getColumns()) {
- if (treeColumn.getResizable()) {
- treeColumn.pack();
- }
- }
- fRefTimeMap.clear();
- fTargetTimeMap.clear();
- fViewer.getViewer().update(traces.get(0), null);
-
- for (TmfTraceElement traceElement : fOffsetMap.keySet()) {
- for (ITmfTrace parentTrace : TmfTraceManager.getInstance().getOpenedTraces()) {
- for (ITmfTrace trace : TmfTraceManager.getTraceSet(parentTrace)) {
- if (traceElement.getResource().equals(trace.getResource())) {
- fRefTimeMap.put(traceElement, trace.getStartTime());
- fViewer.getViewer().update(traceElement, null);
- break;
- }
- }
- if (fRefTimeMap.get(traceElement) != null) {
- break;
- }
- }
- }
-
- /* open trace when double-clicking a tree item */
- tree.addSelectionListener(new SelectionAdapter() {
- @Override
- public void widgetDefaultSelected(SelectionEvent e) {
- TmfTraceElement traceElement = (TmfTraceElement) e.item.getData();
- TmfOpenTraceHelper.openTraceFromElement(traceElement);
- }
- });
-
- tree.setFocus();
- }
-
- private TreeViewerColumn createTreeViewerColumn(String title, int style) {
- final TreeViewerColumn viewerColumn = new TreeViewerColumn(fViewer.getViewer(), style);
- final TreeColumn column = viewerColumn.getColumn();
- column.setText(title);
- column.setResizable(true);
- return viewerColumn;
- }
-
- private void setBasicMode() {
- fAdvancedMode = false;
- fRefTimeColumn.setData(WIDTH_KEY, fRefTimeColumn.getWidth());
- fTargetTimeColumn.setData(WIDTH_KEY, fTargetTimeColumn.getWidth());
- for (TreeItem treeItem : fViewer.getViewer().getTree().getItems()) {
- Control editor = (Control) treeItem.getData(EDITOR_KEY);
- editor.setVisible(false);
- }
- fTargetTimeColumn.setWidth(0);
- fTargetTimeColumn.setResizable(false);
- fRefTimeColumn.setWidth(0);
- fRefTimeColumn.setResizable(false);
- fButtonViewerColumn.getColumn().setWidth(0);
- fAdvancedMessageLabel.setText(""); //$NON-NLS-1$
- }
-
- private void setAdvancedMode() {
- fAdvancedMode = true;
- fButtonViewerColumn.getColumn().setWidth(TREE_EDITOR_MIN_WIDTH);
- fRefTimeColumn.setWidth((Integer) fRefTimeColumn.getData(WIDTH_KEY));
- fRefTimeColumn.setResizable(true);
- fTargetTimeColumn.setWidth((Integer) fTargetTimeColumn.getData(WIDTH_KEY));
- fTargetTimeColumn.setResizable(true);
- for (TreeItem treeItem : fViewer.getViewer().getTree().getItems()) {
- Control editor = (Control) treeItem.getData(EDITOR_KEY);
- editor.setVisible(true);
- }
- fAdvancedMessageLabel.setText(Messages.OffsetDialog_AdvancedMessage);
- }
-
- /**
- * Handler for the event selected signal
- *
- * @param signal
- * the event selected signal
- */
- @TmfSignalHandler
- public void eventSelected(final TmfEventSelectedSignal signal) {
- Display.getDefault().asyncExec(new Runnable() {
- @Override
- public void run() {
- for (TmfTraceElement traceElement : fOffsetMap.keySet()) {
- if (traceElement.getResource().equals(signal.getEvent().getTrace().getResource())) {
- fRefTimeMap.put(traceElement, signal.getEvent().getTimestamp());
- fViewer.getViewer().update(traceElement, null);
- break;
- }
- }
- }
- });
- }
-
- /**
- * Handler for the time selected signal
- *
- * @param signal
- * the event selected signal
- */
- @TmfSignalHandler
- public void timeSelected(final TmfTimeSynchSignal signal) {
- Display.getDefault().asyncExec(new Runnable() {
- @Override
- public void run() {
- for (TmfTraceElement traceElement : fOffsetMap.keySet()) {
- fTargetTimeMap.put(traceElement, signal.getBeginTime());
- fViewer.getViewer().update(traceElement, null);
- }
- }
- });
- }
-
- /**
- * Handler for the trace opened signal
- *
- * @param signal
- * the trace opened signal
- */
- @TmfSignalHandler
- public void traceOpened(final TmfTraceOpenedSignal signal) {
- Display.getDefault().asyncExec(new Runnable() {
- @Override
- public void run() {
- for (ITmfTrace trace : TmfTraceManager.getTraceSet(signal.getTrace())) {
- for (TmfTraceElement traceElement : fOffsetMap.keySet()) {
- if (traceElement.getResource().equals(trace.getResource())) {
- if (fRefTimeMap.get(traceElement) == null) {
- fRefTimeMap.put(traceElement, trace.getStartTime());
- fViewer.getViewer().update(traceElement, null);
- }
- break;
- }
- }
- }
- }
- });
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/dialogs/offset/messages.properties b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/dialogs/offset/messages.properties
deleted file mode 100644
index af1de0d719..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/dialogs/offset/messages.properties
+++ /dev/null
@@ -1,24 +0,0 @@
-###############################################################################
-# Copyright (c) 2014 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:
-# Matthew Khouzam - Initial API and implementation
-# Patrick Tasse - Initial API and implementation
-###############################################################################
-
-OffsetDialog_AdvancedButton=Advanced
-OffsetDialog_AdvancedMessage=Double-click a trace to open it, and select an event to set a reference time. \
-If the reference time and target time are set, press the button to compute their offset automatically. \
-The reference time and target time can be entered in format 'yyyy-mm-dd hh:mm:ss.sss sss sss'.
-OffsetDialog_BasicButton=Basic
-OffsetDialog_BasicMessage=Set the time offset to apply to each trace.
-OffsetDialog_OffsetTime=Offset in seconds
-OffsetDialog_ReferenceTime=Reference Time
-OffsetDialog_TargetTime=Target Time
-OffsetDialog_Title=Apply time offset
-OffsetDialog_TraceName=Trace name
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/handlers/BatchImportTraceHandler.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/handlers/BatchImportTraceHandler.java
deleted file mode 100644
index 6aa6b2b229..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/handlers/BatchImportTraceHandler.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013, 2014 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:
- * Matthew Khouzam - Initial API and implementation
- * Bernd Hufmann - Simplify selection logic
- *******************************************************************************/
-
-package org.eclipse.linuxtools.internal.tmf.ui.project.handlers;
-
-import org.eclipse.core.commands.AbstractHandler;
-import org.eclipse.core.commands.ExecutionEvent;
-import org.eclipse.core.commands.ExecutionException;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.jface.wizard.WizardDialog;
-import org.eclipse.linuxtools.internal.tmf.ui.project.wizards.importtrace.BatchImportTraceWizard;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.handlers.HandlerUtil;
-
-/**
- * Batch import handler, spawn a wizard
- *
- * @author Matthew Khouzam
- * @since 2.0
- */
-public class BatchImportTraceHandler extends AbstractHandler {
-
- @Override
- public Object execute(ExecutionEvent event) throws ExecutionException {
-
- BatchImportTraceWizard w = new BatchImportTraceWizard();
- IWorkbenchWindow window = PlatformUI.getWorkbench().getActiveWorkbenchWindow();
-
- if (window == null) {
- return false;
- }
-
- ISelection currentSelection = HandlerUtil.getCurrentSelection(event);
-
- IStructuredSelection sec = StructuredSelection.EMPTY;
- if (currentSelection instanceof IStructuredSelection) {
- sec = (IStructuredSelection) currentSelection;
- }
-
- w.init(PlatformUI.getWorkbench(), sec);
- WizardDialog dialog = new WizardDialog(window.getShell(), w);
- dialog.open();
-
- return null;
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/handlers/ClearTraceOffsetHandler.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/handlers/ClearTraceOffsetHandler.java
deleted file mode 100644
index 5f4d3dc72c..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/handlers/ClearTraceOffsetHandler.java
+++ /dev/null
@@ -1,122 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014, 2015 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:
- * Patrick Tasse - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.internal.tmf.ui.project.handlers;
-
-import java.lang.reflect.InvocationTargetException;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.Set;
-
-import org.eclipse.core.commands.AbstractHandler;
-import org.eclipse.core.commands.ExecutionEvent;
-import org.eclipse.core.commands.ExecutionException;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.OperationCanceledException;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.linuxtools.internal.tmf.ui.project.operations.TmfWorkspaceModifyOperation;
-import org.eclipse.linuxtools.tmf.core.synchronization.TimestampTransformFactory;
-import org.eclipse.linuxtools.tmf.ui.project.model.TmfExperimentElement;
-import org.eclipse.linuxtools.tmf.ui.project.model.TmfTraceElement;
-import org.eclipse.linuxtools.tmf.ui.project.model.TmfTraceFolder;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.MessageBox;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.handlers.HandlerUtil;
-
-/**
- * Clear Trace Offset Handler
- *
- * @author Patrick Tasse
- */
-public class ClearTraceOffsetHandler extends AbstractHandler {
-
- // ------------------------------------------------------------------------
- // Execution
- // ------------------------------------------------------------------------
-
- @Override
- public Object execute(final ExecutionEvent event) throws ExecutionException {
-
- ISelection selection = HandlerUtil.getCurrentSelection(event);
-
- // Get the set of selected trace elements
- final Set<TmfTraceElement> traceElements = new HashSet<>();
- if (selection instanceof StructuredSelection) {
- Iterator<Object> iterator = ((StructuredSelection) selection).iterator();
- while (iterator.hasNext()) {
- Object element = iterator.next();
- if (element instanceof TmfTraceElement) {
- TmfTraceElement trace = (TmfTraceElement) element;
- traceElements.add(trace.getElementUnderTraceFolder());
- } else if (element instanceof TmfExperimentElement) {
- TmfExperimentElement exp = (TmfExperimentElement) element;
- for (TmfTraceElement trace : exp.getTraces()) {
- traceElements.add(trace.getElementUnderTraceFolder());
- }
- } else if (element instanceof TmfTraceFolder) {
- TmfTraceFolder folder = (TmfTraceFolder) element;
- traceElements.addAll(folder.getTraces());
- }
- }
- }
-
- if (traceElements.isEmpty()) {
- return null;
- }
-
- Shell shell = HandlerUtil.getActiveShellChecked(event);
- MessageBox mb = new MessageBox(shell, SWT.ICON_QUESTION | SWT.CANCEL | SWT.OK);
- mb.setText(Messages.ClearTraceOffsetHandler_Title);
- mb.setMessage(Messages.ClearTraceOffsetHandler_ConfirmMessage);
- if (mb.open() != SWT.OK) {
- return null;
- }
-
- TmfWorkspaceModifyOperation operation = new TmfWorkspaceModifyOperation() {
- @Override
- public void execute(IProgressMonitor monitor) throws CoreException {
- for (final TmfTraceElement trace : traceElements) {
- if (monitor.isCanceled()) {
- throw new OperationCanceledException();
- }
- if (!TimestampTransformFactory.getTimestampTransform(trace.getResource()).equals(TimestampTransformFactory.getDefaultTransform())) {
- Display.getDefault().syncExec(new Runnable() {
- @Override
- public void run() {
- trace.closeEditors();
- }
- });
- trace.deleteSupplementaryResources();
- TimestampTransformFactory.setTimestampTransform(trace.getResource(), null);
- trace.refreshSupplementaryFolder();
- }
- }
- }
- };
- try {
- PlatformUI.getWorkbench().getProgressService().run(true, true, operation);
- } catch (InterruptedException e) {
- return null;
- } catch (InvocationTargetException e) {
- MessageDialog.openError(shell, e.toString(), e.getTargetException().toString());
- return null;
- }
-
- return null;
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/handlers/CopyExperimentHandler.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/handlers/CopyExperimentHandler.java
deleted file mode 100644
index 507011c876..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/handlers/CopyExperimentHandler.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009, 2014 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
- * Patrick Tasse - Remove enable check
- *******************************************************************************/
-
-package org.eclipse.linuxtools.internal.tmf.ui.project.handlers;
-
-import org.eclipse.core.commands.AbstractHandler;
-import org.eclipse.core.commands.ExecutionEvent;
-import org.eclipse.core.commands.ExecutionException;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.linuxtools.tmf.ui.project.model.TmfExperimentElement;
-import org.eclipse.linuxtools.tmf.ui.project.wizards.CopyExperimentDialog;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.handlers.HandlerUtil;
-
-/**
- * <b><u>CopyExperimentHandler</u></b>
- * <p>
- */
-public class CopyExperimentHandler extends AbstractHandler {
-
- // ------------------------------------------------------------------------
- // Execution
- // ------------------------------------------------------------------------
-
- @Override
- public Object execute(ExecutionEvent event) throws ExecutionException {
-
- // Get selection already validated by handler in plugin.xml
- ISelection selection = HandlerUtil.getCurrentSelectionChecked(event);
- if (!(selection instanceof IStructuredSelection)) {
- return null;
- }
- TmfExperimentElement experiment = (TmfExperimentElement) ((IStructuredSelection) selection).getFirstElement();
-
- // Fire the Copy Experiment dialog
- Shell shell = HandlerUtil.getActiveShellChecked(event);
- CopyExperimentDialog dialog = new CopyExperimentDialog(shell, experiment);
- dialog.open();
-
- return null;
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/handlers/CopyTraceHandler.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/handlers/CopyTraceHandler.java
deleted file mode 100644
index 91d83be589..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/handlers/CopyTraceHandler.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011, 2014 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
- * Patrick Tasse - Remove enable check
- *******************************************************************************/
-
-package org.eclipse.linuxtools.internal.tmf.ui.project.handlers;
-
-import org.eclipse.core.commands.AbstractHandler;
-import org.eclipse.core.commands.ExecutionEvent;
-import org.eclipse.core.commands.ExecutionException;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.linuxtools.tmf.ui.project.model.TmfTraceElement;
-import org.eclipse.linuxtools.tmf.ui.project.wizards.CopyTraceDialog;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.handlers.HandlerUtil;
-
-/**
- * <b><u>CopyTraceHandler</u></b>
- * <p>
- */
-public class CopyTraceHandler extends AbstractHandler {
-
- // ------------------------------------------------------------------------
- // Execution
- // ------------------------------------------------------------------------
-
- @Override
- public Object execute(ExecutionEvent event) throws ExecutionException {
-
- // Get selection already validated by handler in plugin.xml
- ISelection selection = HandlerUtil.getCurrentSelectionChecked(event);
- if (!(selection instanceof IStructuredSelection)) {
- return null;
- }
- TmfTraceElement trace = (TmfTraceElement) ((IStructuredSelection) selection).getFirstElement();
-
- // Fire the Copy Trace dialog
- Shell shell = HandlerUtil.getActiveShellChecked(event);
- CopyTraceDialog dialog = new CopyTraceDialog(shell, trace);
- dialog.open();
-
- return null;
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/handlers/DeleteExperimentHandler.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/handlers/DeleteExperimentHandler.java
deleted file mode 100644
index b85a0e8375..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/handlers/DeleteExperimentHandler.java
+++ /dev/null
@@ -1,113 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009, 2014 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
- * Patrick Tasse - Close editors to release resources
- *******************************************************************************/
-
-package org.eclipse.linuxtools.internal.tmf.ui.project.handlers;
-
-import java.util.Iterator;
-
-import org.eclipse.core.commands.AbstractHandler;
-import org.eclipse.core.commands.ExecutionEvent;
-import org.eclipse.core.commands.ExecutionException;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.TreeSelection;
-import org.eclipse.linuxtools.internal.tmf.ui.Activator;
-import org.eclipse.linuxtools.tmf.ui.project.model.TmfExperimentElement;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.MessageBox;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.PlatformUI;
-
-/**
- * <b><u>DeleteExperimentHandler</u></b>
- * <p>
- */
-public class DeleteExperimentHandler extends AbstractHandler {
-
- // ------------------------------------------------------------------------
- // Execution
- // ------------------------------------------------------------------------
-
- @Override
- public Object execute(ExecutionEvent event) throws ExecutionException {
-
- // Check if we are closing down
- IWorkbenchWindow window = PlatformUI.getWorkbench().getActiveWorkbenchWindow();
- if (window == null) {
- return null;
- }
-
- // Confirm the operation
- Shell shell = window.getShell();
- MessageBox confirmOperation = new MessageBox(shell, SWT.ICON_QUESTION | SWT.CANCEL | SWT.OK);
- confirmOperation.setText(Messages.DeleteDialog_Title);
- confirmOperation.setMessage(Messages.DeleteExperimentHandler_Message);
- if (confirmOperation.open() != SWT.OK) {
- return null;
- }
-
- // Get the selection
- IWorkbenchPage page = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage();
- IWorkbenchPart part = page.getActivePart();
- if (part == null) {
- return Boolean.FALSE;
- }
- ISelection selection = part.getSite().getSelectionProvider().getSelection();
-
- if (selection instanceof TreeSelection) {
- TreeSelection sel = (TreeSelection) selection;
- Iterator<Object> iterator = sel.iterator();
- while (iterator.hasNext()) {
- Object element = iterator.next();
- if (element instanceof TmfExperimentElement) {
- final TmfExperimentElement experiment = (TmfExperimentElement) element;
- IResource resource = experiment.getResource();
-
- try {
- // Close the experiment if open
- experiment.closeEditors();
-
- IPath path = resource.getLocation();
- if (path != null) {
- // Delete supplementary files
- experiment.deleteSupplementaryFolder();
- }
-
- // Finally, delete the experiment
- resource.delete(true, null);
-
- } catch (final CoreException e) {
- Display.getDefault().asyncExec(new Runnable() {
- @Override
- public void run() {
- final MessageBox mb = new MessageBox(PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell());
- mb.setText(Messages.DeleteTraceHandler_Error + ' ' + experiment.getName());
- mb.setMessage(e.getMessage());
- mb.open();
- }
- });
- Activator.getDefault().logError("Error deleting experiment: " + experiment.getName(), e); //$NON-NLS-1$
- }
- }
- }
- }
-
- return null;
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/handlers/DeleteTraceFolderElementHandler.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/handlers/DeleteTraceFolderElementHandler.java
deleted file mode 100644
index 6ef2fd1572..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/handlers/DeleteTraceFolderElementHandler.java
+++ /dev/null
@@ -1,349 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009, 2014 Ericsson, École Polytechnique de Montréal
- *
- * 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
- * Patrick Tasse - Close editors to release resources
- * Geneviève Bastien - Moved the delete code to element model's classes
- * Marc-Andre Laperle - Merged DeleteTraceHandler and DeleteFolderHandler
- *******************************************************************************/
-
-package org.eclipse.linuxtools.internal.tmf.ui.project.handlers;
-
-import java.lang.reflect.InvocationTargetException;
-import java.util.Iterator;
-
-import org.eclipse.core.commands.AbstractHandler;
-import org.eclipse.core.commands.ExecutionEvent;
-import org.eclipse.core.commands.ExecutionException;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IResourceVisitor;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.OperationCanceledException;
-import org.eclipse.core.runtime.SubMonitor;
-import org.eclipse.core.runtime.SubProgressMonitor;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.ISelectionProvider;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.TreeSelection;
-import org.eclipse.linuxtools.internal.tmf.ui.Activator;
-import org.eclipse.linuxtools.internal.tmf.ui.project.operations.TmfWorkspaceModifyOperation;
-import org.eclipse.linuxtools.tmf.ui.project.model.TmfExperimentElement;
-import org.eclipse.linuxtools.tmf.ui.project.model.TmfTraceElement;
-import org.eclipse.linuxtools.tmf.ui.project.model.TmfTraceFolder;
-import org.eclipse.linuxtools.tmf.ui.project.model.TmfTracesFolder;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.MessageBox;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.handlers.HandlerUtil;
-
-/**
- * An handler for deletion of both traces and trace folders. It allows mixing
- * both types of elements.
- */
-public class DeleteTraceFolderElementHandler extends AbstractHandler {
-
- private TreeSelection fSelection = null;
-
- private enum DeleteType {
- /**
- * Only trace folders are selected.
- */
- DELETE_TRACE_FOLDERS,
- /**
- * Only traces are selected.
- */
- DELETE_TRACES,
- /**
- * A mix of different elements are selected.
- */
- DELETE_GENERIC,
- /**
- * Only Traces (top trace folders) are selected.
- */
- CLEAR_TRACES_FOLDER,
- /**
- * Only Traces under experiments are selected.
- */
- REMOVE_TRACES_FROM_EXPERIMENT
- }
-
- // ------------------------------------------------------------------------
- // Validation
- // ------------------------------------------------------------------------
-
- @Override
- public boolean isEnabled() {
-
- // Check if we are closing down
- IWorkbenchWindow window = PlatformUI.getWorkbench().getActiveWorkbenchWindow();
- if (window == null) {
- return false;
- }
-
- // Get the selection
- IWorkbenchPage page = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage();
- IWorkbenchPart part = page.getActivePart();
- if (part == null) {
- return false;
- }
- ISelectionProvider selectionProvider = part.getSite().getSelectionProvider();
- if (selectionProvider == null) {
- return false;
- }
- ISelection selection = selectionProvider.getSelection();
-
- // Make sure selection contains only traces and trace folders
- fSelection = null;
- if (selection instanceof TreeSelection) {
- fSelection = (TreeSelection) selection;
- Iterator<Object> iterator = fSelection.iterator();
- while (iterator.hasNext()) {
- Object element = iterator.next();
- if (!(element instanceof TmfTraceElement) && !(element instanceof TmfTraceFolder)) {
- return false;
- }
- }
- }
-
- // If we get here, either nothing is selected or everything is a trace or folder
- return !selection.isEmpty();
- }
-
- // ------------------------------------------------------------------------
- // Execution
- // ------------------------------------------------------------------------
-
- private static DeleteType getDeleteType(ISelection selection) {
- int numTracesFolder = 0;
- int numTraceFolder = 0;
- int numTraces = 0;
- int numTracesUnderExperiment = 0;
-
- @SuppressWarnings("rawtypes")
- Iterator iterator = ((IStructuredSelection) selection).iterator();
- while (iterator.hasNext()) {
- Object next = iterator.next();
- if ((next instanceof TmfTracesFolder)) {
- numTracesFolder++;
- } else if (next instanceof TmfTraceFolder) {
- numTraceFolder++;
- } else if (next instanceof TmfTraceElement) {
- TmfTraceElement traceElement = (TmfTraceElement) next;
- if (traceElement.getParent() instanceof TmfExperimentElement) {
- numTracesUnderExperiment++;
- } else {
- numTraces++;
- }
- }
- }
-
- int total = numTraceFolder + numTracesFolder + numTracesUnderExperiment + numTraces;
-
- if (numTracesFolder == total) {
- return DeleteType.CLEAR_TRACES_FOLDER;
- }
-
- if (numTraceFolder == total) {
- return DeleteType.DELETE_TRACE_FOLDERS;
- }
-
- if (numTraces == total) {
- return DeleteType.DELETE_TRACES;
- }
-
- if (numTracesUnderExperiment == total) {
- return DeleteType.REMOVE_TRACES_FROM_EXPERIMENT;
- }
-
- return DeleteType.DELETE_GENERIC;
- }
-
- private static String getTitle(final DeleteType deleteType) {
- switch (deleteType)
- {
- case DELETE_GENERIC:
- case DELETE_TRACES:
- case DELETE_TRACE_FOLDERS:
- return Messages.DeleteDialog_Title;
- case CLEAR_TRACES_FOLDER:
- return Messages.ClearDialog_Title;
- case REMOVE_TRACES_FROM_EXPERIMENT:
- return Messages.RemoveDialog_Title;
- default:
- throw new IllegalArgumentException();
- }
- }
-
- private static String getMessage(DeleteType deleteType) {
- switch (deleteType)
- {
- case DELETE_GENERIC:
- return Messages.DeleteTraceHandlerGeneric_Message;
- case DELETE_TRACES:
- return Messages.DeleteTraceHandler_Message;
- case CLEAR_TRACES_FOLDER:
- return Messages.DeleteFolderHandlerClear_Message;
- case DELETE_TRACE_FOLDERS:
- return Messages.DeleteFolderHandler_Message;
- case REMOVE_TRACES_FROM_EXPERIMENT:
- return Messages.RemoveTraceFromExperimentHandler_Message;
- default:
- throw new IllegalArgumentException();
- }
- }
-
- private static String getTraceErrorMessage(DeleteType deleteType) {
- return deleteType == DeleteType.REMOVE_TRACES_FROM_EXPERIMENT ? Messages.RemoveTraceFromExperimentHandler_Error : Messages.DeleteFolderHandler_Error;
- }
-
- private static String getFolderErrorMessage(DeleteType deleteType) {
- return deleteType == DeleteType.CLEAR_TRACES_FOLDER ? Messages.DeleteFolderHandlerClear_Error : Messages.DeleteFolderHandler_Error;
- }
-
- private static String getTraceTaskName(DeleteType deleteType) {
- return deleteType == DeleteType.REMOVE_TRACES_FROM_EXPERIMENT ? Messages.RemoveTraceFromExperimentHandler_TaskName : Messages.DeleteFolderHandler_TaskName;
- }
-
- private static String getTraceFolderTaskName(DeleteType deleteType) {
- return deleteType == DeleteType.CLEAR_TRACES_FOLDER ? Messages.DeleteFolderHandlerClear_TaskName : Messages.DeleteFolderHandler_TaskName;
- }
-
- @Override
- public Object execute(ExecutionEvent event) throws ExecutionException {
-
- // Check if we are closing down
- IWorkbenchWindow window = PlatformUI.getWorkbench().getActiveWorkbenchWindow();
- if (window == null) {
- return null;
- }
-
- // Get the selection
- ISelection selection = HandlerUtil.getCurrentSelection(event);
- if (!(selection instanceof IStructuredSelection)) {
- return null;
- }
- final DeleteType deleteType = getDeleteType(selection);
-
- // Confirm the operation
- Shell shell = window.getShell();
- MessageBox confirmOperation = new MessageBox(shell, SWT.ICON_QUESTION | SWT.CANCEL | SWT.OK);
- confirmOperation.setText(getTitle(deleteType));
- confirmOperation.setMessage(getMessage(deleteType));
- if (confirmOperation.open() != SWT.OK) {
- return null;
- }
-
- final Iterator<Object> iterator = fSelection.iterator();
- final int nbElements = fSelection.size();
-
- TmfWorkspaceModifyOperation operation = new TmfWorkspaceModifyOperation() {
- @Override
- public void execute(IProgressMonitor monitor) throws CoreException {
- SubMonitor subMonitor = SubMonitor.convert(monitor, nbElements);
-
- while (iterator.hasNext()) {
- if (monitor.isCanceled()) {
- throw new OperationCanceledException();
- }
- Object element = iterator.next();
- SubProgressMonitor elementSubMonitor = new SubProgressMonitor(subMonitor, 1);
- if (element instanceof TmfTraceElement) {
- final TmfTraceElement trace = (TmfTraceElement) element;
- if (!trace.getResource().exists()) {
- continue;
- }
- subMonitor.setTaskName(getTraceTaskName(deleteType) + " " + trace.getElementPath()); //$NON-NLS-1$
- try {
- SubMonitor deleteSubMonitor = SubMonitor.convert(elementSubMonitor, 1);
- trace.delete(deleteSubMonitor);
- } catch (final CoreException e) {
- Display.getDefault().asyncExec(new Runnable() {
- @Override
- public void run() {
- final MessageBox mb = new MessageBox(PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell());
- mb.setText(getTraceErrorMessage(deleteType) + ' ' + trace.getName());
- mb.setMessage(e.getMessage());
- mb.open();
- }
- });
- Activator.getDefault().logError(getTraceErrorMessage(deleteType) + trace.getName(), e);
- }
- } else if (element instanceof TmfTraceFolder) {
- final TmfTraceFolder folder = (TmfTraceFolder) element;
- final IResource resource = folder.getResource();
- if (!resource.exists()) {
- continue;
- }
-
- subMonitor.setTaskName(getTraceFolderTaskName(deleteType) + " " + folder.getPath()); //$NON-NLS-1$
-
- try {
- // delete all traces under this folder
- SubMonitor childrenSubMonitor = SubMonitor.convert(elementSubMonitor, folder.getTraces().size() + 1);
- for (TmfTraceElement traceElement : folder.getTraces()) {
- SubProgressMonitor deleteSubMonitor = new SubProgressMonitor(childrenSubMonitor, 1);
- traceElement.delete(deleteSubMonitor);
- }
-
- // Finally, delete the folder. For the Traces
- // folder, we only delete the children since the
- // folder should always be there.
- final SubProgressMonitor deleteSubMonitor = new SubProgressMonitor(subMonitor, 1);
- if (folder instanceof TmfTracesFolder) {
- resource.accept(new IResourceVisitor() {
- @Override
- public boolean visit(IResource visitedResource) throws CoreException {
- if (visitedResource != resource) {
- visitedResource.delete(true, deleteSubMonitor);
- }
- return true;
- }
- }, IResource.DEPTH_ONE, 0);
- } else {
- resource.delete(true, deleteSubMonitor);
- }
- childrenSubMonitor.done();
- } catch (final CoreException e) {
- Display.getDefault().asyncExec(new Runnable() {
- @Override
- public void run() {
- final MessageBox mb = new MessageBox(PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell());
- mb.setText(getFolderErrorMessage(deleteType) + ' ' + folder.getName());
- mb.setMessage(e.getMessage());
- mb.open();
- }
- });
- Activator.getDefault().logError(getFolderErrorMessage(deleteType) + folder.getName(), e);
- }
- }
- subMonitor.setTaskName(""); //$NON-NLS-1$
- elementSubMonitor.done();
- }
- }
- };
-
- try {
- PlatformUI.getWorkbench().getProgressService().run(true, true, operation);
- } catch (InterruptedException e) {
- return null;
- } catch (InvocationTargetException e) {
- MessageDialog.openError(window.getShell(), e.toString(), e.getTargetException().toString());
- return null;
- }
- return null;
- }
-
-} \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/handlers/DeleteTraceSupplementaryFilesHandler.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/handlers/DeleteTraceSupplementaryFilesHandler.java
deleted file mode 100644
index 7345391cb2..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/handlers/DeleteTraceSupplementaryFilesHandler.java
+++ /dev/null
@@ -1,192 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2012, 2014 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:
- * Bernd Hufmann - Initial API and implementation
- * Patrick Tasse - Close editors to release resources
- *******************************************************************************/
-
-package org.eclipse.linuxtools.internal.tmf.ui.project.handlers;
-
-import java.lang.reflect.InvocationTargetException;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Comparator;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Set;
-
-import org.eclipse.core.commands.AbstractHandler;
-import org.eclipse.core.commands.ExecutionEvent;
-import org.eclipse.core.commands.ExecutionException;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.OperationCanceledException;
-import org.eclipse.core.runtime.SubMonitor;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.window.Window;
-import org.eclipse.linuxtools.internal.tmf.ui.Activator;
-import org.eclipse.linuxtools.internal.tmf.ui.project.dialogs.SelectSupplementaryResourcesDialog;
-import org.eclipse.linuxtools.internal.tmf.ui.project.operations.TmfWorkspaceModifyOperation;
-import org.eclipse.linuxtools.tmf.ui.project.model.TmfCommonProjectElement;
-import org.eclipse.linuxtools.tmf.ui.project.model.TmfExperimentElement;
-import org.eclipse.linuxtools.tmf.ui.project.model.TmfTraceElement;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.handlers.HandlerUtil;
-
-import com.google.common.collect.Multimap;
-import com.google.common.collect.TreeMultimap;
-
-/**
- * Handler for Delete Supplementary Files command on trace
- */
-public class DeleteTraceSupplementaryFilesHandler extends AbstractHandler {
-
- // ------------------------------------------------------------------------
- // Inner classes
- // ------------------------------------------------------------------------
-
- private class ElementComparator implements Comparator<TmfCommonProjectElement> {
- @Override
- public int compare(TmfCommonProjectElement e1, TmfCommonProjectElement e2) {
- return e1.getPath().toString().compareTo(e2.getPath().toString());
- }
- }
-
- private class ResourceComparator implements Comparator<IResource> {
- @Override
- public int compare(IResource r1, IResource r2) {
- return r1.getFullPath().toString().compareTo(r2.getFullPath().toString());
- }
- }
-
- // ------------------------------------------------------------------------
- // Execution
- // ------------------------------------------------------------------------
-
- @Override
- public Object execute(ExecutionEvent event) throws ExecutionException {
-
- // Check if we are closing down
- IWorkbenchWindow window = PlatformUI.getWorkbench().getActiveWorkbenchWindow();
- if (window == null) {
- return null;
- }
-
- // Get the selection
- ISelection selection = HandlerUtil.getCurrentSelection(event);
- if (!(selection instanceof IStructuredSelection)) {
- return null;
- }
- final Multimap<TmfCommonProjectElement, IResource> resourceMap =
- TreeMultimap.create(new ElementComparator(), new ResourceComparator());
- final Iterator<Object> iterator = ((IStructuredSelection) selection).iterator();
-
- while (iterator.hasNext()) {
- Object element = iterator.next();
- if (element instanceof TmfTraceElement) {
- TmfTraceElement trace = (TmfTraceElement) element;
- // If trace is under an experiment, use the original trace from the traces folder
- trace = trace.getElementUnderTraceFolder();
- for (IResource resource : trace.getSupplementaryResources()) {
- resourceMap.put(trace, resource);
- }
-
- } else if (element instanceof TmfExperimentElement) {
- TmfExperimentElement experiment = (TmfExperimentElement) element;
- for (IResource resource : experiment.getSupplementaryResources()) {
- resourceMap.put(experiment, resource);
- }
- for (TmfTraceElement trace : experiment.getTraces()) {
- // If trace is under an experiment, use the original trace from the traces folder
- trace = trace.getElementUnderTraceFolder();
- for (IResource resource : trace.getSupplementaryResources()) {
- resourceMap.put(trace, resource);
- }
- }
- }
- }
-
- final SelectSupplementaryResourcesDialog dialog =
- new SelectSupplementaryResourcesDialog(window.getShell(), resourceMap);
- if (dialog.open() != Window.OK) {
- return null;
- }
-
- TmfWorkspaceModifyOperation operation = new TmfWorkspaceModifyOperation() {
- @Override
- public void execute(IProgressMonitor monitor) throws CoreException {
-
- Set<IProject> projectsToRefresh = new HashSet<>();
-
- // Delete the resources that were selected
- List<IResource> allResourcesToDelete = Arrays.asList(dialog.getResources());
-
- SubMonitor subMonitor = SubMonitor.convert(monitor, allResourcesToDelete.size());
-
- for (final TmfCommonProjectElement element : resourceMap.keySet()) {
- if (monitor.isCanceled()) {
- throw new OperationCanceledException();
- }
- List<IResource> traceResourcesToDelete = new ArrayList<>(resourceMap.get(element));
- traceResourcesToDelete.retainAll(allResourcesToDelete);
- if (!traceResourcesToDelete.isEmpty()) {
- subMonitor.setTaskName(NLS.bind(Messages.DeleteSupplementaryFiles_DeletionTask, element.getElementPath()));
- // Delete the selected resources
- Display.getDefault().syncExec(new Runnable() {
- @Override
- public void run() {
- element.closeEditors();
- }
- });
- element.deleteSupplementaryResources(traceResourcesToDelete.toArray(new IResource[0]));
- projectsToRefresh.add(element.getProject().getResource());
- }
- subMonitor.worked(traceResourcesToDelete.size());
- }
-
- subMonitor = SubMonitor.convert(monitor, projectsToRefresh.size());
-
- // Refresh projects
- Iterator<IProject> projectIterator = projectsToRefresh.iterator();
- while (projectIterator.hasNext()) {
- if (monitor.isCanceled()) {
- throw new OperationCanceledException();
- }
- IProject project = projectIterator.next();
- subMonitor.setTaskName(NLS.bind(Messages.DeleteSupplementaryFiles_ProjectRefreshTask, project.getName()));
- try {
- project.refreshLocal(IResource.DEPTH_INFINITE, null);
- } catch (CoreException e) {
- Activator.getDefault().logError("Error refreshing project " + project, e); //$NON-NLS-1$
- }
- subMonitor.worked(1);
- }
- }
- };
-
- try {
- PlatformUI.getWorkbench().getProgressService().run(true, true, operation);
- } catch (InterruptedException e) {
- return null;
- } catch (InvocationTargetException e) {
- MessageDialog.openError(window.getShell(), e.toString(), e.getTargetException().toString());
- return null;
- }
- return null;
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/handlers/DropAdapterAssistant.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/handlers/DropAdapterAssistant.java
deleted file mode 100644
index ab6f0823ac..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/handlers/DropAdapterAssistant.java
+++ /dev/null
@@ -1,669 +0,0 @@
-/*******************************************************************************
-* Copyright (c) 2012, 2014 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:
- * Patrick Tasse - Initial API and implementation
- * Patrick Tasse - Add support for DROP_LINK and rename prompt on name clash
- *******************************************************************************/
-
-package org.eclipse.linuxtools.internal.tmf.ui.project.handlers;
-
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.lang.reflect.InvocationTargetException;
-import java.util.Arrays;
-import java.util.List;
-
-import org.eclipse.core.resources.IContainer;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IFolder;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IWorkspace;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.core.runtime.URIUtil;
-import org.eclipse.jface.operation.IRunnableWithProgress;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.linuxtools.internal.tmf.ui.Activator;
-import org.eclipse.linuxtools.tmf.core.TmfCommonConstants;
-import org.eclipse.linuxtools.tmf.core.project.model.TmfTraceImportException;
-import org.eclipse.linuxtools.tmf.core.project.model.TmfTraceType;
-import org.eclipse.linuxtools.tmf.core.project.model.TraceTypeHelper;
-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;
-import org.eclipse.linuxtools.tmf.ui.project.model.TmfProjectElement;
-import org.eclipse.linuxtools.tmf.ui.project.model.TmfProjectRegistry;
-import org.eclipse.linuxtools.tmf.ui.project.model.TmfTraceElement;
-import org.eclipse.linuxtools.tmf.ui.project.model.TmfTraceFolder;
-import org.eclipse.linuxtools.tmf.ui.project.model.TmfTraceTypeUIUtils;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.dnd.DND;
-import org.eclipse.swt.dnd.DropTargetEvent;
-import org.eclipse.swt.dnd.FileTransfer;
-import org.eclipse.swt.dnd.TransferData;
-import org.eclipse.swt.widgets.MessageBox;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.actions.WorkspaceModifyDelegatingOperation;
-import org.eclipse.ui.dialogs.IOverwriteQuery;
-import org.eclipse.ui.navigator.CommonDropAdapter;
-import org.eclipse.ui.navigator.CommonDropAdapterAssistant;
-import org.eclipse.ui.wizards.datatransfer.FileSystemStructureProvider;
-import org.eclipse.ui.wizards.datatransfer.ImportOperation;
-
-/**
- * Drop adapter assistant for project explorer
- */
-public class DropAdapterAssistant extends CommonDropAdapterAssistant {
-
- /**
- * Default constructor
- */
- public DropAdapterAssistant() {
- }
-
- @Override
- public boolean isSupportedType(TransferData aTransferType) {
- return super.isSupportedType(aTransferType) || FileTransfer.getInstance().isSupportedType(aTransferType);
- }
-
- @Override
- public IStatus validateDrop(Object target, int operation, TransferData transferType) {
- if (target instanceof TmfTraceFolder) {
- return Status.OK_STATUS;
- }
- if (target instanceof TmfExperimentElement) {
- return Status.OK_STATUS;
- }
- if (target instanceof TmfTraceElement) {
- ITmfProjectModelElement parent = ((TmfTraceElement) target).getParent();
- if (parent instanceof TmfTraceFolder) {
- return Status.OK_STATUS;
- }
- if (parent instanceof TmfExperimentElement) {
- return Status.OK_STATUS;
- }
- }
- if (target instanceof IProject) {
- return Status.OK_STATUS;
- }
- return Status.CANCEL_STATUS;
- }
-
- @Override
- public IStatus handleDrop(CommonDropAdapter aDropAdapter, DropTargetEvent aDropTargetEvent, Object aTarget) {
- boolean ok = false;
-
- // Use local variable to avoid parameter assignment
- Object targetToUse = aTarget;
-
- int operation = aDropTargetEvent.detail;
- if (operation != DND.DROP_LINK) {
- operation = DND.DROP_COPY;
- }
-
- // If target is a trace, use its parent (either trace folder or experiment)
- if (targetToUse instanceof TmfTraceElement) {
- targetToUse = ((TmfTraceElement) targetToUse).getParent();
- }
-
- // If target is a project, use its trace folder
- if (targetToUse instanceof IProject) {
- TmfProjectElement projectElement = TmfProjectRegistry.getProject((IProject) targetToUse, true);
- if (projectElement != null) {
- targetToUse = projectElement.getTracesFolder();
- }
- }
-
- if (aDropTargetEvent.data instanceof IStructuredSelection) {
- IStructuredSelection selection = (IStructuredSelection) aDropTargetEvent.data;
- for (Object source : selection.toArray()) {
- if (source instanceof IResource) {
- // If source resource is a trace, use the trace element
- IResource sourceResource = (IResource) source;
- TmfProjectElement projectElement = TmfProjectRegistry.getProject(sourceResource.getProject());
- if (projectElement != null && projectElement.getTracesFolder() != null) {
- for (TmfTraceElement trace : projectElement.getTracesFolder().getTraces()) {
- if (trace.getResource().equals(sourceResource)) {
- source = trace;
- break;
- }
- }
- }
- }
- if (source instanceof TmfTraceElement) {
- TmfTraceElement sourceTrace = (TmfTraceElement) source;
- // If source trace is under an experiment, use the original trace from the traces folder
- sourceTrace = sourceTrace.getElementUnderTraceFolder();
- if (targetToUse instanceof TmfExperimentElement) {
- TmfExperimentElement targetExperiment = (TmfExperimentElement) targetToUse;
- ok |= drop(sourceTrace, targetExperiment, operation);
- } else if (targetToUse instanceof TmfTraceFolder) {
- TmfTraceFolder traceFolder = (TmfTraceFolder) targetToUse;
- ok |= drop(sourceTrace, traceFolder, operation);
- }
- } else if (source instanceof IResource) {
- IResource sourceResource = (IResource) source;
- if (sourceResource.getType() != IResource.FILE && sourceResource.getType() != IResource.FOLDER) {
- continue;
- }
- if (targetToUse instanceof TmfExperimentElement) {
- TmfExperimentElement targetExperiment = (TmfExperimentElement) targetToUse;
- ok |= (drop(sourceResource, targetExperiment, operation) != null);
- } else if (targetToUse instanceof TmfTraceFolder) {
- TmfTraceFolder traceFolder = (TmfTraceFolder) targetToUse;
- ok |= (drop(sourceResource, traceFolder, operation) != null);
- }
- }
- }
- } else if (aDropTargetEvent.data instanceof String[]) {
- String[] sources = (String[]) aDropTargetEvent.data;
- for (String source : sources) {
- Path path = new Path(source);
- if (targetToUse instanceof TmfExperimentElement) {
- TmfExperimentElement targetExperiment = (TmfExperimentElement) targetToUse;
- ok |= drop(path, targetExperiment, operation);
- } else if (targetToUse instanceof TmfTraceFolder) {
- TmfTraceFolder traceFolder = (TmfTraceFolder) targetToUse;
- ok |= drop(path, traceFolder, operation);
- }
- }
- }
- return (ok ? Status.OK_STATUS : Status.CANCEL_STATUS);
- }
-
-
- /**
- * Drop a trace by copying/linking a trace element in a target experiment
- *
- * @param sourceTrace the source trace element to copy
- * @param targetExperiment the target experiment
- * @param operation the drop operation (DND.DROP_COPY | DND.DROP_LINK)
- * @return true if successful
- */
- private static boolean drop(TmfTraceElement sourceTrace,
- TmfExperimentElement targetExperiment,
- int operation) {
-
- IResource sourceResource = sourceTrace.getResource();
- IResource targetResource = drop(sourceResource, targetExperiment, operation);
-
- if (targetResource != null) {
- if (! sourceTrace.getProject().equals(targetExperiment.getProject())) {
- IFolder destinationSupplementaryFolder = targetExperiment.getTraceSupplementaryFolder(targetResource.getName());
- sourceTrace.copySupplementaryFolder(destinationSupplementaryFolder);
- }
- return true;
- }
- return false;
- }
-
- /**
- * Drop a trace by copying/linking a resource in a target experiment
- *
- * @param sourceResource the source resource
- * @param targetExperiment the target experiment
- * @param operation the drop operation (DND.DROP_COPY | DND.DROP_LINK)
- * @return the target resource or null if unsuccessful
- */
- private static IResource drop(IResource sourceResource,
- TmfExperimentElement targetExperiment,
- int operation) {
-
- IResource traceResource = sourceResource;
-
- IPath tracesFolderPath = targetExperiment.getProject().getTracesFolder().getPath();
- if (tracesFolderPath.isPrefixOf(sourceResource.getFullPath())) {
- String elementPath = sourceResource.getFullPath().makeRelativeTo(tracesFolderPath).toString();
- for (TmfTraceElement trace : targetExperiment.getTraces()) {
- if (trace.getElementPath().equals(elementPath)) {
- return null;
- }
- }
- } else {
- String targetName = sourceResource.getName();
- for (ITmfProjectModelElement element : targetExperiment.getProject().getTracesFolder().getChildren()) {
- if (element.getName().equals(targetName)) {
- targetName = promptRename(element);
- if (targetName == null) {
- return null;
- }
- break;
- }
- }
- try {
- if (operation == DND.DROP_COPY && !sourceResource.isLinked()) {
- IPath destination = targetExperiment.getProject().getTracesFolder().getResource().getFullPath().addTrailingSeparator().append(targetName);
- sourceResource.copy(destination, false, null);
- cleanupBookmarks(destination);
- } else {
- createLink(targetExperiment.getProject().getTracesFolder().getResource(), sourceResource, targetName);
- }
- // use the copied resource for the experiment
- if (sourceResource.getType() == IResource.FILE) {
- traceResource = targetExperiment.getProject().getTracesFolder().getResource().getFile(targetName);
- } else if (sourceResource.getType() == IResource.FOLDER) {
- traceResource = targetExperiment.getProject().getTracesFolder().getResource().getFolder(targetName);
- }
- String sourceLocation = sourceResource.getPersistentProperty(TmfCommonConstants.SOURCE_LOCATION);
- if (sourceLocation == null) {
- sourceLocation = URIUtil.toUnencodedString(new File(sourceResource.getLocationURI()).toURI());
- }
- traceResource.setPersistentProperty(TmfCommonConstants.SOURCE_LOCATION, sourceLocation);
- } catch (CoreException e) {
- displayException(e);
- return null;
- }
- }
- if (traceResource != null && traceResource.exists()) {
- setTraceType(traceResource);
- for (TmfTraceElement trace : targetExperiment.getProject().getTracesFolder().getTraces()) {
- if (trace.getResource().equals(traceResource)) {
- targetExperiment.addTrace(trace);
- targetExperiment.closeEditors();
- targetExperiment.deleteSupplementaryResources();
- break;
- }
- }
- return traceResource;
- }
- return null;
- }
-
- /**
- * Drop a trace by copying/linking a trace element in a trace folder
- *
- * @param sourceTrace the source trace
- * @param traceFolder the target trace folder
- * @param operation the drop operation (DND.DROP_COPY | DND.DROP_LINK)
- * @return true if successful
- */
- private static boolean drop(TmfTraceElement sourceTrace,
- TmfTraceFolder traceFolder,
- int operation) {
-
- IResource sourceResource = sourceTrace.getResource();
- IResource targetResource = drop(sourceResource, traceFolder, operation);
-
- if (targetResource != null) {
- String elementPath = targetResource.getFullPath().makeRelativeTo(traceFolder.getProject().getTracesFolder().getPath()).toString();
- IFolder destinationSupplementaryFolder = traceFolder.getTraceSupplementaryFolder(elementPath);
- sourceTrace.copySupplementaryFolder(destinationSupplementaryFolder);
- return true;
- }
- return false;
- }
-
- /**
- * Drop a trace by copying/linking a resource in a trace folder
- *
- * @param sourceResource the source resource
- * @param traceFolder the target trace folder
- * @param operation the drop operation (DND.DROP_COPY | DND.DROP_LINK)
- * @return the target resource or null if unsuccessful
- */
- private static IResource drop(IResource sourceResource,
- TmfTraceFolder traceFolder,
- int operation) {
-
- if (sourceResource.getParent().equals(traceFolder.getResource())) {
- return null;
- }
- String targetName = sourceResource.getName();
- for (ITmfProjectModelElement element : traceFolder.getChildren()) {
- if (element.getName().equals(targetName)) {
- targetName = promptRename(element);
- if (targetName == null) {
- return null;
- }
- break;
- }
- }
- try {
- if (operation == DND.DROP_COPY && !sourceResource.isLinked()) {
- IPath destination = traceFolder.getResource().getFullPath().addTrailingSeparator().append(targetName);
- sourceResource.copy(destination, false, null);
- cleanupBookmarks(destination);
- } else {
- createLink(traceFolder.getResource(), sourceResource, targetName);
- }
- IResource traceResource = traceFolder.getResource().findMember(targetName);
- if (traceResource != null && traceResource.exists()) {
- String sourceLocation = sourceResource.getPersistentProperty(TmfCommonConstants.SOURCE_LOCATION);
- if (sourceLocation == null) {
- sourceLocation = URIUtil.toUnencodedString(new File(sourceResource.getLocationURI()).toURI());
- }
- traceResource.setPersistentProperty(TmfCommonConstants.SOURCE_LOCATION, sourceLocation);
- setTraceType(traceResource);
- }
- return traceResource;
- } catch (CoreException e) {
- displayException(e);
- }
- return null;
- }
-
- /**
- * Drop a trace by importing/linking a path in a target experiment
- *
- * @param path the source path
- * @param targetExperiment the target experiment
- * @param operation the drop operation (DND.DROP_COPY | DND.DROP_LINK)
- * @return true if successful
- */
- private static boolean drop(Path path,
- TmfExperimentElement targetExperiment,
- int operation) {
-
- IPath tracesFolderPath = targetExperiment.getProject().getTracesFolder().getResource().getLocation();
- IResource traceResource = null;
- if (tracesFolderPath.isPrefixOf(path)) {
- String elementPath = path.makeRelativeTo(tracesFolderPath).toString();
- for (TmfTraceElement trace : targetExperiment.getTraces()) {
- if (trace.getElementPath().equals(elementPath)) {
- return false;
- }
- }
- traceResource = targetExperiment.getProject().getTracesFolder().getResource().findMember(elementPath);
- } else {
- String targetName = path.lastSegment();
- for (ITmfProjectModelElement element : targetExperiment.getProject().getTracesFolder().getChildren()) {
- if (element.getName().equals(targetName)) {
- targetName = promptRename(element);
- if (targetName == null) {
- return false;
- }
- break;
- }
- }
- if (operation == DND.DROP_COPY) {
- importTrace(targetExperiment.getProject().getTracesFolder().getResource(), path, targetName);
- } else {
- createLink(targetExperiment.getProject().getTracesFolder().getResource(), path, targetName);
- }
- // use the copied resource for the experiment
- File file = new File(path.toString());
- if (file.exists() && file.isFile()) {
- traceResource = targetExperiment.getProject().getTracesFolder().getResource().getFile(targetName);
- } else if (file.exists() && file.isDirectory()) {
- traceResource = targetExperiment.getProject().getTracesFolder().getResource().getFolder(targetName);
- }
- }
- if (traceResource != null && traceResource.exists()) {
- try {
- String sourceLocation = URIUtil.toUnencodedString(path.toFile().toURI());
- traceResource.setPersistentProperty(TmfCommonConstants.SOURCE_LOCATION, sourceLocation);
- } catch (CoreException e) {
- displayException(e);
- }
- setTraceType(traceResource);
- for (TmfTraceElement trace : targetExperiment.getProject().getTracesFolder().getTraces()) {
- if (trace.getResource().equals(traceResource)) {
- targetExperiment.addTrace(trace);
- targetExperiment.closeEditors();
- targetExperiment.deleteSupplementaryResources();
- break;
- }
- }
- return true;
- }
- return false;
- }
-
- /**
- * Drop a trace by importing/linking a path in a trace folder
- *
- * @param path the source path
- * @param traceFolder the target trace folder
- * @param operation the drop operation (DND.DROP_COPY | DND.DROP_LINK)
- * @return true if successful
- */
- private static boolean drop(Path path,
- TmfTraceFolder traceFolder,
- int operation) {
-
- String targetName = path.lastSegment();
- for (ITmfProjectModelElement element : traceFolder.getChildren()) {
- if (element.getName().equals(targetName)) {
- targetName = promptRename(element);
- if (targetName == null) {
- return false;
- }
- break;
- }
- }
- if (operation == DND.DROP_COPY) {
- importTrace(traceFolder.getResource(), path, targetName);
- } else {
- createLink(traceFolder.getResource(), path, targetName);
- }
- IResource traceResource = traceFolder.getResource().findMember(targetName);
- if (traceResource != null && traceResource.exists()) {
- try {
- String sourceLocation = URIUtil.toUnencodedString(path.toFile().toURI());
- traceResource.setPersistentProperty(TmfCommonConstants.SOURCE_LOCATION, sourceLocation);
- } catch (CoreException e) {
- displayException(e);
- }
- setTraceType(traceResource);
- }
- return true;
- }
-
- /**
- * Import a trace to the trace folder
- *
- * @param folder the trace folder resource
- * @param path the path to the trace to import
- * @param targetName the target name
- */
- private static void importTrace(final IFolder folder, final Path path, final String targetName) {
- final File source = new File(path.toString());
- if (source.isDirectory()) {
- IPath containerPath = folder.getFullPath().addTrailingSeparator().append(targetName);
- IOverwriteQuery overwriteImplementor = new IOverwriteQuery() {
- @Override
- public String queryOverwrite(String pathString) {
- return IOverwriteQuery.NO_ALL;
- }
- };
- List<File> filesToImport = Arrays.asList(source.listFiles());
- ImportOperation operation = new ImportOperation(
- containerPath,
- source,
- FileSystemStructureProvider.INSTANCE,
- overwriteImplementor,
- filesToImport);
- operation.setCreateContainerStructure(false);
- try {
- operation.run(new NullProgressMonitor());
- } catch (InvocationTargetException e) {
- displayException(e);
- } catch (InterruptedException e) {
- displayException(e);
- }
- } else {
- IRunnableWithProgress runnable = new IRunnableWithProgress() {
- @Override
- public void run(IProgressMonitor monitor) throws InvocationTargetException, InterruptedException {
- try (InputStream inputStream = new FileInputStream(source);) {
- IFile targetFile = folder.getFile(targetName);
- targetFile.create(inputStream, IResource.NONE, monitor);
- } catch (CoreException | IOException e) {
- displayException(e);
- }
- }
- };
- WorkspaceModifyDelegatingOperation operation = new WorkspaceModifyDelegatingOperation(runnable);
- try {
- operation.run(new NullProgressMonitor());
- } catch (InvocationTargetException e) {
- displayException(e);
- } catch (InterruptedException e) {
- displayException(e);
- }
- }
- }
-
- /**
- * Create a link to the actual trace and set the trace type
- *
- * @param parentFolder the parent folder
- * @param resource the resource
- * @param targetName the target name
- */
- private static void createLink(IFolder parentFolder, IResource resource, String targetName) {
- IPath location = resource.getLocation();
- IWorkspace workspace = ResourcesPlugin.getWorkspace();
- try {
- String traceType = TmfTraceType.getTraceTypeId(resource);
- TraceTypeHelper traceTypeHelper = TmfTraceType.getTraceType(traceType);
-
- if (resource instanceof IFolder) {
- IFolder folder = parentFolder.getFolder(targetName);
- IStatus result = workspace.validateLinkLocation(folder, location);
- if (result.isOK() || result.matches(IStatus.INFO | IStatus.WARNING)) {
- folder.createLink(location, IResource.REPLACE, null);
- if (traceTypeHelper != null) {
- TmfTraceTypeUIUtils.setTraceType(folder, traceTypeHelper);
- }
- } else {
- Activator.getDefault().logError("Invalid Trace Location"); //$NON-NLS-1$
- }
- } else {
- IFile file = parentFolder.getFile(targetName);
- IStatus result = workspace.validateLinkLocation(file, location);
- if (result.isOK() || result.matches(IStatus.INFO | IStatus.WARNING)) {
- file.createLink(location, IResource.REPLACE, null);
- if (traceTypeHelper != null) {
- TmfTraceTypeUIUtils.setTraceType(file, traceTypeHelper);
- }
- } else {
- Activator.getDefault().logError("Invalid Trace Location"); //$NON-NLS-1$
- }
- }
- } catch (CoreException e) {
- displayException(e);
- }
- }
-
- /**
- * Create a link to a file or folder
- *
- * @param parentFolder the parent folder
- * @param source the file or folder
- * @param targetName the target name
- */
- private static void createLink(IFolder parentFolder, IPath location, String targetName) {
- File source = new File(location.toString());
- IWorkspace workspace = ResourcesPlugin.getWorkspace();
- try {
-
- if (source.isDirectory()) {
- IFolder folder = parentFolder.getFolder(targetName);
- IStatus result = workspace.validateLinkLocation(folder, location);
- if (result.isOK() || result.matches(IStatus.INFO | IStatus.WARNING)) {
- folder.createLink(location, IResource.REPLACE, null);
- } else {
- Activator.getDefault().logError("Invalid Trace Location"); //$NON-NLS-1$
- }
- } else {
- IFile file = parentFolder.getFile(targetName);
- IStatus result = workspace.validateLinkLocation(file, location);
- if (result.isOK() || result.matches(IStatus.INFO | IStatus.WARNING)) {
- file.createLink(location, IResource.REPLACE, null);
- } else {
- Activator.getDefault().logError("Invalid Trace Location"); //$NON-NLS-1$
- }
- }
- } catch (CoreException e) {
- displayException(e);
- }
- }
-
- /**
- * Prompts the user to rename a trace
- *
- * @param element the conflicting element
- * @return the new name to use or null if rename is canceled
- */
- private static String promptRename(ITmfProjectModelElement element) {
- MessageBox mb = new MessageBox(PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell(), SWT.ICON_QUESTION | SWT.CANCEL | SWT.OK);
- mb.setText(Messages.DropAdapterAssistant_RenameTraceTitle);
- mb.setMessage(NLS.bind(Messages.DropAdapterAssistant_RenameTraceMessage, element.getName()));
- if (mb.open() != SWT.OK) {
- return null;
- }
- IContainer folder = element.getResource().getParent();
- int i = 2;
- while (true) {
- String name = element.getName() + '(' + Integer.toString(i++) + ')';
- IResource resource = folder.findMember(name);
- if (resource == null) {
- return name;
- }
- }
- }
-
- /**
- * Cleanup bookmarks file in copied trace
- */
- private static void cleanupBookmarks(IPath path) {
- IFolder folder = ResourcesPlugin.getWorkspace().getRoot().getFolder(path);
- if (folder.exists()) {
- try {
- for (IResource member : folder.members()) {
- if (TmfTrace.class.getCanonicalName().equals(TmfTraceType.getTraceTypeId(member))) {
- member.delete(true, null);
- }
- }
- } catch (CoreException e) {
- displayException(e);
- }
- }
- }
-
- private static void setTraceType(IResource traceResource) {
- try {
- String traceType = TmfTraceType.getTraceTypeId(traceResource);
- TraceTypeHelper traceTypeHelper = TmfTraceType.getTraceType(traceType);
- if (traceTypeHelper == null) {
- traceTypeHelper = TmfTraceTypeUIUtils.selectTraceType(traceResource.getLocation().toOSString(), null, null);
- }
- if (traceTypeHelper != null) {
- TmfTraceTypeUIUtils.setTraceType(traceResource, traceTypeHelper);
- }
- } catch (TmfTraceImportException e) {
- } catch (CoreException e) {
- displayException(e);
- }
- }
-
- /**
- * Display an exception in a message box
- *
- * @param e the exception
- */
- private static void displayException(Exception e) {
- MessageBox mb = new MessageBox(PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell());
- mb.setText(e.getClass().getName());
- mb.setMessage(e.getMessage());
- mb.open();
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/handlers/ImportTraceHandler.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/handlers/ImportTraceHandler.java
deleted file mode 100644
index b558b87c3c..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/handlers/ImportTraceHandler.java
+++ /dev/null
@@ -1,64 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009, 2014 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
- * Bernd Hufmann - Update selection handling
- *******************************************************************************/
-
-package org.eclipse.linuxtools.internal.tmf.ui.project.handlers;
-
-import org.eclipse.core.commands.AbstractHandler;
-import org.eclipse.core.commands.ExecutionEvent;
-import org.eclipse.core.commands.ExecutionException;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.jface.wizard.WizardDialog;
-import org.eclipse.linuxtools.internal.tmf.ui.project.wizards.importtrace.ImportTraceWizard;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.handlers.HandlerUtil;
-
-/**
- * <b><u>ImportTraceHandler</u></b>
- * <p>
- * Starts an ImportTraceWizard that will handle the lowly details.
- */
-public class ImportTraceHandler extends AbstractHandler {
-
- // ------------------------------------------------------------------------
- // Execution
- // ------------------------------------------------------------------------
-
- @Override
- public Object execute(ExecutionEvent event) throws ExecutionException {
- ImportTraceWizard w = new ImportTraceWizard();
- IWorkbenchWindow window = PlatformUI.getWorkbench().getActiveWorkbenchWindow();
-
- if (window == null) {
- return false;
- }
-
- ISelection currentSelection = HandlerUtil.getCurrentSelection(event);
- // Menu Selection is only not null for context-sensitive menu
- ISelection menuSelection = HandlerUtil.getActiveMenuSelection(event);
-
- IStructuredSelection sec = StructuredSelection.EMPTY;
-
- // Only use the selection if handler is called from context-sensitive menu
- if ((menuSelection != null) && (currentSelection instanceof IStructuredSelection)) {
- sec = (IStructuredSelection) currentSelection;
- }
-
- w.init(PlatformUI.getWorkbench(), sec);
- WizardDialog dialog = new WizardDialog(window.getShell(), w);
- dialog.open();
- return null;
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/handlers/Messages.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/handlers/Messages.java
deleted file mode 100644
index 0b93660ae3..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/handlers/Messages.java
+++ /dev/null
@@ -1,85 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011, 2014 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
- * Patrick Tasse - Added drag and drop messages
- *******************************************************************************/
-
-package org.eclipse.linuxtools.internal.tmf.ui.project.handlers;
-
-import org.eclipse.osgi.util.NLS;
-
-/**
- * Messages file
- *
- * @author Francois Chouinard
- * @version 1.0
- */
-@SuppressWarnings("javadoc")
-public class Messages extends NLS {
-
- private static final String BUNDLE_NAME = "org.eclipse.linuxtools.internal.tmf.ui.project.handlers.messages"; //$NON-NLS-1$
-
- public static String DeleteDialog_Title;
- public static String DeleteTraceHandler_Message;
- public static String DeleteTraceHandler_Error;
- public static String DeleteTraceHandler_TaskName;
- public static String DeleteTraceHandlerGeneric_Message;
- public static String DeleteTraceHandlerGeneric_Error;
- public static String DeleteExperimentHandler_Message;
- public static String DeleteExperimentHandler_Error;
- public static String DeleteFolderHandler_Message;
- public static String DeleteFolderHandler_Error;
- public static String DeleteFolderHandler_TaskName;
-
- public static String RemoveDialog_Title;
- public static String RemoveTraceFromExperimentHandler_Message;
- public static String RemoveTraceFromExperimentHandler_TaskName;
- public static String RemoveTraceFromExperimentHandler_Error;
- public static String ClearDialog_Title;
- public static String DeleteFolderHandlerClear_Message;
- public static String DeleteFolderHandlerClear_Error;
- public static String DeleteFolderHandlerClear_TaskName;
-
- public static String SelectTraceTypeHandler_ErrorSelectingTrace;
- public static String SelectTraceTypeHandler_Title;
- public static String SelectTraceTypeHandler_TraceFailedValidation;
- public static String SelectTraceTypeHandler_TracesFailedValidation;
- public static String SelectTraceTypeHandler_InvalidTraceType;
-
- public static String DropAdapterAssistant_RenameTraceTitle;
- public static String DropAdapterAssistant_RenameTraceMessage;
-
- public static String SynchronizeTracesHandler_InitError;
- public static String SynchronizeTracesHandler_CopyProblem;
- public static String SynchronizeTracesHandler_WrongType;
- public static String SynchronizeTracesHandler_WrongTraceNumber;
- public static String SynchronizeTracesHandler_Title;
- public static String SynchronizeTracesHandler_Error;
- public static String SynchronizeTracesHandler_ErrorSynchingExperiment;
- public static String SynchronizeTracesHandler_ErrorSynchingForTrace;
-
- public static String ClearTraceOffsetHandler_Title;
- public static String ClearTraceOffsetHandler_ConfirmMessage;
-
- public static String DeleteSupplementaryFiles_DeletionTask;
- public static String DeleteSupplementaryFiles_ProjectRefreshTask;
-
- public static String AnalysisModule_Help;
-
- public static String TmfActionProvider_OpenWith;
-
- static {
- // initialize resource bundle
- NLS.initializeMessages(BUNDLE_NAME, Messages.class);
- }
-
- private Messages() {
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/handlers/NewExperimentHandler.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/handlers/NewExperimentHandler.java
deleted file mode 100644
index b0b15f5a9b..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/handlers/NewExperimentHandler.java
+++ /dev/null
@@ -1,74 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009, 2014 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.internal.tmf.ui.project.handlers;
-
-import org.eclipse.core.commands.AbstractHandler;
-import org.eclipse.core.commands.ExecutionEvent;
-import org.eclipse.core.commands.ExecutionException;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.TreeSelection;
-import org.eclipse.linuxtools.tmf.ui.project.model.TmfExperimentFolder;
-import org.eclipse.linuxtools.tmf.ui.project.wizards.NewExperimentDialog;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.PlatformUI;
-
-/**
- * <b><u>NewExperimentHandler</u></b>
- * <p>
- */
-public class NewExperimentHandler extends AbstractHandler {
-
- // ------------------------------------------------------------------------
- // Execution
- // ------------------------------------------------------------------------
-
- @Override
- public Object execute(ExecutionEvent event) throws ExecutionException {
-
- // Check if we are closing down
- IWorkbenchWindow window = PlatformUI.getWorkbench().getActiveWorkbenchWindow();
- if (window == null) {
- return null;
- }
-
- // Get the selection
- IWorkbenchPage page = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage();
- IWorkbenchPart part = page.getActivePart();
- if (part == null) {
- return Boolean.FALSE;
- }
- ISelection selection = part.getSite().getSelectionProvider().getSelection();
- TmfExperimentFolder experimentFolder = null;
- if (selection instanceof TreeSelection) {
- TreeSelection sel = (TreeSelection) selection;
- Object element = sel.getFirstElement();
- if (element instanceof TmfExperimentFolder) {
- experimentFolder = (TmfExperimentFolder) element;
- }
- }
- if (experimentFolder == null) {
- return null;
- }
-
- // Fire the New Experiment dialog
- Shell shell = window.getShell();
- NewExperimentDialog dialog = new NewExperimentDialog(shell, experimentFolder);
- dialog.open();
-
- return null;
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/handlers/NewFolderHandler.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/handlers/NewFolderHandler.java
deleted file mode 100644
index f9e98c590a..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/handlers/NewFolderHandler.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 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:
- * Patrick Tasse - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.internal.tmf.ui.project.handlers;
-
-import org.eclipse.core.commands.AbstractHandler;
-import org.eclipse.core.commands.ExecutionEvent;
-import org.eclipse.core.commands.ExecutionException;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.linuxtools.tmf.ui.project.model.TmfTraceFolder;
-import org.eclipse.linuxtools.tmf.ui.project.wizards.NewFolderDialog;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.handlers.HandlerUtil;
-
-/**
- * Handler for the New Folder command.
- */
-public class NewFolderHandler extends AbstractHandler {
-
- // ------------------------------------------------------------------------
- // Execution
- // ------------------------------------------------------------------------
-
- @Override
- public Object execute(ExecutionEvent event) throws ExecutionException {
-
- // Check if we are closing down
- IWorkbenchWindow window = PlatformUI.getWorkbench().getActiveWorkbenchWindow();
- if (window == null) {
- return null;
- }
-
- ISelection selection = HandlerUtil.getCurrentSelection(event);
- if (!(selection instanceof IStructuredSelection)) {
- return null;
- }
- final Object element = ((IStructuredSelection) selection).getFirstElement();
- if (!(element instanceof TmfTraceFolder)) {
- return null;
- }
- TmfTraceFolder parent = (TmfTraceFolder) element;
-
- // Fire the New Folder dialog
- Shell shell = window.getShell();
- NewFolderDialog dialog = new NewFolderDialog(shell, parent);
- dialog.open();
-
- return null;
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/handlers/OffsetTraceHandler.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/handlers/OffsetTraceHandler.java
deleted file mode 100644
index 9a1d0b2861..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/handlers/OffsetTraceHandler.java
+++ /dev/null
@@ -1,136 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014, 2015 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:
- * Matthew Khouzam - Initial API and implementation
- * Patrick Tasse - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.internal.tmf.ui.project.handlers;
-
-import java.lang.reflect.InvocationTargetException;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.LinkedHashMap;
-import java.util.Map;
-import java.util.Set;
-
-import org.eclipse.core.commands.AbstractHandler;
-import org.eclipse.core.commands.ExecutionEvent;
-import org.eclipse.core.commands.ExecutionException;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.OperationCanceledException;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.jface.window.Window;
-import org.eclipse.linuxtools.internal.tmf.ui.project.dialogs.offset.OffsetDialog;
-import org.eclipse.linuxtools.internal.tmf.ui.project.operations.TmfWorkspaceModifyOperation;
-import org.eclipse.linuxtools.tmf.core.synchronization.ITmfTimestampTransform;
-import org.eclipse.linuxtools.tmf.core.synchronization.TimestampTransformFactory;
-import org.eclipse.linuxtools.tmf.ui.project.model.TmfExperimentElement;
-import org.eclipse.linuxtools.tmf.ui.project.model.TmfTraceElement;
-import org.eclipse.linuxtools.tmf.ui.project.model.TmfTraceFolder;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.handlers.HandlerUtil;
-
-/**
- * Offset Handler
- *
- * @author Matthew Khouzam
- */
-public class OffsetTraceHandler extends AbstractHandler {
-
- // ------------------------------------------------------------------------
- // Execution
- // ------------------------------------------------------------------------
-
- @Override
- public Object execute(final ExecutionEvent event) throws ExecutionException {
-
- ISelection selection = HandlerUtil.getCurrentSelection(event);
-
- // Get the set of selected trace elements
- final Set<TmfTraceElement> traceElements = new HashSet<>();
- if (selection instanceof StructuredSelection) {
- Iterator<Object> iterator = ((StructuredSelection) selection).iterator();
- while (iterator.hasNext()) {
- Object element = iterator.next();
- if (element instanceof TmfTraceElement) {
- TmfTraceElement trace = (TmfTraceElement) element;
- traceElements.add(trace.getElementUnderTraceFolder());
- } else if (element instanceof TmfExperimentElement) {
- TmfExperimentElement exp = (TmfExperimentElement) element;
- for (TmfTraceElement trace : exp.getTraces()) {
- traceElements.add(trace.getElementUnderTraceFolder());
- }
- } else if (element instanceof TmfTraceFolder) {
- TmfTraceFolder folder = (TmfTraceFolder) element;
- traceElements.addAll(folder.getTraces());
- }
- }
- }
-
- if (traceElements.isEmpty()) {
- return null;
- }
-
- final Map<TmfTraceElement, Long> offsets = new LinkedHashMap<>(traceElements.size());
- for (TmfTraceElement trace : traceElements) {
- offsets.put(trace, 0L);
- }
-
- Shell shell = HandlerUtil.getActiveShellChecked(event);
- OffsetDialog dialog = new OffsetDialog(shell, offsets);
- dialog.open();
-
- if (dialog.getReturnCode() != Window.OK) {
- return null;
- }
-
- TmfWorkspaceModifyOperation operation = new TmfWorkspaceModifyOperation() {
- @Override
- public void execute(IProgressMonitor monitor) throws CoreException {
- for (final TmfTraceElement trace : offsets.keySet()) {
- if (monitor.isCanceled()) {
- throw new OperationCanceledException();
- }
- Long offset = offsets.get(trace);
- if (offset != 0 && trace.getResource().exists()) {
- Display.getDefault().syncExec(new Runnable() {
- @Override
- public void run() {
- trace.closeEditors();
- }
- });
- long previousOffset = TimestampTransformFactory.getTimestampTransform(trace.getResource()).transform(0);
- ITmfTimestampTransform transform = TimestampTransformFactory.createWithOffset(previousOffset + offset);
- trace.deleteSupplementaryResources();
- // make sure the supplementary folder exists
- trace.refreshSupplementaryFolder();
- TimestampTransformFactory.setTimestampTransform(trace.getResource(), transform);
- trace.refreshSupplementaryFolder();
- }
- }
- }
- };
- try {
- PlatformUI.getWorkbench().getProgressService().run(true, true, operation);
- } catch (InterruptedException e) {
- return null;
- } catch (InvocationTargetException e) {
- MessageDialog.openError(shell, e.toString(), e.getTargetException().toString());
- return null;
- }
-
- return null;
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/handlers/OpenAction.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/handlers/OpenAction.java
deleted file mode 100644
index 85703171d0..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/handlers/OpenAction.java
+++ /dev/null
@@ -1,95 +0,0 @@
-/*******************************************************************************
-* Copyright (c) 2012, 2013 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:
- * Patrick Tasse - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.internal.tmf.ui.project.handlers;
-
-import org.eclipse.core.commands.ExecutionException;
-import org.eclipse.core.commands.NotEnabledException;
-import org.eclipse.core.commands.NotHandledException;
-import org.eclipse.core.commands.common.NotDefinedException;
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.ISelectionProvider;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.linuxtools.internal.tmf.ui.Activator;
-import org.eclipse.linuxtools.tmf.ui.project.model.TmfAnalysisOutputElement;
-import org.eclipse.linuxtools.tmf.ui.project.model.TmfExperimentElement;
-import org.eclipse.linuxtools.tmf.ui.project.model.TmfProjectModelElement;
-import org.eclipse.linuxtools.tmf.ui.project.model.TmfTraceElement;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.handlers.IHandlerService;
-
-/**
- * <b><u>OpenAction</u></b>
- */
-public class OpenAction extends Action {
-
- private static final String OPEN_COMMAND_ID = "org.eclipse.ui.navigate.openResource"; //$NON-NLS-1$
-
- private final IWorkbenchPage page;
- private final ISelectionProvider selectionProvider;
- private TmfProjectModelElement element;
-
- /**
- * Default constructor
- * @param page the workbench page
- * @param selectionProvider the selection provider
- */
- public OpenAction(IWorkbenchPage page, ISelectionProvider selectionProvider) {
- this.page = page;
- this.selectionProvider = selectionProvider;
- }
-
- @Override
- public boolean isEnabled() {
- ISelection selection = selectionProvider.getSelection();
- if (!selection.isEmpty()) {
- IStructuredSelection sSelection = (IStructuredSelection) selection;
- if (sSelection.size() == 1) {
- if (sSelection.getFirstElement() instanceof TmfTraceElement ||
- sSelection.getFirstElement() instanceof TmfExperimentElement ||
- sSelection.getFirstElement() instanceof TmfAnalysisOutputElement) {
- element = (TmfProjectModelElement) sSelection.getFirstElement();
- return true;
- }
- }
- }
- return false;
- }
-
- @Override
- public void run() {
- try {
- Object service = page.getActivePart().getSite().getService(IHandlerService.class);
- IHandlerService handlerService = (IHandlerService) service;
- boolean executeCommand = ((element instanceof TmfTraceElement) || (element instanceof TmfAnalysisOutputElement));
-
- if (!executeCommand && element instanceof TmfExperimentElement) {
- TmfExperimentElement experiment = (TmfExperimentElement) element;
- executeCommand = (experiment.getTraces().size() > 0);
- }
-
- if (executeCommand) {
- handlerService.executeCommand(OPEN_COMMAND_ID, null);
- }
- } catch (ExecutionException e) {
- Activator.getDefault().logError("Error opening resource " + element.getName(), e); //$NON-NLS-1$
- } catch (NotDefinedException e) {
- Activator.getDefault().logError("Error opening resource " + element.getName(), e); //$NON-NLS-1$
- } catch (NotEnabledException e) {
- Activator.getDefault().logError("Error opening resource " + element.getName(), e); //$NON-NLS-1$
- } catch (NotHandledException e) {
- Activator.getDefault().logError("Error opening resource " + element.getName(), e); //$NON-NLS-1$
- }
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/handlers/OpenAnalysisHelpHandler.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/handlers/OpenAnalysisHelpHandler.java
deleted file mode 100644
index 6ad18fce45..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/handlers/OpenAnalysisHelpHandler.java
+++ /dev/null
@@ -1,114 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 École Polytechnique de Montréal
- *
- * 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:
- * Geneviève Bastien - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.internal.tmf.ui.project.handlers;
-
-import org.eclipse.core.commands.AbstractHandler;
-import org.eclipse.core.commands.ExecutionEvent;
-import org.eclipse.core.commands.ExecutionException;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.ISelectionProvider;
-import org.eclipse.jface.viewers.TreeSelection;
-import org.eclipse.linuxtools.tmf.ui.project.model.TmfAnalysisElement;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.MessageBox;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.PlatformUI;
-
-/**
- * Handler for when user wants to open the analysis help text
- *
- * @author Geneviève Bastien
- */
-public class OpenAnalysisHelpHandler extends AbstractHandler {
-
- private TmfAnalysisElement fAnalysis;
-
- @Override
- public boolean isEnabled() {
- // Check if we are closing down
- final IWorkbenchWindow window = PlatformUI.getWorkbench().getActiveWorkbenchWindow();
- if (window == null) {
- return false;
- }
-
- // Get the selection
- final IWorkbenchPage page = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage();
- final IWorkbenchPart part = page.getActivePart();
- if (part == null) {
- return false;
- }
- final ISelectionProvider selectionProvider = part.getSite().getSelectionProvider();
- if (selectionProvider == null) {
- return false;
- }
- final ISelection selection = selectionProvider.getSelection();
-
- // Make sure there is only one selection and that it is a trace
- fAnalysis = null;
- if (selection instanceof TreeSelection) {
- final TreeSelection sel = (TreeSelection) selection;
- // There should be only one item selected as per the plugin.xml
- final Object element = sel.getFirstElement();
- if (element instanceof TmfAnalysisElement) {
- fAnalysis = (TmfAnalysisElement) element;
- }
- }
-
- return (fAnalysis != null);
- }
-
- @Override
- public Object execute(ExecutionEvent event) throws ExecutionException {
-
- // Check if we are closing down
- final IWorkbenchWindow window = PlatformUI.getWorkbench().getActiveWorkbenchWindow();
- if (window == null) {
- return null;
- }
-
- // Check that the trace is valid
- if (fAnalysis == null) {
- return null;
- }
-
- Thread thread = new Thread() {
- @Override
- public void run() {
- displayHelpMsg(fAnalysis.getHelpMessage());
- }
- };
-
- thread.start();
-
- return null;
- }
-
- private static void displayHelpMsg(final String errorMsg) {
- Display.getDefault().asyncExec(new Runnable() {
- @Override
- public void run() {
- /*
- * TODO: A message box is not the best place to show help.
- * Something should be done with the Eclipse help
- */
- final MessageBox mb = new MessageBox(PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell());
- mb.setText(Messages.AnalysisModule_Help);
- mb.setMessage(errorMsg);
- mb.open();
- }
- });
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/handlers/OpenAnalysisOutputHandler.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/handlers/OpenAnalysisOutputHandler.java
deleted file mode 100644
index 772450d16b..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/handlers/OpenAnalysisOutputHandler.java
+++ /dev/null
@@ -1,89 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 École Polytechnique de Montréal
- *
- * 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:
- * Geneviève Bastien - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.internal.tmf.ui.project.handlers;
-
-import org.eclipse.core.commands.AbstractHandler;
-import org.eclipse.core.commands.ExecutionEvent;
-import org.eclipse.core.commands.ExecutionException;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.ISelectionProvider;
-import org.eclipse.jface.viewers.TreeSelection;
-import org.eclipse.linuxtools.tmf.ui.project.model.TmfAnalysisOutputElement;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.PlatformUI;
-
-/**
- * Handler to programatically open a view
- *
- * @author Geneviève Bastien
- */
-public class OpenAnalysisOutputHandler extends AbstractHandler {
-
- private TmfAnalysisOutputElement fOutputElement;
-
- @Override
- public boolean isEnabled() {
- /* Check if we are closing down */
- final IWorkbenchWindow window = PlatformUI.getWorkbench().getActiveWorkbenchWindow();
- if (window == null) {
- return false;
- }
-
- /* Get the selection */
- final IWorkbenchPage page = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage();
- final IWorkbenchPart part = page.getActivePart();
- if (part == null) {
- return false;
- }
- final ISelectionProvider selectionProvider = part.getSite().getSelectionProvider();
- if (selectionProvider == null) {
- return false;
- }
- final ISelection selection = selectionProvider.getSelection();
-
- /* Make sure there is only one selection and that it is an analysis output */
- fOutputElement = null;
- if (selection instanceof TreeSelection) {
- final TreeSelection sel = (TreeSelection) selection;
- // There should be only one item selected as per the plugin.xml
- final Object element = sel.getFirstElement();
- if (element instanceof TmfAnalysisOutputElement) {
- fOutputElement = (TmfAnalysisOutputElement) element;
- }
- }
-
- return (fOutputElement != null);
- }
-
- @Override
- public Object execute(ExecutionEvent event) throws ExecutionException {
-
- /* Check if we are closing down */
- final IWorkbenchWindow window = PlatformUI.getWorkbench().getActiveWorkbenchWindow();
- if (window == null) {
- return null;
- }
-
- /* Check that the view is valid */
- if (fOutputElement == null) {
- return null;
- }
-
- fOutputElement.outputAnalysis();
-
- return null;
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/handlers/OpenExperimentHandler.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/handlers/OpenExperimentHandler.java
deleted file mode 100644
index f4eac3ce10..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/handlers/OpenExperimentHandler.java
+++ /dev/null
@@ -1,99 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009, 2014 Ericsson, École Polytechnique de Montréal
- *
- * 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
- * Geneviève Bastien - Experiment instantiates with an experiment type
- *******************************************************************************/
-
-package org.eclipse.linuxtools.internal.tmf.ui.project.handlers;
-
-import org.eclipse.core.commands.AbstractHandler;
-import org.eclipse.core.commands.ExecutionEvent;
-import org.eclipse.core.commands.ExecutionException;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.ISelectionProvider;
-import org.eclipse.jface.viewers.TreeSelection;
-import org.eclipse.linuxtools.tmf.ui.project.model.TmfExperimentElement;
-import org.eclipse.linuxtools.tmf.ui.project.model.TmfOpenTraceHelper;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.PlatformUI;
-
-/**
- * <b><u>OpenExperimentHandler</u></b>
- * <p>
- */
-public class OpenExperimentHandler extends AbstractHandler {
-
- private TmfExperimentElement fExperiment = null;
-
- // ------------------------------------------------------------------------
- // Validation
- // ------------------------------------------------------------------------
-
- @Override
- public boolean isEnabled() {
-
- // Check if we are closing down
- final IWorkbenchWindow window = PlatformUI.getWorkbench().getActiveWorkbenchWindow();
- if (window == null) {
- return false;
- }
-
- // Get the selection
- final IWorkbenchPage page = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage();
- final IWorkbenchPart part = page.getActivePart();
- if (part == null) {
- return false;
- }
- final ISelectionProvider selectionProvider = part.getSite().getSelectionProvider();
- if (selectionProvider == null) {
- return false;
- }
- final ISelection selection = selectionProvider.getSelection();
-
- // Make sure there is only one selection and that it is an experiment
- fExperiment = null;
- if (selection instanceof TreeSelection) {
- final TreeSelection sel = (TreeSelection) selection;
- // There should be only one item selected as per the plugin.xml
- final Object element = sel.getFirstElement();
- if (element instanceof TmfExperimentElement) {
- fExperiment = (TmfExperimentElement) element;
- }
- }
-
- // We only enable opening from the Traces folder for now
- return ((fExperiment != null) && (fExperiment.getTraces().size() > 0));
- }
-
- // ------------------------------------------------------------------------
- // Execution
- // ------------------------------------------------------------------------
-
- @Override
- public Object execute(final ExecutionEvent event) throws ExecutionException {
-
- // Check if we are closing down
- final IWorkbenchWindow window = PlatformUI.getWorkbench().getActiveWorkbenchWindow();
- if (window == null) {
- return null;
- }
-
- // Check that the experiment is valid
- if (fExperiment == null) {
- return null;
- }
-
- TmfOpenTraceHelper.openTraceFromElement(fExperiment);
- return null;
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/handlers/OpenTraceHandler.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/handlers/OpenTraceHandler.java
deleted file mode 100644
index 1eeb9f97b4..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/handlers/OpenTraceHandler.java
+++ /dev/null
@@ -1,104 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009, 2013 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.internal.tmf.ui.project.handlers;
-
-import org.eclipse.core.commands.AbstractHandler;
-import org.eclipse.core.commands.ExecutionEvent;
-import org.eclipse.core.commands.ExecutionException;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.ISelectionProvider;
-import org.eclipse.jface.viewers.TreeSelection;
-import org.eclipse.linuxtools.tmf.ui.project.model.TmfOpenTraceHelper;
-import org.eclipse.linuxtools.tmf.ui.project.model.TmfTraceElement;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.PlatformUI;
-
-/**
- * <b><u>OpenTraceHandler</u></b>
- * <p>
- * TODO: Add support for multiple trace selection
- */
-public class OpenTraceHandler extends AbstractHandler {
-
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
-
- private TmfTraceElement fTrace = null;
-
- // ------------------------------------------------------------------------
- // Validation
- // ------------------------------------------------------------------------
-
- @Override
- public boolean isEnabled() {
-
- // Check if we are closing down
- final IWorkbenchWindow window = PlatformUI.getWorkbench().getActiveWorkbenchWindow();
- if (window == null) {
- return false;
- }
-
- // Get the selection
- final IWorkbenchPage page = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage();
- final IWorkbenchPart part = page.getActivePart();
- if (part == null) {
- return false;
- }
- final ISelectionProvider selectionProvider = part.getSite().getSelectionProvider();
- if (selectionProvider == null) {
- return false;
- }
- final ISelection selection = selectionProvider.getSelection();
-
- // Make sure there is only one selection and that it is a trace
- fTrace = null;
- if (selection instanceof TreeSelection) {
- final TreeSelection sel = (TreeSelection) selection;
- // There should be only one item selected as per the plugin.xml
- final Object element = sel.getFirstElement();
- if (element instanceof TmfTraceElement) {
- fTrace = (TmfTraceElement) element;
- }
- }
-
- // We only enable opening from the Traces folder for now
- return (fTrace != null);
- }
-
- // ------------------------------------------------------------------------
- // Execution
- // ------------------------------------------------------------------------
-
- @Override
- public Object execute(final ExecutionEvent event) throws ExecutionException {
-
- // Check if we are closing down
- final IWorkbenchWindow window = PlatformUI.getWorkbench().getActiveWorkbenchWindow();
- if (window == null) {
- return null;
- }
-
- // Check that the trace is valid
- if (fTrace == null) {
- return null;
- }
-
- // If trace is under an experiment, use the original trace from the traces folder
- TmfOpenTraceHelper.openTraceFromElement(fTrace.getElementUnderTraceFolder());
- return null;
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/handlers/RefreshHandler.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/handlers/RefreshHandler.java
deleted file mode 100644
index c947be07c3..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/handlers/RefreshHandler.java
+++ /dev/null
@@ -1,87 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011, 2013 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.internal.tmf.ui.project.handlers;
-
-import org.eclipse.core.commands.AbstractHandler;
-import org.eclipse.core.commands.ExecutionEvent;
-import org.eclipse.core.commands.ExecutionException;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.TreeSelection;
-import org.eclipse.linuxtools.internal.tmf.ui.Activator;
-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.TmfTraceFolder;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.PlatformUI;
-
-/**
- * <b><u>RefreshHandler</u></b>
- * <p>
- * TODO: Handle multiple selections
- */
-public class RefreshHandler extends AbstractHandler {
-
- // ------------------------------------------------------------------------
- // Execution
- // ------------------------------------------------------------------------
-
- @Override
- public Object execute(ExecutionEvent event) throws ExecutionException {
-
- // Check if we are closing down
- IWorkbenchWindow window = PlatformUI.getWorkbench().getActiveWorkbenchWindow();
- if (window == null) {
- return null;
- }
-
- // Get the selection
- IWorkbenchPage page = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage();
- IWorkbenchPart part = page.getActivePart();
- if (part == null) {
- return false;
- }
- ISelection selection = part.getSite().getSelectionProvider().getSelection();
- if (selection instanceof TreeSelection) {
- TreeSelection treeSelection = (TreeSelection) selection;
- Object element = treeSelection.getFirstElement();
- IResource resource = null;
- if (element instanceof TmfTraceFolder) {
- TmfTraceFolder folder = (TmfTraceFolder) element;
- resource = folder.getResource();
- }
- else if (element instanceof TmfExperimentFolder) {
- TmfExperimentFolder folder = (TmfExperimentFolder) element;
- resource = folder.getResource();
- }
- else if (element instanceof TmfExperimentElement) {
- TmfExperimentElement folder = (TmfExperimentElement) element;
- resource = folder.getResource();
- }
- try {
- if (resource != null) {
- resource.refreshLocal(IResource.DEPTH_INFINITE, null);
- }
- } catch (CoreException e) {
- Activator.getDefault().logError("Error refreshing projects", e); //$NON-NLS-1$
- }
- }
-
-
- return null;
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/handlers/RenameExperimentHandler.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/handlers/RenameExperimentHandler.java
deleted file mode 100644
index de96794c14..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/handlers/RenameExperimentHandler.java
+++ /dev/null
@@ -1,96 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011, 2013 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.internal.tmf.ui.project.handlers;
-
-import org.eclipse.core.commands.AbstractHandler;
-import org.eclipse.core.commands.ExecutionEvent;
-import org.eclipse.core.commands.ExecutionException;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.ISelectionProvider;
-import org.eclipse.jface.viewers.TreeSelection;
-import org.eclipse.linuxtools.tmf.ui.project.model.TmfExperimentElement;
-import org.eclipse.linuxtools.tmf.ui.project.wizards.RenameExperimentDialog;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.PlatformUI;
-
-/**
- * <b><u>RenameExperimentHandler</u></b>
- * <p>
- */
-public class RenameExperimentHandler extends AbstractHandler {
-
- private TmfExperimentElement fExperiment = null;
-
- // ------------------------------------------------------------------------
- // isEnabled
- // ------------------------------------------------------------------------
-
- @Override
- public boolean isEnabled() {
-
- // Check if we are closing down
- IWorkbenchWindow window = PlatformUI.getWorkbench().getActiveWorkbenchWindow();
- if (window == null) {
- return false;
- }
-
- // Get the selection
- IWorkbenchPage page = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage();
- IWorkbenchPart part = page.getActivePart();
- if (part == null) {
- return false;
- }
- ISelectionProvider selectionProvider = part.getSite().getSelectionProvider();
- if (selectionProvider == null) {
- return false;
- }
- ISelection selection = selectionProvider.getSelection();
-
- // Make sure there is only selection and that it is an experiment
- fExperiment = null;
- if (selection instanceof TreeSelection) {
- TreeSelection sel = (TreeSelection) selection;
- Object element = sel.getFirstElement();
- if (element instanceof TmfExperimentElement) {
- fExperiment = (TmfExperimentElement) element;
- }
- }
-
- return (fExperiment != null);
- }
-
- // ------------------------------------------------------------------------
- // Execution
- // ------------------------------------------------------------------------
-
- @Override
- public Object execute(ExecutionEvent event) throws ExecutionException {
-
- // Check if we are closing down
- IWorkbenchWindow window = PlatformUI.getWorkbench().getActiveWorkbenchWindow();
- if (window == null) {
- return null;
- }
-
- // Fire the Rename Experiment dialog
- Shell shell = window.getShell();
- RenameExperimentDialog dialog = new RenameExperimentDialog(shell, fExperiment);
- dialog.open();
-
- return null;
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/handlers/RenameFolderHandler.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/handlers/RenameFolderHandler.java
deleted file mode 100644
index 81db31c20f..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/handlers/RenameFolderHandler.java
+++ /dev/null
@@ -1,158 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 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:
- * Patrick Tasse - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.internal.tmf.ui.project.handlers;
-
-import java.lang.reflect.InvocationTargetException;
-
-import org.eclipse.core.commands.AbstractHandler;
-import org.eclipse.core.commands.ExecutionEvent;
-import org.eclipse.core.commands.ExecutionException;
-import org.eclipse.core.resources.IContainer;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.OperationCanceledException;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.window.Window;
-import org.eclipse.linuxtools.tmf.ui.project.model.TmfExperimentElement;
-import org.eclipse.linuxtools.tmf.ui.project.model.TmfTraceElement;
-import org.eclipse.linuxtools.tmf.ui.project.model.TmfTraceFolder;
-import org.eclipse.linuxtools.tmf.ui.project.wizards.RenameFolderDialog;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.actions.WorkspaceModifyOperation;
-import org.eclipse.ui.handlers.HandlerUtil;
-
-/**
- * Handler for the Rename Folder command.
- */
-public class RenameFolderHandler extends AbstractHandler {
-
- // ------------------------------------------------------------------------
- // Execution
- // ------------------------------------------------------------------------
-
- @Override
- public Object execute(ExecutionEvent event) throws ExecutionException {
-
- // Check if we are closing down
- IWorkbenchWindow window = PlatformUI.getWorkbench().getActiveWorkbenchWindow();
- if (window == null) {
- return null;
- }
-
- ISelection selection = HandlerUtil.getCurrentSelection(event);
- TmfTraceFolder selectedFolder = null;
- if (selection instanceof IStructuredSelection) {
- Object element = ((IStructuredSelection) selection).getFirstElement();
- if (element instanceof TmfTraceFolder) {
- selectedFolder = (TmfTraceFolder) element;
- }
- }
- if (selectedFolder == null) {
- return null;
- }
- final TmfTraceFolder oldFolder = selectedFolder;
-
- // Fire the Rename Folder dialog
- RenameFolderDialog dialog = new RenameFolderDialog(window.getShell(), oldFolder);
- dialog.open();
-
- if (dialog.getReturnCode() != Window.OK) {
- return null;
- }
-
- final String newName = (String) dialog.getFirstResult();
-
- IContainer parentFolder = oldFolder.getResource().getParent();
- final TmfTraceFolder tracesFolder = oldFolder.getProject().getTracesFolder();
- final IPath newFolderPath = parentFolder.getFullPath().append(newName);
-
- WorkspaceModifyOperation operation = new WorkspaceModifyOperation() {
- @Override
- public void execute(IProgressMonitor monitor) throws CoreException {
- try {
- monitor.beginTask("", 1000); //$NON-NLS-1$
- if (monitor.isCanceled()) {
- throw new OperationCanceledException();
- }
-
- for (TmfTraceElement traceElement : oldFolder.getTraces()) {
- traceElement.closeEditors();
-
- IPath relativePath = traceElement.getPath().makeRelativeTo(oldFolder.getPath());
- String newElementPath = newFolderPath.makeRelativeTo(tracesFolder.getPath()).append(relativePath).toString();
- traceElement.renameSupplementaryFolder(newElementPath);
- }
-
- oldFolder.getResource().move(newFolderPath, IResource.FORCE | IResource.SHALLOW, monitor);
- if (monitor.isCanceled()) {
- throw new OperationCanceledException();
- }
- } finally {
- monitor.done();
- }
- }
- };
-
- try {
- PlatformUI.getWorkbench().getProgressService().busyCursorWhile(operation);
- } catch (InterruptedException e) {
- return null;
- } catch (InvocationTargetException e) {
- MessageDialog.openError(window.getShell(), e.toString(), e.getTargetException().toString());
- return null;
- }
-
- /* We need to split the WorkspaceModifyOperation so that the new model
- * elements get created by the resource changed event */
- operation = new WorkspaceModifyOperation() {
- @Override
- protected void execute(IProgressMonitor monitor) throws CoreException, InvocationTargetException, InterruptedException {
-
- IPath oldFolderElementPath = oldFolder.getPath().makeRelativeTo(tracesFolder.getPath());
- IPath newFolderElementPath = oldFolderElementPath.removeLastSegments(1).append(newName);
- for (TmfExperimentElement experiment : oldFolder.getProject().getExperimentsFolder().getExperiments()) {
- for (TmfTraceElement oldTrace : experiment.getTraces()) {
- if (oldTrace.getElementPath().startsWith(oldFolderElementPath.toString())) {
- experiment.removeTrace(oldTrace);
- String relativePath = oldTrace.getElementPath().substring(oldFolderElementPath.toString().length() + 1);
- String newTraceElementPath = newFolderElementPath.append(relativePath).toString();
- for (TmfTraceElement newTrace : tracesFolder.getTraces()) {
- if (newTrace.getElementPath().equals(newTraceElementPath)) {
- experiment.addTrace(newTrace);
- break;
- }
- }
- }
- }
- }
- }
- };
-
- try {
- PlatformUI.getWorkbench().getProgressService().busyCursorWhile(operation);
- } catch (InterruptedException e) {
- return null;
- } catch (InvocationTargetException e) {
- MessageDialog.openError(window.getShell(), e.toString(), e.getTargetException().toString());
- return null;
- }
-
- return null;
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/handlers/RenameTraceHandler.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/handlers/RenameTraceHandler.java
deleted file mode 100644
index 6458a73fb2..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/handlers/RenameTraceHandler.java
+++ /dev/null
@@ -1,171 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009, 2014 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
- * Patrick Tasse - Add support for folder elements
- *******************************************************************************/
-
-package org.eclipse.linuxtools.internal.tmf.ui.project.handlers;
-
-import java.lang.reflect.InvocationTargetException;
-
-import org.eclipse.core.commands.AbstractHandler;
-import org.eclipse.core.commands.ExecutionEvent;
-import org.eclipse.core.commands.ExecutionException;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IFolder;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.OperationCanceledException;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.window.Window;
-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.TmfTraceElement;
-import org.eclipse.linuxtools.tmf.ui.project.model.TmfTraceFolder;
-import org.eclipse.linuxtools.tmf.ui.project.wizards.RenameTraceDialog;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.actions.WorkspaceModifyOperation;
-import org.eclipse.ui.handlers.HandlerUtil;
-
-/**
- * Handler for the Rename Trace command.
- */
-public class RenameTraceHandler extends AbstractHandler {
-
- // ------------------------------------------------------------------------
- // Execution
- // ------------------------------------------------------------------------
-
- @Override
- public Object execute(ExecutionEvent event) throws ExecutionException {
-
- // Check if we are closing down
- IWorkbenchWindow window = PlatformUI.getWorkbench().getActiveWorkbenchWindow();
- if (window == null) {
- return null;
- }
-
- ISelection selection = HandlerUtil.getCurrentSelection(event);
- TmfTraceElement selectedTrace = null;
- if (selection instanceof IStructuredSelection) {
- Object element = ((IStructuredSelection) selection).getFirstElement();
- if (element instanceof TmfTraceElement) {
- selectedTrace = (TmfTraceElement) element;
- }
- }
- if (selectedTrace == null) {
- return null;
- }
-
- // If trace is under an experiment, use the original trace from the traces folder
- final TmfTraceElement oldTrace = selectedTrace.getElementUnderTraceFolder();
-
- RenameTraceDialog dialog = new RenameTraceDialog(window.getShell(), oldTrace);
- if (dialog.open() != Window.OK) {
- return null;
- }
-
- final TmfTraceFolder traceFolder = (TmfTraceFolder) oldTrace.getParent();
- final String newName = (String) dialog.getFirstResult();
-
- IFolder parentFolder = (IFolder) oldTrace.getParent().getResource();
- final TmfTraceFolder tracesFolder = oldTrace.getProject().getTracesFolder();
- final IPath newPath = parentFolder.getFullPath().append(newName);
-
- WorkspaceModifyOperation operation = new WorkspaceModifyOperation() {
- @Override
- public void execute(IProgressMonitor monitor) throws CoreException {
- try {
- monitor.beginTask("", 1000); //$NON-NLS-1$
- if (monitor.isCanceled()) {
- throw new OperationCanceledException();
- }
- // Close the trace if open
- oldTrace.closeEditors();
-
- if (oldTrace.getResource() instanceof IFolder) {
- IFolder folder = (IFolder) oldTrace.getResource();
- IFile bookmarksFile = oldTrace.getBookmarksFile();
- if (bookmarksFile.exists()) {
- IFile newBookmarksFile = folder.getFile(bookmarksFile.getName().replace(oldTrace.getName(), newName));
- if (!newBookmarksFile.exists()) {
- IPath newBookmarksPath = newBookmarksFile.getFullPath();
- bookmarksFile.move(newBookmarksPath, IResource.FORCE | IResource.SHALLOW, monitor);
- }
- }
- }
-
- String newElementPath = newPath.makeRelativeTo(tracesFolder.getPath()).toString();
- oldTrace.renameSupplementaryFolder(newElementPath);
- oldTrace.getResource().move(newPath, IResource.FORCE | IResource.SHALLOW, monitor);
- if (monitor.isCanceled()) {
- throw new OperationCanceledException();
- }
- } finally {
- monitor.done();
- }
- }
- };
-
- try {
- PlatformUI.getWorkbench().getProgressService().busyCursorWhile(operation);
- } catch (InterruptedException e) {
- return null;
- } catch (InvocationTargetException e) {
- MessageDialog.openError(window.getShell(), e.toString(), e.getTargetException().toString());
- return null;
- }
-
- /* We need to split the WorkspaceModifyOperation so that the new model
- * elements get created by the resource changed event */
- operation = new WorkspaceModifyOperation() {
- @Override
- protected void execute(IProgressMonitor monitor) throws CoreException, InvocationTargetException, InterruptedException {
-
- // Locate the new trace object
- TmfTraceElement newTrace = null;
- String newElementPath = oldTrace.getParent().getPath().append(newName).makeRelativeTo(tracesFolder.getPath()).toString();
- for (TmfTraceElement element : traceFolder.getTraces()) {
- if (element.getElementPath().equals(newElementPath)) {
- newTrace = element;
- break;
- }
- }
- if (newTrace == null) {
- return;
- }
-
- TmfExperimentFolder experimentFolder = newTrace.getProject().getExperimentsFolder();
- for (final TmfExperimentElement experiment : experimentFolder.getExperiments()) {
- for (final TmfTraceElement expTrace : experiment.getTraces()) {
- if (expTrace.getElementPath().equals(oldTrace.getElementPath())) {
- experiment.removeTrace(expTrace);
- experiment.addTrace(newTrace);
- }
- }
- }
- }
- };
-
- try {
- PlatformUI.getWorkbench().getProgressService().busyCursorWhile(operation);
- } catch (InterruptedException e) {
- } catch (InvocationTargetException e) {
- MessageDialog.openError(window.getShell(), e.toString(), e.getTargetException().toString());
- }
-
- return null;
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/handlers/SelectElementTypeContributionItem.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/handlers/SelectElementTypeContributionItem.java
deleted file mode 100644
index 56e911041f..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/handlers/SelectElementTypeContributionItem.java
+++ /dev/null
@@ -1,269 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011, 2014 Ericsson, École Polytechnique de Montréal
- *
- * 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:
- * Patrick Tasse - Initial API and implementation
- * Geneviève Bastien - Moved SelectTraceTypeContributionItem to this class
- *******************************************************************************/
-
-package org.eclipse.linuxtools.internal.tmf.ui.project.handlers;
-
-import java.util.Collections;
-import java.util.Comparator;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Map;
-import java.util.Map.Entry;
-import java.util.Set;
-
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.jface.action.IContributionItem;
-import org.eclipse.jface.action.MenuManager;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.linuxtools.internal.tmf.ui.Activator;
-import org.eclipse.linuxtools.tmf.core.parsers.custom.CustomTxtTrace;
-import org.eclipse.linuxtools.tmf.core.parsers.custom.CustomTxtTraceDefinition;
-import org.eclipse.linuxtools.tmf.core.parsers.custom.CustomXmlTrace;
-import org.eclipse.linuxtools.tmf.core.parsers.custom.CustomXmlTraceDefinition;
-import org.eclipse.linuxtools.tmf.core.project.model.TmfTraceType;
-import org.eclipse.linuxtools.tmf.core.project.model.TmfTraceType.TraceElementType;
-import org.eclipse.linuxtools.tmf.ui.project.model.TmfExperimentElement;
-import org.eclipse.linuxtools.tmf.ui.project.model.TmfTraceElement;
-import org.eclipse.linuxtools.tmf.ui.project.model.TmfTraceTypeUIUtils;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.actions.CompoundContributionItem;
-import org.eclipse.ui.menus.CommandContributionItem;
-import org.eclipse.ui.menus.CommandContributionItemParameter;
-
-/**
- * ContributionItem for the element type selection.
- *
- * @author Patrick Tassé
- */
-public class SelectElementTypeContributionItem extends CompoundContributionItem {
-
- private static final ImageDescriptor SELECTED_ICON = Activator.getDefault().getImageDescripterFromPath("icons/elcl16/bullet.gif"); //$NON-NLS-1$
- private static final String BUNDLE_PARAMETER = "org.eclipse.linuxtools.tmf.ui.commandparameter.select_trace_type.bundle"; //$NON-NLS-1$
- private static final String TYPE_PARAMETER = "org.eclipse.linuxtools.tmf.ui.commandparameter.select_trace_type.type"; //$NON-NLS-1$
- private static final String ICON_PARAMETER = "org.eclipse.linuxtools.tmf.ui.commandparameter.select_trace_type.icon"; //$NON-NLS-1$
- private static final String SELECT_TRACE_TYPE_COMMAND_ID = "org.eclipse.linuxtools.tmf.ui.command.select_trace_type"; //$NON-NLS-1$
- private static final String DEFAULT_TRACE_ICON_PATH = "icons/elcl16/trace.gif"; //$NON-NLS-1$
-
- @Override
- protected IContributionItem[] getContributionItems() {
-
- /*
- * Fill the selected trace types and verify if selection applies only to
- * either traces or experiments
- */
- Set<String> selectedTraceTypes = new HashSet<>();
- IWorkbenchWindow window = PlatformUI.getWorkbench().getActiveWorkbenchWindow();
- IWorkbenchPage page = window.getActivePage();
- ISelection selection = page.getSelection();
- boolean forTraces = false, forExperiments = false;
- if (selection instanceof StructuredSelection) {
- for (Object element : ((StructuredSelection) selection).toList()) {
- if (element instanceof TmfTraceElement) {
- TmfTraceElement trace = (TmfTraceElement) element;
- selectedTraceTypes.add(trace.getTraceType());
- forTraces = true;
- } else if (element instanceof TmfExperimentElement) {
- TmfExperimentElement exp = (TmfExperimentElement) element;
- selectedTraceTypes.add(exp.getTraceType());
- forExperiments = true;
- }
- }
- }
-
- if (forTraces && forExperiments) {
- /* This should never happen anyways */
- throw new RuntimeException("You must select only experiments or only traces to set the element type"); //$NON-NLS-1$
- }
-
- return getContributionItems(selectedTraceTypes, forExperiments);
- }
-
- /**
- * Get the contribution items for traces
- *
- * @param selectedTraceTypes
- * The set of selected trace types
- * @param forExperiments
- * <code>true</code> if the contribution items are requested for
- * experiments, <code>false</code> for traces
- *
- * @return The list of contribution items
- */
- protected IContributionItem[] getContributionItems(Set<String> selectedTraceTypes, boolean forExperiments) {
-
- String ceType = forExperiments ? TmfTraceType.EXPERIMENT_ELEM : TmfTraceType.TYPE_ELEM;
- TraceElementType elementType = forExperiments ? TraceElementType.EXPERIMENT : TraceElementType.TRACE;
-
- List<IContributionItem> list = new LinkedList<>();
-
- Map<String, MenuManager> categoriesMap = new HashMap<>();
- IConfigurationElement[] config = Platform.getExtensionRegistry().getConfigurationElementsFor(
- TmfTraceType.TMF_TRACE_TYPE_ID);
- for (IConfigurationElement ce : config) {
- if (ce.getName().equals(TmfTraceType.CATEGORY_ELEM)) {
- String categoryId = ce.getAttribute(TmfTraceType.ID_ATTR);
- ImageDescriptor icon = isSelectedCategory(categoryId, config, selectedTraceTypes) ? SELECTED_ICON : null;
- MenuManager subMenu = new MenuManager(ce.getAttribute(TmfTraceType.NAME_ATTR), icon, null);
- categoriesMap.put(categoryId, subMenu);
- list.add(subMenu);
- }
- }
-
- for (IConfigurationElement ce : config) {
- if (ce.getName().equals(ceType)) {
- String traceBundle = ce.getContributor().getName();
- String traceTypeId = ce.getAttribute(TmfTraceType.ID_ATTR);
- String label = ce.getAttribute(TmfTraceType.NAME_ATTR).replaceAll("&", "&&"); //$NON-NLS-1$ //$NON-NLS-2$
- boolean selected = selectedTraceTypes.contains(traceTypeId);
- MenuManager subMenu = categoriesMap.get(ce.getAttribute(TmfTraceType.CATEGORY_ATTR));
-
- /* Get the icon from the tmftracetypeui extension, if it exists */
- String traceIcon = null;
- IConfigurationElement uiCE = TmfTraceTypeUIUtils.getTraceUIAttributes(traceTypeId, elementType);
- if (uiCE != null) {
- traceIcon = uiCE.getAttribute(TmfTraceTypeUIUtils.ICON_ATTR);
- }
-
- addContributionItem(list, traceBundle, traceTypeId, traceIcon, label, selected, subMenu);
- }
- }
-
- Comparator<IContributionItem> comparator = new Comparator<IContributionItem>() {
- @Override
- public int compare(IContributionItem o1, IContributionItem o2) {
- if (o1 instanceof MenuManager) {
- if (o2 instanceof MenuManager) {
- MenuManager m1 = (MenuManager) o1;
- MenuManager m2 = (MenuManager) o2;
- return m1.getMenuText().compareTo(m2.getMenuText());
- }
- return -1;
- }
- if (o2 instanceof MenuManager) {
- return 1;
- }
- CommandContributionItem c1 = (CommandContributionItem) o1;
- CommandContributionItem c2 = (CommandContributionItem) o2;
- return c1.getData().label.compareTo(c2.getData().label);
- }
- };
-
- if (forExperiments) {
- Collections.sort(list, comparator);
- return list.toArray(new IContributionItem[list.size()]);
- }
-
- /*
- * Add the custom txt and xml trace type to the contribution items for
- * traces
- */
- for (CustomTxtTraceDefinition def : CustomTxtTraceDefinition.loadAll()) {
- String traceBundle = Activator.getDefault().getBundle().getSymbolicName();
- String traceTypeId = CustomTxtTrace.class.getCanonicalName() + ':' + def.categoryName + ':' + def.definitionName;
- String traceIcon = DEFAULT_TRACE_ICON_PATH;
- String label = def.definitionName;
- boolean selected = selectedTraceTypes.contains(traceTypeId);
- MenuManager subMenu = getCategorySubMenu(list, categoriesMap, def.categoryName, selected);
-
- addContributionItem(list, traceBundle, traceTypeId, traceIcon, label, selected, subMenu);
- }
- for (CustomXmlTraceDefinition def : CustomXmlTraceDefinition.loadAll()) {
- String traceBundle = Activator.getDefault().getBundle().getSymbolicName();
- String traceTypeId = CustomXmlTrace.class.getCanonicalName() + ':' + def.categoryName + ':' + def.definitionName;
- String traceIcon = DEFAULT_TRACE_ICON_PATH;
- String label = def.definitionName;
- boolean selected = selectedTraceTypes.contains(traceTypeId);
- MenuManager subMenu = getCategorySubMenu(list, categoriesMap, def.categoryName, selected);
-
- addContributionItem(list, traceBundle, traceTypeId, traceIcon, label, selected, subMenu);
- }
-
- Collections.sort(list, comparator);
- return list.toArray(new IContributionItem[list.size()]);
- }
-
- private static MenuManager getCategorySubMenu(List<IContributionItem> list,
- Map<String, MenuManager> categoriesMap, String categoryName, boolean selected) {
- for (Entry<String, MenuManager> entry : categoriesMap.entrySet()) {
- MenuManager subMenu = entry.getValue();
- if (subMenu.getMenuText().equals(categoryName)) {
- if (selected) {
- subMenu.setImageDescriptor(SELECTED_ICON);
- }
- return subMenu;
- }
- }
- ImageDescriptor icon = selected ? SELECTED_ICON : null;
- MenuManager subMenu = new MenuManager(categoryName, icon, null);
- categoriesMap.put(categoryName, subMenu);
- list.add(subMenu);
- return subMenu;
- }
-
- private static void addContributionItem(List<IContributionItem> list,
- String traceBundle, String traceTypeId, String traceIcon,
- String label, boolean selected,
- MenuManager subMenu) {
- Map<String, String> params;
-
- params = new HashMap<>();
- params.put(BUNDLE_PARAMETER, traceBundle);
- params.put(TYPE_PARAMETER, traceTypeId);
- params.put(ICON_PARAMETER, traceIcon);
-
- ImageDescriptor icon = null;
- if (selected) {
- icon = SELECTED_ICON;
- }
-
- CommandContributionItemParameter param = new CommandContributionItemParameter(
- PlatformUI.getWorkbench().getActiveWorkbenchWindow(), // serviceLocator
- "my.parameterid", // id //$NON-NLS-1$
- SELECT_TRACE_TYPE_COMMAND_ID, // commandId
- CommandContributionItem.STYLE_PUSH // style
- );
- param.parameters = params;
- param.icon = icon;
- param.disabledIcon = icon;
- param.hoverIcon = icon;
- param.label = label;
- param.visibleEnabled = true;
-
- if (subMenu != null) {
- subMenu.add(new CommandContributionItem(param));
- } else {
- list.add(new CommandContributionItem(param));
- }
- }
-
- private static boolean isSelectedCategory(String categoryId, IConfigurationElement[] config, Set<String> selectedTraceTypes) {
- for (IConfigurationElement ce : config) {
- if (ce.getName().equals(TmfTraceType.TYPE_ELEM)) {
- String traceTypeId = ce.getAttribute(TmfTraceType.ID_ATTR);
- if (selectedTraceTypes.contains(traceTypeId)) {
- if (categoryId.equals(ce.getAttribute(TmfTraceType.CATEGORY_ATTR))) {
- return true;
- }
- }
- }
- }
- return false;
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/handlers/SelectTraceTypeHandler.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/handlers/SelectTraceTypeHandler.java
deleted file mode 100644
index 5d765227fb..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/handlers/SelectTraceTypeHandler.java
+++ /dev/null
@@ -1,203 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011, 2014 Ericsson, École Polytechnique de Montréal
- *
- * 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
- * Patrick Tasse - Fix propagation to experiment traces
- * Geneviève Bastien - Add support of experiment types
- *******************************************************************************/
-
-package org.eclipse.linuxtools.internal.tmf.ui.project.handlers;
-
-import java.util.ArrayList;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Set;
-
-import org.eclipse.core.commands.AbstractHandler;
-import org.eclipse.core.commands.ExecutionEvent;
-import org.eclipse.core.commands.ExecutionException;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.MultiStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jface.dialogs.ErrorDialog;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.ISelectionProvider;
-import org.eclipse.jface.viewers.TreeSelection;
-import org.eclipse.linuxtools.internal.tmf.ui.Activator;
-import org.eclipse.linuxtools.tmf.core.project.model.TmfTraceType;
-import org.eclipse.linuxtools.tmf.core.project.model.TraceTypeHelper;
-import org.eclipse.linuxtools.tmf.ui.project.model.TmfCommonProjectElement;
-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;
-import org.eclipse.linuxtools.tmf.ui.project.model.TmfTraceElement;
-import org.eclipse.linuxtools.tmf.ui.project.model.TmfTraceTypeUIUtils;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.PlatformUI;
-
-/**
- * <b><u>SetTraceTypeHandler</u></b>
- * <p>
- */
-public class SelectTraceTypeHandler extends AbstractHandler {
-
- // ------------------------------------------------------------------------
- // Constants
- // ------------------------------------------------------------------------
-
- private static final String TYPE_PARAMETER = "org.eclipse.linuxtools.tmf.ui.commandparameter.select_trace_type.type"; //$NON-NLS-1$
-
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
-
- private TreeSelection fSelection = null;
-
- // ------------------------------------------------------------------------
- // Validation
- // ------------------------------------------------------------------------
-
- @Override
- public boolean isEnabled() {
-
- // Check if we are closing down
- IWorkbenchWindow window = PlatformUI.getWorkbench().getActiveWorkbenchWindow();
- if (window == null) {
- return false;
- }
-
- // Get the selection
- IWorkbenchPage page = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage();
- IWorkbenchPart part = page.getActivePart();
- if (part == null) {
- return false;
- }
- ISelectionProvider selectionProvider = part.getSite().getSelectionProvider();
- if (selectionProvider == null) {
- return false;
- }
- ISelection selection = selectionProvider.getSelection();
-
- // Make sure selection contains only traces
- fSelection = null;
- if (selection instanceof TreeSelection) {
- fSelection = (TreeSelection) selection;
- Iterator<Object> iterator = fSelection.iterator();
- while (iterator.hasNext()) {
- Object element = iterator.next();
- if (!(element instanceof TmfCommonProjectElement)) {
- return false;
- }
- }
- }
-
- // If we get here, either nothing is selected or everything is a trace
- return !selection.isEmpty();
- }
-
- // ------------------------------------------------------------------------
- // Execution
- // ------------------------------------------------------------------------
-
- @Override
- public Object execute(ExecutionEvent event) throws ExecutionException {
-
- // Check if we are closing down
- IWorkbenchWindow window = PlatformUI.getWorkbench().getActiveWorkbenchWindow();
- if (window == null) {
- return null;
- }
- List<IStatus> statuses = new ArrayList<>();
- Set<TmfProjectElement> projects = new HashSet<>();
- boolean ok = true;
- for (Object element : fSelection.toList()) {
- TmfCommonProjectElement trace = (TmfCommonProjectElement) element;
- if (trace instanceof TmfTraceElement) {
- trace = ((TmfTraceElement) trace).getElementUnderTraceFolder();
- }
- IResource resource = trace.getResource();
- if (resource != null) {
- try {
- // Set the trace type for this resource
- String traceType = event.getParameter(TYPE_PARAMETER);
- String previousTraceType = trace.getTraceType();
- IStatus status = propagateProperties(trace, traceType);
- ok &= status.isOK();
-
- if (status.isOK()) {
- if ((previousTraceType != null) && (!traceType.equals(previousTraceType))) {
- // Close the trace if open
- trace.closeEditors();
- // Delete all supplementary resources
- trace.deleteSupplementaryResources();
- }
- } else {
- statuses.add(status);
- }
- projects.add(trace.getProject());
- } catch (CoreException e) {
- Activator.getDefault().logError(Messages.SelectTraceTypeHandler_ErrorSelectingTrace + trace.getName(), e);
- }
- }
- trace.getProject();
- }
- for (TmfProjectElement project : projects) {
- project.refresh();
- }
-
- if (!ok) {
- final Shell shell = window.getShell();
- MultiStatus info = new MultiStatus(Activator.PLUGIN_ID, 1, Messages.SelectTraceTypeHandler_TraceFailedValidation, null);
- if (statuses.size() > 1)
- {
- info = new MultiStatus(Activator.PLUGIN_ID, 1, Messages.SelectTraceTypeHandler_TracesFailedValidation, null);
- }
- for (IStatus status : statuses) {
- info.add(status);
- }
- ErrorDialog.openError(shell, Messages.SelectTraceTypeHandler_Title, Messages.SelectTraceTypeHandler_InvalidTraceType, info);
- }
- return null;
- }
-
- private static IStatus propagateProperties(TmfCommonProjectElement element, String traceType)
- throws CoreException {
-
- TraceTypeHelper traceTypeHelper = TmfTraceType.getTraceType(traceType);
- if (traceTypeHelper == null) {
- return Status.CANCEL_STATUS;
- }
- final IStatus validateTraceType = traceTypeHelper.validate(element.getResource().getLocation().toOSString());
- if (!validateTraceType.isOK()) {
- return validateTraceType;
- }
-
- IResource resource = element.getResource();
- TmfTraceTypeUIUtils.setTraceType(resource, traceTypeHelper);
-
- TmfExperimentFolder experimentFolder = element.getProject().getExperimentsFolder();
- for (final TmfExperimentElement experiment : experimentFolder.getExperiments()) {
- for (final TmfTraceElement child : experiment.getTraces()) {
- if (child.getName().equals(element.getName())) {
- TmfTraceTypeUIUtils.setTraceType(child.getResource(), traceTypeHelper);
- break;
- }
- }
- }
-
- return Status.OK_STATUS;
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/handlers/SelectTracesHandler.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/handlers/SelectTracesHandler.java
deleted file mode 100644
index c46b5a85ae..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/handlers/SelectTracesHandler.java
+++ /dev/null
@@ -1,107 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009, 2013 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.internal.tmf.ui.project.handlers;
-
-import org.eclipse.core.commands.AbstractHandler;
-import org.eclipse.core.commands.ExecutionEvent;
-import org.eclipse.core.commands.ExecutionException;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.ISelectionProvider;
-import org.eclipse.jface.viewers.TreeSelection;
-import org.eclipse.jface.wizard.WizardDialog;
-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;
-import org.eclipse.linuxtools.tmf.ui.project.wizards.SelectTracesWizard;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.PlatformUI;
-
-/**
- * <b><u>SelectTracesHandler</u></b>
- * <p>
- */
-public class SelectTracesHandler extends AbstractHandler {
-
- private TmfExperimentElement fExperiment = null;
-
- // ------------------------------------------------------------------------
- // Validation
- // ------------------------------------------------------------------------
-
- @Override
- public boolean isEnabled() {
-
- // Check if we are closing down
- IWorkbenchWindow window = PlatformUI.getWorkbench().getActiveWorkbenchWindow();
- if (window == null) {
- return false;
- }
-
- // Get the selection
- IWorkbenchPage page = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage();
- IWorkbenchPart part = page.getActivePart();
- if (part == null) {
- return false;
- }
- ISelectionProvider selectionProvider = part.getSite().getSelectionProvider();
- if (selectionProvider == null) {
- return false;
- }
- ISelection selection = selectionProvider.getSelection();
-
- // Make sure there is only one selection and that it is an experiment
- fExperiment = null;
- if (selection instanceof TreeSelection) {
- TreeSelection sel = (TreeSelection) selection;
- // There should be only one item selected as per the plugin.xml
- Object element = sel.getFirstElement();
- if (element instanceof TmfExperimentElement) {
- fExperiment = (TmfExperimentElement) element;
- }
- }
-
- return (fExperiment != null);
- }
-
- // ------------------------------------------------------------------------
- // Execution
- // ------------------------------------------------------------------------
-
- @Override
- public Object execute(ExecutionEvent event) throws ExecutionException {
-
- // Check if we are closing down
- IWorkbenchWindow window = PlatformUI.getWorkbench().getActiveWorkbenchWindow();
- if (window == null) {
- return null;
- }
-
- // Fire the Select Traces Wizard
- IWorkbench workbench = PlatformUI.getWorkbench();
- Shell shell = workbench.getActiveWorkbenchWindow().getShell();
-
- TmfExperimentFolder experiments = (TmfExperimentFolder) fExperiment.getParent();
- TmfProjectElement project = (TmfProjectElement) experiments.getParent();
- SelectTracesWizard wizard = new SelectTracesWizard(project, fExperiment);
- wizard.init(PlatformUI.getWorkbench(), null);
- WizardDialog dialog = new WizardDialog(shell, wizard);
- dialog.open();
-
- return null;
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/handlers/SynchronizeTracesHandler.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/handlers/SynchronizeTracesHandler.java
deleted file mode 100644
index e7f18dbca6..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/handlers/SynchronizeTracesHandler.java
+++ /dev/null
@@ -1,279 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013, 2014 École Polytechnique de Montréal
- *
- * 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:
- * Geneviève Bastien - Initial implementation and API
- *******************************************************************************/
-
-package org.eclipse.linuxtools.internal.tmf.ui.project.handlers;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.core.commands.AbstractHandler;
-import org.eclipse.core.commands.ExecutionEvent;
-import org.eclipse.core.commands.ExecutionException;
-import org.eclipse.core.resources.IContainer;
-import org.eclipse.core.resources.IFolder;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.ISelectionProvider;
-import org.eclipse.jface.viewers.TreeSelection;
-import org.eclipse.linuxtools.internal.tmf.ui.Activator;
-import org.eclipse.linuxtools.tmf.core.event.ITmfEvent;
-import org.eclipse.linuxtools.tmf.core.exceptions.TmfTraceException;
-import org.eclipse.linuxtools.tmf.core.synchronization.SynchronizationAlgorithm;
-import org.eclipse.linuxtools.tmf.core.trace.ITmfTrace;
-import org.eclipse.linuxtools.tmf.core.trace.TmfExperiment;
-import org.eclipse.linuxtools.tmf.core.trace.TmfTraceManager;
-import org.eclipse.linuxtools.tmf.ui.project.model.TmfExperimentElement;
-import org.eclipse.linuxtools.tmf.ui.project.model.TmfTraceElement;
-import org.eclipse.linuxtools.tmf.ui.project.model.TraceUtils;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.PlatformUI;
-
-/**
- * Handles the synchronization of an experiment, when the user selects this
- * option in the menu
- */
-public class SynchronizeTracesHandler extends AbstractHandler {
-
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
-
- private TreeSelection fSelection = null;
- private static final String CR = System.getProperty("line.separator"); //$NON-NLS-1$
-
- // ------------------------------------------------------------------------
- // Validation
- // ------------------------------------------------------------------------
-
- @Override
- public boolean isEnabled() {
- return true;
- }
-
- // ------------------------------------------------------------------------
- // Execution
- // ------------------------------------------------------------------------
-
- @Override
- public Object execute(ExecutionEvent event) throws ExecutionException {
-
- // Check if we are closing down
- IWorkbenchWindow window = PlatformUI.getWorkbench().getActiveWorkbenchWindow();
- if (window == null) {
- return null;
- }
-
- // Get the selection
- IWorkbenchPage page = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage();
- IWorkbenchPart part = page.getActivePart();
- if (part == null) {
- return Boolean.FALSE;
- }
- ISelectionProvider selectionProvider = part.getSite().getSelectionProvider();
- if (selectionProvider == null) {
- return Boolean.FALSE;
- }
- ISelection selection = selectionProvider.getSelection();
-
- // Make sure selection contains only traces
- fSelection = null;
- final ArrayList<TmfTraceElement> tl = new ArrayList<>();
- final ArrayList<TmfExperimentElement> uiexperiment = new ArrayList<>();
- if (selection instanceof TreeSelection) {
- fSelection = (TreeSelection) selection;
- Iterator<Object> iterator = fSelection.iterator();
- while (iterator.hasNext()) {
- Object element = iterator.next();
- if (element instanceof TmfTraceElement) {
- tl.add((TmfTraceElement) element);
- } else if (element instanceof TmfExperimentElement) {
- TmfExperimentElement exp = (TmfExperimentElement) element;
- uiexperiment.add(exp);
- for (TmfTraceElement trace : exp.getTraces()) {
- tl.add(trace);
- }
- }
- }
- }
-
- if ((uiexperiment.size() != 1) || (tl.size() < 2)) {
- TraceUtils.displayErrorMsg(Messages.SynchronizeTracesHandler_Title, Messages.SynchronizeTracesHandler_WrongTraceNumber);
- return null;
- }
-
- Thread thread = new Thread() {
- @Override
- public void run() {
-
- final ITmfTrace[] traces = new ITmfTrace[tl.size()];
- final TmfExperimentElement exp = uiexperiment.get(0);
-
- for (int i = 0; i < tl.size(); i++) {
- ITmfTrace trace = tl.get(i).instantiateTrace();
- ITmfEvent traceEvent = tl.get(i).instantiateEvent();
- if (trace == null) {
- TraceUtils.displayErrorMsg(Messages.SynchronizeTracesHandler_Title, Messages.SynchronizeTracesHandler_WrongType + tl.get(i).getName());
- for (int j = 0; j < i; j++) {
- traces[j].dispose();
- }
- return;
- }
- try {
- trace.initTrace(tl.get(i).getResource(), tl.get(i).getResource().getLocation().toOSString(), traceEvent.getClass());
- TmfTraceManager.refreshSupplementaryFiles(trace);
- } catch (TmfTraceException e) {
- TraceUtils.displayErrorMsg(Messages.SynchronizeTracesHandler_Title, Messages.SynchronizeTracesHandler_InitError + CR + CR + e);
- trace.dispose();
- for (int j = 0; j < i; j++) {
- traces[j].dispose();
- }
- return;
- }
- traces[i] = trace;
- }
-
- /*
- * FIXME Unlike traces, there is no instanceExperiment, so
- * we call this function here alone. Maybe it would be
- * better to do this on experiment's element constructor?
- */
- exp.refreshSupplementaryFolder();
- final TmfExperiment experiment = new TmfExperiment(ITmfEvent.class, exp.getName(), traces, exp.getResource());
-
- final SynchronizationAlgorithm syncAlgo = experiment.synchronizeTraces(true);
- TmfTraceManager.refreshSupplementaryFiles(experiment);
-
- Display.getDefault().asyncExec(new Runnable() {
- @Override
- public void run() {
- List<TmfTraceElement> tracesToAdd = new ArrayList<>();
- List<TmfTraceElement> tracesToRemove = new ArrayList<>();
- /*
- * For each trace in the experiment, if there is
- * a transform equation, copy the original
- * trace, so that a new state system will be
- * generated with sync time.
- */
- for (TmfTraceElement traceel : tl) {
- /*
- * Find the trace corresponding to this
- * element in the experiment
- */
- ITmfTrace expTrace = null;
- for (ITmfTrace t : experiment.getTraces()) {
- if (t.getResource().equals(traceel.getResource())) {
- expTrace = t;
- break;
- }
- }
- if ((expTrace != null) && syncAlgo.isTraceSynced(expTrace.getHostId())) {
-
- /* Find the original trace */
- TmfTraceElement origtrace = traceel.getElementUnderTraceFolder();
-
- /*
- * Make sure a trace with the
- * new name does not exist
- */
- String newname = traceel.getName();
- IContainer parentFolder = origtrace.getResource().getParent();
- boolean traceexists;
- do {
- traceexists = false;
- newname += "_"; //$NON-NLS-1$
- if (parentFolder.findMember(newname) != null) {
- traceexists = true;
- }
- } while (traceexists);
-
- /* Copy the original trace */
- TmfTraceElement newtrace = origtrace.copy(newname);
- if (newtrace == null) {
- TraceUtils.displayErrorMsg(Messages.SynchronizeTracesHandler_Title,
- Messages.SynchronizeTracesHandler_Error + CR + CR + String.format(Messages.SynchronizeTracesHandler_CopyProblem, origtrace.getName()));
- continue;
- }
-
- /*
- * Instantiate the new trace
- * and set its sync formula
- */
- ITmfTrace trace = newtrace.instantiateTrace();
- ITmfEvent traceEvent = newtrace.instantiateEvent();
-
- try {
- trace.initTrace(newtrace.getResource(), newtrace.getResource().getLocation().toOSString(), traceEvent.getClass());
- } catch (TmfTraceException e) {
- Activator.getDefault().logError(String.format(Messages.SynchronizeTracesHandler_ErrorSynchingForTrace, exp.getName(), traceel.getName()), e);
- TraceUtils.displayErrorMsg(Messages.SynchronizeTracesHandler_Title, Messages.SynchronizeTracesHandler_Error + CR + CR + e.getMessage());
- }
- trace.setTimestampTransform(syncAlgo.getTimestampTransform(trace));
- TmfTraceManager.refreshSupplementaryFiles(trace);
- trace.dispose();
-
- tracesToAdd.add(newtrace);
- tracesToRemove.add(traceel);
- }
- }
- experiment.dispose();
-
- // Move synchronization file temporarily so that
- // it doesn't get deleted by the experiment change
- IFolder tmpFolder = exp.getTraceSupplementaryFolder(exp.getName() + '.' + experiment.getSynchronizationFolder(false));
- IResource syncFile = null;
- for (IResource resource : exp.getSupplementaryResources()) {
- if (resource.getName().equals(experiment.getSynchronizationFolder(false))) {
- try {
- resource.move(tmpFolder.getFullPath(), false, null);
- syncFile = resource;
- break;
- } catch (CoreException e) {
- Activator.getDefault().logError(String.format(Messages.SynchronizeTracesHandler_ErrorSynchingExperiment, exp.getName()), e);
- }
- }
- }
-
- for (TmfTraceElement trace : tracesToRemove) {
- try {
- exp.removeTrace(trace);
- } catch (CoreException e) {
- Activator.getDefault().logError(String.format(Messages.SynchronizeTracesHandler_ErrorSynchingForTrace, exp.getName(), trace.getName()), e);
- TraceUtils.displayErrorMsg(Messages.SynchronizeTracesHandler_Title, Messages.SynchronizeTracesHandler_Error + CR + CR + e.getMessage());
- }
- }
- for (TmfTraceElement trace : tracesToAdd) {
- exp.addTrace(trace);
- }
-
- // Move synchronization file back
- if (tmpFolder.exists() && syncFile != null) {
- try {
- tmpFolder.move(syncFile.getFullPath(), false, null);
- } catch (CoreException e) {
- Activator.getDefault().logError(String.format(Messages.SynchronizeTracesHandler_ErrorSynchingExperiment, exp.getName()), e);
- }
- }
- }
- });
- }
- };
- thread.start();
-
- return null;
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/handlers/TmfActionProvider.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/handlers/TmfActionProvider.java
deleted file mode 100644
index e6921f77ca..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/handlers/TmfActionProvider.java
+++ /dev/null
@@ -1,81 +0,0 @@
-/*******************************************************************************
-* Copyright (c) 2012, 2014 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:
- * Patrick Tasse - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.internal.tmf.ui.project.handlers;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.jface.action.IMenuManager;
-import org.eclipse.jface.action.MenuManager;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.linuxtools.tmf.ui.project.model.TmfTraceElement;
-import org.eclipse.ui.IActionBars;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.actions.OpenWithMenu;
-import org.eclipse.ui.navigator.CommonActionProvider;
-import org.eclipse.ui.navigator.ICommonActionConstants;
-import org.eclipse.ui.navigator.ICommonActionExtensionSite;
-import org.eclipse.ui.navigator.ICommonMenuConstants;
-import org.eclipse.ui.navigator.ICommonViewerSite;
-import org.eclipse.ui.navigator.ICommonViewerWorkbenchSite;
-
-/**
- * Base action provider.
- *
- * @author Patrick Tassé
- */
-public class TmfActionProvider extends CommonActionProvider {
-
- private OpenAction openAction;
-
- private IWorkbenchPage page;
-
- /**
- * Default constructor
- */
- public TmfActionProvider() {
- }
-
- @Override
- public void init(ICommonActionExtensionSite aSite) {
- ICommonViewerSite viewSite = aSite.getViewSite();
- if (viewSite instanceof ICommonViewerWorkbenchSite) {
- ICommonViewerWorkbenchSite workbenchSite = (ICommonViewerWorkbenchSite) viewSite;
- page = workbenchSite.getPage();
- openAction = new OpenAction(page, workbenchSite.getSelectionProvider());
- }
- }
-
- @Override
- public void fillContextMenu(IMenuManager menu) {
- ISelection selection = getContext().getSelection();
- if (selection instanceof IStructuredSelection) {
- IStructuredSelection structuredSelection = (IStructuredSelection) selection;
- if (structuredSelection.size() == 1 && structuredSelection.getFirstElement() instanceof TmfTraceElement) {
- TmfTraceElement traceElement = (TmfTraceElement) structuredSelection.getFirstElement();
- if (traceElement.getResource() instanceof IFile) {
- MenuManager openWithMenu = new MenuManager(Messages.TmfActionProvider_OpenWith);
- openWithMenu.add(new OpenWithMenu(page, traceElement.getResource()));
- menu.insertAfter(ICommonMenuConstants.GROUP_OPEN_WITH, openWithMenu);
- }
- }
- }
- }
-
- @Override
- public void fillActionBars(IActionBars actionBars) {
- if (openAction.isEnabled()) {
- actionBars.setGlobalActionHandler(ICommonActionConstants.OPEN, openAction);
- }
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/handlers/TracePropertyTester.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/handlers/TracePropertyTester.java
deleted file mode 100644
index ec07402015..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/handlers/TracePropertyTester.java
+++ /dev/null
@@ -1,118 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2012, 2013 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.internal.tmf.ui.project.handlers;
-
-import java.util.Iterator;
-
-import org.eclipse.core.expressions.PropertyTester;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.linuxtools.tmf.ui.project.model.TmfExperimentElement;
-import org.eclipse.linuxtools.tmf.ui.project.model.TmfTraceElement;
-import org.eclipse.linuxtools.tmf.ui.project.model.TmfTraceFolder;
-
-/**
- * <b><u>TracePropertyTester</u></b>
- * <p>
- */
-public class TracePropertyTester extends PropertyTester {
-
- // ------------------------------------------------------------------------
- // Constants
- // ------------------------------------------------------------------------
-
- private final static String IS_IN_TRACE_FOLDER = "isInTraceFolder"; //$NON-NLS-1$
- private final static String IS_EXPERIMENT_TRACE = "isExperimentTrace"; //$NON-NLS-1$
- private final static String HAS_SUPPLEMENTARY_FILES = "hasSupplementaryFiles"; //$NON-NLS-1$
- private final static String TRACE_TYPE = "traceType"; //$NON-NLS-1$
-
- // ------------------------------------------------------------------------
- // Constructor
- // ------------------------------------------------------------------------
-
- /**
- * Default constructor
- */
- public TracePropertyTester() {
- }
-
- // ------------------------------------------------------------------------
- // IPropertyTester
- // ------------------------------------------------------------------------
-
- @Override
- public boolean test(Object receiver, String property, Object[] args, Object expectedValue) {
-
- // Check if the selected elements are in the trace folder
- if (IS_IN_TRACE_FOLDER.equals(property)) {
- if (receiver != null && receiver instanceof IStructuredSelection) {
- Iterator<?> iter = ((IStructuredSelection) receiver).iterator();
- while (iter.hasNext()) {
- Object item = iter.next();
- if (item instanceof TmfTraceElement) {
- TmfTraceElement trace = (TmfTraceElement) item;
- if (!(trace.getParent() instanceof TmfTraceFolder)) {
- return false;
- }
- } else {
- return false;
- }
- }
- return true;
- }
- }
-
- // Check if the parent of a trace element is an experiment
- if (IS_EXPERIMENT_TRACE.equals(property)) {
- if (receiver != null && receiver instanceof TmfTraceElement) {
- TmfTraceElement trace = (TmfTraceElement) receiver;
- return trace.getParent() instanceof TmfExperimentElement;
- }
- return false;
- }
-
- // Check if traces has supplementary files
- if (HAS_SUPPLEMENTARY_FILES.equals(property)) {
- if (receiver == null) {
- return false;
- }
-
- if (receiver instanceof TmfTraceElement) {
- TmfTraceElement trace = (TmfTraceElement) receiver;
- return trace.hasSupplementaryResources();
- } else if (receiver instanceof TmfExperimentElement) {
- TmfExperimentElement trace = (TmfExperimentElement) receiver;
- boolean hasHistory = false;
- for (TmfTraceElement aTrace : trace.getTraces()) {
- hasHistory |= aTrace.hasSupplementaryResources();
- }
- hasHistory |= trace.hasSupplementaryResources();
- return hasHistory;
- }
- return false;
- }
-
- // Check if the trace element is of a specific trace type
- if (TRACE_TYPE.equals(property)) {
- if (receiver != null && receiver instanceof TmfTraceElement) {
- TmfTraceElement trace = (TmfTraceElement) receiver;
- if (expectedValue instanceof String && expectedValue.equals(trace.getTraceType())) {
- return true;
- }
- }
- return false;
- }
-
- return false;
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/handlers/messages.properties b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/handlers/messages.properties
deleted file mode 100644
index 95ab3da1f3..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/handlers/messages.properties
+++ /dev/null
@@ -1,70 +0,0 @@
-###############################################################################
-# Copyright (c) 2013, 2014 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:
-# Ericsson - Initial API and implementation
-###############################################################################
-
-# Delete message
-DeleteDialog_Title = Confirm Delete
-DeleteTraceHandler_Message = Are you sure you want to delete the selected trace(s)?
-DeleteTraceHandler_Error = Error deleting trace
-DeleteTraceHandler_TaskName = Deleting trace
-RemoveDialog_Title = Confirm Remove
-RemoveTraceFromExperimentHandler_Message = Are you sure you want to remove the selected trace(s)?
-RemoveTraceFromExperimentHandler_TaskName = Removing trace
-RemoveTraceFromExperimentHandler_Error = Error removing trace
-DeleteExperimentHandler_Message = Are you sure you want to delete this experiment?
-DeleteExperimentHandler_Error = Error deleting experiment
-DeleteFolderHandler_Message = Are you sure you want to delete the selected folder(s)?
-DeleteFolderHandler_Error = Error deleting folder
-DeleteFolderHandler_TaskName = Deleting folder
-DeleteTraceHandlerGeneric_Message = Are you sure you want to delete the selected elements?
-DeleteTraceHandlerGeneric_Error= Error deleting elements
-
-# Clear message
-ClearDialog_Title = Confirm Clear
-DeleteFolderHandlerClear_TaskName = Clearing folder
-DeleteFolderHandlerClear_Message = Are you sure you want to clear the selected folder(s)?
-DeleteFolderHandlerClear_Error = Error clearing folder
-
-# Set Trace Type
-SelectTraceTypeHandler_ErrorSelectingTrace=Error selecting trace type for trace
-SelectTraceTypeHandler_Title = Validation Error
-SelectTraceTypeHandler_TraceFailedValidation=A trace has failed validation
-SelectTraceTypeHandler_TracesFailedValidation=Several trace files failed validation
-SelectTraceTypeHandler_InvalidTraceType = Type could not be set for one or more traces
-
-# Drag and drop
-DropAdapterAssistant_RenameTraceTitle=Confirm rename trace
-DropAdapterAssistant_RenameTraceMessage=An element with the name ''{0}'' already exists in the target folder.\nRename the dropped trace?
-
-# Trace synchronization
-SynchronizeTracesHandler_InitError=Error initializing trace
-SynchronizeTracesHandler_CopyProblem=Couldn't copy the original trace %s
-SynchronizeTracesHandler_WrongTraceNumber=Experiment must have more than one trace
-SynchronizeTracesHandler_Title=Synchronize traces
-SynchronizeTracesHandler_WrongType=Trace is not a kernel trace:\n
-SynchronizeTracesHandler_Error=Error synchronizing experiment
-
-SynchronizeTracesHandler_ErrorSynchingExperiment=Error synchronizing experiment %s
-SynchronizeTracesHandler_ErrorSynchingForTrace=Error synchronizing experiment %s for trace %s
-
-ClearTraceOffsetHandler_Title=Clear time offset
-ClearTraceOffsetHandler_ConfirmMessage=Are you sure you want to clear the time offset for the selected trace(s)?
-
-# Delete Supplementary Files messages
-DeleteSupplementaryFiles_DeletionTask=Deleting supplementary files for {0}
-DeleteSupplementaryFiles_ProjectRefreshTask=Refreshing project {0}
-
-
-# Analysis modules
-AnalysisModule_Help=Help
-
-# TMF Action Provider
-TmfActionProvider_OpenWith=Open With
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/model/TmfEditorLinkHelper.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/model/TmfEditorLinkHelper.java
deleted file mode 100644
index 552123ea3c..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/model/TmfEditorLinkHelper.java
+++ /dev/null
@@ -1,130 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2012, 2014 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:
- * Bernd Hufmann - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.linuxtools.internal.tmf.ui.project.model;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.linuxtools.tmf.core.TmfCommonConstants;
-import org.eclipse.linuxtools.tmf.core.trace.TmfExperiment;
-import org.eclipse.linuxtools.tmf.core.trace.TmfTrace;
-import org.eclipse.linuxtools.tmf.ui.project.model.TmfExperimentElement;
-import org.eclipse.linuxtools.tmf.ui.project.model.TmfProjectElement;
-import org.eclipse.linuxtools.tmf.ui.project.model.TmfProjectRegistry;
-import org.eclipse.linuxtools.tmf.ui.project.model.TmfTraceElement;
-import org.eclipse.ui.IEditorInput;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.IEditorReference;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.ide.ResourceUtil;
-import org.eclipse.ui.navigator.ILinkHelper;
-import org.eclipse.ui.part.FileEditorInput;
-
-/**
- * Implementation of ILinkHelper interface for linking with editor extension for traces and
- * experiments.
- *
- * @author Bernd Hufmann
- */
-public class TmfEditorLinkHelper implements ILinkHelper {
-
- @Override
- public IStructuredSelection findSelection(IEditorInput anInput) {
- IFile file = ResourceUtil.getFile(anInput);
- if (file != null) {
-
- try {
- // Get the trace type ID
- String traceTypeId = file.getPersistentProperty(TmfCommonConstants.TRACETYPE);
- if (traceTypeId == null) {
- return StructuredSelection.EMPTY;
- }
-
- final TmfProjectElement project = TmfProjectRegistry.getProject(file.getProject(), true);
-
- // Check for experiments, traces which are folders or traces which are files
- if (traceTypeId.equals(TmfExperiment.class.getCanonicalName())) {
- // Case 1: Experiment
- for (final TmfExperimentElement experimentElement : project.getExperimentsFolder().getExperiments()) {
- if (experimentElement.getResource().equals(file.getParent())) {
- return new StructuredSelection(experimentElement);
- }
- }
- } else if (traceTypeId.equals(TmfTrace.class.getCanonicalName())) {
- // Case 2: Trace that is a folder
- for (final TmfTraceElement traceElement : project.getTracesFolder().getTraces()) {
- if (traceElement.getResource().equals(file.getParent())) {
- return new StructuredSelection(traceElement);
- }
- }
- } else {
- // Case 3: Trace that is a file
- for (final TmfTraceElement traceElement : project.getTracesFolder().getTraces()) {
- if (traceElement.getResource().equals(file)) {
- return new StructuredSelection(traceElement);
- }
- }
- }
- } catch (CoreException e) {
- return StructuredSelection.EMPTY;
- }
- }
- return StructuredSelection.EMPTY;
- }
-
- @Override
- public void activateEditor(IWorkbenchPage aPage, IStructuredSelection aSelection) {
- if (aSelection == null || aSelection.isEmpty()) {
- return;
- }
-
- IFile file = null;
-
- if ((aSelection.getFirstElement() instanceof TmfTraceElement)) {
- TmfTraceElement traceElement = ((TmfTraceElement)aSelection.getFirstElement());
-
- // If trace is under an experiment, use the original trace from the traces folder
- traceElement = traceElement.getElementUnderTraceFolder();
- file = traceElement.getBookmarksFile();
- } else if ((aSelection.getFirstElement() instanceof TmfExperimentElement)) {
- TmfExperimentElement experimentElement = (TmfExperimentElement) aSelection.getFirstElement();
- file = experimentElement.getBookmarksFile();
- }
-
- if (file != null) {
- IEditorInput tmpInput = new FileEditorInput(file);
- IEditorPart localEditor = aPage.findEditor(tmpInput);
- if (localEditor != null) {
- // Editor found.
- aPage.bringToTop(localEditor);
- } else {
- // Search in references for corresponding editor
- IEditorReference[] refs = aPage.getEditorReferences();
- for (IEditorReference editorReference : refs) {
- try {
- if (editorReference.getEditorInput().equals(tmpInput)) {
- localEditor = editorReference.getEditor(true);
- if (localEditor != null) {
- aPage.bringToTop(localEditor);
- }
- }
- } catch (PartInitException e) {
- // Ignore
- }
- }
- }
- }
- }
-}
-
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/model/TmfImportHelper.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/model/TmfImportHelper.java
deleted file mode 100644
index 11ed7e41f4..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/model/TmfImportHelper.java
+++ /dev/null
@@ -1,76 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2013, 2014 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:
- * Matthew Khouzam - Initial API and implementation
- **********************************************************************/
-
-package org.eclipse.linuxtools.internal.tmf.ui.project.model;
-
-import java.io.File;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IFolder;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IWorkspace;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.linuxtools.internal.tmf.ui.Activator;
-
-/**
- * Import helper used to import traces
- *
- * It has two purposes: - import files and directories into projects - set the
- * resource types
- *
- * @author Matthew Khouzam
- */
-public class TmfImportHelper {
-
- /**
- * Create a link and replace what was already there.
- *
- * @param parentFolder
- * the resource to import to, does not contain the element name
- * @param location
- * where the resource (file/directory) is located
- * @param targetName
- * the name to display
- * @return the resource created. Should not be null
- * @throws CoreException
- * an exception made by createLink.
- */
- public static IResource createLink(IFolder parentFolder, IPath location, String targetName) throws CoreException {
- File source = new File(location.toString());
- IResource res = null;
- IWorkspace workspace = ResourcesPlugin.getWorkspace();
- if (source.isDirectory()) {
- IFolder folder = parentFolder.getFolder(targetName);
- IStatus result = workspace.validateLinkLocation(folder, location);
- if (result.isOK() || result.matches(IStatus.INFO | IStatus.WARNING)) {
- folder.createLink(location, IResource.REPLACE, new NullProgressMonitor());
- } else {
- Activator.getDefault().logError(result.getMessage());
- }
- } else {
- IFile file = parentFolder.getFile(targetName);
- IStatus result = workspace.validateLinkLocation(file, location);
- if (result.isOK() || result.matches(IStatus.INFO | IStatus.WARNING)) {
- file.createLink(location, IResource.REPLACE,
- new NullProgressMonitor());
- } else {
- Activator.getDefault().logError(result.getMessage());
- }
- }
- res = parentFolder.findMember(targetName);
- return res;
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/operations/TmfWorkspaceModifyOperation.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/operations/TmfWorkspaceModifyOperation.java
deleted file mode 100644
index a0b5ac2b19..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/operations/TmfWorkspaceModifyOperation.java
+++ /dev/null
@@ -1,114 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 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:
- * Bernd Hufmann - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.linuxtools.internal.tmf.ui.project.operations;
-
-import java.lang.reflect.InvocationTargetException;
-
-import org.eclipse.core.resources.IWorkspace;
-import org.eclipse.core.resources.IWorkspaceRunnable;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.OperationCanceledException;
-import org.eclipse.core.runtime.jobs.ISchedulingRule;
-import org.eclipse.jface.operation.IRunnableWithProgress;
-import org.eclipse.ui.actions.WorkspaceModifyOperation;
-
-/**
- * Operation to modify the workspace that refreshes workspace at the end of the operation.
- *
- * For refreshing periodically use {@link WorkspaceModifyOperation} instead.
- *
- * @author Bernd Hufmann
- *
- */
-public abstract class TmfWorkspaceModifyOperation implements IRunnableWithProgress {
-
- private ISchedulingRule rule;
-
- /**
- * Creates a new operation.
- */
- protected TmfWorkspaceModifyOperation() {
- this(ResourcesPlugin.getWorkspace().getRoot());
- }
-
- /**
- * Creates a new operation that will run using the provided scheduling rule.
- *
- * @param rule
- * The ISchedulingRule to use or <code>null</code>.
- */
- protected TmfWorkspaceModifyOperation(ISchedulingRule rule) {
- this.rule = rule;
- }
-
- @Override
- public synchronized final void run(IProgressMonitor monitor)
- throws InvocationTargetException, InterruptedException {
- final InvocationTargetException[] iteHolder = new InvocationTargetException[1];
- try {
- IWorkspaceRunnable workspaceRunnable = new IWorkspaceRunnable() {
- @Override
- public void run(IProgressMonitor pm) throws CoreException {
- try {
- execute(pm);
- } catch (InvocationTargetException e) {
- // Pass it outside the workspace runnable
- iteHolder[0] = e;
- } catch (InterruptedException e) {
- // Re-throw as OperationCanceledException, which will be
- // caught and re-thrown as InterruptedException below.
- throw new OperationCanceledException(e.getMessage());
- }
- // CoreException and OperationCanceledException are propagated
- }
- };
-
- IWorkspace workspace = ResourcesPlugin.getWorkspace();
- workspace.run(workspaceRunnable, rule, IWorkspace.AVOID_UPDATE, monitor);
- } catch (CoreException e) {
- throw new InvocationTargetException(e);
- } catch (OperationCanceledException e) {
- throw new InterruptedException(e.getMessage());
- }
- // Re-throw the InvocationTargetException, if any occurred
- if (iteHolder[0] != null) {
- throw iteHolder[0];
- }
- }
-
- /**
- * Performs the steps that are to be treated as a single logical workspace
- * change.
- * <p>
- * Subclasses must implement this method.
- * </p>
- *
- * @param monitor
- * the progress monitor to use to display progress and field user
- * requests to cancel
- * @exception CoreException
- * if the operation fails due to a CoreException
- * @exception InvocationTargetException
- * if the operation fails due to an exception other than
- * CoreException
- * @exception InterruptedException
- * if the operation detects a request to cancel, using
- * <code>IProgressMonitor.isCanceled()</code>, it should exit
- * by throwing <code>InterruptedException</code>. It is also
- * possible to throw <code>OperationCanceledException</code>,
- * which gets mapped to <code>InterruptedException</code> by
- * the <code>run</code> method.
- */
- protected abstract void execute(IProgressMonitor monitor) throws CoreException, InvocationTargetException, InterruptedException;
-} \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/wizards/importtrace/AbstractImportTraceWizardPage.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/wizards/importtrace/AbstractImportTraceWizardPage.java
deleted file mode 100644
index f5037b41c6..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/wizards/importtrace/AbstractImportTraceWizardPage.java
+++ /dev/null
@@ -1,154 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013, 2014 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:
- * Matthew Khouzam - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.internal.tmf.ui.project.wizards.importtrace;
-
-import org.eclipse.core.resources.IFolder;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.ITreeContentProvider;
-import org.eclipse.linuxtools.tmf.core.TmfProjectNature;
-import org.eclipse.linuxtools.tmf.ui.project.model.TmfTraceFolder;
-import org.eclipse.linuxtools.tmf.ui.project.model.TmfTracesFolder;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.dialogs.WizardResourceImportPage;
-
-/**
- * The abstract import trace wizard page, the base for the import trace wizard
- * pages.
- *
- * @author Matthew Khouzam
- * @since 2.0
- */
-abstract class AbstractImportTraceWizardPage extends WizardResourceImportPage {
-
- /**
- * Import String
- */
- protected static final String BATCH_IMPORT_WIZARD_PAGE = "BatchImportWizardPage"; //$NON-NLS-1$
-
- /**
- * The trace folder, something like "/<project name>/Traces/"
- */
- protected IFolder fTargetFolder;
-
- /**
- * The project "/<project name>"
- */
- protected IProject fProject;
-
- /**
- * The batch import trace wizard (parent)
- */
- private BatchImportTraceWizard fBatchImportTraceWizard;
-
- /**
- * @param name
- * the name of the page
- * @param selection
- * The current selection
- */
- protected AbstractImportTraceWizardPage(String name, IStructuredSelection selection) {
- super(name, selection);
- }
-
- /**
- * Constructor
- *
- * @param workbench
- * The workbench reference.
- * @param selection
- * The current selection
- */
- public AbstractImportTraceWizardPage(IWorkbench workbench, IStructuredSelection selection) {
- this(BATCH_IMPORT_WIZARD_PAGE, selection);
- setTitle(null);
- setDescription(null);
-
- // Locate the target trace folder
- IFolder traceFolder = null;
- Object element = selection.getFirstElement();
-
- if (element instanceof TmfTraceFolder) {
- TmfTraceFolder tmfTraceFolder = (TmfTraceFolder) element;
- fProject = (tmfTraceFolder.getProject().getResource());
- traceFolder = tmfTraceFolder.getResource();
- } else if (element instanceof IProject) {
- IProject project = (IProject) element;
- try {
- if (project.hasNature(TmfProjectNature.ID)) {
- traceFolder = (IFolder) project.findMember(TmfTracesFolder.TRACES_FOLDER_NAME);
- }
- } catch (CoreException e) {
- }
- }
-
- // Set the target trace folder
- if (traceFolder != null) {
- fTargetFolder = (traceFolder);
- String path = traceFolder.getFullPath().toOSString();
- setContainerFieldValue(path);
- }
-
- }
-
- /**
- * The Batch Import Wizard
- *
- * @return the Batch Import Wizard
- */
- public BatchImportTraceWizard getBatchWizard() {
- return fBatchImportTraceWizard;
- }
-
- @Override
- public void createControl(Composite parent) {
- Composite composite = new Composite(parent, SWT.NULL);
- composite.setLayout(new GridLayout());
- composite.setFont(parent.getFont());
- // arbitrary size
- final GridData layoutData = new GridData();
- parent.getShell().setLayoutData(layoutData);
- parent.getShell().redraw();
- this.setControl(composite);
-
- // arbitrary sizes
- parent.getShell().setMinimumSize(new Point(525, 400));
- fBatchImportTraceWizard = (BatchImportTraceWizard) getWizard();
- }
-
- // the following methods are stubbed out on purpose.
-
- @Override
- protected void createSourceGroup(Composite parent) {
- // do nothing
- }
-
- @Override
- protected ITreeContentProvider getFileProvider() {
- // do nothing
- return null;
- }
-
- @Override
- protected ITreeContentProvider getFolderProvider() {
- // do nothing
- return null;
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/wizards/importtrace/BatchImportTraceWizard.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/wizards/importtrace/BatchImportTraceWizard.java
deleted file mode 100644
index 117347cbf4..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/wizards/importtrace/BatchImportTraceWizard.java
+++ /dev/null
@@ -1,699 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013, 2014 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:
- * Matthew Khouzam - Initial API and implementation
- * Marc-Andre Laperle - Log some exceptions
- * Patrick Tasse - Add support for source location
- *******************************************************************************/
-
-package org.eclipse.linuxtools.internal.tmf.ui.project.wizards.importtrace;
-
-import java.io.File;
-import java.io.FileInputStream;
-import java.lang.reflect.InvocationTargetException;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.Comparator;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-import java.util.TreeSet;
-import java.util.concurrent.BlockingQueue;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IFolder;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.core.runtime.SubMonitor;
-import org.eclipse.core.runtime.URIUtil;
-import org.eclipse.jface.dialogs.ErrorDialog;
-import org.eclipse.jface.dialogs.IDialogSettings;
-import org.eclipse.jface.operation.IRunnableWithProgress;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.wizard.IWizardPage;
-import org.eclipse.jface.wizard.WizardDialog;
-import org.eclipse.linuxtools.internal.tmf.ui.Activator;
-import org.eclipse.linuxtools.internal.tmf.ui.project.model.TmfImportHelper;
-import org.eclipse.linuxtools.tmf.core.TmfCommonConstants;
-import org.eclipse.linuxtools.tmf.core.project.model.TmfTraceType;
-import org.eclipse.linuxtools.tmf.core.project.model.TraceTypeHelper;
-import org.eclipse.linuxtools.tmf.core.project.model.TraceValidationHelper;
-import org.eclipse.linuxtools.tmf.ui.project.model.TmfTraceFolder;
-import org.eclipse.linuxtools.tmf.ui.project.model.TmfTraceTypeUIUtils;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.dialogs.IOverwriteQuery;
-import org.eclipse.ui.wizards.datatransfer.FileSystemStructureProvider;
-import org.eclipse.ui.wizards.datatransfer.ImportOperation;
-
-/**
- * Batch Import trace wizard.
- *
- * @author Matthew Khouzam
- * @since 2.0
- */
-public class BatchImportTraceWizard extends ImportTraceWizard {
-
- private static final int WIN_HEIGHT = 400;
- private static final int WIN_WIDTH = 800;
- private static final Status CANCEL_STATUS = new Status(IStatus.CANCEL, Activator.PLUGIN_ID, ""); //$NON-NLS-1$
- private static final int TOTALWORK = 65536;
- // -----------------
- // Constants
- // -----------------
-
- private static final int MAX_FILES = TOTALWORK - 1;
- private static final String BATCH_IMPORT_WIZARD = "BatchImportTraceWizard"; //$NON-NLS-1$
-
- // ------------------
- // Fields
- // ------------------
-
- private IWizardPage fSelectDirectoriesPage;
- private ImportTraceWizardScanPage fScanPage;
- private IWizardPage fSelectTypePage;
- private IWizardPage fOptions;
-
- private final List<String> fTraceTypesToScan = new ArrayList<>();
- private final Set<String> fParentFilesToScan = new HashSet<>();
-
- private ImportTraceContentProvider fScannedTraces = new ImportTraceContentProvider(fTraceTypesToScan, fParentFilesToScan);
-
- private final Map<TraceValidationHelper, Boolean> fResults = new HashMap<>();
- private boolean fOverwrite = true;
- private boolean fLinked = true;
-
- private BlockingQueue<TraceValidationHelper> fTracesToScan;
- private final Set<FileAndName> fTraces = new TreeSet<>();
-
- private Map<String, Set<String>> fParentFiles = new HashMap<>();
-
- // Target import directory (trace folder)
- private IFolder fTargetFolder;
-
- /**
- * Returns the ScannedTraces model
- *
- * @return the ScannedTraces model
- */
- public ImportTraceContentProvider getScannedTraces() {
- return fScannedTraces;
- }
-
- /**
- * Constructor
- */
- public BatchImportTraceWizard() {
- IDialogSettings workbenchSettings = Activator.getDefault().getDialogSettings();
- IDialogSettings section = workbenchSettings.getSection(BATCH_IMPORT_WIZARD);
- if (section == null) {
- section = workbenchSettings.addNewSection(BATCH_IMPORT_WIZARD);
- }
- setDialogSettings(section);
- setNeedsProgressMonitor(true);
- }
-
- @Override
- public void init(IWorkbench workbench, IStructuredSelection selection) {
-
- fSelectDirectoriesPage = new ImportTraceWizardSelectDirectoriesPage(workbench, selection);
- fScanPage = new ImportTraceWizardScanPage(workbench, selection);
- fSelectTypePage = new ImportTraceWizardSelectTraceTypePage(workbench, selection);
- fOptions = new ImportTraceWizardPageOptions(workbench, selection);
- // keep in case it's called later
- Iterator<?> iter = selection.iterator();
- while (iter.hasNext()) {
- Object selected = iter.next();
- if (selected instanceof TmfTraceFolder) {
- fTargetFolder = ((TmfTraceFolder) selected).getResource();
- break;
- }
- }
- fResults.clear();
- }
-
- @Override
- public void addPages() {
- addPage(fSelectTypePage);
- addPage(fSelectDirectoriesPage);
- addPage(fScanPage);
- addPage(fOptions);
- final WizardDialog container = (WizardDialog) getContainer();
- if (container != null) {
- container.setPageSize(WIN_WIDTH, WIN_HEIGHT);
- }
- }
-
- /**
- * Add a file to scan
- *
- * @param fileName
- * the file to scan
- */
- public void addFileToScan(final String fileName) {
- String absolutePath = new File(fileName).getAbsolutePath();
- if (!fParentFiles.containsKey(absolutePath)) {
- fParentFiles.put(absolutePath, new HashSet<String>());
- startUpdateTask(Messages.BatchImportTraceWizardAdd + ' ' + absolutePath, absolutePath);
-
- }
-
- }
-
- /**
- * Remove files from selection
- *
- * @param fileName
- * the name of the file to remove
- */
- public void removeFile(final String fileName) {
- fParentFiles.remove(fileName);
- fParentFilesToScan.remove(fileName);
- startUpdateTask(Messages.BatchImportTraceWizardRemove + ' ' + fileName, null);
- }
-
- private void startUpdateTask(final String taskName, final String fileAbsolutePath) {
- try {
- this.getContainer().run(true, true, new IRunnableWithProgress() {
-
- @Override
- public void run(IProgressMonitor monitor) throws InvocationTargetException, InterruptedException {
- synchronized (BatchImportTraceWizard.this) { // this should
- // only run one
- // at a time
- SubMonitor sm;
- sm = SubMonitor.convert(monitor);
- sm.setTaskName(taskName);
- sm.setWorkRemaining(TOTALWORK);
- updateFiles(sm, fileAbsolutePath);
- sm.done();
- }
- }
- });
- } catch (InvocationTargetException e) {
- Activator.getDefault().logError(Messages.ImportTraceWizardImportProblem, e);
- } catch (InterruptedException e) {
- }
- }
-
- /**
- * The set of names of the selected files
- *
- * @return the set of names of the selected files
- */
- public Set<String> getFileNames() {
- return fParentFilesToScan;
- }
-
- /**
- * Reset the trace list to import
- */
- public void clearTraces() {
- fTraces.clear();
- }
-
- @Override
- public boolean performFinish() {
- if (fTraces.isEmpty()) {
- return false;
- }
- // if this turns out to be too slow, put in a progress monitor. Does not
- // appear to be slow for the moment.
- boolean success = importTraces();
- return success;
- }
-
- private boolean importTraces() {
- boolean success = false;
- IOverwriteQuery overwriteQuery = new IOverwriteQuery() {
- @Override
- public String queryOverwrite(String file) {
- return fOverwrite ? IOverwriteQuery.ALL : IOverwriteQuery.NO_ALL;
- }
- };
- FileSystemStructureProvider fileSystemStructureProvider = FileSystemStructureProvider.INSTANCE;
-
- for (FileAndName traceToImport : fTraces) {
- try {
- if (fLinked) {
- if (TmfImportHelper.createLink(fTargetFolder, Path.fromOSString(traceToImport.getFile().getAbsolutePath()), traceToImport.getName()) == null) {
- success = false;
- }
- else {
- success = setTraceTypeAndSourceLocation(traceToImport).isOK();
- }
- }
- else {
- List<File> subList = new ArrayList<>();
- IPath path = fTargetFolder.getFullPath();
- File parentFile = traceToImport.getFile();
- final boolean isFile = parentFile.isFile();
- if (isFile) {
- IFile resource = ResourcesPlugin.getWorkspace().getRoot().getFile(path.append(traceToImport.getName()));
- if (fOverwrite || !resource.exists()) {
- subList.add(parentFile);
- parentFile = parentFile.getParentFile();
- try (final FileInputStream source = new FileInputStream(traceToImport.getFile());) {
- if (resource.exists()) {
- resource.delete(IResource.FORCE, new NullProgressMonitor());
- }
- resource.create(source, true, new NullProgressMonitor());
- }
- setTraceTypeAndSourceLocation(traceToImport);
- success = true;
- }
- } else {
- path = path.addTrailingSeparator().append(traceToImport.getName());
- // Add all files in trace directory
- File[] fileList = traceToImport.getFile().listFiles();
- for (File child : fileList) {
- subList.add(child);
- }
-
- Collections.sort(subList, new Comparator<File>() {
- @Override
- public int compare(File o1, File o2) {
- return o1.getAbsolutePath().compareTo(o2.getAbsolutePath());
- }
- });
- ImportOperation operation = new ImportOperation(
- path,
- parentFile,
- fileSystemStructureProvider,
- overwriteQuery,
- subList);
- operation.setContext(getShell());
- operation.setCreateContainerStructure(false);
- if (executeImportOperation(operation)) {
- setTraceTypeAndSourceLocation(traceToImport);
- success = true;
- }
- }
-
- }
- } catch (Exception e) {
- }
- }
- return success;
- }
-
- private IStatus setTraceTypeAndSourceLocation(FileAndName traceToImport) {
- IStatus status = Status.OK_STATUS;
- IResource resource = fTargetFolder.findMember(traceToImport.getName());
- if (resource != null) {
- try {
- // Set the trace type for this resource
- String traceTypeId = traceToImport.getTraceTypeId();
- TraceTypeHelper traceType = TmfTraceType.getTraceType(traceTypeId);
- if (traceType != null) {
- status = TmfTraceTypeUIUtils.setTraceType(resource, traceType);
- }
-
- // Set the source location for this resource
- File file = traceToImport.getFile();
- String sourceLocation = null;
- IResource sourceResource;
- if (file.isDirectory()) {
- sourceResource = ResourcesPlugin.getWorkspace().getRoot().getContainerForLocation(Path.fromOSString(file.getAbsolutePath()));
- } else {
- sourceResource = ResourcesPlugin.getWorkspace().getRoot().getFileForLocation(Path.fromOSString(file.getAbsolutePath()));
- }
- if (sourceResource != null && sourceResource.exists()) {
- sourceLocation = sourceResource.getPersistentProperty(TmfCommonConstants.SOURCE_LOCATION);
- }
- if (sourceLocation == null) {
- sourceLocation = URIUtil.toUnencodedString(file.toURI());
- }
- resource.setPersistentProperty(TmfCommonConstants.SOURCE_LOCATION, sourceLocation);
- } catch (CoreException e) {
- Activator.getDefault().logError(Messages.BatchImportTraceWizardErrorImportingTraceResource
- + ' ' + resource.getName(), e);
- }
- }
- return status;
- }
-
- @Override
- public boolean canFinish() {
- return super.canFinish() && hasTracesToImport() && !hasConflicts() && (fTargetFolder != null);
- }
-
- /**
- * Returns if a trace to import is selected
- *
- * @return if there are traces to import
- */
- public boolean hasTracesToImport() {
- return fTraces.size() > 0;
- }
-
- /**
- * Reset the files to scan
- */
- public void clearFilesToScan() {
- fTracesToScan.clear();
- }
-
- /**
- * Set the trace types to scan
- *
- * @param tracesToScan
- * a list of trace types to scan for
- */
- public void setTraceTypesToScan(List<String> tracesToScan) {
- // intersection to know if there's a diff.
- // if there's a diff, we need to re-enque everything
- List<String> added = new ArrayList<>();
- for (String traceLoc : tracesToScan) {
- if (!fTraceTypesToScan.contains(traceLoc)) {
- added.add(traceLoc);
- }
- }
- fTraceTypesToScan.clear();
- fTraceTypesToScan.addAll(tracesToScan);
- updateTracesToScan(added);
- }
-
- /**
- * Get the trace types to scan
- *
- * @return a list of traces to Scan for
- */
- public List<String> getTraceTypesToScan() {
- return fTraceTypesToScan;
- }
-
- /**
- * Add files to Import
- *
- * @param element
- * add the file and tracetype to import
- */
- public void addFileToImport(FileAndName element) {
- fTraces.add(element);
- updateConflicts();
- }
-
- /**
- * Remove the file to scan
- *
- * @param element
- * the element to remove
- */
- public void removeFileToImport(FileAndName element) {
- fTraces.remove(element);
- element.setConflictingName(false);
- updateConflicts();
- }
-
- /**
- * Updates the trace to see if there are conflicts.
- */
- public void updateConflicts() {
- final FileAndName[] fChildren = fTraces.toArray(new FileAndName[0]);
- for (int i = 0; i < fChildren.length; i++) {
- fChildren[i].setConflictingName(false);
- }
- for (int i = 1; i < fChildren.length; i++) {
- for (int j = 0; j < i; j++) {
- if (fChildren[i].getName().equals(fChildren[j].getName())) {
- fChildren[i].setConflictingName(true);
- fChildren[j].setConflictingName(true);
- }
- }
- }
- getContainer().updateButtons();
- }
-
- /**
- * Is there a name conflict
- */
- boolean hasConflicts() {
- boolean conflict = false;
- for (FileAndName child : fTraces) {
- conflict |= child.isConflictingName();
- }
- return conflict;
- }
-
- private boolean executeImportOperation(ImportOperation op) {
- initializeOperation(op);
-
- try {
- getContainer().run(true, true, op);
- } catch (InterruptedException e) {
- return false;
- } catch (InvocationTargetException e) {
- Activator.getDefault().logError(Messages.ImportTraceWizardImportProblem, e);
- return false;
- }
-
- IStatus status = op.getStatus();
- if (!status.isOK()) {
- ErrorDialog.openError(getContainer().getShell(), Messages.ImportTraceWizardImportProblem, null, status);
- return false;
- }
-
- return true;
- }
-
- private static void initializeOperation(ImportOperation op) {
- op.setCreateContainerStructure(false);
- op.setOverwriteResources(false);
- op.setVirtualFolders(false);
- }
-
- /**
- * Override existing resources
- *
- * @param selection
- * true or false
- */
- public void setOverwrite(boolean selection) {
- fOverwrite = selection;
- }
-
- /**
- * Is the trace linked?
- *
- * @param isLink
- * true or false
- */
- public void setLinked(boolean isLink) {
- fLinked = isLink;
- }
-
- /**
- * @param tracesToScan
- * sets the common traces to scan
- */
- public void setTracesToScan(BlockingQueue<TraceValidationHelper> tracesToScan) {
- fTracesToScan = tracesToScan;
- }
-
- /**
- * @param traceToScan
- * The trace to scan
- * @return if the trace has been scanned yet or not
- * @since 3.0
- */
- public boolean hasScanned(TraceValidationHelper traceToScan) {
- return fResults.containsKey(traceToScan);
- }
-
- /**
- * Add a result to a cache
- *
- * @param traceToScan
- * The trace that has been scanned
- * @param validate
- * if the trace is valid
- * @since 3.0
- */
- public void addResult(TraceValidationHelper traceToScan, boolean validate) {
- fResults.put(traceToScan, validate);
- }
-
- /**
- * Gets if the trace has been scanned or not
- *
- * @param traceToScan
- * the scanned trace
- * @return whether it passes or not
- * @since 3.0
- */
- public boolean getResult(TraceValidationHelper traceToScan) {
- return fResults.get(traceToScan);
- }
-
- /**
- * Returns the amount of files scanned
- *
- * @return the amount of files scanned
- */
- public int getNumberOfResults() {
- return fResults.size();
- }
-
- private void updateTracesToScan(final List<String> added) {
- // Treeset is used instead of a hashset since the traces should be read
- // in the order they were added.
- final Set<String> filesToScan = new TreeSet<>();
- for (String name : fParentFiles.keySet()) {
- filesToScan.addAll(fParentFiles.get(name));
- }
- IProgressMonitor pm = new NullProgressMonitor();
- try {
- updateScanQueue(pm, filesToScan, added);
- } catch (InterruptedException e) {
- }
-
- }
-
- /*
- * I am a job. Make me work
- */
- private synchronized IStatus updateFiles(IProgressMonitor monitor, String traceToScanAbsPath) {
- final Set<String> filesToScan = new TreeSet<>();
-
- int workToDo = 1;
- for (String name : fParentFiles.keySet()) {
-
- final File file = new File(name);
- final File[] listFiles = file.listFiles();
- if (listFiles != null) {
- workToDo += listFiles.length;
- }
- }
- int step = TOTALWORK / workToDo;
- try {
- for (String name : fParentFiles.keySet()) {
- final File fileToAdd = new File(name);
- final Set<String> parentFilesToScan = fParentFiles.get(fileToAdd.getAbsolutePath());
- recurse(parentFilesToScan, fileToAdd, monitor, step);
- if (monitor.isCanceled()) {
- fParentFilesToScan.remove(traceToScanAbsPath);
- fParentFiles.remove(traceToScanAbsPath);
- return CANCEL_STATUS;
- }
- }
- filesToScan.clear();
- for (String name : fParentFiles.keySet()) {
- filesToScan.addAll(fParentFiles.get(name));
- fParentFilesToScan.add(name);
- }
- IStatus cancelled = updateScanQueue(monitor, filesToScan, fTraceTypesToScan);
- if (cancelled.matches(IStatus.CANCEL)) {
- fParentFilesToScan.remove(traceToScanAbsPath);
- fParentFiles.remove(traceToScanAbsPath);
- }
- } catch (InterruptedException e) {
- monitor.done();
- return new Status(IStatus.ERROR, Activator.PLUGIN_ID, e.getMessage(), e);
- }
-
- monitor.done();
- return Status.OK_STATUS;
- }
-
- private IStatus updateScanQueue(IProgressMonitor monitor, final Set<String> filesToScan, final List<String> traceTypes) throws InterruptedException {
- for (String fileToScan : filesToScan) {
- for (String traceCat : traceTypes) {
- TraceValidationHelper tv = new TraceValidationHelper(fileToScan, traceCat);
- // for thread safety, keep checks in this order.
- if (!fResults.containsKey(tv)) {
- if (!fTracesToScan.contains(tv)) {
- fTracesToScan.put(tv);
- monitor.subTask(tv.getTraceToScan());
- if (monitor.isCanceled()) {
- fScanPage.refresh();
- return CANCEL_STATUS;
- }
- }
- }
- }
- }
- fScanPage.refresh();
- return Status.OK_STATUS;
- }
-
- private IStatus recurse(Set<String> filesToScan, File fileToAdd, IProgressMonitor monitor, int step) {
- final String absolutePath = fileToAdd.getAbsolutePath();
- if (!filesToScan.contains(absolutePath) && (filesToScan.size() < MAX_FILES)) {
- filesToScan.add(absolutePath);
- final File[] listFiles = fileToAdd.listFiles();
- if (null != listFiles) {
- for (File child : listFiles) {
- monitor.subTask(child.getName());
- if (monitor.isCanceled()) {
- return CANCEL_STATUS;
- }
- IStatus retVal = recurse(filesToScan, child, monitor);
- if (retVal.matches(IStatus.CANCEL)) {
- return retVal;
- }
- monitor.worked(step);
- }
- }
- }
- return Status.OK_STATUS;
- }
-
- private IStatus recurse(Set<String> filesToScan, File fileToAdd, IProgressMonitor monitor) {
- final String absolutePath = fileToAdd.getAbsolutePath();
- if (!filesToScan.contains(absolutePath) && (filesToScan.size() < MAX_FILES)) {
- filesToScan.add(absolutePath);
- final File[] listFiles = fileToAdd.listFiles();
- if (null != listFiles) {
- for (File child : listFiles) {
- if (monitor.isCanceled()) {
- return CANCEL_STATUS;
- }
- IStatus retVal = recurse(filesToScan, child, monitor);
- if (retVal.matches(IStatus.CANCEL)) {
- return retVal;
- }
- }
- }
- }
- return Status.OK_STATUS;
- }
-
- /**
- * Gets the folder in the resource (project)
- *
- * @param targetFolder
- * the folder to import to
- */
- public void setTraceFolder(IFolder targetFolder) {
- fTargetFolder = targetFolder;
- if (this.getContainer() != null && this.getContainer().getCurrentPage() != null) {
- this.getContainer().updateButtons();
- }
- }
-
- /**
- * Gets the target folder
- *
- * @return the target folder
- */
- public IFolder getTargetFolder() {
- return fTargetFolder;
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/wizards/importtrace/FileAndName.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/wizards/importtrace/FileAndName.java
deleted file mode 100644
index 81629e7752..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/wizards/importtrace/FileAndName.java
+++ /dev/null
@@ -1,188 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 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:
- * Matthew Khouzam - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.internal.tmf.ui.project.wizards.importtrace;
-
-import java.io.File;
-
-/**
- * File and name internal helper class <br>
- * it has the file, a name to display, whether the name is conflicting and a
- * reference to the configuration element defining its trace type.
- *
- * @author Matthew Khouzam
- * @since 2.0
- */
-class FileAndName implements Comparable<FileAndName> {
-
- final private File fFile;
- private String fTraceTypeId;
- private String fName;
- private boolean fConflict;
-
- // ------------------------------------------------------------------------
- // Constructor
- // ------------------------------------------------------------------------
-
- /**
- * A file and name
- *
- * @param f
- * the file, can only be set here
- * @param n
- * the name, can be renamed
- *
- */
- public FileAndName(File f, String n) {
- fFile = f;
- fName = n;
- fTraceTypeId = null;
- }
-
- // ------------------------------------------------------------------------
- // Getter / Setter
- // ------------------------------------------------------------------------
-
- /**
- * Get the name
- *
- * @return the name
- */
- public String getName() {
- return fName;
- }
-
- /**
- * Set the name
- *
- * @param name
- * the name to set
- */
- public void setName(String name) {
- this.fName = name;
- }
-
- /**
- * Sets the configuration element of the
- *
- * @param elem
- * the element
- */
- public void setTraceTypeId(String elem) {
- fTraceTypeId = elem;
- }
-
- /**
- * Gets the configuration element canonical name
- *
- * @return gets the configuration element canonical name
- */
- public String getTraceTypeId() {
- return fTraceTypeId;
- }
-
- /**
- * Get the file
- *
- * @return the file
- */
- public File getFile() {
- return fFile;
- }
-
- /**
- * Set that the name is conflicting or not
- *
- * @param conflict
- * if the name is conflicting or not
- */
- public void setConflictingName(boolean conflict) {
- fConflict = conflict;
- }
-
- /**
- * Is the name conflicting?
- *
- * @return is the name conflicting?
- */
- public boolean isConflictingName() {
- return fConflict;
- }
-
- /**
- * Is the fileAndName renamed
- *
- * @return true if the name does not match the filename
- */
- public boolean isRenamed() {
- return !fName.equals(fFile.getName());
- }
-
- // ------------------------------------------------------------------------
- // Comparator & Equals
- // ------------------------------------------------------------------------
-
- @Override
- public int compareTo(FileAndName o) {
- int retVal = getFile().compareTo(o.getFile());
- if (retVal == 0) {
- if (getTraceTypeId() != null) {
- if (getTraceTypeId() != null) {
- if (o.getTraceTypeId() != null) {
- retVal = getTraceTypeId().compareTo(o.getTraceTypeId());
- }
- }
- }
- }
- return retVal;
- }
-
- @Override
- public int hashCode() {
- // do not take "name" into account since it can change on the fly.
- final int prime = 31;
- int result = 1;
- result = prime * result + ((fTraceTypeId == null) ? 0 : fTraceTypeId.hashCode());
- result = prime * result + ((fFile == null) ? 0 : fFile.hashCode());
- return result;
- }
-
- @Override
- public boolean equals(Object obj) {
- // do not take "name" into account since it can change on the fly.
- if (this == obj) {
- return true;
- }
- if (obj == null) {
- return false;
- }
- if (!(obj instanceof FileAndName)) {
- return false;
- }
- FileAndName other = (FileAndName) obj;
- if (fTraceTypeId == null) {
- if (other.fTraceTypeId != null) {
- return false;
- }
- } else if (!fTraceTypeId.equals(other.fTraceTypeId)) {
- return false;
- }
- if (fFile == null) {
- if (other.fFile != null) {
- return false;
- }
- } else if (!fFile.equals(other.fFile)) {
- return false;
- }
- return true;
- }
-} \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/wizards/importtrace/ImportConfirmation.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/wizards/importtrace/ImportConfirmation.java
deleted file mode 100644
index cebce021ef..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/wizards/importtrace/ImportConfirmation.java
+++ /dev/null
@@ -1,69 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 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:
- * Bernd Hufmann - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.linuxtools.internal.tmf.ui.project.wizards.importtrace;
-
-/**
- * Enumeration for import conflict dialog
- *
- * @author Bernd Hufmann
- */
-public enum ImportConfirmation {
-
- // ------------------------------------------------------------------------
- // Enum definition
- // ------------------------------------------------------------------------
- /** Single rename */
- RENAME(Messages.ImportTraceWizard_ImportConfigurationRename),
- /** Rename all */
- RENAME_ALL(Messages.ImportTraceWizard_ImportConfigurationRenameAll),
- /** Single overwrite */
- OVERWRITE(Messages.ImportTraceWizard_ImportConfigurationOverwrite),
- /** Overwrite all */
- OVERWRITE_ALL(Messages.ImportTraceWizard_ImportConfigurationOverwriteAll),
- /** Single skip */
- SKIP(Messages.ImportTraceWizard_ImportConfigurationSkip),
- /** Skip all*/
- SKIP_ALL(Messages.ImportTraceWizard_ImportConfigurationSkipAll),
- /** Default value*/
- CONTINUE("CONTINUE"); //$NON-NLS-1$
-
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
- /**
- * Name of enum
- */
- private final String fInName;
-
- // ------------------------------------------------------------------------
- // Constuctor
- // ------------------------------------------------------------------------
- /**
- * Private constructor
- *
- * @param name
- * the name of state
- */
- private ImportConfirmation(String name) {
- fInName = name;
- }
-
- // ------------------------------------------------------------------------
- // Accessors
- // ------------------------------------------------------------------------
- /**
- * @return state name
- */
- public String getInName() {
- return fInName;
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/wizards/importtrace/ImportConflictHandler.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/wizards/importtrace/ImportConflictHandler.java
deleted file mode 100644
index 650c8e392d..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/wizards/importtrace/ImportConflictHandler.java
+++ /dev/null
@@ -1,205 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 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:
- * Bernd Hufmann - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.linuxtools.internal.tmf.ui.project.wizards.importtrace;
-
-import java.util.List;
-
-import org.eclipse.core.resources.IContainer;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.linuxtools.tmf.ui.project.model.TmfTraceElement;
-import org.eclipse.linuxtools.tmf.ui.project.model.TmfTraceFolder;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.widgets.Shell;
-
-/**
- * Handler to check for name clashes during import operations. It will allow
- * users to select renaming, overwriting or skipping of a given trace as well
- * as upcoming traces by keeping track of the user selection. In case of
- * overwriting the original trace will be deleted.
- *
- * See {@link ImportConfirmation} for users selection choices.
- *
- * @author Bernd Hufmann
- */
-public class ImportConflictHandler {
-
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
- private Shell fShell;
- private TmfTraceFolder fTraceFolderElement;
- private ImportConfirmation fConfirmationMode;
-
- // ------------------------------------------------------------------------
- // Constructor(s)
- // ------------------------------------------------------------------------
- /**
- * @param shell
- * shell to display confirmation dialog
- * @param folder
- * Target folder for the traces
- * @param initialMode
- * Initial confirmation mode
- */
- public ImportConflictHandler(Shell shell, TmfTraceFolder folder, ImportConfirmation initialMode) {
- fShell = shell;
- fTraceFolderElement = folder;
- fConfirmationMode = initialMode;
- }
-
- // ------------------------------------------------------------------------
- // Operation(s)
- // ------------------------------------------------------------------------
- /**
- * It checks for name clashes. In case of a name clash it will open a
- * confirmation dialog where the use can rename, overwrite or skip
- * the trace. The user has also the choice to rename, overwrite or
- * skip all traces of subsequent calls to this method. This class will
- * keep track about the {@link ImportConfirmation} mode selected by the
- * user.
- *
- * In case of {@link ImportConfirmation#RENAME} or
- * {@link ImportConfirmation#RENAME_ALL} a new name will be return by
- * adding sequence number surrounded by (), e.g. (1) or (2).
- *
- * In case of {@link ImportConfirmation#OVERWRITE} or
- * {@link ImportConfirmation#OVERWRITE_ALL} the original trace will be
- * deleted and the original name will be returned.
- *
- * In case the dialog {@link ImportConfirmation#SKIP} or
- * {@link ImportConfirmation#SKIP_ALL} it will return null to indicate
- * the skipping.
- *
- * @param tracePath
- * The trace to check
- * @param monitor
- * The progress monitor
- * @return the trace name to use or null
- * @throws InterruptedException
- * If the dialog box was cancelled
- * @throws CoreException
- * If an error during deletion occurred
- */
- public String checkAndHandleNameClash(IPath tracePath, IProgressMonitor monitor) throws InterruptedException, CoreException {
- ImportConfirmation mode = checkForNameClash(tracePath);
- switch (mode) {
- case RENAME:
- case RENAME_ALL:
- return rename(tracePath);
- case OVERWRITE:
- case OVERWRITE_ALL:
- delete(tracePath, monitor);
- //$FALL-THROUGH$
- case CONTINUE:
- return tracePath.lastSegment();
- case SKIP:
- case SKIP_ALL:
- default:
- return null;
- }
- }
-
- // ------------------------------------------------------------------------
- // Helper methods
- // ------------------------------------------------------------------------
- private ImportConfirmation checkForNameClash(IPath tracePath) throws InterruptedException {
- // handle rename
- if (getExistingTrace(tracePath) != null) {
- if ((fConfirmationMode == ImportConfirmation.RENAME_ALL) ||
- (fConfirmationMode == ImportConfirmation.OVERWRITE_ALL) ||
- (fConfirmationMode == ImportConfirmation.SKIP_ALL)) {
- return fConfirmationMode;
- }
-
- int returnCode = promptForOverwrite(tracePath);
- if (returnCode < 0) {
- // Cancel
- throw new InterruptedException();
- }
- fConfirmationMode = ImportConfirmation.values()[returnCode];
- return fConfirmationMode;
- }
- return ImportConfirmation.CONTINUE;
- }
-
- private int promptForOverwrite(IPath tracePath) {
- final MessageDialog dialog = new MessageDialog(fShell,
- null, null, NLS.bind(Messages.ImportTraceWizard_TraceAlreadyExists, tracePath.makeRelativeTo(fTraceFolderElement.getProject().getPath())),
- MessageDialog.QUESTION, new String[] {
- ImportConfirmation.RENAME.getInName(),
- ImportConfirmation.RENAME_ALL.getInName(),
- ImportConfirmation.OVERWRITE.getInName(),
- ImportConfirmation.OVERWRITE_ALL.getInName(),
- ImportConfirmation.SKIP.getInName(),
- ImportConfirmation.SKIP_ALL.getInName(),
- }, 4) {
- @Override
- protected int getShellStyle() {
- return super.getShellStyle() | SWT.SHEET;
- }
- };
-
- final int[] returnValue = new int[1];
- fShell.getDisplay().syncExec(new Runnable() {
-
- @Override
- public void run() {
- returnValue[0] = dialog.open();
- }
- });
- return returnValue[0];
- }
-
- private String rename(IPath tracePath) {
- TmfTraceElement trace = getExistingTrace(tracePath);
- if (trace == null) {
- return tracePath.lastSegment();
- }
-
- // Not using IFolder on purpose to leave the door open to import
- // directly into an IProject
- IContainer folder = (IContainer) trace.getParent().getResource();
- int i = 2;
- while (true) {
- String name = trace.getName() + '(' + Integer.toString(i++) + ')';
- IResource resource = folder.findMember(name);
- if (resource == null) {
- return name;
- }
- }
- }
-
- private void delete(IPath tracePath, IProgressMonitor monitor) throws CoreException {
- TmfTraceElement trace = getExistingTrace(tracePath);
- if (trace == null) {
- return;
- }
-
- trace.delete(monitor);
- }
-
- private TmfTraceElement getExistingTrace(IPath tracePath) {
- List<TmfTraceElement> traces = fTraceFolderElement.getTraces();
- for (TmfTraceElement t : traces) {
- if (t.getPath().equals(tracePath)) {
- return t;
- }
- }
- return null;
- }
-}
-
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/wizards/importtrace/ImportTraceContentProvider.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/wizards/importtrace/ImportTraceContentProvider.java
deleted file mode 100644
index 6873662b49..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/wizards/importtrace/ImportTraceContentProvider.java
+++ /dev/null
@@ -1,183 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013, 2014 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:
- * Matthew Khouzam - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.internal.tmf.ui.project.wizards.importtrace;
-
-import java.io.File;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.Map.Entry;
-import java.util.Set;
-import java.util.TreeSet;
-
-import org.eclipse.jface.viewers.ITreeContentProvider;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.linuxtools.tmf.core.project.model.TmfTraceType;
-import org.eclipse.linuxtools.tmf.core.project.model.TraceTypeHelper;
-
-/**
- * A helper class to show the trace types and files and names. it contains the
- * model which can be defined as follows : {tracetype -> { file1, file2, ... }
- * }+
- *
- * @author Matthew Khouzam
- * @since 2.0
- */
-class ImportTraceContentProvider implements ITreeContentProvider {
-
- private final Map<String, String> fTraceTypes = new HashMap<>();
- private final Map<String, Set<FileAndName>> fTraceFiles = new HashMap<>();
- private final List<String> fTraceTypesToScan;
- private final Set<String> fParentFilesToScan;
-
- public ImportTraceContentProvider(List<String> traceTypesToScan, Set<String> parentFilesToScan) {
- fTraceTypesToScan = traceTypesToScan;
- fParentFilesToScan = parentFilesToScan;
- }
-
- /**
- * Add a trace candidate to display
- *
- * @param traceTypeId
- * the trace type id of the trace
- * @param traceToOpen
- * the trace file.
- */
- public synchronized void addCandidate(String traceTypeId, File traceToOpen) {
- TraceTypeHelper traceTypeHelper = TmfTraceType.getTraceType(traceTypeId);
- if (traceTypeHelper == null) {
- return;
- }
- fTraceTypes.put(traceTypeHelper.getName(), traceTypeId);
- if (!fTraceFiles.containsKey(traceTypeId)) {
- fTraceFiles.put(traceTypeId, new TreeSet<FileAndName>());
- }
- final FileAndName traceFile = new FileAndName(traceToOpen, traceToOpen.getName());
- traceFile.setTraceTypeId(traceTypeId);
- final Set<FileAndName> categorySet = fTraceFiles.get(traceTypeId);
- categorySet.add(traceFile);
- }
-
- /**
- * Reset all the candidates
- */
- public synchronized void clearCandidates() {
- fTraceTypes.clear();
- fTraceFiles.clear();
- }
-
- @Override
- public void dispose() {
- fTraceFiles.clear();
- fTraceTypes.clear();
-
- }
-
- @Override
- public synchronized void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
- if (oldInput != newInput && newInput != null) {
- ImportTraceContentProvider input = (ImportTraceContentProvider) newInput;
- clearCandidates();
- fTraceTypes.putAll(input.fTraceTypes);
- fTraceFiles.putAll(fTraceFiles);
- }
- }
-
- @Override
- public synchronized Object[] getElements(Object inputElement) {
- List<String> candidates = new ArrayList<>();
-
- for (String candidate : fTraceTypesToScan) {
- for (Entry<String, String> entry : fTraceTypes.entrySet()) {
- if (entry.getValue().equals(candidate)) {
- candidates.add(entry.getKey());
- break;
- }
- }
-
- }
- return candidates.toArray(new String[candidates.size()]);
- }
-
- @Override
- public synchronized Object[] getChildren(Object parentElement) {
- if (parentElement instanceof String) {
- final Set<FileAndName> children = fTraceFiles.get(fTraceTypes.get(parentElement));
- if (children != null) {
- Set<FileAndName> candidates = new TreeSet<>();
- for (FileAndName child : children) {
- for (String parent : fParentFilesToScan) {
- // this is going to be slow, but less slow than UI
- // display and should not be done for more than 10k
- // elements.
- if (child.getFile().getAbsolutePath().startsWith(parent)) {
- candidates.add(child);
- }
- }
- }
- return candidates.toArray(new FileAndName[0]);
- }
- }
- return null;
- }
-
- /**
- * Gets the brothers and systems of a file element
- *
- * @param element
- * the child leaf
- * @return the siblings of an element, including itself. Should never be
- * null
- */
- public synchronized FileAndName[] getSiblings(FileAndName element) {
- String key = (String) getParent(element);
- return (FileAndName[]) getChildren(key);
-
- }
-
- @Override
- public synchronized Object getParent(Object element) {
- if (element instanceof FileAndName) {
- for (String key : fTraceFiles.keySet()) {
- Set<FileAndName> fanSet = fTraceFiles.get(key);
- if (fanSet.contains(element)) {
- return key;
- }
- }
- }
- return null;
- }
-
- @Override
- public synchronized boolean hasChildren(Object element) {
- if (element instanceof String) {
- String key = (String) element;
- return fTraceFiles.containsKey(fTraceTypes.get(key));
- }
- return false;
- }
-
- /**
- * Gets the number of traces to import
- *
- * @return the number of traces to import
- */
- public synchronized int getSize() {
- int tot = 0;
- for (String s : fTraceFiles.keySet()) {
- tot += fTraceFiles.get(s).size();
- }
- return tot;
- }
-} \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/wizards/importtrace/ImportTraceLabelProvider.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/wizards/importtrace/ImportTraceLabelProvider.java
deleted file mode 100644
index 662da31c4a..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/wizards/importtrace/ImportTraceLabelProvider.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 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:
- * Matthew Khouzam - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.internal.tmf.ui.project.wizards.importtrace;
-
-import java.io.File;
-
-import org.eclipse.jface.viewers.LabelProvider;
-
-/**
- * Trace label provider for the candidate tree
- *
- * @author Matthew Khouzam
- * @since 2.0
- */
-class ImportTraceLabelProvider extends LabelProvider {
-
- @Override
- public String getText(Object element) {
- if (element instanceof String) {
- return (String) element;
- }
- if (element instanceof FileAndName) {
- final File file = ((FileAndName) element).getFile();
- if (file != null) { // should never not happen since file is final
- // and always set automatically
- return file.getName();
- }
- }
- return null;
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/wizards/importtrace/ImportTraceWizard.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/wizards/importtrace/ImportTraceWizard.java
deleted file mode 100644
index 9a386f7ea6..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/wizards/importtrace/ImportTraceWizard.java
+++ /dev/null
@@ -1,87 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010, 2014 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.internal.tmf.ui.project.wizards.importtrace;
-
-import org.eclipse.jface.dialogs.IDialogSettings;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.wizard.Wizard;
-import org.eclipse.linuxtools.internal.tmf.ui.Activator;
-import org.eclipse.ui.IImportWizard;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.plugin.AbstractUIPlugin;
-
-/**
- * The import trace wizard implementation.
- * <p>
- * @version 1.0
- * @author Francois Chouinard
- * @since 2.0
- */
-public class ImportTraceWizard extends Wizard implements IImportWizard {
-
- // ------------------------------------------------------------------------
- // Constants
- // ------------------------------------------------------------------------
-
- static private final String PLUGIN_ID = Activator.PLUGIN_ID;
- static private final String IMPORT_WIZARD = "ImportTraceWizard"; //$NON-NLS-1$
- static private final String ICON_PATH = "icons/wizban/trace_import_wiz.png"; //$NON-NLS-1$
-
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
-
- private IStructuredSelection fSelection;
- private ImportTraceWizardPage fTraceImportWizardPage;
-
- // ------------------------------------------------------------------------
- // Constructor
- // ------------------------------------------------------------------------
- /**
- * Default constructor
- */
- public ImportTraceWizard() {
- IDialogSettings workbenchSettings = Activator.getDefault().getDialogSettings();
- IDialogSettings section = workbenchSettings.getSection(IMPORT_WIZARD);
- if (section == null) {
- section = workbenchSettings.addNewSection(IMPORT_WIZARD);
- }
- setDialogSettings(section);
- }
-
- // ------------------------------------------------------------------------
- // Wizard
- // ------------------------------------------------------------------------
-
- @Override
- public void init(IWorkbench workbench, IStructuredSelection selection) {
- fSelection = selection;
-
- setWindowTitle(Messages.ImportTraceWizard_DialogTitle);
- setDefaultPageImageDescriptor(AbstractUIPlugin.imageDescriptorFromPlugin(PLUGIN_ID, ICON_PATH));
- setNeedsProgressMonitor(true);
- }
-
- @Override
- public void addPages() {
- super.addPages();
- fTraceImportWizardPage = new ImportTraceWizardPage(fSelection);
- addPage(fTraceImportWizardPage);
- }
-
- @Override
- public boolean performFinish() {
- return fTraceImportWizardPage.finish();
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/wizards/importtrace/ImportTraceWizardPage.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/wizards/importtrace/ImportTraceWizardPage.java
deleted file mode 100644
index 220e2d0769..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/wizards/importtrace/ImportTraceWizardPage.java
+++ /dev/null
@@ -1,2086 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009, 2014 Ericsson and others.
- *
- * 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 - Got rid of dependency on internal platform class
- * Francois Chouinard - Complete re-design
- * Anna Dushistova(Montavista) - [383047] NPE while importing a CFT trace
- * Matthew Khouzam - Moved out some common functions
- * Patrick Tasse - Add sorting of file system elements
- * Bernd Hufmann - Re-design of trace selection and trace validation
- * Marc-Andre Laperle - Preserve folder structure on import
- *******************************************************************************/
-
-package org.eclipse.linuxtools.internal.tmf.ui.project.wizards.importtrace;
-
-import java.io.File;
-import java.io.IOException;
-import java.io.InputStream;
-import java.lang.reflect.InvocationTargetException;
-import java.net.URI;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.zip.ZipEntry;
-import java.util.zip.ZipException;
-import java.util.zip.ZipFile;
-
-import org.eclipse.core.resources.IContainer;
-import org.eclipse.core.resources.IFolder;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.core.runtime.SubMonitor;
-import org.eclipse.core.runtime.SubProgressMonitor;
-import org.eclipse.core.runtime.URIUtil;
-import org.eclipse.jface.dialogs.IDialogSettings;
-import org.eclipse.jface.layout.PixelConverter;
-import org.eclipse.jface.operation.IRunnableWithProgress;
-import org.eclipse.jface.operation.ModalContext;
-import org.eclipse.jface.viewers.CheckStateChangedEvent;
-import org.eclipse.jface.viewers.ICheckStateListener;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.ITreeContentProvider;
-import org.eclipse.linuxtools.internal.tmf.ui.Activator;
-import org.eclipse.linuxtools.tmf.core.TmfCommonConstants;
-import org.eclipse.linuxtools.tmf.core.TmfProjectNature;
-import org.eclipse.linuxtools.tmf.core.project.model.TmfTraceImportException;
-import org.eclipse.linuxtools.tmf.core.project.model.TmfTraceType;
-import org.eclipse.linuxtools.tmf.core.project.model.TraceTypeHelper;
-import org.eclipse.linuxtools.tmf.ui.project.model.TmfProjectElement;
-import org.eclipse.linuxtools.tmf.ui.project.model.TmfProjectRegistry;
-import org.eclipse.linuxtools.tmf.ui.project.model.TmfTraceFolder;
-import org.eclipse.linuxtools.tmf.ui.project.model.TmfTraceTypeUIUtils;
-import org.eclipse.linuxtools.tmf.ui.project.model.TmfTracesFolder;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.BusyIndicator;
-import org.eclipse.swt.events.FocusAdapter;
-import org.eclipse.swt.events.FocusEvent;
-import org.eclipse.swt.events.ModifyEvent;
-import org.eclipse.swt.events.ModifyListener;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.events.TraverseEvent;
-import org.eclipse.swt.events.TraverseListener;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Combo;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.DirectoryDialog;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.FileDialog;
-import org.eclipse.swt.widgets.Group;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.ui.dialogs.FileSystemElement;
-import org.eclipse.ui.dialogs.IOverwriteQuery;
-import org.eclipse.ui.dialogs.WizardResourceImportPage;
-import org.eclipse.ui.internal.ide.DialogUtil;
-import org.eclipse.ui.internal.ide.dialogs.IElementFilter;
-import org.eclipse.ui.internal.wizards.datatransfer.ArchiveFileManipulations;
-import org.eclipse.ui.internal.wizards.datatransfer.ILeveledImportStructureProvider;
-import org.eclipse.ui.internal.wizards.datatransfer.TarEntry;
-import org.eclipse.ui.internal.wizards.datatransfer.TarException;
-import org.eclipse.ui.internal.wizards.datatransfer.TarFile;
-import org.eclipse.ui.internal.wizards.datatransfer.TarLeveledStructureProvider;
-import org.eclipse.ui.internal.wizards.datatransfer.ZipLeveledStructureProvider;
-import org.eclipse.ui.model.AdaptableList;
-import org.eclipse.ui.model.WorkbenchContentProvider;
-import org.eclipse.ui.model.WorkbenchLabelProvider;
-import org.eclipse.ui.model.WorkbenchViewerComparator;
-import org.eclipse.ui.wizards.datatransfer.FileSystemStructureProvider;
-import org.eclipse.ui.wizards.datatransfer.IImportStructureProvider;
-import org.eclipse.ui.wizards.datatransfer.ImportOperation;
-
-/**
- * A variant of the standard resource import wizard for importing traces to
- * given tracing project. If no project or tracing project was selected the
- * wizard imports it to the default tracing project which is created if
- * necessary.
- *
- * In our case traces could be files or a directory structure. This wizard
- * supports both cases. It imports traces for a selected trace type or, if no
- * trace type is selected, it tries to detect the trace type automatically.
- * However, the automatic detection is a best-effort and cannot guarantee that
- * the detection is successful. The reason for this is that there might be
- * multiple trace types that can be assigned to a single trace.
- *
- *
- * @author Francois Chouinard
- * @since 2.0
- */
-@SuppressWarnings("restriction")
-public class ImportTraceWizardPage extends WizardResourceImportPage {
-
- // ------------------------------------------------------------------------
- // Constants
- // ------------------------------------------------------------------------
- private static final String IMPORT_WIZARD_PAGE_NAME = "ImportTraceWizardPage"; //$NON-NLS-1$
- private static final String IMPORT_WIZARD_ROOT_DIRECTORY_ID = ".import_root_directory_id"; //$NON-NLS-1$;
- private static final String IMPORT_WIZARD_ARCHIVE_FILE_NAME_ID = ".import_archive_file_name_id"; //$NON-NLS-1$
- private static final String IMPORT_WIZARD_IMPORT_UNRECOGNIZED_ID = ".import_unrecognized_traces_id"; //$NON-NLS-1$
- private static final String IMPORT_WIZARD_PRESERVE_FOLDERS_ID = ".import_preserve_folders_id"; //$NON-NLS-1$
- private static final String IMPORT_WIZARD_IMPORT_FROM_DIRECTORY_ID = ".import_from_directory"; //$NON-NLS-1$
- private static final String SEPARATOR = ":"; //$NON-NLS-1$
-
- // constant from WizardArchiveFileResourceImportPage1
- private static final String[] FILE_IMPORT_MASK = { "*.jar;*.zip;*.tar;*.tar.gz;*.tgz", "*.*" }; //$NON-NLS-1$ //$NON-NLS-2$
- private static final String TRACE_IMPORT_TEMP_FOLDER = ".traceImport"; //$NON-NLS-1$
-
- /**
- * A special trace type value to communicate that automatic trace type
- * detection will occur instead of setting a specific trace type when
- * importing the traces.
- */
- public static final String TRACE_TYPE_AUTO_DETECT = Messages.ImportTraceWizard_AutoDetection;
-
- /**
- * Preserve the folder structure of the import traces.
- */
- public static final int OPTION_PRESERVE_FOLDER_STRUCTURE = 1 << 1;
- /**
- * Create links to the trace files instead of copies.
- */
- public static final int OPTION_CREATE_LINKS_IN_WORKSPACE = 1 << 2;
- /**
- * Import files that were not recognized as the selected trace type.
- */
- public static final int OPTION_IMPORT_UNRECOGNIZED_TRACES = 1 << 3;
- /**
- * Overwrite existing resources without prompting.
- */
- public static final int OPTION_OVERWRITE_EXISTING_RESOURCES = 1 << 4;
-
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
-
- // Target import directory ('Traces' folder)
- private IFolder fTargetFolder;
- // Target Trace folder element
- private TmfTraceFolder fTraceFolderElement;
- // Flag to handle destination folder change event
- private Boolean fIsDestinationChanged = false;
- // Combo box containing trace types
- private Combo fTraceTypes;
- // Button to ignore unrecognized traces or not
- private Button fImportUnrecognizedButton;
- // Button to overwrite existing resources or not
- private Button fOverwriteExistingResourcesCheckbox;
- // Button to link or copy traces to workspace
- private Button fCreateLinksInWorkspaceButton;
- // Button to preserve folder structure
- private Button fPreserveFolderStructureButton;
- private boolean entryChanged = false;
- // The import from directory radio button
- private Button fImportFromDirectoryRadio;
- // The import from archive radio button
- private Button fImportFromArchiveRadio;
- // Flag to remember the "create links" checkbox when it gets disabled by
- // the import from archive radio button
- private Boolean fPreviousCreateLinksValue = true;
-
- /** The archive name field */
- protected Combo fArchiveNameField;
- /** The archive browse button. */
- protected Button fArchiveBrowseButton;
- /** The directory name field */
- protected Combo directoryNameField;
- /** The directory browse button. */
- protected Button directoryBrowseButton;
-
- /**
- * ResourceTreeAndListGroup was internal in Kepler and we referenced it. It
- * is now removed in Luna. To keep our builds compatible with Kepler, we
- * need to have our own version of this class. Once we stop supporting
- * Kepler, we can delete this class and use the public one from the
- * platform.
- */
- private ResourceTreeAndListGroup fSelectionGroup;
-
- // Keep trace of the selection root so that we can dispose its related
- // resources
- private TraceFileSystemElement fSelectionGroupRoot;
-
- // ------------------------------------------------------------------------
- // Constructors
- // ------------------------------------------------------------------------
-
- /**
- * Constructor. Creates the trace wizard page.
- *
- * @param name
- * The name of the page.
- * @param selection
- * The current selection
- */
- protected ImportTraceWizardPage(String name, IStructuredSelection selection) {
- super(name, selection);
- setTitle(Messages.ImportTraceWizard_FileSystemTitle);
- setDescription(Messages.ImportTraceWizard_ImportTrace);
-
- // Locate the target trace folder
- IFolder traceFolder = null;
- Object element = selection.getFirstElement();
-
- if (element instanceof TmfTraceFolder) {
- fTraceFolderElement = (TmfTraceFolder) element;
- traceFolder = fTraceFolderElement.getResource();
- } else if (element instanceof IProject) {
- IProject project = (IProject) element;
- try {
- if (project.hasNature(TmfProjectNature.ID)) {
- TmfProjectElement projectElement = TmfProjectRegistry.getProject(project, true);
- fTraceFolderElement = projectElement.getTracesFolder();
- traceFolder = project.getFolder(TmfTracesFolder.TRACES_FOLDER_NAME);
- }
- } catch (CoreException e) {
- }
- }
-
- // If no tracing project was selected or trace folder doesn't exist use
- // default tracing project
- if (traceFolder == null) {
- IProject project = TmfProjectRegistry.createProject(
- TmfCommonConstants.DEFAULT_TRACE_PROJECT_NAME, null, new NullProgressMonitor());
- TmfProjectElement projectElement = TmfProjectRegistry.getProject(project, true);
- fTraceFolderElement = projectElement.getTracesFolder();
- traceFolder = project.getFolder(TmfTracesFolder.TRACES_FOLDER_NAME);
- }
-
- // Set the target trace folder
- if (traceFolder != null) {
- fTargetFolder = traceFolder;
- String path = traceFolder.getFullPath().toString();
- setContainerFieldValue(path);
- }
- }
-
- /**
- * Constructor
- *
- * @param selection
- * The current selection
- */
- public ImportTraceWizardPage(IStructuredSelection selection) {
- this(IMPORT_WIZARD_PAGE_NAME, selection);
- }
-
- /**
- * Create the import source selection widget. (Copied from
- * WizardResourceImportPage but instead always uses the internal
- * ResourceTreeAndListGroup to keep compatibility with Kepler)
- */
- @Override
- protected void createFileSelectionGroup(Composite parent) {
-
- // Just create with a dummy root.
- fSelectionGroup = new ResourceTreeAndListGroup(parent,
- new FileSystemElement("Dummy", null, true),//$NON-NLS-1$
- getFolderProvider(), new WorkbenchLabelProvider(),
- getFileProvider(), new WorkbenchLabelProvider(), SWT.NONE,
- DialogUtil.inRegularFontMode(parent));
-
- ICheckStateListener listener = new ICheckStateListener() {
- @Override
- public void checkStateChanged(CheckStateChangedEvent event) {
- updateWidgetEnablements();
- }
- };
-
- WorkbenchViewerComparator comparator = new WorkbenchViewerComparator();
- fSelectionGroup.setTreeComparator(comparator);
- fSelectionGroup.setListComparator(comparator);
- fSelectionGroup.addCheckStateListener(listener);
-
- }
-
- // ------------------------------------------------------------------------
- // WizardResourceImportPage
- // ------------------------------------------------------------------------
-
- @Override
- protected void createSourceGroup(Composite parent) {
- createSourceSelectionGroup(parent);
- createFileSelectionGroup(parent);
- createTraceTypeGroup(parent);
- validateSourceGroup();
- }
-
- @Override
- protected ITreeContentProvider getFileProvider() {
- return new WorkbenchContentProvider() {
- @Override
- public Object[] getChildren(Object object) {
- if (object instanceof TraceFileSystemElement) {
- TraceFileSystemElement element = (TraceFileSystemElement) object;
- return element.getFiles().getChildren(element);
- }
- return new Object[0];
- }
- };
- }
-
- @Override
- protected ITreeContentProvider getFolderProvider() {
- return new WorkbenchContentProvider() {
- @Override
- public Object[] getChildren(Object o) {
- if (o instanceof TraceFileSystemElement) {
- TraceFileSystemElement element = (TraceFileSystemElement) o;
- return element.getFolders().getChildren();
- }
- return new Object[0];
- }
-
- @Override
- public boolean hasChildren(Object o) {
- if (o instanceof TraceFileSystemElement) {
- TraceFileSystemElement element = (TraceFileSystemElement) o;
- if (element.isPopulated()) {
- return getChildren(element).length > 0;
- }
- // If we have not populated then wait until asked
- return true;
- }
- return false;
- }
- };
- }
-
- // ------------------------------------------------------------------------
- // Directory Selection Group (forked WizardFileSystemResourceImportPage1)
- // ------------------------------------------------------------------------
-
- /**
- * creates the source selection group.
- *
- * @param parent
- * the parent composite
- */
- protected void createSourceSelectionGroup(Composite parent) {
-
- Composite sourceGroup = new Composite(parent, SWT.NONE);
- GridLayout layout = new GridLayout();
- layout.numColumns = 3;
- layout.makeColumnsEqualWidth = false;
- layout.marginWidth = 0;
- sourceGroup.setLayout(layout);
- sourceGroup.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-
- // import from directory radio button
- fImportFromDirectoryRadio = new Button(sourceGroup, SWT.RADIO);
- fImportFromDirectoryRadio
- .setText(Messages.ImportTraceWizard_DirectoryLocation);
-
- // import location entry combo
- directoryNameField = createPathSelectionCombo(sourceGroup);
- createDirectoryBrowseButton(sourceGroup);
-
- // import from archive radio button
- fImportFromArchiveRadio = new Button(sourceGroup, SWT.RADIO);
- fImportFromArchiveRadio
- .setText(Messages.ImportTraceWizard_ArchiveLocation);
-
- // import location entry combo
- fArchiveNameField = createPathSelectionCombo(sourceGroup);
- createArchiveBrowseButton(sourceGroup);
-
- fImportFromDirectoryRadio.setSelection(true);
- fArchiveNameField.setEnabled(false);
- fArchiveBrowseButton.setEnabled(false);
-
- fImportFromDirectoryRadio.addSelectionListener(new SelectionAdapter() {
- @Override
- public void widgetSelected(SelectionEvent e) {
- directoryRadioSelected();
- }
- });
-
- fImportFromArchiveRadio.addSelectionListener(new SelectionAdapter() {
- @Override
- public void widgetSelected(SelectionEvent e) {
- archiveRadioSelected();
- }
- });
- }
-
- /**
- * Select or deselect all files in the file selection group
- *
- * @param checked
- * whether or not the files should be checked
- */
- protected void setFileSelectionGroupChecked(boolean checked) {
- if (fSelectionGroup != null) {
- fSelectionGroup.setAllSelections(checked);
- }
- }
-
- /**
- * Create a combo that will be used to select a path to specify the source
- * of the import. The parent is assumed to have a GridLayout.
- *
- * @param parent
- * the parent composite
- * @return the created path selection combo
- */
- protected Combo createPathSelectionCombo(Composite parent) {
- Combo pathSelectionCombo = new Combo(parent, SWT.BORDER);
-
- GridData layoutData = new GridData(GridData.HORIZONTAL_ALIGN_FILL | GridData.GRAB_HORIZONTAL);
- layoutData.widthHint = new PixelConverter(pathSelectionCombo).convertWidthInCharsToPixels(25);
- pathSelectionCombo.setLayoutData(layoutData);
-
- TraverseListener traverseListener = new TraverseListener() {
- @Override
- public void keyTraversed(TraverseEvent e) {
- if (e.detail == SWT.TRAVERSE_RETURN) {
- e.doit = false;
- entryChanged = false;
- updateFromSourceField();
- }
- }
- };
-
- FocusAdapter focusAdapter = new FocusAdapter() {
- @Override
- public void focusLost(FocusEvent e) {
- // Clear the flag to prevent constant update
- if (entryChanged) {
- entryChanged = false;
- updateFromSourceField();
- }
- }
- };
-
- SelectionAdapter selectionAdapter = new SelectionAdapter() {
- @Override
- public void widgetSelected(SelectionEvent e) {
- entryChanged = false;
- updateFromSourceField();
- }
- };
-
- ModifyListener modifyListner = new ModifyListener() {
- @Override
- public void modifyText(ModifyEvent e) {
- entryChanged = true;
- }
- };
-
- pathSelectionCombo.addModifyListener(modifyListner);
- pathSelectionCombo.addTraverseListener(traverseListener);
- pathSelectionCombo.addFocusListener(focusAdapter);
- pathSelectionCombo.addSelectionListener(selectionAdapter);
-
- return pathSelectionCombo;
- }
-
- /**
- * Create the directory browse button.
- *
- * @param parent
- * the parent composite
- */
- protected void createDirectoryBrowseButton(Composite parent) {
- directoryBrowseButton = createPathSelectionBrowseButton(parent);
- directoryBrowseButton.addSelectionListener(new SelectionAdapter() {
- @Override
- public void widgetSelected(SelectionEvent e) {
- handleSourceDirectoryBrowseButtonPressed();
- }
- });
- }
-
- /**
- * Create the archive browse button.
- *
- * @param parent
- * the parent composite
- */
- protected void createArchiveBrowseButton(Composite parent) {
- fArchiveBrowseButton = createPathSelectionBrowseButton(parent);
- fArchiveBrowseButton.addSelectionListener(new SelectionAdapter() {
- @Override
- public void widgetSelected(SelectionEvent e) {
- handleArchiveBrowseButtonPressed(FILE_IMPORT_MASK);
- }
- });
- }
-
- /**
- * Create a browse button that will be used to browse for a path to specify
- * the source of the import. The parent is assumed to have a GridLayout.
- *
- * @param parent
- * the parent composite
- * @return the created path selection combo
- */
- protected Button createPathSelectionBrowseButton(Composite parent) {
- Button pathSelectionBrowseButton = new Button(parent, SWT.PUSH);
- pathSelectionBrowseButton.setText(Messages.ImportTraceWizard_BrowseButton);
- setButtonLayoutData(pathSelectionBrowseButton);
-
- return pathSelectionBrowseButton;
- }
-
- private void archiveRadioSelected() {
- if (!isImportFromDirectory()) {
- directoryNameField.setEnabled(false);
- directoryBrowseButton.setEnabled(false);
- fArchiveNameField.setEnabled(true);
- fArchiveBrowseButton.setEnabled(true);
- updateFromSourceField();
- fArchiveNameField.setFocus();
- if (fCreateLinksInWorkspaceButton != null) {
- fPreviousCreateLinksValue = fCreateLinksInWorkspaceButton.getSelection();
- fCreateLinksInWorkspaceButton.setSelection(false);
- fCreateLinksInWorkspaceButton.setEnabled(false);
- }
- }
- }
-
- private void directoryRadioSelected() {
- if (isImportFromDirectory()) {
- directoryNameField.setEnabled(true);
- directoryBrowseButton.setEnabled(true);
- fArchiveNameField.setEnabled(false);
- fArchiveBrowseButton.setEnabled(false);
- updateFromSourceField();
- directoryNameField.setFocus();
- if (fCreateLinksInWorkspaceButton != null) {
- fCreateLinksInWorkspaceButton.setSelection(fPreviousCreateLinksValue);
- fCreateLinksInWorkspaceButton.setEnabled(true);
- }
- }
- }
-
- // ------------------------------------------------------------------------
- // Browse for the source directory
- // ------------------------------------------------------------------------
-
- @Override
- public void handleEvent(Event event) {
- if (event.widget == directoryBrowseButton) {
- handleSourceDirectoryBrowseButtonPressed();
- }
-
- // Avoid overwriting destination path without repeatedly trigger
- // call of handleEvent();
- synchronized (fIsDestinationChanged) {
- if (fIsDestinationChanged == false) {
- event.display.asyncExec(new Runnable() {
- @Override
- public void run() {
- synchronized (fIsDestinationChanged) {
- fIsDestinationChanged = true;
- String path = fTargetFolder.getFullPath().toString();
- setContainerFieldValue(path);
- }
- }
- });
- } else {
- fIsDestinationChanged = false;
- }
- }
- super.handleEvent(event);
- }
-
- @Override
- protected void handleContainerBrowseButtonPressed() {
- // Do nothing so that destination directory cannot be changed.
- }
-
- /**
- * Handle the button pressed event
- */
- protected void handleSourceDirectoryBrowseButtonPressed() {
- String currentSource = directoryNameField.getText();
- DirectoryDialog dialog = new DirectoryDialog(directoryNameField.getShell(), SWT.SAVE | SWT.SHEET);
- dialog.setText(Messages.ImportTraceWizard_SelectTraceDirectoryTitle);
- dialog.setMessage(Messages.ImportTraceWizard_SelectTraceDirectoryMessage);
- dialog.setFilterPath(getSourceDirectoryName(currentSource));
-
- String selectedDirectory = dialog.open();
- if (selectedDirectory != null) {
- // Just quit if the directory is not valid
- if ((getSourceDirectory(selectedDirectory) == null) || selectedDirectory.equals(currentSource)) {
- return;
- }
- // If it is valid then proceed to populate
- setErrorMessage(null);
- setSourcePath(selectedDirectory);
- }
- }
-
- /**
- * Handle the button pressed event
- *
- * @param extensions
- * file extensions used to filter files shown to the user
- */
- protected void handleArchiveBrowseButtonPressed(String[] extensions) {
- FileDialog dialog = new FileDialog(fArchiveNameField.getShell(), SWT.SHEET);
- dialog.setFilterExtensions(extensions);
- dialog.setText(Messages.ImportTraceWizard_SelectTraceArchiveTitle);
- String fileName = fArchiveNameField.getText().trim();
- if (!fileName.isEmpty()) {
- File path = new File(fileName).getParentFile();
- if (path != null && path.exists()) {
- dialog.setFilterPath(path.toString());
- }
- }
-
- String selectedArchive = dialog.open();
- if (selectedArchive != null) {
- setErrorMessage(null);
- setSourcePath(selectedArchive);
- updateWidgetEnablements();
- }
- }
-
- private File getSourceDirectory() {
- if (directoryNameField == null) {
- return null;
- }
- return getSourceDirectory(directoryNameField.getText());
- }
-
- private File getSourceArchiveFile() {
- if (fArchiveNameField == null) {
- return null;
- }
-
- return getSourceArchiveFile(fArchiveNameField.getText());
- }
-
- private String getSourceContainerPath() {
- if (isImportFromDirectory()) {
- File sourceDirectory = getSourceDirectory();
- if (sourceDirectory != null) {
- return sourceDirectory.getAbsolutePath();
- }
- }
- File sourceArchiveFile = getSourceArchiveFile();
- if (sourceArchiveFile != null) {
- return sourceArchiveFile.getParent();
- }
- return null;
- }
-
- private static File getSourceDirectory(String path) {
- File sourceDirectory = new File(getSourceDirectoryName(path));
- if (!sourceDirectory.exists() || !sourceDirectory.isDirectory()) {
- return null;
- }
-
- return sourceDirectory;
- }
-
- private static File getSourceArchiveFile(String path) {
- File sourceArchiveFile = new File(path);
- if (!sourceArchiveFile.exists() || sourceArchiveFile.isDirectory()) {
- return null;
- }
-
- return sourceArchiveFile;
- }
-
- private static String getSourceDirectoryName(String sourceName) {
- IPath result = new Path(sourceName.trim());
- if (result.getDevice() != null && result.segmentCount() == 0) {
- result = result.addTrailingSeparator();
- } else {
- result = result.removeTrailingSeparator();
- }
- return result.toOSString();
- }
-
- private void updateFromSourceField() {
- setSourcePath(getSourceField().getText());
- updateWidgetEnablements();
- }
-
- private Combo getSourceField() {
- if (directoryNameField == null) {
- return fArchiveNameField;
- }
-
- return directoryNameField.isEnabled() ? directoryNameField : fArchiveNameField;
- }
-
- /**
- * Set the source path that was selected by the user by various input
- * methods (Browse button, typing, etc).
- *
- * Clients can also call this to set the path programmatically (hard-coded
- * initial path) and this can also be overridden to be notified when the
- * source path changes.
- *
- * @param path
- * the source path
- */
- protected void setSourcePath(String path) {
- Combo sourceField = getSourceField();
- if (sourceField == null) {
- return;
- }
-
- if (path.length() > 0) {
- String[] currentItems = sourceField.getItems();
- int selectionIndex = -1;
- for (int i = 0; i < currentItems.length; i++) {
- if (currentItems[i].equals(path)) {
- selectionIndex = i;
- }
- }
- if (selectionIndex < 0) {
- int oldLength = currentItems.length;
- String[] newItems = new String[oldLength + 1];
- System.arraycopy(currentItems, 0, newItems, 0, oldLength);
- newItems[oldLength] = path;
- sourceField.setItems(newItems);
- selectionIndex = oldLength;
- }
- sourceField.select(selectionIndex);
- }
- resetSelection();
- }
-
- // ------------------------------------------------------------------------
- // File Selection Group (forked WizardFileSystemResourceImportPage1)
- // ------------------------------------------------------------------------
- private void resetSelection() {
- if (fSelectionGroupRoot != null) {
- disposeSelectionGroupRoot();
- }
- fSelectionGroupRoot = getFileSystemTree();
- fSelectionGroup.setRoot(fSelectionGroupRoot);
- }
-
- private void disposeSelectionGroupRoot() {
- if (fSelectionGroupRoot != null && fSelectionGroupRoot.getProvider() != null) {
- FileSystemObjectImportStructureProvider provider = fSelectionGroupRoot.getProvider();
- provider.dispose();
- fSelectionGroupRoot = null;
- }
- }
-
- private TraceFileSystemElement getFileSystemTree() {
- IFileSystemObject rootElement = null;
- FileSystemObjectImportStructureProvider importStructureProvider = null;
-
- // Import from directory
- if (isImportFromDirectory()) {
- importStructureProvider = new FileSystemObjectImportStructureProvider(FileSystemStructureProvider.INSTANCE, null);
- File sourceDirectory = getSourceDirectory();
- if (sourceDirectory == null) {
- return null;
- }
- rootElement = importStructureProvider.getIFileSystemObject(sourceDirectory);
- } else {
- // Import from archive
- FileSystemObjectLeveledImportStructureProvider leveledImportStructureProvider = null;
- String archivePath = getSourceArchiveFile() != null ? getSourceArchiveFile().getAbsolutePath() : ""; //$NON-NLS-1$
- if (ArchiveFileManipulations.isTarFile(archivePath)) {
- if (ensureTarSourceIsValid(archivePath)) {
- // We close the file when we dispose the import provider,
- // see disposeSelectionGroupRoot
- TarFile tarFile = getSpecifiedTarSourceFile(archivePath);
- leveledImportStructureProvider = new FileSystemObjectLeveledImportStructureProvider(new TarLeveledStructureProvider(tarFile), archivePath);
- }
- } else if (ensureZipSourceIsValid(archivePath)) {
- // We close the file when we dispose the import provider, see
- // disposeSelectionGroupRoot
- @SuppressWarnings("resource")
- ZipFile zipFile = getSpecifiedZipSourceFile(archivePath);
- leveledImportStructureProvider = new FileSystemObjectLeveledImportStructureProvider(new ZipLeveledStructureProvider(zipFile), archivePath);
- }
- if (leveledImportStructureProvider == null) {
- return null;
- }
- rootElement = leveledImportStructureProvider.getRoot();
- importStructureProvider = leveledImportStructureProvider;
- }
-
- if (rootElement == null) {
- return null;
- }
-
- return selectFiles(rootElement, importStructureProvider);
- }
-
- /**
- * An import provider that makes use of the IFileSystemObject abstraction
- * instead of using plain file system objects (File, TarEntry, ZipEntry)
- */
- private static class FileSystemObjectImportStructureProvider implements IImportStructureProvider {
-
- private IImportStructureProvider fImportProvider;
- private String fArchivePath;
-
- private FileSystemObjectImportStructureProvider(IImportStructureProvider importStructureProvider, String archivePath) {
- fImportProvider = importStructureProvider;
- fArchivePath = archivePath;
- }
-
- @Override
- public List<IFileSystemObject> getChildren(Object element) {
- @SuppressWarnings("rawtypes")
- List children = fImportProvider.getChildren(((IFileSystemObject) element).getRawFileSystemObject());
- List<IFileSystemObject> adapted = new ArrayList<>(children.size());
- for (Object o : children) {
- adapted.add(getIFileSystemObject(o));
- }
- return adapted;
- }
-
- public IFileSystemObject getIFileSystemObject(Object o) {
- if (o == null) {
- return null;
- }
-
- if (o instanceof File) {
- return new FileFileSystemObject((File) o);
- } else if (o instanceof TarEntry) {
- return new TarFileSystemObject((TarEntry) o, fArchivePath);
- } else if (o instanceof ZipEntry) {
- return new ZipFileSystemObject((ZipEntry) o, fArchivePath);
- }
-
- throw new IllegalArgumentException("Object type not handled"); //$NON-NLS-1$
- }
-
- @Override
- public InputStream getContents(Object element) {
- return fImportProvider.getContents(((IFileSystemObject) element).getRawFileSystemObject());
- }
-
- @Override
- public String getFullPath(Object element) {
- return fImportProvider.getFullPath(((IFileSystemObject) element).getRawFileSystemObject());
- }
-
- @Override
- public String getLabel(Object element) {
- return fImportProvider.getLabel(((IFileSystemObject) element).getRawFileSystemObject());
- }
-
- @Override
- public boolean isFolder(Object element) {
- return fImportProvider.isFolder(((IFileSystemObject) element).getRawFileSystemObject());
- }
-
- /**
- * Disposes of the resources associated with the provider.
- */
- public void dispose() {
- }
- }
-
- /**
- * An import provider that both supports using IFileSystemObject and adds
- * "archive functionality" by delegating to a leveled import provider
- * (TarLeveledStructureProvider, ZipLeveledStructureProvider)
- */
- private static class FileSystemObjectLeveledImportStructureProvider extends FileSystemObjectImportStructureProvider implements ILeveledImportStructureProvider {
-
- private ILeveledImportStructureProvider fLeveledImportProvider;
-
- private FileSystemObjectLeveledImportStructureProvider(ILeveledImportStructureProvider importStructureProvider, String archivePath) {
- super(importStructureProvider, archivePath);
- fLeveledImportProvider = importStructureProvider;
- }
-
- @Override
- public IFileSystemObject getRoot() {
- return getIFileSystemObject(fLeveledImportProvider.getRoot());
- }
-
- @Override
- public void setStrip(int level) {
- fLeveledImportProvider.setStrip(level);
- }
-
- @Override
- public int getStrip() {
- return fLeveledImportProvider.getStrip();
- }
-
- @Override
- public boolean closeArchive() {
- return fLeveledImportProvider.closeArchive();
- }
- }
-
- @SuppressWarnings("resource")
- private boolean ensureZipSourceIsValid(String archivePath) {
- ZipFile specifiedFile = getSpecifiedZipSourceFile(archivePath);
- if (specifiedFile == null) {
- return false;
- }
- return ArchiveFileManipulations.closeZipFile(specifiedFile, getShell());
- }
-
- private boolean ensureTarSourceIsValid(String archivePath) {
- TarFile specifiedFile = getSpecifiedTarSourceFile(archivePath);
- if (specifiedFile == null) {
- return false;
- }
- return ArchiveFileManipulations.closeTarFile(specifiedFile, getShell());
- }
-
- private static ZipFile getSpecifiedZipSourceFile(String fileName) {
- if (fileName.length() == 0) {
- return null;
- }
-
- try {
- return new ZipFile(fileName);
- } catch (ZipException e) {
- // ignore
- } catch (IOException e) {
- // ignore
- }
-
- return null;
- }
-
- private static TarFile getSpecifiedTarSourceFile(String fileName) {
- if (fileName.length() == 0) {
- return null;
- }
-
- try {
- return new TarFile(fileName);
- } catch (TarException e) {
- // ignore
- } catch (IOException e) {
- // ignore
- }
-
- return null;
- }
-
- private TraceFileSystemElement selectFiles(final IFileSystemObject rootFileSystemObject,
- final FileSystemObjectImportStructureProvider structureProvider) {
- final TraceFileSystemElement[] results = new TraceFileSystemElement[1];
- BusyIndicator.showWhile(getShell().getDisplay(), new Runnable() {
- @Override
- public void run() {
- // Create the root element from the supplied file system object
- results[0] = createRootElement(rootFileSystemObject, structureProvider);
- }
- });
- return results[0];
- }
-
- private static TraceFileSystemElement createRootElement(IFileSystemObject element,
- FileSystemObjectImportStructureProvider provider) {
- boolean isContainer = provider.isFolder(element);
- String elementLabel = provider.getLabel(element);
-
- // Use an empty label so that display of the element's full name
- // doesn't include a confusing label
- TraceFileSystemElement dummyParent = new TraceFileSystemElement("", null, true, provider);//$NON-NLS-1$
- Object dummyParentFileSystemObject = element;
- Object rawFileSystemObject = element.getRawFileSystemObject();
- if (rawFileSystemObject instanceof File) {
- dummyParentFileSystemObject = provider.getIFileSystemObject(((File) rawFileSystemObject).getParentFile());
- }
- dummyParent.setFileSystemObject(dummyParentFileSystemObject);
- dummyParent.setPopulated();
- TraceFileSystemElement result = new TraceFileSystemElement(
- elementLabel, dummyParent, isContainer, provider);
- result.setFileSystemObject(element);
-
- // Get the files for the element so as to build the first level
- result.getFiles();
-
- return dummyParent;
- }
-
- // ------------------------------------------------------------------------
- // Trace Type Group
- // ------------------------------------------------------------------------
- private final void createTraceTypeGroup(Composite parent) {
- Composite composite = new Composite(parent, SWT.NONE);
- GridLayout layout = new GridLayout();
- layout.numColumns = 3;
- layout.makeColumnsEqualWidth = false;
- composite.setLayout(layout);
- composite.setFont(parent.getFont());
- GridData buttonData = new GridData(SWT.FILL, SWT.FILL, true, false);
- composite.setLayoutData(buttonData);
-
- // Trace type label ("Trace Type:")
- Label typeLabel = new Label(composite, SWT.NONE);
- typeLabel.setText(Messages.ImportTraceWizard_TraceType);
- typeLabel.setFont(parent.getFont());
-
- // Trace type combo
- fTraceTypes = new Combo(composite, SWT.BORDER | SWT.READ_ONLY);
- GridData data = new GridData(SWT.FILL, SWT.FILL, true, false, 2, 1);
- fTraceTypes.setLayoutData(data);
- fTraceTypes.setFont(parent.getFont());
-
- String[] availableTraceTypes = TmfTraceType.getAvailableTraceTypes();
- String[] traceTypeList = new String[availableTraceTypes.length + 1];
- traceTypeList[0] = TRACE_TYPE_AUTO_DETECT;
- for (int i = 0; i < availableTraceTypes.length; i++) {
- traceTypeList[i + 1] = availableTraceTypes[i];
- }
- fTraceTypes.setItems(traceTypeList);
- fTraceTypes.addSelectionListener(new SelectionAdapter() {
- @Override
- public void widgetSelected(SelectionEvent e) {
- updateWidgetEnablements();
- boolean enabled = fTraceTypes.getText().equals(TRACE_TYPE_AUTO_DETECT);
- fImportUnrecognizedButton.setEnabled(enabled);
- }
- });
- fTraceTypes.select(0);
-
- // Unrecognized checkbox
- fImportUnrecognizedButton = new Button(composite, SWT.CHECK);
- fImportUnrecognizedButton.setSelection(true);
- fImportUnrecognizedButton.setText(Messages.ImportTraceWizard_ImportUnrecognized);
- }
-
- // ------------------------------------------------------------------------
- // Options
- // ------------------------------------------------------------------------
-
- @Override
- protected void createOptionsGroupButtons(Group optionsGroup) {
-
- // Overwrite checkbox
- fOverwriteExistingResourcesCheckbox = new Button(optionsGroup, SWT.CHECK);
- fOverwriteExistingResourcesCheckbox.setFont(optionsGroup.getFont());
- fOverwriteExistingResourcesCheckbox.setText(Messages.ImportTraceWizard_OverwriteExistingTrace);
- fOverwriteExistingResourcesCheckbox.setSelection(false);
-
- // Create links checkbox
- fCreateLinksInWorkspaceButton = new Button(optionsGroup, SWT.CHECK);
- fCreateLinksInWorkspaceButton.setFont(optionsGroup.getFont());
- fCreateLinksInWorkspaceButton.setText(Messages.ImportTraceWizard_CreateLinksInWorkspace);
- fCreateLinksInWorkspaceButton.setSelection(true);
-
- fCreateLinksInWorkspaceButton.addSelectionListener(new SelectionAdapter() {
- @Override
- public void widgetSelected(SelectionEvent e) {
- updateWidgetEnablements();
- }
- });
-
- fPreserveFolderStructureButton = new Button(optionsGroup, SWT.CHECK);
- fPreserveFolderStructureButton.setFont(optionsGroup.getFont());
- fPreserveFolderStructureButton.setText(Messages.ImportTraceWizard_PreserveFolderStructure);
- fPreserveFolderStructureButton.setSelection(true);
-
- updateWidgetEnablements();
- }
-
- // ------------------------------------------------------------------------
- // Determine if the finish button can be enabled
- // ------------------------------------------------------------------------
- @Override
- public boolean validateSourceGroup() {
-
- File source = isImportFromDirectory() ? getSourceDirectory() : getSourceArchiveFile();
- if (source == null) {
- setMessage(Messages.ImportTraceWizard_SelectTraceSourceEmpty);
- setErrorMessage(null);
- return false;
- }
-
- if (sourceConflictsWithDestination(new Path(source.getPath()))) {
- setMessage(null);
- setErrorMessage(getSourceConflictMessage());
- return false;
- }
-
- if (!isImportFromDirectory()) {
- if (!ensureTarSourceIsValid(source.getAbsolutePath()) && !ensureZipSourceIsValid(source.getAbsolutePath())) {
- setMessage(null);
- setErrorMessage(Messages.ImportTraceWizard_BadArchiveFormat);
- return false;
- }
- }
-
- if (fSelectionGroup.getCheckedElementCount() == 0) {
- setMessage(null);
- setErrorMessage(Messages.ImportTraceWizard_SelectTraceNoneSelected);
- return false;
- }
-
- IContainer container = getSpecifiedContainer();
- if (container != null && container.isVirtual()) {
- if (Platform.getPreferencesService().getBoolean(Activator.PLUGIN_ID, ResourcesPlugin.PREF_DISABLE_LINKING, false, null)) {
- setMessage(null);
- setErrorMessage(Messages.ImportTraceWizard_CannotImportFilesUnderAVirtualFolder);
- return false;
- }
- if (fCreateLinksInWorkspaceButton == null || !fCreateLinksInWorkspaceButton.getSelection()) {
- setMessage(null);
- setErrorMessage(Messages.ImportTraceWizard_HaveToCreateLinksUnderAVirtualFolder);
- return false;
- }
- }
-
- setErrorMessage(null);
- return true;
- }
-
- private boolean isImportFromDirectory() {
- return fImportFromDirectoryRadio != null && fImportFromDirectoryRadio.getSelection();
- }
-
- @Override
- protected void restoreWidgetValues() {
- super.restoreWidgetValues();
-
- IDialogSettings settings = getDialogSettings();
- boolean value;
- if (fImportUnrecognizedButton != null) {
- if (settings.get(getPageStoreKey(IMPORT_WIZARD_IMPORT_UNRECOGNIZED_ID)) == null) {
- value = true;
- } else {
- value = settings.getBoolean(getPageStoreKey(IMPORT_WIZARD_IMPORT_UNRECOGNIZED_ID));
- }
- fImportUnrecognizedButton.setSelection(value);
- }
-
- if (fPreserveFolderStructureButton != null) {
- if (settings.get(getPageStoreKey(IMPORT_WIZARD_PRESERVE_FOLDERS_ID)) == null) {
- value = true;
- } else {
- value = settings.getBoolean(getPageStoreKey(IMPORT_WIZARD_PRESERVE_FOLDERS_ID));
- }
- fPreserveFolderStructureButton.setSelection(value);
- }
-
- if (settings.get(getPageStoreKey(IMPORT_WIZARD_IMPORT_FROM_DIRECTORY_ID)) == null) {
- value = true;
- } else {
- value = settings.getBoolean(getPageStoreKey(IMPORT_WIZARD_IMPORT_FROM_DIRECTORY_ID));
- }
-
- if (directoryNameField != null) {
- restoreComboValues(directoryNameField, settings, getPageStoreKey(IMPORT_WIZARD_ROOT_DIRECTORY_ID));
- }
- if (fArchiveNameField != null) {
- restoreComboValues(fArchiveNameField, settings, getPageStoreKey(IMPORT_WIZARD_ARCHIVE_FILE_NAME_ID));
- }
-
- if (fImportFromDirectoryRadio != null) {
- fImportFromDirectoryRadio.setSelection(value);
- if (value) {
- directoryRadioSelected();
- }
- }
- if (fImportFromArchiveRadio != null) {
- fImportFromArchiveRadio.setSelection(!value);
- if (!value) {
- archiveRadioSelected();
- }
- }
- }
-
- @Override
- protected void saveWidgetValues() {
- // Persist dialog settings
- IDialogSettings settings = getDialogSettings();
- if (fImportUnrecognizedButton != null) {
- settings.put(getPageStoreKey(IMPORT_WIZARD_IMPORT_UNRECOGNIZED_ID), fImportUnrecognizedButton.getSelection());
- }
- if (fPreserveFolderStructureButton != null) {
- settings.put(getPageStoreKey(IMPORT_WIZARD_PRESERVE_FOLDERS_ID), fPreserveFolderStructureButton.getSelection());
- }
- settings.put(getPageStoreKey(IMPORT_WIZARD_IMPORT_FROM_DIRECTORY_ID), isImportFromDirectory());
-
- if (directoryNameField != null) {
- saveComboValues(directoryNameField, settings, getPageStoreKey(IMPORT_WIZARD_ROOT_DIRECTORY_ID));
- }
- if (fArchiveNameField != null) {
- saveComboValues(fArchiveNameField, settings, getPageStoreKey(IMPORT_WIZARD_ARCHIVE_FILE_NAME_ID));
- }
- }
-
- private String getPageStoreKey(String key) {
- return getName() + key;
- }
-
- private static void restoreComboValues(Combo combo, IDialogSettings settings, String key) {
- String[] directoryNames = settings.getArray(key);
- if ((directoryNames != null) && (directoryNames.length != 0)) {
- for (int i = 0; i < directoryNames.length; i++) {
- combo.add(directoryNames[i]);
- }
- }
- }
-
- private void saveComboValues(Combo combo, IDialogSettings settings, String key) {
- // update names history
- String[] directoryNames = settings.getArray(key);
- if (directoryNames == null) {
- directoryNames = new String[0];
- }
-
- String items[] = combo.getItems();
- for (int i = 0; i < items.length; i++) {
- directoryNames = addToHistory(directoryNames, items[i]);
- }
- settings.put(key, directoryNames);
- }
-
- // ------------------------------------------------------------------------
- // Import the trace(s)
- // ------------------------------------------------------------------------
-
- /**
- * Finish the import.
- *
- * @return <code>true</code> if successful else <code>false</code>
- */
- public boolean finish() {
- String traceTypeName = getImportTraceTypeId();
- String traceId = null;
- if (!TRACE_TYPE_AUTO_DETECT.equals(traceTypeName)) {
- String tokens[] = traceTypeName.split(SEPARATOR, 2);
- if (tokens.length < 2) {
- return false;
- }
- traceId = TmfTraceType.getTraceTypeId(tokens[0], tokens[1]);
- }
-
- // Save dialog settings
- saveWidgetValues();
-
- IPath baseSourceContainerPath = new Path(getSourceContainerPath());
- boolean importFromArchive = getSourceArchiveFile() != null;
- int importOptionFlags = getImportOptionFlags();
-
- final TraceValidateAndImportOperation operation = new TraceValidateAndImportOperation(traceId, baseSourceContainerPath, getContainerFullPath(), importFromArchive,
- importOptionFlags);
-
- IStatus status = Status.OK_STATUS;
- try {
- getContainer().run(true, true, new IRunnableWithProgress() {
- @Override
- public void run(IProgressMonitor monitor) throws InvocationTargetException, InterruptedException {
- operation.run(monitor);
- monitor.done();
- }
- });
-
- status = operation.getStatus();
- } catch (InvocationTargetException e) {
- status = new Status(IStatus.ERROR, Activator.PLUGIN_ID, Messages.ImportTraceWizard_ImportProblem, e);
- } catch (InterruptedException e) {
- status = Status.CANCEL_STATUS;
- }
- if (!status.isOK()) {
- if (status.getSeverity() == IStatus.CANCEL) {
- setMessage(Messages.ImportTraceWizard_ImportOperationCancelled);
- setErrorMessage(null);
- } else {
- if (status.getException() != null) {
- displayErrorDialog(status.getMessage() + ": " + status.getException()); //$NON-NLS-1$
- }
- setMessage(null);
- setErrorMessage(Messages.ImportTraceWizard_ImportProblem);
- }
- return false;
- }
- setErrorMessage(null);
- return true;
- }
-
- /**
- * Get the trace type id to import as. This can also return
- * {@link #TRACE_TYPE_AUTO_DETECT} to communicate that automatic trace type
- * detection will occur instead of setting a specific trace type when
- * importing the traces.
- *
- * @return the trace type id or {@link #TRACE_TYPE_AUTO_DETECT}
- */
- protected String getImportTraceTypeId() {
- return fTraceTypes.getText();
- }
-
- /**
- * Get import options in the form of flags (bits).
- *
- * @return the import flags.
- * @see #OPTION_CREATE_LINKS_IN_WORKSPACE
- * @see #OPTION_IMPORT_UNRECOGNIZED_TRACES
- * @see #OPTION_OVERWRITE_EXISTING_RESOURCES
- * @see #OPTION_PRESERVE_FOLDER_STRUCTURE
- */
- protected int getImportOptionFlags() {
- int flags = 0;
- if (fCreateLinksInWorkspaceButton != null && fCreateLinksInWorkspaceButton.getSelection()) {
- flags |= OPTION_CREATE_LINKS_IN_WORKSPACE;
- }
- if (fImportUnrecognizedButton != null && fImportUnrecognizedButton.getSelection()) {
- flags |= OPTION_IMPORT_UNRECOGNIZED_TRACES;
- }
- if (fOverwriteExistingResourcesCheckbox != null && fOverwriteExistingResourcesCheckbox.getSelection()) {
- flags |= OPTION_OVERWRITE_EXISTING_RESOURCES;
- }
- if (fPreserveFolderStructureButton != null && fPreserveFolderStructureButton.getSelection()) {
- flags |= OPTION_PRESERVE_FOLDER_STRUCTURE;
- }
- return flags;
- }
-
- @Override
- public void dispose() {
- super.dispose();
- disposeSelectionGroupRoot();
- }
-
- // ------------------------------------------------------------------------
- // Classes
- // ------------------------------------------------------------------------
-
- private class TraceValidateAndImportOperation {
- private IStatus fStatus;
- private String fTraceType;
- private IPath fDestinationContainerPath;
- private IPath fBaseSourceContainerPath;
- private boolean fImportFromArchive;
- private int fImportOptionFlags;
- private ImportConflictHandler fConflictHandler;
-
- private TraceValidateAndImportOperation(String traceId, IPath baseSourceContainerPath, IPath destinationContainerPath, boolean importFromArchive, int importOptionFlags) {
- fTraceType = traceId;
- fBaseSourceContainerPath = baseSourceContainerPath;
- fDestinationContainerPath = destinationContainerPath;
- fImportOptionFlags = importOptionFlags;
- fImportFromArchive = importFromArchive;
-
- boolean overwriteExistingResources = (importOptionFlags & OPTION_OVERWRITE_EXISTING_RESOURCES) != 0;
- if (overwriteExistingResources) {
- fConflictHandler = new ImportConflictHandler(getContainer().getShell(), fTraceFolderElement, ImportConfirmation.OVERWRITE_ALL);
- } else {
- fConflictHandler = new ImportConflictHandler(getContainer().getShell(), fTraceFolderElement, ImportConfirmation.SKIP);
- }
- }
-
- public void run(IProgressMonitor progressMonitor) {
- String currentPath = null;
- final Map<String, TraceFileSystemElement> folderElements = new HashMap<>();
- try {
-
- final ArrayList<TraceFileSystemElement> fileSystemElements = new ArrayList<>();
- IElementFilter passThroughFilter = new IElementFilter() {
-
- @Override
- public void filterElements(Collection elements, IProgressMonitor monitor) {
- fileSystemElements.addAll(elements);
- }
-
- @Override
- public void filterElements(Object[] elements, IProgressMonitor monitor) {
- for (int i = 0; i < elements.length; i++) {
- fileSystemElements.add((TraceFileSystemElement) elements[i]);
- }
- }
- };
-
- // List fileSystemElements will be filled using the
- // passThroughFilter
- SubMonitor subMonitor = SubMonitor.convert(progressMonitor, 1);
- fSelectionGroup.getAllCheckedListItems(passThroughFilter, subMonitor);
-
- // Check if operation was cancelled.
- ModalContext.checkCanceled(subMonitor);
-
- Iterator<TraceFileSystemElement> fileSystemElementsIter = fileSystemElements.iterator();
- IFolder destTempFolder = null;
- subMonitor = SubMonitor.convert(progressMonitor, fileSystemElements.size());
- if (fImportFromArchive) {
- // When importing from archive, we first extract the
- // *selected* files to a temporary folder then create a new
- // Iterator<TraceFileSystemElement> that points to the
- // extracted files. This way, the import operator can
- // continue as it normally would.
-
- subMonitor = SubMonitor.convert(progressMonitor, fileSystemElements.size() * 2);
- destTempFolder = fTargetFolder.getProject().getFolder(TRACE_IMPORT_TEMP_FOLDER);
- if (destTempFolder.exists()) {
- SubProgressMonitor monitor = new SubProgressMonitor(subMonitor, 1, SubProgressMonitor.PREPEND_MAIN_LABEL_TO_SUBTASK);
- destTempFolder.delete(true, monitor);
- }
- SubProgressMonitor monitor = new SubProgressMonitor(subMonitor, 1, SubProgressMonitor.PREPEND_MAIN_LABEL_TO_SUBTASK);
- destTempFolder.create(IResource.HIDDEN, true, monitor);
-
- fileSystemElementsIter = extractSelectedFiles(fileSystemElementsIter, destTempFolder, subMonitor);
- // We need to update the source container path because the
- // "preserve folder structure" option would create the
- // wrong folders otherwise.
- fBaseSourceContainerPath = destTempFolder.getLocation();
- }
-
- while (fileSystemElementsIter.hasNext()) {
- ModalContext.checkCanceled(progressMonitor);
- currentPath = null;
- TraceFileSystemElement element = fileSystemElementsIter.next();
- IFileSystemObject fileSystemObject = element.getFileSystemObject();
- String resourcePath = element.getFileSystemObject().getAbsolutePath(fBaseSourceContainerPath.toOSString());
- element.setDestinationContainerPath(computeDestinationContainerPath(new Path(resourcePath)));
-
- currentPath = resourcePath;
- SubMonitor sub = subMonitor.newChild(1);
- if (element.isDirectory()) {
- if (!folderElements.containsKey(resourcePath)) {
- if (isDirectoryTrace(element)) {
- folderElements.put(resourcePath, element);
- validateAndImportTrace(element, sub);
- }
- }
- } else {
- TraceFileSystemElement parentElement = (TraceFileSystemElement) element.getParent();
- String parentPath = parentElement.getFileSystemObject().getAbsolutePath(fBaseSourceContainerPath.toOSString());
- parentElement.setDestinationContainerPath(computeDestinationContainerPath(new Path(parentPath)));
- currentPath = parentPath;
- if (!folderElements.containsKey(parentPath)) {
- if (isDirectoryTrace(parentElement)) {
- folderElements.put(parentPath, parentElement);
- validateAndImportTrace(parentElement, sub);
- } else {
- if (fileSystemObject.exists()) {
- validateAndImportTrace(element, sub);
- }
- }
- }
- }
- }
-
- if (destTempFolder != null && destTempFolder.exists()) {
- destTempFolder.delete(true, progressMonitor);
- }
-
- setStatus(Status.OK_STATUS);
- } catch (InterruptedException e) {
- setStatus(Status.CANCEL_STATUS);
- } catch (Exception e) {
- String errorMessage = Messages.ImportTraceWizard_ImportProblem + ": " + //$NON-NLS-1$
- (currentPath != null ? currentPath : ""); //$NON-NLS-1$
- Activator.getDefault().logError(errorMessage, e);
- setStatus(new Status(IStatus.ERROR, Activator.PLUGIN_ID, errorMessage, e));
- }
- }
-
- private Iterator<TraceFileSystemElement> extractSelectedFiles(Iterator<TraceFileSystemElement> fileSystemElementsIter, IFolder tempFolder, IProgressMonitor progressMonitor) throws InterruptedException,
- InvocationTargetException {
- List<TraceFileSystemElement> subList = new ArrayList<>();
- Map<IPath, String> sourceLocationMap = new HashMap<>();
- // Collect all the elements
- while (fileSystemElementsIter.hasNext()) {
- ModalContext.checkCanceled(progressMonitor);
- TraceFileSystemElement element = fileSystemElementsIter.next();
- sourceLocationMap.put(new Path(element.getFileSystemObject().getName()).removeTrailingSeparator(), element.getSourceLocation());
- TraceFileSystemElement parentElement = (TraceFileSystemElement) element.getParent();
- sourceLocationMap.put(new Path(parentElement.getFileSystemObject().getName()).removeTrailingSeparator(), parentElement.getSourceLocation());
- if (element.isDirectory()) {
- Object[] array = element.getFiles().getChildren();
- for (int i = 0; i < array.length; i++) {
- subList.add((TraceFileSystemElement) array[i]);
- }
- }
- subList.add(element);
- }
-
- // Find a sensible root element
- TraceFileSystemElement root = subList.get(0);
- while (root.getParent() != null) {
- root = (TraceFileSystemElement) root.getParent();
- }
-
- ImportProvider fileSystemStructureProvider = new ImportProvider();
-
- IOverwriteQuery myQueryImpl = new IOverwriteQuery() {
- @Override
- public String queryOverwrite(String file) {
- return IOverwriteQuery.NO_ALL;
- }
- };
-
- progressMonitor.setTaskName(Messages.ImportTraceWizard_ExtractImportOperationTaskName);
- IPath containerPath = tempFolder.getFullPath();
- ImportOperation operation = new ImportOperation(containerPath, root, fileSystemStructureProvider, myQueryImpl, subList);
- operation.setContext(getShell());
-
- operation.setCreateContainerStructure(true);
- operation.setOverwriteResources(false);
- operation.setVirtualFolders(false);
-
- operation.run(new SubProgressMonitor(progressMonitor, subList.size(), SubProgressMonitor.PREPEND_MAIN_LABEL_TO_SUBTASK));
-
- // Create the new import provider and root element based on the
- // extracted temp folder
- FileSystemObjectImportStructureProvider importStructureProvider = new FileSystemObjectImportStructureProvider(FileSystemStructureProvider.INSTANCE, null);
- IFileSystemObject rootElement = importStructureProvider.getIFileSystemObject(new File(tempFolder.getLocation().toOSString()));
- TraceFileSystemElement createRootElement = createRootElement(rootElement, importStructureProvider);
- List<TraceFileSystemElement> list = new ArrayList<>();
- getAllChildren(list, createRootElement);
- Iterator<TraceFileSystemElement> extractedElementsIter = list.iterator();
- IPath tempPath = new Path(tempFolder.getLocation().toOSString());
- for (TraceFileSystemElement element : list) {
- IPath path = new Path(((File) element.getFileSystemObject().getRawFileSystemObject()).getAbsolutePath()).makeRelativeTo(tempPath);
- element.setSourceLocation(sourceLocationMap.get(path));
- TraceFileSystemElement parentElement = (TraceFileSystemElement) element.getParent();
- IPath parentPath = new Path(((File) parentElement.getFileSystemObject().getRawFileSystemObject()).getAbsolutePath()).makeRelativeTo(tempPath);
- parentElement.setSourceLocation(sourceLocationMap.get(parentPath));
- }
- return extractedElementsIter;
- }
-
- /**
- * Get all the TraceFileSystemElements recursively.
- *
- * @param result
- * the list accumulating the result
- * @param rootElement
- * the root element of the file system to be imported
- */
- private void getAllChildren(List<TraceFileSystemElement> result, TraceFileSystemElement rootElement) {
- AdaptableList files = rootElement.getFiles();
- for (Object file : files.getChildren()) {
- result.add((TraceFileSystemElement) file);
- }
-
- AdaptableList folders = rootElement.getFolders();
- for (Object folder : folders.getChildren()) {
- getAllChildren(result, (TraceFileSystemElement) folder);
- }
- }
-
- private IPath computeDestinationContainerPath(Path resourcePath) {
- IPath destinationContainerPath = fDestinationContainerPath;
-
- // We need to figure out the new destination path relative to the
- // selected "base" source directory.
- // Here for example, the selected source directory is /home/user
- if ((fImportOptionFlags & OPTION_PRESERVE_FOLDER_STRUCTURE) != 0) {
- // /home/user/bar/foo/trace -> /home/user/bar/foo
- IPath sourceContainerPath = resourcePath.removeLastSegments(1);
- if (fBaseSourceContainerPath.equals(resourcePath)) {
- // Use resourcePath directory if fBaseSourceContainerPath
- // points to a directory trace
- sourceContainerPath = resourcePath;
- }
- // /home/user/bar/foo, /home/user -> bar/foo
- IPath relativeContainerPath = sourceContainerPath.makeRelativeTo(fBaseSourceContainerPath);
- // project/Traces + bar/foo -> project/Traces/bar/foo
- destinationContainerPath = fDestinationContainerPath.append(relativeContainerPath);
- }
- return destinationContainerPath;
- }
-
- private void validateAndImportTrace(TraceFileSystemElement fileSystemElement, IProgressMonitor monitor)
- throws TmfTraceImportException, CoreException, InvocationTargetException, InterruptedException {
- String parentContainerPath = fBaseSourceContainerPath.toOSString();
- String path = fileSystemElement.getFileSystemObject().getAbsolutePath(parentContainerPath);
- TraceTypeHelper traceTypeHelper = null;
-
- if (fTraceType == null) {
- // Auto Detection
- try {
- traceTypeHelper = TmfTraceTypeUIUtils.selectTraceType(path, null, null);
- } catch (TmfTraceImportException e) {
- // the trace did not match any trace type
- }
- if (traceTypeHelper == null) {
- if ((fImportOptionFlags & OPTION_IMPORT_UNRECOGNIZED_TRACES) != 0) {
- importResource(fileSystemElement, monitor);
- }
- return;
- }
- } else {
- boolean isDirectoryTraceType = TmfTraceType.isDirectoryTraceType(fTraceType);
- if (fileSystemElement.isDirectory() != isDirectoryTraceType) {
- return;
- }
- traceTypeHelper = TmfTraceType.getTraceType(fTraceType);
-
- if (traceTypeHelper == null) {
- // Trace type not found
- throw new TmfTraceImportException(Messages.ImportTraceWizard_TraceTypeNotFound);
- }
-
- if (!traceTypeHelper.validate(path).isOK()) {
- // Trace type exist but doesn't validate for given trace.
- return;
- }
- }
-
- // Finally import trace
- IResource importedResource = importResource(fileSystemElement, monitor);
- if (importedResource != null) {
- TmfTraceTypeUIUtils.setTraceType(importedResource, traceTypeHelper);
- }
-
- }
-
- /**
- * Imports a trace resource to project. In case of name collision the
- * user will be asked to confirm overwriting the existing trace,
- * overwriting or skipping the trace to be imported.
- *
- * @param fileSystemElement
- * trace file system object to import
- * @param monitor
- * a progress monitor
- * @return the imported resource or null if no resource was imported
- *
- * @throws InvocationTargetException
- * if problems during import operation
- * @throws InterruptedException
- * if cancelled
- * @throws CoreException
- * if problems with workspace
- */
- private IResource importResource(TraceFileSystemElement fileSystemElement, IProgressMonitor monitor)
- throws InvocationTargetException, InterruptedException, CoreException {
-
- IPath tracePath = getInitialDestinationPath(fileSystemElement);
- String newName = fConflictHandler.checkAndHandleNameClash(tracePath, monitor);
- if (newName == null) {
- return null;
- }
- fileSystemElement.setLabel(newName);
-
- List<TraceFileSystemElement> subList = new ArrayList<>();
-
- FileSystemElement parentFolder = fileSystemElement.getParent();
-
- IPath containerPath = fileSystemElement.getDestinationContainerPath();
- tracePath = containerPath.addTrailingSeparator().append(fileSystemElement.getLabel());
- boolean createLinksInWorkspace = (fImportOptionFlags & OPTION_CREATE_LINKS_IN_WORKSPACE) != 0;
- if (fileSystemElement.isDirectory() && !createLinksInWorkspace) {
- containerPath = tracePath;
-
- Object[] array = fileSystemElement.getFiles().getChildren();
- for (int i = 0; i < array.length; i++) {
- subList.add((TraceFileSystemElement) array[i]);
- }
- parentFolder = fileSystemElement;
-
- } else {
- subList.add(fileSystemElement);
- }
-
- ImportProvider fileSystemStructureProvider = new ImportProvider();
-
- IOverwriteQuery myQueryImpl = new IOverwriteQuery() {
- @Override
- public String queryOverwrite(String file) {
- return IOverwriteQuery.NO_ALL;
- }
- };
-
- monitor.setTaskName(Messages.ImportTraceWizard_ImportOperationTaskName + " " + fileSystemElement.getFileSystemObject().getAbsolutePath(fBaseSourceContainerPath.toOSString())); //$NON-NLS-1$
- ImportOperation operation = new ImportOperation(containerPath, parentFolder, fileSystemStructureProvider, myQueryImpl, subList);
- operation.setContext(getShell());
-
- operation.setCreateContainerStructure(false);
- operation.setOverwriteResources(false);
- operation.setCreateLinks(createLinksInWorkspace);
- operation.setVirtualFolders(false);
-
- operation.run(new SubProgressMonitor(monitor, 1, SubProgressMonitor.PREPEND_MAIN_LABEL_TO_SUBTASK));
- String sourceLocation = fileSystemElement.getSourceLocation();
- IResource resource = ResourcesPlugin.getWorkspace().getRoot().findMember(tracePath);
- if (sourceLocation != null) {
- resource.setPersistentProperty(TmfCommonConstants.SOURCE_LOCATION, sourceLocation);
- }
-
- return resource;
- }
-
- private boolean isDirectoryTrace(TraceFileSystemElement fileSystemElement) {
- String path = fileSystemElement.getFileSystemObject().getAbsolutePath(fBaseSourceContainerPath.toOSString());
- if (TmfTraceType.isDirectoryTrace(path)) {
- return true;
- }
- return false;
- }
-
- /**
- * @return the initial destination path, before rename, if any
- */
- private IPath getInitialDestinationPath(TraceFileSystemElement fileSystemElement) {
- IPath traceFolderPath = fileSystemElement.getDestinationContainerPath();
- return traceFolderPath.append(fileSystemElement.getFileSystemObject().getLabel());
- }
-
- /**
- * Set the status for this operation
- *
- * @param status
- * the status
- */
- protected void setStatus(IStatus status) {
- fStatus = status;
- }
-
- public IStatus getStatus() {
- return fStatus;
- }
- }
-
- /**
- * The <code>TraceFileSystemElement</code> is a
- * <code>FileSystemElement</code> that knows if it has been populated or
- * not.
- */
- private static class TraceFileSystemElement extends FileSystemElement {
-
- private boolean fIsPopulated = false;
- private String fLabel = null;
- private IPath fDestinationContainerPath;
- private FileSystemObjectImportStructureProvider fProvider;
- private String fSourceLocation;
-
- public TraceFileSystemElement(String name, FileSystemElement parent, boolean isDirectory, FileSystemObjectImportStructureProvider provider) {
- super(name, parent, isDirectory);
- fProvider = provider;
- }
-
- public void setDestinationContainerPath(IPath destinationContainerPath) {
- fDestinationContainerPath = destinationContainerPath;
- }
-
- public void setPopulated() {
- fIsPopulated = true;
- }
-
- public boolean isPopulated() {
- return fIsPopulated;
- }
-
- @Override
- public AdaptableList getFiles() {
- if (!fIsPopulated) {
- populateElementChildren();
- }
- return super.getFiles();
- }
-
- @Override
- public AdaptableList getFolders() {
- if (!fIsPopulated) {
- populateElementChildren();
- }
- return super.getFolders();
- }
-
- /**
- * Sets the label for the trace to be used when importing at trace.
- *
- * @param name
- * the label for the trace
- */
- public void setLabel(String name) {
- fLabel = name;
- }
-
- /**
- * Returns the label for the trace to be used when importing at trace.
- *
- * @return the label of trace resource
- */
- public String getLabel() {
- if (fLabel == null) {
- return getFileSystemObject().getLabel();
- }
- return fLabel;
- }
-
- /**
- * The full path to the container that will contain the trace
- *
- * @return the destination container path
- */
- public IPath getDestinationContainerPath() {
- return fDestinationContainerPath;
- }
-
- /**
- * Populates the children of the specified parent
- * <code>FileSystemElement</code>
- */
- private void populateElementChildren() {
- List<IFileSystemObject> allchildren = fProvider.getChildren(this.getFileSystemObject());
- Object child = null;
- TraceFileSystemElement newelement = null;
- Iterator<IFileSystemObject> iter = allchildren.iterator();
- while (iter.hasNext()) {
- child = iter.next();
- newelement = new TraceFileSystemElement(fProvider.getLabel(child), this, fProvider.isFolder(child), fProvider);
- newelement.setFileSystemObject(child);
- }
- setPopulated();
- }
-
- public FileSystemObjectImportStructureProvider getProvider() {
- return fProvider;
- }
-
- @Override
- public IFileSystemObject getFileSystemObject() {
- Object fileSystemObject = super.getFileSystemObject();
- return (IFileSystemObject) fileSystemObject;
- }
-
- public String getSourceLocation() {
- if (fSourceLocation == null) {
- fSourceLocation = getFileSystemObject().getSourceLocation();
- }
- return fSourceLocation;
- }
-
- public void setSourceLocation(String sourceLocation) {
- fSourceLocation = sourceLocation;
- }
- }
-
- /**
- * This interface abstracts the differences between different kinds of
- * FileSystemObjects such as File, TarEntry and ZipEntry. This allows
- * clients (TraceFileSystemElement, TraceValidateAndImportOperation) to
- * handle all the types transparently.
- */
- private interface IFileSystemObject {
- String getLabel();
-
- String getName();
-
- String getAbsolutePath(String parentContainerPath);
-
- String getSourceLocation();
-
- Object getRawFileSystemObject();
-
- boolean exists();
- }
-
- /**
- * The "File" implementation of an IFileSystemObject
- */
- private static class FileFileSystemObject implements IFileSystemObject {
-
- private File fFileSystemObject;
-
- private FileFileSystemObject(File fileSystemObject) {
- fFileSystemObject = fileSystemObject;
- }
-
- @Override
- public String getLabel() {
- String name = fFileSystemObject.getName();
- if (name.length() == 0) {
- return fFileSystemObject.getPath();
- }
- return name;
- }
-
- @Override
- public String getName() {
- return fFileSystemObject.getName();
- }
-
- @Override
- public String getAbsolutePath(String parentContainerPath) {
- return fFileSystemObject.getAbsolutePath();
- }
-
- @Override
- public boolean exists() {
- return fFileSystemObject.exists();
- }
-
- @Override
- public String getSourceLocation() {
- IResource sourceResource;
- String sourceLocation = null;
- if (fFileSystemObject.isDirectory()) {
- sourceResource = ResourcesPlugin.getWorkspace().getRoot().getContainerForLocation(Path.fromOSString(fFileSystemObject.getAbsolutePath()));
- } else {
- sourceResource = ResourcesPlugin.getWorkspace().getRoot().getFileForLocation(Path.fromOSString(fFileSystemObject.getAbsolutePath()));
- }
- if (sourceResource != null && sourceResource.exists()) {
- try {
- sourceLocation = sourceResource.getPersistentProperty(TmfCommonConstants.SOURCE_LOCATION);
- } catch (CoreException e) {
- // Something went wrong with the already existing resource.
- // This is not a problem, we'll assign a new location below.
- }
- }
- if (sourceLocation == null) {
- sourceLocation = URIUtil.toUnencodedString(fFileSystemObject.toURI());
- }
- return sourceLocation;
- }
-
- @Override
- public Object getRawFileSystemObject() {
- return fFileSystemObject;
- }
- }
-
- /**
- * The "Tar" implementation of an IFileSystemObject
- */
- private static class TarFileSystemObject implements IFileSystemObject {
-
- private TarEntry fFileSystemObject;
- private String fArchivePath;
-
- private TarFileSystemObject(TarEntry fileSystemObject, String archivePath) {
- fFileSystemObject = fileSystemObject;
- fArchivePath = archivePath;
- }
-
- @Override
- public String getLabel() {
- return new Path(fFileSystemObject.getName()).lastSegment();
- }
-
- @Override
- public String getName() {
- return fFileSystemObject.getName();
- }
-
- @Override
- public String getAbsolutePath(String parentContainerPath) {
- return new Path(parentContainerPath).append(fFileSystemObject.getName()).toOSString();
- }
-
- @Override
- public boolean exists() {
- return true;
- }
-
- @Override
- public String getSourceLocation() {
- URI uri = new File(fArchivePath).toURI();
- IPath entryPath = new Path(fFileSystemObject.getName());
- return URIUtil.toUnencodedString(URIUtil.toJarURI(uri, entryPath));
- }
-
- @Override
- public Object getRawFileSystemObject() {
- return fFileSystemObject;
- }
- }
-
- /**
- * The "Zip" implementation of an IFileSystemObject
- */
- private static class ZipFileSystemObject implements IFileSystemObject {
-
- private ZipEntry fFileSystemObject;
- private String fArchivePath;
-
- private ZipFileSystemObject(ZipEntry fileSystemObject, String archivePath) {
- fFileSystemObject = fileSystemObject;
- fArchivePath = archivePath;
- }
-
- @Override
- public String getLabel() {
- return new Path(fFileSystemObject.getName()).lastSegment();
- }
-
- @Override
- public String getName() {
- return fFileSystemObject.getName();
- }
-
- @Override
- public String getAbsolutePath(String parentContainerPath) {
- return new Path(parentContainerPath).append(fFileSystemObject.getName()).toOSString();
- }
-
- @Override
- public boolean exists() {
- return true;
- }
-
- @Override
- public String getSourceLocation() {
- URI uri = new File(fArchivePath).toURI();
- IPath entryPath = new Path(fFileSystemObject.getName());
- return URIUtil.toUnencodedString(URIUtil.toJarURI(uri, entryPath));
- }
-
- @Override
- public Object getRawFileSystemObject() {
- return fFileSystemObject;
- }
- }
-
- private class ImportProvider implements IImportStructureProvider {
-
- ImportProvider() {
- }
-
- @Override
- public String getLabel(Object element) {
- TraceFileSystemElement resource = (TraceFileSystemElement) element;
- return resource.getLabel();
- }
-
- @Override
- public List getChildren(Object element) {
- TraceFileSystemElement resource = (TraceFileSystemElement) element;
- Object[] array = resource.getFiles().getChildren();
- List<Object> list = new ArrayList<>();
- for (int i = 0; i < array.length; i++) {
- list.add(array[i]);
- }
- return list;
- }
-
- @Override
- public InputStream getContents(Object element) {
- TraceFileSystemElement resource = (TraceFileSystemElement) element;
- return resource.getProvider().getContents(resource.getFileSystemObject());
- }
-
- @Override
- public String getFullPath(Object element) {
- TraceFileSystemElement resource = (TraceFileSystemElement) element;
- return resource.getProvider().getFullPath(resource.getFileSystemObject());
- }
-
- @Override
- public boolean isFolder(Object element) {
- TraceFileSystemElement resource = (TraceFileSystemElement) element;
- return resource.isDirectory();
- }
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/wizards/importtrace/ImportTraceWizardPageOptions.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/wizards/importtrace/ImportTraceWizardPageOptions.java
deleted file mode 100644
index dc17bba85a..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/wizards/importtrace/ImportTraceWizardPageOptions.java
+++ /dev/null
@@ -1,112 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 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:
- * Matthew Khouzam - Initial API and implementation
- * Marc-Andre Laperle - Use common method to get opened tmf projects
- *******************************************************************************/
-
-package org.eclipse.linuxtools.internal.tmf.ui.project.wizards.importtrace;
-
-import java.util.LinkedHashMap;
-import java.util.Map;
-
-import org.eclipse.core.resources.IFolder;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.linuxtools.tmf.ui.project.model.TmfTracesFolder;
-import org.eclipse.linuxtools.tmf.ui.project.model.TraceUtils;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.events.SelectionListener;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.List;
-import org.eclipse.ui.IWorkbench;
-
-/**
- * This page selects the project to import to.
- *
- * @author Matthew Khouzam
- * @since 2.0
- */
-public class ImportTraceWizardPageOptions extends AbstractImportTraceWizardPage {
-
- private List fProjects;
- private final Map<String, IProject> fProjectsMap = new LinkedHashMap<>();
-
- /**
- * Import page that tells where the trace will go
- *
- * @param workbench
- * The workbench reference.
- * @param selection
- * The current selection
- */
- public ImportTraceWizardPageOptions(IWorkbench workbench, IStructuredSelection selection) {
- super(workbench, selection);
- }
-
- @Override
- public void createControl(Composite parent) {
- super.createControl(parent);
- IFolder originalFolder = getBatchWizard().getTargetFolder();
- IProject proj = null;
- if (originalFolder != null) {
- proj = originalFolder.getProject();
- }
-
- Composite optionPane = (Composite) this.getControl();
- optionPane.setLayout(new GridLayout());
- optionPane.setLayoutData(new GridData(SWT.LEFT, SWT.TOP, true, true));
-
- fProjects = new List(optionPane, SWT.V_SCROLL);
- fProjects.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
-
- for (IProject project : TraceUtils.getOpenedTmfProjects()) {
- final String name = project.getName();
- fProjectsMap.put(name, project);
- fProjects.add(name);
- }
-
- fProjects.getSelection();
- fProjects.addSelectionListener(new SelectionListener() {
-
- @Override
- public void widgetSelected(SelectionEvent e) {
- updateWithSelection();
- }
-
- @Override
- public void widgetDefaultSelected(SelectionEvent e) {
- updateWithSelection();
- }
- });
- if (proj != null) {
- fProjects.setSelection(fProjects.indexOf(proj.getName()));
- } else if (fProjects.getItemCount() > 0) {
- fProjects.setSelection(0);
- updateWithSelection();
- }
- setMessage(Messages.SharedSelectProject);
- this.setTitle(Messages.ImportTraceWizardPageOptionsTitle);
- }
-
- private void updateWithSelection() {
- String[] selection = fProjects.getSelection();
- if (selection.length > 0) {
- final String listItem = selection[0];
- IFolder folder = fProjectsMap.get(listItem).getFolder(TmfTracesFolder.TRACES_FOLDER_NAME);
- getBatchWizard().setTraceFolder(folder);
- ImportTraceWizardPageOptions.this.setErrorMessage(null);
- } else {
- ImportTraceWizardPageOptions.this.setErrorMessage(Messages.SharedSelectProject);
- }
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/wizards/importtrace/ImportTraceWizardScanPage.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/wizards/importtrace/ImportTraceWizardScanPage.java
deleted file mode 100644
index 6a19be7f9c..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/wizards/importtrace/ImportTraceWizardScanPage.java
+++ /dev/null
@@ -1,566 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013, 2014 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:
- * Matthew Khouzam - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.internal.tmf.ui.project.wizards.importtrace;
-
-import java.io.File;
-import java.text.DecimalFormat;
-import java.util.concurrent.ArrayBlockingQueue;
-import java.util.concurrent.BlockingQueue;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.core.runtime.SubMonitor;
-import org.eclipse.core.runtime.jobs.Job;
-import org.eclipse.jface.viewers.CellEditor;
-import org.eclipse.jface.viewers.CheckStateChangedEvent;
-import org.eclipse.jface.viewers.CheckboxTreeViewer;
-import org.eclipse.jface.viewers.ColumnLabelProvider;
-import org.eclipse.jface.viewers.ColumnViewer;
-import org.eclipse.jface.viewers.ColumnViewerEditor;
-import org.eclipse.jface.viewers.ColumnViewerEditorActivationStrategy;
-import org.eclipse.jface.viewers.EditingSupport;
-import org.eclipse.jface.viewers.FocusCellOwnerDrawHighlighter;
-import org.eclipse.jface.viewers.ICheckStateListener;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.TextCellEditor;
-import org.eclipse.jface.viewers.TreeViewerColumn;
-import org.eclipse.jface.viewers.TreeViewerEditor;
-import org.eclipse.jface.viewers.TreeViewerFocusCellManager;
-import org.eclipse.linuxtools.internal.tmf.ui.Activator;
-import org.eclipse.linuxtools.internal.tmf.ui.ITmfImageConstants;
-import org.eclipse.linuxtools.tmf.core.project.model.TmfTraceType;
-import org.eclipse.linuxtools.tmf.core.project.model.TraceValidationHelper;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.events.SelectionListener;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.ui.IWorkbench;
-
-/**
- * <b>Import page that scans files, can be cancelled</b> this page is the third
- * of three pages shown. This one selects the traces to be imported that are to
- * be scanned.
- *
- * @author Matthew Khouzam
- * @since 2.0
- */
-public class ImportTraceWizardScanPage extends AbstractImportTraceWizardPage {
-
- private static final int COL_WIDTH = 200;
- private static final int MAX_TRACES = 65536;
- private CheckboxTreeViewer traceTypeViewer;
-
- final ScanRunnable fRunnable = new ScanRunnable("Scan job"); //$NON-NLS-1$
- final private BlockingQueue<TraceValidationHelper> fTracesToScan = new ArrayBlockingQueue<>(MAX_TRACES);
- private volatile boolean fCanRun = true;
-
- // --------------------------------------------------------------------------------
- // Constructor and destructor
- // --------------------------------------------------------------------------------
-
- /**
- * Import page that scans files, can be cancelled.
- *
- * @param name
- * The name of the page.
- * @param selection
- * The current selection
- */
- protected ImportTraceWizardScanPage(String name, IStructuredSelection selection) {
- super(name, selection);
- }
-
- /**
- * Import page that scans files, can be cancelled
- *
- * @param workbench
- * The workbench reference.
- * @param selection
- * The current selection
- */
- public ImportTraceWizardScanPage(IWorkbench workbench, IStructuredSelection selection) {
- super(workbench, selection);
- }
-
- @Override
- public void dispose() {
- fCanRun = false;
- fRunnable.done(Status.OK_STATUS);
- super.dispose();
- }
-
- /*
- * Init
- */
-
- @Override
- public void createControl(Composite parent) {
- super.createControl(parent);
- final Composite control = (Composite) this.getControl();
- setTitle(Messages.ImportTraceWizardScanPageTitle);
- traceTypeViewer = new CheckboxTreeViewer(control, SWT.CHECK);
- traceTypeViewer.setContentProvider(getBatchWizard().getScannedTraces());
- traceTypeViewer.getTree().setHeaderVisible(true);
- traceTypeViewer.getControl().setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
- traceTypeViewer.setInput(getBatchWizard().getScannedTraces());
- traceTypeViewer.addCheckStateListener(new ImportTraceCheckStateListener());
-
- TreeViewerFocusCellManager focusCellManager = new TreeViewerFocusCellManager(traceTypeViewer, new FocusCellOwnerDrawHighlighter(traceTypeViewer));
- ColumnViewerEditorActivationStrategy actSupport = new ColumnViewerEditorActivationStrategy(traceTypeViewer) {
- };
- TreeViewerEditor.create(traceTypeViewer, focusCellManager, actSupport, ColumnViewerEditor.TABBING_HORIZONTAL
- | ColumnViewerEditor.TABBING_MOVE_TO_ROW_NEIGHBOR
- | ColumnViewerEditor.TABBING_VERTICAL | ColumnViewerEditor.KEYBOARD_ACTIVATION);
-
- final TextCellEditor textCellEditor = new TextCellEditor(traceTypeViewer.getTree());
- // --------------------
- // Column 1
- // --------------------
- TreeViewerColumn column = new TreeViewerColumn(traceTypeViewer, SWT.NONE);
- column.getColumn().setWidth(COL_WIDTH);
- column.getColumn().setText(Messages.ImportTraceWizardTraceDisplayName);
- column.setLabelProvider(new FirstColumnLabelProvider());
- column.setEditingSupport(new ColumnEditorSupport(traceTypeViewer, textCellEditor));
-
- // --------------------
- // Column 2
- // --------------------
-
- column = new TreeViewerColumn(traceTypeViewer, SWT.NONE);
- column.getColumn().setWidth(500);
- column.getColumn().setText(Messages.ImportTraceWizardImportCaption);
- column.setLabelProvider(new ColumnLabelProvider() {
- @Override
- public String getText(Object element) {
- if (element instanceof FileAndName) {
- FileAndName elem = (FileAndName) element;
- return elem.getFile().getPath();
- }
- return null;
- }
- });
- // --------------------
- // Column 3
- // --------------------
-
- column = new TreeViewerColumn(traceTypeViewer, SWT.NONE);
-
- column.getColumn().setWidth(80);
- column.getColumn().setText(Messages.ImportTraceWizardScanPageSize);
- column.getColumn().setAlignment(SWT.RIGHT);
- column.setLabelProvider(new ColumnLabelProvider() {
-
- @Override
- public String getText(Object element) {
- if (element instanceof FileAndName) {
-
- FileAndName elem = (FileAndName) element;
- long len = recurseSize(elem.getFile());
- if (len > 0) {
- double sizeb10 = Math.log10(len);
- DecimalFormat df = new DecimalFormat();
- df.setMaximumFractionDigits(2);
- df.setMinimumFractionDigits(0);
- if (sizeb10 > 12) {
- final double tbSize = len / 1024.0 / 1024 / 1024 / 1024;
- return df.format(tbSize) + Messages.ImportTraceWizardScanPageTerabyte;
- }
- if (sizeb10 > 9) {
- final double gbSize = len / 1024.0 / 1024 / 1024;
- return df.format(gbSize) + Messages.ImportTraceWizardScanPageGigabyte;
- }
- if (sizeb10 > 6) {
- final double mbSize = len / 1024.0 / 1024;
- return df.format(mbSize) + Messages.ImportTraceWizardScanPageMegabyte;
- }
- if (sizeb10 > 3) {
- final double kbSize = len / 1024.0;
- return df.format(kbSize) + Messages.ImportTraceWizardScanPageKilobyte;
- }
- }
- return Long.toString(len) + Messages.ImportTraceWizardScanPagebyte;
-
- }
- return null;
- }
-
- private long recurseSize(File file) {
- if (file.isFile() && file.canRead()) {
- return file.length();
- }
- long size = 0;
- if (file.exists() && file.isDirectory() && file.canRead()) {
- final File[] listFiles = file.listFiles();
- if (listFiles != null) {
- for (File child : listFiles) {
- if (child.isFile() && child.canRead()) {
- size += child.length();
- } else if (child.isDirectory()) {
- size += recurseSize(child);
- } else {
- Activator.getDefault().logError("Unknown \"file\" type for " + child + ' ' + child.toString()); //$NON-NLS-1$
- }
- }
- }
- }
- return size;
- }
- });
-
- init();
- getBatchWizard().setTracesToScan(fTracesToScan);
- getBatchWizard().setTraceFolder(fTargetFolder);
-
- fRunnable.schedule();
- setErrorMessage(Messages.ImportTraceWizardScanPageSelectAtleastOne);
- }
-
- private void init() {
- Composite optionPane = (Composite) this.getControl();
-
- optionPane.setLayout(new GridLayout());
- optionPane.setLayoutData(new GridData(SWT.LEFT, SWT.TOP, true, true));
-
- final Button fLink = new Button(optionPane, SWT.RADIO);
- fLink.setText(Messages.ImportTraceWizardLinkTraces);
- fLink.setSelection(true);
- fLink.setLayoutData(new GridData());
-
- final Button fCopy = new Button(optionPane, SWT.RADIO);
- fCopy.setText(Messages.ImportTraceWizardCopyTraces);
- fCopy.setLayoutData(new GridData());
-
- final SelectionListener linkedListener = new RadioChooser(fLink);
-
- fLink.addSelectionListener(linkedListener);
- fCopy.addSelectionListener(linkedListener);
-
- Button fOverwrite = new Button(optionPane, SWT.CHECK);
- fOverwrite.setText(Messages.ImportTraceWizardOverwriteTraces);
- fOverwrite.setLayoutData(new GridData());
- fOverwrite.setSelection(true);
- fOverwrite.addSelectionListener(new SelectionListener() {
-
- @Override
- public void widgetSelected(SelectionEvent e) {
- getBatchWizard().setOverwrite(((Button) e.widget).getSelection());
- }
-
- @Override
- public void widgetDefaultSelected(SelectionEvent e) {
- }
- });
- }
-
- /*
- * Helper classes
- */
-
- private final class RadioChooser implements SelectionListener {
- final private Button isLinked;
-
- public RadioChooser(Button desiredButton) {
- isLinked = desiredButton;
- }
-
- @Override
- public void widgetSelected(SelectionEvent e) {
-
- final Button widget = (Button) e.widget;
- getBatchWizard().setLinked(widget.equals(isLinked));
- }
-
- @Override
- public void widgetDefaultSelected(SelectionEvent e) {
-
- }
- }
-
- private final class ColumnEditorSupport extends EditingSupport {
- private final TextCellEditor textCellEditor;
-
- private ColumnEditorSupport(ColumnViewer viewer, TextCellEditor textCellEditor) {
- super(viewer);
- this.textCellEditor = textCellEditor;
- }
-
- @Override
- protected boolean canEdit(Object element) {
- return element instanceof FileAndName;
- }
-
- @Override
- protected CellEditor getCellEditor(Object element) {
- return textCellEditor;
- }
-
- @Override
- protected Object getValue(Object element) {
- if (element instanceof FileAndName) {
- return ((FileAndName) element).getName();
- }
- return null;
- }
-
- @Override
- protected void setValue(Object element, Object value) {
- FileAndName fan = (FileAndName) element;
- fan.setName((String) value);
- getBatchWizard().updateConflicts();
- traceTypeViewer.update(element, null);
- traceTypeViewer.refresh();
- }
- }
-
- private final class FirstColumnLabelProvider extends ColumnLabelProvider {
- Image fConflict;
-
- @Override
- public Image getImage(Object element) {
- if (element instanceof FileAndName) {
- final FileAndName fan = (FileAndName) element;
- if (fan.isConflictingName()) {
- if (fConflict == null) {
- fConflict = Activator.getDefault().getImageFromImageRegistry(ITmfImageConstants.IMG_UI_CONFLICT);
- }
- return fConflict;
- }
- }
- return null;
- }
-
- @Override
- public String getText(Object element) {
- if (element instanceof FileAndName) {
- FileAndName elem = (FileAndName) element;
- return elem.getName();
- }
- if (element instanceof String) {
- return (String) element;
- }
- return null;
- }
- }
-
- private final class ImportTraceCheckStateListener implements ICheckStateListener {
- @Override
- public void checkStateChanged(CheckStateChangedEvent event) {
- final CheckboxTreeViewer tv = (CheckboxTreeViewer)
- event.getSource();
- if (event.getElement() instanceof FileAndName) {
- final FileAndName element = (FileAndName) event.getElement();
- if (event.getChecked()) {
- getBatchWizard().addFileToImport(element);
- traceTypeViewer.update(element, null);
- }
- else {
- getBatchWizard().removeFileToImport(element);
- traceTypeViewer.update(element, null);
- }
- maintainCheckIntegrity(tv, element);
- }
- if (event.getElement() instanceof String) {
-
- tv.setSubtreeChecked(event.getElement(), event.getChecked());
- final Object[] children =
- getBatchWizard().getScannedTraces().getChildren(event.getElement());
- if (event.getChecked()) {
- for (int i = 0; i < children.length; i++) {
- final FileAndName element = (FileAndName) children[i];
- getBatchWizard().addFileToImport(element);
- traceTypeViewer.update(children[i], null);
- }
- }
- else {
- for (int i = 0; i < children.length; i++) {
- getBatchWizard().removeFileToImport((FileAndName) children[i]);
-
- }
- }
-
- }
- getBatchWizard().updateConflicts();
- if (getBatchWizard().hasConflicts()) {
- setErrorMessage(Messages.ImportTraceWizardScanPageRenameError);
- } else if (!getBatchWizard().hasTracesToImport()) {
- setErrorMessage(Messages.ImportTraceWizardScanPageSelectAtleastOne);
- } else {
- setErrorMessage(null);
- }
- getWizard().getContainer().updateButtons();
- traceTypeViewer.update(event.getElement(), null);
- }
-
- private void maintainCheckIntegrity(final CheckboxTreeViewer viewer, final FileAndName element) {
- final ImportTraceContentProvider scannedTraces = getBatchWizard().getScannedTraces();
- String parentElement = (String) scannedTraces.getParent(element);
- boolean allChecked = true;
- final FileAndName[] siblings = scannedTraces.getSiblings(element);
- if (siblings != null) {
- for (FileAndName child : siblings) {
- allChecked &= viewer.getChecked(child);
- }
- }
- viewer.setChecked(parentElement, allChecked);
- }
- }
-
- private final class ScanRunnable extends Job {
-
- // monitor is stored here, starts as the main monitor but becomes a
- // submonitor
- private IProgressMonitor fMonitor;
-
- public ScanRunnable(String name) {
- super(name);
- this.setSystem(true);
- }
-
- private synchronized IProgressMonitor getMonitor() {
- return fMonitor;
- }
-
- @Override
- public IStatus run(IProgressMonitor monitor) {
- /*
- * Set up phase, it is synchronous
- */
- fMonitor = monitor;
- final Control control = traceTypeViewer.getControl();
- // please note the sync exec here is to allow us to set
- control.getDisplay().syncExec(new Runnable() {
- @Override
- public void run() {
- // monitor gets overwritten here so it's necessary to save
- // it in a field.
- fMonitor = SubMonitor.convert(getMonitor());
- getMonitor().setTaskName(Messages.ImportTraceWizardPageScanScanning + ' ');
- ((SubMonitor) getMonitor()).setWorkRemaining(IProgressMonitor.UNKNOWN);
- }
- });
- /*
- * At this point we start calling async execs and updating the view.
- * This is a good candidate to parallelise.
- */
- while (fCanRun == true) {
- boolean updated = false;
- boolean validCombo;
- if (fTracesToScan.isEmpty() && !control.isDisposed()) {
- control.getDisplay().asyncExec(new Runnable() {
-
- @Override
- public void run() {
- if (!control.isDisposed()) {
- getMonitor().setTaskName(Messages.ImportTraceWizardPageScanScanning + ' ');
- getMonitor().subTask(Messages.ImportTraceWizardPageScanDone);
- ImportTraceWizardScanPage.this.setMessage(Messages.ImportTraceWizardPageScanScanning + ' ' + Messages.ImportTraceWizardPageScanDone);
- }
- }
- });
- }
- try {
- final TraceValidationHelper traceToScan = fTracesToScan.take();
-
- if (!getBatchWizard().hasScanned(traceToScan)) {
- getBatchWizard().addResult(traceToScan, TmfTraceType.validate(traceToScan));
- }
-
- /*
- * The following is to update the UI
- */
- validCombo = getBatchWizard().getResult(traceToScan);
- if (validCombo) {
- // Synched on it's parent
-
- getBatchWizard().getScannedTraces().addCandidate(traceToScan.getTraceType(), new File(traceToScan.getTraceToScan()));
- updated = true;
- }
- final int scanned = getBatchWizard().getNumberOfResults();
- final int total = scanned + fTracesToScan.size();
- final int prevVal = (int) ((scanned - 1) * 100.0 / total);
- final int curVal = (int) ((scanned) * 100.0 / total);
- if (curVal != prevVal) {
- updated = true;
- }
- /*
- * update the progress
- */
- if (updated) {
- if (!control.isDisposed()) {
- control.getDisplay().asyncExec(new Runnable() {
- @Override
- public void run() {
- if (!control.isDisposed()) {
- getMonitor().setTaskName(Messages.ImportTraceWizardPageScanScanning + ' ');
- getMonitor().subTask(traceToScan.getTraceToScan());
- getMonitor().worked(1);
- ImportTraceWizardScanPage.this.setMessage(Messages.ImportTraceWizardPageScanScanning + ' '
- + Integer.toString(curVal)
- + '%');
- }
- }
- }
- );
- }
- }
-
- /*
- * here we update the table
- */
- final boolean editing = traceTypeViewer.isCellEditorActive();
- if (updated && !editing) {
- if (!control.isDisposed()) {
- control.getDisplay().asyncExec(new Runnable() {
-
- @Override
- public void run() {
- if (!control.isDisposed()) {
- if (!traceTypeViewer.isCellEditorActive()) {
- traceTypeViewer.refresh();
- }
- }
- }
- });
- }
- }
- } catch (InterruptedException e) {
- return new Status(IStatus.CANCEL, Activator.PLUGIN_ID, new String());
- }
- }
- return Status.OK_STATUS;
- }
- }
-
- /**
- * Refresh the view and the corresponding model.
- */
- public void refresh() {
- final Control control = traceTypeViewer.getControl();
- if (!control.isDisposed()) {
- control.getDisplay().asyncExec(new Runnable() {
- @Override
- public void run() {
- if (!control.isDisposed()) {
- traceTypeViewer.refresh();
- }
- }
- });
- }
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/wizards/importtrace/ImportTraceWizardSelectDirectoriesPage.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/wizards/importtrace/ImportTraceWizardSelectDirectoriesPage.java
deleted file mode 100644
index 0ff8919bf4..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/wizards/importtrace/ImportTraceWizardSelectDirectoriesPage.java
+++ /dev/null
@@ -1,261 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 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:
- * Matthew Khouzam - Initial API and implementation
- * Marc-Andre Laperle - Remember last selected directory
- *******************************************************************************/
-
-package org.eclipse.linuxtools.internal.tmf.ui.project.wizards.importtrace;
-
-import java.io.File;
-
-import org.eclipse.jface.dialogs.IDialogSettings;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.events.SelectionListener;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.DirectoryDialog;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.FileDialog;
-import org.eclipse.swt.widgets.Table;
-import org.eclipse.swt.widgets.TableItem;
-import org.eclipse.ui.IWorkbench;
-
-/**
- * <b>Select the directories to scan for traces</b> this page is the second of
- * three pages shown. This one selects the files to be scanned.
- *
- * @author Matthew Khouzam
- * @since 2.0
- */
-public class ImportTraceWizardSelectDirectoriesPage extends AbstractImportTraceWizardPage {
-
- /**
- * ID
- */
- public static String ID = "org.eclipse.linuxtools.tmf.ui.project.wizards.importtrace.ImportTraceWizardPagePopulate"; //$NON-NLS-1$
-
- private static final String STORE_DIRECTORY_ID = ID + ".STORE_DIRECTORY_ID"; //$NON-NLS-1$
-
- /**
- * Constructor. Creates the trace wizard page.
- *
- * @param name
- * The name of the page.
- * @param selection
- * The current selection
- */
- protected ImportTraceWizardSelectDirectoriesPage(String name, IStructuredSelection selection) {
- super(name, selection);
- }
-
- /**
- * Constructor
- *
- * @param workbench
- * The workbench reference.
- * @param selection
- * The current selection
- */
- public ImportTraceWizardSelectDirectoriesPage(IWorkbench workbench, IStructuredSelection selection) {
- super(workbench, selection);
- }
-
- @Override
- public void createControl(Composite parent) {
- super.createControl(parent);
- final Composite control = (Composite) this.getControl();
- control.setLayout(new GridLayout(2, false));
- control.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
-
- final Table selectedFiles = new Table(control, SWT.H_SCROLL | SWT.V_SCROLL);
- selectedFiles.clearAll();
- selectedFiles.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
- selectedFiles.setLinesVisible(true);
-
- Composite buttonArea = new Composite(control, SWT.None);
- buttonArea.setLayout(new GridLayout());
- buttonArea.setLayoutData(new GridData(SWT.LEFT, SWT.TOP, false, false));
-
- Button addFile = new Button(buttonArea, SWT.PUSH);
- addFile.setText(Messages.ImportTraceWizardAddFile);
- addFile.setLayoutData(new GridData(SWT.FILL, SWT.TOP, true, false));
- addFile.addSelectionListener(new AddFileHandler());
- addFile.setAlignment(SWT.CENTER);
-
- Button addDirectory = new Button(buttonArea, SWT.PUSH);
- addDirectory.setText(Messages.ImportTraceWizardAddDirectory);
- addDirectory.setLayoutData(new GridData(SWT.FILL, SWT.TOP, true, false));
- addDirectory.addSelectionListener(new AddDirectoryHandler());
- addDirectory.setAlignment(SWT.CENTER);
-
- Button removeFile = new Button(buttonArea, SWT.PUSH);
- removeFile.setText(Messages.ImportTraceWizardRemove);
- removeFile.setLayoutData(new GridData(SWT.FILL, SWT.TOP, true, false));
- removeFile.addSelectionListener(new RemoveFileHandler(selectedFiles));
- removeFile.setAlignment(SWT.CENTER);
-
-// int maxSize = Math.max(addFile.getSize().x, Math.max(addDirectory.getSize().x, removeFile.getSize().x));
-// int maxHeight = Math.max(addFile.getSize().y, Math.max(addDirectory.getSize().y, removeFile.getSize().y));
-// addFile.setSize(maxSize, maxHeight);
-// addDirectory.setSize(maxSize, maxHeight);
-// removeFile.setSize(maxSize, maxHeight);
-
- this.setTitle(Messages.ImportTraceWizardDirectoryTitle);
- }
-
- private void updateButtons() {
- BatchImportTraceWizard wiz = getBatchWizard();
- updateTable();
- wiz.getContainer().updateButtons();
- }
-
- private void updateTable() {
- final Table selectedFiles = (Table) ((Composite) getControl()).getChildren()[0];
- selectedFiles.clearAll();
- selectedFiles.setItemCount(0);
- for (String s : ((BatchImportTraceWizard) getWizard()).getFileNames()) {
- TableItem ti = new TableItem(selectedFiles, SWT.None);
- ti.setText(s);
- }
- }
-
- @Override
- public boolean canFlipToNextPage() {
- final Table selectedFiles = (Table) ((Composite) getControl()).getChildren()[0];
- boolean canLoad = selectedFiles.getItemCount() > 0;
- if (canLoad) {
- setErrorMessage(null);
- } else {
- setErrorMessage(Messages.ImportTraceWizardDirectoryHint);
- }
- return canLoad;
- }
-
- private final class AddFileHandler implements SelectionListener {
- @Override
- public void widgetSelected(SelectionEvent e) {
-
- FileDialog dialog = new
- FileDialog(Display.getCurrent().getActiveShell(), SWT.NONE);
-
- String lastDirectory = getLastSelectedDirectory();
- if (lastDirectory != null) {
- dialog.setFilterPath(lastDirectory);
- }
-
- String fn = dialog.open();
- if (null != fn) {
- File f = new File(fn);
- if (f.exists()) {
- getBatchWizard().addFileToScan(fn);
- saveSelectedDirectory(f.getParentFile());
- }
- }
- updateButtons();
- }
-
- @Override
- public void widgetDefaultSelected(SelectionEvent e) {
- }
- }
-
- private final class AddDirectoryHandler implements SelectionListener {
- @Override
- public void widgetSelected(SelectionEvent e) {
-
- // BUG BUG BUG BUG BUG IN SWT. Cannot read multiple files in a
- // fake directory.
-
-// FileDialog dialog = new
-// FileDialog(Display.getCurrent().getActiveShell(), SWT.OPEN |
-// SWT.MULTI);
-// dialog.setFilterPath(".");
-// if (null != dialog.open()) {
-// for (String fn : dialog.getFileNames()) {
-// final String pathname = dialog.getFilterPath() +
-// File.separator + fn;
-// File f = new File(pathname);
-// if (f.exists()) {
-// ((BatchImportTraceWizard) getWizard()).addFile(fn, f);
-// }
-// }
-// }
-
- DirectoryDialog dialog = new
- DirectoryDialog(Display.getCurrent().getActiveShell(), SWT.NONE);
- String lastDirectory = getLastSelectedDirectory();
- if (lastDirectory != null) {
- dialog.setFilterPath(lastDirectory);
- }
-
- String fn = dialog.open();
- if (null != fn) {
- File f = new File(fn);
- if (f.exists()) {
- getBatchWizard().addFileToScan(fn);
- saveSelectedDirectory(f);
- }
- }
- updateButtons();
- }
-
- @Override
- public void widgetDefaultSelected(SelectionEvent e) {
- }
- }
-
- private String getLastSelectedDirectory() {
- final IDialogSettings settings = getDialogSettings();
- if (settings != null) {
- final String directory = settings.get(STORE_DIRECTORY_ID);
- if (directory != null && !directory.isEmpty()) {
- final File file = new File(directory);
- if (file.exists()) {
- return directory.toString();
- }
- }
- }
-
- return null;
- }
-
- private void saveSelectedDirectory(File directory) {
- final IDialogSettings settings = getDialogSettings();
- if (settings != null && directory != null && directory.exists()) {
- settings.put(STORE_DIRECTORY_ID, directory.toString());
- }
- }
-
- private final class RemoveFileHandler implements SelectionListener {
- private final Table selectedFiles;
-
- private RemoveFileHandler(Table selectedFiles) {
- this.selectedFiles = selectedFiles;
- }
-
- @Override
- public void widgetSelected(SelectionEvent e) {
- TableItem selectedToRemove[] = selectedFiles.getSelection();
- for (TableItem victim : selectedToRemove) {
- String victimName = victim.getText();
- ((BatchImportTraceWizard) getWizard()).removeFile(victimName);
- }
- updateButtons();
- }
-
- @Override
- public void widgetDefaultSelected(SelectionEvent e) {
- }
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/wizards/importtrace/ImportTraceWizardSelectTraceTypePage.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/wizards/importtrace/ImportTraceWizardSelectTraceTypePage.java
deleted file mode 100644
index ec83439e1c..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/wizards/importtrace/ImportTraceWizardSelectTraceTypePage.java
+++ /dev/null
@@ -1,184 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013, 2014 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:
- * Matthew Khouzam - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.internal.tmf.ui.project.wizards.importtrace;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.jface.viewers.CheckStateChangedEvent;
-import org.eclipse.jface.viewers.CheckboxTreeViewer;
-import org.eclipse.jface.viewers.ICheckStateListener;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.ITreeContentProvider;
-import org.eclipse.jface.viewers.LabelProvider;
-import org.eclipse.linuxtools.tmf.core.project.model.TraceTypeHelper;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.Listener;
-import org.eclipse.ui.IWorkbench;
-
-/**
- * <b>Select trace types to import</b>, this page is the first of three pages
- * shown. This one selects the type of traces that are to be scanned.
- *
- * @author Matthew Khouzam
- * @since 2.0
- */
-public class ImportTraceWizardSelectTraceTypePage extends AbstractImportTraceWizardPage {
-
- private CheckboxTreeViewer fTreeView;
- private final TraceTypeContentProvider fProvider = new TraceTypeContentProvider();
-
- /**
- * Select trace types to import
- *
- * @param name
- * The name of the page.
- * @param selection
- * The current selection
- */
- protected ImportTraceWizardSelectTraceTypePage(String name, IStructuredSelection selection) {
- super(name, selection);
- }
-
- /**
- * Select trace types to import
- *
- * @param workbench
- * The workbench reference.
- * @param selection
- * The current selection
- */
- public ImportTraceWizardSelectTraceTypePage(IWorkbench workbench, IStructuredSelection selection) {
- super(workbench, selection);
- }
-
- @Override
- public void createControl(Composite parent) {
- super.createControl(parent);
- Composite control = (Composite) this.getControl();
-
- final ICheckStateListener listener = new TraceTypeCheckListener();
-
- setTitle(Messages.ImportTraceWizardSelectTraceTypePageTitle);
-
- fTreeView = new CheckboxTreeViewer(control, SWT.BORDER);
- fTreeView.getControl().setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
- fTreeView.setContentProvider(fProvider);
- fTreeView.setInput(fProvider);
- fTreeView.setLabelProvider(new LabelProvider() {
- @Override
- public String getText(Object element) {
- return element.toString();
- }
- });
- fTreeView.addCheckStateListener(listener);
-
- // populateTree(treeView);
-
- Composite buttonArea = new Composite(control, SWT.NONE);
- buttonArea.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, false));
- buttonArea.setLayout(new GridLayout(2, false));
-
- Button selectAll = new Button(buttonArea, SWT.NONE);
- selectAll.setText(Messages.ImportTraceWizardSelectAll);
- selectAll.setLayoutData(new GridData(SWT.RIGHT, SWT.CENTER, true, false));
- selectAll.addListener(SWT.Selection, new Listener() {
- @Override
- public void handleEvent(Event event) {
- String elements[] = (String[]) ((ITreeContentProvider) fTreeView.getContentProvider()).getElements(null);
- for (String key : elements) {
- fTreeView.setSubtreeChecked(key, true);
- }
- getWizard().getContainer().updateButtons();
- }
- });
-
- Button selectNone = new Button(buttonArea, SWT.NONE);
- selectNone.setText(Messages.ImportTraceWizardPageSelectNone);
- selectNone.setLayoutData(new GridData(SWT.CENTER, SWT.CENTER, false, false));
- selectNone.addListener(SWT.Selection, new Listener() {
- @Override
- public void handleEvent(Event event) {
- String elements[] = (String[]) ((ITreeContentProvider) fTreeView.getContentProvider()).getElements(null);
- for (String key : elements) {
- fTreeView.setSubtreeChecked(key, false);
- }
- getWizard().getContainer().updateButtons();
- }
- });
- fTreeView.expandAll();
- }
-
- @Override
- public boolean canFlipToNextPage() {
- List<String> tracesToScan = new ArrayList<>();
- String elements[] = (String[]) fProvider.getElements(null);
- for (String traceFamily : elements) {
- final TraceTypeHelper[] children = (TraceTypeHelper[]) fProvider.getChildren(traceFamily);
- if (children != null) {
- for (TraceTypeHelper traceType : children) {
- if (fTreeView.getChecked(traceType)) {
- tracesToScan.add(traceType.getCanonicalName());
- }
- }
- }
- }
- ((BatchImportTraceWizard) getWizard()).setTraceTypesToScan(tracesToScan);
- if (tracesToScan.isEmpty()) {
- setErrorMessage(Messages.ImportTraceWizardPageSelectHint);
- } else {
- setErrorMessage(null);
- }
- return super.canFlipToNextPage() && !tracesToScan.isEmpty();
- }
-
- private final class TraceTypeCheckListener implements ICheckStateListener {
- @Override
- public void checkStateChanged(CheckStateChangedEvent event) {
-
- boolean checkStatus = event.getChecked();
- Object element = event.getElement();
-
- fTreeView.setGrayed(element, false);
- fTreeView.setSubtreeChecked(element, checkStatus);
- ITreeContentProvider tcp = (ITreeContentProvider) fTreeView.getContentProvider();
- String parentElement = (String) tcp.getParent(element);
- if (parentElement != null) {
- TraceTypeHelper[] siblings = (TraceTypeHelper[]) tcp.getChildren(parentElement);
- final TraceTypeHelper first = siblings[0];
- final boolean isFirstChecked = fTreeView.getChecked(first);
- boolean allSame = true;
- for (TraceTypeHelper peer : siblings) {
- final boolean peerChecked = fTreeView.getChecked(peer);
- if (peerChecked != isFirstChecked) {
- allSame = false;
- }
- }
- if (allSame) {
- fTreeView.setGrayed(parentElement, false);
- fTreeView.setChecked(parentElement, checkStatus);
- } else {
- fTreeView.setChecked(parentElement, false);
- fTreeView.setGrayed(parentElement, true);
- }
- }
- getWizard().getContainer().updateButtons();
-
- }
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/wizards/importtrace/Messages.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/wizards/importtrace/Messages.java
deleted file mode 100644
index c66cc968fd..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/wizards/importtrace/Messages.java
+++ /dev/null
@@ -1,237 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013, 2014 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:
- * Matthew Khouzam - Initial API and implementation
- * Bernd Hufmann - Add ImportTraceWizard messages
- *******************************************************************************/
-
-package org.eclipse.linuxtools.internal.tmf.ui.project.wizards.importtrace;
-
-import org.eclipse.osgi.util.NLS;
-
-/**
- * The messages for import trace wizards.
- * @author Matthew Khouzam
- */
-@SuppressWarnings("javadoc")
-public class Messages extends NLS {
- private static final String BUNDLE_NAME = "org.eclipse.linuxtools.internal.tmf.ui.project.wizards.importtrace.messages"; //$NON-NLS-1$
-
- // Import Trace Wizard
- /**
- * The dialog title of the import trace wizard
- */
- public static String ImportTraceWizard_DialogTitle;
- /**
- * The title of the file system within the import trace wizard
- */
- public static String ImportTraceWizard_FileSystemTitle;
- /**
- * The title of the the import trace wizard page.
- */
- public static String ImportTraceWizard_ImportTrace;
- /**
- * The label of the directory location (import trace wizard)
- */
- public static String ImportTraceWizard_DirectoryLocation;
- /**
- * The label of the archive location (import trace wizard)
- */
- public static String ImportTraceWizard_ArchiveLocation;
- /**
- * The title of the select trace directory dialog (import trace wizard)
- */
- public static String ImportTraceWizard_SelectTraceDirectoryTitle;
- /**
- * The title of the select trace archive dialog (import trace wizard)
- */
- public static String ImportTraceWizard_SelectTraceArchiveTitle;
- /**
- * The message of the select trace directory dialog (import trace wizard)
- */
- public static String ImportTraceWizard_SelectTraceDirectoryMessage;
- /**
- * The title of the trace type label (import trace wizard)
- */
- public static String ImportTraceWizard_TraceType;
- /**
- * The label of the overwrite checkbox (import trace wizard)
- */
- public static String ImportTraceWizard_OverwriteExistingTrace;
- /**
- * The label of the checkbox to create a link to the trace in workspace (import trace wizard)
- */
- public static String ImportTraceWizard_CreateLinksInWorkspace;
- /**
- * The label of the checkbox to preserve the folder structure of selected the traces in workspace (import trace wizard)
- */
- public static String ImportTraceWizard_PreserveFolderStructure;
- /**
- * The error message for invalid trace directory (import trace wizard)
- */
- public static String ImportTraceWizard_InvalidTraceDirectory;
- /**
- * The error message when a trace validation failed (import trace wizard).
- */
- public static String ImportTraceWizard_TraceValidationFailed;
- /**
- * The error message when a trace already exists in project (import trace wizard).
- */
- public static String ImportTraceWizard_TraceAlreadyExists;
- /**
- * The title of rename button for import configuration dialog.
- */
- public static String ImportTraceWizard_ImportConfigurationRename;
- /**
- * The title of rename all button for import configuration dialog.
- */
- public static String ImportTraceWizard_ImportConfigurationRenameAll;
- /**
- * The title of overwrite button for import configuration dialog.
- */
- public static String ImportTraceWizard_ImportConfigurationOverwrite;
- /**
- * The title of overwrite all button for import configuration dialog.
- */
- public static String ImportTraceWizard_ImportConfigurationOverwriteAll;
- /**
- * The title of skip button for import configuration dialog.
- */
- public static String ImportTraceWizard_ImportConfigurationSkip;
- /**
- * The title of skip all button for import configuration dialog.
- */
- public static String ImportTraceWizard_ImportConfigurationSkipAll;
- /**
- * The error message when trace source is empty (import trace wizard).
- */
- public static String ImportTraceWizard_SelectTraceSourceEmpty;
- /**
- * The error message when the specified archive file is not valid.
- */
- public static String ImportTraceWizard_BadArchiveFormat;
- /**
- * The error message when no trace is selected (import trace wizard).
- */
- public static String ImportTraceWizard_SelectTraceNoneSelected;
- /**
- * The error message when an error occurred during import operation.
- */
- public static String ImportTraceWizard_ImportProblem;
- /**
- * The error message if destination directory is a virtual folder.
- */
- public static String ImportTraceWizard_CannotImportFilesUnderAVirtualFolder;
- /**
- * The error message if destination directory is a virtual folder (for a link).
- */
- public static String ImportTraceWizard_HaveToCreateLinksUnderAVirtualFolder;
- /**
- * The label string of the browse button.
- */
- public static String ImportTraceWizard_BrowseButton;
- /**
- * The information label string.
- */
- public static String ImportTraceWizard_Information;
- /**
- * The label of the checkbox to import unrecognized trace files
- */
- public static String ImportTraceWizard_ImportUnrecognized;
- /**
- * The message when the import operation was cancelled.
- */
- public static String ImportTraceWizard_ImportOperationCancelled;
- /**
- * The message when the trace type is not found.
- */
- public static String ImportTraceWizard_TraceTypeNotFound;
- /**
- * The import operation task name.
- */
- public static String ImportTraceWizard_ImportOperationTaskName;
- /**
- * The extract import operation task name
- */
- public static String ImportTraceWizard_ExtractImportOperationTaskName;
- /**
- * The label to indicate that trace type auto detection shall be used.
- */
- public static String ImportTraceWizard_AutoDetection;
-
-
- // Batch Import Wizard
- public static String ImportTraceWizardImportProblem ;
- public static String ImportTraceWizardImportCaption;
- public static String ImportTraceWizardTraceDisplayName;
- public static String ImportTraceWizardLinkTraces;
- public static String ImportTraceWizardCopyTraces;
- public static String ImportTraceWizardOverwriteTraces;
- public static String ImportTraceWizardAddFile;
- public static String ImportTraceWizardAddDirectory;
- public static String ImportTraceWizardRemove;
- public static String ImportTraceWizardDirectoryTitle;
- public static String ImportTraceWizardDirectoryHint;
- /**
- * @since 2.2
- */
- public static String ImportTraceWizardScanPagebyte;
-
- /**
- * @since 2.2
- */
- public static String ImportTraceWizardScanPageGigabyte;
-
- /**
- * @since 2.2
- */
- public static String ImportTraceWizardScanPageKilobyte;
-
- /**
- * @since 2.2
- */
- public static String ImportTraceWizardScanPageMegabyte;
-
- public static String ImportTraceWizardScanPageRenameError;
- /**
- * @since 2.2
- */
- public static String ImportTraceWizardScanPageSelectAtleastOne;
-
- /**
- * @since 2.2
- */
- public static String ImportTraceWizardScanPageSize;
- public static String ImportTraceWizardSelectAll;
- /**
- * @since 2.2
- */
- public static String ImportTraceWizardScanPageTerabyte;
-
- public static String ImportTraceWizardScanPageTitle;
- public static String ImportTraceWizardSelectTraceTypePageTitle;
- public static String ImportTraceWizardPageOptionsTitle;
- public static String ImportTraceWizardPageScanDone;
- public static String ImportTraceWizardPageScanScanning;
- public static String ImportTraceWizardPageSelectNone;
- public static String ImportTraceWizardPageSelectHint;
- public static String BatchImportTraceWizardRemove;
- public static String BatchImportTraceWizardAdd;
- public static String BatchImportTraceWizardErrorImportingTraceResource;
-
- public static String SharedSelectProject;
-
- static {
- // initialize resource bundle
- NLS.initializeMessages(BUNDLE_NAME, Messages.class);
- }
-
- private Messages() {
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/wizards/importtrace/ResourceTreeAndListGroup.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/wizards/importtrace/ResourceTreeAndListGroup.java
deleted file mode 100644
index 6eb421894b..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/wizards/importtrace/ResourceTreeAndListGroup.java
+++ /dev/null
@@ -1,1203 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2014 IBM Corporation and others.
- * 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:
- * IBM Corporation - initial API and implementation
- * Marc-Andre Laperle - Copied from platform (org.eclipse.ui.internal.ide.dialogs)
- *******************************************************************************/
-package org.eclipse.linuxtools.internal.tmf.ui.project.wizards.importtrace;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-
-import org.eclipse.core.commands.common.EventManager;
-import org.eclipse.core.resources.IWorkspaceRoot;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.core.runtime.SafeRunner;
-import org.eclipse.jface.util.SafeRunnable;
-import org.eclipse.jface.viewers.CheckStateChangedEvent;
-import org.eclipse.jface.viewers.CheckboxTableViewer;
-import org.eclipse.jface.viewers.CheckboxTreeViewer;
-import org.eclipse.jface.viewers.ICheckStateListener;
-import org.eclipse.jface.viewers.ILabelProvider;
-import org.eclipse.jface.viewers.ISelectionChangedListener;
-import org.eclipse.jface.viewers.IStructuredContentProvider;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.ITreeContentProvider;
-import org.eclipse.jface.viewers.ITreeViewerListener;
-import org.eclipse.jface.viewers.SelectionChangedEvent;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.jface.viewers.TreeExpansionEvent;
-import org.eclipse.jface.viewers.ViewerComparator;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.BusyIndicator;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Table;
-import org.eclipse.swt.widgets.Tree;
-import org.eclipse.ui.internal.ide.dialogs.IElementFilter;
-
-/**
- * Workbench-level composite that combines a CheckboxTreeViewer and CheckboxListViewer.
- * All viewer selection-driven interactions are handled within this object
- */
-@SuppressWarnings({"restriction", "rawtypes", "javadoc", "unchecked"})
-class ResourceTreeAndListGroup extends EventManager implements
- ICheckStateListener, ISelectionChangedListener, ITreeViewerListener {
- private Object root;
-
- private Object currentTreeSelection;
-
- private Collection expandedTreeNodes = new HashSet();
-
- private Map checkedStateStore = new HashMap(9);
-
- private HashSet whiteCheckedTreeItems = new HashSet();
-
- private ITreeContentProvider treeContentProvider;
-
- private IStructuredContentProvider listContentProvider;
-
- private ILabelProvider treeLabelProvider;
-
- private ILabelProvider listLabelProvider;
-
- // widgets
- private CheckboxTreeViewer treeViewer;
-
- private CheckboxTableViewer listViewer;
-
- //height hint for viewers
- private static int PREFERRED_HEIGHT = 150;
-
- /**
- * Create an instance of this class. Use this constructor if you wish to specify
- * the width and/or height of the combined widget (to only hardcode one of the
- * sizing dimensions, specify the other dimension's value as -1)
- *
- * @param parent
- * @param rootObject
- * @param treeContentProvider
- * @param treeLabelProvider
- * @param listContentProvider
- * @param listLabelProvider
- * @param style
- * @param useHeightHint If true then use the height hint
- * to make this group big enough
- *
- */
- public ResourceTreeAndListGroup(Composite parent, Object rootObject,
- ITreeContentProvider treeContentProvider,
- ILabelProvider treeLabelProvider,
- IStructuredContentProvider listContentProvider,
- ILabelProvider listLabelProvider, int style, boolean useHeightHint) {
-
- root = rootObject;
- this.treeContentProvider = treeContentProvider;
- this.listContentProvider = listContentProvider;
- this.treeLabelProvider = treeLabelProvider;
- this.listLabelProvider = listLabelProvider;
- createContents(parent, style, useHeightHint);
- }
-
- /**
- * This method must be called just before this window becomes visible.
- */
- public void aboutToOpen() {
- determineWhiteCheckedDescendents(root);
- checkNewTreeElements(treeContentProvider.getElements(root));
- currentTreeSelection = null;
-
- //select the first element in the list
- Object[] elements = treeContentProvider.getElements(root);
- Object primary = elements.length > 0 ? elements[0] : null;
- if (primary != null) {
- treeViewer.setSelection(new StructuredSelection(primary));
- }
- treeViewer.getControl().setFocus();
- }
-
- /**
- * Add the passed listener to self's collection of clients
- * that listen for changes to element checked states
- *
- * @param listener ICheckStateListener
- */
- public void addCheckStateListener(ICheckStateListener listener) {
- addListenerObject(listener);
- }
-
- /**
- * Return a boolean indicating whether all children of the passed tree element
- * are currently white-checked
- *
- * @return boolean
- * @param treeElement java.lang.Object
- */
- protected boolean areAllChildrenWhiteChecked(Object treeElement) {
- Object[] children = treeContentProvider.getChildren(treeElement);
- for (int i = 0; i < children.length; ++i) {
- if (!whiteCheckedTreeItems.contains(children[i])) {
- return false;
- }
- }
-
- return true;
- }
-
- /**
- * Return a boolean indicating whether all list elements associated with
- * the passed tree element are currently checked
- *
- * @return boolean
- * @param treeElement java.lang.Object
- */
- protected boolean areAllElementsChecked(Object treeElement) {
- List checkedElements = (List) checkedStateStore.get(treeElement);
- if (checkedElements == null) {
- return false;
- }
-
- return getListItemsSize(treeElement) == checkedElements.size();
- }
-
- /**
- * Iterate through the passed elements which are being realized for the first
- * time and check each one in the tree viewer as appropriate
- */
- protected void checkNewTreeElements(Object[] elements) {
- for (int i = 0; i < elements.length; ++i) {
- Object currentElement = elements[i];
- boolean checked = checkedStateStore.containsKey(currentElement);
- treeViewer.setChecked(currentElement, checked);
- treeViewer.setGrayed(currentElement, checked
- && !whiteCheckedTreeItems.contains(currentElement));
- }
- }
-
- /**
- * An item was checked in one of self's two views. Determine which
- * view this occurred in and delegate appropriately
- *
- * @param event CheckStateChangedEvent
- */
- @Override
- public void checkStateChanged(final CheckStateChangedEvent event) {
-
- //Potentially long operation - show a busy cursor
- BusyIndicator.showWhile(treeViewer.getControl().getDisplay(),
- new Runnable() {
- @Override
- public void run() {
- if (event.getCheckable().equals(treeViewer)) {
- treeItemChecked(event.getElement(), event
- .getChecked());
- } else {
- listItemChecked(event.getElement(), event
- .getChecked(), true);
- }
-
- notifyCheckStateChangeListeners(event);
- }
- });
- }
-
- /**
- * Lay out and initialize self's visual components.
- *
- * @param parent org.eclipse.swt.widgets.Composite
- * @param style the style flags for the new Composite
- * @param useHeightHint If true yse the preferredHeight.
- */
- protected void createContents(Composite parent, int style,
- boolean useHeightHint) {
- // group pane
- Composite composite = new Composite(parent, style);
- composite.setFont(parent.getFont());
- GridLayout layout = new GridLayout();
- layout.numColumns = 2;
- layout.makeColumnsEqualWidth = true;
- layout.marginHeight = 0;
- layout.marginWidth = 0;
- composite.setLayout(layout);
- composite.setLayoutData(new GridData(GridData.FILL_BOTH));
-
- createTreeViewer(composite, useHeightHint);
- createListViewer(composite, useHeightHint);
-
- initialize();
- }
-
- /**
- * Create this group's list viewer.
- */
- protected void createListViewer(Composite parent, boolean useHeightHint) {
- listViewer = CheckboxTableViewer.newCheckList(parent, SWT.BORDER);
- GridData data = new GridData(GridData.FILL_BOTH);
- if (useHeightHint) {
- data.heightHint = PREFERRED_HEIGHT;
- }
- listViewer.getTable().setLayoutData(data);
- listViewer.getTable().setFont(parent.getFont());
- listViewer.setContentProvider(listContentProvider);
- listViewer.setLabelProvider(listLabelProvider);
- listViewer.addCheckStateListener(this);
- }
-
- /**
- * Create this group's tree viewer.
- */
- protected void createTreeViewer(Composite parent, boolean useHeightHint) {
- Tree tree = new Tree(parent, SWT.CHECK | SWT.BORDER);
- GridData data = new GridData(GridData.FILL_BOTH);
- if (useHeightHint) {
- data.heightHint = PREFERRED_HEIGHT;
- }
- tree.setLayoutData(data);
- tree.setFont(parent.getFont());
-
- treeViewer = new CheckboxTreeViewer(tree);
- treeViewer.setContentProvider(treeContentProvider);
- treeViewer.setLabelProvider(treeLabelProvider);
- treeViewer.addTreeListener(this);
- treeViewer.addCheckStateListener(this);
- treeViewer.addSelectionChangedListener(this);
- }
-
- /**
- * Returns a boolean indicating whether the passed tree element should be
- * at LEAST gray-checked. Note that this method does not consider whether
- * it should be white-checked, so a specified tree item which should be
- * white-checked will result in a <code>true</code> answer from this method.
- * To determine whether a tree item should be white-checked use method
- * #determineShouldBeWhiteChecked(Object).
- *
- * @param treeElement java.lang.Object
- * @return boolean
- * @see #determineShouldBeWhiteChecked(Object)
- */
- protected boolean determineShouldBeAtLeastGrayChecked(Object treeElement) {
- // if any list items associated with treeElement are checked then it
- // retains its gray-checked status regardless of its children
- List checked = (List) checkedStateStore.get(treeElement);
- if (checked != null && (!checked.isEmpty())) {
- return true;
- }
-
- // if any children of treeElement are still gray-checked then treeElement
- // must remain gray-checked as well. Only ask expanded nodes
- if (expandedTreeNodes.contains(treeElement)) {
- Object[] children = treeContentProvider.getChildren(treeElement);
- for (int i = 0; i < children.length; ++i) {
- if (checkedStateStore.containsKey(children[i])) {
- return true;
- }
- }
- }
-
- return false;
- }
-
- /**
- * Returns a boolean indicating whether the passed tree item should be
- * white-checked.
- *
- * @return boolean
- * @param treeElement java.lang.Object
- */
- protected boolean determineShouldBeWhiteChecked(Object treeElement) {
- return areAllChildrenWhiteChecked(treeElement)
- && areAllElementsChecked(treeElement);
- }
-
- /**
- * Recursively add appropriate tree elements to the collection of
- * known white-checked tree elements.
- *
- * @param treeElement java.lang.Object
- */
- protected void determineWhiteCheckedDescendents(Object treeElement) {
- // always go through all children first since their white-checked
- // statuses will be needed to determine the white-checked status for
- // this tree element
- Object[] children = treeContentProvider.getElements(treeElement);
- for (int i = 0; i < children.length; ++i) {
- determineWhiteCheckedDescendents(children[i]);
- }
-
- // now determine the white-checked status for this tree element
- if (determineShouldBeWhiteChecked(treeElement)) {
- setWhiteChecked(treeElement, true);
- }
- }
-
- /**
- * Cause the tree viewer to expand all its items
- */
- public void expandAll() {
- treeViewer.expandAll();
- }
-
- /**
- * Expand an element in a tree viewer
- */
- private void expandTreeElement(final Object item) {
- BusyIndicator.showWhile(treeViewer.getControl().getDisplay(),
- new Runnable() {
- @Override
- public void run() {
-
- // First see if the children need to be given their checked state at all. If they've
- // already been realized then this won't be necessary
- if (expandedTreeNodes.contains(item)) {
- checkNewTreeElements(treeContentProvider
- .getChildren(item));
- } else {
-
- expandedTreeNodes.add(item);
- if (whiteCheckedTreeItems.contains(item)) {
- //If this is the first expansion and this is a white checked node then check the children
- Object[] children = treeContentProvider
- .getChildren(item);
- for (int i = 0; i < children.length; ++i) {
- if (!whiteCheckedTreeItems
- .contains(children[i])) {
- Object child = children[i];
- setWhiteChecked(child, true);
- treeViewer.setChecked(child, true);
- checkedStateStore.put(child,
- new ArrayList());
- }
- }
-
- //Now be sure to select the list of items too
- setListForWhiteSelection(item);
- }
- }
-
- }
- });
- }
-
- /**
- * Add all of the selected children of nextEntry to result recursively.
- * This does not set any values in the checked state.
- * @param treeElement The tree elements being queried
- * @param addAll a boolean to indicate if the checked state store needs to be queried
- * @param filter IElementFilter - the filter being used on the data
- * @param monitor IProgressMonitor or null that the cancel is polled for
- */
- private void findAllSelectedListElements(Object treeElement,
- String parentLabel, boolean addAll, IElementFilter filter,
- IProgressMonitor monitor) throws InterruptedException {
-
- String fullLabel = null;
- if (monitor != null && monitor.isCanceled()) {
- return;
- }
- if (monitor != null) {
- fullLabel = getFullLabel(treeElement, parentLabel);
- monitor.subTask(fullLabel);
- }
-
- if (addAll) {
- filter.filterElements(listContentProvider.getElements(treeElement),
- monitor);
- } else { //Add what we have stored
- if (checkedStateStore.containsKey(treeElement)) {
- filter.filterElements((Collection) checkedStateStore
- .get(treeElement), monitor);
- }
- }
-
- Object[] treeChildren = treeContentProvider.getChildren(treeElement);
- for (int i = 0; i < treeChildren.length; i++) {
- Object child = treeChildren[i];
- if (addAll) {
- findAllSelectedListElements(child, fullLabel, true, filter,
- monitor);
- } else { //Only continue for those with checked state
- if (checkedStateStore.containsKey(child)) {
- findAllSelectedListElements(child, fullLabel,
- whiteCheckedTreeItems.contains(child), filter,
- monitor);
- }
- }
-
- }
- }
-
- /**
- * Find all of the white checked children of the treeElement and add them to the collection.
- * If the element itself is white select add it. If not then add any selected list elements
- * and recurse down to the children.
- * @param treeElement java.lang.Object
- * @param result java.util.Collection
- */
- private void findAllWhiteCheckedItems(Object treeElement, Collection result) {
-
- if (whiteCheckedTreeItems.contains(treeElement)) {
- result.add(treeElement);
- } else {
- Collection listChildren = (Collection) checkedStateStore
- .get(treeElement);
- //if it is not in the store then it and it's children are not interesting
- if (listChildren == null) {
- return;
- }
- result.addAll(listChildren);
- Object[] children = treeContentProvider.getChildren(treeElement);
- for (int i = 0; i < children.length; ++i) {
- findAllWhiteCheckedItems(children[i], result);
- }
- }
- }
-
- /**
- * Returns a flat list of all of the leaf elements which are checked. Filter
- * then based on the supplied ElementFilter. If monitor is cancelled then
- * return null
- *
- * @param filter -
- * the filter for the data
- * @param monitor
- * IProgressMonitor or null
- * @throws InterruptedException
- * If the find is interrupted.
- */
- public void getAllCheckedListItems(IElementFilter filter,
- IProgressMonitor monitor) throws InterruptedException {
-
- //Iterate through the children of the root as the root is not in the store
- Object[] children = treeContentProvider.getChildren(root);
- for (int i = 0; i < children.length; ++i) {
- findAllSelectedListElements(children[i], null,
- whiteCheckedTreeItems.contains(children[i]), filter,
- monitor);
- }
- }
-
- /** Returns whether all items in the list are checked.
- * This method is required, because this widget will keep items grey
- * checked even though all children are selected (see grayUpdateHierarchy()).
- * @return true if all items in the list are checked - false if not
- */
- public boolean isEveryItemChecked() {
- //Iterate through the children of the root as the root is not in the store
- Object[] children = treeContentProvider.getChildren(root);
- for (int i = 0; i < children.length; ++i) {
- if (!whiteCheckedTreeItems.contains(children[i])) {
- if (!treeViewer.getGrayed(children[i])) {
- return false;
- }
- if (!isEveryChildrenChecked(children[i])) {
- return false;
- }
- }
- }
- return true;
- }
-
- /**Verifies of all list items of the tree element are checked, and
- * if all children are white checked. If not, verify their children
- * so that if an element is not white checked, but all its children
- * are while checked, then, all items are considered checked.
- * @param treeElement the treeElement which status to verify
- * @return true if all items are checked, false otherwise.
- */
- private boolean isEveryChildrenChecked(Object treeElement) {
- List checked = (List) checkedStateStore.get(treeElement);
- if (checked != null && (!checked.isEmpty())) {
- Object[] listItems = listContentProvider.getElements(treeElement);
- if (listItems.length != checked.size()) {
- return false;
- }
- }
- Object[] children = treeContentProvider.getChildren(treeElement);
- for (int i = 0; i < children.length; ++i) {
- if (!whiteCheckedTreeItems.contains(children[i])) {
- if (!treeViewer.getGrayed(children[i])) {
- return false;
- }
- if (!isEveryChildrenChecked(children[i])) {
- return false;
- }
- }
- }
- return true;
- }
-
- /**
- * Returns a flat list of all of the leaf elements which are checked.
- *
- * @return all of the leaf elements which are checked. This API does not
- * return null in order to keep backwards compatibility.
- */
- public List getAllCheckedListItems() {
-
- final ArrayList returnValue = new ArrayList();
-
- IElementFilter passThroughFilter = new IElementFilter() {
-
- @Override
- public void filterElements(Collection elements,
- IProgressMonitor monitor) {
- returnValue.addAll(elements);
- }
-
- @Override
- public void filterElements(Object[] elements,
- IProgressMonitor monitor) {
- for (int i = 0; i < elements.length; i++) {
- returnValue.add(elements[i]);
- }
- }
- };
-
- try {
- getAllCheckedListItems(passThroughFilter, null);
- } catch (InterruptedException exception) {
- return new ArrayList();
- }
- return returnValue;
-
- }
-
- /**
- * Returns a flat list of all of the leaf elements.
- *
- * @return all of the leaf elements.
- */
- public List getAllListItems() {
-
- final ArrayList returnValue = new ArrayList();
-
- IElementFilter passThroughFilter = new IElementFilter() {
-
- @Override
- public void filterElements(Collection elements,
- IProgressMonitor monitor) {
- returnValue.addAll(elements);
- }
-
- @Override
- public void filterElements(Object[] elements,
- IProgressMonitor monitor) {
- for (int i = 0; i < elements.length; i++) {
- returnValue.add(elements[i]);
- }
- }
- };
-
- try {
- Object[] children = treeContentProvider.getChildren(root);
- for (int i = 0; i < children.length; ++i) {
- findAllSelectedListElements(children[i], null, true, passThroughFilter,
- null);
- }
- } catch (InterruptedException exception) {
- return new ArrayList();
- }
- return returnValue;
-
- }
-
- /**
- * Returns a list of all of the items that are white checked.
- * Any folders that are white checked are added and then any files
- * from white checked folders are added.
- *
- * @return the list of all of the items that are white checked
- */
- public List getAllWhiteCheckedItems() {
-
- List result = new ArrayList();
-
- //Iterate through the children of the root as the root is not in the store
- Object[] children = treeContentProvider.getChildren(root);
- for (int i = 0; i < children.length; ++i) {
- findAllWhiteCheckedItems(children[i], result);
- }
-
- return result;
- }
-
- /**
- * Answer the number of elements that have been checked by the
- * user.
- *
- * @return int
- */
- public int getCheckedElementCount() {
- return checkedStateStore.size();
- }
-
- /**
- * Get the full label of the treeElement (its name and its parent's name).
- * @param treeElement - the element being exported
- * @param parentLabel - the label of the parent, can be null
- * @return String
- */
- protected String getFullLabel(Object treeElement, String parentLabel) {
- String label = parentLabel;
- if (parentLabel == null){
- label = ""; //$NON-NLS-1$
- }
- IPath parentName = new Path(label);
-
- String elementText = treeLabelProvider.getText(treeElement);
- if(elementText == null) {
- return parentName.toString();
- }
- return parentName.append(elementText).toString();
- }
-
- /**
- * Return a count of the number of list items associated with a
- * given tree item.
- *
- * @return int
- * @param treeElement java.lang.Object
- */
- protected int getListItemsSize(Object treeElement) {
- Object[] elements = listContentProvider.getElements(treeElement);
- return elements.length;
- }
-
- /**
- * Get the table the list viewer uses.
- * @return org.eclipse.swt.widgets.Table
- */
- public Table getListTable() {
- return this.listViewer.getTable();
- }
-
- /**
- * Logically gray-check all ancestors of treeItem by ensuring that they
- * appear in the checked table
- */
- protected void grayCheckHierarchy(Object treeElement) {
-
- //expand the element first to make sure we have populated for it
- expandTreeElement(treeElement);
-
- // if this tree element is already gray then its ancestors all are as well
- if (checkedStateStore.containsKey(treeElement)) {
- return; // no need to proceed upwards from here
- }
-
- checkedStateStore.put(treeElement, new ArrayList());
- Object parent = treeContentProvider.getParent(treeElement);
- if (parent != null) {
- grayCheckHierarchy(parent);
- }
- }
-
- /**
- * Set the checked state of self and all ancestors appropriately. Do not white check anyone - this is
- * only done down a hierarchy.
- */
- private void grayUpdateHierarchy(Object treeElement) {
-
- boolean shouldBeAtLeastGray = determineShouldBeAtLeastGrayChecked(treeElement);
-
- treeViewer.setGrayChecked(treeElement, shouldBeAtLeastGray);
-
- if (whiteCheckedTreeItems.contains(treeElement)) {
- whiteCheckedTreeItems.remove(treeElement);
- }
-
- // proceed up the tree element hierarchy
- Object parent = treeContentProvider.getParent(treeElement);
- if (parent != null) {
- grayUpdateHierarchy(parent);
- }
- }
-
- /**
- * Set the initial checked state of the passed list element to true.
- * @param element
- */
- public void initialCheckListItem(Object element) {
- Object parent = treeContentProvider.getParent(element);
- selectAndReveal(parent);
- //Check the element in the viewer as if it had been manually checked
- listViewer.setChecked(element, true);
- //As this is not done from the UI then set the box for updating from the selection to false
- listItemChecked(element, true, false);
- grayUpdateHierarchy(parent);
- }
-
- /**
- * Set the initial checked state of the passed element to true,
- * as well as to all of its children and associated list elements
- * @param element
- */
- public void initialCheckTreeItem(Object element) {
- treeItemChecked(element, true);
- selectAndReveal(element);
- }
-
- private void selectAndReveal(Object treeElement) {
- treeViewer.reveal(treeElement);
- IStructuredSelection selection = new StructuredSelection(treeElement);
- treeViewer.setSelection(selection);
- }
-
- /**
- * Initialize this group's viewers after they have been laid out.
- */
- protected void initialize() {
- treeViewer.setInput(root);
- this.expandedTreeNodes = new ArrayList();
- this.expandedTreeNodes.add(root);
-
- }
-
- /**
- * Callback that's invoked when the checked status of an item in the list
- * is changed by the user. Do not try and update the hierarchy if we are building the
- * initial list.
- */
- protected void listItemChecked(Object listElement, boolean state,
- boolean updatingFromSelection) {
- List checkedListItems = (List) checkedStateStore
- .get(currentTreeSelection);
- //If it has not been expanded do so as the selection of list items will affect gray state
- if (!expandedTreeNodes.contains(currentTreeSelection)) {
- expandTreeElement(currentTreeSelection);
- }
-
- if (state) {
- if (checkedListItems == null) {
- // since the associated tree item has gone from 0 -> 1 checked
- // list items, tree checking may need to be updated
- grayCheckHierarchy(currentTreeSelection);
- checkedListItems = (List) checkedStateStore
- .get(currentTreeSelection);
- }
- checkedListItems.add(listElement);
- } else {
- checkedListItems.remove(listElement);
- if (checkedListItems.isEmpty()) {
- // since the associated tree item has gone from 1 -> 0 checked
- // list items, tree checking may need to be updated
- ungrayCheckHierarchy(currentTreeSelection);
- }
- }
-
- //Update the list with the selections if there are any
- if (checkedListItems.size() > 0) {
- checkedStateStore.put(currentTreeSelection, checkedListItems);
- }
- if (updatingFromSelection) {
- grayUpdateHierarchy(currentTreeSelection);
- }
- }
-
- /**
- * Notify all checked state listeners that the passed element has had
- * its checked state changed to the passed state
- */
- protected void notifyCheckStateChangeListeners(
- final CheckStateChangedEvent event) {
- Object[] array = getListeners();
- for (int i = 0; i < array.length; i++) {
- final ICheckStateListener l = (ICheckStateListener) array[i];
- SafeRunner.run(new SafeRunnable() {
- @Override
- public void run() {
- l.checkStateChanged(event);
- }
- });
- }
- }
-
- /**
- *Set the contents of the list viewer based upon the specified selected
- *tree element. This also includes checking the appropriate list items.
- *
- *@param treeElement java.lang.Object
- */
- protected void populateListViewer(final Object treeElement) {
- listViewer.setInput(treeElement);
-
- //If the element is white checked but not expanded we have not set up all of the children yet
- if (!(expandedTreeNodes.contains(treeElement))
- && whiteCheckedTreeItems.contains(treeElement)) {
-
- //Potentially long operation - show a busy cursor
- BusyIndicator.showWhile(treeViewer.getControl().getDisplay(),
- new Runnable() {
- @Override
- public void run() {
- setListForWhiteSelection(treeElement);
- listViewer.setAllChecked(true);
- }
- });
-
- } else {
- List listItemsToCheck = (List) checkedStateStore.get(treeElement);
-
- if (listItemsToCheck != null) {
- Iterator listItemsEnum = listItemsToCheck.iterator();
- while (listItemsEnum.hasNext()) {
- listViewer.setChecked(listItemsEnum.next(), true);
- }
- }
- }
- }
-
- /**
- * Logically gray-check all ancestors of treeItem by ensuring that they
- * appear in the checked table. Add any elements to the selectedNodes
- * so we can track that has been done.
- */
- private void primeHierarchyForSelection(Object item, Set selectedNodes) {
-
- //Only prime it if we haven't visited yet
- if (selectedNodes.contains(item)) {
- return;
- }
-
- checkedStateStore.put(item, new ArrayList());
-
- //mark as expanded as we are going to populate it after this
- expandedTreeNodes.add(item);
- selectedNodes.add(item);
-
- Object parent = treeContentProvider.getParent(item);
- if (parent != null) {
- primeHierarchyForSelection(parent, selectedNodes);
- }
- }
-
- /**
- * Remove the passed listener from self's collection of clients
- * that listen for changes to element checked states
- *
- * @param listener ICheckStateListener
- */
- public void removeCheckStateListener(ICheckStateListener listener) {
- removeListenerObject(listener);
- }
-
- /**
- * Handle the selection of an item in the tree viewer
- *
- * @param event SelectionChangedEvent
- */
- @Override
- public void selectionChanged(SelectionChangedEvent event) {
- IStructuredSelection selection = (IStructuredSelection) event
- .getSelection();
- Object selectedElement = selection.getFirstElement();
- if (selectedElement == null) {
- currentTreeSelection = null;
- listViewer.setInput(currentTreeSelection);
- return;
- }
-
- // ie.- if not an item deselection
- if (selectedElement != currentTreeSelection) {
- populateListViewer(selectedElement);
- }
-
- currentTreeSelection = selectedElement;
- }
-
- /**
- * Select or deselect all of the elements in the tree depending on the value of the selection
- * boolean. Be sure to update the displayed files as well.
- * @param selection
- */
- public void setAllSelections(final boolean selection) {
-
- //If there is no root there is nothing to select
- if (root == null) {
- return;
- }
-
- //Potentially long operation - show a busy cursor
- BusyIndicator.showWhile(treeViewer.getControl().getDisplay(),
- new Runnable() {
- @Override
- public void run() {
- setTreeChecked(root, selection);
- listViewer.setAllChecked(selection);
- }
- });
- }
-
- /**
- * The treeElement has been white selected. Get the list for the element and
- * set it in the checked state store.
- * @param treeElement the element being updated
- */
- private void setListForWhiteSelection(Object treeElement) {
-
- Object[] listItems = listContentProvider.getElements(treeElement);
- List listItemsChecked = new ArrayList();
- for (int i = 0; i < listItems.length; ++i) {
- listItemsChecked.add(listItems[i]);
- }
-
- checkedStateStore.put(treeElement, listItemsChecked);
- }
-
- /**
- * Set the list viewer's providers to those passed
- *
- * @param contentProvider ITreeContentProvider
- * @param labelProvider ILabelProvider
- */
- public void setListProviders(IStructuredContentProvider contentProvider,
- ILabelProvider labelProvider) {
- listViewer.setContentProvider(contentProvider);
- listViewer.setLabelProvider(labelProvider);
- }
-
- /**
- * Set the comparator that is to be applied to self's list viewer
- *
- * @param comparator the sorter for the list
- */
- public void setListComparator(ViewerComparator comparator) {
- listViewer.setComparator(comparator);
- }
-
- /**
- * Set the root of the widget to be new Root. Regenerate all of the tables and lists from this
- * value.
- * @param newRoot
- */
- public void setRoot(Object newRoot) {
- this.root = newRoot;
- initialize();
- }
-
- /**
- * Set the checked state of the passed tree element appropriately, and
- * do so recursively to all of its child tree elements as well
- */
- protected void setTreeChecked(Object treeElement, boolean state) {
-
- if (treeElement.equals(currentTreeSelection)) {
- listViewer.setAllChecked(state);
- }
-
- if (state) {
- setListForWhiteSelection(treeElement);
- } else {
- checkedStateStore.remove(treeElement);
- }
-
- setWhiteChecked(treeElement, state);
- treeViewer.setChecked(treeElement, state);
- treeViewer.setGrayed(treeElement, false);
-
- // now logically check/uncheck all children as well if it has been expanded
- if (expandedTreeNodes.contains(treeElement)) {
- Object[] children = treeContentProvider.getChildren(treeElement);
- for (int i = 0; i < children.length; ++i) {
- setTreeChecked(children[i], state);
- }
- }
- }
-
- /**
- * Set the tree viewer's providers to those passed
- *
- * @param contentProvider ITreeContentProvider
- * @param labelProvider ILabelProvider
- */
- public void setTreeProviders(ITreeContentProvider contentProvider,
- ILabelProvider labelProvider) {
- treeViewer.setContentProvider(contentProvider);
- treeViewer.setLabelProvider(labelProvider);
- }
-
- /**
- * Set the comparator that is to be applied to self's tree viewer
- *
- * @param comparator the comparator for the tree
- */
- public void setTreeComparator(ViewerComparator comparator) {
- treeViewer.setComparator(comparator);
- }
-
- /**
- * Adjust the collection of references to white-checked tree elements appropriately.
- *
- * @param treeElement java.lang.Object
- * @param isWhiteChecked boolean
- */
- protected void setWhiteChecked(Object treeElement, boolean isWhiteChecked) {
- if (isWhiteChecked) {
- if (!whiteCheckedTreeItems.contains(treeElement)) {
- whiteCheckedTreeItems.add(treeElement);
- }
- } else {
- whiteCheckedTreeItems.remove(treeElement);
- }
- }
-
- /**
- * Handle the collapsing of an element in a tree viewer
- */
- @Override
- public void treeCollapsed(TreeExpansionEvent event) {
- // We don't need to do anything with this
- }
-
- /**
- * Handle the expansionsion of an element in a tree viewer
- */
- @Override
- public void treeExpanded(TreeExpansionEvent event) {
- expandTreeElement(event.getElement());
- }
-
- /**
- * Callback that's invoked when the checked status of an item in the tree
- * is changed by the user.
- */
- protected void treeItemChecked(Object treeElement, boolean state) {
-
- // recursively adjust all child tree elements appropriately
- setTreeChecked(treeElement, state);
-
- Object parent = treeContentProvider.getParent(treeElement);
-
- // workspace root is not shown in the tree, so ignore it
- if (parent == null || parent instanceof IWorkspaceRoot) {
- return;
- }
-
- // now update upwards in the tree hierarchy
- if (state) {
- grayCheckHierarchy(parent);
- } else {
- ungrayCheckHierarchy(parent);
- }
-
- //Update the hierarchy but do not white select the parent
- grayUpdateHierarchy(parent);
- }
-
- /**
- * Logically un-gray-check all ancestors of treeItem iff appropriate.
- */
- protected void ungrayCheckHierarchy(Object treeElement) {
- if (!determineShouldBeAtLeastGrayChecked(treeElement)) {
- checkedStateStore.remove(treeElement);
- }
-
- Object parent = treeContentProvider.getParent(treeElement);
- if (parent != null) {
- ungrayCheckHierarchy(parent);
- }
- }
-
- /**
- * Set the checked state of self and all ancestors appropriately
- */
- protected void updateHierarchy(Object treeElement) {
-
- boolean whiteChecked = determineShouldBeWhiteChecked(treeElement);
- boolean shouldBeAtLeastGray = determineShouldBeAtLeastGrayChecked(treeElement);
-
- treeViewer.setChecked(treeElement, shouldBeAtLeastGray);
- setWhiteChecked(treeElement, whiteChecked);
- if (whiteChecked) {
- treeViewer.setGrayed(treeElement, false);
- } else {
- treeViewer.setGrayed(treeElement, shouldBeAtLeastGray);
- }
-
- // proceed up the tree element hierarchy but gray select all of them
- Object parent = treeContentProvider.getParent(treeElement);
- if (parent != null) {
- grayUpdateHierarchy(parent);
- }
- }
-
- /**
- * Update the selections of the tree elements in items to reflect the new
- * selections provided.
- * @param items Map with keys of Object (the tree element) and values of List (the selected
- * list elements).
- * NOTE: This method does not special case keys with no values (i.e.,
- * a tree element with an empty list). If a tree element does not have any selected
- * items, do not include the element in the Map.
- */
- public void updateSelections(Map items) {
- // We are replacing all selected items with the given selected items,
- // so reinitialize everything.
- this.listViewer.setAllChecked(false);
- this.treeViewer.setCheckedElements(new Object[0]);
- this.whiteCheckedTreeItems = new HashSet();
- Set selectedNodes = new HashSet();
- checkedStateStore = new HashMap();
-
- //Update the store before the hierarchy to prevent updating parents before all of the children are done
- Iterator keyIterator = items.keySet().iterator();
- while (keyIterator.hasNext()) {
- Object key = keyIterator.next();
- List selections = (List) items.get(key);
- //Replace the items in the checked state store with those from the supplied items
- checkedStateStore.put(key, selections);
- selectedNodes.add(key);
- // proceed up the tree element hierarchy
- Object parent = treeContentProvider.getParent(key);
- if (parent != null) {
- // proceed up the tree element hierarchy and make sure everything is in the table
- primeHierarchyForSelection(parent, selectedNodes);
- }
- }
-
- // Update the checked tree items. Since each tree item has a selected
- // item, all the tree items will be gray checked.
- treeViewer.setCheckedElements(checkedStateStore.keySet().toArray());
- treeViewer.setGrayedElements(checkedStateStore.keySet().toArray());
-
- // Update the listView of the currently selected tree item.
- if (currentTreeSelection != null) {
- Object displayItems = items.get(currentTreeSelection);
- if (displayItems != null) {
- listViewer.setCheckedElements(((List) displayItems).toArray());
- }
- }
- }
-
- /**
- * Set the focus on to the list widget.
- */
- public void setFocus() {
-
- treeViewer.getTree().setFocus();
- if(treeViewer.getSelection().isEmpty()) {
- Object[] elements = treeContentProvider.getElements(root);
- if(elements.length > 0) {
- StructuredSelection selection = new StructuredSelection(elements[0]);
- treeViewer.setSelection(selection);
- }
- }
-
- }
-
-}
-
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/wizards/importtrace/TraceTypeContentProvider.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/wizards/importtrace/TraceTypeContentProvider.java
deleted file mode 100644
index d52e43511d..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/wizards/importtrace/TraceTypeContentProvider.java
+++ /dev/null
@@ -1,101 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013, 2014 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:
- * Matthew Khouzam - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.internal.tmf.ui.project.wizards.importtrace;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.jface.viewers.ITreeContentProvider;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.linuxtools.tmf.core.project.model.TmfTraceType;
-import org.eclipse.linuxtools.tmf.core.project.model.TraceTypeHelper;
-
-/**
- * Trace type content provider, a helper for showing trace types
- *
- * @author Matthew Khouzam
- * @since 2.0
- */
-public class TraceTypeContentProvider implements ITreeContentProvider {
-
- private final List<String> fTraceCategory = new ArrayList<>();
- private final Map<String, List<TraceTypeHelper>> fTraceType = new HashMap<>();
-
- /**
- * Default Constructor
- */
- public TraceTypeContentProvider() {
- fTraceType.clear();
- fTraceCategory.clear();
-
- for (String category : TmfTraceType.getTraceCategories()) {
- List<TraceTypeHelper> value = TmfTraceType.getTraceTypes(category);
- if (!value.isEmpty()) {
- fTraceCategory.add(category);
- fTraceType.put(category, value);
- }
- }
- }
-
- @Override
- public void dispose() {
- }
-
- @Override
- public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
- // Do nothing
- }
-
- @Override
- public Object[] getElements(Object inputElement) {
- return fTraceCategory.toArray(new String[0]);
- }
-
- @Override
- public Object[] getChildren(Object parentElement) {
- if (parentElement instanceof String) {
- final List<TraceTypeHelper> children = fTraceType.get(parentElement);
- if (children != null) {
- return children.toArray(new TraceTypeHelper[0]);
- }
- }
- return null;
- }
-
- @Override
- public Object getParent(Object element) {
- if (element instanceof TraceTypeHelper) {
- for (String key : fTraceCategory) {
- List<TraceTypeHelper> traceSet = fTraceType.get(key);
- if (traceSet != null) {
- if (traceSet.contains(element)) {
- return key;
- }
- }
- }
- }
- return null;
- }
-
- @Override
- public boolean hasChildren(Object element) {
- if (element instanceof String) {
- String key = (String) element;
- return fTraceType.containsKey(key);
- }
- return false;
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/wizards/importtrace/messages.properties b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/wizards/importtrace/messages.properties
deleted file mode 100644
index f3fdaf8e0c..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/wizards/importtrace/messages.properties
+++ /dev/null
@@ -1,81 +0,0 @@
-###############################################################################
-# Copyright (c) 2013, 2014 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:
-# Ericsson - Initial API and implementation
-###############################################################################
-
-# ImportTraceWizard
-ImportTraceWizard_DialogTitle=Trace Import
-ImportTraceWizard_FileSystemTitle=File system
-ImportTraceWizard_ImportTrace=Import a trace from the local file system
-ImportTraceWizard_DirectoryLocation=Select roo&t directory:
-ImportTraceWizard_ArchiveLocation=Select &archive file:
-ImportTraceWizard_BrowseButton=B&rowse...
-ImportTraceWizard_TraceType=Trace Type:
-ImportTraceWizard_SelectTraceDirectoryTitle=Select trace directory
-ImportTraceWizard_SelectTraceArchiveTitle=Select trace archive file
-ImportTraceWizard_SelectTraceDirectoryMessage=Select directory to import trace from
-ImportTraceWizard_OverwriteExistingTrace=Overwrite existing trace without warning
-ImportTraceWizard_CreateLinksInWorkspace=Create lin&ks in workspace
-ImportTraceWizard_PreserveFolderStructure=Preserve &folder structure
-ImportTraceWizard_TraceValidationFailed=Validation failed for trace resource {0}
-ImportTraceWizard_TraceAlreadyExists=Trace with name "{0}" already exists in project. Do you want to rename, overwrite or skip?
-ImportTraceWizard_ImportConfigurationRename=Rename
-ImportTraceWizard_ImportConfigurationRenameAll=Rename All
-ImportTraceWizard_ImportConfigurationOverwrite=Overwrite
-ImportTraceWizard_ImportConfigurationOverwriteAll=Overwrite All
-ImportTraceWizard_ImportConfigurationSkip=Skip
-ImportTraceWizard_ImportConfigurationSkipAll=Skip All
-ImportTraceWizard_InvalidTraceDirectory=Invalid trace directory
-ImportTraceWizard_SelectTraceSourceEmpty=Source must not be empty
-ImportTraceWizard_BadArchiveFormat=Source file is not a valid tar or zip file.
-ImportTraceWizard_SelectTraceNoneSelected=No trace selected
-ImportTraceWizard_ImportProblem=Import problem
-ImportTraceWizard_CannotImportFilesUnderAVirtualFolder=Can not import trace under a virtual folder
-ImportTraceWizard_HaveToCreateLinksUnderAVirtualFolder=Have to create link under a virtual folder
-ImportTraceWizard_Information=Information
-ImportTraceWizard_ImportUnrecognized=Import unrecognized traces
-ImportTraceWizard_ImportOperationCancelled=Import operation cancelled
-ImportTraceWizard_TraceTypeNotFound=No trace type helper found
-ImportTraceWizard_ImportOperationTaskName=Importing
-ImportTraceWizard_ExtractImportOperationTaskName=Extracting files
-ImportTraceWizard_AutoDetection=<Automatic Detection>
-
-# BatchImportTraceWizard
-ImportTraceWizardImportCaption=Trace to import
-ImportTraceWizardTraceDisplayName=Trace display name
-ImportTraceWizardLinkTraces=Link traces (Recommended)
-ImportTraceWizardCopyTraces=Copy traces
-ImportTraceWizardOverwriteTraces=Overwrite existing traces (recommended)
-ImportTraceWizardAddFile=Add File...
-ImportTraceWizardAddDirectory=Add Directory...
-ImportTraceWizardRemove=Remove
-ImportTraceWizardDirectoryTitle=Pick directories and files to scan
-ImportTraceWizardDirectoryHint=Select at least one file or directory to scan
-ImportTraceWizardScanPagebyte=\ B
-ImportTraceWizardScanPageGigabyte=\ GB
-ImportTraceWizardScanPageKilobyte=\ KB
-ImportTraceWizardScanPageMegabyte=\ MB
-ImportTraceWizardScanPageRenameError=Each selected trace must have a unique name, please rename.
-ImportTraceWizardScanPageSelectAtleastOne=Select at least one trace to import
-ImportTraceWizardScanPageSize=Size
-ImportTraceWizardSelectAll=Select All
-ImportTraceWizardScanPageTerabyte=\ TB
-ImportTraceWizardScanPageTitle=Valid traces
-ImportTraceWizardSelectTraceTypePageTitle=Available trace types
-ImportTraceWizardPageOptionsTitle=Select Target Project
-ImportTraceWizardPageScanDone=Done\!
-ImportTraceWizardPageScanScanning=Scanning:
-ImportTraceWizardPageSelectNone=Deselect All
-ImportTraceWizardPageSelectHint=Select at least one trace type
-BatchImportTraceWizardRemove=Removing
-BatchImportTraceWizardAdd=Adding
-BatchImportTraceWizardErrorImportingTraceResource=Error importing trace resource
-ImportTraceWizardImportProblem=Error
-SharedSelectProject=Select a project to import to
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/wizards/tracepkg/AbstractTracePackageOperation.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/wizards/tracepkg/AbstractTracePackageOperation.java
deleted file mode 100644
index e440aa7dc3..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/wizards/tracepkg/AbstractTracePackageOperation.java
+++ /dev/null
@@ -1,369 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013, 2014 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:
- * Marc-Andre Laperle - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.internal.tmf.ui.project.wizards.tracepkg;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.Enumeration;
-import java.util.Vector;
-import java.util.zip.ZipEntry;
-import java.util.zip.ZipFile;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.ui.internal.wizards.datatransfer.TarEntry;
-import org.eclipse.ui.internal.wizards.datatransfer.TarException;
-import org.eclipse.ui.internal.wizards.datatransfer.TarFile;
-
-/**
- * An abstract operation containing common code useful for other trace package
- * operations
- *
- * @author Marc-Andre Laperle
- */
-@SuppressWarnings("restriction")
-abstract public class AbstractTracePackageOperation {
- private IStatus fStatus;
- // Result of this operation, if any
- private TracePackageElement[] fResultElements;
-
- private final String fFileName;
-
- /**
- * Constructs a new trace package operation
- *
- * @param fileName
- * the output file name
- */
- public AbstractTracePackageOperation(String fileName) {
- fFileName = fileName;
- }
-
- /**
- * Run the operation. The status (result) of the operation can be obtained
- * with {@link #getStatus}
- *
- * @param progressMonitor
- * the progress monitor to use to display progress and receive
- * requests for cancellation
- */
- public abstract void run(IProgressMonitor progressMonitor);
-
- /**
- * Returns the status of the operation (result)
- *
- * @return the status of the operation
- */
- public IStatus getStatus() {
- return fStatus;
- }
-
- /**
- * Get the resulting elements for this operation, if any
- *
- * @return the resulting elements or null if no result is produced by this
- * operation
- */
- public TracePackageElement[] getResultElements() {
- return fResultElements;
- }
-
- /**
- * Set the resulting elements for this operation, if any
- *
- * @param elements
- * the resulting elements produced by this operation, can be set
- * to null
- */
- public void setResultElements(TracePackageElement[] elements) {
- fResultElements = elements;
- }
-
- /**
- * Set the status for this operation
- *
- * @param status
- * the status
- */
- protected void setStatus(IStatus status) {
- fStatus = status;
- }
-
- /**
- * Get the file name of the package
- *
- * @return the file name
- */
- protected String getFileName() {
- return fFileName;
- }
-
- /**
- * Answer a handle to the archive file currently specified as being the
- * source. Return null if this file does not exist or is not of valid
- * format.
- *
- * @return the archive file
- */
- public ArchiveFile getSpecifiedArchiveFile() {
- if (fFileName.length() == 0) {
- return null;
- }
-
- try {
- return new ZipArchiveFile(new ZipFile(fFileName));
- } catch (IOException e) {
- // ignore
- }
-
- try {
- return new TarArchiveFile(new TarFile(fFileName));
- } catch (TarException | IOException e) {
- // ignore
- }
-
- return null;
- }
-
- /**
- * Get the number of checked elements in the array and the children
- *
- * @param elements
- * the elements to check for checked
- * @return the number of checked elements
- */
- protected int getNbCheckedElements(TracePackageElement[] elements) {
- int totalWork = 0;
- for (TracePackageElement tracePackageElement : elements) {
- TracePackageElement[] children = tracePackageElement.getChildren();
- if (children != null && children.length > 0) {
- totalWork += getNbCheckedElements(children);
- } else if (tracePackageElement.isChecked()) {
- ++totalWork;
- }
- }
-
- return totalWork;
- }
-
- /**
- * Returns whether or not the Files element is checked under the given trace
- * package element
- *
- * @param tracePackageElement
- * the trace package element
- * @return whether or not the Files element is checked under the given trace
- * package element
- */
- public static boolean isFilesChecked(TracePackageElement tracePackageElement) {
- for (TracePackageElement element : tracePackageElement.getChildren()) {
- if (element instanceof TracePackageFilesElement) {
- return element.isChecked();
- }
- }
-
- return false;
- }
-
- /**
- * Common interface between ZipEntry and TarEntry
- */
- protected interface ArchiveEntry {
- /**
- * The name of the entry
- *
- * @return The name of the entry
- */
- String getName();
- }
-
- /**
- * Common interface between ZipFile and TarFile
- */
- protected interface ArchiveFile {
- /**
- * Returns an enumeration cataloging the archive.
- *
- * @return enumeration of all files in the archive
- */
- Enumeration<? extends ArchiveEntry> entries();
-
- /**
- * Close the file input stream.
- *
- * @throws IOException
- */
- void close() throws IOException;
-
- /**
- * Returns a new InputStream for the given file in the archive.
- *
- * @param entry
- * the given file
- * @return an input stream for the given file
- * @throws TarException
- * @throws IOException
- */
- InputStream getInputStream(ArchiveEntry entry) throws TarException, IOException;
- }
-
- /**
- * Adapter for TarFile to ArchiveFile
- */
- protected class TarArchiveFile implements ArchiveFile {
-
- private TarFile fTarFile;
-
- /**
- * Constructs a TarAchiveFile for a TarFile
- *
- * @param tarFile
- * the TarFile
- */
- public TarArchiveFile(TarFile tarFile) {
- this.fTarFile = tarFile;
- }
-
- @Override
- public Enumeration<? extends ArchiveEntry> entries() {
- Vector<ArchiveEntry> v = new Vector<>();
- for (Enumeration<?> e = fTarFile.entries(); e.hasMoreElements();) {
- v.add(new TarArchiveEntry((TarEntry) e.nextElement()));
- }
-
- return v.elements();
- }
-
- @Override
- public void close() throws IOException {
- fTarFile.close();
- }
-
- @Override
- public InputStream getInputStream(ArchiveEntry entry) throws TarException, IOException {
- return fTarFile.getInputStream(((TarArchiveEntry) entry).getTarEntry());
- }
- }
-
- /**
- * Adapter for TarEntry to ArchiveEntry
- */
- protected class TarArchiveEntry implements ArchiveEntry {
- private TarEntry fTarEntry;
-
- /**
- * Constructs a TarArchiveEntry for a TarEntry
- *
- * @param tarEntry
- * the TarEntry
- */
- public TarArchiveEntry(TarEntry tarEntry) {
- this.fTarEntry = tarEntry;
- }
-
- @Override
- public String getName() {
- return fTarEntry.getName();
- }
-
- /**
- * Get the corresponding TarEntry
- *
- * @return the corresponding TarEntry
- */
- public TarEntry getTarEntry() {
- return fTarEntry;
- }
-
- @Override
- public String toString() {
- return getName();
- }
- }
-
- /**
- * Adapter for ArchiveEntry to ArchiveEntry
- */
- protected class ZipAchiveEntry implements ArchiveEntry {
-
- private ZipEntry fZipEntry;
-
- /**
- * Constructs a ZipAchiveEntry for a ZipEntry
- *
- * @param zipEntry
- * the ZipEntry
- */
- public ZipAchiveEntry(ZipEntry zipEntry) {
- this.fZipEntry = zipEntry;
- }
-
- @Override
- public String getName() {
- return fZipEntry.getName();
- }
-
- /**
- * Get the corresponding ZipEntry
- *
- * @return the corresponding ZipEntry
- */
- public ZipEntry getZipEntry() {
- return fZipEntry;
- }
-
- @Override
- public String toString() {
- return getName();
- }
- }
-
- /**
- * Adapter for ZipFile to ArchiveFile
- */
- protected class ZipArchiveFile implements ArchiveFile {
-
- private ZipFile fZipFile;
-
- /**
- * Constructs a ZipArchiveFile for a ZipFile
- *
- * @param zipFile
- * the ZipFile
- */
- public ZipArchiveFile(ZipFile zipFile) {
- this.fZipFile = zipFile;
- }
-
- @Override
- public Enumeration<? extends ArchiveEntry> entries() {
- Vector<ArchiveEntry> v = new Vector<>();
- for (Enumeration<?> e = fZipFile.entries(); e.hasMoreElements();) {
- v.add(new ZipAchiveEntry((ZipEntry) e.nextElement()));
- }
-
- return v.elements();
- }
-
- @Override
- public void close() throws IOException {
- fZipFile.close();
- }
-
- @Override
- public InputStream getInputStream(ArchiveEntry entry) throws TarException, IOException {
- return fZipFile.getInputStream(((ZipAchiveEntry) entry).getZipEntry());
- }
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/wizards/tracepkg/AbstractTracePackageWizardPage.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/wizards/tracepkg/AbstractTracePackageWizardPage.java
deleted file mode 100644
index 9c05d7ec30..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/wizards/tracepkg/AbstractTracePackageWizardPage.java
+++ /dev/null
@@ -1,570 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 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:
- * Marc-Andre Laperle - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.internal.tmf.ui.project.wizards.tracepkg;
-
-import java.io.ByteArrayOutputStream;
-import java.io.File;
-import java.io.IOException;
-import java.io.PrintStream;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jface.dialogs.ErrorDialog;
-import org.eclipse.jface.dialogs.IDialogSettings;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.viewers.CheckStateChangedEvent;
-import org.eclipse.jface.viewers.CheckboxTreeViewer;
-import org.eclipse.jface.viewers.ICheckStateListener;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.wizard.WizardPage;
-import org.eclipse.linuxtools.internal.tmf.ui.Activator;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.events.SelectionListener;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Combo;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.FileDialog;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Listener;
-import org.eclipse.swt.widgets.TreeItem;
-
-/**
- * An abstract wizard page containing common code useful for both import and
- * export trace package wizard pages
- *
- * @author Marc-Andre Laperle
- */
-abstract public class AbstractTracePackageWizardPage extends WizardPage {
-
- private static final int COMBO_HISTORY_LENGTH = 5;
- private static final String STORE_FILE_PATHS_ID = ".STORE_FILEPATHS_ID"; //$NON-NLS-1$
-
- private final String fStoreFilePathId;
- private final IStructuredSelection fSelection;
-
- private CheckboxTreeViewer fElementViewer;
- private Button fSelectAllButton;
- private Button fDeselectAllButton;
- private Combo fFilePathCombo;
- private Button fBrowseButton;
-
- /**
- * Create the trace package wizard page
- *
- * @param pageName
- * the name of the page
- * @param title
- * the title for this wizard page, or null if none
- * @param titleImage
- * the image descriptor for the title of this wizard page, or
- * null if none
- * @param selection
- * the current object selection
- */
- protected AbstractTracePackageWizardPage(String pageName, String title, ImageDescriptor titleImage, IStructuredSelection selection) {
- super(pageName, title, titleImage);
- fStoreFilePathId = getName() + STORE_FILE_PATHS_ID;
- fSelection = selection;
- }
-
- /**
- * Create the element viewer
- *
- * @param compositeParent
- * the parent composite
- */
- protected void createElementViewer(Composite compositeParent) {
- fElementViewer = new CheckboxTreeViewer(compositeParent, SWT.SINGLE | SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER | SWT.CHECK);
-
- fElementViewer.addCheckStateListener(new ICheckStateListener() {
- @Override
- public void checkStateChanged(CheckStateChangedEvent event) {
- TracePackageElement element = (TracePackageElement) event.getElement();
- if (!element.isEnabled()) {
- fElementViewer.setChecked(element, element.isChecked());
- } else {
- setSubtreeChecked(fElementViewer, element, true, event.getChecked());
- }
- maintainCheckIntegrity(element);
-
- if (element.getParent() != null) {
- // Uncheck everything in this trace if Trace files are unchecked
- if (element instanceof TracePackageFilesElement) {
- if (!element.isChecked()) {
- setSubtreeChecked(fElementViewer, element.getParent(), false, false);
- }
- // Check Trace files if anything else is selected
- } else if (element.isChecked()) {
- TracePackageElement parent = element.getParent();
- while (parent != null) {
- for (TracePackageElement e : parent.getChildren()) {
- if (e instanceof TracePackageFilesElement) {
- setSubtreeChecked(fElementViewer, e, false, true);
- break;
- }
- }
- parent = parent.getParent();
- }
- }
- }
-
-
- updateApproximateSelectedSize();
- updatePageCompletion();
- }
-
- private void maintainCheckIntegrity(final TracePackageElement element) {
- TracePackageElement parentElement = element.getParent();
- boolean allChecked = true;
- boolean oneChecked = false;
- if (parentElement != null) {
- if (parentElement.getChildren() != null) {
- for (TracePackageElement child : parentElement.getChildren()) {
- if (fElementViewer.getGrayed(child)) {
- oneChecked = true;
- allChecked = false;
- break;
- }
- boolean checked = fElementViewer.getChecked(child);
- oneChecked |= checked;
- allChecked &= checked;
- }
- }
- if (oneChecked && !allChecked) {
- fElementViewer.setGrayChecked(parentElement, true);
- } else {
- fElementViewer.setGrayed(parentElement, false);
- fElementViewer.setChecked(parentElement, allChecked);
- }
- maintainCheckIntegrity(parentElement);
- }
- }
- });
- GridData layoutData = new GridData(GridData.FILL_BOTH);
- fElementViewer.getTree().setLayoutData(layoutData);
- fElementViewer.setContentProvider(new TracePackageContentProvider());
- fElementViewer.setLabelProvider(new TracePackageLabelProvider());
- }
-
- /**
- * Create the input for the element viewer
- *
- * @return the input for the element viewer
- */
- protected abstract Object createElementViewerInput();
-
- /**
- * Create the file path group that allows the user to type or browse for a
- * file path
- *
- * @param parent
- * the parent composite
- * @param label
- * the label to describe the file path (i.e. import/export)
- * @param fileDialogStyle
- * SWT.OPEN or SWT.SAVE
- */
- protected void createFilePathGroup(Composite parent, String label, final int fileDialogStyle) {
-
- Composite filePathSelectionGroup = new Composite(parent, SWT.NONE);
- GridLayout layout = new GridLayout();
- layout.numColumns = 3;
- filePathSelectionGroup.setLayout(layout);
- filePathSelectionGroup.setLayoutData(new GridData(
- GridData.HORIZONTAL_ALIGN_FILL | GridData.VERTICAL_ALIGN_FILL));
-
- Label destinationLabel = new Label(filePathSelectionGroup, SWT.NONE);
- destinationLabel.setText(label);
-
- fFilePathCombo = new Combo(filePathSelectionGroup, SWT.SINGLE
- | SWT.BORDER);
- GridData data = new GridData(GridData.HORIZONTAL_ALIGN_FILL
- | GridData.GRAB_HORIZONTAL);
- data.grabExcessHorizontalSpace = true;
- fFilePathCombo.setLayoutData(data);
-
- fBrowseButton = new Button(filePathSelectionGroup,
- SWT.PUSH);
- fBrowseButton.setText(org.eclipse.linuxtools.internal.tmf.ui.project.wizards.tracepkg.Messages.TracePackage_Browse);
- fBrowseButton.addListener(SWT.Selection, new Listener() {
- @Override
- public void handleEvent(Event event) {
- handleFilePathBrowseButtonPressed(fileDialogStyle);
- }
- });
- setButtonLayoutData(fBrowseButton);
- }
-
- /**
- * Update the page with the file path the current file path selection
- */
- abstract protected void updateWithFilePathSelection();
-
- /**
- * Creates the buttons for selecting all or none of the elements.
- *
- * @param parent
- * the parent control
- * @return the button group
- */
- protected Composite createButtonsGroup(Composite parent) {
-
- // top level group
- Composite buttonComposite = new Composite(parent, SWT.NONE);
-
- GridLayout layout = new GridLayout();
- layout.numColumns = 3;
- buttonComposite.setLayout(layout);
- buttonComposite.setLayoutData(new GridData(GridData.VERTICAL_ALIGN_FILL
- | GridData.HORIZONTAL_ALIGN_FILL));
-
- fSelectAllButton = new Button(buttonComposite, SWT.PUSH);
- fSelectAllButton.setText(org.eclipse.linuxtools.internal.tmf.ui.project.wizards.tracepkg.Messages.TracePackage_SelectAll);
-
- SelectionListener listener = new SelectionAdapter() {
- @Override
- public void widgetSelected(SelectionEvent e) {
- setAllChecked(fElementViewer, true, true);
- updateApproximateSelectedSize();
- updatePageCompletion();
- }
- };
- fSelectAllButton.addSelectionListener(listener);
-
- fDeselectAllButton = new Button(buttonComposite, SWT.PUSH);
- fDeselectAllButton.setText(org.eclipse.linuxtools.internal.tmf.ui.project.wizards.tracepkg.Messages.TracePackage_DeselectAll);
-
- listener = new SelectionAdapter() {
- @Override
- public void widgetSelected(SelectionEvent e) {
- setAllChecked(fElementViewer, true, false);
- updateApproximateSelectedSize();
- updatePageCompletion();
- }
- };
- fDeselectAllButton.addSelectionListener(listener);
-
- return buttonComposite;
- }
-
- /**
- * Restore widget values to the values that they held last time this wizard
- * was used to completion.
- */
- protected void restoreWidgetValues() {
- IDialogSettings settings = getDialogSettings();
- if (settings != null) {
- String[] directoryNames = settings.getArray(fStoreFilePathId);
- if (directoryNames == null || directoryNames.length == 0) {
- return;
- }
-
- for (int i = 0; i < directoryNames.length; i++) {
- fFilePathCombo.add(directoryNames[i]);
- }
- }
- }
-
- /**
- * Save widget values to Dialog settings
- */
- protected void saveWidgetValues() {
- IDialogSettings settings = getDialogSettings();
- if (settings != null) {
- // update directory names history
- String[] directoryNames = settings.getArray(fStoreFilePathId);
- if (directoryNames == null) {
- directoryNames = new String[0];
- }
-
- directoryNames = addToHistory(directoryNames, getFilePathValue());
- settings.put(fStoreFilePathId, directoryNames);
- }
- }
-
- /**
- * Determine if the page is complete and update the page appropriately.
- */
- protected void updatePageCompletion() {
- boolean pageComplete = determinePageCompletion();
- setPageComplete(pageComplete);
- if (pageComplete) {
- setErrorMessage(null);
- }
- }
-
- /**
- * Determine if the page is completed or not
- *
- * @return true if the page is completed, false otherwise
- */
- protected boolean determinePageCompletion() {
- return fElementViewer.getCheckedElements().length > 0 && !getFilePathValue().isEmpty();
- }
-
- /**
- * Handle error status
- *
- * @param status
- * the error status
- */
- protected void handleErrorStatus(IStatus status) {
-
- Throwable exception = status.getException();
- String message = status.getMessage().length() > 0 ? status.getMessage() : org.eclipse.linuxtools.internal.tmf.ui.project.wizards.tracepkg.Messages.TracePackage_ErrorOperation;
-
- if (!status.isMultiStatus()) {
- handleError(message, exception);
- return;
- }
-
- // Build a string with all the children status messages, exception
- // messages and stack traces
- StringBuilder sb = new StringBuilder();
- for (IStatus childStatus : status.getChildren()) {
- StringBuilder childSb = new StringBuilder();
- if (!childStatus.getMessage().isEmpty()) {
- childSb.append(childStatus.getMessage() + '\n');
- }
-
- Throwable childException = childStatus.getException();
- if (childException != null) {
- String reason = childException.getMessage();
- // Some system exceptions have no message
- if (reason == null) {
- reason = childException.toString();
- }
-
- String stackMessage = getExceptionStackMessage(childException);
- if (stackMessage == null) {
- stackMessage = reason;
- }
-
- childSb.append(stackMessage);
- }
-
- if (childSb.length() > 0) {
- childSb.insert(0, '\n');
- sb.append(childSb.toString());
- }
- }
-
- // ErrorDialog only prints the call stack for a CoreException
- exception = new CoreException(new Status(IStatus.ERROR, Activator.PLUGIN_ID, IStatus.ERROR, sb.toString(), null));
- final Status statusWithException = new Status(IStatus.ERROR, Activator.PLUGIN_ID, IStatus.ERROR, org.eclipse.linuxtools.internal.tmf.ui.project.wizards.tracepkg.Messages.TracePackage_ErrorMultipleProblems, exception);
-
- Activator.getDefault().logError(message, exception);
- ErrorDialog.openError(getContainer().getShell(), org.eclipse.linuxtools.internal.tmf.ui.project.wizards.tracepkg.Messages.TracePackage_InternalErrorTitle, message, statusWithException);
- }
-
- /**
- * Handle errors occurring in the wizard operations
- *
- * @param message
- * the error message
- * @param exception
- * the exception attached to the message
- */
- protected void handleError(String message, Throwable exception) {
- Activator.getDefault().logError(message, exception);
- displayErrorDialog(message, exception);
- }
-
- private static String getExceptionStackMessage(Throwable exception) {
- String stackMessage = null;
- ByteArrayOutputStream baos = new ByteArrayOutputStream();
- PrintStream ps = new PrintStream(baos);
- exception.printStackTrace(ps);
- ps.flush();
- try {
- baos.flush();
- stackMessage = baos.toString();
- } catch (IOException e) {
- }
-
- return stackMessage;
- }
-
- private void displayErrorDialog(String message, Throwable exception) {
- if (exception == null) {
- final Status s = new Status(IStatus.ERROR, Activator.PLUGIN_ID, message);
- ErrorDialog.openError(getContainer().getShell(), org.eclipse.linuxtools.internal.tmf.ui.project.wizards.tracepkg.Messages.TracePackage_InternalErrorTitle, null, s);
- return;
- }
-
- String reason = exception.getMessage();
- // Some system exceptions have no message
- if (reason == null) {
- reason = exception.toString();
- }
-
- String stackMessage = getExceptionStackMessage(exception);
- if (stackMessage == null || stackMessage.isEmpty()) {
- stackMessage = reason;
- }
-
- // ErrorDialog only prints the call stack for a CoreException
- CoreException coreException = new CoreException(new Status(IStatus.ERROR, Activator.PLUGIN_ID, IStatus.ERROR, stackMessage, exception));
- final Status s = new Status(IStatus.ERROR, Activator.PLUGIN_ID, IStatus.ERROR, reason, coreException);
- ErrorDialog.openError(getContainer().getShell(), org.eclipse.linuxtools.internal.tmf.ui.project.wizards.tracepkg.Messages.TracePackage_InternalErrorTitle, message, s);
- }
-
- /**
- * A version of setSubtreeChecked that is aware of isEnabled
- *
- * @param viewer
- * the viewer
- * @param element
- * the element
- * @param enabledOnly
- * if only enabled elements should be considered
- * @param checked
- * true if the item should be checked, and false if it should be
- * unchecked
- */
- protected static void setSubtreeChecked(CheckboxTreeViewer viewer, TracePackageElement element, boolean enabledOnly, boolean checked) {
- if (!enabledOnly || element.isEnabled()) {
- viewer.setChecked(element, checked);
- if (checked) {
- viewer.setGrayed(element, false);
- }
- element.setChecked(checked);
- if (element.getChildren() != null) {
- for (TracePackageElement child : element.getChildren()) {
- setSubtreeChecked(viewer, child, enabledOnly, checked);
- }
- }
- }
- }
-
- /**
- * Sets all items in the element viewer to be checked or unchecked
- *
- * @param viewer
- * the viewer
- * @param enabledOnly
- * if only enabled elements should be considered
- * @param checked
- * whether or not items should be checked
- */
- protected static void setAllChecked(CheckboxTreeViewer viewer, boolean enabledOnly, boolean checked) {
- TreeItem[] items = viewer.getTree().getItems();
- for (int i = 0; i < items.length; i++) {
- Object element = items[i].getData();
- setSubtreeChecked(viewer, (TracePackageElement) element, enabledOnly, checked);
- }
- }
-
- private static void addToHistory(List<String> history, String newEntry) {
- history.remove(newEntry);
- history.add(0, newEntry);
-
- // since only one new item was added, we can be over the limit
- // by at most one item
- if (history.size() > COMBO_HISTORY_LENGTH) {
- history.remove(COMBO_HISTORY_LENGTH);
- }
- }
-
- private static String[] addToHistory(String[] history, String newEntry) {
- ArrayList<String> l = new ArrayList<>(Arrays.asList(history));
- addToHistory(l, newEntry);
- String[] r = new String[l.size()];
- l.toArray(r);
- return r;
- }
-
- /**
- * Open an appropriate file dialog so that the user can specify a file to
- * import/export
- * @param fileDialogStyle
- */
- private void handleFilePathBrowseButtonPressed(int fileDialogStyle) {
- FileDialog dialog = new FileDialog(getContainer().getShell(), fileDialogStyle | SWT.SHEET);
- dialog.setFilterExtensions(new String[] { "*.zip;*.tar.gz;*.tar;*.tgz", "*.*" }); //$NON-NLS-1$ //$NON-NLS-2$
- dialog.setText(Messages.TracePackage_FileDialogTitle);
- String currentSourceString = getFilePathValue();
- int lastSeparatorIndex = currentSourceString.lastIndexOf(File.separator);
- if (lastSeparatorIndex != -1) {
- dialog.setFilterPath(currentSourceString.substring(0, lastSeparatorIndex));
- }
- String selectedFileName = dialog.open();
-
- if (selectedFileName != null) {
- setFilePathValue(selectedFileName);
- updateWithFilePathSelection();
- }
- }
-
- /**
- * Get the current file path value
- *
- * @return the current file path value
- */
- protected String getFilePathValue() {
- return fFilePathCombo.getText().trim();
- }
-
- /**
- * Set the file path value
- *
- * @param value
- * file path value
- */
- protected void setFilePathValue(String value) {
- fFilePathCombo.setText(value);
- updatePageCompletion();
- }
-
- /**
- * Update the approximate size of the selected elements
- */
- protected void updateApproximateSelectedSize() {
- }
-
- /**
- * Get the element tree viewer
- *
- * @return the element tree viewer
- */
- protected CheckboxTreeViewer getElementViewer() {
- return fElementViewer;
- }
-
- /**
- * Get the file path combo box
- *
- * @return the file path combo box
- */
- protected Combo getFilePathCombo() {
- return fFilePathCombo;
- }
-
- /**
- * Get the object selection when the wizard was created
- *
- * @return the object selection
- */
- protected IStructuredSelection getSelection() {
- return fSelection;
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/wizards/tracepkg/ITracePackageConstants.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/wizards/tracepkg/ITracePackageConstants.java
deleted file mode 100644
index 640a6c6ec2..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/wizards/tracepkg/ITracePackageConstants.java
+++ /dev/null
@@ -1,76 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 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:
- * Marc-Andre Laperle - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.internal.tmf.ui.project.wizards.tracepkg;
-
-/**
- * Constants used in the trace package (XML attribute and element names, etc).
- *
- * @author Marc-Andre Laperle
- */
-public interface ITracePackageConstants {
-
- /**
- * The file name for the package manifest file
- */
- public static final String MANIFEST_FILENAME = "export-manifest.xml"; //$NON-NLS-1$
-
- /**
- * The root element of an export
- */
- public static final String TMF_EXPORT_ELEMENT = "tmf-export"; //$NON-NLS-1$
-
- /**
- * Element representing a single trace
- */
- public static final String TRACE_ELEMENT = "trace"; //$NON-NLS-1$
-
- /**
- * Attribute for the name of a trace
- */
- public static final String TRACE_NAME_ATTRIB = "name"; //$NON-NLS-1$
-
- /**
- * Attribute for the type of a trace
- */
- public static final String TRACE_TYPE_ATTRIB = "type"; //$NON-NLS-1$
-
- /**
- * Element representing a single supplementary file
- */
- public static final String SUPPLEMENTARY_FILE_ELEMENT = "supplementary-file"; //$NON-NLS-1$
-
- /**
- * Attribute for the name of a supplementary file
- */
- public static final String SUPPLEMENTARY_FILE_NAME_ATTRIB = "name"; //$NON-NLS-1$
-
- /**
- * Element representing a trace file or folder
- */
- public static final String TRACE_FILE_ELEMENT = "file"; //$NON-NLS-1$
-
- /**
- * Attribute for the name of the file
- */
- public static final String TRACE_FILE_NAME_ATTRIB = "name"; //$NON-NLS-1$
-
- /**
- * Element representing the bookmarks of a trace
- */
- public static final String BOOKMARKS_ELEMENT = "bookmarks"; //$NON-NLS-1$
-
- /**
- * Element representing a single bookmark of a trace
- */
- public static final String BOOKMARK_ELEMENT = "bookmark"; //$NON-NLS-1$
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/wizards/tracepkg/Messages.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/wizards/tracepkg/Messages.java
deleted file mode 100644
index 452b32cd28..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/wizards/tracepkg/Messages.java
+++ /dev/null
@@ -1,84 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 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:
- * Marc-Andre Laperle - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.internal.tmf.ui.project.wizards.tracepkg;
-
-import org.eclipse.osgi.util.NLS;
-
-/**
- * Messages common to trace package operations
- *
- * @author Marc-Andre Laperle
- */
-public class Messages extends NLS {
-
- private static final String BUNDLE_NAME = "org.eclipse.linuxtools.internal.tmf.ui.project.wizards.tracepkg.messages"; //$NON-NLS-1$
-
- /**
- * Text for supplementary files in the element viewer
- */
- public static String TracePackage_SupplementaryFiles;
-
- /**
- * Text for trace in the element viewer
- */
- public static String TracePackage_TraceElement;
-
- /**
- * Text for bookmarks in the element viewer
- */
- public static String TracePackage_Bookmarks;
-
- /**
- * Text for browse button in the wizard pages
- */
- public static String TracePackage_Browse;
-
- /**
- * Title for the file dialog
- */
- public static String TracePackage_FileDialogTitle;
-
- /**
- * Text for browse select all button in the wizard pages
- */
- public static String TracePackage_SelectAll;
-
- /**
- * Text for browse deselect all button in the wizard pages
- */
- public static String TracePackage_DeselectAll;
-
- /**
- * Generic error message for wizard operations
- */
- public static String TracePackage_ErrorOperation;
-
- /**
- * Generic error when multiple problems occur (MultiStatus)
- */
- public static String TracePackage_ErrorMultipleProblems;
-
- /**
- * Generic dialog message for error in wizard operations
- */
- public static String TracePackage_InternalErrorTitle;
-
- static {
- // initialize resource bundle
- NLS.initializeMessages(BUNDLE_NAME, Messages.class);
- }
-
- private Messages() {
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/wizards/tracepkg/TracePackageBookmarkElement.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/wizards/tracepkg/TracePackageBookmarkElement.java
deleted file mode 100644
index 65c374524d..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/wizards/tracepkg/TracePackageBookmarkElement.java
+++ /dev/null
@@ -1,66 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 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:
- * Marc-Andre Laperle - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.internal.tmf.ui.project.wizards.tracepkg;
-
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.linuxtools.internal.tmf.ui.Activator;
-import org.eclipse.swt.graphics.Image;
-
-/**
- * A trace package element representing the bookmarks of a trace
- *
- * @author Marc-Andre Laperle
- */
-public class TracePackageBookmarkElement extends TracePackageElement {
- private static final String BOOKMARK_IMAGE_PATH = "icons/elcl16/bookmark_obj.gif"; //$NON-NLS-1$
- private final List<Map<String, String>> bookmarkAttribs;
-
- /**
- * Construct a bookmark element containing all the bookmarks
- *
- * @param parent
- * the parent node
- * @param bookmarkAttribs
- * the bookmarks for the trace
- */
- public TracePackageBookmarkElement(TracePackageElement parent, List<Map<String, String>> bookmarkAttribs) {
- super(parent);
- this.bookmarkAttribs = bookmarkAttribs;
- }
-
- @Override
- public long getSize(boolean checkedOnly) {
- return 0;
- }
-
- @Override
- public String getText() {
- return Messages.TracePackage_Bookmarks;
- }
-
- @Override
- public Image getImage() {
- return Activator.getDefault().getImageFromImageRegistry(BOOKMARK_IMAGE_PATH);
- }
-
- /**
- * Get all the bookmarks
- *
- * @return the bookmarks
- */
- public List<Map<String, String>> getBookmarks() {
- return bookmarkAttribs;
- }
-} \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/wizards/tracepkg/TracePackageContentProvider.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/wizards/tracepkg/TracePackageContentProvider.java
deleted file mode 100644
index b71ff33004..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/wizards/tracepkg/TracePackageContentProvider.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013, 2014 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:
- * Marc-Andre Laperle - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.internal.tmf.ui.project.wizards.tracepkg;
-
-import org.eclipse.jface.viewers.ITreeContentProvider;
-import org.eclipse.jface.viewers.Viewer;
-
-/**
- * A content provider to display the content of a trace package in a tree
- *
- * @author Marc-Andre Laperle
- */
-public class TracePackageContentProvider implements ITreeContentProvider {
-
- @Override
- public void dispose() {
- }
-
- @Override
- public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
- }
-
- @Override
- public Object[] getElements(Object inputElement) {
- if (inputElement instanceof TracePackageElement[]) {
- return (TracePackageElement[]) inputElement;
- }
- return null;
- }
-
- @Override
- public Object[] getChildren(Object parentElement) {
- return ((TracePackageElement) parentElement).getVisibleChildren();
- }
-
- @Override
- public Object getParent(Object element) {
- return ((TracePackageElement) element).getParent();
- }
-
- @Override
- public boolean hasChildren(Object element) {
- TracePackageElement traceTransferElement = (TracePackageElement) element;
- TracePackageElement[] visibleChildren = traceTransferElement.getVisibleChildren();
- return visibleChildren != null && visibleChildren.length > 0;
- }
-
-} \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/wizards/tracepkg/TracePackageElement.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/wizards/tracepkg/TracePackageElement.java
deleted file mode 100644
index 484ee0d0b0..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/wizards/tracepkg/TracePackageElement.java
+++ /dev/null
@@ -1,222 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013, 2014 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:
- * Marc-Andre Laperle - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.internal.tmf.ui.project.wizards.tracepkg;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.ui.model.WorkbenchAdapter;
-
-/**
- * An ExportTraceElement represents an item in the ExportTraceWizard tree.
- *
- * @author Marc-Andre Laperle
- */
-public abstract class TracePackageElement extends WorkbenchAdapter {
- private final List<TracePackageElement> fChildren;
- private TracePackageElement fParent;
- private boolean fEnabled;
- private boolean fChecked;
- private boolean fVisible;
-
- /**
- *
- * @param parent
- * the parent of this element, can be set to null
- */
- public TracePackageElement(TracePackageElement parent) {
- fParent = parent;
- fEnabled = true;
- fVisible = true;
- fChildren = new ArrayList<>();
- if (parent != null) {
- parent.addChild(this);
- }
- }
-
- /**
- * Add a child at the end of the element's children list.
- *
- * @param child
- * the element to add as a child
- */
- public void addChild(TracePackageElement child) {
- child.setParent(this);
- fChildren.add(child);
- }
-
- /**
- * Insert a child at the specified position in the element's children list.
- *
- * @param index
- * the index at which the element is to be inserted
- * @param child
- * the element to insert as a child
- */
- public void addChild(int index, TracePackageElement child) {
- fChildren.add(index, child);
- child.setParent(this);
- }
-
- /**
- * Remove a child from the element's children list.
- *
- * @param child
- * the child to remove
- */
- public void removeChild(TracePackageElement child) {
- fChildren.remove(child);
- child.setParent(null);
- }
-
- /**
- * Returns the index of the specified child in the element's children list.
- *
- * @param child
- * the child to search for
- * @return the index of the child in the list, or -1 if not found
- */
- public int indexOf(TracePackageElement child) {
- return fChildren.indexOf(child);
- }
-
- /**
- * @return the parent of this element or null if there is no parent
- */
- public TracePackageElement getParent() {
- return fParent;
- }
-
- private void setParent(TracePackageElement parent) {
- fParent = parent;
- }
-
- /**
- * Get the text representation of this element to be displayed in the tree.
- *
- * @return the text representation
- */
- abstract public String getText();
-
- /**
- * Get the children of this element
- *
- * @return the children of this element
- */
- public TracePackageElement[] getChildren() {
- return fChildren.toArray(new TracePackageElement[fChildren.size()]);
- }
-
- /**
- * Get the visible children of this element
- *
- * @return the visible children of this element
- */
- public TracePackageElement[] getVisibleChildren() {
- List<TracePackageElement> visibleChildren = new ArrayList<>();
- for (TracePackageElement child : fChildren) {
- if (child.isVisible()) {
- visibleChildren.add(child);
- }
- }
- return visibleChildren.toArray(new TracePackageElement[0]);
- }
-
- /**
- * Get the total size of the element including its children
- *
- * @param checkedOnly
- * only count checked elements
- *
- * @return the total size of the element
- */
- public long getSize(boolean checkedOnly) {
- long size = 0;
- if (fChildren != null) {
- for (TracePackageElement child : fChildren) {
- size += child.getSize(checkedOnly);
- }
- }
-
- return size;
- }
-
- /**
- * Get the image representation of this element to be displayed in the tree.
- *
- * @return the image representation
- */
- public Image getImage() {
- return null;
- }
-
- /**
- * Returns whether or not the element is enabled (grayed and not
- * modifiable).
- *
- * @return whether or not the element is enabled
- */
- public boolean isEnabled() {
- return fEnabled;
- }
-
- /**
- * Returns whether or not the element is checked.
- *
- * @return whether or not the element is checked
- */
- public boolean isChecked() {
- return fChecked;
- }
-
- /**
- * Returns whether or not the element is visible.
- *
- * @return whether or not the element is visible
- */
- public boolean isVisible() {
- return fVisible;
- }
-
- /**
- * Sets whether or not the element should be enabled (grayed and not
- * modifiable).
- *
- * @param enabled
- * if the element should be enabled
- */
- public void setEnabled(boolean enabled) {
- fEnabled = enabled;
- }
-
- /**
- * Sets whether or not the element should be checked.
- *
- * @param checked
- * if the element should be checked
- */
- public void setChecked(boolean checked) {
- fChecked = checked;
- }
-
- /**
- * Sets whether or not the element is visible.
- *
- * @param visible
- * if the element should be visible
- */
- public void setVisible(boolean visible) {
- fVisible = visible;
- }
-} \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/wizards/tracepkg/TracePackageFilesElement.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/wizards/tracepkg/TracePackageFilesElement.java
deleted file mode 100644
index 7f686548d0..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/wizards/tracepkg/TracePackageFilesElement.java
+++ /dev/null
@@ -1,116 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 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:
- * Marc-Andre Laperle - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.internal.tmf.ui.project.wizards.tracepkg;
-
-import java.io.File;
-
-import org.eclipse.core.resources.IResource;
-import org.eclipse.linuxtools.internal.tmf.ui.Activator;
-import org.eclipse.swt.graphics.Image;
-
-/**
- * An ExportTraceElement representing the trace files of a trace.
- *
- * @author Marc-Andre Laperle
- */
-public class TracePackageFilesElement extends TracePackageElement {
-
- private static final String TRACE_ICON_PATH = "icons/elcl16/trace.gif"; //$NON-NLS-1$
- private String fFileName;
- private final IResource fResource;
- private long fSize = -1;
-
- /**
- * Constructs an instance of ExportTraceFilesElement when exporting
- *
- * @param parent
- * the parent of this element, can be set to null
- * @param resource
- * the resource representing the trace file or folder in the
- * workspace
- */
- public TracePackageFilesElement(TracePackageElement parent, IResource resource) {
- super(parent);
- fFileName = null;
- fResource = resource;
- }
-
- /**
- * Constructs an instance of ExportTraceFilesElement when importing
- *
- * @param parent
- * the parent of this element, can be set to null
- * @param fileName
- * the name of the file to be imported
- */
- public TracePackageFilesElement(TracePackageElement parent, String fileName) {
- super(parent);
- fFileName = fileName;
- fResource = null;
- }
-
- private long getSize(File file) {
- if (file.isDirectory()) {
- long size = 0;
- for (File f : file.listFiles()) {
- size += getSize(f);
- }
- return size;
- }
-
- return file.length();
- }
-
- @Override
- public long getSize(boolean checkedOnly) {
- if (checkedOnly && !isChecked()) {
- return 0;
- }
-
- if (fSize == -1 && fResource.exists()) {
- File file = fResource.getLocation().toFile();
- fSize = getSize(file);
- }
-
- return fSize;
- }
-
- @Override
- public String getText() {
- return Messages.TracePackage_TraceElement;
- }
-
- @Override
- public Image getImage() {
- return Activator.getDefault().getImageFromImageRegistry(TRACE_ICON_PATH);
- }
-
- /**
- * Get the file name for this trace file or folder
- *
- * @return the file name for this trace file or folder
- */
- public String getFileName() {
- return fFileName;
- }
-
- /**
- * Set the file name for this trace file or folder
- *
- * @param fileName the file name for this trace file or folder
- */
- public void setFileName(String fileName) {
- fFileName = fileName;
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/wizards/tracepkg/TracePackageLabelProvider.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/wizards/tracepkg/TracePackageLabelProvider.java
deleted file mode 100644
index e9b0f9886c..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/wizards/tracepkg/TracePackageLabelProvider.java
+++ /dev/null
@@ -1,69 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 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:
- * Marc-Andre Laperle - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.internal.tmf.ui.project.wizards.tracepkg;
-
-import org.eclipse.jface.viewers.ColumnLabelProvider;
-import org.eclipse.jface.viewers.ILabelProviderListener;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.widgets.Display;
-
-/**
- * A label provider for the export trace tree.
- *
- * @author Marc-Andre Laperle
- */
-public class TracePackageLabelProvider extends ColumnLabelProvider {
-
- @Override
- public void addListener(ILabelProviderListener listener) {
- }
-
- @Override
- public void dispose() {
- }
-
- @Override
- public boolean isLabelProperty(Object element, String property) {
- return false;
- }
-
- @Override
- public void removeListener(ILabelProviderListener listener) {
- }
-
- @Override
- public Image getImage(Object element) {
- return ((TracePackageElement) element).getImage();
- }
-
- @Override
- public String getText(Object element) {
- return ((TracePackageElement) element).getText();
- }
-
- @Override
- public Color getForeground(Object element) {
- if (!((TracePackageElement) element).isEnabled()) {
- return Display.getDefault().getSystemColor(SWT.COLOR_GRAY);
- }
- return null;
- }
-
- @Override
- public Color getBackground(Object element) {
- return null;
- }
-
-} \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/wizards/tracepkg/TracePackageSupplFileElement.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/wizards/tracepkg/TracePackageSupplFileElement.java
deleted file mode 100644
index a9091f7fc3..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/wizards/tracepkg/TracePackageSupplFileElement.java
+++ /dev/null
@@ -1,89 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 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:
- * Marc-Andre Laperle - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.internal.tmf.ui.project.wizards.tracepkg;
-
-import org.eclipse.core.resources.IResource;
-import org.eclipse.linuxtools.internal.tmf.ui.Activator;
-import org.eclipse.swt.graphics.Image;
-
-/**
- * A trace package element representing a single supplementary file
- *
- * @author Marc-Andre Laperle
- */
-public class TracePackageSupplFileElement extends TracePackageElement {
-
- private static final String SUPPL_FILE_ICON_PATH = "icons/obj16/thread_obj.gif"; //$NON-NLS-1$
-
- private final IResource fResource;
- private final String fSuppFileName;
-
- /**
- * Constructor used when exporting
- *
- * @param resource
- * the resource representing this supplementary file in the
- * workspace
- * @param parent
- * the parent element
- */
- public TracePackageSupplFileElement(IResource resource, TracePackageElement parent) {
- super(parent);
- fResource = resource;
- fSuppFileName = null;
- }
-
- /**
- * Constructor used when importing
- *
- * @param suppFileName
- * the name to be used for the supplementary file in the
- * workspace
- * @param parent
- * the parent element
- */
- public TracePackageSupplFileElement(String suppFileName, TracePackageElement parent) {
- super(parent);
- this.fSuppFileName = suppFileName;
- fResource = null;
- }
-
- /**
- * Get the resource corresponding to this supplementary file
- *
- * @return the resource corresponding to this supplementary file
- */
- public IResource getResource() {
- return fResource;
- }
-
- @Override
- public String getText() {
- return fResource != null ? fResource.getName() : fSuppFileName;
- }
-
- @Override
- public long getSize(boolean checkedOnly) {
- if (checkedOnly && !isChecked()) {
- return 0;
- }
-
- return fResource.getLocation().toFile().length();
- }
-
- @Override
- public Image getImage() {
- return Activator.getDefault().getImageFromImageRegistry(SUPPL_FILE_ICON_PATH);
- }
-
-} \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/wizards/tracepkg/TracePackageSupplFilesElement.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/wizards/tracepkg/TracePackageSupplFilesElement.java
deleted file mode 100644
index 70cb7c74da..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/wizards/tracepkg/TracePackageSupplFilesElement.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 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:
- * Marc-Andre Laperle - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.internal.tmf.ui.project.wizards.tracepkg;
-
-import org.eclipse.linuxtools.internal.tmf.ui.Activator;
-import org.eclipse.swt.graphics.Image;
-
-/**
- * A trace package element used for grouping supplementary file under a single
- * subtree
- *
- * @author Marc-Andre Laperle
- */
-public class TracePackageSupplFilesElement extends TracePackageElement {
-
- private static final String SUPPL_FILE_ICON_PATH = "icons/obj16/thread_obj.gif"; //$NON-NLS-1$
-
- /**
- * Construct a new TracePackageSupplFilesElement instance
- *
- * @param parent
- * the parent of this element, can be set to null
- */
- public TracePackageSupplFilesElement(TracePackageElement parent) {
- super(parent);
- }
-
- @Override
- public String getText() {
- return Messages.TracePackage_SupplementaryFiles;
- }
-
- @Override
- public Image getImage() {
- return Activator.getDefault().getImageFromImageRegistry(SUPPL_FILE_ICON_PATH);
- }
-} \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/wizards/tracepkg/TracePackageTraceElement.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/wizards/tracepkg/TracePackageTraceElement.java
deleted file mode 100644
index 2df8b74fa3..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/wizards/tracepkg/TracePackageTraceElement.java
+++ /dev/null
@@ -1,167 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 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:
- * Marc-Andre Laperle - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.internal.tmf.ui.project.wizards.tracepkg;
-
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.linuxtools.tmf.ui.project.model.TmfCommonProjectElement;
-import org.eclipse.linuxtools.tmf.ui.project.model.TmfNavigatorLabelProvider;
-import org.eclipse.linuxtools.tmf.ui.project.model.TmfTraceElement;
-import org.eclipse.swt.graphics.Image;
-
-/**
- * An ExportTraceElement associated to a TmfTraceElement. This will be the
- * parent of other elements (events, supplementary files, bookmarks, etc).
- *
- * @author Marc-Andre Laperle
- */
-public class TracePackageTraceElement extends TracePackageElement {
-
- private final TmfTraceElement fTraceElement;
- private String fImportName;
- private String fTraceType;
-
- /**
- * Construct an instance associated to a TmfTraceElement. For exporting.
- *
- * @param parent
- * the parent of this element, can be set to null
- * @param traceElement
- * the associated TmfTraceElement
- */
- public TracePackageTraceElement(TracePackageElement parent, TmfTraceElement traceElement) {
- super(parent);
- fTraceElement = traceElement;
- fImportName = null;
- fTraceType = null;
- }
-
- /**
- * Construct an instance associated to a TmfTraceElement. For importing.
- *
- * @param parent
- * the parent of this element, can be set to null
- * @param importName
- * the name to use to identify this trace
- * @param traceType
- * the trace type to set for this trace
- */
- public TracePackageTraceElement(TracePackageElement parent, String importName, String traceType) {
- super(parent);
- fImportName = importName;
- fTraceElement = null;
- fTraceType = traceType;
- }
-
- @Override
- public String getText() {
- return fTraceElement != null ? fTraceElement.getElementPath() : getDestinationElementPath();
- }
-
- /**
- * Return the target TmfCommonProjectElement element path for a given trace
- * package element. {@link TmfCommonProjectElement#getElementPath()}
- *
- * @return the element path
- */
- public String getDestinationElementPath() {
- String traceName = getImportName();
- for (TracePackageElement element : getChildren()) {
- if (element instanceof TracePackageFilesElement) {
- TracePackageFilesElement tracePackageFilesElement = (TracePackageFilesElement) element;
- String fileName = tracePackageFilesElement.getFileName();
- String parentDir = removeLastSegment(fileName);
- return append(parentDir, traceName);
- }
- }
-
- return traceName;
- }
-
- /**
- * We do this outside of the Path class because we don't want it to convert
- * \ to / on Windows in the presence of regular expressions
- */
- private static String removeLastSegment(String str) {
- String ret = removeAllTrailing(str, IPath.SEPARATOR);
- int lastIndexOf = ret.lastIndexOf(IPath.SEPARATOR);
- if (lastIndexOf != -1) {
- ret = ret.substring(0, lastIndexOf);
- ret = removeAllTrailing(ret, IPath.SEPARATOR);
- } else {
- ret = ""; //$NON-NLS-1$
- }
-
- return ret;
- }
-
- private static String removeAllTrailing(String str, char toRemove) {
- String ret = str;
- while (ret.endsWith(Character.toString(toRemove))) {
- ret = ret.substring(0, ret.length() - 1);
- }
- return ret;
- }
-
- private static String append(String path, String str) {
- if (!path.isEmpty()) {
- return path + IPath.SEPARATOR + str;
- }
-
- return str;
- }
-
- /**
- * @return the associated TmfTraceElement
- */
- public TmfTraceElement getTraceElement() {
- return fTraceElement;
- }
-
- /**
- * Set the import name.
- *
- * @param importName the import name.
- */
- public void setImportName(String importName) {
- fImportName = importName;
- }
-
- /**
- * @return the import name
- */
- public String getImportName() {
- return fImportName;
- }
-
- /**
- * @return the trace type of this trace
- */
- public String getTraceType() {
- return fTraceType;
- }
-
- /**
- * Set the trace type of this trace.
- *
- * @param traceType the trace type of this trace
- */
- public void setTraceType(String traceType) {
- fTraceType = traceType;
- }
-
- @Override
- public Image getImage() {
- TmfNavigatorLabelProvider tmfNavigatorLabelProvider = new TmfNavigatorLabelProvider();
- return tmfNavigatorLabelProvider.getImage(fTraceElement);
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/wizards/tracepkg/importexport/ExportTracePackageHandler.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/wizards/tracepkg/importexport/ExportTracePackageHandler.java
deleted file mode 100644
index f64a5169cb..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/wizards/tracepkg/importexport/ExportTracePackageHandler.java
+++ /dev/null
@@ -1,105 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013, 2014 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:
- * Marc-Andre Laperle - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.internal.tmf.ui.project.wizards.tracepkg.importexport;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.commands.AbstractHandler;
-import org.eclipse.core.commands.ExecutionEvent;
-import org.eclipse.core.commands.ExecutionException;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.jface.wizard.WizardDialog;
-import org.eclipse.linuxtools.tmf.ui.project.model.TmfProjectElement;
-import org.eclipse.linuxtools.tmf.ui.project.model.TmfTraceElement;
-import org.eclipse.linuxtools.tmf.ui.project.model.TmfTraceFolder;
-import org.eclipse.ui.ISources;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.handlers.HandlerUtil;
-
-/**
- * Handler for exporting a trace package
- *
- * @author Marc-Andre Laperle
- */
-public class ExportTracePackageHandler extends AbstractHandler {
-
- private boolean fEnabled = false;
-
- @Override
- public Object execute(ExecutionEvent event) throws ExecutionException {
- IWorkbenchWindow window = PlatformUI.getWorkbench().getActiveWorkbenchWindow();
- if (window == null) {
- return Boolean.FALSE;
- }
-
- ISelection currentSelection = HandlerUtil.getCurrentSelection(event);
- IStructuredSelection sec = StructuredSelection.EMPTY;
- List<TmfTraceElement> selectedTraces = new ArrayList<>();
- if (currentSelection instanceof IStructuredSelection) {
- sec = (IStructuredSelection) currentSelection;
- Object[] selectedElements = sec.toArray();
- for (Object selectedElement : selectedElements) {
- if (selectedElement instanceof TmfTraceElement) {
- TmfTraceElement tmfTraceElement = (TmfTraceElement) selectedElement;
- selectedTraces.add(tmfTraceElement.getElementUnderTraceFolder());
- } else if (selectedElement instanceof TmfTraceFolder) {
- TmfTraceFolder tmfTraceFolder = (TmfTraceFolder) selectedElement;
- selectedTraces = tmfTraceFolder.getTraces();
- }
- }
- }
-
- ExportTracePackageWizard w = new ExportTracePackageWizard(selectedTraces);
-
- w.init(PlatformUI.getWorkbench(), sec);
- WizardDialog dialog = new WizardDialog(window.getShell(), w);
- dialog.open();
- return null;
- }
-
- @Override
- public boolean isEnabled() {
- return super.isEnabled() && fEnabled;
- }
-
- @Override
- public void setEnabled(Object evaluationContext) {
- super.setEnabled(evaluationContext);
-
- fEnabled = true;
-
- Object s = HandlerUtil.getVariable(evaluationContext, ISources.ACTIVE_MENU_SELECTION_NAME);
- if (s instanceof IStructuredSelection) {
- IStructuredSelection selection = (IStructuredSelection) s;
- // If we have traces selected, make sure they are all from the same
- // project, disable handler otherwise
- Object[] selectedElements = selection.toArray();
- TmfProjectElement firstProject = null;
- for (Object selectedElement : selectedElements) {
- if (selectedElement instanceof TmfTraceElement) {
- TmfTraceElement tmfTraceElement = (TmfTraceElement) selectedElement;
- TmfProjectElement project = tmfTraceElement.getProject();
- if (firstProject != null && !project.equals(firstProject)) {
- fEnabled = false;
- }
-
- firstProject = project;
- }
- }
- }
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/wizards/tracepkg/importexport/ExportTracePackageSelectTraceWizardPage.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/wizards/tracepkg/importexport/ExportTracePackageSelectTraceWizardPage.java
deleted file mode 100644
index 8a6c190138..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/wizards/tracepkg/importexport/ExportTracePackageSelectTraceWizardPage.java
+++ /dev/null
@@ -1,218 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013, 2014 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:
- * Marc-Andre Laperle - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.internal.tmf.ui.project.wizards.tracepkg.importexport;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.jface.viewers.IStructuredContentProvider;
-import org.eclipse.jface.viewers.TableViewer;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.jface.wizard.WizardPage;
-import org.eclipse.linuxtools.tmf.ui.project.model.TmfNavigatorContentProvider;
-import org.eclipse.linuxtools.tmf.ui.project.model.TmfNavigatorLabelProvider;
-import org.eclipse.linuxtools.tmf.ui.project.model.TmfProjectElement;
-import org.eclipse.linuxtools.tmf.ui.project.model.TmfProjectRegistry;
-import org.eclipse.linuxtools.tmf.ui.project.model.TmfTraceElement;
-import org.eclipse.linuxtools.tmf.ui.project.model.TmfTraceFolder;
-import org.eclipse.linuxtools.tmf.ui.project.model.TraceUtils;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Table;
-import org.eclipse.swt.widgets.TableItem;
-import org.eclipse.ui.model.WorkbenchLabelProvider;
-
-/**
- * A wizard page for selecting the trace to export when no trace was previously
- * selected.
- *
- * @author Marc-Andre Laperle
- */
-public class ExportTracePackageSelectTraceWizardPage extends WizardPage {
-
- private static final String PAGE_NAME = "ExportTracePackageSelectTraceWizardPage"; //$NON-NLS-1$
-
- /**
- * Construct the select trace page
- */
- public ExportTracePackageSelectTraceWizardPage() {
- super(PAGE_NAME);
- }
-
- private IProject fSelectedProject;
- private Table fTraceTable;
-
- @Override
- public void createControl(Composite parent) {
- Composite projectSelectionGroup = new Composite(parent, SWT.NONE);
- projectSelectionGroup.setLayout(new GridLayout(2, true));
- projectSelectionGroup.setLayoutData(new GridData(GridData.FILL_BOTH));
- projectSelectionGroup.setFont(parent.getFont());
-
- Label projectLabel = new Label(projectSelectionGroup, SWT.NONE);
- projectLabel.setText(Messages.ExportTracePackageSelectTraceWizardPage_ProjectSelection);
- projectLabel.setLayoutData(new GridData());
-
- Label configLabel = new Label(projectSelectionGroup, SWT.NONE);
- configLabel.setText(Messages.ExportTracePackageSelectTraceWizardPage_TraceSelection);
- configLabel.setLayoutData(new GridData());
-
- final Table projectTable = new Table(projectSelectionGroup, SWT.SINGLE | SWT.BORDER);
- projectTable.setLayoutData(new GridData(GridData.FILL_BOTH));
-
- TableViewer projectViewer = new TableViewer(projectTable);
- projectViewer.setContentProvider(new TmfNavigatorContentProvider() {
-
- @Override
- public Object[] getElements(Object inputElement) {
- return (IProject[]) inputElement;
- }
- });
- projectViewer.setLabelProvider(new WorkbenchLabelProvider());
- projectViewer.setInput(TraceUtils.getOpenedTmfProjects().toArray(new IProject[] {}));
-
- fTraceTable = new Table(projectSelectionGroup, SWT.BORDER | SWT.CHECK);
- fTraceTable.setLayoutData(new GridData(GridData.FILL_BOTH));
-
- final TableViewer traceViewer = new TableViewer(fTraceTable);
- traceViewer.setContentProvider(new IStructuredContentProvider() {
- @Override
- public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
- }
-
- @Override
- public void dispose() {
- }
-
- @Override
- public Object[] getElements(Object inputElement) {
- if (inputElement instanceof TmfTraceElement[]) {
- return (TmfTraceElement[]) inputElement;
- }
- return null;
- }
- });
- traceViewer.setLabelProvider(new ExportLabelProvider());
- fTraceTable.addSelectionListener(new SelectionAdapter() {
- @Override
- public void widgetSelected(SelectionEvent e) {
- getWizard().getContainer().updateButtons();
- updateNextPageData();
- }
- });
-
- projectTable.addSelectionListener(new SelectionAdapter() {
- @Override
- public void widgetSelected(SelectionEvent e) {
- TableItem[] items = projectTable.getSelection();
- fSelectedProject = (IProject) items[0].getData();
-
- TmfProjectElement project = TmfProjectRegistry.getProject(fSelectedProject, true);
-
- TmfTraceFolder tracesFolder = project.getTracesFolder();
- List<TmfTraceElement> traces = tracesFolder.getTraces();
- TmfTraceElement[] array = traces.toArray(new TmfTraceElement[] {});
- traceViewer.setInput(array);
- traceViewer.refresh();
- fTraceTable.select(0);
- fTraceTable.notifyListeners(SWT.Selection, new Event());
- getWizard().getContainer().updateButtons();
- }
- });
-
- Composite btComp = new Composite(projectSelectionGroup, SWT.NONE);
- btComp.setLayout(new GridLayout(2, true));
- GridData gd = new GridData();
- gd.horizontalSpan = 2;
- gd.horizontalAlignment = SWT.RIGHT;
- btComp.setLayoutData(gd);
-
- final Button selectAll = new Button(btComp, SWT.PUSH);
- selectAll.setText(org.eclipse.linuxtools.internal.tmf.ui.project.dialogs.Messages.Dialog_SelectAll);
- selectAll.addSelectionListener(new SelectionAdapter() {
- @Override
- public void widgetSelected(SelectionEvent e) {
- TableItem[] items = fTraceTable.getItems();
- for (TableItem item : items) {
- item.setChecked(true);
- }
-
- getWizard().getContainer().updateButtons();
- updateNextPageData();
- }
- });
-
- final Button deselectAll = new Button(btComp, SWT.PUSH);
- deselectAll.setText(org.eclipse.linuxtools.internal.tmf.ui.project.dialogs.Messages.Dialog_DeselectAll);
- deselectAll.addSelectionListener(new SelectionAdapter() {
- @Override
- public void widgetSelected(SelectionEvent e) {
- TableItem[] items = fTraceTable.getItems();
- for (TableItem item : items) {
- item.setChecked(false);
- }
-
- getWizard().getContainer().updateButtons();
- updateNextPageData();
- }
- });
-
- setControl(projectSelectionGroup);
- setTitle(Messages.ExportTracePackageWizardPage_Title);
- setMessage(Messages.ExportTracePackageSelectTraceWizardPage_ChooseTrace);
- }
-
- private ArrayList<TmfTraceElement> getCheckedTraces() {
- TableItem[] items = fTraceTable.getItems();
- ArrayList<TmfTraceElement> traces = new ArrayList<>();
- for (TableItem item : items) {
- if (item.getChecked()) {
- TmfTraceElement trace = (TmfTraceElement) item.getData();
- traces.add(trace);
- }
- }
- return traces;
- }
-
- private void updateNextPageData() {
- ExportTracePackageWizardPage page = (ExportTracePackageWizardPage) getWizard().getPage(ExportTracePackageWizardPage.PAGE_NAME);
- page.setSelectedTraces(getCheckedTraces());
- }
-
- @Override
- public boolean canFlipToNextPage() {
- return getCheckedTraces().size() > 0;
- }
-
- private class ExportLabelProvider extends TmfNavigatorLabelProvider {
- @Override
- public String getText(Object element) {
-
- if (element instanceof TmfTraceElement) {
- TmfTraceElement folder = (TmfTraceElement) element;
- return folder.getElementPath();
- }
- return super.getText(element);
- }
- }
-
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/wizards/tracepkg/importexport/ExportTracePackageWizard.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/wizards/tracepkg/importexport/ExportTracePackageWizard.java
deleted file mode 100644
index 6a81ae5a84..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/wizards/tracepkg/importexport/ExportTracePackageWizard.java
+++ /dev/null
@@ -1,84 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 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:
- * Marc-Andre Laperle - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.internal.tmf.ui.project.wizards.tracepkg.importexport;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.jface.dialogs.IDialogSettings;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.wizard.Wizard;
-import org.eclipse.linuxtools.internal.tmf.ui.Activator;
-import org.eclipse.linuxtools.tmf.ui.project.model.TmfTraceElement;
-import org.eclipse.ui.IExportWizard;
-import org.eclipse.ui.IWorkbench;
-
-/**
- * Wizard for exporting a trace package
- *
- * @author Marc-Andre Laperle
- */
-public class ExportTracePackageWizard extends Wizard implements IExportWizard {
-
- private static final String STORE_EXPORT_TRACE_WIZARD = "ExportTraceWizard"; //$NON-NLS-1$
- private IStructuredSelection fSelection;
- private List<TmfTraceElement> fSelectedTraces;
- private ExportTracePackageWizardPage fPage;
-
- /**
- * Constructor for the export trace wizard
- */
- public ExportTracePackageWizard() {
- IDialogSettings workbenchSettings = Activator.getDefault().getDialogSettings();
- IDialogSettings section = workbenchSettings
- .getSection(STORE_EXPORT_TRACE_WIZARD);
- if (section == null) {
- section = workbenchSettings.addNewSection(STORE_EXPORT_TRACE_WIZARD);
- }
- setDialogSettings(section);
- fSelectedTraces = new ArrayList<>();
- }
-
- /**
- * Constructor for the export trace wizard with known selected traces
- *
- * @param selectedTraces
- * the selected traces
- */
- public ExportTracePackageWizard(List<TmfTraceElement> selectedTraces) {
- this();
- fSelectedTraces = selectedTraces;
- }
-
- @Override
- public void init(IWorkbench workbench, IStructuredSelection selection) {
- fSelection = selection;
-
- setNeedsProgressMonitor(true);
- }
-
- @Override
- public boolean performFinish() {
- return fPage.finish();
- }
-
- @Override
- public void addPages() {
- super.addPages();
- fPage = new ExportTracePackageWizardPage(fSelection, fSelectedTraces);
- if (fSelectedTraces.isEmpty()) {
- addPage(new ExportTracePackageSelectTraceWizardPage());
- }
- addPage(fPage);
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/wizards/tracepkg/importexport/ExportTracePackageWizardPage.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/wizards/tracepkg/importexport/ExportTracePackageWizardPage.java
deleted file mode 100644
index d071339ea5..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/wizards/tracepkg/importexport/ExportTracePackageWizardPage.java
+++ /dev/null
@@ -1,450 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 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:
- * Marc-Andre Laperle - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.internal.tmf.ui.project.wizards.tracepkg.importexport;
-
-import java.io.File;
-import java.lang.reflect.InvocationTargetException;
-import java.text.MessageFormat;
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.jface.dialogs.IDialogSettings;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.operation.IRunnableWithProgress;
-import org.eclipse.jface.viewers.CheckboxTreeViewer;
-import org.eclipse.jface.viewers.ColumnLabelProvider;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.TreeViewerColumn;
-import org.eclipse.linuxtools.internal.tmf.ui.Activator;
-import org.eclipse.linuxtools.internal.tmf.ui.project.wizards.tracepkg.AbstractTracePackageWizardPage;
-import org.eclipse.linuxtools.internal.tmf.ui.project.wizards.tracepkg.TracePackageBookmarkElement;
-import org.eclipse.linuxtools.internal.tmf.ui.project.wizards.tracepkg.TracePackageElement;
-import org.eclipse.linuxtools.internal.tmf.ui.project.wizards.tracepkg.TracePackageFilesElement;
-import org.eclipse.linuxtools.internal.tmf.ui.project.wizards.tracepkg.TracePackageLabelProvider;
-import org.eclipse.linuxtools.internal.tmf.ui.project.wizards.tracepkg.TracePackageSupplFileElement;
-import org.eclipse.linuxtools.internal.tmf.ui.project.wizards.tracepkg.TracePackageSupplFilesElement;
-import org.eclipse.linuxtools.internal.tmf.ui.project.wizards.tracepkg.TracePackageTraceElement;
-import org.eclipse.linuxtools.tmf.ui.project.model.TmfTraceElement;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.ModifyEvent;
-import org.eclipse.swt.events.ModifyListener;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.layout.RowLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Group;
-import org.eclipse.swt.widgets.Label;
-
-/**
- * Wizard page for the export trace package wizard
- *
- * @author Marc-Andre Laperle
- */
-public class ExportTracePackageWizardPage extends AbstractTracePackageWizardPage {
-
- private static final int CONTENT_COL_WIDTH = 300;
- private static final int SIZE_COL_WIDTH = 100;
-
- private static final String ZIP_EXTENSION = ".zip"; //$NON-NLS-1$
- private static final String TAR_EXTENSION = ".tar"; //$NON-NLS-1$
- private static final String TAR_GZ_EXTENSION = ".tar.gz"; //$NON-NLS-1$
- private static final String TGZ_EXTENSION = ".tgz"; //$NON-NLS-1$
-
- private static final String ICON_PATH = "icons/wizban/export_wiz.png"; //$NON-NLS-1$
-
- /**
- * The page name, can be referenced from other pages
- */
- public static final String PAGE_NAME = "ExportTracePackageWizardPage"; //$NON-NLS-1$
- // dialog store id constants
- private static final String STORE_COMPRESS_CONTENTS_ID = PAGE_NAME + ".STORE_COMPRESS_CONTENTS_ID"; //$NON-NLS-1$
- private static final String STORE_FORMAT_ID = PAGE_NAME + ".STORE_FORMAT_ID"; //$NON-NLS-1$
-
- private Button fCompressContentsCheckbox;
- private Button fZipFormatButton;
- private Button fTargzFormatButton;
- private Label fApproximateSizeLabel;
- private List<TmfTraceElement> fSelectedTraces;
-
- /**
- * Constructor for the export trace package wizard page
- *
- * @param selection
- * the current object selection
- * @param selectedTraces
- * the selected traces from the selection
- */
- public ExportTracePackageWizardPage(IStructuredSelection selection, List<TmfTraceElement> selectedTraces) {
- super(PAGE_NAME, Messages.ExportTracePackageWizardPage_Title, Activator.getDefault().getImageDescripterFromPath(ICON_PATH), selection);
- fSelectedTraces = selectedTraces;
- }
-
- /**
- * Set the selected trace from the previous page to be displayed in the
- * element viewer
- *
- * @param selectedTraces
- * the selected trace
- */
- public void setSelectedTraces(List<TmfTraceElement> selectedTraces) {
- if (!fSelectedTraces.containsAll(selectedTraces) || !selectedTraces.containsAll(fSelectedTraces)) {
- fSelectedTraces = selectedTraces;
- CheckboxTreeViewer elementViewer = getElementViewer();
- elementViewer.setInput(createElementViewerInput());
- elementViewer.expandToLevel(2);
- setAllChecked(elementViewer, false, true);
- updateApproximateSelectedSize();
- }
- }
-
- @Override
- public void createControl(Composite parent) {
-
- initializeDialogUnits(parent);
-
- Composite composite = new Composite(parent, SWT.NULL);
- composite.setLayout(new GridLayout());
- composite.setLayoutData(new GridData(GridData.VERTICAL_ALIGN_FILL | GridData.HORIZONTAL_ALIGN_FILL));
-
- createElementViewer(composite);
- createButtonsGroup(composite);
- createFilePathGroup(composite, Messages.ExportTracePackageWizardPage_ToArchive, SWT.SAVE);
- createOptionsGroup(composite);
-
- restoreWidgetValues();
- setMessage(Messages.ExportTracePackageWizardPage_ChooseContent);
-
- updateApproximateSelectedSize();
- updatePageCompletion();
-
- setControl(composite);
- }
-
- @Override
- public void setVisible(boolean visible) {
- super.setVisible(visible);
- if (visible) {
- updatePageCompletion();
- } else {
- setPageComplete(false);
- }
- }
-
- /**
- * Restore widget values to the values that they held last time this wizard
- * was used to completion.
- */
- @Override
- protected void restoreWidgetValues() {
- super.restoreWidgetValues();
-
- IDialogSettings settings = getDialogSettings();
- if (settings != null) {
- if (getFilePathCombo().getItemCount() > 0) {
- String item = getFilePathCombo().getItem(0);
- setFilePathValue(item);
- }
- fCompressContentsCheckbox.setSelection(settings.getBoolean(STORE_COMPRESS_CONTENTS_ID));
- fZipFormatButton.setSelection(settings.getBoolean(STORE_FORMAT_ID));
- fTargzFormatButton.setSelection(!settings.getBoolean(STORE_FORMAT_ID));
- updateWithFilePathSelection();
- }
- }
-
- @Override
- protected void createFilePathGroup(Composite parent, String label, int fileDialogStyle) {
- super.createFilePathGroup(parent, label, fileDialogStyle);
-
- getFilePathCombo().addModifyListener(new ModifyListener() {
- @Override
- public void modifyText(ModifyEvent e) {
- updatePageCompletion();
- }
- });
- }
-
- private void createOptionsGroup(Composite parent) {
- Group optionsGroup = new Group(parent, SWT.NONE);
- optionsGroup.setLayout(new RowLayout(SWT.VERTICAL));
- optionsGroup.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_FILL
- | GridData.GRAB_HORIZONTAL));
- optionsGroup.setText(Messages.ExportTracePackageWizardPage_Options);
-
- SelectionAdapter listener = new SelectionAdapter() {
- @Override
- public void widgetSelected(SelectionEvent e) {
- updateWithFilePathSelection();
- }
- };
-
- fZipFormatButton = new Button(optionsGroup, SWT.RADIO | SWT.LEFT);
- fZipFormatButton.setText(Messages.ExportTracePackageWizardPage_SaveInZipFormat);
- fZipFormatButton.setSelection(true);
- fZipFormatButton.addSelectionListener(listener);
-
- fTargzFormatButton = new Button(optionsGroup, SWT.RADIO | SWT.LEFT);
- fTargzFormatButton.setText(Messages.ExportTracePackageWizardPage_SaveInTarFormat);
- fTargzFormatButton.setSelection(false);
- fTargzFormatButton.addSelectionListener(listener);
-
- fCompressContentsCheckbox = new Button(optionsGroup, SWT.CHECK | SWT.LEFT);
- fCompressContentsCheckbox.setText(Messages.ExportTracePackageWizardPage_CompressContents);
- fCompressContentsCheckbox.setSelection(true);
- fCompressContentsCheckbox.addSelectionListener(listener);
- }
-
- @Override
- protected void createElementViewer(Composite parent) {
- super.createElementViewer(parent);
-
- CheckboxTreeViewer elementViewer = getElementViewer();
- elementViewer.getTree().setHeaderVisible(true);
- // Content column
- TreeViewerColumn column = new TreeViewerColumn(elementViewer, SWT.NONE);
- column.getColumn().setWidth(CONTENT_COL_WIDTH);
- column.getColumn().setText(Messages.ExportTracePackageWizardPage_ContentColumnName);
- column.setLabelProvider(new TracePackageLabelProvider());
-
- // Size column
- column = new TreeViewerColumn(elementViewer, SWT.NONE);
- column.getColumn().setWidth(SIZE_COL_WIDTH);
- column.getColumn().setText(Messages.ExportTracePackageWizardPage_SizeColumnName);
- column.setLabelProvider(new ColumnLabelProvider() {
- @Override
- public String getText(Object element) {
- TracePackageElement tracePackageElement = (TracePackageElement) element;
- long size = tracePackageElement.getSize(false);
- if (size == 0) {
- return null;
- }
- int level = 0;
- TracePackageElement curElement = tracePackageElement.getParent();
- while (curElement != null) {
- curElement = curElement.getParent();
- ++level;
- }
-
- return indent(getHumanReadable(size), level);
- }
-
- private String indent(String humanReadable, int level) {
- StringBuilder s = new StringBuilder(humanReadable);
- for (int i = 0; i < level; ++i) {
- final String indentStr = " "; //$NON-NLS-1$
- s.insert(0, indentStr);
- }
- return s.toString();
- }
- });
-
- elementViewer.setInput(createElementViewerInput());
- elementViewer.expandToLevel(2);
- setAllChecked(elementViewer, false, true);
- }
-
- @Override
- protected void updateApproximateSelectedSize() {
- long checkedSize = 0;
- TracePackageElement[] tracePackageElements = (TracePackageElement[]) getElementViewer().getInput();
- for (TracePackageElement element : tracePackageElements) {
- checkedSize += element.getSize(true);
- }
- checkedSize = Math.max(0, checkedSize);
- fApproximateSizeLabel.setText(MessageFormat.format(Messages.ExportTracePackageWizardPage_ApproximateSizeLbl, getHumanReadable(checkedSize)));
- }
-
- /**
- * Get the human readable string for a size in bytes. (KB, MB, etc).
- *
- * @param size
- * the size to print in human readable,
- * @return the human readable string
- */
- private static String getHumanReadable(long size) {
- String humanSuffix[] = { Messages.ExportTracePackageWizardPage_SizeByte, Messages.ExportTracePackageWizardPage_SizeKilobyte,
- Messages.ExportTracePackageWizardPage_SizeMegabyte, Messages.ExportTracePackageWizardPage_SizeGigabyte,
- Messages.ExportTracePackageWizardPage_SizeTerabyte };
- long curSize = size;
-
- int suffixIndex = 0;
- while (curSize >= 1024) {
- curSize /= 1024;
- ++suffixIndex;
- }
-
- return Long.toString(curSize) + " " + humanSuffix[suffixIndex]; //$NON-NLS-1$
- }
-
- @Override
- protected Object createElementViewerInput() {
- List<TracePackageTraceElement> traceElements = new ArrayList<>();
- for (TmfTraceElement tmfTraceElement : fSelectedTraces) {
- TracePackageTraceElement traceElement = new TracePackageTraceElement(null, tmfTraceElement);
-
- // Trace files
- List<TracePackageElement> children = new ArrayList<>();
- TracePackageFilesElement filesElement = new TracePackageFilesElement(traceElement, tmfTraceElement.getResource());
- filesElement.setChecked(true);
- children.add(filesElement);
-
- // Supplementary files
- IResource[] supplementaryResources = tmfTraceElement.getSupplementaryResources();
- List<TracePackageElement> suppFilesChildren = new ArrayList<>();
- TracePackageSupplFilesElement suppFilesElement = new TracePackageSupplFilesElement(traceElement);
- children.add(suppFilesElement);
- for (IResource res : supplementaryResources) {
- suppFilesChildren.add(new TracePackageSupplFileElement(res, suppFilesElement));
- }
-
- // Bookmarks
- IFile bookmarksFile = tmfTraceElement.getBookmarksFile();
- if (bookmarksFile != null && bookmarksFile.exists()) {
- IMarker[] findMarkers;
- try {
- findMarkers = bookmarksFile.findMarkers(IMarker.BOOKMARK, false, IResource.DEPTH_ZERO);
- if (findMarkers.length > 0) {
- children.add(new TracePackageBookmarkElement(traceElement, null));
- }
- } catch (CoreException e) {
- // Should not happen since we just checked bookmarksFile.exists() but log it just in case
- Activator.getDefault().logError("Error finding bookmarks", e); //$NON-NLS-1$
- }
- }
-
- traceElements.add(traceElement);
-
- }
-
- return traceElements.toArray(new TracePackageTraceElement[] {});
- }
-
- @Override
- protected final Composite createButtonsGroup(Composite parent) {
- Composite buttonGroup = super.createButtonsGroup(parent);
-
- // Add the label on the same row of the select/deselect all buttons
- fApproximateSizeLabel = new Label(buttonGroup, SWT.RIGHT);
- GridData layoutData = new GridData(GridData.FILL_HORIZONTAL);
- layoutData.grabExcessHorizontalSpace = true;
- fApproximateSizeLabel.setLayoutData(layoutData);
-
- return buttonGroup;
- }
-
- /**
- * Save widget values to Dialog settings
- */
- @Override
- protected void saveWidgetValues() {
- super.saveWidgetValues();
-
- IDialogSettings settings = getDialogSettings();
- if (settings != null) {
- settings.put(STORE_COMPRESS_CONTENTS_ID, fCompressContentsCheckbox.getSelection());
- settings.put(STORE_FORMAT_ID, fZipFormatButton.getSelection());
- }
- }
-
- private String getOutputExtension() {
- if (fZipFormatButton.getSelection()) {
- return ZIP_EXTENSION;
- } else if (fCompressContentsCheckbox.getSelection()) {
- return TAR_GZ_EXTENSION;
- } else {
- return TAR_EXTENSION;
- }
- }
-
- @Override
- protected void updateWithFilePathSelection() {
- String filePathValue = getFilePathValue();
- if (filePathValue.isEmpty()) {
- return;
- }
-
- filePathValue = stripKnownExtension(filePathValue);
- filePathValue = filePathValue.concat(getOutputExtension());
-
- setFilePathValue(filePathValue);
- }
-
- private static String stripKnownExtension(String str) {
- String ret = str;
- if (str.endsWith(TAR_GZ_EXTENSION)) {
- ret = ret.substring(0, ret.lastIndexOf(".")); //$NON-NLS-1$
- }
-
- if (ret.endsWith(ZIP_EXTENSION) | ret.endsWith(TAR_EXTENSION) | ret.endsWith(TGZ_EXTENSION)) {
- ret = ret.substring(0, ret.lastIndexOf(".")); //$NON-NLS-1$
- }
-
- return ret;
- }
-
- /**
- * Finish the wizard page
- *
- * @return true on success
- */
- public boolean finish() {
- if (!checkForOverwrite()) {
- return false;
- }
-
- saveWidgetValues();
-
- TracePackageTraceElement[] traceExportElements = (TracePackageTraceElement[]) getElementViewer().getInput();
- boolean useCompression = fCompressContentsCheckbox.getSelection();
- boolean useTar = fTargzFormatButton.getSelection();
- String fileName = getFilePathValue();
- final TracePackageExportOperation exporter = new TracePackageExportOperation(traceExportElements, useCompression, useTar, fileName);
-
- try {
- getContainer().run(true, true, new IRunnableWithProgress() {
-
- @Override
- public void run(IProgressMonitor monitor) throws InvocationTargetException, InterruptedException {
- exporter.run(monitor);
- }
- });
-
- IStatus status = exporter.getStatus();
- if (status.getSeverity() == IStatus.ERROR) {
- handleErrorStatus(status);
- }
-
- } catch (InvocationTargetException e) {
- handleError(org.eclipse.linuxtools.internal.tmf.ui.project.wizards.tracepkg.Messages.TracePackage_ErrorOperation, e);
- } catch (InterruptedException e) {
- }
-
- return exporter.getStatus().getSeverity() == IStatus.OK;
- }
-
- private boolean checkForOverwrite() {
- File file = new File(getFilePathValue());
- if (file.exists()) {
- return MessageDialog.openQuestion(getContainer().getShell(), null, Messages.ExportTracePackageWizardPage_AlreadyExitst);
- }
- return true;
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/wizards/tracepkg/importexport/ImportTracePackageHandler.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/wizards/tracepkg/importexport/ImportTracePackageHandler.java
deleted file mode 100644
index 4fd8d62adc..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/wizards/tracepkg/importexport/ImportTracePackageHandler.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013, 2014 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:
- * Marc-Andre Laperle - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.internal.tmf.ui.project.wizards.tracepkg.importexport;
-
-import org.eclipse.core.commands.AbstractHandler;
-import org.eclipse.core.commands.ExecutionEvent;
-import org.eclipse.core.commands.ExecutionException;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.jface.wizard.WizardDialog;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.handlers.HandlerUtil;
-
-/**
- * Handler for importing a trace package
- *
- * @author Marc-Andre Laperle
- */
-public class ImportTracePackageHandler extends AbstractHandler {
-
- @Override
- public Object execute(ExecutionEvent event) throws ExecutionException {
- ImportTracePackageWizard w = new ImportTracePackageWizard();
- IWorkbenchWindow window = PlatformUI.getWorkbench().getActiveWorkbenchWindow();
-
- if (window == null) {
- return Boolean.FALSE;
- }
-
- ISelection currentSelection = HandlerUtil.getCurrentSelection(event);
- IStructuredSelection sec = StructuredSelection.EMPTY;
- if (currentSelection instanceof IStructuredSelection) {
- sec = (IStructuredSelection) currentSelection;
- }
-
- w.init(PlatformUI.getWorkbench(), sec);
- WizardDialog dialog = new WizardDialog(window.getShell(), w);
- dialog.open();
- return null;
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/wizards/tracepkg/importexport/ImportTracePackageWizard.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/wizards/tracepkg/importexport/ImportTracePackageWizard.java
deleted file mode 100644
index 8acf158f8d..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/wizards/tracepkg/importexport/ImportTracePackageWizard.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 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:
- * Marc-Andre Laperle - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.internal.tmf.ui.project.wizards.tracepkg.importexport;
-
-import org.eclipse.jface.dialogs.IDialogSettings;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.wizard.Wizard;
-import org.eclipse.linuxtools.internal.tmf.ui.Activator;
-import org.eclipse.ui.IImportWizard;
-import org.eclipse.ui.IWorkbench;
-
-/**
- * Wizard for importing a trace package
- *
- * @author Marc-Andre Laperle
- */
-public class ImportTracePackageWizard extends Wizard implements IImportWizard {
-
- private static final String STORE_IMPORT_TRACE_PKG_WIZARD = "ImportTracePackageWizard"; //$NON-NLS-1$
- private IStructuredSelection fSelection;
- private ImportTracePackageWizardPage fPage;
-
- /**
- * Constructs the import trace package wizard
- */
- public ImportTracePackageWizard() {
- IDialogSettings workbenchSettings = Activator.getDefault().getDialogSettings();
- IDialogSettings section = workbenchSettings
- .getSection(STORE_IMPORT_TRACE_PKG_WIZARD);
- if (section == null) {
- section = workbenchSettings.addNewSection(STORE_IMPORT_TRACE_PKG_WIZARD);
- }
- setDialogSettings(section);
- }
-
- @Override
- public void init(IWorkbench workbench, IStructuredSelection selection) {
- fSelection = selection;
- setNeedsProgressMonitor(true);
- }
-
- @Override
- public boolean performFinish() {
- return fPage.finish();
- }
-
- @Override
- public void addPages() {
- super.addPages();
- fPage = new ImportTracePackageWizardPage(fSelection);
- addPage(fPage);
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/wizards/tracepkg/importexport/ImportTracePackageWizardPage.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/wizards/tracepkg/importexport/ImportTracePackageWizardPage.java
deleted file mode 100644
index 6787584d4e..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/wizards/tracepkg/importexport/ImportTracePackageWizardPage.java
+++ /dev/null
@@ -1,417 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013, 2014 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:
- * Marc-Andre Laperle - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.internal.tmf.ui.project.wizards.tracepkg.importexport;
-
-import java.io.File;
-import java.lang.reflect.InvocationTargetException;
-import java.text.MessageFormat;
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jface.dialogs.IDialogSettings;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.operation.IRunnableWithProgress;
-import org.eclipse.jface.viewers.CheckboxTreeViewer;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.linuxtools.internal.tmf.ui.Activator;
-import org.eclipse.linuxtools.internal.tmf.ui.project.wizards.tracepkg.AbstractTracePackageOperation;
-import org.eclipse.linuxtools.internal.tmf.ui.project.wizards.tracepkg.AbstractTracePackageWizardPage;
-import org.eclipse.linuxtools.internal.tmf.ui.project.wizards.tracepkg.TracePackageElement;
-import org.eclipse.linuxtools.internal.tmf.ui.project.wizards.tracepkg.TracePackageFilesElement;
-import org.eclipse.linuxtools.internal.tmf.ui.project.wizards.tracepkg.TracePackageTraceElement;
-import org.eclipse.linuxtools.tmf.core.TmfCommonConstants;
-import org.eclipse.linuxtools.tmf.ui.project.model.TmfProjectRegistry;
-import org.eclipse.linuxtools.tmf.ui.project.model.TmfTraceFolder;
-import org.eclipse.linuxtools.tmf.ui.project.model.TraceUtils;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.events.TraverseEvent;
-import org.eclipse.swt.events.TraverseListener;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Combo;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Listener;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.ui.dialogs.ElementListSelectionDialog;
-import org.eclipse.ui.model.WorkbenchLabelProvider;
-
-/**
- * Wizard page for the import trace package wizard
- *
- * @author Marc-Andre Laperle
- */
-public class ImportTracePackageWizardPage extends AbstractTracePackageWizardPage {
-
- private static final String ICON_PATH = "icons/wizban/trace_import_wiz.png"; //$NON-NLS-1$
- private static final String PAGE_NAME = "ImportTracePackagePage"; //$NON-NLS-1$
- private static final String STORE_PROJECT_NAME_ID = PAGE_NAME + ".STORE_PROJECT_NAME_ID"; //$NON-NLS-1$
-
- private String fValidatedFilePath;
- private TmfTraceFolder fTmfTraceFolder;
- private Text fProjectText;
- private List<IProject> fOpenedTmfProjects;
-
- /**
- * Constructor for the import trace package wizard page
- *
- * @param selection
- * the current object selection
- */
- public ImportTracePackageWizardPage(IStructuredSelection selection) {
- super(PAGE_NAME, Messages.ImportTracePackageWizardPage_Title, Activator.getDefault().getImageDescripterFromPath(ICON_PATH), selection);
-
- if (getSelection().getFirstElement() instanceof TmfTraceFolder) {
- fTmfTraceFolder = (TmfTraceFolder) getSelection().getFirstElement();
- }
- }
-
- @Override
- public void createControl(Composite parent) {
- initializeDialogUnits(parent);
-
- Composite composite = new Composite(parent, SWT.NULL);
- composite.setLayout(new GridLayout());
- composite.setLayoutData(new GridData(GridData.VERTICAL_ALIGN_FILL
- | GridData.HORIZONTAL_ALIGN_FILL));
- composite.setFont(parent.getFont());
-
- createFilePathGroup(composite, Messages.ImportTracePackageWizardPage_FromArchive, SWT.OPEN);
- createElementViewer(composite);
- createButtonsGroup(composite);
- if (fTmfTraceFolder == null) {
- createProjectSelectionGroup(composite);
- }
-
- restoreWidgetValues();
- setMessage(Messages.ImportTracePackageWizardPage_Message);
- updatePageCompletion();
-
- setControl(composite);
- }
-
- private void createProjectSelectionGroup(Composite parent) {
-
- Composite projectSelectionGroup = new Composite(parent, SWT.NONE);
- GridLayout layout = new GridLayout();
- layout.numColumns = 3;
- projectSelectionGroup.setLayout(layout);
- projectSelectionGroup.setLayoutData(new GridData(
- GridData.HORIZONTAL_ALIGN_FILL | GridData.VERTICAL_ALIGN_FILL));
-
- Label projectLabel = new Label(projectSelectionGroup, SWT.NONE);
- projectLabel.setText(Messages.ImportTracePackageWizardPage_Project);
-
- fProjectText = new Text(projectSelectionGroup, SWT.BORDER | SWT.SINGLE | SWT.READ_ONLY);
- GridData data = new GridData(GridData.HORIZONTAL_ALIGN_FILL
- | GridData.GRAB_HORIZONTAL);
- data.grabExcessHorizontalSpace = true;
- fProjectText.setLayoutData(data);
-
- fOpenedTmfProjects = TraceUtils.getOpenedTmfProjects();
-
- // No project to import to, create a default project if it doesn't exist
- if (fOpenedTmfProjects.isEmpty()) {
- IProject defaultProject = ResourcesPlugin.getWorkspace().getRoot().getProject(TmfCommonConstants.DEFAULT_TRACE_PROJECT_NAME);
- if (!defaultProject.exists()) {
- IProject project = TmfProjectRegistry.createProject(TmfCommonConstants.DEFAULT_TRACE_PROJECT_NAME, null, null);
- fOpenedTmfProjects.add(project);
- }
- }
-
- if (!fOpenedTmfProjects.isEmpty()) {
- selectProject(fOpenedTmfProjects.get(0));
- }
-
- Button button = new Button(projectSelectionGroup,
- SWT.PUSH);
- button.setText(Messages.ImportTracePackageWizardPage_SelectProjectButton);
- button.addListener(SWT.Selection, new Listener() {
- @Override
- public void handleEvent(Event event) {
- ElementListSelectionDialog d = new ElementListSelectionDialog(getContainer().getShell(), new WorkbenchLabelProvider());
-
- d.setBlockOnOpen(true);
- d.setTitle(Messages.ImportTracePackageWizardPage_SelectProjectDialogTitle);
-
- d.setElements(fOpenedTmfProjects.toArray(new IProject[] {}));
-
- d.open();
- if (d.getFirstResult() != null) {
- IProject project = (IProject) d.getFirstResult();
- selectProject(project);
- }
- }
- });
- setButtonLayoutData(button);
- }
-
- @Override
- protected void restoreWidgetValues() {
- super.restoreWidgetValues();
- IDialogSettings settings = getDialogSettings();
- if (settings != null && fProjectText != null) {
-
- // Restore last selected project
- String projectName = settings.get(STORE_PROJECT_NAME_ID);
- if (projectName != null && !projectName.isEmpty()) {
- for (IProject project : fOpenedTmfProjects) {
- if (project.getName().equals(projectName)) {
- selectProject(project);
- break;
- }
- }
- }
- }
- }
-
- @Override
- protected void saveWidgetValues() {
- super.saveWidgetValues();
-
- IDialogSettings settings = getDialogSettings();
- if (settings != null) {
- settings.put(STORE_PROJECT_NAME_ID, fTmfTraceFolder.getProject().getResource().getName());
- }
- }
-
- private void selectProject(IProject project) {
- fProjectText.setText(project.getName());
- fTmfTraceFolder = TmfProjectRegistry.getProject(project, true).getTracesFolder();
- updatePageCompletion();
- }
-
- @Override
- protected boolean determinePageCompletion() {
- return super.determinePageCompletion() && fTmfTraceFolder != null;
- }
-
- /**
- * Create the operation that will be responsible of creating the manifest
- * based on the file name.
- *
- * @param fileName the file name to generate the manifest from
- *
- * @return the operation that will extract the manifest
- */
- protected AbstractTracePackageOperation createExtractManifestOperation(String fileName) {
- return new TracePackageExtractManifestOperation(fileName);
- }
-
- @Override
- protected Object createElementViewerInput() {
-
- final AbstractTracePackageOperation op = createExtractManifestOperation(getFilePathValue());
-
- try {
- getContainer().run(true, true, new IRunnableWithProgress() {
-
- @Override
- public void run(IProgressMonitor monitor) throws InvocationTargetException, InterruptedException {
- monitor.beginTask(Messages.ImportTracePackageWizardPage_ReadingPackage, 10);
- op.run(monitor);
- monitor.done();
- }
-
- });
-
- IStatus status = op.getStatus();
- if (status.getSeverity() == IStatus.ERROR) {
- handleErrorStatus(status);
- }
- } catch (InvocationTargetException e1) {
- handleError(Messages.TracePackageExtractManifestOperation_ErrorReadingManifest, e1);
- } catch (InterruptedException e1) {
- // Canceled
- }
-
- TracePackageElement[] resultElements = op.getResultElements();
- if (resultElements == null || resultElements.length == 0) {
- return null;
- }
-
- return resultElements;
- }
-
- @Override
- protected void createFilePathGroup(Composite parent, String label, int fileDialogStyle) {
- super.createFilePathGroup(parent, label, fileDialogStyle);
-
- Combo filePathCombo = getFilePathCombo();
- filePathCombo.addSelectionListener(new SelectionAdapter() {
- @Override
- public void widgetSelected(SelectionEvent e) {
- updateWithFilePathSelection();
- }
- });
-
- // User can type-in path and press return to validate
- filePathCombo.addTraverseListener(new TraverseListener() {
- @Override
- public void keyTraversed(TraverseEvent e) {
- if (e.detail == SWT.TRAVERSE_RETURN) {
- e.doit = false;
- updateWithFilePathSelection();
- }
- }
- });
- }
-
- @Override
- protected void updateWithFilePathSelection() {
- if (!isFilePathValid()) {
- setErrorMessage(Messages.ImportTracePackageWizardPage_ErrorFileNotFound);
- getElementViewer().setInput(null);
- return;
- }
- setErrorMessage(null);
-
- getContainer().getShell().getDisplay().asyncExec(new Runnable() {
- @Override
- public void run() {
- CheckboxTreeViewer elementViewer = getElementViewer();
- Object elementViewerInput = createElementViewerInput();
- elementViewer.setInput(elementViewerInput);
- if (elementViewerInput != null) {
- elementViewer.expandToLevel(2);
- setAllChecked(elementViewer, false, true);
- fValidatedFilePath = getFilePathValue();
- }
-
- updatePageCompletion();
- }
- });
- }
-
- private boolean isFilePathValid() {
- return new File(getFilePathValue()).exists();
- }
-
- /**
- * Finish the wizard page
- *
- * @return true on success
- */
- public boolean finish() {
- if (!checkForOverwrite()) {
- return false;
- }
-
- saveWidgetValues();
-
- Object input = getElementViewer().getInput();
- TracePackageElement[] traceElements = (TracePackageElement[]) input;
- final TracePackageImportOperation importOperation = new TracePackageImportOperation(fValidatedFilePath, traceElements, fTmfTraceFolder);
-
- try {
- getContainer().run(true, true, new IRunnableWithProgress() {
- @Override
- public void run(IProgressMonitor monitor) throws InvocationTargetException, InterruptedException {
- importOperation.run(monitor);
- }
- });
-
- IStatus status = importOperation.getStatus();
- if (status.getSeverity() == IStatus.ERROR) {
- handleErrorStatus(status);
- }
-
- } catch (InvocationTargetException e) {
- handleError(Messages.ImportTracePackageWizardPage_ErrorOperation, e);
- } catch (InterruptedException e) {
- }
-
- return importOperation.getStatus().getSeverity() == IStatus.OK;
- }
-
- private boolean checkForOverwrite() {
- TracePackageElement[] traceElements = (TracePackageElement[]) getElementViewer().getInput();
- List<TracePackageTraceElement> noImportTraces = new ArrayList<>();
- boolean noToAll = false;
- for (TracePackageElement packageElement : traceElements) {
- TracePackageTraceElement traceElement = (TracePackageTraceElement) packageElement;
- if (!AbstractTracePackageOperation.isFilesChecked(traceElement)) {
- continue;
- }
-
- if (noToAll) {
- noImportTraces.add(traceElement);
- continue;
- }
-
- if (traceExists(traceElement)) {
- int returnCode = promptForOverwrite(traceElement.getDestinationElementPath());
- // The return code is an index to a button in the dialog but the
- // 'X' button in the window corner is not considered a button
- // therefore it returns -1 and unfortunately, there is no
- // constant for that.
- if (returnCode < 0) {
- return false;
- }
-
- final String[] response = new String[] { IDialogConstants.NO_TO_ALL_LABEL, IDialogConstants.NO_LABEL, IDialogConstants.YES_TO_ALL_LABEL, IDialogConstants.YES_LABEL };
- if (response[returnCode].equals(IDialogConstants.YES_TO_ALL_LABEL)) {
- break;
- } else if (response[returnCode].equals(IDialogConstants.NO_TO_ALL_LABEL)) {
- noToAll = true;
- noImportTraces.add(traceElement);
- } else if (response[returnCode].equals(IDialogConstants.NO_LABEL)) {
- noImportTraces.add(traceElement);
- }
- }
- }
-
- // Unselect the traces that the user decided not to import
- for (TracePackageTraceElement t : noImportTraces) {
- for (TracePackageElement e : t.getChildren()) {
- if (e instanceof TracePackageFilesElement) {
- ((TracePackageFilesElement) e).setChecked(false);
- }
- }
- }
-
- return true;
- }
-
- private boolean traceExists(TracePackageTraceElement traceElement) {
- IResource traceRes = fTmfTraceFolder.getResource().findMember(traceElement.getDestinationElementPath());
- return traceRes != null;
- }
-
- private int promptForOverwrite(String traceName) {
- final MessageDialog dialog = new MessageDialog(getContainer()
- .getShell(), null, null, MessageFormat.format(Messages.ImportTracePackageWizardPage_AlreadyExists, traceName),
- MessageDialog.QUESTION, new String[] {
- IDialogConstants.NO_TO_ALL_LABEL,
- IDialogConstants.NO_LABEL,
- IDialogConstants.YES_TO_ALL_LABEL,
- IDialogConstants.YES_LABEL,
- }, 3) {
- @Override
- protected int getShellStyle() {
- return super.getShellStyle() | SWT.SHEET;
- }
- };
- return dialog.open();
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/wizards/tracepkg/importexport/ManifestReader.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/wizards/tracepkg/importexport/ManifestReader.java
deleted file mode 100644
index f1044aed94..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/wizards/tracepkg/importexport/ManifestReader.java
+++ /dev/null
@@ -1,192 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013, 2014 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:
- * Marc-Andre Laperle - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.internal.tmf.ui.project.wizards.tracepkg.importexport;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.net.URL;
-import java.text.MessageFormat;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import javax.xml.XMLConstants;
-import javax.xml.parsers.DocumentBuilderFactory;
-import javax.xml.parsers.ParserConfigurationException;
-import javax.xml.transform.stream.StreamSource;
-import javax.xml.validation.Schema;
-import javax.xml.validation.SchemaFactory;
-import javax.xml.validation.Validator;
-
-import org.eclipse.core.runtime.FileLocator;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.linuxtools.internal.tmf.ui.Activator;
-import org.eclipse.linuxtools.internal.tmf.ui.project.wizards.tracepkg.ITracePackageConstants;
-import org.eclipse.linuxtools.internal.tmf.ui.project.wizards.tracepkg.TracePackageBookmarkElement;
-import org.eclipse.linuxtools.internal.tmf.ui.project.wizards.tracepkg.TracePackageElement;
-import org.eclipse.linuxtools.internal.tmf.ui.project.wizards.tracepkg.TracePackageFilesElement;
-import org.eclipse.linuxtools.internal.tmf.ui.project.wizards.tracepkg.TracePackageSupplFileElement;
-import org.eclipse.linuxtools.internal.tmf.ui.project.wizards.tracepkg.TracePackageSupplFilesElement;
-import org.eclipse.linuxtools.internal.tmf.ui.project.wizards.tracepkg.TracePackageTraceElement;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.NamedNodeMap;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-import org.xml.sax.SAXException;
-
-/**
- * Reads a manifest from an input stream
- *
- * @author Marc-Andre Laperle
- */
-public class ManifestReader {
-
- private static final String SCHEMA_FOLDER_NAME = "schema"; //$NON-NLS-1$
- private static final String EXPORT_MANIFEST_SCHEMA_FILE_NAME = "export-manifest.xsd"; //$NON-NLS-1$
- private static final TracePackageElement [] EMPTY_ARRAY = new TracePackageElement[0];
-
- /**
- * Validate the content of a manifest from an input stream
- *
- * @param input the input stream to validate from
- * @throws IOException on error
- */
- public static void validateManifest(InputStream input) throws IOException
- {
- URL schemaFileUrl = FileLocator.find(Activator.getDefault().getBundle(), new Path(SCHEMA_FOLDER_NAME).append(EXPORT_MANIFEST_SCHEMA_FILE_NAME), null);
- if (schemaFileUrl == null) {
- throw new IOException(MessageFormat.format(Messages.TracePackageExtractManifestOperation_SchemaFileNotFound, EXPORT_MANIFEST_SCHEMA_FILE_NAME));
- }
-
- try {
- SchemaFactory factory = SchemaFactory.newInstance(XMLConstants.W3C_XML_SCHEMA_NS_URI);
- Schema schema = factory.newSchema(new StreamSource(schemaFileUrl.openStream()));
- Validator validator = schema.newValidator();
- validator.validate(new StreamSource(input));
- } catch (SAXException e) {
- throw new IOException(Messages.TracePackageExtractManifestOperation_ErrorManifestNotValid, e);
- } catch (IOException e) {
- throw new IOException(Messages.TracePackageExtractManifestOperation_ErrorManifestNotValid, e);
- }
- }
-
- /**
- * Load package elements from a manifest (input stream)
- *
- * The manifest looks like this:
- *
- * <?xml version="1.0" encoding="UTF-8" standalone="no"?>
- * <tmf-export>
- * <trace name="trace2" type="org.eclipse.linuxtools.lttng2.kernel.tracetype">
- * <file name="Traces/trace2"/> <supplementary-file name=".tracing/trace2/stateHistory.ht"/>
- * <bookmarks>
- * <bookmark location="4" message= "15:50:47.314 069 885, channel0_0, sys_recvmsg, fd=16, msg=0x7faada7d1ae0, flags=256" />
- * </bookmarks>
- * </trace>
- * </tmf-export>
- *
- * See schema/export-manifest.xsd for details.
- *
- * @param inputStream
- * the input stream that contains the manifest
- * @return the loaded elements
- * @throws IOException
- * when an error occurs when parsing
- * @throws SAXException
- * when an error occurs when parsing
- * @throws ParserConfigurationException
- * when an error occurs when parsing
- */
- public static TracePackageElement[] loadElementsFromManifest(InputStream inputStream) throws IOException, SAXException, ParserConfigurationException {
-
- Document doc = DocumentBuilderFactory.newInstance().newDocumentBuilder().parse(inputStream);
- Element rootElement = doc.getDocumentElement();
- return loadElementsFromNode(rootElement);
- }
-
- /**
- * Load package elements from a manifest (XML element)
- *
- * @param rootElement
- * the root element to start loading from
- * @return the loaded elements
- */
- public static TracePackageElement[] loadElementsFromNode(Element rootElement) {
- List<TracePackageElement> packageElements = new ArrayList<>();
- NodeList traceElements = rootElement.getElementsByTagName(ITracePackageConstants.TRACE_ELEMENT);
- for (int i = 0; i < traceElements.getLength(); i++) {
- Node traceNode = traceElements.item(i);
- if (traceNode.getNodeType() == Node.ELEMENT_NODE) {
- Element traceElement = (Element) traceNode;
- String traceName = traceElement.getAttribute(ITracePackageConstants.TRACE_NAME_ATTRIB);
- String traceType = traceElement.getAttribute(ITracePackageConstants.TRACE_TYPE_ATTRIB);
- TracePackageElement element = new TracePackageTraceElement(null, traceName, traceType);
- NodeList fileElements = traceElement.getElementsByTagName(ITracePackageConstants.TRACE_FILE_ELEMENT);
- for (int j = 0; j < fileElements.getLength(); j++) {
- Node fileNode = fileElements.item(j);
- if (fileNode.getNodeType() == Node.ELEMENT_NODE) {
- Element fileElement = (Element) fileNode;
- String fileName = fileElement.getAttribute(ITracePackageConstants.TRACE_FILE_NAME_ATTRIB);
- new TracePackageFilesElement(element, fileName);
- }
- }
-
- // Supplementary files
- NodeList suppFilesElements = traceElement.getElementsByTagName(ITracePackageConstants.SUPPLEMENTARY_FILE_ELEMENT);
- if (suppFilesElements.getLength() > 0) {
- TracePackageSupplFilesElement supplFilesElement = new TracePackageSupplFilesElement(element);
- for (int j = 0; j < suppFilesElements.getLength(); j++) {
- Node suppFileNode = suppFilesElements.item(j);
- if (suppFileNode.getNodeType() == Node.ELEMENT_NODE) {
- Element suppFileElement = (Element) suppFileNode;
- String fileName = suppFileElement.getAttribute(ITracePackageConstants.SUPPLEMENTARY_FILE_NAME_ATTRIB);
- new TracePackageSupplFileElement(fileName, supplFilesElement);
- }
- }
- }
-
- // bookmarks
- List<Map<String, String>> bookmarkAttribs = new ArrayList<>();
- NodeList bookmarksElements = traceElement.getElementsByTagName(ITracePackageConstants.BOOKMARKS_ELEMENT);
- for (int j = 0; j < bookmarksElements.getLength(); j++) {
- Node bookmarksNode = bookmarksElements.item(j);
- if (bookmarksNode.getNodeType() == Node.ELEMENT_NODE) {
- NodeList bookmarkElements = traceElement.getElementsByTagName(ITracePackageConstants.BOOKMARK_ELEMENT);
- for (int k = 0; k < bookmarkElements.getLength(); k++) {
- Node bookmarkNode = bookmarkElements.item(k);
- if (bookmarkNode.getNodeType() == Node.ELEMENT_NODE) {
- Element bookmarkElement = (Element) bookmarkNode;
- NamedNodeMap attributesMap = bookmarkElement.getAttributes();
- Map<String, String> attribs = new HashMap<>();
- for (int l = 0; l < attributesMap.getLength(); l++) {
- Node item = attributesMap.item(l);
- attribs.put(item.getNodeName(), item.getNodeValue());
- }
- bookmarkAttribs.add(attribs);
- }
- }
- }
- }
- if (!bookmarkAttribs.isEmpty()) {
- new TracePackageBookmarkElement(element, bookmarkAttribs);
- }
-
- packageElements.add(element);
- }
- }
- return packageElements.toArray(EMPTY_ARRAY);
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/wizards/tracepkg/importexport/Messages.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/wizards/tracepkg/importexport/Messages.java
deleted file mode 100644
index f8a6f0bf4e..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/wizards/tracepkg/importexport/Messages.java
+++ /dev/null
@@ -1,239 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 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:
- * Marc-Andre Laperle - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.internal.tmf.ui.project.wizards.tracepkg.importexport;
-
-import org.eclipse.osgi.util.NLS;
-
-/**
- * Messages for the trace package export wizard
- *
- * @author Marc-Andre Laperle
- */
-public class Messages extends NLS {
- private static final String BUNDLE_NAME = "org.eclipse.linuxtools.internal.tmf.ui.project.wizards.tracepkg.importexport.messages"; //$NON-NLS-1$
-
- /**
- * The message under the select trace wizard page title
- */
- public static String ExportTracePackageSelectTraceWizardPage_ChooseTrace;
-
- /**
- * The description of the project selection list
- */
- public static String ExportTracePackageSelectTraceWizardPage_ProjectSelection;
-
- /**
- * The description of the trace selection list
- */
- public static String ExportTracePackageSelectTraceWizardPage_TraceSelection;
-
- /**
- * Dialog text when target file already exists
- */
- public static String ExportTracePackageWizardPage_AlreadyExitst;
-
- /**
- * The approximate size label
- */
- public static String ExportTracePackageWizardPage_ApproximateSizeLbl;
-
- /**
- * The message under the wizard page title
- */
- public static String ExportTracePackageWizardPage_ChooseContent;
-
- /**
- * Text for the compress contents checkbox
- */
- public static String ExportTracePackageWizardPage_CompressContents;
-
- /**
- * Text for the first column (content)
- */
- public static String ExportTracePackageWizardPage_ContentColumnName;
-
- /**
- * Text for the options group
- */
- public static String ExportTracePackageWizardPage_Options;
-
- /**
- * Text for the tar format option
- */
- public static String ExportTracePackageWizardPage_SaveInTarFormat;
-
- /**
- * Text for the zip format option
- */
- public static String ExportTracePackageWizardPage_SaveInZipFormat;
-
- /**
- * Byte units
- */
- public static String ExportTracePackageWizardPage_SizeByte;
-
- /**
- * Text for the second column (size)
- */
- public static String ExportTracePackageWizardPage_SizeColumnName;
-
- /**
- * Gigabyte units
- */
- public static String ExportTracePackageWizardPage_SizeGigabyte;
-
- /**
- * Kilobyte units
- */
- public static String ExportTracePackageWizardPage_SizeKilobyte;
-
- /**
- * Megabyte units
- */
- public static String ExportTracePackageWizardPage_SizeMegabyte;
-
- /**
- * Terabyte units
- */
- public static String ExportTracePackageWizardPage_SizeTerabyte;
-
- /**
- * Title for the wizard page
- */
- public static String ExportTracePackageWizardPage_Title;
-
- /**
- * Label for the file path
- */
- public static String ExportTracePackageWizardPage_ToArchive;
-
- /**
- * Dialog text when a trace with the same name already exists
- */
- public static String ImportTracePackageWizardPage_AlreadyExists;
-
- /**
- * Title for the import page
- */
- public static String ImportTracePackageWizardPage_Title;
-
- /**
- * Text for the source archive label
- */
- public static String ImportTracePackageWizardPage_FromArchive;
-
- /**
- * Text for the reading package job
- */
- public static String ImportTracePackageWizardPage_ReadingPackage;
-
- /**
- * Message when file is not found
- */
- public static String ImportTracePackageWizardPage_ErrorFileNotFound;
-
- /**
- * Message when trace type could not be set
- */
- public static String ImportTracePackageWizardPage_ErrorSettingTraceType;
-
- /**
- * Message when the trace could not be found after importing the files
- */
- public static String ImportTracePackageWizardPage_ErrorFindingImportedTrace;
-
- /**
- * The message displayed under the title
- */
- public static String ImportTracePackageWizardPage_Message;
-
- /**
- * Generic error message for the import operation
- */
- public static String ImportTracePackageWizardPage_ErrorOperation;
-
- /**
- * Project text label
- */
- public static String ImportTracePackageWizardPage_Project;
-
- /**
- * The select project button text
- */
- public static String ImportTracePackageWizardPage_SelectProjectButton;
-
- /**
- * The select project dialog title
- */
- public static String ImportTracePackageWizardPage_SelectProjectDialogTitle;
-
- /**
- * Text for the generating package job
- */
- public static String TracePackageExportOperation_GeneratingPackage;
-
- /**
- * Text when error occurs creating a bookmark
- */
- public static String TracePackageImportOperation_ErrorCreatingBookmark;
-
- /**
- * Text for the detecting trace type job
- */
- public static String TracePackageImportOperation_DetectingTraceType;
-
- /**
- * Text when error occurs creating a bookmark file
- */
- public static String TracePackageImportOperation_ErrorCreatingBookmarkFile;
-
- /**
- * Text for the importing package job
- */
- public static String TracePackageImportOperation_ImportingPackage;
-
- /**
- * Text when error occurs when the manifest is not found in the archive
- */
- public static String TracePackageExtractManifestOperation_ErrorManifestNotFound;
-
- /**
- * Text when error occurs when the manifest is not valid
- */
- public static String TracePackageExtractManifestOperation_ErrorManifestNotValid;
-
- /**
- * Generic error message when reading the manifest
- */
- public static String TracePackageExtractManifestOperation_ErrorReadingManifest;
-
- /**
- * Error message when the file is an invalid format
- */
- public static String TracePackageExtractManifestOperation_InvalidFormat;
-
- /**
- * Error when the schema file cannot be found to validate the export
- * manifest
- */
- public static String TracePackageExtractManifestOperation_SchemaFileNotFound;
-
- static {
- // initialize resource bundle
- NLS.initializeMessages(BUNDLE_NAME, Messages.class);
- }
-
- private Messages() {
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/wizards/tracepkg/importexport/TracePackageExportOperation.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/wizards/tracepkg/importexport/TracePackageExportOperation.java
deleted file mode 100644
index 86347a33c4..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/wizards/tracepkg/importexport/TracePackageExportOperation.java
+++ /dev/null
@@ -1,304 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013, 2014 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:
- * Marc-Andre Laperle - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.internal.tmf.ui.project.wizards.tracepkg.importexport;
-
-import java.io.ByteArrayInputStream;
-import java.io.StringWriter;
-import java.lang.reflect.InvocationTargetException;
-import java.util.ArrayList;
-import java.util.HashSet;
-import java.util.Set;
-
-import javax.xml.parsers.DocumentBuilderFactory;
-import javax.xml.transform.OutputKeys;
-import javax.xml.transform.Transformer;
-import javax.xml.transform.TransformerFactory;
-import javax.xml.transform.dom.DOMSource;
-import javax.xml.transform.stream.StreamResult;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IFolder;
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.core.runtime.SubProgressMonitor;
-import org.eclipse.jface.operation.ModalContext;
-import org.eclipse.linuxtools.internal.tmf.ui.Activator;
-import org.eclipse.linuxtools.internal.tmf.ui.project.wizards.tracepkg.AbstractTracePackageOperation;
-import org.eclipse.linuxtools.internal.tmf.ui.project.wizards.tracepkg.ITracePackageConstants;
-import org.eclipse.linuxtools.internal.tmf.ui.project.wizards.tracepkg.TracePackageBookmarkElement;
-import org.eclipse.linuxtools.internal.tmf.ui.project.wizards.tracepkg.TracePackageElement;
-import org.eclipse.linuxtools.internal.tmf.ui.project.wizards.tracepkg.TracePackageFilesElement;
-import org.eclipse.linuxtools.internal.tmf.ui.project.wizards.tracepkg.TracePackageSupplFileElement;
-import org.eclipse.linuxtools.internal.tmf.ui.project.wizards.tracepkg.TracePackageSupplFilesElement;
-import org.eclipse.linuxtools.internal.tmf.ui.project.wizards.tracepkg.TracePackageTraceElement;
-import org.eclipse.linuxtools.tmf.core.TmfCommonConstants;
-import org.eclipse.linuxtools.tmf.ui.project.model.TmfTraceElement;
-import org.eclipse.linuxtools.tmf.ui.project.model.TraceUtils;
-import org.eclipse.ui.internal.wizards.datatransfer.ArchiveFileExportOperation;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-
-/**
- * An operation that exports a trace package to an archive
- *
- * @author Marc-Andre Laperle
- */
-@SuppressWarnings("restriction")
-public class TracePackageExportOperation extends AbstractTracePackageOperation {
-
- private static final String TRACE_EXPORT_TEMP_FOLDER = ".traceExport"; //$NON-NLS-1$
-
- private final TracePackageTraceElement[] fTraceExportElements;
- private final boolean fUseCompression;
- private final boolean fUseTar;
- private final Set<IResource> fResources;
- private IFolder fExportFolder;
-
- /**
- * Constructs a new export operation
- *
- * @param traceExportElements
- * the trace elements to be exported
- * @param useCompression
- * whether or not to use compression
- * @param useTar
- * use tar format or zip
- * @param fileName
- * the output file name
- */
- public TracePackageExportOperation(TracePackageTraceElement[] traceExportElements, boolean useCompression, boolean useTar, String fileName) {
- super(fileName);
- fTraceExportElements = traceExportElements;
- fUseCompression = useCompression;
- fUseTar = useTar;
- fResources = new HashSet<>();
- }
-
- /**
- * Run the operation. The status (result) of the operation can be obtained
- * with {@link #getStatus}
- *
- * @param progressMonitor
- * the progress monitor to use to display progress and receive
- * requests for cancellation
- */
- @Override
- public void run(IProgressMonitor progressMonitor) {
-
- try {
- int totalWork = getNbCheckedElements(fTraceExportElements) * 2;
- progressMonitor.beginTask(Messages.TracePackageExportOperation_GeneratingPackage, totalWork);
-
- fExportFolder = createExportFolder(progressMonitor);
-
- Document doc = DocumentBuilderFactory.newInstance().newDocumentBuilder().newDocument();
- Element createElement = doc.createElement(ITracePackageConstants.TMF_EXPORT_ELEMENT);
- Node tmfNode = doc.appendChild(createElement);
-
- for (TracePackageTraceElement tracePackageElement : fTraceExportElements) {
- if (!isFilesChecked(tracePackageElement)) {
- continue;
- }
-
- exportTrace(progressMonitor, tmfNode, tracePackageElement);
- }
-
- Transformer transformer = TransformerFactory.newInstance().newTransformer();
- transformer.setOutputProperty(OutputKeys.INDENT, "yes"); //$NON-NLS-1$
- transformer.setOutputProperty("{http://xml.apache.org/xslt}indent-amount", "4"); //$NON-NLS-1$ //$NON-NLS-2$
- DOMSource source = new DOMSource(doc);
- StringWriter buffer = new StringWriter();
- StreamResult result = new StreamResult(buffer);
- transformer.transform(source, result);
- String content = buffer.getBuffer().toString();
-
- ModalContext.checkCanceled(progressMonitor);
-
- exportManifest(content);
-
- setStatus(exportToArchive(progressMonitor, totalWork));
-
- fExportFolder.delete(true, new SubProgressMonitor(progressMonitor, 1, SubProgressMonitor.PREPEND_MAIN_LABEL_TO_SUBTASK));
-
- progressMonitor.done();
-
- } catch (Exception e) {
- if (e instanceof InterruptedException) {
- setStatus(Status.CANCEL_STATUS);
- } else {
- setStatus(new Status(IStatus.ERROR, Activator.PLUGIN_ID, org.eclipse.linuxtools.internal.tmf.ui.project.wizards.tracepkg.Messages.TracePackage_ErrorOperation, e));
- }
- }
- }
-
- private IFolder createExportFolder(IProgressMonitor monitor) throws CoreException {
- IFolder folder = fTraceExportElements[0].getTraceElement().getProject().getResource().getFolder(TRACE_EXPORT_TEMP_FOLDER);
- if (folder.exists()) {
- folder.delete(true, null);
- }
- folder.create(IResource.FORCE | IResource.HIDDEN, true, new SubProgressMonitor(monitor, 1, SubProgressMonitor.PREPEND_MAIN_LABEL_TO_SUBTASK));
- return folder;
- }
-
- private void exportTrace(IProgressMonitor monitor, Node tmfNode, TracePackageTraceElement tracePackageElement) throws InterruptedException, CoreException {
- TmfTraceElement traceElement = tracePackageElement.getTraceElement();
- Element traceXmlElement = tmfNode.getOwnerDocument().createElement(ITracePackageConstants.TRACE_ELEMENT);
- traceXmlElement.setAttribute(ITracePackageConstants.TRACE_NAME_ATTRIB, traceElement.getResource().getName());
- traceXmlElement.setAttribute(ITracePackageConstants.TRACE_TYPE_ATTRIB, traceElement.getTraceType());
- Node traceNode = tmfNode.appendChild(traceXmlElement);
-
- for (TracePackageElement element : tracePackageElement.getChildren()) {
- ModalContext.checkCanceled(monitor);
- if (!element.isChecked()) {
- continue;
- }
-
- if (element instanceof TracePackageSupplFilesElement) {
- exportSupplementaryFiles(monitor, traceNode, traceElement, (TracePackageSupplFilesElement) element);
- } else if (element instanceof TracePackageBookmarkElement) {
- exportBookmarks(monitor, traceNode, (TracePackageBookmarkElement) element);
- } else if (element instanceof TracePackageFilesElement) {
- exportTraceFiles(monitor, traceNode, (TracePackageFilesElement) element);
- }
-
- monitor.worked(1);
- }
- }
-
- private void exportSupplementaryFiles(IProgressMonitor monitor, Node traceNode, TmfTraceElement traceElement, TracePackageSupplFilesElement element) throws InterruptedException, CoreException {
- Document doc = traceNode.getOwnerDocument();
- if (element.getChildren().length > 0) {
-
- IPath projectPath = traceElement.getProject().getPath();
-
- for (TracePackageElement child : element.getChildren()) {
- TracePackageSupplFileElement supplFile = (TracePackageSupplFileElement) child;
- ModalContext.checkCanceled(monitor);
- IResource res = supplFile.getResource();
- // project/.tracing/A/B/statistics.ht -> .tracing/A/B/statistics.ht
- IPath relativeToExportFolder = res.getFullPath().makeRelativeTo(projectPath);
-
- // project/.traceExport/.tracing/A/B
- IFolder folder = fExportFolder.getFolder(relativeToExportFolder.removeLastSegments(1));
- TraceUtils.createFolder(folder, new SubProgressMonitor(monitor, 1, SubProgressMonitor.PREPEND_MAIN_LABEL_TO_SUBTASK));
-
- res.refreshLocal(0, new SubProgressMonitor(monitor, 1, SubProgressMonitor.PREPEND_MAIN_LABEL_TO_SUBTASK));
- createExportResource(folder, res);
- Element suppFileElement = doc.createElement(ITracePackageConstants.SUPPLEMENTARY_FILE_ELEMENT);
-
- suppFileElement.setAttribute(ITracePackageConstants.SUPPLEMENTARY_FILE_NAME_ATTRIB, relativeToExportFolder.toString());
- traceNode.appendChild(suppFileElement);
- }
-
- IFolder suppFilesFolder = fExportFolder.getFolder(TmfCommonConstants.TRACE_SUPPLEMENTARY_FOLDER_NAME);
- fResources.add(suppFilesFolder);
- }
- }
-
- private void exportTraceFiles(IProgressMonitor monitor, Node traceNode, TracePackageFilesElement element) throws CoreException {
- Document doc = traceNode.getOwnerDocument();
- TmfTraceElement traceElement = ((TracePackageTraceElement) element.getParent()).getTraceElement();
- IResource resource = traceElement.getResource();
- IPath traceFolderPath = traceElement.getProject().getTracesFolder().getPath();
-
- // project/Traces/A/B/Kernel -> A/B/Kernel
- IPath relativeToExportFolder = resource.getFullPath().makeRelativeTo(traceFolderPath);
-
- // project/.traceExport/A/B
- IFolder folder = fExportFolder.getFolder(relativeToExportFolder.removeLastSegments(1));
- TraceUtils.createFolder(folder, new SubProgressMonitor(monitor, 1, SubProgressMonitor.PREPEND_MAIN_LABEL_TO_SUBTASK));
-
- createExportResource(folder, resource);
- Element fileElement = doc.createElement(ITracePackageConstants.TRACE_FILE_ELEMENT);
-
- fileElement.setAttribute(ITracePackageConstants.TRACE_FILE_NAME_ATTRIB, relativeToExportFolder.toString());
- traceNode.appendChild(fileElement);
-
- // Always export the top-most folder containing the trace or the trace itself
- IResource exportedResource = fExportFolder.findMember(relativeToExportFolder.segment(0));
- fResources.add(exportedResource);
- }
-
- /**
- * Creates a linked resource in the specified folder
- *
- * @param exportFolder the folder that will contain the linked resource
- * @param res the resource to export
- * @throws CoreException when createLink fails
- * @return the created linked resource
- */
- private static IResource createExportResource(IFolder exportFolder, IResource res) throws CoreException {
- IResource ret = null;
- // Note: The resources cannot be HIDDEN or else they are ignored by ArchiveFileExportOperation
- if (res instanceof IFolder) {
- IFolder folder = exportFolder.getFolder(res.getName());
- folder.createLink(res.getLocationURI(), IResource.NONE, null);
- ret = folder;
- } else if (res instanceof IFile) {
- IFile file = exportFolder.getFile(res.getName());
- file.createLink(res.getLocationURI(), IResource.NONE, null);
- ret = file;
- }
- return ret;
- }
-
- private static void exportBookmarks(IProgressMonitor monitor, Node traceNode, TracePackageBookmarkElement element) throws CoreException, InterruptedException {
- Document doc = traceNode.getOwnerDocument();
- IFile bookmarksFile = ((TracePackageTraceElement) element.getParent()).getTraceElement().getBookmarksFile();
- if (bookmarksFile != null && bookmarksFile.exists()) {
- IMarker[] findMarkers = bookmarksFile.findMarkers(IMarker.BOOKMARK, false, IResource.DEPTH_ZERO);
- if (findMarkers.length > 0) {
- Element bookmarksXmlElement = doc.createElement(ITracePackageConstants.BOOKMARKS_ELEMENT);
- Node bookmarksNode = traceNode.appendChild(bookmarksXmlElement);
-
- for (IMarker marker : findMarkers) {
- ModalContext.checkCanceled(monitor);
-
- Element singleBookmarkXmlElement = doc.createElement(ITracePackageConstants.BOOKMARK_ELEMENT);
- for (String key : marker.getAttributes().keySet()) {
- singleBookmarkXmlElement.setAttribute(key, marker.getAttribute(key).toString());
- }
-
- bookmarksNode.appendChild(singleBookmarkXmlElement);
- }
- }
- }
- }
-
- private void exportManifest(String content) throws CoreException {
- IFile file = fExportFolder.getFile(ITracePackageConstants.MANIFEST_FILENAME);
- ByteArrayInputStream inputStream = new ByteArrayInputStream(content.getBytes());
- if (file.exists()) {
- file.setContents(inputStream, IResource.FORCE, null);
- } else {
- file.create(inputStream, IResource.FORCE | IResource.HIDDEN, null);
- }
- fResources.add(file);
- }
-
- private IStatus exportToArchive(IProgressMonitor monitor, int totalWork) throws InvocationTargetException, InterruptedException {
- ArchiveFileExportOperation op = new ArchiveFileExportOperation(new ArrayList<>(fResources), getFileName());
- op.setCreateLeadupStructure(false);
- op.setUseCompression(fUseCompression);
- op.setUseTarFormat(fUseTar);
- op.run(new SubProgressMonitor(monitor, totalWork / 2, SubProgressMonitor.PREPEND_MAIN_LABEL_TO_SUBTASK));
-
- return op.getStatus();
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/wizards/tracepkg/importexport/TracePackageExtractManifestOperation.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/wizards/tracepkg/importexport/TracePackageExtractManifestOperation.java
deleted file mode 100644
index 20ee641138..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/wizards/tracepkg/importexport/TracePackageExtractManifestOperation.java
+++ /dev/null
@@ -1,142 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013, 2014 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:
- * Marc-Andre Laperle - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.internal.tmf.ui.project.wizards.tracepkg.importexport;
-
-import java.io.InputStream;
-import java.text.MessageFormat;
-import java.util.ArrayList;
-import java.util.Enumeration;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Set;
-
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jface.operation.ModalContext;
-import org.eclipse.linuxtools.internal.tmf.ui.Activator;
-import org.eclipse.linuxtools.internal.tmf.ui.project.wizards.tracepkg.AbstractTracePackageOperation;
-import org.eclipse.linuxtools.internal.tmf.ui.project.wizards.tracepkg.ITracePackageConstants;
-import org.eclipse.linuxtools.internal.tmf.ui.project.wizards.tracepkg.TracePackageElement;
-import org.eclipse.linuxtools.internal.tmf.ui.project.wizards.tracepkg.TracePackageFilesElement;
-import org.eclipse.linuxtools.internal.tmf.ui.project.wizards.tracepkg.TracePackageTraceElement;
-
-/**
- * An operation that extracts information from the manifest located in an
- * archive
- *
- * @author Marc-Andre Laperle
- */
-public class TracePackageExtractManifestOperation extends AbstractTracePackageOperation {
-
- /**
- * Constructs a new import operation for reading the manifest
- *
- * @param fileName
- * the output file name
- */
- public TracePackageExtractManifestOperation(String fileName) {
- super(fileName);
- }
-
- /**
- * Run extract the manifest operation. The status (result) of the operation
- * can be obtained with {@link #getStatus}
- *
- * @param progressMonitor
- * the progress monitor to use to display progress and receive
- * requests for cancellation
- */
- @Override
- public void run(IProgressMonitor progressMonitor) {
- TracePackageElement[] elements = null;
- try {
- progressMonitor.worked(1);
- ArchiveFile archiveFile = getSpecifiedArchiveFile();
- progressMonitor.worked(1);
- if (archiveFile == null) {
- setStatus(new Status(IStatus.ERROR, Activator.PLUGIN_ID, Messages.TracePackageExtractManifestOperation_InvalidFormat));
- return;
- }
-
- Enumeration<?> entries = archiveFile.entries();
-
- boolean found = false;
- while (entries.hasMoreElements()) {
- ModalContext.checkCanceled(progressMonitor);
-
- ArchiveEntry entry = (ArchiveEntry) entries.nextElement();
- IPath p = new Path(entry.getName());
- //Remove project name
- p = p.removeFirstSegments(1);
-
- if (entry.getName().endsWith(ITracePackageConstants.MANIFEST_FILENAME)) {
- found = true;
- InputStream inputStream = archiveFile.getInputStream(entry);
- ManifestReader.validateManifest(inputStream);
-
- inputStream = archiveFile.getInputStream(entry);
- elements = ManifestReader.loadElementsFromManifest(inputStream);
- break;
- }
-
- progressMonitor.worked(1);
- }
-
- if (found) {
- setStatus(Status.OK_STATUS);
- }
- else {
- elements = generateElementsFromArchive();
- if (elements.length > 0) {
- setStatus(Status.OK_STATUS);
- } else {
- setStatus(new Status(IStatus.ERROR, Activator.PLUGIN_ID, MessageFormat.format(Messages.TracePackageExtractManifestOperation_ErrorManifestNotFound, ITracePackageConstants.MANIFEST_FILENAME)));
- }
- }
-
- setResultElements(elements);
-
- } catch (InterruptedException e) {
- setStatus(Status.CANCEL_STATUS);
- } catch (Exception e) {
- setStatus(new Status(IStatus.ERROR, Activator.PLUGIN_ID, Messages.TracePackageExtractManifestOperation_ErrorReadingManifest, e));
- }
- }
-
- private TracePackageElement[] generateElementsFromArchive() {
- ArchiveFile archiveFile = getSpecifiedArchiveFile();
- Enumeration<?> entries = archiveFile.entries();
- Set<String> traceFileNames = new HashSet<>();
- while (entries.hasMoreElements()) {
- ArchiveEntry entry = (ArchiveEntry) entries.nextElement();
- String entryName = entry.getName();
- IPath fullArchivePath = new Path(entryName);
- if (!fullArchivePath.hasTrailingSeparator() && fullArchivePath.segmentCount() > 0) {
- traceFileNames.add(fullArchivePath.segment(0));
- }
- }
-
- List<TracePackageElement> packageElements = new ArrayList<>();
- for (String traceFileName : traceFileNames) {
- TracePackageTraceElement traceElement = new TracePackageTraceElement(null, traceFileName, null);
- new TracePackageFilesElement(traceElement, traceFileName);
- packageElements.add(traceElement);
- }
-
- return packageElements.toArray(new TracePackageElement[] {});
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/wizards/tracepkg/importexport/TracePackageImportOperation.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/wizards/tracepkg/importexport/TracePackageImportOperation.java
deleted file mode 100644
index 723cec2799..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/wizards/tracepkg/importexport/TracePackageImportOperation.java
+++ /dev/null
@@ -1,489 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013, 2014 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:
- * Marc-Andre Laperle - Initial API and implementation
- * Patrick Tasse - Add support for source location
- *******************************************************************************/
-
-package org.eclipse.linuxtools.internal.tmf.ui.project.wizards.tracepkg.importexport;
-
-import java.io.File;
-import java.io.IOException;
-import java.io.InputStream;
-import java.lang.reflect.InvocationTargetException;
-import java.net.URI;
-import java.text.MessageFormat;
-import java.util.ArrayList;
-import java.util.Enumeration;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IFolder;
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.core.runtime.SubProgressMonitor;
-import org.eclipse.core.runtime.URIUtil;
-import org.eclipse.jface.operation.ModalContext;
-import org.eclipse.linuxtools.internal.tmf.ui.Activator;
-import org.eclipse.linuxtools.internal.tmf.ui.project.wizards.tracepkg.AbstractTracePackageOperation;
-import org.eclipse.linuxtools.internal.tmf.ui.project.wizards.tracepkg.TracePackageBookmarkElement;
-import org.eclipse.linuxtools.internal.tmf.ui.project.wizards.tracepkg.TracePackageElement;
-import org.eclipse.linuxtools.internal.tmf.ui.project.wizards.tracepkg.TracePackageFilesElement;
-import org.eclipse.linuxtools.internal.tmf.ui.project.wizards.tracepkg.TracePackageSupplFileElement;
-import org.eclipse.linuxtools.internal.tmf.ui.project.wizards.tracepkg.TracePackageSupplFilesElement;
-import org.eclipse.linuxtools.internal.tmf.ui.project.wizards.tracepkg.TracePackageTraceElement;
-import org.eclipse.linuxtools.tmf.core.TmfCommonConstants;
-import org.eclipse.linuxtools.tmf.core.project.model.TmfTraceImportException;
-import org.eclipse.linuxtools.tmf.core.project.model.TmfTraceType;
-import org.eclipse.linuxtools.tmf.core.project.model.TraceTypeHelper;
-import org.eclipse.linuxtools.tmf.core.util.Pair;
-import org.eclipse.linuxtools.tmf.ui.editors.TmfEventsEditor;
-import org.eclipse.linuxtools.tmf.ui.project.model.TmfTraceElement;
-import org.eclipse.linuxtools.tmf.ui.project.model.TmfTraceFolder;
-import org.eclipse.linuxtools.tmf.ui.project.model.TmfTraceTypeUIUtils;
-import org.eclipse.ui.dialogs.IOverwriteQuery;
-import org.eclipse.ui.ide.IDE;
-import org.eclipse.ui.internal.wizards.datatransfer.TarException;
-import org.eclipse.ui.wizards.datatransfer.IImportStructureProvider;
-import org.eclipse.ui.wizards.datatransfer.ImportOperation;
-
-/**
- * An operation that imports a trace package from an archive
- *
- * @author Marc-Andre Laperle
- */
-@SuppressWarnings("restriction")
-public class TracePackageImportOperation extends AbstractTracePackageOperation implements IOverwriteQuery {
-
- private final TracePackageElement[] fImportTraceElements;
- private final TmfTraceFolder fTmfTraceFolder;
-
- /**
- * Constructs a new import operation
- *
- * @param importTraceElements
- * the trace element to be imported
- * @param fileName
- * the output file name
- * @param tmfTraceFolder
- * the destination folder
- */
- public TracePackageImportOperation(String fileName, TracePackageElement[] importTraceElements, TmfTraceFolder tmfTraceFolder) {
- super(fileName);
- fImportTraceElements = importTraceElements;
- fTmfTraceFolder = tmfTraceFolder;
- }
-
- private class ImportProvider implements IImportStructureProvider {
-
- private Exception fException;
-
- @Override
- public List getChildren(Object element) {
- return null;
- }
-
- @Override
- public InputStream getContents(Object element) {
- InputStream inputStream = null;
- // We can add throws
- try {
- inputStream = ((ArchiveProviderElement) element).getContents();
- } catch (IOException e) {
- fException = e;
- } catch (TarException e) {
- fException = e;
- }
- return inputStream;
- }
-
- @Override
- public String getFullPath(Object element) {
- return ((ArchiveProviderElement) element).getFullPath();
- }
-
- @Override
- public String getLabel(Object element) {
- return ((ArchiveProviderElement) element).getLabel();
- }
-
- @Override
- public boolean isFolder(Object element) {
- return ((ArchiveProviderElement) element).isFolder();
- }
-
- public Exception getException() {
- return fException;
- }
- }
-
- private class ArchiveProviderElement {
-
- private final String fPath;
- private final String fLabel;
-
- private ArchiveFile fArchiveFile;
- private ArchiveEntry fEntry;
-
- public ArchiveProviderElement(String destinationPath, String label, ArchiveFile archiveFile, ArchiveEntry entry) {
- fPath = destinationPath;
- fLabel = label;
- this.fArchiveFile = archiveFile;
- this.fEntry = entry;
- }
-
- public InputStream getContents() throws TarException, IOException {
- return fArchiveFile.getInputStream(fEntry);
- }
-
- public String getFullPath() {
- return fPath;
- }
-
- public String getLabel() {
- return fLabel;
- }
-
- public boolean isFolder() {
- return false;
- }
- }
-
- /**
- * Run the operation. The status (result) of the operation can be obtained
- * with {@link #getStatus}
- *
- * @param progressMonitor
- * the progress monitor to use to display progress and receive
- * requests for cancellation
- */
- @Override
- public void run(IProgressMonitor progressMonitor) {
- int totalWork = getNbCheckedElements(fImportTraceElements) * 2;
- progressMonitor.beginTask(Messages.TracePackageImportOperation_ImportingPackage, totalWork);
- doRun(progressMonitor);
- progressMonitor.done();
- }
-
- private void doRun(IProgressMonitor progressMonitor) {
- try {
- setStatus(deleteExistingTraces(progressMonitor));
- if (getStatus().getSeverity() != IStatus.OK) {
- return;
- }
-
- TracePackageFilesElement traceFilesElement = null;
- for (TracePackageElement packageElement : fImportTraceElements) {
- TracePackageTraceElement traceElement = (TracePackageTraceElement) packageElement;
- if (!isFilesChecked(packageElement)) {
- continue;
- }
-
- TracePackageElement[] children = traceElement.getChildren();
- for (TracePackageElement element : children) {
- ModalContext.checkCanceled(progressMonitor);
-
- if (element instanceof TracePackageFilesElement) {
- traceFilesElement = (TracePackageFilesElement) element;
- setStatus(importTraceFiles(traceFilesElement, traceElement, progressMonitor));
-
- } else if (element instanceof TracePackageSupplFilesElement) {
- TracePackageSupplFilesElement suppFilesElement = (TracePackageSupplFilesElement) element;
- setStatus(importSupplFiles(suppFilesElement, traceElement, progressMonitor));
- }
-
- if (getStatus().getSeverity() != IStatus.OK) {
- return;
- }
- }
- }
-
- } catch (InterruptedException e) {
- setStatus(Status.CANCEL_STATUS);
- }
- }
-
- /**
- * Returns whether or not the Files element is checked under the given trace
- * package element
- *
- * @param tracePackageElement
- * the trace package element
- * @return whether or not the Files element is checked under the given trace
- * package element
- */
- public static boolean isFilesChecked(TracePackageElement tracePackageElement) {
- for (TracePackageElement element : tracePackageElement.getChildren()) {
- if (element instanceof TracePackageFilesElement) {
- return element.isChecked();
- }
- }
-
- return false;
- }
-
- /**
- * Return the matching TmfTraceElement for a given trace element.
- */
- private TmfTraceElement getMatchingTraceElement(TracePackageTraceElement tracePackageElement) {
- IPath tracePath = fTmfTraceFolder.getPath().append(tracePackageElement.getDestinationElementPath());
- List<TmfTraceElement> traces = fTmfTraceFolder.getTraces();
- for (TmfTraceElement t : traces) {
- if (t.getPath().equals(tracePath)) {
- return t;
- }
- }
-
- return null;
- }
-
- private IStatus deleteExistingTraces(IProgressMonitor progressMonitor) {
- for (TracePackageElement packageElement : fImportTraceElements) {
- TracePackageTraceElement traceElement = (TracePackageTraceElement) packageElement;
- if (!isFilesChecked(traceElement)) {
- continue;
- }
-
- TmfTraceElement existingTrace = getMatchingTraceElement(traceElement);
- if (existingTrace != null) {
- try {
- existingTrace.delete(new SubProgressMonitor(progressMonitor, 1, SubProgressMonitor.PREPEND_MAIN_LABEL_TO_SUBTASK));
- } catch (CoreException e) {
- return new Status(IStatus.ERROR, Activator.PLUGIN_ID, org.eclipse.linuxtools.internal.tmf.ui.project.wizards.tracepkg.Messages.TracePackage_ErrorOperation, e);
- }
- }
- }
-
- return Status.OK_STATUS;
- }
-
- private void importBookmarks(IResource traceRes, TracePackageTraceElement traceElement, IProgressMonitor monitor) {
- for (TracePackageElement o : traceElement.getChildren()) {
- if (o instanceof TracePackageBookmarkElement && o.isChecked()) {
-
- // Get element
- IFile bookmarksFile = null;
- TmfTraceElement tmfTraceElement = getMatchingTraceElement(traceElement);
- if (tmfTraceElement != null) {
- try {
- bookmarksFile = tmfTraceElement.createBookmarksFile();
-
- // Make sure that if a bookmark is double-clicked first
- // before opening the trace, it opens the right editor
-
- // Get the editor id from the extension point
- String traceEditorId = tmfTraceElement.getEditorId();
- final String editorId = (traceEditorId != null) ? traceEditorId : TmfEventsEditor.ID;
- IDE.setDefaultEditor(bookmarksFile, editorId);
-
- } catch (CoreException e) {
- Activator.getDefault().logError(MessageFormat.format(Messages.TracePackageImportOperation_ErrorCreatingBookmarkFile, traceRes.getName()), e);
- }
- }
-
- if (bookmarksFile == null) {
- break;
- }
-
- TracePackageBookmarkElement bookmarkElement = (TracePackageBookmarkElement) o;
-
- List<Map<String, String>> bookmarks = bookmarkElement.getBookmarks();
- for (Map<String, String> attrs : bookmarks) {
- IMarker createMarker = null;
- try {
- createMarker = bookmarksFile.createMarker(IMarker.BOOKMARK);
- } catch (CoreException e) {
- Activator.getDefault().logError(MessageFormat.format(Messages.TracePackageImportOperation_ErrorCreatingBookmark, traceRes.getName()), e);
- }
- if (createMarker != null && createMarker.exists()) {
- try {
- for (String key : attrs.keySet()) {
- String value = attrs.get(key);
- if (key.equals(IMarker.LOCATION)) {
- createMarker.setAttribute(IMarker.LOCATION, Integer.valueOf(value).intValue());
- } else {
- createMarker.setAttribute(key, value);
- }
- }
- } catch (CoreException e) {
- Activator.getDefault().logError(MessageFormat.format(Messages.TracePackageImportOperation_ErrorCreatingBookmark, traceRes.getName()), e);
- }
- }
- }
- }
- }
-
- monitor.worked(1);
- }
-
- private IStatus importTraceFiles(TracePackageFilesElement traceFilesElement, TracePackageTraceElement traceElement, IProgressMonitor monitor) {
- List<Pair<String, String>> fileNameAndLabelPairs = new ArrayList<>();
-
- String sourceName = traceFilesElement.getFileName();
- String destinationName = traceElement.getImportName();
-
- fileNameAndLabelPairs.add(new Pair<>(sourceName, destinationName));
-
- IPath containerPath = fTmfTraceFolder.getPath();
- IStatus status = importFiles(getSpecifiedArchiveFile(), fileNameAndLabelPairs, containerPath, Path.EMPTY, monitor);
- if (getStatus().getSeverity() != IStatus.OK) {
- return status;
- }
-
- // We need to set the trace type before importing the supplementary files so we do it here
- IResource traceRes = fTmfTraceFolder.getResource().findMember(traceElement.getDestinationElementPath());
- if (traceRes == null || !traceRes.exists()) {
- return new Status(IStatus.ERROR, Activator.PLUGIN_ID, MessageFormat.format(Messages.ImportTracePackageWizardPage_ErrorFindingImportedTrace, destinationName));
- }
-
- TraceTypeHelper traceType = null;
- String traceTypeStr = traceElement.getTraceType();
- if (traceTypeStr != null) {
- traceType = TmfTraceType.getTraceType(traceTypeStr);
- if (traceType == null) {
- return new Status(IStatus.ERROR, Activator.PLUGIN_ID, MessageFormat.format(Messages.ImportTracePackageWizardPage_ErrorSettingTraceType, traceElement.getTraceType(), destinationName));
- }
- } else {
- try {
- monitor.subTask(MessageFormat.format(Messages.TracePackageImportOperation_DetectingTraceType, destinationName));
- traceType = TmfTraceTypeUIUtils.selectTraceType(traceRes.getLocation().toOSString(), null, null);
- } catch (TmfTraceImportException e) {
- // Could not figure out the type
- }
- }
-
- if (traceType != null) {
- try {
- TmfTraceTypeUIUtils.setTraceType(traceRes, traceType);
- } catch (CoreException e) {
- return new Status(IStatus.ERROR, Activator.PLUGIN_ID, MessageFormat.format(Messages.ImportTracePackageWizardPage_ErrorSettingTraceType, traceElement.getTraceType(), destinationName), e);
- }
- }
-
- importBookmarks(traceRes, traceElement, monitor);
-
- try {
- URI uri = new File(getFileName()).toURI();
- IPath entryPath = new Path(traceFilesElement.getFileName());
- if (traceRes instanceof IFolder) {
- entryPath = entryPath.addTrailingSeparator();
- }
- String sourceLocation = URIUtil.toUnencodedString(URIUtil.toJarURI(uri, entryPath));
- traceRes.setPersistentProperty(TmfCommonConstants.SOURCE_LOCATION, sourceLocation);
- } catch (CoreException e) {
- }
-
- return status;
- }
-
- private IStatus importSupplFiles(TracePackageSupplFilesElement suppFilesElement, TracePackageTraceElement traceElement, IProgressMonitor monitor) {
- List<Pair<String, String>> fileNameAndLabelPairs = new ArrayList<>();
- for (TracePackageElement child : suppFilesElement.getChildren()) {
- if (child.isChecked()) {
- TracePackageSupplFileElement supplFile = (TracePackageSupplFileElement) child;
- fileNameAndLabelPairs.add(new Pair<>(supplFile.getText(), new Path(supplFile.getText()).lastSegment()));
- }
- }
-
- if (!fileNameAndLabelPairs.isEmpty()) {
- TmfTraceElement existingTrace = getMatchingTraceElement(traceElement);
- if (existingTrace != null) {
- ArchiveFile archiveFile = getSpecifiedArchiveFile();
- existingTrace.refreshSupplementaryFolder();
- // Project/Traces/A/B -> A/B
- IPath traceFolderRelativePath = fTmfTraceFolder.getPath().makeRelativeTo(fTmfTraceFolder.getProject().getTracesFolder().getPath());
- // Project/.tracing/A/B/
- IFolder traceSupplementaryFolder = fTmfTraceFolder.getTraceSupplementaryFolder(traceFolderRelativePath.toString());
- IPath destinationContainerPath = traceSupplementaryFolder.getFullPath();
- // Remove the .tracing segment at the beginnin so that a file in folder .tracing/A/B/ imports destinationContainerPath/A/B/
- Path baseSourcePath = new Path(TmfCommonConstants.TRACE_SUPPLEMENTARY_FOLDER_NAME);
- return importFiles(archiveFile, fileNameAndLabelPairs, destinationContainerPath, baseSourcePath, monitor);
- }
- }
-
- return Status.OK_STATUS;
- }
-
- private IStatus importFiles(ArchiveFile archiveFile, List<Pair<String, String>> fileNameAndLabelPairs, IPath destinationContainerPath, IPath baseSourcePath, IProgressMonitor monitor) {
- List<ArchiveProviderElement> objects = new ArrayList<>();
- Enumeration<?> entries = archiveFile.entries();
- while (entries.hasMoreElements()) {
- ArchiveEntry entry = (ArchiveEntry) entries.nextElement();
- String entryName = entry.getName();
- IPath fullArchivePath = new Path(entryName);
- if (fullArchivePath.hasTrailingSeparator()) {
- // We only care about file entries as the folders will get created by the ImportOperation
- continue;
- }
-
- for (Pair<String, String> fileNameAndLabel : fileNameAndLabelPairs) {
-
- // Examples: Traces/aaa/kernel/ .tracing/aaa/testtexttrace.txt/statistics.ht
- IPath searchedArchivePath = new Path(fileNameAndLabel.getFirst());
-
- // Check if this archive entry matches the searched file name at this archive location
- boolean fileMatch = entryName.equalsIgnoreCase(searchedArchivePath.toString());
- // For example Traces/aaa/kernel/metadata matches Traces/aaa/kernel/
- boolean folderMatch = entryName.startsWith(searchedArchivePath + "/"); //$NON-NLS-1$
-
- if (fileMatch || folderMatch) {
- // .tracing/aaa/testtexttrace.txt/statistics.ht -> aaa/testtexttrace.txt/statistics.ht
- IPath destinationPath = fullArchivePath.makeRelativeTo(baseSourcePath);
-
- // metadata statistics.ht
- // We don't use the label when the entry is a folder match because the labels for individual files
- // under the folder are not specified in the manifest so just use the last segment.
- String resourceLabel = folderMatch ? fullArchivePath.lastSegment() : fileNameAndLabel.getSecond();
-
- ArchiveProviderElement pe = new ArchiveProviderElement(destinationPath.toString(), resourceLabel, archiveFile, entry);
- objects.add(pe);
- break;
- }
- }
- }
-
- ImportProvider provider = new ImportProvider();
-
- ImportOperation operation = new ImportOperation(destinationContainerPath,
- null, provider, this,
- objects);
- operation.setCreateContainerStructure(true);
- operation.setOverwriteResources(true);
-
- try {
- operation.run(new SubProgressMonitor(monitor, fileNameAndLabelPairs.size(), SubProgressMonitor.PREPEND_MAIN_LABEL_TO_SUBTASK));
- archiveFile.close();
- } catch (InvocationTargetException e) {
- return new Status(IStatus.ERROR, Activator.PLUGIN_ID, org.eclipse.linuxtools.internal.tmf.ui.project.wizards.tracepkg.Messages.TracePackage_ErrorOperation, e);
- } catch (InterruptedException e) {
- return Status.CANCEL_STATUS;
- } catch (IOException e) {
- return new Status(IStatus.ERROR, Activator.PLUGIN_ID, org.eclipse.linuxtools.internal.tmf.ui.project.wizards.tracepkg.Messages.TracePackage_ErrorOperation, e);
- }
-
- if (provider.getException() != null) {
- return new Status(IStatus.ERROR, Activator.PLUGIN_ID, org.eclipse.linuxtools.internal.tmf.ui.project.wizards.tracepkg.Messages.TracePackage_ErrorOperation, provider.getException());
- }
-
- return operation.getStatus();
- }
-
- @Override
- public String queryOverwrite(String pathString) {
- // We always overwrite once we reach this point
- return null;
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/wizards/tracepkg/importexport/messages.properties b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/wizards/tracepkg/importexport/messages.properties
deleted file mode 100644
index a5fc3ed167..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/wizards/tracepkg/importexport/messages.properties
+++ /dev/null
@@ -1,53 +0,0 @@
-###############################################################################
-# Copyright (c) 2013 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:
-# Marc-Andre Laperle - Initial API and implementation
-###############################################################################
-
-ExportTracePackageSelectTraceWizardPage_ChooseTrace=Choose traces to export
-ExportTracePackageSelectTraceWizardPage_ProjectSelection=Project
-ExportTracePackageSelectTraceWizardPage_TraceSelection=Traces
-ExportTracePackageWizardPage_AlreadyExitst = Target file already exists. Would you like to overwrite it?
-ExportTracePackageWizardPage_ApproximateSizeLbl=Approximate uncompressed size: {0}
-ExportTracePackageWizardPage_ChooseContent=Choose the content to export
-ExportTracePackageWizardPage_CompressContents=Co&mpress the contents of the file
-ExportTracePackageWizardPage_ContentColumnName=Content
-ExportTracePackageWizardPage_Options=Options
-ExportTracePackageWizardPage_SaveInTarFormat=Sa&ve in tar format
-ExportTracePackageWizardPage_SaveInZipFormat=Save in &zip format
-ExportTracePackageWizardPage_SizeByte=B
-ExportTracePackageWizardPage_SizeColumnName=Size
-ExportTracePackageWizardPage_SizeGigabyte=GB
-ExportTracePackageWizardPage_SizeKilobyte=KB
-ExportTracePackageWizardPage_SizeMegabyte=MB
-ExportTracePackageWizardPage_SizeTerabyte=TB
-ExportTracePackageWizardPage_Title=Export trace package
-ExportTracePackageWizardPage_ToArchive=To &archive file:
-ImportTracePackageWizardPage_AlreadyExists=A trace with the name ''{0}'' already exists. Would you like to overwrite it?
-ImportTracePackageWizardPage_ErrorFileNotFound=File does not exist
-ImportTracePackageWizardPage_ErrorOperation=Error occurred during import trace operation
-ImportTracePackageWizardPage_ErrorSettingTraceType=Error setting the type {0} for the trace {1}
-ImportTracePackageWizardPage_ErrorFindingImportedTrace=Could not find the imported trace {0} in the workspace
-ImportTracePackageWizardPage_FromArchive=From &archive file:
-ImportTracePackageWizardPage_Message=Choose the content to import
-ImportTracePackageWizardPage_Project=Into project:
-ImportTracePackageWizardPage_ReadingPackage=Reading package
-ImportTracePackageWizardPage_SelectProjectButton=Select
-ImportTracePackageWizardPage_SelectProjectDialogTitle=Select project
-ImportTracePackageWizardPage_Title=Import trace package
-TracePackageExportOperation_GeneratingPackage=Generating package
-TracePackageExtractManifestOperation_ErrorManifestNotFound=The required manifest file {0} could not be found.
-TracePackageExtractManifestOperation_ErrorManifestNotValid=The manifest file is not valid.
-TracePackageExtractManifestOperation_ErrorReadingManifest=An error occurred when reading the manifest
-TracePackageExtractManifestOperation_InvalidFormat=The selected file is not a supported file format
-TracePackageExtractManifestOperation_SchemaFileNotFound=The schema file {0} could not be found.
-TracePackageImportOperation_ErrorCreatingBookmark=Error creating bookmark for the trace {0}
-TracePackageImportOperation_ErrorCreatingBookmarkFile=Error creating bookmark file for the trace {0}
-TracePackageImportOperation_ImportingPackage=Importing package
-TracePackageImportOperation_DetectingTraceType=Detecting trace type for ''{0}''
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/wizards/tracepkg/messages.properties b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/wizards/tracepkg/messages.properties
deleted file mode 100644
index 47ea91587e..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/wizards/tracepkg/messages.properties
+++ /dev/null
@@ -1,22 +0,0 @@
-###############################################################################
-# Copyright (c) 2013 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:
-# Marc-Andre Laperle - Initial API and implementation
-###############################################################################
-
-TracePackage_Bookmarks=Bookmarks
-TracePackage_Browse=B&rowse...
-TracePackage_DeselectAll=Deselect All
-TracePackage_ErrorOperation=Error occurred during trace package operation
-TracePackage_ErrorMultipleProblems=Multiple problems. Click Details for more information.
-TracePackage_FileDialogTitle=Choose Archive File
-TracePackage_InternalErrorTitle=Internal error
-TracePackage_SelectAll=Select All
-TracePackage_SupplementaryFiles=Supplementary files
-TracePackage_TraceElement=Trace \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/viewers/events/columns/TmfContentsColumn.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/viewers/events/columns/TmfContentsColumn.java
deleted file mode 100644
index ee26dcde59..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/viewers/events/columns/TmfContentsColumn.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 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:
- * Alexandre Montplaisir - Initial API and implementation
- ******************************************************************************/
-
-package org.eclipse.linuxtools.internal.tmf.ui.viewers.events.columns;
-
-import org.eclipse.jdt.annotation.NonNull;
-import org.eclipse.linuxtools.internal.tmf.ui.Messages;
-import org.eclipse.linuxtools.tmf.core.event.ITmfEvent;
-import org.eclipse.linuxtools.tmf.ui.viewers.events.columns.TmfEventTableColumn;
-
-/**
- * Column for the event contents (fields)
- *
- * @author Alexandre Montplaisir
- */
-public final class TmfContentsColumn extends TmfEventTableColumn {
-
- @SuppressWarnings("null")
- private static final @NonNull String HEADER = Messages.TmfEventsTable_ContentColumnHeader;
-
- /**
- * Constructor
- */
- public TmfContentsColumn() {
- super(HEADER);
- }
-
- @Override
- public String getItemString(ITmfEvent event) {
- String ret = event.getContent().toString();
- return (ret == null ? EMPTY_STRING : ret);
- }
-
- @Override
- public String getFilterFieldId() {
- return ITmfEvent.EVENT_FIELD_CONTENT;
- }
-} \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/viewers/events/columns/TmfReferenceColumn.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/viewers/events/columns/TmfReferenceColumn.java
deleted file mode 100644
index 645c4e6168..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/viewers/events/columns/TmfReferenceColumn.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 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:
- * Alexandre Montplaisir - Initial API and implementation
- ******************************************************************************/
-
-package org.eclipse.linuxtools.internal.tmf.ui.viewers.events.columns;
-
-import org.eclipse.jdt.annotation.NonNull;
-import org.eclipse.linuxtools.internal.tmf.ui.Messages;
-import org.eclipse.linuxtools.tmf.core.event.ITmfEvent;
-import org.eclipse.linuxtools.tmf.ui.viewers.events.columns.TmfEventTableColumn;
-
-/**
- * Column for the event reference
- *
- * TODO Remove me, replace with trace-type-specific columns
- */
-public final class TmfReferenceColumn extends TmfEventTableColumn {
-
- @SuppressWarnings("null")
- private static final @NonNull String HEADER = Messages.TmfEventsTable_ReferenceColumnHeader;
-
- /**
- * Constructor
- */
- public TmfReferenceColumn() {
- super(HEADER);
- }
-
- @Override
- public String getItemString(ITmfEvent event) {
- String ref = event.getReference();
- return (ref == null ? EMPTY_STRING : ref);
- }
-
- @Override
- public String getFilterFieldId() {
- return ITmfEvent.EVENT_FIELD_REFERENCE;
- }
-} \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/viewers/events/columns/TmfSourceColumn.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/viewers/events/columns/TmfSourceColumn.java
deleted file mode 100644
index b2064e963b..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/viewers/events/columns/TmfSourceColumn.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 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:
- * Alexandre Montplaisir - Initial API and implementation
- ******************************************************************************/
-
-package org.eclipse.linuxtools.internal.tmf.ui.viewers.events.columns;
-
-import org.eclipse.jdt.annotation.NonNull;
-import org.eclipse.linuxtools.internal.tmf.ui.Messages;
-import org.eclipse.linuxtools.tmf.core.event.ITmfEvent;
-import org.eclipse.linuxtools.tmf.ui.viewers.events.columns.TmfEventTableColumn;
-
-/**
- * Column for the event source
- *
- * TODO Remove me, replace with trace-type-specific columns
- */
-public final class TmfSourceColumn extends TmfEventTableColumn {
-
- @SuppressWarnings("null")
- private static final @NonNull String HEADER = Messages.TmfEventsTable_SourceColumnHeader;
-
- /**
- * Constructor
- */
- public TmfSourceColumn() {
- super(HEADER);
- }
-
- @Override
- public String getItemString(ITmfEvent event) {
- String source = event.getSource();
- return (source == null ? EMPTY_STRING : source);
- }
-
- @Override
- public String getFilterFieldId() {
- return ITmfEvent.EVENT_FIELD_SOURCE;
- }
-} \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/viewers/events/columns/TmfTimestampColumn.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/viewers/events/columns/TmfTimestampColumn.java
deleted file mode 100644
index d7fb6bcf77..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/viewers/events/columns/TmfTimestampColumn.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 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:
- * Alexandre Montplaisir - Initial API and implementation
- ******************************************************************************/
-
-package org.eclipse.linuxtools.internal.tmf.ui.viewers.events.columns;
-
-import org.eclipse.jdt.annotation.NonNull;
-import org.eclipse.linuxtools.internal.tmf.ui.Messages;
-import org.eclipse.linuxtools.tmf.core.event.ITmfEvent;
-import org.eclipse.linuxtools.tmf.ui.viewers.events.columns.TmfEventTableColumn;
-
-/**
- * Column for the timestamps
- */
-public final class TmfTimestampColumn extends TmfEventTableColumn {
-
- @SuppressWarnings("null")
- private static final @NonNull String HEADER = Messages.TmfEventsTable_TimestampColumnHeader;
-
- /**
- * Constructor
- */
- public TmfTimestampColumn() {
- super(HEADER);
- }
-
- @Override
- public String getItemString(ITmfEvent event) {
- String ret = event.getTimestamp().toString();
- return (ret == null ? EMPTY_STRING : ret);
- }
-
- @Override
- public String getFilterFieldId() {
- return ITmfEvent.EVENT_FIELD_TIMESTAMP;
- }
-} \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/viewers/events/columns/TmfTypeColumn.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/viewers/events/columns/TmfTypeColumn.java
deleted file mode 100644
index 7209a366ac..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/viewers/events/columns/TmfTypeColumn.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 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:
- * Alexandre Montplaisir - Initial API and implementation
- ******************************************************************************/
-
-package org.eclipse.linuxtools.internal.tmf.ui.viewers.events.columns;
-
-import org.eclipse.jdt.annotation.NonNull;
-import org.eclipse.linuxtools.internal.tmf.ui.Messages;
-import org.eclipse.linuxtools.tmf.core.event.ITmfEvent;
-import org.eclipse.linuxtools.tmf.core.event.ITmfEventType;
-import org.eclipse.linuxtools.tmf.ui.viewers.events.columns.TmfEventTableColumn;
-
-/**
- * Column for the event type
- */
-public final class TmfTypeColumn extends TmfEventTableColumn {
-
- @SuppressWarnings("null")
- private static final @NonNull String HEADER = Messages.TmfEventsTable_TypeColumnHeader;
-
- /**
- * Constructor
- */
- public TmfTypeColumn() {
- super(HEADER);
- }
-
- @Override
- public String getItemString(ITmfEvent event) {
- ITmfEventType type = event.getType();
- if (type == null) {
- return EMPTY_STRING;
- }
- String typeName = type.getName();
- return (typeName == null ? EMPTY_STRING : typeName);
- }
-
- @Override
- public String getFilterFieldId() {
- return ITmfEvent.EVENT_FIELD_TYPE;
- }
-} \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/TmfUiRefreshHandler.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/TmfUiRefreshHandler.java
deleted file mode 100644
index 0a4d15a77b..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/TmfUiRefreshHandler.java
+++ /dev/null
@@ -1,131 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 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:
- * Alexandre Montplaisir - Initial API and implementation
- * Patrick Tasse - Update queue handling
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui;
-
-import java.util.LinkedHashMap;
-import java.util.Map;
-
-import org.eclipse.swt.widgets.Display;
-
-/**
- * This handler offers "coalescing" of UI updates.
- *
- * When displaying live experiments containing a high number of traces, every
- * trace will want to regularly update views with their new available data. This
- * can cause a high number of threads calling {@link Display#asyncExec}
- * repeatedly, which can really impede UI responsiveness.
- * <p>
- * Instead of calling {@link Display#asyncExec} directly, threads that want to
- * queue updates to the UI can instead call
- * {@link TmfUiRefreshHandler#queueUpdate}. If the handler is not currently
- * executing another update it will be scheduled immediately. Otherwise the
- * update will be queued.
- * <p>
- * The handler will only execute one update at a time. While it is busy, new
- * requests received from a source that is already in the queue will replace the
- * previous one (as we assume the latest UI update request is the most
- * up-to-date and interesting one), preserving the previous request order. New
- * requests received from other sources will be added to the end of the queue
- * (keeping only the latest request from each source).
- * <p>
- * Once the current update is completed, the oldest request in the queue will be
- * sent to the UI thread via one single call to {@link Display#syncExec}.
- *
- * @author Alexandre Montplaisir
- * @since 3.1
- */
-public class TmfUiRefreshHandler {
-
- /** Singleton instance */
- private static TmfUiRefreshHandler fInstance = null;
-
- private final Map<Object, Runnable> fUpdates = new LinkedHashMap<>();
- private Thread fCurrentTask;
-
-
- /**
- * Internal constructor
- */
- private TmfUiRefreshHandler() {
- fCurrentTask = null;
- }
-
- /**
- * Get the handler's instance
- *
- * @return The singleton instance
- */
- public static synchronized TmfUiRefreshHandler getInstance() {
- if (fInstance == null) {
- fInstance = new TmfUiRefreshHandler();
- }
- return fInstance;
- }
-
- /**
- * Cancel all current requests and dispose the handler.
- */
- public synchronized void dispose() {
- fUpdates.clear();
- fCurrentTask = null;
- }
-
- /**
- * Queue a UI update. Threads that want to benefit from "UI coalescing"
- * should send their {@link Runnable} to this method, instead of
- * {@link Display#asyncExec(Runnable)}.
- *
- * @param source
- * The source sending the request. Typically callers should use
- * "this". When multiple requests are queued before being
- * executed, only the latest request per source is actually sent.
- * @param task
- * The {@link Runnable} to execute in the UI thread.
- */
- public synchronized void queueUpdate(Object source, Runnable task) {
- fUpdates.put(source, task);
- if (fCurrentTask == null) {
- fCurrentTask = new RunAllUpdates();
- fCurrentTask.start();
- }
- }
-
- /**
- * Task to empty the update queue, and send each task to the UI thread.
- */
- private class RunAllUpdates extends Thread {
- @Override
- public void run() {
- while (true) {
- Runnable nextTask = null;
- synchronized (TmfUiRefreshHandler.this) {
- if (!fUpdates.isEmpty()) {
- Object firstKey = fUpdates.keySet().iterator().next();
- nextTask = fUpdates.get(firstKey);
- fUpdates.remove(firstKey);
- }
- if (nextTask == null) {
- /*
- * No updates remaining in the queue, put fCurrentTask
- * back to null so that a new task can be scheduled.
- */
- fCurrentTask = null;
- break;
- }
- }
- Display.getDefault().syncExec(nextTask);
- }
- }
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/analysis/TmfAnalysisViewOutput.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/analysis/TmfAnalysisViewOutput.java
deleted file mode 100644
index 1406333e34..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/analysis/TmfAnalysisViewOutput.java
+++ /dev/null
@@ -1,133 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013, 2014 École Polytechnique de Montréal
- *
- * 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:
- * Geneviève Bastien - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.analysis;
-
-import java.util.HashMap;
-import java.util.Map;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IExecutableExtension;
-import org.eclipse.jdt.annotation.NonNull;
-import org.eclipse.linuxtools.internal.tmf.ui.Activator;
-import org.eclipse.linuxtools.tmf.core.analysis.IAnalysisOutput;
-import org.eclipse.linuxtools.tmf.core.analysis.TmfAnalysisModuleOutputs;
-import org.eclipse.linuxtools.tmf.ui.project.model.Messages;
-import org.eclipse.linuxtools.tmf.ui.project.model.TraceUtils;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.ui.IViewPart;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.part.WorkbenchPart;
-import org.eclipse.ui.views.IViewDescriptor;
-
-/**
- * Class that implements analysis output as a view. This just opens the view.
- * The view itself needs to manage how and when it will execute the analysis and
- * display which output.
- *
- * @author Geneviève Bastien
- * @since 3.0
- */
-public class TmfAnalysisViewOutput implements IAnalysisOutput, IExecutableExtension {
-
- private String fViewId;
- private final Map<String, String> fProperties = new HashMap<>();
-
- /**
- * Default constructor
- */
- public TmfAnalysisViewOutput() {
-
- }
-
- /**
- * Constructor
- *
- * @param viewid
- * id of the view to display as output
- */
- public TmfAnalysisViewOutput(String viewid) {
- fViewId = viewid;
- }
-
- /**
- * Returns the view id of the corresponding view
- *
- * @return The view id
- */
- public String getViewId() {
- return fViewId;
- }
-
- @Override
- public String getName() {
- IViewDescriptor descr = PlatformUI.getWorkbench().getViewRegistry().find(fViewId);
- String viewName = (descr != null) ? descr.getLabel() : fViewId + Messages.TmfAnalysisViewOutput_ViewUnavailable;
- return viewName;
- }
-
- @Override
- public void requestOutput() {
- Display.getDefault().asyncExec(new Runnable() {
- @Override
- public void run() {
-
- try {
- final IWorkbench wb = PlatformUI.getWorkbench();
- final IWorkbenchPage activePage = wb.getActiveWorkbenchWindow().getActivePage();
-
- IViewPart view = activePage.showView(fViewId);
- if (!(fProperties.isEmpty()) && (view instanceof WorkbenchPart)) {
- WorkbenchPart wbPart = (WorkbenchPart) view;
- for (String key : fProperties.keySet()) {
- wbPart.setPartProperty(key, fProperties.get(key));
- }
- }
-
- } catch (final PartInitException e) {
- TraceUtils.displayErrorMsg(Messages.TmfAnalysisViewOutput_Title, "Error opening view " + getName() + e.getMessage()); //$NON-NLS-1$
- Activator.getDefault().logError("Error opening view " + getName(), e); //$NON-NLS-1$
- }
- }
- });
- }
-
- @Override
- public void setOutputProperty(@NonNull String key, String value, boolean immediate) {
- if (value == null) {
- fProperties.remove(key);
- } else {
- fProperties.put(key, value);
- /*
- * If the property is immediate, we forward it to the view if the
- * view is active
- */
- if (immediate) {
- final IWorkbench wb = PlatformUI.getWorkbench();
- final IWorkbenchPage activePage = wb.getActiveWorkbenchWindow().getActivePage();
- IViewPart view = activePage.findView(fViewId);
- if (view instanceof WorkbenchPart) {
- ((WorkbenchPart) view).setPartProperty(key, value);
- }
- }
- }
- }
-
- @Override
- public void setInitializationData(IConfigurationElement config, String propertyName, Object data) throws CoreException {
- fViewId = config.getAttribute(TmfAnalysisModuleOutputs.ID_ATTR);
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/editors/ITmfTraceEditor.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/editors/ITmfTraceEditor.java
deleted file mode 100644
index a8c5726eb5..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/editors/ITmfTraceEditor.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010, 2014 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:
- * Patrick Tasse - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.editors;
-
-import org.eclipse.linuxtools.tmf.core.trace.ITmfTrace;
-
-/**
- * The trace editor interface
- *
- * @version 1.0
- * @author Patrick Tasse
- */
-public interface ITmfTraceEditor {
-
- /**
- * Get the trace to which this editor is assigned
- *
- * @return The trace
- */
- ITmfTrace getTrace();
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/editors/TmfEditor.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/editors/TmfEditor.java
deleted file mode 100644
index 359a771925..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/editors/TmfEditor.java
+++ /dev/null
@@ -1,71 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010, 2014 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:
- * Patrick Tasse - Initial API and implementation
- * Bernd Hufmann - Add interface for broadcasting signals asynchronously
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.editors;
-
-import org.eclipse.linuxtools.tmf.core.component.ITmfComponent;
-import org.eclipse.linuxtools.tmf.core.signal.TmfSignal;
-import org.eclipse.linuxtools.tmf.core.signal.TmfSignalManager;
-import org.eclipse.ui.part.EditorPart;
-
-/**
- * The main editor abstract class for use in TMF.
- *
- * @version 1.0
- * @author Patrick Tasse
- */
-public abstract class TmfEditor extends EditorPart implements ITmfComponent {
-
- private final String fName;
-
- // ------------------------------------------------------------------------
- // Constructor
- // ------------------------------------------------------------------------
-
- /**
- * Default constructor
- */
- public TmfEditor() {
- super();
- fName = "TmfEditor"; //$NON-NLS-1$
- TmfSignalManager.register(this);
- }
-
- @Override
- public void dispose() {
- TmfSignalManager.deregister(this);
- super.dispose();
- }
-
- // ------------------------------------------------------------------------
- // ITmfComponent
- // ------------------------------------------------------------------------
-
- @Override
- public String getName() {
- return fName;
- }
-
- @Override
- public void broadcast(TmfSignal signal) {
- TmfSignalManager.dispatchSignal(signal);
- }
-
- /**
- * @since 3.0
- */
- @Override
- public void broadcastAsync(TmfSignal signal) {
- TmfSignalManager.dispatchSignalAsync(signal);
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/editors/TmfEditorInput.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/editors/TmfEditorInput.java
deleted file mode 100644
index 0a4618f458..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/editors/TmfEditorInput.java
+++ /dev/null
@@ -1,136 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010, 2013 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:
- * Patrick Tasse - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.editors;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.runtime.content.IContentType;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.linuxtools.tmf.core.trace.ITmfTrace;
-import org.eclipse.ui.IEditorInput;
-import org.eclipse.ui.IPersistableElement;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.ide.IDE;
-
-/**
- * The input interface for TMF editors.
- *
- * @version 1.0
- * @author Patrick Tasse
- */
-public class TmfEditorInput implements IEditorInput {
-
- private final IFile fFile;
- private final ITmfTrace fTrace;
-
- /**
- * Standard constructor
- *
- * @param file The IFile pointer
- * @param trace Reference to the trace
- */
- public TmfEditorInput(IFile file, ITmfTrace trace) {
- fFile = file;
- fTrace = trace;
- }
-
- @Override
- public Object getAdapter(Class adapter) {
- return null;
- }
-
- @Override
- public boolean exists() {
- /* prevent this input from appearing in "Files Most Recently Used" list,
- * as this causes lingering reference to ITmfTrace in the platform */
- return false;
- }
-
- @Override
- public ImageDescriptor getImageDescriptor() {
- IContentType contentType = IDE.getContentType(fFile);
- return PlatformUI.getWorkbench().getEditorRegistry()
- .getImageDescriptor(fFile.getName(), contentType);
- }
-
- @Override
- public String getName() {
- return fTrace.getName();
- }
-
- @Override
- public IPersistableElement getPersistable() {
- return null;
- }
-
- @Override
- public String getToolTipText() {
- return fFile.getFullPath().makeRelative().toString();
- }
-
- /**
- * Get this editor input's file object
- *
- * @return The IFile
- */
- public IFile getFile() {
- return fFile;
- }
-
- /**
- * Get this editor input's trace
- *
- * @return The trace
- */
- public ITmfTrace getTrace() {
- return fTrace;
- }
-
- @Override
- public int hashCode() {
- final int prime = 31;
- int result = 1;
- result = prime * result + ((fFile == null) ? 0 : fFile.getLocation().hashCode());
- result = prime * result + ((fTrace == null) ? 0 : fTrace.getName().hashCode());
- return result;
- }
-
- @Override
- public boolean equals(Object obj) {
- if (this == obj) {
- return true;
- }
- if (obj == null) {
- return false;
- }
- if (getClass() != obj.getClass()) {
- return false;
- }
- TmfEditorInput other = (TmfEditorInput) obj;
- if (fFile == null) {
- if (other.fFile != null) {
- return false;
- }
- } else if (!fFile.getLocation().equals(other.fFile.getLocation())) {
- return false;
- }
- if (fTrace == null) {
- if (other.fTrace != null) {
- return false;
- }
- } else if (!fTrace.getName().equals(other.fTrace.getName())) {
- return false;
- }
- return true;
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/editors/TmfEventsEditor.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/editors/TmfEventsEditor.java
deleted file mode 100644
index 1e5d385228..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/editors/TmfEventsEditor.java
+++ /dev/null
@@ -1,649 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010, 2014 Ericsson, École Polytechnique de Montréal
- *
- * 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:
- * Patrick Tasse - Initial API and implementation
- * Geneviève Bastien - Experiment instantiated with experiment type
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.editors;
-
-import java.util.Collection;
-import java.util.LinkedHashSet;
-import java.util.Set;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.resources.IMarkerDelta;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IResourceChangeEvent;
-import org.eclipse.core.resources.IResourceChangeListener;
-import org.eclipse.core.resources.IResourceDelta;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.InvalidRegistryObjectException;
-import org.eclipse.core.runtime.ListenerList;
-import org.eclipse.jdt.annotation.NonNull;
-import org.eclipse.jdt.annotation.Nullable;
-import org.eclipse.jface.action.IStatusLineManager;
-import org.eclipse.jface.util.SafeRunnable;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.ISelectionChangedListener;
-import org.eclipse.jface.viewers.ISelectionProvider;
-import org.eclipse.jface.viewers.SelectionChangedEvent;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.linuxtools.internal.tmf.ui.Activator;
-import org.eclipse.linuxtools.tmf.core.TmfCommonConstants;
-import org.eclipse.linuxtools.tmf.core.signal.TmfSignalHandler;
-import org.eclipse.linuxtools.tmf.core.signal.TmfTimestampFormatUpdateSignal;
-import org.eclipse.linuxtools.tmf.core.signal.TmfTraceClosedSignal;
-import org.eclipse.linuxtools.tmf.core.signal.TmfTraceOpenedSignal;
-import org.eclipse.linuxtools.tmf.core.signal.TmfTraceSelectedSignal;
-import org.eclipse.linuxtools.tmf.core.trace.ITmfContext;
-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.Messages;
-import org.eclipse.linuxtools.tmf.ui.project.model.TmfExperimentElement;
-import org.eclipse.linuxtools.tmf.ui.project.model.TmfOpenTraceHelper;
-import org.eclipse.linuxtools.tmf.ui.project.model.TmfProjectElement;
-import org.eclipse.linuxtools.tmf.ui.project.model.TmfProjectRegistry;
-import org.eclipse.linuxtools.tmf.ui.project.model.TmfTraceElement;
-import org.eclipse.linuxtools.tmf.ui.project.model.TmfTraceTypeUIUtils;
-import org.eclipse.linuxtools.tmf.ui.viewers.events.TmfEventsTable;
-import org.eclipse.linuxtools.tmf.ui.viewers.events.columns.TmfEventTableColumn;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.ui.IEditorInput;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.IEditorSite;
-import org.eclipse.ui.IFileEditorInput;
-import org.eclipse.ui.IPartListener;
-import org.eclipse.ui.IPropertyListener;
-import org.eclipse.ui.IReusableEditor;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.ide.IGotoMarker;
-import org.eclipse.ui.part.FileEditorInput;
-import org.eclipse.ui.views.properties.IPropertySheetPage;
-
-/**
- * Editor for TMF events
- *
- * @version 1.0
- * @author Patrick Tasse
- * @since 2.0
- */
-public class TmfEventsEditor extends TmfEditor implements ITmfTraceEditor, IReusableEditor, IPropertyListener, IResourceChangeListener, ISelectionProvider, ISelectionChangedListener, IPartListener, IGotoMarker {
-
- /** ID for this class */
- public static final String ID = "org.eclipse.linuxtools.tmf.ui.editors.events"; //$NON-NLS-1$
-
- private TmfEventsTable fEventsTable;
- private IFile fFile;
- private ITmfTrace fTrace;
- private Composite fParent;
- private ListenerList fSelectionChangedListeners = new ListenerList();
- private boolean fTraceSelected;
- private IMarker fPendingGotoMarker;
-
- @Override
- public void doSave(final IProgressMonitor monitor) {
- }
-
- @Override
- public void doSaveAs() {
- }
-
- @Override
- public void init(final IEditorSite site, IEditorInput input) throws PartInitException {
- IFileEditorInput fileEditorInput;
- if (input instanceof TmfEditorInput) {
- fFile = ((TmfEditorInput) input).getFile();
- fTrace = ((TmfEditorInput) input).getTrace();
- /* change the input to a FileEditorInput to allow open handlers to find this editor */
- fileEditorInput = new FileEditorInput(fFile);
- } else if (input instanceof IFileEditorInput) {
- fileEditorInput = (IFileEditorInput) input;
- fFile = fileEditorInput.getFile();
- if (fFile == null) {
- throw new PartInitException("Invalid IFileEditorInput: " + fileEditorInput); //$NON-NLS-1$
- }
- try {
- final String traceTypeId = fFile.getPersistentProperty(TmfCommonConstants.TRACETYPE);
- if (traceTypeId == null) {
- throw new PartInitException(Messages.TmfOpenTraceHelper_NoTraceType);
- }
- if (traceTypeId.equals(TmfExperiment.class.getCanonicalName())) {
- // Special case: experiment bookmark resource
- final TmfProjectElement project = TmfProjectRegistry.getProject(fFile.getProject(), true);
- if (project == null) {
- throw new PartInitException(Messages.TmfOpenTraceHelper_NoTraceType);
- }
- for (final TmfExperimentElement experimentElement : project.getExperimentsFolder().getExperiments()) {
- if (experimentElement.getResource().equals(fFile.getParent())) {
- setPartName(experimentElement.getName());
- super.setSite(site);
- super.setInput(fileEditorInput);
- TmfOpenTraceHelper.reopenTraceFromElement(experimentElement, this);
- return;
- }
- }
- } else if (traceTypeId.equals(TmfTrace.class.getCanonicalName())) {
- // Special case: trace bookmark resource
- final TmfProjectElement project = TmfProjectRegistry.getProject(fFile.getProject(), true);
- for (final TmfTraceElement traceElement : project.getTracesFolder().getTraces()) {
- if (traceElement.getResource().equals(fFile.getParent())) {
- setPartName(traceElement.getName());
- super.setSite(site);
- super.setInput(fileEditorInput);
- TmfOpenTraceHelper.reopenTraceFromElement(traceElement, this);
- return;
- }
- }
- } else {
- final TmfProjectElement project = TmfProjectRegistry.getProject(fFile.getProject(), true);
- for (final TmfTraceElement traceElement : project.getTracesFolder().getTraces()) {
- if (traceElement.getResource().equals(fFile)) {
- setPartName(traceElement.getName());
- super.setSite(site);
- super.setInput(fileEditorInput);
- TmfOpenTraceHelper.reopenTraceFromElement(traceElement, this);
- return;
- }
- }
- }
- } catch (final PartInitException e) {
- throw e;
- } catch (final InvalidRegistryObjectException e) {
- Activator.getDefault().logError("Error initializing TmfEventsEditor", e); //$NON-NLS-1$
- } catch (final CoreException e) {
- Activator.getDefault().logError("Error initializing TmfEventsEditor", e); //$NON-NLS-1$
- }
- } else {
- throw new PartInitException("Invalid IEditorInput: " + input.getClass()); //$NON-NLS-1$
- }
- if (fTrace == null) {
- throw new PartInitException("Invalid IEditorInput: " + fFile.getName()); //$NON-NLS-1$
- }
- super.setSite(site);
- super.setInput(fileEditorInput);
- }
-
- @Override
- public boolean isDirty() {
- return false;
- }
-
- @Override
- public boolean isSaveAsAllowed() {
- return false;
- }
-
- @Override
- public void setInput(final IEditorInput input) {
- super.setInput(input);
- firePropertyChange(IEditorPart.PROP_INPUT);
- }
-
- @Override
- public void propertyChanged(final Object source, final int propId) {
- if (propId == IEditorPart.PROP_INPUT && getEditorInput() instanceof TmfEditorInput) {
- if (fTrace != null) {
- broadcast(new TmfTraceClosedSignal(this, fTrace));
- }
- fTraceSelected = false;
- fFile = ((TmfEditorInput) getEditorInput()).getFile();
- fTrace = ((TmfEditorInput) getEditorInput()).getTrace();
- /* change the input to a FileEditorInput to allow open handlers to find this editor */
- super.setInput(new FileEditorInput(fFile));
- fEventsTable.dispose();
- if (fTrace != null) {
- setPartName(fTrace.getName());
- fEventsTable = createEventsTable(fParent, fTrace.getCacheSize());
- fEventsTable.addSelectionChangedListener(this);
- fEventsTable.setTrace(fTrace, true);
- fEventsTable.refreshBookmarks(fFile);
- if (fPendingGotoMarker != null) {
- fEventsTable.gotoMarker(fPendingGotoMarker);
- fPendingGotoMarker = null;
- }
-
- /* ensure start time is set */
- final ITmfContext context = fTrace.seekEvent(0);
- fTrace.getNext(context);
- context.dispose();
-
- broadcast(new TmfTraceOpenedSignal(this, fTrace, fFile));
- } else {
- setPartName(getEditorInput().getName());
- fEventsTable = new TmfEventsTable(fParent, 0);
- fEventsTable.addSelectionChangedListener(this);
- }
- fParent.layout();
- }
- }
-
- @Override
- public void createPartControl(final Composite parent) {
- fParent = parent;
- if (fTrace != null) {
- setPartName(fTrace.getName());
- fEventsTable = createEventsTable(parent, fTrace.getCacheSize());
- fEventsTable.addSelectionChangedListener(this);
- fEventsTable.setTrace(fTrace, true);
- fEventsTable.refreshBookmarks(fFile);
-
- /* ensure start time is set */
- final ITmfContext context = fTrace.seekEvent(0);
- fTrace.getNext(context);
- context.dispose();
-
- broadcast(new TmfTraceOpenedSignal(this, fTrace, fFile));
- } else {
- fEventsTable = new TmfEventsTable(parent, 0);
- fEventsTable.addSelectionChangedListener(this);
- }
- IStatusLineManager statusLineManager = getEditorSite().getActionBars().getStatusLineManager();
- fEventsTable.setStatusLineManager(statusLineManager);
- addPropertyListener(this);
- ResourcesPlugin.getWorkspace().addResourceChangeListener(this, IResourceChangeEvent.POST_CHANGE);
- // we need to wrap the ISelectionProvider interface in the editor because
- // the events table can be replaced later while the selection changed listener
- // is only added once by the platform to the selection provider set here
- getSite().setSelectionProvider(this);
- getSite().getPage().addPartListener(this);
- }
-
- @Override
- public void dispose() {
- if (getSite() != null) {
- getSite().getPage().removePartListener(this);
- }
- ResourcesPlugin.getWorkspace().removeResourceChangeListener(this);
- removePropertyListener(this);
- if (fTrace != null) {
- broadcast(new TmfTraceClosedSignal(this, fTrace));
- }
- if (fEventsTable != null) {
- fEventsTable.dispose();
- }
- super.dispose();
- }
-
- /**
- * Create the event table
- *
- * @param parent
- * The parent composite
- * @param cacheSize
- * The cache size
- * @return The event table instance
- */
- protected @NonNull TmfEventsTable createEventsTable(final Composite parent, final int cacheSize) {
- return getEventTable(fTrace, parent, cacheSize);
- }
-
- /**
- * Get the event table for the given trace. It will be of the type defined
- * by the extension point if applicable, else it will be a default table
- * with the extension-point-defined columns (if any).
- *
- * @param trace
- * The event table is for this trace
- * @param parent
- * The parent composite of the table
- * @param cacheSize
- * The cache size to use
- * @return The event table for the trace
- */
- private static @NonNull TmfEventsTable getEventTable(ITmfTrace trace,
- final Composite parent, final int cacheSize) {
- if (trace instanceof TmfExperiment) {
- return getExperimentEventTable((TmfExperiment) trace, parent, cacheSize);
- }
-
- TmfEventsTable table = TmfTraceTypeUIUtils.getEventTable(trace, parent, cacheSize);
- if (table != null) {
- /*
- * The trace type specified an event table type, we will give it to
- * them.
- */
- return table;
- }
-
- /*
- * The trace type did not specify an event table, we will use a default
- * table with the columns it asked for (if any).
- */
- Collection<? extends TmfEventTableColumn> columns = TmfTraceTypeUIUtils.getEventTableColumns(trace);
- if (columns != null) {
- return new TmfEventsTable(parent, cacheSize, columns);
- }
-
- /*
- * No columns were defined either, use a default table with the default
- * columns.
- */
- return new TmfEventsTable(parent, cacheSize);
-
- }
-
- /**
- * Get the events table for an experiment. If all traces in the experiment
- * are of the same type, use the same behavior as if it was one trace of
- * that type.
- *
- * @param experiment
- * the experiment
- * @param parent
- * the parent Composite
- * @param cacheSize
- * the event table cache size
- * @return An event table of the appropriate type
- */
- private static @NonNull TmfEventsTable getExperimentEventTable(
- final TmfExperiment experiment, final Composite parent,
- final int cacheSize) {
-
- String commonTraceType = getCommonTraceType(experiment);
- if (commonTraceType != null) {
- /*
- * All the traces in this experiment are of the same type, let's
- * just use the normal table for that type.
- */
- return getEventTable(experiment.getTraces()[0], parent, cacheSize);
- }
-
- /*
- * There are different trace types in the experiment, so we are
- * definitely using a TmfEventsTable. Aggregate the columns from all
- * trace types.
- */
- ITmfTrace[] traces = experiment.getTraces();
- Set<TmfEventTableColumn> cols = new LinkedHashSet<>();
-
- for (ITmfTrace trace : traces) {
- Collection<? extends TmfEventTableColumn> traceCols =
- TmfTraceTypeUIUtils.getEventTableColumns(trace);
- if (traceCols == null) {
- cols.addAll(TmfEventsTable.DEFAULT_COLUMNS);
- } else {
- cols.addAll(traceCols);
- }
- }
-
- return new TmfEventsTable(parent, cacheSize, cols);
- }
-
- /**
- * Check if an experiment contains traces of all the same type. If so,
- * returns this type as a String. If not, returns null.
- *
- * @param experiment
- * The experiment
- * @return The common trace type if there is one, or 'null' if there are
- * different types.
- */
- private static @Nullable String getCommonTraceType(TmfExperiment experiment) {
- String commonTraceType = null;
- try {
- for (final ITmfTrace trace : experiment.getTraces()) {
- final IResource resource = trace.getResource();
- if (resource == null) {
- return null;
- }
-
- final String traceType = resource.getPersistentProperty(TmfCommonConstants.TRACETYPE);
- if ((commonTraceType != null) && !commonTraceType.equals(traceType)) {
- return null;
- }
- commonTraceType = traceType;
- }
- } catch (CoreException e) {
- /*
- * One of the traces didn't advertise its type, we can't infer
- * anything.
- */
- return null;
- }
- return commonTraceType;
- }
-
- @Override
- public ITmfTrace getTrace() {
- return fTrace;
- }
-
- @Override
- public void setFocus() {
- fEventsTable.setFocus();
- }
-
- @Override
- public Object getAdapter(final Class adapter) {
- if (IGotoMarker.class.equals(adapter)) {
- if (fTrace == null || fEventsTable == null) {
- return this;
- }
- return fEventsTable;
- } else if (IPropertySheetPage.class.equals(adapter)) {
- return new UnsortedPropertySheetPage();
- }
- return super.getAdapter(adapter);
- }
-
- /**
- * @since 2.1
- */
- @Override
- public void gotoMarker(IMarker marker) {
- if (fTrace == null || fEventsTable == null) {
- fPendingGotoMarker = marker;
- } else {
- fEventsTable.gotoMarker(marker);
- }
- }
-
- @Override
- public void resourceChanged(final IResourceChangeEvent event) {
- for (final IMarkerDelta delta : event.findMarkerDeltas(IMarker.BOOKMARK, false)) {
- if (delta.getResource().equals(fFile)) {
- if (delta.getKind() == IResourceDelta.REMOVED) {
- final IMarker bookmark = delta.getMarker();
- Display.getDefault().asyncExec(new Runnable() {
- @Override
- public void run() {
- fEventsTable.removeBookmark(bookmark);
- }
- });
- } else if (delta.getKind() == IResourceDelta.CHANGED) {
- Display.getDefault().asyncExec(new Runnable() {
- @Override
- public void run() {
- fEventsTable.getTable().refresh();
- }
- });
- }
- }
- }
- }
-
- // ------------------------------------------------------------------------
- // ISelectionProvider
- // ------------------------------------------------------------------------
-
- /**
- * @since 2.0
- */
- @Override
- public void addSelectionChangedListener(ISelectionChangedListener listener) {
- fSelectionChangedListeners.add(listener);
- }
-
- /**
- * @since 2.0
- */
- @Override
- public ISelection getSelection() {
- if (fEventsTable == null) {
- return StructuredSelection.EMPTY;
- }
- return fEventsTable.getSelection();
- }
-
- /**
- * @since 2.0
- */
- @Override
- public void removeSelectionChangedListener(ISelectionChangedListener listener) {
- fSelectionChangedListeners.remove(listener);
- }
-
- /**
- * @since 2.0
- */
- @Override
- public void setSelection(ISelection selection) {
- // not implemented
- }
-
- /**
- * Notifies any selection changed listeners that the viewer's selection has changed.
- * Only listeners registered at the time this method is called are notified.
- *
- * @param event a selection changed event
- *
- * @see ISelectionChangedListener#selectionChanged
- * @since 2.0
- */
- protected void fireSelectionChanged(final SelectionChangedEvent event) {
- Object[] listeners = fSelectionChangedListeners.getListeners();
- for (int i = 0; i < listeners.length; ++i) {
- final ISelectionChangedListener l = (ISelectionChangedListener) listeners[i];
- SafeRunnable.run(new SafeRunnable() {
- @Override
- public void run() {
- l.selectionChanged(event);
- }
- });
- }
- }
-
- // ------------------------------------------------------------------------
- // ISelectionChangedListener
- // ------------------------------------------------------------------------
-
- /**
- * @since 2.0
- */
- @Override
- public void selectionChanged(SelectionChangedEvent event) {
- fireSelectionChanged(event);
- }
-
- // ------------------------------------------------------------------------
- // IPartListener
- // ------------------------------------------------------------------------
-
- /**
- * @since 2.0
- */
- @Override
- public void partActivated(IWorkbenchPart part) {
- if (part == this && fTrace != null) {
- if (fTraceSelected) {
- return;
- }
- fTraceSelected = true;
- broadcast(new TmfTraceSelectedSignal(this, fTrace));
- }
- }
-
- /**
- * @since 2.0
- */
- @Override
- public void partBroughtToTop(IWorkbenchPart part) {
- if (part == this && fTrace != null) {
- if (fTraceSelected) {
- return;
- }
- fTraceSelected = true;
- broadcast(new TmfTraceSelectedSignal(this, fTrace));
- }
- }
-
- /**
- * @since 2.0
- */
- @Override
- public void partClosed(IWorkbenchPart part) {
- }
-
- /**
- * @since 2.0
- */
- @Override
- public void partDeactivated(IWorkbenchPart part) {
- }
-
- /**
- * @since 2.0
- */
- @Override
- public void partOpened(IWorkbenchPart part) {
- }
-
- // ------------------------------------------------------------------------
- // Global commands
- // ------------------------------------------------------------------------
-
- /**
- * Add a bookmark
- */
- public void addBookmark() {
- fEventsTable.addBookmark(fFile);
- }
-
-
- // ------------------------------------------------------------------------
- // Signal handlers
- // ------------------------------------------------------------------------
-
- /**
- * Handler for the Trace Selected signal
- *
- * @param signal The incoming signal
- */
- @TmfSignalHandler
- public void traceSelected(final TmfTraceSelectedSignal signal) {
- if ((signal.getSource() != this)) {
- if (signal.getTrace().equals(fTrace)) {
- getSite().getPage().bringToTop(this);
- } else {
- fTraceSelected = false;
- }
- }
- }
-
- /**
- * Update the display to use the updated timestamp format
- *
- * @param signal the incoming signal
- * @since 2.0
- */
- @TmfSignalHandler
- public void timestampFormatUpdated(TmfTimestampFormatUpdateSignal signal) {
- if (fEventsTable != null) {
- fEventsTable.refresh();
- }
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/editors/TmfMultiPageEditorPart.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/editors/TmfMultiPageEditorPart.java
deleted file mode 100644
index 1b9fbd91db..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/editors/TmfMultiPageEditorPart.java
+++ /dev/null
@@ -1,62 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010, 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:
- * Patrick Tasse - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.editors;
-
-import org.eclipse.linuxtools.tmf.core.component.ITmfComponent;
-import org.eclipse.linuxtools.tmf.core.signal.TmfSignal;
-import org.eclipse.linuxtools.tmf.core.signal.TmfSignalManager;
-import org.eclipse.ui.part.MultiPageEditorPart;
-
-/**
- * Multi-page editor part abstract class for use in TMF.
- *
- * @version 1.0
- * @author Patrick Tasse
- */
-public abstract class TmfMultiPageEditorPart extends MultiPageEditorPart implements ITmfComponent {
-
- private final String fName;
-
- // ------------------------------------------------------------------------
- // Constructor
- // ------------------------------------------------------------------------
-
- /**
- * Default constructor
- */
- public TmfMultiPageEditorPart() {
- super();
- fName = "TmfMultiPageEditorPart"; //$NON-NLS-1$
- TmfSignalManager.register(this);
- }
-
- @Override
- public void dispose() {
- TmfSignalManager.deregister(this);
- super.dispose();
- }
-
- // ------------------------------------------------------------------------
- // ITmfComponent
- // ------------------------------------------------------------------------
-
- @Override
- public String getName() {
- return fName;
- }
-
- @Override
- public void broadcast(TmfSignal signal) {
- TmfSignalManager.dispatchSignal(signal);
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/editors/UnsortedPropertySheetPage.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/editors/UnsortedPropertySheetPage.java
deleted file mode 100644
index 88f097e851..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/editors/UnsortedPropertySheetPage.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2012, 2013 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:
- * Patrick Tasse - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.editors;
-
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.ui.views.properties.IPropertySheetEntry;
-import org.eclipse.ui.views.properties.PropertySheetPage;
-import org.eclipse.ui.views.properties.PropertySheetSorter;
-
-/**
- * Property sheet page with empty sorter
- *
- * @version 1.0
- * @author Patrick Tasse
- * @since 2.0
- */
-public class UnsortedPropertySheetPage extends PropertySheetPage {
-
- @Override
- public void createControl(Composite parent) {
- super.createControl(parent);
- // Override for unsorted property sheet page
- // See bug 1883 comment 43 and bug 109617
- setSorter(new PropertySheetSorter() {
- @Override
- public void sort(IPropertySheetEntry[] entries) {
- }
- });
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/project/model/ITmfProjectModelElement.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/project/model/ITmfProjectModelElement.java
deleted file mode 100644
index 1386c23858..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/project/model/ITmfProjectModelElement.java
+++ /dev/null
@@ -1,87 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010, 2013 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.ui.project.model;
-
-import java.net.URI;
-import java.util.List;
-
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.IPath;
-
-/**
- * The TMF project model interface.
- *
- * The TMF tracing project is integrated in the Common Navigator framework.
- * Each tracing tree element has to implement this interface to be visible in the
- * Project Explorer.
- *
- * @version 1.0
- * @author Francois Chouinard
- */
-public interface ITmfProjectModelElement {
-
- /**
- * Returns the name of the project model element.
- * @return the name of the project element.
- */
- String getName();
- /**
- * Returns the resource associated with the project model element.
- * @return the model resource.
- */
- IResource getResource();
- /**
- * Returns the path of the project model resource.
- * @return the resource path.
- */
- IPath getPath();
- /**
- * Returns the URI (location) of the resource.
- * @return the resource URI.
- */
- URI getLocation();
- /**
- * Returns the project model element.
- * @return the project model element.
- */
- TmfProjectElement getProject();
- /**
- * Returns the parent of this model element.
- * @return the parent of this model element.
- */
- ITmfProjectModelElement getParent();
- /**
- * Returns whether this model element has children or not.
- * @return <code>true</code> if this model has children else <code>false</code>
- */
- boolean hasChildren();
- /**
- * Returns a list of children model elements.
- * @return a list of children model elements.
- */
- List<ITmfProjectModelElement> getChildren();
- /**
- * Method to add a child to the model element.
- * @param child A child element to add.
- */
- void addChild(ITmfProjectModelElement child);
- /**
- * Method to remove a child from the model element.
- * @param child A child element to remove
- */
- void removeChild(ITmfProjectModelElement child);
- /**
- * Method to request to refresh the project.
- */
- void refresh();
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/project/model/ITmfStyledProjectModelElement.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/project/model/ITmfStyledProjectModelElement.java
deleted file mode 100644
index 67d9541098..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/project/model/ITmfStyledProjectModelElement.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 École Polytechnique de Montréal
- *
- * 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:
- * Geneviève Bastien - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.project.model;
-
-import org.eclipse.jdt.annotation.Nullable;
-import org.eclipse.jface.viewers.StyledString.Styler;
-
-/**
- * This interface can be implemented by elements to a style to their text.
- *
- * @author Geneviève Bastien
- * @since 3.0
- */
-public interface ITmfStyledProjectModelElement {
-
- /**
- * Return the styler who will apply its style to the text string.
- *
- * @return The style object, or 'null' for no special style
- */
- @Nullable
- Styler getStyler();
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/project/model/Messages.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/project/model/Messages.java
deleted file mode 100644
index 9d845daf01..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/project/model/Messages.java
+++ /dev/null
@@ -1,146 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013, 2014 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:
- * Jean-Christian Kouamé - Initial API and implementation
- * Patrick Tasse - Add support for source location
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.project.model;
-
-import org.eclipse.osgi.util.NLS;
-
-/**
- * Message strings for TMF model handling.
- *
- * @author Jean-Christian Kouamé
- * @since 2.1
- */
-public class Messages extends NLS {
-
- private static final String BUNDLE_NAME = "org.eclipse.linuxtools.tmf.ui.project.model.messages"; //$NON-NLS-1$
-
- /** Instantiate analysis message box title
- * @since 3.0*/
- public static String TmfAnalysisElement_InstantiateAnalysis;
-
- /** The message when analysis view is not available
- * @since 3.0*/
- public static String TmfAnalysisViewOutput_ViewUnavailable;
- /** Analysis view title
- * @since 3.0 */
- public static String TmfAnalysisViewOutput_Title;
-
- /** Error message when closing editor
- * @since 3.0 */
- public static String TmfCommonProjectElement_ErrorClosingEditor;
-
- /** Error message when refreshing persistent property
- * @since 3.0 */
- public static String TmfCommonProjectElement_ErrorRefreshingProperty;
-
- /** Error message when instantiating trace
- * @since 3.0 */
- public static String TmfExperimentElement_ErrorInstantiatingTrace;
- /** Experiment text
- * @since 3.0*/
- public static String TmfExperimentElement_TypeName;
-
- /** The category of the resource properties */
- public static String TmfTraceElement_ResourceProperties;
-
- /** The category of the trace properties */
- public static String TmfTraceElement_TraceProperties;
-
- /** The descriptor for the name property */
- public static String TmfTraceElement_Name;
-
- /** The descriptor for the path property */
- public static String TmfTraceElement_Path;
-
- /** The descriptor for the location properties */
- public static String TmfTraceElement_Location;
-
- /** The descriptor for the event type property */
- public static String TmfTraceElement_EventType;
-
- /** The descriptor for the linked property */
- public static String TmfTraceElement_IsLinked;
-
- /** The descriptor for the source location property
- * @since 3.0*/
- public static String TmfTraceElement_SourceLocation;
-
- /** The descriptor for the time offset property
- * @since 3.2*/
- public static String TmfTraceElement_TimeOffset;
-
- /** The descriptor for the last modified property
- * @since 3.2 */
- public static String TmfTraceElement_LastModified;
-
- /** The descriptor for the size property
- * @since 3.2 */
- public static String TmfTraceElement_Size;
-
- /** The format string for the size property of a file
- * @since 3.2 */
- public static String TmfTraceElement_FileSizeString;
-
- /** The format string for the size property of a folder
- * @since 3.2 */
- public static String TmfTraceElement_FolderSizeString;
-
- /** The format string for the size property of a folder with too many members
- * @since 3.2 */
- public static String TmfTraceElement_FolderSizeOverflowString;
-
- /** Trace text
- * @since 3.0*/
- public static String TmfTraceElement_TypeName;
- /**
- * The title for the select trace type dialog
- * @since 2.2
- * */
- public static String TmfTraceType_SelectTraceType;
-
- /** Error opening a trace or experiment
- * @since 3.0*/
- public static String TmfOpenTraceHelper_ErrorOpeningElement;
- /** Could not link trace */
- public static String TmfOpenTraceHelper_LinkFailed;
- /** No trace type match */
- public static String TmfOpenTraceHelper_NoTraceTypeMatch;
- /** Open trace or experiment
- * @since 3.0*/
- public static String TmfOpenTraceHelper_OpenElement;
- /** Reduce was too efficient, no candidates found! */
- public static String TmfOpenTraceHelper_ReduceError;
- /** No trace or experiment type
- * @since 3.0*/
- public static String TmfOpenTraceHelper_NoTraceOrExperimentType;
- /** No trace type */
- public static String TmfOpenTraceHelper_NoTraceType;
- /** Error opening trace or experiment
- * @since 3.0*/
- public static String TmfOpenTraceHelper_ErrorElement;
- /** Init error */
- public static String TmfOpenTraceHelper_InitError;
- /** Trace not found
- * @since 3.0*/
- public static String TmfOpenTraceHelper_TraceNotFound;
-
-
- static {
- // initialize resource bundle
- NLS.initializeMessages(BUNDLE_NAME, Messages.class);
- }
-
- private Messages() {
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/project/model/TmfAnalysisElement.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/project/model/TmfAnalysisElement.java
deleted file mode 100644
index 0b479a33df..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/project/model/TmfAnalysisElement.java
+++ /dev/null
@@ -1,254 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013, 2014 École Polytechnique de Montréal
- *
- * 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:
- * Geneviève Bastien - Initial API and implementation
- * Patrick Tasse - Add support for folder elements
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.project.model;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.core.resources.IFolder;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.jface.viewers.StyledString.Styler;
-import org.eclipse.linuxtools.tmf.core.analysis.IAnalysisModule;
-import org.eclipse.linuxtools.tmf.core.analysis.IAnalysisModuleHelper;
-import org.eclipse.linuxtools.tmf.core.analysis.IAnalysisOutput;
-import org.eclipse.linuxtools.tmf.core.analysis.TmfAnalysisManager;
-import org.eclipse.linuxtools.tmf.core.trace.ITmfTrace;
-import org.eclipse.swt.graphics.TextStyle;
-import org.osgi.framework.Bundle;
-
-/**
- * Class for project elements of type analysis modules
- *
- * @author Geneviève Bastien
- * @since 3.0
- */
-public class TmfAnalysisElement extends TmfProjectModelElement implements ITmfStyledProjectModelElement {
-
- private static final Styler ANALYSIS_CANT_EXECUTE_STYLER = new Styler() {
- @Override
- public void applyStyles(TextStyle textStyle) {
- textStyle.strikeout = true;
- }
- };
-
- private final String fAnalysisId;
- private boolean fCanExecute = true;
-
- /**
- * Constructor
- *
- * @param name
- * Name of the analysis
- * @param resource
- * The resource
- * @param parent
- * Parent of the analysis
- * @param id
- * The analysis module id
- */
- protected TmfAnalysisElement(String name, IResource resource, ITmfProjectModelElement parent, String id) {
- super(name, resource, parent);
- fAnalysisId = id;
- parent.addChild(this);
- }
-
- // ------------------------------------------------------------------------
- // TmfProjectModelElement
- // ------------------------------------------------------------------------
-
- @Override
- void refreshChildren() {
- fCanExecute = true;
-
- /* Refresh the outputs of this analysis */
- Map<String, TmfAnalysisOutputElement> childrenMap = new HashMap<>();
- for (TmfAnalysisOutputElement output : getAvailableOutputs()) {
- childrenMap.put(output.getName(), output);
- }
-
- IAnalysisModuleHelper helper = TmfAnalysisManager.getAnalysisModule(fAnalysisId);
- if (helper == null) {
- deleteOutputs();
- return;
- }
-
- /** Get base path for resource */
- IPath path = getProject().getTracesFolder().getPath();
- if (fResource instanceof IFolder) {
- path = ((IFolder) fResource).getFullPath();
- }
-
- /*
- * We can get a list of available outputs once the analysis is
- * instantiated when the trace is opened
- */
- ITmfProjectModelElement parent = getParent();
- if (parent instanceof TmfCommonProjectElement) {
- ITmfTrace trace = ((TmfCommonProjectElement) parent).getTrace();
- if (trace == null) {
- deleteOutputs();
- return;
- }
-
- IAnalysisModule module = trace.getAnalysisModule(fAnalysisId);
- if (module == null) {
- deleteOutputs();
- /*
- * Trace is opened, but the analysis is null, so it does not
- * apply
- */
- fCanExecute = false;
- return;
- }
-
- for (IAnalysisOutput output : module.getOutputs()) {
- TmfAnalysisOutputElement outputElement = childrenMap.remove(output.getName());
- if (outputElement == null) {
- IFolder newresource = ResourcesPlugin.getWorkspace().getRoot().getFolder(path.append(output.getName()));
- outputElement = new TmfAnalysisOutputElement(output.getName(), newresource, this, output);
- }
- outputElement.refreshChildren();
- }
-
- }
- /* Remove outputs that are not children of this analysis anymore */
- for (TmfAnalysisOutputElement output : childrenMap.values()) {
- removeChild(output);
- }
- }
-
- // ------------------------------------------------------------------------
- // TmfProjectModelElement
- // ------------------------------------------------------------------------
-
- @Override
- public Styler getStyler() {
- if (!fCanExecute) {
- return ANALYSIS_CANT_EXECUTE_STYLER;
- }
- return null;
- }
-
- // ------------------------------------------------------------------------
- // Operations
- // ------------------------------------------------------------------------
-
- /**
- * Get the list of analysis output model elements under this analysis
- *
- * @return Array of analysis output elements
- */
- public List<TmfAnalysisOutputElement> getAvailableOutputs() {
- List<ITmfProjectModelElement> children = getChildren();
- List<TmfAnalysisOutputElement> outputs = new ArrayList<>();
- for (ITmfProjectModelElement child : children) {
- if (child instanceof TmfAnalysisOutputElement) {
- outputs.add((TmfAnalysisOutputElement) child);
- }
- }
- return outputs;
- }
-
- /**
- * Gets the analysis id of this module
- *
- * @return The analysis id
- */
- public String getAnalysisId() {
- return fAnalysisId;
- }
-
- /**
- * Gets the help message for this analysis
- *
- * @return The help message
- */
- public String getHelpMessage() {
- ITmfProjectModelElement parent = getParent();
-
- ITmfTrace trace = null;
- if (parent instanceof TmfTraceElement) {
- TmfTraceElement traceElement = (TmfTraceElement) parent;
- trace = traceElement.getTrace();
- if (trace != null) {
- IAnalysisModule module = trace.getAnalysisModule(fAnalysisId);
- if (module != null) {
- return module.getHelpText(trace);
- }
- }
- }
-
- IAnalysisModuleHelper helper = TmfAnalysisManager.getAnalysisModule(fAnalysisId);
- if (helper == null) {
- return new String();
- }
-
- if (trace != null) {
- return helper.getHelpText(trace);
- }
-
- return helper.getHelpText();
- }
-
- /**
- * Gets the icon file name for the analysis
- *
- * @return The analysis icon file name
- */
- public String getIconFile() {
- IAnalysisModuleHelper helper = TmfAnalysisManager.getAnalysisModule(fAnalysisId);
- if (helper == null) {
- return null;
- }
- return helper.getIcon();
- }
-
- /**
- * Gets the bundle this analysis is from
- *
- * @return The analysis bundle
- */
- public Bundle getBundle() {
- IAnalysisModuleHelper helper = TmfAnalysisManager.getAnalysisModule(fAnalysisId);
- if (helper == null) {
- return null;
- }
- return helper.getBundle();
- }
-
- /** Delete all outputs under this analysis element */
- private void deleteOutputs() {
- for (TmfAnalysisOutputElement output : getAvailableOutputs()) {
- removeChild(output);
- }
- }
-
- /**
- * Make sure the trace this analysis is associated to is the currently
- * selected one
- */
- public void activateParent() {
- ITmfProjectModelElement parent = getParent();
-
- if (parent instanceof TmfTraceElement) {
- TmfTraceElement traceElement = (TmfTraceElement) parent;
- TmfOpenTraceHelper.openTraceFromElement(traceElement);
- }
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/project/model/TmfAnalysisOutputElement.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/project/model/TmfAnalysisOutputElement.java
deleted file mode 100644
index 27d337709c..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/project/model/TmfAnalysisOutputElement.java
+++ /dev/null
@@ -1,86 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013, 2014 École Polytechnique de Montréal
- *
- * 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:
- * Geneviève Bastien - Initial API and implementation
- * Patrick Tasse - Add support for folder elements
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.project.model;
-
-import org.eclipse.core.resources.IResource;
-import org.eclipse.linuxtools.internal.tmf.ui.Activator;
-import org.eclipse.linuxtools.tmf.core.analysis.IAnalysisOutput;
-import org.eclipse.linuxtools.tmf.ui.analysis.TmfAnalysisViewOutput;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.views.IViewDescriptor;
-
-/**
- * Class for project elements of type analysis output
- *
- * @author Geneviève Bastien
- * @since 3.0
- */
-public class TmfAnalysisOutputElement extends TmfProjectModelElement {
-
- private final IAnalysisOutput fOutput;
-
- /**
- * Constructor
- *
- * @param name
- * Name of the view
- * @param resource
- * Resource for the view
- * @param parent
- * Parent analysis of the view
- * @param output
- * The output object
- */
- protected TmfAnalysisOutputElement(String name, IResource resource, ITmfProjectModelElement parent, IAnalysisOutput output) {
- super(name, resource, parent);
- fOutput = output;
- parent.addChild(this);
- }
-
- /**
- * Gets the icon of the view, if applicable
- *
- * @return The view icon or null if output is not a view
- */
- public Image getIcon() {
- if (fOutput instanceof TmfAnalysisViewOutput) {
- IViewDescriptor descr = PlatformUI.getWorkbench().getViewRegistry().find(
- ((TmfAnalysisViewOutput) fOutput).getViewId());
- if (descr != null) {
- Activator bundle = Activator.getDefault();
- String key = descr.getId();
- Image icon = bundle.getImageRegistry().get(key);
- if (icon == null) {
- icon = descr.getImageDescriptor().createImage();
- bundle.getImageRegistry().put(key, icon);
- }
- return icon;
- }
- }
- return null;
- }
-
- /**
- * Outputs the analysis
- */
- public void outputAnalysis() {
- ITmfProjectModelElement parent = getParent();
- if (parent instanceof TmfAnalysisElement) {
- ((TmfAnalysisElement) parent).activateParent();
- fOutput.requestOutput();
- }
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/project/model/TmfCommonProjectElement.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/project/model/TmfCommonProjectElement.java
deleted file mode 100644
index 1827caa131..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/project/model/TmfCommonProjectElement.java
+++ /dev/null
@@ -1,571 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010, 2014 Ericsson, École Polytechnique de Montréal
- *
- * 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:
- * Bernd Hufmann - Added supplementary files handling (in class TmfTraceElement)
- * Geneviève Bastien - Copied supplementary files handling from TmfTracElement
- * Moved to this class code to copy a model element
- * Renamed from TmfWithFolderElement to TmfCommonProjectElement
- * Patrick Tasse - Add support for folder elements
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.project.model;
-
-import java.io.ByteArrayInputStream;
-import java.io.InputStream;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.core.resources.IContainer;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IFolder;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.linuxtools.internal.tmf.ui.Activator;
-import org.eclipse.linuxtools.tmf.core.TmfCommonConstants;
-import org.eclipse.linuxtools.tmf.core.analysis.IAnalysisModuleHelper;
-import org.eclipse.linuxtools.tmf.core.analysis.TmfAnalysisManager;
-import org.eclipse.linuxtools.tmf.core.project.model.TmfTraceType;
-import org.eclipse.linuxtools.tmf.core.project.model.TraceTypeHelper;
-import org.eclipse.linuxtools.tmf.core.signal.TmfSignalHandler;
-import org.eclipse.linuxtools.tmf.core.signal.TmfSignalManager;
-import org.eclipse.linuxtools.tmf.core.signal.TmfTraceOpenedSignal;
-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.core.trace.TmfTraceManager;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.ui.IEditorReference;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.part.FileEditorInput;
-
-/**
- * Base class for tracing project elements: it implements the common behavior of
- * all project elements: supplementary files, analysis, types, etc.
- *
- * @author Geneviève Bastien
- * @since 3.0
- */
-public abstract class TmfCommonProjectElement extends TmfProjectModelElement {
-
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
-
- // This trace type ID as defined in plugin.xml
- private String fTraceTypeId = null;
-
- private static final String BOOKMARKS_HIDDEN_FILE = ".bookmarks"; //$NON-NLS-1$
-
- // ------------------------------------------------------------------------
- // Constructors
- // ------------------------------------------------------------------------
-
- /**
- * Constructor. Creates model element.
- *
- * @param name
- * The name of the element
- * @param resource
- * The resource.
- * @param parent
- * The parent element
- */
- public TmfCommonProjectElement(String name, IResource resource, TmfProjectModelElement parent) {
- super(name, resource, parent);
- parent.addChild(this);
- refreshTraceType();
- TmfSignalManager.register(this);
- }
-
- // ------------------------------------------------------------------------
- // TmfProjectModelElement
- // ------------------------------------------------------------------------
-
- @Override
- void refreshChildren() {
-
- /* Refreshes the analysis under this trace */
- Map<String, TmfAnalysisElement> childrenMap = new HashMap<>();
- for (TmfAnalysisElement analysis : getAvailableAnalysis()) {
- childrenMap.put(analysis.getAnalysisId(), analysis);
- }
-
- TraceTypeHelper helper = TmfTraceType.getTraceType(getTraceType());
-
- Class<? extends ITmfTrace> traceClass = null;
-
- if (helper != null) {
- traceClass = helper.getTraceClass();
- }
-
- /* Remove all analysis and return */
- if (traceClass == null) {
- for (TmfAnalysisElement analysis : childrenMap.values()) {
- removeChild(analysis);
- }
- return;
- }
-
- /** Get the base path to put the resource to */
- IPath path = fResource.getFullPath();
-
- /* Add all new analysis modules or refresh outputs of existing ones */
- for (IAnalysisModuleHelper module : TmfAnalysisManager.getAnalysisModules(traceClass).values()) {
-
- /* If the analysis is not a child of the trace, create it */
- TmfAnalysisElement analysis = childrenMap.remove(module.getId());
- if (analysis == null) {
- /**
- * No need for the resource to exist, nothing will be done with
- * it
- */
- IFolder newresource = ResourcesPlugin.getWorkspace().getRoot().getFolder(path.append(module.getId()));
- analysis = new TmfAnalysisElement(module.getName(), newresource, this, module.getId());
- }
- analysis.refreshChildren();
- }
-
- /* Remove analysis that are not children of this trace anymore */
- for (TmfAnalysisElement analysis : childrenMap.values()) {
- removeChild(analysis);
- }
- }
-
- // ------------------------------------------------------------------------
- // Operations
- // ------------------------------------------------------------------------
-
- /**
- * Returns the trace type ID.
- *
- * @return trace type ID.
- */
- public String getTraceType() {
- return fTraceTypeId;
- }
-
- /**
- * Refreshes the trace type field by reading the trace type persistent
- * property of the resource.
- */
- public void refreshTraceType() {
- try {
- fTraceTypeId = TmfTraceType.getTraceTypeId(getResource());
- } catch (CoreException e) {
- Activator.getDefault().logError(NLS.bind(Messages.TmfCommonProjectElement_ErrorRefreshingProperty, getName()), e);
- }
- }
-
- /**
- * Instantiate a <code>ITmfTrace</code> object based on the trace type and
- * the corresponding extension.
- *
- * @return the <code>ITmfTrace</code> or <code>null</code> for an error
- */
- public abstract ITmfTrace instantiateTrace();
-
- /**
- * Return the supplementary folder path for this element. The returned path
- * is relative to the project's supplementary folder.
- *
- * @return The supplementary folder path for this element
- */
- protected String getSupplementaryFolderPath() {
- return getElementPath() + getSuffix();
- }
-
- /**
- * Return the element path relative to its common element (traces folder,
- * experiments folder or experiment element).
- *
- * @return The element path
- */
- public String getElementPath() {
- ITmfProjectModelElement parent = getParent();
- while (!(parent instanceof TmfTracesFolder || parent instanceof TmfExperimentElement || parent instanceof TmfExperimentFolder)) {
- parent = parent.getParent();
- }
- IPath path = fResource.getFullPath().makeRelativeTo(parent.getPath());
- return path.toString();
- }
-
- /**
- * @return The suffix for the supplementary folder
- */
- protected String getSuffix() {
- return ""; //$NON-NLS-1$
- }
-
- /**
- * Returns a list of TmfTraceElements contained in project element.
- *
- * @return a list of TmfTraceElements, empty list if none
- */
- public List<TmfTraceElement> getTraces() {
- return new ArrayList<>();
- }
-
- /**
- * Get the instantiated trace associated with this element.
- *
- * @return The instantiated trace or null if trace is not (yet) available
- */
- public ITmfTrace getTrace() {
- for (ITmfTrace trace : TmfTraceManager.getInstance().getOpenedTraces()) {
- if (trace.getResource().equals(getResource())) {
- return trace;
- }
- }
- return null;
- }
-
- /**
- * Returns the file resource used to store bookmarks after creating it if
- * necessary. If the trace resource is a file, it is returned directly. If
- * the trace resource is a folder, a linked file is returned. The file will
- * be created if it does not exist.
- *
- * @return the bookmarks file
- * @throws CoreException
- * if the bookmarks file cannot be created
- */
- public abstract IFile createBookmarksFile() throws CoreException;
-
- /**
- * Actually returns the bookmark file or creates it in the project element's
- * folder
- *
- * @param bookmarksFolder
- * Folder where to put the bookmark file
- * @param traceType
- * The canonical name to set as tracetype
- * @return The bookmark file
- * @throws CoreException
- * if the bookmarks file cannot be created
- */
- protected IFile createBookmarksFile(IFolder bookmarksFolder, String traceType) throws CoreException {
- IFile file = getBookmarksFile();
- if (!file.exists()) {
- final IFile bookmarksFile = bookmarksFolder.getFile(BOOKMARKS_HIDDEN_FILE);
- if (!bookmarksFile.exists()) {
- final InputStream source = new ByteArrayInputStream(new byte[0]);
- bookmarksFile.create(source, IResource.FORCE | IResource.HIDDEN, null);
- }
- file.createLink(bookmarksFile.getLocation(), IResource.REPLACE | IResource.HIDDEN, null);
- file.setPersistentProperty(TmfCommonConstants.TRACETYPE, traceType);
- }
- return file;
- }
-
- /**
- * Returns the optional editor ID from the trace type extension.
- *
- * @return the editor ID or <code>null</code> if not defined.
- */
- public abstract String getEditorId();
-
- /**
- * Returns the file resource used to store bookmarks. The file may not
- * exist.
- *
- * @return the bookmarks file
- */
- public IFile getBookmarksFile() {
- final IFolder folder = (IFolder) fResource;
- IFile file = folder.getFile(getName() + '_');
- return file;
- }
-
- /**
- * Close open editors associated with this experiment.
- */
- public void closeEditors() {
- IFile file = getBookmarksFile();
- FileEditorInput input = new FileEditorInput(file);
- IWorkbench wb = PlatformUI.getWorkbench();
- for (IWorkbenchWindow wbWindow : wb.getWorkbenchWindows()) {
- for (IWorkbenchPage wbPage : wbWindow.getPages()) {
- for (IEditorReference editorReference : wbPage.getEditorReferences()) {
- try {
- if (editorReference.getEditorInput().equals(input)) {
- wbPage.closeEditor(editorReference.getEditor(false), false);
- }
- } catch (PartInitException e) {
- Activator.getDefault().logError(NLS.bind(Messages.TmfCommonProjectElement_ErrorClosingEditor, getName()), e);
- }
- }
- }
- }
- }
-
- /**
- * Get a friendly name for the type of element this common project element
- * is, to be displayed in UI messages.
- *
- * @return A string for the type of project element this object is, for
- * example "trace" or "experiment"
- */
- public abstract String getTypeName();
-
- /**
- * Copy this model element
- *
- * @param newName
- * The name of the new element
- * @param copySuppFiles
- * Whether to copy supplementary files or not
- * @return the new Resource object
- */
- public IResource copy(final String newName, final boolean copySuppFiles) {
-
- final IPath newPath = getParent().getResource().getFullPath().addTrailingSeparator().append(newName);
-
- /* Copy supplementary files first, only if needed */
- if (copySuppFiles) {
- String newElementPath = new Path(getElementPath()).removeLastSegments(1).append(newName).toString();
- copySupplementaryFolder(newElementPath);
- }
- /* Copy the trace */
- try {
- getResource().copy(newPath, IResource.FORCE | IResource.SHALLOW, null);
- IResource trace = ((IFolder) getParent().getResource()).findMember(newName);
-
- /* Delete any bookmarks file found in copied trace folder */
- if (trace instanceof IFolder) {
- IFolder folderTrace = (IFolder) trace;
- for (IResource member : folderTrace.members()) {
- String traceTypeId = TmfTraceType.getTraceTypeId(member);
- if (TmfTrace.class.getCanonicalName().equals(traceTypeId)) {
- member.delete(true, null);
- } else if (TmfExperiment.class.getCanonicalName().equals(traceTypeId)) {
- member.delete(true, null);
- }
- }
- }
- return trace;
- } catch (CoreException e) {
-
- }
- return null;
- }
-
- /**
- * Get the list of analysis elements
- *
- * @return Array of analysis elements
- */
- public List<TmfAnalysisElement> getAvailableAnalysis() {
- List<ITmfProjectModelElement> children = getChildren();
- List<TmfAnalysisElement> analysis = new ArrayList<>();
- for (ITmfProjectModelElement child : children) {
- if (child instanceof TmfAnalysisElement) {
- analysis.add((TmfAnalysisElement) child);
- }
- }
- return analysis;
- }
-
- // ------------------------------------------------------------------------
- // Supplementary files operations
- // ------------------------------------------------------------------------
-
- /**
- * Deletes this element specific supplementary folder.
- */
- public void deleteSupplementaryFolder() {
- IFolder supplFolder = getTraceSupplementaryFolder(getSupplementaryFolderPath());
- try {
- deleteFolder(supplFolder);
- } catch (CoreException e) {
- Activator.getDefault().logError("Error deleting supplementary folder " + supplFolder, e); //$NON-NLS-1$
- }
- }
-
- private static void deleteFolder(IFolder folder) throws CoreException {
- if (folder.exists()) {
- folder.delete(true, new NullProgressMonitor());
- }
- IContainer parent = folder.getParent();
- // delete empty folders up to the parent project
- if (parent instanceof IFolder && (!parent.exists() || parent.members().length == 0)) {
- deleteFolder((IFolder) parent);
- }
- }
-
- /**
- * Renames the element specific supplementary folder according to the new
- * element name or path.
- *
- * @param newElementPath
- * The new element name or path
- */
- public void renameSupplementaryFolder(String newElementPath) {
- IFolder oldSupplFolder = getTraceSupplementaryFolder(getSupplementaryFolderPath());
-
- // Rename supplementary folder
- try {
- if (oldSupplFolder.exists()) {
- IFolder newSupplFolder = prepareTraceSupplementaryFolder(newElementPath + getSuffix(), false);
- oldSupplFolder.move(newSupplFolder.getFullPath(), true, new NullProgressMonitor());
- }
- deleteFolder(oldSupplFolder);
- } catch (CoreException e) {
- Activator.getDefault().logError("Error renaming supplementary folder " + oldSupplFolder, e); //$NON-NLS-1$
- }
- }
-
- /**
- * Copies the element specific supplementary folder to the new element name
- * or path.
- *
- * @param newElementPath
- * The new element name or path
- */
- public void copySupplementaryFolder(String newElementPath) {
- IFolder oldSupplFolder = getTraceSupplementaryFolder(getSupplementaryFolderPath());
-
- // copy supplementary folder
- if (oldSupplFolder.exists()) {
- try {
- IFolder newSupplFolder = prepareTraceSupplementaryFolder(newElementPath + getSuffix(), false);
- oldSupplFolder.copy(newSupplFolder.getFullPath(), true, new NullProgressMonitor());
- } catch (CoreException e) {
- Activator.getDefault().logError("Error renaming supplementary folder " + oldSupplFolder, e); //$NON-NLS-1$
- }
- }
- }
-
- /**
- * Copies the element specific supplementary folder a new folder.
- *
- * @param destination
- * The destination folder to copy to.
- */
- public void copySupplementaryFolder(IFolder destination) {
- IFolder oldSupplFolder = getTraceSupplementaryFolder(getSupplementaryFolderPath());
-
- // copy supplementary folder
- if (oldSupplFolder.exists()) {
- try {
- TraceUtils.createFolder((IFolder) destination.getParent(), new NullProgressMonitor());
- oldSupplFolder.copy(destination.getFullPath(), true, new NullProgressMonitor());
- } catch (CoreException e) {
- Activator.getDefault().logError("Error copying supplementary folder " + oldSupplFolder, e); //$NON-NLS-1$
- }
- }
- }
-
- /**
- * Refreshes the element specific supplementary folder information. It
- * creates the folder if not exists. It sets the persistence property of the
- * trace resource
- */
- public void refreshSupplementaryFolder() {
- IFolder supplFolder = createSupplementaryFolder();
- try {
- supplFolder.refreshLocal(IResource.DEPTH_INFINITE, new NullProgressMonitor());
- } catch (CoreException e) {
- Activator.getDefault().logError("Error refreshing supplementary folder " + supplFolder, e); //$NON-NLS-1$
- }
- }
-
- /**
- * Checks if supplementary resource exist or not.
- *
- * @return <code>true</code> if one or more files are under the element
- * supplementary folder
- */
- public boolean hasSupplementaryResources() {
- IResource[] resources = getSupplementaryResources();
- return (resources.length > 0);
- }
-
- /**
- * Returns the supplementary resources under the trace supplementary folder.
- *
- * @return array of resources under the trace supplementary folder.
- */
- public IResource[] getSupplementaryResources() {
- IFolder supplFolder = getTraceSupplementaryFolder(getSupplementaryFolderPath());
- if (supplFolder.exists()) {
- try {
- return supplFolder.members();
- } catch (CoreException e) {
- Activator.getDefault().logError("Error deleting supplementary folder " + supplFolder, e); //$NON-NLS-1$
- }
- }
- return new IResource[0];
- }
-
- /**
- * Deletes the given resources.
- *
- * @param resources
- * array of resources to delete.
- */
- public void deleteSupplementaryResources(IResource[] resources) {
-
- for (int i = 0; i < resources.length; i++) {
- try {
- resources[i].delete(true, new NullProgressMonitor());
- } catch (CoreException e) {
- Activator.getDefault().logError("Error deleting supplementary resource " + resources[i], e); //$NON-NLS-1$
- }
- }
- }
-
- /**
- * Deletes all supplementary resources in the supplementary directory
- */
- public void deleteSupplementaryResources() {
- deleteSupplementaryResources(getSupplementaryResources());
- }
-
- private IFolder createSupplementaryFolder() {
- IFolder supplFolder = prepareTraceSupplementaryFolder(getSupplementaryFolderPath(), true);
-
- try {
- fResource.setPersistentProperty(TmfCommonConstants.TRACE_SUPPLEMENTARY_FOLDER, supplFolder.getLocationURI().getPath());
- } catch (CoreException e) {
- Activator.getDefault().logError("Error setting persistant property " + TmfCommonConstants.TRACE_SUPPLEMENTARY_FOLDER, e); //$NON-NLS-1$
- }
- return supplFolder;
- }
-
- // -------------------------------------------------------
- // Signal handlers
- // -------------------------------------------------------
-
- /**
- * Handler for the Trace Opened signal
- *
- * @param signal
- * The incoming signal
- */
- @TmfSignalHandler
- public void traceOpened(TmfTraceOpenedSignal signal) {
- IResource resource = signal.getTrace().getResource();
- if ((resource == null) || !resource.equals(getResource())) {
- return;
- }
-
- getParent().refresh();
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/project/model/TmfExperimentElement.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/project/model/TmfExperimentElement.java
deleted file mode 100644
index 3ca82bf5b0..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/project/model/TmfExperimentElement.java
+++ /dev/null
@@ -1,478 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010, 2014 Ericsson, École Polytechnique de Montréal
- *
- * 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
- * Geneviève Bastien - Copied code to add/remove traces in this class
- * Patrick Tasse - Close editors to release resources
- * Geneviève Bastien - Experiment instantiated with trace type
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.project.model;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.core.resources.IContainer;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IFolder;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IResourceProxy;
-import org.eclipse.core.resources.IResourceProxyVisitor;
-import org.eclipse.core.resources.IWorkspace;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.InvalidRegistryObjectException;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.linuxtools.internal.tmf.ui.Activator;
-import org.eclipse.linuxtools.tmf.core.TmfCommonConstants;
-import org.eclipse.linuxtools.tmf.core.project.model.TmfTraceType;
-import org.eclipse.linuxtools.tmf.core.project.model.TraceTypeHelper;
-import org.eclipse.linuxtools.tmf.core.trace.TmfExperiment;
-import org.eclipse.linuxtools.tmf.ui.editors.TmfEventsEditor;
-import org.eclipse.linuxtools.tmf.ui.properties.ReadOnlyTextPropertyDescriptor;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.ui.views.properties.IPropertyDescriptor;
-import org.eclipse.ui.views.properties.IPropertySource2;
-
-/**
- * Implementation of TMF Experiment Model Element.
- * <p>
- * @version 1.0
- * @author Francois Chouinard
- *
- */
-public class TmfExperimentElement extends TmfCommonProjectElement implements IPropertySource2 {
-
- // ------------------------------------------------------------------------
- // Constants
- // ------------------------------------------------------------------------
-
- // Property View stuff
- private static final String sfInfoCategory = "Info"; //$NON-NLS-1$
- private static final String sfName = "name"; //$NON-NLS-1$
- private static final String sfPath = "path"; //$NON-NLS-1$
- private static final String sfLocation = "location"; //$NON-NLS-1$
- private static final String sfFolderSuffix = "_exp"; //$NON-NLS-1$
- private static final String sfExperimentType = "type"; //$NON-NLS-1$
-
- private static final ReadOnlyTextPropertyDescriptor sfNameDescriptor = new ReadOnlyTextPropertyDescriptor(sfName, sfName);
- private static final ReadOnlyTextPropertyDescriptor sfPathDescriptor = new ReadOnlyTextPropertyDescriptor(sfPath, sfPath);
- private static final ReadOnlyTextPropertyDescriptor sfLocationDescriptor = new ReadOnlyTextPropertyDescriptor(sfLocation,
- sfLocation);
- private static final ReadOnlyTextPropertyDescriptor sfTypeDescriptor = new ReadOnlyTextPropertyDescriptor(sfExperimentType, sfExperimentType);
-
- private static final IPropertyDescriptor[] sfDescriptors = { sfNameDescriptor, sfPathDescriptor,
- sfLocationDescriptor, sfTypeDescriptor };
-
- static {
- sfNameDescriptor.setCategory(sfInfoCategory);
- sfPathDescriptor.setCategory(sfInfoCategory);
- sfLocationDescriptor.setCategory(sfInfoCategory);
- sfTypeDescriptor.setCategory(sfInfoCategory);
- }
-
- // The mapping of available trace type IDs to their corresponding
- // configuration element
- private static final Map<String, IConfigurationElement> sfTraceTypeAttributes = new HashMap<>();
- private static final Map<String, IConfigurationElement> sfTraceTypeUIAttributes = new HashMap<>();
- private static final Map<String, IConfigurationElement> sfTraceCategories = new HashMap<>();
-
- // ------------------------------------------------------------------------
- // Static initialization
- // ------------------------------------------------------------------------
-
- /**
- * Initialize statically at startup by getting extensions from the platform
- * extension registry.
- * @since 3.0
- */
- public static void init() {
- IConfigurationElement[] config = Platform.getExtensionRegistry().getConfigurationElementsFor(TmfTraceType.TMF_TRACE_TYPE_ID);
- for (IConfigurationElement ce : config) {
- String elementName = ce.getName();
- if (elementName.equals(TmfTraceType.EXPERIMENT_ELEM)) {
- String traceTypeId = ce.getAttribute(TmfTraceType.ID_ATTR);
- sfTraceTypeAttributes.put(traceTypeId, ce);
- } else if (elementName.equals(TmfTraceType.CATEGORY_ELEM)) {
- String categoryId = ce.getAttribute(TmfTraceType.ID_ATTR);
- sfTraceCategories.put(categoryId, ce);
- }
- }
-
- /*
- * Read the corresponding tmf.ui "tracetypeui" extension point for this
- * trace type, if it exists.
- */
- config = Platform.getExtensionRegistry().getConfigurationElementsFor(TmfTraceTypeUIUtils.TMF_TRACE_TYPE_UI_ID);
- for (IConfigurationElement ce : config) {
- String elemName = ce.getName();
- if (TmfTraceTypeUIUtils.EXPERIMENT_ELEM.equals(elemName)) {
- String traceType = ce.getAttribute(TmfTraceTypeUIUtils.TRACETYPE_ATTR);
- sfTraceTypeUIAttributes.put(traceType, ce);
- }
- }
- }
-
- // ------------------------------------------------------------------------
- // Constructors
- // ------------------------------------------------------------------------
- /**
- * Constructor
- * @param name The name of the experiment
- * @param folder The folder reference
- * @param parent The experiment folder reference.
- */
- public TmfExperimentElement(String name, IFolder folder, TmfExperimentFolder parent) {
- super(name, folder, parent);
- }
-
- // ------------------------------------------------------------------------
- // TmfProjectModelElement
- // ------------------------------------------------------------------------
-
- @Override
- public IFolder getResource() {
- return (IFolder) fResource;
- }
-
- @Override
- void refreshChildren() {
- IFolder folder = getResource();
-
- /* Update the trace children of this experiment */
- // Get the children from the model
- Map<String, ITmfProjectModelElement> childrenMap = new HashMap<>();
- for (TmfTraceElement trace : getTraces()) {
- childrenMap.put(trace.getElementPath(), trace);
- }
-
- List<IResource> members = getTraceResources();
- for (IResource resource : members) {
- String name = resource.getName();
- String elementPath = resource.getFullPath().makeRelativeTo(folder.getFullPath()).toString();
- ITmfProjectModelElement element = childrenMap.get(elementPath);
- if (element instanceof TmfTraceElement) {
- childrenMap.remove(elementPath);
- } else {
- element = new TmfTraceElement(name, resource, this);
- }
- }
-
- // Cleanup dangling children from the model
- for (ITmfProjectModelElement danglingChild : childrenMap.values()) {
- removeChild(danglingChild);
- }
-
- /* Update the analysis under this experiment */
- super.refreshChildren();
- }
-
- private List<IResource> getTraceResources() {
- IFolder folder = getResource();
- final List<IResource> list = new ArrayList<>();
- try {
- folder.accept(new IResourceProxyVisitor() {
- @Override
- public boolean visit(IResourceProxy resource) throws CoreException {
- if (resource.isLinked()) {
- list.add(resource.requestResource());
- }
- return true;
- }
- }, IResource.NONE);
- } catch (CoreException e) {
- }
- return list;
- }
-
- // ------------------------------------------------------------------------
- // Operations
- // ------------------------------------------------------------------------
-
- /**
- * Refreshes the trace type filed by reading the trace type persistent
- * property of the resource reference.
- *
- * If trace type is null after refresh, set it to the generic trace type
- * (for seamless upgrade)
- */
- @Override
- public void refreshTraceType() {
- super.refreshTraceType();
- if (getTraceType() == null) {
- IConfigurationElement ce = TmfTraceType.getTraceAttributes(TmfTraceType.DEFAULT_EXPERIMENT_TYPE);
- if (ce != null) {
- try {
- IFolder experimentFolder = getResource();
- experimentFolder.setPersistentProperty(TmfCommonConstants.TRACETYPE, ce.getAttribute(TmfTraceType.ID_ATTR));
- super.refreshTraceType();
- } catch (InvalidRegistryObjectException | CoreException e) {
- }
- }
- }
- }
-
- /**
- * Returns a list of TmfTraceElements contained in this experiment.
- * @return a list of TmfTraceElements
- */
- @Override
- public List<TmfTraceElement> getTraces() {
- List<ITmfProjectModelElement> children = getChildren();
- List<TmfTraceElement> traces = new ArrayList<>();
- for (ITmfProjectModelElement child : children) {
- if (child instanceof TmfTraceElement) {
- traces.add((TmfTraceElement) child);
- }
- }
- return traces;
- }
-
- /**
- * Adds a trace to the experiment
- *
- * @param trace The trace element to add
- * @since 2.0
- */
- public void addTrace(TmfTraceElement trace) {
- addTrace(trace, true);
- }
-
- /**
- * Adds a trace to the experiment
- *
- * @param trace The trace element to add
- * @param refresh Flag for refreshing the project
- *
- * @since 3.1
- */
- public void addTrace(TmfTraceElement trace, boolean refresh) {
- /**
- * Create a link to the actual trace and set the trace type
- */
- IFolder experiment = getResource();
- IResource resource = trace.getResource();
- IPath location = resource.getLocation();
- IWorkspace workspace = ResourcesPlugin.getWorkspace();
- try {
- String traceTypeId = TmfTraceType.getTraceTypeId(trace.getResource());
- TraceTypeHelper traceType = TmfTraceType.getTraceType(traceTypeId);
-
- if (resource instanceof IFolder) {
- IFolder folder = experiment.getFolder(trace.getElementPath());
- TraceUtils.createFolder((IFolder) folder.getParent(), new NullProgressMonitor());
- IStatus result = workspace.validateLinkLocation(folder, location);
- if (result.isOK() || result.matches(IStatus.INFO | IStatus.WARNING)) {
- folder.createLink(location, IResource.REPLACE, null);
- if (traceType != null) {
- TmfTraceTypeUIUtils.setTraceType(folder, traceType, refresh);
- }
-
- } else {
- Activator.getDefault().logError("Error creating link. Invalid trace location " + location); //$NON-NLS-1$
- }
- } else {
- IFile file = experiment.getFile(trace.getElementPath());
- TraceUtils.createFolder((IFolder) file.getParent(), new NullProgressMonitor());
- IStatus result = workspace.validateLinkLocation(file, location);
- if (result.isOK() || result.matches(IStatus.INFO | IStatus.WARNING)) {
- file.createLink(location, IResource.REPLACE, null);
- if (traceType != null) {
- TmfTraceTypeUIUtils.setTraceType(file, traceType, refresh);
- }
- } else {
- Activator.getDefault().logError("Error creating link. Invalid trace location " + location); //$NON-NLS-1$
- }
- }
- } catch (CoreException e) {
- Activator.getDefault().logError("Error creating link to location " + location, e); //$NON-NLS-1$
- }
-
- }
-
- /**
- * Removes a trace from an experiment
- *
- * @param trace The trace to remove
- * @throws CoreException exception
- * @since 2.0
- */
- public void removeTrace(TmfTraceElement trace) throws CoreException {
-
- // Close the experiment if open
- closeEditors();
-
- /* Finally, remove the trace from experiment*/
- removeChild(trace);
- deleteTraceResource(trace.getResource());
- deleteSupplementaryResources();
- }
-
- private void deleteTraceResource(IResource resource) throws CoreException {
- resource.delete(true, null);
- IContainer parent = resource.getParent();
- // delete empty folders up to the parent experiment folder
- if (!parent.equals(getResource()) && parent.members().length == 0) {
- deleteTraceResource(parent);
- }
- }
-
- @Override
- public IFile createBookmarksFile() throws CoreException {
- return createBookmarksFile(getProject().getExperimentsFolder().getResource(), TmfExperiment.class.getCanonicalName());
- }
-
- @Override
- public String getEditorId() {
- /* See if a default editor was set for this experiment type */
- if (getTraceType() != null) {
- IConfigurationElement ce = sfTraceTypeUIAttributes.get(getTraceType());
- if (ce != null) {
- IConfigurationElement[] defaultEditorCE = ce.getChildren(TmfTraceTypeUIUtils.DEFAULT_EDITOR_ELEM);
- if (defaultEditorCE.length == 1) {
- return defaultEditorCE[0].getAttribute(TmfTraceType.ID_ATTR);
- }
- }
- }
-
- /* No default editor, try to find a common editor for all traces */
- final List<TmfTraceElement> traceEntries = getTraces();
- String commonEditorId = null;
-
- for (TmfTraceElement element : traceEntries) {
- // If all traces use the same editorId, use it, otherwise use the
- // default
- final String editorId = element.getEditorId();
- if (commonEditorId == null) {
- commonEditorId = (editorId != null) ? editorId : TmfEventsEditor.ID;
- } else if (!commonEditorId.equals(editorId)) {
- commonEditorId = TmfEventsEditor.ID;
- }
- }
- return null;
- }
-
- /**
- * Instantiate a {@link TmfExperiment} object based on the experiment type
- * and the corresponding extension.
- *
- * @return the {@link TmfExperiment} or <code>null</code> for an error
- * @since 3.0
- */
- @Override
- public TmfExperiment instantiateTrace() {
- try {
-
- // make sure that supplementary folder exists
- refreshSupplementaryFolder();
-
- if (getTraceType() != null) {
-
- IConfigurationElement ce = sfTraceTypeAttributes.get(getTraceType());
- if (ce == null) {
- return null;
- }
- TmfExperiment experiment = (TmfExperiment) ce.createExecutableExtension(TmfTraceType.EXPERIMENT_TYPE_ATTR);
- return experiment;
- }
- } catch (CoreException e) {
- Activator.getDefault().logError(NLS.bind(Messages.TmfExperimentElement_ErrorInstantiatingTrace, getName()), e);
- }
- return null;
- }
-
- @Override
- public String getTypeName() {
- return Messages.TmfExperimentElement_TypeName;
- }
-
- // ------------------------------------------------------------------------
- // IPropertySource2
- // ------------------------------------------------------------------------
-
- @Override
- public Object getEditableValue() {
- return null;
- }
-
- @Override
- public IPropertyDescriptor[] getPropertyDescriptors() {
- return Arrays.copyOf(sfDescriptors, sfDescriptors.length);
- }
-
- @Override
- public Object getPropertyValue(Object id) {
-
- if (sfName.equals(id)) {
- return getName();
- }
-
- if (sfPath.equals(id)) {
- return getPath().toString();
- }
-
- if (sfLocation.equals(id)) {
- return getLocation().toString();
- }
-
- if (sfExperimentType.equals(id)) {
- if (getTraceType() != null) {
- IConfigurationElement ce = sfTraceTypeAttributes.get(getTraceType());
- if (ce == null) {
- return ""; //$NON-NLS-1$
- }
- String categoryId = ce.getAttribute(TmfTraceType.CATEGORY_ATTR);
- if (categoryId != null) {
- IConfigurationElement category = sfTraceCategories.get(categoryId);
- if (category != null) {
- return category.getAttribute(TmfTraceType.NAME_ATTR) + ':' + ce.getAttribute(TmfTraceType.NAME_ATTR);
- }
- }
- return ce.getAttribute(TmfTraceType.NAME_ATTR);
- }
- }
-
- return null;
- }
-
- @Override
- public void resetPropertyValue(Object id) {
- }
-
- @Override
- public void setPropertyValue(Object id, Object value) {
- }
-
- @Override
- public boolean isPropertyResettable(Object id) {
- return false;
- }
-
- @Override
- public boolean isPropertySet(Object id) {
- return false;
- }
-
- /**
- * Return the suffix for resource names
- * @return The folder suffix
- */
- @Override
- public String getSuffix() {
- return sfFolderSuffix;
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/project/model/TmfExperimentFolder.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/project/model/TmfExperimentFolder.java
deleted file mode 100644
index 214f15c920..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/project/model/TmfExperimentFolder.java
+++ /dev/null
@@ -1,196 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010, 2014 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
- * Patrick Tasse - Add support for folder elements
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.project.model;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.core.resources.IFolder;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.linuxtools.tmf.ui.properties.ReadOnlyTextPropertyDescriptor;
-import org.eclipse.ui.views.properties.IPropertyDescriptor;
-import org.eclipse.ui.views.properties.IPropertySource2;
-
-/**
- * Implementation of model element representing the unique "Experiments" folder
- * in the project.
- * <p>
- *
- * @version 1.0
- * @author Francois Chouinard
- *
- */
-public class TmfExperimentFolder extends TmfProjectModelElement implements IPropertySource2 {
-
- // ------------------------------------------------------------------------
- // Constants
- // ------------------------------------------------------------------------
-
- /**
- * The name of the experiment folder.
- */
- public static final String EXPER_FOLDER_NAME = "Experiments"; //$NON-NLS-1$
-
- // Property View stuff
- private static final String sfInfoCategory = "Info"; //$NON-NLS-1$
- private static final String sfName = "name"; //$NON-NLS-1$
- private static final String sfPath = "path"; //$NON-NLS-1$
- private static final String sfLocation = "location"; //$NON-NLS-1$
-
- private static final ReadOnlyTextPropertyDescriptor sfNameDescriptor = new ReadOnlyTextPropertyDescriptor(sfName, sfName);
- private static final ReadOnlyTextPropertyDescriptor sfPathDescriptor = new ReadOnlyTextPropertyDescriptor(sfPath, sfPath);
- private static final ReadOnlyTextPropertyDescriptor sfLocationDescriptor = new ReadOnlyTextPropertyDescriptor(sfLocation, sfLocation);
-
- private static final IPropertyDescriptor[] sfDescriptors = { sfNameDescriptor, sfPathDescriptor, sfLocationDescriptor };
-
- static {
- sfNameDescriptor.setCategory(sfInfoCategory);
- sfPathDescriptor.setCategory(sfInfoCategory);
- sfLocationDescriptor.setCategory(sfInfoCategory);
- }
-
- // ------------------------------------------------------------------------
- // Constructors
- // ------------------------------------------------------------------------
-
- /**
- * Constructor.
- * Creates a TmfExperimentFolder model element.
- * @param name The name of the folder
- * @param folder The folder reference
- * @param parent The parent (project element)
- */
- public TmfExperimentFolder(String name, IFolder folder, TmfProjectElement parent) {
- super(name, folder, parent);
- parent.addChild(this);
- }
-
- // ------------------------------------------------------------------------
- // TmfProjectModelElement
- // ------------------------------------------------------------------------
-
- @Override
- public IFolder getResource() {
- return (IFolder) fResource;
- }
-
- @Override
- void refreshChildren() {
- IFolder folder = getResource();
-
- // Get the children from the model
- Map<String, ITmfProjectModelElement> childrenMap = new HashMap<>();
- for (ITmfProjectModelElement element : getChildren()) {
- childrenMap.put(element.getResource().getName(), element);
- }
-
- try {
- IResource[] members = folder.members();
- for (IResource resource : members) {
- if (resource instanceof IFolder) {
- IFolder expFolder = (IFolder) resource;
- String name = resource.getName();
- ITmfProjectModelElement element = childrenMap.get(name);
- if (element instanceof TmfExperimentElement) {
- childrenMap.remove(name);
- } else {
- element = new TmfExperimentElement(name, expFolder, this);
- }
- ((TmfExperimentElement) element).refreshChildren();
- }
- }
- } catch (CoreException e) {
- }
-
- // Cleanup dangling children from the model
- for (ITmfProjectModelElement danglingChild : childrenMap.values()) {
- removeChild(danglingChild);
- }
- }
-
- // ------------------------------------------------------------------------
- // Operations
- // ------------------------------------------------------------------------
-
- /**
- * Returns a list of experiment model elements under the experiments folder.
- * @return list of experiment model elements
- * @since 3.0
- */
- public List<TmfExperimentElement> getExperiments() {
- List<ITmfProjectModelElement> children = getChildren();
- List<TmfExperimentElement> traces = new ArrayList<>();
- for (ITmfProjectModelElement child : children) {
- if (child instanceof TmfExperimentElement) {
- traces.add((TmfExperimentElement) child);
- }
- }
- return traces;
- }
-
- // ------------------------------------------------------------------------
- // IPropertySource2
- // ------------------------------------------------------------------------
-
- @Override
- public Object getEditableValue() {
- return null;
- }
-
- @Override
- public IPropertyDescriptor[] getPropertyDescriptors() {
- return Arrays.copyOf(sfDescriptors, sfDescriptors.length);
- }
-
- @Override
- public Object getPropertyValue(Object id) {
-
- if (sfName.equals(id)) {
- return getName();
- }
-
- if (sfPath.equals(id)) {
- return getPath().toString();
- }
-
- if (sfLocation.equals(id)) {
- return getLocation().toString();
- }
-
- return null;
- }
-
- @Override
- public void resetPropertyValue(Object id) {
- }
-
- @Override
- public void setPropertyValue(Object id, Object value) {
- }
-
- @Override
- public boolean isPropertyResettable(Object id) {
- return false;
- }
-
- @Override
- public boolean isPropertySet(Object id) {
- return false;
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/project/model/TmfNavigatorContentProvider.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/project/model/TmfNavigatorContentProvider.java
deleted file mode 100644
index 30e128ebdc..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/project/model/TmfNavigatorContentProvider.java
+++ /dev/null
@@ -1,193 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010, 2014 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
- * Bernd Hufmann - Implement getParent()
- * Patrick Tasse - Add support for folder elements
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.project.model;
-
-import java.util.Set;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.ui.IMemento;
-import org.eclipse.ui.navigator.ICommonContentExtensionSite;
-import org.eclipse.ui.navigator.IPipelinedTreeContentProvider;
-import org.eclipse.ui.navigator.PipelinedShapeModification;
-import org.eclipse.ui.navigator.PipelinedViewerUpdate;
-
-/**
- * The TMF project content provider for the tree viewer in the project explorer view.
- * <p>
- * @version 1.0
- * @author Francois Chouinard
- */
-public class TmfNavigatorContentProvider implements IPipelinedTreeContentProvider {
-
- // ------------------------------------------------------------------------
- // ICommonContentProvider
- // ------------------------------------------------------------------------
-
- @Override
- public Object[] getElements(Object inputElement) {
- return null;
- }
-
- @Override
- public Object getParent(Object element) {
- if (element instanceof IProject) {
- IProject project = (IProject) element;
- return project.getParent();
- }
-
- if (element instanceof TmfTracesFolder) {
- TmfTracesFolder folder = (TmfTracesFolder) element;
- // Return the corresponding IProject as parent because from CNF point of view the IProject is the parent.
- // The IProject is needed e.g. for link with Editor to work correctly.
- return folder.getParent().getResource();
- }
-
- if (element instanceof TmfExperimentFolder) {
- TmfExperimentFolder folder = (TmfExperimentFolder) element;
- // Return the corresponding IProject as parent because from CNF point of view the IProject is the parent.
- // The IProject is needed e.g. for link with Editor to work correctly.
- return folder.getParent().getResource();
- }
-
- if (element instanceof ITmfProjectModelElement) {
- ITmfProjectModelElement modelElement = (ITmfProjectModelElement) element;
- return modelElement.getParent();
- }
-
- return null;
- }
-
- @Override
- public boolean hasChildren(Object element) {
- if (element instanceof IProject) {
- IProject project = (IProject) element;
- return project.isAccessible();
- }
- if (element instanceof ITmfProjectModelElement) {
- ITmfProjectModelElement modelElement = (ITmfProjectModelElement) element;
- return modelElement.hasChildren();
- }
- return false;
- }
-
- @Override
- public void dispose() {
- }
-
- @Override
- public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
- }
-
- @Override
- public void restoreState(IMemento aMemento) {
- }
-
- @Override
- public void saveState(IMemento aMemento) {
- }
-
- @Override
- public void init(ICommonContentExtensionSite aConfig) {
- }
-
- // ------------------------------------------------------------------------
- // ICommonContentProvider - getChildren()
- // ------------------------------------------------------------------------
-
- @Override
- public synchronized Object[] getChildren(Object parentElement) {
-
- // Tracing project level
- if (parentElement instanceof IProject) {
- TmfProjectElement element = TmfProjectRegistry.getProject((IProject) parentElement, true);
- return element.getChildren().toArray();
- }
-
- // Other project model elements
- if (parentElement instanceof ITmfProjectModelElement) {
- return ((ITmfProjectModelElement) parentElement).getChildren().toArray();
- }
-
- return new Object[0];
- }
-
- // ------------------------------------------------------------------------
- // IPipelinedTreeContentProvider
- // ------------------------------------------------------------------------
-
- @Override
- public void getPipelinedChildren(Object parent, Set currentChildren) {
- customizeTmfElements(getChildren(parent), currentChildren);
- }
-
- @Override
- public void getPipelinedElements(Object input, Set currentElements) {
- customizeTmfElements(getElements(input), currentElements);
- }
-
- /**
- * Add/replace the ITmfProjectElement to the list of children
- *
- * @param elements
- * the list returned by getChildren()
- * @param children
- * the current children
- */
- private static void customizeTmfElements(Object[] elements,
- Set<Object> children) {
- if (elements != null && children != null) {
- for (Object element : elements) {
- if (element instanceof ITmfProjectModelElement) {
- ITmfProjectModelElement tmfElement = (ITmfProjectModelElement) element;
- IResource resource = tmfElement.getResource();
- if (resource != null) {
- children.remove(resource);
- }
- children.add(element);
- }
- else if (element != null) {
- children.add(element);
- }
- }
- }
- }
-
- @Override
- public Object getPipelinedParent(Object anObject, Object aSuggestedParent) {
- return aSuggestedParent;
- }
-
- @Override
- public PipelinedShapeModification interceptAdd(PipelinedShapeModification anAddModification) {
- return anAddModification;
- }
-
- @Override
- public PipelinedShapeModification interceptRemove(PipelinedShapeModification aRemoveModification) {
- return null;
- }
-
- @Override
- public boolean interceptRefresh(PipelinedViewerUpdate aRefreshSynchronization) {
- return false;
- }
-
- @Override
- public boolean interceptUpdate(PipelinedViewerUpdate anUpdateSynchronization) {
- return false;
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/project/model/TmfNavigatorLabelProvider.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/project/model/TmfNavigatorLabelProvider.java
deleted file mode 100644
index d1d7cbb6db..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/project/model/TmfNavigatorLabelProvider.java
+++ /dev/null
@@ -1,267 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011, 2014 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
- * Patrick Tasse - Add support for unknown trace type icon
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.project.model;
-
-import java.net.URL;
-
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.viewers.DelegatingStyledCellLabelProvider.IStyledLabelProvider;
-import org.eclipse.jface.viewers.ILabelProviderListener;
-import org.eclipse.jface.viewers.StyledString;
-import org.eclipse.jface.viewers.StyledString.Styler;
-import org.eclipse.linuxtools.internal.tmf.ui.Activator;
-import org.eclipse.linuxtools.tmf.core.project.model.TmfTraceType;
-import org.eclipse.linuxtools.tmf.core.project.model.TmfTraceType.TraceElementType;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.ui.IMemento;
-import org.eclipse.ui.ISharedImages;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.model.WorkbenchLabelProvider;
-import org.eclipse.ui.navigator.ICommonContentExtensionSite;
-import org.eclipse.ui.navigator.ICommonLabelProvider;
-import org.osgi.framework.Bundle;
-
-/**
- * The TMF project label provider for the tree viewer in the project explorer view.
- * <p>
- * @version 1.0
- * @author Francois Chouinard
- */
-public class TmfNavigatorLabelProvider implements ICommonLabelProvider, IStyledLabelProvider {
-
- // ------------------------------------------------------------------------
- // Constants
- // ------------------------------------------------------------------------
-
- private static final Image fFolderIcon = PlatformUI.getWorkbench().getSharedImages().getImage(ISharedImages.IMG_OBJ_FOLDER);
- private static final String fTraceIconFile = "icons/elcl16/trace.gif"; //$NON-NLS-1$
- private static final String fExperimentIconFile = "icons/elcl16/experiment.gif"; //$NON-NLS-1$
- private static final String fAnalysisIconFile = "icons/ovr16/experiment_folder_ovr.png"; //$NON-NLS-1$
- private static final String fViewIconFile = "icons/obj16/node_obj.gif"; //$NON-NLS-1$
-
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
-
- private final Image fTraceFolderIcon = fFolderIcon;
- private final Image fExperimentFolderIcon = fFolderIcon;
-
- private final Image fDefaultTraceIcon;
- private final Image fExperimentIcon;
- private final Image fDefaultAnalysisIcon;
- private final Image fDefaultViewIcon;
-
- private final WorkbenchLabelProvider fWorkspaceLabelProvider = new WorkbenchLabelProvider();
-
- // ------------------------------------------------------------------------
- // Constructors
- // ------------------------------------------------------------------------
-
- /**
- * Constructor.
- *
- * Creates the TMF navigator content provider.
- */
- public TmfNavigatorLabelProvider() {
- Bundle bundle = Activator.getDefault().getBundle();
- fDefaultTraceIcon = loadIcon(bundle, fTraceIconFile);
- fExperimentIcon = loadIcon(bundle, fExperimentIconFile);
- fDefaultAnalysisIcon = loadIcon(bundle, fAnalysisIconFile);
- fDefaultViewIcon = loadIcon(bundle, fViewIconFile);
- }
-
- private static Image loadIcon(Bundle bundle, String url) {
- Activator plugin = Activator.getDefault();
- String key = bundle.getSymbolicName() + "/" + url; //$NON-NLS-1$
- Image icon = plugin.getImageRegistry().get(key);
- if (icon == null) {
- URL imageURL = bundle.getResource(url);
- ImageDescriptor descriptor = ImageDescriptor.createFromURL(imageURL);
- if (descriptor != null) {
- icon = descriptor.createImage();
- plugin.getImageRegistry().put(key, icon);
- }
- }
- return icon;
- }
-
- // ------------------------------------------------------------------------
- // ICommonLabelProvider
- // ------------------------------------------------------------------------
-
- @Override
- public Image getImage(Object element) {
-
- if (element instanceof TmfCommonProjectElement) {
- TmfCommonProjectElement trace = (TmfCommonProjectElement) element;
- String traceType = trace.getTraceType();
- if (traceType == null || TmfTraceType.getTraceType(traceType) == null) {
- // request the label to the Eclipse platform
- return fWorkspaceLabelProvider.getImage(((TmfCommonProjectElement) element).getResource());
- }
-
- IConfigurationElement traceUIAttributes = TmfTraceTypeUIUtils.getTraceUIAttributes(traceType, (element instanceof TmfTraceElement) ? TraceElementType.TRACE : TraceElementType.EXPERIMENT);
- if (traceUIAttributes != null) {
- String iconAttr = traceUIAttributes.getAttribute(TmfTraceTypeUIUtils.ICON_ATTR);
- if (iconAttr != null) {
- String name = traceUIAttributes.getContributor().getName();
- if (name != null) {
- Bundle bundle = Platform.getBundle(name);
- if (bundle != null) {
- Image image = loadIcon(bundle, iconAttr);
- if (image != null) {
- return image;
- }
- }
- }
- }
-
- }
- if (element instanceof TmfTraceElement) {
- return fDefaultTraceIcon;
- }
- return fExperimentIcon;
- }
-
- if (element instanceof TmfExperimentFolder) {
- return fExperimentFolderIcon;
- }
-
- if (element instanceof TmfTraceFolder) {
- return fTraceFolderIcon;
- }
-
- if (element instanceof TmfAnalysisOutputElement) {
- TmfAnalysisOutputElement output = (TmfAnalysisOutputElement) element;
- Image icon = output.getIcon();
- if (icon == null) {
- return fDefaultViewIcon;
- }
- return icon;
- }
-
- if (element instanceof TmfAnalysisElement) {
- TmfAnalysisElement analysis = (TmfAnalysisElement) element;
- String iconFile = analysis.getIconFile();
- if (iconFile != null) {
- Bundle bundle = analysis.getBundle();
- if (bundle != null) {
- Image icon = loadIcon(bundle, iconFile);
- return icon;
- }
- }
- return fDefaultAnalysisIcon;
- }
-
- return null;
- }
-
- @Override
- public String getText(Object element) {
-
- if (element instanceof TmfTracesFolder) {
- TmfTracesFolder folder = (TmfTracesFolder) element;
- return folder.getName() + " [" + folder.getTraces().size() + "]"; //$NON-NLS-1$ //$NON-NLS-2$
- }
-
- if (element instanceof TmfTraceFolder) {
- TmfTraceFolder folder = (TmfTraceFolder) element;
- int nbTraces = folder.getTraces().size();
- if (nbTraces > 0) {
- return folder.getName() + " [" + folder.getTraces().size() + "]"; //$NON-NLS-1$ //$NON-NLS-2$
- }
- return folder.getName();
- }
-
- if (element instanceof TmfTraceElement) {
- TmfTraceElement trace = (TmfTraceElement) element;
- if (trace.getParent() instanceof TmfExperimentElement) {
- return trace.getElementPath();
- }
- return trace.getName();
- }
-
- if (element instanceof TmfExperimentElement) {
- TmfExperimentElement folder = (TmfExperimentElement) element;
- return folder.getName() + " [" + folder.getTraces().size() + "]"; //$NON-NLS-1$ //$NON-NLS-2$
- }
-
- if (element instanceof TmfExperimentFolder) {
- TmfExperimentFolder folder = (TmfExperimentFolder) element;
- return folder.getName() + " [" + folder.getChildren().size() + "]"; //$NON-NLS-1$ //$NON-NLS-2$
- }
-
- // Catch all
- if (element instanceof ITmfProjectModelElement) {
- return ((ITmfProjectModelElement) element).getName();
- }
-
- return null;
- }
-
- @Override
- public void addListener(ILabelProviderListener listener) {
- }
-
- @Override
- public void dispose() {
- }
-
- @Override
- public boolean isLabelProperty(Object element, String property) {
- return false;
- }
-
- @Override
- public void removeListener(ILabelProviderListener listener) {
- }
-
- @Override
- public void restoreState(IMemento aMemento) {
- }
-
- @Override
- public void saveState(IMemento aMemento) {
- }
-
- @Override
- public String getDescription(Object anElement) {
- return getText(anElement);
- }
-
- @Override
- public void init(ICommonContentExtensionSite aConfig) {
- }
-
- /**
- * @since 3.0
- */
- @Override
- public StyledString getStyledText(Object element) {
- String text = getText(element);
- if (text != null) {
- if (element instanceof ITmfStyledProjectModelElement) {
- Styler styler = ((ITmfStyledProjectModelElement) element).getStyler();
- if (styler != null) {
- return new StyledString(text, styler);
- }
- }
- return new StyledString(text);
- }
- return null;
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/project/model/TmfOpenTraceHelper.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/project/model/TmfOpenTraceHelper.java
deleted file mode 100644
index 1441a4c635..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/project/model/TmfOpenTraceHelper.java
+++ /dev/null
@@ -1,464 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2013, 2014 Ericsson, École Polytechnique de Montréal
- *
- * 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:
- * Matthew Khouzam - Initial API and implementation
- * Patrick Tasse - Update open trace and add open experiment
- * Geneviève Bastien - Merge methods to open trace and experiments
- * Bernd Hufmann - Updated handling of directory traces
- **********************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.project.model;
-
-import java.io.File;
-import java.util.List;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IFolder;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.core.runtime.URIUtil;
-import org.eclipse.jface.util.OpenStrategy;
-import org.eclipse.linuxtools.internal.tmf.ui.Activator;
-import org.eclipse.linuxtools.internal.tmf.ui.project.model.TmfImportHelper;
-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.project.model.TmfTraceImportException;
-import org.eclipse.linuxtools.tmf.core.project.model.TmfTraceType;
-import org.eclipse.linuxtools.tmf.core.project.model.TraceTypeHelper;
-import org.eclipse.linuxtools.tmf.core.trace.ITmfTrace;
-import org.eclipse.linuxtools.tmf.core.trace.TmfExperiment;
-import org.eclipse.linuxtools.tmf.ui.editors.TmfEditorInput;
-import org.eclipse.linuxtools.tmf.ui.editors.TmfEventsEditor;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.MessageBox;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.IEditorInput;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.IEditorReference;
-import org.eclipse.ui.IReusableEditor;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.ide.IDE;
-import org.eclipse.ui.part.FileEditorInput;
-
-/**
- * Open trace helper
- *
- * Helper class for opening trace resources and loading them to a tracing
- * project.
- *
- * @author Matthew Khouzam
- * @since 2.1
- */
-public class TmfOpenTraceHelper {
-
- private TmfOpenTraceHelper() {
- }
-
- private static final String ENDL = System.getProperty("line.separator"); //$NON-NLS-1$
-
- /**
- * Opens a trace from a path while importing it to the destination folder.
- * The trace is linked as a resource.
- *
- * @param destinationFolder
- * The destination trace folder
- * @param path
- * the file to import
- * @param shell
- * the shell to use for dialogs
- * @return IStatus OK if successful
- * @throws CoreException
- * core exceptions if something is not well set up in the back
- * end
- * @since 3.0
- */
- public static IStatus openTraceFromPath(TmfTraceFolder destinationFolder, String path, Shell shell) throws CoreException {
- return openTraceFromPath(destinationFolder, path, shell, null);
- }
-
- /**
- * Opens a trace from a path while importing it to the destination folder.
- * The trace is linked as a resource.
- *
- * @param destinationFolder
- * The destination trace folder
- * @param path
- * the file to import
- * @param shell
- * the shell to use for dialogs
- * @param tracetypeHint
- * The trace type id, can be null
- * @return IStatus OK if successful
- * @throws CoreException
- * core exceptions if something is not well set up in the back
- * end
- *
- * @since 3.0
- */
- public static IStatus openTraceFromPath(TmfTraceFolder destinationFolder, String path, Shell shell, String tracetypeHint) throws CoreException {
- final String pathToUse = checkTracePath(path);
- TraceTypeHelper traceTypeToSet = null;
- try {
- traceTypeToSet = TmfTraceTypeUIUtils.selectTraceType(pathToUse, null, tracetypeHint);
- } catch (TmfTraceImportException e) {
- MessageBox mb = new MessageBox(shell);
- mb.setMessage(e.getMessage());
- mb.open();
- return new Status(IStatus.ERROR, Activator.PLUGIN_ID, e.getMessage());
- }
-
- IFolder folder = destinationFolder.getResource();
- String traceName = getTraceName(pathToUse, folder);
- if (traceExists(pathToUse, folder)) {
- return openTraceFromFolder(destinationFolder, traceName);
- }
- final IPath pathString = Path.fromOSString(pathToUse);
- IResource linkedTrace = TmfImportHelper.createLink(folder, pathString, traceName);
-
- if (linkedTrace == null || !linkedTrace.exists()) {
- return new Status(IStatus.ERROR, Activator.PLUGIN_ID,
- Messages.TmfOpenTraceHelper_LinkFailed);
- }
-
- String sourceLocation = URIUtil.toUnencodedString(pathString.toFile().toURI());
- linkedTrace.setPersistentProperty(TmfCommonConstants.SOURCE_LOCATION, sourceLocation);
-
- // No trace type was determined.
- if (traceTypeToSet == null) {
- return Status.OK_STATUS;
- }
-
- IStatus ret = TmfTraceTypeUIUtils.setTraceType(linkedTrace, traceTypeToSet);
- if (ret.isOK()) {
- ret = openTraceFromFolder(destinationFolder, traceName);
- }
- return ret;
- }
-
- /**
- * Checks whether the parent or grandparent of given path to a file is a
- * valid directory trace. If it is a directory trace then return the parent
- * or grandparent path.
- *
- * @param path
- * the path to check
- * @return path to use for trace type validation.
- */
- private static String checkTracePath(String path) {
- File file = new File(path);
- if (file.exists() && !file.isDirectory()) {
- // First check parent
- File parent = file.getParentFile();
- String pathToUse = parent.getAbsolutePath();
- if (TmfTraceType.isDirectoryTrace(pathToUse)) {
- return pathToUse;
- }
- // Second check grandparent
- File grandParent = parent.getParentFile();
- if (grandParent != null) {
- pathToUse = grandParent.getAbsolutePath();
- if (TmfTraceType.isDirectoryTrace(pathToUse)) {
- return pathToUse;
- }
- }
- }
- return path;
- }
-
- private static boolean traceExists(String path, IFolder folder) {
- String val = getTraceName(path, folder);
- return (folder.findMember(val) != null);
- }
-
- private static boolean isWrongMember(IFolder folder, String name, final File traceFile) {
- final IResource candidate = folder.findMember(name);
- if (candidate != null) {
- final IPath rawLocation = candidate.getRawLocation();
- final File file = rawLocation.toFile();
- return !file.equals(traceFile);
- }
- return false;
- }
-
- /**
- * Gets the display name, either "filename" or "filename(n)" if there is
- * already a filename existing where n is the next unused integer starting
- * from 2
- *
- * @param path
- * the file path
- * @param folder
- * the folder to import to
- * @return the filename
- */
- private static String getTraceName(String path, IFolder folder) {
- String name;
- final File traceFile = new File(path);
- name = traceFile.getName();
- for (int i = 2; isWrongMember(folder, name, traceFile); i++) {
- name = traceFile.getName() + '(' + i + ')';
- }
- return name;
- }
-
- /**
- * Open a trace from a trace folder
- *
- * @param destinationFolder
- * The destination trace folder
- * @param traceName
- * the trace name
- * @return success or error
- * @since 3.0
- */
- private static IStatus openTraceFromFolder(TmfTraceFolder destinationFolder, String traceName) {
- final List<ITmfProjectModelElement> elements = destinationFolder.getChildren();
- TmfTraceElement traceElement = null;
- for (ITmfProjectModelElement element : elements) {
- if (element instanceof TmfTraceElement && element.getName().equals(traceName)) {
- traceElement = (TmfTraceElement) element;
- }
- }
- if (traceElement == null) {
- return new Status(IStatus.ERROR, Activator.PLUGIN_ID, NLS.bind(Messages.TmfOpenTraceHelper_TraceNotFound, traceName));
- }
- openTraceFromElement(traceElement);
- return Status.OK_STATUS;
- }
-
- private static ITmfTrace openTraceElement(final TmfTraceElement traceElement) {
- final ITmfTrace trace = traceElement.instantiateTrace();
- final ITmfEvent traceEvent = traceElement.instantiateEvent();
- if ((trace == null) || (traceEvent == null)) {
- TraceUtils.displayErrorMsg(NLS.bind(Messages.TmfOpenTraceHelper_OpenElement, traceElement.getTypeName()),
- Messages.TmfOpenTraceHelper_NoTraceType);
- if (trace != null) {
- trace.dispose();
- }
- return null;
- }
-
- try {
- trace.initTrace(traceElement.getResource(), traceElement.getResource().getLocation().toOSString(), traceEvent.getClass(), traceElement.getElementPath());
- } catch (final TmfTraceException e) {
- TraceUtils.displayErrorMsg(NLS.bind(Messages.TmfOpenTraceHelper_OpenElement, traceElement.getTypeName()),
- Messages.TmfOpenTraceHelper_InitError + ENDL + ENDL + e);
- trace.dispose();
- return null;
- }
- return trace;
- }
-
- private static ITmfTrace openExperimentElement(final TmfExperimentElement experimentElement) {
- /* Experiment element now has an experiment type associated with it */
- final TmfExperiment experiment = experimentElement.instantiateTrace();
- if (experiment == null) {
- TraceUtils.displayErrorMsg(NLS.bind(Messages.TmfOpenTraceHelper_OpenElement, experimentElement.getTypeName()),
- NLS.bind(Messages.TmfOpenTraceHelper_NoTraceOrExperimentType, experimentElement.getTypeName()));
- return null;
- }
-
- // Instantiate the experiment's traces
- final List<TmfTraceElement> traceEntries = experimentElement.getTraces();
- int cacheSize = Integer.MAX_VALUE;
- final ITmfTrace[] traces = new ITmfTrace[traceEntries.size()];
- for (int i = 0; i < traceEntries.size(); i++) {
- TmfTraceElement element = traceEntries.get(i);
-
- // Since trace is under an experiment, use the original trace from
- // the traces folder
- element = element.getElementUnderTraceFolder();
-
- ITmfTrace trace = openTraceElement(element);
-
- if (trace == null) {
- for (int j = 0; j < i; j++) {
- traces[j].dispose();
- }
- return null;
- }
- cacheSize = Math.min(cacheSize, trace.getCacheSize());
-
- traces[i] = trace;
- }
-
- // Create the experiment
- experiment.initExperiment(ITmfEvent.class, experimentElement.getName(), traces, cacheSize, experimentElement.getResource());
-
- return experiment;
- }
-
- private static ITmfTrace openProjectElement(final TmfCommonProjectElement element) {
- ITmfTrace trace = null;
- if (element instanceof TmfTraceElement) {
- trace = openTraceElement((TmfTraceElement) element);
- } else if (element instanceof TmfExperimentElement) {
- trace = openExperimentElement((TmfExperimentElement) element);
- }
- return trace;
- }
-
- /**
- * Open a trace (or experiment) from a project element. If the trace is already opened, its
- * editor is activated and brought to top.
- *
- * @param traceElement
- * the {@link TmfTraceElement} to open
- * @since 3.0
- */
- public static void openTraceFromElement(final TmfCommonProjectElement traceElement) {
-
- final IFile file;
- try {
- file = traceElement.createBookmarksFile();
- } catch (final CoreException e) {
- Activator.getDefault().logError(NLS.bind(Messages.TmfOpenTraceHelper_ErrorOpeningElement, traceElement.getTypeName()) + ' ' + traceElement.getName());
- TraceUtils.displayErrorMsg(NLS.bind(Messages.TmfOpenTraceHelper_OpenElement, traceElement.getTypeName()),
- NLS.bind(Messages.TmfOpenTraceHelper_ErrorElement, traceElement.getTypeName()) + ENDL + ENDL + e.getMessage());
- return;
- }
-
- final IWorkbench wb = PlatformUI.getWorkbench();
- final IWorkbenchPage activePage = wb.getActiveWorkbenchWindow().getActivePage();
- final IEditorPart editor = findEditor(new FileEditorInput(file), true);
- if (editor != null) {
- activePage.activate(editor);
- return;
- }
-
- // If a trace type is not set then delegate it to the eclipse platform
- if ((traceElement instanceof TmfTraceElement) && (traceElement.getResource() instanceof IFile) && (traceElement.getTraceType() == null)) {
- try {
- boolean activate = OpenStrategy.activateOnOpen();
- // only local open is supported
- IDE.openEditor(activePage, file, activate);
- } catch (PartInitException e) {
- TraceUtils.displayErrorMsg(NLS.bind(Messages.TmfOpenTraceHelper_OpenElement, traceElement.getTypeName()),
- NLS.bind(Messages.TmfOpenTraceHelper_ErrorOpeningElement, traceElement.getElementPath()) + ENDL + ENDL + e.getMessage());
- }
- return;
- }
-
- Thread thread = new Thread() {
- @Override
- public void run() {
- final ITmfTrace trace = openProjectElement(traceElement);
-
- if (trace == null) {
- return;
- }
-
- // Get the editor id from the extension point
- String traceEditorId = traceElement.getEditorId();
- final String editorId = (traceEditorId != null) ? traceEditorId : TmfEventsEditor.ID;
- final IEditorInput editorInput = new TmfEditorInput(file, trace);
-
- Display.getDefault().asyncExec(new Runnable() {
- @Override
- public void run() {
- try {
- activePage.openEditor(editorInput, editorId);
- IDE.setDefaultEditor(file, editorId);
- // editor should dispose the trace on close
- } catch (final PartInitException e) {
- TraceUtils.displayErrorMsg(NLS.bind(Messages.TmfOpenTraceHelper_OpenElement, traceElement.getTypeName()),
- NLS.bind(Messages.TmfOpenTraceHelper_ErrorOpeningElement, traceElement.getTypeName()) + ENDL + ENDL + e.getMessage());
- Activator.getDefault().logError(NLS.bind(Messages.TmfOpenTraceHelper_ErrorOpeningElement, traceElement.getTypeName()) + ' ' + traceElement.getName());
- trace.dispose();
- }
- }
- });
- }
- };
- thread.start();
- }
-
- /**
- * Returns the editor with the specified input. Returns null if there is no
- * opened editor with that input. If restore is requested, the method finds
- * and returns the editor even if it is not restored yet after a restart.
- *
- * @param input
- * the editor input
- * @param restore
- * true if the editor should be restored
- * @return an editor with input equals to <code>input</code>
- */
- private static IEditorPart findEditor(IEditorInput input, boolean restore) {
- final IWorkbench wb = PlatformUI.getWorkbench();
- final IWorkbenchPage activePage = wb.getActiveWorkbenchWindow().getActivePage();
- for (IEditorReference editorReference : activePage.getEditorReferences()) {
- try {
- IEditorInput editorInput = editorReference.getEditorInput();
- if (editorInput.equals(input)) {
- return editorReference.getEditor(restore);
- }
- } catch (PartInitException e) {
- }
- }
- return null;
- }
-
- /**
- * Reopen a trace or experiment from a project element in the provided
- * editor
- *
- * @param traceElement
- * the {@link TmfTraceElement} to open
- * @param editor
- * the reusable editor
- * @since 3.0
- */
- public static void reopenTraceFromElement(final TmfCommonProjectElement traceElement, final IReusableEditor editor) {
-
- final IFile file;
- try {
- file = traceElement.createBookmarksFile();
- } catch (final CoreException e) {
- Activator.getDefault().logError(NLS.bind(Messages.TmfOpenTraceHelper_ErrorOpeningElement, traceElement.getTypeName()) + ' ' + traceElement.getName());
- TraceUtils.displayErrorMsg(NLS.bind(Messages.TmfOpenTraceHelper_OpenElement, traceElement.getTypeName()),
- NLS.bind(Messages.TmfOpenTraceHelper_ErrorElement, traceElement.getTypeName()) + ENDL + ENDL + e.getMessage());
- return;
- }
-
- Thread thread = new Thread() {
- @Override
- public void run() {
-
- final ITmfTrace trace = openProjectElement(traceElement);
- if (trace == null) {
- return;
- }
-
- final IEditorInput editorInput = new TmfEditorInput(file, trace);
-
- Display.getDefault().asyncExec(new Runnable() {
- @Override
- public void run() {
- final IWorkbench wb = PlatformUI.getWorkbench();
- final IWorkbenchPage activePage = wb.getActiveWorkbenchWindow().getActivePage();
- activePage.reuseEditor(editor, editorInput);
- activePage.activate(editor);
- }
- });
- }
- };
- thread.start();
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/project/model/TmfProjectElement.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/project/model/TmfProjectElement.java
deleted file mode 100644
index 29265e4a09..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/project/model/TmfProjectElement.java
+++ /dev/null
@@ -1,146 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011, 2014 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
- * Patrick Tasse - Refactor resource change listener
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.project.model;
-
-import java.util.HashMap;
-import java.util.Map;
-
-import org.eclipse.core.resources.IFolder;
-import org.eclipse.core.resources.IProject;
-
-/**
- * The implementation of TMF project model element.
- *
- * @version 1.0
- * @author Francois Chouinard
- */
-public class TmfProjectElement extends TmfProjectModelElement {
-
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
-
- private TmfTraceFolder fTraceFolder = null;
- private TmfExperimentFolder fExperimentFolder = null;
-
- // ------------------------------------------------------------------------
- // Constructor
- // ------------------------------------------------------------------------
- /**
- * Constructor.
- *
- * Creates the TMF project model element.
- * @param name The name of the project.
- * @param project The project reference.
- * @param parent The parent element
- */
- public TmfProjectElement(String name, IProject project, ITmfProjectModelElement parent) {
- super(name, project, parent);
- }
-
- // ------------------------------------------------------------------------
- // TmfProjectModelElement
- // ------------------------------------------------------------------------
-
- @Override
- public IProject getResource() {
- return (IProject) fResource;
- }
-
- @Override
- public void addChild(ITmfProjectModelElement child) {
- super.addChild(child);
- if (child instanceof TmfTraceFolder) {
- fTraceFolder = (TmfTraceFolder) child;
- return;
- }
- if (child instanceof TmfExperimentFolder) {
- fExperimentFolder = (TmfExperimentFolder) child;
- return;
- }
- }
-
- // ------------------------------------------------------------------------
- // Accessors
- // ------------------------------------------------------------------------
-
- /**
- * Returns the containing trace folder element.
- * @return the TMF trace folder element.
- */
- public TmfTraceFolder getTracesFolder() {
- return fTraceFolder;
- }
-
- /**
- * Returns the containing experiment folder element.
- * @return the TMF experiment folder element.
- */
- public TmfExperimentFolder getExperimentsFolder() {
- return fExperimentFolder;
- }
-
- // ------------------------------------------------------------------------
- // TmfProjectModelElement
- // ------------------------------------------------------------------------
-
- @Override
- void refreshChildren() {
- IProject project = getResource();
-
- // Get the children from the model
- Map<String, ITmfProjectModelElement> childrenMap = new HashMap<>();
- for (ITmfProjectModelElement element : getChildren()) {
- childrenMap.put(element.getResource().getName(), element);
- }
-
- // Add the model folder if the corresponding resource exists and is not
- // accounted for
- IFolder folder = project.getFolder(TmfTracesFolder.TRACES_FOLDER_NAME);
- if (folder != null && folder.exists()) {
- String name = folder.getName();
- ITmfProjectModelElement element = childrenMap.get(name);
- if (element instanceof TmfTracesFolder) {
- childrenMap.remove(name);
- } else {
- element = new TmfTracesFolder(TmfTracesFolder.TRACES_FOLDER_NAME, folder, this);
- }
- ((TmfTracesFolder) element).refreshChildren();
- }
-
- // Add the model folder if the corresponding resource exists and is not
- // accounted for
- folder = project.getFolder(TmfExperimentFolder.EXPER_FOLDER_NAME);
- if (folder != null && folder.exists()) {
- String name = folder.getName();
- ITmfProjectModelElement element = childrenMap.get(name);
- if (element instanceof TmfExperimentFolder) {
- childrenMap.remove(name);
- } else {
- element = new TmfExperimentFolder(TmfExperimentFolder.EXPER_FOLDER_NAME, folder, this);
- }
- ((TmfExperimentFolder) element).refreshChildren();
- }
-
- // Cleanup dangling children from the model
- for (ITmfProjectModelElement danglingChild : childrenMap.values()) {
- removeChild(danglingChild);
- }
- }
-
- @Override
- public TmfProjectElement getProject() {
- return this;
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/project/model/TmfProjectModelElement.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/project/model/TmfProjectModelElement.java
deleted file mode 100644
index a958d24bb4..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/project/model/TmfProjectModelElement.java
+++ /dev/null
@@ -1,271 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010, 2014 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
- * Bernd Hufmann - Added supplementary files/folder handling
- * Patrick Tasse - Refactor resource change listener
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.project.model;
-
-import java.io.File;
-import java.net.URI;
-import java.util.List;
-import java.util.concurrent.CopyOnWriteArrayList;
-
-import org.eclipse.core.resources.IFolder;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.linuxtools.internal.tmf.ui.Activator;
-import org.eclipse.linuxtools.tmf.core.TmfCommonConstants;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.ui.IViewPart;
-import org.eclipse.ui.IViewReference;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.navigator.CommonNavigator;
-import org.eclipse.ui.navigator.CommonViewer;
-
-/**
- * The implementation of the base TMF project model element. It provides default implementation
- * of the <code>ITmfProjectModelElement</code> interface.
- * <p>
- * @version 1.0
- * @author Francois Chouinard
- */
-public abstract class TmfProjectModelElement implements ITmfProjectModelElement {
-
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
-
- private final String fName;
- /**
- * The project model element resource.
- */
- protected final IResource fResource;
- /**
- * The project model resource location (URI)
- */
- protected final URI fLocation;
- /**
- * The project model path of a resource.
- */
- protected final IPath fPath;
- private final ITmfProjectModelElement fParent;
- /**
- * The list of children elements.
- */
- protected final List<ITmfProjectModelElement> fChildren;
-
- // ------------------------------------------------------------------------
- // Constructor
- // ------------------------------------------------------------------------
- /**
- * Constructor.
- *
- * Creates a base project model element.
- * @param name The name of the element.
- * @param resource The element resource.
- * @param parent The parent model element.
- */
- protected TmfProjectModelElement(String name, IResource resource, ITmfProjectModelElement parent) {
- fName = name;
- fResource = resource;
- fPath = resource.getFullPath();
- fLocation = new File(resource.getLocationURI()).toURI();
- fParent = parent;
- fChildren = new CopyOnWriteArrayList<>();
- }
-
- // ------------------------------------------------------------------------
- // ITmfProjectModelElement
- // ------------------------------------------------------------------------
-
- @Override
- public String getName() {
- return fName;
- }
-
- @Override
- public IResource getResource() {
- return fResource;
- }
-
- @Override
- public IPath getPath() {
- return fPath;
- }
-
- @Override
- public URI getLocation() {
- return fLocation;
- }
-
- /**
- * @since 3.0
- */
- @Override
- public TmfProjectElement getProject() {
- return fParent.getProject();
- }
-
- @Override
- public ITmfProjectModelElement getParent() {
- return fParent;
- }
-
- @Override
- public boolean hasChildren() {
- return fChildren.size() > 0;
- }
-
- @Override
- public List<ITmfProjectModelElement> getChildren() {
- return fChildren;
- }
-
- @Override
- public void addChild(ITmfProjectModelElement child) {
- fChildren.add(child);
- }
-
- @Override
- public void removeChild(ITmfProjectModelElement child) {
- fChildren.remove(child);
- }
-
- @Override
- public void refresh() {
- // make sure the model is updated in the current thread
- refreshChildren();
-
- Display.getDefault().asyncExec(new Runnable(){
- @Override
- public void run() {
- IWorkbench wb = PlatformUI.getWorkbench();
- IWorkbenchWindow wbWindow = wb.getActiveWorkbenchWindow();
- if (wbWindow == null) {
- return;
- }
- IWorkbenchPage activePage = wbWindow.getActivePage();
- if (activePage == null) {
- return;
- }
-
- for (IViewReference viewReference : activePage.getViewReferences()) {
- IViewPart viewPart = viewReference.getView(false);
- if (viewPart instanceof CommonNavigator) {
- CommonViewer commonViewer = ((CommonNavigator) viewPart).getCommonViewer();
- Object element = TmfProjectModelElement.this;
- if (element instanceof TmfProjectElement) {
- // for the project element the viewer uses the IProject resource
- element = getResource();
- }
- commonViewer.refresh(element);
- }
- }
- }});
- }
-
- // ------------------------------------------------------------------------
- // Object
- // ------------------------------------------------------------------------
-
- @Override
- public int hashCode() {
- final int prime = 31;
- int result = 1;
- result = prime * result + ((fPath == null) ? 0 : fPath.hashCode());
- return result;
- }
-
- @Override
- public boolean equals(Object other) {
- if (this == other) {
- return true;
- }
- if (other == null) {
- return false;
- }
- if (!(other instanceof TmfProjectModelElement)) {
- return false;
- }
- TmfProjectModelElement element = (TmfProjectModelElement) other;
- return element.fPath.equals(fPath);
- }
-
- // ------------------------------------------------------------------------
- // Operations
- // ------------------------------------------------------------------------
-
- /**
- * Refresh the children of this model element, adding new children and
- * removing dangling children as necessary. The remaining children should
- * also refresh their own children sub-tree.
- */
- void refreshChildren() {
- // Sub-classes may override this method as needed
- }
-
- /**
- * Returns the trace specific supplementary folder under the project's
- * supplementary folder. The returned folder and its parent folders may not
- * exist.
- *
- * @param supplFolderPath
- * folder path relative to the project's supplementary folder
- * @return the trace specific supplementary folder
- */
- public IFolder getTraceSupplementaryFolder(String supplFolderPath) {
- TmfProjectElement project = getProject();
- IProject projectResource = project.getResource();
- IFolder supplFolderParent = projectResource.getFolder(TmfCommonConstants.TRACE_SUPPLEMENTARY_FOLDER_NAME);
- IFolder folder = supplFolderParent.getFolder(supplFolderPath);
- return folder;
- }
-
- /**
- * Returns the trace specific supplementary folder under the project's
- * supplementary folder. Its parent folders will be created if they don't
- * exist. If createFolder is true, the returned folder will be created,
- * otherwise it may not exist.
- *
- * @param supplFolderPath
- * folder path relative to the project's supplementary folder
- * @param createFolder
- * if true, the returned folder will be created
- * @return the trace specific supplementary folder
- * @since 3.0
- */
- public IFolder prepareTraceSupplementaryFolder(String supplFolderPath, boolean createFolder) {
- IFolder folder = getTraceSupplementaryFolder(supplFolderPath);
- try {
- if (createFolder) {
- TraceUtils.createFolder(folder, new NullProgressMonitor());
- } else {
- TraceUtils.createFolder((IFolder) folder.getParent(), new NullProgressMonitor());
- }
- } catch (CoreException e) {
- Activator.getDefault().logError("Error creating supplementary folder " + folder.getFullPath(), e); //$NON-NLS-1$
- }
- return folder;
- }
-
- @Override
- public String toString() {
- return getClass().getSimpleName() + '(' + getPath() + ')';
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/project/model/TmfProjectRegistry.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/project/model/TmfProjectRegistry.java
deleted file mode 100644
index 2cc37f4a82..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/project/model/TmfProjectRegistry.java
+++ /dev/null
@@ -1,205 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011, 2014 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
- * Bernd Hufmann - Added project creation utility
- * Patrick Tasse - Refactor resource change listener
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.project.model;
-
-import java.lang.reflect.InvocationTargetException;
-import java.net.URI;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.core.resources.IFolder;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IProjectDescription;
-import org.eclipse.core.resources.IResourceChangeEvent;
-import org.eclipse.core.resources.IResourceChangeListener;
-import org.eclipse.core.resources.IResourceDelta;
-import org.eclipse.core.resources.IWorkspace;
-import org.eclipse.core.resources.IWorkspaceRoot;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.linuxtools.internal.tmf.ui.Activator;
-import org.eclipse.linuxtools.tmf.core.TmfCommonConstants;
-import org.eclipse.linuxtools.tmf.core.TmfProjectNature;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.actions.WorkspaceModifyOperation;
-
-/**
- * Factory class storing TMF tracing projects and creating TMF project model elements.
- * <p>
- * @version 1.0
- * @author Francois Chouinard
- */
-public class TmfProjectRegistry implements IResourceChangeListener {
-
- // Create the singleton instance
- static {
- new TmfProjectRegistry();
- }
-
- // The map of project resource to project model elements
- private static Map<IProject, TmfProjectElement> registry = new HashMap<>();
-
- private TmfProjectRegistry() {
- ResourcesPlugin.getWorkspace().addResourceChangeListener(this);
- }
-
- /**
- * Get the project model element for a project resource
- * @param project the project resource
- * @return the project model element or null if it does not exist
- */
- public static synchronized TmfProjectElement getProject(IProject project) {
- return getProject(project, false);
- }
-
- /**
- * Get the project model element for a project resource
- * @param project the project resource
- * @param force a flag controlling whether a new project should be created if it doesn't exist
- * @return the project model element
- */
- public static synchronized TmfProjectElement getProject(IProject project, boolean force) {
- TmfProjectElement element = registry.get(project);
- if (element == null && force) {
- registry.put(project, new TmfProjectElement(project.getName(), project, null));
- element = registry.get(project);
- // force the model to be populated
- element.refreshChildren();
- }
- return element;
- }
-
- /**
- * Utility method to create a tracing project.
- *
- * @param projectName
- * - A project name
- * @param projectLocation
- * - A project location URI. Use null for default location (which is workspace).
- * @param monitor
- * - A progress monitor
- * @return the IProject object or null
- * @since 2.0
- */
- public static IProject createProject(String projectName, final URI projectLocation, IProgressMonitor monitor) {
-
- final IWorkspace workspace = ResourcesPlugin.getWorkspace();
- IWorkspaceRoot root = workspace.getRoot();
- final IProject project = root.getProject(projectName);
- WorkspaceModifyOperation action = new WorkspaceModifyOperation() {
- @Override
- protected void execute(IProgressMonitor progressMonitor) throws CoreException, InvocationTargetException, InterruptedException {
- if (!project.exists()) {
- IProjectDescription description = workspace.newProjectDescription(project.getName());
- if (projectLocation != null) {
- description.setLocationURI(projectLocation);
- }
- project.create(description, progressMonitor);
- }
-
- if (!project.isOpen()) {
- project.open(progressMonitor);
- }
-
- IProjectDescription description = project.getDescription();
- description.setNatureIds(new String[] { TmfProjectNature.ID });
- project.setDescription(description, null);
-
- IFolder folder = project.getFolder(TmfTracesFolder.TRACES_FOLDER_NAME);
- if (!folder.exists()) {
- folder.create(true, true, null);
- }
-
- folder = project.getFolder(TmfExperimentFolder.EXPER_FOLDER_NAME);
- if (!folder.exists()) {
- folder.create(true, true, null);
- }
-
- // create folder for supplementary tracing files
- folder = project.getFolder(TmfCommonConstants.TRACE_SUPPLEMENTARY_FOLDER_NAME);
-
- if (!folder.exists()) {
- folder.create(true, true, null);
- }
- }
- };
- try {
- PlatformUI.getWorkbench().getProgressService().run(false, false, action);
- } catch (InvocationTargetException e) {
- Activator.getDefault().logError("Error creating TMF project " + project.getName(), e); //$NON-NLS-1$
- } catch (InterruptedException e) {
- }
- return project;
- }
-
- // ------------------------------------------------------------------------
- // IResourceChangeListener
- // ------------------------------------------------------------------------
-
- /**
- * @since 3.0
- */
- @Override
- public void resourceChanged(IResourceChangeEvent event) {
- if (event.getType() == IResourceChangeEvent.PRE_DELETE || event.getType() == IResourceChangeEvent.PRE_CLOSE) {
- if (event.getResource() instanceof IProject) {
- IProject project = (IProject) event.getResource();
- try {
- if (project.isAccessible() && project.hasNature(TmfProjectNature.ID)) {
- TmfProjectElement tmfProjectElement = registry.get(project);
- if (tmfProjectElement == null) {
- return;
- }
- final List<TmfTraceElement> traces = tmfProjectElement.getTracesFolder().getTraces();
- if (!traces.isEmpty()) {
- // Close editors in UI Thread
- Display.getDefault().syncExec(new Runnable() {
- @Override
- public void run() {
- for (TmfTraceElement traceElement : traces) {
- traceElement.closeEditors();
- }
- }
- });
- }
- }
- } catch (CoreException e) {
- Activator.getDefault().logError("Error handling resource change event for " + project.getName(), e); //$NON-NLS-1$
- }
- }
- } else if (event.getType() == IResourceChangeEvent.POST_CHANGE) {
- for (IResourceDelta delta : event.getDelta().getAffectedChildren()) {
- if (delta.getResource() instanceof IProject) {
- IProject project = (IProject) delta.getResource();
- try {
- if (delta.getKind() == IResourceDelta.CHANGED &&
- project.isOpen() && project.hasNature(TmfProjectNature.ID)) {
- TmfProjectElement projectElement = getProject(project, true);
- projectElement.refresh();
- } else if (delta.getKind() == IResourceDelta.REMOVED) {
- registry.remove(project);
- }
- } catch (CoreException e) {
- Activator.getDefault().logError("Error handling resource change event for " + project.getName(), e); //$NON-NLS-1$
- }
- }
- }
- }
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/project/model/TmfTraceElement.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/project/model/TmfTraceElement.java
deleted file mode 100644
index eaf20d7358..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/project/model/TmfTraceElement.java
+++ /dev/null
@@ -1,700 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010, 2014 Ericsson, École Polytechnique de Montréal
- *
- * 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
- * Bernd Hufmann - Added supplementary files handling
- * Geneviève Bastien - Moved supplementary files handling to parent class,
- * added code to copy trace
- * Patrick Tasse - Close editors to release resources
- * Jean-Christian Kouame - added trace properties to be shown into
- * the properties view
- * Geneviève Bastien - Moved trace type related methods to parent class
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.project.model;
-
-import java.util.Arrays;
-import java.util.Date;
-import java.util.HashMap;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.core.filesystem.EFS;
-import org.eclipse.core.filesystem.IFileInfo;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IFolder;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.URIUtil;
-import org.eclipse.linuxtools.internal.tmf.ui.Activator;
-import org.eclipse.linuxtools.tmf.core.TmfCommonConstants;
-import org.eclipse.linuxtools.tmf.core.event.ITmfEvent;
-import org.eclipse.linuxtools.tmf.core.parsers.custom.CustomTxtEvent;
-import org.eclipse.linuxtools.tmf.core.parsers.custom.CustomTxtTrace;
-import org.eclipse.linuxtools.tmf.core.parsers.custom.CustomTxtTraceDefinition;
-import org.eclipse.linuxtools.tmf.core.parsers.custom.CustomXmlEvent;
-import org.eclipse.linuxtools.tmf.core.parsers.custom.CustomXmlTrace;
-import org.eclipse.linuxtools.tmf.core.parsers.custom.CustomXmlTraceDefinition;
-import org.eclipse.linuxtools.tmf.core.project.model.TmfTraceType;
-import org.eclipse.linuxtools.tmf.core.project.model.TraceTypeHelper;
-import org.eclipse.linuxtools.tmf.core.synchronization.TimestampTransformFactory;
-import org.eclipse.linuxtools.tmf.core.timestamp.TmfTimestampFormat;
-import org.eclipse.linuxtools.tmf.core.trace.ITmfTrace;
-import org.eclipse.linuxtools.tmf.core.trace.ITmfTraceProperties;
-import org.eclipse.linuxtools.tmf.core.trace.TmfTrace;
-import org.eclipse.linuxtools.tmf.core.trace.TmfTraceManager;
-import org.eclipse.linuxtools.tmf.ui.editors.TmfEventsEditor;
-import org.eclipse.linuxtools.tmf.ui.properties.ReadOnlyTextPropertyDescriptor;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.ui.IActionFilter;
-import org.eclipse.ui.views.properties.IPropertyDescriptor;
-import org.eclipse.ui.views.properties.IPropertySource2;
-
-import com.ibm.icu.text.DateFormat;
-import com.ibm.icu.text.NumberFormat;
-
-/**
- * Implementation of trace model element representing a trace. It provides
- * methods to instantiate <code>ITmfTrace</code> and <code>ITmfEvent</code> as
- * well as editor ID from the trace type extension definition.
- *
- * @version 1.0
- * @author Francois Chouinard
- */
-public class TmfTraceElement extends TmfCommonProjectElement implements IActionFilter, IPropertySource2 {
-
- // ------------------------------------------------------------------------
- // Constants
- // ------------------------------------------------------------------------
-
- // Other attributes
- /**
- * Bundle attribute name
- */
- public static final String BUNDLE = "bundle"; //$NON-NLS-1$
- /**
- * IsLinked attribute name.
- */
- public static final String IS_LINKED = "isLinked"; //$NON-NLS-1$
-
- // Property View stuff
- private static final String sfResourcePropertiesCategory = Messages.TmfTraceElement_ResourceProperties;
- private static final String sfName = Messages.TmfTraceElement_Name;
- private static final String sfPath = Messages.TmfTraceElement_Path;
- private static final String sfLocation = Messages.TmfTraceElement_Location;
- private static final String sfTraceType = Messages.TmfTraceElement_EventType;
- private static final String sfIsLinked = Messages.TmfTraceElement_IsLinked;
- private static final String sfSourceLocation = Messages.TmfTraceElement_SourceLocation;
- private static final String sfTimeOffset = Messages.TmfTraceElement_TimeOffset;
- private static final String sfLastModified = Messages.TmfTraceElement_LastModified;
- private static final String sfSize = Messages.TmfTraceElement_Size;
- private static final String sfTracePropertiesCategory = Messages.TmfTraceElement_TraceProperties;
-
- private static final ReadOnlyTextPropertyDescriptor sfNameDescriptor = new ReadOnlyTextPropertyDescriptor(sfName, sfName);
- private static final ReadOnlyTextPropertyDescriptor sfPathDescriptor = new ReadOnlyTextPropertyDescriptor(sfPath, sfPath);
- private static final ReadOnlyTextPropertyDescriptor sfLocationDescriptor = new ReadOnlyTextPropertyDescriptor(sfLocation, sfLocation);
- private static final ReadOnlyTextPropertyDescriptor sfTypeDescriptor = new ReadOnlyTextPropertyDescriptor(sfTraceType, sfTraceType);
- private static final ReadOnlyTextPropertyDescriptor sfIsLinkedDescriptor = new ReadOnlyTextPropertyDescriptor(sfIsLinked, sfIsLinked);
- private static final ReadOnlyTextPropertyDescriptor sfSourceLocationDescriptor = new ReadOnlyTextPropertyDescriptor(sfSourceLocation, sfSourceLocation);
- private static final ReadOnlyTextPropertyDescriptor sfTimeOffsetDescriptor = new ReadOnlyTextPropertyDescriptor(sfTimeOffset, sfTimeOffset);
- private static final ReadOnlyTextPropertyDescriptor sfLastModifiedDescriptor = new ReadOnlyTextPropertyDescriptor(sfLastModified, sfLastModified);
- private static final ReadOnlyTextPropertyDescriptor sfSizeDescriptor = new ReadOnlyTextPropertyDescriptor(sfSize, sfSize);
-
- private static final IPropertyDescriptor[] sfDescriptors = { sfNameDescriptor, sfPathDescriptor, sfLocationDescriptor,
- sfTypeDescriptor, sfIsLinkedDescriptor, sfSourceLocationDescriptor,
- sfTimeOffsetDescriptor, sfLastModifiedDescriptor, sfSizeDescriptor };
-
- static {
- sfNameDescriptor.setCategory(sfResourcePropertiesCategory);
- sfPathDescriptor.setCategory(sfResourcePropertiesCategory);
- sfLocationDescriptor.setCategory(sfResourcePropertiesCategory);
- sfTypeDescriptor.setCategory(sfResourcePropertiesCategory);
- sfIsLinkedDescriptor.setCategory(sfResourcePropertiesCategory);
- sfSourceLocationDescriptor.setCategory(sfResourcePropertiesCategory);
- sfTimeOffsetDescriptor.setCategory(sfResourcePropertiesCategory);
- sfLastModifiedDescriptor.setCategory(sfResourcePropertiesCategory);
- sfSizeDescriptor.setCategory(sfResourcePropertiesCategory);
- }
-
- private static final TmfTimestampFormat OFFSET_FORMAT = new TmfTimestampFormat("T.SSS SSS SSS s"); //$NON-NLS-1$
-
- private static final int FOLDER_MAX_COUNT = 1024;
-
- // ------------------------------------------------------------------------
- // Static initialization
- // ------------------------------------------------------------------------
-
- // The mapping of available trace type IDs to their corresponding
- // configuration element
- private static final Map<String, IConfigurationElement> sfTraceTypeAttributes = new HashMap<>();
- private static final Map<String, IConfigurationElement> sfTraceTypeUIAttributes = new HashMap<>();
- private static final Map<String, IConfigurationElement> sfTraceCategories = new HashMap<>();
-
- /**
- * Initialize statically at startup by getting extensions from the platform
- * extension registry.
- */
- public static void init() {
- /* Read the tmf.core "tracetype" extension point */
- IConfigurationElement[] config = Platform.getExtensionRegistry().getConfigurationElementsFor(TmfTraceType.TMF_TRACE_TYPE_ID);
- for (IConfigurationElement ce : config) {
- switch (ce.getName()) {
- case TmfTraceType.TYPE_ELEM:
- String traceTypeId = ce.getAttribute(TmfTraceType.ID_ATTR);
- sfTraceTypeAttributes.put(traceTypeId, ce);
- break;
- case TmfTraceType.CATEGORY_ELEM:
- String categoryId = ce.getAttribute(TmfTraceType.ID_ATTR);
- sfTraceCategories.put(categoryId, ce);
- break;
- default:
- }
- }
-
- /*
- * Read the corresponding tmf.ui "tracetypeui" extension point for this
- * trace type, if it exists.
- */
- config = Platform.getExtensionRegistry().getConfigurationElementsFor(TmfTraceTypeUIUtils.TMF_TRACE_TYPE_UI_ID);
- for (IConfigurationElement ce : config) {
- String elemName = ce.getName();
- if (TmfTraceTypeUIUtils.TYPE_ELEM.equals(elemName)) {
- String traceType = ce.getAttribute(TmfTraceTypeUIUtils.TRACETYPE_ATTR);
- sfTraceTypeUIAttributes.put(traceType, ce);
- }
- }
- }
-
- // ------------------------------------------------------------------------
- // Classes
- // ------------------------------------------------------------------------
-
- private class FileInfo {
- long lastModified;
- long size;
- int count;
- }
-
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
-
- private FileInfo fFileInfo;
-
- // ------------------------------------------------------------------------
- // Constructors
- // ------------------------------------------------------------------------
- /**
- * Constructor. Creates trace model element under the trace folder.
- *
- * @param name
- * The name of trace
- * @param trace
- * The trace resource.
- * @param parent
- * The parent element (trace folder)
- */
- public TmfTraceElement(String name, IResource trace, TmfTraceFolder parent) {
- super(name, trace, parent);
- }
-
- /**
- * Constructor. Creates trace model element under the experiment folder.
- *
- * @param name
- * The name of trace
- * @param trace
- * The trace resource.
- * @param parent
- * The parent element (experiment folder)
- */
- public TmfTraceElement(String name, IResource trace, TmfExperimentElement parent) {
- super(name, trace, parent);
- }
-
- // ------------------------------------------------------------------------
- // Operations
- // ------------------------------------------------------------------------
-
- /**
- * Instantiate a <code>ITmfTrace</code> object based on the trace type and
- * the corresponding extension.
- *
- * @return the <code>ITmfTrace</code> or <code>null</code> for an error
- */
- @Override
- public ITmfTrace instantiateTrace() {
- try {
-
- // make sure that supplementary folder exists
- refreshSupplementaryFolder();
-
- if (getTraceType() != null) {
- if (getTraceType().startsWith(CustomTxtTrace.class.getCanonicalName())) {
- for (CustomTxtTraceDefinition def : CustomTxtTraceDefinition.loadAll()) {
- if (getTraceType().equals(CustomTxtTrace.class.getCanonicalName() + ':' + def.categoryName+ ':' + def.definitionName)) {
- return new CustomTxtTrace(def);
- }
- }
- }
- if (getTraceType().startsWith(CustomXmlTrace.class.getCanonicalName())) {
- for (CustomXmlTraceDefinition def : CustomXmlTraceDefinition.loadAll()) {
- if (getTraceType().equals(CustomXmlTrace.class.getCanonicalName() + ':' + def.categoryName+ ':' + def.definitionName)) {
- return new CustomXmlTrace(def);
- }
- }
- }
- IConfigurationElement ce = sfTraceTypeAttributes.get(getTraceType());
- if (ce == null) {
- return null;
- }
- ITmfTrace trace = (ITmfTrace) ce.createExecutableExtension(TmfTraceType.TRACE_TYPE_ATTR);
- return trace;
- }
- } catch (CoreException e) {
- Activator.getDefault().logError("Error instantiating ITmfTrace object for trace " + getName(), e); //$NON-NLS-1$
- }
- return null;
- }
-
- /**
- * Instantiate a <code>ITmfEvent</code> object based on the trace type and
- * the corresponding extension.
- *
- * @return the <code>ITmfEvent</code> or <code>null</code> for an error
- */
- public ITmfEvent instantiateEvent() {
- try {
- if (getTraceType() != null) {
- if (getTraceType().startsWith(CustomTxtTrace.class.getCanonicalName())) {
- for (CustomTxtTraceDefinition def : CustomTxtTraceDefinition.loadAll()) {
- if (getTraceType().equals(CustomTxtTrace.class.getCanonicalName() + ':' + def.categoryName+ ':' + def.definitionName)) {
- return new CustomTxtEvent(def);
- }
- }
- }
- if (getTraceType().startsWith(CustomXmlTrace.class.getCanonicalName())) {
- for (CustomXmlTraceDefinition def : CustomXmlTraceDefinition.loadAll()) {
- if (getTraceType().equals(CustomXmlTrace.class.getCanonicalName() + ':' + def.categoryName+ ':' + def.definitionName)) {
- return new CustomXmlEvent(def);
- }
- }
- }
- IConfigurationElement ce = sfTraceTypeAttributes.get(getTraceType());
- if (ce == null) {
- return null;
- }
- ITmfEvent event = (ITmfEvent) ce.createExecutableExtension(TmfTraceType.EVENT_TYPE_ATTR);
- return event;
- }
- } catch (CoreException e) {
- Activator.getDefault().logError("Error instantiating ITmfEvent object for trace " + getName(), e); //$NON-NLS-1$
- }
- return null;
- }
-
- @Override
- public String getEditorId() {
- if (getTraceType() != null) {
- if (getTraceType().startsWith(CustomTxtTrace.class.getCanonicalName())) {
- return TmfEventsEditor.ID;
- }
- if (getTraceType().startsWith(CustomXmlTrace.class.getCanonicalName())) {
- return TmfEventsEditor.ID;
- }
- IConfigurationElement ce = sfTraceTypeUIAttributes.get(getTraceType());
- if (ce == null) {
- /* This trace type does not define UI attributes */
- return null;
- }
- IConfigurationElement[] defaultEditorCE = ce.getChildren(TmfTraceTypeUIUtils.DEFAULT_EDITOR_ELEM);
- if (defaultEditorCE.length == 1) {
- return defaultEditorCE[0].getAttribute(TmfTraceType.ID_ATTR);
- }
- }
- return null;
- }
-
- /**
- * Returns the file resource used to store bookmarks after creating it if
- * necessary. If the trace resource is a file, it is returned directly. If
- * the trace resource is a folder, a linked file is returned. The file will
- * be created if it does not exist.
- *
- * @return the bookmarks file
- * @throws CoreException
- * if the bookmarks file cannot be created
- * @since 2.0
- */
- @Override
- public IFile createBookmarksFile() throws CoreException {
- IFile file = getBookmarksFile();
- if (fResource instanceof IFolder) {
- return createBookmarksFile(getProject().getTracesFolder().getResource(), TmfTrace.class.getCanonicalName());
- }
- return file;
- }
-
- /**
- * Returns the file resource used to store bookmarks. The file may not
- * exist.
- *
- * @return the bookmarks file
- * @since 2.0
- */
- @Override
- public IFile getBookmarksFile() {
- IFile file = null;
- if (fResource instanceof IFile) {
- file = (IFile) fResource;
- } else if (fResource instanceof IFolder) {
- final IFolder folder = (IFolder) fResource;
- file = folder.getFile(getName() + '_');
- }
- return file;
- }
-
- /**
- * Returns the <code>TmfTraceElement</code> located under the
- * <code>TmfTracesFolder</code>.
- *
- * @return <code>this</code> if this element is under the
- * <code>TmfTracesFolder</code> else the corresponding
- * <code>TmfTraceElement</code> if this element is under
- * <code>TmfExperimentElement</code>.
- */
- public TmfTraceElement getElementUnderTraceFolder() {
-
- // If trace is under an experiment, return original trace from the
- // traces folder
- if (getParent() instanceof TmfExperimentElement) {
- for (TmfTraceElement aTrace : getProject().getTracesFolder().getTraces()) {
- if (aTrace.getElementPath().equals(getElementPath())) {
- return aTrace;
- }
- }
- }
- return this;
- }
-
- @Override
- public String getTypeName() {
- return Messages.TmfTraceElement_TypeName;
- }
-
- // ------------------------------------------------------------------------
- // IActionFilter
- // ------------------------------------------------------------------------
-
- @Override
- public boolean testAttribute(Object target, String name, String value) {
- if (name.equals(IS_LINKED)) {
- boolean isLinked = getResource().isLinked();
- return Boolean.toString(isLinked).equals(value);
- }
- return false;
- }
-
- // ------------------------------------------------------------------------
- // IPropertySource2
- // ------------------------------------------------------------------------
-
- @Override
- public Object getEditableValue() {
- return null;
- }
-
- /**
- * Get the trace properties of this traceElement if the corresponding trace
- * is opened in an editor
- *
- * @return a map with the names and values of the trace properties
- * respectively as keys and values
- */
- private Map<String, String> getTraceProperties() {
- for (ITmfTrace openedTrace : TmfTraceManager.getInstance().getOpenedTraces()) {
- for (ITmfTrace singleTrace : TmfTraceManager.getTraceSet(openedTrace)) {
- if (getElementUnderTraceFolder().getResource().equals(singleTrace.getResource())) {
- if (singleTrace instanceof ITmfTraceProperties) {
- ITmfTraceProperties traceProperties = (ITmfTraceProperties) singleTrace;
- return traceProperties.getTraceProperties();
- }
- }
- }
- }
- return new HashMap<>();
- }
-
- @Override
- public IPropertyDescriptor[] getPropertyDescriptors() {
- Map<String, String> traceProperties = getTraceProperties();
- if (!traceProperties.isEmpty()) {
- IPropertyDescriptor[] propertyDescriptorArray = new IPropertyDescriptor[traceProperties.size() + sfDescriptors.length];
- int index = 0;
- for (Map.Entry<String, String> varName : traceProperties.entrySet()) {
- ReadOnlyTextPropertyDescriptor descriptor = new ReadOnlyTextPropertyDescriptor(this.getName() + "_" + varName.getKey(), varName.getKey()); //$NON-NLS-1$
- descriptor.setCategory(sfTracePropertiesCategory);
- propertyDescriptorArray[index] = descriptor;
- index++;
- }
- for (int i = 0; i < sfDescriptors.length; i++) {
- propertyDescriptorArray[index] = sfDescriptors[i];
- index++;
- }
- return propertyDescriptorArray;
- }
- return Arrays.copyOf(sfDescriptors, sfDescriptors.length);
- }
-
- @Override
- public Object getPropertyValue(Object id) {
-
- if (sfName.equals(id)) {
- return getName();
- }
-
- if (sfPath.equals(id)) {
- return getPath().toString();
- }
-
- if (sfLocation.equals(id)) {
- return URIUtil.toUnencodedString(getLocation());
- }
-
- if (sfIsLinked.equals(id)) {
- return Boolean.valueOf(getResource().isLinked()).toString();
- }
-
- if (sfSourceLocation.equals(id)) {
- try {
- String sourceLocation = getElementUnderTraceFolder().getResource().getPersistentProperty(TmfCommonConstants.SOURCE_LOCATION);
- if (sourceLocation != null) {
- return sourceLocation;
- }
- } catch (CoreException e) {
- }
- return ""; //$NON-NLS-1$
- }
-
- if (sfLastModified.equals(id)) {
- FileInfo fileInfo = getFileInfo();
- if (fileInfo == null) {
- return ""; //$NON-NLS-1$
- }
- long date = fileInfo.lastModified;
- DateFormat format = DateFormat.getDateTimeInstance(DateFormat.LONG, DateFormat.MEDIUM);
- return format.format(new Date(date));
- }
-
- if (sfSize.equals(id)) {
- FileInfo fileInfo = getFileInfo();
- if (fileInfo == null) {
- return ""; //$NON-NLS-1$
- }
- if (getResource() instanceof IFolder) {
- if (fileInfo.count <= FOLDER_MAX_COUNT) {
- return NLS.bind(Messages.TmfTraceElement_FolderSizeString,
- NumberFormat.getInstance().format(fileInfo.size), fileInfo.count);
- }
- return NLS.bind(Messages.TmfTraceElement_FolderSizeOverflowString,
- NumberFormat.getInstance().format(fileInfo.size), FOLDER_MAX_COUNT);
- }
- return NLS.bind(Messages.TmfTraceElement_FileSizeString, NumberFormat.getInstance().format(fileInfo.size));
- }
-
- if (sfTraceType.equals(id)) {
- if (getTraceType() != null) {
- TraceTypeHelper helper = TmfTraceType.getTraceType(getTraceType());
- if (helper != null) {
- return helper.getCategoryName() + " : " + helper.getName(); //$NON-NLS-1$
- }
- }
- return ""; //$NON-NLS-1$
- }
-
- if (sfTimeOffset.equals(id)) {
- long offset = TimestampTransformFactory.getTimestampTransform(getElementUnderTraceFolder().getResource()).transform(0);
- if (offset != 0) {
- return OFFSET_FORMAT.format(offset);
- }
- return ""; //$NON-NLS-1$
- }
-
- Map<String, String> traceProperties = getTraceProperties();
- if (id != null && !traceProperties.isEmpty()) {
- String key = (String) id;
- key = key.substring(this.getName().length() + 1); // remove name_
- String value = traceProperties.get(key);
- return value;
- }
-
- return null;
- }
-
- private FileInfo getFileInfo() {
- /* FileInfo is needed for both 'last modified' and 'size' properties.
- * It is freshly computed for one, and reused for the other, then
- * cleared so that the information can be refreshed the next time.
- */
- FileInfo fileInfo;
- if (fFileInfo == null) {
- try {
- fileInfo = computeFileInfo(new FileInfo(), getResource());
- } catch (CoreException e) {
- return null;
- }
- fFileInfo = fileInfo;
- } else {
- fileInfo = fFileInfo;
- fFileInfo = null;
- }
- return fileInfo;
- }
-
- private FileInfo computeFileInfo(FileInfo fileInfo, IResource resource) throws CoreException {
- if (fileInfo == null || fileInfo.count > FOLDER_MAX_COUNT) {
- return fileInfo;
- }
- if (resource instanceof IFolder) {
- IFolder folder = (IFolder) resource;
- for (IResource member : folder.members()) {
- computeFileInfo(fileInfo, member);
- }
- return fileInfo;
- }
- IFileInfo info = EFS.getStore(resource.getLocationURI()).fetchInfo();
- fileInfo.lastModified = Math.max(fileInfo.lastModified, info.getLastModified());
- fileInfo.size += info.getLength();
- fileInfo.count++;
- return fileInfo;
- }
-
- @Override
- public void resetPropertyValue(Object id) {
- }
-
- @Override
- public void setPropertyValue(Object id, Object value) {
- }
-
- @Override
- public boolean isPropertyResettable(Object id) {
- return false;
- }
-
- @Override
- public boolean isPropertySet(Object id) {
- return false;
- }
-
- /**
- * Copy this trace in the trace folder. No other parameters are mentioned so
- * the trace is copied in this element's project trace folder
- *
- * @param newName
- * The new trace name
- * @return the new Resource object
- * @since 2.0
- */
- public TmfTraceElement copy(String newName) {
- TmfTraceFolder folder = (TmfTraceFolder) getParent();
- IResource res = super.copy(newName, false);
- for (TmfTraceElement trace : folder.getTraces()) {
- if (trace.getResource().equals(res)) {
- return trace;
- }
- }
- return null;
- }
-
- /**
- * Close opened editors associated with this trace.
- *
- * @since 2.0
- */
- @Override
- public void closeEditors() {
- super.closeEditors();
-
- // Close experiments that contain the trace if open
- if (getParent() instanceof TmfTraceFolder) {
- TmfExperimentFolder experimentsFolder = getProject().getExperimentsFolder();
- for (TmfExperimentElement experiment : experimentsFolder.getExperiments()) {
- for (TmfTraceElement trace : experiment.getTraces()) {
- if (trace.getElementPath().equals(getElementPath())) {
- experiment.closeEditors();
- break;
- }
- }
- }
- } else if (getParent() instanceof TmfExperimentElement) {
- TmfExperimentElement experiment = (TmfExperimentElement) getParent();
- experiment.closeEditors();
- }
- }
-
- /**
- * Delete the trace resource, remove it from experiments and delete its
- * supplementary files
- *
- * @param progressMonitor
- * a progress monitor, or null if progress reporting is not
- * desired
- *
- * @throws CoreException
- * thrown when IResource.delete fails
- * @since 2.2
- */
- public void delete(IProgressMonitor progressMonitor) throws CoreException {
- // Close editors in UI Thread
- Display.getDefault().syncExec(new Runnable() {
- @Override
- public void run() {
- closeEditors();
- }
- });
-
- IPath path = fResource.getLocation();
- if (path != null) {
- if (getParent() instanceof TmfTraceFolder) {
- TmfExperimentFolder experimentFolder = getProject().getExperimentsFolder();
-
- // Propagate the removal to traces
- for (TmfExperimentElement experiment : experimentFolder.getExperiments()) {
- List<TmfTraceElement> toRemove = new LinkedList<>();
- for (TmfTraceElement trace : experiment.getTraces()) {
- if (trace.getElementPath().equals(getElementPath())) {
- toRemove.add(trace);
- }
- }
- for (TmfTraceElement child : toRemove) {
- experiment.removeTrace(child);
- }
- }
-
- // Delete supplementary files
- deleteSupplementaryFolder();
-
- } else if (getParent() instanceof TmfExperimentElement) {
- TmfExperimentElement experimentElement = (TmfExperimentElement) getParent();
- experimentElement.removeTrace(this);
- }
- }
-
- // Finally, delete the trace
- fResource.delete(true, progressMonitor);
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/project/model/TmfTraceFolder.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/project/model/TmfTraceFolder.java
deleted file mode 100644
index d7f9dfd9e1..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/project/model/TmfTraceFolder.java
+++ /dev/null
@@ -1,209 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011, 2014 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
- * Patrick Tasse - Add support for folder elements
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.project.model;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.core.resources.IFolder;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.linuxtools.tmf.core.project.model.TmfTraceType;
-import org.eclipse.linuxtools.tmf.ui.properties.ReadOnlyTextPropertyDescriptor;
-import org.eclipse.ui.views.properties.IPropertyDescriptor;
-import org.eclipse.ui.views.properties.IPropertySource2;
-
-/**
- * Implementation of trace folder model element representing a trace folder in
- * the project.
- * <p>
- * @version 1.0
- * @author Francois Chouinard
- */
-public class TmfTraceFolder extends TmfProjectModelElement implements IPropertySource2 {
-
- // ------------------------------------------------------------------------
- // Constants
- // ------------------------------------------------------------------------
-
- private static final String sfInfoCategory = "Info"; //$NON-NLS-1$
- private static final String sfName = "name"; //$NON-NLS-1$
- private static final String sfPath = "path"; //$NON-NLS-1$
- private static final String sfLocation = "location"; //$NON-NLS-1$
-
- private static final ReadOnlyTextPropertyDescriptor sfNameDescriptor = new ReadOnlyTextPropertyDescriptor(sfName, sfName);
- private static final ReadOnlyTextPropertyDescriptor sfPathDescriptor = new ReadOnlyTextPropertyDescriptor(sfPath, sfPath);
- private static final ReadOnlyTextPropertyDescriptor sfLocationDescriptor = new ReadOnlyTextPropertyDescriptor(sfLocation, sfLocation);
-
- private static final IPropertyDescriptor[] sfDescriptors = { sfNameDescriptor, sfPathDescriptor,
- sfLocationDescriptor };
-
- static {
- sfNameDescriptor.setCategory(sfInfoCategory);
- sfPathDescriptor.setCategory(sfInfoCategory);
- sfLocationDescriptor.setCategory(sfInfoCategory);
- }
-
- // ------------------------------------------------------------------------
- // Constructor
- // ------------------------------------------------------------------------
-
- /**
- * Constructor.
- * Creates folder model element under the project.
- * @param name The name of trace folder.
- * @param resource The folder resource.
- * @param parent The parent element (project).
- */
- public TmfTraceFolder(String name, IFolder resource, TmfProjectElement parent) {
- super(name, resource, parent);
- parent.addChild(this);
- }
-
- /**
- * Constructor.
- * Creates folder model element under another folder.
- * @param name The name of trace folder.
- * @param resource The folder resource.
- * @param parent The parent element (folder).
- * @since 3.0
- */
- public TmfTraceFolder(String name, IFolder resource, TmfTraceFolder parent) {
- super(name, resource, parent);
- parent.addChild(this);
- }
-
- // ------------------------------------------------------------------------
- // TmfProjectModelElement
- // ------------------------------------------------------------------------
-
- @Override
- public IFolder getResource() {
- return (IFolder) fResource;
- }
-
- @Override
- void refreshChildren() {
- IFolder folder = getResource();
-
- // Get the children from the model
- Map<String, ITmfProjectModelElement> childrenMap = new HashMap<>();
- for (ITmfProjectModelElement element : getChildren()) {
- childrenMap.put(element.getResource().getName(), element);
- }
-
- try {
- IResource[] members = folder.members();
- for (IResource resource : members) {
- String name = resource.getName();
- boolean isFolder = resource instanceof IFolder &&
- (TmfTraceType.getTraceTypeId(resource) == null);
- ITmfProjectModelElement element = childrenMap.get(name);
- if (isFolder && !(element instanceof TmfTraceFolder) && !(element instanceof TmfTraceElement)) {
- if (TmfTraceType.isDirectoryTrace(resource.getLocationURI().getPath())) {
- element = new TmfTraceElement(name, resource, this);
- } else {
- element = new TmfTraceFolder(name, (IFolder) resource, this);
- }
- } else if (!isFolder && !(element instanceof TmfTraceElement)) {
- element = new TmfTraceElement(name, resource, this);
- } else {
- childrenMap.remove(name);
- }
- ((TmfProjectModelElement) element).refreshChildren();
- }
- } catch (CoreException e) {
- }
-
- // Cleanup dangling children from the model
- for (ITmfProjectModelElement danglingChild : childrenMap.values()) {
- removeChild(danglingChild);
- }
- }
-
- // ------------------------------------------------------------------------
- // Operations
- // ------------------------------------------------------------------------
-
- /**
- * Returns a list of trace elements under the folder element, recursively.
- * @return list of trace model elements
- */
- public List<TmfTraceElement> getTraces() {
- List<ITmfProjectModelElement> children = getChildren();
- List<TmfTraceElement> traces = new ArrayList<>();
- for (ITmfProjectModelElement child : children) {
- if (child instanceof TmfTraceElement) {
- traces.add((TmfTraceElement) child);
- } else if (child instanceof TmfTraceFolder) {
- traces.addAll(((TmfTraceFolder) child).getTraces());
- }
- }
- return traces;
- }
-
- // ------------------------------------------------------------------------
- // IPropertySource2
- // ------------------------------------------------------------------------
-
- @Override
- public Object getEditableValue() {
- return null;
- }
-
- @Override
- public IPropertyDescriptor[] getPropertyDescriptors() {
- return Arrays.copyOf(sfDescriptors, sfDescriptors.length);
- }
-
- @Override
- public Object getPropertyValue(Object id) {
-
- if (sfName.equals(id)) {
- return getName();
- }
-
- if (sfPath.equals(id)) {
- return getPath().toString();
- }
-
- if (sfLocation.equals(id)) {
- return getLocation().toString();
- }
-
- return null;
- }
-
- @Override
- public void resetPropertyValue(Object id) {
- }
-
- @Override
- public void setPropertyValue(Object id, Object value) {
- }
-
- @Override
- public boolean isPropertyResettable(Object id) {
- return false;
- }
-
- @Override
- public boolean isPropertySet(Object id) {
- return false;
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/project/model/TmfTraceTypeUIUtils.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/project/model/TmfTraceTypeUIUtils.java
deleted file mode 100644
index c981e2f239..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/project/model/TmfTraceTypeUIUtils.java
+++ /dev/null
@@ -1,494 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 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:
- * Alexandre Montplaisir - Initial API and implementation
- * Patrick Tasse - Add support for folder elements
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.project.model;
-
-import java.lang.reflect.Constructor;
-import java.lang.reflect.InvocationTargetException;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Comparator;
-import java.util.HashMap;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Map;
-import java.util.TreeSet;
-
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jdt.annotation.Nullable;
-import org.eclipse.linuxtools.internal.tmf.ui.parsers.custom.CustomEventTableColumns;
-import org.eclipse.linuxtools.tmf.core.TmfCommonConstants;
-import org.eclipse.linuxtools.tmf.core.parsers.custom.CustomTxtTrace;
-import org.eclipse.linuxtools.tmf.core.parsers.custom.CustomXmlTrace;
-import org.eclipse.linuxtools.tmf.core.project.model.TmfTraceImportException;
-import org.eclipse.linuxtools.tmf.core.project.model.TmfTraceType;
-import org.eclipse.linuxtools.tmf.core.project.model.TmfTraceType.TraceElementType;
-import org.eclipse.linuxtools.tmf.core.project.model.TraceTypeHelper;
-import org.eclipse.linuxtools.tmf.core.trace.ITmfTrace;
-import org.eclipse.linuxtools.tmf.core.util.Pair;
-import org.eclipse.linuxtools.tmf.ui.viewers.events.TmfEventsTable;
-import org.eclipse.linuxtools.tmf.ui.viewers.events.columns.ITmfEventTableColumns;
-import org.eclipse.linuxtools.tmf.ui.viewers.events.columns.TmfEventTableColumn;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.events.SelectionListener;
-import org.eclipse.swt.layout.RowLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Shell;
-import org.osgi.framework.Bundle;
-
-/**
- * Utils class for the UI-specific parts of @link {@link TmfTraceType}.
- *
- * @author Alexandre Montplaisir
- * @since 3.0
- */
-public final class TmfTraceTypeUIUtils {
-
- /** Extension point ID */
- public static final String TMF_TRACE_TYPE_UI_ID = "org.eclipse.linuxtools.tmf.ui.tracetypeui"; //$NON-NLS-1$
-
- /** Extension point element 'type' (should match the type in TmfTraceType) */
- public static final String TYPE_ELEM = "type"; //$NON-NLS-1$
-
- /**
- * Extension point element 'experiment' (should match the type in
- * TmfTraceType)
- */
- public static final String EXPERIMENT_ELEM = "experiment"; //$NON-NLS-1$
-
- /** Extension point element 'Default editor' */
- public static final String DEFAULT_EDITOR_ELEM = "defaultEditor"; //$NON-NLS-1$
-
- /** Extension point element 'Events table type' */
- public static final String EVENTS_TABLE_TYPE_ELEM = "eventsTableType"; //$NON-NLS-1$
-
- /** Extension point element 'Event Table Columns'
- * @since 3.2*/
- public static final String EVENT_TABLE_COLUMNS = "eventTableColumns"; //$NON-NLS-1$
-
- /** Extension point attribute 'tracetype' */
- public static final String TRACETYPE_ATTR = "tracetype"; //$NON-NLS-1$
-
- /** Extension point attribute 'icon' */
- public static final String ICON_ATTR = "icon"; //$NON-NLS-1$
-
- /** Extension point attribute 'class' (attribute of other elements) */
- public static final String CLASS_ATTR = "class"; //$NON-NLS-1$
-
- private TmfTraceTypeUIUtils() {
- }
-
- private static List<Pair<Integer, TraceTypeHelper>> reduce(List<Pair<Integer, TraceTypeHelper>> candidates) {
- List<Pair<Integer, TraceTypeHelper>> retVal = new ArrayList<>();
-
- // get all the tracetypes that are unique in that stage
- for (Pair<Integer, TraceTypeHelper> candidatePair : candidates) {
- TraceTypeHelper candidate = candidatePair.getSecond();
- if (isUnique(candidate, candidates)) {
- retVal.add(candidatePair);
- }
- }
- return retVal;
- }
-
- /*
- * Only return the leaves of the trace types. Ignore custom trace types.
- */
- private static boolean isUnique(TraceTypeHelper trace, List<Pair<Integer, TraceTypeHelper>> set) {
- if (trace.getTraceClass().equals(CustomTxtTrace.class) ||
- trace.getTraceClass().equals(CustomXmlTrace.class)) {
- return true;
- }
- // check if the trace type is the leaf. we make an instance of the trace
- // type and if it is only an instance of itself, it is a leaf
- final ITmfTrace tmfTrace = trace.getTrace();
- int count = -1;
- for (Pair<Integer, TraceTypeHelper> child : set) {
- final ITmfTrace traceCandidate = child.getSecond().getTrace();
- if (tmfTrace.getClass().isInstance(traceCandidate)) {
- count++;
- }
- }
- return count == 0;
- }
-
- private static TraceTypeHelper getTraceTypeToSet(List<Pair<Integer, TraceTypeHelper>> candidates, Shell shell) {
- final Map<String, String> names = new HashMap<>();
- Shell shellToShow = new Shell(shell);
- shellToShow.setText(Messages.TmfTraceType_SelectTraceType);
- final String candidatesToSet[] = new String[1];
- for (Pair<Integer, TraceTypeHelper> candidatePair : candidates) {
- TraceTypeHelper candidate = candidatePair.getSecond();
- Button b = new Button(shellToShow, SWT.RADIO);
- final String displayName = candidate.getCategoryName() + ':' + candidate.getName();
- b.setText(displayName);
- names.put(displayName, candidate.getCanonicalName());
-
- b.addSelectionListener(new SelectionListener() {
-
- @Override
- public void widgetSelected(SelectionEvent e) {
- final Button source = (Button) e.getSource();
- candidatesToSet[0] = (names.get(source.getText()));
- source.getParent().dispose();
- }
-
- @Override
- public void widgetDefaultSelected(SelectionEvent e) {
-
- }
- });
- }
- shellToShow.setLayout(new RowLayout(SWT.VERTICAL));
- shellToShow.pack();
- shellToShow.open();
-
- Display display = shellToShow.getDisplay();
- while (!shellToShow.isDisposed()) {
- if (!display.readAndDispatch()) {
- display.sleep();
- }
- }
- return TmfTraceType.getTraceType(candidatesToSet[0]);
- }
-
- /**
- * This member figures out the trace type of a given file. It will prompt
- * the user if it needs more information to properly pick the trace type.
- *
- * @param path
- * The path of file to import
- * @param shell
- * a shell to display the message to. If it is null, it is
- * assumed to be cancelled.
- * @param traceTypeHint
- * the ID of a trace (like "o.e.l.specifictrace" )
- * @return null if the request is cancelled or a TraceTypeHelper if it
- * passes.
- * @throws TmfTraceImportException
- * if the traces don't match or there are errors in the trace
- * file
- */
- public static TraceTypeHelper selectTraceType(String path, Shell shell, String traceTypeHint) throws TmfTraceImportException {
-
- Comparator<Pair<Integer, TraceTypeHelper>> comparator = new Comparator<Pair<Integer, TraceTypeHelper>>() {
- @Override
- public int compare(Pair<Integer, TraceTypeHelper> o1, Pair<Integer, TraceTypeHelper> o2) {
- int res = -o1.getFirst().compareTo(o2.getFirst()); // invert so that highest confidence is first
- if (res == 0) {
- res = o1.getSecond().getName().compareTo(o2.getSecond().getName());
- }
- return res;
- }
- };
- TreeSet<Pair<Integer, TraceTypeHelper>> validCandidates = new TreeSet<>(comparator);
- final Iterable<TraceTypeHelper> traceTypeHelpers = TmfTraceType.getTraceTypeHelpers();
- for (TraceTypeHelper traceTypeHelper : traceTypeHelpers) {
- if (traceTypeHelper.isExperimentType()) {
- continue;
- }
- int confidence = traceTypeHelper.validateWithConfidence(path);
- if (confidence >= 0) {
- // insert in the tree map, ordered by confidence (highest confidence first) then name
- Pair<Integer, TraceTypeHelper> element = new Pair<>(confidence, traceTypeHelper);
- validCandidates.add(element);
- }
- }
-
- TraceTypeHelper traceTypeToSet = null;
- if (validCandidates.isEmpty()) {
- final String errorMsg = NLS.bind(Messages.TmfOpenTraceHelper_NoTraceTypeMatch, path);
- throw new TmfTraceImportException(errorMsg);
- } else if (validCandidates.size() != 1) {
- List<Pair<Integer, TraceTypeHelper>> candidates = new ArrayList<>(validCandidates);
- List<Pair<Integer, TraceTypeHelper>> reducedCandidates = reduce(candidates);
- for (Pair<Integer, TraceTypeHelper> candidatePair : reducedCandidates) {
- TraceTypeHelper candidate = candidatePair.getSecond();
- if (candidate.getCanonicalName().equals(traceTypeHint)) {
- traceTypeToSet = candidate;
- break;
- }
- }
- if (traceTypeToSet == null) {
- if (reducedCandidates.size() == 0) {
- throw new TmfTraceImportException(Messages.TmfOpenTraceHelper_ReduceError);
- } else if (reducedCandidates.size() == 1) {
- traceTypeToSet = reducedCandidates.get(0).getSecond();
- } else if (shell == null) {
- Pair<Integer, TraceTypeHelper> candidate = reducedCandidates.get(0);
- // if the best match has lowest confidence, don't select it
- if (candidate.getFirst() > 0) {
- traceTypeToSet = candidate.getSecond();
- }
- } else {
- traceTypeToSet = getTraceTypeToSet(reducedCandidates, shell);
- }
- }
- } else {
- traceTypeToSet = validCandidates.first().getSecond();
- }
- return traceTypeToSet;
- }
-
- /**
- * Set the trace type of a {@link TraceTypeHelper}. Should only be
- * used internally by this project.
- *
- * @param resource
- * the resource to set
- * @param traceType
- * the {@link TraceTypeHelper} to set the trace type to.
- * @return Status.OK_Status if successful, error is otherwise.
- * @throws CoreException
- * An exception caused by accessing eclipse project items.
- */
- public static IStatus setTraceType(IResource resource, TraceTypeHelper traceType) throws CoreException {
- return setTraceType(resource, traceType, true);
- }
- /**
- * Set the trace type of a {@link TraceTypeHelper}. Should only be
- * used internally by this project.
- *
- * @param resource
- * the resource to set
- * @param traceType
- * the {@link TraceTypeHelper} to set the trace type to.
- * @param refresh
- * Flag for refreshing the project
- * @return Status.OK_Status if successful, error is otherwise.
- * @throws CoreException
- * An exception caused by accessing eclipse project items.
- * @since 3.1
- */
- public static IStatus setTraceType(IResource resource, TraceTypeHelper traceType, boolean refresh) throws CoreException {
- String traceTypeId = traceType.getCanonicalName();
-
- resource.setPersistentProperty(TmfCommonConstants.TRACETYPE, traceTypeId);
-
- TmfProjectElement tmfProject = TmfProjectRegistry.getProject(resource.getProject(), true);
- if (tmfProject.getTracesFolder().getPath().isPrefixOf(resource.getFullPath())) {
- String elementPath = resource.getFullPath().makeRelativeTo(tmfProject.getTracesFolder().getPath()).toString();
- refreshTraceElement(tmfProject.getTracesFolder().getTraces(), elementPath);
- } else if (resource.getParent().equals(tmfProject.getExperimentsFolder().getResource())) {
- /* The trace type to set is for an experiment */
- for (TmfExperimentElement experimentElement : tmfProject.getExperimentsFolder().getExperiments()) {
- if (resource.equals(experimentElement.getResource())) {
- experimentElement.refreshTraceType();
- break;
- }
- }
- } else {
- for (TmfExperimentElement experimentElement : tmfProject.getExperimentsFolder().getExperiments()) {
- if (experimentElement.getPath().isPrefixOf(resource.getFullPath())) {
- String elementPath = resource.getFullPath().makeRelativeTo(experimentElement.getPath()).toString();
- refreshTraceElement(experimentElement.getTraces(), elementPath);
- break;
- }
- }
- }
- if (refresh) {
- tmfProject.refresh();
- }
- return Status.OK_STATUS;
- }
-
- private static void refreshTraceElement(List<TmfTraceElement> traceElements, String elementPath) {
- for (TmfTraceElement traceElement : traceElements) {
- if (traceElement.getElementPath().equals(elementPath)) {
- traceElement.refreshTraceType();
- break;
- }
- }
- }
-
- /**
- * Retrieves all configuration elements from the platform extension registry
- * for the trace type UI extension.
- *
- * @param elType
- * The type of trace type requested, either TRACE or EXPERIMENT
- * @return An array of trace type configuration elements
- */
- public static IConfigurationElement[] getTypeUIElements(TraceElementType elType) {
- String elementName = TYPE_ELEM;
- if (elType == TraceElementType.EXPERIMENT) {
- elementName = EXPERIMENT_ELEM;
- }
- IConfigurationElement[] elements =
- Platform.getExtensionRegistry().getConfigurationElementsFor(TMF_TRACE_TYPE_UI_ID);
- List<IConfigurationElement> typeElements = new LinkedList<>();
- for (IConfigurationElement element : elements) {
- if (element.getName().equals(elementName)) {
- typeElements.add(element);
- }
- }
- return typeElements.toArray(new IConfigurationElement[typeElements.size()]);
- }
-
- /**
- * Get the UI elements for the given trace type
- *
- * @param traceType
- * The tracetype ID
- * @param elType
- * The type of trace type requested, either TRACE or EXPERIMENT
- * @return The top-level configuration element (access its children with
- * .getChildren()). Or null if there is no such element.
- */
- @Nullable
- public static IConfigurationElement getTraceUIAttributes(String traceType, TraceElementType elType) {
- IConfigurationElement[] elements = getTypeUIElements(elType);
- for (IConfigurationElement ce : elements) {
- if (traceType.equals(ce.getAttribute(TRACETYPE_ATTR))) {
- return ce;
- }
- }
- return null;
- }
-
- /**
- * Get the Event Table type specified by the trace type's extension point,
- * if there is one.
- *
- * @param trace
- * The trace for which we want the events table.
- * @param parent
- * The parent composite that the event table will have
- * @param cacheSize
- * The cache size to use with this event table. Should be defined
- * by the trace type.
- * @return The corresponding Event Table, or 'null' if this trace type did
- * not specify any.
- * @since 3.2
- */
- public static @Nullable TmfEventsTable getEventTable(ITmfTrace trace, Composite parent, int cacheSize) {
- final String traceType = getTraceType(trace);
- if (traceType == null) {
- return null;
- }
-
- for (final IConfigurationElement ce : TmfTraceTypeUIUtils.getTypeUIElements(TraceElementType.TRACE)) {
- if (ce.getAttribute(TmfTraceTypeUIUtils.TRACETYPE_ATTR).equals(traceType)) {
- final IConfigurationElement[] eventsTableTypeCE = ce.getChildren(TmfTraceTypeUIUtils.EVENTS_TABLE_TYPE_ELEM);
-
- if (eventsTableTypeCE.length != 1) {
- break;
- }
- final String eventsTableType = eventsTableTypeCE[0].getAttribute(TmfTraceTypeUIUtils.CLASS_ATTR);
- if (eventsTableType.isEmpty()) {
- break;
- }
- try {
- final Bundle bundle = Platform.getBundle(ce.getContributor().getName());
- final Class<?> c = bundle.loadClass(eventsTableType);
- final Class<?>[] constructorArgs = new Class[] { Composite.class, int.class };
- final Constructor<?> constructor = c.getConstructor(constructorArgs);
- final Object[] args = new Object[] { parent, cacheSize };
- return (TmfEventsTable) constructor.newInstance(args);
-
- } catch (NoSuchMethodException | ClassNotFoundException | InstantiationException |
- IllegalAccessException | IllegalArgumentException | InvocationTargetException e) {
- return null;
- }
- }
- }
- return null;
- }
-
- /**
- * Get the Event Table columns specified by the trace type's extension
- * point, if there are any.
- *
- * @param trace
- * The trace for which we want the columns.
- * @return The corresponding event table columns, or 'null' if this trace
- * type did not specify any.
- * @since 3.2
- */
- public static @Nullable Collection<? extends TmfEventTableColumn> getEventTableColumns(ITmfTrace trace) {
- final String traceType = getTraceType(trace);
- if (traceType == null) {
- return null;
- }
-
- /*
- * Custom traces are a special case : the columns are defined by the
- * trace definition.
- */
- if (traceType.startsWith(CustomTxtTrace.class.getCanonicalName())) {
- return CustomEventTableColumns.generateColumns(((CustomTxtTrace) trace).getDefinition());
- }
- if (traceType.startsWith(CustomXmlTrace.class.getCanonicalName())) {
- return CustomEventTableColumns.generateColumns(((CustomXmlTrace) trace).getDefinition());
- }
-
- /* For all other trace types, we will go look into the extension point */
- for (final IConfigurationElement ce : TmfTraceTypeUIUtils.getTypeUIElements(TraceElementType.TRACE)) {
- if (ce.getAttribute(TmfTraceTypeUIUtils.TRACETYPE_ATTR).equals(traceType)) {
- final IConfigurationElement[] eventTableColumnsCE = ce.getChildren(TmfTraceTypeUIUtils.EVENT_TABLE_COLUMNS);
-
- if (eventTableColumnsCE.length != 1) {
- break;
- }
- final String eventTableColumnsClass = eventTableColumnsCE[0].getAttribute(TmfTraceTypeUIUtils.CLASS_ATTR);
- if ((eventTableColumnsClass == null) || (eventTableColumnsClass.isEmpty())) {
- break;
- }
- try {
- final Bundle bundle = Platform.getBundle(ce.getContributor().getName());
- final Class<?> c = bundle.loadClass(eventTableColumnsClass);
- final Constructor<?> ctor = c.getConstructor();
- ITmfEventTableColumns cols = (ITmfEventTableColumns) ctor.newInstance();
- return cols.getEventTableColumns();
-
- } catch (NoSuchMethodException | ClassNotFoundException | InstantiationException |
- IllegalAccessException | IllegalArgumentException | InvocationTargetException e) {
- return null;
- }
- }
- }
- return null;
- }
-
- /**
- * Get the trace type (as a String) for the given trace
- *
- * @param trace
- * The trace object
- * @return The String representing the trace type, or 'null' if this trace
- * does not advertise it.
- */
- private static @Nullable String getTraceType(ITmfTrace trace) {
- IResource res = trace.getResource();
- if (res == null) {
- return null;
- }
- try {
- String traceType = res.getPersistentProperty(TmfCommonConstants.TRACETYPE);
- /* May be null here too */
- return traceType;
-
- } catch (CoreException e) {
- return null;
- }
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/project/model/TmfTracesFolder.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/project/model/TmfTracesFolder.java
deleted file mode 100644
index bfe8b9d789..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/project/model/TmfTracesFolder.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 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:
- * Patrick Tasse - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.project.model;
-
-import org.eclipse.core.resources.IFolder;
-
-/**
- * Implementation of model element representing the unique "Traces" folder in
- * the project.
- *
- * @since 3.0
- */
-public class TmfTracesFolder extends TmfTraceFolder {
-
- // ------------------------------------------------------------------------
- // Constants
- // ------------------------------------------------------------------------
-
- /**
- * The name of the traces folder
- */
- public static final String TRACES_FOLDER_NAME = "Traces"; //$NON-NLS-1$
-
- // ------------------------------------------------------------------------
- // Constructor
- // ------------------------------------------------------------------------
-
- /**
- * Constructor.
- * Creates folder model element under the project.
- * @param name The name of trace folder.
- * @param resource The folder resource.
- * @param parent The parent element (project).
- */
- public TmfTracesFolder(String name, IFolder resource, TmfProjectElement parent) {
- super(name, resource, parent);
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/project/model/TmfViewerSorter.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/project/model/TmfViewerSorter.java
deleted file mode 100644
index 63eac152f1..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/project/model/TmfViewerSorter.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 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:
- * Patrick Tasse - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.project.model;
-
-import org.eclipse.jface.viewers.ViewerSorter;
-
-/**
- * Viewer sorter for TMF project model elements
- *
- * @since 3.0
- */
-public class TmfViewerSorter extends ViewerSorter {
-
- @Override
- public int category(Object element) {
- if (element instanceof TmfExperimentFolder) {
- return 0;
- }
- if (element instanceof TmfTraceFolder) {
- return 0;
- }
- if (element instanceof TmfExperimentElement) {
- return 1;
- }
- if (element instanceof TmfTraceElement) {
- return 1;
- }
- return 2;
- }
-
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/project/model/TraceFolderContentProvider.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/project/model/TraceFolderContentProvider.java
deleted file mode 100644
index 627f9cbe11..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/project/model/TraceFolderContentProvider.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010, 2014 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
- * Patrick Tasse - Add support for folder elements
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.project.model;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.jface.viewers.IStructuredContentProvider;
-import org.eclipse.jface.viewers.Viewer;
-
-/**
- * Content provider implementation for trace folders for tree viewers that display
- * the content of a trace folder.
- * <p>
- *
- * @version 1.0
- * @author Francois Chouinard
- */
-public class TraceFolderContentProvider implements IStructuredContentProvider {
-
- @Override
- public Object[] getElements(Object inputElement) {
- if (inputElement instanceof TmfTraceFolder) {
- TmfTraceFolder folder = (TmfTraceFolder) inputElement;
- List<ITmfProjectModelElement> elements = new ArrayList<>();
- for (TmfTraceElement trace : folder.getTraces()) {
- if (trace.getTraceType() != null) {
- elements.add(trace);
- }
- }
- return elements.toArray();
- }
- return null;
- }
-
- @Override
- public void dispose() {
- }
-
- @Override
- public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/project/model/TraceFolderLabelProvider.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/project/model/TraceFolderLabelProvider.java
deleted file mode 100644
index 9cfe0f41dd..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/project/model/TraceFolderLabelProvider.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010, 2014 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
- * Patrick Tasse - Add support for folder elements
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.project.model;
-
-import org.eclipse.jface.viewers.LabelProvider;
-
-/**
- * Label provider implementation for trace folders for viewers that display
- * the content of a trace folder.
- * <p>
- *
- * @version 1.0
- * @author Francois Chouinard
- */
-public class TraceFolderLabelProvider extends LabelProvider {
-
- @Override
- public String getText(Object element) {
- if (element instanceof TmfTraceElement) {
- TmfTraceElement entry = (TmfTraceElement) element;
- return entry.getElementPath();
- }
- return null;
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/project/model/TraceUtils.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/project/model/TraceUtils.java
deleted file mode 100644
index bf0b03b39a..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/project/model/TraceUtils.java
+++ /dev/null
@@ -1,99 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013, 2014 École Polytechnique de Montréal and others
- *
- * 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:
- * Geneviève Bastien - Initial API and implementation
- * Marc-Andre Laperle - Add method to get opened tmf projects
- * Patrick Tasse - Add support for folder elements
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.project.model;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.resources.IFolder;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.linuxtools.internal.tmf.ui.Activator;
-import org.eclipse.linuxtools.tmf.core.TmfProjectNature;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.MessageBox;
-import org.eclipse.ui.PlatformUI;
-
-/**
- * Utility class for common tmf.ui functionalities
- *
- * @since 2.1
- */
-public class TraceUtils {
-
- /**
- * Displays an error message in a box
- *
- * @param boxTitle
- * The message box title
- * @param errorMsg
- * The error message to display
- */
- public static void displayErrorMsg(final String boxTitle, final String errorMsg) {
- Display.getDefault().asyncExec(new Runnable() {
- @Override
- public void run() {
- final MessageBox mb = new MessageBox(PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell());
- mb.setText(boxTitle);
- mb.setMessage(errorMsg);
- mb.open();
- }
- });
- }
-
- /**
- * Get the opened (accessible) projects with Tmf nature
- *
- * @return the Tmf projects
- * @since 2.2
- */
- public static List<IProject> getOpenedTmfProjects() {
- IProject[] projects = ResourcesPlugin.getWorkspace().getRoot().getProjects();
- List<IProject> tmfProjects = new ArrayList<>();
- for (IProject project : projects) {
- try {
- if (project.isAccessible() && project.getNature(TmfProjectNature.ID) != null) {
- tmfProjects.add(project);
- }
- } catch (CoreException e) {
- Activator.getDefault().logError("Error getting opened tmf projects", e); //$NON-NLS-1$
- }
- }
- return tmfProjects;
- }
-
- /**
- * Create a folder, ensuring all parent folders are also created.
- *
- * @param folder
- * the folder to create
- * @param monitor
- * the progress monitor
- * @throws CoreException
- * if the folder cannot be created
- * @since 3.0
- */
- public static void createFolder(IFolder folder, IProgressMonitor monitor) throws CoreException {
- if (!folder.exists()) {
- if (folder.getParent() instanceof IFolder) {
- createFolder((IFolder) folder.getParent(), monitor);
- }
- folder.create(true, true, monitor);
- }
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/project/model/messages.properties b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/project/model/messages.properties
deleted file mode 100644
index f931a19a6f..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/project/model/messages.properties
+++ /dev/null
@@ -1,49 +0,0 @@
-###############################################################################
-# Copyright (c) 2013, 2014 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:
-# Ericsson - Initial API and implementation
-###############################################################################
-
-# Environment properties dialog
-
-TmfAnalysisElement_InstantiateAnalysis=Instantiate analysis
-TmfAnalysisViewOutput_ViewUnavailable=\ (view unavailable)
-TmfAnalysisViewOutput_Title=Open analysis output
-TmfCommonProjectElement_ErrorClosingEditor=Error closing editor for {0}
-TmfCommonProjectElement_ErrorRefreshingProperty=Error refreshing trace type persistent property for trace {0}
-TmfExperimentElement_ErrorInstantiatingTrace=Error instantiating ITmfTrace object for trace {0}
-TmfExperimentElement_TypeName=Experiment
-TmfTraceElement_ResourceProperties = Resource properties
-TmfTraceElement_TraceProperties = Trace properties
-TmfTraceElement_Name = name
-TmfTraceElement_Path = path
-TmfTraceElement_Location = location
-TmfTraceElement_EventType = type
-TmfTraceElement_IsLinked = linked
-TmfTraceElement_SourceLocation = source location
-TmfTraceElement_TimeOffset = time offset
-TmfTraceElement_LastModified = last modified
-TmfTraceElement_Size = size
-TmfTraceElement_FileSizeString={0} bytes
-TmfTraceElement_FolderSizeString={0} bytes in {1} files
-TmfTraceElement_FolderSizeOverflowString=At least {0} bytes in more than {1} files
-TmfTraceElement_TypeName=Trace
-TmfTraceType_SelectTraceType=Select Trace Type
-
-# Open trace error messages
-TmfOpenTraceHelper_ErrorOpeningElement=Error opening {0}
-TmfOpenTraceHelper_LinkFailed=Link creation failed
-TmfOpenTraceHelper_NoTraceTypeMatch=No trace types found to match location {0}
-TmfOpenTraceHelper_OpenElement=Open {0}
-TmfOpenTraceHelper_ReduceError=Something went wrong
-TmfOpenTraceHelper_NoTraceType = No trace type associated to that trace\nPlease select a valid type
-TmfOpenTraceHelper_NoTraceOrExperimentType=No experiment type associated to that {0}\nPlease select a valid type
-TmfOpenTraceHelper_ErrorElement=Error opening {0}.
-TmfOpenTraceHelper_InitError = Error initializing trace.
-TmfOpenTraceHelper_TraceNotFound = Trace {0} not found.
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/project/wizards/CopyExperimentDialog.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/project/wizards/CopyExperimentDialog.java
deleted file mode 100644
index d908756b9f..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/project/wizards/CopyExperimentDialog.java
+++ /dev/null
@@ -1,226 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011, 2014 Ericsson, École Polytechnique de Montréal
- *
- * 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 - Copied and adapted from NewFolderDialog
- * Geneviève Bastien - Moved the actual copy code to model element's class
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.project.wizards;
-
-import java.lang.reflect.InvocationTargetException;
-
-import org.eclipse.core.resources.IFolder;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IWorkspace;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.OperationCanceledException;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.linuxtools.internal.tmf.ui.Activator;
-import org.eclipse.linuxtools.tmf.ui.project.model.TmfExperimentElement;
-import org.eclipse.linuxtools.tmf.ui.project.model.TmfExperimentFolder;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Font;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Listener;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.actions.WorkspaceModifyOperation;
-import org.eclipse.ui.dialogs.SelectionStatusDialog;
-
-/**
- * Implementation of the copy experiement dialog box.
- * <p>
- *
- * @version 1.0
- * @author Francois Chouinard
- */
-public class CopyExperimentDialog extends SelectionStatusDialog {
-
- // ------------------------------------------------------------------------
- // Members
- // ------------------------------------------------------------------------
-
- private final TmfExperimentElement fExperiment;
- private Text fNewExperimentName;
- private IFolder fExperimentFolder;
-
- // ------------------------------------------------------------------------
- // Constructor
- // ------------------------------------------------------------------------
-
- /**
- * Constructor
- *
- * @param shell
- * The parent shell
- * @param experiment
- * The TMF experiment model element
- */
- public CopyExperimentDialog(Shell shell, TmfExperimentElement experiment) {
- super(shell);
- fExperiment = experiment;
- TmfExperimentFolder folder = (TmfExperimentFolder) experiment.getParent();
- fExperimentFolder = folder.getResource();
- setTitle(Messages.CopyExperimentDialog_DialogTitle);
- setStatusLineAboveButtons(true);
- }
-
- // ------------------------------------------------------------------------
- // Dialog
- // ------------------------------------------------------------------------
-
- @Override
- protected Control createDialogArea(Composite parent) {
- Composite composite = (Composite) super.createDialogArea(parent);
- composite.setLayout(new GridLayout());
- composite.setLayoutData(new GridData(GridData.FILL_BOTH));
-
- createNewExperimentNameGroup(composite);
- return composite;
- }
-
- private void createNewExperimentNameGroup(Composite parent) {
- Font font = parent.getFont();
- Composite folderGroup = new Composite(parent, SWT.NONE);
- GridLayout layout = new GridLayout();
- layout.numColumns = 2;
- folderGroup.setLayout(layout);
- folderGroup.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-
- // Old experiment name label
- Label oldExperimentLabel = new Label(folderGroup, SWT.NONE);
- oldExperimentLabel.setFont(font);
- oldExperimentLabel.setText(Messages.CopyExperimentDialog_ExperimentName);
-
- // Old experiment name field
- Text oldExperimentName = new Text(folderGroup, SWT.BORDER);
- GridData data = new GridData(GridData.FILL_HORIZONTAL);
- data.widthHint = IDialogConstants.ENTRY_FIELD_WIDTH;
- oldExperimentName.setLayoutData(data);
- oldExperimentName.setFont(font);
- oldExperimentName.setText(fExperiment.getName());
- oldExperimentName.setEnabled(false);
-
- // New experiment name label
- Label newExperimentLabel = new Label(folderGroup, SWT.NONE);
- newExperimentLabel.setFont(font);
- newExperimentLabel.setText(Messages.CopyExperimentDialog_ExperimentNewName);
-
- // New experiment name entry field
- fNewExperimentName = new Text(folderGroup, SWT.BORDER);
- data = new GridData(GridData.FILL_HORIZONTAL);
- data.widthHint = IDialogConstants.ENTRY_FIELD_WIDTH;
- fNewExperimentName.setLayoutData(data);
- fNewExperimentName.setFont(font);
- fNewExperimentName.addListener(SWT.Modify, new Listener() {
- @Override
- public void handleEvent(Event event) {
- validateNewExperimentName();
- }
- });
- }
-
- private void validateNewExperimentName() {
-
- String name = fNewExperimentName.getText();
- IWorkspace workspace = fExperimentFolder.getWorkspace();
- IStatus nameStatus = workspace.validateName(name, IResource.FOLDER);
-
- if ("".equals(name)) { //$NON-NLS-1$
- updateStatus(new Status(IStatus.ERROR, Activator.PLUGIN_ID, IStatus.ERROR, Messages.Dialog_EmptyNameError, null));
- return;
- }
-
- if (!nameStatus.isOK()) {
- updateStatus(nameStatus);
- return;
- }
-
- IPath path = new Path(name);
- if (fExperimentFolder.getFolder(path).exists() || fExperimentFolder.getFile(path).exists()) {
- updateStatus(new Status(IStatus.ERROR, Activator.PLUGIN_ID, IStatus.ERROR, Messages.Dialog_ExistingNameError, null));
- return;
- }
-
- updateStatus(new Status(IStatus.OK, Activator.PLUGIN_ID, "")); //$NON-NLS-1$
- }
-
- // ------------------------------------------------------------------------
- // SelectionStatusDialog
- // ------------------------------------------------------------------------
-
- @Override
- protected void computeResult() {
- }
-
- @Override
- public void create() {
- super.create();
- getButton(IDialogConstants.OK_ID).setEnabled(false);
- }
-
- @Override
- protected void okPressed() {
- IFolder folder = copyExperiment(fNewExperimentName.getText());
- if (folder == null) {
- return;
- }
- setSelectionResult(new IFolder[] { folder });
- super.okPressed();
- }
-
- private IFolder copyExperiment(final String newName) {
-
- WorkspaceModifyOperation operation = new WorkspaceModifyOperation() {
- @Override
- public void execute(IProgressMonitor monitor) throws CoreException {
- try {
- monitor.beginTask("", 1000); //$NON-NLS-1$
- if (monitor.isCanceled()) {
- throw new OperationCanceledException();
- }
-
- fExperiment.copy(newName, true);
-
- if (monitor.isCanceled()) {
- throw new OperationCanceledException();
- }
- } finally {
- monitor.done();
- }
- }
- };
- try {
- PlatformUI.getWorkbench().getProgressService().busyCursorWhile(operation);
- } catch (InterruptedException exception) {
- return null;
- } catch (InvocationTargetException exception) {
- MessageDialog.openError(getShell(), "", NLS.bind("", exception.getTargetException().getMessage())); //$NON-NLS-1$ //$NON-NLS-2$
- return null;
- } catch (RuntimeException exception) {
- return null;
- }
-
- return fExperiment.getResource();
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/project/wizards/CopyTraceDialog.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/project/wizards/CopyTraceDialog.java
deleted file mode 100644
index 3c4671a6ec..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/project/wizards/CopyTraceDialog.java
+++ /dev/null
@@ -1,223 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011, 2014 Ericsson, École Polytechnique de Montréal
- *
- * 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 - Copied and adapted from NewFolderDialog
- * Geneviève Bastien - Moved the actual copy code to model element's class
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.project.wizards;
-
-import java.lang.reflect.InvocationTargetException;
-
-import org.eclipse.core.resources.IFolder;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IWorkspace;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.OperationCanceledException;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.linuxtools.internal.tmf.ui.Activator;
-import org.eclipse.linuxtools.tmf.ui.project.model.TmfTraceElement;
-import org.eclipse.linuxtools.tmf.ui.project.model.TmfTraceFolder;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Font;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Listener;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.actions.WorkspaceModifyOperation;
-import org.eclipse.ui.dialogs.SelectionStatusDialog;
-
-/**
- * Implementation of the copy trace dialog box.
- * <p>
- * @version 1.0
- * @author Francois Chouinard
- */
-public class CopyTraceDialog extends SelectionStatusDialog {
-
- // ------------------------------------------------------------------------
- // Members
- // ------------------------------------------------------------------------
-
- private final TmfTraceElement fTrace;
- private Text fNewTraceName;
- private final IFolder fTraceFolder;
-
- // ------------------------------------------------------------------------
- // Constructor
- // ------------------------------------------------------------------------
- /**
- * Constructor.
- * @param shell The parent shell
- * @param trace The trace model element.
- */
- public CopyTraceDialog(Shell shell, TmfTraceElement trace) {
- super(shell);
- fTrace = trace;
- TmfTraceFolder folder = (TmfTraceFolder) trace.getParent();
- fTraceFolder = folder.getResource();
- setTitle(Messages.CopyTraceDialog_DialogTitle);
- setStatusLineAboveButtons(true);
- }
-
- // ------------------------------------------------------------------------
- // Dialog
- // ------------------------------------------------------------------------
-
- @Override
- protected Control createDialogArea(Composite parent) {
- Composite composite = (Composite) super.createDialogArea(parent);
- composite.setLayout(new GridLayout());
- composite.setLayoutData(new GridData(GridData.FILL_BOTH));
-
- createNewTraceNameGroup(composite);
- return composite;
- }
-
- private void createNewTraceNameGroup(Composite parent) {
- Font font = parent.getFont();
- Composite folderGroup = new Composite(parent, SWT.NONE);
- GridLayout layout = new GridLayout();
- layout.numColumns = 2;
- folderGroup.setLayout(layout);
- folderGroup.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-
- // Old trace name label
- Label oldTraceLabel = new Label(folderGroup, SWT.NONE);
- oldTraceLabel.setFont(font);
- oldTraceLabel.setText(Messages.CopyTraceDialog_TraceName);
-
- // Old trace name field
- Text oldTraceName = new Text(folderGroup, SWT.BORDER);
- GridData data = new GridData(GridData.FILL_HORIZONTAL);
- data.widthHint = IDialogConstants.ENTRY_FIELD_WIDTH;
- oldTraceName.setLayoutData(data);
- oldTraceName.setFont(font);
- oldTraceName.setText(fTrace.getName());
- oldTraceName.setEnabled(false);
-
- // New trace name label
- Label newTraceLabel = new Label(folderGroup, SWT.NONE);
- newTraceLabel.setFont(font);
- newTraceLabel.setText(Messages.CopyTraceDialog_TraceNewName);
-
- // New trace name entry field
- fNewTraceName = new Text(folderGroup, SWT.BORDER);
- data = new GridData(GridData.FILL_HORIZONTAL);
- data.widthHint = IDialogConstants.ENTRY_FIELD_WIDTH;
- fNewTraceName.setLayoutData(data);
- fNewTraceName.setFont(font);
- fNewTraceName.addListener(SWT.Modify, new Listener() {
- @Override
- public void handleEvent(Event event) {
- validateNewTraceName();
- }
- });
- }
-
- private void validateNewTraceName() {
-
- String name = fNewTraceName.getText();
- IWorkspace workspace = fTraceFolder.getWorkspace();
- IStatus nameStatus = workspace.validateName(name, IResource.FOLDER);
-
- if ("".equals(name)) { //$NON-NLS-1$
- updateStatus(new Status(IStatus.ERROR, Activator.PLUGIN_ID, IStatus.ERROR,
- Messages.Dialog_EmptyNameError, null));
- return;
- }
-
- if (!nameStatus.isOK()) {
- updateStatus(nameStatus);
- return;
- }
-
- IPath path = new Path(name);
- if (fTraceFolder.getFolder(path).exists() || fTraceFolder.getFile(path).exists()) {
- updateStatus(new Status(IStatus.ERROR, Activator.PLUGIN_ID, IStatus.ERROR,
- Messages.Dialog_ExistingNameError, null));
- return;
- }
-
- updateStatus(new Status(IStatus.OK, Activator.PLUGIN_ID, "")); //$NON-NLS-1$
- }
-
- // ------------------------------------------------------------------------
- // SelectionStatusDialog
- // ------------------------------------------------------------------------
-
- @Override
- protected void computeResult() {
- }
-
- @Override
- public void create() {
- super.create();
- getButton(IDialogConstants.OK_ID).setEnabled(false);
- }
-
- @Override
- protected void okPressed() {
- IResource trace = copyTrace(fNewTraceName.getText());
- if (trace == null) {
- return;
- }
- setSelectionResult(new IResource[] { trace });
- super.okPressed();
- }
-
- private IResource copyTrace(final String newName) {
-
- WorkspaceModifyOperation operation = new WorkspaceModifyOperation() {
- @Override
- public void execute(IProgressMonitor monitor) throws CoreException {
- try {
- monitor.beginTask("", 1000); //$NON-NLS-1$
- if (monitor.isCanceled()) {
- throw new OperationCanceledException();
- }
- fTrace.copy(newName, true);
- if (monitor.isCanceled()) {
- throw new OperationCanceledException();
- }
- } finally {
- monitor.done();
- }
- }
- };
-
- try {
- PlatformUI.getWorkbench().getProgressService().busyCursorWhile(operation);
- } catch (InterruptedException exception) {
- return null;
- } catch (InvocationTargetException exception) {
- MessageDialog.openError(getShell(), "", NLS.bind("", exception.getTargetException().getMessage())); //$NON-NLS-1$ //$NON-NLS-2$
- return null;
- } catch (RuntimeException exception) {
- return null;
- }
-
- return fTrace.getResource();
-
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/project/wizards/Messages.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/project/wizards/Messages.java
deleted file mode 100644
index e883ebb085..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/project/wizards/Messages.java
+++ /dev/null
@@ -1,176 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011, 2014 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
- * Patrick Tasse - Add support for folder elements
- * Marc-Andre Laperle - Preserve folder structure on import
- * Bernd Hufmann - Extract ImportTraceWizard messages
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.project.wizards;
-
-import org.eclipse.osgi.util.NLS;
-
-/**
- * Message strings for TMF model handling.
- *
- * @version 1.0
- * @author Francois Chouinard
- */
-public class Messages extends NLS {
-
- private static final String BUNDLE_NAME = "org.eclipse.linuxtools.tmf.ui.project.wizards.messages"; //$NON-NLS-1$
-
- /**
- * The dialog header of the new project wizard
- */
- public static String NewProjectWizard_DialogHeader;
- /**
- * The dialog message of the new project wizard
- */
- public static String NewProjectWizard_DialogMessage;
- /**
- * The title of the select traces wizard.
- */
- public static String SelectTracesWizard_WindowTitle;
- /**
- * The column header for the traces (select traces wizard page).
- */
- public static String SelectTracesWizardPage_TraceColumnHeader;
- /**
- * The title of select traces wizard page.
- */
- public static String SelectTracesWizardPage_WindowTitle;
- /**
- * The description of the select traces wizard page.
- */
- public static String SelectTracesWizardPage_Description;
- /**
- * The error message when selecting of traces for an experiment fails.
- * @since 3.1
- */
- public static String SelectTracesWizardPage_SelectionError;
- /**
- * The task name for selecting of a trace for an experiment.
- * @since 3.1
- */
- public static String SelectTracesWizardPage_TraceSelectionTask;
- /**
- * The task name for removing of a trace for an experiment.
- * @since 3.1
- */
- public static String SelectTracesWizardPage_TraceRemovalTask;
- /**
- * The cancel message for the trace selection operation.
- * @since 3.1
- */
- public static String SelectTracesWizardPage_SelectionOperationCancelled;
- /**
- * The error message title.
- * @since 3.1
- */
- public static String SelectTracesWizardPage_InternalErrorTitle;
- /**
- * The error message when no name was entered in a dialog box (new trace or experiment dialog)
- */
- public static String Dialog_EmptyNameError;
- /**
- * The error message when name of trace or experiment already exists
- */
- public static String Dialog_ExistingNameError;
- /**
- * The title of the new experiment dialog.
- */
- public static String NewExperimentDialog_DialogTitle;
- /**
- * The label of the new experiment name field.
- */
- public static String NewExperimentDialog_ExperimentName;
- /**
- * The title of the rename experiment dialog.
- */
- public static String RenameExperimentDialog_DialogTitle;
- /**
- * The label of the field of the current experiment name.
- */
- public static String RenameExperimentDialog_ExperimentName;
- /**
- * The label of the field for entering the new experiment name.
- */
- public static String RenameExperimentDialog_ExperimentNewName;
- /**
- * The title of the copy experiment dialog.
- */
- public static String CopyExperimentDialog_DialogTitle;
- /**
- * The label of the field of the current experiment name.
- */
- public static String CopyExperimentDialog_ExperimentName;
- /**
- * The label of the field for entering the new experiment name.
- */
- public static String CopyExperimentDialog_ExperimentNewName;
- /**
- * The title of the rename trace dialog.
- */
- public static String RenameTraceDialog_DialogTitle;
- /**
- * The label of the field of the current trace name.
- */
- public static String RenameTraceDialog_TraceName;
- /**
- * The label of the field for entering the new trace name.
- */
- public static String RenameTraceDialog_TraceNewName;
- /**
- * The title of the copy trace dialog.
- */
- public static String CopyTraceDialog_DialogTitle;
- /**
- * The label of the field of the current trace name.
- */
- public static String CopyTraceDialog_TraceName;
- /**
- * The label of the field for entering the new trace name.
- */
- public static String CopyTraceDialog_TraceNewName;
- /**
- * The title of the new folder dialog.
- * @since 3.0
- */
- public static String NewFolderDialog_DialogTitle;
- /**
- * The label of the new folder name field.
- * @since 3.0
- */
- public static String NewFolderDialog_FolderName;
- /**
- * The title of the rename folder dialog.
- * @since 3.0
- */
- public static String RenameFolderDialog_DialogTitle;
- /**
- * The label of the field of the current folder name.
- * @since 3.0
- */
- public static String RenameFolderDialog_FolderName;
- /**
- * The label of the field for entering the new folder name.
- * @since 3.0
- */
- public static String RenameFolderDialog_FolderNewName;
-
- static {
- // initialize resource bundle
- NLS.initializeMessages(BUNDLE_NAME, Messages.class);
- }
-
- private Messages() {
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/project/wizards/NewExperimentDialog.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/project/wizards/NewExperimentDialog.java
deleted file mode 100644
index b77969d570..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/project/wizards/NewExperimentDialog.java
+++ /dev/null
@@ -1,231 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009, 2014 Ericsson, École Polytechnique de Montréal
- *
- * 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 - Copied and adapted from NewFolderDialog
- * Geneviève Bastien - Add support of experiment types
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.project.wizards;
-
-import java.lang.reflect.InvocationTargetException;
-
-import org.eclipse.core.resources.IContainer;
-import org.eclipse.core.resources.IFolder;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IWorkspace;
-import org.eclipse.core.resources.IWorkspaceRoot;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.InvalidRegistryObjectException;
-import org.eclipse.core.runtime.OperationCanceledException;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.linuxtools.internal.tmf.ui.Activator;
-import org.eclipse.linuxtools.tmf.core.TmfCommonConstants;
-import org.eclipse.linuxtools.tmf.core.project.model.TmfTraceType;
-import org.eclipse.linuxtools.tmf.ui.project.model.TmfExperimentFolder;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Font;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Listener;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.actions.WorkspaceModifyOperation;
-import org.eclipse.ui.dialogs.SelectionStatusDialog;
-
-/**
- * Implementation of new experiment dialog that creates the experiment element.
- * <p>
- *
- * @version 1.0
- * @author Francois Chouinard
- */
-public class NewExperimentDialog extends SelectionStatusDialog {
-
- // ------------------------------------------------------------------------
- // Members
- // ------------------------------------------------------------------------
-
- private Text fExperimentName;
- private final IContainer fExperimentFolder;
-
- // ------------------------------------------------------------------------
- // Constructor
- // ------------------------------------------------------------------------
- /**
- * Constructor
- *
- * @param shell
- * The parent shell
- * @param experimentFolder
- * The parent experiment folder element
- */
- public NewExperimentDialog(Shell shell, TmfExperimentFolder experimentFolder) {
- super(shell);
- fExperimentFolder = experimentFolder.getResource();
- setTitle(Messages.NewExperimentDialog_DialogTitle);
- setStatusLineAboveButtons(true);
- }
-
- // ------------------------------------------------------------------------
- // Dialog
- // ------------------------------------------------------------------------
-
- @Override
- protected Control createDialogArea(Composite parent) {
- Composite composite = (Composite) super.createDialogArea(parent);
- composite.setLayout(new GridLayout());
- composite.setLayoutData(new GridData(GridData.FILL_BOTH));
-
- createExperimentNameGroup(composite);
- return composite;
- }
-
- private void createExperimentNameGroup(Composite parent) {
- Font font = parent.getFont();
- Composite folderGroup = new Composite(parent, SWT.NONE);
- GridLayout layout = new GridLayout();
- layout.numColumns = 2;
- folderGroup.setLayout(layout);
- folderGroup.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-
- // New experiment label
- Label experimentLabel = new Label(folderGroup, SWT.NONE);
- experimentLabel.setFont(font);
- experimentLabel.setText(Messages.NewExperimentDialog_ExperimentName);
-
- // New experiment name entry field
- fExperimentName = new Text(folderGroup, SWT.BORDER);
- GridData data = new GridData(GridData.FILL_HORIZONTAL);
- data.widthHint = IDialogConstants.ENTRY_FIELD_WIDTH;
- fExperimentName.setLayoutData(data);
- fExperimentName.setFont(font);
- fExperimentName.addListener(SWT.Modify, new Listener() {
- @Override
- public void handleEvent(Event event) {
- validateNewExperimentName();
- }
- });
- }
-
- private void validateNewExperimentName() {
-
- String name = fExperimentName.getText();
- IWorkspace workspace = fExperimentFolder.getWorkspace();
- IStatus nameStatus = workspace.validateName(name, IResource.FOLDER);
-
- if ("".equals(name)) { //$NON-NLS-1$
- updateStatus(new Status(IStatus.ERROR, Activator.PLUGIN_ID, IStatus.ERROR, Messages.Dialog_EmptyNameError, null));
- return;
- }
-
- if (!nameStatus.isOK()) {
- updateStatus(nameStatus);
- return;
- }
-
- IPath path = new Path(name);
- if (fExperimentFolder.getFolder(path).exists() || fExperimentFolder.getFile(path).exists()) {
- updateStatus(new Status(IStatus.ERROR, Activator.PLUGIN_ID, IStatus.ERROR, Messages.Dialog_ExistingNameError, null));
- return;
- }
-
- updateStatus(new Status(IStatus.OK, Activator.PLUGIN_ID, "")); //$NON-NLS-1$
- }
-
- // ------------------------------------------------------------------------
- // SelectionStatusDialog
- // ------------------------------------------------------------------------
-
- @Override
- protected void computeResult() {
- }
-
- @Override
- public void create() {
- super.create();
- getButton(IDialogConstants.OK_ID).setEnabled(false);
- }
-
- @Override
- protected void okPressed() {
- IFolder folder = createNewExperiment(fExperimentName.getText());
- if (folder == null) {
- return;
- }
- setSelectionResult(new IFolder[] { folder });
- super.okPressed();
- }
-
- private IFolder createNewExperiment(String experimentName) {
-
- final IFolder experimentFolder = createExperiment(experimentName);
-
- WorkspaceModifyOperation operation = new WorkspaceModifyOperation() {
- @Override
- public void execute(IProgressMonitor monitor) throws CoreException {
- try {
- monitor.beginTask("", 1000); //$NON-NLS-1$
- if (monitor.isCanceled()) {
- throw new OperationCanceledException();
- }
- experimentFolder.create(false, true, monitor);
-
- /*
- * Experiments can be set to the default experiment type. No
- * need to force user to select an experiment type
- */
- IConfigurationElement ce = TmfTraceType.getTraceAttributes(TmfTraceType.DEFAULT_EXPERIMENT_TYPE);
- if (ce != null) {
- try {
- experimentFolder.setPersistentProperty(TmfCommonConstants.TRACETYPE, ce.getAttribute(TmfTraceType.ID_ATTR));
- } catch (InvalidRegistryObjectException | CoreException e) {
- }
- }
- if (monitor.isCanceled()) {
- throw new OperationCanceledException();
- }
- } finally {
- monitor.done();
- }
- }
- };
- try {
- PlatformUI.getWorkbench().getProgressService().busyCursorWhile(operation);
- } catch (InterruptedException | RuntimeException exception) {
- return null;
- } catch (InvocationTargetException exception) {
- MessageDialog.openError(getShell(), "", NLS.bind("", exception.getTargetException().getMessage())); //$NON-NLS-1$ //$NON-NLS-2$
- return null;
- }
-
- return experimentFolder;
- }
-
- private IFolder createExperiment(String experimentName) {
- IWorkspaceRoot workspaceRoot = fExperimentFolder.getWorkspace().getRoot();
- IPath folderPath = fExperimentFolder.getFullPath().append(experimentName);
- IFolder folder = workspaceRoot.getFolder(folderPath);
-
- return folder;
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/project/wizards/NewFolderDialog.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/project/wizards/NewFolderDialog.java
deleted file mode 100644
index 2b09bfabd1..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/project/wizards/NewFolderDialog.java
+++ /dev/null
@@ -1,192 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 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:
- * Patrick Tasse - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.project.wizards;
-
-import java.lang.reflect.InvocationTargetException;
-
-import org.eclipse.core.resources.IFolder;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IWorkspace;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.linuxtools.internal.tmf.ui.Activator;
-import org.eclipse.linuxtools.tmf.ui.project.model.TmfTraceFolder;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Font;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Listener;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.actions.WorkspaceModifyOperation;
-import org.eclipse.ui.dialogs.SelectionStatusDialog;
-
-/**
- * Implementation of new folder dialog that creates the folder element.
- * @since 3.0
- */
-public class NewFolderDialog extends SelectionStatusDialog {
-
- // ------------------------------------------------------------------------
- // Members
- // ------------------------------------------------------------------------
-
- private Text fFolderName;
- private final IFolder fParentFolder;
-
- // ------------------------------------------------------------------------
- // Constructor
- // ------------------------------------------------------------------------
- /**
- * Constructor
- *
- * @param shell
- * The parent shell
- * @param parent
- * The parent trace folder
- */
- public NewFolderDialog(Shell shell, TmfTraceFolder parent) {
- super(shell);
- fParentFolder = parent.getResource();
- setTitle(Messages.NewFolderDialog_DialogTitle);
- setStatusLineAboveButtons(true);
- }
-
- // ------------------------------------------------------------------------
- // Dialog
- // ------------------------------------------------------------------------
-
- @Override
- protected Control createDialogArea(Composite parent) {
- Composite composite = (Composite) super.createDialogArea(parent);
- composite.setLayout(new GridLayout());
- composite.setLayoutData(new GridData(GridData.FILL_BOTH));
-
- createFolderNameGroup(composite);
- return composite;
- }
-
- private void createFolderNameGroup(Composite parent) {
- Font font = parent.getFont();
- Composite folderGroup = new Composite(parent, SWT.NONE);
- GridLayout layout = new GridLayout();
- layout.numColumns = 2;
- folderGroup.setLayout(layout);
- folderGroup.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-
- // New folder label
- Label folderLabel = new Label(folderGroup, SWT.NONE);
- folderLabel.setFont(font);
- folderLabel.setText(Messages.NewFolderDialog_FolderName);
-
- // New folder name entry field
- fFolderName = new Text(folderGroup, SWT.BORDER);
- GridData data = new GridData(GridData.FILL_HORIZONTAL);
- data.widthHint = IDialogConstants.ENTRY_FIELD_WIDTH;
- fFolderName.setLayoutData(data);
- fFolderName.setFont(font);
- fFolderName.addListener(SWT.Modify, new Listener() {
- @Override
- public void handleEvent(Event event) {
- validateNewFolderName();
- }
- });
- }
-
- private void validateNewFolderName() {
-
- String name = fFolderName.getText();
- IWorkspace workspace = fParentFolder.getWorkspace();
- IStatus nameStatus = workspace.validateName(name, IResource.FOLDER);
-
- if ("".equals(name)) { //$NON-NLS-1$
- updateStatus(new Status(IStatus.ERROR, Activator.PLUGIN_ID, IStatus.ERROR, Messages.Dialog_EmptyNameError, null));
- return;
- }
-
- if (!nameStatus.isOK()) {
- updateStatus(nameStatus);
- return;
- }
-
- if (fParentFolder.findMember(name) != null) {
- updateStatus(new Status(IStatus.ERROR, Activator.PLUGIN_ID, IStatus.ERROR, Messages.Dialog_ExistingNameError, null));
- return;
- }
-
- updateStatus(new Status(IStatus.OK, Activator.PLUGIN_ID, "")); //$NON-NLS-1$
- }
-
- // ------------------------------------------------------------------------
- // SelectionStatusDialog
- // ------------------------------------------------------------------------
-
- @Override
- protected void computeResult() {
- }
-
- @Override
- public void create() {
- super.create();
- getButton(IDialogConstants.OK_ID).setEnabled(false);
- }
-
- @Override
- protected void okPressed() {
- IFolder folder = createNewFolder(fFolderName.getText());
- if (folder == null) {
- return;
- }
- setSelectionResult(new IFolder[] { folder });
- super.okPressed();
- }
-
- private IFolder createNewFolder(String folderName) {
-
- final IFolder folder = fParentFolder.getFolder(new Path(folderName));
-
- WorkspaceModifyOperation operation = new WorkspaceModifyOperation() {
- @Override
- public void execute(IProgressMonitor monitor) throws CoreException {
- try {
- monitor.beginTask("", 1000); //$NON-NLS-1$
- folder.create(false, true, monitor);
- } finally {
- monitor.done();
- }
- }
- };
- try {
- PlatformUI.getWorkbench().getProgressService().busyCursorWhile(operation);
- } catch (InterruptedException | RuntimeException exception) {
- return null;
- } catch (InvocationTargetException exception) {
- MessageDialog.openError(getShell(), "", NLS.bind("", exception.getTargetException().getMessage())); //$NON-NLS-1$ //$NON-NLS-2$
- return null;
- }
-
- return folder;
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/project/wizards/NewTmfProjectMainWizardPage.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/project/wizards/NewTmfProjectMainWizardPage.java
deleted file mode 100644
index ccc84b0071..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/project/wizards/NewTmfProjectMainWizardPage.java
+++ /dev/null
@@ -1,36 +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
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.project.wizards;
-
-import org.eclipse.ui.dialogs.WizardNewProjectCreationPage;
-
-/**
- * The wizard page for creation of a new TMF tracing project.
- * <p>
- * @version 1.0
- * @author Francois Chouinard
-
- */
-public class NewTmfProjectMainWizardPage extends WizardNewProjectCreationPage {
-
- /**
- * Constructor
- *
- * @param pageName
- * The name of this wizard page
- */
- public NewTmfProjectMainWizardPage(String pageName) {
- super(pageName);
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/project/wizards/NewTmfProjectWizard.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/project/wizards/NewTmfProjectWizard.java
deleted file mode 100644
index 85894718c2..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/project/wizards/NewTmfProjectWizard.java
+++ /dev/null
@@ -1,152 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009, 2013 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
- * Bernd Hufmann - Moved project creation utility method to TmfProjectRegistry
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.project.wizards;
-
-import java.net.URI;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IExecutableExtension;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.wizard.Wizard;
-import org.eclipse.linuxtools.internal.tmf.ui.Activator;
-import org.eclipse.linuxtools.tmf.ui.project.model.TmfProjectRegistry;
-import org.eclipse.ui.INewWizard;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.wizards.newresource.BasicNewProjectResourceWizard;
-
-/**
- * Wizard implementation for creating a TMF tracing project.
- *
- * @version 1.0
- * @author Francois Chouinard
- */
-public class NewTmfProjectWizard extends Wizard implements INewWizard, IExecutableExtension {
-
- // ------------------------------------------------------------------------
- // Constants
- // ------------------------------------------------------------------------
-
- /**
- * The wizard id
- *
- * @since 2.0
- */
- public static final String ID = "org.eclipse.linuxtools.tmf.ui.views.ui.wizards.newProject"; //$NON-NLS-1$
-
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
-
- private final String fTtitle;
- private final String fDescription;
-
- /**
- * Wizard main page
- */
- protected NewTmfProjectMainWizardPage fMainPage;
-
- /**
- * The Project name
- */
- protected String fProjectName;
-
- /**
- * The project location
- */
-
- protected URI fProjectLocation;
-
- /**
- * The configuration element.
- */
- protected IConfigurationElement fConfigElement;
-
- /**
- * The project reference
- */
- protected IProject fProject;
-
- // ------------------------------------------------------------------------
- // Constructors
- // ------------------------------------------------------------------------
-
- /**
- * Default constructor
- */
- public NewTmfProjectWizard() {
- this(Messages.NewProjectWizard_DialogHeader, Messages.NewProjectWizard_DialogMessage);
- }
-
- /**
- * Constructor
- * @param title The tile string
- * @param desc The description string
- */
- public NewTmfProjectWizard(String title, String desc) {
- super();
- setDialogSettings(Activator.getDefault().getDialogSettings());
- setNeedsProgressMonitor(true);
- setForcePreviousAndNextButtons(true);
- setWindowTitle(title);
- fTtitle = title;
- fDescription = desc;
- }
-
- // ------------------------------------------------------------------------
- // Wizard
- // ------------------------------------------------------------------------
-
- @Override
- public void addPages() {
- fMainPage = new NewTmfProjectMainWizardPage(Messages.NewProjectWizard_DialogHeader);
- fMainPage.setTitle(fTtitle);
- fMainPage.setDescription(fDescription);
- addPage(fMainPage);
- }
-
- @Override
- public boolean performCancel() {
- return true;
- }
-
- @Override
- public boolean performFinish() {
- fProjectName = fMainPage.getProjectName();
- fProjectLocation = fMainPage.useDefaults() ? null : fMainPage.getLocationURI();
- fProject = TmfProjectRegistry.createProject(fProjectName, fProjectLocation, new NullProgressMonitor());
- BasicNewProjectResourceWizard.updatePerspective(fConfigElement);
- return true;
- }
-
- // ------------------------------------------------------------------------
- // INewWizard
- // ------------------------------------------------------------------------
-
- @Override
- public void init(IWorkbench iworkbench, IStructuredSelection istructuredselection) {
- }
-
- // ------------------------------------------------------------------------
- // IExecutableExtension
- // ------------------------------------------------------------------------
-
- @Override
- public void setInitializationData(IConfigurationElement config, String propertyName, Object data) throws CoreException {
- fConfigElement = config;
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/project/wizards/RenameExperimentDialog.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/project/wizards/RenameExperimentDialog.java
deleted file mode 100644
index 09d16e4d09..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/project/wizards/RenameExperimentDialog.java
+++ /dev/null
@@ -1,242 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011, 2014 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 - Copied and adapted from NewFolderDialog
- * Patrick Tasse - Close editors to release resources
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.project.wizards;
-
-import java.lang.reflect.InvocationTargetException;
-
-import org.eclipse.core.resources.IContainer;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IFolder;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IWorkspace;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.OperationCanceledException;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.linuxtools.internal.tmf.ui.Activator;
-import org.eclipse.linuxtools.tmf.ui.project.model.TmfExperimentElement;
-import org.eclipse.linuxtools.tmf.ui.project.model.TmfExperimentFolder;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Font;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Listener;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.actions.WorkspaceModifyOperation;
-import org.eclipse.ui.dialogs.SelectionStatusDialog;
-
-/**
- * Implementation of a dialog box to rename an experiment.
- * <p>
- *
- * @version 1.0
- * @author Francois Chouinard
- */
-public class RenameExperimentDialog extends SelectionStatusDialog {
-
- // ------------------------------------------------------------------------
- // Members
- // ------------------------------------------------------------------------
-
- private final TmfExperimentElement fExperiment;
- private Text fNewExperimentName;
- private final IContainer fExperimentFolder;
-
- // ------------------------------------------------------------------------
- // Constructor
- // ------------------------------------------------------------------------
-
- /**
- * Constructor
- *
- * @param shell
- * The parent shell
- * @param experiment
- * The experiment element rename
- */
- public RenameExperimentDialog(Shell shell, TmfExperimentElement experiment) {
- super(shell);
- fExperiment = experiment;
- TmfExperimentFolder folder = (TmfExperimentFolder) experiment.getParent();
- fExperimentFolder = folder.getResource();
- setTitle(Messages.RenameExperimentDialog_DialogTitle);
- setStatusLineAboveButtons(true);
- }
-
- // ------------------------------------------------------------------------
- // Dialog
- // ------------------------------------------------------------------------
-
- @Override
- protected Control createDialogArea(Composite parent) {
- Composite composite = (Composite) super.createDialogArea(parent);
- composite.setLayout(new GridLayout());
- composite.setLayoutData(new GridData(GridData.FILL_BOTH));
-
- createNewExperimentNameGroup(composite);
- return composite;
- }
-
- private void createNewExperimentNameGroup(Composite parent) {
- Font font = parent.getFont();
- Composite folderGroup = new Composite(parent, SWT.NONE);
- GridLayout layout = new GridLayout();
- layout.numColumns = 2;
- folderGroup.setLayout(layout);
- folderGroup.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-
- // Old experiment name label
- Label oldExperimentLabel = new Label(folderGroup, SWT.NONE);
- oldExperimentLabel.setFont(font);
- oldExperimentLabel.setText(Messages.RenameExperimentDialog_ExperimentName);
-
- // Old experiment name field
- Text oldExperimentName = new Text(folderGroup, SWT.BORDER);
- GridData data = new GridData(GridData.FILL_HORIZONTAL);
- data.widthHint = IDialogConstants.ENTRY_FIELD_WIDTH;
- oldExperimentName.setLayoutData(data);
- oldExperimentName.setFont(font);
- oldExperimentName.setText(fExperiment.getName());
- oldExperimentName.setEnabled(false);
-
- // New experiment name label
- Label newExperimentLabel = new Label(folderGroup, SWT.NONE);
- newExperimentLabel.setFont(font);
- newExperimentLabel.setText(Messages.RenameExperimentDialog_ExperimentNewName);
-
- // New experiment name entry field
- fNewExperimentName = new Text(folderGroup, SWT.BORDER);
- data = new GridData(GridData.FILL_HORIZONTAL);
- data.widthHint = IDialogConstants.ENTRY_FIELD_WIDTH;
- fNewExperimentName.setLayoutData(data);
- fNewExperimentName.setFont(font);
- fNewExperimentName.addListener(SWT.Modify, new Listener() {
- @Override
- public void handleEvent(Event event) {
- validateNewExperimentName();
- }
- });
- }
-
- private void validateNewExperimentName() {
-
- String name = fNewExperimentName.getText();
- IWorkspace workspace = fExperimentFolder.getWorkspace();
- IStatus nameStatus = workspace.validateName(name, IResource.FOLDER);
-
- if ("".equals(name)) { //$NON-NLS-1$
- updateStatus(new Status(IStatus.ERROR, Activator.PLUGIN_ID, IStatus.ERROR, Messages.Dialog_EmptyNameError, null));
- return;
- }
-
- if (!nameStatus.isOK()) {
- updateStatus(nameStatus);
- return;
- }
-
- IPath path = new Path(name);
- if (fExperimentFolder.getFolder(path).exists() || fExperimentFolder.getFile(path).exists()) {
- updateStatus(new Status(IStatus.ERROR, Activator.PLUGIN_ID, IStatus.ERROR, Messages.Dialog_ExistingNameError, null));
- return;
- }
-
- updateStatus(new Status(IStatus.OK, Activator.PLUGIN_ID, "")); //$NON-NLS-1$
- }
-
- // ------------------------------------------------------------------------
- // SelectionStatusDialog
- // ------------------------------------------------------------------------
-
- @Override
- protected void computeResult() {
- }
-
- @Override
- public void create() {
- super.create();
- getButton(IDialogConstants.OK_ID).setEnabled(false);
- }
-
- @Override
- protected void okPressed() {
- IFolder folder = renameExperiment(fNewExperimentName.getText());
- if (folder == null) {
- return;
- }
- setSelectionResult(new IFolder[] { folder });
- super.okPressed();
- }
-
- private IFolder renameExperiment(final String newName) {
-
- IPath oldPath = fExperiment.getResource().getFullPath();
- final IPath newPath = oldPath.append("../" + newName); //$NON-NLS-1$
-
- WorkspaceModifyOperation operation = new WorkspaceModifyOperation() {
- @Override
- public void execute(IProgressMonitor monitor) throws CoreException {
- try {
- monitor.beginTask("", 1000); //$NON-NLS-1$
- if (monitor.isCanceled()) {
- throw new OperationCanceledException();
- }
- // Close the experiment if open
- fExperiment.closeEditors();
-
- IFolder folder = fExperiment.getResource();
- IFile bookmarksFile = fExperiment.getBookmarksFile();
- IFile newBookmarksFile = folder.getFile(bookmarksFile.getName().replace(fExperiment.getName(), newName));
- if (bookmarksFile.exists()) {
- if (!newBookmarksFile.exists()) {
- IPath newBookmarksPath = newBookmarksFile.getFullPath();
- bookmarksFile.move(newBookmarksPath, IResource.FORCE | IResource.SHALLOW, null);
- }
- }
-
- fExperiment.renameSupplementaryFolder(newName);
- fExperiment.getResource().move(newPath, IResource.FORCE | IResource.SHALLOW, null);
- if (monitor.isCanceled()) {
- throw new OperationCanceledException();
- }
- } finally {
- monitor.done();
- }
- }
- };
- try {
- PlatformUI.getWorkbench().getProgressService().busyCursorWhile(operation);
- } catch (InterruptedException exception) {
- return null;
- } catch (InvocationTargetException exception) {
- MessageDialog.openError(getShell(), "", exception.getTargetException().getMessage()); //$NON-NLS-1$
- return null;
- } catch (RuntimeException exception) {
- return null;
- }
-
- return fExperiment.getResource();
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/project/wizards/RenameFolderDialog.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/project/wizards/RenameFolderDialog.java
deleted file mode 100644
index ac0a947ef4..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/project/wizards/RenameFolderDialog.java
+++ /dev/null
@@ -1,167 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 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:
- * Patrick Tasse - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.project.wizards;
-
-import org.eclipse.core.resources.IContainer;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IWorkspace;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.linuxtools.internal.tmf.ui.Activator;
-import org.eclipse.linuxtools.tmf.ui.project.model.TmfTraceFolder;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Font;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Listener;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.ui.dialogs.SelectionStatusDialog;
-
-/**
- * Implementation of a dialog box to rename a folder.
- * @since 3.0
- */
-public class RenameFolderDialog extends SelectionStatusDialog {
-
- // ------------------------------------------------------------------------
- // Members
- // ------------------------------------------------------------------------
-
- private final TmfTraceFolder fFolder;
- private Text fNewFolderNameText;
-
- // ------------------------------------------------------------------------
- // Constructor
- // ------------------------------------------------------------------------
-
- /**
- * Constructor
- * @param shell The parent shell
- * @param folder The trace element to rename
- */
- public RenameFolderDialog(Shell shell, TmfTraceFolder folder) {
- super(shell);
- fFolder = folder;
- setTitle(Messages.RenameFolderDialog_DialogTitle);
- setStatusLineAboveButtons(true);
- }
-
- // ------------------------------------------------------------------------
- // Dialog
- // ------------------------------------------------------------------------
-
- @Override
- protected Control createDialogArea(Composite parent) {
- Composite composite = (Composite) super.createDialogArea(parent);
- composite.setLayout(new GridLayout());
- composite.setLayoutData(new GridData(GridData.FILL_BOTH));
-
- createNewTraceNameGroup(composite);
- return composite;
- }
-
- private void createNewTraceNameGroup(Composite parent) {
- Font font = parent.getFont();
- Composite folderGroup = new Composite(parent, SWT.NONE);
- GridLayout layout = new GridLayout();
- layout.numColumns = 2;
- folderGroup.setLayout(layout);
- folderGroup.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-
- // Old trace name label
- Label oldTraceLabel = new Label(folderGroup, SWT.NONE);
- oldTraceLabel.setFont(font);
- oldTraceLabel.setText(Messages.RenameFolderDialog_FolderName);
-
- // Old trace name field
- Text oldTraceName = new Text(folderGroup, SWT.BORDER);
- GridData data = new GridData(GridData.FILL_HORIZONTAL);
- data.widthHint = IDialogConstants.ENTRY_FIELD_WIDTH;
- oldTraceName.setLayoutData(data);
- oldTraceName.setFont(font);
- oldTraceName.setText(fFolder.getName());
- oldTraceName.setEnabled(false);
-
- // New trace name label
- Label newTaceLabel = new Label(folderGroup, SWT.NONE);
- newTaceLabel.setFont(font);
- newTaceLabel.setText(Messages.RenameFolderDialog_FolderNewName);
-
- // New trace name entry field
- fNewFolderNameText = new Text(folderGroup, SWT.BORDER);
- data = new GridData(GridData.FILL_HORIZONTAL);
- data.widthHint = IDialogConstants.ENTRY_FIELD_WIDTH;
- fNewFolderNameText.setLayoutData(data);
- fNewFolderNameText.setFont(font);
- fNewFolderNameText.addListener(SWT.Modify, new Listener() {
- @Override
- public void handleEvent(Event event) {
- validateNewFolderName();
- }
- });
- }
-
- private void validateNewFolderName() {
-
- String newFolderName = fNewFolderNameText.getText();
- IWorkspace workspace = fFolder.getResource().getWorkspace();
- IStatus nameStatus = workspace.validateName(newFolderName, IResource.FOLDER);
-
- if ("".equals(newFolderName)) { //$NON-NLS-1$
- updateStatus(new Status(IStatus.ERROR, Activator.PLUGIN_ID, IStatus.ERROR,
- Messages.Dialog_EmptyNameError, null));
- return;
- }
-
- if (!nameStatus.isOK()) {
- updateStatus(nameStatus);
- return;
- }
-
- IContainer parentFolder = fFolder.getResource().getParent();
- if (parentFolder.findMember(newFolderName) != null) {
- updateStatus(new Status(IStatus.ERROR, Activator.PLUGIN_ID, IStatus.ERROR,
- Messages.Dialog_ExistingNameError, null));
- return;
- }
-
- updateStatus(new Status(IStatus.OK, Activator.PLUGIN_ID, "")); //$NON-NLS-1$
- }
-
- // ------------------------------------------------------------------------
- // SelectionStatusDialog
- // ------------------------------------------------------------------------
-
- @Override
- protected void computeResult() {
- }
-
- @Override
- public void create() {
- super.create();
- getButton(IDialogConstants.OK_ID).setEnabled(false);
- }
-
- @Override
- protected void okPressed() {
- setSelectionResult(new String[] { fNewFolderNameText.getText() });
- super.okPressed();
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/project/wizards/RenameTraceDialog.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/project/wizards/RenameTraceDialog.java
deleted file mode 100644
index ed2623ab97..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/project/wizards/RenameTraceDialog.java
+++ /dev/null
@@ -1,169 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011, 2014 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 - Copied and adapted from NewFolderDialog
- * Patrick Tasse - Close editors to release resources
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.project.wizards;
-
-import org.eclipse.core.resources.IContainer;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IWorkspace;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.linuxtools.internal.tmf.ui.Activator;
-import org.eclipse.linuxtools.tmf.ui.project.model.TmfTraceElement;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Font;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Listener;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.ui.dialogs.SelectionStatusDialog;
-
-/**
- * Implementation of a dialog box to rename a trace.
- * <p>
- * @version 1.0
- * @author Francois Chouinard
- */
-public class RenameTraceDialog extends SelectionStatusDialog {
-
- // ------------------------------------------------------------------------
- // Members
- // ------------------------------------------------------------------------
-
- private final TmfTraceElement fTrace;
- private Text fNewTraceNameText;
-
- // ------------------------------------------------------------------------
- // Constructor
- // ------------------------------------------------------------------------
- /**
- * Constructor
- * @param shell The parent shell
- * @param trace The trace element to rename
- */
- public RenameTraceDialog(Shell shell, TmfTraceElement trace) {
- super(shell);
- fTrace = trace;
- setTitle(Messages.RenameTraceDialog_DialogTitle);
- setStatusLineAboveButtons(true);
- }
-
- // ------------------------------------------------------------------------
- // Dialog
- // ------------------------------------------------------------------------
-
- @Override
- protected Control createDialogArea(Composite parent) {
- Composite composite = (Composite) super.createDialogArea(parent);
- composite.setLayout(new GridLayout());
- composite.setLayoutData(new GridData(GridData.FILL_BOTH));
-
- createNewTraceNameGroup(composite);
- return composite;
- }
-
- private void createNewTraceNameGroup(Composite parent) {
- Font font = parent.getFont();
- Composite folderGroup = new Composite(parent, SWT.NONE);
- GridLayout layout = new GridLayout();
- layout.numColumns = 2;
- folderGroup.setLayout(layout);
- folderGroup.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-
- // Old trace name label
- Label oldTraceLabel = new Label(folderGroup, SWT.NONE);
- oldTraceLabel.setFont(font);
- oldTraceLabel.setText(Messages.RenameTraceDialog_TraceName);
-
- // Old trace name field
- Text oldTraceName = new Text(folderGroup, SWT.BORDER);
- GridData data = new GridData(GridData.FILL_HORIZONTAL);
- data.widthHint = IDialogConstants.ENTRY_FIELD_WIDTH;
- oldTraceName.setLayoutData(data);
- oldTraceName.setFont(font);
- oldTraceName.setText(fTrace.getName());
- oldTraceName.setEnabled(false);
-
- // New trace name label
- Label newTaceLabel = new Label(folderGroup, SWT.NONE);
- newTaceLabel.setFont(font);
- newTaceLabel.setText(Messages.RenameTraceDialog_TraceNewName);
-
- // New trace name entry field
- fNewTraceNameText = new Text(folderGroup, SWT.BORDER);
- data = new GridData(GridData.FILL_HORIZONTAL);
- data.widthHint = IDialogConstants.ENTRY_FIELD_WIDTH;
- fNewTraceNameText.setLayoutData(data);
- fNewTraceNameText.setFont(font);
- fNewTraceNameText.addListener(SWT.Modify, new Listener() {
- @Override
- public void handleEvent(Event event) {
- validateNewTraceName();
- }
- });
- }
-
- private void validateNewTraceName() {
-
- String newTraceName = fNewTraceNameText.getText();
- IWorkspace workspace = fTrace.getResource().getWorkspace();
- IStatus nameStatus = workspace.validateName(newTraceName, IResource.FOLDER);
-
- if ("".equals(newTraceName)) { //$NON-NLS-1$
- updateStatus(new Status(IStatus.ERROR, Activator.PLUGIN_ID, IStatus.ERROR,
- Messages.Dialog_EmptyNameError, null));
- return;
- }
-
- if (!nameStatus.isOK()) {
- updateStatus(nameStatus);
- return;
- }
-
- IContainer parentFolder = fTrace.getResource().getParent();
- if (parentFolder.findMember(newTraceName) != null) {
- updateStatus(new Status(IStatus.ERROR, Activator.PLUGIN_ID, IStatus.ERROR,
- Messages.Dialog_ExistingNameError, null));
- return;
- }
-
- updateStatus(new Status(IStatus.OK, Activator.PLUGIN_ID, "")); //$NON-NLS-1$
- }
-
- // ------------------------------------------------------------------------
- // SelectionStatusDialog
- // ------------------------------------------------------------------------
-
- @Override
- protected void computeResult() {
- }
-
- @Override
- public void create() {
- super.create();
- getButton(IDialogConstants.OK_ID).setEnabled(false);
- }
-
- @Override
- protected void okPressed() {
- setSelectionResult(new String[] { fNewTraceNameText.getText() });
- super.okPressed();
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/project/wizards/SelectTracesWizard.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/project/wizards/SelectTracesWizard.java
deleted file mode 100644
index 50f7ecc513..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/project/wizards/SelectTracesWizard.java
+++ /dev/null
@@ -1,74 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009, 2013 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.ui.project.wizards;
-
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.wizard.Wizard;
-import org.eclipse.linuxtools.tmf.ui.project.model.TmfExperimentElement;
-import org.eclipse.linuxtools.tmf.ui.project.model.TmfProjectElement;
-import org.eclipse.ui.IImportWizard;
-import org.eclipse.ui.IWorkbench;
-
-/**
- * Wizard implementation to select traces for an experiment.
- * <p>
- * @version 1.0
- * @author Francois Chouinard
- */
-public class SelectTracesWizard extends Wizard implements IImportWizard {
-
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
-
- private final TmfProjectElement fProject;
- private final TmfExperimentElement fExperiment;
- private SelectTracesWizardPage fSelectTraceWizardPage;
-
- // ------------------------------------------------------------------------
- // Constructor
- // ------------------------------------------------------------------------
-
- /**
- * Constructor
- * @param project The project model element
- * @param experiment The experiemnt model element
- */
- public SelectTracesWizard(TmfProjectElement project, TmfExperimentElement experiment) {
- fProject = project;
- fExperiment = experiment;
- }
-
- // ------------------------------------------------------------------------
- // Wizard
- // ------------------------------------------------------------------------
-
- @Override
- public void init(IWorkbench workbench, IStructuredSelection selection) {
- setWindowTitle(Messages.SelectTracesWizard_WindowTitle);
- setNeedsProgressMonitor(true);
- }
-
- @Override
- public void addPages() {
- super.addPages();
- fSelectTraceWizardPage = new SelectTracesWizardPage(fProject, fExperiment);
- addPage(fSelectTraceWizardPage);
- }
-
- @Override
- public boolean performFinish() {
- return fSelectTraceWizardPage.performFinish();
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/project/wizards/SelectTracesWizardPage.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/project/wizards/SelectTracesWizardPage.java
deleted file mode 100644
index 844f1ebdbb..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/project/wizards/SelectTracesWizardPage.java
+++ /dev/null
@@ -1,477 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009, 2014 Ericsson, École Polytechnique de Montréal
- *
- * 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
- * Geneviève Bastien - Moved the add and remove code to the experiment class
- * Patrick Tasse - Add support for folder elements
- * Marc-Andre Laperle - Convert to tree structure and add select/deselect all
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.project.wizards;
-
-import java.lang.reflect.InvocationTargetException;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-import java.util.Vector;
-
-import org.eclipse.core.resources.IFolder;
-import org.eclipse.core.resources.IWorkspace;
-import org.eclipse.core.resources.IWorkspaceRunnable;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.core.runtime.SubMonitor;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.operation.IRunnableWithProgress;
-import org.eclipse.jface.operation.ModalContext;
-import org.eclipse.jface.viewers.CheckStateChangedEvent;
-import org.eclipse.jface.viewers.CheckboxTreeViewer;
-import org.eclipse.jface.viewers.ColumnLabelProvider;
-import org.eclipse.jface.viewers.ICheckStateListener;
-import org.eclipse.jface.viewers.TreeViewer;
-import org.eclipse.jface.viewers.TreeViewerColumn;
-import org.eclipse.jface.viewers.ViewerSorter;
-import org.eclipse.jface.wizard.WizardPage;
-import org.eclipse.linuxtools.internal.tmf.ui.Activator;
-import org.eclipse.linuxtools.tmf.core.project.model.TmfTraceType;
-import org.eclipse.linuxtools.tmf.ui.project.model.ITmfProjectModelElement;
-import org.eclipse.linuxtools.tmf.ui.project.model.TmfExperimentElement;
-import org.eclipse.linuxtools.tmf.ui.project.model.TmfNavigatorContentProvider;
-import org.eclipse.linuxtools.tmf.ui.project.model.TmfNavigatorLabelProvider;
-import org.eclipse.linuxtools.tmf.ui.project.model.TmfProjectElement;
-import org.eclipse.linuxtools.tmf.ui.project.model.TmfTraceElement;
-import org.eclipse.linuxtools.tmf.ui.project.model.TmfTraceFolder;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.layout.FillLayout;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Tree;
-import org.eclipse.ui.dialogs.FilteredTree;
-import org.eclipse.ui.dialogs.PatternFilter;
-
-/**
- * Implementation of a wizard page for selecting trace for an experiment.
- * <p>
- *
- * @version 1.0
- * @author Francois Chouinard
- */
-public class SelectTracesWizardPage extends WizardPage {
-
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
-
- private final TmfProjectElement fProject;
- private final TmfExperimentElement fExperiment;
- private Map<String, TmfTraceElement> fPreviousTraces;
- private CheckboxTreeViewer fCheckboxTreeViewer;
- private TmfNavigatorContentProvider fContentProvider;
- private TmfNavigatorLabelProvider fLabelProvider;
-
- private static final int COLUMN_WIDTH = 200;
- private static final int BUTTON_SPACING = 4;
-
- // ------------------------------------------------------------------------
- // Constructor
- // ------------------------------------------------------------------------
- /**
- * Constructor
- *
- * @param project
- * The project model element.
- * @param experiment
- * The experiment model experiment.
- */
- protected SelectTracesWizardPage(TmfProjectElement project, TmfExperimentElement experiment) {
- super(""); //$NON-NLS-1$
- setTitle(Messages.SelectTracesWizardPage_WindowTitle);
- setDescription(Messages.SelectTracesWizardPage_Description);
- fProject = project;
- fExperiment = experiment;
- }
-
- // ------------------------------------------------------------------------
- // Dialog
- // ------------------------------------------------------------------------
-
- @Override
- public void createControl(Composite parent) {
- Composite container = new Composite(parent, SWT.NULL);
- container.setLayout(new GridLayout(2, false));
- setControl(container);
-
- new FilteredTree(container, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER, new PatternFilter(), true) {
- @Override
- protected TreeViewer doCreateTreeViewer(Composite aparent, int style) {
- return SelectTracesWizardPage.this.doCreateTreeViewer(aparent);
- }
- };
-
- Composite buttonComposite = new Composite(container, SWT.NONE);
- FillLayout layout = new FillLayout(SWT.VERTICAL);
- layout.spacing = BUTTON_SPACING;
- buttonComposite.setLayout(layout);
- GridData gd = new GridData();
- gd.verticalAlignment = SWT.CENTER;
- buttonComposite.setLayoutData(gd);
-
- Button selectAllButton = new Button(buttonComposite, SWT.PUSH);
- selectAllButton.setText(org.eclipse.linuxtools.internal.tmf.ui.project.dialogs.Messages.Dialog_SelectAll);
- selectAllButton.addSelectionListener(new SelectionAdapter() {
- @Override
- public void widgetSelected(SelectionEvent e) {
- setAllChecked(true);
- }
- });
-
- Button deselectAllButton = new Button(buttonComposite, SWT.PUSH);
- deselectAllButton.setText(org.eclipse.linuxtools.internal.tmf.ui.project.dialogs.Messages.Dialog_DeselectAll);
- deselectAllButton.addSelectionListener(new SelectionAdapter() {
- @Override
- public void widgetSelected(SelectionEvent e) {
- setAllChecked(false);
- }
- });
- }
-
- private TreeViewer doCreateTreeViewer(Composite parent) {
- fCheckboxTreeViewer = new CheckboxTreeViewer(parent, SWT.BORDER);
- fContentProvider = new TmfNavigatorContentProvider() {
-
- @Override
- public Object[] getElements(Object inputElement) {
- return getChildren(inputElement);
- }
-
- @Override
- public synchronized Object[] getChildren(Object parentElement) {
- // We only care about the content of trace folders
- if (parentElement instanceof TmfTraceFolder) {
- Object[] children = super.getChildren(parentElement);
- List<ITmfProjectModelElement> filteredChildren = new ArrayList<>();
- for (Object child : children) {
- if (child instanceof TmfTraceElement) {
- TmfTraceElement traceElement = (TmfTraceElement) child;
- String traceType = traceElement.getTraceType();
- if (traceType != null && TmfTraceType.getTraceType(traceType) != null) {
- filteredChildren.add(traceElement);
- }
- } else if (child instanceof TmfTraceFolder) {
- filteredChildren.add((TmfTraceFolder) child);
- }
- }
- return filteredChildren.toArray();
- }
- return null;
- }
-
- @Override
- public boolean hasChildren(Object element) {
- Object[] children = getChildren(element);
- return children != null && children.length > 0;
- }
- };
- fCheckboxTreeViewer.setContentProvider(fContentProvider);
- fLabelProvider = new TmfNavigatorLabelProvider();
- fCheckboxTreeViewer.setLabelProvider(fLabelProvider);
- fCheckboxTreeViewer.setSorter(new ViewerSorter());
-
- final Tree tree = fCheckboxTreeViewer.getTree();
- GridData gd = new GridData(SWT.FILL, SWT.FILL, true, true);
- tree.setLayoutData(gd);
- tree.setHeaderVisible(true);
-
- final TreeViewerColumn column = new TreeViewerColumn(fCheckboxTreeViewer, SWT.NONE);
- column.getColumn().setWidth(COLUMN_WIDTH);
- column.getColumn().setText(Messages.SelectTracesWizardPage_TraceColumnHeader);
- column.setLabelProvider(new ColumnLabelProvider() {
- @Override
- public String getText(Object element) {
- return fLabelProvider.getText(element);
- }
-
- @Override
- public Image getImage(Object element) {
- return fLabelProvider.getImage(element);
- }
- });
-
- // Get the list of traces already part of the experiment
- fPreviousTraces = new HashMap<>();
- for (ITmfProjectModelElement child : fExperiment.getChildren()) {
- if (child instanceof TmfTraceElement) {
- TmfTraceElement trace = (TmfTraceElement) child;
- String name = trace.getElementPath();
- fPreviousTraces.put(name, trace);
- }
- }
-
- // Populate the list of traces to choose from
- Set<String> keys = fPreviousTraces.keySet();
- TmfTraceFolder traceFolder = fProject.getTracesFolder();
- fCheckboxTreeViewer.setInput(traceFolder);
-
- // Set the checkbox for the traces already included
- setCheckedAlreadyIncludedTraces(keys, fContentProvider.getElements(fCheckboxTreeViewer.getInput()));
-
- fCheckboxTreeViewer.addCheckStateListener(new ICheckStateListener() {
- @Override
- public void checkStateChanged(CheckStateChangedEvent event) {
- Object element = event.getElement();
- setSubtreeChecked(element, event.getChecked());
- maintainCheckIntegrity(element);
- }
- });
-
- return fCheckboxTreeViewer;
- }
-
- private void maintainCheckIntegrity(final Object element) {
- Object parentElement = fContentProvider.getParent(element);
- boolean allChecked = true;
- boolean oneChecked = false;
- boolean oneGrayed = false;
- if (parentElement != null) {
- if (fContentProvider.getChildren(parentElement) != null) {
- for (Object child : fContentProvider.getChildren(parentElement)) {
- boolean checked = fCheckboxTreeViewer.getChecked(child);
- oneChecked |= checked;
- allChecked &= checked;
- oneGrayed |= fCheckboxTreeViewer.getGrayed(child);
- }
- }
- if (oneGrayed || oneChecked && !allChecked) {
- fCheckboxTreeViewer.setGrayChecked(parentElement, true);
- } else {
- fCheckboxTreeViewer.setGrayed(parentElement, false);
- fCheckboxTreeViewer.setChecked(parentElement, allChecked);
- }
- maintainCheckIntegrity(parentElement);
- }
- }
-
- private void setCheckedAlreadyIncludedTraces(Set<String> alreadyIncludedTraces, Object[] elements) {
- for (Object element : elements) {
- if (element instanceof TmfTraceElement) {
- TmfTraceElement trace = (TmfTraceElement) element;
- String elementPath = trace.getElementPath();
- if (alreadyIncludedTraces.contains(elementPath)) {
- fCheckboxTreeViewer.setChecked(element, true);
- maintainCheckIntegrity(element);
- }
- }
- Object[] children = fContentProvider.getChildren(element);
- if (children != null) {
- setCheckedAlreadyIncludedTraces(alreadyIncludedTraces, children);
- }
- }
- }
-
- /**
- * Sets all items in the element viewer to be checked or unchecked
- *
- * @param checked
- * whether or not items should be checked
- */
- private void setAllChecked(boolean checked) {
- for (Object element : fContentProvider.getChildren(fCheckboxTreeViewer.getInput())) {
- setSubtreeChecked(element, checked);
- }
- }
-
- /**
- * A version of setSubtreeChecked that also handles the grayed state
- *
- * @param element
- * the element
- * @param checked
- * true if the item should be checked, and false if it should be
- * unchecked
- */
- private void setSubtreeChecked(Object element, boolean checked) {
- fCheckboxTreeViewer.setChecked(element, checked);
- if (checked) {
- fCheckboxTreeViewer.setGrayed(element, false);
- }
- Object[] children = fContentProvider.getChildren(element);
- if (children != null) {
- for (Object child : children) {
- setSubtreeChecked(child, checked);
- }
- }
- }
-
- /**
- * Method to finalize the select operation.
- *
- * @return <code>true</code> if successful else <code>false</code>
- */
- public boolean performFinish() {
-
- IFolder experiment = fExperiment.getResource();
-
- final SelectTracesOperation operation = new SelectTracesOperation(experiment, getSelection());
-
- IStatus status = Status.OK_STATUS;
- try {
- getContainer().run(true, true, new IRunnableWithProgress() {
- @Override
- public void run(IProgressMonitor monitor) throws InvocationTargetException, InterruptedException {
- // Wrapper to have only one resource changed event at the
- // end of the operation.
- IWorkspaceRunnable workspaceRunnable = new IWorkspaceRunnable() {
- @Override
- public void run(IProgressMonitor pm) throws CoreException {
- operation.run(pm);
- }
- };
-
- IWorkspace workspace = ResourcesPlugin.getWorkspace();
- try {
- workspace.run(workspaceRunnable, workspace.getRoot(), IWorkspace.AVOID_UPDATE, monitor);
- } catch (CoreException e) {
- throw new InvocationTargetException(e);
- } finally {
- monitor.done();
- }
- }
- });
-
- status = operation.getStatus();
- } catch (InvocationTargetException e) {
- status = new Status(IStatus.ERROR, Activator.PLUGIN_ID, Messages.SelectTracesWizardPage_SelectionError, e);
- } catch (InterruptedException e) {
- status = Status.CANCEL_STATUS;
- }
- if (!status.isOK()) {
- if (status.getSeverity() == IStatus.CANCEL) {
- setMessage(Messages.SelectTracesWizardPage_SelectionOperationCancelled);
- setErrorMessage(null);
- } else {
- if (status.getException() != null) {
- MessageDialog.open(MessageDialog.ERROR, getContainer().getShell(),
- Messages.SelectTracesWizardPage_InternalErrorTitle, status.getMessage() + ": " + status.getException(), SWT.SHEET); //$NON-NLS-1$
- }
- setMessage(null);
- setErrorMessage(Messages.SelectTracesWizardPage_SelectionError);
- }
- return false;
- }
- setErrorMessage(null);
-
- return true;
- }
-
- private class SelectTracesOperation {
-
- IFolder experiment = null;
- TmfTraceElement[] traces;
- private IStatus fStatus;
-
- public SelectTracesOperation(IFolder experiment, TmfTraceElement[] traces) {
- this.experiment = experiment;
- this.traces = traces;
- }
-
- public void run(IProgressMonitor progressMonitor) {
-
- // Check if operation was cancelled.
- boolean changed = false;
-
- // Add the selected traces to the experiment
- Set<String> keys = fPreviousTraces.keySet();
- SubMonitor subMonitor = SubMonitor.convert(progressMonitor, traces.length + keys.size());
- try {
- for (TmfTraceElement trace : traces) {
- ModalContext.checkCanceled(progressMonitor);
- String name = trace.getElementPath();
- if (keys.contains(name)) {
- subMonitor.setTaskName(Messages.SelectTracesWizardPage_TraceRemovalTask + " " + trace.getElementPath()); //$NON-NLS-1$
- fPreviousTraces.remove(name);
- } else {
- subMonitor.setTaskName(Messages.SelectTracesWizardPage_TraceSelectionTask + " " + trace.getElementPath()); //$NON-NLS-1$
- fExperiment.addTrace(trace, false);
- changed = true;
- }
- subMonitor.worked(1);
- }
-
- // Remove traces that were unchecked (thus left in
- // fPreviousTraces)
- keys = fPreviousTraces.keySet();
- for (String key : keys) {
- ModalContext.checkCanceled(progressMonitor);
- TmfTraceElement trace = fPreviousTraces.get(key);
- subMonitor.setTaskName(Messages.SelectTracesWizardPage_TraceRemovalTask + " " + trace.getElementPath()); //$NON-NLS-1$
-
- try {
- fExperiment.removeTrace(trace);
- } catch (CoreException e) {
- Activator.getDefault().logError(Messages.SelectTracesWizardPage_SelectionError + " " + experiment.getName(), e); //$NON-NLS-1$
- }
- changed = true;
- subMonitor.worked(1);
- }
- if (changed) {
- fExperiment.closeEditors();
- fExperiment.deleteSupplementaryResources();
- }
- setStatus(Status.OK_STATUS);
- } catch (InterruptedException e) {
- setStatus(Status.CANCEL_STATUS);
- } catch (Exception e) {
- Activator.getDefault().logError(Messages.SelectTracesWizardPage_SelectionError, e);
- setStatus(new Status(IStatus.ERROR, Activator.PLUGIN_ID, Messages.SelectTracesWizardPage_SelectionError, e));
- }
- }
-
- /**
- * Set the status for this operation
- *
- * @param status
- * the status
- */
- protected void setStatus(IStatus status) {
- fStatus = status;
- }
-
- public IStatus getStatus() {
- return fStatus;
- }
-
- }
-
- /**
- * Get the list of selected traces
- */
- private TmfTraceElement[] getSelection() {
- Vector<TmfTraceElement> traces = new Vector<>();
- Object[] selection = fCheckboxTreeViewer.getCheckedElements();
- for (Object sel : selection) {
- if (sel instanceof TmfTraceElement) {
- traces.add((TmfTraceElement) sel);
- }
- }
- TmfTraceElement[] result = new TmfTraceElement[traces.size()];
- traces.toArray(result);
- return result;
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/project/wizards/messages.properties b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/project/wizards/messages.properties
deleted file mode 100644
index 6993dcdd98..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/project/wizards/messages.properties
+++ /dev/null
@@ -1,64 +0,0 @@
-###############################################################################
-# Copyright (c) 2013, 2014 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:
-# Ericsson - Initial API and implementation
-# Marc-Andre Laperle - Preserve folder structure on import
-###############################################################################
-
-# NewProjectWizard
-NewProjectWizard_DialogHeader = Tracing Project
-NewProjectWizard_DialogMessage = Create a Tracing Project
-
-# SelectTracesWizard
-SelectTracesWizard_WindowTitle=Select Traces
-SelectTracesWizardPage_TraceColumnHeader=Trace
-SelectTracesWizardPage_WindowTitle=Select Traces
-SelectTracesWizardPage_Description=Select the traces to add to the experiment
-SelectTracesWizardPage_SelectionError=Error selecting traces for experiment
-SelectTracesWizardPage_TraceSelectionTask=Selecting trace
-SelectTracesWizardPage_TraceRemovalTask=Removing trace
-SelectTracesWizardPage_SelectionOperationCancelled=Selection operation cancelled
-SelectTracesWizardPage_InternalErrorTitle=Internal Error
-
-# Common Experiment/Trace dialog errors
-Dialog_EmptyNameError = No name specified
-Dialog_ExistingNameError = Name already used
-
-# NewExperiment dialog
-NewExperimentDialog_DialogTitle = New Experiment
-NewExperimentDialog_ExperimentName = Experiment name:
-
-# RenameExperiment dialog
-RenameExperimentDialog_DialogTitle = Rename Experiment
-RenameExperimentDialog_ExperimentName = Old Experiment name:
-RenameExperimentDialog_ExperimentNewName = New Experiment name:
-
-# CopyExperiment dialog
-CopyExperimentDialog_DialogTitle = Copy Experiment
-CopyExperimentDialog_ExperimentName = Source Experiment name:
-CopyExperimentDialog_ExperimentNewName = New Experiment name:
-
-# RenameTrace dialog
-RenameTraceDialog_DialogTitle = Rename Trace
-RenameTraceDialog_TraceName = Old Trace name:
-RenameTraceDialog_TraceNewName = New Trace name:
-
-# CopyTrace dialog
-CopyTraceDialog_DialogTitle = Copy Trace
-CopyTraceDialog_TraceName = Source Trace name:
-CopyTraceDialog_TraceNewName = New Trace name:
-
-# NewFolder dialog
-NewFolderDialog_DialogTitle = New Folder
-NewFolderDialog_FolderName = Folder name:
-
-# RenameFolder dialog
-RenameFolderDialog_DialogTitle = Rename Folder
-RenameFolderDialog_FolderName = Old Folder name:
-RenameFolderDialog_FolderNewName = New Folder name:
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/properties/Messages.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/properties/Messages.java
deleted file mode 100644
index 19ae246b0c..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/properties/Messages.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 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:
- * Marc-Andre Laperle - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.linuxtools.tmf.ui.properties;
-
-import org.eclipse.osgi.util.NLS;
-
-/**
- * @since 2.1
- */
-@SuppressWarnings("javadoc")
-public class Messages extends NLS {
- private static final String BUNDLE_NAME = "org.eclipse.linuxtools.tmf.ui.properties.messages"; //$NON-NLS-1$
-
- public static String TmfTimestampFormatPage_LocalTime;
-
- static {
- // initialize resource bundle
- NLS.initializeMessages(BUNDLE_NAME, Messages.class);
- }
-
- private Messages() {
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/properties/ReadOnlyTextPropertyDescriptor.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/properties/ReadOnlyTextPropertyDescriptor.java
deleted file mode 100644
index 79dbbfaeb1..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/properties/ReadOnlyTextPropertyDescriptor.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 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:
- * Alexandre Montplaisir - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.properties;
-
-import org.eclipse.jface.viewers.CellEditor;
-import org.eclipse.jface.viewers.TextCellEditor;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.ui.views.properties.PropertyDescriptor;
-import org.eclipse.ui.views.properties.TextPropertyDescriptor;
-
-/**
- * A uneditable version of a {@link TextPropertyDescriptor}.
- *
- * @author Alexandre Montplaisir
- * @since 2.0
- */
-public class ReadOnlyTextPropertyDescriptor extends PropertyDescriptor {
-
- /**
- * Creates an property descriptor with the given id and display name.
- *
- * @param id
- * The id of the property
- * @param displayName
- * The name to display for the property
- */
- public ReadOnlyTextPropertyDescriptor(Object id, String displayName) {
- super(id, displayName);
- }
-
- @Override
- public CellEditor createPropertyEditor(Composite parent) {
- CellEditor editor = new TextCellEditor(parent, SWT.READ_ONLY);
- if (getValidator() != null) {
- editor.setValidator(getValidator());
- }
- return editor;
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/properties/TmfTimestampFormatPage.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/properties/TmfTimestampFormatPage.java
deleted file mode 100644
index 5c37a23eb2..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/properties/TmfTimestampFormatPage.java
+++ /dev/null
@@ -1,391 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2012, 2014 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
- * Marc-Andre Laperle - Add time zone preference
- * Patrick Tasse - Updated for fraction of seconds
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.properties;
-
-import java.util.Map;
-import java.util.TimeZone;
-
-import org.eclipse.jface.preference.ComboFieldEditor;
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.jface.preference.PreferencePage;
-import org.eclipse.jface.preference.RadioGroupFieldEditor;
-import org.eclipse.jface.util.IPropertyChangeListener;
-import org.eclipse.jface.util.PropertyChangeEvent;
-import org.eclipse.linuxtools.internal.tmf.ui.Activator;
-import org.eclipse.linuxtools.tmf.core.signal.TmfSignalManager;
-import org.eclipse.linuxtools.tmf.core.signal.TmfTimestampFormatUpdateSignal;
-import org.eclipse.linuxtools.tmf.core.timestamp.ITmfTimePreferencesConstants;
-import org.eclipse.linuxtools.tmf.core.timestamp.TmfTimePreferences;
-import org.eclipse.linuxtools.tmf.core.timestamp.TmfTimestampFormat;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.events.SelectionListener;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.IWorkbenchPreferencePage;
-
-/**
- * The TMF timestamp format configuration page. This page is used to select the
- * global timestamp and interval time formats (for display and parsing). The
- * user can either pick a pre-defined format or enter his/her own.
- *
- * @version 1.0
- * @author Francois Chouinard
- * @since 2.0
- */
-public class TmfTimestampFormatPage extends PreferencePage implements IWorkbenchPreferencePage, SelectionListener, IPropertyChangeListener {
-
- // ------------------------------------------------------------------------
- // Constants
- // ------------------------------------------------------------------------
-
- // Date and Time formats
- private static final String[][] fDateTimeFormats = new String[][] {
- { ITmfTimePreferencesConstants.DATE_YEAR_FMT, ITmfTimePreferencesConstants.DATE_YEAR_FMT },
- { ITmfTimePreferencesConstants.DATE_YEAR2_FMT, ITmfTimePreferencesConstants.DATE_YEAR2_FMT },
- { ITmfTimePreferencesConstants.DATE_MONTH_FMT, ITmfTimePreferencesConstants.DATE_MONTH_FMT },
- { ITmfTimePreferencesConstants.DATE_DAY_FMT, ITmfTimePreferencesConstants.DATE_DAY_FMT },
- { ITmfTimePreferencesConstants.DATE_JDAY_FMT, ITmfTimePreferencesConstants.DATE_JDAY_FMT },
- { ITmfTimePreferencesConstants.TIME_HOUR_FMT, ITmfTimePreferencesConstants.TIME_HOUR_FMT },
- { ITmfTimePreferencesConstants.TIME_MINUTE_FMT, ITmfTimePreferencesConstants.TIME_MINUTE_FMT },
- { ITmfTimePreferencesConstants.TIME_SECOND_FMT, ITmfTimePreferencesConstants.TIME_SECOND_FMT },
- { ITmfTimePreferencesConstants.TIME_ELAPSED_FMT + " (secs in epoch)", ITmfTimePreferencesConstants.TIME_ELAPSED_FMT }, //$NON-NLS-1$
- { "(none)", ITmfTimePreferencesConstants.TIME_NO_FMT }, //$NON-NLS-1$
- };
-
- // Sub-second formats
- private static final String[][] fSubSecondFormats = new String[][] {
- { ITmfTimePreferencesConstants.SUBSEC_MILLI_FMT + " (ms)", ITmfTimePreferencesConstants.SUBSEC_MILLI_FMT }, //$NON-NLS-1$
- { ITmfTimePreferencesConstants.SUBSEC_MICRO_FMT + " (µs)", ITmfTimePreferencesConstants.SUBSEC_MICRO_FMT }, //$NON-NLS-1$
- { ITmfTimePreferencesConstants.SUBSEC_NANO_FMT + " (ns)", ITmfTimePreferencesConstants.SUBSEC_NANO_FMT }, //$NON-NLS-1$
- };
-
- // Date and Time delimiters
- private static final String[][] fDateTimeDelimiters = new String[][] {
- { "(none)", ITmfTimePreferencesConstants.DELIMITER_NONE }, //$NON-NLS-1$
- { " (space)", ITmfTimePreferencesConstants.DELIMITER_SPACE }, //$NON-NLS-1$
- { ", (comma)", ITmfTimePreferencesConstants.DELIMITER_COMMA }, //$NON-NLS-1$
- { "- (dash)", ITmfTimePreferencesConstants.DELIMITER_DASH }, //$NON-NLS-1$
- { "_ (underline)", ITmfTimePreferencesConstants.DELIMITER_UNDERLINE }, //$NON-NLS-1$
- { ": (colon)", ITmfTimePreferencesConstants.DELIMITER_COLON }, //$NON-NLS-1$
- { "; (semicolon)", ITmfTimePreferencesConstants.DELIMITER_SEMICOLON }, //$NON-NLS-1$
- { "/ (slash)", ITmfTimePreferencesConstants.DELIMITER_SLASH }, //$NON-NLS-1$
- { "' (quote)", ITmfTimePreferencesConstants.DELIMITER_QUOTE }, //$NON-NLS-1$
- { "\" (dbl-quote)", ITmfTimePreferencesConstants.DELIMITER_DQUOT }, //$NON-NLS-1$
- };
-
- // Sub-Second delimiters
- private static final String[][] fSubSecondDelimiters = new String[][] {
- { "(none)", ITmfTimePreferencesConstants.DELIMITER_NONE }, //$NON-NLS-1$
- { " (space)", ITmfTimePreferencesConstants.DELIMITER_SPACE }, //$NON-NLS-1$
- { ", (comma)", ITmfTimePreferencesConstants.DELIMITER_COMMA }, //$NON-NLS-1$
- { "- (dash)", ITmfTimePreferencesConstants.DELIMITER_DASH }, //$NON-NLS-1$
- { "_ (underline)", ITmfTimePreferencesConstants.DELIMITER_UNDERLINE }, //$NON-NLS-1$
- { ": (colon)", ITmfTimePreferencesConstants.DELIMITER_COLON }, //$NON-NLS-1$
- { "; (semicolon)", ITmfTimePreferencesConstants.DELIMITER_SEMICOLON }, //$NON-NLS-1$
- { "/ (slash)", ITmfTimePreferencesConstants.DELIMITER_SLASH }, //$NON-NLS-1$
- { "' (quote)", ITmfTimePreferencesConstants.DELIMITER_QUOTE }, //$NON-NLS-1$
- { "\" (dbl-quote)", ITmfTimePreferencesConstants.DELIMITER_DQUOT }, //$NON-NLS-1$
- { ". (period)", ITmfTimePreferencesConstants.DELIMITER_PERIOD }, //$NON-NLS-1$
- };
-
- // Time zones
- @SuppressWarnings("nls")
- private static final String[] timeZones = new String[] {
- Messages.TmfTimestampFormatPage_LocalTime,
- "GMT-12",
- "GMT-11",
- "GMT-10",
- "GMT-9:30",
- "GMT-9",
- "GMT-7",
- "GMT-6",
- "GMT-5",
- "GMT-4",
- "GMT-3:30",
- "GMT-3",
- "GMT-2",
- "GMT-1",
- "GMT",
- "GMT+1",
- "GMT+2",
- "GMT+3",
- "GMT+3:30",
- "GMT+4",
- "GMT+4:30",
- "GMT+5",
- "GMT+5:30",
- "GMT+6",
- "GMT+7",
- "GMT+8",
- "GMT+9",
- "GMT+9:30",
- "GMT+10",
- "GMT+10:30",
- "GMT+11",
- "GMT+11:30",
- "GMT+12",
- "GMT+13:00",
- "GMT+14:00"
- };
-
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
-
- // General stuff
- private Composite fPage;
- private IPreferenceStore fPreferenceStore;
- private TmfTimePreferences fTimePreference;
-
- // Example section
- private Composite fExampleSection;
- private Text fPatternDisplay;
- private Text fExampleDisplay;
-
- // Timezone section
- private ComboFieldEditor fCombo;
-
- // Date/Time format section
- private RadioGroupFieldEditor fDateTimeFields;
- private RadioGroupFieldEditor fSSecFields;
-
- // Delimiters section
- private RadioGroupFieldEditor fDateFieldDelim;
- private RadioGroupFieldEditor fTimeFieldDelim;
- private RadioGroupFieldEditor fSSecFieldDelim;
-
- // IPropertyChangeListener data
- private String fProperty;
- private String fChangedProperty;
-
- private Map<String, String> fPreferenceMap;
-
- // ------------------------------------------------------------------------
- // Constructors
- // ------------------------------------------------------------------------
-
- /**
- * The default constructor
- */
- public TmfTimestampFormatPage() {
- fPreferenceStore = getPreferenceStore();
- fTimePreference = TmfTimePreferences.getInstance();
- fPreferenceMap = fTimePreference.getPreferenceMap();
- }
-
- // ------------------------------------------------------------------------
- // IWorkbenchPreferencePage
- // ------------------------------------------------------------------------
-
- @Override
- protected IPreferenceStore doGetPreferenceStore() {
- return Activator.getDefault().getCorePreferenceStore();
- }
-
- @Override
- public void init(IWorkbench workbench) {
- }
-
- // ------------------------------------------------------------------------
- // PreferencePage
- // ------------------------------------------------------------------------
-
- @Override
- protected Control createContents(Composite parent) {
-
- // Overall preference page layout
- GridLayout gl = new GridLayout();
- gl.marginHeight = 0;
- gl.marginWidth = 0;
- parent.setLayout(gl);
- fPage = new Composite(parent, SWT.NONE);
- fPage.setLayout(new GridLayout());
- fPage.setLayoutData(new GridData(
- GridData.GRAB_HORIZONTAL | GridData.HORIZONTAL_ALIGN_FILL | GridData.GRAB_VERTICAL | GridData.VERTICAL_ALIGN_FILL));
-
- // Example section
- fExampleSection = new Composite(fPage, SWT.NONE);
- fExampleSection.setLayout(new GridLayout(2, false));
- fExampleSection.setLayoutData(new GridData(GridData.FILL_BOTH));
-
- Label patternLabel = new Label(fExampleSection, SWT.HORIZONTAL);
- patternLabel.setText("Current Format: "); //$NON-NLS-1$
- fPatternDisplay = new Text(fExampleSection, SWT.BORDER | SWT.READ_ONLY);
- fPatternDisplay.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-
- Label exampleLabel = new Label(fExampleSection, SWT.NONE);
- exampleLabel.setText("Sample Display: "); //$NON-NLS-1$
- fExampleDisplay = new Text(fExampleSection, SWT.BORDER | SWT.READ_ONLY);
- fExampleDisplay.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-
- Label separator = new Label(fPage, SWT.SEPARATOR | SWT.HORIZONTAL | SWT.SHADOW_NONE);
- separator.setLayoutData(
- new GridData(GridData.HORIZONTAL_ALIGN_FILL | GridData.GRAB_HORIZONTAL | GridData.VERTICAL_ALIGN_FILL));
-
- // Time Zones
- String[][] timeZoneIntervals = new String[timeZones.length][2];
- timeZoneIntervals[0][0] = timeZones[0];
- timeZoneIntervals[0][1] = fPreferenceStore.getDefaultString(ITmfTimePreferencesConstants.TIME_ZONE);
- for (int i = 1; i < timeZones.length; i++) {
- TimeZone tz = null;
- try {
- tz = TimeZone.getTimeZone(timeZones[i]);
- timeZoneIntervals[i][0] = tz.getDisplayName();
- timeZoneIntervals[i][1] = tz.getID();
- } catch (NullPointerException e) {
- System.out.println("TimeZone " + timeZones[i] + " does not exist."); //$NON-NLS-1$ //$NON-NLS-2$
- }
- }
-
- fCombo = new ComboFieldEditor(ITmfTimePreferencesConstants.TIME_ZONE, "Time Zone", timeZoneIntervals, fPage); //$NON-NLS-1$
- fCombo.setPreferenceStore(fPreferenceStore);
- fCombo.load();
- fCombo.setPropertyChangeListener(this);
-
- // Date and Time section
- fDateTimeFields = new RadioGroupFieldEditor(
- ITmfTimePreferencesConstants.DATIME, "Date and Time format", 3, fDateTimeFormats, fPage, true); //$NON-NLS-1$
- fDateTimeFields.setPreferenceStore(fPreferenceStore);
- fDateTimeFields.load();
- fDateTimeFields.setPropertyChangeListener(this);
-
- // Sub-second section
- fSSecFields = new RadioGroupFieldEditor(
- ITmfTimePreferencesConstants.SUBSEC, "Sub-second format", 3, fSubSecondFormats, fPage, true); //$NON-NLS-1$
- fSSecFields.setPreferenceStore(fPreferenceStore);
- fSSecFields.load();
- fSSecFields.setPropertyChangeListener(this);
-
- // Separators section
- fDateFieldDelim = new RadioGroupFieldEditor(
- ITmfTimePreferencesConstants.DATE_DELIMITER, "Date delimiter", 5, fDateTimeDelimiters, fPage, true); //$NON-NLS-1$
- fDateFieldDelim.setPreferenceStore(fPreferenceStore);
- fDateFieldDelim.load();
- fDateFieldDelim.setPropertyChangeListener(this);
-
- fTimeFieldDelim = new RadioGroupFieldEditor(
- ITmfTimePreferencesConstants.TIME_DELIMITER, "Time delimiter", 5, fDateTimeDelimiters, fPage, true); //$NON-NLS-1$
- fTimeFieldDelim.setPreferenceStore(fPreferenceStore);
- fTimeFieldDelim.load();
- fTimeFieldDelim.setPropertyChangeListener(this);
-
- fSSecFieldDelim = new RadioGroupFieldEditor(
- ITmfTimePreferencesConstants.SSEC_DELIMITER, "Sub-Second Delimiter", 5, fSubSecondDelimiters, fPage, true); //$NON-NLS-1$
- fSSecFieldDelim.setPreferenceStore(fPreferenceStore);
- fSSecFieldDelim.load();
- fSSecFieldDelim.setPropertyChangeListener(this);
-
- refresh();
- return fPage;
- }
-
- @Override
- protected void performDefaults() {
- fDateTimeFields.loadDefault();
- fSSecFields.loadDefault();
- fDateFieldDelim.loadDefault();
- fTimeFieldDelim.loadDefault();
- fSSecFieldDelim.loadDefault();
- fCombo.loadDefault();
-
- fPreferenceMap = TmfTimePreferences.getInstance().getDefaultPreferenceMap();
- displayExample();
- }
-
- @Override
- protected void performApply() {
- fDateTimeFields.store();
- fSSecFields.store();
- fDateFieldDelim.store();
- fTimeFieldDelim.store();
- fSSecFieldDelim.store();
- fCombo.store();
-
- TmfTimestampFormat.updateDefaultFormats();
- TmfSignalManager.dispatchSignal(new TmfTimestampFormatUpdateSignal(null));
- displayExample();
- }
-
- @Override
- public boolean performOk() {
- performApply();
- return super.performOk();
- }
-
- // ------------------------------------------------------------------------
- // SelectionListener
- // ------------------------------------------------------------------------
-
- @Override
- public void widgetSelected(SelectionEvent e) {
- }
-
- @Override
- public void widgetDefaultSelected(SelectionEvent e) {
- }
-
- // ------------------------------------------------------------------------
- // IPropertyChangeListener
- // ------------------------------------------------------------------------
-
- @Override
- public void propertyChange(PropertyChangeEvent event) {
- Object source = event.getSource();
- Object value = event.getNewValue();
- if (source instanceof RadioGroupFieldEditor && value instanceof String &&
- !(value.equals(fChangedProperty) && source == fProperty))
- {
- fProperty = ((RadioGroupFieldEditor) source).getPreferenceName();
- fChangedProperty = (String) value;
- refresh();
- }
- }
-
- // ------------------------------------------------------------------------
- // Helper functions
- // ------------------------------------------------------------------------
-
- private void refresh() {
- updatePatterns();
- displayExample();
- }
-
- void updatePatterns() {
- if (ITmfTimePreferencesConstants.DATIME.equals(fProperty) ||
- ITmfTimePreferencesConstants.SUBSEC.equals(fProperty) ||
- ITmfTimePreferencesConstants.DATE_DELIMITER.equals(fProperty) ||
- ITmfTimePreferencesConstants.TIME_DELIMITER.equals(fProperty) ||
- ITmfTimePreferencesConstants.SSEC_DELIMITER.equals(fProperty)) {
- fPreferenceMap.put(fProperty, fChangedProperty);
- }
- }
-
- private void displayExample() {
- long ts = 1332170682500677380L;
- String timePattern = fTimePreference.computeTimePattern(fPreferenceMap);
- fPatternDisplay.setText(timePattern);
- fPatternDisplay.redraw();
-
- fExampleDisplay.setText(new TmfTimestampFormat(timePattern).format(ts));
- fExampleDisplay.redraw();
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/properties/messages.properties b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/properties/messages.properties
deleted file mode 100644
index 446e99854a..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/properties/messages.properties
+++ /dev/null
@@ -1,13 +0,0 @@
-###############################################################################
-# Copyright (c) 2013 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:
-# Marc-Andre Laperle - Initial API and implementation
-###############################################################################
-
-TmfTimestampFormatPage_LocalTime=Local time
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/viewers/ArrayTreeContentProvider.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/viewers/ArrayTreeContentProvider.java
deleted file mode 100644
index f561e5301c..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/viewers/ArrayTreeContentProvider.java
+++ /dev/null
@@ -1,64 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 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:
- * Patrick Tasse - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.viewers;
-
-import java.util.Collection;
-
-import org.eclipse.jface.viewers.ITreeContentProvider;
-import org.eclipse.jface.viewers.Viewer;
-
-/**
- * This implementation of <code>ITreeContentProvider</code> handles the case
- * where the viewer input is an unchanging array or collection of elements.
- * The elements do not have children.
- *
- * @author Patrick Tasse
- * @since 3.2
- */
-public class ArrayTreeContentProvider implements ITreeContentProvider {
-
- @Override
- public void dispose() {
- }
-
- @Override
- public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
- }
-
- @Override
- public Object[] getChildren(Object parentElement) {
- return null;
- }
-
- @Override
- public Object getParent(Object element) {
- return null;
- }
-
- @Override
- public boolean hasChildren(Object element) {
- return false;
- }
-
- @Override
- public Object[] getElements(Object inputElement) {
- if (inputElement instanceof Object[]) {
- return (Object[]) inputElement;
- }
- if (inputElement instanceof Collection) {
- return ((Collection<?>) inputElement).toArray();
- }
- return new Object[0];
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/viewers/ITmfTimeProvider.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/viewers/ITmfTimeProvider.java
deleted file mode 100644
index 39c9420b27..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/viewers/ITmfTimeProvider.java
+++ /dev/null
@@ -1,95 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 École Polytechnique de Montréal
- *
- * 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:
- * Bernd Hufmann - Initial API and implementation in ITmfChartTimeProvider
- * Geneviève Bastien - Moved methods from ITmfChartTimeProvider to this interface
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.viewers;
-
-/**
- * Interface for providing and updating time information. This is typically
- * implemented by a viewer that is displaying trace data over time.
- *
- * @author Bernd Hufmann
- * @author Geneviève Bastien
- * @since 3.0
- */
-public interface ITmfTimeProvider extends ITmfViewer {
-
- /**
- * Gets the start time of trace
- *
- * @return start time of trace
- */
- long getStartTime();
-
- /**
- * Gets the end time of trace
- *
- * @return End time of trace
- */
- long getEndTime();
-
- /**
- * Gets the start time of current time range displayed
- *
- * @return start time of current time range
- */
- long getWindowStartTime();
-
- /**
- * Gets the end time of current time range displayed
- *
- * @return End time of current time range
- */
- long getWindowEndTime();
-
- /**
- * Gets the duration of the current time range displayed
- *
- * @return duration of current time range
- */
- long getWindowDuration();
-
- /**
- * Gets the begin time of the selected range
- *
- * @return the begin time of the selected range
- */
- long getSelectionBeginTime();
-
- /**
- * Gets the end time of the selected range
- *
- * @return end time of the selected range
- */
- long getSelectionEndTime();
-
- /**
- * Method to notify about a change of the current selected time.
- *
- * @param currentBeginTime
- * The current selection begin time
- * @param currentEndTime
- * The current selection end time
- */
- void updateSelectionRange(long currentBeginTime, long currentEndTime);
-
- /**
- * Updates the current time range window.
- *
- * @param windowStartTime
- * The window start time
- * @param windowEndTime
- * The window end time.
- */
- void updateWindow(long windowStartTime, long windowEndTime);
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/viewers/ITmfViewer.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/viewers/ITmfViewer.java
deleted file mode 100644
index f9e5ba7f9a..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/viewers/ITmfViewer.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2012, 2013 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:
- * Mathieu Denis <mathieu.denis@polymtl.ca> - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.viewers;
-
-import org.eclipse.linuxtools.tmf.core.component.ITmfComponent;
-import org.eclipse.swt.widgets.Control;
-
-/**
- * Interface to viewers.
- *
- * Viewers are to be put into views which need to know how to refresh the
- * viewer's contents.
- *
- * @author Mathieu Denis
- * @version 2.0
- * @since 2.0
- */
-public interface ITmfViewer extends ITmfComponent {
-
- /**
- * Returns the primary control associated with this viewer.
- *
- * @return the SWT control which displays this viewer's contents
- */
- Control getControl();
-
- /**
- * Tells the viewer to refresh its contents.
- */
- void refresh();
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/viewers/TmfTimeViewer.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/viewers/TmfTimeViewer.java
deleted file mode 100644
index 63915c89ba..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/viewers/TmfTimeViewer.java
+++ /dev/null
@@ -1,442 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 École Polytechnique de Montréal
- *
- * 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:
- * Bernd Hufmann - Initial API and implementation in TmfXYChartViewer
- * Geneviève Bastien - Moved methods from TmfXYChartViewer to this interface
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.viewers;
-
-import org.eclipse.linuxtools.tmf.core.signal.TmfRangeSynchSignal;
-import org.eclipse.linuxtools.tmf.core.signal.TmfSignalHandler;
-import org.eclipse.linuxtools.tmf.core.signal.TmfSignalThrottler;
-import org.eclipse.linuxtools.tmf.core.signal.TmfTimeSynchSignal;
-import org.eclipse.linuxtools.tmf.core.signal.TmfTraceClosedSignal;
-import org.eclipse.linuxtools.tmf.core.signal.TmfTraceOpenedSignal;
-import org.eclipse.linuxtools.tmf.core.signal.TmfTraceRangeUpdatedSignal;
-import org.eclipse.linuxtools.tmf.core.signal.TmfTraceSelectedSignal;
-import org.eclipse.linuxtools.tmf.core.signal.TmfTraceUpdatedSignal;
-import org.eclipse.linuxtools.tmf.core.timestamp.ITmfTimestamp;
-import org.eclipse.linuxtools.tmf.core.timestamp.TmfTimeRange;
-import org.eclipse.linuxtools.tmf.core.timestamp.TmfTimestamp;
-import org.eclipse.linuxtools.tmf.core.trace.ITmfTrace;
-import org.eclipse.linuxtools.tmf.core.trace.TmfTraceManager;
-import org.eclipse.swt.widgets.Composite;
-
-/**
- * Abstract class that extends {@link TmfViewer} that adds methods to
- * synchronize with a trace's time information.
- *
- * This class will be extended by viewers who require time information to update
- * their content.
- *
- * <pre>
- * It provides three times of data:
- * - start and end time of the trace (available)
- * - start, end and duration of the current time window, ie the visible time range
- * - start and end of the time range selected
- * </pre>
- *
- * @author Bernd Hufmann
- * @author Geneviève Bastien
- * @since 3.0
- */
-public abstract class TmfTimeViewer extends TmfViewer implements ITmfTimeProvider {
-
- /** Start time of trace */
- private long fStartTime;
- /** End time of trace */
- private long fEndTime;
- /** Start time of current time range */
- private long fWindowStartTime;
- /** End time of current time range */
- private long fWindowEndTime;
- /** Duration of current time range */
- private long fWindowDuration;
- /** Current begin time of selection range */
- private long fSelectionBeginTime;
- /** Current end of selection range */
- private long fSelectionEndTime;
- /** The trace that is displayed by this viewer */
- private ITmfTrace fTrace;
- /** A signal throttler for range updates */
- private final TmfSignalThrottler fTimeRangeSyncThrottle = new TmfSignalThrottler(this, 200);
-
- /**
- * Default constructor.
- */
- public TmfTimeViewer() {
- super();
- }
-
- /**
- * Constructor that initializes the parent of the viewer
- *
- * @param parent
- * The parent composite that holds this viewer
- */
- public TmfTimeViewer(Composite parent) {
- this(parent, ""); //$NON-NLS-1$
- }
-
- /**
- * Constructor that initializes the parent of the viewer and that sets the
- * name of the viewer
- *
- * @param parent
- * The parent composite that holds this viewer
- * @param name
- * The name of the viewer
- */
- public TmfTimeViewer(Composite parent, String name) {
- init(parent, name);
- }
-
- // ------------------------------------------------------------------------
- // Getter/Setters
- // ------------------------------------------------------------------------
-
- /**
- * Sets the start time of the trace
- *
- * @param startTime
- * The start time to set
- */
- protected void setStartTime(long startTime) {
- fStartTime = startTime;
- }
-
- /**
- * Sets the end time of the trace
- *
- * @param endTime
- * The start time to set
- */
- protected void setEndTime(long endTime) {
- fEndTime = endTime;
- }
-
- /**
- * Sets the start time of the current time range window (visible range)
- *
- * @param windowStartTime
- * The start time to set
- */
- protected void setWindowStartTime(long windowStartTime) {
- fWindowStartTime = windowStartTime;
- }
-
- /**
- * Sets the end time of the current time range window (visible range)
- *
- * @param windowEndTime
- * The start time to set
- */
- protected void setWindowEndTime(long windowEndTime) {
- fWindowEndTime = windowEndTime;
- }
-
- /**
- * Sets the duration of the current time range window (visible range)
- *
- * @param windowDuration
- * The window duration
- */
- protected void setWindowDuration(long windowDuration) {
- fWindowDuration = windowDuration;
- }
-
- /**
- * Sets the begin time of the selected range.
- *
- * @param selectionBeginTime
- * The begin time to set
- */
- protected void setSelectionBeginTime(long selectionBeginTime) {
- fSelectionBeginTime = selectionBeginTime;
- }
-
- /**
- * Sets the end time of the selected range.
- *
- * @param selectionEndTime
- * The end time to set
- */
- protected void setSelectionEndTime(long selectionEndTime) {
- fSelectionEndTime = selectionEndTime;
- }
-
- /**
- * Sets the trace that is displayed by this viewer.
- *
- * @param trace
- * The trace to set
- */
- protected void setTrace(ITmfTrace trace) {
- fTrace = trace;
- }
-
- /**
- * Gets the trace that is displayed by this viewer.
- *
- * @return the trace
- */
- protected ITmfTrace getTrace() {
- return fTrace;
- }
-
- // ------------------------------------------------------------------------
- // ITmfTimeProvider
- // ------------------------------------------------------------------------
-
- @Override
- public long getStartTime() {
- return fStartTime;
- }
-
- @Override
- public long getEndTime() {
- return fEndTime;
- }
-
- @Override
- public long getWindowStartTime() {
- return fWindowStartTime;
- }
-
- @Override
- public long getWindowEndTime() {
- return fWindowEndTime;
- }
-
- @Override
- public long getWindowDuration() {
- return fWindowDuration;
- }
-
- @Override
- public long getSelectionBeginTime() {
- return fSelectionBeginTime;
- }
-
- @Override
- public long getSelectionEndTime() {
- return fSelectionEndTime;
- }
-
- @Override
- public void updateSelectionRange(final long currentBeginTime, final long currentEndTime) {
- if (fTrace != null) {
- setSelectionBeginTime(currentBeginTime);
- setSelectionEndTime(currentEndTime);
-
- final ITmfTimestamp startTimestamp = new TmfTimestamp(getSelectionBeginTime(), ITmfTimestamp.NANOSECOND_SCALE);
- final ITmfTimestamp endTimestamp = new TmfTimestamp(getSelectionEndTime(), ITmfTimestamp.NANOSECOND_SCALE);
-
- TmfTimeSynchSignal signal = new TmfTimeSynchSignal(this, startTimestamp, endTimestamp);
- broadcast(signal);
- }
- }
-
- @Override
- public void updateWindow(long windowStartTime, long windowEndTime) {
-
- setWindowStartTime(windowStartTime);
- setWindowEndTime(windowEndTime);
- setWindowDuration(windowEndTime - windowStartTime);
-
- // Build the new time range; keep the current time
- TmfTimeRange timeRange = new TmfTimeRange(
- new TmfTimestamp(getWindowStartTime(), ITmfTimestamp.NANOSECOND_SCALE),
- new TmfTimestamp(getWindowEndTime(), ITmfTimestamp.NANOSECOND_SCALE));
-
- // Send the signal
- TmfRangeSynchSignal signal = new TmfRangeSynchSignal(this, timeRange);
- fTimeRangeSyncThrottle.queue(signal);
- }
-
- // ------------------------------------------------------------------------
- // Operations
- // ------------------------------------------------------------------------
- /**
- * A Method to load a trace into the viewer.
- *
- * @param trace
- * A trace to apply in the viewer
- */
- public void loadTrace(ITmfTrace trace) {
- fTrace = trace;
-
- long timestamp = TmfTraceManager.getInstance().getSelectionBeginTime().normalize(0, ITmfTimestamp.NANOSECOND_SCALE).getValue();
- TmfTimeRange currentRange = TmfTraceManager.getInstance().getCurrentRange();
- long windowStartTime = currentRange.getStartTime().normalize(0, ITmfTimestamp.NANOSECOND_SCALE).getValue();
- long windowEndTime = currentRange.getEndTime().normalize(0, ITmfTimestamp.NANOSECOND_SCALE).getValue();
- long windowDuration = windowEndTime - windowStartTime;
- long startTime = fTrace.getStartTime().normalize(0, ITmfTimestamp.NANOSECOND_SCALE).getValue();
- long endTime = fTrace.getEndTime().normalize(0, ITmfTimestamp.NANOSECOND_SCALE).getValue();
-
- setSelectionBeginTime(timestamp);
- setSelectionEndTime(timestamp);
- setStartTime(startTime);
- setWindowStartTime(windowStartTime);
- setWindowEndTime(windowEndTime);
- setWindowDuration(windowDuration);
- setEndTime(endTime);
- }
-
- /**
- * Resets the content of the viewer
- */
- public void reset() {
- // Reset the internal data
- setSelectionBeginTime(0);
- setSelectionEndTime(0);
- setStartTime(0);
- setWindowStartTime(0);
- setWindowDuration(0);
- setEndTime(0);
- setWindowEndTime(0);
- setTrace(null);
- }
-
- // ------------------------------------------------------------------------
- // Signal Handler
- // ------------------------------------------------------------------------
-
- /**
- * Signal handler for handling of the trace opened signal.
- *
- * @param signal
- * The trace opened signal {@link TmfTraceOpenedSignal}
- */
- @TmfSignalHandler
- public void traceOpened(TmfTraceOpenedSignal signal) {
- fTrace = signal.getTrace();
- loadTrace(getTrace());
- }
-
- /**
- * Signal handler for handling of the trace selected signal.
- *
- * @param signal
- * The trace selected signal {@link TmfTraceSelectedSignal}
- */
- @TmfSignalHandler
- public void traceSelected(TmfTraceSelectedSignal signal) {
- if (fTrace != signal.getTrace()) {
- fTrace = signal.getTrace();
- loadTrace(getTrace());
- }
- }
-
- /**
- * Signal handler for handling of the trace closed signal.
- *
- * @param signal
- * The trace closed signal {@link TmfTraceClosedSignal}
- */
- @TmfSignalHandler
- public void traceClosed(TmfTraceClosedSignal signal) {
-
- if (signal.getTrace() != fTrace) {
- return;
- }
-
- // Reset the internal data
- fTrace = null;
- reset();
- }
-
- /**
- * Signal handler for handling of the time synch signal, ie the selected range.
- *
- * @param signal
- * The time synch signal {@link TmfTimeSynchSignal}
- */
- @TmfSignalHandler
- public void selectionRangeUpdated(TmfTimeSynchSignal signal) {
- if ((signal.getSource() != this) && (fTrace != null)) {
- ITmfTimestamp selectedTime = signal.getBeginTime().normalize(0, ITmfTimestamp.NANOSECOND_SCALE);
- ITmfTimestamp selectedEndTime = signal.getEndTime().normalize(0, ITmfTimestamp.NANOSECOND_SCALE);
- setSelectionBeginTime(selectedTime.getValue());
- setSelectionEndTime(selectedEndTime.getValue());
- }
- }
-
- /**
- * Signal handler for handling of the time range synch signal, ie the visible range.
- *
- * @param signal
- * The time range synch signal {@link TmfRangeSynchSignal}
- */
- @TmfSignalHandler
- public void timeRangeUpdated(TmfRangeSynchSignal signal) {
-
- if (fTrace != null) {
- // Validate the time range
- TmfTimeRange range = signal.getCurrentRange().getIntersection(fTrace.getTimeRange());
- if (range == null) {
- return;
- }
-
- if (signal.getSource() != this) {
- // Update the time range
- long windowStartTime = range.getStartTime().normalize(0, ITmfTimestamp.NANOSECOND_SCALE).getValue();
- long windowEndTime = range.getEndTime().normalize(0, ITmfTimestamp.NANOSECOND_SCALE).getValue();
- long windowDuration = windowEndTime - windowStartTime;
-
- setWindowStartTime(windowStartTime);
- setWindowEndTime(windowEndTime);
- setWindowDuration(windowDuration);
- }
- }
- }
-
- /**
- * Signal handler for handling of the trace range updated signal.
- *
- * @param signal
- * The trace range signal {@link TmfTraceRangeUpdatedSignal}
- */
- @TmfSignalHandler
- public void traceRangeUpdated(TmfTraceRangeUpdatedSignal signal) {
-
- if (signal.getTrace() != fTrace) {
- return;
- }
-
- TmfTimeRange fullRange = signal.getRange();
-
- long traceStartTime = fullRange.getStartTime().normalize(0, ITmfTimestamp.NANOSECOND_SCALE).getValue();
- long traceEndTime = fullRange.getEndTime().normalize(0, ITmfTimestamp.NANOSECOND_SCALE).getValue();
-
- setStartTime(traceStartTime);
- setEndTime(traceEndTime);
- }
-
- /**
- * Signal handler for handling of the trace updated signal.
- *
- * @param signal
- * The trace updated signal {@link TmfTraceUpdatedSignal}
- */
- @TmfSignalHandler
- public void traceUpdated(TmfTraceUpdatedSignal signal) {
- if (signal.getTrace() != fTrace) {
- return;
- }
- TmfTimeRange fullRange = signal.getTrace().getTimeRange();
- long traceStartTime = fullRange.getStartTime().normalize(0, ITmfTimestamp.NANOSECOND_SCALE).getValue();
- long traceEndTime = fullRange.getEndTime().normalize(0, ITmfTimestamp.NANOSECOND_SCALE).getValue();
-
- setStartTime(traceStartTime);
- setEndTime(traceEndTime);
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/viewers/TmfViewer.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/viewers/TmfViewer.java
deleted file mode 100644
index 82fea075ef..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/viewers/TmfViewer.java
+++ /dev/null
@@ -1,88 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2012 Ericsson
- *
- * All rights reserved. This program and the accompanying materials are
- * made available under the terms of the Eclipse Public License v1.0 which
- * accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Mathieu Denis <mathieu.denis@polymtl.ca> - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.viewers;
-
-import org.eclipse.linuxtools.tmf.core.component.TmfComponent;
-import org.eclipse.swt.widgets.Composite;
-
-/**
- * Abstract class that extends {@link TmfComponent} to be specific to viewers.
- *
- * It allows the access to the control and the parent of a viewer.
- *
- * @author Mathieu Denis
- * @version 2.0
- * @since 2.0
- */
-public abstract class TmfViewer extends TmfComponent implements ITmfViewer {
-
- /**
- * The parent composite that holds the viewer
- */
- protected Composite fParent;
-
- /**
- * Default constructor. The viewer have to be initialize through the
- * {@link TmfViewer#init(Composite, String)} function later on.
- */
- public TmfViewer() {
- super();
- }
-
- /**
- * Constructor that initializes the parent of the viewer
- *
- * @param parent
- * The parent composite that holds this viewer
- *
- * @see TmfComponent#TmfComponent(String)
- */
- public TmfViewer(Composite parent) {
- this(parent, ""); //$NON-NLS-1$
- }
-
- /**
- * Constructor that initializes the parent of the viewer and that sets the
- * name of the viewer
- *
- * @param parent
- * The parent composite that holds this viewer
- * @param name
- * The name of the viewer
- */
- public TmfViewer(Composite parent, String name) {
- init(parent, name);
- }
-
- /**
- * Performs initialization of the viewer. It initializes the component. Need
- * to be called when the default constructor is used.
- *
- * @param parent
- * The parent composite of the viewer
- * @param name
- * The name to give to this viewer
- * @see TmfComponent#init(String)
- */
- public void init(Composite parent, String name) {
- super.init(name);
- fParent = parent;
- }
-
- /**
- * @return the parent of this viewer
- */
- public Composite getParent() {
- return fParent;
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/viewers/events/TmfEventAdapterFactory.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/viewers/events/TmfEventAdapterFactory.java
deleted file mode 100644
index 05157b7b53..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/viewers/events/TmfEventAdapterFactory.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 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:
- * Marc-Andre Laperle - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.linuxtools.tmf.ui.viewers.events;
-
-import org.eclipse.core.runtime.IAdapterFactory;
-import org.eclipse.linuxtools.tmf.core.event.ITmfEvent;
-import org.eclipse.ui.views.properties.IPropertySource;
-
-/**
- * Implements basic UI support for TMF events.
- *
- * @since 2.0
- */
-public class TmfEventAdapterFactory implements IAdapterFactory {
-
- private static Class<?>[] PROPERTIES = new Class[] {
- IPropertySource.class
- };
-
- @Override
- public Class<?>[] getAdapterList() {
- return PROPERTIES;
- }
-
- @Override
- public Object getAdapter(Object element, Class key) {
- ITmfEvent tmfEvent = (ITmfEvent) element;
- if (IPropertySource.class.equals(key)) {
- return new TmfEventPropertySource(tmfEvent);
- }
- return null;
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/viewers/events/TmfEventPropertySource.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/viewers/events/TmfEventPropertySource.java
deleted file mode 100644
index cb62632a46..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/viewers/events/TmfEventPropertySource.java
+++ /dev/null
@@ -1,355 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2012, 2013 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:
- * Patrick Tasse - Initial API and implementation
- * Bernd Hufmann - Added call site and model URI properties
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.viewers.events;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.linuxtools.tmf.core.event.ITmfCustomAttributes;
-import org.eclipse.linuxtools.tmf.core.event.ITmfEvent;
-import org.eclipse.linuxtools.tmf.core.event.ITmfEventField;
-import org.eclipse.linuxtools.tmf.core.event.lookup.ITmfModelLookup;
-import org.eclipse.linuxtools.tmf.core.event.lookup.ITmfSourceLookup;
-import org.eclipse.linuxtools.tmf.core.timestamp.ITmfTimestamp;
-import org.eclipse.linuxtools.tmf.ui.properties.ReadOnlyTextPropertyDescriptor;
-import org.eclipse.ui.views.properties.IPropertyDescriptor;
-import org.eclipse.ui.views.properties.IPropertySource;
-
-/**
- * Property source for events
- *
- * @since 2.0
- */
-public class TmfEventPropertySource implements IPropertySource {
-
- private static final String ID_TIMESTAMP = "event_timestamp"; //$NON-NLS-1$
- private static final String ID_SOURCE = "event_source"; //$NON-NLS-1$
- private static final String ID_TYPE = "event_type"; //$NON-NLS-1$
- private static final String ID_REFERENCE = "event_reference"; //$NON-NLS-1$
- private static final String ID_TRACE = "trace_attribute"; //$NON-NLS-1$
- private static final String ID_CONTENT = "event_content"; //$NON-NLS-1$
- private static final String ID_SOURCE_LOOKUP = "event_lookup"; //$NON-NLS-1$
- private static final String ID_MODEL_URI = "model_uri"; //$NON-NLS-1$
- private static final String ID_CUSTOM_ATTRIBUTE = "custom_attribute"; //$NON-NLS-1$
-
- private static final String NAME_TIMESTAMP = "Timestamp"; //$NON-NLS-1$
- private static final String NAME_SOURCE = "Source"; //$NON-NLS-1$
- private static final String NAME_TYPE = "Type"; //$NON-NLS-1$
- private static final String NAME_REFERENCE = "Reference"; //$NON-NLS-1$
- private static final String NAME_TRACE = "Trace"; //$NON-NLS-1$
- private static final String NAME_CONTENT = "Content"; //$NON-NLS-1$
- private static final String NAME_SOURCE_LOOKUP = "Source Lookup"; //$NON-NLS-1$
- private static final String NAME_MODEL_URI = "Model URI"; //$NON-NLS-1$
- private static final String NAME_CUSTOM_ATTRIBUTES = "Custom Attributes"; //$NON-NLS-1$
-
- private static final String EMPTY_STRING = ""; //$NON-NLS-1$
-
- private ITmfEvent fEvent;
-
- private class TimestampPropertySource implements IPropertySource {
- private static final String ID_TIMESTAMP_VALUE = "timestamp_value"; //$NON-NLS-1$
- private static final String ID_TIMESTAMP_SCALE = "timestamp_scale"; //$NON-NLS-1$
- private static final String ID_TIMESTAMP_PRECISION = "timestamp_precision"; //$NON-NLS-1$
- private static final String NAME_TIMESTAMP_VALUE = "value"; //$NON-NLS-1$
- private static final String NAME_TIMESTAMP_SCALE = "scale"; //$NON-NLS-1$
- private static final String NAME_TIMESTAMP_PRECISION = "precision"; //$NON-NLS-1$
-
- private ITmfTimestamp fTimestamp;
-
- public TimestampPropertySource(ITmfTimestamp timestamp) {
- fTimestamp = timestamp;
- }
-
- @Override
- public Object getEditableValue() {
- return fTimestamp.toString();
- }
-
- @Override
- public IPropertyDescriptor[] getPropertyDescriptors() {
- IPropertyDescriptor[] descriptors = new IPropertyDescriptor[3];
- descriptors[0] = new ReadOnlyTextPropertyDescriptor(ID_TIMESTAMP_VALUE, NAME_TIMESTAMP_VALUE);
- descriptors[1] = new ReadOnlyTextPropertyDescriptor(ID_TIMESTAMP_SCALE, NAME_TIMESTAMP_SCALE);
- descriptors[2] = new ReadOnlyTextPropertyDescriptor(ID_TIMESTAMP_PRECISION, NAME_TIMESTAMP_PRECISION);
- return descriptors;
- }
-
- @Override
- public Object getPropertyValue(Object id) {
- if (id.equals(ID_TIMESTAMP_VALUE)) {
- return Long.toString(fTimestamp.getValue());
- } else if (id.equals(ID_TIMESTAMP_SCALE)) {
- return Integer.toString(fTimestamp.getScale());
- } else if (id.equals(ID_TIMESTAMP_PRECISION)) {
- return Integer.toString(fTimestamp.getPrecision());
- }
- return null;
- }
-
- @Override
- public boolean isPropertySet(Object id) {
- return false;
- }
-
- @Override
- public void resetPropertyValue(Object id) {
- }
-
- @Override
- public void setPropertyValue(Object id, Object value) {
- }
- }
-
- private class ContentPropertySource implements IPropertySource {
- private ITmfEventField fContent;
-
- public ContentPropertySource(ITmfEventField content) {
- fContent = content;
- }
-
- @Override
- public Object getEditableValue() {
- return fContent.toString();
- }
-
- @Override
- public IPropertyDescriptor[] getPropertyDescriptors() {
- List<IPropertyDescriptor> descriptors = new ArrayList<>(fContent.getFields().size());
- for (ITmfEventField field : fContent.getFields()) {
- if (field != null) {
- descriptors.add(new ReadOnlyTextPropertyDescriptor(field, field.getName()));
- }
- }
- return descriptors.toArray(new IPropertyDescriptor[0]);
- }
-
- @Override
- public Object getPropertyValue(Object id) {
- ITmfEventField field = (ITmfEventField) id;
- if (field.getFields() != null && field.getFields().size() > 0) {
- return new ContentPropertySource(field);
- }
- return field.getFormattedValue();
- }
-
- @Override
- public boolean isPropertySet(Object id) {
- return false;
- }
-
- @Override
- public void resetPropertyValue(Object id) {
- }
-
- @Override
- public void setPropertyValue(Object id, Object value) {
- }
- }
-
- private class SourceLookupPropertySource implements IPropertySource {
-
- private static final String ID_FILE_NAME = "callsite_file"; //$NON-NLS-1$
- private static final String ID_FUNCTION_NAME = "callsite_function"; //$NON-NLS-1$
- private static final String ID_LINE_NUMBER = "callsite_line"; //$NON-NLS-1$
-
- private static final String NAME_FILE_NAME = "File"; //$NON-NLS-1$
- private static final String NAME_FUNCTION_NAME = "Function"; //$NON-NLS-1$
- private static final String NAME_LINE_NUMBER = "Line"; //$NON-NLS-1$
-
- final private ITmfSourceLookup fSourceLookup;
-
- public SourceLookupPropertySource(ITmfSourceLookup lookup) {
- fSourceLookup = lookup;
- }
-
- @Override
- public Object getEditableValue() {
- if (fSourceLookup.getCallsite() != null) {
- return fSourceLookup.getCallsite().toString();
- }
- return null;
- }
-
- @Override
- public IPropertyDescriptor[] getPropertyDescriptors() {
- List<IPropertyDescriptor> descriptors= new ArrayList<>();
- if (fSourceLookup.getCallsite() != null) {
- descriptors.add(new ReadOnlyTextPropertyDescriptor(ID_FILE_NAME, NAME_FILE_NAME));
- descriptors.add(new ReadOnlyTextPropertyDescriptor(ID_LINE_NUMBER, NAME_LINE_NUMBER));
- // only display function if available
- if (fSourceLookup.getCallsite().getFunctionName() != null) {
- descriptors.add(new ReadOnlyTextPropertyDescriptor(ID_FUNCTION_NAME, NAME_FUNCTION_NAME));
- }
- }
- return descriptors.toArray(new IPropertyDescriptor[0]);
- }
-
- @Override
- public Object getPropertyValue(Object id) {
- if (id.equals(ID_FILE_NAME)) {
- return fSourceLookup.getCallsite().getFileName();
- } else if (id.equals(ID_FUNCTION_NAME)) {
- return fSourceLookup.getCallsite().getFunctionName();
- } else if (id.equals(ID_LINE_NUMBER)) {
- return Long.valueOf(fSourceLookup.getCallsite().getLineNumber());
- }
- return null;
- }
-
- @Override
- public boolean isPropertySet(Object id) {
- return false;
- }
-
- @Override
- public void resetPropertyValue(Object id) {
-
- }
-
- @Override
- public void setPropertyValue(Object id, Object value) {
- }
- }
-
- private class CustomAttributePropertySource implements IPropertySource {
-
- private final ITmfCustomAttributes event;
-
- public CustomAttributePropertySource(ITmfCustomAttributes event) {
- this.event = event;
- }
-
- @Override
- public Object getEditableValue() {
- return EMPTY_STRING;
- }
-
- @Override
- public IPropertyDescriptor[] getPropertyDescriptors() {
- List<IPropertyDescriptor> descriptors = new ArrayList<>();
-
- for (String customAttribute : event.listCustomAttributes()) {
- descriptors.add(new ReadOnlyTextPropertyDescriptor(customAttribute, customAttribute));
- }
-
- return descriptors.toArray(new IPropertyDescriptor[0]);
- }
-
- @Override
- public Object getPropertyValue(Object id) {
- return event.getCustomAttribute((String) id);
- }
-
- @Override
- public boolean isPropertySet(Object id) {
- return false;
- }
-
- @Override
- public void resetPropertyValue(Object id) {
- }
-
- @Override
- public void setPropertyValue(Object id, Object value) {
- }
- }
-
- /**
- * Default constructor
- *
- * @param event the event
- */
- public TmfEventPropertySource(ITmfEvent event) {
- super();
- this.fEvent = event;
- }
-
- @Override
- public Object getEditableValue() {
- return null;
- }
-
- @Override
- public IPropertyDescriptor[] getPropertyDescriptors() {
- List<IPropertyDescriptor> descriptors= new ArrayList<>();
-
- /* Display basic event information */
- descriptors.add(new ReadOnlyTextPropertyDescriptor(ID_TIMESTAMP, NAME_TIMESTAMP));
- descriptors.add(new ReadOnlyTextPropertyDescriptor(ID_SOURCE, NAME_SOURCE));
- descriptors.add(new ReadOnlyTextPropertyDescriptor(ID_TYPE, NAME_TYPE));
- descriptors.add(new ReadOnlyTextPropertyDescriptor(ID_REFERENCE, NAME_REFERENCE));
- descriptors.add(new ReadOnlyTextPropertyDescriptor(ID_TRACE, NAME_TRACE));
-
- /* Display event fields */
- descriptors.add(new ReadOnlyTextPropertyDescriptor(ID_CONTENT, NAME_CONTENT));
-
- /* Display source lookup information, if the event supplies it */
- if ((fEvent instanceof ITmfSourceLookup) && (((ITmfSourceLookup)fEvent).getCallsite() != null)) {
- descriptors.add(new ReadOnlyTextPropertyDescriptor(ID_SOURCE_LOOKUP, NAME_SOURCE_LOOKUP));
- }
-
- /* Display Model URI information, if the event supplies it */
- if ((fEvent instanceof ITmfModelLookup) && (((ITmfModelLookup) fEvent).getModelUri() != null)) {
- descriptors.add(new ReadOnlyTextPropertyDescriptor(ID_MODEL_URI, NAME_MODEL_URI));
- }
-
- /* Display custom attributes, if available */
- if (fEvent instanceof ITmfCustomAttributes) {
- ITmfCustomAttributes event = (ITmfCustomAttributes) fEvent;
- if (event.listCustomAttributes() != null && !event.listCustomAttributes().isEmpty()) {
- descriptors.add(new ReadOnlyTextPropertyDescriptor(ID_CUSTOM_ATTRIBUTE, NAME_CUSTOM_ATTRIBUTES));
- }
- }
-
- return descriptors.toArray(new IPropertyDescriptor[0]);
- }
-
- @Override
- public Object getPropertyValue(Object id) {
- if (id.equals(ID_TIMESTAMP) && fEvent.getTimestamp() != null) {
- return new TimestampPropertySource(fEvent.getTimestamp());
- } else if (id.equals(ID_SOURCE) && fEvent.getSource() != null) {
- return fEvent.getSource().toString();
- } else if (id.equals(ID_TYPE) && fEvent.getType() != null) {
- return fEvent.getType().toString();
- } else if (id.equals(ID_REFERENCE) && fEvent.getReference() != null) {
- return fEvent.getReference().toString();
- } else if (id.equals(ID_TRACE) && fEvent.getTrace() != null) {
- return fEvent.getTrace().getName();
- } else if (id.equals(ID_MODEL_URI)) {
- return ((ITmfModelLookup)fEvent).getModelUri();
- } else if (id.equals(ID_SOURCE_LOOKUP)) {
- return new SourceLookupPropertySource(((ITmfSourceLookup)fEvent));
- } else if (id.equals(ID_CONTENT) && fEvent.getContent() != null) {
- return new ContentPropertySource(fEvent.getContent());
- } else if (id.equals(ID_CUSTOM_ATTRIBUTE)) {
- return new CustomAttributePropertySource((ITmfCustomAttributes) fEvent);
- }
- return null;
- }
-
- @Override
- public boolean isPropertySet(Object id) {
- return false;
- }
-
- @Override
- public void resetPropertyValue(Object id) {
- }
-
- @Override
- public void setPropertyValue(Object id, Object value) {
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/viewers/events/TmfEventsCache.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/viewers/events/TmfEventsCache.java
deleted file mode 100644
index 21a4b40d6a..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/viewers/events/TmfEventsCache.java
+++ /dev/null
@@ -1,489 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011, 2014 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:
- * Patrick Tasse - Initial API and implementation
- * Bernd Hufmann - Add support for event collapsing
- ******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.viewers.events;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.core.runtime.jobs.Job;
-import org.eclipse.linuxtools.internal.tmf.core.filter.TmfCollapseFilter;
-import org.eclipse.linuxtools.internal.tmf.ui.Activator;
-import org.eclipse.linuxtools.tmf.core.component.ITmfEventProvider;
-import org.eclipse.linuxtools.tmf.core.event.ITmfEvent;
-import org.eclipse.linuxtools.tmf.core.event.ITmfEventField;
-import org.eclipse.linuxtools.tmf.core.event.ITmfEventType;
-import org.eclipse.linuxtools.tmf.core.filter.ITmfFilter;
-import org.eclipse.linuxtools.tmf.core.request.ITmfEventRequest;
-import org.eclipse.linuxtools.tmf.core.request.TmfEventRequest;
-import org.eclipse.linuxtools.tmf.core.timestamp.ITmfTimestamp;
-import org.eclipse.linuxtools.tmf.core.timestamp.TmfTimeRange;
-import org.eclipse.linuxtools.tmf.core.trace.ITmfTrace;
-
-/**
- * The generic TMF Events table events cache
- *
- * This can help avoid re-reading the trace when the user scrolls a window,
- * for example.
- *
- * @author Patrick Tasse
- */
-public class TmfEventsCache {
-
- /**
- * The generic TMF Events table cached event.
- *
- * @author Patrick Tasse
- */
- public static class CachedEvent implements ITmfEvent {
- /**
- * Event reference.
- *
- * When {@link TmfCollapseFilter} is active then it's event reference
- * of the first event of repeated events.
- */
- ITmfEvent event;
- /**
- * Events rank.
- *
- * When {@link TmfCollapseFilter} is active then it's event rank of the
- * first event of repeated events.
- */
- long rank;
- /**
- * Number times event is repeated. Updated by using {@link TmfCollapseFilter}
- */
- long repeatCount;
-
- /**
- * Constructor for new cached events.
- *
- * @param iTmfEvent
- * The original trace event
- * @param rank
- * The rank of this event in the trace
- */
- public CachedEvent (ITmfEvent iTmfEvent, long rank) {
- this.event = iTmfEvent;
- this.rank = rank;
- }
- /**
- * @since 3.2
- */
- @Override
- public Object getAdapter(Class adapter) {
- return event.getAdapter(adapter);
- }
- /**
- * @since 3.2
- */
- @Override
- public ITmfTrace getTrace() {
- return event.getTrace();
- }
- /**
- * @since 3.2
- */
- @Override
- public long getRank() {
- return event.getRank();
- }
- /**
- * @since 3.2
- */
- @Override
- public ITmfTimestamp getTimestamp() {
- return event.getTimestamp();
- }
- /**
- * @since 3.2
- */
- @Override
- public String getSource() {
- return event.getSource();
- }
- /**
- * @since 3.2
- */
- @Override
- public ITmfEventType getType() {
- return event.getType();
- }
- /**
- * @since 3.2
- */
- @Override
- public ITmfEventField getContent() {
- return event.getContent();
- }
- /**
- * @since 3.2
- */
- @Override
- public String getReference() {
- return event.getReference();
- }
- }
-
- private final CachedEvent[] fCache;
- private final int fCacheSize;
- private int fCacheStartIndex = 0;
- private int fCacheEndIndex = 0;
-
- private ITmfTrace fTrace;
- private final TmfEventsTable fTable;
- private ITmfFilter fFilter;
- private final List<Integer> fFilterIndex = new ArrayList<>(); // contains the event rank at each 'cache size' filtered events
-
- /**
- * Constructor for the event cache
- *
- * @param cacheSize
- * The size of the cache, in number of events
- * @param table
- * The Events table this cache will cover
- */
- public TmfEventsCache(int cacheSize, TmfEventsTable table) {
- fCacheSize = cacheSize;
- fCache = new CachedEvent[cacheSize * 2]; // the cache holds two blocks of cache size
- fTable = table;
- }
-
- /**
- * Assign a new trace to this events cache. This clears the current
- * contents.
- *
- * @param trace
- * The trace to assign.
- */
- public void setTrace(ITmfTrace trace) {
- fTrace = trace;
- clear();
- }
-
- /**
- * Clear the current contents of this cache.
- */
- public synchronized void clear() {
- if (job != null && job.getState() != Job.NONE) {
- job.cancel();
- }
- Arrays.fill(fCache, null);
- fCacheStartIndex = 0;
- fCacheEndIndex = 0;
- fFilterIndex.clear();
- }
-
- /**
- * Apply a filter on this event cache. This clears the current cache
- * contents.
- *
- * @param filter
- * The ITmfFilter to apply.
- */
- public void applyFilter(ITmfFilter filter) {
- fFilter = filter;
- clear();
- }
-
- /**
- * Clear the current filter on this cache. This also clears the current
- * cache contents.
- */
- public void clearFilter() {
- fFilter = null;
- clear();
- }
-
- /**
- * Get an event from the cache. If the cache does not contain the event,
- * a cache population request is triggered.
- *
- * @param index
- * The index of this event in the cache
- * @return The cached event, or 'null' if the event is not in the cache
- */
- public synchronized CachedEvent getEvent(int index) {
- if ((index >= fCacheStartIndex) && (index < fCacheEndIndex)) {
- int i = index - fCacheStartIndex;
- return fCache[i];
- }
- populateCache(index);
- return null;
- }
-
- /**
- * Peek an event in the cache. Does not trigger cache population.
- *
- * @param index
- * Index of the event to peek
- * @return The cached event, or 'null' if the event is not in the cache
- */
- public synchronized CachedEvent peekEvent(int index) {
- if ((index >= fCacheStartIndex) && (index < fCacheEndIndex)) {
- int i = index - fCacheStartIndex;
- return fCache[i];
- }
- return null;
- }
-
- /**
- * Add a trace event to the cache.
- *
- * @param event
- * The original trace event to be cached
- * @param rank
- * The rank of this event in the trace
- * @param index
- * The index this event will occupy in the cache
- */
- public synchronized void storeEvent(ITmfEvent event, long rank, int index) {
- if (index == fCacheEndIndex) {
- int i = index - fCacheStartIndex;
- if (i < fCache.length) {
- fCache[i] = new CachedEvent(event, rank);
- fCacheEndIndex++;
- }
- }
- if ((fFilter != null) && ((index % fCacheSize) == 0)) {
- int i = index / fCacheSize;
- fFilterIndex.add(i, Integer.valueOf((int) rank));
- }
- }
-
- /**
- * Update event repeat count at index
- *
- * @param index
- * The index this event occupies in the cache
- *
- * @since 3.2
- */
- public synchronized void updateCollapsedEvent(int index) {
- int i = index - fCacheStartIndex;
- if (i < fCache.length) {
- fCache[i].repeatCount++;
- }
- }
-
- /**
- * Get the cache index of an event from his rank in the trace. This will
- * take in consideration any filter that might be applied.
- *
- * @param rank
- * The rank of the event in the trace
- * @return The position (index) this event should use once cached
- */
- public int getFilteredEventIndex(final long rank) {
- int current;
- int startRank;
- TmfEventRequest request;
- final ITmfFilter filter = fFilter;
- synchronized (this) {
- int start = 0;
- int end = fFilterIndex.size();
-
- if ((fCacheEndIndex - fCacheStartIndex) > 1) {
- if (rank < fCache[0].rank) {
- end = (fCacheStartIndex / fCacheSize) + 1;
- } else if (rank > fCache[fCacheEndIndex - fCacheStartIndex - 1].rank) {
- start = fCacheEndIndex / fCacheSize;
- } else {
- for (int i = 0; i < (fCacheEndIndex - fCacheStartIndex); i++) {
- if (fCache[i].rank >= rank) {
- return fCacheStartIndex + i;
- }
- }
- return fCacheEndIndex;
- }
- }
-
- current = (start + end) / 2;
- while (current != start) {
- if (rank < fFilterIndex.get(current)) {
- end = current;
- current = (start + end) / 2;
- } else {
- start = current;
- current = (start + end) / 2;
- }
- }
- startRank = fFilterIndex.size() > 0 ? fFilterIndex.get(current) : 0;
- }
-
- final int index = current * fCacheSize;
-
- class DataRequest extends TmfEventRequest {
- ITmfFilter requestFilter;
- int requestRank;
- int requestIndex;
-
- DataRequest(Class<? extends ITmfEvent> dataType, ITmfFilter reqFilter, int start, int nbRequested) {
- super(dataType, TmfTimeRange.ETERNITY, start, nbRequested,
- TmfEventRequest.ExecutionType.FOREGROUND);
- requestFilter = reqFilter;
- requestRank = start;
- requestIndex = index;
- }
-
- @Override
- public void handleData(ITmfEvent event) {
- super.handleData(event);
- if (isCancelled()) {
- return;
- }
- if (requestRank >= rank) {
- cancel();
- return;
- }
- requestRank++;
- if (requestFilter.matches(event)) {
- requestIndex++;
- }
- }
-
- public int getFilteredIndex() {
- return requestIndex;
- }
- }
-
- request = new DataRequest(ITmfEvent.class, filter, startRank, ITmfEventRequest.ALL_DATA);
- ((ITmfEventProvider) fTrace).sendRequest(request);
- try {
- request.waitForCompletion();
- return ((DataRequest) request).getFilteredIndex();
- } catch (InterruptedException e) {
- Activator.getDefault().logError("Filter request interrupted!", e); //$NON-NLS-1$
- }
- return 0;
- }
-
- // ------------------------------------------------------------------------
- // Event cache population
- // ------------------------------------------------------------------------
-
- // The event fetching job
- private Job job;
- private synchronized void populateCache(final int index) {
-
- /* Check if the current job will fetch the requested event:
- * 1. The job must exist
- * 2. It must be running (i.e. not completed)
- * 3. The requested index must be within the cache range
- *
- * If the job meets these conditions, we simply exit.
- * Otherwise, we create a new job but we might have to cancel
- * an existing job for an obsolete range.
- */
- if (job != null) {
- if (job.getState() != Job.NONE) {
- if ((index >= fCacheStartIndex) && (index < (fCacheStartIndex + fCache.length))) {
- return;
- }
- // The new index is out of the requested range
- // Kill the job and start a new one
- job.cancel();
- }
- }
-
- // Populate the cache starting at the index that is one block less
- // of cache size than the requested index. The cache will hold two
- // consecutive blocks of cache size, centered on the requested index.
- fCacheStartIndex = Math.max(0, index - fCacheSize);
- fCacheEndIndex = fCacheStartIndex;
-
- job = new Job("Fetching Events") { //$NON-NLS-1$
- private int startIndex = fCacheStartIndex;
- private int skipCount = 0;
- @Override
- protected IStatus run(final IProgressMonitor monitor) {
-
- int nbRequested;
- if (fFilter == null) {
- nbRequested = fCache.length;
- } else {
- nbRequested = ITmfEventRequest.ALL_DATA;
- int i = startIndex / fCacheSize;
- if (i < fFilterIndex.size()) {
- skipCount = startIndex - (i * fCacheSize);
- startIndex = fFilterIndex.get(i);
- }
- }
-
- TmfEventRequest request = new TmfEventRequest(ITmfEvent.class,
- TmfTimeRange.ETERNITY,
- startIndex,
- nbRequested,
- TmfEventRequest.ExecutionType.FOREGROUND) {
- private int count = 0;
- private long rank = startIndex;
- @Override
- public void handleData(ITmfEvent event) {
- // If the job is canceled, cancel the request so waitForCompletion() will unlock
- if (monitor.isCanceled()) {
- cancel();
- return;
- }
- super.handleData(event);
- if (((fFilter == null) || fFilter.matches(event)) && (skipCount-- <= 0)) {
- synchronized (TmfEventsCache.this) {
- if (monitor.isCanceled()) {
- return;
- }
- fCache[count] = new CachedEvent(event, rank);
- count++;
- fCacheEndIndex++;
- }
- if (fFilter != null) {
- fTable.cacheUpdated(false);
- }
- } else if (((fFilter != null) && !fFilter.matches(event)) && (skipCount <= 0)) { // TODO fix duplicated call to matches()
- if ((count > 0) && (fFilter instanceof TmfCollapseFilter)) {
- fCache[count - 1].repeatCount++;
- }
- }
- if (count >= fCache.length) {
- cancel();
- } else if ((fFilter != null) && (count >= (fTable.getTable().getItemCount() - 3))) { // -1 for header row, -2 for top and bottom filter status rows
- cancel();
- }
- rank++;
- }
- };
-
- ((ITmfEventProvider) fTrace).sendRequest(request);
- try {
- request.waitForCompletion();
- } catch (InterruptedException e) {
- Activator.getDefault().logError("Wait for completion interrupted for populateCache ", e); //$NON-NLS-1$
- }
-
- fTable.cacheUpdated(true);
-
- // Flag the UI thread that the cache is ready
- if (monitor.isCanceled()) {
- return Status.CANCEL_STATUS;
- }
- return Status.OK_STATUS;
- }
- };
- //job.setSystem(true);
- job.setPriority(Job.SHORT);
- job.schedule();
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/viewers/events/TmfEventsTable.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/viewers/events/TmfEventsTable.java
deleted file mode 100644
index 9fbaeff9ef..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/viewers/events/TmfEventsTable.java
+++ /dev/null
@@ -1,2553 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010, 2015 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, replaced Table by TmfVirtualTable
- * Patrick Tasse - Factored out from events view,
- * Filter implementation (inspired by www.eclipse.org/mat)
- * Ansgar Radermacher - Support navigation to model URIs (Bug 396956)
- * Bernd Hufmann - Updated call site and model URI implementation
- * Alexandre Montplaisir - Update to new column API
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.viewers.events;
-
-import java.io.FileNotFoundException;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.HashMap;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Map.Entry;
-import java.util.regex.Pattern;
-import java.util.regex.PatternSyntaxException;
-
-import org.eclipse.core.commands.Command;
-import org.eclipse.core.commands.ExecutionException;
-import org.eclipse.core.commands.NotEnabledException;
-import org.eclipse.core.commands.NotHandledException;
-import org.eclipse.core.commands.ParameterizedCommand;
-import org.eclipse.core.commands.common.NotDefinedException;
-import org.eclipse.core.expressions.IEvaluationContext;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IResourceVisitor;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.ListenerList;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.core.runtime.jobs.Job;
-import org.eclipse.emf.common.util.URI;
-import org.eclipse.emf.ecore.EValidator;
-import org.eclipse.jdt.annotation.NonNull;
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.action.IMenuListener;
-import org.eclipse.jface.action.IMenuManager;
-import org.eclipse.jface.action.IStatusLineManager;
-import org.eclipse.jface.action.MenuManager;
-import org.eclipse.jface.action.Separator;
-import org.eclipse.jface.dialogs.InputDialog;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.resource.FontDescriptor;
-import org.eclipse.jface.resource.JFaceResources;
-import org.eclipse.jface.resource.LocalResourceManager;
-import org.eclipse.jface.util.OpenStrategy;
-import org.eclipse.jface.util.SafeRunnable;
-import org.eclipse.jface.viewers.ArrayContentProvider;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.ISelectionChangedListener;
-import org.eclipse.jface.viewers.ISelectionProvider;
-import org.eclipse.jface.viewers.LabelProvider;
-import org.eclipse.jface.viewers.SelectionChangedEvent;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.jface.window.Window;
-import org.eclipse.linuxtools.internal.tmf.core.filter.TmfCollapseFilter;
-import org.eclipse.linuxtools.internal.tmf.ui.Activator;
-import org.eclipse.linuxtools.internal.tmf.ui.Messages;
-import org.eclipse.linuxtools.internal.tmf.ui.commands.ExportToTextCommandHandler;
-import org.eclipse.linuxtools.internal.tmf.ui.dialogs.MultiLineInputDialog;
-import org.eclipse.linuxtools.tmf.core.component.ITmfEventProvider;
-import org.eclipse.linuxtools.tmf.core.component.TmfComponent;
-import org.eclipse.linuxtools.tmf.core.event.ITmfEvent;
-import org.eclipse.linuxtools.tmf.core.event.collapse.ITmfCollapsibleEvent;
-import org.eclipse.linuxtools.tmf.core.event.lookup.ITmfCallsite;
-import org.eclipse.linuxtools.tmf.core.event.lookup.ITmfModelLookup;
-import org.eclipse.linuxtools.tmf.core.event.lookup.ITmfSourceLookup;
-import org.eclipse.linuxtools.tmf.core.filter.ITmfFilter;
-import org.eclipse.linuxtools.tmf.core.filter.model.ITmfFilterTreeNode;
-import org.eclipse.linuxtools.tmf.core.filter.model.TmfFilterAndNode;
-import org.eclipse.linuxtools.tmf.core.filter.model.TmfFilterMatchesNode;
-import org.eclipse.linuxtools.tmf.core.filter.model.TmfFilterNode;
-import org.eclipse.linuxtools.tmf.core.request.ITmfEventRequest.ExecutionType;
-import org.eclipse.linuxtools.tmf.core.request.TmfEventRequest;
-import org.eclipse.linuxtools.tmf.core.signal.TmfEventFilterAppliedSignal;
-import org.eclipse.linuxtools.tmf.core.signal.TmfEventSearchAppliedSignal;
-import org.eclipse.linuxtools.tmf.core.signal.TmfEventSelectedSignal;
-import org.eclipse.linuxtools.tmf.core.signal.TmfSignalHandler;
-import org.eclipse.linuxtools.tmf.core.signal.TmfTimeSynchSignal;
-import org.eclipse.linuxtools.tmf.core.signal.TmfTraceUpdatedSignal;
-import org.eclipse.linuxtools.tmf.core.timestamp.ITmfTimestamp;
-import org.eclipse.linuxtools.tmf.core.timestamp.TmfTimeRange;
-import org.eclipse.linuxtools.tmf.core.timestamp.TmfTimestamp;
-import org.eclipse.linuxtools.tmf.core.trace.ITmfContext;
-import org.eclipse.linuxtools.tmf.core.trace.ITmfTrace;
-import org.eclipse.linuxtools.tmf.core.trace.TmfTraceManager;
-import org.eclipse.linuxtools.tmf.core.trace.location.ITmfLocation;
-import org.eclipse.linuxtools.tmf.ui.viewers.events.TmfEventsCache.CachedEvent;
-import org.eclipse.linuxtools.tmf.ui.viewers.events.columns.TmfEventTableColumn;
-import org.eclipse.linuxtools.tmf.ui.viewers.events.columns.TmfEventTableFieldColumn;
-import org.eclipse.linuxtools.tmf.ui.views.colors.ColorSetting;
-import org.eclipse.linuxtools.tmf.ui.views.colors.ColorSettingsManager;
-import org.eclipse.linuxtools.tmf.ui.views.colors.IColorSettingsListener;
-import org.eclipse.linuxtools.tmf.ui.views.filter.FilterManager;
-import org.eclipse.linuxtools.tmf.ui.widgets.rawviewer.TmfRawEventViewer;
-import org.eclipse.linuxtools.tmf.ui.widgets.virtualtable.TmfVirtualTable;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.SashForm;
-import org.eclipse.swt.custom.TableEditor;
-import org.eclipse.swt.events.FocusAdapter;
-import org.eclipse.swt.events.FocusEvent;
-import org.eclipse.swt.events.KeyAdapter;
-import org.eclipse.swt.events.KeyEvent;
-import org.eclipse.swt.events.MouseAdapter;
-import org.eclipse.swt.events.MouseEvent;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.graphics.Font;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.graphics.Rectangle;
-import org.eclipse.swt.layout.FillLayout;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Listener;
-import org.eclipse.swt.widgets.Menu;
-import org.eclipse.swt.widgets.MessageBox;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.TableColumn;
-import org.eclipse.swt.widgets.TableItem;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.commands.ICommandService;
-import org.eclipse.ui.dialogs.ListDialog;
-import org.eclipse.ui.handlers.IHandlerService;
-import org.eclipse.ui.ide.IDE;
-import org.eclipse.ui.ide.IGotoMarker;
-import org.eclipse.ui.themes.ColorUtil;
-
-import com.google.common.base.Joiner;
-import com.google.common.collect.HashMultimap;
-import com.google.common.collect.ImmutableList;
-import com.google.common.collect.Multimap;
-
-/**
- * The generic TMF Events table
- *
- * This is a view that will list events that are read from a trace.
- *
- * @author Francois Chouinard
- * @author Patrick Tasse
- * @since 2.0
- */
-public class TmfEventsTable extends TmfComponent implements IGotoMarker, IColorSettingsListener, ISelectionProvider {
-
- /**
- * Empty string array, used by {@link #getItemStrings}.
- * @since 3.0
- */
- protected static final @NonNull String[] EMPTY_STRING_ARRAY = new String[0];
-
- /**
- * Empty string
- * @since 3.1
- */
- protected static final @NonNull String EMPTY_STRING = ""; //$NON-NLS-1$
-
- private static final boolean IS_LINUX = System.getProperty("os.name").contains("Linux") ? true : false; //$NON-NLS-1$ //$NON-NLS-2$
-
- private static final Image BOOKMARK_IMAGE = Activator.getDefault().getImageFromPath(
- "icons/elcl16/bookmark_obj.gif"); //$NON-NLS-1$
- private static final Image SEARCH_IMAGE = Activator.getDefault().getImageFromPath("icons/elcl16/search.gif"); //$NON-NLS-1$
- private static final Image SEARCH_MATCH_IMAGE = Activator.getDefault().getImageFromPath(
- "icons/elcl16/search_match.gif"); //$NON-NLS-1$
- private static final Image SEARCH_MATCH_BOOKMARK_IMAGE = Activator.getDefault().getImageFromPath(
- "icons/elcl16/search_match_bookmark.gif"); //$NON-NLS-1$
- private static final Image FILTER_IMAGE = Activator.getDefault()
- .getImageFromPath("icons/elcl16/filter_items.gif"); //$NON-NLS-1$
- private static final Image STOP_IMAGE = Activator.getDefault().getImageFromPath("icons/elcl16/stop.gif"); //$NON-NLS-1$
- private static final String SEARCH_HINT = Messages.TmfEventsTable_SearchHint;
- private static final String FILTER_HINT = Messages.TmfEventsTable_FilterHint;
- private static final int MAX_CACHE_SIZE = 1000;
-
- private static final int MARGIN_COLUMN_INDEX = 0;
- private static final int FILTER_SUMMARY_INDEX = 1;
- private static final int EVENT_COLUMNS_START_INDEX = MARGIN_COLUMN_INDEX + 1;
-
- /**
- * Default set of columns to use for trace types that do not specify
- * anything
- * @since 3.2
- */
- public static final Collection<TmfEventTableColumn> DEFAULT_COLUMNS = ImmutableList.of(
- TmfEventTableColumn.BaseColumns.TIMESTAMP,
- TmfEventTableColumn.BaseColumns.SOURCE,
- TmfEventTableColumn.BaseColumns.EVENT_TYPE,
- TmfEventTableColumn.BaseColumns.REFERENCE,
- TmfEventTableColumn.BaseColumns.CONTENTS
- );
-
- /**
- * The events table search/filter keys
- *
- * @version 1.0
- * @author Patrick Tasse
- */
- public interface Key {
- /** Search text */
- String SEARCH_TXT = "$srch_txt"; //$NON-NLS-1$
-
- /** Search object */
- String SEARCH_OBJ = "$srch_obj"; //$NON-NLS-1$
-
- /** Filter text */
- String FILTER_TXT = "$fltr_txt"; //$NON-NLS-1$
-
- /** Filter object */
- String FILTER_OBJ = "$fltr_obj"; //$NON-NLS-1$
-
- /** Timestamp */
- String TIMESTAMP = "$time"; //$NON-NLS-1$
-
- /** Rank */
- String RANK = "$rank"; //$NON-NLS-1$
-
- /** Field ID */
- String FIELD_ID = "$field_id"; //$NON-NLS-1$
-
- /** Bookmark indicator */
- String BOOKMARK = "$bookmark"; //$NON-NLS-1$
- }
-
- /**
- * The events table search/filter state
- *
- * @version 1.0
- * @author Patrick Tasse
- */
- public static enum HeaderState {
- /** A search is being run */
- SEARCH,
-
- /** A filter is applied */
- FILTER
- }
-
- interface Direction {
- int FORWARD = +1;
- int BACKWARD = -1;
- }
-
- // ------------------------------------------------------------------------
- // Table data
- // ------------------------------------------------------------------------
-
- /** The virtual event table */
- protected TmfVirtualTable fTable;
-
- private Composite fComposite;
- private SashForm fSashForm;
- private TmfRawEventViewer fRawViewer;
- private ITmfTrace fTrace;
- volatile private boolean fPackDone = false;
- private HeaderState fHeaderState = HeaderState.SEARCH;
- private long fSelectedRank = 0;
- private ITmfTimestamp fSelectedBeginTimestamp = null;
- private IStatusLineManager fStatusLineManager = null;
-
- // Filter data
- private long fFilterMatchCount;
- private long fFilterCheckCount;
- private FilterThread fFilterThread;
- private boolean fFilterThreadResume = false;
- private final Object fFilterSyncObj = new Object();
- private SearchThread fSearchThread;
- private final Object fSearchSyncObj = new Object();
-
- /**
- * List of selection change listeners (element type: <code>ISelectionChangedListener</code>).
- *
- * @see #fireSelectionChanged
- */
- private ListenerList selectionChangedListeners = new ListenerList();
-
- // Bookmark map <Rank, MarkerId>
- private Multimap<Long, Long> fBookmarksMap = HashMultimap.create();
- private IFile fBookmarksFile;
- private long fPendingGotoRank = -1;
-
- // SWT resources
- private LocalResourceManager fResourceManager = new LocalResourceManager(JFaceResources.getResources());
- private Color fGrayColor;
- private Color fGreenColor;
- private Font fBoldFont;
-
- private final List<TmfEventTableColumn> fColumns = new LinkedList<>();
-
- // Event cache
- private final TmfEventsCache fCache;
- private boolean fCacheUpdateBusy = false;
- private boolean fCacheUpdatePending = false;
- private boolean fCacheUpdateCompleted = false;
- private final Object fCacheUpdateSyncObj = new Object();
-
- private boolean fDisposeOnClose;
-
- // ------------------------------------------------------------------------
- // Constructors
- // ------------------------------------------------------------------------
-
- /**
- * Basic constructor, using the default set of columns
- *
- * @param parent
- * The parent composite UI object
- * @param cacheSize
- * The size of the event table cache
- */
- public TmfEventsTable(final Composite parent, final int cacheSize) {
- this(parent, cacheSize, DEFAULT_COLUMNS);
- }
-
- /**
- * Legacy constructor, using ColumnData to define columns
- *
- * @param parent
- * The parent composite UI object
- * @param cacheSize
- * The size of the event table cache
- * @param columnData
- * Unused
- * @deprecated Deprecated constructor, use
- * {@link #TmfEventsTable(Composite, int, Collection)}
- */
- @Deprecated
- public TmfEventsTable(final Composite parent, int cacheSize,
- final org.eclipse.linuxtools.tmf.ui.widgets.virtualtable.ColumnData[] columnData) {
- /*
- * We'll do a "best-effort" to keep trace types still using this API to
- * keep working, by defining a TmfEventTableFieldColumn for each
- * ColumnData they passed.
- */
- this(parent, cacheSize, convertFromColumnData(columnData));
- }
-
- @Deprecated
- private static Collection<TmfEventTableColumn> convertFromColumnData(
- org.eclipse.linuxtools.tmf.ui.widgets.virtualtable.ColumnData[] columnData) {
-
- ImmutableList.Builder<TmfEventTableColumn> builder = new ImmutableList.Builder<>();
- for (org.eclipse.linuxtools.tmf.ui.widgets.virtualtable.ColumnData col : columnData) {
- String header = col.header;
- if (header != null) {
- builder.add(new TmfEventTableFieldColumn(header));
- }
- }
- return builder.build();
- }
-
- /**
- * Standard constructor, where we define which columns to use.
- *
- * @param parent
- * The parent composite UI object
- * @param cacheSize
- * The size of the event table cache
- * @param columns
- * The columns to use in this table.
- * <p>
- * The iteration order of this collection will correspond to the
- * initial ordering of this series of columns in the table.
- * </p>
- * @since 3.1
- */
- public TmfEventsTable(final Composite parent, int cacheSize,
- Collection<? extends TmfEventTableColumn> columns) {
- super("TmfEventsTable"); //$NON-NLS-1$
-
- fComposite = new Composite(parent, SWT.NONE);
- final GridLayout gl = new GridLayout(1, false);
- gl.marginHeight = 0;
- gl.marginWidth = 0;
- gl.verticalSpacing = 0;
- fComposite.setLayout(gl);
-
- fSashForm = new SashForm(fComposite, SWT.HORIZONTAL);
- fSashForm.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
-
- // Create a virtual table
- final int style = SWT.H_SCROLL | SWT.V_SCROLL | SWT.MULTI | SWT.FULL_SELECTION;
- fTable = new TmfVirtualTable(fSashForm, style);
-
- // Set the table layout
- final GridData layoutData = new GridData(SWT.FILL, SWT.FILL, true, true);
- fTable.setLayoutData(layoutData);
-
- // Some cosmetic enhancements
- fTable.setHeaderVisible(true);
- fTable.setLinesVisible(true);
-
- // Setup the columns
- if (columns != null) {
- fColumns.addAll(columns);
- }
-
- TmfMarginColumn collapseCol = new TmfMarginColumn();
- fColumns.add(MARGIN_COLUMN_INDEX, collapseCol);
-
- // Create the UI columns in the table
- for (TmfEventTableColumn col : fColumns) {
- TableColumn column = fTable.newTableColumn(SWT.LEFT);
- column.setText(col.getHeaderName());
- column.setToolTipText(col.getHeaderTooltip());
- column.setData(Key.FIELD_ID, col.getFilterFieldId());
- column.pack();
- if (col instanceof TmfMarginColumn) {
- column.setResizable(false);
- }
- }
-
- // Set the frozen row for header row
- fTable.setFrozenRowCount(1);
-
- // Create the header row cell editor
- createHeaderEditor();
-
- // Handle the table item selection
- fTable.addSelectionListener(new SelectionAdapter() {
- @Override
- public void widgetSelected(final SelectionEvent e) {
- if (e.item == null) {
- return;
- }
- updateStatusLine(null);
- if (fTable.getSelectionIndices().length > 0) {
- if (e.item.getData(Key.RANK) instanceof Long) {
- fSelectedRank = (Long) e.item.getData(Key.RANK);
- fRawViewer.selectAndReveal((Long) e.item.getData(Key.RANK));
- }
- if (e.item.getData(Key.TIMESTAMP) instanceof ITmfTimestamp) {
- final ITmfTimestamp ts = (ITmfTimestamp) e.item.getData(Key.TIMESTAMP);
- if (fTable.getSelectionIndices().length == 1) {
- fSelectedBeginTimestamp = ts;
- }
- if (fSelectedBeginTimestamp != null) {
- if (fSelectedBeginTimestamp.compareTo(ts) <= 0) {
- broadcast(new TmfTimeSynchSignal(TmfEventsTable.this, fSelectedBeginTimestamp, ts));
- if (fTable.getSelectionIndices().length == 2) {
- updateStatusLine(ts.getDelta(fSelectedBeginTimestamp));
- }
- } else {
- broadcast(new TmfTimeSynchSignal(TmfEventsTable.this, ts, fSelectedBeginTimestamp));
- updateStatusLine(fSelectedBeginTimestamp.getDelta(ts));
- }
- }
- } else {
- if (fTable.getSelectionIndices().length == 1) {
- fSelectedBeginTimestamp = null;
- }
- }
- }
- if (e.item.getData() instanceof ITmfEvent) {
- broadcast(new TmfEventSelectedSignal(TmfEventsTable.this, (ITmfEvent) e.item.getData()));
- fireSelectionChanged(new SelectionChangedEvent(TmfEventsTable.this, new StructuredSelection(e.item.getData())));
- } else {
- fireSelectionChanged(new SelectionChangedEvent(TmfEventsTable.this, StructuredSelection.EMPTY));
- }
- }
- });
-
- int realCacheSize = Math.max(cacheSize, Display.getDefault().getBounds().height / fTable.getItemHeight());
- realCacheSize = Math.min(realCacheSize, MAX_CACHE_SIZE);
- fCache = new TmfEventsCache(realCacheSize, this);
-
- // Handle the table item requests
- fTable.addListener(SWT.SetData, new Listener() {
-
- @Override
- public void handleEvent(final Event event) {
-
- final TableItem item = (TableItem) event.item;
- int index = event.index - 1; // -1 for the header row
-
- if (event.index == 0) {
- setHeaderRowItemData(item);
- return;
- }
-
- if (fTable.getData(Key.FILTER_OBJ) != null) {
- if ((event.index == 1) || (event.index == (fTable.getItemCount() - 1))) {
- setFilterStatusRowItemData(item);
- return;
- }
- index = index - 1; // -1 for top filter status row
- }
-
- final CachedEvent cachedEvent = fCache.getEvent(index);
- if (cachedEvent != null) {
- setItemData(item, cachedEvent, cachedEvent.rank);
- return;
- }
-
- // Else, fill the cache asynchronously (and off the UI thread)
- event.doit = false;
- }
- });
-
- fTable.addMouseListener(new MouseAdapter() {
- @Override
- public void mouseDoubleClick(final MouseEvent event) {
- if (event.button != 1) {
- return;
- }
- // Identify the selected row
- final Point point = new Point(event.x, event.y);
- final TableItem item = fTable.getItem(point);
- if (item != null) {
- final Rectangle imageBounds = item.getImageBounds(0);
- imageBounds.width = BOOKMARK_IMAGE.getBounds().width;
- if (imageBounds.contains(point)) {
- final Long rank = (Long) item.getData(Key.RANK);
- if (rank != null) {
- toggleBookmark(rank);
- }
- }
- }
- }
- });
-
- final Listener tooltipListener = new Listener () {
- Shell tooltipShell = null;
- @Override
- public void handleEvent(final Event event) {
- switch (event.type) {
- case SWT.MouseHover:
- final TableItem item = fTable.getItem(new Point(event.x, event.y));
- if (item == null) {
- return;
- }
- final Long rank = (Long) item.getData(Key.RANK);
- if (rank == null) {
- return;
- }
- final String tooltipText = (String) item.getData(Key.BOOKMARK);
- final Rectangle bounds = item.getImageBounds(0);
- bounds.width = BOOKMARK_IMAGE.getBounds().width;
- if (!bounds.contains(event.x,event.y)) {
- return;
- }
- if ((tooltipShell != null) && !tooltipShell.isDisposed()) {
- tooltipShell.dispose();
- }
- tooltipShell = new Shell(fTable.getShell(), SWT.ON_TOP | SWT.NO_FOCUS | SWT.TOOL);
- tooltipShell.setBackground(PlatformUI.getWorkbench().getDisplay().getSystemColor(SWT.COLOR_INFO_BACKGROUND));
- final FillLayout layout = new FillLayout();
- layout.marginWidth = 2;
- tooltipShell.setLayout(layout);
- final Label label = new Label(tooltipShell, SWT.WRAP);
- String text = rank.toString() + (tooltipText != null ? ": " + tooltipText : EMPTY_STRING); //$NON-NLS-1$
- label.setForeground(PlatformUI.getWorkbench().getDisplay().getSystemColor(SWT.COLOR_INFO_FOREGROUND));
- label.setBackground(PlatformUI.getWorkbench().getDisplay().getSystemColor(SWT.COLOR_INFO_BACKGROUND));
- label.setText(text);
- label.addListener(SWT.MouseExit, this);
- label.addListener(SWT.MouseDown, this);
- label.addListener(SWT.MouseWheel, this);
- final Point size = tooltipShell.computeSize(SWT.DEFAULT, SWT.DEFAULT);
- /*
- * Bug in Linux. The coordinates of the event have an origin that excludes the table header but
- * the method toDisplay() expects coordinates relative to an origin that includes the table header.
- */
- int y = event.y;
- if (IS_LINUX) {
- y += fTable.getHeaderHeight();
- }
- Point pt = fTable.toDisplay(event.x, y);
- pt.x += BOOKMARK_IMAGE.getBounds().width;
- pt.y += item.getBounds().height;
- tooltipShell.setBounds(pt.x, pt.y, size.x, size.y);
- tooltipShell.setVisible(true);
- break;
- case SWT.Dispose:
- case SWT.KeyDown:
- case SWT.MouseMove:
- case SWT.MouseExit:
- case SWT.MouseDown:
- case SWT.MouseWheel:
- if (tooltipShell != null) {
- tooltipShell.dispose();
- tooltipShell = null;
- }
- break;
- default:
- break;
- }
- }
- };
-
- fTable.addListener(SWT.MouseHover, tooltipListener);
- fTable.addListener(SWT.Dispose, tooltipListener);
- fTable.addListener(SWT.KeyDown, tooltipListener);
- fTable.addListener(SWT.MouseMove, tooltipListener);
- fTable.addListener(SWT.MouseExit, tooltipListener);
- fTable.addListener(SWT.MouseDown, tooltipListener);
- fTable.addListener(SWT.MouseWheel, tooltipListener);
-
- // Create resources
- createResources();
-
- ColorSettingsManager.addColorSettingsListener(this);
-
- fTable.setItemCount(1); // +1 for header row
-
- fRawViewer = new TmfRawEventViewer(fSashForm, SWT.H_SCROLL | SWT.V_SCROLL);
-
- fRawViewer.addSelectionListener(new Listener() {
- @Override
- public void handleEvent(final Event e) {
- if (e.data instanceof Long) {
- final long rank = (Long) e.data;
- int index = (int) rank;
- if (fTable.getData(Key.FILTER_OBJ) != null) {
- index = fCache.getFilteredEventIndex(rank) + 1; // +1 for top filter status row
- }
- fTable.setSelection(index + 1); // +1 for header row
- fSelectedRank = rank;
- updateStatusLine(null);
- } else if (e.data instanceof ITmfLocation) {
- // DOES NOT WORK: rank undefined in context from seekLocation()
- // ITmfLocation<?> location = (ITmfLocation<?>) e.data;
- // TmfContext context = fTrace.seekLocation(location);
- // fTable.setSelection((int) context.getRank());
- return;
- } else {
- return;
- }
- final TableItem[] selection = fTable.getSelection();
- if ((selection != null) && (selection.length > 0)) {
- TableItem item = fTable.getSelection()[0];
- final TmfTimestamp ts = (TmfTimestamp) item.getData(Key.TIMESTAMP);
- if (ts != null) {
- broadcast(new TmfTimeSynchSignal(TmfEventsTable.this, ts));
- }
- if (item.getData() instanceof ITmfEvent) {
- broadcast(new TmfEventSelectedSignal(TmfEventsTable.this, (ITmfEvent) item.getData()));
- fireSelectionChanged(new SelectionChangedEvent(TmfEventsTable.this, new StructuredSelection(item.getData())));
- } else {
- fireSelectionChanged(new SelectionChangedEvent(TmfEventsTable.this, StructuredSelection.EMPTY));
- }
- }
- }
- });
-
- fSashForm.setWeights(new int[] { 1, 1 });
- fRawViewer.setVisible(false);
-
- createPopupMenu();
- }
-
- // ------------------------------------------------------------------------
- // Operations
- // ------------------------------------------------------------------------
-
- /**
- * Create a pop-up menu.
- */
- protected void createPopupMenu() {
- final IAction showTableAction = new Action(Messages.TmfEventsTable_ShowTableActionText) {
- @Override
- public void run() {
- fTable.setVisible(true);
- fSashForm.layout();
- }
- };
-
- final IAction hideTableAction = new Action(Messages.TmfEventsTable_HideTableActionText) {
- @Override
- public void run() {
- fTable.setVisible(false);
- fSashForm.layout();
- }
- };
-
- final IAction showRawAction = new Action(Messages.TmfEventsTable_ShowRawActionText) {
- @Override
- public void run() {
- fRawViewer.setVisible(true);
- fSashForm.layout();
- final int index = fTable.getSelectionIndex();
- if (index >= 1) {
- fRawViewer.selectAndReveal(index - 1);
- }
- }
- };
-
- final IAction hideRawAction = new Action(Messages.TmfEventsTable_HideRawActionText) {
- @Override
- public void run() {
- fRawViewer.setVisible(false);
- fSashForm.layout();
- }
- };
-
- final IAction openCallsiteAction = new Action(Messages.TmfEventsTable_OpenSourceCodeActionText) {
- @Override
- public void run() {
- final TableItem items[] = fTable.getSelection();
- if (items.length != 1) {
- return;
- }
- final TableItem item = items[0];
-
- final Object data = item.getData();
- if (data instanceof ITmfSourceLookup) {
- ITmfSourceLookup event = (ITmfSourceLookup) data;
- ITmfCallsite cs = event.getCallsite();
- if (cs == null || cs.getFileName() == null) {
- return;
- }
- IMarker marker = null;
- try {
- String fileName = cs.getFileName();
- final String trimmedPath = fileName.replaceAll("\\.\\./", EMPTY_STRING); //$NON-NLS-1$
- final ArrayList<IFile> files = new ArrayList<>();
- ResourcesPlugin.getWorkspace().getRoot().accept(new IResourceVisitor() {
- @Override
- public boolean visit(IResource resource) throws CoreException {
- if (resource instanceof IFile && resource.getFullPath().toString().endsWith(trimmedPath)) {
- files.add((IFile) resource);
- }
- return true;
- }
- });
- IFile file = null;
- if (files.size() > 1) {
- ListDialog dialog = new ListDialog(getTable().getShell());
- dialog.setContentProvider(ArrayContentProvider.getInstance());
- dialog.setLabelProvider(new LabelProvider() {
- @Override
- public String getText(Object element) {
- return ((IFile) element).getFullPath().toString();
- }
- });
- dialog.setInput(files);
- dialog.setTitle(Messages.TmfEventsTable_OpenSourceCodeSelectFileDialogTitle);
- dialog.setMessage(Messages.TmfEventsTable_OpenSourceCodeSelectFileDialogTitle + '\n' + cs.toString());
- dialog.open();
- Object[] result = dialog.getResult();
- if (result != null && result.length > 0) {
- file = (IFile) result[0];
- }
- } else if (files.size() == 1) {
- file = files.get(0);
- }
- if (file != null) {
- marker = file.createMarker(IMarker.MARKER);
- marker.setAttribute(IMarker.LINE_NUMBER, Long.valueOf(cs.getLineNumber()).intValue());
- IDE.openEditor(PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage(), marker);
- marker.delete();
- } else if (files.size() == 0){
- displayException(new FileNotFoundException('\'' + cs.toString() + '\'' + '\n' + Messages.TmfEventsTable_OpenSourceCodeNotFound));
- }
- } catch (CoreException e) {
- displayException(e);
- }
- }
- }
- };
-
- final IAction openModelAction = new Action(Messages.TmfEventsTable_OpenModelActionText) {
- @Override
- public void run() {
-
- final TableItem items[] = fTable.getSelection();
- if (items.length != 1) {
- return;
- }
- final TableItem item = items[0];
-
- final Object eventData = item.getData();
- if (eventData instanceof ITmfModelLookup) {
- String modelURI = ((ITmfModelLookup) eventData).getModelUri();
-
- if (modelURI != null) {
- IWorkbenchPage activePage = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage();
-
- IFile file = null;
- final URI uri = URI.createURI(modelURI);
- if (uri.isPlatformResource()) {
- IPath path = new Path(uri.toPlatformString(true));
- file = ResourcesPlugin.getWorkspace().getRoot().getFile(path);
- } else if (uri.isFile() && !uri.isRelative()) {
- file = ResourcesPlugin.getWorkspace().getRoot().getFileForLocation(
- new Path(uri.toFileString()));
- }
-
- if (file != null) {
- try {
- /*
- * create a temporary validation marker on the
- * model file, remove it afterwards thus,
- * navigation works with all model editors
- * supporting the navigation to a marker
- */
- IMarker marker = file.createMarker(EValidator.MARKER);
- marker.setAttribute(EValidator.URI_ATTRIBUTE, modelURI);
- marker.setAttribute(IMarker.SEVERITY, IMarker.SEVERITY_INFO);
-
- IDE.openEditor(activePage, marker, OpenStrategy.activateOnOpen());
- marker.delete();
- }
- catch (CoreException e) {
- displayException(e);
- }
- } else {
- displayException(new FileNotFoundException('\'' + modelURI + '\'' + '\n' + Messages.TmfEventsTable_OpenModelUnsupportedURI));
- }
- }
- }
- }
- };
-
- final IAction exportToTextAction = new Action(Messages.TmfEventsTable_Export_to_text) {
- @Override
- public void run() {
- IWorkbenchPage activePage = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage();
- Object handlerServiceObject = activePage.getActiveEditor().getSite().getService(IHandlerService.class);
- IHandlerService handlerService = (IHandlerService) handlerServiceObject;
- Object cmdServiceObject = activePage.getActiveEditor().getSite().getService(ICommandService.class);
- ICommandService cmdService = (ICommandService) cmdServiceObject;
- try {
- HashMap<String, Object> parameters = new HashMap<>();
- Command command = cmdService.getCommand(ExportToTextCommandHandler.COMMAND_ID);
- ParameterizedCommand cmd = ParameterizedCommand.generateCommand(command, parameters);
-
- IEvaluationContext context = handlerService.getCurrentState();
- // Omit the margin column
- List<TmfEventTableColumn> exportColumns = fColumns.subList(EVENT_COLUMNS_START_INDEX, fColumns.size());
- context.addVariable(ExportToTextCommandHandler.TMF_EVENT_TABLE_COLUMNS_ID, exportColumns);
-
- handlerService.executeCommandInContext(cmd, null, context);
- } catch (ExecutionException e) {
- displayException(e);
- } catch (NotDefinedException e) {
- displayException(e);
- } catch (NotEnabledException e) {
- displayException(e);
- } catch (NotHandledException e) {
- displayException(e);
- }
- }
- };
-
- final IAction showSearchBarAction = new Action(Messages.TmfEventsTable_ShowSearchBarActionText) {
- @Override
- public void run() {
- fHeaderState = HeaderState.SEARCH;
- fTable.refresh();
- }
- };
-
- final IAction showFilterBarAction = new Action(Messages.TmfEventsTable_ShowFilterBarActionText) {
- @Override
- public void run() {
- fHeaderState = HeaderState.FILTER;
- fTable.refresh();
- }
- };
-
- final IAction clearFiltersAction = new Action(Messages.TmfEventsTable_ClearFiltersActionText) {
- @Override
- public void run() {
- clearFilters();
- }
- };
-
- final IAction collapseAction = new Action(Messages.TmfEventsTable_CollapseFilterMenuName) {
- @Override
- public void run() {
- applyFilter(new TmfCollapseFilter());
- }
- };
-
- class ToggleBookmarkAction extends Action {
- Long fRank;
-
- public ToggleBookmarkAction(final String text, final Long rank) {
- super(text);
- fRank = rank;
- }
-
- @Override
- public void run() {
- toggleBookmark(fRank);
- }
- }
-
- final MenuManager tablePopupMenu = new MenuManager();
- tablePopupMenu.setRemoveAllWhenShown(true);
- tablePopupMenu.addMenuListener(new IMenuListener() {
- @Override
- public void menuAboutToShow(final IMenuManager manager) {
- if (fTable.getSelectionIndex() == 0) {
- // Right-click on header row
- if (fHeaderState == HeaderState.FILTER) {
- tablePopupMenu.add(showSearchBarAction);
- } else {
- tablePopupMenu.add(showFilterBarAction);
- }
- return;
- }
- final Point point = fTable.toControl(Display.getDefault().getCursorLocation());
- final TableItem item = fTable.getSelection().length > 0 ? fTable.getSelection()[0] : null;
- if (item != null) {
- final Rectangle imageBounds = item.getImageBounds(0);
- imageBounds.width = BOOKMARK_IMAGE.getBounds().width;
- if (point.x <= (imageBounds.x + imageBounds.width)) {
- // Right-click on left margin
- final Long rank = (Long) item.getData(Key.RANK);
- if ((rank != null) && (fBookmarksFile != null)) {
- if (fBookmarksMap.containsKey(rank)) {
- tablePopupMenu.add(new ToggleBookmarkAction(
- Messages.TmfEventsTable_RemoveBookmarkActionText, rank));
- } else {
- tablePopupMenu.add(new ToggleBookmarkAction(
- Messages.TmfEventsTable_AddBookmarkActionText, rank));
- }
- }
- return;
- }
- }
-
- // Right-click on table
- if (fTable.isVisible() && fRawViewer.isVisible()) {
- tablePopupMenu.add(hideTableAction);
- tablePopupMenu.add(hideRawAction);
- } else if (!fTable.isVisible()) {
- tablePopupMenu.add(showTableAction);
- } else if (!fRawViewer.isVisible()) {
- tablePopupMenu.add(showRawAction);
- }
- tablePopupMenu.add(exportToTextAction);
- tablePopupMenu.add(new Separator());
-
- if (item != null) {
- final Object data = item.getData();
- Separator separator = null;
- if (data instanceof ITmfSourceLookup) {
- ITmfSourceLookup event = (ITmfSourceLookup) data;
- if (event.getCallsite() != null) {
- tablePopupMenu.add(openCallsiteAction);
- separator = new Separator();
- }
- }
-
- if (data instanceof ITmfModelLookup) {
- ITmfModelLookup event = (ITmfModelLookup) data;
- if (event.getModelUri() != null) {
- tablePopupMenu.add(openModelAction);
- separator = new Separator();
- }
-
- if (separator != null) {
- tablePopupMenu.add(separator);
- }
- }
- }
-
- // only show collapse filter if at least one trace can be collapsed
- boolean isCollapsible = false;
- if (fTrace != null) {
- ITmfTrace traces[] = TmfTraceManager.getTraceSet(fTrace);
- for (ITmfTrace trace : traces) {
- Class <? extends ITmfEvent> eventClass = trace.getEventType();
- isCollapsible = ITmfCollapsibleEvent.class.isAssignableFrom(eventClass);
- if (isCollapsible) {
- break;
- }
- }
- }
-
- if (isCollapsible && !(fTable.getData(Key.FILTER_OBJ) instanceof TmfCollapseFilter)) {
- tablePopupMenu.add(collapseAction);
- tablePopupMenu.add(new Separator());
- }
-
- tablePopupMenu.add(clearFiltersAction);
- final ITmfFilterTreeNode[] savedFilters = FilterManager.getSavedFilters();
- if (savedFilters.length > 0) {
- final MenuManager subMenu = new MenuManager(Messages.TmfEventsTable_ApplyPresetFilterMenuName);
- for (final ITmfFilterTreeNode node : savedFilters) {
- if (node instanceof TmfFilterNode) {
- final TmfFilterNode filter = (TmfFilterNode) node;
- subMenu.add(new Action(filter.getFilterName()) {
- @Override
- public void run() {
- applyFilter(filter);
- }
- });
- }
- }
- tablePopupMenu.add(subMenu);
- }
- appendToTablePopupMenu(tablePopupMenu, item);
- }
- });
-
- final MenuManager rawViewerPopupMenu = new MenuManager();
- rawViewerPopupMenu.setRemoveAllWhenShown(true);
- rawViewerPopupMenu.addMenuListener(new IMenuListener() {
- @Override
- public void menuAboutToShow(final IMenuManager manager) {
- if (fTable.isVisible() && fRawViewer.isVisible()) {
- rawViewerPopupMenu.add(hideTableAction);
- rawViewerPopupMenu.add(hideRawAction);
- } else if (!fTable.isVisible()) {
- rawViewerPopupMenu.add(showTableAction);
- } else if (!fRawViewer.isVisible()) {
- rawViewerPopupMenu.add(showRawAction);
- }
- appendToRawPopupMenu(tablePopupMenu);
- }
- });
-
- Menu menu = tablePopupMenu.createContextMenu(fTable);
- fTable.setMenu(menu);
-
- menu = rawViewerPopupMenu.createContextMenu(fRawViewer);
- fRawViewer.setMenu(menu);
- }
-
-
- /**
- * Append an item to the event table's pop-up menu.
- *
- * @param tablePopupMenu
- * The menu manager
- * @param selectedItem
- * The item to append
- */
- protected void appendToTablePopupMenu(final MenuManager tablePopupMenu, final TableItem selectedItem) {
- // override to append more actions
- }
-
- /**
- * Append an item to the raw viewer's pop-up menu.
- *
- * @param rawViewerPopupMenu
- * The menu manager
- */
- protected void appendToRawPopupMenu(final MenuManager rawViewerPopupMenu) {
- // override to append more actions
- }
-
- @Override
- public void dispose() {
- stopSearchThread();
- stopFilterThread();
- ColorSettingsManager.removeColorSettingsListener(this);
- fComposite.dispose();
- if ((fTrace != null) && fDisposeOnClose) {
- fTrace.dispose();
- }
- fResourceManager.dispose();
- fRawViewer.dispose();
- super.dispose();
- }
-
- /**
- * Assign a layout data object to this view.
- *
- * @param layoutData
- * The layout data to assign
- */
- public void setLayoutData(final Object layoutData) {
- fComposite.setLayoutData(layoutData);
- }
-
- /**
- * Get the virtual table contained in this event table.
- *
- * @return The TMF virtual table
- */
- public TmfVirtualTable getTable() {
- return fTable;
- }
-
- /**
- * @param columnData
- * columnData
- * @deprecated The column headers are now set at the constructor, this
- * shouldn't be called anymore.
- */
- @Deprecated
- protected void setColumnHeaders(final org.eclipse.linuxtools.tmf.ui.widgets.virtualtable.ColumnData [] columnData) {
- /* No-op */
- }
-
- /**
- * Set a table item's data.
- *
- * @param item
- * The item to set
- * @param event
- * Which trace event to link with this entry
- * @param rank
- * Which rank this event has in the trace/experiment
- */
- protected void setItemData(final TableItem item, final ITmfEvent event, final long rank) {
- String[] itemStrings = getItemStrings(fColumns, event);
-
- // Get the actual ITmfEvent from the CachedEvent
- ITmfEvent tmfEvent = event;
- if (event instanceof CachedEvent) {
- tmfEvent = ((CachedEvent) event).event;
- }
- item.setText(itemStrings);
- item.setData(tmfEvent);
- item.setData(Key.TIMESTAMP, new TmfTimestamp(tmfEvent.getTimestamp()));
- item.setData(Key.RANK, rank);
-
- final Collection<Long> markerIds = fBookmarksMap.get(rank);
- if (!markerIds.isEmpty()) {
- Joiner joiner = Joiner.on("\n -").skipNulls(); //$NON-NLS-1$
- List<Object> parts = new ArrayList<>();
- if (markerIds.size() > 1) {
- parts.add(Messages.TmfEventsTable_MultipleBookmarksToolTip);
- }
- try {
- for (long markerId : markerIds) {
- final IMarker marker = fBookmarksFile.findMarker(markerId);
- parts.add(marker.getAttribute(IMarker.MESSAGE));
- }
- } catch (CoreException e) {
- displayException(e);
- }
- item.setData(Key.BOOKMARK, joiner.join(parts));
- } else {
- item.setData(Key.BOOKMARK, null);
- }
-
- boolean searchMatch = false;
- boolean searchNoMatch = false;
- final ITmfFilter searchFilter = (ITmfFilter) fTable.getData(Key.SEARCH_OBJ);
- if (searchFilter != null) {
- if (searchFilter.matches(tmfEvent)) {
- searchMatch = true;
- } else {
- searchNoMatch = true;
- }
- }
- final ColorSetting colorSetting = ColorSettingsManager.getColorSetting(tmfEvent);
- if (searchNoMatch) {
- item.setForeground(colorSetting.getDimmedForegroundColor());
- item.setBackground(colorSetting.getDimmedBackgroundColor());
- } else {
- item.setForeground(colorSetting.getForegroundColor());
- item.setBackground(colorSetting.getBackgroundColor());
- }
-
- if (searchMatch) {
- if (!markerIds.isEmpty()) {
- item.setImage(SEARCH_MATCH_BOOKMARK_IMAGE);
- } else {
- item.setImage(SEARCH_MATCH_IMAGE);
- }
- } else if (!markerIds.isEmpty()) {
- item.setImage(BOOKMARK_IMAGE);
- } else {
- item.setImage((Image) null);
- }
-
- if ((itemStrings[MARGIN_COLUMN_INDEX] != null) && !itemStrings[MARGIN_COLUMN_INDEX].isEmpty()) {
- packMarginColumn();
- }
- }
-
- /**
- * Set the item data of the header row.
- *
- * @param item
- * The item to use as table header
- */
- protected void setHeaderRowItemData(final TableItem item) {
- String txtKey = null;
- if (fHeaderState == HeaderState.SEARCH) {
- item.setImage(SEARCH_IMAGE);
- txtKey = Key.SEARCH_TXT;
- } else if (fHeaderState == HeaderState.FILTER) {
- item.setImage(FILTER_IMAGE);
- txtKey = Key.FILTER_TXT;
- }
- item.setForeground(fGrayColor);
- // Ignore collapse and image column
- for (int i = EVENT_COLUMNS_START_INDEX; i < fTable.getColumns().length; i++) {
- final TableColumn column = fTable.getColumns()[i];
- final String filter = (String) column.getData(txtKey);
- if (filter == null) {
- if (fHeaderState == HeaderState.SEARCH) {
- item.setText(i, SEARCH_HINT);
- } else if (fHeaderState == HeaderState.FILTER) {
- item.setText(i, FILTER_HINT);
- }
- item.setForeground(i, fGrayColor);
- item.setFont(i, fTable.getFont());
- } else {
- item.setText(i, filter);
- item.setForeground(i, fGreenColor);
- item.setFont(i, fBoldFont);
- }
- }
- }
-
- /**
- * Set the item data of the "filter status" row.
- *
- * @param item
- * The item to use as filter status row
- */
- protected void setFilterStatusRowItemData(final TableItem item) {
- for (int i = 0; i < fTable.getColumns().length; i++) {
- if (i == MARGIN_COLUMN_INDEX) {
- if ((fTrace == null) || (fFilterCheckCount == fTrace.getNbEvents())) {
- item.setImage(FILTER_IMAGE);
- } else {
- item.setImage(STOP_IMAGE);
- }
- }
-
- if (i == FILTER_SUMMARY_INDEX) {
- item.setText(FILTER_SUMMARY_INDEX, fFilterMatchCount + "/" + fFilterCheckCount); //$NON-NLS-1$
- } else {
- item.setText(i, EMPTY_STRING);
- }
- }
- item.setData(null);
- item.setData(Key.TIMESTAMP, null);
- item.setData(Key.RANK, null);
- item.setForeground(null);
- item.setBackground(null);
- }
-
- /**
- * Create an editor for the header.
- */
- protected void createHeaderEditor() {
- final TableEditor tableEditor = fTable.createTableEditor();
- tableEditor.horizontalAlignment = SWT.LEFT;
- tableEditor.verticalAlignment = SWT.CENTER;
- tableEditor.grabHorizontal = true;
- tableEditor.minimumWidth = 50;
-
- // Handle the header row selection
- fTable.addMouseListener(new MouseAdapter() {
- int columnIndex;
- TableColumn column;
- TableItem item;
-
- @Override
- public void mouseDown(final MouseEvent event) {
- if (event.button != 1) {
- return;
- }
- // Identify the selected row
- final Point point = new Point(event.x, event.y);
- item = fTable.getItem(point);
-
- // Header row selected
- if ((item != null) && (fTable.indexOf(item) == 0)) {
-
- // Icon selected
- if (item.getImageBounds(0).contains(point)) {
- if (fHeaderState == HeaderState.SEARCH) {
- fHeaderState = HeaderState.FILTER;
- } else if (fHeaderState == HeaderState.FILTER) {
- fHeaderState = HeaderState.SEARCH;
- }
- fTable.setSelection(0);
- fTable.refresh();
- return;
- }
-
- // Identify the selected column
- columnIndex = -1;
- for (int i = 0; i < fTable.getColumns().length; i++) {
- final Rectangle rect = item.getBounds(i);
- if (rect.contains(point)) {
- columnIndex = i;
- break;
- }
- }
-
- if (columnIndex == -1) {
- return;
- }
-
- column = fTable.getColumns()[columnIndex];
-
- String txtKey = null;
- if (fHeaderState == HeaderState.SEARCH) {
- txtKey = Key.SEARCH_TXT;
- } else if (fHeaderState == HeaderState.FILTER) {
- txtKey = Key.FILTER_TXT;
- }
-
- // The control that will be the editor must be a child of the Table
- final Text newEditor = (Text) fTable.createTableEditorControl(Text.class);
- final String headerString = (String) column.getData(txtKey);
- if (headerString != null) {
- newEditor.setText(headerString);
- }
- newEditor.addFocusListener(new FocusAdapter() {
- @Override
- public void focusLost(final FocusEvent e) {
- final boolean changed = updateHeader(newEditor.getText());
- if (changed) {
- applyHeader();
- }
- }
- });
- newEditor.addKeyListener(new KeyAdapter() {
- @Override
- public void keyPressed(final KeyEvent e) {
- if (e.character == SWT.CR) {
- updateHeader(newEditor.getText());
- applyHeader();
-
- // Set focus on the table so that the next carriage return goes to the next result
- TmfEventsTable.this.getTable().setFocus();
- } else if (e.character == SWT.ESC) {
- tableEditor.getEditor().dispose();
- }
- }
- });
- newEditor.selectAll();
- newEditor.setFocus();
- tableEditor.setEditor(newEditor, item, columnIndex);
- }
- }
-
- /*
- * returns true is value was changed
- */
- private boolean updateHeader(final String text) {
- String objKey = null;
- String txtKey = null;
- if (fHeaderState == HeaderState.SEARCH) {
- objKey = Key.SEARCH_OBJ;
- txtKey = Key.SEARCH_TXT;
- } else if (fHeaderState == HeaderState.FILTER) {
- objKey = Key.FILTER_OBJ;
- txtKey = Key.FILTER_TXT;
- }
- if (text.trim().length() > 0) {
- try {
- final String regex = TmfFilterMatchesNode.regexFix(text);
- Pattern.compile(regex);
- if (regex.equals(column.getData(txtKey))) {
- tableEditor.getEditor().dispose();
- return false;
- }
- final TmfFilterMatchesNode filter = new TmfFilterMatchesNode(null);
- String fieldId = (String) column.getData(Key.FIELD_ID);
- if (fieldId == null) {
- fieldId = column.getText();
- }
- filter.setField(fieldId);
- filter.setRegex(regex);
- column.setData(objKey, filter);
- column.setData(txtKey, regex);
- } catch (final PatternSyntaxException ex) {
- tableEditor.getEditor().dispose();
- MessageDialog.openError(PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell(),
- ex.getDescription(), ex.getMessage());
- return false;
- }
- } else {
- if (column.getData(txtKey) == null) {
- tableEditor.getEditor().dispose();
- return false;
- }
- column.setData(objKey, null);
- column.setData(txtKey, null);
- }
- return true;
- }
-
- private void applyHeader() {
- if (fHeaderState == HeaderState.SEARCH) {
- stopSearchThread();
- final TmfFilterAndNode filter = new TmfFilterAndNode(null);
- for (final TableColumn col : fTable.getColumns()) {
- final Object filterObj = col.getData(Key.SEARCH_OBJ);
- if (filterObj instanceof ITmfFilterTreeNode) {
- filter.addChild((ITmfFilterTreeNode) filterObj);
- }
- }
- if (filter.getChildrenCount() > 0) {
- fTable.setData(Key.SEARCH_OBJ, filter);
- fTable.refresh();
- searchNext();
- fireSearchApplied(filter);
- } else {
- fTable.setData(Key.SEARCH_OBJ, null);
- fTable.refresh();
- fireSearchApplied(null);
- }
- } else if (fHeaderState == HeaderState.FILTER) {
- final TmfFilterAndNode filter = new TmfFilterAndNode(null);
- for (final TableColumn col : fTable.getColumns()) {
- final Object filterObj = col.getData(Key.FILTER_OBJ);
- if (filterObj instanceof ITmfFilterTreeNode) {
- filter.addChild((ITmfFilterTreeNode) filterObj);
- }
- }
- if (filter.getChildrenCount() > 0) {
- applyFilter(filter);
- } else {
- clearFilters();
- }
- }
-
- tableEditor.getEditor().dispose();
- }
- });
-
- fTable.addKeyListener(new KeyAdapter() {
- @Override
- public void keyPressed(final KeyEvent e) {
- e.doit = false;
- if (e.character == SWT.ESC) {
- stopFilterThread();
- stopSearchThread();
- fTable.refresh();
- } else if (e.character == SWT.DEL) {
- if (fHeaderState == HeaderState.SEARCH) {
- stopSearchThread();
- for (final TableColumn column : fTable.getColumns()) {
- column.setData(Key.SEARCH_OBJ, null);
- column.setData(Key.SEARCH_TXT, null);
- }
- fTable.setData(Key.SEARCH_OBJ, null);
- fTable.refresh();
- fireSearchApplied(null);
- } else if (fHeaderState == HeaderState.FILTER) {
- clearFilters();
- }
- } else if (e.character == SWT.CR) {
- if ((e.stateMask & SWT.SHIFT) == 0) {
- searchNext();
- } else {
- searchPrevious();
- }
- }
- }
- });
- }
-
- /**
- * Send an event indicating a filter has been applied.
- *
- * @param filter
- * The filter that was just applied
- */
- protected void fireFilterApplied(final ITmfFilter filter) {
- broadcast(new TmfEventFilterAppliedSignal(this, fTrace, filter));
- }
-
- /**
- * Send an event indicating that a search has been applied.
- *
- * @param filter
- * The search filter that was just applied
- */
- protected void fireSearchApplied(final ITmfFilter filter) {
- broadcast(new TmfEventSearchAppliedSignal(this, fTrace, filter));
- }
-
- /**
- * Start the filtering thread.
- */
- protected void startFilterThread() {
- synchronized (fFilterSyncObj) {
- final ITmfFilterTreeNode filter = (ITmfFilterTreeNode) fTable.getData(Key.FILTER_OBJ);
- if (fFilterThread == null || fFilterThread.filter != filter) {
- if (fFilterThread != null) {
- fFilterThread.cancel();
- fFilterThreadResume = false;
- }
- fFilterThread = new FilterThread(filter);
- fFilterThread.start();
- } else {
- fFilterThreadResume = true;
- }
- }
- }
-
- /**
- * Stop the filtering thread.
- */
- protected void stopFilterThread() {
- synchronized (fFilterSyncObj) {
- if (fFilterThread != null) {
- fFilterThread.cancel();
- fFilterThread = null;
- fFilterThreadResume = false;
- }
- }
- }
-
- /**
- * Apply a filter.
- *
- * @param filter
- * The filter to apply
- * @since 1.1
- */
- protected void applyFilter(ITmfFilter filter) {
- stopFilterThread();
- stopSearchThread();
- fFilterMatchCount = 0;
- fFilterCheckCount = 0;
- fCache.applyFilter(filter);
- fTable.clearAll();
- fTable.setData(Key.FILTER_OBJ, filter);
- fTable.setItemCount(3); // +1 for header row, +2 for top and bottom filter status rows
- startFilterThread();
- fireFilterApplied(filter);
- }
-
- /**
- * Clear all currently active filters.
- */
- protected void clearFilters() {
- if (fTable.getData(Key.FILTER_OBJ) == null) {
- return;
- }
- stopFilterThread();
- stopSearchThread();
- fCache.clearFilter();
- fTable.clearAll();
- for (final TableColumn column : fTable.getColumns()) {
- column.setData(Key.FILTER_OBJ, null);
- column.setData(Key.FILTER_TXT, null);
- }
- fTable.setData(Key.FILTER_OBJ, null);
- if (fTrace != null) {
- fTable.setItemCount((int) fTrace.getNbEvents() + 1); // +1 for header row
- } else {
- fTable.setItemCount(1); // +1 for header row
- }
- fFilterMatchCount = 0;
- fFilterCheckCount = 0;
- if (fSelectedRank >= 0) {
- fTable.setSelection((int) fSelectedRank + 1); // +1 for header row
- } else {
- fTable.setSelection(0);
- }
- fireFilterApplied(null);
- updateStatusLine(null);
-
- // Set original width
- fTable.getColumns()[MARGIN_COLUMN_INDEX].setWidth(0);
- packMarginColumn();
- }
-
- /**
- * Wrapper Thread object for the filtering thread.
- */
- protected class FilterThread extends Thread {
- private final ITmfFilterTreeNode filter;
- private TmfEventRequest request;
- private boolean refreshBusy = false;
- private boolean refreshPending = false;
- private final Object syncObj = new Object();
-
- /**
- * Constructor.
- *
- * @param filter
- * The filter this thread will be processing
- */
- public FilterThread(final ITmfFilterTreeNode filter) {
- super("Filter Thread"); //$NON-NLS-1$
- this.filter = filter;
- }
-
- @Override
- public void run() {
- if (fTrace == null) {
- return;
- }
- final int nbRequested = (int) (fTrace.getNbEvents() - fFilterCheckCount);
- if (nbRequested <= 0) {
- return;
- }
- request = new TmfEventRequest(ITmfEvent.class, TmfTimeRange.ETERNITY,
- (int) fFilterCheckCount, nbRequested, ExecutionType.BACKGROUND) {
- @Override
- public void handleData(final ITmfEvent event) {
- super.handleData(event);
- if (request.isCancelled()) {
- return;
- }
- boolean refresh = false;
- if (filter.matches(event)) {
- final long rank = fFilterCheckCount;
- final int index = (int) fFilterMatchCount;
- fFilterMatchCount++;
- fCache.storeEvent(event, rank, index);
- refresh = true;
- } else {
- if (filter instanceof TmfCollapseFilter) {
- fCache.updateCollapsedEvent((int) fFilterMatchCount - 1);
- }
- }
-
- if (refresh || (fFilterCheckCount % 100) == 0) {
- refreshTable();
- }
- fFilterCheckCount++;
- }
- };
- ((ITmfEventProvider) fTrace).sendRequest(request);
- try {
- request.waitForCompletion();
- } catch (final InterruptedException e) {
- }
- refreshTable();
- synchronized (fFilterSyncObj) {
- fFilterThread = null;
- if (fFilterThreadResume) {
- fFilterThreadResume = false;
- fFilterThread = new FilterThread(filter);
- fFilterThread.start();
- }
- }
- }
-
- /**
- * Refresh the filter.
- */
- public void refreshTable() {
- synchronized (syncObj) {
- if (refreshBusy) {
- refreshPending = true;
- return;
- }
- refreshBusy = true;
- }
- Display.getDefault().asyncExec(new Runnable() {
- @Override
- public void run() {
- if (request.isCancelled()) {
- return;
- }
- if (fTable.isDisposed()) {
- return;
- }
- fTable.setItemCount((int) fFilterMatchCount + 3); // +1 for header row, +2 for top and bottom filter status rows
- fTable.refresh();
- synchronized (syncObj) {
- refreshBusy = false;
- if (refreshPending) {
- refreshPending = false;
- refreshTable();
- }
- }
- }
- });
- }
-
- /**
- * Cancel this filtering thread.
- */
- public void cancel() {
- if (request != null) {
- request.cancel();
- }
- }
- }
-
- /**
- * Go to the next item of a search.
- */
- protected void searchNext() {
- synchronized (fSearchSyncObj) {
- if (fSearchThread != null) {
- return;
- }
- final ITmfFilterTreeNode searchFilter = (ITmfFilterTreeNode) fTable.getData(Key.SEARCH_OBJ);
- if (searchFilter == null) {
- return;
- }
- final int selectionIndex = fTable.getSelectionIndex();
- int startIndex;
- if (selectionIndex > 0) {
- startIndex = selectionIndex; // -1 for header row, +1 for next event
- } else {
- // header row is selected, start at top event
- startIndex = Math.max(0, fTable.getTopIndex() - 1); // -1 for header row
- }
- final ITmfFilterTreeNode eventFilter = (ITmfFilterTreeNode) fTable.getData(Key.FILTER_OBJ);
- if (eventFilter != null) {
- startIndex = Math.max(0, startIndex - 1); // -1 for top filter status row
- }
- fSearchThread = new SearchThread(searchFilter, eventFilter, startIndex, fSelectedRank, Direction.FORWARD);
- fSearchThread.schedule();
- }
- }
-
- /**
- * Go to the previous item of a search.
- */
- protected void searchPrevious() {
- synchronized (fSearchSyncObj) {
- if (fSearchThread != null) {
- return;
- }
- final ITmfFilterTreeNode searchFilter = (ITmfFilterTreeNode) fTable.getData(Key.SEARCH_OBJ);
- if (searchFilter == null) {
- return;
- }
- final int selectionIndex = fTable.getSelectionIndex();
- int startIndex;
- if (selectionIndex > 0) {
- startIndex = selectionIndex - 2; // -1 for header row, -1 for previous event
- } else {
- // header row is selected, start at precedent of top event
- startIndex = fTable.getTopIndex() - 2; // -1 for header row, -1 for previous event
- }
- final ITmfFilterTreeNode eventFilter = (ITmfFilterTreeNode) fTable.getData(Key.FILTER_OBJ);
- if (eventFilter != null) {
- startIndex = startIndex - 1; // -1 for top filter status row
- }
- fSearchThread = new SearchThread(searchFilter, eventFilter, startIndex, fSelectedRank, Direction.BACKWARD);
- fSearchThread.schedule();
- }
- }
-
- /**
- * Stop the search thread.
- */
- protected void stopSearchThread() {
- fPendingGotoRank = -1;
- synchronized (fSearchSyncObj) {
- if (fSearchThread != null) {
- fSearchThread.cancel();
- fSearchThread = null;
- }
- }
- }
-
- /**
- * Wrapper for the search thread.
- */
- protected class SearchThread extends Job {
-
- private ITmfFilterTreeNode searchFilter;
- private ITmfFilterTreeNode eventFilter;
- private int startIndex;
- private int direction;
- private long rank;
- private long foundRank = -1;
- private TmfEventRequest request;
- private ITmfTimestamp foundTimestamp = null;
-
- /**
- * Constructor.
- *
- * @param searchFilter
- * The search filter
- * @param eventFilter
- * The event filter
- * @param startIndex
- * The index at which we should start searching
- * @param currentRank
- * The current rank
- * @param direction
- * In which direction should we search, forward or backwards
- */
- public SearchThread(final ITmfFilterTreeNode searchFilter,
- final ITmfFilterTreeNode eventFilter, final int startIndex,
- final long currentRank, final int direction) {
- super(Messages.TmfEventsTable_SearchingJobName);
- this.searchFilter = searchFilter;
- this.eventFilter = eventFilter;
- this.startIndex = startIndex;
- this.rank = currentRank;
- this.direction = direction;
- }
-
- @Override
- protected IStatus run(final IProgressMonitor monitor) {
- if (fTrace == null) {
- return Status.OK_STATUS;
- }
- final Display display = Display.getDefault();
- if (startIndex < 0) {
- rank = (int) fTrace.getNbEvents() - 1;
- } else if (startIndex >= (fTable.getItemCount() - (eventFilter == null ? 1 : 3))) { // -1 for header row, -2 for top and bottom filter status rows
- rank = 0;
- } else {
- int idx = startIndex;
- while (foundRank == -1) {
- final CachedEvent event = fCache.peekEvent(idx);
- if (event == null) {
- break;
- }
- rank = event.rank;
- if (searchFilter.matches(event.event) && ((eventFilter == null) || eventFilter.matches(event.event))) {
- foundRank = event.rank;
- foundTimestamp = event.event.getTimestamp();
- break;
- }
- if (direction == Direction.FORWARD) {
- idx++;
- } else {
- idx--;
- }
- }
- if (foundRank == -1) {
- if (direction == Direction.FORWARD) {
- rank++;
- if (rank > (fTrace.getNbEvents() - 1)) {
- rank = 0;
- }
- } else {
- rank--;
- if (rank < 0) {
- rank = (int) fTrace.getNbEvents() - 1;
- }
- }
- }
- }
- final int startRank = (int) rank;
- boolean wrapped = false;
- while (!monitor.isCanceled() && (foundRank == -1) && (fTrace != null)) {
- int nbRequested = (direction == Direction.FORWARD ? Integer.MAX_VALUE : Math.min((int) rank + 1, fTrace.getCacheSize()));
- if (direction == Direction.BACKWARD) {
- rank = Math.max(0, rank - fTrace.getCacheSize() + 1);
- }
- request = new TmfEventRequest(ITmfEvent.class, TmfTimeRange.ETERNITY,
- (int) rank, nbRequested, ExecutionType.BACKGROUND) {
- long currentRank = rank;
-
- @Override
- public void handleData(final ITmfEvent event) {
- super.handleData(event);
- if (searchFilter.matches(event) && ((eventFilter == null) || eventFilter.matches(event))) {
- foundRank = currentRank;
- foundTimestamp = event.getTimestamp();
- if (direction == Direction.FORWARD) {
- done();
- return;
- }
- }
- currentRank++;
- }
- };
- ((ITmfEventProvider) fTrace).sendRequest(request);
- try {
- request.waitForCompletion();
- if (request.isCancelled()) {
- return Status.OK_STATUS;
- }
- } catch (final InterruptedException e) {
- synchronized (fSearchSyncObj) {
- fSearchThread = null;
- }
- return Status.OK_STATUS;
- }
- if (foundRank == -1) {
- if (direction == Direction.FORWARD) {
- if (rank == 0) {
- synchronized (fSearchSyncObj) {
- fSearchThread = null;
- }
- return Status.OK_STATUS;
- }
- nbRequested = (int) rank;
- rank = 0;
- wrapped = true;
- } else {
- rank--;
- if (rank < 0) {
- rank = (int) fTrace.getNbEvents() - 1;
- wrapped = true;
- }
- if ((rank <= startRank) && wrapped) {
- synchronized (fSearchSyncObj) {
- fSearchThread = null;
- }
- return Status.OK_STATUS;
- }
- }
- }
- }
- int index = (int) foundRank;
- if (eventFilter != null) {
- index = fCache.getFilteredEventIndex(foundRank);
- }
- final int selection = index + 1 + (eventFilter != null ? +1 : 0); // +1 for header row, +1 for top filter status row
-
- display.asyncExec(new Runnable() {
- @Override
- public void run() {
- if (monitor.isCanceled()) {
- return;
- }
- if (fTable.isDisposed()) {
- return;
- }
- fTable.setSelection(selection);
- fSelectedRank = foundRank;
- fRawViewer.selectAndReveal(fSelectedRank);
- if (foundTimestamp != null) {
- broadcast(new TmfTimeSynchSignal(TmfEventsTable.this, foundTimestamp));
- }
- fireSelectionChanged(new SelectionChangedEvent(TmfEventsTable.this, getSelection()));
- synchronized (fSearchSyncObj) {
- fSearchThread = null;
- }
- updateStatusLine(null);
- }
- });
- return Status.OK_STATUS;
- }
-
- @Override
- protected void canceling() {
- request.cancel();
- synchronized (fSearchSyncObj) {
- fSearchThread = null;
- }
- }
- }
-
- /**
- * Create the resources.
- */
- protected void createResources() {
- fGrayColor = fResourceManager.createColor(ColorUtil.blend(fTable.getBackground().getRGB(), fTable
- .getForeground().getRGB()));
- fGreenColor = fTable.getDisplay().getSystemColor(SWT.COLOR_DARK_GREEN);
- fBoldFont = fResourceManager.createFont(FontDescriptor.createFrom(fTable.getFont()).setStyle(SWT.BOLD));
- }
-
- /**
- * Pack the columns.
- */
- protected void packColumns() {
- if (fPackDone) {
- return;
- }
- fTable.setRedraw(false);
- try {
- TableColumn tableColumns[] = fTable.getColumns();
- for (int i = 0; i < tableColumns.length; i++) {
- final TableColumn column = tableColumns[i];
- packSingleColumn(i, column);
- }
- } finally {
- // Make sure that redraw is always enabled.
- fTable.setRedraw(true);
- }
- fPackDone = true;
- }
-
-
- private void packMarginColumn() {
- TableColumn[] columns = fTable.getColumns();
- if (columns.length > 0) {
- packSingleColumn(0, columns[0]);
- }
- }
-
- private void packSingleColumn(int i, final TableColumn column) {
- final int headerWidth = column.getWidth();
- column.pack();
- // Workaround for Linux which doesn't consider the image width of
- // search/filter row in TableColumn.pack() after having executed
- // TableItem.setImage((Image)null) for other rows than search/filter row.
- boolean isCollapseFilter = fTable.getData(Key.FILTER_OBJ) instanceof TmfCollapseFilter;
- if (IS_LINUX && (i == 0) && isCollapseFilter) {
- column.setWidth(column.getWidth() + SEARCH_IMAGE.getBounds().width);
- }
-
- if (column.getWidth() < headerWidth) {
- column.setWidth(headerWidth);
- }
- }
-
- /**
- * Get the array of item strings (e.g., what to display in each cell of the
- * table row) corresponding to the columns and trace event passed in
- * parameter. The order of the Strings in the returned array will correspond
- * to the iteration order of 'columns'.
- *
- * <p>
- * To ensure consistent results, make sure only call this within a scope
- * synchronized on 'columns'! If the order of 'columns' changes right after
- * this method is called, the returned value won't be ordered correctly
- * anymore.
- */
- private static String[] getItemStrings(List<TmfEventTableColumn> columns, ITmfEvent event) {
- if (event == null) {
- return EMPTY_STRING_ARRAY;
- }
- synchronized (columns) {
- List<String> itemStrings = new ArrayList<>(columns.size());
- for (TmfEventTableColumn column : columns) {
- ITmfEvent passedEvent = event;
- if (!(column instanceof TmfMarginColumn) && (event instanceof CachedEvent)) {
- // Make sure that the event object from the trace is passed
- // to all columns but the TmfMarginColumn
- passedEvent = ((CachedEvent) event).event;
- }
- if (passedEvent == null) {
- itemStrings.add(EMPTY_STRING);
- } else {
- itemStrings.add(column.getItemString(passedEvent));
- }
-
- }
- return itemStrings.toArray(new String[0]);
- }
- }
-
- /**
- * Get the contents of the row in the events table corresponding to an
- * event. The order of the elements corresponds to the current order of the
- * columns.
- *
- * @param event
- * The event printed in this row
- * @return The event row entries
- * @since 3.0
- */
- public String[] getItemStrings(ITmfEvent event) {
- return getItemStrings(fColumns, event);
- }
-
- /**
- * Notify this table that is got the UI focus.
- */
- public void setFocus() {
- fTable.setFocus();
- }
-
- /**
- * Assign a new trace to this event table.
- *
- * @param trace
- * The trace to assign to this event table
- * @param disposeOnClose
- * true if the trace should be disposed when the table is
- * disposed
- */
- public void setTrace(final ITmfTrace trace, final boolean disposeOnClose) {
- if ((fTrace != null) && fDisposeOnClose) {
- fTrace.dispose();
- }
- fTrace = trace;
- fPackDone = false;
- fSelectedRank = 0;
- fDisposeOnClose = disposeOnClose;
-
- // Perform the updates on the UI thread
- fTable.getDisplay().syncExec(new Runnable() {
- @Override
- public void run() {
- fTable.removeAll();
- fCache.setTrace(fTrace); // Clear the cache
- if (fTrace != null) {
- if (!fTable.isDisposed() && (fTrace != null)) {
- if (fTable.getData(Key.FILTER_OBJ) == null) {
- fTable.setItemCount((int) fTrace.getNbEvents() + 1); // +1 for header row
- } else {
- stopFilterThread();
- fFilterMatchCount = 0;
- fFilterCheckCount = 0;
- fTable.setItemCount(3); // +1 for header row, +2 for top and bottom filter status rows
- startFilterThread();
- }
- }
- }
- fRawViewer.setTrace(fTrace);
- }
- });
- }
-
- /**
- * Assign the status line manager
- *
- * @param statusLineManager
- * The status line manager, or null to disable status line messages
- * @since 2.1
- */
- public void setStatusLineManager(IStatusLineManager statusLineManager) {
- if (fStatusLineManager != null && statusLineManager == null) {
- fStatusLineManager.setMessage(EMPTY_STRING);
- }
- fStatusLineManager = statusLineManager;
- }
-
- private void updateStatusLine(ITmfTimestamp delta) {
- if (fStatusLineManager != null) {
- if (delta != null) {
- fStatusLineManager.setMessage("\u0394: " + delta); //$NON-NLS-1$
- } else {
- fStatusLineManager.setMessage(null);
- }
- }
- }
-
- // ------------------------------------------------------------------------
- // Event cache
- // ------------------------------------------------------------------------
-
- /**
- * Notify that the event cache has been updated
- *
- * @param completed
- * Also notify if the populating of the cache is complete, or
- * not.
- */
- public void cacheUpdated(final boolean completed) {
- synchronized (fCacheUpdateSyncObj) {
- if (fCacheUpdateBusy) {
- fCacheUpdatePending = true;
- fCacheUpdateCompleted = completed;
- return;
- }
- fCacheUpdateBusy = true;
- }
- // Event cache is now updated. Perform update on the UI thread
- if (!fTable.isDisposed()) {
- fTable.getDisplay().asyncExec(new Runnable() {
- @Override
- public void run() {
- if (!fTable.isDisposed()) {
- fTable.refresh();
- packColumns();
- }
- if (completed) {
- populateCompleted();
- }
- synchronized (fCacheUpdateSyncObj) {
- fCacheUpdateBusy = false;
- if (fCacheUpdatePending) {
- fCacheUpdatePending = false;
- cacheUpdated(fCacheUpdateCompleted);
- }
- }
- }
- });
- }
- }
-
- /**
- * Callback for when populating the table is complete.
- */
- protected void populateCompleted() {
- // Nothing by default;
- }
-
- // ------------------------------------------------------------------------
- // ISelectionProvider
- // ------------------------------------------------------------------------
-
- /**
- * @since 2.0
- */
- @Override
- public void addSelectionChangedListener(ISelectionChangedListener listener) {
- selectionChangedListeners.add(listener);
- }
-
- /**
- * @since 2.0
- */
- @Override
- public ISelection getSelection() {
- if (fTable == null || fTable.isDisposed()) {
- return StructuredSelection.EMPTY;
- }
- List<Object> list = new ArrayList<>(fTable.getSelection().length);
- for (TableItem item : fTable.getSelection()) {
- if (item.getData() != null) {
- list.add(item.getData());
- }
- }
- return new StructuredSelection(list);
- }
-
- /**
- * @since 2.0
- */
- @Override
- public void removeSelectionChangedListener(ISelectionChangedListener listener) {
- selectionChangedListeners.remove(listener);
- }
-
- /**
- * @since 2.0
- */
- @Override
- public void setSelection(ISelection selection) {
- // not implemented
- }
-
- /**
- * Notifies any selection changed listeners that the viewer's selection has changed.
- * Only listeners registered at the time this method is called are notified.
- *
- * @param event a selection changed event
- *
- * @see ISelectionChangedListener#selectionChanged
- * @since 2.0
- */
- protected void fireSelectionChanged(final SelectionChangedEvent event) {
- Object[] listeners = selectionChangedListeners.getListeners();
- for (int i = 0; i < listeners.length; ++i) {
- final ISelectionChangedListener l = (ISelectionChangedListener) listeners[i];
- SafeRunnable.run(new SafeRunnable() {
- @Override
- public void run() {
- l.selectionChanged(event);
- }
- });
- }
- }
-
- // ------------------------------------------------------------------------
- // Bookmark handling
- // ------------------------------------------------------------------------
-
- /**
- * Add a bookmark to this event table.
- *
- * @param bookmarksFile
- * The file to use for the bookmarks
- */
- public void addBookmark(final IFile bookmarksFile) {
- fBookmarksFile = bookmarksFile;
- final TableItem[] selection = fTable.getSelection();
- if (selection.length > 0) {
- final TableItem tableItem = selection[0];
- if (tableItem.getData(Key.RANK) != null) {
- final StringBuffer defaultMessage = new StringBuffer();
- for (int i = 0; i < fTable.getColumns().length; i++) {
- if (i > 0) {
- defaultMessage.append(", "); //$NON-NLS-1$
- }
- defaultMessage.append(tableItem.getText(i));
- }
- final InputDialog dialog = new MultiLineInputDialog(
- PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell(),
- Messages.TmfEventsTable_AddBookmarkDialogTitle,
- Messages.TmfEventsTable_AddBookmarkDialogMessage,
- defaultMessage.toString());
- if (dialog.open() == Window.OK) {
- final String message = dialog.getValue();
- try {
- final IMarker bookmark = bookmarksFile.createMarker(IMarker.BOOKMARK);
- if (bookmark.exists()) {
- bookmark.setAttribute(IMarker.MESSAGE, message.toString());
- final Long rank = (Long) tableItem.getData(Key.RANK);
- final int location = rank.intValue();
- bookmark.setAttribute(IMarker.LOCATION, Integer.valueOf(location));
- fBookmarksMap.put(rank, bookmark.getId());
- fTable.refresh();
- }
- } catch (final CoreException e) {
- displayException(e);
- }
- }
- }
- }
-
- }
-
- /**
- * Remove a bookmark from this event table.
- *
- * @param bookmark
- * The bookmark to remove
- */
- public void removeBookmark(final IMarker bookmark) {
- for (final Entry<Long, Long> entry : fBookmarksMap.entries()) {
- if (entry.getValue().equals(bookmark.getId())) {
- fBookmarksMap.remove(entry.getKey(), entry.getValue());
- fTable.refresh();
- return;
- }
- }
- }
-
- private void toggleBookmark(final Long rank) {
- if (fBookmarksFile == null) {
- return;
- }
- if (fBookmarksMap.containsKey(rank)) {
- final Collection<Long> markerIds = fBookmarksMap.removeAll(rank);
- fTable.refresh();
- try {
- for (long markerId : markerIds) {
- final IMarker bookmark = fBookmarksFile.findMarker(markerId);
- if (bookmark != null) {
- bookmark.delete();
- }
- }
- } catch (final CoreException e) {
- displayException(e);
- }
- } else {
- addBookmark(fBookmarksFile);
- }
- }
-
- /**
- * Refresh the bookmarks assigned to this trace, from the contents of a
- * bookmark file.
- *
- * @param bookmarksFile
- * The bookmark file to use
- */
- public void refreshBookmarks(final IFile bookmarksFile) {
- fBookmarksFile = bookmarksFile;
- if (bookmarksFile == null) {
- fBookmarksMap.clear();
- fTable.refresh();
- return;
- }
- try {
- fBookmarksMap.clear();
- for (final IMarker bookmark : bookmarksFile.findMarkers(IMarker.BOOKMARK, false, IResource.DEPTH_ZERO)) {
- final int location = bookmark.getAttribute(IMarker.LOCATION, -1);
- if (location != -1) {
- final long rank = location;
- fBookmarksMap.put(rank, bookmark.getId());
- }
- }
- fTable.refresh();
- } catch (final CoreException e) {
- displayException(e);
- }
- }
-
- @Override
- public void gotoMarker(final IMarker marker) {
- final int rank = marker.getAttribute(IMarker.LOCATION, -1);
- if (rank != -1) {
- int index = rank;
- if (fTable.getData(Key.FILTER_OBJ) != null) {
- index = fCache.getFilteredEventIndex(rank) + 1; // +1 for top filter status row
- } else if (rank >= fTable.getItemCount()) {
- fPendingGotoRank = rank;
- }
- fSelectedRank = rank;
- fTable.setSelection(index + 1); // +1 for header row
- updateStatusLine(null);
- }
- }
-
- // ------------------------------------------------------------------------
- // Listeners
- // ------------------------------------------------------------------------
-
- @Override
- public void colorSettingsChanged(final ColorSetting[] colorSettings) {
- fTable.refresh();
- }
-
- // ------------------------------------------------------------------------
- // Signal handlers
- // ------------------------------------------------------------------------
-
- /**
- * Handler for the trace updated signal
- *
- * @param signal
- * The incoming signal
- */
- @TmfSignalHandler
- public void traceUpdated(final TmfTraceUpdatedSignal signal) {
- if ((signal.getTrace() != fTrace) || fTable.isDisposed()) {
- return;
- }
- // Perform the refresh on the UI thread
- Display.getDefault().asyncExec(new Runnable() {
- @Override
- public void run() {
- if (!fTable.isDisposed() && (fTrace != null)) {
- if (fTable.getData(Key.FILTER_OBJ) == null) {
- fTable.setItemCount((int) fTrace.getNbEvents() + 1); // +1 for header row
- if ((fPendingGotoRank != -1) && ((fPendingGotoRank + 1) < fTable.getItemCount())) { // +1 for header row
- fTable.setSelection((int) fPendingGotoRank + 1); // +1 for header row
- fPendingGotoRank = -1;
- updateStatusLine(null);
- }
- } else {
- startFilterThread();
- }
- }
- if (!fRawViewer.isDisposed() && (fTrace != null)) {
- fRawViewer.refreshEventCount();
- }
- }
- });
- }
-
- /**
- * Handler for the time synch signal.
- *
- * @param signal
- * The incoming signal
- */
- @TmfSignalHandler
- public void currentTimeUpdated(final TmfTimeSynchSignal signal) {
- if ((signal.getSource() != this) && (fTrace != null) && (!fTable.isDisposed())) {
-
- // Create a request for one event that will be queued after other ongoing requests. When this request is completed
- // do the work to select the actual event with the timestamp specified in the signal. This procedure prevents
- // the method fTrace.getRank() from interfering and delaying ongoing requests.
- final TmfEventRequest subRequest = new TmfEventRequest(ITmfEvent.class,
- TmfTimeRange.ETERNITY, 0, 1, ExecutionType.FOREGROUND) {
-
- TmfTimestamp ts = new TmfTimestamp(signal.getBeginTime());
-
- @Override
- public void handleData(final ITmfEvent event) {
- super.handleData(event);
- }
-
- @Override
- public void handleCompleted() {
- super.handleCompleted();
- if (fTrace == null) {
- return;
- }
-
- // Verify if the event is within the trace range and adjust if necessary
- ITmfTimestamp timestamp = ts;
- if (timestamp.compareTo(fTrace.getStartTime(), true) == -1) {
- timestamp = fTrace.getStartTime();
- }
- if (timestamp.compareTo(fTrace.getEndTime(), true) == 1) {
- timestamp = fTrace.getEndTime();
- }
-
- // Get the rank of the selected event in the table
- final ITmfContext context = fTrace.seekEvent(timestamp);
- final long rank = context.getRank();
- context.dispose();
- fSelectedRank = rank;
-
- fTable.getDisplay().asyncExec(new Runnable() {
- @Override
- public void run() {
- // Return if table is disposed
- if (fTable.isDisposed()) {
- return;
- }
-
- int index = (int) rank;
- if (fTable.isDisposed()) {
- return;
- }
- if (fTable.getData(Key.FILTER_OBJ) != null) {
- index = fCache.getFilteredEventIndex(rank) + 1; // +1 for top filter status row
- }
- fTable.setSelection(index + 1); // +1 for header row
- fRawViewer.selectAndReveal(rank);
- updateStatusLine(null);
- }
- });
- }
- };
-
- ((ITmfEventProvider) fTrace).sendRequest(subRequest);
- }
- }
-
- // ------------------------------------------------------------------------
- // Error handling
- // ------------------------------------------------------------------------
-
- /**
- * Display an exception in a message box
- *
- * @param e the exception
- */
- private static void displayException(final Exception e) {
- final MessageBox mb = new MessageBox(PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell());
- mb.setText(e.getClass().getSimpleName());
- mb.setMessage(e.getMessage());
- mb.open();
- }
-
- /**
- * @since 2.0
- */
- public void refresh() {
- fCache.clear();
- fTable.refresh();
- fTable.redraw();
- }
-
- /**
- * Margin column for images and special text (e.g. collapse count)
- */
- private static final class TmfMarginColumn extends TmfEventTableColumn {
-
- private static final @NonNull String HEADER = EMPTY_STRING;
-
- /**
- * Constructor
- */
- public TmfMarginColumn() {
- super(HEADER);
- }
-
- @Override
- public String getItemString(ITmfEvent event) {
- if (!(event instanceof CachedEvent) || ((CachedEvent) event).repeatCount == 0) {
- return EMPTY_STRING;
- }
- return "+" + ((CachedEvent) event).repeatCount; //$NON-NLS-1$
- }
-
- @Override
- public String getFilterFieldId() {
- return null;
- }
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/viewers/events/columns/ITmfEventTableColumns.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/viewers/events/columns/ITmfEventTableColumns.java
deleted file mode 100644
index 7ca21dadd7..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/viewers/events/columns/ITmfEventTableColumns.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 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:
- * Alexandre Montplaisir - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.viewers.events.columns;
-
-import java.util.Collection;
-
-import org.eclipse.jdt.annotation.NonNull;
-
-/**
- * This class allows a trace type to specify which columns it wants to display
- * in the Event Table. The "function" to populate the column for any given event
- * is defined in each {@link TmfEventTableColumn}.
- *
- * @author Alexandre Montplaisir
- * @since 3.2
- */
-public interface ITmfEventTableColumns {
-
- /**
- * Return the columns specified by this trace type.
- *
- * The iteration order of the returned collection will correspond to the
- * initial order of these columns in the view (from left to right).
- * <p>
- * Note to implementers:
- * <p>
- * Even if many traces of the same type can be opened at the same time, the
- * column objects can (and probably should) be singleton instances. This
- * means you do not need to create new column objects every time this method
- * is called.
- *
- * @return The Event Table columns advertised by this trace type
- */
- @NonNull Collection<? extends TmfEventTableColumn> getEventTableColumns();
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/viewers/events/columns/TmfEventTableColumn.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/viewers/events/columns/TmfEventTableColumn.java
deleted file mode 100644
index 6069620d73..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/viewers/events/columns/TmfEventTableColumn.java
+++ /dev/null
@@ -1,159 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 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:
- * Alexandre Montplaisir - Initial API and implementation
- ******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.viewers.events.columns;
-
-import org.eclipse.jdt.annotation.NonNullByDefault;
-import org.eclipse.jdt.annotation.Nullable;
-import org.eclipse.linuxtools.internal.tmf.ui.viewers.events.columns.TmfContentsColumn;
-import org.eclipse.linuxtools.internal.tmf.ui.viewers.events.columns.TmfReferenceColumn;
-import org.eclipse.linuxtools.internal.tmf.ui.viewers.events.columns.TmfSourceColumn;
-import org.eclipse.linuxtools.internal.tmf.ui.viewers.events.columns.TmfTimestampColumn;
-import org.eclipse.linuxtools.internal.tmf.ui.viewers.events.columns.TmfTypeColumn;
-import org.eclipse.linuxtools.tmf.core.event.ITmfEvent;
-
-/**
- * A column in the
- * {@link org.eclipse.linuxtools.tmf.ui.viewers.events.TmfEventsTable}. In
- * addition to ones provided by default, trace types can extend this class to
- * create additional columns specific to their events.
- *
- * Those additional columns can then be passed to the constructor
- * {@link org.eclipse.linuxtools.tmf.ui.viewers.events.TmfEventsTable#TmfEventsTable(org.eclipse.swt.widgets.Composite, int, java.util.Collection)}
- *
- * @author Alexandre Montplaisir
- * @since 3.1
- */
-@NonNullByDefault
-public abstract class TmfEventTableColumn {
-
- // ------------------------------------------------------------------------
- // Class attributes
- // ------------------------------------------------------------------------
-
- /**
- * The base set of columns, which can apply to any trace type.
- */
- public static interface BaseColumns {
-
- /** Column showing the event timestamp */
- TmfEventTableColumn TIMESTAMP = new TmfTimestampColumn();
-
- /** Column showing the event's source */
- TmfEventTableColumn SOURCE = new TmfSourceColumn();
-
- /** Column showing the event type */
- TmfEventTableColumn EVENT_TYPE = new TmfTypeColumn();
-
- /** Column showing the event reference */
- TmfEventTableColumn REFERENCE = new TmfReferenceColumn();
-
- /** Column showing the aggregated event contents (fields) */
- TmfEventTableColumn CONTENTS = new TmfContentsColumn();
- }
-
- /**
- * Static definition of an empty string. Return this instead of returning
- * 'null'!
- */
- protected static final String EMPTY_STRING = ""; //$NON-NLS-1$
-
- // ------------------------------------------------------------------------
- // Fields
- // ------------------------------------------------------------------------
-
- private final String fHeaderName;
- private final @Nullable String fHeaderTooltip;
-
- // ------------------------------------------------------------------------
- // Constructors
- // ------------------------------------------------------------------------
-
- /**
- * Constructor with no tooltip.
- *
- * @param headerName
- * The name (title) of this column. Should ideally be short.
- */
- public TmfEventTableColumn(String headerName) {
- fHeaderName = headerName;
- fHeaderTooltip = null;
- }
-
- /**
- * Constructor with a tooltip.
- *
- * @param headerName
- * The name (title) of this column. Should ideally be short.
- * @param headerTooltip
- * The tooltip text for the column header. Use 'null' for no
- * tooltip.
- */
- public TmfEventTableColumn(String headerName, @Nullable String headerTooltip) {
- fHeaderName = headerName;
- fHeaderTooltip = headerTooltip;
- }
-
- // ------------------------------------------------------------------------
- // Getters
- // ------------------------------------------------------------------------
-
- /**
- * Get this column's header name, a.k.a. title
- *
- * @return The column's title
- */
- public String getHeaderName() {
- return fHeaderName;
- }
-
- /**
- * Get the tooltip text for the column header
- *
- * @return The header's tooltip
- */
- public @Nullable String getHeaderTooltip() {
- return fHeaderTooltip;
- }
-
- // ------------------------------------------------------------------------
- // Abstract methods
- // ------------------------------------------------------------------------
-
- /**
- * Get the string that should be displayed in this column's cell for a given
- * trace event. Basically, this defines "what to print in this column for
- * this event".
- * <p>
- * Note to implementers:
- * <p>
- * This method takes an {@link ITmfEvent}, because any type of event could
- * potentially be present in the table at the time. Do not assume that you
- * will only receive events of your trace type. You'd probably want to
- * return an empty string for event that don't match your expected class
- * type here.
- *
- * @param event
- * The trace event whose element we want to display
- * @return The string to display in the column for this event
- */
- public abstract String getItemString(ITmfEvent event);
-
- /**
- * Return the FILTER_ID used by the filters to search this column.
- *
- * @return The filter ID for this column, or 'null' to not provide a filter
- * ID (which will mean this column will probably not be
- * searchable/filterable.)
- */
- public abstract @Nullable String getFilterFieldId();
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/viewers/events/columns/TmfEventTableFieldColumn.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/viewers/events/columns/TmfEventTableFieldColumn.java
deleted file mode 100644
index fbbaed70cc..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/viewers/events/columns/TmfEventTableFieldColumn.java
+++ /dev/null
@@ -1,114 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 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:
- * Alexandre Montplaisir - Initial API and implementation
- ******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.viewers.events.columns;
-
-import org.eclipse.jdt.annotation.NonNull;
-import org.eclipse.jdt.annotation.NonNullByDefault;
-import org.eclipse.jdt.annotation.Nullable;
-import org.eclipse.linuxtools.tmf.core.event.ITmfEvent;
-import org.eclipse.linuxtools.tmf.core.event.ITmfEventField;
-
-/**
- * Event table column that will print the value of a given event field, and
- * whose column name is also the same as that field.
- *
- * @author Alexandre Montplaisir
- * @since 3.1
- */
-@NonNullByDefault
-public class TmfEventTableFieldColumn extends TmfEventTableColumn {
-
- private final String fFieldName;
-
- /**
- * Basic constructor, which uses the same name for the field name and the
- * column header.
- *
- * @param headerAndFieldName
- * The string that is both the title of the column AND the field
- * name to look for.
- */
- public TmfEventTableFieldColumn(String headerAndFieldName) {
- super(headerAndFieldName);
- fFieldName = headerAndFieldName;
- }
-
- /**
- * Advanced constructor, which can define different field name and header.
- * You can also define a tooltip, optionally.
- *
- * @param headerName
- * The header (title) of the column
- * @param fieldName
- * The field name to look for in the event content to populate
- * this column.
- * @param headerTooltip
- * The tooltip text for the column header. Use 'null' for no
- * tooltip.
- */
- public TmfEventTableFieldColumn(String headerName, String fieldName,
- @Nullable String headerTooltip) {
- super(headerName, headerTooltip);
- fFieldName = fieldName;
- }
-
- @Override
- public final String getItemString(ITmfEvent event) {
- ITmfEventField field = event.getContent().getField(fFieldName);
- if (field == null) {
- return EMPTY_STRING;
- }
- String val = field.getFormattedValue();
- return (val == null ? EMPTY_STRING : val);
- }
-
- @Override
- public @NonNull String getFilterFieldId() {
- return fFieldName;
- }
-
- // ------------------------------------------------------------------------
- // hashCode/equals (so that equivalent columns can be merged together)
- // ------------------------------------------------------------------------
-
- @Override
- public int hashCode() {
- final int prime = 31;
- int result = 1;
- result = prime * result + fFieldName.hashCode();
- result = prime * result + getHeaderName().hashCode();
- return result;
- }
-
- @Override
- public boolean equals(@Nullable Object obj) {
- if (this == obj) {
- return true;
- }
- if (obj == null) {
- return false;
- }
- if (!(obj instanceof TmfEventTableFieldColumn)) {
- return false;
- }
- TmfEventTableFieldColumn other = (TmfEventTableFieldColumn) obj;
- if (!fFieldName.equals(other.fFieldName)) {
- return false;
- }
- if (!getHeaderName().equals(other.getHeaderName())) {
- return false;
- }
- return true;
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/viewers/events/text/TmfTextEventTable.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/viewers/events/text/TmfTextEventTable.java
deleted file mode 100644
index 4238413fb4..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/viewers/events/text/TmfTextEventTable.java
+++ /dev/null
@@ -1,72 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 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:
- * Alexandre Montplaisir - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.viewers.events.text;
-
-import java.util.List;
-
-import org.eclipse.linuxtools.tmf.core.event.ITmfEvent;
-import org.eclipse.linuxtools.tmf.core.trace.text.TextTraceEvent;
-import org.eclipse.linuxtools.tmf.core.trace.text.TextTraceEventContent;
-import org.eclipse.linuxtools.tmf.ui.viewers.events.TmfEventsTable;
-import org.eclipse.linuxtools.tmf.ui.widgets.virtualtable.ColumnData;
-import org.eclipse.swt.widgets.Composite;
-
-/**
- * Event table for text traces, which has one column for every event field.
- *
- * @author Alexandre Montplaisir
- * @since 3.0
- * @deprecated Users of this class should instead use
- * {@link TmfEventsTable#TmfEventsTable(Composite, int, java.util.Collection)}
- * , by passing
- * {@link org.eclipse.linuxtools.tmf.ui.viewers.events.columns.TmfEventTableColumn}
- * or
- * {@link org.eclipse.linuxtools.tmf.ui.viewers.events.columns.TmfEventTableFieldColumn}
- * .
- */
-@Deprecated
-public class TmfTextEventTable extends TmfEventsTable {
-
- /**
- * Constructor
- *
- * @param parent
- * The parent composite UI object
- * @param cacheSize
- * The size of the event table cache
- * @param columnData
- * The column data to use for this table
- */
- public TmfTextEventTable(Composite parent, int cacheSize, ColumnData[] columnData) {
- super(parent, cacheSize, columnData);
- }
-
- /**
- * @param event
- * The event to get the column strings for. It should be an
- * instance of {@link TextTraceEvent}.
- */
- @Override
- public String[] getItemStrings(ITmfEvent event) {
- if (event instanceof TextTraceEvent) {
- List<TextTraceEventContent> fields = ((TextTraceEvent) event).getContent().getFields();
- String[] strings = new String[fields.size()];
- for (int i = 0; i < strings.length; i++) {
- Object value = fields.get(i).getValue();
- strings[i] = (value == null ? EMPTY_STRING : value.toString());
- }
- return strings;
- }
- return EMPTY_STRING_ARRAY;
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/viewers/statistics/Messages.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/viewers/statistics/Messages.java
deleted file mode 100644
index a9c23b4226..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/viewers/statistics/Messages.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2012, 2013 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:
- * Mathieu Denis <mathieu.denis@polymtl.ca> - Initial API and Implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.viewers.statistics;
-
-import org.eclipse.osgi.util.NLS;
-
-/**
- * Messages file for statistics view strings.
- *
- * @author Mathieu Denis
- * @since 2.0
- */
-public class Messages extends NLS {
-
- private static final String BUNDLE_NAME = "org.eclipse.linuxtools.tmf.ui.viewers.statistics.messages"; //$NON-NLS-1$
-
- /**
- * String for unknown trace name.
- */
- public static String TmfStatisticsView_UnknownTraceName;
-
- static {
- // initialize resource bundle
- NLS.initializeMessages(BUNDLE_NAME, Messages.class);
- }
-
- private Messages() {
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/viewers/statistics/TmfStatisticsViewer.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/viewers/statistics/TmfStatisticsViewer.java
deleted file mode 100644
index 5099779119..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/viewers/statistics/TmfStatisticsViewer.java
+++ /dev/null
@@ -1,799 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2012, 2014 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:
- * Mathieu Denis <mathieu.denis@polymtl.ca> - Initial API and implementation
- * Alexandre Montplaisir - Port to ITmfStatistics provider
- * Patrick Tasse - Support selection range
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.viewers.statistics;
-
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.jface.viewers.TreeViewer;
-import org.eclipse.jface.viewers.TreeViewerColumn;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.jface.viewers.ViewerComparator;
-import org.eclipse.linuxtools.statesystem.core.ITmfStateSystem;
-import org.eclipse.linuxtools.tmf.core.component.TmfComponent;
-import org.eclipse.linuxtools.tmf.core.request.ITmfEventRequest;
-import org.eclipse.linuxtools.tmf.core.signal.TmfSignalHandler;
-import org.eclipse.linuxtools.tmf.core.signal.TmfTimeSynchSignal;
-import org.eclipse.linuxtools.tmf.core.signal.TmfTraceRangeUpdatedSignal;
-import org.eclipse.linuxtools.tmf.core.statistics.ITmfStatistics;
-import org.eclipse.linuxtools.tmf.core.statistics.TmfStatisticsEventTypesModule;
-import org.eclipse.linuxtools.tmf.core.statistics.TmfStatisticsModule;
-import org.eclipse.linuxtools.tmf.core.timestamp.ITmfTimestamp;
-import org.eclipse.linuxtools.tmf.core.timestamp.TmfTimeRange;
-import org.eclipse.linuxtools.tmf.core.trace.ITmfTrace;
-import org.eclipse.linuxtools.tmf.core.trace.TmfExperiment;
-import org.eclipse.linuxtools.tmf.core.trace.TmfTraceManager;
-import org.eclipse.linuxtools.tmf.ui.TmfUiRefreshHandler;
-import org.eclipse.linuxtools.tmf.ui.viewers.TmfViewer;
-import org.eclipse.linuxtools.tmf.ui.viewers.statistics.model.TmfBaseColumnData;
-import org.eclipse.linuxtools.tmf.ui.viewers.statistics.model.TmfBaseColumnDataProvider;
-import org.eclipse.linuxtools.tmf.ui.viewers.statistics.model.TmfStatisticsFormatter;
-import org.eclipse.linuxtools.tmf.ui.viewers.statistics.model.TmfStatisticsTree;
-import org.eclipse.linuxtools.tmf.ui.viewers.statistics.model.TmfStatisticsTreeManager;
-import org.eclipse.linuxtools.tmf.ui.viewers.statistics.model.TmfStatisticsTreeNode;
-import org.eclipse.linuxtools.tmf.ui.viewers.statistics.model.TmfTreeContentProvider;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.graphics.Cursor;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.Listener;
-
-/**
- * A basic viewer to display statistics in the statistics view.
- *
- * It is linked to a single ITmfTrace until its disposal.
- *
- * @author Mathieu Denis
- * @since 2.0
- */
-public class TmfStatisticsViewer extends TmfViewer {
-
- /** Timestamp scale used for all statistics (nanosecond) */
- private static final byte TIME_SCALE = ITmfTimestamp.NANOSECOND_SCALE;
-
- /** The delay (in ms) between each update in live-reading mode */
- private static final long LIVE_UPDATE_DELAY = 1000;
-
- /** The actual tree viewer to display */
- private TreeViewer fTreeViewer;
-
- /** The statistics tree linked to this viewer */
- private TmfStatisticsTree fStatisticsData;
-
- /** Update range synchronization object */
- private final Object fStatisticsRangeUpdateSyncObj = new Object();
-
- /** The trace that is displayed by this viewer */
- private ITmfTrace fTrace;
-
- /** Indicates to process all events */
- private boolean fProcessAll;
-
- /** View instance counter (for multiple statistics views) */
- private static int fCountInstance = 0;
-
- /** Number of this instance. Used as an instance ID. */
- private int fInstanceNb;
-
- /** Object to store the cursor while waiting for the trace to load */
- private Cursor fWaitCursor = null;
-
- /**
- * Counts the number of times waitCursor() has been called. It avoids
- * removing the waiting cursor, since there may be multiple requests running
- * at the same time.
- */
- private int fWaitCursorCount = 0;
-
- /** Tells to send a time range request when the trace gets updated. */
- private boolean fSendRangeRequest = true;
-
- /** Reference to the trace manager */
- private final TmfTraceManager fTraceManager;
-
- /**
- * Create a basic statistics viewer. To be used in conjunction with
- * {@link TmfStatisticsViewer#init(Composite, String, ITmfTrace)}
- *
- * @param parent
- * The parent composite that will hold the viewer
- * @param viewerName
- * The name that will be assigned to this viewer
- * @param trace
- * The trace that is displayed by this viewer
- * @see TmfComponent
- */
- public TmfStatisticsViewer(Composite parent, String viewerName, ITmfTrace trace) {
- init(parent, viewerName, trace);
- fTraceManager = TmfTraceManager.getInstance();
- }
-
- /**
- * Initialize the statistics viewer.
- *
- * @param parent
- * The parent component of the viewer.
- * @param viewerName
- * The name to give to the viewer.
- * @param trace
- * The trace that will be displayed by the viewer.
- */
- public void init(Composite parent, String viewerName, ITmfTrace trace) {
- super.init(parent, viewerName);
- // Increment a counter to make sure the tree ID is unique.
- fCountInstance++;
- fInstanceNb = fCountInstance;
- fTrace = trace;
-
- // The viewer will process all events if he is assigned to an experiment
- fProcessAll = (trace instanceof TmfExperiment);
-
- initContent(parent);
- initInput();
- }
-
- @Override
- public void dispose() {
- super.dispose();
- if (fWaitCursor != null) {
- fWaitCursor.dispose();
- }
-
- // Clean the model for this viewer
- TmfStatisticsTreeManager.removeStatTreeRoot(getTreeID());
- }
-
- // ------------------------------------------------------------------------
- // Signal handlers
- // ------------------------------------------------------------------------
-
- /**
- * Handles the signal about new trace range.
- *
- * @param signal
- * The trace range updated signal
- */
- @TmfSignalHandler
- public void traceRangeUpdated(TmfTraceRangeUpdatedSignal signal) {
- ITmfTrace trace = signal.getTrace();
- // validate
- if (!isListeningTo(trace)) {
- return;
- }
-
- synchronized (fStatisticsRangeUpdateSyncObj) {
- // Sends the time range request only once from this method.
- if (fSendRangeRequest) {
- fSendRangeRequest = false;
- ITmfTimestamp begin = fTraceManager.getSelectionBeginTime();
- ITmfTimestamp end = fTraceManager.getSelectionEndTime();
- TmfTimeRange timeRange = new TmfTimeRange(begin, end);
- requestTimeRangeData(trace, timeRange);
- }
- }
- requestData(trace, signal.getRange());
- }
-
- /**
- * Handles the time synch updated signal. It updates the time range
- * statistics.
- *
- * @param signal
- * Contains the information about the new selected time range.
- * @since 2.1
- */
- @TmfSignalHandler
- public void timeSynchUpdated(TmfTimeSynchSignal signal) {
- if (fTrace == null) {
- return;
- }
- ITmfTimestamp begin = signal.getBeginTime();
- ITmfTimestamp end = signal.getEndTime();
- TmfTimeRange timeRange = new TmfTimeRange(begin, end);
- requestTimeRangeData(fTrace, timeRange);
- }
-
- // ------------------------------------------------------------------------
- // Class methods
- // ------------------------------------------------------------------------
-
- /*
- * Returns the primary control associated with this viewer.
- *
- * @return the SWT control which displays this viewer's content
- */
- @Override
- public Control getControl() {
- return fTreeViewer.getControl();
- }
-
- /**
- * Get the input of the viewer.
- *
- * @return an object representing the input of the statistics viewer.
- */
- public Object getInput() {
- return fTreeViewer.getInput();
- }
-
- /**
- * This method can be overridden to implement another way of representing
- * the statistics data and to retrieve the information for display.
- *
- * @return a TmfStatisticsData object.
- */
- public TmfStatisticsTree getStatisticData() {
- if (fStatisticsData == null) {
- fStatisticsData = new TmfStatisticsTree();
- }
- return fStatisticsData;
- }
-
- /**
- * Returns a unique ID based on name to be associated with the statistics
- * tree for this viewer. For a same name, it will always return the same ID.
- *
- * @return a unique statistics tree ID.
- */
- public String getTreeID() {
- return getName() + fInstanceNb;
- }
-
- @Override
- public void refresh() {
- final Control viewerControl = getControl();
- // Ignore update if disposed
- if (viewerControl.isDisposed()) {
- return;
- }
-
- TmfUiRefreshHandler.getInstance().queueUpdate(this, new Runnable() {
- @Override
- public void run() {
- if (!viewerControl.isDisposed()) {
- fTreeViewer.refresh();
- }
- }
- });
- }
-
- /**
- * Will force a request on the partial event count if one is needed.
- */
- public void sendPartialRequestOnNextUpdate() {
- synchronized (fStatisticsRangeUpdateSyncObj) {
- fSendRangeRequest = true;
- }
- }
-
- /**
- * Focus on the statistics tree of the viewer
- */
- public void setFocus() {
- fTreeViewer.getTree().setFocus();
- }
-
- /**
- * Cancels the request if it is not already completed
- *
- * @param request
- * The request to be canceled
- * @since 3.0
- */
- protected void cancelOngoingRequest(ITmfEventRequest request) {
- if (request != null && !request.isCompleted()) {
- request.cancel();
- }
- }
-
- /**
- * This method can be overridden to change the representation of the data in
- * the columns.
- *
- * @return An object of type {@link TmfBaseColumnDataProvider}.
- * @since 3.0
- */
- protected TmfBaseColumnDataProvider getColumnDataProvider() {
- return new TmfBaseColumnDataProvider();
- }
-
- /**
- * Initialize the content that will be drawn in this viewer
- *
- * @param parent
- * The parent of the control to create
- */
- protected void initContent(Composite parent) {
- final List<TmfBaseColumnData> columnDataList = getColumnDataProvider().getColumnData();
-
- fTreeViewer = new TreeViewer(parent, SWT.BORDER | SWT.H_SCROLL | SWT.V_SCROLL);
- fTreeViewer.setContentProvider(new TmfTreeContentProvider());
- fTreeViewer.getTree().setHeaderVisible(true);
- fTreeViewer.setUseHashlookup(true);
-
- // Creates the columns defined by the column data provider
- for (final TmfBaseColumnData columnData : columnDataList) {
- final TreeViewerColumn treeColumn = new TreeViewerColumn(fTreeViewer, columnData.getAlignment());
- treeColumn.getColumn().setText(columnData.getHeader());
- treeColumn.getColumn().setWidth(columnData.getWidth());
- treeColumn.getColumn().setToolTipText(columnData.getTooltip());
-
- // If is dummy column
- if (columnData == columnDataList.get(TmfBaseColumnDataProvider.StatsColumn.DUMMY.getIndex())) {
- treeColumn.getColumn().setResizable(false);
- }
-
- // A comparator is defined.
- if (columnData.getComparator() != null) {
- // Adds a listener on the columns header for sorting purpose.
- treeColumn.getColumn().addSelectionListener(new SelectionAdapter() {
-
- private ViewerComparator reverseComparator;
-
- @Override
- public void widgetSelected(SelectionEvent e) {
- // Initializes the reverse comparator once.
- if (reverseComparator == null) {
- reverseComparator = new ViewerComparator() {
- @Override
- public int compare(Viewer viewer, Object e1, Object e2) {
- return -1 * columnData.getComparator().compare(viewer, e1, e2);
- }
- };
- }
-
- if (fTreeViewer.getTree().getSortDirection() == SWT.UP
- || fTreeViewer.getTree().getSortColumn() != treeColumn.getColumn()) {
- /*
- * Puts the descendant order if the old order was up
- * or if the selected column has changed.
- */
- fTreeViewer.setComparator(columnData.getComparator());
- fTreeViewer.getTree().setSortDirection(SWT.DOWN);
- } else {
- /*
- * Puts the ascendant ordering if the selected
- * column hasn't changed.
- */
- fTreeViewer.setComparator(reverseComparator);
- fTreeViewer.getTree().setSortDirection(SWT.UP);
- }
- fTreeViewer.getTree().setSortColumn(treeColumn.getColumn());
- }
- });
- }
- treeColumn.setLabelProvider(columnData.getLabelProvider());
- }
-
- // Handler that will draw the percentages and the bar charts.
- fTreeViewer.getTree().addListener(SWT.EraseItem, new Listener() {
- @Override
- public void handleEvent(Event event) {
- if (columnDataList.get(event.index).getPercentageProvider() != null) {
-
- TmfStatisticsTreeNode node = (TmfStatisticsTreeNode) event.item.getData();
-
- // If node is hidden, exit immediately.
- if (TmfBaseColumnDataProvider.HIDDEN_FOLDER_LEVELS.contains(node.getName())) {
- return;
- }
-
- // Otherwise, get percentage and draw bar and text if applicable.
- double percentage = columnDataList.get(event.index).getPercentageProvider().getPercentage(node);
-
- // The item is selected.
- if ((event.detail & SWT.SELECTED) > 0) {
- // Draws our own background to avoid overwriting the bar.
- event.gc.fillRectangle(event.x, event.y, event.width, event.height);
- event.detail &= ~SWT.SELECTED;
- }
-
- // Drawing the percentage text
- // if events are present in top node
- // and the current node is not the top node
- // and if is total or partial events column.
- // If not, exit the method.
- if (!((event.index == TmfBaseColumnDataProvider.StatsColumn.TOTAL.getIndex() || event.index == TmfBaseColumnDataProvider.StatsColumn.PARTIAL.getIndex())
- && node != node.getTop())) {
- return;
- }
-
- long eventValue = event.index == TmfBaseColumnDataProvider.StatsColumn.TOTAL.getIndex() ?
- node.getTop().getValues().getTotal() : node.getTop().getValues().getPartial();
-
- if (eventValue != 0) {
-
- int oldAlpha = event.gc.getAlpha();
- Color oldForeground = event.gc.getForeground();
- Color oldBackground = event.gc.getBackground();
-
- // Bar to draw
- if (percentage != 0) {
- /*
- * Draws a transparent gradient rectangle from the
- * color of foreground and background.
- */
- int barWidth = (int) ((fTreeViewer.getTree().getColumn(event.index).getWidth() - 8) * percentage);
- event.gc.setAlpha(64);
- event.gc.setForeground(event.item.getDisplay().getSystemColor(SWT.COLOR_BLUE));
- event.gc.setBackground(event.item.getDisplay().getSystemColor(SWT.COLOR_LIST_BACKGROUND));
- event.gc.fillGradientRectangle(event.x, event.y, barWidth, event.height, true);
- event.gc.drawRectangle(event.x, event.y, barWidth, event.height);
-
- // Restore old values
- event.gc.setBackground(oldBackground);
- event.gc.setAlpha(oldAlpha);
- event.detail &= ~SWT.BACKGROUND;
-
- }
-
- String percentageText = TmfStatisticsFormatter.toPercentageText(percentage);
- String absoluteNumberText = TmfStatisticsFormatter.toColumnData(node, TmfBaseColumnDataProvider.StatsColumn.getColumn(event.index));
-
- if (event.width > event.gc.stringExtent(percentageText).x + event.gc.stringExtent(absoluteNumberText).x) {
- int textHeight = event.gc.stringExtent(percentageText).y;
- event.gc.setForeground(event.item.getDisplay().getSystemColor(SWT.COLOR_DARK_GRAY));
- event.gc.drawText(percentageText, event.x, event.y + (event.height - textHeight) / 2, true);
- }
-
- // Restores old values
- event.gc.setForeground(oldForeground);
-
- }
- }
- }
-
- });
-
- // Initializes the comparator parameters
- fTreeViewer.setComparator(columnDataList.get(0).getComparator());
- fTreeViewer.getTree().setSortColumn(fTreeViewer.getTree().getColumn(0));
- fTreeViewer.getTree().setSortDirection(SWT.DOWN);
- }
-
- /**
- * Initializes the input for the tree viewer.
- */
- protected void initInput() {
- String treeID = getTreeID();
- TmfStatisticsTreeNode statisticsTreeNode;
- if (TmfStatisticsTreeManager.containsTreeRoot(treeID)) {
- // The statistics root is already present
- statisticsTreeNode = TmfStatisticsTreeManager.getStatTreeRoot(treeID);
-
- // Checks if the trace is already in the statistics tree.
- int numNodeTraces = statisticsTreeNode.getNbChildren();
-
- ITmfTrace[] traces = TmfTraceManager.getTraceSet(fTrace);
- int numTraces = traces.length;
-
- if (numTraces == numNodeTraces) {
- boolean same = true;
- /*
- * Checks if the experiment contains the same traces as when
- * previously selected.
- */
- for (int i = 0; i < numTraces; i++) {
- String traceName = traces[i].getName();
- if (!statisticsTreeNode.containsChild(traceName)) {
- same = false;
- break;
- }
- }
-
- if (same) {
- // No need to reload data, all traces are already loaded
- fTreeViewer.setInput(statisticsTreeNode);
- return;
- }
- // Clears the old content to start over
- statisticsTreeNode.reset();
- }
- } else {
- // Creates a new tree
- statisticsTreeNode = TmfStatisticsTreeManager.addStatsTreeRoot(treeID, getStatisticData());
- }
-
- // Sets the input to a clean data model
- fTreeViewer.setInput(statisticsTreeNode);
- }
-
- /**
- * Tells if the viewer is listening to a trace.
- *
- * @param trace
- * The trace that the viewer may be listening
- * @return true if the viewer is listening to the trace, false otherwise
- */
- protected boolean isListeningTo(ITmfTrace trace) {
- if (fProcessAll || trace == fTrace) {
- return true;
- }
- return false;
- }
-
- /**
- * Called when an trace request has been completed successfully.
- *
- * @param global
- * Tells if the request is a global or time range (partial)
- * request.
- */
- protected void modelComplete(boolean global) {
- refresh();
- waitCursor(false);
- }
-
- /**
- * Called when an trace request has failed or has been cancelled.
- *
- * @param isGlobalRequest
- * Tells if the request is a global or time range (partial)
- * request.
- */
- protected void modelIncomplete(boolean isGlobalRequest) {
- if (isGlobalRequest) { // Clean the global statistics
- /*
- * No need to reset the global number of events, since the index of
- * the last requested event is known.
- */
- } else { // Clean the partial statistics
- resetTimeRangeValue();
- }
- refresh();
- waitCursor(false);
- }
-
- /**
- * Sends the request to the trace for the whole trace
- *
- * @param trace
- * The trace used to send the request
- * @param timeRange
- * The range to request to the trace
- */
- protected void requestData(final ITmfTrace trace, final TmfTimeRange timeRange) {
- buildStatisticsTree(trace, timeRange, true);
- }
-
- /**
- * Sends the time range request from the trace
- *
- * @param trace
- * The trace used to send the request
- * @param timeRange
- * The range to request to the trace
- */
- protected void requestTimeRangeData(final ITmfTrace trace, final TmfTimeRange timeRange) {
- buildStatisticsTree(trace, timeRange, false);
- }
-
- /**
- * Requests all the data of the trace to the state system which contains
- * information about the statistics.
- *
- * Since the viewer may be listening to multiple traces, it may receive an
- * experiment rather than a single trace. The filtering is done with the
- * method {@link #isListeningTo(String trace)}.
- *
- * @param trace
- * The trace for which a request must be done
- * @param timeRange
- * The time range that will be requested to the state system
- * @param isGlobal
- * Tells if the request is for the global event count or the
- * partial one.
- */
- private void buildStatisticsTree(final ITmfTrace trace, final TmfTimeRange timeRange, final boolean isGlobal) {
- final TmfStatisticsTreeNode statTree = TmfStatisticsTreeManager.getStatTreeRoot(getTreeID());
- final TmfStatisticsTree statsData = TmfStatisticsTreeManager.getStatTree(getTreeID());
- if (statsData == null) {
- return;
- }
-
- synchronized (statsData) {
- if (isGlobal) {
- statTree.resetGlobalValue();
- } else {
- statTree.resetTimeRangeValue();
- }
-
- for (final ITmfTrace aTrace : TmfTraceManager.getTraceSet(trace)) {
- if (!isListeningTo(aTrace)) {
- continue;
- }
-
- /* Retrieve the statistics object */
- final TmfStatisticsModule statsMod = aTrace.getAnalysisModuleOfClass(TmfStatisticsModule.class, TmfStatisticsModule.ID);
- if (statsMod == null) {
- /* No statistics module available for this trace */
- continue;
- }
-
- /* Run the potentially long queries in a separate thread */
- Thread statsThread = new Thread("Statistics update") { //$NON-NLS-1$
- @Override
- public void run() {
- /* Wait until the analysis is ready to be queried */
- statsMod.waitForInitialization();
- ITmfStatistics stats = statsMod.getStatistics();
- if (stats == null) {
- /* It should have worked, but didn't */
- throw new IllegalStateException();
- }
-
- /*
- * The generic statistics are stored in nanoseconds, so
- * we must make sure the time range is scaled correctly.
- */
- long start = timeRange.getStartTime().normalize(0, TIME_SCALE).getValue();
- long end = timeRange.getEndTime().normalize(0, TIME_SCALE).getValue();
-
- /*
- * Wait on the state system object we are going to query.
- *
- * TODO Eventually this could be exposed through the
- * TmfStateSystemAnalysisModule directly.
- */
- ITmfStateSystem ss = statsMod.getStateSystem(TmfStatisticsEventTypesModule.ID);
- if (ss == null) {
- /*
- * It should be instantiated after the
- * statsMod.waitForInitialization() above.
- */
- throw new IllegalStateException();
- }
-
- /*
- * Periodically update the statistics while they are
- * being built (or, if the back-end is already
- * completely built, it will skip over the while() immediately.
- */
- while (!ss.waitUntilBuilt(LIVE_UPDATE_DELAY)) {
- Map<String, Long> map = stats.getEventTypesInRange(start, end);
- updateStats(aTrace, isGlobal, map);
- }
- /* Query one last time for the final values */
- Map<String, Long> map = stats.getEventTypesInRange(start, end);
- updateStats(aTrace, isGlobal, map);
- }
- };
- statsThread.start();
- }
- }
- }
-
- /*
- * Update statistics for a given trace
- */
- private void updateStats(ITmfTrace trace, boolean isGlobal, Map<String, Long> eventsPerType) {
-
- final TmfStatisticsTree statsData = TmfStatisticsTreeManager.getStatTree(getTreeID());
- if (statsData == null) {
- /* The stat tree has been disposed, abort mission. */
- return;
- }
-
- Map<String, Long> map = eventsPerType;
- String name = trace.getName();
-
-
- /*
- * "Global", "partial", "total", etc., it's all very confusing...
- *
- * The base view shows the total count for the trace and for
- * each even types, organized in columns like this:
- *
- * | Global | Time range |
- * trace name | A | B |
- * Event Type | | |
- * <event 1> | C | D |
- * <event 2> | ... | ... |
- * ... | | |
- *
- * Here, we called the cells like this:
- * A : GlobalTotal
- * B : TimeRangeTotal
- * C : GlobalTypeCount(s)
- * D : TimeRangeTypeCount(s)
- */
-
- /* Fill in an the event counts (either cells C or D) */
- for (Map.Entry<String, Long> entry : map.entrySet()) {
- statsData.setTypeCount(name, entry.getKey(), isGlobal, entry.getValue());
- }
-
- /*
- * Calculate the totals (cell A or B, depending if isGlobal). We will
- * use the results of the previous request instead of sending another
- * one.
- */
- long globalTotal = 0;
- for (long val : map.values()) {
- globalTotal += val;
- }
- statsData.setTotal(name, isGlobal, globalTotal);
-
- modelComplete(isGlobal);
- }
-
- /**
- * Resets the number of events within the time range
- */
- protected void resetTimeRangeValue() {
- TmfStatisticsTreeNode treeModelRoot = TmfStatisticsTreeManager.getStatTreeRoot(getTreeID());
- if (treeModelRoot != null && treeModelRoot.hasChildren()) {
- treeModelRoot.resetTimeRangeValue();
- }
- }
-
- /**
- * When the trace is loading the cursor will be different so the user knows
- * that the processing is not finished yet.
- *
- * Calls to this method are stacked.
- *
- * @param waitRequested
- * Indicates if we need to show the waiting cursor, or the
- * default one.
- */
- protected void waitCursor(final boolean waitRequested) {
- if ((fTreeViewer == null) || (fTreeViewer.getTree().isDisposed())) {
- return;
- }
-
- boolean needsUpdate = false;
- Display display = fTreeViewer.getControl().getDisplay();
- if (waitRequested) {
- fWaitCursorCount++;
- if (fWaitCursor == null) { // The cursor hasn't been initialized yet
- fWaitCursor = new Cursor(display, SWT.CURSOR_WAIT);
- }
- if (fWaitCursorCount == 1) { // The cursor is not in waiting mode
- needsUpdate = true;
- }
- } else {
- if (fWaitCursorCount > 0) { // The cursor is in waiting mode
- fWaitCursorCount--;
- if (fWaitCursorCount == 0) { // No more reason to wait
- // Put back the default cursor
- needsUpdate = true;
- }
- }
- }
-
- if (needsUpdate) {
- // Performs the updates on the UI thread
- display.asyncExec(new Runnable() {
- @Override
- public void run() {
- if ((fTreeViewer != null)
- && (!fTreeViewer.getTree().isDisposed())) {
- Cursor cursor = null; // indicates default
- if (waitRequested) {
- cursor = fWaitCursor;
- }
- fTreeViewer.getControl().setCursor(cursor);
- }
- }
- });
- }
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/viewers/statistics/messages.properties b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/viewers/statistics/messages.properties
deleted file mode 100644
index c522f0aa1a..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/viewers/statistics/messages.properties
+++ /dev/null
@@ -1,13 +0,0 @@
-###############################################################################
-# Copyright (c) 2013 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:
-# Ericsson - Initial API and implementation
-###############################################################################
-
-TmfStatisticsView_UnknownTraceName=Unknown_Trace \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/viewers/statistics/model/Messages.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/viewers/statistics/model/Messages.java
deleted file mode 100755
index 7cabd61e23..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/viewers/statistics/model/Messages.java
+++ /dev/null
@@ -1,77 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011, 2013 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:
- * Mathieu Denis <mathieu.denis@polymtl.ca> - Initial API and Implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.viewers.statistics.model;
-
-import org.eclipse.osgi.util.NLS;
-
-/**
- * Message strings for the statistics framework.
- *
- * @version 2.0
- * @author Mathieu Denis
- * @since 2.0
- */
-public class Messages extends NLS {
-
- private static final String BUNDLE_NAME = "org.eclipse.linuxtools.tmf.ui.viewers.statistics.model.messages"; //$NON-NLS-1$
-
- /**
- * CPU statistic name.
- */
- public static String TmfStatisticsData_CPUs;
-
- /**
- * Event type statistic name.
- */
- public static String TmfStatisticsData_EventTypes;
-
- /**
- * Level column name
- */
- public static String TmfStatisticsView_LevelColumn;
-
- /**
- * Level column tool tip.
- */
- public static String TmfStatisticsView_LevelColumnTip;
-
- /**
- * Number of events column name.
- */
- public static String TmfStatisticsView_NbEventsColumn;
-
- /**
- * Number of events column tool tip.
- */
- public static String TmfStatisticsView_NbEventsTip;
-
- /**
- * Partial number of events column.
- * @since 2.0
- */
- public static String TmfStatisticsView_NbEventsTimeRangeColumn;
-
- /**
- * Partial number of events column tool tip.
- * @since 2.0
- */
- public static String TmfStatisticsView_NbEventsTimeRangeTip;
-
- static {
- // initialize resource bundle
- NLS.initializeMessages(BUNDLE_NAME, Messages.class);
- }
-
- private Messages() {
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/viewers/statistics/model/TmfBaseColumnData.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/viewers/statistics/model/TmfBaseColumnData.java
deleted file mode 100755
index 804e1f23f5..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/viewers/statistics/model/TmfBaseColumnData.java
+++ /dev/null
@@ -1,178 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011, 2013 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:
- * Mathieu Denis <mathieu.denis@polymtl.ca> - Initial Implementation
- * Bernd Hufmann - Added Annotations
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.viewers.statistics.model;
-
-import org.eclipse.jdt.annotation.Nullable;
-import org.eclipse.jface.viewers.ColumnLabelProvider;
-import org.eclipse.jface.viewers.ViewerComparator;
-
-/**
- * Contains all the information necessary to build a column of the table.
- *
- * @author Mathieu Denis
- * @since 2.0
- */
-public class TmfBaseColumnData {
-
- /**
- * Name of the column.
- */
- private final String fHeader;
-
- /**
- * Width of the column.
- */
- private final int fWidth;
-
- /**
- * Alignment of the column.
- */
- private final int fAlignment;
-
- /**
- * Tooltip of the column.
- */
- private final String fTooltip;
-
- /**
- * Adapts a StatisticsTreeNode into the content of it's corresponding cell
- * for that column.
- */
- private final ColumnLabelProvider fLabelProvider;
-
- /**
- * Used to sort elements of this column. Can be null.
- */
- private final @Nullable ViewerComparator fComparator;
-
- /**
- * Used to draw bar charts in this column. Can be null.
- */
- private final @Nullable ITmfColumnPercentageProvider fPercentageProvider;
-
- /**
- * Used to draw bar charts in columns.
- */
- public interface ITmfColumnPercentageProvider {
-
- /**
- * Percentage provider
- *
- * @param node
- * The statistics tree node
- * @return The value as a percentage
- */
- public double getPercentage(TmfStatisticsTreeNode node);
- }
-
- /**
- * Constructor with parameters
- *
- * @param h
- * header of the column. The name will be shown at the top of the
- * column.
- * @param w
- * width of the column.
- * @param a
- * alignment of the text
- * @param t
- * text to shown as a tooltip when the cursor comes over the
- * header
- * @param l
- * provide all the column element
- * @param c
- * used to compare element between them to be able to classify
- * the content of the columns
- * @param p
- * provide the percentage of a specific element
- */
- public TmfBaseColumnData(String h, int w, int a, String t,
- ColumnLabelProvider l, ViewerComparator c,
- ITmfColumnPercentageProvider p) {
- fHeader = h;
- fWidth = w;
- fAlignment = a;
- fTooltip = t;
- fLabelProvider = l;
- fComparator = c;
- fPercentageProvider = p;
- }
-
- /**
- * Return the column name.
- *
- * @return the name of the column.
- */
- public String getHeader() {
- return fHeader;
- }
-
- /**
- * Return the width of the column at the creation.
- *
- * @return the width of the column.
- */
- public int getWidth() {
- return fWidth;
- }
-
- /**
- * Return the alignment of the column.
- *
- * @see org.eclipse.swt.SWT
- * @return an integer representing the alignment inside the column.
- */
- public int getAlignment() {
- return fAlignment;
- }
-
- /**
- * Provide the text to show in the tooltip when the cursor comes over the
- * column header.
- *
- * @return text to show in the tooltip
- */
- public String getTooltip() {
- return fTooltip;
- }
-
- /**
- * Return the labelProvider which provides the information to put in column
- * cells.
- *
- * @return a ColumnLabelProvider.
- */
- public ColumnLabelProvider getLabelProvider() {
- return fLabelProvider;
- }
-
- /**
- * Return a ViewerComparator used to sort viewer's contents.
- *
- * @return the comparator.
- */
- public ViewerComparator getComparator() {
- return fComparator;
- }
-
- /**
- * Return the provider of the percentage. Used to draw bar charts in
- * columns.
- *
- * @return the percentageProvider.
- */
- public ITmfColumnPercentageProvider getPercentageProvider() {
- return fPercentageProvider;
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/viewers/statistics/model/TmfBaseColumnDataProvider.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/viewers/statistics/model/TmfBaseColumnDataProvider.java
deleted file mode 100755
index 53fb004b04..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/viewers/statistics/model/TmfBaseColumnDataProvider.java
+++ /dev/null
@@ -1,289 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011, 2013 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:
- * Mathieu Denis <mathieu.denis@polymtl.ca> - Implementation and Initial API
- * Vincent Perot - Add percentages to the label provider
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.viewers.statistics.model;
-
-import java.util.List;
-import java.util.Set;
-
-import org.eclipse.jface.viewers.ColumnLabelProvider;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.jface.viewers.ViewerComparator;
-import org.eclipse.linuxtools.tmf.ui.viewers.statistics.model.TmfBaseColumnData.ITmfColumnPercentageProvider;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.ui.ISharedImages;
-import org.eclipse.ui.PlatformUI;
-
-import com.google.common.collect.ImmutableList;
-import com.google.common.collect.ImmutableSet;
-
-/**
- * Create a basic list of columns with providers.
- *
- * @author Mathieu Denis
- * @since 3.0
- */
-public class TmfBaseColumnDataProvider {
-
- // ------------------------------------------------------------------------
- // Localized strings
- // ------------------------------------------------------------------------
-
- /** Level column names */
- private static final String LEVEL_COLUMN = Messages.TmfStatisticsView_LevelColumn;
-
- /** Number of events column names */
- private static final String EVENTS_COUNT_COLUMN = Messages.TmfStatisticsView_NbEventsColumn;
-
- /** Number of events in time range column names */
- private static final String PARTIAL_EVENTS_COUNT_COLUMN = Messages.TmfStatisticsView_NbEventsTimeRangeColumn;
-
- /** Level column tooltips */
- private static final String LEVEL_COLUMN_TIP = Messages.TmfStatisticsView_LevelColumnTip;
-
- /** Number of events column tooltips */
- private static final String EVENTS_COUNT_COLUMN_TIP = Messages.TmfStatisticsView_NbEventsTip;
-
- /** Number of events in time range column tooltips */
- private static final String PARTIAL_COUNT_COLUMN_TIP = Messages.TmfStatisticsView_NbEventsTimeRangeTip;
-
- // ------------------------------------------------------------------------
- // Class attributes
- // ------------------------------------------------------------------------
-
- /**
- * Level for which statistics should not be displayed.
- *
- * @since 3.0
- */
- public static final Set<String> HIDDEN_FOLDER_LEVELS = ImmutableSet.of("Event Types"); //$NON-NLS-1$
-
- private static final String EMPTY_STRING = ""; //$NON-NLS-1$
-
- // ------------------------------------------------------------------------
- // Column index (Ideally, this should not be hardcoded).
- // ------------------------------------------------------------------------
-
- /**
- * Possible columns in the view
- *
- * @since 3.0
- */
- public static enum StatsColumn {
- /**
- * Column index for the event type column.
- */
- EVENT(0),
- /**
- * Column index for the event total count column.
- */
- TOTAL(1),
- /**
- * Column index for the event partial count column.
- */
- PARTIAL(2),
- /**
- * Column index for the dummy column.
- */
- DUMMY(3);
-
- private final int colIndex;
-
- private StatsColumn(int index) {
- colIndex = index;
- }
-
- /**
- * Getter method for the column index.
- *
- * @return the index of the column
- */
- public int getIndex() {
- return colIndex;
- }
-
- /**
- * Method to get the column at a certain index.
- *
- * @param index the index of the column
- *
- * @return the column at the specified index
- */
- public static StatsColumn getColumn(int index) {
- switch(index) {
- case 0:
- return EVENT;
-
- case 1:
- return TOTAL;
-
- case 2:
- return PARTIAL;
-
- case 3:
- return DUMMY;
-
- // Other values are illegal.
- default:
- throw new IllegalArgumentException();
- }
-
- }
- }
-
- // ------------------------------------------------------------------------
- // Instance fields
- // ------------------------------------------------------------------------
-
- /**
- * Contains the list of the columns
- */
- private final List<TmfBaseColumnData> fColumnData;
-
- /**
- * Create basic columns to represent the statistics data
- */
- public TmfBaseColumnDataProvider() {
- /* List that will be used to create the table. */
- ImmutableList.Builder<TmfBaseColumnData> builder = new ImmutableList.Builder<>();
- /* Column showing the name of the events and its level in the tree */
- builder.add(new TmfBaseColumnData(
- LEVEL_COLUMN,
- 200,
- SWT.LEFT,
- LEVEL_COLUMN_TIP,
- new ColumnLabelProvider() {
- @Override
- public String getText(Object element) {
- return ((TmfStatisticsTreeNode) element).getName();
- }
-
- @Override
- public Image getImage(Object element) {
- TmfStatisticsTreeNode node = (TmfStatisticsTreeNode) element;
- if (HIDDEN_FOLDER_LEVELS.contains(node.getName())) {
- return PlatformUI.getWorkbench().getSharedImages().getImage(ISharedImages.IMG_OBJ_FOLDER);
- }
- return PlatformUI.getWorkbench().getSharedImages().getImage(ISharedImages.IMG_OBJ_ELEMENT);
- }
- },
- new ViewerComparator() {
- @Override
- public int compare(Viewer viewer, Object e1, Object e2) {
- TmfStatisticsTreeNode n1 = (TmfStatisticsTreeNode) e1;
- TmfStatisticsTreeNode n2 = (TmfStatisticsTreeNode) e2;
-
- return n1.getName().compareTo(n2.getName());
- }
- },
- null));
-
- /* Column showing the total number of events */
- builder.add(new TmfBaseColumnData(
- EVENTS_COUNT_COLUMN,
- 140,
- SWT.RIGHT,
- EVENTS_COUNT_COLUMN_TIP,
- new ColumnLabelProvider() {
- @Override
- public String getText(Object element) {
- TmfStatisticsTreeNode node = (TmfStatisticsTreeNode) element;
- if (!HIDDEN_FOLDER_LEVELS.contains(node.getName())) {
- return TmfStatisticsFormatter.toColumnData(node, StatsColumn.TOTAL);
- }
- return EMPTY_STRING;
- }
- },
- new ViewerComparator() {
- @Override
- public int compare(Viewer viewer, Object e1, Object e2) {
- TmfStatisticsTreeNode n1 = (TmfStatisticsTreeNode) e1;
- TmfStatisticsTreeNode n2 = (TmfStatisticsTreeNode) e2;
-
- return (int) (n1.getValues().getTotal() - n2.getValues().getTotal());
- }
- },
- new ITmfColumnPercentageProvider() {
- @Override
- public double getPercentage(TmfStatisticsTreeNode node) {
- TmfStatisticsTreeNode top = node.getTop();
- return (top == null || top.getValues().getTotal() == 0) ?
- 0 : (double) (node.getValues().getTotal()) / top.getValues().getTotal();
- }
- }));
-
- /* Column showing the number of events within the selected time range */
- builder.add(new TmfBaseColumnData(
- PARTIAL_EVENTS_COUNT_COLUMN,
- 140,
- SWT.RIGHT,
- PARTIAL_COUNT_COLUMN_TIP,
- new ColumnLabelProvider() {
- @Override
- public String getText(Object element) {
- TmfStatisticsTreeNode node = (TmfStatisticsTreeNode) element;
- if (!HIDDEN_FOLDER_LEVELS.contains(node.getName())) {
- return TmfStatisticsFormatter.toColumnData(node, StatsColumn.PARTIAL);
- }
- return EMPTY_STRING;
- }
-
- },
- new ViewerComparator() {
- @Override
- public int compare(Viewer viewer, Object e1, Object e2) {
- TmfStatisticsTreeNode n1 = (TmfStatisticsTreeNode) e1;
- TmfStatisticsTreeNode n2 = (TmfStatisticsTreeNode) e2;
-
- return (int) (n1.getValues().getPartial() - n2.getValues().getPartial());
- }
- },
- new ITmfColumnPercentageProvider() {
- @Override
- public double getPercentage(TmfStatisticsTreeNode node) {
- TmfStatisticsTreeNode top = node.getTop();
- return (top == null || top.getValues().getPartial() == 0) ?
- 0 : (double) (node.getValues().getPartial()) / top.getValues().getPartial();
- }
- }));
-
- /* Dummy column used to "fix" the display on Linux (using GTK) */
- builder.add(new TmfBaseColumnData(EMPTY_STRING, 1, SWT.RIGHT, EMPTY_STRING,
- new ColumnLabelProvider() {
- @Override
- public String getText(Object element) {
- return EMPTY_STRING;
- }
- },
- new ViewerComparator(),
- new ITmfColumnPercentageProvider() {
- @Override
- public double getPercentage(TmfStatisticsTreeNode node) {
- return 0;
- }
- }));
-
- fColumnData = builder.build();
- }
-
- /**
- * Return a list of the column created for the view
- *
- * @return columns list
- */
- public List<TmfBaseColumnData> getColumnData() {
- return fColumnData;
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/viewers/statistics/model/TmfStatisticsFormatter.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/viewers/statistics/model/TmfStatisticsFormatter.java
deleted file mode 100644
index 7ac6da0296..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/viewers/statistics/model/TmfStatisticsFormatter.java
+++ /dev/null
@@ -1,84 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011, 2013 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:
- * Vincent Perot - Add percentages to the label provider
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.viewers.statistics.model;
-
-import java.text.NumberFormat;
-import java.util.Locale;
-
-import org.eclipse.linuxtools.tmf.ui.viewers.statistics.model.TmfBaseColumnDataProvider.StatsColumn;
-
-/**
- * Class that format data for cells in the statistics view.
- *
- * @author Vincent Perot
- * @since 3.0
- */
-public final class TmfStatisticsFormatter {
-
- /**
- * Formatter for the column data
- */
- private static final NumberFormat FORMATTER = NumberFormat.getNumberInstance(Locale.getDefault());
-
- TmfStatisticsFormatter() {
- // Nothing to construct.
- }
-
- /**
- * Generate the string for display in a cell.
- *
- * @param node
- * Current node.
- * @param config
- * Configuration between total and partial.
- * @return The formatted string ready for display.
- */
- public static String toColumnData(TmfStatisticsTreeNode node, StatsColumn config) {
-
- long eventValue = 0;
-
- switch (config) {
-
- case TOTAL:
- eventValue = node.getValues().getTotal();
- break;
-
- case PARTIAL:
- eventValue = node.getValues().getPartial();
- break;
-
- // Other values are illegal.
- // $CASES-OMITTED$
- default:
- throw new IllegalArgumentException();
- }
-
- return FORMATTER.format(eventValue);
- }
-
- /**
- * Format the percentage according to user settings.
- *
- * @param percentage
- * the percentage to format
- * @return The formated percentage as a string.
- */
- public static String toPercentageText(double percentage) {
-
- // The cast to long is needed because the formatter cannot truncate the number.
- double truncPercentage = ((long) (1000.0 * percentage)) / 10.0;
-
- String percentageString = String.format("%s%s%s", " ", FORMATTER.format(truncPercentage), " % "); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- return percentageString;
- }
-} \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/viewers/statistics/model/TmfStatisticsTree.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/viewers/statistics/model/TmfStatisticsTree.java
deleted file mode 100755
index 509f98a91c..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/viewers/statistics/model/TmfStatisticsTree.java
+++ /dev/null
@@ -1,171 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011, 2013 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:
- * Mathieu Denis <mathieu.denis@polymtl.ca> - Implementation and Initial API
- * Alexandre Montplaisir - Merge TmfBaseStatisticsTree and AbsStatisticsTree
- * Move the tree structure logic into the nodes
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.viewers.statistics.model;
-
-
-/**
- * Base class for the statistics storage. It allow to implement a tree structure
- * while avoiding the need to run through the tree each time you need to add a
- * node at a given place.
- *
- * @author Mathieu Denis
- * @version 2.0
- * @since 2.0
- */
-public class TmfStatisticsTree {
-
- /** Header for the event type categories. */
- public static final String HEADER_EVENT_TYPES = Messages.TmfStatisticsData_EventTypes;
-
- /** Root node of this tree */
- private final TmfStatisticsTreeNode rootNode;
-
- /**
- * Default constructor. Creates base statistics tree for counting total
- * number of events and number of events per event type.
- */
- public TmfStatisticsTree() {
- rootNode = new TmfStatisticsTreeNode(this, null, new String[0]);
- }
-
- /**
- * Retrieve the root node of this tree.
- *
- * @return The root node
- */
- public TmfStatisticsTreeNode getRootNode() {
- return rootNode;
- }
-
- /**
- * Get a node.
- *
- * @param path
- * Path to the node.
- * @return The node, or null if it doesn't current exist in the tree.
- */
- public TmfStatisticsTreeNode getNode(String... path) {
- TmfStatisticsTreeNode curNode = rootNode;
- for (String pathElem : path) {
- curNode = curNode.getChild(pathElem);
- if (curNode == null) {
- /* The requested path doesn't exist, return null */
- break;
- }
- }
- return curNode;
- }
-
- /**
- * Get or create a node.
- *
- * @param path
- * Path to the node.
- * @return The requested node. Will be created if it didn't exist.
- */
- public TmfStatisticsTreeNode getOrCreateNode(String... path) {
- TmfStatisticsTreeNode curNode = rootNode;
- TmfStatisticsTreeNode nextNode;
- for (String pathElem : path) {
- nextNode = curNode.getChild(pathElem);
- if (nextNode == null) {
- nextNode = curNode.addChild(pathElem);
- }
- curNode = nextNode;
- }
- return curNode;
- }
-
- /**
- * Set the value to display in the "total" cells. This means the row
- * indicating the total count of events for a trace.
- *
- * @param traceName
- * The name of the trace (will be used as a sub-tree in the view)
- * @param isGlobal
- * Is this a for a global or a time range request? Determines if
- * this goes in the Global column or the Selected Time Range one.
- * @param qty
- * The value to display
- */
- public void setTotal(String traceName, boolean isGlobal, long qty) {
- String[][] paths = getNormalPaths(traceName);
- for (String path[] : paths) {
- getOrCreateNode(path).getValues().setValue(isGlobal, qty);
- }
- }
-
- /**
- * Set the value to display in the "Type count" cells. These are the counts
- * for each event types.
- *
- * @param traceName
- * The name of the trace (will be used as a sub-tree in the view)
- * @param type
- * The event type
- * @param isGlobal
- * Is this a for a global or a time range request? Determines if
- * this goes in the Global column or the Selected Time Range one.
- * @param qty
- * The value to display
- */
- public void setTypeCount(String traceName, String type, boolean isGlobal, long qty) {
- String[][] paths = getTypePaths(traceName, type);
- for (String[] path : paths) {
- getOrCreateNode(path).getValues().setValue(isGlobal, qty);
- }
- }
-
- /**
- * Get the event types paths.
- *
- * @param traceName
- * The name of the trace (will be used as a sub-tree in the view)
- * @param type
- * The event type
- * @return Array of arrays representing the paths
- */
- protected String[][] getTypePaths(String traceName, String type) {
- String[][] paths = { new String[] {traceName, HEADER_EVENT_TYPES, type } };
- return paths;
- }
-
- /**
- * Get the standard paths for an event.
- *
- * @param traceName
- * The name of the trace (will be used as a sub-tree in the view)
- * @return Array of arrays representing the paths
- */
- protected String[][] getNormalPaths(String traceName) {
- String[][] paths = { new String[] { traceName } };
- return paths;
- }
-
- /**
- * Function to merge many string more efficiently.
- *
- * @param strings
- * Strings to merge.
- * @return A new string containing all the strings.
- */
- protected static String mergeString(String... strings) {
- StringBuilder builder = new StringBuilder();
- for (String s : strings) {
- builder.append(s);
- }
- return builder.toString();
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/viewers/statistics/model/TmfStatisticsTreeManager.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/viewers/statistics/model/TmfStatisticsTreeManager.java
deleted file mode 100755
index 33e794cd8f..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/viewers/statistics/model/TmfStatisticsTreeManager.java
+++ /dev/null
@@ -1,118 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011, 2013 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:
- * Mathieu Denis <mathieu.denis@polymtl.ca> - Initial API
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.viewers.statistics.model;
-
-import java.util.HashMap;
-import java.util.Map;
-
-/**
- * Factory class to create and store TMF statistic trees.
- *
- * Based on a given tree node ID a TMF statistic tree is stored internally. A
- * root node is created for each tree. Using the tree node ID the statistics
- * tree can be retrieved.
- *
- * @author Mathieu Denis
- * @version 2.0
- * @since 2.0
- */
-public class TmfStatisticsTreeManager {
-
- /**
- * Contains the experiment name as the key and the traces data
- */
- private static final Map<String, TmfStatisticsTree> fTreeInstances = new HashMap<>();
-
- /**
- * Provide a statisticsTree instance per trace
- *
- * @param traceUniqueId
- * Unique ID for the trace
- * @return The root node of the corresponding trace statistics tree
- */
- public static TmfStatisticsTreeNode getStatTreeRoot(String traceUniqueId) {
-
- TmfStatisticsTree tree = getStatTree(traceUniqueId);
- if (tree == null) {
- return null;
- }
- return tree.getRootNode();
- }
-
- /**
- * Get the tree that's being used for statistics
- *
- * @param traceUniqueId
- * Unique ID for the trace
- * @return the corresponding trace statistics tree
- */
- public static TmfStatisticsTree getStatTree(String traceUniqueId) {
- if (traceUniqueId == null) {
- return null;
- }
-
- TmfStatisticsTree tree = fTreeInstances.get(traceUniqueId);
- return tree;
- }
-
- /**
- * Add the new trace statistics data in the tree. Can be used later on if
- * the same traces is selected back.
- *
- * @param traceUniqueId
- * The name of the trace which will be used as a key to store the
- * data. Must be different for each traces, otherwise the traces
- * might be overwritten which would trigger a reload of the same
- * trace.
- * @param statsData
- * The information about the trace
- * @return The newly created root node of the trace statistics tree, or null if something went wrong
- */
- public static TmfStatisticsTreeNode addStatsTreeRoot(String traceUniqueId, TmfStatisticsTree statsData) {
- if (traceUniqueId == null || statsData == null) {
- return null;
- }
- fTreeInstances.put(traceUniqueId, statsData);
- return statsData.getRootNode();
- }
-
- /**
- * Return if the given trace is currently known by the statistics manager.
- *
- * @param traceUniqueId
- * The unique ID of the trace
- * @return true if the trace id is known
- */
- public static boolean containsTreeRoot(String traceUniqueId) {
- return fTreeInstances.containsKey(traceUniqueId);
- }
-
- /**
- * Remove previously registered statistics tree.
- *
- * @param traceUniqueId
- * The unique ID of the trace
- */
- public static void removeStatTreeRoot(String traceUniqueId) {
- if (traceUniqueId != null && fTreeInstances.containsKey(traceUniqueId)) {
- fTreeInstances.remove(traceUniqueId);
- }
- }
-
- /**
- * Remove all tree and root instances
- */
- public static void removeAll() {
- fTreeInstances.clear();
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/viewers/statistics/model/TmfStatisticsTreeNode.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/viewers/statistics/model/TmfStatisticsTreeNode.java
deleted file mode 100755
index a43bcbee75..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/viewers/statistics/model/TmfStatisticsTreeNode.java
+++ /dev/null
@@ -1,252 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011, 2013 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:
- * Yann N. Dauphin <dhaemon@gmail.com> - Implementation for stats
- * Francois Godin <copelnug@gmail.com> - Re-design for new stats structure
- * Mathieu Denis <mathieu.denis@polymtl.ca> - Re-design for new stats structure (2)
- * Alexandre Montplaisir - Move the tree structure logic into the nodes
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.viewers.statistics.model;
-
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.Map;
-import java.util.concurrent.ConcurrentHashMap;
-
-/**
- * A tree where nodes can be accessed efficiently using paths.
- *
- * It works like file systems. Each node is identified by a key. A path is an
- * array of String. The elements of the array represent the path from the root
- * to this node.
- *
- * @author Mathieu Denis
- * @version 2.0
- * @since 2.0
- */
-public class TmfStatisticsTreeNode {
-
- /** Tree to which this node belongs */
- private final TmfStatisticsTree fTree;
-
- /** Path of this node. The last element represents its basename. */
- private final String[] fPath;
-
- /** Parent node */
- private final TmfStatisticsTreeNode fParent;
-
- /** Children of this node, indexed by their basename. */
- private final Map<String, TmfStatisticsTreeNode> fChildren;
-
- /** Statistics values associated to this node. */
- private final TmfStatisticsValues fValues;
-
- /**
- * Return the node at the top of the branch
- */
- private final TmfStatisticsTreeNode fTopNode;
-
- /**
- * Constructor.
- *
- * @param tree
- * Owner tree of this node
- * @param parent
- * Parent node of this one
- * @param path
- * Path to the node.
- */
- public TmfStatisticsTreeNode(TmfStatisticsTree tree,
- TmfStatisticsTreeNode parent, final String... path) {
- /*
- * The path must not contain any null element, or else we won't be able
- * to walk the tree.
- */
- for (String elem : path) {
- if (elem == null) {
- throw new IllegalArgumentException();
- }
- }
-
- fTree = tree;
- fPath = path;
- fParent = parent;
- fChildren = new ConcurrentHashMap<>();
- fValues = new TmfStatisticsValues();
-
- /* calculating top node */
- TmfStatisticsTreeNode topNode = this;
- while (topNode.getParent() != null && topNode.getParent().getParent() != null) {
- topNode = topNode.getParent();
- }
- fTopNode = topNode;
- }
-
- /**
- * Get the name for this node. It's used as the key in the parent's node.
- *
- * @return Name of this node.
- */
- public String getName() {
- if (fPath.length == 0) {
- /* This means we are the root node, which has no path itself */
- return "root"; //$NON-NLS-1$
- }
- return fPath[fPath.length - 1];
- }
-
- /**
- * Test if a node contain the specified child.
- *
- * @param childName
- * Name of the child.
- * @return true: if child with given key is present, false: if no child
- * exists with given key name
- */
- public boolean containsChild(String childName) {
- return fChildren.containsKey(childName);
- }
-
- /**
- * Retrieve the given child from this node.
- *
- * @param childName
- * The (base)name of the child you want
- * @return The child object, or null if it doesn't exist
- */
- public TmfStatisticsTreeNode getChild(String childName) {
- return fChildren.get(childName);
- }
-
- /**
- * Get the children of this node.
- *
- * @return Direct children of this node.
- */
- public Collection<TmfStatisticsTreeNode> getChildren() {
- return fChildren.values();
- }
-
- /**
- * Add a child to this node.
- *
- * @param childName
- * Name of the child to add
- * @return The newly-created child
- */
- public TmfStatisticsTreeNode addChild(String childName) {
- TmfStatisticsTreeNode child;
- String[] childPath = new String[fPath.length + 1];
- System.arraycopy(fPath, 0, childPath, 0, fPath.length);
- childPath[fPath.length] = childName;
-
- child = new TmfStatisticsTreeNode(this.fTree, this, childPath);
- fChildren.put(childName, child);
- return child;
- }
-
- /**
- * Get the number of children this node have.
- *
- * @return Number of direct children of this node.
- */
- public int getNbChildren() {
- return fChildren.size();
- }
-
- /**
- * Return the parent node.
- *
- * @return Parent node.
- */
- public TmfStatisticsTreeNode getParent() {
- return fParent;
- }
-
- /**
- * Return the top node.
- *
- * @return Top node.
- * @since 3.0
- */
- public TmfStatisticsTreeNode getTop() {
- return fTopNode;
- }
-
- /**
- * Get the path of the node.
- *
- * @return The path of the node.
- */
- public String[] getPath() {
- return fPath;
- }
-
- /**
- * Get the value of this node.
- *
- * @return Value associated with this node.
- */
- public TmfStatisticsValues getValues() {
- return fValues;
- }
-
- /**
- * Indicate if the node have children.
- *
- * @return True if the node has children.
- */
- public boolean hasChildren() {
- return (fChildren.size() > 0);
- }
-
- /**
- * Start from creation time i.e. keep key and parent but new statistics and
- * no children.
- */
- public void reset() {
- fValues.resetTotalCount();
- fValues.resetPartialCount();
- fChildren.clear();
- }
-
- /**
- * Resets the global number of events. It doesn't remove any node and
- * doesn't modify the partial event count. Works recursively.
- *
- * @since 2.0
- */
- public void resetGlobalValue() {
- for (TmfStatisticsTreeNode child : fChildren.values()) {
- child.resetGlobalValue();
- }
- fValues.resetTotalCount();
- }
-
- /**
- * Resets the number of events in the time range. It doesn't remove any node
- * and doesn't modify the global event count. Works recursively.
- *
- * @since 2.0
- */
- public void resetTimeRangeValue() {
- for (TmfStatisticsTreeNode child : fChildren.values()) {
- child.resetTimeRangeValue();
- }
- fValues.resetPartialCount();
- }
-
- @Override
- public String toString() {
- /* Used for debugging only */
- return "Stats node, path = " + Arrays.toString(fPath) + //$NON-NLS-1$
- ", values = " + fValues.toString(); //$NON-NLS-1$
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/viewers/statistics/model/TmfStatisticsValues.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/viewers/statistics/model/TmfStatisticsValues.java
deleted file mode 100755
index b1fa4d0c46..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/viewers/statistics/model/TmfStatisticsValues.java
+++ /dev/null
@@ -1,90 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011, 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:
- * Mathieu Denis <mathieu.denis@polymtl.ca> - Intial API and Implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.viewers.statistics.model;
-
-/**
- * Primitive container for Statistics values.
- *
- * Contains information about statistics that can be retrieved with any type of
- * traces.
- *
- * There are two counters : one for the total number of events in the trace, and
- * another for the number of events in the selected time range.
- *
- * @author Mathieu Denis
- * @version 2.0
- * @since 2.0
- */
-public class TmfStatisticsValues {
-
- /**
- * Total number of events.
- */
- protected long fNbEvents = 0;
-
- /**
- * Number of events within a time range (Partial event count).
- */
- protected long fNbEventsInTimeRange = 0;
-
- /**
- * @return the total events count
- */
- public long getTotal() {
- return fNbEvents;
- }
-
- /**
- * @return the partial events count within a time range
- */
- public long getPartial() {
- return fNbEventsInTimeRange;
- }
-
- /**
- * Set either the "global" or the "time range" value.
- *
- * @param global
- * True to set the global value, false for the timerange one.
- * @param nb
- * The new value to set
- */
- public void setValue(boolean global, long nb) {
- if (nb > 0) {
- if (global) {
- fNbEvents = nb;
- } else {
- fNbEventsInTimeRange = nb;
- }
- }
- }
-
- /**
- * Resets the total number of events.
- */
- public void resetTotalCount() {
- fNbEvents = 0;
- }
-
- /**
- * Resets the number of events within a time range (partial events count).
- */
- public void resetPartialCount() {
- fNbEventsInTimeRange = 0;
- }
-
- @Override
- public String toString() {
- return fNbEvents + ", " + fNbEventsInTimeRange; //$NON-NLS-1$
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/viewers/statistics/model/TmfTreeContentProvider.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/viewers/statistics/model/TmfTreeContentProvider.java
deleted file mode 100755
index 645f33fd61..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/viewers/statistics/model/TmfTreeContentProvider.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011, 2013 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:
- * Mathieu Denis <mathieu.denis@polymtl.ca> - Initial API
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.viewers.statistics.model;
-
-import org.eclipse.jface.viewers.ITreeContentProvider;
-import org.eclipse.jface.viewers.Viewer;
-
-/**
- * Adapter TreeViewers can use to interact with StatisticsTreeNode objects.
- *
- * @version 2.0
- * @since 2.0
- * @author Mathieu Denis
- * @see org.eclipse.jface.viewers.ITreeContentProvider
- */
-public class TmfTreeContentProvider implements ITreeContentProvider {
-
- @Override
- public Object[] getChildren(Object parentElement) {
- return ((TmfStatisticsTreeNode) parentElement).getChildren().toArray();
- }
-
- @Override
- public Object getParent(Object element) {
- return ((TmfStatisticsTreeNode) element).getParent();
- }
-
- @Override
- public boolean hasChildren(Object element) {
- return ((TmfStatisticsTreeNode) element).hasChildren();
- }
-
- @Override
- public Object[] getElements(Object inputElement) {
- return getChildren(inputElement);
- }
-
- @Override
- public void dispose() {
- }
-
- @Override
- public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/viewers/statistics/model/messages.properties b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/viewers/statistics/model/messages.properties
deleted file mode 100755
index 484648adca..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/viewers/statistics/model/messages.properties
+++ /dev/null
@@ -1,20 +0,0 @@
-###############################################################################
-# Copyright (c) 2013 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:
-# Ericsson - Initial API and implementation
-###############################################################################
-
-TmfStatisticsData_CPUs=CPUs
-TmfStatisticsData_EventTypes=Event Types
-TmfStatisticsView_LevelColumn=Level
-TmfStatisticsView_LevelColumnTip=Level at which statistics apply.
-TmfStatisticsView_NbEventsColumn=Events total
-TmfStatisticsView_NbEventsTip=Total amount of events contained in the trace
-TmfStatisticsView_NbEventsTimeRangeColumn=Events in selection
-TmfStatisticsView_NbEventsTimeRangeTip=Number of events in the currently selected time range
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/viewers/tree/AbstractTmfTreeViewer.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/viewers/tree/AbstractTmfTreeViewer.java
deleted file mode 100644
index 7f669bb79f..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/viewers/tree/AbstractTmfTreeViewer.java
+++ /dev/null
@@ -1,508 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 École Polytechnique de Montréal
- *
- * 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:
- * Geneviève Bastien - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.viewers.tree;
-
-import java.util.List;
-
-import org.eclipse.jdt.annotation.NonNull;
-import org.eclipse.jface.viewers.AbstractTreeViewer;
-import org.eclipse.jface.viewers.IBaseLabelProvider;
-import org.eclipse.jface.viewers.ILabelProviderListener;
-import org.eclipse.jface.viewers.ISelectionChangedListener;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.ITableColorProvider;
-import org.eclipse.jface.viewers.ITableFontProvider;
-import org.eclipse.jface.viewers.ITableLabelProvider;
-import org.eclipse.jface.viewers.ITreeContentProvider;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.jface.viewers.TreeViewer;
-import org.eclipse.jface.viewers.Viewer;
-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.ITmfTrace;
-import org.eclipse.linuxtools.tmf.ui.viewers.TmfTimeViewer;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.graphics.Font;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.Listener;
-import org.eclipse.swt.widgets.Tree;
-import org.eclipse.swt.widgets.TreeColumn;
-
-/**
- * Abstract class for viewers who will display data using a TreeViewer. It
- * automatically synchronizes with time information of the UI. It also
- * implements some common functionalities for all tree viewer, such as managing
- * the column data, content initialization and update. The viewer implementing
- * this does not have to worry about whether some code runs in the UI thread or
- * not.
- *
- * @author Geneviève Bastien
- * @since 3.0
- */
-public abstract class AbstractTmfTreeViewer extends TmfTimeViewer {
-
- private final TreeViewer fTreeViewer;
-
- // ------------------------------------------------------------------------
- // Internal classes
- // ------------------------------------------------------------------------
-
- /* The elements of the tree viewer are of type ITmfTreeViewerEntry */
- private class TreeContentProvider implements ITreeContentProvider {
-
- @Override
- public void dispose() {
- }
-
- @Override
- public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
- }
-
- @Override
- public Object[] getElements(Object inputElement) {
- if (inputElement instanceof ITmfTreeViewerEntry) {
- return ((ITmfTreeViewerEntry) inputElement).getChildren().toArray(new ITmfTreeViewerEntry[0]);
- }
- return new ITmfTreeViewerEntry[0];
- }
-
- @Override
- public Object[] getChildren(Object parentElement) {
- ITmfTreeViewerEntry entry = (ITmfTreeViewerEntry) parentElement;
- List<? extends ITmfTreeViewerEntry> children = entry.getChildren();
- return children.toArray(new ITmfTreeViewerEntry[children.size()]);
- }
-
- @Override
- public Object getParent(Object element) {
- ITmfTreeViewerEntry entry = (ITmfTreeViewerEntry) element;
- return entry.getParent();
- }
-
- @Override
- public boolean hasChildren(Object element) {
- ITmfTreeViewerEntry entry = (ITmfTreeViewerEntry) element;
- return entry.hasChildren();
- }
-
- }
-
- /**
- * Base class to provide the labels for the tree viewer. Views extending
- * this class typically need to override the getColumnText method if they
- * have more than one column to display. It also allows to change the font
- * and colors of the cells.
- */
- protected static class TreeLabelProvider implements ITableLabelProvider, ITableFontProvider, ITableColorProvider {
-
- @Override
- public void addListener(ILabelProviderListener listener) {
- }
-
- @Override
- public void dispose() {
- }
-
- @Override
- public boolean isLabelProperty(Object element, String property) {
- return false;
- }
-
- @Override
- public void removeListener(ILabelProviderListener listener) {
- }
-
- @Override
- public Image getColumnImage(Object element, int columnIndex) {
- return null;
- }
-
- @Override
- public String getColumnText(Object element, int columnIndex) {
- if ((element instanceof ITmfTreeViewerEntry) && (columnIndex == 0)) {
- ITmfTreeViewerEntry entry = (ITmfTreeViewerEntry) element;
- return entry.getName();
- }
- return new String();
- }
-
- @Override
- public Color getForeground(Object element, int columnIndex) {
- return Display.getCurrent().getSystemColor(SWT.COLOR_LIST_FOREGROUND);
- }
-
- @Override
- public Color getBackground(Object element, int columnIndex) {
- return Display.getCurrent().getSystemColor(SWT.COLOR_LIST_BACKGROUND);
- }
-
- @Override
- public Font getFont(Object element, int columnIndex) {
- return null;
- }
-
- }
-
- // ------------------------------------------------------------------------
- // Constructors and initialization methods
- // ------------------------------------------------------------------------
-
- /**
- * Constructor
- *
- * @param parent
- * The parent composite that holds this viewer
- * @param allowMultiSelect
- * Whether multiple selections are allowed
- */
- public AbstractTmfTreeViewer(Composite parent, boolean allowMultiSelect) {
- super(parent);
-
- int flags = SWT.FULL_SELECTION | SWT.H_SCROLL;
- if (allowMultiSelect) {
- flags |= SWT.MULTI;
- }
-
- /* Build the tree viewer part of the view */
- fTreeViewer = new TreeViewer(parent, flags);
- fTreeViewer.setAutoExpandLevel(AbstractTreeViewer.ALL_LEVELS);
- final Tree tree = fTreeViewer.getTree();
- tree.setHeaderVisible(true);
- tree.setLinesVisible(true);
- fTreeViewer.setContentProvider(new TreeContentProvider());
- fTreeViewer.setLabelProvider(new TreeLabelProvider());
- List<TmfTreeColumnData> columns = getColumnDataProvider().getColumnData();
- this.setTreeColumns(columns);
- }
-
- /**
- * Get the column data provider that will contain the list of columns to be
- * part of this viewer. It is called once during the constructor.
- *
- * @return The tree column data provider for this viewer.
- */
- protected abstract ITmfTreeColumnDataProvider getColumnDataProvider();
-
- /**
- * Sets the tree columns for this tree viewer
- *
- * @param columns
- * The tree column data
- */
- public void setTreeColumns(final List<TmfTreeColumnData> columns) {
- boolean hasPercentProvider = false;
- for (final TmfTreeColumnData columnData : columns) {
- columnData.createColumn(fTreeViewer);
- hasPercentProvider |= (columnData.getPercentageProvider() != null);
- }
-
- if (hasPercentProvider) {
- /*
- * Handler that will draw bar charts in the cell using a percentage
- * value.
- */
- fTreeViewer.getTree().addListener(SWT.EraseItem, new Listener() {
- @Override
- public void handleEvent(Event event) {
- if (columns.get(event.index).getPercentageProvider() != null) {
-
- double percentage = columns.get(event.index).getPercentageProvider().getPercentage(event.item.getData());
- if (percentage == 0) { // No bar to draw
- return;
- }
-
- if ((event.detail & SWT.SELECTED) > 0) {
- /*
- * The item is selected. Draw our own background to
- * avoid overwriting the bar.
- */
- event.gc.fillRectangle(event.x, event.y, event.width, event.height);
- event.detail &= ~SWT.SELECTED;
- }
-
- int barWidth = (int) ((fTreeViewer.getTree().getColumn(event.index).getWidth() - 8) * percentage);
- int oldAlpha = event.gc.getAlpha();
- Color oldForeground = event.gc.getForeground();
- Color oldBackground = event.gc.getBackground();
- /*
- * Draws a transparent gradient rectangle from the color
- * of foreground and background.
- */
- event.gc.setAlpha(64);
- event.gc.setForeground(event.item.getDisplay().getSystemColor(SWT.COLOR_BLUE));
- event.gc.setBackground(event.item.getDisplay().getSystemColor(SWT.COLOR_LIST_BACKGROUND));
- event.gc.fillGradientRectangle(event.x, event.y, barWidth, event.height, true);
- event.gc.drawRectangle(event.x, event.y, barWidth, event.height);
- /* Restores old values */
- event.gc.setForeground(oldForeground);
- event.gc.setBackground(oldBackground);
- event.gc.setAlpha(oldAlpha);
- event.detail &= ~SWT.BACKGROUND;
- }
- }
- });
- }
- }
-
- /**
- * Set the label provider that will fill the columns of the tree viewer
- *
- * @param labelProvider
- * The label provider to fill the columns
- */
- protected void setLabelProvider(IBaseLabelProvider labelProvider) {
- fTreeViewer.setLabelProvider(labelProvider);
- }
-
- /**
- * Get the tree viewer object
- *
- * @return The tree viewer object displayed by this viewer
- */
- protected TreeViewer getTreeViewer() {
- return fTreeViewer;
- }
-
- // ------------------------------------------------------------------------
- // ITmfViewer
- // ------------------------------------------------------------------------
-
- @Override
- public Control getControl() {
- return fTreeViewer.getControl();
- }
-
- @Override
- public void refresh() {
- Tree tree = fTreeViewer.getTree();
- tree.setRedraw(false);
- fTreeViewer.refresh();
- fTreeViewer.expandAll();
- tree.setRedraw(true);
- }
-
- @Override
- public void loadTrace(ITmfTrace trace) {
- super.loadTrace(trace);
- Thread thread = new Thread() {
- @Override
- public void run() {
- initializeDataSource();
- Display.getDefault().asyncExec(new Runnable() {
- @Override
- public void run() {
- clearContent();
- updateContent(getWindowStartTime(), getWindowEndTime(), false);
- }
- });
- }
- };
- thread.start();
- }
-
- // ------------------------------------------------------------------------
- // Operations
- // ------------------------------------------------------------------------
-
- /**
- * Set the currently selected items in the treeviewer
- *
- * @param selection
- * The list of selected items
- * @since 3.1
- */
- public void setSelection(@NonNull List<ITmfTreeViewerEntry> selection) {
- IStructuredSelection sel = new StructuredSelection(selection);
- fTreeViewer.setSelection(sel, true);
- }
-
- /**
- * Add a selection listener to the tree viewer. This will be called when the
- * selection changes and contain all the selected items.
- *
- * The selection change listener can be used like this:
- *
- * <pre>
- * getTreeViewer().addSelectionChangeListener(new ISelectionChangedListener() {
- * &#064;Override
- * public void selectionChanged(SelectionChangedEvent event) {
- * if (event.getSelection() instanceof IStructuredSelection) {
- * Object selection = ((IStructuredSelection) event.getSelection()).getFirstElement();
- * if (selection instanceof ITmfTreeViewerEntry) {
- * // Do something
- * }
- * }
- * }
- * });
- * </pre>
- *
- * @param listener
- * The {@link ISelectionChangedListener}
- */
- public void addSelectionChangeListener(ISelectionChangedListener listener) {
- fTreeViewer.addSelectionChangedListener(listener);
- }
-
- /**
- * Method called when the trace is loaded, to initialize any data once the
- * trace has been set, but before the first call to update the content of
- * the viewer.
- */
- protected void initializeDataSource() {
-
- }
-
- /**
- * Clears the current content of the viewer.
- */
- protected void clearContent() {
- fTreeViewer.setInput(null);
- }
-
- /**
- * Method called after the content has been updated and the new input has
- * been set on the tree.
- *
- * @param rootEntry
- * The new input of this viewer, or null if none
- * @since 3.1
- */
- protected void contentChanged(ITmfTreeViewerEntry rootEntry) {
-
- }
-
- /**
- * Requests an update of the viewer's content in a given time range or
- * selection time range. An extra parameter defines whether these times
- * correspond to the selection or the visible range, as the viewer may
- * update differently in those cases.
- *
- * @param start
- * The start time of the requested content
- * @param end
- * The end time of the requested content
- * @param isSelection
- * <code>true</code> if this time range is for a selection,
- * <code>false</code> for the visible time range
- */
- protected void updateContent(final long start, final long end, final boolean isSelection) {
- Thread thread = new Thread() {
- @Override
- public void run() {
- final ITmfTreeViewerEntry rootEntry = updateElements(start, end, isSelection);
- /* Set the input in main thread only if it didn't change */
- if (rootEntry != null) {
- Display.getDefault().asyncExec(new Runnable() {
- @Override
- public void run() {
- if (rootEntry != fTreeViewer.getInput()) {
- fTreeViewer.setInput(rootEntry);
- contentChanged(rootEntry);
- } else {
- fTreeViewer.refresh();
- fTreeViewer.expandToLevel(fTreeViewer.getAutoExpandLevel());
- }
- // FIXME should add a bit of padding
- for (TreeColumn column : fTreeViewer.getTree().getColumns()) {
- column.pack();
- }
- }
- });
- }
- }
- };
- thread.start();
- }
-
- /**
- * Update the entries to the given start/end time. An extra parameter
- * defines whether these times correspond to the selection or the visible
- * range, as the viewer may update differently in those cases. This methods
- * returns a root node that is not meant to be visible. The children of this
- * 'fake' root node are the first level of entries that will appear in the
- * tree. If no update is necessary, the method should return
- * <code>null</code>. To empty the tree, a root node containing an empty
- * list of children should be returned.
- *
- * This method is not called in the UI thread when using the default viewer
- * content update. Resource-intensive calculations here should not block the
- * UI.
- *
- * @param start
- * The start time of the requested content
- * @param end
- * The end time of the requested content
- * @param isSelection
- * <code>true</code> if this time range is for a selection,
- * <code>false</code> for the visible time range
- * @return The root entry of the list of entries to display or
- * <code>null</code> if no update necessary
- */
- protected abstract ITmfTreeViewerEntry updateElements(long start, long end, boolean isSelection);
-
- /**
- * Get the current input displayed by the viewer
- *
- * @return The input of the tree viewer, the root entry
- */
- protected ITmfTreeViewerEntry getInput() {
- return (ITmfTreeViewerEntry) fTreeViewer.getInput();
- }
-
- // ------------------------------------------------------------------------
- // Signal Handler
- // ------------------------------------------------------------------------
-
- /**
- * Signal handler for handling of the time synch signal. The times
- * correspond to the selection by the user, not the visible time range.
- *
- * @param signal
- * The time synch signal {@link TmfTimeSynchSignal}
- */
- @Override
- @TmfSignalHandler
- public void selectionRangeUpdated(TmfTimeSynchSignal signal) {
- super.selectionRangeUpdated(signal);
- if ((signal.getSource() != this) && (getTrace() != null)) {
- updateContent(this.getSelectionBeginTime(), this.getSelectionEndTime(), true);
- }
- }
-
- /**
- * Signal handler for handling of the time range synch signal. This time
- * range is the visible zone of the view.
- *
- * @param signal
- * The time range synch signal {@link TmfRangeSynchSignal}
- */
- @Override
- @TmfSignalHandler
- public void timeRangeUpdated(TmfRangeSynchSignal signal) {
- super.timeRangeUpdated(signal);
- updateContent(this.getWindowStartTime(), this.getWindowEndTime(), false);
- }
-
- @Override
- public void reset() {
- super.reset();
- clearContent();
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/viewers/tree/ITmfTreeColumnDataProvider.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/viewers/tree/ITmfTreeColumnDataProvider.java
deleted file mode 100755
index 26a62da2ed..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/viewers/tree/ITmfTreeColumnDataProvider.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011, 2014 Ericsson, École Polytechnique de Montréal
- *
- * 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:
- * Mathieu Denis - Initial API and Implementation
- * Geneviève Bastien - Moved class and adapted it to abstract tree viewer
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.viewers.tree;
-
-import java.util.List;
-
-/**
- * Basic methods that must be implemented in a column data provider. Tree
- * viewers will use class implementing this to populate the columns.
- *
- * @author Mathieu Denis
- * @since 3.0
- */
-public interface ITmfTreeColumnDataProvider {
-
- /**
- * Return a list of the column created for the view
- *
- * @return columns list
- */
- List<TmfTreeColumnData> getColumnData();
-} \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/viewers/tree/ITmfTreeViewerEntry.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/viewers/tree/ITmfTreeViewerEntry.java
deleted file mode 100644
index 11e5b7af67..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/viewers/tree/ITmfTreeViewerEntry.java
+++ /dev/null
@@ -1,57 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 École Polytechnique de Montréal
- *
- * 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:
- * Geneviève Bastien - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.viewers.tree;
-
-import java.util.List;
-
-import org.eclipse.jdt.annotation.NonNull;
-
-/**
- * Interface for an entry (row) in a TMF tree viewer
- *
- * @author Geneviève Bastien
- * @since 3.0
- */
-public interface ITmfTreeViewerEntry {
-
- /**
- * Returns the parent of this entry, or <code>null</code> if it has none.
- *
- * @return the parent element, or <code>null</code> if it has none
- */
- ITmfTreeViewerEntry getParent();
-
- /**
- * Returns whether this entry has children.
- *
- * @return <code>true</code> if the given element has children,
- * and <code>false</code> if it has no children
- */
- boolean hasChildren();
-
- /**
- * Returns the child elements of this entry.
- *
- * @return an array of child elements
- */
- @NonNull
- List<? extends ITmfTreeViewerEntry> getChildren();
-
- /**
- * Returns the name of this entry.
- *
- * @return the entry name
- */
- String getName();
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/viewers/tree/TmfTreeColumnData.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/viewers/tree/TmfTreeColumnData.java
deleted file mode 100644
index 3f3053b798..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/viewers/tree/TmfTreeColumnData.java
+++ /dev/null
@@ -1,266 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011, 2014 Ericsson, École Polytechnique de Montréal
- *
- * 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:
- * Mathieu Denis - Initial Implementation and API (in TmfBaseColumnData of
- * statistics framework)
- * Bernd Hufmann - Added Annotations
- * Geneviève Bastien - Moved TmfBaseColumnData to this class and adapted
- * it for the abstract tree viewer
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.viewers.tree;
-
-import org.eclipse.jdt.annotation.NonNull;
-import org.eclipse.jface.viewers.TreeViewer;
-import org.eclipse.jface.viewers.TreeViewerColumn;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.jface.viewers.ViewerComparator;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.widgets.Tree;
-
-/**
- * Represents a column in an abstract tree viewer. It allows to define the
- * column's characteristics: text, width, alignment, tooltip, comparators,
- * percent providers, whether the column is movable, etc.
- *
- * @author Geneviève Bastien
- * @since 3.0
- */
-public class TmfTreeColumnData {
- /** Name of the column. */
- private final String fText;
- /** Width of the column. */
- private int fWidth = -1;
- /** Alignment of the column. */
- private int fAlignment = SWT.LEAD;
- /** Tooltip of the column. */
- private String fTooltip = null;
- /** Used to sort elements of this column. If null, column is not sortable. */
- private ViewerComparator fComparator = null;
- /** Whether the column is movable */
- private boolean fMovable = false;
- /** Used to draw bar charts in this column. Can be null. */
- private ITmfColumnPercentageProvider fPercentageProvider = null;
-
- /** Used to draw bar charts in columns. */
- public interface ITmfColumnPercentageProvider {
-
- /**
- * Percentage provider. Returns a percentage (between 0 and 100) from
- * the given object. The object is usually an entry (a line of the tree
- * viewer).
- *
- * @param data
- * The data object corresponding to a line in the tree.
- * @return The value as a percentage (between 0 and 100)
- */
- public double getPercentage(Object data);
- }
-
- /**
- * Constructor with parameters
- *
- * @param text
- * Text of the column. The name will be shown at the top of the
- * column.
- */
- public TmfTreeColumnData(String text) {
- fText = text;
- }
-
- /**
- * Get the header text of a column
- *
- * @return The header text
- */
- public String getText() {
- return fText;
- }
-
- /**
- * Get the width of the column
- *
- * @return The column width
- */
- public int getWidth() {
- return fWidth;
- }
-
- /**
- * Get the alignment of the column
- *
- * @return The alignment (for example SWT.LEAD, SWT.RIGHT, etc)
- */
- public int getAlignment() {
- return fAlignment;
- }
-
- /**
- * Get the tooltip text to go with this column
- *
- * @return The tooltip text
- */
- public String getTooltip() {
- return fTooltip;
- }
-
- /**
- * Get the comparator used to sort columns. If <code>null</code>, then the
- * column is not sortable
- *
- * @return The column comparator
- */
- public ViewerComparator getComparator() {
- return fComparator;
- }
-
- /**
- * Get the percentage provider for this column. This will allow to draw a
- * bar chart inside the cells of this columns
- *
- * @return The percentage provider
- */
- public ITmfColumnPercentageProvider getPercentageProvider() {
- return fPercentageProvider;
- }
-
- /**
- * Return whether the column is movable or not
- *
- * @return True if column can be moved, false otherwise.
- */
- public boolean isMovable() {
- return fMovable;
- }
-
- /**
- * Set the width of the column. If not set, -1 is used.
- *
- * @param width
- * Width of the column. Use -1 for tree viewer's default
- * behavior.
- */
- public void setWidth(int width) {
- fWidth = width;
- }
-
- /**
- * Set the alignment of this column. If not set, default value is SWT.LEAD.
- *
- * @param alignment
- * Alignment of the column. For example, SWT.LEAD, SWT.RIGHT,
- * SWT.LEFT
- */
- public void setAlignment(int alignment) {
- fAlignment = alignment;
- }
-
- /**
- * Set the tooltip associated with this column
- *
- * @param tooltip
- * the tooltip text
- */
- public void setTooltip(String tooltip) {
- fTooltip = tooltip;
- }
-
- /**
- * Set the comparator used to sort the column
- *
- * @param comparator
- * The comparator. Use <code>null</code> to not sort the column.
- */
- public void setComparator(ViewerComparator comparator) {
- fComparator = comparator;
- }
-
- /**
- * Set the percentage provider that will provide a percentage value to draw
- * a bar chart inside the cells of this column
- *
- * @param percentProvider
- * The percentage provider
- */
- public void setPercentageProvider(ITmfColumnPercentageProvider percentProvider) {
- fPercentageProvider = percentProvider;
- }
-
- /**
- * Set whether the column can be moved in the tree viewer. Default is false.
- *
- * @param movable
- * true if the column can be moved, false otherwise
- */
- public void setMovable(boolean movable) {
- fMovable = movable;
- }
-
- /**
- * Create a TreeColumn with this column's data and adds it to a {@link Tree}
- *
- * @param treeViewer
- * The {@link TreeViewer} object to add the column to
- * @return The newly created {@link TreeViewerColumn}
- */
- @NonNull
- public TreeViewerColumn createColumn(final TreeViewer treeViewer) {
- final TreeViewerColumn column = new TreeViewerColumn(treeViewer, getAlignment());
- final TmfTreeColumnData columnData = this;
- column.getColumn().setText(getText());
- if (getWidth() != -1) {
- column.getColumn().setWidth(getWidth());
- }
- if (getTooltip() != null) {
- column.getColumn().setToolTipText(getTooltip());
- }
- column.getColumn().setMoveable(isMovable());
-
- /* Add the comparator to sort the column */
- if (getComparator() != null) {
- column.getColumn().addSelectionListener(new SelectionAdapter() {
-
- @Override
- public void widgetSelected(SelectionEvent e) {
-
- if (treeViewer.getTree().getSortDirection() == SWT.UP || treeViewer.getTree().getSortColumn() != column.getColumn()) {
- /*
- * Puts the descendant order if the old order was up
- * or if the selected column has changed.
- */
- treeViewer.setComparator(columnData.getComparator());
- treeViewer.getTree().setSortDirection(SWT.DOWN);
- } else {
- ViewerComparator reverseComparator;
- /* Initializes the reverse comparator. */
- reverseComparator = new ViewerComparator() {
- @Override
- public int compare(Viewer viewer, Object e1, Object
- e2) {
- return -1 * columnData.getComparator().compare(viewer, e1, e2);
- }
- };
-
- /*
- * Puts the ascendant ordering if the selected
- * column hasn't changed.
- */
- treeViewer.setComparator(reverseComparator);
- treeViewer.getTree().setSortDirection(SWT.UP);
- }
- treeViewer.getTree().setSortColumn(column.getColumn());
- }
- });
- }
-
- return column;
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/viewers/tree/TmfTreeViewerEntry.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/viewers/tree/TmfTreeViewerEntry.java
deleted file mode 100644
index d9c96c61c4..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/viewers/tree/TmfTreeViewerEntry.java
+++ /dev/null
@@ -1,107 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 École Polytechnique de Montréal
- *
- * 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:
- * Geneviève Bastien - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.viewers.tree;
-
-import java.util.List;
-import java.util.concurrent.CopyOnWriteArrayList;
-
-import org.eclipse.jdt.annotation.NonNull;
-
-/**
- * Basic implementation of an entry for the TMF tree viewer. A name is all that is needed for this entry.
- *
- * @author Geneviève Bastien
- * @since 3.0
- */
-public class TmfTreeViewerEntry implements ITmfTreeViewerEntry {
-
- /** Entry's parent */
- private ITmfTreeViewerEntry fParent = null;
-
- /** List of child entries */
- @NonNull
- private final List<ITmfTreeViewerEntry> fChildren = new CopyOnWriteArrayList<>();
-
- /** Name of this entry (default text to show in first column) */
- private String fName;
-
- /**
- * Constructor
- *
- * @param name
- * The name of this entry
- */
- public TmfTreeViewerEntry(String name) {
- fName = name;
- }
-
- // ---------------------------------------------
- // Getters and setters
- // ---------------------------------------------
-
- @Override
- public ITmfTreeViewerEntry getParent() {
- return fParent;
- }
-
- /**
- * Sets the entry's parent
- *
- * @param entry The new parent entry
- */
- protected void setParent(ITmfTreeViewerEntry entry) {
- fParent = entry;
- }
-
- @Override
- public boolean hasChildren() {
- return fChildren.size() > 0;
- }
-
- @Override
- public List<ITmfTreeViewerEntry> getChildren() {
- return fChildren;
- }
-
- @Override
- public String getName() {
- return fName;
- }
-
- /**
- * Update the entry name
- *
- * @param name
- * the updated entry name
- */
- public void setName(String name) {
- fName = name;
- }
-
- /**
- * Add a child entry to this one
- *
- * @param child
- * The child entry
- */
- public void addChild(TmfTreeViewerEntry child) {
- child.fParent = this;
- fChildren.add(child);
- }
-
- @Override
- public String toString() {
- return getClass().getSimpleName() + '[' + fName + ']';
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/viewers/xycharts/ITmfChartTimeProvider.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/viewers/xycharts/ITmfChartTimeProvider.java
deleted file mode 100644
index 0b5439e4d1..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/viewers/xycharts/ITmfChartTimeProvider.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2013, 2014 Ericsson, École Polytechnique de Montréal
- *
- * 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:
- * Bernd Hufmann - Initial API and implementation
- * Geneviève Bastien - Moved some methods to ITmfTimeProvider
- **********************************************************************/
-package org.eclipse.linuxtools.tmf.ui.viewers.xycharts;
-
-import org.eclipse.linuxtools.tmf.ui.viewers.ITmfTimeProvider;
-
-/**
- * Interface adding some methods specific for SWT charts to the base time
- * provider interface. Typically, the time will be shown on the x-axis.
- *
- * @author Bernd Hufmann
- * @since 3.0
- */
-public interface ITmfChartTimeProvider extends ITmfTimeProvider {
-
- /**
- * Returns a constant time offset that is used to normalize the time values
- * to a range of 0..53 bits to avoid loss of precision when converting long
- * <-> double.
- *
- * Time values are stored in TMF as long values. The SWT chart library uses
- * values of type double (on x and y axis). To avoid loss of precision when
- * converting long <-> double the values need to fit within 53 bits.
- *
- * Subtract the offset when using time values provided externally for
- * internal usage in SWT chart. Add the offset when using time values
- * provided by SWT chart (e.g. for display purposes) and when broadcasting
- * them externally (e.g. time synchronization signals).
- *
- * For example the offset can be calculated as the time of the first time
- * value in the current time range to be displayed in the chart. Add +1 to
- * avoid 0 when using logarithmic scale.
- *
- * t0=10000, t2=20000, tn=N -> timeOffset=t0-1 -> t0'=1, t1'=10001,
- * tn'=N-timeOffset
- *
- * where t0 ... tn are times used externally and t0' ... tn' are times used
- * internally by the SWT chart.
- *
- * @return the time offset
- */
- long getTimeOffset();
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/viewers/xycharts/TmfBaseProvider.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/viewers/xycharts/TmfBaseProvider.java
deleted file mode 100644
index dcc5690c0f..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/viewers/xycharts/TmfBaseProvider.java
+++ /dev/null
@@ -1,155 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2013, 2014 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:
- * Bernd Hufmann - Initial API and implementation
- **********************************************************************/
-package org.eclipse.linuxtools.tmf.ui.viewers.xycharts;
-
-import org.swtchart.Chart;
-import org.swtchart.IAxis;
-
-/**
- * Base class for any provider such as tool tip, zoom and selection providers.
- *
- * @author Bernd Hufmann
- * @since 3.0
- */
-abstract public class TmfBaseProvider {
-
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
- /** Reference to the chart viewer */
- private final ITmfChartTimeProvider fChartViewer;
-
- // ------------------------------------------------------------------------
- // Constructors
- // ------------------------------------------------------------------------
-
- /**
- * Standard constructor.
- *
- * @param tmfChartViewer
- * The parent histogram object
- */
- public TmfBaseProvider(ITmfChartTimeProvider tmfChartViewer) {
- fChartViewer = tmfChartViewer;
- }
-
- // ------------------------------------------------------------------------
- // Accessors
- // ------------------------------------------------------------------------
- /**
- * Returns the chart viewer reference.
- * @return the chart viewer reference
- */
- public ITmfChartTimeProvider getChartViewer() {
- return fChartViewer;
- }
-
- /**
- * Returns the SWT chart reference
- *
- * @return SWT chart reference.
- */
- protected Chart getChart() {
- return (Chart) fChartViewer.getControl();
- }
-
- /**
- * Limits x data coordinate to window start and window end range
- *
- * @param x
- * x to limit
- * @return x if x >= begin && x <= end
- * begin if x < begin
- * end if x > end
- */
- protected long limitXDataCoordinate(double x) {
- ITmfChartTimeProvider viewer = getChartViewer();
- long windowStartTime = viewer.getWindowStartTime() - viewer.getTimeOffset();
- long windowEndTime = viewer.getWindowEndTime() - viewer.getTimeOffset();
-
- if (x < windowStartTime) {
- return windowStartTime;
- }
-
- if (x > windowEndTime) {
- return windowEndTime;
- }
-
- return (long) x;
- }
-
- /**
- * Limits x pixel coordinate to window start and window end range
- *
- * @param axisIndex
- * index of x-axis
- * @param x
- * x to limit
- * @return x if x >= begin && x <= end
- * begin if x < begin
- * end if x > end
- */
- protected int limitXPixelCoordinate(int axisIndex, int x) {
- ITmfChartTimeProvider viewer = getChartViewer();
- long windowStartTime = viewer.getWindowStartTime() - viewer.getTimeOffset();
- long windowEndTime = viewer.getWindowEndTime() - viewer.getTimeOffset();
-
- IAxis xAxis = getChart().getAxisSet().getXAxis(0);
- int startX = xAxis.getPixelCoordinate(windowStartTime);
- if (x < startX) {
- return startX;
- }
-
- int endX = xAxis.getPixelCoordinate(windowEndTime);
- if (x > endX) {
- return endX;
- }
-
- return x;
- }
-
- // ------------------------------------------------------------------------
- // Operations
- // ------------------------------------------------------------------------
- /**
- * Method deregisters provider from chart viewer. Subclasses may override this method
- * to dispose any resources.
- */
- public void dispose() {
- deregister();
- }
-
- /**
- * Method to refresh the viewer. It will redraw the viewer.
- */
- public void refresh() {
- if (!TmfXYChartViewer.getDisplay().isDisposed()) {
- TmfXYChartViewer.getDisplay().asyncExec(new Runnable() {
- @Override
- public void run() {
- getChart().redraw();
- }
- });
- }
- }
-
- /**
- * Method to register the provider to chart viewer.
- */
- protected abstract void register();
-
- /**
- * Method to deregister the provider from chart viewer.
- */
- protected abstract void deregister();
-
-} \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/viewers/xycharts/TmfChartTimeStampFormat.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/viewers/xycharts/TmfChartTimeStampFormat.java
deleted file mode 100644
index dd791bb8ae..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/viewers/xycharts/TmfChartTimeStampFormat.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2013, 2014 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:
- * Bernd Hufmann - Initial API and implementation
- **********************************************************************/
-package org.eclipse.linuxtools.tmf.ui.viewers.xycharts;
-
-import java.text.FieldPosition;
-import java.text.SimpleDateFormat;
-import java.util.Date;
-
-import org.eclipse.linuxtools.tmf.core.timestamp.TmfTimestampFormat;
-
-/**
- * SimpleDateFormat class for displaying time information in SWT charts
- * using the TmfTimestampFormat class.
- *
- * @author Bernd Hufmann
- * @since 3.0
- */
-public class TmfChartTimeStampFormat extends SimpleDateFormat {
-
- // ------------------------------------------------------------------------
- // Constants
- // ------------------------------------------------------------------------
- private static final long serialVersionUID = 3719743469686142387L;
-
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
- private long fOffset;
-
- // ------------------------------------------------------------------------
- // Constructors
- // ------------------------------------------------------------------------
- /**
- * Standard Constructor
- *
- * @param offset
- * offset to apply before formatting time (time = time + offset)
- */
- public TmfChartTimeStampFormat(long offset) {
- fOffset = offset;
- }
-
- // ------------------------------------------------------------------------
- // Operations
- // ------------------------------------------------------------------------
- @Override
- public StringBuffer format(Date date, StringBuffer toAppendTo, FieldPosition fieldPosition) {
-
- long time = date.getTime() + fOffset;
- toAppendTo.append(TmfTimestampFormat.getDefaulTimeFormat().format(time));
- return toAppendTo;
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/viewers/xycharts/TmfMouseDragProvider.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/viewers/xycharts/TmfMouseDragProvider.java
deleted file mode 100644
index 7d8c5ca52e..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/viewers/xycharts/TmfMouseDragProvider.java
+++ /dev/null
@@ -1,135 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2014 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:
- * Bernd Hufmann - Initial API and implementation
- **********************************************************************/
-package org.eclipse.linuxtools.tmf.ui.viewers.xycharts;
-
-import org.eclipse.swt.events.MouseEvent;
-import org.eclipse.swt.events.MouseListener;
-import org.eclipse.swt.events.MouseMoveListener;
-import org.swtchart.IAxis;
-import org.swtchart.Range;
-
-/**
- * Class for updating time ranges based on middle mouse button drag.
- * It also notifies the viewer about a change of range.
- *
- * @author Bernd Hufmann
- * @since 3.0
- */
-public class TmfMouseDragProvider extends TmfBaseProvider implements MouseListener, MouseMoveListener {
-
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
- /** Cached start time */
- private long fStartTime;
- /** Cached end time */
- private long fEndTime;
- /** Flag indicating that an update is ongoing */
- private boolean fIsUpdate;
- /** Cached position when mouse button was pressed */
- private int fStartPosition;
-
- // ------------------------------------------------------------------------
- // Constructors
- // ------------------------------------------------------------------------
- /**
- * Default constructor
- *
- * @param tmfChartViewer
- * the chart viewer reference.
- */
- public TmfMouseDragProvider(ITmfChartTimeProvider tmfChartViewer) {
- super(tmfChartViewer);
- register();
- }
-
- // ------------------------------------------------------------------------
- // TmfBaseProvider
- // ------------------------------------------------------------------------
- @Override
- public void register() {
- getChart().getPlotArea().addMouseListener(this);
- getChart().getPlotArea().addMouseMoveListener(this);
- }
-
- @Override
- public void deregister() {
- if ((getChartViewer().getControl() != null) && !getChartViewer().getControl().isDisposed()) {
- getChart().getPlotArea().removeMouseListener(this);
- getChart().getPlotArea().removeMouseMoveListener(this);
- }
- }
-
- @Override
- public void refresh() {
- // nothing to do
- }
-
- // ------------------------------------------------------------------------
- // MouseListener
- // ------------------------------------------------------------------------
- @Override
- public void mouseDoubleClick(MouseEvent e) {
- }
-
- @Override
- public void mouseDown(MouseEvent e) {
- if ((getChartViewer().getWindowDuration() != 0) && (e.button == 2)) {
- fStartPosition = e.x;
- fIsUpdate = true;
- }
- }
-
- @Override
- public void mouseUp(MouseEvent e) {
- if ((fIsUpdate) && (fStartTime != fEndTime)) {
- ITmfChartTimeProvider viewer = getChartViewer();
- viewer.updateWindow(fStartTime, fEndTime);
- }
- fIsUpdate = false;
- }
-
- // ------------------------------------------------------------------------
- // MouseMoveListener
- // ------------------------------------------------------------------------
- @Override
- public void mouseMove(MouseEvent e) {
- if (fIsUpdate) {
- IAxis xAxis = getChart().getAxisSet().getXAxis(0);
-
- ITmfChartTimeProvider viewer = getChartViewer();
-
- fStartTime = viewer.getWindowStartTime();
- fEndTime = viewer.getWindowEndTime();
-
- long startTime = viewer.getStartTime();
- long endTime = viewer.getEndTime();
-
- long delta = 0;
- if (fStartPosition > e.x) {
- delta = (long) (xAxis.getDataCoordinate(fStartPosition) - xAxis.getDataCoordinate(e.x));
- long max = endTime - fEndTime;
- delta = Math.max(0, Math.min(delta, max));
- fStartTime = fStartTime + delta;
- fEndTime = fEndTime + delta;
- } else if (fStartPosition < e.x) {
- delta = (long) (xAxis.getDataCoordinate(e.x) - xAxis.getDataCoordinate(fStartPosition));
- long max = fStartTime - startTime;
- delta = Math.max(0, Math.min(delta, max));
- fStartTime = fStartTime - delta;
- fEndTime = fEndTime - delta;
- }
-
- xAxis.setRange(new Range(fStartTime - viewer.getTimeOffset(), fEndTime - viewer.getTimeOffset()));
- }
- }
-} \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/viewers/xycharts/TmfMouseDragZoomProvider.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/viewers/xycharts/TmfMouseDragZoomProvider.java
deleted file mode 100644
index 85ab035a2b..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/viewers/xycharts/TmfMouseDragZoomProvider.java
+++ /dev/null
@@ -1,152 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2013, 2014 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:
- * Bernd Hufmann - Initial API and implementation
- **********************************************************************/
-package org.eclipse.linuxtools.tmf.ui.viewers.xycharts;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.MouseEvent;
-import org.eclipse.swt.events.MouseListener;
-import org.eclipse.swt.events.MouseMoveListener;
-import org.eclipse.swt.events.PaintEvent;
-import org.swtchart.IAxis;
-import org.swtchart.ICustomPaintListener;
-import org.swtchart.IPlotArea;
-
-/**
- * Class for providing zooming based on mouse drag with right mouse button.
- * It also notifies the viewer about a change of range.
- *
- * @author Bernd Hufmann
- * @since 3.0
- */
-public class TmfMouseDragZoomProvider extends TmfBaseProvider implements MouseListener, MouseMoveListener, ICustomPaintListener {
-
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
- /** Cached start time */
- private long fStartTime;
- /** Cached end time */
- private long fEndTime;
- /** Flag indicating that an update is ongoing */
- private boolean fIsUpdate;
-
- // ------------------------------------------------------------------------
- // Constructors
- // ------------------------------------------------------------------------
- /**
- * Default constructor
- *
- * @param tmfChartViewer
- * the chart viewer reference.
- */
- public TmfMouseDragZoomProvider(ITmfChartTimeProvider tmfChartViewer) {
- super(tmfChartViewer);
- register();
- }
-
- // ------------------------------------------------------------------------
- // TmfBaseProvider
- // ------------------------------------------------------------------------
- @Override
- public void register() {
- getChart().getPlotArea().addMouseListener(this);
- getChart().getPlotArea().addMouseMoveListener(this);
- ((IPlotArea) getChart().getPlotArea()).addCustomPaintListener(this);
- }
-
- @Override
- public void deregister() {
- if ((getChartViewer().getControl() != null) && !getChartViewer().getControl().isDisposed()) {
- getChart().getPlotArea().removeMouseListener(this);
- getChart().getPlotArea().removeMouseMoveListener(this);
- ((IPlotArea) getChart().getPlotArea()).removeCustomPaintListener(this);
- }
- }
-
- @Override
- public void refresh() {
- // nothing to do
- }
-
- // ------------------------------------------------------------------------
- // MouseListener
- // ------------------------------------------------------------------------
- @Override
- public void mouseDoubleClick(MouseEvent e) {
- }
-
- @Override
- public void mouseDown(MouseEvent e) {
- if ((getChartViewer().getWindowDuration() != 0) && (e.button == 3)) {
- IAxis xAxis = getChart().getAxisSet().getXAxis(0);
- fStartTime = limitXDataCoordinate(xAxis.getDataCoordinate(e.x));
- fEndTime = fStartTime;
- fIsUpdate = true;
- }
- }
-
- @Override
- public void mouseUp(MouseEvent e) {
- if ((fIsUpdate) && (fStartTime != fEndTime)) {
- if (fStartTime > fEndTime) {
- long tmp = fStartTime;
- fStartTime = fEndTime;
- fEndTime = tmp;
- }
- ITmfChartTimeProvider viewer = getChartViewer();
- viewer.updateWindow(fStartTime + viewer.getTimeOffset(), fEndTime + viewer.getTimeOffset());
- }
-
- if (fIsUpdate) {
- getChart().redraw();
- }
- fIsUpdate = false;
- }
-
- // ------------------------------------------------------------------------
- // MouseMoveListener
- // ------------------------------------------------------------------------
- @Override
- public void mouseMove(MouseEvent e) {
- if (fIsUpdate) {
- IAxis xAxis = getChart().getAxisSet().getXAxis(0);
- fEndTime = limitXDataCoordinate(xAxis.getDataCoordinate(e.x));
- getChart().redraw();
- }
- }
-
- // ------------------------------------------------------------------------
- // ICustomPaintListener
- // ------------------------------------------------------------------------
- @Override
- public void paintControl(PaintEvent e) {
- if (fIsUpdate && (fStartTime != fEndTime)) {
- IAxis xAxis = getChart().getAxisSet().getXAxis(0);
- int startX = xAxis.getPixelCoordinate(fStartTime);
- int endX = xAxis.getPixelCoordinate(fEndTime);
-
- e.gc.setBackground(TmfXYChartViewer.getDisplay().getSystemColor(SWT.COLOR_TITLE_INACTIVE_BACKGROUND));
- if (fStartTime < fEndTime) {
- e.gc.fillRectangle(startX, 0, endX - startX, e.height);
- } else {
- e.gc.fillRectangle(endX, 0, startX - endX, e.height);
- }
- e.gc.drawLine(startX, 0, startX, e.height);
- e.gc.drawLine(endX, 0, endX, e.height);
- }
- }
-
- @Override
- public boolean drawBehindSeries() {
- return true;
- }
-} \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/viewers/xycharts/TmfMouseSelectionProvider.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/viewers/xycharts/TmfMouseSelectionProvider.java
deleted file mode 100644
index a38b2b27e0..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/viewers/xycharts/TmfMouseSelectionProvider.java
+++ /dev/null
@@ -1,164 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2013, 2014 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:
- * Bernd Hufmann - Initial API and implementation
- **********************************************************************/
-package org.eclipse.linuxtools.tmf.ui.viewers.xycharts;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.MouseEvent;
-import org.eclipse.swt.events.MouseListener;
-import org.eclipse.swt.events.MouseMoveListener;
-import org.eclipse.swt.events.PaintEvent;
-import org.swtchart.IAxis;
-import org.swtchart.ICustomPaintListener;
-import org.swtchart.IPlotArea;
-
-/**
- * Class for providing selection of ranges with the left mouse button.
- * It also notifies the viewer about a change of selection.
- *
- * @author Bernd Hufmann
- * @since 3.0
- */
-public class TmfMouseSelectionProvider extends TmfBaseProvider implements MouseListener, MouseMoveListener, ICustomPaintListener {
-
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
- /** Cached start time */
- private long fBeginTime;
- /** Cached end time */
- private long fEndTime;
- /** Flag indicating that an update is ongoing */
- private boolean fIsInternalUpdate;
-
- // ------------------------------------------------------------------------
- // Constructors
- // ------------------------------------------------------------------------
- /**
- * Default constructor
- *
- * @param tmfChartViewer
- * The chart viewer reference.
- */
- public TmfMouseSelectionProvider(ITmfChartTimeProvider tmfChartViewer) {
- super(tmfChartViewer);
- register();
- }
-
- // ------------------------------------------------------------------------
- // TmfBaseProvider
- // ------------------------------------------------------------------------
- @Override
- public void register() {
- getChart().getPlotArea().addMouseListener(this);
- getChart().getPlotArea().addMouseMoveListener(this);
- ((IPlotArea) getChart().getPlotArea()).addCustomPaintListener(this);
- }
-
- @Override
- public void deregister() {
- if ((getChartViewer().getControl() != null) && !getChartViewer().getControl().isDisposed()) {
- getChart().getPlotArea().removeMouseListener(this);
- getChart().getPlotArea().removeMouseMoveListener(this);
- ((IPlotArea) getChart().getPlotArea()).removeCustomPaintListener(this);
- }
- }
-
- // ------------------------------------------------------------------------
- // MouseListener
- // ------------------------------------------------------------------------
- @Override
- public void mouseDoubleClick(MouseEvent e) {
- }
-
- @Override
- public void mouseDown(MouseEvent e) {
- if ((getChartViewer().getWindowDuration() != 0) && (e.button == 1)) {
- IAxis xAxis = getChart().getAxisSet().getXAxis(0);
- fBeginTime = limitXDataCoordinate(xAxis.getDataCoordinate(e.x));
- fEndTime = fBeginTime;
- fIsInternalUpdate = true;
- }
- }
-
- @Override
- public void mouseUp(MouseEvent e) {
- if (fIsInternalUpdate) {
- if (fBeginTime > fEndTime) {
- // Swap time
- long tmp = fBeginTime;
- fBeginTime = fEndTime;
- fEndTime = tmp;
- }
- ITmfChartTimeProvider viewer = getChartViewer();
- viewer.updateSelectionRange(fBeginTime + viewer.getTimeOffset(), fEndTime + viewer.getTimeOffset());
- fIsInternalUpdate = false;
- getChart().redraw();
- }
- }
-
- // ------------------------------------------------------------------------
- // MouseMoveListener
- // ------------------------------------------------------------------------
- @Override
- public void mouseMove(MouseEvent e) {
- if (fIsInternalUpdate) {
- IAxis xAxis = getChart().getAxisSet().getXAxis(0);
- fEndTime = limitXDataCoordinate(xAxis.getDataCoordinate(e.x));
- getChart().redraw();
- }
- }
-
- // ------------------------------------------------------------------------
- // ICustomPaintListener
- // ------------------------------------------------------------------------
- @Override
- public void paintControl(PaintEvent e) {
- ITmfChartTimeProvider viewer = getChartViewer();
-
- if (!fIsInternalUpdate) {
- fBeginTime = viewer.getSelectionBeginTime() - viewer.getTimeOffset();
- fEndTime = viewer.getSelectionEndTime() - viewer.getTimeOffset();
- }
- long windowStartTime = viewer.getWindowStartTime() - viewer.getTimeOffset();
- long windowEndTime = viewer.getWindowEndTime() - viewer.getTimeOffset();
-
- IAxis xAxis = getChart().getAxisSet().getXAxis(0);
- e.gc.setBackground(TmfXYChartViewer.getDisplay().getSystemColor(SWT.COLOR_BLUE));
- e.gc.setForeground(TmfXYChartViewer.getDisplay().getSystemColor(SWT.COLOR_BLUE));
- e.gc.setLineStyle(SWT.LINE_SOLID);
- if ((fBeginTime >= windowStartTime) && (fBeginTime <= windowEndTime)) {
- int beginX = xAxis.getPixelCoordinate(fBeginTime);
- e.gc.drawLine(beginX, 0, beginX, e.height);
- }
-
- if ((fEndTime >= windowStartTime) && (fEndTime <= windowEndTime) && (fBeginTime != fEndTime)) {
- int endX = xAxis.getPixelCoordinate(fEndTime);
- e.gc.drawLine(endX, 0, endX, e.height);
- }
- e.gc.setAlpha(150);
- if (Math.abs(fEndTime - fBeginTime) > 1) {
- e.gc.setBackground(TmfXYChartViewer.getDisplay().getSystemColor(SWT.COLOR_WIDGET_BACKGROUND));
- int beginX = xAxis.getPixelCoordinate(fBeginTime);
- int endX = xAxis.getPixelCoordinate(fEndTime);
- if (fEndTime > fBeginTime) {
- e.gc.fillRectangle(beginX + 1, 0, endX - beginX - 1, e.height);
- } else {
- e.gc.fillRectangle(endX + 1, 0, beginX - endX - 1, e.height);
- }
- }
- }
-
- @Override
- public boolean drawBehindSeries() {
- return false;
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/viewers/xycharts/TmfMouseWheelZoomProvider.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/viewers/xycharts/TmfMouseWheelZoomProvider.java
deleted file mode 100644
index a1c7bf476c..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/viewers/xycharts/TmfMouseWheelZoomProvider.java
+++ /dev/null
@@ -1,135 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013, 2014 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:
- * Bernd Hufmann - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.viewers.xycharts;
-
-import org.eclipse.swt.events.MouseEvent;
-import org.eclipse.swt.events.MouseWheelListener;
-import org.swtchart.IAxis;
-
-/**
- * Class for providing zooming based on mouse wheel. It centers the zoom on
- * mouse position. It also notifies the viewer about a change of range.
- *
- * @author Bernd Hufmann
- * @since 3.0
- */
-public class TmfMouseWheelZoomProvider extends TmfBaseProvider implements MouseWheelListener {
-
- // ------------------------------------------------------------------------
- // Constants
- // ------------------------------------------------------------------------
- private final static double ZOOM_FACTOR = 0.8;
- private final static long MIN_WINDOW_SIZE = 1;
-
- // ------------------------------------------------------------------------
- // Constructors
- // ------------------------------------------------------------------------
- /**
- * Standard constructor.
- *
- * @param tmfChartViewer
- * The parent histogram object
- */
- public TmfMouseWheelZoomProvider(ITmfChartTimeProvider tmfChartViewer) {
- super(tmfChartViewer);
- register();
- }
-
- // ------------------------------------------------------------------------
- // TmfBaseProvider
- // ------------------------------------------------------------------------
- @Override
- public void register() {
- getChart().getPlotArea().addMouseWheelListener(this);
- }
-
- @Override
- public void deregister() {
- if ((getChartViewer().getControl() != null) && !getChartViewer().getControl().isDisposed()) {
- getChart().getPlotArea().removeMouseWheelListener(this);
- }
- }
-
- @Override
- public void refresh() {
- // nothing to do
- }
-
- // ------------------------------------------------------------------------
- // MouseWheelListener
- // ------------------------------------------------------------------------
- @Override
- public synchronized void mouseScrolled(MouseEvent event) {
- ITmfChartTimeProvider viewer = getChartViewer();
-
- long oldDuration = viewer.getWindowDuration();
-
- if (oldDuration == 0) {
- return;
- }
-
- // Compute the new time range
- long newDuration = oldDuration;
- double ratio = 1.0;
- if (event.count > 0) {
- ratio = ZOOM_FACTOR;
- newDuration = Math.round(ZOOM_FACTOR * oldDuration);
- } else {
- ratio = 1.0 / ZOOM_FACTOR;
- newDuration = (long) Math.ceil(oldDuration * ratio);
- }
- newDuration = Math.max(MIN_WINDOW_SIZE, newDuration);
-
- // Center the zoom on mouse position, distribute new duration and adjust for boundaries.
- IAxis xAxis = getChart().getAxisSet().getXAxis(0);
- long timeAtXPos = limitXDataCoordinate(xAxis.getDataCoordinate(event.x)) + viewer.getTimeOffset();
- // Note: ratio = newDuration/oldDuration
- long newWindowStartTime = timeAtXPos - Math.round(ratio * (timeAtXPos - viewer.getWindowStartTime()));
- long newWindowEndTime = validateWindowEndTime(newWindowStartTime, newWindowStartTime + newDuration);
- newWindowStartTime = validateWindowStartTime(newWindowStartTime);
- viewer.updateWindow(newWindowStartTime, newWindowEndTime);
- }
-
- // ------------------------------------------------------------------------
- // Helper methods
- // ------------------------------------------------------------------------
- private long validateWindowStartTime(long start) {
- ITmfChartTimeProvider viewer = getChartViewer();
- long realStart = start;
-
- long startTime = viewer.getStartTime();
- long endTime = viewer.getEndTime();
-
- if (realStart < startTime) {
- realStart = startTime;
- }
- if (realStart > endTime) {
- realStart = endTime;
- }
- return realStart;
- }
-
- private long validateWindowEndTime(long start, long end) {
- ITmfChartTimeProvider viewer = getChartViewer();
- long realEnd = end;
- long endTime = viewer.getEndTime();
-
- if (realEnd > endTime) {
- realEnd = endTime;
- }
- if (realEnd < start + MIN_WINDOW_SIZE) {
- realEnd = start + MIN_WINDOW_SIZE;
- }
- return realEnd;
- }
-} \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/viewers/xycharts/TmfSimpleTooltipProvider.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/viewers/xycharts/TmfSimpleTooltipProvider.java
deleted file mode 100644
index 3a20f5cfba..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/viewers/xycharts/TmfSimpleTooltipProvider.java
+++ /dev/null
@@ -1,97 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2013, 2014 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:
- * Bernd Hufmann - Initial API and implementation
- **********************************************************************/
-package org.eclipse.linuxtools.tmf.ui.viewers.xycharts;
-
-import org.eclipse.linuxtools.tmf.core.timestamp.ITmfTimestamp;
-import org.eclipse.linuxtools.tmf.core.timestamp.TmfTimestamp;
-import org.eclipse.swt.events.MouseEvent;
-import org.eclipse.swt.events.MouseTrackListener;
-import org.swtchart.IAxis;
-
-/**
- * Tool tip provider for TMF chart viewer. It displays the x and y
- * value of the current mouse position.
- *
- * @author Bernd Hufmann
- * @since 3.0
- */
-public class TmfSimpleTooltipProvider extends TmfBaseProvider implements MouseTrackListener {
-
- // ------------------------------------------------------------------------
- // Constructors
- // ------------------------------------------------------------------------
- /**
- * Constructor for a tool tip provider.
- *
- * @param tmfChartViewer
- * The parent chart viewer
- */
- public TmfSimpleTooltipProvider(ITmfChartTimeProvider tmfChartViewer) {
- super(tmfChartViewer);
- register();
- }
-
- // ------------------------------------------------------------------------
- // TmfBaseProvider
- // ------------------------------------------------------------------------
- @Override
- public void register() {
- getChart().getPlotArea().addMouseTrackListener(this);
- }
-
- @Override
- public void deregister() {
- if ((getChartViewer().getControl() != null) && !getChartViewer().getControl().isDisposed()) {
- getChart().getPlotArea().removeMouseTrackListener(this);
- }
- }
-
- @Override
- public void refresh() {
- // nothing to do
- }
-
- // ------------------------------------------------------------------------
- // MouseTrackListener
- // ------------------------------------------------------------------------
- @Override
- public void mouseEnter(MouseEvent e) {
- }
-
- @Override
- public void mouseExit(MouseEvent e) {
- }
-
- @Override
- public void mouseHover(MouseEvent e) {
- if (getChartViewer().getWindowDuration() == 0) {
- return;
- }
-
- IAxis xAxis = getChart().getAxisSet().getXAxis(0);
- IAxis yAxis = getChart().getAxisSet().getYAxis(0);
-
- double xCoordinate = xAxis.getDataCoordinate(e.x);
- double yCoordinate = yAxis.getDataCoordinate(e.y);
-
- ITmfChartTimeProvider viewer = getChartViewer();
-
- /* set tooltip of current data point */
- StringBuffer buffer = new StringBuffer();
- buffer.append("x="); //$NON-NLS-1$
- buffer.append(new TmfTimestamp((long) xCoordinate + viewer.getTimeOffset(), ITmfTimestamp.NANOSECOND_SCALE).toString());
- buffer.append("\n"); //$NON-NLS-1$
- buffer.append("y="); //$NON-NLS-1$
- buffer.append((long) yCoordinate);
- getChart().getPlotArea().setToolTipText(buffer.toString());
- }
-} \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/viewers/xycharts/TmfXYChartViewer.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/viewers/xycharts/TmfXYChartViewer.java
deleted file mode 100644
index fdb92f032a..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/viewers/xycharts/TmfXYChartViewer.java
+++ /dev/null
@@ -1,373 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2013, 2014 Ericsson, École Polytechnique de Montréal
- *
- * 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:
- * Bernd Hufmann - Initial API and implementation
- * Geneviève Bastien - Moved some methods to TmfTimeViewer
- **********************************************************************/
-package org.eclipse.linuxtools.tmf.ui.viewers.xycharts;
-
-import org.eclipse.linuxtools.tmf.core.signal.TmfRangeSynchSignal;
-import org.eclipse.linuxtools.tmf.core.signal.TmfSignalHandler;
-import org.eclipse.linuxtools.tmf.core.signal.TmfTimeSynchSignal;
-import org.eclipse.linuxtools.tmf.core.signal.TmfTimestampFormatUpdateSignal;
-import org.eclipse.linuxtools.tmf.core.trace.ITmfTrace;
-import org.eclipse.linuxtools.tmf.ui.viewers.TmfTimeViewer;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Display;
-import org.swtchart.Chart;
-import org.swtchart.IAxis;
-import org.swtchart.ISeries;
-import org.swtchart.ISeriesSet;
-
-/**
- * Base class for a XY-Chart based on SWT chart. It provides a methods to define
- * zoom, selection and tool tip providers. It also provides call backs to be
- * notified by any changes caused by selection and zoom.
- *
- * @author Bernd Hufmann
- * @since 3.0
- */
-public abstract class TmfXYChartViewer extends TmfTimeViewer implements ITmfChartTimeProvider {
-
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
- /**
- * The offset to apply to any x position. This offset ensures better
- * precision when converting long to double and back.
- */
- private long fTimeOffset;
- /** The SWT Chart reference */
- private Chart fSwtChart;
- /** The mouse selection provider */
- private TmfBaseProvider fMouseSelectionProvider;
- /** The mouse drag zoom provider */
- private TmfBaseProvider fMouseDragZoomProvider;
- /** The mouse wheel zoom provider */
- private TmfBaseProvider fMouseWheelZoomProvider;
- /** The tooltip provider */
- private TmfBaseProvider fToolTipProvider;
- /** The middle mouse drag provider */
- private TmfBaseProvider fMouseDragProvider;
-
- // ------------------------------------------------------------------------
- // Constructors
- // ------------------------------------------------------------------------
-
- /**
- * Constructs a TmfXYChartViewer.
- *
- * @param parent
- * The parent composite
- * @param title
- * The title of the viewer
- * @param xLabel
- * The label of the xAxis
- * @param yLabel
- * The label of the yAXIS
- */
- public TmfXYChartViewer(Composite parent, String title, String xLabel, String yLabel) {
- super(parent, title);
- fSwtChart = new Chart(parent, SWT.NONE);
-
- IAxis xAxis = fSwtChart.getAxisSet().getXAxis(0);
- IAxis yAxis = fSwtChart.getAxisSet().getYAxis(0);
-
- /* Set the title/labels, or hide them if they are not provided */
- if (title == null) {
- fSwtChart.getTitle().setVisible(false);
- } else {
- fSwtChart.getTitle().setText(title);
- }
- if (xLabel == null) {
- xAxis.getTitle().setVisible(false);
- } else {
- xAxis.getTitle().setText(xLabel);
- }
- if (yLabel == null) {
- yAxis.getTitle().setVisible(false);
- } else {
- yAxis.getTitle().setText(yLabel);
- }
-
- fMouseSelectionProvider = new TmfMouseSelectionProvider(this);
- fMouseDragZoomProvider = new TmfMouseDragZoomProvider(this);
- fMouseWheelZoomProvider = new TmfMouseWheelZoomProvider(this);
- fToolTipProvider = new TmfSimpleTooltipProvider(this);
- fMouseDragProvider = new TmfMouseDragProvider(this);
- }
-
- // ------------------------------------------------------------------------
- // Getter/Setters
- // ------------------------------------------------------------------------
- /**
- * Sets the time offset to apply.
- * @see ITmfChartTimeProvider#getTimeOffset()
- *
- * @param timeOffset
- * The time offset to apply
- */
- protected void setTimeOffset(long timeOffset) {
- fTimeOffset = timeOffset;
- }
-
- /**
- * Sets the SWT Chart reference
- *
- * @param chart
- * The SWT chart to set.
- */
- protected void setSwtChart(Chart chart) {
- fSwtChart = chart;
- }
-
- /**
- * Gets the SWT Chart reference
- *
- * @return the SWT chart to set.
- */
- protected Chart getSwtChart() {
- return fSwtChart;
- }
-
- /**
- * Sets a mouse selection provider. An existing provider will be
- * disposed. Use <code>null</code> to disable the mouse selection provider.
- *
- * @param provider
- * The selection provider to set
- */
- public void setSelectionProvider(TmfBaseProvider provider) {
- if (fMouseSelectionProvider != null) {
- fMouseSelectionProvider.dispose();
- }
- fMouseSelectionProvider = provider;
- }
-
- /**
- * Sets a mouse drag zoom provider. An existing provider will be
- * disposed. Use <code>null</code> to disable the mouse drag zoom provider.
- *
- * @param provider
- * The mouse drag zoom provider to set
- */
- public void setMouseDragZoomProvider(TmfBaseProvider provider) {
- if (fMouseDragZoomProvider != null) {
- fMouseDragZoomProvider.dispose();
- }
- fMouseDragZoomProvider = provider;
- }
-
- /**
- * Sets a mouse wheel zoom provider. An existing provider will be
- * disposed. Use <code>null</code> to disable the mouse wheel zoom
- * provider.
- *
- * @param provider
- * The mouse wheel zoom provider to set
- */
- public void setMouseWheelZoomProvider(TmfBaseProvider provider) {
- if (fMouseWheelZoomProvider != null) {
- fMouseWheelZoomProvider.dispose();
- }
- fMouseWheelZoomProvider = provider;
- }
-
- /**
- * Sets a tooltip provider. An existing provider will be
- * disposed. Use <code>null</code> to disable the tooltip provider.
- *
- * @param provider
- * The tooltip provider to set
- */
- public void setTooltipProvider(TmfBaseProvider provider) {
- if (fToolTipProvider != null) {
- fToolTipProvider.dispose();
- }
- fToolTipProvider = provider;
- }
-
- /**
- * Sets a mouse drag provider. An existing provider will be
- * disposed. Use <code>null</code> to disable the mouse drag provider.
- *
- * @param provider
- * The mouse drag provider to set
- */
- public void setMouseDrageProvider(TmfBaseProvider provider) {
- if (fMouseDragProvider != null) {
- fMouseDragProvider.dispose();
- }
- fMouseDragProvider = provider;
- }
-
- // ------------------------------------------------------------------------
- // ITmfChartTimeProvider
- // ------------------------------------------------------------------------
-
- @Override
- public long getTimeOffset() {
- return fTimeOffset;
- }
-
- // ------------------------------------------------------------------------
- // ITmfViewer interface
- // ------------------------------------------------------------------------
- @Override
- public Control getControl() {
- return fSwtChart;
- }
-
- @Override
- public void refresh() {
- fSwtChart.redraw();
- }
-
- // ------------------------------------------------------------------------
- // TmfComponent
- // ------------------------------------------------------------------------
- @Override
- public void dispose() {
- super.dispose();
- fSwtChart.dispose();
-
- if (fMouseSelectionProvider != null) {
- fMouseSelectionProvider.dispose();
- }
-
- if (fMouseDragZoomProvider != null) {
- fMouseDragZoomProvider.dispose();
- }
-
- if (fMouseWheelZoomProvider != null) {
- fMouseWheelZoomProvider.dispose();
- }
-
- if (fToolTipProvider != null) {
- fToolTipProvider.dispose();
- }
-
- if (fMouseDragProvider != null) {
- fMouseDragProvider.dispose();
- }
- }
-
- // ------------------------------------------------------------------------
- // Operations
- // ------------------------------------------------------------------------
- /**
- * A Method to load a trace into the viewer.
- *
- * @param trace
- * A trace to apply in the viewer
- */
- @Override
- public void loadTrace(ITmfTrace trace) {
- super.loadTrace(trace);
- clearContent();
- updateContent();
- }
-
- /**
- * Resets the content of the viewer
- */
- @Override
- public void reset() {
- super.reset();
- clearContent();
- }
-
- /**
- * Method to implement to update the chart content.
- */
- protected abstract void updateContent();
-
- // ------------------------------------------------------------------------
- // Signal Handler
- // ------------------------------------------------------------------------
-
- /**
- * Signal handler for handling of the time synch signal.
- *
- * @param signal
- * The time synch signal {@link TmfTimeSynchSignal}
- */
- @Override
- @TmfSignalHandler
- public void selectionRangeUpdated(TmfTimeSynchSignal signal) {
- super.selectionRangeUpdated(signal);
- if ((signal.getSource() != this) && (getTrace() != null)) {
- if (fMouseSelectionProvider != null) {
- fMouseSelectionProvider.refresh();
- }
- }
- }
-
- /**
- * Signal handler for handling of the time range synch signal.
- *
- * @param signal
- * The time range synch signal {@link TmfRangeSynchSignal}
- */
- @Override
- @TmfSignalHandler
- public void timeRangeUpdated(TmfRangeSynchSignal signal) {
- super.timeRangeUpdated(signal);
- updateContent();
- }
-
- /**
- * Signal handler for handling the signal that notifies about an updated
- * timestamp format.
- *
- * @param signal
- * The trace updated signal
- * {@link TmfTimestampFormatUpdateSignal}
- */
- @TmfSignalHandler
- public void timestampFormatUpdated(TmfTimestampFormatUpdateSignal signal) {
- fSwtChart.getAxisSet().adjustRange();
- fSwtChart.redraw();
- }
-
- // ------------------------------------------------------------------------
- // Helper Methods
- // ------------------------------------------------------------------------
-
- /**
- * Clears the view content.
- */
- protected void clearContent() {
- if (!fSwtChart.isDisposed()) {
- ISeriesSet set = fSwtChart.getSeriesSet();
- ISeries[] series = set.getSeries();
- for (int i = 0; i < series.length; i++) {
- set.deleteSeries(series[i].getId());
- }
- fSwtChart.redraw();
- }
- }
-
- /**
- * Returns the current or default display.
- *
- * @return the current or default display
- */
- protected static Display getDisplay() {
- Display display = Display.getCurrent();
- // may be null if outside the UI thread
- if (display == null) {
- display = Display.getDefault();
- }
- return display;
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/viewers/xycharts/barcharts/TmfBarChartViewer.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/viewers/xycharts/barcharts/TmfBarChartViewer.java
deleted file mode 100644
index cc01ea7065..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/viewers/xycharts/barcharts/TmfBarChartViewer.java
+++ /dev/null
@@ -1,220 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2013, 2014 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:
- * Alexandre Montplaisir - Initial API and implementation
- * Bernd Hufmann - Updated for TMF base chart viewer
- **********************************************************************/
-package org.eclipse.linuxtools.tmf.ui.viewers.xycharts.barcharts;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.linuxtools.tmf.ui.viewers.xycharts.TmfChartTimeStampFormat;
-import org.eclipse.linuxtools.tmf.ui.viewers.xycharts.TmfXYChartViewer;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.graphics.RGB;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Display;
-import org.swtchart.Chart;
-import org.swtchart.IAxisTick;
-import org.swtchart.IBarSeries;
-import org.swtchart.ISeries;
-import org.swtchart.ISeries.SeriesType;
-
-/**
- * Abstract bar chart viewer class implementation. Used for displaying
- * histograms.
- *
- * @author Alexandre Montplaisir
- * @author Bernd Hufmann
- * @since 3.0
- */
-public abstract class TmfBarChartViewer extends TmfXYChartViewer {
-
- // ------------------------------------------------------------------------
- // Constants
- // ------------------------------------------------------------------------
- /** Width of each histogram bar, in pixels */
- public static final int MINIMUM_BAR_WIDTH = 1;
-
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
- /** List of series */
- private final List<String> seriesNames = new ArrayList<>();
- /** List of colors */
- private final List<RGB> colors = new ArrayList<>();
- /** the bar width */
- private int fBarWidth = MINIMUM_BAR_WIDTH;
-
- // ------------------------------------------------------------------------
- // Constructors
- // ------------------------------------------------------------------------
- /**
- * Constructs a TmfXYChartViewer.
- *
- * @param parent
- * The parent composite
- * @param title
- * The title of the viewer
- * @param xLabel
- * The label of the xAxis
- * @param yLabel
- * The label of the yAXIS
- * @param barWidth
- * The bar width
- */
- public TmfBarChartViewer(Composite parent, String title, String xLabel, String yLabel, int barWidth) {
- super(parent, title, xLabel, yLabel);
- fBarWidth = barWidth;
-
- setTooltipProvider(new TmfHistogramTooltipProvider(this));
- }
-
- // ------------------------------------------------------------------------
- // Operations
- // ------------------------------------------------------------------------
- @Override
- protected void updateContent() {
-
- getDisplay().asyncExec(new Runnable() {
-
- @Override
- public void run() {
- Chart swtChart = getSwtChart();
- int numRequests = swtChart.getPlotArea().getBounds().width / fBarWidth;
-
- for (int i = 0; i < seriesNames.size(); i++) {
- ISeries series = swtChart.getSeriesSet().getSeries(seriesNames.get(i));
- if (series == null) {
- series = initSeries(seriesNames.get(i), colors.get(i));
- }
- readData(series, getWindowStartTime(), getWindowEndTime(), numRequests);
- }
- }
- });
- }
-
- /**
- * Method to add a series to the chart.
- *
- * @param name
- * Name of series
- * @param color
- * color to use for series
- */
- protected void addSeries(String name, RGB color) {
- seriesNames.add(name);
- colors.add(color);
- }
-
- /**
- * Clears all series
- */
- protected void clearSeries() {
- seriesNames.clear();
- colors.clear();
- }
-
- /**
- * Draw the given series on the chart
- *
- * @param series
- * The series to display
- * @param x
- * The X values. It can be computed with
- * {@link TmfBarChartViewer#getXAxis}
- * The values are stored in the internal time representation.
- * To get the trace time one has to add the time offset
- * {@link #getTimeOffset()}.
- * @param y
- * The Y values that were computed by the extended class
- */
- protected void drawChart(final ISeries series, final double[] x, final double[] y) {
- // Run in GUI thread to make sure that chart is ready after restart
- final Display display = getDisplay();
- if (display.isDisposed()) {
- return;
- }
-
- display.syncExec(new Runnable() {
- @Override
- public void run() {
- if (display.isDisposed()) {
- return;
- }
- Chart swtChart = getSwtChart();
- IAxisTick xTick = swtChart.getAxisSet().getXAxis(0).getTick();
- xTick.setFormat(new TmfChartTimeStampFormat(getTimeOffset()));
- series.setXSeries(x);
- series.setYSeries(y);
- xTick.setTickMarkStepHint(256);
-
- swtChart.getAxisSet().adjustRange();
- swtChart.redraw();
- }
- });
- }
-
- /**
- * Convenience method to compute the X axis values for a given time range.
- *
- * @param start
- * Start of the time range
- * @param end
- * End of the range
- * @param nb
- * Number of steps. This will be the size of the returned array.
- * @return The time values (converted to double) that match every step
- */
- protected final double[] getXAxis(long start, long end, int nb) {
- setTimeOffset(start - 1);
- double timestamps[] = new double[nb];
- long steps = (end - start);
- double step = steps / (double) nb;
-
- double curTime = 1;
- for (int i = 0; i < nb; i++) {
- timestamps[i] = curTime;
- curTime += step;
- }
- return timestamps;
- }
-
- /**
- * Load the data for the given series. This method should call
- * {@link TmfBarChartViewer#drawChart} to return the results when done.
- *
- * Careful, this method is called by a signal handler which also happens to
- * be in the main UI thread. This means any processing will block the UI! In
- * most cases it's probably better to start a separate Thread/Job to do the
- * processing, and that one can call drawChart() when done to update the
- * view.
- *
- * @param series
- * Which series of the chart should the viewer update
- * @param start
- * The start time (in nanoseconds) of the range to display
- * @param end
- * The end time of the range to display.
- * @param nb
- * The number of 'steps' in the bar chart (fewer steps means each
- * bar is wider).
- */
- protected abstract void readData(ISeries series, long start, long end, int nb);
-
- // initializes a series
- private IBarSeries initSeries(String name, RGB color) {
- IBarSeries bs = (IBarSeries) getSwtChart().getSeriesSet().createSeries(SeriesType.BAR, name);
- bs.enableStack(true);
- bs.setBarColor(new Color(Display.getDefault(), color));
- bs.setBarPadding(0);
- return bs;
- }
-} \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/viewers/xycharts/barcharts/TmfHistogramTooltipProvider.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/viewers/xycharts/barcharts/TmfHistogramTooltipProvider.java
deleted file mode 100644
index 6647f6e06e..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/viewers/xycharts/barcharts/TmfHistogramTooltipProvider.java
+++ /dev/null
@@ -1,179 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2013, 2014 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:
- * Bernd Hufmann - Initial API and implementation
- **********************************************************************/
-package org.eclipse.linuxtools.tmf.ui.viewers.xycharts.barcharts;
-
-import org.eclipse.linuxtools.tmf.core.timestamp.ITmfTimestamp;
-import org.eclipse.linuxtools.tmf.core.timestamp.TmfTimestamp;
-import org.eclipse.linuxtools.tmf.ui.viewers.xycharts.ITmfChartTimeProvider;
-import org.eclipse.linuxtools.tmf.ui.viewers.xycharts.TmfBaseProvider;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.MouseEvent;
-import org.eclipse.swt.events.MouseMoveListener;
-import org.eclipse.swt.events.MouseTrackListener;
-import org.eclipse.swt.events.PaintEvent;
-import org.eclipse.swt.events.PaintListener;
-import org.eclipse.swt.widgets.Display;
-import org.swtchart.IAxis;
-import org.swtchart.ISeries;
-
-/**
- * Tool tip provider for TMF bar chart viewer. It displays the y value of
- * position x as well as it highlights the bar of the x position.
- * It only considers the first series of the chart.
- *
- * @author Bernd Hufmann
- * @since 3.0
- */
-public class TmfHistogramTooltipProvider extends TmfBaseProvider implements MouseTrackListener, MouseMoveListener, PaintListener {
-
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
- /** X coordinate for highlighting */
- private int fHighlightX;
- /** y coordinate for highlighting */
- private int fHighlightY;
- /** Flag to do highlighting or not */
- private boolean fIsHighlight;
-
- // ------------------------------------------------------------------------
- // Constructors
- // ------------------------------------------------------------------------
- /**
- * Constructor for a tool tip provider.
- *
- * @param tmfChartViewer
- * - the parent chart viewer
- */
- public TmfHistogramTooltipProvider(ITmfChartTimeProvider tmfChartViewer) {
- super(tmfChartViewer);
- register();
- }
-
- // ------------------------------------------------------------------------
- // TmfBaseProvider
- // ------------------------------------------------------------------------
- @Override
- public void register() {
- getChart().getPlotArea().addMouseTrackListener(this);
- getChart().getPlotArea().addMouseMoveListener(this);
- getChart().getPlotArea().addPaintListener(this);
- }
-
- @Override
- public void deregister() {
- if ((getChartViewer().getControl() != null) && !getChartViewer().getControl().isDisposed()) {
- getChart().getPlotArea().removeMouseTrackListener(this);
- getChart().getPlotArea().removeMouseMoveListener(this);
- getChart().getPlotArea().removePaintListener(this);
- }
- }
-
- @Override
- public void refresh() {
- // nothing to do
- }
-
- // ------------------------------------------------------------------------
- // MouseTrackListener
- // ------------------------------------------------------------------------
- @Override
- public void mouseEnter(MouseEvent e) {
- }
-
- @Override
- public void mouseExit(MouseEvent e) {
- }
-
- @Override
- public void mouseHover(MouseEvent e) {
- if (getChartViewer().getWindowDuration() != 0) {
- IAxis xAxis = getChart().getAxisSet().getXAxis(0);
- IAxis yAxis = getChart().getAxisSet().getYAxis(0);
-
- double xCoordinate = xAxis.getDataCoordinate(e.x);
-
- ISeries[] series = getChart().getSeriesSet().getSeries();
-
- if ((xCoordinate < 0) || (series.length == 0)) {
- return;
- }
-
- double y = 0.0;
- double rangeStart = 0.0;
- double rangeEnd = 0.0;
-
- // Consider first series only
- double[] xS = series[0].getXSeries();
- double[] yS = series[0].getYSeries();
-
- if ((xS == null) || (yS == null)) {
- return;
- }
-
- for (int i = 0; i < xS.length - 1; i++) {
- int pixel = xAxis.getPixelCoordinate(xS[i]);
- if (pixel <= e.x) {
- rangeStart = xS[i];
- rangeEnd = (long) xS[i + 1];
- if (xCoordinate >= rangeStart) {
- y = yS[i + 1];
- } else {
- y = yS[i];
- }
- }
- }
-
- ITmfChartTimeProvider viewer = getChartViewer();
-
- /* set tooltip of closest data point */
- StringBuffer buffer = new StringBuffer();
- buffer.append("Range=["); //$NON-NLS-1$
- buffer.append(new TmfTimestamp((long) rangeStart + viewer.getTimeOffset(), ITmfTimestamp.NANOSECOND_SCALE).toString());
- buffer.append(',');
- buffer.append(new TmfTimestamp((long) rangeEnd + viewer.getTimeOffset(), ITmfTimestamp.NANOSECOND_SCALE).toString());
- buffer.append("]\n"); //$NON-NLS-1$
- buffer.append("y="); //$NON-NLS-1$
- buffer.append((long) y);
- getChart().getPlotArea().setToolTipText(buffer.toString());
-
- fHighlightX = e.x;
- fHighlightY = yAxis.getPixelCoordinate(y);
- fIsHighlight = true;
- getChart().redraw();
- }
- }
-
- // ------------------------------------------------------------------------
- // MouseMoveListener
- // ------------------------------------------------------------------------
- @Override
- public void mouseMove(MouseEvent e) {
- fIsHighlight = false;
- getChart().redraw();
- }
-
- // ------------------------------------------------------------------------
- // PaintListener
- // ------------------------------------------------------------------------
- @Override
- public void paintControl(PaintEvent e) {
- if (fIsHighlight) {
- e.gc.setBackground(Display.getDefault().getSystemColor(
- SWT.COLOR_RED));
- e.gc.setAlpha(128);
-
- e.gc.fillOval(fHighlightX - 5, fHighlightY - 5, 10, 10);
- }
- }
-
-} \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/viewers/xycharts/linecharts/TmfCommonXLineChartTooltipProvider.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/viewers/xycharts/linecharts/TmfCommonXLineChartTooltipProvider.java
deleted file mode 100644
index 95b72a926c..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/viewers/xycharts/linecharts/TmfCommonXLineChartTooltipProvider.java
+++ /dev/null
@@ -1,129 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 École Polytechnique de Montréal
- *
- * 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:
- * Geneviève Bastien - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.viewers.xycharts.linecharts;
-
-import org.eclipse.linuxtools.tmf.core.timestamp.ITmfTimestamp;
-import org.eclipse.linuxtools.tmf.core.timestamp.TmfTimestamp;
-import org.eclipse.linuxtools.tmf.ui.viewers.xycharts.ITmfChartTimeProvider;
-import org.eclipse.linuxtools.tmf.ui.viewers.xycharts.TmfBaseProvider;
-import org.eclipse.swt.events.MouseEvent;
-import org.eclipse.swt.events.MouseTrackListener;
-import org.swtchart.IAxis;
-import org.swtchart.ISeries;
-
-/**
- * Displays a tooltip on line charts. For each series, it shows the y value at
- * the selected x value. This tooltip assumes that all series share a common set
- * of X axis values. If the X series is not common, the tooltip text may not be
- * accurate.
- *
- * @author Geneviève Bastien
- * @since 3.0
- */
-public class TmfCommonXLineChartTooltipProvider extends TmfBaseProvider implements MouseTrackListener {
-
- /**
- * Constructor for the tooltip provider
- *
- * @param tmfChartViewer
- * The parent chart viewer
- */
- public TmfCommonXLineChartTooltipProvider(ITmfChartTimeProvider tmfChartViewer) {
- super(tmfChartViewer);
- register();
- }
-
- // ------------------------------------------------------------------------
- // TmfBaseProvider
- // ------------------------------------------------------------------------
-
- @Override
- public void register() {
- getChart().getPlotArea().addMouseTrackListener(this);
- }
-
- @Override
- public void deregister() {
- if ((getChartViewer().getControl() != null) && !getChartViewer().getControl().isDisposed()) {
- getChart().getPlotArea().removeMouseTrackListener(this);
- }
- }
-
- @Override
- public void refresh() {
- // nothing to do
- }
-
- // ------------------------------------------------------------------------
- // MouseTrackListener
- // ------------------------------------------------------------------------
-
- @Override
- public void mouseEnter(MouseEvent e) {
- }
-
- @Override
- public void mouseExit(MouseEvent e) {
- }
-
- @Override
- public void mouseHover(MouseEvent e) {
- if (getChartViewer().getWindowDuration() != 0) {
- IAxis xAxis = getChart().getAxisSet().getXAxis(0);
-
- double xCoordinate = xAxis.getDataCoordinate(e.x);
-
- ISeries[] series = getChart().getSeriesSet().getSeries();
-
- if ((xCoordinate < 0) || (series.length == 0)) {
- return;
- }
-
- /* Find the index of the value we want */
- double[] xS = series[0].getXSeries();
- if (xS == null) {
- return;
- }
- int index = 0;
- for (int i = 0; i < xS.length; i++) {
- if (xS[i] > xCoordinate) {
- break;
- }
- index = i;
- }
-
- /* set tooltip of closest data point */
- StringBuffer buffer = new StringBuffer();
- buffer.append("time="); //$NON-NLS-1$
- buffer.append(new TmfTimestamp((long) xCoordinate + getChartViewer().getTimeOffset(), ITmfTimestamp.NANOSECOND_SCALE).toString());
- buffer.append('\n');
-
- /* For each series, get the value at the index */
- for (ISeries serie : series) {
- double[] yS = serie.getYSeries();
- /* Make sure the series values and the value at index exist */
- if (yS == null || yS.length <= index) {
- continue;
- }
- buffer.append(serie.getId());
- buffer.append('=');
- buffer.append(yS[index]);
- buffer.append('\n');
- }
-
- getChart().getPlotArea().setToolTipText(buffer.toString());
- getChart().redraw();
- }
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/viewers/xycharts/linecharts/TmfCommonXLineChartViewer.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/viewers/xycharts/linecharts/TmfCommonXLineChartViewer.java
deleted file mode 100644
index d292817c68..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/viewers/xycharts/linecharts/TmfCommonXLineChartViewer.java
+++ /dev/null
@@ -1,374 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 École Polytechnique de Montréal
- *
- * 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:
- * Geneviève Bastien - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.viewers.xycharts.linecharts;
-
-import java.util.LinkedHashMap;
-import java.util.Map;
-import java.util.Map.Entry;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.linuxtools.tmf.core.trace.ITmfTrace;
-import org.eclipse.linuxtools.tmf.ui.TmfUiRefreshHandler;
-import org.eclipse.linuxtools.tmf.ui.viewers.xycharts.TmfChartTimeStampFormat;
-import org.eclipse.linuxtools.tmf.ui.viewers.xycharts.TmfXYChartViewer;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Display;
-import org.swtchart.IAxisTick;
-import org.swtchart.ILineSeries;
-import org.swtchart.ILineSeries.PlotSymbolType;
-import org.swtchart.ISeries;
-import org.swtchart.ISeries.SeriesType;
-import org.swtchart.ISeriesSet;
-import org.swtchart.LineStyle;
-import org.swtchart.Range;
-
-/**
- * Abstract line chart viewer class implementation. All series in this viewer
- * use the same X axis values. They are automatically created as values are
- * provided for a key. Series by default will be displayed as a line. Each
- * series appearance can be overridden when creating it.
- *
- * @author - Geneviève Bastien
- * @since 3.0
- */
-public abstract class TmfCommonXLineChartViewer extends TmfXYChartViewer {
-
- private static final double DEFAULT_MAXY = Double.MIN_VALUE;
- private static final double DEFAULT_MINY = Double.MAX_VALUE;
-
- /* The desired number of points per pixel */
- private static final double RESOLUTION = 1.0;
-
- private static final int[] LINE_COLORS = { SWT.COLOR_BLUE, SWT.COLOR_RED, SWT.COLOR_GREEN,
- SWT.COLOR_MAGENTA, SWT.COLOR_CYAN,
- SWT.COLOR_DARK_BLUE, SWT.COLOR_DARK_RED, SWT.COLOR_DARK_GREEN,
- SWT.COLOR_DARK_MAGENTA, SWT.COLOR_DARK_CYAN, SWT.COLOR_DARK_YELLOW,
- SWT.COLOR_BLACK, SWT.COLOR_GRAY };
- private static final LineStyle[] LINE_STYLES = { LineStyle.SOLID, LineStyle.DASH, LineStyle.DOT, LineStyle.DASHDOT };
-
- private final Map<String, double[]> fSeriesValues = new LinkedHashMap<>();
- private double[] fXValues;
- private double fResolution;
-
- private UpdateThread fUpdateThread;
-
- /**
- * Constructor
- *
- * @param parent
- * The parent composite
- * @param title
- * The title of the viewer
- * @param xLabel
- * The label of the xAxis
- * @param yLabel
- * The label of the yAXIS
- */
- public TmfCommonXLineChartViewer(Composite parent, String title, String xLabel, String yLabel) {
- super(parent, title, xLabel, yLabel);
-
- setResolution(RESOLUTION);
- setTooltipProvider(new TmfCommonXLineChartTooltipProvider(this));
- }
-
- /**
- * Set the number of requests per pixel that should be done on this chart
- *
- * @param resolution
- * The number of points per pixels
- */
- protected void setResolution(double resolution) {
- fResolution = resolution;
- }
-
- @Override
- public void loadTrace(ITmfTrace trace) {
- super.loadTrace(trace);
- reinitialize();
- }
-
- /**
- * Forces a reinitialization of the data sources, even if it has already
- * been initialized for this trace before
- *
- * @since 3.1
- */
- protected void reinitialize() {
- fSeriesValues.clear();
- Thread thread = new Thread() {
- @Override
- public void run() {
- initializeDataSource();
- TmfUiRefreshHandler.getInstance().queueUpdate(TmfCommonXLineChartViewer.this,
- new Runnable() {
- @Override
- public void run() {
- if (!getSwtChart().isDisposed()) {
- /* Delete the old series */
- clearContent();
- createSeries();
- }
- }
- });
- }
- };
- thread.start();
- }
-
- /**
- * Initialize the source of the data for this viewer. This method is run in
- * a separate thread, so this is where for example one can execute an
- * analysis module and wait for its completion to initialize the series
- */
- protected void initializeDataSource() {
-
- }
-
- private class UpdateThread extends Thread {
- private final IProgressMonitor fMonitor;
- private final int fNumRequests;
-
- public UpdateThread(int numRequests) {
- super("Line chart update"); //$NON-NLS-1$
- fNumRequests = numRequests;
- fMonitor = new NullProgressMonitor();
- }
-
- @Override
- public void run() {
- updateData(getWindowStartTime(), getWindowEndTime(), fNumRequests, fMonitor);
- updateThreadFinished(this);
- }
-
- public void cancel() {
- fMonitor.setCanceled(true);
- }
- }
-
- private synchronized void newUpdateThread() {
- cancelUpdate();
- final int numRequests = (int) (getSwtChart().getPlotArea().getBounds().width * fResolution);
- fUpdateThread = new UpdateThread(numRequests);
- fUpdateThread.start();
- }
-
- private synchronized void updateThreadFinished(UpdateThread thread) {
- if (thread == fUpdateThread) {
- fUpdateThread = null;
- }
- }
-
- /**
- * Cancels the currently running update thread. It is automatically called
- * when the content is updated, but child viewers may want to call it
- * manually to do some operations before calling
- * {@link TmfCommonXLineChartViewer#updateContent}
- */
- protected synchronized void cancelUpdate() {
- if (fUpdateThread != null) {
- fUpdateThread.cancel();
- }
- }
-
- @Override
- protected void updateContent() {
- getDisplay().asyncExec(new Runnable() {
- @Override
- public void run() {
- newUpdateThread();
- }
- });
- }
-
- /**
- * Convenience method to compute the values of the X axis for a given time
- * range. This method will return nb values depending, equally separated
- * from start to end.
- *
- * The returned time values are in internal time, ie to get trace time, the
- * time offset needs to be added to those values.
- *
- * @param start
- * The start time of the time range
- * @param end
- * End time of the range
- * @param nb
- * The number of steps in the x axis.
- * @return The time values (converted to double) to match every step.
- */
- protected final double[] getXAxis(long start, long end, int nb) {
- setTimeOffset(start - 1);
-
- double timestamps[] = new double[nb];
- long steps = (end - start);
- double step = steps / (double) nb;
-
- double curTime = 1;
- for (int i = 0; i < nb; i++) {
- timestamps[i] = curTime;
- curTime += step;
- }
- return timestamps;
- }
-
- /**
- * Set the values of the x axis. There is only one array of values for the x
- * axis for all series of a line chart so it needs to be set once here.
- *
- * @param xaxis
- * The values for the x axis. The values must be in internal
- * time, ie time offset have been subtracted from trace time
- * values.
- */
- protected final void setXAxis(double[] xaxis) {
- fXValues = xaxis;
- }
-
- /**
- * Update the series data because the time range has changed. The x axis
- * values for this data update can be computed using the
- * {@link TmfCommonXLineChartViewer#getXAxis(long, long, int)} method which
- * will return a list of uniformely separated time values.
- *
- * Each series values should be set by calling the
- * {@link TmfCommonXLineChartViewer#setSeries(String, double[])}.
- *
- * This method is responsible for calling the
- * {@link TmfCommonXLineChartViewer#updateDisplay()} when needed for the new
- * values to be displayed.
- *
- * @param start
- * The start time of the range for which the get the data
- * @param end
- * The end time of the range
- * @param nb
- * The number of 'points' in the chart.
- * @param monitor
- * The progress monitor object
- */
- protected abstract void updateData(long start, long end, int nb, IProgressMonitor monitor);
-
- /**
- * Set the data for a given series of the graph. The series does not need to
- * be created before calling this, but it needs to have at least as many
- * values as the x axis.
- *
- * If the series does not exist, it will automatically be created at display
- * time, with the default values.
- *
- * @param seriesName
- * The name of the series for which to set the values
- * @param seriesValues
- * The array of values for the series
- */
- protected void setSeries(String seriesName, double[] seriesValues) {
- if (fXValues.length > seriesValues.length) {
- throw new IllegalStateException();
- }
- fSeriesValues.put(seriesName, seriesValues);
- }
-
- /**
- * Add a new series to the XY line chart. By default, it is a simple solid
- * line.
- *
- * @param seriesName
- * The name of the series to create
- * @return The series so that the concrete viewer can modify its properties
- * if required
- */
- protected ILineSeries addSeries(String seriesName) {
- ISeriesSet seriesSet = getSwtChart().getSeriesSet();
- int seriesCount = seriesSet.getSeries().length;
- ILineSeries series = (ILineSeries) seriesSet.createSeries(SeriesType.LINE, seriesName);
- series.setVisible(true);
- series.enableArea(false);
- series.setLineStyle(LINE_STYLES[(seriesCount / (LINE_COLORS.length)) % LINE_STYLES.length]);
- series.setSymbolType(PlotSymbolType.NONE);
- series.setLineColor(Display.getDefault().getSystemColor(LINE_COLORS[seriesCount % LINE_COLORS.length]));
- return series;
- }
-
- /**
- * Delete a series from the chart and its values from the viewer.
- *
- * @param seriesName
- * Name of the series to delete
- */
- protected void deleteSeries(String seriesName) {
- ISeries series = getSwtChart().getSeriesSet().getSeries(seriesName);
- if (series != null) {
- getSwtChart().getSeriesSet().deleteSeries(series.getId());
- }
- fSeriesValues.remove(seriesName);
- }
-
- /**
- * Update the chart's values before refreshing the viewer
- */
- protected void updateDisplay() {
- Display.getDefault().asyncExec(new Runnable() {
- final TmfChartTimeStampFormat tmfChartTimeStampFormat = new TmfChartTimeStampFormat(getTimeOffset());
-
- @Override
- public void run() {
- if (!getSwtChart().isDisposed()) {
- double maxy = DEFAULT_MAXY;
- double miny = DEFAULT_MINY;
- for (Entry<String, double[]> entry : fSeriesValues.entrySet()) {
- ILineSeries series = (ILineSeries) getSwtChart().getSeriesSet().getSeries(entry.getKey());
- if (series == null) {
- series = addSeries(entry.getKey());
- }
- series.setXSeries(fXValues);
- /* Find the minimal and maximum values in this series */
- for (double value : entry.getValue()) {
- maxy = Math.max(maxy, value);
- miny = Math.min(miny, value);
- }
- series.setYSeries(entry.getValue());
- }
- if (maxy == DEFAULT_MAXY) {
- maxy = 1.0;
- }
-
- IAxisTick xTick = getSwtChart().getAxisSet().getXAxis(0).getTick();
- xTick.setFormat(tmfChartTimeStampFormat);
-
- final double start = fXValues[0];
- int lastX = fXValues.length - 1;
- double end = (start == fXValues[lastX]) ? start + 1 : fXValues[lastX];
- getSwtChart().getAxisSet().getXAxis(0).setRange(new Range(start, end));
- getSwtChart().getAxisSet().getXAxis(0).adjustRange();
- if (maxy > miny) {
- getSwtChart().getAxisSet().getYAxis(0).setRange(new Range(miny, maxy));
- }
- getSwtChart().redraw();
- }
- }
- });
- }
-
- /**
- * Create the series once the initialization of the viewer's data source is
- * done. Series do not need to be created before setting their values, but
- * if their appearance needs to be customized, this method is a good place
- * to do so. It is called only once per trace.
- */
- protected void createSeries() {
-
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/PinTmfViewAction.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/PinTmfViewAction.java
deleted file mode 100644
index 961e947cfe..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/PinTmfViewAction.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2012 Ericsson
- *
- * All rights reserved. This program and the accompanying materials are
- * made available under the terms of the Eclipse Public License v1.0 which
- * accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Bernd Hufmann - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.linuxtools.tmf.ui.views;
-
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.linuxtools.internal.tmf.ui.Activator;
-import org.eclipse.linuxtools.internal.tmf.ui.ITmfImageConstants;
-import org.eclipse.linuxtools.internal.tmf.ui.Messages;
-
-/**
- *
- * @version 1.0
- * @author Bernd Hufmann
- * @since 2.0
- */
-public class PinTmfViewAction extends Action {
- /**
- * Creates a new <code>PinPropertySheetAction</code>.
- */
- public PinTmfViewAction() {
- super(Messages.TmfView_PinActionNameText, IAction.AS_CHECK_BOX);
-
- setId("org.eclipse.linuxtools.tmf.ui.views.PinTmfViewAction"); //$NON-NLS-1$
- setToolTipText(Messages.TmfView_PinActionToolTipText);
- setImageDescriptor(Activator.getDefault().getImageDescripterFromPath(ITmfImageConstants.IMG_UI_PIN_VIEW));
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/TmfChartView.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/TmfChartView.java
deleted file mode 100644
index 59417bac22..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/TmfChartView.java
+++ /dev/null
@@ -1,118 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2013, 2014 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:
- * Bernd Hufmann - Initial API and implementation
- **********************************************************************/
-package org.eclipse.linuxtools.tmf.ui.views;
-
-import org.eclipse.linuxtools.tmf.core.trace.ITmfTrace;
-import org.eclipse.linuxtools.tmf.ui.viewers.xycharts.TmfXYChartViewer;
-import org.eclipse.swt.widgets.Composite;
-
-/**
- * Base class to be used with a chart viewer {@link TmfXYChartViewer}.
- * It is responsible to instantiate the viewer class and load the trace
- * into the viewer when the view is created.
- *
- * @author Bernd Hufmann
- * @since 3.0
- */
-abstract public class TmfChartView extends TmfView {
-
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
- /** The TMF XY Chart reference */
- private TmfXYChartViewer fChartViewer;
- /** The Trace reference */
- private ITmfTrace fTrace;
-
- // ------------------------------------------------------------------------
- // Constructors
- // ------------------------------------------------------------------------
- /**
- * Standard Constructor
- *
- * @param viewName
- * The view name
- */
- public TmfChartView(String viewName) {
- super(viewName);
- }
-
- // ------------------------------------------------------------------------
- // Accessors
- // ------------------------------------------------------------------------
- /**
- * Returns the TMF XY chart viewer implementation.
- *
- * @return the TMF XY chart viewer {@link TmfXYChartViewer}
- */
- protected TmfXYChartViewer getChartViewer() {
- return fChartViewer;
- }
-
- /**
- * Sets the TMF XY chart viewer implementation.
- *
- * @param chartViewer
- * The TMF XY chart viewer {@link TmfXYChartViewer}
- */
- protected void setChartViewer(TmfXYChartViewer chartViewer) {
- fChartViewer = chartViewer;
- }
-
- /**
- * Returns the ITmfTrace implementation
- *
- * @return the ITmfTrace implementation {@link ITmfTrace}
- */
- protected ITmfTrace getTrace() {
- return fTrace;
- }
-
- /**
- * Sets the ITmfTrace implementation
- *
- * @param trace
- * The ITmfTrace implementation {@link ITmfTrace}
- */
- protected void setTrace(ITmfTrace trace) {
- fTrace = trace;
- }
-
- // ------------------------------------------------------------------------
- // Operations
- // ------------------------------------------------------------------------
- @Override
- public void createPartControl(Composite parent) {
- ITmfTrace trace = getActiveTrace();
- if (trace != null) {
- setTrace(trace);
- loadTrace();
- }
- }
-
- @Override
- public void dispose() {
- if (fChartViewer != null) {
- fChartViewer.dispose();
- }
- }
-
- /**
- * Load the trace into view.
- */
- protected void loadTrace() {
- if (fChartViewer != null) {
- fChartViewer.loadTrace(fTrace);
- }
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/TmfView.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/TmfView.java
deleted file mode 100644
index ace756e65e..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/TmfView.java
+++ /dev/null
@@ -1,149 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009, 2014 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
- * Bernd Hufmann - Added possibility to pin view
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.views;
-
-import org.eclipse.jface.action.IToolBarManager;
-import org.eclipse.jface.action.Separator;
-import org.eclipse.linuxtools.tmf.core.component.ITmfComponent;
-import org.eclipse.linuxtools.tmf.core.signal.TmfSignal;
-import org.eclipse.linuxtools.tmf.core.signal.TmfSignalManager;
-import org.eclipse.linuxtools.tmf.core.trace.ITmfTrace;
-import org.eclipse.linuxtools.tmf.core.trace.TmfTraceManager;
-import org.eclipse.linuxtools.tmf.ui.editors.ITmfTraceEditor;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.IWorkbenchActionConstants;
-import org.eclipse.ui.part.ViewPart;
-
-/**
- * Basic abstract TMF view class implementation.
- *
- * It registers any sub class to the signal manager for receiving and sending
- * TMF signals.
- *
- * @version 1.2
- * @author Francois Chouinard
- */
-public abstract class TmfView extends ViewPart implements ITmfComponent {
-
- private final String fName;
-
- /**
- * Action class for pinning of TmfView.
- * @since 2.0
- */
- protected PinTmfViewAction fPinAction;
-
- /**
- * Reference to the trace manager
- * @since 2.0
- */
- protected final TmfTraceManager fTraceManager;
-
- // ------------------------------------------------------------------------
- // Constructor
- // ------------------------------------------------------------------------
-
- /**
- * Constructor. Creates a TMF view and registers to the signal manager.
- *
- * @param viewName
- * A view name
- */
- public TmfView(String viewName) {
- super();
- fName = viewName;
- fTraceManager = TmfTraceManager.getInstance();
- TmfSignalManager.register(this);
- }
-
- /**
- * Disposes this view and de-registers itself from the signal manager
- */
- @Override
- public void dispose() {
- TmfSignalManager.deregister(this);
- super.dispose();
- }
-
- // ------------------------------------------------------------------------
- // ITmfComponent
- // ------------------------------------------------------------------------
-
- @Override
- public String getName() {
- return fName;
- }
-
- @Override
- public void broadcast(TmfSignal signal) {
- TmfSignalManager.dispatchSignal(signal);
- }
-
- /**
- * @since 3.0
- */
- @Override
- public void broadcastAsync(TmfSignal signal) {
- TmfSignalManager.dispatchSignalAsync(signal);
- }
-
- // ------------------------------------------------------------------------
- // View pinning support
- // ------------------------------------------------------------------------
-
- /**
- * Returns whether the pin flag is set.
- * For example, this flag can be used to ignore time synchronization signals from other TmfViews.
- *
- * @return pin flag
- * @since 2.0
- */
- public boolean isPinned() {
- return ((fPinAction != null) && (fPinAction.isChecked()));
- }
-
- /**
- * Method adds a pin action to the TmfView. The pin action allows to toggle the <code>fIsPinned</code> flag.
- * For example, this flag can be used to ignore time synchronization signals from other TmfViews.
- *
- * @since 2.0
- */
- protected void contributePinActionToToolBar() {
- if (fPinAction == null) {
- fPinAction = new PinTmfViewAction();
-
- IToolBarManager toolBarManager = getViewSite().getActionBars()
- .getToolBarManager();
- toolBarManager.add(new Separator(IWorkbenchActionConstants.MB_ADDITIONS));
- toolBarManager.add(fPinAction);
- }
- }
-
- /**
- * Get the currently selected trace, or 'null' if the active editor is not a
- * TMF trace.
- *
- * @return The active trace, or 'null' if not a trace
- * @since 2.0
- */
- public ITmfTrace getActiveTrace() {
- IEditorPart editor = getSite().getPage().getActiveEditor();
- if (editor instanceof ITmfTraceEditor) {
- ITmfTrace trace = ((ITmfTraceEditor) editor).getTrace();
- return trace;
- }
- return null;
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/TracingPerspectiveFactory.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/TracingPerspectiveFactory.java
deleted file mode 100644
index cc721d7375..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/TracingPerspectiveFactory.java
+++ /dev/null
@@ -1,79 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010, 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.ui.views;
-
-import org.eclipse.linuxtools.tmf.ui.project.wizards.NewTmfProjectWizard;
-import org.eclipse.linuxtools.tmf.ui.views.histogram.HistogramView;
-import org.eclipse.linuxtools.tmf.ui.views.statistics.TmfStatisticsView;
-import org.eclipse.ui.IFolderLayout;
-import org.eclipse.ui.IPageLayout;
-import org.eclipse.ui.IPerspectiveFactory;
-
-/**
- * The tracing perspective definition.
- *
- * @version 1.0
- * @author Francois Chouinard
- */
-public class TracingPerspectiveFactory implements IPerspectiveFactory {
-
- // ------------------------------------------------------------------------
- // Constants
- // ------------------------------------------------------------------------
-
- /** The Perspective ID */
- public static final String ID = "org.eclipse.linuxtools.tmf.ui.perspective"; //$NON-NLS-1$
-
- // Standard TMF views
- private static final String HISTOGRAM_VIEW_ID = HistogramView.ID;
-
- // Standard Eclipse views
- private static final String PROJECT_VIEW_ID = IPageLayout.ID_PROJECT_EXPLORER;
- private static final String STATISTICS_VIEW_ID = TmfStatisticsView.ID;
- private static final String PROPERTIES_VIEW_ID = IPageLayout.ID_PROP_SHEET;
- private static final String BOOKMARKS_VIEW_ID = IPageLayout.ID_BOOKMARKS;
-
-
- // ------------------------------------------------------------------------
- // IPerspectiveFactory
- // ------------------------------------------------------------------------
-
- @Override
- public void createInitialLayout(IPageLayout layout) {
-
- // Editor area
- layout.setEditorAreaVisible(true);
-
- // Create the top left folder
- IFolderLayout topLeftFolder = layout.createFolder(
- "topLeftFolder", IPageLayout.LEFT, 0.15f, IPageLayout.ID_EDITOR_AREA); //$NON-NLS-1$
- topLeftFolder.addView(PROJECT_VIEW_ID);
-
- // Create the middle right folder
- IFolderLayout middleRightFolder = layout.createFolder(
- "middleRightFolder", IPageLayout.BOTTOM, 0.50f, IPageLayout.ID_EDITOR_AREA); //$NON-NLS-1$
- middleRightFolder.addView(STATISTICS_VIEW_ID);
-
- // Create the bottom right folder
- IFolderLayout bottomRightFolder = layout.createFolder(
- "bottomRightFolder", IPageLayout.BOTTOM, 0.55f, "middleRightFolder"); //$NON-NLS-1$ //$NON-NLS-2$
- bottomRightFolder.addView(HISTOGRAM_VIEW_ID);
- bottomRightFolder.addView(PROPERTIES_VIEW_ID);
- bottomRightFolder.addView(BOOKMARKS_VIEW_ID);
-
- // Populate menus, etc
- layout.addPerspectiveShortcut(ID);
- layout.addNewWizardShortcut(NewTmfProjectWizard.ID);
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/callstack/AbstractCallStackAnalysis.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/callstack/AbstractCallStackAnalysis.java
deleted file mode 100644
index d52a70211c..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/callstack/AbstractCallStackAnalysis.java
+++ /dev/null
@@ -1,67 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 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:
- * Alexandre Montplaisir - Initial API and implementation
- * Patrick Tasse - Add methods to get attribute paths
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.views.callstack;
-
-import org.eclipse.linuxtools.tmf.core.callstack.CallStackStateProvider;
-import org.eclipse.linuxtools.tmf.core.statesystem.TmfStateSystemAnalysisModule;
-import org.eclipse.linuxtools.tmf.ui.analysis.TmfAnalysisViewOutput;
-
-/**
- * The base classes for analyses who want to populate the CallStack View.
- *
- * @author Alexandre Montplaisir
- * @since 3.0
- */
-public abstract class AbstractCallStackAnalysis extends TmfStateSystemAnalysisModule {
-
- private static final String[] DEFAULT_THREADS_PATTERN =
- new String[] { CallStackStateProvider.THREADS, "*" }; //$NON-NLS-1$;
-
- private static final String[] DEFAULT_CALL_STACK_PATH =
- new String[] { CallStackStateProvider.CALL_STACK };
-
- /**
- * Abstract constructor (should only be called via the sub-classes'
- * constructors.
- */
- public AbstractCallStackAnalysis() {
- super();
- registerOutput(new TmfAnalysisViewOutput(CallStackView.ID));
- }
-
- /**
- * Get the pattern of thread attributes. Override this method if the state
- * system attributes do not match the default pattern defined by
- * {@link CallStackStateProvider}.
- *
- * @return the absolute pattern of the thread attributes
- * @since 3.1
- */
- public String[] getThreadsPattern() {
- return DEFAULT_THREADS_PATTERN;
- }
-
- /**
- * Get the call stack attribute path relative to a thread attribute found by
- * {@link #getThreadsPattern()}. Override this method if the state system
- * attributes do not match the default pattern defined by
- * {@link CallStackStateProvider}.
- *
- * @return the relative path of the call stack attribute
- * @since 3.1
- */
- public String[] getCallStackPath() {
- return DEFAULT_CALL_STACK_PATH;
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/callstack/CallStackEntry.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/callstack/CallStackEntry.java
deleted file mode 100644
index 32ca48b38a..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/callstack/CallStackEntry.java
+++ /dev/null
@@ -1,192 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 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:
- * Patrick Tasse - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.views.callstack;
-
-import org.eclipse.jdt.annotation.NonNull;
-import org.eclipse.linuxtools.statesystem.core.ITmfStateSystem;
-import org.eclipse.linuxtools.tmf.core.trace.ITmfTrace;
-import org.eclipse.linuxtools.tmf.ui.widgets.timegraph.model.TimeGraphEntry;
-
-/**
- * An entry, or row, in the Call Stack view
- *
- * @author Patrick Tasse
- * @since 2.0
- */
-public class CallStackEntry extends TimeGraphEntry {
-
- private final int fQuark;
- private final int fStackLevel;
- private final ITmfTrace fTrace;
- private String fFunctionName;
- private long fFunctionEntryTime;
- private long fFunctionExitTime;
- private @NonNull ITmfStateSystem fSS;
-
- /**
- * Standard constructor
- *
- * @param quark
- * The call stack quark
- * @param stackLevel
- * The stack level
- * @param trace
- * The trace that this view is talking about
- * @deprecated Use {@link #CallStackEntry(String, int, int, ITmfTrace, ITmfStateSystem)}
- */
- @Deprecated
- public CallStackEntry(int quark, int stackLevel, ITmfTrace trace) {
- super(null, 0, 0);
- throw new UnsupportedOperationException();
- }
-
- /**
- * Standard constructor
- *
- * @param name
- * The parent thread name
- * @param quark
- * The call stack quark
- * @param stackLevel
- * The stack level
- * @param trace
- * The trace that this view is talking about
- * @param ss
- * The call stack state system
- * @since 3.1
- */
- public CallStackEntry(String name, int quark, int stackLevel, ITmfTrace trace, @NonNull ITmfStateSystem ss) {
- super(name, 0, 0);
- fQuark = quark;
- fStackLevel = stackLevel;
- fTrace = trace;
- fFunctionName = ""; //$NON-NLS-1$
- fSS = ss;
- }
-
- /**
- * Get the function name of the call stack entry
- * @return the function name
- */
- public String getFunctionName() {
- return fFunctionName;
- }
-
- /**
- * Set the function name of the call stack entry
- * @param functionName the function name
- */
- public void setFunctionName(String functionName) {
- fFunctionName = functionName;
- }
-
- /**
- * Set the start time of the call stack entry
- * @param startTime the start time
- * @deprecated Use {@link #setFunctionEntryTime(long)}
- */
- @Deprecated
- public void setStartTime(long startTime) {
- throw new UnsupportedOperationException();
- }
-
- /**
- * Set the end time of the call stack entry
- * @param endTime the end time
- * @deprecated Use {@link #setFunctionExitTime(long)}
- */
- @Deprecated
- public void setEndTime(long endTime) {
- throw new UnsupportedOperationException();
- }
-
- /**
- * Set the selected function entry time
- *
- * @param entryTime
- * the function entry time
- * @since 3.1
- */
- public void setFunctionEntryTime(long entryTime) {
- fFunctionEntryTime = entryTime;
- }
-
- /**
- * Get the selected function entry time
- *
- * @return the function entry time
- * @since 3.1
- */
- public long getFunctionEntryTime() {
- return fFunctionEntryTime;
- }
-
- /**
- * Set the selected function exit time
- *
- * @param exitTime
- * the function exit time
- * @since 3.1
- */
- public void setFunctionExitTime(long exitTime) {
- fFunctionExitTime = exitTime;
- }
-
- /**
- * Get the selected function exit time
- *
- * @return the function exit time
- * @since 3.1
- */
- public long getFunctionExitTime() {
- return fFunctionExitTime;
- }
-
- /**
- * Retrieve the attribute quark that's represented by this entry.
- *
- * @return The integer quark
- */
- public int getQuark() {
- return fQuark;
- }
-
- /**
- * Retrieve the stack level associated with this entry.
- *
- * @return The stack level or 0
- */
- public int getStackLevel() {
- return fStackLevel;
- }
-
- /**
- * Retrieve the trace that is associated to this view.
- *
- * @return The trace
- */
- public ITmfTrace getTrace() {
- return fTrace;
- }
-
- /**
- * Retrieve the call stack state system associated with this entry.
- *
- * @return The call stack state system
- * @since 3.1
- */
- public @NonNull ITmfStateSystem getStateSystem() {
- return fSS;
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/callstack/CallStackEvent.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/callstack/CallStackEvent.java
deleted file mode 100644
index 171ecee6dc..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/callstack/CallStackEvent.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 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:
- * Patrick Tasse - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.views.callstack;
-
-import org.eclipse.linuxtools.tmf.ui.widgets.timegraph.model.TimeEvent;
-
-/**
- * Time Event implementation specific to the Call Stack View
- *
- * @author Patrick Tasse
- * @since 2.0
- */
-public class CallStackEvent extends TimeEvent {
-
- /**
- * Standard constructor
- *
- * @param entry
- * The entry that this event affects
- * @param time
- * The start time of the event
- * @param duration
- * The duration of the event
- * @param value
- * The event value (1-256)
- */
- public CallStackEvent(CallStackEntry entry, long time, long duration, int value) {
- super(entry, time, duration, value);
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/callstack/CallStackPresentationProvider.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/callstack/CallStackPresentationProvider.java
deleted file mode 100644
index 0fc2f6b774..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/callstack/CallStackPresentationProvider.java
+++ /dev/null
@@ -1,153 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013, 2014 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:
- * Patrick Tasse - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.views.callstack;
-
-import org.eclipse.linuxtools.internal.tmf.ui.Activator;
-import org.eclipse.linuxtools.internal.tmf.ui.Messages;
-import org.eclipse.linuxtools.statesystem.core.ITmfStateSystem;
-import org.eclipse.linuxtools.statesystem.core.exceptions.AttributeNotFoundException;
-import org.eclipse.linuxtools.statesystem.core.exceptions.StateSystemDisposedException;
-import org.eclipse.linuxtools.statesystem.core.exceptions.TimeRangeException;
-import org.eclipse.linuxtools.statesystem.core.statevalue.ITmfStateValue;
-import org.eclipse.linuxtools.tmf.ui.widgets.timegraph.StateItem;
-import org.eclipse.linuxtools.tmf.ui.widgets.timegraph.TimeGraphPresentationProvider;
-import org.eclipse.linuxtools.tmf.ui.widgets.timegraph.model.ITimeEvent;
-import org.eclipse.linuxtools.tmf.ui.widgets.timegraph.model.ITimeGraphEntry;
-import org.eclipse.linuxtools.tmf.ui.widgets.timegraph.model.NullTimeEvent;
-import org.eclipse.linuxtools.tmf.ui.widgets.timegraph.widgets.Utils;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.GC;
-import org.eclipse.swt.graphics.RGB;
-import org.eclipse.swt.graphics.Rectangle;
-
-/**
- * Presentation provider for the Call Stack view, based on the generic TMF
- * presentation provider.
- *
- * @author Patrick Tasse
- * @since 2.0
- */
-public class CallStackPresentationProvider extends TimeGraphPresentationProvider {
-
- /** Number of colors used for call stack events */
- public static final int NUM_COLORS = 360;
-
- private final CallStackView fView;
-
- private Integer fAverageCharWidth;
-
- private enum State {
- MULTIPLE (new RGB(100, 100, 100)),
- EXEC (new RGB(0, 200, 0));
-
- private final RGB rgb;
-
- private State (RGB rgb) {
- this.rgb = rgb;
- }
- }
-
- /**
- * Constructor
- *
- * @param view
- * The callstack view that will contain the time events
- * @since 3.0
- */
- public CallStackPresentationProvider(CallStackView view) {
- fView = view;
- }
-
- @Override
- public String getStateTypeName(ITimeGraphEntry entry) {
- return Messages.CallStackPresentationProvider_Thread;
- }
-
- @Override
- public StateItem[] getStateTable() {
- final float saturation = 0.6f;
- final float brightness = 0.6f;
- StateItem[] stateTable = new StateItem[NUM_COLORS + 1];
- stateTable[0] = new StateItem(State.MULTIPLE.rgb, State.MULTIPLE.toString());
- for (int i = 0; i < NUM_COLORS; i++) {
- RGB rgb = new RGB(i, saturation, brightness);
- stateTable[i + 1] = new StateItem(rgb, State.EXEC.toString());
- }
- return stateTable;
- }
-
- @Override
- public int getStateTableIndex(ITimeEvent event) {
- if (event instanceof CallStackEvent) {
- CallStackEvent callStackEvent = (CallStackEvent) event;
- return callStackEvent.getValue() + 1;
- } else if (event instanceof NullTimeEvent) {
- return INVISIBLE;
- }
- return State.MULTIPLE.ordinal();
- }
-
- @Override
- public String getEventName(ITimeEvent event) {
- if (event instanceof CallStackEvent) {
- CallStackEntry entry = (CallStackEntry) event.getEntry();
- ITmfStateSystem ss = entry.getStateSystem();
- try {
- ITmfStateValue value = ss.querySingleState(event.getTime(), entry.getQuark()).getStateValue();
- if (!value.isNull()) {
- String address = value.toString();
- return fView.getFunctionName(address);
- }
- } catch (AttributeNotFoundException e) {
- Activator.getDefault().logError("Error querying state system", e); //$NON-NLS-1$
- } catch (TimeRangeException e) {
- Activator.getDefault().logError("Error querying state system", e); //$NON-NLS-1$
- } catch (StateSystemDisposedException e) {
- /* Ignored */
- }
- return null;
- }
- return State.MULTIPLE.toString();
- }
-
- @Override
- public void postDrawEvent(ITimeEvent event, Rectangle bounds, GC gc) {
- if (fAverageCharWidth == null) {
- fAverageCharWidth = gc.getFontMetrics().getAverageCharWidth();
- }
- if (bounds.width <= fAverageCharWidth) {
- return;
- }
- if (!(event instanceof CallStackEvent)) {
- return;
- }
- CallStackEntry entry = (CallStackEntry) event.getEntry();
- ITmfStateSystem ss = entry.getStateSystem();
- try {
- ITmfStateValue value = ss.querySingleState(event.getTime(), entry.getQuark()).getStateValue();
- if (!value.isNull()) {
- String address = value.toString();
- String name = fView.getFunctionName(address);
- gc.setForeground(gc.getDevice().getSystemColor(SWT.COLOR_WHITE));
- Utils.drawText(gc, name, bounds.x, bounds.y - 2, bounds.width, true, true);
- }
- } catch (AttributeNotFoundException e) {
- Activator.getDefault().logError("Error querying state system", e); //$NON-NLS-1$
- } catch (TimeRangeException e) {
- Activator.getDefault().logError("Error querying state system", e); //$NON-NLS-1$
- } catch (StateSystemDisposedException e) {
- /* Ignored */
- }
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/callstack/CallStackView.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/callstack/CallStackView.java
deleted file mode 100644
index 06d53fb2fa..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/callstack/CallStackView.java
+++ /dev/null
@@ -1,1570 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013, 2014 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:
- * Patrick Tasse - Initial API and implementation
- * Bernd Hufmann - Updated signal handling
- * Marc-Andre Laperle - Map from binary file
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.views.callstack;
-
-import java.io.File;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.Comparator;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.concurrent.CopyOnWriteArrayList;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.core.runtime.jobs.Job;
-import org.eclipse.jdt.annotation.Nullable;
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.action.IStatusLineManager;
-import org.eclipse.jface.action.IToolBarManager;
-import org.eclipse.jface.action.MenuManager;
-import org.eclipse.jface.action.Separator;
-import org.eclipse.jface.dialogs.IDialogSettings;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.util.IPropertyChangeListener;
-import org.eclipse.jface.util.PropertyChangeEvent;
-import org.eclipse.jface.viewers.DoubleClickEvent;
-import org.eclipse.jface.viewers.IDoubleClickListener;
-import org.eclipse.jface.viewers.ILabelProviderListener;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.ITableLabelProvider;
-import org.eclipse.jface.viewers.ITreeContentProvider;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.linuxtools.internal.tmf.ui.Activator;
-import org.eclipse.linuxtools.internal.tmf.ui.ITmfImageConstants;
-import org.eclipse.linuxtools.internal.tmf.ui.Messages;
-import org.eclipse.linuxtools.statesystem.core.ITmfStateSystem;
-import org.eclipse.linuxtools.statesystem.core.exceptions.AttributeNotFoundException;
-import org.eclipse.linuxtools.statesystem.core.exceptions.StateSystemDisposedException;
-import org.eclipse.linuxtools.statesystem.core.exceptions.StateValueTypeException;
-import org.eclipse.linuxtools.statesystem.core.exceptions.TimeRangeException;
-import org.eclipse.linuxtools.statesystem.core.interval.ITmfStateInterval;
-import org.eclipse.linuxtools.statesystem.core.statevalue.ITmfStateValue;
-import org.eclipse.linuxtools.statesystem.core.statevalue.ITmfStateValue.Type;
-import org.eclipse.linuxtools.tmf.core.signal.TmfRangeSynchSignal;
-import org.eclipse.linuxtools.tmf.core.signal.TmfSignalHandler;
-import org.eclipse.linuxtools.tmf.core.signal.TmfTimeSynchSignal;
-import org.eclipse.linuxtools.tmf.core.signal.TmfTraceClosedSignal;
-import org.eclipse.linuxtools.tmf.core.signal.TmfTraceOpenedSignal;
-import org.eclipse.linuxtools.tmf.core.signal.TmfTraceSelectedSignal;
-import org.eclipse.linuxtools.tmf.core.timestamp.ITmfTimestamp;
-import org.eclipse.linuxtools.tmf.core.timestamp.TmfNanoTimestamp;
-import org.eclipse.linuxtools.tmf.core.timestamp.TmfTimeRange;
-import org.eclipse.linuxtools.tmf.core.timestamp.TmfTimestamp;
-import org.eclipse.linuxtools.tmf.core.timestamp.TmfTimestampDelta;
-import org.eclipse.linuxtools.tmf.core.trace.ITmfTrace;
-import org.eclipse.linuxtools.tmf.core.trace.TmfTraceManager;
-import org.eclipse.linuxtools.tmf.ui.editors.ITmfTraceEditor;
-import org.eclipse.linuxtools.tmf.ui.views.TmfView;
-import org.eclipse.linuxtools.tmf.ui.widgets.timegraph.ITimeGraphContentProvider;
-import org.eclipse.linuxtools.tmf.ui.widgets.timegraph.ITimeGraphRangeListener;
-import org.eclipse.linuxtools.tmf.ui.widgets.timegraph.ITimeGraphTimeListener;
-import org.eclipse.linuxtools.tmf.ui.widgets.timegraph.TimeGraphCombo;
-import org.eclipse.linuxtools.tmf.ui.widgets.timegraph.TimeGraphRangeUpdateEvent;
-import org.eclipse.linuxtools.tmf.ui.widgets.timegraph.TimeGraphTimeEvent;
-import org.eclipse.linuxtools.tmf.ui.widgets.timegraph.TimeGraphViewer;
-import org.eclipse.linuxtools.tmf.ui.widgets.timegraph.model.ITimeEvent;
-import org.eclipse.linuxtools.tmf.ui.widgets.timegraph.model.ITimeGraphEntry;
-import org.eclipse.linuxtools.tmf.ui.widgets.timegraph.model.NullTimeEvent;
-import org.eclipse.linuxtools.tmf.ui.widgets.timegraph.model.TimeEvent;
-import org.eclipse.linuxtools.tmf.ui.widgets.timegraph.model.TimeGraphEntry;
-import org.eclipse.linuxtools.tmf.ui.widgets.timegraph.widgets.TimeGraphControl;
-import org.eclipse.linuxtools.tmf.ui.widgets.timegraph.widgets.TimeGraphSelection;
-import org.eclipse.linuxtools.tmf.ui.widgets.timegraph.widgets.Utils.TimeFormat;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.ControlAdapter;
-import org.eclipse.swt.events.ControlEvent;
-import org.eclipse.swt.events.MouseAdapter;
-import org.eclipse.swt.events.MouseEvent;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.FileDialog;
-import org.eclipse.swt.widgets.Menu;
-import org.eclipse.swt.widgets.Tree;
-import org.eclipse.ui.IActionBars;
-import org.eclipse.ui.IEditorPart;
-
-/**
- * Main implementation for the Call Stack view
- *
- * @author Patrick Tasse
- * @since 2.0
- */
-public class CallStackView extends TmfView {
-
- // ------------------------------------------------------------------------
- // Constants
- // ------------------------------------------------------------------------
-
- /** View ID. */
- public static final String ID = "org.eclipse.linuxtools.tmf.ui.views.callstack"; //$NON-NLS-1$
-
- /**
- * Redraw state enum
- */
- private enum State {
- IDLE, BUSY, PENDING
- }
-
- private static final String[] COLUMN_TIMES = new String[] {
- Messages.CallStackView_FunctionColumn,
- Messages.CallStackView_DepthColumn,
- Messages.CallStackView_EntryTimeColumn,
- Messages.CallStackView_ExitTimeColumn,
- Messages.CallStackView_DurationColumn
- };
-
- private static final int[] COLUMN_WIDTHS = new int[] {
- 200,
- 50,
- 120,
- 120,
- 120
- };
-
- /** Timeout between updates in the build thread in ms */
- private static final long BUILD_UPDATE_TIMEOUT = 500;
-
- // Fraction of a function duration to be added as spacing
- private static final double SPACING_RATIO = 0.01;
-
- private static final Image THREAD_IMAGE = Activator.getDefault().getImageFromPath("icons/obj16/thread_obj.gif"); //$NON-NLS-1$
- private static final Image STACKFRAME_IMAGE = Activator.getDefault().getImageFromPath("icons/obj16/stckframe_obj.gif"); //$NON-NLS-1$
-
- private static final String IMPORT_MAPPING_ICON_PATH = "icons/etool16/import.gif"; //$NON-NLS-1$
- private static final String IMPORT_BINARY_ICON_PATH = "icons/obj16/binaries_obj.gif"; //$NON-NLS-1$
-
- private static final ImageDescriptor SORT_BY_NAME_ICON = Activator.getDefault().getImageDescripterFromPath("icons/etool16/sort_alpha.gif"); //$NON-NLS-1$
- private static final ImageDescriptor SORT_BY_NAME_REV_ICON = Activator.getDefault().getImageDescripterFromPath("icons/etool16/sort_alpha_rev.gif"); //$NON-NLS-1$
- private static final ImageDescriptor SORT_BY_ID_ICON = Activator.getDefault().getImageDescripterFromPath("icons/etool16/sort_num.gif"); //$NON-NLS-1$
- private static final ImageDescriptor SORT_BY_ID_REV_ICON = Activator.getDefault().getImageDescripterFromPath("icons/etool16/sort_num_rev.gif"); //$NON-NLS-1$
- private static final ImageDescriptor SORT_BY_TIME_ICON = Activator.getDefault().getImageDescripterFromPath("icons/etool16/sort_time.gif"); //$NON-NLS-1$
- private static final ImageDescriptor SORT_BY_TIME_REV_ICON = Activator.getDefault().getImageDescripterFromPath("icons/etool16/sort_time_rev.gif"); //$NON-NLS-1$
- private static final String SORT_OPTION_KEY = "sort.option"; //$NON-NLS-1$
-
- private enum SortOption {
- BY_NAME, BY_NAME_REV, BY_ID, BY_ID_REV, BY_TIME, BY_TIME_REV
- }
-
- private SortOption fSortOption;
- private Comparator<ITimeGraphEntry> fThreadComparator = null;
- private Action fSortByNameAction;
- private Action fSortByIdAction;
- private Action fSortByTimeAction;
-
- // ------------------------------------------------------------------------
- // Fields
- // ------------------------------------------------------------------------
-
- // The time graph combo
- private TimeGraphCombo fTimeGraphCombo;
-
- // The selected trace
- private ITmfTrace fTrace;
-
- // The selected thread map
- private final Map<ITmfTrace, String> fSelectedThreadMap = new HashMap<>();
-
- // The time graph entry list
- private List<TraceEntry> fEntryList;
-
- // The trace to entry list hash map
- private final Map<ITmfTrace, List<TraceEntry>> fEntryListMap = new HashMap<>();
-
- // The trace to build thread hash map
- private final Map<ITmfTrace, BuildThread> fBuildThreadMap = new HashMap<>();
-
- /** The map to map function addresses to function names */
- private Map<String, String> fNameMapping;
-
- // The start time
- private long fStartTime;
-
- // The end time
- private long fEndTime;
-
- // The display width
- private int fDisplayWidth;
-
- // The next event action
- private Action fNextEventAction;
-
- // The previous event action
- private Action fPrevEventAction;
-
- // The next item action
- private Action fNextItemAction;
-
- // The previous item action
- private Action fPreviousItemAction;
-
- // The action to import a function-name mapping file
- private Action fImportMappingAction;
-
- // The action to import a binary file mapping */
- private Action fImportBinaryFileMappingAction;
-
- // The zoom thread
- private ZoomThread fZoomThread;
-
- // The redraw state used to prevent unnecessary queuing of display runnables
- private State fRedrawState = State.IDLE;
-
- // The redraw synchronization object
- private final Object fSyncObj = new Object();
-
- // The saved time sync. signal used when switching off the pinning of a view
- private TmfTimeSynchSignal fSavedTimeSyncSignal;
-
- // The saved time range sync. signal used when switching off the pinning of
- // a view
- private TmfRangeSynchSignal fSavedRangeSyncSignal;
-
- // ------------------------------------------------------------------------
- // Classes
- // ------------------------------------------------------------------------
-
- private class TraceEntry extends TimeGraphEntry {
- public TraceEntry(String name, long startTime, long endTime) {
- super(name, startTime, endTime);
- }
-
- @Override
- public boolean hasTimeEvents() {
- return false;
- }
- }
-
- private class ThreadEntry extends TimeGraphEntry {
- // The call stack quark
- private final int fCallStackQuark;
- // The state system from which this entry comes
- private final ITmfStateSystem fSS;
- // The thread id
- private final long fThreadId;
-
- public ThreadEntry(ITmfStateSystem ss, String name, long threadId, int callStackQuark, long startTime, long endTime) {
- super(name, startTime, endTime);
- fCallStackQuark = callStackQuark;
- fThreadId = threadId;
- fSS = ss;
- }
-
- @Override
- public boolean hasTimeEvents() {
- return false;
- }
-
- public int getCallStackQuark() {
- return fCallStackQuark;
- }
-
- public long getThreadId() {
- return fThreadId;
- }
-
- @Nullable
- public ITmfStateSystem getStateSystem() {
- return fSS;
- }
- }
-
- private class ThreadNameComparator implements Comparator<ITimeGraphEntry> {
- private boolean reverse;
-
- public ThreadNameComparator(boolean reverse) {
- this.reverse = reverse;
- }
-
- @Override
- public int compare(ITimeGraphEntry o1, ITimeGraphEntry o2) {
- return reverse ? o2.getName().compareTo(o1.getName()) :
- o1.getName().compareTo(o2.getName());
- }
- }
-
- private class ThreadIdComparator implements Comparator<ITimeGraphEntry> {
- private boolean reverse;
-
- public ThreadIdComparator(boolean reverse) {
- this.reverse = reverse;
- }
-
- @Override
- public int compare(ITimeGraphEntry o1, ITimeGraphEntry o2) {
- ThreadEntry t1 = (ThreadEntry) o1;
- ThreadEntry t2 = (ThreadEntry) o2;
- return reverse ? Long.compare(t2.getThreadId(), t1.getThreadId()) :
- Long.compare(t1.getThreadId(), t2.getThreadId());
- }
- }
-
- private class ThreadTimeComparator implements Comparator<ITimeGraphEntry> {
- private boolean reverse;
-
- public ThreadTimeComparator(boolean reverse) {
- this.reverse = reverse;
- }
-
- @Override
- public int compare(ITimeGraphEntry o1, ITimeGraphEntry o2) {
- return reverse ? Long.compare(o2.getStartTime(), o1.getStartTime()) :
- Long.compare(o1.getStartTime(), o2.getStartTime());
- }
- }
-
- private class TreeContentProvider implements ITreeContentProvider {
-
- @Override
- public void dispose() {
- }
-
- @Override
- public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
- }
-
- @Override
- public Object[] getElements(Object inputElement) {
- if (inputElement != null) {
- try {
- return ((List<?>) inputElement).toArray(new ITimeGraphEntry[0]);
- } catch (ClassCastException e) {
- }
- }
- return new ITimeGraphEntry[0];
- }
-
- @Override
- public Object[] getChildren(Object parentElement) {
- ITimeGraphEntry entry = (ITimeGraphEntry) parentElement;
- return entry.getChildren().toArray();
- }
-
- @Override
- public Object getParent(Object element) {
- ITimeGraphEntry entry = (ITimeGraphEntry) element;
- return entry.getParent();
- }
-
- @Override
- public boolean hasChildren(Object element) {
- ITimeGraphEntry entry = (ITimeGraphEntry) element;
- return entry.hasChildren();
- }
-
- }
-
- private class TreeLabelProvider implements ITableLabelProvider {
-
- @Override
- public void addListener(ILabelProviderListener listener) {
- }
-
- @Override
- public void dispose() {
- }
-
- @Override
- public boolean isLabelProperty(Object element, String property) {
- return false;
- }
-
- @Override
- public void removeListener(ILabelProviderListener listener) {
- }
-
- @Override
- public Image getColumnImage(Object element, int columnIndex) {
- if (columnIndex == 0) {
- if (element instanceof ThreadEntry) {
- return THREAD_IMAGE;
- } else if (element instanceof CallStackEntry) {
- CallStackEntry entry = (CallStackEntry) element;
- if (entry.getFunctionName().length() > 0) {
- return STACKFRAME_IMAGE;
- }
- }
- }
- return null;
- }
-
- @Override
- public String getColumnText(Object element, int columnIndex) {
- if (element instanceof CallStackEntry) {
- CallStackEntry entry = (CallStackEntry) element;
- if (columnIndex == 0) {
- return entry.getFunctionName();
- } else if (columnIndex == 1 && entry.getFunctionName().length() > 0) {
- int depth = entry.getStackLevel();
- return Integer.toString(depth);
- } else if (columnIndex == 2 && entry.getFunctionName().length() > 0) {
- ITmfTimestamp ts = new TmfTimestamp(entry.getFunctionEntryTime(), ITmfTimestamp.NANOSECOND_SCALE);
- return ts.toString();
- } else if (columnIndex == 3 && entry.getFunctionName().length() > 0) {
- ITmfTimestamp ts = new TmfTimestamp(entry.getFunctionExitTime(), ITmfTimestamp.NANOSECOND_SCALE);
- return ts.toString();
- } else if (columnIndex == 4 && entry.getFunctionName().length() > 0) {
- ITmfTimestamp ts = new TmfTimestampDelta(entry.getFunctionExitTime() - entry.getFunctionEntryTime(), ITmfTimestamp.NANOSECOND_SCALE);
- return ts.toString();
- }
- } else if (element instanceof ITimeGraphEntry) {
- if (columnIndex == 0) {
- return ((ITimeGraphEntry) element).getName();
- }
- }
- return ""; //$NON-NLS-1$
- }
-
- }
-
- private class TimeGraphContentProvider implements ITimeGraphContentProvider {
-
- @Override
- public ITimeGraphEntry[] getElements(Object inputElement) {
- if (inputElement != null) {
- try {
- return ((List<?>) inputElement).toArray(new ITimeGraphEntry[0]);
- } catch (ClassCastException e) {
- }
- }
- return new ITimeGraphEntry[0];
- }
-
- }
-
- private class BuildThread extends Thread {
- private final ITmfTrace fBuildTrace;
- private final ITmfTrace fParentTrace;
- private final IProgressMonitor fMonitor;
-
- public BuildThread(ITmfTrace trace, ITmfTrace parentTrace) {
- super("CallStackView build"); //$NON-NLS-1$
- fBuildTrace = trace;
- fParentTrace = parentTrace;
- fMonitor = new NullProgressMonitor();
- }
-
- @Override
- public void run() {
- buildThreadList(fBuildTrace, fParentTrace, fMonitor);
- synchronized (fBuildThreadMap) {
- fBuildThreadMap.remove(fBuildTrace);
- }
- }
-
- public void cancel() {
- fMonitor.setCanceled(true);
- }
- }
-
- private class ZoomThread extends Thread {
- private final List<TraceEntry> fZoomEntryList;
- private final long fZoomStartTime;
- private final long fZoomEndTime;
- private final IProgressMonitor fMonitor;
-
- public ZoomThread(List<TraceEntry> entryList, long startTime, long endTime) {
- super("CallStackView zoom"); //$NON-NLS-1$
- fZoomEntryList = entryList;
- fZoomStartTime = startTime;
- fZoomEndTime = endTime;
- fMonitor = new NullProgressMonitor();
- }
-
- @Override
- public void run() {
- if (fZoomEntryList == null) {
- return;
- }
- long resolution = Math.max(1, (fZoomEndTime - fZoomStartTime) / fDisplayWidth);
- for (TraceEntry traceEntry : fZoomEntryList) {
- for (ITimeGraphEntry threadEntry : traceEntry.getChildren()) {
- ITmfStateSystem ss = ((ThreadEntry) threadEntry).getStateSystem();
- if (ss == null) {
- continue;
- }
- ss.waitUntilBuilt();
- if (ss.isCancelled()) {
- continue;
- }
- for (ITimeGraphEntry child : threadEntry.getChildren()) {
- if (fMonitor.isCanceled()) {
- break;
- }
- CallStackEntry entry = (CallStackEntry) child;
- if (fZoomStartTime <= fStartTime && fZoomEndTime >= fEndTime) {
- entry.setZoomedEventList(null);
- } else {
- List<ITimeEvent> zoomedEventList = getEventList(entry, fZoomStartTime, fZoomEndTime, resolution, fMonitor);
- if (zoomedEventList != null) {
- entry.setZoomedEventList(zoomedEventList);
- }
- }
- redraw();
- }
- }
- }
- }
-
- public void cancel() {
- fMonitor.setCanceled(true);
- }
- }
-
- // ------------------------------------------------------------------------
- // Constructors
- // ------------------------------------------------------------------------
-
- /**
- * Default constructor
- */
- public CallStackView() {
- super(ID);
- fDisplayWidth = Display.getDefault().getBounds().width;
- }
-
- // ------------------------------------------------------------------------
- // ViewPart
- // ------------------------------------------------------------------------
-
- @Override
- public void createPartControl(Composite parent) {
- fTimeGraphCombo = new TimeGraphCombo(parent, SWT.NONE);
-
- fTimeGraphCombo.setTreeContentProvider(new TreeContentProvider());
-
- fTimeGraphCombo.setTreeLabelProvider(new TreeLabelProvider());
-
- fTimeGraphCombo.setTreeColumns(COLUMN_TIMES);
-
- fTimeGraphCombo.getTreeViewer().getTree().getColumn(0).setWidth(COLUMN_WIDTHS[0]);
- fTimeGraphCombo.getTreeViewer().getTree().getColumn(1).setWidth(COLUMN_WIDTHS[1]);
- fTimeGraphCombo.getTreeViewer().getTree().getColumn(2).setWidth(COLUMN_WIDTHS[2]);
- fTimeGraphCombo.getTreeViewer().getTree().getColumn(3).setWidth(COLUMN_WIDTHS[3]);
- fTimeGraphCombo.getTreeViewer().getTree().getColumn(4).setWidth(COLUMN_WIDTHS[4]);
-
- fTimeGraphCombo.setTimeGraphContentProvider(new TimeGraphContentProvider());
- fTimeGraphCombo.setTimeGraphProvider(new CallStackPresentationProvider(this));
- fTimeGraphCombo.getTimeGraphViewer().setTimeFormat(TimeFormat.CALENDAR);
-
- fTimeGraphCombo.getTimeGraphViewer().addRangeListener(new ITimeGraphRangeListener() {
- @Override
- public void timeRangeUpdated(TimeGraphRangeUpdateEvent event) {
- long startTime = event.getStartTime();
- long endTime = event.getEndTime();
- TmfTimeRange range = new TmfTimeRange(new TmfNanoTimestamp(startTime), new TmfNanoTimestamp(endTime));
- broadcast(new TmfRangeSynchSignal(CallStackView.this, range));
- startZoomThread(startTime, endTime);
- }
- });
-
- fTimeGraphCombo.getTimeGraphViewer().addTimeListener(new ITimeGraphTimeListener() {
- @Override
- public void timeSelected(TimeGraphTimeEvent event) {
- long beginTime = event.getBeginTime();
- long endTime = event.getEndTime();
- synchingToTime(beginTime);
- broadcast(new TmfTimeSynchSignal(CallStackView.this, new TmfNanoTimestamp(beginTime), new TmfNanoTimestamp(endTime)));
- }
- });
-
- fTimeGraphCombo.getTimeGraphViewer().getControl().addControlListener(new ControlAdapter() {
- @Override
- public void controlResized(ControlEvent e) {
- fDisplayWidth = fTimeGraphCombo.getTimeGraphViewer().getControl().getSize().x;
- if (fEntryList != null) {
- startZoomThread(fTimeGraphCombo.getTimeGraphViewer().getTime0(), fTimeGraphCombo.getTimeGraphViewer().getTime1());
- }
- }
- });
-
- fTimeGraphCombo.getTreeViewer().addDoubleClickListener(new IDoubleClickListener() {
- @Override
- public void doubleClick(DoubleClickEvent event) {
- Object selection = ((IStructuredSelection) event.getSelection()).getFirstElement();
- if (selection instanceof CallStackEntry) {
- CallStackEntry entry = (CallStackEntry) selection;
- if (entry.getFunctionName().length() > 0) {
- long entryTime = entry.getFunctionEntryTime();
- long exitTime = entry.getFunctionExitTime();
- long spacingTime = (long) ((exitTime - entryTime) * SPACING_RATIO);
- entryTime -= spacingTime;
- exitTime += spacingTime;
- TmfTimeRange range = new TmfTimeRange(new TmfNanoTimestamp(entryTime), new TmfNanoTimestamp(exitTime));
- broadcast(new TmfRangeSynchSignal(CallStackView.this, range));
- fTimeGraphCombo.getTimeGraphViewer().setStartFinishTime(entryTime, exitTime);
- startZoomThread(entryTime, exitTime);
- }
- }
- }
- });
-
- fTimeGraphCombo.getTimeGraphViewer().getTimeGraphControl().addMouseListener(new MouseAdapter() {
- @Override
- public void mouseDoubleClick(MouseEvent e) {
- TimeGraphControl timeGraphControl = fTimeGraphCombo.getTimeGraphViewer().getTimeGraphControl();
- ISelection selection = timeGraphControl.getSelection();
- if (selection instanceof TimeGraphSelection) {
- Object o = ((TimeGraphSelection) selection).getFirstElement();
- if (o instanceof CallStackEvent) {
- CallStackEvent event = (CallStackEvent) o;
- long startTime = event.getTime();
- long endTime = startTime + event.getDuration();
- long spacingTime = (long) ((endTime - startTime) * SPACING_RATIO);
- startTime -= spacingTime;
- endTime += spacingTime;
- TmfTimeRange range = new TmfTimeRange(new TmfNanoTimestamp(startTime), new TmfNanoTimestamp(endTime));
- broadcast(new TmfRangeSynchSignal(CallStackView.this, range));
- fTimeGraphCombo.getTimeGraphViewer().setStartFinishTime(startTime, endTime);
- startZoomThread(startTime, endTime);
- }
- }
- }
- });
-
- IStatusLineManager statusLineManager = getViewSite().getActionBars().getStatusLineManager();
- fTimeGraphCombo.getTimeGraphViewer().getTimeGraphControl().setStatusLineManager(statusLineManager);
-
- // View Action Handling
- makeActions();
- contributeToActionBars();
- createContextMenu();
- loadSortOption();
-
- IEditorPart editor = getSite().getPage().getActiveEditor();
- if (editor instanceof ITmfTraceEditor) {
- ITmfTrace trace = ((ITmfTraceEditor) editor).getTrace();
- if (trace != null) {
- traceSelected(new TmfTraceSelectedSignal(this, trace));
- }
- }
- }
-
- @Override
- public void setFocus() {
- fTimeGraphCombo.setFocus();
- }
-
- // ------------------------------------------------------------------------
- // Signal handlers
- // ------------------------------------------------------------------------
- /**
- * Handler for the trace opened signal.
- *
- * @param signal
- * The incoming signal
- * @since 2.0
- */
- @TmfSignalHandler
- public void traceOpened(TmfTraceOpenedSignal signal) {
- fTrace = signal.getTrace();
- loadTrace();
- }
-
- /**
- * Handler for the trace selected signal
- *
- * @param signal
- * The incoming signal
- */
- @TmfSignalHandler
- public void traceSelected(final TmfTraceSelectedSignal signal) {
- if (signal.getTrace() == fTrace) {
- return;
- }
- fTrace = signal.getTrace();
- loadTrace();
- }
-
- /**
- * Trace is closed: clear the data structures and the view
- *
- * @param signal
- * the signal received
- */
- @TmfSignalHandler
- public void traceClosed(final TmfTraceClosedSignal signal) {
- synchronized (fBuildThreadMap) {
- ITmfTrace[] traces = TmfTraceManager.getTraceSet(signal.getTrace());
- for (ITmfTrace trace : traces) {
- BuildThread buildThread = fBuildThreadMap.remove(trace);
- if (buildThread != null) {
- buildThread.cancel();
- }
- }
- }
- synchronized (fEntryListMap) {
- fEntryListMap.remove(signal.getTrace());
- }
- fSelectedThreadMap.remove(signal.getTrace());
- if (signal.getTrace() == fTrace) {
- fTrace = null;
- fStartTime = 0;
- fEndTime = 0;
- refresh();
- }
- }
-
- /**
- * Handler for the TimeSynch signal
- *
- * @param signal
- * The incoming signal
- */
- @TmfSignalHandler
- public void synchToTime(final TmfTimeSynchSignal signal) {
-
- fSavedTimeSyncSignal = isPinned() ? new TmfTimeSynchSignal(signal.getSource(), signal.getBeginTime(), signal.getEndTime()) : null;
-
- if (signal.getSource() == this || fTrace == null || isPinned()) {
- return;
- }
- final long beginTime = signal.getBeginTime().normalize(0, ITmfTimestamp.NANOSECOND_SCALE).getValue();
- final long endTime = signal.getEndTime().normalize(0, ITmfTimestamp.NANOSECOND_SCALE).getValue();
- Display.getDefault().asyncExec(new Runnable() {
- @Override
- public void run() {
- if (fTimeGraphCombo.isDisposed()) {
- return;
- }
- if (beginTime == endTime) {
- fTimeGraphCombo.getTimeGraphViewer().setSelectedTime(beginTime, true);
- } else {
- fTimeGraphCombo.getTimeGraphViewer().setSelectionRange(beginTime, endTime);
- }
- synchingToTime(beginTime);
- startZoomThread(fTimeGraphCombo.getTimeGraphViewer().getTime0(), fTimeGraphCombo.getTimeGraphViewer().getTime1());
- if (fEntryList == null) {
- return;
- }
- TimeGraphViewer viewer = fTimeGraphCombo.getTimeGraphViewer();
- for (TraceEntry traceEntry : fEntryList) {
- for (ITimeGraphEntry child : traceEntry.getChildren()) {
- ThreadEntry threadEntry = (ThreadEntry) child;
- ITmfStateSystem ss = threadEntry.getStateSystem();
- if (ss == null || beginTime < ss.getStartTime() || beginTime > ss.getCurrentEndTime()) {
- continue;
- }
- try {
- int quark = threadEntry.getCallStackQuark();
- ITmfStateInterval stackInterval = ss.querySingleState(beginTime, quark);
- if (beginTime == stackInterval.getStartTime()) {
- int stackLevel = stackInterval.getStateValue().unboxInt();
- ITimeGraphEntry selectedEntry = threadEntry.getChildren().get(Math.max(0, stackLevel - 1));
- fTimeGraphCombo.setSelection(selectedEntry);
- viewer.getTimeGraphControl().fireSelectionChanged();
- break;
- }
- } catch (AttributeNotFoundException | TimeRangeException | StateSystemDisposedException | StateValueTypeException e) {
- Activator.getDefault().logError("Error querying state system", e); //$NON-NLS-1$
- }
- }
- }
- }
- });
- }
-
- /**
- * Handler for the RangeSynch signal
- *
- * @param signal
- * The incoming signal
- */
- @TmfSignalHandler
- public void synchToRange(final TmfRangeSynchSignal signal) {
-
- if (isPinned()) {
- fSavedRangeSyncSignal =
- new TmfRangeSynchSignal(signal.getSource(), new TmfTimeRange(signal.getCurrentRange().getStartTime(), signal.getCurrentRange().getEndTime()));
-
- fSavedTimeSyncSignal = null;
- }
-
- if (signal.getSource() == this || fTrace == null || isPinned()) {
- return;
- }
- if (signal.getCurrentRange().getIntersection(fTrace.getTimeRange()) == null) {
- return;
- }
- final long startTime = signal.getCurrentRange().getStartTime().normalize(0, ITmfTimestamp.NANOSECOND_SCALE).getValue();
- final long endTime = signal.getCurrentRange().getEndTime().normalize(0, ITmfTimestamp.NANOSECOND_SCALE).getValue();
- Display.getDefault().asyncExec(new Runnable() {
- @Override
- public void run() {
- if (fTimeGraphCombo.isDisposed()) {
- return;
- }
- fTimeGraphCombo.getTimeGraphViewer().setStartFinishTime(startTime, endTime);
- startZoomThread(startTime, endTime);
- }
- });
- }
-
- // ------------------------------------------------------------------------
- // Internal
- // ------------------------------------------------------------------------
-
- private void loadTrace() {
- synchronized (fEntryListMap) {
- fEntryList = fEntryListMap.get(fTrace);
- if (fEntryList == null) {
- fStartTime = Long.MAX_VALUE;
- fEndTime = Long.MIN_VALUE;
- refresh();
- synchronized (fBuildThreadMap) {
- ITmfTrace[] traces = TmfTraceManager.getTraceSet(fTrace);
- for (ITmfTrace trace : traces) {
- BuildThread buildThread = new BuildThread(trace, fTrace);
- fBuildThreadMap.put(trace, buildThread);
- buildThread.start();
- }
- }
- } else {
- fStartTime = fTrace.getStartTime().normalize(0, ITmfTimestamp.NANOSECOND_SCALE).getValue();
- fEndTime = fTrace.getEndTime().normalize(0, ITmfTimestamp.NANOSECOND_SCALE).getValue();
- refresh();
- }
- }
- }
-
- private void buildThreadList(final ITmfTrace trace, final ITmfTrace parentTrace, IProgressMonitor monitor) {
- if (monitor.isCanceled()) {
- return;
- }
- AbstractCallStackAnalysis module = getCallStackModule(trace);
- if (module == null) {
- addUnavailableEntry(trace, parentTrace);
- return;
- }
- ITmfStateSystem ss = module.getStateSystem();
- if (ss == null) {
- addUnavailableEntry(trace, parentTrace);
- return;
- }
-
- Map<ITmfTrace, TraceEntry> traceEntryMap = new HashMap<>();
- Map<Integer, ThreadEntry> threadEntryMap = new HashMap<>();
- String[] threadPaths = module.getThreadsPattern();
-
- long start = ss.getStartTime();
-
- boolean complete = false;
- while (!complete) {
- if (monitor.isCanceled()) {
- return;
- }
- complete = ss.waitUntilBuilt(BUILD_UPDATE_TIMEOUT);
- if (ss.isCancelled()) {
- return;
- }
- long end = ss.getCurrentEndTime();
- if (start == end && !complete) { // when complete execute one last time regardless of end time
- continue;
- }
- List<Integer> threadQuarks = ss.getQuarks(threadPaths);
- TraceEntry traceEntry = traceEntryMap.get(trace);
- if (traceEntry == null) {
- traceEntry = new TraceEntry(trace.getName(), start, end + 1);
- traceEntryMap.put(trace, traceEntry);
- traceEntry.sortChildren(fThreadComparator);
- addToEntryList(parentTrace, Collections.singletonList(traceEntry));
- } else {
- traceEntry.updateEndTime(end);
- }
- for (int i = 0; i < threadQuarks.size(); i++) {
- if (monitor.isCanceled()) {
- return;
- }
- int threadQuark = threadQuarks.get(i);
- try {
- String[] callStackPath = module.getCallStackPath();
- int callStackQuark = ss.getQuarkRelative(threadQuark, callStackPath);
- String threadName = ss.getAttributeName(threadQuark);
- long threadEnd = end + 1;
- ITmfStateInterval endInterval = ss.querySingleState(ss.getCurrentEndTime(), callStackQuark);
- if (endInterval.getStateValue().isNull() && endInterval.getStartTime() != ss.getStartTime()) {
- threadEnd = endInterval.getStartTime();
- }
- ThreadEntry threadEntry = threadEntryMap.get(threadQuark);
- if (threadEntry == null) {
- long threadId = ss.querySingleState(ss.getCurrentEndTime(), threadQuark).getStateValue().unboxLong();
- long threadStart = start;
- ITmfStateInterval startInterval = ss.querySingleState(start, callStackQuark);
- if (startInterval.getStateValue().isNull()) {
- threadStart = Math.min(startInterval.getEndTime() + 1, end + 1);
- }
- threadEntry = new ThreadEntry(ss, threadName, threadId, callStackQuark, threadStart, threadEnd);
- threadEntryMap.put(threadQuark, threadEntry);
- traceEntry.addChild(threadEntry);
- } else {
- threadEntry.updateEndTime(threadEnd);
- }
- int level = 1;
- for (int stackLevelQuark : ss.getSubAttributes(callStackQuark, false)) {
- if (level > threadEntry.getChildren().size()) {
- CallStackEntry callStackEntry = new CallStackEntry(threadName, stackLevelQuark, level, trace, ss);
- threadEntry.addChild(callStackEntry);
- }
- level++;
- }
- } catch (AttributeNotFoundException e) {
- Activator.getDefault().logError("Error querying state system", e); //$NON-NLS-1$
- } catch (StateSystemDisposedException e) {
- /* Ignored */
- }
- }
- if (parentTrace == fTrace) {
- synchronized (fEntryListMap) {
- fStartTime = Math.min(fStartTime, start);
- fEndTime = Math.max(fEndTime, end + 1);
- }
- refresh();
- }
- for (ITimeGraphEntry threadEntry : traceEntry.getChildren()) {
- for (ITimeGraphEntry callStackEntry : threadEntry.getChildren()) {
- if (monitor.isCanceled()) {
- return;
- }
- buildStatusEvents(parentTrace, (CallStackEntry) callStackEntry, monitor, start, end);
- }
- }
- start = end;
- }
- }
-
- private void addToEntryList(ITmfTrace trace, List<TraceEntry> list) {
- synchronized (fEntryListMap) {
- List<TraceEntry> entryList = fEntryListMap.get(trace);
- if (entryList == null) {
- fEntryListMap.put(trace, new CopyOnWriteArrayList<>(list));
- } else {
- entryList.addAll(list);
- }
- }
- }
-
- private void addUnavailableEntry(ITmfTrace trace, ITmfTrace parentTrace) {
- String name = Messages.CallStackView_StackInfoNotAvailable + ' ' + '(' + trace.getName() + ')';
- TraceEntry unavailableEntry = new TraceEntry(name, 0, 0);
- addToEntryList(parentTrace, Collections.singletonList(unavailableEntry));
- if (parentTrace == fTrace) {
- refresh();
- }
- }
-
- private void buildStatusEvents(ITmfTrace trace, CallStackEntry entry, IProgressMonitor monitor, long start, long end) {
- ITmfStateSystem ss = entry.getStateSystem();
- long resolution = Math.max(1, (end - ss.getStartTime()) / fDisplayWidth);
- List<ITimeEvent> eventList = getEventList(entry, start, end + 1, resolution, monitor);
- if (eventList != null) {
- for (ITimeEvent event : eventList) {
- entry.addEvent(event);
- }
- }
- if (trace == fTrace) {
- redraw();
- }
- }
-
- private static List<ITimeEvent> getEventList(CallStackEntry entry,
- long startTime, long endTime, long resolution,
- IProgressMonitor monitor) {
- ITmfStateSystem ss = entry.getStateSystem();
- long start = Math.max(startTime, ss.getStartTime());
- long end = Math.min(endTime, ss.getCurrentEndTime() + 1);
- if (end <= start) {
- return null;
- }
- List<ITimeEvent> eventList = null;
- try {
- List<ITmfStateInterval> stackIntervals = ss.queryHistoryRange(entry.getQuark(), start, end - 1, resolution, monitor);
- eventList = new ArrayList<>(stackIntervals.size());
- long lastEndTime = -1;
- boolean lastIsNull = true;
- for (ITmfStateInterval statusInterval : stackIntervals) {
- if (monitor.isCanceled()) {
- return null;
- }
- long time = statusInterval.getStartTime();
- long duration = statusInterval.getEndTime() - time + 1;
- if (!statusInterval.getStateValue().isNull()) {
- final int modulo = CallStackPresentationProvider.NUM_COLORS / 2;
- int value = statusInterval.getStateValue().toString().hashCode() % modulo + modulo;
- eventList.add(new CallStackEvent(entry, time, duration, value));
- lastIsNull = false;
- } else {
- if (lastEndTime == -1) {
- // add null event if it intersects the start time
- eventList.add(new NullTimeEvent(entry, time, duration));
- } else {
- if (lastEndTime != time && lastIsNull) {
- // add unknown event if between two null states
- eventList.add(new TimeEvent(entry, lastEndTime, time - lastEndTime));
- }
- if (time + duration >= endTime) {
- // add null event if it intersects the end time
- eventList.add(new NullTimeEvent(entry, time, duration));
- }
- }
- lastIsNull = true;
- }
- lastEndTime = time + duration;
- }
- } catch (AttributeNotFoundException e) {
- Activator.getDefault().logError("Error querying state system", e); //$NON-NLS-1$
- } catch (TimeRangeException e) {
- Activator.getDefault().logError("Error querying state system", e); //$NON-NLS-1$
- } catch (StateSystemDisposedException e) {
- /* Ignored */
- }
- return eventList;
- }
-
- private void synchingToTime(long time) {
- if (fEntryList == null) {
- return;
- }
- for (TraceEntry traceEntry : fEntryList) {
- for (ITimeGraphEntry threadEntry : traceEntry.getChildren()) {
- ITmfStateSystem ss = ((ThreadEntry) threadEntry).getStateSystem();
- if (ss == null) {
- continue;
- }
- if (ss.isCancelled()) {
- continue;
- }
- if (time < ss.getStartTime() || time > ss.getCurrentEndTime()) {
- continue;
- }
- for (ITimeGraphEntry child : threadEntry.getChildren()) {
- CallStackEntry callStackEntry = (CallStackEntry) child;
- try {
- ITmfStateInterval stackLevelInterval = ss.querySingleState(time, callStackEntry.getQuark());
- ITmfStateValue nameValue = stackLevelInterval.getStateValue();
- String name = ""; //$NON-NLS-1$
- try {
- if (nameValue.getType() == Type.STRING) {
- String address = nameValue.unboxStr();
- name = getFunctionName(address);
- } else if (nameValue.getType() == Type.INTEGER) {
- name = "0x" + Integer.toHexString(nameValue.unboxInt()); //$NON-NLS-1$
- } else if (nameValue.getType() == Type.LONG) {
- name = "0x" + Long.toHexString(nameValue.unboxLong()); //$NON-NLS-1$
- }
- } catch (StateValueTypeException e) {
- }
- callStackEntry.setFunctionName(name);
- if (name.length() > 0) {
- callStackEntry.setFunctionEntryTime(stackLevelInterval.getStartTime());
- callStackEntry.setFunctionExitTime(stackLevelInterval.getEndTime() + 1);
- }
- } catch (AttributeNotFoundException e) {
- Activator.getDefault().logError("Error querying state system", e); //$NON-NLS-1$
- } catch (StateSystemDisposedException e) {
- /* Ignored */
- }
- }
- }
- }
- fTimeGraphCombo.refresh();
- }
-
- private void refresh() {
- Display.getDefault().asyncExec(new Runnable() {
- @Override
- public void run() {
- if (fTimeGraphCombo.isDisposed()) {
- return;
- }
- synchronized (fEntryListMap) {
- fEntryList = fEntryListMap.get(fTrace);
- if (fEntryList == null) {
- fEntryList = new ArrayList<>();
- }
- for (TraceEntry traceEntry : fEntryList) {
- traceEntry.sortChildren(fThreadComparator);
- }
- }
- if (fEntryList != fTimeGraphCombo.getInput()) {
- fTimeGraphCombo.setInput(fEntryList);
- } else {
- fTimeGraphCombo.refresh();
- }
- fTimeGraphCombo.getTimeGraphViewer().setTimeBounds(fStartTime, fEndTime);
-
- long selectionBeginTime = fTrace == null ? 0 : fTraceManager.getSelectionBeginTime().normalize(0, ITmfTimestamp.NANOSECOND_SCALE).getValue();
- long selectionEndTime = fTrace == null ? 0 : fTraceManager.getSelectionEndTime().normalize(0, ITmfTimestamp.NANOSECOND_SCALE).getValue();
- long startTime = fTrace == null ? 0 : fTraceManager.getCurrentRange().getStartTime().normalize(0, ITmfTimestamp.NANOSECOND_SCALE).getValue();
- long endTime = fTrace == null ? 0 : fTraceManager.getCurrentRange().getEndTime().normalize(0, ITmfTimestamp.NANOSECOND_SCALE).getValue();
- startTime = Math.max(startTime, fStartTime);
- endTime = Math.min(endTime, fEndTime);
- fTimeGraphCombo.getTimeGraphViewer().setSelectionRange(selectionBeginTime, selectionEndTime);
- synchingToTime(selectionBeginTime);
- fTimeGraphCombo.getTimeGraphViewer().setStartFinishTime(startTime, endTime);
- startZoomThread(startTime, endTime);
- }
- });
- }
-
- private void redraw() {
- synchronized (fSyncObj) {
- if (fRedrawState == State.IDLE) {
- fRedrawState = State.BUSY;
- } else {
- fRedrawState = State.PENDING;
- return;
- }
- }
- Display.getDefault().asyncExec(new Runnable() {
- @Override
- public void run() {
- if (fTimeGraphCombo.isDisposed()) {
- return;
- }
- fTimeGraphCombo.redraw();
- fTimeGraphCombo.update();
- synchronized (fSyncObj) {
- if (fRedrawState == State.PENDING) {
- fRedrawState = State.IDLE;
- redraw();
- } else {
- fRedrawState = State.IDLE;
- }
- }
- }
- });
- }
-
- private void startZoomThread(long startTime, long endTime) {
- if (fZoomThread != null) {
- fZoomThread.cancel();
- }
- fZoomThread = new ZoomThread(fEntryList, startTime, endTime);
- fZoomThread.start();
- }
-
- private void makeActions() {
- fPreviousItemAction = fTimeGraphCombo.getTimeGraphViewer().getPreviousItemAction();
- fPreviousItemAction.setText(Messages.TmfTimeGraphViewer_PreviousItemActionNameText);
- fPreviousItemAction.setToolTipText(Messages.TmfTimeGraphViewer_PreviousItemActionToolTipText);
- fNextItemAction = fTimeGraphCombo.getTimeGraphViewer().getNextItemAction();
- fNextItemAction.setText(Messages.TmfTimeGraphViewer_NextItemActionNameText);
- fNextItemAction.setToolTipText(Messages.TmfTimeGraphViewer_NextItemActionToolTipText);
- }
-
- private void contributeToActionBars() {
- IActionBars bars = getViewSite().getActionBars();
- fillLocalToolBar(bars.getToolBarManager());
-
- // Create pin action
- contributePinActionToToolBar();
- fPinAction.addPropertyChangeListener(new IPropertyChangeListener() {
- @Override
- public void propertyChange(PropertyChangeEvent event) {
- if (IAction.CHECKED.equals(event.getProperty()) && !isPinned()) {
- if (fSavedRangeSyncSignal != null) {
- synchToRange(fSavedRangeSyncSignal);
- fSavedRangeSyncSignal = null;
- }
-
- if (fSavedTimeSyncSignal != null) {
- synchToTime(fSavedTimeSyncSignal);
- fSavedTimeSyncSignal = null;
- }
- }
- }
- });
- }
-
- private void fillLocalToolBar(IToolBarManager manager) {
- manager.add(getImportBinaryAction());
- manager.add(getImportMappingAction());
- manager.add(new Separator());
- manager.add(getSortByNameAction());
- manager.add(getSortByIdAction());
- manager.add(getSortByTimeAction());
- manager.add(new Separator());
- manager.add(fTimeGraphCombo.getTimeGraphViewer().getResetScaleAction());
- manager.add(getPreviousEventAction());
- manager.add(getNextEventAction());
- manager.add(fPreviousItemAction);
- manager.add(fNextItemAction);
- manager.add(fTimeGraphCombo.getTimeGraphViewer().getZoomInAction());
- manager.add(fTimeGraphCombo.getTimeGraphViewer().getZoomOutAction());
- manager.add(new Separator());
- }
-
- private void createContextMenu() {
- final MenuManager contextMenu = new MenuManager();
- contextMenu.add(getSortByNameAction());
- contextMenu.add(getSortByIdAction());
- contextMenu.add(getSortByTimeAction());
-
- Tree tree = fTimeGraphCombo.getTreeViewer().getTree();
- Menu menu = contextMenu.createContextMenu(tree);
- tree.setMenu(menu);
- }
-
- /**
- * Get the the next event action.
- *
- * @return The action object
- */
- private Action getNextEventAction() {
- if (fNextEventAction == null) {
- fNextEventAction = new Action() {
- @Override
- public void run() {
- TimeGraphViewer viewer = fTimeGraphCombo.getTimeGraphViewer();
- ITimeGraphEntry entry = viewer.getSelection();
- if (entry instanceof CallStackEntry) {
- try {
- CallStackEntry callStackEntry = (CallStackEntry) entry;
- ITmfStateSystem ss = callStackEntry.getStateSystem();
- long time = Math.max(ss.getStartTime(), Math.min(ss.getCurrentEndTime(), viewer.getSelectionBegin()));
- ThreadEntry threadEntry = (ThreadEntry) callStackEntry.getParent();
- int quark = ss.getParentAttributeQuark(callStackEntry.getQuark());
- ITmfStateInterval stackInterval = ss.querySingleState(time, quark);
- long newTime = stackInterval.getEndTime() + 1;
- viewer.setSelectedTimeNotify(newTime, true);
- stackInterval = ss.querySingleState(Math.min(ss.getCurrentEndTime(), newTime), quark);
- int stackLevel = stackInterval.getStateValue().unboxInt();
- ITimeGraphEntry selectedEntry = threadEntry.getChildren().get(Math.max(0, stackLevel - 1));
- fTimeGraphCombo.setSelection(selectedEntry);
- viewer.getTimeGraphControl().fireSelectionChanged();
- startZoomThread(viewer.getTime0(), viewer.getTime1());
-
- } catch (AttributeNotFoundException | TimeRangeException | StateSystemDisposedException | StateValueTypeException e) {
- Activator.getDefault().logError("Error querying state system", e); //$NON-NLS-1$
- }
- }
- }
- };
-
- fNextEventAction.setText(Messages.TmfTimeGraphViewer_NextEventActionNameText);
- fNextEventAction.setToolTipText(Messages.TmfTimeGraphViewer_NextEventActionToolTipText);
- fNextEventAction.setImageDescriptor(Activator.getDefault().getImageDescripterFromPath(ITmfImageConstants.IMG_UI_NEXT_EVENT));
- }
-
- return fNextEventAction;
- }
-
- /**
- * Get the previous event action.
- *
- * @return The Action object
- */
- private Action getPreviousEventAction() {
- if (fPrevEventAction == null) {
- fPrevEventAction = new Action() {
- @Override
- public void run() {
- TimeGraphViewer viewer = fTimeGraphCombo.getTimeGraphViewer();
- ITimeGraphEntry entry = viewer.getSelection();
- if (entry instanceof CallStackEntry) {
- try {
- CallStackEntry callStackEntry = (CallStackEntry) entry;
- ITmfStateSystem ss = callStackEntry.getStateSystem();
- long time = Math.max(ss.getStartTime(), Math.min(ss.getCurrentEndTime(), viewer.getSelectionBegin()));
- ThreadEntry threadEntry = (ThreadEntry) callStackEntry.getParent();
- int quark = ss.getParentAttributeQuark(callStackEntry.getQuark());
- ITmfStateInterval stackInterval = ss.querySingleState(time, quark);
- if (stackInterval.getStartTime() == time && time > ss.getStartTime()) {
- stackInterval = ss.querySingleState(time - 1, quark);
- }
- viewer.setSelectedTimeNotify(stackInterval.getStartTime(), true);
- int stackLevel = stackInterval.getStateValue().unboxInt();
- ITimeGraphEntry selectedEntry = threadEntry.getChildren().get(Math.max(0, stackLevel - 1));
- fTimeGraphCombo.setSelection(selectedEntry);
- viewer.getTimeGraphControl().fireSelectionChanged();
- startZoomThread(viewer.getTime0(), viewer.getTime1());
-
- } catch (AttributeNotFoundException | TimeRangeException | StateSystemDisposedException | StateValueTypeException e) {
- Activator.getDefault().logError("Error querying state system", e); //$NON-NLS-1$
- }
- }
- }
- };
-
- fPrevEventAction.setText(Messages.TmfTimeGraphViewer_PreviousEventActionNameText);
- fPrevEventAction.setToolTipText(Messages.TmfTimeGraphViewer_PreviousEventActionToolTipText);
- fPrevEventAction.setImageDescriptor(Activator.getDefault().getImageDescripterFromPath(ITmfImageConstants.IMG_UI_PREV_EVENT));
- }
-
- return fPrevEventAction;
- }
-
- private static @Nullable AbstractCallStackAnalysis getCallStackModule(ITmfTrace trace) {
- /*
- * Since we cannot know the exact analysis ID (in separate plugins), we
- * will search using the analysis type.
- */
- Iterable<AbstractCallStackAnalysis> modules =
- trace.getAnalysisModulesOfClass(AbstractCallStackAnalysis.class);
- Iterator<AbstractCallStackAnalysis> it = modules.iterator();
- if (!it.hasNext()) {
- /* This trace does not provide a call-stack analysis */
- return null;
- }
-
- /*
- * We only look at the first module we find.
- *
- * TODO Handle the advanced case where one trace provides more than one
- * call-stack analysis.
- */
- AbstractCallStackAnalysis module = it.next();
- /* This analysis is not automatic, we need to schedule it on-demand */
- module.schedule();
- module.waitForInitialization();
- return module;
- }
-
- // ------------------------------------------------------------------------
- // Methods related to function name mapping
- // ------------------------------------------------------------------------
-
- /**
- * Common code for all import file mapping actions
- */
- private abstract class AbstractImportFileMappingAction extends Action {
- private final String fDialogTitle;
-
- private AbstractImportFileMappingAction(String dialogTitle) {
- fDialogTitle = dialogTitle;
- }
-
- @Override
- public void run() {
- FileDialog dialog = new FileDialog(getViewSite().getShell());
- dialog.setText(fDialogTitle);
- final String filePath = dialog.open();
- if (filePath == null) {
- /* No file was selected, don't change anything */
- return;
- }
-
- /*
- * Start the mapping import in a separate thread (we do not want to
- * UI thread to do this).
- */
- Job job = new Job(Messages.CallStackView_ImportMappingJobName) {
- @Override
- public IStatus run(IProgressMonitor monitor) {
- fNameMapping = doMapping(new File(filePath));
-
- /* Refresh call stack entries and event labels */
- Display.getDefault().asyncExec(new Runnable() {
- @Override
- public void run() {
- synchingToTime(fTimeGraphCombo.getTimeGraphViewer().getSelectionBegin());
- }
- });
- return Status.OK_STATUS;
- }
- };
- job.schedule();
- }
-
- abstract Map<String, String> doMapping(File file);
- }
-
- /**
- * Toolbar icon to import the function address-to-name mapping file.
- */
- private Action getImportMappingAction() {
- if (fImportMappingAction != null) {
- return fImportMappingAction;
- }
- fImportMappingAction = new AbstractImportFileMappingAction(Messages.CallStackView_ImportMappingDialogTitle) {
- @Override
- Map<String, String> doMapping(File file) {
- return FunctionNameMapper.mapFromNmTextFile(file);
- }
- };
-
- fImportMappingAction.setText(Messages.CallStackView_ImportMappingButtonText);
- fImportMappingAction.setToolTipText(Messages.CallStackView_ImportMappingButtonTooltip);
- fImportMappingAction.setImageDescriptor(Activator.getDefault().getImageDescripterFromPath(IMPORT_MAPPING_ICON_PATH));
-
- return fImportMappingAction;
- }
-
- private Action getSortByNameAction() {
- if (fSortByNameAction == null) {
- fSortByNameAction = new Action(Messages.CallStackView_SortByThreadName, IAction.AS_CHECK_BOX) {
- @Override
- public void run() {
- if (fSortOption == SortOption.BY_NAME) {
- saveSortOption(SortOption.BY_NAME_REV);
- } else {
- saveSortOption(SortOption.BY_NAME);
- }
- }
- };
- fSortByNameAction.setToolTipText(Messages.CallStackView_SortByThreadName);
- fSortByNameAction.setImageDescriptor(SORT_BY_NAME_ICON);
- }
- return fSortByNameAction;
- }
-
- private Action getSortByIdAction() {
- if (fSortByIdAction == null) {
- fSortByIdAction = new Action(Messages.CallStackView_SortByThreadId, IAction.AS_CHECK_BOX) {
- @Override
- public void run() {
- if (fSortOption == SortOption.BY_ID) {
- saveSortOption(SortOption.BY_ID_REV);
- } else {
- saveSortOption(SortOption.BY_ID);
- }
- }
- };
- fSortByIdAction.setToolTipText(Messages.CallStackView_SortByThreadId);
- fSortByIdAction.setImageDescriptor(SORT_BY_ID_ICON);
- }
- return fSortByIdAction;
- }
-
- private Action getSortByTimeAction() {
- if (fSortByTimeAction == null) {
- fSortByTimeAction = new Action(Messages.CallStackView_SortByThreadTime, IAction.AS_CHECK_BOX) {
- @Override
- public void run() {
- if (fSortOption == SortOption.BY_TIME) {
- saveSortOption(SortOption.BY_TIME_REV);
- } else {
- saveSortOption(SortOption.BY_TIME);
- }
- }
- };
- fSortByTimeAction.setToolTipText(Messages.CallStackView_SortByThreadTime);
- fSortByTimeAction.setImageDescriptor(SORT_BY_TIME_ICON);
- }
- return fSortByTimeAction;
- }
-
- private void loadSortOption() {
- IDialogSettings settings = Activator.getDefault().getDialogSettings();
- IDialogSettings section = settings.getSection(getClass().getName());
- if (section == null) {
- return;
- }
- String sortOption = section.get(SORT_OPTION_KEY);
- if (sortOption == null) {
- return;
- }
-
- // reset defaults
- getSortByNameAction().setChecked(false);
- getSortByNameAction().setImageDescriptor(SORT_BY_NAME_ICON);
- getSortByIdAction().setChecked(false);
- getSortByIdAction().setImageDescriptor(SORT_BY_ID_ICON);
- getSortByTimeAction().setChecked(false);
- getSortByTimeAction().setImageDescriptor(SORT_BY_TIME_ICON);
-
- if (sortOption.equals(SortOption.BY_NAME.name())) {
- fSortOption = SortOption.BY_NAME;
- fThreadComparator = new ThreadNameComparator(false);
- getSortByNameAction().setChecked(true);
- } else if (sortOption.equals(SortOption.BY_NAME_REV.name())) {
- fSortOption = SortOption.BY_NAME_REV;
- fThreadComparator = new ThreadNameComparator(true);
- getSortByNameAction().setChecked(true);
- getSortByNameAction().setImageDescriptor(SORT_BY_NAME_REV_ICON);
- } else if (sortOption.equals(SortOption.BY_ID.name())) {
- fSortOption = SortOption.BY_ID;
- fThreadComparator = new ThreadIdComparator(false);
- getSortByIdAction().setChecked(true);
- } else if (sortOption.equals(SortOption.BY_ID_REV.name())) {
- fSortOption = SortOption.BY_ID_REV;
- fThreadComparator = new ThreadIdComparator(true);
- getSortByIdAction().setChecked(true);
- getSortByIdAction().setImageDescriptor(SORT_BY_ID_REV_ICON);
- } else if (sortOption.equals(SortOption.BY_TIME.name())) {
- fSortOption = SortOption.BY_TIME;
- fThreadComparator = new ThreadTimeComparator(false);
- getSortByTimeAction().setChecked(true);
- } else if (sortOption.equals(SortOption.BY_TIME_REV.name())) {
- fSortOption = SortOption.BY_TIME_REV;
- fThreadComparator = new ThreadTimeComparator(true);
- getSortByTimeAction().setChecked(true);
- getSortByTimeAction().setImageDescriptor(SORT_BY_TIME_REV_ICON);
- }
- }
-
- private void saveSortOption(SortOption sortOption) {
- IDialogSettings settings = Activator.getDefault().getDialogSettings();
- IDialogSettings section = settings.getSection(getClass().getName());
- if (section == null) {
- section = settings.addNewSection(getClass().getName());
- }
- section.put(SORT_OPTION_KEY, sortOption.name());
- loadSortOption();
- if (fEntryList == null) {
- return;
- }
- for (TraceEntry traceEntry : fEntryList) {
- traceEntry.sortChildren(fThreadComparator);
- }
- refresh();
- }
-
- /**
- * Toolbar icon to import the function address-to-name mapping binary file.
- */
- private Action getImportBinaryAction() {
- if (fImportBinaryFileMappingAction != null) {
- return fImportBinaryFileMappingAction;
- }
-
- fImportBinaryFileMappingAction = new AbstractImportFileMappingAction(Messages.CallStackView_ImportBinaryFileDialogTitle) {
- @Override
- Map<String, String> doMapping(File file) {
- return FunctionNameMapper.mapFromBinaryFile(file);
- }
- };
-
- fImportBinaryFileMappingAction.setText(Messages.CallStackView_ImportBinaryFileButtonText);
- fImportBinaryFileMappingAction.setToolTipText(Messages.CallStackView_ImportBinaryFileButtonTooltip);
- fImportBinaryFileMappingAction.setImageDescriptor(Activator.getDefault().getImageDescripterFromPath(IMPORT_BINARY_ICON_PATH));
-
- return fImportBinaryFileMappingAction;
- }
-
- String getFunctionName(String address) {
- if (fNameMapping == null) {
- /* No mapping available, just print the addresses */
- return address;
- }
- String ret = fNameMapping.get(address);
- if (ret == null) {
- /*
- * We didn't find this address in the mapping file, just use the
- * address
- */
- return address;
- }
- return ret;
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/callstack/FunctionNameMapper.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/callstack/FunctionNameMapper.java
deleted file mode 100644
index bcf6ce9494..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/callstack/FunctionNameMapper.java
+++ /dev/null
@@ -1,177 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 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:
- * Alexandre Montplaisir - Initial API and implementation
- * Marc-Andre Laperle - Map from binary file
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.views.callstack;
-
-import java.io.BufferedReader;
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileNotFoundException;
-import java.io.FileReader;
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.cdt.core.CCorePlugin;
-import org.eclipse.cdt.core.IBinaryParser;
-import org.eclipse.cdt.core.IBinaryParser.IBinaryFile;
-import org.eclipse.cdt.core.IBinaryParser.ISymbol;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.ISafeRunnable;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.SafeRunner;
-import org.eclipse.jdt.annotation.Nullable;
-import org.eclipse.linuxtools.internal.tmf.ui.Activator;
-
-/**
- * Class containing the different methods to import an address->name mapping.
- *
- * @author Alexandre Montplaisir
- */
-class FunctionNameMapper {
-
- public static @Nullable Map<String, String> mapFromNmTextFile(File mappingFile) {
- Map<String, String> map = new HashMap<>();
-
- try (FileReader fr = new FileReader(mappingFile);
- BufferedReader reader = new BufferedReader(fr);) {
- for (String line = reader.readLine(); line != null; line = reader.readLine()) {
- String[] elems = line.split(" "); //$NON-NLS-1$
- /* Only lines with 3 elements contain addresses */
- if (elems.length == 3) {
- /* Strip the leading zeroes from the address */
- String address = elems[0].replaceFirst("^0+(?!$)", ""); //$NON-NLS-1$ //$NON-NLS-2$;
- String name = elems[elems.length - 1];
- map.put(address, name);
- }
- }
- } catch (FileNotFoundException e) {
- return null;
- } catch (IOException e) {
- /* Stop reading the file at this point */
- }
-
- if (map.isEmpty()) {
- return null;
- }
- return Collections.unmodifiableMap(map);
- }
-
- /**
- * Strip the leading zeroes from the address
- * */
- private static String stripLeadingZeros(String address) {
- return address.replaceFirst("^0+(?!$)", ""); //$NON-NLS-1$ //$NON-NLS-2$;
- }
-
- public static @Nullable Map<String, String> mapFromBinaryFile(File file) {
- Map<String, String> map = new HashMap<>();
- IBinaryParser.IBinaryObject binaryObject = getBinaryObject(file);
- if (binaryObject != null) {
- ISymbol[] symbols = binaryObject.getSymbols();
- for (ISymbol symbol : symbols) {
- String address = symbol.getAddress().toHexAddressString();
- /* Remove "0x" */
- address = address.substring(2);
- /* Strip the leading zeroes from the address */
- address = stripLeadingZeros(address);
- map.put(address, symbol.getName());
- }
- }
-
- return map;
- }
-
- private static @Nullable IBinaryParser.IBinaryObject getBinaryObject(File file) {
- IPath filePath = new Path(file.toString());
-
- /* Get all the available binary parsers */
- final List<IBinaryParser> binaryParsers = new ArrayList<>();
- IConfigurationElement[] elements = Platform.getExtensionRegistry()
- .getConfigurationElementsFor(CCorePlugin.BINARY_PARSER_UNIQ_ID);
- for (IConfigurationElement element : elements) {
- IConfigurationElement[] children = element.getChildren("run"); //$NON-NLS-1$
- for (final IConfigurationElement run : children) {
- SafeRunner.run(new ISafeRunnable() {
- @Override
- public void run() throws Exception {
- IBinaryParser binaryParser = (IBinaryParser) run.createExecutableExtension("class"); //$NON-NLS-1$
- binaryParsers.add(binaryParser);
- }
-
- @Override
- public void handleException(Throwable exception) {
- Activator.getDefault().logError("Error creating binary parser", exception); //$NON-NLS-1$
- }
- });
- }
- }
-
- /* Find the maximum "hint" buffer size we'll need from all the parsers */
- int hintBufferSize = 0;
- for (IBinaryParser parser : binaryParsers) {
- if (parser.getHintBufferSize() > hintBufferSize) {
- hintBufferSize = Math.max(hintBufferSize, parser.getHintBufferSize());
- }
- }
-
- /* Read the initial "hint" bytes */
- byte[] hintBuffer = new byte[hintBufferSize];
- if (hintBufferSize > 0) {
- try (InputStream is = new FileInputStream(file) ){
-
- int count = 0;
- // Make sure we read up to 'hints' bytes if we possibly can
- while (count < hintBufferSize) {
- int bytesRead = is.read(hintBuffer, count, hintBufferSize - count);
- if (bytesRead < 0) {
- break;
- }
- count += bytesRead;
- }
- if (count > 0 && count < hintBuffer.length) {
- byte[] array = new byte[count];
- System.arraycopy(hintBuffer, 0, array, 0, count);
- hintBuffer = array;
- }
- } catch (IOException e) {
- Activator.getDefault().logError("Error reading initial bytes of binary file", e); //$NON-NLS-1$
- return null;
- }
- }
-
- /* For all binary parsers, try to get a binary object */
- for (IBinaryParser parser : binaryParsers) {
- if (parser.isBinary(hintBuffer, filePath)) {
- IBinaryFile binFile;
- try {
- binFile = parser.getBinary(hintBuffer, filePath);
- if (binFile != null && binFile instanceof IBinaryParser.IBinaryObject) {
- return (IBinaryParser.IBinaryObject)binFile;
- }
- } catch (IOException e) {
- Activator.getDefault().logError("Error parsing binary file", e); //$NON-NLS-1$
- }
- }
- }
-
- return null;
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/colors/ColorSetting.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/colors/ColorSetting.java
deleted file mode 100644
index 2aa85bcd71..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/colors/ColorSetting.java
+++ /dev/null
@@ -1,214 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010, 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:
- * Patrick Tasse - Initial API and implementation
- * Bernd Hufmann - Updated to use RGB for the tick color
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.views.colors;
-
-import org.eclipse.linuxtools.tmf.core.filter.model.ITmfFilterTreeNode;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.graphics.RGB;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.ui.themes.ColorUtil;
-
-/**
- * Class for storing color settings of a TMF filter.
- *
- * Application code must explicitly invoke the ColorSetting.dispose() method to release the operating system
- * resources managed by each instance when those instances are no longer required.
- *
- * @version 1.0
- * @author Patrick Tasse
- */
-public class ColorSetting {
-
- private RGB fForegroundRGB;
- private RGB fBackgroundRGB;
- private RGB fTickColorRGB;
- private Color fForegroundColor;
- private Color fBackgroundColor;
- private Color fDimmedForegroundColor;
- private Color fDimmedBackgroundColor;
- private Color fTickColor;
- private ITmfFilterTreeNode fFilter;
-
- /**
- * Constructor
- *
- * You must dispose the color setting when it is no longer required.
- *
- * @param foreground
- * The foreground color
- * @param background
- * The background color
- * @param tickColorRGB
- * The color for the checkbox ticks
- * @param filter
- * The filter tree node
- */
- public ColorSetting(RGB foreground, RGB background, RGB tickColorRGB, ITmfFilterTreeNode filter) {
- fForegroundRGB = foreground;
- fBackgroundRGB = background;
- fTickColorRGB = tickColorRGB;
- fFilter = filter;
- Display display = Display.getDefault();
- fForegroundColor = new Color(display, fForegroundRGB);
- fBackgroundColor = new Color(display, fBackgroundRGB);
- fDimmedForegroundColor = new Color(display, ColorUtil.blend(
- fForegroundRGB, fBackgroundRGB));
- fDimmedBackgroundColor = new Color(display, ColorUtil.blend(
- fBackgroundRGB, display.getSystemColor(SWT.COLOR_LIST_BACKGROUND).getRGB()));
- fTickColor = new Color(display, fTickColorRGB);
- }
-
- /**
- * Dispose the color setting resources
- */
- public void dispose() {
- fForegroundColor.dispose();
- fBackgroundColor.dispose();
- fDimmedForegroundColor.dispose();
- fDimmedBackgroundColor.dispose();
- fTickColor.dispose();
- }
-
- /**
- * Returns foreground RGB value.
- *
- * @return the foreground RGB
- */
- public RGB getForegroundRGB() {
- return fForegroundRGB;
- }
-
- /**
- * Sets the foreground RGB value
- *
- * @param foreground the foreground to set
- */
- public void setForegroundRGB(RGB foreground) {
- fForegroundRGB = foreground;
- fForegroundColor.dispose();
- fDimmedForegroundColor.dispose();
- Display display = Display.getDefault();
- fForegroundColor = new Color(display, fForegroundRGB);
- fDimmedForegroundColor = new Color(display, ColorUtil.blend(
- fForegroundRGB, fBackgroundRGB));
- }
-
- /**
- * Returns the background RGB value.
- *
- * @return the background RGB
- */
- public RGB getBackgroundRGB() {
- return fBackgroundRGB;
- }
-
- /**
- * Sets the background RGB value.
- *
- * @param background the background to set
- */
- public void setBackgroundRGB(RGB background) {
- fBackgroundRGB = background;
- fBackgroundColor.dispose();
- fDimmedBackgroundColor.dispose();
- Display display = Display.getDefault();
- fBackgroundColor = new Color(display, fBackgroundRGB);
- fDimmedBackgroundColor = new Color(display, ColorUtil.blend(
- fBackgroundRGB, display.getSystemColor(SWT.COLOR_LIST_BACKGROUND).getRGB()));
- }
-
- /**
- * Returns the RGB of the tick color
- *
- * @return the RGB of the tick color
- */
- public RGB getTickColorRGB() {
- return fTickColorRGB;
- }
-
- /**
- * Sets the RGB of the tick color
- *
- * @param tickColorRGB the tick color TGB
- */
- public void setTickColorRGB(RGB tickColorRGB) {
- fTickColorRGB = tickColorRGB;
- fTickColor.dispose();
- Display display = Display.getDefault();
- fTickColor = new Color(display, fTickColorRGB);
- }
-
- /**
- * Returns the filter implementation.
- * @return the filter
- */
- public ITmfFilterTreeNode getFilter() {
- return fFilter;
- }
-
- /**
- * Sets the filter implementation.
- *
- * @param filter the filter to set
- */
- public void setFilter(ITmfFilterTreeNode filter) {
- fFilter = filter;
- }
-
- /**
- * Returns the foreground color.
- *
- * @return the foreground color
- */
- public Color getForegroundColor() {
- return fForegroundColor;
- }
-
- /**
- * Returns the background color.
- *
- * @return the background color
- */
- public Color getBackgroundColor() {
- return fBackgroundColor;
- }
-
- /**
- * Returns the dimmed foreground color.
- *
- * @return the dimmed foreground color
- */
- public Color getDimmedForegroundColor() {
- return fDimmedForegroundColor;
- }
-
- /**
- * Returns the dimmed background color.
- *
- * @return the dimmed background color
- */
- public Color getDimmedBackgroundColor() {
- return fDimmedBackgroundColor;
- }
-
- /**
- * Returns the tick color.
- *
- * @return the tick color
- */
- public Color getTickColor() {
- return fTickColor;
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/colors/ColorSettingsManager.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/colors/ColorSettingsManager.java
deleted file mode 100644
index 16a68e9805..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/colors/ColorSettingsManager.java
+++ /dev/null
@@ -1,153 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010, 2013 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:
- * Patrick Tasse - Initial API and implementation
- * Bernd Hufmann - Updated to use RGB for the tick color
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.views.colors;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
-
-import org.eclipse.linuxtools.internal.tmf.ui.Activator;
-import org.eclipse.linuxtools.tmf.core.event.ITmfEvent;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.widgets.Display;
-
-/**
- * Static class for managing color settings.
- *
- * @version 1.0
- * @author Patrick Tasse
- *
- */
-public class ColorSettingsManager {
-
- // The color settings file name
- private static final String COLOR_SETTINGS_FILE_NAME = "color_settings.xml"; //$NON-NLS-1$
-
- // The path for the color settings file
- private static final String COLOR_SETTINGS_PATH_NAME =
- Activator.getDefault().getStateLocation().addTrailingSeparator().append(COLOR_SETTINGS_FILE_NAME).toString();
-
- // The default color setting
- private static final ColorSetting DEFAULT_COLOR_SETTING = new ColorSetting(
- Display.getDefault().getSystemColor(SWT.COLOR_LIST_FOREGROUND).getRGB(),
- Display.getDefault().getSystemColor(SWT.COLOR_LIST_BACKGROUND).getRGB(),
- Display.getDefault().getSystemColor(SWT.COLOR_LIST_FOREGROUND).getRGB(),
- null);
-
- /**
- * Special value for priority if unknown.
- */
- public static final int PRIORITY_NONE = Integer.MAX_VALUE;
-
- // The stored color settings
- private static ColorSetting[] fColorSettings = ColorSettingsXML.load(COLOR_SETTINGS_PATH_NAME);
-
- // The listener list
- private static List<IColorSettingsListener> fListeners = new ArrayList<>();
-
- /**
- * Returns an array of color settings.
- *
- * @return an array of color settings.
- */
- public static ColorSetting[] getColorSettings() {
- return (fColorSettings != null) ? Arrays.copyOf(fColorSettings, fColorSettings.length) : null;
- }
-
- /**
- * Sets the array of color settings.
- *
- * @param colorSettings A array of color settings to set
- */
- public static void setColorSettings(ColorSetting[] colorSettings) {
- fColorSettings = (colorSettings != null) ? Arrays.copyOf(colorSettings, colorSettings.length) : null;
- ColorSettingsXML.save(COLOR_SETTINGS_PATH_NAME, fColorSettings);
- fireColorSettingsChanged();
- }
-
- /**
- * Gets the color settings that matches the filter for given event.
- *
- * @param event
- * The event to check
- *
- * @return color settings defined for filter if found else default color
- * settings
- */
- public static ColorSetting getColorSetting(ITmfEvent event) {
- for (int i = 0; i < fColorSettings.length; i++) {
- ColorSetting colorSetting = fColorSettings[i];
- if (colorSetting.getFilter() != null && colorSetting.getFilter().matches(event)) {
- return colorSetting;
- }
- }
- return DEFAULT_COLOR_SETTING;
- }
-
- /**
- * Gets the color settings priority for the given event.
- *
- * @param event A event the event to check
- * @return the priority defined for the filter else PRIORITY_NONE
- */
- public static int getColorSettingPriority(ITmfEvent event) {
- for (int i = 0; i < fColorSettings.length; i++) {
- ColorSetting colorSetting = fColorSettings[i];
- if (colorSetting.getFilter() != null && colorSetting.getFilter().matches(event)) {
- return i;
- }
- }
- return PRIORITY_NONE;
- }
-
- /**
- * Returns the color settings based the priority.
- *
- * @param priority A priority (index) of color settings
- * @return the color settings defined for the priority else default color settings
- */
- public static ColorSetting getColorSetting(int priority) {
- if (priority < fColorSettings.length) {
- return fColorSettings[priority];
- }
- return DEFAULT_COLOR_SETTING;
- }
-
- /**
- * Adds a color settings listener.
- *
- * @param listener A listener to add.
- */
- public static void addColorSettingsListener(IColorSettingsListener listener) {
- if (! fListeners.contains(listener)) {
- fListeners.add(listener);
- }
- }
-
- /**
- * Removes a color settings listener.
- *
- * @param listener A listener to remove.
- */
- public static void removeColorSettingsListener(IColorSettingsListener listener) {
- fListeners.remove(listener);
- }
-
- // Notify listeners
- private static void fireColorSettingsChanged() {
- for (IColorSettingsListener listener : fListeners) {
- listener.colorSettingsChanged(fColorSettings);
- }
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/colors/ColorSettingsXML.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/colors/ColorSettingsXML.java
deleted file mode 100644
index 481bfd36c1..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/colors/ColorSettingsXML.java
+++ /dev/null
@@ -1,221 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010, 2014 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:
- * Patrick Tasse - Initial API and implementation
- * Bernd Hufmann - Updated to use RGB for the tick color
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.views.colors;
-
-import java.io.File;
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.List;
-
-import javax.xml.parsers.DocumentBuilder;
-import javax.xml.parsers.DocumentBuilderFactory;
-import javax.xml.parsers.ParserConfigurationException;
-import javax.xml.parsers.SAXParserFactory;
-import javax.xml.transform.Transformer;
-import javax.xml.transform.TransformerConfigurationException;
-import javax.xml.transform.TransformerException;
-import javax.xml.transform.TransformerFactory;
-import javax.xml.transform.dom.DOMSource;
-import javax.xml.transform.stream.StreamResult;
-
-import org.eclipse.linuxtools.internal.tmf.ui.Activator;
-import org.eclipse.linuxtools.tmf.core.filter.model.ITmfFilterTreeNode;
-import org.eclipse.linuxtools.tmf.core.filter.xml.TmfFilterContentHandler;
-import org.eclipse.linuxtools.tmf.core.filter.xml.TmfFilterXMLWriter;
-import org.eclipse.swt.graphics.RGB;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.xml.sax.Attributes;
-import org.xml.sax.SAXException;
-import org.xml.sax.XMLReader;
-import org.xml.sax.helpers.DefaultHandler;
-
-/**
- * Class for saving and loading of color settings to/from file.
- *
- * @version 1.0
- * @author Patrick Tasse
- *
- */
-public class ColorSettingsXML {
-
- // XML Tags and attributes
- private static final String COLOR_SETTINGS_TAG = "COLOR_SETTINGS"; //$NON-NLS-1$
- private static final String COLOR_SETTING_TAG = "COLOR_SETTING"; //$NON-NLS-1$
- private static final String FG_TAG = "FG"; //$NON-NLS-1$
- private static final String BG_TAG = "BG"; //$NON-NLS-1$
- private static final String R_ATTR = "R"; //$NON-NLS-1$
- private static final String G_ATTR = "G"; //$NON-NLS-1$
- private static final String B_ATTR = "B"; //$NON-NLS-1$
- private static final String TICK_TAG = "TICK"; //$NON-NLS-1$
- private static final String FILTER_TAG = "FILTER"; //$NON-NLS-1$
-
- /**
- * Saves the given color settings to file.
- *
- * @param pathName
- * A file name with path
- * @param colorSettings
- * -An array of color settings to save.
- */
- public static void save(String pathName, ColorSetting[] colorSettings) {
- try {
- DocumentBuilderFactory documentBuilderFactory = DocumentBuilderFactory.newInstance();
- DocumentBuilder documentBuilder = documentBuilderFactory.newDocumentBuilder();
- Document document = documentBuilder.newDocument();
-
- Element rootElement = document.createElement(COLOR_SETTINGS_TAG);
- document.appendChild(rootElement);
-
- for (ColorSetting colorSetting : colorSettings) {
- Element colorSettingElement = document.createElement(COLOR_SETTING_TAG);
- rootElement.appendChild(colorSettingElement);
-
- Element fgElement = document.createElement(FG_TAG);
- colorSettingElement.appendChild(fgElement);
- RGB foreground = colorSetting.getForegroundRGB();
- fgElement.setAttribute(R_ATTR, Integer.toString(foreground.red));
- fgElement.setAttribute(G_ATTR, Integer.toString(foreground.green));
- fgElement.setAttribute(B_ATTR, Integer.toString(foreground.blue));
-
- Element bgElement = document.createElement(BG_TAG);
- colorSettingElement.appendChild(bgElement);
- RGB background = colorSetting.getBackgroundRGB();
- bgElement.setAttribute(R_ATTR, Integer.toString(background.red));
- bgElement.setAttribute(G_ATTR, Integer.toString(background.green));
- bgElement.setAttribute(B_ATTR, Integer.toString(background.blue));
-
- Element tickColorElement = document.createElement(TICK_TAG);
- colorSettingElement.appendChild(tickColorElement);
- RGB tickColor = colorSetting.getTickColorRGB();
- tickColorElement.setAttribute(R_ATTR, Integer.toString(tickColor.red));
- tickColorElement.setAttribute(G_ATTR, Integer.toString(tickColor.green));
- tickColorElement.setAttribute(B_ATTR, Integer.toString(tickColor.blue));
-
- if (colorSetting.getFilter() != null) {
- Element filterElement = document.createElement(FILTER_TAG);
- colorSettingElement.appendChild(filterElement);
- TmfFilterXMLWriter.buildXMLTree(document, colorSetting.getFilter(), filterElement);
- }
- }
-
- TransformerFactory transformerFactory = TransformerFactory.newInstance();
-
- Transformer transformer = transformerFactory.newTransformer();
- DOMSource source = new DOMSource(document);
- StreamResult result = new StreamResult(new File(pathName));
- transformer.transform(source, result);
- } catch (ParserConfigurationException e) {
- Activator.getDefault().logError("Error saving color xml file: " + pathName, e); //$NON-NLS-1$
- } catch (TransformerConfigurationException e) {
- Activator.getDefault().logError("Error saving color xml file: " + pathName, e); //$NON-NLS-1$
- } catch (TransformerException e) {
- Activator.getDefault().logError("Error saving color xml file: " + pathName, e); //$NON-NLS-1$
- }
- }
-
- /**
- * Loads color settings from file and returns it in an array.
- *
- * @param pathName
- * A file name with path
- *
- * @return the color settings array loaded from file
- */
- public static ColorSetting[] load(String pathName) {
- if (!new File(pathName).canRead()) {
- return new ColorSetting[0];
- }
- SAXParserFactory parserFactory = SAXParserFactory.newInstance();
- parserFactory.setNamespaceAware(true);
-
- ColorSettingsContentHandler handler = new ColorSettingsContentHandler();
- try {
- XMLReader saxReader = parserFactory.newSAXParser().getXMLReader();
- saxReader.setContentHandler(handler);
- saxReader.parse(pathName);
- return handler.colorSettings.toArray(new ColorSetting[0]);
- } catch (ParserConfigurationException e) {
- Activator.getDefault().logError("Error loading color xml file: " + pathName, e); //$NON-NLS-1$
- } catch (SAXException e) {
- Activator.getDefault().logError("Error loading color xml file: " + pathName, e); //$NON-NLS-1$
- } catch (IOException e) {
- Activator.getDefault().logError("Error loading color xml file: " + pathName, e); //$NON-NLS-1$
- }
- // In case of error, dispose the partial list of color settings
- for (ColorSetting colorSetting : handler.colorSettings) {
- colorSetting.dispose();
- }
- return new ColorSetting[0];
- }
-
- // Helper class
- private static class ColorSettingsContentHandler extends DefaultHandler {
-
- private List<ColorSetting> colorSettings = new ArrayList<>(0);
- private RGB fg = new RGB(0, 0, 0);
- private RGB bg = new RGB(255, 255, 255);
- private RGB tickColor = new RGB(0, 0, 0);
- private ITmfFilterTreeNode filter;
- private TmfFilterContentHandler filterContentHandler;
-
- @Override
- public void startElement(String uri, String localName, String qName, Attributes attributes)
- throws SAXException {
- if (localName.equals(COLOR_SETTINGS_TAG)) {
- colorSettings = new ArrayList<>();
- } else if (localName.equals(COLOR_SETTING_TAG)) {
- fg = null;
- bg = null;
- filter = null;
- } else if (localName.equals(FG_TAG)) {
- int r = Integer.parseInt(attributes.getValue(R_ATTR));
- int g = Integer.parseInt(attributes.getValue(G_ATTR));
- int b = Integer.parseInt(attributes.getValue(B_ATTR));
- fg = new RGB(r, g, b);
- } else if (localName.equals(BG_TAG)) {
- int r = Integer.parseInt(attributes.getValue(R_ATTR));
- int g = Integer.parseInt(attributes.getValue(G_ATTR));
- int b = Integer.parseInt(attributes.getValue(B_ATTR));
- bg = new RGB(r, g, b);
- } else if (localName.equals(TICK_TAG)) {
- int r = Integer.parseInt(attributes.getValue(R_ATTR));
- int g = Integer.parseInt(attributes.getValue(G_ATTR));
- int b = Integer.parseInt(attributes.getValue(B_ATTR));
- tickColor = new RGB(r, g, b);
- } else if (localName.equals(FILTER_TAG)) {
- filterContentHandler = new TmfFilterContentHandler();
- } else if (filterContentHandler != null) {
- filterContentHandler.startElement(uri, localName, qName, attributes);
- }
- }
-
- @Override
- public void endElement(String uri, String localName, String qName)
- throws SAXException {
- if (localName.equals(COLOR_SETTINGS_TAG)) {
- // Nothing to do
- } else if (localName.equals(COLOR_SETTING_TAG)) {
- ColorSetting colorSetting = new ColorSetting(fg, bg, tickColor, filter);
- colorSettings.add(colorSetting);
- } else if (localName.equals(FILTER_TAG)) {
- filter = filterContentHandler.getTree();
- filterContentHandler = null;
- } else if (filterContentHandler != null) {
- filterContentHandler.endElement(uri, localName, qName);
- }
- }
-
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/colors/ColorsView.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/colors/ColorsView.java
deleted file mode 100644
index 08ea59c132..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/colors/ColorsView.java
+++ /dev/null
@@ -1,588 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010, 2013 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:
- * Patrick Tasse - Initial API and implementation
- * Bernd Hufmann - Updated to use RGB for the tick color
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.views.colors;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
-
-import org.eclipse.jdt.annotation.NonNull;
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.action.IToolBarManager;
-import org.eclipse.jface.action.Separator;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.window.Window;
-import org.eclipse.linuxtools.internal.tmf.ui.Activator;
-import org.eclipse.linuxtools.internal.tmf.ui.Messages;
-import org.eclipse.linuxtools.tmf.ui.views.TmfView;
-import org.eclipse.linuxtools.tmf.ui.views.filter.FilterDialog;
-import org.eclipse.linuxtools.tmf.ui.widgets.timegraph.widgets.TimeGraphColorScheme;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.ScrolledComposite;
-import org.eclipse.swt.events.MouseAdapter;
-import org.eclipse.swt.events.MouseEvent;
-import org.eclipse.swt.events.MouseListener;
-import org.eclipse.swt.events.PaintEvent;
-import org.eclipse.swt.events.PaintListener;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.graphics.GC;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.graphics.RGB;
-import org.eclipse.swt.graphics.Rectangle;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Canvas;
-import org.eclipse.swt.widgets.ColorDialog;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.FileDialog;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.IActionBars;
-
-/**
- * Color view implementation. This view provides support for managing color settings for filters.
- *
- * @version 1.0
- * @author Patrick Tasse
- *
- */
-public class ColorsView extends TmfView {
-
- /** ID for the color view */
- public static final @NonNull String ID = "org.eclipse.linuxtools.tmf.ui.views.colors"; //$NON-NLS-1$
-
- private static final Image ADD_IMAGE = Activator.getDefault().getImageFromPath("/icons/elcl16/add_button.gif"); //$NON-NLS-1$
- private static final Image DELETE_IMAGE = Activator.getDefault().getImageFromPath("/icons/elcl16/delete_button.gif"); //$NON-NLS-1$
- private static final Image MOVE_UP_IMAGE = Activator.getDefault().getImageFromPath("/icons/elcl16/moveup_button.gif"); //$NON-NLS-1$
- private static final Image MOVE_DOWN_IMAGE = Activator.getDefault().getImageFromPath("/icons/elcl16/movedown_button.gif"); //$NON-NLS-1$
- private static final Image IMPORT_IMAGE = Activator.getDefault().getImageFromPath("/icons/elcl16/import_button.gif"); //$NON-NLS-1$
- private static final Image EXPORT_IMAGE = Activator.getDefault().getImageFromPath("/icons/elcl16/export_button.gif"); //$NON-NLS-1$
-
- // ------------------------------------------------------------------------
- // Main data structures
- // ------------------------------------------------------------------------
-
- /**
- * The composite shell.
- */
- protected Shell fShell;
- /**
- * The main composite (scrolled composite)
- */
- protected ScrolledComposite fScrolledComposite;
- /**
- * The list composite.
- */
- protected Composite fListComposite;
- /**
- * The filler composite.
- */
- protected Composite fFillerComposite;
- /**
- * The selected color settings row
- */
- protected ColorSettingRow fSelectedRow = null;
- /**
- * The color scheme instance for managing colors
- */
- protected TimeGraphColorScheme traceColorScheme = new TimeGraphColorScheme();
- /**
- * An action to add a color settings row
- */
- protected Action fAddAction;
- /**
- * An action to delete a color settings row
- */
- protected Action fDeleteAction;
- /**
- * An action to move up a color settings row in the list.
- */
- protected Action fMoveUpAction;
- /**
- * An action to move down a color settings row in the list.
- */
- protected Action fMoveDownAction;
- /**
- * An action to import color settings from file.
- */
- protected Action fImportAction;
- /**
- * An action to export color settings from file.
- */
- protected Action fExportAction;
- /**
- * The list of existing color settings
- */
- protected List<ColorSetting> fColorSettings;
-
- // ------------------------------------------------------------------------
- // Constructor
- // ------------------------------------------------------------------------
-
- /**
- * Default Constructor
- */
- public ColorsView() {
- super("Colors"); //$NON-NLS-1$
- }
-
- @Override
- public void createPartControl(Composite parent) {
- fShell = parent.getShell();
-
- fScrolledComposite = new ScrolledComposite(parent, SWT.V_SCROLL | SWT.H_SCROLL);
- fScrolledComposite.setExpandHorizontal(true);
- fScrolledComposite.setExpandVertical(true);
- fListComposite = new Composite(fScrolledComposite, SWT.NONE);
- fScrolledComposite.setContent(fListComposite);
-
- GridLayout gl = new GridLayout();
- gl.marginHeight = 0;
- gl.marginWidth = 0;
- gl.verticalSpacing = 1;
- fListComposite.setLayout(gl);
-
- fColorSettings = new ArrayList<>(Arrays.asList(ColorSettingsManager.getColorSettings()));
- for (ColorSetting colorSetting : fColorSettings) {
- new ColorSettingRow(fListComposite, colorSetting);
- }
-
- fFillerComposite = new Composite(fListComposite, SWT.NONE);
- GridData gd = new GridData(SWT.FILL, SWT.FILL, true, true);
- gd.heightHint = 0;
- fFillerComposite.setLayoutData(gd);
- gl = new GridLayout();
- gl.marginHeight = 1;
- gl.marginWidth = 1;
- fFillerComposite.setLayout(gl);
- Label fillerLabel = new Label(fFillerComposite, SWT.NONE);
- fillerLabel.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
- fillerLabel.setBackground(Display.getDefault().getSystemColor(SWT.COLOR_LIST_BACKGROUND));
-
- fFillerComposite.addPaintListener(new PaintListener() {
- @Override
- public void paintControl(PaintEvent e) {
- if (fSelectedRow == null) {
- Color lineColor = Display.getDefault().getSystemColor(SWT.COLOR_BLACK);
- Point p = fFillerComposite.getSize();
- GC gc = e.gc;
- gc.setForeground(lineColor);
- gc.drawLine(0, 0, p.x - 1, 0);
- }
- }
- });
-
- MouseListener mouseListener = new MouseAdapter() {
- @Override
- public void mouseDown(MouseEvent e) {
- fSelectedRow = null;
- refresh();
- }
- };
- fillerLabel.addMouseListener(mouseListener);
-
- fScrolledComposite.setMinSize(fListComposite.computeSize(SWT.DEFAULT, SWT.DEFAULT));
-
- fillToolBar();
- }
-
- @Override
- public void setFocus() {
- fScrolledComposite.setFocus();
- }
-
- /**
- * Refreshes the view display and updates the view actions enablements.
- */
- public void refresh() {
- fListComposite.layout();
- fScrolledComposite.setMinSize(fListComposite.computeSize(SWT.DEFAULT, SWT.DEFAULT));
- fListComposite.redraw(0, 0, fListComposite.getBounds().width, fListComposite.getBounds().height, true);
- if (fSelectedRow == null) {
- fDeleteAction.setEnabled(false);
- fMoveUpAction.setEnabled(false);
- fMoveDownAction.setEnabled(false);
- } else {
- fDeleteAction.setEnabled(true);
- fMoveUpAction.setEnabled(true);
- fMoveDownAction.setEnabled(true);
- }
- }
-
- private void fillToolBar() {
-
- fAddAction = new AddAction();
- fAddAction.setImageDescriptor(ImageDescriptor.createFromImage(ADD_IMAGE));
- fAddAction.setToolTipText(Messages.ColorsView_AddActionToolTipText);
-
- fDeleteAction = new DeleteAction();
- fDeleteAction.setImageDescriptor(ImageDescriptor.createFromImage(DELETE_IMAGE));
- fDeleteAction.setToolTipText(Messages.ColorsView_DeleteActionToolTipText);
- fDeleteAction.setEnabled(false);
-
- fMoveUpAction = new MoveUpAction();
- fMoveUpAction.setImageDescriptor(ImageDescriptor.createFromImage(MOVE_UP_IMAGE));
- fMoveUpAction.setToolTipText(Messages.ColorsView_MoveUpActionToolTipText);
- fMoveUpAction.setEnabled(false);
-
- fMoveDownAction = new MoveDownAction();
- fMoveDownAction.setImageDescriptor(ImageDescriptor.createFromImage(MOVE_DOWN_IMAGE));
- fMoveDownAction.setToolTipText(Messages.ColorsView_MoveDownActionToolTipText);
- fMoveDownAction.setEnabled(false);
-
- fExportAction = new ExportAction();
- fExportAction.setImageDescriptor(ImageDescriptor.createFromImage(EXPORT_IMAGE));
- fExportAction.setToolTipText(Messages.ColorsView_ExportActionToolTipText);
-
- fImportAction = new ImportAction();
- fImportAction.setImageDescriptor(ImageDescriptor.createFromImage(IMPORT_IMAGE));
- fImportAction.setToolTipText(Messages.ColorsView_ImportActionToolTipText);
-
- IActionBars bars = getViewSite().getActionBars();
- IToolBarManager manager = bars.getToolBarManager();
- manager.add(fAddAction);
- manager.add(fDeleteAction);
- manager.add(fMoveUpAction);
- manager.add(fMoveDownAction);
- manager.add(new Separator());
- manager.add(fExportAction);
- manager.add(fImportAction);
- }
-
- private class AddAction extends Action {
- @Override
- public void run() {
- ColorSetting colorSetting = new ColorSetting(
- Display.getDefault().getSystemColor(SWT.COLOR_LIST_FOREGROUND).getRGB(),
- Display.getDefault().getSystemColor(SWT.COLOR_LIST_BACKGROUND).getRGB(),
- Display.getDefault().getSystemColor(SWT.COLOR_LIST_FOREGROUND).getRGB(),
- null);
- ColorSettingRow row = new ColorSettingRow(fListComposite, colorSetting);
- if (fSelectedRow == null) {
- fColorSettings.add(colorSetting);
- row.moveAbove(fFillerComposite);
- } else {
- fColorSettings.add(fColorSettings.indexOf(fSelectedRow.getColorSetting()), colorSetting);
- row.moveAbove(fSelectedRow);
- }
- fSelectedRow = row;
- refresh();
- ColorSettingsManager.setColorSettings(fColorSettings.toArray(new ColorSetting[0]));
- }
- }
-
- private class DeleteAction extends Action {
-
- @Override
- public void run() {
- if (fSelectedRow != null) {
- int index = fColorSettings.indexOf(fSelectedRow.getColorSetting());
- fColorSettings.remove(index);
- fSelectedRow.fColorSetting.dispose();
- fSelectedRow.dispose();
- if (index < fColorSettings.size()) {
- fSelectedRow = (ColorSettingRow) fListComposite.getChildren()[index];
- } else {
- fSelectedRow = null;
- }
- refresh();
- ColorSettingsManager.setColorSettings(fColorSettings.toArray(new ColorSetting[0]));
- }
- }
- }
-
- private class MoveUpAction extends Action {
- @Override
- public void run() {
- if (fSelectedRow != null) {
- int index = fColorSettings.indexOf(fSelectedRow.getColorSetting());
- if (index > 0) {
- fColorSettings.add(index - 1, fColorSettings.remove(index));
- fSelectedRow.moveAbove(fListComposite.getChildren()[index - 1]);
- refresh();
- ColorSettingsManager.setColorSettings(fColorSettings.toArray(new ColorSetting[0]));
- }
- }
- }
- }
-
- private class MoveDownAction extends Action {
- @Override
- public void run() {
- if (fSelectedRow != null) {
- int index = fColorSettings.indexOf(fSelectedRow.getColorSetting());
- if (index < fColorSettings.size() - 1) {
- fColorSettings.add(index + 1, fColorSettings.remove(index));
-
- fSelectedRow.moveBelow(fListComposite.getChildren()[index + 1]);
- refresh();
- ColorSettingsManager.setColorSettings(fColorSettings.toArray(new ColorSetting[0]));
- }
- }
- }
- }
-
- private class ExportAction extends Action {
- @Override
- public void run() {
- FileDialog fileDialog = new FileDialog(fShell, SWT.SAVE);
- fileDialog.setFilterExtensions(new String[] {"*.xml"}); //$NON-NLS-1$
- fileDialog.setOverwrite(true);
- String pathName = fileDialog.open();
- if (pathName != null) {
- ColorSettingsXML.save(pathName, fColorSettings.toArray(new ColorSetting[0]));
- }
- }
- }
-
- private class ImportAction extends Action {
- @Override
- public void run() {
- FileDialog fileDialog = new FileDialog(fShell, SWT.OPEN);
- fileDialog.setFilterExtensions(new String[] {"*.xml"}); //$NON-NLS-1$
- String pathName = fileDialog.open();
- if (pathName != null) {
- ColorSetting[] colorSettings = ColorSettingsXML.load(pathName);
- if (colorSettings.length > 0) {
- if (fColorSettings.size() > 0) {
- boolean overwrite = MessageDialog.openQuestion(fShell,
- Messages.ColorsView_ImportOverwriteDialogTitle,
- Messages.ColorsView_ImportOverwriteDialogMessage1 +
- Messages.ColorsView_ImportOverwriteDialogMessage2);
- if (overwrite) {
- for (Control control : fListComposite.getChildren()) {
- if (control instanceof ColorSettingRow) {
- ((ColorSettingRow) control).fColorSetting.dispose();
- control.dispose();
- }
- }
- fColorSettings = new ArrayList<>();
- fSelectedRow = null;
- }
- }
- for (ColorSetting colorSetting : colorSettings) {
- ColorSettingRow row = new ColorSettingRow(fListComposite, colorSetting);
- if (fSelectedRow == null) {
- fColorSettings.add(colorSetting);
- row.moveAbove(fFillerComposite);
- } else {
- fColorSettings.add(fColorSettings.indexOf(fSelectedRow.getColorSetting()), colorSetting);
- row.moveAbove(fSelectedRow);
- }
- }
- refresh();
- ColorSettingsManager.setColorSettings(fColorSettings.toArray(new ColorSetting[0]));
- }
- }
- }
- }
-
- private class ColorSettingRow extends Composite {
-
- ColorSetting fColorSetting;
-
- public ColorSettingRow(final Composite parent, final ColorSetting colorSetting) {
- super(parent, SWT.NONE);
- fColorSetting = colorSetting;
-
- setBackground(Display.getDefault().getSystemColor(SWT.COLOR_LIST_BACKGROUND));
-
- setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false));
- GridLayout gl = new GridLayout(7, false);
- gl.marginHeight = 1;
- gl.marginWidth = 1;
- gl.horizontalSpacing = 1;
- gl.verticalSpacing = 0;
- setLayout(gl);
-
- final Button fgButton = new Button(this, SWT.PUSH);
- fgButton.setText(Messages.ColorsView_ForegroundButtonText);
- fgButton.setSize(fgButton.computeSize(SWT.DEFAULT, 19));
- fgButton.setBackground(Display.getDefault().getSystemColor(SWT.COLOR_LIST_BACKGROUND));
-
- final Button bgButton = new Button(this, SWT.PUSH);
- bgButton.setText(Messages.ColorsView_BackgroundButtonText);
- bgButton.setBackground(Display.getDefault().getSystemColor(SWT.COLOR_LIST_BACKGROUND));
-
- final Composite labelComposite = new Composite(this, SWT.NONE);
- labelComposite.setLayoutData(new GridData(SWT.CENTER, SWT.FILL, false, false));
- gl = new GridLayout();
- gl.marginHeight = 0;
- gl.marginWidth = 0;
- labelComposite.setLayout(gl);
- labelComposite.setBackground(colorSetting.getBackgroundColor());
-
- final Label label = new Label(labelComposite, SWT.NONE);
- label.setLayoutData(new GridData(SWT.CENTER, SWT.CENTER, false, true));
- label.setText(" Text "); //$NON-NLS-1$
- label.setForeground(colorSetting.getForegroundColor());
- label.setBackground(colorSetting.getBackgroundColor());
-
- fgButton.addSelectionListener(new SelectionAdapter() {
- @Override
- public void widgetSelected(SelectionEvent e) {
- fSelectedRow = ColorSettingRow.this;
- refresh();
- ColorDialog dialog = new ColorDialog(fShell);
- dialog.setRGB(colorSetting.getForegroundRGB());
- dialog.setText(Messages.ColorsView_ForegroundDialogText);
- dialog.open();
- RGB rgb = dialog.getRGB();
- if (rgb != null) {
- colorSetting.setForegroundRGB(rgb);
- ColorSettingsManager.setColorSettings(fColorSettings.toArray(new ColorSetting[0]));
- label.setForeground(colorSetting.getForegroundColor());
- }
- }});
-
- bgButton.addSelectionListener(new SelectionAdapter() {
- @Override
- public void widgetSelected(SelectionEvent e) {
- fSelectedRow = ColorSettingRow.this;
- refresh();
- ColorDialog dialog = new ColorDialog(fShell);
- dialog.setRGB(colorSetting.getBackgroundRGB());
- dialog.setText(Messages.ColorsView_BackgroundDialogText);
- dialog.open();
- RGB rgb = dialog.getRGB();
- if (rgb != null) {
- colorSetting.setBackgroundRGB(rgb);
- ColorSettingsManager.setColorSettings(fColorSettings.toArray(new ColorSetting[0]));
- labelComposite.setBackground(colorSetting.getBackgroundColor());
- label.setBackground(colorSetting.getBackgroundColor());
- }
- }});
-
- final Button tickButton = new Button(this, SWT.PUSH);
- tickButton.setText(Messages.ColorsView_TickButtonText);
- tickButton.setSize(tickButton.computeSize(SWT.DEFAULT, 19));
- tickButton.setBackground(Display.getDefault().getSystemColor(SWT.COLOR_LIST_BACKGROUND));
-
- final Canvas tickCanvas = new Canvas(this, SWT.NONE);
- GridData gd = new GridData(SWT.CENTER, SWT.FILL, false, false);
- gd.widthHint = 12;
- gd.heightHint = bgButton.getSize().y;
- tickCanvas.setLayoutData(gd);
- tickCanvas.setBackground(traceColorScheme.getBkColor(false, false, false));
- tickCanvas.addPaintListener(new PaintListener() {
- @Override
- public void paintControl(PaintEvent e) {
- Rectangle bounds = tickCanvas.getBounds();
- e.gc.setForeground(traceColorScheme.getColor(TimeGraphColorScheme.MID_LINE));
- int midy = bounds.y + bounds.height / 2 - 1;
- //int midy = e.y + e.height / 2;
- e.gc.drawLine(e.x, midy, e.x + e.width, midy);
- Rectangle rect = new Rectangle(e.x + 1, bounds.y + 2, 0, bounds.height - 6);
- for (int i = 1; i <= 3; i++) {
- rect.x += i;
- rect.width = i;
- e.gc.setBackground(fColorSetting.getTickColor());
- e.gc.fillRectangle(rect);
- }
- }});
-
- tickButton.addSelectionListener(new SelectionAdapter() {
- @Override
- public void widgetSelected(SelectionEvent e) {
- fSelectedRow = ColorSettingRow.this;
- ColorDialog dialog = new ColorDialog(fShell);
- dialog.setRGB(colorSetting.getTickColorRGB());
- dialog.setText(Messages.TickColorDialog_TickColorDialogTitle);
- dialog.open();
- RGB rgb = dialog.getRGB();
- if (rgb != null) {
- colorSetting.setTickColorRGB(rgb);
- ColorSettingsManager.setColorSettings(fColorSettings.toArray(new ColorSetting[0]));
- refresh();
- }
- }});
-
- final Button filterButton = new Button(this, SWT.PUSH);
- filterButton.setText(Messages.ColorsView_FilterButtonText);
- filterButton.setBackground(Display.getDefault().getSystemColor(SWT.COLOR_LIST_BACKGROUND));
-
- final Label filterText = new Label(this, SWT.NONE);
- if (colorSetting.getFilter() != null) {
- filterText.setText(colorSetting.getFilter().toString());
- filterText.setToolTipText(colorSetting.getFilter().toString());
- }
- filterText.setBackground(Display.getDefault().getSystemColor(SWT.COLOR_LIST_BACKGROUND));
- filterText.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false));
-
- filterButton.addSelectionListener(new SelectionAdapter() {
- @Override
- public void widgetSelected(SelectionEvent e) {
- fSelectedRow = ColorSettingRow.this;
- refresh();
- FilterDialog dialog = new FilterDialog(fShell);
- dialog.setFilter(colorSetting.getFilter());
- dialog.open();
- if (dialog.getReturnCode() == Window.OK) {
- if (dialog.getFilter() != null) {
- colorSetting.setFilter(dialog.getFilter());
- filterText.setText(dialog.getFilter().toString());
- filterText.setToolTipText(dialog.getFilter().toString());
- } else {
- colorSetting.setFilter(null);
- filterText.setText(""); //$NON-NLS-1$
- filterText.setToolTipText(""); //$NON-NLS-1$
- }
- ColorSettingsManager.setColorSettings(fColorSettings.toArray(new ColorSetting[0]));
- refresh();
- }
- }});
-
- addPaintListener(new PaintListener() {
- @Override
- public void paintControl(PaintEvent e) {
- if (fSelectedRow == ColorSettingRow.this) {
- Color borderColor = Display.getDefault().getSystemColor(SWT.COLOR_BLACK);
- Point p = ColorSettingRow.this.getSize();
- Rectangle rect = new Rectangle(0, 0, p.x - 1, p.y - 1);
- GC gc = e.gc;
- gc.setForeground(borderColor);
- gc.drawRectangle(rect);
- }
- }
- });
-
- MouseListener mouseListener = new MouseAdapter() {
- @Override
- public void mouseDown(MouseEvent e) {
- fSelectedRow = ColorSettingRow.this;
- refresh();
- }
- };
- addMouseListener(mouseListener);
- label.addMouseListener(mouseListener);
- tickCanvas.addMouseListener(mouseListener);
- filterText.addMouseListener(mouseListener);
- }
-
- /**
- * @return the ColorSetting
- */
- public ColorSetting getColorSetting() {
- return fColorSetting;
- }
-
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/colors/IColorSettingsListener.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/colors/IColorSettingsListener.java
deleted file mode 100644
index a1b7f68ef2..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/colors/IColorSettingsListener.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010, 2013 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:
- * Patrick Tasse - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.views.colors;
-
-/**
- * A color change listener
- *
- * @version 1.0
- * @author Patrick Tasse
- */
-public interface IColorSettingsListener {
-
- /**
- * Notify the listener that the color settings have changed.
- *
- * @param colorSettings
- * The new color settings
- */
- void colorSettingsChanged(ColorSetting[] colorSettings);
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/distribution/model/BaseDistributionData.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/distribution/model/BaseDistributionData.java
deleted file mode 100644
index 9ed11868f0..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/distribution/model/BaseDistributionData.java
+++ /dev/null
@@ -1,243 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011, 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:
- * Bernd Hufmann - Initial API and implementation
- * Francois Chouinard - Moved from LTTng to TMF
- ******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.views.distribution.model;
-
-/**
- * Class with basic distribution data used for distribution models.
- *
- * It stores number of events (with timestamp) in buckets with a start time and a
- * certain duration. The duration is the same across all buckets.
- * Note that Timestamps are stored as long values.
- *
- * @version 1.0
- * @author Bernd Hufmann
- */
-public class BaseDistributionData {
-
- // ------------------------------------------------------------------------
- // Constants
- // ------------------------------------------------------------------------
- /**
- * Constant indication that bucket is not filled.
- */
- public final static int OUT_OF_RANGE_BUCKET = -1;
-
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
- /**
- * Number of buckets
- */
- protected final int fNbBuckets;
- /**
- * Duration of each bucket
- */
- protected long fBucketDuration;
- /**
- * Bucket index of last event time
- */
- protected int fLastBucket;
- /**
- * Timestamp of the first bucket. (could be negative when analyzing events with descending time!!!)
- */
- protected long fFirstBucketTime;
- /**
- * Timestamp of the first event
- */
- protected long fFirstEventTime;
- /**
- * Timestamp of the last event
- */
- protected long fLastEventTime;
-
- // ------------------------------------------------------------------------
- // Constructors
- // ------------------------------------------------------------------------
-
- /**
- * Constructs a base distribution data object.
- * @param nbBuckets A total number of buckets
- */
- public BaseDistributionData(int nbBuckets) {
- fNbBuckets = nbBuckets;
- clear();
- }
-
- // ------------------------------------------------------------------------
- // Accessors
- // ------------------------------------------------------------------------
- /**
- * Returns the total number of buckets.
- *
- * @return the number of buckets.
- */
- public int getNbBuckets() {
- return fNbBuckets;
- }
-
- /**
- * Returns the duration of buckets.
- *
- * @return bucket duration
- */
- public long getBucketDuration() {
- return fBucketDuration;
- }
-
- /**
- * Set the bucket duration.
- *
- * @param bucketDuration The duration to set.
- */
- public void setBucketDuration(long bucketDuration) {
- fBucketDuration = bucketDuration;
- }
-
- /**
- * Returns the index of the last used bucket.
- *
- * @return last bucket index.
- */
- public int getLastBucket() {
- return fLastBucket;
- }
-
- /**
- * Sets the index of the last bucket used.
- *
- * @param lastBucket The last bucket index to set.
- */
- public void setLastBucket(int lastBucket) {
- fLastBucket = lastBucket;
- }
-
- /**
- * Returns the start time of the first bucket.
- *
- * @return first bucket time.
- */
- public long getFirstBucketTime() {
- return fFirstBucketTime;
- }
-
- /**
- * Sets the start time of the first bucket.
- *
- * @param firstBucketTime The bucket time to ser.
- */
- public void setFirstBucketTime(long firstBucketTime) {
- fFirstBucketTime = firstBucketTime;
- }
-
- /**
- * Returns the start time of the last bucket used.
- *
- * @return the start time of the last bucket.
- */
- public long getLastBucketTime() {
- return getBucketStartTime(fLastBucket);
- }
-
- /**
- * Returns the time of the event with the lowest timestamp.
- *
- * @return first event time.
- */
- public long getFirstEventTime() {
- return fFirstEventTime;
- }
-
- /**
- * Sets the time of the event with the lowest timestamp.
- *
- * @param firstEventTime The first event time to set.
- */
- public void setFirstEventTime(long firstEventTime) {
- fFirstEventTime = firstEventTime;
- }
-
- /**
- * Returns the time of the event with the biggest timestamp.
- *
- * @return the last event time.
- */
- public long getLastEventTime() {
- return fLastEventTime;
- }
-
- /**
- * Sets the time of the event with the biggest timestamp.
- *
- * @param lastEventTime The last event time to set.
- */
- public void setLastEventTime(long lastEventTime) {
- fLastEventTime = lastEventTime;
- }
-
- /**
- * Returns the bucket start time of a given bucket index.
- *
- * @param index The bucket index.
- * @return the bucket start time of a given bucket index.
- */
- public long getBucketStartTime(int index) {
- return fFirstBucketTime + index * fBucketDuration;
- }
-
- /**
- * Returns the bucket end time of a given bucket index.
- *
- * @param index The bucket index.
- * @return the bucket start time of a given bucket index.
- */
- public long getBucketEndTime(int index) {
- return getBucketStartTime(index) + fBucketDuration;
- }
-
- /**
- * Returns the bucket index of the bucket containing a given time.
- *
- * @param time The timestamp to check.
- * @return the bucket index of the bucket containing the given time.
- */
- public int getIndex(long time) {
- return (int)((time - fFirstBucketTime) / fBucketDuration);
- }
-
- /**
- * Check if an index is valid.
- *
- * @param index
- * The index to check
- * @return If it's valid, true or false.
- */
- public boolean isIndexValid(int index) {
- return ((index >= 0) && (index <= fNbBuckets - 1));
- }
-
- // ------------------------------------------------------------------------
- // Operations
- // ------------------------------------------------------------------------
-
- /**
- * Clears the data model to default values.
- */
- public void clear() {
- fFirstBucketTime = 0;
- fFirstEventTime = 0;
- fLastEventTime = 0;
- fLastBucket = 0;
- fBucketDuration = 1;
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/distribution/model/IBaseDistributionModel.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/distribution/model/IBaseDistributionModel.java
deleted file mode 100644
index f44d5393b4..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/distribution/model/IBaseDistributionModel.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011, 2013 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:
- * Bernd Hufmann - Initial API and implementation
- * Francois Chouinard - Moved from LTTng to TMF
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.views.distribution.model;
-
-/**
- * Base distribution model interface.
- *
- * Distribution models such histograms need to implement this interface.
- *
- * @version 1.0
- * @author Bernd Hufmann
- *
- */
-public interface IBaseDistributionModel {
- /**
- * Complete the model (all data received)
- */
- void complete();
-
- /**
- * Clear the model (delete all data).
- */
- void clear();
-} \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/filter/CopyHandler.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/filter/CopyHandler.java
deleted file mode 100644
index 9ed50a41e6..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/filter/CopyHandler.java
+++ /dev/null
@@ -1,80 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 Kalray
- *
- * 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:
- * Xavier Raynaud - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.views.filter;
-
-import org.eclipse.core.commands.AbstractHandler;
-import org.eclipse.core.commands.ExecutionEvent;
-import org.eclipse.core.commands.ExecutionException;
-import org.eclipse.jface.util.LocalSelectionTransfer;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.PlatformUI;
-
-/**
- * Handler for copy command in filter view
- * @author Xavier Raynaud <xavier.raynaud@kalray.eu>
- * @since 3.0
- */
-public class CopyHandler extends AbstractHandler {
-
- @Override
- public Object execute(ExecutionEvent event) throws ExecutionException {
- // Check if we are closing down
- IWorkbenchWindow window = PlatformUI.getWorkbench().getActiveWorkbenchWindow();
- if (window == null) {
- return null;
- }
- IWorkbenchPage page = window.getActivePage();
- FilterView part = (FilterView) page.getActivePart();
-
- ISelection selection = getSelection(part);
- LocalSelectionTransfer.getTransfer().setSelection(selection);
- LocalSelectionTransfer.getTransfer().setSelectionSetTime(System.currentTimeMillis());
- return null;
- }
-
- /**
- * Retrieve the current selection
- *
- * @param tcv
- * the FilterView
- * @return the current selection in the FilterView
- */
- protected ISelection getSelection(FilterView tcv) {
- return tcv.getViewSite().getSelectionProvider().getSelection();
- }
-
- @Override
- public boolean isEnabled() {
- // Check if we are closing down
- IWorkbenchWindow window = PlatformUI.getWorkbench().getActiveWorkbenchWindow();
- if (window == null) {
- return false;
- }
-
- // Get the selection
- IWorkbenchPage page = window.getActivePage();
- IWorkbenchPart part = page.getActivePart();
- if (part instanceof FilterView) {
- FilterView tcv = (FilterView) part;
- ISelection selection = tcv.getSite().getSelectionProvider().getSelection();
- // only enable if tree is in focus
- if (!selection.isEmpty() && tcv.isTreeInFocus()) {
- return true;
- }
- }
- return false;
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/filter/CutHandler.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/filter/CutHandler.java
deleted file mode 100644
index 5de70d43f7..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/filter/CutHandler.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 Kalray
- *
- * 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:
- * Xavier Raynaud - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.views.filter;
-
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.linuxtools.tmf.core.filter.model.ITmfFilterTreeNode;
-
-/**
- * Handler for cut command in filter view
- * @author Xavier Raynaud <xavier.raynaud@kalray.eu>
- * @since 3.0
- */
-public class CutHandler extends CopyHandler {
-
- @Override
- protected ISelection getSelection(FilterView tcv) {
- ISelection sel = super.getSelection(tcv);
- if (sel instanceof IStructuredSelection) {
- IStructuredSelection selection = (IStructuredSelection) sel;
- Object o = selection.getFirstElement();
- if (o instanceof ITmfFilterTreeNode) {
- ITmfFilterTreeNode node = (ITmfFilterTreeNode) o;
- node = node.remove();
- tcv.refresh();
- return new StructuredSelection(node);
- }
- }
- return sel;
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/filter/DeleteHandler.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/filter/DeleteHandler.java
deleted file mode 100644
index d0dc1d161c..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/filter/DeleteHandler.java
+++ /dev/null
@@ -1,77 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 Kalray
- *
- * 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:
- * Xavier Raynaud - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.views.filter;
-
-import org.eclipse.core.commands.AbstractHandler;
-import org.eclipse.core.commands.ExecutionEvent;
-import org.eclipse.core.commands.ExecutionException;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.linuxtools.tmf.core.filter.model.ITmfFilterTreeNode;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.PlatformUI;
-
-/**
- * Handler for delete command in filter view
- * @author Xavier Raynaud <xavier.raynaud@kalray.eu>
- * @since 3.0
- */
-public class DeleteHandler extends AbstractHandler {
-
- @Override
- public Object execute(ExecutionEvent event) throws ExecutionException {
- // Check if we are closing down
- IWorkbenchWindow window = PlatformUI.getWorkbench().getActiveWorkbenchWindow();
- if (window == null) {
- return null;
- }
- IWorkbenchPage page = window.getActivePage();
- FilterView part = (FilterView) page.getActivePart();
-
- ISelection sel = part.getViewSite().getSelectionProvider().getSelection();
- if (sel instanceof IStructuredSelection) {
- IStructuredSelection selection = (IStructuredSelection) sel;
- Object o = selection.getFirstElement();
- if (o instanceof ITmfFilterTreeNode) {
- ITmfFilterTreeNode node = (ITmfFilterTreeNode) o;
- node = node.remove();
- part.refresh();
- }
- }
- return null;
- }
-
- @Override
- public boolean isEnabled() {
- // Check if we are closing down
- IWorkbenchWindow window = PlatformUI.getWorkbench().getActiveWorkbenchWindow();
- if (window == null) {
- return false;
- }
-
- // Get the selection
- IWorkbenchPage page = window.getActivePage();
- IWorkbenchPart part = page.getActivePart();
- if (part instanceof FilterView) {
- FilterView tcv = (FilterView) part;
- ISelection selection = tcv.getSite().getSelectionProvider().getSelection();
- // only enable if tree is in focus
- if (!selection.isEmpty() && tcv.isTreeInFocus()) {
- return true;
- }
- }
- return false;
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/filter/FilterDialog.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/filter/FilterDialog.java
deleted file mode 100644
index b0b72ac931..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/filter/FilterDialog.java
+++ /dev/null
@@ -1,81 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010, 2013 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:
- * Patrick Tasse - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.views.filter;
-
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.linuxtools.internal.tmf.ui.Messages;
-import org.eclipse.linuxtools.tmf.core.filter.model.ITmfFilterTreeNode;
-import org.eclipse.linuxtools.tmf.core.filter.model.TmfFilterNode;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Shell;
-
-/**
- * The dialog for user-defined filters.
- *
- * @version 1.0
- * @author Patrick Tasse
- */
-public class FilterDialog extends Dialog {
-
- TmfFilterNode fRoot;
- FilterViewer fViewer;
-
- /**
- * Constructor.
- *
- * @param shell
- * The shell to which this dialog is attached
- */
- public FilterDialog(Shell shell) {
- super(shell);
- setShellStyle(getShellStyle() | SWT.RESIZE | SWT.MAX);
- }
-
- @Override
- protected Control createDialogArea(Composite parent) {
- getShell().setText(Messages.FilterDialog_FilterDialogTitle);
- getShell().setMinimumSize(getShell().computeSize(500, 200));
- Composite composite = (Composite) super.createDialogArea(parent);
-
- fViewer = new FilterViewer(composite, SWT.BORDER, true);
- fViewer.setInput(fRoot);
- return composite;
- }
-
- /**
- * @param filter
- * the filter to set
- */
- public void setFilter(ITmfFilterTreeNode filter) {
- fRoot = new TmfFilterNode(null);
- if (filter != null) {
- fRoot.addChild(filter.clone());
- }
- if (fViewer != null) {
- fViewer.setInput(fRoot);
- }
- }
-
- /**
- * @return the filter
- */
- public ITmfFilterTreeNode getFilter() {
- if (fRoot != null && fRoot.hasChildren()) {
- return fRoot.getChild(0).clone();
- }
- return null;
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/filter/FilterDragSourceAdapter.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/filter/FilterDragSourceAdapter.java
deleted file mode 100644
index 983928ec1b..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/filter/FilterDragSourceAdapter.java
+++ /dev/null
@@ -1,70 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 Kalray
- *
- * 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:
- * Xavier Raynaud - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.views.filter;
-
-import org.eclipse.jface.util.LocalSelectionTransfer;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.linuxtools.tmf.core.filter.model.ITmfFilterTreeNode;
-import org.eclipse.swt.dnd.DND;
-import org.eclipse.swt.dnd.DragSourceAdapter;
-import org.eclipse.swt.dnd.DragSourceEvent;
-
-/**
- * DragSourceListener for filter view
- * @author Xavier Raynaud <xavier.raynaud@kalray.eu>
- */
-class FilterDragSourceAdapter extends DragSourceAdapter {
-
- private FilterViewer fViewer;
-
- /**
- * Constructor
- *
- * @param viewer
- * the content of the FilterView
- */
- public FilterDragSourceAdapter(FilterViewer viewer) {
- super();
- this.fViewer = viewer;
- }
-
- @Override
- public void dragStart(DragSourceEvent event) {
- ISelection s = fViewer.getTreeViewer().getSelection();
- LocalSelectionTransfer.getTransfer().setSelection(s);
- LocalSelectionTransfer.getTransfer().setSelectionSetTime(event.time & 0xFFFFFFFFL);
- }
-
- @Override
- public void dragSetData(DragSourceEvent event) {
- event.data = LocalSelectionTransfer.getTransfer().getSelection();
- }
-
- @Override
- public void dragFinished(DragSourceEvent event) {
- if (event.detail == DND.DROP_MOVE) {
- IStructuredSelection selection = (IStructuredSelection) LocalSelectionTransfer.getTransfer().getSelection();
- for (Object data : selection.toList()) {
- if (data instanceof ITmfFilterTreeNode) {
- ITmfFilterTreeNode e = (ITmfFilterTreeNode) data;
- e.remove();
- fViewer.refresh();
- }
- }
- }
- LocalSelectionTransfer.getTransfer().setSelection(null);
- LocalSelectionTransfer.getTransfer().setSelectionSetTime(0);
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/filter/FilterDropTargetAdapter.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/filter/FilterDropTargetAdapter.java
deleted file mode 100644
index dce866b2c8..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/filter/FilterDropTargetAdapter.java
+++ /dev/null
@@ -1,124 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 Kalray
- *
- * 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:
- * Xavier Raynaud - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.views.filter;
-
-
-import org.eclipse.jface.util.LocalSelectionTransfer;
-import org.eclipse.linuxtools.tmf.core.filter.model.ITmfFilterTreeNode;
-import org.eclipse.linuxtools.tmf.core.filter.model.TmfFilterNode;
-import org.eclipse.swt.dnd.DND;
-import org.eclipse.swt.dnd.DropTargetAdapter;
-import org.eclipse.swt.dnd.DropTargetEvent;
-import org.eclipse.swt.widgets.TreeItem;
-
-/**
- * DropTargetListener for filter view
- * @author Xavier Raynaud <xavier.raynaud@kalray.eu>
- */
-class FilterDropTargetAdapter extends DropTargetAdapter {
-
- private FilterViewer fViewer;
-
- /**
- * Constructor
- * @param viewer the content of the FilterView
- */
- public FilterDropTargetAdapter(FilterViewer viewer) {
- super();
- this.fViewer = viewer;
- }
-
- /**
- * Returns <code>true</code> if droppedNode is an ancestor of node.
- *
- * @param droppedNode
- * the ITmfFilterTreeNode to drop or paste
- * @param node
- * the ITmfFilterTreeNode receiving a new child
- * @return <code>true</code> if droppedNode is and ancestor of node,
- * <code>false</code> otherwise.
- */
- private static boolean isAncestor(ITmfFilterTreeNode droppedNode, ITmfFilterTreeNode node) {
- ITmfFilterTreeNode tmp = node;
-
- while (tmp != null) {
- ITmfFilterTreeNode n = tmp.getParent();
- if (n == droppedNode) {
- return true;
- }
- tmp = n;
- }
- return false;
- }
-
- @Override
- public void dropAccept(DropTargetEvent event) {
- ITmfFilterTreeNode treeNodeToDrop = null;
- if (LocalSelectionTransfer.getTransfer().isSupportedType(event.currentDataType)) {
- treeNodeToDrop = FilterEditUtils.getTransferredTreeNode();
- }
- if (treeNodeToDrop == null) {
- // should never occur
- event.detail = DND.DROP_NONE;
- return;
- }
- if (event.item instanceof TreeItem) {
- Object data = event.item.getData();
- if (data instanceof ITmfFilterTreeNode) {
- ITmfFilterTreeNode node = (ITmfFilterTreeNode) data;
- if (node.getValidChildren().contains(treeNodeToDrop.getNodeName())) {
- if (isAncestor(treeNodeToDrop, node) && event.detail != DND.DROP_COPY) {
- // do nothing in this case
- event.detail = DND.DROP_NONE;
- }
- return;
- }
- }
- } else { // accept only TmfFilterNode
- if (!TmfFilterNode.NODE_NAME.equals(treeNodeToDrop.getNodeName())) {
- event.detail = DND.DROP_NONE;
- }
- return;
- }
- event.detail = DND.DROP_NONE;
- return;
- }
-
- @Override
- public void drop(DropTargetEvent event) {
- ITmfFilterTreeNode treeNodeToDrop = FilterEditUtils.getTransferredTreeNode();
- if (event.item instanceof TreeItem) {
- Object data = event.item.getData();
- if (data instanceof ITmfFilterTreeNode) {
- ITmfFilterTreeNode node = (ITmfFilterTreeNode) data;
- if (node.getValidChildren().contains(treeNodeToDrop.getNodeName())) {
- treeNodeToDrop = treeNodeToDrop.clone();
- node.addChild(treeNodeToDrop);
- fViewer.refresh();
- fViewer.setSelection(treeNodeToDrop, true);
- return;
- }
- }
- } else { // accept only TmfFilterNode
- if (TmfFilterNode.NODE_NAME.equals(treeNodeToDrop.getNodeName())) {
- ITmfFilterTreeNode root = fViewer.getInput();
- treeNodeToDrop = treeNodeToDrop.clone();
- root.addChild(treeNodeToDrop);
- fViewer.refresh();
- fViewer.setSelection(treeNodeToDrop, true);
- return;
- }
- }
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/filter/FilterEditUtils.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/filter/FilterEditUtils.java
deleted file mode 100644
index 679c115411..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/filter/FilterEditUtils.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 Kalray
- *
- * 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:
- * Xavier Raynaud - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.views.filter;
-
-import org.eclipse.jface.util.LocalSelectionTransfer;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.linuxtools.tmf.core.filter.model.ITmfFilterTreeNode;
-
-/**
- * Utilities for cut/copy/paste/dnd in filter view
- * @author Xavier Raynaud <xavier.raynaud@kalray.eu>
- */
-class FilterEditUtils {
-
- /**
- * Gets the ITmfFilterTreeNode in LocalSelectionTransfer, if any
- * @return a ITmfFilterTreeNode or <code>null</code>
- */
- public static ITmfFilterTreeNode getTransferredTreeNode() {
- ITmfFilterTreeNode treeNodeToDrop = null;
- ISelection sel = LocalSelectionTransfer.getTransfer().getSelection();
- if (sel instanceof IStructuredSelection) {
- IStructuredSelection selection = (IStructuredSelection) sel;
- for (Object data : selection.toList()) {
- if (!(data instanceof ITmfFilterTreeNode)) {
- return null;
- } else if (treeNodeToDrop != null) {
- // should never occur, since tree has SWT.SINGLE style
- return null;
- } else {
- treeNodeToDrop = (ITmfFilterTreeNode) data;
- }
- }
- }
- return treeNodeToDrop;
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/filter/FilterManager.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/filter/FilterManager.java
deleted file mode 100644
index db6b551de8..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/filter/FilterManager.java
+++ /dev/null
@@ -1,78 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010, 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:
- * Patrick Tasse - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.views.filter;
-
-import java.io.FileNotFoundException;
-import java.io.IOException;
-
-import javax.xml.parsers.ParserConfigurationException;
-
-import org.eclipse.linuxtools.internal.tmf.ui.Activator;
-import org.eclipse.linuxtools.tmf.core.filter.model.ITmfFilterTreeNode;
-import org.eclipse.linuxtools.tmf.core.filter.model.TmfFilterRootNode;
-import org.eclipse.linuxtools.tmf.core.filter.xml.TmfFilterXMLParser;
-import org.eclipse.linuxtools.tmf.core.filter.xml.TmfFilterXMLWriter;
-import org.xml.sax.SAXException;
-
-/**
- * Central filter manager
- *
- * @version 1.0
- * @author Patrick Tasse
- */
-public class FilterManager {
-
- private static final String SAVED_FILTERS_FILE_NAME = "saved_filters.xml"; //$NON-NLS-1$
- private static final String SAVED_FILTERS_PATH_NAME =
- Activator.getDefault().getStateLocation().addTrailingSeparator().append(SAVED_FILTERS_FILE_NAME).toString();
-
- private static ITmfFilterTreeNode fRoot = new TmfFilterRootNode();
- static {
- try {
- fRoot = new TmfFilterXMLParser(SAVED_FILTERS_PATH_NAME).getTree();
- } catch (FileNotFoundException e) {
- } catch (SAXException e) {
- Activator.getDefault().logError("Error parsing saved filter xml file: " + SAVED_FILTERS_PATH_NAME, e); //$NON-NLS-1$
- } catch (IOException e) {
- Activator.getDefault().logError("Error parsing saved filter xml file: " + SAVED_FILTERS_PATH_NAME, e); //$NON-NLS-1$
- }
- }
-
- /**
- * Retrieve the currently saved filters
- *
- * @return The array of filters
- */
- public static ITmfFilterTreeNode[] getSavedFilters() {
- return fRoot.clone().getChildren();
- }
-
- /**
- * Set the passed filters as the currently saved ones.
- *
- * @param filters
- * The filters to save
- */
- public static void setSavedFilters(ITmfFilterTreeNode[] filters) {
- fRoot = new TmfFilterRootNode();
- for (ITmfFilterTreeNode filter : filters) {
- fRoot.addChild(filter.clone());
- }
- try {
- TmfFilterXMLWriter writerXML = new TmfFilterXMLWriter(fRoot);
- writerXML.saveTree(SAVED_FILTERS_PATH_NAME);
- } catch (ParserConfigurationException e) {
- Activator.getDefault().logError("Error saving filter xml file: " + SAVED_FILTERS_PATH_NAME, e); //$NON-NLS-1$
- }
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/filter/FilterTreeContentProvider.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/filter/FilterTreeContentProvider.java
deleted file mode 100644
index 326e43dcca..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/filter/FilterTreeContentProvider.java
+++ /dev/null
@@ -1,71 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010, 2013 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:
- * Yuriy Vashchuk - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.views.filter;
-
-import java.util.ArrayList;
-
-import org.eclipse.jface.viewers.ITreeContentProvider;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.linuxtools.tmf.core.filter.model.ITmfFilterTreeNode;
-
-/**
- * This is the Content Provider of our tree
- *
- * @version 1.0
- * @author Yuriy Vashchuk
- */
-public class FilterTreeContentProvider implements ITreeContentProvider {
-
- @Override
- public void dispose() {
- // TODO Auto-generated method stub
- }
-
- @Override
- public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
- // TODO Auto-generated method stub
- }
-
- @Override
- public Object[] getElements(Object inputElement) {
- if (inputElement instanceof ITmfFilterTreeNode) {
- ArrayList<ITmfFilterTreeNode> result = new ArrayList<>();
- for (int i = 0; i < ((ITmfFilterTreeNode) inputElement).getChildrenCount(); i++) {
- result.add(((ITmfFilterTreeNode) inputElement).getChild(i));
- }
-
- return result.toArray();
- }
- return null;
- }
-
- @Override
- public Object[] getChildren(Object parentElement) {
- ArrayList<ITmfFilterTreeNode> result = new ArrayList<>();
- for (int i = 0; i < ((ITmfFilterTreeNode) parentElement).getChildrenCount(); i++) {
- result.add(((ITmfFilterTreeNode) parentElement).getChild(i));
- }
- return result.toArray();
- }
-
- @Override
- public Object getParent(Object element) {
- return ((ITmfFilterTreeNode) element).getParent();
- }
-
- @Override
- public boolean hasChildren(Object element) {
- return ((ITmfFilterTreeNode) element).hasChildren();
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/filter/FilterTreeLabelProvider.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/filter/FilterTreeLabelProvider.java
deleted file mode 100644
index 4657a34b32..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/filter/FilterTreeLabelProvider.java
+++ /dev/null
@@ -1,126 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010, 2013 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:
- * Yuriy Vashchuk - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.views.filter;
-
-import org.eclipse.jface.viewers.ILabelProvider;
-import org.eclipse.jface.viewers.ILabelProviderListener;
-import org.eclipse.linuxtools.tmf.core.filter.model.TmfFilterAndNode;
-import org.eclipse.linuxtools.tmf.core.filter.model.TmfFilterCompareNode;
-import org.eclipse.linuxtools.tmf.core.filter.model.TmfFilterCompareNode.Type;
-import org.eclipse.linuxtools.tmf.core.filter.model.TmfFilterContainsNode;
-import org.eclipse.linuxtools.tmf.core.filter.model.TmfFilterEqualsNode;
-import org.eclipse.linuxtools.tmf.core.filter.model.TmfFilterEventTypeNode;
-import org.eclipse.linuxtools.tmf.core.filter.model.TmfFilterMatchesNode;
-import org.eclipse.linuxtools.tmf.core.filter.model.TmfFilterNode;
-import org.eclipse.linuxtools.tmf.core.filter.model.TmfFilterOrNode;
-import org.eclipse.swt.graphics.Image;
-
-/**
- * This is the Label Provider for our Filter Tree
- *
- * @version 1.0
- * @author Yuriy Vashchuk
- */
-public class FilterTreeLabelProvider implements ILabelProvider {
-
- @Override
- public void addListener(ILabelProviderListener listener) {
- // TODO Auto-generated method stub
- }
-
- @Override
- public void dispose() {
- // TODO Auto-generated method stub
- }
-
- @Override
- public boolean isLabelProperty(Object element, String property) {
- // TODO Auto-generated method stub
- return false;
- }
-
- @Override
- public void removeListener(ILabelProviderListener listener) {
- // TODO Auto-generated method stub
- }
-
- @Override
- public Image getImage(Object element) {
- // TODO Auto-generated method stub
- return null;
- }
-
- @Override
- public String getText(Object element) {
- String label = null;
-
- if (element instanceof TmfFilterNode) {
-
- TmfFilterNode node = (TmfFilterNode) element;
- label = node.getNodeName() + " " + node.getFilterName(); //$NON-NLS-1$
-
- } else if (element instanceof TmfFilterEventTypeNode) {
-
- TmfFilterEventTypeNode node = (TmfFilterEventTypeNode) element;
- label = "WITH " + node.getNodeName() + (node.getName() != null ? " " + node.getName() : ""); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-
- } else if (element instanceof TmfFilterAndNode) {
-
- TmfFilterAndNode node = (TmfFilterAndNode) element;
- label = (node.isNot() ? "NOT " : "") + node.getNodeName(); //$NON-NLS-1$ //$NON-NLS-2$
-
- } else if (element instanceof TmfFilterOrNode) {
-
- TmfFilterOrNode node = (TmfFilterOrNode) element;
- label = (node.isNot() ? "NOT " : "") + node.getNodeName(); //$NON-NLS-1$ //$NON-NLS-2$
-
- } else if (element instanceof TmfFilterContainsNode) {
-
- TmfFilterContainsNode node = (TmfFilterContainsNode) element;
- label = (node.isNot() ? "NOT " : "") + //$NON-NLS-1$ //$NON-NLS-2$
- (node.getField() != null ? node.getField() + " " : "") + //$NON-NLS-1$ //$NON-NLS-2$
- node.getNodeName() +
- (node.getValue() != null && node.getValue().length() > 0 ? " \"" + node.getValue() + "\"" : ""); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-
- } else if (element instanceof TmfFilterEqualsNode) {
-
- TmfFilterEqualsNode node = (TmfFilterEqualsNode) element;
- label = (node.isNot() ? "NOT " : "") + //$NON-NLS-1$ //$NON-NLS-2$
- (node.getField() != null ? node.getField() + " " : "") + //$NON-NLS-1$ //$NON-NLS-2$
- node.getNodeName() +
- (node.getValue() != null && node.getValue().length() > 0 ? " \"" + node.getValue() + "\"" : ""); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-
- } else if (element instanceof TmfFilterMatchesNode) {
-
- TmfFilterMatchesNode node = (TmfFilterMatchesNode) element;
- label = (node.isNot() ? "NOT " : "") + //$NON-NLS-1$ //$NON-NLS-2$
- (node.getField() != null ? node.getField() + " " : "") + //$NON-NLS-1$ //$NON-NLS-2$
- node.getNodeName() +
- (node.getRegex() != null && node.getRegex().length() > 0 ? " \"" + node.getRegex() + "\"" : ""); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-
- } else if (element instanceof TmfFilterCompareNode) {
-
- TmfFilterCompareNode node = (TmfFilterCompareNode) element;
- label = (node.isNot() ? "NOT " : "") + //$NON-NLS-1$ //$NON-NLS-2$
- (node.getField() != null ? node.getField() + " " : "") + //$NON-NLS-1$ //$NON-NLS-2$
- (node.getResult() < 0 ? "<" : (node.getResult() > 0 ? ">" : "=")) + //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- (node.getValue() != null && node.getValue().length() > 0 ?
- (node.getType() == Type.ALPHA ? " \"" + node.getValue() + "\"" : //$NON-NLS-1$ //$NON-NLS-2$
- (node.getType() == Type.TIMESTAMP ? " [" + node.getValue() + "]" : //$NON-NLS-1$ //$NON-NLS-2$
- " " + node.getValue())) : ""); //$NON-NLS-1$//$NON-NLS-2$
-
- }
- return label;
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/filter/FilterView.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/filter/FilterView.java
deleted file mode 100644
index 4def5201fb..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/filter/FilterView.java
+++ /dev/null
@@ -1,322 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010, 2013 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:
- * Yuriy Vashchuk - Initial API and implementation
- * Xavier Raynaud - add cut/copy/paste/dnd support
- * based on Francois Chouinard ProjectView code.
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.views.filter;
-
-import java.io.IOException;
-
-import javax.xml.parsers.ParserConfigurationException;
-
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IWorkspace;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.jdt.annotation.NonNull;
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.action.IToolBarManager;
-import org.eclipse.jface.action.MenuManager;
-import org.eclipse.jface.action.Separator;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.viewers.ISelectionChangedListener;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.SelectionChangedEvent;
-import org.eclipse.linuxtools.internal.tmf.ui.Activator;
-import org.eclipse.linuxtools.internal.tmf.ui.Messages;
-import org.eclipse.linuxtools.tmf.core.filter.model.ITmfFilterTreeNode;
-import org.eclipse.linuxtools.tmf.core.filter.model.TmfFilterNode;
-import org.eclipse.linuxtools.tmf.core.filter.model.TmfFilterRootNode;
-import org.eclipse.linuxtools.tmf.core.filter.xml.TmfFilterXMLParser;
-import org.eclipse.linuxtools.tmf.core.filter.xml.TmfFilterXMLWriter;
-import org.eclipse.linuxtools.tmf.ui.views.TmfView;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.FileDialog;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.IActionBars;
-import org.xml.sax.SAXException;
-
-/**
- * View that contain UI to the TMF filter.
- *
- * @version 1.0
- * @author Yuriy Vashchuk
- */
-public class FilterView extends TmfView {
-
- /** ID for the Filter view */
- public static final @NonNull String ID = "org.eclipse.linuxtools.tmf.ui.views.filter"; //$NON-NLS-1$
-
- private static final Image SAVE_IMAGE = Activator.getDefault().getImageFromPath("/icons/elcl16/save_button.gif"); //$NON-NLS-1$
- private static final Image ADD_IMAGE = Activator.getDefault().getImageFromPath("/icons/elcl16/add_button.gif"); //$NON-NLS-1$
- private static final Image IMPORT_IMAGE = Activator.getDefault().getImageFromPath("/icons/elcl16/import_button.gif"); //$NON-NLS-1$
- private static final Image EXPORT_IMAGE = Activator.getDefault().getImageFromPath("/icons/elcl16/export_button.gif"); //$NON-NLS-1$
-
- // ------------------------------------------------------------------------
- // Main data structures
- // ------------------------------------------------------------------------
-
- private FilterViewer fViewer;
- private final ITmfFilterTreeNode fRoot;
-
- private final IWorkspace fWorkspace;
-
- private SaveAction fSaveAction;
- private AddAction fAddAction;
- private ExportAction fExportAction;
- private ImportAction fImportAction;
-
- /**
- * Getter for the Filter Tree Root
- *
- * @return The root of builded tree
- */
- public ITmfFilterTreeNode getFilterRoot() {
- return fRoot;
- }
-
- // ------------------------------------------------------------------------
- // Constructor
- // ------------------------------------------------------------------------
-
- /**
- * Default Constructor
- */
- public FilterView() {
- super("Filter"); //$NON-NLS-1$
-
- fWorkspace = ResourcesPlugin.getWorkspace();
- try {
- fWorkspace.getRoot().refreshLocal(IResource.DEPTH_INFINITE, null);
- } catch (CoreException e) {
- Activator.getDefault().logError("Error refreshing workspace", e); //$NON-NLS-1$
- }
-
- fRoot = new TmfFilterRootNode();
- for (ITmfFilterTreeNode node : FilterManager.getSavedFilters()) {
- fRoot.addChild(node);
- }
- }
-
- /**
- * Add a filter to the FilterView and select it. This does not modify the
- * XML, which must be done manually. If an equivalent filter is already in
- * the FilterView, it is not added.
- *
- * @param filter
- * The filter to add.
- * @since 3.1
- */
- public void addFilter(ITmfFilterTreeNode filter) {
- if (filter == null) {
- return;
- }
- ITmfFilterTreeNode root = fViewer.getInput();
- for (ITmfFilterTreeNode node : root.getChildren()) {
- // Use toString() equality because equals() is not implemented
- if (node.toString().equals(filter.toString())) {
- fViewer.setSelection(node);
- return;
- }
- }
- root.addChild(filter);
- fViewer.setInput(root);
- fViewer.setSelection(filter);
- }
-
- /**
- * Refresh the tree widget
- */
- public void refresh() {
- fViewer.refresh();
- }
-
- /**
- * Setter for selection
- *
- * @param node
- * The node to select
- */
- public void setSelection(ITmfFilterTreeNode node) {
- fViewer.setSelection(node, true);
- }
-
- // ------------------------------------------------------------------------
- // ViewPart
- // ------------------------------------------------------------------------
-
- @Override
- public void createPartControl(Composite parent) {
-
- fViewer = new FilterViewer(parent, SWT.NONE);
- fViewer.setInput(fRoot);
-
- contributeToActionBars();
-
- fViewer.addSelectionChangedListener(new ISelectionChangedListener() {
- @Override
- public void selectionChanged(SelectionChangedEvent event) {
- if (!(event.getSelection().isEmpty()) && event.getSelection() instanceof IStructuredSelection) {
- fExportAction.setEnabled(true);
- } else {
- fExportAction.setEnabled(false);
- }
- }
- });
- this.getSite().setSelectionProvider(fViewer.getTreeViewer());
-
- MenuManager menuManager = fViewer.getMenuManager();
- this.getSite().registerContextMenu(menuManager, fViewer.getTreeViewer());
- }
-
- /**
- * @return the ITmfFilterTreeNode currently selected
- */
- ITmfFilterTreeNode getSelection() {
- return fViewer.getSelection();
- }
-
- @Override
- public void setFocus() {
- fViewer.setFocus();
- }
-
- @Override
- public String toString() {
- return "[FilterView]"; //$NON-NLS-1$
- }
-
- /**
- * @return whether the tree is in focus or not
- */
- boolean isTreeInFocus() {
- return fViewer.isTreeInFocus();
- }
-
- /**
- * Builds the menu toolbar
- */
- private void contributeToActionBars() {
- IActionBars bars = getViewSite().getActionBars();
- // fillLocalPullDown(bars.getMenuManager());
- fillLocalToolBar(bars.getToolBarManager());
- }
-
- /**
- * Build the popup menu
- *
- * @param manager
- * The manager to build
- */
- private void fillLocalToolBar(IToolBarManager manager) {
-
- fSaveAction = new SaveAction();
- fSaveAction.setImageDescriptor(ImageDescriptor.createFromImage(SAVE_IMAGE));
- fSaveAction.setToolTipText(Messages.FilterView_SaveActionToolTipText);
-
- fAddAction = new AddAction();
- fAddAction.setImageDescriptor(ImageDescriptor.createFromImage(ADD_IMAGE));
- fAddAction.setToolTipText(Messages.FilterView_AddActionToolTipText);
-
- fExportAction = new ExportAction();
- fExportAction.setImageDescriptor(ImageDescriptor.createFromImage(EXPORT_IMAGE));
- fExportAction.setToolTipText(Messages.FilterView_ExportActionToolTipText);
-
- fImportAction = new ImportAction();
- fImportAction.setImageDescriptor(ImageDescriptor.createFromImage(IMPORT_IMAGE));
- fImportAction.setToolTipText(Messages.FilterView_ImportActionToolTipText);
-
- manager.add(fSaveAction);
- manager.add(new Separator("add_delete")); //$NON-NLS-1$
- manager.add(fAddAction);
- manager.add(new Separator("edit")); //$NON-NLS-1$
- manager.add(new Separator());
- manager.add(fExportAction);
- manager.add(fImportAction);
- }
-
- private class SaveAction extends Action {
- @Override
- public void run() {
- FilterManager.setSavedFilters(fRoot.getChildren());
- }
- }
-
- private class AddAction extends Action {
- @Override
- public void run() {
-
- TmfFilterNode newNode = new TmfFilterNode(fRoot, ""); //$NON-NLS-1$
- refresh();
- setSelection(newNode);
- }
- }
-
- private class ExportAction extends Action {
- @Override
- public void run() {
- try {
- FileDialog dlg = new FileDialog(new Shell(), SWT.SAVE);
- dlg.setFilterNames(new String[] { Messages.FilterView_FileDialogFilterName + " (*.xml)" }); //$NON-NLS-1$
- dlg.setFilterExtensions(new String[] { "*.xml" }); //$NON-NLS-1$
-
- String fn = dlg.open();
- if (fn != null) {
- TmfFilterXMLWriter writerXML = new TmfFilterXMLWriter(fRoot);
- writerXML.saveTree(fn);
- }
-
- } catch (ParserConfigurationException e) {
- Activator.getDefault().logError("Error parsing filter xml file", e); //$NON-NLS-1$
- }
- }
- }
-
- private class ImportAction extends Action {
- @Override
- public void run() {
- if (fViewer != null) {
- ITmfFilterTreeNode root = null;
- try {
- FileDialog dlg = new FileDialog(new Shell(), SWT.OPEN);
- dlg.setFilterNames(new String[] { Messages.FilterView_FileDialogFilterName + " (*.xml)" }); //$NON-NLS-1$
- dlg.setFilterExtensions(new String[] { "*.xml" }); //$NON-NLS-1$
-
- TmfFilterXMLParser parserXML = null;
- String fn = dlg.open();
- if (fn != null) {
- parserXML = new TmfFilterXMLParser(fn);
- root = parserXML.getTree();
- }
-
- } catch (SAXException e) {
- Activator.getDefault().logError("Error importing filter xml file", e); //$NON-NLS-1$
- } catch (IOException e) {
- Activator.getDefault().logError("Error importing filter xml file", e); //$NON-NLS-1$
- }
-
- if (root != null) {
- for (ITmfFilterTreeNode node : root.getChildren()) {
- if (node instanceof TmfFilterNode) {
- fRoot.addChild(node);
- refresh();
- fViewer.setSelection(node);
- }
- }
- }
- }
- }
- }
-
-} \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/filter/FilterViewer.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/filter/FilterViewer.java
deleted file mode 100644
index a55008c446..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/filter/FilterViewer.java
+++ /dev/null
@@ -1,1163 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010, 2014 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:
- * Patrick Tasse - Initial API and implementation
- * Xavier Raynaud - add cut/copy/paste/dnd support
- * Vincent Perot - Add subfield filtering
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.views.filter;
-
-import java.util.ArrayList;
-import java.util.Map;
-import java.util.Map.Entry;
-import java.util.TreeMap;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.action.IMenuListener;
-import org.eclipse.jface.action.IMenuManager;
-import org.eclipse.jface.action.MenuManager;
-import org.eclipse.jface.action.Separator;
-import org.eclipse.jface.util.LocalSelectionTransfer;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.ISelectionChangedListener;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.SelectionChangedEvent;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.jface.viewers.TreeViewer;
-import org.eclipse.linuxtools.internal.tmf.ui.Messages;
-import org.eclipse.linuxtools.tmf.core.event.ITmfEvent;
-import org.eclipse.linuxtools.tmf.core.event.ITmfEventType;
-import org.eclipse.linuxtools.tmf.core.filter.model.ITmfFilterTreeNode;
-import org.eclipse.linuxtools.tmf.core.filter.model.TmfFilterAndNode;
-import org.eclipse.linuxtools.tmf.core.filter.model.TmfFilterCompareNode;
-import org.eclipse.linuxtools.tmf.core.filter.model.TmfFilterCompareNode.Type;
-import org.eclipse.linuxtools.tmf.core.filter.model.TmfFilterContainsNode;
-import org.eclipse.linuxtools.tmf.core.filter.model.TmfFilterEqualsNode;
-import org.eclipse.linuxtools.tmf.core.filter.model.TmfFilterEventTypeNode;
-import org.eclipse.linuxtools.tmf.core.filter.model.TmfFilterMatchesNode;
-import org.eclipse.linuxtools.tmf.core.filter.model.TmfFilterNode;
-import org.eclipse.linuxtools.tmf.core.filter.model.TmfFilterOrNode;
-import org.eclipse.linuxtools.tmf.core.filter.model.TmfFilterRootNode;
-import org.eclipse.linuxtools.tmf.core.filter.model.TmfFilterTreeNode;
-import org.eclipse.linuxtools.tmf.core.parsers.custom.CustomTraceDefinition;
-import org.eclipse.linuxtools.tmf.core.parsers.custom.CustomTraceDefinition.OutputColumn;
-import org.eclipse.linuxtools.tmf.core.parsers.custom.CustomTxtEvent;
-import org.eclipse.linuxtools.tmf.core.parsers.custom.CustomTxtTraceDefinition;
-import org.eclipse.linuxtools.tmf.core.parsers.custom.CustomXmlEvent;
-import org.eclipse.linuxtools.tmf.core.parsers.custom.CustomXmlTraceDefinition;
-import org.eclipse.linuxtools.tmf.core.project.model.TmfTraceType;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.SashForm;
-import org.eclipse.swt.dnd.DND;
-import org.eclipse.swt.dnd.DragSource;
-import org.eclipse.swt.dnd.DropTarget;
-import org.eclipse.swt.dnd.Transfer;
-import org.eclipse.swt.events.FocusEvent;
-import org.eclipse.swt.events.FocusListener;
-import org.eclipse.swt.events.ModifyEvent;
-import org.eclipse.swt.events.ModifyListener;
-import org.eclipse.swt.events.PaintEvent;
-import org.eclipse.swt.events.PaintListener;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.layout.FillLayout;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Combo;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Menu;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.swt.widgets.TreeItem;
-import org.eclipse.ui.ISharedImages;
-import org.eclipse.ui.IWorkbenchCommandConstants;
-import org.eclipse.ui.PlatformUI;
-
-class FilterViewer extends Composite {
-
- private static final String SEP = " : "; //$NON-NLS-1$
-
- private TreeViewer fViewer;
-
- private Composite fComposite;
- private MenuManager fMenuManager;
-
- private boolean fIsDialog = false;
-
- public FilterViewer(Composite parent, int style) {
- this(parent, style, false);
- }
-
- public FilterViewer(Composite parent, int style, boolean isDialog) {
- super(parent, style);
-
- this.fIsDialog = isDialog;
-
- setLayout(new FillLayout());
- GridData gd = new GridData(SWT.FILL, SWT.FILL, true, true);
- setLayoutData(gd);
-
- final SashForm sash = new SashForm(this, SWT.HORIZONTAL);
-
- // Create the tree viewer to display the filter tree
- fViewer = new TreeViewer(sash, SWT.NONE);
- fViewer.setContentProvider(new FilterTreeContentProvider());
- fViewer.setLabelProvider(new FilterTreeLabelProvider());
- fViewer.setInput(new TmfFilterRootNode());
-
- // Create the empty filter node properties panel
- fComposite = new Composite(sash, SWT.NONE);
- GridLayout gl = new GridLayout();
- gl.marginHeight = 0;
- gl.marginWidth = 0;
- fComposite.setLayout(gl);
-
- createContextMenu();
-
- fViewer.addSelectionChangedListener(new ISelectionChangedListener() {
- @Override
- public void selectionChanged(SelectionChangedEvent event) {
- if (!(event.getSelection().isEmpty()) && event.getSelection() instanceof IStructuredSelection) {
- // Update the filter node properties panel to the selection
- IStructuredSelection selection = (IStructuredSelection) event.getSelection();
- ITmfFilterTreeNode node = (ITmfFilterTreeNode) selection.getFirstElement();
- updateFilterNodeComposite(node);
- // Highlight the selection's children
- highlightTreeItems(fViewer.getTree().getSelection()[0].getItems());
- } else {
- updateFilterNodeComposite(null);
- }
- }
- });
-
- fViewer.getTree().addPaintListener(new PaintListener() {
- @Override
- public void paintControl(PaintEvent e) {
- TmfFilterTreeNode root = (TmfFilterTreeNode) fViewer.getInput();
- if (root == null || root.getChildrenCount() == 0) {
- e.gc.setForeground(Display.getDefault().getSystemColor(SWT.COLOR_BLACK));
- e.gc.drawText(Messages.FilterViewer_EmptyTreeHintText, 5, 0);
- }
- }
- });
-
- int operations = DND.DROP_MOVE | DND.DROP_COPY;
- DragSource dragSource = new org.eclipse.swt.dnd.DragSource(fViewer.getTree(), operations);
- dragSource.setTransfer(new Transfer[] { LocalSelectionTransfer.getTransfer() });
- dragSource.addDragListener(new FilterDragSourceAdapter(this));
- DropTarget dropTarget = new DropTarget(fViewer.getTree(), operations);
- dropTarget.setTransfer(new Transfer[] { LocalSelectionTransfer.getTransfer() });
- dropTarget.addDropListener(new FilterDropTargetAdapter(this));
- }
-
- /**
- * Create the context menu for the tree viewer
- */
- private void createContextMenu() {
- // Adds root context menu
- fMenuManager = new MenuManager();
- fMenuManager.setRemoveAllWhenShown(true);
- fMenuManager.addMenuListener(new IMenuListener() {
- @Override
- public void menuAboutToShow(IMenuManager manager) {
- fillContextMenu(manager);
- }
- });
-
- // Context
- Menu contextMenu = fMenuManager.createContextMenu(fViewer.getTree());
-
- // Publish it
- fViewer.getTree().setMenu(contextMenu);
- }
-
- public MenuManager getMenuManager() {
- return fMenuManager;
- }
-
- /**
- * Fill the context menu for the tree viewer.
- *
- * @param manager
- * The menu manager
- */
- protected void fillContextMenu(IMenuManager manager) {
- final ISelection selection = fViewer.getSelection();
- ITmfFilterTreeNode filterTreeNode = null;
- if (selection instanceof StructuredSelection) {
- Object element = ((StructuredSelection) selection).getFirstElement();
- if (element instanceof ITmfFilterTreeNode) {
- filterTreeNode = (ITmfFilterTreeNode) element;
- }
- }
-
- final ITmfFilterTreeNode selectedNode = filterTreeNode;
- if (selectedNode != null) {
- fillContextMenuForNode(selectedNode, manager);
- }
-
- manager.add(new Separator("delete")); //$NON-NLS-1$
-
- if (fIsDialog && (selectedNode != null)) {
- Action deleteAction = new Action(Messages.FilterViewer_DeleteActionText) {
- @Override
- public void run() {
- selectedNode.remove();
- fViewer.refresh();
- }
- };
- deleteAction.setImageDescriptor(PlatformUI.getWorkbench().getSharedImages().getImageDescriptor(ISharedImages.IMG_TOOL_DELETE));
- deleteAction.setActionDefinitionId(IWorkbenchCommandConstants.EDIT_DELETE);
- deleteAction.setAccelerator(SWT.DEL);
- manager.add(deleteAction);
- }
- manager.add(new Separator("edit")); //$NON-NLS-1$
-
- if (fViewer.getInput() instanceof TmfFilterRootNode || filterTreeNode == null) {
- manager.add(new Separator());
- ITmfFilterTreeNode root = (ITmfFilterTreeNode) fViewer.getInput();
- fillContextMenuForNode(root, manager);
- }
- }
-
- /**
- * Fill the context menu with the valid children of the provided node
- *
- * @param node
- * The target node
- * @param manager
- * The menu manager
- */
- protected void fillContextMenuForNode(final ITmfFilterTreeNode node, IMenuManager manager) {
- for (final String child : node.getValidChildren()) {
- final Action action = new Action() {
- @Override
- public void run() {
- ITmfFilterTreeNode newNode = null;
- if (TmfFilterNode.NODE_NAME.equals(child)) {
- newNode = new TmfFilterNode(node, ""); //$NON-NLS-1$
- } else if (TmfFilterEventTypeNode.NODE_NAME.equals(child)) {
- newNode = new TmfFilterEventTypeNode(node);
- } else if (TmfFilterAndNode.NODE_NAME.equals(child)) {
- newNode = new TmfFilterAndNode(node);
- } else if (TmfFilterOrNode.NODE_NAME.equals(child)) {
- newNode = new TmfFilterOrNode(node);
- } else if (TmfFilterContainsNode.NODE_NAME.equals(child)) {
- newNode = new TmfFilterContainsNode(node);
- } else if (TmfFilterEqualsNode.NODE_NAME.equals(child)) {
- newNode = new TmfFilterEqualsNode(node);
- } else if (TmfFilterMatchesNode.NODE_NAME.equals(child)) {
- newNode = new TmfFilterMatchesNode(node);
- } else if (TmfFilterCompareNode.NODE_NAME.equals(child)) {
- newNode = new TmfFilterCompareNode(node);
- }
- if (newNode != null) {
- fViewer.refresh();
- fViewer.setSelection(new StructuredSelection(newNode), true);
- }
- }
- };
- if (TmfFilterNode.NODE_NAME.equals(child)) {
- action.setText(Messages.FilterViewer_NewPrefix + " " + child); //$NON-NLS-1$
- } else {
- action.setText(child);
- }
- manager.add(action);
- }
- }
-
- /**
- * Create the appropriate filter node properties composite
- */
- private void updateFilterNodeComposite(ITmfFilterTreeNode node) {
- for (Control control : fComposite.getChildren()) {
- control.dispose();
- }
-
- if (node instanceof TmfFilterNode) {
- new FilterNodeComposite(fComposite, (TmfFilterNode) node);
- } else if (node instanceof TmfFilterEventTypeNode) {
- new FilterEventTypeNodeComposite(fComposite, (TmfFilterEventTypeNode) node);
- } else if (node instanceof TmfFilterAndNode) {
- new FilterAndNodeComposite(fComposite, (TmfFilterAndNode) node);
- } else if (node instanceof TmfFilterOrNode) {
- new FilterOrNodeComposite(fComposite, (TmfFilterOrNode) node);
- } else if (node instanceof TmfFilterContainsNode) {
- new FilterContainsNodeComposite(fComposite, (TmfFilterContainsNode) node);
- } else if (node instanceof TmfFilterEqualsNode) {
- new FilterEqualsNodeComposite(fComposite, (TmfFilterEqualsNode) node);
- } else if (node instanceof TmfFilterMatchesNode) {
- new FilterMatchesNodeComposite(fComposite, (TmfFilterMatchesNode) node);
- } else if (node instanceof TmfFilterCompareNode) {
- new FilterCompareNodeComposite(fComposite, (TmfFilterCompareNode) node);
- } else {
- new FilterBaseNodeComposite(fComposite);
- }
- fComposite.layout();
- }
-
- /**
- * Highlight the provided tree items
- */
- private void highlightTreeItems(TreeItem[] items) {
- resetTreeItems(fViewer.getTree().getItems());
- for (TreeItem item : items) {
- item.setForeground(Display.getCurrent().getSystemColor(SWT.COLOR_BLUE));
- }
-
- }
-
- /**
- * Reset the provided tree items (remove highlight)
- */
- private void resetTreeItems(TreeItem[] items) {
- for (TreeItem item : items) {
- item.setForeground(Display.getCurrent().getSystemColor(SWT.COLOR_BLACK));
- resetTreeItems(item.getItems());
- }
- }
-
- public void setInput(ITmfFilterTreeNode root) {
- fViewer.setInput(root);
- fViewer.expandAll();
-
- updateFilterNodeComposite(null);
- }
-
- public ITmfFilterTreeNode getInput() {
- return (ITmfFilterTreeNode) fViewer.getInput();
- }
-
- public void refresh() {
- fViewer.refresh();
- }
-
- public void setSelection(ITmfFilterTreeNode node, boolean reveal) {
- fViewer.setSelection(new StructuredSelection(node), reveal);
- }
-
- public void setSelection(ITmfFilterTreeNode node) {
- fViewer.setSelection(new StructuredSelection(node));
- }
-
- public ITmfFilterTreeNode getSelection() {
- final ISelection selection = fViewer.getSelection();
- ITmfFilterTreeNode filterTreeNode = null;
- if (selection instanceof StructuredSelection) {
- Object element = ((StructuredSelection) selection).getFirstElement();
- if (element instanceof ITmfFilterTreeNode) {
- filterTreeNode = (ITmfFilterTreeNode) element;
- }
- }
-
- final ITmfFilterTreeNode selectedNode = filterTreeNode;
- return selectedNode;
- }
-
- @Override
- public boolean setFocus() {
- return fViewer.getControl().setFocus();
- }
-
- /**
- * @return whether the tree is in focus or not
- */
- boolean isTreeInFocus() {
- return fViewer.getControl().isFocusControl();
- }
-
- public void addSelectionChangedListener(ISelectionChangedListener listener) {
- fViewer.addSelectionChangedListener(listener);
- }
-
- public void removeSelectionChangedListener(ISelectionChangedListener listener) {
- fViewer.removeSelectionChangedListener(listener);
- }
-
- /**
- * Gets the TreeViewer displaying filters
- *
- * @return a {@link TreeViewer}
- */
- TreeViewer getTreeViewer() {
- return fViewer;
- }
-
- private class FilterBaseNodeComposite extends Composite {
-
- FilterBaseNodeComposite(Composite parent) {
- super(parent, SWT.NONE);
- setLayout(new GridLayout(2, false));
- setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
- setBackground(Display.getCurrent().getSystemColor(SWT.COLOR_WHITE));
- }
-
- protected Map<String, Object> getEventsTypeMap() {
- Map<String, Object> eventsTypeMap = new TreeMap<>();
- for (IConfigurationElement ce : TmfTraceType.getTypeElements()) {
- String categoryPrefix = ""; //$NON-NLS-1$
- String categoryId = ce.getAttribute(TmfTraceType.CATEGORY_ATTR);
- if (categoryId != null) {
- categoryPrefix = TmfTraceType.getCategoryName(categoryId) + SEP;
- }
- String text = categoryPrefix + ce.getAttribute(TmfTraceType.NAME_ATTR);
- eventsTypeMap.put(text, ce);
- }
- for (CustomTxtTraceDefinition def : CustomTxtTraceDefinition.loadAll()) {
- String text = def.categoryName + SEP + def.definitionName;
- eventsTypeMap.put(text, def);
- }
- for (CustomXmlTraceDefinition def : CustomXmlTraceDefinition.loadAll()) {
- String text = def.categoryName + SEP + def.definitionName;
- eventsTypeMap.put(text, def);
- }
- return eventsTypeMap;
- }
-
- protected String[] getFieldsList(ITmfFilterTreeNode node) {
- ArrayList<String> fieldsList = new ArrayList<>();
- ITmfFilterTreeNode curNode = node;
- while (curNode != null) {
- if (curNode instanceof TmfFilterEventTypeNode) {
- TmfFilterEventTypeNode eventTypeNode = (TmfFilterEventTypeNode) curNode;
- for (IConfigurationElement ce : TmfTraceType.getTypeElements()) {
- if (ce.getAttribute(TmfTraceType.EVENT_TYPE_ATTR).equals(eventTypeNode.getEventType())) {
- try {
- ITmfEvent event = (ITmfEvent) ce.createExecutableExtension(TmfTraceType.EVENT_TYPE_ATTR);
- ITmfEventType eventType = event.getType();
- if (eventType != null) {
- for (String field : eventType.getRootField().getFieldNames()) {
- fieldsList.add(field);
- }
- }
- } catch (CoreException e) {
- }
- if (fieldsList.size() == 0) {
- fieldsList.add(ITmfEvent.EVENT_FIELD_TIMESTAMP);
- fieldsList.add(ITmfEvent.EVENT_FIELD_SOURCE);
- fieldsList.add(ITmfEvent.EVENT_FIELD_TYPE);
- fieldsList.add(ITmfEvent.EVENT_FIELD_REFERENCE);
- fieldsList.add(ITmfEvent.EVENT_FIELD_CONTENT);
- }
- return fieldsList.toArray(new String[0]);
- }
- }
- if (eventTypeNode.getEventType() != null && eventTypeNode.getEventType().startsWith(CustomTxtEvent.class.getCanonicalName())) {
- for (CustomTxtTraceDefinition def : CustomTxtTraceDefinition.loadAll()) {
- if (eventTypeNode.getEventType().equals(CustomTxtEvent.class.getCanonicalName() + ':' + def.categoryName + ':' + def.definitionName)) {
- for (OutputColumn output : def.outputs) {
- fieldsList.add(output.name);
- }
- return fieldsList.toArray(new String[0]);
- }
- }
- }
- if (eventTypeNode.getEventType() != null && eventTypeNode.getEventType().startsWith(CustomXmlEvent.class.getCanonicalName())) {
- for (CustomXmlTraceDefinition def : CustomXmlTraceDefinition.loadAll()) {
- if (eventTypeNode.getEventType().equals(CustomXmlEvent.class.getCanonicalName() + ':' + def.categoryName + ':' + def.definitionName)) {
- for (OutputColumn output : def.outputs) {
- fieldsList.add(output.name);
- }
- return fieldsList.toArray(new String[0]);
- }
- }
- }
- }
- curNode = curNode.getParent();
- }
-
- fieldsList.add(Messages.FilterViewer_CommonCategory);
- fieldsList.add(ITmfEvent.EVENT_FIELD_TIMESTAMP);
- fieldsList.add(ITmfEvent.EVENT_FIELD_SOURCE);
- fieldsList.add(ITmfEvent.EVENT_FIELD_TYPE);
- fieldsList.add(ITmfEvent.EVENT_FIELD_REFERENCE);
- fieldsList.add(ITmfEvent.EVENT_FIELD_CONTENT);
- fieldsList.add(""); //$NON-NLS-1$
-
- for (Entry<String, Object> eventTypeEntry : getEventsTypeMap().entrySet()) {
- Object value = eventTypeEntry.getValue();
- if (value instanceof IConfigurationElement) {
- IConfigurationElement ce = (IConfigurationElement) value;
- try {
- ITmfEvent event = (ITmfEvent) ce.createExecutableExtension(TmfTraceType.EVENT_TYPE_ATTR);
- ITmfEventType eventType = event.getType();
- if (eventType != null && eventType.getFieldNames().size() > 0) {
- String categoryId = ce.getAttribute(TmfTraceType.CATEGORY_ATTR);
- if (categoryId != null) {
- fieldsList.add('[' + TmfTraceType.getCategoryName(categoryId) + SEP
- + ce.getAttribute(TmfTraceType.NAME_ATTR) + ']');
- } else {
- fieldsList.add('[' + ce.getAttribute(TmfTraceType.NAME_ATTR) + ']');
- }
- for (String field : eventType.getFieldNames()) {
- fieldsList.add(field);
- }
- fieldsList.add(""); //$NON-NLS-1$
- }
- } catch (CoreException e) {
- }
- } else if (value instanceof CustomTraceDefinition) {
- CustomTraceDefinition def = (CustomTraceDefinition) value;
- if (def.outputs.size() > 0) {
- fieldsList.add('[' + def.categoryName + SEP + def.definitionName + ']');
- for (OutputColumn output : def.outputs) {
- fieldsList.add(output.name);
- }
- fieldsList.add(""); //$NON-NLS-1$
- }
- }
- }
- return fieldsList.toArray(new String[0]);
- }
- }
-
- private class FilterNodeComposite extends FilterBaseNodeComposite {
- TmfFilterNode fNode;
- Text fNameText;
-
- FilterNodeComposite(Composite parent, TmfFilterNode node) {
- super(parent);
- fNode = node;
-
- Label label = new Label(this, SWT.NONE);
- label.setBackground(Display.getCurrent().getSystemColor(SWT.COLOR_WHITE));
- label.setText(Messages.FilterViewer_NameLabel);
-
- fNameText = new Text(this, SWT.BORDER);
- fNameText.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false));
- if (node.getFilterName() != null && node.getFilterName().length() > 0) {
- fNameText.setText(node.getFilterName());
- } else {
- fNameText.setForeground(Display.getCurrent().getSystemColor(SWT.COLOR_GRAY));
- fNameText.setText(Messages.FilterViewer_FilterNameHint);
- }
- fNameText.addFocusListener(new FocusListener() {
- @Override
- public void focusLost(FocusEvent e) {
- if (fNode.getFilterName() == null || fNode.getFilterName().length() == 0) {
- fNameText.setForeground(Display.getCurrent().getSystemColor(SWT.COLOR_GRAY));
- fNameText.setText(Messages.FilterViewer_FilterNameHint);
- }
- }
-
- @Override
- public void focusGained(FocusEvent e) {
- if (fNameText.getForeground().equals(Display.getCurrent().getSystemColor(SWT.COLOR_GRAY))) {
- fNameText.setText(""); //$NON-NLS-1$
- }
- fNameText.setForeground(Display.getCurrent().getSystemColor(SWT.COLOR_BLACK));
- }
- });
- fNameText.addModifyListener(new ModifyListener() {
- @Override
- public void modifyText(ModifyEvent e) {
- if (!fNameText.getForeground().equals(Display.getCurrent().getSystemColor(SWT.COLOR_GRAY))) {
- fNode.setFilterName(fNameText.getText());
- fViewer.refresh(fNode);
- }
- }
- });
- }
- }
-
- private class FilterEventTypeNodeComposite extends FilterBaseNodeComposite {
- TmfFilterEventTypeNode fNode;
- Combo fTypeCombo;
- Map<String, Object> fEventsTypeMap;
-
- FilterEventTypeNodeComposite(Composite parent, TmfFilterEventTypeNode node) {
- super(parent);
- fNode = node;
- fEventsTypeMap = getEventsTypeMap();
-
- Label label = new Label(this, SWT.NONE);
- label.setBackground(Display.getCurrent().getSystemColor(SWT.COLOR_WHITE));
- label.setText(Messages.FilterViewer_TypeLabel);
-
- fTypeCombo = new Combo(this, SWT.DROP_DOWN | SWT.READ_ONLY);
- fTypeCombo.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false));
- fTypeCombo.setItems(fEventsTypeMap.keySet().toArray(new String[0]));
- if (fNode.getEventType() != null) {
- fTypeCombo.setText(fNode.getName());
- }
- fTypeCombo.addModifyListener(new ModifyListener() {
- @Override
- public void modifyText(ModifyEvent e) {
- for (Entry<String, Object> eventTypeEntry : fEventsTypeMap.entrySet()) {
- if (eventTypeEntry.getKey().equals(fTypeCombo.getText())) {
- Object value = eventTypeEntry.getValue();
- if (value instanceof IConfigurationElement) {
- IConfigurationElement ce = (IConfigurationElement) value;
- fNode.setEventType(ce.getAttribute(TmfTraceType.EVENT_TYPE_ATTR));
- String categoryId = ce.getAttribute(TmfTraceType.CATEGORY_ATTR);
- if (categoryId != null) {
- fNode.setName(TmfTraceType.getCategoryName(categoryId) + SEP
- + ce.getAttribute(TmfTraceType.NAME_ATTR));
- } else {
- fNode.setName(ce.getAttribute(TmfTraceType.NAME_ATTR));
- }
- } else if (value instanceof CustomTxtTraceDefinition) {
- CustomTxtTraceDefinition def = (CustomTxtTraceDefinition) value;
- fNode.setEventType(CustomTxtEvent.class.getCanonicalName() + ':' + def.categoryName + ':' + def.definitionName);
- fNode.setName(def.categoryName + SEP + def.definitionName);
- } else if (value instanceof CustomXmlTraceDefinition) {
- CustomXmlTraceDefinition def = (CustomXmlTraceDefinition) value;
- fNode.setEventType(CustomXmlEvent.class.getCanonicalName() + ':' + def.categoryName + ':' + def.definitionName);
- fNode.setName(def.categoryName + SEP + def.definitionName);
- }
- fViewer.refresh(fNode);
- break;
- }
- }
- }
- });
- }
- }
-
- private class FilterAndNodeComposite extends FilterBaseNodeComposite {
- TmfFilterAndNode fNode;
- Button fNotButton;
-
- FilterAndNodeComposite(Composite parent, TmfFilterAndNode node) {
- super(parent);
- fNode = node;
-
- Label label = new Label(this, SWT.NONE);
- label.setBackground(Display.getCurrent().getSystemColor(SWT.COLOR_WHITE));
- label.setText(Messages.FilterViewer_NotLabel);
-
- fNotButton = new Button(this, SWT.CHECK);
- fNotButton.setBackground(Display.getCurrent().getSystemColor(SWT.COLOR_WHITE));
- fNotButton.setSelection(fNode.isNot());
- fNotButton.addSelectionListener(new SelectionAdapter() {
- @Override
- public void widgetSelected(SelectionEvent e) {
- fNode.setNot(fNotButton.getSelection());
- fViewer.refresh(fNode);
- }
- });
- }
- }
-
- private class FilterOrNodeComposite extends FilterBaseNodeComposite {
- TmfFilterOrNode fNode;
- Button fNotButton;
-
- FilterOrNodeComposite(Composite parent, TmfFilterOrNode node) {
- super(parent);
- fNode = node;
-
- Label label = new Label(this, SWT.NONE);
- label.setBackground(Display.getCurrent().getSystemColor(SWT.COLOR_WHITE));
- label.setText(Messages.FilterViewer_NotLabel);
-
- fNotButton = new Button(this, SWT.CHECK);
- fNotButton.setBackground(Display.getCurrent().getSystemColor(SWT.COLOR_WHITE));
- fNotButton.setSelection(fNode.isNot());
- fNotButton.addSelectionListener(new SelectionAdapter() {
- @Override
- public void widgetSelected(SelectionEvent e) {
- fNode.setNot(fNotButton.getSelection());
- fViewer.refresh(fNode);
- }
- });
- }
- }
-
- private class FilterContainsNodeComposite extends FilterBaseNodeComposite {
- TmfFilterContainsNode fNode;
- Button fNotButton;
- Combo fFieldCombo;
- Text fValueText;
- Button fIgnoreCaseButton;
-
- FilterContainsNodeComposite(Composite parent, TmfFilterContainsNode node) {
- super(parent);
- fNode = node;
-
- Label label = new Label(this, SWT.NONE);
- label.setBackground(Display.getCurrent().getSystemColor(SWT.COLOR_WHITE));
- label.setText(Messages.FilterViewer_NotLabel);
-
- fNotButton = new Button(this, SWT.CHECK);
- fNotButton.setBackground(Display.getCurrent().getSystemColor(SWT.COLOR_WHITE));
- fNotButton.setSelection(fNode.isNot());
- fNotButton.addSelectionListener(new SelectionAdapter() {
- @Override
- public void widgetSelected(SelectionEvent e) {
- fNode.setNot(fNotButton.getSelection());
- fViewer.refresh(fNode);
- }
- });
-
- label = new Label(this, SWT.NONE);
- label.setBackground(Display.getCurrent().getSystemColor(SWT.COLOR_WHITE));
- label.setText(Messages.FilterViewer_FieldLabel);
-
- fFieldCombo = new Combo(this, SWT.DROP_DOWN);
- fFieldCombo.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false));
- fFieldCombo.setItems(getFieldsList(fNode));
- fFieldCombo.setToolTipText(Messages.FilterViewer_Subfilter_ToolTip);
- if (fNode.getField() != null) {
- fFieldCombo.setText(fNode.getField());
- }
- fFieldCombo.addModifyListener(new ModifyListener() {
- @Override
- public void modifyText(ModifyEvent e) {
- fNode.setField(fFieldCombo.getText());
- fViewer.refresh(fNode);
- }
- });
-
- label = new Label(this, SWT.NONE);
- label.setBackground(Display.getCurrent().getSystemColor(SWT.COLOR_WHITE));
- label.setText(Messages.FilterViewer_ValueLabel);
-
- fValueText = new Text(this, SWT.BORDER);
- fValueText.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false));
- if (node.getValue() != null && node.getValue().length() > 0) {
- fValueText.setText(node.getValue());
- } else {
- fValueText.setForeground(Display.getCurrent().getSystemColor(SWT.COLOR_GRAY));
- fValueText.setText(Messages.FilterViewer_ValueHint);
- }
- fValueText.addFocusListener(new FocusListener() {
- @Override
- public void focusLost(FocusEvent e) {
- if (fNode.getValue() == null || fNode.getValue().length() == 0) {
- fValueText.setForeground(Display.getCurrent().getSystemColor(SWT.COLOR_GRAY));
- fValueText.setText(Messages.FilterViewer_ValueHint);
- }
- }
-
- @Override
- public void focusGained(FocusEvent e) {
- if (fValueText.getForeground().equals(Display.getCurrent().getSystemColor(SWT.COLOR_GRAY))) {
- fValueText.setText(""); //$NON-NLS-1$
- }
- fValueText.setForeground(Display.getCurrent().getSystemColor(SWT.COLOR_BLACK));
- }
- });
- fValueText.addModifyListener(new ModifyListener() {
- @Override
- public void modifyText(ModifyEvent e) {
- if (!fValueText.getForeground().equals(Display.getCurrent().getSystemColor(SWT.COLOR_GRAY))) {
- fNode.setValue(fValueText.getText());
- fViewer.refresh(fNode);
- }
- }
- });
-
- label = new Label(this, SWT.NONE);
- label.setBackground(Display.getCurrent().getSystemColor(SWT.COLOR_WHITE));
-
- fIgnoreCaseButton = new Button(this, SWT.CHECK);
- fIgnoreCaseButton.setSelection(fNode.isIgnoreCase());
- fIgnoreCaseButton.setText(Messages.FilterViewer_IgnoreCaseButtonText);
- fIgnoreCaseButton.setBackground(Display.getCurrent().getSystemColor(SWT.COLOR_WHITE));
- fIgnoreCaseButton.addSelectionListener(new SelectionAdapter() {
- @Override
- public void widgetSelected(SelectionEvent e) {
- fNode.setIgnoreCase(fIgnoreCaseButton.getSelection());
- fViewer.refresh(fNode);
- }
- });
- }
- }
-
- private class FilterEqualsNodeComposite extends FilterBaseNodeComposite {
- TmfFilterEqualsNode fNode;
- Button fNotButton;
- Combo fFieldCombo;
- Text fValueText;
- Button fIgnoreCaseButton;
-
- FilterEqualsNodeComposite(Composite parent, TmfFilterEqualsNode node) {
- super(parent);
- fNode = node;
-
- Label label = new Label(this, SWT.NONE);
- label.setBackground(Display.getCurrent().getSystemColor(SWT.COLOR_WHITE));
- label.setText(Messages.FilterViewer_NotLabel);
-
- fNotButton = new Button(this, SWT.CHECK);
- fNotButton.setBackground(Display.getCurrent().getSystemColor(SWT.COLOR_WHITE));
- fNotButton.setSelection(fNode.isNot());
- fNotButton.addSelectionListener(new SelectionAdapter() {
- @Override
- public void widgetSelected(SelectionEvent e) {
- fNode.setNot(fNotButton.getSelection());
- fViewer.refresh(fNode);
- }
- });
-
- label = new Label(this, SWT.NONE);
- label.setBackground(Display.getCurrent().getSystemColor(SWT.COLOR_WHITE));
- label.setText(Messages.FilterViewer_FieldLabel);
-
- fFieldCombo = new Combo(this, SWT.DROP_DOWN);
- fFieldCombo.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false));
- fFieldCombo.setItems(getFieldsList(fNode));
- fFieldCombo.setToolTipText(Messages.FilterViewer_Subfilter_ToolTip);
- if (fNode.getField() != null) {
- fFieldCombo.setText(fNode.getField());
- }
- fFieldCombo.addModifyListener(new ModifyListener() {
- @Override
- public void modifyText(ModifyEvent e) {
- fNode.setField(fFieldCombo.getText());
- fViewer.refresh(fNode);
- }
- });
-
- label = new Label(this, SWT.NONE);
- label.setBackground(Display.getCurrent().getSystemColor(SWT.COLOR_WHITE));
- label.setText(Messages.FilterViewer_ValueLabel);
-
- fValueText = new Text(this, SWT.BORDER);
- fValueText.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false));
- if (node.getValue() != null && node.getValue().length() > 0) {
- fValueText.setText(node.getValue());
- } else {
- fValueText.setForeground(Display.getCurrent().getSystemColor(SWT.COLOR_GRAY));
- fValueText.setText(Messages.FilterViewer_ValueHint);
- }
- fValueText.addFocusListener(new FocusListener() {
- @Override
- public void focusLost(FocusEvent e) {
- if (fNode.getValue() == null || fNode.getValue().length() == 0) {
- fValueText.setForeground(Display.getCurrent().getSystemColor(SWT.COLOR_GRAY));
- fValueText.setText(Messages.FilterViewer_ValueHint);
- }
- }
-
- @Override
- public void focusGained(FocusEvent e) {
- if (fValueText.getForeground().equals(Display.getCurrent().getSystemColor(SWT.COLOR_GRAY))) {
- fValueText.setText(""); //$NON-NLS-1$
- }
- fValueText.setForeground(Display.getCurrent().getSystemColor(SWT.COLOR_BLACK));
- }
- });
- fValueText.addModifyListener(new ModifyListener() {
- @Override
- public void modifyText(ModifyEvent e) {
- if (!fValueText.getForeground().equals(Display.getCurrent().getSystemColor(SWT.COLOR_GRAY))) {
- fNode.setValue(fValueText.getText());
- fViewer.refresh(fNode);
- }
- }
- });
-
- label = new Label(this, SWT.NONE);
- label.setBackground(Display.getCurrent().getSystemColor(SWT.COLOR_WHITE));
-
- fIgnoreCaseButton = new Button(this, SWT.CHECK);
- fIgnoreCaseButton.setSelection(fNode.isIgnoreCase());
- fIgnoreCaseButton.setText(Messages.FilterViewer_IgnoreCaseButtonText);
- fIgnoreCaseButton.setBackground(Display.getCurrent().getSystemColor(SWT.COLOR_WHITE));
- fIgnoreCaseButton.addSelectionListener(new SelectionAdapter() {
- @Override
- public void widgetSelected(SelectionEvent e) {
- fNode.setIgnoreCase(fIgnoreCaseButton.getSelection());
- fViewer.refresh(fNode);
- }
- });
- }
- }
-
- private class FilterMatchesNodeComposite extends FilterBaseNodeComposite {
- TmfFilterMatchesNode fNode;
- Button fNotButton;
- Combo fFieldCombo;
- Text fRegexText;
-
- FilterMatchesNodeComposite(Composite parent, TmfFilterMatchesNode node) {
- super(parent);
- fNode = node;
-
- Label label = new Label(this, SWT.NONE);
- label.setBackground(Display.getCurrent().getSystemColor(SWT.COLOR_WHITE));
- label.setText(Messages.FilterViewer_NotLabel);
-
- fNotButton = new Button(this, SWT.CHECK);
- fNotButton.setBackground(Display.getCurrent().getSystemColor(SWT.COLOR_WHITE));
- fNotButton.setSelection(fNode.isNot());
- fNotButton.addSelectionListener(new SelectionAdapter() {
- @Override
- public void widgetSelected(SelectionEvent e) {
- fNode.setNot(fNotButton.getSelection());
- fViewer.refresh(fNode);
- }
- });
-
- label = new Label(this, SWT.NONE);
- label.setBackground(Display.getCurrent().getSystemColor(SWT.COLOR_WHITE));
- label.setText(Messages.FilterViewer_FieldLabel);
-
- fFieldCombo = new Combo(this, SWT.DROP_DOWN);
- fFieldCombo.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false));
- fFieldCombo.setItems(getFieldsList(fNode));
- fFieldCombo.setToolTipText(Messages.FilterViewer_Subfilter_ToolTip);
- if (fNode.getField() != null) {
- fFieldCombo.setText(fNode.getField());
- }
- fFieldCombo.addModifyListener(new ModifyListener() {
- @Override
- public void modifyText(ModifyEvent e) {
- fNode.setField(fFieldCombo.getText());
- fViewer.refresh(fNode);
- }
- });
-
- label = new Label(this, SWT.NONE);
- label.setBackground(Display.getCurrent().getSystemColor(SWT.COLOR_WHITE));
- label.setText(Messages.FilterViewer_RegexLabel);
-
- fRegexText = new Text(this, SWT.BORDER);
- fRegexText.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false));
- if (node.getRegex() != null && node.getRegex().length() > 0) {
- fRegexText.setText(node.getRegex());
- } else {
- fRegexText.setForeground(Display.getCurrent().getSystemColor(SWT.COLOR_GRAY));
- fRegexText.setText(Messages.FilterViewer_RegexHint);
- }
- fRegexText.addFocusListener(new FocusListener() {
- @Override
- public void focusLost(FocusEvent e) {
- if (fNode.getRegex() == null || fNode.getRegex().length() == 0) {
- fRegexText.setForeground(Display.getCurrent().getSystemColor(SWT.COLOR_GRAY));
- fRegexText.setText(Messages.FilterViewer_RegexHint);
- }
- }
-
- @Override
- public void focusGained(FocusEvent e) {
- if (fRegexText.getForeground().equals(Display.getCurrent().getSystemColor(SWT.COLOR_GRAY))) {
- fRegexText.setText(""); //$NON-NLS-1$
- }
- fRegexText.setForeground(Display.getCurrent().getSystemColor(SWT.COLOR_BLACK));
- }
- });
- fRegexText.addModifyListener(new ModifyListener() {
- @Override
- public void modifyText(ModifyEvent e) {
- if (!fRegexText.getForeground().equals(Display.getCurrent().getSystemColor(SWT.COLOR_GRAY))) {
- fNode.setRegex(fRegexText.getText());
- fViewer.refresh(fNode);
- }
- }
- });
- }
- }
-
- private class FilterCompareNodeComposite extends FilterBaseNodeComposite {
- TmfFilterCompareNode fNode;
- Button fNotButton;
- Combo fFieldCombo;
- Text fValueText;
- Button fLTButton;
- Button fEQButton;
- Button fGTButton;
- Button fNumButton;
- Button fAlphaButton;
- Button fTimestampButton;
-
- FilterCompareNodeComposite(Composite parent, TmfFilterCompareNode node) {
- super(parent);
- fNode = node;
-
- Label label = new Label(this, SWT.NONE);
- label.setBackground(Display.getCurrent().getSystemColor(SWT.COLOR_WHITE));
- label.setText(Messages.FilterViewer_NotLabel);
-
- fNotButton = new Button(this, SWT.CHECK);
- fNotButton.setBackground(Display.getCurrent().getSystemColor(SWT.COLOR_WHITE));
- fNotButton.setSelection(fNode.isNot());
- fNotButton.addSelectionListener(new SelectionAdapter() {
- @Override
- public void widgetSelected(SelectionEvent e) {
- fNode.setNot(fNotButton.getSelection());
- fViewer.refresh(fNode);
- }
- });
-
- label = new Label(this, SWT.NONE);
- label.setBackground(Display.getCurrent().getSystemColor(SWT.COLOR_WHITE));
- label.setText(Messages.FilterViewer_FieldLabel);
-
- fFieldCombo = new Combo(this, SWT.DROP_DOWN);
- fFieldCombo.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false));
- fFieldCombo.setItems(getFieldsList(fNode));
- fFieldCombo.setToolTipText(Messages.FilterViewer_Subfilter_ToolTip);
- if (fNode.getField() != null) {
- fFieldCombo.setText(fNode.getField());
- }
- fFieldCombo.addModifyListener(new ModifyListener() {
- @Override
- public void modifyText(ModifyEvent e) {
- fNode.setField(fFieldCombo.getText());
- fViewer.refresh(fNode);
- }
- });
-
- label = new Label(this, SWT.NONE);
- label.setBackground(Display.getCurrent().getSystemColor(SWT.COLOR_WHITE));
- label.setText(Messages.FilterViewer_ResultLabel);
-
- Composite resultGroup = new Composite(this, SWT.NONE);
- GridLayout rggl = new GridLayout(3, true);
- rggl.marginHeight = 0;
- rggl.marginWidth = 0;
- resultGroup.setLayout(rggl);
- resultGroup.setBackground(Display.getCurrent().getSystemColor(SWT.COLOR_WHITE));
-
- fLTButton = new Button(resultGroup, SWT.RADIO);
- fLTButton.setSelection(fNode.getResult() < 0);
- fLTButton.setText("<"); //$NON-NLS-1$
- fLTButton.setBackground(Display.getCurrent().getSystemColor(SWT.COLOR_WHITE));
- fLTButton.addSelectionListener(new SelectionAdapter() {
- @Override
- public void widgetSelected(SelectionEvent e) {
- if (fLTButton.getSelection()) {
- fNode.setResult(-1);
- }
- fViewer.refresh(fNode);
- }
- });
-
- fEQButton = new Button(resultGroup, SWT.RADIO);
- fEQButton.setSelection(fNode.getResult() == 0);
- fEQButton.setText("="); //$NON-NLS-1$
- fEQButton.setBackground(Display.getCurrent().getSystemColor(SWT.COLOR_WHITE));
- fEQButton.addSelectionListener(new SelectionAdapter() {
- @Override
- public void widgetSelected(SelectionEvent e) {
- if (fEQButton.getSelection()) {
- fNode.setResult(0);
- }
- fViewer.refresh(fNode);
- }
- });
-
- fGTButton = new Button(resultGroup, SWT.RADIO);
- fGTButton.setSelection(fNode.getResult() > 0);
- fGTButton.setText(">"); //$NON-NLS-1$
- fGTButton.setBackground(Display.getCurrent().getSystemColor(SWT.COLOR_WHITE));
- fGTButton.addSelectionListener(new SelectionAdapter() {
- @Override
- public void widgetSelected(SelectionEvent e) {
- if (fGTButton.getSelection()) {
- fNode.setResult(1);
- }
- fViewer.refresh(fNode);
- }
- });
-
- label = new Label(this, SWT.NONE);
- label.setBackground(Display.getCurrent().getSystemColor(SWT.COLOR_WHITE));
- label.setText(Messages.FilterViewer_TypeLabel);
-
- Composite typeGroup = new Composite(this, SWT.NONE);
- GridLayout tggl = new GridLayout(3, false);
- tggl.marginHeight = 0;
- tggl.marginWidth = 0;
- typeGroup.setLayout(tggl);
- typeGroup.setBackground(Display.getCurrent().getSystemColor(SWT.COLOR_WHITE));
-
- fNumButton = new Button(typeGroup, SWT.RADIO);
- fNumButton.setSelection(fNode.getType() == Type.NUM);
- fNumButton.setText(Messages.FilterViewer_NumButtonText);
- fNumButton.setBackground(Display.getCurrent().getSystemColor(SWT.COLOR_WHITE));
- fNumButton.addSelectionListener(new SelectionAdapter() {
- @Override
- public void widgetSelected(SelectionEvent e) {
- if (fNumButton.getSelection()) {
- fNode.setType(Type.NUM);
- }
- fViewer.refresh(fNode);
- }
- });
-
- fAlphaButton = new Button(typeGroup, SWT.RADIO);
- fAlphaButton.setSelection(fNode.getType() == Type.ALPHA);
- fAlphaButton.setText(Messages.FilterViewer_AlphaButtonText);
- fAlphaButton.setBackground(Display.getCurrent().getSystemColor(SWT.COLOR_WHITE));
- fAlphaButton.addSelectionListener(new SelectionAdapter() {
- @Override
- public void widgetSelected(SelectionEvent e) {
- if (fAlphaButton.getSelection()) {
- fNode.setType(Type.ALPHA);
- }
- fViewer.refresh(fNode);
- }
- });
-
- fTimestampButton = new Button(typeGroup, SWT.RADIO);
- fTimestampButton.setSelection(fNode.getType() == Type.TIMESTAMP);
- fTimestampButton.setText(Messages.FilterViewer_TimestampButtonText);
- fTimestampButton.setBackground(Display.getCurrent().getSystemColor(SWT.COLOR_WHITE));
- fTimestampButton.addSelectionListener(new SelectionAdapter() {
- @Override
- public void widgetSelected(SelectionEvent e) {
- if (fTimestampButton.getSelection()) {
- fNode.setType(Type.TIMESTAMP);
- }
- fViewer.refresh(fNode);
- }
- });
-
- label = new Label(this, SWT.NONE);
- label.setBackground(Display.getCurrent().getSystemColor(SWT.COLOR_WHITE));
- label.setText(Messages.FilterViewer_ValueLabel);
-
- fValueText = new Text(this, SWT.BORDER);
- fValueText.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false));
- if (node.getValue() != null && node.getValue().length() > 0) {
- fValueText.setText(node.getValue());
- } else {
- fValueText.setForeground(Display.getCurrent().getSystemColor(SWT.COLOR_GRAY));
- fValueText.setText(Messages.FilterViewer_ValueHint);
- }
- fValueText.addFocusListener(new FocusListener() {
- @Override
- public void focusLost(FocusEvent e) {
- if (fNode.getValue() == null || fNode.getValue().length() == 0) {
- fValueText.setForeground(Display.getCurrent().getSystemColor(SWT.COLOR_GRAY));
- fValueText.setText(Messages.FilterViewer_ValueHint);
- }
- }
-
- @Override
- public void focusGained(FocusEvent e) {
- if (fValueText.getForeground().equals(Display.getCurrent().getSystemColor(SWT.COLOR_GRAY))) {
- fValueText.setText(""); //$NON-NLS-1$
- }
- fValueText.setForeground(Display.getCurrent().getSystemColor(SWT.COLOR_BLACK));
- }
- });
- fValueText.addModifyListener(new ModifyListener() {
- @Override
- public void modifyText(ModifyEvent e) {
- if (!fValueText.getForeground().equals(Display.getCurrent().getSystemColor(SWT.COLOR_GRAY))) {
- fNode.setValue(fValueText.getText());
- fViewer.refresh(fNode);
- }
- }
- });
- }
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/filter/PasteHandler.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/filter/PasteHandler.java
deleted file mode 100644
index 24d37c2158..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/filter/PasteHandler.java
+++ /dev/null
@@ -1,90 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 Kalray
- *
- * 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:
- * Xavier Raynaud - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.views.filter;
-
-import org.eclipse.core.commands.AbstractHandler;
-import org.eclipse.core.commands.ExecutionEvent;
-import org.eclipse.core.commands.ExecutionException;
-import org.eclipse.linuxtools.tmf.core.filter.model.ITmfFilterTreeNode;
-import org.eclipse.linuxtools.tmf.core.filter.model.TmfFilterNode;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.PlatformUI;
-
-/**
- * Handler for paste command in filter view
- * @author Xavier Raynaud <xavier.raynaud@kalray.eu>
- * @since 3.0
- */
-public class PasteHandler extends AbstractHandler {
-
- @Override
- public Object execute(ExecutionEvent event) throws ExecutionException {
- // Check if we are closing down
- IWorkbenchWindow window = PlatformUI.getWorkbench().getActiveWorkbenchWindow();
- if (window == null) {
- return null;
- }
-
- // Get the selection
- IWorkbenchPage page = window.getActivePage();
- IWorkbenchPart part = page.getActivePart();
- if (!(part instanceof FilterView)) {
- return null;
- }
- FilterView v = (FilterView) part;
-
- ITmfFilterTreeNode objectToPaste = FilterEditUtils.getTransferredTreeNode();
- objectToPaste = objectToPaste.clone();
- ITmfFilterTreeNode sel = v.getSelection();
- if (sel == null || TmfFilterNode.NODE_NAME.equals(objectToPaste.getNodeName())) {
- sel = v.getFilterRoot();
- }
-
- sel.addChild(objectToPaste);
- v.refresh();
- v.setSelection(objectToPaste);
- return null;
- }
-
- @Override
- public boolean isEnabled() {
- // Check if we are closing down
- IWorkbenchWindow window = PlatformUI.getWorkbench().getActiveWorkbenchWindow();
- if (window == null) {
- return false;
- }
-
- // Get the selection
- IWorkbenchPage page = window.getActivePage();
- IWorkbenchPart part = page.getActivePart();
- if (!(part instanceof FilterView)) {
- return false;
- }
- FilterView v = (FilterView) part;
- ITmfFilterTreeNode sel = v.getSelection();
- if (sel == null) {
- sel = v.getFilterRoot();
- }
- ITmfFilterTreeNode objectToPaste = FilterEditUtils.getTransferredTreeNode();
- if (v.isTreeInFocus() &&
- objectToPaste != null &&
- (sel.getValidChildren().contains(objectToPaste.getNodeName())
- || TmfFilterNode.NODE_NAME.equals(objectToPaste.getNodeName()))) {
- return true;
- }
- return false;
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/histogram/FullTraceHistogram.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/histogram/FullTraceHistogram.java
deleted file mode 100644
index 1fa533bc8c..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/histogram/FullTraceHistogram.java
+++ /dev/null
@@ -1,224 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011, 2013 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
- * Bernd Hufmann - Changed to updated histogram data model
- * Patrick Tasse - Update for mouse wheel zoom
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.views.histogram;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.MouseEvent;
-import org.eclipse.swt.events.PaintEvent;
-import org.eclipse.swt.graphics.GC;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.widgets.Composite;
-
-/**
- * A histogram widget that displays the event distribution of a whole trace.
- * <p>
- * It also features a selected range window that can be dragged and zoomed.
- *
- * @version 1.1
- * @author Francois Chouinard
- */
-public class FullTraceHistogram extends Histogram {
-
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
-
- private final HistogramZoom fZoom;
-
- private long fRangeStartTime = 0L;
- private long fRangeDuration;
-
- // ------------------------------------------------------------------------
- // Construction
- // ------------------------------------------------------------------------
-
- /**
- * Full Constructor
- *
- * @param view A reference to the parent histogram view
- * @param parent A reference to the parent composite
- */
- public FullTraceHistogram(HistogramView view, Composite parent) {
- super(view, parent);
- fZoom = new HistogramZoom(this, getStartTime(), getTimeLimit());
- }
-
- @Override
- public void dispose() {
- super.dispose();
- }
-
- // ------------------------------------------------------------------------
- // Operations
- // ------------------------------------------------------------------------
-
- @Override
- public void clear() {
- fRangeStartTime = 0L;
- fRangeDuration = 0L;
- if (fZoom != null) {
- fZoom.setFullRange(0L, 0L);
- fZoom.setNewRange(0L, 0L);
- }
- super.clear();
- }
-
- /**
- * Sets the time range of the full histogram.
- *
- * @param startTime A start time
- * @param endTime A end time
- */
- public void setFullRange(long startTime, long endTime) {
- fZoom.setFullRange(startTime, endTime);
- fZoom.setNewRange(fRangeStartTime, fRangeDuration);
- }
-
- /**
- * Sets the selected time range.
- *
- * @param startTime The histogram start time
- * @param duration The histogram duration
- */
- public void setTimeRange(long startTime, long duration) {
- fRangeStartTime = startTime;
- fRangeDuration = duration;
- fZoom.setNewRange(fRangeStartTime, fRangeDuration);
- fDataModel.complete();
- }
-
- // ------------------------------------------------------------------------
- // MouseListener
- // ------------------------------------------------------------------------
-
- private int fStartDelta;
- private boolean fMouseMoved;
-
- @Override
- public void mouseDown(MouseEvent event) {
- if (fScaledData != null && fDragState == DRAG_NONE && fDataModel.getStartTime() < fDataModel.getEndTime()) {
- if (event.button == 2 || (event.button == 1 && (event.stateMask & SWT.MODIFIER_MASK) == SWT.CTRL)) {
- fDragState = DRAG_RANGE;
- fDragButton = event.button;
- int center = (int) (((fRangeStartTime + fRangeDuration / 2) - fScaledData.fFirstBucketTime) / fScaledData.fBucketDuration);
- fStartDelta = center - event.x;
- fMouseMoved = false;
- return;
- } else if (event.button == 3) {
- fDragState = DRAG_ZOOM;
- fDragButton = event.button;
- long time = Math.min(getTimestamp(event.x), getEndTime());
- if ((event.stateMask & SWT.MODIFIER_MASK) == SWT.SHIFT) {
- if (time < fRangeStartTime + fRangeDuration / 2) {
- fRangeStartTime = fRangeStartTime + fRangeDuration;
- }
- } else {
- fRangeStartTime = time;
- }
- fRangeDuration = time - fRangeStartTime;
- fCanvas.redraw();
- return;
- }
- }
- super.mouseDown(event);
- }
-
- @Override
- public void mouseUp(MouseEvent event) {
- if (fDragState == DRAG_RANGE && event.button == fDragButton) {
- fDragState = DRAG_NONE;
- fDragButton = 0;
- if (!fMouseMoved) {
- // if single click without move, center on the click
- long startTime = getTimestamp(event.x) - fRangeDuration / 2;
- fRangeStartTime = Math.max(getStartTime(), Math.min(getEndTime() - fRangeDuration, startTime));
- }
- ((HistogramView) fParentView).updateTimeRange(fRangeStartTime, fRangeStartTime + fRangeDuration);
- return;
- } else if (fDragState == DRAG_ZOOM && event.button == fDragButton) {
- fDragState = DRAG_NONE;
- fDragButton = 0;
- if (fRangeDuration < 0) {
- fRangeStartTime = fRangeStartTime + fRangeDuration;
- fRangeDuration = -fRangeDuration;
- }
- if (fRangeDuration > 0) {
- ((HistogramView) fParentView).updateTimeRange(fRangeStartTime, fRangeStartTime + fRangeDuration);
- } else {
- fRangeStartTime = fZoom.getStartTime();
- fRangeDuration = fZoom.getDuration();
- fCanvas.redraw();
- }
- return;
- }
- super.mouseUp(event);
- }
-
- // ------------------------------------------------------------------------
- // MouseMoveListener
- // ------------------------------------------------------------------------
-
- @Override
- public void mouseMove(MouseEvent event) {
- if (fDragState == DRAG_RANGE) {
- int center = event.x + fStartDelta;
- long newStart = getTimestamp(center) - fRangeDuration / 2;
- fRangeStartTime = Math.max(getStartTime(), Math.min(getEndTime() - fRangeDuration, newStart));
- fCanvas.redraw();
- fMouseMoved = true;
- return;
- } else if (fDragState == DRAG_ZOOM) {
- long endTime = Math.max(getStartTime(), Math.min(getEndTime(), getTimestamp(event.x)));
- fRangeDuration = endTime - fRangeStartTime;
- fCanvas.redraw();
- return;
- }
- super.mouseMove(event);
- }
-
- // ------------------------------------------------------------------------
- // PaintListener
- // ------------------------------------------------------------------------
-
- @Override
- public void paintControl(PaintEvent event) {
- super.paintControl(event);
-
- Image image = (Image) fCanvas.getData(IMAGE_KEY);
- assert image != null;
-
- Image rangeRectangleImage = new Image(image.getDevice(), image, SWT.IMAGE_COPY);
- GC rangeWindowGC = new GC(rangeRectangleImage);
-
- if ((fScaledData != null) && (fRangeDuration != 0 || fDragState == DRAG_ZOOM)) {
- drawTimeRangeWindow(rangeWindowGC, fRangeStartTime, fRangeDuration);
- }
-
- // Draws the buffer image onto the canvas.
- event.gc.drawImage(rangeRectangleImage, 0, 0);
-
- rangeWindowGC.dispose();
- rangeRectangleImage.dispose();
- }
-
- /**
- * Get the histogram zoom
- * @return the histogram zoom
- * @since 2.0
- */
- public HistogramZoom getZoom() {
- return fZoom;
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/histogram/Histogram.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/histogram/Histogram.java
deleted file mode 100644
index de0f720aeb..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/histogram/Histogram.java
+++ /dev/null
@@ -1,1045 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011, 2014 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
- * Bernd Hufmann - Changed to updated histogram data model
- * Francois Chouinard - Reformat histogram labels on format change
- * Patrick Tasse - Support selection range
- * Xavier Raynaud - Support multi-trace coloring
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.views.histogram;
-
-import org.eclipse.linuxtools.tmf.core.signal.TmfSignalHandler;
-import org.eclipse.linuxtools.tmf.core.signal.TmfSignalManager;
-import org.eclipse.linuxtools.tmf.core.signal.TmfTimestampFormatUpdateSignal;
-import org.eclipse.linuxtools.tmf.core.timestamp.ITmfTimestamp;
-import org.eclipse.linuxtools.tmf.core.timestamp.TmfTimestamp;
-import org.eclipse.linuxtools.tmf.core.timestamp.TmfTimestampDelta;
-import org.eclipse.linuxtools.tmf.core.timestamp.TmfTimestampFormat;
-import org.eclipse.linuxtools.tmf.ui.views.TmfView;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.ControlEvent;
-import org.eclipse.swt.events.ControlListener;
-import org.eclipse.swt.events.DisposeEvent;
-import org.eclipse.swt.events.DisposeListener;
-import org.eclipse.swt.events.KeyEvent;
-import org.eclipse.swt.events.KeyListener;
-import org.eclipse.swt.events.MouseEvent;
-import org.eclipse.swt.events.MouseListener;
-import org.eclipse.swt.events.MouseMoveListener;
-import org.eclipse.swt.events.MouseTrackListener;
-import org.eclipse.swt.events.MouseWheelListener;
-import org.eclipse.swt.events.PaintEvent;
-import org.eclipse.swt.events.PaintListener;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.graphics.Font;
-import org.eclipse.swt.graphics.FontData;
-import org.eclipse.swt.graphics.GC;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.layout.FillLayout;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Canvas;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Label;
-
-/**
- * Re-usable histogram widget.
- *
- * It has the following features:
- * <ul>
- * <li>Y-axis labels displaying min/max count values
- * <li>X-axis labels displaying time range
- * <li>a histogram displaying the distribution of values over time (note that
- * the histogram might not necessarily fill the whole canvas)
- * </ul>
- * The widget also has 2 'markers' to identify:
- * <ul>
- * <li>a red dashed line over the bar that contains the currently selected event
- * <li>a dark red dashed line that delimits the right end of the histogram (if
- * it doesn't fill the canvas)
- * </ul>
- * Clicking on the histogram will select the current event at the mouse
- * location.
- * <p>
- * Once the histogram is selected, there is some limited keyboard support:
- * <ul>
- * <li>Home: go to the first histogram bar
- * <li>End: go to the last histogram bar
- * <li>Left: go to the previous histogram
- * <li>Right: go to the next histogram bar
- * </ul>
- * Finally, when the mouse hovers over the histogram, a tool tip showing the
- * following information about the corresponding histogram bar time range:
- * <ul>
- * <li>start of the time range
- * <li>end of the time range
- * <li>number of events in that time range
- * </ul>
- *
- * @version 1.1
- * @author Francois Chouinard
- */
-public abstract class Histogram implements ControlListener, PaintListener, KeyListener, MouseListener, MouseMoveListener, MouseTrackListener, IHistogramModelListener {
-
- // ------------------------------------------------------------------------
- // Constants
- // ------------------------------------------------------------------------
-
- // Histogram colors
-
- // System colors, they do not need to be disposed
- private final Color fBackgroundColor = Display.getCurrent().getSystemColor(SWT.COLOR_WHITE);
- private final Color fSelectionForegroundColor = Display.getCurrent().getSystemColor(SWT.COLOR_BLUE);
- private final Color fSelectionBackgroundColor = Display.getCurrent().getSystemColor(SWT.COLOR_WIDGET_BACKGROUND);
- private final Color fLastEventColor = Display.getCurrent().getSystemColor(SWT.COLOR_DARK_RED);
-
- // Application colors, they need to be disposed
- private final Color[] fHistoBarColors = new Color[] {new Color(Display.getDefault(), 90, 90, 255), // blue
- new Color(Display.getDefault(), 0, 240, 0), // green
- new Color(Display.getDefault(), 255, 0, 0), // red
- new Color(Display.getDefault(), 0, 255, 255), // cyan
- new Color(Display.getDefault(), 255, 80, 255), // magenta
- new Color(Display.getDefault(), 200, 200, 0), // yellow
- new Color(Display.getDefault(), 200, 150, 0), // brown
- new Color(Display.getDefault(), 150, 255, 150), // light green
- new Color(Display.getDefault(), 200, 80, 80), // dark red
- new Color(Display.getDefault(), 30, 150, 150), // dark cyan
- new Color(Display.getDefault(), 200, 200, 255), // light blue
- new Color(Display.getDefault(), 0, 120, 0), // dark green
- new Color(Display.getDefault(), 255, 150, 150), // lighter red
- new Color(Display.getDefault(), 140, 80, 140), // dark magenta
- new Color(Display.getDefault(), 150, 100, 50), // brown
- new Color(Display.getDefault(), 255, 80, 80), // light red
- new Color(Display.getDefault(), 200, 200, 200), // light grey
- new Color(Display.getDefault(), 255, 200, 80), // orange
- new Color(Display.getDefault(), 255, 255, 80), // pale yellow
- new Color(Display.getDefault(), 255, 200, 200), // pale red
- new Color(Display.getDefault(), 255, 200, 255), // pale magenta
- new Color(Display.getDefault(), 255, 255, 200), // pale pale yellow
- new Color(Display.getDefault(), 200, 255, 255), // pale pale blue
- };
- private final Color fTimeRangeColor = new Color(Display.getCurrent(), 255, 128, 0);
- private final Color fLostEventColor = new Color(Display.getCurrent(), 208, 62, 120);
-
- // Drag states
- /**
- * No drag in progress
- * @since 2.2
- */
- protected final int DRAG_NONE = 0;
- /**
- * Drag the selection
- * @since 2.2
- */
- protected final int DRAG_SELECTION = 1;
- /**
- * Drag the time range
- * @since 2.2
- */
- protected final int DRAG_RANGE = 2;
- /**
- * Drag the zoom range
- * @since 2.2
- */
- protected final int DRAG_ZOOM = 3;
-
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
-
- /**
- * The parent TMF view.
- */
- protected TmfView fParentView;
-
- private Composite fComposite;
- private Font fFont;
-
- // Histogram text fields
- private Label fMaxNbEventsLabel;
- private Label fMinNbEventsLabel;
- private Label fTimeRangeStartLabel;
- private Label fTimeRangeEndLabel;
-
- /**
- * Histogram drawing area
- */
- protected Canvas fCanvas;
-
- /**
- * The histogram data model.
- */
- protected final HistogramDataModel fDataModel;
-
- /**
- * The histogram data model scaled to current resolution and screen width.
- */
- protected HistogramScaledData fScaledData;
-
- /**
- * The current event value
- */
- protected long fCurrentEventTime = 0L;
-
- /**
- * The current selection begin time
- */
- private long fSelectionBegin = 0L;
-
- /**
- * The current selection end time
- */
- private long fSelectionEnd = 0L;
-
- /**
- * The drag state
- * @see #DRAG_NONE
- * @see #DRAG_SELECTION
- * @see #DRAG_RANGE
- * @see #DRAG_ZOOM
- * @since 2.2
- */
- protected int fDragState = DRAG_NONE;
-
- /**
- * The button that started a mouse drag, or 0 if no drag in progress
- * @since 2.2
- */
- protected int fDragButton = 0;
-
- /**
- * The bucket display offset
- */
- private int fOffset = 0;
-
- /**
- * show the traces or not
- * @since 3.0
- */
- static boolean showTraces = true;
-
- // ------------------------------------------------------------------------
- // Construction
- // ------------------------------------------------------------------------
-
- /**
- * Full constructor.
- *
- * @param view A reference to the parent TMF view.
- * @param parent A parent composite
- */
- public Histogram(final TmfView view, final Composite parent) {
- fParentView = view;
-
- fComposite = createWidget(parent);
- fDataModel = new HistogramDataModel();
- fDataModel.addHistogramListener(this);
- clear();
-
- fCanvas.addControlListener(this);
- fCanvas.addPaintListener(this);
- fCanvas.addKeyListener(this);
- fCanvas.addMouseListener(this);
- fCanvas.addMouseTrackListener(this);
- fCanvas.addMouseMoveListener(this);
-
- TmfSignalManager.register(this);
- }
-
- /**
- * Dispose resources and unregisters listeners.
- */
- public void dispose() {
- TmfSignalManager.deregister(this);
- fLostEventColor.dispose();
- for (Color c : fHistoBarColors) {
- c.dispose();
- }
- fTimeRangeColor.dispose();
- fFont.dispose();
- fDataModel.removeHistogramListener(this);
- fDataModel.dispose();
- }
-
- private Composite createWidget(final Composite parent) {
-
- fFont = adjustFont(parent);
-
- final int initalWidth = 10;
-
- // --------------------------------------------------------------------
- // Define the histogram
- // --------------------------------------------------------------------
-
- final GridLayout gridLayout = new GridLayout();
- gridLayout.numColumns = 3;
- gridLayout.marginHeight = 0;
- gridLayout.marginWidth = 0;
- gridLayout.marginTop = 0;
- gridLayout.horizontalSpacing = 0;
- gridLayout.verticalSpacing = 0;
- gridLayout.marginLeft = 0;
- gridLayout.marginRight = 0;
- final Composite composite = new Composite(parent, SWT.FILL);
- composite.setLayout(gridLayout);
-
- // Use all the horizontal space
- GridData gridData = new GridData();
- gridData.horizontalAlignment = SWT.FILL;
- gridData.verticalAlignment = SWT.FILL;
- gridData.grabExcessHorizontalSpace = true;
- gridData.grabExcessVerticalSpace = true;
- composite.setLayoutData(gridData);
-
- // Y-axis max event
- gridData = new GridData();
- gridData.horizontalAlignment = SWT.RIGHT;
- gridData.verticalAlignment = SWT.TOP;
- fMaxNbEventsLabel = new Label(composite, SWT.RIGHT);
- fMaxNbEventsLabel.setFont(fFont);
- fMaxNbEventsLabel.setText("0"); //$NON-NLS-1$
- fMaxNbEventsLabel.setLayoutData(gridData);
-
- // Histogram itself
- Composite canvasComposite = new Composite(composite, SWT.BORDER);
- gridData = new GridData();
- gridData.horizontalSpan = 2;
- gridData.verticalSpan = 2;
- gridData.horizontalAlignment = SWT.FILL;
- gridData.verticalAlignment = SWT.FILL;
- gridData.heightHint = 0;
- gridData.widthHint = 0;
- gridData.grabExcessHorizontalSpace = true;
- gridData.grabExcessVerticalSpace = true;
- canvasComposite.setLayoutData(gridData);
- canvasComposite.setLayout(new FillLayout());
- fCanvas = new Canvas(canvasComposite, SWT.DOUBLE_BUFFERED);
- fCanvas.addDisposeListener(new DisposeListener() {
- @Override
- public void widgetDisposed(DisposeEvent e) {
- Object image = fCanvas.getData(IMAGE_KEY);
- if (image instanceof Image) {
- ((Image) image).dispose();
- }
- }
- });
-
- // Y-axis min event (always 0...)
- gridData = new GridData();
- gridData.horizontalAlignment = SWT.RIGHT;
- gridData.verticalAlignment = SWT.BOTTOM;
- fMinNbEventsLabel = new Label(composite, SWT.RIGHT);
- fMinNbEventsLabel.setFont(fFont);
- fMinNbEventsLabel.setText("0"); //$NON-NLS-1$
- fMinNbEventsLabel.setLayoutData(gridData);
-
- // Dummy cell
- gridData = new GridData(initalWidth, SWT.DEFAULT);
- gridData.horizontalAlignment = SWT.RIGHT;
- gridData.verticalAlignment = SWT.BOTTOM;
- final Label dummyLabel = new Label(composite, SWT.NONE);
- dummyLabel.setLayoutData(gridData);
-
- // Window range start time
- gridData = new GridData();
- gridData.horizontalAlignment = SWT.LEFT;
- gridData.verticalAlignment = SWT.BOTTOM;
- fTimeRangeStartLabel = new Label(composite, SWT.NONE);
- fTimeRangeStartLabel.setFont(fFont);
- fTimeRangeStartLabel.setLayoutData(gridData);
-
- // Window range end time
- gridData = new GridData();
- gridData.horizontalAlignment = SWT.RIGHT;
- gridData.verticalAlignment = SWT.BOTTOM;
- fTimeRangeEndLabel = new Label(composite, SWT.NONE);
- fTimeRangeEndLabel.setFont(fFont);
- fTimeRangeEndLabel.setLayoutData(gridData);
-
- return composite;
- }
-
- private static Font adjustFont(final Composite composite) {
- // Reduce font size for a more pleasing rendering
- final int fontSizeAdjustment = -2;
- final Font font = composite.getFont();
- final FontData fontData = font.getFontData()[0];
- return new Font(font.getDevice(), fontData.getName(), fontData.getHeight() + fontSizeAdjustment, fontData.getStyle());
- }
-
- // ------------------------------------------------------------------------
- // Accessors
- // ------------------------------------------------------------------------
-
- /**
- * Returns the start time (equal first bucket time)
- * @return the start time.
- */
- public long getStartTime() {
- return fDataModel.getFirstBucketTime();
- }
-
- /**
- * Returns the end time.
- * @return the end time.
- */
- public long getEndTime() {
- return fDataModel.getEndTime();
- }
-
- /**
- * Returns the time limit (end of last bucket)
- * @return the time limit.
- */
- public long getTimeLimit() {
- return fDataModel.getTimeLimit();
- }
-
- /**
- * Returns a data model reference.
- * @return data model.
- */
- public HistogramDataModel getDataModel() {
- return fDataModel;
- }
-
- /**
- * Set the max number events to be displayed
- *
- * @param maxNbEvents
- * the maximum number of events
- */
- void setMaxNbEvents(long maxNbEvents) {
- fMaxNbEventsLabel.setText(Long.toString(maxNbEvents));
- fMaxNbEventsLabel.getParent().layout();
- fCanvas.redraw();
- }
-
- /**
- * Return <code>true</code> if the traces must be displayed in the histogram,
- * <code>false</code> otherwise.
- * @return whether the traces should be displayed
- * @since 3.0
- */
- public boolean showTraces() {
- return showTraces && fDataModel.getNbTraces() < getMaxNbTraces();
- }
-
- /**
- * Returns the maximum number of traces the histogram can display with separate colors.
- * If there is more traces, histogram will use only one color to display them.
- * @return the maximum number of traces the histogram can display.
- * @since 3.0
- */
- public int getMaxNbTraces() {
- return fHistoBarColors.length;
- }
-
- /**
- * Returns the color used to display the trace at the given index.
- * @param traceIndex a trace index
- * @return a {@link Color}
- * @since 3.0
- */
- public Color getTraceColor(int traceIndex) {
- return fHistoBarColors[traceIndex % fHistoBarColors.length];
- }
-
- // ------------------------------------------------------------------------
- // Operations
- // ------------------------------------------------------------------------
- /**
- * Updates the time range.
- * @param startTime A start time
- * @param endTime A end time.
- */
- public void updateTimeRange(long startTime, long endTime) {
- if (fDragState == DRAG_NONE) {
- ((HistogramView) fParentView).updateTimeRange(startTime, endTime);
- }
- }
-
- /**
- * Clear the histogram and reset the data
- */
- public void clear() {
- fDataModel.clear();
- if (fDragState == DRAG_SELECTION) {
- updateSelectionTime();
- }
- fDragState = DRAG_NONE;
- fDragButton = 0;
- synchronized (fDataModel) {
- fScaledData = null;
- }
- }
-
- /**
- * Sets the current selection time range and refresh the display
- *
- * @param beginTime The begin time of the current selection
- * @param endTime The end time of the current selection
- * @since 2.1
- */
- public void setSelection(final long beginTime, final long endTime) {
- fSelectionBegin = (beginTime > 0) ? beginTime : 0;
- fSelectionEnd = (endTime > 0) ? endTime : 0;
- fDataModel.setSelectionNotifyListeners(beginTime, endTime);
- }
-
- /**
- * Computes the timestamp of the bucket at [offset]
- *
- * @param offset offset from the left on the histogram
- * @return the start timestamp of the corresponding bucket
- */
- public synchronized long getTimestamp(final int offset) {
- assert offset > 0 && offset < fScaledData.fWidth;
- try {
- return fScaledData.fFirstBucketTime + fScaledData.fBucketDuration * offset;
- } catch (final Exception e) {
- return 0; // TODO: Fix that racing condition (NPE)
- }
- }
-
- /**
- * Computes the offset of the timestamp in the histogram
- *
- * @param timestamp the timestamp
- * @return the offset of the corresponding bucket (-1 if invalid)
- */
- public synchronized int getOffset(final long timestamp) {
- if (timestamp < fDataModel.getFirstBucketTime() || timestamp > fDataModel.getEndTime()) {
- return -1;
- }
- return (int) ((timestamp - fDataModel.getFirstBucketTime()) / fScaledData.fBucketDuration);
- }
-
- /**
- * Set the bucket display offset
- *
- * @param offset
- * the bucket display offset
- * @since 2.2
- */
- protected void setOffset(final int offset) {
- fOffset = offset;
- }
-
- /**
- * Move the currently selected bar cursor to a non-empty bucket.
- *
- * @param keyCode the SWT key code
- */
- protected void moveCursor(final int keyCode) {
-
- int index;
- switch (keyCode) {
-
- case SWT.HOME:
- index = 0;
- while (index < fScaledData.fLastBucket && fScaledData.fData[index].isEmpty()) {
- index++;
- }
- if (index < fScaledData.fLastBucket) {
- fScaledData.fSelectionBeginBucket = index;
- }
- break;
-
- case SWT.ARROW_RIGHT:
- index = Math.max(0, fScaledData.fSelectionBeginBucket + 1);
- while (index < fScaledData.fWidth && fScaledData.fData[index].isEmpty()) {
- index++;
- }
- if (index < fScaledData.fLastBucket) {
- fScaledData.fSelectionBeginBucket = index;
- }
- break;
-
- case SWT.END:
- index = fScaledData.fLastBucket;
- while (index >= 0 && fScaledData.fData[index].isEmpty()) {
- index--;
- }
- if (index >= 0) {
- fScaledData.fSelectionBeginBucket = index;
- }
- break;
-
- case SWT.ARROW_LEFT:
- index = Math.min(fScaledData.fLastBucket - 1, fScaledData.fSelectionBeginBucket - 1);
- while (index >= 0 && fScaledData.fData[index].isEmpty()) {
- index--;
- }
- if (index >= 0) {
- fScaledData.fSelectionBeginBucket = index;
- }
- break;
-
- default:
- return;
- }
-
- fScaledData.fSelectionEndBucket = fScaledData.fSelectionBeginBucket;
- fSelectionBegin = getTimestamp(fScaledData.fSelectionBeginBucket);
- fSelectionEnd = fSelectionBegin;
- updateSelectionTime();
- }
-
- /**
- * Refresh the histogram display
- */
- @Override
- public void modelUpdated() {
- if (!fCanvas.isDisposed() && fCanvas.getDisplay() != null) {
- fCanvas.getDisplay().asyncExec(new Runnable() {
- @Override
- public void run() {
- if (!fCanvas.isDisposed()) {
- // Retrieve and normalize the data
- final int canvasWidth = fCanvas.getBounds().width;
- final int canvasHeight = fCanvas.getBounds().height;
- if (canvasWidth <= 0 || canvasHeight <= 0) {
- return;
- }
- fDataModel.setSelection(fSelectionBegin, fSelectionEnd);
- fScaledData = fDataModel.scaleTo(canvasWidth, canvasHeight, 1);
- synchronized (fDataModel) {
- if (fScaledData != null) {
- fCanvas.redraw();
- // Display histogram and update X-,Y-axis labels
- updateRangeTextControls();
- long maxNbEvents = HistogramScaledData.hideLostEvents ? fScaledData.fMaxValue : fScaledData.fMaxCombinedValue;
- fMaxNbEventsLabel.setText(Long.toString(maxNbEvents));
- // The Y-axis area might need to be re-sized
- GridData gd = (GridData) fMaxNbEventsLabel.getLayoutData();
- gd.widthHint = Math.max(gd.widthHint, fMaxNbEventsLabel.computeSize(SWT.DEFAULT, SWT.DEFAULT).x);
- fMaxNbEventsLabel.getParent().layout();
- }
- }
- }
- }
- });
- }
- }
-
- /**
- * Add a mouse wheel listener to the histogram
- * @param listener the mouse wheel listener
- * @since 2.0
- */
- public void addMouseWheelListener(MouseWheelListener listener) {
- fCanvas.addMouseWheelListener(listener);
- }
-
- /**
- * Remove a mouse wheel listener from the histogram
- * @param listener the mouse wheel listener
- * @since 2.0
- */
- public void removeMouseWheelListener(MouseWheelListener listener) {
- fCanvas.removeMouseWheelListener(listener);
- }
-
- /**
- * Add a key listener to the histogram
- * @param listener the key listener
- * @since 3.1
- */
- public void addKeyListener(KeyListener listener) {
- fCanvas.addKeyListener(listener);
- }
-
- /**
- * Remove a key listener from the histogram
- * @param listener the key listener
- * @since 3.1
- */
- public void removeKeyListener(KeyListener listener) {
- fCanvas.removeKeyListener(listener);
- }
-
- // ------------------------------------------------------------------------
- // Helper functions
- // ------------------------------------------------------------------------
-
- private void updateSelectionTime() {
- if (fSelectionBegin > fSelectionEnd) {
- long end = fSelectionBegin;
- fSelectionBegin = fSelectionEnd;
- fSelectionEnd = end;
- }
- ((HistogramView) fParentView).updateSelectionTime(fSelectionBegin, fSelectionEnd);
- }
-
- /**
- * Update the range text controls
- */
- private void updateRangeTextControls() {
- if (fDataModel.getStartTime() < fDataModel.getEndTime()) {
- fTimeRangeStartLabel.setText(TmfTimestampFormat.getDefaulTimeFormat().format(fDataModel.getStartTime()));
- fTimeRangeEndLabel.setText(TmfTimestampFormat.getDefaulTimeFormat().format(fDataModel.getEndTime()));
- } else {
- fTimeRangeStartLabel.setText(""); //$NON-NLS-1$
- fTimeRangeEndLabel.setText(""); //$NON-NLS-1$
- }
- }
-
- // ------------------------------------------------------------------------
- // PaintListener
- // ------------------------------------------------------------------------
- /**
- * Image key string for the canvas.
- */
- protected final String IMAGE_KEY = "double-buffer-image"; //$NON-NLS-1$
-
- @Override
- public void paintControl(final PaintEvent event) {
-
- // Get the geometry
- final int canvasWidth = fCanvas.getBounds().width;
- final int canvasHeight = fCanvas.getBounds().height;
-
- // Make sure we have something to draw upon
- if (canvasWidth <= 0 || canvasHeight <= 0) {
- return;
- }
-
- // Retrieve image; re-create only if necessary
- Image image = (Image) fCanvas.getData(IMAGE_KEY);
- if (image == null || image.getBounds().width != canvasWidth || image.getBounds().height != canvasHeight) {
- if (image != null) {
- image.dispose();
- }
- image = new Image(event.display, canvasWidth, canvasHeight);
- fCanvas.setData(IMAGE_KEY, image);
- }
-
- // Draw the histogram on its canvas
- final GC imageGC = new GC(image);
- formatImage(imageGC, image);
- event.gc.drawImage(image, 0, 0);
- imageGC.dispose();
- }
-
- private void formatImage(final GC imageGC, final Image image) {
-
- if (fScaledData == null) {
- return;
- }
-
- final HistogramScaledData scaledData = new HistogramScaledData(fScaledData);
-
- try {
- // Get drawing boundaries
- final int width = image.getBounds().width;
- final int height = image.getBounds().height;
-
- // Clear the drawing area
- imageGC.setBackground(fBackgroundColor);
- imageGC.fillRectangle(0, 0, image.getBounds().width + 1, image.getBounds().height + 1);
-
- // Draw the histogram bars
- final int limit = width < scaledData.fWidth ? width : scaledData.fWidth;
- double factor = HistogramScaledData.hideLostEvents ? scaledData.fScalingFactor : scaledData.fScalingFactorCombined;
- final boolean showTracesColors = showTraces();
- for (int i = 0; i < limit; i++) {
- HistogramBucket hb = scaledData.fData[i];
- int totalNbEvents = hb.getNbEvents();
- int value = (int) Math.ceil(totalNbEvents * factor);
- int x = i + fOffset;
-
- // in Linux, the last pixel in a line is not drawn,
- // so draw lost events first, one pixel too far
- if (!HistogramScaledData.hideLostEvents) {
- imageGC.setForeground(fLostEventColor);
- final int lostEventValue = (int) Math.ceil(scaledData.fLostEventsData[i] * factor);
- if (lostEventValue != 0) {
- // drawing a line is inclusive, so we should remove 1 from y2
- // but we don't because Linux
- imageGC.drawLine(x, height - value - lostEventValue, x, height - value);
- }
- }
-
- // then draw normal events second, to overwrite that extra pixel
- if (!hb.isEmpty()) {
- if (showTracesColors) {
- for (int traceIndex = 0; traceIndex < hb.getNbTraces(); traceIndex++) {
- int nbEventsForTrace = hb.getNbEvent(traceIndex);
- if (nbEventsForTrace > 0) {
- Color c = fHistoBarColors[traceIndex % fHistoBarColors.length];
- imageGC.setForeground(c);
- imageGC.drawLine(x, height - value, x, height);
- totalNbEvents -= nbEventsForTrace;
- value = (int) Math.ceil(totalNbEvents * scaledData.fScalingFactor);
- }
- }
- } else {
- Color c = fHistoBarColors[0];
- imageGC.setForeground(c);
- imageGC.drawLine(x, height - value, x, height);
- }
- }
- }
-
- // Draw the selection bars
- int alpha = imageGC.getAlpha();
- imageGC.setAlpha(100);
- imageGC.setForeground(fSelectionForegroundColor);
- imageGC.setBackground(fSelectionBackgroundColor);
- final int beginBucket = scaledData.fSelectionBeginBucket + fOffset;
- if (beginBucket >= 0 && beginBucket < limit) {
- imageGC.drawLine(beginBucket, 0, beginBucket, height);
- }
- final int endBucket = scaledData.fSelectionEndBucket + fOffset;
- if (endBucket >= 0 && endBucket < limit && endBucket != beginBucket) {
- imageGC.drawLine(endBucket, 0, endBucket, height);
- }
- if (Math.abs(endBucket - beginBucket) > 1) {
- if (endBucket > beginBucket) {
- imageGC.fillRectangle(beginBucket + 1, 0, endBucket - beginBucket - 1, height);
- } else {
- imageGC.fillRectangle(endBucket + 1, 0, beginBucket - endBucket - 1, height);
- }
- }
- imageGC.setAlpha(alpha);
-
- // Add a dashed line as a delimiter
- int delimiterIndex = (int) ((getDataModel().getEndTime() - scaledData.getFirstBucketTime()) / scaledData.fBucketDuration) + 1;
- drawDelimiter(imageGC, fLastEventColor, height, delimiterIndex);
-
- // Fill the area to the right of delimiter with background color
- imageGC.setBackground(fComposite.getBackground());
- imageGC.fillRectangle(delimiterIndex + 1, 0, width - (delimiterIndex + 1), height);
-
- } catch (final Exception e) {
- // Do nothing
- }
- }
-
- private static void drawDelimiter(final GC imageGC, final Color color,
- final int height, final int index) {
- imageGC.setBackground(color);
- final int dash = height / 4;
- imageGC.fillRectangle(index, 0 * dash, 1, dash - 1);
- imageGC.fillRectangle(index, 1 * dash, 1, dash - 1);
- imageGC.fillRectangle(index, 2 * dash, 1, dash - 1);
- imageGC.fillRectangle(index, 3 * dash, 1, height - 3 * dash);
- }
-
- /**
- * Draw a time range window
- *
- * @param imageGC
- * the GC
- * @param rangeStartTime
- * the range start time
- * @param rangeDuration
- * the range duration
- * @since 2.2
- */
- protected void drawTimeRangeWindow(GC imageGC, long rangeStartTime, long rangeDuration) {
-
- if (fScaledData == null) {
- return;
- }
-
- // Map times to histogram coordinates
- long bucketSpan = Math.max(fScaledData.fBucketDuration, 1);
- long startTime = Math.min(rangeStartTime, rangeStartTime + rangeDuration);
- int rangeWidth = (int) (Math.abs(rangeDuration) / bucketSpan);
-
- int left = (int) ((startTime - fDataModel.getFirstBucketTime()) / bucketSpan);
- int right = left + rangeWidth;
- int center = (left + right) / 2;
- int height = fCanvas.getSize().y;
- int arc = Math.min(15, rangeWidth);
-
- // Draw the selection window
- imageGC.setForeground(fTimeRangeColor);
- imageGC.setLineWidth(1);
- imageGC.setLineStyle(SWT.LINE_SOLID);
- imageGC.drawRoundRectangle(left, 0, rangeWidth, height - 1, arc, arc);
-
- // Fill the selection window
- imageGC.setBackground(fTimeRangeColor);
- imageGC.setAlpha(35);
- imageGC.fillRoundRectangle(left + 1, 1, rangeWidth - 1, height - 2, arc, arc);
- imageGC.setAlpha(255);
-
- // Draw the cross hair
- imageGC.setForeground(fTimeRangeColor);
- imageGC.setLineWidth(1);
- imageGC.setLineStyle(SWT.LINE_SOLID);
-
- int chHalfWidth = ((rangeWidth < 60) ? (rangeWidth * 2) / 3 : 40) / 2;
- imageGC.drawLine(center - chHalfWidth, height / 2, center + chHalfWidth, height / 2);
- imageGC.drawLine(center, (height / 2) - chHalfWidth, center, (height / 2) + chHalfWidth);
- }
-
- // ------------------------------------------------------------------------
- // KeyListener
- // ------------------------------------------------------------------------
-
- @Override
- public void keyPressed(final KeyEvent event) {
- moveCursor(event.keyCode);
- }
-
- @Override
- public void keyReleased(final KeyEvent event) {
- }
-
- // ------------------------------------------------------------------------
- // MouseListener
- // ------------------------------------------------------------------------
-
- @Override
- public void mouseDoubleClick(final MouseEvent event) {
- }
-
- @Override
- public void mouseDown(final MouseEvent event) {
- if (fScaledData != null && event.button == 1 && fDragState == DRAG_NONE && fDataModel.getStartTime() < fDataModel.getEndTime()) {
- fDragState = DRAG_SELECTION;
- fDragButton = event.button;
- if ((event.stateMask & SWT.MODIFIER_MASK) == SWT.SHIFT) {
- if (Math.abs(event.x - fScaledData.fSelectionBeginBucket) < Math.abs(event.x - fScaledData.fSelectionEndBucket)) {
- fScaledData.fSelectionBeginBucket = fScaledData.fSelectionEndBucket;
- fSelectionBegin = fSelectionEnd;
- }
- fSelectionEnd = Math.min(getTimestamp(event.x), getEndTime());
- fScaledData.fSelectionEndBucket = (int) ((fSelectionEnd - fScaledData.fFirstBucketTime) / fScaledData.fBucketDuration);
- } else {
- fSelectionBegin = Math.min(getTimestamp(event.x), getEndTime());
- fScaledData.fSelectionBeginBucket = (int) ((fSelectionBegin - fScaledData.fFirstBucketTime) / fScaledData.fBucketDuration);
- fSelectionEnd = fSelectionBegin;
- fScaledData.fSelectionEndBucket = fScaledData.fSelectionBeginBucket;
- }
- fCanvas.redraw();
- }
- }
-
- @Override
- public void mouseUp(final MouseEvent event) {
- if (fDragState == DRAG_SELECTION && event.button == fDragButton) {
- fDragState = DRAG_NONE;
- fDragButton = 0;
- updateSelectionTime();
- }
- }
-
- // ------------------------------------------------------------------------
- // MouseMoveListener
- // ------------------------------------------------------------------------
-
- /**
- * @since 2.2
- */
- @Override
- public void mouseMove(MouseEvent event) {
- if (fDragState == DRAG_SELECTION && fDataModel.getStartTime() < fDataModel.getEndTime()) {
- fSelectionEnd = Math.max(getStartTime(), Math.min(getEndTime(), getTimestamp(event.x)));
- fScaledData.fSelectionEndBucket = (int) ((fSelectionEnd - fScaledData.fFirstBucketTime) / fScaledData.fBucketDuration);
- fCanvas.redraw();
- }
- }
-
- // ------------------------------------------------------------------------
- // MouseTrackListener
- // ------------------------------------------------------------------------
-
- @Override
- public void mouseEnter(final MouseEvent event) {
- }
-
- @Override
- public void mouseExit(final MouseEvent event) {
- }
-
- @Override
- public void mouseHover(final MouseEvent event) {
- if (fDataModel.getStartTime() < fDataModel.getEndTime() && fScaledData != null) {
- int delimiterIndex = (int) ((fDataModel.getEndTime() - fScaledData.getFirstBucketTime()) / fScaledData.fBucketDuration) + 1;
- if (event.x < delimiterIndex) {
- final String tooltip = formatToolTipLabel(event.x - fOffset);
- fCanvas.setToolTipText(tooltip);
- return;
- }
- }
- fCanvas.setToolTipText(null);
- }
-
- private String formatToolTipLabel(final int index) {
- long startTime = fScaledData.getBucketStartTime(index);
- // negative values are possible if time values came into the model in decreasing order
- if (startTime < 0) {
- startTime = 0;
- }
- final long endTime = fScaledData.getBucketEndTime(index);
- final int nbEvents = (index >= 0) ? fScaledData.fData[index].getNbEvents() : 0;
- final String newLine = System.getProperty("line.separator"); //$NON-NLS-1$
- final StringBuffer buffer = new StringBuffer();
- int selectionBeginBucket = Math.min(fScaledData.fSelectionBeginBucket, fScaledData.fSelectionEndBucket);
- int selectionEndBucket = Math.max(fScaledData.fSelectionBeginBucket, fScaledData.fSelectionEndBucket);
- if (selectionBeginBucket <= index && index <= selectionEndBucket && fSelectionBegin != fSelectionEnd) {
- TmfTimestampDelta delta = new TmfTimestampDelta(Math.abs(fSelectionEnd - fSelectionBegin), ITmfTimestamp.NANOSECOND_SCALE);
- buffer.append(NLS.bind(Messages.Histogram_selectionSpanToolTip, delta.toString()));
- buffer.append(newLine);
- }
- buffer.append(NLS.bind(Messages.Histogram_bucketRangeToolTip,
- new TmfTimestamp(startTime, ITmfTimestamp.NANOSECOND_SCALE).toString(),
- new TmfTimestamp(endTime, ITmfTimestamp.NANOSECOND_SCALE).toString()));
- buffer.append(newLine);
- buffer.append(NLS.bind(Messages.Histogram_eventCountToolTip, nbEvents));
- if (!HistogramScaledData.hideLostEvents) {
- final int nbLostEvents = (index >= 0) ? fScaledData.fLostEventsData[index] : 0;
- buffer.append(newLine);
- buffer.append(NLS.bind(Messages.Histogram_lostEventCountToolTip, nbLostEvents));
- }
- return buffer.toString();
- }
-
- // ------------------------------------------------------------------------
- // ControlListener
- // ------------------------------------------------------------------------
-
- @Override
- public void controlMoved(final ControlEvent event) {
- fDataModel.complete();
- }
-
- @Override
- public void controlResized(final ControlEvent event) {
- fDataModel.complete();
- }
-
- // ------------------------------------------------------------------------
- // Signal Handlers
- // ------------------------------------------------------------------------
-
- /**
- * Format the timestamp and update the display
- *
- * @param signal
- * the incoming signal
- * @since 2.0
- */
- @TmfSignalHandler
- public void timestampFormatUpdated(TmfTimestampFormatUpdateSignal signal) {
- updateRangeTextControls();
-
- fComposite.layout();
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/histogram/HistogramBucket.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/histogram/HistogramBucket.java
deleted file mode 100644
index 0ff0b78cf9..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/histogram/HistogramBucket.java
+++ /dev/null
@@ -1,175 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 Kalray
- *
- * 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:
- * Xavier Raynaud - Initial API and implementation
- * Patrick Tasse - Fix concurrency issue
- *******************************************************************************/
-package org.eclipse.linuxtools.tmf.ui.views.histogram;
-
-import java.util.Arrays;
-
-/**
- * This class counts events for a particular time range, taking into account origin of the event.
- * @author Xavier Raynaud
- * @since 3.0
- */
-public class HistogramBucket {
-
- private int fNbEvents = 0;
- private int fEvents[];
-
- /**
- * Constructor
- * @param traceCount number of traces of the experiment.
- */
- public HistogramBucket(int traceCount) {
- fEvents = new int[traceCount];
- }
-
- /**
- * Constructor
- * @param values list of values
- */
- public HistogramBucket(int... values) {
- fEvents = values;
- for (int i : fEvents) {
- fNbEvents += i;
- }
- }
-
- /**
- * Copy Constructor
- * @param b a HistogramBucket to copy
- */
- public HistogramBucket(HistogramBucket b) {
- add(b);
- }
-
- /**
- * Merge Constructor
- * @param b1 a HistogramBucket
- * @param b2 another HistogramBucket
- */
- public HistogramBucket(HistogramBucket b1, HistogramBucket b2) {
- add(b1);
- add(b2);
- }
-
- /**
- * @return the number of events in this bucket
- */
- public int getNbEvents() {
- return fNbEvents;
- }
-
- /**
- * Add an event in this bucket
- * @param traceIndex a trace index - see {@link HistogramDataModel#setTrace}.
- */
- public synchronized void addEvent(int traceIndex) {
- ensureCapacity(traceIndex + 1);
- fEvents[traceIndex]++;
- fNbEvents++;
- }
-
- private void ensureCapacity(int len) {
- if (fEvents == null) {
- fEvents = new int[len];
- } else if (fEvents.length < len) {
- int[] oldArray = fEvents;
- fEvents = new int[len];
- System.arraycopy(oldArray, 0, fEvents, 0, oldArray.length);
- }
- }
-
- /**
- * Gets the number of event in this bucket belonging to given trace
- * @param traceIndex a trace index
- * @return the number of events in this bucket belonging to the given trace
- */
- public int getNbEvent(int traceIndex) {
- if (fEvents == null || fEvents.length<= traceIndex) {
- return 0;
- }
- return fEvents[traceIndex];
- }
-
- /**
- * @return the number of traces in this bucket
- */
- public int getNbTraces() {
- if (fEvents == null) {
- return 0;
- }
- return fEvents.length;
- }
-
- /**
- * Merge the given bucket in this one.
- * @param histogramBucket a bucket to merge in this one.
- */
- public synchronized void add(HistogramBucket histogramBucket) {
- if (histogramBucket != null && histogramBucket.fNbEvents != 0) {
- int len = histogramBucket.fEvents.length;
- ensureCapacity(len);
- for (int i = 0; i < len; i++) {
- int nbEvents = histogramBucket.fEvents[i];
- fEvents[i] += nbEvents;
- fNbEvents += nbEvents;
- }
- }
- }
-
- /**
- * @return <code>true</code> if this bucket contains no event, <code>false</code> otherwise.
- */
- public boolean isEmpty() {
- return fNbEvents == 0;
- }
-
- @Override
- public int hashCode() {
- final int prime = 31;
- int result = 1;
- result = prime * result + Arrays.hashCode(fEvents);
- result = prime * result + fNbEvents;
- return result;
- }
-
- @Override
- public boolean equals(Object obj) {
- if (this == obj) {
- return true;
- }
- if (obj == null) {
- return false;
- }
- if (getClass() != obj.getClass()) {
- return false;
- }
- HistogramBucket other = (HistogramBucket) obj;
- if (fNbEvents != other.fNbEvents) {
- return false;
- }
- if (fNbEvents != 0 && !Arrays.equals(fEvents, other.fEvents)) {
- return false;
- }
- return true;
- }
-
- @Override
- public String toString() {
- StringBuilder sb = new StringBuilder();
- sb.append(fNbEvents);
- sb.append(": "); //$NON-NLS-1$
- sb.append(Arrays.toString(fEvents));
- return sb.toString();
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/histogram/HistogramCurrentTimeControl.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/histogram/HistogramCurrentTimeControl.java
deleted file mode 100644
index e94254484e..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/histogram/HistogramCurrentTimeControl.java
+++ /dev/null
@@ -1,130 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011, 2013 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 - Moved from LTTng to TMF
- * Francois Chouinard - Simplified constructor, handle interval format change
- * Patrick Tasse - Update value handling
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.views.histogram;
-
-import java.text.ParseException;
-
-import org.eclipse.linuxtools.tmf.core.signal.TmfSignalHandler;
-import org.eclipse.linuxtools.tmf.core.signal.TmfTimestampFormatUpdateSignal;
-import org.eclipse.linuxtools.tmf.core.timestamp.ITmfTimestamp;
-import org.eclipse.linuxtools.tmf.core.timestamp.TmfTimeRange;
-import org.eclipse.linuxtools.tmf.core.timestamp.TmfTimestamp;
-import org.eclipse.linuxtools.tmf.core.timestamp.TmfTimestampFormat;
-import org.eclipse.linuxtools.tmf.core.trace.ITmfTrace;
-import org.eclipse.swt.widgets.Composite;
-
-/**
- * This control provides a group containing a text control.
- *
- * @version 1.1
- * @author Francois Chouinard
- */
-public class HistogramCurrentTimeControl extends HistogramTextControl {
-
- // ------------------------------------------------------------------------
- // Construction
- // ------------------------------------------------------------------------
-
- /**
- * Standard constructor
- *
- * @param parentView A parent histogram view
- * @param parent A parent composite to draw in
- * @param label A label
- * @param value A value
- * @since 2.0
- */
- public HistogramCurrentTimeControl(HistogramView parentView, Composite parent,
- String label, long value)
- {
- super(parentView, parent, label, value);
- }
-
- // ------------------------------------------------------------------------
- // Operations
- // ------------------------------------------------------------------------
-
- @Override
- protected void updateValue() {
- if (getValue() == Long.MIN_VALUE) {
- fTextValue.setText(""); //$NON-NLS-1$
- return;
- }
- String string = fTextValue.getText();
- long value = getValue();
- try {
- value = TmfTimestampFormat.getDefaulTimeFormat().parseValue(string, getValue());
- } catch (ParseException e) {
- }
- if (getValue() != value) {
- // Make sure that the new time is within range
- ITmfTrace trace = fParentView.getTrace();
- if (trace != null) {
- TmfTimeRange range = trace.getTimeRange();
- long startTime = range.getStartTime().normalize(0, ITmfTimestamp.NANOSECOND_SCALE).getValue();
- long endTime = range.getEndTime().normalize(0, ITmfTimestamp.NANOSECOND_SCALE).getValue();
- if (value < startTime) {
- value = startTime;
- } else if (value > endTime) {
- value = endTime;
- }
- }
-
- // Set and propagate
- setValue(value);
- updateSelectionTime(value);
- } else {
- setValue(value);
- }
- }
-
- /**
- * Update the selection time
- *
- * @param time
- * the new selected time
- * @since 2.2
- */
- protected void updateSelectionTime(long time) {
- fParentView.updateSelectionTime(time, time);
- }
-
- @Override
- public void setValue(long time) {
- if (time != Long.MIN_VALUE) {
- super.setValue(time, new TmfTimestamp(time, ITmfTimestamp.NANOSECOND_SCALE).toString());
- } else {
- super.setValue(time, ""); //$NON-NLS-1$
- }
- }
-
- // ------------------------------------------------------------------------
- // Signal Handlers
- // ------------------------------------------------------------------------
-
- /**
- * Format the timestamp and update the display. Compute the new text size,
- * adjust the text and group widgets and then refresh the view layout.
- *
- * @param signal the incoming signal
- * @since 2.0
- */
- @TmfSignalHandler
- public void timestampFormatUpdated(TmfTimestampFormatUpdateSignal signal) {
- setValue(getValue());
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/histogram/HistogramDataModel.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/histogram/HistogramDataModel.java
deleted file mode 100644
index 64ebc159c5..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/histogram/HistogramDataModel.java
+++ /dev/null
@@ -1,719 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011, 2014 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
- * Bernd Hufmann - Implementation of new interfaces/listeners and support for
- * time stamp in any order
- * Francois Chouinard - Moved from LTTng to TMF
- * Francois Chouinard - Added support for empty initial buckets
- * Patrick Tasse - Support selection range
- * Jean-Christian Kouamé, Simon Delisle - Added support to manage lost events
- * Xavier Raynaud - Support multi-trace coloring
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.views.histogram;
-
-import java.util.Arrays;
-import java.util.LinkedHashMap;
-import java.util.Map;
-
-import org.eclipse.core.runtime.ListenerList;
-import org.eclipse.linuxtools.tmf.core.timestamp.TmfTimeRange;
-import org.eclipse.linuxtools.tmf.core.trace.ITmfTrace;
-import org.eclipse.linuxtools.tmf.core.trace.TmfTraceManager;
-
-/**
- * Histogram-independent data model.
- *
- * It has the following characteristics:
- * <ul>
- * <li>The <i>basetime</i> is the timestamp of the first event
- * <li>There is a fixed number (<i>n</i>) of buckets of uniform duration
- * (<i>d</i>)
- * <li>The <i>timespan</i> of the model is thus: <i>n</i> * <i>d</i> time units
- * <li>Bucket <i>i</i> holds the number of events that occurred in time range:
- * [<i>basetime</i> + <i>i</i> * <i>d</i>, <i>basetime</i> + (<i>i</i> + 1) *
- * <i>d</i>)
- * </ul>
- * Initially, the bucket durations is set to 1ns. As the events are read, they
- * are tallied (using <i>countEvent()</i>) in the appropriate bucket (relative
- * to the <i>basetime</i>).
- * <p>
- * Eventually, an event will have a timestamp that exceeds the <i>timespan</i>
- * high end (determined by <i>n</i>, the number of buckets, and <i>d</i>, the
- * bucket duration). At this point, the histogram needs to be compacted. This is
- * done by simply merging adjacent buckets by pair, in effect doubling the
- * <i>timespan</i> (<i>timespan'</i> = <i>n</i> * <i>d'</i>, where <i>d'</i> =
- * 2<i>d</i>). This compaction happens as needed as the trace is read.
- * <p>
- * The model allows for timestamps in not increasing order. The timestamps can
- * be fed to the model in any order. If an event has a timestamp less than the
- * <i>basetime</i>, the buckets will be moved to the right to account for the
- * new smaller timestamp. The new <i>basetime</i> is a multiple of the bucket
- * duration smaller then the previous <i>basetime</i>. Note that the
- * <i>basetime</i> might no longer be the timestamp of an event. If necessary,
- * the buckets will be compacted before moving to the right. This might be
- * necessary to not lose any event counts at the end of the buckets array.
- * <p>
- * The mapping from the model to the UI is performed by the <i>scaleTo()</i>
- * method. By keeping the number of buckets <i>n</i> relatively large with
- * respect to to the number of pixels in the actual histogram, we should achieve
- * a nice result when visualizing the histogram.
- * <p>
- *
- * @version 2.0
- * @author Francois Chouinard
- */
-public class HistogramDataModel implements IHistogramDataModel {
-
- // ------------------------------------------------------------------------
- // Constants
- // ------------------------------------------------------------------------
-
- /**
- * The default number of buckets
- */
- public static final int DEFAULT_NUMBER_OF_BUCKETS = 16 * 1000;
-
- /**
- * Number of events after which listeners will be notified.
- */
- public static final int REFRESH_FREQUENCY = DEFAULT_NUMBER_OF_BUCKETS;
-
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
-
- // Trace management
- private ITmfTrace fTrace = null;
- private final Map<ITmfTrace, Integer> fTraceMap = new LinkedHashMap<>();
-
- // Bucket management
- private final int fNbBuckets;
- private final HistogramBucket[] fBuckets;
- private final long[] fLostEventsBuckets;
- private long fBucketDuration;
- private long fNbEvents;
- private int fLastBucket;
-
- // Timestamps
- private long fFirstBucketTime; // could be negative when analyzing events with descending order!!!
- private long fFirstEventTime;
- private long fEndTime;
- private long fSelectionBegin;
- private long fSelectionEnd;
- private long fTimeLimit;
-
- // Private listener lists
- private final ListenerList fModelListeners;
-
- // ------------------------------------------------------------------------
- // Constructors
- // ------------------------------------------------------------------------
-
- /**
- * Default constructor with default number of buckets.
- */
- public HistogramDataModel() {
- this(0, DEFAULT_NUMBER_OF_BUCKETS);
- }
-
- /**
- * Default constructor with default number of buckets.
- *
- * @param startTime
- * The histogram start time
- * @since 2.0
- */
- public HistogramDataModel(long startTime) {
- this(startTime, DEFAULT_NUMBER_OF_BUCKETS);
- }
-
- /**
- * Constructor with non-default number of buckets.
- *
- * @param nbBuckets
- * A number of buckets.
- */
- public HistogramDataModel(int nbBuckets) {
- this(0, nbBuckets);
- }
-
- /**
- * Constructor with non-default number of buckets.
- *
- * @param startTime
- * the histogram start time
- * @param nbBuckets
- * A number of buckets.
- * @since 2.0
- */
- public HistogramDataModel(long startTime, int nbBuckets) {
- fFirstBucketTime = fFirstEventTime = fEndTime = startTime;
- fNbBuckets = nbBuckets;
- fBuckets = new HistogramBucket[nbBuckets];
- fLostEventsBuckets = new long[nbBuckets];
- fModelListeners = new ListenerList();
- clear();
- }
-
- /**
- * Copy constructor.
- *
- * @param other
- * A model to copy.
- */
- public HistogramDataModel(HistogramDataModel other) {
- fNbBuckets = other.fNbBuckets;
- fBuckets = new HistogramBucket[fNbBuckets];
- for (int i = 0; i < fNbBuckets; i++) {
- fBuckets[i] = new HistogramBucket(other.fBuckets[i]);
- }
- fLostEventsBuckets = Arrays.copyOf(other.fLostEventsBuckets, fNbBuckets);
- fBucketDuration = Math.max(other.fBucketDuration, 1);
- fNbEvents = other.fNbEvents;
- fLastBucket = other.fLastBucket;
- fFirstBucketTime = other.fFirstBucketTime;
- fFirstEventTime = other.fFirstEventTime;
- fEndTime = other.fEndTime;
- fSelectionBegin = other.fSelectionBegin;
- fSelectionEnd = other.fSelectionEnd;
- fTimeLimit = other.fTimeLimit;
- fModelListeners = new ListenerList();
- Object[] listeners = other.fModelListeners.getListeners();
- for (Object listener : listeners) {
- fModelListeners.add(listener);
- }
- }
-
-
- /**
- * Disposes the data model
- * @since 3.0
- */
- public void dispose() {
- fTraceMap.clear();
- fTrace = null;
- }
-
- // ------------------------------------------------------------------------
- // Accessors
- // ------------------------------------------------------------------------
-
- /**
- * Returns the number of events in the data model.
- *
- * @return number of events.
- */
- public long getNbEvents() {
- return fNbEvents;
- }
-
- /**
- * Returns the number of buckets in the model.
- *
- * @return number of buckets.
- */
- public int getNbBuckets() {
- return fNbBuckets;
- }
-
- /**
- * Returns the current bucket duration.
- *
- * @return bucket duration
- */
- public long getBucketDuration() {
- return fBucketDuration;
- }
-
- /**
- * Returns the time value of the first bucket in the model.
- *
- * @return time of first bucket.
- */
- public long getFirstBucketTime() {
- return fFirstBucketTime;
- }
-
- /**
- * Returns the time of the first event in the model.
- *
- * @return time of first event.
- */
- public long getStartTime() {
- return fFirstEventTime;
- }
-
- /**
- * Sets the trace of this model.
- * @param trace - a {@link ITmfTrace}
- * @since 3.0
- */
- public void setTrace(ITmfTrace trace) {
- this.fTrace = trace;
- fTraceMap.clear();
- ITmfTrace[] traces = TmfTraceManager.getTraceSet(fTrace);
- if (traces != null) {
- int i = 0;
- for (ITmfTrace tr : traces) {
- fTraceMap.put(tr, i);
- i++;
- }
- }
- }
-
- /**
- * Gets the trace of this model.
- * @return a {@link ITmfTrace}
- * @since 3.0
- */
- public ITmfTrace getTrace() {
- return this.fTrace;
- }
-
- /**
- * Gets the traces names of this model.
- * @return an array of trace names
- * @since 3.0
- */
- public String[] getTraceNames() {
- ITmfTrace[] traces = TmfTraceManager.getTraceSet(fTrace);
- if (traces == null) {
- return new String[0];
- }
- String[] traceNames = new String[traces.length];
- int i = 0;
- for (ITmfTrace tr : traces) {
- traceNames[i] = tr.getName();
- i++;
- }
- return traceNames;
- }
-
- /**
- * Gets the number of traces of this model.
- * @return the number of traces of this model.
- * @since 3.0
- */
- public int getNbTraces() {
- ITmfTrace[] traces = TmfTraceManager.getTraceSet(fTrace);
- if (traces == null) {
- return 1; //
- }
- return traces.length;
- }
-
- /**
- * Sets the model start time
- *
- * @param startTime
- * the histogram range start time
- * @param endTime
- * the histogram range end time
- * @since 2.0
- */
- public void setTimeRange(long startTime, long endTime) {
- fFirstBucketTime = fFirstEventTime = fEndTime = startTime;
- fBucketDuration = 1;
- updateEndTime();
- while (endTime >= fTimeLimit) {
- mergeBuckets();
- }
- }
-
- /**
- * Set the end time. Setting this ensures that the corresponding bucket is
- * displayed regardless of the event counts.
- *
- * @param endTime
- * the time of the last used bucket
- * @since 2.2
- */
- public void setEndTime(long endTime) {
- fEndTime = endTime;
- fLastBucket = (int) ((endTime - fFirstBucketTime) / fBucketDuration);
- }
-
- /**
- * Returns the end time.
- *
- * @return the time of the last used bucket
- */
- public long getEndTime() {
- return fEndTime;
- }
-
- /**
- * Returns the begin time of the current selection in the model.
- *
- * @return the begin time of the current selection.
- * @since 2.1
- */
- public long getSelectionBegin() {
- return fSelectionBegin;
- }
-
- /**
- * Returns the end time of the current selection in the model.
- *
- * @return the end time of the current selection.
- * @since 2.1
- */
- public long getSelectionEnd() {
- return fSelectionEnd;
- }
-
- /**
- * Returns the time limit with is: start time + nbBuckets * bucketDuration
- *
- * @return the time limit.
- */
- public long getTimeLimit() {
- return fTimeLimit;
- }
-
- // ------------------------------------------------------------------------
- // Listener handling
- // ------------------------------------------------------------------------
-
- /**
- * Add a listener to the model to be informed about model changes.
- *
- * @param listener
- * A listener to add.
- */
- public void addHistogramListener(IHistogramModelListener listener) {
- fModelListeners.add(listener);
- }
-
- /**
- * Remove a given model listener.
- *
- * @param listener
- * A listener to remove.
- */
- public void removeHistogramListener(IHistogramModelListener listener) {
- fModelListeners.remove(listener);
- }
-
- // Notify listeners (always)
- private void fireModelUpdateNotification() {
- fireModelUpdateNotification(0);
- }
-
- // Notify listener on boundary
- private void fireModelUpdateNotification(long count) {
- if ((count % REFRESH_FREQUENCY) == 0) {
- Object[] listeners = fModelListeners.getListeners();
- for (Object listener2 : listeners) {
- IHistogramModelListener listener = (IHistogramModelListener) listener2;
- listener.modelUpdated();
- }
- }
- }
-
- // ------------------------------------------------------------------------
- // Operations
- // ------------------------------------------------------------------------
-
- @Override
- public void complete() {
- fireModelUpdateNotification();
- }
-
- /**
- * Clear the histogram model.
- *
- * @see org.eclipse.linuxtools.tmf.ui.views.distribution.model.IBaseDistributionModel#clear()
- */
- @Override
- public synchronized void clear() {
- Arrays.fill(fBuckets, null);
- Arrays.fill(fLostEventsBuckets, 0);
- fNbEvents = 0;
- fFirstBucketTime = 0;
- fEndTime = 0;
- fSelectionBegin = 0;
- fSelectionEnd = 0;
- fLastBucket = 0;
- fBucketDuration = 1;
- updateEndTime();
- fireModelUpdateNotification();
- }
-
- /**
- * Sets the current selection time range (no notification of listeners)
- *
- * @param beginTime
- * The selection begin time.
- * @param endTime
- * The selection end time.
- * @since 2.1
- */
- public void setSelection(long beginTime, long endTime) {
- fSelectionBegin = beginTime;
- fSelectionEnd = endTime;
- }
-
- /**
- * Sets the current selection time range with notification of listeners
- *
- * @param beginTime
- * The selection begin time.
- * @param endTime
- * The selection end time.
- * @since 2.1
- */
- public void setSelectionNotifyListeners(long beginTime, long endTime) {
- fSelectionBegin = beginTime;
- fSelectionEnd = endTime;
- fireModelUpdateNotification();
- }
-
- /**
- * Add event to the correct bucket, compacting the if needed.
- *
- * @param eventCount
- * The current event Count (for notification purposes)
- * @param timestamp
- * The timestamp of the event to count
- * @param trace
- * The event trace
- * @since 3.0
- */
- @Override
- public synchronized void countEvent(long eventCount, long timestamp, ITmfTrace trace) {
-
- // Validate
- if (timestamp < 0) {
- return;
- }
-
- // Set the start/end time if not already done
- if ((fFirstBucketTime == 0) && (fLastBucket == 0) && (fBuckets[0] == null) && (timestamp > 0)) {
- fFirstBucketTime = timestamp;
- fFirstEventTime = timestamp;
- updateEndTime();
- }
-
- if (timestamp < fFirstEventTime) {
- fFirstEventTime = timestamp;
- }
-
- if (fEndTime < timestamp) {
- fEndTime = timestamp;
- }
-
- if (timestamp >= fFirstBucketTime) {
-
- // Compact as needed
- while (timestamp >= fTimeLimit) {
- mergeBuckets();
- }
-
- } else {
-
- // get offset for adjustment
- long preMergeOffset = getOffset(timestamp);
-
- // Compact as needed
- while ((fLastBucket + preMergeOffset) >= fNbBuckets) {
- mergeBuckets();
- preMergeOffset = getOffset(timestamp);
- }
-
- // after merging the offset should be less than number of buckets
- int offset = (int) preMergeOffset;
- moveBuckets(offset);
-
- fLastBucket = fLastBucket + offset;
-
- fFirstBucketTime = fFirstBucketTime - (offset * fBucketDuration);
- updateEndTime();
- }
-
- // Increment the right bucket
- int index = (int) ((timestamp - fFirstBucketTime) / fBucketDuration);
- if (fBuckets[index] == null) {
- fBuckets[index] = new HistogramBucket(getNbTraces());
- }
- Integer traceIndex = fTraceMap.get(trace);
- if (traceIndex == null) {
- traceIndex = 0;
- }
- fBuckets[index].addEvent(traceIndex);
- fNbEvents++;
- if (fLastBucket < index) {
- fLastBucket = index;
- }
-
- fireModelUpdateNotification(eventCount);
- }
-
- /**
- * Add lost event to the correct bucket, compacting the if needed.
- *
- * @param timeRange
- * time range of a lost event
- * @param nbLostEvents
- * the number of lost events
- * @param fullRange
- * Full range or time range for histogram request
- * @since 2.2
- */
- public synchronized void countLostEvent(TmfTimeRange timeRange, long nbLostEvents, boolean fullRange) {
-
- // Validate
- if (timeRange.getStartTime().getValue() < 0 || timeRange.getEndTime().getValue() < 0) {
- return;
- }
-
- // Compact as needed
- if (fullRange) {
- while (timeRange.getEndTime().getValue() >= fTimeLimit) {
- mergeBuckets();
- }
- }
-
- int indexStart = (int) ((timeRange.getStartTime().getValue() - fFirstBucketTime) / fBucketDuration);
- int indexEnd = (int) ((timeRange.getEndTime().getValue() - fFirstBucketTime) / fBucketDuration);
- int nbBucketRange = (indexEnd - indexStart) + 1;
-
- int lostEventPerBucket = (int) Math.ceil((double) nbLostEvents / nbBucketRange);
- long lastLostCol = Math.max(1, nbLostEvents - lostEventPerBucket * (nbBucketRange - 1));
-
- // Increment the right bucket, bear in mind that ranges make it almost certain that some lost events are out of range
- for (int index = indexStart; index <= indexEnd && index < fLostEventsBuckets.length; index++) {
- if (index == (indexStart + nbBucketRange - 1)) {
- fLostEventsBuckets[index] += lastLostCol;
- } else {
- fLostEventsBuckets[index] += lostEventPerBucket;
- }
- }
-
- fNbEvents++;
-
- fireModelUpdateNotification(nbLostEvents);
- }
-
- /**
- * Scale the model data to the width, height and bar width requested.
- *
- * @param width
- * A width of the histogram canvas
- * @param height
- * A height of the histogram canvas
- * @param barWidth
- * A width (in pixel) of a histogram bar
- * @return the result array of size [width] and where the highest value
- * doesn't exceed [height]
- *
- * @see org.eclipse.linuxtools.tmf.ui.views.histogram.IHistogramDataModel#scaleTo(int,
- * int, int)
- */
- @Override
- public HistogramScaledData scaleTo(int width, int height, int barWidth) {
- // Basic validation
- if ((width <= 0) || (height <= 0) || (barWidth <= 0))
- {
- throw new AssertionError("Invalid histogram dimensions (" + width + "x" + height + ", barWidth=" + barWidth + ")"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
- }
-
- // The result structure
- HistogramScaledData result = new HistogramScaledData(width, height, barWidth);
-
- // Scale horizontally
- result.fMaxValue = 0;
-
- int nbBars = width / barWidth;
- int bucketsPerBar = (fLastBucket / nbBars) + 1;
- result.fBucketDuration = Math.max(bucketsPerBar * fBucketDuration, 1);
- for (int i = 0; i < nbBars; i++) {
- int count = 0;
- int countLostEvent = 0;
- result.fData[i] = new HistogramBucket(getNbTraces());
- for (int j = i * bucketsPerBar; j < ((i + 1) * bucketsPerBar); j++) {
- if (fNbBuckets <= j) {
- break;
- }
- if (fBuckets[j] != null) {
- count += fBuckets[j].getNbEvents();
- result.fData[i].add(fBuckets[j]);
- }
- countLostEvent += fLostEventsBuckets[j];
- }
- result.fLostEventsData[i] = countLostEvent;
- result.fLastBucket = i;
- if (result.fMaxValue < count) {
- result.fMaxValue = count;
- }
- if (result.fMaxCombinedValue < count + countLostEvent) {
- result.fMaxCombinedValue = count + countLostEvent;
- }
- }
-
- // Scale vertically
- if (result.fMaxValue > 0) {
- result.fScalingFactor = (double) height / result.fMaxValue;
- }
- if (result.fMaxCombinedValue > 0) {
- result.fScalingFactorCombined = (double) height / result.fMaxCombinedValue;
- }
-
- fBucketDuration = Math.max(fBucketDuration, 1);
- // Set selection begin and end index in the scaled histogram
- result.fSelectionBeginBucket = (int) ((fSelectionBegin - fFirstBucketTime) / fBucketDuration) / bucketsPerBar;
- result.fSelectionEndBucket = (int) ((fSelectionEnd - fFirstBucketTime) / fBucketDuration) / bucketsPerBar;
-
- result.fFirstBucketTime = fFirstBucketTime;
- result.fFirstEventTime = fFirstEventTime;
- return result;
- }
-
- // ------------------------------------------------------------------------
- // Helper functions
- // ------------------------------------------------------------------------
-
- private void updateEndTime() {
- fTimeLimit = fFirstBucketTime + (fNbBuckets * fBucketDuration);
- }
-
- private void mergeBuckets() {
- for (int i = 0; i < (fNbBuckets / 2); i++) {
- fBuckets[i] = new HistogramBucket(fBuckets[2 * i], fBuckets[(2 * i) + 1]);
- fLostEventsBuckets[i] = fLostEventsBuckets[2 * i] + fLostEventsBuckets[(2 * i) + 1];
- }
- Arrays.fill(fBuckets, fNbBuckets / 2, fNbBuckets, null);
- Arrays.fill(fLostEventsBuckets, fNbBuckets / 2, fNbBuckets, 0);
- fBucketDuration *= 2;
- updateEndTime();
- fLastBucket = (fNbBuckets / 2) - 1;
- }
-
- private void moveBuckets(int offset) {
- for (int i = fNbBuckets - 1; i >= offset; i--) {
- fBuckets[i] = new HistogramBucket(fBuckets[i - offset]);
- fLostEventsBuckets[i] = fLostEventsBuckets[i - offset];
- }
-
- for (int i = 0; i < offset; i++) {
- fBuckets[i] = null;
- fLostEventsBuckets[i] = 0;
- }
- }
-
- private long getOffset(long timestamp) {
- long offset = (fFirstBucketTime - timestamp) / fBucketDuration;
- if (((fFirstBucketTime - timestamp) % fBucketDuration) != 0) {
- offset++;
- }
- return offset;
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/histogram/HistogramRequest.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/histogram/HistogramRequest.java
deleted file mode 100644
index 2df40ac62c..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/histogram/HistogramRequest.java
+++ /dev/null
@@ -1,119 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009, 2014 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:
- * William Bourque - Initial API and implementation
- * Yuriy Vashchuk - Heritage correction.
- * Francois Chouinard - Cleanup and refactoring
- * Francois Chouinard - Moved from LTTng to TMF
- * Simon Delisle - Added a new parameter to the constructor
- * Xavier Raynaud - Support multi-trace coloring
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.views.histogram;
-
-import org.eclipse.linuxtools.tmf.core.event.ITmfEvent;
-import org.eclipse.linuxtools.tmf.core.event.ITmfLostEvent;
-import org.eclipse.linuxtools.tmf.core.request.ITmfEventRequest;
-import org.eclipse.linuxtools.tmf.core.request.TmfEventRequest;
-import org.eclipse.linuxtools.tmf.core.timestamp.ITmfTimestamp;
-import org.eclipse.linuxtools.tmf.core.timestamp.TmfTimeRange;
-
-/**
- * Class to request events for given time range from a trace to fill a
- * HistogramDataModel and HistogramView.
- *
- * @version 1.0
- * @author Francois Chouinard
- * <p>
- */
-public class HistogramRequest extends TmfEventRequest {
-
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
-
- /**
- * The histogram data model to fill.
- */
- protected final HistogramDataModel fHistogram;
-
- private final boolean fFullRange;
-
- // ------------------------------------------------------------------------
- // Constructor
- // ------------------------------------------------------------------------
-
- /**
- * Constructor
- *
- * @param histogram
- * The histogram data model
- * @param range
- * The time range to request data
- * @param rank
- * The index of the first event to retrieve
- * @param nbEvents
- * The number of events requested
- * @param blockSize
- * The number of events per block
- * @param execType
- * The requested execution priority
- * @param fullRange
- * Full range or time range for histogram request
- * @since 3.0
- */
- public HistogramRequest(HistogramDataModel histogram, TmfTimeRange range,
- int rank, int nbEvents, int blockSize,
- ITmfEventRequest.ExecutionType execType, boolean fullRange) {
- super(ITmfEvent.class, range, rank, nbEvents, execType);
- fHistogram = histogram;
- fFullRange = fullRange;
- }
-
- // ------------------------------------------------------------------------
- // TmfEventRequest
- // ------------------------------------------------------------------------
-
- /**
- * Handle the event from the trace by updating the histogram data model.
- *
- * @param event
- * a event from the trace
- * @see org.eclipse.linuxtools.tmf.core.request.TmfEventRequest#handleData(org.eclipse.linuxtools.tmf.core.event.ITmfEvent)
- */
- @Override
- public void handleData(ITmfEvent event) {
- super.handleData(event);
- synchronized (fHistogram) {
- if (!isCancelled()) {
- if (event instanceof ITmfLostEvent) {
- ITmfLostEvent lostEvents = (ITmfLostEvent) event;
- /* clear the old data when it is a new request */
- fHistogram.countLostEvent(lostEvents.getTimeRange(), lostEvents.getNbLostEvents(), fFullRange);
-
- } else { /* handle lost event */
- long timestamp = event.getTimestamp().normalize(0, ITmfTimestamp.NANOSECOND_SCALE).getValue();
- fHistogram.countEvent(getNbRead(), timestamp, event.getTrace());
- }
- }
- }
- }
-
- /**
- * Complete the request. It also notifies the histogram model about the
- * completion.
- *
- * @see org.eclipse.linuxtools.tmf.core.request.TmfEventRequest#handleCompleted()
- */
- @Override
- public void handleCompleted() {
- fHistogram.complete();
- super.handleCompleted();
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/histogram/HistogramScaledData.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/histogram/HistogramScaledData.java
deleted file mode 100644
index 4a10cc4af0..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/histogram/HistogramScaledData.java
+++ /dev/null
@@ -1,210 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011, 2014 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
- * Bernd Hufmann - Added setter and getter and bar width support
- * Francois Chouinard - Moved from LTTng to TMF
- * Patrick Tasse - Support selection range
- * Jean-Christian Kouamé - Support to manage lost events
- * Xavier Raynaud - Support multi-trace coloring
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.views.histogram;
-
-import java.util.Arrays;
-
-/**
- * Convenience class/struct for scaled histogram data.
- *
- * @version 1.0
- * @author Francois Chouinard
- */
-public class HistogramScaledData {
-
- // ------------------------------------------------------------------------
- // Constants
- // ------------------------------------------------------------------------
-
- /**
- * Indicator value that bucket is out of range (not filled).
- */
- public static final int OUT_OF_RANGE_BUCKET = -1;
-
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
- /**
- * Width of histogram canvas (number of pixels).
- */
- public int fWidth;
- /**
- * Height of histogram canvas (number of pixels).
- */
- public int fHeight;
- /**
- * Width of one histogram bar (number of pixels).
- */
- public int fBarWidth;
- /**
- * Array of scaled values
- */
- public HistogramBucket[] fData;
- /**
- * Array of scaled values combined including the lost events.
- * This array contains the number of lost events for each bar in the histogram
- * @since 2.2
- */
- public final int[] fLostEventsData;
- /**
- * The bucket duration of a scaled data bucket.
- */
- public long fBucketDuration;
- /**
- * The maximum number of events of all buckets.
- */
- public long fMaxValue;
- /**
- * the maximum of events of all buckets including the lost events
- * @since 2.2
- */
- public long fMaxCombinedValue;
- /**
- * The index of the selection begin bucket.
- * @since 2.1
- */
- public int fSelectionBeginBucket;
- /**
- * The index of the selection end bucket.
- * @since 2.1
- */
- public int fSelectionEndBucket;
- /**
- * The index of the last bucket.
- */
- public int fLastBucket;
- /**
- * The scaling factor used to fill the scaled data.
- */
- public double fScalingFactor;
- /**
- * The scaling factor used to fill the scaled data including the lost events.
- * @since 2.2
- */
- public double fScalingFactorCombined;
- /**
- * The scaling factor used to fill the combining scaled data including lost events
- */
- /**
- * Time of first bucket.
- */
- public long fFirstBucketTime;
- /**
- * The time of the first event.
- */
- public long fFirstEventTime;
- /**
- * show the lost events or not
- * @since 2.2
- */
- public static volatile boolean hideLostEvents = false;
-
- // ------------------------------------------------------------------------
- // Constructor
- // ------------------------------------------------------------------------
-
- /**
- * Constructor.
- * @param width the canvas width
- * @param height the canvas height
- * @param barWidth the required bar width
- */
- public HistogramScaledData(int width, int height, int barWidth) {
- fWidth = width;
- fHeight = height;
- fBarWidth = barWidth;
- fData = new HistogramBucket[width / fBarWidth];
- fLostEventsData = new int[width / fBarWidth];
- fBucketDuration = 1;
- fMaxValue = 0;
- fMaxCombinedValue = 0;
- fSelectionBeginBucket = 0;
- fSelectionEndBucket = 0;
- fLastBucket = 0;
- fScalingFactor = 1;
- fScalingFactorCombined = 1;
- fFirstBucketTime = 0;
- }
-
- /**
- * Copy constructor
- * @param other another scaled data.
- */
- public HistogramScaledData(HistogramScaledData other) {
- fWidth = other.fWidth;
- fHeight = other.fHeight;
- fBarWidth = other.fBarWidth;
- fData = Arrays.copyOf(other.fData, other.fData.length);
- fLostEventsData = Arrays.copyOf(other.fLostEventsData, other.fLostEventsData.length);
- fBucketDuration = other.fBucketDuration;
- fMaxValue = other.fMaxValue;
- fMaxCombinedValue = other.fMaxCombinedValue;
- fSelectionBeginBucket = other.fSelectionBeginBucket;
- fSelectionEndBucket = other.fSelectionEndBucket;
- fLastBucket = other.fLastBucket;
- fScalingFactor = other.fScalingFactor;
- fScalingFactorCombined = other.fScalingFactorCombined;
- fFirstBucketTime = other.fFirstBucketTime;
- }
-
- // ------------------------------------------------------------------------
- // Setter and Getter
- // ------------------------------------------------------------------------
-
- /**
- * Returns the time of the first bucket of the scaled data.
- * @return the time of the first bucket.
- */
- public long getFirstBucketTime() {
- return fFirstBucketTime;
- }
-
- /**
- * Set the first event time.
- * @param firstEventTime The time to set
- */
- public void setFirstBucketTime(long firstEventTime) {
- fFirstBucketTime = firstEventTime;
- }
-
- /**
- * Returns the time of the last bucket.
- * @return last bucket time
- */
- public long getLastBucketTime() {
- return getBucketStartTime(fLastBucket);
- }
-
- /**
- * Returns the time of the bucket start time for given index.
- * @param index A bucket index.
- * @return the time of the bucket start time
- */
- public long getBucketStartTime(int index) {
- return fFirstBucketTime + index * fBucketDuration;
- }
-
- /**
- * Returns the time of the bucket end time for given index.
- * @param index A bucket index.
- * @return the time of the bucket end time
- */
- public long getBucketEndTime(int index) {
- return getBucketStartTime(index) + fBucketDuration;
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/histogram/HistogramSelectionEndControl.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/histogram/HistogramSelectionEndControl.java
deleted file mode 100644
index c9e6913612..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/histogram/HistogramSelectionEndControl.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 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:
- * Patrick Tasse - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.views.histogram;
-
-import org.eclipse.swt.widgets.Composite;
-
-/**
- * Text control for selection end time
- *
- * @since 2.2
- */
-public class HistogramSelectionEndControl extends HistogramCurrentTimeControl {
-
- /**
- * Standard constructor
- *
- * @param parentView A parent histogram view
- * @param parent A parent composite to draw in
- * @param label A label
- * @param value A value
- */
- public HistogramSelectionEndControl(HistogramView parentView, Composite parent, String label, long value) {
- super(parentView, parent, label, value);
- }
-
- @Override
- protected void updateSelectionTime(long time) {
- long begin = Math.min(fParentView.getSelectionBegin(), time);
- long end = Math.max(fParentView.getSelectionBegin(), time);
- fParentView.updateSelectionTime(begin, end);
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/histogram/HistogramSelectionStartControl.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/histogram/HistogramSelectionStartControl.java
deleted file mode 100644
index 3f259ff7e9..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/histogram/HistogramSelectionStartControl.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 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:
- * Patrick Tasse - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.views.histogram;
-
-import org.eclipse.swt.widgets.Composite;
-
-/**
- * Text control for selection start time
- *
- * @since 2.2
- */
-public class HistogramSelectionStartControl extends HistogramCurrentTimeControl {
-
- /**
- * Standard constructor
- *
- * @param parentView A parent histogram view
- * @param parent A parent composite to draw in
- * @param label A label
- * @param value A value
- */
- public HistogramSelectionStartControl(HistogramView parentView, Composite parent, String label, long value) {
- super(parentView, parent, label, value);
- }
-
- @Override
- protected void updateSelectionTime(long time) {
- if (fParentView.getLinkState()) {
- fParentView.updateSelectionTime(time, time);
- } else {
- long begin = Math.min(time, fParentView.getSelectionEnd());
- long end = Math.max(time, fParentView.getSelectionEnd());
- fParentView.updateSelectionTime(begin, end);
- }
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/histogram/HistogramTextControl.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/histogram/HistogramTextControl.java
deleted file mode 100644
index d0404f67c7..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/histogram/HistogramTextControl.java
+++ /dev/null
@@ -1,280 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009, 2013 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:
- * Wiliam Bourque - Adapted from SpinnerGroup (in TimeFrameView)
- * Francois Chouinard - Cleanup and refactoring
- * Francois Chouinard - Moved from LTTng to TMF
- * Francois Chouinard - Better handling of control display, support for signals
- * Patrick Tasse - Update for mouse wheel zoom
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.views.histogram;
-
-import org.eclipse.linuxtools.tmf.core.signal.TmfSignalManager;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.FocusEvent;
-import org.eclipse.swt.events.FocusListener;
-import org.eclipse.swt.events.KeyEvent;
-import org.eclipse.swt.events.KeyListener;
-import org.eclipse.swt.events.MouseWheelListener;
-import org.eclipse.swt.graphics.Font;
-import org.eclipse.swt.graphics.FontData;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Text;
-
-/**
- * This control provides a group containing a text control.
- *
- * @version 1.1
- * @author Francois Chouinard
- */
-public abstract class HistogramTextControl implements FocusListener, KeyListener {
-
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
-
- /**
- * The parent histogram view.
- */
- protected final HistogramView fParentView;
-
- // Controls data
- private final Composite fParent;
- private Font fFont;
- private final Composite fComposite;
- private final Label fLabel;
-
- /**
- * The text value field.
- */
- protected final Text fTextValue;
-
- private long fValue;
-
- // ------------------------------------------------------------------------
- // Constructors
- // ------------------------------------------------------------------------
-
- /**
- * Constructor with given group and text values.
- *
- * @param parentView The parent histogram view.
- * @param parent The parent composite
- * @param label The text label
- * @param value The initial value
- * @since 2.0
- */
- public HistogramTextControl(HistogramView parentView, Composite parent, String label, long value)
- {
- fParentView = parentView;
- fParent = parent;
-
- // --------------------------------------------------------------------
- // Reduce font size for a more pleasing rendering
- // --------------------------------------------------------------------
-
- final int fontSizeAdjustment = -1;
- final Font font = parent.getFont();
- final FontData fontData = font.getFontData()[0];
- fFont = new Font(font.getDevice(), fontData.getName(), fontData.getHeight() + fontSizeAdjustment, fontData.getStyle());
-
- // --------------------------------------------------------------------
- // Create the group
- // --------------------------------------------------------------------
-
- // Re-used layout variables
- GridLayout gridLayout;
- GridData gridData;
-
- // Composite
- gridLayout = new GridLayout(3, false);
- gridLayout.marginHeight = 0;
- gridLayout.marginWidth = 0;
- fComposite = new Composite(fParent, SWT.NONE);
- fComposite.setLayout(gridLayout);
-
- gridData = new GridData(SWT.FILL, SWT.CENTER, true, false);
- Label filler = new Label(fComposite, SWT.NONE);
- filler.setLayoutData(gridData);
-
- // Label
- gridData = new GridData(SWT.CENTER, SWT.CENTER, false, false);
- fLabel = new Label(fComposite, SWT.NONE);
- fLabel.setText(label);
- fLabel.setFont(fFont);
-
- // Text control
- gridData = new GridData(SWT.CENTER, SWT.CENTER, false, false);
- fTextValue = new Text(fComposite, SWT.BORDER);
- fTextValue.setFont(fFont);
- fTextValue.setLayoutData(gridData);
-
- // --------------------------------------------------------------------
- // Add listeners
- // --------------------------------------------------------------------
-
- fTextValue.addFocusListener(this);
- fTextValue.addKeyListener(this);
-
- TmfSignalManager.register(this);
- }
-
- /**
- * Dispose of the widget
- * @since 2.0
- */
- public void dispose() {
- fFont.dispose();
- TmfSignalManager.deregister(this);
- }
-
- // ------------------------------------------------------------------------
- // Accessors
- // ------------------------------------------------------------------------
-
- /**
- * Returns if widget isDisposed or not
- * @return <code>true</code> if widget is disposed else <code>false</code>
- */
- public boolean isDisposed() {
- return fComposite.isDisposed();
- }
-
- // ------------------------------------------------------------------------
- // Operations
- // ------------------------------------------------------------------------
-
- /**
- * Updates the text value.
- */
- protected abstract void updateValue();
-
- /**
- * Set the Grid Layout Data for the group.
- * @param layoutData A GridData to set.
- */
- public void setLayoutData(GridData layoutData) {
- fComposite.setLayoutData(layoutData);
- }
-
- /**
- * Enables the receiver if the argument is <code>true</code>,
- * and disables it otherwise. A disabled control is typically
- * not selectable from the user interface and draws with an
- * inactive or "grayed" look.
- *
- * @param enabled the new enabled state
- * @since 2.2
- */
- public void setEnabled(boolean enabled) {
- fTextValue.setEnabled(enabled);
- }
-
- /**
- * The time value in to set in the text field.
- *
- * @param time the time to set
- * @param displayTime the display value
- * @since 2.0
- */
- protected void setValue(final long time, final String displayTime) {
- // If this is the UI thread, process now
- Display display = Display.getCurrent();
- if (display != null) {
- if (!isDisposed()) {
- fValue = time;
- fTextValue.setText(displayTime);
- fComposite.layout();
- fParent.getParent().layout();
- }
- return;
- }
-
- // Call self from the UI thread
- if (!isDisposed()) {
- Display.getDefault().asyncExec(new Runnable() {
- @Override
- public void run() {
- if (!isDisposed()) {
- setValue(time, displayTime);
- }
- }
- });
- }
- }
-
- /**
- * @param time the time value to display
- */
- public abstract void setValue(long time);
-
- /**
- * Returns the time value.
- * @return time value.
- */
- public long getValue() {
- return fValue;
- }
-
- /**
- * Add a mouse wheel listener to the text control
- * @param listener the mouse wheel listener
- * @since 2.0
- */
- public void addMouseWheelListener(MouseWheelListener listener) {
- fTextValue.addMouseWheelListener(listener);
- }
-
- /**
- * Remove a mouse wheel listener from the text control
- * @param listener the mouse wheel listener
- * @since 2.0
- */
- public void removeMouseWheelListener(MouseWheelListener listener) {
- fTextValue.removeMouseWheelListener(listener);
- }
-
- // ------------------------------------------------------------------------
- // FocusListener
- // ------------------------------------------------------------------------
-
- @Override
- public void focusGained(FocusEvent event) {
- }
-
- @Override
- public void focusLost(FocusEvent event) {
- updateValue();
- }
-
- // ------------------------------------------------------------------------
- // KeyListener
- // ------------------------------------------------------------------------
-
- @Override
- public void keyPressed(KeyEvent event) {
- switch (event.character) {
- case SWT.CR:
- updateValue();
- break;
- default:
- break;
- }
- }
-
- @Override
- public void keyReleased(KeyEvent e) {
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/histogram/HistogramTimeRangeControl.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/histogram/HistogramTimeRangeControl.java
deleted file mode 100644
index cc064c3d3a..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/histogram/HistogramTimeRangeControl.java
+++ /dev/null
@@ -1,106 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011, 2013 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 - Moved from LTTng to TMF
- * Francois Chouinard - Simplified constructor, handle interval format change
- * Patrick Tasse - Update value handling
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.views.histogram;
-
-import java.text.ParseException;
-
-import org.eclipse.linuxtools.tmf.core.signal.TmfSignalHandler;
-import org.eclipse.linuxtools.tmf.core.signal.TmfTimestampFormatUpdateSignal;
-import org.eclipse.linuxtools.tmf.core.timestamp.ITmfTimestamp;
-import org.eclipse.linuxtools.tmf.core.timestamp.TmfTimestamp;
-import org.eclipse.linuxtools.tmf.core.timestamp.TmfTimestampFormat;
-import org.eclipse.swt.widgets.Composite;
-
-/**
- * This control provides a group containing a text control.
- *
- * @version 2.0
- * @author Francois Chouinard
- */
-public class HistogramTimeRangeControl extends HistogramTextControl {
-
- // ------------------------------------------------------------------------
- // Construction
- // ------------------------------------------------------------------------
-
- /**
- * Constructor with given group and text values.
- *
- * @param parentView The parent histogram view.
- * @param parent The parent composite
- * @param groupLabel A group value
- * @param value A text value
- * @since 2.0
- */
- public HistogramTimeRangeControl(HistogramView parentView, Composite parent,
- String groupLabel, long value)
- {
- super(parentView, parent, groupLabel, value);
- }
-
- // ------------------------------------------------------------------------
- // Operations
- // ------------------------------------------------------------------------
-
- @Override
- protected void updateValue() {
- if (getValue() == Long.MIN_VALUE) {
- fTextValue.setText(""); //$NON-NLS-1$
- return;
- }
- String string = fTextValue.getText();
- long value = getValue();
- try {
- value = TmfTimestampFormat.getDefaulIntervalFormat().parseValue(string);
- if (value < 1) {
- value = getValue();
- }
- } catch (ParseException e) {
- }
- if (getValue() != value) {
- fParentView.updateTimeRange(value);
- } else {
- setValue(value);
- }
- }
-
- @Override
- public void setValue(long time) {
- if (time != Long.MIN_VALUE) {
- ITmfTimestamp ts = new TmfTimestamp(time, ITmfTimestamp.NANOSECOND_SCALE);
- super.setValue(time, ts.toString(TmfTimestampFormat.getDefaulIntervalFormat()));
- } else {
- super.setValue(time, ""); //$NON-NLS-1$
- }
- }
-
- // ------------------------------------------------------------------------
- // Signal Handlers
- // ------------------------------------------------------------------------
-
- /**
- * Format the interval and update the display. Compute the new text size,
- * adjust the text and group widgets and then refresh the view layout.
- *
- * @param signal the incoming signal
- * @since 2.0
- */
- @TmfSignalHandler
- public void intervalFormatUpdated(TmfTimestampFormatUpdateSignal signal) {
- setValue(getValue());
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/histogram/HistogramView.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/histogram/HistogramView.java
deleted file mode 100644
index 3287b70226..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/histogram/HistogramView.java
+++ /dev/null
@@ -1,887 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009, 2013 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:
- * William Bourque - Initial API and implementation
- * Yuriy Vashchuk - GUI reorganisation, simplification and some related code improvements.
- * Yuriy Vashchuk - Histograms optimisation.
- * Yuriy Vashchuk - Histogram Canvas Heritage correction
- * Francois Chouinard - Cleanup and refactoring
- * Francois Chouinard - Moved from LTTng to TMF
- * Patrick Tasse - Update for mouse wheel zoom
- * Xavier Raynaud - Support multi-trace coloring
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.views.histogram;
-
-import org.eclipse.jdt.annotation.NonNull;
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.action.Separator;
-import org.eclipse.linuxtools.internal.tmf.ui.Activator;
-import org.eclipse.linuxtools.internal.tmf.ui.ITmfImageConstants;
-import org.eclipse.linuxtools.tmf.core.request.ITmfEventRequest;
-import org.eclipse.linuxtools.tmf.core.request.ITmfEventRequest.ExecutionType;
-import org.eclipse.linuxtools.tmf.core.signal.TmfRangeSynchSignal;
-import org.eclipse.linuxtools.tmf.core.signal.TmfSignalHandler;
-import org.eclipse.linuxtools.tmf.core.signal.TmfSignalThrottler;
-import org.eclipse.linuxtools.tmf.core.signal.TmfTimeSynchSignal;
-import org.eclipse.linuxtools.tmf.core.signal.TmfTraceClosedSignal;
-import org.eclipse.linuxtools.tmf.core.signal.TmfTraceOpenedSignal;
-import org.eclipse.linuxtools.tmf.core.signal.TmfTraceRangeUpdatedSignal;
-import org.eclipse.linuxtools.tmf.core.signal.TmfTraceSelectedSignal;
-import org.eclipse.linuxtools.tmf.core.signal.TmfTraceUpdatedSignal;
-import org.eclipse.linuxtools.tmf.core.timestamp.ITmfTimestamp;
-import org.eclipse.linuxtools.tmf.core.timestamp.TmfTimeRange;
-import org.eclipse.linuxtools.tmf.core.timestamp.TmfTimestamp;
-import org.eclipse.linuxtools.tmf.core.trace.ITmfTrace;
-import org.eclipse.linuxtools.tmf.core.trace.TmfTraceManager;
-import org.eclipse.linuxtools.tmf.ui.views.TmfView;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.CLabel;
-import org.eclipse.swt.events.MouseAdapter;
-import org.eclipse.swt.events.MouseEvent;
-import org.eclipse.swt.events.MouseWheelListener;
-import org.eclipse.swt.events.PaintEvent;
-import org.eclipse.swt.events.PaintListener;
-import org.eclipse.swt.graphics.GC;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.graphics.Rectangle;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.layout.RowLayout;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.ui.IActionBars;
-
-/**
- * The purpose of this view is to provide graphical time distribution statistics about the trace events.
- * <p>
- * The view is composed of two histograms and two controls:
- * <ul>
- * <li>an event distribution histogram for the whole trace;
- * <li>an event distribution histogram for current time window (window span);
- * <li>the timestamp of the currently selected event;
- * <li>the window span (size of the time window of the smaller histogram).
- * </ul>
- * The histograms x-axis show their respective time range.
- *
- * @version 2.0
- * @author Francois Chouinard
- */
-public class HistogramView extends TmfView {
-
- // ------------------------------------------------------------------------
- // Constants
- // ------------------------------------------------------------------------
-
- /**
- * The view ID as defined in plugin.xml
- */
- public static final @NonNull String ID = "org.eclipse.linuxtools.tmf.ui.views.histogram"; //$NON-NLS-1$
-
- private static final Image LINK_IMG = Activator.getDefault().getImageFromPath("/icons/etool16/link.gif"); //$NON-NLS-1$
-
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
-
- // Parent widget
- private Composite fParent;
-
- // The current trace
- private ITmfTrace fTrace;
-
- // Current timestamp/time window - everything in the TIME_SCALE
- private long fTraceStartTime;
- private long fTraceEndTime;
- private long fWindowStartTime;
- private long fWindowEndTime;
- private long fWindowSpan;
- private long fSelectionBeginTime;
- private long fSelectionEndTime;
-
- // Time controls
- private HistogramTextControl fSelectionStartControl;
- private HistogramTextControl fSelectionEndControl;
- private HistogramTextControl fTimeSpanControl;
-
- // Link
- private Label fLinkButton;
- private boolean fLinkState;
-
- // Histogram/request for the full trace range
- private static FullTraceHistogram fFullTraceHistogram;
- private HistogramRequest fFullTraceRequest;
-
- // Histogram/request for the selected time range
- private static TimeRangeHistogram fTimeRangeHistogram;
- private HistogramRequest fTimeRangeRequest;
-
- // Legend area
- private Composite fLegendArea;
- private Image[] fLegendImages;
-
- // Throttlers for the time sync and time-range sync signals
- private final TmfSignalThrottler fTimeSyncThrottle;
- private final TmfSignalThrottler fTimeRangeSyncThrottle;
-
- // Action for toggle showing the lost events
- private Action hideLostEventsAction;
- // Action for toggle showing the traces
- private Action showTraceAction;
-
- // ------------------------------------------------------------------------
- // Constructor
- // ------------------------------------------------------------------------
-
- /**
- * Default constructor
- */
- public HistogramView() {
- super(ID);
- fTimeSyncThrottle = new TmfSignalThrottler(this, 200);
- fTimeRangeSyncThrottle = new TmfSignalThrottler(this, 200);
- }
-
- @Override
- public void dispose() {
- if ((fTimeRangeRequest != null) && !fTimeRangeRequest.isCompleted()) {
- fTimeRangeRequest.cancel();
- }
- if ((fFullTraceRequest != null) && !fFullTraceRequest.isCompleted()) {
- fFullTraceRequest.cancel();
- }
- fFullTraceHistogram.dispose();
- fTimeRangeHistogram.dispose();
- fSelectionStartControl.dispose();
- fSelectionEndControl.dispose();
- fTimeSpanControl.dispose();
- super.dispose();
- }
-
- // ------------------------------------------------------------------------
- // TmfView
- // ------------------------------------------------------------------------
-
- @Override
- public void createPartControl(Composite parent) {
-
- fParent = parent;
-
- // Control labels
- final String selectionStartLabel = Messages.HistogramView_selectionStartLabel;
- final String selectionEndLabel = Messages.HistogramView_selectionEndLabel;
- final String windowSpanLabel = Messages.HistogramView_windowSpanLabel;
-
- // --------------------------------------------------------------------
- // Set the HistogramView layout
- // --------------------------------------------------------------------
-
- Composite viewComposite = new Composite(fParent, SWT.FILL);
- GridLayout gridLayout = new GridLayout();
- gridLayout.numColumns = 2;
- gridLayout.horizontalSpacing = 5;
- gridLayout.verticalSpacing = 0;
- gridLayout.marginHeight = 0;
- gridLayout.marginWidth = 0;
- viewComposite.setLayout(gridLayout);
-
- // --------------------------------------------------------------------
- // Time controls
- // --------------------------------------------------------------------
-
- Composite controlsComposite = new Composite(viewComposite, SWT.NONE);
- gridLayout = new GridLayout();
- gridLayout.numColumns = 2;
- gridLayout.marginHeight = 0;
- gridLayout.marginWidth = 0;
- gridLayout.horizontalSpacing = 5;
- gridLayout.verticalSpacing = 1;
- gridLayout.makeColumnsEqualWidth = false;
- controlsComposite.setLayout(gridLayout);
- GridData gridData = new GridData(SWT.FILL, SWT.CENTER, false, false);
- controlsComposite.setLayoutData(gridData);
-
- Composite selectionGroup = new Composite(controlsComposite, SWT.BORDER);
- gridLayout = new GridLayout();
- gridLayout.marginHeight = 0;
- gridLayout.marginWidth = 0;
- gridLayout.horizontalSpacing = 0;
- gridLayout.verticalSpacing = 0;
- selectionGroup.setLayout(gridLayout);
-
- // Selection start control
- gridData = new GridData();
- gridData.horizontalAlignment = SWT.FILL;
- gridData.verticalAlignment = SWT.CENTER;
- fSelectionStartControl = new HistogramSelectionStartControl(this, selectionGroup, selectionStartLabel, 0L);
- fSelectionStartControl.setLayoutData(gridData);
- fSelectionStartControl.setValue(Long.MIN_VALUE);
-
- // Selection end control
- gridData = new GridData();
- gridData.horizontalAlignment = SWT.FILL;
- gridData.verticalAlignment = SWT.CENTER;
- fSelectionEndControl = new HistogramSelectionEndControl(this, selectionGroup, selectionEndLabel, 0L);
- fSelectionEndControl.setLayoutData(gridData);
- fSelectionEndControl.setValue(Long.MIN_VALUE);
-
- // Link button
- gridData = new GridData();
- fLinkButton = new Label(controlsComposite, SWT.NONE);
- fLinkButton.setImage(LINK_IMG);
- fLinkButton.setLayoutData(gridData);
- addLinkButtonListeners();
-
- // Window span time control
- gridData = new GridData();
- gridData.horizontalAlignment = SWT.FILL;
- gridData.verticalAlignment = SWT.CENTER;
- fTimeSpanControl = new HistogramTimeRangeControl(this, controlsComposite, windowSpanLabel, 0L);
- fTimeSpanControl.setLayoutData(gridData);
- fTimeSpanControl.setValue(Long.MIN_VALUE);
-
- // --------------------------------------------------------------------
- // Time range histogram
- // --------------------------------------------------------------------
-
- Composite timeRangeComposite = new Composite(viewComposite, SWT.NONE);
- gridLayout = new GridLayout();
- gridLayout.numColumns = 1;
- gridLayout.marginHeight = 0;
- gridLayout.marginWidth = 0;
- gridLayout.marginTop = 5;
- gridLayout.horizontalSpacing = 0;
- gridLayout.verticalSpacing = 0;
- gridLayout.marginLeft = 5;
- gridLayout.marginRight = 5;
- timeRangeComposite.setLayout(gridLayout);
-
- // Use remaining horizontal space
- gridData = new GridData();
- gridData.horizontalAlignment = SWT.FILL;
- gridData.verticalAlignment = SWT.FILL;
- gridData.grabExcessHorizontalSpace = true;
- gridData.grabExcessVerticalSpace = true;
- timeRangeComposite.setLayoutData(gridData);
-
- // Histogram
- fTimeRangeHistogram = new TimeRangeHistogram(this, timeRangeComposite);
-
- // --------------------------------------------------------------------
- // Full range histogram
- // --------------------------------------------------------------------
-
- Composite fullRangeComposite = new Composite(viewComposite, SWT.FILL);
- gridLayout = new GridLayout();
- gridLayout.numColumns = 1;
- gridLayout.marginHeight = 0;
- gridLayout.marginWidth = 0;
- gridLayout.marginTop = 5;
- gridLayout.horizontalSpacing = 0;
- gridLayout.verticalSpacing = 0;
- gridLayout.marginLeft = 5;
- gridLayout.marginRight = 5;
- fullRangeComposite.setLayout(gridLayout);
-
- // Use remaining horizontal space
- gridData = new GridData();
- gridData.horizontalAlignment = SWT.FILL;
- gridData.verticalAlignment = SWT.FILL;
- gridData.horizontalSpan = 2;
- gridData.grabExcessHorizontalSpace = true;
- gridData.grabExcessVerticalSpace = true;
- fullRangeComposite.setLayoutData(gridData);
-
- // Histogram
- fFullTraceHistogram = new FullTraceHistogram(this, fullRangeComposite);
-
- fLegendArea = new Composite(viewComposite, SWT.FILL);
- fLegendArea.setLayoutData(new GridData(SWT.BEGINNING, SWT.BEGINNING, true, false, 2, 1));
- fLegendArea.setLayout(new RowLayout());
-
- // Add mouse wheel listener to time span control
- MouseWheelListener listener = fFullTraceHistogram.getZoom();
- fTimeSpanControl.addMouseWheelListener(listener);
-
-
- // View Action Handling
- contributeToActionBars();
-
- ITmfTrace trace = getActiveTrace();
- if (trace != null) {
- traceSelected(new TmfTraceSelectedSignal(this, trace));
- }
- }
-
- @Override
- public void setFocus() {
- fFullTraceHistogram.fCanvas.setFocus();
- }
-
- void refresh() {
- fParent.layout(true);
- }
-
- // ------------------------------------------------------------------------
- // Accessors
- // ------------------------------------------------------------------------
-
- /**
- * Returns the current trace handled by the view
- *
- * @return the current trace
- * @since 2.0
- */
- public ITmfTrace getTrace() {
- return fTrace;
- }
-
- /**
- * Returns the time range of the current selected window (base on default time scale).
- *
- * @return the time range of current selected window.
- * @since 2.0
- */
- public TmfTimeRange getTimeRange() {
- return new TmfTimeRange(
- new TmfTimestamp(fWindowStartTime, ITmfTimestamp.NANOSECOND_SCALE),
- new TmfTimestamp(fWindowEndTime, ITmfTimestamp.NANOSECOND_SCALE));
- }
-
- /**
- * get the show lost events action
- *
- * @return The action object
- * @since 2.2
- */
- public Action getShowLostEventsAction() {
- if (hideLostEventsAction == null) {
- /* show lost events */
- hideLostEventsAction = new Action(Messages.HistogramView_hideLostEvents, IAction.AS_CHECK_BOX) {
- @Override
- public void run() {
- HistogramScaledData.hideLostEvents = hideLostEventsAction.isChecked();
- long maxNbEvents = HistogramScaledData.hideLostEvents ? fFullTraceHistogram.fScaledData.fMaxValue : fFullTraceHistogram.fScaledData.fMaxCombinedValue;
- fFullTraceHistogram.setMaxNbEvents(maxNbEvents);
- maxNbEvents = HistogramScaledData.hideLostEvents ? fTimeRangeHistogram.fScaledData.fMaxValue : fTimeRangeHistogram.fScaledData.fMaxCombinedValue;
- fTimeRangeHistogram.setMaxNbEvents(maxNbEvents);
- }
- };
- hideLostEventsAction.setText(Messages.HistogramView_hideLostEvents);
- hideLostEventsAction.setToolTipText(Messages.HistogramView_hideLostEvents);
- hideLostEventsAction.setImageDescriptor(Activator.getDefault().getImageDescripterFromPath(ITmfImageConstants.IMG_UI_SHOW_LOST_EVENTS));
- }
- return hideLostEventsAction;
- }
-
- /**
- * get the show trace action
- *
- * @return The action object
- * @since 3.0
- */
- public Action getShowTraceAction() {
- if (showTraceAction == null) {
- /* show lost events */
- showTraceAction = new Action(Messages.HistogramView_showTraces, IAction.AS_CHECK_BOX) {
- @Override
- public void run() {
- Histogram.showTraces = showTraceAction.isChecked();
- fFullTraceHistogram.fCanvas.redraw();
- fTimeRangeHistogram.fCanvas.redraw();
- updateLegendArea();
- }
- };
- showTraceAction.setChecked(true);
- showTraceAction.setText(Messages.HistogramView_showTraces);
- showTraceAction.setToolTipText(Messages.HistogramView_showTraces);
- showTraceAction.setImageDescriptor(Activator.getDefault().getImageDescripterFromPath(ITmfImageConstants.IMG_UI_SHOW_HIST_TRACES));
- }
- return showTraceAction;
- }
-
- // ------------------------------------------------------------------------
- // Operations
- // ------------------------------------------------------------------------
-
- /**
- * Broadcast TmfSignal about new current selection time range.
- * @param beginTime the begin time of current selection.
- * @param endTime the end time of current selection.
- */
- void updateSelectionTime(long beginTime, long endTime) {
- updateDisplayedSelectionTime(beginTime, endTime);
- TmfTimestamp beginTs = new TmfTimestamp(beginTime, ITmfTimestamp.NANOSECOND_SCALE);
- TmfTimestamp endTs = new TmfTimestamp(endTime, ITmfTimestamp.NANOSECOND_SCALE);
- TmfTimeSynchSignal signal = new TmfTimeSynchSignal(this, beginTs, endTs);
- fTimeSyncThrottle.queue(signal);
- }
-
- /**
- * Get selection begin time
- * @return the begin time of current selection
- */
- long getSelectionBegin() {
- return fSelectionBeginTime;
- }
-
- /**
- * Get selection end time
- * @return the end time of current selection
- */
- long getSelectionEnd() {
- return fSelectionEndTime;
- }
-
- /**
- * Get the link state
- * @return true if begin and end selection time should be linked
- */
- boolean getLinkState() {
- return fLinkState;
- }
-
- /**
- * Broadcast TmfSignal about new selection time range.
- * @param startTime the new start time
- * @param endTime the new end time
- */
- void updateTimeRange(long startTime, long endTime) {
- if (fTrace != null) {
- // Build the new time range; keep the current time
- TmfTimeRange timeRange = new TmfTimeRange(
- new TmfTimestamp(startTime, ITmfTimestamp.NANOSECOND_SCALE),
- new TmfTimestamp(endTime, ITmfTimestamp.NANOSECOND_SCALE));
- fTimeSpanControl.setValue(endTime - startTime);
-
- updateDisplayedTimeRange(startTime, endTime);
-
- // Send the FW signal
- TmfRangeSynchSignal signal = new TmfRangeSynchSignal(this, timeRange);
- fTimeRangeSyncThrottle.queue(signal);
- }
- }
-
- /**
- * Broadcast TmfSignal about new selected time range.
- * @param newDuration new duration (relative to current start time)
- */
- public synchronized void updateTimeRange(long newDuration) {
- if (fTrace != null) {
- long delta = newDuration - fWindowSpan;
- long newStartTime = fWindowStartTime - (delta / 2);
- setNewRange(newStartTime, newDuration);
- }
- }
-
- private void setNewRange(long startTime, long duration) {
- long realStart = startTime;
-
- if (realStart < fTraceStartTime) {
- realStart = fTraceStartTime;
- }
-
- long endTime = realStart + duration;
- if (endTime > fTraceEndTime) {
- endTime = fTraceEndTime;
- if ((endTime - duration) > fTraceStartTime) {
- realStart = endTime - duration;
- } else {
- realStart = fTraceStartTime;
- }
- }
- updateTimeRange(realStart, endTime);
- }
-
- // ------------------------------------------------------------------------
- // Signal handlers
- // ------------------------------------------------------------------------
-
- /**
- * Handles trace opened signal. Loads histogram if new trace time range is not
- * equal <code>TmfTimeRange.NULL_RANGE</code>
- * @param signal the trace opened signal
- * @since 2.0
- */
- @TmfSignalHandler
- public void traceOpened(TmfTraceOpenedSignal signal) {
- assert (signal != null);
- fTrace = signal.getTrace();
- loadTrace();
- }
-
- /**
- * Handles trace selected signal. Loads histogram if new trace time range is not
- * equal <code>TmfTimeRange.NULL_RANGE</code>
- * @param signal the trace selected signal
- * @since 2.0
- */
- @TmfSignalHandler
- public void traceSelected(TmfTraceSelectedSignal signal) {
- assert (signal != null);
- if (fTrace != signal.getTrace()) {
- fTrace = signal.getTrace();
- loadTrace();
- }
- }
-
- private void loadTrace() {
- initializeHistograms();
- fParent.redraw();
- }
-
- /**
- * Handles trace closed signal. Clears the view and data model and cancels requests.
- * @param signal the trace closed signal
- * @since 2.0
- */
- @TmfSignalHandler
- public void traceClosed(TmfTraceClosedSignal signal) {
-
- if (signal.getTrace() != fTrace) {
- return;
- }
-
- // Kill any running request
- if ((fTimeRangeRequest != null) && !fTimeRangeRequest.isCompleted()) {
- fTimeRangeRequest.cancel();
- }
- if ((fFullTraceRequest != null) && !fFullTraceRequest.isCompleted()) {
- fFullTraceRequest.cancel();
- }
-
- // Initialize the internal data
- fTrace = null;
- fTraceStartTime = 0L;
- fTraceEndTime = 0L;
- fWindowStartTime = 0L;
- fWindowEndTime = 0L;
- fWindowSpan = 0L;
- fSelectionBeginTime = 0L;
- fSelectionEndTime = 0L;
-
- // Clear the UI widgets
- fFullTraceHistogram.clear();
- fTimeRangeHistogram.clear();
- fSelectionStartControl.setValue(Long.MIN_VALUE);
- fSelectionEndControl.setValue(Long.MIN_VALUE);
-
- fTimeSpanControl.setValue(Long.MIN_VALUE);
-
- for (Control c: fLegendArea.getChildren()) {
- c.dispose();
- }
- if (fLegendImages != null) {
- for (Image i: fLegendImages) {
- i.dispose();
- }
- }
- fLegendImages = null;
- fLegendArea.layout();
- fLegendArea.getParent().layout();
- }
-
- /**
- * Handles trace range updated signal. Extends histogram according to the new time range. If a
- * HistogramRequest is already ongoing, it will be cancelled and a new request with the new range
- * will be issued.
- *
- * @param signal the trace range updated signal
- * @since 2.0
- */
- @TmfSignalHandler
- public void traceRangeUpdated(TmfTraceRangeUpdatedSignal signal) {
-
- if (signal.getTrace() != fTrace) {
- return;
- }
-
- TmfTimeRange fullRange = signal.getRange();
-
- fTraceStartTime = fullRange.getStartTime().normalize(0, ITmfTimestamp.NANOSECOND_SCALE).getValue();
- fTraceEndTime = fullRange.getEndTime().normalize(0, ITmfTimestamp.NANOSECOND_SCALE).getValue();
-
- fFullTraceHistogram.setFullRange(fTraceStartTime, fTraceEndTime);
- fTimeRangeHistogram.setFullRange(fTraceStartTime, fTraceEndTime);
-
- sendFullRangeRequest(fullRange);
- }
-
- /**
- * Handles the trace updated signal. Used to update time limits (start and end time)
- * @param signal the trace updated signal
- * @since 2.0
- */
- @TmfSignalHandler
- public void traceUpdated(TmfTraceUpdatedSignal signal) {
- if (signal.getTrace() != fTrace) {
- return;
- }
- TmfTimeRange fullRange = signal.getTrace().getTimeRange();
- fTraceStartTime = fullRange.getStartTime().normalize(0, ITmfTimestamp.NANOSECOND_SCALE).getValue();
- fTraceEndTime = fullRange.getEndTime().normalize(0, ITmfTimestamp.NANOSECOND_SCALE).getValue();
-
- fFullTraceHistogram.setFullRange(fTraceStartTime, fTraceEndTime);
- fTimeRangeHistogram.setFullRange(fTraceStartTime, fTraceEndTime);
-
- if ((fFullTraceRequest != null) && fFullTraceRequest.getRange().getEndTime().compareTo(signal.getRange().getEndTime()) < 0) {
- sendFullRangeRequest(fullRange);
- }
-}
-
- /**
- * Handles the current time updated signal. Sets the current time in the time range
- * histogram as well as the full histogram.
- *
- * @param signal the signal to process
- */
- @TmfSignalHandler
- public void currentTimeUpdated(final TmfTimeSynchSignal signal) {
- if (Display.getCurrent() == null) {
- // Make sure the signal is handled in the UI thread
- Display.getDefault().asyncExec(new Runnable() {
- @Override
- public void run() {
- if (fParent.isDisposed()) {
- return;
- }
- currentTimeUpdated(signal);
- }
- });
- return;
- }
-
- // Update the selected time range
- ITmfTimestamp beginTime = signal.getBeginTime().normalize(0, ITmfTimestamp.NANOSECOND_SCALE);
- ITmfTimestamp endTime = signal.getEndTime().normalize(0, ITmfTimestamp.NANOSECOND_SCALE);
- updateDisplayedSelectionTime(beginTime.getValue(), endTime.getValue());
- }
-
- /**
- * Updates the current time range in the time range histogram and full range histogram.
- * @param signal the signal to process
- */
- @TmfSignalHandler
- public void timeRangeUpdated(final TmfRangeSynchSignal signal) {
- if (Display.getCurrent() == null) {
- // Make sure the signal is handled in the UI thread
- Display.getDefault().asyncExec(new Runnable() {
- @Override
- public void run() {
- if (fParent.isDisposed()) {
- return;
- }
- timeRangeUpdated(signal);
- }
- });
- return;
- }
-
- if (fTrace != null) {
- // Validate the time range
- TmfTimeRange range = signal.getCurrentRange().getIntersection(fTrace.getTimeRange());
- if (range == null) {
- return;
- }
-
- updateDisplayedTimeRange(
- range.getStartTime().normalize(0, ITmfTimestamp.NANOSECOND_SCALE).getValue(),
- range.getEndTime().normalize(0, ITmfTimestamp.NANOSECOND_SCALE).getValue());
-
- // Send the event request to populate the small histogram
- sendTimeRangeRequest(fWindowStartTime, fWindowEndTime);
-
- fTimeSpanControl.setValue(fWindowSpan);
- }
- }
-
- // ------------------------------------------------------------------------
- // Helper functions
- // ------------------------------------------------------------------------
-
- private void initializeHistograms() {
- TmfTimeRange fullRange = updateTraceTimeRange();
- long selectionBeginTime = fTraceManager.getSelectionBeginTime().normalize(0, ITmfTimestamp.NANOSECOND_SCALE).getValue();
- long selectionEndTime = fTraceManager.getSelectionEndTime().normalize(0, ITmfTimestamp.NANOSECOND_SCALE).getValue();
- long startTime = fTraceManager.getCurrentRange().getStartTime().normalize(0, ITmfTimestamp.NANOSECOND_SCALE).getValue();
- long duration = fTraceManager.getCurrentRange().getEndTime().normalize(0, ITmfTimestamp.NANOSECOND_SCALE).getValue() - startTime;
-
- if ((fTimeRangeRequest != null) && !fTimeRangeRequest.isCompleted()) {
- fTimeRangeRequest.cancel();
- }
- fTimeRangeHistogram.clear();
- fTimeRangeHistogram.setFullRange(fTraceStartTime, fTraceEndTime);
- fTimeRangeHistogram.setTimeRange(startTime, duration);
- fTimeRangeHistogram.setSelection(selectionBeginTime, selectionEndTime);
- fTimeRangeHistogram.fDataModel.setTrace(fTrace);
-
- if ((fFullTraceRequest != null) && !fFullTraceRequest.isCompleted()) {
- fFullTraceRequest.cancel();
- }
- fFullTraceHistogram.clear();
- fFullTraceHistogram.setFullRange(fTraceStartTime, fTraceEndTime);
- fFullTraceHistogram.setTimeRange(startTime, duration);
- fFullTraceHistogram.setSelection(selectionBeginTime, selectionEndTime);
- fFullTraceHistogram.fDataModel.setTrace(fTrace);
-
- fWindowStartTime = startTime;
- fWindowSpan = duration;
- fWindowEndTime = startTime + duration;
-
- fSelectionBeginTime = selectionBeginTime;
- fSelectionEndTime = selectionEndTime;
- fSelectionStartControl.setValue(fSelectionBeginTime);
- fSelectionEndControl.setValue(fSelectionEndTime);
-
- fTimeSpanControl.setValue(duration);
-
- ITmfTrace[] traces = TmfTraceManager.getTraceSet(fTrace);
- if (traces != null) {
- this.showTraceAction.setEnabled(traces.length < fFullTraceHistogram.getMaxNbTraces());
- }
- updateLegendArea();
-
- if (!fullRange.equals(TmfTimeRange.NULL_RANGE)) {
- sendTimeRangeRequest(startTime, startTime + duration);
- sendFullRangeRequest(fullRange);
- }
- }
-
- private void updateLegendArea() {
- for (Control c: fLegendArea.getChildren()) {
- c.dispose();
- }
- if (fLegendImages != null) {
- for (Image i: fLegendImages) {
- i.dispose();
- }
- }
- fLegendImages = null;
- if (fFullTraceHistogram.showTraces()) {
- ITmfTrace[] traces = TmfTraceManager.getTraceSet(fTrace);
- fLegendImages = new Image[traces.length];
- int traceIndex = 0;
- for (ITmfTrace trace : traces) {
- fLegendImages[traceIndex] = new Image(fLegendArea.getDisplay(), 16, 16);
- GC gc = new GC(fLegendImages[traceIndex]);
- gc.setBackground(fFullTraceHistogram.getTraceColor(traceIndex));
- gc.fillRectangle(0, 0, 15, 15);
- gc.setForeground(fLegendArea.getDisplay().getSystemColor(SWT.COLOR_BLACK));
- gc.drawRectangle(0, 0, 15, 15);
- gc.dispose();
-
- CLabel label = new CLabel(fLegendArea, SWT.NONE);
- label.setText(trace.getName());
- label.setImage(fLegendImages[traceIndex]);
- traceIndex++;
- }
- }
- fLegendArea.layout();
- fLegendArea.getParent().layout();
- }
-
- private void updateDisplayedSelectionTime(long beginTime, long endTime) {
- fSelectionBeginTime = beginTime;
- fSelectionEndTime = endTime;
-
- fFullTraceHistogram.setSelection(fSelectionBeginTime, fSelectionEndTime);
- fTimeRangeHistogram.setSelection(fSelectionBeginTime, fSelectionEndTime);
- fSelectionStartControl.setValue(fSelectionBeginTime);
- fSelectionEndControl.setValue(fSelectionEndTime);
- }
-
- private void updateDisplayedTimeRange(long start, long end) {
- fWindowStartTime = start;
- fWindowEndTime = end;
- fWindowSpan = fWindowEndTime - fWindowStartTime;
- fFullTraceHistogram.setTimeRange(fWindowStartTime, fWindowSpan);
- }
-
- private TmfTimeRange updateTraceTimeRange() {
- fTraceStartTime = 0L;
- fTraceEndTime = 0L;
-
- TmfTimeRange timeRange = fTrace.getTimeRange();
- if (!timeRange.equals(TmfTimeRange.NULL_RANGE)) {
- fTraceStartTime = timeRange.getStartTime().normalize(0, ITmfTimestamp.NANOSECOND_SCALE).getValue();
- fTraceEndTime = timeRange.getEndTime().normalize(0, ITmfTimestamp.NANOSECOND_SCALE).getValue();
- }
- return timeRange;
- }
-
- private void sendTimeRangeRequest(long startTime, long endTime) {
- if ((fTimeRangeRequest != null) && !fTimeRangeRequest.isCompleted()) {
- fTimeRangeRequest.cancel();
- }
- TmfTimestamp startTS = new TmfTimestamp(startTime, ITmfTimestamp.NANOSECOND_SCALE);
- TmfTimestamp endTS = new TmfTimestamp(endTime, ITmfTimestamp.NANOSECOND_SCALE);
- TmfTimeRange timeRange = new TmfTimeRange(startTS, endTS);
-
- fTimeRangeHistogram.clear();
- fTimeRangeHistogram.setFullRange(fTraceStartTime, fTraceEndTime);
- fTimeRangeHistogram.setTimeRange(startTime, endTime - startTime);
-
- int cacheSize = fTrace.getCacheSize();
- fTimeRangeRequest = new HistogramRequest(fTimeRangeHistogram.getDataModel(),
- timeRange, 0, ITmfEventRequest.ALL_DATA, cacheSize, ExecutionType.FOREGROUND, false);
- fTrace.sendRequest(fTimeRangeRequest);
- }
-
- private void sendFullRangeRequest(TmfTimeRange fullRange) {
- if ((fFullTraceRequest != null) && !fFullTraceRequest.isCompleted()) {
- fFullTraceRequest.cancel();
- }
- int cacheSize = fTrace.getCacheSize();
- fFullTraceRequest = new HistogramRequest(fFullTraceHistogram.getDataModel(),
- fullRange,
- (int) fFullTraceHistogram.fDataModel.getNbEvents(),
- ITmfEventRequest.ALL_DATA,
- cacheSize,
- ExecutionType.BACKGROUND, true);
- fTrace.sendRequest(fFullTraceRequest);
- }
-
- private void contributeToActionBars() {
- IActionBars bars = getViewSite().getActionBars();
- bars.getToolBarManager().add(getShowLostEventsAction());
- bars.getToolBarManager().add(getShowTraceAction());
- bars.getToolBarManager().add(new Separator());
- }
-
- private void addLinkButtonListeners() {
- fLinkButton.addMouseListener(new MouseAdapter() {
- @Override
- public void mouseDown(MouseEvent e) {
- fSelectionEndControl.setEnabled(fLinkState);
- fLinkState = !fLinkState;
- fLinkButton.redraw();
- }
- });
-
- fLinkButton.addPaintListener(new PaintListener() {
- @Override
- public void paintControl(PaintEvent e) {
- if (fLinkState) {
- Rectangle r = fLinkButton.getBounds();
- r.x = -1;
- r.y = -1;
- e.gc.setForeground(e.display.getSystemColor(SWT.COLOR_WIDGET_NORMAL_SHADOW));
- e.gc.drawRectangle(r);
- r.x = 0;
- r.y = 0;
- e.gc.setForeground(e.display.getSystemColor(SWT.COLOR_DARK_GRAY));
- e.gc.drawRectangle(r);
- }
- }
- });
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/histogram/HistogramZoom.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/histogram/HistogramZoom.java
deleted file mode 100644
index d839fb72ca..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/histogram/HistogramZoom.java
+++ /dev/null
@@ -1,210 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011, 2013 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 - Moved from LTTng to TMF
- * Patrick Tasse - Update for mouse wheel zoom
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.views.histogram;
-
-import org.eclipse.swt.events.KeyEvent;
-import org.eclipse.swt.events.KeyListener;
-import org.eclipse.swt.events.MouseEvent;
-import org.eclipse.swt.events.MouseWheelListener;
-
-/**
- * Class to handle zooming within histogram windows..
- *
- * @version 1.0
- * @author Francois Chouinard
- * <p>
- */
-public class HistogramZoom implements MouseWheelListener, KeyListener {
-
- // ------------------------------------------------------------------------
- // Constants
- // ------------------------------------------------------------------------
-
- private final static double ZOOM_FACTOR = 0.8;
-
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
-
- private final Histogram fHistogram;
-
- private long fAbsoluteStartTime;
- private long fAbsoluteEndTime;
- private final long fMinWindowSize;
-
- private long fRangeStartTime;
- private long fRangeDuration;
-
- // ------------------------------------------------------------------------
- // Constructors
- // ------------------------------------------------------------------------
-
- /**
- * Standard constructor.
- *
- * @param histogram
- * The parent histogram object
- * @param start
- * The start time of the zoom area
- * @param end
- * The end time of the zoom area
- * @since 2.0
- */
- public HistogramZoom(Histogram histogram, long start, long end) {
- fHistogram = histogram;
- fAbsoluteStartTime = start;
- fAbsoluteEndTime = end;
- fMinWindowSize = 0;
-
- fRangeStartTime = fAbsoluteStartTime;
- fRangeDuration = fAbsoluteStartTime + fMinWindowSize;
-
- histogram.addMouseWheelListener(this);
- histogram.addKeyListener(this);
- }
-
- // ------------------------------------------------------------------------
- // Accessors
- // ------------------------------------------------------------------------
-
- /**
- * Get start time of the zoom window.
- * @return the start time.
- */
- public synchronized long getStartTime() {
- return fRangeStartTime;
- }
-
- /**
- * Get the end time of the zoom window.
- * @return the end time
- */
- public synchronized long getEndTime() {
- return fRangeStartTime + fRangeDuration;
- }
-
- /**
- * Get the duration of the zoom window.
- * @return the duration of the zoom window.
- */
- public synchronized long getDuration() {
- return fRangeDuration;
- }
-
- // ------------------------------------------------------------------------
- // Operations
- // ------------------------------------------------------------------------
-
- /**
- * The the full time range of the histogram
- *
- * @param startTime the start time the histogram
- * @param endTime the end time of the histogram
- */
- public synchronized void setFullRange(long startTime, long endTime) {
- fAbsoluteStartTime = startTime;
- fAbsoluteEndTime = endTime;
- }
-
- /**
- * Sets the new zoom window
- * @param startTime the start time
- * @param duration the duration
- */
- public synchronized void setNewRange(long startTime, long duration) {
- long realStart = startTime;
-
- if (realStart < fAbsoluteStartTime) {
- realStart = fAbsoluteStartTime;
- }
-
- long endTime = realStart + duration;
- if (endTime > fAbsoluteEndTime) {
- endTime = fAbsoluteEndTime;
- if (endTime - duration > fAbsoluteStartTime) {
- realStart = endTime - duration;
- } else {
- realStart = fAbsoluteStartTime;
- }
- }
-
- fRangeStartTime = realStart;
- fRangeDuration = endTime - realStart;
- }
-
- // ------------------------------------------------------------------------
- // MouseWheelListener
- // ------------------------------------------------------------------------
-
- @Override
- public void mouseScrolled(MouseEvent event) {
- zoom(event.count);
- }
-
- /**
- * @since 3.1
- */
- @Override
- public void keyPressed(KeyEvent e) {
- if (e.character == '+') {
- zoom(1);
- } else if (e.character == '-') {
- zoom(-1);
- }
- }
-
- /**
- * @since 3.1
- */
- @Override
- public void keyReleased(KeyEvent e) {
- }
-
- private synchronized void zoom(int nbClicks) {
- // Compute the new time range
- long requestedRange = (nbClicks > 0) ? Math.round(ZOOM_FACTOR * fRangeDuration) : (long) Math.ceil(fRangeDuration * (1.0 / ZOOM_FACTOR));
-
- // Distribute delta and adjust for boundaries
- long requestedStart = validateStart(fRangeStartTime + (fRangeDuration - requestedRange) / 2);
- long requestedEnd = validateEnd(requestedStart, requestedStart + requestedRange);
- requestedStart = validateStart(requestedEnd - requestedRange);
-
- fHistogram.updateTimeRange(requestedStart, requestedEnd);
- }
-
- private long validateStart(long start) {
- long realStart = start;
-
- if (realStart < fAbsoluteStartTime) {
- realStart = fAbsoluteStartTime;
- }
- if (realStart > fAbsoluteEndTime) {
- realStart = fAbsoluteEndTime - fMinWindowSize;
- }
- return realStart;
- }
-
- private long validateEnd(long start, long end) {
- long realEnd = end;
-
- if (realEnd > fAbsoluteEndTime) {
- realEnd = fAbsoluteEndTime;
- }
- if (realEnd < start + fMinWindowSize) {
- realEnd = start + fMinWindowSize;
- }
- return realEnd;
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/histogram/IHistogramDataModel.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/histogram/IHistogramDataModel.java
deleted file mode 100644
index d18d07e65a..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/histogram/IHistogramDataModel.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011, 2013 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:
- * Bernd Hufmann - Initial API and implementation
- * Francois Chouinard - Moved from LTTng to TMF
- * Xavier Raynaud - Support multi-trace coloring
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.views.histogram;
-
-import org.eclipse.linuxtools.tmf.core.trace.ITmfTrace;
-import org.eclipse.linuxtools.tmf.ui.views.distribution.model.IBaseDistributionModel;
-
-/**
- * Histogram data model interface.
- *
- * @version 1.0
- * @author Bernd Hufmann
- */
-public interface IHistogramDataModel extends IBaseDistributionModel {
- /**
- * Add event to the correct bucket, compacting the if needed.
- *
- * @param eventCount the event to count
- * @param timestamp the timestamp of the event to count
- * @param trace the trace corresponding to given events
- * @since 3.0
- */
- void countEvent(long eventCount, long timestamp, ITmfTrace trace);
-
- /**
- * Scale the model data to the width, height and bar width requested.
- *
- * @param width A width of the histogram canvas
- * @param height A height of the histogram canvas
- * @param barWidth A width (in pixel) of a histogram bar
- * @return the result array of size [width] and where the highest value doesn't exceed [height]
- * while considering the bar width [barWidth]
- */
- HistogramScaledData scaleTo(int width, int height, int barWidth);
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/histogram/IHistogramModelListener.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/histogram/IHistogramModelListener.java
deleted file mode 100644
index 24305e5692..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/histogram/IHistogramModelListener.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011, 2013 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:
- * Bernd Hufmann - Initial API and implementation
- * Francois Chouinard - Moved from LTTng to TMF
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.views.histogram;
-
-/**
- * Listener interface for receiving histogram data model notifications.
- *
- * @version 1.0
- * @author Bernd Hufmann
- */
-public interface IHistogramModelListener {
- /**
- * Method to implement to receive notification about model updates.
- */
- void modelUpdated();
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/histogram/Messages.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/histogram/Messages.java
deleted file mode 100644
index 4841a42bea..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/histogram/Messages.java
+++ /dev/null
@@ -1,95 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009, 2014 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:
- * William Bourque - Initial API and implementation
- * Francois Chouinard - Cleanup and refactoring
- * Francois Chouinard - Moved from LTTng to TMF
- * Patrick Tasse - Update for histogram selection range and tool tip
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.views.histogram;
-
-import org.eclipse.osgi.util.NLS;
-
-/**
- * Messages file for the histogram widgets.
- * <p>
- *
- * @version 1.0
- * @author Francois Chouinard
- */
-public class Messages extends NLS {
-
- // ------------------------------------------------------------------------
- // Constants
- // ------------------------------------------------------------------------
-
- private static final String BUNDLE_NAME = "org.eclipse.linuxtools.tmf.ui.views.histogram.messages"; //$NON-NLS-1$
-
- /**
- * @since 3.0
- */
- public static String HistogramView_showTraces;
-
- /**
- * @since 2.2
- */
- public static String HistogramView_hideLostEvents;
- /**
- * The label for the selection start time
- * @since 2.2
- */
- public static String HistogramView_selectionStartLabel;
- /**
- * The label for the selection end time
- * @since 2.2
- */
- public static String HistogramView_selectionEndLabel;
- /**
- * The label for the window span.
- */
- public static String HistogramView_windowSpanLabel;
- /**
- * The tool tip text for the selection span.
- * @since 2.2
- */
- public static String Histogram_selectionSpanToolTip;
- /**
- * The tool tip text for the bucket range.
- * @since 2.2
- */
- public static String Histogram_bucketRangeToolTip;
- /**
- * The tool tip text for the event count.
- * @since 2.2
- */
- public static String Histogram_eventCountToolTip;
- /**
- * The tool tip text for the lost event count.
- * @since 2.2
- */
- public static String Histogram_lostEventCountToolTip;
-
- // ------------------------------------------------------------------------
- // Initializer
- // ------------------------------------------------------------------------
-
- static {
- // initialize resource bundle
- NLS.initializeMessages(BUNDLE_NAME, Messages.class);
- }
-
- // ------------------------------------------------------------------------
- // Constructor
- // ------------------------------------------------------------------------
-
- private Messages() {
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/histogram/TimeRangeHistogram.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/histogram/TimeRangeHistogram.java
deleted file mode 100644
index f3226adc82..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/histogram/TimeRangeHistogram.java
+++ /dev/null
@@ -1,217 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011, 2013 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
- * Bernd Hufmann - Changed to updated histogram data model
- * Francois Chouinard - Moved from LTTng to TMF
- * Patrick Tasse - Update for mouse wheel zoom
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.views.histogram;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.MouseEvent;
-import org.eclipse.swt.events.PaintEvent;
-import org.eclipse.swt.graphics.GC;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.widgets.Composite;
-
-/**
- * A basic histogram widget that displays the event distribution of a specific time range of a trace.
- * It has the following additional features:
- * <ul>
- * <li>zoom in: mouse wheel up (or forward)
- * <li>zoom out: mouse wheel down (or backward)
- * </ul>
- *
- * @version 1.1
- * @author Francois Chouinard
- */
-public class TimeRangeHistogram extends Histogram {
-
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
-
- private HistogramZoom fZoom = null;
-
- private long fRangeStartTime = 0L;
- private long fRangeDuration;
- private long fFullRangeStartTime = 0L;
- private long fFullRangeEndTime = 0L;
-
- // ------------------------------------------------------------------------
- // Constructor
- // ------------------------------------------------------------------------
- /**
- * Constructor
- * @param view The parent histogram view
- * @param parent The parent composite
- */
- public TimeRangeHistogram(HistogramView view, Composite parent) {
- super(view, parent);
- fZoom = new HistogramZoom(this, getStartTime(), getTimeLimit());
- }
-
- // ------------------------------------------------------------------------
- // Operations
- // ------------------------------------------------------------------------
-
- @Override
- public synchronized void clear() {
- fRangeStartTime = 0L;
- fRangeDuration = 0L;
- fFullRangeStartTime = 0L;
- fFullRangeEndTime = 0L;
- setOffset(0);
- if (fZoom != null) {
- fZoom.setFullRange(0L, 0L);
- fZoom.setNewRange(0L, 0L);
- }
- super.clear();
- }
-
- /**
- * Sets the time range of the histogram
- * @param startTime The start time
- * @param duration The duration of the time range
- */
- public synchronized void setTimeRange(long startTime, long duration) {
- fRangeStartTime = startTime;
- fRangeDuration = duration;
- fZoom.setNewRange(startTime, duration);
- if (getDataModel().getNbEvents() == 0) {
- getDataModel().setTimeRange(startTime, startTime + duration);
- getDataModel().setEndTime(startTime + duration);
- }
- }
-
- /**
- * Sets the full time range of the whole trace.
- * @param startTime The start time
- * @param endTime The end time
- */
- public void setFullRange(long startTime, long endTime) {
- fFullRangeStartTime = startTime;
- fFullRangeEndTime = endTime;
- fZoom.setFullRange(startTime, endTime);
- fZoom.setNewRange(fRangeStartTime, fRangeDuration);
- }
-
- // ------------------------------------------------------------------------
- // MouseListener
- // ------------------------------------------------------------------------
-
- private int fStartPosition;
- private int fMinOffset;
- private int fMaxOffset;
-
- @Override
- public void mouseDown(MouseEvent event) {
- if (fScaledData != null && fDragState == DRAG_NONE && fDataModel.getStartTime() < fDataModel.getEndTime()) {
- if (event.button == 2 || (event.button == 1 && (event.stateMask & SWT.MODIFIER_MASK) == SWT.CTRL)) {
- fDragState = DRAG_RANGE;
- fDragButton = event.button;
- fStartPosition = event.x;
- long maxOffset = (fRangeStartTime - fFullRangeStartTime) / fScaledData.fBucketDuration;
- long minOffset = (fRangeStartTime + fRangeDuration - fFullRangeEndTime) / fScaledData.fBucketDuration;
- fMaxOffset = (int) Math.max(Integer.MIN_VALUE, Math.min(Integer.MAX_VALUE, maxOffset));
- fMinOffset = (int) Math.max(Integer.MIN_VALUE, Math.min(Integer.MAX_VALUE, minOffset));
- return;
- } else if (event.button == 3) {
- fDragState = DRAG_ZOOM;
- fDragButton = event.button;
- fRangeStartTime = Math.min(getTimestamp(event.x), getEndTime());
- fRangeDuration = 0;
- fCanvas.redraw();
- return;
- }
- }
- super.mouseDown(event);
- }
-
- @Override
- public void mouseUp(MouseEvent event) {
- if (fDragState == DRAG_RANGE && event.button == fDragButton) {
- fDragState = DRAG_NONE;
- fDragButton = 0;
- if (event.x != fStartPosition) {
- int nbBuckets = event.x - fStartPosition;
- long delta = nbBuckets * fScaledData.fBucketDuration;
- long startTime = fRangeStartTime - delta;
- fRangeStartTime = Math.max(fFullRangeStartTime, Math.min(fFullRangeEndTime - fRangeDuration, startTime));
- ((HistogramView) fParentView).updateTimeRange(fRangeStartTime, fRangeStartTime + fRangeDuration);
- setOffset(0);
- }
- return;
- } else if (fDragState == DRAG_ZOOM && event.button == fDragButton) {
- fDragState = DRAG_NONE;
- fDragButton = 0;
- if (fRangeDuration < 0) {
- fRangeStartTime = fRangeStartTime + fRangeDuration;
- fRangeDuration = -fRangeDuration;
- }
- if (fRangeDuration > 0) {
- ((HistogramView) fParentView).updateTimeRange(fRangeStartTime, fRangeStartTime + fRangeDuration);
- } else {
- fRangeStartTime = fZoom.getStartTime();
- fRangeDuration = fZoom.getDuration();
- fCanvas.redraw();
- }
- return;
- }
- super.mouseUp(event);
- }
-
- // ------------------------------------------------------------------------
- // MouseMoveListener
- // ------------------------------------------------------------------------
-
- @Override
- public void mouseMove(MouseEvent event) {
- if (fDragState == DRAG_RANGE) {
- int offset = Math.max(fMinOffset, Math.min(fMaxOffset, event.x - fStartPosition));
- setOffset(offset);
- fCanvas.redraw();
- return;
- } else if (fDragState == DRAG_ZOOM) {
- long endTime = Math.max(getStartTime(), Math.min(getEndTime(), getTimestamp(event.x)));
- fRangeDuration = endTime - fRangeStartTime;
- fCanvas.redraw();
- return;
- }
- super.mouseMove(event);
- }
-
- // ------------------------------------------------------------------------
- // PaintListener
- // ------------------------------------------------------------------------
-
- @Override
- public void paintControl(PaintEvent event) {
- super.paintControl(event);
-
- if (fDragState == DRAG_ZOOM) {
- Image image = (Image) fCanvas.getData(IMAGE_KEY);
- assert image != null;
-
- Image rangeRectangleImage = new Image(image.getDevice(), image, SWT.IMAGE_COPY);
- GC rangeWindowGC = new GC(rangeRectangleImage);
-
- drawTimeRangeWindow(rangeWindowGC, fRangeStartTime, fRangeDuration);
-
- // Draws the buffer image onto the canvas.
- event.gc.drawImage(rangeRectangleImage, 0, 0);
-
- rangeWindowGC.dispose();
- rangeRectangleImage.dispose();
- }
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/histogram/messages.properties b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/histogram/messages.properties
deleted file mode 100644
index 116ec9acc3..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/histogram/messages.properties
+++ /dev/null
@@ -1,21 +0,0 @@
-###############################################################################
-# Copyright (c) 2013, 2014 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:
-# Ericsson - Initial API and implementation
-###############################################################################
-
-HistogramView_hideLostEvents=Hide Lost Events
-HistogramView_showTraces=Activate Trace Coloring
-HistogramView_selectionStartLabel=Selection Start
-HistogramView_selectionEndLabel=Selection End
-HistogramView_windowSpanLabel=Window Span
-Histogram_selectionSpanToolTip=Selection Span = {0}
-Histogram_bucketRangeToolTip=Bucket Range = [{0},{1})
-Histogram_eventCountToolTip=Event count = {0}
-Histogram_lostEventCountToolTip=Lost event count = {0}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/statesystem/Messages.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/statesystem/Messages.java
deleted file mode 100644
index c2bb33dbf1..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/statesystem/Messages.java
+++ /dev/null
@@ -1,86 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 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:
- * Alexandre Montplaisir - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.views.statesystem;
-
-import org.eclipse.osgi.util.NLS;
-
-/**
- * Localizable strings in the State System Visualizer.
- *
- * @author Alexandre Montplaisir
- * @since 2.0
- */
-public class Messages extends NLS {
-
- private static final String BUNDLE_NAME = "org.eclipse.linuxtools.tmf.ui.views.statesystem.messages"; //$NON-NLS-1$
-
- /**
- * Initializer
- */
- static {
- NLS.initializeMessages(BUNDLE_NAME, Messages.class);
- }
-
- /**
- * Private constructor (static class)
- */
- private Messages() {}
-
- /** Label for the first column */
- public static String TreeNodeColumnLabel;
-
- /** Label for the "quark" column" */
- public static String QuarkColumnLabel;
-
- /** Label for the "value" column */
- public static String ValueColumnLabel;
-
- /** Label for the "type" column
- * @since 2.1*/
- public static String TypeColumnLabel;
-
- /** Label for the "start time" column */
- public static String StartTimeColumLabel;
-
- /** Label for the "end time" column */
- public static String EndTimeColumLabel;
-
- /** Label for the "attribute path" column */
- public static String AttributePathColumnLabel;
-
- /**
- * Printing "out of range" in the value column when the current timestamp is
- * outside of the SS's range.
- */
- public static String OutOfRangeMsg;
-
- /** Label for the Filter button
- * @since 2.1*/
- public static String FilterButton;
-
- /** Label for the type Interger
- * @since 2.1*/
- public static String TypeInteger;
-
- /** Label for the type Long
- * @since 2.1*/
- public static String TypeLong;
-
- /** Label for type Double
- * @since 3.0*/
- public static String TypeDouble;
-
- /** Label for the type String
- * @since 2.1*/
- public static String TypeString;
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/statesystem/TmfStateSystemExplorer.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/statesystem/TmfStateSystemExplorer.java
deleted file mode 100644
index 6ea40e6f1d..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/statesystem/TmfStateSystemExplorer.java
+++ /dev/null
@@ -1,107 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013, 2014 École Polytechnique de Montréal, 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:
- * Florian Wininger - Initial API and implementation
- * Alexandre Montplaisir - Refactoring, performance tweaks
- * Bernd Hufmann - Updated signal handling
- * Marc-Andre Laperle - Add time zone preference
- * Geneviève Bastien - Use a tree viewer instead of a tree
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.views.statesystem;
-
-import java.io.File;
-
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.action.IToolBarManager;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.linuxtools.internal.tmf.ui.Activator;
-import org.eclipse.linuxtools.tmf.core.signal.TmfTraceSelectedSignal;
-import org.eclipse.linuxtools.tmf.core.trace.ITmfTrace;
-import org.eclipse.linuxtools.tmf.ui.views.TmfView;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.ui.IActionBars;
-
-/**
- * Displays the State System at a current time.
- *
- * @author Florian Wininger
- * @author Alexandre Montplaisir
- * @since 2.0
- */
-public class TmfStateSystemExplorer extends TmfView {
-
- /** The Environment View's ID */
- public static final String ID = "org.eclipse.linuxtools.tmf.ui.views.ssview"; //$NON-NLS-1$
-
- private static final Image FILTER_IMAGE =
- Activator.getDefault().getImageFromPath( File.separator + "icons" + File.separator + "elcl16" + File.separator + "filter_items.gif"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-
- private TmfStateSystemViewer fViewer;
-
- /**
- * Default constructor
- */
- public TmfStateSystemExplorer() {
- super(ID);
- }
-
- // ------------------------------------------------------------------------
- // ViewPart
- // ------------------------------------------------------------------------
-
- @Override
- public void createPartControl(Composite parent) {
-
- fViewer = new TmfStateSystemViewer(parent);
-
- fillToolBar() ;
-
- ITmfTrace trace = getActiveTrace();
- if (trace != null) {
- fViewer.traceSelected(new TmfTraceSelectedSignal(this, trace));
- }
-
- }
-
- // ------------------------------------------------------------------------
- // Part For Button Action
- // ------------------------------------------------------------------------
-
- private void fillToolBar() {
- Action fFilterAction = new FilterAction();
- fFilterAction.setImageDescriptor(ImageDescriptor.createFromImage(FILTER_IMAGE));
- fFilterAction.setToolTipText(Messages.FilterButton) ;
- fFilterAction.setChecked(false);
-
- IActionBars bars = getViewSite().getActionBars();
- IToolBarManager manager = bars.getToolBarManager();
- manager.add(fFilterAction);
- }
-
- private class FilterAction extends Action {
- @Override
- public void run() {
- fViewer.changeFilterStatus();
- }
- }
-
- @Override
- public void setFocus() {
- }
-
- @Override
- public void dispose() {
- super.dispose();
- if (fViewer != null) {
- fViewer.dispose();
- }
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/statesystem/TmfStateSystemViewer.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/statesystem/TmfStateSystemViewer.java
deleted file mode 100644
index cd1db48635..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/statesystem/TmfStateSystemViewer.java
+++ /dev/null
@@ -1,463 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 École Polytechnique de Montréal
- *
- * 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:
- * Florian Wininger - Initial API and implementation
- * Alexandre Montplaisir - Refactoring, performance tweaks
- * Bernd Hufmann - Updated signal handling
- * Marc-Andre Laperle - Add time zone preference
- * Geneviève Bastien - Moved state system explorer to use the abstract tree viewer
- * Patrick Tasse - Refactoring
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.views.statesystem;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.jdt.annotation.NonNull;
-import org.eclipse.jface.viewers.AbstractTreeViewer;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.jface.viewers.ViewerComparator;
-import org.eclipse.linuxtools.statesystem.core.ITmfStateSystem;
-import org.eclipse.linuxtools.statesystem.core.exceptions.AttributeNotFoundException;
-import org.eclipse.linuxtools.statesystem.core.exceptions.StateSystemDisposedException;
-import org.eclipse.linuxtools.statesystem.core.exceptions.TimeRangeException;
-import org.eclipse.linuxtools.statesystem.core.interval.ITmfStateInterval;
-import org.eclipse.linuxtools.statesystem.core.statevalue.ITmfStateValue;
-import org.eclipse.linuxtools.tmf.core.signal.TmfSignalHandler;
-import org.eclipse.linuxtools.tmf.core.signal.TmfTimestampFormatUpdateSignal;
-import org.eclipse.linuxtools.tmf.core.statesystem.ITmfAnalysisModuleWithStateSystems;
-import org.eclipse.linuxtools.tmf.core.statesystem.TmfStateSystemAnalysisModule;
-import org.eclipse.linuxtools.tmf.core.timestamp.ITmfTimestamp;
-import org.eclipse.linuxtools.tmf.core.timestamp.TmfTimestamp;
-import org.eclipse.linuxtools.tmf.core.trace.ITmfTrace;
-import org.eclipse.linuxtools.tmf.core.trace.TmfTraceManager;
-import org.eclipse.linuxtools.tmf.ui.viewers.tree.AbstractTmfTreeViewer;
-import org.eclipse.linuxtools.tmf.ui.viewers.tree.ITmfTreeColumnDataProvider;
-import org.eclipse.linuxtools.tmf.ui.viewers.tree.ITmfTreeViewerEntry;
-import org.eclipse.linuxtools.tmf.ui.viewers.tree.TmfTreeColumnData;
-import org.eclipse.linuxtools.tmf.ui.viewers.tree.TmfTreeViewerEntry;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Display;
-
-/**
- * Displays the content of the state systems at the current time
- *
- * @author Florian Wininger
- * @author Alexandre Montplaisir
- * @author Geneviève Bastien
- * @since 3.0
- */
-public class TmfStateSystemViewer extends AbstractTmfTreeViewer {
-
- private static final String EMPTY_STRING = ""; //$NON-NLS-1$
- private static final int DEFAULT_AUTOEXPAND = 2;
- private boolean fFilterStatus = false;
- private long fSelection = 0;
-
- /* Order of columns */
- private static final int ATTRIBUTE_NAME_COL = 0;
- private static final int QUARK_COL = 1;
- private static final int VALUE_COL = 2;
- private static final int TYPE_COL = 3;
- private static final int START_TIME_COL = 4;
- private static final int END_TIME_COL = 5;
- private static final int ATTRIBUTE_FULLPATH_COL = 6;
-
- /**
- * Base class to provide the labels for the tree viewer. Views extending
- * this class typically need to override the getColumnText method if they
- * have more than one column to display
- */
- protected static class StateSystemTreeLabelProvider extends TreeLabelProvider {
-
- @Override
- public String getColumnText(Object element, int columnIndex) {
- if (element instanceof StateEntry) {
- StateEntry entry = (StateEntry) element;
- switch (columnIndex) {
- case ATTRIBUTE_NAME_COL:
- return entry.getName();
- case QUARK_COL:
- return String.valueOf(entry.getQuark());
- case VALUE_COL:
- return entry.getValue();
- case TYPE_COL:
- return entry.getType();
- case START_TIME_COL:
- return entry.getStartTime();
- case END_TIME_COL:
- return entry.getEndTime();
- case ATTRIBUTE_FULLPATH_COL:
- return entry.getFullPath();
- default:
- return EMPTY_STRING;
- }
- }
- return super.getColumnText(element, columnIndex);
- }
-
- @Override
- public Color getBackground(Object element, int columnIndex) {
- if (element instanceof StateEntry) {
- if (((StateEntry) element).isModified()) {
- return Display.getCurrent().getSystemColor(SWT.COLOR_YELLOW);
- }
- }
- return super.getBackground(element, columnIndex);
- }
- }
-
- /**
- * Constructor
- *
- * @param parent
- * The parent containing this viewer
- */
- public TmfStateSystemViewer(Composite parent) {
- super(parent, false);
- this.setLabelProvider(new StateSystemTreeLabelProvider());
- getTreeViewer().setAutoExpandLevel(DEFAULT_AUTOEXPAND);
- }
-
- @Override
- protected ITmfTreeColumnDataProvider getColumnDataProvider() {
- return new ITmfTreeColumnDataProvider() {
-
- @Override
- public List<TmfTreeColumnData> getColumnData() {
- List<TmfTreeColumnData> columns = new ArrayList<>();
- TmfTreeColumnData column = new TmfTreeColumnData(Messages.TreeNodeColumnLabel);
- columns.add(column);
- column.setComparator(new ViewerComparator() {
- @Override
- public int compare(Viewer viewer, Object e1, Object e2) {
- TmfTreeViewerEntry n1 = (TmfTreeViewerEntry) e1;
- TmfTreeViewerEntry n2 = (TmfTreeViewerEntry) e2;
-
- return n1.getName().compareTo(n2.getName());
- }
- });
- columns.add(new TmfTreeColumnData(Messages.QuarkColumnLabel));
- columns.add(new TmfTreeColumnData(Messages.ValueColumnLabel));
- columns.add(new TmfTreeColumnData(Messages.TypeColumnLabel));
- columns.add(new TmfTreeColumnData(Messages.StartTimeColumLabel));
- columns.add(new TmfTreeColumnData(Messages.EndTimeColumLabel));
- columns.add(new TmfTreeColumnData(Messages.AttributePathColumnLabel));
- return columns;
- }
-
- };
- }
-
- // ------------------------------------------------------------------------
- // Operations
- // ------------------------------------------------------------------------
-
- @Override
- protected ITmfTreeViewerEntry updateElements(long start, long end, boolean selection) {
-
- if (selection) {
- fSelection = start;
- } else {
- fSelection = TmfTraceManager.getInstance().getSelectionBeginTime().normalize(0, ITmfTimestamp.NANOSECOND_SCALE).getValue();
- }
-
- if (getTrace() == null) {
- return null;
- }
-
- ITmfTreeViewerEntry root = getInput();
-
- if (root == null) {
- root = createRoot();
- } else if (fFilterStatus) {
- clearStateSystemEntries(root);
- }
-
- /*
- * Update the values of the elements of the state systems at the
- * selection start time
- */
- boolean changed = updateStateSystemEntries(root, fSelection);
-
- return selection || changed ? root : null;
- }
-
- private ITmfTreeViewerEntry createRoot() {
- // 'Fake' root node
- TmfTreeViewerEntry rootEntry = new TmfTreeViewerEntry("root"); //$NON-NLS-1$
-
- for (final ITmfTrace trace : TmfTraceManager.getTraceSetWithExperiment(getTrace())) {
- if (trace != null) {
- rootEntry.addChild(createTraceEntry(trace));
- }
- }
- return rootEntry;
- }
-
- private static TmfTreeViewerEntry createTraceEntry(ITmfTrace trace) {
- TmfTreeViewerEntry traceEntry = new TmfTreeViewerEntry(trace.getName());
- Iterable<ITmfAnalysisModuleWithStateSystems> modules = trace.getAnalysisModulesOfClass(ITmfAnalysisModuleWithStateSystems.class);
- for (ITmfAnalysisModuleWithStateSystems module : modules) {
- /* Just schedule the module, the data will be filled when available */
- module.schedule();
- if (module instanceof TmfStateSystemAnalysisModule) {
- // TODO: add this method to ITmfAnalysisModuleWithStateSystems
- ((TmfStateSystemAnalysisModule) module).waitForInitialization();
- }
- for (ITmfStateSystem ss : module.getStateSystems()) {
- if (ss != null) {
- traceEntry.addChild(new StateSystemEntry(ss));
- }
- }
- }
- return traceEntry;
- }
-
- private static void clearStateSystemEntries(ITmfTreeViewerEntry root) {
- for (ITmfTreeViewerEntry traceEntry : root.getChildren()) {
- for (ITmfTreeViewerEntry ssEntry : traceEntry.getChildren()) {
- ssEntry.getChildren().clear();
- }
- }
- }
-
- private boolean updateStateSystemEntries(ITmfTreeViewerEntry root, long timestamp) {
- boolean changed = false;
- for (ITmfTreeViewerEntry traceEntry : root.getChildren()) {
- for (ITmfTreeViewerEntry ssEntry : traceEntry.getChildren()) {
- StateSystemEntry stateSystemEntry = (StateSystemEntry) ssEntry;
- ITmfStateSystem ss = stateSystemEntry.getSS();
- try {
- List<ITmfStateInterval> fullState = ss.queryFullState(timestamp);
- changed |= updateStateEntries(ss, fullState, stateSystemEntry, -1, timestamp);
- } catch (TimeRangeException e) {
- markOutOfRange(stateSystemEntry);
- changed = true;
- } catch (StateSystemDisposedException e) {
- /* Ignored */
- }
- }
- }
- return changed;
- }
-
- private boolean updateStateEntries(ITmfStateSystem ss, List<ITmfStateInterval> fullState, TmfTreeViewerEntry parent, int parentQuark, long timestamp) {
- boolean changed = false;
- try {
- for (int quark : ss.getSubAttributes(parentQuark, false)) {
- if (quark >= fullState.size()) {
- // attribute was created after the full state query
- continue;
- }
- ITmfStateInterval interval = fullState.get(quark);
- StateEntry stateEntry = findStateEntry(parent, quark);
- if (stateEntry == null) {
- boolean modified = fFilterStatus ?
- interval.getStartTime() == timestamp :
- !interval.getStateValue().isNull();
- stateEntry = new StateEntry(ss.getAttributeName(quark), quark, ss.getFullAttributePath(quark),
- interval.getStateValue(),
- new TmfTimestamp(interval.getStartTime(), ITmfTimestamp.NANOSECOND_SCALE),
- new TmfTimestamp(interval.getEndTime(), ITmfTimestamp.NANOSECOND_SCALE),
- modified);
-
- // update children first to know if parent is really needed
- updateStateEntries(ss, fullState, stateEntry, quark, timestamp);
-
- /*
- * Add this entry to parent if filtering is off, or
- * if the entry has children to display, or
- * if there is a state change at the current timestamp
- */
- if (!fFilterStatus || stateEntry.hasChildren() || interval.getStartTime() == timestamp) {
- parent.addChild(stateEntry);
- changed = true;
- }
- } else {
- stateEntry.update(interval.getStateValue(),
- new TmfTimestamp(interval.getStartTime(), ITmfTimestamp.NANOSECOND_SCALE),
- new TmfTimestamp(interval.getEndTime(), ITmfTimestamp.NANOSECOND_SCALE));
-
- // update children recursively
- updateStateEntries(ss, fullState, stateEntry, quark, timestamp);
- }
-
- }
- } catch (AttributeNotFoundException e) {
- /* Should not happen, we're iterating on known attributes */
- }
- return changed;
- }
-
- private static StateEntry findStateEntry(TmfTreeViewerEntry parent, int quark) {
- for (ITmfTreeViewerEntry child : parent.getChildren()) {
- StateEntry stateEntry = (StateEntry) child;
- if (stateEntry.getQuark() == quark) {
- return stateEntry;
- }
- }
- return null;
- }
- /**
- * Set the entries as out of range
- */
- private static void markOutOfRange(ITmfTreeViewerEntry parent) {
- for (ITmfTreeViewerEntry entry : parent.getChildren()) {
- if (entry instanceof StateEntry) {
- ((StateEntry) entry).setOutOfRange();
-
- /* Update this node's children recursively */
- markOutOfRange(entry);
- }
- }
- }
-
- /**
- * Set the filter status of the viewer. By default, all entries of all state
- * system are present, and the values that changed since last refresh are
- * shown in yellow. When the filter status is true, only the entries with
- * values modified at current time are displayed.
- */
- public void changeFilterStatus() {
- fFilterStatus = !fFilterStatus;
- if (fFilterStatus) {
- getTreeViewer().setAutoExpandLevel(AbstractTreeViewer.ALL_LEVELS);
- } else {
- getTreeViewer().setAutoExpandLevel(DEFAULT_AUTOEXPAND);
- clearContent();
- }
- updateContent(getSelectionBeginTime(), getSelectionEndTime(), true);
- }
-
- /**
- * Update the display to use the updated timestamp format
- *
- * @param signal
- * the incoming signal
- */
- @TmfSignalHandler
- public void timestampFormatUpdated(TmfTimestampFormatUpdateSignal signal) {
- updateContent(getSelectionBeginTime(), getSelectionEndTime(), true);
- }
-
- private static class StateSystemEntry extends TmfTreeViewerEntry {
- private final @NonNull ITmfStateSystem fSS;
-
- public StateSystemEntry(@NonNull ITmfStateSystem ss) {
- super(ss.getSSID());
- fSS = ss;
- }
-
- public @NonNull ITmfStateSystem getSS() {
- return fSS;
- }
- }
-
- private class StateEntry extends TmfTreeViewerEntry {
-
- private final int fQuark;
- private final String fFullPath;
- private @NonNull TmfTimestamp fStart;
- private @NonNull TmfTimestamp fEnd;
- private ITmfStateValue fValue;
- private boolean fModified;
- private boolean fOutOfRange = false;
-
- public StateEntry(String name, int quark, String fullPath, ITmfStateValue value, @NonNull TmfTimestamp start, @NonNull TmfTimestamp end, boolean modified) {
- super(name);
- fQuark = quark;
- fFullPath = fullPath;
- fStart = start;
- fEnd = end;
- fValue = value;
- fModified = modified;
- }
-
- public int getQuark() {
- return fQuark;
- }
-
- public String getFullPath() {
- return fFullPath;
- }
-
- public String getStartTime() {
- if (fOutOfRange) {
- return EMPTY_STRING;
- }
- return fStart.toString();
- }
-
- public String getEndTime() {
- if (fOutOfRange) {
- return EMPTY_STRING;
- }
- return fEnd.toString();
- }
-
- public String getValue() {
- if (fOutOfRange) {
- return Messages.OutOfRangeMsg;
- }
- switch (fValue.getType()) {
- case INTEGER:
- case LONG:
- case DOUBLE:
- case STRING:
- return fValue.toString();
- case NULL:
- default:
- return EMPTY_STRING;
- }
- }
-
- public String getType() {
- if (fOutOfRange) {
- return EMPTY_STRING;
- }
- switch (fValue.getType()) {
- case INTEGER:
- return Messages.TypeInteger;
- case LONG:
- return Messages.TypeLong;
- case DOUBLE:
- return Messages.TypeDouble;
- case STRING:
- return Messages.TypeString;
- case NULL:
- default:
- return EMPTY_STRING;
- }
- }
-
- public boolean isModified() {
- return fModified;
- }
-
- public void update(ITmfStateValue value, @NonNull TmfTimestamp start, @NonNull TmfTimestamp end) {
- fModified = false;
- fOutOfRange = false;
- if (!start.equals(fStart)) {
- fModified = true;
- fStart = start;
- fEnd = end;
- fValue = value;
- }
- }
-
- public void setOutOfRange() {
- fModified = false;
- fOutOfRange = true;
- }
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/statesystem/messages.properties b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/statesystem/messages.properties
deleted file mode 100644
index 33a5a3d741..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/statesystem/messages.properties
+++ /dev/null
@@ -1,28 +0,0 @@
-###############################################################################
-# Copyright (c) 2013 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:
-# Ericsson - Initial API and implementation
-###############################################################################
-
-# Column names
-TreeNodeColumnLabel=State System / Attribute
-QuarkColumnLabel=Quark
-ValueColumnLabel=Value at timestamp
-TypeColumnLabel=Type
-StartTimeColumLabel=Start time
-EndTimeColumLabel=End time
-AttributePathColumnLabel=Full attribute path
-
-# Other messages
-OutOfRangeMsg=Out of Range
-FilterButton=Only Display Changes at Selected Timestamp
-TypeInteger=Int
-TypeLong=Long
-TypeDouble=Double
-TypeString=String
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/statistics/Messages.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/statistics/Messages.java
deleted file mode 100755
index 8284082f76..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/statistics/Messages.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011, 2013 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:
- * Mathieu Denis <mathieu.denis@polymtl.ca> - Initial API and Implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.views.statistics;
-
-import org.eclipse.osgi.util.NLS;
-
-/**
- * Messages file for statistics view strings.
- *
- * @version 2.0
- * @author Mathieu Denis
- * @since 2.0
- */
-public class Messages extends NLS {
-
- private static final String BUNDLE_NAME = "org.eclipse.linuxtools.tmf.ui.views.statistics.messages"; //$NON-NLS-1$
-
- /**
- * String for the global tab name
- * @since 2.0
- */
- public static String TmfStatisticsView_GlobalTabName;
-
- static {
- // initialize resource bundle
- NLS.initializeMessages(BUNDLE_NAME, Messages.class);
- }
-
- private Messages() {
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/statistics/TmfStatisticsView.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/statistics/TmfStatisticsView.java
deleted file mode 100755
index 140e0b329f..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/statistics/TmfStatisticsView.java
+++ /dev/null
@@ -1,230 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011, 2014 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:
- * Mathieu Denis <mathieu.denis@polymtl.ca> - Generalized version based on LTTng
- * Bernd Hufmann - Updated to use trace reference in TmfEvent and streaming
- * Mathieu Denis - New request added to update the statistics from the selected time range
- * Mathieu Denis - Generalization of the view to instantiate a viewer specific to a trace type
- *
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.views.statistics;
-
-import org.eclipse.jdt.annotation.NonNull;
-import org.eclipse.linuxtools.tmf.core.signal.TmfSignalHandler;
-import org.eclipse.linuxtools.tmf.core.signal.TmfTraceClosedSignal;
-import org.eclipse.linuxtools.tmf.core.signal.TmfTraceOpenedSignal;
-import org.eclipse.linuxtools.tmf.core.signal.TmfTraceRangeUpdatedSignal;
-import org.eclipse.linuxtools.tmf.core.signal.TmfTraceSelectedSignal;
-import org.eclipse.linuxtools.tmf.core.trace.ITmfTrace;
-import org.eclipse.linuxtools.tmf.ui.viewers.ITmfViewer;
-import org.eclipse.linuxtools.tmf.ui.viewers.statistics.TmfStatisticsViewer;
-import org.eclipse.linuxtools.tmf.ui.views.TmfView;
-import org.eclipse.linuxtools.tmf.ui.widgets.tabsview.TmfViewerFolder;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Shell;
-
-/**
- * The generic Statistics View displays statistics for any kind of traces.
- *
- * It is implemented according to the MVC pattern. - The model is a
- * TmfStatisticsTreeNode built by the State Manager. - The view is built with a
- * TreeViewer. - The controller that keeps model and view synchronized is an
- * observer of the model.
- *
- * @version 2.0
- * @author Mathieu Denis
- */
-public class TmfStatisticsView extends TmfView {
-
- /**
- * The ID corresponds to the package in which this class is embedded.
- */
- public static final @NonNull String ID = "org.eclipse.linuxtools.tmf.ui.views.statistics"; //$NON-NLS-1$
-
- /**
- * The view name.
- */
- public static final String TMF_STATISTICS_VIEW = "StatisticsView"; //$NON-NLS-1$
-
- /**
- * The viewer that builds the columns to show the statistics.
- *
- * @since 2.0
- */
- protected final TmfViewerFolder fStatsViewers;
-
- /**
- * Stores a reference to the selected trace.
- */
- private ITmfTrace fTrace;
-
- /**
- * Constructor of a statistics view.
- *
- * @param viewName The name to give to the view.
- */
- public TmfStatisticsView(String viewName) {
- super(viewName);
- /*
- * Create a fake parent for initialization purpose, than set the parent
- * as soon as createPartControl is called.
- */
- Composite temporaryParent = new Shell();
- fStatsViewers = new TmfViewerFolder(temporaryParent);
- }
-
- /**
- * Default constructor.
- */
- public TmfStatisticsView() {
- this(TMF_STATISTICS_VIEW);
- }
-
- @Override
- public void createPartControl(Composite parent) {
- fStatsViewers.setParent(parent);
- createStatisticsViewers();
-
- ITmfTrace trace = getActiveTrace();
- if (trace != null) {
- traceSelected(new TmfTraceSelectedSignal(this, trace));
- }
- }
-
- @Override
- public void dispose() {
- super.dispose();
- fStatsViewers.dispose();
- }
-
- /**
- * Handler called when an trace is opened.
- *
- * @param signal
- * Contains the information about the selection.
- * @since 2.0
- */
- @TmfSignalHandler
- public void traceOpened(TmfTraceOpenedSignal signal) {
- /*
- * Dispose the current viewer and adapt the new one to the trace
- * type of the trace opened
- */
- fStatsViewers.clear();
- // Update the current trace
- fTrace = signal.getTrace();
- createStatisticsViewers();
- fStatsViewers.layout();
- }
-
- /**
- * Handler called when an trace is selected. Checks if the trace
- * has changed and requests the selected trace if it has not yet been
- * cached.
- *
- * @param signal
- * Contains the information about the selection.
- * @since 2.0
- */
- @TmfSignalHandler
- public void traceSelected(TmfTraceSelectedSignal signal) {
- // Does not reload the same trace if already opened
- if (signal.getTrace() != fTrace) {
- /*
- * Dispose the current viewer and adapt the new one to the trace
- * type of the trace selected
- */
- fStatsViewers.clear();
- // Update the current trace
- fTrace = signal.getTrace();
- createStatisticsViewers();
- fStatsViewers.layout();
-
- TmfTraceRangeUpdatedSignal updateSignal = new TmfTraceRangeUpdatedSignal(this, fTrace, fTrace.getTimeRange());
-
- for (ITmfViewer viewer : fStatsViewers.getViewers()) {
- TmfStatisticsViewer statsViewer = (TmfStatisticsViewer) viewer;
- statsViewer.sendPartialRequestOnNextUpdate();
- statsViewer.traceRangeUpdated(updateSignal);
- }
- } else {
- /*
- * If the same trace is reselected, sends a notification to
- * the viewers to make sure they reload correctly their partial
- * event count.
- */
- for (ITmfViewer viewer : fStatsViewers.getViewers()) {
- TmfStatisticsViewer statsViewer = (TmfStatisticsViewer) viewer;
- // Will update the partial event count if needed.
- statsViewer.sendPartialRequestOnNextUpdate();
- }
- }
- }
-
- /**
- * @param signal the incoming signal
- * @since 2.0
- */
- @TmfSignalHandler
- public void traceClosed(TmfTraceClosedSignal signal) {
- if (signal.getTrace() != fTrace) {
- return;
- }
-
- // Clear the internal data
- fTrace = null;
-
- // Clear the UI widgets
- fStatsViewers.clear(); // Also cancels ongoing requests
- createStatisticsViewers();
- fStatsViewers.layout();
- }
-
- @Override
- public void setFocus() {
- fStatsViewers.setFocus();
- }
-
- /**
- * Creates the statistics viewers for all traces in an experiment and
- * populates a viewer folder. Each viewer is placed in a different tab and
- * the first one is selected automatically.
- *
- * It uses the extension point that defines the statistics viewer to build
- * from the trace type. If no viewer is defined, another tab won't be
- * created, since the global viewer already contains all the basic
- * statistics. If there is no trace selected, a global statistics viewer will
- * still be created.
- *
- * @since 2.0
- */
- protected void createStatisticsViewers() {
- // Default style for the tabs that will be created
- int defaultStyle = SWT.NONE;
-
- // The folder composite that will contain the tabs
- Composite folder = fStatsViewers.getParentFolder();
-
- // Instantiation of the global viewer
- if (fTrace != null) {
- // Shows the name of the trace in the global tab
- TmfStatisticsViewer globalViewer = new TmfStatisticsViewer(folder, Messages.TmfStatisticsView_GlobalTabName + " - " + fTrace.getName(), fTrace); //$NON-NLS-1$
- fStatsViewers.addTab(globalViewer, Messages.TmfStatisticsView_GlobalTabName, defaultStyle);
-
- } else {
- // There is no trace selected. Shows an empty global tab
- TmfStatisticsViewer globalViewer = new TmfStatisticsViewer(folder, Messages.TmfStatisticsView_GlobalTabName, fTrace);
- fStatsViewers.addTab(globalViewer, Messages.TmfStatisticsView_GlobalTabName, defaultStyle);
- }
- // Makes the global viewer visible
- fStatsViewers.setSelection(0);
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/statistics/messages.properties b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/statistics/messages.properties
deleted file mode 100755
index 1a7d06c1e2..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/statistics/messages.properties
+++ /dev/null
@@ -1,13 +0,0 @@
-###############################################################################
-# Copyright (c) 2013 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:
-# Ericsson - Initial API and implementation
-###############################################################################
-
-TmfStatisticsView_GlobalTabName=Global
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/synchronization/Messages.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/synchronization/Messages.java
deleted file mode 100644
index 41351a01ed..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/synchronization/Messages.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 École Polytechnique de Montréal
- *
- * 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:
- * Geneviève Bastien - Initial implementation and API
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.views.synchronization;
-
-import org.eclipse.osgi.util.NLS;
-
-/**
- * Message file for the synchronization view
- * @since 3.0
- */
-@SuppressWarnings("javadoc")
-public class Messages extends NLS {
- private static final String BUNDLE_NAME = "org.eclipse.linuxtools.tmf.ui.views.synchronization.messages"; //$NON-NLS-1$
- public static String TmfSynchronizationView_NameColumn;
- public static String TmfSynchronizationView_ValueColumn;
- static {
- // initialize resource bundle
- NLS.initializeMessages(BUNDLE_NAME, Messages.class);
- }
-
- private Messages() {
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/synchronization/TmfSynchronizationView.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/synchronization/TmfSynchronizationView.java
deleted file mode 100644
index c8188061ae..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/synchronization/TmfSynchronizationView.java
+++ /dev/null
@@ -1,156 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 École Polytechnique de Montréal
- *
- * 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:
- * Geneviève Bastien - Initial implementation and API
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.views.synchronization;
-
-import java.util.Map;
-
-import org.eclipse.linuxtools.tmf.core.signal.TmfSignalHandler;
-import org.eclipse.linuxtools.tmf.core.signal.TmfTraceSelectedSignal;
-import org.eclipse.linuxtools.tmf.core.signal.TmfTraceSynchronizedSignal;
-import org.eclipse.linuxtools.tmf.core.synchronization.SynchronizationAlgorithm;
-import org.eclipse.linuxtools.tmf.core.trace.ITmfTrace;
-import org.eclipse.linuxtools.tmf.core.trace.TmfExperiment;
-import org.eclipse.linuxtools.tmf.core.trace.TmfTraceManager;
-import org.eclipse.linuxtools.tmf.ui.views.TmfView;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Tree;
-import org.eclipse.swt.widgets.TreeColumn;
-import org.eclipse.swt.widgets.TreeItem;
-
-/**
- * Small view to display statistics about a synchronization
- *
- * @author Geneviève Bastien
- * @since 3.0
- */
-public class TmfSynchronizationView extends TmfView {
-
- /**
- * The ID corresponds to the package in which this class is embedded.
- */
- public static final String ID = "org.eclipse.linuxtools.tmf.ui.views.synchronization"; //$NON-NLS-1$
-
- /**
- * The view name.
- */
- public static final String TMF_SYNCHRONIZATION_VIEW = "SynchronizationView"; //$NON-NLS-1$
-
- /**
- * The synchronization algorithm to display stats for
- */
- private SynchronizationAlgorithm fAlgoSync;
-
- private Tree fTree;
-
- /**
- * Default constructor
- */
- public TmfSynchronizationView() {
- super(TMF_SYNCHRONIZATION_VIEW);
- }
-
- @Override
- public void createPartControl(Composite parent) {
- fTree = new Tree(parent, SWT.NONE);
- TreeColumn nameCol = new TreeColumn(fTree, SWT.NONE, 0);
- TreeColumn valueCol = new TreeColumn(fTree, SWT.NONE, 1);
- nameCol.setText(Messages.TmfSynchronizationView_NameColumn);
- valueCol.setText(Messages.TmfSynchronizationView_ValueColumn);
-
- fTree.setItemCount(0);
-
- fTree.setHeaderVisible(true);
- nameCol.pack();
- valueCol.pack();
-
- ITmfTrace trace = TmfTraceManager.getInstance().getActiveTrace();
- if (trace != null) {
- traceSelected(new TmfTraceSelectedSignal(this, trace));
- }
- }
-
- private void updateTable() {
- fTree.setItemCount(0);
- if (fAlgoSync == null) {
- return;
- }
-
- for (Map.Entry<String, Map<String, Object>> entry : fAlgoSync.getStats().entrySet()) {
- TreeItem item = new TreeItem(fTree, SWT.NONE);
- item.setText(0, entry.getKey().toString());
- item.setText(1, entry.getValue().toString());
-
- for (Map.Entry<String, Object> subentry : entry.getValue().entrySet()) {
- TreeItem subitem = new TreeItem(item, SWT.NONE);
- subitem.setText(0, subentry.getKey().toString());
- subitem.setText(1, subentry.getValue().toString());
- }
- }
-
- /* Expand the tree items */
- for (int i = 0; i < fTree.getItemCount(); i++) {
- fTree.getItem(i).setExpanded(true);
- }
-
- for (TreeColumn column : fTree.getColumns()) {
- column.pack();
- }
- }
-
- @Override
- public void setFocus() {
- fTree.setFocus();
- }
-
- /**
- * Handler called when a trace is selected
- *
- * @param signal
- * Contains information about the selected trace
- * @since 3.1
- */
- @TmfSignalHandler
- public void traceSelected(TmfTraceSelectedSignal signal) {
- fAlgoSync = null;
- if (signal.getTrace() instanceof TmfExperiment) {
- fAlgoSync = ((TmfExperiment) signal.getTrace()).synchronizeTraces();
- }
- Display.getDefault().asyncExec(new Runnable() {
- @Override
- public void run() {
- updateTable();
- }
- });
- }
-
- /**
- * Handler called when traces are synchronized
- *
- * @param signal
- * Contains the information about the selection.
- */
- @TmfSignalHandler
- public void traceSynchronized(TmfTraceSynchronizedSignal signal) {
- if (signal.getSyncAlgo() != fAlgoSync) {
- fAlgoSync = signal.getSyncAlgo();
- Display.getDefault().asyncExec(new Runnable() {
- @Override
- public void run() {
- updateTable();
- }
- });
- }
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/synchronization/messages.properties b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/synchronization/messages.properties
deleted file mode 100644
index 86c84fe49e..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/synchronization/messages.properties
+++ /dev/null
@@ -1,13 +0,0 @@
-###############################################################################
-# Copyright (c) 2014 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:
-# Ericsson - Initial API and implementation
-###############################################################################
-TmfSynchronizationView_NameColumn=Synchronization Information
-TmfSynchronizationView_ValueColumn=Value
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/timechart/TimeChartAnalysisEntry.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/timechart/TimeChartAnalysisEntry.java
deleted file mode 100644
index f2309ac626..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/timechart/TimeChartAnalysisEntry.java
+++ /dev/null
@@ -1,277 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010, 2013 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:
- * Patrick Tasse - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.views.timechart;
-
-import java.util.Iterator;
-import java.util.List;
-import java.util.NoSuchElementException;
-import java.util.Vector;
-
-import org.eclipse.linuxtools.tmf.core.trace.ITmfTrace;
-import org.eclipse.linuxtools.tmf.ui.widgets.timegraph.model.ITimeEvent;
-import org.eclipse.linuxtools.tmf.ui.widgets.timegraph.model.ITimeGraphEntry;
-
-/**
- * An entry (row) in the time chart analysis view
- *
- * @version 1.0
- * @author Patrick Tasse
- */
-public class TimeChartAnalysisEntry implements ITimeGraphEntry {
-
- private final ITmfTrace fTrace;
- private final Vector<TimeChartEvent> fTraceEvents;
- private int fPower = 0; // 2^fPower nanoseconds per vector position
- private long fReferenceTime = -1; // time corresponding to beginning of index 0
- private long fStartTime = -1; // time of first event
- private long fStopTime = -1; // time of last event
- private long fLastRank = -1; // rank of last processed trace event
-
- TimeChartAnalysisEntry(ITmfTrace trace, int modelSize) {
- fTrace = trace;
- fTraceEvents = new Vector<>(modelSize);
- }
-
- /**
- * @since 2.0
- */
- @Override
- public List<ITimeGraphEntry> getChildren() {
- return null;
- }
-
- @Override
- public ITimeGraphEntry getParent() {
- return null;
- }
-
- @Override
- public boolean hasChildren() {
- return false;
- }
-
- @Override
- public String getName() {
- return fTrace.getName();
- }
-
- @Override
- public long getStartTime() {
- return fStartTime;
- }
-
- @Override
- public long getEndTime() {
- return fStopTime;
- }
-
- @Override
- public boolean hasTimeEvents() {
- return true;
- }
-
- @Override
- public Iterator<ITimeEvent> getTimeEventsIterator() {
- return new EntryIterator(0, Long.MAX_VALUE, 0);
- }
-
- @Override
- public Iterator<ITimeEvent> getTimeEventsIterator(long startTime, long stopTime, long maxDuration) {
- return new EntryIterator(startTime, stopTime, maxDuration);
- }
-
- private class EntryIterator implements Iterator<ITimeEvent> {
- private final long fIteratorStartTime;
- private final long fIteratorStopTime;
- private final long fIteratorMaxDuration;
- private long lastTime = -1;
- private TimeChartEvent next = null;
- private Iterator<ITimeEvent> nestedIterator = null;
-
- public EntryIterator(long startTime, long stopTime, long maxDuration) {
- fIteratorStartTime = startTime;
- fIteratorStopTime = stopTime;
- fIteratorMaxDuration = maxDuration;
- }
-
- @Override
- public boolean hasNext() {
- synchronized (fTraceEvents) {
- if (next != null) {
- return true;
- }
- if (nestedIterator != null) {
- if (nestedIterator.hasNext()) {
- return true;
- }
- nestedIterator = null;
- }
- long time = (lastTime == -1) ? fStartTime : lastTime;
- int index = (fReferenceTime == -1) ? 0 : (int) ((time - fReferenceTime) >> fPower);
- while (index < fTraceEvents.size()) {
- TimeChartEvent event = fTraceEvents.get(index++);
- if (event != null && (lastTime == -1 || event.getTime() > time)) {
- if (event.getTime() + event.getDuration() >= fIteratorStartTime && event.getTime() <= fIteratorStopTime) {
- if (event.getItemizedEntry() == null || event.getDuration() <= fIteratorMaxDuration) {
- lastTime = event.getTime() + event.getDuration();
- next = event;
- return true;
- }
- nestedIterator = event.getItemizedEntry().getTimeEventsIterator(fIteratorStartTime, fIteratorStopTime, fIteratorMaxDuration);
- return nestedIterator.hasNext();
- }
- }
- }
- return false;
- }
- }
-
- @Override
- public TimeChartEvent next() {
- synchronized (fTraceEvents) {
- if (nestedIterator != null) {
- TimeChartEvent event = (TimeChartEvent) nestedIterator.next();
- lastTime = event.getTime() + event.getDuration();
- return event;
- }
- if (hasNext()) {
- TimeChartEvent event = next;
- next = null;
- return event;
- }
- throw new NoSuchElementException();
- }
- }
-
- @Override
- public void remove() {
- throw new UnsupportedOperationException();
- }
-
- }
-
- /**
- * Add a time event to the time chart entry
- *
- * @param timeEvent
- * The event to add
- */
- public void addTraceEvent(ITimeEvent timeEvent) {
- long time = timeEvent.getTime();
- synchronized (fTraceEvents) {
- long index = (fReferenceTime == -1) ? 0 : (time - fReferenceTime) >> fPower;
- if (index < 0) {
- if (fTraceEvents.capacity() - fTraceEvents.size() < -index) {
- int powershift = (-index + fTraceEvents.size() <= 2 * fTraceEvents.capacity()) ? 1 :
- (int) Math.ceil(Math.log((double) (-index + fTraceEvents.size()) / fTraceEvents.capacity()) / Math.log(2));
- merge(powershift);
- index = (int) ((time - fReferenceTime) >> fPower);
- }
- shift((int) -index);
- index = 0;
- fTraceEvents.set(0, (TimeChartEvent) timeEvent);
- } else if (index < fTraceEvents.capacity()) {
- if (index >= fTraceEvents.size()) {
- fTraceEvents.setSize((int) index + 1);
- }
- } else {
- int powershift = (index < 2 * fTraceEvents.capacity()) ? 1 :
- (int) Math.ceil(Math.log((double) (index + 1) / fTraceEvents.capacity()) / Math.log(2));
- merge(powershift);
- index = (int) ((time - fReferenceTime) >> fPower);
- fTraceEvents.setSize((int) index + 1);
- }
- TimeChartEvent event = fTraceEvents.get((int) index);
- if (event == null) {
- fTraceEvents.set((int) index, (TimeChartEvent) timeEvent);
- } else {
- if (event.getItemizedEntry() == null) {
- event.merge((TimeChartEvent) timeEvent);
- } else {
- event.mergeDecorations((TimeChartEvent) timeEvent);
- event.getItemizedEntry().addTraceEvent(timeEvent);
- }
- }
- if (fReferenceTime == -1 || time < fReferenceTime) {
- fReferenceTime = (time >> fPower) << fPower;
- }
- if (fStartTime == -1 || time < fStartTime) {
- fStartTime = time;
- }
- if (fStopTime == -1 || time > fStopTime) {
- fStopTime = time;
- }
- }
- }
-
- private void merge(int powershift) {
- fPower += powershift;
- fReferenceTime = (fReferenceTime >> fPower) << fPower;
- int index = 0;
- for (int i = 0; i < fTraceEvents.size(); i++) {
- TimeChartEvent event = fTraceEvents.get(i);
- if (event != null) {
- index = (int) ((event.getTime() - fReferenceTime) >> fPower);
- TimeChartEvent mergedEvent = fTraceEvents.get(index);
- if (mergedEvent == null) {
- fTraceEvents.set(index, event);
- } else {
- mergedEvent.merge(event);
- }
- if (i != index) {
- fTraceEvents.set(i, null);
- }
- }
- }
- fTraceEvents.setSize(index + 1);
- }
-
- private void shift(int indexshift) {
- int oldSize = fTraceEvents.size();
- fTraceEvents.setSize(oldSize + indexshift);
- for (int i = oldSize - 1; i >= 0; i--) {
- fTraceEvents.set(i + indexshift, fTraceEvents.get(i));
- }
- for (int i = 0; i < indexshift; i++) {
- fTraceEvents.set(i, null);
- }
- }
-
- /**
- * Retrieve the trace associated with this entry
- *
- * @return The trace object
- */
- public ITmfTrace getTrace() {
- return fTrace;
- }
-
- /**
- * Set the last rank of the entry
- *
- * @param rank
- * The rank to set
- */
- public void setLastRank(long rank) {
- fLastRank = rank;
- }
-
- /**
- * Retrieve the last rank of the entry
- *
- * @return The last rank
- */
- public long getLastRank() {
- return fLastRank;
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/timechart/TimeChartAnalysisProvider.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/timechart/TimeChartAnalysisProvider.java
deleted file mode 100644
index 48ade80f3a..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/timechart/TimeChartAnalysisProvider.java
+++ /dev/null
@@ -1,108 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010, 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:
- * Patrick Tasse - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.views.timechart;
-
-import org.eclipse.linuxtools.tmf.ui.views.colors.ColorSetting;
-import org.eclipse.linuxtools.tmf.ui.views.colors.ColorSettingsManager;
-import org.eclipse.linuxtools.tmf.ui.widgets.timegraph.ITimeGraphPresentationProvider;
-import org.eclipse.linuxtools.tmf.ui.widgets.timegraph.StateItem;
-import org.eclipse.linuxtools.tmf.ui.widgets.timegraph.TimeGraphPresentationProvider;
-import org.eclipse.linuxtools.tmf.ui.widgets.timegraph.model.ITimeEvent;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.graphics.GC;
-import org.eclipse.swt.graphics.Rectangle;
-import org.eclipse.swt.widgets.Display;
-
-/**
- * Provider for a time chart analysis view
- *
- * @version 1.0
- * @author Patrick Tasse
- */
-public class TimeChartAnalysisProvider extends TimeGraphPresentationProvider {
-
- private static final Color BOOKMARK_INNER_COLOR = new Color(Display.getDefault(), 115, 165, 224);
- private static final Color BOOKMARK_OUTER_COLOR = new Color(Display.getDefault(), 2, 70, 140);
- private static final Color SEARCH_MATCH_COLOR = new Color(Display.getDefault(), 177, 118, 14);
-
- private int lastX = Integer.MIN_VALUE;
- private int currX = Integer.MIN_VALUE;
- private int lastPriority;
- private int lastBookmarkX = Integer.MIN_VALUE;
-
- @Override
- public StateItem[] getStateTable() {
-
- ColorSetting[] settings = ColorSettingsManager.getColorSettings();
- StateItem[] stateItems = new StateItem[settings.length];
- for (int i = 0; i < settings.length; i++) {
- stateItems[i] = new StateItem(settings[i].getTickColorRGB());
- }
- return stateItems;
- }
-
- @Override
- public int getStateTableIndex(ITimeEvent event) {
- if (! ((TimeChartEvent) event).isVisible()) {
- return ITimeGraphPresentationProvider.INVISIBLE;
- }
- int priority = ((TimeChartEvent) event).getColorSettingPriority();
- if (currX == lastX) {
- priority = Math.min(priority, lastPriority);
- }
- lastPriority = priority;
- return priority;
- }
-
- @Override
- public void postDrawEvent(ITimeEvent event, Rectangle rect, GC gc) {
- if (! ((TimeChartEvent) event).isVisible()) {
- return;
- }
- lastX = currX;
- currX = rect.x;
- if (lastBookmarkX == rect.x || ((TimeChartEvent) event).isBookmarked()) {
- drawBookmark(rect, gc);
- lastBookmarkX = rect.x;
- } else if (lastBookmarkX == rect.x - 1) {
- Rectangle r = new Rectangle(lastBookmarkX, rect.y, rect.width, rect.height);
- drawBookmark(r, gc);
- } else {
- lastBookmarkX = Integer.MIN_VALUE;
- }
- if (((TimeChartEvent) event).isSearchMatch()) {
- drawSearchMatch(rect, gc);
- }
- }
-
- private static void drawBookmark(Rectangle r, GC gc) {
- gc.setForeground(BOOKMARK_OUTER_COLOR);
- gc.drawLine(r.x - 1, r.y - 2, r.x - 1, r.y + 2);
- gc.drawLine(r.x + 1, r.y - 2, r.x + 1, r.y + 2);
- gc.drawPoint(r.x, r.y - 2);
- gc.setForeground(BOOKMARK_INNER_COLOR);
- gc.drawLine(r.x, r.y - 1, r.x, r.y + 1);
- gc.setForeground(Display.getDefault().getSystemColor(SWT.COLOR_WHITE));
- gc.drawPoint(r.x - 1, r.y + 3);
- gc.drawPoint(r.x, r.y + 2);
- gc.drawPoint(r.x + 1, r.y + 3);
- }
-
- private static void drawSearchMatch(Rectangle r, GC gc) {
- gc.setForeground(SEARCH_MATCH_COLOR);
- gc.drawPoint(r.x, r.y + r.height);
- gc.drawLine(r.x - 1, r.y + r.height + 1, r.x + 1, r.y + r.height + 1);
- gc.drawLine(r.x - 2, r.y + r.height + 2, r.x + 2, r.y + r.height + 2);
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/timechart/TimeChartDecorationProvider.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/timechart/TimeChartDecorationProvider.java
deleted file mode 100644
index 7eaeb22b17..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/timechart/TimeChartDecorationProvider.java
+++ /dev/null
@@ -1,141 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010, 2013 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:
- * Patrick Tasse - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.views.timechart;
-
-import java.util.HashSet;
-import java.util.Set;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.linuxtools.internal.tmf.ui.Activator;
-import org.eclipse.linuxtools.tmf.core.event.ITmfEvent;
-import org.eclipse.linuxtools.tmf.core.filter.ITmfFilter;
-
-/**
- * Provider for decorations in the time chart view
- *
- * @version 1.0
- * @author Patrick Tasse
- */
-public class TimeChartDecorationProvider {
-
- private final IFile fBookmarksFile;
- private final Set<Long> fBookmarksSet = new HashSet<>();
- private ITmfFilter fFilterFilter;
- private ITmfFilter fSearchFilter;
-
- /**
- * Constructor
- *
- * @param bookmarksFile
- * Bookmark file associated with the trace
- */
- public TimeChartDecorationProvider(IFile bookmarksFile) {
- fBookmarksFile = bookmarksFile;
- refreshBookmarks();
- }
-
- /**
- * Retrieve the bookmark file that was assigned to this provider
- *
- * @return The bookmark file
- */
- public IFile getBookmarksFile() {
- return fBookmarksFile;
- }
-
- /**
- * Verify if the selected rank has a bookmark assigned to it.
- *
- * @param rank
- * The rank to check for
- * @return If there is a bookmark there
- */
- public boolean isBookmark(long rank) {
- return fBookmarksSet.contains(rank);
- }
-
- /**
- * Refresh the bookmark display.
- */
- public void refreshBookmarks() {
- try {
- fBookmarksSet.clear();
- if (fBookmarksFile == null) {
- return;
- }
- for (IMarker bookmark : fBookmarksFile.findMarkers(
- IMarker.BOOKMARK, false, IResource.DEPTH_ZERO)) {
- int location = bookmark.getAttribute(IMarker.LOCATION, -1);
- if (location != -1) {
- Long rank = (long) location;
- fBookmarksSet.add(rank);
- }
- }
- } catch (CoreException e) {
- Activator.getDefault().logError("Error refreshing bookmarks", e); //$NON-NLS-1$
- }
- }
-
- /**
- * Notify that a filter is now applied on the view.
- *
- * @param filter
- * The filter that was applied
- */
- public void filterApplied(ITmfFilter filter) {
- fFilterFilter = filter;
- }
-
- /**
- * Check if an event is currently visible in the view or not.
- *
- * @param event
- * The event to check for
- * @return If the event is visible or not
- */
- public boolean isVisible(ITmfEvent event) {
- if (fFilterFilter != null) {
- return fFilterFilter.matches(event);
- }
- return true;
- }
-
- /**
- * Notify that a search is applied on the view.
- *
- * @param filter
- * The search filter that was applied
- */
- public void searchApplied(ITmfFilter filter) {
- fSearchFilter = filter;
- }
-
- /**
- * Verify if the currently active search filter applies to the given event
- * or not.
- *
- * @param event
- * The event to check for
- * @return If the event matches
- */
- public boolean isSearchMatch(ITmfEvent event) {
- if (fSearchFilter != null) {
- return fSearchFilter.matches(event);
- }
- return false;
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/timechart/TimeChartEvent.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/timechart/TimeChartEvent.java
deleted file mode 100644
index 9f12d2f9d8..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/timechart/TimeChartEvent.java
+++ /dev/null
@@ -1,375 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010, 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:
- * Patrick Tasse - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.views.timechart;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-
-import org.eclipse.linuxtools.tmf.core.event.ITmfEvent;
-import org.eclipse.linuxtools.tmf.ui.views.colors.ColorSettingsManager;
-import org.eclipse.linuxtools.tmf.ui.widgets.timegraph.model.ITimeEvent;
-import org.eclipse.linuxtools.tmf.ui.widgets.timegraph.model.ITimeGraphEntry;
-
-/**
- * Event in the time chart view
- *
- * @version 1.0
- * @author Patrick Tasse
- */
-public class TimeChartEvent implements ITimeEvent {
-
- private static final byte TIMESTAMP_SCALE = -9;
-
- private final TimeChartAnalysisEntry fParentEntry;
- private long fTime;
- private long fDuration;
- private long fFirstRank;
- private long fLastRank;
- private final RankRangeList fRankRangeList;
- private long fNbEvents;
- private int fColorSettingPriority;
- private boolean fIsBookmark;
- private boolean fIsVisible;
- private boolean fIsSearchMatch;
- private TimeChartAnalysisEntry fItemizedEntry;
- private boolean fItemizing;
-
- /**
- * Standard constructor
- *
- * @param parentEntry
- * The parent entry
- * @param event
- * The event from which this time chart event originates
- * @param rank
- * The rank of the event in the trace
- * @param decorationProvider
- * The decoration provider to use
- */
- public TimeChartEvent(TimeChartAnalysisEntry parentEntry, ITmfEvent event,
- long rank, TimeChartDecorationProvider decorationProvider) {
- fParentEntry = parentEntry;
- fTime = event.getTimestamp().normalize(0, TIMESTAMP_SCALE).getValue();
- fDuration = 0;
- fFirstRank = fLastRank = rank;
- fRankRangeList = new RankRangeList(rank);
- fNbEvents = 1;
- fColorSettingPriority = ColorSettingsManager.getColorSettingPriority(event);
- fIsBookmark = decorationProvider.isBookmark(rank);
- fIsVisible = decorationProvider.isVisible(event);
- fIsSearchMatch = decorationProvider.isSearchMatch(event);
- }
-
- @Override
- public ITimeGraphEntry getEntry() {
- return fParentEntry;
- }
-
- @Override
- public long getTime() {
- return fTime;
- }
-
- @Override
- public long getDuration() {
- return fDuration;
- }
-
- /**
- * Retrieve the rank of the trace event which started this time event.
- *
- * @return The rank of the beginning
- */
- public long getFirstRank() {
- return fFirstRank;
- }
-
- /**
- * Retrieve the rank of the trace event which *finished* this time event.
- *
- * @return The rank of the end
- */
- public long getLastRank() {
- return fLastRank;
- }
-
- /**
- * Get the list of rank ranges corresponding to this time event.
- *
- * @return The rank range list
- */
- public RankRangeList getRankRangeList() {
- return fRankRangeList;
- }
-
- /**
- * Merge another time event with this one.
- *
- * @param event
- * The other event
- */
- public void merge(TimeChartEvent event) {
- mergeDecorations(event);
- if (fTime == event.getTime() && fDuration == event.getDuration()) {
- return;
- }
- long endTime = Math.max(fTime + fDuration, event.getTime() + event.getDuration());
- fTime = Math.min(fTime, event.getTime());
- fDuration = endTime - fTime;
- fFirstRank = Math.min(fFirstRank, event.fFirstRank);
- fLastRank = Math.max(fLastRank, event.fLastRank);
- fNbEvents += event.fNbEvents;
- fItemizedEntry = null;
- synchronized (fRankRangeList) {
- fRankRangeList.merge(event.getRankRangeList());
- }
- }
-
- /**
- * Merge the decorations of another time event with the decorations of this
- * one.
- *
- * @param event
- * The other event
- */
- public void mergeDecorations(TimeChartEvent event) {
- fColorSettingPriority = Math.min(fColorSettingPriority, event.getColorSettingPriority());
- fIsBookmark |= event.fIsBookmark;
- fIsVisible |= event.fIsVisible;
- fIsSearchMatch |= event.fIsSearchMatch;
- }
-
- /**
- * Get the number of time events that have been merged with this one (starts
- * counting at 1 if no merge happened).
- *
- * @return The current number of events in the bath
- */
- public long getNbEvents() {
- return fNbEvents;
- }
-
- /**
- * Retrieve the color setting priority.
- *
- * @return The priority
- */
- public int getColorSettingPriority() {
- return fColorSettingPriority;
- }
-
- /**
- * Set the color setting priority.
- *
- * @param priority
- * The priority to set
- */
- public void setColorSettingPriority(int priority) {
- fColorSettingPriority = priority;
- }
-
- /**
- * Check if this time event is bookmarked
- *
- * @return Y/N
- */
- public boolean isBookmarked() {
- return fIsBookmark;
- }
-
- /**
- * Set this time event to be bookmarked or not.
- *
- * @param isBookmarked
- * Should time time event become a bookmark, or not
- */
- public void setIsBookmarked(boolean isBookmarked) {
- fIsBookmark = isBookmarked;
- }
-
- /**
- * Check if this time is currently visible or not.
- *
- * @return If the event is visible
- */
- public boolean isVisible() {
- return fIsVisible;
- }
-
- /**
- * Set this time event to visible (or to non-visible).
- *
- * @param isVisible The new status
- */
- public void setIsVisible(boolean isVisible) {
- fIsVisible = isVisible;
- }
-
- /**
- * Check if the time event matches the current search.
- *
- * @return If it matches, Y/N
- */
- public boolean isSearchMatch() {
- return fIsSearchMatch;
- }
-
- /**
- * Mark this event as matching (or non-matching) the current search.
- *
- * @param isSearchMatch
- * The new matching status
- */
- public void setIsSearchMatch(boolean isSearchMatch) {
- fIsSearchMatch = isSearchMatch;
- }
-
- /**
- * Set this event's itemized entry.
- *
- * @param timeAnalysisEntry
- * The entry to set
- */
- public void setItemizedEntry(TimeChartAnalysisEntry timeAnalysisEntry) {
- fItemizedEntry = timeAnalysisEntry;
- }
-
- /**
- * Retrieve this event's itemized entry.
- *
- * @return The itemized entry that was previously set
- */
- public TimeChartAnalysisEntry getItemizedEntry() {
- return fItemizedEntry;
- }
-
- /**
- * @return Has this time event been set to itemizing?
- */
- public boolean isItemizing() {
- return fItemizing;
- }
-
- /**
- * Set this event's itemizing flag to true or false.
- *
- * @param itemizing
- * The new value
- */
- public void setItemizing(boolean itemizing) {
- fItemizing = itemizing;
- }
-
- /**
- * Inner class to define a range in terms of ranks in the trace.
- *
- * @version 1.0
- * @author Patrick Tasse
- */
- public class RankRange {
- private long firstRank;
- private long lastRank;
-
- /**
- * Standard constructor
- *
- * @param firstRank
- * The first (earliest) rank of the range
- * @param lastRank
- * The last (latest) rank of the range
- */
- public RankRange(long firstRank, long lastRank) {
- this.firstRank = firstRank;
- this.lastRank = lastRank;
- }
-
- /**
- * Retrieve the start rank of this range.
- *
- * @return The first rank
- */
- public long getFirstRank() {
- return firstRank;
- }
-
- /**
- * Retrieve the end rank of this range
- *
- * @return The end rank
- */
- public long getLastRank() {
- return lastRank;
- }
-
- /**
- * Calculate the minimal distance between two RankRange's
- *
- * @param range
- * The other range
- * @return The distance, in "number of events" between the two ranges
- */
- public long distanceFrom(RankRange range) {
- if (range.lastRank < fFirstRank) {
- return fFirstRank - range.lastRank;
- } else if (range.firstRank > fLastRank) {
- return range.firstRank - fLastRank;
- } else {
- return 0;
- }
- }
-
- @Override
- public String toString() {
- return "["+firstRank+","+lastRank+"]"; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- }
- }
-
- private class RankRangeList extends ArrayList<RankRange> {
-
- private static final long serialVersionUID = 6060485531208535986L;
-
- public RankRangeList(long rank) {
- super(1);
- add(new RankRange(rank, rank));
- }
-
- public void merge(RankRangeList rankRangeList) {
- long threshold = fParentEntry.getTrace().getCacheSize();
- for (RankRange newRange : rankRangeList) {
- boolean merged = false;
- for (RankRange oldRange : fRankRangeList) {
- if (newRange.distanceFrom(oldRange) <= threshold) {
- oldRange.firstRank = Math.min(oldRange.firstRank, newRange.firstRank);
- oldRange.lastRank = Math.max(oldRange.lastRank, newRange.lastRank);
- merged = true;
- break;
- }
- }
- if (!merged) {
- add(newRange);
- }
- }
- Iterator<RankRange> iterator = fRankRangeList.iterator();
- RankRange previous = null;
- while (iterator.hasNext()) {
- RankRange range = iterator.next();
- if (previous != null && range.distanceFrom(previous) <= threshold) {
- previous.firstRank = Math.min(previous.firstRank, range.firstRank);
- previous.lastRank = Math.max(previous.lastRank, range.lastRank);
- iterator.remove();
- }
- previous = range;
- }
- }
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/timechart/TimeChartView.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/timechart/TimeChartView.java
deleted file mode 100644
index 46a41d8822..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/timechart/TimeChartView.java
+++ /dev/null
@@ -1,754 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010, 2014 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:
- * Patrick Tasse - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.views.timechart;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.Map;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.resources.IMarkerDelta;
-import org.eclipse.core.resources.IResourceChangeEvent;
-import org.eclipse.core.resources.IResourceChangeListener;
-import org.eclipse.core.resources.IResourceDelta;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.jface.action.IStatusLineManager;
-import org.eclipse.linuxtools.tmf.core.event.ITmfEvent;
-import org.eclipse.linuxtools.tmf.core.signal.TmfEventFilterAppliedSignal;
-import org.eclipse.linuxtools.tmf.core.signal.TmfEventSearchAppliedSignal;
-import org.eclipse.linuxtools.tmf.core.signal.TmfRangeSynchSignal;
-import org.eclipse.linuxtools.tmf.core.signal.TmfSignalHandler;
-import org.eclipse.linuxtools.tmf.core.signal.TmfTimeSynchSignal;
-import org.eclipse.linuxtools.tmf.core.signal.TmfTraceClosedSignal;
-import org.eclipse.linuxtools.tmf.core.signal.TmfTraceOpenedSignal;
-import org.eclipse.linuxtools.tmf.core.signal.TmfTraceSelectedSignal;
-import org.eclipse.linuxtools.tmf.core.signal.TmfTraceUpdatedSignal;
-import org.eclipse.linuxtools.tmf.core.timestamp.ITmfTimestamp;
-import org.eclipse.linuxtools.tmf.core.timestamp.TmfTimeRange;
-import org.eclipse.linuxtools.tmf.core.timestamp.TmfTimestamp;
-import org.eclipse.linuxtools.tmf.core.trace.ITmfContext;
-import org.eclipse.linuxtools.tmf.core.trace.ITmfTrace;
-import org.eclipse.linuxtools.tmf.core.trace.TmfTraceManager;
-import org.eclipse.linuxtools.tmf.ui.views.TmfView;
-import org.eclipse.linuxtools.tmf.ui.views.colors.ColorSetting;
-import org.eclipse.linuxtools.tmf.ui.views.colors.ColorSettingsManager;
-import org.eclipse.linuxtools.tmf.ui.views.colors.IColorSettingsListener;
-import org.eclipse.linuxtools.tmf.ui.views.timechart.TimeChartEvent.RankRange;
-import org.eclipse.linuxtools.tmf.ui.widgets.timegraph.ITimeGraphPresentationProvider;
-import org.eclipse.linuxtools.tmf.ui.widgets.timegraph.ITimeGraphRangeListener;
-import org.eclipse.linuxtools.tmf.ui.widgets.timegraph.ITimeGraphSelectionListener;
-import org.eclipse.linuxtools.tmf.ui.widgets.timegraph.ITimeGraphTimeListener;
-import org.eclipse.linuxtools.tmf.ui.widgets.timegraph.TimeGraphRangeUpdateEvent;
-import org.eclipse.linuxtools.tmf.ui.widgets.timegraph.TimeGraphSelectionEvent;
-import org.eclipse.linuxtools.tmf.ui.widgets.timegraph.TimeGraphTimeEvent;
-import org.eclipse.linuxtools.tmf.ui.widgets.timegraph.TimeGraphViewer;
-import org.eclipse.linuxtools.tmf.ui.widgets.timegraph.model.ITimeEvent;
-import org.eclipse.linuxtools.tmf.ui.widgets.timegraph.model.ITimeGraphEntry;
-import org.eclipse.linuxtools.tmf.ui.widgets.timegraph.widgets.Utils.TimeFormat;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Display;
-
-/**
- * Generic Time Chart view, which is similar to a Gantt chart for trace analysis
- *
- * @version 1.0
- * @author Patrick Tasse
- */
-public class TimeChartView extends TmfView implements ITimeGraphRangeListener, ITimeGraphSelectionListener, ITimeGraphTimeListener, IColorSettingsListener, IResourceChangeListener {
-
- /** TimeChartView's ID */
- public static final String ID = "org.eclipse.linuxtools.tmf.ui.views.timechart"; //$NON-NLS-1$
-
- private static final int TIMESTAMP_SCALE = -9;
-
- private final int fDisplayWidth;
- private TimeGraphViewer fViewer;
- private final ArrayList<TimeChartAnalysisEntry> fTimeAnalysisEntries = new ArrayList<>();
- private final Map<ITmfTrace, TimeChartDecorationProvider> fDecorationProviders = new HashMap<>();
- private final ArrayList<DecorateThread> fDecorateThreads = new ArrayList<>();
- private long fStartTime = 0;
- private long fStopTime = Long.MAX_VALUE;
- private boolean fRefreshBusy = false;
- private boolean fRefreshPending = false;
- private boolean fRedrawBusy = false;
- private boolean fRedrawPending = false;
- private final Object fSyncObj = new Object();
- private ITimeGraphPresentationProvider fPresentationProvider;
-
- /**
- * Default constructor
- */
- public TimeChartView() {
- super("Time Chart"); //$NON-NLS-1$
- fDisplayWidth = Display.getDefault().getBounds().width;
- }
-
- @Override
- public void createPartControl(Composite parent) {
- fViewer = new TimeGraphViewer(parent, SWT.NONE);
- fPresentationProvider = new TimeChartAnalysisProvider();
- fViewer.setTimeGraphProvider(fPresentationProvider);
- fViewer.setTimeFormat(TimeFormat.CALENDAR);
- fViewer.addTimeListener(this);
- fViewer.addRangeListener(this);
- fViewer.addSelectionListener(this);
- fViewer.setMinimumItemWidth(1);
-
- IStatusLineManager statusLineManager = getViewSite().getActionBars().getStatusLineManager();
- fViewer.getTimeGraphControl().setStatusLineManager(statusLineManager);
-
- for (ITmfTrace trace : TmfTraceManager.getInstance().getOpenedTraces()) {
- IFile bookmarksFile = TmfTraceManager.getInstance().getTraceEditorFile(trace);
- TimeChartAnalysisEntry timeAnalysisEntry = new TimeChartAnalysisEntry(trace, fDisplayWidth * 2);
- fTimeAnalysisEntries.add(timeAnalysisEntry);
- fDecorationProviders.put(trace, new TimeChartDecorationProvider(bookmarksFile));
- Thread thread = new ProcessTraceThread(timeAnalysisEntry);
- thread.start();
- }
- fViewer.setInput(fTimeAnalysisEntries.toArray(new TimeChartAnalysisEntry[0]));
-
- ColorSettingsManager.addColorSettingsListener(this);
- ResourcesPlugin.getWorkspace().addResourceChangeListener(this, IResourceChangeEvent.POST_CHANGE);
- }
-
- @Override
- public void dispose() {
- ResourcesPlugin.getWorkspace().removeResourceChangeListener(this);
- for (DecorateThread thread : fDecorateThreads) {
- thread.cancel();
- }
- ColorSettingsManager.removeColorSettingsListener(this);
- super.dispose();
- }
-
- @Override
- public void setFocus() {
- fViewer.setFocus();
- }
-
- private class ProcessTraceThread extends Thread {
-
- private final TimeChartAnalysisEntry fTimeAnalysisEntry;
-
- public ProcessTraceThread(TimeChartAnalysisEntry timeAnalysisEntry) {
- super("ProcessTraceJob:" + timeAnalysisEntry.getName()); //$NON-NLS-1$
- fTimeAnalysisEntry = timeAnalysisEntry;
- }
-
- @Override
- public void run() {
- updateTraceEntry(fTimeAnalysisEntry, Long.MAX_VALUE, 0, Long.MAX_VALUE);
- }
- }
-
- private void updateTraceEntry(TimeChartAnalysisEntry timeAnalysisEntry, long stopRank, long startTime, long stopTime) {
- ITmfTrace trace = timeAnalysisEntry.getTrace();
- TimeChartDecorationProvider decorationProvider = fDecorationProviders.get(trace);
- if (decorationProvider == null) {
- return; // the trace has been closed
- }
- ITmfContext context = null;
- // TmfTimestamp lastTimestamp = null;
- boolean done = false;
- while (!done) {
- synchronized (timeAnalysisEntry) {
- if (timeAnalysisEntry.getLastRank() >= trace.getNbEvents()) {
- done = true;
- break;
- }
- if (context == null || context.getRank() != timeAnalysisEntry.getLastRank()) {
- if (context != null) {
- context.dispose();
- }
- if (timeAnalysisEntry.getLastRank() != -1) {
- context = trace.seekEvent(timeAnalysisEntry.getLastRank());
- } else {
- // context = trace.seekLocation(null);
- context = trace.seekEvent(0);
- }
- }
- while (true) {
- long rank = context.getRank();
- ITmfEvent event = trace.getNext(context);
- if (event == null) {
- done = true;
- break;
- }
- // if (!event.getTimestamp().equals(lastTimestamp)) {
- TimeChartEvent timeEvent = new TimeChartEvent(timeAnalysisEntry, event, rank, decorationProvider);
- if (timeEvent.getTime() >= startTime && timeEvent.getTime() <= stopTime) {
- timeAnalysisEntry.addTraceEvent(timeEvent);
- }
- // lastTimestamp = event.getTimestamp();
- // } *** commented out so that color setting priority gets
- // set even if the event has same time
- if (context.getRank() == trace.getNbEvents() || context.getRank() == stopRank) {
- done = true;
- break;
- }
- if (context.getRank() % trace.getCacheSize() == 1) {
- // break for UI refresh
- break;
- }
- }
- // timeAnalysisEntry.setLastRank(Math.min(trace.getNbEvents(),
- // stopRank));
- timeAnalysisEntry.setLastRank(context.getRank());
- }
- redrawViewer(true);
- }
- if (context != null) {
- context.dispose();
- }
- }
-
- private void refreshViewer() {
- synchronized (fSyncObj) {
- if (fRefreshBusy) {
- fRefreshPending = true;
- return;
- }
- fRefreshBusy = true;
- }
- // Perform the refresh on the UI thread
- Display.getDefault().asyncExec(new Runnable() {
- @Override
- public void run() {
- if (fViewer.getControl().isDisposed()) {
- return;
- }
- fViewer.setInput(fTimeAnalysisEntries.toArray(new TimeChartAnalysisEntry[0]));
- fViewer.resetStartFinishTime();
- synchronized (fSyncObj) {
- fRefreshBusy = false;
- if (fRefreshPending) {
- fRefreshPending = false;
- refreshViewer();
- }
- }
- }
- });
- }
-
- private void redrawViewer(boolean resetTimeIntervals) {
- synchronized (fSyncObj) {
- if (fRedrawBusy) {
- fRedrawPending = true;
- return;
- }
- fRedrawBusy = true;
- }
- final boolean reset = resetTimeIntervals;
- // Perform the refresh on the UI thread
- Display.getDefault().asyncExec(new Runnable() {
- @Override
- public void run() {
- if (fViewer.getControl().isDisposed()) {
- return;
- }
- if (reset) {
- fViewer.setTimeRange(fTimeAnalysisEntries.toArray(new TimeChartAnalysisEntry[0]));
- fViewer.setTimeBounds();
- }
- fViewer.getControl().redraw();
- fViewer.getControl().update();
- synchronized (fSyncObj) {
- fRedrawBusy = false;
- if (fRedrawPending) {
- fRedrawPending = false;
- redrawViewer(reset);
- }
- }
- }
- });
- }
-
- private void itemize(long startTime, long stopTime) {
- for (int i = 0; i < fTimeAnalysisEntries.size(); i++) {
- Thread thread = new ItemizeThread(fTimeAnalysisEntries.get(i), startTime, stopTime);
- thread.start();
- }
- }
-
- private class ItemizeThread extends Thread {
-
- private final TimeChartAnalysisEntry fTimeAnalysisEntry;
- private final long startTime;
- private final long stopTime;
- private final long fMaxDuration;
-
- private ItemizeThread(TimeChartAnalysisEntry timeAnalysisEntry, long startTime, long stopTime) {
- super("Itemize Thread:" + timeAnalysisEntry.getName()); //$NON-NLS-1$
- fTimeAnalysisEntry = timeAnalysisEntry;
- this.startTime = startTime;
- this.stopTime = stopTime;
- fMaxDuration = 3 * (stopTime - startTime) / fDisplayWidth;
- }
-
- @Override
- public void run() {
- itemizeTraceEntry(fTimeAnalysisEntry);
- }
-
- public void itemizeTraceEntry(TimeChartAnalysisEntry timeAnalysisEntry) {
- Iterator<ITimeEvent> iterator = timeAnalysisEntry.getTimeEventsIterator();
- TimeChartEvent event = null;
- boolean hasNext = true;
- while (hasNext) {
- synchronized (timeAnalysisEntry) {
- while ((hasNext = iterator.hasNext()) == true) {
- event = (TimeChartEvent) iterator.next();
- if (event.getTime() + event.getDuration() > startTime && event.getTime() < stopTime && event.getDuration() > fMaxDuration
- && event.getNbEvents() > 1) {
- break;
- }
- }
- }
- if (hasNext && event != null) {
- if (event.getItemizedEntry() == null) {
- itemizeEvent(event);
- } else {
- itemizeTraceEntry(event.getItemizedEntry());
- }
- }
- }
- }
-
- public void itemizeEvent(TimeChartEvent event) {
- synchronized (event) {
- if (event.isItemizing()) {
- return;
- }
- event.setItemizing(true);
- }
- TimeChartAnalysisEntry timeAnalysisEntry = new TimeChartAnalysisEntry(fTimeAnalysisEntry.getTrace(), (int) Math.min(
- event.getNbEvents() + 1, fDisplayWidth * 2));
- synchronized (event.getRankRangeList()) {
- for (RankRange range : event.getRankRangeList()) {
- timeAnalysisEntry.setLastRank(range.getFirstRank());
- updateTraceEntry(timeAnalysisEntry, range.getLastRank() + 1, event.getTime(), event.getTime() + event.getDuration());
- }
- }
- event.setItemizedEntry(timeAnalysisEntry);
- redrawViewer(false);
- itemizeTraceEntry(timeAnalysisEntry);
- synchronized (event) {
- event.setItemizing(false);
- }
- }
- }
-
- private void redecorate() {
- synchronized (fDecorateThreads) {
- for (DecorateThread thread : fDecorateThreads) {
- thread.cancel();
- }
- fDecorateThreads.clear();
- for (int i = 0; i < fTimeAnalysisEntries.size(); i++) {
- DecorateThread thread = new DecorateThread(fTimeAnalysisEntries.get(i));
- thread.start();
- fDecorateThreads.add(thread);
- }
- }
- }
-
- private class DecorateThread extends Thread {
- private volatile boolean interrupted = false;
- private final TimeChartAnalysisEntry fTimeAnalysisEntry;
- private final TimeChartDecorationProvider fDecorationProvider;
- private ITmfContext fContext;
- private int fCount = 0;
-
- private DecorateThread(TimeChartAnalysisEntry timeAnalysisEntry) {
- super("Decorate Thread:" + timeAnalysisEntry.getName()); //$NON-NLS-1$
- fTimeAnalysisEntry = timeAnalysisEntry;
- fDecorationProvider = fDecorationProviders.get(timeAnalysisEntry.getTrace());
- }
-
- @Override
- public void run() {
- resetTraceEntry(fTimeAnalysisEntry);
- redrawViewer(false);
- decorateTraceEntry(fTimeAnalysisEntry, null);
- redrawViewer(false);
- synchronized (fDecorateThreads) {
- fDecorateThreads.remove(this);
- }
- if (fContext != null) {
- fContext.dispose();
- }
- }
-
- public void resetTraceEntry(TimeChartAnalysisEntry timeAnalysisEntry) {
- Iterator<ITimeEvent> iterator = timeAnalysisEntry.getTimeEventsIterator();
- TimeChartEvent event = null;
- boolean hasNext = true;
- while (!interrupted && hasNext) {
- synchronized (timeAnalysisEntry) {
- while ((hasNext = iterator.hasNext()) == true) {
- event = (TimeChartEvent) iterator.next();
- break;
- }
- }
- if (hasNext && event != null) {
- // TODO possible concurrency problem here with ItemizeJob
- event.setColorSettingPriority(ColorSettingsManager.PRIORITY_NONE);
- if (event.getItemizedEntry() != null) {
- resetTraceEntry(event.getItemizedEntry());
- }
- }
- }
- }
-
- public void decorateTraceEntry(TimeChartAnalysisEntry timeAnalysisEntry, TimeChartEvent parentEvent) {
- // Set max duration high to ensure iterator does not consider
- // itemized events
- Iterator<ITimeEvent> iterator = timeAnalysisEntry.getTimeEventsIterator(0, Long.MAX_VALUE, Long.MAX_VALUE);
- TimeChartEvent event = null;
- int entryPriority = ColorSettingsManager.PRIORITY_NONE;
- boolean entryIsBookmarked = false;
- boolean entryIsVisible = false;
- boolean entryIsSearchMatch = false;
- boolean hasNext = true;
- while (!interrupted && hasNext) {
- synchronized (timeAnalysisEntry) {
- while ((hasNext = iterator.hasNext()) == true) {
- event = (TimeChartEvent) iterator.next();
- break;
- }
- }
- if (hasNext && event != null) {
- // TODO possible concurrency problem here with ItemizeJob
- if (event.getItemizedEntry() == null) {
- decorateEvent(event);
- } else {
- decorateTraceEntry(event.getItemizedEntry(), event);
- }
- entryPriority = Math.min(entryPriority, event.getColorSettingPriority());
- entryIsBookmarked |= event.isBookmarked();
- entryIsVisible |= event.isVisible();
- entryIsSearchMatch |= event.isSearchMatch();
- if (++fCount % timeAnalysisEntry.getTrace().getCacheSize() == 0) {
- redrawViewer(false);
- }
- }
- }
- if (parentEvent != null) {
- parentEvent.setColorSettingPriority(entryPriority);
- parentEvent.setIsBookmarked(entryIsBookmarked);
- parentEvent.setIsVisible(entryIsVisible);
- parentEvent.setIsSearchMatch(entryIsSearchMatch);
- }
- }
-
- public void decorateEvent(TimeChartEvent timeChartEvent) {
- // TODO possible concurrency problem here with ItemizeJob
- TimeChartAnalysisEntry timeAnalysisEntry = (TimeChartAnalysisEntry) timeChartEvent.getEntry();
- ITmfTrace trace = timeAnalysisEntry.getTrace();
- int priority = ColorSettingsManager.PRIORITY_NONE;
- boolean isBookmarked = false;
- boolean isVisible = false;
- boolean isSearchMatch = false;
- synchronized (timeChartEvent.getRankRangeList()) {
- for (RankRange range : timeChartEvent.getRankRangeList()) {
- if (interrupted) {
- return;
- }
- if (fContext == null || fContext.getRank() != range.getFirstRank()) {
- if (fContext != null) {
- fContext.dispose();
- }
- fContext = trace.seekEvent(range.getFirstRank());
- fContext.setRank(range.getFirstRank());
- }
- while (true) {
- if (interrupted) {
- return;
- }
- long rank = fContext.getRank();
- ITmfEvent event = trace.getNext(fContext);
- if (event == null) {
- break;
- }
- long eventTime = event.getTimestamp().normalize(0, ITmfTimestamp.NANOSECOND_SCALE).getValue();
- if (eventTime >= timeChartEvent.getTime() && eventTime <= timeChartEvent.getTime() + timeChartEvent.getDuration()) {
- priority = Math.min(priority, ColorSettingsManager.getColorSettingPriority(event));
- }
- isBookmarked |= fDecorationProvider.isBookmark(rank);
- isVisible |= fDecorationProvider.isVisible(event);
- isSearchMatch |= fDecorationProvider.isSearchMatch(event);
- if (fContext.getRank() > range.getLastRank()) {
- break;
- }
- }
- }
- }
- timeChartEvent.setColorSettingPriority(priority);
- timeChartEvent.setIsBookmarked(isBookmarked);
- timeChartEvent.setIsVisible(isVisible);
- timeChartEvent.setIsSearchMatch(isSearchMatch);
- }
-
- public void cancel() {
- interrupted = true;
- }
- }
-
- // ------------------------------------------------------------------------
- // Listeners
- // ------------------------------------------------------------------------
-
- @Override
- public void timeRangeUpdated(TimeGraphRangeUpdateEvent event) {
- fStartTime = event.getStartTime();
- fStopTime = event.getEndTime();
- itemize(fStartTime, fStopTime);
- final ITmfTimestamp startTimestamp = new TmfTimestamp(event.getStartTime(), ITmfTimestamp.NANOSECOND_SCALE);
- final ITmfTimestamp endTimestamp = new TmfTimestamp(event.getEndTime(), ITmfTimestamp.NANOSECOND_SCALE);
- TmfTimeRange range = new TmfTimeRange(startTimestamp, endTimestamp);
- broadcast(new TmfRangeSynchSignal(this, range));
- }
-
- @Override
- public void selectionChanged(TimeGraphSelectionEvent event) {
- ITimeGraphEntry timeAnalysisEntry = null;
- if (event.getSelection() instanceof TimeChartAnalysisEntry) {
- timeAnalysisEntry = event.getSelection();
- } else if (event.getSelection() instanceof TimeChartEvent) {
- timeAnalysisEntry = ((TimeChartEvent) event.getSelection()).getEntry();
- }
- if (timeAnalysisEntry instanceof TimeChartAnalysisEntry) {
- broadcast(new TmfTraceSelectedSignal(this, ((TimeChartAnalysisEntry) timeAnalysisEntry).getTrace()));
- }
- }
-
- @Override
- public void timeSelected(TimeGraphTimeEvent event) {
- broadcast(new TmfTimeSynchSignal(this, new TmfTimestamp(event.getBeginTime(), TIMESTAMP_SCALE), new TmfTimestamp(event.getEndTime(), TIMESTAMP_SCALE)));
- }
-
- @Override
- public void colorSettingsChanged(ColorSetting[] colorSettings) {
- // Set presentation provider again to trigger re-creation of new color settings which are stored
- // in the TimeGraphControl class
- fViewer.setTimeGraphProvider(fPresentationProvider);
- redecorate();
- }
-
- @Override
- public void resourceChanged(IResourceChangeEvent event) {
- for (IMarkerDelta delta : event.findMarkerDeltas(IMarker.BOOKMARK, false)) {
- for (TimeChartDecorationProvider provider : fDecorationProviders.values()) {
- if (delta.getResource().equals(provider.getBookmarksFile())) {
- if (delta.getKind() == IResourceDelta.CHANGED && delta.getMarker().getAttribute(IMarker.LOCATION, -1) != -1) {
- provider.refreshBookmarks();
- } else if (delta.getKind() == IResourceDelta.REMOVED) {
- provider.refreshBookmarks();
- }
- }
- }
- }
- redecorate();
- }
-
- // ------------------------------------------------------------------------
- // Signal handlers
- // ------------------------------------------------------------------------
-
- /**
- * Handler for the Trace Opened signal
- *
- * @param signal
- * The incoming signal
- * @since 2.0
- */
- @TmfSignalHandler
- public void traceOpened(TmfTraceOpenedSignal signal) {
- final ITmfTrace trace = signal.getTrace();
- final IFile bookmarksFile = signal.getEditorFile();
- TimeChartAnalysisEntry timeAnalysisEntry = null;
- for (int i = 0; i < fTimeAnalysisEntries.size(); i++) {
- if (fTimeAnalysisEntries.get(i).getTrace().equals(trace)) {
- timeAnalysisEntry = fTimeAnalysisEntries.get(i);
- break;
- }
- }
- if (timeAnalysisEntry == null) {
- timeAnalysisEntry = new TimeChartAnalysisEntry(trace, fDisplayWidth * 2);
- fTimeAnalysisEntries.add(timeAnalysisEntry);
- fDecorationProviders.put(trace, new TimeChartDecorationProvider(bookmarksFile));
- Thread thread = new ProcessTraceThread(timeAnalysisEntry);
- thread.start();
- }
- refreshViewer();
- }
-
- /**
- * Handler for the Trace Closed signal
- *
- * @param signal
- * The incoming signal
- * @since 2.0
- */
- @TmfSignalHandler
- public void traceClosed(TmfTraceClosedSignal signal) {
- final ITmfTrace trace = signal.getTrace();
- for (int i = 0; i < fTimeAnalysisEntries.size(); i++) {
- if (fTimeAnalysisEntries.get(i).getTrace().equals(trace)) {
- fTimeAnalysisEntries.remove(i);
- fDecorationProviders.remove(trace);
- synchronized (fDecorateThreads) {
- for (DecorateThread thread : fDecorateThreads) {
- if (thread.fTimeAnalysisEntry.getTrace() == trace) {
- thread.cancel();
- fDecorateThreads.remove(thread);
- break;
- }
- }
- }
- refreshViewer();
- break;
- }
- }
- }
-
- /**
- * Handler for the Trace Selected signal
- *
- * @param signal
- * The incoming signal
- */
- @TmfSignalHandler
- public void traceSelected(TmfTraceSelectedSignal signal) {
- if (signal.getSource() != this) {
- ITmfTrace trace = signal.getTrace();
- for (int i = 0; i < fTimeAnalysisEntries.size(); i++) {
- if (fTimeAnalysisEntries.get(i).getTrace().equals(trace)) {
- fViewer.setSelection(fTimeAnalysisEntries.get(i));
- break;
- }
- }
- long beginTime = fTraceManager.getSelectionBeginTime().normalize(0, ITmfTimestamp.NANOSECOND_SCALE).getValue();
- long endTime = fTraceManager.getSelectionEndTime().normalize(0, ITmfTimestamp.NANOSECOND_SCALE).getValue();
- fViewer.setSelectionRange(beginTime, endTime);
- }
- }
-
- /**
- * Handler for the Trace Updated signal
- *
- * @param signal
- * The incoming signal
- */
- @TmfSignalHandler
- public void traceUpdated(TmfTraceUpdatedSignal signal) {
- final ITmfTrace trace = signal.getTrace();
- for (int i = 0; i < fTimeAnalysisEntries.size(); i++) {
- TimeChartAnalysisEntry timeAnalysisEntry = fTimeAnalysisEntries.get(i);
- if (timeAnalysisEntry.getTrace().equals(trace)) {
- updateTraceEntry(timeAnalysisEntry, Long.MAX_VALUE, 0, Long.MAX_VALUE);
- break;
- }
- }
- }
-
- /**
- * Handler for the Time Synch signal
- *
- * @param signal
- * The incoming signal
- */
- @TmfSignalHandler
- public void currentTimeUpdated(TmfTimeSynchSignal signal) {
- final long beginTime = signal.getBeginTime().normalize(0, TIMESTAMP_SCALE).getValue();
- final long endTime = signal.getEndTime().normalize(0, TIMESTAMP_SCALE).getValue();
- Display.getDefault().asyncExec(new Runnable() {
- @Override
- public void run() {
- if (beginTime == endTime) {
- fViewer.setSelectedTime(beginTime, true);
- if (fStartTime != fViewer.getTime0() || fStopTime != fViewer.getTime1()) {
- fStartTime = fViewer.getTime0();
- fStopTime = fViewer.getTime1();
- itemize(fStartTime, fStopTime);
- }
- } else {
- fViewer.setSelectionRange(beginTime, endTime);
- }
- }
- });
- }
-
- /**
- * Handler for the Time Range Synch signal
- *
- * @param signal
- * The incoming signal
- * @since 2.0
- */
- @TmfSignalHandler
- public void synchToRange(final TmfRangeSynchSignal signal) {
- if (signal.getSource() == this) {
- return;
- }
- final long startTime = signal.getCurrentRange().getStartTime().normalize(0, ITmfTimestamp.NANOSECOND_SCALE).getValue();
- final long endTime = signal.getCurrentRange().getEndTime().normalize(0, ITmfTimestamp.NANOSECOND_SCALE).getValue();
- Display.getDefault().asyncExec(new Runnable() {
- @Override
- public void run() {
- fStartTime = startTime;
- fStopTime = endTime;
- itemize(fStartTime, fStopTime);
- fViewer.setStartFinishTime(startTime, endTime);
- }
- });
- }
-
- /**
- * Handler for the Event Filter Applied signal
- *
- * @param signal
- * The incoming signal
- * @since 2.0
- */
- @TmfSignalHandler
- public void filterApplied(TmfEventFilterAppliedSignal signal) {
- TimeChartDecorationProvider decorationProvider = fDecorationProviders.get(signal.getTrace());
- if (decorationProvider == null) {
- return;
- }
- decorationProvider.filterApplied(signal.getEventFilter());
- redecorate();
- }
-
- /**
- * Handler for the Event Search Applied signal
- *
- * @param signal
- * The incoming signal
- * @since 2.0
- */
- @TmfSignalHandler
- public void searchApplied(TmfEventSearchAppliedSignal signal) {
- TimeChartDecorationProvider decorationProvider = fDecorationProviders.get(signal.getTrace());
- if (decorationProvider == null) {
- return;
- }
- decorationProvider.searchApplied(signal.getSearchFilter());
- redecorate();
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/timegraph/AbstractTimeGraphView.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/timegraph/AbstractTimeGraphView.java
deleted file mode 100644
index c130141ca7..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/timegraph/AbstractTimeGraphView.java
+++ /dev/null
@@ -1,1272 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2012, 2014 Ericsson, École Polytechnique de Montréal
- *
- * 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:
- * Patrick Tasse - Initial API and implementation
- * Bernd Hufmann - Updated signal handling
- * Geneviève Bastien - Move code to provide base classes for time graph view
- * Marc-Andre Laperle - Add time zone preference
- * Geneviève Bastien - Add event links between entries
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.views.timegraph;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.Comparator;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.concurrent.CopyOnWriteArrayList;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.jdt.annotation.Nullable;
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.action.IStatusLineManager;
-import org.eclipse.jface.action.IToolBarManager;
-import org.eclipse.jface.action.Separator;
-import org.eclipse.jface.viewers.ILabelProvider;
-import org.eclipse.jface.viewers.ILabelProviderListener;
-import org.eclipse.jface.viewers.ISelectionProvider;
-import org.eclipse.jface.viewers.ITableLabelProvider;
-import org.eclipse.jface.viewers.ITreeContentProvider;
-import org.eclipse.jface.viewers.TreeViewer;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.linuxtools.tmf.core.signal.TmfRangeSynchSignal;
-import org.eclipse.linuxtools.tmf.core.signal.TmfSignalHandler;
-import org.eclipse.linuxtools.tmf.core.signal.TmfTimeSynchSignal;
-import org.eclipse.linuxtools.tmf.core.signal.TmfTimestampFormatUpdateSignal;
-import org.eclipse.linuxtools.tmf.core.signal.TmfTraceClosedSignal;
-import org.eclipse.linuxtools.tmf.core.signal.TmfTraceOpenedSignal;
-import org.eclipse.linuxtools.tmf.core.signal.TmfTraceSelectedSignal;
-import org.eclipse.linuxtools.tmf.core.timestamp.ITmfTimestamp;
-import org.eclipse.linuxtools.tmf.core.timestamp.TmfNanoTimestamp;
-import org.eclipse.linuxtools.tmf.core.timestamp.TmfTimeRange;
-import org.eclipse.linuxtools.tmf.core.trace.ITmfTrace;
-import org.eclipse.linuxtools.tmf.core.trace.TmfTraceManager;
-import org.eclipse.linuxtools.tmf.ui.TmfUiRefreshHandler;
-import org.eclipse.linuxtools.tmf.ui.views.TmfView;
-import org.eclipse.linuxtools.tmf.ui.widgets.timegraph.ITimeGraphContentProvider;
-import org.eclipse.linuxtools.tmf.ui.widgets.timegraph.ITimeGraphPresentationProvider2;
-import org.eclipse.linuxtools.tmf.ui.widgets.timegraph.ITimeGraphRangeListener;
-import org.eclipse.linuxtools.tmf.ui.widgets.timegraph.ITimeGraphSelectionListener;
-import org.eclipse.linuxtools.tmf.ui.widgets.timegraph.ITimeGraphTimeListener;
-import org.eclipse.linuxtools.tmf.ui.widgets.timegraph.TimeGraphCombo;
-import org.eclipse.linuxtools.tmf.ui.widgets.timegraph.TimeGraphPresentationProvider;
-import org.eclipse.linuxtools.tmf.ui.widgets.timegraph.TimeGraphRangeUpdateEvent;
-import org.eclipse.linuxtools.tmf.ui.widgets.timegraph.TimeGraphTimeEvent;
-import org.eclipse.linuxtools.tmf.ui.widgets.timegraph.TimeGraphViewer;
-import org.eclipse.linuxtools.tmf.ui.widgets.timegraph.model.ILinkEvent;
-import org.eclipse.linuxtools.tmf.ui.widgets.timegraph.model.ITimeEvent;
-import org.eclipse.linuxtools.tmf.ui.widgets.timegraph.model.ITimeGraphEntry;
-import org.eclipse.linuxtools.tmf.ui.widgets.timegraph.model.TimeGraphEntry;
-import org.eclipse.linuxtools.tmf.ui.widgets.timegraph.widgets.Utils.TimeFormat;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.TreeColumn;
-import org.eclipse.ui.IActionBars;
-
-/**
- * An abstract view all time graph views can inherit
- *
- * This view contains either a time graph viewer, or a time graph combo which is
- * divided between a tree viewer on the left and a time graph viewer on the right.
- *
- * @since 2.1
- */
-public abstract class AbstractTimeGraphView extends TmfView {
-
- /**
- * Redraw state enum
- */
- private enum State {
- IDLE, BUSY, PENDING
- }
-
- // ------------------------------------------------------------------------
- // Fields
- // ------------------------------------------------------------------------
-
- /** The timegraph wrapper */
- private ITimeGraphWrapper fTimeGraphWrapper;
-
- /** The selected trace */
- private ITmfTrace fTrace;
-
- /** The timegraph entry list */
- private List<TimeGraphEntry> fEntryList;
-
- /** The trace to entry list hash map */
- private final Map<ITmfTrace, List<TimeGraphEntry>> fEntryListMap = new HashMap<>();
-
- /** The trace to build thread hash map */
- private final Map<ITmfTrace, BuildThread> fBuildThreadMap = new HashMap<>();
-
- /** The start time */
- private long fStartTime;
-
- /** The end time */
- private long fEndTime;
-
- /** The display width */
- private final int fDisplayWidth;
-
- /** The zoom thread */
- private ZoomThread fZoomThread;
-
- /** The next resource action */
- private Action fNextResourceAction;
-
- /** The previous resource action */
- private Action fPreviousResourceAction;
-
- /** A comparator class */
- private Comparator<ITimeGraphEntry> fEntryComparator = null;
-
- /** The redraw state used to prevent unnecessary queuing of display runnables */
- private State fRedrawState = State.IDLE;
-
- /** The redraw synchronization object */
- private final Object fSyncObj = new Object();
-
- /** The presentation provider for this view */
- private final TimeGraphPresentationProvider fPresentation;
-
- /** The tree column label array, or null if combo is not used */
- private String[] fColumns;
-
- /** The tree label provider, or null if combo is not used */
- private TreeLabelProvider fLabelProvider = null;
-
- /** The relative weight of the sash, ignored if combo is not used */
- private int[] fWeight = { 1, 1 };
-
- /** The filter column label array, or null if filter is not used */
- private String[] fFilterColumns;
-
- /** The pack done flag */
- private boolean fPackDone = false;
-
- /** The filter label provider, or null if filter is not used */
- private TreeLabelProvider fFilterLabelProvider;
-
- // ------------------------------------------------------------------------
- // Classes
- // ------------------------------------------------------------------------
-
- private interface ITimeGraphWrapper {
-
- void setTimeGraphProvider(TimeGraphPresentationProvider fPresentation);
-
- TimeGraphViewer getTimeGraphViewer();
-
- void addSelectionListener(ITimeGraphSelectionListener iTimeGraphSelectionListener);
-
- ISelectionProvider getSelectionProvider();
-
- void setFocus();
-
- boolean isDisposed();
-
- void refresh();
-
- void setInput(Object input);
-
- Object getInput();
-
- void redraw();
-
- void update();
-
- }
-
- private class TimeGraphViewerWrapper implements ITimeGraphWrapper {
- private TimeGraphViewer viewer;
-
- private TimeGraphViewerWrapper(Composite parent, int style) {
- viewer = new TimeGraphViewer(parent, style);
- }
-
- @Override
- public void setTimeGraphProvider(TimeGraphPresentationProvider timeGraphProvider) {
- viewer.setTimeGraphProvider(timeGraphProvider);
- }
-
- @Override
- public TimeGraphViewer getTimeGraphViewer() {
- return viewer;
- }
-
- @Override
- public void addSelectionListener(ITimeGraphSelectionListener listener) {
- viewer.addSelectionListener(listener);
- }
-
- @Override
- public ISelectionProvider getSelectionProvider() {
- return viewer.getSelectionProvider();
- }
-
- @Override
- public void setFocus() {
- viewer.setFocus();
- }
-
- @Override
- public boolean isDisposed() {
- return viewer.getControl().isDisposed();
- }
-
- @Override
- public void setInput(Object input) {
- viewer.setInput(input);
- }
-
- @Override
- public Object getInput() {
- return viewer.getInput();
- }
-
- @Override
- public void refresh() {
- viewer.refresh();
- }
-
- @Override
- public void redraw() {
- viewer.getControl().redraw();
- }
-
- @Override
- public void update() {
- viewer.getControl().update();
- }
- }
-
- private class TimeGraphComboWrapper implements ITimeGraphWrapper {
- private TimeGraphCombo combo;
-
- private TimeGraphComboWrapper(Composite parent, int style) {
- combo = new TimeGraphCombo(parent, style, fWeight);
- }
-
- @Override
- public void setTimeGraphProvider(TimeGraphPresentationProvider timeGraphProvider) {
- combo.setTimeGraphProvider(timeGraphProvider);
- }
-
- @Override
- public TimeGraphViewer getTimeGraphViewer() {
- return combo.getTimeGraphViewer();
- }
-
- @Override
- public void addSelectionListener(ITimeGraphSelectionListener listener) {
- combo.addSelectionListener(listener);
- }
-
- @Override
- public ISelectionProvider getSelectionProvider() {
- return combo.getTreeViewer();
- }
-
- @Override
- public void setFocus() {
- combo.setFocus();
- }
-
- @Override
- public boolean isDisposed() {
- return combo.isDisposed();
- }
-
- @Override
- public void setInput(Object input) {
- combo.setInput(input);
- }
-
- @Override
- public Object getInput() {
- return combo.getInput();
- }
-
- @Override
- public void refresh() {
- combo.refresh();
- }
-
- @Override
- public void redraw() {
- combo.redraw();
- }
-
- @Override
- public void update() {
- combo.update();
- }
-
- TimeGraphCombo getTimeGraphCombo() {
- return combo;
- }
-
- TreeViewer getTreeViewer() {
- return combo.getTreeViewer();
- }
-
- IAction getShowFilterAction() {
- return combo.getShowFilterAction();
- }
- }
-
- private class TreeContentProvider implements ITreeContentProvider {
-
- @Override
- public void dispose() {
- }
-
- @Override
- public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
- }
-
- @Override
- public ITimeGraphEntry[] getElements(Object inputElement) {
- if (inputElement != null) {
- try {
- return ((List<?>) inputElement).toArray(new ITimeGraphEntry[0]);
- } catch (ClassCastException e) {
- }
- }
- return new ITimeGraphEntry[0];
- }
-
- @Override
- public Object[] getChildren(Object parentElement) {
- ITimeGraphEntry entry = (ITimeGraphEntry) parentElement;
- List<? extends ITimeGraphEntry> children = entry.getChildren();
- return children.toArray(new ITimeGraphEntry[children.size()]);
- }
-
- @Override
- public Object getParent(Object element) {
- ITimeGraphEntry entry = (ITimeGraphEntry) element;
- return entry.getParent();
- }
-
- @Override
- public boolean hasChildren(Object element) {
- ITimeGraphEntry entry = (ITimeGraphEntry) element;
- return entry.hasChildren();
- }
-
- }
-
- private class TimeGraphContentProvider implements ITimeGraphContentProvider {
-
- @Override
- public ITimeGraphEntry[] getElements(Object inputElement) {
- if (inputElement != null) {
- try {
- return ((List<?>) inputElement).toArray(new ITimeGraphEntry[0]);
- } catch (ClassCastException e) {
- }
- }
- return new ITimeGraphEntry[0];
- }
-
- }
-
- /**
- * Base class to provide the labels for the tree viewer. Views extending
- * this class typically need to override the getColumnText method if they
- * have more than one column to display
- */
- protected static class TreeLabelProvider implements ITableLabelProvider, ILabelProvider {
-
- @Override
- public void addListener(ILabelProviderListener listener) {
- }
-
- @Override
- public void dispose() {
- }
-
- @Override
- public boolean isLabelProperty(Object element, String property) {
- return false;
- }
-
- @Override
- public void removeListener(ILabelProviderListener listener) {
- }
-
- @Override
- public Image getColumnImage(Object element, int columnIndex) {
- return null;
- }
-
- @Override
- public String getColumnText(Object element, int columnIndex) {
- TimeGraphEntry entry = (TimeGraphEntry) element;
- if (columnIndex == 0) {
- return entry.getName();
- }
- return new String();
- }
-
- /**
- * @since 3.2
- */
- @Override
- public Image getImage(Object element) {
- return null;
- }
-
- /**
- * @since 3.2
- */
- @Override
- public String getText(Object element) {
- TimeGraphEntry entry = (TimeGraphEntry) element;
- return entry.getName();
- }
-
- }
-
- private class BuildThread extends Thread {
- private final ITmfTrace fBuildTrace;
- private final ITmfTrace fParentTrace;
- private final IProgressMonitor fMonitor;
-
- public BuildThread(final ITmfTrace trace, final ITmfTrace parentTrace, final String name) {
- super(name + " build"); //$NON-NLS-1$
- fBuildTrace = trace;
- fParentTrace = parentTrace;
- fMonitor = new NullProgressMonitor();
- }
-
- @Override
- public void run() {
- buildEventList(fBuildTrace, fParentTrace, fMonitor);
- synchronized (fBuildThreadMap) {
- fBuildThreadMap.remove(fBuildTrace);
- }
- }
-
- public void cancel() {
- fMonitor.setCanceled(true);
- }
- }
-
- private class ZoomThread extends Thread {
- private final List<TimeGraphEntry> fZoomEntryList;
- private final long fZoomStartTime;
- private final long fZoomEndTime;
- private final long fResolution;
- private final IProgressMonitor fMonitor;
-
- public ZoomThread(List<TimeGraphEntry> entryList, long startTime, long endTime, String name) {
- super(name + " zoom"); //$NON-NLS-1$
- fZoomEntryList = entryList;
- fZoomStartTime = startTime;
- fZoomEndTime = endTime;
- fResolution = Math.max(1, (fZoomEndTime - fZoomStartTime) / fDisplayWidth);
- fMonitor = new NullProgressMonitor();
- }
-
- @Override
- public void run() {
- if (fZoomEntryList == null) {
- return;
- }
- for (TimeGraphEntry entry : fZoomEntryList) {
- if (fMonitor.isCanceled()) {
- return;
- }
- zoom(entry, fMonitor);
- }
- /* Refresh the arrows when zooming */
- List<ILinkEvent> events = getLinkList(fZoomStartTime, fZoomEndTime, fResolution, fMonitor);
- if (events != null) {
- fTimeGraphWrapper.getTimeGraphViewer().setLinks(events);
- redraw();
- }
- }
-
- private void zoom(TimeGraphEntry entry, IProgressMonitor monitor) {
- if (fZoomStartTime <= fStartTime && fZoomEndTime >= fEndTime) {
- entry.setZoomedEventList(null);
- } else {
- List<ITimeEvent> zoomedEventList = getEventList(entry, fZoomStartTime, fZoomEndTime, fResolution, monitor);
- if (zoomedEventList != null) {
- entry.setZoomedEventList(zoomedEventList);
- }
- }
- redraw();
- for (ITimeGraphEntry child : entry.getChildren()) {
- if (fMonitor.isCanceled()) {
- return;
- }
- if (child instanceof TimeGraphEntry) {
- zoom((TimeGraphEntry) child, monitor);
- }
- }
- }
-
- public void cancel() {
- fMonitor.setCanceled(true);
- }
- }
-
- // ------------------------------------------------------------------------
- // Constructors
- // ------------------------------------------------------------------------
-
- /**
- * Constructs a time graph view that contains either a time graph viewer or
- * a time graph combo.
- *
- * By default, the view uses a time graph viewer. To use a time graph combo,
- * the subclass constructor must call {@link #setTreeColumns(String[])} and
- * {@link #setTreeLabelProvider(TreeLabelProvider)}.
- *
- * @param id
- * The id of the view
- * @param pres
- * The presentation provider
- */
- public AbstractTimeGraphView(String id, TimeGraphPresentationProvider pres) {
- super(id);
- fPresentation = pres;
- fDisplayWidth = Display.getDefault().getBounds().width;
- }
-
- // ------------------------------------------------------------------------
- // Getters and setters
- // ------------------------------------------------------------------------
-
- /**
- * Getter for the time graph combo
- *
- * @return The time graph combo, or null if combo is not used
- */
- protected TimeGraphCombo getTimeGraphCombo() {
- if (fTimeGraphWrapper instanceof TimeGraphComboWrapper) {
- return ((TimeGraphComboWrapper) fTimeGraphWrapper).getTimeGraphCombo();
- }
- return null;
- }
-
- /**
- * Getter for the time graph viewer
- *
- * @return The time graph viewer
- */
- protected TimeGraphViewer getTimeGraphViewer() {
- return fTimeGraphWrapper.getTimeGraphViewer();
- }
-
- /**
- * Getter for the presentation provider
- *
- * @return The time graph presentation provider
- * @since 3.0
- */
- protected ITimeGraphPresentationProvider2 getPresentationProvider() {
- return fPresentation;
- }
-
- /**
- * Sets the tree column labels.
- * This should be called from the constructor.
- *
- * @param columns
- * The array of tree column labels
- */
- protected void setTreeColumns(final String[] columns) {
- fColumns = columns;
- }
-
- /**
- * Sets the tree label provider.
- * This should be called from the constructor.
- *
- * @param tlp
- * The tree label provider
- */
- protected void setTreeLabelProvider(final TreeLabelProvider tlp) {
- fLabelProvider = tlp;
- }
-
- /**
- * Sets the relative weight of each part of the time graph combo.
- * This should be called from the constructor.
- *
- * @param weights
- * The array (length 2) of relative weights of each part of the combo
- */
- protected void setWeight(final int[] weights) {
- fWeight = weights;
- }
-
- /**
- * Sets the filter column labels.
- * This should be called from the constructor.
- *
- * @param filterColumns
- * The array of filter column labels
- */
- protected void setFilterColumns(final String[] filterColumns) {
- fFilterColumns = filterColumns;
- }
-
- /**
- * Sets the filter label provider.
- * This should be called from the constructor.
- *
- * @param labelProvider
- * The filter label provider
- *
- * @since 3.0
- */
- protected void setFilterLabelProvider(final TreeLabelProvider labelProvider) {
- fFilterLabelProvider = labelProvider;
- }
-
- /**
- * Gets the display width
- *
- * @return the display width
- */
- protected int getDisplayWidth() {
- return fDisplayWidth;
- }
-
- /**
- * Gets the comparator for the entries
- *
- * @return The entry comparator
- */
- protected Comparator<ITimeGraphEntry> getEntryComparator() {
- return fEntryComparator;
- }
-
- /**
- * Sets the comparator class for the entries
- *
- * @param comparator
- * A comparator object
- */
- protected void setEntryComparator(final Comparator<ITimeGraphEntry> comparator) {
- fEntryComparator = comparator;
- }
-
- /**
- * Gets the trace displayed in the view
- *
- * @return The trace
- */
- protected ITmfTrace getTrace() {
- return fTrace;
- }
-
- /**
- * Gets the start time
- *
- * @return The start time
- */
- protected long getStartTime() {
- return fStartTime;
- }
-
- /**
- * Sets the start time
- *
- * @param time
- * The start time
- */
- protected void setStartTime(long time) {
- fStartTime = time;
- }
-
- /**
- * Gets the end time
- *
- * @return The end time
- */
- protected long getEndTime() {
- return fEndTime;
- }
-
- /**
- * Sets the end time
- *
- * @param time
- * The end time
- */
- protected void setEndTime(long time) {
- fEndTime = time;
- }
-
- /**
- * Gets the entry list for a trace
- *
- * @param trace
- * the trace
- *
- * @return the entry list map
- * @since 3.0
- */
- protected List<TimeGraphEntry> getEntryList(ITmfTrace trace) {
- synchronized (fEntryListMap) {
- return fEntryListMap.get(trace);
- }
- }
-
- /**
- * Adds a trace entry list to the entry list map
- *
- * @param trace
- * the trace to add
- * @param list
- * the list of time graph entries
- */
- protected void putEntryList(ITmfTrace trace, List<TimeGraphEntry> list) {
- synchronized (fEntryListMap) {
- fEntryListMap.put(trace, new CopyOnWriteArrayList<>(list));
- }
- }
-
- /**
- * Adds a list of entries to a trace's entry list
- *
- * @param trace
- * the trace
- * @param list
- * the list of time graph entries to add
- * @since 3.0
- */
- protected void addToEntryList(ITmfTrace trace, List<TimeGraphEntry> list) {
- synchronized (fEntryListMap) {
- List<TimeGraphEntry> entryList = fEntryListMap.get(trace);
- if (entryList == null) {
- fEntryListMap.put(trace, new CopyOnWriteArrayList<>(list));
- } else {
- entryList.addAll(list);
- }
- }
- }
-
- /**
- * Removes a list of entries from a trace's entry list
- *
- * @param trace
- * the trace
- * @param list
- * the list of time graph entries to remove
- * @since 3.0
- */
- protected void removeFromEntryList(ITmfTrace trace, List<TimeGraphEntry> list) {
- synchronized (fEntryListMap) {
- List<TimeGraphEntry> entryList = fEntryListMap.get(trace);
- if (entryList != null) {
- entryList.removeAll(list);
- }
- }
- }
-
- /**
- * Text for the "next" button
- *
- * @return The "next" button text
- */
- protected String getNextText() {
- return Messages.AbstractTimeGraphtView_NextText;
- }
-
- /**
- * Tooltip for the "next" button
- *
- * @return Tooltip for the "next" button
- */
- protected String getNextTooltip() {
- return Messages.AbstractTimeGraphView_NextTooltip;
- }
-
- /**
- * Text for the "Previous" button
- *
- * @return The "Previous" button text
- */
- protected String getPrevText() {
- return Messages.AbstractTimeGraphView_PreviousText;
- }
-
- /**
- * Tooltip for the "previous" button
- *
- * @return Tooltip for the "previous" button
- */
- protected String getPrevTooltip() {
- return Messages.AbstractTimeGraphView_PreviousTooltip;
- }
-
- // ------------------------------------------------------------------------
- // ViewPart
- // ------------------------------------------------------------------------
-
- @Override
- public void createPartControl(Composite parent) {
- if (fColumns == null || fLabelProvider == null) {
- fTimeGraphWrapper = new TimeGraphViewerWrapper(parent, SWT.NONE);
- TimeGraphViewer viewer = fTimeGraphWrapper.getTimeGraphViewer();
- viewer.setTimeGraphContentProvider(new TimeGraphContentProvider());
- } else {
- TimeGraphComboWrapper wrapper = new TimeGraphComboWrapper(parent, SWT.NONE);
- fTimeGraphWrapper = wrapper;
- TimeGraphCombo combo = wrapper.getTimeGraphCombo();
- combo.setTreeContentProvider(new TreeContentProvider());
- combo.setTreeLabelProvider(fLabelProvider);
- combo.setTreeColumns(fColumns);
- combo.setFilterContentProvider(new TreeContentProvider());
- combo.setFilterLabelProvider(fFilterLabelProvider);
- combo.setFilterColumns(fFilterColumns);
- combo.setTimeGraphContentProvider(new TimeGraphContentProvider());
- }
-
- fTimeGraphWrapper.setTimeGraphProvider(fPresentation);
-
- fTimeGraphWrapper.getTimeGraphViewer().addRangeListener(new ITimeGraphRangeListener() {
- @Override
- public void timeRangeUpdated(TimeGraphRangeUpdateEvent event) {
- final long startTime = event.getStartTime();
- final long endTime = event.getEndTime();
- TmfTimeRange range = new TmfTimeRange(new TmfNanoTimestamp(startTime), new TmfNanoTimestamp(endTime));
- broadcast(new TmfRangeSynchSignal(AbstractTimeGraphView.this, range));
- if (fZoomThread != null) {
- fZoomThread.cancel();
- }
- startZoomThread(startTime, endTime);
- }
- });
-
- fTimeGraphWrapper.getTimeGraphViewer().addTimeListener(new ITimeGraphTimeListener() {
- @Override
- public void timeSelected(TimeGraphTimeEvent event) {
- TmfNanoTimestamp startTime = new TmfNanoTimestamp(event.getBeginTime());
- TmfNanoTimestamp endTime = new TmfNanoTimestamp(event.getEndTime());
- broadcast(new TmfTimeSynchSignal(AbstractTimeGraphView.this, startTime, endTime));
- }
- });
-
- fTimeGraphWrapper.getTimeGraphViewer().setTimeFormat(TimeFormat.CALENDAR);
-
- IStatusLineManager statusLineManager = getViewSite().getActionBars().getStatusLineManager();
- fTimeGraphWrapper.getTimeGraphViewer().getTimeGraphControl().setStatusLineManager(statusLineManager);
-
- // View Action Handling
- makeActions();
- contributeToActionBars();
-
- ITmfTrace trace = getActiveTrace();
- if (trace != null) {
- traceSelected(new TmfTraceSelectedSignal(this, trace));
- }
-
- // make selection available to other views
- getSite().setSelectionProvider(fTimeGraphWrapper.getSelectionProvider());
- }
-
- @Override
- public void setFocus() {
- fTimeGraphWrapper.setFocus();
- }
-
- // ------------------------------------------------------------------------
- // Signal handlers
- // ------------------------------------------------------------------------
-
- /**
- * Handler for the trace opened signal.
- *
- * @param signal
- * The incoming signal
- * @since 2.0
- */
- @TmfSignalHandler
- public void traceOpened(TmfTraceOpenedSignal signal) {
- fTrace = signal.getTrace();
- loadTrace();
- }
-
- /**
- * Handler for the trace selected signal
- *
- * @param signal
- * The incoming signal
- */
- @TmfSignalHandler
- public void traceSelected(final TmfTraceSelectedSignal signal) {
- if (signal.getTrace() == fTrace) {
- return;
- }
- fTrace = signal.getTrace();
-
- loadTrace();
- }
-
- /**
- * Trace is closed: clear the data structures and the view
- *
- * @param signal
- * the signal received
- */
- @TmfSignalHandler
- public void traceClosed(final TmfTraceClosedSignal signal) {
- synchronized (fBuildThreadMap) {
- for (ITmfTrace trace : getTracesToBuild(signal.getTrace())) {
- BuildThread buildThread = fBuildThreadMap.remove(trace);
- if (buildThread != null) {
- buildThread.cancel();
- }
- }
- }
- synchronized (fEntryListMap) {
- fEntryListMap.remove(signal.getTrace());
- }
- if (signal.getTrace() == fTrace) {
- fTrace = null;
- fStartTime = 0;
- fEndTime = 0;
- if (fZoomThread != null) {
- fZoomThread.cancel();
- }
- refresh();
- }
- }
-
- /**
- * Handler for the time synch signal
- *
- * @param signal
- * The signal that's received
- */
- @TmfSignalHandler
- public void synchToTime(final TmfTimeSynchSignal signal) {
- if (signal.getSource() == this || fTrace == null) {
- return;
- }
- final long beginTime = signal.getBeginTime().normalize(0, ITmfTimestamp.NANOSECOND_SCALE).getValue();
- final long endTime = signal.getEndTime().normalize(0, ITmfTimestamp.NANOSECOND_SCALE).getValue();
-
- Display.getDefault().asyncExec(new Runnable() {
- @Override
- public void run() {
- if (fTimeGraphWrapper.isDisposed()) {
- return;
- }
- if (beginTime == endTime) {
- fTimeGraphWrapper.getTimeGraphViewer().setSelectedTime(beginTime, true);
- } else {
- fTimeGraphWrapper.getTimeGraphViewer().setSelectionRange(beginTime, endTime);
- }
- startZoomThread(fTimeGraphWrapper.getTimeGraphViewer().getTime0(), fTimeGraphWrapper.getTimeGraphViewer().getTime1());
-
- synchingToTime(beginTime);
- }
- });
- }
-
- /**
- * Handler for the range synch signal
- *
- * @param signal
- * The signal that's received
- */
- @TmfSignalHandler
- public void synchToRange(final TmfRangeSynchSignal signal) {
- if (signal.getSource() == this || fTrace == null) {
- return;
- }
- if (signal.getCurrentRange().getIntersection(fTrace.getTimeRange()) == null) {
- return;
- }
- final long startTime = signal.getCurrentRange().getStartTime().normalize(0, ITmfTimestamp.NANOSECOND_SCALE).getValue();
- final long endTime = signal.getCurrentRange().getEndTime().normalize(0, ITmfTimestamp.NANOSECOND_SCALE).getValue();
- Display.getDefault().asyncExec(new Runnable() {
- @Override
- public void run() {
- if (fTimeGraphWrapper.isDisposed()) {
- return;
- }
- fTimeGraphWrapper.getTimeGraphViewer().setStartFinishTime(startTime, endTime);
- startZoomThread(startTime, endTime);
- }
- });
- }
-
- /**
- * @param signal the format of the timestamps was updated.
- * @since 2.1
- */
- @TmfSignalHandler
- public void updateTimeFormat( final TmfTimestampFormatUpdateSignal signal){
- fTimeGraphWrapper.refresh();
- }
-
- // ------------------------------------------------------------------------
- // Internal
- // ------------------------------------------------------------------------
-
- private void loadTrace() {
- synchronized (fEntryListMap) {
- fEntryList = fEntryListMap.get(fTrace);
- if (fEntryList == null) {
- rebuild();
- } else {
- fStartTime = fTrace.getStartTime().normalize(0, ITmfTimestamp.NANOSECOND_SCALE).getValue();
- fEndTime = fTrace.getEndTime().normalize(0, ITmfTimestamp.NANOSECOND_SCALE).getValue();
- refresh();
- }
- }
- }
-
- /**
- * Forces a rebuild of the entries list, even if entries already exist for this trace
- * @since 3.0
- */
- protected void rebuild() {
- setStartTime(Long.MAX_VALUE);
- setEndTime(Long.MIN_VALUE);
- refresh();
- synchronized (fBuildThreadMap) {
- for (ITmfTrace trace : getTracesToBuild(fTrace)) {
- BuildThread buildThread = new BuildThread(trace, fTrace, getName());
- fBuildThreadMap.put(trace, buildThread);
- buildThread.start();
- }
- }
- }
-
- /**
- * Method called when synching to a given timestamp. Inheriting classes can
- * perform actions here to update the view at the given timestamp.
- *
- * @param time
- * The currently selected time
- */
- protected void synchingToTime(long time) {
-
- }
-
- /**
- * Return the list of traces whose data or analysis results will be used to
- * populate the view. By default, if the trace is an experiment, the traces
- * under it will be returned, otherwise, the trace itself is returned.
- *
- * A build thread will be started for each trace returned by this method,
- * some of which may receive events in live streaming mode.
- *
- * @param trace
- * The trace associated with this view
- * @return List of traces with data to display
- * @since 3.0
- */
- protected Iterable<ITmfTrace> getTracesToBuild(ITmfTrace trace) {
- return Arrays.asList(TmfTraceManager.getTraceSet(trace));
- }
-
- /**
- * Build the entries list to show in this time graph
- *
- * Called from the BuildThread
- *
- * @param trace
- * The trace being built
- * @param parentTrace
- * The parent of the trace set, or the trace itself
- * @param monitor
- * The progress monitor object
- * @since 3.0
- */
- protected abstract void buildEventList(ITmfTrace trace, ITmfTrace parentTrace, IProgressMonitor monitor);
-
- /**
- * Gets the list of event for an entry in a given timerange
- *
- * @param entry
- * The entry to get events for
- * @param startTime
- * Start of the time range
- * @param endTime
- * End of the time range
- * @param resolution
- * The resolution
- * @param monitor
- * The progress monitor object
- * @return The list of events for the entry
- */
- protected abstract @Nullable List<ITimeEvent> getEventList(TimeGraphEntry entry,
- long startTime, long endTime, long resolution,
- IProgressMonitor monitor);
-
- /**
- * Gets the list of links (displayed as arrows) for a trace in a given
- * timerange. Default implementation returns an empty list.
- *
- * @param startTime
- * Start of the time range
- * @param endTime
- * End of the time range
- * @param resolution
- * The resolution
- * @param monitor
- * The progress monitor object
- * @return The list of link events
- * @since 2.1
- */
- protected List<ILinkEvent> getLinkList(long startTime, long endTime,
- long resolution, IProgressMonitor monitor) {
- return new ArrayList<>();
- }
-
-
- /**
- * Refresh the display
- */
- protected void refresh() {
- TmfUiRefreshHandler.getInstance().queueUpdate(this, new Runnable() {
- @Override
- public void run() {
- if (fTimeGraphWrapper.isDisposed()) {
- return;
- }
- boolean hasEntries = false;
- synchronized (fEntryListMap) {
- fEntryList = fEntryListMap.get(fTrace);
- if (fEntryList == null) {
- fEntryList = new CopyOnWriteArrayList<>();
- } else if (fEntryComparator != null) {
- List<TimeGraphEntry> list = new ArrayList<>(fEntryList);
- Collections.sort(list, fEntryComparator);
- fEntryList.clear();
- fEntryList.addAll(list);
- }
- hasEntries = fEntryList.size() != 0;
- }
- if (fEntryList != fTimeGraphWrapper.getInput()) {
- fTimeGraphWrapper.setInput(fEntryList);
- } else {
- fTimeGraphWrapper.refresh();
- }
- fTimeGraphWrapper.getTimeGraphViewer().setTimeBounds(fStartTime, fEndTime);
-
- long selectionBeginTime = fTrace == null ? 0 : fTraceManager.getSelectionBeginTime().normalize(0, ITmfTimestamp.NANOSECOND_SCALE).getValue();
- long selectionEndTime = fTrace == null ? 0 : fTraceManager.getSelectionEndTime().normalize(0, ITmfTimestamp.NANOSECOND_SCALE).getValue();
- long startTime = fTrace == null ? 0 : fTraceManager.getCurrentRange().getStartTime().normalize(0, ITmfTimestamp.NANOSECOND_SCALE).getValue();
- long endTime = fTrace == null ? 0 : fTraceManager.getCurrentRange().getEndTime().normalize(0, ITmfTimestamp.NANOSECOND_SCALE).getValue();
- startTime = Math.max(startTime, fStartTime);
- endTime = Math.min(endTime, fEndTime);
- fTimeGraphWrapper.getTimeGraphViewer().setSelectionRange(selectionBeginTime, selectionEndTime);
- fTimeGraphWrapper.getTimeGraphViewer().setStartFinishTime(startTime, endTime);
-
- if (fTimeGraphWrapper instanceof TimeGraphComboWrapper && !fPackDone) {
- for (TreeColumn column : ((TimeGraphComboWrapper) fTimeGraphWrapper).getTreeViewer().getTree().getColumns()) {
- column.pack();
- }
- if (hasEntries) {
- fPackDone = true;
- }
- }
-
- startZoomThread(startTime, endTime);
- }
- });
- }
-
- /**
- * Redraw the canvas
- */
- protected void redraw() {
- synchronized (fSyncObj) {
- if (fRedrawState == State.IDLE) {
- fRedrawState = State.BUSY;
- } else {
- fRedrawState = State.PENDING;
- return;
- }
- }
- Display.getDefault().asyncExec(new Runnable() {
- @Override
- public void run() {
- if (fTimeGraphWrapper.isDisposed()) {
- return;
- }
- fTimeGraphWrapper.redraw();
- fTimeGraphWrapper.update();
- synchronized (fSyncObj) {
- if (fRedrawState == State.PENDING) {
- fRedrawState = State.IDLE;
- redraw();
- } else {
- fRedrawState = State.IDLE;
- }
- }
- }
- });
- }
-
- private void startZoomThread(long startTime, long endTime) {
- if (fZoomThread != null) {
- fZoomThread.cancel();
- }
- fZoomThread = new ZoomThread(fEntryList, startTime, endTime, getName());
- fZoomThread.start();
- }
-
- private void makeActions() {
- fPreviousResourceAction = fTimeGraphWrapper.getTimeGraphViewer().getPreviousItemAction();
- fPreviousResourceAction.setText(getPrevText());
- fPreviousResourceAction.setToolTipText(getPrevTooltip());
- fNextResourceAction = fTimeGraphWrapper.getTimeGraphViewer().getNextItemAction();
- fNextResourceAction.setText(getNextText());
- fNextResourceAction.setToolTipText(getNextTooltip());
- }
-
- private void contributeToActionBars() {
- IActionBars bars = getViewSite().getActionBars();
- fillLocalToolBar(bars.getToolBarManager());
- }
-
- /**
- * Add actions to local tool bar manager
- *
- * @param manager the tool bar manager
- */
- protected void fillLocalToolBar(IToolBarManager manager) {
- if (fTimeGraphWrapper instanceof TimeGraphComboWrapper) {
- if (fFilterColumns != null && fFilterLabelProvider != null && fFilterColumns.length > 0) {
- manager.add(((TimeGraphComboWrapper) fTimeGraphWrapper).getShowFilterAction());
- }
- }
- manager.add(fTimeGraphWrapper.getTimeGraphViewer().getShowLegendAction());
- manager.add(new Separator());
- manager.add(fTimeGraphWrapper.getTimeGraphViewer().getResetScaleAction());
- manager.add(fTimeGraphWrapper.getTimeGraphViewer().getPreviousEventAction());
- manager.add(fTimeGraphWrapper.getTimeGraphViewer().getNextEventAction());
- manager.add(fPreviousResourceAction);
- manager.add(fNextResourceAction);
- manager.add(fTimeGraphWrapper.getTimeGraphViewer().getZoomInAction());
- manager.add(fTimeGraphWrapper.getTimeGraphViewer().getZoomOutAction());
- manager.add(new Separator());
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/timegraph/Messages.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/timegraph/Messages.java
deleted file mode 100644
index 1d0ff0c871..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/timegraph/Messages.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 École Polytechnique de Montréal
- *
- * 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:
- * Geneviève Bastien - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.views.timegraph;
-
-import org.eclipse.osgi.util.NLS;
-
-/**
- * Generic messages for the bar charts
- *
- * @since 2.1
- */
-@SuppressWarnings("javadoc")
-public class Messages extends NLS {
- private static final String BUNDLE_NAME = "org.eclipse.linuxtools.tmf.ui.views.timegraph.messages"; //$NON-NLS-1$
-
- public static String AbstractTimeGraphtView_NextText;
- public static String AbstractTimeGraphView_NextTooltip;
- public static String AbstractTimeGraphView_PreviousText;
- public static String AbstractTimeGraphView_PreviousTooltip;
- public static String TimeGraphPresentationProvider_multipleStates;
- static {
- // initialize resource bundle
- NLS.initializeMessages(BUNDLE_NAME, Messages.class);
- }
-
- private Messages() {
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/timegraph/messages.properties b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/timegraph/messages.properties
deleted file mode 100644
index 52adaa617b..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/timegraph/messages.properties
+++ /dev/null
@@ -1,16 +0,0 @@
-###############################################################################
-# Copyright (c) 2014 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:
-# Ericsson - Initial API and implementation
-###############################################################################
-AbstractTimeGraphtView_NextText=Next
-AbstractTimeGraphView_NextTooltip=Next element
-AbstractTimeGraphView_PreviousText=Previous
-AbstractTimeGraphView_PreviousTooltip=Previous element
-TimeGraphPresentationProvider_multipleStates=multiple states
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/DiagramToolTip.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/DiagramToolTip.java
deleted file mode 100755
index 08accdd9f4..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/DiagramToolTip.java
+++ /dev/null
@@ -1,131 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2005, 2013 IBM Corporation, 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:
- * IBM - Initial API and implementation
- * Bernd Hufmann - Updated for TMF
- **********************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.views.uml2sd;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.FontMetrics;
-import org.eclipse.swt.graphics.GC;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Text;
-
-/**
- * <p>
- * This class is used to reproduce the same tooltip behavior on Windows and Linux when the mouse hovers over the
- * sequence diagram
- * </p>
- *
- * @version 1.0
- * @author sveyrier
- */
-public class DiagramToolTip {
-
- // ------------------------------------------------------------------------
- // Constants
- // ------------------------------------------------------------------------
- private static final int CHARACTERS_PER_COLUMN = 100;
- private static final int DEFAULT_CURSOR_HEIGHT = 32;
-
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
- /**
- * The parent control where the tooltip must be drawn.
- */
- private Control fParent = null;
- /**
- * The tooltip shell.
- */
- private Shell fToolTipShell = null;
- /**
- * The text box.
- */
- private Text fTextBox = null;
-
- // ------------------------------------------------------------------------
- // Constructors
- // ------------------------------------------------------------------------
-
- /**
- * Create a new tooltip for the given parent control
- *
- * @param parent the parent control.
- */
- public DiagramToolTip(Control parent) {
- fParent = parent;
- fToolTipShell = new Shell(fParent.getShell(), SWT.MULTI);
- fToolTipShell.setBackground(Display.getDefault().getSystemColor(SWT.COLOR_INFO_BACKGROUND));
- fTextBox = new Text(fToolTipShell, SWT.WRAP | SWT.MULTI);
- fTextBox.setBackground(Display.getDefault().getSystemColor(SWT.COLOR_INFO_BACKGROUND));
- }
-
- // ------------------------------------------------------------------------
- // Methods
- // ------------------------------------------------------------------------
-
- /**
- * Display the tooltip using the given text The tooltip will stay on screen until it is told otherwise
- *
- * @param value the text to display
- */
- public void showToolTip(String value) {
- if ((value == null) || (value.equalsIgnoreCase(""))) { //$NON-NLS-1$
- fToolTipShell.setVisible(false);
- return;
- }
-
- int w = fToolTipShell.getBounds().width;
- Point hr = Display.getDefault().getCursorLocation();
- int cursorH = DEFAULT_CURSOR_HEIGHT;
- for (int i = 0; i < Display.getDefault().getCursorSizes().length; i++) {
- if (Display.getDefault().getCursorSizes()[i].y < cursorH) {
- cursorH = Display.getDefault().getCursorSizes()[i].y;
- }
- }
- if (hr.x + w > Display.getDefault().getBounds().width) {
- int tempX = (hr.x + w) - Display.getDefault().getBounds().width;
- if (tempX > Display.getDefault().getBounds().width) {
- hr.x = 0;
- }
- hr.x = hr.x - tempX;
- }
- fTextBox.setText(value);
- GC gc = new GC(fTextBox);
- FontMetrics fm = gc.getFontMetrics();
- gc.dispose();
- int width = CHARACTERS_PER_COLUMN * fm.getAverageCharWidth();
- fTextBox.setSize(fTextBox.computeSize(width, fTextBox.getLineCount() * fTextBox.getLineHeight()));
- fToolTipShell.setLocation(hr.x, hr.y + cursorH);
- fToolTipShell.setSize(fTextBox.getSize());
- fTextBox.setVisible(true);
- fToolTipShell.setVisible(true);
- }
-
- /**
- * Hide the tooltip
- */
- public void hideToolTip() {
- fToolTipShell.setVisible(false);
- }
-
- /**
- * @return parent control
- * @since 2.0
- */
- protected Control getParent() {
- return fParent;
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/DrawableToolTip.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/DrawableToolTip.java
deleted file mode 100755
index 89d1a5a377..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/DrawableToolTip.java
+++ /dev/null
@@ -1,305 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2005, 2013 IBM Corporation, 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:
- * IBM - Initial API and implementation
- * Bernd Hufmann - Updated for TMF
- **********************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.views.uml2sd;
-
-import org.eclipse.linuxtools.tmf.core.timestamp.ITmfTimestamp;
-import org.eclipse.linuxtools.tmf.core.timestamp.TmfTimeRange;
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.util.Messages;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.PaintEvent;
-import org.eclipse.swt.events.PaintListener;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.layout.RowLayout;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Shell;
-
-/**
- * <p>
- * This class is used to reproduce the same tooltip behavior on Windows and Linux when the mouse move hover the time
- * compression bar used to display elapsed time using a tooltip. The tooltip is composed of 2 parts, the text value and
- * below, a scale to visually locate the value in a time range (usually the minimum an maximum elapsed time in the whole
- * diagram)
- * </p>
- *
- * @version 1.0
- * @author sveyrier
- */
-public class DrawableToolTip implements PaintListener {
-
- // ------------------------------------------------------------------------
- // Constants
- // ------------------------------------------------------------------------
- private static final int HORIZONTAL_MARGIN = 10;
- private static final int VERTICAL_MARGIN = 10;
- private static final int TEXT_SCALE_MARGIN = 20;
- private static final int SCALE_LENGTH = 100;
- private static final int SHELL_WIDTH = 200;
- private static final int SHELL_HEIGHT = 50;
- private static final int NUMBER_STEPS = 10;
- private static final int BASE_RED_VALUE = 255;
- private static final int BASE_GREEN_BLUE_VALUE = 225;
- private static final int COLOR_STEP = 25;
- private static final int BOUNDS_Y_OFFSET = 26;
- private static final int RECTANGLE_HEIGHT = 11;
- private static final int DEFAULT_LINE_WIDTH = 10;
- private static final int BORDER_LINE_WIDTH = 14;
-
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
-
- /**
- * The tooltip shell
- */
- private Shell fToolTipShell = null;
- /**
- * The Time range data.
- */
- private TmfTimeRange fMinMaxRange;
- /**
- * The current time.
- */
- private ITmfTimestamp fCurrentValue;
- /**
- * The horizontal margin used for drawing.
- */
- private static int fHorMargin = HORIZONTAL_MARGIN;
- /**
- * The vertical margin used for drawing.
- */
- private static int fVertMargin = VERTICAL_MARGIN;
- /**
- * The minimum text scale margin.
- */
- private static int fTextScaleMargin = TEXT_SCALE_MARGIN;
- /**
- * The length of the text scale.
- */
- private static int fScaleLength = SCALE_LENGTH;
- /**
- * The text to display
- */
- private String fMessage;
- /**
- * The color array used to represent the 10 time range slices
- */
- private Color[] fColors;
-
- // ------------------------------------------------------------------------
- // Constructors
- // ------------------------------------------------------------------------
-
- /**
- * Creates a drawable tool tip instance.
- *
- * @param parent The parent composite.
- */
- public DrawableToolTip(Composite parent) {
- fToolTipShell = new Shell(parent.getShell(), SWT.ON_TOP);
- fToolTipShell.setLayout(new RowLayout());
- fToolTipShell.setBackground(Display.getDefault().getSystemColor(SWT.COLOR_INFO_BACKGROUND));
- fToolTipShell.addPaintListener(this);
- fToolTipShell.setSize(SHELL_WIDTH, SHELL_HEIGHT);
-
- fColors = new Color[NUMBER_STEPS];
- int greenBlue = BASE_GREEN_BLUE_VALUE;
- final int step = COLOR_STEP;
- for (int i = 0; i < fColors.length; i++) {
- fColors[i] = new Color(Display.getDefault(), BASE_RED_VALUE, greenBlue, greenBlue);
- greenBlue -= step;
- }
- }
-
- // ------------------------------------------------------------------------
- // Methods
- // ------------------------------------------------------------------------
- /**
- * Returns the message to display.
- *
- * @return the message to display.
- */
- public String getText() {
- return fMessage;
- }
-
- /**
- * Returns teh current time to display.
- *
- * @return the current time to display
- */
- public String getAccessibleText() {
- return fCurrentValue.toString();
- }
-
- /**
- * Returns the horizontal margin.
- *
- * @return the horizontal margin.
- */
- protected static int getHorizontalMargin() {
- return fHorMargin;
- }
-
- /**
- * Sets the horizontal margin.
- *
- * @param margin The margin to set.
- */
- protected static void setHorizontalMargin(int margin) {
- fHorMargin = margin;
- }
-
- /**
- * Returns the vertical margin.
- *
- * @return the vertical margin.
- */
- protected static int getVerticalMargin() {
- return fVertMargin;
- }
-
- /**
- * Sets the vertical margin.
- *
- * @param margin The margin to set.
- */
- protected static void setVerticalMargin(int margin) {
- fVertMargin = margin;
- }
-
- /**
- * Returns the text scale margin.
- *
- * @return the text scale margin.
- */
- protected static int getTextScaleMargin() {
- return fTextScaleMargin;
- }
-
- /**
- * Sets the text scale margin.
- * @param textScaleMargin The margin to set.
- */
- protected static void setTestScaleMargin(int textScaleMargin) {
- fTextScaleMargin = textScaleMargin;
- }
-
- /**
- * Returns the scale length.
- *
- * @return the scale length.
- */
- protected static int getScaleLength() {
- return fScaleLength;
- }
-
- /**
- * Sets the scale length.
- *
- * @param scaleLength The scale length to set.
- */
- protected static void setScaleLength(int scaleLength) {
- fScaleLength = scaleLength;
- }
-
- /**
- * Display the tooltip using the given time range(min,max) the current value and the time unit The tooltip will stay
- * on screen until it is told otherwise
- *
- * @param value the current in the scale
- * @param min the scale min
- * @param max the scale max
- * @since 2.0
- */
- public void showToolTip(ITmfTimestamp value, ITmfTimestamp min, ITmfTimestamp max) {
- fMinMaxRange = new TmfTimeRange(min, max);
- fCurrentValue = value;
-
- int w = fToolTipShell.getBounds().width;
- int h = fToolTipShell.getBounds().height;
- Point hr = Display.getDefault().getCursorLocation();
- fToolTipShell.setBounds(hr.x, hr.y + BOUNDS_Y_OFFSET, w, h);
- fToolTipShell.setVisible(true);
- }
-
- /**
- * Hide the tooltip.
- */
- public void hideToolTip() {
- fToolTipShell.setVisible(false);
- }
-
- /**
- * Disposes the system resource used by this kind of toolTips (a colors array essentially)
- */
- public void dispose() {
- for (int i = 0; i < fColors.length; i++) {
- fColors[i].dispose();
- }
- }
-
- @Override
- public void paintControl(PaintEvent event) {
- fMessage = Messages.SequenceDiagram_Delta + " " + fCurrentValue.toString(); //$NON-NLS-1$
- Point size = event.gc.textExtent(fMessage);
- if (size.x < fScaleLength) {
- size.x = fScaleLength;
- }
- event.gc.drawText(fMessage, fHorMargin, fVertMargin, true);
- event.gc.drawLine(fHorMargin, fVertMargin + fTextScaleMargin + size.y, fHorMargin + fScaleLength, fVertMargin + fTextScaleMargin + size.y);
-
- int step = fScaleLength / NUMBER_STEPS;
-
- ITmfTimestamp minMaxdelta = fMinMaxRange.getEndTime().getDelta(fMinMaxRange.getStartTime());
- double gr = (minMaxdelta.getValue()) / (double) NUMBER_STEPS;
-
- ITmfTimestamp delta = fCurrentValue.getDelta(fMinMaxRange.getStartTime());
- long absDelta = Math.abs(delta.getValue());
-
- int colIndex = 0;
- if (gr != 0) {
- colIndex = Math.round((float) (absDelta / gr));
- if (colIndex > fColors.length) {
- colIndex = fColors.length;
- } else if (colIndex <= 1) {
- colIndex = 1;
- }
- } else {
- colIndex = 1;
- }
-
- for (int i = 0; i <= NUMBER_STEPS; i++) {
- if (i < NUMBER_STEPS) {
- event.gc.setBackground(fColors[i]);
- }
- if ((i < colIndex) && (i < NUMBER_STEPS)) {
- event.gc.fillRectangle(fHorMargin + i * step, fVertMargin + fTextScaleMargin + size.y - 5, step, RECTANGLE_HEIGHT);
- }
- if (i == 0) {
- event.gc.drawText(Messages.SequenceDiagram_Min, fHorMargin, size.y + 2 * fVertMargin + fTextScaleMargin, true);
- }
- if (i == 0) {
- int len = event.gc.textExtent(Messages.SequenceDiagram_Max).x;
- event.gc.drawText(Messages.SequenceDiagram_Max, fHorMargin + fScaleLength - len + 1, size.y + 2 * fVertMargin + fTextScaleMargin, true);
- }
- int lineWidth = DEFAULT_LINE_WIDTH;
- if ((i == 0) || (i == NUMBER_STEPS)) {
- lineWidth = BORDER_LINE_WIDTH;
- }
- event.gc.drawLine(fHorMargin + i * step, fVertMargin + fTextScaleMargin + size.y - lineWidth / 2, fHorMargin + i * step, fVertMargin + fTextScaleMargin + size.y + lineWidth / 2);
- }
- fToolTipShell.setSize(size.x + 2 * fHorMargin + 2, 2 * size.y + 3 * fVertMargin + fTextScaleMargin);
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/ITimeCompressionListener.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/ITimeCompressionListener.java
deleted file mode 100755
index e00b9ea500..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/ITimeCompressionListener.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2005, 2013 IBM Corporation, 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:
- * IBM - Initial API and implementation
- * Bernd Hufmann - Updated for TMF
- **********************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.views.uml2sd;
-
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.core.Lifeline;
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.drawings.IColor;
-
-/**
- * <p>
- * Listener interface for the time compression bar to notify about dela selection.
- * </p>
- *
- * @author sveyrier
- * @version 1.0
- */
-public interface ITimeCompressionListener {
-
- /**
- * Notifies listeners about a selected delta.
- *
- * @param lifeline
- * The current lifeline.
- * @param startEvent
- * The start event selected.
- * @param nbEvent
- * A number of events.
- * @param color
- * The current color to use.
- */
- void deltaSelected(Lifeline lifeline, int startEvent, int nbEvent, IColor color);
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/NGC.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/NGC.java
deleted file mode 100755
index e1642a3ff9..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/NGC.java
+++ /dev/null
@@ -1,988 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2005, 2013 IBM Corporation, 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:
- * IBM - Initial API and implementation
- * Bernd Hufmann - Updated for TMF
- **********************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.views.uml2sd;
-
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.drawings.IColor;
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.drawings.IFont;
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.drawings.IGC;
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.drawings.IImage;
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.drawings.impl.ColorImpl;
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.preferences.SDViewPref;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.graphics.Font;
-import org.eclipse.swt.graphics.FontData;
-import org.eclipse.swt.graphics.GC;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.graphics.Rectangle;
-import org.eclipse.swt.widgets.Display;
-
-/**
- * <p>
- * This class implements the graphical context for the sequence diagram widgets.
- * </p>
- *
- * @version 1.0
- * @author sveyrier
- */
-public class NGC implements IGC {
-
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
-
- /**
- * The graphical context.
- */
- private GC fContext;
- /**
- * The reference to the sequence diagram view.
- */
- private SDWidget fView;
- /**
- * A reference to the last used font.
- */
- private Font fTempFont = null;
- /**
- * The color of the gradient.
- */
- private IColor fGradientColor = null;
- /**
- * The color of the background.
- */
- private IColor fBackground = null;
- /**
- * The color of the foreground.
- */
- private IColor fForeground = null;
- /**
- * The current visible y screen bounds
- */
- private int fVisibleY;
- /**
- * The current visible x screen bound.
- */
- private int fVisibleX;
- /**
- * The current yx value (view visible height - visible screen bounds)
- */
- private int yx;
- /**
- * The current xx value (view visible width - visible screen bounds)
- */
- private int xx;
- /**
- * <code>true</code> to draw with focus else <code>false</code>.
- */
- private boolean fDrawWithFocus = false;
-
- /**
- * The static visible screen bounds.
- */
- private static int fVisibleScreenBounds = 0;
-
-
- // ------------------------------------------------------------------------
- // Constructors
- // ------------------------------------------------------------------------
-
- /**
- * Default constructor.
- *
- * @param scrollView A sequence diagram view reference.
- * @param gc A graphical context.
- */
- public NGC(SDWidget scrollView, GC gc) {
- fContext = gc;
- fView = scrollView;
- }
-
- // ------------------------------------------------------------------------
- // Methods
- // ------------------------------------------------------------------------
-
- @Override
- public void setLineStyle(int style) {
- fContext.setLineStyle(style);
- }
-
- @Override
- public int getLineStyle() {
- return fContext.getLineStyle();
- }
-
- @Override
- public int getContentsX() {
- return Math.round(fView.getContentsX() / fView.getZoomValue());
- }
-
- @Override
- public int getContentsY() {
- return Math.round(fView.getContentsY() / fView.getZoomValue());
- }
-
- @Override
- public int getVisibleWidth() {
- return Math.round(fView.getVisibleWidth() / fView.getZoomValue());
- }
-
- @Override
- public int getVisibleHeight() {
- return Math.round(fView.getVisibleHeight() / fView.getZoomValue());
- }
-
- /**
- * Returns the current visible y screen bounds.
- *
- * @return the current visible y screen bounds
- * @since 2.0
- */
- protected int getVisibleY() {
- return fVisibleY;
- }
-
- /**
- * Sets the current visible y screen bounds.
- *
- * @param visibleY
- * the current visible y screen bounds
- * @since 2.0
- */
- protected void setVisibleY(int visibleY) {
- fVisibleY = visibleY;
- }
-
- /**
- * Returns the current visible x screen bound.
- *
- * @return the current visible x screen bound.
- * @since 2.0
- *
- */
- protected int getfVisibleX() {
- return fVisibleX;
- }
-
- /**
- * Sets the current visible x screen bound.
- *
- * @param visibleX
- * the current visible x screen bound.
- * @since 2.0
- *
- */
- protected void setVisibleX(int visibleX) {
- fVisibleX = visibleX;
- }
-
- /**
- * Returns current yx value (view visible height - visible screen bounds).
- *
- * @return current yx value
- * @since 2.0
- */
- protected int getYx() {
- return yx;
- }
-
- /**
- * Sets current yx value (view visible height - visible screen bounds).
- *
- * @param yx
- * current yx value
- * @since 2.0
- */
- protected void setYx(int yx) {
- this.yx = yx;
- }
-
- /**
- * Returns the current xx value (view visible width - visible screen bounds)
- *
- * @return the current xx value
- * @since 2.0
- */
- protected int getXx() {
- return xx;
- }
-
- /**
- * Sets the current xx value (view visible width - visible screen bounds)
- *
- * @param xx
- * the current xx value
- * @since 2.0
- */
- protected void setXx(int xx) {
- this.xx = xx;
- }
-
- @Override
- public int contentsToViewX(int x) {
- return fView.contentsToViewX(x);
- }
-
- @Override
- public int contentsToViewY(int y) {
- return fView.contentsToViewY(y);
- }
-
- /**
- * Get code for drawings at given x and y position.
- *
- * @param x The x position
- * @param y The y position.
- * @return A code for top, bottom, right and left
- */
- protected byte code(int x, int y) {
- byte c = 0;
- fVisibleY = fVisibleScreenBounds;
- fVisibleX = fVisibleScreenBounds;
- yx = fView.getVisibleHeight() + fVisibleScreenBounds;
- xx = fView.getVisibleWidth() + fVisibleScreenBounds;
- if (y > yx) {
- c |= 0x01; // top
- } else if (y < fVisibleY) {
- c |= 0x02; // bottom
- }
-
- if (x > xx) {
- c |= 0x04; // right
- } else if (x < fVisibleX) {
- c |= 0x08; // left
- }
- return c;
- }
-
- @Override
- public void drawLine(int x1, int y1, int x2, int y2) {
- int localX1 = x1;
- int localY1 = y1;
- int localX2 = x2;
- int localY2 = y2;
-
- localX1 = Math.round(localX1 * fView.getZoomValue());
- localY1 = Math.round(localY1 * fView.getZoomValue());
- localX2 = Math.round(localX2 * fView.getZoomValue());
- localY2 = Math.round(localY2 * fView.getZoomValue());
- localX1 = fView.contentsToViewX(localX1);
- localY1 = fView.contentsToViewY(localY1);
- localX2 = fView.contentsToViewX(localX2);
- localY2 = fView.contentsToViewY(localY2);
-
- byte code1 = code(localX1, localY1);
- byte code2 = code(localX2, localY2);
- byte codex;
- boolean draw = false;
- boolean end = false;
- int x = 0, y = 0;
-
- do {
- if (code1 == 0 && code2 == 0) {
- draw = true;
- end = true;
- } else if ((code1 & code2) != 0) {
- end = true;
- } else {
- codex = (code1 != 0) ? code1 : code2;
- if ((codex & 0x01) != 0) { // top
- x = localX1 + ((localX2 - localX1) * (yx - localY1)) / (localY2 - localY1);
- y = yx;
- } else if ((codex & 0x02) != 0) { // bottom
- x = localX1 + ((localX2 - localX1) * (fVisibleY - localY1)) / (localY2 - localY1);
- y = fVisibleY;
- } else if ((codex & 0x04) != 0) { // right
- y = localY1 + ((localY2 - localY1) * (xx - localX1)) / (localX2 - localX1);
- x = xx;
- } else if ((codex & 0x08) != 0) { // left
- y = localY1 + ((localY2 - localY1) * (fVisibleX - localX1)) / (localX2 - localX1);
- x = fVisibleX;
- }
-
- if (codex == code1) {
- localX1 = x;
- localY1 = y;
- code1 = code(localX1, localY1);
- } else {
- localX2 = x;
- localY2 = y;
- code2 = code(localX2, localY2);
- }
- }
- } while (!end);
-
- if (draw) {
- fContext.drawLine(localX1, localY1, localX2, localY2);
- }
- }
-
- @Override
- public void drawRectangle(int x, int y, int width, int height) {
- int localX = x;
- int localY = y;
- int localWidth = width;
- int localHeight = height;
-
- localX = Math.round(localX * fView.getZoomValue());
- // Workaround to avoid problems for some special cases (not very nice)
- if (localY != getContentsY()) {
- localY = Math.round(localY * fView.getZoomValue());
- localY = fView.contentsToViewY(localY);
- } else {
- localY = 0;
- }
- localWidth = Math.round(localWidth * fView.getZoomValue());
- localHeight = Math.round(localHeight * fView.getZoomValue());
- localX = fView.contentsToViewX(localX);
-
- if (localX < -fVisibleScreenBounds) {
- localWidth = localWidth + localX + fVisibleScreenBounds;
- localX = -fVisibleScreenBounds;
- }
- if (localY < -fVisibleScreenBounds) {
- localHeight = localHeight + localY + fVisibleScreenBounds;
- localY = -fVisibleScreenBounds;
- }
- if ((localWidth < -fVisibleScreenBounds) && (localX + localWidth < -fVisibleScreenBounds)) {
- localWidth = -fVisibleScreenBounds;
- } else if (localWidth + localX > fView.getVisibleWidth() + fVisibleScreenBounds) {
- localWidth = fView.getVisibleWidth() + fVisibleScreenBounds - localX;
- }
- if ((localHeight < -fVisibleScreenBounds) && (localY + localHeight < -fVisibleScreenBounds)) {
- localHeight = -fVisibleScreenBounds;
- } else if (localHeight + localY > fView.getVisibleHeight() + fVisibleScreenBounds) {
- localHeight = fView.getVisibleHeight() + fVisibleScreenBounds - localY;
- }
- fContext.drawRectangle(localX, localY, localWidth, localHeight);
- }
-
- @Override
- public void drawFocus(int x, int y, int width, int height) {
- int localX = x;
- int localY = y;
- int localWidth = width;
- int localHeight = height;
-
- IColor bC = getBackground();
- IColor fC = getForeground();
-
- if (localWidth < 0) {
- localX = localX + localWidth;
- localWidth = -localWidth;
- }
-
- if (localHeight < 0) {
- localY = localY + localHeight;
- localHeight = -localHeight;
- }
-
- localX = Math.round(localX * fView.getZoomValue());
- localY = Math.round(localY * fView.getZoomValue());
- localWidth = Math.round(localWidth * fView.getZoomValue());
- localHeight = Math.round(localHeight * fView.getZoomValue());
-
- setForeground(SDViewPref.getInstance().getForeGroundColorSelection());
- setBackground(SDViewPref.getInstance().getBackGroundColorSelection());
-
- fContext.drawFocus(fView.contentsToViewX(localX - 1), fView.contentsToViewY(localY - 1), localWidth + 3, localHeight + 3);
-
- setBackground(bC);
- setForeground(fC);
- }
-
- @Override
- public void fillPolygon(int[] points) {
- int len = (points.length / 2) * 2;
- int[] localPoint = new int[len];
- for (int i = 0; i < len; i++) {
- localPoint[i] = fView.contentsToViewX(Math.round(points[i] * fView.getZoomValue()));
- i++;
- localPoint[i] = fView.contentsToViewY(Math.round(points[i] * fView.getZoomValue()));
- }
-
- if (validatePolygonHeight(localPoint) <= 0) {
- return;
- }
-
- fContext.fillPolygon(localPoint);
- }
-
- @Override
- public void drawPolygon(int[] points) {
- int len = (points.length / 2) * 2;
- int[] localPoint = new int[len];
- for (int i = 0; i < len; i++) {
- localPoint[i] = fView.contentsToViewX(Math.round(points[i] * fView.getZoomValue()));
- i++;
- localPoint[i] = fView.contentsToViewY(Math.round(points[i] * fView.getZoomValue()));
- }
-
- if (validatePolygonHeight(localPoint) <= 0) {
- return;
- }
-
- fContext.drawPolygon(localPoint);
- }
-
- @Override
- public void fillRectangle(int x, int y, int width, int height) {
- int localX = x;
- int localY = y;
- int localWidth = width;
- int localHeight = height;
-
- localX = Math.round(localX * fView.getZoomValue());
- // Workaround to avoid problems for some special cases (not very nice)
- if (localY != getContentsY()) {
- localY = Math.round(localY * fView.getZoomValue());
- localY = fView.contentsToViewY(localY) + 1;
- } else {
- localY = 1;
- }
- localWidth = Math.round(localWidth * fView.getZoomValue()) - 1;
- localHeight = Math.round(localHeight * fView.getZoomValue()) - 1;
- localX = fView.contentsToViewX(localX) + 1;
- if (localX < -fVisibleScreenBounds) {
- localWidth = localWidth + localX + fVisibleScreenBounds;
- localX = -fVisibleScreenBounds;
- }
- if (localY < -fVisibleScreenBounds) {
- localHeight = localHeight + localY + fVisibleScreenBounds;
- localY = -fVisibleScreenBounds;
- }
- if ((localWidth < -fVisibleScreenBounds) && (localX + localWidth < -fVisibleScreenBounds)) {
- localWidth = -fVisibleScreenBounds;
- } else if (localWidth + localX > fView.getVisibleWidth() + fVisibleScreenBounds) {
- localWidth = fView.getVisibleWidth() + fVisibleScreenBounds - localX;
- }
- if ((localHeight < -fVisibleScreenBounds) && (localY + localHeight < -fVisibleScreenBounds)) {
- localHeight = -fVisibleScreenBounds;
- } else if (localHeight + localY > fView.getVisibleHeight() + fVisibleScreenBounds) {
- localHeight = fView.getVisibleHeight() + fVisibleScreenBounds - localY;
- }
- fContext.fillRectangle(localX, localY, localWidth, localHeight);
- }
-
- @Override
- public void fillGradientRectangle(int x, int y, int width, int height, boolean isVertical) {
- int localX = x;
- int localY = y;
- int localWidth = width;
- int localHeight = height;
-
- localX = Math.round(localX * fView.getZoomValue());
- localY = Math.round(localY * fView.getZoomValue());
- localWidth = Math.round(localWidth * fView.getZoomValue());
- localHeight = Math.round(localHeight * fView.getZoomValue());
- IColor tempColor = fForeground;
- setForeground(fGradientColor);
- localX = fView.contentsToViewX(localX);
- localY = fView.contentsToViewY(localY);
-
- if (localX < -fVisibleScreenBounds) {
- localWidth = localWidth + localX + fVisibleScreenBounds;
- localX = -fVisibleScreenBounds;
- }
- if (localY < -fVisibleScreenBounds) {
- localHeight = localHeight + localY + fVisibleScreenBounds;
- localY = -fVisibleScreenBounds;
- }
-
- if ((localWidth < -fVisibleScreenBounds) && (localX + localWidth < -fVisibleScreenBounds)) {
- localWidth = -fVisibleScreenBounds;
- } else if (localWidth + localX > fView.getVisibleWidth() + fVisibleScreenBounds) {
- localWidth = fView.getVisibleWidth() + fVisibleScreenBounds - localX;
- }
- if ((localHeight < -fVisibleScreenBounds) && (localY + localHeight < -fVisibleScreenBounds)) {
- localHeight = -fVisibleScreenBounds;
- } else if (localHeight + localY > fView.getVisibleHeight() + fVisibleScreenBounds) {
- localHeight = fView.getVisibleHeight() + fVisibleScreenBounds - localY;
- }
- if (isVertical) {
- fContext.fillGradientRectangle(localX, localY, localWidth, localHeight, isVertical);
- }
- else {
- fContext.fillGradientRectangle(localX + localWidth, localY, -localWidth, localHeight + 1, isVertical);
- }
- setForeground(tempColor);
- }
-
- @Override
- public int textExtent(String name) {
- return fContext.textExtent(name).x;
- }
-
- @Override
- public void drawText(String string, int x, int y, boolean isTrans) {
- int localX = x;
- int localY = y;
-
- localX = Math.round(localX * fView.getZoomValue());
- localY = Math.round(localY * fView.getZoomValue());
- fContext.drawText(string, fView.contentsToViewX(localX), fView.contentsToViewY(localY), isTrans);
- if (fDrawWithFocus) {
- Point r = fContext.textExtent(string);
- fContext.drawFocus(localX - 1, localY - 1, r.x + 2, r.y + 2);
- }
- }
-
- @Override
- public void drawText(String string, int x, int y) {
- int localX = x;
- int localY = y;
-
- localX = Math.round(localX * fView.getZoomValue());
- localY = Math.round(localY * fView.getZoomValue());
- fContext.drawText(string, fView.contentsToViewX(localX), fView.contentsToViewY(localY), true);
- if (fDrawWithFocus) {
- Point r = fContext.textExtent(string);
- fContext.drawFocus(localX - 1, localY - 1, r.x + 2, r.y + 2);
- }
- }
-
- @Override
- public void fillOval(int x, int y, int width, int height) {
- int localX = x;
- int localY = y;
- int localWidth = width;
- int localHeight = height;
-
- localX = Math.round(localX * fView.getZoomValue());
- localY = Math.round(localY * fView.getZoomValue());
- localWidth = Math.round(localWidth * fView.getZoomValue());
- localHeight = Math.round(localHeight * fView.getZoomValue());
- fContext.fillOval(fView.contentsToViewX(localX), fView.contentsToViewY(localY), localWidth, localHeight);
- }
-
- @Override
- public IColor getBackground() {
- if ((fBackground != null) && (fBackground.getColor() instanceof Color) && (!((Color) (fBackground.getColor())).isDisposed())) {
- return fBackground;
- }
- return ColorImpl.getSystemColor(SWT.COLOR_WHITE);
- }
-
- @Override
- public IColor getForeground() {
- if ((fForeground != null) && (fForeground.getColor() instanceof Color) && (!((Color) (fForeground.getColor())).isDisposed())) {
- return fForeground;
- }
- return ColorImpl.getSystemColor(SWT.COLOR_WHITE);
- }
-
- @Override
- public void setBackground(IColor color) {
- if (color == null) {
- return;
- }
- if (color.getColor() instanceof Color) {
- fContext.setBackground((Color) color.getColor());
- fBackground = color;
- }
- }
-
- @Override
- public void setForeground(IColor color) {
- if (color == null) {
- return;
- }
- if (color.getColor() instanceof Color) {
- Color c = (Color) color.getColor();
- if (!c.isDisposed()) {
- fContext.setForeground(c);
- fForeground = color;
- }
- }
- }
-
- @Override
- public void setGradientColor(IColor color) {
- if (color == null) {
- return;
- }
- if (color.getColor() instanceof Color) {
- fGradientColor = color;
- }
- }
-
- @Override
- public void setLineWidth(int width) {
- if (fView.isPrinting()) {
- fContext.setLineWidth(width * 2);
- }
- else {
- fContext.setLineWidth(width);
- }
- }
-
- @Override
- public int getLineWidth() {
- return fContext.getLineWidth();
- }
-
- /**
- * Method to draw a text in rectangle. (Linux GTK Workaround)
- *
- * @param string The text to draw.
- * @param x The x position.
- * @param y The y position.
- * @param isTransparent true for transparent else false
- */
- protected void localDrawText(String string, int x, int y, boolean isTransparent) {
- Point r = fContext.textExtent(string);
- if (!isTransparent) {
- fContext.fillRectangle(x, y, r.x, r.y);
- }
- fContext.drawText(string, x, y, isTransparent);
- if ((fDrawWithFocus) && (string.length() > 1)) {
- fContext.drawFocus(x - 1, y - 1, r.x + 2, r.y + 2);
- }
- }
-
- @Override
- public void drawTextTruncatedCentred(String name, int xValue, int yValue, int width, int height, boolean trans) {
- int localX = xValue;
- int localY = yValue;
- int localWidth = width;
- int localHeight = height;
-
- Point tx = fContext.textExtent(name);
- localX = Math.round(localX * fView.getZoomValue());
- int y = 0;
- // Workaround to avoid round problems for some special cases (not very nice)
- if (localY != getContentsY()) {
- localY = Math.round(localY * fView.getZoomValue());
- y = fView.contentsToViewY(localY);
- }
- localWidth = Math.round(localWidth * fView.getZoomValue());
- localHeight = Math.round(localHeight * fView.getZoomValue());
- int x = fView.contentsToViewX(localX);
- if (tx.y > localHeight) {
- return;
- }
-
- // Adjust height and y
- if (y < -fVisibleScreenBounds) {
- localHeight = localHeight + y + fVisibleScreenBounds;
- y = -fVisibleScreenBounds;
- }
- if ((localHeight < -fVisibleScreenBounds) && (y + localHeight < -fVisibleScreenBounds)) {
- localHeight = -fVisibleScreenBounds;
- } else if (localHeight + y > fView.getVisibleHeight() + fVisibleScreenBounds) {
- localHeight = fView.getVisibleHeight() + fVisibleScreenBounds - y;
- }
-
- if (tx.x <= localWidth) {
- localDrawText(name, x + 1 + (localWidth - tx.x) / 2, y + 1 + (localHeight - tx.y) / 2, trans);
- } else {
- String nameToDisplay = name;
- for (int i = name.length() - 1; i >= 0 && fContext.textExtent(nameToDisplay).x >= localWidth; i--) {
- nameToDisplay = name.substring(0, i);
- }
- int dotCount = 0;
- for (int i = 1; i <= 3 && nameToDisplay.length() - i > 0; i++) {
- dotCount++;
- }
- nameToDisplay = nameToDisplay.substring(0, nameToDisplay.length() - dotCount);
- StringBuffer buf = new StringBuffer(nameToDisplay);
- for (int i = 0; i < dotCount; i++) {
- buf.append("."); //$NON-NLS-1$
- }
- nameToDisplay = buf.toString();
- localDrawText(nameToDisplay, x + 1 + (localWidth - fContext.textExtent(nameToDisplay).x) / 2, y + 1 + (localHeight - fContext.textExtent(nameToDisplay).y) / 2, trans);
- }
- }
-
- @Override
- public void drawTextTruncated(String name, int xValue, int yValue, int width, int height, boolean trans) {
- int localX = xValue;
- int localY = yValue;
- int localWidth = width;
- int localHeight = height;
-
- localX = Math.round(localX * fView.getZoomValue());
- localY = Math.round(localY * fView.getZoomValue());
- localWidth = Math.round(localWidth * fView.getZoomValue());
- localHeight = Math.round(localHeight * fView.getZoomValue());
- int x = fView.contentsToViewX(localX);
- int y = fView.contentsToViewY(localY);
- if (fContext.textExtent(name).x <= localWidth) {
- localDrawText(name, x + 1, y + 1 + localHeight, trans);
- } else {
- String nameToDisplay = name;
- for (int i = name.length() - 1; i >= 0 && fContext.textExtent(nameToDisplay).x >= localWidth; i--) {
- nameToDisplay = name.substring(0, i);
- }
- int dotCount = 0;
- for (int i = 1; i <= 3 && nameToDisplay.length() - i > 0; i++) {
- dotCount++;
- }
- nameToDisplay = nameToDisplay.substring(0, nameToDisplay.length() - dotCount);
-
- StringBuffer buf = new StringBuffer(nameToDisplay);
-
- for (int i = 0; i < dotCount; i++) {
- buf.append("."); //$NON-NLS-1$
- }
- nameToDisplay = buf.toString();
- localDrawText(nameToDisplay, x + 1, y + 1 + localHeight, trans);
- }
- }
-
- @Override
- public void drawImage(IImage image, int xValue, int yValue, int maxWith, int maxHeight) {
- int localX = xValue;
- int localY = yValue;
-
- Image img = null;
- if (image != null && image.getImage() instanceof Image) {
- img = (Image) image.getImage();
- } else {
- localX = Math.round(localX * fView.getZoomValue());
- localY = Math.round(localY * fView.getZoomValue());
- int x = fView.contentsToViewX(localX);
- int y = fView.contentsToViewY(localY);
- float tempZoom = fView.getZoomValue();
- int width = Math.round(maxWith * tempZoom);
- int height = Math.round(maxHeight * tempZoom);
- fContext.setBackground(fView.getDisplay().getSystemColor(SWT.COLOR_RED));
- fContext.fillRectangle(x, y, width, height);
- return;
- }
- localX = Math.round(localX * fView.getZoomValue());
- localY = Math.round(localY * fView.getZoomValue());
- int x = fView.contentsToViewX(localX);
- int y = fView.contentsToViewY(localY);
- Rectangle b = ((Image) image.getImage()).getBounds();
- int width = b.width;
- int height = b.height;
- if (width > maxWith) {
- width = maxWith;
- }
- if (height > maxHeight) {
- height = maxHeight;
- }
- float tempZoom = fView.getZoomValue();
- width = Math.round(width * tempZoom);
- height = Math.round(height * tempZoom);
-
- if (fView.isPrinting() && width > 0 && height > 0) {
- Image dbuffer = new Image(fView.getDisplay(), width, height);
- GC tempgc = new GC(dbuffer);
- tempgc.drawImage(img, 0, 0, b.width, b.height, 0, 0, width, height);
- Image dbuffer2 = new Image(fView.getDisplay(), dbuffer.getImageData());
- fContext.drawImage(dbuffer2, x, y);
- tempgc.dispose();
- dbuffer.dispose();
- dbuffer2.dispose();
- } else {
- fContext.drawImage(img, 0, 0, b.width, b.height, x, y, width, height);
- }
- }
-
- @Override
- public void drawArc(int x, int y, int width, int height, int startAngle, int endAngle) {
- int localX = x;
- int localY = y;
- int localWidth = width;
- int localHeight = height;
-
- localX = Math.round(localX * fView.getZoomValue());
- localY = Math.round(localY * fView.getZoomValue());
- localWidth = Math.round(localWidth * fView.getZoomValue());
- localHeight = Math.round(localHeight * fView.getZoomValue());
- if (localWidth == 0 || localHeight == 0 || endAngle == 0) {
- return;
- }
- fContext.drawArc(fView.contentsToViewX(localX), fView.contentsToViewY(localY), localWidth, localHeight, startAngle, endAngle);
- }
-
- @Override
- public void setFont(IFont font) {
- if (font.getFont() != null && ((Font) font.getFont()).getFontData().length > 0) {
- FontData fontData = ((Font) font.getFont()).getFontData()[0];
- if (SDViewPref.getInstance().fontLinked() || fView.isPrinting()) {
- int h = Math.round(fontData.getHeight() * fView.getZoomValue());
- if (h > 0) {
- fontData.setHeight(h);
- }
- }
- if (fTempFont != null) {
- fTempFont.dispose();
- }
- fTempFont = new Font(Display.getCurrent(), fontData);
- fContext.setFont(fTempFont);
- }
- }
-
- @Override
- public int getFontHeight(IFont font) {
- if (font.getFont() != null && (font.getFont() instanceof Font) && ((Font) font.getFont()).getFontData().length > 0) {
- Font toRestore = fContext.getFont();
- fContext.setFont((Font) font.getFont());
- int height = fContext.textExtent("lp").y;//$NON-NLS-1$
- fContext.setFont(toRestore);
- return height;
- }
- return 0;
- }
-
- /**
- * Returns the current font height.
- *
- * @return the current font height.
- */
- protected int getCurrentFontHeight() {
- return fContext.textExtent("lp").y; //$NON-NLS-1$
- }
-
- @Override
- public int getFontWidth(IFont font) {
- if ((font.getFont() != null) && (font.getFont() instanceof Font)) {
- Font toRestore = fContext.getFont();
- fContext.setFont((Font) font.getFont());
- int width = fContext.getFontMetrics().getAverageCharWidth();
- fContext.setFont(toRestore);
- return width;
- }
- return 0;
- }
-
- /**
- * Disposes all created resources.
- */
- public void dispose() {
- if (fTempFont != null) {
- fTempFont.dispose();
- }
- fTempFont = null;
- if (fContext != null) {
- fContext.dispose();
- }
- fContext = null;
- }
-
- @Override
- public float getZoom() {
- if (fView != null) {
- return fView.getZoomValue();
- }
- return 1;
- }
-
- @Override
- public int getLineDotStyle() {
- return SWT.LINE_DOT;
- }
-
- @Override
- public int getLineDashStyle() {
- return SWT.LINE_DASH;
- }
-
- @Override
- public int getLineSolidStyle() {
- return SWT.LINE_SOLID;
- }
-
- @Override
- public IColor createColor(int r, int g, int b) {
- return new ColorImpl(Display.getDefault(), r, g, b);
- }
-
- @Override
- public void setDrawTextWithFocusStyle(boolean focus) {
- fDrawWithFocus = focus;
- }
-
- /**
- * Returns the screen bounds.
- *
- * @return the screen bounds.
- */
- protected static int getVscreenBounds() {
- return fVisibleScreenBounds;
- }
-
- /**
- * Sets the visible screen bounds.
- *
- * @param vBounds the screen bounds.
- */
- protected static void setVscreenBounds(int vBounds) {
- fVisibleScreenBounds = vBounds;
- }
-
- /**
- * Returns the graphical context.
- *
- * @return the graphical context
- * @since 2.0
- */
- protected GC getGc() {
- return fContext;
- }
-
- /**
- * Returns the SD widget.
- *
- * @return the SD widget
- * @since 2.0
- */
- protected SDWidget getSDWidget() {
- return fView;
- }
-
- /**
- * Returns the gradient color.
- *
- * @return the gradient color
- * @since 2.0
- */
- protected IColor setGradientColor() {
- return fGradientColor;
- }
-
- // ------------------------------------------------------------------------
- // Helper methods
- // ------------------------------------------------------------------------
-
- /**
- * Validates the polygon height
- *
- * @param localPoint array of points
- * @return height
- */
- private int validatePolygonHeight(int[] localPoint) {
- int i = 1;
- int max = 0;
- int min = Integer.MAX_VALUE;
- while (i < localPoint.length) {
- max = Math.abs(localPoint[i]) > Math.abs(max) ? localPoint[i] : max;
- min = Math.abs(localPoint[i]) < Math.abs(min) ? localPoint[i] : min;
- i+=2;
- }
- int height = max - min;
- if (min < -fVisibleScreenBounds) {
- height = height + min + fVisibleScreenBounds;
- min = -fVisibleScreenBounds;
- }
- if ((height < -fVisibleScreenBounds) && (min + height < -fVisibleScreenBounds)) {
- height = -fVisibleScreenBounds;
- } else if (height + min > fView.getVisibleHeight() + fVisibleScreenBounds) {
- height = fView.getVisibleHeight() + fVisibleScreenBounds - min;
- }
- return height;
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/SDView.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/SDView.java
deleted file mode 100644
index 09cb7b346e..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/SDView.java
+++ /dev/null
@@ -1,1236 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2005, 2014 IBM Corporation, 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:
- * IBM - Initial API and implementation
- * Bernd Hufmann - Updated for TMF
- **********************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.views.uml2sd;
-
-import java.util.Iterator;
-
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.action.ActionContributionItem;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.action.IContributionItem;
-import org.eclipse.jface.action.IMenuListener;
-import org.eclipse.jface.action.IMenuManager;
-import org.eclipse.jface.action.IToolBarManager;
-import org.eclipse.jface.action.MenuManager;
-import org.eclipse.jface.action.Separator;
-import org.eclipse.jface.commands.ActionHandler;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.ISelectionProvider;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.linuxtools.internal.tmf.ui.Activator;
-import org.eclipse.linuxtools.internal.tmf.ui.ITmfImageConstants;
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.core.BaseMessage;
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.core.Frame;
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.core.GraphNode;
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.core.SyncMessage;
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.core.SyncMessageReturn;
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.handlers.ConfigureMinMax;
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.handlers.FirstPage;
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.handlers.KeyBindingsManager;
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.handlers.LastPage;
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.handlers.MoveToMessage;
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.handlers.NextPage;
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.handlers.OpenSDFiltersDialog;
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.handlers.OpenSDFindDialog;
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.handlers.OpenSDPagesDialog;
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.handlers.PrevPage;
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.handlers.Print;
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.handlers.ShowNodeEnd;
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.handlers.ShowNodeStart;
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.handlers.Zoom;
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.handlers.Zoom.ZoomType;
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.handlers.provider.IExtendedFilterProvider;
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.handlers.provider.IExtendedFindProvider;
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.handlers.provider.ISDAdvancedPagingProvider;
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.handlers.provider.ISDCollapseProvider;
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.handlers.provider.ISDExtendedActionBarProvider;
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.handlers.provider.ISDFilterProvider;
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.handlers.provider.ISDFindProvider;
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.handlers.provider.ISDGraphNodeSupporter;
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.handlers.provider.ISDPagingProvider;
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.handlers.provider.ISDPropertiesProvider;
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.load.IUml2SDLoader;
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.load.LoadersManager;
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.util.Messages;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Cursor;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Menu;
-import org.eclipse.ui.IActionBars;
-import org.eclipse.ui.IPartListener;
-import org.eclipse.ui.IViewReference;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.actions.ActionFactory;
-import org.eclipse.ui.handlers.IHandlerActivation;
-import org.eclipse.ui.handlers.IHandlerService;
-import org.eclipse.ui.part.ViewPart;
-import org.eclipse.ui.views.properties.IPropertySheetPage;
-
-/**
- * <p>
- * This class is a generic sequence diagram view implementation.
- * </p>
-
- * @version 1.0
- * @author sveyrier
- */
-public class SDView extends ViewPart implements IPartListener {
-
- // ------------------------------------------------------------------------
- // Constants
- // ------------------------------------------------------------------------
- /**
- * Name of menu separator for view modes
- * @since 2.0
- */
- public static final String UML2SD_VIEW_MODES_SEPARATOR = "UML2SD_VIEW_MODES"; //$NON-NLS-1$
- /**
- * Name of menu separator for working set
- * @since 2.0
- */
- public static final String UML2SD_WORKING_SET_SEPARATOR = "UML2SD_WORKING_SET"; //$NON-NLS-1$
- /**
- * Name of menu separator for sorting
- * @since 2.0
- */
- public static final String UML2SD_SORTING_SEPARATOR = "UML2SD_SORTING"; //$NON-NLS-1$
- /**
- * Name of menu separator for filtering
- * @since 2.0
- */
- public static final String UML2SD_FILTERING_SEPARATOR = "UML2SD_FILTERING"; //$NON-NLS-1$
- /**
- * Name of menu separator for view layout
- * @since 2.0
- */
- public static final String UML2SD_VIEW_LAYOUT_SEPARATOR = "UML2SD_VIEW_LAYOUT"; //$NON-NLS-1$
- /**
- * Name of menu separator for link editor
- * @since 2.0
- */
- public static final String UML2SD_LINK_EDITOR_SEPARATOR = "UML2SD_LINK_EDITOR"; //$NON-NLS-1$
- /**
- * Name of menu separator for other commands
- * @since 2.0
- */
- public static final String UML2SD_OTHER_COMMANDS_SEPARATOR = "UML2SD_OTHER_COMMANDS"; //$NON-NLS-1$
- /**
- * Name of menu separator for other plug-in commands
- * @since 2.0
- */
- public static final String UML2SD_OTHER_PLUGINS_COMMANDS_SEPARATOR = "UML2SD_OTHER_PLUGINS_COMMANDS"; //$NON-NLS-1$
-
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
- /**
- * The sequence diagram widget.
- */
- private SDWidget fSdWidget = null;
- /**
- * The time compression bar.
- */
- private TimeCompressionBar fTimeCompressionBar = null;
- /**
- * The sequence diagram find provider implementation.
- */
- private ISDFindProvider fSdFindProvider = null;
- /**
- * The sequence diagram paging provider implementation.
- */
- private ISDPagingProvider fSdPagingProvider = null;
- /**
- * The sequence diagram filter provider implementation.
- */
- private ISDFilterProvider fSdFilterProvider = null;
- /**
- * The extended sequence diagram filter provider implementation.
- */
- private IExtendedFilterProvider fSdExFilterProvider = null;
- /**
- * The extended sequence diagram find provider implementation.
- */
- private IExtendedFindProvider fSdExFindProvider = null;
- /**
- * The extended sequence diagram action bar provider implementation.
- */
- private ISDExtendedActionBarProvider fSdExtendedActionBarProvider = null;
- /**
- * The sequence diagram property provider implementation.
- */
- private ISDPropertiesProvider fSdPropertiesProvider = null;
- /**
- * Button for executing the next page action.
- */
- private NextPage fNextPageButton = null;
- /**
- * Button for executing the previous page action.
- */
- private PrevPage fPrevPageButton = null;
- /**
- * Button for executing the first page page action.
- */
- private FirstPage fFirstPageButton = null;
- /**
- * Button for executing the last page action.
- */
- private LastPage fLastPageButton = null;
- /**
- * The menu manager reference.
- */
- private MenuManager fMenuMgr = null;
- /**
- * Flag to indicate whether view needs initialization or not.
- */
- private boolean fNeedInit = true;
- /**
- * WaitCursor is the cursor to be displayed when long tasks are running
- */
- private Cursor fWaitCursor;
-
- private Zoom fResetZoomAction;
- private Zoom fNoZoomAction;
- private Zoom fZoomInAction;
- private Zoom fZoomOutAction;
- private ActionHandler fPrintActionHandler;
- /**
- * Keeping this allows to deactivate the action when the view is
- * deactivated.
- */
- private IHandlerActivation fPrintHandlerActivation;
-
- // ------------------------------------------------------------------------
- // Methods
- // ------------------------------------------------------------------------
-
- @Override
- public void createPartControl(Composite c) {
- Composite parent = new Composite(c, SWT.NONE);
- GridLayout parentLayout = new GridLayout();
- parentLayout.numColumns = 2;
- parentLayout.marginWidth = 0;
- parentLayout.marginHeight = 0;
- parent.setLayout(parentLayout);
-
- GridData timeLayoutdata = new GridData(GridData.GRAB_VERTICAL | GridData.VERTICAL_ALIGN_FILL);
- timeLayoutdata.widthHint = 10;
- GridData seqDiagLayoutData = new GridData(GridData.HORIZONTAL_ALIGN_FILL | GridData.GRAB_HORIZONTAL | GridData.GRAB_VERTICAL | GridData.VERTICAL_ALIGN_FILL);
- fTimeCompressionBar = new TimeCompressionBar(parent, SWT.NONE);
- fTimeCompressionBar.setLayoutData(timeLayoutdata);
- fSdWidget = new SDWidget(parent, SWT.NONE);
- fSdWidget.setLayoutData(seqDiagLayoutData);
- fSdWidget.setSite(this);
- fSdWidget.setTimeBar(fTimeCompressionBar);
-
- // Add this view to the key bindings manager
- KeyBindingsManager.getInstance().add(this.getSite().getId());
-
- createCoolbarContent();
-
- hookContextMenu();
-
- fTimeCompressionBar.setVisible(false);
- parent.layout(true);
-
- fPrintActionHandler = new ActionHandler(new Print(this));
- getSite().getPage().addPartListener(this);
-
- fNeedInit = restoreLoader();
- }
-
- /**
- * Load a blank page that is supposed to explain that a kind of interaction must be chosen.
- */
- protected void loadBlank() {
- IUml2SDLoader loader = new BlankUml2SdLoader();
- loader.setViewer(this);
- setContentDescription(loader.getTitleString());
- }
-
- @Override
- public void setFocus() {
- if (fSdWidget != null) {
- // update actions for key bindings
- KeyBindingsManager.getInstance().setSdView(this);
- fSdWidget.setFocus();
- }
- if (isViewReady() && fNeedInit) {
- fNeedInit = restoreLoader();
- }
- }
-
- @Override
- public void dispose() {
- KeyBindingsManager.getInstance().remove(this.getSite().getId());
- disposeZoomActions();
- fPrintActionHandler.dispose();
- super.dispose();
- }
-
- private void disposeZoomActions() {
- if (fResetZoomAction != null) {
- fResetZoomAction.dispose();
- }
- if (fNoZoomAction != null) {
- fNoZoomAction.dispose();
- }
- if (fZoomInAction != null) {
- fZoomInAction.dispose();
- }
- if (fZoomOutAction != null) {
- fZoomOutAction.dispose();
- }
- }
-
- /**
- * Returns the SD widget.
- *
- * @return The SD widget.
- */
- public SDWidget getSDWidget() {
- return fSdWidget;
- }
-
- /**
- * Set the find provider for the opened sequence diagram viewer<br>
- * If the provider is not set, the find menu item will not be available in the viewer<br>
- * A find provider is called back when the user perform a find action<br>
- * The find provider is responsible to move the sequence diagram to the GraphNode which match the
- * find criteria as well as to highlight the GraphNode
- *
- * @param provider the search provider
- */
- public void setSDFindProvider(ISDFindProvider provider) {
- fSdFindProvider = provider;
- fSdExFindProvider = null;
- createCoolbarContent();
- if (provider != null) {
- KeyBindingsManager.getInstance().setFindEnabled(true);
- }
- else {
- KeyBindingsManager.getInstance().setFindEnabled(false);
- }
- }
-
- /**
- * Set the find provider for the opened sequence diagram viewer<br>
- * If the provider is not set, the find menu item will not be available in
- * the viewer<br>
- * A find provider is called back when the user perform a find action<br>
- * If the extended find provider is set, it replaces the regular find
- * provider (sdFindProvider).<br>
- *
- * @param provider
- * The provider to set
- */
- public void setExtendedFindProvider(IExtendedFindProvider provider) {
- fSdExFindProvider = provider;
- fSdFindProvider = null;
- createCoolbarContent();
- if (provider != null) {
- KeyBindingsManager.getInstance().setFindEnabled(true);
- }
- else {
- KeyBindingsManager.getInstance().setFindEnabled(false);
- }
- }
-
- /**
- * Returns the extended find provider
- *
- * @return extended find provider.
- */
- public IExtendedFindProvider getExtendedFindProvider() {
- return fSdExFindProvider;
- }
-
- /**
- * Resets all providers.
- */
- public void resetProviders() {
- KeyBindingsManager.getInstance().setFindEnabled(false);
- fSdFindProvider = null;
- fSdExFindProvider = null;
- fSdFilterProvider = null;
- fSdExFilterProvider = null;
- fSdPagingProvider = null;
- fSdExtendedActionBarProvider = null;
- fSdPropertiesProvider = null;
- if ((fSdWidget != null) && (!fSdWidget.isDisposed())) {
- fSdWidget.setCollapseProvider(null);
- }
- }
-
- /**
- * Set the filter provider for the opened sequence diagram viewer<br>
- * If the provider is not set, the filter menu item will not be available in the viewer<br>
- * A filter provider is called back when the user perform a filter action<br>
- *
- * @param provider the filter provider
- */
- public void setSDFilterProvider(ISDFilterProvider provider) {
- fSdFilterProvider = provider;
- // Both systems can be used now, commenting out next statement
- createCoolbarContent();
- }
-
- /**
- * Sets the extended filter provider for the opened sequence diagram viewer.
- *
- * @param provider
- * The provider to set
- */
- public void setExtendedFilterProvider(IExtendedFilterProvider provider) {
- fSdExFilterProvider = provider;
- // Both systems can be used now, commenting out next statement
- createCoolbarContent();
- }
-
- /**
- * Returns the extended find provider.
- *
- * @return The extended find provider.
- */
- public IExtendedFilterProvider getExtendedFilterProvider() {
- return fSdExFilterProvider;
- }
-
- /**
- * Register the given provider to support Drag and Drop collapsing. This provider is
- * responsible of updating the Frame.
- *
- * @param provider - the provider to register
- */
- public void setCollapsingProvider(ISDCollapseProvider provider) {
- if ((fSdWidget != null) && (!fSdWidget.isDisposed())) {
- fSdWidget.setCollapseProvider(provider);
- }
- }
-
- /**
- * Set the page provider for the opened sequence diagram viewer<br>
- * If the sequence diagram provided (see setFrame) need to be split in many parts, a paging provider must be
- * provided in order to handle page change requested by the user<br>
- * Set a page provider will create the next and previous page buttons in the viewer coolBar
- *
- * @param provider the paging provider
- */
- public void setSDPagingProvider(ISDPagingProvider provider) {
- fSdPagingProvider = provider;
- createCoolbarContent();
- }
-
- /**
- * Returns the current page provider for the view
- *
- * @return the paging provider
- */
- public ISDPagingProvider getSDPagingProvider() {
- return fSdPagingProvider;
- }
-
- /**
- * Returns the current find provider for the view
- *
- * @return the find provider
- */
- public ISDFindProvider getSDFindProvider() {
- return fSdFindProvider;
- }
-
- /**
- * Returns the current filter provider for the view
- *
- * @return the filter provider
- */
- public ISDFilterProvider getSDFilterProvider() {
- return fSdFilterProvider;
- }
-
- /**
- * Set the extended action bar provider for the opened sequence diagram viewer<br>
- * This allow to add programmatically actions in the coolbar and/or in the drop-down menu
- *
- * @param provider the search provider
- */
- public void setSDExtendedActionBarProvider(ISDExtendedActionBarProvider provider) {
- fSdExtendedActionBarProvider = provider;
- createCoolbarContent();
- }
-
- /**
- * Returns the current extended action bar provider for the view
- *
- * @return the extended action bar provider
- */
- public ISDExtendedActionBarProvider getSDExtendedActionBarProvider() {
- return fSdExtendedActionBarProvider;
- }
-
- /**
- * Set the properties view provider for the opened sequence diagram viewer
- *
- * @param provider the properties provider
- */
- public void setSDPropertiesProvider(ISDPropertiesProvider provider) {
- fSdPropertiesProvider = provider;
- }
-
- /**
- * Returns the current extended action bar provider for the view.
- *
- * @return the extended action bar provider
- */
- public ISDPropertiesProvider getSDPropertiesProvider() {
- return fSdPropertiesProvider;
- }
-
- /**
- * Sets the sdWidget.
- *
- * @param sdWidget
- * A sdWidget to set
- * @since 2.0
- */
- protected void setSDWidget(SDWidget sdWidget) {
- fSdWidget = sdWidget;
- }
-
- /**
- * Sets the time compression bar.
- *
- * @param timeCompressionbar
- * A sdWidget to set
- * @since 2.0
- */
- protected void setTimeBar(TimeCompressionBar timeCompressionbar) {
- fTimeCompressionBar = timeCompressionbar;
- }
-
- /**
- * Sets the initialization flag.
- *
- * @param needInit
- * flag value to set
- * @since 2.0
- */
- protected void setNeedInit(boolean needInit) {
- fNeedInit = needInit;
- }
-
- /**
- * Creates the basic sequence diagram menu
- */
- protected void hookContextMenu() {
- fMenuMgr = new MenuManager("#PopupMenu"); //$NON-NLS-1$
- fMenuMgr.setRemoveAllWhenShown(true);
- fMenuMgr.addMenuListener(new IMenuListener() {
- @Override
- public void menuAboutToShow(IMenuManager manager) {
- fillContextMenu(manager);
- }
- });
- Menu menu = fMenuMgr.createContextMenu(fSdWidget.getViewControl());
- fSdWidget.getViewControl().setMenu(menu);
- getSite().registerContextMenu(fMenuMgr, fSdWidget.getSelectionProvider());
- }
-
- /**
- * Returns the context menu manager
- *
- * @return the menu manager
- */
- public MenuManager getMenuManager() {
- return fMenuMgr;
- }
-
- /**
- * Fills the basic sequence diagram menu and define the dynamic menu item insertion point
- *
- * @param manager the menu manager
- */
- protected void fillContextMenu(IMenuManager manager) {
- manager.add(new Separator("Additions")); //$NON-NLS-1$
- if (getSDWidget() != null && getSDWidget().getCurrentGraphNode() != null) {
- ISelectionProvider selProvider = fSdWidget.getSelectionProvider();
- ISelection sel = selProvider.getSelection();
- int nbMessage = 0;
- Iterator<?> it = ((StructuredSelection) sel).iterator();
- while (it.hasNext()) {
- Object node = it.next();
- if (node instanceof BaseMessage) {
- nbMessage++;
- }
- }
- if (nbMessage != 1) {
- return;
- }
- GraphNode node = getSDWidget().getCurrentGraphNode();
- if ((node instanceof SyncMessageReturn) && (((SyncMessageReturn) node).getMessage() != null)) {
- Action goToMessage = new MoveToMessage(this);
- goToMessage.setText(Messages.SequenceDiagram_GoToMessage);
- manager.add(goToMessage);
- }
- if ((node instanceof SyncMessage) && (((SyncMessage) node).getMessageReturn() != null)) {
- Action goToMessage = new MoveToMessage(this);
- goToMessage.setText(Messages.SequenceDiagram_GoToMessageReturn);
- manager.add(goToMessage);
- }
- }
- manager.add(new Separator("MultiSelectAdditions")); //$NON-NLS-1$
- }
-
- /**
- * Enables/Disables an action with given name.
- *
- * @param actionName The action name
- * @param state true or false
- */
- public void setEnableAction(String actionName, boolean state) {
- IActionBars bar = getViewSite().getActionBars();
- if (bar != null) {
- IContributionItem item = bar.getMenuManager().find(actionName);
- if ((item != null) && (item instanceof ActionContributionItem)) {
- IAction action = ((ActionContributionItem) item).getAction();
- if (action != null) {
- action.setEnabled(state);
- }
- item.setVisible(state);
- bar.updateActionBars();
- }
- }
- }
-
- /**
- * Creates the coolBar icon depending on the actions supported by the Sequence Diagram provider<br>
- * - Navigation buttons are displayed if ISDPovider.HasPaging return true<br>
- * - Navigation buttons are enabled depending on the value return by ISDPovider.HasNext and HasPrev<br>
- *
- * @see ISDGraphNodeSupporter Action support definition
- * @see SDView#setSDFilterProvider(ISDFilterProvider)
- * @see SDView#setSDFindProvider(ISDFindProvider)
- * @see SDView#setSDPagingProvider(ISDPagingProvider)
- */
- protected void createCoolbarContent() {
- IActionBars bar = getViewSite().getActionBars();
-
- bar.getMenuManager().removeAll();
- bar.getToolBarManager().removeAll();
- disposeZoomActions();
-
- createMenuGroup();
-
- fResetZoomAction = new Zoom(this, ZoomType.ZOOM_RESET);
- bar.getMenuManager().appendToGroup(UML2SD_OTHER_COMMANDS_SEPARATOR, fResetZoomAction);
- bar.getToolBarManager().appendToGroup(UML2SD_OTHER_COMMANDS_SEPARATOR, fResetZoomAction);
-
- fNoZoomAction = new Zoom(this, ZoomType.ZOOM_NONE);
- fNoZoomAction.setChecked(true);
- bar.getMenuManager().appendToGroup(UML2SD_OTHER_COMMANDS_SEPARATOR, fNoZoomAction);
- bar.getToolBarManager().appendToGroup(UML2SD_OTHER_COMMANDS_SEPARATOR, fNoZoomAction);
-
- fZoomInAction = new Zoom(this, ZoomType.ZOOM_IN);
- bar.getMenuManager().appendToGroup(UML2SD_OTHER_COMMANDS_SEPARATOR, fZoomInAction);
- bar.getToolBarManager().appendToGroup(UML2SD_OTHER_COMMANDS_SEPARATOR, fZoomInAction);
-
- fZoomOutAction = new Zoom(this, ZoomType.ZOOM_OUT);
- bar.getMenuManager().appendToGroup(UML2SD_OTHER_COMMANDS_SEPARATOR, fZoomOutAction);
- bar.getToolBarManager().appendToGroup(UML2SD_OTHER_COMMANDS_SEPARATOR, fZoomOutAction);
-
- MenuManager navigation = new MenuManager(Messages.SequenceDiagram_Navigation);
-
- ShowNodeStart showNodeStart = new ShowNodeStart(this);
- showNodeStart.setText(Messages.SequenceDiagram_ShowNodeStart);
-
- showNodeStart.setId("org.eclipse.linuxtools.tmf.ui.views.uml2sd.handlers.ShowNodeStart");//$NON-NLS-1$
- showNodeStart.setActionDefinitionId("org.eclipse.linuxtools.tmf.ui.views.uml2sd.handlers.ShowNodeStart");//$NON-NLS-1$
- navigation.add(showNodeStart);
-
- ShowNodeEnd showNodeEnd = new ShowNodeEnd(this);
- showNodeEnd.setText(Messages.SequenceDiagram_ShowNodeEnd);
-
- showNodeEnd.setId("org.eclipse.linuxtools.tmf.ui.views.uml2sd.handlers.ShowNodeEnd");//$NON-NLS-1$
- showNodeEnd.setActionDefinitionId("org.eclipse.linuxtools.tmf.ui.views.uml2sd.handlers.ShowNodeEnd");//$NON-NLS-1$
- navigation.add(showNodeEnd);
-
- bar.getMenuManager().appendToGroup(UML2SD_OTHER_COMMANDS_SEPARATOR, navigation);
-
- ConfigureMinMax minMax = new ConfigureMinMax(this);
- minMax.setText(Messages.SequenceDiagram_ConfigureMinMax);
- minMax.setId("org.eclipse.linuxtools.tmf.ui.views.uml2sd.handlers.ConfigureMinMax");//$NON-NLS-1$
- bar.getMenuManager().appendToGroup(UML2SD_OTHER_COMMANDS_SEPARATOR, minMax);
-
- if ((fSdWidget.getFrame() != null) && (fSdWidget.getFrame().hasTimeInfo())) {
- minMax.setEnabled(true);
- } else {
- minMax.setEnabled(false);
- }
-
- // Do we need to display a paging item
- if (fSdPagingProvider != null) {
- fNextPageButton = new NextPage(this);
- bar.getToolBarManager().appendToGroup(UML2SD_OTHER_COMMANDS_SEPARATOR, fNextPageButton);
- fNextPageButton.setEnabled(fSdPagingProvider.hasNextPage());
- bar.getMenuManager().appendToGroup(UML2SD_OTHER_COMMANDS_SEPARATOR, fNextPageButton);
-
- fPrevPageButton = new PrevPage(this);
- bar.getToolBarManager().appendToGroup(UML2SD_OTHER_COMMANDS_SEPARATOR, fPrevPageButton);
- fPrevPageButton.setEnabled(fSdPagingProvider.hasPrevPage());
- bar.getMenuManager().appendToGroup(UML2SD_OTHER_COMMANDS_SEPARATOR, fPrevPageButton);
-
- fFirstPageButton = new FirstPage(this);
- bar.getToolBarManager().appendToGroup(UML2SD_OTHER_COMMANDS_SEPARATOR, fFirstPageButton);
- fFirstPageButton.setEnabled(fSdPagingProvider.hasPrevPage());
- bar.getMenuManager().appendToGroup(UML2SD_OTHER_COMMANDS_SEPARATOR, fFirstPageButton);
-
- fLastPageButton = new LastPage(this);
- bar.getToolBarManager().appendToGroup(UML2SD_OTHER_COMMANDS_SEPARATOR, fLastPageButton);
- fLastPageButton.setEnabled(fSdPagingProvider.hasNextPage());
- bar.getMenuManager().appendToGroup(UML2SD_OTHER_COMMANDS_SEPARATOR, fLastPageButton);
- }
-
- if (fSdExFilterProvider != null) {
- Action action = fSdExFilterProvider.getFilterAction();
- if (action != null) {
- if (action.getId() == null)
- {
- action.setId("org.eclipse.linuxtools.tmf.ui.views.uml2sd.handlers.extendedFilter"); //$NON-NLS-1$
- }
- if (action.getImageDescriptor() == null) {
- action.setImageDescriptor(Activator.getDefault().getImageDescripterFromPath(ITmfImageConstants.IMG_UI_FILTERS));
- }
- if (action.getText() == null || action.getText().length() == 0) {
- action.setText(Messages.SequenceDiagram_EditFilters);
- }
- bar.getMenuManager().prependToGroup(UML2SD_FILTERING_SEPARATOR, action);
- bar.getToolBarManager().prependToGroup(UML2SD_FILTERING_SEPARATOR, action);
- }
- }
- // Both systems can be used now: commenting out else keyword
- if (fSdFilterProvider != null) {
- bar.getMenuManager().appendToGroup(UML2SD_FILTERING_SEPARATOR, new OpenSDFiltersDialog(this, fSdFilterProvider));
- }
- if (fSdPagingProvider instanceof ISDAdvancedPagingProvider) {
- IContributionItem sdPaging = bar.getMenuManager().find(OpenSDPagesDialog.ID);
- if (sdPaging != null) {
- bar.getMenuManager().remove(sdPaging);
- sdPaging = null;
- }
- bar.getMenuManager().appendToGroup(UML2SD_OTHER_COMMANDS_SEPARATOR, new OpenSDPagesDialog(this, (ISDAdvancedPagingProvider) fSdPagingProvider));
- updatePagesMenuItem(bar);
- }
-
- if (fSdExFindProvider != null) {
- Action action = fSdExFindProvider.getFindAction();
- if (action != null) {
- if (action.getId() == null) {
- action.setId("org.eclipse.linuxtools.tmf.ui.views.uml2sd.handlers.extendedFind"); //$NON-NLS-1$
- }
- if (action.getImageDescriptor() == null) {
- action.setImageDescriptor(Activator.getDefault().getImageDescripterFromPath(ITmfImageConstants.IMG_UI_SEARCH_SEQ));
- }
- if (action.getText() == null) {
- action.setText(Messages.SequenceDiagram_Find + "..."); //$NON-NLS-1$
- }
- bar.getMenuManager().appendToGroup(UML2SD_OTHER_COMMANDS_SEPARATOR, action);
- bar.getToolBarManager().appendToGroup(UML2SD_OTHER_COMMANDS_SEPARATOR, action);
- }
- } else if (fSdFindProvider != null) {
- bar.getMenuManager().appendToGroup(UML2SD_OTHER_COMMANDS_SEPARATOR, new OpenSDFindDialog(this));
- bar.getToolBarManager().appendToGroup(UML2SD_OTHER_COMMANDS_SEPARATOR, new OpenSDFindDialog(this));
- }
-
- if (fSdExtendedActionBarProvider != null) {
- fSdExtendedActionBarProvider.supplementCoolbarContent(bar);
- }
-
- bar.updateActionBars();
- }
-
- /**
- * Updates the view coolbar buttons state according to the value return by: -
- * ISDExtendedActionBarProvider.hasNextPage()<br>
- * - ISDExtendedActionBarProvider.hasPrevPage()<br>
- *
- */
- public void updateCoolBar() {
- if (fSdPagingProvider != null) {
- IActionBars bar = getViewSite().getActionBars();
- if (bar == null) {
- return;
- }
- IToolBarManager barManager = bar.getToolBarManager();
- if (barManager == null) {
- return;
- }
- IContributionItem nextPage = barManager.find(NextPage.ID);
- if (nextPage instanceof ActionContributionItem) {
- IAction nextPageAction = ((ActionContributionItem) nextPage).getAction();
- if (nextPageAction instanceof NextPage) {
- ((NextPage) nextPageAction).setEnabled(fSdPagingProvider.hasNextPage());
- }
- }
-
- IContributionItem prevPage = barManager.find(PrevPage.ID);
- if (prevPage instanceof ActionContributionItem) {
- IAction prevPageAction = ((ActionContributionItem) prevPage).getAction();
- if (prevPageAction instanceof PrevPage) {
- ((PrevPage) prevPageAction).setEnabled(fSdPagingProvider.hasPrevPage());
- }
- }
-
- IContributionItem firstPage = barManager.find(FirstPage.ID);
- if (firstPage instanceof ActionContributionItem) {
- IAction firstPageAction = ((ActionContributionItem) firstPage).getAction();
- if (firstPageAction instanceof FirstPage) {
- ((FirstPage) firstPageAction).setEnabled(fSdPagingProvider.hasPrevPage());
- }
- }
-
- IContributionItem lastPage = barManager.find(LastPage.ID);
- if (lastPage instanceof ActionContributionItem) {
- IAction lastPageAction = ((ActionContributionItem) lastPage).getAction();
- if (lastPageAction instanceof LastPage) {
- ((LastPage) lastPageAction).setEnabled(fSdPagingProvider.hasNextPage());
- }
- }
-
- updatePagesMenuItem(bar);
- }
- }
-
- /**
- * Enables or disables the Pages... menu item, depending on the number of pages
- *
- * @param bar the bar containing the action
- */
- protected void updatePagesMenuItem(IActionBars bar) {
- if (fSdPagingProvider instanceof ISDAdvancedPagingProvider) {
- IMenuManager menuManager = bar.getMenuManager();
- ActionContributionItem contributionItem = (ActionContributionItem) menuManager.find(OpenSDPagesDialog.ID);
- IAction openSDPagesDialog = null;
- if (contributionItem != null) {
- openSDPagesDialog = contributionItem.getAction();
- }
-
- if (openSDPagesDialog instanceof OpenSDPagesDialog) {
- openSDPagesDialog.setEnabled(((ISDAdvancedPagingProvider) fSdPagingProvider).pagesCount() > 1);
- }
- }
- }
-
- /**
- * The frame to render (the sequence diagram)
- *
- * @param frame the frame to display
- */
- public void setFrame(Frame frame) {
- setFrame(frame, true);
- }
-
- /**
- * The frame to render (the sequence diagram)
- *
- * @param frame the frame to display
- * @param resetPosition boolean Flag whether to reset the position or not.
- */
- protected void setFrame(Frame frame, boolean resetPosition) {
- if (getSDWidget() == null) {
- return;
- }
-
- if (frame == null) {
- loadBlank();
- return;
- }
-
- IUml2SDLoader loader = LoadersManager.getInstance().getCurrentLoader(getViewSite().getId(), this);
- if (loader == null) {
- return;
- }
-
- if (loader.getTitleString() != null) {
- setContentDescription(loader.getTitleString());
- }
-
- getSDWidget().setFrame(frame, resetPosition);
-
- if (fTimeCompressionBar != null) {
- fTimeCompressionBar.setFrame(frame);
- }
- updateCoolBar();
- if (fTimeCompressionBar != null) {
- if (!frame.hasTimeInfo()) {
- Composite parent = fTimeCompressionBar.getParent();
- fTimeCompressionBar.setVisible(false);
- parent.layout(true);
- } else {
- Composite parent = fTimeCompressionBar.getParent();
- fTimeCompressionBar.setVisible(true);
- parent.layout(true);
- }
- }
- IContributionItem shortKeysMenu = getViewSite().getActionBars().getMenuManager().find("org.eclipse.linuxtools.tmf.ui.views.uml2sd.handlers");//$NON-NLS-1$
- MenuManager shortKeys = (MenuManager) shortKeysMenu;
- if (shortKeys != null) {
- IContributionItem[] items = shortKeys.getItems();
- for (int i = 0; i < items.length; i++) {
- if (items[i] instanceof ActionContributionItem) {
- IAction action = ((ActionContributionItem) items[i]).getAction();
- if (action != null) {
- action.setEnabled(true);
- }
- }
- }
- }
- createCoolbarContent();
- }
-
- /**
- * Activate or deactivate the short key command given in parameter (see plugin.xml)
- *
- * @param id the command id defined in the plugin.xml
- * @param value the state value
- */
- public void setEnableCommand(String id, boolean value) {
- IContributionItem shortKeysMenu = getViewSite().getActionBars().getMenuManager().find("org.eclipse.linuxtools.tmf.ui.views.uml2sd.handlers");//$NON-NLS-1$
- MenuManager shortKeys = (MenuManager) shortKeysMenu;
- if (shortKeys == null) {
- return;
- }
- IContributionItem item = shortKeys.find(id);
- if ((item != null) && (item instanceof ActionContributionItem)) {
- IAction action = ((ActionContributionItem) item).getAction();
- if (action != null) {
- action.setEnabled(value);
- }
- }
- }
-
- /**
- * Set the frame from an other thread than the one executing the main loop
- *
- * @param frame The frame to set (and display)
- */
- public void setFrameSync(final Frame frame) {
- if (getSDWidget() == null || getSDWidget().isDisposed()) {
- return;
- }
- getSDWidget().getDisplay().syncExec(new Runnable() {
- @Override
- public void run() {
- if (getSDWidget() == null || getSDWidget().isDisposed() ||
- ((fTimeCompressionBar != null) && fTimeCompressionBar.isDisposed())) {
- return;
- }
- setFrame(frame);
- }
- });
-
- }
-
- /**
- * Ensure an object is visible from an other thread than the one executing the main loop
- *
- * @param sm The node to make visible in view
- */
- public void ensureVisibleSync(final GraphNode sm) {
- getSDWidget().getDisplay().syncExec(new Runnable() {
- @Override
- public void run() {
- if (getSDWidget() == null || getSDWidget().isDisposed()) {
- return;
- }
- getSDWidget().ensureVisible(sm);
- }
- });
- }
-
- /**
- * Set the frame and ensure an object is visible from an other thread than the one executing the main loop
- *
- * @param sm The node to make visible in view
- * @param frame Frame The frame to set
- */
- public void setFrameAndEnsureVisibleSync(final Frame frame, final GraphNode sm) {
- if (getSDWidget() == null || getSDWidget().isDisposed()) {
- return;
- }
- getSDWidget().getDisplay().syncExec(new Runnable() {
- @Override
- public void run() {
- if (getSDWidget() == null || getSDWidget().isDisposed()) {
- return;
- }
- setFrameAndEnsureVisible(frame, sm);
- }
- });
- }
-
- /**
- * Set the frame and ensure an object is visible
- *
- * @param sm The node to make visible in view
- * @param frame Frame The frame to set
- */
- public void setFrameAndEnsureVisible(Frame frame, GraphNode sm) {
- getSDWidget().clearSelection();
- setFrame(frame, false);
- getSDWidget().ensureVisible(sm);
- }
-
- /**
- * Set the frame and ensure an object is visible from an other thread than the one executing the main loop
- *
- * @param frame The frame to set.
- * @param x The x coordinate to make visible.
- * @param y The y coordinate to make visible.
- */
- public void setFrameAndEnsureVisibleSync(final Frame frame, final int x, final int y) {
- if (getSDWidget() == null || getSDWidget().isDisposed()) {
- return;
- }
-
- getSDWidget().getDisplay().syncExec(new Runnable() {
- @Override
- public void run() {
- setFrameAndEnsureVisible(frame, x, y);
- }
- });
- }
-
- /**
- * Set the frame and ensure an object is visible
- *
- * @param frame The frame to set.
- * @param x The x coordinate to make visible.
- * @param y The y coordinate to make visible.
- */
- public void setFrameAndEnsureVisible(Frame frame, int x, int y) {
- getSDWidget().clearSelection();
- setFrame(frame, false);
- getSDWidget().ensureVisible(x, y);
- getSDWidget().redraw();
- }
-
- /**
- * Toggle between default and wait cursors from an other thread than the one executing the main loop
- *
- * @param wait <code>true</code> for wait cursor else <code>false</code> for default cursor.
- */
- public void toggleWaitCursorAsync(final boolean wait) {
- if (getSDWidget() == null || getSDWidget().isDisposed()) {
- return;
- }
-
- getSDWidget().getDisplay().asyncExec(new Runnable() {
- @Override
- public void run() {
- if (getSDWidget() == null || getSDWidget().isDisposed()) {
- return;
- }
- if (wait) {
- if (fWaitCursor != null && !fWaitCursor.isDisposed()) {
- fWaitCursor.dispose();
- }
- fWaitCursor = new Cursor(getSDWidget().getDisplay(), SWT.CURSOR_WAIT);
- getSDWidget().setCursor(fWaitCursor);
- getSDWidget().getDisplay().update();
- } else {
- if (fWaitCursor != null && !fWaitCursor.isDisposed()) {
- fWaitCursor.dispose();
- }
- fWaitCursor = null;
- getSDWidget().setCursor(null);
- getSDWidget().getDisplay().update();
- }
- }
- });
- }
-
- /**
- * Return the time compression bar widget
- *
- * @return the time compression bar
- */
- public TimeCompressionBar getTimeCompressionBar() {
- return fTimeCompressionBar;
- }
-
- /**
- * Returns the current Frame (the sequence diagram container)
- *
- * @return the current frame
- */
- public Frame getFrame() {
- if (getSDWidget() != null) {
- return getSDWidget().getFrame();
- }
- return null;
- }
-
- /**
- * Gets the initialization flag.
- * @return the value of the initialization flag.
- * @since 2.0
- */
- protected boolean isNeedInit() {
- return fNeedInit;
- }
-
- /**
- * Restores the loader for the view based on the view ID.
- *
- * @return boolean <code>true</code> if initialization is needed else <code>false</code>.
- */
- protected boolean restoreLoader() {
- String id = getViewSite().getId();
- if (id == null) {
- return true;
- }
- IUml2SDLoader loader = LoadersManager.getInstance().getCurrentLoader(id, this);
- if ((loader != null)) {
- loader.setViewer(this);
- return false;
- }
- loadBlank();
- return true;
- }
-
- /**
- * Checks if current view is ready to be used.
- *
- * @return boolean <code>true</code> if view is ready else <code>false</code>.
- */
- protected boolean isViewReady() {
- IWorkbenchPage page = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage();
- if (page == null) {
- return false;
- }
-
- IViewReference[] ref = page.getViewReferences();
- for (int i = 0; i < ref.length; i++) {
- if (ref[i].getView(false) == this) {
- return true;
- }
- }
- return false;
- }
-
- /**
- * Creates the menu group.
- */
- protected void createMenuGroup() {
- IActionBars bar = getViewSite().getActionBars();
- if (bar == null) {
- return;
- }
- bar.getToolBarManager().add(new Separator(UML2SD_VIEW_MODES_SEPARATOR));
- bar.getToolBarManager().add(new Separator(UML2SD_WORKING_SET_SEPARATOR));
- bar.getToolBarManager().add(new Separator(UML2SD_SORTING_SEPARATOR));
- bar.getToolBarManager().add(new Separator(UML2SD_FILTERING_SEPARATOR));
- bar.getToolBarManager().add(new Separator(UML2SD_VIEW_LAYOUT_SEPARATOR));
- bar.getToolBarManager().add(new Separator(UML2SD_LINK_EDITOR_SEPARATOR));
- bar.getToolBarManager().add(new Separator(UML2SD_OTHER_COMMANDS_SEPARATOR));
- bar.getToolBarManager().add(new Separator(UML2SD_OTHER_PLUGINS_COMMANDS_SEPARATOR));
- bar.getMenuManager().add(new Separator(UML2SD_VIEW_MODES_SEPARATOR));
- bar.getMenuManager().add(new Separator(UML2SD_WORKING_SET_SEPARATOR));
- bar.getMenuManager().add(new Separator(UML2SD_SORTING_SEPARATOR));
- bar.getMenuManager().add(new Separator(UML2SD_FILTERING_SEPARATOR));
- bar.getMenuManager().add(new Separator(UML2SD_VIEW_LAYOUT_SEPARATOR));
- bar.getMenuManager().add(new Separator(UML2SD_LINK_EDITOR_SEPARATOR));
- bar.getMenuManager().add(new Separator(UML2SD_OTHER_COMMANDS_SEPARATOR));
- bar.getMenuManager().add(new Separator(UML2SD_OTHER_PLUGINS_COMMANDS_SEPARATOR));
- }
-
- @Override
- public Object getAdapter(Class adapter) {
- Object obj = super.getAdapter(adapter);
- if (fSdPropertiesProvider != null && adapter.equals(IPropertySheetPage.class)) {
- return fSdPropertiesProvider.getPropertySheetEntry();
- }
-
- return obj;
- }
-
- /**
- * Loader for a blank sequence diagram.
- *
- * @version 1.0
- */
- public static class BlankUml2SdLoader implements IUml2SDLoader {
- @Override
- public void setViewer(SDView viewer) {
- // Nothing to do
- Frame f = new Frame();
- f.setName(""); //$NON-NLS-1$
- viewer.setFrame(f);
- }
-
- @Override
- public String getTitleString() {
- return ""; //$NON-NLS-1$
- }
-
- @Override
- public void dispose() {
- }
- }
-
- /**
- * @since 3.2
- */
- @Override
- public void partActivated(IWorkbenchPart part) {
- if (part == this) {
- final Object service = PlatformUI.getWorkbench().getService(IHandlerService.class);
- fPrintHandlerActivation = ((IHandlerService) service).activateHandler(ActionFactory.PRINT.getCommandId(), fPrintActionHandler);
- }
- }
-
- /**
- * @since 3.2
- */
- @Override
- public void partBroughtToTop(IWorkbenchPart part) {
- }
-
- /**
- * @since 3.2
- */
- @Override
- public void partClosed(IWorkbenchPart part) {
- }
-
- /**
- * @since 3.2
- */
- @Override
- public void partDeactivated(IWorkbenchPart part) {
- if (part == this && fPrintHandlerActivation != null) {
- final Object service = PlatformUI.getWorkbench().getService(IHandlerService.class);
- ((IHandlerService) service).deactivateHandler(fPrintHandlerActivation);
- }
- }
-
- /**
- * @since 3.2
- */
- @Override
- public void partOpened(IWorkbenchPart part) {
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/SDWidget.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/SDWidget.java
deleted file mode 100755
index c3309e93fc..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/SDWidget.java
+++ /dev/null
@@ -1,2067 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2005, 2013 IBM Corporation, 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:
- * IBM - Initial API and implementation
- * Bernd Hufmann - Updated for TMF
- **********************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.views.uml2sd;
-
-import java.text.MessageFormat;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Timer;
-import java.util.TimerTask;
-
-import org.eclipse.jface.contexts.IContextIds;
-import org.eclipse.jface.util.IPropertyChangeListener;
-import org.eclipse.jface.util.PropertyChangeEvent;
-import org.eclipse.jface.viewers.ISelectionProvider;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.linuxtools.internal.tmf.ui.Activator;
-import org.eclipse.linuxtools.internal.tmf.ui.ITmfImageConstants;
-import org.eclipse.linuxtools.tmf.core.timestamp.ITmfTimestamp;
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.core.BaseMessage;
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.core.BasicExecutionOccurrence;
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.core.Frame;
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.core.GraphNode;
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.core.ITimeRange;
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.core.Lifeline;
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.core.Metrics;
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.dialogs.SDPrintDialog;
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.dialogs.SDPrintDialogUI;
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.drawings.IColor;
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.handlers.provider.ISDCollapseProvider;
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.load.LoadersManager;
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.preferences.ISDPreferences;
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.preferences.SDViewPref;
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.util.Messages;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.accessibility.ACC;
-import org.eclipse.swt.accessibility.Accessible;
-import org.eclipse.swt.accessibility.AccessibleAdapter;
-import org.eclipse.swt.accessibility.AccessibleControlAdapter;
-import org.eclipse.swt.accessibility.AccessibleControlEvent;
-import org.eclipse.swt.accessibility.AccessibleEvent;
-import org.eclipse.swt.events.DisposeEvent;
-import org.eclipse.swt.events.DisposeListener;
-import org.eclipse.swt.events.FocusEvent;
-import org.eclipse.swt.events.FocusListener;
-import org.eclipse.swt.events.KeyEvent;
-import org.eclipse.swt.events.MouseEvent;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.events.SelectionListener;
-import org.eclipse.swt.events.TraverseEvent;
-import org.eclipse.swt.events.TraverseListener;
-import org.eclipse.swt.graphics.GC;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.graphics.ImageData;
-import org.eclipse.swt.graphics.Rectangle;
-import org.eclipse.swt.printing.Printer;
-import org.eclipse.swt.printing.PrinterData;
-import org.eclipse.swt.widgets.Canvas;
-import org.eclipse.swt.widgets.Caret;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.Listener;
-import org.eclipse.swt.widgets.MenuItem;
-import org.eclipse.ui.contexts.IContextService;
-import org.eclipse.ui.part.ViewPart;
-
-/**
- * <p>
- * This class implements sequence diagram widget used in the sequence diagram view.
- * </p>
- *
- * @version 1.0
- * @author sveyrier
- */
-public class SDWidget extends ScrollView implements SelectionListener,
- IPropertyChangeListener, DisposeListener, ITimeCompressionListener {
-
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
-
- /**
- * The frame to display in the sequence diagram widget.
- */
- private Frame fFrame;
- /**
- * The overview image to display.
- */
- private Image fOverView = null;
- /**
- * The zoom in menu item.
- */
- private MenuItem fZoomIn = null;
- /**
- * The zoom out menu item.
- */
- private MenuItem fZoomOut = null;
- /**
- * The sequence diagram selection provider.
- */
- private SDWidgetSelectionProvider fSelProvider = null;
- /**
- * The current zoom value.
- */
- private float fZoomValue = 1;
- /**
- * The current zoomInMode (true for zoom in).
- */
- private boolean fZoomInMode = false;
- /**
- * The current zoomOutMode (true for zoom out).
- */
- private boolean fZoomOutMode = false;
- /**
- * The current list of selected graph nodes.
- */
- private List<GraphNode> fSelectedNodeList = null;
- /**
- * Flag whether ctrl button is selected or not.
- */
- private boolean fCtrlSelection = false;
- /**
- * A reference to the view site.
- */
- private ViewPart fSite = null;
- /**
- * The current graph node (the last selected one).
- */
- private GraphNode fCurrentGraphNode = null;
- /**
- * The first graph node in list (multiple selection).
- */
- private GraphNode fListStart = null;
- /**
- * The previous graph node (multiple selection).
- */
- private List<GraphNode> fPrevList = null;
- /**
- * The time compression bar.
- */
- private TimeCompressionBar fTimeBar = null;
- /**
- * The current diagram tool tip.
- */
- private DiagramToolTip fToolTip = null;
- /**
- * The accessible object reference of view control.
- */
- private Accessible fAccessible = null;
- /**
- * The current node for the tooltip to display.
- */
- private GraphNode fToolTipNode;
- /**
- * The life line to drag and drop.
- */
- private Lifeline fDragAndDrop = null;
- /**
- * The number of focused widgets.
- */
- private int fFocusedWidget = -1;
- /**
- * The printer zoom.
- */
- private float fPrinterZoom = 0;
- /**
- * Y coordinate for printer.
- */
- private int fPrinterY = 0;
- /**
- * X coordinate for printer.
- */
- private int fPrinterX = 0;
- /**
- * Flag whether drag and drop is enabled or not.
- */
- private boolean fIsDragAndDrop = false;
- /**
- * The x coordinate for drag.
- */
- private int fDragX = 0;
- /**
- * The y coordinate for drag.
- */
- private int fDragY = 0;
- /**
- * The reorder mode.
- */
- private boolean fReorderMode = false;
- /**
- * The collapse caret image.
- */
- private Image fCollapaseCaretImg = null;
- /**
- * The arrow up caret image.
- */
- private Image fArrowUpCaretImg = null;
- /**
- * The current caret image.
- */
- private Image fCurrentCaretImage = null;
- /**
- * A sequence diagramm collapse provider (for collapsing graph nodes)
- */
- private ISDCollapseProvider fCollapseProvider = null;
- /**
- * The insertion caret.
- */
- private Caret fInsertionCartet = null;
- /**
- * The reorder list when in reorder mode.
- */
- private List<Lifeline[]> fReorderList = null;
- /**
- * Flag to specify whether in printing mode or not.
- */
- private boolean fIsPrinting = false;
- /**
- * A printer reference.
- */
- private Printer fPrinter = null;
- /**
- * Flag whether shift was selected or not.
- */
- private boolean fShiftSelection = false;
- /**
- * The scroll tooltip.
- */
- private DiagramToolTip fScrollToolTip = null;
- /**
- * Timer for auto_scroll feature
- */
- private AutoScroll fLocalAutoScroll = null;
- /**
- * TimerTask for auto_scroll feature !=null when auto scroll is running
- */
- private Timer fLocalAutoScrollTimer = null;
-
- // ------------------------------------------------------------------------
- // Constructor
- // ------------------------------------------------------------------------
- /**
- * Constructor for SDWidget.
- * @param c The parent composite
- * @param s The style
- */
- public SDWidget(Composite c, int s) {
- super(c, s | SWT.NO_BACKGROUND, true);
- setOverviewEnabled(true);
- fSelectedNodeList = new ArrayList<>();
- fSelProvider = new SDWidgetSelectionProvider();
- SDViewPref.getInstance().addPropertyChangeListener(this);
- fToolTip = new DiagramToolTip(getViewControl());
- super.addDisposeListener(this);
-
- fScrollToolTip = new DiagramToolTip(c);
- getVerticalBar().addListener(SWT.MouseUp, new Listener() {
-
- @Override
- public void handleEvent(Event event) {
- fScrollToolTip.hideToolTip();
- }
-
- });
- fAccessible = getViewControl().getAccessible();
-
- fAccessible.addAccessibleListener(new AccessibleAdapter() {
- @Override
- public void getName(AccessibleEvent e) {
- // Case toolTip
- if (e.childID == 0) {
- if (fToolTipNode != null) {
- if (fToolTipNode instanceof Lifeline) {
- Lifeline lifeline = (Lifeline) fToolTipNode;
- e.result = lifeline.getToolTipText();
- } else {
- e.result = fToolTipNode.getName() + getPostfixForTooltip(true);
- }
- }
- } else {
- if (getFocusNode() != null) {
- if (getFocusNode() instanceof Lifeline) {
- e.result = MessageFormat.format(Messages.SequenceDiagram_LifelineNode, new Object[] { String.valueOf(getFocusNode().getName()) });
- }
- if (getFocusNode() instanceof BaseMessage) {
- BaseMessage mes = (BaseMessage) getFocusNode();
- if ((mes.getStartLifeline() != null) && (mes.getEndLifeline() != null)) {
- e.result = MessageFormat.format(
- Messages.SequenceDiagram_MessageNode,
- new Object[] { String.valueOf(mes.getName()), String.valueOf(mes.getStartLifeline().getName()), Integer.valueOf(mes.getStartOccurrence()), String.valueOf(mes.getEndLifeline().getName()),
- Integer.valueOf(mes.getEndOccurrence()) });
- } else if ((mes.getStartLifeline() == null) && (mes.getEndLifeline() != null)) {
- e.result = MessageFormat.format(Messages.SequenceDiagram_FoundMessageNode, new Object[] { String.valueOf(mes.getName()), String.valueOf(mes.getEndLifeline().getName()), Integer.valueOf(mes.getEndOccurrence()) });
- } else if ((mes.getStartLifeline() != null) && (mes.getEndLifeline() == null)) {
- e.result = MessageFormat.format(Messages.SequenceDiagram_LostMessageNode, new Object[] { String.valueOf(mes.getName()), String.valueOf(mes.getStartLifeline().getName()), Integer.valueOf(mes.getStartOccurrence()) });
- }
- } else if (getFocusNode() instanceof BasicExecutionOccurrence) {
- BasicExecutionOccurrence exec = (BasicExecutionOccurrence) getFocusNode();
- e.result = MessageFormat.format(Messages.SequenceDiagram_ExecutionOccurrenceWithParams,
- new Object[] { String.valueOf(exec.getName()), String.valueOf(exec.getLifeline().getName()), Integer.valueOf(exec.getStartOccurrence()), Integer.valueOf(exec.getEndOccurrence()) });
- }
-
- }
- }
- }
- });
-
- fAccessible.addAccessibleControlListener(new AccessibleControlAdapter() {
- @Override
- public void getFocus(AccessibleControlEvent e) {
- if (fFocusedWidget == -1) {
- e.childID = ACC.CHILDID_SELF;
- } else {
- e.childID = fFocusedWidget;
- }
- }
-
- @Override
- public void getRole(AccessibleControlEvent e) {
- switch (e.childID) {
- case ACC.CHILDID_SELF:
- e.detail = ACC.ROLE_CLIENT_AREA;
- break;
- case 0:
- e.detail = ACC.ROLE_TOOLTIP;
- break;
- case 1:
- e.detail = ACC.ROLE_LABEL;
- break;
- default:
- break;
- }
- }
-
- @Override
- public void getState(AccessibleControlEvent e) {
- e.detail = ACC.STATE_FOCUSABLE;
- if (e.childID == ACC.CHILDID_SELF) {
- e.detail |= ACC.STATE_FOCUSED;
- } else {
- e.detail |= ACC.STATE_SELECTABLE;
- if (e.childID == fFocusedWidget) {
- e.detail |= ACC.STATE_FOCUSED | ACC.STATE_SELECTED | ACC.STATE_CHECKED;
- }
- }
- }
- });
-
- fInsertionCartet = new Caret((Canvas) getViewControl(), SWT.NONE);
- fInsertionCartet.setVisible(false);
-
- fCollapaseCaretImg = Activator.getDefault().getImageFromPath(ITmfImageConstants.IMG_UI_ARROW_COLLAPSE_OBJ);
- fArrowUpCaretImg = Activator.getDefault().getImageFromPath(ITmfImageConstants.IMG_UI_ARROW_UP_OBJ);
-
- fReorderList = new ArrayList<>();
- getViewControl().addTraverseListener(new LocalTraverseListener());
-
- addTraverseListener(new LocalTraverseListener());
-
- getViewControl().addFocusListener(new FocusListener() {
-
- @Override
- public void focusGained(FocusEvent e) {
- SDViewPref.getInstance().setNoFocusSelection(false);
- fCtrlSelection = false;
- fShiftSelection = false;
- redraw();
- }
-
- @Override
- public void focusLost(FocusEvent e) {
- SDViewPref.getInstance().setNoFocusSelection(true);
- redraw();
- }
- });
- }
-
- // ------------------------------------------------------------------------
- // Operations
- // ------------------------------------------------------------------------
-
- /**
- * Sets the time compression bar.
- *
- * @param bar The time compression bar to set
- */
- public void setTimeBar(TimeCompressionBar bar) {
- if (bar != null) {
- fTimeBar = bar;
- fTimeBar.addTimeCompressionListener(this);
- }
- }
-
- /**
- * Resize the contents to insure the frame fit into the view
- *
- * @param frame the frame which will be drawn in the view
- */
- public void resizeContents(Frame frame) {
- int width = Math.round((frame.getWidth() + 2 * Metrics.FRAME_H_MARGIN) * fZoomValue);
- int height = Math.round((frame.getHeight() + 2 * Metrics.FRAME_V_MARGIN) * fZoomValue);
- resizeContents(width, height);
- }
-
- /**
- * The frame to render (the sequence diagram)
- *
- * @param theFrame the frame to display
- * @param resetPosition boolean
- */
- public void setFrame(Frame theFrame, boolean resetPosition) {
- fReorderList.clear();
- fSelectedNodeList.clear();
- fSelProvider.setSelection(new StructuredSelection());
- fFrame = theFrame;
- if (resetPosition) {
- setContentsPos(0, 0);
- resizeContents(fFrame);
- redraw();
- }
- // prepare the old overview to be reused
- if (fOverView != null) {
- fOverView.dispose();
- }
- fOverView = null;
- resizeContents(fFrame);
- }
-
- /**
- * Returns the current Frame (the sequence diagram container)
- *
- * @return the frame
- */
- public Frame getFrame() {
- return fFrame;
- }
-
- /**
- * Returns the selection provider for the current sequence diagram
- *
- * @return the selection provider
- */
- public ISelectionProvider getSelectionProvider() {
- return fSelProvider;
- }
-
- /**
- * Returns a list of selected graph nodes.
- *
- * @return a list of selected graph nodes.
- */
- public List<GraphNode> getSelection() {
- return fSelectedNodeList;
- }
-
- /**
- * Adds a graph node to the selected nodes list.
- *
- * @param node A graph node
- */
- public void addSelection(GraphNode node) {
- if (node == null) {
- return;
- }
- fSelectedNodeList.add(node);
- node.setSelected(true);
- fCurrentGraphNode = node;
- StructuredSelection selection = new StructuredSelection(fSelectedNodeList);
- fSelProvider.setSelection(selection);
- }
-
- /**
- * Adds a list of node to the selected nodes list.
- *
- * @param list of graph nodes
- */
- public void addSelection(List<GraphNode> list) {
- for (int i = 0; i < list.size(); i++) {
- if (!fSelectedNodeList.contains(list.get(i))) {
- fSelectedNodeList.add(list.get(i));
- list.get(i).setSelected(true);
- }
- }
- StructuredSelection selection = new StructuredSelection(fSelectedNodeList);
- fSelProvider.setSelection(selection);
- }
-
- /**
- * Removes a node from the selected nodes list.
- *
- * @param node to remove
- */
- public void removeSelection(GraphNode node) {
- fSelectedNodeList.remove(node);
- node.setSelected(false);
- node.setFocused(false);
- StructuredSelection selection = new StructuredSelection(fSelectedNodeList);
- fSelProvider.setSelection(selection);
- }
-
- /**
- * Removes a list of graph nodes from the selected nodes list.
- *
- * @param list of nodes to remove.
- */
- public void removeSelection(List<GraphNode> list) {
- fSelectedNodeList.removeAll(list);
- for (int i = 0; i < list.size(); i++) {
- list.get(i).setSelected(false);
- list.get(i).setFocused(false);
- }
- StructuredSelection selection = new StructuredSelection(fSelectedNodeList);
- fSelProvider.setSelection(selection);
- }
-
- /**
- * Clear the list of GraphNodes which must be drawn selected.
- */
- public void clearSelection() {
- for (int i = 0; i < fSelectedNodeList.size(); i++) {
- fSelectedNodeList.get(i).setSelected(false);
- fSelectedNodeList.get(i).setFocused(false);
- }
- fCurrentGraphNode = null;
- fSelectedNodeList.clear();
- fSelProvider.setSelection(new StructuredSelection());
- }
-
- /**
- * Sets view part.
- *
- * @param viewSite The view part to set
- */
- public void setSite(ViewPart viewSite) {
- fSite = viewSite;
- fSite.getSite().setSelectionProvider(fSelProvider);
- Object serviceObject = fSite.getSite().getWorkbenchWindow().getService(IContextService.class);
- IContextService service = (IContextService) serviceObject;
- service.activateContext("org.eclipse.linuxtools.tmf.ui.view.uml2sd.context"); //$NON-NLS-1$
- service.activateContext(IContextIds.CONTEXT_ID_WINDOW);
- }
-
- /**
- * Returns the GraphNode overView the mouse if any
- *
- * @return the current graph node
- * */
- public GraphNode getMouseOverNode() {
- return fCurrentGraphNode;
- }
-
- /**
- * Sets the zoom in mode.
- *
- * @param value
- * The mode value to set.
- */
- public void setZoomInMode(boolean value) {
- if (value) {
- setZoomOutMode(false);
- }
- fZoomInMode = value;
- }
-
- /**
- * Sets the zoom out mode.
- *
- * @param value
- * The mode value to set.
- */
- public void setZoomOutMode(boolean value) {
- if (value) {
- setZoomInMode(false);
- }
- fZoomOutMode = value;
- }
-
- /**
- * Sets the current zoom value.
- *
- * @param zoomValue
- * The current zoom value
- * @since 2.0
- */
- public void setZoomValue(float zoomValue) {
- fZoomValue = zoomValue;
- }
-
- /**
- * Moves the Sequence diagram to ensure the given node is visible and draw it selected
- *
- * @param node the GraphNode to move to
- */
- public void moveTo(GraphNode node) {
- if (node == null) {
- return;
- }
- clearSelection();
- addSelection(node);
- ensureVisible(node);
- }
-
- /**
- * Moves the Sequence diagram to ensure the given node is visible
- *
- * @param node the GraphNode to move to
- */
- public void ensureVisible(GraphNode node) {
- if (node == null) {
- return;
- }
- int x = Math.round(node.getX() * fZoomValue);
- int y = Math.round(node.getY() * fZoomValue);
- int width = Math.round(node.getWidth() * fZoomValue);
- int height = Math.round(node.getHeight() * fZoomValue);
- if ((node instanceof BaseMessage) && (height == 0)) {
- int header = Metrics.LIFELINE_HEARDER_TEXT_V_MARGIN * 2 + Metrics.getLifelineHeaderFontHeigth();
- height = -Math.round((Metrics.getMessagesSpacing() + header) * fZoomValue);
- y = y + Math.round(Metrics.SYNC_INTERNAL_MESSAGE_HEIGHT * fZoomValue);
- }
- if (node instanceof BasicExecutionOccurrence) {
- width = 1;
- height = 1;
- }
- if (node instanceof Lifeline) {
- y = getContentsY();
- height = getVisibleHeight();
- }
- ensureVisible(x, y, width, height, SWT.CENTER, true);
- redraw();
- }
-
- /**
- * Returns the current zoom factor.
- * @return the current zoom factor.
- */
- public float getZoomFactor() {
- return fZoomValue;
- }
-
- /**
- * Returns teh printer reference.
- *
- * @return the printer reference
- */
- public Printer getPrinter() {
- return fPrinter;
- }
-
- /**
- * Returns whether the widget is used for printing or not.
- *
- * @return whether the widget is used for printing or not
- */
- public boolean isPrinting() {
- return fIsPrinting;
- }
-
- /**
- * Returns the current graph node.
- *
- * @return the current graph node
- * @since 2.0
- */
- public GraphNode getCurrentGraphNode() {
- return fCurrentGraphNode;
- }
-
- /**
- * Returns the current zoom value.
- *
- * @return the current zoom value
- * @since 2.0
- */
- public float getZoomValue() {
- return fZoomValue;
- }
-
- /**
- * Gets the zoom in mode.
- *
- * @return the mode value to set.
- * @since 2.0
- */
- public boolean getZoomInMode() {
- return fZoomInMode;
- }
-
-
- /**
- * Gets the zoom out mode.
- *
- * @return the mode value to set.
- * @since 2.0
- */
- public boolean getZoomOutMode() {
- return fZoomOutMode;
- }
-
- /**
- * Returns if ctrl selection
- * @return true if ctrl selection else false
- * @since 2.0
- */
- public boolean isCtrlSelection() {
- return fCtrlSelection;
- }
-
- /**
- * Returns if shift selection
- * @return true if shift Selection else false
- * @since 2.0
- */
- public boolean isShiftSelection() {
- return fCtrlSelection;
- }
-
- /**
- * Gets the overview image.
- *
- * @param rect Rectangle to include overview.
- * @return the overview image
- */
- public Image getOverview(Rectangle rect) {
- float oldzoom = fZoomValue;
- if ((fOverView != null) && ((rect.width != fOverView.getBounds().width) || (rect.height != fOverView.getBounds().height))) {
- fOverView.dispose();
- fOverView = null;
- }
- if (fOverView == null) {
- int backX = getContentsX();
- int backY = getContentsY();
- setContentsPos(0, 0);
- fOverView = new Image(getDisplay(), rect.width, rect.height);
- GC gcim = new GC(fOverView);
- NGC context = new NGC(this, gcim);
- context.setBackground(SDViewPref.getInstance().getBackGroundColor(ISDPreferences.PREF_FRAME));
- fFrame.draw(context);
- setContentsPos(backX, backY);
- gcim.dispose();
- context.dispose();
- }
- fZoomValue = oldzoom;
- return fOverView;
- }
-
- /**
- * Resets the zoom factor.
- */
- public void resetZoomFactor() {
- int currentX = Math.round(getContentsX() / fZoomValue);
- int currentY = Math.round(getContentsY() / fZoomValue);
- fZoomValue = 1;
- if (fTimeBar != null && !fTimeBar.isDisposed()) {
- fTimeBar.setZoom(fZoomValue);
- }
- redraw();
- update();
- setContentsPos(currentX, currentY);
- }
-
- /**
- * Enable or disable the lifeline reodering using Drag and Drop
- *
- * @param mode - true to enable false otherwise
- */
- public void setReorderMode(boolean mode) {
- fReorderMode = mode;
- }
-
- /**
- * Return the lifelines reorder sequence (using Drag and Drop) if the the reorder mode is turn on. Each ArryList
- * element is of type Lifeline[2] with Lifeline[0] inserted before Lifeline[1] in the diagram
- *
- * @return - the re-odered sequence
- */
- public List<Lifeline[]> getLifelineReoderList() {
- return fReorderList;
- }
-
- /**
- * Sets the focus on given graph node (current node).
- *
- * @param node
- * The graph node to focus on.
- */
- public void setFocus(GraphNode node) {
- if (node == null) {
- return;
- }
- if (fCurrentGraphNode != null) {
- fCurrentGraphNode.setFocused(false);
- }
- fCurrentGraphNode = node;
- node.setFocused(true);
- ensureVisible(node);
- setFocus(0);
- }
-
- /**
- * Returns the graph node focused on.
- *
- * @return the current graph node
- */
- public GraphNode getFocusNode() {
- return fCurrentGraphNode;
- }
-
- /**
- * Method to traverse right.
- */
- public void traverseRight() {
- Object selectedNode = getFocusNode();
- if (selectedNode == null) {
- traverseLeft();
- }
- GraphNode node = null;
- if ((selectedNode instanceof BaseMessage) && (((BaseMessage) selectedNode).getEndLifeline() != null)) {
- node = fFrame.getCalledMessage((BaseMessage) selectedNode);
- }
- if (selectedNode instanceof BasicExecutionOccurrence) {
- selectedNode = ((BasicExecutionOccurrence) selectedNode).getLifeline();
- }
- if ((node == null) && (selectedNode instanceof Lifeline)) {
- for (int i = 0; i < fFrame.lifeLinesCount(); i++) {
- if ((selectedNode == fFrame.getLifeline(i)) && (i < fFrame.lifeLinesCount() - 1)) {
- node = fFrame.getLifeline(i + 1);
- break;
- }
- }
- }
- if (node != null) {
- setFocus(node);
- redraw();
- }
- }
-
- /**
- * Method to traverse left.
- */
- public void traverseLeft() {
- Object selectedNode = getFocusNode();
- GraphNode node = null;
- if ((selectedNode instanceof BaseMessage) && (((BaseMessage) selectedNode).getStartLifeline() != null)) {
- node = fFrame.getCallerMessage((BaseMessage) selectedNode);
- }
- if (selectedNode instanceof BasicExecutionOccurrence) {
- selectedNode = ((BasicExecutionOccurrence) selectedNode).getLifeline();
- }
- if (node == null) {
- if ((selectedNode instanceof BaseMessage) && (((BaseMessage) selectedNode).getEndLifeline() != null)) {
- selectedNode = ((BaseMessage) selectedNode).getEndLifeline();
- }
- for (int i = 0; i < fFrame.lifeLinesCount(); i++) {
- if ((selectedNode == fFrame.getLifeline(i)) && (i > 0)) {
- node = fFrame.getLifeline(i - 1);
- break;
- }
- }
- if ((fFrame.lifeLinesCount() > 0) && (node == null)) {
- node = fFrame.getLifeline(0);
- }
- }
- if (node != null) {
- setFocus(node);
- redraw();
- }
- }
-
- /**
- * Method to traverse up.
- */
- public void traverseUp() {
- Object selectedNode = getFocusNode();
- if (selectedNode == null) {
- traverseLeft();
- }
- GraphNode node = null;
- if (selectedNode instanceof BaseMessage) {
- node = fFrame.getPrevLifelineMessage(((BaseMessage) selectedNode).getStartLifeline(), (BaseMessage) selectedNode);
- } else if (selectedNode instanceof Lifeline) {
- node = fFrame.getPrevLifelineMessage((Lifeline) selectedNode, null);
- if (!(node instanceof Lifeline)) {
- node = null;
- }
- } else if (selectedNode instanceof BasicExecutionOccurrence) {
- node = fFrame.getPrevExecOccurrence((BasicExecutionOccurrence) selectedNode);
- if (node == null) {
- node = ((BasicExecutionOccurrence) selectedNode).getLifeline();
- }
- }
- if ((node == null) && (selectedNode instanceof BaseMessage) && (((BaseMessage) selectedNode).getStartLifeline() != null)) {
- node = ((BaseMessage) selectedNode).getStartLifeline();
- }
-
- if (node != null) {
- setFocus(node);
- redraw();
- }
- }
-
- /**
- * Method to traverse down.
- */
- public void traverseDown() {
- Object selectedNode = getFocusNode();
- if (selectedNode == null) {
- traverseLeft();
- }
- GraphNode node;
- if (selectedNode instanceof BaseMessage) {
- node = fFrame.getNextLifelineMessage(((BaseMessage) selectedNode).getStartLifeline(), (BaseMessage) selectedNode);
- } else if (selectedNode instanceof Lifeline) {
- node = fFrame.getFirstExecution((Lifeline) selectedNode);
- } else if (selectedNode instanceof BasicExecutionOccurrence) {
- node = fFrame.getNextExecOccurrence((BasicExecutionOccurrence) selectedNode);
- } else {
- return;
- }
-
- if (node != null) {
- setFocus(node);
- redraw();
- }
- }
-
- /**
- * Method to traverse home.
- */
- public void traverseHome() {
- Object selectedNode = getFocusNode();
- if (selectedNode == null) {
- traverseLeft();
- }
- GraphNode node = null;
-
- if (selectedNode instanceof BaseMessage) {
- if (((BaseMessage) selectedNode).getStartLifeline() != null) {
- node = fFrame.getNextLifelineMessage(((BaseMessage) selectedNode).getStartLifeline(), null);
- } else {
- node = fFrame.getNextLifelineMessage(((BaseMessage) selectedNode).getEndLifeline(), null);
- }
- } else if (selectedNode instanceof Lifeline) {
- node = fFrame.getNextLifelineMessage((Lifeline) selectedNode, null);
- } else if (selectedNode instanceof BasicExecutionOccurrence) {
- node = fFrame.getFirstExecution(((BasicExecutionOccurrence) selectedNode).getLifeline());
- } else {
- if (fFrame.lifeLinesCount() > 0) {
- Lifeline lifeline = fFrame.getLifeline(0);
- node = fFrame.getNextLifelineMessage(lifeline, null);
- }
- }
-
- if (node != null) {
- setFocus(node);
- redraw();
- }
- }
-
- /**
- * Method to traverse to the end.
- */
- public void traverseEnd() {
- Object selectedNode = getFocusNode();
- if (selectedNode == null) {
- traverseLeft();
- }
- GraphNode node;
- if (selectedNode instanceof BaseMessage) {
- node = fFrame.getPrevLifelineMessage(((BaseMessage) selectedNode).getStartLifeline(), null);
- } else if (selectedNode instanceof Lifeline) {
- node = fFrame.getPrevLifelineMessage((Lifeline) selectedNode, null);
- } else if (selectedNode instanceof BasicExecutionOccurrence) {
- node = fFrame.getLastExecOccurrence(((BasicExecutionOccurrence) selectedNode).getLifeline());
- } else {
- if (fFrame.lifeLinesCount() > 0) {
- Lifeline lifeline = fFrame.getLifeline(0);
- node = fFrame.getPrevLifelineMessage(lifeline, null);
- } else {
- return;
- }
- }
-
- if (node != null) {
- setFocus(node);
- redraw();
- }
- }
-
- /**
- * Method to print UI.
- *
- * @param sdPrintDialog the sequence diagram printer dialog.
- */
- public void printUI(SDPrintDialogUI sdPrintDialog) {
- PrinterData data = sdPrintDialog.getPrinterData();
-
- if ((data == null) || (fFrame == null)) {
- return;
- }
-
- fPrinter = new Printer(data);
-
- String jobName = MessageFormat.format(Messages.SequenceDiagram_plus, new Object[] { String.valueOf(fSite.getContentDescription()), String.valueOf(fFrame.getName()) });
- fPrinter.startJob(jobName);
-
- GC gc = new GC(fPrinter);
-
- float lastZoom = fZoomValue;
-
- Rectangle area = getClientArea();
- GC gcim = null;
-
- gcim = gc;
- NGC context = new NGC(this, gcim);
-
- // Set the metrics to use for lifeline text and message text
- // using the Graphical Context
- Metrics.setLifelineFontHeight(context.getFontHeight(SDViewPref.getInstance().getFont(ISDPreferences.PREF_LIFELINE)));
- Metrics.setLifelineFontWidth(context.getFontWidth(SDViewPref.getInstance().getFont(ISDPreferences.PREF_LIFELINE)));
- Metrics.setLifelineWidth(SDViewPref.getInstance().getLifelineWidth());
- Metrics.setFrameFontHeight(context.getFontHeight(SDViewPref.getInstance().getFont(ISDPreferences.PREF_FRAME_NAME)));
- Metrics.setLifelineHeaderFontHeight(context.getFontHeight(SDViewPref.getInstance().getFont(ISDPreferences.PREF_LIFELINE_HEADER)));
-
- int syncMessFontH = context.getFontHeight(SDViewPref.getInstance().getFont(ISDPreferences.PREF_SYNC_MESS));
- int syncMessRetFontH = context.getFontHeight(SDViewPref.getInstance().getFont(ISDPreferences.PREF_SYNC_MESS_RET));
- int asyncMessFontH = context.getFontHeight(SDViewPref.getInstance().getFont(ISDPreferences.PREF_ASYNC_MESS));
- int asyncMessRetFontH = context.getFontHeight(SDViewPref.getInstance().getFont(ISDPreferences.PREF_ASYNC_MESS_RET));
-
- int messageFontHeight = 0;
- if (syncMessFontH > syncMessRetFontH) {
- messageFontHeight = syncMessFontH;
- } else {
- messageFontHeight = syncMessRetFontH;
- }
- if (messageFontHeight < asyncMessFontH) {
- messageFontHeight = asyncMessFontH;
- }
- if (messageFontHeight < asyncMessRetFontH) {
- messageFontHeight = asyncMessRetFontH;
- }
- Metrics.setMessageFontHeight(messageFontHeight);
- context.setFont(SDViewPref.getInstance().getFont(ISDPreferences.PREF_LIFELINE));
-
- int width = Math.round((fFrame.getWidth() + 2 * Metrics.FRAME_H_MARGIN) * fZoomValue);
- int height = Math.round((fFrame.getHeight() + 2 * Metrics.FRAME_V_MARGIN) * fZoomValue);
- if (width < area.width) {
- width = area.width;
- }
- if (height < area.height) {
- height = area.height;
- }
- resizeContents(width, height);
-
- context.setBackground(SDViewPref.getInstance().getBackGroundColor(ISDPreferences.PREF_FRAME));
- context.fillRectangle(0, 0, getContentsWidth(), Metrics.FRAME_V_MARGIN);
- context.fillRectangle(0, 0, fFrame.getX(), getContentsHeight());
- context.fillRectangle(fFrame.getX() + fFrame.getWidth() + 1, 0, getContentsWidth() - (fFrame.getX() + fFrame.getWidth() + 1), getContentsHeight());
- context.fillRectangle(0, fFrame.getY() + fFrame.getHeight() + 1, getContentsWidth(), getContentsHeight() - (fFrame.getY() + fFrame.getHeight() + 1));
- gcim.setLineWidth(1);
-
- fPrinter.startPage();
- fZoomValue = lastZoom;
-
- int restoreX = getContentsX();
- int restoreY = getContentsY();
-
- float zh = sdPrintDialog.getStepY() * sdPrintDialog.getZoomFactor();
- float zw = sdPrintDialog.getStepX() * sdPrintDialog.getZoomFactor();
-
- float zoomValueH = fPrinter.getClientArea().height / zh;
- float zoomValueW = fPrinter.getClientArea().width / zw;
- if (zoomValueH > zoomValueW) {
- fPrinterZoom = zoomValueH;
- } else {
- fPrinterZoom = zoomValueW;
- }
-
- if (sdPrintDialog.printSelection()) {
- int[] pagesList = sdPrintDialog.getPageList();
-
- for (int pageIndex = 0; pageIndex < pagesList.length; pageIndex++) {
- printPage(pagesList[pageIndex], sdPrintDialog, context);
- }
- } else if (sdPrintDialog.printAll()) {
- for (int pageIndex = 1; pageIndex <= sdPrintDialog.maxNumOfPages(); pageIndex++) {
- printPage(pageIndex, sdPrintDialog, context);
- }
- } else if (sdPrintDialog.printCurrent()) {
- printPage(getContentsX(), getContentsY(), sdPrintDialog, context, 1);
- } else if (sdPrintDialog.printRange()) {
- for (int pageIndex = sdPrintDialog.getFrom(); pageIndex <= sdPrintDialog.maxNumOfPages() && pageIndex <= sdPrintDialog.getTo(); pageIndex++) {
- printPage(pageIndex, sdPrintDialog, context);
- }
- }
-
- fPrinter.endJob();
- fIsPrinting = false;
-
- gc.dispose();
- context.dispose();
-
- fZoomValue = lastZoom;
- fPrinter.dispose();
- setContentsPos(restoreX, restoreY);
- }
-
- /**
- * Method to print.
- */
- public void print() {
- SDPrintDialog sdPrinter = new SDPrintDialog(this.getShell(), this);
- try {
- if (sdPrinter.open() != 0) {
- return;
- }
- } catch (Exception e) {
- Activator.getDefault().logError("Error creating image", e); //$NON-NLS-1$
- return;
- }
- printUI(sdPrinter.getDialogUI());
- }
-
- /**
- * Method to print a page.
- *
- * @param pageNum The page number
- * @param pd The sequence diagram print dialog
- * @param context The graphical context
- */
- public void printPage(int pageNum, SDPrintDialogUI pd, NGC context) {
- int j = pageNum / pd.getNbRow();
- int i = pageNum % pd.getNbRow();
- if (i != 0) {
- j++;
- } else {
- i = pd.getNbRow();
- }
-
- i--;
- j--;
-
- i = (int) (i * pd.getStepX());
- j = (int) (j * pd.getStepY());
-
- printPage(i, j, pd, context, pageNum);
-
- fPrinter.endPage();
- }
-
- /**
- * Method to print page ranges.
- *
- * @param i
- * The start page
- * @param j
- * The end page
- * @param pd
- * The sequence diagram print dialog
- * @param context
- * The graphical context
- * @param pageNum
- * The current page
- */
- public void printPage(int i, int j, SDPrintDialogUI pd, NGC context, int pageNum) {
- fIsPrinting = false;
- int pageNumFontZoom = fPrinter.getClientArea().height / getVisibleHeight();
- fPrinterX = i;
- fPrinterY = j;
- setContentsPos(i, j);
- update();
- fIsPrinting = true;
- float lastZoom = fZoomValue;
- fZoomValue = fPrinterZoom * lastZoom;
-
- fFrame.draw(context);
-
- fZoomValue = pageNumFontZoom;
- context.setFont(SDViewPref.getInstance().getFont(ISDPreferences.PREF_LIFELINE));
- String currentPageNum = String.valueOf(pageNum);
- int ii = context.textExtent(currentPageNum);
- int jj = context.getCurrentFontHeight();
- fZoomValue = fPrinterZoom * lastZoom;
- context.drawText(currentPageNum, Math.round(fPrinterX + getVisibleWidth() / fPrinterZoom - ii / fPrinterZoom), Math.round(fPrinterY + getVisibleHeight() / fPrinterZoom - jj / fPrinterZoom), false);
- fIsPrinting = false;
- fZoomValue = lastZoom;
- }
-
- /**
- * Sets the collapse provider.
- *
- * @param provider The collapse provider to set
- */
- protected void setCollapseProvider(ISDCollapseProvider provider) {
- fCollapseProvider = provider;
- }
-
-
- /**
- * Checks for focus of children.
- *
- * @param children Control to check
- * @return true if child is on focus else false
- */
- protected boolean checkFocusOnChilds(Control children) {
- if (children instanceof Composite) {
- Control[] child = ((Composite) children).getChildren();
- for (int i = 0; i < child.length; i++) {
- if (child[i].isFocusControl()) {
- return true;
- }
- checkFocusOnChilds(child[i]);
- }
- }
- return false;
- }
-
- /**
- * A post action for a tooltip (before displaying).
- *
- * @param accessible true if accessible else false
- * @return the tooltip text.
- */
- protected String getPostfixForTooltip(boolean accessible) {
- StringBuffer postfix = new StringBuffer();
- // Determine if the tooltip must show the time difference between the current mouse position and
- // the last selected graphNode
- if ((fCurrentGraphNode != null) &&
- (fCurrentGraphNode instanceof ITimeRange) &&
- (fToolTipNode instanceof ITimeRange) &&
- (fCurrentGraphNode != fToolTipNode) &&
- ((ITimeRange) fToolTipNode).hasTimeInfo() &&
- ((ITimeRange) fCurrentGraphNode).hasTimeInfo()) {
- postfix.append(" -> "); //$NON-NLS-1$
- postfix.append(fCurrentGraphNode.getName());
- postfix.append("\n"); //$NON-NLS-1$
- postfix.append(Messages.SequenceDiagram_Delta);
- postfix.append(" "); //$NON-NLS-1$
-
- //double delta = ((ITimeRange)toolTipNode).getLastTime()-((ITimeRange)currentGraphNode).getLastTime();
- ITmfTimestamp firstTime = ((ITimeRange) fCurrentGraphNode).getEndTime();
- ITmfTimestamp lastTime = ((ITimeRange) fToolTipNode).getEndTime();
- ITmfTimestamp delta = lastTime.getDelta(firstTime);
- postfix.append(delta.toString());
-
- } else {
- if ((fToolTipNode instanceof ITimeRange) && ((ITimeRange) fToolTipNode).hasTimeInfo()) {
- postfix.append("\n"); //$NON-NLS-1$
- ITmfTimestamp firstTime = ((ITimeRange) fToolTipNode).getStartTime();
- ITmfTimestamp lastTime = ((ITimeRange) fToolTipNode).getEndTime();
-
- if (firstTime != null) {
- if (lastTime != null && firstTime.compareTo(lastTime, true) != 0) {
- postfix.append("start: "); //$NON-NLS-1$
- postfix.append(firstTime.toString());
- postfix.append("\n"); //$NON-NLS-1$
- postfix.append("end: "); //$NON-NLS-1$
- postfix.append(lastTime.toString());
- postfix.append("\n"); //$NON-NLS-1$
- } else {
- postfix.append(firstTime.toString());
- }
- }
- else if (lastTime != null) {
- postfix.append(lastTime.toString());
- }
- }
- }
- return postfix.toString();
- }
-
- /**
- * Sets a new focused widget.
- *
- * @param newFocusShape A new focus shape.
- */
- protected void setFocus(int newFocusShape) {
- fFocusedWidget = newFocusShape;
- if (fFocusedWidget == -1) {
- getViewControl().getAccessible().setFocus(ACC.CHILDID_SELF);
- } else {
- getViewControl().getAccessible().setFocus(fFocusedWidget);
- }
- }
-
- /**
- * Highlight the given GraphNode<br>
- * The GraphNode is then displayed using the system default selection color
- *
- * @param node the GraphNode to highlight
- */
- protected void performSelection(GraphNode node) {
- if ((fCtrlSelection) || (fShiftSelection)) {
- if (node != null) {
- if (fSelectedNodeList.contains(node)) {
- removeSelection(node);
- } else {
- addSelection(node);
- }
- } else {
- return;
- }
- } else {
- clearSelection();
- if (node != null) {
- addSelection(node);
- }
- }
- }
-
- /**
- * Returns a draw buffer image.
- *
- * @return a Image containing the draw buffer.
- */
- protected Image getDrawBuffer() {
-
- update();
- Rectangle area = getClientArea();
- Image dbuffer = new Image(getDisplay(), area.width, area.height);
- GC gcim = new GC(dbuffer);
- NGC context = new NGC(this, gcim);
-
- // Set the metrics to use for lifeline text and message text
- // using the Graphical Context
- Metrics.setLifelineFontHeight(context.getFontHeight(SDViewPref.getInstance().getFont(ISDPreferences.PREF_LIFELINE)));
- Metrics.setLifelineFontWidth(context.getFontWidth(SDViewPref.getInstance().getFont(ISDPreferences.PREF_LIFELINE)));
- Metrics.setLifelineWidth(SDViewPref.getInstance().getLifelineWidth());
- Metrics.setFrameFontHeight(context.getFontHeight(SDViewPref.getInstance().getFont(ISDPreferences.PREF_FRAME_NAME)));
- Metrics.setLifelineHeaderFontHeight(context.getFontHeight(SDViewPref.getInstance().getFont(ISDPreferences.PREF_LIFELINE_HEADER)));
-
- int syncMessFontH = context.getFontHeight(SDViewPref.getInstance().getFont(ISDPreferences.PREF_SYNC_MESS));
- int syncMessRetFontH = context.getFontHeight(SDViewPref.getInstance().getFont(ISDPreferences.PREF_SYNC_MESS_RET));
- int asyncMessFontH = context.getFontHeight(SDViewPref.getInstance().getFont(ISDPreferences.PREF_ASYNC_MESS));
- int asyncMessRetFontH = context.getFontHeight(SDViewPref.getInstance().getFont(ISDPreferences.PREF_ASYNC_MESS_RET));
-
- int messageFontHeight = 0;
- if (syncMessFontH > syncMessRetFontH) {
- messageFontHeight = syncMessFontH;
- } else {
- messageFontHeight = syncMessRetFontH;
- }
- if (messageFontHeight < asyncMessFontH) {
- messageFontHeight = asyncMessFontH;
- }
- if (messageFontHeight < asyncMessRetFontH) {
- messageFontHeight = asyncMessRetFontH;
- }
- Metrics.setMessageFontHeight(messageFontHeight);
- context.setFont(SDViewPref.getInstance().getFont(ISDPreferences.PREF_LIFELINE));
-
- int width = (int) ((fFrame.getWidth() + 2 * Metrics.FRAME_H_MARGIN) * fZoomValue);
- int height = (int) ((fFrame.getHeight() + 2 * Metrics.FRAME_V_MARGIN) * fZoomValue);
-
- resizeContents(width, height);
-
- context.setBackground(SDViewPref.getInstance().getBackGroundColor(ISDPreferences.PREF_FRAME));
- context.fillRectangle(0, 0, getContentsWidth(), Metrics.FRAME_V_MARGIN);
- context.fillRectangle(0, 0, fFrame.getX(), getContentsHeight());
- context.fillRectangle(fFrame.getX() + fFrame.getWidth() + 1, 0, getContentsWidth() - (fFrame.getX() + fFrame.getWidth() + 1), getContentsHeight());
- context.fillRectangle(0, fFrame.getY() + fFrame.getHeight() + 1, getContentsWidth(), getContentsHeight() - (fFrame.getY() + fFrame.getHeight() + 1));
- gcim.setLineWidth(1);
-
- fFrame.draw(context);
- if (fDragAndDrop != null) {
- Lifeline node = fDragAndDrop;
- boolean isSelected = fDragAndDrop.isSelected();
- boolean hasFocus = fDragAndDrop.hasFocus();
- node.setSelected(false);
- node.setFocused(false);
- node.draw(context, fDragX, fDragY);
- node.setSelected(isSelected);
- node.setFocused(hasFocus);
- }
- gcim.dispose();
- context.dispose();
- return dbuffer;
- }
-
- @Override
- protected void keyPressedEvent(KeyEvent event) {
- if (!(isFocusControl() || getViewControl().isFocusControl())) {
- Control[] child = getParent().getChildren();
- for (int i = 0; i < child.length; i++) {
- if ((child[i].isFocusControl())&& (!(child[i] instanceof ScrollView))) {
- getViewControl().setFocus();
- break;
- }
- }
- }
- setFocus(-1);
-
- if (event.keyCode == SWT.CTRL) {
- fCtrlSelection = true;
- }
- if (event.keyCode == SWT.SHIFT) {
- fShiftSelection = true;
- fPrevList = new ArrayList<>();
- fPrevList.addAll(getSelection());
- }
-
- GraphNode prevNode = getFocusNode();
-
- if (event.keyCode == SWT.ARROW_RIGHT) {
- traverseRight();
- }
-
- if (event.keyCode == SWT.ARROW_LEFT) {
- traverseLeft();
- }
-
- if (event.keyCode == SWT.ARROW_DOWN) {
- traverseDown();
- }
-
- if (event.keyCode == SWT.ARROW_UP) {
- traverseUp();
- }
-
- if (event.keyCode == SWT.HOME) {
- traverseHome();
- }
-
- if (event.keyCode == SWT.END) {
- traverseEnd();
- }
-
- if ((!fShiftSelection) && (!fCtrlSelection)) {
- fListStart = fCurrentGraphNode;
- }
-
- if (event.character == ' ') {
- performSelection(fCurrentGraphNode);
- if (!fShiftSelection) {
- fListStart = fCurrentGraphNode;
- }
- }
-
- if ((fShiftSelection) && (prevNode != getFocusNode())) {
- clearSelection();
- addSelection(fPrevList);
- addSelection(fFrame.getNodeList(fListStart, getFocusNode()));
- if (getFocusNode() instanceof Lifeline) {
- ensureVisible(getFocusNode().getX(), getFocusNode().getY(), getFocusNode().getWidth(), getFocusNode().getHeight(), SWT.CENTER | SWT.VERTICAL, true);
- } else {
- ensureVisible(getFocusNode());
- }
- } else if ((!fCtrlSelection) && (!fShiftSelection)) {
-
- clearSelection();
- if (getFocusNode() != null) {
- addSelection(getFocusNode());
-
- if (getFocusNode() instanceof Lifeline) {
- ensureVisible(getFocusNode().getX(), getFocusNode().getY(), getFocusNode().getWidth(), getFocusNode().getHeight(), SWT.CENTER | SWT.VERTICAL, true);
- } else {
- ensureVisible(getFocusNode());
- }
- }
- }
-
- if (fCurrentGraphNode != null) {
- fCurrentGraphNode.setFocused(true);
- }
- redraw();
-
- if ((event.character == ' ') && ((fZoomInMode) || (fZoomOutMode))) {
- int cx = Math.round((getContentsX() + getVisibleWidth() / 2) / fZoomValue);
- int cy = Math.round((getContentsY() + getVisibleHeight() / 2) / fZoomValue);
- if (fZoomInMode) {
- if (fZoomValue < 64) {
- fZoomValue = fZoomValue * (float) 1.25;
- }
- } else {
- fZoomValue = fZoomValue / (float) 1.25;
- }
- int x = Math.round(cx * fZoomValue - getVisibleWidth() / (float) 2);
- int y = Math.round(cy * fZoomValue - getVisibleHeight() / (float) 2);
- setContentsPos(x, y);
- if (fTimeBar != null) {
- fTimeBar.setZoom(fZoomValue);
- }
- // redraw also resize the scrollView content
- redraw();
- }
- }
-
- @Override
- protected void keyReleasedEvent(KeyEvent event) {
- setFocus(-1);
- if (event.keyCode == SWT.CTRL) {
- fCtrlSelection = false;
- }
- if (event.keyCode == SWT.SHIFT) {
- fShiftSelection = false;
- }
- super.keyReleasedEvent(event);
- setFocus(1);
- }
-
- @Override
- public boolean isFocusControl() {
- Control[] child = getChildren();
- for (int i = 0; i < child.length; i++) {
- if (child[i].isFocusControl()) {
- return true;
- }
- checkFocusOnChilds(child[i]);
- }
- return false;
- }
-
- @Override
- public boolean setContentsPos(int x, int y) {
- int localX = x;
- int localY = y;
-
- if (localX < 0) {
- localX = 0;
- }
- if (localY < 0) {
- localY = 0;
- }
- if (fFrame == null) {
- return false;
- }
- if (localX + getVisibleWidth() > getContentsWidth()) {
- localX = getContentsWidth() - getVisibleWidth();
- }
- if (localY + getVisibleHeight() > getContentsHeight()) {
- localY = getContentsHeight() - getVisibleHeight();
- }
- int x1 = Math.round(localX / fZoomValue);
- int y2 = Math.round(localY / fZoomValue);
- int width = Math.round(getVisibleWidth() / fZoomValue);
- int height = Math.round(getVisibleHeight() / fZoomValue);
- fFrame.updateIndex(x1, y2, width, height);
-
- if (fInsertionCartet != null && fInsertionCartet.isVisible()) {
- fInsertionCartet.setVisible(false);
- }
-
- return super.setContentsPos(localX, localY);
- }
-
- @Override
- protected void contentsMouseHover(MouseEvent event) {
- GraphNode graphNode = null;
- if (fFrame != null) {
- int x = Math.round(event.x / fZoomValue);
- int y = Math.round(event.y / fZoomValue);
- graphNode = fFrame.getNodeAt(x, y);
- if ((graphNode != null) && (SDViewPref.getInstance().tooltipEnabled())) {
- fToolTipNode = graphNode;
- String postfix = getPostfixForTooltip(true);
- if (graphNode instanceof Lifeline) {
- Lifeline lifeline = (Lifeline) graphNode;
- fToolTip.showToolTip(lifeline.getToolTipText() + postfix);
- setFocus(0);
- } else {
- fToolTip.showToolTip(graphNode.getName() + postfix);
- setFocus(0);
- }
- } else {
- fToolTip.hideToolTip();
- }
- }
- }
-
- @Override
- protected void contentsMouseMoveEvent(MouseEvent e) {
- fScrollToolTip.hideToolTip();
- fToolTip.hideToolTip();
- if (!(isFocusControl() || getViewControl().isFocusControl())) {
- Control[] child = getParent().getChildren();
- for (int i = 0; i < child.length; i++) {
- if ((child[i].isFocusControl()) && (!(child[i] instanceof ScrollView))) {
- getViewControl().setFocus();
- break;
- }
- }
- }
- setFocus(-1);
-
- if (((e.stateMask & SWT.BUTTON_MASK) != 0) && ((fDragAndDrop != null) || fIsDragAndDrop) && (fReorderMode || fCollapseProvider != null)) {
- fIsDragAndDrop = false;
- if (fCurrentGraphNode instanceof Lifeline) {
- fDragAndDrop = (Lifeline) fCurrentGraphNode;
- }
- if (fDragAndDrop != null) {
- int dx = 0;
- int dy = 0;
- if (e.x > getContentsX() + getVisibleWidth()) {
- dx = e.x - (getContentsX() + getVisibleWidth());
- } else if (e.x < getContentsX()) {
- dx = -getContentsX() + e.x;
- }
- if (e.y > getContentsY() + getVisibleHeight()) {
- dy = e.y - (getContentsY() + getVisibleHeight());
- } else if (e.y < getContentsY()) {
- dy = -getContentsY() + e.y;
- }
- fDragX = e.x;
- fDragY = e.y;
- if (dx != 0 || dy != 0) {
- if (fLocalAutoScroll == null) {
- if (fLocalAutoScrollTimer == null) {
- fLocalAutoScrollTimer = new Timer(true);
- }
- fLocalAutoScroll = new AutoScroll(this, dx, dy);
- fLocalAutoScrollTimer.schedule(fLocalAutoScroll, 0, 75);
- } else {
- fLocalAutoScroll.fDeltaX = dx;
- fLocalAutoScroll.fDeltaY = dy;
- }
- } else if (fLocalAutoScroll != null) {
- fLocalAutoScroll.cancel();
- fLocalAutoScroll = null;
- }
- fDragX = Math.round(e.x / fZoomValue);
- fDragY = Math.round(e.y / fZoomValue);
- redraw();
- Lifeline node = fFrame.getCloserLifeline(fDragX);
- if ((node != null) && (node != fDragAndDrop)) {
- int y = 0;
- int y1 = 0;
- int height = Metrics.getLifelineHeaderFontHeigth() + 2 * Metrics.LIFELINE_HEARDER_TEXT_V_MARGIN;
- int hMargin = Metrics.LIFELINE_VT_MAGIN / 4;
- int x = node.getX();
- int width = node.getWidth();
- if (fFrame.getVisibleAreaY() < node.getY() + node.getHeight() - height - hMargin) {
- y = contentsToViewY(Math.round((node.getY() + node.getHeight()) * fZoomValue));
- } else {
- y = Math.round(height * fZoomValue);
- }
-
- if (fFrame.getVisibleAreaY() < contentsToViewY(node.getY() - hMargin)) {
- y1 = contentsToViewY(Math.round((node.getY() - hMargin) * fZoomValue));
- } else {
- y1 = Math.round(height * fZoomValue);
- }
-
- int rx = Math.round(x * fZoomValue);
-
- fInsertionCartet.setVisible(true);
- if ((fInsertionCartet.getImage() != null) && (!fInsertionCartet.getImage().isDisposed())) {
- fInsertionCartet.getImage().dispose();
- }
- if (rx <= e.x && Math.round(rx + (width * fZoomValue)) >= e.x) {
- if (fCollapseProvider != null) {
- ImageData data = fCollapaseCaretImg.getImageData();
- data = data.scaledTo(Math.round(fCollapaseCaretImg.getBounds().width * fZoomValue), Math.round(fCollapaseCaretImg.getBounds().height * fZoomValue));
- fCurrentCaretImage = new Image(Display.getCurrent(), data);
- fInsertionCartet.setImage(fCurrentCaretImage);
- fInsertionCartet.setLocation(contentsToViewX(rx + Math.round((width / (float) 2) * fZoomValue)) - fCurrentCaretImage.getBounds().width / 2, y);
- }
- } else if (fReorderMode) {
- if (rx > e.x) {
- if (node.getIndex() > 1 && fFrame.getLifeline(node.getIndex() - 2) == fDragAndDrop) {
- return;
- }
- ImageData data = fArrowUpCaretImg.getImageData();
- data = data.scaledTo(Math.round(fArrowUpCaretImg.getBounds().width * fZoomValue), Math.round(fArrowUpCaretImg.getBounds().height * fZoomValue));
- fCurrentCaretImage = new Image(Display.getCurrent(), data);
- fInsertionCartet.setImage(fCurrentCaretImage);
- fInsertionCartet.setLocation(contentsToViewX(Math.round((x - Metrics.LIFELINE_SPACING / 2) * fZoomValue)) - fCurrentCaretImage.getBounds().width / 2, y1);
- } else {
- if (node.getIndex() < fFrame.lifeLinesCount() && fFrame.getLifeline(node.getIndex()) == fDragAndDrop) {
- return;
- }
- ImageData data = fArrowUpCaretImg.getImageData();
- data = data.scaledTo(Math.round(fArrowUpCaretImg.getBounds().width * fZoomValue), Math.round(fArrowUpCaretImg.getBounds().height * fZoomValue));
- fCurrentCaretImage = new Image(Display.getCurrent(), data);
- fInsertionCartet.setImage(fCurrentCaretImage);
- fInsertionCartet.setLocation(contentsToViewX(Math.round((x + width + Metrics.LIFELINE_SPACING / 2) * fZoomValue)) - fCurrentCaretImage.getBounds().width / 2 + 1, y1);
- }
- }
- } else {
- fInsertionCartet.setVisible(false);
- }
- }
- } else {
- super.contentsMouseMoveEvent(e);
- }
- }
-
- @Override
- protected void contentsMouseUpEvent(MouseEvent event) {
- // Just in case the diagram highlight a time compression region
- // this region need to be released when clicking everywhere
- fInsertionCartet.setVisible(false);
- if (fDragAndDrop != null) {
- if ((fOverView != null) && (!fOverView.isDisposed())) {
- fOverView.dispose();
- }
- fOverView = null;
- Lifeline node = fFrame.getCloserLifeline(fDragX);
- if (node != null) {
- int rx = Math.round(node.getX() * fZoomValue);
- if (rx <= event.x && Math.round(rx + (node.getWidth() * fZoomValue)) >= event.x) {
- if ((fCollapseProvider != null) && (fDragAndDrop != node)) {
- fCollapseProvider.collapseTwoLifelines(fDragAndDrop, node);
- }
- } else if (rx < event.x) {
- fFrame.insertLifelineAfter(fDragAndDrop, node);
- if (node.getIndex() < fFrame.lifeLinesCount()) {
- Lifeline temp[] = { fDragAndDrop, fFrame.getLifeline(node.getIndex()) };
- fReorderList.add(temp);
- } else {
- Lifeline temp[] = { fDragAndDrop, null };
- fReorderList.add(temp);
- }
- } else {
- fFrame.insertLifelineBefore(fDragAndDrop, node);
- Lifeline temp[] = { fDragAndDrop, node };
- fReorderList.add(temp);
- }
- }
- }
- fDragAndDrop = null;
- redraw();
- if (fFrame == null) {
- return;
- }
- fFrame.resetTimeCompression();
-
- // reset auto scroll if it's engaged
- if (fLocalAutoScroll != null) {
- fLocalAutoScroll.cancel();
- fLocalAutoScroll = null;
- }
- super.contentsMouseUpEvent(event);
- }
-
- @Override
- protected void contentsMouseDownEvent(MouseEvent event) {
- if (fCurrentGraphNode != null) {
- fCurrentGraphNode.setFocused(false);
- }
-
- // Just in case the diagram highlight a time compression region
- // this region need to be released when clicking everywhere
- if (fFrame == null) {
- return;
- }
-
- fFrame.resetTimeCompression();
-
- if ((event.stateMask & SWT.CTRL) != 0) {
- fCtrlSelection = true;
- } else {
- fCtrlSelection = false;
- }
-
- if (((fZoomInMode) || (fZoomOutMode)) && (event.button == 1)) {
- int cx = Math.round(event.x / fZoomValue);
- int cy = Math.round(event.y / fZoomValue);
- if (fZoomInMode) {
- if (fZoomValue < 64) {
- fZoomValue = fZoomValue * (float) 1.25;
- }
- } else {
- fZoomValue = fZoomValue / (float) 1.25;
- }
- int x = Math.round(cx * fZoomValue - getVisibleWidth() / (float) 2);
- int y = Math.round(cy * fZoomValue - getVisibleHeight() / (float) 2);
- setContentsPos(x, y);
- if (fTimeBar != null) {
- fTimeBar.setZoom(fZoomValue);
- }
- // redraw also resize the scrollView content
- redraw();
- } else {
- GraphNode node = null;
- int x = Math.round(event.x / fZoomValue);
- int y = Math.round(event.y / fZoomValue);
- node = fFrame.getNodeAt(x, y);
-
- if ((event.button == 1) || ((node != null) && !node.isSelected())) {
- if (!fShiftSelection) {
- fListStart = node;
- }
- if (fShiftSelection) {
- clearSelection();
- addSelection(fFrame.getNodeList(fListStart, node));
- } else {
- performSelection(node);
- }
- fCurrentGraphNode = node;
- if (node != null) {
- node.setFocused(true);
- }
- }
- redraw();
- }
- if (fDragAndDrop == null) {
- super.contentsMouseDownEvent(event);
- }
- fIsDragAndDrop = (event.button == 1);
-
- }
-
- /**
- * TimerTask for auto scroll feature.
- */
- protected static class AutoScroll extends TimerTask {
- /**
- * Field delta x.
- */
- public int fDeltaX;
- /**
- * Field delta y.
- */
- public int fDeltaY;
- /**
- * Field sequence diagram reference.
- */
- public SDWidget fSdWidget;
-
- /**
- * Constructor for AutoScroll.
- * @param sv sequence diagram widget reference
- * @param dx delta x
- * @param dy delta y
- */
- public AutoScroll(SDWidget sv, int dx, int dy) {
- fSdWidget = sv;
- fDeltaX = dx;
- fDeltaY = dy;
- }
-
- @Override
- public void run() {
- Display display = Display.getDefault();
- if ((display == null) || (display.isDisposed())) {
- return;
- }
- display.asyncExec(new Runnable() {
- @Override
- public void run() {
- if (fSdWidget.isDisposed()) {
- return;
- }
- fSdWidget.fDragX += fDeltaX;
- fSdWidget.fDragY += fDeltaY;
- fSdWidget.scrollBy(fDeltaX, fDeltaY);
- }
- });
- }
- }
-
- @Override
- protected void drawContents(GC gc, int clipx, int clipy, int clipw, int cliph) {
- if (fFrame == null) {
- gc.setBackground(getDisplay().getSystemColor(SWT.COLOR_WHITE));
- gc.fillRectangle(0, 0, getVisibleWidth(), getVisibleHeight());
- gc.dispose();
- return;
- }
- SDViewPref.getInstance();
-
- Rectangle area = getClientArea();
- Image dbuffer = getDrawBuffer();
- int height = Math.round((fFrame.getHeight() + 2 * Metrics.FRAME_V_MARGIN) * fZoomValue);
-
- try {
- gc.drawImage(dbuffer, 0, 0, area.width, area.height, 0, 0, area.width, area.height);
- } catch (Exception e) {
- Activator.getDefault().logError("Error drawin content", e); //$NON-NLS-1$
- }
- dbuffer.dispose();
- setHScrollBarIncrement(Math.round(SDViewPref.getInstance().getLifelineWidth() / (float) 2 * fZoomValue));
- setVScrollBarIncrement(Math.round(Metrics.getMessagesSpacing() * fZoomValue));
- if ((fTimeBar != null) && (fFrame.hasTimeInfo())) {
- fTimeBar.resizeContents(9, height + getHorizontalBarHeight());
- fTimeBar.setContentsPos(getContentsX(), getContentsY());
- fTimeBar.redraw();
- fTimeBar.update();
- }
- float xRatio = getContentsWidth() / (float) getVisibleWidth();
- float yRatio = getContentsHeight() / (float) getVisibleHeight();
- if (yRatio > xRatio) {
- setOverviewSize((int) (getVisibleHeight() * 0.75));
- } else {
- setOverviewSize((int) (getVisibleWidth() * 0.75));
- }
- }
-
- @Override
- public void widgetDefaultSelected(SelectionEvent event) {
- }
-
- @Override
- public void widgetSelected(SelectionEvent event) {
- if (event.widget == fZoomIn) {
- fZoomValue = fZoomValue * 2;
- } else if (event.widget == fZoomOut) {
- fZoomValue = fZoomValue / 2;
- }
- redraw();
- }
-
- /**
- * Called when property changed occurs in the preference page. "PREFOK" is
- * fired when the user press the ok or apply button
- */
- @Override
- public void propertyChange(PropertyChangeEvent e) {
- if (fFrame != null && !isDisposed()) {
- fFrame.resetTimeCompression();
- }
- if (e.getProperty().equals("PREFOK")) //$NON-NLS-1$
- {
- // Prepare the overview to be reused for the new
- // settings (especially the colors)
- if (fOverView != null) {
- fOverView.dispose();
- }
- fOverView = null;
- redraw();
- }
- }
-
- @Override
- public void widgetDisposed(DisposeEvent e) {
- if (fOverView != null) {
- fOverView.dispose();
- }
- super.removeDisposeListener(this);
- if ((fCurrentCaretImage != null) && (!fCurrentCaretImage.isDisposed())) {
- fCurrentCaretImage.dispose();
- }
- if ((fArrowUpCaretImg != null) && (!fArrowUpCaretImg.isDisposed())) {
- fArrowUpCaretImg.dispose();
- }
- if ((fCollapaseCaretImg != null) && (!fCollapaseCaretImg.isDisposed())) {
- fCollapaseCaretImg.dispose();
- }
- SDViewPref.getInstance().removePropertyChangeListener(this);
- LoadersManager lm = LoadersManager.getInstance();
- if (fSite instanceof SDView) {
- ((SDView) fSite).resetProviders();
- if (lm != null) {
- lm.resetLoader(((SDView) fSite).getViewSite().getId());
- }
- }
- }
-
- @Override
- protected void drawOverview(GC gc, Rectangle r) {
- float oldzoom = fZoomValue;
- if (getContentsWidth() > getContentsHeight()) {
- fZoomValue = (float) r.width / (float) getContentsWidth() * oldzoom;
- } else {
- fZoomValue = (float) r.height / (float) getContentsHeight() * oldzoom;
- }
- if ((fOverView != null) && ((r.width != fOverView.getBounds().width) || (r.height != fOverView.getBounds().height))) {
- fOverView.dispose();
- fOverView = null;
- }
- if (fOverView == null) {
- int backX = getContentsX();
- int backY = getContentsY();
- setContentsPos(0, 0);
- fOverView = new Image(getDisplay(), r.width, r.height);
- GC gcim = new GC(fOverView);
- NGC context = new NGC(this, gcim);
- context.setBackground(SDViewPref.getInstance().getBackGroundColor(ISDPreferences.PREF_FRAME));
- fFrame.draw(context);
- setContentsPos(backX, backY);
- gcim.dispose();
- context.dispose();
- }
- if ((fOverView != null) && (r.width == fOverView.getBounds().width) && (r.height == fOverView.getBounds().height)) {
- gc.drawImage(fOverView, 0, 0, r.width, r.height, 0, 0, r.width, r.height);
- }
-
- fZoomValue = oldzoom;
-
- super.drawOverview(gc, r);
- }
-
- @Override
- public void deltaSelected(Lifeline lifeline, int startEvent, int nbEvent, IColor color) {
- fFrame.highlightTimeCompression(lifeline, startEvent, nbEvent, color);
- ensureVisible(lifeline);
- int y1 = lifeline.getY() + lifeline.getHeight() + (Metrics.getMessageFontHeigth() + Metrics.getMessagesSpacing()) * startEvent;
- int y2 = lifeline.getY() + lifeline.getHeight() + (Metrics.getMessageFontHeigth() + Metrics.getMessagesSpacing()) * (startEvent + nbEvent);
- ensureVisible(lifeline.getX(), y1 - (Metrics.getLifelineHeaderFontHeigth() + +2 * Metrics.LIFELINE_HEARDER_TEXT_V_MARGIN), lifeline.getWidth(), y2 - y1 + 3, SWT.CENTER | SWT.VERTICAL, true);
- redraw();
- update();
- }
-
- @Override
- public int getVisibleWidth() {
- if (fIsPrinting) {
- return fPrinter.getClientArea().width;
- }
- return super.getVisibleWidth();
- }
-
- @Override
- public int getVisibleHeight() {
- if (fIsPrinting) {
- return fPrinter.getClientArea().height;
- }
- return super.getVisibleHeight();
- }
-
- @Override
- public int contentsToViewX(int x) {
- if (fIsPrinting) {
- int v = Math.round(fPrinterX * fPrinterZoom);
- return x - v;
- }
- return x - getContentsX();
- }
-
- @Override
- public int contentsToViewY(int y) {
- if (fIsPrinting) {
- int v = Math.round(fPrinterY * fPrinterZoom);
- return y - v;
- }
- return y - getContentsY();
- }
-
- @Override
- public int getContentsX() {
- if (fIsPrinting) {
- return Math.round(fPrinterX * fPrinterZoom);
- }
- return super.getContentsX();
- }
-
- @Override
- public int getContentsY() {
- if (fIsPrinting) {
- return Math.round(fPrinterY * fPrinterZoom);
- }
- return super.getContentsY();
- }
-
- /**
- * Traverse Listener implementation.
- */
- protected static class LocalTraverseListener implements TraverseListener {
- @Override
- public void keyTraversed(TraverseEvent e) {
- if ((e.detail == SWT.TRAVERSE_TAB_NEXT) || (e.detail == SWT.TRAVERSE_TAB_PREVIOUS)) {
- e.doit = true;
- }
- }
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/SDWidgetSelectionProvider.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/SDWidgetSelectionProvider.java
deleted file mode 100755
index adc1181c97..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/SDWidgetSelectionProvider.java
+++ /dev/null
@@ -1,88 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2005, 2013 IBM Corporation, 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:
- * IBM - Initial API and implementation
- * Bernd Hufmann - Updated for TMF
- **********************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.views.uml2sd;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.ISelectionChangedListener;
-import org.eclipse.jface.viewers.ISelectionProvider;
-import org.eclipse.jface.viewers.SelectionChangedEvent;
-
-/**
- * <p>
- * Informs all registered listeners of graph node selection change in the Frame.
- * </p>
- *
- * @version 1.0
- * @author sveyrier
- */
-public class SDWidgetSelectionProvider implements ISelectionProvider {
-
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
-
- /**
- * The listener list
- */
- private List<ISelectionChangedListener> fListenerList = null;
-
- /**
- * The current selection
- */
- private ISelection fCurrentSelection = null;
-
- // ------------------------------------------------------------------------
- // Constructor
- // ------------------------------------------------------------------------
-
- /**
- * Standard constructor
- */
- protected SDWidgetSelectionProvider() {
- fListenerList = new ArrayList<>();
- }
-
- // ------------------------------------------------------------------------
- // Methods
- // ------------------------------------------------------------------------
-
- @Override
- public void addSelectionChangedListener(ISelectionChangedListener listener) {
- if (!fListenerList.contains(listener)) {
- fListenerList.add(listener);
- }
- }
-
- @Override
- public void removeSelectionChangedListener(ISelectionChangedListener listener) {
- fListenerList.remove(listener);
- }
-
- @Override
- public void setSelection(ISelection selection) {
- fCurrentSelection = selection;
- for (int i = 0; i < fListenerList.size(); i++) {
- ISelectionChangedListener list = fListenerList.get(i);
- list.selectionChanged(new SelectionChangedEvent(this, fCurrentSelection));
- }
- }
-
- @Override
- public ISelection getSelection() {
- return fCurrentSelection;
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/ScrollView.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/ScrollView.java
deleted file mode 100755
index 5b4cc295fd..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/ScrollView.java
+++ /dev/null
@@ -1,2067 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2005, 2013 IBM Corporation, 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:
- * IBM - Initial API and implementation
- * Bernd Hufmann - Updated for TMF
- **********************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.views.uml2sd;
-
-import java.util.Timer;
-import java.util.TimerTask;
-
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.util.Messages;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.ControlListener;
-import org.eclipse.swt.events.FocusEvent;
-import org.eclipse.swt.events.FocusListener;
-import org.eclipse.swt.events.KeyEvent;
-import org.eclipse.swt.events.KeyListener;
-import org.eclipse.swt.events.MouseEvent;
-import org.eclipse.swt.events.MouseListener;
-import org.eclipse.swt.events.MouseMoveListener;
-import org.eclipse.swt.events.MouseTrackListener;
-import org.eclipse.swt.events.PaintEvent;
-import org.eclipse.swt.events.PaintListener;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.events.SelectionListener;
-import org.eclipse.swt.events.TypedEvent;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.graphics.Cursor;
-import org.eclipse.swt.graphics.GC;
-import org.eclipse.swt.graphics.ImageData;
-import org.eclipse.swt.graphics.PaletteData;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.graphics.RGB;
-import org.eclipse.swt.graphics.Rectangle;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Canvas;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Layout;
-import org.eclipse.swt.widgets.ScrollBar;
-import org.eclipse.swt.widgets.Scrollable;
-import org.eclipse.swt.widgets.Shell;
-
-/**
- * ScrollView widget provides a scrolling area with on-demand scroll bars.
- * Overview scrollable panel can be used (@see setOverviewEnabled()).
- *
- * @author Eric Miravete
- * @version 1.0
- */
-public class ScrollView extends Composite {
- // ------------------------------------------------------------------------
- // Constants
- // ------------------------------------------------------------------------
-
- /**
- * Scroll bar mode AUTO
- */
- public static final int AUTO = 0;
- /**
- * Scroll bar mode ALWAYS_ON
- */
- public static final int ALWAYS_ON = 1;
- /**
- * Scroll bar mode ALWAYS_OFF
- */
- public static final int ALWAYS_OFF = 2;
- /**
- * Bit mask for visible vertical scroll bar
- */
- public static final int VBAR = 0x01;
- /**
- * Bit mask for visible horizontal scroll bar
- */
- public static final int HBAR = 0x02;
-
- private static final int DEFAULT_H_SCROLL_INCREMENT = 10;
- private static final int DEFAULT_V_SCROLL_INCREMENT = 10;
- private static final int DEFAULT_AUTO_SCROLL_PERIOD = 75;
- private static final int DEFAULT_OVERVIEW_SIZE = 100;
-
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
-
- /**
- * Value of the contents height property.
- */
- private int fContentsHeight = 0;
- /**
- * Value of the contents width property.
- */
- private int fContentsWidth = 0;
- /**
- * Value of the contents x coordinate property
- */
- private int fContentsX = 0;
- /**
- * Value of the contents y coordinate property
- */
- private int fContentsY = 0;
- /**
- * Scroll bar mode of horizontal scroll bar.
- */
- private int fHorScrollbarMode = AUTO;
- /**
- * Scroll bar mode of vertical scroll bar.
- */
- private int fVertScrollbarMode = AUTO;
- /**
- * Increment for the horizontal scroll bar.
- */
- private int fHorScrollbarIncrement = DEFAULT_H_SCROLL_INCREMENT;
- /**
- * Increment for the vertical scroll bar.
- */
- private int fVertScrollbarIncrement = DEFAULT_V_SCROLL_INCREMENT;
- /**
- * Flag whether auto scroll is enabled or not.
- */
- private boolean fAutoScrollEnabled = true;
- /**
- * Value of the auto scroll period.
- */
- private int fAutoScrollPeriod = DEFAULT_AUTO_SCROLL_PERIOD;
- /**
- * The local paint listener reference.
- */
- private PaintListener fLocalPaintListener = null;
- /**
- * The local mouse move listener reference.
- */
- private MouseMoveListener fLocalMouseMoveListener = null;
- /**
- * The local mouse listener reference.
- */
- private MouseListener fLocalMouseListener = null;
- /**
- * The local control listener reference.
- */
- private ControlListener fLocalControlListener = null;
- /**
- * The local key listener reference.
- */
- private KeyListener fLocalKeyListener = null;
- // Canvas for vertical/horizontal Scroll Bar only ... because new ScrollBar() does works.
- /**
- * Canvas for horizontal scroll bar.
- */
- private Canvas fHorScrollBar;
- /**
- * Canvas for vertical scroll bar.
- */
- private Canvas fVertScrollBar;
- /**
- * Canvas for the view control.
- */
- private Canvas fViewControl;
- /**
- * Control used in the bottom right corner @see setCornerControl() and @see setOverviewEnabled(true)
- */
- private Control fCornerControl;
- /**
- * Size of overview widget.
- */
- private int fOverviewSize = DEFAULT_OVERVIEW_SIZE; // default size for overview
- /**
- * Timer for auto_scroll feature
- */
- private AutoScroll fAutoScroll = null;
- /**
- * TimerTask for auto_scroll feature !=null when auto scroll is running
- */
- private Timer fAutoScrollTimer = null;
- /**
- * where mouse down appear on contents area (x coordinate)
- */
- private int fMouseDownX = -1;
- /**
- * where mouse down appear on contents area (y coordinate)
- */
- private int fMousDownY = -1;
-
- // ------------------------------------------------------------------------
- // Constructors
- // ------------------------------------------------------------------------
-
- /**
- * Create a ScrollView, child of composite c. Both scroll bar have the mode AUTO. Auto scroll feature is enabled
- * using a delay of 250ms. Overview feature is not enabled by default (use setOverviewEnabled()).
- *
- * @param c The parent composite
- * @param style The SWT style bits @see SWT
- */
- public ScrollView(Composite c, int style) {
- this(c, style, true);
- }
-
- /**
- * Create a ScrollView, child of composite c. Both scroll bar have the mode AUTO. Auto scroll feature is enabled
- * using a delay of 250ms. Overview feature is not enabled by default (use setOverviewEnabled()).
- *
- * @param c The parent composite.
- * @param style The SWT style bits @see SWT
- * @param mouseWheel Flag to force scrollView to handles mouse wheel
- */
- public ScrollView(Composite c, int style, boolean mouseWheel) {
- super(c, SWT.NONE);
-
- fHorScrollBar = new Canvas(this, SWT.H_SCROLL);
- if (mouseWheel) {
- // force scroll bar to get mouse wheel, those scrollbar will be hidden
- fViewControl = new Canvas(this, style | SWT.H_SCROLL | SWT.V_SCROLL);
- } else {
- fViewControl = new Canvas(this, style);
- }
- fViewControl.setBackground(getBackground());
- // hide scroll bar as their are replaced by fHorScrollBar and fVertScrollBar.
- if (mouseWheel) {
- fViewControl.getVerticalBar().setVisible(false);
- fViewControl.getHorizontalBar().setVisible(false);
- }
- fVertScrollBar = new Canvas(this, SWT.V_SCROLL);
-
- setLayout(new SVLayout());
-
- fLocalPaintListener = new PaintListener() {
- @Override
- public void paintControl(PaintEvent event) {
- // use clipping, to reduce cost of paint.
- Rectangle r = event.gc.getClipping();
- int cx = viewToContentsX(r.x);
- int cy = viewToContentsY(r.y);
- drawContents(event.gc, cx, cy, r.width, r.height);
- }
- };
- fViewControl.addPaintListener(fLocalPaintListener);
-
- fLocalMouseMoveListener = new MouseMoveListener() {
- @Override
- public void mouseMove(MouseEvent e) {
- int ox = e.x, oy = e.y;
- e.x = viewToContentsX(e.x);
- e.y = viewToContentsY(e.y);
- contentsMouseMoveEvent(e);
- e.x = ox;
- e.y = oy;
- }
- };
-
- fViewControl.addMouseMoveListener(fLocalMouseMoveListener);
-
- MouseTrackListener localMouseTrackListener = new MouseTrackListener() {
- @Override
- public void mouseEnter(MouseEvent e) {
- int ox = e.x, oy = e.y;
- e.x = viewToContentsX(e.x);
- e.y = viewToContentsY(e.y);
- contentsMouseEnter(e);
- e.x = ox;
- e.y = oy;
- }
-
- @Override
- public void mouseHover(MouseEvent e) {
- int ox = e.x, oy = e.y;
- e.x = viewToContentsX(e.x);
- e.y = viewToContentsY(e.y);
- contentsMouseHover(e);
- e.x = ox;
- e.y = oy;
- }
-
- @Override
- public void mouseExit(MouseEvent e) {
- int ox = e.x, oy = e.y;
- e.x = viewToContentsX(e.x);
- e.y = viewToContentsY(e.y);
- contentsMouseExit(e);
- e.x = ox;
- e.y = oy;
- }
-
- };
-
- fViewControl.addMouseTrackListener(localMouseTrackListener);
-
- fLocalMouseListener = new MouseListener() {
- @Override
- public void mouseDoubleClick(MouseEvent e) {
- int ox = e.x, oy = e.y;
- e.x = viewToContentsX(e.x);
- e.y = viewToContentsY(e.y);
- contentsMouseDoubleClickEvent(e);
- e.x = ox;
- e.y = oy;
- }
-
- @Override
- public void mouseDown(MouseEvent e) {
- int ox = e.x, oy = e.y;
- e.x = viewToContentsX(e.x);
- fMouseDownX = e.x;
- e.y = viewToContentsY(e.y);
- fMousDownY = e.y;
- contentsMouseDownEvent(e);
- e.x = ox;
- e.y = oy;
- }
-
- @Override
- public void mouseUp(MouseEvent e) {
- int ox = e.x, oy = e.y;
- e.x = viewToContentsX(e.x);
- e.y = viewToContentsY(e.y);
- contentsMouseUpEvent(e);
- e.x = ox;
- e.y = oy;
- // here because class extending me can catch mouse Up and want to scroll...
- fMouseDownX = -1;
- fMousDownY = -1;
- }
- };
- fViewControl.addMouseListener(fLocalMouseListener);
-
- fLocalKeyListener = new KeyListener() {
- @Override
- public void keyPressed(KeyEvent e) {
- keyPressedEvent(e);
- }
-
- @Override
- public void keyReleased(KeyEvent e) {
- keyReleasedEvent(e);
- }
- };
-
- fViewControl.addKeyListener(fLocalKeyListener);
-
- getVerticalBar().addSelectionListener(new SelectionListener() {
- @Override
- public void widgetSelected(SelectionEvent e) {
- setContentsPos(fContentsX, getVerticalBar().getSelection());
- // need to change "hidden" vertical bar value ?
- // force focus on fViewControl so we got future mouse wheel's scroll events
- if (!fViewControl.isFocusControl()) {
- fViewControl.setFocus();
- }
- }
-
- @Override
- public void widgetDefaultSelected(SelectionEvent e) {
- }
- });
-
- if (fViewControl.getVerticalBar() != null) {
- // add fViewControl hidden scrollbar listener to get mouse wheel ...
- fViewControl.getVerticalBar().addSelectionListener(new SelectionListener() {
- @Override
- public void widgetSelected(SelectionEvent e) {
- ScrollBar b = fViewControl.getVerticalBar();
- setContentsPos(fContentsX, b.getSelection());
- // change "real" vertical bar selection too
- getVerticalBar().setSelection(b.getSelection());
- }
-
- @Override
- public void widgetDefaultSelected(SelectionEvent e) {
- }
- });
- }
- getHorizontalBar().addSelectionListener(new SelectionListener() {
- @Override
- public void widgetSelected(SelectionEvent e) {
- setContentsPos(getHorizontalBar().getSelection(), fContentsY);
- // need to change "real" horizontal bar too ?
- // force focus on fViewControl so we got future mouse wheel's scroll events
- if (!fViewControl.isFocusControl()) {
- fViewControl.setFocus();
- }
- }
-
- @Override
- public void widgetDefaultSelected(SelectionEvent e) {
- }
- });
- if (fViewControl.getHorizontalBar() != null) {
- fViewControl.getHorizontalBar().addSelectionListener(new SelectionListener() {
- @Override
- public void widgetSelected(SelectionEvent e) {
- ScrollBar b = fViewControl.getHorizontalBar();
- setContentsPos(b.getSelection(), fContentsY);
- // change "real" vertical bar selection too
- getHorizontalBar().setSelection(b.getSelection());
- }
-
- @Override
- public void widgetDefaultSelected(SelectionEvent e) {
- }
- });
- }
- }
-
- // ------------------------------------------------------------------------
- // Methods
- // ------------------------------------------------------------------------
-
- @Override
- public boolean setFocus() {
- return fViewControl.forceFocus();
- }
-
- @Override
- public void setCursor(Cursor cursor) {
- fViewControl.setCursor(cursor);
- }
-
- @Override
- public void dispose() {
- if (fAutoScroll != null) {
- fAutoScroll.cancel();
- fAutoScroll = null;
- }
- if (fViewControl != null) {
- fViewControl.dispose();
- }
- fViewControl = null;
- if (fVertScrollBar != null) {
- fVertScrollBar.dispose();
- }
- fVertScrollBar = null;
- if (fHorScrollBar != null) {
- fHorScrollBar.dispose();
- }
- fHorScrollBar = null;
- if (fCornerControl != null) {
- Object data = fCornerControl.getData();
- if (data instanceof Overview) {
- ((Overview) data).dispose();
- }
- fCornerControl.dispose();
- fCornerControl = null;
- }
- super.dispose();
- }
-
- @Override
- public Rectangle getClientArea() {
- Rectangle area = fViewControl.getClientArea();
- /* Clamp the size of the returned area to 1x1 minimum */
- area.width = Math.max(area.width, 1);
- area.height = Math.max(area.height, 1);
- return area;
- }
-
- @Override
- public void setBackground(Color c) {
- super.setBackground(c);
- fViewControl.setBackground(c);
- }
-
- @Override
- public void setToolTipText(String text) {
- fViewControl.setToolTipText(text);
- }
-
- /**
- * Draw overview area, @see setOverviewEnabled. By default draw a rectangle corresponding to the visible area of
- * scroll view. You can redefine this method to draw the contents as drawContents does... ...in an other magnify
- * factor.
- *
- * @param gc GC to used to draw.
- * @param r Rectangle corresponding to the client area of overview.
- */
- protected void drawOverview(GC gc, Rectangle r) {
- int x = (int) (r.width * fContentsX / (float) fContentsWidth);
- int y = (int) (r.height * fContentsY / (float) fContentsHeight);
- int vw = getVisibleWidth();
- int vh = getVisibleHeight();
- int w = r.width - 1;
- if (fContentsWidth > vw) {
- w = (int) (r.width * vw / (float) fContentsWidth);
- }
- int h = r.height - 1;
- if (fContentsHeight > vh) {
- h = (int) (r.height * vh / (float) fContentsHeight);
- }
-
- gc.setForeground(getForeground());
- // too small rectangle ?
- if (w < 5 || h < 5) {
- // use a cross ...
- gc.drawLine(x, 0, x, r.height);
- gc.drawLine(0, y, r.width, y);
- } else {
- gc.drawRectangle(x, y, w, h);
- }
- }
-
- /**
- * Remove the local Listener and add the new listener.
- *
- * @param nlistener the new listener
- */
- public void replaceControlListener(ControlListener nlistener) {
- if (fLocalControlListener != null) {
- removeControlListener(fLocalControlListener);
- fLocalControlListener = null;
- }
- addControlListener(nlistener);
- }
-
- /**
- * Remove the local Listener and add the new listener.
- *
- * @param nlistener the new listener
- */
- public void replaceKeyListener(KeyListener nlistener) {
- if (fLocalKeyListener != null) {
- removeKeyListener(fLocalKeyListener);
- fLocalKeyListener = null;
- }
- addKeyListener(nlistener);
- }
-
- /**
- * Remove the local Listener and add the new listener.
- *
- * @param nlistener the new listener
- */
- public void replaceMouseListener(MouseListener nlistener) {
- if (fLocalMouseListener != null) {
- removeMouseListener(fLocalMouseListener);
- fLocalMouseListener = null;
- }
- fViewControl.addMouseListener(nlistener);
- }
-
- /**
- * Remove the local Listener and add the new listener.
- *
- * @param nlistener the new listener
- */
- public void replaceMouseMoveListener(MouseMoveListener nlistener) {
- if (fLocalMouseMoveListener != null) {
- removeMouseMoveListener(fLocalMouseMoveListener);
- fLocalMouseMoveListener = null;
- }
- fViewControl.addMouseMoveListener(nlistener);
- }
-
- /**
- * Remove the local Listener and add the new listener.
- *
- * @param nlistener the new listener
- */
- public void replacePaintListener(PaintListener nlistener) {
- if (fLocalPaintListener != null) {
- removePaintListener(fLocalPaintListener);
- fLocalPaintListener = null;
- }
- fViewControl.addPaintListener(nlistener);
- }
-
- /**
- * Access method for the contentsHeight property.
- *
- * @return the current value of the contentsHeight property
- */
- public int getContentsHeight() {
- return fContentsHeight;
- }
-
- /**
- * Access method for the contentsWidth property.
- *
- * @return the current value of the contentsWidth property
- */
- public int getContentsWidth() {
- return fContentsWidth;
- }
-
- /**
- * Access method for the contentsX property.
- *
- * @return the current value of the contentsX property
- */
- public int getContentsX() {
- return fContentsX;
- }
-
- /**
- * Access method for the contentsY property.
- *
- * @return the current value of the contentsY property
- */
- public int getContentsY() {
- return fContentsY;
- }
-
- /**
- * Determines if the dragAutoScroll property is true.
- *
- * @return <code>true<code> if the dragAutoScroll property is true
- */
- public boolean isDragAutoScroll() {
- return fAutoScrollEnabled;
- }
-
- /**
- * Sets the value of the dragAutoScroll property.
- *
- * @param aDragAutoScroll the new value of the dragAutoScroll property
- */
- public void setDragAutoScroll(boolean aDragAutoScroll) {
- fAutoScrollEnabled = aDragAutoScroll;
- if (!fAutoScrollEnabled && (fAutoScroll != null)) {
- fAutoScroll.cancel();
- fAutoScroll = null;
- }
- }
-
- /**
- * Change delay (in millisec) used for auto scroll feature.
- *
- * @param period new period between to auto scroll
- */
- public void setDragAutoScrollPeriod(int period) {
- fAutoScrollPeriod = Math.max(0, period);
- }
-
- /**
- * Return auto scroll period.
- *
- * @return The period
- */
- public int getDragAutoScrollPeriod() {
- return fAutoScrollPeriod;
- }
-
- /**
- * Access method for the hScrollBarMode property.
- *
- * @return the current value of the hScrollBarMode property
- */
- public int getHScrollBarMode() {
- return fHorScrollbarMode;
- }
-
- /**
- * Sets the value of the hScrollBarMode property.
- *
- * @param aHScrollBarMode the new value of the hScrollBarMode property
- */
- public void setHScrollBarMode(int aHScrollBarMode) {
- fHorScrollbarMode = aHScrollBarMode;
- }
-
- /**
- * Access method for the vScrollBarMode property.
- *
- * @return the current value of the vScrollBarMode property
- */
- public int getVScrollBarMode() {
- return fVertScrollbarMode;
- }
-
- /**
- * Sets the value of the vScrollBarMode property.
- *
- * @param aVScrollBarMode the new value of the vScrollBarMode property
- */
- public void setVScrollBarMode(int aVScrollBarMode) {
- fVertScrollbarMode = aVScrollBarMode;
- }
-
- /**
- * Return horizontal scroll bar increment, default:1
- *
- * @return The increment
- */
- public int getHScrollBarIncrement() {
- return fHorScrollbarIncrement;
- }
-
- /**
- * Return vertical scroll bar increment, default:1
- *
- * @return The increment
- */
- public int getVScrollBarIncrement() {
- return fVertScrollbarIncrement;
- }
-
- /**
- * Change horizontal scroll bar increment, minimum:1. Page increment is
- * always set to visible width.
- *
- * @param inc
- * Increment value to set
- */
- public void setHScrollBarIncrement(int inc) {
- fHorScrollbarIncrement = Math.max(1, inc);
- }
-
- /**
- * Change vertical scroll bar increment, minimum:1. Page increment is always
- * set to visible height.
- *
- * @param inc
- * Increment value to set
- */
- public void setVScrollBarIncrement(int inc) {
- fVertScrollbarIncrement = Math.max(1, inc);
- }
-
- /**
- * Enable or disable overview feature. Enabling overview, dispose and replace existing corner control by a button.
- * Clicking in it open overview, move mouse cursor holding button to move scroll view and release button to hide
- * overview. Tip: hold control and/or shift key while moving mouse when overview is open made fine scroll.
- *
- * @param value true to engage overview feature
- */
- public void setOverviewEnabled(boolean value) {
- if (isOverviewEnabled() == value) {
- return;
- }
-
- Control cc = null;
- if (value) {
- Button b = new Button(this, SWT.NONE);
- b.setText("+"); //$NON-NLS-1$
- Overview ovr = new Overview();
- ovr.useControl(b);
- b.setData(ovr);
- cc = b;
- b.setToolTipText(Messages.SequenceDiagram_OpenOverviewTooltip);
- }
- setCornerControl(cc);
- }
-
- /**
- * Change overview size (at ratio 1:1), default is 100
- *
- * @param size
- * The new size
- */
- public void setOverviewSize(int size) {
- fOverviewSize = Math.abs(size);
- }
-
- /**
- * Returns whether the overview is enabled or not.
- *
- * @return true is overview feature is enabled
- */
- public boolean isOverviewEnabled() {
- if (fCornerControl instanceof Button) {
- Object data = ((Button) fCornerControl).getData();
- // overview alreay
- if (data instanceof Overview) {
- return true;
- }
- }
- return false;
- }
-
- /**
- * Returns the overview size at ratio 1:1.
- *
- * @return current overview size at ratio 1:1
- */
- public int getOverviewSize() {
- return fOverviewSize;
- }
-
- /**
- * Returns control used to display view (might not be this object). Use this control to add/remove listener on the
- * draw area.
- *
- * @return control used to display view (might not be this object).
- */
- public Control getViewControl() {
- return fViewControl;
- }
-
- /**
- * Called when the mouse enter the ScrollView area
- *
- * @param e
- * Mouse event
- */
- protected void contentsMouseExit(MouseEvent e) {
- }
-
- /**
- * Called when the mouse enter the ScrollView area after and system defined
- * time
- *
- * @param e
- * Mouse event
- */
- protected void contentsMouseHover(MouseEvent e) {
- }
-
- /**
- * Called when the mouse enter the ScrollView area
- *
- * @param e
- * Mouse event
- */
- protected void contentsMouseEnter(MouseEvent e) {
- }
-
- /**
- * Called when user double on contents area.
- *
- * @param e
- * Mouse event
- */
- protected void contentsMouseDoubleClickEvent(MouseEvent e) {
- }
-
- /**
- * Called when mouse is on contents area and button is pressed.
- *
- * @param e
- * Mouse event
- */
- protected void contentsMouseDownEvent(MouseEvent e) {
- fMouseDownX = e.x;
- fMousDownY = e.y;
- }
-
- /**
- * TimerTask for auto scroll feature.
- */
- protected static class AutoScroll extends TimerTask {
-
- /** X delta */
- private int deltaX;
-
- /** Y delta */
- private int deltaY;
-
- /** ScrollView object */
- private ScrollView scrollView;
-
- /**
- * Constructor.
- *
- * @param sv
- * ScrollView object to use
- * @param dx
- * X delta
- * @param dy
- * Y delta
- */
- public AutoScroll(ScrollView sv, int dx, int dy) {
- scrollView = sv;
- deltaX = dx;
- deltaY = dy;
- }
-
- @Override
- public void run() {
- final Display display = Display.getDefault();
- if ((display == null) || display.isDisposed()) {
- return;
- }
- display.asyncExec(new Runnable() {
- @Override
- public void run() {
- if (!scrollView.isDisposed()) {
- scrollView.scrollBy(deltaX, deltaY);
- }
- }
- });
- }
- }
-
- /**
- * Called when mouse is on contents area and mode.
- *
- * @param event
- * Mouse event
- */
- protected void contentsMouseMoveEvent(MouseEvent event) {
- if ((event.stateMask & SWT.BUTTON_MASK) != 0) {
- if (!fAutoScrollEnabled) {
- scrollBy(-(event.x - fMouseDownX), -(event.y - fMousDownY));
- return;
- }
-
- int sx = 0, sy = 0;
-
- int vRight = getContentsX() + getVisibleWidth();
- int vBottom = getContentsY() + getVisibleHeight();
-
- // auto scroll... ?
- if (event.x < getContentsX()) {
- sx = (getContentsX() - event.x);
- fMouseDownX = getContentsX();
- } else if (event.x > vRight) {
- sx = -event.x + vRight;
- fMouseDownX = vRight;
- }
- if (event.y < getContentsY()) {
- sy = (getContentsY() - event.y);
- fMousDownY = getContentsY();
- } else if (event.y > vBottom) {
- sy = -event.y + vBottom;
- fMousDownY = vBottom;
- }
-
- if (sx != 0 || sy != 0) {
- // start auto scroll...
- if (fAutoScroll == null) {
- if (fAutoScrollTimer == null) {
- fAutoScrollTimer = new Timer(true);
- }
- fAutoScroll = new AutoScroll(this, sx, sy);
- fAutoScrollTimer.schedule(fAutoScroll, 0, fAutoScrollPeriod);
- } else {
- fAutoScroll.deltaX = sx;
- fAutoScroll.deltaY = sy;
- }
- } else {
- if (fAutoScroll != null) {
- fAutoScroll.cancel();
- fAutoScroll = null;
- }
-
- scrollBy(-(event.x - fMouseDownX), -(event.y - fMousDownY));
- }
- }
- }
-
- /**
- * Called when mouse is on contents area and button is released
- *
- * @param event
- * Mouse event
- */
- protected void contentsMouseUpEvent(MouseEvent event) {
- // reset auto scroll if it's engaged
- if (fAutoScroll != null) {
- fAutoScroll.cancel();
- fAutoScroll = null;
- }
- }
-
- /**
- * Responsible to draw contents area. At least rectangle clipX must be
- * redrawn. This rectangle is given in contents coordinates. By default, no
- * paint is produced.
- *
- * @param gc
- * Graphics context
- * @param clipx
- * X clip
- * @param clipy
- * Y clip
- * @param clipw
- * W clip
- * @param cliph
- * H clip
- */
- protected void drawContents(GC gc, int clipx, int clipy, int clipw, int cliph) {
- }
-
- /**
- * Change the size of the contents area.
- *
- * @param width new width of the area.
- * @param height new height of the area.
- */
- public void resizeContents(int width, int height) {
- int localWidth = width;
- int localHeight = height;
-
- if (localWidth < 0) {
- localWidth = 0;
- }
- if (localHeight < 0) {
- localHeight = 0;
- }
-
- int oldW = fContentsWidth;
- int oldH = fContentsHeight;
-
- if (localWidth == oldW && localHeight == oldH) {
- return;
- }
-
- fContentsWidth = localWidth;
- fContentsHeight = localHeight;
-
- if (oldW > localWidth) {
- int s = localWidth;
- localWidth = oldW;
- oldW = s;
- }
-
- int visWidth = getVisibleWidth();
- int visHeight = getVisibleHeight();
- if (oldW < visWidth) {
- if (localWidth > visWidth) {
- localWidth = visWidth;
- }
- fViewControl.redraw(getContentsX() + oldW, 0, localWidth - oldW, visHeight, true);
- }
-
- if (oldH > localHeight) {
- int s = localHeight;
- localHeight = oldH;
- oldH = s;
- }
-
- if (oldH < visHeight) {
- if (localHeight > visHeight) {
- localHeight = visHeight;
- }
- fViewControl.redraw(0, getContentsY() + oldH, visWidth, localHeight - oldH, true);
- }
- if (updateScrollBarVisiblity()) {
- layout();
- } else {
- updateScrollBarsValues();
- }
- }
-
- // redefined for internal use ..
- @Override
- public void redraw() {
- super.redraw();
- // ..need to redraw this already:
- fViewControl.redraw();
- }
-
- /**
- * @param delataX The delta in X
- * @param deltaY the delta in Y
- */
- public void scrollBy(int delataX, int deltaY) {
- setContentsPos(getContentsX() + delataX, getContentsY() + deltaY);
- }
-
- /**
- * Scroll to ensure point(in contents coordinates) is visible.
- *
- * @param px Point's x position
- * @param py Point's y position
- */
- public void ensureVisible(int px, int py) {
- int cx = getContentsX(), cy = getContentsY();
- int right = getContentsX() + getVisibleWidth();
- int bottom = getContentsY() + getVisibleHeight();
- if (px < getContentsX()) {
- cx = px;
- } else if (px > right) {
- cx = px - getVisibleWidth();
- }
- if (py < getContentsY()) {
- cy = py;
- } else if (py > bottom) {
- cy = py - getVisibleHeight();
- }
- setContentsPos(cx, cy);
- }
-
- /**
- * Make rectangle (x,y,w,h, in contents coordinates) visible. if rectangle cannot be completely visible, use
- * align flags.
- *
- * @param xValue x contents coordinates of rectangle.
- * @param yValue y contents coordinates of rectangle.
- * @param width width of rectangle.
- * @param height height of rectangle.
- * @param align bit or'ed SWT flag like SWT.LEFT,RIGHT,CENTER,TOP,BOTTOM,VERTICAL used only for bigger rectangle
- * than visible area. By default CENTER/VERTICAL
- */
- public void ensureVisible(int xValue, int yValue, int width, int height, int align) {
- ensureVisible(xValue, yValue, width, height, align, false);
- }
-
- /**
- * Make rectangle (xValue,yValue,width,height, in contents coordinates) visible. if rectangle cannot be completely visible, use
- * align flags.
- *
- * @param xValue x contents coordinates of rectangle.
- * @param yValue y contents coordinates of rectangle.
- * @param width width of rectangle.
- * @param height height of rectangle.
- * @param align bit or'ed SWT flag like SWT.LEFT,RIGHT,CENTER,TOP,BOTTOM,VERTICAL used only for bigger rectangle
- * than visible area. By default CENTER/VERTICAL
- * @param forceAlign force alignment for rectangle smaller than the visible area
- */
- protected void ensureVisible(int xValue, int yValue, int width, int height, int align, boolean forceAlign) {
-
- int localX = xValue;
- int localY = yValue;
- int localWidth = width;
- int localHeight = height;
-
- if (localWidth < 0) {
- localX = localX + localWidth;
- localWidth = -localWidth;
- }
- if (localHeight < 0) {
- localY = localY + localHeight;
- localHeight = -localHeight;
- }
- int hbar = getHorizontalBarHeight();
- int vbar = getVerticalBarWidth();
- int cx = getContentsX();
- int cy = getContentsY();
- int right = getContentsX() + getVisibleWidth() - vbar;
- int bottom = getContentsY() + getVisibleHeight() - hbar;
- boolean alignH = false, alignV = false;
-
- if (localX < getContentsX()) {
- cx = localX;
- } else if (localX + localWidth > right) {
- cx = localX - localWidth;
- }
- if (localY < getContentsY()) {
- cy = localY;
- } else if (localY + localHeight > bottom) {
- cy = localY - localHeight;
- }
-
- if (localWidth > getVisibleWidth()) {
- alignH = true;
- }
- if (localHeight > getVisibleHeight()) {
- alignV = true;
- }
- // compute alignment on visible area horizontally
- if (alignH || (forceAlign && localX + localWidth > right)) {
- // use align flags
- if ((align & SWT.LEFT) != 0) {
- cx = localX;
- } else if ((align & SWT.RIGHT) != 0) {
- cx = right - localWidth;
- } else { // center
- cx = localX + (localWidth - getVisibleWidth()) / 2;
- }
- }
- // compute alignment on visible area vertically
- if (alignV || (forceAlign && localY + localHeight > bottom)) {
- // use align flags
- if ((align & SWT.TOP) != 0) {
- cy = localY;
- } else if ((align & SWT.BOTTOM) != 0) {
- cy = bottom - localHeight;
- } else { // center
- cy = localY + (localHeight - getVisibleHeight()) / 2;
- }
- }
- setContentsPos(cx, cy);
- }
-
- /**
- * Returns true if point is visible (expressed in contents coordinates).
- *
- * @param px Point's x position
- * @param py Point's y position
- * @return true if point is visible (expressed in contents coordinates)
- */
- public boolean isVisible(int px, int py) {
- if (px < getContentsX()) {
- return false;
- }
- if (py < getContentsY()) {
- return false;
- }
- if (px > (getContentsX() + getVisibleWidth())) {
- return false;
- }
- if (py > (getContentsY() + getVisibleHeight())) {
- return false;
- }
- return true;
- }
-
- /**
- * Returns true if rectangle if partially visible.
- *
- * @param xValue x contents coordinates of rectangle.
- * @param yValue y contents coordinates of rectangle.
- * @param width width of rectangle.
- * @param height height of rectangle.
- * @return true if rectangle if partially visible.
- */
- public boolean isVisible(int xValue, int yValue, int width, int height) {
- if (xValue + width < getContentsX()) {
- return false;
- }
- if (yValue + height < getContentsY()) {
- return false;
- }
- int vr = getContentsX() + getVisibleWidth();
- int vb = getContentsY() + getVisibleHeight();
- if (xValue > vr) {
- return false;
- }
- if (yValue > vb) {
- return false;
- }
- return true;
- }
-
- /**
- * Returns visible part of rectangle, or null if rectangle is not visible.
- * Rectangle is expressed in contents coordinates.
- *
- * @param xValue
- * x contents coordinates of rectangle.
- * @param yValue
- * y contents coordinates of rectangle.
- * @param width
- * width of rectangle.
- * @param height
- * height of rectangle.
- * @return visible part of rectangle, or null if rectangle is not visible.
- */
- public Rectangle getVisiblePart(int xValue, int yValue, int width, int height) {
- if (xValue + width < getContentsX()) {
- return null;
- }
- if (yValue + height < getContentsY()) {
- return null;
- }
- int vr = getContentsX() + getVisibleWidth();
- int vb = getContentsY() + getVisibleHeight();
- if (xValue > vr) {
- return null;
- }
- if (yValue > vb) {
- return null;
- }
- int rr = xValue + width, rb = yValue + height;
- int nl = Math.max(xValue, getContentsX()), nt = Math.max(yValue, getContentsY()), nr = Math.min(rr, vr), nb = Math.min(rb, vb);
- return new Rectangle(nl, nt, nr - nl, nb - nt);
- }
-
- /**
- * Returns the visible part for given rectangle.
- *
- * @param rect A rectangle
- *
- * @return gets visible part of rectangle (or <code>null</code>)
- */
- public final Rectangle getVisiblePart(Rectangle rect) {
- if (rect == null) {
- return null;
- }
- return getVisiblePart(rect.x, rect.y, rect.width, rect.height);
- }
-
- /**
- * Change top left position of visible area. Check if the given point is inside contents area.
- *
- * @param xValue x contents coordinates of visible area.
- * @param yValue y contents coordinates of visible area.
- * @return true if view really moves
- */
- public boolean setContentsPos(int xValue, int yValue) {
- int nx = xValue, ny = yValue;
- if (getVisibleWidth() >= getContentsWidth()) {
- nx = 0;
- } else {
- if (xValue < 0) {
- nx = 0;
- } else if (xValue + getVisibleWidth() > getContentsWidth()) {
- nx = getContentsWidth() - getVisibleWidth();
- }
- }
- if (getVisibleHeight() >= getContentsHeight()) {
- ny = 0;
- } else {
- if (yValue <= 0) {
- ny = 0;
- } else if (yValue + getVisibleHeight() > getContentsHeight()) {
- ny = getContentsHeight() - getVisibleHeight();
- }
- }
- // no move
- if (nx == fContentsX && ny == fContentsY) {
- return false;
- }
- fContentsX = nx;
- fContentsY = ny;
- updateScrollBarsValues();
- // ? find smallest area to redraw only them ?
- fViewControl.redraw();
- return true;
- }
-
- @Override
- public ScrollBar getVerticalBar() {
- return fVertScrollBar.getVerticalBar();
- }
-
- @Override
- public ScrollBar getHorizontalBar() {
- return fHorScrollBar.getHorizontalBar();
- }
-
- /**
- * Compute visibility of vertical/horizontal bar using given width/height and current visibility (i.e. is bar size are already in
- * for_xxx)
- * @param forWidth width of foreground
- * @param forHeight height of foreground
- * @param currHorVis The current visibility state of horizontal scroll bar
- * @param currVertvis The current visibility state of vertical scroll bar
- * @return <code>true</code> if visibility changed else <code>false</code>
- */
- public int computeBarVisibility(int forWidth, int forHeight, boolean currHorVis, boolean currVertvis) {
-
- int localForWidth = forWidth;
- int vis = 0x00;
- switch (fVertScrollbarMode) {
- case ALWAYS_OFF:
- break;
- case ALWAYS_ON:
- vis |= VBAR;
- break;
- case AUTO:
- if (getContentsHeight() > forHeight) {
- vis = VBAR;
- // v bar size is already in for_width.
- if (!currVertvis) {// (curr_vis&0x01)==0)
- localForWidth -= getVerticalBarWidth();
- }
- }
- break;
- default:
- break;
- }
-
- switch (fHorScrollbarMode) {
- case ALWAYS_OFF:
- break;
- case ALWAYS_ON:
- vis |= HBAR;
- break;
- case AUTO:
- if (getContentsWidth() > localForWidth) {
- vis |= HBAR;
- // h bar is not in for_height
- if ((!currHorVis) && (getContentsHeight() > (forHeight - getHorizontalBarHeight()))) {// (curr_vis&0x02)==0 )
- vis |= VBAR;
- }
- }
- break;
- default:
- break;
- }
- return vis;
- }
-
- /**
- * Setup scroll bars visibility.
- *
- * @return True if one of visibility changed.
- */
- protected boolean updateScrollBarVisiblity() {
- boolean change = false;
-
- boolean currVertVis = fVertScrollBar.getVisible();
- boolean currHorVis = fHorScrollBar.getVisible();
- int barNewVis = computeBarVisibility(getVisibleWidth(), getVisibleHeight(), currHorVis, currVertVis);
- boolean newVertVis = (barNewVis & VBAR) != 0;
- boolean newHorVis = (barNewVis & HBAR) != 0;
- if (currVertVis ^ newVertVis) { // vertsb_.getVisible() )
- fVertScrollBar.setVisible(newVertVis);
- change = true;
- }
- if (currHorVis ^ newHorVis) {
- fHorScrollBar.setVisible(newHorVis);
- change = true;
- }
-
- // update corner control visibility:
- if (fCornerControl != null && change) {
- boolean vis = newVertVis || newHorVis;
- if (vis ^ fCornerControl.getVisible()) {
- fCornerControl.setVisible(vis);
- change = true; // but must be already the case
- }
- }
- return change;
- }
-
- /**
- * Setup scroll bar using contents, visible and scroll bar mode properties.
- */
- protected void updateScrollBarsValues() {
- /* update vertical scrollbar */
- ScrollBar b = getVerticalBar();
- if (b != null) {
- b.setMinimum(0);
- b.setMaximum(getContentsHeight());
- b.setThumb(getVisibleHeight());
- b.setPageIncrement(getVisibleHeight());
- b.setIncrement(fVertScrollbarIncrement);
- b.setSelection(getContentsY());
- }
-
- // update "hidden" vertical bar too
- b = fViewControl.getVerticalBar();
- if (b != null) {
- b.setMinimum(0);
- b.setMaximum(getContentsHeight());
- b.setThumb(getVisibleHeight());
- b.setPageIncrement(getVisibleHeight());
- b.setIncrement(fVertScrollbarIncrement);
- b.setSelection(getContentsY());
- }
-
- /* update horizontal scrollbar */
- b = getHorizontalBar();
- if (b != null) {
- b.setMinimum(0);
- b.setMaximum(getContentsWidth());
- b.setThumb(getVisibleWidth());
- b.setSelection(getContentsX());
- b.setPageIncrement(getVisibleWidth());
- b.setIncrement(fHorScrollbarIncrement);
- }
- // update "hidden" horizontal bar too
- b = fViewControl.getHorizontalBar();
- if (b != null) {
- b.setMinimum(0);
- b.setMaximum(getContentsWidth());
- b.setThumb(getVisibleWidth());
- b.setSelection(getContentsX());
- b.setPageIncrement(getVisibleWidth());
- b.setIncrement(fHorScrollbarIncrement);
- }
- }
-
- /**
- * Change the control used in the bottom right corner (between two scrollbar), if control is null reset previous
- * corner control. This control is visible only if at least one scrollbar is visible. Given control will be disposed
- * by ScrollView, at dispose() time, at next setCornetControl() call or when calling setOverviewEnabled(). Pay
- * attention calling this reset overview feature until setOverviewEnabled(true) if called.
- * @param control The control for the overview
- */
- public void setCornerControl(Control control) {
- if (fCornerControl != null) {
- fCornerControl.dispose();
- }
- fCornerControl = control;
- if (fCornerControl != null) {
- ScrollBar vb = getVerticalBar();
- ScrollBar hb = getHorizontalBar();
- boolean vis = vb.getVisible() || hb.getVisible();
- fCornerControl.setVisible(vis);
- }
- }
-
- /**
- * Transform (x,y) point in widget coordinates to contents coordinates.
- *
- * @param x The x widget coordinate.
- * @param y The y widget coordinate.
- * @return org.eclipse.swt.graphics.Point with content coordinates.
- */
- public final Point viewToContents(int x, int y) {
- return new Point(viewToContentsX(x), viewToContentsY(y));
- }
-
- /**
- * Transform x in widget coordinates to contents coordinates
- *
- * @param x The y widget coordinate.
- * @return the x content coordinate.
- */
- public int viewToContentsX(int x) {
- return fContentsX + x;
- }
-
- /**
- * Transform y in widget coordinates to contents coordinates
- *
- * @param y The y widget coordinate.
- * @return the y content coordinate.
- */
- public int viewToContentsY(int y) {
- return fContentsY + y;
- }
-
- /**
- * Transform (x,y) point from contents coordinates, to widget coordinates.
- *
- * @param x The x content coordinate.
- * @param y The y content coordinate.
- * @return coordinates widget area as.
- */
- public final Point contentsToView(int x, int y) {
- return new Point(contentsToViewX(x), contentsToViewY(y));
- }
-
- /**
- * Transform X axis coordinates from contents to widgets.
- *
- * @param x contents coordinate to transform.
- * @return x coordinate in widget area
- */
- public int contentsToViewX(int x) {
- return x - fContentsX;
- }
-
- /**
- * Transform Y axis coordinates from contents to widgets.
- *
- * @param y contents coordinate to transform
- * @return y coordinate in widget area
- */
- public int contentsToViewY(int y) {
- return y - fContentsY;
- }
-
- /**
- * Return the visible height of scroll view, might be > contentsHeight
- *
- * @return the visible height of scroll view, might be > contentsHeight()
- */
- public int getVisibleHeight() {
- return fViewControl.getClientArea().height;
- }
-
- /**
- * Return int the visible width of scroll view, might be > contentsWidth().
- *
- * @return int the visible width of scroll view, might be > contentsWidth()
- */
- public int getVisibleWidth() {
- return fViewControl.getClientArea().width;
- }
-
- /**
- * Add support for arrow key, scroll the ... scroll view. But you can
- * redefine this method for your convenience.
- *
- * @param event
- * Keyboard event
- */
- protected void keyPressedEvent(KeyEvent event) {
- switch (event.keyCode) {
- case SWT.ARROW_UP:
- scrollBy(0, -getVisibleHeight());
- break;
- case SWT.ARROW_DOWN:
- scrollBy(0, +getVisibleHeight());
- break;
- case SWT.ARROW_LEFT:
- scrollBy(-getVisibleWidth(), 0);
- break;
- case SWT.ARROW_RIGHT:
- scrollBy(+getVisibleWidth(), 0);
- break;
- default:
- break;
- }
- }
-
- /**
- * Redefine this method at your convenience
- *
- * @param event The key event.
- */
- protected void keyReleasedEvent(KeyEvent event) {
- }
-
- /**
- * Returns vertical bar width, even if bar isn't visible.
- *
- * @return vertical bar width, even if bar isn't visible
- */
- public int getVerticalBarWidth() {
- // include vertical bar width and trimming of scrollable used
- int bw = fVertScrollBar.computeTrim(0, 0, 0, 0).width;
- return bw + 1;
- }
-
- /**
- * Returns horizontal bar height even if bar isn't visible.
- *
- * @return horizontal bar height even if bar isn't visible
- */
- public int getHorizontalBarHeight() {
- // include horiz. bar height and trimming of scrollable used
- int bh = fHorScrollBar.computeTrim(0, 0, 0, 0).height;
- // +1 because win32 H.bar need 1 pixel canvas size to appear ! (strange no ?)
- return bh + 1;
- }
-
- @Override
- public Rectangle computeTrim(int x, int y, int w, int h) {
- Rectangle r = new Rectangle(x, y, w, h);
- int barVis = computeBarVisibility(w, h, false, false);
- if ((barVis & VBAR) != 0) {
- r.width += getVerticalBarWidth();
- }
- if ((barVis & HBAR) != 0) {
- r.height += getHorizontalBarHeight();
- }
- return r;
- }
-
- /**
- * Internal layout for ScrollView, handle scrollbars, drawzone and corner control
- */
- protected class SVLayout extends Layout {
-
- private static final int DEFAULT_X = 250;
- private static final int DEFAULT_Y = 250;
- private static final int MAX_SEEK = 10;
- private static final int MIN_SEEK = 0;
-
- /**
- * The seek value
- */
- private int seek = 0;
- /**
- * The do-it-not flag
- */
- private boolean dontLayout = false;
-
- @Override
- protected Point computeSize(Composite composite, int wHint, int hHint, boolean flushCache) {
- Point p = new Point(DEFAULT_X, DEFAULT_Y);
- if (fContentsWidth < p.x) {
- p.x = fContentsWidth;
- }
- if (fContentsHeight < p.y) {
- p.y = fContentsHeight;
- }
- return p;
- }
-
- @Override
- protected void layout(Composite composite, boolean flushCache) {
- if (dontLayout) {
- return;
- }
- seek++;
- if (seek > MAX_SEEK) {
- dontLayout = true;
- }
-
- Point cs = composite.getSize();
- int barVis = computeBarVisibility(cs.x, cs.y, false, false);
- boolean vbVis = (barVis & VBAR) != 0;
- boolean hbVis = (barVis & HBAR) != 0;
- fVertScrollBar.setVisible(vbVis);
- fHorScrollBar.setVisible(hbVis);
- int vbw = getVerticalBarWidth();
- int hbh = getHorizontalBarHeight();
- int wb = vbVis ? vbw : 0;
- int hb = hbVis ? hbh : 0;
- int cww = 0, cwh = 0;
-
- if (fCornerControl != null && (vbVis || hbVis)) { // corner_control_.getVisible())
- fCornerControl.setVisible(true);
- cww = vbw;
- cwh = hbh;
- if (wb == 0) {
- wb = vbw;
- }
- if (hb == 0) {
- hb = hbh;
- }
- } else if (vbVis && hbVis) {
- if (fCornerControl != null) {
- fCornerControl.setVisible(false);
- }
- cww = vbw;
- cwh = hbh;
- }
- if (vbVis || hbVis) {
- updateScrollBarsValues();
- }
-
- int vw = cs.x - (vbVis ? vbw : 0);
- int vh = cs.y - (hbVis ? hbh : 0);
- int vbx = cs.x - wb;
- int hby = cs.y - hb;
-
- fViewControl.setBounds(0, 0, vw, vh);
-
- if (vbVis) {
- fVertScrollBar.setBounds(vbx, 0, wb, cs.y - cwh);
- }
- if (hbVis) {
- fHorScrollBar.setBounds(0, hby, cs.x - cww, hb);
- }
- if (fCornerControl != null && fCornerControl.getVisible()) {
- fCornerControl.setBounds(vbx, hby, vbw, hbh);
- }
- updateScrollBarsValues();
-
- seek--;
- if (seek == MIN_SEEK) {
- dontLayout = false;
- }
- }
-
- boolean isDontLayout() {
- return dontLayout;
- }
-
- void setSontLayout(boolean dontLayout) {
- this.dontLayout = dontLayout;
- }
- }
-
- // static must take place here... cursor is created once.
- private volatile static Cursor fOverviewCursor;
-
- /** Support for click-and-see overview shell on this ScrollView */
- protected class Overview {
-
- private static final int REFRESH_FREQ = 4;
-
- /**
- * factor for X from real and overview sizes, for mouse move speed.
- */
- private float fOverviewFactorX;
-
- /**
- * factor for Y from real and overview sizes, for mouse move speed.
- */
- private float fOverviewFactorY;
- /**
- * shell use to show overview
- */
- private Shell fOverview;
- /**
- * save mouse X cursor location for disappear();
- */
- private int fSaveCursorX;
- /**
- * save mouse Y cursor location for disappear();
- */
- private int fSaveCursorY;
-
- /**
- * Apply overview support on a control. Replace existing corner_widget
- *
- * @param control
- * The control to use
- */
- public void useControl(Control control) {
- final Point pos = control.getLocation();
- control.addMouseListener(new MouseListener() {
- @Override
- public void mouseDoubleClick(MouseEvent e) {
- }
-
- @Override
- public void mouseDown(MouseEvent e) {
- overviewAppear(e.x, e.y);
- }
-
- @Override
- public void mouseUp(MouseEvent e) {
- overviewDisappear();
- }
- });
-
- control.addFocusListener(new FocusListener() {
-
- @Override
- public void focusGained(FocusEvent e) {
- }
-
- @Override
- public void focusLost(FocusEvent e) {
- if (overviewing()) {
- overviewDisappear(false);
- }
- }
-
- });
- control.addKeyListener(new KeyListener() {
-
- @Override
- public void keyPressed(KeyEvent event) {
- if (event.keyCode == 32 && !overviewing()) {
- overviewAppear(pos.x, pos.y);
- } else if (event.keyCode == 32) {
- overviewDisappear();
- }
- if (event.keyCode == SWT.ARROW_DOWN) {
- overviewMove(0, 1, event);
- }
-
- if (event.keyCode == SWT.ARROW_UP) {
- overviewMove(0, -1, event);
- }
-
- if (event.keyCode == SWT.ARROW_RIGHT) {
- overviewMove(1, 0, event);
- }
-
- if (event.keyCode == SWT.ARROW_LEFT) {
- overviewMove(-1, 0, event);
- }
- }
-
- @Override
- public void keyReleased(KeyEvent e) {
- }
- });
- control.addMouseMoveListener(new MouseMoveListener() {
- private int refReshCount = 0;
- @Override
- public void mouseMove(MouseEvent event) {
- if (overviewing()) {
- // Slow down the refresh
- if (refReshCount % REFRESH_FREQ == 0) {
- overviewMove(event);
- }
- refReshCount++;
- }
- }
- });
- }
-
- /**
- * Dispose controls of overview
- */
- public void dispose() {
- if (fOverview != null) {
- fOverview.dispose();
- }
- }
-
- /**
- * @return true if overview is currently on screen
- */
- protected boolean overviewing() {
- return (fOverview != null && fOverview.isVisible());
- }
-
- /**
- * Process overview appear
- *
- * @param mx
- * X coordinate
- * @param my
- * Y coordinate
- */
- protected void overviewAppear(int mx, int my) {
- if (fOverview == null) {
- fOverview = new Shell(getShell(), SWT.ON_TOP | SWT.NO_BACKGROUND);
- fOverview.addPaintListener(new PaintListener() {
- @Override
- public void paintControl(PaintEvent e) {
- drawOverview(e.gc, fOverview.getClientArea());
- }
- });
- }
- // always the same..
- fOverview.setForeground(fViewControl.getForeground());
-
- // get location of shell (in screeen coordinates)
- Point p = toGlobalCoordinates(fCornerControl, 0, 0);
- int x = p.x;
- int y = p.y;
- int w, h;
- h = fOverviewSize;
- w = h;
- Rectangle scr = getDisplay().getBounds();
- Point ccs = fCornerControl.getSize();
- try {
- if (fContentsWidth > fContentsHeight) {
- float ratio = fContentsHeight / (float) fContentsWidth;
- h = (int) (w * ratio);
- if (h < ccs.y) {
- h = ccs.y;
- } else if (h >= scr.height / 2) {
- h = scr.height / 2;
- }
- } else {
- float ratio = fContentsWidth / (float) fContentsHeight;
- w = (int) (h * ratio);
- if (w < ccs.x) {
- w = ccs.x;
- } else if (w >= scr.width / 2) {
- w = scr.width / 2;
- }
- }
- fOverviewFactorX = fContentsWidth / (float) w;
- fOverviewFactorY = fContentsHeight / (float) h;
- }
- // no contents size set ?
- catch (java.lang.ArithmeticException e) {
- }
-
- // try pop-up on button, extending to bottom right,
- if (x <= 0) {
- x = 1;
- }
- if (y <= 0) {
- y = 1;
- }
- x = x - w + ccs.x;
- y = y - h + ccs.y;
- fOverview.setBounds(x, y, w, h);
- fOverview.setVisible(true);
- fOverview.redraw();
- // mouse cursor disappear, so set invisible mouse cursor ...
- if (fOverviewCursor == null) {
- RGB rgb[] = { new RGB(0, 0, 0), new RGB(255, 0, 0) };
- PaletteData palette = new PaletteData(rgb);
- int s = 1;
- byte src[] = new byte[s * s];
- byte msk[] = new byte[s * s];
- for (int i = 0; i < s * s; ++i) {
- src[i] = (byte) 0xFF;
- }
- ImageData i_src = new ImageData(s, s, 1, palette, 1, src);
- ImageData i_msk = new ImageData(s, s, 1, palette, 1, msk);
- fOverviewCursor = new Cursor(null, i_src, i_msk, 0, 0);
- }
- fCornerControl.setCursor(fOverviewCursor);
- // convert to global coordinates
- p = toGlobalCoordinates(fCornerControl, mx, my);
- fSaveCursorX = p.x;
- fSaveCursorY = p.y;
-
- Rectangle r = fOverview.getClientArea();
- int cx = (int) (r.width * fContentsX / (float) fContentsWidth);
- int cy = (int) (r.height * fContentsY / (float) fContentsHeight);
-
- // cx,cy to display's global coordinates
- p = toGlobalCoordinates(fOverview.getParent(), cx, cy);
- }
-
- /**
- * Process disappear of overview
- */
- protected void overviewDisappear() {
- overviewDisappear(true);
- }
-
- /**
- * Process disappear of overview
- * @param restoreCursorLoc A flag to restore cursor location
- */
- protected void overviewDisappear(boolean restoreCursorLoc) {
- if (fOverview == null) {
- return;
- }
- fOverview.setVisible(false);
- fCornerControl.setCursor(null);
- if (restoreCursorLoc) {
- getDisplay().setCursorLocation(fSaveCursorX, fSaveCursorY);
- }
- fOverview.dispose();
- fOverview = null;
- }
-
- /**
- * Process mouse move in overview
- * @param event The mouse event
- */
- protected void overviewMove(MouseEvent event) {
- Point p = toGlobalCoordinates(fCornerControl, event.x, event.y);
- int dx = p.x - fSaveCursorX;
- int dy = p.y - fSaveCursorY;
- overviewMove(dx, dy, event);
- }
-
- /**
- * Process mouse move event when overviewing
- *
- * @param dx The x coordinates delta
- * @param dy The y coordinates delta
- * @param event The typed event
- */
- protected void overviewMove(int dx, int dy, TypedEvent event) {
- boolean ctrl = false;
- boolean shift = false;
-
- if (event instanceof MouseEvent) {
- MouseEvent e = (MouseEvent) event;
- getDisplay().setCursorLocation(fSaveCursorX, fSaveCursorY);
- ctrl = (e.stateMask & SWT.CONTROL) != 0;
- shift = (e.stateMask & SWT.SHIFT) != 0;
- } else if (event instanceof KeyEvent) {
- KeyEvent e = (KeyEvent) event;
- ctrl = (e.stateMask & SWT.CONTROL) != 0;
- shift = (e.stateMask & SWT.SHIFT) != 0;
- }
-
- int cx = fContentsX;
- int cy = fContentsY;
- float fx = fOverviewFactorX;
- float fy = fOverviewFactorY;
-
- if (ctrl && shift) {
- if ((fx * 0.25f > 1) && (fy * 0.25 > 1)) {
- fx = fy = 1.0f;
- } else {
- fx *= 0.1f;
- fy *= 0.1f;
- }
- } else if (ctrl) {
- fx *= 0.5f;
- fy *= 0.5f;
- } else if (shift) {
- fx *= 0.5f;
- fy *= 0.5f;
- }
- scrollBy((int) (fx * dx), (int) (fy * dy));
- if (cx != fContentsX || cy != fContentsY) {
- fOverview.redraw();
- fOverview.update(); // draw now !
- }
- }
-
- /**
- * Convert overview coordinates to global coordinates.
- *
- * @param loc
- * the control reference
- * @param x
- * The x coordinate to convert
- * @param y
- * The y coordinate to convert
- * @return The new converted Point
- */
- protected Point toGlobalCoordinates(Control loc, int x, int y) {
- Point p = new Point(x, y);
- for (Control c = loc; c != null; c = c.getParent()) {
- // control might have client area with 'decorations'
- int trimX = 0, trimY = 0;
- // other kind of widget with trimming ??
- if (c instanceof Scrollable) {
- Scrollable s = (Scrollable) c;
- Rectangle rr = s.getClientArea();
- Rectangle tr = s.computeTrim(rr.x, rr.y, rr.width, rr.height);
- trimX = rr.x - tr.x;
- trimY = rr.y - tr.y;
- }
- p.x += c.getLocation().x + trimX;
- p.y += c.getLocation().y + trimY;
- }
- return p;
- }
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/TimeCompressionBar.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/TimeCompressionBar.java
deleted file mode 100755
index 8a073ccb26..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/TimeCompressionBar.java
+++ /dev/null
@@ -1,1028 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2005, 2013 IBM Corporation, 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:
- * IBM - Initial API and implementation
- * Bernd Hufmann - Updated for TMF
- **********************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.views.uml2sd;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
-
-import org.eclipse.linuxtools.internal.tmf.ui.Activator;
-import org.eclipse.linuxtools.tmf.core.timestamp.ITmfTimestamp;
-import org.eclipse.linuxtools.tmf.core.timestamp.TmfTimestamp;
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.core.AsyncMessage;
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.core.AsyncMessageReturn;
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.core.BaseMessage;
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.core.ExecutionOccurrence;
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.core.Frame;
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.core.GraphNode;
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.core.ITimeRange;
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.core.Lifeline;
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.core.Metrics;
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.core.SDTimeEvent;
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.core.SyncMessage;
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.drawings.IColor;
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.drawings.impl.ColorImpl;
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.preferences.SDViewPref;
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.util.TimeEventComparator;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.accessibility.ACC;
-import org.eclipse.swt.accessibility.Accessible;
-import org.eclipse.swt.accessibility.AccessibleAdapter;
-import org.eclipse.swt.accessibility.AccessibleControlAdapter;
-import org.eclipse.swt.accessibility.AccessibleControlEvent;
-import org.eclipse.swt.accessibility.AccessibleEvent;
-import org.eclipse.swt.events.DisposeEvent;
-import org.eclipse.swt.events.DisposeListener;
-import org.eclipse.swt.events.FocusEvent;
-import org.eclipse.swt.events.FocusListener;
-import org.eclipse.swt.events.KeyEvent;
-import org.eclipse.swt.events.MouseEvent;
-import org.eclipse.swt.events.TraverseEvent;
-import org.eclipse.swt.events.TraverseListener;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.graphics.GC;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Display;
-
-/**
- * <p>
- * The time compression bar implementation.
- * </p>
- *
- * @version 1.0
- * @author sveyrier
- */
-public class TimeCompressionBar extends ScrollView implements DisposeListener {
-
- // ------------------------------------------------------------------------
- // Constants
- // ------------------------------------------------------------------------
- private static final int BASE_RED_VALUE = 255;
- private static final int BASE_GREEN_BLUE_VALUE = 225;
- private static final int COLOR_STEP = 25;
- private static final int NUMBER_STEPS = 10;
-
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
-
- /**
- * The listener list
- */
- private List<ITimeCompressionListener> fListenerList = null;
- /**
- * The current frame displayed.
- */
- private Frame fFrame = null;
- /**
- * List of time events.
- */
- private List<SDTimeEvent> fNodeList = null;
- /**
- * The minimum time delta.
- */
- private ITmfTimestamp fMinTime = new TmfTimestamp();
- /**
- * The maximum time delta.
- */
- private ITmfTimestamp fMaxTime = new TmfTimestamp();
- /**
- * The current zoom value.
- */
- private float fZoomValue = 1;
- /**
- * The tooltip to display.
- */
- private DrawableToolTip fTooltip = null;
- /**
- * Array of colors for displaying wight of time deltas.
- */
- private ColorImpl[] fColors;
- /**
- * The accessible object reference.
- */
- private Accessible fAccessible = null;
- /**
- * The focused widget reference.
- */
- private int fFocusedWidget = -1;
- /**
- * The current lifeline.
- */
- private Lifeline fLifeline = null;
- /**
- * The current start event value.
- */
- private int fLifelineStart = 0;
- /**
- * The current number of events.
- */
- private int fLifelineNumEvents = 0;
- /**
- * The Current color of range to display.
- */
- private IColor fLifelineColor = null;
- /**
- * The next graph node y coordinate.
- */
- private int fNextNodeY = 0;
- /**
- * The previous graph node y coordinate.
- */
- private int fPrevNodeY = 0;
-
- // ------------------------------------------------------------------------
- // Constructors
- // ------------------------------------------------------------------------
- /**
- * Standard constructor
- *
- * @param parent The parent composite
- * @param s The style bits
- */
- public TimeCompressionBar(Composite parent, int s) {
- super(parent, s | SWT.NO_BACKGROUND, false);
- setVScrollBarMode(ScrollView.ALWAYS_OFF);
- setHScrollBarMode(ScrollView.ALWAYS_OFF);
- fListenerList = new ArrayList<>();
- fColors = new ColorImpl[NUMBER_STEPS];
- int greenBlue = BASE_GREEN_BLUE_VALUE;
- final int step = COLOR_STEP;
- for (int i = 0; i < fColors.length; i++) {
- fColors[i] = new ColorImpl(Display.getDefault(), BASE_RED_VALUE, greenBlue, greenBlue);
- greenBlue -= step;
- }
- super.addDisposeListener(this);
-
- fAccessible = getViewControl().getAccessible();
-
- fAccessible.addAccessibleListener(new AccessibleAdapter() {
- @Override
- public void getName(AccessibleEvent e) {
- // Case toolTip
- if (e.childID == 0) {
- if (fTooltip != null) {
- e.result = fTooltip.getAccessibleText();
- }
- } else if (e.childID == 1) {
- createFakeTooltip();
- e.result = fTooltip.getAccessibleText();
- }
- }
- });
-
- fAccessible.addAccessibleControlListener(new AccessibleControlAdapter() {
- @Override
- public void getFocus(AccessibleControlEvent e) {
- if (fFocusedWidget == -1) {
- e.childID = ACC.CHILDID_SELF;
- }
- else {
- e.childID = fFocusedWidget;
- }
- }
-
- @Override
- public void getRole(AccessibleControlEvent e) {
- switch (e.childID) {
- case ACC.CHILDID_SELF:
- e.detail = ACC.ROLE_CLIENT_AREA;
- break;
- case 0:
- e.detail = ACC.ROLE_TOOLTIP;
- break;
- case 1:
- e.detail = ACC.ROLE_LABEL;
- break;
- default:
- break;
- }
- }
-
- @Override
- public void getState(AccessibleControlEvent e) {
- e.detail = ACC.STATE_FOCUSABLE;
- if (e.childID == ACC.CHILDID_SELF) {
- e.detail |= ACC.STATE_FOCUSED;
- } else {
- e.detail |= ACC.STATE_SELECTABLE;
- if (e.childID == fFocusedWidget) {
- e.detail |= ACC.STATE_FOCUSED | ACC.STATE_SELECTED | ACC.STATE_CHECKED;
- }
- }
- }
- });
-
- getViewControl().addTraverseListener(new LocalTraverseListener());
-
- addTraverseListener(new LocalTraverseListener());
-
- getViewControl().addFocusListener(new FocusListener() {
- @Override
- public void focusGained(FocusEvent e) {
- redraw();
- }
-
- @Override
- public void focusLost(FocusEvent e) {
- redraw();
- }
- });
- }
-
- // ------------------------------------------------------------------------
- // Methods
- // ------------------------------------------------------------------------
-
- /**
- * Sets the focus widget
- *
- * @param newFocusShape widget reference to set
- */
- void setFocus(int newFocusShape) {
- fFocusedWidget = newFocusShape;
- if (fFocusedWidget == -1) {
- getViewControl().getAccessible().setFocus(ACC.CHILDID_SELF);
- } else {
- getViewControl().getAccessible().setFocus(fFocusedWidget);
- }
- }
-
- /**
- * Sets the current frame.
- *
- * @param theFrame The frame to set
- */
- public void setFrame(Frame theFrame) {
- fFrame = theFrame;
- fMinTime = fFrame.getMinTime();
- fMaxTime = fFrame.getMaxTime();
- }
-
- @Override
- protected void drawContents(GC gc, int clipx, int clipy, int clipw, int cliph) {
- if (fFrame == null) {
- return;
- }
- fNodeList = new ArrayList<>();
- int messageArraysStep = 1;
-
- if ((Metrics.getMessageFontHeigth() + Metrics.MESSAGES_NAME_SPACING * 2) * fZoomValue < Metrics.MESSAGE_SIGNIFICANT_VSPACING + 1) {
- messageArraysStep = Math.round(Metrics.MESSAGE_SIGNIFICANT_VSPACING + 1 / ((Metrics.getMessageFontHeigth() + Metrics.MESSAGES_NAME_SPACING * 2) * fZoomValue));
- }
-
- int firstVisible = fFrame.getFirstVisibleSyncMessage();
- if (firstVisible > 0) {
- firstVisible = firstVisible - 1;
- }
- for (int i = firstVisible; i < fFrame.syncMessageCount(); i = i + messageArraysStep) {
- SyncMessage m = fFrame.getSyncMessage(i);
- if (m.hasTimeInfo()) {
- SDTimeEvent t = new SDTimeEvent(m.getStartTime(), m.getEventOccurrence(), m);
- fNodeList.add(t);
- if (m.getY() * fZoomValue > getContentsY() + getVisibleHeight()) {
- break;
- }
- }
- }
-
- firstVisible = fFrame.getFirstVisibleSyncMessageReturn();
- if (firstVisible > 0) {
- firstVisible = firstVisible - 1;
- }
- for (int i = firstVisible; i < fFrame.syncMessageReturnCount(); i = i + messageArraysStep) {
- SyncMessage m = fFrame.getSyncMessageReturn(i);
- if (m.hasTimeInfo()) {
- SDTimeEvent t = new SDTimeEvent(m.getStartTime(), m.getEventOccurrence(), m);
- fNodeList.add(t);
- if (m.getY() * fZoomValue > getContentsY() + getVisibleHeight()) {
- break;
- }
- }
- }
-
- firstVisible = fFrame.getFirstVisibleAsyncMessage();
- if (firstVisible > 0) {
- firstVisible = firstVisible - 1;
- }
- for (int i = firstVisible; i < fFrame.asyncMessageCount(); i = i + messageArraysStep) {
- AsyncMessage m = fFrame.getAsyncMessage(i);
- if (m.hasTimeInfo()) {
- SDTimeEvent t = new SDTimeEvent(m.getStartTime(), m.getStartOccurrence(), m);
- fNodeList.add(t);
- t = new SDTimeEvent(m.getEndTime(), m.getEndOccurrence(), m);
- fNodeList.add(t);
- if (m.getY() * fZoomValue > getContentsY() + getVisibleHeight()) {
- break;
- }
- }
- }
-
- firstVisible = fFrame.getFirstVisibleAsyncMessageReturn();
- if (firstVisible > 0) {
- firstVisible = firstVisible - 1;
- }
- for (int i = firstVisible; i < fFrame.asyncMessageReturnCount(); i = i + messageArraysStep) {
- AsyncMessageReturn m = fFrame.getAsyncMessageReturn(i);
- if (m.hasTimeInfo()) {
- SDTimeEvent t = new SDTimeEvent(m.getStartTime(), m.getStartOccurrence(), m);
- fNodeList.add(t);
- t = new SDTimeEvent(m.getEndTime(), m.getEndOccurrence(), m);
- fNodeList.add(t);
- if (m.getY() * fZoomValue > getContentsY() + getVisibleHeight()) {
- break;
- }
- }
- }
-
- List<SDTimeEvent> executionOccurrencesWithTime = fFrame.getExecutionOccurrencesWithTime();
- if (executionOccurrencesWithTime != null) {
- fNodeList.addAll(executionOccurrencesWithTime);
- }
-
- SDTimeEvent[] temp = fNodeList.toArray(new SDTimeEvent[fNodeList.size()]);
- Arrays.sort(temp, new TimeEventComparator());
- fNodeList = Arrays.asList(temp);
-
- Image dbuffer = new Image(getDisplay(), getClientArea().width, getClientArea().height);
- GC gcim = new GC(dbuffer);
-
- for (int i = 0; i < fNodeList.size() - 1; i++) {
- SDTimeEvent m1 = fNodeList.get(i);
- SDTimeEvent m2 = fNodeList.get(i + 1);
-
- if ((SDViewPref.getInstance().excludeExternalTime()) && ((m1.getGraphNode() instanceof BaseMessage) && (m2.getGraphNode() instanceof BaseMessage))) {
- BaseMessage mes1 = (BaseMessage) m1.getGraphNode();
- BaseMessage mes2 = (BaseMessage) m2.getGraphNode();
- if ((mes2.getStartLifeline() == null) || (mes1.getEndLifeline() == null)) {
- continue;
- }
- }
-
- fMinTime = fFrame.getMinTime();
- fMaxTime = fFrame.getMaxTime();
- ITmfTimestamp minMaxdelta = fMaxTime.getDelta(fMinTime);
- double gr = (minMaxdelta.getValue()) / (double) NUMBER_STEPS;
-
- ITmfTimestamp delta = m2.getTime().getDelta(m1.getTime()).getDelta(fMinTime);
- long absDelta = Math.abs(delta.getValue());
-
- ColorImpl color;
- if (gr != 0) {
- int colIndex = Math.round((float) (absDelta / gr));
- if (colIndex < fColors.length && colIndex > 0) {
- color = fColors[colIndex - 1];
- } else if (colIndex <= 0) {
- color = fColors[0];
- } else {
- color = fColors[fColors.length - 1];
- }
- } else {
- color = fColors[0];
- }
-
- if (color.getColor() instanceof Color) {
- gcim.setBackground((Color) color.getColor());
- }
- int y1 = ((GraphNode) m1.getGraphNode()).getY();
- int y2 = ((GraphNode) m2.getGraphNode()).getY();
- if (m1.getGraphNode() instanceof AsyncMessage) {
- AsyncMessage as = (AsyncMessage) m1.getGraphNode();
- if (as.getEndTime() == m1.getTime()) {
- y1 += as.getHeight();
- }
- }
- if (m2.getGraphNode() instanceof AsyncMessage) {
- AsyncMessage as = (AsyncMessage) m2.getGraphNode();
- if (as.getEndTime() == m2.getTime()) {
- y2 += as.getHeight();
- }
- }
- if (m1.getGraphNode() instanceof ExecutionOccurrence) {
-
- ExecutionOccurrence eo = (ExecutionOccurrence) m1.getGraphNode();
- if (m1.getEvent() == eo.getEndOccurrence()) {
- y1 += eo.getHeight();
- }
-
- if (m2.getGraphNode() instanceof ExecutionOccurrence) {
-
- ExecutionOccurrence eo2 = (ExecutionOccurrence) m2.getGraphNode();
- if (m2.getEvent() == eo2.getEndOccurrence()) {
- y2 += eo2.getHeight();
- }
-
- }
- }
- gcim.fillRectangle(contentsToViewX(0), contentsToViewY(Math.round(y1 * fZoomValue)), 10, Math.round((y2 - y1) * fZoomValue) + 1);
- if (messageArraysStep == 1) {
- Color backupColor = gcim.getForeground();
- gcim.setForeground(Display.getDefault().getSystemColor(SWT.COLOR_WHITE));
- gcim.drawRectangle(contentsToViewX(0), contentsToViewY(Math.round(y1 * fZoomValue)), 9, Math.round((y2 - y1) * fZoomValue));
- gcim.setForeground(backupColor);
- }
- }
- if (getViewControl().isFocusControl() || isFocusControl()) {
- gcim.drawFocus(contentsToViewX(0), contentsToViewY(Math.round(fPrevNodeY * fZoomValue)), contentsToViewX(10), Math.round((fNextNodeY - fPrevNodeY) * fZoomValue));
- }
- try {
- gc.drawImage(dbuffer, 0, 0, getClientArea().width, getClientArea().height, 0, 0, getClientArea().width, getClientArea().height);
- } catch (Exception e) {
- Activator.getDefault().logError("Error drawing image", e); //$NON-NLS-1$
- }
- gcim.dispose();
- dbuffer.dispose();
- gc.dispose();
- }
-
- /**
- * Checks for focus of children.
- *
- * @param children
- * Control to check
- * @return true if child is on focus else false
- */
- protected boolean checkFocusOnChilds(Control children) {
- if (children instanceof Composite) {
- Control[] child = ((Composite) children).getChildren();
- for (int i = 0; i < child.length; i++) {
- if (child[i].isFocusControl()) {
- return true;
- }
- checkFocusOnChilds(child[i]);
- }
- }
- return false;
- }
-
- @Override
- public boolean isFocusControl() {
- Control[] child = getChildren();
- for (int i = 0; i < child.length; i++) {
- if (child[i].isFocusControl()) {
- return true;
- }
- checkFocusOnChilds(child[i]);
- }
- return false;
- }
-
- @Override
- protected void contentsMouseMoveEvent(MouseEvent event) {
- if (fTooltip != null) {
- fTooltip.hideToolTip();
- }
- super.contentsMouseMoveEvent(event);
- if (!isFocusControl() || getViewControl().isFocusControl()) {
- Control[] child = getParent().getChildren();
- for (int i = 0; i < child.length; i++) {
- if (child[i].isFocusControl()) {
- break;
- }
- }
- }
- setFocus(-1);
- }
-
- @Override
- protected void contentsMouseHover(MouseEvent e) {
- if (fTooltip == null) {
- fTooltip = new DrawableToolTip(this);
- }
- if (fFrame != null) {
- setFocus(0);
- for (int i = 0; i < fNodeList.size() - 1; i++) {
- SDTimeEvent m1 = fNodeList.get(i);
- SDTimeEvent m2 = fNodeList.get(i + 1);
-
- if ((SDViewPref.getInstance().excludeExternalTime()) && ((m1.getGraphNode() instanceof BaseMessage) && (m2.getGraphNode() instanceof BaseMessage))) {
- BaseMessage mes1 = (BaseMessage) m1.getGraphNode();
- BaseMessage mes2 = (BaseMessage) m2.getGraphNode();
- if ((mes2.getStartLifeline() == null) || (mes1.getEndLifeline() == null)) {
- continue;
- }
- }
-
- int y1 = ((GraphNode) m1.getGraphNode()).getY();
- int y2 = ((GraphNode) m2.getGraphNode()).getY();
-
- if (m1.getGraphNode() instanceof AsyncMessage) {
- AsyncMessage as = (AsyncMessage) m1.getGraphNode();
- if (as.getEndTime() == m1.getTime()) {
- y1 += as.getHeight();
- }
- }
- if (m2.getGraphNode() instanceof AsyncMessage) {
- AsyncMessage as = (AsyncMessage) m2.getGraphNode();
- if (as.getEndTime() == m2.getTime()) {
- y2 += as.getHeight();
- }
- }
- if (m1.getGraphNode() instanceof ExecutionOccurrence) {
- ExecutionOccurrence eo = (ExecutionOccurrence) m1.getGraphNode();
- if (m1.getEvent() == eo.getEndOccurrence()) {
- y1 += eo.getHeight();
- }
-
- if (m2.getGraphNode() instanceof ExecutionOccurrence) {
-
- ExecutionOccurrence eo2 = (ExecutionOccurrence) m2.getGraphNode();
- if (m2.getEvent() == eo2.getEndOccurrence()) {
- y2 += eo2.getHeight();
- }
- }
- }
- int m1Y = Math.round(y1 * fZoomValue);
- int m2Y = Math.round(y2 * fZoomValue);
- if ((m1Y < e.y) && (m2Y >= e.y)) {
- ITmfTimestamp delta = m2.getTime().getDelta(m1.getTime());
- fTooltip.showToolTip(delta, fMinTime, fMaxTime);
- }
- }
- }
- setFocus(0);
- }
-
- @Override
- protected void contentsMouseExit(MouseEvent e) {
- if (fTooltip != null) {
- fTooltip.hideToolTip();
- }
- }
-
- @Override
- protected void contentsMouseUpEvent(MouseEvent event) {
- selectTimeDelta(event.y, 0);
- setFocus();
- super.contentsMouseUpEvent(event);
- }
-
- /**
- * Force the time compression bar to highlight the event occurrences between
- * the two given messages. The event occurrences are highlighted on the
- * first message's end lifeline
- *
- * @param mes1
- * the first message
- * @param mes2
- * the second message
- */
- public void highlightRegion(BaseMessage mes1, BaseMessage mes2) {
- BaseMessage localMes1 = mes1;
- BaseMessage localMes2 = mes2;
-
- if (fFrame == null) {
- return;
- }
- if (!(localMes1 instanceof ITimeRange)) {
- return;
- }
- if (!(localMes2 instanceof ITimeRange)) {
- return;
- }
- ITimeRange t1 = (ITimeRange) localMes1;
- ITimeRange t2 = (ITimeRange) localMes2;
-
- ITmfTimestamp time1 = t1.getStartTime();
- ITmfTimestamp time2 = t2.getStartTime();
- int event1 = localMes1.getEventOccurrence();
- int event2 = localMes2.getEventOccurrence();
-
- if (localMes1 instanceof AsyncMessage) {
- AsyncMessage as = (AsyncMessage) localMes1;
- time1 = as.getEndTime();
- event1 = as.getEndOccurrence();
- }
- if (localMes2 instanceof AsyncMessage) {
- AsyncMessage as = (AsyncMessage) localMes2;
- if (as.getEndOccurrence() > as.getStartOccurrence()) {
- time1 = as.getEndTime();
- event1 = as.getEndOccurrence();
- } else {
- time1 = as.getStartTime();
- event1 = as.getStartOccurrence();
- }
- }
-
- if (event1 > event2) {
- BaseMessage tempMes = localMes2;
- localMes2 = localMes1;
- localMes1 = tempMes;
-
- t1 = (ITimeRange) localMes1;
- t2 = (ITimeRange) localMes2;
-
- time1 = t1.getStartTime();
- time2 = t2.getStartTime();
- event1 = localMes1.getEventOccurrence();
- event2 = localMes2.getEventOccurrence();
-
- if (localMes1 instanceof AsyncMessage) {
- AsyncMessage as = (AsyncMessage) localMes1;
- time1 = as.getEndTime();
- event1 = as.getEndOccurrence();
- }
- if (localMes2 instanceof AsyncMessage) {
- AsyncMessage as = (AsyncMessage) localMes2;
- if (as.getEndOccurrence() > as.getStartOccurrence()) {
- time1 = as.getEndTime();
- event1 = as.getEndOccurrence();
- } else {
- time1 = as.getStartTime();
- event1 = as.getStartOccurrence();
- }
- }
- }
-
- ITmfTimestamp minMaxdelta = fMaxTime.getDelta(fMinTime);
- double gr = (minMaxdelta.getValue()) / (double) NUMBER_STEPS;
-
- ITmfTimestamp delta = time2.getDelta(time1).getDelta(fMinTime);
- long absDelta = Math.abs(delta.getValue());
-
- int colIndex = 0;
- if (gr != 0) {
- colIndex = Math.round((float) (absDelta / gr));
- if (colIndex >= fColors.length) {
- colIndex = fColors.length - 1;
- } else if (colIndex < 0) {
- colIndex = 0;
- }
- } else {
- colIndex = 0;
- }
- for (int j = 0; j < fListenerList.size(); j++) {
- ITimeCompressionListener list = fListenerList.get(j);
- if (localMes1.getEndLifeline() != null) {
- list.deltaSelected(localMes1.getEndLifeline(), event1, event2 - event1, fColors[colIndex]);
- } else if (localMes2.getStartLifeline() != null) {
- list.deltaSelected(localMes2.getStartLifeline(), event1, event2 - event1, fColors[colIndex]);
- } else {
- list.deltaSelected(localMes1.getStartLifeline(), event1, event2 - event1, fColors[colIndex]);
- }
- }
- }
-
- /**
- * Force the time compression bar to highlight the event occurrences between the two given messages. The event
- * occurrences are highlighted on the first message's end lifeline
- *
- * @param mes1 the first message
- * @param mes2 the second message
- */
- public void highlightRegionSync(final BaseMessage mes1, final BaseMessage mes2) {
- getDisplay().syncExec(new Runnable() {
- @Override
- public void run() {
- highlightRegion(mes1, mes2);
- }
- });
- }
-
- @Override
- public void scrollBy(int x, int y) {
- }
-
- /**
- * Sets the zoom value.
- *
- * @param value The zoom value to set.
- */
- public void setZoom(float value) {
- fZoomValue = value;
- redraw();
- }
-
- /**
- * Adds a listener to the time compression listener list to be notified about selected deltas.
- *
- * @param listener The listener to add
- */
- public void addTimeCompressionListener(ITimeCompressionListener listener) {
- if (!fListenerList.contains(listener)) {
- fListenerList.add(listener);
- }
- }
-
- /**
- * Removes a time compression listener.
- *
- * @param listener The listener to remove.
- */
- public void removeSelectionChangedListener(ITimeCompressionListener listener) {
- fListenerList.remove(listener);
- }
-
- @Override
- public void widgetDisposed(DisposeEvent e) {
- if (fTooltip != null) {
- fTooltip.dispose();
- }
- super.removeDisposeListener(this);
- for (int i = 0; i < fColors.length; i++) {
- fColors[i].dispose();
- }
- }
-
- @Override
- protected void keyPressedEvent(KeyEvent event) {
- if (fTooltip != null) {
- fTooltip.hideToolTip();
- }
- if (!isFocusControl() || getViewControl().isFocusControl()) {
- Control[] child = getParent().getChildren();
- for (int i = 0; i < child.length; i++) {
- if (child[i].isFocusControl()) {
- break;
- }
- }
- }
- setFocus(-1);
-
- boolean top = false;
- if (fNextNodeY == 0) {
- top = true;
- }
- if ((fFrame != null) && (fNextNodeY == 0)) {
- for (int i = 0; i < fNodeList.size() - 1 && i < 1; i++) {
- SDTimeEvent m1 = fNodeList.get(i);
- SDTimeEvent m2 = fNodeList.get(i + 1);
- if ((SDViewPref.getInstance().excludeExternalTime()) && ((m1.getGraphNode() instanceof BaseMessage) && (m2.getGraphNode() instanceof BaseMessage))) {
- BaseMessage mes1 = (BaseMessage) m1.getGraphNode();
- BaseMessage mes2 = (BaseMessage) m2.getGraphNode();
- if ((mes2.getStartLifeline() == null) || (mes1.getEndLifeline() == null)) {
- continue;
- }
- }
-
- int y1 = ((GraphNode) m1.getGraphNode()).getY();
- int y2 = ((GraphNode) m2.getGraphNode()).getY();
- if (m1.getGraphNode() instanceof AsyncMessage) {
- AsyncMessage as = (AsyncMessage) m1.getGraphNode();
- if (as.getEndTime() == m1.getTime()) {
- y1 += as.getHeight();
- }
- }
- if (m2.getGraphNode() instanceof AsyncMessage) {
- AsyncMessage as = (AsyncMessage) m2.getGraphNode();
- if (as.getEndTime() == m2.getTime()) {
- y2 += as.getHeight();
- }
- }
- if (m1.getGraphNode() instanceof ExecutionOccurrence) {
- ExecutionOccurrence eo = (ExecutionOccurrence) m1.getGraphNode();
- if (m1.getEvent() == eo.getEndOccurrence()) {
- y1 += eo.getHeight();
- }
-
- if (m2.getGraphNode() instanceof ExecutionOccurrence) {
-
- ExecutionOccurrence eo2 = (ExecutionOccurrence) m2.getGraphNode();
- if (m2.getEvent() == eo2.getEndOccurrence()) {
- y2 += eo2.getHeight();
- }
- }
- }
- fPrevNodeY = Math.round(y1 * fZoomValue);
- fNextNodeY = Math.round(y2 * fZoomValue);
- }
- }
-
- if (fLifeline != null) {
- for (int j = 0; j < fListenerList.size(); j++) {
- ITimeCompressionListener list = fListenerList.get(j);
- list.deltaSelected(fLifeline, fLifelineStart, fLifelineNumEvents, fLifelineColor);
- }
- }
-
- if (event.keyCode == SWT.ARROW_DOWN) {
- if (!top) {
- selectTimeDelta(fNextNodeY + 1, 1);
- } else {
- selectTimeDelta(fPrevNodeY + 1, 1);
- }
- setFocus(1);
- } else if (event.keyCode == SWT.ARROW_UP) {
- selectTimeDelta(fPrevNodeY - 1, 2);
- setFocus(1);
- } else if (event.keyCode == SWT.ARROW_RIGHT) {
- selectTimeDelta(fPrevNodeY, 1);
- setFocus(1);
- }
- super.keyPressedEvent(event);
- }
-
- /**
- * Selects the time delta for given delta y coordinate and direction.
- *
- * @param dy The delta in y coordinate.
- * @param direction 0 no direction, 1 = down, 2 = up
- */
- protected void selectTimeDelta(int dy, int direction) {
- SDTimeEvent lastM1 = null;
- SDTimeEvent lastM2 = null;
- int lastY1 = 0;
- int lastY2 = 0;
- boolean done = false;
- if (fFrame != null) {
- for (int i = 0; i < fNodeList.size() - 1; i++) {
- SDTimeEvent m1 = fNodeList.get(i);
- SDTimeEvent m2 = fNodeList.get(i + 1);
- if ((SDViewPref.getInstance().excludeExternalTime()) && ((m1.getGraphNode() instanceof BaseMessage) && (m2.getGraphNode() instanceof BaseMessage))) {
- BaseMessage mes1 = (BaseMessage) m1.getGraphNode();
- BaseMessage mes2 = (BaseMessage) m2.getGraphNode();
- if ((mes2.getStartLifeline() == null) || (mes1.getEndLifeline() == null)) {
- continue;
- }
- }
-
- int y1 = ((GraphNode) m1.getGraphNode()).getY();
- int y2 = ((GraphNode) m2.getGraphNode()).getY();
- if (m1.getGraphNode() instanceof AsyncMessage) {
- AsyncMessage as = (AsyncMessage) m1.getGraphNode();
- if (as.getEndTime() == m1.getTime()) {
- y1 += as.getHeight();
- }
- }
- if (m2.getGraphNode() instanceof AsyncMessage) {
- AsyncMessage as = (AsyncMessage) m2.getGraphNode();
- if (as.getEndTime() == m2.getTime()) {
- y2 += as.getHeight();
- }
- }
- if (m1.getGraphNode() instanceof ExecutionOccurrence) {
- ExecutionOccurrence eo = (ExecutionOccurrence) m1.getGraphNode();
- if (m1.getEvent() == eo.getEndOccurrence()) {
- y1 += eo.getHeight();
- }
-
- if (m2.getGraphNode() instanceof ExecutionOccurrence) {
- ExecutionOccurrence eo2 = (ExecutionOccurrence) m2.getGraphNode();
- if (m2.getEvent() == eo2.getEndOccurrence()) {
- y2 += eo2.getHeight();
- }
- }
- }
- int m1Y = Math.round(y1 * fZoomValue);
- int m2Y = Math.round(y2 * fZoomValue);
-
- if ((m1Y < dy) && (m2Y > dy) || (!done && m2Y > dy && direction == 1 && lastM1 != null) || (!done && m1Y > dy && direction == 2 && lastM1 != null)) {
- if (m1Y > dy && direction == 2) {
- m1 = lastM1;
- m2 = lastM2;
- m1Y = lastY1;
- m2Y = lastY2;
- }
- done = true;
- fPrevNodeY = m1Y;
- fNextNodeY = m2Y;
- ITmfTimestamp minMaxdelta = fMaxTime.getDelta(fMinTime);
- double gr = (minMaxdelta.getValue()) / (double) NUMBER_STEPS;
-
- ITmfTimestamp delta = m2.getTime().getDelta(m1.getTime()).getDelta(fMinTime);
- long absDelta = Math.abs(delta.getValue());
-
- int colIndex = 0;
- if (gr != 0) {
- colIndex = Math.round((float) (absDelta / gr));
- if (colIndex >= fColors.length) {
- colIndex = fColors.length - 1;
- } else if (colIndex < 0) {
- colIndex = 0;
- }
- } else {
- colIndex = 0;
- }
- if (m1.getGraphNode() instanceof BaseMessage) {
- BaseMessage mes1 = (BaseMessage) m1.getGraphNode();
- if (mes1.getEndLifeline() != null) {
- fLifeline = mes1.getEndLifeline();
- fLifelineStart = m1.getEvent();
- fLifelineNumEvents = m2.getEvent() - m1.getEvent();
- fLifelineColor = fColors[colIndex];
- } else if (m2.getGraphNode() instanceof BaseMessage && ((BaseMessage) m2.getGraphNode()).getStartLifeline() != null) {
- fLifeline = ((BaseMessage) m2.getGraphNode()).getStartLifeline();
- fLifelineStart = m1.getEvent();
- fLifelineNumEvents = m2.getEvent() - m1.getEvent();
- fLifelineColor = fColors[colIndex];
- } else {
- fLifeline = mes1.getStartLifeline();
- fLifelineStart = m1.getEvent();
- fLifelineNumEvents = m2.getEvent() - m1.getEvent();
- fLifelineColor = fColors[colIndex];
- }
- } else if (m1.getGraphNode() instanceof ExecutionOccurrence) {
- if (m2.getGraphNode() instanceof ExecutionOccurrence) {
- ExecutionOccurrence eo = (ExecutionOccurrence) m2.getGraphNode();
- fLifeline = eo.getLifeline();
- fLifelineStart = m1.getEvent();
- fLifelineNumEvents = m2.getEvent() - m1.getEvent();
- fLifelineColor = fColors[colIndex];
- } else {
- ExecutionOccurrence eo = (ExecutionOccurrence) m1.getGraphNode();
- fLifeline = eo.getLifeline();
- fLifelineStart = m1.getEvent();
- fLifelineNumEvents = m2.getEvent() - m1.getEvent();
- fLifelineColor = fColors[colIndex];
- }
- }
- for (int j = 0; j < fListenerList.size(); j++) {
- ITimeCompressionListener list = fListenerList.get(j);
- list.deltaSelected(fLifeline, fLifelineStart, fLifelineNumEvents, fLifelineColor);
- }
- break;
- }
- lastM1 = m1;
- lastM2 = m2;
- lastY1 = m1Y;
- lastY2 = m2Y;
- }
- }
- }
-
- /**
- * Creates a fake tool tip.
- */
- protected void createFakeTooltip() {
- if (fTooltip == null) {
- fTooltip = new DrawableToolTip(this);
- }
-
- if (fFrame != null) {
- setFocus(0);
- for (int i = 0; i < fNodeList.size() - 1; i++) {
- SDTimeEvent m1 = fNodeList.get(i);
- SDTimeEvent m2 = fNodeList.get(i + 1);
-
- if ((SDViewPref.getInstance().excludeExternalTime()) && ((m1.getGraphNode() instanceof BaseMessage) && (m2.getGraphNode() instanceof BaseMessage))) {
- BaseMessage mes1 = (BaseMessage) m1.getGraphNode();
- BaseMessage mes2 = (BaseMessage) m2.getGraphNode();
- if ((mes2.getStartLifeline() == null) || (mes1.getEndLifeline() == null)) {
- continue;
- }
- }
-
- int y1 = ((GraphNode) m1.getGraphNode()).getY();
- int y2 = ((GraphNode) m2.getGraphNode()).getY();
-
- if (m1.getGraphNode() instanceof AsyncMessage) {
- AsyncMessage as = (AsyncMessage) m1.getGraphNode();
- if (as.getEndTime() == m1.getTime()) {
- y1 += as.getHeight();
- }
- }
- if (m2.getGraphNode() instanceof AsyncMessage) {
- AsyncMessage as = (AsyncMessage) m2.getGraphNode();
- if (as.getEndTime() == m2.getTime()) {
- y2 += as.getHeight();
- }
- }
- if (m1.getGraphNode() instanceof ExecutionOccurrence) {
- ExecutionOccurrence eo = (ExecutionOccurrence) m1.getGraphNode();
- if (m1.getEvent() == eo.getEndOccurrence()) {
- y1 += eo.getHeight();
- }
-
- if (m2.getGraphNode() instanceof ExecutionOccurrence) {
-
- ExecutionOccurrence eo2 = (ExecutionOccurrence) m2.getGraphNode();
- if (m2.getEvent() == eo2.getEndOccurrence()) {
- y2 += eo2.getHeight();
- }
- }
- }
- int m1Y = Math.round(y1 * fZoomValue);
- int m2Y = Math.round(y2 * fZoomValue);
- if ((m1Y < fPrevNodeY + 1) && (m2Y >= fPrevNodeY + 1)) {
- ITmfTimestamp delta = m2.getTime().getDelta(m1.getTime());
- fTooltip.showToolTip(delta, fMinTime, fMaxTime);
- fTooltip.hideToolTip();
- }
- }
- }
- }
-
- /**
- * Traverse Listener implementation.
- */
- protected static class LocalTraverseListener implements TraverseListener {
- @Override
- public void keyTraversed(TraverseEvent e) {
- if ((e.detail == SWT.TRAVERSE_TAB_NEXT) || (e.detail == SWT.TRAVERSE_TAB_PREVIOUS)) {
- e.doit = true;
- }
- }
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/core/AsyncMessage.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/core/AsyncMessage.java
deleted file mode 100755
index 31867f8be4..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/core/AsyncMessage.java
+++ /dev/null
@@ -1,469 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2005, 2013 IBM Corporation, 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:
- * IBM - Initial API and implementation
- * Bernd Hufmann - Updated for TMF
- **********************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.views.uml2sd.core;
-
-import java.util.Comparator;
-
-import org.eclipse.linuxtools.tmf.core.timestamp.ITmfTimestamp;
-import org.eclipse.linuxtools.tmf.core.timestamp.TmfTimestamp;
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.drawings.IGC;
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.preferences.ISDPreferences;
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.preferences.SDViewPref;
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.util.SortAsyncForBackward;
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.util.SortAsyncMessageComparator;
-
-/**
- * A AsyncMessage is a asynchronous message which appear at two different event occurrences on each lifeline ends (sender
- * and receiver).<br>
- * <br>
- * <br>
- * Usage example:
- *
- * <pre>
- * Frame frame;
- * Lifeline lifeLine1;
- * Lifeline lifeLine2;
- *
- * AsyncMessage message = new AsyncMessage();
- * // Create a new event occurrence on each lifeline
- * lifeline1.getNewOccurrenceIndex();
- * lifeline2.getNewOccurrenceIndex();
- * // Set the message sender and receiver
- * message.setStartLifeline(lifeLine1);
- * message.setEndLifline(lifeline2);
- * message.setName(&quot;Message label&quot;);
- * // add the message to the frame
- * frame.addMessage(message);
- * </pre>
- *
- * @see Lifeline Lifeline for more event occurence details
- * @version 1.0
- * @author sveyrier
- * @since 2.0
- */
-public class AsyncMessage extends BaseMessage implements ITimeRange {
-
- // ------------------------------------------------------------------------
- // Constants
- // ------------------------------------------------------------------------
- /**
- * The grahNode ID constant
- */
- public static final String ASYNC_MESS_TAG = "AsyncMessage"; //$NON-NLS-1$
-
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
- /**
- * Flag whether message has time information or not.
- */
- private boolean fHasTime = false;
- /**
- * The time when the message begin
- */
- private ITmfTimestamp fEndTime = new TmfTimestamp();
- /**
- * The time when the message end
- */
- private ITmfTimestamp fStartTime = new TmfTimestamp();
- /**
- * The associated message.
- */
- protected AsyncMessageReturn fMessageReturn = null;
-
- // ------------------------------------------------------------------------
- // Constructors
- // ------------------------------------------------------------------------
- /**
- * Default constructor
- */
- public AsyncMessage() {
- setColorPrefId(ISDPreferences.PREF_ASYNC_MESS);
- }
-
- // ------------------------------------------------------------------------
- // Methods
- // ------------------------------------------------------------------------
-
- @Override
- public int getX() {
- int x = super.getX(true);
- int activationWidth = Metrics.EXECUTION_OCCURRENCE_WIDTH / 2;
- if ((getStartLifeline() != null) && (getEndLifeline() != null) && (getStartLifeline().getX() > getEndLifeline().getX())) {
- activationWidth = -activationWidth;
- }
-
- if (isMessageStartInActivation(getStartOccurrence())) {
- x = x + activationWidth;
- }
- return x;
- }
-
- @Override
- public int getY() {
- if ((getStartLifeline() != null) && (getEndLifeline() != null)) {
- return getEndLifeline().getY() + getEndLifeline().getHeight() + (Metrics.getMessageFontHeigth() + Metrics.getMessagesSpacing()) * getStartOccurrence();
- }
- return super.getY();
- }
-
- @Override
- public int getWidth() {
- int width = super.getWidth(true);
- int activationWidth = Metrics.EXECUTION_OCCURRENCE_WIDTH / 2;
- if ((getStartLifeline() != null) && (getEndLifeline() != null) && (getStartLifeline().getX() > getEndLifeline().getX())) {
- activationWidth = -activationWidth;
- }
-
- if (isMessageStartInActivation(getStartOccurrence())) {
- width = width - activationWidth;
- }
-
- if (isMessageEndInActivation(getEndOccurrence())) {
- width = width - activationWidth;
- }
-
- return width;
- }
-
- @Override
- public int getHeight() {
- if ((getStartLifeline() != null) && (getEndLifeline() != null)) {
- return (getEndLifeline().getY() + getEndLifeline().getHeight() + (Metrics.getMessageFontHeigth() + Metrics.getMessagesSpacing()) * getEndOccurrence()) - getY();
- }
- return super.getHeight();
- }
-
- /**
- * Set the message return associated with this message.
- *
- * @param message the message return to associate
- */
- protected void setMessageReturn(AsyncMessageReturn message) {
- fMessageReturn = message;
- }
-
- /**
- * Set the event occurrence attached to this message for its end lifeline
- *
- * @param occurrence the event occurrence to set
- */
- @Override
- public void setEndOccurrence(int occurrence) {
- super.setEndOccurrence(occurrence);
- if (getStartLifeline() == null) {
- setStartOccurrence(occurrence);
- }
- informFrame(getEndLifeline(), occurrence);
- }
-
- /**
- * Informs the given lifeline about the maximum occurrence if applicable.
- *
- * @param lifeLine
- * Concerned lifeline
- * @param occurrence
- * Occurrence number
- */
- protected void informFrame(Lifeline lifeLine, int occurrence) {
- if ((lifeLine != null) && (lifeLine.getFrame() != null) && (lifeLine.getFrame().getMaxEventOccurrence() < occurrence)) {
- lifeLine.getFrame().setMaxEventOccurrence(occurrence);
- }
- }
-
- /**
- * Set the event occurrence attached to this message for its start lifeline
- *
- * @param occurrence the event occurrence to set
- */
- @Override
- public void setStartOccurrence(int occurrence) {
- super.setStartOccurrence(occurrence);
- if (getEndLifeline() == null) {
- setEndOccurrence(getStartOccurrence());
- }
- informFrame(getStartLifeline(), occurrence);
- }
-
- /**
- * Set the lifeLine which has sent the message.<br>
- * A new EventOccurence will be create on this lifeLine.<br>
- *
- * @param lifeline the message sender
- */
- public void autoSetStartLifeline(Lifeline lifeline) {
- lifeline.getNewEventOccurrence();
- setStartLifeline(lifeline);
- }
-
- /**
- * Set the lifeLine which has received the message.<br>
- * A new EventOccurence will be create on this lifeLine.<br>
- *
- * @param lifeline the message receiver
- */
- public void autoSetEndLifeline(Lifeline lifeline) {
- lifeline.getNewEventOccurrence();
- setEndLifeline(lifeline);
- }
-
- @Override
- public void setStartLifeline(Lifeline lifeline) {
- super.setStartLifeline(lifeline);
- setStartOccurrence(getStartLifeline().getEventOccurrence());
- if (getEndLifeline() == null) {
- setEndOccurrence(getStartOccurrence());
- }
- }
-
- @Override
- public void setEndLifeline(Lifeline lifeline) {
- super.setEndLifeline(lifeline);
- setEventOccurrence(getEndLifeline().getEventOccurrence());
- }
-
- /**
- * Returns true if the point C is on the segment defined with the point A and B
- *
- * @param xA point A x coordinate
- * @param yA point A y coordinate
- * @param xB point B x coordinate
- * @param yB point B y coordinate
- * @param xC point C x coordinate
- * @param yC point C y coordinate
- * @return Return true if the point C is on the segment defined with the point A and B, else otherwise
- */
- protected boolean isNearSegment(int xA, int yA, int xB, int yB, int xC, int yC) {
- if ((xA > xB) && (xC > xA)) {
- return false;
- }
- if ((xA < xB) && (xC > xB)) {
- return false;
- }
- if ((xA < xB) && (xC < xA)) {
- return false;
- }
- if ((xA > xB) && (xC < xB)) {
- return false;
- }
- double distAB = Math.sqrt((xB - xA) * (xB - xA) + (yB - yA) * (yB - yA));
- double scalar = ((xB - xA) * (xC - xA) + (yB - yA) * (yC - yA)) / distAB;
- double distAC = Math.sqrt((xC - xA) * (xC - xA) + (yC - yA) * (yC - yA));
- double distToSegment = Math.sqrt(Math.abs(distAC * distAC - scalar * scalar));
- if (distToSegment <= Metrics.MESSAGE_SELECTION_TOLERANCE) {
- return true;
- }
- return false;
- }
-
- @Override
- public boolean contains(int x, int y) {
- // Is it a self message?
- if (getStartLifeline() == getEndLifeline()) {
- return super.contains(x, y);
- }
- if (isNearSegment(getX(), getY(), getX() + getWidth(), getY() + getHeight(), x, y)) {
- return true;
- }
- int messageMaxWidth = Metrics.swimmingLaneWidth() - Metrics.EXECUTION_OCCURRENCE_WIDTH;
- int nameWidth = getName().length() * Metrics.getAverageCharWidth();
- if (getName().length() * Metrics.getAverageCharWidth() > messageMaxWidth) {
- if (GraphNode.contains(getX(), getY() - Metrics.MESSAGES_NAME_SPACING - Metrics.getMessageFontHeigth(), messageMaxWidth, Metrics.getMessageFontHeigth(), x, y)) {
- return true;
- }
- } else {
- if (GraphNode.contains(getX() + (messageMaxWidth - nameWidth) / 2, getY() + getHeight() / 2 - Metrics.MESSAGES_NAME_SPACING - Metrics.getMessageFontHeigth(), nameWidth, Metrics.getMessageFontHeigth(), x, y)) {
- return true;
- }
- }
- return false;
- }
-
- /**
- * Draws the asynchronous message using giving graphical context.
- *
- * @param context A graphical context to draw in.
- */
- protected void drawAsyncMessage(IGC context) {
- if (getStartLifeline() != null && getEndLifeline() != null && getStartLifeline() == getEndLifeline() && (getStartOccurrence() != getEndOccurrence())) {
- int x = getX();
- int y = getY();
- int height = getHeight();
- int tempx = 0;
- boolean startInActivation = isMessageStartInActivation(getStartOccurrence());
- boolean endInActivation = isMessageEndInActivation(getEndOccurrence());
-
- if (endInActivation && !startInActivation) {
- tempx = Metrics.EXECUTION_OCCURRENCE_WIDTH / 2;
- }
- if (startInActivation && !endInActivation) {
- tempx = -Metrics.EXECUTION_OCCURRENCE_WIDTH / 2;
- }
-
- int tempy = Metrics.INTERNAL_MESSAGE_WIDTH / 2;
- if (getHeight() <= Metrics.INTERNAL_MESSAGE_WIDTH) {
- tempy = getHeight() / 2;
- }
-
- context.drawLine(x, y, x + Metrics.INTERNAL_MESSAGE_WIDTH / 2, y);
- context.drawLine(x + Metrics.INTERNAL_MESSAGE_WIDTH, y + tempy, x + Metrics.INTERNAL_MESSAGE_WIDTH, y + height - tempy);
- context.drawLine(x + tempx, y + height, x + Metrics.INTERNAL_MESSAGE_WIDTH / 2, y + height);
-
- Double xt = Double.valueOf(Math.cos(0.75) * 7);
- Double yt = Double.valueOf(Math.sin(0.75) * 7);
-
- context.drawLine(x + xt.intValue() + tempx, y + height + yt.intValue(), x + tempx, y + height);
- context.drawArc(x, y, Metrics.INTERNAL_MESSAGE_WIDTH, 2 * tempy, 0, 90);
- context.drawArc(x, y + height, Metrics.INTERNAL_MESSAGE_WIDTH, -2 * tempy, 0, -90);
- context.drawLine(x + xt.intValue() + tempx, y + height - yt.intValue(), x + tempx, y + height);
-
- context.drawTextTruncated(getName(), x + Metrics.INTERNAL_MESSAGE_WIDTH + Metrics.INTERNAL_MESSAGE_V_MARGIN, y, Metrics.swimmingLaneWidth() - Metrics.EXECUTION_OCCURRENCE_WIDTH + -Metrics.INTERNAL_MESSAGE_WIDTH,
- +Metrics.MESSAGES_NAME_SPACING - Metrics.getMessageFontHeigth(), !isSelected());
- } else {
- super.draw(context);
- }
- }
-
- @Override
- public void draw(IGC context) {
- if (!isVisible()) {
- return;
- }
-
- ISDPreferences pref = SDViewPref.getInstance();
-
- // Draw it selected?
- if (isSelected() && (getStartLifeline() != null && getEndLifeline() != null && getStartLifeline() == getEndLifeline() && (getStartOccurrence() != getEndOccurrence()))) {
- /*
- * Draw it twice First time, bigger inverting selection colors Second time, regular drawing using selection
- * colors This create the highlight effect
- */
- context.setForeground(pref.getBackGroundColorSelection());
- context.setLineWidth(Metrics.SELECTION_LINE_WIDTH);
- drawAsyncMessage(context);
- context.setBackground(pref.getBackGroundColorSelection());
- context.setForeground(pref.getForeGroundColorSelection());
- // Second drawing is done after the else
- } else {
- context.setBackground(pref.getBackGroundColor(getColorPrefId()));
- context.setForeground(pref.getForeGroundColor(getColorPrefId()));
- }
- if (hasFocus()) {
- context.setDrawTextWithFocusStyle(true);
- }
- context.setLineWidth(Metrics.NORMAL_LINE_WIDTH);
- drawAsyncMessage(context);
- if (hasFocus()) {
- context.setDrawTextWithFocusStyle(false);
- }
- }
-
- /**
- * Set the time when the message end
- *
- * @param time the time when the message end
- * @since 2.0
- */
- public void setEndTime(ITmfTimestamp time) {
- fEndTime = time;
- fHasTime = true;
- if (getStartLifeline() != null && getStartLifeline().getFrame() != null) {
- getStartLifeline().getFrame().setHasTimeInfo(true);
- } else if (getEndLifeline() != null && getEndLifeline().getFrame() != null) {
- getEndLifeline().getFrame().setHasTimeInfo(true);
- }
- }
-
- /**
- * Set the time when the message start
- *
- * @param time the time when the message start
- * @since 2.0
- */
- public void setStartTime(ITmfTimestamp time) {
- fStartTime = time;
- fHasTime = true;
- if (getStartLifeline() != null && getStartLifeline().getFrame() != null) {
- getStartLifeline().getFrame().setHasTimeInfo(true);
- } else if (getEndLifeline() != null && getEndLifeline().getFrame() != null) {
- getEndLifeline().getFrame().setHasTimeInfo(true);
- }
- }
-
- /**
- * @since 2.0
- */
- @Override
- public ITmfTimestamp getEndTime() {
- return fEndTime;
- }
-
- /**
- * @since 2.0
- */
- @Override
- public ITmfTimestamp getStartTime() {
- return fStartTime;
- }
-
- @Override
- public boolean hasTimeInfo() {
- return fHasTime;
- }
-
- /**
- * @return message return instance or null
- * @since 2.0
- */
- public AsyncMessageReturn getMessageReturn() {
- return fMessageReturn;
- }
-
- @Override
- public boolean isVisible(int x, int y, int width, int height) {
- int toDrawY = getY();
- int toDrawHeight = getHeight();
- if ((toDrawY > y + height + Metrics.MESSAGES_NAME_SPACING + Metrics.getMessageFontHeigth()) && (toDrawY + toDrawHeight > y + height + Metrics.MESSAGES_NAME_SPACING + Metrics.getMessageFontHeigth())) {
- return false;
- }
- if (toDrawY < y && (toDrawY + toDrawHeight < y)) {
- return false;
- }
- return super.isVisible(x, y, width, height);
- }
-
- @Override
- public Comparator<GraphNode> getComparator() {
- return new SortAsyncMessageComparator();
- }
-
- @Override
- public String getArrayId() {
- return ASYNC_MESS_TAG;
- }
-
- @Override
- public Comparator<GraphNode> getBackComparator() {
- return new SortAsyncForBackward();
- }
-
- @Override
- public boolean positiveDistanceToPoint(int x, int y) {
- int mY = getY();
- int mH = getHeight();
- if ((mY > y) || (mY + mH > y)) {
- return true;
- }
- return false;
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/core/AsyncMessageReturn.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/core/AsyncMessageReturn.java
deleted file mode 100755
index e1589b9275..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/core/AsyncMessageReturn.java
+++ /dev/null
@@ -1,112 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2005, 2013 IBM Corporation, 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:
- * IBM - Initial API and implementation
- * Bernd Hufmann - Updated for TMF
- **********************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.views.uml2sd.core;
-
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.drawings.IGC;
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.preferences.ISDPreferences;
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.preferences.SDViewPref;
-
-/**
- * The message return graph node implementation.<br>
- * This class differs on the AsynMessage class only on the drawing line style (dashed instead of plain line).<br>
- * Message return are generally associated to a message. This means, they are connected to the same lifelines than the
- * associated message but in the opposite direction and for a different event occurrence.<br>
- * <br>
- * WARNING: The association validity is not checked, it is not necessary to provide a valid association, not even needed
- * to set an association to drawn a message with a message return style.<br>
- *
- *
- * @see org.eclipse.linuxtools.tmf.ui.views.uml2sd.core.AsyncMessage AsyncMessage for usage example
- * @version 1.0
- * @author sveyrier
- *
- */
-public class AsyncMessageReturn extends AsyncMessage {
-
- // ------------------------------------------------------------------------
- // Constants
- // ------------------------------------------------------------------------
- /**
- * The grahNode ID constant
- */
- public static final String ASYNC_MESS_RET_TAG = "AsyncMessageRet"; //$NON-NLS-1$
-
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
- /**
- * The corresponding asynchronous message.
- */
- protected AsyncMessage fMessage;
-
- // ------------------------------------------------------------------------
- // Constructors
- // ------------------------------------------------------------------------
- /**
- * Default constructor.
- */
- public AsyncMessageReturn() {
- setColorPrefId(ISDPreferences.PREF_ASYNC_MESS_RET);
- }
-
- // ------------------------------------------------------------------------
- // Methods
- // ------------------------------------------------------------------------
-
- /**
- * Set the associated message (the message it is the return).<br>
- * Setting the association will activate the navigation in the default sequence diagram implementation to the
- * message when the user right click on this message return.<br>
- *
- * @param parentMessage the message to associate
- */
- public void setMessage(AsyncMessage parentMessage) {
- fMessage = parentMessage;
- }
-
- /**
- * Returns the associated message (the message it is the return).<br>
- *
- * @return parentMessage the message to associate
- * @since 2.0
- */
- public AsyncMessage getMessage() {
- return fMessage;
- }
-
- @Override
- public void draw(IGC context) {
- if (!isVisible()) {
- return;
- }
-
- ISDPreferences pref = SDViewPref.getInstance();
-
- setColorPrefId(ISDPreferences.PREF_ASYNC_MESS_RET);
- int oldStyle = context.getLineStyle();
- // Message return are dashed
- context.setLineStyle(context.getLineDotStyle());
- if (!isSelected()) {
- context.setBackground(pref.getBackGroundColor(getColorPrefId()));
- context.setForeground(pref.getForeGroundColor(getColorPrefId()));
- }
- super.draw(context);
- // restore the context
- context.setLineStyle(oldStyle);
- }
-
- @Override
- public String getArrayId() {
- return ASYNC_MESS_RET_TAG;
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/core/BaseMessage.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/core/BaseMessage.java
deleted file mode 100755
index b35340b6ce..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/core/BaseMessage.java
+++ /dev/null
@@ -1,724 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2005, 2013 IBM Corporation, 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:
- * IBM - Initial API and implementation
- * Bernd Hufmann - Updated for TMF
- **********************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.views.uml2sd.core;
-
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.drawings.IColor;
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.drawings.IGC;
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.preferences.ISDPreferences;
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.preferences.SDViewPref;
-
-/**
- * The base UML2 syncMessages implementation.<br>
- * This abstract class only define one event occurrence to attach to the message.<br>
- * Usually a message has two event occurrences attached, one for both ends. But some syncMessages(like synchronous
- * syncMessages) only need one event occurrence to represent the time when they appear. Others kind of message
- * representations (like asynchronous syncMessages) will be responsible to define the missing second eventOccurrence
- * property.<br>
- * <br>
- *
- * @see Lifeline Lifeline for more event occurence details
- * @version 1.0
- * @author sveyrier
- */
-public abstract class BaseMessage extends GraphNode {
-
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
- /**
- * The lifeline which send the message
- */
- private Lifeline fStartLifeline = null;
- /**
- * The lifeline which receive the message
- */
- private Lifeline fEndLifeline = null;
- /**
- * The visiblitiy flag.
- */
- private boolean fVisible = true;
-
- // ------------------------------------------------------------------------
- // Methods
- // ------------------------------------------------------------------------
-
- @Override
- public int getX() {
- // returns the exact x coordinate
- return getX(false);
- }
-
- @Override
- public int getY() {
- /*
- * Note: lifeline.getY() return the y coordinate of the top left corner of the rectangle which contain the
- * lifeline name getHeight return the height of this rectangle The message y coordinate is then relative to this
- * position depending of its eventOccurrence Space between syncMessages is constant
- */
- if ((fStartLifeline != null) && (fEndLifeline != null)) {
- /*
- * Regular message, both ends are attached to a lifeline
- */
- return fEndLifeline.getY() + fEndLifeline.getHeight() + (Metrics.getMessageFontHeigth() + Metrics.getMessagesSpacing()) * getEndOccurrence();
-
- }
- /*
- * UML2 lost message kind
- */
- if (fStartLifeline != null) {
- return fStartLifeline.getY() + fStartLifeline.getHeight() + (Metrics.getMessageFontHeigth() + Metrics.getMessagesSpacing()) * getEndOccurrence();
- }
-
- /*
- * UML2 found message kind
- */
- if (fEndLifeline != null) {
- return fEndLifeline.getY() + fEndLifeline.getHeight() + (Metrics.getMessageFontHeigth() + Metrics.getMessagesSpacing()) * getEndOccurrence();
- }
- // return 0 by default
- return 0;
- }
-
- @Override
- public int getWidth() {
- // Returns the exact width
- return getWidth(false);
- }
-
- @Override
- public int getHeight() {
- return 0;
- }
-
- /**
- * Returns the graph node x coordinate.<br>
- * Depending on the quick parameter a approximative or exact value is return.<br>
- * The approximative value does not take into account if both message ends are connected to a Lifeline Execution
- * Occurrence.<br>
- * Execution occurrence on a lifeline increase the vertical line width which represent the lifeline, this directly
- * affect the message x coordinate and width.<br>
- * <br>
- * This method is typically used to faster execute none graphical operation like tooltip lookup.<br>
- * <br>
- *
- * @param quick true to get an approximative value<br>
- * false to get the exact x value<br>
- * @return the graph node x coordinate
- */
- protected int getX(boolean quick) {
- int x = 0;
- int activationWidth = Metrics.EXECUTION_OCCURRENCE_WIDTH / 2;
- if ((fStartLifeline != null) && (fEndLifeline != null)) {
- x = fStartLifeline.getX() + Metrics.getLifelineWidth() / 2;
- } else {
- if (fStartLifeline != null) {
- x = fStartLifeline.getX() + Metrics.getLifelineWidth() / 2;
- }
-
- if (fEndLifeline != null) {
- x = fEndLifeline.getX() - Metrics.LIFELINE_SPACING / 2;
- }
- }
-
- if (quick) {
- return x;
- }
-
- if ((fStartLifeline != null) && (fEndLifeline != null) && (fStartLifeline.getX() > fEndLifeline.getX())) {
- activationWidth = -activationWidth;
- }
-
- if (isMessageStartInActivation(getEndOccurrence())) {
- x = x + activationWidth;
- }
-
- return x;
- }
-
- /**
- * Returns the graph node width.<br>
- * Depending on the quick parameter a approximative or exact value is returned.<br>
- * The approximative value does not take into account if both message ends are connected to a Lifeline Execution
- * Occurrence.<br>
- * Execution occurrence on a lifeline increase the vertical line width which represent the lifeline, this directly
- * affect the message x coordinate and width.<br>
- * <br>
- * This method is typically used to faster execute none graphical operation like tooltip lookup.<br>
- * <br>
- *
- * @param quick true to get an approximative value<br>
- * false to get the exact x value
- * @return the graph node width
- */
- protected int getWidth(boolean quick) {
- int width = 0;
- int activationWidth = Metrics.EXECUTION_OCCURRENCE_WIDTH / 2;
- if ((fStartLifeline != null) && (fEndLifeline != null)) {
- if (fStartLifeline == fEndLifeline) {
- width = Metrics.INTERNAL_MESSAGE_WIDTH + Metrics.EXECUTION_OCCURRENCE_WIDTH;
- } else {
- width = fEndLifeline.getX() + Metrics.getLifelineWidth() / 2 - getX(true);
- }
- } else {
- if (fStartLifeline != null) {
- width = Metrics.swimmingLaneWidth() / 2;
- }
- if (fEndLifeline != null) {
- width = Metrics.swimmingLaneWidth() / 2;
- }
- }
-
- if (quick) {
- return width;
- }
-
- if ((fStartLifeline != null) && (fEndLifeline != null) && (fStartLifeline.getX() > fEndLifeline.getX())) {
- activationWidth = -activationWidth;
- }
-
- if (isMessageStartInActivation(getEndOccurrence())) {
- width = width - activationWidth;
- }
-
- if (isMessageEndInActivation(getEndOccurrence())) {
- width = width - activationWidth;
- }
-
- return width;
- }
-
- @Override
- public boolean isVisible(int x, int y, int width, int height) {
- // ***Common*** syncMessages visibility
- // draw the message only if at least one end is visible
- if (fEndLifeline != null && (fEndLifeline.isVisible(x, y, width, height)) || (fStartLifeline != null && fStartLifeline.isVisible(x, y, width, height))) {
- return true;
- }
- // In this case it can be a message which cross the whole visible area
- else if (fEndLifeline != null && (!fEndLifeline.isVisible(x, y, width, height)) && (fStartLifeline != null && !fStartLifeline.isVisible(x, y, width, height))) {
- if (fEndLifeline.getX() > x + width && fStartLifeline.getX() < x) {
- return true;
- } else if (fStartLifeline.getX() > x + width && fEndLifeline.getX() < x) {
- return true;
- }
- }
- return false;
- }
-
- /**
- * Sets the visibility value.
- *
- * @param value The visibility to set.
- */
- public void setVisible(boolean value) {
- fVisible = value;
- }
-
- /**
- * @return the visibility value.
- */
- public boolean isVisible() {
- return fVisible;
- }
-
- /**
- * Set the lifeline from which this message has been sent.
- *
- * @param lifeline - the message sender
- */
- public void setStartLifeline(Lifeline lifeline) {
- fStartLifeline = lifeline;
- }
-
- /**
- * Returns the lifeline from which this message has been sent.
- *
- * @return the message sender
- */
- public Lifeline getStartLifeline() {
- return fStartLifeline;
- }
-
- /**
- * Returns the lifeline which has received this message.
- *
- * @return the message receiver
- */
- public Lifeline getEndLifeline() {
- return fEndLifeline;
- }
-
- /**
- * Set the lifeline which has receive this message.
- *
- * @param lifeline the message receiver
- */
- public void setEndLifeline(Lifeline lifeline) {
- fEndLifeline = lifeline;
- }
-
- /**
- * Set the event occurrence when this message occurs.<br>
- *
- * @param occurrence the event occurrence to assign to this message.<br>
- * @see Lifeline Lifeline for more event occurence details
- */
- protected void setEventOccurrence(int occurrence) {
- setEndOccurrence(occurrence);
- }
-
- /**
- * Returns the event occurence when is message occurs.<br>
- *
- * @return the event occurrence assigned to this message.<br>
- * @see Lifeline Lifeline for more event occurence details
- */
- public int getEventOccurrence() {
- return getEndOccurrence();
- }
-
- /**
- * Determines if the given eventOccurence occurs on a executionOccurence owned by the sending lifeline.<br>
- * WARNING: this method will return a valid result only for execution occurrences which are visible in the View.<br>
- * As consequence this method is only used for drawing purpose, especially to determine the exact message x
- * coordinate and width.<br>
- *
- * @see BaseMessage#getX(boolean)
- * @param event the event occurrence to test
- * @return true if occurs on a execution occurrence owned by the sending lifeine, false otherwise
- */
- protected boolean isMessageStartInActivation(int event) {
- boolean inActivation = false;
- if ((fStartLifeline != null) && (fStartLifeline.getExecutions() != null)) {
- // int acIndex=startLifeline.getExecOccurrenceDrawIndex();
- // acIndex = first visible execution occurrence
- // for drawing speed reason with only search on the visivle subset
- int thisY = getY();
- for (int i = 0; i < fStartLifeline.getExecutions().size(); i++) {
- BasicExecutionOccurrence toDraw = (BasicExecutionOccurrence) fStartLifeline.getExecutions().get(i);
- if ((event >= toDraw.getStartOccurrence()) && (event <= toDraw.getEndOccurrence())) {
- inActivation = true;
- }
- // if we are outside the visible area we stop right now
- // This works because execution occurrences are ordered along the Y axis
- if (toDraw.getY() > thisY) {
- break;
- }
- }
- }
- return inActivation;
- }
-
- /**
- * Determines if the given event occurrence occurs on a execution occurrence owned by the receiving lifeline.<br>
- * WARNING: this method will return a valid result only for execution occurrences which are visible in the View.<br>
- * As consequence this method is only used for drawing purpose, especially to determine the exact message x
- * coordinate and width.<br>
- *
- * @see BaseMessage#getX(boolean)
- * @param event the event occurrence to test
- * @return true if occurs on a execution occurrence owned by the receiving lifeline, false otherwise
- */
- protected boolean isMessageEndInActivation(int event) {
- boolean inActivation = false;
- if ((fEndLifeline != null) && (fEndLifeline.getExecutions() != null)) {
- // acIndex = first visible execution occurrence
- // for drawing speed reason with only search on the visivle subset
- for (int i = 0; i < fEndLifeline.getExecutions().size(); i++) {
- BasicExecutionOccurrence toDraw = (BasicExecutionOccurrence) fEndLifeline.getExecutions().get(i);
- if ((event >= toDraw.getStartOccurrence()) && (event <= toDraw.getEndOccurrence())) {
- inActivation = true;
- }
- // if we are outside the visible area we stop right now
- // This works because execution occurrences are ordered along the Y axis
- if (toDraw.getY() > getY()) {
- break;
- }
- }
- }
- return inActivation;
- }
-
- @Override
- public boolean contains(int xValue, int yValue) {
- int x = getX();
- int y = getY();
- int width = getWidth();
- int height = getHeight();
-
- // Used to create a rectangle which contains the message label to allow selection when clicking the label
- int tempHeight = Metrics.MESSAGES_NAME_SPACING + Metrics.getMessageFontHeigth();
-
- // Is it a self message?
- if (fStartLifeline == fEndLifeline) {
- /*
- * Rectangle.contains(x,y, width, height) does not works with negative height or width We check here if the
- * rectangle width is negative.
- */
- if (getName().length() * Metrics.getAverageCharWidth() > Metrics.swimmingLaneWidth() - Metrics.EXECUTION_OCCURRENCE_WIDTH / 2 + -Metrics.INTERNAL_MESSAGE_WIDTH) {
- if (GraphNode.contains(x + Metrics.INTERNAL_MESSAGE_WIDTH + 10, y, Metrics.swimmingLaneWidth() - Metrics.EXECUTION_OCCURRENCE_WIDTH / 2 + -Metrics.INTERNAL_MESSAGE_WIDTH, Metrics.getMessageFontHeigth(), xValue, yValue)) {
- return true;
- }
- } else {
- if (GraphNode.contains(x + Metrics.INTERNAL_MESSAGE_WIDTH + 10, y, getName().length() * Metrics.getAverageCharWidth(), Metrics.getMessageFontHeigth(), xValue, yValue)) {
- return true;
- }
- }
-
- // Test if the point is in part 1 of the self message
- // see: "private void drawMessage (NGC context)" method for self message drawing schema
- if (GraphNode.contains(x, y - Metrics.MESSAGE_SELECTION_TOLERANCE / 2, Metrics.INTERNAL_MESSAGE_WIDTH / 2, Metrics.MESSAGE_SELECTION_TOLERANCE, xValue, yValue)) {
- return true;
- }
-
- // Test if the point is in part 3 of the self message
- if (GraphNode.contains(x + Metrics.INTERNAL_MESSAGE_WIDTH - Metrics.MESSAGE_SELECTION_TOLERANCE / 2, y, Metrics.MESSAGE_SELECTION_TOLERANCE, height + Metrics.SYNC_INTERNAL_MESSAGE_HEIGHT, xValue, yValue)) {
- return true;
- }
-
- // Test if the point is in part 5 of the self message
- if (GraphNode.contains(x, y + height - Metrics.MESSAGE_SELECTION_TOLERANCE / 2 + Metrics.SYNC_INTERNAL_MESSAGE_HEIGHT, Metrics.INTERNAL_MESSAGE_WIDTH / 2, Metrics.MESSAGE_SELECTION_TOLERANCE, xValue, yValue)) {
- return true;
- }
-
- // false otherwise
- return false;
- }
- if (GraphNode.contains(x, y - tempHeight, width, tempHeight, xValue, yValue)) {
- return true;
- }
- // false otherwise
- return false;
- }
-
- /**
- * Method to draw the message using the graphical context.
- *
- * @param context A graphical context to draw in.
- */
- protected void drawMessage(IGC context) {
- int fX = 0;
- int fY = 0;
- int fW = 0;
- int fH = 0;
-
- // temporary store the coordinates to avoid more methods calls
- int x = getX();
- int y = getY();
- int width = getWidth();
- int height = getHeight();
-
- ISDPreferences pref = SDViewPref.getInstance();
-
- // UML2 found message (always drawn from left to right)
- // or UML2 lost message (always drawn from left to right)
- if ((fStartLifeline == null || fEndLifeline == null) && fStartLifeline != fEndLifeline) {
- // Draw the message label above the message and centered
- // The label is truncated if it cannot fit between the two message end
- // 2*Metrics.MESSAGES_NAME_SPACING = space above the label + space below the label
- IColor temp = context.getForeground();
- context.setForeground(pref.getFontColor(getColorPrefId()));
- context.drawTextTruncatedCentred(getName(), x, y - Metrics.getMessageFontHeigth() - 2 * Metrics.MESSAGES_NAME_SPACING, width, 2 * Metrics.MESSAGES_NAME_SPACING + Metrics.getMessageFontHeigth(), !isSelected());
- context.setForeground(temp);
- int margin = 0;
- if (fEndLifeline == null) {
- margin = Metrics.MESSAGE_CIRCLE_RAY;
- }
-
- // Draw the message main line
- context.drawLine(x, y, x + width, y + height);
- // Draw the two little lines which make a arrow part of the message
- Double xt = Double.valueOf(Math.cos(0.75) * 7);
- Double yt = Double.valueOf(Math.sin(0.75) * 7);
- if (context.getLineStyle() == context.getLineSolidStyle()) {
- IColor backcolor = context.getBackground();
- context.setBackground(context.getForeground());
- int[] points = { x + width - margin, y + height, x + width - xt.intValue() - margin, y + height - yt.intValue(), x + width - xt.intValue() - margin, y + height + yt.intValue(), x + width - margin, y + height };
- context.fillPolygon(points);
- context.drawPolygon(points);
- context.setBackground(backcolor);
- } else {
- int currentStyle = context.getLineStyle();
- int currentWidth = context.getLineWidth();
- context.setLineWidth(currentWidth + 2);
- context.setLineStyle(context.getLineSolidStyle());
- context.drawLine(x + width - xt.intValue() - margin, y + height - yt.intValue(), x + width - margin, y + height);
- context.drawLine(x + width - xt.intValue() - margin, y + height + yt.intValue(), x + width - margin, y + height);
- context.setLineStyle(currentStyle);
- context.setLineWidth(currentWidth);
- }
- IColor storedColor = context.getBackground();
- context.setBackground(context.getForeground());
-
- // Draw a circle at the message end (endLifeline side)
- int ray = Metrics.MESSAGE_CIRCLE_RAY;
- if (context.getLineWidth() != Metrics.NORMAL_LINE_WIDTH) {
- ray = ray + Metrics.SELECTION_LINE_WIDTH - Metrics.NORMAL_LINE_WIDTH;
- }
- if (fStartLifeline == null) {
- context.fillOval(x - ray, y - ray, ray * 2, ray * 2);
- } else {
- context.fillOval(x + width - ray, y + height - ray, ray * 2, ray * 2);
- }
- context.setBackground(storedColor);
- context.setForeground(pref.getFontColor(getColorPrefId()));
- fX = x;
- fY = y - yt.intValue();
- fW = width;
- fH = height + 2 * yt.intValue();
- }
- // it is self message (always drawn at the left side of the owning lifeLifeline)
- else if (fStartLifeline != null && fEndLifeline != null && fStartLifeline == fEndLifeline) {
- /*
- * Self syncMessages are drawn in 5 parts 1 -----------+ + 2 + | | | 3 | + 5 + 4 -----------+
- */
- int tempy = Metrics.INTERNAL_MESSAGE_WIDTH / 2;
- if (Metrics.SYNC_INTERNAL_MESSAGE_HEIGHT <= Metrics.INTERNAL_MESSAGE_WIDTH) {
- tempy = Metrics.SYNC_INTERNAL_MESSAGE_HEIGHT / 2;
- }
-
- // Part 1
- context.drawLine(x, y, x + Metrics.INTERNAL_MESSAGE_WIDTH / 2, y);
- // Part 3
- context.drawLine(x + Metrics.INTERNAL_MESSAGE_WIDTH, y + tempy, x + Metrics.INTERNAL_MESSAGE_WIDTH, y + height + Metrics.SYNC_INTERNAL_MESSAGE_HEIGHT - tempy);
- // Part 5
- context.drawLine(x, y + height + Metrics.SYNC_INTERNAL_MESSAGE_HEIGHT, x + Metrics.INTERNAL_MESSAGE_WIDTH / 2, y + height + Metrics.SYNC_INTERNAL_MESSAGE_HEIGHT);
-
- Double xt = Double.valueOf(Math.cos(0.75) * 7);
- Double yt = Double.valueOf(Math.sin(0.75) * 7);
-
- fX = x;
- fY = y;
- fW = Metrics.INTERNAL_MESSAGE_WIDTH;
- fH = height + Metrics.SYNC_INTERNAL_MESSAGE_HEIGHT;
-
- // Draw the two little lines which make a arrow part of the message
- if (context.getLineStyle() == context.getLineSolidStyle()) {
- IColor backcolor = context.getBackground();
- context.setBackground(context.getForeground());
- int[] points = { x, y + height + Metrics.SYNC_INTERNAL_MESSAGE_HEIGHT, x + xt.intValue(), y + height + Metrics.SYNC_INTERNAL_MESSAGE_HEIGHT + yt.intValue(), x + xt.intValue(),
- y + height + Metrics.SYNC_INTERNAL_MESSAGE_HEIGHT - yt.intValue(), x, y + height + Metrics.SYNC_INTERNAL_MESSAGE_HEIGHT };
- context.fillPolygon(points);
- context.drawPolygon(points);
- context.setBackground(backcolor);
- } else {
- int currentStyle = context.getLineStyle();
- int currentWidth = context.getLineWidth();
- context.setLineWidth(currentWidth + 2);
- context.setLineStyle(context.getLineSolidStyle());
- context.drawLine(x + xt.intValue(), y + height + Metrics.SYNC_INTERNAL_MESSAGE_HEIGHT + yt.intValue(), x, y + height + Metrics.SYNC_INTERNAL_MESSAGE_HEIGHT);
- context.drawLine(x + xt.intValue(), y + height + Metrics.SYNC_INTERNAL_MESSAGE_HEIGHT - yt.intValue(), x, y + height + Metrics.SYNC_INTERNAL_MESSAGE_HEIGHT);
- context.setLineStyle(currentStyle);
- context.setLineWidth(currentWidth);
- }
-
- // Part 2
- context.drawArc(x, y, Metrics.INTERNAL_MESSAGE_WIDTH, 2 * tempy, 0, 90);
- // Part 4
- context.drawArc(x, y + Metrics.SYNC_INTERNAL_MESSAGE_HEIGHT, Metrics.INTERNAL_MESSAGE_WIDTH, -2 * tempy, 0, -90);
-
- // Draw the message label above the message and centered
- // The label is truncated if it cannot fit between the two message end
- // 2*Metrics.MESSAGES_NAME_SPACING = space above the label + space below the label
-
- // the space available for the text is sorter if are drawing internal message on the last lifeline
- context.setForeground(pref.getFontColor(getColorPrefId()));
- if (fStartLifeline.getIndex() == fStartLifeline.getFrame().getHorizontalIndex()) {
- context.drawTextTruncated(getName(), x + width + Metrics.INTERNAL_MESSAGE_V_MARGIN / 2, y, Metrics.swimmingLaneWidth() / 2 - Metrics.EXECUTION_OCCURRENCE_WIDTH + -Metrics.INTERNAL_MESSAGE_WIDTH, +Metrics.MESSAGES_NAME_SPACING
- - Metrics.getMessageFontHeigth(), !isSelected());
- } else {
- context.drawTextTruncated(getName(), x + width + Metrics.INTERNAL_MESSAGE_V_MARGIN / 2, y, Metrics.swimmingLaneWidth() - Metrics.EXECUTION_OCCURRENCE_WIDTH + -Metrics.INTERNAL_MESSAGE_WIDTH,
- +Metrics.MESSAGES_NAME_SPACING - Metrics.getMessageFontHeigth(), !isSelected());
- }
- }
- // it is regular message
- else if (fStartLifeline != null && fEndLifeline != null) {
- // Draw the message main line
- context.drawLine(x, y, x + width, y + height);
-
- int spaceBTWStartEnd = fEndLifeline.getX() - fStartLifeline.getX();
-
- double a = height;
- double b = width;
- double angle = Math.atan(a / b);
- // Compute the coordinates of the two little lines which make the arrow part of the message
- int sign = 1;
- if (spaceBTWStartEnd < 0) {
- sign = -1;
- }
- Double x1 = Double.valueOf(sign * Math.cos(angle - 0.75) * 7);
- Double y1 = Double.valueOf(sign * Math.sin(angle - 0.75) * 7);
- Double x2 = Double.valueOf(sign * Math.cos(angle + 0.75) * 7);
- Double y2 = Double.valueOf(sign * Math.sin(angle + 0.75) * 7);
-
- fX = getX();
- fY = y + height - y2.intValue();
- fW = getWidth();
- fH = y2.intValue() - y1.intValue() + 1;
- if (fW < 0) {
- fW = -fW;
- fX = fX - fW;
- }
-
- if (fH < 0) {
- fH = -fH;
- fY = fY - fH;
- }
-
- // Draw the two little lines which make a arrow part of the message
- if (context.getLineStyle() == context.getLineSolidStyle()) {
- IColor backcolor = context.getBackground();
- context.setBackground(context.getForeground());
- int[] points = { x + width - x1.intValue(), y + height - y1.intValue(), x + width, y + height, x + width - x2.intValue(), y + height - y2.intValue(), x + width - x1.intValue(), y + height - y1.intValue() };
- context.fillPolygon(points);
- context.drawPolygon(points);
- context.setBackground(backcolor);
- } else {
- int currentStyle = context.getLineStyle();
- int currentWidth = context.getLineWidth();
- context.setLineWidth(currentWidth + 2);
- context.setLineStyle(context.getLineSolidStyle());
- context.drawLine(x + width - x1.intValue(), y + height - y1.intValue(), x + width, y + height);
- context.drawLine(x + width - x2.intValue(), y + height - y2.intValue(), x + width, y + height);
- context.setLineStyle(currentStyle);
- context.setLineWidth(currentWidth);
- }
-
- // Draw the message label above the message and centered
- // The label is truncated if it cannot fit between the two message end
- // 2*Metrics.MESSAGES_NAME_SPACING = space above the label + space below the label
- context.setForeground(pref.getFontColor(getColorPrefId()));
- if (spaceBTWStartEnd > 0) {
- context.drawTextTruncatedCentred(getName(), x, y + height / 2 - (2 * Metrics.MESSAGES_NAME_SPACING + Metrics.getMessageFontHeigth()), width, 2 * Metrics.MESSAGES_NAME_SPACING + Metrics.getMessageFontHeigth(), !isSelected());
- } else {
- context.drawTextTruncatedCentred(getName(), x + width, y + height / 2 - (2 * Metrics.MESSAGES_NAME_SPACING + Metrics.getMessageFontHeigth()), -width, 2 * Metrics.MESSAGES_NAME_SPACING + +Metrics.getMessageFontHeigth(), !isSelected());
- }
- }
- }
-
- @Override
- public void draw(IGC context) {
- if (!isVisible()) {
- return;
- }
-
- // Draw it selected?*/
- if (isSelected()) {
- ISDPreferences pref = SDViewPref.getInstance();
- /*
- * Draw it twice First time, bigger inverting selection colors Second time, regular drawing using selection
- * colors This create the highlight effect
- */
- context.setForeground(pref.getBackGroundColorSelection());
- context.setLineWidth(Metrics.SELECTION_LINE_WIDTH);
- drawMessage(context);
- context.setBackground(pref.getBackGroundColorSelection());
- context.setForeground(pref.getForeGroundColorSelection());
- // Second drawing is done after
- }
- context.setLineWidth(Metrics.NORMAL_LINE_WIDTH);
- if (hasFocus()) {
- context.setDrawTextWithFocusStyle(true);
- }
- drawMessage(context);
- int oldStyle = context.getLineStyle();
- if (hasFocus()) {
- context.setDrawTextWithFocusStyle(false);
- drawFocus(context);
- }
- // restore the context
- context.setLineStyle(oldStyle);
- }
-
- /**
- * Determine if two messages are identical. This default implementation considers that overlapping messages with
- * same coordinates are identical.
- *
- * @param message - the message to compare with
- * @return true if identical false otherwise
- *
- * @see org.eclipse.linuxtools.tmf.ui.views.uml2sd.core.GraphNode#isSameAs(org.eclipse.linuxtools.tmf.ui.views.uml2sd.core.GraphNode)
- */
- @Override
- public boolean isSameAs(GraphNode message) {
- if (message == null) {
- return false;
- }
- if (!(message instanceof BaseMessage)) {
- return super.isSameAs(message);
- }
- return ((getX() == message.getX()) && (getY() == message.getY()) && (getWidth() == message.getWidth()) && (getHeight() == message.getHeight()));
- }
-
- /**
- * Method drawRot.
- *
- * @param x A x coordinate
- * @param y A y coordinate
- * @param w A width
- * @param h A height
- * @param context A graphical context
- */
- public void drawRot(int x, int y, int w, int h, IGC context) {
- double angleA = Math.atan2(getHeight(), getWidth());
- double cosA = Math.cos(angleA);
- double sinA = Math.sin(angleA);
-
- int gx = getX();
- int gy = getY();
-
- int localHeight = h;
- localHeight = localHeight / 2;
-
- double cw = Math.sqrt(w * w + getHeight() * getHeight());
-
- int x1 = Math.round((float) ((x - gx) * cosA - (y - gy) * sinA));
- int y1 = Math.round((float) ((x - gx) * sinA + (y - gy) * cosA));
-
- int x2 = Math.round((float) (cw * cosA - (y - gy) * sinA));
- int y2 = Math.round((float) (cw * sinA + (y - gy) * cosA));
-
- int x3 = Math.round((float) (cw * cosA - (localHeight) * sinA));
- int y3 = Math.round((float) (cw * sinA + (localHeight) * cosA));
-
- int x4 = Math.round((float) ((x - gx) * cosA - (localHeight) * sinA));
- int y4 = Math.round((float) ((x - gx) * sinA + (localHeight) * cosA));
-
- int[] points = { x1 + getX(), y1 + getY(), x2 + getX(), y2 + getY(), x3 + getX(), y3 + getY(), x4 + getX(), y4 + getY() };
- context.drawPolygon(points);
- }
-
- @Override
- public void drawFocus(IGC context) {
-
- ISDPreferences pref = SDViewPref.getInstance();
-
- if ((fStartLifeline != fEndLifeline) && (getStartOccurrence() == getEndOccurrence())) {
- context.setLineStyle(context.getLineDotStyle());
- context.setLineWidth(Metrics.NORMAL_LINE_WIDTH);
- context.setBackground(pref.getBackGroundColorSelection());
- context.setForeground(pref.getForeGroundColorSelection());
- context.drawFocus(getX(), getY() - 3, getWidth(), getHeight() + 6);
- } else if ((fStartLifeline == fEndLifeline) && (getStartOccurrence() == getEndOccurrence())) {
- context.drawFocus(getX(), getY() - 3, getWidth(), Metrics.SYNC_INTERNAL_MESSAGE_HEIGHT + 6);
- } else if ((fStartLifeline != fEndLifeline) && (getStartOccurrence() != getEndOccurrence())) {
- context.setLineStyle(context.getLineDotStyle());
- context.setLineWidth(Metrics.NORMAL_LINE_WIDTH);
- context.setBackground(pref.getBackGroundColor(ISDPreferences.PREF_LIFELINE_HEADER));
- context.setForeground(pref.getForeGroundColor(ISDPreferences.PREF_LIFELINE_HEADER));
- drawRot(getX(), getY() - 5, getWidth(), 10, context);
- } else {
- super.drawFocus(context);
- }
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/core/BasicExecutionOccurrence.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/core/BasicExecutionOccurrence.java
deleted file mode 100755
index 9e0349715e..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/core/BasicExecutionOccurrence.java
+++ /dev/null
@@ -1,275 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2005, 2013 IBM Corporation, 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:
- * IBM - Initial API and implementation
- * Bernd Hufmann - Updated for TMF
- **********************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.views.uml2sd.core;
-
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.drawings.IColor;
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.drawings.IGC;
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.preferences.ISDPreferences;
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.preferences.SDViewPref;
-
-/**
- * BasicExecutionOccurrence is the UML2 execution occurrence graphical representation. It is attached to one Lifeline,
- * the event occurrence "duration" along the lifeline is defined by two event occurrences
- *
- * @see org.eclipse.linuxtools.tmf.ui.views.uml2sd.core.Lifeline Lifeline for more event occurence details
- * @version 1.0
- * @author sveyrier
- *
- */
-public class BasicExecutionOccurrence extends GraphNode {
-
- // ------------------------------------------------------------------------
- // Constants
- // ------------------------------------------------------------------------
- /**
- * The grahNode ID constant
- */
- public static final String EXEC_OCC_TAG = "Execution_Occ"; //$NON-NLS-1$
-
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
-
- /**
- * The corresponding lifeline.
- */
- private Lifeline fLifeline = null;
-
- // ------------------------------------------------------------------------
- // Constructors
- // ------------------------------------------------------------------------
- /**
- * Default constructore
- */
- public BasicExecutionOccurrence() {
- setColorPrefId(ISDPreferences.PREF_EXEC);
- }
-
- // ------------------------------------------------------------------------
- // Constants
- // ------------------------------------------------------------------------
-
- @Override
- public int getX() {
- if (fLifeline == null) {
- return 0;
- }
- return fLifeline.getX() + Metrics.getLifelineWidth() / 2 - Metrics.EXECUTION_OCCURRENCE_WIDTH / 2;
- }
-
- @Override
- public int getY() {
- if (fLifeline == null) {
- return 0;
- }
- return fLifeline.getY() + fLifeline.getHeight() + (Metrics.getMessageFontHeigth() + Metrics.getMessagesSpacing()) * getStartOccurrence();
- }
-
- @Override
- public int getWidth() {
- if (fLifeline == null) {
- return 0;
- }
- return Metrics.EXECUTION_OCCURRENCE_WIDTH;
- }
-
- @Override
- public int getHeight() {
- if (fLifeline == null) {
- return 0;
- }
- return ((Metrics.getMessageFontHeigth() + Metrics.getMessagesSpacing())) * (getEndOccurrence() - getStartOccurrence());
- }
-
- @Override
- public boolean contains(int xValue, int yValue) {
- int x = getX();
- int y = getY();
- int width = getWidth();
- int height = getHeight();
-
- if (GraphNode.contains(x, y, width, height, xValue, yValue)) {
- return true;
- }
-
- if (getNodeAt(xValue, yValue) != null) {
- return true;
- }
- return false;
- }
-
- @Override
- public String getName() {
- if (super.getName() == null || super.getName().equals("")) { //$NON-NLS-1$
- return fLifeline.getToolTipText();
- }
- return super.getName();
- }
-
- /**
- * Set the lifeline on which the execution occurrence appears.
- *
- * @param theLifeline - the parent lifeline
- */
- public void setLifeline(Lifeline theLifeline) {
- fLifeline = theLifeline;
- }
-
- /**
- * Get the lifeline on which the execution occurrence appears.
- *
- * @return - the parent lifeline
- */
- public Lifeline getLifeline() {
- return fLifeline;
- }
-
- /**
- * Get the execution start event occurrence
- *
- * @return the start event occurrence to set
- */
- @Override
- public int getStartOccurrence() {
- return super.getStartOccurrence();
- }
-
- /**
- * Set the execution end event occurrence
- *
- * @return the end event occurrence to set
- */
- @Override
- public int getEndOccurrence() {
- return super.getEndOccurrence();
- }
-
- /**
- * Set the execution start event occurrence
- *
- * @param occurrence the start event occurrence to set
- */
- @Override
- public void setStartOccurrence(int occurrence) {
- super.setStartOccurrence(occurrence);
- }
-
- /**
- * Set the execution end event occurrence
- *
- * @param occurrence the end event occurrence to set
- */
- @Override
- public void setEndOccurrence(int occurrence) {
- super.setEndOccurrence(occurrence);
- }
-
- @Override
- public void draw(IGC context) {
- int x = getX();
- int y = getY();
- int width = getWidth();
- int height = getHeight();
- IColor tempFillColor = null;
- IColor tempStrokeColor = null;
-
- ISDPreferences pref = SDViewPref.getInstance();
-
- // The execution occurrence is selected
- // if the owning lifeline is selected
- if (fLifeline.isSelected() || isSelected()) {
- context.setBackground(pref.getBackGroundColorSelection());
- context.setForeground(pref.getForeGroundColorSelection());
- } else {
- tempFillColor = setUnselectedFillColor(context);
- }
- if (pref.useGradienColor()) {
- context.fillGradientRectangle(x, y, width, height, false);
- } else {
- context.fillRectangle(x, y, width, height);
- }
- tempStrokeColor = setUnselectedStrokeColor(context);
- context.drawRectangle(x, y, width, height);
- if (tempFillColor != null) {
- tempFillColor.dispose();
- }
- if (tempStrokeColor != null) {
- tempStrokeColor.dispose();
- }
- if (hasFocus()) {
- drawFocus(context);
- }
- super.drawChildenNodes(context);
- }
-
- /**
- * Rewrite this method in your extension in order to support customized fill colors
- *
- * @param context Graphics context
- * @return IColor
- */
- protected IColor setUnselectedFillColor(IGC context) {
-
- ISDPreferences pref = SDViewPref.getInstance();
-
- if (pref.useGradienColor()) {
- context.setGradientColor(pref.getBackGroundColor(ISDPreferences.PREF_EXEC));
- context.setBackground(pref.getBackGroundColor(ISDPreferences.PREF_FRAME));
- } else {
- context.setBackground(pref.getBackGroundColor(ISDPreferences.PREF_EXEC));
- }
- return null;
- }
-
- /**
- * Rewrite this method in your extension in order to support customized stroke colors
- *
- * @param context Graphics context
- * @return IColor
- */
- protected IColor setUnselectedStrokeColor(IGC context) {
- context.setForeground(SDViewPref.getInstance().getForeGroundColor(ISDPreferences.PREF_EXEC));
- return null;
- }
-
- @Override
- public String getArrayId() {
- return EXEC_OCC_TAG;
- }
-
- @Override
- public boolean positiveDistanceToPoint(int x, int y) {
- if (getY() + getHeight() > y) {
- return true;
- }
- return false;
- }
-
- @Override
- public boolean isVisible(int x, int y, int width, int height) {
- if ((getLifeline() != null) && (getLifeline().isVisible(x, y, width, height))) {
- int ly = getY();
- int lh = getHeight();
- if (ly >= y && ly < y + height) {
- return true;
- }
- if (ly + lh > y && ly + lh <= y + height) {
- return true;
- }
- if ((ly < y) && (ly + lh > y + height)) {
- return true;
- }
- }
- return false;
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/core/BasicFrame.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/core/BasicFrame.java
deleted file mode 100755
index c5b1acd170..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/core/BasicFrame.java
+++ /dev/null
@@ -1,633 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2005, 2013 IBM Corporation, 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:
- * IBM - Initial API and implementation
- * Bernd Hufmann - Updated for TMF
- **********************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.views.uml2sd.core;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.linuxtools.tmf.core.timestamp.ITmfTimestamp;
-import org.eclipse.linuxtools.tmf.core.timestamp.TmfTimestamp;
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.drawings.IGC;
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.preferences.ISDPreferences;
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.preferences.SDViewPref;
-
-/**
- * The Frame class is the base sequence diagram graph nodes container.<br>
- * For instance, only one frame can be drawn in the View.<br>
- * Lifelines, Messages and Stop which are supposed to represent a Sequence diagram are drawn in a Frame.<br>
- * Only the graph node added to their representing list will be drawn.
- *
- * The lifelines are appended along the X axsis when added in a frame.<br>
- * The syncMessages are ordered along the Y axsis depending on the event occurrence they are attached to.<br>
- *
- * @see org.eclipse.linuxtools.tmf.ui.views.uml2sd.core.Lifeline Lifeline for more event occurence details
- * @author sveyrier
- * @version 1.0
- */
-public class BasicFrame extends GraphNode {
-
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
-
- /**
- * Contains the max elapsed time between two consecutive messages in the whole frame
- */
- private ITmfTimestamp fMaxTime = new TmfTimestamp(0);
- /**
- * Contains the min elapsed time between two consecutive messages in the whole frame
- */
- private ITmfTimestamp fMinTime = new TmfTimestamp(0);
- /**
- * Indicate if the min and max elapsed time between two consecutive messages in the whole frame need to be computed
- */
- private boolean fComputeMinMax = true;
- /**
- * Store the preference set by the user regarding the external time. This flag is used determine if the min and max
- * need to be recomputed in case this preference is changed.
- */
- private boolean fLastExternalTimePref = SDViewPref.getInstance().excludeExternalTime();
- /**
- * The greater event occurrence created on graph nodes drawn in this Frame This directly impact the Frame height
- */
- private int fVerticalIndex = 0;
- /**
- * The index along the x axis where the next lifeline will is drawn This directly impact the Frame width
- */
- private int fHorizontalIndex = 0;
- /**
- * The time information flag.
- */
- private boolean fHasTimeInfo = false;
- /**
- * The current Frame visible area - x coordinates
- */
- private int fVisibleAreaX;
- /**
- * The current Frame visible area - y coordinates
- */
- private int fVisibleAreaY;
- /**
- * The current Frame visible area - width
- */
- private int fVisibleAreaWidth;
- /**
- * The current Frame visible area - height
- */
- private int fVisibleAreaHeight;
- /**
- * The event occurrence spacing (-1 for none)
- */
- private int fForceEventOccurrenceSpacing = -1;
- /**
- * Flag to indicate customized minumum and maximum.
- */
- private boolean fCustomMinMax = false;
- /**
- * The minimum time between messages of the sequence diagram frame.
- */
- private ITmfTimestamp fMinSDTime = new TmfTimestamp();
- /**
- * The maximum time between messages of the sequence diagram frame.
- */
- private ITmfTimestamp fMaxSDTime = new TmfTimestamp();
- /**
- * Flag to indicate that initial minimum has to be computed.
- */
- private boolean fInitSDMin = true;
-
- // ------------------------------------------------------------------------
- // Constructors
- // ------------------------------------------------------------------------
-
- /**
- * Creates an empty frame.
- */
- public BasicFrame() {
- Metrics.setForcedEventSpacing(fForceEventOccurrenceSpacing);
- }
-
- // ------------------------------------------------------------------------
- // Methods
- // ------------------------------------------------------------------------
-
- /**
- *
- * Returns the greater event occurence known by the Frame
- *
- * @return the greater event occurrence
- */
- protected int getMaxEventOccurrence() {
- return fVerticalIndex;
- }
-
- /**
- * Set the greater event occurrence created in GraphNodes included in the frame
- *
- * @param eventOccurrence the new greater event occurrence
- */
- protected void setMaxEventOccurrence(int eventOccurrence) {
- fVerticalIndex = eventOccurrence;
- }
-
- /**
- * This method increase the lifeline place holder The return value is usually assign to a lifeline. This can be used
- * to set the lifelines drawing order. Also, calling this method two times and assigning only the last given index
- * to a lifeline will increase this lifeline draw spacing (2 times the default spacing) from the last added
- * lifeline.
- *
- * @return a new lifeline index
- */
- protected int getNewHorizontalIndex() {
- return ++fHorizontalIndex;
- }
-
- /**
- * Returns the current horizontal index
- *
- * @return the current horizontal index
- * @see Frame#getNewHorizontalIndex() for horizontal index description
- */
- protected int getHorizontalIndex() {
- return fHorizontalIndex;
- }
-
- @Override
- public void addNode(GraphNode nodeToAdd) {
- setComputeMinMax(true);
- super.addNode(nodeToAdd);
- }
-
- @Override
- public int getX() {
- return Metrics.FRAME_H_MARGIN;
- }
-
- @Override
- public int getY() {
- return Metrics.FRAME_V_MARGIN;
- }
-
- @Override
- public int getWidth() {
- if (fHorizontalIndex == 0) {
- return 3 * Metrics.swimmingLaneWidth() + Metrics.LIFELINE_H_MAGIN * 2 - Metrics.FRAME_H_MARGIN - Metrics.LIFELINE_SPACING / 2;
- }
- return fHorizontalIndex * Metrics.swimmingLaneWidth() + Metrics.LIFELINE_H_MAGIN * 2 + 1 - Metrics.LIFELINE_SPACING;
- }
-
- @Override
- public int getHeight() {
- // The Frame height depends on the maximum number of messages added to a lifeline
- if (fVerticalIndex == 0) {
- return 5 * (Metrics.getMessagesSpacing() + Metrics.getMessageFontHeigth()) + Metrics.LIFELINE_NAME_H_MARGIN + Metrics.FRAME_NAME_H_MARGIN + Metrics.getFrameFontHeigth() + Metrics.LIFELINE_VT_MAGIN + Metrics.LIFELINE_VB_MAGIN
- + Metrics.LIFELINE_NAME_H_MARGIN + Metrics.FRAME_NAME_H_MARGIN + Metrics.getLifelineFontHeigth() * 2;
- }
- if (fForceEventOccurrenceSpacing >= 0) {
- Metrics.setForcedEventSpacing(fForceEventOccurrenceSpacing);
- }
- return fVerticalIndex * (Metrics.getMessagesSpacing() + Metrics.getMessageFontHeigth()) + Metrics.LIFELINE_NAME_H_MARGIN + Metrics.FRAME_NAME_H_MARGIN + Metrics.getFrameFontHeigth() + Metrics.LIFELINE_VT_MAGIN + Metrics.LIFELINE_VB_MAGIN
- + Metrics.LIFELINE_NAME_H_MARGIN + Metrics.FRAME_NAME_H_MARGIN + Metrics.getLifelineFontHeigth() * 2;
- }
-
- /**
- * @return true if mininum and maximum time needs to be calculated else false
- * @since 2.0
- */
- protected boolean isComputeMinMax() {
- return fComputeMinMax;
- }
-
- /**
- * @return true if mininum and maximum time needs to be calculated else false
- * @since 2.0
- */
- protected boolean isCustomMinMax() {
- return fCustomMinMax;
- }
-
- /**
- * gets the initialization flag for SD minimum.
- *
- * @return the initialization flag for SD minimum
- * @since 2.0
- */
- protected boolean getInitSDMin() {
- return fInitSDMin;
- }
-
- /**
- * Returns the graph node which contains the point given in parameter for the given graph node list and starting the
- * iteration at the given index<br>
- * WARNING: Only graph nodes with smaller coordinates than the current visible area can be returned.<br>
- *
- * @param x the x coordinate of the point to test
- * @param y the y coordinate of the point to test
- * @param list the list to search in
- * @param fromIndex list browsing starting point
- * @return the graph node containing the point given in parameter, null otherwise
- *
- * @see org.eclipse.linuxtools.tmf.ui.views.uml2sd.core.GraphNode#getNodeFromListAt(int, int, java.util.List, int)
- */
- @Override
- protected GraphNode getNodeFromListAt(int x, int y, List<GraphNode> list, int fromIndex) {
- if (list == null) {
- return null;
- }
- for (int i = fromIndex; i < list.size(); i++) {
- GraphNode node = list.get(i);
- // only lifeline list is x ordered
- // Stop browsing the list if the node is outside the visible area
- // all others nodes will be not visible
- if ((node instanceof Lifeline) && (node.getX() > fVisibleAreaX + fVisibleAreaWidth)) {
- break;
- }
- if (node.getHeight() < 0) {
- if (node.getY() + node.getHeight() > fVisibleAreaY + fVisibleAreaHeight) {
- break;
- }
- } else {
- if (node.getY() > fVisibleAreaY + fVisibleAreaHeight) {
- break;
- }
- }
- if (node.contains(x, y)) {
- return node;
- }
- }
- return null;
- }
-
- /**
- * Draw the Frame rectangle
- *
- * @param context the context to draw to
- */
- protected void drawFrame(IGC context) {
-
- ISDPreferences pref = SDViewPref.getInstance();
-
- context.setBackground(pref.getBackGroundColor(ISDPreferences.PREF_FRAME));
- context.setForeground(pref.getForeGroundColor(ISDPreferences.PREF_FRAME));
-
- int x = getX();
- int y = getY();
- int w = getWidth();
- int h = getHeight();
-
- // Draw the frame main rectangle
- context.fillRectangle(x, y, w, h);
- context.drawRectangle(x, y, w, h);
-
- context.setBackground(pref.getBackGroundColor(ISDPreferences.PREF_FRAME_NAME));
- context.setForeground(pref.getForeGroundColor(ISDPreferences.PREF_FRAME_NAME));
- context.setFont(pref.getFont(ISDPreferences.PREF_FRAME_NAME));
-
- int nameWidth = context.textExtent(getName()) + 2 * Metrics.FRAME_NAME_V_MARGIN;
- int nameHeight = Metrics.getFrameFontHeigth() + +Metrics.FRAME_NAME_H_MARGIN * 2;
-
- // Draw the frame name area
- if (nameWidth > w) {
- nameWidth = w;
- }
-
- int[] points = { x, y, x + nameWidth, y, x + nameWidth, y - 11 + nameHeight, x - 11 + nameWidth, y + nameHeight, x, y + nameHeight, x, y + nameHeight };
- context.fillPolygon(points);
- context.drawPolygon(points);
- context.drawLine(x, y, x, y + nameHeight);
-
- context.setForeground(pref.getFontColor(ISDPreferences.PREF_FRAME_NAME));
- context.drawTextTruncatedCentred(getName(), x, y, nameWidth - 11, nameHeight, false);
-
- context.setBackground(pref.getBackGroundColor(ISDPreferences.PREF_FRAME));
- context.setForeground(pref.getForeGroundColor(ISDPreferences.PREF_FRAME));
- }
-
- @Override
- public void draw(IGC context) {
- draw(context, true);
- }
-
- /**
- * Draws the Frame on the given context.<br>
- * This method start width GraphNodes ordering if needed.<br>
- * After, depending on the visible area, only visible GraphNodes are drawn.<br>
- *
- * @param context the context to draw to
- * @param drawFrame indicate if the frame rectangle need to be redrawn
- * @see org.eclipse.linuxtools.tmf.ui.views.uml2sd.core.GraphNode#draw(IGC)
- */
- protected void draw(IGC context, boolean drawFrame) {
- fVisibleAreaHeight = context.getVisibleHeight();
- fVisibleAreaWidth = context.getVisibleWidth();
- fVisibleAreaX = context.getContentsX();
- fVisibleAreaY = context.getContentsY();
-
- if (fForceEventOccurrenceSpacing >= 0) {
- Metrics.setForcedEventSpacing(fForceEventOccurrenceSpacing);
- } else {
- Metrics.setForcedEventSpacing(-1);
- }
-
- super.drawChildenNodes(context);
- }
-
- /**
- * Sets the event occurrence spacing (-1 for none)
- *
- * @param space A spacing to set.
- */
- public void forceEventOccurrenceSpacing(int space) {
- fForceEventOccurrenceSpacing = space;
- }
-
- /**
- * Return the X coordinates of the frame visible area
- *
- * @return the X coordinates of the frame visible area
- */
- public int getVisibleAreaX() {
- return fVisibleAreaX;
- }
-
- /**
- * Return the frame visible area width
- *
- * @return the frame visible area width
- */
- public int getVisibleAreaWidth() {
- return fVisibleAreaWidth;
- }
-
- /**
- * Return the frame visible area height
- *
- * @return the frame visible area height
- */
- public int getVisibleAreaHeight() {
- return fVisibleAreaHeight;
- }
-
- /**
- * Return the X coordinates of the frame visible area
- *
- * @return the X coordinates of the frame visible area
- */
- public int getVisibleAreaY() {
- return fVisibleAreaY;
- }
-
- /**
- * Return the minimum time stored in the frame taking all GraphNodes into account
- *
- * @return the minimum GraphNode time
- * @since 2.0
- */
- public ITmfTimestamp getMinTime() {
- if (fLastExternalTimePref != SDViewPref.getInstance().excludeExternalTime()) {
- fLastExternalTimePref = SDViewPref.getInstance().excludeExternalTime();
- setComputeMinMax(true);
- }
- if ((fComputeMinMax) && (!fCustomMinMax)) {
- computeMinMax();
- setComputeMinMax(false);
- }
- return fMinTime;
- }
-
- /**
- * Set the minimum timestamp of the frame.
- *
- * @param min
- * The minimum timestamp
- * @since 2.0
- */
- public void setMin(ITmfTimestamp min) {
- fMinTime = min;
- fCustomMinMax = true;
- }
-
- /**
- * Set the maximum timestamp of the frame.
- *
- * @param max
- * The maximum timestamp
- * @since 2.0
- */
- public void setMax(ITmfTimestamp max) {
- fMaxTime = max;
- fCustomMinMax = true;
- }
-
- /**
- * Reset min/max timestamp values to the default ones.
- */
- public void resetCustomMinMax() {
- fCustomMinMax = false;
- setComputeMinMax(true);
- }
-
- /**
- * Return the maximum time stored in the frame taking all GraphNodes into account
- *
- * @return the maximum GraphNode time
- * @since 2.0
- */
- public ITmfTimestamp getMaxTime() {
- if (fLastExternalTimePref != SDViewPref.getInstance().excludeExternalTime()) {
- fLastExternalTimePref = SDViewPref.getInstance().excludeExternalTime();
- setComputeMinMax(true);
- }
- if (fComputeMinMax) {
- computeMinMax();
- setComputeMinMax(false);
- }
- return fMaxTime;
- }
-
- /**
- * Computes the minimum and maximum time between consecutive messages within the frame.
- */
- protected void computeMaxMinTime() {
- if (!fInitSDMin) {
- return;
- }
-
- List<SDTimeEvent> timeArray = buildTimeArray();
-
- if ((timeArray == null) || timeArray.isEmpty()) {
- return;
- }
- for (int i = 0; i < timeArray.size(); i++) {
- SDTimeEvent m = timeArray.get(i);
-
- if (m.getTime().compareTo(fMaxSDTime, true) > 0) {
- fMaxSDTime = m.getTime();
- }
-
- if ((m.getTime().compareTo(fMinSDTime, true) < 0) || fInitSDMin) {
- fMinSDTime = m.getTime();
- fInitSDMin = false;
- }
- }
- }
-
- /**
- * Returns the minimum time between consecutive messages.
- *
- * @return the minimum time between consecutive messages
- * @since 2.0
- */
- public ITmfTimestamp getSDMinTime() {
- computeMaxMinTime();
- return fMinSDTime;
- }
-
- /**
- * Returns the maximum time between consecutive messages.
- *
- * @return the maximum time between consecutive messages
- * @since 2.0
- */
- public ITmfTimestamp getSDMaxTime() {
- computeMaxMinTime();
- return fMaxSDTime;
- }
-
- /**
- * Browse all the GraphNode to compute the min and max times store in the Frame
- */
- protected void computeMinMax() {
- List<SDTimeEvent> timeArray = buildTimeArray();
-
- if ((timeArray == null) || timeArray.isEmpty()) {
- return;
- }
- for (int i = 0; i < timeArray.size() - 1; i++) {
- SDTimeEvent m1 = timeArray.get(i);
- SDTimeEvent m2 = timeArray.get(i + 1);
-
- updateMinMax(m1, m2);
- }
- }
-
- /**
- * Updates the minimum and maximum time between consecutive message within the frame based on the given values.
- *
- * @param m1 A first SD time event.
- * @param m2 A second SD time event.
- */
- protected void updateMinMax(SDTimeEvent m1, SDTimeEvent m2) {
- ITmfTimestamp delta = m2.getTime().getDelta(m1.getTime());
- if (fComputeMinMax) {
- fMinTime = delta;
- if (fMinTime.compareTo(TmfTimestamp.ZERO, false) < 0) {
- fMinTime = new TmfTimestamp(0, m1.getTime().getScale(), m1.getTime().getPrecision());
- }
- fMaxTime = fMinTime;
- setComputeMinMax(false);
- }
-
- if ((delta.compareTo(fMinTime, true) < 0) && (delta.compareTo(TmfTimestamp.ZERO, false) > 0)) {
- fMinTime = delta;
- }
-
- if ((delta.compareTo(fMaxTime, true) > 0) && (delta.compareTo(TmfTimestamp.ZERO, false) > 0)) {
- fMaxTime = delta;
- }
- }
-
- /**
- * Builds the time array based on the list of graph nodes.
- *
- * @return the time array else empty list.
- */
- protected List<SDTimeEvent> buildTimeArray() {
- if (!hasChildren()) {
- return new ArrayList<>();
- }
-
- Iterator<String> it = getForwardSortMap().keySet().iterator();
- List<SDTimeEvent> timeArray = new ArrayList<>();
- while (it.hasNext()) {
- String nodeType = it.next();
- List<GraphNode> list = getNodeMap().get(nodeType);
- for (int i = 0; i < list.size(); i++) {
- Object timedNode = list.get(i);
- if ((timedNode instanceof ITimeRange) && ((ITimeRange) timedNode).hasTimeInfo()) {
- int event = list.get(i).getStartOccurrence();
- ITmfTimestamp time = ((ITimeRange) list.get(i)).getStartTime();
- SDTimeEvent f = new SDTimeEvent(time, event, (ITimeRange) list.get(i));
- timeArray.add(f);
- if (event != list.get(i).getEndOccurrence()) {
- event = (list.get(i)).getEndOccurrence();
- time = ((ITimeRange) list.get(i)).getEndTime();
- f = new SDTimeEvent(time, event, (ITimeRange) list.get(i));
- timeArray.add(f);
- }
- }
- }
- }
- return timeArray;
- }
-
- @Override
- public String getArrayId() {
- return null;
- }
-
- @Override
- public boolean contains(int x, int y) {
- return false;
- }
-
- /**
- * @return true if frame has time info else false
- * @since 2.0
- */
- public boolean hasTimeInfo() {
- return fHasTimeInfo;
- }
-
- /**
- * Sets the flag whether the frame has time info or not
- * @since 2.0
- * @param hasTimeInfo
- * true if frame has time info else false
- */
- public void setHasTimeInfo(boolean hasTimeInfo) {
- fHasTimeInfo = hasTimeInfo;
- }
-
- /**
- * Sets the flag for minimum and maximum computation.
- * @param computeMinMax
- * true if mininum and maximum time needs to be calculated else false
- * @since 2.0
- */
- public void setComputeMinMax(boolean computeMinMax) {
- fComputeMinMax = computeMinMax;
- }
-
- /**
- * Sets the initialization flag for SD minimum.
- *
- * @param initSDMin
- * the flag to set
- * @since 2.0
- */
- public void setInitSDMin(boolean initSDMin) {
- fInitSDMin = initSDMin;
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/core/EllipsisMessage.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/core/EllipsisMessage.java
deleted file mode 100755
index 21990c88d1..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/core/EllipsisMessage.java
+++ /dev/null
@@ -1,141 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2005, 2013 IBM Corporation, 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:
- * IBM - Initial API and implementation
- * Bernd Hufmann - Updated for TMF
- **********************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.views.uml2sd.core;
-
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.drawings.IColor;
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.drawings.IGC;
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.preferences.ISDPreferences;
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.preferences.SDViewPref;
-
-/**
- * Class to draw Ellipsis Message.
- *
- * @version 1.0
- * @author sveyrier
- *
- */
-public class EllipsisMessage extends AsyncMessage {
-
- @Override
- public int getX() {
- if (getStartLifeline() == null) {
- return super.getX() + super.getWidth() - 16;
- }
- return super.getX();
- }
-
- @Override
- public int getY() {
- return super.getY() + 3;
- }
-
- @Override
- public int getWidth() {
- return 16;
- }
-
- @Override
- protected void drawMessage(IGC context) {
- // temporary store the coordinates to avoid more methods calls
- int x = super.getX();
- int y = getY();
- int width = super.getWidth();
- int height = getHeight();
-
- // UML2 found message (always drawn from left to right)
- if (getStartLifeline() == null && getEndLifeline() != null) {
- // Draw the message label above the message and centered
- // The label is truncated if it cannot fit between the two message end
- // 2*Metrics.MESSAGES_NAME_SPACING = space above the label + space below the label
- context.drawTextTruncatedCentred(getName(), x, y - Metrics.getMessageFontHeigth() - 2 * Metrics.MESSAGES_NAME_SPACING, width, 2 * Metrics.MESSAGES_NAME_SPACING + Metrics.getMessageFontHeigth(), !isSelected());
-
- int currentStyle = context.getLineStyle();
- context.setLineStyle(context.getLineSolidStyle());
- // Draw the message main line
- context.drawRectangle(x + width - 5, y, x + width - 6, y + height);
- context.drawRectangle(x + width - 10, y, x + width - 11, y + height);
- context.drawRectangle(x + width - 15, y, x + width - 16, y + height);
- context.setLineStyle(currentStyle);
-
- IColor storedColor = context.getBackground();
- context.setBackground(context.getForeground());
- context.fillRectangle(x + width - 5, y, x + width - 6, y + height);
- context.fillRectangle(x + width - 10, y, x + width - 11, y + height);
- context.fillRectangle(x + width - 15, y, x + width - 16, y + height);
- context.setBackground(storedColor);
- }
- // UML2 lost message (always drawn from left to right)
- else if (getEndLifeline() == null && getStartLifeline() != null) {
- // Draw the message label above the message and centered
- // The label is truncated if it cannot fit between the two message end
- // 2*Metrics.MESSAGES_NAME_SPACING = space above the label + space below the label
- context.drawTextTruncatedCentred(getName(), x, y - Metrics.getMessageFontHeigth() - 2 * Metrics.MESSAGES_NAME_SPACING, width, 2 * Metrics.MESSAGES_NAME_SPACING + Metrics.getMessageFontHeigth(), !isSelected());
-
- int currentStyle = context.getLineStyle();
- context.setLineStyle(context.getLineSolidStyle());
- // Draw the message main line
- context.drawRectangle(x + 5, y, 1, 1);
- context.drawRectangle(x + 10, y, 1, 1);
- context.drawRectangle(x + 15, y, 1, 1);
-
- context.setLineStyle(currentStyle);
-
- IColor storedColor = context.getBackground();
- context.setBackground(context.getForeground());
- context.fillRectangle(x + 5, y, 1, 1);
- context.fillRectangle(x + 10, y, 1, 1);
- context.fillRectangle(x + 15, y, 1, 1);
-
- context.setBackground(storedColor);
-
- } else {
- super.draw(context);
- }
- }
-
- @Override
- public void draw(IGC context) {
- if (!isVisible()) {
- return;
- }
-
- ISDPreferences pref = SDViewPref.getInstance();
-
- // Draw it selected?*/
- if (isSelected()) {
-
- /*
- * Draw it twice First time, bigger inverting selection colors Second time, regular drawing using selection
- * colors This create the highlight effect
- */
- context.setForeground(pref.getBackGroundColorSelection());
- context.setLineWidth(Metrics.SELECTION_LINE_WIDTH);
- drawMessage(context);
- context.setBackground(pref.getBackGroundColorSelection());
- context.setForeground(pref.getForeGroundColorSelection());
- // Second drawing is done after the else
- } else {
- context.setBackground(pref.getBackGroundColor(ISDPreferences.PREF_ASYNC_MESS));
- context.setForeground(pref.getForeGroundColor(ISDPreferences.PREF_ASYNC_MESS));
- }
- if (hasFocus()) {
- context.setDrawTextWithFocusStyle(true);
- }
- context.setLineWidth(Metrics.NORMAL_LINE_WIDTH);
- drawMessage(context);
- context.setLineWidth(Metrics.NORMAL_LINE_WIDTH);
- if (hasFocus()) {
- context.setDrawTextWithFocusStyle(false);
- }
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/core/ExecutionOccurrence.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/core/ExecutionOccurrence.java
deleted file mode 100755
index 7d0667ab5f..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/core/ExecutionOccurrence.java
+++ /dev/null
@@ -1,267 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2005, 2013 IBM Corporation, 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:
- * IBM - Initial API and implementation
- * Bernd Hufmann - Updated for TMF
- **********************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.views.uml2sd.core;
-
-import java.util.Arrays;
-
-import org.eclipse.linuxtools.tmf.core.timestamp.ITmfTimestamp;
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.drawings.IColor;
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.drawings.IGC;
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.drawings.IImage;
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.preferences.ISDPreferences;
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.preferences.SDViewPref;
-
-/**
- * ExecutionOccurrence is the UML2 execution occurrence graphical representation. It is a BasicExecutionOccurrence on
- * which you can customize fill and/or.
- *
- * @see org.eclipse.linuxtools.tmf.ui.views.uml2sd.core.Lifeline Lifeline for more event occurence details
- * @version 1.0
- * @author sveyrier
- *
- */
-public class ExecutionOccurrence extends BasicExecutionOccurrence implements ITimeRange {
-
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
-
- /**
- * Set the red, green and blue value of the optional color to be used for filling the execution occurrence.
- */
- private int[] fFillRGB;
- /**
- * Set the red, green and blue value of the optional color to be used for drawing the execution occurrence
- */
- private int[] fStrokeRGB;
- /**
- * The occurrence image.
- */
- private IImage fImage;
- /**
- * The top ellipses image.
- */
- private IImage fEllipsesImage;
- /**
- * The start time stamp.
- */
- private ITmfTimestamp fStartTime;
- /**
- * The end time stamp;
- */
- private ITmfTimestamp fEndTime;
- /**
- * Flag to indicate whether time information is available or not.
- */
- private boolean fHasTimeInfo;
-
- // ------------------------------------------------------------------------
- // Methods
- // ------------------------------------------------------------------------
-
- @Override
- public void setLifeline(Lifeline theLifeline) {
- super.setLifeline(theLifeline);
- if (getLifeline() != null && fHasTimeInfo) {
- getLifeline().setTimeInfo(true);
- if (getLifeline().getFrame() != null) {
- getLifeline().getFrame().setHasTimeInfo(true);
- }
- }
- }
-
- /**
- * Set the red, green and blue value of the optional color to be used for filling the execution occurrence.
- *
- * @param red A value for red.
- * @param green A green value for green.
- * @param blue A value blue.
- */
- public void setFillColor(int red, int green, int blue) {
- fFillRGB = new int[3];
- fFillRGB[0] = red;
- fFillRGB[1] = green;
- fFillRGB[2] = blue;
- }
-
- /**
- * Set the red, green and blue value of the optional color to be used for drawing the execution occurrence
- *
- * @param red A value for red.
- * @param green A green value for green.
- * @param blue A value blue.
- */
- public void setStrokeColor(int red, int green, int blue) {
- fStrokeRGB = new int[3];
- fStrokeRGB[0] = red;
- fStrokeRGB[1] = green;
- fStrokeRGB[2] = blue;
- }
-
- /**
- * Set the corresponding image.
- *
- * @param image A image to set.
- */
- public void setImage(IImage image) {
- fImage = image;
- }
-
- /**
- * Set the top ellipses image.
- *
- * @param image A image to set.
- */
- public void setTopEllipsesImage(IImage image) {
- fEllipsesImage = image;
- }
-
- /**
- * Set the time when the execution occurrence starts.
- *
- * @param time the time when the execution occurrence starts
- * @since 2.0
- */
- public void setStartTime(ITmfTimestamp time) {
- fStartTime = time;
- fHasTimeInfo = true;
- if (getLifeline() != null) {
- getLifeline().setTimeInfo(true);
- }
- }
-
- /**
- * Set the time when the execution occurrence ends.
- *
- * @param time the time when the execution occurrence ends
- * @since 2.0
- */
- public void setEndTime(ITmfTimestamp time) {
- fEndTime = time;
- fHasTimeInfo = true;
- if (getLifeline() != null) {
- getLifeline().setTimeInfo(true);
- }
- }
-
- /**
- * @since 2.0
- */
- @Override
- public ITmfTimestamp getStartTime() {
- return fStartTime;
- }
-
- /**
- * @since 2.0
- */
- @Override
- public ITmfTimestamp getEndTime() {
- return fEndTime;
- }
-
- @Override
- public boolean hasTimeInfo() {
- return fHasTimeInfo;
- }
-
- /**
- * @return the RGB of the occurrence filler.
- * @since 2.0
- */
- public int[] getFillRGB() {
- if (fFillRGB == null) {
- return null;
- }
- return Arrays.copyOf(fFillRGB, fFillRGB.length);
- }
-
- /**
- * @return the RGB of the occurrence filler.
- * @since 2.0
- */
- public int[] getStrokeRGB() {
- if (fStrokeRGB == null) {
- return null;
- }
- return Arrays.copyOf(fStrokeRGB, fStrokeRGB.length);
- }
-
- /**
- * @return the image.
- * @since 2.0
- */
- protected IImage getImage() {
- return fImage;
- }
-
- /**
- * @return the image.
- * @since 2.0
- */
- protected IImage getEllipsesImage() {
- return fEllipsesImage;
- }
-
- @Override
- public void draw(IGC context) {
- super.draw(context);
- int x = getX();
- int y = getY();
- int width = getWidth();
- int height = getHeight();
- if (fImage != null) {
- context.drawImage(fImage, x + width - 4, y + height - 11, 8, 11);
- }
- if (fEllipsesImage != null) {
- context.drawImage(fEllipsesImage, x + width, y, 40, 10);
- }
- }
-
- @Override
- protected IColor setUnselectedFillColor(IGC context) {
- ISDPreferences pref = SDViewPref.getInstance();
- if (fFillRGB != null) {
- IColor tempFillColor = context.createColor(fFillRGB[0], fFillRGB[1], fFillRGB[2]);
- if (pref.useGradienColor()) {
- context.setGradientColor(tempFillColor);
- context.setForeground(pref.getForeGroundColor(ISDPreferences.PREF_EXEC));
- context.setBackground(pref.getBackGroundColor(ISDPreferences.PREF_FRAME));
- } else {
- context.setBackground(tempFillColor);
- }
- return tempFillColor;
- }
- return super.setUnselectedFillColor(context);
- }
-
- @Override
- protected IColor setUnselectedStrokeColor(IGC context) {
- if (fStrokeRGB != null) {
- IColor tempStrokeColor = context.createColor(fStrokeRGB[0], fStrokeRGB[1], fStrokeRGB[2]);
- context.setForeground(tempStrokeColor);
- return tempStrokeColor;
- }
- return super.setUnselectedStrokeColor(context);
- }
-
- /**
- * Sets the flag whether the frame has time info or not
- * @since 2.0
- * @param hasTimeInfo
- * true if frame has time info else false
- */
- public void setHasTimeInfo(boolean hasTimeInfo) {
- fHasTimeInfo = hasTimeInfo;
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/core/Frame.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/core/Frame.java
deleted file mode 100755
index 0c653a5ca7..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/core/Frame.java
+++ /dev/null
@@ -1,1215 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2005, 2013 IBM Corporation, 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:
- * IBM - Initial API and implementation
- * Bernd Hufmann - Updated for TMF
- **********************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.views.uml2sd.core;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.linuxtools.tmf.core.timestamp.ITmfTimestamp;
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.drawings.IColor;
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.drawings.IGC;
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.preferences.SDViewPref;
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.util.TimeEventComparator;
-
-/**
- * The Frame class is the base sequence diagram graph nodes container.<br>
- * For instance, only one frame can be drawn in the View.<br>
- * Lifelines, Messages and Stop which are supposed to represent a Sequence diagram are drawn in a Frame.<br>
- * Only the graph node added to their representing list will be drawn.
- *
- * The lifelines are appended along the X axsis when added in a frame.<br>
- * The syncMessages are ordered along the Y axsis depending on the event occurrence they are attached to.<br>
- *
- * @see org.eclipse.linuxtools.tmf.ui.views.uml2sd.core.Lifeline Lifeline for more event occurence details
- * @author sveyrier
- * @version 1.0
- */
-public class Frame extends BasicFrame {
-
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
- /**
- * The lifeline that is current highlighted.
- */
- private Lifeline fHighlightLifeline = null;
- /**
- * The value of the start event.
- */
- private int fStartEvent = 0;
- /**
- * The number of events in the frame.
- */
- private int fNbEvent = 0;
- /**
- * The color for highlighting.
- */
- private IColor fHighlightColor = null;
- /**
- * The list of time events of the corresponding execution occurrences.
- */
- private List<SDTimeEvent> fExecutionOccurrencesWithTime;
- /**
- * The Array of lifeline categories.
- */
- private LifelineCategories[] fLifelineCategories = null;
-
- // ------------------------------------------------------------------------
- // Methods
- // ------------------------------------------------------------------------
-
- /**
- * Returns a list of all lifelines known by this frame. Known lifelines are the only one which can be displayed on
- * screen.
- *
- * @return the lifelines list
- */
- protected List<GraphNode> getLifelines() {
- if (!hasChildren()) {
- return null;
- }
- return getNodeMap().get(Lifeline.LIFELINE_TAG);
- }
-
- /**
- * Returns the number of lifelines stored in the frame
- *
- * @return the number of lifelines
- */
- public int lifeLinesCount() {
- List<GraphNode> lifelines = getLifelines();
- if (lifelines != null) {
- return lifelines.size();
- }
- return 0;
- }
-
- /**
- * Returns the lifeline at the given index in the lifelines array
- *
- * @param index the position in the lifeline array
- * @return the lifeline or <code>null</code>
- */
- public Lifeline getLifeline(int index) {
- if ((getLifelines() != null) && (index >= 0) && (index < lifeLinesCount())) {
- return (Lifeline) getLifelines().get(index);
- }
- return null;
- }
-
- /**
- * Returns a list of syncMessages known by this frame. Known syncMessages are the only on which can be displayed on
- * screen
- *
- * @return the syncMessages list
- */
- protected List<GraphNode> getSyncMessages() {
- if (!hasChildren()) {
- return null;
- }
- return getNodeMap().get(SyncMessage.SYNC_MESS_TAG);
- }
-
- /**
- * Returns the number of syncMessages stored in the frame
- *
- * @return the number of syncMessage
- */
- public int syncMessageCount() {
- if (getSyncMessages() != null) {
- return getSyncMessages().size();
- }
- return 0;
- }
-
- /**
- * Returns the syncMessage at the given index in the syncMessages array
- *
- * @param index the position in the syncMessages array
- * @return the syncMessage or <code>null</code>
- */
- public SyncMessage getSyncMessage(int index) {
- if ((getSyncMessages() != null) && (index >= 0) && (index < getSyncMessages().size())) {
- return (SyncMessage) getSyncMessages().get(index);
- }
- return null;
- }
-
- /**
- * Returns a list of asyncMessages known by this frame. Known asyncMessages are the only on which can be displayed
- * on screen
- *
- * @return the asyncMessages list or <code>null</code>
- */
- protected List<GraphNode> getAsyncMessages() {
- if (!hasChildren()) {
- return null;
- }
- return getNodeMap().get(AsyncMessage.ASYNC_MESS_TAG);
- }
-
- /**
- * Returns the number of asyncMessage stored in the frame
- *
- * @return the number of asyncMessage
- */
- public int asyncMessageCount() {
- if (getAsyncMessages() != null) {
- return getAsyncMessages().size();
- }
- return 0;
- }
-
- /**
- * Returns the asyncMessage at the given index in the asyncMessage array
- *
- * @param index the position in the asyncMessage array
- * @return the asyncMessage or <code>null</code>
- */
- public AsyncMessage getAsyncMessage(int index) {
- if ((getAsyncMessages() != null) && (index >= 0) && (index < getAsyncMessages().size())) {
- return (AsyncMessage) getAsyncMessages().get(index);
- }
- return null;
- }
-
- /**
- * Returns a list of syncMessages return known by this frame. Known syncMessages return are the only on which can be
- * displayed on screen
- *
- * @return the syncMessages return list or <code>null</code>
- */
- protected List<GraphNode> getSyncMessagesReturn() {
- if (!hasChildren()) {
- return null;
- }
- return getNodeMap().get(SyncMessageReturn.SYNC_MESS_RET_TAG);
- }
-
- /**
- * Returns the number of syncMessageReturn stored in the frame
- *
- * @return the number of syncMessageReturn
- */
- public int syncMessageReturnCount() {
- if (getSyncMessagesReturn() != null) {
- return getSyncMessagesReturn().size();
- }
- return 0;
- }
-
- /**
- * Returns the syncMessageReturn at the given index in the syncMessageReturn array
- *
- * @param index the position in the syncMessageReturn array
- * @return the syncMessageReturn or <code>null</code>
- */
- public SyncMessageReturn getSyncMessageReturn(int index) {
- if ((getSyncMessagesReturn() != null) && (index >= 0) && (index < getSyncMessagesReturn().size())) {
- return (SyncMessageReturn) getSyncMessagesReturn().get(index);
- }
- return null;
- }
-
- /**
- * Returns a list of asyncMessageRetun known by this frame. Known asyncMessageRetun are the only on which can be
- * displayed on screen
- *
- * @return the asyncMessageRetun list or <code>null</code>
- */
- protected List<GraphNode> getAsyncMessagesReturn() {
- if (!hasChildren()) {
- return null;
- }
- return getNodeMap().get(AsyncMessageReturn.ASYNC_MESS_RET_TAG);
- }
-
- /**
- * Returns the number of asyncMessageReturn stored in the frame
- *
- * @return the number of asyncMessageReturn
- */
- public int asyncMessageReturnCount() {
- if (getAsyncMessagesReturn() != null) {
- return getAsyncMessagesReturn().size();
- }
- return 0;
- }
-
- /**
- * Returns the asyncMessageReturn at the given index in the asyncMessageReturn array
- *
- * @param index the position in the asyncMessageReturn array
- * @return the asyncMessageReturn or <code>null</code>
- */
- public AsyncMessageReturn getAsyncMessageReturn(int index) {
- if ((getAsyncMessagesReturn() != null) && (index >= 0) && (index < getAsyncMessagesReturn().size())) {
- return (AsyncMessageReturn) getAsyncMessagesReturn().get(index);
- }
- return null;
- }
-
- /**
- * Adds a lifeline to the frame lifelines list. The lifeline X drawing order depends on the lifeline addition order
- * into the frame lifelines list.
- *
- * @param lifeline the lifeline to add
- */
- public void addLifeLine(Lifeline lifeline) {
- setComputeMinMax(true);
- if (lifeline == null) {
- return;
- }
- // set the lifeline parent frame
- lifeline.setFrame(this);
- // Increate the frame lifeline counter
- // and set the lifeline drawing order
- lifeline.setIndex(getNewHorizontalIndex());
- if (lifeline.hasTimeInfo()) {
- setHasTimeInfo(true);
- }
- // add the lifeline to the lifelines list
- addNode(lifeline);
- }
-
- /**
- * Returns the first visible lifeline drawn in the view
- *
- * @return the first visible lifeline index
- */
- public int getFirstVisibleLifeline() {
- if (!hasChildren()) {
- return 0;
- } else if (getIndexes().get(Lifeline.LIFELINE_TAG) != null) {
- return getIndexes().get(Lifeline.LIFELINE_TAG).intValue();
- }
- return 0;
- }
-
- /**
- * Returns the first visible synchronous message drawn in the view
- *
- * @return the first visible synchronous message index
- */
- public int getFirstVisibleSyncMessage() {
- if (!hasChildren()) {
- return 0;
- } else if (getIndexes().get(SyncMessage.SYNC_MESS_TAG) != null) {
- return getIndexes().get(SyncMessage.SYNC_MESS_TAG).intValue();
- }
- return 0;
- }
-
- /**
- * Returns the first visible synchronous message return drawn in the view
- *
- * @return the first visible synchronous message return index
- */
- public int getFirstVisibleSyncMessageReturn() {
- if (!hasChildren()) {
- return 0;
- } else if (getIndexes().get(SyncMessageReturn.SYNC_MESS_RET_TAG) != null) {
- return getIndexes().get(SyncMessageReturn.SYNC_MESS_RET_TAG).intValue();
- }
- return 0;
- }
-
- /**
- * Returns the first visible synchronous message drawn in the view
- *
- * @return the first visible synchronous message index
- */
- public int getFirstVisibleAsyncMessage() {
- if (!hasChildren()) {
- return 0;
- } else if (getIndexes().get(AsyncMessage.ASYNC_MESS_TAG) != null) {
- return getIndexes().get(AsyncMessage.ASYNC_MESS_TAG).intValue();
- }
- return 0;
- }
-
- /**
- * Returns the first visible synchronous message return drawn in the view
- *
- * @return the first visible synchronous message return index
- */
- public int getFirstVisibleAsyncMessageReturn() {
- if (!hasChildren()) {
- return 0;
- } else if (getIndexes().get(AsyncMessageReturn.ASYNC_MESS_RET_TAG) != null) {
- return getIndexes().get(AsyncMessageReturn.ASYNC_MESS_RET_TAG).intValue();
- }
- return 0;
- }
-
- /**
- * Returns the list of execution occurrences.
- *
- * @return the list of execution occurrences
- */
- public List<SDTimeEvent> getExecutionOccurrencesWithTime() {
- return fExecutionOccurrencesWithTime;
- }
-
- /**
- * Inserts a lifeline after a given lifeline.
- *
- * @param toInsert A lifeline to insert
- * @param after A lifelife the toInsert-lifeline will be inserted after.
- */
- public void insertLifelineAfter(Lifeline toInsert, Lifeline after) {
- if ((toInsert == null)) {
- return;
- }
- if (toInsert == after) {
- return;
- }
- int insertPoint = 0;
- if (after != null) {
- insertPoint = after.getIndex();
- }
- int removePoint = toInsert.getIndex() - 1;
- if (removePoint >= insertPoint) {
- getLifelines().remove(removePoint);
- }
- getLifelines().add(insertPoint, toInsert);
- if (removePoint < insertPoint) {
- getLifelines().remove(removePoint);
- }
-
- if (removePoint >= insertPoint) {
- toInsert.setIndex(insertPoint + 1);
- } else {
- toInsert.setIndex(insertPoint - 1);
- }
-
- insertPoint++;
- if (removePoint >= insertPoint) {
- for (int i = insertPoint; i < getLifelines().size(); i++) {
- getLifeline(i).setIndex(i + 1);
- }
- } else {
- for (int i = 0; i < insertPoint && i < getLifelines().size(); i++) {
- getLifeline(i).setIndex(i + 1);
- }
- }
- }
-
- /**
- * Inserts a lifeline before a given lifeline.
- *
- * @param toInsert
- * A lifeline to insert
- * @param before
- * A lifeline the toInsert-lifeline will be inserted before.
- */
- public void insertLifelineBefore(Lifeline toInsert, Lifeline before) {
- if ((toInsert == null)) {
- return;
- }
- if (toInsert == before) {
- return;
- }
- int insertPoint = 0;
- if (before != null) {
- insertPoint = before.getIndex() - 1;
- }
- int removePoint = toInsert.getIndex() - 1;
- if (removePoint >= insertPoint) {
- getLifelines().remove(removePoint);
- }
- getLifelines().add(insertPoint, toInsert);
- if (removePoint < insertPoint) {
- getLifelines().remove(removePoint);
- }
-
- if (removePoint >= insertPoint) {
- toInsert.setIndex(insertPoint + 1);
- } else {
- toInsert.setIndex(insertPoint - 1);
- }
-
- insertPoint++;
- if (removePoint >= insertPoint) {
- for (int i = insertPoint; i < getLifelines().size(); i++) {
- getLifeline(i).setIndex(i + 1);
- }
- } else {
- for (int i = 0; i < insertPoint && i < getLifelines().size(); i++) {
- getLifeline(i).setIndex(i + 1);
- }
- }
- }
-
- /**
- * Gets the closer life line to the given x-coordinate.
- *
- * @param x A x coordinate
- * @return the closer lifeline
- */
- public Lifeline getCloserLifeline(int x) {
- int index = (x - Metrics.FRAME_H_MARGIN + Metrics.LIFELINE_H_MAGIN) / Metrics.swimmingLaneWidth() - 1;
- if (index < 0) {
- index = 0;
- }
- if (index >= getLifelines().size()) {
- index = getLifelines().size() - 1;
- }
- Lifeline node1, node2, node3;
- int dist1, dist2, dist3;
- node1 = node2 = node3 = getLifeline(index);
- dist1 = dist2 = dist3 = Math.abs(node1.getX() + node1.getWidth() / 2 - x);
- if (index > 0) {
- node2 = getLifeline(index - 1);
- dist2 = Math.abs(node2.getX() + node2.getWidth() / 2 - x);
- }
- if (index < getLifelines().size() - 1) {
- node3 = getLifeline(index + 1);
- dist3 = Math.abs(node3.getX() + node3.getWidth() / 2 - x);
- }
- if (dist1 <= dist2 && dist1 <= dist3) {
- return node1;
- } else if (dist2 <= dist1 && dist2 <= dist3) {
- return node2;
- }
- return node3;
- }
-
- /**
- * Re-orders the given list of lifelines.
- *
- * @param list A list of lifelines to reorder.
- */
- public void reorder(List<?> list) {
- for (int i = 0; i < list.size(); i++) {
- if (list.get(i) instanceof Lifeline[]) {
- Lifeline temp[] = (Lifeline[]) list.get(i);
- if (temp.length == 2) {
- if (temp[1] == null) {
- insertLifelineAfter(temp[0], getLifeline(lifeLinesCount() - 1));
- } else {
- insertLifelineBefore(temp[0], temp[1]);
- }
- }
- }
- }
- }
-
- /**
- * Resets the time compression information.
- */
- public void resetTimeCompression() {
- fHighlightLifeline = null;
- this.fStartEvent = 0;
- this.fNbEvent = 0;
- fHighlightColor = null;
- }
-
- @Override
- protected void computeMinMax() {
- List<SDTimeEvent> timeArray = buildTimeArray();
- if ((timeArray == null) || timeArray.isEmpty()) {
- return;
- }
- for (int i = 0; i < timeArray.size() - 1; i++) {
- SDTimeEvent m1 = timeArray.get(i);
- SDTimeEvent m2 = timeArray.get(i + 1);
- if (SDViewPref.getInstance().excludeExternalTime() && ((m1.getGraphNode() instanceof BaseMessage) && (m2.getGraphNode() instanceof BaseMessage))) {
- BaseMessage mes1 = (BaseMessage) m1.getGraphNode();
- BaseMessage mes2 = (BaseMessage) m2.getGraphNode();
- if ((mes2.getStartLifeline() == null) || (mes1.getEndLifeline() == null)) {
- continue;
- }
- }
-
- updateMinMax(m1, m2);
- }
- }
-
- /**
- * Find the two graph nodes that are closest to this date, one just earlier, second just later. If date is before
- * any graph node, bounds[0] is null and bounds[1] is the earliest. If date is after any graph node, bounds[1] is
- * null and bounds[0] is the latest.
- *
- * @param dateToFind date to be found
- * @param bounds a two items array that will receive bounds if found
- * @return true if both bounds not null
- * @since 2.0
- */
- public boolean findDateBounds(ITmfTimestamp dateToFind, ITimeRange bounds[]) {
- if (hasTimeInfo()) {
- List<SDTimeEvent> timeArray = buildTimeArray();
-
- if ((timeArray == null) || timeArray.isEmpty()) {
- return false;
- }
-
- bounds[0] = null;
- bounds[1] = null;
- for (int i = 0; i < timeArray.size(); i++) {
- SDTimeEvent m = timeArray.get(i);
- if (m.getTime().compareTo(dateToFind, true) > 0) {
- bounds[1] = m.getGraphNode();
- if (i > 0) {
- bounds[0] = timeArray.get(i - 1).getGraphNode();
- return true;
- }
- return false;
- }
- }
- bounds[0] = timeArray.get(timeArray.size() - 1).getGraphNode();
- }
- return false;
- }
-
- /**
- * Highlights the time compression.
- *
- * @param lifeline A lifeline to highlight
- * @param startEvent A start event number
- * @param nbEvent A number of events
- * @param color A color for highlighting
- */
- public void highlightTimeCompression(Lifeline lifeline, int startEvent, int nbEvent, IColor color) {
- fHighlightLifeline = lifeline;
- this.fStartEvent = startEvent;
- this.fNbEvent = nbEvent;
- fHighlightColor = color;
- }
-
- /**
- * Set the lifeline categories which will be use during the lifelines creation
- *
- * @see Lifeline#setCategory(int)
- * @param categories the lifeline categories array
- */
- public void setLifelineCategories(LifelineCategories[] categories) {
- fLifelineCategories = Arrays.copyOf(categories, categories.length);
- }
-
- /**
- * Returns the lifeline categories array set for the this frame
- *
- * @return the lifeline categories array or null if not set
- */
- public LifelineCategories[] getLifelineCategories() {
- return Arrays.copyOf(fLifelineCategories, fLifelineCategories.length);
- }
-
- /**
- * Adds a message to the Frame message list. Four kinds of syncMessages can be added:<br>
- * - synchronous syncMessages<br>
- * - synchronous syncMessages return<br>
- * - asynchronous syncMessages<br>
- * - asynchronous syncMessages return<br>
- * For drawing performance reason, it is recommended to add synchronous syncMessages in the same order they should
- * appear along the Y axis in the Frame.
- *
- * @param message the message to add
- */
- public void addMessage(BaseMessage message) {
- addNode(message);
- }
-
- @Override
- public void draw(IGC context) {
- drawFrame(context);
- if (!hasChildren()) {
- return;
- }
-
- if (fHighlightLifeline != null) {
- IColor backupColor = context.getBackground();
- context.setBackground(SDViewPref.getInstance().getTimeCompressionSelectionColor());
- int gy = fHighlightLifeline.getY() + fHighlightLifeline.getHeight() + (Metrics.getMessageFontHeigth() + Metrics.getMessagesSpacing()) * fStartEvent;
- context.fillRectangle(Metrics.FRAME_H_MARGIN + 1, gy, fHighlightLifeline.getX() + Metrics.getLifelineWidth() / 2 - Metrics.FRAME_H_MARGIN, (Metrics.getMessageFontHeigth() + Metrics.getMessagesSpacing()) * fNbEvent);
- context.setBackground(backupColor);
- }
- super.draw(context, false);
- int lifelineArryStep = 1;
- if (Metrics.swimmingLaneWidth() * context.getZoom() < Metrics.LIFELINE_SIGNIFICANT_HSPACING) {
- lifelineArryStep = Math.round(Metrics.LIFELINE_SIGNIFICANT_HSPACING / (Metrics.swimmingLaneWidth() * context.getZoom()));
- }
- if (getIndexes().size() == 0) {
- return;
- }
- int lifeLineDrawIndex = getIndexes().get(Lifeline.LIFELINE_TAG).intValue();
- for (int i = lifeLineDrawIndex; i < getNodeMap().get(Lifeline.LIFELINE_TAG).size(); i = i + lifelineArryStep) {
- Lifeline toDraw = (Lifeline) getNodeMap().get(Lifeline.LIFELINE_TAG).get(i);
- if (toDraw.getX() - Metrics.LIFELINE_SPACING / 2 > context.getContentsX() + context.getVisibleWidth()) {
- break;
- }
- toDraw.drawName(context);
-
- if (fHighlightLifeline != null) {
- if (toDraw == fHighlightLifeline) {
- toDraw.highlightExecOccurrenceRegion(context, fStartEvent, fNbEvent, fHighlightColor);
- } else if ((toDraw.getIndex() < fHighlightLifeline.getIndex()) || ((toDraw.getIndex() < fHighlightLifeline.getIndex()))) {
-
- int acIndex = toDraw.getExecOccurrenceDrawIndex();
- // acIndex = first visible execution occurrence
- // for drawing speed reason with only search on the visible subset
- if (toDraw.getExecutions() != null) {
- for (int index = acIndex; index < toDraw.getExecutions().size(); index++) {
- BasicExecutionOccurrence exec = (BasicExecutionOccurrence) toDraw.getExecutions().get(index);
- int tempEvent = fStartEvent;
- for (int j = 0; j < fNbEvent; j++) {
- if (((tempEvent >= exec.getStartOccurrence()) && (tempEvent <= exec.getEndOccurrence()) && (tempEvent + 1 >= exec.getStartOccurrence()) && (tempEvent + 1 <= exec.getEndOccurrence()))) {
- toDraw.highlightExecOccurrenceRegion(context, tempEvent, 1, SDViewPref.getInstance().getTimeCompressionSelectionColor());
- }
- tempEvent = tempEvent + 1;
- }
- // if we are outside the visible area we stop right now
- // This works because execution occurrences are ordered along the Y axis
- if (exec.getY() > getY()) {
- break;
- }
- }
- }
- }
- }
- }
- }
-
- @Override
- protected List<SDTimeEvent> buildTimeArray() {
-
- if (!hasChildren()) {
- return new ArrayList<>();
- }
-
- List<SDTimeEvent> timeArray = super.buildTimeArray();
- fExecutionOccurrencesWithTime = null;
- if (getLifelines() != null) {
- for (int i = 0; i < getNodeMap().get(Lifeline.LIFELINE_TAG).size(); i++) {
- Lifeline lifeline = (Lifeline) getNodeMap().get(Lifeline.LIFELINE_TAG).get(i);
- if (lifeline.hasTimeInfo() && lifeline.getExecutions() != null) {
- for (Iterator<GraphNode> j = lifeline.getExecutions().iterator(); j.hasNext();) {
- GraphNode o = j.next();
- if (o instanceof ExecutionOccurrence) {
- ExecutionOccurrence eo = (ExecutionOccurrence) o;
- if (eo.hasTimeInfo()) {
- int event = eo.getStartOccurrence();
- ITmfTimestamp time = eo.getStartTime();
- SDTimeEvent f = new SDTimeEvent(time, event, eo);
- timeArray.add(f);
- if (fExecutionOccurrencesWithTime == null) {
- fExecutionOccurrencesWithTime = new ArrayList<>();
- }
- fExecutionOccurrencesWithTime.add(f);
- event = eo.getEndOccurrence();
- time = eo.getEndTime();
- f = new SDTimeEvent(time, event, eo);
- timeArray.add(f);
- fExecutionOccurrencesWithTime.add(f);
- }
- }
- }
- }
- }
- }
-
- if (fExecutionOccurrencesWithTime != null) {
- SDTimeEvent[] temp = fExecutionOccurrencesWithTime.toArray(new SDTimeEvent[fExecutionOccurrencesWithTime.size()]);
- Arrays.sort(temp, new TimeEventComparator());
- fExecutionOccurrencesWithTime = Arrays.asList(temp);
- }
- SDTimeEvent[] temp = timeArray.toArray(new SDTimeEvent[timeArray.size()]);
- Arrays.sort(temp, new TimeEventComparator());
- timeArray = Arrays.asList(temp);
- return timeArray;
- }
-
- /**
- * Get the closer leaving message.
- *
- * @param lifeline A lifeline reference
- * @param message A message reference
- * @param list A list of graph nodes
- * @param smallerEvent A smaller event flag
- * @return the closer leaving message.
- */
- protected GraphNode getCloserLeavingMessage(Lifeline lifeline, BaseMessage message, List<GraphNode> list, boolean smallerEvent) {
- if (list == null) {
- return null;
- }
-
- if (!smallerEvent) {
- int event = 0;
- if (message != null) {
- event = message.getEventOccurrence();
- }
- for (int i = 0; i < list.size(); i++) {
- GraphNode node = list.get(i);
- if (node instanceof SyncMessage) {
- SyncMessage syncNode = (SyncMessage) node;
- if ((syncNode.getEventOccurrence() > event) && (syncNode.getStartLifeline() == lifeline) && !syncNode.isSameAs(message)) {
- return node;
- }
- } else if (node instanceof AsyncMessage) {
- AsyncMessage asyncNode = (AsyncMessage) node;
- if ((asyncNode.getStartOccurrence() > event) && (asyncNode.getStartLifeline() == lifeline) && !asyncNode.isSameAs(message)) {
- return node;
- }
- }
- }
- } else {
- int event = getMaxEventOccurrence();
- if (message != null) {
- if (message instanceof AsyncMessage) {
- event = ((AsyncMessage) message).getStartOccurrence();
- } else {
- event = message.getEventOccurrence();
- }
- }
- for (int i = list.size() - 1; i >= 0; i--) {
- GraphNode node = list.get(i);
- if (node instanceof SyncMessage) {
- SyncMessage syncNode = (SyncMessage) node;
- if ((syncNode.getEventOccurrence() < event) && (syncNode.getStartLifeline() == lifeline) && !syncNode.isSameAs(message)) {
- return node;
- }
- } else if (node instanceof AsyncMessage) {
- AsyncMessage asyncNode = (AsyncMessage) node;
- if ((asyncNode.getStartOccurrence() < event) && (asyncNode.getStartLifeline() == lifeline) && !asyncNode.isSameAs(message)) {
- return node;
- }
- }
- }
- }
- return null;
- }
-
-
- /**
- * Get the closer entering message.
- *
- * @param lifeline A lifeline reference
- * @param message A message reference
- * @param list A list of graph nodes
- * @param smallerEvent A smaller event flag
- * @return the closer entering message.
- */
- protected GraphNode getCloserEnteringMessage(Lifeline lifeline, BaseMessage message, List<GraphNode> list, boolean smallerEvent) {
- if (list == null) {
- return null;
- }
- if (!smallerEvent) {
- int event = 0;
- if (message != null) {
- event = message.getEventOccurrence();
- }
- for (int i = 0; i < list.size(); i++) {
- GraphNode node = list.get(i);
- if (node instanceof SyncMessage) {
- SyncMessage syncNode = (SyncMessage) node;
- if ((syncNode.getEventOccurrence() > event) && (syncNode.getEndLifeline() == lifeline) && !syncNode.isSameAs(message)) {
- return node;
- }
- } else if (node instanceof AsyncMessage) {
- AsyncMessage asyncNode = (AsyncMessage) node;
- if ((asyncNode.getStartOccurrence() > event) && (asyncNode.getEndLifeline() == lifeline) && !asyncNode.isSameAs(message)) {
- return node;
- }
- }
- }
- } else {
- int event = getMaxEventOccurrence();
- if (message != null) {
- if (message instanceof AsyncMessage) {
- event = ((AsyncMessage) message).getStartOccurrence();
- } else {
- event = message.getEventOccurrence();
- }
- }
- for (int i = list.size() - 1; i >= 0; i--) {
- GraphNode node = list.get(i);
- if (node instanceof SyncMessage) {
- SyncMessage syncNode = (SyncMessage) node;
- if ((syncNode.getEventOccurrence() < event) && (syncNode.getEndLifeline() == lifeline) && !syncNode.isSameAs(message)) {
- return node;
- }
- } else if (node instanceof AsyncMessage) {
- AsyncMessage asyncNode = (AsyncMessage) node;
- if ((asyncNode.getStartOccurrence() < event) && (asyncNode.getEndLifeline() == lifeline) && !asyncNode.isSameAs(message)) {
- return node;
- }
- }
- }
- }
- return null;
- }
-
- /**
- * Get distance of given event from given graph node.
- *
- * @param node A graph node reference.
- * @param event A event number to check.
- * @return distance of event from graph node.
- */
- protected int distanceFromEvent(GraphNode node, int event) {
- int distance = 0;
- if (node instanceof SyncMessage) {
- distance = ((SyncMessage) node).getEventOccurrence() - event;
- } else if (node instanceof AsyncMessage) {
- int start = ((AsyncMessage) node).getStartOccurrence();
- int end = ((AsyncMessage) node).getEndOccurrence();
- if ((start - event) < (end - event)) {
- distance = start - event;
- } else {
- distance = end - event;
- }
- }
- return Math.abs(distance);
- }
-
- /**
- * Get node from 2 given nodes that is close to event.
- *
- * @param node1 A first graph node
- * @param node2 A second graph node
- * @param event A event to check.
- * @return graph node that is closer or <code>null</code>
- */
- protected GraphNode getCloserToEvent(GraphNode node1, GraphNode node2, int event) {
- if ((node1 != null) && (node2 != null)) {
- if (distanceFromEvent(node1, event) < distanceFromEvent(node2, event)) {
- return node1;
- }
- return node2;
- } else if (node1 != null) {
- return node1;
- } else if (node2 != null) {
- return node2;
- }
- return null;
- }
-
- /**
- * Get called message based on given start message.
- *
- * @param startMessage A start message to check.
- * @return called message (graph node) or <code>null</code>
- */
- public GraphNode getCalledMessage(BaseMessage startMessage) {
- int event = 0;
- GraphNode result = null;
- Lifeline lifeline = null;
- if (startMessage != null) {
- event = startMessage.getEventOccurrence();
- lifeline = startMessage.getEndLifeline();
- if (lifeline == null) {
- lifeline = startMessage.getStartLifeline();
- }
- }
- if (lifeline == null) {
- return null;
- }
- GraphNode message = getCloserLeavingMessage(lifeline, startMessage, getSyncMessages(), false);
- GraphNode messageReturn = getCloserLeavingMessage(lifeline, startMessage, getSyncMessagesReturn(), false);
- result = getCloserToEvent(message, messageReturn, event);
- message = getCloserLeavingMessage(lifeline, startMessage, getAsyncMessages(), false);
- result = getCloserToEvent(result, message, event);
- messageReturn = getCloserLeavingMessage(lifeline, startMessage, getAsyncMessagesReturn(), false);
- result = getCloserToEvent(result, messageReturn, event);
- return result;
- }
-
- /**
- * Get caller message based on given start message.
- *
- * @param startMessage A start message to check.
- * @return called message (graph node) or <code>null</code>
- */
- public GraphNode getCallerMessage(BaseMessage startMessage) {
- int event = getMaxEventOccurrence();
- GraphNode result = null;
- Lifeline lifeline = null;
- if (startMessage != null) {
- event = startMessage.getEventOccurrence();
- lifeline = startMessage.getStartLifeline();
- if (lifeline == null) {
- lifeline = startMessage.getEndLifeline();
- }
- }
- if (lifeline == null) {
- return null;
- }
- GraphNode message = getCloserEnteringMessage(lifeline, startMessage, getSyncMessages(), true);
- GraphNode messageReturn = getCloserEnteringMessage(lifeline, startMessage, getSyncMessagesReturn(), true);
- result = getCloserToEvent(message, messageReturn, event);
- message = getCloserEnteringMessage(lifeline, startMessage, getAsyncMessages(), true);
- result = getCloserToEvent(result, message, event);
- messageReturn = getCloserEnteringMessage(lifeline, startMessage, getAsyncMessagesReturn(), true);
- result = getCloserToEvent(result, messageReturn, event);
- return result;
- }
-
- /**
- * Get next lifeline based on given message.
- *
- * @param lifeline A lifeline reference
- * @param startMessage A start message to check
- * @return next lifeline or <code>null</code>
- */
- public GraphNode getNextLifelineMessage(Lifeline lifeline, BaseMessage startMessage) {
- int event = 0;
- if (startMessage != null) {
- event = startMessage.getEventOccurrence();
- }
- if (lifeline == null) {
- return null;
- }
- GraphNode message = getCloserLeavingMessage(lifeline, startMessage, getSyncMessages(), false);
- GraphNode messageReturn = getCloserLeavingMessage(lifeline, startMessage, getSyncMessagesReturn(), false);
- GraphNode result = getCloserToEvent(message, messageReturn, event);
- message = getCloserLeavingMessage(lifeline, startMessage, getAsyncMessages(), false);
- result = getCloserToEvent(result, message, event);
- messageReturn = getCloserLeavingMessage(lifeline, startMessage, getAsyncMessagesReturn(), false);
- result = getCloserToEvent(result, messageReturn, event);
- return result;
- }
-
- /**
- * Get previous lifeline based on given message.
- *
- * @param lifeline A lifeline reference
- * @param startMessage A start message to check.
- * @return previous lifeline or <code>null</code>
- */
- public GraphNode getPrevLifelineMessage(Lifeline lifeline, BaseMessage startMessage) {
- int event = getMaxEventOccurrence();
- if (startMessage != null) {
- if (startMessage instanceof AsyncMessage) {
- event = ((AsyncMessage) startMessage).getStartOccurrence();
- } else {
- event = startMessage.getEventOccurrence();
- }
- }
- if (lifeline == null) {
- return null;
- }
- GraphNode message = getCloserLeavingMessage(lifeline, startMessage, getSyncMessages(), true);
- GraphNode messageReturn = getCloserLeavingMessage(lifeline, startMessage, getSyncMessagesReturn(), true);
- GraphNode result = getCloserToEvent(message, messageReturn, event);
- message = getCloserLeavingMessage(lifeline, startMessage, getAsyncMessages(), true);
- result = getCloserToEvent(result, message, event);
- messageReturn = getCloserLeavingMessage(lifeline, startMessage, getAsyncMessagesReturn(), true);
- result = getCloserToEvent(result, messageReturn, event);
- return result;
- }
-
- /**
- * Get the first execution occurrence.
- *
- * @param lifeline A lifeline reference
- * @return the first execution occurrence of lifeline or <code>null</code>.
- */
- public BasicExecutionOccurrence getFirstExecution(Lifeline lifeline) {
- if (lifeline == null) {
- return null;
- }
- List<GraphNode> list = lifeline.getExecutions();
-
- if ((list == null) || (list.isEmpty())) {
- return null;
- }
-
- BasicExecutionOccurrence result = (BasicExecutionOccurrence) list.get(0);
- for (int i = 0; i < list.size(); i++) {
- BasicExecutionOccurrence e = (BasicExecutionOccurrence) list.get(i);
- if ((e.getStartOccurrence() < result.getEndOccurrence())) {
- result = e;
- }
- }
- return result;
- }
-
- /**
- * Get the previous execution occurrence relative to a given execution occurrence.
- *
- * @param exec A execution occurrence reference.
- * @return the previous execution occurrence of lifeline or <code>null</code>.
- */
- public BasicExecutionOccurrence getPrevExecOccurrence(BasicExecutionOccurrence exec) {
- if (exec == null) {
- return null;
- }
- Lifeline lifeline = exec.getLifeline();
- if (lifeline == null) {
- return null;
- }
- List<GraphNode> list = lifeline.getExecutions();
- if (list == null) {
- return null;
- }
- BasicExecutionOccurrence result = null;
- for (int i = 0; i < list.size(); i++) {
- BasicExecutionOccurrence e = (BasicExecutionOccurrence) list.get(i);
- if ((e.getStartOccurrence() < exec.getStartOccurrence()) && (result == null)) {
- result = e;
- }
- if ((e.getStartOccurrence() < exec.getStartOccurrence()) && (result != null) && (e.getStartOccurrence() >= result.getEndOccurrence())) {
- result = e;
- }
- }
- return result;
- }
-
- /**
- * Get the next execution occurrence relative to a given execution occurrence.
- *
- * @param exec A execution occurrence reference.
- * @return the next execution occurrence of lifeline or <code>null</code>.
- */
- public BasicExecutionOccurrence getNextExecOccurrence(BasicExecutionOccurrence exec) {
- if (exec == null) {
- return null;
- }
- Lifeline lifeline = exec.getLifeline();
- if (lifeline == null) {
- return null;
- }
- List<GraphNode> list = lifeline.getExecutions();
- if (list == null) {
- return null;
- }
- BasicExecutionOccurrence result = null;
- for (int i = 0; i < list.size(); i++) {
- BasicExecutionOccurrence e = (BasicExecutionOccurrence) list.get(i);
- if ((e.getStartOccurrence() > exec.getStartOccurrence()) && (result == null)) {
- result = e;
- }
- if ((e.getStartOccurrence() > exec.getStartOccurrence()) && (result != null) && (e.getStartOccurrence() <= result.getEndOccurrence())) {
- result = e;
- }
- }
- return result;
- }
-
- /**
- * Get the last execution occurrence.
- *
- * @param lifeline A lifeline reference.
- * @return the last execution occurrence of lifeline or <code>null</code>.
- */
- public BasicExecutionOccurrence getLastExecOccurrence(Lifeline lifeline) {
- if (lifeline == null) {
- return null;
- }
- List<GraphNode> list = lifeline.getExecutions();
- if (list == null) {
- return null;
- }
- BasicExecutionOccurrence result = null;
- for (int i = 0; i < list.size(); i++) {
- BasicExecutionOccurrence e = (BasicExecutionOccurrence) list.get(i);
- if (result == null) {
- result = e;
- }
- if (e.getStartOccurrence() > result.getEndOccurrence()) {
- result = e;
- }
- }
- return result;
- }
-
- /**
- * @return highlighted life line if set else null.
- * @since 2.0
- */
- protected Lifeline getHighlightLifeline() {
- return fHighlightLifeline;
- }
-
- /**
- * @return the start event value.
- * @since 2.0
- */
- protected int getStartEvent() {
- return fStartEvent;
- }
-
- /**
- * Returns the number of events
- *
- * @return the number of events
- * @since 2.0
- */
- protected int getNumberOfEvents() {
- return fNbEvent;
- }
-
- /**
- * Returns the highlight color.
- * @return the highlight color
- * @since 2.0
- */
- protected IColor getHighlightColor() {
- return fHighlightColor;
- }
-
- /**
- * Set the highlighted life line.
- * @param lifeline
- * The highlighted life line if set else null
- * @since 2.0
- */
- protected void setHighlightLifeline(Lifeline lifeline) {
- fHighlightLifeline = lifeline;
- }
-
- /**
- * Sets the start event value
- * @param startEvent
- * the start event value.
- * @since 2.0
- */
- protected void setStartEvent(int startEvent) {
- fStartEvent = startEvent;
- }
-
- /**
- * Sets the number of events
- *
- * @param nbEvents
- * The number of events
- * @since 2.0
- */
- protected void setNumberOfEvents(int nbEvents) {
- fNbEvent = nbEvents;
- }
-
- /**
- * Sets the highlight color.
- * @param color
- * the highlight color
- * @since 2.0
- */
- protected void setHighlightColor(IColor color) {
- fHighlightColor = color;
- }
-
- /**
- * sets the list of execution occurrences.
- *
- * @param occurences
- * the list of execution occurrences
- * @since 2.0
- */
- protected void setExecutionOccurrencesWithTime(List<SDTimeEvent> occurences) {
- fExecutionOccurrencesWithTime = occurences;
- }
-} \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/core/GraphNode.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/core/GraphNode.java
deleted file mode 100755
index 0f24282739..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/core/GraphNode.java
+++ /dev/null
@@ -1,906 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2005, 2013 IBM Corporation, 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:
- * IBM - Initial API and implementation
- * Bernd Hufmann - Updated for TMF
- **********************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.views.uml2sd.core;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Comparator;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.linuxtools.internal.tmf.ui.TmfUiTracer;
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.drawings.IGC;
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.preferences.ISDPreferences;
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.preferences.SDViewPref;
-
-/**
- * The base class used for all UML2 graph nodes displayed in the Sequence Diagram SDWidget.
- *
- * @author sveyrier
- * @version 1.0
- */
-public abstract class GraphNode {
-
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
- /**
- * The start event occurrence.
- */
- private int fStartEventOccurrence = 0;
- /**
- * The event event occurrence.
- */
- private int fEndEventOccurrence = 0;
- /**
- * Preference ColorId to use to draw font
- */
- private String fPrefId = ISDPreferences.PREF_SYNC_MESS;
- /**
- * The selection state of the graph node.
- */
- private boolean fSelected = false;
- /**
- * The focus state of the graph node.
- */
- private boolean fFocused = false;
- /**
- * Flag to indicate whether node has children or not.
- */
- private boolean fHasChilden = false;
- /**
- * The graph node name used to label the graph node in the View.
- */
- private String fName = ""; //$NON-NLS-1$
- /**
- * A map from node name to graph node.
- */
- private Map<String, List<GraphNode>> fNodes;
- /**
- * A map from node name to graph node for forward sorting
- */
- private Map<String, List<GraphNode>> fForwardNodes;
- /**
- * A map from node name to graph node for backwards sorting.
- */
- private Map<String, List<GraphNode>> fBackwardNodes;
- /**
- * A map from node name to index.
- */
- private Map<String, Integer> fIndexes;
- /**
- * A map from node name to flag for forwards sorting.
- */
- private Map<String, Boolean> fForwardSort;
- /**
- * A map from node name to flag for backwards sorting.
- */
- private Map<String, Boolean> fBackwardSort;
-
- // ------------------------------------------------------------------------
- // Methods
- // ------------------------------------------------------------------------
-
- /**
- * Reset the internal index of the first visible GraphNode for each ordered GraphNode lists
- */
- public void resetIndex() {
- if (!fHasChilden) {
- return;
- }
-
- Iterator<String> it = fIndexes.keySet().iterator();
- while (it.hasNext()) {
- String nodeType = it.next();
- fIndexes.put(nodeType, Integer.valueOf(0));
- }
- }
-
- /**
- * Add a GraphNode into the receiver
- *
- * @param nodeToAdd the node to add
- */
- public void addNode(GraphNode nodeToAdd) {
- if (!fHasChilden) {
- fNodes = new HashMap<>(2);
- fForwardNodes = new HashMap<>(2);
- fBackwardNodes = new HashMap<>(2);
- fIndexes = new HashMap<>(2);
- fBackwardSort = new HashMap<>(2);
- fForwardSort = new HashMap<>(2);
- fHasChilden = true;
- }
-
- // Nothing to add
- if (nodeToAdd == null) {
- return;
- }
-
- if (fNodes.get(nodeToAdd.getArrayId()) == null) {
- fNodes.put(nodeToAdd.getArrayId(), new ArrayList<GraphNode>(1));
- fIndexes.put(nodeToAdd.getArrayId(), Integer.valueOf(0));
- fForwardNodes.put(nodeToAdd.getArrayId(), new ArrayList<GraphNode>(1));
- fForwardSort.put(nodeToAdd.getArrayId(), Boolean.FALSE);
- if (nodeToAdd.getBackComparator() != null) {
- fBackwardNodes.put(nodeToAdd.getArrayId(), new ArrayList<GraphNode>(1));
- fBackwardSort.put(nodeToAdd.getArrayId(), Boolean.FALSE);
- }
- }
-
- List<GraphNode> fNodeList = fForwardNodes.get(nodeToAdd.getArrayId());
- List<GraphNode> bNodeList = null;
- if (fBackwardNodes != null) {
- bNodeList = fBackwardNodes.get(nodeToAdd.getArrayId());
- }
- if (fNodeList != null && fNodeList.size() > 0) {
- // check if the nodes are added y ordered
- // if not, tag the list to sort it later (during draw)
- GraphNode node = fNodeList.get(fNodeList.size() - 1);
- Comparator<GraphNode> fcomp = nodeToAdd.getComparator();
- Comparator<GraphNode> bcomp = nodeToAdd.getBackComparator();
- if ((fcomp != null) && (fcomp.compare(node, nodeToAdd) > 0)) {
- fForwardSort.put(nodeToAdd.getArrayId(), Boolean.TRUE);
- }
- if ((bcomp != null) && (bcomp.compare(node, nodeToAdd) > 0)) {
- fBackwardSort.put(nodeToAdd.getArrayId(), Boolean.TRUE);
- }
- }
-
- if (fNodeList == null) {
- fNodeList = new ArrayList<>();
- }
-
- fNodeList.add(nodeToAdd);
- fNodes.put(nodeToAdd.getArrayId(), fNodeList);
- fForwardNodes.put(nodeToAdd.getArrayId(), fNodeList);
- if ((bNodeList != null) && (nodeToAdd.getBackComparator() != null)) {
- bNodeList.add(nodeToAdd);
- fBackwardNodes.put(nodeToAdd.getArrayId(), bNodeList);
- }
- }
-
- /**
- * Set the graph node name.<br>
- * It is the name display in the view to label the graph node.
- *
- * @param nodeName the name to set
- */
- public void setName(String nodeName) {
- fName = nodeName;
- }
-
- /**
- * Returns the graph node name.<br>
- * It is the name display in the view to label the graph node.
- *
- * @return the graph node name
- */
- public String getName() {
- return fName;
- }
-
- /**
- * Tags the the graph node has selected.<br>
- * WARNING: This method is only used to draw the graph node using the system selection colors. <br>
- * To use the complete SDViewer selection mechanism (selection management, notification, etc..) see SDWidget class
- *
- * @see org.eclipse.linuxtools.tmf.ui.views.uml2sd.SDWidget#addSelection(GraphNode)
- * @see org.eclipse.linuxtools.tmf.ui.views.uml2sd.SDWidget#removeSelection(GraphNode)
- * @see org.eclipse.linuxtools.tmf.ui.views.uml2sd.SDWidget#clearSelection()
- * @param selection - true to set selected, false to set unselected
- */
- public void setSelected(boolean selection) {
- fSelected = selection;
- }
-
- /**
- * Tags the the graph node as focused.<br>
- * WARNING: This method is only used to draw the graph node using the system focus style. <br>
- * To use the complete SDViewer focus mechanism see SDWidget class
- *
- * @see org.eclipse.linuxtools.tmf.ui.views.uml2sd.SDWidget#addSelection(GraphNode)
- * @see org.eclipse.linuxtools.tmf.ui.views.uml2sd.SDWidget#removeSelection(GraphNode)
- * @see org.eclipse.linuxtools.tmf.ui.views.uml2sd.SDWidget#clearSelection()
- * @param focus - true to set focued, false otherwise
- */
- public void setFocused(boolean focus) {
- fFocused = focus;
- }
-
- /**
- * Returns true if the graph node is selected, false otherwise.<br>
- * The returned value is used to highlight the graph node in the View.
- *
- * @return true if selected, false otherwise
- */
- public boolean isSelected() {
- return fSelected;
- }
-
- /**
- * Returns true if the graph node is focused, false otherwise.<br>
- * The returned value is used to highlight the graph node in the View.
- *
- * @return true if focused, false otherwise
- */
- public boolean hasFocus() {
- return fFocused;
- }
-
- /**
- * Returns true if the graph node contains the point given in parameter,
- * return false otherwise.
- *
- * @param x
- * the x coordinate of the point to test containment
- * @param y
- * the y coordinate of the point to test containment
- * @return true if contained, false otherwise
- */
- abstract public boolean contains(int x, int y);
-
- /**
- * Returns the x coordinate of the graph node
- *
- * @return the x coordinate
- */
- abstract public int getX();
-
- /**
- * Returns the y coordinate of the graph node
- *
- * @return the y coordinate
- */
- abstract public int getY();
-
- /**
- * Returns the graph node height
- *
- * @return the graph node height
- */
- abstract public int getHeight();
-
- /**
- * Returns the graph node width
- *
- * @return the graph node width
- */
- abstract public int getWidth();
-
- /**
- * Draws the graph node in the given context
- *
- * @param context the graphical context to draw in
- */
- abstract protected void draw(IGC context);
-
- /**
- * Returns the GraphNode visibility for the given visible area. Wrong
- * visibility calculation, may strongly impact drawing performance
- *
- * @param x
- * The X coordinate
- * @param y
- * The Y coordinate
- * @param width
- * The width of the area
- * @param height
- * The height of the area
- * @return true if visible, false otherwise
- */
- public boolean isVisible(int x, int y, int width, int height) {
- return true;
- }
-
- /**
- * Return a comparator to sort the GraphNode of the same type This
- * comparator is used to order the GraphNode array of the given node type.
- * (see getArrayId).
- *
- * @return the comparator
- */
- public Comparator<GraphNode> getComparator() {
- return null;
- }
-
- /**
- * If needed, return a different comparator to backward scan the GraphNode
- * array
- *
- * @return the backward comparator or null if not needed
- */
- public Comparator<GraphNode> getBackComparator() {
- return null;
- }
-
- /**
- * Compare two graphNodes
- *
- * @param node
- * the node to compare to
- * @return true if equal false otherwise
- */
- public boolean isSameAs(GraphNode node) {
- return false;
- }
-
- /**
- * Return the node type for all class instances. This id is used to store the same nodes kind in the same ordered
- * array.
- *
- * @return the node type identifier
- */
- abstract public String getArrayId();
-
- /**
- * Return true if the distance from the GraphNode to the given point is positive
- *
- * @param x the point x coordinate
- * @param y the point y coordinate
- * @return true if positive false otherwise
- */
- public boolean positiveDistanceToPoint(int x, int y) {
- return false;
- }
-
- /**
- * Returns the graph node which contains the point given in parameter WARNING: Only graph nodes in the current
- * visible area can be returned
- *
- * @param x the x coordinate of the point to test
- * @param y the y coordinate of the point to test
- * @return the graph node containing the point given in parameter, null otherwise
- */
- public GraphNode getNodeAt(int x, int y) {
- GraphNode toReturn = null;
-
- if (!fHasChilden) {
- return null;
- }
-
- Iterator<String> it = fNodes.keySet().iterator();
- GraphNode node = null;
- while (it.hasNext()) {
- Object nodeType = it.next();
- List<GraphNode> list = fNodes.get(nodeType);
- int index = fIndexes.get(nodeType).intValue();
- node = getNodeFromListAt(x, y, list, index);
- if (toReturn == null) {
- toReturn = node;
- }
- if (node != null) {
- GraphNode internalNode = node.getNodeAt(x, y);
- if (internalNode != null) {
- return internalNode;
- } else if (Math.abs(node.getWidth()) < Math.abs(toReturn.getWidth()) || Math.abs(node.getHeight()) < Math.abs(toReturn.getHeight())) {
- toReturn = node;
- }
- }
- }
- return toReturn;
- }
-
- /**
- * Gets node list from node A to node B
-
- * @param from A from node
- * @param to A to node
- * @return the list of nodes
- */
- public List<GraphNode> getNodeList(GraphNode from, GraphNode to) {
- List<GraphNode> result = new ArrayList<>();
-
- if (from != null) {
- result.add(from);
- } else if (to != null) {
- result.add(to);
- }
-
- if ((from == null) || (to == null)) {
- return result;
- }
-
- if (from == to) {
- return result;
- }
-
- int startX = Math.min(from.getX(), Math.min(to.getX(), Math.min(from.getX() + from.getWidth(), to.getX() + to.getWidth())));
- int endX = Math.max(from.getX(), Math.max(to.getX(), Math.max(from.getX() + from.getWidth(), to.getX() + to.getWidth())));
- int startY = Math.min(from.getY(), Math.min(to.getY(), Math.min(from.getY() + from.getHeight(), to.getY() + to.getHeight())));
- int endY = Math.max(from.getY(), Math.max(to.getY(), Math.max(from.getY() + from.getHeight(), to.getY() + to.getHeight())));
-
- if (!fHasChilden) {
- return result;
- }
-
- Iterator<String> it = fNodes.keySet().iterator();
- while (it.hasNext()) {
- Object nodeType = it.next();
- List<GraphNode> nodesList = fNodes.get(nodeType);
- if (nodesList == null || nodesList.isEmpty()) {
- return null;
- }
- for (int i = 0; i < nodesList.size(); i++) {
- GraphNode node = nodesList.get(i);
- int nw = node.getWidth();
- int nh = node.getHeight();
- int nx = node.getX();
- int ny = node.getY();
- if (contains(startX, startY, endX - startX, endY - startY, nx + 1, ny + 1) && contains(startX, startY, endX - startX, endY - startY, nx + nw - 2, ny + nh - 2)) {
- result.add(node);
- }
- result.addAll(node.getNodeList(from, to));
- }
- }
-
- if (!result.contains(to)) {
- result.add(to);
- }
- return result;
- }
-
- /**
- * Returns the graph node which contains the point given in parameter for the given graph node list and starting the
- * iteration at the given index<br>
- * WARNING: Only graph nodes with smaller coordinates than the current visible area can be returned.<br>
- *
- * @param x the x coordinate of the point to test
- * @param y the y coordinate of the point to test
- * @param list the list to search in
- * @param fromIndex list browsing starting point
- * @return the graph node containing the point given in parameter, null otherwise
- */
- protected GraphNode getNodeFromListAt(int x, int y, List<GraphNode> list, int fromIndex) {
- if (list == null) {
- return null;
- }
- for (int i = fromIndex; i < list.size(); i++) {
- GraphNode node = list.get(i);
- if (node.contains(x, y)) {
- return node;
- }
- }
- return null;
- }
-
- /**
- * Returns the start event occurrence attached to this graphNode.
- *
- * @return the start event occurrence attached to the graphNode
- */
- public int getStartOccurrence() {
- return fStartEventOccurrence;
- }
-
- /**
- * Returns the end event occurrence attached to this graphNode
- *
- * @return the start event occurrence attached to the graphNode
- */
- public int getEndOccurrence() {
- return fEndEventOccurrence;
- }
-
- /**
- * Computes the index of the first visible GraphNode for each ordered graph node lists depending on the visible area
- * given in parameter
- *
- * @param x visible area top left corner x coordinate
- * @param y visible area top left corner y coordinate
- * @param width visible area width
- * @param height visible area height
- */
- public void updateIndex(int x, int y, int width, int height) {
- if (!fHasChilden) {
- return;
- }
- if(TmfUiTracer.isIndexTraced()) {
- TmfUiTracer.traceIndex("*****************************\n"); //$NON-NLS-1$
- TmfUiTracer.traceIndex("Visible area position in virtual screen (x,y)= " + x + " " + y + "\n\n"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- }
-
- Iterator<String> it = fNodes.keySet().iterator();
- while (it.hasNext()) {
- String nodeType = it.next();
- int direction = 1;
- int drawIndex = fIndexes.get(nodeType).intValue();
- /*
- * if (x==0) { drawIndex = 0; indexes.put(nodeType,new Integer(drawIndex)); }
- */
- if ((fNodes.get(nodeType) != null) && (fNodes.get(nodeType).size() > 1)) {
- if (fNodes.get(nodeType).get(drawIndex).positiveDistanceToPoint(x, y)) {
- direction = -1;
- }
-
- if (drawIndex == 0) {
- direction = 1;
- }
-
- if ((direction == -1) && (fBackwardNodes.get(nodeType) != null)) {
- GraphNode currentNode = fNodes.get(nodeType).get(drawIndex);
- drawIndex = Arrays.binarySearch(fBackwardNodes.get(nodeType).toArray(new GraphNode[fBackwardNodes.get(nodeType).size()]),
- fNodes.get(nodeType).get(drawIndex), currentNode.getBackComparator());
- fNodes.put(nodeType, fBackwardNodes.get(nodeType));
- if (drawIndex < 0) {
- drawIndex = 0;
- direction = 1;
- } else {
- fNodes.put(nodeType, fBackwardNodes.get(nodeType));
- }
- }
- GraphNode prev = null;
-
- for (int i = drawIndex; i < fNodes.get(nodeType).size() && i >= 0; i = i + direction) {
- drawIndex = i;
- fIndexes.put(nodeType, Integer.valueOf(i));
-
- GraphNode currentNode = fNodes.get(nodeType).get(i);
-
- if (prev == null) {
- prev = currentNode;
- }
-
- Comparator<GraphNode> comp = currentNode.getComparator();
- Map<String, Boolean> sort = fForwardSort;
-
- if ((direction == -1) && (currentNode.getBackComparator() != null)) {
- comp = currentNode.getBackComparator();
- sort = fBackwardSort;
- }
-
- if (i < fNodes.get(nodeType).size() - 1) {
- GraphNode next = fNodes.get(nodeType).get(i + 1);
-
- if ((comp != null) && (comp.compare(currentNode, next) > 0)) {
- sort.put(nodeType, Boolean.TRUE);
- }
- }
- if (direction == 1) {
- if (fNodes.get(nodeType).get(i).positiveDistanceToPoint(x, y)) {
- break;
- }
- } else {
- if (currentNode.getBackComparator() == null) {
- if // (currentNode.isVisible(x,y,width,height)
- (!currentNode.positiveDistanceToPoint(x, y)) {
- break;
- }
- } else {
- if (currentNode.isVisible(x, y, width, height) && !currentNode.positiveDistanceToPoint(x, y)) {
- if ((comp != null) && (comp.compare(currentNode, prev) <= 0)) {
- break;
- }
- } else if ((comp != null) && (comp.compare(currentNode, prev) <= 0)) {
- prev = currentNode;
- }
- }
- }
- }
-
- fNodes.put(nodeType, fForwardNodes.get(nodeType));
- if ((fBackwardNodes.get(nodeType) != null) && (direction == -1)) {
- // nodes.put(nodeType,fnodes.get(nodeType));
- int index = fIndexes.get(nodeType).intValue();
- List<GraphNode> list = fNodes.get(nodeType);
- List<GraphNode> backList = fBackwardNodes.get(nodeType);
- GraphNode currentNode = (backList.get(index));
- if (index > 0) {
- index = Arrays.binarySearch(list.toArray(new GraphNode[list.size()]), backList.get(index), currentNode.getComparator());
- if (index < 0) {
- index = 0;
- }
- fIndexes.put(nodeType, Integer.valueOf(index));
- }
- }
-
- for (int i = drawIndex; i < fNodes.get(nodeType).size() && i >= 0; i++) {
- GraphNode toDraw = fNodes.get(nodeType).get(i);
- toDraw.updateIndex(x, y, width, height);
- if (!toDraw.isVisible(x, y, width, height)) {
- break;
- }
- }
- }
- if (TmfUiTracer.isIndexTraced()) {
- TmfUiTracer.traceIndex("First drawn " + nodeType + " index = " + drawIndex + "\n"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- TmfUiTracer.traceIndex(nodeType + " found in " + 0 + " iterations\n"); //$NON-NLS-1$ //$NON-NLS-2$
- }
- }
-
- if (TmfUiTracer.isIndexTraced()) {
- TmfUiTracer.traceIndex("*****************************\n"); //$NON-NLS-1$
- }
- }
-
- /**
- * Draws the children nodes on the given context.<br>
- * This method start width GraphNodes ordering if needed.<br>
- * After, depending on the visible area, only visible GraphNodes are drawn.<br>
- *
- * @param context the context to draw to
- * @see org.eclipse.linuxtools.tmf.ui.views.uml2sd.core.GraphNode#draw(IGC)
- */
- protected void drawChildenNodes(IGC context) {
-
- if (!fHasChilden) {
- return;
- }
- // If the nodes have not been added ordered, the array is ordered
- Iterator<String> it = fForwardSort.keySet().iterator();
- while (it.hasNext()) {
- String nodeType = it.next();
- boolean sort = fForwardSort.get(nodeType).booleanValue();
- if (sort) {
- GraphNode[] temp = fForwardNodes.get(nodeType).toArray(new GraphNode[fForwardNodes.get(nodeType).size()]);
- GraphNode node = fNodes.get(nodeType).get(0);
- Arrays.sort(temp, node.getComparator());
- fForwardSort.put(nodeType, Boolean.FALSE);
- fNodes.put(nodeType, Arrays.asList(temp));
- fForwardNodes.put(nodeType, Arrays.asList(temp));
- if (TmfUiTracer.isSortingTraced()) {
- TmfUiTracer.traceSorting(nodeType + " array sorted\n"); //$NON-NLS-1$
- }
- }
- }
-
- Iterator<String> it2 = fBackwardSort.keySet().iterator();
- while (it2.hasNext()) {
- String nodeType = it2.next();
- boolean sort = fBackwardSort.get(nodeType).booleanValue();
- if (sort) {
- GraphNode[] temp = fBackwardNodes.get(nodeType).toArray(new GraphNode[fBackwardNodes.get(nodeType).size()]);
- GraphNode node = fNodes.get(nodeType).get(0);
- Arrays.sort(temp, node.getBackComparator());
- fBackwardSort.put(nodeType, Boolean.FALSE);
- fBackwardNodes.put(nodeType, Arrays.asList(temp));
- if (TmfUiTracer.isSortingTraced()) {
- TmfUiTracer.traceSorting(nodeType + " back array sorted\n"); //$NON-NLS-1$
- }
- }
- }
-
- if (TmfUiTracer.isDisplayTraced()) {
- TmfUiTracer.traceDisplay("*****************************\n"); //$NON-NLS-1$
- }
-
- int arrayStep = 1;
- if ((Metrics.getMessageFontHeigth() + Metrics.MESSAGES_NAME_SPACING * 2) * context.getZoom() < Metrics.MESSAGE_SIGNIFICANT_VSPACING) {
- arrayStep = Math.round(Metrics.MESSAGE_SIGNIFICANT_VSPACING / ((Metrics.getMessageFontHeigth() + Metrics.MESSAGES_NAME_SPACING * 2) * context.getZoom()));
- }
-
- int count = 0;
- Iterator<String> it3 = fForwardSort.keySet().iterator();
- while (it3.hasNext()) {
- count = 0;
- Object nodeType = it3.next();
- GraphNode node = fNodes.get(nodeType).get(0);
- context.setFont(SDViewPref.getInstance().getFont(node.fPrefId));
- int index = fIndexes.get(nodeType).intValue();
- count = drawNodes(context, fNodes.get(nodeType), index, arrayStep);
- if (TmfUiTracer.isDisplayTraced()) {
- TmfUiTracer.traceDisplay(count + " " + nodeType + " drawn, starting from index " + index + "\r\n"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- }
- }
- if (TmfUiTracer.isDisplayTraced()) {
- TmfUiTracer.traceDisplay("*****************************\n"); //$NON-NLS-1$
- }
-
- }
-
- /**
- * Draw the GraphNode stored in the given list, starting at index startIndex with the given step
- *
- * @param context the context to draw to
- * @param list the GraphNodes list
- * @param startIndex the start index
- * @param step the step to browse the list
- * @return the number of GraphNodes drawn
- */
- protected int drawNodes(IGC context, List<GraphNode> list, int startIndex, int step) {
- if (!fHasChilden) {
- return 0;
- }
-
- GraphNode last = null;
- int nodesCount = 0;
- if (list.size() < 0) {
- return 0;
- }
-
- GraphNode node = list.get(0);
- context.setFont(SDViewPref.getInstance().getFont(node.fPrefId));
- Comparator<GraphNode> comparator = node.getComparator();
- for (int i = startIndex; i < list.size(); i = i + step) {
- GraphNode toDraw = list.get(i);
- if (i < list.size() - 1) {
- GraphNode next = list.get(i + 1);
- if ((comparator != null) && (comparator.compare(toDraw, next) > 0)) {
- fForwardSort.put(next.getArrayId(), Boolean.TRUE);
- }
- }
- int cx = context.getContentsX();
- int cy = context.getContentsY();
- int cw = context.getVisibleWidth();
- int ch = context.getVisibleHeight();
- // The arrays should be ordered, no needs to continue for this one
- if (!toDraw.isVisible(cx, cy, cw, ch) && toDraw.positiveDistanceToPoint(cx + cw, cy + ch)) {
- break;
- }
- // ***Common*** nodes visibility
- if ((!toDraw.isSameAs(last) || toDraw.isSelected()) && (toDraw.isVisible(context.getContentsX(), context.getContentsY(), context.getVisibleWidth(), context.getVisibleHeight()))) {
- nodesCount++;
-
- toDraw.draw(context);
- if (hasFocus()) {
- toDraw.drawFocus(context);
- }
- }
- last = toDraw;
- }
- return nodesCount;
- }
-
- /**
- * Draws the focus within the graphical context.
- *
- * @param context
- * The context
- */
- public void drawFocus(IGC context) {
- context.drawFocus(getX(), getY(), getWidth(), getHeight());
- }
-
- /**
- * Determine if the given point (px,py) is contained in the rectangle (x,y,width,height)
- *
- * @param x the rectangle x coordinate
- * @param y the rectangle y coordinate
- * @param width the rectangle width
- * @param height the rectangle height
- * @param px the x coordinate of the point to test
- * @param py the y coordinate of the point to test
- * @return true if contained false otherwise
- */
- public static boolean contains(int x, int y, int width, int height, int px, int py) {
- int locX = x;
- int locY = y;
- int locWidth = width;
- int locHeight = height;
-
- if (width < 0) {
- locX = locX + width;
- locWidth = -locWidth;
- }
-
- if (height < 0) {
- locY = locY + height;
- locHeight = -locHeight;
- }
- return (px >= locX) && (py >= locY) && ((px - locX) <= locWidth) && ((py - locY) <= locHeight);
- }
-
- /**
- * Sets the start event occurrence attached to this graphNode.
- *
- * @param occurence
- * the start event occurrence attached to the graphNode
- * @since 2.0
- */
- protected void setStartOccurrence(int occurence) {
- fStartEventOccurrence = occurence;
- }
-
- /**
- * Sets the end event occurrence attached to this graphNode
- *
- * @param occurence
- * the start event occurrence attached to the graphNode
- * @since 2.0
- */
- protected void setEndOccurrence(int occurence) {
- fEndEventOccurrence = occurence;
- }
-
- /**
- * Sets the color preference id
- * @param id
- * The color preference id
- * @since 2.0
- */
- protected void setColorPrefId(String id) {
- fPrefId = id;
- }
-
- /**
- * Gets the color preference id
- * @return the color preference id
- * @since 2.0
- */
- protected String getColorPrefId() {
- return fPrefId;
- }
-
- /**
- * @return if node has children or not
- * @since 2.0
- */
- protected boolean hasChildren() {
- return fHasChilden;
- }
-
- /**
- * Sets the flag indicating where the node has children or not.
- * @param hasChildren
- * if node has children or not
- * @since 2.0
- */
- protected void hasChildren(boolean hasChildren) {
- fHasChilden = hasChildren;
- }
- /**
- * Returns a map from node name to graph node.
- *
- * @return map with children graph bodes
- * @since 2.0
- */
- protected Map<String, List<GraphNode>> getNodeMap() {
- return fNodes;
- }
- /**
- * Returns a map from node name to graph node for forward sorting
- *
- * @return forward sorting map
- * @since 2.0
- */
- protected Map<String, List<GraphNode>> getForwardNodes() {
- return fForwardNodes;
- }
- /**
- * Returns a map from node name to graph node for backwards sorting.
- *
- * @return backwards sorting map
- * @since 2.0
- */
- protected Map<String, List<GraphNode>> getBackwardNodes() {
- return fBackwardNodes;
- }
- /**
- * Returns a map from node name to index.
- *
- * @return map with node name to index
- * @since 2.0
- */
- protected Map<String, Integer> getIndexes() {
- return fIndexes;
- }
-
- /**
- * Returns a map from node name to sort flag for forwards sorting.
- * @return a map from node name to sort flag
- * @since 2.0
- */
- protected Map<String, Boolean> getForwardSortMap() {
- return fForwardSort;
- }
- /**
- * Returns a map from node name to flag for backwards sorting.
- * @return map from node name to flag for backwards sorting.
- * @since 2.0
- */
- protected Map<String, Boolean> getBackwardSortMap() {
- return fBackwardSort;
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/core/HotSpot.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/core/HotSpot.java
deleted file mode 100755
index 1424462203..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/core/HotSpot.java
+++ /dev/null
@@ -1,193 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2005, 2013 IBM Corporation, 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:
- * IBM - Initial API and implementation
- * Bernd Hufmann - Updated for TMF
- **********************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.views.uml2sd.core;
-
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.drawings.IGC;
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.drawings.IImage;
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.preferences.ISDPreferences;
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.preferences.SDViewPref;
-
-/**
- * Class to add a hot spot marker.
- *
- * @version 1.0
- * @author sveyrier
- */
-public class HotSpot extends GraphNode {
- // ------------------------------------------------------------------------
- // Constants
- // ------------------------------------------------------------------------
- /**
- * The grahNode ID constant
- */
- public static final String GLYPH = "Glyph"; //$NON-NLS-1$
-
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
- /**
- * The execution occurrence the hot spot marker is for.
- */
- private BasicExecutionOccurrence fExecOcc = null;
- /**
- * The occurrence number.
- */
- private int fOccurrence = 0;
- /**
- * The marker image to display.
- */
- private IImage fImage = null;
-
- // ------------------------------------------------------------------------
- // Constructors
- // ------------------------------------------------------------------------
-
- /**
- * Default constructor
- */
- public HotSpot() {
- setColorPrefId(ISDPreferences.PREF_EXEC);
- }
-
- // ------------------------------------------------------------------------
- // Methods
- // ------------------------------------------------------------------------
-
- /**
- * Set the marker image.
- *
- * @param img A image to set
- */
- public void setImage(IImage img) {
- fImage = img;
- }
-
- /**
- * Returns the marker image.
- *
- * @return the image
- * @since 2.0
- */
- protected IImage getImage() {
- return fImage;
- }
-
- @Override
- public int getX() {
- if (fExecOcc != null) {
- return fExecOcc.getX() - 3;
- }
- return 0;
- }
-
- @Override
- public int getY() {
- if (fExecOcc != null){
- return fExecOcc.getY();
- }
- return 0;
- }
-
- @Override
- public int getWidth() {
- if (fExecOcc != null) {
- return fExecOcc.getWidth() + 7;
- }
- return 0;
- }
-
- @Override
- public int getHeight() {
- if (fExecOcc != null) {
- return fExecOcc.getWidth() + 10;
- }
- return 0;
- }
-
- /**
- * Set the lifeline on which the execution occurrence appears.
- *
- * @param occ the parent lifeline
- */
- public void setExecution(BasicExecutionOccurrence occ) {
- fExecOcc = occ;
- fExecOcc.addNode(this);
- }
-
- /**
- * Get the lifeline on which the execution occurrence appears.
- *
- * @return - the parent lifeline
- */
- public BasicExecutionOccurrence getExecOcc() {
- return fExecOcc;
- }
-
- /**
- * Returns the occurrence number.
- *
- * @return the occurrence number.
- */
- public int getOccurrence() {
- return fOccurrence;
- }
-
- /**
- * Set the occurrence number.
- *
- * @param occ A number to set.
- */
- public void setOccurrence(int occ) {
- fOccurrence = occ;
- }
-
- @Override
- public void draw(IGC context) {
-
- ISDPreferences pref = SDViewPref.getInstance();
-
- // The execution occurrence is selected
- // if the owning lifeline is selected
- if (isSelected() || (fExecOcc != null && fExecOcc.isSelected()) || (fExecOcc != null && fExecOcc.getLifeline() != null && fExecOcc.getLifeline().isSelected())) {
- context.setBackground(pref.getBackGroundColorSelection());
- context.setForeground(pref.getForeGroundColorSelection());
- } else {
- context.setBackground(pref.getBackGroundColor(ISDPreferences.PREF_EXEC));
- context.setForeground(pref.getForeGroundColor(ISDPreferences.PREF_EXEC));
- }
- context.drawImage(fImage, getX(), getY(), getWidth(), getHeight());
- }
-
- @Override
- public String getArrayId() {
- return GLYPH;
- }
-
- @Override
- public boolean isVisible(int x, int y, int width, int height) {
- return true;
- }
-
- @Override
- public boolean contains(int xValue, int yValue) {
- int x = getX();
- int y = getY();
- int width = getWidth();
- int height = getHeight();
-
- if (GraphNode.contains(x, y, width, height, xValue, yValue)) {
- return true;
- }
- return false;
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/core/ITimeRange.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/core/ITimeRange.java
deleted file mode 100755
index 8164fe6b7b..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/core/ITimeRange.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2005, 2013 IBM Corporation, 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:
- * IBM - Initial API and implementation
- * Bernd Hufmann - Updated for TMF
- **********************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.views.uml2sd.core;
-
-import org.eclipse.linuxtools.tmf.core.timestamp.ITmfTimestamp;
-
-/**
- * A interface for handling time ranges.
- *
- * @version 1.0
- * @author sveyrier
- */
-public interface ITimeRange {
-
- /**
- * Returns the time when the message began.
- * @return the time when the message began
- * @since 2.0
- */
- ITmfTimestamp getStartTime();
-
- /**
- * Returns the time when the message ended.
- *
- * @return the time when the message ended
- * @since 2.0
- */
- ITmfTimestamp getEndTime();
-
- /**
- * Returns flag to indicate whether time information is available or not.
- *
- * @return flag to indicate whether time information is available or not
- */
- boolean hasTimeInfo();
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/core/Lifeline.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/core/Lifeline.java
deleted file mode 100755
index ff77a30ec7..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/core/Lifeline.java
+++ /dev/null
@@ -1,534 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2005, 2013 IBM Corporation, 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:
- * IBM - Initial API and implementation
- * Bernd Hufmann - Updated for TMF
- **********************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.views.uml2sd.core;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.drawings.IColor;
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.drawings.IGC;
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.drawings.IImage;
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.preferences.ISDPreferences;
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.preferences.SDViewPref;
-
-/**
- * Lifeline is the UML2 lifeline graphical representation.<br>
- * Each lifeline owns a set of event occurrences. An event occurrence is the base element in UML2 to set an event in a
- * sequence diagram.<br>
- * Event occurrence define the drawing order of graph node along a lifeline. In this lifeline implementation, event
- * occurrences are just integer index. The event occurrences with the same value on different lifelines will correspond
- * the same y coordinate value.
- *
- * @version 1.0
- * @author sveyrier
- *
- */
-public class Lifeline extends GraphNode {
- // ------------------------------------------------------------------------
- // Constants
- // ------------------------------------------------------------------------
- /**
- * The life line tag.
- */
- public static final String LIFELINE_TAG = "Lifeline"; //$NON-NLS-1$
-
- // ------------------------------------------------------------------------
- // Attribute
- // ------------------------------------------------------------------------
- /**
- * The lifeline position in the containing frame
- */
- private int fIndexInFrame = 0;
- /**
- * The frame where the lifeline is drawn
- */
- private Frame fFrame = null;
- /**
- * The current event occurrence created in the lifeline
- */
- private int fEventOccurrence = 0;
- /**
- * The lifeline category.
- */
- private int fCategory = -1;
- /**
- * Flag whether lifeline has time information available or not
- */
- private boolean fHasTimeInfo = false;
-
- // ------------------------------------------------------------------------
- // Constructors
- // ------------------------------------------------------------------------
- /**
- * Default constructor
- */
- public Lifeline() {
- setColorPrefId(ISDPreferences.PREF_LIFELINE);
- }
-
- // ------------------------------------------------------------------------
- // Methods
- // ------------------------------------------------------------------------
-
- @Override
- public int getX() {
- return Metrics.FRAME_H_MARGIN + Metrics.LIFELINE_H_MAGIN + (fIndexInFrame - 1) * Metrics.swimmingLaneWidth();
- }
-
- @Override
- public int getY() {
- return 2 * Metrics.FRAME_NAME_H_MARGIN + Metrics.LIFELINE_VT_MAGIN / 2 + Metrics.getFrameFontHeigth() + Metrics.getLifelineHeaderFontHeigth() + Metrics.FRAME_V_MARGIN + 2 * Metrics.LIFELINE_HEARDER_TEXT_V_MARGIN;
- }
-
- @Override
- public int getWidth() {
- return Metrics.getLifelineWidth();
- }
-
- @Override
- public int getHeight() {
- // Set room for two text lines
- return Metrics.getLifelineFontHeigth()/** 2 */
- + 2 * Metrics.LIFELINE_NAME_H_MARGIN;
- }
-
- /**
- * Set the lifeline category for this lifeline.
- *
- * @param arrayIndex the index of the category to use
- * @see Frame#setLifelineCategories(LifelineCategories[])
- */
- public void setCategory(int arrayIndex) {
- fCategory = arrayIndex;
- }
-
- /**
- * Gets the lifeline category for this lifeline.
- *
- * @return arrayIndex the index of the category to use
- * @since 2.0
- */
- public int getCategory() {
- return fCategory;
- }
-
- /**
- * Returns the tooltip text for the lifeline. It is the combination between the category name(if any) and the
- * lifeline name
- *
- * @return the tooltip text
- */
- public String getToolTipText() {
- if (fCategory >= 0) {
- LifelineCategories[] categories = fFrame.getLifelineCategories();
- if (fCategory < categories.length) {
- return categories[fCategory].getName() + " " + getName(); //$NON-NLS-1$
- }
- }
- return ""; //$NON-NLS-1$
- }
-
- /**
- * Returns the index of the first visible Execution Occurrence in the execution occurrence array.<br>
- * Execution Occurrences are Y ordered in this array
- *
- * @return the first visible Execution Occurrence
- */
- public int getExecOccurrenceDrawIndex() {
- if (!hasChildren()) {
- return 0;
- }
- if (getIndexes().get(BasicExecutionOccurrence.EXEC_OCC_TAG) != null) {
- return getIndexes().get(BasicExecutionOccurrence.EXEC_OCC_TAG).intValue();
- }
- return 0;
- }
-
- /**
- * Set the frame on which this lifeline must be drawn
- *
- * @param parentFrame
- * Parent frame
- */
- protected void setFrame(Frame parentFrame) {
- fFrame = parentFrame;
- if (fHasTimeInfo) {
- fFrame.setHasTimeInfo(true);
- }
- if (fFrame.getMaxEventOccurrence() < getEventOccurrence() + 1) {
- fFrame.setMaxEventOccurrence(getEventOccurrence() + 1);
- }
- }
-
- /**
- * Returns the frame which this lifeline is drawn
- *
- * @return the Frame
- */
- protected Frame getFrame() {
- return fFrame;
- }
-
- /**
- * Set the lifeline position index in the containing frame
- *
- * @param index the lifeline X position
- */
- protected void setIndex(int index) {
- fIndexInFrame = index;
- }
-
- /**
- * Returns the lifeline position in de the containing frame
- *
- * @return the X position
- */
- public int getIndex() {
- return fIndexInFrame;
- }
-
- /**
- * Set the lifeline event occurrence to the value given in parameter This only change the current event occurrence,
- * greater event created on this lifeline are still valid and usable. This also need to inform the frame of the
- * operation mostly to store in the frame the greater event found in the diagram (used to determine the frame
- * height)
- *
- * @param eventOcc the new current event occurrence
- */
- public void setCurrentEventOccurrence(int eventOcc) {
- if ((fFrame != null) && (fFrame.getMaxEventOccurrence() < eventOcc)) {
- fFrame.setMaxEventOccurrence(eventOcc);
- }
- fEventOccurrence = eventOcc;
- }
-
- /**
- * Returns the last created event occurrence along the lifeline.
- *
- * @return the current event occurrence
- */
- public int getEventOccurrence() {
- return fEventOccurrence;
- }
-
- /**
- * Creates a new event occurrence along the lifeline.
- *
- * @return the new created event occurrence
- */
- public int getNewEventOccurrence() {
- setCurrentEventOccurrence(fEventOccurrence + 1);
- return fEventOccurrence;
- }
-
- /**
- * Adds the execution occurrence given in parameter to the lifeline.<br>
- * A Execution occurrence is never drawn in the frame instead it is added to a lifeline
- *
- * @param exec the execution occurrence to add
- */
- public void addExecution(BasicExecutionOccurrence exec) {
- exec.setLifeline(this);
- addNode(exec);
- if ((fFrame != null) && (fFrame.getMaxEventOccurrence() < exec.getEndOccurrence())) {
- fFrame.setMaxEventOccurrence(exec.getEndOccurrence());
- }
- }
-
- /**
- * Set whether lifeline has time information available or not.
- * @param value The value to set
- */
- protected void setTimeInfo(boolean value) {
- fHasTimeInfo = value;
- if ((fFrame != null) && value) {
- fFrame.setHasTimeInfo(value);
- }
- }
-
- /**
- * Returns true if at least one execution occurrence has time info.
- *
- * @return true if at least one execution occurrence has time info
- */
- public boolean hasTimeInfo() {
- return fHasTimeInfo;
- }
-
- /**
- * Returns the list of execution occurrence on this lifeline.
- *
- * @return the execution occurrence list
- */
- public List<GraphNode> getExecutions() {
- if (hasChildren()) {
- return getNodeMap().get(BasicExecutionOccurrence.EXEC_OCC_TAG);
- }
- return new ArrayList<>();
- }
-
- @Override
- public boolean contains(int xValue, int yValue) {
- int x = getX();
- int y = getY();
- int width = getWidth();
- int height = getHeight();
-
- if (fFrame == null) {
- return false;
- }
- if (GraphNode.contains(x, y, width, height, xValue, yValue)) {
- return true;
- }
- if (GraphNode.contains(x + Metrics.getLifelineWidth() / 2 - Metrics.EXECUTION_OCCURRENCE_WIDTH / 2, y + height, Metrics.EXECUTION_OCCURRENCE_WIDTH, (Metrics.getMessageFontHeigth() + Metrics.getMessagesSpacing()) * fFrame.getMaxEventOccurrence()
- + Metrics.LIFELINE_VB_MAGIN - 4, xValue, yValue)) {
- return true;
- }
-
- height = Metrics.getLifelineFontHeigth() + 2 * Metrics.LIFELINE_HEARDER_TEXT_V_MARGIN;
- int hMargin = (Metrics.LIFELINE_VT_MAGIN - height) / 2;
-
- if (hMargin >= 2) {
- if (fFrame.getVisibleAreaY() < y - height - hMargin) {
- if (GraphNode.contains(x - Metrics.LIFELINE_SPACING / 2 + 1, y - height - hMargin, Metrics.swimmingLaneWidth() - 2, height + 1, xValue, yValue)) {
- return true;
- }
- } else {
- if (GraphNode.contains(x - Metrics.LIFELINE_SPACING / 2 + 1, fFrame.getVisibleAreaY(), Metrics.swimmingLaneWidth() - 2, height, xValue, yValue)) {
- return true;
- }
- }
- }
- if (getNodeAt(xValue, yValue) != null) {
- return true;
- }
- return false;
- }
-
- /**
- * Returns the lifeline visibility for the given visible area
- *
- * @param vx The x coordinate of the visible area
- * @param vy The y coordinate of the visible area
- * @param vwidth The width of the visible area
- * @param vheight The height of the visible area
- * @return true if visible false otherwise
- */
- @Override
- public boolean isVisible(int vx, int vy, int vwidth, int vheight) {
- int x = getX();
- int width = getWidth();
- if (((x >= vx) && (x <= vx + vwidth)) || ((x + width >= vx) && (x <= vx))) {
- return true;
- }
- return false;
- }
-
- /**
- * Draws the name within the graphical context.
- *
- * @param context The graphical context.
- */
- protected void drawName(IGC context) {
- ISDPreferences pref = SDViewPref.getInstance();
-
- int x = getX();
- int y = getY();
- int height = Metrics.getLifelineHeaderFontHeigth() + 2 * Metrics.LIFELINE_HEARDER_TEXT_V_MARGIN;
- int hMargin = Metrics.LIFELINE_VT_MAGIN / 4;// (Metrics.LIFELINE_NAME_H_MARGIN)/2;
-
- context.setLineStyle(context.getLineSolidStyle());
- context.setBackground(pref.getBackGroundColor(ISDPreferences.PREF_LIFELINE_HEADER));
- context.setForeground(pref.getForeGroundColor(ISDPreferences.PREF_LIFELINE_HEADER));
- context.setFont(pref.getFont(ISDPreferences.PREF_LIFELINE_HEADER));
- if (hMargin >= 0) {
- if (fFrame.getVisibleAreaY() < y - height - hMargin) {
- context.fillRectangle(x - Metrics.LIFELINE_SPACING / 2 + 1, y - height - hMargin, Metrics.swimmingLaneWidth() - 2, height);
- context.drawRectangle(x - Metrics.LIFELINE_SPACING / 2 + 1, y - height - hMargin, Metrics.swimmingLaneWidth() - 2, height);
- context.setForeground(pref.getFontColor(ISDPreferences.PREF_LIFELINE_HEADER));
- context.drawTextTruncatedCentred(getName(), x + Metrics.LIFELINE_NAME_V_MARGIN - Metrics.LIFELINE_SPACING / 2 + 1, y - height - hMargin, Metrics.swimmingLaneWidth() - 2 * Metrics.LIFELINE_NAME_V_MARGIN - 2, height, true);
- } else {
- context.fillRectangle(x - Metrics.LIFELINE_SPACING / 2 + 1, fFrame.getVisibleAreaY(), Metrics.swimmingLaneWidth() - 2, height);
- context.drawRectangle(x - Metrics.LIFELINE_SPACING / 2 + 1, fFrame.getVisibleAreaY(), Metrics.swimmingLaneWidth() - 2, height);
- context.setForeground(pref.getFontColor(ISDPreferences.PREF_LIFELINE_HEADER));
- context.drawTextTruncatedCentred(getName(), x - Metrics.LIFELINE_SPACING / 2 + Metrics.LIFELINE_NAME_V_MARGIN + 1, fFrame.getVisibleAreaY(), Metrics.swimmingLaneWidth() - 2 * Metrics.LIFELINE_NAME_V_MARGIN - 2, height, true);
- }
- }
- }
-
- /**
- * Force the lifeline to be drawn at the given coordinate
- *
- * @param context - the context to draw into
- * @param x - the x coordinate
- * @param y - the y coordinate
- */
- public void draw(IGC context, int x, int y) {
-
- ISDPreferences pref = SDViewPref.getInstance();
-
- // Set the draw color depending if the lifeline must be selected or not
- context.setLineWidth(Metrics.NORMAL_LINE_WIDTH);
- if (isSelected()) {
- if (pref.useGradienColor()) {
- context.setGradientColor(pref.getBackGroundColor(ISDPreferences.PREF_LIFELINE));
- }
- context.setBackground(pref.getBackGroundColorSelection());
- context.setForeground(pref.getForeGroundColorSelection());
- } else {
- if (pref.useGradienColor()) {
- context.setGradientColor(pref.getBackGroundColor(ISDPreferences.PREF_LIFELINE));
- context.setBackground(pref.getBackGroundColor(ISDPreferences.PREF_FRAME));
- } else {
- context.setBackground(pref.getBackGroundColor(ISDPreferences.PREF_LIFELINE));
- }
- context.setForeground(pref.getForeGroundColor(ISDPreferences.PREF_LIFELINE));
- }
- // Store the lifeline coordinates to save some calls
- int width = getWidth();
- int height = getHeight();
-
- // Draw the rectangle which contain the lifeline name
- if (pref.useGradienColor()) {
- context.fillGradientRectangle(x, y, width, height / 2 - 7, true);
- context.fillRectangle(x, y + height / 2 - 8, width, +height / 2 - 5);
- context.fillGradientRectangle(x, y + height, width, -height / 2 + 6, true);
- } else {
- context.fillRectangle(x, y, width, height);
- }
- context.drawRectangle(x, y, width, height);
-
- if (fCategory >= 0) {
- LifelineCategories[] categories = fFrame.getLifelineCategories();
- if (fCategory < categories.length) {
- IImage image = categories[fCategory].getImage();
- if (image != null) {
- context.drawImage(image, x, y, width, height);
- }
- }
- }
-
- // Draw the lifeline label into the rectangle
- // The label is truncated if it cannot fit
- IColor temp = context.getForeground();
- context.setFont(pref.getFont(ISDPreferences.PREF_LIFELINE));
- context.setForeground(pref.getFontColor(ISDPreferences.PREF_LIFELINE));
- context.drawTextTruncatedCentred(getName(), x + Metrics.LIFELINE_NAME_V_MARGIN, y, Metrics.getLifelineWidth() - 2 * Metrics.LIFELINE_NAME_V_MARGIN, height, true);
-
- context.setLineStyle(context.getLineDashStyle());
- context.setForeground(temp);
- int oldStyle = context.getLineStyle();
-
- // Now draw the lifeline vertical line
- // this line height depends on a stop assignment
- // if there is no stop the line is drawn to the bottom of the frame
-
- // by default set the height to reach the frame bottom
- int dashedLineEnd = y + height + (Metrics.getMessageFontHeigth() + Metrics.getMessagesSpacing()) * fFrame.getMaxEventOccurrence() + Metrics.LIFELINE_VB_MAGIN;
- /*
- * if (stop != null) { dashedLineEnd = stop.getY(); }
- */
-
- if (isSelected()) {
- context.setForeground(pref.getBackGroundColorSelection());
- context.setLineWidth(5);
- context.drawLine(x + Metrics.getLifelineWidth() / 2, y + height, x + Metrics.getLifelineWidth() / 2, dashedLineEnd - 4);
- context.setForeground(pref.getForeGroundColorSelection());
- }
-
- context.setLineWidth(Metrics.NORMAL_LINE_WIDTH);
- context.drawLine(x + Metrics.getLifelineWidth() / 2, y + height, x + Metrics.getLifelineWidth() / 2, dashedLineEnd - 4);
- context.drawLine(x + Metrics.getLifelineWidth() / 2, y + height, x + Metrics.getLifelineWidth() / 2, dashedLineEnd - 4);
- context.setLineStyle(oldStyle);
-
- context.setLineStyle(context.getLineSolidStyle());
-
- if (hasFocus()) {
- drawFocus(context);
- }
-
- super.drawChildenNodes(context);
- }
-
- /**
- * Draws the select execution occurrence region using the given color
- *
- * @param context the graphical context
- * @param startEvent the region start
- * @param nbEvent the region height
- * @param color the color to use
- */
- public void highlightExecOccurrenceRegion(IGC context, int startEvent, int nbEvent, IColor color) {
- IColor backupColor = context.getBackground();
- context.setBackground(color);
- int x = getX() + Metrics.getLifelineWidth() / 2 - Metrics.EXECUTION_OCCURRENCE_WIDTH / 2;
- int y = getY() + getHeight() + (Metrics.getMessageFontHeigth() + Metrics.getMessagesSpacing()) * startEvent;
- int width = Metrics.EXECUTION_OCCURRENCE_WIDTH;
- int height = ((Metrics.getMessageFontHeigth() + Metrics.getMessagesSpacing())) * nbEvent;
- context.fillRectangle(x, y, width, height);
- context.setBackground(backupColor);
- }
-
- @Override
- public void draw(IGC context) {
- draw(context, getX(), getY());
- }
-
- @Override
- public String getArrayId() {
- return LIFELINE_TAG;
- }
-
- @Override
- public boolean positiveDistanceToPoint(int x, int y) {
- if (getX() > x - Metrics.swimmingLaneWidth()) {
- return true;
- }
- return false;
- }
-
- @Override
- public GraphNode getNodeAt(int x, int y) {
- int vy = 0;
- int vh = 0;
- if (getFrame() != null) {
- vy = getFrame().getVisibleAreaY();
- vh = getFrame().getVisibleAreaHeight();
- } else {
- return null;
- }
- if (getExecutions() == null) {
- return null;
- }
- for (int i = getExecOccurrenceDrawIndex(); i < getExecutions().size(); i++) {
- GraphNode node = getExecutions().get(i);
- if (node.getHeight() < 0) {
- if (node.getY() + node.getHeight() > vy + vh) {
- break;
- }
- } else {
- if (node.getY() > vy + vh) {
- break;
- }
- }
- if (node.contains(x, y)) {
- GraphNode internal = node.getNodeAt(x, y);
- if (internal != null) {
- return internal;
- }
- return node;
- }
- }
- return null;
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/core/LifelineCategories.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/core/LifelineCategories.java
deleted file mode 100755
index 7fd02a0625..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/core/LifelineCategories.java
+++ /dev/null
@@ -1,81 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2005, 2013 IBM Corporation, 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:
- * IBM - Initial API and implementation
- * Bernd Hufmann - Updated for TMF
- **********************************************************************/
-package org.eclipse.linuxtools.tmf.ui.views.uml2sd.core;
-
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.drawings.IImage;
-
-/**
- * <p>
- * LifelineCategories is used to assign additional description for
- * lifelines of the same type. This consists in providing a type name and an icon.
- * The icon will be displayed in the rectangle which contains the lifeline name.
- * The category name is only display in the lifeline tooltip.
- * </p>
- *
- * @version 1.0
- * @author sveyrier
- */
-public class LifelineCategories {
-
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
-
- /**
- * The category name
- */
- private String fName = null;
- /**
- * The category image
- */
- private IImage fCategoryImage = null;
-
- // ------------------------------------------------------------------------
- // Methods
- // ------------------------------------------------------------------------
-
- /**
- * Returns the category name.
- *
- * @return the category name
- */
- public String getName() {
- return fName;
- }
-
- /**
- * Sets the category name.
- *
- * @param string the name
- */
- public void setName(String string) {
- fName = string;
- }
-
- /**
- * Returns the category icon.
- *
- * @return the category icon
- */
- public IImage getImage() {
- return fCategoryImage;
- }
-
- /**
- * Sets the category icon.
- *
- * @param image the icon
- */
- public void setImage(IImage image) {
- fCategoryImage = image;
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/core/Metrics.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/core/Metrics.java
deleted file mode 100755
index a4d3d4d833..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/core/Metrics.java
+++ /dev/null
@@ -1,332 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2005, 2012 IBM Corporation, 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:
- * IBM - Initial API and implementation
- * Bernd Hufmann - Updated for TMF
- **********************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.views.uml2sd.core;
-
-/**
- * This class contains the metrics used to layout a sequence diagram on a view The class method are mostly used in
- * combination with the preferences
- *
- * @version 1.0
- * @author sveyrier
- *
- */
-public class Metrics {
- // ------------------------------------------------------------------------
- // Constants
- // ------------------------------------------------------------------------
-
- /**
- * Space between the Frame and the top of the View This also represent the space between the frame and the bottom of
- * the View
- */
- public static final int FRAME_H_MARGIN = 10;
- /**
- * Space between the Frame and the left of the View This also represent the space between the Frame and the right of
- * the View
- */
- public static final int FRAME_V_MARGIN = 10;
- /**
- * Space between the Lifelines and the right of the Frame
- */
- public static final int LIFELINE_H_MAGIN = 23;
- /**
- * Space between the Lifelines and the bottom of the Frame
- */
- public static final int LIFELINE_VB_MAGIN = 20;
- /**
- * Space between the Lifelines and the top of the Frame
- */
- public static final int LIFELINE_VT_MAGIN = 30;// 18
- /**
- * Vertical space between the lifeline name and the rectangle which contains that name This is only for the
- * "always visible" lifeline name rectangle
- */
- public static final int LIFELINE_HEARDER_TEXT_V_MARGIN = 4;
- /**
- * Vertical spacing between messages
- */
- public static final int MESSAGES_SPACING = 30;
- /**
- * Vertical spacing between the message and its name
- */
- public static final int MESSAGES_NAME_SPACING = 10;
- /**
- * Horizontal spacing between the Frame name and its containing rectangle
- */
- public static final int FRAME_NAME_H_MARGIN = 4;
- /**
- * Vertical spacing between the Frame name and its containing rectangle
- */
- public static final int FRAME_NAME_V_MARGIN = 8;
- /**
- * Horizontal spacing between the lifeline name and its containing rectangle
- */
- public static final int LIFELINE_NAME_H_MARGIN = 14;
- /**
- * Vertical spacing between the lifeline name and its containing rectangle
- */
- public static final int LIFELINE_NAME_V_MARGIN = 20;
- /**
- * Space between the rectangles which contain the Lifelines name
- */
- public static final int LIFELINE_SPACING = 45;
- /**
- * The circle ray used to draw the circle which compose Found and Lost messages
- */
- public static final int MESSAGE_CIRCLE_RAY = 5;
- /**
- * Execution occurrence vertical width
- */
- public static final int EXECUTION_OCCURRENCE_WIDTH = 8;
- /**
- * The square width which contains the Stop representation (a cross)
- */
- public static final int STOP_WIDTH = 20;
- /**
- * The internal message width.
- */
- public static final int INTERNAL_MESSAGE_WIDTH = 20;
- /**
- * The internal sychrounous message height.
- */
- public static final int SYNC_INTERNAL_MESSAGE_HEIGHT = 10;
- /**
- * Line width used when drawing selected GraphNode
- */
- public static final int SELECTION_LINE_WIDTH = 5;
- /**
- * Line width used when drawing non selected GraphNode
- */
- public static final int NORMAL_LINE_WIDTH = 1;
- /**
- * The internal vertical message margin
- */
- public static final int INTERNAL_MESSAGE_V_MARGIN = 10;
-
- /**
- * Used to sample the diagram. When the lifeline spacing is smaller than this constant when zooming out then less
- * lifelines are displayed to avoid lifelines overlapping and mainly saving some execution time
- */
- public static final int LIFELINE_SIGNIFICANT_HSPACING = 10;
- /**
- * Used to sample the diagram. When the message spacing is smaller than this constant when zooming out then less
- * message are displayed to avoid message overlapping and mainly saving some execution time
- */
- public static final int MESSAGE_SIGNIFICANT_VSPACING = 1;
- /**
- * Message selection tolerance. Used for internal syncMessages only
- */
- public static final int MESSAGE_SELECTION_TOLERANCE = 30;
- /**
- * The focus drawing margin.
- */
- public static final int FOCUS_DRAWING_MARGIN = 10;
-
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
- /**
- * The lifeline font height
- */
- private static int fLifelineFontHeight = 0;
- /**
- * The message font height
- */
- private static int fMessageFontHeight = 0;
- /**
- * The frame font height
- */
- private static int fFrameFontHeight = 0;
- /**
- * The lifeline header font height
- */
- private static int fLifelineHeaderFontHeight = 0;
- /**
- * The lifeline font widht
- */
- private static int fLifelineFontWidth = 0;
- /**
- * The lifeline width
- */
- private static int fLifeLineWidth = 119;
- /**
- * The (forced) event spacing
- */
- private static int fForcedEventSpacing = -1;
-
- // ------------------------------------------------------------------------
- // Constructor
- // ------------------------------------------------------------------------
- /**
- * Constructor
- *
- * Hide private constructor
- */
- private Metrics() {
- }
-
- // ------------------------------------------------------------------------
- // Methods
- // ------------------------------------------------------------------------
-
- /**
- * Set the character height used to draw the lifeline name
- *
- * @param height the character height
- */
- static public void setLifelineFontHeight(int height) {
- fLifelineFontHeight = height;
- }
-
- /**
- * Set the character width used to draw the lifeline name
- *
- * @param width the character width
- */
- static public void setLifelineFontWidth(int width) {
- fLifelineFontWidth = width;
- }
-
- /**
- * Set the character height used to draw the message name
- *
- * @param fontHeight the character height
- */
- static public void setMessageFontHeight(int fontHeight) {
- fMessageFontHeight = fontHeight;
- }
-
- /**
- * Returns the character height used to draw the lifeline name
- *
- * @return the character height
- */
- static public int getFrameFontHeigth() {
- return fFrameFontHeight;
- }
-
- /**
- * Set the character height used to draw the message name
- *
- * @param fontHeight the character height
- */
- static public void setFrameFontHeight(int fontHeight) {
- fFrameFontHeight = fontHeight;
- }
-
- /**
- * Returns the character height used to draw the lifeline name
- *
- * @return the character height
- */
- static public int getLifelineHeaderFontHeigth() {
- return fLifelineHeaderFontHeight;
- }
-
- /**
- * Set the character height used to draw the message name
- *
- * @param fontHeight the character height
- */
- static public void setLifelineHeaderFontHeight(int fontHeight) {
- fLifelineHeaderFontHeight = fontHeight;
- }
-
- /**
- * Returns the character height used to draw the lifeline name
- *
- * @return the character height
- */
- static public int getLifelineFontHeigth() {
- return fLifelineFontHeight;
- }
-
- /**
- * Returns the character height used to draw the message name
- *
- * @return the character height
- */
- static public int getMessageFontHeigth() {
- if (fForcedEventSpacing >= 0) {
- return 0;
- }
- return fMessageFontHeight;
- }
-
- /**
- * This is the vertical space used by a Lifeline (mostly the rectangle which contain its name)
- *
- * @return the vertical space used by a Lifeline
- */
- static public int getLifelineWidth() {
- return fLifeLineWidth;
- }
-
- /**
- * Set the vertical space used by a Lifeline (mostly the rectangle which contain its name)
- *
- * @param value the vertical space
- */
- static public void setLifelineWidth(int value) {
- fLifeLineWidth = value;
- }
-
- /**
- * Returns the swimming lane width
- *
- * @return the swimming lane width
- */
- static public int swimmingLaneWidth() {
- return getLifelineWidth() + LIFELINE_SPACING;
- }
-
- /**
- * Returns the character width used to draw the Lifelines name
- *
- * @return the average character width
- */
- static public int getAverageCharWidth() {
- return fLifelineFontWidth;
- }
-
- /**
- * Returns the message spacing.
- *
- * @return the message spacing
- */
- static public int getMessagesSpacing() {
- if (fForcedEventSpacing >= 0) {
- return fForcedEventSpacing;
- }
- return MESSAGES_SPACING;
- }
-
- /**
- * Sets the forced event spacing value .
- *
- * @param eventSpacing
- * The spacing value
- */
- static public void setForcedEventSpacing(int eventSpacing) {
- fForcedEventSpacing = eventSpacing;
- }
-
- /**
- * Gets the forced event spacing value.
- *
- * @return forcedEventSpacing
- */
- static public int getForcedEventSpacing() {
- return fForcedEventSpacing;
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/core/SDTimeEvent.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/core/SDTimeEvent.java
deleted file mode 100755
index 54e6f4de11..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/core/SDTimeEvent.java
+++ /dev/null
@@ -1,91 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2005, 2013 IBM Corporation, 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:
- * IBM - Initial API and implementation
- * Bernd Hufmann - Updated for TMF
- **********************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.views.uml2sd.core;
-
-import org.eclipse.linuxtools.tmf.core.timestamp.ITmfTimestamp;
-
-/**
- * Class implementation of a sequence diagram time event.
- *
- * @version 1.0
- * @author sveyrier
- *
- */
-public class SDTimeEvent {
-
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
-
- /**
- * The time stamp of the event
- */
- private final ITmfTimestamp fTimestamp;
- /**
- * The event index.
- */
- private final int fEvent;
- /**
- * The time range implementing node.
- */
- private final ITimeRange fNode;
-
- // ------------------------------------------------------------------------
- // Constructors
- // ------------------------------------------------------------------------
- /**
- * The default constructor.
- *
- * @param time The time stamp of the event.
- * @param event The event index.
- * @param node The time range implementing node.
- * @since 2.0
- */
- public SDTimeEvent(ITmfTimestamp time, int event, ITimeRange node) {
- fTimestamp = time;
- fEvent = event;
- fNode = node;
- }
-
- // ------------------------------------------------------------------------
- // Operations
- // ------------------------------------------------------------------------
- /**
- * Returns the timestamp of the event.
- *
- * @return the timestamp of the event.
- * @since 2.0
- */
- public ITmfTimestamp getTime() {
- return fTimestamp;
- }
-
- /**
- * Returns the event index.
- *
- * @return the event index.
- */
- public int getEvent() {
- return fEvent;
- }
-
- /**
- * Returns the time range implementing node.
- *
- * @return the time range implementing node.
- */
- public ITimeRange getGraphNode() {
- return fNode;
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/core/Stop.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/core/Stop.java
deleted file mode 100755
index 0c7858beb2..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/core/Stop.java
+++ /dev/null
@@ -1,167 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2005, 2013 IBM Corporation, 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:
- * IBM - Initial API and implementation
- * Bernd Hufmann - Updated for TMF
- **********************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.views.uml2sd.core;
-
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.drawings.IGC;
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.preferences.ISDPreferences;
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.preferences.SDViewPref;
-
-/**
- * <p>
- * It is the UML2 stop graphical representation in the sequence diagram viewer.
- * This draw a cross on the lifeline. The stop y coordinate depend on the event occurrence when it appears.
- * A stop is never drawn it is assigned to a lifeline.
- * </p>
- *
- * @version 1.0
- * @author sveyrier
- */
-public class Stop extends GraphNode {
-
- // ------------------------------------------------------------------------
- // Constants
- // ------------------------------------------------------------------------
- /**
- * The graphNode ID
- */
- public static final String STOP = "STOP"; //$NON-NLS-1$
-
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
- /**
- * The owning lifeline on which the stop appears
- */
- private Lifeline fLifeline = null;
- /**
- * This basically represents the time when the stop occurs on the owning Lifeline
- *
- * @see Lifeline Lifeline for more event occurence details
- */
- private int fEventOccurrence = 0;
-
- // ------------------------------------------------------------------------
- // Methods
- // ------------------------------------------------------------------------
-
- @Override
- public int getX() {
- if (fLifeline == null) {
- return 0;
- }
- return fLifeline.getX() + Metrics.getLifelineWidth() / 2 - Metrics.STOP_WIDTH / 2;
- }
-
- @Override
- public int getY() {
- if (fLifeline == null) {
- return 0;
- }
- return fLifeline.getY() + fLifeline.getHeight() + (Metrics.getMessageFontHeigth() + Metrics.getMessagesSpacing()) * fEventOccurrence - Metrics.STOP_WIDTH / 2;
- }
-
- @Override
- public int getWidth() {
- if (fLifeline == null) {
- return 0;
- }
- return Metrics.STOP_WIDTH;
- }
-
- @Override
- public int getHeight() {
- if (fLifeline == null) {
- return 0;
- }
- return Metrics.STOP_WIDTH;
- }
-
- /**
- * Set the lifeline on which the stop must be draw
- *
- * @param theLifeline The the stop owing lifeline
- */
- public void setLifeline(Lifeline theLifeline) {
- fLifeline = theLifeline;
- }
-
- /**
- * Get the lifeline on which the stop must be draw
- *
- * @return the the stop owing lifeline
- * @since 2.0
- */
- public Lifeline getLifeline() {
- return fLifeline;
- }
-
- /**
- * Get the event occurrence when this stop appears
- *
- * @return the eventOccurence to assign to the stop
- * @since 2.0
- */
- public int getEventOccurrence() {
- return fEventOccurrence;
- }
-
- /**
- * Set the event occurrence when this stop appears
- *
- * @param occurrence the eventOccurence to assign to the stop
- */
- public void setEventOccurrence(int occurrence) {
- fEventOccurrence = occurrence;
- }
-
- @Override
- public void draw(IGC context) {
-
- ISDPreferences pref = SDViewPref.getInstance();
-
- // Set the appropriate color depending if the graph node if selected or not
- if (fLifeline.isSelected()) {
- context.setForeground(pref.getBackGroundColorSelection());
- context.setLineWidth(Metrics.SELECTION_LINE_WIDTH);
- int lastWidth = context.getLineWidth();
- context.setLineWidth(9);
- // Draw a cross on the lifeline
- context.drawLine(getX(), getY(), getX() + getWidth(), getY() + getHeight());
- context.drawLine(getX() + getWidth(), getY(), getX(), getY() + getHeight());
- // restore the context
- context.setLineWidth(lastWidth);
- context.setBackground(pref.getBackGroundColorSelection());
- context.setForeground(pref.getForeGroundColorSelection());
- } else {
- context.setBackground(pref.getBackGroundColor(ISDPreferences.PREF_LIFELINE));
- context.setForeground(pref.getForeGroundColor(ISDPreferences.PREF_LIFELINE));
- }
- int lastWidth = context.getLineWidth();
- context.setLineWidth(3);
- // Draw a cross on the lifeline
- context.drawLine(getX(), getY(), getX() + getWidth(), getY() + getHeight());
- context.drawLine(getX() + getWidth(), getY(), getX(), getY() + getHeight());
- // restore the context
- context.setLineWidth(lastWidth);
- }
-
- @Override
- public String getArrayId() {
- return STOP;
- }
-
- @Override
- public boolean contains(int x, int y) {
- return false;
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/core/SyncMessage.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/core/SyncMessage.java
deleted file mode 100755
index aece1f32f7..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/core/SyncMessage.java
+++ /dev/null
@@ -1,296 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2005, 2013 IBM Corporation, 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:
- * IBM - Initial API and implementation
- * Bernd Hufmann - Updated for TMF
- **********************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.views.uml2sd.core;
-
-import java.util.Comparator;
-
-import org.eclipse.linuxtools.tmf.core.timestamp.ITmfTimestamp;
-import org.eclipse.linuxtools.tmf.core.timestamp.TmfTimestamp;
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.drawings.IGC;
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.preferences.ISDPreferences;
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.preferences.SDViewPref;
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.util.SortSyncMessageComparator;
-
-/**
- * A SyncMessage is a synchronous message which appear at the same event occurrence on both lifeline ends (sender and
- * receiver).<br>
- * A Sync message is usually drawn horizontally.<br>
- * <br>
- * <br>
- * Usage example:
- *
- * <pre>
- * Frame frame;
- * Lifeline lifeLine1;
- * Lifeline lifeLine2;
- *
- * SyncMessage message = new SyncMessage();
- * // Create a new event occurrence on each lifeline
- * lifeline1.getNewOccurrenceIndex();
- * lifeline2.getNewOccurrenceIndex();
- * // Set the message sender and receiver
- * message.setStartLifeline(lifeLine1);
- * message.setEndLifline(lifeline2);
- * message.setName(&quot;Message label&quot;);
- * // add the message to the frame
- * frame.addMessage(message);
- * </pre>
- *
- * @see org.eclipse.linuxtools.tmf.ui.views.uml2sd.core.Lifeline Lifeline for more event occurence details
- * @version 1.0
- * @author sveyrier
- *
- */
-public class SyncMessage extends BaseMessage implements ITimeRange {
-
- // ------------------------------------------------------------------------
- // Constants
- // ------------------------------------------------------------------------
- /**
- * The graphNode ID
- */
- public static final String SYNC_MESS_TAG = "SyncMessage"; //$NON-NLS-1$
-
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
-
- /**
- * The associated message return
- */
- private SyncMessageReturn fMessageReturn;
- /**
- * The time when the message occurs
- */
- private ITmfTimestamp fEventTime = new TmfTimestamp();
- /**
- * Flag whether the message has time information available or not
- */
- private boolean fHasTimeInfo = false;
-
- // ------------------------------------------------------------------------
- // Constructors
- // ------------------------------------------------------------------------
-
- /**
- * Default constructor
- */
- public SyncMessage() {
- setColorPrefId(ISDPreferences.PREF_SYNC_MESS);
- }
-
- // ------------------------------------------------------------------------
- // Methods
- // ------------------------------------------------------------------------
-
- /**
- * Ensure both lifelines have the same event occurrence (the greater found on each lifeline)
- */
- protected void syncLifelinesEventOccurrence() {
- if ((getStartLifeline() != null) && (getEndLifeline() != null)) {
- int newIndex = 0;
- if (getStartLifeline().getEventOccurrence() > getEndLifeline().getEventOccurrence()) {
- newIndex = getStartLifeline().getEventOccurrence();
- } else {
- newIndex = getEndLifeline().getEventOccurrence();
- }
- getStartLifeline().setCurrentEventOccurrence(newIndex);
- getEndLifeline().setCurrentEventOccurrence(newIndex);
- setEventOccurrence(getStartLifeline().getEventOccurrence());
- }
- }
-
- /**
- * Set the lifeLine from which the message has been sent.<br>
- * A new event occurrence will be created on this lifeLine.<br>
- * SyncMessage must occur at the same event occurrence on both lifeline, this method is responsible to synchronize the
- * event occurrence on each lifeline (the greater value will be used).<br>
- * This synchronization is only done if the end lifeline has already been set.
- *
- * @param lifeline the message sender
- */
- public void autoSetStartLifeline(Lifeline lifeline) {
- lifeline.getNewEventOccurrence();
- setStartLifeline(lifeline);
- }
-
- /**
- * Set the lifeLine which has receiver the message.<br>
- * A new EventOccurence will be create on this lifeLine.<br>
- * SyncMessage must occur at the same event occurrence on both lifeline, this method is responsible to synchronize the
- * event occurrence on each lifeline (the greater value will be used).<br>
- * This synchronization is only done if the start lifeline has already been set.
- *
- * @param lifeline the message receiver
- */
- public void autoSetEndLifeline(Lifeline lifeline) {
- lifeline.getNewEventOccurrence();
- setEndLifeline(lifeline);
- }
-
- /**
- * Set the lifeLine which has receiver the message.<br>
- * SyncMessage must occur at the same event occurrence on both lifeline, this method is responsible to synchronize the
- * event occurrence on each lifeline (the greater value will be used).<br>
- * This synchronization is only done if the start lifeline has already been set.
- *
- * @param lifeline the message receiver
- */
- @Override
- public void setStartLifeline(Lifeline lifeline) {
- super.setStartLifeline(lifeline);
- if ((getEndLifeline() == null)) {
- setEventOccurrence(getStartLifeline().getEventOccurrence());
- } else {
- syncLifelinesEventOccurrence();
- }
- }
-
- /**
- * Set the lifeLine which has receiver the message.<br>
- * SyncMessage must occur at the same event occurrence on both lifelines, this method is responsible to synchronize the
- * event occurrence on each lifeline (the greater value will be used).<br>
- * This synchronization is only done if the start lifeline has already been set.
- *
- * @param lifeline the message receiver
- */
- @Override
- public void setEndLifeline(Lifeline lifeline) {
- super.setEndLifeline(lifeline);
- if ((getStartLifeline() == null)) {
- setEventOccurrence(getEndLifeline().getEventOccurrence());
- } else {
- syncLifelinesEventOccurrence();
- }
- }
-
- /**
- * Set the event occurrence when this message occurs.<br>
- *
- * @param occurrence the event occurrence to assign to this message.<br>
- * @see Lifeline Lifeline for more event occurence details
- */
- @Override
- protected void setEventOccurrence(int occurrence) {
- setStartOccurrence(occurrence);
- setEndOccurrence(occurrence);
- }
-
- /**
- * Set the message return associated with this message.
- *
- * @param message the message return to associate
- */
- protected void setMessageReturn(SyncMessageReturn message) {
- fMessageReturn = message;
- }
-
- /**
- * Returns the syncMessageReturn associated to this syncMessage
- *
- * @return the message return
- */
- public SyncMessageReturn getMessageReturn() {
- return fMessageReturn;
- }
-
- /**
- * Set the time when the message occurs
- *
- * @param time the time when the message occurs
- * @since 2.0
- */
- public void setTime(ITmfTimestamp time) {
- fEventTime = time;
- fHasTimeInfo = true;
- if (getStartLifeline() != null && getStartLifeline().getFrame() != null) {
- getStartLifeline().getFrame().setHasTimeInfo(true);
- } else if (getEndLifeline() != null && getEndLifeline().getFrame() != null) {
- getEndLifeline().getFrame().setHasTimeInfo(true);
- }
- }
-
- /**
- * @since 2.0
- */
- @Override
- public ITmfTimestamp getEndTime() {
- return fEventTime;
- }
-
- /**
- * @since 2.0
- */
- @Override
- public ITmfTimestamp getStartTime() {
- return fEventTime;
- }
-
- @Override
- public boolean hasTimeInfo() {
- return fHasTimeInfo;
- }
-
- @Override
- public void draw(IGC context) {
- if (!isVisible()) {
- return;
- }
-
- ISDPreferences pref = SDViewPref.getInstance();
-
- // Draw it selected?
- if (!isSelected()) {
- context.setBackground(pref.getBackGroundColor(getColorPrefId()));
- context.setForeground(pref.getForeGroundColor(getColorPrefId()));
- }
- super.draw(context);
- }
-
- @Override
- public boolean isVisible(int x, int y, int width, int height) {
- if (getY() > y + height +
- // take into account the message name drawn above the arrow
- Metrics.MESSAGES_NAME_SPACING + Metrics.getMessageFontHeigth()) {
- return false;
- }
-
- // UML2 lost/found message visibility special case
- // Others visibility cases are perform in the ***common*** case
- if ((getEndLifeline() == null && getStartLifeline() != null) || (getEndLifeline() != null && getStartLifeline() == null)) {
- if (x + width > getX() + getWidth() && x < getX() + getWidth()) {
- return true;
- }
- }
- // ***Common*** syncMessages visibility
- return super.isVisible(x, y, width, height);
- }
-
- @Override
- public Comparator<GraphNode> getComparator() {
- return new SortSyncMessageComparator();
- }
-
- @Override
- public String getArrayId() {
- return SYNC_MESS_TAG;
- }
-
- @Override
- public boolean positiveDistanceToPoint(int x, int y) {
- if (getY() > y) {
- return true;
- }
- return false;
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/core/SyncMessageReturn.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/core/SyncMessageReturn.java
deleted file mode 100755
index a0b665b9ad..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/core/SyncMessageReturn.java
+++ /dev/null
@@ -1,112 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2005, 2013 IBM Corporation, 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:
- * IBM - Initial API and implementation
- * Bernd Hufmann - Updated for TMF
- **********************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.views.uml2sd.core;
-
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.drawings.IGC;
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.preferences.ISDPreferences;
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.preferences.SDViewPref;
-
-/**
- * The message return graph node implementation.<br>
- * This class differs on the SynMessage class only on the drawing line style (dashed instead of plain line).<br>
- * Message return are generally associated to a message. This means, they are connected to the same lifelines than the
- * associated message but in the opposite direction and for a different event occurrence.<br>
- * <br>
- * WARNING: The association validity is not checked, it is not necessary to provide a valid association, not even needed
- * to set an association to drawn a message with a message return style.<br>
- *
- *
- * @see org.eclipse.linuxtools.tmf.ui.views.uml2sd.core.SyncMessage SyncMessage for usage example
- * @version 1.0
- * @author sveyrier
- *
- */
-public class SyncMessageReturn extends SyncMessage {
-
- // ------------------------------------------------------------------------
- // Constants
- // ------------------------------------------------------------------------
- /**
- * The graphNode ID
- */
- public static final String SYNC_MESS_RET_TAG = "SyncMessageRet"; //$NON-NLS-1$
-
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
- /**
- * The associated message(the message it is the return).
- */
- private SyncMessage fMessage = null;
-
- // ------------------------------------------------------------------------
- // Constractors
- // ------------------------------------------------------------------------
-
- /**
- * Default constructor
- */
- public SyncMessageReturn() {
- setColorPrefId(ISDPreferences.PREF_SYNC_MESS_RET);
- }
-
- // ------------------------------------------------------------------------
- // Methods
- // ------------------------------------------------------------------------
- /**
- * Set the associated message (the message it is the return).<br>
- * Setting the association will activate the navigation in the default sequence diagram implementation to the
- * message when the user right click on this message return.<br>
- *
- * @param parentMessage the message to associate
- */
- public void setMessage(SyncMessage parentMessage) {
- fMessage = parentMessage;
- fMessage.setMessageReturn(this);
- }
-
- /**
- * Returns the syncMessage associated to this SyncMessageReturn
- *
- * @return the associated message
- */
- public SyncMessage getMessage() {
- return fMessage;
- }
-
- @Override
- public void draw(IGC context) {
- if (!isVisible()) {
- return;
- }
-
- ISDPreferences pref = SDViewPref.getInstance();
-
- int oldStyle = context.getLineStyle();
- // Message return are dashed
- context.setLineStyle(context.getLineDotStyle());
- // Draw it selected?
- if (!isSelected()) {
- context.setBackground(pref.getBackGroundColor(getColorPrefId()));
- context.setForeground(pref.getForeGroundColor(getColorPrefId()));
- }
- super.draw(context);
- // restore the context
- context.setLineStyle(oldStyle);
- }
-
- @Override
- public String getArrayId() {
- return SYNC_MESS_RET_TAG;
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/dialogs/Criteria.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/dialogs/Criteria.java
deleted file mode 100755
index e3d30885d5..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/dialogs/Criteria.java
+++ /dev/null
@@ -1,415 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2005, 2013 IBM Corporation, 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:
- * IBM - Initial API and implementation
- * Bernd Hufmann - Updated for TMF
- **********************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.views.uml2sd.dialogs;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.regex.Pattern;
-import java.util.regex.PatternSyntaxException;
-
-import org.eclipse.jface.dialogs.DialogSettings;
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.handlers.provider.ISDFilterProvider;
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.handlers.provider.ISDGraphNodeSupporter;
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.util.Messages;
-
-/**
- * This class describes the find or filter criteria selected by the user in the find or filter dialog box
- *
- * @version 1.0
- * @author sveyrier
- * @author Bernd Hufmann
- */
-public class Criteria {
-
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
- /**
- * Flag whether lifeline is selected or not.
- */
- private boolean fLifeLineSelected = false;
- /**
- * Flag whether synchronous message is selected or not.
- */
- private boolean fSyncMessageSelected = false;
- /**
- * Flag whether synchronous message return is selected or not.
- */
- private boolean fSyncMessageReturnSelected = false;
- /**
- * Flag whether asynchronous message is selected or not.
- */
- private boolean fAsyncMessageSelected = false;
- /**
- * Flag whether asynchronous message return is selected or not.
- */
- private boolean fAsyncMessageReturnSelected = false;
- /**
- * Flag whether case sensitive find is required or not.
- */
- private boolean fCaseSenstiveSelected = false;
- /**
- * Flag whether stop graph node is selected or not.
- */
- private boolean fStopSelected = false;
- /**
- * The find expression.
- */
- private String fExpression = null;
- /**
- * The find pattern as regular expression.
- */
- private Pattern pattern = null;
-
- // ------------------------------------------------------------------------
- // Constructors
- // ------------------------------------------------------------------------
-
- /**
- * Default constructor
- */
- public Criteria () {
- }
-
- /**
- * Copy constructor
- *
- * @param other Criteria to create new criteria
- */
- public Criteria (Criteria other) {
- this.fLifeLineSelected = other.fLifeLineSelected;
- this.fSyncMessageSelected = other.fSyncMessageSelected;
- this.fSyncMessageReturnSelected = other.fSyncMessageReturnSelected;
- this.fAsyncMessageSelected = other.fAsyncMessageSelected;
- this.fAsyncMessageReturnSelected = other.fAsyncMessageReturnSelected;
- this.fCaseSenstiveSelected = other.fCaseSenstiveSelected;
- this.fStopSelected = other.fStopSelected;
- fExpression = other.fExpression;
- updatePattern();
- }
-
- // ------------------------------------------------------------------------
- // Methods
- // ------------------------------------------------------------------------
-
- /**
- * Returns true if the AsyncMessageReturn is selected, false otherwise.
- *
- * @return true if the AsyncMessageReturn is selected, false otherwise
- */
- public boolean isAsyncMessageReturnSelected() {
- return fAsyncMessageReturnSelected;
- }
-
- /**
- * Returns true if the AsyncMessage is selected, false otherwise.
- *
- * @return true if the AsyncMessage is selected, false otherwise
- */
- public boolean isAsyncMessageSelected() {
- return fAsyncMessageSelected;
- }
-
- /**
- * Returns the text enter by the user.
- *
- * @return the expression text
- */
- public String getExpression() {
- return fExpression;
- }
-
- /**
- * Returns the regular expression pattern.
- *
- * @return the regular expression pattern
- */
- public Pattern getPattern() {
- return pattern;
- }
-
- /**
- * Sets the regular expression pattern.
- *
- * @param pattern
- * The pattern to set
- */
- public void setPattern(Pattern pattern) {
- this.pattern = pattern;
- }
-
- /**
- * Returns true if the LifeLine is selected, false otherwise.
- *
- * @return true if the LifeLine is selected, false otherwise
- */
- public boolean isLifeLineSelected() {
- return fLifeLineSelected;
- }
-
- /**
- * Returns true if the Stop is selected, false otherwise.
- *
- * @return true if the Stop is selected, false otherwise
- */
- public boolean isStopSelected() {
- return fStopSelected;
- }
-
- /**
- * Returns true if the SyncMessageReturn is selected, false otherwise.
- *
- * @return true if the SyncMessageReturn is selected, false otherwise
- */
- public boolean isSyncMessageReturnSelected() {
- return fSyncMessageReturnSelected;
- }
-
- /**
- * Returns true if the SyncMessage is selected, false otherwise.
- *
- * @return true if the SyncMessage is selected, false otherwise
- */
- public boolean isSyncMessageSelected() {
- return fSyncMessageSelected;
- }
-
- /**
- * Sets the AsyncMessageReturn selection state.
- *
- * @param b true if selected, false otherwise
- */
- public void setAsyncMessageReturnSelected(boolean b) {
- fAsyncMessageReturnSelected = b;
- }
-
- /**
- * Sets the AsyncMessage selection state.
- *
- * @param b true if selected, false otherwise
- */
- public void setAsyncMessageSelected(boolean b) {
- fAsyncMessageSelected = b;
- }
-
- /**
- * Sets the text entered by the user and compiles the regular expression.
- *
- * @param string the text
- */
- public void setExpression(String string) {
- fExpression = string;
- updatePattern();
- }
-
- /**
- * Sets the Stop selection state.
- *
- * @param b true if selected, false otherwise
- */
- public void setLifeLineSelected(boolean b) {
- fLifeLineSelected = b;
- }
-
- /**
- * Set Stop selection state.
- *
- * @param b true if selected, false otherwise
- */
- public void setStopSelected(boolean b) {
- fStopSelected = b;
- }
-
- /**
- * Sets the SyncMessageReturn selection state.
- *
- * @param b true if selected, false otherwise
- */
- public void setSyncMessageReturnSelected(boolean b) {
- fSyncMessageReturnSelected = b;
- }
-
- /**
- * Sets the SyncMessage selection state.
- *
- * @param b true if selected, false otherwise
- */
- public void setSyncMessageSelected(boolean b) {
- fSyncMessageSelected = b;
- }
-
- /**
- * Returns true if the case sensitive is selected, false otherwise.
- *
- * @return true if the case sensitive is selected, false otherwise
- */
- public boolean isCaseSenstiveSelected() {
- return fCaseSenstiveSelected;
- }
-
- /**
- * Set case sensitive selection state.
- *
- * @param b true if selected, false otherwise
- */
- public void setCaseSenstiveSelected(boolean b) {
- fCaseSenstiveSelected = b;
- // Make sure that pattern is set
- setExpression(fExpression);
- }
-
- /**
- * Compares this criteria with a given criteria.
- *
- * @param to The criteria to compare
- * @return usual comparison result (< 0, 0, > 0)
- */
- public boolean compareTo(Criteria to) {
- boolean retVal = true;
- if (getExpression() != null) {
- retVal = getExpression().equals(to.getExpression());
- } else if (to.getExpression() != null) {
- retVal = to.getExpression().equals(getExpression());
- }
- return retVal && isCaseSenstiveSelected() == to.isCaseSenstiveSelected() && isAsyncMessageReturnSelected() == to.isAsyncMessageReturnSelected() && isAsyncMessageSelected() == to.isAsyncMessageSelected()
- && isLifeLineSelected() == to.isLifeLineSelected() && isStopSelected() == to.isStopSelected() && isSyncMessageReturnSelected() == to.isSyncMessageReturnSelected() && isSyncMessageSelected() == to.isSyncMessageSelected();
- }
-
- /**
- * Saves current criteria attributes in the dialog settings.
- *
- * @param settings The dialog settings
- */
- public void save(DialogSettings settings) {
- settings.put("expression", getExpression()); //$NON-NLS-1$
- settings.put("isCaseSenstiveSelected", isCaseSenstiveSelected()); //$NON-NLS-1$
- settings.put("isAsyncMessageReturnSelected", isAsyncMessageReturnSelected()); //$NON-NLS-1$
- settings.put("isAsyncMessageSelected", isAsyncMessageSelected()); //$NON-NLS-1$
- settings.put("isLifeLineSelected", isLifeLineSelected()); //$NON-NLS-1$
- settings.put("isStopSelected", isStopSelected()); //$NON-NLS-1$
- settings.put("isSyncMessageReturnSelected", isSyncMessageReturnSelected()); //$NON-NLS-1$
- settings.put("isSyncMessageSelected", isSyncMessageSelected()); //$NON-NLS-1$
- }
-
- /**
- * Loads the criteria with values of the dialog settings.
- *
- * @param settings The dialog settings
- */
- public void load(DialogSettings settings) {
- setExpression(settings.get("expression")); //$NON-NLS-1$
- setCaseSenstiveSelected(settings.getBoolean("isCaseSenstiveSelected")); //$NON-NLS-1$
- setAsyncMessageReturnSelected(settings.getBoolean("isAsyncMessageReturnSelected")); //$NON-NLS-1$
- setAsyncMessageSelected(settings.getBoolean("isAsyncMessageSelected")); //$NON-NLS-1$
- setLifeLineSelected(settings.getBoolean("isLifeLineSelected")); //$NON-NLS-1$
- setStopSelected(settings.getBoolean("isStopSelected")); //$NON-NLS-1$
- setSyncMessageReturnSelected(settings.getBoolean("isSyncMessageReturnSelected")); //$NON-NLS-1$
- setSyncMessageSelected(settings.getBoolean("isSyncMessageSelected")); //$NON-NLS-1$
- }
-
- /**
- * Gets the summary of supported graph nodes.
- *
- * @param provider A filter provider
- * @param loaderClassName A class loader
- * @return graph node summary
- */
- public String getGraphNodeSummary(ISDFilterProvider provider, String loaderClassName) {
- ArrayList<String> list = new ArrayList<>();
-
- if (provider != null) {
- if (isLifeLineSelected()) {
- list.add(provider.getNodeName(ISDGraphNodeSupporter.LIFELINE, loaderClassName));
- }
- if (isSyncMessageSelected()) {
- list.add(provider.getNodeName(ISDGraphNodeSupporter.SYNCMESSAGE, loaderClassName));
- }
- if (isSyncMessageReturnSelected()) {
- list.add(provider.getNodeName(ISDGraphNodeSupporter.SYNCMESSAGERETURN, loaderClassName));
- }
- if (isAsyncMessageSelected()) {
- list.add(provider.getNodeName(ISDGraphNodeSupporter.ASYNCMESSAGE, loaderClassName));
- }
- if (isAsyncMessageReturnSelected()) {
- list.add(provider.getNodeName(ISDGraphNodeSupporter.ASYNCMESSAGERETURN, loaderClassName));
- }
- if (isStopSelected()) {
- list.add(provider.getNodeName(ISDGraphNodeSupporter.STOP, loaderClassName));
- }
- } else {
- if (isLifeLineSelected()) {
- list.add(Messages.SequenceDiagram_Lifeline);
- }
- if (isSyncMessageSelected()) {
- list.add(Messages.SequenceDiagram_SynchronousMessage);
- }
- if (isSyncMessageReturnSelected()) {
- list.add(Messages.SequenceDiagram_SynchronousMessageReturn);
- }
- if (isAsyncMessageSelected()) {
- list.add(Messages.SequenceDiagram_AsynchronousMessage);
- }
- if (isAsyncMessageReturnSelected()) {
- list.add(Messages.SequenceDiagram_AsynchronousMessageReturn);
- }
- if (isStopSelected()) {
- list.add(Messages.SequenceDiagram_Stop);
- }
- }
- StringBuffer ret = new StringBuffer();
- String prefix = "["; //$NON-NLS-1$
- for (Iterator<String> i = list.iterator(); i.hasNext();) {
- String s = i.next();
- ret.append(prefix);
- ret.append(s);
- prefix = " " + Messages.SequenceDiagram_or + " "; //$NON-NLS-1$ //$NON-NLS-2$
- }
- ret.append("]"); //$NON-NLS-1$
- return ret.toString();
- }
-
- /**
- * Matches given string using compiled pattern based on user expression.
- *
- * @param stringToMatch A string to match
- * @return true if string matches expression
- */
- public boolean matches(String stringToMatch) {
- if (pattern == null) {
- return false;
- }
- return pattern.matcher(stringToMatch).matches();
- }
-
- /**
- * Updates the regular expression pattern based on the expression.
- */
- private void updatePattern() {
- if (fExpression != null) {
- try {
- if (fCaseSenstiveSelected) {
- pattern = Pattern.compile(fExpression);
- }
- else {
- pattern = Pattern.compile(fExpression, Pattern.CASE_INSENSITIVE);
- }
- } catch (PatternSyntaxException e) {
- pattern = null;
- }
- }
- else {
- pattern = null;
- }
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/dialogs/FilterCriteria.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/dialogs/FilterCriteria.java
deleted file mode 100755
index d67a88e4a9..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/dialogs/FilterCriteria.java
+++ /dev/null
@@ -1,273 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2005, 2013 IBM Corporation, 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:
- * IBM - Initial API and implementation
- * Bernd Hufmann - Updated for TMF
- **********************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.views.uml2sd.dialogs;
-
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.jface.dialogs.DialogSettings;
-
-/**
- * A filter criteria is a criteria that can be activated or not, positive or not.
- *
- * @version 1.0
- * @author sveyrier
- *
- */
-public class FilterCriteria {
-
- // ------------------------------------------------------------------------
- // Constants
- // ------------------------------------------------------------------------
- /**
- * The filter state value for 'active'.
- */
- protected static final String ACTIVE = "active"; //$NON-NLS-1$
- /**
- * The property value for positive filter.
- */
- protected static final String POSITIVE = "positive"; //$NON-NLS-1$
- /**
- * The filter loader class name property.
- */
- protected static final String LOADERCLASSNAME = "loaderClassName"; //$NON-NLS-1$
-
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
- /**
- * The criteria reference.
- */
- private Criteria fCriteria;
- /**
- * Flag whether this criteria is active or not
- */
- private boolean fIsActive;
- /**
- * Flag whether this criteria is for positive filter or not
- */
- private boolean fIsPositive;
- /**
- * The loader class name.
- */
- private String fLoaderClassName;
-
- // ------------------------------------------------------------------------
- // Constructor
- // ------------------------------------------------------------------------
- /**
- * Standard constructor
- *
- * @param criteria A criteria reference
- * @param isActive <code>true</code> if filter criteria is active else <code>false</code>
- * @param isPositive <code>true</code> for positive filter else <code>false</code>
- */
- public FilterCriteria(Criteria criteria, boolean isActive, boolean isPositive) {
- this(criteria, isActive, isPositive, null);
- }
-
- /**
- * Constructor
- *
- * @param criteria A criteria reference
- * @param isActive <code>true</code> if filter criteria is active else <code>false</code>
- * @param isPositive <code>true</code> for positive filter else <code>false</code>
- * @param loaderClassName A loader class name
- */
- public FilterCriteria(Criteria criteria, boolean isActive, boolean isPositive, String loaderClassName) {
- fCriteria = criteria;
- fIsActive = isActive;
- fIsPositive = isPositive;
- fLoaderClassName = loaderClassName;
- }
-
- /**
- * Copy Constructor
- * @param other FilterCriteria
- */
- public FilterCriteria (FilterCriteria other) {
- fCriteria = new Criteria(other.fCriteria);
- fIsActive = other.fIsActive;
- fIsPositive = other.fIsPositive;
- fLoaderClassName = other.fLoaderClassName;
- }
-
- /**
- * Default constructor
- */
- protected FilterCriteria() {
- }
-
- // ------------------------------------------------------------------------
- // Methods
- // ------------------------------------------------------------------------
-
- @Override
- public String toString() {
- StringBuffer sb = new StringBuffer(super.toString());
- sb.append(':');
- if (fCriteria != null) {
- sb.append(" expression=");sb.append(fCriteria.getExpression()); //$NON-NLS-1$
- sb.append(" active=");sb.append(fIsActive); //$NON-NLS-1$
- sb.append(" positive=");sb.append(fIsPositive); //$NON-NLS-1$
- } else {
- sb.append("empty criteria"); //$NON-NLS-1$
- }
- return sb.toString();
- }
-
- /**
- * Sets a criteria reference.
- * @param criteria A criteria reference
- */
- public void setCriteria(Criteria criteria) {
- fCriteria = criteria;
- }
-
- /**
- * Returns the criteria reference.
- *
- * @return the criteria reference
- */
- public Criteria getCriteria() {
- return fCriteria;
- }
-
- /**
- * Sets the active flag.
- *
- * @param isActive A active value.
- */
- public void setActive(boolean isActive) {
- fIsActive = isActive;
- }
-
- /**
- * Returns whether filter criteria is active or not.
- *
- * @return whether filter criteria is active or not.
- */
- public boolean isActive() {
- return fIsActive;
- }
-
- /**
- * Sets filter is for positive filtering or not.
- *
- * @param isPositive The value to set.
- */
- public void setPositive(boolean isPositive) {
- fIsPositive = isPositive;
- }
-
- /**
- * Returns whether the filter si for positive filtering or not.
- *
- * @return Returns the positive.
- */
- public boolean isPositive() {
- return fIsPositive;
- }
-
- /**
- * Sets the loader class name for this filter.
- *
- * @param loaderClassName The loader class name to set
- */
- public void setLoaderClassName(String loaderClassName) {
- fLoaderClassName = loaderClassName;
- }
-
- /**
- * Returns the class loader name.
- *
- * @return the class loader name.
- */
- public String getLoaderClassName() {
- return fLoaderClassName;
- }
-
- /**
- * Finds a filter criteria within a list of criteria.
- *
- * @param what The filter to find
- * @param list A list of filter criteria
- * @return The found filter criteria or null
- */
- public static FilterCriteria find(FilterCriteria what, List<FilterCriteria> list) {
- if (what != null && list != null) {
- try {
- for (Iterator<FilterCriteria> i = list.iterator(); i.hasNext();) {
- FilterCriteria fc = i.next();
- if (what.compareTo(fc)) {
- return fc;
- }
- }
- } catch (Exception e) {
- // Silence
- }
- }
- return null;
- }
-
- /**
- * Compares this filter criteria with a given criteria.
- *
- * @param to The filter criteria to compare.
- * @return usual comparison result (< 0, 0, > 0)
- */
- public boolean compareTo(FilterCriteria to) {
- if (isPositive() == to.isPositive() && getCriteria().compareTo(to.getCriteria())) {
- if (getLoaderClassName() == null && to.getLoaderClassName() == null) {
- return true;
- }
- if ((getLoaderClassName() != null && to.getLoaderClassName() != null) && getLoaderClassName().equals(to.getLoaderClassName())) {
- return true;
- }
- }
- return false;
- }
-
- /**
- * Saves current criteria attributes in the dialog settings.
- *
- * @param settings The dialog settings
- */
- public void save(DialogSettings settings) {
- settings.put(ACTIVE, isActive());
- settings.put(POSITIVE, isPositive());
- if (getLoaderClassName() != null) {
- settings.put(LOADERCLASSNAME, getLoaderClassName());
- } else {
- settings.put(LOADERCLASSNAME, ""); //$NON-NLS-1$
- }
- if (fCriteria != null) {
- fCriteria.save(settings);
- }
- }
-
- /**
- * Loads the criteria with values of the dialog settings.
- *
- * @param settings The dialog settings
- */
- public void load(DialogSettings settings) {
- setActive(settings.getBoolean(ACTIVE));
- setPositive(settings.getBoolean(POSITIVE));
- String loaderClassName = settings.get(LOADERCLASSNAME);
- setLoaderClassName(loaderClassName != null && loaderClassName.length() > 0 ? loaderClassName : null);
- if (fCriteria != null) {
- fCriteria.load(settings);
- }
- }
-} \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/dialogs/FilterListDialog.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/dialogs/FilterListDialog.java
deleted file mode 100755
index a5963e140b..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/dialogs/FilterListDialog.java
+++ /dev/null
@@ -1,518 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2005, 2013 IBM Corporation, 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:
- * IBM - Initial API and implementation
- * Bernd Hufmann - Updated for TMF
- **********************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.views.uml2sd.dialogs;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.dialogs.DialogSettings;
-import org.eclipse.linuxtools.internal.tmf.ui.Activator;
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.SDView;
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.handlers.provider.ISDFilterProvider;
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.util.Messages;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.events.SelectionListener;
-import org.eclipse.swt.layout.RowData;
-import org.eclipse.swt.layout.RowLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Group;
-import org.eclipse.swt.widgets.Table;
-import org.eclipse.swt.widgets.TableItem;
-import org.eclipse.ui.IViewPart;
-
-/**
- * This is the filters list dialog.<br>
- * It is associated to an SDView and to a ISDFilterProvider.<br>
- *
- * @version 1.0
- * @author sveyrier
- */
-public class FilterListDialog extends Dialog {
-
- // ------------------------------------------------------------------------
- // Constants
- // ------------------------------------------------------------------------
- /**
- * Filter list criteria property name
- */
- protected static final String FILTERS_LIST_CRITERIA = "filtersListsCriteria"; //$NON-NLS-1$
- /**
- * Filter list size property name
- */
- protected static final String FILTERS_LIST_SIZE = "filtersListSize"; //$NON-NLS-1$
-
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
-
- /**
- * The viewer and provided are kept here as attributes
- */
- private final IViewPart fViewer;
- /**
- * The filter provider implementation
- */
- private final ISDFilterProvider fProvider;
- /**
- * The filters are the result of editing this list
- */
- private List<FilterCriteria> fFilters;
- /**
- * The add button.
- */
- private Button fAdd;
- /**
- * The remove button.
- */
- private Button fRemove;
- /**
- * The edit button.
- */
- private Button fEdit;
- /**
- * The table with list of filters.
- */
- private Table fTable;
-
- // ------------------------------------------------------------------------
- // Constructor
- // ------------------------------------------------------------------------
-
- /**
- * Standard constructor
- *
- * @param view The view reference
- * @param loader The filter provider implementation
- */
- public FilterListDialog(IViewPart view, ISDFilterProvider loader) {
- super(view.getSite().getShell());
- fViewer = view;
- fProvider = loader;
- fFilters = null;
- setShellStyle(SWT.DIALOG_TRIM | SWT.APPLICATION_MODAL);
- }
-
- // ------------------------------------------------------------------------
- // Methods
- // ------------------------------------------------------------------------
- /**
- * Adds a criteria to the table
- *
- * @param criteria A criteria to add
- * @param checked A flag whether criteria is checked (selected) or not
- * @param positive A flag whether criteria is for positive filter or not
- * @param loaderClassName A loader class name for the filters
- */
- protected void addCriteria(Criteria criteria, boolean checked, boolean positive, String loaderClassName) {
- CriteriaTableItem cti = new CriteriaTableItem(fTable, checked, positive, loaderClassName);
- cti.setCriteria(criteria);
- }
-
- /**
- * Replaces a selected criteria with a new criteria.
- *
- * @param newCriteria A new criteria.
- */
- protected void replaceSelectedCriteria(Criteria newCriteria) {
- CriteriaTableItem cti = (CriteriaTableItem) fTable.getSelection()[0].getData();
- cti.setCriteria(newCriteria);
- }
-
- /**
- * Handles table selection count.
- */
- protected void handleTableSelectionCount() {
- int count = fTable.getSelectionCount();
- fEdit.setEnabled(count == 1);
- fRemove.setEnabled(count > 0);
- }
-
- @Override
- public Control createDialogArea(Composite parent) {
-
- Group ret = new Group(parent, SWT.NONE);
- ret.setText(Messages.SequenceDiagram_ListOfHideDisplayPatterns);
- RowLayout rowLayout = new RowLayout();
- rowLayout.wrap = false;
- rowLayout.pack = true;
- rowLayout.justify = false;
- rowLayout.type = SWT.HORIZONTAL;
- rowLayout.marginLeft = 4;
- rowLayout.marginTop = 4;
- rowLayout.marginRight = 4;
- rowLayout.marginBottom = 4;
- rowLayout.spacing = 8;
- ret.setLayout(rowLayout);
-
- fTable = new Table(ret, SWT.MULTI | SWT.CHECK);
- fTable.setLayoutData(new RowData(220, 84));
- fTable.setHeaderVisible(false);
- fTable.addSelectionListener(new SelectionListener() {
-
- @Override
- public void widgetDefaultSelected(SelectionEvent e) {
- int count = fTable.getSelectionCount();
- if (count == 1) {
- Criteria criteria = openFilterDialog(((CriteriaTableItem) fTable.getSelection()[0].getData()).getCriteria(), Messages.SequenceDiagram_Update);
- if (criteria != null) {
- replaceSelectedCriteria(criteria);
- }
- }
- }
-
- @Override
- public void widgetSelected(SelectionEvent e) {
- handleTableSelectionCount();
- }
- });
- if (fFilters != null) {
- for (Iterator<FilterCriteria> i = fFilters.iterator(); i.hasNext();) {
- FilterCriteria filterCriteria = i.next();
- addCriteria(filterCriteria.getCriteria(), filterCriteria.isActive(), filterCriteria.isPositive(), filterCriteria.getLoaderClassName());
- }
- }
-
- Composite commands = new Composite(ret, SWT.NONE);
- RowLayout rowLayoutCommands = new RowLayout();
- rowLayoutCommands.wrap = false;
- rowLayoutCommands.pack = false;
- rowLayoutCommands.justify = true;
- rowLayoutCommands.type = SWT.VERTICAL;
- rowLayoutCommands.marginLeft = 0;
- rowLayoutCommands.marginTop = 4;
- rowLayoutCommands.marginRight = 0;
- rowLayoutCommands.marginBottom = 4;
- rowLayoutCommands.spacing = 8;
- commands.setLayout(rowLayoutCommands);
- fAdd = new Button(commands, SWT.NONE);
- fAdd.setText(Messages.SequenceDiagram_Add);
- fAdd.addSelectionListener(new SelectionListener() {
-
- @Override
- public void widgetDefaultSelected(SelectionEvent e) {
- // Nothing to do
- }
-
- @Override
- public void widgetSelected(SelectionEvent e) {
- Criteria init = new Criteria();
- Criteria c = openFilterDialog(init, Messages.SequenceDiagram_Create);
- if (c != null) {
- addCriteria(c, true, false, null);
- }
- }
- });
-
- fEdit = new Button(commands, SWT.NONE);
- fEdit.setText(Messages.SequenceDiagram_EditIt);
- fEdit.addSelectionListener(new SelectionListener() {
-
- @Override
- public void widgetDefaultSelected(SelectionEvent e) {
- // Nothing to do
- }
-
- @Override
- public void widgetSelected(SelectionEvent e) {
- Criteria c = openFilterDialog(((CriteriaTableItem) fTable.getSelection()[0].getData()).getCriteria(), Messages.SequenceDiagram_Update);
- if (c != null) {
- replaceSelectedCriteria(c);
- }
- }
- });
- fEdit.setEnabled(false);
-
- fRemove = new Button(commands, SWT.NONE);
- fRemove.setText(Messages.SequenceDiagram_Remove);
- fRemove.addSelectionListener(new SelectionListener() {
-
- @Override
- public void widgetDefaultSelected(SelectionEvent e) {
- // Nothing to do
- }
-
- @Override
- public void widgetSelected(SelectionEvent e) {
- fTable.remove(fTable.getSelectionIndices());
- handleTableSelectionCount();
- }
- });
- fRemove.setEnabled(false);
-
- getShell().setText(Messages.SequenceDiagram_SequenceDiagramHidePatterns);
- /*
- * for (int i=0;i<filters.size();i++) { if (filters.get(i) instanceof FilterCriteria)
- * addCriteria(((FilterCriteria)filters.get(i)).getCriteria(),true); }
- */
- return ret;
- }
-
- /**
- * Opens the filter dialog box with given parameter.
- *
- * @param criteria The criteria reference to pass
- * @param action to distinguish between "Update" and "Create"
- * @return the criteria that has been updated or created
- */
- protected Criteria openFilterDialog(Criteria criteria, String action) {
- SearchFilterDialog filter = new SearchFilterDialog((SDView) fViewer, fProvider, true, SWT.APPLICATION_MODAL);
- filter.setCriteria(criteria);
- filter.setOkText(action);
- filter.setTitle(Messages.SequenceDiagram_DefinitionOfHidePattern);
- filter.open();
- return filter.getCriteria();
- }
-
- @Override
- public int open() {
- create();
- getShell().pack();
- getShell().setLocation(getShell().getDisplay().getCursorLocation());
- loadFiltersCriteria();
- return super.open();
- }
-
- @Override
- public void okPressed() {
- if (fTable.getItemCount() > 0) {
- fFilters = new ArrayList<>();
- } else {
- fFilters = null;
- }
- for (int i = 0; i < fTable.getItemCount(); i++) {
- TableItem item = fTable.getItem(i);
- CriteriaTableItem cti = (CriteriaTableItem) item.getData();
- FilterCriteria fc = new FilterCriteria(cti.getCriteria(), item.getChecked(), cti.isPositive(), cti.getLoaderClassName());
- FilterCriteria efc = FilterCriteria.find(fc, fFilters);
- if (efc == null) {
- fFilters.add(fc);
- } else {
- efc.setActive(efc.isActive() || fc.isActive());
- }
- }
- super.close();
- fProvider.filter(fFilters);
- saveFiltersCriteria(fFilters);
- }
-
- /**
- * Sets the list of filters.
- *
- * @param filters The list of filters to set.
- */
- public void setFilters(List<FilterCriteria> filters) {
- fFilters = filters;
- }
-
- /**
- * Returns the filters list after editing.
- *
- * @return the filters list after editing
- */
- public List<FilterCriteria> getFilters() {
- return fFilters;
- }
-
- /**
- * Loads the filter criteria from global filters which are saved in the dialog settings.
- */
- protected void loadFiltersCriteria() {
- List<FilterCriteria> globalFilters = getGlobalFilters();
- for (Iterator<FilterCriteria> i = globalFilters.iterator(); i.hasNext();) {
- FilterCriteria filterCriteria = i.next();
- addCriteria(filterCriteria.getCriteria(), filterCriteria.isActive(), filterCriteria.isPositive(), filterCriteria.getLoaderClassName());
- }
- }
-
- /**
- * Returns the global filters which are saved in the dialog settings..
- *
- * @return the saved global filters
- */
-
- public static List<FilterCriteria> getGlobalFilters() {
- DialogSettings settings = (DialogSettings) Activator.getDefault().getDialogSettings().getSection(FILTERS_LIST_CRITERIA);
- int i = 0;
- DialogSettings section = null;
- int size = 0;
- List<FilterCriteria> globalFilters = new ArrayList<>();
- if (settings != null) {
- try {
- size = settings.getInt(FILTERS_LIST_SIZE);
- } catch (NumberFormatException e) {
- // This is not a problem
- size = 0;
- }
- section = (DialogSettings) settings.getSection(FILTERS_LIST_CRITERIA + i);
-
- while ((section != null) && (i < size)) {
- FilterCriteria criteria = new FilterCriteria();
- criteria.setCriteria(new Criteria());
- criteria.load(section);
- globalFilters.add(criteria);
- section = (DialogSettings) settings.getSection(FILTERS_LIST_CRITERIA + (++i));
- }
- }
-
- return globalFilters;
- }
-
- /**
- * Saves the filter criteria in the dialog settings.
- *
- * @param globalFilters A list of filters to save.
- */
- public static void saveFiltersCriteria(List<FilterCriteria> globalFilters) {
- DialogSettings settings = (DialogSettings) Activator.getDefault().getDialogSettings();
- DialogSettings section = (DialogSettings) settings.getSection(FILTERS_LIST_CRITERIA);
- if (section == null) {
- section = (DialogSettings) settings.addNewSection(FILTERS_LIST_CRITERIA);
- }
-
- if (globalFilters == null) {
- section.put(FILTERS_LIST_SIZE, 0);
- return;
- }
-
- section.put(FILTERS_LIST_SIZE, globalFilters.size());
-
- FilterCriteria criteria;
-
- for (int j = 0; j < globalFilters.size(); j++) {
- if (globalFilters.get(j) == null) {
- return;
- }
-
- criteria = globalFilters.get(j);
- DialogSettings subSection = (DialogSettings) section.getSection(FILTERS_LIST_CRITERIA + j);
-
- if (subSection == null) {
- subSection = (DialogSettings) section.addNewSection(FILTERS_LIST_CRITERIA + j);
- }
- criteria.save(subSection);
- }
- }
-
- /**
- * Deactivates the saved global filters.
- */
- public static void deactivateSavedGlobalFilters() {
- // Deactivate all filters
- List<FilterCriteria> filters = getGlobalFilters();
- for(FilterCriteria criteria : filters) {
- criteria.setActive(false);
- }
- // Save settings
- FilterListDialog.saveFiltersCriteria(filters);
- }
-
- // ------------------------------------------------------------------------
- // Helper classes
- // ------------------------------------------------------------------------
- /**
- * A class to map TableItems that can be toggled active or inactive and Criteria
- */
- protected class CriteriaTableItem {
-
- /**
- * The criteria reference
- */
- protected Criteria fCriteria;
- /**
- * The "positive" value.
- */
- protected boolean fIsPositive;
- /**
- * The loader class name
- */
- protected String fLoaderClassName;
- /**
- * The actual table item.
- */
- protected TableItem fTableItem;
-
- /**
- * Constructor
- *
- * @param parent The parent table
- * @param isActive <code>true</code> if filter criteria is active else <code>false</code>
- * @param isPositive <code>true</code> for positive filter else <code>false</code>
- * @param loaderClassName The loader class name
- */
- public CriteriaTableItem(Table parent, boolean isActive, boolean isPositive, String loaderClassName) {
- fTableItem = new TableItem(parent, SWT.NONE);
- fTableItem.setData(this);
- fTableItem.setChecked(isActive);
- fIsPositive = isPositive;
- fLoaderClassName = loaderClassName;
- }
-
- /**
- * Constructor
- *
- * @param parent The parent table
- * @param isActive <code>true</code> if filter criteria is active else <code>false</code>
- * @param isPositive <code>true</code> for positive filter else <code>false</code>
- * @param loaderClassName The loader class name
- * @param index The table item index
- */
- public CriteriaTableItem(Table parent, boolean isActive, boolean isPositive, String loaderClassName, int index) {
- fTableItem = new TableItem(parent, SWT.NONE, index);
- fTableItem.setChecked(isActive);
- fIsPositive = isPositive;
- fLoaderClassName = loaderClassName;
- }
-
- /**
- * Sets the criteria.
- *
- * @param criteria The criteria to set
- */
- public void setCriteria(Criteria criteria) {
- fCriteria = criteria;
- fTableItem.setText((fIsPositive ? Messages.SequenceDiagram_display : Messages.SequenceDiagram_hide) + " " + fCriteria.getExpression() + " " + fCriteria.getGraphNodeSummary(fProvider, fLoaderClassName)); //$NON-NLS-1$ //$NON-NLS-2$
- }
-
- /**
- * Returns the criteria.
- * @return the criteria
- */
- public Criteria getCriteria() {
- return fCriteria;
- }
-
- /**
- * Returns whether positive filtering is active or not.
- *
- * @return <code>true</code> for positive filter else <code>false</code>
- */
- public boolean isPositive() {
- return fIsPositive;
- }
-
- /**
- * Returns the loader class name.
- *
- * @return the loader class name
- */
- public String getLoaderClassName() {
- return fLoaderClassName;
- }
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/dialogs/MinMaxDialog.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/dialogs/MinMaxDialog.java
deleted file mode 100755
index e7d0f12008..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/dialogs/MinMaxDialog.java
+++ /dev/null
@@ -1,190 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2005, 2013 IBM Corporation, 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:
- * IBM - Initial API and implementation
- * Bernd Hufmann - Updated for TMF
- **********************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.views.uml2sd.dialogs;
-
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.linuxtools.tmf.core.timestamp.TmfTimestamp;
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.SDWidget;
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.util.Messages;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.events.SelectionListener;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Group;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Text;
-
-/**
- * Dialog box for entering minimum and maximum time range for time compression bar.
- *
- * @version 1.0
- * @author sveyrier
- * @author Bernd Hufmann
- *
- */
-public class MinMaxDialog extends Dialog {
-
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
- /**
- * Text field for minimum.
- */
- private Text fMinText;
- /**
- * Text field for maximum.
- */
- private Text fMaxText;
- /**
- * Text field for scale.
- */
- private Text fScaleText;
- /**
- * Text field for precision.
- */
- private Text fPrecisionText;
- /**
- * The sequence diagram widget reference.
- */
- private SDWidget fSdWidget;
-
- // ------------------------------------------------------------------------
- // Constructor
- // ------------------------------------------------------------------------
- /**
- * Standard constructor.
- * @param shell The shell
- * @param viewer The sequence diagram widget reference.
- */
- public MinMaxDialog(Shell shell, SDWidget viewer) {
- super(shell);
- fSdWidget = viewer;
- }
-
- // ------------------------------------------------------------------------
- // Methods
- // ------------------------------------------------------------------------
- /**
- * Method to create a grid data base on horizontal span.
- * @param span The horizontal span
- * @return a grid data object
- */
- protected GridData newGridData(int span) {
- GridData data = new GridData(GridData.GRAB_VERTICAL | GridData.VERTICAL_ALIGN_FILL | GridData.GRAB_HORIZONTAL | GridData.HORIZONTAL_ALIGN_FILL);
- data.horizontalSpan = span;
- return data;
- }
-
- @Override
- protected Control createDialogArea(Composite p) {
- p.getShell().setText(Messages.SequenceDiagram_TimeCompressionBarConfig);
- Composite parent = (Composite) super.createDialogArea(p);
-
- GridLayout parentLayout = new GridLayout();
- parentLayout.numColumns = 6;
- parent.setLayout(parentLayout);
-
- Group g1 = new Group(parent, SWT.SHADOW_NONE);
- g1.setLayoutData(newGridData(3));
- GridLayout g1layout = new GridLayout();
- g1layout.numColumns = 3;
- g1.setLayout(g1layout);
-
- Label minLabel = new Label(g1, SWT.RADIO);
- minLabel.setText(Messages.SequenceDiagram_MinTime);
- minLabel.setLayoutData(newGridData(1));
-
- fMinText = new Text(g1, SWT.SINGLE | SWT.BORDER);
- fMinText.setLayoutData(newGridData(2));
- fMinText.setText(String.valueOf(fSdWidget.getFrame().getMinTime().getValue()));
-
- Label maxLabel = new Label(g1, SWT.RADIO);
- maxLabel.setText(Messages.SequenceDiagram_MaxTime);
- maxLabel.setLayoutData(newGridData(1));
-
- fMaxText = new Text(g1, SWT.SINGLE | SWT.BORDER);
- fMaxText.setLayoutData(newGridData(2));
- fMaxText.setText(String.valueOf(fSdWidget.getFrame().getMaxTime().getValue()));
-
- Label scaleLabel = new Label(g1, SWT.RADIO);
- scaleLabel.setText(Messages.SequenceDiagram_Scale);
- scaleLabel.setLayoutData(newGridData(1));
-
- fScaleText = new Text(g1, SWT.SINGLE | SWT.BORDER);
- fScaleText.setLayoutData(newGridData(2));
- fScaleText.setText(String.valueOf(fSdWidget.getFrame().getMinTime().getScale()));
-
-
- Label precisionLabel = new Label(g1, SWT.RADIO);
- precisionLabel.setText(Messages.SequenceDiagram_Precision);
- precisionLabel.setLayoutData(newGridData(1));
-
- fPrecisionText = new Text(g1, SWT.SINGLE | SWT.BORDER);
- fPrecisionText.setLayoutData(newGridData(2));
- fPrecisionText.setText(String.valueOf(fSdWidget.getFrame().getMinTime().getPrecision()));
-
- return parent;
- }
-
- @Override
- protected void okPressed() {
- long min = 0;
- long max = 0;
- int scale = 0;
- int precision = 0;
- try {
- min = Long.parseLong(fMinText.getText());
- max = Long.parseLong(fMaxText.getText());
- scale = Integer.parseInt(fScaleText.getText());
- precision = Integer.parseInt(fPrecisionText.getText());
-
- fSdWidget.getFrame().setMax(new TmfTimestamp(max, scale, precision));
- fSdWidget.getFrame().setMin(new TmfTimestamp(min, scale, precision));
-
- fSdWidget.redraw();
-
- super.okPressed();
- } catch (Exception e) {
- MessageDialog.openError(getShell(), Messages.SequenceDiagram_Error, Messages.SequenceDiagram_InvalidRange);
- }
- }
-
- @Override
- protected void createButtonsForButtonBar(Composite parent) {
- super.createButtonsForButtonBar(parent);
- createButton(parent, IDialogConstants.CLIENT_ID, Messages.SequenceDiagram_Default, false);
- getButton(IDialogConstants.CLIENT_ID).addSelectionListener(new SelectionListener() {
-
- @Override
- public void widgetSelected(SelectionEvent e) {
- fSdWidget.getFrame().resetCustomMinMax();
- fMinText.setText(String.valueOf(fSdWidget.getFrame().getMinTime().getValue()));
- fMaxText.setText(String.valueOf(fSdWidget.getFrame().getMaxTime().getValue()));
- fScaleText.setText(String.valueOf(fSdWidget.getFrame().getMinTime().getScale()));
- fPrecisionText.setText(String.valueOf(fSdWidget.getFrame().getMinTime().getPrecision()));
- fMaxText.getParent().layout(true);
- }
-
- @Override
- public void widgetDefaultSelected(SelectionEvent e) {
- // nothing to do
- }
- });
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/dialogs/PagesDialog.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/dialogs/PagesDialog.java
deleted file mode 100755
index 6243b7469d..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/dialogs/PagesDialog.java
+++ /dev/null
@@ -1,204 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2005, 2013 IBM Corporation, 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:
- * IBM - Initial API and implementation
- * Bernd Hufmann - Updated for TMF
- **********************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.views.uml2sd.dialogs;
-
-import java.text.MessageFormat;
-
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.handlers.provider.ISDAdvancedPagingProvider;
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.util.Messages;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.FillLayout;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Group;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.ui.IViewPart;
-
-/**
- * Class implementation of the pages dialog.<br>
- *
- * It is associated to an SDView and to a ISDAdvancedPagingProvider.<br>
- *
- * @version 1.0
- * @author sveyrier
- */
-public class PagesDialog extends Dialog {
-
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
-
- /**
- * viewer and provided are kept here as attributes
- */
- private ISDAdvancedPagingProvider fProvider = null;
-
- /** Current page */
- private TextArea fCurrentPage;
-
- /** Comment label */
- private Label fTotalPageComment;
-
- // ------------------------------------------------------------------------
- // Constructors
- // ------------------------------------------------------------------------
-
- /**
- * Standard constructor
- *
- * @param view The sequence diagram view reference
- * @param provider The paging provider reference
- */
- public PagesDialog(IViewPart view, ISDAdvancedPagingProvider provider) {
- super(view.getSite().getShell());
- fProvider = provider;
- setShellStyle(SWT.DIALOG_TRIM | SWT.APPLICATION_MODAL);
- }
-
- // ------------------------------------------------------------------------
- // Methods
- // ------------------------------------------------------------------------
-
- @Override
- public Control createDialogArea(Composite parent) {
-
- Group ret = new Group(parent, SWT.NONE);
- GridData data = new GridData();
- data.grabExcessHorizontalSpace = true;
- data.horizontalAlignment = GridData.FILL;
- ret.setLayoutData(data);
- ret.setText(Messages.SequenceDiagram_PageNavigation);
-
- FillLayout fillLayout = new FillLayout(SWT.VERTICAL);
- ret.setLayout(fillLayout);
-
- Label label = new Label(ret, SWT.NONE);
- label.setText(Messages.SequenceDiagram_CurrentPage);
-
- fCurrentPage = new TextArea(ret);
- fCurrentPage.setBounds(1, fProvider.pagesCount());
- fCurrentPage.setValue(fProvider.currentPage() + 1);
-
- fTotalPageComment = new Label(ret, SWT.NONE);
- fTotalPageComment.setAlignment(SWT.RIGHT);
-
- updateComments();
-
- getShell().setText(Messages.SequenceDiagram_SequenceDiagramPages);
- return ret;
- }
-
- @Override
- public void okPressed() {
- int currentPageValue = fCurrentPage.getValue() - 1;
- super.close();
- fProvider.pageNumberChanged(currentPageValue);
- }
-
- /**
- * Updates the comments texts.
- */
- private void updateComments() {
- int pages = Math.max(0, fProvider.pagesCount());
- StringBuffer totalPageCommentText = new StringBuffer();
- totalPageCommentText.append(Messages.SequenceDiagram_Total);
- totalPageCommentText.append(pages);
- totalPageCommentText.append(" "); //$NON-NLS-1$
- if (pages == 0) {
- totalPageCommentText.append(Messages.SequenceDiagram_pages);
- } else if (pages == 1) {
- totalPageCommentText.append(Messages.SequenceDiagram_page);
- } else {
- totalPageCommentText.append(Messages.SequenceDiagram_pages);
- }
- fTotalPageComment.setText(totalPageCommentText.toString());
- }
-
-
- // ------------------------------------------------------------------------
- // Helper classes
- // ------------------------------------------------------------------------
-
- /**
- * This is a Text Control that accepts only digits and ensures that bounds are respected
- */
- protected static class TextArea {
- /**
- * The text field.
- */
- private Text fText;
- /**
- * The minimum page value
- */
- private int fMin;
- /**
- * The maximum page value
- */
- private int fMax;
-
- /**
- * Constructor
- *
- * @param parent The paren composite
- */
- public TextArea(Composite parent) {
- fText = new Text(parent, SWT.SINGLE | SWT.BORDER | SWT.RIGHT);
- fText.setTextLimit(10);
- }
-
- /**
- * Sets the page value.
- *
- * @param page The page value
- */
- public void setValue(int page) {
- int value = Math.max(fMin, Math.min(fMax, page));
- fText.setText(Integer.toString(value));
- }
-
- /**
- * Returns the page value.
- *
- * @return the page value
- */
- public int getValue() {
- int res;
- try {
- res = Integer.parseInt(fText.getText());
- } catch (Exception e) {
- // ignored
- res = 0;
- }
- return Math.max(fMin, Math.min(fMax, res));
- }
-
- /**
- * Sets the minimum and maximum page values.
- *
- * @param min A minimum page value
- * @param max A maximum page value
- */
- public void setBounds(int min, int max) {
- fMin = Math.max(0, min);
- fMax = Math.max(fMin, max);
- Integer tab[] = new Integer[2];
- tab[0] = Integer.valueOf(fMin);
- tab[1] = Integer.valueOf(fMax);
- fText.setToolTipText(MessageFormat.format(Messages.SequenceDiagram_IsInBetween, (Object[]) tab));
- }
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/dialogs/SDPrintDialog.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/dialogs/SDPrintDialog.java
deleted file mode 100755
index 6898a6d643..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/dialogs/SDPrintDialog.java
+++ /dev/null
@@ -1,174 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2005, 2013 IBM Corporation, 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:
- * IBM - Initial API and implementation
- * Bernd Hufmann - Updated for TMF
- **********************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.views.uml2sd.dialogs;
-
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.SDWidget;
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.util.Messages;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.events.SelectionListener;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Shell;
-
-/**
- * This class implements a dialog box for collecting printing information.
- *
- * @version 1.0
- * @author sveyrier
- */
-public class SDPrintDialog extends Dialog {
-
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
- /**
- * The sequence dialog widget reference.
- */
- private SDWidget fSdView;
- /**
- * Sequence dialog print dialog UI
- */
- private SDPrintDialogUI fDialogUI;
- /**
- * Error message to display.
- */
- private String fErrorMessage = null;
- /**
- * A message label.
- */
- private Label fMessageLabel = null;
- /**
- * Flag whether the page is complete or not
- */
- private boolean fIsPageComplete = true;
-
- // ------------------------------------------------------------------------
- // Constructors
- // ------------------------------------------------------------------------
- /**
- * Standard constructor
- *
- * @param shell Shell reference
- * @param viewer Sequence diagram widget reference
- */
- public SDPrintDialog(Shell shell, SDWidget viewer) {
- super(shell);
- fSdView = viewer;
-
- fDialogUI = new SDPrintDialogUI(shell, fSdView);
- fDialogUI.setParentDialog(this);
- }
-
- // ------------------------------------------------------------------------
- // Methods
- // ------------------------------------------------------------------------
-
- @Override
- protected Control createDialogArea(Composite p) {
- p.getShell().setText(Messages.SequenceDiagram_Print);
- Composite parent = (Composite) super.createDialogArea(p);
-
- fDialogUI.createDialogArea(parent);
-
- fMessageLabel = new Label(parent, SWT.NONE);
- GridData gridData = new GridData(SWT.FILL, SWT.FILL, true, true);
- gridData.horizontalSpan = 6;
- fMessageLabel.setLayoutData(gridData);
- setErrorMessage(fErrorMessage);
-
- return parent;
- }
-
- @Override
- protected void okPressed() {
-
- if (fDialogUI.okPressed()) {
- super.okPressed();
- }
- }
-
- @Override
- protected void createButtonsForButtonBar(Composite parent) {
-
- super.createButtonsForButtonBar(parent);
- createButton(parent, IDialogConstants.CLIENT_ID, Messages.SequenceDiagram_Printer, false);
-
- getButton(IDialogConstants.CLIENT_ID).addSelectionListener(new SelectionListener() {
- @Override
- public void widgetSelected(SelectionEvent e) {
- fDialogUI.printButtonSelected();
- }
-
- @Override
- public void widgetDefaultSelected(SelectionEvent e) {
- }
- });
-
- updateButtons();
- }
-
- /**
- * @return the dialog UI
- */
- public SDPrintDialogUI getDialogUI() {
- return fDialogUI;
- }
-
- /**
- * Sets the error message.
- *
- * @param message error message to set
- */
- public void setErrorMessage(String message) {
- fErrorMessage = message;
- if (fMessageLabel != null) {
- if (fErrorMessage == null) {
- fMessageLabel.setText(""); //$NON-NLS-1$
- } else {
- fMessageLabel.setText(fErrorMessage);
- }
- }
- }
-
- /**
- * Sets the page complete flag.
- * @param complete whether page is complete or not
- */
- public void setPageComplete(boolean complete) {
- fIsPageComplete = complete;
- updateButtons();
- }
-
- /**
- * Udates the button enable state.
- */
- public void updateButtons() {
- Button okButton = getButton(IDialogConstants.OK_ID);
- if (fIsPageComplete) {
- if (okButton != null) {
- okButton.setEnabled(true);
- }
- } else {
- if (okButton != null) {
- okButton.setEnabled(false);
- }
- }
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/dialogs/SDPrintDialogUI.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/dialogs/SDPrintDialogUI.java
deleted file mode 100755
index f93a0fc738..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/dialogs/SDPrintDialogUI.java
+++ /dev/null
@@ -1,1424 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2005, 2013 IBM Corporation, 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:
- * IBM - Initial API and implementation
- * Bernd Hufmann - Updated for TMF
- **********************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.views.uml2sd.dialogs;
-
-import java.text.MessageFormat;
-import java.util.Arrays;
-
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.wizard.WizardPage;
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.DiagramToolTip;
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.NGC;
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.SDWidget;
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.util.Messages;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.FocusEvent;
-import org.eclipse.swt.events.FocusListener;
-import org.eclipse.swt.events.KeyEvent;
-import org.eclipse.swt.events.ModifyEvent;
-import org.eclipse.swt.events.ModifyListener;
-import org.eclipse.swt.events.MouseEvent;
-import org.eclipse.swt.events.MouseTrackListener;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.events.SelectionListener;
-import org.eclipse.swt.events.TraverseEvent;
-import org.eclipse.swt.events.TraverseListener;
-import org.eclipse.swt.graphics.GC;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.graphics.ImageData;
-import org.eclipse.swt.graphics.RGB;
-import org.eclipse.swt.graphics.Rectangle;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.printing.PrintDialog;
-import org.eclipse.swt.printing.Printer;
-import org.eclipse.swt.printing.PrinterData;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Group;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Text;
-
-/**
- * The class implements the actual print dialog UI for collecting printing data.
- *
- * @version 1.0
- * @author sveyrier
- */
-public class SDPrintDialogUI {
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
- /**
- * The set horizontal pages number.
- */
- private Button fSetHPagesNumber;
- /**
- * The set vertical pages number.
- */
- private Button fSetVPagesNumber;
- /**
- * Flag whether to use current zoom or not.
- */
- private Button fUseCurrentZoom;
- /**
- * Flag whether to print all pages or not
- */
- private Button fAllPages;
- /**
- * Flag whether to print current page only
- */
- private Button fCurrentPage;
- /**
- * Button to select a page list.
- */
- private Button fPageList;
- /**
- * Button to select a page range.
- */
- private Button fPageRange;
- /**
- * Text field to enter from page.
- */
- private Text fFromPage;
- /**
- * Text field to enter to page.
- */
- private Text fToPage;
- /**
- * The sequence diagram widget reference.
- */
- private SDWidget fSdView;
- /**
- * Text field for number of horizontal pages
- */
- private Text fHorPagesNum;
- /**
- * Text field for number of vertical pages
- */
- private Text fVertPagesNum;
- /**
- * Text field for toal number of pages
- */
- private Text fTotalPages;
- /**
- * A modify listener implementation to handle modifications.
- */
- private ModifyListener fModifyListener;
- /**
- * A selection listener implementation to handle selections.
- */
- private SelectionListener fSelectionListener;
- /**
- * Local canvas displaying sequence diagram overview.
- */
- private LocalSD fOverviewCanvas;
- /**
- * Number of pages
- */
- private int fNbPages = 0;
- /**
- * Number of selected pages.
- */
- private int fPageNum = -1;
- /**
- * Number of first page.
- */
- private int fFirstPage = -1;
- /**
- * List of pages to print.
- */
- private int fPagesList[];
-
- /**
- * Value for dividing the sequence diagram into pages
- */
- private float fStepX;
-
- /**
- * Value for dividing the sequence diagram into pages
- */
- private float fStepY;
-
- /**
- * Value for dividing the sequence diagram into pages
- */
- private float sTX;
-
- /**
- * Value for dividing the sequence diagram into pages
- */
- private float sTY;
-
- /**
- * Page which to print from.
- */
- private int fFrom;
- /**
- * Page which to print to.
- */
- private int fTo;
- /**
- * Flag for enabling multi-selection.
- */
- private boolean fMultiSelection = false;
- /**
- * Flag for enabling area selection.
- */
- private boolean fAreaSelection = false;
- /**
- * Flag for printing all.
- */
- private boolean fPrintAll;
- /**
- * Flag for printing current page only.
- */
- private boolean fPrintCurrent;
- /**
- * Flag for printing a selection of pages.
- */
- private boolean fPrintSelection;
- /**
- * Flag for printing a range of pages.
- */
- private boolean fPrintRange;
- /**
- * Number of selected rows
- */
- private int fNbRows;
- /**
- * Number of selected lines
- */
- private int fNbLines;
- /**
- * The zoom factor.
- */
- private float fZoomFactor;
- /**
- * The printer data reference.
- */
- private PrinterData fPrinterData;
- /**
- * The diagram tooltip to show if necessary.
- */
- private DiagramToolTip fToolTip = null;
- /**
- * Label for current selection.
- */
- private Label fCurrentSelection;
- /**
- * The shell reference.
- */
- private Shell fShell;
- /**
- * Button to open printer dialog from OS.
- */
- private Button fPrinterDialog;
- /**
- * Flag for showing print button.
- */
- private boolean fShowPrintButton;
- /**
- * Test value
- */
- private int fTest = 3;
- /**
- * Parent wizard page if used as wizard
- */
- private WizardPage fParentWizardPage = null;
- /**
- * Reference to parent print dialog.
- */
- private SDPrintDialog fParentDialog = null;
-
- // ------------------------------------------------------------------------
- // Helper Class
- // ------------------------------------------------------------------------
- /**
- * Local sequence diagram widget used to display overview of sequence diagram to print.
- * @version 1.0
- */
- private class LocalSD extends SDWidget {
-
- /**
- * Constructor
- * @param c Parent composite
- * @param s Style bits
- */
- public LocalSD(Composite c, int s) {
- super(c, s);
- }
-
- @Override
- public int getContentsHeight() {
- if (fSdView.getContentsHeight() > fSdView.getContentsHeight()) {
- return (int) (fSdView.getVisibleHeight() / (float) fTest / fSdView.getZoomValue());
- }
- return super.getContentsHeight();
- }
-
- @Override
- public int getContentsWidth() {
- if (fSdView.getVisibleWidth() > fSdView.getContentsWidth()) {
- return (int) (fSdView.getVisibleWidth() / (float) fTest / fSdView.getZoomValue());
- }
- return super.getContentsWidth();
- }
-
- @Override
- protected void contentsMouseHover(MouseEvent event) {
- }
-
- /**
- * Creates page selection images.
- *
- * @param img - Overview image
- * @param width -The width value
- * @param stepX - Step X
- * @param height - Height value
- * @param stepY - Step Y
- * @return new image
- */
- protected Image createPagesSelectionImages(Image img, int width, float stepX, int height, float stepY) {
-
- Image over = new Image(super.getShell().getDisplay(), img.getImageData());
-
- for (int pageIndex = 0; pageIndex < fPagesList.length; pageIndex++) {
-
- int pageNum = fPagesList[pageIndex];
-
- if (getPagesForSelection() > 0 && pageNum > 0) {
- int line = pageNum / getNbRow();
- int row = pageNum % getNbRow();
- if (row != 0) {
- line++;
- } else {
- row = getNbRow();
- }
-
- line--;
- row--;
-
- Image toDel = over;
- if (fOverviewCanvas.isFocusControl()) {
- over = new Image(super.getShell().getDisplay(), drawRegionSelected(toDel, new Rectangle(contentsToViewX((int) (row * stepX * fOverviewCanvas.getZoomValue())), contentsToViewY((int) (line * stepY * fOverviewCanvas.getZoomValue())),
- ((int) (stepX * fOverviewCanvas.getZoomValue())), ((int) (stepY * fOverviewCanvas.getZoomValue()))), new RGB(0, 0, 128)));
- } else {
- over = new Image(super.getShell().getDisplay(), drawRegionSelected(toDel, new Rectangle(contentsToViewX((int) (row * stepX * fOverviewCanvas.getZoomValue())), contentsToViewY((int) (line * stepY * fOverviewCanvas.getZoomValue())),
- ((int) (stepX * fOverviewCanvas.getZoomValue())), ((int) (stepY * fOverviewCanvas.getZoomValue()))), new RGB(221, 208, 200)));
- }
- toDel.dispose();
- }
- }
-
- Arrays.sort(fPagesList);
- int pos = Arrays.binarySearch(fPagesList, fPageNum);
- if ((pos < 0) && (getPagesForSelection() > 0 && fPageNum > 0)) {
- int line = fPageNum / getNbRow();
- int row = fPageNum % getNbRow();
- if (row != 0) {
- line++;
- } else {
- row = getNbRow();
- }
-
- line--;
- row--;
-
- Image toDel = over;
- over = new Image(super.getShell().getDisplay(), drawRegionSelected(toDel, new Rectangle(contentsToViewX((int) (row * stepX * fOverviewCanvas.getZoomValue())), contentsToViewY((int) (line * stepY * fOverviewCanvas.getZoomValue())),
- ((int) (stepX * fOverviewCanvas.getZoomValue())), ((int) (stepY * fOverviewCanvas.getZoomValue()))), new RGB(221, 208, 200)));
- toDel.dispose();
- }
-
- GC imGC2 = new GC(over);
- imGC2.setBackground(Display.getDefault().getSystemColor(SWT.COLOR_BLACK));
- NGC imGC = new NGC(fOverviewCanvas, imGC2);
- for (int i = 0, x = 0; x <= width && stepX > 0; i++, x = (int) (i * stepX)) {
- imGC.drawLine(x, 0, x, height);
- }
-
- for (int j = 0, y = 0; y <= height && stepY > 0; j++, y = (int) (j * stepY)) {
- imGC.drawLine(0, y, width, y);
- }
-
- imGC2.dispose();
- imGC.dispose();
- return over;
- }
-
- @Override
- protected void drawContents(GC gc, int clipx, int clipy, int clipw, int cliph) {
-
- Image dbuffer = getDrawBuffer();
- computeStepXY();
- Image d;
-
- int lw = (int) (getContentsWidth() / getZoomValue());
- if (getContentsWidth() < getVisibleWidth()) {
- lw = (int) (getVisibleWidth() / getZoomValue());
- }
-
- int lh = (int) (getContentsHeight() / getZoomValue());
- if (getContentsHeight() < getVisibleHeight()) {
- lh = (int) (getVisibleHeight() / getZoomValue());
- }
- d = createPagesSelectionImages(dbuffer, lw, fStepX, lh, fStepY);
-
- if (!isEnabled()) {
- Image toDel = d;
- d = new Image(super.getShell().getDisplay(), drawRegionSelected(d, new Rectangle(0, 0, lw, lh), new RGB(221, 208, 200)));
- toDel.dispose();
- }
-
- Rectangle area = getClientArea();
- int w = d.getBounds().width;
- int h = d.getBounds().height;
- gc.drawImage(d, 0, 0, w, h, 0, 0, area.width, area.height);
-
- fTotalPages.setText(Integer.valueOf(maxNumOfPages()).toString());
- displayPageNum();
- dbuffer.dispose();
- d.dispose();
- gc.dispose();
- }
-
- @Override
- protected void keyPressedEvent(KeyEvent e) {
- if (e.keyCode == SWT.CTRL) {
- fMultiSelection = true;
- }
- if (e.keyCode == SWT.SHIFT) {
- fAreaSelection = true;
- }
- if (e.keyCode == SWT.ARROW_DOWN) {
- if (fPageNum + getNbRow() <= maxNumOfPages()) {
- fPageNum += getNbRow();
- }
- int line = fPageNum / getNbRow();
- int row = fPageNum % getNbRow();
- if (row == 0) {
- line--;
- }
- if ((line + 1) * fStepY > (fOverviewCanvas.getContentsY() + fOverviewCanvas.getVisibleHeight()) / fOverviewCanvas.getZoomValue()) {
- fOverviewCanvas.scrollBy(0, (int) (fStepY * fOverviewCanvas.getZoomValue()));
- }
- }
- if (e.keyCode == SWT.ARROW_UP) {
- if (fPageNum - getNbRow() > 0) {
- fPageNum -= getNbRow();
- }
- int line = fPageNum / getNbRow();
- int row = fPageNum % getNbRow();
- if (row == 0) {
- line--;
- }
- if ((line) * fStepY <= fOverviewCanvas.getContentsY() / fOverviewCanvas.getZoomValue()) {
- fOverviewCanvas.scrollBy(0, -(int) (fStepY * fOverviewCanvas.getZoomValue()));
- }
- }
- if (e.keyCode == SWT.ARROW_LEFT) {
- if ((fPageNum - 2) / getNbRow() == (fPageNum - 1) / getNbRow() && fPageNum > 1) {
- fPageNum--;
- }
- int row = fPageNum % getNbRow();
- if ((row - 1) * fStepX < (fOverviewCanvas.getContentsX()) / fOverviewCanvas.getZoomValue()) {
- fOverviewCanvas.scrollBy(-(int) (fStepX * fOverviewCanvas.getZoomValue()), 0);
- }
- }
- if (e.keyCode == SWT.ARROW_RIGHT) {
- if ((fPageNum - 1) / getNbRow() == fPageNum / getNbRow()) {
- fPageNum++;
- }
- int row = fPageNum % getNbRow();
- if (row == 0) {
- row = getNbRow();
- }
- if ((row) * fStepX > (fOverviewCanvas.getContentsX() + fOverviewCanvas.getVisibleWidth()) / fOverviewCanvas.getZoomValue()) {
- fOverviewCanvas.scrollBy((int) (fStepX * fOverviewCanvas.getZoomValue()), 0);
- }
- }
-
- if (e.keyCode == 32 && fPageNum > -1) {
- Arrays.sort(fPagesList);
- int pos = Arrays.binarySearch(fPagesList, fPageNum);
- if (pos < 0) {
- addToPagesList(fPageNum);
- } else {
- removeFromPagesList(fPageNum);
- }
- }
-
- if (!fAreaSelection && !fMultiSelection) {
- fFirstPage = fPageNum;
- fPagesList = new int[1];
- fPagesList[0] = fPageNum;
- } else if ((fPageNum != -1) && (fAreaSelection) && (fFirstPage != -1)) {
- fPagesList = new int[0];
- int line1 = fFirstPage / getNbRow();
- int row1 = fFirstPage % getNbRow();
- if (row1 != 0) {
- line1++;
- } else {
- row1 = getNbRow();
- }
-
- int line2 = fPageNum / getNbRow();
- int row2 = fPageNum % getNbRow();
- if (row2 != 0) {
- line2++;
- } else {
- row2 = getNbRow();
- }
-
- int temp;
- if (line1 > line2) {
- temp = line2;
- line2 = line1;
- line1 = temp;
- }
-
- if (row1 > row2) {
- temp = row2;
- row2 = row1;
- row1 = temp;
- }
-
- for (int i = row1 - 1; i < row2; i++) {
- for (int j = line1 - 1; j < line2; j++) {
- addToPagesList(i + j * getNbRow() + 1);
- }
- }
- }
- displayPageNum();
- fOverviewCanvas.redraw();
- }
-
- @Override
- protected void keyReleasedEvent(KeyEvent e) {
- if (e.keyCode == SWT.CTRL) {
- fMultiSelection = false;
- }
- if (e.keyCode == SWT.SHIFT) {
- fAreaSelection = false;
- }
- }
-
- @Override
- protected void contentsMouseDownEvent(MouseEvent event) {
-
- computeStepXY();
- int x1 = (int) ((event.x / fOverviewCanvas.getZoomValue()) / fStepX);
- int x2 = (int) ((event.y / fOverviewCanvas.getZoomValue()) / fStepY);
-
- int oldPage = fPageNum;
-
- fPageNum = x1 + x2 * getNbRow() + 1;
-
- if (fPageNum > maxNumOfPages()) {
- fPageNum = oldPage;
- return;
- }
-
- if (!fAreaSelection) {
- fFirstPage = fPageNum;
- }
-
- if ((fPageNum != -1) && (fMultiSelection)) {
- Arrays.sort(fPagesList);
- int pos = Arrays.binarySearch(fPagesList, fPageNum);
- if (pos < 0) {
- addToPagesList(fPageNum);
- } else {
- removeFromPagesList(fPageNum);
- }
- } else if ((fPageNum != -1) && (fAreaSelection) && (fFirstPage != -1)) {
-
- fPagesList = new int[0];
-
- int line1 = fFirstPage / getNbRow();
- int row1 = fFirstPage % getNbRow();
- if (row1 != 0) {
- line1++;
- } else {
- row1 = getNbRow();
- }
-
- int line2 = fPageNum / getNbRow();
- int row2 = fPageNum % getNbRow();
- if (row2 != 0) {
- line2++;
- } else {
- row2 = getNbRow();
- }
-
- int temp;
- if (line1 > line2) {
- temp = line2;
- line2 = line1;
- line1 = temp;
- }
-
- if (row1 > row2) {
- temp = row2;
- row2 = row1;
- row1 = temp;
- }
-
- for (int i = row1 - 1; i < row2; i++) {
- for (int j = line1 - 1; j < line2; j++) {
- addToPagesList(i + j * getNbRow() + 1);
- }
- }
- } else {
- fPagesList = new int[1];
- fPagesList[0] = fPageNum;
- }
- if ((event.stateMask & SWT.CTRL) != 0) {
- fMultiSelection = true;
- }
- displayPageNum();
- redraw();
- }
-
- @Override
- protected void contentsMouseMoveEvent(MouseEvent e) {
- fToolTip.hideToolTip();
- }
-
- @Override
- public void resizeContents(int w, int h) {
- super.resizeContents(w, h);
- }
-
- }
-
- /**
- * A traverse listener implementation.
- */
- protected static class LocalTraverseListener implements TraverseListener {
- @Override
- public void keyTraversed(TraverseEvent e) {
- if ((e.detail == SWT.TRAVERSE_TAB_NEXT) || (e.detail == SWT.TRAVERSE_TAB_PREVIOUS)) {
- e.doit = true;
- }
- }
- }
-
- // ------------------------------------------------------------------------
- // Constructors
- // ------------------------------------------------------------------------
- /**
- * Constructor
- *
- * @param shell
- * The shell reference
- * @param sdWidget
- * The sequence diagram widget reference
- */
- public SDPrintDialogUI(Shell shell, SDWidget sdWidget) {
- this(shell, sdWidget, false);
- }
-
- /**
- * Constructor
- *
- * @param shell
- * The shell reference
- * @param sdWidget
- * The sequence diagram widget reference
- * @param showPrintBtn
- * Flag for showing print buttons
- */
- public SDPrintDialogUI(Shell shell, SDWidget sdWidget, boolean showPrintBtn) {
- fShell = shell;
- fSdView = sdWidget;
- fShowPrintButton = showPrintBtn;
-
- fPrinterData = Printer.getDefaultPrinterData();
- if (fPrinterData != null) {
- fPrinterData.scope = PrinterData.SELECTION;
- }
-
- fPagesList = new int[0];
-
- fSelectionListener = new SelectionListener() {
-
- @Override
- public void widgetSelected(SelectionEvent e) {
- if (fUseCurrentZoom.getSelection()) {
- fHorPagesNum.setEnabled(false);
- fVertPagesNum.setEnabled(false);
- }
- if (fSetHPagesNumber.getSelection()) {
- fHorPagesNum.setEnabled(true);
- fVertPagesNum.setEnabled(false);
- if (fCurrentPage.getSelection()) {
- fCurrentPage.setSelection(false);
- fAllPages.setSelection(true);
- }
- if ("".equals(fHorPagesNum.getText())) { //$NON-NLS-1$
- fHorPagesNum.setText("1"); //$NON-NLS-1$
- }
- }
- if (fSetVPagesNumber.getSelection()) {
- fHorPagesNum.setEnabled(false);
- fVertPagesNum.setEnabled(true);
- if (fCurrentPage.getSelection()) {
- fCurrentPage.setSelection(false);
- fAllPages.setSelection(true);
- }
- if ("".equals(fVertPagesNum.getText())) { //$NON-NLS-1$
- fVertPagesNum.setText("1"); //$NON-NLS-1$
- }
- }
- if (fCurrentPage.getSelection() || fAllPages.getSelection() || fPageList.getSelection()) {
- fFromPage.setEnabled(false);
- fToPage.setEnabled(false);
- } else {
- fFromPage.setEnabled(true);
- fToPage.setEnabled(true);
- }
-
- fCurrentPage.setEnabled(fUseCurrentZoom.getSelection());
- fOverviewCanvas.setEnabled(fPageList.getSelection());
- if (fOverviewCanvas.isEnabled() && (e.widget == fUseCurrentZoom || e.widget == fSetHPagesNumber || e.widget == fSetVPagesNumber)) {
- fPagesList = new int[1];
- fPagesList[0] = 1;
- fPageNum = 1;
- fFirstPage = 1;
- } else if ((fOverviewCanvas.isEnabled() && (e.widget == fPageList)) &&
- (fPagesList == null || fPagesList.length <= 0)) {
-
- fPagesList = new int[1];
- fPagesList[0] = 1;
- fPageNum = 1;
- fFirstPage = 1;
- }
- computeStepXY();
- fTotalPages.setText(Integer.valueOf(maxNumOfPages()).toString());
- fOverviewCanvas.redraw();
- fOverviewCanvas.update();
- }
-
- @Override
- public void widgetDefaultSelected(SelectionEvent e) {
- fPagesList = new int[0];
- computeStepXY();
- fOverviewCanvas.redraw();
- }
-
- };
-
- fModifyListener = new ModifyListener() {
- @Override
- public void modifyText(ModifyEvent e) {
- fPagesList = new int[0];
- computeStepXY();
- fTotalPages.setText(Integer.valueOf(maxNumOfPages()).toString());
- fOverviewCanvas.redraw();
- }
-
- };
- }
-
- // ------------------------------------------------------------------------
- // Methods
- // ------------------------------------------------------------------------
-
- /**
- * Creates new grid data object.
- *
- * @param span horizontal span.
- * @return grid data
- */
- protected GridData newGridData(int span) {
- GridData data = new GridData(GridData.GRAB_VERTICAL | GridData.VERTICAL_ALIGN_FILL | GridData.GRAB_HORIZONTAL | GridData.HORIZONTAL_ALIGN_FILL);
- data.horizontalSpan = span;
- return data;
- }
-
- /**
- * Creates the dialog area.
- *
- * @param parent The parent composite
- * @return dialog control
- */
- public Control createDialogArea(Composite parent) {
-
- GridLayout parentLayout = new GridLayout();
- parentLayout.numColumns = 6;
- parent.setLayout(parentLayout);
-
- Group g1 = new Group(parent, SWT.SHADOW_NONE);
- g1.setText(Messages.SequenceDiagram_ZoomOption);
- g1.setLayoutData(newGridData(3));
- GridLayout g1layout = new GridLayout();
- g1layout.numColumns = 2;
- g1.setLayout(g1layout);
-
- fUseCurrentZoom = new Button(g1, SWT.RADIO);
- fUseCurrentZoom.setText(Messages.SequenceDiagram_UseCurrentZoom);
- fUseCurrentZoom.setLayoutData(newGridData(2));
- fUseCurrentZoom.addSelectionListener(fSelectionListener);
-
- fSetHPagesNumber = new Button(g1, SWT.RADIO);
- fSetHPagesNumber.setText(Messages.SequenceDiagram_NumberOfHorizontalPages);
- fSetHPagesNumber.setLayoutData(newGridData(1));
- fSetHPagesNumber.addSelectionListener(fSelectionListener);
-
- fHorPagesNum = new Text(g1, SWT.SINGLE | SWT.BORDER);
- fHorPagesNum.addModifyListener(fModifyListener);
-
- fSetVPagesNumber = new Button(g1, SWT.RADIO);
- fSetVPagesNumber.setText(Messages.SequenceDiagram_NumberOfVerticalPages);
- fSetVPagesNumber.setLayoutData(newGridData(1));
- fSetVPagesNumber.addSelectionListener(fSelectionListener);
-
- fVertPagesNum = new Text(g1, SWT.SINGLE | SWT.BORDER);
- fVertPagesNum.addModifyListener(fModifyListener);
-
- Label nbTotal = new Label(g1, SWT.SHADOW_NONE | SWT.RIGHT);
- nbTotal.setText(Messages.TotalNumberOfPages);
- // nbTotal.setLayoutData(newGridData(1));
-
- fTotalPages = new Text(g1, SWT.SINGLE | SWT.BORDER | SWT.READ_ONLY);
- // nbHV.addModifyListener(modifListener);
-
- Group g2 = new Group(parent, SWT.SHADOW_NONE);
- g2.setText(Messages.SequenceDiagram_Preview);
- GridData data = new GridData(GridData.GRAB_VERTICAL | GridData.VERTICAL_ALIGN_FILL | GridData.GRAB_HORIZONTAL | GridData.HORIZONTAL_ALIGN_FILL);
- data.horizontalSpan = 3;
- data.verticalSpan = 2;
- g2.setLayoutData(data);
- GridLayout g2layout = new GridLayout();
- // g2layout.
- g2layout.numColumns = 1;
- // SVLayout g2layout = new SVLayout();
- g2.setLayout(g2layout);
-
- GridData data2 = new GridData(GridData.GRAB_VERTICAL | GridData.VERTICAL_ALIGN_FILL | GridData.GRAB_HORIZONTAL | GridData.HORIZONTAL_ALIGN_FILL);
- data2.horizontalSpan = 1;
- data2.verticalSpan = 1;
-
- fOverviewCanvas = new LocalSD(g2, SWT.NO_BACKGROUND);
- GridData seqDiagLayoutData = new GridData(GridData.HORIZONTAL_ALIGN_FILL | GridData.VERTICAL_ALIGN_FILL);
- fOverviewCanvas.setLayoutData(seqDiagLayoutData);
- // overviewCanvas.resizeContents(100,100);
- if (fSdView.getContentsWidth() < fSdView.getVisibleWidth() && fSdView.getContentsHeight() < fSdView.getVisibleHeight()) {
- fTest = 3;
- } else {
- fTest = 10;
- }
- fOverviewCanvas.setFrame(fSdView.getFrame(), true);
- fOverviewCanvas.setZoomValue((float) 1 / fTest);
- fOverviewCanvas.setCornerControl(null);
- seqDiagLayoutData.widthHint = fOverviewCanvas.getContentsWidth() / fTest;
- seqDiagLayoutData.widthHint = fOverviewCanvas.getFrame().getWidth() / fTest + 15;
-
- if (fSdView.getVisibleWidth() < fSdView.getContentsWidth()) {
- seqDiagLayoutData.widthHint = fOverviewCanvas.getContentsWidth() / fTest;
- if (seqDiagLayoutData.widthHint > Display.getDefault().getClientArea().width / 4) {
- seqDiagLayoutData.widthHint = Display.getDefault().getClientArea().width / 4;
- }
- } else {
- seqDiagLayoutData.widthHint = fOverviewCanvas.getFrame().getWidth() / fTest + 15;
- }
-
- if (fSdView.getVisibleHeight() < fSdView.getContentsHeight()) {
- seqDiagLayoutData.heightHint = fOverviewCanvas.getContentsHeight() / fTest;
- if (seqDiagLayoutData.heightHint > Display.getDefault().getClientArea().width / 4) {
- seqDiagLayoutData.heightHint = Display.getDefault().getClientArea().width / 4;
- }
- } else {
- seqDiagLayoutData.heightHint = fOverviewCanvas.getFrame().getHeight() / fTest;
- }
-
- fOverviewCanvas.setEnabled(false);
-
- fCurrentSelection = new Label(g2, SWT.SHADOW_NONE | SWT.LEFT);
- fCurrentSelection.setLayoutData(newGridData(1));
-
- Group g3 = new Group(parent, SWT.SHADOW_NONE);
- g3.setText(Messages.SequenceDiagram_PrintRange);
- g3.setLayoutData(newGridData(3));
- GridLayout g3layout = new GridLayout();
- g3layout.numColumns = 4;
- g3.setLayout(g3layout);
-
- fAllPages = new Button(g3, SWT.RADIO);
- fAllPages.setText(Messages.SequenceDiagram_AllPages);
- fAllPages.setLayoutData(newGridData(4));
- fAllPages.addSelectionListener(fSelectionListener);
-
- fCurrentPage = new Button(g3, SWT.RADIO);
- fCurrentPage.setText(Messages.SequenceDiagram_CurrentView);
- fCurrentPage.setLayoutData(newGridData(4));
- fCurrentPage.setEnabled(true);
- fCurrentPage.setSelection(true);
- fCurrentPage.addSelectionListener(fSelectionListener);
-
- fPageList = new Button(g3, SWT.RADIO);
- fPageList.setText(Messages.SequenceDiagram_SelectedPages);
- fPageList.setLayoutData(newGridData(4));
- fPageList.addSelectionListener(fSelectionListener);
-
- fPageRange = new Button(g3, SWT.RADIO);
- fPageRange.setText(Messages.SequenceDiagram_FromPage);
- fPageRange.setLayoutData(newGridData(1));
- fPageRange.addSelectionListener(fSelectionListener);
-
- fFromPage = new Text(g3, SWT.SINGLE | SWT.BORDER);
-
- Label labelTo = new Label(g3, SWT.CENTER);
- labelTo.setText(Messages.SequenceDiagram_to);
-
- fToPage = new Text(g3, SWT.SINGLE | SWT.BORDER);
-
- fToolTip = new DiagramToolTip(fOverviewCanvas);
-
- fOverviewCanvas.getViewControl().addMouseTrackListener(new MouseTrackListener() {
- @Override
- public void mouseEnter(MouseEvent e) {
- fToolTip.hideToolTip();
- }
-
- @Override
- public void mouseExit(MouseEvent e) {
- fToolTip.hideToolTip();
- }
-
- @Override
- public void mouseHover(MouseEvent e) {
- int x1 = (int) (fOverviewCanvas.viewToContentsX(e.x) / fOverviewCanvas.getZoomValue() / fStepX);
- int x2 = (int) (fOverviewCanvas.viewToContentsY(e.y) / fOverviewCanvas.getZoomValue() / fStepY);
- int num = x1 + x2 * getNbRow() + 1;
- if (num > maxNumOfPages()) {
- return;
- }
- if (num > 0) {
- fToolTip.showToolTip(String.valueOf(num));
- displayPageNum();
- } else {
- fCurrentSelection.setText("");//$NON-NLS-1$
- fToolTip.hideToolTip();
- }
- }
-
- });
-
- fOverviewCanvas.addTraverseListener(new LocalTraverseListener());
-
- fOverviewCanvas.addFocusListener(new FocusListener() {
- @Override
- public void focusGained(FocusEvent e) {
- fOverviewCanvas.redraw();
- }
-
- @Override
- public void focusLost(FocusEvent e) {
- fOverviewCanvas.redraw();
- }
- });
-
- if (fShowPrintButton) {
- Composite printerDlg = new Composite(parent, SWT.NONE);
- data = new GridData(SWT.FILL, SWT.DEFAULT, true, false);
- data.horizontalSpan = 6;
- parentLayout = new GridLayout();
- parentLayout.numColumns = 2;
- printerDlg.setLayout(parentLayout);
- printerDlg.setLayoutData(data);
-
- Label label = new Label(printerDlg, SWT.NONE);
- label.setLayoutData(new GridData(SWT.FILL, SWT.DEFAULT, true, false));
- fPrinterDialog = new Button(printerDlg, SWT.PUSH);
- fPrinterDialog.setText(Messages.SequenceDiagram_Printer);
-
- fPrinterDialog.addSelectionListener(new SelectionListener() {
- @Override
- public void widgetSelected(SelectionEvent e) {
- printButtonSelected();
- }
-
- @Override
- public void widgetDefaultSelected(SelectionEvent e) {
- }
-
- });
- }
-
- updatePrinterStatus();
-
- return parent;
- }
-
- /**
- * Get number of pages for selection.
- * @return number of pages for selection.
- */
- public int getPagesForSelection() {
- return fNbPages;
- }
-
- /**
- * Handler for when the OK button is pressed
- *
- * @return True if the operation was successful, false if there was an error
- */
- public boolean okPressed() {
- fPrintAll = fAllPages.getSelection();
- fPrintCurrent = fCurrentPage.getSelection();
- fPrintSelection = fPageList.getSelection();
- fPrintRange = fPageRange.getSelection();
- try {
- if (fPrintRange) {
- fFrom = Integer.valueOf(fFromPage.getText()).intValue();
- fTo = Integer.valueOf(fToPage.getText()).intValue();
- if (fFrom > maxNumOfPages() || fTo > maxNumOfPages() || fFrom <= 0 || fTo <= 0) {
- MessageDialog.openError(getShell(), Messages.SequenceDiagram_Error, Messages.SequenceDiagram_InvalidRange);
- return false;
- }
- } else if (fSetHPagesNumber.getSelection() && fNbPages <= 0) {
- MessageDialog.openError(getShell(), Messages.SequenceDiagram_Error, Messages.SequenceDiagram_InvalidNbHorizontal);
- return false;
- } else if (fSetVPagesNumber.getSelection() && fNbPages <= 0) {
- MessageDialog.openError(getShell(), Messages.SequenceDiagram_Error, Messages.SequenceDiagram_InvalidNbVertical);
- return false;
- } else if (fPrintSelection && getPageList().length <= 0) {
- MessageDialog.openError(getShell(), Messages.SequenceDiagram_Error, Messages.SequenceDiagram_NoPageSelected);
- return false;
- }
-
- } catch (Exception e) {
- MessageDialog.openError(getShell(), Messages.SequenceDiagram_Error, Messages.SequenceDiagram_InvalidRange);
- fFrom = 0;
- fTo = 0;
- return false;
- }
-
- return true;
- }
-
- /**
- * Draws region that was selected
- * @param img The corresponding image
- * @param r The selected rectangle.
- * @param color The color to use for selection
- * @return image data reference
- */
- public ImageData drawRegionSelected(Image img, Rectangle r, RGB color) {
- ImageData id = img.getImageData();
- for (int a = 0; a < r.width && r.x + a < id.width; a++) {
- for (int b = 0; b < r.height && r.y + b < id.height; b++) {
- int index = id.getPixel(r.x + a, r.y + b);
- RGB rgb = id.palette.getRGB(index);
- rgb = combine(color, rgb);
- id.setPixel(r.x + a, r.y + b, id.palette.getPixel(rgb));
- }
- }
- return id;
- }
-
- /**
- * Combines two RGB colors.
- * @param front The front color
- * @param back The back color
- * @return new RGB color
- */
- public static RGB combine(RGB front, RGB back) {
- int _af = 128;
- int _ab = 200;
-
- double af = (_af) / 255.0;
- double rf = front.red;
- double gf = front.green;
- double bf = front.blue;
-
- double ab = (_ab) / 255.0;
- double rb = back.red;
- double gb = back.green;
- double bb = back.blue;
-
- double k = (1.0 - af) * ab;
- int r = (int) ((af * rf + k * rb));
- int g = (int) ((af * gf + k * gb));
- int b = (int) ((af * bf + k * bb));
-
- return new RGB(r, g, b);
- }
-
- /**
- * Computes value for X coordinates step and Y coordinates step.
- */
- protected void computeStepXY() {
- float cw = fOverviewCanvas.getContentsWidth() / fOverviewCanvas.getZoomValue();
- float ch = fOverviewCanvas.getContentsHeight() / fOverviewCanvas.getZoomValue();
- try {
- if (fPrinterData == null) {
- fStepX = 0;
- fStepY = 0;
- fNbPages = 0;
- fZoomFactor = 0;
- } else {
- Printer printer = new Printer(fPrinterData);
- if (fSetHPagesNumber.getSelection()) {
- fNbPages = Integer.valueOf(fHorPagesNum.getText()).intValue();
- float z1 = fSdView.getContentsWidth() / cw;
- float z2 = printer.getClientArea().width / ((float) fSdView.getContentsWidth() / fNbPages);
-
- fStepY = printer.getClientArea().height / z1 / z2;
- fStepX = cw / fNbPages;
- } else if (fSetVPagesNumber.getSelection()) {
- fNbPages = Integer.valueOf(fVertPagesNum.getText()).intValue();
- float z1 = fSdView.getContentsHeight() / ch;
- float z2 = printer.getClientArea().height / ((float) fSdView.getContentsHeight() / fNbPages);
- fStepX = printer.getClientArea().width / z1 / z2;
- fStepY = ch / fNbPages;
- } else {
- float z1 = fSdView.getContentsWidth() / (cw);
- fStepX = fSdView.getVisibleWidth() / z1;
- fNbPages = Math.round(cw / fStepX);
- if (fNbPages == 0) {
- fNbPages = 1;
- }
- int pw = printer.getClientArea().width;
- int ph = printer.getClientArea().height;
- float z2 = pw / ((float) fSdView.getContentsWidth() / fNbPages);
- fStepY = ph / z1 / z2;
- }
- }
- } catch (NumberFormatException e) {
- fStepX = fStepY = fNbPages = 0;
- fZoomFactor = 0;
- }
- sTX = fStepX * (fSdView.getContentsWidth() / cw);
- sTY = fStepY * (fSdView.getContentsHeight() / ch);
- float rat = 1;
- if ((fSdView.getVisibleWidth() > fSdView.getContentsWidth()) && (fSetVPagesNumber.getSelection() || fSetHPagesNumber.getSelection())) {
- rat = (float) fSdView.getVisibleWidth() / (float) fSdView.getContentsWidth();
- }
- fZoomFactor = (fOverviewCanvas.getContentsWidth() / cw) / fOverviewCanvas.getZoomFactor() * rat;
- }
-
- /**
- * Returns the pages list.
- *
- * @return the pages list.
- */
- public int[] getPageList() {
- return Arrays.copyOf(fPagesList, fPagesList.length);
- }
-
- /**
- * Adds a page to pages list.
- *
- * @param num
- * The number of the the new page
- */
- public void addToPagesList(int num) {
- int temp[] = new int[fPagesList.length + 1];
- System.arraycopy(fPagesList, 0, temp, 0, fPagesList.length);
- temp[temp.length - 1] = num;
- fPagesList = new int[temp.length];
- System.arraycopy(temp, 0, fPagesList, 0, temp.length);
- }
-
- /**
- * Removes a page from the pages list.
- *
- * @param num
- * The number of the page to remove
- */
- public void removeFromPagesList(int num) {
- int pos = Arrays.binarySearch(fPagesList, num);
- int temp[] = new int[fPagesList.length - 1];
- System.arraycopy(fPagesList, 0, temp, 0, pos);
- System.arraycopy(fPagesList, pos + 1, temp, pos, fPagesList.length - pos - 1);
- fPagesList = new int[temp.length];
- System.arraycopy(temp, 0, fPagesList, 0, temp.length);
- }
-
- /**
- * Returns the maximum number of pages.
- *
- * @return maximum number of pages.
- */
- public int maxNumOfPages() {
- return (getNbRow() * getNbLines());
- }
-
- /**
- * Returns the number of rows.
- *
- * @return number of rows.
- */
- public int getNbRow() {
- if (!fSetHPagesNumber.isDisposed()) {
- int cw = (int) (fOverviewCanvas.getContentsWidth() / fOverviewCanvas.getZoomValue());
- int row = 1;
- if (fStepX != 0) {
- row = (int) (cw / fStepX);
- if (fSetHPagesNumber.getSelection()) {
- row = Math.round(cw / fStepX);
- } else if ((cw % fStepX != 0)) {
- row++;
- }
- }
- fNbRows = row;
- }
- return fNbRows;
- }
-
- /**
- * Returns the number of lines.
- *
- * @return number of lines
- */
- public int getNbLines() {
- if (!fSetVPagesNumber.isDisposed()) {
- int ch = (int) (fOverviewCanvas.getContentsHeight() / fOverviewCanvas.getZoomValue());
- int line = 1;
- if (fStepY != 0) {
- line = (int) (ch / fStepY);
- if (fSetVPagesNumber.getSelection()) {
- line = Math.round(ch / fStepY);
- } else if (ch % fStepY != 0) {
- line++;
- }
- }
- fNbLines = line;
- }
- return fNbLines;
- }
-
- /**
- * Returns whether to print all pages or not.
- *
- * @return <code>true</code> for all pages else <code>false</code>.
- */
- public boolean printAll() {
- return fPrintAll;
- }
-
- /**
- * Returns whether to print only current page
- *
- * @return <code>true</code> for current page only else <code>false</code>..
- */
- public boolean printCurrent() {
- return fPrintCurrent;
- }
-
- /**
- * Returns whether to print selected pages.
- *
- * @return <code>true</code> for selected pages only else <code>false</code>.
- */
- public boolean printSelection() {
- return fPrintSelection;
- }
-
- /**
- * Returns whether to print range of pages.
- *
- * @return <code>true</code> for range of pages only else <code>false</code>.
- */
- public boolean printRange() {
- return fPrintRange;
- }
-
- /**
- * Returns the step in X direction.
- *
- * @return step in X direction
- */
- public float getStepX() {
- return sTX;
- }
-
- /**
- * Returns the step in Y direction.
- *
- * @return step in Y direction
- */
- public float getStepY() {
- return sTY;
- }
-
- /**
- * Returns the zoom factor
- *
- * @return zoom factor
- */
- public float getZoomFactor() {
- return fZoomFactor;
- }
-
- /**
- * Returns the printer data reference.
- *
- * @return printer data reference
- */
- public PrinterData getPrinterData() {
- return fPrinterData;
- }
-
- /**
- * Returns the page number to start printing from.
- *
- * @return page number to start printing from
- */
- public int getFrom() {
- return fFrom;
- }
-
- /**
- * Returns the page number to print to.
- *
- * @return page number to print to
- */
- public int getTo() {
- return fTo;
- }
-
- /**
- * Displays current number of pages
- */
- protected void displayPageNum() {
- if (fPageNum > 0) {
- String message = MessageFormat.format(Messages.SequenceDiagram_Page, new Object[] { Integer.valueOf(fPageNum) });
- fCurrentSelection.setText(message);
- fCurrentSelection.getParent().layout();
- }
- }
-
- /**
- * Returns the shell reference.
- *
- * @return the shell reference.
- */
- public Shell getShell() {
- return fShell;
- }
-
- /**
- * Sets the shell.
- *
- * @param shell The shell reference.
- */
- public void setShell(Shell shell) {
- fShell = shell;
- }
-
- /**
- * Handle selection of print button.
- */
- public void printButtonSelected() {
- PrintDialog printer = new PrintDialog(getShell());
- if (fAllPages.getSelection()) {
- printer.setScope(PrinterData.ALL_PAGES);
- }
- if (fCurrentPage.getSelection()) {
- printer.setScope(PrinterData.SELECTION);
- }
- if (fPageList.getSelection()) {
- printer.setScope(PrinterData.SELECTION);
- }
- if (fPageRange.getSelection()) {
- printer.setScope(PrinterData.PAGE_RANGE);
- fFrom = Integer.valueOf(fFromPage.getText()).intValue();
- fTo = Integer.valueOf(fToPage.getText()).intValue();
- printer.setStartPage(fFrom);
- printer.setEndPage(fTo);
- }
-
- PrinterData newPrinterData = printer.open();
- if (newPrinterData != null) {
- fPrinterData = newPrinterData;
- }
- updatePrinterStatus();
-
- if (printer.getScope() == PrinterData.ALL_PAGES) {
- fAllPages.setSelection(true);
- fCurrentPage.setSelection(false);
- fPageList.setSelection(false);
- fPageRange.setSelection(false);
- fHorPagesNum.setEnabled(false);
- fVertPagesNum.setEnabled(false);
- }
- if (printer.getScope() == PrinterData.PAGE_RANGE) {
- fAllPages.setSelection(false);
- fCurrentPage.setSelection(false);
- fPageList.setSelection(false);
- fPageRange.setSelection(true);
- fFromPage.setEnabled(true);
- fToPage.setEnabled(true);
- fFromPage.setText((Integer.valueOf(printer.getStartPage())).toString());
- fToPage.setText((Integer.valueOf(printer.getEndPage())).toString());
- }
- computeStepXY();
- fOverviewCanvas.redraw();
- }
-
- /**
- * Sets parent wizard page
- *
- * @param parent The parent wizard page
- */
- public void setParentWizardPage(WizardPage parent) {
- fParentWizardPage = parent;
- }
-
- /**
- * Sets the parent dialog box.
- *
- * @param parent The parent dialog box.
- */
- public void setParentDialog(SDPrintDialog parent) {
- fParentDialog = parent;
- }
-
- /**
- * Updates the printer status
- */
- protected void updatePrinterStatus() {
- if (fParentWizardPage != null) {
- // used in the wizard dialog
- if (fPrinterData == null) {
- // show error message and disable Finish button
- fParentWizardPage.setErrorMessage(Messages.SequenceDiagram_NoPrinterSelected);
- fParentWizardPage.setPageComplete(false);
- } else {
- // clear error message and enable Finish button
- fParentWizardPage.setErrorMessage(null);
- fParentWizardPage.setPageComplete(true);
- }
- } else if (fParentDialog != null) {
- // used in the print dialog
- if (fPrinterData == null) {
- // show error message and disable OK button
- fParentDialog.setErrorMessage(Messages.SequenceDiagram_NoPrinterSelected);
- fParentDialog.setPageComplete(false);
- } else {
- // clear error message and enable OK button
- fParentDialog.setErrorMessage(null);
- fParentDialog.setPageComplete(true);
- }
- }
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/dialogs/SearchFilterDialog.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/dialogs/SearchFilterDialog.java
deleted file mode 100755
index 49bb51690a..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/dialogs/SearchFilterDialog.java
+++ /dev/null
@@ -1,451 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2005, 2013 IBM Corporation, 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:
- * IBM - Initial API and implementation
- * Bernd Hufmann - Updated for TMF
- **********************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.views.uml2sd.dialogs;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.dialogs.DialogSettings;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.linuxtools.internal.tmf.ui.Activator;
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.SDView;
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.core.AsyncMessage;
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.core.AsyncMessageReturn;
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.core.GraphNode;
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.core.Lifeline;
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.core.Stop;
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.core.SyncMessage;
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.core.SyncMessageReturn;
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.handlers.provider.ISDFindProvider;
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.handlers.provider.ISDGraphNodeSupporter;
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.util.Messages;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.TabFolder;
-
-/**
- * This is the common dialog to define Find and/or Filter Criteria(s)
- *
- * @version 1.0
- * @author Bernd Hufmann
- */
-public class SearchFilterDialog extends Dialog {
-
- // ------------------------------------------------------------------------
- // Constants
- // ------------------------------------------------------------------------
- /**
- * The find criteria property name
- */
- protected static final String FIND_CRITERIA = "findCriteria"; //$NON-NLS-1$
- /**
- * The find expression list property name
- */
- protected static final String FIND_EXPRESSION_LIST = "findExpressionList"; //$NON-NLS-1$
- /**
- * The filter criteria poperty name
- */
- protected static final String FILTER_CRITERIA = "filterCriteria"; //$NON-NLS-1$
- /**
- * The filter expression list property name
- */
- protected static final String FILTER_EXPRESSION_LIST = "filterExpressionList"; //$NON-NLS-1$
- /**
- * The maximum number of expressions stored.
- */
- protected static final int MAX_EXPRESSION_LIST = 7;
-
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
-
- /**
- * The sequence diagram view reference.
- */
- private final SDView fSdView;
-
- /**
- * The tab with the controls for a Criteria
- */
- private final TabFolder fTabFolder = null;
-
- /**
- * The Criteria updated by this dialog
- */
- private Criteria fCriteria = null;
-
- /**
- * The find/filter provider telling which graph nodes are supported
- */
- private final ISDGraphNodeSupporter fProvider;
-
- /**
- * The okText is the text for the Ok button and title is the title of the
- * dialog.<br>
- * Both depend (okText and title (below)) on the usage that is done of this
- * dialog (find or filter).
- */
- private String fOkText;
-
- /**
- * The title is the title of the dialog.<br>
- * Both depend (okText and title) on the usage that is done of this dialog
- * (find or filter).
- */
- private String fTitle;
-
- /**
- * List of string expressions that have been searched already
- */
- private String[] fExpressionList;
-
- /**
- * find is true if the dialog is for the find feature and false for filter
- * feature
- */
- private boolean fIsFind;
-
- // ------------------------------------------------------------------------
- // Constructors
- // ------------------------------------------------------------------------
- /**
- * Standard constructor
- *
- * @param view
- * A sequence diagram view reference
- * @param provider
- * A graph node supporter provider
- * @param filter
- * A flag to indicate filtering (true) or finding (false)
- * @param style
- * Style bits
- */
- public SearchFilterDialog(SDView view, ISDGraphNodeSupporter provider, boolean filter, int style) {
- super(view.getSDWidget().getShell());
- setShellStyle(SWT.DIALOG_TRIM | style);
- fProvider = provider;
- fSdView = view;
- fIsFind = !filter;
- }
-
- // ------------------------------------------------------------------------
- // Methods
- // ------------------------------------------------------------------------
-
- @Override
- public Control createDialogArea(Composite arg0) {
- if (fIsFind) {
- fExpressionList = Activator.getDefault().getDialogSettings().getArray(FIND_EXPRESSION_LIST);
- } else {
- fExpressionList = Activator.getDefault().getDialogSettings().getArray(FILTER_EXPRESSION_LIST);
- }
- if (fExpressionList == null) {
- fExpressionList = new String[0];
- }
- return new TabContents(arg0, fProvider, getButton(IDialogConstants.OK_ID), fExpressionList);
- }
-
- /**
- * Open the dialog box
- */
- @Override
- public int open() {
- create();
-
- if (fCriteria == null) {
- loadCriteria();
- }
-
- if (fCriteria == null) {
- fCriteria = new Criteria();
- fCriteria.setLifeLineSelected(fProvider.isNodeSupported(ISDGraphNodeSupporter.LIFELINE));
- fCriteria.setSyncMessageSelected(fProvider.isNodeSupported(ISDGraphNodeSupporter.SYNCMESSAGE));
- fCriteria.setSyncMessageReturnSelected(fProvider.isNodeSupported(ISDGraphNodeSupporter.SYNCMESSAGERETURN));
- fCriteria.setAsyncMessageSelected(fProvider.isNodeSupported(ISDGraphNodeSupporter.ASYNCMESSAGE));
- fCriteria.setAsyncMessageReturnSelected(fProvider.isNodeSupported(ISDGraphNodeSupporter.ASYNCMESSAGERETURN));
- fCriteria.setStopSelected(fProvider.isNodeSupported(ISDGraphNodeSupporter.STOP));
- }
- copyFromCriteria(fCriteria);
-
- if (fOkText != null) {
- getButton(IDialogConstants.OK_ID).setText(fOkText);
- } else {
- getButton(IDialogConstants.OK_ID).setText(Messages.SequenceDiagram_Find);
- }
-
- if (fIsFind) {
- getButton(IDialogConstants.CANCEL_ID).setText(Messages.SequenceDiagram_Close);
- }
-
- Button okButton = getButton(IDialogConstants.OK_ID);
- ((TabContents) getDialogArea()).setOkButton(okButton);
- if (fCriteria == null || !((fCriteria.getExpression() != null && !fCriteria.getExpression().equals("")) && //$NON-NLS-1$
- (fCriteria.isAsyncMessageReturnSelected() || fCriteria.isAsyncMessageSelected() || fCriteria.isLifeLineSelected() || fCriteria.isStopSelected() || fCriteria.isSyncMessageReturnSelected() || fCriteria.isSyncMessageSelected()))) {
- okButton.setEnabled(false);
- }
-
- if (fTitle != null) {
- getShell().setText(fTitle);
- } else {
- getShell().setText(Messages.SequenceDiagram_SequenceDiagramFind);
- }
-
- getShell().pack();
- getShell().setLocation(getShell().getDisplay().getCursorLocation());
-
- fCriteria = null;
- return super.open();
- }
-
- /**
- * Loads criteria from the dialog settings which are saved in the workspace.
- */
- protected void loadCriteria() {
-
- String CRITERIA = FIND_CRITERIA;
- if (!fIsFind) {
- CRITERIA = FILTER_CRITERIA;
- }
-
- DialogSettings section = (DialogSettings) Activator.getDefault().getDialogSettings().getSection(CRITERIA);
- List<GraphNode> selection = fSdView.getSDWidget().getSelection();
- if ((selection == null || selection.size() != 1) || (!fIsFind)) {
- if (section != null) {
- fCriteria = new Criteria();
- fCriteria.load(section);
- }
- } else {
- GraphNode gn = selection.get(0);
- fCriteria = new Criteria();
- fCriteria.setExpression(gn.getName());
- fCriteria.setCaseSenstiveSelected(true);
- if (gn instanceof Lifeline && fProvider.isNodeSupported(ISDGraphNodeSupporter.LIFELINE)) {
- fCriteria.setLifeLineSelected(true);
- } else if (gn instanceof SyncMessageReturn && fProvider.isNodeSupported(ISDGraphNodeSupporter.SYNCMESSAGERETURN)) {
- fCriteria.setSyncMessageReturnSelected(true);
- } else if ((gn instanceof SyncMessageReturn || gn instanceof SyncMessage) && fProvider.isNodeSupported(ISDGraphNodeSupporter.SYNCMESSAGE)) {
- fCriteria.setSyncMessageSelected(true);
- } else if (gn instanceof AsyncMessageReturn && fProvider.isNodeSupported(ISDGraphNodeSupporter.ASYNCMESSAGERETURN)) {
- fCriteria.setAsyncMessageReturnSelected(true);
- } else if ((gn instanceof AsyncMessageReturn || gn instanceof AsyncMessage) && fProvider.isNodeSupported(ISDGraphNodeSupporter.ASYNCMESSAGE)) {
- fCriteria.setAsyncMessageSelected(true);
- } else if (gn instanceof Stop && fProvider.isNodeSupported(ISDGraphNodeSupporter.STOP)) {
- fCriteria.setStopSelected(true);
- }
- }
- }
-
- /**
- * Called when the dialog box ok button is pressed and calls back the
- * appropriate action provider (ISDFilterProvider or ISDFindProvider).
- */
- @Override
- public void okPressed() {
- copyToCriteria();
- if (!fIsFind) {
- saveCriteria();
- super.close(); // Filter is modal
- }
- if ((fProvider != null) && (fProvider instanceof ISDFindProvider) && fIsFind) {
- boolean result = ((ISDFindProvider) fProvider).find(fCriteria);
- TabContents content = getTabContents();
- content.setResult(result);
- }
- }
-
- @Override
- public void cancelPressed() {
- if (fIsFind) {
- copyToCriteria();
- if (fProvider instanceof ISDFindProvider) {
- ((ISDFindProvider) fProvider).cancel();
- }
- saveCriteria();
- }
- super.cancelPressed();
- }
-
- /**
- * Saves the criteria to the dialog settings within the workspace.
- */
- public void saveCriteria() {
- String CRITERIA = FIND_CRITERIA;
- String EXPRESSION_LIST = FIND_EXPRESSION_LIST;
- if (!fIsFind) {
- CRITERIA = FILTER_CRITERIA;
- EXPRESSION_LIST = FILTER_EXPRESSION_LIST;
- }
- DialogSettings settings = (DialogSettings) Activator.getDefault().getDialogSettings();
- DialogSettings section = (DialogSettings) settings.getSection(CRITERIA);
- if (section == null) {
- section = (DialogSettings) settings.addNewSection(CRITERIA);
- }
- fCriteria.save(section);
-
- if (fCriteria.getExpression().length() > 0) {
- ArrayList<String> list = new ArrayList<>();
- for (int i = 0; i < fExpressionList.length; i++) {
- list.add(fExpressionList[i]);
- }
- // Remove the used expression if one from the dropdown list
- list.remove(fCriteria.getExpression());
- // Put the new expression at the beginning
- list.add(0, fCriteria.getExpression());
- // Fill in the expressionList, truncating to MAX_EXPRESSION_LIST
- int size = Math.min(list.size(), MAX_EXPRESSION_LIST);
- String[] temp = new String[size];
- for (int i = 0; i < size; i++) {
- temp[i] = list.get(i);
- }
- fExpressionList = temp;
- settings.put(EXPRESSION_LIST, fExpressionList);
- }
- }
-
- /**
- * Returns the criteria
- *
- * @return the criteria
- */
- public Criteria getCriteria() {
- return fCriteria;
- }
-
- /**
- * Sets the criteria.
- *
- * @param criteria
- * the criteria to set.
- */
- public void setCriteria(Criteria criteria) {
- fCriteria = criteria;
- }
-
- /**
- * Get the current end-user settings from the dialog to a Criteria
- */
- public void copyToCriteria() {
- fCriteria = new Criteria();
- TabContents content = getTabContents();
- fCriteria.setLifeLineSelected(content.isLifelineButtonSelected());
- fCriteria.setSyncMessageSelected(content.isSynMessageButtonSelected());
- fCriteria.setSyncMessageReturnSelected(content.isSynMessageReturnButtonSelected());
- fCriteria.setAsyncMessageSelected(content.isAsynMessageButtonSelected());
- fCriteria.setAsyncMessageReturnSelected(content.isAsynMessageReturnButtonSelected());
- fCriteria.setStopSelected(content.isStopButtonSelected());
- fCriteria.setCaseSenstiveSelected(content.isCaseSensitiveSelected());
- fCriteria.setExpression(content.getSearchText());
- }
-
- /**
- * Returns the tab content reference.
- *
- * @return the tab content
- */
- protected TabContents getTabContents() {
- TabContents content = null;
- if (fTabFolder == null) {
- content = (TabContents) getDialogArea();
- } else {
- content = (TabContents) fTabFolder.getSelection()[0].getControl();
- }
- return content;
- }
-
- /**
- * Initialize the dialog with the settings of an existing Criteria<br>
- * Criteria must not be null and the TabContents must have been created
- *
- * @param from
- * the criteria to copy from
- */
- public void copyFromCriteria(Criteria from) {
- TabContents content = getTabContents();
- content.setLifelineButtonSelection(from.isLifeLineSelected());
- content.setSynMessageButtonSelection(from.isSyncMessageSelected());
- content.setSynMessageReturnButtonSelection(from.isSyncMessageReturnSelected());
- content.setAsynMessageButtonSelection(from.isAsyncMessageSelected());
- content.setAsynMessageReturnButtonSelection(from.isSyncMessageReturnSelected());
- content.setStopButtonSelection(from.isStopSelected());
- content.setCaseSensitiveSelection(from.isCaseSenstiveSelected());
- if (from.getExpression() != null) {
- content.setSearchText(from.getExpression());
- }
- }
-
- /**
- * Sets the text to be used for the ok button
- *
- * @param okText
- * text to set
- */
- public void setOkText(String okText) {
- fOkText = okText;
- }
-
- /**
- * Sets the title to be used for the dialog box.
- *
- * @param title
- * The title to set
- */
- public void setTitle(String title) {
- fTitle = title;
- }
-
- /**
- * Gets the text to be used for the ok button
- *
- * @return the text to be used for the ok button
- * @since 2.0
- */
- public String getOkText() {
- return fOkText;
- }
-
- /**
- * Sets the IsFind flag (true for find, else for filter)
- *
- * @param flag value to set
- * @since 2.0
- */
- protected void setIsFind(boolean flag) {
- fIsFind = flag;
- }
-
- /**
- * Gets the title to be used for the dialog box.
- *
- * @return the title to be used for the dialog box.
- * @since 2.0
- */
- public String getTitle() {
- return fTitle;
- }
-
- /**
- * Gets the IsFind flag (true for find, else for filter)
- *
- * @return true for find, else for filter
- * @since 2.0
- */
- protected boolean isFind() {
- return fIsFind;
- }
-
-
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/dialogs/TabContents.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/dialogs/TabContents.java
deleted file mode 100755
index eb453783ee..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/dialogs/TabContents.java
+++ /dev/null
@@ -1,476 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2005, 2013 IBM Corporation, 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:
- * IBM - Initial API and implementation
- * Bernd Hufmann - Updated for TMF
- **********************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.views.uml2sd.dialogs;
-
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.handlers.provider.ISDGraphNodeSupporter;
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.util.Messages;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.ModifyEvent;
-import org.eclipse.swt.events.ModifyListener;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.events.SelectionListener;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Combo;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Group;
-import org.eclipse.swt.widgets.Label;
-
-/**
- * Class implementation contains the controls that allows to create or update a find or filter Criteria.
- *
- * @version 1.0
- * @author sveyrier
- */
-public class TabContents extends Composite {
-
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
- /**
- * The button for lifelines.
- */
- private Button fLifelineButton;
- /**
- * The button for stops.
- */
- private Button fStopButton = null;
- /**
- * The button for synchronous messages
- */
- private Button fSynMessageButton = null;
- /**
- * The button for synchronous return messages
- */
- private Button fSynMessageReturnButton = null;
- /**
- * The button for asynchronous messages
- */
- private Button fAsynMessageButton = null;
- /**
- * The button for asynchronous return messages
- */
- private Button fAsynMessageReturnButton = null;
- /**
- * The search text combo box.
- */
- private Combo fSearchText = null;
- /**
- * The button for case sensitive expressions.
- */
- private Button fCaseSensitive = null;
- /**
- * The label for the result string.
- */
- private Label fResult = null;
- /**
- * The button for notifying parent about valid data.
- */
- private Button fParentOkButton = null;
-
- // ------------------------------------------------------------------------
- // Constructors
- // ------------------------------------------------------------------------
-
- /**
- * Creates the dialog contents
- *
- * @param parent the parent widget
- * @param provider the provider which handle the action
- * @param okButton of the dialog (to be enabled/disabled)
- * @param expressionList list of strings already searched for
- */
- public TabContents(Composite parent, ISDGraphNodeSupporter provider, Button okButton, String[] expressionList) {
- super(parent, SWT.NONE);
- fParentOkButton = okButton;
- setLayout(new GridLayout());
-
- GraphNodeTypeListener graphNodeTypeListener = new GraphNodeTypeListener();
- ExpressionListener expressionListener = new ExpressionListener();
-
- // Inform the user how to fill the string to search
- Label searchTitle = new Label(this, SWT.LEFT);
- searchTitle.setText(Messages.SequenceDiagram_MatchingString);
- Composite searchPart = new Composite(this, SWT.NONE);
- GridData searchPartData = new GridData(GridData.HORIZONTAL_ALIGN_FILL | GridData.VERTICAL_ALIGN_FILL);
- GridLayout searchPartLayout = new GridLayout();
- searchPartLayout.numColumns = 2;
- searchPart.setLayout(searchPartLayout);
- searchPart.setLayoutData(searchPartData);
-
- // Create the user string input area
- fSearchText = new Combo(searchPart, SWT.DROP_DOWN);
- GridData comboData = new GridData(GridData.GRAB_HORIZONTAL | GridData.HORIZONTAL_ALIGN_FILL | GridData.GRAB_VERTICAL | GridData.VERTICAL_ALIGN_FILL);
- /*
- * GridData tabLayoutData2 = new GridData(GridData.HORIZONTAL_ALIGN_FILL| GridData.VERTICAL_ALIGN_FILL);
- */
- fSearchText.setLayoutData(comboData);
- if (expressionList != null) {
- for (int i = 0; i < expressionList.length; i++) {
- fSearchText.add(expressionList[i]);
- }
- }
- fSearchText.addModifyListener(expressionListener);
-
- // Create the case sensitive check button
- fCaseSensitive = new Button(searchPart, SWT.CHECK);
- fCaseSensitive.setText(Messages.SequenceDiagram_CaseSensitive);
-
- // Create the group for searched graph node kind selection
- Group kindSelection = new Group(this, SWT.SHADOW_NONE);
- kindSelection.setText(Messages.SequenceDiagram_SearchFor);
- // kindSelection.setLayoutData(tabLayoutData2);
- GridLayout kindSelectionLayout = new GridLayout();
- kindSelectionLayout.numColumns = 1;
- kindSelection.setLayout(kindSelectionLayout);
- GridData kindSelectionData = new GridData(GridData.HORIZONTAL_ALIGN_FILL | GridData.GRAB_HORIZONTAL | GridData.VERTICAL_ALIGN_FILL);
- kindSelection.setLayoutData(kindSelectionData);
-
- // Create the lifeline check button
- if (provider != null && provider.isNodeSupported(ISDGraphNodeSupporter.LIFELINE)) {
- fLifelineButton = new Button(kindSelection, SWT.CHECK);
- String nodeName = provider.getNodeName(ISDGraphNodeSupporter.LIFELINE, null);
- if (nodeName != null) {
- fLifelineButton.setText(nodeName);
- } else {
- fLifelineButton.setText(Messages.SequenceDiagram_Lifeline);
- }
- fLifelineButton.setEnabled(true);
- fLifelineButton.addSelectionListener(graphNodeTypeListener);
- }
-
- if (provider != null && provider.isNodeSupported(ISDGraphNodeSupporter.STOP)) {
- // Create the stop check button
- fStopButton = new Button(kindSelection, SWT.CHECK);
- String nodeName = provider.getNodeName(ISDGraphNodeSupporter.STOP, null);
- if (nodeName != null) {
- fStopButton.setText(nodeName);
- } else {
- fStopButton.setText(Messages.SequenceDiagram_Stop);
- }
-
- fStopButton.setEnabled(true);
- fStopButton.addSelectionListener(graphNodeTypeListener);
- }
-
- if (provider != null && provider.isNodeSupported(ISDGraphNodeSupporter.SYNCMESSAGE)) {
- // Create the synchronous message check button
- fSynMessageButton = new Button(kindSelection, SWT.CHECK);
- String nodeName = provider.getNodeName(ISDGraphNodeSupporter.SYNCMESSAGE, null);
- if (nodeName != null) {
- fSynMessageButton.setText(nodeName);
- } else {
- fSynMessageButton.setText(Messages.SequenceDiagram_SynchronousMessage);
- }
- fSynMessageButton.setEnabled(true);
- fSynMessageButton.addSelectionListener(graphNodeTypeListener);
- }
-
- if (provider != null && provider.isNodeSupported(ISDGraphNodeSupporter.SYNCMESSAGERETURN)) {
- // Create the synchronous message return check button
- fSynMessageReturnButton = new Button(kindSelection, SWT.CHECK);
- String nodeName = provider.getNodeName(ISDGraphNodeSupporter.SYNCMESSAGERETURN, null);
- if (nodeName != null) {
- fSynMessageReturnButton.setText(nodeName);
- } else {
- fSynMessageReturnButton.setText(Messages.SequenceDiagram_SynchronousMessageReturn);
- }
- fSynMessageReturnButton.setEnabled(true);
- fSynMessageReturnButton.addSelectionListener(graphNodeTypeListener);
- }
-
- if (provider != null && provider.isNodeSupported(ISDGraphNodeSupporter.ASYNCMESSAGE)) {
- // Create the asynchronous message check button
- fAsynMessageButton = new Button(kindSelection, SWT.CHECK);
- String nodeName = provider.getNodeName(ISDGraphNodeSupporter.ASYNCMESSAGE, null);
- if (nodeName != null) {
- fAsynMessageButton.setText(nodeName);
- } else {
- fAsynMessageButton.setText(Messages.SequenceDiagram_AsynchronousMessage);
- }
- fAsynMessageButton.setEnabled(true);
- fAsynMessageButton.addSelectionListener(graphNodeTypeListener);
- }
-
- if (provider != null && provider.isNodeSupported(ISDGraphNodeSupporter.ASYNCMESSAGERETURN)) {
- // Create the asynchronous message return check button
- fAsynMessageReturnButton = new Button(kindSelection, SWT.CHECK);
- String nodeName = provider.getNodeName(ISDGraphNodeSupporter.ASYNCMESSAGERETURN, null);
- if (nodeName != null) {
- fAsynMessageReturnButton.setText(nodeName);
- } else {
- fAsynMessageReturnButton.setText(Messages.SequenceDiagram_AsynchronousMessageReturn);
- }
- fAsynMessageReturnButton.setEnabled(true);
- fAsynMessageReturnButton.addSelectionListener(graphNodeTypeListener);
- }
-
- fResult = new Label(this, SWT.LEFT);
- fResult.setText(Messages.SequenceDiagram_StringNotFound);
- fResult.setVisible(false);
- }
-
- // ------------------------------------------------------------------------
- // Methods
- // ------------------------------------------------------------------------
-
- /**
- * Set result text visibility
- * @param found <code>true</code> for found (enable visibility) else false
- */
- public void setResult(boolean found) {
- fResult.setVisible(!found);
- }
-
- /**
- * Updates parent OK button based on input data.
- */
- public void updateOkButton() {
- if (fParentOkButton == null) {
- return;
- }
- boolean enabled = (fSearchText.getText() != null && !fSearchText.getText().equals("")) && //$NON-NLS-1$
- (isLifelineButtonSelected() || isStopButtonSelected() || isSynMessageButtonSelected() || isSynMessageReturnButtonSelected() || isAsynMessageButtonSelected() || isAsynMessageReturnButtonSelected());
- fParentOkButton.setEnabled(enabled);
- }
-
- /**
- * Sets the parent OK button reference.
- *
- * @param okButton The parent OK button
- */
- public void setOkButton(Button okButton) {
- fParentOkButton = okButton;
- }
-
- /**
- * Returns the asynchronous message check button state
- *
- * @return true if check, false otherwise
- */
- public boolean isAsynMessageButtonSelected() {
- if (fAsynMessageButton != null) {
- return fAsynMessageButton.getSelection();
- }
- return false;
- }
-
- /**
- * Returns the asynchronous message return check button state
- *
- * @return true if check, false otherwise
- */
- public boolean isAsynMessageReturnButtonSelected() {
- if (fAsynMessageReturnButton != null) {
- return fAsynMessageReturnButton.getSelection();
- }
- return false;
- }
-
- /**
- * Returns the case sensitive check button state
- *
- * @return true if check, false otherwise
- */
- public boolean isCaseSensitiveSelected() {
- if (fCaseSensitive != null) {
- return fCaseSensitive.getSelection();
- }
- return false;
- }
-
- /**
- * Returns the lifeline check button state
- *
- * @return true if check, false otherwise
- */
- public boolean isLifelineButtonSelected() {
- if (fLifelineButton != null) {
- return fLifelineButton.getSelection();
- }
- return false;
- }
-
- /**
- * Returns the user input string
- *
- * @return the string to search for
- */
- public String getSearchText() {
- return fSearchText.getText();
- }
-
- /**
- * Returns the stop check button state
- *
- * @return true if check, false otherwise
- */
- public boolean isStopButtonSelected() {
- if (fStopButton != null) {
- return fStopButton.getSelection();
- }
- return false;
- }
-
- /**
- * Returns the synchronous message check button state
- *
- * @return true if check, false otherwise
- */
- public boolean isSynMessageButtonSelected() {
- if (fSynMessageButton != null) {
- return fSynMessageButton.getSelection();
- }
- return false;
- }
-
- /**
- * Returns the synchronous message return check button state
- *
- * @return true if check, false otherwise
- */
- public boolean isSynMessageReturnButtonSelected() {
- if (fSynMessageReturnButton != null) {
- return fSynMessageReturnButton.getSelection();
- }
- return false;
- }
-
- /**
- * Set the asynchronous message check button state
- *
- * @param state
- * The new state to set
- */
- public void setAsynMessageButtonSelection(boolean state) {
- if (fAsynMessageButton != null) {
- fAsynMessageButton.setSelection(state);
- }
- }
-
- /**
- * Set the asynchronous message return check button state
- *
- * @param state
- * The new state to set
- */
- public void setAsynMessageReturnButtonSelection(boolean state) {
- if (fAsynMessageReturnButton != null) {
- fAsynMessageReturnButton.setSelection(state);
- }
- }
-
- /**
- * Set the case sensitive check button state
- *
- * @param state
- * The new state to set
- */
- public void setCaseSensitiveSelection(boolean state) {
- if (fCaseSensitive != null) {
- fCaseSensitive.setSelection(state);
- }
- }
-
- /**
- * Set the lifeline check button state
- *
- * @param state
- * The new state to set
- */
- public void setLifelineButtonSelection(boolean state) {
- if (fLifelineButton != null) {
- fLifelineButton.setSelection(state);
- }
- }
-
- /**
- * Set the user input string
- *
- * @param text
- * The search text
- */
- public void setSearchText(String text) {
- fSearchText.setText(text);
- }
-
- /**
- * Set the stop check button state
- *
- * @param state
- * The new state to set
- */
- public void setStopButtonSelection(boolean state) {
- if (fStopButton != null) {
- fStopButton.setSelection(state);
- }
- }
-
- /**
- * Set the synchronous message check button state
- *
- * @param state
- * The new state to set
- */
- public void setSynMessageButtonSelection(boolean state) {
- if (fSynMessageButton != null) {
- fSynMessageButton.setSelection(state);
- }
- }
-
- /**
- * Set the synchronous message return check button state
- *
- * @param state
- * The new state to set
- */
- public void setSynMessageReturnButtonSelection(boolean state) {
- if (fSynMessageReturnButton != null) {
- fSynMessageReturnButton.setSelection(state);
- }
- }
-
- // ------------------------------------------------------------------------
- // Helper classes
- // ------------------------------------------------------------------------
-
- /**
- * Selection listener implementation for graph node types.
- * @version 1.0
- */
- protected class GraphNodeTypeListener implements SelectionListener {
- @Override
- public void widgetDefaultSelected(SelectionEvent e) {
- // Nothing to do
- }
-
- @Override
- public void widgetSelected(SelectionEvent e) {
- updateOkButton();
- }
- }
-
- /**
- * Modify listener implementation for the expression field.
- *
- * @version 1.0
- */
- protected class ExpressionListener implements ModifyListener {
- @Override
- public void modifyText(ModifyEvent e) {
- updateOkButton();
- }
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/drawings/IColor.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/drawings/IColor.java
deleted file mode 100755
index 7dd2575ef4..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/drawings/IColor.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2005, 2013 IBM Corporation, 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:
- * IBM - Initial API and implementation
- * Bernd Hufmann - Updated for TMF
- **********************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.views.uml2sd.drawings;
-
-/**
- * Interface for handling a color resource.
- *
- * @version 1.0
- * @author sveyrier
- */
-public interface IColor {
-
- /**
- * Returns the contained color. Returned object must be an instance of org.eclipse.swt.graphics.Color if used with
- * the org.eclipse.linuxtools.tmf.ui.views.uml2sd.NGC graphical context
- *
- * @return the color
- */
- Object getColor();
-
- /**
- * Disposes the color
- */
- void dispose();
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/drawings/IFont.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/drawings/IFont.java
deleted file mode 100755
index b11d1e261b..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/drawings/IFont.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2005, 2013 IBM Corporation, 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:
- * IBM - Initial API and implementation
- * Bernd Hufmann - Updated for TMF
- **********************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.views.uml2sd.drawings;
-
-/**
- * Interface for handling a font resource.
- *
- * @version 1.0
- * @author sveyrier
- */
-public interface IFont {
-
- /**
- * Returns the contained font. Returned object must be an instance of org.eclipse.swt.graphics.Font if used with the
- * org.eclipse.linuxtools.tmf.ui.views.uml2sd.NGC graphical context
- *
- * @return the font
- */
- Object getFont();
-
- /**
- * Disposes the font
- */
- void dispose();
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/drawings/IGC.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/drawings/IGC.java
deleted file mode 100755
index fba8aa7c14..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/drawings/IGC.java
+++ /dev/null
@@ -1,375 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2005, 2013 IBM Corporation, 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:
- * IBM - Initial API and implementation
- * Bernd Hufmann - Updated for TMF
- **********************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.views.uml2sd.drawings;
-
-/**
- * Interface for a graphical context.
- *
- * @version 1.0
- * @author sveyrier
- *
- */
-public interface IGC {
-
- /**
- * Set the current line style
- *
- * @param style the new line style
- */
- void setLineStyle(int style);
-
- /**
- * Returns current the line style used in the graphical context
- *
- * @return the current line style
- */
- int getLineStyle();
-
- /**
- * Returns the contents x coordinate that is at the upper left corner of the view
- *
- * @return the contents x coordinate
- */
- int getContentsX();
-
- /**
- * Returns the contents y coordinate that is at the upper left corner of the view
- *
- * @return the contents y coordinate
- */
- int getContentsY();
-
- /**
- * Returns the contents visible width
- *
- * @return the contents width
- */
- int getVisibleWidth();
-
- /**
- * Returns the contents visible height
- *
- * @return the contents height
- */
- int getVisibleHeight();
-
- /**
- * Translates the given contents x coordinate into view x coordinate
- *
- * @param x the x coordinate to translate
- * @return the corresponding view x coordinate
- */
- int contentsToViewX(int x);
-
- /**
- * Translates the given contents y coordinate into view y coordinate
- *
- * @param y the y coordinate to translate
- * @return the corresponding view y coordinate
- */
- int contentsToViewY(int y);
-
- /**
- * Draws a line, using the foreground color, between the points (x1, y1) and (x2, y2).
- *
- * @param x1 the first point's x coordinate
- * @param y1 the first point's y coordinate
- * @param x2 the second point's x coordinate
- * @param y2 the second point's y coordinate
- */
- void drawLine(int x1, int y1, int x2, int y2);
-
- /**
- * Draws the outline of the rectangle specified by the arguments, using the receiver's foreground color. The left
- * and right edges of the rectangle are at x and x + width. The top and bottom edges are at y and y + height.
- *
- * @param x the x coordinate of the rectangle to be drawn
- * @param y the y coordinate of the rectangle to be drawn
- * @param width the width of the rectangle to be drawn
- * @param height the height of the rectangle to be drawn
- */
- void drawRectangle(int x, int y, int width, int height);
-
- /**
- * Draws a rectangle, based on the specified arguments, which has the appearance of the platform's focus rectangle
- * if the platform supports such a notion, and otherwise draws a simple rectangle in the receiver's foreground
- * color.
- *
- * @param x the x coordinate of the rectangle
- * @param y the y coordinate of the rectangle
- * @param width the width of the rectangle
- * @param height the height of the rectangle
- */
- void drawFocus(int x, int y, int width, int height);
-
- /**
- * Fills the interior of the closed polygon which is defined by the specified array of integer coordinates, using
- * the receiver's background color. The array contains alternating x and y values which are considered to represent
- * points which are the vertices of the polygon. Lines are drawn between each consecutive pair, and between the
- * first pair and last pair in the array.
- *
- * @param points an array of alternating x and y values which are the vertices of the polygon
- */
- void fillPolygon(int[] points);
-
- /**
- * Draws the closed polygon which is defined by the specified array of integer coordinates, using the receiver's
- * foreground color. The array contains alternating x and y values which are considered to represent points which
- * are the vertices of the polygon. Lines are drawn between each consecutive pair, and between the first pair and
- * last pair in the array.
- *
- * @param points an array of alternating x and y values which are the vertices of the polygon
- */
- void drawPolygon(int[] points);
-
- /**
- * Fills the interior of the rectangle specified by the arguments, using the receiver's background color.
- *
- * @param x the x coordinate of the rectangle to be filled
- * @param y the y coordinate of the rectangle to be filled
- * @param width the width of the rectangle to be filled
- * @param height the height of the rectangle to be filled
- */
- void fillRectangle(int x, int y, int width, int height);
-
- /**
- * Fills the interior of the specified rectangle with a gradient sweeping from left to right or top to bottom
- * progressing from the graphical context gradient color to its background color.
- *
- * @param x the x coordinate of the rectangle to be filled
- * @param y the y coordinate of the rectangle to be filled
- * @param width the width of the rectangle to be filled, may be negative (inverts direction of gradient if
- * horizontal)
- * @param height the height of the rectangle to be filled, may be negative (inverts direction of gradient if
- * horizontal)
- * @param vertical if true sweeps from top to bottom, else sweeps from left to right
- */
- void fillGradientRectangle(int x, int y, int width, int height, boolean vertical);
-
- /**
- * Returns the given string width in pixels
- *
- * @param name the string
- * @return the string width
- */
- int textExtent(String name);
-
- /**
- * Draws the given string, using the receiver's current font and foreground color. Tab expansion and carriage return
- * processing are performed. If trans is true, then the background of the rectangular area where the text is being
- * drawn will not be modified, otherwise it will be filled with the receiver's background color.
- *
- * @param string the string to be drawn
- * @param x the x coordinate of the top left corner of the rectangular area where the text is to be drawn
- * @param y the y coordinate of the top left corner of the rectangular area where the text is to be drawn
- * @param trans if true the background will be transparent, otherwise it will be opaque
- */
- void drawText(String string, int x, int y, boolean trans);
-
- /**
- * Draws the given string, using the receiver's current font and foreground color. Tab expansion and carriage return
- * processing are performed. The background of the rectangular area where the text is being drawn will be filled
- * with the receiver's background color.
- *
- * @param string the string to be drawn
- * @param x the x coordinate of the top left corner of the rectangular area where the text is to be drawn
- * @param y the y coordinate of the top left corner of the rectangular area where the text is to be drawn
- */
- void drawText(String string, int x, int y);
-
- /**
- * Fills the interior of an oval, within the specified rectangular area, with the receiver's background color.
- *
- * @param x the x coordinate of the upper left corner of the oval to be filled
- * @param y the y coordinate of the upper left corner of the oval to be filled
- * @param width the width of the oval to be filled
- * @param height the width of the oval to be filled
- */
- void fillOval(int x, int y, int width, int height);
-
- /**
- * Returns current the background color used in the graphical context
- *
- * @return the background color
- */
- IColor getBackground();
-
- /**
- * Returns current the background color used in the graphical context
- *
- * @return the background color
- */
- IColor getForeground();
-
- /**
- * Set the graphical context foreground color
- *
- * @param color the foreground color
- */
- void setBackground(IColor color);
-
- /**
- * Set the graphical context background color
- *
- * @param color the background color
- */
- void setForeground(IColor color);
-
- /**
- * Set the color to use when filling regions using gradient. The color will progess from the given color to the
- * current background color
- *
- * @param color the gardiient color to use
- */
- void setGradientColor(IColor color);
-
- /**
- * Set the line width to use for drawing
- *
- * @param width the line width
- */
- void setLineWidth(int width);
-
- /**
- * Returns the current graphical context line width used for drawing
- *
- * @return the line width
- */
- int getLineWidth();
-
- /**
- * Returns the LineDotD style constant
- *
- * @return the constant value
- */
- int getLineDotStyle();
-
- /**
- * Returns the LineDash style constant
- *
- * @return the constant
- */
- int getLineDashStyle();
-
- /**
- * Returns the LineSolid style constant
- *
- * @return the constant
- */
- int getLineSolidStyle();
-
- /**
- * Draws the given string centered into the given rectangle. If the string cannot fit in the rectangle area, the
- * string is truncated. If trans is true, then the background of the rectangular area where the text is being drawn
- * will not be modified, otherwise it will be filled with the receiver's background color.
- *
- * @param name the string to draw
- * @param x the x coordinate of the rectangle to draw the string
- * @param y the y coordinate of the rectangle to draw the string
- * @param width the width of the rectangle to draw the string
- * @param height the height of the rectangle to draw the string
- * @param trans if true the background will be transparent, otherwise it will be opaque
- */
- void drawTextTruncatedCentred(String name, int x, int y, int width, int height, boolean trans);
-
- /**
- * Draws the given string into the given rectangle (left justify) If the string cannot fit in the rectangle area,
- * the string is truncated. If trans is true, then the background of the rectangular area where the text is being
- * drawn will not be modified, otherwise it will be filled with the receiver's background color.
- *
- * @param name The text to put in the rectangle
- * @param x the x coordinate of the rectangle to draw the string
- * @param y the y coordinate of the rectangle to draw the string
- * @param width the width of the rectangle to draw the string
- * @param height the height of the rectangle to draw the string
- * @param trans if true the background will be transparent, otherwise it will be opaque
- */
- void drawTextTruncated(String name, int x, int y, int width, int height, boolean trans);
-
- /**
- * Copies a the source image into a (potentially different sized) rectangular area in the graphical context. If the
- * source image has smaller sizes, then the source area will be stretched to fit the destination area as it is
- * copied.
- *
- * @param image the image to draw
- * @param x the x coordinate in the destination to copy to
- * @param y the y coordinate in the destination to copy to
- * @param maxWith the width in pixels of the destination rectangle
- * @param maxHeight the height in pixels of the destination rectangle
- */
- void drawImage(IImage image, int x, int y, int maxWith, int maxHeight);
-
- /**
- * Draws the outline of a circular or elliptical arc within the specified rectangular area. The resulting arc begins
- * at startAngle and extends for arcAngle degrees, using the current color. Angles are interpreted such that 0
- * degrees is at the 3 o'clock position. A positive value indicates a counter-clockwise rotation while a negative
- * value indicates a clockwise rotation. The center of the arc is the center of the rectangle whose origin is (x, y)
- * and whose size is specified by the width and height arguments. The resulting arc covers an area width + 1 pixels
- * wide by height + 1 pixels tall.
- *
- * @param x the x coordinate of the upper-left corner of the arc to be drawn
- * @param y the y coordinate of the upper-left corner of the arc to be drawn
- * @param width the width of the arc to be drawn
- * @param height the height of the arc to be drawn
- * @param startAngle the beginning angle
- * @param endAngle the ending angle
- */
- void drawArc(int x, int y, int width, int height, int startAngle, int endAngle);
-
- /**
- * Set the current font used in the graphical context
- *
- * @param font the font to use
- */
- void setFont(IFont font);
-
- /**
- * Returns the font height given font
- *
- * @param font The font to check for
- * @return the the font height
- */
- int getFontHeight(IFont font);
-
- /**
- * Returns the average character width for the given font
- *
- * @param font The font to check for
- * @return the average width
- */
- int getFontWidth(IFont font);
-
- /**
- * Creates a color with the given RGB values
- *
- * @param r the red component
- * @param g the green component
- * @param b the blue component
- * @return the color
- */
- IColor createColor(int r, int g, int b);
-
- /**
- * Returns the zoom factor applied in both x and y directions when drawing
- *
- * @return the zoom factor
- */
- float getZoom();
-
- /**
- * Draws text with focus style.
- *
- * @param focus <code>true</code> if item has focus else <code>false</code>
- */
- void setDrawTextWithFocusStyle(boolean focus);
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/drawings/IImage.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/drawings/IImage.java
deleted file mode 100755
index ec5db3fe10..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/drawings/IImage.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2005, 2013 IBM Corporation, 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:
- * IBM - Initial API and implementation
- * Bernd Hufmann - Updated for TMF
- **********************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.views.uml2sd.drawings;
-
-/**
- * Interface for handling a image resource.
- *
- * @version 1.0
- * @author sveyrier
- *
- */
-public interface IImage {
-
- /**
- * Returns the contained image. Returned object must be an instance of org.eclipse.swt.graphics.Image if used with
- * the org.eclipse.linuxtools.tmf.ui.views.uml2sd.NGC graphical context
- *
- * @return the color
- */
- Object getImage();
-
- /**
- * Disposes the image
- */
- void dispose();
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/drawings/impl/ColorImpl.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/drawings/impl/ColorImpl.java
deleted file mode 100755
index 940565050a..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/drawings/impl/ColorImpl.java
+++ /dev/null
@@ -1,92 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2005, 2013 IBM Corporation, 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:
- * IBM - Initial API and implementation
- * Bernd Hufmann - Updated for TMF
- **********************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.views.uml2sd.drawings.impl;
-
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.drawings.IColor;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.widgets.Display;
-
-/**
- * Default implementation of the IColor interface.
- *
- * @version 1.0
- * @author sveyrier
- *
- */
-public class ColorImpl implements IColor {
-
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
- /**
- * The color object.
- */
- private final Color fColor;
- /**
- * Flag to indicate that this object is managing the resource.
- */
- private boolean fManageColor = true;
-
- // ------------------------------------------------------------------------
- // Constructors
- // ------------------------------------------------------------------------
- /**
- * Constructor
- *
- * @param display The display to use
- * @param r A value for red
- * @param g A value for green
- * @param b A value for blue
- */
- public ColorImpl(Display display, int r, int g, int b) {
- fColor = new Color(display, r, g, b);
- }
-
- /**
- * Copy constructor
- *
- * @param color
- * A color to copy
- */
- protected ColorImpl(Color color) {
- fColor = color;
- fManageColor = false;
- }
-
- // ------------------------------------------------------------------------
- // Methods
- // ------------------------------------------------------------------------
-
- /**
- * Returns a system color.
- *
- * @param color The color ID
- * @return a system color
- */
- public static ColorImpl getSystemColor(int color) {
- return new ColorImpl(Display.getDefault().getSystemColor(color));
- }
-
- @Override
- public Object getColor() {
- return fColor;
- }
-
- @Override
- public void dispose() {
- if ((fColor != null) && (fManageColor)) {
- fColor.dispose();
- }
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/drawings/impl/FontImpl.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/drawings/impl/FontImpl.java
deleted file mode 100755
index 6c7b2a95da..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/drawings/impl/FontImpl.java
+++ /dev/null
@@ -1,89 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2005, 2013 IBM Corporation, 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:
- * IBM - Initial API and implementation
- * Bernd Hufmann - Updated for TMF
- **********************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.views.uml2sd.drawings.impl;
-
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.drawings.IFont;
-import org.eclipse.swt.graphics.Font;
-import org.eclipse.swt.graphics.FontData;
-import org.eclipse.swt.widgets.Display;
-
-/**
- * Default implementation of the IFont interface.
- *
- * @version 1.0
- * @author sveyrier
- *
- */
-public class FontImpl implements IFont {
-
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
-
- /**
- * The font object
- */
- private final Font fFont;
- /**
- * Flag to indicate that this object is managing the resource.
- */
- protected boolean fManageFont = true;
-
- // ------------------------------------------------------------------------
- // Constructors
- // ------------------------------------------------------------------------
- /**
- * Default constructor.
- *
- * @param display The display to use
- * @param data A font data
- */
- public FontImpl(Display display, FontData data) {
- fFont = new Font(display, data);
- }
-
- /**
- * Copy constructor
- *
- * @param value A font to copy.
- */
- protected FontImpl(Font value) {
- fFont = value;
- fManageFont = false;
- }
-
- // ------------------------------------------------------------------------
- // Methods
- // ------------------------------------------------------------------------
-
- /**
- * Returns a font implementation based system font.
- *
- * @return a font implementation based system font.
- */
- public static FontImpl getSystemFont() {
- return new FontImpl(Display.getDefault().getSystemFont());
- }
-
- @Override
- public Object getFont() {
- return fFont;
- }
-
- @Override
- public void dispose() {
- if (fFont != null) {
- fFont.dispose();
- }
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/drawings/impl/ImageImpl.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/drawings/impl/ImageImpl.java
deleted file mode 100755
index 9935315c6f..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/drawings/impl/ImageImpl.java
+++ /dev/null
@@ -1,105 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2005, 2013 IBM Corporation, 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:
- * IBM - Initial API and implementation
- * Bernd Hufmann - Updated for TMF
- **********************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.views.uml2sd.drawings.impl;
-
-import java.net.MalformedURLException;
-import java.net.URL;
-
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.linuxtools.internal.tmf.ui.Activator;
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.drawings.IImage;
-import org.eclipse.swt.graphics.Image;
-
-/**
- * Default implementation of the IImage interface.
- *
- * @version 1.0
- * @author sveyrier
- *
- */
-public class ImageImpl implements IImage {
-
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
-
- /**
- * The image reference
- */
- private final Image fImage;
-
- // ------------------------------------------------------------------------
- // Constructors
- // ------------------------------------------------------------------------
- /**
- * Default constructor.
- *
- * @param file A file name of image file.
- */
- public ImageImpl(String file) {
- fImage = createResourceImage(file);
- }
-
- /**
- * Copy constructor
- *
- * @param image THe image to copy
- */
- public ImageImpl(Image image) {
- fImage = image;
- }
-
- // ------------------------------------------------------------------------
- // Methods
- // ------------------------------------------------------------------------
- /**
- * Returns Image object from file name.
- *
- * @param name File name of image file
- * @return image object or <code>null</code>
- */
- public Image getResourceImage(String name) {
- return createResourceImage(name);
- }
-
- @Override
- public Object getImage() {
- return fImage;
- }
-
- @Override
- public void dispose() {
- if (fImage != null) {
- fImage.dispose();
- }
- }
-
- /**
- * Returns Image object from file name.
- *
- * @param name File name of image file
- * @return image object or <code>null</code>
- */
- private static Image createResourceImage(String name) {
- try {
- URL BASIC_URL = new URL("platform", "localhost", "plugin");//$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- URL url = new URL(BASIC_URL, "plugin/org.eclipse.linuxtools.tmf.ui/icons/" + name);//$NON-NLS-1$
- ImageDescriptor img = ImageDescriptor.createFromURL(url);
- return img.createImage();
- } catch (MalformedURLException e) {
- Activator.getDefault().logError("Error opening image file", e); //$NON-NLS-1$
- }
- return null;
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/handlers/BaseSDAction.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/handlers/BaseSDAction.java
deleted file mode 100644
index d32b0298fe..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/handlers/BaseSDAction.java
+++ /dev/null
@@ -1,89 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2013 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:
- * Bernd Hufmann - Initial API and implementation
- **********************************************************************/
-package org.eclipse.linuxtools.tmf.ui.views.uml2sd.handlers;
-
-import org.eclipse.jface.action.Action;
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.SDView;
-
-/**
- * Base class for sequence diagram actions.
- *
- * @author Bernd Hufmann
- * @since 2.0
- */
-public class BaseSDAction extends Action {
-
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
- /**
- * The sequence diagram view reference.
- */
- private SDView fView = null;
-
- // ------------------------------------------------------------------------
- // Constructors
- // ------------------------------------------------------------------------
- /**
- * Default constructor
- */
- public BaseSDAction() {
- this(null);
- }
-
- /**
- * Constructor
- *
- * @param view
- * a sequence diagram view reference
- */
- public BaseSDAction(SDView view) {
- super();
- fView = view;
- }
-
- /**
- * Constructor
- * @param view
- * a sequence diagram view reference
- * @param text
- * The action text
- * @param style
- * The style
- */
- protected BaseSDAction(SDView view, String text, int style) {
- super(text, style);
- fView = view;
- }
-
- // ------------------------------------------------------------------------
- // Operations
- // ------------------------------------------------------------------------
-
- /**
- * Sets the active SD view.
- *
- * @param view The SD view.
- */
- public void setView(SDView view) {
- fView = view;
- }
-
- /**
- * Gets the active SD view.
- *
- * @return view The SD view.
- * @since 2.0
- */
- public SDView getView() {
- return fView;
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/handlers/ConfigureMinMax.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/handlers/ConfigureMinMax.java
deleted file mode 100755
index a9e62c3af6..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/handlers/ConfigureMinMax.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2005, 2013 IBM Corporation, 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:
- * IBM - Initial API and implementation
- * Bernd Hufmann - Updated for TMF
- **********************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.views.uml2sd.handlers;
-
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.SDView;
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.dialogs.MinMaxDialog;
-
-/**
- * Action class implementation to configure minimum and maximum time range values.
- *
- * @version 1.0
- * @author sveyrier
- *
- */
-public class ConfigureMinMax extends BaseSDAction {
-
- /**
- * Constructor
- * @param view
- * the sequence diagram view reference
- * @since 2.0
- */
- public ConfigureMinMax(SDView view) {
- super(view);
- }
- // ------------------------------------------------------------------------
- // Methods
- // ------------------------------------------------------------------------
- @Override
- public void run() {
- if ((getView() != null) && (getView().getSDWidget() != null)) {
- MinMaxDialog minMax = new MinMaxDialog(getView().getSite().getShell(), getView().getSDWidget());
- minMax.open();
- }
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/handlers/FirstPage.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/handlers/FirstPage.java
deleted file mode 100644
index dadf31b11f..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/handlers/FirstPage.java
+++ /dev/null
@@ -1,68 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2011, 2013 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:
- * Bernd Hufmann - Initial API and implementation
- **********************************************************************/
-package org.eclipse.linuxtools.tmf.ui.views.uml2sd.handlers;
-
-import org.eclipse.linuxtools.internal.tmf.ui.Activator;
-import org.eclipse.linuxtools.internal.tmf.ui.ITmfImageConstants;
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.SDView;
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.util.Messages;
-
-/**
- * Action class implementation to move the focus to the first page of the whole sequence diagram.
- *
- * @version 1.0
- * @author Bernd Hufmann
- */
-public class FirstPage extends BaseSDAction {
-
- // ------------------------------------------------------------------------
- // Constants
- // ------------------------------------------------------------------------
-
- /**
- * The action ID.
- */
- public static final String ID = "org.eclipse.linuxtools.tmf.ui.views.uml2sd.handlers.firstpage"; //$NON-NLS-1$
-
- // ------------------------------------------------------------------------
- // Constructors
- // ------------------------------------------------------------------------
-
- /**
- * Default constructor
- *
- * @param view the view reference
- */
- public FirstPage(SDView view) {
- super(view);
- setText(Messages.SequenceDiagram_FirstPage);
- setToolTipText(Messages.SequenceDiagram_GoToFirstPage);
- setId(ID);
- setImageDescriptor(Activator.getDefault().getImageDescripterFromPath(ITmfImageConstants.IMG_UI_FIRST_PAGE));
- }
-
- // ------------------------------------------------------------------------
- // Methods
- // ------------------------------------------------------------------------
-
- @Override
- public void run() {
- if ((getView() == null) || (getView().getSDWidget()) == null) {
- return;
- }
- if (getView().getSDPagingProvider() != null) {
- getView().getSDPagingProvider().firstPage();
- }
- getView().updateCoolBar();
- getView().getSDWidget().redraw();
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/handlers/KeyBindingsManager.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/handlers/KeyBindingsManager.java
deleted file mode 100644
index 836da95955..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/handlers/KeyBindingsManager.java
+++ /dev/null
@@ -1,304 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2011, 2013 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:
- * Bernd Hufmann - Initial API and implementation
- **********************************************************************/
-package org.eclipse.linuxtools.tmf.ui.views.uml2sd.handlers;
-
-import java.util.ArrayList;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Set;
-
-import org.eclipse.core.commands.AbstractHandler;
-import org.eclipse.core.commands.ExecutionEvent;
-import org.eclipse.core.commands.ExecutionException;
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.SDView;
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.util.Messages;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.handlers.IHandlerActivation;
-import org.eclipse.ui.handlers.IHandlerService;
-
-/**
- * <p>
- * Singleton class that manages key-bindings for certain commands across multiple sequence
- * diagram view instances.
- * </p>
- *
- * @version 1.0
- * @author Bernd Hufmann
- *
- */
-public class KeyBindingsManager {
-
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
-
- /**
- * The singleton instance.
- */
- private static KeyBindingsManager fInstance = null;
- /**
- * The list of view names.
- */
- private Set<String> fViews = new HashSet<>();
- /**
- * The list of activations Activations to store
- */
- private List<IHandlerActivation> fHandlerActivations = new ArrayList<>();
- /**
- * The action reference for moving to a message in view.
- */
- private MoveToMessage fGoToMessageForKeyBinding;
- /**
- * The action reference for opening the find dialog.
- */
- private OpenSDFindDialog fFindForKeyBinding;
- /**
- * The action reference for moving up in view.
- */
- private MoveSDUp fMoveUpForKeyBinding;
- /**
- * The action reference for moving down in view.
- */
- private MoveSDDown fMoveDownForKeyBinding;
- /**
- * The action reference for moving left in view.
- */
- private MoveSDLeft fMoveLeftForKeyBinding;
- /**
- * The action reference for moving right in view.
- */
- private MoveSDRight fMoveRightForKeyBinding;
- /**
- * The action reference for showing node start.
- */
- private ShowNodeStart fShowNodeStartForKeyBinding;
- /**
- * The action reference for showing node end.
- */
- private ShowNodeEnd fShowNodeEndForKeyBinding;
-
- // ------------------------------------------------------------------------
- // Constructor
- // ------------------------------------------------------------------------
-
- /**
- * Constructor
- */
- protected KeyBindingsManager() {
- }
-
- // ------------------------------------------------------------------------
- // Methods
- // ------------------------------------------------------------------------
- /**
- * Returns the KeyBindingsManager singleton instance.
- *
- * @return the KeyBindingsManager singleton instance
- */
- public static synchronized KeyBindingsManager getInstance() {
- if (fInstance == null) {
- fInstance = new KeyBindingsManager();
- }
- return fInstance;
- }
-
- /**
- * Adds a view list of managed view list.
- *
- * @param viewId Id of SD view to add and to manage
- */
- public void add(String viewId) {
-
- if (fViews.isEmpty()) {
- initialize();
- }
-
- if(!fViews.contains(viewId)) {
- fViews.add(viewId);
- }
- }
-
- /**
- * Removes a view from managed view list
- *
- * @param viewId Id of SD view to remove
- */
- public void remove(String viewId) {
- if (fViews.contains(viewId)) {
- fViews.remove(viewId);
- }
- if (fViews.isEmpty()) {
- dispose();
- }
- }
-
- /*
- * Initialized the KeyBindingsManager.
- */
- private void initialize() {
- fGoToMessageForKeyBinding = new MoveToMessage();
- Object serviceObject = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getService(IHandlerService.class);
- IHandlerService service = (IHandlerService) serviceObject;
- AbstractHandler handler = new AbstractHandler() {
- @Override
- public Object execute(ExecutionEvent event) throws ExecutionException {
- fGoToMessageForKeyBinding.run();
- return null;
- }
- };
- IHandlerActivation activation = service.activateHandler(fGoToMessageForKeyBinding.getActionDefinitionId(), handler);
- fHandlerActivations.add(activation);
-
- fMoveUpForKeyBinding = new MoveSDUp();
- handler = new AbstractHandler() {
- @Override
- public Object execute(ExecutionEvent event) throws ExecutionException {
- fMoveUpForKeyBinding.run();
- return null;
- }
- };
- activation = service.activateHandler(fMoveUpForKeyBinding.getActionDefinitionId(), handler);
- fHandlerActivations.add(activation);
-
- fMoveDownForKeyBinding = new MoveSDDown();
- handler = new AbstractHandler() {
- @Override
- public Object execute(ExecutionEvent event) throws ExecutionException {
- fMoveDownForKeyBinding.run();
- return null;
- }
- };
- activation = service.activateHandler(fMoveDownForKeyBinding.getActionDefinitionId(), handler);
- fHandlerActivations.add(activation);
-
- fMoveLeftForKeyBinding = new MoveSDLeft();
- handler = new AbstractHandler() {
- @Override
- public Object execute(ExecutionEvent event) throws ExecutionException {
- fMoveLeftForKeyBinding.run();
- return null;
- }
- };
- activation = service.activateHandler(fMoveLeftForKeyBinding.getActionDefinitionId(), handler);
- fHandlerActivations.add(activation);
-
- fMoveRightForKeyBinding = new MoveSDRight();
- handler = new AbstractHandler() {
- @Override
- public Object execute(ExecutionEvent event) throws ExecutionException {
- fMoveRightForKeyBinding.run();
- return null;
- }
- };
- activation = service.activateHandler(fMoveRightForKeyBinding.getActionDefinitionId(), handler);
- fHandlerActivations.add(activation);
-
- fFindForKeyBinding = new OpenSDFindDialog();
- handler = new AbstractHandler() {
- @Override
- public Object execute(ExecutionEvent event) throws ExecutionException {
- fFindForKeyBinding.run();
- return null;
- }
- };
- activation = service.activateHandler(fFindForKeyBinding.getActionDefinitionId(), handler);
- fFindForKeyBinding.setEnabled(false);
- fHandlerActivations.add(activation);
-
- fShowNodeStartForKeyBinding = new ShowNodeStart();
- fShowNodeStartForKeyBinding.setText(Messages.SequenceDiagram_ShowNodeStart);
-
- fShowNodeStartForKeyBinding.setId("org.eclipse.linuxtools.tmf.ui.views.uml2sd.handlers.ShowNodeStart");//$NON-NLS-1$
- fShowNodeStartForKeyBinding.setActionDefinitionId("org.eclipse.linuxtools.tmf.ui.views.uml2sd.handlers.ShowNodeStart");//$NON-NLS-1$
-
- handler = new AbstractHandler() {
- @Override
- public Object execute(ExecutionEvent event) throws ExecutionException {
- fShowNodeStartForKeyBinding.run();
- return null;
- }
- };
- activation = service.activateHandler(fShowNodeStartForKeyBinding.getActionDefinitionId(), handler);
- fHandlerActivations.add(activation);
-
- fShowNodeEndForKeyBinding = new ShowNodeEnd();
- fShowNodeEndForKeyBinding.setText(Messages.SequenceDiagram_ShowNodeEnd);
- fShowNodeEndForKeyBinding.setId("org.eclipse.linuxtools.tmf.ui.views.uml2sd.handlers.ShowNodeEnd");//$NON-NLS-1$
- fShowNodeEndForKeyBinding.setActionDefinitionId("org.eclipse.linuxtools.tmf.ui.views.uml2sd.handlers.ShowNodeEnd");//$NON-NLS-1$
-
- handler = new AbstractHandler() {
- @Override
- public Object execute(ExecutionEvent event) throws ExecutionException {
- fShowNodeEndForKeyBinding.run();
- return null;
- }
- };
- activation = service.activateHandler(fShowNodeEndForKeyBinding.getActionDefinitionId(), handler);
- fHandlerActivations.add(activation);
-
- }
-
- /*
- * Disposes the KeyBindingsManager
- */
- private void dispose() {
- IWorkbenchWindow window = PlatformUI.getWorkbench().getActiveWorkbenchWindow();
- if (window == null) {
- //During Eclipse shutdown the active workbench window is null
- return;
- }
- Object serviceObject = window.getService(IHandlerService.class);
- IHandlerService service = (IHandlerService) serviceObject;
- for(IHandlerActivation activation : fHandlerActivations) {
- service.deactivateHandler(activation);
- }
-
- fGoToMessageForKeyBinding = null;
- fFindForKeyBinding = null;
- fMoveUpForKeyBinding = null;
- fMoveDownForKeyBinding = null;
- fMoveLeftForKeyBinding = null;
- fMoveRightForKeyBinding = null;
- fShowNodeStartForKeyBinding = null;
- fShowNodeEndForKeyBinding = null;
- }
-
- /**
- * Set the view in all supported actions
- *
- * @param view to set in global actions
- */
- public void setSdView(SDView view) {
- if (!fViews.isEmpty()) {
- fGoToMessageForKeyBinding.setView(view);
- fFindForKeyBinding.setView(view);
- fMoveUpForKeyBinding.setView(view);
- fMoveDownForKeyBinding.setView(view);
- fMoveLeftForKeyBinding.setView(view);
- fMoveRightForKeyBinding.setView(view);
- fShowNodeStartForKeyBinding.setView(view);
- fShowNodeEndForKeyBinding.setView(view);
- }
- }
-
- /**
- * Enable / disable find action
- *
- * @param enabled <code>true</code> for enabling else <code>false</code>
- */
- public void setFindEnabled(boolean enabled) {
- if (fFindForKeyBinding != null) {
- fFindForKeyBinding.setEnabled(enabled);
- }
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/handlers/LastPage.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/handlers/LastPage.java
deleted file mode 100644
index 30f02c8fa3..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/handlers/LastPage.java
+++ /dev/null
@@ -1,68 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2011, 2013 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:
- * Bernd Hufmann - Initial API and implementation
- **********************************************************************/
-package org.eclipse.linuxtools.tmf.ui.views.uml2sd.handlers;
-
-import org.eclipse.linuxtools.internal.tmf.ui.Activator;
-import org.eclipse.linuxtools.internal.tmf.ui.ITmfImageConstants;
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.SDView;
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.util.Messages;
-
-/**
- * Action class implementation to move the focus to the last page of the whole sequence diagram.
- *
- * @version 1.0
- * @author Bernd Hufmann
- */
-public class LastPage extends BaseSDAction {
-
- // ------------------------------------------------------------------------
- // Constants
- // ------------------------------------------------------------------------
-
- /**
- * The action ID.
- */
- public static final String ID = "org.eclipse.linuxtools.tmf.ui.views.uml2sd.handlers.lastpage"; //$NON-NLS-1$
-
- // ------------------------------------------------------------------------
- // Constructors
- // ------------------------------------------------------------------------
-
- /**
- * Standard constructor
- *
- * @param view the view reference
- */
- public LastPage(SDView view) {
- super(view);
- setText(Messages.SequenceDiagram_LastPage);
- setToolTipText(Messages.SequenceDiagram_GoToLastPage);
- setId(ID);
- setImageDescriptor(Activator.getDefault().getImageDescripterFromPath(ITmfImageConstants.IMG_UI_LAST_PAGE));
- }
-
- // ------------------------------------------------------------------------
- // Methods
- // ------------------------------------------------------------------------
-
- @Override
- public void run() {
- if ((getView() == null) || (getView().getSDWidget()) == null) {
- return;
- }
- if (getView().getSDPagingProvider() != null) {
- getView().getSDPagingProvider().lastPage();
- }
- getView().updateCoolBar();
- getView().getSDWidget().redraw();
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/handlers/MoveSDDown.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/handlers/MoveSDDown.java
deleted file mode 100755
index d2726cb1c8..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/handlers/MoveSDDown.java
+++ /dev/null
@@ -1,70 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2005, 2013 IBM Corporation, 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:
- * IBM - Initial API and implementation
- * Bernd Hufmann - Updated for TMF
- **********************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.views.uml2sd.handlers;
-
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.SDView;
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.SDWidget;
-
-/**
- * Action class implementation to move down in the sequence diagram view within a page.
- *
- * @version 1.0
- * @author sveyrier
- *
- */
-public class MoveSDDown extends BaseSDAction {
-
- // ------------------------------------------------------------------------
- // Constants
- // ------------------------------------------------------------------------
- /**
- * The action ID.
- */
- public static final String ID = "org.eclipse.linuxtools.tmf.ui.views.uml2sd.handlers.MoveSDDown"; //$NON-NLS-1$
-
- // ------------------------------------------------------------------------
- // Constructors
- // ------------------------------------------------------------------------
- /**
- * Default constructor
- */
- public MoveSDDown() {
- this(null);
- }
-
- /**
- * Constructor
- *
- * @param view a sequence diagram view reference
- */
- public MoveSDDown(SDView view) {
- super(view);
- setId(ID);
- setActionDefinitionId(ID);
- }
-
- // ------------------------------------------------------------------------
- // Methods
- // ------------------------------------------------------------------------
- @Override
- public void run() {
- if (getView() == null) {
- return;
- }
-
- SDWidget viewer = getView().getSDWidget();
- if (viewer != null) {
- viewer.scrollBy(0, +viewer.getVisibleHeight());
- }
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/handlers/MoveSDLeft.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/handlers/MoveSDLeft.java
deleted file mode 100755
index 70c4b95cd2..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/handlers/MoveSDLeft.java
+++ /dev/null
@@ -1,72 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2005, 2013 IBM Corporation, 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:
- * IBM - Initial API and implementation
- * Bernd Hufmann - Updated for TMF
- **********************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.views.uml2sd.handlers;
-
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.SDView;
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.SDWidget;
-
-/**
- * Action class implementation to move left in the sequence diagram view within a page.
- *
- * @version 1.0
- * @author sveyrier
- *
- */
-public class MoveSDLeft extends BaseSDAction {
-
- // ------------------------------------------------------------------------
- // Constants
- // ------------------------------------------------------------------------
- /**
- * The action ID.
- */
- public static final String ID = "org.eclipse.linuxtools.tmf.ui.views.uml2sd.handlers.MoveSDLeft"; //$NON-NLS-1$
-
- // ------------------------------------------------------------------------
- // Constructors
- // ------------------------------------------------------------------------
- /**
- * Default constructor
- */
- public MoveSDLeft(){
- this(null);
- }
-
- /**
- * Constructor
- *
- * @param view a sequence diagram view reference
- */
- public MoveSDLeft(SDView view) {
- super(view);
- setId(ID);
- setActionDefinitionId(ID);
- }
-
- // ------------------------------------------------------------------------
- // Operations
- // ------------------------------------------------------------------------
-
- @Override
- public void run() {
-
- if (getView() == null) {
- return;
- }
-
- SDWidget viewer = getView().getSDWidget();
- if (viewer != null) {
- viewer.scrollBy(-viewer.getVisibleWidth(), 0);
- }
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/handlers/MoveSDRight.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/handlers/MoveSDRight.java
deleted file mode 100755
index 6a20130f90..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/handlers/MoveSDRight.java
+++ /dev/null
@@ -1,73 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2005, 2013 IBM Corporation, 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:
- * IBM - Initial API and implementation
- * Bernd Hufmann - Updated for TMF
- **********************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.views.uml2sd.handlers;
-
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.SDView;
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.SDWidget;
-
-/**
- * Action class implementation to move right in the sequence diagram view within a page.
- *
- * @version 1.0
- * @author sveyrier
- *
- */
-
-public class MoveSDRight extends BaseSDAction {
-
- // ------------------------------------------------------------------------
- // Constants
- // ------------------------------------------------------------------------
- /**
- * The action ID.
- */
- public static final String ID = "org.eclipse.linuxtools.tmf.ui.views.uml2sd.handlers.MoveSDRight"; //$NON-NLS-1$
-
- // ------------------------------------------------------------------------
- // Constructors
- // ------------------------------------------------------------------------
- /**
- * Default constructor
- */
- public MoveSDRight() {
- this(null);
- }
-
- /**
- * Constructor
- *
- * @param view a sequence diagram view reference
- */
- public MoveSDRight(SDView view) {
- super(view);
- setId(ID);
- setActionDefinitionId(ID);
- }
-
- // ------------------------------------------------------------------------
- // Methods
- // ------------------------------------------------------------------------
-
- @Override
- public void run() {
-
- if (getView() == null) {
- return;
- }
-
- SDWidget viewer = getView().getSDWidget();
- if (viewer != null) {
- viewer.scrollBy(+viewer.getVisibleWidth(), 0);
- }
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/handlers/MoveSDUp.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/handlers/MoveSDUp.java
deleted file mode 100755
index caf8ec5311..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/handlers/MoveSDUp.java
+++ /dev/null
@@ -1,71 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2005, 2013 IBM Corporation, 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:
- * IBM - Initial API and implementation
- * Bernd Hufmann - Updated for TMF
- **********************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.views.uml2sd.handlers;
-
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.SDView;
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.SDWidget;
-
-/**
- * Action class implementation to move up in the sequence diagram view within a
- * page.
- *
- * @version 1.0
- * @author sveyrier
- */
-public class MoveSDUp extends BaseSDAction {
-
- // ------------------------------------------------------------------------
- // Constants
- // ------------------------------------------------------------------------
- /**
- * The action ID.
- */
- public static final String ID = "org.eclipse.linuxtools.tmf.ui.views.uml2sd.handlers.MoveSDUp"; //$NON-NLS-1$
-
- // ------------------------------------------------------------------------
- // Constructors
- // ------------------------------------------------------------------------
- /**
- * Default constructor
- */
- public MoveSDUp() {
- this(null);
- }
-
- /**
- * Constructor
- *
- * @param view a sequence diagram view reference
- */
- public MoveSDUp(SDView view) {
- super(view);
- setId(ID);
- setActionDefinitionId(ID);
- }
-
- // ------------------------------------------------------------------------
- // Methods
- // ------------------------------------------------------------------------
-
- @Override
- public void run() {
- if (getView() == null) {
- return;
- }
- SDWidget viewer = getView().getSDWidget();
-
- if (viewer != null) {
- viewer.scrollBy(0, -viewer.getVisibleHeight());
- }
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/handlers/MoveToMessage.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/handlers/MoveToMessage.java
deleted file mode 100755
index 4b966b195f..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/handlers/MoveToMessage.java
+++ /dev/null
@@ -1,113 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2005, 2013 IBM Corporation, 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:
- * IBM - Initial API and implementation
- * Bernd Hufmann - Updated for TMF
- **********************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.views.uml2sd.handlers;
-
-import java.util.Iterator;
-
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.ISelectionProvider;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.linuxtools.internal.tmf.ui.Activator;
-import org.eclipse.linuxtools.internal.tmf.ui.ITmfImageConstants;
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.SDView;
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.SDWidget;
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.core.BaseMessage;
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.core.GraphNode;
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.core.SyncMessage;
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.core.SyncMessageReturn;
-
-/**
- * Action Class implementation to move to selected message
- *
- * @version 1.0
- * @author sveyrier
- *
- */
-public class MoveToMessage extends BaseSDAction {
-
- // ------------------------------------------------------------------------
- // Constants
- // ------------------------------------------------------------------------
- /**
- * The action ID.
- */
- public static final String ID = "org.eclipse.linuxtools.tmf.ui.views.uml2sd.handlers.GoToMessage"; //$NON-NLS-1$
-
- // ------------------------------------------------------------------------
- // Constructors
- // ------------------------------------------------------------------------
- /**
- * Default Constructor
- */
- public MoveToMessage() {
- this(null);
- }
-
- /**
- * Constructor
- *
- * @param view a sequence diagram view reference
- */
- public MoveToMessage(SDView view) {
- super(view);
- setId(ID);
- setActionDefinitionId(ID);
- setImageDescriptor(Activator.getDefault().getImageDescripterFromPath(ITmfImageConstants.IMG_UI_SEARCH_MATCH));
- }
-
- // ------------------------------------------------------------------------
- // Methods
- // ------------------------------------------------------------------------
-
- @Override
- public void run() {
- if (getView() == null) {
- return;
- }
-
- SDWidget sdWidget = getView().getSDWidget();
-
- if (sdWidget == null) {
- return;
- }
-
- ISelectionProvider selProvider = sdWidget.getSelectionProvider();
- ISelection sel = selProvider.getSelection();
- Object selectedNode = null;
- Iterator<Object> it = ((StructuredSelection) sel).iterator();
- while (it.hasNext()) {
- Object node = it.next();
- if (node instanceof BaseMessage) {
- selectedNode = node;
- }
- }
-
- if (selectedNode == null) {
- return;
- }
-
- if (selectedNode instanceof SyncMessageReturn) {
- GraphNode node = ((SyncMessageReturn) selectedNode).getMessage();
- sdWidget.clearSelection();
- sdWidget.addSelection(node);
- sdWidget.ensureVisible(node);
- sdWidget.redraw();
- } else if (selectedNode instanceof SyncMessage) {
- GraphNode node = ((SyncMessage) selectedNode).getMessageReturn();
- sdWidget.clearSelection();
- sdWidget.addSelection(node);
- sdWidget.ensureVisible(node);
- sdWidget.redraw();
- }
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/handlers/NextPage.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/handlers/NextPage.java
deleted file mode 100755
index 3e533f0c3c..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/handlers/NextPage.java
+++ /dev/null
@@ -1,68 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2005, 2013 IBM Corporation, 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:
- * IBM - Initial API and implementation
- * Bernd Hufmann - Updated for TMF
- **********************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.views.uml2sd.handlers;
-
-import org.eclipse.linuxtools.internal.tmf.ui.Activator;
-import org.eclipse.linuxtools.internal.tmf.ui.ITmfImageConstants;
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.SDView;
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.util.Messages;
-
-/**
- * Action class implementation to move the focus to the next page of the whole sequence diagram.
- *
- * @version 1.0
- * @author sveyrier
- *
- */
-public class NextPage extends BaseSDAction {
-
- // ------------------------------------------------------------------------
- // Constants
- // ------------------------------------------------------------------------
- /**
- * The action ID.
- */
- public static final String ID = "org.eclipse.linuxtools.tmf.ui.views.uml2sd.handlers.nextpage"; //$NON-NLS-1$
-
- // ------------------------------------------------------------------------
- // Constructors
- // ------------------------------------------------------------------------
- /**
- * Default constructor
- *
- * @param view the view reference
- */
- public NextPage(SDView view) {
- super(view);
- setText(Messages.SequenceDiagram_NextPage);
- setToolTipText(Messages.SequenceDiagram_GoToNextPage);
- setId(ID);
- setImageDescriptor(Activator.getDefault().getImageDescripterFromPath(ITmfImageConstants.IMG_UI_NEXT_PAGE));
- }
-
- // ------------------------------------------------------------------------
- // Operations
- // ------------------------------------------------------------------------
-
- @Override
- public void run() {
- if ((getView() == null) || (getView().getSDWidget()) == null) {
- return;
- }
- if (getView().getSDPagingProvider() != null) {
- getView().getSDPagingProvider().nextPage();
- }
- getView().updateCoolBar();
- getView().getSDWidget().redraw();
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/handlers/OpenSDFiltersDialog.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/handlers/OpenSDFiltersDialog.java
deleted file mode 100755
index 27fd1f25b4..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/handlers/OpenSDFiltersDialog.java
+++ /dev/null
@@ -1,75 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2005, 2013 IBM Corporation, 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:
- * IBM - Initial API and implementation
- * Bernd Hufmann - Updated for TMF
- **********************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.views.uml2sd.handlers;
-
-import org.eclipse.linuxtools.internal.tmf.ui.Activator;
-import org.eclipse.linuxtools.internal.tmf.ui.ITmfImageConstants;
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.SDView;
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.dialogs.FilterListDialog;
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.handlers.provider.ISDFilterProvider;
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.util.Messages;
-
-/**
- * Action class implementation for 'Filtering' of messages/lifelines.
- *
- * @version 1.0
- * @author sveyrier
- */
-public class OpenSDFiltersDialog extends BaseSDAction {
-
- // ------------------------------------------------------------------------
- // Constants
- // ------------------------------------------------------------------------
- /**
- * The action ID.
- */
- public static final String ID = "org.eclipse.linuxtools.tmf.ui.views.uml2sd.handlers.sdFilters"; //$NON-NLS-1$
-
- /**
- * The filter provider reference
- */
- private final ISDFilterProvider fProvider;
-
- // ------------------------------------------------------------------------
- // Constructors
- // ------------------------------------------------------------------------
- /**
- * Constructor
- *
- * @param view
- * The view reference
- * @param provider
- * The provider
- */
- public OpenSDFiltersDialog(SDView view, ISDFilterProvider provider) {
- super(view);
- setText(Messages.SequenceDiagram_HidePatterns);
- setImageDescriptor(Activator.getDefault().getImageDescripterFromPath(ITmfImageConstants.IMG_UI_FILTERS));
- setId(ID);
- setToolTipText(Messages.SequenceDiagram_HidePatterns);
- fProvider = provider;
- }
-
- // ------------------------------------------------------------------------
- // Methods
- // ------------------------------------------------------------------------
-
- @Override
- public void run() {
- if (getView() == null) {
- return;
- }
- FilterListDialog dialog = new FilterListDialog(getView(), fProvider);
- dialog.open();
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/handlers/OpenSDFindDialog.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/handlers/OpenSDFindDialog.java
deleted file mode 100755
index 92cffd8713..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/handlers/OpenSDFindDialog.java
+++ /dev/null
@@ -1,93 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2005, 2013 IBM Corporation, 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:
- * IBM - Initial API and implementation
- * Bernd Hufmann - Updated for TMF
- **********************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.views.uml2sd.handlers;
-
-import org.eclipse.linuxtools.internal.tmf.ui.Activator;
-import org.eclipse.linuxtools.internal.tmf.ui.ITmfImageConstants;
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.SDView;
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.dialogs.SearchFilterDialog;
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.util.Messages;
-import org.eclipse.swt.SWT;
-
-/**
- * Action class implementation for 'Finding' of messages/lifelines.
- *
- * @version 1.0
- * @author sveyrier
- *
- */
-public class OpenSDFindDialog extends BaseSDAction {
-
- // ------------------------------------------------------------------------
- // Constants
- // ------------------------------------------------------------------------
- /**
- * The action ID.
- */
- public static final String ID = "org.eclipse.linuxtools.tmf.ui.views.uml2sd.handlers.sdFind"; //$NON-NLS-1$
-
- /**
- * The action definition ID.
- */
- public static final String ACTION_DEFINITION_ID = "org.eclipse.ui.edit.findReplace"; //$NON-NLS-1$
-
- // ------------------------------------------------------------------------
- // Constructors
- // ------------------------------------------------------------------------
- /**
- * Default constructor
- */
- public OpenSDFindDialog() {
- this(null);
- }
-
- /**
- * Constructor
- *
- * @param view The view reference
- */
- public OpenSDFindDialog(SDView view) {
- super(view);
- setText(Messages.SequenceDiagram_Find + "..."); //$NON-NLS-1$
- setImageDescriptor(Activator.getDefault().getImageDescripterFromPath(ITmfImageConstants.IMG_UI_SEARCH_SEQ));
- setId(ID);
- setActionDefinitionId(ACTION_DEFINITION_ID);
- setToolTipText(Messages.SequenceDiagram_Find + "..."); //$NON-NLS-1$
- }
-
- // ------------------------------------------------------------------------
- // Methods
- // ------------------------------------------------------------------------
-
- @Override
- public void run() {
- if (getView() == null) {
- return;
- }
-
- // Disable action while search is ongoing
- this.setEnabled(false);
-
- try {
- if ((getView().getExtendedFindProvider() != null) && (getView().getExtendedFindProvider().getFindAction() != null)) {
- getView().getExtendedFindProvider().getFindAction().run();
- } else if (getView().getSDFindProvider() != null) {
- SearchFilterDialog dialog = new SearchFilterDialog(getView(), getView().getSDFindProvider(), false, SWT.NORMAL);
- dialog.open();
- }
- } finally {
- // Enable action after finishing the search
- this.setEnabled(true);
- }
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/handlers/OpenSDPagesDialog.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/handlers/OpenSDPagesDialog.java
deleted file mode 100755
index 160a73aad7..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/handlers/OpenSDPagesDialog.java
+++ /dev/null
@@ -1,80 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2005, 2013 IBM Corporation, 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:
- * IBM - Initial API and implementation
- * Bernd Hufmann - Updated for TMF
- **********************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.views.uml2sd.handlers;
-
-import org.eclipse.linuxtools.internal.tmf.ui.Activator;
-import org.eclipse.linuxtools.internal.tmf.ui.ITmfImageConstants;
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.SDView;
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.dialogs.PagesDialog;
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.handlers.provider.ISDAdvancedPagingProvider;
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.util.Messages;
-
-/**
- * Action class implementation for paging.
- *
- * @version 1.0
- * @author Bernd Hufmann
- */
-public class OpenSDPagesDialog extends BaseSDAction {
-
- // ------------------------------------------------------------------------
- // Constants
- // ------------------------------------------------------------------------
-
- /**
- * The action ID.
- */
- public static final String ID = "org.eclipse.linuxtools.tmf.ui.views.uml2sd.handlers.sdPaging"; //$NON-NLS-1$
-
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
-
- /**
- * The advanced paging provider reference.
- */
- private final ISDAdvancedPagingProvider fProvider;
-
- // ------------------------------------------------------------------------
- // Constructors
- // ------------------------------------------------------------------------
-
- /**
- * Constructor
- *
- * @param view
- * The view reference
- * @param provider
- * The provider
- */
- public OpenSDPagesDialog(SDView view, ISDAdvancedPagingProvider provider) {
- super(view);
- setText(Messages.SequenceDiagram_Pages);
- setImageDescriptor(Activator.getDefault().getImageDescripterFromPath(ITmfImageConstants.IMG_UI_GOTO_PAGE));
- setId(ID);
- fProvider = provider;
- }
-
- // ------------------------------------------------------------------------
- // Operations
- // ------------------------------------------------------------------------
-
- @Override
- public void run() {
- if (getView() == null) {
- return;
- }
- PagesDialog dialog = new PagesDialog(getView(), fProvider);
- dialog.open();
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/handlers/PrevPage.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/handlers/PrevPage.java
deleted file mode 100755
index 19c7779e78..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/handlers/PrevPage.java
+++ /dev/null
@@ -1,70 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2005, 2013 IBM Corporation, 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:
- * IBM - Initial API and implementation
- * Bernd Hufmann - Updated for TMF
- **********************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.views.uml2sd.handlers;
-
-import org.eclipse.linuxtools.internal.tmf.ui.Activator;
-import org.eclipse.linuxtools.internal.tmf.ui.ITmfImageConstants;
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.SDView;
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.util.Messages;
-
-/**
- * Action class implementation to move the focus to the previous page of the whole sequence diagram.
- *
- * @version 1.0
- * @author sveyrier
- *
- */
-public class PrevPage extends BaseSDAction {
-
- // ------------------------------------------------------------------------
- // Constants
- // ------------------------------------------------------------------------
-
- /**
- * The action ID.
- */
- public static final String ID = "org.eclipse.linuxtools.tmf.ui.views.uml2sd.handlers.prevpage"; //$NON-NLS-1$
-
- // ------------------------------------------------------------------------
- // Constructors
- // ------------------------------------------------------------------------
-
- /**
- * Default constructor
- *
- * @param view the view reference
- */
- public PrevPage(SDView view) {
- super(view);
- setText(Messages.SequenceDiagram_PreviousPage);
- setToolTipText(Messages.SequenceDiagram_GoToPreviousPage);
- setId(ID);
- setImageDescriptor(Activator.getDefault().getImageDescripterFromPath(ITmfImageConstants.IMG_UI_PREV_PAGE));
- }
-
- // ------------------------------------------------------------------------
- // Methods
- // ------------------------------------------------------------------------
-
- @Override
- public void run() {
- if ((getView() == null) || (getView().getSDWidget()) == null) {
- return;
- }
- if (getView().getSDPagingProvider() != null) {
- getView().getSDPagingProvider().prevPage();
- }
- getView().updateCoolBar();
- getView().getSDWidget().redraw();
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/handlers/Print.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/handlers/Print.java
deleted file mode 100755
index 9d638e90cb..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/handlers/Print.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2005, 2013 IBM Corporation, 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:
- * IBM - Initial API and implementation
- * Bernd Hufmann - Updated for TMF
- **********************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.views.uml2sd.handlers;
-
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.SDView;
-
-/**
- * Action class implementation for 'Printing'.
- *
- * @version 1.0
- * @author sveyrier
- */
-public class Print extends BaseSDAction {
-
- // ------------------------------------------------------------------------
- // Constants
- // ------------------------------------------------------------------------
-
- /**
- * The action ID.
- */
- public static final String ID = "org.eclipse.linuxtools.tmf.ui.views.uml2sd.handlers.print"; //$NON-NLS-1$
-
- // ------------------------------------------------------------------------
- // Constructors
- // ------------------------------------------------------------------------
-
- /**
- * Constructor
- *
- * @param view The view reference
- */
- public Print(SDView view) {
- super(view);
- setId(ID);
- }
-
- // ------------------------------------------------------------------------
- // Methods
- // ------------------------------------------------------------------------
-
- @Override
- public void run() {
- if ((getView() == null) || getView().getSDWidget() == null){
- return;
- }
-
- getView().getSDWidget().print();
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/handlers/ShowNodeEnd.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/handlers/ShowNodeEnd.java
deleted file mode 100755
index 2d17ab4f1b..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/handlers/ShowNodeEnd.java
+++ /dev/null
@@ -1,89 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2005, 2013 IBM Corporation, 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:
- * IBM - Initial API and implementation
- * Bernd Hufmann - Updated for TMF
- **********************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.views.uml2sd.handlers;
-
-import java.util.Iterator;
-
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.ISelectionProvider;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.linuxtools.internal.tmf.ui.Activator;
-import org.eclipse.linuxtools.internal.tmf.ui.ITmfImageConstants;
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.SDView;
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.SDWidget;
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.core.GraphNode;
-
-/**
- * Action class implementation to show end of a graph node.
- *
- * @version 1.0
- * @author sveyrier
- */
-public class ShowNodeEnd extends BaseSDAction {
-
- // ------------------------------------------------------------------------
- // Constructors
- // ------------------------------------------------------------------------
- /**
- * Default constructor
- */
- public ShowNodeEnd() {
- this(null);
- }
-
- /**
- * Constructor
- *
- * @param view The sequence diagram view reference
- * @since 2.0
- */
- public ShowNodeEnd(SDView view) {
- super(view);
- setImageDescriptor(Activator.getDefault().getImageDescripterFromPath(ITmfImageConstants.IMG_UI_NODE_END));
- }
-
- // ------------------------------------------------------------------------
- // Operations
- // ------------------------------------------------------------------------
-
- @Override
- public void run() {
- if (getView() == null) {
- return;
- }
-
- SDWidget sdWidget = getView().getSDWidget();
-
- if (sdWidget == null) {
- return;
- }
-
- ISelectionProvider selProvider = sdWidget.getSelectionProvider();
- ISelection sel = selProvider.getSelection();
- Object selectedNode = null;
-
- Iterator<Object> it = ((StructuredSelection) sel).iterator();
- while (it.hasNext()) {
- selectedNode = it.next();
- }
-
- if (selectedNode != null) {
- GraphNode node = (GraphNode) selectedNode;
- if ((node.getX() + node.getWidth()) * sdWidget.getZoomFactor() < sdWidget.getContentsX() + sdWidget.getVisibleWidth() / 2) {
- sdWidget.ensureVisible(Math.round((node.getX() + node.getWidth()) * sdWidget.getZoomFactor()) - sdWidget.getVisibleWidth() / 2, Math.round((node.getY() + node.getHeight()) * sdWidget.getZoomFactor()));
- } else {
- sdWidget.ensureVisible(Math.round((node.getX() + node.getWidth()) * sdWidget.getZoomFactor() + sdWidget.getVisibleWidth() / (float) 2), Math.round((node.getY() + node.getHeight()) * sdWidget.getZoomFactor()));
- }
- }
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/handlers/ShowNodeStart.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/handlers/ShowNodeStart.java
deleted file mode 100755
index 84767c0da8..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/handlers/ShowNodeStart.java
+++ /dev/null
@@ -1,89 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2005, 2013 IBM Corporation, 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:
- * IBM - Initial API and implementation
- * Bernd Hufmann - Updated for TMF
- **********************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.views.uml2sd.handlers;
-
-import java.util.Iterator;
-
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.ISelectionProvider;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.linuxtools.internal.tmf.ui.Activator;
-import org.eclipse.linuxtools.internal.tmf.ui.ITmfImageConstants;
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.SDView;
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.SDWidget;
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.core.GraphNode;
-
-/**
- * Action class implementation to show end of a graph node.
- *
- * @version 1.0
- * @author sveyrier
- */
-public class ShowNodeStart extends BaseSDAction {
-
- // ------------------------------------------------------------------------
- // Constructors
- // ------------------------------------------------------------------------
-
- /**
- * Default constructor
- */
- public ShowNodeStart() {
- this(null);
- }
-
- /**
- * Constructor
- *
- * @param view
- * The sequence diagram view reference
- * @since 2.0
- */
- public ShowNodeStart(SDView view) {
- super(view);
- setImageDescriptor(Activator.getDefault().getImageDescripterFromPath(ITmfImageConstants.IMG_UI_NODE_START));
- }
-
- // ------------------------------------------------------------------------
- // Methods
- // ------------------------------------------------------------------------
-
- @Override
- public void run() {
- if (getView() == null) {
- return;
- }
-
- SDWidget sdWidget = getView().getSDWidget();
-
- if (sdWidget == null) {
- return;
- }
-
- ISelectionProvider selProvider = sdWidget.getSelectionProvider();
- ISelection sel = selProvider.getSelection();
- Object selectedNode = null;
- Iterator<Object> it = ((StructuredSelection) sel).iterator();
- while (it.hasNext()) {
- selectedNode = it.next();
- }
- if (selectedNode != null) {
- GraphNode node = (GraphNode) selectedNode;
- if (node.getX() * sdWidget.getZoomFactor() < sdWidget.getContentsX() + sdWidget.getVisibleWidth() / 2) {
- sdWidget.ensureVisible(Math.round(node.getX() * sdWidget.getZoomFactor() - sdWidget.getVisibleWidth() / (float) 2), Math.round(node.getY() * sdWidget.getZoomFactor()));
- } else {
- sdWidget.ensureVisible(Math.round(node.getX() * sdWidget.getZoomFactor() + sdWidget.getVisibleWidth() / (float) 2), Math.round(node.getY() * sdWidget.getZoomFactor()));
- }
- }
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/handlers/Zoom.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/handlers/Zoom.java
deleted file mode 100755
index 1b12a8c63a..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/handlers/Zoom.java
+++ /dev/null
@@ -1,239 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2005, 2014 IBM Corporation, 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:
- * IBM - Initial API and implementation
- * Bernd Hufmann - Updated for TMF
- **********************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.views.uml2sd.handlers;
-
-import org.eclipse.jface.action.ActionContributionItem;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.action.IContributionItem;
-import org.eclipse.jface.action.IToolBarManager;
-import org.eclipse.linuxtools.internal.tmf.ui.Activator;
-import org.eclipse.linuxtools.internal.tmf.ui.ITmfImageConstants;
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.SDView;
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.SDWidget;
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.util.Messages;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Cursor;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.ui.IActionBars;
-
-/**
- * Action class implementation for zooming in, out or reset of zoom.
- *
- * @version 1.0
- * @author sveyrier
- *
- */
-public class Zoom extends BaseSDAction {
-
- // ------------------------------------------------------------------------
- // Constants
- // ------------------------------------------------------------------------
- /**
- * The Action ID for zooming in.
- */
- public static final String ZOOM_IN_ID = "org.eclipse.linuxtools.tmf.ui.views.uml2sd.handlers.ZoomInCoolBar"; //$NON-NLS-1$
- /**
- * The Action ID for zooming out.
- */
- public static final String ZOOM_OUT_ID = "org.eclipse.linuxtools.tmf.ui.views.uml2sd.handlers.ZoomOutCoolBar"; //$NON-NLS-1$
- /**
- * The Action ID for reset zooming.
- */
- public static final String RESET_ZOOM_ID = "org.eclipse.linuxtools.tmf.ui.views.uml2sd.handlers.ResetZoom"; //$NON-NLS-1$
- /**
- * The Action ID for no zoominf.
- */
- public static final String NO_ZOOM_ID = "org.eclipse.linuxtools.tmf.ui.views.uml2sd.handlers.NoZoom"; //$NON-NLS-1$
-
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
- /**
- * Flag to indicate last zoom in.
- */
- private boolean fLastZoomIn = false;
- /**
- * Flag to indicate last zoom out.
- */
- private boolean fLastZoomOut = false;
- /**
- * The cursor used when zooming in.
- */
- private final Cursor fZoomInCursor;
- /**
- * The cursor used when zooming out.
- */
- private final Cursor fZoomOutCursor;
-
- /**
- * The different zoom actions
- */
- public static enum ZoomType {
- /** No zoom information */
- ZOOM_NONE,
- /** Zoom in */
- ZOOM_IN,
- /** Zoom out */
- ZOOM_OUT,
- /** Reset to the default zoom level */
- ZOOM_RESET
- }
-
- // ------------------------------------------------------------------------
- // Constructors
- // ------------------------------------------------------------------------
-
- /**
- * Constructor
- * @param view The view reference
- * @param type The type of zoom.
- */
- public Zoom(SDView view, ZoomType type) {
- super(view, "", AS_RADIO_BUTTON); //$NON-NLS-1$
-
- // Pre-create zooming cursors
- fZoomInCursor = new Cursor(Display.getCurrent(),
- Activator.getDefault().getImageFromImageRegistry(ITmfImageConstants.IMG_UI_ZOOM_IN).getImageData(),
- Activator.getDefault().getImageFromImageRegistry(ITmfImageConstants.IMG_UI_ZOOM).getImageData(), 0, 0);
-
- fZoomOutCursor = new Cursor(Display.getCurrent(),
- Activator.getDefault().getImageFromImageRegistry(ITmfImageConstants.IMG_UI_ZOOM_OUT).getImageData(),
- Activator.getDefault().getImageFromImageRegistry(ITmfImageConstants.IMG_UI_ZOOM).getImageData(), 0, 0);
-
- switch (type) {
- case ZOOM_IN:
- setText(Messages.SequenceDiagram_ZoomIn);
- setToolTipText(Messages.SequenceDiagram_ZoomInTheDiagram);
- setId(ZOOM_IN_ID);
- setImageDescriptor(Activator.getDefault().getImageDescripterFromPath(ITmfImageConstants.IMG_UI_ZOOM_IN_MENU));
- break;
-
- case ZOOM_OUT:
- setText(Messages.SequenceDiagram_ZoomOut);
- setToolTipText(Messages.SequenceDiagram_ZoomOutTheDiagram);
- setId(ZOOM_OUT_ID);
- setImageDescriptor(Activator.getDefault().getImageDescripterFromPath(ITmfImageConstants.IMG_UI_ZOOM_OUT_MENU));
- break;
-
- case ZOOM_RESET:
- setText(Messages.SequenceDiagram_ResetZoomFactor);
- setToolTipText(Messages.SequenceDiagram_ResetZoomFactor);
- setId(RESET_ZOOM_ID);
- setImageDescriptor(Activator.getDefault().getImageDescripterFromPath(ITmfImageConstants.IMG_UI_HOME_MENU));
- break;
-
- case ZOOM_NONE:
- default:
- setText(Messages.SequenceDiagram_Select);
- setToolTipText(Messages.SequenceDiagram_Select);
- setId(NO_ZOOM_ID);
- setImageDescriptor(Activator.getDefault().getImageDescripterFromPath(ITmfImageConstants.IMG_UI_SELECT_MENU));
- break;
- }
- }
-
- // ------------------------------------------------------------------------
- // Methods
- // ------------------------------------------------------------------------
-
- @Override
- public void run() {
-
- if ((getView() == null) || (getView().getSDWidget() == null)) {
- return;
- }
-
- SDWidget viewer = getView().getSDWidget();
-
- if (getId().equals(ZOOM_OUT_ID)) {
- // Eclipse 3.0 M7 workaround
- if (fLastZoomOut == isChecked()) {
- setChecked(!isChecked());
- }
-
- viewer.setZoomOutMode(isChecked());
- fLastZoomOut = isChecked();
- if (isChecked()) {
- viewer.setCursor(fZoomOutCursor);
- setActionChecked(NO_ZOOM_ID, false);
- } else {
- viewer.setCursor(new Cursor(Display.getDefault(), SWT.CURSOR_ARROW));
- setActionChecked(NO_ZOOM_ID, true);
- }
- } else if (getId().equals(ZOOM_IN_ID)) {
- // Eclipse 3.0 M7 workaround
- if (fLastZoomIn == isChecked()) {
- setChecked(!isChecked());
- }
-
- viewer.setZoomInMode(isChecked());
- fLastZoomIn = isChecked();
- if (isChecked()) {
- viewer.setCursor(fZoomInCursor);
- setActionChecked(NO_ZOOM_ID, false);
- } else {
- viewer.setCursor(new Cursor(Display.getDefault(), SWT.CURSOR_ARROW));
- setActionChecked(NO_ZOOM_ID, true);
- }
- } else if (getId().equals(RESET_ZOOM_ID)) {
- viewer.resetZoomFactor();
-
- // The reset action is a radio button only to uncheck the zoom in and out button
- // when it is clicked. This avoid adding code to do it manually
- // We only have to force it to false every time
- setChecked(false);
- setActionChecked(NO_ZOOM_ID, true);
- } else if (getId().equals(NO_ZOOM_ID)) {
- setChecked(true);
- viewer.setZoomInMode(false);
- viewer.setZoomInMode(false);
- viewer.setCursor(new Cursor(Display.getDefault(), SWT.CURSOR_ARROW));
- }
- }
-
- /**
- * Set action check state of a view action for a given action ID.
- *
- * @param id The action ID
- * @param checked true to check the action, false to uncheck the action
- */
- protected void setActionChecked(String id, boolean checked) {
- if (getView() != null) {
- IActionBars bar = getView().getViewSite().getActionBars();
- if (bar == null) {
- return;
- }
- IToolBarManager barManager = bar.getToolBarManager();
- if (barManager == null) {
- return;
- }
- IContributionItem nextPage = barManager.find(id);
- if (nextPage instanceof ActionContributionItem) {
- IAction action = ((ActionContributionItem) nextPage).getAction();
- if (action != null) {
- action.setChecked(checked);
- }
- }
- }
- }
-
- /**
- * Dispose the action and its resources
- *
- * @since 3.2
- */
- public void dispose() {
- fZoomInCursor.dispose();
- fZoomOutCursor.dispose();
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/handlers/provider/IExtendedFilterProvider.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/handlers/provider/IExtendedFilterProvider.java
deleted file mode 100755
index fb0ca6c650..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/handlers/provider/IExtendedFilterProvider.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2005, 2013 IBM Corporation, 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:
- * IBM - Initial API and implementation
- * Bernd Hufmann - Updated for TMF
- **********************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.views.uml2sd.handlers.provider;
-
-import org.eclipse.jface.action.Action;
-
-/**
- * Interface for providing an extended filter provider.
- *
- * Sequence Diagram loaders which implement this interface provide the action for filtering the sequence diagram.<br>
- *
- * Action provider are associated to a Sequence Diagram view by calling <code>SDView.setExtendedFilterProvider</code><br>
- *
- * @version 1.0
- * @author sveyrier
- *
- */
-public interface IExtendedFilterProvider {
-
- /**
- * Returns a filter action implementation.
- *
- * @return a filter action implementation
- */
- Action getFilterAction();
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/handlers/provider/IExtendedFindProvider.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/handlers/provider/IExtendedFindProvider.java
deleted file mode 100755
index 8f91e419ff..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/handlers/provider/IExtendedFindProvider.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2005, 2013 IBM Corporation, 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:
- * IBM - Initial API and implementation
- * Bernd Hufmann - Updated for TMF
- **********************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.views.uml2sd.handlers.provider;
-
-import org.eclipse.jface.action.Action;
-
-/**
- * Interface for providing an extended find provider.
- *
- * Sequence Diagram loaders which implement this interface provide an action for finding in the sequence diagram.
- *
- * Action provider are associated to a Sequence Diagram view by calling <code>SDView.setExtendedFindProvider()</code>.<br>
- *
- * Note that either provider implementing ISDFindProvider or IExtendedFindProvider can be active in the SDView.<br>
- *
- * @version 1.0
- * @author sveyrier
- *
- */
-public interface IExtendedFindProvider {
-
- /**
- * Returns an extended find action.
- *
- * @return an extended find action
- */
- Action getFindAction();
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/handlers/provider/ISDAdvancedPagingProvider.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/handlers/provider/ISDAdvancedPagingProvider.java
deleted file mode 100755
index 8fe4031c32..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/handlers/provider/ISDAdvancedPagingProvider.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2005, 2013 IBM Corporation, 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:
- * IBM - Initial API and implementation
- * Bernd Hufmann - Updated for TMF
- **********************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.views.uml2sd.handlers.provider;
-
-/**
- * Interface for providing an extended find provider.
- *
- * An advanced paging provider is able to compute number of pages, and to display the number of items it treats on each
- * page and for total counts.<br>
- * An item can be a message, a node or anything meaningful from loader standpoint.<br>
- * Items are only here for information to the user.
- *
- * @version 1.0
- * @author sveyrier
- */
-public interface ISDAdvancedPagingProvider extends ISDPagingProvider {
-
- /**
- * Returns the current page.
- *
- * @return the current page the loader is dealing with. <b>Note</b> that first page has the 0 index (indexes are from
- * 0 to pagesCount()-1).
- */
- int currentPage();
-
- /**
- * Returns the number of pages.
- *
- * @return number of pages the loader is dealing with
- */
- int pagesCount();
-
- /**
- * Instructs a load of the &lt;pageNumber_&gt;<i>th</i> page.<br>
- * <b>Note</b> that first page has the index 0 (indexes are from 0 to pagesCount()-1).
- *
- * @param pageNumber index of the page to load
- */
- void pageNumberChanged(int pageNumber);
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/handlers/provider/ISDCollapseProvider.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/handlers/provider/ISDCollapseProvider.java
deleted file mode 100755
index b0e9f56a90..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/handlers/provider/ISDCollapseProvider.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2005, 2013 IBM Corporation, 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:
- * IBM - Initial API and implementation
- * Bernd Hufmann - Updated for TMF
- **********************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.views.uml2sd.handlers.provider;
-
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.core.Lifeline;
-
-/**
- * Interface for providing a collapse provider.
- *
- * Sequence diagram loaders which want to support Drag and Drop collapsing in the sequence diagram must implement this
- * interface and register this implementation using <code>SDView.setCollapsingProvider();</code>
- *
- * @version 1.0
- * @author sveyrier
- */
-public interface ISDCollapseProvider {
-
- /**
- * Called back when the sequence diagram is requesting 2 lifelines collapsing
- *
- * @param lifeline1 - One of the lifeline to collapse
- * @param lifeline2 - The other lifeline to collapse with
- */
- void collapseTwoLifelines(Lifeline lifeline1, Lifeline lifeline2);
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/handlers/provider/ISDExtendedActionBarProvider.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/handlers/provider/ISDExtendedActionBarProvider.java
deleted file mode 100755
index 3db07d2370..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/handlers/provider/ISDExtendedActionBarProvider.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2005, 2012 IBM Corporation, 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:
- * IBM - Initial API and implementation
- * Bernd Hufmann - Updated for TMF
- **********************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.views.uml2sd.handlers.provider;
-
-import org.eclipse.ui.IActionBars;
-
-/**
- * Interface for providing an extended action bar provider.
- *
- * Sequence Diagram loaders which implement this interface provide their own action to the action bar.
- *
- * Action provider are associated to a Sequence Diagram SDWidget calling SDViewer.setExtendedActionBarProvider()
- *
- * @version 1.0
- * @author sveyrier
- */
-public interface ISDExtendedActionBarProvider {
-
- /**
- * The caller is supposed to add its own actions in the cool bar and the drop-down menu.<br>
- * See examples in SDView.createCoolbarContent().
- *
- * @param bar the bar
- */
- void supplementCoolbarContent(IActionBars bar);
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/handlers/provider/ISDFilterProvider.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/handlers/provider/ISDFilterProvider.java
deleted file mode 100755
index eb97dd01b4..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/handlers/provider/ISDFilterProvider.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2005, 2013 IBM Corporation, 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:
- * IBM - Initial API and implementation
- * Bernd Hufmann - Updated for TMF
- **********************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.views.uml2sd.handlers.provider;
-
-import java.util.List;
-
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.dialogs.FilterCriteria;
-
-/**
- * Interface for providing a filter provider.
- *
- * Sequence Diagram loaders which implement this class provide the actions filtering the sequence diagram.<br>
- * This interface also allow the implementor to set which graph nodes are supporting filtering (thanks to
- * ISDGraphNodeSupporter extension).<br>
- *
- * Action provider are associated to a Sequence Diagram view by calling <code>SDView.setSDFilterProvider</code><br>
- *
- * Filters to be applied to be managed by the loader in an ArrayList of FilterCriteria.<br>
- *
- * @version 1.0
- * @author sveyrier
- */
-public interface ISDFilterProvider extends ISDGraphNodeSupporter {
-
- /**
- * Called when the Filter dialog box OK button is pressed
- *
- * @param filters user selection made in the dialog box
- * @return true if the filter applied
- */
- boolean filter(List<FilterCriteria> filters);
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/handlers/provider/ISDFindProvider.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/handlers/provider/ISDFindProvider.java
deleted file mode 100755
index 047a11bc92..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/handlers/provider/ISDFindProvider.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2005, 2013 IBM Corporation, 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:
- * IBM - Initial API and implementation
- * Bernd Hufmann - Updated for TMF
- **********************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.views.uml2sd.handlers.provider;
-
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.dialogs.Criteria;
-
-/**
- * Interface for providing a find provider.
- *
- * Sequence Diagram loaders which implement this class provide the actions for finding the sequence diagram. This
- * interface also allow the implementor to set which action/feature are supported.<br>
- *
- * Action provider are associated to a Sequence Diagram view by calling <code>SDView.setSDFindProvider()</code>.<br>
- *
- * Note that either provider implementing ISDFindProvider or IExtendedFindProvider can be active in the SDView.<br>
- *
- * @version 1.0
- * @author sveyrier
- *
- */
-public interface ISDFindProvider extends ISDGraphNodeSupporter {
-
- /**
- * Called when the Find dialog box OK button is pressed
- *
- * @param toApply user selection made in the dialog box
- * @return true if the find got a non empty result
- */
- boolean find(Criteria toApply);
-
- /**
- * Called when dialog is closed
- */
- void cancel();
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/handlers/provider/ISDGraphNodeSupporter.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/handlers/provider/ISDGraphNodeSupporter.java
deleted file mode 100755
index 0ec0a90032..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/handlers/provider/ISDGraphNodeSupporter.java
+++ /dev/null
@@ -1,83 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2005, 2013 IBM Corporation, 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:
- * IBM - Initial API and implementation
- * Bernd Hufmann - Updated for TMF
- **********************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.views.uml2sd.handlers.provider;
-
-/**
- * Interface for providing a graph node supporter.
- *
- * Sequence Diagram loaders which implement this class provide the actions for finding or filtering the sequence
- * diagram. This interface also allow the implementor to set which action/feature are supported
- *
- * Action provider are associated to a Sequence Diagram SDWidget calling <code>SDViewer.setSDFindProvider()</code> or
- * <code>SDViewer.setSDFilterProvider()</code>.
- *
- * @version 1.0
- * @author sveyrier
- *
- */
-public interface ISDGraphNodeSupporter {
-
- // ------------------------------------------------------------------------
- // Constants
- // ------------------------------------------------------------------------
-
- /**
- * Lifeline support ID
- */
- static int LIFELINE = 0;
- /**
- * Synchronous message support ID
- */
- static int SYNCMESSAGE = 1;
- /**
- * Synchronous message return support ID
- */
- static int SYNCMESSAGERETURN = 2;
- /**
- * Asynchronous message support ID
- */
- static int ASYNCMESSAGE = 3;
- /**
- * Asynchronous message return support ID
- */
- static int ASYNCMESSAGERETURN = 4;
- /**
- * Stop support ID
- */
- static int STOP = 5;
-
- // ------------------------------------------------------------------------
- // Methods
- // ------------------------------------------------------------------------
-
- /**
- * Return true to enable this options, false otherwise
- *
- * @param nodeType
- * The integer value matching the type of the node
- * @return true to enable this options, false otherwise
- */
- boolean isNodeSupported(int nodeType);
-
- /**
- * Return the name to use in dialogs Not called if isNodeSupported return
- * false
- *
- * @param nodeType
- * The integer value matching the type of the node
- * @param loaderClassName
- * The name of the loader class
- * @return the name to use in dialogs
- */
- String getNodeName(int nodeType, String loaderClassName);
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/handlers/provider/ISDPagingProvider.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/handlers/provider/ISDPagingProvider.java
deleted file mode 100755
index a0c77c287b..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/handlers/provider/ISDPagingProvider.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2005, 2013 IBM Corporation, 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:
- * IBM - Initial API and implementation
- * Bernd Hufmann - Updated for TMF
- **********************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.views.uml2sd.handlers.provider;
-
-/**
- * Paging provider interface.
- *
- * Sequence Diagram loaders which implement this class provide the actions for sequence diagram page navigation.<br>
- *
- * Action provider are associated to a Sequence Diagram view by calling <code>SDView.setSDPagingProvider()</code>.<br>
- *
- * @version 1.0
- * @author sveyrier
- *
- */
-public interface ISDPagingProvider {
-
- /**
- * Return true to enable the next page button in the coolBar, false otherwise
- *
- * @return true if a next page exists false otherwise
- */
- boolean hasNextPage();
-
- /**
- * Return true to enable the previous page button in the coolBar, false otherwise
- *
- * @return true if a previous page exists false otherwise
- */
- boolean hasPrevPage();
-
- /**
- * Called back when next page button is pressed in the coolBar
- */
- void nextPage();
-
- /**
- * Called back when previous page button is pressed in the coolBar
- */
- void prevPage();
-
- /**
- * Called back when first page button is pressed in the coolBar
- */
- void firstPage();
-
- /**
- * Called back when last page button is pressed in the coolBar
- */
- void lastPage();
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/handlers/provider/ISDPropertiesProvider.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/handlers/provider/ISDPropertiesProvider.java
deleted file mode 100755
index d2465488bb..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/handlers/provider/ISDPropertiesProvider.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2005, 2013 IBM Corporation, 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:
- * IBM - Initial API and implementation
- * Bernd Hufmann - Updated for TMF
- **********************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.views.uml2sd.handlers.provider;
-
-import org.eclipse.ui.views.properties.IPropertySheetPage;
-
-/**
- * Interface for providing sequence diagram property.
- *
- * Contract for loaders that want to provide information in the properties view.
- *
- * @version 1.0
- * @author sveyrier
-
- */
-public interface ISDPropertiesProvider {
-
- /**
- * Returns the IPropertySheetEntry that will fill in the properties view
- *
- * @return the property sheet entry
- */
- IPropertySheetPage getPropertySheetEntry();
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/load/IUml2SDLoader.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/load/IUml2SDLoader.java
deleted file mode 100755
index c1df537e0d..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/load/IUml2SDLoader.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2005, 2013 IBM Corporation, 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:
- * IBM - Initial API and implementation
- * Bernd Hufmann - Updated for TMF
- **********************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.views.uml2sd.load;
-
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.SDView;
-
-/**
- * The interface all UML2SD loaders must implement.
- *
- * @version 1.0
- * @author sveyrier
- */
-public interface IUml2SDLoader {
-
- /**
- * Set the viewer object to the loader that has been reloaded at the beginning
- * of a new workbench session
- *
- * @param viewer The sequence diagram view
- */
- void setViewer(SDView viewer);
-
- /**
- * Returns title string for the UML2SD View when this loader is the one
- *
- * @return the string convenient for this loader
- */
- String getTitleString();
-
- /**
- * When another loader becomes the one the previous one is replaced It's time clean-up
- * if needed (listeners to be removed for example)
- */
- void dispose();
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/load/LoadersManager.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/load/LoadersManager.java
deleted file mode 100644
index 6afa54238f..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/load/LoadersManager.java
+++ /dev/null
@@ -1,397 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2005, 2013 IBM Corporation, 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:
- * IBM - Initial API and implementation
- * Bernd Hufmann - Updated for TMF
- **********************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.views.uml2sd.load;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IExtension;
-import org.eclipse.core.runtime.IExtensionPoint;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.linuxtools.internal.tmf.ui.Activator;
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.SDView;
-import org.eclipse.ui.IViewReference;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.PlatformUI;
-
-/**
- * Manager class for the UML2SD extension point.
- *
- * @version 1.0
- * @author sveyrier
- * @author Bernd Hufmann
- */
-public class LoadersManager {
-
- // ------------------------------------------------------------------------
- // Constants
- // ------------------------------------------------------------------------
- /**
- * The loader tag for the extension point.
- */
- public static final String LOADER_TAG = "uml2SDLoader"; //$NON-NLS-1$
- /**
- * The loader prefix.
- */
- public static final String LOADER_PREFIX = LOADER_TAG + "."; //$NON-NLS-1$
-
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
-
- /**
- * The LoadersManager singleton instance.
- */
- private static LoadersManager fLoadersManager;
-
- /**
- * Map for caching information (view ID to loader class)
- */
- private Map<String, IUml2SDLoader> fViewLoaderMap = new HashMap<>();
- /**
- * Map for caching information (view ID to list of configuration elements)
- */
- private Map<String, ArrayList<IConfigurationElement>> fViewLoadersList = new HashMap<>();
-
- // ------------------------------------------------------------------------
- // Constructor
- // ------------------------------------------------------------------------
- /**
- * This should not be used by the clients
- */
- protected LoadersManager() {
- }
-
- // ------------------------------------------------------------------------
- // Operations
- // ------------------------------------------------------------------------
- /**
- * A static method to get the manager instance.
- *
- * @return the manager instance
- */
- public static synchronized LoadersManager getInstance() {
- if (fLoadersManager == null) {
- fLoadersManager = new LoadersManager();
- }
- return fLoadersManager;
- }
-
- /**
- * Creates a loader instance and associate it to the view. It requires
- * that the loader-view-association was created by an eclipse extension.
- *
- * @param className The name of the class to create an instance from
- * @param view The UML2 Sequence Diagram view instance
- * @return The created loader
- */
- public IUml2SDLoader createLoader(String className, SDView view) {
-
- // Safety check
- if (view == null) {
- return null;
- }
-
- String viewId = view.getViewSite().getId();
-
- // Get loaders from all extensions for given view
- List<IConfigurationElement> loaderElements = getLoaderConfigurationElements(viewId);
- IConfigurationElement ce = getLoaderConfigurationElement(className, loaderElements);
-
- if (ce != null) {
- // Assign a loader instance to this view
- createLoaderForView(viewId, ce);
- IUml2SDLoader loader = fViewLoaderMap.get(viewId);
- if (loader != null) {
- loader.setViewer(view);
- return loader;
- }
- }
- return null;
- }
-
- /**
- * Sets the loader to null for this view, a kind of clean-up while disposing.
- *
- * @param viewId the id of the view
- */
- public void resetLoader(String viewId) {
- IUml2SDLoader loader = fViewLoaderMap.get(viewId);
- if (loader != null) {
- loader.dispose();
- }
- fViewLoaderMap.put(viewId, null);
- }
-
- /**
- * Returns the loader in use in given Sequence Diagram View
- *
- * @param viewId The Sequence Diagram viewId.
- * @return the current loader if any - null otherwise
- */
- public IUml2SDLoader getCurrentLoader(String viewId) {
- return getCurrentLoader(viewId, null);
- }
-
- /**
- * Returns the loader in use in this Sequence Diagram View
- *
- * @param viewId The Sequence Diagram viewId
- * @param view The Sequence Diagram view (if known). Use null to reference the primary SD View.
- * @return the current loader if any - null otherwise
- */
- public IUml2SDLoader getCurrentLoader(String viewId, SDView view) {
- if (viewId == null) {
- return null;
- }
-
- IWorkbenchWindow window = PlatformUI.getWorkbench().getActiveWorkbenchWindow();
- // During Eclipse shutdown the active workbench window is null
- if (window == null) {
- return null;
- }
-
- IWorkbenchPage persp = window.getActivePage();
-
- SDView sdView = view;
-
- try {
- // Search the view corresponding to the viewId
- if (sdView == null) {
- IViewReference viewref = persp.findViewReference(viewId);
- if (viewref != null) {
- sdView = (SDView) viewref.getView(false);
- }
-
- if (sdView == null) {
- // no corresponding view exists -> return null for the loader
- return null;
- }
- }
-
- // Return the loader corresponding to that view (if any)
- IUml2SDLoader loader = fViewLoaderMap.get(viewId);
- if (loader == null) {
- createLastLoaderIfAny(viewId);
- loader = fViewLoaderMap.get(viewId);
- }
-
- return loader;
- } catch (Exception e) {
- Activator.getDefault().logError("Error getting loader class", e); //$NON-NLS-1$
- }
- return null;
- }
-
- /**
- * Returns the loader class name that have been saved last time.
- *
- * @param viewId The view this loader belongs to
- * @return the class name of the saved loader
- */
- public String getSavedLoader(String viewId) {
- IPreferenceStore p = Activator.getDefault().getPreferenceStore();
- return p.getString(LOADER_PREFIX + viewId);
- }
-
- /**
- * Saves the last loader in order to reload it on next session.
- *
- * @param id
- * Standalone ID of the loader
- * @param id2
- * Suffix ID of the loader
- */
- public void saveLastLoader(String id, String id2) {
- IPreferenceStore p = Activator.getDefault().getPreferenceStore();
- p.setValue(LOADER_PREFIX + id2, id);
- }
-
- /**
- * Changes the current unique loader to the given secondary viewId.
- *
- * @param loader The current loader
- * @param id the view secondary id or null
- */
- private void setCurrentLoader(IUml2SDLoader loader, String id) {
- if (id == null) {
- return;
- }
-
- // Get the loader in use
- IUml2SDLoader currentLoader = fViewLoaderMap.get(id);
-
- if ((currentLoader != null) && (currentLoader != loader)) {
- if (loader != null) {
- IWorkbenchWindow window = PlatformUI.getWorkbench().getActiveWorkbenchWindow();
- // During Eclipse shutdown the active workbench window is null
- if (window == null) {
- return;
- }
- IWorkbenchPage persp = window.getActivePage();
- try {
- // Search view corresponding to the viewId
- SDView sdview = null;
- IViewReference viewref = persp.findViewReference(id);
- if (viewref != null) {
- sdview = (SDView) viewref.getView(false);
- }
-
- // Make everything clean for the new loader
- if (sdview != null) {
- sdview.resetProviders();
- }
-
- } catch (Exception e) {
- Activator.getDefault().logError("Error setting current loader class", e); //$NON-NLS-1$
- }
- }
- // The old loader is going to be kicked
- currentLoader.dispose();
- }
-
- // Replace the current loader by the new one in the map
- fViewLoaderMap.put(id, loader);
-
- // Store this loader in the preferences to be able to restore it when the workbench will be re-launched
- if (loader != null) {
- saveLastLoader(loader.getClass().getName(), id);
- }
- }
-
- /**
- * Creates the last loader and saves it. If not last is not available, it creates
- * and saves the default loader, else no loader is created.
- *
- * @param viewId The view ID.
- */
- private void createLastLoaderIfAny(String viewId) {
- // Get saved loader from preferences
- String loaderName = getSavedLoader(viewId);
-
- // Get loaders from all extensions for given view
- List<IConfigurationElement> loaderElements = getLoaderConfigurationElements(viewId);
- IConfigurationElement ce = getLoaderConfigurationElement(loaderName, loaderElements);
-
- if (ce == null) {
- ce = getDefaultLoader(loaderElements);
- }
-
- if (ce != null) {
- createLoaderForView(viewId, ce);
- }
- }
-
- /**
- * Gets a list of loader configuration elements from the extension point registry for a given view.
- * @param viewId The view ID
- * @return List of extension point configuration elements.
- */
- private List<IConfigurationElement> getLoaderConfigurationElements(String viewId) {
- List<IConfigurationElement> list = fViewLoadersList.get(viewId);
- if (list != null) {
- return list;
- }
-
- ArrayList<IConfigurationElement> ret = new ArrayList<>();
- IExtensionPoint iep = Platform.getExtensionRegistry().getExtensionPoint(Activator.PLUGIN_ID, LOADER_TAG);
- if (iep == null) {
- return ret;
- }
-
- IExtension[] ie = iep.getExtensions();
- if (ie == null) {
- return ret;
- }
-
- for (int i = 0; i < ie.length; i++) {
- IConfigurationElement c[] = ie[i].getConfigurationElements();
- for (int j = 0; j < c.length; j++) {
- if (viewId.equals(c[j].getAttribute("view"))) { //$NON-NLS-1$
- ret.add(c[j]);
- }
- }
- }
- fViewLoadersList.put(viewId, ret);
- return ret;
- }
-
- /**
- * Returns the loader configuration element for given loader class name and for the given
- * list of configuration elements, if available else null.
- *
- * @param loaderClassName The loader class name.
- * @param loaderElements The list of loader configuration elements
- * @return Extension point configuration element
- */
- private static IConfigurationElement getLoaderConfigurationElement(
- String loaderClassName, List<IConfigurationElement> loaderElements) {
- if (loaderClassName != null && loaderClassName.length() > 0) {
- // Find configuration element corresponding to the saved loader
- for (Iterator<IConfigurationElement> i = loaderElements.iterator(); i.hasNext();) {
- IConfigurationElement ce = i.next();
- if (ce.getAttribute("class").equals(loaderClassName)) { //$NON-NLS-1$
- return ce;
- }
- }
- }
- return null;
- }
-
- /**
- * Returns the loader configuration element for the given list of configuration elements, if available else null.
- * Note that if multiple default loaders are defined it selects the first one
-
- * @param loaderElements The list of loader configuration elements
- * @return The default extension point configuration element.
- */
- private static IConfigurationElement getDefaultLoader(
- List<IConfigurationElement> loaderElements) {
- // Look for a default loader
- for (Iterator<IConfigurationElement> i = loaderElements.iterator(); i.hasNext();) {
- IConfigurationElement ce = i.next();
- if (Boolean.valueOf(ce.getAttribute("default")).booleanValue()) { //$NON-NLS-1$
- return ce;
- }
- }
- return null;
- }
-
- /**
- * Creates an instance of the loader class for a given extension point configuration element and
- * also sets it as current loader for the given view.
- *
- * @param viewId The view ID.
- * @param ce The extension point configuration element
- */
- private void createLoaderForView(String viewId, IConfigurationElement ce) {
- try {
- Object obj = ce.createExecutableExtension("class"); //$NON-NLS-1$
- IUml2SDLoader l = (IUml2SDLoader) obj;
- if (viewId != null) {
- setCurrentLoader(l, viewId);
- }
- } catch (CoreException e4) {
- Activator.getDefault().logError("Error 'uml2SDLoader' Extension point", e4); //$NON-NLS-1$
- } catch (Exception e5) {
- Activator.getDefault().logError("Error 'uml2SDLoader' Extension point", e5); //$NON-NLS-1$
- }
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/loader/Messages.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/loader/Messages.java
deleted file mode 100644
index 0bf8fc5302..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/loader/Messages.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011, 2013 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:
- * Bernd Hufmann - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.views.uml2sd.loader;
-
-import org.eclipse.osgi.util.NLS;
-
-/**
- * Messages related to the sequence diagram loader
- *
- * @version 1.0
- * @author Bernd Hufmann
- */
-@SuppressWarnings("javadoc")
-public class Messages extends NLS {
- private static final String BUNDLE_NAME = "org.eclipse.linuxtools.tmf.ui.views.uml2sd.loader.messages"; //$NON-NLS-1$
- public static String TmfUml2SDSyncLoader_ViewName;
- public static String TmfUml2SDSyncLoader_CategoryLifeline;
- public static String TmfUml2SDSyncLoader_CategoryMessage;
- public static String TmfUml2SDSyncLoader_FrameName;
- public static String TmfUml2SDSyncLoader_SearchJobDescrition;
- public static String TmfUml2SDSyncLoader_SearchNotFound;
-
- /** @since 2.0 */
- public static String TmfUml2SDSyncLoader_EventTypeSend;
- /** @since 2.0 */
- public static String TmfUml2SDSyncLoader_EventTypeReceive;
- /** @since 2.0 */
- public static String TmfUml2SDSyncLoader_FieldSender;
- /** @since 2.0 */
- public static String TmfUml2SDSyncLoader_FieldReceiver;
- /** @since 2.0 */
- public static String TmfUml2SDSyncLoader_FieldSignal;
- static {
- // initialize resource bundle
- NLS.initializeMessages(BUNDLE_NAME, Messages.class);
- }
-
- private Messages() {
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/loader/TmfAsyncMessage.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/loader/TmfAsyncMessage.java
deleted file mode 100644
index d9c9e50db4..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/loader/TmfAsyncMessage.java
+++ /dev/null
@@ -1,68 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2011, 2013 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:
- * Bernd Hufmann - Initial API and implementation
- **********************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.views.uml2sd.loader;
-
-import org.eclipse.linuxtools.tmf.core.uml2sd.ITmfAsyncSequenceDiagramEvent;
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.core.AsyncMessage;
-
-/**
- * <p>
- * Extends AsyncMessage class to provide additional information about the trace event.
- * </p>
- *
- * @version 1.0
- * @author Bernd Hufmann
- */
-public class TmfAsyncMessage extends AsyncMessage implements ITmfAsyncSequenceDiagramEvent {
-
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
-
- /**
- * A asynchronous sequence diagram event implementation
- */
- private ITmfAsyncSequenceDiagramEvent fSdEvent;
-
- // ------------------------------------------------------------------------
- // Constructors
- // ------------------------------------------------------------------------
-
- /**
- * Standard constructor
- *
- * @param sdEvent The asynchronous sequence diagram event implementation
- * @param eventOccurrence The event index
- */
- public TmfAsyncMessage(ITmfAsyncSequenceDiagramEvent sdEvent, int eventOccurrence) {
- this.fSdEvent = sdEvent;
- setEventOccurrence(eventOccurrence);
- setName(sdEvent.getName());
- setStartTime(sdEvent.getStartTime());
- setEndTime(sdEvent.getEndTime());
- }
-
- // ------------------------------------------------------------------------
- // Methods
- // ------------------------------------------------------------------------
-
- @Override
- public String getSender() {
- return fSdEvent.getSender();
- }
-
- @Override
- public String getReceiver() {
- return fSdEvent.getReceiver();
- }
-} \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/loader/TmfSyncMessage.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/loader/TmfSyncMessage.java
deleted file mode 100644
index 890901b3b3..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/loader/TmfSyncMessage.java
+++ /dev/null
@@ -1,68 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2011, 2013 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:
- * Bernd Hufmann - Initial API and implementation
- **********************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.views.uml2sd.loader;
-
-import org.eclipse.linuxtools.tmf.core.uml2sd.ITmfSyncSequenceDiagramEvent;
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.core.SyncMessage;
-
-
-/**
- * <p>
- * Extends SyncMessage class to provide additional information about the trace event.
- * </p>
- *
- * @version 1.0
- * @author Bernd Hufmann
- */
-public class TmfSyncMessage extends SyncMessage implements ITmfSyncSequenceDiagramEvent {
-
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
-
- /**
- * A synchronous sequence diagram event implementation
- */
- private ITmfSyncSequenceDiagramEvent fSdEvent;
-
- // ------------------------------------------------------------------------
- // Constructors
- // ------------------------------------------------------------------------
-
- /**
- * Standard constructor
- *
- * @param sdEvent The synchronous sequence diagram event implementation
- * @param eventOccurrence The event index
- */
- public TmfSyncMessage(ITmfSyncSequenceDiagramEvent sdEvent, int eventOccurrence) {
- this.fSdEvent = sdEvent;
- setEventOccurrence(eventOccurrence);
- setName(sdEvent.getName());
- setTime(sdEvent.getStartTime());
- }
-
- // ------------------------------------------------------------------------
- // Methods
- // ------------------------------------------------------------------------
-
- @Override
- public String getSender() {
- return fSdEvent.getSender();
- }
-
- @Override
- public String getReceiver() {
- return fSdEvent.getReceiver();
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/loader/TmfUml2SDSyncLoader.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/loader/TmfUml2SDSyncLoader.java
deleted file mode 100644
index 9ab09ac8b7..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/loader/TmfUml2SDSyncLoader.java
+++ /dev/null
@@ -1,1485 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2011, 2013 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:
- * Bernd Hufmann - Initial API and implementation
- **********************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.views.uml2sd.loader;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.concurrent.CopyOnWriteArrayList;
-import java.util.concurrent.locks.ReentrantLock;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.core.runtime.jobs.Job;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.linuxtools.internal.tmf.ui.Activator;
-import org.eclipse.linuxtools.tmf.core.component.TmfComponent;
-import org.eclipse.linuxtools.tmf.core.event.ITmfEvent;
-import org.eclipse.linuxtools.tmf.core.event.ITmfEventField;
-import org.eclipse.linuxtools.tmf.core.request.ITmfEventRequest;
-import org.eclipse.linuxtools.tmf.core.request.TmfEventRequest;
-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.signal.TmfTraceClosedSignal;
-import org.eclipse.linuxtools.tmf.core.signal.TmfTraceOpenedSignal;
-import org.eclipse.linuxtools.tmf.core.signal.TmfTraceSelectedSignal;
-import org.eclipse.linuxtools.tmf.core.timestamp.ITmfTimestamp;
-import org.eclipse.linuxtools.tmf.core.timestamp.TmfTimeRange;
-import org.eclipse.linuxtools.tmf.core.timestamp.TmfTimestamp;
-import org.eclipse.linuxtools.tmf.core.trace.ITmfTrace;
-import org.eclipse.linuxtools.tmf.core.trace.TmfTraceManager;
-import org.eclipse.linuxtools.tmf.core.uml2sd.ITmfSyncSequenceDiagramEvent;
-import org.eclipse.linuxtools.tmf.core.uml2sd.TmfSyncSequenceDiagramEvent;
-import org.eclipse.linuxtools.tmf.ui.editors.ITmfTraceEditor;
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.SDView;
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.core.Frame;
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.core.GraphNode;
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.core.Lifeline;
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.dialogs.Criteria;
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.dialogs.FilterCriteria;
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.dialogs.FilterListDialog;
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.handlers.provider.ISDAdvancedPagingProvider;
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.handlers.provider.ISDFilterProvider;
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.handlers.provider.ISDFindProvider;
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.handlers.provider.ISDGraphNodeSupporter;
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.load.IUml2SDLoader;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.ISelectionListener;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.progress.IProgressConstants;
-
-/**
- * <p>
- * This class is a reference implementation of the
- * <code>org.eclipse.linuxtools.tmf.ui.Uml2SDLoader</code> extension point. It
- * provides a Sequence Diagram loader for a user space trace with specific trace
- * content for sending and receiving signals between components. I also includes
- * a default implementation for the <code>ITmfEvent</code> parsing.
- * </p>
- *
- * The class <code>TmfUml2SDSyncLoader</code> analyzes events from type
- * <code>ITmfEvent</code> and creates events type
- * <code>ITmfSyncSequenceDiagramEvent</code> if the <code>ITmfEvent</code>
- * contains all relevant information. The analysis checks that the event type
- * strings contains either string SEND or RECEIVE. If event type matches these
- * key words, the analyzer will look for strings sender, receiver and signal in
- * the event fields of type <code>ITmfEventField</code>. If all the data is
- * found a sequence diagram event from can be created. Note that Sync Messages
- * are assumed, which means start and end time are the same. <br>
- * <br>
- * The parsing of the <code>ITmfEvent</code> is done in the method
- * <code>getSequnceDiagramEvent()</code> of class
- * <code>TmfUml2SDSyncLoader</code>. By extending the class
- * <code>TmfUml2SDSyncLoader</code> and overwriting
- * <code>getSequnceDiagramEvent()</code> a customized parsing algorithm can be
- * implemented.<br>
- * <br>
- * Note that combined traces of multiple components, that contain the trace
- * information about the same interactions are not supported in the class
- * <code>TmfUml2SDSyncLoader</code>.
- *
- * @version 1.0
- * @author Bernd Hufmann
- */
-public class TmfUml2SDSyncLoader extends TmfComponent implements IUml2SDLoader, ISDFindProvider, ISDFilterProvider, ISDAdvancedPagingProvider, ISelectionListener {
-
- // ------------------------------------------------------------------------
- // Constants
- // ------------------------------------------------------------------------
-
- /**
- * Default title name.
- */
- protected static final String TITLE = Messages.TmfUml2SDSyncLoader_ViewName;
-
- /**
- * Maximum number of messages per page.
- */
- protected static final int MAX_NUM_OF_MSG = 10000;
-
- private static final int INDEXING_THREAD_SLEEP_VALUE = 100;
-
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
-
- // Experiment attributes
- /**
- * The TMF trace reference.
- * @since 2.0
- */
- protected ITmfTrace fTrace = null;
- /**
- * The current indexing event request.
- */
- protected ITmfEventRequest fIndexRequest = null;
- /**
- * The current request to fill a page.
- */
- protected ITmfEventRequest fPageRequest = null;
- /**
- * Flag whether the time range signal was sent by this loader class or not
- */
- protected volatile boolean fIsSignalSent = false;
-
- // The view and event attributes
- /**
- * The sequence diagram view reference.
- */
- protected SDView fView = null;
- /**
- * The current sequence diagram frame reference.
- */
- protected Frame fFrame = null;
- /**
- * The list of sequence diagram events of current page.
- */
- protected List<ITmfSyncSequenceDiagramEvent> fEvents = new ArrayList<>();
-
- // Checkpoint and page attributes
- /**
- * The checkpoints of the whole sequence diagram trace (i.e. start time stamp of each page)
- */
- protected List<TmfTimeRange> fCheckPoints = new ArrayList<>(MAX_NUM_OF_MSG);
- /**
- * The current page displayed.
- */
- protected volatile int fCurrentPage = 0;
- /**
- * The current time selected.
- */
- protected ITmfTimestamp fCurrentTime = null;
- /**
- * Flag to specify that selection of message is done by selection or by signal.
- */
- protected volatile boolean fIsSelect = false;
-
- // Search attributes
- /**
- * The job for searching across pages.
- */
- protected SearchJob fFindJob = null;
- /**
- * List of found nodes within a page.
- */
- protected List<GraphNode> fFindResults = new ArrayList<>();
- /**
- * The current find criteria reference
- */
- protected Criteria fFindCriteria = null;
- /**
- * The current find index within the list of found nodes (<code>fFindeResults</code> within a page.
- */
- protected volatile int fCurrentFindIndex = 0;
-
- // Filter attributes
- /**
- * The list of active filters.
- */
- protected List<FilterCriteria> fFilterCriteria = null;
-
- // Thread synchronization
- /**
- * The synchronization lock.
- */
- protected ReentrantLock fLock = new ReentrantLock();
-
- // ------------------------------------------------------------------------
- // Constructors
- // ------------------------------------------------------------------------
- /**
- * Default constructor
- */
- public TmfUml2SDSyncLoader() {
- super(TITLE);
- }
-
- /**
- * Constructor
- *
- * @param name Name of loader
- */
- public TmfUml2SDSyncLoader(String name) {
- super(name);
- }
-
- // ------------------------------------------------------------------------
- // Operations
- // ------------------------------------------------------------------------
-
- /**
- * Returns the current time if available else null.
- *
- * @return the current time if available else null
- * @since 2.0
- */
- public ITmfTimestamp getCurrentTime() {
- fLock.lock();
- try {
- if (fCurrentTime != null) {
- return fCurrentTime;
- }
- return null;
- } finally {
- fLock.unlock();
- }
- }
-
- /**
- * Waits for the page request to be completed
- */
- public void waitForCompletion() {
- fLock.lock();
- ITmfEventRequest request = fPageRequest;
- fLock.unlock();
- if (request != null) {
- try {
- request.waitForCompletion();
- } catch (InterruptedException e) {
- // ignore
- }
- }
- }
-
- /**
- * Handler for the trace opened signal.
- * @param signal The trace opened signal
- * @since 2.0
- */
- @TmfSignalHandler
- public void traceOpened(TmfTraceOpenedSignal signal) {
- fTrace = signal.getTrace();
- loadTrace();
- }
-
-
- /**
- * Signal handler for the trace selected signal.
- *
- * Spawns a request to index the trace (checkpoints creation) as well as it fills
- * the first page.
- *
- * @param signal The trace selected signal
- * @since 2.0
- */
- @TmfSignalHandler
- public void traceSelected(TmfTraceSelectedSignal signal) {
- // Update the trace reference
- ITmfTrace trace = signal.getTrace();
- if (!trace.equals(fTrace)) {
- fTrace = trace;
- }
- loadTrace();
- }
-
- /**
- * Method for loading the current selected trace into the view.
- * Sub-class need to override this method to add the view specific implementation.
- * @since 2.0
- */
- protected void loadTrace() {
- ITmfEventRequest indexRequest = null;
- fLock.lock();
-
- try {
- final Job job = new IndexingJob("Indexing " + getName() + "..."); //$NON-NLS-1$ //$NON-NLS-2$
- job.setUser(false);
- job.schedule();
-
- indexRequest = fIndexRequest;
-
- cancelOngoingRequests();
-
- TmfTimeRange window = TmfTimeRange.ETERNITY;
-
- fIndexRequest = new TmfEventRequest(ITmfEvent.class, window, 0,
- ITmfEventRequest.ALL_DATA, ITmfEventRequest.ExecutionType.BACKGROUND) {
-
- private ITmfTimestamp fFirstTime = null;
- private ITmfTimestamp fLastTime = null;
- private int fNbSeqEvents = 0;
- private final List<ITmfSyncSequenceDiagramEvent> fSdEvents = new ArrayList<>(MAX_NUM_OF_MSG);
-
- @Override
- public void handleData(ITmfEvent event) {
- super.handleData(event);
-
- ITmfSyncSequenceDiagramEvent sdEvent = getSequenceDiagramEvent(event);
-
- if (sdEvent != null) {
- ++fNbSeqEvents;
-
- if (fFirstTime == null) {
- fFirstTime = event.getTimestamp();
- }
-
- fLastTime = event.getTimestamp();
-
- if ((fNbSeqEvents % MAX_NUM_OF_MSG) == 0) {
- fLock.lock();
- try {
- fCheckPoints.add(new TmfTimeRange(fFirstTime, fLastTime));
- if (fView != null) {
- fView.updateCoolBar();
- }
- } finally {
- fLock.unlock();
- }
- fFirstTime = null;
-
- }
-
- if (fNbSeqEvents > MAX_NUM_OF_MSG) {
- // page is full
- return;
- }
-
- fSdEvents.add(sdEvent);
-
- if (fNbSeqEvents == MAX_NUM_OF_MSG) {
- fillCurrentPage(fSdEvents);
- }
- }
- }
-
- @Override
- public void handleSuccess() {
- if ((fFirstTime != null) && (fLastTime != null)) {
-
- fLock.lock();
- try {
- fCheckPoints.add(new TmfTimeRange(fFirstTime, fLastTime));
- if (fView != null) {
- fView.updateCoolBar();
- }
- } finally {
- fLock.unlock();
- }
- }
-
- if (fNbSeqEvents <= MAX_NUM_OF_MSG) {
- fillCurrentPage(fSdEvents);
- }
-
- super.handleSuccess();
- }
-
- @Override
- public void handleCompleted() {
- if (fEvents.isEmpty()) {
- fFrame = new Frame();
- // make sure that view is not null when setting frame
- SDView sdView;
- fLock.lock();
- try {
- sdView = fView;
- } finally {
- fLock.unlock();
- }
- if (sdView != null) {
- sdView.setFrameSync(fFrame);
- }
- }
- super.handleCompleted();
- job.cancel();
- }
- };
-
- } finally {
- fLock.unlock();
- }
- if (indexRequest != null && !indexRequest.isCompleted()) {
- indexRequest.cancel();
- }
- resetLoader();
- fTrace.sendRequest(fIndexRequest);
- }
-
- /**
- * Signal handler for the trace closed signal.
- *
- * @param signal The trace closed signal
- * @since 2.0
- */
- @TmfSignalHandler
- public void traceClosed(TmfTraceClosedSignal signal) {
- if (signal.getTrace() != fTrace) {
- return;
- }
- ITmfEventRequest indexRequest = null;
- fLock.lock();
- try {
- indexRequest = fIndexRequest;
- fIndexRequest = null;
-
- cancelOngoingRequests();
-
- if (fFilterCriteria != null) {
- fFilterCriteria.clear();
- }
-
- FilterListDialog.deactivateSavedGlobalFilters();
- } finally {
- fTrace = null;
- fLock.unlock();
- }
- if (indexRequest != null && !indexRequest.isCompleted()) {
- indexRequest.cancel();
- }
-
- resetLoader();
- }
-
- /**
- * Moves to the page that contains the time provided by the signal. The messages will be selected
- * if the provided time is the time of a message.
- *
- * @param signal The Time synch signal.
- */
- @TmfSignalHandler
- public void synchToTime(TmfTimeSynchSignal signal) {
- fLock.lock();
- try {
- if ((signal.getSource() != this) && (fFrame != null) && (fCheckPoints.size() > 0)) {
- fCurrentTime = signal.getBeginTime();
- fIsSelect = true;
- moveToMessage();
- }
- } finally {
- fLock.unlock();
- }
- }
-
- /**
- * Moves to the page that contains the current time provided by signal.
- * No message will be selected however the focus will be set to the message
- * if the provided time is the time of a message.
- *
- * @param signal The time range sync signal
- */
- @TmfSignalHandler
- public void synchToTimeRange(TmfRangeSynchSignal signal) {
- fLock.lock();
- try {
- if ((signal.getSource() != this) && (fFrame != null) && !fIsSignalSent && (fCheckPoints.size() > 0)) {
- TmfTimeRange newTimeRange = signal.getCurrentRange();
-
- fIsSelect = false;
- fCurrentTime = newTimeRange.getStartTime();
-
- moveToMessage();
- }
- } finally {
- fLock.unlock();
- }
-
- }
-
- @Override
- public void setViewer(SDView viewer) {
-
- fLock.lock();
- try {
- fView = viewer;
- PlatformUI.getWorkbench().getActiveWorkbenchWindow().getSelectionService().addPostSelectionListener(this);
- fView.setSDFindProvider(this);
- fView.setSDPagingProvider(this);
- fView.setSDFilterProvider(this);
-
- resetLoader();
- IEditorPart editor = fView.getSite().getPage().getActiveEditor();
- if (editor instanceof ITmfTraceEditor) {
- ITmfTrace trace = ((ITmfTraceEditor) editor).getTrace();
- if (trace != null) {
- traceSelected(new TmfTraceSelectedSignal(this, trace));
- }
- }
- } finally {
- fLock.unlock();
- }
- }
-
- @Override
- public String getTitleString() {
- return getName();
- }
-
- @Override
- public void dispose() {
- super.dispose();
- ITmfEventRequest indexRequest = null;
- fLock.lock();
- try {
- IWorkbenchWindow window = PlatformUI.getWorkbench().getActiveWorkbenchWindow();
- // During Eclipse shutdown the active workbench window is null
- if (window != null) {
- window.getSelectionService().removePostSelectionListener(this);
- }
-
- indexRequest = fIndexRequest;
- fIndexRequest = null;
- cancelOngoingRequests();
-
- fView.setSDFindProvider(null);
- fView.setSDPagingProvider(null);
- fView.setSDFilterProvider(null);
- fView = null;
- } finally {
- fLock.unlock();
- }
- if (indexRequest != null && !indexRequest.isCompleted()) {
- indexRequest.cancel();
- }
- }
-
- @Override
- public boolean isNodeSupported(int nodeType) {
- switch (nodeType) {
- case ISDGraphNodeSupporter.LIFELINE:
- case ISDGraphNodeSupporter.SYNCMESSAGE:
- return true;
-
- default:
- break;
- }
- return false;
- }
-
- @Override
- public String getNodeName(int nodeType, String loaderClassName) {
- switch (nodeType) {
- case ISDGraphNodeSupporter.LIFELINE:
- return Messages.TmfUml2SDSyncLoader_CategoryLifeline;
- case ISDGraphNodeSupporter.SYNCMESSAGE:
- return Messages.TmfUml2SDSyncLoader_CategoryMessage;
- default:
- break;
- }
- return ""; //$NON-NLS-1$
- }
-
- @Override
- public void selectionChanged(IWorkbenchPart part, ISelection selection) {
- ISelection sel = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getSelectionService().getSelection();
- if ((sel != null) && (sel instanceof StructuredSelection)) {
- StructuredSelection stSel = (StructuredSelection) sel;
- if (stSel.getFirstElement() instanceof TmfSyncMessage) {
- TmfSyncMessage syncMsg = ((TmfSyncMessage) stSel.getFirstElement());
- broadcast(new TmfTimeSynchSignal(this, syncMsg.getStartTime()));
- }
- }
- }
-
- @Override
- public boolean find(Criteria toSearch) {
- fLock.lock();
- try {
- if (fFrame == null) {
- return false;
- }
-
- if ((fFindResults == null) || (fFindCriteria == null) || !fFindCriteria.compareTo(toSearch)) {
- fFindResults = new CopyOnWriteArrayList<>();
- fFindCriteria = toSearch;
- if (fFindCriteria.isLifeLineSelected()) {
- for (int i = 0; i < fFrame.lifeLinesCount(); i++) {
- if (fFindCriteria.matches(fFrame.getLifeline(i).getName())) {
- fFindResults.add(fFrame.getLifeline(i));
- }
- }
- }
-
- ArrayList<GraphNode> msgs = new ArrayList<>();
- if (fFindCriteria.isSyncMessageSelected()) {
- for (int i = 0; i < fFrame.syncMessageCount(); i++) {
- if (fFindCriteria.matches(fFrame.getSyncMessage(i).getName())) {
- msgs.add(fFrame.getSyncMessage(i));
- }
- }
- }
-
- if (!msgs.isEmpty()) {
- fFindResults.addAll(msgs);
- }
-
- List<GraphNode> selection = fView.getSDWidget().getSelection();
- if ((selection != null) && (selection.size() == 1)) {
- fCurrentFindIndex = fFindResults.indexOf(selection.get(0)) + 1;
- } else {
- fCurrentFindIndex = 0;
- }
- } else {
- fCurrentFindIndex++;
- }
-
- if (fFindResults.size() > fCurrentFindIndex) {
- GraphNode current = fFindResults.get(fCurrentFindIndex);
- fView.getSDWidget().moveTo(current);
- return true;
- }
- fFindResults = null;
- fCurrentFindIndex =0;
- return findInNextPages(fFindCriteria); // search in other page
- } finally {
- fLock.unlock();
- }
- }
-
- @Override
- public void cancel() {
- cancelOngoingRequests();
- }
-
- @Override
- public boolean filter(List<FilterCriteria> filters) {
- fLock.lock();
- try {
- cancelOngoingRequests();
-
- if (filters == null) {
- fFilterCriteria = new ArrayList<>();
- } else {
- List<FilterCriteria> list = filters;
- fFilterCriteria = new ArrayList<>(list);
- }
-
- fillCurrentPage(fEvents);
-
- } finally {
- fLock.unlock();
- }
- return true;
- }
-
- @Override
- public boolean hasNextPage() {
- fLock.lock();
- try {
- int size = fCheckPoints.size();
- if (size > 0) {
- return fCurrentPage < (size - 1);
- }
- } finally {
- fLock.unlock();
- }
- return false;
- }
-
- @Override
- public boolean hasPrevPage() {
- fLock.lock();
- try {
- return fCurrentPage > 0;
- } finally {
- fLock.unlock();
- }
- }
-
- @Override
- public void nextPage() {
- fLock.lock();
- try {
- // Safety check
- if (fCurrentPage >= (fCheckPoints.size() - 1)) {
- return;
- }
-
- cancelOngoingRequests();
- fCurrentTime = null;
- fCurrentPage++;
- moveToPage();
- } finally {
- fLock.unlock();
- }
- }
-
- @Override
- public void prevPage() {
- fLock.lock();
- try {
- // Safety check
- if (fCurrentPage <= 0) {
- return;
- }
-
- cancelOngoingRequests();
- fCurrentTime = null;
- fCurrentPage--;
- moveToPage();
- } finally {
- fLock.unlock();
- }
- }
-
- @Override
- public void firstPage() {
- fLock.lock();
- try {
-
- cancelOngoingRequests();
- fCurrentTime = null;
- fCurrentPage = 0;
- moveToPage();
- } finally {
- fLock.unlock();
- }
- }
-
- @Override
- public void lastPage() {
- fLock.lock();
- try {
- cancelOngoingRequests();
- fCurrentTime = null;
- fCurrentPage = fCheckPoints.size() - 1;
- moveToPage();
- } finally {
- fLock.unlock();
- }
- }
-
- @Override
- public int currentPage() {
- fLock.lock();
- try {
- return fCurrentPage;
- } finally {
- fLock.unlock();
- }
- }
-
- @Override
- public int pagesCount() {
- fLock.lock();
- try {
- return fCheckPoints.size();
- } finally {
- fLock.unlock();
- }
- }
-
- @Override
- public void pageNumberChanged(int pagenNumber) {
- int localPageNumber = pagenNumber;
-
- fLock.lock();
- try {
- cancelOngoingRequests();
-
- if (localPageNumber < 0) {
- localPageNumber = 0;
- }
- int size = fCheckPoints.size();
- if (localPageNumber > (size - 1)) {
- localPageNumber = size - 1;
- }
- fCurrentPage = localPageNumber;
- moveToPage();
- } finally {
- fLock.unlock();
- }
- }
-
- @Override
- public void broadcast(TmfSignal signal) {
- fIsSignalSent = true;
- super.broadcast(signal);
- fIsSignalSent = false;
- }
-
- /**
- * Cancels any ongoing find operation
- */
- protected void cancelOngoingRequests() {
- fLock.lock();
- ITmfEventRequest pageRequest = null;
- try {
- // Cancel the search thread
- if (fFindJob != null) {
- fFindJob.cancel();
- }
-
- fFindResults = null;
- fFindCriteria = null;
- fCurrentFindIndex = 0;
-
- pageRequest = fPageRequest;
- fPageRequest = null;
- } finally {
- fLock.unlock();
- }
- if (pageRequest != null && !pageRequest.isCompleted()) {
- pageRequest.cancel();
- }
- }
-
- /**
- * Resets loader attributes
- */
- protected void resetLoader() {
- fLock.lock();
- try {
- fCurrentTime = null;
- fEvents.clear();
- fCheckPoints.clear();
- fCurrentPage = 0;
- fCurrentFindIndex = 0;
- fFindCriteria = null;
- fFindResults = null;
- fView.setFrameSync(new Frame());
- fFrame = null;
- }
- finally {
- fLock.unlock();
- }
-
- }
-
- /**
- * Fills current page with sequence diagram content.
- *
- * @param events sequence diagram events
- */
- protected void fillCurrentPage(List<ITmfSyncSequenceDiagramEvent> events) {
-
- fLock.lock();
- try {
- fEvents = new ArrayList<>(events);
- if (fView != null && !events.isEmpty()) {
- fView.toggleWaitCursorAsync(true);
- }
- } finally {
- fLock.unlock();
- }
-
- final Frame frame = new Frame();
-
- if (!events.isEmpty()) {
- Map<String, Lifeline> nodeToLifelineMap = new HashMap<>();
-
- frame.setName(Messages.TmfUml2SDSyncLoader_FrameName);
-
- for (int i = 0; i < events.size(); i++) {
-
- ITmfSyncSequenceDiagramEvent sdEvent = events.get(i);
-
- if ((nodeToLifelineMap.get(sdEvent.getSender()) == null) && (!filterLifeLine(sdEvent.getSender()))) {
- Lifeline lifeline = new Lifeline();
- lifeline.setName(sdEvent.getSender());
- nodeToLifelineMap.put(sdEvent.getSender(), lifeline);
- frame.addLifeLine(lifeline);
- }
-
- if ((nodeToLifelineMap.get(sdEvent.getReceiver()) == null) && (!filterLifeLine(sdEvent.getReceiver()))) {
- Lifeline lifeline = new Lifeline();
- lifeline.setName(sdEvent.getReceiver());
- nodeToLifelineMap.put(sdEvent.getReceiver(), lifeline);
- frame.addLifeLine(lifeline);
- }
- }
-
- int eventOccurence = 1;
-
- for (int i = 0; i < events.size(); i++) {
- ITmfSyncSequenceDiagramEvent sdEvent = events.get(i);
-
- // Check message filter
- if (filterMessage(sdEvent)) {
- continue;
- }
-
- // Set the message sender and receiver
- Lifeline startLifeline = nodeToLifelineMap.get(sdEvent.getSender());
- Lifeline endLifeline = nodeToLifelineMap.get(sdEvent.getReceiver());
-
- // Check if any of the lifelines were filtered
- if ((startLifeline == null) || (endLifeline == null)) {
- continue;
- }
-
- int tmp = Math.max(startLifeline.getEventOccurrence(), endLifeline.getEventOccurrence());
- eventOccurence = Math.max(eventOccurence, tmp);
-
- startLifeline.setCurrentEventOccurrence(eventOccurence);
- endLifeline.setCurrentEventOccurrence(eventOccurence);
-
- TmfSyncMessage message = new TmfSyncMessage(sdEvent, eventOccurence++);
-
- message.setStartLifeline(startLifeline);
- message.setEndLifeline(endLifeline);
-
- message.setTime(sdEvent.getStartTime());
-
- // add the message to the frame
- frame.addMessage(message);
-
- }
- fLock.lock();
- try {
- if (!fView.getSDWidget().isDisposed()) {
- fView.getSDWidget().getDisplay().asyncExec(new Runnable() {
-
- @Override
- public void run() {
-
- fLock.lock();
- try {
- // check if view was disposed in the meanwhile
- if ((fView != null) && (!fView.getSDWidget().isDisposed())) {
- fFrame = frame;
- fView.setFrame(fFrame);
-
- if (fCurrentTime != null) {
- moveToMessageInPage();
- }
-
- if (fFindCriteria != null) {
- find(fFindCriteria);
- }
-
- fView.toggleWaitCursorAsync(false);
- }
- } finally {
- fLock.unlock();
- }
-
- }
- });
- }
- }
- finally {
- fLock.unlock();
- }
- }
- }
-
- /**
- * Moves to a certain message defined by timestamp (across pages)
- */
- protected void moveToMessage() {
- int page = 0;
-
- fLock.lock();
- try {
- page = getPage(fCurrentTime);
-
- if (page == fCurrentPage) {
- moveToMessageInPage();
- return;
- }
- fCurrentPage = page;
- moveToPage(false);
- } finally {
- fLock.unlock();
- }
- }
-
- /**
- * Moves to a certain message defined by timestamp in current page
- */
- protected void moveToMessageInPage() {
- fLock.lock();
- try {
- if (!fView.getSDWidget().isDisposed()) {
- // Check for GUI thread
- if(Display.getCurrent() != null) {
- // Already in GUI thread - execute directly
- TmfSyncMessage prevMessage = null;
- TmfSyncMessage syncMessage = null;
- boolean isExactTime = false;
- for (int i = 0; i < fFrame.syncMessageCount(); i++) {
- if (fFrame.getSyncMessage(i) instanceof TmfSyncMessage) {
- syncMessage = (TmfSyncMessage) fFrame.getSyncMessage(i);
- if (syncMessage.getStartTime().compareTo(fCurrentTime, false) == 0) {
- isExactTime = true;
- break;
- } else if ((syncMessage.getStartTime().compareTo(fCurrentTime, false) > 0) && (prevMessage != null)) {
- syncMessage = prevMessage;
- break;
- }
- prevMessage = syncMessage;
- }
- }
- if (fIsSelect && isExactTime) {
- fView.getSDWidget().moveTo(syncMessage);
- }
- else {
- fView.getSDWidget().ensureVisible(syncMessage);
- fView.getSDWidget().clearSelection();
- fView.getSDWidget().redraw();
- }
- }
- else {
- // Not in GUI thread - queue action in GUI thread.
- fView.getSDWidget().getDisplay().asyncExec(new Runnable() {
- @Override
- public void run() {
- moveToMessageInPage();
- }
- });
- }
- }
- }
- finally {
- fLock.unlock();
- }
- }
-
- /**
- * Moves to a certain message defined by timestamp (across pages)
- */
- protected void moveToPage() {
- moveToPage(true);
- }
-
- /**
- * Moves to a certain page.
- *
- * @param notifyAll true to broadcast time range signal to other signal handlers else false
- */
- protected void moveToPage(boolean notifyAll) {
-
- TmfTimeRange window = null;
-
- fLock.lock();
- try {
- // Safety check
- if (fCurrentPage > fCheckPoints.size()) {
- return;
- }
- window = fCheckPoints.get(fCurrentPage);
- } finally {
- fLock.unlock();
- }
-
- if (window == null) {
- window = TmfTimeRange.ETERNITY;
- }
-
- fPageRequest = new TmfEventRequest(ITmfEvent.class, window, 0,
- ITmfEventRequest.ALL_DATA, ITmfEventRequest.ExecutionType.FOREGROUND) {
- private final List<ITmfSyncSequenceDiagramEvent> fSdEvent = new ArrayList<>();
-
- @Override
- public void handleData(ITmfEvent event) {
- super.handleData(event);
-
- ITmfSyncSequenceDiagramEvent sdEvent = getSequenceDiagramEvent(event);
-
- if (sdEvent != null) {
- fSdEvent.add(sdEvent);
- }
- }
-
- @Override
- public void handleSuccess() {
- fillCurrentPage(fSdEvent);
- super.handleSuccess();
- }
-
- };
-
- fTrace.sendRequest(fPageRequest);
-
- if (notifyAll) {
- TmfTimeRange timeRange = getSignalTimeRange(window.getStartTime());
- broadcast(new TmfRangeSynchSignal(this, timeRange));
- }
- }
-
- /**
- * Gets page that contains timestamp
- *
- * @param time The timestamp
- * @return page that contains the time
- * @since 2.0
- */
- protected int getPage(ITmfTimestamp time) {
- int page;
- int size;
- fLock.lock();
- try {
- size = fCheckPoints.size();
- for (page = 0; page < size; page++) {
- TmfTimeRange timeRange = fCheckPoints.get(page);
- if (timeRange.getEndTime().compareTo(time, false) >= 0) {
- break;
- }
- }
- if (page >= size) {
- page = size - 1;
- }
- return page;
- } finally {
- fLock.unlock();
- }
- }
-
- /**
- * Background search in trace for expression in criteria.
- *
- * @param findCriteria The find criteria
- * @return true if background request was started else false
- */
- protected boolean findInNextPages(Criteria findCriteria) {
- fLock.lock();
- try {
- if (fFindJob != null) {
- return true;
- }
-
- int nextPage = fCurrentPage + 1;
-
- if ((nextPage) >= fCheckPoints.size()) {
- // we are at the end
- return false;
- }
-
- TmfTimeRange window = new TmfTimeRange(fCheckPoints.get(nextPage).getStartTime(), fCheckPoints.get(fCheckPoints.size()-1).getEndTime());
- fFindJob = new SearchJob(findCriteria, window);
- fFindJob.schedule();
- fView.toggleWaitCursorAsync(true);
- } finally {
- fLock.unlock();
- }
- return true;
- }
-
- /**
- * Gets time range for time range signal.
- *
- * @param startTime The start time of time range.
- * @return the time range
- * @since 2.0
- */
- protected TmfTimeRange getSignalTimeRange(ITmfTimestamp startTime) {
- fLock.lock();
- try {
- TmfTimeRange currentRange = TmfTraceManager.getInstance().getCurrentRange();
- long offset = fTrace == null ? 0 : currentRange.getEndTime().getDelta(currentRange.getStartTime()).normalize(0, startTime.getScale()).getValue();
- TmfTimestamp initialEndOfWindow = new TmfTimestamp(startTime.getValue() + offset, startTime.getScale(), startTime.getPrecision());
- return new TmfTimeRange(startTime, initialEndOfWindow);
- }
- finally {
- fLock.unlock();
- }
- }
-
- /**
- * Checks if filter criteria matches the message name in given SD event.
- *
- * @param sdEvent The SD event to check
- * @return true if match else false.
- */
- protected boolean filterMessage(ITmfSyncSequenceDiagramEvent sdEvent) {
- fLock.lock();
- try {
- if (fFilterCriteria != null) {
- for(FilterCriteria criteria : fFilterCriteria) {
- if (criteria.isActive() && criteria.getCriteria().isSyncMessageSelected() && criteria.getCriteria().matches(sdEvent.getName())) {
- return true;
- }
- }
- }
- } finally {
- fLock.unlock();
- }
- return false;
- }
-
- /**
- * Checks if filter criteria matches a lifeline name (sender or receiver) in given SD event.
- *
- * @param lifeline the message receiver
- * @return true if match else false.
- */
- protected boolean filterLifeLine(String lifeline) {
- fLock.lock();
- try {
- if (fFilterCriteria != null) {
- for(FilterCriteria criteria : fFilterCriteria) {
- if (criteria.isActive() && criteria.getCriteria().isLifeLineSelected() && criteria.getCriteria().matches(lifeline)) {
- return true;
- }
- }
- }
- } finally {
- fLock.unlock();
- }
- return false;
- }
-
- /**
- * Job to search in trace for given time range.
- */
- protected class SearchJob extends Job {
-
- /**
- * The search event request.
- */
- protected final SearchEventRequest fSearchRequest;
-
- /**
- * Constructor
- *
- * @param findCriteria The search criteria
- * @param window Time range to search in
- * @since 2.0
- */
- public SearchJob(Criteria findCriteria, TmfTimeRange window) {
- super(Messages.TmfUml2SDSyncLoader_SearchJobDescrition);
- fSearchRequest = new SearchEventRequest(window, ITmfEventRequest.ALL_DATA,
- ITmfEventRequest.ExecutionType.FOREGROUND, findCriteria);
- }
-
- @Override
- protected IStatus run(IProgressMonitor monitor) {
- fSearchRequest.setMonitor(monitor);
-
- fTrace.sendRequest(fSearchRequest);
-
- try {
- fSearchRequest.waitForCompletion();
- } catch (InterruptedException e) {
- Activator.getDefault().logError("Search request interrupted!", e); //$NON-NLS-1$
- }
-
- IStatus status = Status.OK_STATUS;
- if (fSearchRequest.isFound() && (fSearchRequest.getFoundTime() != null)) {
- fCurrentTime = fSearchRequest.getFoundTime();
-
- // Avoid double-selection. Selection will be done when calling find(criteria)
- // after moving to relevant page
- fIsSelect = false;
- if (!fView.getSDWidget().isDisposed()) {
- fView.getSDWidget().getDisplay().asyncExec(new Runnable() {
-
- @Override
- public void run() {
- moveToMessage();
- }
- });
- }
- }
- else {
- if (monitor.isCanceled()) {
- status = Status.CANCEL_STATUS;
- }
- else {
- // String was not found
- status = new Status(IStatus.WARNING, Activator.PLUGIN_ID, Messages.TmfUml2SDSyncLoader_SearchNotFound);
- }
- setProperty(IProgressConstants.KEEP_PROPERTY, Boolean.TRUE);
- }
- monitor.done();
-
- fLock.lock();
- try {
- fView.toggleWaitCursorAsync(false);
- fFindJob = null;
- } finally {
- fLock.unlock();
- }
-
- return status;
- }
-
- @Override
- protected void canceling() {
- fSearchRequest.cancel();
- fLock.lock();
- try {
- fFindJob = null;
- } finally {
- fLock.unlock();
- }
- }
- }
-
- /**
- * TMF event request for searching within trace.
- */
- protected class SearchEventRequest extends TmfEventRequest {
-
- /**
- * The find criteria.
- */
- private final Criteria fCriteria;
- /**
- * A progress monitor
- */
- private IProgressMonitor fMonitor;
- /**
- * Flag to indicate that node was found according the criteria .
- */
- private boolean fIsFound = false;
- /**
- * Time stamp of found item.
- */
- private ITmfTimestamp fFoundTime = null;
-
- /**
- * Constructor
- * @param range @see org.eclipse.linuxtools.tmf.request.TmfEventRequest#TmfEventRequest(...)
- * @param nbRequested @see org.eclipse.linuxtools.tmf.request.TmfEventRequest#handleData(...)
- * @param execType @see org.eclipse.linuxtools.tmf.request.TmfEventRequest#handleData(...)
- * @param criteria The search criteria
- */
- public SearchEventRequest(TmfTimeRange range, int nbRequested, ExecutionType execType, Criteria criteria) {
- this(range, nbRequested, execType, criteria, null);
- }
-
- /**
- * Constructor
- * @param range @see org.eclipse.linuxtools.tmf.request.TmfEventRequest#TmfEventRequest(...)
- * @param nbRequested @see org.eclipse.linuxtools.tmf.request.TmfEventRequest#TmfEventRequest(...)
- * @param execType @see org.eclipse.linuxtools.tmf.request.TmfEventRequest#TmfEventRequest(...)
- * @param criteria The search criteria
- * @param monitor progress monitor
- */
- public SearchEventRequest(TmfTimeRange range, int nbRequested, ExecutionType execType, Criteria criteria, IProgressMonitor monitor) {
- super(ITmfEvent.class, range, 0, nbRequested, execType);
- fCriteria = new Criteria(criteria);
- fMonitor = monitor;
- }
-
- @Override
- public void handleData(ITmfEvent event) {
- super.handleData(event);
-
- if ((fMonitor!= null) && fMonitor.isCanceled()) {
- super.cancel();
- return;
- }
-
- ITmfSyncSequenceDiagramEvent sdEvent = getSequenceDiagramEvent(event);
-
- if (sdEvent != null) {
-
- if (fCriteria.isLifeLineSelected()) {
- if (fCriteria.matches(sdEvent.getSender())) {
- fFoundTime = event.getTimestamp();
- fIsFound = true;
- super.cancel();
- }
-
- if (fCriteria.matches(sdEvent.getReceiver())) {
- fFoundTime = event.getTimestamp();
- fIsFound = true;
- super.cancel();
- }
- }
-
- if (fCriteria.isSyncMessageSelected() && fCriteria.matches(sdEvent.getName())) {
- fFoundTime = event.getTimestamp();
- fIsFound = true;
- super.cancel();
- }
- }
- }
-
- /**
- * Set progress monitor.
- *
- * @param monitor The monitor to assign
- */
- public void setMonitor(IProgressMonitor monitor) {
- fMonitor = monitor;
- }
-
- /**
- * Check if find criteria was met.
- *
- * @return true if find criteria was met.
- */
- public boolean isFound() {
- return fIsFound;
- }
-
- /**
- * Returns timestamp of found time.
- *
- * @return timestamp of found time.
- * @since 2.0
- */
- public ITmfTimestamp getFoundTime() {
- return fFoundTime;
- }
- }
-
- /**
- * Job class to provide progress monitor feedback.
- *
- * @version 1.0
- * @author Bernd Hufmann
- *
- */
- protected static class IndexingJob extends Job {
-
- /**
- * @param name The job name
- */
- public IndexingJob(String name) {
- super(name);
- }
-
- @Override
- protected IStatus run(IProgressMonitor monitor) {
- while (!monitor.isCanceled()) {
- try {
- Thread.sleep(INDEXING_THREAD_SLEEP_VALUE);
- } catch (InterruptedException e) {
- return Status.OK_STATUS;
- }
- }
- monitor.done();
- return Status.OK_STATUS;
- }
- }
-
-
- /**
- * Returns sequence diagram event if details in given event are available else null.
- *
- * @param tmfEvent Event to parse for sequence diagram event details
- * @return sequence diagram event if details are available else null
- * @since 2.0
- */
- protected ITmfSyncSequenceDiagramEvent getSequenceDiagramEvent(ITmfEvent tmfEvent){
- //type = .*RECEIVE.* or .*SEND.*
- //content = sender:<sender name>:receiver:<receiver name>,signal:<signal name>
- String eventType = tmfEvent.getType().toString();
- if (eventType.contains(Messages.TmfUml2SDSyncLoader_EventTypeSend) || eventType.contains(Messages.TmfUml2SDSyncLoader_EventTypeReceive)) {
- Object sender = tmfEvent.getContent().getField(Messages.TmfUml2SDSyncLoader_FieldSender);
- Object receiver = tmfEvent.getContent().getField(Messages.TmfUml2SDSyncLoader_FieldReceiver);
- Object name = tmfEvent.getContent().getField(Messages.TmfUml2SDSyncLoader_FieldSignal);
- if ((sender instanceof ITmfEventField) && (receiver instanceof ITmfEventField) && (name instanceof ITmfEventField)) {
- ITmfSyncSequenceDiagramEvent sdEvent = new TmfSyncSequenceDiagramEvent(tmfEvent,
- ((ITmfEventField) sender).getValue().toString(),
- ((ITmfEventField) receiver).getValue().toString(),
- ((ITmfEventField) name).getValue().toString());
-
- return sdEvent;
- }
- }
- return null;
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/loader/messages.properties b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/loader/messages.properties
deleted file mode 100644
index 359c257e24..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/loader/messages.properties
+++ /dev/null
@@ -1,22 +0,0 @@
-###############################################################################
-# Copyright (c) 2011, 2013 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:
-# Bernd Hufmann - Initial API and implementation
-###############################################################################
-TmfUml2SDSyncLoader_ViewName=Component Interactions
-TmfUml2SDSyncLoader_CategoryLifeline=Lifeline
-TmfUml2SDSyncLoader_CategoryMessage=Interaction
-TmfUml2SDSyncLoader_FrameName=Sequence Diagram
-TmfUml2SDSyncLoader_SearchJobDescrition=Searching in sequence diagram ...
-TmfUml2SDSyncLoader_EventTypeSend=SEND
-TmfUml2SDSyncLoader_EventTypeReceive=RECEIVE
-TmfUml2SDSyncLoader_FieldSender=sender
-TmfUml2SDSyncLoader_FieldReceiver=receiver
-TmfUml2SDSyncLoader_FieldSignal=signal
-TmfUml2SDSyncLoader_SearchNotFound=String not found!
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/preferences/ISDPreferences.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/preferences/ISDPreferences.java
deleted file mode 100755
index 0b184d59be..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/preferences/ISDPreferences.java
+++ /dev/null
@@ -1,147 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2005, 2013 IBM Corporation, 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:
- * IBM - Initial API and implementation
- * Bernd Hufmann - Updated for TMF
- **********************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.views.uml2sd.preferences;
-
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.drawings.IColor;
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.drawings.IFont;
-
-/**
- * Interface for accessing sequence diagram preferences.
- *
- * @version 1.0
- * @author sveyrier
- */
-public interface ISDPreferences {
-
- /**
- * The link font with zoom preference name
- */
- static final String PREF_LINK_FONT = "PREF_LINK_FONT"; //$NON-NLS-1$
- /**
- * The exclude preference time preference name
- */
- static final String PREF_EXCLUDE_EXTERNAL_TIME = "PREF_EXCLUDE_EXTERNAL_TIME"; //$NON-NLS-1$
- /**
- * The use gradient color preferences name
- */
- static final String PREF_USE_GRADIENT = "PREF_USE_GRADIENT"; //$NON-NLS-1$
- /**
- * The lifeline spacing width preference name
- */
- static final String PREF_LIFELINE_WIDTH = "PREF_LIFELINE_WIDTH"; //$NON-NLS-1$
- /**
- * The time compression bar font preference name
- */
- static final String PREF_TIME_COMP = "PREF_TIME_COMP"; //$NON-NLS-1$
- /**
- * The lifeline font preference name
- */
- static final String PREF_LIFELINE = "PREF_LIFELINE"; //$NON-NLS-1$
- /**
- * The frame font preference name
- */
- static final String PREF_FRAME = "PREF_FRAME"; //$NON-NLS-1$
- /**
- * The frame name font preference name
- */
- static final String PREF_FRAME_NAME = "PREF_FRAME_NAME"; //$NON-NLS-1$
- /**
- * The execution occurrence font preference name
- */
- static final String PREF_EXEC = "PREF_EXEC"; //$NON-NLS-1$
- /**
- * The synchronous message font preference name
- */
- static final String PREF_SYNC_MESS = "PREF_SYNC_MESS"; //$NON-NLS-1$
- /**
- * The synchronous message return font preference name
- */
- static final String PREF_SYNC_MESS_RET = "PREF_SYNC_MESS_RET"; //$NON-NLS-1$
- /**
- * The asynchronous message font preference name
- */
- static final String PREF_ASYNC_MESS = "PREF_ASYNC_MESS"; //$NON-NLS-1$
- /**
- * The asynchronous message return font preference name
- */
- static final String PREF_ASYNC_MESS_RET = "PREF_ASYNC_MESS_RET"; //$NON-NLS-1$
- /**
- * The lifeline header font (header = the always visible part of a lifeline)
- */
- static final String PREF_LIFELINE_HEADER = "PREF_LIFELINE_HEADER"; //$NON-NLS-1$
- /**
- * The enable tooltip preference name
- */
- static final String PREF_TOOLTIP = "PREF_TOOLTIP"; //$NON-NLS-1$
-
- /**
- * Returns the background color for the given preference name (font preference name)
- *
- * @param prefId The preference name
- * @return the color
- */
- IColor getBackGroundColor(String prefId);
-
- /**
- * Returns the foreground color for the given preference name (font preference name)
- *
- * @param prefId A preference name
- * @return the color
- */
- IColor getForeGroundColor(String prefId);
-
- /**
- * Returns the font color for the given preference name (font preference name)
- *
- * @param prefId A preference name
- * @return the color
- */
- IColor getFontColor(String prefId);
-
- /**
- * Returns the font for the given preference name
- *
- * @param prefId the preference name
- * @return the font
- */
- IFont getFont(String prefId);
-
- /**
- * Returns the time compression bar selection color
- *
- * @return the time compression bar selection color
- */
- IColor getTimeCompressionSelectionColor();
-
- /**
- * Returns the background color used to draw selection
- *
- * @return the background color
- */
- IColor getBackGroundColorSelection();
-
- /**
- * Returns the foreground color used to draw selection
- *
- * @return the foreground color
- */
- IColor getForeGroundColorSelection();
-
- /**
- * Returns whether to use gradient color or not
- *
- * @return whether to use gradient color or not
- */
- boolean useGradienColor();
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/preferences/SDViewPref.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/preferences/SDViewPref.java
deleted file mode 100755
index bc720fba29..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/preferences/SDViewPref.java
+++ /dev/null
@@ -1,527 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2005, 2013 IBM Corporation, 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:
- * IBM - Initial API and implementation
- * Bernd Hufmann - Updated for TMF
- **********************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.views.uml2sd.preferences;
-
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.Hashtable;
-import java.util.Map;
-
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.jface.preference.PreferenceConverter;
-import org.eclipse.jface.util.IPropertyChangeListener;
-import org.eclipse.jface.util.PropertyChangeEvent;
-import org.eclipse.linuxtools.internal.tmf.ui.Activator;
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.drawings.IColor;
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.drawings.IFont;
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.drawings.impl.ColorImpl;
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.drawings.impl.FontImpl;
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.util.Messages;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.graphics.FontData;
-import org.eclipse.swt.graphics.RGB;
-import org.eclipse.swt.widgets.Display;
-
-/**
- * This is the Sequence Diagram preference handler. This class is responsible for accessing the current user preferences
- * selection This class also provider getters for each modifiable preferences.
- *
- * @version 1.0
- * @author sveyrier
- */
-public class SDViewPref implements ISDPreferences, IPropertyChangeListener {
-
- // ------------------------------------------------------------------------
- // Constants
- // ------------------------------------------------------------------------
- /**
- * Postfix string for background color property
- */
- public static final String BACK_COLOR_POSTFIX = "_BACK_COLOR";//$NON-NLS-1$
- /**
- * Postfix string for foreground color property
- */
- public static final String FORE_COLOR_POSTFIX = "_FORE_COLOR";//$NON-NLS-1$
- /**
- * Postfix string for text color property
- */
- public static final String TEXT_COLOR_POSTFIX = "_TEXT_COLOR";//$NON-NLS-1$
- /**
- * Array of preference names
- */
- private static final String[] FONT_LIST = { PREF_LIFELINE, PREF_EXEC, PREF_SYNC_MESS, PREF_SYNC_MESS_RET, PREF_ASYNC_MESS, PREF_ASYNC_MESS_RET, PREF_FRAME, PREF_LIFELINE_HEADER, PREF_FRAME_NAME };
- /**
- * A 2nd array of preference names
- */
- private static final String[] FONT_LIST2 = { Messages.SequenceDiagram_Lifeline, Messages.SequenceDiagram_ExecutionOccurrence, Messages.SequenceDiagram_SyncMessage, Messages.SequenceDiagram_SyncMessageReturn, Messages.SequenceDiagram_AsyncMessage, Messages.SequenceDiagram_AsyncMessageReturn, Messages.SequenceDiagram_Frame, Messages.SequenceDiagram_LifelineHeader, Messages.SequenceDiagram_FrameTitle };
- /**
- * Array of background color preference names
- */
- private static final String[] PREF_BACK_COLOR_LIST = { PREF_LIFELINE, PREF_EXEC, PREF_FRAME, PREF_LIFELINE_HEADER, PREF_FRAME_NAME };
- /**
- * Array of foreground color preference names
- */
- private static final String[] PREF_FORE_COLOR_LIST = { PREF_LIFELINE, PREF_EXEC, PREF_SYNC_MESS, PREF_SYNC_MESS_RET, PREF_ASYNC_MESS, PREF_ASYNC_MESS_RET, PREF_FRAME, PREF_LIFELINE_HEADER, PREF_FRAME_NAME };
- /**
- * Array of text color preference names
- */
- private static final String[] PREF_TEXT_COLOR_LIST = { PREF_LIFELINE, PREF_SYNC_MESS, PREF_SYNC_MESS_RET, PREF_ASYNC_MESS, PREF_ASYNC_MESS_RET, PREF_LIFELINE_HEADER, PREF_FRAME_NAME };
- /**
- * Temporary tag
- * @since 2.0
- */
- public static final String TEMP_TAG = "_TEMP";//$NON-NLS-1$
-
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
-
- /**
- * The sequence diagram preferences singleton instance
- */
- private static SDViewPref fHandle = null;
- /**
- * Hashtable for font preferences
- */
- private Map<String, IFont> fFontPref;
-
- /**
- * Hashtable for foreground color preferences
- */
- private Map<String, IColor> fForeColorPref;
- /**
- * Hashtable for background color preferences
- */
- private Map<String, IColor> fBackColorPref;
- /**
- * Hashtable for text color preferences
- */
- private Map<String, IColor> fTextColorPref;
- /**
- * The reference to the preference store.
- */
- private IPreferenceStore fPrefStore = null;
- /**
- * Color for the time compression selection
- */
- private IColor fTimeCompressionSelectionColor = null;
- /**
- * Flag whether no focus selection or not.
- */
- private boolean fNoFocusSelection = false;
-
- // ------------------------------------------------------------------------
- // Constructors
- // ------------------------------------------------------------------------
-
- /**
- * Builds the Sequence Diagram preference handler: - Define the preference default values. - Load the currently used
- * preferences setting
- */
- protected SDViewPref() {
- fPrefStore = Activator.getDefault().getPreferenceStore();
-
- fPrefStore.setDefault(PREF_LINK_FONT, true);
- fPrefStore.setDefault(PREF_EXCLUDE_EXTERNAL_TIME, true);
- fPrefStore.setDefault(PREF_LIFELINE_WIDTH, 200);
- fPrefStore.setDefault(PREF_USE_GRADIENT, true);
- fPrefStore.setDefault(PREF_TOOLTIP, true);
-
- fFontPref = new Hashtable<>();
- fForeColorPref = new Hashtable<>();
- fBackColorPref = new Hashtable<>();
- fTextColorPref = new Hashtable<>();
-
- for (int i = 0; i < FONT_LIST.length; i++) {
- if (FONT_LIST[i].equals(PREF_FRAME_NAME)) {
- FontData[] data = Display.getDefault().getSystemFont().getFontData();
- data[0].setStyle(SWT.BOLD);
- PreferenceConverter.setDefault(fPrefStore, FONT_LIST[i], data[0]);
- PreferenceConverter.setDefault(fPrefStore, FONT_LIST[i] + TEMP_TAG, data[0]);
- } else {
- PreferenceConverter.setDefault(fPrefStore, FONT_LIST[i], Display.getDefault().getSystemFont().getFontData());
- PreferenceConverter.setDefault(fPrefStore, FONT_LIST[i] + TEMP_TAG, Display.getDefault().getSystemFont().getFontData());
- }
- }
-
- for (int i = 0; i < PREF_BACK_COLOR_LIST.length; i++) {
- IColor color;
- if ((PREF_BACK_COLOR_LIST[i].equals(PREF_EXEC)) || PREF_BACK_COLOR_LIST[i].equals(PREF_FRAME_NAME)) {
- color = new ColorImpl(Display.getDefault(), 201, 222, 233);
- } else if (PREF_BACK_COLOR_LIST[i].equals(PREF_LIFELINE)) {
- color = new ColorImpl(Display.getDefault(), 220, 220, 220);
- } else if (PREF_BACK_COLOR_LIST[i].equals(PREF_LIFELINE_HEADER)) {
- color = new ColorImpl(Display.getDefault(), 245, 244, 244);
- } else {
- color = new ColorImpl(Display.getDefault(), 255, 255, 255);
- }
- PreferenceConverter.setDefault(fPrefStore, PREF_BACK_COLOR_LIST[i] + BACK_COLOR_POSTFIX, ((Color) color.getColor()).getRGB());
- PreferenceConverter.setDefault(fPrefStore, PREF_BACK_COLOR_LIST[i] + BACK_COLOR_POSTFIX + TEMP_TAG, ((Color) color.getColor()).getRGB());
- color.dispose();
- }
-
- for (int i = 0; i < PREF_FORE_COLOR_LIST.length; i++) {
- IColor color;
- if (PREF_FORE_COLOR_LIST[i].equals(PREF_LIFELINE)) {
- color = new ColorImpl(Display.getDefault(), 129, 129, 129);
- } else if (PREF_FORE_COLOR_LIST[i].equals(PREF_FRAME_NAME)) {
- color = new ColorImpl(Display.getDefault(), 81, 153, 200);
- } else if (PREF_FORE_COLOR_LIST[i].equals(PREF_LIFELINE_HEADER)) {
- color = new ColorImpl(Display.getDefault(), 129, 127, 137);
- } else {
- color = new ColorImpl(Display.getDefault(), 134, 176, 212);
- }
- PreferenceConverter.setDefault(fPrefStore, PREF_FORE_COLOR_LIST[i] + FORE_COLOR_POSTFIX, ((Color) color.getColor()).getRGB());
- PreferenceConverter.setDefault(fPrefStore, PREF_FORE_COLOR_LIST[i] + FORE_COLOR_POSTFIX + TEMP_TAG, ((Color) color.getColor()).getRGB());
- color.dispose();
- }
-
- for (int i = 0; i < PREF_TEXT_COLOR_LIST.length; i++) {
- IColor color;
- if (PREF_TEXT_COLOR_LIST[i].equals(PREF_LIFELINE)) {
- color = new ColorImpl(Display.getDefault(), 129, 129, 129);
- } else if (PREF_TEXT_COLOR_LIST[i].equals(PREF_FRAME_NAME)) {
- color = new ColorImpl(Display.getDefault(), 0, 0, 0);
- } else if (PREF_TEXT_COLOR_LIST[i].equals(PREF_LIFELINE_HEADER)) {
- color = new ColorImpl(Display.getDefault(), 129, 127, 137);
- } else {
- color = new ColorImpl(Display.getDefault(), 134, 176, 212);
- }
- PreferenceConverter.setDefault(fPrefStore, PREF_TEXT_COLOR_LIST[i] + TEXT_COLOR_POSTFIX, ((Color) color.getColor()).getRGB());
- PreferenceConverter.setDefault(fPrefStore, PREF_TEXT_COLOR_LIST[i] + TEXT_COLOR_POSTFIX + TEMP_TAG, ((Color) color.getColor()).getRGB());
- color.dispose();
- }
-
- IColor color = new ColorImpl(Display.getDefault(), 218, 232, 238);
- PreferenceConverter.setDefault(fPrefStore, PREF_TIME_COMP, ((Color) color.getColor()).getRGB());
- color.dispose();
-
- buildFontsAndColors();
-
- fPrefStore.addPropertyChangeListener(this);
- }
-
- /**
- * Returns the PreferenceStore
- *
- * @return the PreferenceStore
- */
- public IPreferenceStore getPreferenceStore() {
- return fPrefStore;
- }
-
- /**
- * Apply the preferences in the preferences handler
- */
- public void apply() {
- buildFontsAndColors();
- fPrefStore.firePropertyChangeEvent("PREFOK", null, null); //$NON-NLS-1$
- }
-
- /**
- * Returns an unique instance of the Sequence Diagram preference handler
- *
- * @return the preference handler instance
- */
- public static synchronized SDViewPref getInstance() {
- if (fHandle == null) {
- fHandle = new SDViewPref();
- }
- return fHandle;
- }
-
- @Override
- public IColor getForeGroundColor(String prefName) {
- if ((fForeColorPref.get(prefName + FORE_COLOR_POSTFIX) != null) && (fForeColorPref.get(prefName + FORE_COLOR_POSTFIX) instanceof ColorImpl)) {
- return fForeColorPref.get(prefName + FORE_COLOR_POSTFIX);
- }
- return ColorImpl.getSystemColor(SWT.COLOR_BLACK);
- }
-
- @Override
- public IColor getBackGroundColor(String prefName) {
- if ((fBackColorPref.get(prefName + BACK_COLOR_POSTFIX) != null) && (fBackColorPref.get(prefName + BACK_COLOR_POSTFIX) instanceof ColorImpl)) {
- return fBackColorPref.get(prefName + BACK_COLOR_POSTFIX);
- }
- return ColorImpl.getSystemColor(SWT.COLOR_WHITE);
- }
-
- @Override
- public IColor getFontColor(String prefName) {
- if ((fTextColorPref.get(prefName + TEXT_COLOR_POSTFIX) != null) && (fTextColorPref.get(prefName + TEXT_COLOR_POSTFIX) instanceof ColorImpl)) {
- return fTextColorPref.get(prefName + TEXT_COLOR_POSTFIX);
- }
- return ColorImpl.getSystemColor(SWT.COLOR_BLACK);
- }
-
- @Override
- public IColor getForeGroundColorSelection() {
- if (fNoFocusSelection) {
- return ColorImpl.getSystemColor(SWT.COLOR_TITLE_INACTIVE_FOREGROUND);
- }
- return ColorImpl.getSystemColor(SWT.COLOR_LIST_SELECTION_TEXT);
- }
-
- @Override
- public IColor getBackGroundColorSelection() {
- if (fNoFocusSelection) {
- return ColorImpl.getSystemColor(SWT.COLOR_WIDGET_BACKGROUND);
- }
- return ColorImpl.getSystemColor(SWT.COLOR_LIST_SELECTION);
- }
-
- @Override
- public IFont getFont(String prefName) {
- if (fFontPref.get(prefName) != null) {
- return fFontPref.get(prefName);
- }
- return FontImpl.getSystemFont();
- }
-
- /**
- * Returns the SwimLane width chosen
- *
- * @return the SwimLane width
- */
- public int getLifelineWidth() {
- return fPrefStore.getInt(PREF_LIFELINE_WIDTH);
- }
-
- /**
- * Returns if font linkage with zoom has been chosen
- *
- * @return true if checked false otherwise
- */
- public boolean fontLinked() {
- return fPrefStore.getBoolean(PREF_LINK_FONT);
- }
-
- /**
- * Returns the tooltip enablement
- *
- * @return true if checked false otherwise
- */
- public boolean tooltipEnabled() {
- return fPrefStore.getBoolean(PREF_TOOLTIP);
- }
-
- /**
- * Return true if the user do not want to take external time (basically found and lost messages with time) into
- * account in the min max computation
- *
- * @return true if checked false otherwise
- */
- public boolean excludeExternalTime() {
- return fPrefStore.getBoolean(PREF_EXCLUDE_EXTERNAL_TIME);
- }
-
- @Override
- public boolean useGradienColor() {
- return fPrefStore.getBoolean(PREF_USE_GRADIENT);
- }
-
- @Override
- public IColor getTimeCompressionSelectionColor() {
- return fTimeCompressionSelectionColor;
- }
-
- /**
- * Builds the new colors and fonts according the current user selection when the OK or Apply button is clicked
- */
- private void buildFontsAndColors() {
-
- Display display = Display.getDefault();
-
- for (int i = 0; i < FONT_LIST.length; i++) {
- FontData fontData = PreferenceConverter.getFontData(fPrefStore, FONT_LIST[i]);
- if (fFontPref.get(FONT_LIST[i]) != null) {
- fFontPref.get(FONT_LIST[i]).dispose();
- }
- fFontPref.put(FONT_LIST[i], new FontImpl(display, fontData));
- }
-
- for (int i = 0; i < PREF_BACK_COLOR_LIST.length; i++) {
- RGB rgb = PreferenceConverter.getColor(fPrefStore, PREF_BACK_COLOR_LIST[i] + BACK_COLOR_POSTFIX);
- if (fBackColorPref.get(PREF_BACK_COLOR_LIST[i] + BACK_COLOR_POSTFIX) != null) {
- fBackColorPref.get(PREF_BACK_COLOR_LIST[i] + BACK_COLOR_POSTFIX).dispose();
- }
- fBackColorPref.put(PREF_BACK_COLOR_LIST[i] + BACK_COLOR_POSTFIX, new ColorImpl(display, rgb.red, rgb.green, rgb.blue));
- }
-
- for (int i = 0; i < PREF_FORE_COLOR_LIST.length; i++) {
- RGB rgb = PreferenceConverter.getColor(fPrefStore, PREF_FORE_COLOR_LIST[i] + FORE_COLOR_POSTFIX);
- if (fForeColorPref.get(PREF_FORE_COLOR_LIST[i] + FORE_COLOR_POSTFIX) != null) {
- fForeColorPref.get(PREF_FORE_COLOR_LIST[i] + FORE_COLOR_POSTFIX).dispose();
- }
- fForeColorPref.put(PREF_FORE_COLOR_LIST[i] + FORE_COLOR_POSTFIX, new ColorImpl(display, rgb.red, rgb.green, rgb.blue));
- }
-
- for (int i = 0; i < PREF_TEXT_COLOR_LIST.length; i++) {
- RGB rgb = PreferenceConverter.getColor(fPrefStore, PREF_TEXT_COLOR_LIST[i] + TEXT_COLOR_POSTFIX);
- if (fTextColorPref.get(PREF_TEXT_COLOR_LIST[i] + TEXT_COLOR_POSTFIX) != null) {
- fTextColorPref.get(PREF_TEXT_COLOR_LIST[i] + TEXT_COLOR_POSTFIX).dispose();
- }
- fTextColorPref.put(PREF_TEXT_COLOR_LIST[i] + TEXT_COLOR_POSTFIX, new ColorImpl(display, rgb.red, rgb.green, rgb.blue));
- }
-
- RGB rgb = PreferenceConverter.getColor(fPrefStore, PREF_TIME_COMP);
- if (fTimeCompressionSelectionColor != null) {
- fTimeCompressionSelectionColor.dispose();
- }
- fTimeCompressionSelectionColor = new ColorImpl(display, rgb.red, rgb.green, rgb.blue);
- }
-
- /**
- * Add a property-change listener
- *
- * @param listener
- * The listener to add
- */
- public void addPropertyChangeListener(IPropertyChangeListener listener) {
- fPrefStore.addPropertyChangeListener(listener);
- }
-
- /**
- * Remove a property-change listener
- *
- * @param listener
- * The listerner to remove
- */
- public void removePropertyChangeListener(IPropertyChangeListener listener) {
- fPrefStore.removePropertyChangeListener(listener);
- }
-
- @Override
- public void propertyChange(PropertyChangeEvent event) {
- if (!event.getProperty().equals("PREFOK")) { //$NON-NLS-1$
- buildFontsAndColors();
- fPrefStore.firePropertyChangeEvent("PREFOK", null, null); //$NON-NLS-1$
- }
- }
-
- /**
- * Set the "no focus selection" preference
- *
- * @param v
- * New value to use
- */
- public void setNoFocusSelection(boolean v) {
- fNoFocusSelection = v;
- }
-
- /**
- * Returns a unmodifiable map with font preferences.
- *
- * @return map with font preferences
- * @since 2.0
- */
- protected Map<String, IFont> getFontPref() {
- return Collections.unmodifiableMap(fFontPref);
- }
-
- /**
- * Returns a unmodifiable map with foreground color preferences
- *
- * @return map with foreground color preferences
- * @since 2.0
- */
- public Map<String, IColor> getForeColorPref() {
- return Collections.unmodifiableMap(fForeColorPref);
- }
-
- /**
- * Returns a unmodifiable map with background color preferences
- *
- * @return map with background color preferences
- * @since 2.0
- */
- public Map<String, IColor> getBackColorPref() {
- return Collections.unmodifiableMap(fBackColorPref);
- }
-
- /**
- * Returns a unmodifiable map with text color preferences
- *
- * @return map with text color preferences
- * @since 2.0
- */
- public Map<String, IColor> getTextColorPref() {
- return Collections.unmodifiableMap(fTextColorPref);
- }
-
- /**
- * Returns the preference store.
- *
- * @return the preference store
- * @since 2.0
- */
- public IPreferenceStore getPrefStore() {
- return fPrefStore;
- }
-
- /**
- * Returns flag about focus selection
- *
- * @return flag about focus selection
- * @since 2.0
- */
- public boolean isNoFocusSelection() {
- return fNoFocusSelection;
- }
-
- /**
- * Returns the static font list.
- *
- * @return static font list
- */
- public static String[] getFontList() {
- return Arrays.copyOf(FONT_LIST, FONT_LIST.length);
- }
-
- /**
- * Returns the 2nd static font list.
- *
- * @return 2nd static font list
- */
- public static String[] getFontList2() {
- return Arrays.copyOf(FONT_LIST2, FONT_LIST2.length);
- }
-
- /**
- * Returns the preference background color list.
- *
- * @return preference background color list
- */
- public static String[] getPrefBackColorList() {
- return Arrays.copyOf(PREF_BACK_COLOR_LIST, PREF_BACK_COLOR_LIST.length);
- }
-
- /**
- * Returns the preference foreground color list.
- *
- * @return preference foreground color list
- */
- public static String[] getPrefForeColorList() {
- return Arrays.copyOf(PREF_FORE_COLOR_LIST, PREF_FORE_COLOR_LIST.length);
- }
-
- /**
- * Returns the preference text color list color list.
- *
- * @return preference text color list color list
- */
- public static String[] getPrefTextColorList() {
- return Arrays.copyOf(PREF_TEXT_COLOR_LIST, PREF_TEXT_COLOR_LIST.length);
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/preferences/SDViewerPage.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/preferences/SDViewerPage.java
deleted file mode 100755
index 43d922daf8..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/preferences/SDViewerPage.java
+++ /dev/null
@@ -1,431 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2005, 2014 IBM Corporation, 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:
- * IBM - Initial API and implementation
- * Bernd Hufmann - Updated for TMF
- **********************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.views.uml2sd.preferences;
-
-import java.util.Iterator;
-import java.util.Set;
-
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.preference.BooleanFieldEditor;
-import org.eclipse.jface.preference.ColorFieldEditor;
-import org.eclipse.jface.preference.FontFieldEditor;
-import org.eclipse.jface.preference.IntegerFieldEditor;
-import org.eclipse.jface.preference.PreferencePage;
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.util.Messages;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.events.SelectionListener;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.List;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.IWorkbenchPreferencePage;
-
-/**
- * The Sequence Diagram preferences page implementation.
- *
- * @version 1.0
- * @author sveyrier
- */
-public class SDViewerPage extends PreferencePage implements IWorkbenchPreferencePage, SelectionListener {
-
- // ------------------------------------------------------------------------
- // Constants
- // ------------------------------------------------------------------------
- /**
- * Temporary preferences tag
- */
- private static final String TEMP_TAG = SDViewPref.TEMP_TAG;
-
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
- /**
- * The preference handler used to access the PreferenceStore
- */
- private SDViewPref fPreferences = null;
- /**
- * BackGround color selector
- */
- private ColorFieldEditor fLineColor = null;
- /**
- * Foreground color selector
- */
- private ColorFieldEditor fBackGroundColor = null;
- /**
- * Font color selector
- */
- private ColorFieldEditor fTextColor = null;
- /**
- * List which display all modifiable sequence Diagram font
- */
- private List fClassItemList = null;
- /**
- * Font selector (The same is used for each modifiable font)
- */
- private FontFieldEditor fFont = null;
- /**
- * Link font when zooming selector
- */
- private BooleanFieldEditor fLink = null;
- /**
- * Enable tooltip selector
- */
- private BooleanFieldEditor fTooltip = null;
- /**
- * Do not take external time into account in the min max computation
- */
- private BooleanFieldEditor fNoExternalTime = null;
- /**
- * Use gradient color selector
- */
- private BooleanFieldEditor fUseGrad = null;
- /**
- * A button area.
- */
- private Composite fButtonArea;
- /**
- * SwimLane width selector
- */
- private IntegerFieldEditor fLifelineWidth = null;
-
- // ------------------------------------------------------------------------
- // Methods
- // ------------------------------------------------------------------------
-
- @Override
- protected Control createContents(Composite parent) {
- GridLayout gl = new GridLayout();
- gl.marginHeight = 0;
- gl.marginWidth = 0;
- parent.setLayout(gl);
- Composite page = new Composite(parent, SWT.NONE);
- GridLayout pageLayout = new GridLayout();
- pageLayout.numColumns = 2;
- GridData pageLayoutdata = new GridData(GridData.GRAB_HORIZONTAL | GridData.HORIZONTAL_ALIGN_FILL | GridData.GRAB_VERTICAL | GridData.VERTICAL_ALIGN_FILL);
- page.setLayoutData(pageLayoutdata);
- page.setLayout(pageLayout);
-
- fTooltip = new BooleanFieldEditor(ISDPreferences.PREF_TOOLTIP, Messages.SequenceDiagram_ShowTooltips, page);
- fTooltip.setPreferenceStore(fPreferences.getPreferenceStore());
- fTooltip.load();
-
- // link font with zoom pref
- fLink = new BooleanFieldEditor(ISDPreferences.PREF_LINK_FONT, Messages.SequenceDiagram_IncreaseFontSizeWhenZooming, page);
- fLink.setPreferenceStore(fPreferences.getPreferenceStore());
- fLink.load();
-
- fNoExternalTime = new BooleanFieldEditor(ISDPreferences.PREF_EXCLUDE_EXTERNAL_TIME, Messages.SequenceDiagram_ExcludeExternalTime, page);
- fNoExternalTime.setPreferenceStore(fPreferences.getPreferenceStore());
- fNoExternalTime.load();
-
- // use gradient color pref
- fUseGrad = new BooleanFieldEditor(ISDPreferences.PREF_USE_GRADIENT, Messages.SequenceDiagram_UseGradientColor, page);
- fUseGrad.setPreferenceStore(fPreferences.getPreferenceStore());
- fUseGrad.load();
-
- Label separator = new Label(page, SWT.SEPARATOR | SWT.HORIZONTAL | SWT.SHADOW_NONE);
- GridData sepData = new GridData(GridData.HORIZONTAL_ALIGN_FILL | GridData.GRAB_HORIZONTAL | GridData.VERTICAL_ALIGN_FILL);
- separator.setLayoutData(sepData);
-
- Composite prefPage = new Composite(page, SWT.NONE);
- GridLayout prefPageLayout = new GridLayout();
- prefPage.setLayoutData(pageLayoutdata);
- prefPageLayout.numColumns = 1;
- prefPage.setLayout(prefPageLayout);
-
- // swimLane width pref
- fLifelineWidth = new IntegerFieldEditor(ISDPreferences.PREF_LIFELINE_WIDTH, Messages.SequenceDiagram_LifelineWidth, prefPage);
- fLifelineWidth.setPreferenceStore(fPreferences.getPreferenceStore());
- fLifelineWidth.setValidRange(119, 500);
- fLifelineWidth.load();
-
- // not very nice
- new Label(prefPage, SWT.SEPARATOR | SWT.HORIZONTAL | SWT.SHADOW_NONE);
- new Label(prefPage, SWT.SEPARATOR | SWT.HORIZONTAL | SWT.SHADOW_NONE);
-
- // Font list pref
- fClassItemList = new List(prefPage, SWT.SINGLE | SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER);
- GridData tabItemLayoutdata = new GridData(GridData.GRAB_HORIZONTAL | GridData.HORIZONTAL_ALIGN_FILL | GridData.GRAB_VERTICAL | GridData.VERTICAL_ALIGN_FILL);
- fClassItemList.setLayoutData(tabItemLayoutdata);
-
- String[] fontList2 = SDViewPref.getFontList2();
- for (int i = 0; i < fontList2.length; i++) {
- fClassItemList.add(fontList2[i]);
- }
- fClassItemList.setSelection(0);
- fClassItemList.addSelectionListener(this);
- fButtonArea = new Composite(prefPage, SWT.NONE);
- GridData tabItemLayoutdata2 = new GridData(GridData.HORIZONTAL_ALIGN_FILL/* |GridData.GRAB_HORIZONTAL */| GridData.GRAB_VERTICAL | GridData.VERTICAL_ALIGN_FILL);
- fButtonArea.setLayoutData(tabItemLayoutdata2);
- GridLayout buttonAreaLayout = new GridLayout();
- buttonAreaLayout.numColumns = 1;
- fButtonArea.setLayout(buttonAreaLayout);
-
- // font selector initialise for the lifeline font pref
- String[] fontList = SDViewPref.getFontList();
- fFont = new FontFieldEditor(fontList[0], "",//$NON-NLS-1$
- Messages.SequenceDiagram_AaBbYyZz, fButtonArea);
- fFont.getPreviewControl().setSize(500, 500);
- fFont.setPreferenceStore(fPreferences.getPreferenceStore());
- fFont.load();
-
- fBackGroundColor = new ColorFieldEditor(fontList[0] + SDViewPref.BACK_COLOR_POSTFIX, Messages.SequenceDiagram_Background, fButtonArea);
- fBackGroundColor.setPreferenceStore(fPreferences.getPreferenceStore());
- fBackGroundColor.load();
-
- fLineColor = new ColorFieldEditor(fontList[0] + SDViewPref.FORE_COLOR_POSTFIX, Messages.SequenceDiagram_Lines, fButtonArea);
- fLineColor.setPreferenceStore(fPreferences.getPreferenceStore());
- fLineColor.load();
-
- fTextColor = new ColorFieldEditor(fontList[0] + SDViewPref.TEXT_COLOR_POSTFIX, Messages.SequenceDiagram_Text, fButtonArea);
- fTextColor.setPreferenceStore(fPreferences.getPreferenceStore());
- fTextColor.load();
- swapPref(true);
- Dialog.applyDialogFont(page);
-
- return page;
- }
-
- @Override
- public void init(IWorkbench workbench) {
- fPreferences = SDViewPref.getInstance();
- }
-
- @Override
- protected void performApply() {
- // Store the prefrences in the PreferenceStore
- if (!fLifelineWidth.isValid()) {
- fLifelineWidth.showErrorMessage();
- return;
- }
- fFont.store();
- fBackGroundColor.store();
- fLineColor.store();
- fLink.store();
- fTooltip.store();
- fNoExternalTime.store();
- fTextColor.store();
- fUseGrad.store();
- fLifelineWidth.store();
- swapPref(false);
- // then save them in the preference file
- fPreferences.apply();
- swapPref(true);
- }
-
- @Override
- public boolean performOk() {
- performApply();
- return true;
- }
-
- @Override
- protected void performDefaults() {
- fLink.loadDefault();
- fTooltip.loadDefault();
- fNoExternalTime.loadDefault();
- fUseGrad.loadDefault();
- fLifelineWidth.loadDefault();
-
- // and all the fonts and colors
- // fonts and colors are stored for each time because
- // we are using only one FontFieldEditor
- Set<String> keySet = SDViewPref.getInstance().getFontPref().keySet();
- Iterator<String> it = keySet.iterator();
- while (it.hasNext()) {
- Object prefName = it.next();
- if (prefName instanceof String) {
- fFont.setPreferenceName((String) prefName);
- fFont.loadDefault();
- fFont.setPreferenceName((String) prefName + TEMP_TAG);
- fFont.store();
- }
- }
-
- keySet = SDViewPref.getInstance().getBackColorPref().keySet();
- it = keySet.iterator();
- while (it.hasNext()) {
- Object prefName = it.next();
- if (prefName instanceof String) {
- fBackGroundColor.setPreferenceName((String) prefName);
- fBackGroundColor.loadDefault();
- fBackGroundColor.setPreferenceName((String) prefName + TEMP_TAG);
- fBackGroundColor.store();
- }
-
- }
-
- String[] fontList = SDViewPref.getFontList();
- fBackGroundColor.setPreferenceName(fontList[fClassItemList.getSelectionIndex()] + SDViewPref.BACK_COLOR_POSTFIX + TEMP_TAG);
- fBackGroundColor.load();
-
- keySet = SDViewPref.getInstance().getForeColorPref().keySet();
- it = keySet.iterator();
- while (it.hasNext()) {
- Object prefName = it.next();
- if (prefName instanceof String) {
- fLineColor.setPreferenceName((String) prefName);
- fLineColor.loadDefault();
- fLineColor.setPreferenceName((String) prefName + TEMP_TAG);
- fLineColor.store();
- }
- }
-
- fLineColor.setPreferenceName(fontList[fClassItemList.getSelectionIndex()] + SDViewPref.FORE_COLOR_POSTFIX + TEMP_TAG);
- fLineColor.load();
-
- keySet = SDViewPref.getInstance().getTextColorPref().keySet();
- it = keySet.iterator();
- while (it.hasNext()) {
- Object prefName = it.next();
- if (prefName instanceof String) {
- fTextColor.setPreferenceName((String) prefName);
- fTextColor.loadDefault();
- fTextColor.setPreferenceName((String) prefName + TEMP_TAG);
- fTextColor.store();
- }
- }
- fTextColor.setPreferenceName(fontList[fClassItemList.getSelectionIndex()] + SDViewPref.TEXT_COLOR_POSTFIX + TEMP_TAG);
- fTextColor.load();
- }
-
- @Override
- public void widgetSelected(SelectionEvent e) {
- // Store the past set font preference or else the
- // FontFieldEditor reassignment will make us loose the current modification
- fFont.store();
- fLineColor.store();
- fBackGroundColor.store();
- fTextColor.store();
-
- String[] fontList = SDViewPref.getFontList();
-
- // set the FontFieldEditor for the new selected graphNode font
- fFont.setPreferenceName(fontList[fClassItemList.getSelectionIndex()] + TEMP_TAG);
- fFont.load();
-
- fBackGroundColor.setPreferenceName(fontList[fClassItemList.getSelectionIndex()] + SDViewPref.BACK_COLOR_POSTFIX + TEMP_TAG);
- fBackGroundColor.load();
-
- fLineColor.setPreferenceName(fontList[fClassItemList.getSelectionIndex()] + SDViewPref.FORE_COLOR_POSTFIX + TEMP_TAG);
- fLineColor.load();
-
- fTextColor.setPreferenceName(fontList[fClassItemList.getSelectionIndex()] + SDViewPref.TEXT_COLOR_POSTFIX + TEMP_TAG);
- fTextColor.load();
-
- // No Background for message graphNodes
- if ((fontList[fClassItemList.getSelectionIndex()].equals(ISDPreferences.PREF_SYNC_MESS)) || (fontList[fClassItemList.getSelectionIndex()].equals(ISDPreferences.PREF_SYNC_MESS_RET))
- || (fontList[fClassItemList.getSelectionIndex()].equals(ISDPreferences.PREF_ASYNC_MESS)) || (fontList[fClassItemList.getSelectionIndex()].equals(ISDPreferences.PREF_ASYNC_MESS_RET))) {
- fBackGroundColor.setEnabled(false, fButtonArea);
- } else {
- fBackGroundColor.setEnabled(true, fButtonArea);
- }
-
- // No font used for execution occurrence and global frame
- if ((fontList[fClassItemList.getSelectionIndex()].equals(ISDPreferences.PREF_EXEC)) || (fontList[fClassItemList.getSelectionIndex()].equals(ISDPreferences.PREF_FRAME))) {
- fTextColor.setEnabled(false, fButtonArea);
- } else {
- fTextColor.setEnabled(true, fButtonArea);
- }
-
- if (fontList[fClassItemList.getSelectionIndex()].equals(ISDPreferences.PREF_FRAME)) {
- fFont.setEnabled(false, fButtonArea);
- } else {
- fFont.setEnabled(true, fButtonArea);
- }
- }
-
- /**
- * Swap viewer preferences.
- *
- * @param toTemp Switch to the temporary preferences
- */
- protected void swapPref(boolean toTemp) {
- String tag1 = "";//$NON-NLS-1$
- String tag2 = TEMP_TAG;
- if (!toTemp) {
- tag1 = TEMP_TAG;
- tag2 = "";//$NON-NLS-1$
- }
- Set<String> keySet = SDViewPref.getInstance().getFontPref().keySet();
- Iterator<String> it = keySet.iterator();
- while (it.hasNext()) {
- Object prefName = it.next();
- if (prefName instanceof String) {
- fFont.setPreferenceName((String) prefName + tag1);
- fFont.load();
- fFont.setPreferenceName((String) prefName + tag2);
- fFont.store();
- }
- }
-
- keySet = SDViewPref.getInstance().getBackColorPref().keySet();
- it = keySet.iterator();
- while (it.hasNext()) {
- Object prefName = it.next();
- if (prefName instanceof String) {
- fBackGroundColor.setPreferenceName((String) prefName + tag1);
- fBackGroundColor.load();
- fBackGroundColor.setPreferenceName((String) prefName + tag2);
- fBackGroundColor.store();
- }
- }
-
- keySet = SDViewPref.getInstance().getForeColorPref().keySet();
- it = keySet.iterator();
- while (it.hasNext()) {
- Object prefName = it.next();
- if (prefName instanceof String) {
- fLineColor.setPreferenceName((String) prefName + tag1);
- fLineColor.load();
- fLineColor.setPreferenceName((String) prefName + tag2);
- fLineColor.store();
- }
- }
-
- keySet = SDViewPref.getInstance().getTextColorPref().keySet();
- it = keySet.iterator();
- while (it.hasNext()) {
- Object prefName = it.next();
- if (prefName instanceof String) {
- fTextColor.setPreferenceName((String) prefName + tag1);
- fTextColor.load();
- fTextColor.setPreferenceName((String) prefName + tag2);
- fTextColor.store();
- }
- }
- String[] fontList = SDViewPref.getFontList();
- if (toTemp) {
- // set the FontFieldEditor for the new selected graphNode font
- fFont.setPreferenceName(fontList[fClassItemList.getSelectionIndex()] + TEMP_TAG);
- fFont.load();
-
- fBackGroundColor.setPreferenceName(fontList[fClassItemList.getSelectionIndex()] + SDViewPref.BACK_COLOR_POSTFIX + TEMP_TAG);
- fBackGroundColor.load();
-
- fLineColor.setPreferenceName(fontList[fClassItemList.getSelectionIndex()] + SDViewPref.FORE_COLOR_POSTFIX + TEMP_TAG);
- fLineColor.load();
-
- fTextColor.setPreferenceName(fontList[fClassItemList.getSelectionIndex()] + SDViewPref.TEXT_COLOR_POSTFIX + TEMP_TAG);
- fTextColor.load();
- }
- }
-
- @Override
- public void widgetDefaultSelected(SelectionEvent e) {
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/util/Messages.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/util/Messages.java
deleted file mode 100755
index 9a57092897..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/util/Messages.java
+++ /dev/null
@@ -1,157 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2013 IBM Corporation, 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:
- * IBM Corporation - initial API and implementation
- * Bernd Hufmann - Updated for TMF
- * Alexandre Montplaisir - Renamed variables
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.views.uml2sd.util;
-
-import org.eclipse.osgi.util.NLS;
-
-/**
- * Messages related to the sequence diagram
- *
- * @version 1.0
- * @author Bernd Hufmann
- * @since 2.0
- */
-@SuppressWarnings("javadoc")
-public class Messages extends NLS {
-
- private static final String BUNDLE_NAME = "org.eclipse.linuxtools.tmf.ui.views.uml2sd.util.messages"; //$NON-NLS-1$
-
- private Messages() {
- // Do not instantiate
- }
-
- public static String SequenceDiagram_LifelineNode;
- public static String SequenceDiagram_MessageNode;
- public static String SequenceDiagram_LostMessageNode;
- public static String SequenceDiagram_FoundMessageNode;
- public static String SequenceDiagram_ExecutionOccurrenceWithParams;
-
- public static String SequenceDiagram_Find;
- public static String SequenceDiagram_Close;
- public static String SequenceDiagram_StringNotFound;
- public static String SequenceDiagram_SequenceDiagramFind;
- public static String SequenceDiagram_SearchFor;
- public static String SequenceDiagram_MatchingString;
- public static String SequenceDiagram_CaseSensitive;
- public static String SequenceDiagram_Lifeline;
- public static String SequenceDiagram_Stop;
- public static String SequenceDiagram_SynchronousMessage;
- public static String SequenceDiagram_SynchronousMessageReturn;
- public static String SequenceDiagram_AsynchronousMessage;
- public static String SequenceDiagram_AsynchronousMessageReturn;
- public static String SequenceDiagram_or;
- public static String SequenceDiagram_PreviousPage;
- public static String SequenceDiagram_NextPage;
- public static String SequenceDiagram_GoToPreviousPage;
- public static String SequenceDiagram_GoToNextPage;
- public static String SequenceDiagram_GoToMessage;
- public static String SequenceDiagram_GoToMessageReturn;
- public static String SequenceDiagram_EditFilters;
- public static String SequenceDiagram_HidePatterns;
- public static String SequenceDiagram_Pages;
-
- public static String SequenceDiagram_ZoomIn;
- public static String SequenceDiagram_ZoomInTheDiagram;
- public static String SequenceDiagram_ResetZoomFactor;
- public static String SequenceDiagram_ZoomOut;
- public static String SequenceDiagram_ZoomOutTheDiagram;
- public static String SequenceDiagram_Select;
- public static String SequenceDiagram_Max;
- public static String SequenceDiagram_Min;
- public static String SequenceDiagram_ListOfHideDisplayPatterns;
- public static String SequenceDiagram_hide;
- public static String SequenceDiagram_display;
- public static String SequenceDiagram_EditIt;
- public static String SequenceDiagram_Add;
- public static String SequenceDiagram_Create;
- public static String SequenceDiagram_Update;
- public static String SequenceDiagram_Remove;
- public static String SequenceDiagram_SequenceDiagramHidePatterns;
- public static String SequenceDiagram_DefinitionOfHidePattern;
- public static String SequenceDiagram_PageNavigation;
- public static String SequenceDiagram_SequenceDiagramPages;
- public static String SequenceDiagram_IsInBetween;
- public static String SequenceDiagram_Total;
- public static String SequenceDiagram_pages;
- public static String SequenceDiagram_page;
-
- public static String SequenceDiagram_CurrentPage;
-
- public static String SequenceDiagram_Navigation;
- public static String SequenceDiagram_OpenOverviewTooltip;
-
- public static String SequenceDiagram_LifelineWidth;
- public static String SequenceDiagram_AaBbYyZz;
- public static String SequenceDiagram_IncreaseFontSizeWhenZooming;
- public static String SequenceDiagram_ExcludeExternalTime;
- public static String SequenceDiagram_UseGradientColor;
- public static String SequenceDiagram_Background;
- public static String SequenceDiagram_Lines;
- public static String SequenceDiagram_Text;
-
- public static String SequenceDiagram_ExecutionOccurrence;
- public static String SequenceDiagram_SyncMessage;
- public static String SequenceDiagram_SyncMessageReturn;
- public static String SequenceDiagram_AsyncMessage;
- public static String SequenceDiagram_AsyncMessageReturn;
- public static String SequenceDiagram_Frame;
- public static String SequenceDiagram_LifelineHeader;
- public static String SequenceDiagram_FrameTitle;
- public static String SequenceDiagram_ShowTooltips;
- public static String SequenceDiagram_Error;
- public static String SequenceDiagram_InvalidRange;
- public static String SequenceDiagram_InvalidNbVertical;
- public static String SequenceDiagram_InvalidNbHorizontal;
- public static String SequenceDiagram_NoPageSelected;
- public static String SequenceDiagram_FromPage;
-
- public static String SequenceDiagram_to;
- public static String SequenceDiagram_SelectedPages;
- public static String SequenceDiagram_CurrentView;
- public static String SequenceDiagram_AllPages;
- public static String TotalNumberOfPages;
- public static String SequenceDiagram_NumberOfHorizontalPages;
- public static String SequenceDiagram_NumberOfVerticalPages;
- public static String SequenceDiagram_UseCurrentZoom;
- public static String SequenceDiagram_ZoomOption;
- public static String SequenceDiagram_Print;
- public static String SequenceDiagram_Printer;
- public static String SequenceDiagram_plus;
- public static String SequenceDiagram_Page;
- public static String SequenceDiagram_PrintRange;
- public static String SequenceDiagram_Preview;
-
- public static String SequenceDiagram_TimeCompressionBarConfig;
- public static String SequenceDiagram_MinTime;
- public static String SequenceDiagram_MaxTime;
- public static String SequenceDiagram_Default;
-
- public static String SequenceDiagram_NoPrinterSelected;
- public static String SequenceDiagram_Scale;
- public static String SequenceDiagram_Precision;
- public static String SequenceDiagram_Delta;
-
- public static String SequenceDiagram_FirstPage;
- public static String SequenceDiagram_GoToFirstPage;
- public static String SequenceDiagram_LastPage;
- public static String SequenceDiagram_GoToLastPage;
-
- public static String SequenceDiagram_ShowNodeEnd;
- public static String SequenceDiagram_ShowNodeStart;
- public static String SequenceDiagram_ConfigureMinMax;
-
- static {
- NLS.initializeMessages(BUNDLE_NAME, Messages.class);
- }
-} \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/util/SortAsyncForBackward.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/util/SortAsyncForBackward.java
deleted file mode 100755
index bbbd5df758..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/util/SortAsyncForBackward.java
+++ /dev/null
@@ -1,96 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2005, 2013 IBM Corporation, 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:
- * IBM - Initial API and implementation
- * Bernd Hufmann - Updated for TMF
- **********************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.views.uml2sd.util;
-
-import java.io.Serializable;
-import java.util.Comparator;
-
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.core.AsyncMessage;
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.core.GraphNode;
-
-/**
- * Asynchronous message comparator.
- *
- * Compares two asyncMessages only taking into account the event occurrence when their
- * appear.<br>
- *
- * Used to order the AsyncMessage list insuring that the previous node has both of his ends smaller than the current node
- *
- * @version 1.0
- * @author sveyrier
- *
- */
-public class SortAsyncForBackward implements Comparator<GraphNode>, Serializable {
-
- // ------------------------------------------------------------------------
- // Constants
- // ------------------------------------------------------------------------
- /**
- * Serial version UID
- */
- private static final long serialVersionUID = 603959931263853359L;
-
- // ------------------------------------------------------------------------
- // Methods
- // ------------------------------------------------------------------------
-
- @Override
- public int compare(GraphNode arg0, GraphNode arg1) {
- if (arg0 instanceof AsyncMessage && arg1 instanceof AsyncMessage) {
- AsyncMessage m1 = (AsyncMessage) arg0;
- AsyncMessage m2 = (AsyncMessage) arg1;
- int m1Max, m2Max;
- // AsyncMessage has two ends which may have different event occurrences
- // Search for the greater event occurrence for each messages
- if (m1.getStartOccurrence() > m1.getEndOccurrence()) {
- m1Max = m1.getStartOccurrence();
- } else {
- m1Max = m1.getEndOccurrence();
- }
- if (m2.getStartOccurrence() > m2.getEndOccurrence()) {
- m2Max = m2.getStartOccurrence();
- } else {
- m2Max = m2.getEndOccurrence();
- }
-
- int m1Min, m2Min;
- // Search for the smaller event occurrence for each messages
- if (m1.getStartOccurrence() > m1.getEndOccurrence()) {
- m1Min = m1.getEndOccurrence();
- } else {
- m1Min = m1.getStartOccurrence();
- }
- if (m2.getStartOccurrence() > m2.getEndOccurrence()) {
- m2Min = m2.getEndOccurrence();
- } else {
- m2Min = m2.getStartOccurrence();
- }
-
- if (m1Max > m2Max) {
- return 1;
- } else if (m1Max == m2Max) {
- if (m1Min == m2Min) {
- return 0;
- } else if (m1Min > m2Min) {
- return -1;
- } else {
- return 1;
- }
- } else {
- return -1;
- }
- }
- return 0;
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/util/SortAsyncMessageComparator.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/util/SortAsyncMessageComparator.java
deleted file mode 100755
index ab04760b69..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/util/SortAsyncMessageComparator.java
+++ /dev/null
@@ -1,94 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2005, 2013 IBM Corporation, 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:
- * IBM - Initial API and implementation
- * Bernd Hufmann - Updated for TMF
- **********************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.views.uml2sd.util;
-
-import java.io.Serializable;
-import java.util.Comparator;
-
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.core.AsyncMessage;
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.core.GraphNode;
-
-/**
- * Asynchronous message comparator Compare two AsyncMessages only taking into account the event occurrence when their
- * appear.<br>
- *
- * Used to order the AsyncMessage list insuring that next node has one of his ends greater than the current node
- *
- * @version 1.0
- * @author sveyrier
- *
- */
-public class SortAsyncMessageComparator implements Comparator<GraphNode>, Serializable {
-
- // ------------------------------------------------------------------------
- // Constants
- // ------------------------------------------------------------------------
- /**
- * Serial version UID
- */
- private static final long serialVersionUID = 1L;
-
- // ------------------------------------------------------------------------
- // Methods
- // ------------------------------------------------------------------------
-
- @Override
- public int compare(GraphNode arg0, GraphNode arg1) {
- if (arg0 instanceof AsyncMessage && arg1 instanceof AsyncMessage) {
- AsyncMessage m1 = (AsyncMessage) arg0;
- AsyncMessage m2 = (AsyncMessage) arg1;
- int m1Min, m2Min;
- // AsyncMessage has two ends which may have different event occurrences
- // Search for the smaller event occurrence for each messages
- if (m1.getStartOccurrence() > m1.getEndOccurrence()) {
- m1Min = m1.getEndOccurrence();
- } else {
- m1Min = m1.getStartOccurrence();
- }
- if (m2.getStartOccurrence() > m2.getEndOccurrence()) {
- m2Min = m2.getEndOccurrence();
- } else {
- m2Min = m2.getStartOccurrence();
- }
-
- int m1Max, m2Max;
- // Search for the greater event occurrence for each messages
- if (m1.getStartOccurrence() > m1.getEndOccurrence()) {
- m1Max = m1.getStartOccurrence();
- } else {
- m1Max = m1.getEndOccurrence();
- }
- if (m2.getStartOccurrence() > m2.getEndOccurrence()) {
- m2Max = m2.getStartOccurrence();
- } else {
- m2Max = m2.getEndOccurrence();
- }
-
- if (m1Min > m2Min) {
- return 1;
- } else if ((m1Min == m2Min)) {
- if (m1Max == m2Max) {
- return 0;
- } else if (m1Max > m2Max) {
- return -1;
- } else {
- return 1;
- }
- } else {
- return -1;
- }
- }
- return 0;
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/util/SortSyncMessageComparator.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/util/SortSyncMessageComparator.java
deleted file mode 100755
index 24d5106f20..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/util/SortSyncMessageComparator.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2005, 2013 IBM Corporation, 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:
- * IBM - Initial API and implementation
- * Bernd Hufmann - Updated for TMF
- **********************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.views.uml2sd.util;
-
-import java.io.Serializable;
-import java.util.Comparator;
-
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.core.GraphNode;
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.core.SyncMessage;
-
-/**
- * Synchronous message comparator Compare two syncMessages only taking into account the event occurrence when their
- * appear.<br>
- *
- * The message with the greater event occurrence is considered to be the greater.<br>
- *
- * @version 1.0
- * @author sveyrier
- *
- */
-public class SortSyncMessageComparator implements Comparator<GraphNode>, Serializable {
-
- // ------------------------------------------------------------------------
- // Constants
- // ------------------------------------------------------------------------
-
- /**
- * Serial version UID
- */
- private static final long serialVersionUID = 4781250984753283718L;
-
- // ------------------------------------------------------------------------
- // Methods
- // ------------------------------------------------------------------------
-
- @Override
- public int compare(GraphNode arg0, GraphNode arg1) {
- if (arg0 instanceof SyncMessage && arg1 instanceof SyncMessage) {
- SyncMessage m1 = (SyncMessage) arg0;
- SyncMessage m2 = (SyncMessage) arg1;
- if (m1.getEventOccurrence() > m2.getEventOccurrence()) {
- return 1;
- } else if (m1.getEventOccurrence() == m2.getEventOccurrence()) {
- return 0;
- } else {
- return -1;
- }
- }
- return 0;
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/util/TimeEventComparator.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/util/TimeEventComparator.java
deleted file mode 100755
index f06aa783bb..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/util/TimeEventComparator.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2005, 2013 IBM Corporation, 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:
- * IBM - Initial API and implementation
- * Bernd Hufmann - Updated for TMF
- **********************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.views.uml2sd.util;
-
-import java.io.Serializable;
-import java.util.Comparator;
-
-import org.eclipse.linuxtools.tmf.ui.views.uml2sd.core.SDTimeEvent;
-
-/**
- * Time event comparator
- *
- * @version 1.0
- * @author sveyrier
- */
-public class TimeEventComparator implements Comparator<SDTimeEvent>, Serializable {
-
- // ------------------------------------------------------------------------
- // Constants
- // ------------------------------------------------------------------------
-
- /**
- * Serial version UID
- */
- private static final long serialVersionUID = 5885497718872575669L;
-
- // ------------------------------------------------------------------------
- // Methods
- // ------------------------------------------------------------------------
-
- @Override
- public int compare(SDTimeEvent arg0, SDTimeEvent arg1) {
- SDTimeEvent t1 = arg0;
- SDTimeEvent t2 = arg1;
- if (t1.getEvent() > t2.getEvent()) {
- return 1;
- }
- else if (t1.getEvent() == t2.getEvent()) {
- return 0;
- }
- return -1;
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/util/messages.properties b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/util/messages.properties
deleted file mode 100755
index f8ef1c7c63..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/util/messages.properties
+++ /dev/null
@@ -1,132 +0,0 @@
-###############################################################################
-# Copyright (c) 2005, 2013 IBM Corporation, 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:
-# IBM Corporation - initial API and implementation
-# Bernd Hufmann - Updated for TMF
-# Alexandre Montplaisir - Renamed variables
-###############################################################################
-
-# NLS_MESSAGEFORMAT_VAR
-# NLS_ENCODING=UTF-8
-
-##SD
-SequenceDiagram_LifelineNode=Lifeline node {0}
-SequenceDiagram_MessageNode=Message node {0} from Lifeline {1} at event occurrence {2} to Lifeline {3} at event occurrence {4}
-SequenceDiagram_LostMessageNode=Lost Message node {0} from Lifeline {1} at event occurrence {2}
-SequenceDiagram_FoundMessageNode=Found Message node {0} to Lifeline {1} at event occurrence {2}
-SequenceDiagram_ExecutionOccurrenceWithParams=Execution occurrence {0} on Lifeline {1} from event occurrence {2} to {3}
-
-SequenceDiagram_Find=Find
-SequenceDiagram_Close=Close
-SequenceDiagram_StringNotFound=String not found
-SequenceDiagram_SequenceDiagramFind=Sequence Diagram Find
-SequenceDiagram_SearchFor=Search for
-SequenceDiagram_MatchingString=Matching string (regular expression):
-SequenceDiagram_CaseSensitive=Case sensitive
-SequenceDiagram_Lifeline=Lifeline
-SequenceDiagram_Stop=Stop
-SequenceDiagram_SynchronousMessage=Synchronous message
-SequenceDiagram_SynchronousMessageReturn=Synchronous message return
-SequenceDiagram_AsynchronousMessage=Asynchronous message
-SequenceDiagram_AsynchronousMessageReturn=Asynchronous message return
-SequenceDiagram_or=or
-SequenceDiagram_PreviousPage=Previous page
-SequenceDiagram_NextPage=Next page
-SequenceDiagram_GoToPreviousPage=Go to previous page
-SequenceDiagram_GoToNextPage=Go to next page
-SequenceDiagram_GoToMessage=Go to message
-SequenceDiagram_GoToMessageReturn=Go to message return
-SequenceDiagram_EditFilters=Edit filters...
-SequenceDiagram_HidePatterns=Hide Patterns...
-SequenceDiagram_Pages=Pages...
-SequenceDiagram_ZoomIn=Zoom in
-SequenceDiagram_ZoomInTheDiagram=Zoom in the diagram
-SequenceDiagram_ResetZoomFactor=Reset zoom factor
-SequenceDiagram_ZoomOut=Zoom out
-SequenceDiagram_ZoomOutTheDiagram=Zoom out the diagram
-SequenceDiagram_Select=Select
-SequenceDiagram_Max=Max
-SequenceDiagram_Min=Min
-SequenceDiagram_ListOfHideDisplayPatterns=List of hide/display patterns
-SequenceDiagram_hide=hide
-SequenceDiagram_display=display
-SequenceDiagram_EditIt=Edit it
-SequenceDiagram_Add=Add...
-SequenceDiagram_Create=Create
-SequenceDiagram_Update=Update
-SequenceDiagram_Remove=Remove
-SequenceDiagram_SequenceDiagramHidePatterns=Sequence Diagram Hide Patterns
-SequenceDiagram_DefinitionOfHidePattern=Definition of Hide Pattern
-SequenceDiagram_PageNavigation=Page navigation
-SequenceDiagram_SequenceDiagramPages=Sequence Diagram Pages
-SequenceDiagram_IsInBetween={0,number} <= value <= {1,number}
-SequenceDiagram_Total=Total:
-SequenceDiagram_pages=pages
-SequenceDiagram_page=page
-SequenceDiagram_CurrentPage=Current page:
-SequenceDiagram_Navigation=Navigation
-SequenceDiagram_OpenOverviewTooltip=Click to open Overview\nDrag mouse to scroll\nUse Shift+Drag, Ctrl+Drag to scroll slower\nUse Shift+Ctrl+Drag to scroll very fine
-SequenceDiagram_LifelineWidth=&Lifeline Width (in pixels)
-SequenceDiagram_AaBbYyZz=AaBbYyZz
-SequenceDiagram_IncreaseFontSizeWhenZooming=&Increase font size when zooming
-SequenceDiagram_ExcludeExternalTime=&Exclude external time
-SequenceDiagram_UseGradientColor=&Use gradient color
-SequenceDiagram_Background=Background
-SequenceDiagram_Lines=Lines
-SequenceDiagram_Text=Text
-SequenceDiagram_ExecutionOccurrence=Execution Occurrence
-SequenceDiagram_SyncMessage=Sync Message
-SequenceDiagram_SyncMessageReturn=Sync Message Return
-SequenceDiagram_AsyncMessage=Async Message
-SequenceDiagram_AsyncMessageReturn=Async Message Return
-SequenceDiagram_Frame=Frame
-SequenceDiagram_LifelineHeader=Lifeline Header
-SequenceDiagram_FrameTitle=Frame Title
-SequenceDiagram_ShowTooltips=&Show tooltips
-SequenceDiagram_Error=Error
-SequenceDiagram_InvalidRange=Invalid range
-SequenceDiagram_InvalidNbVertical=Number of vertical pages is invalid
-SequenceDiagram_InvalidNbHorizontal=Number of horizontal pages is invalid
-SequenceDiagram_NoPageSelected=There is no page selected
-SequenceDiagram_FromPage=F&rom page
-SequenceDiagram_to=&to
-SequenceDiagram_SelectedPages=Selected pages
-SequenceDiagram_CurrentView=Current view
-SequenceDiagram_AllPages=&All pages
-TotalNumberOfPages=Total number of pages:
-SequenceDiagram_NumberOfHorizontalPages=Number of horizontal pages:
-SequenceDiagram_NumberOfVerticalPages=Number of vertical pages:
-SequenceDiagram_UseCurrentZoom=Use current zoom
-SequenceDiagram_ZoomOption=Zoom options
-SequenceDiagram_Print=Print
-SequenceDiagram_Printer=Printer...
-SequenceDiagram_plus={0} + {1}
-SequenceDiagram_Page=Page {0}
-SequenceDiagram_PrintRange=Print range
-SequenceDiagram_Preview=Preview
-
-SequenceDiagram_TimeCompressionBarConfig=TimeCompression bar configuration
-SequenceDiagram_MinTime=Min time
-SequenceDiagram_MaxTime=Max time
-SequenceDiagram_Default=Default
-
-SequenceDiagram_NoPrinterSelected=No default printer is selected. Click Printer button first and select a printer.
-
-SequenceDiagram_Scale=Scale
-SequenceDiagram_Precision=Precision
-SequenceDiagram_Delta=Delta
-
-SequenceDiagram_FirstPage=First page
-SequenceDiagram_GoToFirstPage=Go to first page
-SequenceDiagram_LastPage=Last page
-SequenceDiagram_GoToLastPage=Go to last page
-
-SequenceDiagram_ShowNodeEnd=Show the node end
-SequenceDiagram_ShowNodeStart=Show the node start
-SequenceDiagram_ConfigureMinMax=Configure Min Max...
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/widgets/rawviewer/TmfRawEventViewer.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/widgets/rawviewer/TmfRawEventViewer.java
deleted file mode 100644
index 9845fa09b7..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/widgets/rawviewer/TmfRawEventViewer.java
+++ /dev/null
@@ -1,1060 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010, 2013 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:
- * Patrick Tasse - Initial API and implementation
- ******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.widgets.rawviewer;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.linuxtools.tmf.core.event.ITmfEvent;
-import org.eclipse.linuxtools.tmf.core.trace.ITmfContext;
-import org.eclipse.linuxtools.tmf.core.trace.ITmfTrace;
-import org.eclipse.linuxtools.tmf.core.trace.location.ITmfLocation;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.CaretEvent;
-import org.eclipse.swt.custom.CaretListener;
-import org.eclipse.swt.custom.ScrolledComposite;
-import org.eclipse.swt.custom.StyledText;
-import org.eclipse.swt.events.ControlEvent;
-import org.eclipse.swt.events.ControlListener;
-import org.eclipse.swt.events.KeyEvent;
-import org.eclipse.swt.events.KeyListener;
-import org.eclipse.swt.events.MouseAdapter;
-import org.eclipse.swt.events.MouseEvent;
-import org.eclipse.swt.events.MouseMoveListener;
-import org.eclipse.swt.events.MouseTrackListener;
-import org.eclipse.swt.events.MouseWheelListener;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.events.SelectionListener;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.graphics.Font;
-import org.eclipse.swt.graphics.FontData;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.Listener;
-import org.eclipse.swt.widgets.Menu;
-import org.eclipse.swt.widgets.Slider;
-
-/**
- * TmfRawEventViewer allows for the display of the raw data for an arbitrarily
- * large number of TMF events.
- *
- * It is essentially a Composite of a StyledText area and a Slider, where the number
- * of visible lines in the StyledText control is set to fill the viewer display area.
- * An underlying data model is used to store a cache of event raw text line data.
- * The slider is ratio-based.
- *
- * @version 1.0
- * @author Patrick Tasse
- */
-public class TmfRawEventViewer extends Composite implements ControlListener, SelectionListener,
- KeyListener, CaretListener, MouseMoveListener, MouseTrackListener, MouseWheelListener {
-
- private static final Color COLOR_BACKGROUND_ODD = Display.getCurrent().getSystemColor(SWT.COLOR_WHITE);
- private static final Color COLOR_BACKGROUND_EVEN = new Color(Display.getDefault(), 242, 242, 242);
- private static final Color COLOR_BACKGROUND_SELECTED = new Color(Display.getDefault(), 231, 246, 254);
- private static final Color COLOR_BACKGROUND_HIGHLIGHTED = new Color(Display.getDefault(), 246, 252, 255);
- private static final int MAX_LINE_DATA_SIZE = 1000;
- private static final int SLIDER_MAX = 1000000;
-
- private ITmfTrace fTrace;
- private ITmfContext fBottomContext;
-
- private ScrolledComposite fScrolledComposite;
- private Composite fTextArea;
- private StyledText fStyledText;
- private Font fFixedFont;
- private Slider fSlider;
-
- private final List<LineData> fLines = new ArrayList<>();
- private boolean fActualRanks = false;
- private int fTopLineIndex;
- private int fLastTopLineIndex;
- private final CaretPosition[] fStoredCaretPosition = new CaretPosition[]
- { new CaretPosition(0, 0), new CaretPosition(0,0)};
- private int fNumVisibleLines;
- private ITmfLocation fSelectedLocation = null;
- private long fHighlightedRank = Long.MIN_VALUE;
- private int fCursorYCoordinate = -1;
- private int fHoldSelection = 0;
-
- private static class LineData {
- long rank;
- ITmfLocation location;
- String string;
- public LineData(long rank, ITmfLocation location, String string) {
- this.rank = rank;
- this.location = location;
- if (string.length() == 0) {
- this.string = " "; // workaround for setLineBackground has no effect on empty line //$NON-NLS-1$
- } else {
- this.string = string;
- }
- }
- @Override
- public String toString() {
- return rank + " [" + location + "]: " + string; //$NON-NLS-1$ //$NON-NLS-2$
- }
- }
-
- private static class CaretPosition {
- int time;
- int caretOffset;
- public CaretPosition(int time, int caretOffset) {
- this.time = time;
- this.caretOffset = caretOffset;
- }
- }
-
- // ------------------------------------------------------------------------
- // Constructor
- // ------------------------------------------------------------------------
-
- /**
- * Constructor
- * @param parent The parent composite
- * @param style The style bits
- */
- public TmfRawEventViewer(Composite parent, int style) {
- super(parent, style & (~SWT.H_SCROLL) & (~SWT.V_SCROLL));
-
- // Set the layout
- GridLayout gridLayout = new GridLayout();
- gridLayout.numColumns = 2;
- gridLayout.horizontalSpacing = 0;
- gridLayout.verticalSpacing = 0;
- gridLayout.marginWidth = 0;
- gridLayout.marginHeight = 0;
- setLayout(gridLayout);
-
- // Create the controls
- createTextArea(style & SWT.H_SCROLL);
- createSlider(style & SWT.V_SCROLL);
-
- // Prevent the slider from being traversed
- setTabList(new Control[] { fScrolledComposite });
- }
-
- @Override
- public void dispose() {
- if (fFixedFont != null) {
- fFixedFont.dispose();
- fFixedFont = null;
- }
- super.dispose();
- }
-
- // ------------------------------------------------------------------------
- // Text area handling
- // ------------------------------------------------------------------------
-
- /**
- * Create the text area and add listeners
- */
- private void createTextArea(int style) {
- fScrolledComposite = new ScrolledComposite(this, style);
- fScrolledComposite.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
- fTextArea = new Composite(fScrolledComposite, SWT.NONE);
- fTextArea.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
- fScrolledComposite.setContent(fTextArea);
- fScrolledComposite.setExpandHorizontal(true);
- fScrolledComposite.setExpandVertical(true);
- fScrolledComposite.setAlwaysShowScrollBars(true);
- fScrolledComposite.setMinSize(fTextArea.computeSize(SWT.DEFAULT, SWT.DEFAULT));
- fScrolledComposite.addControlListener(this);
-
- GridLayout textAreaGridLayout = new GridLayout();
- textAreaGridLayout.marginHeight = 0;
- textAreaGridLayout.marginWidth = 0;
- fTextArea.setLayout(textAreaGridLayout);
-
- if (fFixedFont == null) {
- if (System.getProperty("os.name").contains("Windows")) { //$NON-NLS-1$ //$NON-NLS-2$
- fFixedFont = new Font(Display.getCurrent(), new FontData("Courier New", 10, SWT.NORMAL)); //$NON-NLS-1$
- } else {
- fFixedFont = new Font(Display.getCurrent(), new FontData("Monospace", 10, SWT.NORMAL)); //$NON-NLS-1$
- }
- }
-
- fStyledText = new StyledText(fTextArea, SWT.READ_ONLY);
- fStyledText.setFont(fFixedFont);
- fStyledText.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, false));
-
- fStyledText.addCaretListener(this);
- fStyledText.addMouseMoveListener(this);
- fStyledText.addMouseTrackListener(this);
- fStyledText.addMouseWheelListener(this);
- fStyledText.addListener(SWT.MouseWheel, new Listener() { // disable mouse scroll of horizontal scroll bar
- @Override
- public void handleEvent(Event event) { event.doit = false; }});
- fStyledText.addKeyListener(this);
-
- fTextArea.setBackground(fStyledText.getBackground());
- fTextArea.addMouseListener(new MouseAdapter() {
- @Override
- public void mouseDown(MouseEvent e) {
- fTextArea.setFocus();
- }});
- }
-
- // ------------------------------------------------------------------------
- // Slider handling
- // ------------------------------------------------------------------------
-
- private void createSlider(int style) {
- fSlider = new Slider(this, SWT.VERTICAL);
- fSlider.setLayoutData(new GridData(SWT.FILL, SWT.FILL, false, true));
- fSlider.setValues(0, 0, SLIDER_MAX, SLIDER_MAX, 1, 1);
- fSlider.addSelectionListener(this);
- if ((style & SWT.V_SCROLL) == 0) {
- fSlider.setVisible(false);
- }
- }
-
- // ------------------------------------------------------------------------
- // Controls interactions
- // ------------------------------------------------------------------------
-
- @Override
- public boolean setFocus() {
- boolean isVisible = isVisible();
- if (isVisible) {
- fTextArea.setFocus();
- }
- return isVisible;
- }
-
- @Override
- public void setMenu(Menu menu) {
- fStyledText.setMenu(menu);
- }
-
- /**
- * Sets the trace and updates the content
- * @param trace The trace to set
- */
- public void setTrace(ITmfTrace trace) {
- fTrace = trace;
- fTopLineIndex = 0;
- fLines.clear();
- refreshEventCount();
- }
-
- /**
- * Refreshes the event count, updates the slider thumb and loads display
- */
- public void refreshEventCount() {
- if (fTrace != null) {
- if (fTrace.getNbEvents() > 0) {
- fSlider.setThumb((int) Math.max(SLIDER_MAX / fTrace.getNbEvents(), 1));
- } else {
- fSlider.setThumb(SLIDER_MAX);
- }
-
- if (!isVisible()) {
- return;
- }
-
- if (fLines.size() == 0) {
- setTopRank(0);
- } else if (fLines.size() < fNumVisibleLines) {
- fBottomContext = null;
- loadLineData();
- fillTextArea();
- //fSlider.setSelection((int) (SLIDER_MAX * ((double) fLines.get(fTopLineIndex).rank / fTrace.getNbEvents())));
- fSlider.setSelection((int) (SLIDER_MAX * fTrace.getLocationRatio(fLines.get(fTopLineIndex).location)));
- }
- } else {
- fBottomContext = null;
- fillTextArea();
- fSlider.setThumb(SLIDER_MAX);
- fSlider.setSelection(0);
- }
- }
-
- /**
- * Selects the event of given rank and makes it visible.
- * @param rank The rank of event
- */
- public void selectAndReveal(long rank) {
- if (fTrace == null || !isVisible()) {
- return;
- }
- if (fActualRanks && fTopLineIndex < fLines.size() && rank >= fLines.get(fTopLineIndex).rank) {
- int lastVisibleIndex = Math.min(fTopLineIndex + fNumVisibleLines, fLines.size()) - 1;
- if (rank <= fLines.get(lastVisibleIndex).rank) {
- for (int i = fTopLineIndex; i < fLines.size(); i++) {
- if (fLines.get(i).rank == rank) {
- fSelectedLocation = fLines.get(i).location;
- break;
- }
- }
- refreshLineBackgrounds();
- return;
- }
- }
- setTopRank(rank);
- if (fLines.size() > 0 && fHoldSelection == 0) {
- fSelectedLocation = fLines.get(0).location;
- refreshLineBackgrounds();
- }
- }
-
- /**
- * Add a selection listener
- * @param listener A listener to add
- */
- public void addSelectionListener(Listener listener) {
- checkWidget();
- if (listener == null) {
- SWT.error (SWT.ERROR_NULL_ARGUMENT);
- }
- addListener (SWT.Selection, listener);
- }
-
- /**
- * Remove selection listener
- * @param listener A listener to remove
- */
- public void removeSelectionListener(Listener listener) {
- checkWidget();
- if (listener == null) {
- SWT.error (SWT.ERROR_NULL_ARGUMENT);
- }
- removeListener(SWT.Selection, listener);
- }
-
- private void sendSelectionEvent(LineData lineData) {
- Event event = new Event();
- if (fActualRanks) {
- event.data = Long.valueOf(lineData.rank);
- } else {
- event.data = lineData.location;
- }
- notifyListeners(SWT.Selection, event);
- }
-
- private void setTopRank(long rank) {
- fBottomContext = fTrace.seekEvent(rank);
- if (fBottomContext == null) {
- return;
- }
- fLines.clear();
- fActualRanks = true;
- fTopLineIndex = 0;
- loadLineData();
- refreshTextArea();
- if (fLines.size() == 0) {
- fSlider.setSelection(0);
- } else {
- //fSlider.setSelection((int) (SLIDER_MAX * ((double) fLines.get(fTopLineIndex).rank / fTrace.getNbEvents())));
- fSlider.setSelection((int) (SLIDER_MAX * fTrace.getLocationRatio(fLines.get(fTopLineIndex).location)));
- }
- }
-
- private void setTopPosition(double ratio) {
- fBottomContext = fTrace.seekEvent(ratio);
- if (fBottomContext == null) {
- return;
- }
- fBottomContext.setRank(0);
- fLines.clear();
- fActualRanks = false;
- fTopLineIndex = 0;
- loadLineData();
- refreshTextArea();
- }
-
- private void loadLineData() {
- if (fTopLineIndex < 0) {
- //if (fLines.size() > 0 && fLines.get(0).rank > 0) {
- //long endRank = fLines.get(0).rank;
- //long startRank = Math.max(0, endRank - fNumVisibleLines);
- //TmfContext context = fTrace.seekEvent(startRank);
- //int index = 0;
- //while (context.getRank() < endRank) {
- //long rank = context.getRank();
- //ITmfLocation<?> location = context.getLocation();
- //TmfEvent event = fTrace.getNextEvent(context);
- //String[] lines = event.getRawText().split("\r?\n");
- //for (int i = 0; i < lines.length; i++) {
- //String line = lines[i];
- //LineData lineData = new LineData(rank, location, line);
- //fLines.add(index++, lineData);
- //fTopLineIndex++;
- //fLastTopLineIndex++;
- //}
- //}
- //}
- if (fLines.size() > 0 && fTrace.getLocationRatio(fLines.get(0).location) > 0) {
- double lastRatio = fTrace.getLocationRatio(fLines.get(fLines.size() - 1).location);
- double firstRatio = fTrace.getLocationRatio(fLines.get(0).location);
- double delta;
- boolean singleEvent = false;
- if (firstRatio != lastRatio) {
- // approximate ratio of at least 20 items
- delta = Math.max(20, fNumVisibleLines) * (lastRatio - firstRatio) / (fLines.size() - 1);
- } else {
- delta = Math.pow(10, -15);
- singleEvent = true;
- }
- while (fTopLineIndex < 0) {
- ITmfLocation endLocation = fLines.get(0).location;
- firstRatio = Math.max(0, firstRatio - delta);
- ITmfContext context = fTrace.seekEvent(firstRatio);
- ITmfLocation location;
- int index = 0;
- long rank = 0;
- while (!context.getLocation().equals(endLocation)) {
- location = context.getLocation();
- ITmfEvent event = fTrace.getNext(context);
- if (event == null) {
- break;
- }
- if (event.getContent() != null && event.getContent().getValue() != null) {
- String[] lines = event.getContent().getValue().toString().split("\r?\n"); //$NON-NLS-1$
- for (int i = 0; i < lines.length; i++) {
- String line = lines[i];
- LineData lineData = new LineData(rank, location, line);
- fLines.add(index++, lineData);
- fTopLineIndex++;
- fLastTopLineIndex++;
- }
- } else {
- LineData lineData = new LineData(rank, location, ""); //$NON-NLS-1$
- fLines.add(index++, lineData);
- fTopLineIndex++;
- fLastTopLineIndex++;
- }
- rank++;
- }
- long rankOffset = fLines.get(index).rank - rank;
- for (int i = 0; i < index; i++) {
- fLines.get(i).rank += rankOffset;
- }
- if (firstRatio == 0) {
- break;
- }
- if (singleEvent) {
- delta = Math.min(delta * 10, 0.1);
- }
- }
- }
- if (fTopLineIndex < 0) {
- fTopLineIndex = 0;
- }
- }
-
- while (fLines.size() - fTopLineIndex < fNumVisibleLines) {
- if (fBottomContext == null) {
- if (fLines.size() == 0) {
- fBottomContext = fTrace.seekEvent(0);
- } else {
- //fBottomContext = fTrace.seekEvent(fLines.get(fLines.size() - 1).rank + 1);
- fBottomContext = fTrace.seekEvent(fLines.get(fLines.size() - 1).location);
- fTrace.getNext(fBottomContext);
- }
- if (fBottomContext == null) {
- break;
- }
- }
- long rank = fBottomContext.getRank();
- ITmfLocation location = fBottomContext.getLocation() != null ? fBottomContext.getLocation() : null;
- ITmfEvent event = fTrace.getNext(fBottomContext);
- if (event == null) {
- break;
- }
- if (event.getContent() != null && event.getContent().getValue() != null) {
- for (String line : event.getContent().getValue().toString().split("\r?\n")) { //$NON-NLS-1$
- int crPos;
- if ((crPos = line.indexOf('\r')) != -1) {
- line = line.substring(0, crPos);
- }
- LineData lineData = new LineData(rank, location, line);
- fLines.add(lineData);
- }
- } else {
- LineData lineData = new LineData(rank, location, ""); //$NON-NLS-1$
- fLines.add(lineData);
- }
- }
- fTopLineIndex = Math.max(0, Math.min(fTopLineIndex, fLines.size() - 1));
-
- if (fLines.size() > MAX_LINE_DATA_SIZE) {
- if (fTopLineIndex < MAX_LINE_DATA_SIZE / 2) {
- long rank = fLines.get(MAX_LINE_DATA_SIZE - 1).rank;
- for (int i = MAX_LINE_DATA_SIZE; i < fLines.size(); i++) {
- if (fLines.get(i).rank > rank) {
- fLines.subList(i, fLines.size()).clear();
- fBottomContext = null;
- break;
- }
- }
- } else {
- long rank = fLines.get(fLines.size() - MAX_LINE_DATA_SIZE).rank;
- for (int i = fLines.size() - MAX_LINE_DATA_SIZE - 1; i >= 0; i--) {
- if (fLines.get(i).rank < rank) {
- fLines.subList(0, i + 1).clear();
- fTopLineIndex -= (i + 1);
- fLastTopLineIndex -= (i + 1);
- break;
- }
- }
- }
- }
- }
-
- private void refreshTextArea() {
- fStyledText.setText(""); //$NON-NLS-1$
- for (int i = 0; i < fLines.size() - fTopLineIndex && i < fNumVisibleLines; i++) {
- if (i > 0)
- {
- fStyledText.append("\n"); //$NON-NLS-1$
- }
- LineData lineData = fLines.get(fTopLineIndex + i);
- fStyledText.append(lineData.string);
- setLineBackground(i, lineData);
- }
- fTextArea.layout();
- fScrolledComposite.setMinSize(fTextArea.computeSize(SWT.DEFAULT, SWT.DEFAULT));
- fLastTopLineIndex = fTopLineIndex;
- }
-
- private void fillTextArea() {
- int nextLine = fStyledText.getCharCount() == 0 ? 0 : fStyledText.getLineCount();
- for (int i = nextLine; i < fLines.size() - fTopLineIndex && i < fNumVisibleLines; i++) {
- if (i > 0)
- {
- fStyledText.append("\n"); //$NON-NLS-1$
- }
- LineData lineData = fLines.get(fTopLineIndex + i);
- fStyledText.append(lineData.string);
- setLineBackground(i, lineData);
- }
- int endLine = Math.min(fNumVisibleLines, fLines.size());
- if (endLine < fStyledText.getLineCount()) {
- int endOffset = fStyledText.getOffsetAtLine(endLine) - 1;
- if (endOffset > fStyledText.getCharCount()) {
- fHoldSelection++;
- fStyledText.replaceTextRange(endOffset, fStyledText.getCharCount() - endOffset, ""); //$NON-NLS-1$
- fHoldSelection--;
- }
- }
- fTextArea.layout();
- fScrolledComposite.setMinSize(fTextArea.computeSize(SWT.DEFAULT, SWT.DEFAULT));
- }
-
- private void updateTextArea() {
- if (fTopLineIndex < fLastTopLineIndex) {
- StringBuffer insertedText = new StringBuffer();
- for (int i = fTopLineIndex; i < fLastTopLineIndex; i++) {
- insertedText.append(fLines.get(i).string + "\n"); //$NON-NLS-1$
- }
- fStyledText.replaceTextRange(0, 0, insertedText.toString());
- for (int i = 0; i < fLastTopLineIndex - fTopLineIndex; i++) {
- LineData lineData = fLines.get(fTopLineIndex + i);
- setLineBackground(i, lineData);
- }
- fLastTopLineIndex = fTopLineIndex;
- } else if (fTopLineIndex > fLastTopLineIndex) {
- int length = 0;
- for (int i = 0; i < fTopLineIndex - fLastTopLineIndex && i < fNumVisibleLines; i++) {
- length += fLines.get(i + fLastTopLineIndex).string.length();
- if (i < fStyledText.getLineCount()) {
- length += 1;
- }
- }
- fStyledText.replaceTextRange(0, length, ""); //$NON-NLS-1$
- fLastTopLineIndex = fTopLineIndex;
- fillTextArea();
- }
- int endLine = Math.min(fNumVisibleLines, fLines.size());
- if (endLine < fStyledText.getLineCount()) {
- int endOffset = fStyledText.getOffsetAtLine(endLine) - 1;
- if (endOffset > fStyledText.getCharCount()) {
- fStyledText.replaceTextRange(endOffset, fStyledText.getCharCount() - endOffset, ""); //$NON-NLS-1$
- }
- }
- fTextArea.layout();
- fScrolledComposite.setMinSize(fTextArea.computeSize(SWT.DEFAULT, SWT.DEFAULT));
- }
-
- private void refreshLineBackgrounds() {
- for (int i = 0; (i < fStyledText.getLineCount()) && (i < fNumVisibleLines) && (i < fLines.size() - fTopLineIndex); i++) {
- LineData lineData = fLines.get(fTopLineIndex + i);
- setLineBackground(i, lineData);
- }
- }
-
- private void setLineBackground(int index, LineData lineData) {
- if (lineData.location.equals(fSelectedLocation)) {
- fStyledText.setLineBackground(index, 1, COLOR_BACKGROUND_SELECTED);
- } else if (lineData.rank == fHighlightedRank) {
- fStyledText.setLineBackground(index, 1, COLOR_BACKGROUND_HIGHLIGHTED);
- } else if (lineData.rank % 2 == 0) {
- fStyledText.setLineBackground(index, 1, COLOR_BACKGROUND_EVEN);
- } else {
- fStyledText.setLineBackground(index, 1, COLOR_BACKGROUND_ODD);
- }
- }
-
- private void storeCaretPosition(int time, int caretOffset) {
- if (fStoredCaretPosition[0].time == time) {
- fStoredCaretPosition[0].caretOffset = caretOffset;
- } else {
- fStoredCaretPosition[1] = fStoredCaretPosition[0];
- fStoredCaretPosition[0] = new CaretPosition(time, caretOffset);
- }
- }
-
- private int getPreviousCaretOffset(int time) {
- if (fStoredCaretPosition[0].time == time) {
- return fStoredCaretPosition[1].caretOffset;
- }
- return fStoredCaretPosition[0].caretOffset;
- }
-
- private void updateHighlightedRank() {
- if (fCursorYCoordinate < 0 || fCursorYCoordinate > fStyledText.getSize().y) {
- if (fHighlightedRank != Long.MIN_VALUE) {
- fHighlightedRank = Long.MIN_VALUE;
- refreshLineBackgrounds();
- }
- return;
- }
- int offset = fStyledText.getOffsetAtLocation(new Point(0, fCursorYCoordinate));
- int line = fStyledText.getLineAtOffset(offset);
- if (line < fLines.size() - fTopLineIndex) {
- LineData lineData = fLines.get(fTopLineIndex + line);
- if (fHighlightedRank != lineData.rank) {
- fHighlightedRank = lineData.rank;
- refreshLineBackgrounds();
- }
- } else {
- if (fHighlightedRank != Long.MIN_VALUE) {
- fHighlightedRank = Long.MIN_VALUE;
- refreshLineBackgrounds();
- }
- }
- }
-
- // ------------------------------------------------------------------------
- // ControlListener (ScrolledComposite)
- // ------------------------------------------------------------------------
-
- @Override
- public void controlResized(ControlEvent event) {
- int areaHeight = fScrolledComposite.getSize().y;
- if (fScrolledComposite.getHorizontalBar() != null) {
- areaHeight -= fScrolledComposite.getHorizontalBar().getSize().y;
- }
- int lineHeight = fStyledText.getLineHeight();
- fNumVisibleLines = Math.max((areaHeight + lineHeight - 1) / lineHeight, 1);
-
- if (fBottomContext != null) {
- loadLineData();
- fillTextArea();
- }
- }
-
- @Override
- public void controlMoved(ControlEvent e) {
- }
-
- // ------------------------------------------------------------------------
- // SelectionListener (Slider)
- // ------------------------------------------------------------------------
-
- @Override
- public void widgetSelected(SelectionEvent e) {
- fTextArea.setFocus();
- if (fLines.size() == 0) {
- return;
- }
- if (e.detail == SWT.DRAG) {
- return;
- }
- fHoldSelection++;
- switch (e.detail) {
- case SWT.NONE: {
- //long rank = (long) (fTrace.getNbEvents() * ((double) fSlider.getSelection() / SLIDER_MAX));
- //setTopRank(rank);
- if (fSlider.getSelection() == 0 || fSlider.getThumb() == SLIDER_MAX) {
- fLines.clear();
- setTopPosition(0.0);
- break;
- }
- double ratio = (double) fSlider.getSelection() / (SLIDER_MAX - fSlider.getThumb());
- double delta = Math.pow(10, -15);
- fLines.clear();
- while (fLines.size() == 0) {
- setTopPosition(ratio);
- if (ratio == 0.0) {
- break;
- }
- delta = Math.min(delta * 10, 0.1);
- ratio = Math.max(ratio - delta, 0.0);
- }
- break;
- }
- case SWT.ARROW_DOWN: {
- if (fTopLineIndex >= fLines.size()) {
- break;
- }
- fTopLineIndex++;
- loadLineData();
- updateTextArea();
- break;
- }
- case SWT.PAGE_DOWN: {
- fTopLineIndex += Math.max(fNumVisibleLines - 1, 1);
- loadLineData();
- updateTextArea();
- break;
- }
- case SWT.ARROW_UP: {
- //if (fLines.size() == 0 || (fTopLineIndex == 0 && fLines.get(0).rank == 0)) {
- if (fLines.size() == 0) {// || (fTopLineIndex == 0 && fLines.get(0).rank == 0)) {
- break;
- }
- fTopLineIndex--;
- loadLineData();
- updateTextArea();
- break;
- }
- case SWT.PAGE_UP: {
- fTopLineIndex -= Math.max(fNumVisibleLines - 1, 1);
- loadLineData();
- updateTextArea();
- break;
- }
- case SWT.HOME: {
- //selectAndReveal(0);
- setTopPosition(0.0);
- break;
- }
- case SWT.END: {
- //if (fTrace.getNbEvents() > 0) {
- //selectAndReveal(fTrace.getNbEvents() - 1);
- //}
- double ratio = 1.0;
- double delta = Math.pow(10, -15);
- fLines.clear();
- while (fLines.size() == 0) {
- setTopPosition(ratio);
- if (ratio == 0.0) {
- break;
- }
- delta = Math.min(delta * 10, 0.1);
- ratio = Math.max(ratio - delta, 0.0);
- }
- break;
- }
- default:
- break;
- }
- //fSlider.setSelection((int) (SLIDER_MAX * ((double) fLines.get(fTopLineIndex).rank / fTrace.getNbEvents())));
- if (e.detail != SWT.NONE) {
- fSlider.setSelection((int) (SLIDER_MAX * fTrace.getLocationRatio(fLines.get(fTopLineIndex).location)));
- }
-
- fHoldSelection = 0;
- }
-
- @Override
- public void widgetDefaultSelected(SelectionEvent e) {
- }
-
- // ------------------------------------------------------------------------
- // KeyListener (StyledText)
- // ------------------------------------------------------------------------
-
- @Override
- public void keyPressed(KeyEvent e) {
- if (fLines.size() == 0) {
- return;
- }
- int caretOffset = fStyledText.getCaretOffset();
- int previousCaretOffset = getPreviousCaretOffset(e.time);
- int previousLineAtCaretPosition = fStyledText.getLineAtOffset(previousCaretOffset);
- int previousColumnAtCaretPosition = getPreviousCaretOffset(e.time) - fStyledText.getOffsetAtLine(previousLineAtCaretPosition);
- switch (e.keyCode) {
- case SWT.ARROW_DOWN: {
- if (previousLineAtCaretPosition < (fNumVisibleLines - 2)) {
- break;
- }
- fHoldSelection++;
- fTopLineIndex++;
- loadLineData();
- updateTextArea();
- fHoldSelection--;
- LineData lineData = fLines.get(fTopLineIndex + fStyledText.getLineAtOffset(fStyledText.getCaretOffset()));
- if (!lineData.location.equals(fSelectedLocation)) {
- fSelectedLocation = lineData.location;
- refreshLineBackgrounds();
- sendSelectionEvent(lineData);
- }
- break;
- }
- case SWT.PAGE_DOWN: {
- if (previousLineAtCaretPosition >= (fNumVisibleLines - 1)) {
- fHoldSelection++;
- if (fLines.get(fTopLineIndex + previousLineAtCaretPosition).rank % 2 == 0) {
- fStyledText.setLineBackground(previousLineAtCaretPosition, 1, COLOR_BACKGROUND_EVEN);
- } else {
- fStyledText.setLineBackground(previousLineAtCaretPosition, 1, COLOR_BACKGROUND_ODD);
- }
- fSelectedLocation = null;
- fTopLineIndex += Math.max(fNumVisibleLines - 1, 1);
- loadLineData();
- updateTextArea();
- fHoldSelection--;
- }
- int line = Math.min(fNumVisibleLines - 1, fStyledText.getLineCount() - 1);
- int offset = fStyledText.getOffsetAtLine(line);
- fStyledText.setSelection(offset + Math.min(previousColumnAtCaretPosition, fLines.get(fTopLineIndex + line).string.length()));
- break;
- }
- case SWT.ARROW_RIGHT: {
- if (previousCaretOffset < fStyledText.getCharCount() || previousLineAtCaretPosition < (fNumVisibleLines - 2)) {
- break;
- }
- fHoldSelection++;
- fTopLineIndex++;
- loadLineData();
- updateTextArea();
- fHoldSelection--;
- fStyledText.setSelection(fStyledText.getCaretOffset() + 1);
- break;
- }
- case SWT.ARROW_UP: {
- if (previousLineAtCaretPosition > 0) {
- break;
- }
- if (fLines.size() == 0) {// || (fTopLineIndex == 0 && fLines.get(0).rank == 0)) {
- break;
- }
- fHoldSelection++;
- fTopLineIndex--;
- loadLineData();
- updateTextArea();
- fHoldSelection--;
- LineData lineData = fLines.get(fTopLineIndex);
- if (!lineData.location.equals(fSelectedLocation)) {
- fSelectedLocation = lineData.location;
- refreshLineBackgrounds();
- sendSelectionEvent(lineData);
- }
- fStyledText.setSelection(caretOffset);
- break;
- }
- case SWT.PAGE_UP: {
- if (previousLineAtCaretPosition > 0) {
- break;
- }
- fHoldSelection++;
- fTopLineIndex -= Math.max(fNumVisibleLines - 1, 1);
- loadLineData();
- updateTextArea();
- fHoldSelection--;
- LineData lineData = fLines.get(fTopLineIndex);
- if (!lineData.location.equals(fSelectedLocation)) {
- fSelectedLocation = lineData.location;
- refreshLineBackgrounds();
- sendSelectionEvent(lineData);
- }
- fStyledText.setSelection(caretOffset);
- break;
- }
- case SWT.ARROW_LEFT: {
- if (previousCaretOffset > 0) {
- break;
- }
- if (fLines.size() == 0) {// || (fTopLineIndex == 0 && fLines.get(0).rank == 0)) {
- break;
- }
- long topRank = fLines.get(fTopLineIndex).rank;
- fHoldSelection++;
- fTopLineIndex--;
- loadLineData();
- updateTextArea();
- fHoldSelection--;
- LineData lineData = fLines.get(fTopLineIndex);
- if (!lineData.location.equals(fSelectedLocation)) {
- fSelectedLocation = lineData.location;
- refreshLineBackgrounds();
- sendSelectionEvent(lineData);
- }
- if (topRank != fLines.get(fTopLineIndex).rank) {
- fStyledText.setSelection(fLines.get(fTopLineIndex).string.length());
- }
- break;
- }
- case SWT.HOME: {
- if ((e.stateMask & SWT.CTRL) == 0) {
- break;
- }
- //selectAndReveal(0);
- setTopPosition(0.0);
- LineData lineData = fLines.get(fTopLineIndex);
- if (!lineData.location.equals(fSelectedLocation)) {
- fSelectedLocation = lineData.location;
- refreshLineBackgrounds();
- sendSelectionEvent(lineData);
- }
- break;
- }
- case SWT.END: {
- if ((e.stateMask & SWT.CTRL) == 0) {
- break;
- }
- //if (fTrace.getNbEvents() > 0) {
- //selectAndReveal(fTrace.getNbEvents() - 1);
- //}
- double ratio = 1.0;
- double delta = Math.pow(10, -15);
- fLines.clear();
- while (fLines.size() == 0) {
- setTopPosition(ratio);
- if (ratio == 0.0) {
- break;
- }
- delta = Math.min(delta * 10, 0.1);
- ratio = Math.max(ratio - delta, 0.0);
- }
- LineData lineData = fLines.get(fTopLineIndex);
- if (!lineData.location.equals(fSelectedLocation)) {
- fSelectedLocation = lineData.location;
- refreshLineBackgrounds();
- sendSelectionEvent(lineData);
- }
- break;
- }
- default:
- break;
- }
- //fSlider.setSelection((int) (SLIDER_MAX * ((double) fLines.get(fTopLineIndex).rank / fTrace.getNbEvents())));
- updateHighlightedRank();
- fSlider.setSelection((int) (SLIDER_MAX * fTrace.getLocationRatio(fLines.get(fTopLineIndex).location)));
- }
-
- @Override
- public void keyReleased(KeyEvent e) {
- }
-
- // ------------------------------------------------------------------------
- // CaretListener (StyledText)
- // ------------------------------------------------------------------------
-
- @Override
- public void caretMoved(CaretEvent event) {
- if (fHoldSelection == 0) {
- int line = fStyledText.getLineAtOffset(event.caretOffset);
- if (fTopLineIndex + line < fLines.size()) {
- LineData lineData = fLines.get(fTopLineIndex + line);
- if (!lineData.location.equals(fSelectedLocation)) {
- fSelectedLocation = lineData.location;
- refreshLineBackgrounds();
- sendSelectionEvent(lineData);
- }
- }
- }
- storeCaretPosition(event.time, event.caretOffset);
- if (fHoldSelection == 0) {
- Point caret = fStyledText.getLocationAtOffset(fStyledText.getCaretOffset());
- Point origin = fScrolledComposite.getOrigin();
- if (origin.x > caret.x) {
- origin.x = caret.x;
- } else if (caret.x - origin.x > fScrolledComposite.getSize().x) {
- origin.x = caret.x - fScrolledComposite.getSize().x + 1;
- }
- fScrolledComposite.setOrigin(origin);
- }
- }
-
- // ------------------------------------------------------------------------
- // MouseMoveListener (StyledText)
- // ------------------------------------------------------------------------
-
- @Override
- public void mouseMove(MouseEvent e) {
- fCursorYCoordinate = e.y;
- if (e.y < 0 || e.y > fStyledText.getSize().y) {
- if (fHighlightedRank != Long.MIN_VALUE) {
- fHighlightedRank = Long.MIN_VALUE;
- refreshLineBackgrounds();
- }
- return;
- }
- int offset = fStyledText.getOffsetAtLocation(new Point(0, e.y));
- int line = fStyledText.getLineAtOffset(offset);
- if (line < fLines.size() - fTopLineIndex) {
- LineData lineData = fLines.get(fTopLineIndex + line);
- if (fHighlightedRank != lineData.rank) {
- fHighlightedRank = lineData.rank;
- refreshLineBackgrounds();
- }
- } else {
- if (fHighlightedRank != Long.MIN_VALUE) {
- fHighlightedRank = Long.MIN_VALUE;
- refreshLineBackgrounds();
- }
- }
- }
-
- // ------------------------------------------------------------------------
- // MouseTrackListener (StyledText)
- // ------------------------------------------------------------------------
-
- @Override
- public void mouseExit(MouseEvent e) {
- fCursorYCoordinate = -1;
- if (fHighlightedRank != Long.MIN_VALUE) {
- fHighlightedRank = Long.MIN_VALUE;
- refreshLineBackgrounds();
- }
- }
-
- @Override
- public void mouseEnter(MouseEvent e) {
- fCursorYCoordinate = e.y;
- }
-
- @Override
- public void mouseHover(MouseEvent e) {
- }
-
- // ------------------------------------------------------------------------
- // MouseWheelListener (StyledText)
- // ------------------------------------------------------------------------
-
- @Override
- public void mouseScrolled(MouseEvent e) {
- if (fLines.size() == 0) {
- return;
- }
- fHoldSelection++;
- fTopLineIndex -= e.count;
- loadLineData();
- updateTextArea();
- fHoldSelection = 0;
- //fSlider.setSelection((int) (SLIDER_MAX * ((double) fLines.get(fTopLineIndex).rank / fTrace.getNbEvents())));
- updateHighlightedRank();
- fSlider.setSelection((int) (SLIDER_MAX * fTrace.getLocationRatio(fLines.get(fTopLineIndex).location)));
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/widgets/tabsview/TmfViewerFolder.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/widgets/tabsview/TmfViewerFolder.java
deleted file mode 100644
index 753d783dd5..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/widgets/tabsview/TmfViewerFolder.java
+++ /dev/null
@@ -1,193 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2012, 2013 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:
- * Mathieu Denis <mathieu.denis@polymtl.ca> - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.widgets.tabsview;
-
-import java.util.Collection;
-import java.util.HashMap;
-
-import org.eclipse.linuxtools.tmf.ui.viewers.ITmfViewer;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.SWTException;
-import org.eclipse.swt.custom.CTabFolder;
-import org.eclipse.swt.custom.CTabItem;
-import org.eclipse.swt.layout.FillLayout;
-import org.eclipse.swt.widgets.Composite;
-
-/**
- * Allows the user to create multiple tabs which makes it look like folders. It
- * simplifies the management of the viewer contained in each tab.
- *
- * The indexing of the viewers is based on their name.
- *
- * @author Mathieu Denis
- * @version 2.0
- * @since 2.0
- */
-public class TmfViewerFolder extends Composite {
-
- /**
- * The list of viewers in the folder
- */
- private final HashMap<String, ITmfViewer> fViewers;
-
- /**
- * The parent folder that contains all viewers
- */
- private CTabFolder fFolder;
-
- /**
- * Constructor with empty style
- *
- * @param parent
- * The parent composite
- */
- public TmfViewerFolder(Composite parent) {
- this(parent, SWT.NONE);
- }
-
- /**
- * Constructor
- *
- * @param parent
- * The parent composite
- * @param style
- * The style of the view that will be created
- */
- public TmfViewerFolder(Composite parent, int style) {
- super(parent, style);
- setLayout(new FillLayout());
-
- fViewers = new HashMap<>();
- initFolder();
- }
-
- @Override
- public void dispose() {
- super.dispose();
- for (ITmfViewer viewer : fViewers.values()) {
- viewer.dispose();
- }
- if (fFolder != null) {
- fFolder.dispose();
- }
- }
-
- /**
- * Disposes of all the viewers contained in the folder and restart to a
- * clean state.
- */
- public void clear() {
- for (ITmfViewer viewer : fViewers.values()) {
- viewer.dispose();
- }
- fViewers.clear();
- fFolder.dispose();
- initFolder();
- }
-
- /**
- * Create a new tab that will hold the viewer content. The viewer name will
- * be used as the name for the tab. The viewer ID must be unique and can be
- * used to retrieve the viewer from the folder.
- *
- * The parent of the viewer control must be the folder returned by
- * {@link #getParentFolder()}
- *
- * @param viewer
- * The viewer to put in the new tab
- * @param viewerID
- * The ID that will be assigned to this viewer for easy
- * retrieving
- * @param style
- * The style of the widget to build
- * @return true on success, false otherwise
- */
- public boolean addTab(ITmfViewer viewer, String viewerID, int style) {
- if (fFolder == null
- || viewer.getControl().getParent() != fFolder
- || fViewers.containsKey(viewerID)) {
- return false;
- }
- CTabItem item = new CTabItem(fFolder, style);
- item.setText(viewer.getName());
- item.setControl(viewer.getControl());
- // Register the viewer in the map to dispose it at closing time
- fViewers.put(viewerID, viewer);
- return true;
- }
-
- /**
- * Gets the folder that will be use as the parent of tabs that will hold the
- * viewer.
- *
- * In order to be able to add new tabs in this view, the parent of the
- * viewer control has to be this composite.
- *
- * @return the folder composite to use as the parent for the viewer control
- * to create.
- */
- public Composite getParentFolder() {
- return fFolder;
- }
-
- /**
- * Gets a viewer based on his name.
- *
- * @param viewerName
- * The name of the viewer to find in the folder
- * @return The viewer which name is viewerName, or null if there is no such
- * viewer
- */
- public ITmfViewer getViewer(String viewerName) {
- return fViewers.get(viewerName);
- }
-
- /**
- * Gets the viewers list contained in the folder view. The list can return
- * the viewers in any order. It is not to be assumed that the viewers are
- * returned in the same order as they were inserted.
- *
- * @return a collection of viewers contained in this view.
- */
- public Collection<ITmfViewer> getViewers() {
- return fViewers.values();
- }
-
- /**
- * Selects the tab at the specified index from the insertion order
- *
- * @param index
- * The index of the tab to be selected
- * @throws SWTException
- * <ul>
- * <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed
- * </li>
- * <li>ERROR_THREAD_INVALID_ACCESS - if not called from the
- * thread that created the receiver</li>
- * </ul>
- */
- public void setSelection(int index) throws SWTException {
- fFolder.setSelection(index);
- }
-
- /**
- * Initializes the folder or put it a back to a clean state.
- */
- private void initFolder() {
- if (fFolder != null) {
- fFolder.dispose();
- }
- fFolder = new CTabFolder(this, SWT.LEFT | SWT.BORDER);
- fFolder.setSimple(false);
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/widgets/timegraph/ITimeGraphColorListener.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/widgets/timegraph/ITimeGraphColorListener.java
deleted file mode 100644
index 4983569e0e..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/widgets/timegraph/ITimeGraphColorListener.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 École Polytechnique de Montréal
- *
- * 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:
- * Geneviève Bastien - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.widgets.timegraph;
-
-/**
- * A time graph state color change listener
- *
- * @author Geneviève Bastien
- * @since 3.0
- */
-public interface ITimeGraphColorListener {
-
- /**
- * Notify the listener that the presentation provider's color may have
- * changed and they need to be reloaded
- *
- * @param stateItems
- * The new state table
- */
- void colorSettingsChanged(StateItem[] stateItems);
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/widgets/timegraph/ITimeGraphContentProvider.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/widgets/timegraph/ITimeGraphContentProvider.java
deleted file mode 100644
index fda2a07ff0..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/widgets/timegraph/ITimeGraphContentProvider.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 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:
- * Patrick Tasse - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.widgets.timegraph;
-
-import org.eclipse.linuxtools.tmf.ui.widgets.timegraph.model.ITimeGraphEntry;
-
-
-/**
- * A content provider mediates between the viewer's model
- * and the viewer itself.
- *
- * @since 3.0
- */
-public interface ITimeGraphContentProvider {
- /**
- * Returns the time graph entries to display in the viewer when its input is
- * set to the given element.
- *
- * @param inputElement
- * the input element
- * @return the array of time graph entries to display in the viewer
- */
- public ITimeGraphEntry[] getElements(Object inputElement);
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/widgets/timegraph/ITimeGraphPresentationProvider.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/widgets/timegraph/ITimeGraphPresentationProvider.java
deleted file mode 100644
index c93c218351..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/widgets/timegraph/ITimeGraphPresentationProvider.java
+++ /dev/null
@@ -1,177 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2012, 2013 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:
- * Patrick Tasse - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.widgets.timegraph;
-
-import java.util.Map;
-
-import org.eclipse.linuxtools.tmf.ui.widgets.timegraph.model.ITimeEvent;
-import org.eclipse.linuxtools.tmf.ui.widgets.timegraph.model.ITimeGraphEntry;
-import org.eclipse.swt.graphics.GC;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.graphics.Rectangle;
-
-/**
- * Interface for the time graph widget provider
- *
- * @version 1.0
- * @author Patrick Tasse
- */
-public interface ITimeGraphPresentationProvider {
-
- /** State table index for an invisible event
- * @since 2.0
- */
- final int INVISIBLE = -1;
-
- /** State table index for a transparent event (only borders drawn)
- * @since 2.0
- */
- final int TRANSPARENT = -2;
-
- /**
- * Returns the name of state types.
- *
- * @return the name of state types
- */
- String getStateTypeName();
-
- /**
- * Returns the name of state type depending on the given entry.
- * Note that this overwrites the name which is return by getStateTypeName().
- *
- * @param entry
- * the entry
- * @return the name of state type depending on the given entry or null.
- * @since 2.0
- */
- String getStateTypeName(ITimeGraphEntry entry);
-
- /**
- * Returns table of states with state name to state color relationship.
- *
- * @return table of states with color and name
- *
- * @see #getStateTableIndex
- */
- StateItem[] getStateTable();
-
- /**
- * Returns the index in the state table corresponding to this time event.
- * The index should correspond to a state in the state table,
- * otherwise the color SWT.COLOR_BLACK will be used.
- * If the index returned is TRANSPARENT, only the event borders will be drawn.
- * If the index returned is INVISIBLE or another negative, the event will not be drawn.
- *
- * @param event the time event
- * @return the corresponding state table index
- *
- * @see #getStateTable
- * @see #TRANSPARENT
- * @see #INVISIBLE
- */
- int getStateTableIndex(ITimeEvent event);
-
- /**
- * Called after drawing the control
- *
- * @param bounds
- * The drawing rectangle
- * @param gc
- * The graphics context
- */
- void postDrawControl(Rectangle bounds, GC gc);
-
- /**
- * Called after drawing an entry
- *
- * @param entry
- * the entry that was drawn
- * @param bounds
- * the drawing rectangle
- * @param gc
- * the graphics context
- */
- void postDrawEntry(ITimeGraphEntry entry, Rectangle bounds, GC gc);
-
- /**
- * Called after drawing an event
- *
- * @param event
- * the event that was drawn
- * @param bounds
- * the drawing rectangle
- * @param gc
- * the graphics context
- */
- void postDrawEvent(ITimeEvent event, Rectangle bounds, GC gc);
-
- /**
- * Returns the height of this item. This value is ignored if the time graph has a fixed item height.
- *
- * @param entry the entry
- * @return the item height
- *
- * @see TimeGraphViewer#setItemHeight
- */
- int getItemHeight(ITimeGraphEntry entry);
-
- /**
- * Provides the image icon for a given entry.
- *
- * @param entry the entry
- * @return the image icon
- */
- Image getItemImage(ITimeGraphEntry entry);
-
- /**
- * Returns the name of this event.
- *
- * @param event
- * The event
- * @return The event name
- */
- String getEventName(ITimeEvent event);
-
- /**
- * Returns a map of name and value providing additional information
- * to display in the tool tip for this event.
- *
- * @param event the time event
- * @return a map of tool tip information
- */
- Map<String, String> getEventHoverToolTipInfo(ITimeEvent event);
-
- /**
- * Returns a map of name and value providing additional information
- * to display in the tool tip for this event.
- *
- * @param event the time event
- * @param hoverTime the time corresponding to the mouse hover position
- * @return a map of tool tip information
- *
- * @since 2.0
- */
- Map<String, String> getEventHoverToolTipInfo(ITimeEvent event, long hoverTime);
-
- /**
- * Check whether time and duration should be displayed in tooltip (after items from
- * {@link #getEventHoverToolTipInfo(ITimeEvent)}).
- *
- * @return <code>true</code> if times and duration should be displayed on tooltip, <code>false</code> otherwise.
- *
- * @since 3.0
- */
- public boolean displayTimesInTooltip();
-
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/widgets/timegraph/ITimeGraphPresentationProvider2.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/widgets/timegraph/ITimeGraphPresentationProvider2.java
deleted file mode 100644
index 0a33c9dc73..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/widgets/timegraph/ITimeGraphPresentationProvider2.java
+++ /dev/null
@@ -1,62 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 École Polytechnique de Montréal
- *
- * 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:
- * Geneviève Bastien - Add drawing helper methods
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.widgets.timegraph;
-
-import org.eclipse.linuxtools.tmf.ui.widgets.timegraph.widgets.ITmfTimeGraphDrawingHelper;
-
-/**
- * Extension of the ITimeGraphPresentationProvider interface to avoid API breakage
- *
- * @author Geneviève Bastien
- * @since 2.1
- * TODO: Add me to ITimeGraphPresentationProvider before the 3.0 release
- */
-public interface ITimeGraphPresentationProvider2 extends ITimeGraphPresentationProvider {
-
- /**
- * Returns the drawing helper for this presentation provider.
- *
- * @return The drawing helper
- */
- ITmfTimeGraphDrawingHelper getDrawingHelper();
-
- /**
- * Sets this presentation provider's drawing helper.
- * This helper be needed to know where to draw items, get its coordinates
- * given a time, etc.
- *
- * @param helper
- * The drawing helper
- */
- void setDrawingHelper(ITmfTimeGraphDrawingHelper helper);
-
- /**
- * Adds a color settings listener, to be notified when the presentation
- * provider's state colors change.
- *
- * @param listener
- * The new listener for color settings changes
- * @since 3.0
- */
- public void addColorListener(ITimeGraphColorListener listener);
-
- /**
- * Removes a color settings listener.
- *
- * @param listener
- * The color settings listener to remove
- * @since 3.0
- */
- public void removeColorListener(ITimeGraphColorListener listener);
-
-} \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/widgets/timegraph/ITimeGraphRangeListener.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/widgets/timegraph/ITimeGraphRangeListener.java
deleted file mode 100644
index e7794645d7..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/widgets/timegraph/ITimeGraphRangeListener.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2012, 2013 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:
- * Patrick Tasse - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.widgets.timegraph;
-
-import java.util.EventListener;
-
-/**
- * A listener which is notified when a timegraph changes its visible time range.
- *
- * @version 1.0
- * @author Patrick Tasse
- */
-public interface ITimeGraphRangeListener extends EventListener {
-
- /**
- * Notifies that the timegraph range has changed.
- *
- * @param event event object describing details
- */
- void timeRangeUpdated(TimeGraphRangeUpdateEvent event);
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/widgets/timegraph/ITimeGraphSelectionListener.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/widgets/timegraph/ITimeGraphSelectionListener.java
deleted file mode 100644
index 9481bc6fc7..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/widgets/timegraph/ITimeGraphSelectionListener.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2012, 2013 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:
- * Patrick Tasse - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.widgets.timegraph;
-
-import java.util.EventListener;
-
-/**
- * A listener which is notified when a timegraph changes its selected time.
- *
- * @version 1.0
- * @author Patrick Tasse
- */
-public interface ITimeGraphSelectionListener extends EventListener {
-
- /**
- * Notifies that the timegraph selected entry has changed.
- *
- * @param event event object describing details
- */
- void selectionChanged(TimeGraphSelectionEvent event);
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/widgets/timegraph/ITimeGraphTimeListener.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/widgets/timegraph/ITimeGraphTimeListener.java
deleted file mode 100644
index e52a0ee6b6..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/widgets/timegraph/ITimeGraphTimeListener.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2012, 2013 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:
- * Patrick Tasse - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.widgets.timegraph;
-
-import java.util.EventListener;
-
-/**
- * A listener which is notified when a timegraph changes its selected time.
- *
- * @version 1.0
- * @author Patrick Tasse
- */
-public interface ITimeGraphTimeListener extends EventListener {
-
- /**
- * Notifies that the timegraph selected time has changed.
- *
- * @param event event object describing details
- */
- void timeSelected(TimeGraphTimeEvent event);
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/widgets/timegraph/ITimeGraphTreeListener.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/widgets/timegraph/ITimeGraphTreeListener.java
deleted file mode 100644
index 1b3f288e2d..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/widgets/timegraph/ITimeGraphTreeListener.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2012, 2013 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:
- * Patrick Tasse - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.widgets.timegraph;
-
-/**
- * A listener which is notified when a timegraph expands or collapses an entry.
- *
- * @version 1.0
- * @author Patrick Tasse
- */
-public interface ITimeGraphTreeListener {
-
- /**
- * Notifies that an entry in the timegraph has been collapsed.
- *
- * @param event event object describing details
- */
- void treeCollapsed(TimeGraphTreeExpansionEvent event);
-
- /**
- * Notifies that an entry in the timegraph has been expanded.
- *
- * @param event event object describing details
- */
- void treeExpanded(TimeGraphTreeExpansionEvent event);
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/widgets/timegraph/StateItem.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/widgets/timegraph/StateItem.java
deleted file mode 100644
index aa04677e48..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/widgets/timegraph/StateItem.java
+++ /dev/null
@@ -1,107 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2012 Ericsson
- *
- * All rights reserved. This program and the accompanying materials are
- * made available under the terms of the Eclipse Public License v1.0 which
- * accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Bernd Hufmann - Initial API and implementation
- **********************************************************************/
-package org.eclipse.linuxtools.tmf.ui.widgets.timegraph;
-
-import org.eclipse.swt.graphics.RGB;
-
-/**
- * Class that contains the color of a state and the corresponding state string
- * to display.
- *
- * @version 1.0
- * @author Bernd Hufmann
- */
-public class StateItem {
-
- // ------------------------------------------------------------------------
- // Constants
- // ------------------------------------------------------------------------
- /**
- * Name of state if not known
- */
- public static final String UNDEFINED_STATE_NAME = "Undefined"; //$NON-NLS-1$
-
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
- /**
- * The State color
- */
- private RGB fStateColor;
- /**
- * The State string.
- */
- private String fStateString;
-
-
- // ------------------------------------------------------------------------
- // Constructors
- // ------------------------------------------------------------------------
-
- /**
- * Creates a state item with given color and unspecified name.
- *
- * @param stateColor A state color
- */
- public StateItem(RGB stateColor) {
- this(stateColor, UNDEFINED_STATE_NAME);
- }
-
- /**
- * Creates a state color - state string pair.
- *
- * @param stateColor A state color
- * @param stateString A state string
- */
- public StateItem(RGB stateColor, String stateString) {
- fStateColor = stateColor;
- fStateString = stateString;
- }
-
- // ------------------------------------------------------------------------
- // Accessors
- // ------------------------------------------------------------------------
- /**
- * Returns the state color.
- *
- * @return Returns the state color.
- */
- public RGB getStateColor() {
- return fStateColor;
- }
-
- /**
- * Sets the state color.
- *
- * @param stateColor A state color to set
- */
- public void setStateColor(RGB stateColor) {
- fStateColor = stateColor;
- }
-
- /**
- * Returns the state string.
- *
- * @return the state string.
- */
- public String getStateString() {
- return fStateString;
- }
-
- /**
- * Sets the state string
- * @param stateString A state string to set
- */
- public void setStateString(String stateString) {
- fStateString = stateString;
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/widgets/timegraph/TimeGraphCombo.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/widgets/timegraph/TimeGraphCombo.java
deleted file mode 100644
index 3b772fd33f..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/widgets/timegraph/TimeGraphCombo.java
+++ /dev/null
@@ -1,1134 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2012, 2014 Ericsson, others
- *
- * 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:
- * Patrick Tasse - Initial API and implementation
- * François Rajotte - Filter implementation
- * Geneviève Bastien - Add event links between entries
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.widgets.timegraph;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.viewers.AbstractTreeViewer;
-import org.eclipse.jface.viewers.ILabelProviderListener;
-import org.eclipse.jface.viewers.ISelectionChangedListener;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.ITableLabelProvider;
-import org.eclipse.jface.viewers.ITreeContentProvider;
-import org.eclipse.jface.viewers.ITreeViewerListener;
-import org.eclipse.jface.viewers.SelectionChangedEvent;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.jface.viewers.TreeExpansionEvent;
-import org.eclipse.jface.viewers.TreeViewer;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.jface.viewers.ViewerFilter;
-import org.eclipse.linuxtools.internal.tmf.ui.Activator;
-import org.eclipse.linuxtools.internal.tmf.ui.ITmfImageConstants;
-import org.eclipse.linuxtools.internal.tmf.ui.Messages;
-import org.eclipse.linuxtools.tmf.ui.widgets.timegraph.dialogs.TimeGraphFilterDialog;
-import org.eclipse.linuxtools.tmf.ui.widgets.timegraph.model.ILinkEvent;
-import org.eclipse.linuxtools.tmf.ui.widgets.timegraph.model.ITimeGraphEntry;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.SashForm;
-import org.eclipse.swt.events.ControlAdapter;
-import org.eclipse.swt.events.ControlEvent;
-import org.eclipse.swt.events.MouseEvent;
-import org.eclipse.swt.events.MouseTrackAdapter;
-import org.eclipse.swt.events.MouseWheelListener;
-import org.eclipse.swt.events.PaintEvent;
-import org.eclipse.swt.events.PaintListener;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.graphics.Rectangle;
-import org.eclipse.swt.layout.FillLayout;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.Listener;
-import org.eclipse.swt.widgets.Slider;
-import org.eclipse.swt.widgets.Tree;
-import org.eclipse.swt.widgets.TreeColumn;
-import org.eclipse.swt.widgets.TreeItem;
-
-/**
- * Time graph "combo" view (with the list/tree on the left and the gantt chart
- * on the right)
- *
- * @version 1.0
- * @author Patrick Tasse
- */
-public class TimeGraphCombo extends Composite {
-
- // ------------------------------------------------------------------------
- // Constants
- // ------------------------------------------------------------------------
-
- /** Constant indicating that all levels of the time graph should be expanded
- * @since 3.1 */
- public static final int ALL_LEVELS = AbstractTreeViewer.ALL_LEVELS;
-
- private static final Object FILLER = new Object();
-
- private static final String ITEM_HEIGHT = "$height$"; //$NON-NLS-1$
-
- // ------------------------------------------------------------------------
- // Fields
- // ------------------------------------------------------------------------
-
- /** The tree viewer */
- private TreeViewer fTreeViewer;
-
- /** The time viewer */
- private TimeGraphViewer fTimeGraphViewer;
-
- /** The selection listener map */
- private final Map<ITimeGraphSelectionListener, SelectionListenerWrapper> fSelectionListenerMap = new HashMap<>();
-
- /** The map of viewer filters */
- private final Map<ViewerFilter, ViewerFilter> fViewerFilterMap = new HashMap<>();
-
- /**
- * Flag to block the tree selection changed listener when triggered by the
- * time graph combo
- */
- private boolean fInhibitTreeSelection = false;
-
- /** Number of filler rows used by the tree content provider */
- private int fNumFillerRows;
-
- /** Calculated item height for Linux workaround */
- private int fLinuxItemHeight = 0;
-
- /** The button that opens the filter dialog */
- private Action showFilterAction;
-
- /** The filter dialog */
- private TimeGraphFilterDialog fFilterDialog;
-
- /** The filter generated from the filter dialog */
- private RawViewerFilter fFilter;
-
- /** Default weight of each part of the sash */
- private static final int[] DEFAULT_WEIGHTS = { 1, 1 };
-
- /** List of all expanded items whose parents are also expanded */
- private List<TreeItem> fVisibleExpandedItems = null;
-
- // ------------------------------------------------------------------------
- // Classes
- // ------------------------------------------------------------------------
-
- /**
- * The TreeContentProviderWrapper is used to insert filler items after
- * the elements of the tree's real content provider.
- */
- private class TreeContentProviderWrapper implements ITreeContentProvider {
- private final ITreeContentProvider contentProvider;
-
- public TreeContentProviderWrapper(ITreeContentProvider contentProvider) {
- this.contentProvider = contentProvider;
- }
-
- @Override
- public void dispose() {
- contentProvider.dispose();
- }
-
- @Override
- public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
- contentProvider.inputChanged(viewer, oldInput, newInput);
- }
-
- @Override
- public Object[] getElements(Object inputElement) {
- Object[] elements = contentProvider.getElements(inputElement);
- // add filler elements to ensure alignment with time analysis viewer
- Object[] oElements = Arrays.copyOf(elements, elements.length + fNumFillerRows, Object[].class);
- for (int i = 0; i < fNumFillerRows; i++) {
- oElements[elements.length + i] = FILLER;
- }
- return oElements;
- }
-
- @Override
- public Object[] getChildren(Object parentElement) {
- if (parentElement instanceof ITimeGraphEntry) {
- return contentProvider.getChildren(parentElement);
- }
- return new Object[0];
- }
-
- @Override
- public Object getParent(Object element) {
- if (element instanceof ITimeGraphEntry) {
- return contentProvider.getParent(element);
- }
- return null;
- }
-
- @Override
- public boolean hasChildren(Object element) {
- if (element instanceof ITimeGraphEntry) {
- return contentProvider.hasChildren(element);
- }
- return false;
- }
- }
-
- /**
- * The TreeLabelProviderWrapper is used to intercept the filler items
- * from the calls to the tree's real label provider.
- */
- private class TreeLabelProviderWrapper implements ITableLabelProvider {
- private final ITableLabelProvider labelProvider;
-
- public TreeLabelProviderWrapper(ITableLabelProvider labelProvider) {
- this.labelProvider = labelProvider;
- }
-
- @Override
- public void addListener(ILabelProviderListener listener) {
- labelProvider.addListener(listener);
- }
-
- @Override
- public void dispose() {
- labelProvider.dispose();
- }
-
- @Override
- public boolean isLabelProperty(Object element, String property) {
- if (element instanceof ITimeGraphEntry) {
- return labelProvider.isLabelProperty(element, property);
- }
- return false;
- }
-
- @Override
- public void removeListener(ILabelProviderListener listener) {
- labelProvider.removeListener(listener);
- }
-
- @Override
- public Image getColumnImage(Object element, int columnIndex) {
- if (element instanceof ITimeGraphEntry) {
- return labelProvider.getColumnImage(element, columnIndex);
- }
- return null;
- }
-
- @Override
- public String getColumnText(Object element, int columnIndex) {
- if (element instanceof ITimeGraphEntry) {
- return labelProvider.getColumnText(element, columnIndex);
- }
- return null;
- }
-
- }
-
- /**
- * The SelectionListenerWrapper is used to intercept the filler items from
- * the time graph combo's real selection listener, and to prevent double
- * notifications from being sent when selection changes in both tree and
- * time graph at the same time.
- */
- private class SelectionListenerWrapper implements ISelectionChangedListener, ITimeGraphSelectionListener {
- private final ITimeGraphSelectionListener listener;
- private ITimeGraphEntry selection = null;
-
- public SelectionListenerWrapper(ITimeGraphSelectionListener listener) {
- this.listener = listener;
- }
-
- @Override
- public void selectionChanged(SelectionChangedEvent event) {
- if (fInhibitTreeSelection) {
- return;
- }
- Object element = ((IStructuredSelection) event.getSelection()).getFirstElement();
- if (element instanceof ITimeGraphEntry) {
- ITimeGraphEntry entry = (ITimeGraphEntry) element;
- if (entry != selection) {
- selection = entry;
- listener.selectionChanged(new TimeGraphSelectionEvent(event.getSource(), selection));
- }
- }
- }
-
- @Override
- public void selectionChanged(TimeGraphSelectionEvent event) {
- ITimeGraphEntry entry = event.getSelection();
- if (entry != selection) {
- selection = entry;
- listener.selectionChanged(new TimeGraphSelectionEvent(event.getSource(), selection));
- }
- }
- }
-
- /**
- * The ViewerFilterWrapper is used to intercept the filler items from
- * the time graph combo's real ViewerFilters. These filler items should
- * always be visible.
- */
- private class ViewerFilterWrapper extends ViewerFilter {
-
- private ViewerFilter fWrappedFilter;
-
- ViewerFilterWrapper(ViewerFilter filter) {
- super();
- this.fWrappedFilter = filter;
- }
-
- @Override
- public boolean select(Viewer viewer, Object parentElement, Object element) {
- if (element instanceof ITimeGraphEntry) {
- return fWrappedFilter.select(viewer, parentElement, element);
- }
- return true;
- }
-
- }
-
- /**
- * This filter simply keeps a list of elements that should be filtered out.
- * All the other elements will be shown.
- * By default and when the list is set to null, all elements are shown.
- */
- private class RawViewerFilter extends ViewerFilter {
-
- private List<Object> fFiltered = null;
-
- public void setFiltered(List<Object> objects) {
- fFiltered = objects;
- }
-
- public List<Object> getFiltered() {
- return fFiltered;
- }
-
- @Override
- public boolean select(Viewer viewer, Object parentElement, Object element) {
- if (fFiltered == null) {
- return true;
- }
- return !fFiltered.contains(element);
- }
- }
-
- // ------------------------------------------------------------------------
- // Constructors
- // ------------------------------------------------------------------------
-
- /**
- * Constructs a new instance of this class given its parent
- * and a style value describing its behavior and appearance.
- *
- * @param parent a widget which will be the parent of the new instance (cannot be null)
- * @param style the style of widget to construct
- */
- public TimeGraphCombo(Composite parent, int style) {
- this(parent, style, DEFAULT_WEIGHTS);
- }
-
- /**
- * Constructs a new instance of this class given its parent and a style
- * value describing its behavior and appearance.
- *
- * @param parent
- * a widget which will be the parent of the new instance (cannot
- * be null)
- * @param style
- * the style of widget to construct
- * @param weights
- * The relative weights of each side of the sash form
- * @since 2.1
- */
- public TimeGraphCombo(Composite parent, int style, int[] weights) {
- super(parent, style);
- setLayout(new FillLayout());
-
- final SashForm sash = new SashForm(this, SWT.NONE);
-
- fTreeViewer = new TreeViewer(sash, SWT.FULL_SELECTION | SWT.H_SCROLL);
- fTreeViewer.setAutoExpandLevel(AbstractTreeViewer.ALL_LEVELS);
- final Tree tree = fTreeViewer.getTree();
- tree.setHeaderVisible(true);
- tree.setLinesVisible(true);
-
- fTimeGraphViewer = new TimeGraphViewer(sash, SWT.NONE);
- fTimeGraphViewer.setItemHeight(getItemHeight(tree));
- fTimeGraphViewer.setHeaderHeight(tree.getHeaderHeight());
- fTimeGraphViewer.setBorderWidth(tree.getBorderWidth());
- fTimeGraphViewer.setNameWidthPref(0);
-
- fFilter = new RawViewerFilter();
- addFilter(fFilter);
-
- fFilterDialog = new TimeGraphFilterDialog(getShell());
-
- // Feature in Windows. The tree vertical bar reappears when
- // the control is resized so we need to hide it again.
- // Bug in Linux. The tree header height is 0 in constructor,
- // so we need to reset it later when the control is resized.
- tree.addControlListener(new ControlAdapter() {
- private int depth = 0;
- @Override
- public void controlResized(ControlEvent e) {
- if (depth == 0) {
- depth++;
- tree.getVerticalBar().setEnabled(false);
- // this can trigger controlResized recursively
- tree.getVerticalBar().setVisible(false);
- depth--;
- }
- fTimeGraphViewer.setHeaderHeight(tree.getHeaderHeight());
- }
- });
-
- // ensure synchronization of expanded items between tree and time graph
- fTreeViewer.addTreeListener(new ITreeViewerListener() {
- @Override
- public void treeCollapsed(TreeExpansionEvent event) {
- fTimeGraphViewer.setExpandedState((ITimeGraphEntry) event.getElement(), false);
- // queue the alignment update because the tree items may only be
- // actually collapsed after the listeners have been notified
- fVisibleExpandedItems = null; // invalidate the cache
- getDisplay().asyncExec(new Runnable() {
- @Override
- public void run() {
- alignTreeItems(true);
- }});
- }
-
- @Override
- public void treeExpanded(TreeExpansionEvent event) {
- ITimeGraphEntry entry = (ITimeGraphEntry) event.getElement();
- fTimeGraphViewer.setExpandedState(entry, true);
- Set<Object> expandedElements = new HashSet<>(Arrays.asList(fTreeViewer.getExpandedElements()));
- for (ITimeGraphEntry child : entry.getChildren()) {
- if (child.hasChildren()) {
- boolean expanded = expandedElements.contains(child);
- fTimeGraphViewer.setExpandedState(child, expanded);
- }
- }
- // queue the alignment update because the tree items may only be
- // actually expanded after the listeners have been notified
- fVisibleExpandedItems = null; // invalidate the cache
- getDisplay().asyncExec(new Runnable() {
- @Override
- public void run() {
- alignTreeItems(true);
- }});
- }
- });
-
- // ensure synchronization of expanded items between tree and time graph
- fTimeGraphViewer.addTreeListener(new ITimeGraphTreeListener() {
- @Override
- public void treeCollapsed(TimeGraphTreeExpansionEvent event) {
- fTreeViewer.setExpandedState(event.getEntry(), false);
- alignTreeItems(true);
- }
-
- @Override
- public void treeExpanded(TimeGraphTreeExpansionEvent event) {
- ITimeGraphEntry entry = event.getEntry();
- fTreeViewer.setExpandedState(entry, true);
- Set<Object> expandedElements = new HashSet<>(Arrays.asList(fTreeViewer.getExpandedElements()));
- for (ITimeGraphEntry child : entry.getChildren()) {
- if (child.hasChildren()) {
- boolean expanded = expandedElements.contains(child);
- fTimeGraphViewer.setExpandedState(child, expanded);
- }
- }
- alignTreeItems(true);
- }
- });
-
- // prevent mouse button from selecting a filler tree item
- tree.addListener(SWT.MouseDown, new Listener() {
- @Override
- public void handleEvent(Event event) {
- TreeItem treeItem = tree.getItem(new Point(event.x, event.y));
- if (treeItem == null || treeItem.getData() == FILLER) {
- event.doit = false;
- List<TreeItem> treeItems = getVisibleExpandedItems(tree, false);
- if (treeItems.size() == 0) {
- fTreeViewer.setSelection(new StructuredSelection());
- fTimeGraphViewer.setSelection(null);
- return;
- }
- // this prevents from scrolling up when selecting
- // the partially visible tree item at the bottom
- tree.select(treeItems.get(treeItems.size() - 1));
- fTreeViewer.setSelection(new StructuredSelection());
- fTimeGraphViewer.setSelection(null);
- }
- }
- });
-
- // prevent mouse wheel from scrolling down into filler tree items
- tree.addListener(SWT.MouseWheel, new Listener() {
- @Override
- public void handleEvent(Event event) {
- event.doit = false;
- Slider scrollBar = fTimeGraphViewer.getVerticalBar();
- fTimeGraphViewer.setTopIndex(scrollBar.getSelection() - event.count);
- alignTreeItems(false);
- }
- });
-
- // prevent key stroke from selecting a filler tree item
- tree.addListener(SWT.KeyDown, new Listener() {
- @Override
- public void handleEvent(Event event) {
- List<TreeItem> treeItems = getVisibleExpandedItems(tree, false);
- if (treeItems.size() == 0) {
- fTreeViewer.setSelection(new StructuredSelection());
- event.doit = false;
- return;
- }
- if (event.keyCode == SWT.ARROW_DOWN) {
- int index = Math.min(fTimeGraphViewer.getSelectionIndex() + 1, treeItems.size() - 1);
- fTimeGraphViewer.setSelection((ITimeGraphEntry) treeItems.get(index).getData());
- event.doit = false;
- } else if (event.keyCode == SWT.PAGE_DOWN) {
- int height = tree.getSize().y - tree.getHeaderHeight() - tree.getHorizontalBar().getSize().y;
- int countPerPage = height / getItemHeight(tree);
- int index = Math.min(fTimeGraphViewer.getSelectionIndex() + countPerPage - 1, treeItems.size() - 1);
- fTimeGraphViewer.setSelection((ITimeGraphEntry) treeItems.get(index).getData());
- event.doit = false;
- } else if (event.keyCode == SWT.END) {
- fTimeGraphViewer.setSelection((ITimeGraphEntry) treeItems.get(treeItems.size() - 1).getData());
- event.doit = false;
- }
- if (fTimeGraphViewer.getSelectionIndex() >= 0) {
- fTreeViewer.setSelection(new StructuredSelection(fTimeGraphViewer.getSelection()));
- } else {
- fTreeViewer.setSelection(new StructuredSelection());
- }
- alignTreeItems(false);
- }
- });
-
- // ensure alignment of top item between tree and time graph
- fTimeGraphViewer.getTimeGraphControl().addControlListener(new ControlAdapter() {
- @Override
- public void controlResized(ControlEvent e) {
- alignTreeItems(false);
- }
- });
-
- // ensure synchronization of selected item between tree and time graph
- fTreeViewer.addSelectionChangedListener(new ISelectionChangedListener() {
- @Override
- public void selectionChanged(SelectionChangedEvent event) {
- if (fInhibitTreeSelection) {
- return;
- }
- if (event.getSelection() instanceof IStructuredSelection) {
- Object selection = ((IStructuredSelection) event.getSelection()).getFirstElement();
- if (selection instanceof ITimeGraphEntry) {
- fTimeGraphViewer.setSelection((ITimeGraphEntry) selection);
- }
- alignTreeItems(false);
- }
- }
- });
-
- // ensure synchronization of selected item between tree and time graph
- fTimeGraphViewer.addSelectionListener(new ITimeGraphSelectionListener() {
- @Override
- public void selectionChanged(TimeGraphSelectionEvent event) {
- ITimeGraphEntry entry = fTimeGraphViewer.getSelection();
- fInhibitTreeSelection = true; // block the tree selection changed listener
- if (entry != null) {
- StructuredSelection selection = new StructuredSelection(entry);
- fTreeViewer.setSelection(selection);
- } else {
- fTreeViewer.setSelection(new StructuredSelection());
- }
- fInhibitTreeSelection = false;
- alignTreeItems(false);
- }
- });
-
- // ensure alignment of top item between tree and time graph
- fTimeGraphViewer.getVerticalBar().addSelectionListener(new SelectionAdapter() {
- @Override
- public void widgetSelected(SelectionEvent e) {
- alignTreeItems(false);
- }
- });
-
- // ensure alignment of top item between tree and time graph
- fTimeGraphViewer.getTimeGraphControl().addMouseWheelListener(new MouseWheelListener() {
- @Override
- public void mouseScrolled(MouseEvent e) {
- alignTreeItems(false);
- }
- });
-
- // ensure the tree has focus control when mouse is over it if the time graph had control
- fTreeViewer.getControl().addMouseTrackListener(new MouseTrackAdapter() {
- @Override
- public void mouseEnter(MouseEvent e) {
- if (fTimeGraphViewer.getTimeGraphControl().isFocusControl()) {
- fTreeViewer.getControl().setFocus();
- }
- }
- });
-
- // ensure the time graph has focus control when mouse is over it if the tree had control
- fTimeGraphViewer.getTimeGraphControl().addMouseTrackListener(new MouseTrackAdapter() {
- @Override
- public void mouseEnter(MouseEvent e) {
- if (fTreeViewer.getControl().isFocusControl()) {
- fTimeGraphViewer.getTimeGraphControl().setFocus();
- }
- }
- });
- fTimeGraphViewer.getTimeGraphScale().addMouseTrackListener(new MouseTrackAdapter() {
- @Override
- public void mouseEnter(MouseEvent e) {
- if (fTreeViewer.getControl().isFocusControl()) {
- fTimeGraphViewer.getTimeGraphControl().setFocus();
- }
- }
- });
-
- // The filler rows are required to ensure alignment when the tree does not have a
- // visible horizontal scroll bar. The tree does not allow its top item to be set
- // to a value that would cause blank space to be drawn at the bottom of the tree.
- fNumFillerRows = Display.getDefault().getBounds().height / getItemHeight(tree);
-
- sash.setWeights(weights);
- }
-
- // ------------------------------------------------------------------------
- // Accessors
- // ------------------------------------------------------------------------
-
- /**
- * Returns this time graph combo's tree viewer.
- *
- * @return the tree viewer
- */
- public TreeViewer getTreeViewer() {
- return fTreeViewer;
- }
-
- /**
- * Returns this time graph combo's time graph viewer.
- *
- * @return the time graph viewer
- */
- public TimeGraphViewer getTimeGraphViewer() {
- return fTimeGraphViewer;
- }
-
- /**
- * Callback for the show filter action
- *
- * @since 2.0
- */
- public void showFilterDialog() {
- ITimeGraphEntry[] topInput = fTimeGraphViewer.getTimeGraphContentProvider().getElements(fTimeGraphViewer.getInput());
- if (topInput != null) {
- List<? extends ITimeGraphEntry> allElements = listAllInputs(Arrays.asList(topInput));
- fFilterDialog.setInput(fTimeGraphViewer.getInput());
- fFilterDialog.setTitle(Messages.TmfTimeFilterDialog_WINDOW_TITLE);
- fFilterDialog.setMessage(Messages.TmfTimeFilterDialog_MESSAGE);
- fFilterDialog.setExpandedElements(allElements.toArray());
- if (fFilter.getFiltered() != null) {
- ArrayList<? extends ITimeGraphEntry> nonFilteredElements = new ArrayList<>(allElements);
- nonFilteredElements.removeAll(fFilter.getFiltered());
- fFilterDialog.setInitialElementSelections(nonFilteredElements);
- } else {
- fFilterDialog.setInitialElementSelections(allElements);
- }
- fFilterDialog.create();
- fFilterDialog.open();
- // Process selected elements
- if (fFilterDialog.getResult() != null) {
- fInhibitTreeSelection = true;
- if (fFilterDialog.getResult().length != allElements.size()) {
- ArrayList<Object> filteredElements = new ArrayList<Object>(allElements);
- filteredElements.removeAll(Arrays.asList(fFilterDialog.getResult()));
- fFilter.setFiltered(filteredElements);
- } else {
- fFilter.setFiltered(null);
- }
- fTreeViewer.refresh();
- fTreeViewer.expandAll();
- fTimeGraphViewer.refresh();
- fInhibitTreeSelection = false;
- alignTreeItems(true);
- // Reset selection
- if (fFilterDialog.getResult().length > 0) {
- setSelection(null);
- }
- }
- }
- }
-
- /**
- * Get the show filter action.
- *
- * @return The Action object
- * @since 2.0
- */
- public Action getShowFilterAction() {
- if (showFilterAction == null) {
- // showFilter
- showFilterAction = new Action() {
- @Override
- public void run() {
- showFilterDialog();
- }
- };
- showFilterAction.setText(Messages.TmfTimeGraphCombo_FilterActionNameText);
- showFilterAction.setToolTipText(Messages.TmfTimeGraphCombo_FilterActionToolTipText);
- // TODO find a nice, distinctive icon
- showFilterAction.setImageDescriptor(Activator.getDefault().getImageDescripterFromPath(ITmfImageConstants.IMG_UI_FILTERS));
- }
-
- return showFilterAction;
- }
-
- // ------------------------------------------------------------------------
- // Control
- // ------------------------------------------------------------------------
-
- @Override
- public void redraw() {
- fTimeGraphViewer.getControl().redraw();
- super.redraw();
- }
-
- // ------------------------------------------------------------------------
- // Operations
- // ------------------------------------------------------------------------
-
- /**
- * Sets the tree content provider used by this time graph combo.
- *
- * @param contentProvider the tree content provider
- */
- public void setTreeContentProvider(ITreeContentProvider contentProvider) {
- fTreeViewer.setContentProvider(new TreeContentProviderWrapper(contentProvider));
- }
-
- /**
- * Sets the tree label provider used by this time graph combo.
- *
- * @param labelProvider the tree label provider
- */
- public void setTreeLabelProvider(ITableLabelProvider labelProvider) {
- fTreeViewer.setLabelProvider(new TreeLabelProviderWrapper(labelProvider));
- }
-
- /**
- * Sets the tree content provider used by the filter dialog
- *
- * @param contentProvider the tree content provider
- * @since 2.0
- */
- public void setFilterContentProvider(ITreeContentProvider contentProvider) {
- fFilterDialog.setContentProvider(contentProvider);
- }
-
- /**
- * Sets the tree label provider used by the filter dialog
- *
- * @param labelProvider the tree label provider
- * @since 2.0
- */
- public void setFilterLabelProvider(ITableLabelProvider labelProvider) {
- fFilterDialog.setLabelProvider(labelProvider);
- }
-
- /**
- * Sets the tree columns for this time graph combo.
- *
- * @param columnNames the tree column names
- */
- public void setTreeColumns(String[] columnNames) {
- final Tree tree = fTreeViewer.getTree();
- for (String columnName : columnNames) {
- TreeColumn column = new TreeColumn(tree, SWT.LEFT);
- column.setText(columnName);
- column.pack();
- }
- }
-
- /**
- * Sets the tree columns for this time graph combo's filter dialog.
- *
- * @param columnNames the tree column names
- * @since 2.0
- */
- public void setFilterColumns(String[] columnNames) {
- fFilterDialog.setColumnNames(columnNames);
- }
-
- /**
- * Sets the time graph content provider used by this time graph combo.
- *
- * @param timeGraphContentProvider
- * the time graph content provider
- *
- * @since 3.0
- */
- public void setTimeGraphContentProvider(ITimeGraphContentProvider timeGraphContentProvider) {
- fTimeGraphViewer.setTimeGraphContentProvider(timeGraphContentProvider);
- }
-
- /**
- * Sets the time graph presentation provider used by this time graph combo.
- *
- * @param timeGraphProvider the time graph provider
- */
- public void setTimeGraphProvider(ITimeGraphPresentationProvider timeGraphProvider) {
- fTimeGraphViewer.setTimeGraphProvider(timeGraphProvider);
- }
-
- /**
- * Sets or clears the input for this time graph combo.
- *
- * @param input the input of this time graph combo, or <code>null</code> if none
- *
- * @since 3.0
- */
- public void setInput(Object input) {
- fFilter.setFiltered(null);
- fInhibitTreeSelection = true;
- fTreeViewer.setInput(input);
- for (SelectionListenerWrapper listenerWrapper : fSelectionListenerMap.values()) {
- listenerWrapper.selection = null;
- }
- fInhibitTreeSelection = false;
- fTreeViewer.getTree().getVerticalBar().setEnabled(false);
- fTreeViewer.getTree().getVerticalBar().setVisible(false);
- fTimeGraphViewer.setItemHeight(getItemHeight(fTreeViewer.getTree()));
- fTimeGraphViewer.setInput(input);
- // queue the alignment update because in Linux the item bounds are not
- // set properly until the tree has been painted at least once
- fVisibleExpandedItems = null; // invalidate the cache
- getDisplay().asyncExec(new Runnable() {
- @Override
- public void run() {
- alignTreeItems(true);
- }});
- }
-
- /**
- * Gets the input for this time graph combo.
- *
- * @return The input of this time graph combo, or <code>null</code> if none
- *
- * @since 3.0
- */
- public Object getInput() {
- return fTreeViewer.getInput();
- }
-
- /**
- * Sets or clears the list of links to display on this combo
- *
- * @param links the links to display in this time graph combo
- * @since 2.1
- */
- public void setLinks(List<ILinkEvent> links) {
- fTimeGraphViewer.setLinks(links);
- }
-
- /**
- * @param filter The filter object to be attached to the view
- * @since 2.0
- */
- public void addFilter(ViewerFilter filter) {
- ViewerFilter wrapper = new ViewerFilterWrapper(filter);
- fTreeViewer.addFilter(wrapper);
- fTimeGraphViewer.addFilter(wrapper);
- fViewerFilterMap.put(filter, wrapper);
- alignTreeItems(true);
- }
-
- /**
- * @param filter The filter object to be removed from the view
- * @since 2.0
- */
- public void removeFilter(ViewerFilter filter) {
- ViewerFilter wrapper = fViewerFilterMap.get(filter);
- fTreeViewer.removeFilter(wrapper);
- fTimeGraphViewer.removeFilter(wrapper);
- fViewerFilterMap.remove(filter);
- alignTreeItems(true);
- }
-
- /**
- * Refreshes this time graph completely with information freshly obtained from its model.
- */
- public void refresh() {
- fInhibitTreeSelection = true;
- Tree tree = fTreeViewer.getTree();
- tree.setRedraw(false);
- fTreeViewer.refresh();
- fTreeViewer.expandAll();
- tree.setRedraw(true);
- fTimeGraphViewer.refresh();
- alignTreeItems(true);
- fInhibitTreeSelection = false;
- }
-
- /**
- * Adds a listener for selection changes in this time graph combo.
- *
- * @param listener a selection listener
- */
- public void addSelectionListener(ITimeGraphSelectionListener listener) {
- SelectionListenerWrapper listenerWrapper = new SelectionListenerWrapper(listener);
- fTreeViewer.addSelectionChangedListener(listenerWrapper);
- fSelectionListenerMap.put(listener, listenerWrapper);
- fTimeGraphViewer.addSelectionListener(listenerWrapper);
- }
-
- /**
- * Removes the given selection listener from this time graph combo.
- *
- * @param listener a selection changed listener
- */
- public void removeSelectionListener(ITimeGraphSelectionListener listener) {
- SelectionListenerWrapper listenerWrapper = fSelectionListenerMap.remove(listener);
- fTreeViewer.removeSelectionChangedListener(listenerWrapper);
- fTimeGraphViewer.removeSelectionListener(listenerWrapper);
- }
-
- /**
- * Sets the current selection for this time graph combo.
- *
- * @param selection the new selection
- */
- public void setSelection(ITimeGraphEntry selection) {
- fTimeGraphViewer.setSelection(selection);
- fInhibitTreeSelection = true; // block the tree selection changed listener
- if (selection != null) {
- StructuredSelection structuredSelection = new StructuredSelection(selection);
- fTreeViewer.setSelection(structuredSelection);
- } else {
- fTreeViewer.setSelection(new StructuredSelection());
- }
- fInhibitTreeSelection = false;
- alignTreeItems(false);
- }
-
- /**
- * Sets the auto-expand level to be used when the input of the viewer is set
- * using {@link #setInput(Object)}. The value 0 means that there is no
- * auto-expand; 1 means that top-level elements are expanded, but not their
- * children; 2 means that top-level elements are expanded, and their
- * children, but not grand-children; and so on.
- * <p>
- * The value {@link #ALL_LEVELS} means that all subtrees should be expanded.
- * </p>
- * @param level
- * non-negative level, or <code>ALL_LEVELS</code> to expand all
- * levels of the tree
- * @since 3.1
- */
- public void setAutoExpandLevel(int level) {
- fTimeGraphViewer.setAutoExpandLevel(level);
- if (level <= 0) {
- fTreeViewer.setAutoExpandLevel(level);
- } else {
- fTreeViewer.setAutoExpandLevel(level + 1);
- }
- }
-
- /**
- * Returns the auto-expand level.
- *
- * @return non-negative level, or <code>ALL_LEVELS</code> if all levels of
- * the tree are expanded automatically
- * @see #setAutoExpandLevel
- * @since 3.1
- */
- public int getAutoExpandLevel() {
- return fTimeGraphViewer.getAutoExpandLevel();
- }
-
- /**
- * Set the expanded state of an entry
- *
- * @param entry
- * The entry to expand/collapse
- * @param expanded
- * True for expanded, false for collapsed
- *
- * @since 2.0
- */
- public void setExpandedState(ITimeGraphEntry entry, boolean expanded) {
- fTimeGraphViewer.setExpandedState(entry, expanded);
- fTreeViewer.setExpandedState(entry, expanded);
- alignTreeItems(true);
- }
-
- /**
- * Collapses all nodes of the viewer's tree, starting with the root.
- *
- * @since 2.0
- */
- public void collapseAll() {
- fTimeGraphViewer.collapseAll();
- fTreeViewer.collapseAll();
- alignTreeItems(true);
- }
-
- /**
- * Expands all nodes of the viewer's tree, starting with the root.
- *
- * @since 2.0
- */
- public void expandAll() {
- fTimeGraphViewer.expandAll();
- fTreeViewer.expandAll();
- alignTreeItems(true);
- }
-
- // ------------------------------------------------------------------------
- // Internal
- // ------------------------------------------------------------------------
-
- private List<TreeItem> getVisibleExpandedItems(Tree tree, boolean refresh) {
- if (fVisibleExpandedItems == null || refresh) {
- ArrayList<TreeItem> items = new ArrayList<>();
- for (TreeItem item : tree.getItems()) {
- if (item.getData() == FILLER) {
- break;
- }
- items.add(item);
- if (item.getExpanded()) {
- addVisibleExpandedItems(items, item);
- }
- }
- fVisibleExpandedItems = items;
- }
- return fVisibleExpandedItems;
- }
-
- private void addVisibleExpandedItems(List<TreeItem> items, TreeItem treeItem) {
- for (TreeItem item : treeItem.getItems()) {
- items.add(item);
- if (item.getExpanded()) {
- addVisibleExpandedItems(items, item);
- }
- }
- }
-
- /**
- * Explores the list of top-level inputs and returns all the inputs
- *
- * @param inputs The top-level inputs
- * @return All the inputs
- */
- private List<? extends ITimeGraphEntry> listAllInputs(List<? extends ITimeGraphEntry> inputs) {
- ArrayList<ITimeGraphEntry> items = new ArrayList<>();
- for (ITimeGraphEntry entry : inputs) {
- items.add(entry);
- if (entry.hasChildren()) {
- items.addAll(listAllInputs(entry.getChildren()));
- }
- }
- return items;
- }
-
- private int getItemHeight(final Tree tree) {
- /*
- * Bug in Linux. The method getItemHeight doesn't always return the correct value.
- */
- if (fLinuxItemHeight >= 0 && System.getProperty("os.name").contains("Linux")) { //$NON-NLS-1$ //$NON-NLS-2$
- if (fLinuxItemHeight != 0) {
- return fLinuxItemHeight;
- }
- List<TreeItem> treeItems = getVisibleExpandedItems(tree, true);
- if (treeItems.size() > 1) {
- final TreeItem treeItem0 = treeItems.get(0);
- final TreeItem treeItem1 = treeItems.get(1);
- PaintListener paintListener = new PaintListener() {
- @Override
- public void paintControl(PaintEvent e) {
- tree.removePaintListener(this);
- int y0 = treeItem0.getBounds().y;
- int y1 = treeItem1.getBounds().y;
- int itemHeight = y1 - y0;
- if (itemHeight > 0) {
- fLinuxItemHeight = itemHeight;
- fTimeGraphViewer.setItemHeight(itemHeight);
- }
- }
- };
- tree.addPaintListener(paintListener);
- }
- } else {
- fLinuxItemHeight = -1; // Not Linux, don't perform os.name check anymore
- }
- return tree.getItemHeight();
- }
-
- private void alignTreeItems(boolean refreshExpandedItems) {
- // align the tree top item with the time graph top item
- Tree tree = fTreeViewer.getTree();
- List<TreeItem> treeItems = getVisibleExpandedItems(tree, refreshExpandedItems);
- int topIndex = fTimeGraphViewer.getTopIndex();
- if (topIndex >= treeItems.size()) {
- return;
- }
- TreeItem item = treeItems.get(topIndex);
- tree.setTopItem(item);
-
- // ensure the time graph item heights are equal to the tree item heights
- int treeHeight = fTreeViewer.getTree().getBounds().height;
- int index = topIndex;
- Rectangle bounds = item.getBounds();
- while (index < treeItems.size() - 1) {
- if (bounds.y > treeHeight) {
- break;
- }
- /*
- * Bug in Linux. The method getBounds doesn't always return the correct height.
- * Use the difference of y position between items to calculate the height.
- */
- TreeItem nextItem = treeItems.get(index + 1);
- Rectangle nextBounds = nextItem.getBounds();
- Integer itemHeight = nextBounds.y - bounds.y;
- if (itemHeight > 0 && !itemHeight.equals(item.getData(ITEM_HEIGHT))) {
- ITimeGraphEntry entry = (ITimeGraphEntry) item.getData();
- if (fTimeGraphViewer.getTimeGraphControl().setItemHeight(entry, itemHeight)) {
- item.setData(ITEM_HEIGHT, itemHeight);
- }
- }
- index++;
- item = nextItem;
- bounds = nextBounds;
- }
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/widgets/timegraph/TimeGraphPresentationProvider.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/widgets/timegraph/TimeGraphPresentationProvider.java
deleted file mode 100644
index 05d11bbb46..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/widgets/timegraph/TimeGraphPresentationProvider.java
+++ /dev/null
@@ -1,189 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009, 2013 Ericsson, École Polytechnique de Montréal
- *
- * 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:
- * Alvaro Sanchez-Leon - Initial API and implementation
- * Patrick Tasse - Refactoring
- * Geneviève Bastien - Add drawing helper methods
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.widgets.timegraph;
-
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.linuxtools.internal.tmf.ui.Messages;
-import org.eclipse.linuxtools.tmf.ui.widgets.timegraph.model.ITimeEvent;
-import org.eclipse.linuxtools.tmf.ui.widgets.timegraph.model.ITimeGraphEntry;
-import org.eclipse.linuxtools.tmf.ui.widgets.timegraph.widgets.ITmfTimeGraphDrawingHelper;
-import org.eclipse.swt.graphics.GC;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.graphics.Rectangle;
-
-/**
- * Provider class for the time graph provider
- *
- * @version 1.0
- * @author Patrick Tasse
- *
- */
-public class TimeGraphPresentationProvider implements ITimeGraphPresentationProvider2 {
-
- private ITmfTimeGraphDrawingHelper fDrawingHelper;
- private final String fStateTypeName;
-
- // The list of listeners for graph color changes
- private final List<ITimeGraphColorListener> fListeners = new ArrayList<>();
-
- // ------------------------------------------------------------------------
- // Constants
- // ------------------------------------------------------------------------
- private static final int DEFAULT_ITEM_HEIGHT = 19;
-
- // ------------------------------------------------------------------------
- // Operations
- // ------------------------------------------------------------------------
-
- /**
- * Constructor
- * @param stateTypeName The state type name
- * @since 2.1
- */
- public TimeGraphPresentationProvider(String stateTypeName) {
- fStateTypeName = stateTypeName;
- }
-
- /**
- * Constructor
- * @since 2.1
- */
- public TimeGraphPresentationProvider() {
- this(Messages.TmfTimeLegend_TRACE_STATES);
- }
-
- @Override
- public String getStateTypeName() {
- return fStateTypeName;
- }
-
- /**
- * @see org.eclipse.linuxtools.tmf.ui.widgets.timegraph.ITimeGraphPresentationProvider#getStateTypeName(org.eclipse.linuxtools.tmf.ui.widgets.timegraph.model.ITimeGraphEntry)
- * @since 2.0
- */
- @Override
- public String getStateTypeName(ITimeGraphEntry entry) {
- return null;
- }
-
- @Override
- public StateItem[] getStateTable() {
- return null;
- }
-
- @Override
- public int getStateTableIndex(ITimeEvent event) {
- return 0;
- }
-
- /**
- * @since 2.1
- */
- @Override
- public ITmfTimeGraphDrawingHelper getDrawingHelper() {
- return fDrawingHelper;
- }
-
- /**
- * @since 2.1
- */
- @Override
- public void setDrawingHelper(ITmfTimeGraphDrawingHelper helper) {
- fDrawingHelper = helper;
- }
-
- @Override
- public void postDrawControl(Rectangle bounds, GC gc) {
- // Override to add own drawing code
- }
-
- @Override
- public void postDrawEntry(ITimeGraphEntry entry, Rectangle bounds, GC gc) {
- // Override to add own drawing code
- }
-
- @Override
- public void postDrawEvent(ITimeEvent event, Rectangle bounds, GC gc) {
- // Override to add own drawing code
- }
-
- @Override
- public int getItemHeight(ITimeGraphEntry entry) {
- return DEFAULT_ITEM_HEIGHT;
- }
-
- @Override
- public Image getItemImage(ITimeGraphEntry entry) {
- return null;
- }
-
- @Override
- public String getEventName(ITimeEvent event) {
- return null;
- }
-
- @Override
- public Map<String, String> getEventHoverToolTipInfo(ITimeEvent event) {
- return null;
- }
-
- /**
- * @since 2.0
- */
- @Override
- public Map<String, String> getEventHoverToolTipInfo(ITimeEvent event, long hoverTime) {
- return getEventHoverToolTipInfo(event);
- }
-
- /**
- * @since 3.0
- */
- @Override
- public boolean displayTimesInTooltip() {
- return true;
- }
-
- /**
- * @since 3.0
- */
- @Override
- public void addColorListener(ITimeGraphColorListener listener) {
- if (!fListeners.contains(listener)) {
- fListeners.add(listener);
- }
- }
-
- /**
- * @since 3.0
- */
- @Override
- public void removeColorListener(ITimeGraphColorListener listener) {
- fListeners.remove(listener);
- }
-
- /**
- * Notifies listeners of the state table change
- * @since 3.0
- */
- protected void fireColorSettingsChanged() {
- for (ITimeGraphColorListener listener : fListeners) {
- listener.colorSettingsChanged(getStateTable());
- }
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/widgets/timegraph/TimeGraphRangeUpdateEvent.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/widgets/timegraph/TimeGraphRangeUpdateEvent.java
deleted file mode 100644
index 1d59f51e3a..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/widgets/timegraph/TimeGraphRangeUpdateEvent.java
+++ /dev/null
@@ -1,71 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2012 Ericsson
- *
- * All rights reserved. This program and the accompanying materials are
- * made available under the terms of the Eclipse Public License v1.0 which
- * accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Patrick Tasse - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.widgets.timegraph;
-
-import java.util.EventObject;
-
-/**
- * Notifier for the time graph that the time range has been updated.
- *
- * @version 1.0
- * @author Patrick Tasse
- */
-public class TimeGraphRangeUpdateEvent extends EventObject {
-
- /**
- * Default serial version UID for this class.
- * @since 1.0
- */
- private static final long serialVersionUID = 1L;
-
- /**
- * The start time.
- */
- private final long fStartTime;
-
- /**
- * The end time.
- */
- private final long fEndTime;
-
- /**
- * Standard constructor
- *
- * @param source
- * The source of this event
- * @param startTime
- * The start time
- * @param endTime
- * The end time
- */
- public TimeGraphRangeUpdateEvent(Object source, long startTime, long endTime) {
- super(source);
- fStartTime = startTime;
- fEndTime = endTime;
- }
-
- /**
- * @return the start time
- */
- public long getStartTime() {
- return fStartTime;
- }
-
- /**
- * @return the end time
- */
- public long getEndTime() {
- return fEndTime;
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/widgets/timegraph/TimeGraphSelectionEvent.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/widgets/timegraph/TimeGraphSelectionEvent.java
deleted file mode 100644
index eac0ded656..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/widgets/timegraph/TimeGraphSelectionEvent.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2012 Ericsson
- *
- * All rights reserved. This program and the accompanying materials are
- * made available under the terms of the Eclipse Public License v1.0 which
- * accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Patrick Tasse - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.widgets.timegraph;
-
-import java.util.EventObject;
-
-import org.eclipse.linuxtools.tmf.ui.widgets.timegraph.model.ITimeGraphEntry;
-
-/**
- * Notifier for the time graph that an object in the views has been selected.
- *
- * @version 1.0
- * @author Patrick Tasse
- */
-public class TimeGraphSelectionEvent extends EventObject {
-
- /**
- * Default serial version UID for this class.
- * @since 1.0
- */
- private static final long serialVersionUID = 1L;
-
- /**
- * The selected entry.
- */
- private final ITimeGraphEntry fSelection;
-
- /**
- * Standard constructor
- *
- * @param source
- * The source of this event
- * @param selection
- * The entry that was selected
- */
- public TimeGraphSelectionEvent(Object source, ITimeGraphEntry selection) {
- super(source);
- fSelection = selection;
- }
-
- /**
- * @return the selected entry or null if the selection is empty.
- */
- public ITimeGraphEntry getSelection() {
- return fSelection;
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/widgets/timegraph/TimeGraphTimeEvent.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/widgets/timegraph/TimeGraphTimeEvent.java
deleted file mode 100644
index 9d2cfeda3e..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/widgets/timegraph/TimeGraphTimeEvent.java
+++ /dev/null
@@ -1,74 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2012, 2014 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:
- * Patrick Tasse - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.widgets.timegraph;
-
-import java.util.EventObject;
-
-/**
- * Time selection event
- *
- * @version 1.0
- * @author Patrick Tasse
- */
-public class TimeGraphTimeEvent extends EventObject {
-
- /**
- * Default serial version UID for this class.
- * @since 1.0
- */
- private static final long serialVersionUID = 1L;
-
- /**
- * The selection begin time.
- */
- private final long fBeginTime;
-
- /**
- * The selection end time.
- */
- private final long fEndTime;
-
- /**
- * Standard constructor
- *
- * @param source
- * The source of this event
- * @param beginTime
- * The selection begin time
- * @param endTime
- * The selection end time
- * @since 2.1
- */
- public TimeGraphTimeEvent(Object source, long beginTime, long endTime) {
- super(source);
- fBeginTime = beginTime;
- fEndTime = endTime;
- }
-
- /**
- * @return the selection begin time
- * @since 2.1
- */
- public long getBeginTime() {
- return fBeginTime;
- }
-
- /**
- * @return the selection end time
- * @since 2.1
- */
- public long getEndTime() {
- return fEndTime;
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/widgets/timegraph/TimeGraphTreeExpansionEvent.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/widgets/timegraph/TimeGraphTreeExpansionEvent.java
deleted file mode 100644
index 9cf37a8373..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/widgets/timegraph/TimeGraphTreeExpansionEvent.java
+++ /dev/null
@@ -1,57 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2012 Ericsson
- *
- * All rights reserved. This program and the accompanying materials are
- * made available under the terms of the Eclipse Public License v1.0 which
- * accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Patrick Tasse - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.widgets.timegraph;
-
-import java.util.EventObject;
-
-import org.eclipse.linuxtools.tmf.ui.widgets.timegraph.model.ITimeGraphEntry;
-
-/**
- * Notifier for the time graph view that a tree has been expanded.
- *
- * @version 1.0
- * @author Patrick Tasse
- */
-public class TimeGraphTreeExpansionEvent extends EventObject {
-
- /**
- * Default serial version UID for this class.
- * @since 1.0
- */
- private static final long serialVersionUID = 1L;
-
- /**
- * The entry that was expanded or collapsed.
- */
- private final ITimeGraphEntry fEntry;
-
- /**
- * Creates a new event for the given source and entry.
- *
- * @param source the tree viewer
- * @param entry the entry
- */
- public TimeGraphTreeExpansionEvent(Object source, ITimeGraphEntry entry) {
- super(source);
- fEntry = entry;
- }
-
- /**
- * Returns the entry that got expanded or collapsed.
- *
- * @return the entry
- */
- public ITimeGraphEntry getEntry() {
- return fEntry;
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/widgets/timegraph/TimeGraphViewer.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/widgets/timegraph/TimeGraphViewer.java
deleted file mode 100644
index 8fdedb830c..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/widgets/timegraph/TimeGraphViewer.java
+++ /dev/null
@@ -1,1916 +0,0 @@
-/*****************************************************************************
- * Copyright (c) 2007, 2015 Intel Corporation, Ericsson, others
- * 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:
- * Intel Corporation - Initial API and implementation
- * Ruslan A. Scherbakov, Intel - Initial API and implementation
- * Alexander N. Alexeev, Intel - Add monitors statistics support
- * Alvaro Sanchez-Leon - Adapted for TMF
- * Patrick Tasse - Refactoring
- * Geneviève Bastien - Add event links between entries
- *****************************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.widgets.timegraph;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.dialogs.IDialogSettings;
-import org.eclipse.jface.viewers.AbstractTreeViewer;
-import org.eclipse.jface.viewers.ISelectionProvider;
-import org.eclipse.jface.viewers.ViewerFilter;
-import org.eclipse.linuxtools.internal.tmf.ui.Activator;
-import org.eclipse.linuxtools.internal.tmf.ui.ITmfImageConstants;
-import org.eclipse.linuxtools.internal.tmf.ui.Messages;
-import org.eclipse.linuxtools.tmf.ui.widgets.timegraph.dialogs.TimeGraphLegend;
-import org.eclipse.linuxtools.tmf.ui.widgets.timegraph.model.ILinkEvent;
-import org.eclipse.linuxtools.tmf.ui.widgets.timegraph.model.ITimeEvent;
-import org.eclipse.linuxtools.tmf.ui.widgets.timegraph.model.ITimeGraphEntry;
-import org.eclipse.linuxtools.tmf.ui.widgets.timegraph.widgets.ITimeDataProvider;
-import org.eclipse.linuxtools.tmf.ui.widgets.timegraph.widgets.TimeDataProviderCyclesConverter;
-import org.eclipse.linuxtools.tmf.ui.widgets.timegraph.widgets.TimeGraphColorScheme;
-import org.eclipse.linuxtools.tmf.ui.widgets.timegraph.widgets.TimeGraphControl;
-import org.eclipse.linuxtools.tmf.ui.widgets.timegraph.widgets.TimeGraphScale;
-import org.eclipse.linuxtools.tmf.ui.widgets.timegraph.widgets.TimeGraphTooltipHandler;
-import org.eclipse.linuxtools.tmf.ui.widgets.timegraph.widgets.Utils;
-import org.eclipse.linuxtools.tmf.ui.widgets.timegraph.widgets.Utils.TimeFormat;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.ControlAdapter;
-import org.eclipse.swt.events.ControlEvent;
-import org.eclipse.swt.events.KeyAdapter;
-import org.eclipse.swt.events.KeyEvent;
-import org.eclipse.swt.events.MenuDetectListener;
-import org.eclipse.swt.events.MouseEvent;
-import org.eclipse.swt.events.MouseWheelListener;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.events.SelectionListener;
-import org.eclipse.swt.graphics.Rectangle;
-import org.eclipse.swt.layout.FillLayout;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.Listener;
-import org.eclipse.swt.widgets.ScrollBar;
-import org.eclipse.swt.widgets.Slider;
-
-/**
- * Generic time graph viewer implementation
- *
- * @version 1.0
- * @author Patrick Tasse, and others
- */
-public class TimeGraphViewer implements ITimeDataProvider, SelectionListener {
-
- /** Constant indicating that all levels of the time graph should be expanded
- * @since 3.1 */
- public static final int ALL_LEVELS = AbstractTreeViewer.ALL_LEVELS;
-
- private static final int DEFAULT_NAME_WIDTH = 200;
- private static final int MIN_NAME_WIDTH = 6;
- private static final int MAX_NAME_WIDTH = 1000;
- private static final int DEFAULT_HEIGHT = 22;
- private static final long RECENTERING_MARGIN_FACTOR = 50;
- private static final String HIDE_ARROWS_KEY = "hide.arrows"; //$NON-NLS-1$
- private static final long DEFAULT_FREQUENCY = 1000000000L;
- private static final int H_SCROLLBAR_MAX = Integer.MAX_VALUE - 1;
-
- private long fMinTimeInterval;
- private ITimeGraphEntry fSelectedEntry;
- private long fBeginTime;
- private long fEndTime;
- private long fTime0;
- private long fTime1;
- private long fSelectionBegin = 0;
- private long fSelectionEnd = 0;
- private long fTime0Bound;
- private long fTime1Bound;
- private long fTime0ExtSynch = 0;
- private long fTime1ExtSynch = 0;
- private boolean fTimeRangeFixed;
- private int fNameWidthPref = DEFAULT_NAME_WIDTH;
- private int fMinNameWidth = MIN_NAME_WIDTH;
- private int fNameWidth;
- private Composite fDataViewer;
-
- private TimeGraphControl fTimeGraphCtrl;
- private TimeGraphScale fTimeScaleCtrl;
- private Slider fHorizontalScrollBar;
- private Slider fVerticalScrollBar;
- private TimeGraphColorScheme fColorScheme;
- private Object fInputElement;
- private ITimeGraphContentProvider fTimeGraphContentProvider;
- private ITimeGraphPresentationProvider fTimeGraphProvider;
- private ITimeDataProvider fTimeDataProvider = this;
- private TimeGraphTooltipHandler fToolTipHandler;
-
- private List<ITimeGraphSelectionListener> fSelectionListeners = new ArrayList<>();
- private List<ITimeGraphTimeListener> fTimeListeners = new ArrayList<>();
- private List<ITimeGraphRangeListener> fRangeListeners = new ArrayList<>();
-
- // Time format, using Epoch reference, Relative time format(default),
- // Number, or Cycles
- private TimeFormat fTimeFormat = TimeFormat.RELATIVE;
- // Clock frequency to use for Cycles time format
- private long fClockFrequency = DEFAULT_FREQUENCY;
- private int fBorderWidth = 0;
- private int fTimeScaleHeight = DEFAULT_HEIGHT;
-
- private Action fResetScaleAction;
- private Action fShowLegendAction;
- private Action fNextEventAction;
- private Action fPrevEventAction;
- private Action fNextItemAction;
- private Action fPreviousItemAction;
- private Action fZoomInAction;
- private Action fZoomOutAction;
- private Action fHideArrowsAction;
- private Action fFollowArrowFwdAction;
- private Action fFollowArrowBwdAction;
-
- private ListenerNotifier fListenerNotifier;
- private final Object fListenerNotifierLock = new Object();
-
- private class ListenerNotifier extends Thread {
- private static final long DELAY = 400L;
- private static final long POLLING_INTERVAL = 10L;
- private long fLastUpdateTime = Long.MAX_VALUE;
- private boolean fSelectionChanged = false;
- private boolean fTimeRangeUpdated = false;
- private boolean fTimeSelected = false;
-
- @Override
- public void run() {
- while ((System.currentTimeMillis() - fLastUpdateTime) < DELAY) {
- try {
- Thread.sleep(POLLING_INTERVAL);
- } catch (Exception e) {
- return;
- }
- }
- synchronized (fListenerNotifierLock) {
- fListenerNotifier = null;
- }
- if (!isInterrupted()) {
- Display.getDefault().asyncExec(new Runnable() {
- @Override
- public void run() {
- if (fDataViewer.isDisposed()) {
- return;
- }
- if (fSelectionChanged) {
- fireSelectionChanged(fSelectedEntry);
- }
- if (fTimeRangeUpdated) {
- fireTimeRangeUpdated(fTime0, fTime1);
- }
- if (fTimeSelected) {
- fireTimeSelected(fSelectionBegin, fSelectionEnd);
- }
- }
- });
- }
- }
-
- public void selectionChanged() {
- fSelectionChanged = true;
- fLastUpdateTime = System.currentTimeMillis();
- }
-
- public void timeRangeUpdated() {
- fTimeRangeUpdated = true;
- fLastUpdateTime = System.currentTimeMillis();
- }
-
- public void timeSelected() {
- fTimeSelected = true;
- fLastUpdateTime = System.currentTimeMillis();
- }
- }
-
- /**
- * Standard constructor.
- * <p>
- * The default timegraph content provider accepts an ITimeGraphEntry[] as input element.
- *
- * @param parent
- * The parent UI composite object
- * @param style
- * The style to use
- */
- public TimeGraphViewer(Composite parent, int style) {
- createDataViewer(parent, style);
- fTimeGraphContentProvider = new ITimeGraphContentProvider() {
- @Override
- public ITimeGraphEntry[] getElements(Object inputElement) {
- if (inputElement instanceof ITimeGraphEntry[]) {
- return (ITimeGraphEntry[]) inputElement;
- }
- return new ITimeGraphEntry[0];
- }
- };
- }
-
- /**
- * Sets the timegraph content provider used by this timegraph viewer.
- *
- * @param timeGraphContentProvider
- * the timegraph content provider
- *
- * @since 3.0
- */
- public void setTimeGraphContentProvider(ITimeGraphContentProvider timeGraphContentProvider) {
- fTimeGraphContentProvider = timeGraphContentProvider;
- }
-
- /**
- * Gets the timegraph content provider used by this timegraph viewer.
- *
- * @return the timegraph content provider
- *
- * @since 3.0
- */
- public ITimeGraphContentProvider getTimeGraphContentProvider() {
- return fTimeGraphContentProvider;
- }
-
- /**
- * Sets the timegraph presentation provider used by this timegraph viewer.
- *
- * @param timeGraphProvider
- * the timegraph provider
- */
- public void setTimeGraphProvider(ITimeGraphPresentationProvider timeGraphProvider) {
- fTimeGraphProvider = timeGraphProvider;
- fTimeGraphCtrl.setTimeGraphProvider(timeGraphProvider);
- fToolTipHandler = new TimeGraphTooltipHandler(fTimeGraphProvider, fTimeDataProvider);
- fToolTipHandler.activateHoverHelp(fTimeGraphCtrl);
- }
-
- /**
- * Sets or clears the input for this time graph viewer.
- *
- * @param inputElement
- * The input of this time graph viewer, or <code>null</code> if
- * none
- *
- * @since 3.0
- */
- public void setInput(Object inputElement) {
- fInputElement = inputElement;
- ITimeGraphEntry[] input = fTimeGraphContentProvider.getElements(inputElement);
-
- if (fTimeGraphCtrl != null) {
- setTimeRange(input);
- setTopIndex(0);
- fSelectionBegin = 0;
- fSelectionEnd = 0;
- fSelectedEntry = null;
- refreshAllData(input);
- }
- }
-
- /**
- * Gets the input for this time graph viewer.
- *
- * @return The input of this time graph viewer, or <code>null</code> if none
- *
- * @since 3.0
- */
- public Object getInput() {
- return fInputElement;
- }
-
- /**
- * Sets (or clears if null) the list of links to display on this combo
- *
- * @param links
- * the links to display in this time graph combo
- * @since 2.1
- */
- public void setLinks(List<ILinkEvent> links) {
- if (fTimeGraphCtrl != null) {
- fTimeGraphCtrl.refreshArrows(links);
- }
- }
-
- /**
- * Refresh the view
- */
- public void refresh() {
- ITimeGraphEntry[] input = fTimeGraphContentProvider.getElements(fInputElement);
- setTimeRange(input);
- refreshAllData(input);
- }
-
- /**
- * Callback for when the control is moved
- *
- * @param e
- * The caller event
- */
- public void controlMoved(ControlEvent e) {
- }
-
- /**
- * Callback for when the control is resized
- *
- * @param e
- * The caller event
- */
- public void controlResized(ControlEvent e) {
- resizeControls();
- }
-
- /**
- * Handler for when the model is updated. Called from the display order in
- * the API
- *
- * @param traces
- * The traces in the model
- * @param start
- * The start time
- * @param end
- * The end time
- * @param updateTimeBounds
- * Should we updated the time bounds too
- */
- public void modelUpdate(ITimeGraphEntry[] traces, long start,
- long end, boolean updateTimeBounds) {
- if (null != fTimeGraphCtrl) {
- updateInternalData(traces, start, end);
- if (updateTimeBounds) {
- fTimeRangeFixed = true;
- // set window to match limits
- setStartFinishTime(fTime0Bound, fTime1Bound);
- } else {
- fTimeGraphCtrl.redraw();
- fTimeScaleCtrl.redraw();
- }
- }
- }
-
- /**
- * @return The string representing the view type
- */
- protected String getViewTypeStr() {
- return "viewoption.threads"; //$NON-NLS-1$
- }
-
- int getMarginWidth() {
- return 0;
- }
-
- int getMarginHeight() {
- return 0;
- }
-
- void loadOptions() {
- fMinTimeInterval = 1;
- fSelectionBegin = -1;
- fSelectionEnd = -1;
- fNameWidth = Utils.loadIntOption(getPreferenceString("namewidth"), //$NON-NLS-1$
- fNameWidthPref, fMinNameWidth, MAX_NAME_WIDTH);
- }
-
- void saveOptions() {
- Utils.saveIntOption(getPreferenceString("namewidth"), fNameWidth); //$NON-NLS-1$
- }
-
- /**
- * Create a data viewer.
- *
- * @param parent
- * Parent composite
- * @param style
- * Style to use
- * @return The new data viewer
- */
- protected Control createDataViewer(Composite parent, int style) {
- loadOptions();
- fColorScheme = new TimeGraphColorScheme();
- fDataViewer = new Composite(parent, style) {
- @Override
- public void redraw() {
- fTimeScaleCtrl.redraw();
- fTimeGraphCtrl.redraw();
- super.redraw();
- }
- };
- GridLayout gl = new GridLayout(2, false);
- gl.marginHeight = fBorderWidth;
- gl.marginWidth = 0;
- gl.verticalSpacing = 0;
- gl.horizontalSpacing = 0;
- fDataViewer.setLayout(gl);
-
- fTimeScaleCtrl = new TimeGraphScale(fDataViewer, fColorScheme);
- fTimeScaleCtrl.setTimeProvider(fTimeDataProvider);
- fTimeScaleCtrl.setLayoutData(new GridData(SWT.FILL, SWT.DEFAULT, true, false));
- fTimeScaleCtrl.setHeight(fTimeScaleHeight);
- fTimeScaleCtrl.addMouseWheelListener(new MouseWheelListener() {
- @Override
- public void mouseScrolled(MouseEvent e) {
- fTimeGraphCtrl.zoom(e.count > 0);
- }
- });
-
- fVerticalScrollBar = new Slider(fDataViewer, SWT.VERTICAL | SWT.NO_FOCUS);
- fVerticalScrollBar.setLayoutData(new GridData(SWT.DEFAULT, SWT.FILL, false, true, 1, 2));
- fVerticalScrollBar.addSelectionListener(new SelectionAdapter() {
- @Override
- public void widgetSelected(SelectionEvent e) {
- setTopIndex(fVerticalScrollBar.getSelection());
- }
- });
-
- fTimeGraphCtrl = createTimeGraphControl(fDataViewer, fColorScheme);
-
- fTimeGraphCtrl.setTimeProvider(this);
- fTimeGraphCtrl.setTimeGraphScale(fTimeScaleCtrl);
- fTimeGraphCtrl.addSelectionListener(this);
- fTimeGraphCtrl.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
- fTimeGraphCtrl.addMouseWheelListener(new MouseWheelListener() {
- @Override
- public void mouseScrolled(MouseEvent e) {
- adjustVerticalScrollBar();
- }
- });
- fTimeGraphCtrl.addKeyListener(new KeyAdapter() {
- @Override
- public void keyPressed(KeyEvent e) {
- if (e.character == '+') {
- zoomIn();
- } else if (e.character == '-') {
- zoomOut();
- }
- adjustVerticalScrollBar();
- }
- });
-
- fHorizontalScrollBar = new Slider(fDataViewer, SWT.HORIZONTAL | SWT.NO_FOCUS);
- fHorizontalScrollBar.setLayoutData(new GridData(SWT.FILL, SWT.DEFAULT, true, false));
- fHorizontalScrollBar.addListener(SWT.MouseWheel, new Listener() {
- @Override
- public void handleEvent(Event event) {
- if ((event.stateMask & SWT.MODIFIER_MASK) == SWT.CTRL) {
- getTimeGraphControl().zoom(event.count > 0);
- } else {
- getTimeGraphControl().horizontalScroll(event.count > 0);
- }
- // don't handle the immediately following SWT.Selection event
- event.doit = false;
- }
- });
- fHorizontalScrollBar.addListener(SWT.Selection, new Listener() {
- @Override
- public void handleEvent(Event event) {
- int start = fHorizontalScrollBar.getSelection();
- long time0 = getTime0();
- long time1 = getTime1();
- long timeMin = getMinTime();
- long timeMax = getMaxTime();
- long delta = timeMax - timeMin;
-
- long range = time1 - time0;
- time0 = timeMin + Math.round(delta * ((double) start / H_SCROLLBAR_MAX));
- time1 = time0 + range;
-
- // TODO: Follow-up with Bug 310310
- // In Linux SWT.DRAG is the only value received
- // https://bugs.eclipse.org/bugs/show_bug.cgi?id=310310
- if (event.detail == SWT.DRAG) {
- setStartFinishTime(time0, time1);
- } else {
- setStartFinishTimeNotify(time0, time1);
- }
- }
- });
-
- Composite filler = new Composite(fDataViewer, SWT.NONE);
- GridData gd = new GridData(SWT.DEFAULT, SWT.DEFAULT, false, false);
- gd.heightHint = fHorizontalScrollBar.getSize().y;
- filler.setLayoutData(gd);
- filler.setLayout(new FillLayout());
-
- fTimeGraphCtrl.addControlListener(new ControlAdapter() {
- @Override
- public void controlResized(ControlEvent event) {
- resizeControls();
- }
- });
- resizeControls();
- fDataViewer.update();
- adjustHorizontalScrollBar();
- adjustVerticalScrollBar();
- return fDataViewer;
- }
-
- /**
- * Dispose the view.
- */
- public void dispose() {
- saveOptions();
- fTimeGraphCtrl.dispose();
- fDataViewer.dispose();
- fColorScheme.dispose();
- }
-
- /**
- * Create a new time graph control.
- *
- * @param parent
- * The parent composite
- * @param colors
- * The color scheme
- * @return The new TimeGraphControl
- * @since 2.0
- */
- protected TimeGraphControl createTimeGraphControl(Composite parent,
- TimeGraphColorScheme colors) {
- return new TimeGraphControl(parent, colors);
- }
-
- /**
- * Resize the controls
- */
- public void resizeControls() {
- Rectangle r = fDataViewer.getClientArea();
- if (r.isEmpty()) {
- return;
- }
-
- int width = r.width;
- if (fNameWidth > width - fMinNameWidth) {
- fNameWidth = width - fMinNameWidth;
- }
- if (fNameWidth < fMinNameWidth) {
- fNameWidth = fMinNameWidth;
- }
- adjustHorizontalScrollBar();
- adjustVerticalScrollBar();
- }
-
- /**
- * Try to set most convenient time range for display.
- *
- * @param traces
- * The traces in the model
- */
- public void setTimeRange(ITimeGraphEntry traces[]) {
- fEndTime = 0;
- fBeginTime = -1;
- for (int i = 0; i < traces.length; i++) {
- ITimeGraphEntry entry = traces[i];
- if (entry.getEndTime() >= entry.getStartTime() && entry.getEndTime() > 0) {
- if (fBeginTime < 0 || entry.getStartTime() < fBeginTime) {
- fBeginTime = entry.getStartTime();
- }
- if (entry.getEndTime() > fEndTime) {
- fEndTime = entry.getEndTime();
- }
- }
- }
-
- if (fBeginTime < 0) {
- fBeginTime = 0;
- }
- }
-
- /**
- * Recalculate the time bounds
- */
- public void setTimeBounds() {
- fTime0Bound = fBeginTime;
- if (fTime0Bound < 0) {
- fTime0Bound = 0;
- }
- fTime1Bound = fEndTime;
- if (!fTimeRangeFixed) {
- fTime0 = fTime0Bound;
- fTime1 = fTime1Bound;
- }
- fTime0 = Math.max(fTime0Bound, Math.min(fTime0, fTime1Bound));
- fTime1 = Math.max(fTime0Bound, Math.min(fTime1, fTime1Bound));
- if (fTime1 - fTime0 < fMinTimeInterval) {
- fTime1 = Math.min(fTime1Bound, fTime0 + fMinTimeInterval);
- }
- }
-
- /**
- * @param traces
- * @param start
- * @param end
- */
- void updateInternalData(ITimeGraphEntry[] traces, long start, long end) {
- ITimeGraphEntry[] realTraces = traces;
-
- if (null == realTraces) {
- realTraces = new ITimeGraphEntry[0];
- }
- if ((start == 0 && end == 0) || start < 0 || end < 0) {
- // Start and end time are unspecified and need to be determined from
- // individual processes
- setTimeRange(realTraces);
- } else {
- fBeginTime = start;
- fEndTime = end;
- }
-
- refreshAllData(realTraces);
- }
-
- /**
- * @param traces
- */
- private void refreshAllData(ITimeGraphEntry[] traces) {
- setTimeBounds();
- if (fSelectionBegin < fBeginTime) {
- fSelectionBegin = fBeginTime;
- } else if (fSelectionBegin > fEndTime) {
- fSelectionBegin = fEndTime;
- }
- if (fSelectionEnd < fBeginTime) {
- fSelectionEnd = fBeginTime;
- } else if (fSelectionEnd > fEndTime) {
- fSelectionEnd = fEndTime;
- }
- fTimeGraphCtrl.refreshData(traces);
- fTimeScaleCtrl.redraw();
- adjustVerticalScrollBar();
- }
-
- /**
- * Callback for when this view is focused
- */
- public void setFocus() {
- if (null != fTimeGraphCtrl) {
- fTimeGraphCtrl.setFocus();
- }
- }
-
- /**
- * Get the current focus status of this view.
- *
- * @return If the view is currently focused, or not
- */
- public boolean isInFocus() {
- return fTimeGraphCtrl.isInFocus();
- }
-
- /**
- * Get the view's current selection
- *
- * @return The entry that is selected
- */
- public ITimeGraphEntry getSelection() {
- return fTimeGraphCtrl.getSelectedTrace();
- }
-
- /**
- * Get the index of the current selection
- *
- * @return The index
- */
- public int getSelectionIndex() {
- return fTimeGraphCtrl.getSelectedIndex();
- }
-
- @Override
- public long getTime0() {
- return fTime0;
- }
-
- @Override
- public long getTime1() {
- return fTime1;
- }
-
- @Override
- public long getMinTimeInterval() {
- return fMinTimeInterval;
- }
-
- @Override
- public int getNameSpace() {
- return fNameWidth;
- }
-
- @Override
- public void setNameSpace(int width) {
- fNameWidth = width;
- int w = fTimeGraphCtrl.getClientArea().width;
- if (fNameWidth > w - MIN_NAME_WIDTH) {
- fNameWidth = w - MIN_NAME_WIDTH;
- }
- if (fNameWidth < MIN_NAME_WIDTH) {
- fNameWidth = MIN_NAME_WIDTH;
- }
- fTimeGraphCtrl.redraw();
- fTimeScaleCtrl.redraw();
- }
-
- @Override
- public int getTimeSpace() {
- int w = fTimeGraphCtrl.getClientArea().width;
- return w - fNameWidth;
- }
-
- @Override
- public long getBeginTime() {
- return fBeginTime;
- }
-
- @Override
- public long getEndTime() {
- return fEndTime;
- }
-
- @Override
- public long getMaxTime() {
- return fTime1Bound;
- }
-
- @Override
- public long getMinTime() {
- return fTime0Bound;
- }
-
- /**
- * @since 2.1
- */
- @Override
- public long getSelectionBegin() {
- return fSelectionBegin;
- }
-
- /**
- * @since 2.1
- */
- @Override
- public long getSelectionEnd() {
- return fSelectionEnd;
- }
-
- @Override
- public void setStartFinishTimeNotify(long time0, long time1) {
- setStartFinishTime(time0, time1);
- notifyRangeListeners();
- }
-
- @Override
- public void notifyStartFinishTime() {
- notifyRangeListeners();
- }
-
- @Override
- public void setStartFinishTime(long time0, long time1) {
- fTime0 = time0;
- if (fTime0 < fTime0Bound) {
- fTime0 = fTime0Bound;
- }
- if (fTime0 > fTime1Bound) {
- fTime0 = fTime1Bound;
- }
- fTime1 = time1;
- if (fTime1 < fTime0Bound) {
- fTime1 = fTime0Bound;
- }
- if (fTime1 > fTime1Bound) {
- fTime1 = fTime1Bound;
- }
- if (fTime1 - fTime0 < fMinTimeInterval) {
- fTime1 = Math.min(fTime1Bound, fTime0 + fMinTimeInterval);
- }
- fTimeRangeFixed = true;
- adjustHorizontalScrollBar();
- fTimeGraphCtrl.redraw();
- fTimeScaleCtrl.redraw();
- }
-
- /**
- * Set the time bounds to the provided values
- *
- * @param beginTime
- * The start time of the window
- * @param endTime
- * The end time
- */
- public void setTimeBounds(long beginTime, long endTime) {
- if (endTime >= beginTime) {
- fBeginTime = beginTime;
- fEndTime = endTime;
- fTime0Bound = beginTime;
- fTime1Bound = endTime;
- } else {
- fBeginTime = 0;
- fEndTime = 0;
- fTime0Bound = 0;
- fTime1Bound = 0;
- }
- adjustHorizontalScrollBar();
- }
-
- @Override
- public void resetStartFinishTime() {
- setStartFinishTime(fTime0Bound, fTime1Bound);
- fTimeRangeFixed = false;
- }
-
- @Override
- public void setSelectedTimeNotify(long time, boolean ensureVisible) {
- setSelectedTimeInt(time, ensureVisible, true);
- }
-
- @Override
- public void setSelectedTime(long time, boolean ensureVisible) {
- setSelectedTimeInt(time, ensureVisible, false);
- }
-
- /**
- * @since 2.1
- */
- @Override
- public void setSelectionRangeNotify(long beginTime, long endTime) {
- boolean changed = (beginTime != fSelectionBegin || endTime != fSelectionEnd);
- fSelectionBegin = Math.max(fTime0Bound, Math.min(fTime1Bound, beginTime));
- fSelectionEnd = Math.max(fTime0Bound, Math.min(fTime1Bound, endTime));
- fTimeGraphCtrl.redraw();
- fTimeScaleCtrl.redraw();
- if (changed) {
- notifyTimeListeners();
- }
- }
-
- /**
- * @since 2.1
- */
- @Override
- public void setSelectionRange(long beginTime, long endTime) {
- fSelectionBegin = Math.max(fTime0Bound, Math.min(fTime1Bound, beginTime));
- fSelectionEnd = Math.max(fTime0Bound, Math.min(fTime1Bound, endTime));
- fTimeGraphCtrl.redraw();
- fTimeScaleCtrl.redraw();
- }
-
- private void setSelectedTimeInt(long time, boolean ensureVisible, boolean doNotify) {
- long time0 = fTime0;
- long time1 = fTime1;
- if (ensureVisible) {
- long timeSpace = (fTime1 - fTime0) / RECENTERING_MARGIN_FACTOR;
- long timeMid = (fTime1 - fTime0) / 2;
- if (time < fTime0 + timeSpace) {
- long dt = fTime0 - time + timeMid;
- fTime0 -= dt;
- fTime1 -= dt;
- } else if (time > fTime1 - timeSpace) {
- long dt = time - fTime1 + timeMid;
- fTime0 += dt;
- fTime1 += dt;
- }
- if (fTime0 < fTime0Bound) {
- fTime1 = Math.min(fTime1Bound, fTime1 + (fTime0Bound - fTime0));
- fTime0 = fTime0Bound;
- } else if (fTime1 > fTime1Bound) {
- fTime0 = Math.max(fTime0Bound, fTime0 - (fTime1 - fTime1Bound));
- fTime1 = fTime1Bound;
- }
- }
- if (fTime1 - fTime0 < fMinTimeInterval) {
- fTime1 = Math.min(fTime1Bound, fTime0 + fMinTimeInterval);
- }
- adjustHorizontalScrollBar();
- fTimeGraphCtrl.redraw();
- fTimeScaleCtrl.redraw();
-
- boolean notifySelectedTime = (time != fSelectionBegin || time != fSelectionEnd);
- fSelectionBegin = time;
- fSelectionEnd = time;
-
- if (doNotify && ((time0 != fTime0) || (time1 != fTime1))) {
- notifyRangeListeners();
- }
-
- if (doNotify && notifySelectedTime) {
- notifyTimeListeners();
- }
- }
-
- @Override
- public void widgetDefaultSelected(SelectionEvent e) {
- if (fSelectedEntry != getSelection()) {
- fSelectedEntry = getSelection();
- notifySelectionListeners();
- }
- }
-
- @Override
- public void widgetSelected(SelectionEvent e) {
- if (fSelectedEntry != getSelection()) {
- fSelectedEntry = getSelection();
- notifySelectionListeners();
- }
- }
-
- /**
- * Callback for when the next event is selected
- */
- public void selectNextEvent() {
- fTimeGraphCtrl.selectNextEvent();
- adjustVerticalScrollBar();
- }
-
- /**
- * Callback for when the previous event is selected
- */
- public void selectPrevEvent() {
- fTimeGraphCtrl.selectPrevEvent();
- adjustVerticalScrollBar();
- }
-
- /**
- * Callback for when the next item is selected
- */
- public void selectNextItem() {
- fTimeGraphCtrl.selectNextTrace();
- adjustVerticalScrollBar();
- }
-
- /**
- * Callback for when the previous item is selected
- */
- public void selectPrevItem() {
- fTimeGraphCtrl.selectPrevTrace();
- adjustVerticalScrollBar();
- }
-
- /**
- * Callback for the show legend action
- */
- public void showLegend() {
- if (fDataViewer == null || fDataViewer.isDisposed()) {
- return;
- }
-
- TimeGraphLegend.open(fDataViewer.getShell(), fTimeGraphProvider);
- }
-
- /**
- * Callback for the Zoom In action
- */
- public void zoomIn() {
- fTimeGraphCtrl.zoomIn();
- }
-
- /**
- * Callback for the Zoom Out action
- */
- public void zoomOut() {
- fTimeGraphCtrl.zoomOut();
- }
-
- private String getPreferenceString(String string) {
- return getViewTypeStr() + "." + string; //$NON-NLS-1$
- }
-
- /**
- * Add a selection listener
- *
- * @param listener
- * The listener to add
- */
- public void addSelectionListener(ITimeGraphSelectionListener listener) {
- fSelectionListeners.add(listener);
- }
-
- /**
- * Remove a selection listener
- *
- * @param listener
- * The listener to remove
- */
- public void removeSelectionListener(ITimeGraphSelectionListener listener) {
- fSelectionListeners.remove(listener);
- }
-
- private void notifySelectionListeners() {
- synchronized (fListenerNotifierLock) {
- if (fListenerNotifier == null) {
- fListenerNotifier = new ListenerNotifier();
- fListenerNotifier.start();
- }
- fListenerNotifier.selectionChanged();
- }
- }
-
- private void fireSelectionChanged(ITimeGraphEntry selection) {
- TimeGraphSelectionEvent event = new TimeGraphSelectionEvent(this, selection);
-
- for (ITimeGraphSelectionListener listener : fSelectionListeners) {
- listener.selectionChanged(event);
- }
- }
-
- /**
- * Add a time listener
- *
- * @param listener
- * The listener to add
- */
- public void addTimeListener(ITimeGraphTimeListener listener) {
- fTimeListeners.add(listener);
- }
-
- /**
- * Remove a time listener
- *
- * @param listener
- * The listener to remove
- */
- public void removeTimeListener(ITimeGraphTimeListener listener) {
- fTimeListeners.remove(listener);
- }
-
- private void notifyTimeListeners() {
- synchronized (fListenerNotifierLock) {
- if (fListenerNotifier == null) {
- fListenerNotifier = new ListenerNotifier();
- fListenerNotifier.start();
- }
- fListenerNotifier.timeSelected();
- }
- }
-
- private void fireTimeSelected(long startTime, long endTime) {
- TimeGraphTimeEvent event = new TimeGraphTimeEvent(this, startTime, endTime);
-
- for (ITimeGraphTimeListener listener : fTimeListeners) {
- listener.timeSelected(event);
- }
- }
-
- /**
- * Add a range listener
- *
- * @param listener
- * The listener to add
- */
- public void addRangeListener(ITimeGraphRangeListener listener) {
- fRangeListeners.add(listener);
- }
-
- /**
- * Remove a range listener
- *
- * @param listener
- * The listener to remove
- */
- public void removeRangeListener(ITimeGraphRangeListener listener) {
- fRangeListeners.remove(listener);
- }
-
- private void notifyRangeListeners() {
- synchronized (fListenerNotifierLock) {
- if (fListenerNotifier == null) {
- fListenerNotifier = new ListenerNotifier();
- fListenerNotifier.start();
- }
- fListenerNotifier.timeRangeUpdated();
- }
- }
-
- private void fireTimeRangeUpdated(long startTime, long endTime) {
- // Check if the time has actually changed from last notification
- if (startTime != fTime0ExtSynch || endTime != fTime1ExtSynch) {
- // Notify Time Scale Selection Listeners
- TimeGraphRangeUpdateEvent event = new TimeGraphRangeUpdateEvent(this, startTime, endTime);
-
- for (ITimeGraphRangeListener listener : fRangeListeners) {
- listener.timeRangeUpdated(event);
- }
-
- // update external synch timers
- updateExtSynchTimers();
- }
- }
-
- /**
- * Callback to set a selected event in the view
- *
- * @param event
- * The event that was selected
- * @param source
- * The source of this selection event
- */
- public void setSelectedEvent(ITimeEvent event, Object source) {
- if (event == null || source == this) {
- return;
- }
- fSelectedEntry = event.getEntry();
- fTimeGraphCtrl.selectItem(fSelectedEntry, false);
-
- setSelectedTimeInt(event.getTime(), true, true);
- adjustVerticalScrollBar();
- }
-
- /**
- * Set the seeked time of a trace
- *
- * @param trace
- * The trace that was seeked
- * @param time
- * The target time
- * @param source
- * The source of this seek event
- */
- public void setSelectedTraceTime(ITimeGraphEntry trace, long time, Object source) {
- if (trace == null || source == this) {
- return;
- }
- fSelectedEntry = trace;
- fTimeGraphCtrl.selectItem(trace, false);
-
- setSelectedTimeInt(time, true, true);
- }
-
- /**
- * Callback for a trace selection
- *
- * @param trace
- * The trace that was selected
- */
- public void setSelection(ITimeGraphEntry trace) {
- fSelectedEntry = trace;
- fTimeGraphCtrl.selectItem(trace, false);
- adjustVerticalScrollBar();
- }
-
- /**
- * Callback for a time window selection
- *
- * @param time0
- * Start time of the range
- * @param time1
- * End time of the range
- * @param source
- * Source of the event
- */
- public void setSelectVisTimeWindow(long time0, long time1, Object source) {
- if (source == this) {
- return;
- }
-
- setStartFinishTime(time0, time1);
-
- // update notification time values since we are now in synch with the
- // external application
- updateExtSynchTimers();
- }
-
- /**
- * update the cache timers used to identify the need to send a time window
- * update to external registered listeners
- */
- private void updateExtSynchTimers() {
- // last time notification cache
- fTime0ExtSynch = fTime0;
- fTime1ExtSynch = fTime1;
- }
-
- /**
- * @since 2.0
- */
- @Override
- public TimeFormat getTimeFormat() {
- return fTimeFormat;
- }
-
- /**
- * @param tf
- * the {@link TimeFormat} used to display timestamps
- * @since 2.0
- */
- public void setTimeFormat(TimeFormat tf) {
- this.fTimeFormat = tf;
- if (tf == TimeFormat.CYCLES) {
- fTimeDataProvider = new TimeDataProviderCyclesConverter(this, fClockFrequency);
- } else {
- fTimeDataProvider = this;
- }
- fTimeScaleCtrl.setTimeProvider(fTimeDataProvider);
- if (fToolTipHandler != null) {
- fToolTipHandler.setTimeProvider(fTimeDataProvider);
- }
- }
-
- /**
- * Sets the clock frequency. Used when the time format is set to CYCLES.
- *
- * @param clockFrequency
- * the clock frequency in Hz
- * @since 3.2
- */
- public void setClockFrequency(long clockFrequency) {
- fClockFrequency = clockFrequency;
- if (fTimeFormat == TimeFormat.CYCLES) {
- fTimeDataProvider = new TimeDataProviderCyclesConverter(this, fClockFrequency);
- fTimeScaleCtrl.setTimeProvider(fTimeDataProvider);
- if (fToolTipHandler != null) {
- fToolTipHandler.setTimeProvider(fTimeDataProvider);
- }
- }
- }
-
- /**
- * Retrieve the border width
- *
- * @return The width
- */
- public int getBorderWidth() {
- return fBorderWidth;
- }
-
- /**
- * Set the border width
- *
- * @param borderWidth
- * The width
- */
- public void setBorderWidth(int borderWidth) {
- if (borderWidth > -1) {
- this.fBorderWidth = borderWidth;
- GridLayout gl = (GridLayout) fDataViewer.getLayout();
- gl.marginHeight = borderWidth;
- }
- }
-
- /**
- * Retrieve the height of the header
- *
- * @return The height
- */
- public int getHeaderHeight() {
- return fTimeScaleHeight;
- }
-
- /**
- * Set the height of the header
- *
- * @param headerHeight
- * The height to set
- */
- public void setHeaderHeight(int headerHeight) {
- if (headerHeight > -1) {
- this.fTimeScaleHeight = headerHeight;
- fTimeScaleCtrl.setHeight(headerHeight);
- }
- }
-
- /**
- * Retrieve the height of an item row
- *
- * @return The height
- */
- public int getItemHeight() {
- if (fTimeGraphCtrl != null) {
- return fTimeGraphCtrl.getItemHeight();
- }
- return 0;
- }
-
- /**
- * Set the height of an item row
- *
- * @param rowHeight
- * The height to set
- */
- public void setItemHeight(int rowHeight) {
- if (fTimeGraphCtrl != null) {
- fTimeGraphCtrl.setItemHeight(rowHeight);
- }
- }
-
- /**
- * Set the minimum item width
- *
- * @param width
- * The min width
- */
- public void setMinimumItemWidth(int width) {
- if (fTimeGraphCtrl != null) {
- fTimeGraphCtrl.setMinimumItemWidth(width);
- }
- }
-
- /**
- * Set the width for the name column
- *
- * @param width
- * The width
- */
- public void setNameWidthPref(int width) {
- fNameWidthPref = width;
- if (width == 0) {
- fMinNameWidth = 0;
- fNameWidth = 0;
- }
- }
-
- /**
- * Retrieve the configure width for the name column
- *
- * @param width
- * Unused?
- * @return The width
- */
- public int getNameWidthPref(int width) {
- return fNameWidthPref;
- }
-
- /**
- * Returns the primary control associated with this viewer.
- *
- * @return the SWT control which displays this viewer's content
- */
- public Control getControl() {
- return fDataViewer;
- }
-
- /**
- * Returns the time graph control associated with this viewer.
- *
- * @return the time graph control
- * @since 2.0
- */
- public TimeGraphControl getTimeGraphControl() {
- return fTimeGraphCtrl;
- }
-
- /**
- * Returns the time graph scale associated with this viewer.
- *
- * @return the time graph scale
- * @since 2.0
- */
- public TimeGraphScale getTimeGraphScale() {
- return fTimeScaleCtrl;
- }
-
- /**
- * Return the x coordinate corresponding to a time
- *
- * @param time
- * the time
- * @return the x coordinate corresponding to the time
- *
- * @since 2.0
- */
- public int getXForTime(long time) {
- return fTimeGraphCtrl.getXForTime(time);
- }
-
- /**
- * Return the time corresponding to an x coordinate
- *
- * @param x
- * the x coordinate
- * @return the time corresponding to the x coordinate
- *
- * @since 2.0
- */
- public long getTimeAtX(int x) {
- return fTimeGraphCtrl.getTimeAtX(x);
- }
-
- /**
- * Get the selection provider
- *
- * @return the selection provider
- */
- public ISelectionProvider getSelectionProvider() {
- return fTimeGraphCtrl;
- }
-
- /**
- * Wait for the cursor
- *
- * @param waitInd
- * Wait indefinitely?
- */
- public void waitCursor(boolean waitInd) {
- fTimeGraphCtrl.waitCursor(waitInd);
- }
-
- /**
- * Get the horizontal scroll bar object
- *
- * @return The scroll bar
- */
- @Deprecated
- public ScrollBar getHorizontalBar() {
- return fTimeGraphCtrl.getHorizontalBar();
- }
-
- /**
- * Get the vertical scroll bar object
- *
- * @return The scroll bar
- */
- public Slider getVerticalBar() {
- return fVerticalScrollBar;
- }
-
- /**
- * Set the given index as the top one
- *
- * @param index
- * The index that will go to the top
- */
- public void setTopIndex(int index) {
- fTimeGraphCtrl.setTopIndex(index);
- adjustVerticalScrollBar();
- }
-
- /**
- * Retrieve the current top index
- *
- * @return The top index
- */
- public int getTopIndex() {
- return fTimeGraphCtrl.getTopIndex();
- }
-
- /**
- * Sets the auto-expand level to be used when the input of the viewer is set
- * using {@link #setInput(Object)}. The value 0 means that there is no
- * auto-expand; 1 means that top-level elements are expanded, but not their
- * children; 2 means that top-level elements are expanded, and their
- * children, but not grand-children; and so on.
- * <p>
- * The value {@link #ALL_LEVELS} means that all subtrees should be expanded.
- * </p>
- * @param level
- * non-negative level, or <code>ALL_LEVELS</code> to expand all
- * levels of the tree
- * @since 3.1
- */
- public void setAutoExpandLevel(int level) {
- fTimeGraphCtrl.setAutoExpandLevel(level);
- }
-
- /**
- * Returns the auto-expand level.
- *
- * @return non-negative level, or <code>ALL_LEVELS</code> if all levels of
- * the tree are expanded automatically
- * @see #setAutoExpandLevel
- * @since 3.1
- */
- public int getAutoExpandLevel() {
- return fTimeGraphCtrl.getAutoExpandLevel();
- }
-
- /**
- * Set the expanded state of an entry
- *
- * @param entry
- * The entry to expand/collapse
- * @param expanded
- * True for expanded, false for collapsed
- */
- public void setExpandedState(ITimeGraphEntry entry, boolean expanded) {
- fTimeGraphCtrl.setExpandedState(entry, expanded);
- adjustVerticalScrollBar();
- }
-
- /**
- * Collapses all nodes of the viewer's tree, starting with the root.
- *
- * @since 2.0
- */
- public void collapseAll() {
- fTimeGraphCtrl.collapseAll();
- adjustVerticalScrollBar();
- }
-
- /**
- * Expands all nodes of the viewer's tree, starting with the root.
- *
- * @since 2.0
- */
- public void expandAll() {
- fTimeGraphCtrl.expandAll();
- adjustVerticalScrollBar();
- }
-
- /**
- * Get the number of sub-elements when expanded
- *
- * @return The element count
- */
- public int getExpandedElementCount() {
- return fTimeGraphCtrl.getExpandedElementCount();
- }
-
- /**
- * Get the sub-elements
- *
- * @return The array of entries that are below this one
- */
- public ITimeGraphEntry[] getExpandedElements() {
- return fTimeGraphCtrl.getExpandedElements();
- }
-
- /**
- * Add a tree listener
- *
- * @param listener
- * The listener to add
- */
- public void addTreeListener(ITimeGraphTreeListener listener) {
- fTimeGraphCtrl.addTreeListener(listener);
- }
-
- /**
- * Remove a tree listener
- *
- * @param listener
- * The listener to remove
- */
- public void removeTreeListener(ITimeGraphTreeListener listener) {
- fTimeGraphCtrl.removeTreeListener(listener);
- }
-
- /**
- * Get the reset scale action.
- *
- * @return The Action object
- */
- public Action getResetScaleAction() {
- if (fResetScaleAction == null) {
- // resetScale
- fResetScaleAction = new Action() {
- @Override
- public void run() {
- resetStartFinishTime();
- notifyStartFinishTime();
- }
- };
- fResetScaleAction.setText(Messages.TmfTimeGraphViewer_ResetScaleActionNameText);
- fResetScaleAction.setToolTipText(Messages.TmfTimeGraphViewer_ResetScaleActionToolTipText);
- fResetScaleAction.setImageDescriptor(Activator.getDefault().getImageDescripterFromPath(ITmfImageConstants.IMG_UI_HOME_MENU));
- }
- return fResetScaleAction;
- }
-
- /**
- * Get the show legend action.
- *
- * @return The Action object
- */
- public Action getShowLegendAction() {
- if (fShowLegendAction == null) {
- // showLegend
- fShowLegendAction = new Action() {
- @Override
- public void run() {
- showLegend();
- }
- };
- fShowLegendAction.setText(Messages.TmfTimeGraphViewer_LegendActionNameText);
- fShowLegendAction.setToolTipText(Messages.TmfTimeGraphViewer_LegendActionToolTipText);
- fShowLegendAction.setImageDescriptor(Activator.getDefault().getImageDescripterFromPath(ITmfImageConstants.IMG_UI_SHOW_LEGEND));
- }
-
- return fShowLegendAction;
- }
-
- /**
- * Get the the next event action.
- *
- * @return The action object
- */
- public Action getNextEventAction() {
- if (fNextEventAction == null) {
- fNextEventAction = new Action() {
- @Override
- public void run() {
- selectNextEvent();
- }
- };
-
- fNextEventAction.setText(Messages.TmfTimeGraphViewer_NextEventActionNameText);
- fNextEventAction.setToolTipText(Messages.TmfTimeGraphViewer_NextEventActionToolTipText);
- fNextEventAction.setImageDescriptor(Activator.getDefault().getImageDescripterFromPath(ITmfImageConstants.IMG_UI_NEXT_EVENT));
- }
-
- return fNextEventAction;
- }
-
- /**
- * Get the previous event action.
- *
- * @return The Action object
- */
- public Action getPreviousEventAction() {
- if (fPrevEventAction == null) {
- fPrevEventAction = new Action() {
- @Override
- public void run() {
- selectPrevEvent();
- }
- };
-
- fPrevEventAction.setText(Messages.TmfTimeGraphViewer_PreviousEventActionNameText);
- fPrevEventAction.setToolTipText(Messages.TmfTimeGraphViewer_PreviousEventActionToolTipText);
- fPrevEventAction.setImageDescriptor(Activator.getDefault().getImageDescripterFromPath(ITmfImageConstants.IMG_UI_PREV_EVENT));
- }
-
- return fPrevEventAction;
- }
-
- /**
- * Get the next item action.
- *
- * @return The Action object
- */
- public Action getNextItemAction() {
- if (fNextItemAction == null) {
-
- fNextItemAction = new Action() {
- @Override
- public void run() {
- selectNextItem();
- }
- };
- fNextItemAction.setText(Messages.TmfTimeGraphViewer_NextItemActionNameText);
- fNextItemAction.setToolTipText(Messages.TmfTimeGraphViewer_NextItemActionToolTipText);
- fNextItemAction.setImageDescriptor(Activator.getDefault().getImageDescripterFromPath(ITmfImageConstants.IMG_UI_NEXT_ITEM));
- }
- return fNextItemAction;
- }
-
- /**
- * Get the previous item action.
- *
- * @return The Action object
- */
- public Action getPreviousItemAction() {
- if (fPreviousItemAction == null) {
-
- fPreviousItemAction = new Action() {
- @Override
- public void run() {
- selectPrevItem();
- }
- };
- fPreviousItemAction.setText(Messages.TmfTimeGraphViewer_PreviousItemActionNameText);
- fPreviousItemAction.setToolTipText(Messages.TmfTimeGraphViewer_PreviousItemActionToolTipText);
- fPreviousItemAction.setImageDescriptor(Activator.getDefault().getImageDescripterFromPath(ITmfImageConstants.IMG_UI_PREV_ITEM));
- }
- return fPreviousItemAction;
- }
-
- /**
- * Get the zoom in action
- *
- * @return The Action object
- */
- public Action getZoomInAction() {
- if (fZoomInAction == null) {
- fZoomInAction = new Action() {
- @Override
- public void run() {
- zoomIn();
- }
- };
- fZoomInAction.setText(Messages.TmfTimeGraphViewer_ZoomInActionNameText);
- fZoomInAction.setToolTipText(Messages.TmfTimeGraphViewer_ZoomInActionToolTipText);
- fZoomInAction.setImageDescriptor(Activator.getDefault().getImageDescripterFromPath(ITmfImageConstants.IMG_UI_ZOOM_IN_MENU));
- }
- return fZoomInAction;
- }
-
- /**
- * Get the zoom out action
- *
- * @return The Action object
- */
- public Action getZoomOutAction() {
- if (fZoomOutAction == null) {
- fZoomOutAction = new Action() {
- @Override
- public void run() {
- zoomOut();
- }
- };
- fZoomOutAction.setText(Messages.TmfTimeGraphViewer_ZoomOutActionNameText);
- fZoomOutAction.setToolTipText(Messages.TmfTimeGraphViewer_ZoomOutActionToolTipText);
- fZoomOutAction.setImageDescriptor(Activator.getDefault().getImageDescripterFromPath(ITmfImageConstants.IMG_UI_ZOOM_OUT_MENU));
- }
- return fZoomOutAction;
- }
-
- /**
- * Get the hide arrows action
- *
- * @param dialogSettings
- * The dialog settings section where the state should be stored,
- * or null
- *
- * @return The Action object
- *
- * @since 2.1
- */
- public Action getHideArrowsAction(final IDialogSettings dialogSettings) {
- if (fHideArrowsAction == null) {
- fHideArrowsAction = new Action(Messages.TmfTimeGraphViewer_HideArrowsActionNameText, IAction.AS_CHECK_BOX) {
- @Override
- public void run() {
- boolean hideArrows = fHideArrowsAction.isChecked();
- fTimeGraphCtrl.hideArrows(hideArrows);
- refresh();
- if (dialogSettings != null) {
- dialogSettings.put(HIDE_ARROWS_KEY, hideArrows);
- }
- if (fFollowArrowFwdAction != null) {
- fFollowArrowFwdAction.setEnabled(!hideArrows);
- }
- if (fFollowArrowBwdAction != null) {
- fFollowArrowBwdAction.setEnabled(!hideArrows);
- }
- }
- };
- fHideArrowsAction.setToolTipText(Messages.TmfTimeGraphViewer_HideArrowsActionToolTipText);
- fHideArrowsAction.setImageDescriptor(Activator.getDefault().getImageDescripterFromPath(ITmfImageConstants.IMG_UI_HIDE_ARROWS));
- if (dialogSettings != null) {
- boolean hideArrows = dialogSettings.getBoolean(HIDE_ARROWS_KEY);
- fTimeGraphCtrl.hideArrows(hideArrows);
- fHideArrowsAction.setChecked(hideArrows);
- if (fFollowArrowFwdAction != null) {
- fFollowArrowFwdAction.setEnabled(!hideArrows);
- }
- if (fFollowArrowBwdAction != null) {
- fFollowArrowBwdAction.setEnabled(!hideArrows);
- }
- }
- }
- return fHideArrowsAction;
- }
-
- /**
- * Get the follow arrow forward action.
- *
- * @return The Action object
- *
- * @since 2.1
- */
- public Action getFollowArrowFwdAction() {
- if (fFollowArrowFwdAction == null) {
- fFollowArrowFwdAction = new Action() {
- @Override
- public void run() {
- fTimeGraphCtrl.followArrowFwd();
- adjustVerticalScrollBar();
- }
- };
- fFollowArrowFwdAction.setText(Messages.TmfTimeGraphViewer_FollowArrowForwardActionNameText);
- fFollowArrowFwdAction.setToolTipText(Messages.TmfTimeGraphViewer_FollowArrowForwardActionToolTipText);
- fFollowArrowFwdAction.setImageDescriptor(Activator.getDefault().getImageDescripterFromPath(ITmfImageConstants.IMG_UI_FOLLOW_ARROW_FORWARD));
- if (fHideArrowsAction != null) {
- fFollowArrowFwdAction.setEnabled(!fHideArrowsAction.isChecked());
- }
- }
- return fFollowArrowFwdAction;
- }
-
- /**
- * Get the follow arrow backward action.
- *
- * @return The Action object
- *
- * @since 2.1
- */
- public Action getFollowArrowBwdAction() {
- if (fFollowArrowBwdAction == null) {
- fFollowArrowBwdAction = new Action() {
- @Override
- public void run() {
- fTimeGraphCtrl.followArrowBwd();
- adjustVerticalScrollBar();
- }
- };
- fFollowArrowBwdAction.setText(Messages.TmfTimeGraphViewer_FollowArrowBackwardActionNameText);
- fFollowArrowBwdAction.setToolTipText(Messages.TmfTimeGraphViewer_FollowArrowBackwardActionToolTipText);
- fFollowArrowBwdAction.setImageDescriptor(Activator.getDefault().getImageDescripterFromPath(ITmfImageConstants.IMG_UI_FOLLOW_ARROW_BACKWARD));
- if (fHideArrowsAction != null) {
- fFollowArrowBwdAction.setEnabled(!fHideArrowsAction.isChecked());
- }
- }
- return fFollowArrowBwdAction;
- }
-
- private void adjustHorizontalScrollBar() {
- long time0 = getTime0();
- long time1 = getTime1();
- long timeMin = getMinTime();
- long timeMax = getMaxTime();
- long delta = timeMax - timeMin;
- int timePos = 0;
- int thumb = H_SCROLLBAR_MAX;
- if (delta != 0) {
- // Thumb size (page size)
- thumb = Math.max(1, (int) (H_SCROLLBAR_MAX * ((double) (time1 - time0) / delta)));
- // At the beginning of visible window
- timePos = (int) (H_SCROLLBAR_MAX * ((double) (time0 - timeMin) / delta));
- }
- fHorizontalScrollBar.setValues(timePos, 0, H_SCROLLBAR_MAX, thumb, Math.max(1, thumb / 2), Math.max(2, thumb));
- }
-
- private void adjustVerticalScrollBar() {
- int topIndex = fTimeGraphCtrl.getTopIndex();
- int countPerPage = fTimeGraphCtrl.countPerPage();
- int expandedElementCount = fTimeGraphCtrl.getExpandedElementCount();
- if (topIndex + countPerPage > expandedElementCount) {
- fTimeGraphCtrl.setTopIndex(Math.max(0, expandedElementCount - countPerPage));
- }
-
- int selection = fTimeGraphCtrl.getTopIndex();
- int min = 0;
- int max = Math.max(1, expandedElementCount - 1);
- int thumb = Math.min(max, Math.max(1, countPerPage - 1));
- int increment = 1;
- int pageIncrement = Math.max(1, countPerPage);
- fVerticalScrollBar.setValues(selection, min, max, thumb, increment, pageIncrement);
- }
-
- /**
- * @param listener
- * a {@link MenuDetectListener}
- * @see org.eclipse.linuxtools.tmf.ui.widgets.timegraph.widgets.TimeGraphControl#addTimeGraphEntryMenuListener(org.eclipse.swt.events.MenuDetectListener)
- * @since 1.2
- */
- public void addTimeGraphEntryMenuListener(MenuDetectListener listener) {
- fTimeGraphCtrl.addTimeGraphEntryMenuListener(listener);
- }
-
- /**
- * @param listener
- * a {@link MenuDetectListener}
- * @see org.eclipse.linuxtools.tmf.ui.widgets.timegraph.widgets.TimeGraphControl#removeTimeGraphEntryMenuListener(org.eclipse.swt.events.MenuDetectListener)
- * @since 1.2
- */
- public void removeTimeGraphEntryMenuListener(MenuDetectListener listener) {
- fTimeGraphCtrl.removeTimeGraphEntryMenuListener(listener);
- }
-
- /**
- * @param listener
- * a {@link MenuDetectListener}
- * @see org.eclipse.linuxtools.tmf.ui.widgets.timegraph.widgets.TimeGraphControl#addTimeEventMenuListener(org.eclipse.swt.events.MenuDetectListener)
- * @since 1.2
- */
- public void addTimeEventMenuListener(MenuDetectListener listener) {
- fTimeGraphCtrl.addTimeEventMenuListener(listener);
- }
-
- /**
- * @param listener
- * a {@link MenuDetectListener}
- * @see org.eclipse.linuxtools.tmf.ui.widgets.timegraph.widgets.TimeGraphControl#removeTimeEventMenuListener(org.eclipse.swt.events.MenuDetectListener)
- * @since 1.2
- */
- public void removeTimeEventMenuListener(MenuDetectListener listener) {
- fTimeGraphCtrl.removeTimeEventMenuListener(listener);
- }
-
- /**
- * @param filter
- * The filter object to be attached to the view
- * @since 2.0
- */
- public void addFilter(ViewerFilter filter) {
- fTimeGraphCtrl.addFilter(filter);
- refresh();
- }
-
- /**
- * @param filter
- * The filter object to be attached to the view
- * @since 2.0
- */
- public void removeFilter(ViewerFilter filter) {
- fTimeGraphCtrl.removeFilter(filter);
- refresh();
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/widgets/timegraph/dialogs/FilteredCheckboxTree.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/widgets/timegraph/dialogs/FilteredCheckboxTree.java
deleted file mode 100644
index 415c46603c..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/widgets/timegraph/dialogs/FilteredCheckboxTree.java
+++ /dev/null
@@ -1,193 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 Inria
- *
- * 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:
- * Generoso Pagano, Inria - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.widgets.timegraph.dialogs;
-
-import java.util.HashSet;
-import java.util.Set;
-
-import org.eclipse.core.runtime.jobs.IJobChangeEvent;
-import org.eclipse.core.runtime.jobs.JobChangeAdapter;
-import org.eclipse.jface.viewers.CheckStateChangedEvent;
-import org.eclipse.jface.viewers.CheckboxTreeViewer;
-import org.eclipse.jface.viewers.ICheckStateListener;
-import org.eclipse.jface.viewers.ICheckable;
-import org.eclipse.jface.viewers.ITreeContentProvider;
-import org.eclipse.jface.viewers.TreeViewer;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.ui.dialogs.FilteredTree;
-import org.eclipse.ui.dialogs.PatternFilter;
-import org.eclipse.ui.progress.WorkbenchJob;
-
-/**
- * A <code>FilteredTree</code> wrapping a <code>CheckboxTreeViewer</code>.
- *
- * This tree keeps the check state of the nodes in sync, regardless of the fact
- * that a node is filtered or not. This way, even if an node is filtered (not
- * visible), the caller can get and set the check state.
- *
- * Note that all the "uncheck" operations act only on what is not filtered and
- * what is child of something not filtered (even if such a child is filtered).
- * On the contrary, all the "check" operations act only on what is not filtered.
- *
- * @author "Generoso Pagano <generoso.pagano@inria.fr>"
- * @since 3.2
- */
-public class FilteredCheckboxTree extends FilteredTree implements ICheckable {
-
- /**
- * Set containing only the tree items that are checked
- */
- private Set<Object> fObjects = new HashSet<>();
-
- /**
- * Handle to the tree viewer
- */
- private CheckboxTreeViewer fCheckboxTreeViewer;
-
- /**
- * Create a new instance of the receiver.
- *
- * @param parent
- * the parent <code>Composite</code>
- * @param treeStyle
- * the style bits for the <code>Tree</code>
- * @param filter
- * the filter to be used
- * @param useNewLook
- * <code>true</code> if the new <code>FilteredTree</code> look
- * should be used
- */
- public FilteredCheckboxTree(Composite parent, int treeStyle, PatternFilter filter,
- boolean useNewLook) {
- super(parent, treeStyle, filter, useNewLook);
- }
-
- @Override
- protected TreeViewer doCreateTreeViewer(Composite parentComposite, int style) {
- fCheckboxTreeViewer = new CheckboxTreeViewer(parentComposite, style);
- fCheckboxTreeViewer.addCheckStateListener(new ICheckStateListener() {
- @Override
- public void checkStateChanged(CheckStateChangedEvent event) {
- if (event.getChecked()) {
- fObjects.add(event.getElement());
- } else {
- fObjects.remove(event.getElement());
- }
- }
- });
- return fCheckboxTreeViewer;
- }
-
- @Override
- protected WorkbenchJob doCreateRefreshJob() {
- WorkbenchJob job = super.doCreateRefreshJob();
- job.addJobChangeListener(new JobChangeAdapter() {
- @Override
- public void done(IJobChangeEvent event) {
- fCheckboxTreeViewer.expandAll();
- fCheckboxTreeViewer.setCheckedElements(getCheckedElements());
- }
- });
- return job;
- }
-
- @Override
- public boolean getChecked(Object element) {
- return fObjects.contains(element);
- }
-
- @Override
- public boolean setChecked(Object element, boolean state) {
- boolean checkable = fCheckboxTreeViewer.setChecked(element, state);
- if (!state) {
- fObjects.remove(element);
- } else if (checkable) {
- fObjects.add(element);
- }
- return checkable;
- }
-
- @Override
- public void addCheckStateListener(ICheckStateListener listener) {
- fCheckboxTreeViewer.addCheckStateListener(listener);
- }
-
- @Override
- public void removeCheckStateListener(ICheckStateListener listener) {
- fCheckboxTreeViewer.addCheckStateListener(listener);
- }
-
- /**
- * Returns all the checked elements of this tree, either visible or not.
- *
- * @return an array containing all the checked elements
- */
- public Object[] getCheckedElements() {
- return fObjects.toArray();
- }
-
- /**
- * Checks all the passed elements and unchecks all the other.
- *
- * @param elements
- * the elements to check
- */
- public void setCheckedElements(Object[] elements) {
- fObjects = new HashSet<>();
- for (Object element : elements) {
- fObjects.add(element);
- }
- fCheckboxTreeViewer.setCheckedElements(elements);
- }
-
- /**
- * Sets the check state for the given element and its children in this
- * viewer. The unchecked state is always set, while the checked state is set
- * only on visible elements.
- *
- * @param element
- * the element
- * @param state
- * the check state to set
- * @return <code>true</code> if the check state could be set, and
- * <code>false</code> otherwise
- */
- public boolean setSubtreeChecked(Object element, boolean state) {
- checkSubtree(element, state);
- return fCheckboxTreeViewer.setSubtreeChecked(element, state);
- }
-
- /**
- * Recursively sets the check state on an element and its children, using
- * the politic specified in {@link #setSubtreeChecked(Object, boolean)}
- * documentation.
- *
- * @param element
- * the element
- * @param state
- * the check state to set
- */
- private void checkSubtree(Object element, boolean state) {
- if (!state || (fCheckboxTreeViewer.testFindItem(element) != null)) {
- if (state) {
- fObjects.add(element);
- } else {
- fObjects.remove(element);
- }
- for (Object o : ((ITreeContentProvider) fCheckboxTreeViewer.getContentProvider()).getChildren(element)) {
- checkSubtree(o, state);
- }
- }
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/widgets/timegraph/dialogs/TimeGraphFilterDialog.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/widgets/timegraph/dialogs/TimeGraphFilterDialog.java
deleted file mode 100644
index 76465cd071..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/widgets/timegraph/dialogs/TimeGraphFilterDialog.java
+++ /dev/null
@@ -1,569 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2013 IBM Corporation and others.
- * 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:
- * IBM Corporation - initial API and implementation
- * Sebastian Davids <sdavids@gmx.de> - Fix for bug 19346 - Dialog font should be
- * activated and used by other components.
- * Lubomir Marinov <lubomir.marinov@gmail.com> - Fix for bug 182122 -[Dialogs]
- * CheckedTreeSelectionDialog#createSelectionButtons(Composite) fails to
- * align the selection buttons to the right
- * François Rajotte - Support for multiple columns + selection control
- * Patrick Tasse - Fix Sonar warnings
- * Generoso Pagano - Add tree filter
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.widgets.timegraph.dialogs;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jface.viewers.CheckStateChangedEvent;
-import org.eclipse.jface.viewers.CheckboxTreeViewer;
-import org.eclipse.jface.viewers.IBaseLabelProvider;
-import org.eclipse.jface.viewers.ICheckStateListener;
-import org.eclipse.jface.viewers.ITreeContentProvider;
-import org.eclipse.jface.viewers.TreeSelection;
-import org.eclipse.jface.viewers.ViewerComparator;
-import org.eclipse.jface.viewers.ViewerFilter;
-import org.eclipse.linuxtools.internal.tmf.ui.Messages;
-import org.eclipse.linuxtools.tmf.ui.widgets.timegraph.model.ITimeGraphEntry;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.BusyIndicator;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Tree;
-import org.eclipse.swt.widgets.TreeColumn;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.dialogs.ISelectionStatusValidator;
-import org.eclipse.ui.dialogs.PatternFilter;
-import org.eclipse.ui.dialogs.SelectionStatusDialog;
-
-/**
- * Filter dialog for the time graphs This class is derived from the
- * CheckedTreeSelectionDialog It was necessary to develop this similar dialog to
- * allow multiple columns
- *
- * @version 1.0
- * @since 2.0
- * @author François Rajotte
- */
-public class TimeGraphFilterDialog extends SelectionStatusDialog {
- private static final int BUTTON_CHECK_SELECTED_ID = IDialogConstants.CLIENT_ID;
- private static final int BUTTON_UNCHECK_SELECTED_ID = IDialogConstants.CLIENT_ID + 1;
- private static final int BUTTON_CHECK_SUBTREE_ID = IDialogConstants.CLIENT_ID + 2;
- private static final int BUTTON_UNCHECK_SUBTREE_ID = IDialogConstants.CLIENT_ID + 3;
-
- private static final int DEFAULT_WIDTH = 60;
- private static final int DEFAULT_HEIGHT = 18;
-
- private FilteredCheckboxTree fTree;
-
- private IBaseLabelProvider fLabelProvider;
-
- private ITreeContentProvider fContentProvider;
-
- private String[] fColumnNames;
-
- private ISelectionStatusValidator fValidator = null;
-
- private ViewerComparator fComparator;
-
- private String fEmptyListMessage = ""; //$NON-NLS-1$
-
- private IStatus fCurrStatus = new Status(IStatus.OK, PlatformUI.PLUGIN_ID,
- 0, "", null); //$NON-NLS-1$
-
- private List<ViewerFilter> fFilters;
-
- private Object fInput;
-
- private boolean fIsEmpty;
-
- private int fWidth = DEFAULT_WIDTH;
-
- private int fHeight = DEFAULT_HEIGHT;
-
- private Object[] fExpandedElements;
-
- /**
- * Constructs an instance of <code>ElementTreeSelectionDialog</code>.
- *
- * @param parent
- * The shell to parent from.
- */
- public TimeGraphFilterDialog(Shell parent) {
- super(parent);
- setResult(new ArrayList<>(0));
- setStatusLineAboveButtons(true);
- setHelpAvailable(false);
- fExpandedElements = null;
- }
-
- /**
- * Sets the initial selection. Convenience method.
- *
- * @param selection
- * the initial selection.
- */
- public void setInitialSelection(Object selection) {
- setInitialSelections(new Object[] { selection });
- }
-
- /**
- * Sets the message to be displayed if the list is empty.
- *
- * @param message
- * the message to be displayed.
- */
- public void setEmptyListMessage(String message) {
- fEmptyListMessage = message;
- }
-
- /**
- * Sets the comparator used by the tree viewer.
- *
- * @param comparator
- * The comparator
- */
- public void setComparator(ViewerComparator comparator) {
- fComparator = comparator;
- }
-
- /**
- * Adds a filter to the tree viewer.
- *
- * @param filter
- * a filter.
- */
- public void addFilter(ViewerFilter filter) {
- if (fFilters == null) {
- fFilters = new ArrayList<>();
- }
- fFilters.add(filter);
- }
-
- /**
- * Sets an optional validator to check if the selection is valid. The
- * validator is invoked whenever the selection changes.
- *
- * @param validator
- * the validator to validate the selection.
- */
- public void setValidator(ISelectionStatusValidator validator) {
- fValidator = validator;
- }
-
- /**
- * Sets the tree input.
- *
- * @param input
- * the tree input.
- */
- public void setInput(Object input) {
- fInput = input;
- }
-
- /**
- * Expands elements in the tree.
- *
- * @param elements
- * The elements that will be expanded.
- */
- public void setExpandedElements(Object[] elements) {
- if (elements != null) {
- fExpandedElements = Arrays.copyOf(elements, elements.length);
- } else {
- fExpandedElements = null;
- }
- }
-
- /**
- * Sets the size of the tree in unit of characters.
- *
- * @param width
- * the width of the tree.
- * @param height
- * the height of the tree.
- */
- public void setSize(int width, int height) {
- fWidth = width;
- fHeight = height;
- }
-
- /**
- * @param contentProvider
- * The content provider for the table
- */
- public void setContentProvider(ITreeContentProvider contentProvider) {
- fContentProvider = contentProvider;
- }
-
- /**
- * @param labelProvider
- * The label provider for the table
- */
- public void setLabelProvider(IBaseLabelProvider labelProvider) {
- fLabelProvider = labelProvider;
- }
-
- /**
- * @param columnNames
- * An array of column names to display
- */
- public void setColumnNames(String[] columnNames) {
- if (columnNames != null) {
- fColumnNames = Arrays.copyOf(columnNames, columnNames.length);
- } else {
- fColumnNames = null;
- }
- }
-
- /**
- * Validate the receiver and update the status with the result.
- *
- */
- protected void updateOKStatus() {
- if (!fIsEmpty) {
- if (fValidator != null) {
- fCurrStatus = fValidator.validate(fTree.getCheckedElements());
- updateStatus(fCurrStatus);
- } else if (!fCurrStatus.isOK()) {
- fCurrStatus = new Status(IStatus.OK, PlatformUI.PLUGIN_ID,
- IStatus.OK, "", //$NON-NLS-1$
- null);
- }
- } else {
- fCurrStatus = new Status(IStatus.ERROR, PlatformUI.PLUGIN_ID,
- IStatus.OK, fEmptyListMessage, null);
- }
- updateStatus(fCurrStatus);
- }
-
- @Override
- public int open() {
- fIsEmpty = evaluateIfTreeEmpty(fInput);
- super.open();
- return getReturnCode();
- }
-
- @Override
- protected void cancelPressed() {
- setResult(null);
- super.cancelPressed();
- }
-
- @Override
- protected void computeResult() {
- setResult(Arrays.asList(fTree.getCheckedElements()));
- }
-
- @Override
- public void create() {
- BusyIndicator.showWhile(null, new Runnable() {
- @Override
- public void run() {
- TimeGraphFilterDialog.super.create();
- fTree.setCheckedElements(getInitialElementSelections()
- .toArray());
- if (fExpandedElements != null) {
- fTree.getViewer().setExpandedElements(fExpandedElements);
- }
- updateOKStatus();
- }
- });
- }
-
- @Override
- protected Control createDialogArea(Composite parent) {
- Composite composite = (Composite) super.createDialogArea(parent);
- Label messageLabel = createMessageArea(composite);
- CheckboxTreeViewer treeViewer = createTreeViewer(composite);
- Control buttonComposite = createSelectionButtons(composite);
- GridData data = new GridData(GridData.FILL_BOTH);
- data.widthHint = convertWidthInCharsToPixels(fWidth);
- data.heightHint = convertHeightInCharsToPixels(fHeight);
- Tree treeWidget = treeViewer.getTree();
- treeWidget.setLayoutData(data);
- treeWidget.setFont(parent.getFont());
- if (fIsEmpty) {
- messageLabel.setEnabled(false);
- treeWidget.setEnabled(false);
- buttonComposite.setEnabled(false);
- }
- return composite;
- }
-
- /**
- * Creates the tree viewer.
- *
- * @param parent
- * the parent composite
- * @return the tree viewer
- */
- protected CheckboxTreeViewer createTreeViewer(Composite parent) {
- PatternFilter filter = new TreePatternFilter();
- filter.setIncludeLeadingWildcard(true);
- fTree = new FilteredCheckboxTree(parent, SWT.BORDER | SWT.MULTI, filter, true);
-
- Tree tree = fTree.getViewer().getTree();
- tree.setHeaderVisible(true);
- for (String columnName : fColumnNames) {
- TreeColumn column = new TreeColumn(tree, SWT.LEFT);
- column.setText(columnName);
- column.pack();
- }
-
- fTree.getViewer().setContentProvider(fContentProvider);
- fTree.getViewer().setLabelProvider(fLabelProvider);
- fTree.addCheckStateListener(new CheckStateListener());
- fTree.getViewer().setComparator(fComparator);
- if (fFilters != null) {
- for (int i = 0; i != fFilters.size(); i++) {
- fTree.getViewer().addFilter(fFilters.get(i));
- }
- }
- fTree.getViewer().setInput(fInput);
-
- // pack the columns again for a nice view...
- for (TreeColumn column : tree.getColumns()) {
- column.pack();
- }
- return (CheckboxTreeViewer) fTree.getViewer();
- }
-
- /**
- * Returns the tree viewer.
- *
- * @return the tree viewer
- */
- protected CheckboxTreeViewer getTreeViewer() {
- return (CheckboxTreeViewer) fTree.getViewer();
- }
-
- /**
- * Adds the selection and deselection buttons to the dialog.
- *
- * @param composite
- * the parent composite
- * @return Composite the composite the buttons were created in.
- */
- protected Composite createSelectionButtons(Composite composite) {
- Composite buttonComposite = new Composite(composite, SWT.RIGHT);
- GridLayout layout = new GridLayout();
- layout.marginWidth = 0;
- layout.horizontalSpacing = convertHorizontalDLUsToPixels(IDialogConstants.HORIZONTAL_SPACING);
- buttonComposite.setLayout(layout);
- buttonComposite.setFont(composite.getFont());
- GridData data = new GridData(GridData.HORIZONTAL_ALIGN_END
- | GridData.GRAB_HORIZONTAL);
- data.grabExcessHorizontalSpace = true;
- buttonComposite.setLayoutData(data);
-
- /* Create the buttons in the good order to place them as we want */
- Button checkSelectedButton = createButton(buttonComposite,
- BUTTON_CHECK_SELECTED_ID, Messages.TmfTimeFilterDialog_CHECK_SELECTED,
- false);
- Button checkSubtreeButton = createButton(buttonComposite,
- BUTTON_CHECK_SUBTREE_ID, Messages.TmfTimeFilterDialog_CHECK_SUBTREE,
- false);
- Button checkAllButton = createButton(buttonComposite,
- IDialogConstants.SELECT_ALL_ID, Messages.TmfTimeFilterDialog_CHECK_ALL,
- false);
-
- Button uncheckSelectedButton = createButton(buttonComposite,
- BUTTON_UNCHECK_SELECTED_ID, Messages.TmfTimeFilterDialog_UNCHECK_SELECTED,
- false);
- Button uncheckSubtreeButton = createButton(buttonComposite,
- BUTTON_UNCHECK_SUBTREE_ID, Messages.TmfTimeFilterDialog_UNCHECK_SUBTREE,
- false);
- Button uncheckAllButton = createButton(buttonComposite,
- IDialogConstants.DESELECT_ALL_ID, Messages.TmfTimeFilterDialog_UNCHECK_ALL,
- false);
-
- /*
- * Apply the layout again after creating the buttons to override
- * createButton messing with the columns
- */
- layout.numColumns = 3;
- buttonComposite.setLayout(layout);
-
- /* Add a listener to each button */
- checkSelectedButton.addSelectionListener(new SelectionAdapter() {
- @Override
- public void widgetSelected(SelectionEvent e) {
- TreeSelection selection = (TreeSelection) fTree.getViewer().getSelection();
-
- for (Object element : selection.toArray()) {
- checkElement(element);
- }
-
- updateOKStatus();
- }
- });
-
- checkSubtreeButton.addSelectionListener(new SelectionAdapter() {
- @Override
- public void widgetSelected(SelectionEvent e) {
- TreeSelection selection = (TreeSelection) fTree.getViewer().getSelection();
-
- for (Object element : selection.toArray()) {
- checkElementAndSubtree(element);
- }
- }
- });
-
- checkAllButton.addSelectionListener(new SelectionAdapter() {
- @Override
- public void widgetSelected(SelectionEvent e) {
- Object[] viewerElements = fContentProvider.getElements(fInput);
-
- for (int i = 0; i < viewerElements.length; i++) {
- fTree.setSubtreeChecked(viewerElements[i], true);
- }
-
- updateOKStatus();
- }
- });
-
- uncheckSelectedButton.addSelectionListener(new SelectionAdapter() {
- @Override
- public void widgetSelected(SelectionEvent e) {
- TreeSelection selection = (TreeSelection) fTree.getViewer().getSelection();
-
- for (Object element : selection.toArray()) {
- uncheckElement(element);
- }
-
- updateOKStatus();
- }
- });
-
- uncheckSubtreeButton.addSelectionListener(new SelectionAdapter() {
- @Override
- public void widgetSelected(SelectionEvent e) {
- TreeSelection selection = (TreeSelection) fTree.getViewer().getSelection();
-
- for (Object element : selection.toArray()) {
- uncheckElement(element);
- }
-
- updateOKStatus();
- }
- });
-
- uncheckAllButton.addSelectionListener(new SelectionAdapter() {
- @Override
- public void widgetSelected(SelectionEvent e) {
- Object[] viewerElements = fContentProvider.getElements(fInput);
- for (Object element : viewerElements) {
- if (fTree.getViewer().testFindItem(element) != null) {
- // uncheck only visible roots and their children
- uncheckElement(element);
- }
- }
- updateOKStatus();
- }
- });
-
- return buttonComposite;
- }
-
- /**
- * Check an element and all its parents.
- *
- * @param element
- * The element to check.
- */
- private void checkElement(Object element) {
- fTree.setChecked(element, true);
-
- Object parent = fContentProvider.getParent(element);
-
- if (parent != null && !fTree.getChecked(parent)) {
- checkElement(parent);
- }
- }
-
- /**
- * Check an element, all its parents and all its children.
- *
- * @param element
- * The element to check.
- */
- private void checkElementAndSubtree(Object element) {
- checkElement(element);
-
- for (Object child : fContentProvider.getChildren(element)) {
- checkElementAndSubtree(child);
- }
- }
-
- /**
- * Uncheck an element and all its children.
- *
- * @param element
- * The element to uncheck.
- */
- private void uncheckElement(Object element) {
- fTree.setChecked(element, false);
-
- for (Object child : fContentProvider.getChildren(element)) {
- uncheckElement(child);
- }
- }
-
- private boolean evaluateIfTreeEmpty(Object input) {
- Object[] elements = fContentProvider.getElements(input);
- if (elements.length > 0 && fFilters != null) {
- for (int i = 0; i < fFilters.size(); i++) {
- ViewerFilter curr = fFilters.get(i);
- elements = curr.filter(fTree.getViewer(), input, elements);
- }
- }
- return elements.length == 0;
- }
-
- /**
- * Private classes
- */
-
- private class CheckStateListener implements ICheckStateListener {
-
- CheckStateListener() {
- }
-
- @Override
- public void checkStateChanged(CheckStateChangedEvent event) {
- try {
- ITimeGraphEntry entry = (ITimeGraphEntry) event.getElement();
- boolean checked = event.getChecked();
- if (checked) {
- checkElement(entry);
- } else {
- uncheckElement(entry);
- }
- } catch (ClassCastException e) {
- return;
- } finally {
- updateOKStatus();
- }
- }
-
- }
-} \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/widgets/timegraph/dialogs/TimeGraphLegend.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/widgets/timegraph/dialogs/TimeGraphLegend.java
deleted file mode 100644
index 5e2b084e85..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/widgets/timegraph/dialogs/TimeGraphLegend.java
+++ /dev/null
@@ -1,191 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009, 2013 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:
- * Alvaro Sanchez-Leon - Initial API and implementation
- * Patrick Tasse - Refactoring
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.widgets.timegraph.dialogs;
-
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jface.dialogs.TitleAreaDialog;
-import org.eclipse.jface.resource.JFaceResources;
-import org.eclipse.jface.resource.LocalResourceManager;
-import org.eclipse.linuxtools.internal.tmf.ui.Messages;
-import org.eclipse.linuxtools.tmf.ui.widgets.timegraph.ITimeGraphPresentationProvider;
-import org.eclipse.linuxtools.tmf.ui.widgets.timegraph.StateItem;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.ScrolledComposite;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.graphics.GC;
-import org.eclipse.swt.graphics.RGB;
-import org.eclipse.swt.graphics.Rectangle;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Canvas;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.Group;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Listener;
-import org.eclipse.swt.widgets.Shell;
-
-/**
- * Legend for the colors used in the time graph view
- *
- * @version 1.0
- * @author Alvaro Sanchez-Leon
- * @author Patrick Tasse
- */
-public class TimeGraphLegend extends TitleAreaDialog {
-
- private final ITimeGraphPresentationProvider provider;
- private final LocalResourceManager fResourceManager = new LocalResourceManager(JFaceResources.getResources());
-
- /**
- * Open the time graph legend window
- *
- * @param parent
- * The parent shell
- * @param provider
- * The presentation provider
- */
- public static void open(Shell parent, ITimeGraphPresentationProvider provider) {
- (new TimeGraphLegend(parent, provider)).open();
- }
-
- /**
- * Standard constructor
- *
- * @param parent
- * The parent shell
- * @param provider
- * The presentation provider
- */
- public TimeGraphLegend(Shell parent, ITimeGraphPresentationProvider provider) {
- super(parent);
- this.provider = provider;
- this.setShellStyle(getShellStyle() | SWT.RESIZE);
- }
-
- @Override
- protected Control createDialogArea(Composite parent) {
- Composite dlgArea = (Composite) super.createDialogArea(parent);
- Composite composite = new Composite(dlgArea, SWT.NONE);
-
- GridLayout layout = new GridLayout();
- composite.setLayout(layout);
- GridData gd = new GridData(SWT.FILL, SWT.FILL, true, true);
- composite.setLayoutData(gd);
-
- createStatesGroup(composite);
-
- setTitle(Messages.TmfTimeLegend_LEGEND);
- setDialogHelpAvailable(false);
- setHelpAvailable(false);
-
- return composite;
- }
-
- private void createStatesGroup(Composite composite) {
- ScrolledComposite sc = new ScrolledComposite(composite, SWT.V_SCROLL|SWT.H_SCROLL);
- sc.setExpandHorizontal(true);
- sc.setExpandVertical(true);
- Group gs = new Group(sc, SWT.H_SCROLL);
- sc.setContent(gs);
- GridData gd = new GridData(SWT.FILL, SWT.FILL, true, true);
- sc.setLayoutData(gd);
-
- String stateTypeName = provider.getStateTypeName();
- StringBuffer buffer = new StringBuffer();
- if (!stateTypeName.isEmpty()) {
- buffer.append(stateTypeName);
- buffer.append(" "); //$NON-NLS-1$
- }
- buffer.append(Messages.TmfTimeLegend_StateTypeName);
- gs.setText(buffer.toString());
-
- GridLayout layout = new GridLayout();
- layout.numColumns = 2;
- layout.marginWidth = 20;
- layout.marginBottom = 10;
- gs.setLayout(layout);
-
- // Go through all the defined pairs of state color and state name and display them.
- StateItem[] stateItems = provider.getStateTable();
- for (int i = 0; i < stateItems.length; i++) {
- //Get the color related to the index
- RGB rgb = stateItems[i].getStateColor();
-
- //Get the given name, provided by the interface to the application
- String stateName = stateItems[i].getStateString();
-
- // draw color with name
- Bar bar = new Bar(gs, rgb);
- gd = new GridData();
- gd.widthHint = 40;
- gd.heightHint = 20;
- gd.verticalIndent = 8;
- bar.setLayoutData(gd);
- Label name = new Label(gs, SWT.NONE);
- name.setText(stateName);
- gd = new GridData();
- gd.horizontalIndent = 10;
- gd.verticalIndent = 8;
- name.setLayoutData(gd);
- }
- sc.setMinSize(gs.computeSize(SWT.DEFAULT, SWT.DEFAULT));
- }
-
- @Override
- protected void configureShell(Shell shell) {
- super.configureShell(shell);
- shell.setText(Messages.TmfTimeLegend_TRACE_STATES_TITLE);
- }
-
- @Override
- protected void createButtonsForButtonBar(Composite parent) {
- createButton(parent, IDialogConstants.OK_ID, IDialogConstants.OK_LABEL,
- true);
- }
-
- class Bar extends Canvas {
- private final Color color;
-
- public Bar(Composite parent, RGB rgb) {
- super(parent, SWT.NONE);
-
- color = fResourceManager.createColor(rgb);
- addListener(SWT.Paint, new Listener() {
- @Override
- public void handleEvent(Event event) {
- draw(event.gc);
- }
- });
- }
-
- private void draw(GC gc) {
- Rectangle r = getClientArea();
- gc.setBackground(color);
- gc.fillRectangle(r);
- gc.setForeground(Display.getDefault().getSystemColor(SWT.COLOR_BLACK));
- gc.drawRectangle(0, 0, r.width - 1, r.height - 1);
- }
-
- @Override
- public void dispose() {
- super.dispose();
- color.dispose();
- }
-
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/widgets/timegraph/dialogs/TreePatternFilter.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/widgets/timegraph/dialogs/TreePatternFilter.java
deleted file mode 100644
index 85cae2a267..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/widgets/timegraph/dialogs/TreePatternFilter.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 Inria
- *
- * 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:
- * Generoso Pagano, Inria - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.widgets.timegraph.dialogs;
-
-import org.eclipse.jface.viewers.AbstractTreeViewer;
-import org.eclipse.jface.viewers.ITreeContentProvider;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.ui.dialogs.PatternFilter;
-
-/**
- * A filter extending the <code>org.eclipse.ui.dialogs.PatternFilter<code>.
- *
- * It redefines the {@link #isElementVisible(Viewer, Object)}} method in order
- * to have a match on a node if: the node matches or one of the children matches
- * or one of the parents matches.
- *
- * @author "Generoso Pagano <generoso.pagano@inria.fr>"
- * @since 3.2
- */
-public class TreePatternFilter extends PatternFilter {
-
- @Override
- public boolean isElementVisible(Viewer viewer, Object element) {
- return super.isElementVisible(viewer, element) || isChildMatch(viewer, element);
- }
-
- /**
- * Check if at least one of the parents of this element is a match with the
- * filter text.
- *
- * @param viewer
- * the viewer that contains the element
- * @param element
- * the tree element to check
- * @return true if the given element has a parent that matches the filter
- * text
- */
- private boolean isChildMatch(Viewer viewer, Object element) {
- Object parent = ((ITreeContentProvider) ((AbstractTreeViewer) viewer).getContentProvider())
- .getParent(element);
- while (parent != null) {
- if (isLeafMatch(viewer, parent)) {
- return true;
- }
- parent = ((ITreeContentProvider) ((AbstractTreeViewer) viewer).getContentProvider())
- .getParent(parent);
- }
- return false;
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/widgets/timegraph/model/EventIterator.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/widgets/timegraph/model/EventIterator.java
deleted file mode 100644
index 9b386f1176..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/widgets/timegraph/model/EventIterator.java
+++ /dev/null
@@ -1,157 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2012, 2013 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:
- * Patrick Tasse - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.widgets.timegraph.model;
-
-import java.util.Iterator;
-import java.util.List;
-import java.util.NoSuchElementException;
-
-
-/**
- * An iterator for time events. Events from the zoomed event list override any
- * events from the underlying event list.
- * @since 2.0
- */
-public class EventIterator implements Iterator<ITimeEvent> {
-
- private final long fStartTime;
- private final long fEndTime;
- private List<ITimeEvent> fEventList;
- private List<ITimeEvent> fZoomedEventList;
- private long fZoomedStartTime;
- private long fZoomedEndTime;
- private int fIndex = 0;
- private int fZoomedIndex= 0;
- private ITimeEvent fNext = null;
- private ITimeEvent fSplitNext = null;
- private ITimeEvent fZoomedNext = null;
-
- /**
- * Basic constructor, with start time and end times equal to the lowest and
- * highest values possible, respectively.
- *
- * @param eventList
- * The list on which this iterator will iterate
- * @param zoomedEventList
- * The "zoomed" list
- */
- public EventIterator(List<ITimeEvent> eventList, List<ITimeEvent> zoomedEventList) {
- this(eventList, zoomedEventList, Long.MIN_VALUE, Long.MAX_VALUE);
- }
-
- /**
- * Complete constructor, where we specify start and end times.
- *
- * @param eventList
- * The list on which this iterator will iterate
- * @param zoomedEventList
- * The "zoomed" list
- * @param startTime
- * The start time
- * @param endTime
- * The end time
- */
- public EventIterator(List<ITimeEvent> eventList,
- List<ITimeEvent> zoomedEventList, long startTime, long endTime) {
- fEventList = eventList;
- fZoomedEventList = zoomedEventList;
- if (zoomedEventList != null && zoomedEventList.size() > 0) {
- fZoomedStartTime = zoomedEventList.get(0).getTime();
- ITimeEvent lastEvent = zoomedEventList.get(zoomedEventList.size() - 1);
- fZoomedEndTime = lastEvent.getTime() + lastEvent.getDuration();
- } else {
- fZoomedStartTime = Long.MAX_VALUE;
- fZoomedEndTime = Long.MIN_VALUE;
- }
- fStartTime = startTime;
- fEndTime = endTime;
- }
-
- @Override
- public boolean hasNext() {
- if (fNext == null && fEventList != null) {
- while (fIndex < fEventList.size()) {
- ITimeEvent event = fEventList.get(fIndex++);
- if (event.getTime() + event.getDuration() >= fStartTime && event.getTime() <= fEndTime &&
- (event.getTime() < fZoomedStartTime || event.getTime() + event.getDuration() > fZoomedEndTime)) {
- // the event is visible and is not completely hidden by the zoomed events
- fNext = event;
- if (event.getTime() < fZoomedEndTime && event.getTime() + event.getDuration() > fZoomedStartTime) {
- // the event is partially hidden by the zoomed events and must be split
- fNext = null;
- if (event.getTime() + event.getDuration() > fZoomedEndTime && fZoomedEndTime < fEndTime) {
- // the end of the event is partially hidden by the zoomed events and is visible
- if (event instanceof ITimeEvent2) {
- fNext = ((ITimeEvent2) event).split(fZoomedEndTime).getSecond();
- } else {
- fNext = new TimeEvent(event.getEntry(), fZoomedEndTime, event.getTime() + event.getDuration() - fZoomedEndTime);
- }
- }
- if (event.getTime() < fZoomedStartTime && fZoomedStartTime > fStartTime) {
- // the start of the event is partially hidden by the zoomed events and is visible
- fSplitNext = fNext;
- if (event instanceof ITimeEvent2) {
- fNext = ((ITimeEvent2) event).split(fZoomedStartTime).getFirst();
- } else {
- fNext = new TimeEvent(event.getEntry(), event.getTime(), fZoomedStartTime - event.getTime());
- }
- }
- }
- if (fNext != null) {
- break;
- }
- }
- }
- if (fNext == null) {
- fEventList = null;
- }
- }
-
- if (fZoomedNext == null && fZoomedEventList != null) {
- while (fZoomedIndex < fZoomedEventList.size()) {
- ITimeEvent event = fZoomedEventList.get(fZoomedIndex++);
- if (event.getTime() + event.getDuration() >= fStartTime && event.getTime() <= fEndTime) {
- // the zoomed event is visible
- fZoomedNext = event;
- break;
- }
- }
- if (fZoomedNext == null) {
- fZoomedEventList = null;
- }
- }
-
- return fNext != null || fZoomedNext != null;
- }
-
- @Override
- public ITimeEvent next() {
- if (hasNext()) {
- if (fZoomedNext != null && (fNext == null || fZoomedNext.getTime() <= fNext.getTime())) {
- ITimeEvent event = fZoomedNext;
- fZoomedNext = null;
- return event;
- }
- ITimeEvent event = fNext;
- fNext = fSplitNext;
- fSplitNext = null;
- return event;
- }
- throw new NoSuchElementException();
- }
-
- @Override
- public void remove() {
- throw new UnsupportedOperationException();
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/widgets/timegraph/model/ILinkEvent.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/widgets/timegraph/model/ILinkEvent.java
deleted file mode 100644
index cdb9461514..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/widgets/timegraph/model/ILinkEvent.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 École Polytechnique de Montréal
- *
- * 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:
- * Geneviève Bastien - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.widgets.timegraph.model;
-
-/**
- * Interface for time event that allows to specify the destination entry of the
- * event
- *
- * @since 2.1
- */
-public interface ILinkEvent extends ITimeEvent {
-
- /**
- * Get this event's destination entry
- *
- * @return The destination entry
- */
- ITimeGraphEntry getDestinationEntry();
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/widgets/timegraph/model/ITimeEvent.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/widgets/timegraph/model/ITimeEvent.java
deleted file mode 100644
index c78245cd56..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/widgets/timegraph/model/ITimeEvent.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009, 2013 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:
- * Alvaro Sanchez-Leon - Initial API and implementation
- * Patrick Tasse - Refactoring
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.widgets.timegraph.model;
-
-/**
- * Interface for time events, for use in the timegraph view
- *
- * @version 1.0
- * @author Alvaro Sanchez-Leon
- * @author Patrick Tasse
- */
-public interface ITimeEvent {
-
- /**
- * Get the entry matching this time event.
- *
- * @return The time graph entry
- */
- ITimeGraphEntry getEntry();
-
- /**
- * Get the timestamp of this event.
- *
- * @return The event's time
- */
- long getTime();
-
- /**
- * @return
- * <list>
- * <li>-1: Considers duration to be from current event till the next</li>
- * <li>0: Duration is not relevant e.g. a Burst / no state associated</li>
- * <li>>0: Valid duration value specified</li>
- * </list>
- * <p>
- */
- long getDuration();
-
-} \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/widgets/timegraph/model/ITimeEvent2.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/widgets/timegraph/model/ITimeEvent2.java
deleted file mode 100644
index 39b4aa3902..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/widgets/timegraph/model/ITimeEvent2.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 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:
- * Patrick Tasse - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.widgets.timegraph.model;
-
-import org.eclipse.linuxtools.tmf.core.util.Pair;
-
-/**
- * Extend ITimeEvent interface
- *
- * @author Patrick Tasse
- * @since 2.1
- */
-public interface ITimeEvent2 extends ITimeEvent {
-
- /**
- * Split an event in two at the specified time. If the time is smaller or
- * equal to the event's start, the first split event is null. If the time is
- * greater or equal to the event's end, the second split event is null.
- *
- * @param time
- * the time at which the event is to be split
- * @return a pair of time events
- */
- Pair<ITimeEvent, ITimeEvent> split(long time);
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/widgets/timegraph/model/ITimeGraphEntry.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/widgets/timegraph/model/ITimeGraphEntry.java
deleted file mode 100644
index 579d1526b5..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/widgets/timegraph/model/ITimeGraphEntry.java
+++ /dev/null
@@ -1,102 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009, 2013 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:
- * Alvaro Sanchez-Leon - Initial API and implementation
- * Patrick Tasse - Refactoring
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.widgets.timegraph.model;
-
-import java.util.Iterator;
-import java.util.List;
-
-/**
- * Interface for an entry (row) in the time graph view
- *
- * @version 1.0
- * @author Alvaro Sanchez-Leon
- * @author Patrick Tasse
- */
-public interface ITimeGraphEntry {
-
- /**
- * Returns the parent of this entry, or <code>null</code> if it has none.
- *
- * @return the parent element, or <code>null</code> if it has none
- */
- ITimeGraphEntry getParent();
-
- /**
- * Returns whether this entry has children.
- *
- * @return <code>true</code> if the given element has children,
- * and <code>false</code> if it has no children
- */
- boolean hasChildren();
-
- /**
- * Returns the child elements of this entry.
- *
- * @return an array of child elements
- * @since 2.0
- */
- List<? extends ITimeGraphEntry> getChildren();
-
- /**
- * Returns the name of this entry.
- *
- * @return the entry name
- */
- String getName();
-
- /**
- * Returns the start time of this entry in nanoseconds.
- *
- * @return the start time
- */
- long getStartTime();
-
- /**
- * Returns the end time of this entry in nanoseconds.
- *
- * @return the end time
- */
- long getEndTime();
-
- /**
- * Returns whether this entry has time events.
- * If true, the time events iterator should not be null.
- *
- * @return true if the entry has time events
- *
- * @see #getTimeEventsIterator
- * @see #getTimeEventsIterator(long, long, long)
- */
- boolean hasTimeEvents();
-
- /**
- * Get an iterator which returns all time events.
- *
- * @return the iterator
- */
- <T extends ITimeEvent> Iterator<T> getTimeEventsIterator();
-
- /**
- * Get an iterator which only returns events that fall within the start time and the stop time.
- * The visible duration is the event duration below which further detail is not discernible.
- * If no such iterator is implemented, provide a basic iterator which returns all events.
- *
- * @param startTime start time in nanoseconds
- * @param stopTime stop time in nanoseconds
- * @param visibleDuration duration of one pixel in nanoseconds
- *
- * @return the iterator
- */
- <T extends ITimeEvent> Iterator<T> getTimeEventsIterator(long startTime, long stopTime, long visibleDuration);
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/widgets/timegraph/model/NullTimeEvent.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/widgets/timegraph/model/NullTimeEvent.java
deleted file mode 100644
index a4b7f4ed7b..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/widgets/timegraph/model/NullTimeEvent.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 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:
- * Patrick Tasse - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.widgets.timegraph.model;
-
-/**
- * A null time event. Used to represent an event that should not be drawn,
- * for example as a zoomed event that overshadows an underlying event.
- *
- * @since 2.0
- */
-public class NullTimeEvent extends TimeEvent {
-
- /**
- * Standard constructor
- *
- * @param entry
- * The entry matching this event
- * @param time
- * The timestamp of this event
- * @param duration
- * The duration of the event
- */
- public NullTimeEvent(ITimeGraphEntry entry, long time, long duration) {
- super(entry, time, duration);
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/widgets/timegraph/model/TimeEvent.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/widgets/timegraph/model/TimeEvent.java
deleted file mode 100644
index 7dc8ba571d..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/widgets/timegraph/model/TimeEvent.java
+++ /dev/null
@@ -1,138 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2012, 2013 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:
- * Patrick Tasse - Initial API and implementation
- * Geneviève Bastien - Added the fValue parameter to avoid subclassing
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.widgets.timegraph.model;
-
-import org.eclipse.linuxtools.tmf.core.util.Pair;
-
-/**
- * Generic TimeEvent implementation
- *
- * @version 1.0
- * @author Patrick Tasse
- */
-public class TimeEvent implements ITimeEvent2 {
-
- /** TimeGraphEntry matching this time event */
- protected ITimeGraphEntry fEntry;
-
- /** Beginning timestamp of this time event */
- protected long fTime;
-
- /** Duration of this time event */
- protected long fDuration;
-
- private final int fValue;
-
- /**
- * Default value when no other value present
- */
- private static final int NOVALUE = Integer.MIN_VALUE;
-
- /**
- * Standard constructor
- *
- * @param entry
- * The entry matching this event
- * @param time
- * The timestamp of this event
- * @param duration
- * The duration of the event
- */
- public TimeEvent(ITimeGraphEntry entry, long time, long duration) {
- this(entry, time, duration, NOVALUE);
-
- }
-
- /**
- * Constructor
- *
- * @param entry
- * The entry to which this time event is assigned
- * @param time
- * The timestamp of this event
- * @param duration
- * The duration of this event
- * @param value
- * The status assigned to the event
- * @since 2.1
- */
- public TimeEvent(ITimeGraphEntry entry, long time, long duration,
- int value) {
- fEntry = entry;
- fTime = time;
- fDuration = duration;
- fValue = value;
- }
-
- /**
- * Get this event's status
- *
- * @return The integer matching this status
- * @since 2.1
- */
- public int getValue() {
- return fValue;
- }
-
- /**
- * Return whether an event has a value
- *
- * @return true if the event has a value
- * @since 2.1
- */
- public boolean hasValue() {
- return (fValue != NOVALUE);
- }
-
- @Override
- public ITimeGraphEntry getEntry() {
- return fEntry;
- }
-
- @Override
- public long getTime() {
- return fTime;
- }
-
- @Override
- public long getDuration() {
- return fDuration;
- }
-
- /**
- * Split an event in two at the specified time. If the time is smaller or
- * equal to the event's start, the first split event is null. If the time is
- * greater or equal to the event's end, the second split event is null.
- * <p>
- * Subclasses should re-implement this method
- *
- * @since 2.1
- */
- @Override
- public Pair<ITimeEvent, ITimeEvent> split(long time) {
- Pair<ITimeEvent, ITimeEvent> pair = new Pair<>();
- if (time > fTime) {
- pair.setFirst(new TimeEvent(fEntry, fTime, Math.min(fDuration, time - fTime), fValue));
- }
- if (time < fTime + fDuration) {
- pair.setSecond(new TimeEvent(fEntry, Math.max(fTime, time), fDuration - Math.max(0, time - fTime), fValue));
- }
- return pair;
- }
-
- @Override
- public String toString() {
- return getClass().getSimpleName() + " start=" + fTime + " end=" + (fTime + fDuration) + " duration=" + fDuration + (hasValue() ? (" value=" + fValue) : ""); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/widgets/timegraph/model/TimeGraphEntry.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/widgets/timegraph/model/TimeGraphEntry.java
deleted file mode 100644
index 8518c577aa..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/widgets/timegraph/model/TimeGraphEntry.java
+++ /dev/null
@@ -1,304 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2012, 2014 Ericsson, École Polytechnique de Montréal
- *
- * 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:
- * Patrick Tasse - Initial API and implementation
- * Geneviève Bastien - Move code to provide base classes for time graph view
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.widgets.timegraph.model;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Comparator;
-import java.util.Iterator;
-import java.util.List;
-import java.util.concurrent.CopyOnWriteArrayList;
-
-/**
- * An entry for use in the time graph views
- *
- * @since 2.1
- */
-public class TimeGraphEntry implements ITimeGraphEntry {
-
- /** Entry's parent */
- private ITimeGraphEntry fParent = null;
-
- /** List of child entries */
- private final List<ITimeGraphEntry> fChildren = new CopyOnWriteArrayList<>();
-
- /** Name of this entry (text to show) */
- private String fName;
- private long fStartTime = -1;
- private long fEndTime = -1;
- private List<ITimeEvent> fEventList = new ArrayList<>();
- private List<ITimeEvent> fZoomedEventList = new ArrayList<>();
- private Comparator<ITimeGraphEntry> fComparator;
-
- /**
- * Constructor
- *
- * @param name
- * The name of this entry
- * @param startTime
- * The start time of this entry
- * @param endTime
- * The end time of this entry
- */
- public TimeGraphEntry(String name, long startTime, long endTime) {
- fName = name;
- fStartTime = startTime;
- fEndTime = endTime;
- }
-
- // ---------------------------------------------
- // Getters and setters
- // ---------------------------------------------
-
- @Override
- public ITimeGraphEntry getParent() {
- return fParent;
- }
-
- /**
- * Sets the entry's parent
- *
- * @param entry The new parent entry
- */
- /*
- * TODO: This method can be removed in the next major API version.
- */
- protected void setParent(TimeGraphEntry entry) {
- fParent = entry;
- }
-
- /**
- * Sets the entry's parent
- *
- * @param entry The new parent entry
- * @since 3.1
- */
- /*
- * TODO: This method should be added to the interface in the next major API version.
- */
- protected void setParent(ITimeGraphEntry entry) {
- fParent = entry;
- }
-
- @Override
- public synchronized boolean hasChildren() {
- return fChildren.size() > 0;
- }
-
- @Override
- public synchronized List<? extends ITimeGraphEntry> getChildren() {
- return fChildren;
- }
-
- @Override
- public String getName() {
- return fName;
- }
-
- /**
- * Update the entry name
- *
- * @param name
- * the updated entry name
- */
- public void setName(String name) {
- fName = name;
- }
-
- @Override
- public long getStartTime() {
- return fStartTime;
- }
-
- @Override
- public long getEndTime() {
- return fEndTime;
- }
-
- /**
- * Updates the end time
- *
- * @param endTime
- * the end time
- *
- * @since 3.0
- */
- public void updateEndTime(long endTime) {
- fEndTime = Math.max(endTime, fEndTime);
- }
-
- @Override
- public boolean hasTimeEvents() {
- return true;
- }
-
- @Override
- public Iterator<ITimeEvent> getTimeEventsIterator() {
- if (hasTimeEvents()) {
- return new EventIterator(fEventList, fZoomedEventList);
- }
- return null;
- }
-
- @Override
- public Iterator<ITimeEvent> getTimeEventsIterator(long startTime, long stopTime, long visibleDuration) {
- if (!hasTimeEvents()) {
- return null;
- }
- return new EventIterator(fEventList, fZoomedEventList, startTime, stopTime);
- }
-
- /**
- * Add an event to this entry's event list. If necessary, update the start
- * and end time of the entry. If the event list's last event starts at the
- * same time as the event to add, it is replaced by the new event.
- *
- * @param event
- * The time event to add
- */
- public void addEvent(ITimeEvent event) {
- long start = event.getTime();
- long end = start + event.getDuration();
- synchronized (fEventList) {
- int lastIndex = fEventList.size() - 1;
- if (lastIndex >= 0 && fEventList.get(lastIndex).getTime() == event.getTime()) {
- fEventList.set(lastIndex, event);
- } else {
- fEventList.add(event);
- }
- if (fStartTime == -1 || start < fStartTime) {
- fStartTime = start;
- }
- if (fEndTime == -1 || end > fEndTime) {
- fEndTime = end;
- }
- }
- }
-
- /**
- * Set the general event list of this entry.
- *
- * @param eventList
- * The list of time events
- */
- public void setEventList(List<ITimeEvent> eventList) {
- if (eventList != null) {
- fEventList = new ArrayList<>(eventList);
- } else {
- fEventList = new ArrayList<>();
- }
- }
-
- /**
- * Set the zoomed event list of this entry.
- *
- * @param eventList
- * The list of time events
- */
- public void setZoomedEventList(List<ITimeEvent> eventList) {
- if (eventList != null) {
- fZoomedEventList = new ArrayList<>(eventList);
- } else {
- fZoomedEventList = new ArrayList<>();
- }
- }
-
- /**
- * Add a child entry to this one
- *
- * @param child
- * The child entry
- */
- /*
- * TODO: This method can be removed in the next major API version.
- */
- public synchronized void addChild(TimeGraphEntry child) {
- addChild((ITimeGraphEntry) child);
- }
-
- /**
- * Add a child entry to this one. If a comparator was previously set with
- * {@link #sortChildren(Comparator)}, the entry will be inserted in its
- * sort-order position. Otherwise it will be added to the end of the list.
- *
- * @param child
- * The child entry
- * @since 3.1
- */
- public synchronized void addChild(ITimeGraphEntry child) {
- /*
- * TODO: Use setParent() once it is added to the interface.
- */
- if (child instanceof TimeGraphEntry) {
- ((TimeGraphEntry) child).fParent = this;
- }
- if (fComparator == null) {
- fChildren.add(child);
- } else {
- int i;
- for (i = 0; i < fChildren.size(); i++) {
- ITimeGraphEntry entry = fChildren.get(i);
- if (fComparator.compare(child, entry) < 0) {
- break;
- }
- }
- fChildren.add(i, child);
- }
- }
-
- /**
- * Add a child entry to this one at the specified position
- *
- * @param index
- * Index at which the specified entry is to be inserted
- * @param child
- * The child entry
- * @since 3.1
- */
- public synchronized void addChild(int index, ITimeGraphEntry child) {
- /*
- * TODO: Use setParent() once it is added to the interface.
- */
- if (child instanceof TimeGraphEntry) {
- ((TimeGraphEntry) child).fParent = this;
- }
- fChildren.add(index, child);
- }
-
- /**
- * Sort the children of this entry using the provided comparator. Subsequent
- * calls to {@link #addChild(ITimeGraphEntry)} will use this comparator to
- * maintain the sort order.
- *
- * @param comparator
- * The entry comparator
- * @since 3.1
- */
- public synchronized void sortChildren(Comparator<ITimeGraphEntry> comparator) {
- fComparator = comparator;
- if (comparator == null) {
- return;
- }
- ITimeGraphEntry[] array = fChildren.toArray(new ITimeGraphEntry[0]);
- Arrays.sort(array, comparator);
- fChildren.clear();
- fChildren.addAll(Arrays.asList(array));
- }
-
- @Override
- public String toString() {
- return getClass().getSimpleName() + '(' + fName + ')';
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/widgets/timegraph/model/TimeLinkEvent.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/widgets/timegraph/model/TimeLinkEvent.java
deleted file mode 100644
index 0f2cb97bf9..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/widgets/timegraph/model/TimeLinkEvent.java
+++ /dev/null
@@ -1,68 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 École Polytechnique de Montréal
- *
- * 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:
- * Geneviève Bastien - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.widgets.timegraph.model;
-
-/**
- * TimeEvent implementation for events that do not involve only one entry, they
- * have a source entry and destination entry
- *
- * @since 2.1
- */
-public class TimeLinkEvent extends TimeEvent implements ILinkEvent {
-
- /** TimeGraphEntry matching the destination this time event */
- private ITimeGraphEntry fDestEntry;
-
- /**
- * Standard constructor
- *
- * @param src
- * The source entry of this event
- * @param dst
- * The destination entry of this event
- * @param time
- * The timestamp of this event
- * @param duration
- * The duration of the event
- */
- public TimeLinkEvent(ITimeGraphEntry src, ITimeGraphEntry dst, long time, long duration) {
- super(src, time, duration);
- fDestEntry = dst;
- }
-
- /**
- * Constructor
- *
- * @param src
- * The source entry of this event
- * @param dst
- * The destination entry of this event
- * @param time
- * The timestamp of this event
- * @param duration
- * The duration of this event
- * @param value
- * The status assigned to the event
- */
- public TimeLinkEvent(ITimeGraphEntry src, ITimeGraphEntry dst, long time, long duration,
- int value) {
- super(src, time, duration, value);
- fDestEntry = dst;
- }
-
- @Override
- public ITimeGraphEntry getDestinationEntry() {
- return fDestEntry;
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/widgets/timegraph/widgets/ITimeDataProvider.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/widgets/timegraph/widgets/ITimeDataProvider.java
deleted file mode 100644
index 9921308367..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/widgets/timegraph/widgets/ITimeDataProvider.java
+++ /dev/null
@@ -1,175 +0,0 @@
-/*****************************************************************************
- * Copyright (c) 2007, 2014 Intel Corporation, 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:
- * Intel Corporation - Initial API and implementation
- * Ruslan A. Scherbakov, Intel - Initial API and implementation
- * Alvaro Sanchez-Leon - Updated for TMF
- * Geneviève Bastien - Added methods to save a time range selection
- * Patrick Tasse - Refactoring, support for range selection
- *****************************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.widgets.timegraph.widgets;
-
-import org.eclipse.linuxtools.tmf.ui.widgets.timegraph.widgets.Utils.TimeFormat;
-
-/**
- * Time data provider interface, for use in the timegraph widget.
- *
- * @version 1.0
- * @author Alvaro Sanchez-Leon
- * @author Patrick Tasse
- * @author Xavier Raynaud
- */
-public interface ITimeDataProvider {
-
- /**
- * Updates the selection begin and end time and notifies any registered
- * listeners about the new time range (if necessary)
- *
- * @param beginTime the selection begin time
- * @param endTime the selection end time
- * @since 3.0
- */
- void setSelectionRangeNotify(long beginTime, long endTime);
-
- /**
- * Updates the selection begin and end time
- *
- * @param beginTime the selection begin time
- * @param endTime the selection end time
- * @since 3.0
- */
- void setSelectionRange(long beginTime, long endTime);
-
- /**
- * @return The begin time of the current selection
- * @since 3.0
- */
- long getSelectionBegin();
-
- /**
- * @return The end time of the current selection
- * @since 3.0
- */
- long getSelectionEnd();
-
- /**
- * @return The beginning time
- */
- long getBeginTime();
-
- /**
- * @return The end time
- */
- long getEndTime();
-
- /**
- * @return The minimum time
- */
- long getMinTime();
-
- /**
- * @return The maximum time
- */
- long getMaxTime();
-
- /**
- * @return The start time of the current selection window
- */
- long getTime0();
-
- /**
- * @return The end time of the current selection window
- */
- long getTime1();
-
- /**
- * @return The minimal time interval
- */
- long getMinTimeInterval();
-
- /**
- * Updates the time range and notify registered listeners
- *
- * @param time0
- * @param time1
- */
- void setStartFinishTimeNotify(long time0, long time1);
-
- /**
- * Update the time range but do not trigger event notification
- *
- * @param time0
- * @param time1
- */
- void setStartFinishTime(long time0, long time1);
-
- /**
- * Notify registered listeners without updating the time range
- */
- void notifyStartFinishTime();
-
- /**
- * Updates the selected time, adjusts the time range if necessary and
- * notifies any registered listeners about the new selected time and new
- * range (if necessary)
- *
- * @param time
- * A Time to set
- * @param ensureVisible
- * Ensure visibility of new time (will adjust time range if
- * necessary)
- */
- void setSelectedTimeNotify(long time, boolean ensureVisible);
-
- /**
- * Updates the selected time and adjusts the time range if necessary without
- * notifying registered listeners.
- *
- * @param time
- * A Time to set
- * @param ensureVisible
- * Ensure visibility of new time (will adjust time range if
- * necessary)
- */
- void setSelectedTime(long time, boolean ensureVisible);
-
- /**
- * Reset the start and end times
- */
- void resetStartFinishTime();
-
- /**
- * @return The names' width
- */
- int getNameSpace();
-
- /**
- * Set the names' width
- *
- * @param width
- */
- void setNameSpace(int width);
-
- /**
- * @return The width for timestamps
- */
- int getTimeSpace();
-
- /**
- * @return the time format, one of:
- * <ul>
- * <li>{@link TimeFormat#CALENDAR} absolute time, displayed as year/month/day/hours/minutes/seconds/ms/us/ns
- * <li>{@link TimeFormat#RELATIVE} relative time, displayed as seconds/ms/us/ns
- * <li>{@link TimeFormat#NUMBER} number, displayed as long values.
- * </ul>
- * @since 2.0
- */
- TimeFormat getTimeFormat();
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/widgets/timegraph/widgets/ITimeDataProviderConverter.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/widgets/timegraph/widgets/ITimeDataProviderConverter.java
deleted file mode 100644
index 94ffa4fd5f..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/widgets/timegraph/widgets/ITimeDataProviderConverter.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 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:
- * Patrick Tasse - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.widgets.timegraph.widgets;
-
-/**
- * Time data provider that converts between time data units used internally and
- * time in display units used by the caller.
- *
- * @since 3.2
- */
-public interface ITimeDataProviderConverter extends ITimeDataProvider {
-
- /**
- * Convert a time in time data provider units to a time in display units.
- *
- * @param time the time in time data provider units
- *
- * @return the time in display units
- */
- long convertTime(long time);
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/widgets/timegraph/widgets/ITmfTimeGraphDrawingHelper.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/widgets/timegraph/widgets/ITmfTimeGraphDrawingHelper.java
deleted file mode 100644
index 26dbd21089..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/widgets/timegraph/widgets/ITmfTimeGraphDrawingHelper.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 École Polytechnique de Montréal
- *
- * 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:
- * Geneviève Bastien - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.widgets.timegraph.widgets;
-
-/**
- * This interface provides functions to convert a model element to a drawing
- * element and vice versa.
- *
- * Views who implement this interface allow access to some model-to-canvas and
- * vice-versa functions without having to expose their full functionnalities.
- *
- * @author gbastien
- * @since 2.1
- */
-public interface ITmfTimeGraphDrawingHelper {
-
- /**
- * Return the x coordinate corresponding to a time
- *
- * @param time
- * the time
- * @return the x coordinate corresponding to the time
- */
- int getXForTime(long time);
-
- /**
- * Return the time corresponding to an x coordinate
- *
- * @param x
- * the x coordinate
- * @return the time corresponding to the x coordinate
- */
- long getTimeAtX(int x);
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/widgets/timegraph/widgets/TimeDataProviderCyclesConverter.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/widgets/timegraph/widgets/TimeDataProviderCyclesConverter.java
deleted file mode 100644
index aa16610779..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/widgets/timegraph/widgets/TimeDataProviderCyclesConverter.java
+++ /dev/null
@@ -1,178 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 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:
- * Patrick Tasse - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.widgets.timegraph.widgets;
-
-import org.eclipse.jdt.annotation.NonNull;
-import org.eclipse.linuxtools.tmf.ui.widgets.timegraph.widgets.Utils.TimeFormat;
-
-/**
- * Time Data Provider wrapper that converts nanoseconds to cycles.
- *
- * The user of the wrapper uses cycles, the wrapped provider uses nanoseconds.
- * @since 3.2
- *
- */
-public class TimeDataProviderCyclesConverter implements ITimeDataProviderConverter {
-
- private static final long GIGAHERTZ = 1000000000L;
-
- private final @NonNull ITimeDataProvider fProvider;
- private final long fFreq;
-
- /**
- * Constructor
- *
- * @param provider
- * the original time data provider
- * @param clockFrequency
- * the clock frequency in Hz
- */
- public TimeDataProviderCyclesConverter(@NonNull ITimeDataProvider provider, long clockFrequency) {
- fProvider = provider;
- fFreq = clockFrequency;
- }
-
- /**
- * Convert nanoseconds to cycles
- *
- * @param nanos
- * time in nanoseconds
- * @return time in cycles
- */
- public long toCycles(long nanos) {
- return Math.round(nanos * ((double) fFreq / GIGAHERTZ));
- }
-
- /**
- * Convert cycles to nanoseconds
- *
- * @param cycles
- * time in cycles
- * @return time in nanoseconds
- */
- public long toNanos(long cycles) {
- return Math.round(cycles * ((double) GIGAHERTZ / fFreq));
- }
-
- @Override
- public long convertTime(long time) {
- return toCycles(time);
- }
-
- @Override
- public void setSelectionRangeNotify(long beginTime, long endTime) {
- fProvider.setSelectionRangeNotify(toNanos(beginTime), toNanos(endTime));
- }
-
- @Override
- public void setSelectionRange(long beginTime, long endTime) {
- fProvider.setSelectionRange(toNanos(beginTime), toNanos(endTime));
- }
-
- @Override
- public long getSelectionBegin() {
- return toCycles(fProvider.getSelectionBegin());
- }
-
- @Override
- public long getSelectionEnd() {
- return toCycles(fProvider.getSelectionEnd());
- }
-
- @Override
- public long getBeginTime() {
- return toCycles(fProvider.getBeginTime());
- }
-
- @Override
- public long getEndTime() {
- return toCycles(fProvider.getEndTime());
- }
-
- @Override
- public long getMinTime() {
- return toCycles(fProvider.getMinTime());
- }
-
- @Override
- public long getMaxTime() {
- return toCycles(fProvider.getMaxTime());
- }
-
- @Override
- public long getTime0() {
- return toCycles(fProvider.getTime0());
- }
-
- @Override
- public long getTime1() {
- return toCycles(fProvider.getTime1());
- }
-
- @Override
- public long getMinTimeInterval() {
- // do not convert: this is in integer units
- return fProvider.getMinTimeInterval();
- }
-
- @Override
- public void setStartFinishTimeNotify(long time0, long time1) {
- fProvider.setStartFinishTimeNotify(toNanos(time0), toNanos(time1));
- }
-
- @Override
- public void setStartFinishTime(long time0, long time1) {
- fProvider.setStartFinishTime(toNanos(time0), toNanos(time1));
- }
-
- @Override
- public void notifyStartFinishTime() {
- fProvider.notifyStartFinishTime();
- }
-
- @Override
- public void setSelectedTimeNotify(long time, boolean ensureVisible) {
- fProvider.setSelectedTimeNotify(toNanos(time), ensureVisible);
- }
-
- @Override
- public void setSelectedTime(long time, boolean ensureVisible) {
- fProvider.setSelectedTime(toNanos(time), ensureVisible);
- }
-
- @Override
- public void resetStartFinishTime() {
- fProvider.resetStartFinishTime();
- }
-
- @Override
- public int getNameSpace() {
- return fProvider.getNameSpace();
- }
-
- @Override
- public void setNameSpace(int width) {
- fProvider.setNameSpace(width);
- }
-
- @Override
- public int getTimeSpace() {
- return fProvider.getTimeSpace();
- }
-
- @Override
- public TimeFormat getTimeFormat() {
- return fProvider.getTimeFormat();
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/widgets/timegraph/widgets/TimeGraphBaseControl.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/widgets/timegraph/widgets/TimeGraphBaseControl.java
deleted file mode 100644
index 9fd891838a..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/widgets/timegraph/widgets/TimeGraphBaseControl.java
+++ /dev/null
@@ -1,115 +0,0 @@
-/*****************************************************************************
- * Copyright (c) 2007, 2013 Intel Corporation, 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:
- * Intel Corporation - Initial API and implementation
- * Ruslan A. Scherbakov, Intel - Initial API and implementation
- * Alvaro Sanchez-Leon - Updated for TMF
- * Patrick Tasse - Refactoring
- *****************************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.widgets.timegraph.widgets;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.PaintEvent;
-import org.eclipse.swt.events.PaintListener;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.graphics.Rectangle;
-import org.eclipse.swt.widgets.Canvas;
-import org.eclipse.swt.widgets.Composite;
-
-/**
- * Base control abstract class for the time graph widget
- *
- * @version 1.0
- * @author Alvaro Sanchez-Leon
- * @author Patrick Tasse
- */
-public abstract class TimeGraphBaseControl extends Canvas implements PaintListener {
-
- /** Default left margin size */
- public static final int MARGIN = 4;
-
- /** Default expanded size */
- public static final int EXPAND_SIZE = 9; // the [+] or [-] control size
-
- /** Default size of the right margin */
- public static final int RIGHT_MARGIN = 1; // 1 pixels less to make sure end time is visible
-
- /** Default size for small icons */
- public static final int SMALL_ICON_SIZE = 16;
-
- /** Color scheme */
- private TimeGraphColorScheme fColorScheme;
-
- /** Font size */
- private int fFontHeight = 0;
-
- /**
- * Basic constructor. Uses a default style value
- *
- * @param parent
- * The parent composite object
- * @param colors
- * The color scheme to use
- */
- public TimeGraphBaseControl(Composite parent, TimeGraphColorScheme colors) {
- this(parent, colors, SWT.NO_BACKGROUND | SWT.NO_FOCUS);
- }
-
- /**
- * Standard constructor
- *
- * @param parent
- * The parent composite object
- * @param colorScheme
- * The color scheme to use
- * @param style
- * The index of the style to use
- */
- public TimeGraphBaseControl(Composite parent, TimeGraphColorScheme colorScheme, int style) {
- super(parent, style);
- fColorScheme = colorScheme;
- addPaintListener(this);
- }
-
- @Override
- public void paintControl(PaintEvent e) {
- if (e.widget != this) {
- return;
- }
- fFontHeight = e.gc.getFontMetrics().getHeight();
- Rectangle bound = getClientArea();
- if (!bound.isEmpty()) {
- Color colBackup = e.gc.getBackground();
- paint(bound, e);
- e.gc.setBackground(colBackup);
- }
- }
-
- /**
- * Retrieve the color scheme
- *
- * @return The color scheme
- *
- * @since 2.0
- */
- public TimeGraphColorScheme getColorScheme() {
- return fColorScheme;
- }
-
- /**
- * Retrieve the current font's height
- *
- * @return The height
- */
- public int getFontHeight() {
- return fFontHeight;
- }
-
- abstract void paint(Rectangle bound, PaintEvent e);
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/widgets/timegraph/widgets/TimeGraphColorScheme.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/widgets/timegraph/widgets/TimeGraphColorScheme.java
deleted file mode 100644
index b040dba5af..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/widgets/timegraph/widgets/TimeGraphColorScheme.java
+++ /dev/null
@@ -1,428 +0,0 @@
-/*****************************************************************************
- * Copyright (c) 2008, 2013 Intel Corporation, 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:
- * Intel Corporation - Initial API and implementation
- * Ruslan A. Scherbakov, Intel - Initial API and implementation
- * Alvaro Sanchez-Leon - Updated for TMF
- * Patrick Tasse - Refactoring
- *****************************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.widgets.timegraph.widgets;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Color;
-
-/**
- * Color theme used by the timegraph view
- *
- * @version 1.0
- * @author Patrick Tasse
- */
-@SuppressWarnings("javadoc")
-public class TimeGraphColorScheme {
-
- // elements color indices
- public static final int BLACK_STATE = 0;
- public static final int GREEN_STATE = 1;
- public static final int DARK_BLUE_STATE = 2;
- public static final int ORANGE_STATE = 3;
- public static final int GOLD_STATE = 4;
- public static final int RED_STATE = 5;
- public static final int GRAY_STATE = 6;
- public static final int DARK_GREEN_STATE = 7;
- public static final int DARK_YELLOW_STATE = 8;
- public static final int MAGENTA3_STATE = 9;
- public static final int PURPLE1_STATE = 10;
- public static final int PINK1_STATE = 11;
- public static final int AQUAMARINE_STATE = 12;
- public static final int LIGHT_BLUE_STATE = 13;
- public static final int CADET_BLUE_STATE = 14;
- public static final int OLIVE_STATE = 15;
-
- public static final int STATES0 = 0;
- public static final int STATES1 = 15;
-
- // selected state elements color indices
- public static final int BLACK_STATE_SEL = 16;
- public static final int GREEN_STATE_SEL = 17;
- public static final int DARK_BLUE_STATE_SEL = 18;
- public static final int ORANGE_STATE_SEL = 19;
- public static final int GOLD_STATE_SEL = 20;
- public static final int RED_STATE_SEL = 21;
- public static final int GRAY_STATE_SEL = 22;
- public static final int DARK_GREEN_STATE_SEL = 23;
- public static final int DARK_YELLOW_STATE_SEL = 24;
- public static final int MAGENTA3_STATE_SEL = 25;
- public static final int PURPLE1_STATE_SEL = 26;
- public static final int PINK1_STATE_SEL = 27;
- public static final int AQUAMARINE_STATE_SEL = 28;
- public static final int LIGHT_BLUE_STATE_SEL = 29;
- public static final int CADET_BLUE_STATE_SEL = 30;
- public static final int OLIVE_STATE_SEL = 31;
-
- public static final int STATES_SEL0 = 16;
- public static final int STATES_SEL1 = 31;
-
- // colors indices for viewer controls
- public static final int BACKGROUND = 32;
- public static final int FOREGROUND = 33;
- public static final int BACKGROUND_SEL = 34;
- public static final int FOREGROUND_SEL = 35;
- public static final int BACKGROUND_SEL_NOFOCUS = 36;
- public static final int FOREGROUND_SEL_NOFOCUS = 37;
- public static final int TOOL_BACKGROUND = 38;
- public static final int TOOL_FOREGROUND = 39;
-
- // misc colors
- public static final int FIX_COLOR = 40;
- public static final int WHITE = 41;
- public static final int GRAY = 42;
- public static final int BLACK = 43;
- public static final int DARK_GRAY = 44;
-
- // selected border color indices
- public static final int BLACK_BORDER = 45;
- public static final int GREEN_BORDER = 46;
- public static final int DARK_BLUE_BORDER = 47;
- public static final int ORANGE_BORDER = 48;
- public static final int GOLD_BORDER = 49;
- public static final int RED_BORDER = 50;
- public static final int GRAY_BORDER = 51;
- public static final int DARK_GREEN_BORDER1 = 52;
- public static final int DARK_YELLOW_BORDER1 = 53;
- public static final int MAGENTA3_BORDER1 = 54;
- public static final int PURPLE1_BORDER1 = 55;
- public static final int PINK1_BORDER1 = 56;
- public static final int AQUAMARINE_BORDER1 = 57;
- public static final int LIGHT_BLUE_BORDER1 = 58;
- public static final int CADET_BLUE_STATE_BORDER = 59;
- public static final int OLIVE_BORDER2 = 60;
-
- public static final int STATES_BORDER0 = 45;
- public static final int STATES_BORDER1 = 60;
-
- public static final int MID_LINE = 61;
- public static final int RED = 62;
- public static final int GREEN = 63;
- public static final int BLUE = 64;
- public static final int YELLOW = 65;
- public static final int CYAN = 66;
- public static final int MAGENTA = 67;
-
- public static final int SELECTED_TIME = 68;
- public static final int LEGEND_BACKGROUND = 69;
- public static final int LEGEND_FOREGROUND = 70;
-
- // group items' colors
- public static final int GR_BACKGROUND = 71;
- public static final int GR_FOREGROUND = 72;
- public static final int GR_BACKGROUND_SEL = 73;
- public static final int GR_FOREGROUND_SEL = 74;
- public static final int GR_BACKGROUND_SEL_NOFOCUS = 75;
- public static final int GR_FOREGROUND_SEL_NOFOCUS = 76;
-
- public static final int LIGHT_LINE = 77;
- public static final int BACKGROUND_NAME = 78;
- public static final int BACKGROUND_NAME_SEL = 79;
- public static final int BACKGROUND_NAME_SEL_NOFOCUS = 80;
-
- // Interraction's colors
- public static final int TI_START_THREAD = BLACK;
- public static final int TI_HANDOFF_LOCK = BLUE;
- public static final int TI_NOTIFY_ALL = GREEN;
- public static final int TI_NOTIFY = GREEN;
- public static final int TI_NOTIFY_JOINED = DARK_GRAY;
- public static final int TI_INTERRUPT = RED;
- public static final int TI_WAIT_EXCEEDED = BLUE;
-
- interface IColorProvider {
- Color get();
- }
-
- static class SysCol implements IColorProvider {
- private int syscol;
-
- SysCol(int syscol) {
- this.syscol = syscol;
- }
-
- @Override
- public Color get() {
- return Utils.getSysColor(syscol);
- }
- }
-
- static class RGB implements IColorProvider {
- private int r;
- private int g;
- private int b;
-
- RGB(int r, int g, int b) {
- this.r = r;
- this.g = g;
- this.b = b;
- }
-
- @Override
- public Color get() {
- return new Color(null, r, g, b);
- }
- }
-
- static class Mix implements IColorProvider {
- private IColorProvider cp1;
- private IColorProvider cp2;
- private int w1;
- private int w2;
-
- Mix(IColorProvider cp1, IColorProvider cp2, int w1, int w2) {
- this.cp1 = cp1;
- this.cp2 = cp2;
- this.w1 = w1;
- this.w2 = w2;
- }
-
- Mix(IColorProvider cp1, IColorProvider cp2) {
- this.cp1 = cp1;
- this.cp2 = cp2;
- this.w1 = 1;
- this.w2 = 1;
- }
-
- @Override
- public Color get() {
- Color col1 = cp1.get();
- Color col2 = cp2.get();
- return Utils.mixColors(col1, col2, w1, w2);
- }
- }
-
- private static final IColorProvider PROVIDERS_MAP[] = {
- //
- new RGB(100, 100, 100), // UNKNOWN
- new RGB(174, 200, 124), // RUNNING
- new Mix(new SysCol(SWT.COLOR_BLUE), new SysCol(SWT.COLOR_GRAY), 1, 3), // SLEEPING
- new RGB(210, 150, 60), // WAITING
- new RGB(242, 225, 168), // BLOCKED
- new Mix(new SysCol(SWT.COLOR_RED), new SysCol(SWT.COLOR_GRAY), 1, 3), // DEADLOCK
- new RGB(200, 200, 200), // STOPPED
- new RGB(35, 107, 42), // STEEL BLUE
- new RGB(205,205,0), // DARK YELLOW
- new RGB(205, 0, 205), // MAGENTA
- new RGB(171, 130, 255), // PURPLE
- new RGB(255, 181, 197), // PINK
- new RGB(112, 219, 147), // AQUAMARINE
- new RGB(198, 226, 255), // SLATEGRAY
- new RGB(95, 158, 160), // CADET BLUE
- new RGB(107, 142, 35), // OLIVE
-
-
- //TODO: Does not seem to be used, check during clean-up
- new SysCol(SWT.COLOR_WHITE), // UNKNOWN_SEL
- new SysCol(SWT.COLOR_GREEN), // RUNNING_SEL
- new SysCol(SWT.COLOR_BLUE), // SLEEPING_SEL
- new SysCol(SWT.COLOR_CYAN), // WAITING_SEL
- new SysCol(SWT.COLOR_YELLOW), // BLOCKED_SEL
- new SysCol(SWT.COLOR_RED), // DEADLOCK_SEL
- new SysCol(SWT.COLOR_DARK_GRAY), // STOPPED_SEL
- new SysCol(SWT.COLOR_WHITE),
- new SysCol(SWT.COLOR_GREEN),
- new SysCol(SWT.COLOR_BLUE),
- new SysCol(SWT.COLOR_CYAN),
- new SysCol(SWT.COLOR_YELLOW),
- new SysCol(SWT.COLOR_RED),
- new SysCol(SWT.COLOR_DARK_GRAY),
- new SysCol(SWT.COLOR_WHITE),
- new SysCol(SWT.COLOR_GREEN),
-
-
- new SysCol(SWT.COLOR_LIST_BACKGROUND), // BACKGROUND
- new SysCol(SWT.COLOR_LIST_FOREGROUND), // FOREGROUND
- new RGB(232, 242, 254), // BACKGROUND_SEL
- new SysCol(SWT.COLOR_LIST_FOREGROUND), // FOREGROUND_SEL
- new SysCol(SWT.COLOR_WIDGET_BACKGROUND), // BACKGROUND_SEL_NOFOCUS
- new SysCol(SWT.COLOR_WIDGET_FOREGROUND), // FOREGROUND_SEL_NOFOCUS
- new SysCol(SWT.COLOR_WIDGET_BACKGROUND), // TOOL_BACKGROUND
- new SysCol(SWT.COLOR_WIDGET_DARK_SHADOW), // TOOL_FOREGROUND
-
- new SysCol(SWT.COLOR_GRAY), // FIX_COLOR
- new SysCol(SWT.COLOR_WHITE), // WHITE
- new SysCol(SWT.COLOR_GRAY), // GRAY
- new SysCol(SWT.COLOR_BLACK), // BLACK
- new SysCol(SWT.COLOR_DARK_GRAY), // DARK_GRAY
-
- new SysCol(SWT.COLOR_DARK_GRAY), // BLACK_BORDER
- new RGB(75, 115, 120), // GREEN_BORDER
- new SysCol(SWT.COLOR_DARK_BLUE), // DARK_BLUE_BORDER
- new RGB(242, 225, 168), // ORANGE_BORDER
- new RGB(210, 150, 60), // GOLD_BORDER
- new SysCol(SWT.COLOR_DARK_RED), // RED_BORDER
- new SysCol(SWT.COLOR_BLACK), // GRAY_BORDER
- new SysCol(SWT.COLOR_DARK_GRAY), // DARK_GREEN_BORDER
- new RGB(75, 115, 120), // DARK_YELLOW_BORDER
- new SysCol(SWT.COLOR_DARK_BLUE), // MAGENTA3_BORDER
- new RGB(242, 225, 168), // PURPLE1_BORDER
- new RGB(210, 150, 60), // PINK1_BORDER
- new SysCol(SWT.COLOR_DARK_RED), // AQUAMARINE_BORDER
- new SysCol(SWT.COLOR_BLACK), // LIGHT_BLUE_BORDER
- new SysCol(SWT.COLOR_DARK_GRAY), // BLUE_BORDER
- new RGB(75, 115, 120), // OLIVE_BORDER
-
-
- new SysCol(SWT.COLOR_GRAY), // MID_LINE
- new SysCol(SWT.COLOR_RED), // RED
- new SysCol(SWT.COLOR_GREEN), // GREEN
- new SysCol(SWT.COLOR_BLUE), // BLUE
- new SysCol(SWT.COLOR_YELLOW), // YELLOW
- new SysCol(SWT.COLOR_CYAN), // CYAN
- new SysCol(SWT.COLOR_MAGENTA), // MAGENTA
-
- new SysCol(SWT.COLOR_BLUE), // SELECTED_TIME
- new SysCol(SWT.COLOR_WIDGET_BACKGROUND), // LEGEND_BACKGROUND
- new SysCol(SWT.COLOR_WIDGET_DARK_SHADOW), // LEGEND_FOREGROUND
-
- new Mix(new RGB(150, 200, 240), new SysCol(SWT.COLOR_LIST_BACKGROUND)), // GR_BACKGROUND
- new RGB(0, 0, 50), // GR_FOREGROUND
- new Mix(new RGB(150, 200, 240), new SysCol(SWT.COLOR_WHITE), 6, 1), // GR_BACKGROUND_SEL
- new RGB(0, 0, 50), // GR_FOREGROUND_SEL
- new Mix(new RGB(150, 200, 240), new SysCol(SWT.COLOR_WHITE), 6, 1), // GR_BACKGROUND_SEL_NOFOCUS
- new RGB(0, 0, 50), // GR_FOREGROUND_SEL_NOFOCUS
-
- new Mix(new SysCol(SWT.COLOR_GRAY), new SysCol(SWT.COLOR_LIST_BACKGROUND), 1, 3), // LIGHT_LINE
-
- new Mix(new SysCol(SWT.COLOR_GRAY), new SysCol(SWT.COLOR_LIST_BACKGROUND), 1, 6), // BACKGROUND_NAME
- new Mix(new SysCol(SWT.COLOR_GRAY), new RGB(232, 242, 254), 1, 6), // BACKGROUND_NAME_SEL
- new Mix(new SysCol(SWT.COLOR_GRAY), new SysCol(SWT.COLOR_WIDGET_BACKGROUND), 1, 6), // BACKGROUND_NAME_SEL_NOFOCUS
- };
-
- private final Color fColors[];
-
- /**
- * Default constructor
- */
- public TimeGraphColorScheme() {
- fColors = new Color[PROVIDERS_MAP.length];
- }
-
- /**
- * Dispose this color scheme
- */
- public void dispose() {
- for (int i = 0; i < fColors.length; i++) {
- Utils.dispose(fColors[i]);
- fColors[i] = null;
- }
- }
-
- /**
- * Get the color matching the given index
- *
- * @param idx
- * The index
- * @return The matching color
- */
- public Color getColor(int idx) {
- if (null == fColors[idx]) {
- if (idx >= STATES_SEL0 && idx <= STATES_SEL1) {
- Color col1 = getColor(idx - STATES_SEL0);
- Color col2 = getColor(BACKGROUND_SEL);
- fColors[idx] = Utils.mixColors(col1, col2, 3, 1);
- } else {
- fColors[idx] = PROVIDERS_MAP[idx].get();
- }
- }
- return fColors[idx];
- }
-
- /**
- * Get an entry's background color based on its status.
- *
- * @param selected
- * If the entry is selected
- * @param focused
- * If the entry is focused
- * @param name
- * Get the color of the name column (false for other columns)
- * @return The matching color
- */
- public Color getBkColor(boolean selected, boolean focused, boolean name) {
- if (name) {
- if (selected && focused) {
- return getColor(BACKGROUND_NAME_SEL);
- }
- if (selected) {
- return getColor(BACKGROUND_NAME_SEL_NOFOCUS);
- }
- return getColor(BACKGROUND_NAME);
- }
- if (selected && focused) {
- return getColor(BACKGROUND_SEL);
- }
- if (selected) {
- return getColor(BACKGROUND_SEL_NOFOCUS);
- }
- return getColor(BACKGROUND);
- }
-
- /**
- * Get the correct foreground color
- *
- * @param selected
- * Is the entry selected
- * @param focused
- * Is the entry focused
- * @return The matching color
- */
- public Color getFgColor(boolean selected, boolean focused) {
- if (selected && focused) {
- return getColor(FOREGROUND_SEL);
- }
- if (selected) {
- return getColor(FOREGROUND_SEL_NOFOCUS);
- }
- return getColor(FOREGROUND);
- }
-
- /**
- * Get the correct background color group
- *
- * @param selected
- * Is the entry selected
- * @param focused
- * Is the entry focused
- * @return The matching color
- */
- public Color getBkColorGroup(boolean selected, boolean focused) {
- if (selected && focused) {
- return getColor(GR_BACKGROUND_SEL);
- }
- if (selected) {
- return getColor(GR_BACKGROUND_SEL_NOFOCUS);
- }
- return getColor(GR_BACKGROUND);
- }
-
- /**
- * Get the correct foreground color group
- *
- * @param selected
- * Is the entry selected
- * @param focused
- * Is the entry focused
- * @return The matching color
- */
- public Color getFgColorGroup(boolean selected, boolean focused) {
- if (selected && focused) {
- return getColor(GR_FOREGROUND_SEL);
- }
- if (selected) {
- return getColor(GR_FOREGROUND_SEL_NOFOCUS);
- }
- return getColor(GR_FOREGROUND);
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/widgets/timegraph/widgets/TimeGraphControl.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/widgets/timegraph/widgets/TimeGraphControl.java
deleted file mode 100644
index b05e907f4a..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/widgets/timegraph/widgets/TimeGraphControl.java
+++ /dev/null
@@ -1,2727 +0,0 @@
-/*****************************************************************************
- * Copyright (c) 2007, 2015 Intel Corporation and others
- *
- * 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:
- * Intel Corporation - Initial API and implementation
- * Ruslan A. Scherbakov, Intel - Initial API and implementation
- * Alvaro Sanchez-Leon, Ericsson - Updated for TMF
- * Patrick Tasse, Ericsson - Refactoring
- * Geneviève Bastien, École Polytechnique de Montréal - Move code to
- * provide base classes for time graph view
- * Add display of links between items
- * Xavier Raynaud, Kalray - Code optimization
- * Generoso Pagano, Inria - Support for drag selection listeners
- *****************************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.widgets.timegraph.widgets;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Iterator;
-import java.util.LinkedHashMap;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.jface.action.IStatusLineManager;
-import org.eclipse.jface.resource.JFaceResources;
-import org.eclipse.jface.resource.LocalResourceManager;
-import org.eclipse.jface.viewers.AbstractTreeViewer;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.ISelectionChangedListener;
-import org.eclipse.jface.viewers.ISelectionProvider;
-import org.eclipse.jface.viewers.ViewerFilter;
-import org.eclipse.linuxtools.tmf.ui.widgets.timegraph.ITimeGraphColorListener;
-import org.eclipse.linuxtools.tmf.ui.widgets.timegraph.ITimeGraphPresentationProvider;
-import org.eclipse.linuxtools.tmf.ui.widgets.timegraph.ITimeGraphPresentationProvider2;
-import org.eclipse.linuxtools.tmf.ui.widgets.timegraph.ITimeGraphTimeListener;
-import org.eclipse.linuxtools.tmf.ui.widgets.timegraph.ITimeGraphTreeListener;
-import org.eclipse.linuxtools.tmf.ui.widgets.timegraph.StateItem;
-import org.eclipse.linuxtools.tmf.ui.widgets.timegraph.TimeGraphTimeEvent;
-import org.eclipse.linuxtools.tmf.ui.widgets.timegraph.TimeGraphTreeExpansionEvent;
-import org.eclipse.linuxtools.tmf.ui.widgets.timegraph.model.ILinkEvent;
-import org.eclipse.linuxtools.tmf.ui.widgets.timegraph.model.ITimeEvent;
-import org.eclipse.linuxtools.tmf.ui.widgets.timegraph.model.ITimeGraphEntry;
-import org.eclipse.linuxtools.tmf.ui.widgets.timegraph.widgets.Utils.Resolution;
-import org.eclipse.linuxtools.tmf.ui.widgets.timegraph.widgets.Utils.TimeFormat;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.ControlEvent;
-import org.eclipse.swt.events.ControlListener;
-import org.eclipse.swt.events.FocusEvent;
-import org.eclipse.swt.events.FocusListener;
-import org.eclipse.swt.events.KeyEvent;
-import org.eclipse.swt.events.KeyListener;
-import org.eclipse.swt.events.MenuDetectEvent;
-import org.eclipse.swt.events.MenuDetectListener;
-import org.eclipse.swt.events.MouseEvent;
-import org.eclipse.swt.events.MouseListener;
-import org.eclipse.swt.events.MouseMoveListener;
-import org.eclipse.swt.events.MouseTrackListener;
-import org.eclipse.swt.events.MouseWheelListener;
-import org.eclipse.swt.events.PaintEvent;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.events.SelectionListener;
-import org.eclipse.swt.events.TraverseEvent;
-import org.eclipse.swt.events.TraverseListener;
-import org.eclipse.swt.events.TypedEvent;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.graphics.Cursor;
-import org.eclipse.swt.graphics.GC;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.graphics.Rectangle;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.Listener;
-
-/**
- * Time graph control implementation
- *
- * @version 1.0
- * @author Alvaro Sanchez-Leon
- * @author Patrick Tasse
- */
-public class TimeGraphControl extends TimeGraphBaseControl
- implements FocusListener, KeyListener, MouseMoveListener, MouseListener, MouseWheelListener,
- ControlListener, SelectionListener, MouseTrackListener, TraverseListener, ISelectionProvider,
- MenuDetectListener, ITmfTimeGraphDrawingHelper, ITimeGraphColorListener, Listener {
-
- /** Max scrollbar size */
- @Deprecated
- public static final int H_SCROLLBAR_MAX = Integer.MAX_VALUE - 1;
-
- /** Constant indicating that all levels of the time graph should be expanded
- * @since 3.1 */
- public static final int ALL_LEVELS = AbstractTreeViewer.ALL_LEVELS;
-
- private static final int DRAG_NONE = 0;
- private static final int DRAG_TRACE_ITEM = 1;
- private static final int DRAG_SPLIT_LINE = 2;
- private static final int DRAG_ZOOM = 3;
- private static final int DRAG_SELECTION = 4;
-
- private static final int CUSTOM_ITEM_HEIGHT = -1; // get item height from provider
-
- private static final double ZOOM_FACTOR = 1.5;
- private static final double ZOOM_IN_FACTOR = 0.8;
- private static final double ZOOM_OUT_FACTOR = 1.25;
-
- private static final int SNAP_WIDTH = 2;
- private static final int ARROW_HOVER_MAX_DIST = 5;
-
- private static final int NO_STATUS = -1;
-
- /** Resource manager */
- private LocalResourceManager fResourceManager = new LocalResourceManager(JFaceResources.getResources());
-
- /** Color map for event types */
- private Color[] fEventColorMap = null;
-
- private ITimeDataProvider fTimeProvider;
- private IStatusLineManager fStatusLineManager = null;
- private TimeGraphScale fTimeGraphScale = null;
-
- private boolean fIsInFocus = false;
- private boolean fMouseOverSplitLine = false;
- private int fGlobalItemHeight = CUSTOM_ITEM_HEIGHT;
- private int fMinimumItemWidth = 0;
- private int fTopIndex = 0;
- private int fDragState = DRAG_NONE;
- private int fDragButton;
- private int fDragX0 = 0;
- private int fDragX = 0;
- private long fDragTime0 = 0; // used to preserve accuracy of modified selection
- private int fIdealNameSpace = 0;
- private long fTime0bak;
- private long fTime1bak;
- private ITimeGraphPresentationProvider fTimeGraphProvider = null;
- private ItemData fItemData = null;
- private List<SelectionListener> fSelectionListeners;
- private List<ITimeGraphTimeListener> fDragSelectionListeners;
- private final List<ISelectionChangedListener> fSelectionChangedListeners = new ArrayList<>();
- private final List<ITimeGraphTreeListener> fTreeListeners = new ArrayList<>();
- private final List<MenuDetectListener> fTimeGraphEntryMenuListeners = new ArrayList<>();
- private final List<MenuDetectListener> fTimeEventMenuListeners = new ArrayList<>();
- private final Cursor fDragCursor = Display.getDefault().getSystemCursor(SWT.CURSOR_HAND);
- private final Cursor fResizeCursor = Display.getDefault().getSystemCursor(SWT.CURSOR_IBEAM);
- private final Cursor fWaitCursor = Display.getDefault().getSystemCursor(SWT.CURSOR_WAIT);
- private final Cursor fZoomCursor = Display.getDefault().getSystemCursor(SWT.CURSOR_SIZEWE);
- private final List<ViewerFilter> fFilters = new ArrayList<>();
- private MenuDetectEvent fPendingMenuDetectEvent = null;
- private boolean fHideArrows = false;
- private int fAutoExpandLevel = ALL_LEVELS;
-
- private int fBorderWidth = 0;
- private int fHeaderHeight = 0;
-
- /**
- * Standard constructor
- *
- * @param parent
- * The parent composite object
- * @param colors
- * The color scheme to use
- */
- public TimeGraphControl(Composite parent, TimeGraphColorScheme colors) {
-
- super(parent, colors, SWT.NO_BACKGROUND | SWT.DOUBLE_BUFFERED);
-
- fItemData = new ItemData();
-
- addFocusListener(this);
- addMouseListener(this);
- addMouseMoveListener(this);
- addMouseTrackListener(this);
- addMouseWheelListener(this);
- addTraverseListener(this);
- addKeyListener(this);
- addControlListener(this);
- addMenuDetectListener(this);
- addListener(SWT.MouseWheel, this);
- }
-
- @Override
- public void dispose() {
- super.dispose();
- fResourceManager.dispose();
- }
-
- /**
- * Sets the timegraph provider used by this timegraph viewer.
- *
- * @param timeGraphProvider the timegraph provider
- */
- public void setTimeGraphProvider(ITimeGraphPresentationProvider timeGraphProvider) {
- fTimeGraphProvider = timeGraphProvider;
-
- if (timeGraphProvider instanceof ITimeGraphPresentationProvider2) {
- ((ITimeGraphPresentationProvider2) timeGraphProvider).setDrawingHelper(this);
- ((ITimeGraphPresentationProvider2) timeGraphProvider).addColorListener(this);
- }
-
- StateItem[] stateItems = fTimeGraphProvider.getStateTable();
- colorSettingsChanged(stateItems);
- }
-
- /**
- * Gets the timegraph provider used by this timegraph viewer.
- *
- * @return the timegraph provider, or <code>null</code> if not set.
- * @since 3.0
- */
- public ITimeGraphPresentationProvider getTimeGraphProvider() {
- return fTimeGraphProvider;
- }
-
- /**
- * Gets the color map used by this timegraph viewer.
- *
- * @return a color map, or <code>null</code> if not set.
- * @since 3.0
- */
- public Color[] getEventColorMap() {
- return fEventColorMap;
- }
-
- /**
- * Assign the given time provider
- *
- * @param timeProvider
- * The time provider
- */
- public void setTimeProvider(ITimeDataProvider timeProvider) {
- fTimeProvider = timeProvider;
- adjustScrolls();
- redraw();
- }
-
- /**
- * Assign the status line manager
- *
- * @param statusLineManager
- * The status line manager, or null to disable status line messages
- * @since 2.1
- */
- public void setStatusLineManager(IStatusLineManager statusLineManager) {
- if (fStatusLineManager != null && statusLineManager == null) {
- fStatusLineManager.setMessage(""); //$NON-NLS-1$
- }
- fStatusLineManager = statusLineManager;
- }
-
- /**
- * Assign the time graph scale
- *
- * @param timeGraphScale
- * The time graph scale
- * @since 2.1
- */
- public void setTimeGraphScale(TimeGraphScale timeGraphScale) {
- fTimeGraphScale = timeGraphScale;
- }
-
- /**
- * Add a selection listener
- *
- * @param listener
- * The listener to add
- */
- public void addSelectionListener(SelectionListener listener) {
- if (listener == null) {
- SWT.error(SWT.ERROR_NULL_ARGUMENT);
- }
- if (null == fSelectionListeners) {
- fSelectionListeners = new ArrayList<>();
- }
- fSelectionListeners.add(listener);
- }
-
- /**
- * Remove a selection listener
- *
- * @param listener
- * The listener to remove
- */
- public void removeSelectionListener(SelectionListener listener) {
- if (null != fSelectionListeners) {
- fSelectionListeners.remove(listener);
- }
- }
-
- /**
- * Selection changed callback
- */
- public void fireSelectionChanged() {
- if (null != fSelectionListeners) {
- Iterator<SelectionListener> it = fSelectionListeners.iterator();
- while (it.hasNext()) {
- SelectionListener listener = it.next();
- listener.widgetSelected(null);
- }
- }
- }
-
- /**
- * Default selection callback
- */
- public void fireDefaultSelection() {
- if (null != fSelectionListeners) {
- Iterator<SelectionListener> it = fSelectionListeners.iterator();
- while (it.hasNext()) {
- SelectionListener listener = it.next();
- listener.widgetDefaultSelected(null);
- }
- }
- }
-
- /**
- * Add a drag selection listener
- *
- * @param listener
- * The listener to add
- * @since 3.1
- */
- public void addDragSelectionListener(ITimeGraphTimeListener listener) {
- if (listener == null) {
- SWT.error(SWT.ERROR_NULL_ARGUMENT);
- }
- if (null == fDragSelectionListeners) {
- fDragSelectionListeners = new ArrayList<>();
- }
- fDragSelectionListeners.add(listener);
- }
-
- /**
- * Remove a drag selection listener
- *
- * @param listener
- * The listener to remove
- * @since 3.1
- */
- public void removeDragSelectionListener(ITimeGraphTimeListener listener) {
- if (null != fDragSelectionListeners) {
- fDragSelectionListeners.remove(listener);
- }
- }
-
- /**
- * Drag Selection changed callback
- *
- * @param start
- * Time interval start
- * @param end
- * Time interval end
- * @since 3.1
- */
- public void fireDragSelectionChanged(long start, long end) {
- // check for backward intervals
- long beginTime, endTime;
- if (start > end) {
- beginTime = end;
- endTime = start;
- } else {
- beginTime = start;
- endTime = end;
- }
- // call the listeners
- if (null != fDragSelectionListeners) {
- Iterator<ITimeGraphTimeListener> it = fDragSelectionListeners.iterator();
- while (it.hasNext()) {
- ITimeGraphTimeListener listener = it.next();
- listener.timeSelected(new TimeGraphTimeEvent(this, beginTime, endTime));
- }
- }
- }
-
- /**
- * Get the traces in the model
- *
- * @return The array of traces
- */
- public ITimeGraphEntry[] getTraces() {
- return fItemData.getEntries();
- }
-
- /**
- * Get the on/off trace filters
- *
- * @return The array of filters
- */
- public boolean[] getTraceFilter() {
- return fItemData.getEntryFilter();
- }
-
- /**
- * Refresh the data for the thing
- */
- public void refreshData() {
- fItemData.refreshData();
- adjustScrolls();
- redraw();
- }
-
- /**
- * Refresh data for the given traces
- *
- * @param traces
- * The traces to refresh
- */
- public void refreshData(ITimeGraphEntry[] traces) {
- fItemData.refreshData(traces);
- adjustScrolls();
- redraw();
- }
-
- /**
- * Refresh the links (arrows) of this widget
- *
- * @param events The link events to refresh
- * @since 2.1
- */
- public void refreshArrows(List<ILinkEvent> events) {
- fItemData.refreshArrows(events);
- }
-
- /**
- * Adjust the scoll bars
- */
- @Deprecated
- public void adjustScrolls() {
- }
-
- boolean ensureVisibleItem(int idx, boolean redraw) {
- boolean changed = false;
- int index = idx;
- if (index < 0) {
- for (index = 0; index < fItemData.fExpandedItems.length; index++) {
- if (fItemData.fExpandedItems[index].fSelected) {
- break;
- }
- }
- }
- if (index >= fItemData.fExpandedItems.length) {
- return changed;
- }
- if (index < fTopIndex) {
- setTopIndex(index);
- if (redraw) {
- redraw();
- }
- changed = true;
- } else {
- int page = countPerPage();
- if (index >= fTopIndex + page) {
- setTopIndex(index - page + 1);
- if (redraw) {
- redraw();
- }
- changed = true;
- }
- }
- return changed;
- }
-
- /**
- * Assign the given index as the top one
- *
- * @param idx
- * The index
- */
- public void setTopIndex(int idx) {
- int index = Math.min(idx, fItemData.fExpandedItems.length - countPerPage());
- index = Math.max(0, index);
- fTopIndex = index;
- redraw();
- }
-
- /**
- * Sets the auto-expand level to be used when the entries are refreshed
- * using {@link #refreshData()} or {@link #refreshData(ITimeGraphEntry[])}.
- * The value 0 means that there is no auto-expand; 1 means that top-level
- * entries are expanded, but not their children; 2 means that top-level
- * entries are expanded, and their children, but not grand-children; and so
- * on.
- * <p>
- * The value {@link #ALL_LEVELS} means that all subtrees should be expanded.
- * </p>
- * @param level
- * non-negative level, or <code>ALL_LEVELS</code> to expand all
- * levels of the tree
- * @since 3.1
- */
- public void setAutoExpandLevel(int level) {
- fAutoExpandLevel = level;
- }
-
- /**
- * Returns the auto-expand level.
- *
- * @return non-negative level, or <code>ALL_LEVELS</code> if all levels of
- * the tree are expanded automatically
- * @see #setAutoExpandLevel
- * @since 3.1
- */
- public int getAutoExpandLevel() {
- return fAutoExpandLevel;
- }
-
- /**
- * Set the expanded state of a given entry
- *
- * @param entry
- * The entry
- * @param expanded
- * True if expanded, false if collapsed
- */
- public void setExpandedState(ITimeGraphEntry entry, boolean expanded) {
- Item item = fItemData.findItem(entry);
- if (item != null && item.fExpanded != expanded) {
- item.fExpanded = expanded;
- fItemData.updateExpandedItems();
- redraw();
- }
- }
-
- /**
- * Collapses all nodes of the viewer's tree, starting with the root.
- *
- * @since 2.0
- */
- public void collapseAll() {
- for (Item item : fItemData.fItems) {
- item.fExpanded = false;
- }
- fItemData.updateExpandedItems();
- redraw();
- }
-
- /**
- * Expands all nodes of the viewer's tree, starting with the root.
- *
- * @since 2.0
- */
- public void expandAll() {
- for (Item item : fItemData.fItems) {
- item.fExpanded = true;
- }
- fItemData.updateExpandedItems();
- redraw();
- }
-
- /**
- * Add a tree listener
- *
- * @param listener
- * The listener to add
- */
- public void addTreeListener(ITimeGraphTreeListener listener) {
- if (!fTreeListeners.contains(listener)) {
- fTreeListeners.add(listener);
- }
- }
-
- /**
- * Remove a tree listener
- *
- * @param listener
- * The listener to remove
- */
- public void removeTreeListener(ITimeGraphTreeListener listener) {
- if (fTreeListeners.contains(listener)) {
- fTreeListeners.remove(listener);
- }
- }
-
- /**
- * Tree event callback
- *
- * @param entry
- * The affected entry
- * @param expanded
- * The expanded state (true for expanded, false for collapsed)
- */
- public void fireTreeEvent(ITimeGraphEntry entry, boolean expanded) {
- TimeGraphTreeExpansionEvent event = new TimeGraphTreeExpansionEvent(this, entry);
- for (ITimeGraphTreeListener listener : fTreeListeners) {
- if (expanded) {
- listener.treeExpanded(event);
- } else {
- listener.treeCollapsed(event);
- }
- }
- }
-
- /**
- * Add a menu listener on {@link ITimeGraphEntry}s
- * @param listener
- * The listener to add
- * @since 1.2
- */
- public void addTimeGraphEntryMenuListener(MenuDetectListener listener) {
- if (!fTimeGraphEntryMenuListeners.contains(listener)) {
- fTimeGraphEntryMenuListeners.add(listener);
- }
- }
-
- /**
- * Remove a menu listener on {@link ITimeGraphEntry}s
- *
- * @param listener
- * The listener to remove
- * @since 1.2
- */
- public void removeTimeGraphEntryMenuListener(MenuDetectListener listener) {
- if (fTimeGraphEntryMenuListeners.contains(listener)) {
- fTimeGraphEntryMenuListeners.remove(listener);
- }
- }
-
- /**
- * Menu event callback on {@link ITimeGraphEntry}s
- *
- * @param event
- * The MenuDetectEvent, with field {@link TypedEvent#data} set to the selected {@link ITimeGraphEntry}
- */
- private void fireMenuEventOnTimeGraphEntry(MenuDetectEvent event) {
- for (MenuDetectListener listener : fTimeGraphEntryMenuListeners) {
- listener.menuDetected(event);
- }
- }
-
- /**
- * Add a menu listener on {@link ITimeEvent}s
- *
- * @param listener
- * The listener to add
- * @since 1.2
- */
- public void addTimeEventMenuListener(MenuDetectListener listener) {
- if (!fTimeEventMenuListeners.contains(listener)) {
- fTimeEventMenuListeners.add(listener);
- }
- }
-
- /**
- * Remove a menu listener on {@link ITimeEvent}s
- *
- * @param listener
- * The listener to remove
- * @since 1.2
- */
- public void removeTimeEventMenuListener(MenuDetectListener listener) {
- if (fTimeEventMenuListeners.contains(listener)) {
- fTimeEventMenuListeners.remove(listener);
- }
- }
-
- /**
- * Menu event callback on {@link ITimeEvent}s
- *
- * @param event
- * The MenuDetectEvent, with field {@link TypedEvent#data} set to the selected {@link ITimeEvent}
- */
- private void fireMenuEventOnTimeEvent(MenuDetectEvent event) {
- for (MenuDetectListener listener : fTimeEventMenuListeners) {
- listener.menuDetected(event);
- }
- }
-
- @Override
- public ISelection getSelection() {
- TimeGraphSelection sel = new TimeGraphSelection();
- ITimeGraphEntry trace = getSelectedTrace();
- if (null != trace && null != fTimeProvider) {
- long selectedTime = fTimeProvider.getSelectionBegin();
- ITimeEvent event = Utils.findEvent(trace, selectedTime, 0);
- if (event != null) {
- sel.add(event);
- } else {
- sel.add(trace);
- }
- }
- return sel;
- }
-
- /**
- * Get the selection object
- *
- * @return The selection
- */
- public ISelection getSelectionTrace() {
- TimeGraphSelection sel = new TimeGraphSelection();
- ITimeGraphEntry trace = getSelectedTrace();
- if (null != trace) {
- sel.add(trace);
- }
- return sel;
- }
-
- /**
- * Enable/disable one of the traces in the model
- *
- * @param n
- * 1 to enable it, -1 to disable. The method returns immediately
- * if another value is used.
- */
- public void selectTrace(int n) {
- if ((n != 1) && (n != -1)) {
- return;
- }
-
- boolean changed = false;
- int lastSelection = -1;
- for (int i = 0; i < fItemData.fExpandedItems.length; i++) {
- Item item = fItemData.fExpandedItems[i];
- if (item.fSelected) {
- lastSelection = i;
- if ((1 == n) && (i < fItemData.fExpandedItems.length - 1)) {
- item.fSelected = false;
- item = fItemData.fExpandedItems[i + 1];
- item.fSelected = true;
- changed = true;
- } else if ((-1 == n) && (i > 0)) {
- item.fSelected = false;
- item = fItemData.fExpandedItems[i - 1];
- item.fSelected = true;
- changed = true;
- }
- break;
- }
- }
-
- if (lastSelection < 0 && fItemData.fExpandedItems.length > 0) {
- Item item = fItemData.fExpandedItems[0];
- item.fSelected = true;
- changed = true;
- }
-
- if (changed) {
- ensureVisibleItem(-1, false);
- redraw();
- fireSelectionChanged();
- }
- }
-
- /**
- * Select an event
- *
- * @param n
- * 1 for next event, -1 for previous event
- */
- public void selectEvent(int n) {
- if (null == fTimeProvider) {
- return;
- }
- ITimeGraphEntry trace = getSelectedTrace();
- if (trace == null) {
- return;
- }
- long selectedTime = fTimeProvider.getSelectionBegin();
- long endTime = fTimeProvider.getEndTime();
- ITimeEvent nextEvent;
- if (-1 == n && selectedTime > endTime) {
- nextEvent = Utils.findEvent(trace, selectedTime, 0);
- } else {
- nextEvent = Utils.findEvent(trace, selectedTime, n);
- }
- if (null == nextEvent && -1 == n) {
- nextEvent = Utils.getFirstEvent(trace);
- }
- if (null != nextEvent) {
- long nextTime = nextEvent.getTime();
- // If last event detected e.g. going back or not moving to a next
- // event
- if (nextTime <= selectedTime && n == 1) {
- // Select to the end of this last event
- nextTime = nextEvent.getTime() + nextEvent.getDuration();
- // but not beyond the end of the trace
- if (nextTime > endTime) {
- nextTime = endTime;
- }
- } else if (n == -1 && nextEvent.getTime() + nextEvent.getDuration() < selectedTime) {
- // for previous event go to its end time unless we were already there
- nextTime = nextEvent.getTime() + nextEvent.getDuration();
- }
- fTimeProvider.setSelectedTimeNotify(nextTime, true);
- fireSelectionChanged();
- } else if (1 == n) {
- fTimeProvider.setSelectedTimeNotify(endTime, true);
- fireSelectionChanged();
- }
- }
-
- /**
- * Select the next event
- */
- public void selectNextEvent() {
- selectEvent(1);
- // Notify if visible time window has been adjusted
- fTimeProvider.setStartFinishTimeNotify(fTimeProvider.getTime0(), fTimeProvider.getTime1());
- }
-
- /**
- * Select the previous event
- */
- public void selectPrevEvent() {
- selectEvent(-1);
- // Notify if visible time window has been adjusted
- fTimeProvider.setStartFinishTimeNotify(fTimeProvider.getTime0(), fTimeProvider.getTime1());
- }
-
- /**
- * Select the next trace
- */
- public void selectNextTrace() {
- selectTrace(1);
- }
-
- /**
- * Select the previous trace
- */
- public void selectPrevTrace() {
- selectTrace(-1);
- }
-
- /**
- * Scroll left or right by one half window size
- *
- * @param left
- * true to scroll left, false to scroll right
- *
- * @since 3.2
- */
- public void horizontalScroll(boolean left) {
- long time0 = fTimeProvider.getTime0();
- long time1 = fTimeProvider.getTime1();
- long timeMin = fTimeProvider.getMinTime();
- long timeMax = fTimeProvider.getMaxTime();
- long range = time1 - time0;
- if (range <= 0) {
- return;
- }
- long increment = Math.max(1, range / 2);
- if (left) {
- time0 = Math.max(time0 - increment, timeMin);
- time1 = time0 + range;
- } else {
- time1 = Math.min(time1 + increment, timeMax);
- time0 = time1 - range;
- }
- fTimeProvider.setStartFinishTimeNotify(time0, time1);
- }
-
- /**
- * Zoom based on mouse cursor location with mouse scrolling
- *
- * @param zoomIn true to zoom in, false to zoom out
- */
- public void zoom(boolean zoomIn) {
- int globalX = getDisplay().getCursorLocation().x;
- Point p = toControl(globalX, 0);
- int nameSpace = fTimeProvider.getNameSpace();
- int timeSpace = fTimeProvider.getTimeSpace();
- int xPos = Math.max(nameSpace, Math.min(nameSpace + timeSpace, p.x));
- long time0 = fTimeProvider.getTime0();
- long time1 = fTimeProvider.getTime1();
- long interval = time1 - time0;
- if (interval == 0) {
- interval = 1;
- } // to allow getting out of single point interval
- long newInterval;
- if (zoomIn) {
- newInterval = Math.max(Math.round(interval * ZOOM_IN_FACTOR), fTimeProvider.getMinTimeInterval());
- } else {
- newInterval = (long) Math.ceil(interval * ZOOM_OUT_FACTOR);
- }
- long center = time0 + Math.round(((double) (xPos - nameSpace) / timeSpace * interval));
- long newTime0 = center - Math.round((double) newInterval * (center - time0) / interval);
- long newTime1 = newTime0 + newInterval;
- fTimeProvider.setStartFinishTimeNotify(newTime0, newTime1);
- }
-
- /**
- * zoom in using single click
- */
- public void zoomIn() {
- long prevTime0 = fTimeProvider.getTime0();
- long prevTime1 = fTimeProvider.getTime1();
- long prevRange = prevTime1 - prevTime0;
- if (prevRange == 0) {
- return;
- }
- ITimeDataProvider provider = fTimeProvider;
- long selTime = (provider.getSelectionEnd() + provider.getSelectionBegin()) / 2;
- if (selTime <= prevTime0 || selTime >= prevTime1) {
- selTime = (prevTime0 + prevTime1) / 2;
- }
- long time0 = selTime - (long) ((selTime - prevTime0) / ZOOM_FACTOR);
- long time1 = selTime + (long) ((prevTime1 - selTime) / ZOOM_FACTOR);
-
- long inaccuracy = (fTimeProvider.getMaxTime() - fTimeProvider.getMinTime()) - (time1 - time0);
-
- if (inaccuracy > 0 && inaccuracy < 100) {
- fTimeProvider.setStartFinishTimeNotify(fTimeProvider.getMinTime(), fTimeProvider.getMaxTime());
- return;
- }
-
- long min = fTimeProvider.getMinTimeInterval();
- if ((time1 - time0) < min) {
- time0 = selTime - (selTime - prevTime0) * min / prevRange;
- time1 = time0 + min;
- }
-
- fTimeProvider.setStartFinishTimeNotify(time0, time1);
- }
-
- /**
- * zoom out using single click
- */
- public void zoomOut() {
- long prevTime0 = fTimeProvider.getTime0();
- long prevTime1 = fTimeProvider.getTime1();
- ITimeDataProvider provider = fTimeProvider;
- long selTime = (provider.getSelectionEnd() + provider.getSelectionBegin()) / 2;
- if (selTime <= prevTime0 || selTime >= prevTime1) {
- selTime = (prevTime0 + prevTime1) / 2;
- }
- long time0 = (long) (selTime - (selTime - prevTime0) * ZOOM_FACTOR);
- long time1 = (long) (selTime + (prevTime1 - selTime) * ZOOM_FACTOR);
-
- long inaccuracy = (fTimeProvider.getMaxTime() - fTimeProvider.getMinTime()) - (time1 - time0);
- if (inaccuracy > 0 && inaccuracy < 100) {
- fTimeProvider.setStartFinishTimeNotify(fTimeProvider.getMinTime(), fTimeProvider.getMaxTime());
- return;
- }
-
- fTimeProvider.setStartFinishTimeNotify(time0, time1);
- }
-
- /**
- * Hide arrows
- *
- * @param hideArrows true to hide arrows
- *
- * @since 2.1
- */
- public void hideArrows(boolean hideArrows) {
- fHideArrows = hideArrows;
- }
-
- /**
- * Follow the arrow forward
- *
- * @since 2.1
- */
- public void followArrowFwd() {
- ITimeGraphEntry trace = getSelectedTrace();
- if (trace == null) {
- return;
- }
- long selectedTime = fTimeProvider.getSelectionBegin();
- for (ILinkEvent link : fItemData.fLinks) {
- if (link.getEntry() == trace && link.getTime() == selectedTime) {
- selectItem(link.getDestinationEntry(), false);
- if (link.getDuration() != 0) {
- fTimeProvider.setSelectedTimeNotify(link.getTime() + link.getDuration(), true);
- // Notify if visible time window has been adjusted
- fTimeProvider.setStartFinishTimeNotify(fTimeProvider.getTime0(), fTimeProvider.getTime1());
- }
- fireSelectionChanged();
- return;
- }
- }
- selectNextEvent();
- }
-
- /**
- * Follow the arrow backward
- *
- * @since 2.1
- */
- public void followArrowBwd() {
- ITimeGraphEntry trace = getSelectedTrace();
- if (trace == null) {
- return;
- }
- long selectedTime = fTimeProvider.getSelectionBegin();
- for (ILinkEvent link : fItemData.fLinks) {
- if (link.getDestinationEntry() == trace && link.getTime() + link.getDuration() == selectedTime) {
- selectItem(link.getEntry(), false);
- if (link.getDuration() != 0) {
- fTimeProvider.setSelectedTimeNotify(link.getTime(), true);
- // Notify if visible time window has been adjusted
- fTimeProvider.setStartFinishTimeNotify(fTimeProvider.getTime0(), fTimeProvider.getTime1());
- }
- fireSelectionChanged();
- return;
- }
- }
- selectPrevEvent();
- }
-
- /**
- * Return the currently selected trace
- *
- * @return The entry matching the trace
- */
- public ITimeGraphEntry getSelectedTrace() {
- ITimeGraphEntry trace = null;
- int idx = getSelectedIndex();
- if (idx >= 0) {
- trace = fItemData.fExpandedItems[idx].fEntry;
- }
- return trace;
- }
-
- /**
- * Retrieve the index of the currently selected item
- *
- * @return The index
- */
- public int getSelectedIndex() {
- int idx = -1;
- for (int i = 0; i < fItemData.fExpandedItems.length; i++) {
- Item item = fItemData.fExpandedItems[i];
- if (item.fSelected) {
- idx = i;
- break;
- }
- }
- return idx;
- }
-
- boolean toggle(int idx) {
- boolean toggled = false;
- if (idx >= 0 && idx < fItemData.fExpandedItems.length) {
- Item item = fItemData.fExpandedItems[idx];
- if (item.fHasChildren) {
- item.fExpanded = !item.fExpanded;
- fItemData.updateExpandedItems();
- adjustScrolls();
- redraw();
- toggled = true;
- fireTreeEvent(item.fEntry, item.fExpanded);
- }
- }
- return toggled;
- }
-
- /**
- * Gets the index of the item at the given location.
- *
- * @param y
- * the y coordinate
- * @return the index of the item at the given location, of -1 if none.
- * @since 3.0
- */
- protected int getItemIndexAtY(int y) {
- if (y < 0) {
- return -1;
- }
- int ySum = 0;
- for (int idx = fTopIndex; idx < fItemData.fExpandedItems.length; idx++) {
- ySum += fItemData.fExpandedItems[idx].fItemHeight;
- if (y < ySum) {
- return idx;
- }
- }
- return -1;
- }
-
- boolean isOverSplitLine(int x) {
- if (x < 0 || null == fTimeProvider) {
- return false;
- }
- int nameWidth = fTimeProvider.getNameSpace();
- return Math.abs(x - nameWidth) < SNAP_WIDTH;
- }
-
- /**
- * Gets the {@link ITimeGraphEntry} at the given location.
- *
- * @param pt
- * a point in the widget
- * @return the {@link ITimeGraphEntry} at this point, or <code>null</code>
- * if none.
- * @since 3.0
- */
- protected ITimeGraphEntry getEntry(Point pt) {
- int idx = getItemIndexAtY(pt.y);
- return idx >= 0 ? fItemData.fExpandedItems[idx].fEntry : null;
- }
-
- /**
- * Return the arrow event closest to the given point that is no further than
- * a maximum distance.
- *
- * @param pt
- * a point in the widget
- * @return The closest arrow event, or null if there is none close enough.
- * @since 3.2
- */
- protected ILinkEvent getArrow(Point pt) {
- if (fHideArrows) {
- return null;
- }
- ILinkEvent linkEvent = null;
- double minDistance = Double.MAX_VALUE;
- for (ILinkEvent event : fItemData.fLinks) {
- Rectangle rect = getArrowRectangle(new Rectangle(0, 0, 0, 0), event);
- if (rect != null) {
- int x1 = rect.x;
- int y1 = rect.y;
- int x2 = x1 + rect.width;
- int y2 = y1 + rect.height;
- double d = Utils.distance(pt.x, pt.y, x1, y1, x2, y2);
- if (minDistance > d) {
- minDistance = d;
- linkEvent = event;
- }
- }
- }
- if (minDistance <= ARROW_HOVER_MAX_DIST) {
- return linkEvent;
- }
- return null;
- }
-
- /**
- * @since 2.0
- */
- @Override
- public int getXForTime(long time) {
- if (null == fTimeProvider) {
- return -1;
- }
- long time0 = fTimeProvider.getTime0();
- long time1 = fTimeProvider.getTime1();
- int width = getSize().x;
- int nameSpace = fTimeProvider.getNameSpace();
- double pixelsPerNanoSec = (width - nameSpace <= RIGHT_MARGIN) ? 0 : (double) (width - nameSpace - RIGHT_MARGIN) / (time1 - time0);
- int x = getBounds().x + nameSpace + (int) ((time - time0) * pixelsPerNanoSec);
- return x;
- }
-
- /**
- * @since 2.0
- */
- @Override
- public long getTimeAtX(int coord) {
- if (null == fTimeProvider) {
- return -1;
- }
- long hitTime = -1;
- Point size = getSize();
- long time0 = fTimeProvider.getTime0();
- long time1 = fTimeProvider.getTime1();
- int nameWidth = fTimeProvider.getNameSpace();
- final int x = coord - nameWidth;
- int timeWidth = size.x - nameWidth - RIGHT_MARGIN;
- if (x >= 0 && size.x >= nameWidth) {
- if (time1 - time0 > timeWidth) {
- // nanosecond smaller than one pixel: use the first integer nanosecond of this pixel's time range
- hitTime = time0 + (long) Math.ceil((time1 - time0) * ((double) x / timeWidth));
- } else {
- // nanosecond greater than one pixel: use the nanosecond that covers this pixel start position
- hitTime = time0 + (long) Math.floor((time1 - time0) * ((double) x / timeWidth));
- }
- }
- return hitTime;
- }
-
- void selectItem(int idx, boolean addSelection) {
- boolean changed = false;
- if (addSelection) {
- if (idx >= 0 && idx < fItemData.fExpandedItems.length) {
- Item item = fItemData.fExpandedItems[idx];
- changed = !item.fSelected;
- item.fSelected = true;
- }
- } else {
- for (int i = 0; i < fItemData.fExpandedItems.length; i++) {
- Item item = fItemData.fExpandedItems[i];
- if ((i == idx && !item.fSelected) || (idx == -1 && item.fSelected)) {
- changed = true;
- }
- item.fSelected = i == idx;
- }
- }
- changed |= ensureVisibleItem(idx, true);
- if (changed) {
- redraw();
- }
- }
-
- /**
- * Callback for item selection
- *
- * @param trace
- * The entry matching the trace
- * @param addSelection
- * If the selection is added or removed
- */
- public void selectItem(ITimeGraphEntry trace, boolean addSelection) {
- int idx = fItemData.findItemIndex(trace);
- selectItem(idx, addSelection);
- }
-
- /**
- * Retrieve the number of entries shown per page.
- *
- * @return The count
- */
- public int countPerPage() {
- int height = getSize().y;
- int count = 0;
- int ySum = 0;
- for (int idx = fTopIndex; idx < fItemData.fExpandedItems.length; idx++) {
- ySum += fItemData.fExpandedItems[idx].fItemHeight;
- if (ySum >= height) {
- return count;
- }
- count++;
- }
- for (int idx = fTopIndex - 1; idx >= 0; idx--) {
- ySum += fItemData.fExpandedItems[idx].fItemHeight;
- if (ySum >= height) {
- return count;
- }
- count++;
- }
- return count;
- }
-
- /**
- * Get the index of the top element
- *
- * @return The index
- */
- public int getTopIndex() {
- return fTopIndex;
- }
-
- /**
- * Get the number of expanded items
- *
- * @return The count of expanded items
- */
- public int getExpandedElementCount() {
- return fItemData.fExpandedItems.length;
- }
-
- /**
- * Get an array of all expanded elements
- *
- * @return The expanded elements
- */
- public ITimeGraphEntry[] getExpandedElements() {
- ArrayList<ITimeGraphEntry> elements = new ArrayList<>();
- for (Item item : fItemData.fExpandedItems) {
- elements.add(item.fEntry);
- }
- return elements.toArray(new ITimeGraphEntry[0]);
- }
-
- Rectangle getNameRect(Rectangle bound, int idx, int nameWidth) {
- Rectangle rect = getStatesRect(bound, idx, nameWidth);
- rect.x = bound.x;
- rect.width = nameWidth;
- return rect;
- }
-
- Rectangle getStatesRect(Rectangle bound, int idx, int nameWidth) {
- int x = bound.x + nameWidth;
- int width = bound.width - x;
- int ySum = 0;
- if (idx >= fTopIndex) {
- for (int i = fTopIndex; i < idx; i++) {
- ySum += fItemData.fExpandedItems[i].fItemHeight;
- }
- } else {
- for (int i = fTopIndex - 1; i >= idx; i--) {
- ySum -= fItemData.fExpandedItems[i].fItemHeight;
- }
- }
- int y = bound.y + ySum;
- int height = fItemData.fExpandedItems[idx].fItemHeight;
- return new Rectangle(x, y, width, height);
- }
-
- @Override
- void paint(Rectangle bounds, PaintEvent e) {
- GC gc = e.gc;
- gc.setBackground(getColorScheme().getColor(TimeGraphColorScheme.BACKGROUND));
- drawBackground(gc, bounds.x, bounds.y, bounds.width, bounds.height);
-
- if (bounds.width < 2 || bounds.height < 2 || null == fTimeProvider) {
- return;
- }
-
- fIdealNameSpace = 0;
- int nameSpace = fTimeProvider.getNameSpace();
-
- // draw empty name space background
- gc.setBackground(getColorScheme().getBkColor(false, false, true));
- drawBackground(gc, bounds.x, bounds.y, nameSpace, bounds.height);
-
- // draw items
- drawItems(bounds, fTimeProvider, fItemData.fExpandedItems, fTopIndex, nameSpace, gc);
- drawLinks(bounds, fTimeProvider, fItemData.fLinks, nameSpace, gc);
- fTimeGraphProvider.postDrawControl(bounds, gc);
-
- int alpha = gc.getAlpha();
- gc.setAlpha(100);
-
- long time0 = fTimeProvider.getTime0();
- long time1 = fTimeProvider.getTime1();
- long selectionBegin = fTimeProvider.getSelectionBegin();
- long selectionEnd = fTimeProvider.getSelectionEnd();
- double pixelsPerNanoSec = (bounds.width - nameSpace <= RIGHT_MARGIN) ? 0 : (double) (bounds.width - nameSpace - RIGHT_MARGIN) / (time1 - time0);
- int x0 = bounds.x + nameSpace + (int) ((selectionBegin - time0) * pixelsPerNanoSec);
- int x1 = bounds.x + nameSpace + (int) ((selectionEnd - time0) * pixelsPerNanoSec);
-
- // draw selection lines
- if (fDragState != DRAG_SELECTION) {
- gc.setForeground(getColorScheme().getColor(TimeGraphColorScheme.SELECTED_TIME));
- if (x0 >= nameSpace && x0 < bounds.x + bounds.width) {
- gc.drawLine(x0, bounds.y, x0, bounds.y + bounds.height);
- }
- if (x1 != x0) {
- if (x1 >= nameSpace && x1 < bounds.x + bounds.width) {
- gc.drawLine(x1, bounds.y, x1, bounds.y + bounds.height);
- }
- }
- }
-
- // draw selection background
- if (selectionBegin != 0 && selectionEnd != 0 && fDragState != DRAG_SELECTION) {
- x0 = Math.max(nameSpace, Math.min(bounds.x + bounds.width, x0));
- x1 = Math.max(nameSpace, Math.min(bounds.x + bounds.width, x1));
- gc.setBackground(getColorScheme().getBkColor(false, false, true));
- if (x1 - x0 > 1) {
- gc.fillRectangle(new Rectangle(x0 + 1, bounds.y, x1 - x0 - 1, bounds.height));
- } else if (x0 - x1 > 1) {
- gc.fillRectangle(new Rectangle(x1 + 1, bounds.y, x0 - x1 - 1, bounds.height));
- }
- }
-
- // draw drag selection background
- if (fDragState == DRAG_ZOOM || fDragState == DRAG_SELECTION) {
- gc.setBackground(getColorScheme().getBkColor(false, false, true));
- if (fDragX0 < fDragX) {
- gc.fillRectangle(new Rectangle(fDragX0, bounds.y, fDragX - fDragX0, bounds.height));
- } else if (fDragX0 > fDragX) {
- gc.fillRectangle(new Rectangle(fDragX, bounds.y, fDragX0 - fDragX, bounds.height));
- }
- }
-
- // draw drag line
- if (DRAG_SPLIT_LINE == fDragState) {
- gc.setForeground(getColorScheme().getColor(TimeGraphColorScheme.BLACK));
- gc.drawLine(bounds.x + nameSpace, bounds.y, bounds.x + nameSpace, bounds.y + bounds.height - 1);
- } else if (DRAG_ZOOM == fDragState && Math.max(fDragX, fDragX0) > nameSpace) {
- gc.setForeground(getColorScheme().getColor(TimeGraphColorScheme.TOOL_FOREGROUND));
- gc.drawLine(fDragX0, bounds.y, fDragX0, bounds.y + bounds.height - 1);
- if (fDragX != fDragX0) {
- gc.drawLine(fDragX, bounds.y, fDragX, bounds.y + bounds.height - 1);
- }
- } else if (DRAG_SELECTION == fDragState && Math.max(fDragX, fDragX0) > nameSpace) {
- gc.setForeground(getColorScheme().getColor(TimeGraphColorScheme.SELECTED_TIME));
- gc.drawLine(fDragX0, bounds.y, fDragX0, bounds.y + bounds.height - 1);
- if (fDragX != fDragX0) {
- gc.drawLine(fDragX, bounds.y, fDragX, bounds.y + bounds.height - 1);
- }
- } else if (DRAG_NONE == fDragState && fMouseOverSplitLine && fTimeProvider.getNameSpace() > 0) {
- gc.setForeground(getColorScheme().getColor(TimeGraphColorScheme.RED));
- gc.drawLine(bounds.x + nameSpace, bounds.y, bounds.x + nameSpace, bounds.y + bounds.height - 1);
- }
-
- gc.setAlpha(alpha);
- }
-
- /**
- * Draw many items at once
- *
- * @param bounds
- * The rectangle of the area
- * @param timeProvider
- * The time provider
- * @param items
- * The array items to draw
- * @param topIndex
- * The index of the first element to draw
- * @param nameSpace
- * The width reserved for the names
- * @param gc
- * Reference to the SWT GC object
- */
- public void drawItems(Rectangle bounds, ITimeDataProvider timeProvider,
- Item[] items, int topIndex, int nameSpace, GC gc) {
- for (int i = topIndex; i < items.length; i++) {
- Item item = items[i];
- drawItem(item, bounds, timeProvider, i, nameSpace, gc);
- }
- }
-
- /**
- * Draws the item
- *
- * @param item the item to draw
- * @param bounds the container rectangle
- * @param timeProvider Time provider
- * @param i the item index
- * @param nameSpace the name space
- * @param gc Graphics context
- */
- protected void drawItem(Item item, Rectangle bounds, ITimeDataProvider timeProvider, int i, int nameSpace, GC gc) {
- ITimeGraphEntry entry = item.fEntry;
- long time0 = timeProvider.getTime0();
- long time1 = timeProvider.getTime1();
- long selectedTime = fTimeProvider.getSelectionBegin();
-
- Rectangle nameRect = getNameRect(bounds, i, nameSpace);
- if (nameRect.y >= bounds.y + bounds.height) {
- return;
- }
-
- if (! item.fEntry.hasTimeEvents()) {
- Rectangle statesRect = getStatesRect(bounds, i, nameSpace);
- nameRect.width += statesRect.width;
- drawName(item, nameRect, gc);
- } else {
- drawName(item, nameRect, gc);
- }
- Rectangle rect = getStatesRect(bounds, i, nameSpace);
- if (rect.isEmpty()) {
- fTimeGraphProvider.postDrawEntry(entry, rect, gc);
- return;
- }
- if (time1 <= time0) {
- gc.setBackground(getColorScheme().getBkColor(false, false, false));
- gc.fillRectangle(rect);
- fTimeGraphProvider.postDrawEntry(entry, rect, gc);
- return;
- }
-
- // Initialize _rect1 to same values as enclosing rectangle rect
- Rectangle stateRect = Utils.clone(rect);
- boolean selected = item.fSelected;
- // K pixels per second
- double pixelsPerNanoSec = (rect.width <= RIGHT_MARGIN) ? 0 : (double) (rect.width - RIGHT_MARGIN) / (time1 - time0);
-
- if (item.fEntry.hasTimeEvents()) {
- gc.setClipping(new Rectangle(nameSpace, 0, bounds.width - nameSpace, bounds.height));
- fillSpace(rect, gc, selected);
- // Drawing rectangle is smaller than reserved space
- stateRect.y += 3;
- stateRect.height -= 6;
-
- long maxDuration = (timeProvider.getTimeSpace() == 0) ? Long.MAX_VALUE : 1 * (time1 - time0) / timeProvider.getTimeSpace();
- Iterator<ITimeEvent> iterator = entry.getTimeEventsIterator(time0, time1, maxDuration);
-
- int lastX = -1;
- while (iterator.hasNext()) {
- ITimeEvent event = iterator.next();
- int x = rect.x + (int) ((event.getTime() - time0) * pixelsPerNanoSec);
- int xEnd = rect.x + (int) ((event.getTime() + event.getDuration() - time0) * pixelsPerNanoSec);
- if (x >= rect.x + rect.width || xEnd < rect.x) {
- // event is out of bounds
- continue;
- }
- xEnd = Math.min(rect.x + rect.width, xEnd);
- stateRect.x = Math.max(rect.x, x);
- stateRect.width = Math.max(0, xEnd - stateRect.x + 1);
- if (stateRect.x == lastX) {
- stateRect.width -= 1;
- if (stateRect.width > 0) {
- gc.setForeground(Display.getDefault().getSystemColor(SWT.COLOR_BLACK));
- gc.drawPoint(stateRect.x, stateRect.y - 2);
- stateRect.x += 1;
- }
- }
- boolean timeSelected = selectedTime >= event.getTime() && selectedTime < event.getTime() + event.getDuration();
- if (drawState(getColorScheme(), event, stateRect, gc, selected, timeSelected)) {
- lastX = x;
- }
- }
- gc.setClipping((Rectangle) null);
- }
- fTimeGraphProvider.postDrawEntry(entry, rect, gc);
- }
-
- /**
- * Draw the links
- *
- * @param bounds
- * The rectangle of the area
- * @param timeProvider
- * The time provider
- * @param links
- * The array items to draw
- * @param nameSpace
- * The width reserved for the names
- * @param gc
- * Reference to the SWT GC object
- * @since 2.1
- */
- public void drawLinks(Rectangle bounds, ITimeDataProvider timeProvider,
- List<ILinkEvent> links, int nameSpace, GC gc) {
- if (fHideArrows) {
- return;
- }
- gc.setClipping(new Rectangle(nameSpace, 0, bounds.width - nameSpace, bounds.height));
- for (ILinkEvent event : links) {
- drawLink(event, bounds, timeProvider, nameSpace, gc);
- }
- gc.setClipping((Rectangle) null);
- }
-
- /**
- * Draws the link type events of this item
- *
- * @param event
- * the item to draw
- * @param bounds
- * the container rectangle
- * @param timeProvider
- * Time provider
- * @param nameSpace
- * the name space
- * @param gc
- * Graphics context
- * @since 2.1
- */
- protected void drawLink(ILinkEvent event, Rectangle bounds, ITimeDataProvider timeProvider, int nameSpace, GC gc) {
- drawArrow(getColorScheme(), event, getArrowRectangle(bounds, event), gc);
- }
-
- private Rectangle getArrowRectangle(Rectangle bounds, ILinkEvent event) {
- int srcIndex = fItemData.findItemIndex(event.getEntry());
- int destIndex = fItemData.findItemIndex(event.getDestinationEntry());
-
- if ((srcIndex == -1) || (destIndex == -1)) {
- return null;
- }
-
- Rectangle src = getStatesRect(bounds, srcIndex, fTimeProvider.getNameSpace());
- Rectangle dst = getStatesRect(bounds, destIndex, fTimeProvider.getNameSpace());
-
- int x0 = getXForTime(event.getTime());
- int x1 = getXForTime(event.getTime() + event.getDuration());
-
- // limit the x-coordinates to prevent integer overflow in calculations
- // and also GC.drawLine doesn't draw properly with large coordinates
- final int limit = Integer.MAX_VALUE / 1024;
- x0 = Math.max(-limit, Math.min(x0, limit));
- x1 = Math.max(-limit, Math.min(x1, limit));
-
- int y0 = src.y + src.height / 2;
- int y1 = dst.y + dst.height / 2;
- return new Rectangle(x0, y0, x1 - x0, y1 - y0);
- }
-
- /**
- * Draw the state (color fill)
- *
- * @param colors
- * Color scheme
- * @param event
- * Time event for which we're drawing the state
- * @param rect
- * Where to draw
- * @param gc
- * Graphics context
- * @return true if the state was drawn
- * @since 2.1
- */
- protected boolean drawArrow(TimeGraphColorScheme colors, ITimeEvent event,
- Rectangle rect, GC gc) {
-
- if (rect == null) {
- return false;
- }
- int colorIdx = fTimeGraphProvider.getStateTableIndex(event);
- if (colorIdx < 0) {
- return false;
- }
- boolean visible = ((rect.height == 0) && (rect.width == 0)) ? false : true;
-
- if (visible) {
- Color stateColor = null;
- if (colorIdx < fEventColorMap.length) {
- stateColor = fEventColorMap[colorIdx];
- } else {
- stateColor = Display.getDefault().getSystemColor(SWT.COLOR_BLACK);
- }
-
- gc.setForeground(stateColor);
- gc.setBackground(stateColor);
-
- /* Draw the arrow */
- gc.drawLine(rect.x, rect.y, rect.x + rect.width, rect.y + rect.height);
- drawArrowHead(rect.x, rect.y, rect.x + rect.width, rect.y + rect.height, gc);
-
- }
- fTimeGraphProvider.postDrawEvent(event, rect, gc);
- return visible;
- }
-
- /*
- * @author Francis Giraldeau
- *
- * Inspiration:
- * http://stackoverflow.com/questions/3010803/draw-arrow-on-line-algorithm
- *
- * The algorithm was taken from this site, not the code itself
- */
- private static void drawArrowHead(int x0, int y0, int x1, int y1, GC gc)
- {
- int factor = 10;
- double cos = 0.9510;
- double sin = 0.3090;
- long lenx = x1 - x0;
- long leny = y1 - y0;
- double len = Math.sqrt(lenx * lenx + leny * leny);
-
- double dx = factor * lenx / len;
- double dy = factor * leny / len;
- int end1X = (int) Math.round((x1 - (dx * cos + dy * -sin)));
- int end1Y = (int) Math.round((y1 - (dx * sin + dy * cos)));
- int end2X = (int) Math.round((x1 - (dx * cos + dy * sin)));
- int end2Y = (int) Math.round((y1 - (dx * -sin + dy * cos)));
- int[] arrow = new int[] { x1, y1, end1X, end1Y, end2X, end2Y, x1, y1 };
- gc.fillPolygon(arrow);
- }
-
- /**
- * Draw the name of an item.
- *
- * @param item
- * Item object
- * @param bounds
- * Where to draw the name
- * @param gc
- * Graphics context
- */
- protected void drawName(Item item, Rectangle bounds, GC gc) {
- boolean hasTimeEvents = item.fEntry.hasTimeEvents();
- if (! hasTimeEvents) {
- gc.setBackground(getColorScheme().getBkColorGroup(item.fSelected, fIsInFocus));
- gc.fillRectangle(bounds);
- if (item.fSelected && fIsInFocus) {
- gc.setForeground(getColorScheme().getBkColor(item.fSelected, fIsInFocus, false));
- gc.drawRectangle(bounds.x, bounds.y, bounds.width - 1, bounds.height - 1);
- }
- } else {
- gc.setBackground(getColorScheme().getBkColor(item.fSelected, fIsInFocus, true));
- gc.setForeground(getColorScheme().getFgColor(item.fSelected, fIsInFocus));
- gc.fillRectangle(bounds);
- }
-
- // No name to be drawn
- if (fTimeProvider.getNameSpace() == 0) {
- return;
- }
-
- int leftMargin = MARGIN + item.fLevel * EXPAND_SIZE;
- if (item.fHasChildren) {
- gc.setForeground(getColorScheme().getFgColorGroup(false, false));
- gc.setBackground(getColorScheme().getBkColor(false, false, false));
- Rectangle rect = Utils.clone(bounds);
- rect.x += leftMargin;
- rect.y += (bounds.height - EXPAND_SIZE) / 2;
- rect.width = EXPAND_SIZE;
- rect.height = EXPAND_SIZE;
- gc.fillRectangle(rect);
- gc.drawRectangle(rect.x, rect.y, rect.width - 1, rect.height - 1);
- int midy = rect.y + rect.height / 2;
- gc.drawLine(rect.x + 2, midy, rect.x + rect.width - 3, midy);
- if (!item.fExpanded) {
- int midx = rect.x + rect.width / 2;
- gc.drawLine(midx, rect.y + 2, midx, rect.y + rect.height - 3);
- }
- }
- leftMargin += EXPAND_SIZE + MARGIN;
-
- Image img = fTimeGraphProvider.getItemImage(item.fEntry);
- if (img != null) {
- // draw icon
- int imgHeight = img.getImageData().height;
- int imgWidth = img.getImageData().width;
- int x = leftMargin;
- int y = bounds.y + (bounds.height - imgHeight) / 2;
- gc.drawImage(img, x, y);
- leftMargin += imgWidth + MARGIN;
- }
- String name = item.fName;
- Point size = gc.stringExtent(name);
- if (fIdealNameSpace < leftMargin + size.x + MARGIN) {
- fIdealNameSpace = leftMargin + size.x + MARGIN;
- }
- if (hasTimeEvents) {
- // cut long string with "..."
- int width = bounds.width - leftMargin;
- int cuts = 0;
- while (size.x > width && name.length() > 1) {
- cuts++;
- name = name.substring(0, name.length() - 1);
- size = gc.stringExtent(name + "..."); //$NON-NLS-1$
- }
- if (cuts > 0) {
- name += "..."; //$NON-NLS-1$
- }
- }
- Rectangle rect = Utils.clone(bounds);
- rect.x += leftMargin;
- rect.width -= leftMargin;
- // draw text
- if (rect.width > 0) {
- rect.y += (bounds.height - gc.stringExtent(name).y) / 2;
- gc.setForeground(getColorScheme().getFgColor(item.fSelected, fIsInFocus));
- int textWidth = Utils.drawText(gc, name, rect, true);
- leftMargin += textWidth + MARGIN;
- rect.y -= 2;
-
- if (hasTimeEvents) {
- // draw middle line
- int x = bounds.x + leftMargin;
- int width = bounds.width - x;
- int midy = bounds.y + bounds.height / 2;
- gc.setForeground(getColorScheme().getColor(TimeGraphColorScheme.MID_LINE));
- gc.drawLine(x, midy, x + width, midy);
- }
- }
- }
-
- /**
- * Draw the state (color fill)
- *
- * @param colors
- * Color scheme
- * @param event
- * Time event for which we're drawing the state
- * @param rect
- * Where to draw
- * @param gc
- * Graphics context
- * @param selected
- * Is this time event currently selected (so it appears
- * highlighted)
- * @param timeSelected
- * Is the timestamp currently selected
- * @return true if the state was drawn
- * @since 2.0
- */
- protected boolean drawState(TimeGraphColorScheme colors, ITimeEvent event,
- Rectangle rect, GC gc, boolean selected, boolean timeSelected) {
-
- int colorIdx = fTimeGraphProvider.getStateTableIndex(event);
- if (colorIdx < 0 && colorIdx != ITimeGraphPresentationProvider.TRANSPARENT) {
- return false;
- }
- boolean visible = rect.width == 0 ? false : true;
- Color black = Display.getDefault().getSystemColor(SWT.COLOR_BLACK);
- gc.setForeground(black);
-
- if (visible) {
- if (colorIdx == ITimeGraphPresentationProvider.TRANSPARENT) {
- // Only draw the top and bottom borders
- gc.drawLine(rect.x, rect.y, rect.x + rect.width - 1, rect.y);
- gc.drawLine(rect.x, rect.y + rect.height - 1, rect.x + rect.width - 1, rect.y + rect.height - 1);
- if (rect.width == 1) {
- gc.drawPoint(rect.x, rect.y - 2);
- }
- return false;
- }
- Color stateColor = null;
- if (colorIdx < fEventColorMap.length) {
- stateColor = fEventColorMap[colorIdx];
- } else {
- stateColor = black;
- }
-
- boolean reallySelected = timeSelected && selected;
- // fill all rect area
- gc.setBackground(stateColor);
- gc.fillRectangle(rect);
-
- if (reallySelected) {
- gc.drawLine(rect.x, rect.y - 1, rect.x + rect.width - 1, rect.y - 1);
- gc.drawLine(rect.x, rect.y + rect.height, rect.x + rect.width - 1, rect.y + rect.height);
- }
- } else {
- gc.drawPoint(rect.x, rect.y - 2);
- }
- fTimeGraphProvider.postDrawEvent(event, rect, gc);
- return visible;
- }
-
- /**
- * Fill the space between two contiguous time events
- *
- * @param rect
- * Rectangle to fill
- * @param gc
- * Graphics context
- * @param selected
- * Is this time event selected or not
- */
- protected void fillSpace(Rectangle rect, GC gc, boolean selected) {
- gc.setBackground(getColorScheme().getBkColor(selected, fIsInFocus, false));
- gc.fillRectangle(rect);
- if (fDragState == DRAG_ZOOM) {
- gc.setBackground(getColorScheme().getBkColor(selected, fIsInFocus, true));
- if (fDragX0 < fDragX) {
- gc.fillRectangle(new Rectangle(fDragX0, rect.y, fDragX - fDragX0, rect.height));
- } else if (fDragX0 > fDragX) {
- gc.fillRectangle(new Rectangle(fDragX, rect.y, fDragX0 - fDragX, rect.height));
- }
- }
- // draw middle line
- gc.setForeground(getColorScheme().getColor(TimeGraphColorScheme.MID_LINE));
- int midy = rect.y + rect.height / 2;
- gc.drawLine(rect.x, midy, rect.x + rect.width, midy);
- }
-
- @Override
- public void keyTraversed(TraverseEvent e) {
- if ((e.detail == SWT.TRAVERSE_TAB_NEXT) || (e.detail == SWT.TRAVERSE_TAB_PREVIOUS)) {
- e.doit = true;
- }
- }
-
- @Override
- public void keyPressed(KeyEvent e) {
- int idx = -1;
- if (fItemData.fExpandedItems.length == 0) {
- return;
- }
- if (SWT.HOME == e.keyCode) {
- idx = 0;
- } else if (SWT.END == e.keyCode) {
- idx = fItemData.fExpandedItems.length - 1;
- } else if (SWT.ARROW_DOWN == e.keyCode) {
- idx = getSelectedIndex();
- if (idx < 0) {
- idx = 0;
- } else if (idx < fItemData.fExpandedItems.length - 1) {
- idx++;
- }
- } else if (SWT.ARROW_UP == e.keyCode) {
- idx = getSelectedIndex();
- if (idx < 0) {
- idx = 0;
- } else if (idx > 0) {
- idx--;
- }
- } else if (SWT.ARROW_LEFT == e.keyCode) {
- selectPrevEvent();
- } else if (SWT.ARROW_RIGHT == e.keyCode) {
- selectNextEvent();
- } else if (SWT.PAGE_DOWN == e.keyCode) {
- int page = countPerPage();
- idx = getSelectedIndex();
- if (idx < 0) {
- idx = 0;
- }
- idx += page;
- if (idx >= fItemData.fExpandedItems.length) {
- idx = fItemData.fExpandedItems.length - 1;
- }
- } else if (SWT.PAGE_UP == e.keyCode) {
- int page = countPerPage();
- idx = getSelectedIndex();
- if (idx < 0) {
- idx = 0;
- }
- idx -= page;
- if (idx < 0) {
- idx = 0;
- }
- } else if (SWT.CR == e.keyCode) {
- idx = getSelectedIndex();
- if (idx >= 0) {
- if (fItemData.fExpandedItems[idx].fHasChildren) {
- toggle(idx);
- } else {
- fireDefaultSelection();
- }
- }
- idx = -1;
- }
- if (idx >= 0) {
- selectItem(idx, false);
- fireSelectionChanged();
- }
- int x = toControl(e.display.getCursorLocation()).x;
- updateCursor(x, e.stateMask | e.keyCode);
- }
-
- @Override
- public void keyReleased(KeyEvent e) {
- int x = toControl(e.display.getCursorLocation()).x;
- updateCursor(x, e.stateMask & ~e.keyCode);
- }
-
- @Override
- public void focusGained(FocusEvent e) {
- fIsInFocus = true;
- redraw();
- updateStatusLine(NO_STATUS);
- }
-
- @Override
- public void focusLost(FocusEvent e) {
- fIsInFocus = false;
- if (DRAG_NONE != fDragState) {
- setCapture(false);
- fDragState = DRAG_NONE;
- }
- redraw();
- updateStatusLine(NO_STATUS);
- }
-
- /**
- * @return If the current view is focused
- */
- public boolean isInFocus() {
- return fIsInFocus;
- }
-
- /**
- * Provide the possibility to control the wait cursor externally e.g. data
- * requests in progress
- *
- * @param waitInd Should we wait indefinitely?
- */
- public void waitCursor(boolean waitInd) {
- // Update cursor as indicated
- if (waitInd) {
- setCursor(fWaitCursor);
- } else {
- setCursor(null);
- }
- }
-
- private void updateCursor(int x, int stateMask) {
- // if Wait cursor not active, check for the need to change the cursor
- if (getCursor() == fWaitCursor) {
- return;
- }
- Cursor cursor = null;
- if (fDragState == DRAG_SPLIT_LINE) {
- } else if (fDragState == DRAG_SELECTION) {
- cursor = fResizeCursor;
- } else if (fDragState == DRAG_TRACE_ITEM) {
- cursor = fDragCursor;
- } else if (fDragState == DRAG_ZOOM) {
- cursor = fZoomCursor;
- } else if ((stateMask & SWT.MODIFIER_MASK) == SWT.CTRL) {
- cursor = fDragCursor;
- } else if ((stateMask & SWT.MODIFIER_MASK) == SWT.SHIFT) {
- cursor = fResizeCursor;
- } else if (!isOverSplitLine(x)) {
- long selectionBegin = fTimeProvider.getSelectionBegin();
- long selectionEnd = fTimeProvider.getSelectionEnd();
- int xBegin = getXForTime(selectionBegin);
- int xEnd = getXForTime(selectionEnd);
- if (Math.abs(x - xBegin) < SNAP_WIDTH || Math.abs(x - xEnd) < SNAP_WIDTH) {
- cursor = fResizeCursor;
- }
- }
- if (getCursor() != cursor) {
- setCursor(cursor);
- }
- }
-
- private void updateStatusLine(int x) {
- // use the time provider of the time graph scale for the status line
- ITimeDataProvider tdp = fTimeGraphScale.getTimeProvider();
- if (fStatusLineManager == null || null == tdp ||
- tdp.getTime0() == tdp.getTime1()) {
- return;
- }
- TimeFormat tf = tdp.getTimeFormat();
- Resolution res = Resolution.NANOSEC;
- StringBuilder message = new StringBuilder();
- if (x >= 0 && fDragState == DRAG_NONE) {
- long time = getTimeAtX(x);
- if (time >= 0) {
- if (tdp instanceof ITimeDataProviderConverter) {
- time = ((ITimeDataProviderConverter) tdp).convertTime(time);
- }
- long selectionBegin = tdp.getSelectionBegin();
- long selectionEnd = tdp.getSelectionEnd();
- message.append(NLS.bind("T: {0}{1} T1: {2}{3}", //$NON-NLS-1$
- new Object[] {
- tf == TimeFormat.CALENDAR ? Utils.formatDate(time) + ' ' : "", //$NON-NLS-1$
- Utils.formatTime(time, tf, res),
- tf == TimeFormat.CALENDAR ? Utils.formatDate(Math.min(selectionBegin, selectionEnd)) + ' ' : "", //$NON-NLS-1$
- Utils.formatTime(Math.min(selectionBegin, selectionEnd), tf, res)
- }));
- if (selectionBegin != selectionEnd) {
- message.append(NLS.bind(" T2: {0}{1} \u0394: {2}", //$NON-NLS-1$
- new Object[] {
- tf == TimeFormat.CALENDAR ? Utils.formatDate(Math.max(selectionBegin, selectionEnd)) + ' ' : "", //$NON-NLS-1$
- Utils.formatTime(Math.max(selectionBegin, selectionEnd), tf, res),
- Utils.formatDelta(Math.abs(selectionBegin - selectionEnd), tf, res)
- }));
- }
- }
- } else if (fDragState == DRAG_SELECTION || fDragState == DRAG_ZOOM) {
- long time0 = fDragTime0;
- long time = getTimeAtX(fDragX);
- if (tdp instanceof ITimeDataProviderConverter) {
- time0 = ((ITimeDataProviderConverter) tdp).convertTime(time0);
- time = ((ITimeDataProviderConverter) tdp).convertTime(time);
- }
- message.append(NLS.bind("T1: {0}{1} T2: {2}{3} \u0394: {4}", //$NON-NLS-1$
- new Object[] {
- tf == TimeFormat.CALENDAR ? Utils.formatDate(Math.min(time, time0)) + ' ' : "", //$NON-NLS-1$
- Utils.formatTime(Math.min(time, time0), tf, res),
- tf == TimeFormat.CALENDAR ? Utils.formatDate(Math.max(time, time0)) + ' ' : "", //$NON-NLS-1$
- Utils.formatTime(Math.max(time, time0), tf, res),
- Utils.formatDelta(Math.abs(time - time0), tf, res)
- }));
- }
- fStatusLineManager.setMessage(message.toString());
- }
-
- @Override
- public void mouseMove(MouseEvent e) {
- if (null == fTimeProvider) {
- return;
- }
- Point size = getSize();
- if (DRAG_TRACE_ITEM == fDragState) {
- int nameWidth = fTimeProvider.getNameSpace();
- if (e.x > nameWidth && size.x > nameWidth && fDragX != e.x) {
- fDragX = e.x;
- double pixelsPerNanoSec = (size.x - nameWidth <= RIGHT_MARGIN) ? 0 : (double) (size.x - nameWidth - RIGHT_MARGIN) / (fTime1bak - fTime0bak);
- long timeDelta = (long) ((pixelsPerNanoSec == 0) ? 0 : ((fDragX - fDragX0) / pixelsPerNanoSec));
- long time1 = fTime1bak - timeDelta;
- long maxTime = fTimeProvider.getMaxTime();
- if (time1 > maxTime) {
- time1 = maxTime;
- }
- long time0 = time1 - (fTime1bak - fTime0bak);
- if (time0 < fTimeProvider.getMinTime()) {
- time0 = fTimeProvider.getMinTime();
- time1 = time0 + (fTime1bak - fTime0bak);
- }
- fTimeProvider.setStartFinishTime(time0, time1);
- }
- } else if (DRAG_SPLIT_LINE == fDragState) {
- fDragX = e.x;
- fTimeProvider.setNameSpace(e.x);
- } else if (DRAG_SELECTION == fDragState) {
- fDragX = Math.min(Math.max(e.x, fTimeProvider.getNameSpace()), size.x - RIGHT_MARGIN);
- redraw();
- fTimeGraphScale.setDragRange(fDragX0, fDragX);
- fireDragSelectionChanged(getTimeAtX(fDragX0), getTimeAtX(fDragX));
- } else if (DRAG_ZOOM == fDragState) {
- fDragX = Math.min(Math.max(e.x, fTimeProvider.getNameSpace()), size.x - RIGHT_MARGIN);
- redraw();
- fTimeGraphScale.setDragRange(fDragX0, fDragX);
- } else if (DRAG_NONE == fDragState) {
- boolean mouseOverSplitLine = isOverSplitLine(e.x);
- if (fMouseOverSplitLine != mouseOverSplitLine) {
- redraw();
- }
- fMouseOverSplitLine = mouseOverSplitLine;
- }
- updateCursor(e.x, e.stateMask);
- updateStatusLine(e.x);
- }
-
- @Override
- public void mouseDoubleClick(MouseEvent e) {
- if (null == fTimeProvider) {
- return;
- }
- if (1 == e.button && (e.stateMask & SWT.BUTTON_MASK) == 0) {
- if (isOverSplitLine(e.x) && fTimeProvider.getNameSpace() != 0) {
- fTimeProvider.setNameSpace(fIdealNameSpace);
- boolean mouseOverSplitLine = isOverSplitLine(e.x);
- if (fMouseOverSplitLine != mouseOverSplitLine) {
- redraw();
- }
- fMouseOverSplitLine = mouseOverSplitLine;
- return;
- }
- int idx = getItemIndexAtY(e.y);
- if (idx >= 0) {
- selectItem(idx, false);
- fireDefaultSelection();
- }
- }
- }
-
- @Override
- public void mouseDown(MouseEvent e) {
- if (fDragState != DRAG_NONE || null == fTimeProvider ||
- fTimeProvider.getTime0() == fTimeProvider.getTime1() ||
- getSize().x - fTimeProvider.getNameSpace() <= 0) {
- return;
- }
- int idx;
- if (1 == e.button && (e.stateMask & SWT.MODIFIER_MASK) == 0) {
- int nameSpace = fTimeProvider.getNameSpace();
- if (nameSpace != 0 && isOverSplitLine(e.x)) {
- fDragState = DRAG_SPLIT_LINE;
- fDragButton = e.button;
- fDragX = e.x;
- fDragX0 = fDragX;
- fTime0bak = fTimeProvider.getTime0();
- fTime1bak = fTimeProvider.getTime1();
- redraw();
- updateCursor(e.x, e.stateMask);
- return;
- }
- }
- if (1 == e.button && ((e.stateMask & SWT.MODIFIER_MASK) == 0 || (e.stateMask & SWT.MODIFIER_MASK) == SWT.SHIFT)) {
- int nameSpace = fTimeProvider.getNameSpace();
- idx = getItemIndexAtY(e.y);
- if (idx >= 0) {
- Item item = fItemData.fExpandedItems[idx];
- if (item.fHasChildren && e.x < nameSpace && e.x < MARGIN + (item.fLevel + 1) * EXPAND_SIZE) {
- toggle(idx);
- return;
- }
- selectItem(idx, false);
- fireSelectionChanged();
- } else {
- selectItem(idx, false); // clear selection
- fireSelectionChanged();
- }
- long hitTime = getTimeAtX(e.x);
- if (hitTime >= 0) {
- setCapture(true);
-
- fDragState = DRAG_SELECTION;
- fDragButton = e.button;
- fDragX = e.x;
- fDragX0 = fDragX;
- fDragTime0 = getTimeAtX(fDragX0);
- long selectionBegin = fTimeProvider.getSelectionBegin();
- long selectionEnd = fTimeProvider.getSelectionEnd();
- int xBegin = getXForTime(selectionBegin);
- int xEnd = getXForTime(selectionEnd);
- if ((e.stateMask & SWT.MODIFIER_MASK) == SWT.SHIFT) {
- long time = getTimeAtX(e.x);
- if (Math.abs(time - selectionBegin) < Math.abs(time - selectionEnd)) {
- fDragX0 = xEnd;
- fDragTime0 = selectionEnd;
- } else {
- fDragX0 = xBegin;
- fDragTime0 = selectionBegin;
- }
- } else {
- long time = getTimeAtX(e.x);
- if (Math.abs(e.x - xBegin) < SNAP_WIDTH && Math.abs(time - selectionBegin) <= Math.abs(time - selectionEnd)) {
- fDragX0 = xEnd;
- fDragTime0 = selectionEnd;
- } else if (Math.abs(e.x - xEnd) < SNAP_WIDTH && Math.abs(time - selectionEnd) <= Math.abs(time - selectionBegin)) {
- fDragX0 = xBegin;
- fDragTime0 = selectionBegin;
- }
- }
- fTime0bak = fTimeProvider.getTime0();
- fTime1bak = fTimeProvider.getTime1();
- redraw();
- updateCursor(e.x, e.stateMask);
- fTimeGraphScale.setDragRange(fDragX0, fDragX);
- }
- } else if (2 == e.button || (1 == e.button && (e.stateMask & SWT.MODIFIER_MASK) == SWT.CTRL)) {
- long hitTime = getTimeAtX(e.x);
- if (hitTime > 0) {
- setCapture(true);
- fDragState = DRAG_TRACE_ITEM;
- fDragButton = e.button;
- fDragX = e.x;
- fDragX0 = fDragX;
- fTime0bak = fTimeProvider.getTime0();
- fTime1bak = fTimeProvider.getTime1();
- updateCursor(e.x, e.stateMask);
- }
- } else if (3 == e.button) {
- setCapture(true);
- fDragX = Math.min(Math.max(e.x, fTimeProvider.getNameSpace()), getSize().x - RIGHT_MARGIN);
- fDragX0 = fDragX;
- fDragTime0 = getTimeAtX(fDragX0);
- fDragState = DRAG_ZOOM;
- fDragButton = e.button;
- redraw();
- updateCursor(e.x, e.stateMask);
- fTimeGraphScale.setDragRange(fDragX0, fDragX);
- }
- }
-
- @Override
- public void mouseUp(MouseEvent e) {
- if (fPendingMenuDetectEvent != null && e.button == 3) {
- menuDetected(fPendingMenuDetectEvent);
- }
- if (DRAG_NONE != fDragState) {
- setCapture(false);
- if (e.button == fDragButton && DRAG_TRACE_ITEM == fDragState) {
- if (fDragX != fDragX0) {
- fTimeProvider.notifyStartFinishTime();
- }
- fDragState = DRAG_NONE;
- } else if (e.button == fDragButton && DRAG_SPLIT_LINE == fDragState) {
- fDragState = DRAG_NONE;
- redraw();
- } else if (e.button == fDragButton && DRAG_SELECTION == fDragState) {
- if (fDragX == fDragX0) { // click without selecting anything
- long time = getTimeAtX(e.x);
- fTimeProvider.setSelectedTimeNotify(time, false);
- } else {
- long time0 = fDragTime0;
- long time1 = getTimeAtX(fDragX);
- if (time0 <= time1) {
- fTimeProvider.setSelectionRangeNotify(time0, time1);
- } else {
- fTimeProvider.setSelectionRangeNotify(time1, time0);
- }
- }
- fDragState = DRAG_NONE;
- redraw();
- fTimeGraphScale.setDragRange(-1, -1);
- } else if (e.button == fDragButton && DRAG_ZOOM == fDragState) {
- int nameWidth = fTimeProvider.getNameSpace();
- if (Math.max(fDragX, fDragX0) > nameWidth && fDragX != fDragX0) {
- long time0 = getTimeAtX(fDragX0);
- long time1 = getTimeAtX(fDragX);
- if (time0 < time1) {
- fTimeProvider.setStartFinishTimeNotify(time0, time1);
- } else {
- fTimeProvider.setStartFinishTimeNotify(time1, time0);
- }
- } else {
- redraw();
- }
- fDragState = DRAG_NONE;
- fTimeGraphScale.setDragRange(-1, -1);
- }
- }
- updateCursor(e.x, e.stateMask);
- updateStatusLine(e.x);
- }
-
- @Override
- public void mouseEnter(MouseEvent e) {
- }
-
- @Override
- public void mouseExit(MouseEvent e) {
- if (fMouseOverSplitLine) {
- fMouseOverSplitLine = false;
- redraw();
- }
- updateStatusLine(NO_STATUS);
- }
-
- @Override
- public void mouseHover(MouseEvent e) {
- }
-
- @Override
- public void mouseScrolled(MouseEvent e) {
- if (fDragState != DRAG_NONE) {
- return;
- }
- boolean zoomScroll = false;
- boolean horizontalScroll = false;
- Point p = getParent().toControl(getDisplay().getCursorLocation());
- Point parentSize = getParent().getSize();
- if (p.x >= 0 && p.x < parentSize.x && p.y >= 0 && p.y < parentSize.y) {
- // over the parent control
- if (e.x > getSize().x) {
- // over the vertical scroll bar
- zoomScroll = false;
- } else if (e.y < 0) {
- // over the time scale
- zoomScroll = true;
- } else if (e.y >= getSize().y) {
- // over the horizontal scroll bar
- if ((e.stateMask & SWT.MODIFIER_MASK) == SWT.CTRL) {
- zoomScroll = true;
- } else {
- horizontalScroll = true;
- }
- } else {
- if (e.x < fTimeProvider.getNameSpace()) {
- // over the name space
- zoomScroll = false;
- } else {
- // over the state area
- if ((e.stateMask & SWT.MODIFIER_MASK) == SWT.CTRL) {
- // over the state area, CTRL pressed
- zoomScroll = true;
- } else {
- // over the state area, CTRL not pressed
- zoomScroll = false;
- }
- }
- }
- }
- if (zoomScroll && fTimeProvider.getTime0() != fTimeProvider.getTime1()) {
- if (e.count > 0) {
- zoom(true);
- } else if (e.count < 0) {
- zoom(false);
- }
- } else if (horizontalScroll) {
- horizontalScroll(e.count > 0);
- } else {
- setTopIndex(getTopIndex() - e.count);
- }
- }
-
- /**
- * @since 3.2
- */
- @Override
- public void handleEvent(Event event) {
- if (event.type == SWT.MouseWheel) {
- // prevent horizontal scrolling when the mouse wheel is used to
- // scroll vertically or zoom
- event.doit = false;
- }
- }
-
- @Override
- public void controlMoved(ControlEvent e) {
- }
-
- @Override
- public void controlResized(ControlEvent e) {
- adjustScrolls();
- }
-
- @Deprecated
- @Override
- public void widgetDefaultSelected(SelectionEvent e) {
- }
-
- @Deprecated
- @Override
- public void widgetSelected(SelectionEvent e) {
- }
-
- @Override
- public int getBorderWidth() {
- return fBorderWidth;
- }
-
- /**
- * Set the border width
- *
- * @param borderWidth
- * The width
- */
- public void setBorderWidth(int borderWidth) {
- this.fBorderWidth = borderWidth;
- }
-
- /**
- * @return The current height of the header row
- */
- public int getHeaderHeight() {
- return fHeaderHeight;
- }
-
- /**
- * Set the height of the header row
- *
- * @param headerHeight
- * The height
- */
- public void setHeaderHeight(int headerHeight) {
- this.fHeaderHeight = headerHeight;
- }
-
- /**
- * @return The default height of regular item rows
- */
- public int getItemHeight() {
- return fGlobalItemHeight;
- }
-
- /**
- * Set the default height of regular item rows.
- *
- * @param rowHeight
- * The height
- */
- public void setItemHeight(int rowHeight) {
- this.fGlobalItemHeight = rowHeight;
- }
-
- /**
- * Set the height of a specific item. Overrides the default item height.
- *
- * @param entry
- * A time graph entry
- * @param rowHeight
- * The height
- * @return true if the height is successfully stored, false otherwise
- *
- * @since 2.1
- */
- public boolean setItemHeight(ITimeGraphEntry entry, int rowHeight) {
- Item item = fItemData.findItem(entry);
- if (item != null) {
- item.fItemHeight = rowHeight;
- return true;
- }
- return false;
- }
-
- /**
- * Set the minimum item width
- *
- * @param width The minimum width
- */
- public void setMinimumItemWidth(int width) {
- this.fMinimumItemWidth = width;
- }
-
- /**
- * @return The minimum item width
- */
- public int getMinimumItemWidth() {
- return fMinimumItemWidth;
- }
-
- /**
- * @return The entries that are currently filtered out
- *
- * @since 2.0
- */
- public List<ITimeGraphEntry> getFilteredOut() {
- return fItemData.getFilteredOut();
- }
-
- @Override
- public void addSelectionChangedListener(ISelectionChangedListener listener) {
- if (listener != null && !fSelectionChangedListeners.contains(listener)) {
- fSelectionChangedListeners.add(listener);
- }
- }
-
- @Override
- public void removeSelectionChangedListener(ISelectionChangedListener listener) {
- if (listener != null) {
- fSelectionChangedListeners.remove(listener);
- }
- }
-
- @Override
- public void setSelection(ISelection selection) {
- if (selection instanceof TimeGraphSelection) {
- TimeGraphSelection sel = (TimeGraphSelection) selection;
- Object ob = sel.getFirstElement();
- if (ob instanceof ITimeGraphEntry) {
- ITimeGraphEntry trace = (ITimeGraphEntry) ob;
- selectItem(trace, false);
- }
- }
-
- }
-
- /**
- * @param filter The filter object to be attached to the view
- * @since 2.0
- */
- public void addFilter(ViewerFilter filter) {
- if (!fFilters.contains(filter)) {
- fFilters.add(filter);
- }
- }
-
- /**
- * @param filter The filter object to be attached to the view
- * @since 2.0
- */
- public void removeFilter(ViewerFilter filter) {
- fFilters.remove(filter);
- }
-
- /**
- * @since 3.0
- */
- @Override
- public void colorSettingsChanged(StateItem[] stateItems) {
- /* Destroy previous colors from the resource manager */
- if (fEventColorMap != null) {
- for (Color color : fEventColorMap) {
- fResourceManager.destroyColor(color.getRGB());
- }
- }
- if (stateItems != null) {
- fEventColorMap = new Color[stateItems.length];
- for (int i = 0; i < stateItems.length; i++) {
- fEventColorMap[i] = fResourceManager.createColor(stateItems[i].getStateColor());
- }
- } else {
- fEventColorMap = new Color[] { };
- }
- redraw();
- }
-
- private class ItemData {
- private final Map<ITimeGraphEntry, Item> fItemMap = new LinkedHashMap<>();
- private Item[] fExpandedItems = new Item[0];
- private Item[] fItems = new Item[0];
- private ITimeGraphEntry fRootEntries[] = new ITimeGraphEntry[0];
- private List<ILinkEvent> fLinks = new ArrayList<>();
- private boolean fEntryFilter[] = new boolean[0];
- private final ArrayList<ITimeGraphEntry> fFilteredOut = new ArrayList<>();
-
- public ItemData() {
- }
-
- public Item findItem(ITimeGraphEntry entry) {
- return fItemMap.get(entry);
- }
-
- public int findItemIndex(ITimeGraphEntry entry) {
- Item item = fItemMap.get(entry);
- if (item == null) {
- return -1;
- }
- return item.fExpandedIndex;
- }
-
- public void refreshData() {
- fItemMap.clear();
- fFilteredOut.clear();
- ITimeGraphEntry selection = getSelectedTrace();
- for (int i = 0; i < fRootEntries.length; i++) {
- ITimeGraphEntry entry = fRootEntries[i];
- refreshData(fItemMap, null, 0, entry);
- }
- fItems = fItemMap.values().toArray(new Item[0]);
- updateExpandedItems();
- if (selection != null) {
- for (Item item : fExpandedItems) {
- if (item.fEntry == selection) {
- item.fSelected = true;
- break;
- }
- }
- }
- }
-
- private void refreshData(Map<ITimeGraphEntry, Item> itemMap, Item parent, int level, ITimeGraphEntry entry) {
- Item item = new Item(entry, entry.getName(), level);
- if (parent != null) {
- parent.fChildren.add(item);
- }
- if (fGlobalItemHeight == CUSTOM_ITEM_HEIGHT) {
- item.fItemHeight = fTimeGraphProvider.getItemHeight(entry);
- } else {
- item.fItemHeight = fGlobalItemHeight;
- }
- itemMap.put(entry, item);
- if (entry.hasChildren()) {
- item.fExpanded = fAutoExpandLevel == ALL_LEVELS || level < fAutoExpandLevel;
- item.fHasChildren = true;
- for (ITimeGraphEntry child : entry.getChildren()) {
- refreshData(itemMap, item, level + 1, child);
- }
- }
- }
-
- public void updateExpandedItems() {
- for (Item item : fItems) {
- item.fExpandedIndex = -1;
- }
- List<Item> expandedItemList = new ArrayList<>();
- for (int i = 0; i < fRootEntries.length; i++) {
- ITimeGraphEntry entry = fRootEntries[i];
- Item item = findItem(entry);
- refreshExpanded(expandedItemList, item);
- }
- fExpandedItems = expandedItemList.toArray(new Item[0]);
- fTopIndex = Math.min(fTopIndex, Math.max(0, fExpandedItems.length - 1));
- }
-
- private void refreshExpanded(List<Item> expandedItemList, Item item) {
- // Check for filters
- boolean display = true;
- for (ViewerFilter filter : fFilters) {
- if (!filter.select(null, item.fEntry.getParent(), item.fEntry)) {
- display = false;
- break;
- }
- }
- if (display) {
- item.fExpandedIndex = expandedItemList.size();
- expandedItemList.add(item);
- if (item.fHasChildren && item.fExpanded) {
- for (Item child : item.fChildren) {
- refreshExpanded(expandedItemList, child);
- }
- }
- }
- }
-
- public void refreshData(ITimeGraphEntry[] entries) {
- if (entries == null) {
- fEntryFilter = null;
- fRootEntries = null;
- } else {
- if (entries.length == 0) {
- fEntryFilter = null;
- } else if (fEntryFilter == null || entries.length != fEntryFilter.length) {
- fEntryFilter = new boolean[entries.length];
- java.util.Arrays.fill(fEntryFilter, true);
- }
- fRootEntries = Arrays.copyOf(entries, entries.length);
- }
-
- refreshData();
- }
-
- public void refreshArrows(List<ILinkEvent> events) {
- /* If links are null, reset the list */
- if (events != null) {
- fLinks = events;
- } else {
- fLinks = new ArrayList<>();
- }
- }
-
- public ITimeGraphEntry[] getEntries() {
- return fRootEntries;
- }
-
- public boolean[] getEntryFilter() {
- return fEntryFilter;
- }
-
- public List<ITimeGraphEntry> getFilteredOut() {
- return fFilteredOut;
- }
- }
-
- private class Item {
- private boolean fExpanded;
- private int fExpandedIndex;
- private boolean fSelected;
- private boolean fHasChildren;
- private int fItemHeight;
- private final int fLevel;
- private final List<Item> fChildren;
- private final String fName;
- private final ITimeGraphEntry fEntry;
-
- public Item(ITimeGraphEntry entry, String name, int level) {
- this.fEntry = entry;
- this.fName = name;
- this.fLevel = level;
- this.fChildren = new ArrayList<>();
- }
-
- @Override
- public String toString() {
- return fName;
- }
- }
-
- /**
- * @since 1.2
- */
- @Override
- public void menuDetected(MenuDetectEvent e) {
- if (null == fTimeProvider) {
- return;
- }
- if (e.detail == SWT.MENU_MOUSE) {
- if (fPendingMenuDetectEvent == null) {
- /* Feature in Linux. The MenuDetectEvent is received before mouseDown.
- * Store the event and trigger it later just before handling mouseUp.
- * This allows for the method to detect if mouse is used to drag zoom.
- */
- fPendingMenuDetectEvent = e;
- return;
- }
- fPendingMenuDetectEvent = null;
- if (fDragState != DRAG_ZOOM || fDragX != fDragX0) {
- return;
- }
- } else {
- if (fDragState != DRAG_NONE) {
- return;
- }
- }
- Point p = toControl(e.x, e.y);
- int idx = getItemIndexAtY(p.y);
- if (idx >= 0 && idx < fItemData.fExpandedItems.length) {
- Item item = fItemData.fExpandedItems[idx];
- ITimeGraphEntry entry = item.fEntry;
- if (entry.hasTimeEvents()) {
- ITimeEvent event = Utils.findEvent(entry, getTimeAtX(p.x), 2);
- if (event != null) {
- e.data = event;
- fireMenuEventOnTimeEvent(e);
- return;
- }
- }
- e.data = entry;
- fireMenuEventOnTimeGraphEntry(e);
- }
- }
-
-}
-
-
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/widgets/timegraph/widgets/TimeGraphScale.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/widgets/timegraph/widgets/TimeGraphScale.java
deleted file mode 100644
index 28642b55d6..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/widgets/timegraph/widgets/TimeGraphScale.java
+++ /dev/null
@@ -1,859 +0,0 @@
-/*****************************************************************************
- * Copyright (c) 2007, 2014 Intel Corporation, 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:
- * Intel Corporation - Initial API and implementation
- * Ruslan A. Scherbakov, Intel - Initial API and implementation
- * Alvaro Sanchez-Leon - Updated for TMF
- * Patrick Tasse - Refactoring
- * Marc-Andre Laperle - Add time zone preference
- *****************************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.widgets.timegraph.widgets;
-
-import java.text.NumberFormat;
-import java.text.SimpleDateFormat;
-import java.util.Calendar;
-import java.util.Date;
-import java.util.TimeZone;
-
-import org.eclipse.linuxtools.internal.tmf.ui.Messages;
-import org.eclipse.linuxtools.tmf.core.signal.TmfSignalHandler;
-import org.eclipse.linuxtools.tmf.core.signal.TmfSignalManager;
-import org.eclipse.linuxtools.tmf.core.signal.TmfTimestampFormatUpdateSignal;
-import org.eclipse.linuxtools.tmf.core.timestamp.TmfTimePreferences;
-import org.eclipse.linuxtools.tmf.ui.widgets.timegraph.widgets.Utils.Resolution;
-import org.eclipse.linuxtools.tmf.ui.widgets.timegraph.widgets.Utils.TimeFormat;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.MouseEvent;
-import org.eclipse.swt.events.MouseListener;
-import org.eclipse.swt.events.MouseMoveListener;
-import org.eclipse.swt.events.PaintEvent;
-import org.eclipse.swt.graphics.GC;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.graphics.Rectangle;
-import org.eclipse.swt.widgets.Composite;
-
-/**
- * Implementation of the scale for the time graph view.
- *
- * This goes above the "gantt chart" area.
- *
- * @version 1.0
- * @author Alvaro Sanchez-Leon
- * @author Patrick Tasse
- */
-public class TimeGraphScale extends TimeGraphBaseControl implements
- MouseListener, MouseMoveListener {
-
- private static final long MICROSEC_IN_NS = 1000;
- private static final long MILLISEC_IN_NS = 1000000;
- private static final long SEC_IN_NS = 1000000000;
- private static final long MIN_IN_NS = 60 * SEC_IN_NS;
- private static final long HOUR_IN_NS = 60 * MIN_IN_NS;
- private static final long DAY_IN_NS = 24 * HOUR_IN_NS;
- private static final long MONTH_IN_NS = 31 * DAY_IN_NS; // upper limit
- private static final long YEAR_IN_NS = 366 * DAY_IN_NS; // upper limit
-
- private static final double LOG10_1 = Math.log10(1);
- private static final double LOG10_2 = Math.log10(2);
- private static final double LOG10_3 = Math.log10(3);
- private static final double LOG10_5 = Math.log10(5);
-
- private static final Calendar GREGORIAN_CALENDAR = Calendar.getInstance();
-
- private static final TimeDraw TIMEDRAW_NANOSEC = new TimeDrawNanosec();
- private static final TimeDraw TIMEDRAW_MICROSEC = new TimeDrawMicrosec();
- private static final TimeDraw TIMEDRAW_MILLISEC = new TimeDrawMillisec();
- private static final TimeDraw TIMEDRAW_SEC = new TimeDrawSec();
- private static final TimeDraw TIMEDRAW_ABS_NANOSEC = new TimeDrawAbsNanoSec();
- private static final TimeDraw TIMEDRAW_ABS_MICROSEC = new TimeDrawAbsMicroSec();
- private static final TimeDraw TIMEDRAW_ABS_MILLISEC = new TimeDrawAbsMillisec();
- private static final TimeDraw TIMEDRAW_ABS_SEC = new TimeDrawAbsSec();
- private static final TimeDraw TIMEDRAW_ABS_MIN = new TimeDrawAbsMin();
- private static final TimeDraw TIMEDRAW_ABS_HRS = new TimeDrawAbsHrs();
- private static final TimeDraw TIMEDRAW_ABS_DAY = new TimeDrawAbsDay();
- private static final TimeDraw TIMEDRAW_ABS_MONTH = new TimeDrawAbsMonth();
- private static final TimeDraw TIMEDRAW_ABS_YEAR = new TimeDrawAbsYear();
- private static final TimeDraw TIMEDRAW_NUMBER = new TimeDrawNumber();
- private static final TimeDraw TIMEDRAW_CYCLES = new TimeDrawCycles();
-
- private static final int DRAG_EXTERNAL = -1;
- private static final int NO_BUTTON = 0;
- private static final int LEFT_BUTTON = 1;
-
- private ITimeDataProvider fTimeProvider;
- private int fDragState = NO_BUTTON;
- private int fDragX0 = 0;
- private int fDragX = 0;
- private long fTime0bak;
- private long fTime1bak;
- private boolean fIsInUpdate;
- private int fHeight;
-
- /**
- * Standard constructor
- *
- * @param parent
- * The parent composite object
- * @param colors
- * The color scheme to use
- */
- public TimeGraphScale(Composite parent, TimeGraphColorScheme colors) {
- super(parent, colors, SWT.NO_BACKGROUND | SWT.NO_FOCUS | SWT.DOUBLE_BUFFERED);
- TmfSignalManager.register(this);
- addMouseListener(this);
- addMouseMoveListener(this);
- TimeDraw.updateTimeZone();
- }
-
- @Override
- public void dispose() {
- TmfSignalManager.deregister(this);
- super.dispose();
- }
-
- /**
- * Assign the time provider for this scale
- *
- * @param timeProvider
- * The provider to use
- */
- public void setTimeProvider(ITimeDataProvider timeProvider) {
- fTimeProvider = timeProvider;
- }
-
- /**
- * Get the time provider used by this scale
- *
- * @return The time provider
- * @since 3.2
- */
- public ITimeDataProvider getTimeProvider() {
- return fTimeProvider;
- }
-
- @Override
- public Point computeSize(int wHint, int hHint, boolean changed) {
- return super.computeSize(wHint, fHeight, changed);
- }
-
- /**
- * Set the height of the scale
- *
- * @param height
- * The height to use
- */
- public void setHeight(int height) {
- this.fHeight = height;
- }
-
- /**
- * Set the drag range to paint decorators
- *
- * @param begin
- * The begin x-coordinate
- * @param end
- * The end x-coordinate
- * @since 2.1
- */
- public void setDragRange(int begin, int end) {
- if (NO_BUTTON == fDragState || DRAG_EXTERNAL == fDragState) {
- fDragX0 = begin - fTimeProvider.getNameSpace();
- fDragX = end - fTimeProvider.getNameSpace();
- if (begin >= 0 || end >= 0) {
- fDragState = DRAG_EXTERNAL;
- } else {
- fDragState = NO_BUTTON;
- }
- }
- redraw();
- }
-
- private long calcTimeDelta(int width, double pixelsPerNanoSec) {
- long timeDelta;
- double minDelta = (pixelsPerNanoSec == 0) ? YEAR_IN_NS : width / pixelsPerNanoSec;
- long unit = 1;
- if (fTimeProvider != null && fTimeProvider.getTimeFormat() == TimeFormat.CALENDAR) {
- if (minDelta > 6 * MONTH_IN_NS) {
- unit = YEAR_IN_NS;
- } else if (minDelta > 3 * MONTH_IN_NS) {
- unit = 6 * MONTH_IN_NS;
- } else if (minDelta > 10 * DAY_IN_NS) {
- unit = MONTH_IN_NS;
- } else if (minDelta > 12 * HOUR_IN_NS) {
- unit = DAY_IN_NS;
- } else if (minDelta > 3 * HOUR_IN_NS) {
- unit = 6 * HOUR_IN_NS;
- } else if (minDelta > 30 * MIN_IN_NS) {
- unit = HOUR_IN_NS;
- } else if (minDelta > 10 * MIN_IN_NS) {
- unit = 15 * MIN_IN_NS;
- } else if (minDelta > 30 * SEC_IN_NS) {
- unit = MIN_IN_NS;
- } else if (minDelta > 20 * SEC_IN_NS) {
- unit = 30 * SEC_IN_NS;
- } else if (minDelta <= 1) {
- timeDelta = 1;
- return timeDelta;
- }
- }
- double log = Math.log10(minDelta / unit);
- long pow10 = (long) log;
- double remainder = log - pow10;
- if (remainder < LOG10_1) {
- timeDelta = (long) Math.pow(10, pow10) * unit;
- } else if (remainder < LOG10_2) {
- timeDelta = 2 * (long) Math.pow(10, pow10) * unit;
- } else if (remainder < LOG10_3 && unit >= HOUR_IN_NS && unit < YEAR_IN_NS) {
- timeDelta = 3 * (long) Math.pow(10, pow10) * unit;
- } else if (remainder < LOG10_5) {
- timeDelta = 5 * (long) Math.pow(10, pow10) * unit;
- } else {
- timeDelta = 10 * (long) Math.pow(10, pow10) * unit;
- }
- if (timeDelta <= 0) {
- timeDelta = 1;
- }
- return timeDelta;
- }
-
- TimeDraw getTimeDraw(long timeDelta) {
- TimeDraw timeDraw;
- if (fTimeProvider != null) {
- switch (fTimeProvider.getTimeFormat()) {
- case CALENDAR:
- if (timeDelta >= YEAR_IN_NS) {
- timeDraw = TIMEDRAW_ABS_YEAR;
- } else if (timeDelta >= MONTH_IN_NS) {
- timeDraw = TIMEDRAW_ABS_MONTH;
- } else if (timeDelta >= DAY_IN_NS) {
- timeDraw = TIMEDRAW_ABS_DAY;
- } else if (timeDelta >= HOUR_IN_NS) {
- timeDraw = TIMEDRAW_ABS_HRS;
- } else if (timeDelta >= MIN_IN_NS) {
- timeDraw = TIMEDRAW_ABS_MIN;
- } else if (timeDelta >= SEC_IN_NS) {
- timeDraw = TIMEDRAW_ABS_SEC;
- } else if (timeDelta >= MILLISEC_IN_NS) {
- timeDraw = TIMEDRAW_ABS_MILLISEC;
- } else if (timeDelta >= MICROSEC_IN_NS) {
- timeDraw = TIMEDRAW_ABS_MICROSEC;
- } else {
- timeDraw = TIMEDRAW_ABS_NANOSEC;
- }
- return timeDraw;
- case NUMBER:
- return TIMEDRAW_NUMBER;
- case CYCLES:
- return TIMEDRAW_CYCLES;
- case RELATIVE:
- default:
- }
-
- }
- if (timeDelta >= SEC_IN_NS) {
- timeDraw = TIMEDRAW_SEC;
- } else if (timeDelta >= MILLISEC_IN_NS) {
- timeDraw = TIMEDRAW_MILLISEC;
- } else if (timeDelta >= MICROSEC_IN_NS) {
- timeDraw = TIMEDRAW_MICROSEC;
- } else {
- timeDraw = TIMEDRAW_NANOSEC;
- }
- return timeDraw;
- }
-
- @Override
- void paint(Rectangle rect, PaintEvent e) {
-
- if (fIsInUpdate || null == fTimeProvider) {
- return;
- }
-
- GC gc = e.gc;
- gc.fillRectangle(rect);
-
- long time0 = fTimeProvider.getTime0();
- long time1 = fTimeProvider.getTime1();
- int leftSpace = fTimeProvider.getNameSpace();
- int timeSpace = fTimeProvider.getTimeSpace();
-
- gc.setBackground(getColorScheme().getColor(TimeGraphColorScheme.TOOL_BACKGROUND));
- gc.setForeground(getColorScheme().getColor(TimeGraphColorScheme.TOOL_FOREGROUND));
- Rectangle rect0 = new Rectangle(0, 0, 0, 0);
- Utils.init(rect0, rect);
-
- // draw top left area
- rect0.width = leftSpace;
- rect0.x += 4;
- rect0.width -= 4;
- Rectangle absHeaderRect = new Rectangle(rect0.x, rect0.y, rect0.width, rect0.height);
- rect0.x -= 4;
- rect0.width += 4;
-
- // prepare and draw right rect of the timescale
- rect0.x += leftSpace;
- rect0.width = rect.width - leftSpace;
-
- // draw bottom border and erase all other area
- gc.drawLine(rect.x, rect.y + rect.height - 1, rect.x + rect.width - 1,
- rect.y + rect.height - 1);
- rect0.height--;
- gc.fillRectangle(rect0);
-
- if (time1 <= time0 || timeSpace < 2) {
- return;
- }
-
- int numDigits = calculateDigits(time0, time1);
-
- int labelWidth = gc.getCharWidth('0') * numDigits;
- double pixelsPerNanoSec = (timeSpace <= RIGHT_MARGIN) ? 0 :
- (double) (timeSpace - RIGHT_MARGIN) / (time1 - time0);
- long timeDelta = calcTimeDelta(labelWidth, pixelsPerNanoSec);
-
- TimeDraw timeDraw = getTimeDraw(timeDelta);
-
- // draw range decorators
- if (DRAG_EXTERNAL == fDragState) {
- int x1 = leftSpace + Math.min(fDragX0, fDragX);
- int x2 = leftSpace + Math.max(fDragX0, fDragX);
- drawRangeDecorators(rect0, gc, x1, x2);
- } else {
- int x1;
- int x2;
- long selectionBegin = fTimeProvider.getSelectionBegin();
- long selectionEnd = fTimeProvider.getSelectionEnd();
- x1 = leftSpace + (int) ((selectionBegin - time0) * pixelsPerNanoSec);
- x2 = leftSpace + (int) ((selectionEnd - time0) * pixelsPerNanoSec);
- drawRangeDecorators(rect0, gc, x1, x2);
- }
-
- if (rect0.isEmpty()) {
- return;
- }
-
- // draw time scale ticks
- rect0.y = rect.y;
- rect0.height = rect.height - 4;
- rect0.width = labelWidth;
-
- long time;
- if (fTimeProvider != null && fTimeProvider.getTimeFormat() == TimeFormat.CALENDAR) {
- time = floorToCalendar(time0, timeDelta);
- } else {
- time = (time0 / timeDelta) * timeDelta;
- if (time != time0) {
- time += timeDelta;
- }
- }
-
- int y = rect0.y + rect0.height;
-
- if (fTimeProvider != null && fTimeProvider.getTimeFormat() == TimeFormat.CALENDAR) {
- timeDraw.drawAbsHeader(gc, time, absHeaderRect);
- }
-
- while (true) {
- int x = rect.x + leftSpace + (int) (Math.floor((time - time0) * pixelsPerNanoSec));
- if (x >= rect.x + leftSpace + rect.width - rect0.width) {
- break;
- }
- if (x >= rect.x + leftSpace) {
- gc.drawLine(x, y, x, y + 4);
- rect0.x = x;
- if (x + rect0.width <= rect.x + rect.width) {
- timeDraw.draw(gc, time, rect0);
- }
- }
- if (pixelsPerNanoSec == 0 || time > Long.MAX_VALUE - timeDelta || timeDelta == 0) {
- break;
- }
- if (fTimeProvider != null && fTimeProvider.getTimeFormat() == TimeFormat.CALENDAR) {
- if (timeDelta >= YEAR_IN_NS) {
- long millis = time / MILLISEC_IN_NS;
- GREGORIAN_CALENDAR.setTime(new Date(millis));
- GREGORIAN_CALENDAR.add(Calendar.YEAR, (int) (timeDelta / YEAR_IN_NS));
- millis = GREGORIAN_CALENDAR.getTimeInMillis();
- time = millis * MILLISEC_IN_NS;
- } else if (timeDelta >= MONTH_IN_NS) {
- long millis = time / MILLISEC_IN_NS;
- GREGORIAN_CALENDAR.setTime(new Date(millis));
- GREGORIAN_CALENDAR.add(Calendar.MONTH, (int) (timeDelta / MONTH_IN_NS));
- millis = GREGORIAN_CALENDAR.getTimeInMillis();
- time = millis * MILLISEC_IN_NS;
- } else if (timeDelta >= DAY_IN_NS) {
- long millis = time / MILLISEC_IN_NS;
- GREGORIAN_CALENDAR.setTime(new Date(millis));
- GREGORIAN_CALENDAR.add(Calendar.DAY_OF_MONTH, (int) (timeDelta / DAY_IN_NS));
- millis = GREGORIAN_CALENDAR.getTimeInMillis();
- time = millis * MILLISEC_IN_NS;
- } else {
- time += timeDelta;
- }
- } else {
- time += timeDelta;
- }
- }
- }
-
- private static void drawRangeDecorators(Rectangle rect, GC gc, int x1, int x2) {
- int y1 = rect.y + rect.height - 9;
- int y2 = rect.y + rect.height - 5;
- int ym = (y1 + y2) / 2;
- if (x1 >= rect.x) {
- // T1
- gc.drawLine(x1 - 3, y1, x1 - 3, y2);
- gc.drawLine(x1 - 4, y1, x1 - 2, y1);
- gc.drawLine(x1, y1, x1, y2);
- }
- if (x2 >= rect.x && x2 - x1 > 3) {
- // T2
- gc.drawLine(x2 - 2, y1, x2 - 2, y2);
- gc.drawLine(x2 - 3, y1, x2 - 1, y1);
- }
- if (x2 >= rect.x && x2 - x1 > 0) {
- gc.drawLine(x2 + 1, y1, x2 + 3, y1);
- gc.drawLine(x2 + 3, y1, x2 + 3, ym);
- gc.drawLine(x2 + 1, ym, x2 + 3, ym);
- gc.drawLine(x2 + 1, ym, x2 + 1, y2);
- gc.drawLine(x2 + 1, y2, x2 + 3, y2);
- }
- }
-
- private static long floorToCalendar(long time, long timeDelta) {
- long ret = time;
-
- if (timeDelta >= YEAR_IN_NS) {
- GREGORIAN_CALENDAR.setTime(new Date(ret / MILLISEC_IN_NS));
- int year = GREGORIAN_CALENDAR.get(Calendar.YEAR);
- int yearDelta = (int) (timeDelta / YEAR_IN_NS);
- year = (year / yearDelta) * yearDelta;
- GREGORIAN_CALENDAR.set(Calendar.YEAR, year);
- GREGORIAN_CALENDAR.set(Calendar.MONTH, 0); // January 1st of year
- GREGORIAN_CALENDAR.set(Calendar.DAY_OF_MONTH, 1);
- GREGORIAN_CALENDAR.set(Calendar.HOUR_OF_DAY, 0);
- GREGORIAN_CALENDAR.set(Calendar.MINUTE, 0);
- GREGORIAN_CALENDAR.set(Calendar.SECOND, 0);
- GREGORIAN_CALENDAR.set(Calendar.MILLISECOND, 0);
- ret = GREGORIAN_CALENDAR.getTimeInMillis() * MILLISEC_IN_NS;
- } else if (timeDelta >= MONTH_IN_NS) {
- GREGORIAN_CALENDAR.setTime(new Date(ret / MILLISEC_IN_NS));
- int month = GREGORIAN_CALENDAR.get(Calendar.MONTH);
- int monthDelta = (int) (timeDelta / MONTH_IN_NS);
- month = (month / monthDelta) * monthDelta;
- GREGORIAN_CALENDAR.set(Calendar.MONTH, month);
- GREGORIAN_CALENDAR.set(Calendar.DAY_OF_MONTH, 1); // 1st of month
- GREGORIAN_CALENDAR.set(Calendar.HOUR_OF_DAY, 0);
- GREGORIAN_CALENDAR.set(Calendar.MINUTE, 0);
- GREGORIAN_CALENDAR.set(Calendar.SECOND, 0);
- GREGORIAN_CALENDAR.set(Calendar.MILLISECOND, 0);
- ret = GREGORIAN_CALENDAR.getTimeInMillis() * MILLISEC_IN_NS;
- } else {
- long offset = GREGORIAN_CALENDAR.getTimeZone().getOffset(ret / MILLISEC_IN_NS) * MILLISEC_IN_NS;
- ret += offset;
- ret = (ret / timeDelta) * timeDelta;
- ret -= offset;
- }
- return ret;
- }
-
- private int calculateDigits(long time0, long time1) {
- int numDigits = 5;
- long timeRange = time1 - time0;
-
- if (fTimeProvider.getTimeFormat() == TimeFormat.CALENDAR) {
- // Calculate the number of digits to represent the minutes provided
- // 11:222
- // HH:mm:ss
- numDigits += 8;
- if (timeRange < 10000) {
- // HH:11:222:333:444__
- numDigits += 10;
- } else if (timeRange < 10000000) {
- // HH:11:222:333__
- numDigits += 6;
- }
- } else {
- long sec = time1 / SEC_IN_NS;
- numDigits = Long.toString(sec).length();
- int thousandGroups = (numDigits - 1) / 3;
- numDigits += thousandGroups;
- numDigits += 12; // .000 000 000
- if (fTimeProvider.getTimeFormat() == TimeFormat.CYCLES) {
- numDigits += Messages.Utils_ClockCyclesUnit.length();
- }
- }
-
- return numDigits;
- }
-
- @Override
- public void mouseDown(MouseEvent e) {
- getParent().setFocus();
- if (fDragState == NO_BUTTON && null != fTimeProvider) {
- int x = e.x - fTimeProvider.getNameSpace();
- if (LEFT_BUTTON == e.button && x > 0) {
- setCapture(true);
- fDragState = LEFT_BUTTON;
- }
- if (x < 0) {
- x = 0;
- } else if (x > getSize().x - fTimeProvider.getNameSpace()) {
- x = getSize().x - fTimeProvider.getNameSpace();
- }
- fDragX = x;
- fDragX0 = x;
- fTime0bak = fTimeProvider.getTime0();
- fTime1bak = fTimeProvider.getTime1();
- }
- }
-
- @Override
- public void mouseUp(MouseEvent e) {
- if (e.button == LEFT_BUTTON && fDragState == LEFT_BUTTON) {
- setCapture(false);
- fDragState = NO_BUTTON;
-
- // Notify time provider to check the need for listener notification
- if (fDragX != fDragX0 && fTimeProvider.getTime0() != fTimeProvider.getTime1()) {
- fTimeProvider.setStartFinishTimeNotify(fTimeProvider.getTime0(), fTimeProvider.getTime1());
- }
- }
- }
-
- @Override
- public void mouseMove(MouseEvent e) {
- if (fDragX0 < 0 || fDragState == NO_BUTTON || fTimeProvider == null) {
- return;
- }
- Point size = getSize();
- int leftSpace = fTimeProvider.getNameSpace();
- int x = e.x - leftSpace;
- if (LEFT_BUTTON == fDragState) {
- if (x > 0 && size.x > leftSpace && fDragX != x) {
- fDragX = x;
- if (fTimeProvider.getTime0() == fTimeProvider.getTime1()) {
- return;
- }
- long interval = (long) ((fTime1bak - fTime0bak) * ((double) fDragX0 / fDragX));
- if (interval == Long.MAX_VALUE) {
- fTimeProvider.setStartFinishTime(fTime0bak, Long.MAX_VALUE);
- } else {
- long time1 = fTime0bak + (long) ((fTime1bak - fTime0bak) * ((double) fDragX0 / fDragX));
- fTimeProvider.setStartFinishTime(fTime0bak, time1);
- }
- }
- }
- }
-
- @Override
- public void mouseDoubleClick(MouseEvent e) {
- if (e.button == 1 && null != fTimeProvider && fTimeProvider.getTime0() != fTimeProvider.getTime1() && (e.stateMask & SWT.BUTTON_MASK) == 0) {
- fTimeProvider.resetStartFinishTime();
- fTimeProvider.notifyStartFinishTime();
- fTime0bak = fTimeProvider.getTime0();
- fTime1bak = fTimeProvider.getTime1();
- }
- }
-
- /**
- * Update the display to use the updated timestamp format
- *
- * @param signal the incoming signal
- * @since 2.1
- */
- @TmfSignalHandler
- public void timestampFormatUpdated(TmfTimestampFormatUpdateSignal signal) {
- TimeDraw.updateTimeZone();
- Utils.updateTimeZone();
- redraw();
- }
-}
-
-abstract class TimeDraw {
- protected static final long MICROSEC_IN_NS = 1000;
- protected static final long MILLISEC_IN_NS = 1000000;
- protected static final long MILLISEC_IN_US = 1000;
- protected static final long SEC_IN_NS = 1000000000;
- protected static final long SEC_IN_MS = 1000;
- private static final String S = "" ; //$NON-NLS-1$
- private static final String S0 = "0" ; //$NON-NLS-1$
- private static final String S00 = "00"; //$NON-NLS-1$
- protected static final long PAD_1000 = 1000;
- protected static final SimpleDateFormat SEC_FORMAT_HEADER = new SimpleDateFormat("yyyy MMM dd"); //$NON-NLS-1$
- protected static final SimpleDateFormat SEC_FORMAT = new SimpleDateFormat("HH:mm:ss"); //$NON-NLS-1$
- protected static final SimpleDateFormat MIN_FORMAT_HEADER = new SimpleDateFormat("yyyy MMM dd"); //$NON-NLS-1$
- protected static final SimpleDateFormat MIN_FORMAT = new SimpleDateFormat("HH:mm"); //$NON-NLS-1$
- protected static final SimpleDateFormat HOURS_FORMAT_HEADER = new SimpleDateFormat("yyyy"); //$NON-NLS-1$
- protected static final SimpleDateFormat HOURS_FORMAT = new SimpleDateFormat("MMM dd HH:mm"); //$NON-NLS-1$
- protected static final SimpleDateFormat DAY_FORMAT_HEADER = new SimpleDateFormat("yyyy"); //$NON-NLS-1$
- protected static final SimpleDateFormat DAY_FORMAT = new SimpleDateFormat("MMM dd"); //$NON-NLS-1$
- protected static final SimpleDateFormat MONTH_FORMAT = new SimpleDateFormat("yyyy MMM"); //$NON-NLS-1$
- protected static final SimpleDateFormat YEAR_FORMAT = new SimpleDateFormat("yyyy"); //$NON-NLS-1$
-
- protected static final SimpleDateFormat formatArray[] = {
- SEC_FORMAT, SEC_FORMAT_HEADER, MIN_FORMAT, MIN_FORMAT_HEADER,
- HOURS_FORMAT, HOURS_FORMAT_HEADER, DAY_FORMAT, DAY_FORMAT_HEADER, MONTH_FORMAT, YEAR_FORMAT
- };
-
- /**
- * Updates the timezone using the preferences.
- */
- public static void updateTimeZone() {
- final TimeZone timeZone = TmfTimePreferences.getInstance().getTimeZone();
- for (SimpleDateFormat sdf : formatArray) {
- sdf.setTimeZone(timeZone);
- }
- }
-
- static String sep(long n) {
- StringBuilder retVal = new StringBuilder();
- String s = Long.toString(n);
- for (int i = 0; i < s.length(); i++) {
- int pos = s.length() - i - 1;
- retVal.append(s.charAt(i));
- if (pos % 3 == 0 && pos != 0) {
- retVal.append(' ');
- }
- }
- return retVal.toString();
- }
-
- static String pad(long n) {
- String s;
- if (n < 10) {
- s = S00;
- } else if (n < 100) {
- s = S0;
- } else {
- s = S;
- }
- return s + n;
- }
-
- public abstract int draw(GC gc, long time, Rectangle rect);
-
- /**
- * Override to draw absolute time header. This is for the time information
- * not shown in the draw of each tick
- *
- * @param gc
- * Graphics context
- * @param nanosec
- * time in nanosec
- * @param absHeaderRect
- * Header rectangle
- */
- public void drawAbsHeader(GC gc, long nanosec, Rectangle absHeaderRect) {
- }
-}
-
-class TimeDrawSec extends TimeDraw {
- @Override
- public int draw(GC gc, long nanosec, Rectangle rect) {
- long sec = nanosec / SEC_IN_NS;
- return Utils.drawText(gc, sep(sec), rect, true);
- }
-}
-
-class TimeDrawMillisec extends TimeDraw {
- @Override
- public int draw(GC gc, long nanosec, Rectangle rect) {
- long millisec = nanosec / MILLISEC_IN_NS;
- long ms = millisec % PAD_1000;
- long sec = millisec / SEC_IN_MS;
- return Utils.drawText(gc, sep(sec) + "." + pad(ms), rect, true); //$NON-NLS-1$
- }
-}
-
-class TimeDrawMicrosec extends TimeDraw {
- @Override
- public int draw(GC gc, long nanosec, Rectangle rect) {
- long microsec = nanosec / MICROSEC_IN_NS;
- long us = microsec % PAD_1000;
- long millisec = microsec / MILLISEC_IN_US;
- long ms = millisec % PAD_1000;
- long sec = millisec / SEC_IN_MS;
- return Utils.drawText(gc, sep(sec) + "." + pad(ms) + " " + pad(us), rect, true); //$NON-NLS-1$ //$NON-NLS-2$
- }
-}
-
-class TimeDrawNanosec extends TimeDraw {
- @Override
- public int draw(GC gc, long nanosec, Rectangle rect) {
- long ns = nanosec % PAD_1000;
- long microsec = nanosec / MICROSEC_IN_NS;
- long us = microsec % PAD_1000;
- long millisec = microsec / MILLISEC_IN_US;
- long ms = millisec % PAD_1000;
- long sec = millisec / SEC_IN_MS;
- return Utils.drawText(gc, sep(sec) + "." + pad(ms) + " " + pad(us) + " " + pad(ns), rect, true); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- }
-}
-
-class TimeDrawAbsYear extends TimeDraw {
- @Override
- public int draw(GC gc, long nanosec, Rectangle rect) {
- String stime = YEAR_FORMAT.format(new Date(nanosec / MILLISEC_IN_NS));
- return Utils.drawText(gc, stime, rect, true);
- }
-}
-
-class TimeDrawAbsMonth extends TimeDraw {
- @Override
- public int draw(GC gc, long nanosec, Rectangle rect) {
- String stime = MONTH_FORMAT.format(new Date(nanosec / MILLISEC_IN_NS));
- return Utils.drawText(gc, stime, rect, true);
- }
-}
-
-class TimeDrawAbsDay extends TimeDraw {
- @Override
- public int draw(GC gc, long nanosec, Rectangle rect) {
- String stime = DAY_FORMAT.format(new Date(nanosec / MILLISEC_IN_NS));
- return Utils.drawText(gc, stime, rect, true);
- }
-
- @Override
- public void drawAbsHeader(GC gc, long nanosec, Rectangle rect) {
- String header = DAY_FORMAT_HEADER.format(new Date(nanosec / MILLISEC_IN_NS));
- int headerwidth = gc.stringExtent(header).x + 4;
- if (headerwidth <= rect.width) {
- rect.x += (rect.width - headerwidth);
- Utils.drawText(gc, header, rect, true);
- }
- }
-}
-
-class TimeDrawAbsHrs extends TimeDraw {
- @Override
- public int draw(GC gc, long nanosec, Rectangle rect) {
- String stime = HOURS_FORMAT.format(new Date(nanosec / MILLISEC_IN_NS));
- return Utils.drawText(gc, stime, rect, true);
- }
-
- @Override
- public void drawAbsHeader(GC gc, long nanosec, Rectangle rect) {
- String header = HOURS_FORMAT_HEADER.format(new Date(nanosec / MILLISEC_IN_NS));
- int headerwidth = gc.stringExtent(header).x + 4;
- if (headerwidth <= rect.width) {
- rect.x += (rect.width - headerwidth);
- Utils.drawText(gc, header, rect, true);
- }
- }
-}
-
-class TimeDrawAbsMin extends TimeDraw {
- @Override
- public int draw(GC gc, long nanosec, Rectangle rect) {
- String stime = MIN_FORMAT.format(new Date(nanosec / MILLISEC_IN_NS));
- return Utils.drawText(gc, stime, rect, true);
- }
-
- @Override
- public void drawAbsHeader(GC gc, long nanosec, Rectangle rect) {
- String header = MIN_FORMAT_HEADER.format(new Date(nanosec / MILLISEC_IN_NS));
- int headerwidth = gc.stringExtent(header).x + 4;
- if (headerwidth <= rect.width) {
- rect.x += (rect.width - headerwidth);
- Utils.drawText(gc, header, rect, true);
- }
- }
-}
-
-class TimeDrawAbsSec extends TimeDraw {
- @Override
- public int draw(GC gc, long nanosec, Rectangle rect) {
- String stime = SEC_FORMAT.format(new Date(nanosec / MILLISEC_IN_NS));
- return Utils.drawText(gc, stime, rect, true);
- }
-
- @Override
- public void drawAbsHeader(GC gc, long nanosec, Rectangle rect) {
- String header = SEC_FORMAT_HEADER.format(new Date(nanosec / MILLISEC_IN_NS));
- int headerwidth = gc.stringExtent(header).x + 4;
- if (headerwidth <= rect.width) {
- rect.x += (rect.width - headerwidth);
- Utils.drawText(gc, header, rect, true);
- }
- }
-}
-
-class TimeDrawAbsMillisec extends TimeDraw {
- @Override
- public int draw(GC gc, long nanosec, Rectangle rect) {
- String stime = SEC_FORMAT.format(new Date(nanosec / MILLISEC_IN_NS));
- String ns = Utils.formatNs(nanosec, Resolution.MILLISEC);
- return Utils.drawText(gc, stime + "." + ns, rect, true); //$NON-NLS-1$
- }
-
- @Override
- public void drawAbsHeader(GC gc, long nanosec, Rectangle rect) {
- String header = SEC_FORMAT_HEADER.format(new Date(nanosec / MILLISEC_IN_NS));
- int headerwidth = gc.stringExtent(header).x + 4;
- if (headerwidth <= rect.width) {
- rect.x += (rect.width - headerwidth);
- Utils.drawText(gc, header, rect, true);
- }
- }
-}
-
-class TimeDrawAbsMicroSec extends TimeDraw {
- @Override
- public int draw(GC gc, long nanosec, Rectangle rect) {
- String stime = SEC_FORMAT.format(new Date(nanosec / MILLISEC_IN_NS));
- String micr = Utils.formatNs(nanosec, Resolution.MICROSEC);
- return Utils.drawText(gc, stime + "." + micr, rect, true); //$NON-NLS-1$
- }
-
- @Override
- public void drawAbsHeader(GC gc, long nanosec, Rectangle rect) {
- String header = SEC_FORMAT_HEADER.format(new Date(nanosec / MILLISEC_IN_NS));
- int headerwidth = gc.stringExtent(header).x + 4;
- if (headerwidth <= rect.width) {
- rect.x += (rect.width - headerwidth);
- Utils.drawText(gc, header, rect, true);
- }
- }
-}
-
-class TimeDrawAbsNanoSec extends TimeDraw {
- @Override
- public int draw(GC gc, long nanosec, Rectangle rect) {
- String stime = SEC_FORMAT.format(new Date(nanosec / MILLISEC_IN_NS));
- String ns = Utils.formatNs(nanosec, Resolution.NANOSEC);
- return Utils.drawText(gc, stime + "." + ns, rect, true); //$NON-NLS-1$
- }
-
- @Override
- public void drawAbsHeader(GC gc, long nanosec, Rectangle rect) {
- String header = SEC_FORMAT_HEADER.format(new Date(nanosec / MILLISEC_IN_NS));
- int headerwidth = gc.stringExtent(header).x + 4;
- if (headerwidth <= rect.width) {
- rect.x += (rect.width - headerwidth);
- Utils.drawText(gc, header, rect, true);
- }
- }
-}
-
-class TimeDrawNumber extends TimeDraw {
- @Override
- public int draw(GC gc, long time, Rectangle rect) {
- String stime = NumberFormat.getInstance().format(time);
- return Utils.drawText(gc, stime, rect, true);
- }
-}
-
-class TimeDrawCycles extends TimeDraw {
- @Override
- public int draw(GC gc, long time, Rectangle rect) {
- String stime = Utils.formatTime(time, TimeFormat.CYCLES, Resolution.SECONDS);
- return Utils.drawText(gc, stime, rect, true);
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/widgets/timegraph/widgets/TimeGraphSelection.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/widgets/timegraph/widgets/TimeGraphSelection.java
deleted file mode 100644
index 355f0e1afe..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/widgets/timegraph/widgets/TimeGraphSelection.java
+++ /dev/null
@@ -1,97 +0,0 @@
-/*****************************************************************************
- * Copyright (c) 2007, 2013 Intel Corporation, 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:
- * Intel Corporation - Initial API and implementation
- * Ruslan A. Scherbakov, Intel - Initial API and implementation
- * Alvaro Sanchez-Leon - Updated for TMF
- * Patrick Tasse - Refactoring
- *****************************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.widgets.timegraph.widgets;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.jface.viewers.IStructuredSelection;
-
-/**
- * Selection object for the time graph scale
- *
- * @version 1.0
- * @author Alvaro Sanchez-Leon
- * @author Patrick Tasse
- */
-public class TimeGraphSelection implements IStructuredSelection {
-
- private List<Object> list = new ArrayList<>();
-
- /**
- * Default constructor
- */
- public TimeGraphSelection() {
- }
-
- /**
- * "Wrapper" constructor. Instantiate a new selection object with only one
- * existing selection.
- *
- * @param sel
- * The initial selection to add to this one
- */
- public TimeGraphSelection(Object sel) {
- if (sel != null) {
- list.add(sel);
- }
- }
-
- /**
- * Add a selection to this one.
- *
- * @param sel
- * The selection to add
- */
- public void add(Object sel) {
- if (null != sel && !list.contains(sel)) {
- list.add(sel);
- }
- }
-
- @Override
- public Object getFirstElement() {
- if (!list.isEmpty()) {
- return list.get(0);
- }
- return null;
- }
-
- @Override
- public Iterator<Object> iterator() {
- return list.iterator();
- }
-
- @Override
- public int size() {
- return list.size();
- }
-
- @Override
- public Object[] toArray() {
- return list.toArray();
- }
-
- @Override
- public List<Object> toList() {
- return list;
- }
-
- @Override
- public boolean isEmpty() {
- return list.isEmpty();
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/widgets/timegraph/widgets/TimeGraphTooltipHandler.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/widgets/timegraph/widgets/TimeGraphTooltipHandler.java
deleted file mode 100644
index d3e885ea5b..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/widgets/timegraph/widgets/TimeGraphTooltipHandler.java
+++ /dev/null
@@ -1,380 +0,0 @@
-/*****************************************************************************
- * Copyright (c) 2007, 2014 Intel Corporation, 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:
- * Intel Corporation - Initial API and implementation
- * Vitaly A. Provodin, Intel - Initial API and implementation
- * Alvaro Sanchez-Leon - Updated for TMF
- * Patrick Tasse - Refactoring
- *****************************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.widgets.timegraph.widgets;
-
-import java.util.Iterator;
-import java.util.Map;
-
-import org.eclipse.linuxtools.internal.tmf.ui.Messages;
-import org.eclipse.linuxtools.tmf.ui.widgets.timegraph.ITimeGraphPresentationProvider;
-import org.eclipse.linuxtools.tmf.ui.widgets.timegraph.model.ILinkEvent;
-import org.eclipse.linuxtools.tmf.ui.widgets.timegraph.model.ITimeEvent;
-import org.eclipse.linuxtools.tmf.ui.widgets.timegraph.model.ITimeGraphEntry;
-import org.eclipse.linuxtools.tmf.ui.widgets.timegraph.model.NullTimeEvent;
-import org.eclipse.linuxtools.tmf.ui.widgets.timegraph.widgets.Utils.Resolution;
-import org.eclipse.linuxtools.tmf.ui.widgets.timegraph.widgets.Utils.TimeFormat;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.MouseAdapter;
-import org.eclipse.swt.events.MouseEvent;
-import org.eclipse.swt.events.MouseMoveListener;
-import org.eclipse.swt.events.MouseTrackAdapter;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.graphics.Rectangle;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Shell;
-
-/**
- * Handler for the tool tips in the generic time graph view.
- *
- * @version 1.0
- * @author Alvaro Sanchez-Leon
- * @author Patrick Tasse
- */
-public class TimeGraphTooltipHandler {
-
- private static final int OFFSET = 16;
-
- private Shell fTipShell;
- private Composite fTipComposite;
- private ITimeDataProvider fTimeDataProvider;
- private ITimeGraphPresentationProvider fTimeGraphProvider = null;
-
- /**
- * Standard constructor
- *
- * @param graphProv
- * The presentation provider
- * @param timeProv
- * The time provider
- *
- * @since 2.0
- */
- public TimeGraphTooltipHandler(ITimeGraphPresentationProvider graphProv,
- ITimeDataProvider timeProv) {
-
- this.fTimeGraphProvider = graphProv;
- this.fTimeDataProvider = timeProv;
- }
-
- /**
- * Set the time data provider
- *
- * @param timeDataProvider
- * The time data provider
- *
- * @since 3.2
- */
- public void setTimeProvider(ITimeDataProvider timeDataProvider) {
- fTimeDataProvider = timeDataProvider;
- }
-
- private void createTooltipShell(Shell parent) {
- final Display display = parent.getDisplay();
- if (fTipShell != null && ! fTipShell.isDisposed()) {
- fTipShell.dispose();
- }
- fTipShell = new Shell(parent, SWT.ON_TOP | SWT.TOOL);
- GridLayout gridLayout = new GridLayout();
- gridLayout.numColumns = 2;
- gridLayout.marginWidth = 2;
- gridLayout.marginHeight = 2;
- fTipShell.setLayout(gridLayout);
- fTipShell.setBackground(display.getSystemColor(SWT.COLOR_INFO_BACKGROUND));
-
- fTipComposite = new Composite(fTipShell, SWT.NONE);
- fTipComposite.setLayout(new GridLayout(3, false));
- setupControl(fTipComposite);
-
- }
-
- /**
- * Callback for the mouse-over tooltip
- *
- * @param control
- * The control object to use
- */
- public void activateHoverHelp(final Control control) {
- control.addMouseListener(new MouseAdapter() {
- @Override
- public void mouseDown(MouseEvent e) {
- if (fTipShell != null && ! fTipShell.isDisposed()) {
- fTipShell.dispose();
- }
- }
- });
-
- control.addMouseMoveListener(new MouseMoveListener() {
- @Override
- public void mouseMove(MouseEvent e) {
- if (fTipShell != null && ! fTipShell.isDisposed()) {
- fTipShell.dispose();
- }
- }
- });
-
- control.addMouseTrackListener(new MouseTrackAdapter() {
- @Override
- public void mouseExit(MouseEvent e) {
- if (fTipShell != null && ! fTipShell.isDisposed()) {
- Point pt = control.toDisplay(e.x, e.y);
- if (! fTipShell.getBounds().contains(pt)) {
- fTipShell.dispose();
- }
- }
- }
-
- private void addItem(String name, String value) {
- Label nameLabel = new Label(fTipComposite, SWT.NO_FOCUS);
- nameLabel.setText(name);
- setupControl(nameLabel);
- Label separator = new Label(fTipComposite, SWT.NO_FOCUS | SWT.SEPARATOR | SWT.VERTICAL);
- GridData gd = new GridData(SWT.CENTER, SWT.CENTER, false, false);
- gd.heightHint = nameLabel.computeSize(SWT.DEFAULT, SWT.DEFAULT).y;
- separator.setLayoutData(gd);
- setupControl(separator);
- Label valueLabel = new Label(fTipComposite, SWT.NO_FOCUS);
- valueLabel.setText(value);
- setupControl(valueLabel);
- }
-
- private void fillValues(Point pt, TimeGraphControl timeGraphControl, ITimeGraphEntry entry) {
- if (entry == null) {
- return;
- }
- if (entry.hasTimeEvents()) {
- long currPixelTime = timeGraphControl.getTimeAtX(pt.x);
- long nextPixelTime = timeGraphControl.getTimeAtX(pt.x + 1);
- if (nextPixelTime == currPixelTime) {
- nextPixelTime++;
- }
- ITimeEvent currEvent = Utils.findEvent(entry, currPixelTime, 0);
- ITimeEvent nextEvent = Utils.findEvent(entry, currPixelTime, 1);
-
- // if there is no current event at the start of the current pixel range,
- // or if the current event starts before the current pixel range,
- // use the next event as long as it starts within the current pixel range
- if ((currEvent == null || currEvent.getTime() < currPixelTime) &&
- (nextEvent != null && nextEvent.getTime() < nextPixelTime)) {
- currEvent = nextEvent;
- currPixelTime = nextEvent.getTime();
- }
-
- // state name
- String stateTypeName = fTimeGraphProvider.getStateTypeName(entry);
- String entryName = entry.getName();
- if (stateTypeName == null) {
- stateTypeName = fTimeGraphProvider.getStateTypeName();
- }
-
- if (!entryName.isEmpty()) {
- addItem(stateTypeName, entry.getName());
- }
-
- if (currEvent == null || currEvent instanceof NullTimeEvent) {
- return;
- }
-
- // state
- String state = fTimeGraphProvider.getEventName(currEvent);
- if (state != null) {
- addItem(Messages.TmfTimeTipHandler_TRACE_STATE, state);
- }
-
- // This block receives a list of <String, String> values to be added to the tip table
- Map<String, String> eventAddOns = fTimeGraphProvider.getEventHoverToolTipInfo(currEvent, currPixelTime);
- if (eventAddOns != null) {
- for (Iterator<String> iter = eventAddOns.keySet().iterator(); iter.hasNext();) {
- String message = iter.next();
- addItem(message, eventAddOns.get(message));
- }
- }
- if (fTimeGraphProvider.displayTimesInTooltip()) {
- long eventStartTime = -1;
- long eventDuration = -1;
- long eventEndTime = -1;
-
- eventStartTime = currEvent.getTime();
- eventDuration = currEvent.getDuration();
- if (eventDuration < 0 && nextEvent != null) {
- eventEndTime = nextEvent.getTime();
- eventDuration = eventEndTime - eventStartTime;
- } else {
- eventEndTime = eventStartTime + eventDuration;
- }
-
- Resolution res = Resolution.NANOSEC;
- TimeFormat tf = fTimeDataProvider.getTimeFormat();
- String startTime = "?"; //$NON-NLS-1$
- String duration = "?"; //$NON-NLS-1$
- String endTime = "?"; //$NON-NLS-1$
- if (fTimeDataProvider instanceof ITimeDataProviderConverter) {
- ITimeDataProviderConverter tdp = (ITimeDataProviderConverter) fTimeDataProvider;
- if (eventStartTime > -1) {
- eventStartTime = tdp.convertTime(eventStartTime);
- startTime = Utils.formatTime(eventStartTime, tf, res);
- }
- if (eventEndTime > -1) {
- eventEndTime = tdp.convertTime(eventEndTime);
- endTime = Utils.formatTime(eventEndTime, tf, res);
- }
- if (eventDuration > -1) {
- duration = Utils.formatDelta(eventEndTime - eventStartTime, tf, res);
- }
- } else {
- if (eventStartTime > -1) {
- startTime = Utils.formatTime(eventStartTime, tf, res);
- }
- if (eventEndTime > -1) {
- endTime = Utils.formatTime(eventEndTime, tf, res);
- }
- if (eventDuration > -1) {
- duration = Utils.formatDelta(eventDuration, tf, res);
- }
- }
- if (tf == TimeFormat.CALENDAR) {
- addItem(Messages.TmfTimeTipHandler_TRACE_DATE,
- eventStartTime > -1 ? Utils.formatDate(eventStartTime) : "?"); //$NON-NLS-1$
- }
- if (eventDuration > 0) {
- addItem(Messages.TmfTimeTipHandler_TRACE_START_TIME, startTime);
- addItem(Messages.TmfTimeTipHandler_TRACE_STOP_TIME, endTime);
- } else {
- addItem(Messages.TmfTimeTipHandler_TRACE_EVENT_TIME, startTime);
- }
-
- if (eventDuration > 0) {
- addItem(Messages.TmfTimeTipHandler_DURATION, duration);
- }
- }
- }
- }
-
- private void fillValues(ILinkEvent linkEvent) {
- addItem(Messages.TmfTimeTipHandler_LINK_SOURCE, linkEvent.getEntry().getName());
- addItem(Messages.TmfTimeTipHandler_LINK_TARGET, linkEvent.getDestinationEntry().getName());
-
- // This block receives a list of <String, String> values to be added to the tip table
- Map<String, String> eventAddOns = fTimeGraphProvider.getEventHoverToolTipInfo(linkEvent);
- if (eventAddOns != null) {
- for (Iterator<String> iter = eventAddOns.keySet().iterator(); iter.hasNext();) {
- String message = iter.next();
- addItem(message, eventAddOns.get(message));
- }
- }
- if (fTimeGraphProvider.displayTimesInTooltip()) {
- long sourceTime = linkEvent.getTime();
- long duration = linkEvent.getDuration();
- long targetTime = sourceTime + duration;
- if (fTimeDataProvider instanceof ITimeDataProviderConverter) {
- ITimeDataProviderConverter tdp = (ITimeDataProviderConverter) fTimeDataProvider;
- sourceTime = tdp.convertTime(sourceTime);
- targetTime = tdp.convertTime(targetTime);
- duration = targetTime - sourceTime;
- }
- Resolution res = Resolution.NANOSEC;
- TimeFormat tf = fTimeDataProvider.getTimeFormat();
- if (tf == TimeFormat.CALENDAR) {
- addItem(Messages.TmfTimeTipHandler_TRACE_DATE, Utils.formatDate(sourceTime));
- }
- if (duration > 0) {
- addItem(Messages.TmfTimeTipHandler_LINK_SOURCE_TIME, Utils.formatTime(sourceTime, tf, res));
- addItem(Messages.TmfTimeTipHandler_LINK_TARGET_TIME, Utils.formatTime(targetTime, tf, res));
- addItem(Messages.TmfTimeTipHandler_DURATION, Utils.formatDelta(duration, tf, res));
- } else {
- addItem(Messages.TmfTimeTipHandler_LINK_TIME, Utils.formatTime(sourceTime, tf, res));
- }
- }
- }
-
- @Override
- public void mouseHover(MouseEvent event) {
- if ((event.stateMask & SWT.BUTTON_MASK) != 0) {
- return;
- }
- Point pt = new Point(event.x, event.y);
- TimeGraphControl timeGraphControl = (TimeGraphControl) event.widget;
- createTooltipShell(timeGraphControl.getShell());
- for (Control child : fTipComposite.getChildren()) {
- child.dispose();
- }
- if ((event.stateMask & SWT.MODIFIER_MASK) != SWT.SHIFT) {
- ILinkEvent linkEvent = timeGraphControl.getArrow(pt);
- if (linkEvent != null) {
- fillValues(linkEvent);
- }
- }
- if (fTipComposite.getChildren().length == 0) {
- ITimeGraphEntry entry = timeGraphControl.getEntry(pt);
- fillValues(pt, timeGraphControl, entry);
- }
- if (fTipComposite.getChildren().length == 0) {
- return;
- }
- fTipShell.pack();
- Point tipPosition = control.toDisplay(pt);
- fTipShell.pack();
- setHoverLocation(fTipShell, tipPosition);
- fTipShell.setVisible(true);
- }
- });
- }
-
- private static void setHoverLocation(Shell shell, Point position) {
- Rectangle displayBounds = shell.getDisplay().getBounds();
- Rectangle shellBounds = shell.getBounds();
- if (position.x + shellBounds.width + OFFSET > displayBounds.width && position.x - shellBounds.width - OFFSET >= 0) {
- shellBounds.x = position.x - shellBounds.width - OFFSET;
- } else {
- shellBounds.x = Math.max(Math.min(position.x + OFFSET, displayBounds.width - shellBounds.width), 0);
- }
- if (position.y + shellBounds.height + OFFSET > displayBounds.height && position.y - shellBounds.height - OFFSET >= 0) {
- shellBounds.y = position.y - shellBounds.height - OFFSET;
- } else {
- shellBounds.y = Math.max(Math.min(position.y + OFFSET, displayBounds.height - shellBounds.height), 0);
- }
- shell.setBounds(shellBounds);
- }
-
- private void setupControl(Control control) {
- control.setForeground(fTipShell.getDisplay().getSystemColor(SWT.COLOR_INFO_FOREGROUND));
- control.setBackground(fTipShell.getDisplay().getSystemColor(SWT.COLOR_INFO_BACKGROUND));
-
- control.addMouseListener(new MouseAdapter() {
- @Override
- public void mouseDown(MouseEvent e) {
- fTipShell.dispose();
- }
- });
-
- control.addMouseTrackListener(new MouseTrackAdapter() {
- @Override
- public void mouseExit(MouseEvent e) {
- fTipShell.dispose();
- }
- });
-
- control.addMouseMoveListener(new MouseMoveListener() {
- @Override
- public void mouseMove(MouseEvent e) {
- fTipShell.dispose();
- }
- });
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/widgets/timegraph/widgets/Utils.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/widgets/timegraph/widgets/Utils.java
deleted file mode 100644
index 06131b22cd..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/widgets/timegraph/widgets/Utils.java
+++ /dev/null
@@ -1,826 +0,0 @@
-/*****************************************************************************
- * Copyright (c) 2007, 2014 Intel Corporation, 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:
- * Intel Corporation - Initial API and implementation
- * Ruslan A. Scherbakov, Intel - Initial API and implementation
- * Alvaro Sanchez-Leon - Udpated for TMF
- * Patrick Tasse - Refactoring
- * Marc-Andre Laperle - Add time zone preference
- *****************************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.widgets.timegraph.widgets;
-
-import java.text.NumberFormat;
-import java.text.SimpleDateFormat;
-import java.util.Date;
-import java.util.Iterator;
-import java.util.TimeZone;
-import java.util.concurrent.TimeUnit;
-
-import org.eclipse.linuxtools.internal.tmf.ui.Messages;
-import org.eclipse.linuxtools.tmf.core.timestamp.TmfTimePreferences;
-import org.eclipse.linuxtools.tmf.ui.widgets.timegraph.model.ITimeEvent;
-import org.eclipse.linuxtools.tmf.ui.widgets.timegraph.model.ITimeGraphEntry;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.graphics.Device;
-import org.eclipse.swt.graphics.GC;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.graphics.Rectangle;
-import org.eclipse.swt.widgets.Display;
-
-/**
- * General utilities and definitions used by the time graph widget
- *
- * @version 1.0
- * @author Alvaro Sanchez-Leon
- * @author Patrick Tasse
- */
-public class Utils {
-
- private Utils() {
- }
-
- /** Time format for dates and timestamp */
- public enum TimeFormat {
- /** Relative to the start of the trace */
- RELATIVE,
-
- /**
- * Absolute timestamp (ie, relative to the Unix epoch)
- * @since 2.0
- */
- CALENDAR,
-
- /**
- * Timestamp displayed as a simple number
- * @since 2.0
- */
- NUMBER,
-
- /**
- * Timestamp displayed as cycles
- * @since 3.2
- */
- CYCLES
- }
-
- /**
- * Timestamp resolution
- */
- public static enum Resolution {
- /** seconds */
- SECONDS,
-
- /** milliseconds */
- MILLISEC,
-
- /** microseconds */
- MICROSEC,
-
- /** nanoseconds */
- NANOSEC
- }
-
- private static final SimpleDateFormat TIME_FORMAT = new SimpleDateFormat("HH:mm:ss"); //$NON-NLS-1$
- private static final SimpleDateFormat DATE_FORMAT = new SimpleDateFormat("yyyy-MM-dd"); //$NON-NLS-1$
- private static final long HOURS_PER_DAY = 24;
- private static final long MIN_PER_HOUR = 60;
- private static final long SEC_PER_MIN = 60;
- private static final long SEC_IN_NS = 1000000000;
- private static final long MILLISEC_IN_NS = 1000000;
-
- /**
- * Update the time and date formats to use the current time zone
- *
- * @since 2.1
- */
- public static void updateTimeZone() {
- TimeZone timeZone = TmfTimePreferences.getInstance().getTimeZone();
- TIME_FORMAT.setTimeZone(timeZone);
- DATE_FORMAT.setTimeZone(timeZone);
- }
-
- static Rectangle clone(Rectangle source) {
- return new Rectangle(source.x, source.y, source.width, source.height);
- }
-
- /**
- * Initialize a Rectangle object to default values (all equal to 0)
- *
- * @param rect
- * The Rectangle to initialize
- */
- public static void init(Rectangle rect) {
- rect.x = 0;
- rect.y = 0;
- rect.width = 0;
- rect.height = 0;
- }
-
- /**
- * Initialize a Rectangle object with all the given values
- *
- * @param rect
- * The Rectangle object to initialize
- * @param x
- * The X coordinate
- * @param y
- * The Y coordinate
- * @param width
- * The width of the rectangle
- * @param height
- * The height of the rectangle
- */
- public static void init(Rectangle rect, int x, int y, int width, int height) {
- rect.x = x;
- rect.y = y;
- rect.width = width;
- rect.height = height;
- }
-
- /**
- * Initialize a Rectangle object to another existing Rectangle's values.
- *
- * @param rect
- * The Rectangle to initialize
- * @param source
- * The reference Rectangle to copy
- */
- public static void init(Rectangle rect, Rectangle source) {
- rect.x = source.x;
- rect.y = source.y;
- rect.width = source.width;
- rect.height = source.height;
- }
-
- /**
- * Reduce the size of a given rectangle by the given amounts.
- *
- * @param rect
- * The rectangle to modify
- * @param x
- * The reduction in width
- * @param y
- * The reduction in height
- */
- public static void deflate(Rectangle rect, int x, int y) {
- rect.x += x;
- rect.y += y;
- rect.width -= x + x;
- rect.height -= y + y;
- }
-
- /**
- * Increase the size of a given rectangle by the given amounts.
- *
- * @param rect
- * The rectangle to modify
- * @param x
- * The augmentation in width
- * @param y
- * The augmentation in height
- */
- public static void inflate(Rectangle rect, int x, int y) {
- rect.x -= x;
- rect.y -= y;
- rect.width += x + x;
- rect.height += y + y;
- }
-
- static void dispose(Color col) {
- if (null != col) {
- col.dispose();
- }
- }
-
- /**
- * Get the resulting color from a mix of two existing ones for a given
- * display.
- *
- * @param display
- * The display device (which might affect the color conversion)
- * @param c1
- * The first color
- * @param c2
- * The second color
- * @param w1
- * The gamma level for color 1
- * @param w2
- * The gamma level for color 2
- * @return The resulting color
- */
- public static Color mixColors(Device display, Color c1, Color c2, int w1,
- int w2) {
- return new Color(display, (w1 * c1.getRed() + w2 * c2.getRed())
- / (w1 + w2), (w1 * c1.getGreen() + w2 * c2.getGreen())
- / (w1 + w2), (w1 * c1.getBlue() + w2 * c2.getBlue())
- / (w1 + w2));
- }
-
- /**
- * Get the system color with the given ID.
- *
- * @param id
- * The color ID
- * @return The resulting color
- */
- public static Color getSysColor(int id) {
- Color col = Display.getCurrent().getSystemColor(id);
- return new Color(col.getDevice(), col.getRGB());
- }
-
- /**
- * Get the resulting color from a mix of two existing ones for the current
- * display.
- *
- * @param col1
- * The first color
- * @param col2
- * The second color
- * @param w1
- * The gamma level for color 1
- * @param w2
- * The gamma level for color 2
- * @return The resulting color
- */
- public static Color mixColors(Color col1, Color col2, int w1, int w2) {
- return mixColors(Display.getCurrent(), col1, col2, w1, w2);
- }
-
- /**
- * Draw text in a rectangle.
- *
- * @param gc
- * The SWT GC object
- * @param text
- * The text to draw
- * @param rect
- * The rectangle object which is being drawn
- * @param transp
- * If true the background will be transparent
- * @return The width of the written text
- */
- public static int drawText(GC gc, String text, Rectangle rect, boolean transp) {
- Point size = gc.stringExtent(text);
- gc.drawText(text, rect.x, rect.y, transp);
- return size.x;
- }
-
- /**
- * Draw text at a given location.
- *
- * @param gc
- * The SWT GC object
- * @param text
- * The text to draw
- * @param x
- * The X coordinate of the starting point
- * @param y
- * the Y coordinate of the starting point
- * @param transp
- * If true the background will be transparent
- * @return The width of the written text
- */
- public static int drawText(GC gc, String text, int x, int y, boolean transp) {
- Point size = gc.stringExtent(text);
- gc.drawText(text, x, y, transp);
- return size.x;
- }
-
- /**
- * Draw text in a rectangle, trimming the text to prevent exceeding the specified width.
- *
- * @param gc
- * The SWT GC object
- * @param text
- * The string to be drawn
- * @param x
- * The x coordinate of the top left corner of the rectangular area where the text is to be drawn
- * @param y
- * The y coordinate of the top left corner of the rectangular area where the text is to be drawn
- * @param width
- * The width of the area to be drawn
- * @param isCentered
- * If <code>true</code> the text will be centered in the available width if space permits
- * @param isTransparent
- * If <code>true</code> the background will be transparent, otherwise it will be opaque
- * @return The number of characters written
- *
- * @since 2.0
- */
- public static int drawText(GC gc, String text, int x, int y, int width, boolean isCentered, boolean isTransparent) {
- if (width < 1) {
- return 0;
- }
-
- int len = text.length();
- int textWidth = 0;
- boolean isReallyCentered = isCentered;
- int realX = x;
-
- while (len > 0) {
- textWidth = gc.stringExtent(text.substring(0, len)).x;
- if (textWidth <= width) {
- break;
- }
- isReallyCentered = false;
- len--;
- }
- if (len > 0) {
- if (isReallyCentered) {
- realX += (width - textWidth) / 2;
- }
- gc.drawText(text.substring(0, len), realX, y, isTransparent);
- }
- return len;
- }
-
- /**
- * Formats time in format: MM:SS:NNN
- *
- * @param time time
- * @param format 0: MMMM:ss:nnnnnnnnn, 1: HH:MM:ss MMM.mmmm.nnn
- * @param resolution the resolution
- * @return the formatted time
- */
- public static String formatTime(long time, TimeFormat format, Resolution resolution) {
- switch (format) {
- case CALENDAR:
- return formatTimeAbs(time, resolution);
- case NUMBER:
- return NumberFormat.getInstance().format(time);
- case CYCLES:
- return NumberFormat.getInstance().format(time) + Messages.Utils_ClockCyclesUnit;
- case RELATIVE:
- default:
- }
-
- StringBuffer str = new StringBuffer();
- long t = time;
- boolean neg = t < 0;
- if (neg) {
- t = -t;
- str.append('-');
- }
-
- long sec = t / SEC_IN_NS;
- str.append(sec);
- String ns = formatNs(t, resolution);
- if (!ns.equals("")) { //$NON-NLS-1$
- str.append('.');
- str.append(ns);
- }
-
- return str.toString();
- }
-
- /**
- * From input time in nanoseconds, convert to Date format YYYY-MM-dd
- *
- * @param absTime
- * The source time, in ns
- * @return the formatted date
- */
- public static String formatDate(long absTime) {
- String sdate = DATE_FORMAT.format(new Date(absTime / MILLISEC_IN_NS));
- return sdate;
- }
-
- /**
- * Formats time in ns to Calendar format: HH:MM:SS MMM.mmm.nnn
- *
- * @param time
- * The source time, in ns
- * @param res
- * The resolution to use
- * @return the formatted time
- */
- public static String formatTimeAbs(long time, Resolution res) {
- StringBuffer str = new StringBuffer();
-
- // format time from nanoseconds to calendar time HH:MM:SS
- String stime = TIME_FORMAT.format(new Date(time / MILLISEC_IN_NS));
- str.append(stime);
- str.append('.');
- // append the Milliseconds, MicroSeconds and NanoSeconds as specified in
- // the Resolution
- str.append(formatNs(time, res));
- return str.toString();
- }
-
- /**
- * Formats time delta
- *
- * @param delta
- * The time delta, in ns
- * @param format
- * The time format to use
- * @param resolution
- * The resolution to use
- * @since 3.2
- * @return the formatted time delta
- */
- public static String formatDelta(long delta, TimeFormat format, Resolution resolution) {
- if (format == TimeFormat.CALENDAR) {
- return formatDeltaAbs(delta, resolution);
- }
- return formatTime(delta, format, resolution);
- }
-
- /**
- * Formats time delta in ns to Calendar format, only formatting the years,
- * days, hours or minutes if necessary.
- *
- * @param delta
- * The time delta, in ns
- * @param resolution
- * The resolution to use
- * @return the formatted time delta
- * @since 3.2
- */
- public static String formatDeltaAbs(long delta, Resolution resolution) {
- StringBuffer str = new StringBuffer();
- if (delta < 0) {
- str.append('-');
- }
- long ns = Math.abs(delta);
- long seconds = TimeUnit.NANOSECONDS.toSeconds(ns);
- long minutes = TimeUnit.NANOSECONDS.toMinutes(ns);
- long hours = TimeUnit.NANOSECONDS.toHours(ns);
- long days = TimeUnit.NANOSECONDS.toDays(ns);
- if (days > 0) {
- str.append(days);
- str.append("d "); //$NON-NLS-1$
- }
- if (hours > 0) {
- str.append(hours % HOURS_PER_DAY);
- str.append("h "); //$NON-NLS-1$
- }
- if (minutes > 0) {
- str.append(minutes % MIN_PER_HOUR);
- str.append("m "); //$NON-NLS-1$
- }
- str.append(seconds % SEC_PER_MIN);
- str.append('.');
- // append the ms, us and ns as specified in the resolution
- str.append(formatNs(delta, resolution));
- str.append("s"); //$NON-NLS-1$
- return str.toString();
- }
-
- /**
- * Obtains the remainder fraction on unit Seconds of the entered value in
- * nanoseconds. e.g. input: 1241207054171080214 ns The number of fraction
- * seconds can be obtained by removing the last 9 digits: 1241207054 the
- * fractional portion of seconds, expressed in ns is: 171080214
- *
- * @param srcTime
- * The source time in ns
- * @param res
- * The Resolution to use
- * @return the formatted nanosec
- */
- public static String formatNs(long srcTime, Resolution res) {
- StringBuffer str = new StringBuffer();
- long ns = Math.abs(srcTime % SEC_IN_NS);
- String nanos = Long.toString(ns);
- str.append("000000000".substring(nanos.length())); //$NON-NLS-1$
- str.append(nanos);
-
- if (res == Resolution.MILLISEC) {
- return str.substring(0, 3);
- } else if (res == Resolution.MICROSEC) {
- return str.substring(0, 6);
- } else if (res == Resolution.NANOSEC) {
- return str.substring(0, 9);
- }
- return ""; //$NON-NLS-1$
- }
-
- /**
- * FIXME Currently does nothing.
- *
- * @param opt
- * The option name
- * @param def
- * The option value
- * @param min
- * The minimal accepted value
- * @param max
- * The maximal accepted value
- * @return The value that was read
- */
- public static int loadIntOption(String opt, int def, int min, int max) {
- return def;
- }
-
- /**
- * FIXME currently does nothing
- *
- * @param opt
- * The option name
- * @param val
- * The option value
- */
- public static void saveIntOption(String opt, int val) {
- }
-
- static ITimeEvent getFirstEvent(ITimeGraphEntry entry) {
- if (null == entry || ! entry.hasTimeEvents()) {
- return null;
- }
- Iterator<ITimeEvent> iterator = entry.getTimeEventsIterator();
- if (iterator != null && iterator.hasNext()) {
- return iterator.next();
- }
- return null;
- }
-
- /**
- * Gets the {@link ITimeEvent} at the given time from the given
- * {@link ITimeGraphEntry}.
- *
- * @param entry
- * a {@link ITimeGraphEntry}
- * @param time
- * a timestamp
- * @param n
- * this parameter means: <list> <li>-1: Previous Event</li> <li>
- * 0: Current Event</li> <li>
- * 1: Next Event</li> <li>2: Previous Event when located in a non
- * Event Area </list>
- * @return a {@link ITimeEvent}, or <code>null</code>.
- * @since 3.0
- */
- public static ITimeEvent findEvent(ITimeGraphEntry entry, long time, int n) {
- if (null == entry || ! entry.hasTimeEvents()) {
- return null;
- }
- Iterator<ITimeEvent> iterator = entry.getTimeEventsIterator();
- if (iterator == null) {
- return null;
- }
- ITimeEvent nextEvent = null;
- ITimeEvent currEvent = null;
- ITimeEvent prevEvent = null;
-
- while (iterator.hasNext()) {
- nextEvent = iterator.next();
- long nextStartTime = nextEvent.getTime();
-
- if (nextStartTime > time) {
- break;
- }
-
- if (currEvent == null || currEvent.getTime() != nextStartTime ||
- (nextStartTime != time && currEvent.getDuration() != nextEvent.getDuration())) {
- prevEvent = currEvent;
- currEvent = nextEvent;
- }
- }
-
- if (n == -1) { //previous
- if (currEvent != null && currEvent.getTime() + currEvent.getDuration() >= time) {
- return prevEvent;
- }
- return currEvent;
- } else if (n == 0) { //current
- if (currEvent != null && currEvent.getTime() + currEvent.getDuration() >= time) {
- return currEvent;
- }
- return null;
- } else if (n == 1) { //next
- if (nextEvent != null && nextEvent.getTime() > time) {
- return nextEvent;
- }
- return null;
- } else if (n == 2) { //current or previous when in empty space
- return currEvent;
- }
-
- return null;
- }
-
- /**
- * Pretty-print a method signature.
- *
- * @param origSig
- * The original signature
- * @return The pretty signature
- */
- public static String fixMethodSignature(String origSig) {
- String sig = origSig;
- int pos = sig.indexOf('(');
- if (pos >= 0) {
- String ret = sig.substring(0, pos);
- sig = sig.substring(pos);
- sig = sig + " " + ret; //$NON-NLS-1$
- }
- return sig;
- }
-
- /**
- * Restore an original method signature from a pretty-printed one.
- *
- * @param ppSig
- * The pretty-printed signature
- * @return The original method signature
- */
- public static String restoreMethodSignature(String ppSig) {
- String ret = ""; //$NON-NLS-1$
- String sig = ppSig;
-
- int pos = sig.indexOf('(');
- if (pos >= 0) {
- ret = sig.substring(0, pos);
- sig = sig.substring(pos + 1);
- }
- pos = sig.indexOf(')');
- if (pos >= 0) {
- sig = sig.substring(0, pos);
- }
- String args[] = sig.split(","); //$NON-NLS-1$
- StringBuffer result = new StringBuffer("("); //$NON-NLS-1$
- for (int i = 0; i < args.length; i++) {
- String arg = args[i].trim();
- if (arg.length() == 0 && args.length == 1) {
- break;
- }
- result.append(getTypeSignature(arg));
- }
- result.append(")").append(getTypeSignature(ret)); //$NON-NLS-1$
- return result.toString();
- }
-
- /**
- * Get the mangled type information from an array of types.
- *
- * @param typeStr
- * The types to convert. See method implementation for what it
- * expects.
- * @return The mangled string of types
- */
- public static String getTypeSignature(String typeStr) {
- int dim = 0;
- String type = typeStr;
- for (int j = 0; j < type.length(); j++) {
- if (type.charAt(j) == '[') {
- dim++;
- }
- }
- int pos = type.indexOf('[');
- if (pos >= 0) {
- type = type.substring(0, pos);
- }
- StringBuffer sig = new StringBuffer(""); //$NON-NLS-1$
- for (int j = 0; j < dim; j++)
- {
- sig.append("["); //$NON-NLS-1$
- }
- if (type.equals("boolean")) { //$NON-NLS-1$
- sig.append('Z');
- } else if (type.equals("byte")) { //$NON-NLS-1$
- sig.append('B');
- } else if (type.equals("char")) { //$NON-NLS-1$
- sig.append('C');
- } else if (type.equals("short")) { //$NON-NLS-1$
- sig.append('S');
- } else if (type.equals("int")) { //$NON-NLS-1$
- sig.append('I');
- } else if (type.equals("long")) { //$NON-NLS-1$
- sig.append('J');
- } else if (type.equals("float")) { //$NON-NLS-1$
- sig.append('F');
- } else if (type.equals("double")) { //$NON-NLS-1$
- sig.append('D');
- } else if (type.equals("void")) { //$NON-NLS-1$
- sig.append('V');
- }
- else {
- sig.append('L').append(type.replace('.', '/')).append(';');
- }
- return sig.toString();
- }
-
- /**
- * Compare two doubles together.
- *
- * @param d1
- * First double
- * @param d2
- * Second double
- * @return 1 if they are different, and 0 if they are *exactly* the same.
- * Because of the way doubles are stored, it's possible for the
- * same number obtained in two different ways to actually look
- * different.
- */
- public static int compare(double d1, double d2) {
- if (d1 > d2) {
- return 1;
- }
- if (d1 < d2) {
- return 1;
- }
- return 0;
- }
-
- /**
- * Compare two character strings alphabetically. This is simply a wrapper
- * around String.compareToIgnoreCase but that will handle cases where
- * strings can be null
- *
- * @param s1
- * The first string
- * @param s2
- * The second string
- * @return A number below, equal, or greater than zero if the first string
- * is smaller, equal, or bigger (alphabetically) than the second
- * one.
- */
- public static int compare(String s1, String s2) {
- if (s1 != null && s2 != null) {
- return s1.compareToIgnoreCase(s2);
- }
- if (s1 != null) {
- return 1;
- }
- if (s2 != null) {
- return -1;
- }
- return 0;
- }
-
- /**
- * Calculates the square of the distance between two points.
- *
- * @param x1
- * x-coordinate of point 1
- * @param y1
- * y-coordinate of point 1
- * @param x2
- * x-coordinate of point 2
- * @param y2
- * y-coordinate of point 2
- *
- * @return the square of the distance in pixels^2
- * @since 3.2
- */
- public static double distance2(int x1, int y1, int x2, int y2) {
- int dx = x2 - x1;
- int dy = y2 - y1;
- int d2 = dx * dx + dy * dy;
- return d2;
- }
-
- /**
- * Calculates the distance between a point and a line segment. If the point
- * is in the perpendicular region between the segment points, return the
- * distance from the point to its projection on the segment. Otherwise
- * return the distance from the point to its closest segment point.
- *
- * @param px
- * x-coordinate of the point
- * @param py
- * y-coordinate of the point
- * @param x1
- * x-coordinate of segment point 1
- * @param y1
- * y-coordinate of segment point 1
- * @param x2
- * x-coordinate of segment point 2
- * @param y2
- * y-coordinate of segment point 2
- *
- * @return the distance in pixels
- * @since 3.2
- */
- public static double distance(int px, int py, int x1, int y1, int x2, int y2) {
- double length2 = distance2(x1, y1, x2, y2);
- if (length2 == 0) {
- return Math.sqrt(distance2(px, py, x1, y1));
- }
- // 'r' is the ratio of the position, between segment point 1 and segment
- // point 2, of the projection of the point on the segment
- double r = ((px - x1) * (x2 - x1) + (py - y1) * (y2 - y1)) / length2;
- if (r <= 0.0) {
- // the projection is before segment point 1, return distance from
- // the point to segment point 1
- return Math.sqrt(distance2(px, py, x1, y1));
- }
- if (r >= 1.0) {
- // the projection is after segment point 2, return distance from
- // the point to segment point 2
- return Math.sqrt(distance2(px, py, x2, y2));
- }
- // the projection is between the segment points, return distance from
- // the point to its projection on the segment
- int x = (int) (x1 + r * (x2 - x1));
- int y = (int) (y1 + r * (y2 - y1));
- return Math.sqrt(distance2(px, py, x, y));
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/widgets/virtualtable/ColumnData.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/widgets/virtualtable/ColumnData.java
deleted file mode 100644
index bf18d4c1df..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/widgets/virtualtable/ColumnData.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010, 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:
- * Matthew Khouzam - Extracted from TmfEventsView
- ******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.widgets.virtualtable;
-
-/**
- * ColumnData
- *
- * @author Matthew Khouzam
- * @deprecated Use {@link org.eclipse.linuxtools.tmf.ui.viewers.events.columns.TmfEventTableColumn} instead.
- */
-@Deprecated
-public class ColumnData {
- /**
- * The title of the column
- */
- public final String header;
- /**
- * the width of the column in pixels
- */
- public final int width;
- /**
- * the alignment of the column
- */
- public final int alignment;
-
- /**
- * Constructor
- * @param h header (title)
- * @param w width
- * @param a alignment
- */
- public ColumnData(String h, int w, int a) {
- header = h;
- width = w;
- alignment = a;
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/widgets/virtualtable/IDoubleClickListener.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/widgets/virtualtable/IDoubleClickListener.java
deleted file mode 100644
index a11152dd31..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/widgets/virtualtable/IDoubleClickListener.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011, 2013 Kalray, 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:
- * Xavier Raynaud - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.linuxtools.tmf.ui.widgets.virtualtable;
-
-import org.eclipse.swt.widgets.TableItem;
-/**
- * Double click listener interface
- * @author Xavier Raynaud
- * @version 1.0
- */
-public interface IDoubleClickListener {
-
- /**
- * Handle a double click event
- * @param table the table that was double clicked
- * @param item the item that was double clicked in the table
- * @param column the column that was double clicked in the item in the table.
- */
- void handleDoubleClick(TmfVirtualTable table, TableItem item, int column);
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/widgets/virtualtable/TmfVirtualTable.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/widgets/virtualtable/TmfVirtualTable.java
deleted file mode 100644
index 7dd7dec169..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/widgets/virtualtable/TmfVirtualTable.java
+++ /dev/null
@@ -1,1130 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010, 2013 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:
- * Matthew Khouzam - Initial API and implementation
- * Francois Chouinard - Refactoring, slider support, bug fixing
- * Patrick Tasse - Improvements and bug fixing
- * Xavier Raynaud - Improvements
- ******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.ui.widgets.virtualtable;
-
-import org.eclipse.linuxtools.internal.tmf.ui.Activator;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.SWTException;
-import org.eclipse.swt.custom.TableEditor;
-import org.eclipse.swt.events.ControlAdapter;
-import org.eclipse.swt.events.ControlEvent;
-import org.eclipse.swt.events.KeyAdapter;
-import org.eclipse.swt.events.KeyEvent;
-import org.eclipse.swt.events.KeyListener;
-import org.eclipse.swt.events.MouseAdapter;
-import org.eclipse.swt.events.MouseEvent;
-import org.eclipse.swt.events.MouseListener;
-import org.eclipse.swt.events.MouseWheelListener;
-import org.eclipse.swt.events.PaintEvent;
-import org.eclipse.swt.events.PaintListener;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.events.SelectionListener;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.graphics.Rectangle;
-import org.eclipse.swt.layout.FillLayout;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Listener;
-import org.eclipse.swt.widgets.Menu;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Slider;
-import org.eclipse.swt.widgets.Table;
-import org.eclipse.swt.widgets.TableColumn;
-import org.eclipse.swt.widgets.TableItem;
-import org.eclipse.ui.PlatformUI;
-
-/**
- * <b><u>TmfVirtualTable</u></b>
- * <p>
- * TmfVirtualTable allows for the tabular display of arbitrarily large data sets
- * (well, up to Integer.MAX_VALUE or ~2G rows).
- *
- * It is essentially a Composite of Table and Slider, where the number of rows
- * in the table is set to fill the table display area. The slider is rank-based.
- *
- * It differs from Table with the VIRTUAL style flag where an empty entry is
- * created for each virtual row. This does not scale well for very large data sets.
- *
- * Styles:
- * H_SCROLL, V_SCROLL, SINGLE, MULTI, CHECK, FULL_SELECTION, HIDE_SELECTION, NO_SCROLL
- * @author Matthew Khouzam, Francois Chouinard, Patrick Tasse, Xavier Raynaud
- * @version $Revision: 1.0
- */
-public class TmfVirtualTable extends Composite {
-
- // The table
- private Table fTable;
- private int fTableRows = 0; // Number of table rows
- private int fFullyVisibleRows = 0; // Number of fully visible table rows
- private int fFrozenRowCount = 0; // Number of frozen table rows at top of table
-
- private int fTableTopEventRank = 0; // Global rank of the first entry displayed
- private int fSelectedEventRank = -1; // Global rank of the selected event
- private int fSelectedBeginRank = -1; // Global rank of the selected begin event
- private boolean fPendingSelection = false; // Pending selection update
-
- private int fTableItemCount = 0;
-
- // The slider
- private Slider fSlider;
-
- private int fLinuxItemHeight = 0; // Calculated item height for Linux workaround
- private TooltipProvider tooltipProvider = null;
- private IDoubleClickListener doubleClickListener = null;
-
- private boolean fResetTopIndex = false; // Flag to trigger reset of top index
- private ControlAdapter fResizeListener; // Resize listener to update visible rows
-
- // ------------------------------------------------------------------------
- // Constructor
- // ------------------------------------------------------------------------
-
- /**
- * Standard constructor
- *
- * @param parent
- * The parent composite object
- * @param style
- * The style to use
- */
- public TmfVirtualTable(Composite parent, int style) {
- super(parent, style & (~SWT.H_SCROLL) & (~SWT.V_SCROLL) & (~SWT.SINGLE) & (~SWT.MULTI) & (~SWT.FULL_SELECTION) & (~SWT.HIDE_SELECTION) & (~SWT.CHECK));
-
- // Create the controls
- createTable(style & (SWT.H_SCROLL | SWT.SINGLE | SWT.MULTI | SWT.FULL_SELECTION | SWT.HIDE_SELECTION | SWT.CHECK));
- createSlider(style & SWT.V_SCROLL);
-
- // Prevent the slider from being traversed
- setTabList(new Control[] { fTable });
-
- // Set the layout
- GridLayout gridLayout = new GridLayout();
- gridLayout.numColumns = 2;
- gridLayout.horizontalSpacing = 0;
- gridLayout.verticalSpacing = 0;
- gridLayout.marginWidth = 0;
- gridLayout.marginHeight = 0;
- setLayout(gridLayout);
-
- GridData tableGridData = new GridData(SWT.FILL, SWT.FILL, true, true);
- fTable.setLayoutData(tableGridData);
-
- GridData sliderGridData = new GridData(SWT.FILL, SWT.FILL, false, true);
- fSlider.setLayoutData(sliderGridData);
-
- // Add the listeners
- fTable.addMouseWheelListener(new MouseWheelListener() {
- @Override
- public void mouseScrolled(MouseEvent event) {
- if (fTableItemCount <= fFullyVisibleRows) {
- return;
- }
- fTableTopEventRank -= event.count;
- if (fTableTopEventRank < 0) {
- fTableTopEventRank = 0;
- }
- int latestFirstRowOffset = fTableItemCount - fFullyVisibleRows;
- if (fTableTopEventRank > latestFirstRowOffset) {
- fTableTopEventRank = latestFirstRowOffset;
- }
-
- fSlider.setSelection(fTableTopEventRank);
- refreshTable();
- }
- });
-
- fTable.addListener(SWT.MouseWheel, new Listener() {
- // disable mouse scroll of horizontal scroll bar
- @Override
- public void handleEvent(Event event) {
- event.doit = false;
- }
- });
-
- fResizeListener = new ControlAdapter() {
- @Override
- public void controlResized(ControlEvent event) {
- int tableHeight = Math.max(0, fTable.getClientArea().height - fTable.getHeaderHeight());
- fFullyVisibleRows = tableHeight / getItemHeight();
- if (fTableItemCount > 0) {
- fSlider.setThumb(Math.max(1, Math.min(fTableRows, fFullyVisibleRows)));
- }
- }
- };
- fTable.addControlListener(fResizeListener);
-
- // Implement a "fake" tooltip
- final String TOOLTIP_DATA_KEY = "_TABLEITEM"; //$NON-NLS-1$
- final Listener labelListener = new Listener() {
- @Override
- public void handleEvent (Event event) {
- Label label = (Label) event.widget;
- Shell shell = label.getShell();
- switch (event.type) {
- case SWT.MouseDown:
- Event e = new Event();
- e.item = (TableItem) label.getData(TOOLTIP_DATA_KEY);
- // Assuming table is single select, set the selection as if
- // the mouse down event went through to the table
- fTable.setSelection(new TableItem [] {(TableItem) e.item});
- fTable.notifyListeners(SWT.Selection, e);
- shell.dispose();
- fTable.setFocus();
- break;
- case SWT.MouseExit:
- case SWT.MouseWheel:
- shell.dispose();
- break;
- default:
- break;
- }
- }
- };
-
- Listener tableListener = new Listener() {
- Shell tip = null;
- Label label = null;
- @Override
- public void handleEvent(Event event) {
- switch (event.type) {
- case SWT.Dispose:
- case SWT.KeyDown:
- case SWT.MouseMove: {
- if (tip == null) {
- break;
- }
- tip.dispose();
- tip = null;
- label = null;
- break;
- }
- case SWT.MouseHover: {
- TableItem item = fTable.getItem(new Point(event.x, event.y));
- if (item != null) {
- for (int i = 0; i < fTable.getColumnCount(); i++) {
- Rectangle bounds = item.getBounds(i);
- if (bounds.contains(event.x, event.y)) {
- if (tip != null && !tip.isDisposed()) {
- tip.dispose();
- }
- if (tooltipProvider == null) {
- return;
- }
- String tooltipText = tooltipProvider.getTooltip(i, item.getData());
- if (tooltipText == null) {
- return;
- }
- tip = new Shell(fTable.getShell(), SWT.ON_TOP | SWT.NO_FOCUS | SWT.TOOL);
- tip.setBackground(PlatformUI.getWorkbench().getDisplay().getSystemColor(SWT.COLOR_INFO_BACKGROUND));
- FillLayout layout = new FillLayout();
- layout.marginWidth = 2;
- tip.setLayout(layout);
- label = new Label(tip, SWT.WRAP);
- label.setForeground(PlatformUI.getWorkbench().getDisplay().getSystemColor(SWT.COLOR_INFO_FOREGROUND));
- label.setBackground(PlatformUI.getWorkbench().getDisplay().getSystemColor(SWT.COLOR_INFO_BACKGROUND));
- label.setData(TOOLTIP_DATA_KEY, item);
- label.setText(tooltipText);
-
- label.addListener(SWT.MouseExit, labelListener);
- label.addListener(SWT.MouseDown, labelListener);
- label.addListener(SWT.MouseWheel, labelListener);
- Point size = tip.computeSize(SWT.DEFAULT, SWT.DEFAULT);
- Point pt = fTable.toDisplay(bounds.x, bounds.y);
- tip.setBounds(pt.x, pt.y, size.x, size.y);
- tip.setVisible(true);
-
- // Item found, leave loop.
- break;
- }
- }
- }
- break;
- }
- default:
- break;
- }
- }
- };
- fTable.addListener(SWT.Dispose, tableListener);
- fTable.addListener(SWT.KeyDown, tableListener);
- fTable.addListener(SWT.MouseMove, tableListener);
- fTable.addListener(SWT.MouseHover, tableListener);
- addControlListener(new ControlAdapter() {
- @Override
- public void controlResized(ControlEvent event) {
- resize();
- if (fTableItemCount > 0) {
- fSlider.setThumb(Math.max(1, Math.min(fTableRows, fFullyVisibleRows)));
- }
- }
- });
-
- // And display
- refresh();
- }
-
- // ------------------------------------------------------------------------
- // Table handling
- // ------------------------------------------------------------------------
-
- /**
- * Create the table and add listeners
- * @param style int can be H_SCROLL, SINGLE, MULTI, FULL_SELECTION, HIDE_SELECTION, CHECK
- */
- private void createTable(int style) {
- fTable = new Table(this, style | SWT.NO_SCROLL);
-
- fTable.addSelectionListener(new SelectionAdapter() {
- @Override
- public void widgetSelected(SelectionEvent event) {
- if (event.item == null) {
- // Override table selection from Select All action
- refreshSelection();
- }
- }
- });
-
- fTable.addMouseListener(new MouseAdapter() {
- @Override
- public void mouseDown(MouseEvent e) {
- handleTableMouseEvent(e);
- }
- });
-
- fTable.addKeyListener(new KeyAdapter() {
- @Override
- public void keyPressed(KeyEvent event) {
- handleTableKeyEvent(event);
- }
- });
-
- fTable.addListener(
- SWT.MouseDoubleClick, new Listener() {
- @Override
- public void handleEvent(Event event) {
- if (doubleClickListener != null) {
- TableItem item = fTable.getItem(new Point (event.x, event.y));
- if (item != null) {
- for (int i = 0; i < fTable.getColumnCount(); i++){
- Rectangle bounds = item.getBounds(i);
- if (bounds.contains(event.x, event.y)){
- doubleClickListener.handleDoubleClick(TmfVirtualTable.this, item, i);
- break;
- }
- }
- }
- }
- }
- }
- );
-
- /*
- * Feature in Windows. When a partially visible table item is selected,
- * after ~500 ms the top index is changed to ensure the selected item is
- * fully visible. This leaves a blank space at the bottom of the virtual
- * table. The workaround is to reset the top index to 0 if it is not 0.
- * Also reset the top index to 0 if indicated by the flag that was set
- * at table selection of a partially visible table item.
- */
- fTable.addPaintListener(new PaintListener() {
- @Override
- public void paintControl(PaintEvent e) {
- if (fTable.getTopIndex() != 0 || fResetTopIndex) {
- fTable.setTopIndex(0);
- }
- fResetTopIndex = false;
- }
- });
- }
-
- /**
- * Handle mouse-based selection in table.
- *
- * @param event the mouse event
- */
- private void handleTableMouseEvent(MouseEvent event) {
- TableItem item = fTable.getItem(new Point(event.x, event.y));
- if (item == null) {
- return;
- }
- int selectedRow = indexOf(item);
- if (event.button == 1 || (event.button == 3 &&
- (selectedRow < Math.min(fSelectedBeginRank, fSelectedEventRank) ||
- selectedRow > Math.max(fSelectedBeginRank, fSelectedEventRank)))) {
- if (selectedRow >= 0) {
- fSelectedEventRank = selectedRow;
- } else {
- fSelectedEventRank = -1;
- }
- if ((event.stateMask & SWT.SHIFT) == 0 || (fTable.getStyle() & SWT.MULTI) == 0 || fSelectedBeginRank == -1) {
- fSelectedBeginRank = fSelectedEventRank;
- }
- }
- refreshSelection();
-
- /*
- * Feature in Linux. When a partially visible table item is selected,
- * the origin is changed to ensure the selected item is fully visible.
- * This makes the first row partially visible. The solution is to force
- * reset the origin by setting the top index to 0. This should happen
- * only once at the next redraw by the paint listener.
- */
- if (selectedRow >= fFullyVisibleRows) {
- fResetTopIndex = true;
- }
- }
-
- /**
- * Handle key-based navigation in table.
- *
- * @param event the key event
- */
- private void handleTableKeyEvent(KeyEvent event) {
-
- int lastEventRank = fTableItemCount - 1;
- int lastPageTopEntryRank = Math.max(0, fTableItemCount - fFullyVisibleRows);
-
- int previousSelectedEventRank = fSelectedEventRank;
- int previousSelectedBeginRank = fSelectedBeginRank;
- boolean needsRefresh = false;
-
- // In all case, perform the following steps:
- // - Update the selected entry rank (within valid range)
- // - Update the selected row
- // - Update the page's top entry if necessary (which also adjusts the selected row)
- // - If the top displayed entry was changed, table refresh is needed
- switch (event.keyCode) {
-
- case SWT.ARROW_DOWN: {
- event.doit = false;
- if (fSelectedEventRank < lastEventRank) {
- fSelectedEventRank++;
- int selectedRow = fSelectedEventRank - fTableTopEventRank;
- if (selectedRow == fFullyVisibleRows) {
- fTableTopEventRank++;
- needsRefresh = true;
- } else if (selectedRow < fFrozenRowCount || selectedRow > fFullyVisibleRows) {
- fTableTopEventRank = Math.max(0, Math.min(fSelectedEventRank - fFrozenRowCount, lastPageTopEntryRank));
- needsRefresh = true;
- }
- }
- break;
- }
-
- case SWT.ARROW_UP: {
- event.doit = false;
- if (fSelectedEventRank > 0) {
- fSelectedEventRank--;
- int selectedRow = fSelectedEventRank - fTableTopEventRank;
- if (selectedRow == fFrozenRowCount - 1 && fTableTopEventRank > 0) {
- fTableTopEventRank--;
- needsRefresh = true;
- } else if (selectedRow < fFrozenRowCount || selectedRow > fFullyVisibleRows) {
- fTableTopEventRank = Math.max(0, Math.min(fSelectedEventRank - fFrozenRowCount, lastPageTopEntryRank));
- needsRefresh = true;
- }
- }
- break;
- }
-
- case SWT.END: {
- event.doit = false;
- fTableTopEventRank = lastPageTopEntryRank;
- fSelectedEventRank = lastEventRank;
- needsRefresh = true;
- break;
- }
-
- case SWT.HOME: {
- event.doit = false;
- fSelectedEventRank = fFrozenRowCount;
- fTableTopEventRank = 0;
- needsRefresh = true;
- break;
- }
-
- case SWT.PAGE_DOWN: {
- event.doit = false;
- if (fSelectedEventRank < lastEventRank) {
- fSelectedEventRank += fFullyVisibleRows;
- if (fSelectedEventRank > lastEventRank) {
- fSelectedEventRank = lastEventRank;
- }
- int selectedRow = fSelectedEventRank - fTableTopEventRank;
- if (selectedRow > fFullyVisibleRows + fFrozenRowCount - 1 && selectedRow < 2 * fFullyVisibleRows) {
- fTableTopEventRank += fFullyVisibleRows;
- if (fTableTopEventRank > lastPageTopEntryRank) {
- fTableTopEventRank = lastPageTopEntryRank;
- }
- needsRefresh = true;
- } else if (selectedRow < fFrozenRowCount || selectedRow >= 2 * fFullyVisibleRows) {
- fTableTopEventRank = Math.max(0, Math.min(fSelectedEventRank - fFrozenRowCount, lastPageTopEntryRank));
- needsRefresh = true;
- }
- }
- break;
- }
-
- case SWT.PAGE_UP: {
- event.doit = false;
- if (fSelectedEventRank > 0) {
- fSelectedEventRank -= fFullyVisibleRows;
- if (fSelectedEventRank < fFrozenRowCount) {
- fSelectedEventRank = fFrozenRowCount;
- }
- int selectedRow = fSelectedEventRank - fTableTopEventRank;
- if (selectedRow < fFrozenRowCount && selectedRow > -fFullyVisibleRows) {
- fTableTopEventRank -= fFullyVisibleRows;
- if (fTableTopEventRank < 0) {
- fTableTopEventRank = 0;
- }
- needsRefresh = true;
- } else if (selectedRow <= -fFullyVisibleRows || selectedRow >= fFullyVisibleRows) {
- fTableTopEventRank = Math.max(0, Math.min(fSelectedEventRank - fFrozenRowCount, lastPageTopEntryRank));
- needsRefresh = true;
- }
- }
- break;
- }
- default: {
- return;
- }
- }
-
- if ((event.stateMask & SWT.SHIFT) == 0 || (fTable.getStyle() & SWT.MULTI) == 0 || fSelectedBeginRank == -1) {
- fSelectedBeginRank = fSelectedEventRank;
- }
-
- boolean done = true;
- if (needsRefresh) {
- done = refreshTable(); // false if table items not updated yet in this thread
- } else {
- refreshSelection();
- }
-
- if (fFullyVisibleRows < fTableItemCount) {
- fSlider.setSelection(fTableTopEventRank);
- }
-
- if (fSelectedEventRank != previousSelectedEventRank || fSelectedBeginRank != previousSelectedBeginRank) {
- if (done) {
- Event e = new Event();
- e.item = fTable.getItem(fSelectedEventRank - fTableTopEventRank);
- fTable.notifyListeners(SWT.Selection, e);
- } else {
- fPendingSelection = true;
- }
- }
- }
-
- /**
- * Method setDataItem.
- * @param index int
- * @param item TableItem
- * @return boolean
- */
- private boolean setDataItem(int index, TableItem item) {
- if (index != -1) {
- Event event = new Event();
- event.item = item;
- if (index < fFrozenRowCount) {
- event.index = index;
- } else {
- event.index = index + fTableTopEventRank;
- }
- event.doit = true;
- fTable.notifyListeners(SWT.SetData, event);
- return event.doit; // false if table item not updated yet in this thread
- }
- return true;
- }
-
- // ------------------------------------------------------------------------
- // Slider handling
- // ------------------------------------------------------------------------
-
- /**
- * Method createSlider.
- * @param style int
- */
- private void createSlider(int style) {
- fSlider = new Slider(this, SWT.VERTICAL | SWT.NO_FOCUS);
- fSlider.setMinimum(0);
- fSlider.setMaximum(0);
- if ((style & SWT.V_SCROLL) == 0) {
- fSlider.setVisible(false);
- }
-
- fSlider.addListener(SWT.Selection, new Listener() {
- @Override
- public void handleEvent(Event event) {
- switch (event.detail) {
- case SWT.ARROW_DOWN:
- case SWT.ARROW_UP:
- case SWT.END:
- case SWT.HOME:
- case SWT.PAGE_DOWN:
- case SWT.PAGE_UP: {
- fTableTopEventRank = fSlider.getSelection();
- refreshTable();
- break;
- }
- // Not handled because of bug on Linux described below.
- case SWT.NONE:
- default:
- break;
- }
- }
- });
-
- /*
- * In Linux, the selection event above has event.detail set to SWT.NONE
- * instead of SWT.DRAG during dragging of the thumb. To prevent refresh
- * overflow, only update the table when the mouse button is released.
- */
- fSlider.addMouseListener(new MouseAdapter() {
- @Override
- public void mouseUp(MouseEvent e) {
- fTableTopEventRank = fSlider.getSelection();
- refreshTable();
- }
- });
-
- }
-
- // ------------------------------------------------------------------------
- // Simulated Table API
- // ------------------------------------------------------------------------
-
- /**
- * Constructs a new TableColumn instance given a style value describing its
- * alignment behavior. The column is added to the end of the columns
- * maintained by the table.
- *
- * @param style
- * the alignment style
- * @return the new TableColumn
- *
- * @see SWT#LEFT
- * @see SWT#RIGHT
- * @see SWT#CENTER
- *
- * @since 3.1
- */
- public TableColumn newTableColumn(int style) {
- TableColumn column = new TableColumn(fTable, style);
-
- /*
- * In Linux the table does not receive a control resized event when
- * a table column resize causes the horizontal scroll bar to become
- * visible or invisible, so a resize listener must be added to every
- * table column to properly update the number of fully visible rows.
- */
- column.addControlListener(fResizeListener);
-
- return column;
- }
-
- /**
- * Method setHeaderVisible.
- * @param b boolean
- */
- public void setHeaderVisible(boolean b) {
- fTable.setHeaderVisible(b);
- }
-
- /**
- * Method setLinesVisible.
- * @param b boolean
- */
- public void setLinesVisible(boolean b) {
- fTable.setLinesVisible(b);
- }
-
- /**
- * Returns an array of <code>TableItem</code>s that are currently selected
- * in the receiver. The order of the items is unspecified. An empty array
- * indicates that no items are selected.
- * <p>
- * Note: This array only contains the visible selected items in the virtual
- * table. To get information about the full selection range, use
- * {@link #getSelectionIndices()}.
- * </p>
- *
- * @return an array representing the selection
- *
- * @exception SWTException <ul>
- * <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
- * <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
- * </ul>
- */
- public TableItem[] getSelection() {
- return fTable.getSelection();
- }
-
- /**
- * Method addListener.
- * @param eventType int
- * @param listener Listener
- */
- @Override
- public void addListener(int eventType, Listener listener) {
- fTable.addListener(eventType, listener);
- }
-
- /**
- * Method addKeyListener.
- * @param listener KeyListener
- */
- @Override
- public void addKeyListener(KeyListener listener) {
- fTable.addKeyListener(listener);
- }
-
- /**
- * Method addMouseListener.
- * @param listener MouseListener
- */
- @Override
- public void addMouseListener(MouseListener listener) {
- fTable.addMouseListener(listener);
- }
-
- /**
- * Method addSelectionListener.
- * @param listener SelectionListener
- */
- public void addSelectionListener(SelectionListener listener) {
- fTable.addSelectionListener(listener);
- }
-
- /**
- * Method setMenu sets the menu
- * @param menu Menu the menu
- */
- @Override
- public void setMenu(Menu menu) {
- fTable.setMenu(menu);
- }
-
- /**
- * Gets the menu of this table
- * @return a Menu
- */
- @Override
- public Menu getMenu() {
- return fTable.getMenu();
- }
-
- /**
- * Method clearAll empties a table.
- */
- public void clearAll() {
- setItemCount(0);
- }
-
- /**
- * Method setItemCount
- * @param nbItems int the number of items in the table
- *
- */
- public void setItemCount(int nbItems) {
- final int nb = Math.max(0, nbItems);
-
- if (nb != fTableItemCount) {
- fTableItemCount = nb;
- fTable.remove(fTableItemCount, fTable.getItemCount() - 1);
- fSlider.setMaximum(nb);
- resize();
- int tableHeight = Math.max(0, fTable.getClientArea().height - fTable.getHeaderHeight());
- fFullyVisibleRows = tableHeight / getItemHeight();
- if (fTableItemCount > 0) {
- fSlider.setThumb(Math.max(1, Math.min(fTableRows, fFullyVisibleRows)));
- }
- }
- }
-
- /**
- * Method getItemCount.
- * @return int the number of items in the table
- */
- public int getItemCount() {
- return fTableItemCount;
- }
-
- /**
- * Method getItemHeight.
- * @return int the height of a table item in pixels. (may vary from one os to another)
- */
- public int getItemHeight() {
- /*
- * Bug in Linux. The method getItemHeight doesn't always return the correct value.
- */
- if (fLinuxItemHeight >= 0 && System.getProperty("os.name").contains("Linux")) { //$NON-NLS-1$ //$NON-NLS-2$
- if (fLinuxItemHeight != 0) {
- return fLinuxItemHeight;
- }
- if (fTable.getItemCount() > 1) {
- int itemHeight = fTable.getItem(1).getBounds().y - fTable.getItem(0).getBounds().y;
- if (itemHeight > 0) {
- fLinuxItemHeight = itemHeight;
- return fLinuxItemHeight;
- }
- }
- } else {
- fLinuxItemHeight = -1; // Not Linux, don't perform os.name check anymore
- }
- return fTable.getItemHeight();
- }
-
- /**
- * Method getHeaderHeight.
- * @return int get the height of the header in pixels.
- */
- public int getHeaderHeight() {
- return fTable.getHeaderHeight();
- }
-
- /**
- * Method getTopIndex.
- * @return int get the first data item index, if you have a header it is offset.
- */
- public int getTopIndex() {
- return fTableTopEventRank + fFrozenRowCount;
- }
-
- /**
- * Method setTopIndex.
- * @param index int suggested top index for the table.
- */
- public void setTopIndex(int index) {
- if (fTableItemCount > 0) {
- int i = Math.min(index, fTableItemCount - 1);
- i = Math.max(i, fFrozenRowCount);
-
- fTableTopEventRank = i - fFrozenRowCount;
- if (fFullyVisibleRows < fTableItemCount) {
- fSlider.setSelection(fTableTopEventRank);
- }
-
- refreshTable();
- }
- }
-
- /**
- * Method indexOf. Return the index of a table item
- * @param ti TableItem the table item to search for in the table
- * @return int the index of the first match. (there should only be one match)
- */
- public int indexOf(TableItem ti) {
- int index = fTable.indexOf(ti);
- if (index < fFrozenRowCount) {
- return index;
- }
- return (index - fFrozenRowCount) + getTopIndex();
- }
-
- /**
- * Method getColumns.
- * @return TableColumn[] the table columns
- */
- public TableColumn[] getColumns() {
- return fTable.getColumns();
- }
-
- /**
- * Method getItem.
- * @param point Point the coordinates in the table
- * @return TableItem the corresponding table item
- */
- public TableItem getItem(Point point) {
- return fTable.getItem(point);
- }
-
- /**
- * Method resize.
- */
- private void resize() {
- // Compute the numbers of rows that fit the new area
- int tableHeight = Math.max(0, getSize().y - fTable.getHeaderHeight());
- int itemHeight = getItemHeight();
- fTableRows = Math.min((tableHeight + itemHeight - 1) / itemHeight, fTableItemCount);
-
- if (fTableTopEventRank + fFullyVisibleRows > fTableItemCount) {
- // If we are at the end, get elements before to populate
- fTableTopEventRank = Math.max(0, fTableItemCount - fFullyVisibleRows);
- refreshTable();
- } else if (fTableRows > fTable.getItemCount() || fTableItemCount < fTable.getItemCount()) {
- // Only refresh if new table items are needed or if table items need to be deleted
- refreshTable();
- }
-
- }
-
- // ------------------------------------------------------------------------
- // Controls interactions
- // ------------------------------------------------------------------------
-
- /**
- * Method setFocus.
- * @return boolean is this visible?
- */
- @Override
- public boolean setFocus() {
- boolean isVisible = isVisible();
- if (isVisible) {
- fTable.setFocus();
- }
- return isVisible;
- }
-
- /**
- * Method refresh.
- */
- public void refresh() {
- boolean done = refreshTable();
- if (!done) {
- return;
- }
- if (fPendingSelection) {
- fPendingSelection = false;
- TableItem item = null;
- if (fSelectedEventRank >= 0 && fSelectedEventRank < fFrozenRowCount) {
- item = fTable.getItem(fSelectedEventRank);
- } else if (fSelectedEventRank >= fTableTopEventRank + fFrozenRowCount && fSelectedEventRank - fTableTopEventRank < fTable.getItemCount()) {
- item = fTable.getItem(fSelectedEventRank - fTableTopEventRank);
- }
- if (item != null) {
- Event e = new Event();
- e.item = item;
- fTable.notifyListeners(SWT.Selection, e);
- }
- }
- }
-
- /**
- * Method setColumnHeaders.
- *
- * @param columnData
- * ColumnData[] the columndata array.
- */
- @Deprecated
- public void setColumnHeaders(ColumnData columnData[]) {
- /* No-op */
- }
-
- /**
- * Method removeAll.
- * @return int 0 the number of elements in the table
- */
- public int removeAll() {
- setItemCount(0);
- fSlider.setMaximum(0);
- fTable.removeAll();
- fSelectedEventRank = -1;
- fSelectedBeginRank = fSelectedEventRank;
- return 0;
- }
-
- /**
- * Method refreshTable.
- * @return true if all table items have been refreshed, false otherwise
- */
- private boolean refreshTable() {
- boolean done = true;
- for (int i = 0; i < fTableRows; i++) {
- if (i + fTableTopEventRank < fTableItemCount) {
- TableItem tableItem;
- if (i < fTable.getItemCount()) {
- tableItem = fTable.getItem(i);
- } else {
- tableItem = new TableItem(fTable, SWT.NONE);
- }
- done &= setDataItem(i, tableItem); // false if table item not updated yet in this thread
- } else {
- if (fTable.getItemCount() > fTableItemCount - fTableTopEventRank) {
- fTable.remove(fTableItemCount - fTableTopEventRank);
- }
- }
- }
- if (done) {
- refreshSelection();
- } else {
- fTable.deselectAll();
- }
- return done;
- }
-
- private void refreshSelection() {
- int lastRowOffset = fTableTopEventRank + fTableRows - 1;
- int startRank = Math.min(fSelectedBeginRank, fSelectedEventRank);
- int endRank = Math.max(fSelectedBeginRank, fSelectedEventRank);
- int start = Integer.MAX_VALUE;
- int end = Integer.MIN_VALUE;
- if (startRank < fFrozenRowCount) {
- start = startRank;
- } else if (startRank < fTableTopEventRank + fFrozenRowCount) {
- start = fFrozenRowCount;
- } else if (startRank <= lastRowOffset) {
- start = startRank - fTableTopEventRank;
- }
- if (endRank < fFrozenRowCount) {
- end = endRank;
- } else if (endRank < fTableTopEventRank + fFrozenRowCount) {
- end = fFrozenRowCount - 1;
- } else if (endRank <= lastRowOffset) {
- end = endRank - fTableTopEventRank;
- } else {
- end = fTableRows - 1;
- }
- if (start <= end) {
- fTable.setSelection(start, end);
- if (startRank == fSelectedEventRank) {
- fTable.select(start);
- } else {
- fTable.select(end);
- }
- } else {
- fTable.deselectAll();
- }
- }
-
- /**
- * Selects the item at the given zero-relative index in the receiver.
- * The current selection is first cleared, then the new item is selected,
- * and if necessary the receiver is scrolled to make the new selection visible.
- *
- * @param index the index of the item to select
- *
- * @exception SWTException <ul>
- * <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
- * <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
- * </ul>
- */
- public void setSelection(int index) {
- if (fTableItemCount > 0) {
- int i = Math.min(index, fTableItemCount - 1);
- i = Math.max(i, 0);
-
- fSelectedEventRank = i;
- fSelectedBeginRank = fSelectedEventRank;
- if ((i < fTableTopEventRank + fFrozenRowCount && i >= fFrozenRowCount) ||
- (i >= fTableTopEventRank + fFullyVisibleRows)) {
- int lastPageTopEntryRank = Math.max(0, fTableItemCount - fFullyVisibleRows);
- fTableTopEventRank = Math.max(0, Math.min(lastPageTopEntryRank, i - fFrozenRowCount - fFullyVisibleRows / 2));
- }
- if (fFullyVisibleRows < fTableItemCount) {
- fSlider.setSelection(fTableTopEventRank);
- }
-
- refreshTable();
- }
- }
-
- /**
- * Returns the zero-relative index of the item which is currently
- * selected in the receiver, or -1 if no item is selected.
- *
- * @return the index of the selected item
- */
- public int getSelectionIndex() {
- return fSelectedEventRank;
- }
-
- /**
- * Returns an index array representing the selection range. If there is a
- * single item selected the array holds one index. If there is a selected
- * range the first item in the array is the start index of the selection and
- * the second item is the end index of the selection, which is the item most
- * recently selected. The array is empty if no items are selected.
- * <p>
- * @return the array of indices of the selected items
- * @since 2.1
- */
- public int[] getSelectionIndices() {
- if (fSelectedEventRank < 0 || fSelectedBeginRank < 0) {
- return new int[] {};
- } else if (fSelectedEventRank == fSelectedBeginRank) {
- return new int[] { fSelectedEventRank };
- }
- return new int[] { fSelectedBeginRank, fSelectedEventRank };
- }
-
- /**
- * Method setFrozenRowCount.
- * @param count int the number of rows to freeze from the top row
- */
- public void setFrozenRowCount(int count) {
- fFrozenRowCount = count;
- refreshTable();
- }
-
- /**
- * Method createTableEditor.
- * @return a TableEditor of the table
- */
- public TableEditor createTableEditor() {
- return new TableEditor(fTable);
- }
-
- /**
- * Method createTableEditorControl.
- * @param control Class<? extends Control>
- * @return Control
- */
- public Control createTableEditorControl(Class<? extends Control> control) {
- try {
- return control.getConstructor(Composite.class, int.class).newInstance(new Object[] {fTable, SWT.NONE});
- } catch (Exception e) {
- Activator.getDefault().logError("Error creating table editor control", e); //$NON-NLS-1$
- }
- return null;
- }
-
- /**
- * @return the tooltipProvider
- */
- public TooltipProvider getTooltipProvider() {
- return tooltipProvider;
- }
-
- /**
- * @param tooltipProvider the tooltipProvider to set
- */
- public void setTooltipProvider(TooltipProvider tooltipProvider) {
- this.tooltipProvider = tooltipProvider;
- }
-
- /**
- * @return the doubleClickListener
- */
- public IDoubleClickListener getDoubleClickListener() {
- return doubleClickListener;
- }
-
- /**
- * @param doubleClickListener the doubleClickListener to set
- */
- public void setDoubleClickListener(IDoubleClickListener doubleClickListener) {
- this.doubleClickListener = doubleClickListener;
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/widgets/virtualtable/TooltipProvider.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/widgets/virtualtable/TooltipProvider.java
deleted file mode 100644
index 5ccfc9be81..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/widgets/virtualtable/TooltipProvider.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011, 2013 Kalray, 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:
- * Xavier Raynaud - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.linuxtools.tmf.ui.widgets.virtualtable;
-
-/**
- * An interface to get tooltips.
- * @author Xavier Raynaud
- * @version 1.0
- */
-public interface TooltipProvider {
-
- /**
- * get a Tooltip for a given column in a table row. (a cell if you will)
- * @param column the column
- * @param data the object being selected. (quite often a "TableItem")
- * @return the string of text to display in the tooltip.
- */
- String getTooltip(int column, Object data);
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tmf/.project b/lttng/org.eclipse.linuxtools.tmf/.project
deleted file mode 100644
index edaa96d626..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf/.project
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>org.eclipse.linuxtools.tmf</name>
- <comment></comment>
- <projects>
- </projects>
- <buildSpec>
- <buildCommand>
- <name>org.eclipse.pde.FeatureBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>org.eclipse.pde.FeatureNature</nature>
- </natures>
-</projectDescription>
diff --git a/lttng/org.eclipse.linuxtools.tmf/.settings/org.eclipse.core.resources.prefs b/lttng/org.eclipse.linuxtools.tmf/.settings/org.eclipse.core.resources.prefs
deleted file mode 100644
index 99f26c0203..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf/.settings/org.eclipse.core.resources.prefs
+++ /dev/null
@@ -1,2 +0,0 @@
-eclipse.preferences.version=1
-encoding/<project>=UTF-8
diff --git a/lttng/org.eclipse.linuxtools.tmf/.settings/org.eclipse.core.runtime.prefs b/lttng/org.eclipse.linuxtools.tmf/.settings/org.eclipse.core.runtime.prefs
deleted file mode 100644
index 5a0ad22d2a..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf/.settings/org.eclipse.core.runtime.prefs
+++ /dev/null
@@ -1,2 +0,0 @@
-eclipse.preferences.version=1
-line.separator=\n
diff --git a/lttng/org.eclipse.linuxtools.tmf/ChangeLog b/lttng/org.eclipse.linuxtools.tmf/ChangeLog
deleted file mode 100644
index 592ef772d3..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf/ChangeLog
+++ /dev/null
@@ -1,7 +0,0 @@
-2011-06-02 Andrew Overholt <overholt@redhat.com>
-
- * build.properties: Include license.html.
-
-2011-02-04 Jeff Johnston <jjohnstn@redhat.com>
-
- * feature.properties: Fix license to be consistent with other tools. \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.tmf/build.properties b/lttng/org.eclipse.linuxtools.tmf/build.properties
deleted file mode 100644
index c0db4e0a72..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf/build.properties
+++ /dev/null
@@ -1,15 +0,0 @@
-###############################################################################
-# Copyright (c) 2013 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:
-# Ericsson - Initial API and implementation
-###############################################################################
-
-bin.includes = feature.xml,\
- feature.properties,\
- p2.inf
diff --git a/lttng/org.eclipse.linuxtools.tmf/feature.properties b/lttng/org.eclipse.linuxtools.tmf/feature.properties
deleted file mode 100644
index ad4d1540e9..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf/feature.properties
+++ /dev/null
@@ -1,21 +0,0 @@
-###############################################################################
-# Copyright (c) 2008, 2013 Red Hat, Inc., 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:
-# Ericsson - Initial API and implementation
-###############################################################################
-
-featureName=TMF - Tracing and Monitoring Framework
-
-description=Plug-ins to integrate TMF into the workbench. \
-Includes the CTF (Common Trace Format) feature.
-
-featureProvider=Eclipse Linux Tools
-
-copyright=Copyright 2009 Ericsson
-
diff --git a/lttng/org.eclipse.linuxtools.tmf/feature.xml b/lttng/org.eclipse.linuxtools.tmf/feature.xml
deleted file mode 100644
index f64ff04f44..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf/feature.xml
+++ /dev/null
@@ -1,82 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<feature
- id="org.eclipse.linuxtools.tmf"
- label="%featureName"
- version="3.2.0.qualifier"
- provider-name="%featureProvider"
- license-feature="org.eclipse.license"
- license-feature-version="0.0.0">
-
- <description>
- %description
- </description>
-
- <copyright>
- %copyright
- </copyright>
-
- <license url="%licenseURL">
- %license
- </license>
-
- <url>
- <update label="Linux Tools Update Site" url="http://download.eclipse.org/linuxtools/update"/>
- </url>
-
- <requires>
- <import plugin="org.eclipse.linuxtools.ctf.core" version="3.1.0" match="greaterOrEqual"/>
- <import plugin="org.eclipse.core.runtime"/>
- <import plugin="org.eclipse.core.resources"/>
- <import plugin="org.eclipse.ui.views"/>
- <import plugin="org.eclipse.core.expressions"/>
- <import plugin="org.eclipse.linuxtools.tmf.core" version="3.1.0" match="greaterOrEqual"/>
- <import plugin="org.eclipse.ui"/>
- <import plugin="org.eclipse.ui.ide"/>
- <import plugin="org.eclipse.ui.navigator"/>
- <import plugin="org.eclipse.ui.navigator.resources"/>
- <import plugin="org.eclipse.emf.common" version="2.5.0" match="greaterOrEqual"/>
- <import plugin="org.eclipse.emf.ecore" version="2.5.0" match="greaterOrEqual"/>
- </requires>
-
- <plugin
- id="org.eclipse.linuxtools.tmf.core"
- download-size="0"
- install-size="0"
- version="0.0.0"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.linuxtools.tmf.ui"
- download-size="0"
- install-size="0"
- version="0.0.0"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.linuxtools.tmf.help"
- download-size="0"
- install-size="0"
- version="0.0.0"/>
-
- <plugin
- id="org.eclipse.linuxtools.tmf.analysis.xml.core"
- download-size="0"
- install-size="0"
- version="0.0.0"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.linuxtools.tmf.analysis.xml.ui"
- download-size="0"
- install-size="0"
- version="0.0.0"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.linuxtools.statesystem.core"
- download-size="0"
- install-size="0"
- version="0.0.0"
- unpack="false"/>
-
-</feature>
diff --git a/lttng/org.eclipse.linuxtools.tmf/p2.inf b/lttng/org.eclipse.linuxtools.tmf/p2.inf
deleted file mode 100644
index 5246a0c824..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf/p2.inf
+++ /dev/null
@@ -1,3 +0,0 @@
-instructions.configure=\
-org.eclipse.equinox.p2.touchpoint.eclipse.addRepository(location:http${#58}//download.eclipse.org/linuxtools/updates-nightly,type:0,name:Linux Tools,enabled:false); \
-org.eclipse.equinox.p2.touchpoint.eclipse.addRepository(location:http${#58}//download.eclipse.org/linuxtools/updates-nightly,type:1,name:Linux Tools,enabled:false);
diff --git a/lttng/org.eclipse.linuxtools.tmf/pom.xml b/lttng/org.eclipse.linuxtools.tmf/pom.xml
deleted file mode 100644
index 636d62dcab..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf/pom.xml
+++ /dev/null
@@ -1,64 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Copyright (C) 2011, Red Hat, Inc.
-
- 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
--->
-<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
- <modelVersion>4.0.0</modelVersion>
-
- <parent>
- <artifactId>linuxtools-lttng-parent</artifactId>
- <groupId>org.eclipse.linuxtools.lttng</groupId>
- <version>3.2.0-SNAPSHOT</version>
- </parent>
-
- <artifactId>org.eclipse.linuxtools.tmf</artifactId>
- <version>3.2.0-SNAPSHOT</version>
- <packaging>eclipse-feature</packaging>
-
- <name>Linux Tools TMF (Tracing and Monitoring Framework) Feature</name>
-
- <groupId>org.eclipse.linuxtools.tmf</groupId>
-
- <build>
- <plugins>
- <plugin>
- <groupId>org.eclipse.tycho.extras</groupId>
- <artifactId>tycho-source-feature-plugin</artifactId>
- <executions>
- <execution>
- <id>source-feature</id>
- <phase>package</phase>
- <goals>
- <goal>source-feature</goal>
- </goals>
- <configuration>
- <excludes>
- <plugin id="org.eclipse.linuxtools.tmf.help"/>
- </excludes>
- </configuration>
- </execution>
- </executions>
- </plugin>
- <plugin>
- <groupId>org.eclipse.tycho</groupId>
- <artifactId>tycho-p2-plugin</artifactId>
- <version>${tycho-version}</version>
- <executions>
- <execution>
- <id>attached-p2-metadata</id>
- <phase>package</phase>
- <goals>
- <goal>p2-metadata</goal>
- </goals>
- </execution>
- </executions>
- </plugin>
- </plugins>
- </build>
-</project>
diff --git a/lttng/org.eclipse.linuxtools.tracing.examples/.classpath b/lttng/org.eclipse.linuxtools.tracing.examples/.classpath
deleted file mode 100644
index 098194ca4b..0000000000
--- a/lttng/org.eclipse.linuxtools.tracing.examples/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
- <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.7"/>
- <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
- <classpathentry kind="src" path="src"/>
- <classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/lttng/org.eclipse.linuxtools.tracing.examples/.project b/lttng/org.eclipse.linuxtools.tracing.examples/.project
deleted file mode 100644
index dc9ba075ad..0000000000
--- a/lttng/org.eclipse.linuxtools.tracing.examples/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>org.eclipse.linuxtools.tracing.examples</name>
- <comment></comment>
- <projects>
- </projects>
- <buildSpec>
- <buildCommand>
- <name>org.eclipse.jdt.core.javabuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.ManifestBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.SchemaBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>org.eclipse.pde.PluginNature</nature>
- <nature>org.eclipse.jdt.core.javanature</nature>
- </natures>
-</projectDescription>
diff --git a/lttng/org.eclipse.linuxtools.tracing.examples/.settings/org.eclipse.core.resources.prefs b/lttng/org.eclipse.linuxtools.tracing.examples/.settings/org.eclipse.core.resources.prefs
deleted file mode 100644
index 99f26c0203..0000000000
--- a/lttng/org.eclipse.linuxtools.tracing.examples/.settings/org.eclipse.core.resources.prefs
+++ /dev/null
@@ -1,2 +0,0 @@
-eclipse.preferences.version=1
-encoding/<project>=UTF-8
diff --git a/lttng/org.eclipse.linuxtools.tracing.examples/.settings/org.eclipse.core.runtime.prefs b/lttng/org.eclipse.linuxtools.tracing.examples/.settings/org.eclipse.core.runtime.prefs
deleted file mode 100644
index 5a0ad22d2a..0000000000
--- a/lttng/org.eclipse.linuxtools.tracing.examples/.settings/org.eclipse.core.runtime.prefs
+++ /dev/null
@@ -1,2 +0,0 @@
-eclipse.preferences.version=1
-line.separator=\n
diff --git a/lttng/org.eclipse.linuxtools.tracing.examples/.settings/org.eclipse.jdt.core.prefs b/lttng/org.eclipse.linuxtools.tracing.examples/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index 9f3662cd78..0000000000
--- a/lttng/org.eclipse.linuxtools.tracing.examples/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,394 +0,0 @@
-eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.annotation.inheritNullAnnotations=enabled
-org.eclipse.jdt.core.compiler.annotation.missingNonNullByDefaultAnnotation=ignore
-org.eclipse.jdt.core.compiler.annotation.nonnull=org.eclipse.jdt.annotation.NonNull
-org.eclipse.jdt.core.compiler.annotation.nonnullbydefault=org.eclipse.jdt.annotation.NonNullByDefault
-org.eclipse.jdt.core.compiler.annotation.nullable=org.eclipse.jdt.annotation.Nullable
-org.eclipse.jdt.core.compiler.annotation.nullanalysis=enabled
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.7
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.doc.comment.support=enabled
-org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=error
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
-org.eclipse.jdt.core.compiler.problem.comparingIdentical=error
-org.eclipse.jdt.core.compiler.problem.deadCode=error
-org.eclipse.jdt.core.compiler.problem.deprecation=error
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled
-org.eclipse.jdt.core.compiler.problem.discouragedReference=warning
-org.eclipse.jdt.core.compiler.problem.emptyStatement=error
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.problem.explicitlyClosedAutoCloseable=error
-org.eclipse.jdt.core.compiler.problem.fallthroughCase=error
-org.eclipse.jdt.core.compiler.problem.fatalOptionalError=disabled
-org.eclipse.jdt.core.compiler.problem.fieldHiding=error
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=error
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=error
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=error
-org.eclipse.jdt.core.compiler.problem.includeNullInfoFromAsserts=disabled
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=error
-org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=error
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=error
-org.eclipse.jdt.core.compiler.problem.invalidJavadoc=warning
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTags=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=protected
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=error
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=error
-org.eclipse.jdt.core.compiler.problem.missingDefaultCase=error
-org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=error
-org.eclipse.jdt.core.compiler.problem.missingEnumCaseDespiteDefault=enabled
-org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=error
-org.eclipse.jdt.core.compiler.problem.missingJavadocComments=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=protected
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagDescription=all_standard_tags
-org.eclipse.jdt.core.compiler.problem.missingJavadocTags=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsMethodTypeParameters=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=protected
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=error
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotationForInterfaceMethodImplementation=enabled
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=error
-org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=error
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=error
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=error
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=warning
-org.eclipse.jdt.core.compiler.problem.nonnullParameterAnnotationDropped=warning
-org.eclipse.jdt.core.compiler.problem.nullAnnotationInferenceConflict=warning
-org.eclipse.jdt.core.compiler.problem.nullReference=error
-org.eclipse.jdt.core.compiler.problem.nullSpecViolation=error
-org.eclipse.jdt.core.compiler.problem.nullUncheckedConversion=warning
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=error
-org.eclipse.jdt.core.compiler.problem.parameterAssignment=error
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=error
-org.eclipse.jdt.core.compiler.problem.potentialNullReference=error
-org.eclipse.jdt.core.compiler.problem.potentiallyUnclosedCloseable=warning
-org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning
-org.eclipse.jdt.core.compiler.problem.redundantNullAnnotation=warning
-org.eclipse.jdt.core.compiler.problem.redundantNullCheck=error
-org.eclipse.jdt.core.compiler.problem.redundantSpecificationOfTypeArguments=error
-org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=error
-org.eclipse.jdt.core.compiler.problem.reportMethodCanBePotentiallyStatic=ignore
-org.eclipse.jdt.core.compiler.problem.reportMethodCanBeStatic=error
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=error
-org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=disabled
-org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
-org.eclipse.jdt.core.compiler.problem.syntacticNullAnalysisForFields=enabled
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
-org.eclipse.jdt.core.compiler.problem.typeParameterHiding=error
-org.eclipse.jdt.core.compiler.problem.unavoidableGenericTypeProblems=disabled
-org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
-org.eclipse.jdt.core.compiler.problem.unclosedCloseable=error
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
-org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=error
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=error
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=error
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=warning
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=disabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=disabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=error
-org.eclipse.jdt.core.compiler.problem.unusedLabel=error
-org.eclipse.jdt.core.compiler.problem.unusedLocal=error
-org.eclipse.jdt.core.compiler.problem.unusedObjectAllocation=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=error
-org.eclipse.jdt.core.compiler.problem.unusedTypeParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedWarningToken=error
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=error
-org.eclipse.jdt.core.compiler.source=1.7
-org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_assignment=0
-org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
-org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
-org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
-org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
-org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0
-org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=80
-org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=0
-org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch=16
-org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_after_package=1
-org.eclipse.jdt.core.formatter.blank_lines_before_field=0
-org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
-org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
-org.eclipse.jdt.core.formatter.blank_lines_before_method=1
-org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
-org.eclipse.jdt.core.formatter.blank_lines_before_package=0
-org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
-org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
-org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
-org.eclipse.jdt.core.formatter.comment.format_block_comments=true
-org.eclipse.jdt.core.formatter.comment.format_header=false
-org.eclipse.jdt.core.formatter.comment.format_html=true
-org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=true
-org.eclipse.jdt.core.formatter.comment.format_line_comments=true
-org.eclipse.jdt.core.formatter.comment.format_source_code=true
-org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true
-org.eclipse.jdt.core.formatter.comment.indent_root_tags=true
-org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
-org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=insert
-org.eclipse.jdt.core.formatter.comment.line_length=80
-org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries=true
-org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries=true
-org.eclipse.jdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments=false
-org.eclipse.jdt.core.formatter.compact_else_if=true
-org.eclipse.jdt.core.formatter.continuation_indentation=2
-org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2
-org.eclipse.jdt.core.formatter.disabling_tag=@formatter\:off
-org.eclipse.jdt.core.formatter.enabling_tag=@formatter\:on
-org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
-org.eclipse.jdt.core.formatter.format_line_comment_starting_on_first_column=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
-org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_empty_lines=false
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=false
-org.eclipse.jdt.core.formatter.indentation.size=4
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_label=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_try=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources=insert
-org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_try=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
-org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.join_lines_in_comments=true
-org.eclipse.jdt.core.formatter.join_wrapped_lines=false
-org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.lineSplit=250
-org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
-org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
-org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true
-org.eclipse.jdt.core.formatter.tabulation.char=space
-org.eclipse.jdt.core.formatter.tabulation.size=4
-org.eclipse.jdt.core.formatter.use_on_off_tags=false
-org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
-org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
-org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true
-org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true
diff --git a/lttng/org.eclipse.linuxtools.tracing.examples/.settings/org.eclipse.jdt.ui.prefs b/lttng/org.eclipse.linuxtools.tracing.examples/.settings/org.eclipse.jdt.ui.prefs
deleted file mode 100644
index 4fd0c7006a..0000000000
--- a/lttng/org.eclipse.linuxtools.tracing.examples/.settings/org.eclipse.jdt.ui.prefs
+++ /dev/null
@@ -1,56 +0,0 @@
-eclipse.preferences.version=1
-editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
-formatter_profile=_tmf-style
-formatter_settings_version=12
-sp_cleanup.add_default_serial_version_id=true
-sp_cleanup.add_generated_serial_version_id=false
-sp_cleanup.add_missing_annotations=false
-sp_cleanup.add_missing_deprecated_annotations=true
-sp_cleanup.add_missing_methods=false
-sp_cleanup.add_missing_nls_tags=false
-sp_cleanup.add_missing_override_annotations=true
-sp_cleanup.add_missing_override_annotations_interface_methods=true
-sp_cleanup.add_serial_version_id=false
-sp_cleanup.always_use_blocks=true
-sp_cleanup.always_use_parentheses_in_expressions=false
-sp_cleanup.always_use_this_for_non_static_field_access=false
-sp_cleanup.always_use_this_for_non_static_method_access=false
-sp_cleanup.convert_to_enhanced_for_loop=false
-sp_cleanup.correct_indentation=false
-sp_cleanup.format_source_code=false
-sp_cleanup.format_source_code_changes_only=false
-sp_cleanup.make_local_variable_final=false
-sp_cleanup.make_parameters_final=false
-sp_cleanup.make_private_fields_final=true
-sp_cleanup.make_type_abstract_if_missing_method=false
-sp_cleanup.make_variable_declarations_final=false
-sp_cleanup.never_use_blocks=false
-sp_cleanup.never_use_parentheses_in_expressions=true
-sp_cleanup.on_save_use_additional_actions=true
-sp_cleanup.organize_imports=false
-sp_cleanup.qualify_static_field_accesses_with_declaring_class=false
-sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_with_declaring_class=false
-sp_cleanup.qualify_static_method_accesses_with_declaring_class=false
-sp_cleanup.remove_private_constructors=true
-sp_cleanup.remove_trailing_whitespaces=true
-sp_cleanup.remove_trailing_whitespaces_all=true
-sp_cleanup.remove_trailing_whitespaces_ignore_empty=false
-sp_cleanup.remove_unnecessary_casts=false
-sp_cleanup.remove_unnecessary_nls_tags=false
-sp_cleanup.remove_unused_imports=false
-sp_cleanup.remove_unused_local_variables=false
-sp_cleanup.remove_unused_private_fields=true
-sp_cleanup.remove_unused_private_members=false
-sp_cleanup.remove_unused_private_methods=true
-sp_cleanup.remove_unused_private_types=true
-sp_cleanup.sort_members=false
-sp_cleanup.sort_members_all=false
-sp_cleanup.use_blocks=true
-sp_cleanup.use_blocks_only_for_return_and_throw=false
-sp_cleanup.use_parentheses_in_expressions=false
-sp_cleanup.use_this_for_non_static_field_access=false
-sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=true
-sp_cleanup.use_this_for_non_static_method_access=false
-sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true
diff --git a/lttng/org.eclipse.linuxtools.tracing.examples/.settings/org.eclipse.pde.api.tools.prefs b/lttng/org.eclipse.linuxtools.tracing.examples/.settings/org.eclipse.pde.api.tools.prefs
deleted file mode 100644
index acc3abd47c..0000000000
--- a/lttng/org.eclipse.linuxtools.tracing.examples/.settings/org.eclipse.pde.api.tools.prefs
+++ /dev/null
@@ -1,97 +0,0 @@
-ANNOTATION_ELEMENT_TYPE_ADDED_METHOD_WITHOUT_DEFAULT_VALUE=Error
-ANNOTATION_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
-ANNOTATION_ELEMENT_TYPE_REMOVED_FIELD=Error
-ANNOTATION_ELEMENT_TYPE_REMOVED_METHOD=Error
-ANNOTATION_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
-API_COMPONENT_ELEMENT_TYPE_REMOVED_API_TYPE=Error
-API_COMPONENT_ELEMENT_TYPE_REMOVED_REEXPORTED_API_TYPE=Error
-API_COMPONENT_ELEMENT_TYPE_REMOVED_REEXPORTED_TYPE=Error
-API_COMPONENT_ELEMENT_TYPE_REMOVED_TYPE=Error
-API_USE_SCAN_FIELD_SEVERITY=Error
-API_USE_SCAN_METHOD_SEVERITY=Error
-API_USE_SCAN_TYPE_SEVERITY=Error
-CLASS_ELEMENT_TYPE_ADDED_METHOD=Error
-CLASS_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
-CLASS_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
-CLASS_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error
-CLASS_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
-CLASS_ELEMENT_TYPE_CHANGED_NON_ABSTRACT_TO_ABSTRACT=Error
-CLASS_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error
-CLASS_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
-CLASS_ELEMENT_TYPE_REMOVED_CONSTRUCTOR=Error
-CLASS_ELEMENT_TYPE_REMOVED_FIELD=Error
-CLASS_ELEMENT_TYPE_REMOVED_METHOD=Error
-CLASS_ELEMENT_TYPE_REMOVED_SUPERCLASS=Error
-CLASS_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
-CLASS_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
-CONSTRUCTOR_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
-CONSTRUCTOR_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
-CONSTRUCTOR_ELEMENT_TYPE_CHANGED_VARARGS_TO_ARRAY=Error
-CONSTRUCTOR_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
-ENUM_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error
-ENUM_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
-ENUM_ELEMENT_TYPE_REMOVED_ENUM_CONSTANT=Error
-ENUM_ELEMENT_TYPE_REMOVED_FIELD=Error
-ENUM_ELEMENT_TYPE_REMOVED_METHOD=Error
-ENUM_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
-FIELD_ELEMENT_TYPE_ADDED_VALUE=Error
-FIELD_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
-FIELD_ELEMENT_TYPE_CHANGED_FINAL_TO_NON_FINAL_STATIC_CONSTANT=Error
-FIELD_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error
-FIELD_ELEMENT_TYPE_CHANGED_NON_STATIC_TO_STATIC=Error
-FIELD_ELEMENT_TYPE_CHANGED_STATIC_TO_NON_STATIC=Error
-FIELD_ELEMENT_TYPE_CHANGED_TYPE=Error
-FIELD_ELEMENT_TYPE_CHANGED_VALUE=Error
-FIELD_ELEMENT_TYPE_REMOVED_TYPE_ARGUMENT=Error
-FIELD_ELEMENT_TYPE_REMOVED_VALUE=Error
-ILLEGAL_EXTEND=Warning
-ILLEGAL_IMPLEMENT=Warning
-ILLEGAL_INSTANTIATE=Warning
-ILLEGAL_OVERRIDE=Warning
-ILLEGAL_REFERENCE=Warning
-INTERFACE_ELEMENT_TYPE_ADDED_FIELD=Error
-INTERFACE_ELEMENT_TYPE_ADDED_METHOD=Error
-INTERFACE_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
-INTERFACE_ELEMENT_TYPE_ADDED_SUPER_INTERFACE_WITH_METHODS=Error
-INTERFACE_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
-INTERFACE_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error
-INTERFACE_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
-INTERFACE_ELEMENT_TYPE_REMOVED_FIELD=Error
-INTERFACE_ELEMENT_TYPE_REMOVED_METHOD=Error
-INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
-INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
-INVALID_JAVADOC_TAG=Warning
-INVALID_REFERENCE_IN_SYSTEM_LIBRARIES=Warning
-LEAK_EXTEND=Warning
-LEAK_FIELD_DECL=Warning
-LEAK_IMPLEMENT=Warning
-LEAK_METHOD_PARAM=Warning
-LEAK_METHOD_RETURN_TYPE=Warning
-METHOD_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
-METHOD_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
-METHOD_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
-METHOD_ELEMENT_TYPE_CHANGED_NON_ABSTRACT_TO_ABSTRACT=Error
-METHOD_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error
-METHOD_ELEMENT_TYPE_CHANGED_NON_STATIC_TO_STATIC=Error
-METHOD_ELEMENT_TYPE_CHANGED_STATIC_TO_NON_STATIC=Error
-METHOD_ELEMENT_TYPE_CHANGED_VARARGS_TO_ARRAY=Error
-METHOD_ELEMENT_TYPE_REMOVED_ANNOTATION_DEFAULT_VALUE=Error
-METHOD_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
-MISSING_EE_DESCRIPTIONS=Ignore
-TYPE_PARAMETER_ELEMENT_TYPE_ADDED_CLASS_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_ADDED_INTERFACE_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_CHANGED_CLASS_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_CHANGED_INTERFACE_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_CLASS_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error
-UNUSED_PROBLEM_FILTERS=Warning
-automatically_removed_unused_problem_filters=false
-eclipse.preferences.version=1
-incompatible_api_component_version=Error
-incompatible_api_component_version_include_major_without_breaking_change=Disabled
-incompatible_api_component_version_include_minor_without_api_change=Disabled
-invalid_since_tag_version=Error
-malformed_since_tag=Error
-missing_since_tag=Error
-report_api_breakage_when_major_version_incremented=Disabled
-report_resolution_errors_api_component=Warning
diff --git a/lttng/org.eclipse.linuxtools.tracing.examples/.settings/org.eclipse.pde.prefs b/lttng/org.eclipse.linuxtools.tracing.examples/.settings/org.eclipse.pde.prefs
deleted file mode 100644
index d92b94fd4b..0000000000
--- a/lttng/org.eclipse.linuxtools.tracing.examples/.settings/org.eclipse.pde.prefs
+++ /dev/null
@@ -1,32 +0,0 @@
-compilers.f.unresolved-features=1
-compilers.f.unresolved-plugins=1
-compilers.incompatible-environment=1
-compilers.p.build=1
-compilers.p.build.bin.includes=1
-compilers.p.build.encodings=2
-compilers.p.build.java.compiler=2
-compilers.p.build.java.compliance=1
-compilers.p.build.missing.output=2
-compilers.p.build.output.library=1
-compilers.p.build.source.library=1
-compilers.p.build.src.includes=1
-compilers.p.deprecated=1
-compilers.p.discouraged-class=1
-compilers.p.internal=1
-compilers.p.missing-packages=1
-compilers.p.missing-version-export-package=2
-compilers.p.missing-version-import-package=2
-compilers.p.missing-version-require-bundle=2
-compilers.p.no-required-att=0
-compilers.p.not-externalized-att=1
-compilers.p.unknown-attribute=1
-compilers.p.unknown-class=1
-compilers.p.unknown-element=1
-compilers.p.unknown-identifier=1
-compilers.p.unknown-resource=1
-compilers.p.unresolved-ex-points=0
-compilers.p.unresolved-import=0
-compilers.s.create-docs=false
-compilers.s.doc-folder=doc
-compilers.s.open-tags=1
-eclipse.preferences.version=1
diff --git a/lttng/org.eclipse.linuxtools.tracing.examples/META-INF/MANIFEST.MF b/lttng/org.eclipse.linuxtools.tracing.examples/META-INF/MANIFEST.MF
deleted file mode 100644
index ec7bef494d..0000000000
--- a/lttng/org.eclipse.linuxtools.tracing.examples/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,18 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %Bundle-Name
-Bundle-SymbolicName: org.eclipse.linuxtools.tracing.examples;singleton:=true
-Bundle-Version: 1.1.0.qualifier
-Bundle-Localization: plugin
-Bundle-Activator: org.eclipse.linuxtools.tracing.examples.ui.Activator
-Require-Bundle: org.eclipse.ui,
- org.eclipse.core.runtime,
- org.eclipse.linuxtools.tmf.core;bundle-version="3.1.0",
- org.eclipse.linuxtools.tmf.ui;bundle-version="3.1.0"
-Bundle-ActivationPolicy: lazy
-Bundle-RequiredExecutionEnvironment: JavaSE-1.7
-Export-Package: org.eclipse.linuxtools.tracing.examples.ui;x-internal:=true,
- org.eclipse.linuxtools.tracing.examples.ui.viewers.histogram;x-internal:=true,
- org.eclipse.linuxtools.tracing.examples.ui.views.histogram;x-internal:=true
-Bundle-Vendor: %Bundle-Vendor
-Import-Package: org.swtchart
diff --git a/lttng/org.eclipse.linuxtools.tracing.examples/about.html b/lttng/org.eclipse.linuxtools.tracing.examples/about.html
deleted file mode 100644
index 3f14ba94a3..0000000000
--- a/lttng/org.eclipse.linuxtools.tracing.examples/about.html
+++ /dev/null
@@ -1,28 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
-<title>About</title>
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
-
-<p>June 5, 2006</p>
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;). Unless otherwise
-indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is available
-at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is
-being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content. Check the Redistributor's license that was
-provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at <a href="http://www.eclipse.org/">http://www.eclipse.org</a>.</p>
-
-</body>
-</html> \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.tracing.examples/build.properties b/lttng/org.eclipse.linuxtools.tracing.examples/build.properties
deleted file mode 100644
index 0eaf10931c..0000000000
--- a/lttng/org.eclipse.linuxtools.tracing.examples/build.properties
+++ /dev/null
@@ -1,18 +0,0 @@
-###############################################################################
-# Copyright (c) 2014 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:
-# Ericsson - Initial API and implementation
-###############################################################################
-source.. = src/
-output.. = bin/
-bin.includes = META-INF/,\
- .,\
- plugin.properties,\
- plugin.xml
-src.includes = about.html
diff --git a/lttng/org.eclipse.linuxtools.tracing.examples/plugin.properties b/lttng/org.eclipse.linuxtools.tracing.examples/plugin.properties
deleted file mode 100644
index ebdd6f110a..0000000000
--- a/lttng/org.eclipse.linuxtools.tracing.examples/plugin.properties
+++ /dev/null
@@ -1,16 +0,0 @@
-###############################################################################
-# Copyright (c) 2014 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:
-# Ericsson - Initial API and implementation
-###############################################################################
-Bundle-Vendor = Eclipse Linux Tools
-Bundle-Name = Linux Tools Tracing Examples UI Plug-in
-
-tracing.examples.histogram.view.name=New Histogram
-tracing.examples.histogram.view.description=New Histogram Implementation Based on State System \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.tracing.examples/plugin.xml b/lttng/org.eclipse.linuxtools.tracing.examples/plugin.xml
deleted file mode 100644
index 50521070f0..0000000000
--- a/lttng/org.eclipse.linuxtools.tracing.examples/plugin.xml
+++ /dev/null
@@ -1,15 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.4"?>
-<plugin>
- <extension
- point="org.eclipse.ui.views">
- <view
- category="org.eclipse.linuxtools.tmf.ui.views.category"
- class="org.eclipse.linuxtools.tracing.examples.ui.views.histogram.NewHistogramView"
- id="org.eclipse.linuxtools.tracing.examples.ui.views.HistogramView"
- name="%tracing.examples.histogram.view.name"
- restorable="true">
- </view>
- </extension>
-
-</plugin>
diff --git a/lttng/org.eclipse.linuxtools.tracing.examples/pom.xml b/lttng/org.eclipse.linuxtools.tracing.examples/pom.xml
deleted file mode 100644
index 59561c496d..0000000000
--- a/lttng/org.eclipse.linuxtools.tracing.examples/pom.xml
+++ /dev/null
@@ -1,36 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Copyright (C) 2011, 2013 Red Hat Inc., 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
--->
-<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
- <modelVersion>4.0.0</modelVersion>
-
- <parent>
- <artifactId>linuxtools-lttng-parent</artifactId>
- <groupId>org.eclipse.linuxtools.lttng</groupId>
- <version>3.2.0-SNAPSHOT</version>
- </parent>
-
- <artifactId>org.eclipse.linuxtools.tracing.examples</artifactId>
- <version>1.1.0-SNAPSHOT</version>
- <packaging>eclipse-plugin</packaging>
-
- <name>Linux Tools Tracing Examples UI Plug-in</name>
-
- <build>
- <plugins>
- <plugin>
- <groupId>org.eclipse.tycho</groupId>
- <artifactId>tycho-source-plugin</artifactId>
- </plugin>
- </plugins>
- </build>
-
- <groupId>org.eclipse.linuxtools.lttng2</groupId>
-</project>
diff --git a/lttng/org.eclipse.linuxtools.tracing.examples/src/org/eclipse/linuxtools/tracing/examples/ui/Activator.java b/lttng/org.eclipse.linuxtools.tracing.examples/src/org/eclipse/linuxtools/tracing/examples/ui/Activator.java
deleted file mode 100644
index 36a10e77b9..0000000000
--- a/lttng/org.eclipse.linuxtools.tracing.examples/src/org/eclipse/linuxtools/tracing/examples/ui/Activator.java
+++ /dev/null
@@ -1,57 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 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:
- * Bernd Hufmann - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.linuxtools.tracing.examples.ui;
-
-import org.eclipse.ui.plugin.AbstractUIPlugin;
-import org.osgi.framework.BundleContext;
-
-/**
- * The activator class controls the plug-in life cycle.
- *
- * @author Bernd Hufmann
- */
-public class Activator extends AbstractUIPlugin {
-
- /** The plug-in ID */
- public static final String PLUGIN_ID = "org.eclipse.linuxtools.tracing.examples"; //$NON-NLS-1$
-
- // The shared instance
- private static Activator fPlugin;
-
- /**
- * The constructor
- */
- public Activator() {
- }
-
- @Override
- public void start(BundleContext context) throws Exception {
- super.start(context);
- fPlugin = this;
- }
-
- @Override
- public void stop(BundleContext context) throws Exception {
- fPlugin = null;
- super.stop(context);
- }
-
- /**
- * Returns the shared instance
- *
- * @return the shared instance
- */
- public static Activator getDefault() {
- return fPlugin;
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tracing.examples/src/org/eclipse/linuxtools/tracing/examples/ui/viewers/histogram/NewHistogramViewer.java b/lttng/org.eclipse.linuxtools.tracing.examples/src/org/eclipse/linuxtools/tracing/examples/ui/viewers/histogram/NewHistogramViewer.java
deleted file mode 100644
index 21878bde6c..0000000000
--- a/lttng/org.eclipse.linuxtools.tracing.examples/src/org/eclipse/linuxtools/tracing/examples/ui/viewers/histogram/NewHistogramViewer.java
+++ /dev/null
@@ -1,111 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013, 2014 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:
- * Alexandre Montplaisir - Initial API and implementation
- * Bernd Hufmann - Updated to new TMF chart framework
- *******************************************************************************/
-package org.eclipse.linuxtools.tracing.examples.ui.viewers.histogram;
-
-import java.util.Arrays;
-import java.util.List;
-
-import org.eclipse.linuxtools.tmf.core.statistics.ITmfStatistics;
-import org.eclipse.linuxtools.tmf.core.statistics.TmfStatisticsModule;
-import org.eclipse.linuxtools.tmf.core.trace.ITmfTrace;
-import org.eclipse.linuxtools.tmf.core.trace.TmfTraceManager;
-import org.eclipse.linuxtools.tmf.ui.viewers.xycharts.barcharts.TmfBarChartViewer;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Display;
-import org.swtchart.Chart;
-import org.swtchart.IAxis;
-import org.swtchart.ISeries;
-import org.swtchart.LineStyle;
-
-/**
- * Histogram Viewer implementation based on TmfBarChartViewer.
- *
- * @author Alexandre Montplaisir
- * @author Bernd Hufmann
- */
-public class NewHistogramViewer extends TmfBarChartViewer {
-
- /**
- * Creates a Histogram Viewer instance.
- * @param parent
- * The parent composite to draw in.
- */
- public NewHistogramViewer(Composite parent) {
- super(parent, null, null, null, TmfBarChartViewer.MINIMUM_BAR_WIDTH);
-
- Chart swtChart = getSwtChart();
-
- IAxis xAxis = swtChart.getAxisSet().getXAxis(0);
- IAxis yAxis = swtChart.getAxisSet().getYAxis(0);
-
- /* Hide the grid */
- xAxis.getGrid().setStyle(LineStyle.NONE);
- yAxis.getGrid().setStyle(LineStyle.NONE);
-
- /* Hide the legend */
- swtChart.getLegend().setVisible(false);
-
- addSeries("Number of events", Display.getDefault().getSystemColor(SWT.COLOR_BLUE).getRGB()); //$NON-NLS-1$
- }
-
- @Override
- protected void readData(final ISeries series, final long start, final long end, final int nb) {
- if (getTrace() != null) {
- final double y[] = new double[nb];
-
- Thread thread = new Thread("Histogram viewer update") { //$NON-NLS-1$
- @Override
- public void run() {
- double x[] = getXAxis(start, end, nb);
- final long yLong[] = new long[nb];
- Arrays.fill(y, 0.0);
-
- /* Add the values for each trace */
- for (ITmfTrace trace : TmfTraceManager.getTraceSet(getTrace())) {
- /* Retrieve the statistics object */
- final TmfStatisticsModule statsMod =
- trace.getAnalysisModuleOfClass(TmfStatisticsModule.class, TmfStatisticsModule.ID);
- if (statsMod == null) {
- /* No statistics module available for this trace */
- continue;
- }
- statsMod.waitForInitialization();
- final ITmfStatistics stats = statsMod.getStatistics();
- if (stats == null) {
- /*
- * Should not be null after waitForInitialization()
- * is called.
- */
- throw new IllegalStateException();
- }
- List<Long> values = stats.histogramQuery(start, end, nb);
-
- for (int i = 0; i < nb; i++) {
- yLong[i] += values.get(i);
- }
- }
-
- for (int i = 0; i < nb; i++) {
- y[i] += yLong[i]; /* casting from long to double */
- }
-
- /* Update the viewer */
- drawChart(series, x, y);
- }
- };
- thread.start();
- }
- return;
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tracing.examples/src/org/eclipse/linuxtools/tracing/examples/ui/views/histogram/NewHistogramView.java b/lttng/org.eclipse.linuxtools.tracing.examples/src/org/eclipse/linuxtools/tracing/examples/ui/views/histogram/NewHistogramView.java
deleted file mode 100644
index 2424734888..0000000000
--- a/lttng/org.eclipse.linuxtools.tracing.examples/src/org/eclipse/linuxtools/tracing/examples/ui/views/histogram/NewHistogramView.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013, 2014 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:
- * Bernd Hufmann - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.linuxtools.tracing.examples.ui.views.histogram;
-
-import org.eclipse.linuxtools.tmf.ui.views.TmfChartView;
-import org.eclipse.linuxtools.tracing.examples.ui.viewers.histogram.NewHistogramViewer;
-import org.eclipse.swt.widgets.Composite;
-
-/**
- * Histogram View based on TmfChartView.
- *
- * @author Bernd Hufmann
- */
-public class NewHistogramView extends TmfChartView {
- /** The view ID. */
- public static final String ID = "org.eclipse.linuxtools.tracing.examples.ui.views.NewHistogramView"; //$NON-NLS-1$
-
- /**
- * Default Constructor
- */
- public NewHistogramView() {
- super(ID);
- }
-
- @Override
- public void createPartControl(Composite parent) {
- setChartViewer(new NewHistogramViewer(parent));
- super.createPartControl(parent);
- }
-
- @Override
- public void setFocus() {
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tracing.rcp.branding.feature/.project b/lttng/org.eclipse.linuxtools.tracing.rcp.branding.feature/.project
deleted file mode 100644
index 57a64b23cb..0000000000
--- a/lttng/org.eclipse.linuxtools.tracing.rcp.branding.feature/.project
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>org.eclipse.linuxtools.tracing.rcp.branding.feature</name>
- <comment></comment>
- <projects>
- </projects>
- <buildSpec>
- <buildCommand>
- <name>org.eclipse.pde.FeatureBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>org.eclipse.pde.FeatureNature</nature>
- </natures>
-</projectDescription>
diff --git a/lttng/org.eclipse.linuxtools.tracing.rcp.branding.feature/.settings/org.eclipse.core.resources.prefs b/lttng/org.eclipse.linuxtools.tracing.rcp.branding.feature/.settings/org.eclipse.core.resources.prefs
deleted file mode 100644
index 99f26c0203..0000000000
--- a/lttng/org.eclipse.linuxtools.tracing.rcp.branding.feature/.settings/org.eclipse.core.resources.prefs
+++ /dev/null
@@ -1,2 +0,0 @@
-eclipse.preferences.version=1
-encoding/<project>=UTF-8
diff --git a/lttng/org.eclipse.linuxtools.tracing.rcp.branding.feature/.settings/org.eclipse.core.runtime.prefs b/lttng/org.eclipse.linuxtools.tracing.rcp.branding.feature/.settings/org.eclipse.core.runtime.prefs
deleted file mode 100644
index 5a0ad22d2a..0000000000
--- a/lttng/org.eclipse.linuxtools.tracing.rcp.branding.feature/.settings/org.eclipse.core.runtime.prefs
+++ /dev/null
@@ -1,2 +0,0 @@
-eclipse.preferences.version=1
-line.separator=\n
diff --git a/lttng/org.eclipse.linuxtools.tracing.rcp.branding.feature/build.properties b/lttng/org.eclipse.linuxtools.tracing.rcp.branding.feature/build.properties
deleted file mode 100644
index 988d4c1b15..0000000000
--- a/lttng/org.eclipse.linuxtools.tracing.rcp.branding.feature/build.properties
+++ /dev/null
@@ -1,14 +0,0 @@
-###############################################################################
-# Copyright (c) 2014 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:
-# Ericsson - Initial API and implementation
-###############################################################################
-bin.includes = feature.xml,\
- feature.properties,\
- p2.inf
diff --git a/lttng/org.eclipse.linuxtools.tracing.rcp.branding.feature/feature.properties b/lttng/org.eclipse.linuxtools.tracing.rcp.branding.feature/feature.properties
deleted file mode 100644
index 8954bb0ef8..0000000000
--- a/lttng/org.eclipse.linuxtools.tracing.rcp.branding.feature/feature.properties
+++ /dev/null
@@ -1,20 +0,0 @@
-###############################################################################
-# Copyright (c) 2013 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:
-# Bernd Hufmann - Initial API and implementation
-###############################################################################
-
-featureName=Linux Tools Trace Viewer Branding Feature
-
-description=Feature provides the Trace Viewer branding information.
-
-featureProvider=Eclipse Linux Tools
-
-copyright=Copyright 2014 Ericsson
-
diff --git a/lttng/org.eclipse.linuxtools.tracing.rcp.branding.feature/feature.xml b/lttng/org.eclipse.linuxtools.tracing.rcp.branding.feature/feature.xml
deleted file mode 100644
index 9be21bce41..0000000000
--- a/lttng/org.eclipse.linuxtools.tracing.rcp.branding.feature/feature.xml
+++ /dev/null
@@ -1,32 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<feature
- id="org.eclipse.linuxtools.tracing.rcp.branding.feature"
- label="%featureName"
- version="1.1.0.qualifier"
- provider-name="%featureProvider"
- license-feature="org.eclipse.license"
- license-feature-version="0.0.0">
-
- <description>
- %description
- </description>
-
- <copyright>
- %copyright
- </copyright>
-
- <license url="%licenseURL">
- %license
- </license>
-
- <url>
- <update label="Linux Tools Update Site" url="http://download.eclipse.org/linuxtools/update"/>
- </url>
-
- <plugin
- id="org.eclipse.linuxtools.tracing.rcp.branding"
- download-size="0"
- install-size="0"
- version="0.0.0"/>
-
-</feature>
diff --git a/lttng/org.eclipse.linuxtools.tracing.rcp.branding.feature/p2.inf b/lttng/org.eclipse.linuxtools.tracing.rcp.branding.feature/p2.inf
deleted file mode 100644
index 5246a0c824..0000000000
--- a/lttng/org.eclipse.linuxtools.tracing.rcp.branding.feature/p2.inf
+++ /dev/null
@@ -1,3 +0,0 @@
-instructions.configure=\
-org.eclipse.equinox.p2.touchpoint.eclipse.addRepository(location:http${#58}//download.eclipse.org/linuxtools/updates-nightly,type:0,name:Linux Tools,enabled:false); \
-org.eclipse.equinox.p2.touchpoint.eclipse.addRepository(location:http${#58}//download.eclipse.org/linuxtools/updates-nightly,type:1,name:Linux Tools,enabled:false);
diff --git a/lttng/org.eclipse.linuxtools.tracing.rcp.branding.feature/pom.xml b/lttng/org.eclipse.linuxtools.tracing.rcp.branding.feature/pom.xml
deleted file mode 100644
index a385359e27..0000000000
--- a/lttng/org.eclipse.linuxtools.tracing.rcp.branding.feature/pom.xml
+++ /dev/null
@@ -1,66 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Copyright (C) 2014 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
--->
-<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
- <modelVersion>4.0.0</modelVersion>
-
- <parent>
- <artifactId>linuxtools-lttng-parent</artifactId>
- <groupId>org.eclipse.linuxtools.lttng</groupId>
- <version>3.2.0-SNAPSHOT</version>
- </parent>
-
- <artifactId>org.eclipse.linuxtools.tracing.rcp.branding.feature</artifactId>
- <version>1.1.0-SNAPSHOT</version>
- <packaging>eclipse-feature</packaging>
-
- <name>Linux Tools Trace Viewer Branding Feature</name>
-
- <groupId>org.eclipse.linuxtools.tracing.rcp.branding</groupId>
-
- <build>
- <plugins>
- <plugin>
- <groupId>org.eclipse.tycho.extras</groupId>
- <artifactId>tycho-source-feature-plugin</artifactId>
- <version>${tycho-version}</version>
- <executions>
- <execution>
- <id>source-feature</id>
- <phase>package</phase>
- <goals>
- <goal>source-feature</goal>
- </goals>
- <configuration>
- <excludes>
- <plugin id="org.eclipse.linuxtools.tracing.rcp.branding"/>
- </excludes>
- </configuration>
- </execution>
- </executions>
- </plugin>
- <plugin>
- <groupId>org.eclipse.tycho</groupId>
- <artifactId>tycho-p2-plugin</artifactId>
- <version>${tycho-version}</version>
- <executions>
- <execution>
- <id>attached-p2-metadata</id>
- <phase>package</phase>
- <goals>
- <goal>p2-metadata</goal>
- </goals>
- </execution>
- </executions>
- </plugin>
- </plugins>
- </build>
-
-</project>
diff --git a/lttng/org.eclipse.linuxtools.tracing.rcp.branding/.classpath b/lttng/org.eclipse.linuxtools.tracing.rcp.branding/.classpath
deleted file mode 100644
index 14129a12bf..0000000000
--- a/lttng/org.eclipse.linuxtools.tracing.rcp.branding/.classpath
+++ /dev/null
@@ -1,6 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
- <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.7"/>
- <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
- <classpathentry kind="output" path="target/classes"/>
-</classpath>
diff --git a/lttng/org.eclipse.linuxtools.tracing.rcp.branding/.project b/lttng/org.eclipse.linuxtools.tracing.rcp.branding/.project
deleted file mode 100644
index 52c2c73f55..0000000000
--- a/lttng/org.eclipse.linuxtools.tracing.rcp.branding/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>org.eclipse.linuxtools.tracing.rcp.branding</name>
- <comment></comment>
- <projects>
- </projects>
- <buildSpec>
- <buildCommand>
- <name>org.eclipse.jdt.core.javabuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.ManifestBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.SchemaBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>org.eclipse.pde.PluginNature</nature>
- <nature>org.eclipse.jdt.core.javanature</nature>
- </natures>
-</projectDescription>
diff --git a/lttng/org.eclipse.linuxtools.tracing.rcp.branding/.settings/org.eclipse.core.resources.prefs b/lttng/org.eclipse.linuxtools.tracing.rcp.branding/.settings/org.eclipse.core.resources.prefs
deleted file mode 100644
index 99f26c0203..0000000000
--- a/lttng/org.eclipse.linuxtools.tracing.rcp.branding/.settings/org.eclipse.core.resources.prefs
+++ /dev/null
@@ -1,2 +0,0 @@
-eclipse.preferences.version=1
-encoding/<project>=UTF-8
diff --git a/lttng/org.eclipse.linuxtools.tracing.rcp.branding/.settings/org.eclipse.jdt.core.prefs b/lttng/org.eclipse.linuxtools.tracing.rcp.branding/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index f42de363af..0000000000
--- a/lttng/org.eclipse.linuxtools.tracing.rcp.branding/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,7 +0,0 @@
-eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7
-org.eclipse.jdt.core.compiler.compliance=1.7
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.source=1.7
diff --git a/lttng/org.eclipse.linuxtools.tracing.rcp.branding/.settings/org.eclipse.m2e.core.prefs b/lttng/org.eclipse.linuxtools.tracing.rcp.branding/.settings/org.eclipse.m2e.core.prefs
deleted file mode 100644
index f897a7f1cb..0000000000
--- a/lttng/org.eclipse.linuxtools.tracing.rcp.branding/.settings/org.eclipse.m2e.core.prefs
+++ /dev/null
@@ -1,4 +0,0 @@
-activeProfiles=
-eclipse.preferences.version=1
-resolveWorkspaceProjects=true
-version=1
diff --git a/lttng/org.eclipse.linuxtools.tracing.rcp.branding/META-INF/MANIFEST.MF b/lttng/org.eclipse.linuxtools.tracing.rcp.branding/META-INF/MANIFEST.MF
deleted file mode 100644
index a0e4de5b35..0000000000
--- a/lttng/org.eclipse.linuxtools.tracing.rcp.branding/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,11 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %Bundle-Name
-Bundle-Vendor: %Bundle-Vendor
-Bundle-Version: 1.1.0.qualifier
-Bundle-Localization: plugin
-Bundle-SymbolicName: org.eclipse.linuxtools.tracing.rcp.branding;singleton:=true
-Bundle-RequiredExecutionEnvironment: JavaSE-1.7
-Eclipse-BundleShape: dir
-Require-Bundle: org.eclipse.core.runtime,
- org.eclipse.ui.intro
diff --git a/lttng/org.eclipse.linuxtools.tracing.rcp.branding/about.html b/lttng/org.eclipse.linuxtools.tracing.rcp.branding/about.html
deleted file mode 100644
index a01ee844fb..0000000000
--- a/lttng/org.eclipse.linuxtools.tracing.rcp.branding/about.html
+++ /dev/null
@@ -1,28 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
-<title>About</title>
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
-
-<p>June 5, 2006</p>
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;). Unless otherwise
-indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is available
-at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is
-being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content. Check the Redistributor's license that was
-provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at <a href="http://www.eclipse.org/">http://www.eclipse.org</a>.</p>
-
-</body>
-</html> \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.tracing.rcp.branding/about.ini b/lttng/org.eclipse.linuxtools.tracing.rcp.branding/about.ini
deleted file mode 100644
index 6443de87f7..0000000000
--- a/lttng/org.eclipse.linuxtools.tracing.rcp.branding/about.ini
+++ /dev/null
@@ -1,32 +0,0 @@
-# about.ini
-# contains information about a feature
-# java.io.Properties file (ISO 8859-1 with "\" escapes)
-# "%key" are externalized strings defined in about.properties
-# This file does not need to be translated.
-
-# Property "aboutText" contains blurb for "About" dialog (translated)
-aboutText=%blurb
-
-# Property "windowImage" contains path to window icon (16x16)
-# needed for primary features only
-
-# Property "featureImage" contains path to feature image (32x32)
-featureImage=icons/alt_window_32.gif
-
-# Property "aboutImage" contains path to product image (500x330 or 115x164)
-# needed for primary features only
-aboutImage=icons/alt_about.gif
-
-# Property "appName" contains name of the application (translated)
-# needed for primary features only
-
-# Property "welcomePage" contains path to welcome page (special XML-based format)
-# optional
-
-# Property "welcomePerspective" contains the id of the perspective in which the
-# welcome page is to be opened.
-# optional
-
-
-
-
diff --git a/lttng/org.eclipse.linuxtools.tracing.rcp.branding/about.properties b/lttng/org.eclipse.linuxtools.tracing.rcp.branding/about.properties
deleted file mode 100644
index 16366197d4..0000000000
--- a/lttng/org.eclipse.linuxtools.tracing.rcp.branding/about.properties
+++ /dev/null
@@ -1,28 +0,0 @@
-###############################################################################
-# Copyright (c) 2013 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:
-# Bernd Hufmann - initial API and implementation
-###############################################################################
-# about.properties
-# contains externalized strings for about.ini
-# java.io.Properties file (ISO 8859-1 with "\" escapes)
-# fill-ins are supplied by about.mappings
-# This file should be translated.
-
-blurb=Linux Tools Trace Viewer\n\
-\n\
-Version: {featureVersion}\n\
-\n\
-Copyright (c) 2014 Ericsson\n\
-\n\
-All rights reserved. This program and the accompanying materials are\n\
-made available under the terms of the Eclipse Public License v1.0 which\n\
-accompanies this distribution, and is available at\n\
-http://www.eclipse.org/legal/epl-v10.html\n\
-
-#Build id: {0}\n\ \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.tracing.rcp.branding/build.properties b/lttng/org.eclipse.linuxtools.tracing.rcp.branding/build.properties
deleted file mode 100644
index 29f7777446..0000000000
--- a/lttng/org.eclipse.linuxtools.tracing.rcp.branding/build.properties
+++ /dev/null
@@ -1,22 +0,0 @@
-###############################################################################
-# Copyright (c) 2014 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:
-# Ericsson - Initial API and implementation
-###############################################################################
-bin.includes = .,\
- plugin.xml,\
- META-INF/,\
- plugin.properties,\
- icons/,\
- about.html,\
- about.ini,\
- about.properties,\
- plugin_customization.ini,\
- help_data.xml
-src.includes = about.html
diff --git a/lttng/org.eclipse.linuxtools.tracing.rcp.branding/help_data.xml b/lttng/org.eclipse.linuxtools.tracing.rcp.branding/help_data.xml
deleted file mode 100644
index 0f9ff99aa4..0000000000
--- a/lttng/org.eclipse.linuxtools.tracing.rcp.branding/help_data.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<extensions>
- <tocOrder>
- </tocOrder>
- <hidden>
- <toc id="/org.eclipse.platform.doc.user/toc.xml"/>
- </hidden>
-</extensions> \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.tracing.rcp.branding/icons/alt_about.gif b/lttng/org.eclipse.linuxtools.tracing.rcp.branding/icons/alt_about.gif
deleted file mode 100644
index 20d9ad2d98..0000000000
--- a/lttng/org.eclipse.linuxtools.tracing.rcp.branding/icons/alt_about.gif
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.tracing.rcp.branding/icons/alt_window_16.gif b/lttng/org.eclipse.linuxtools.tracing.rcp.branding/icons/alt_window_16.gif
deleted file mode 100644
index 05626b17d8..0000000000
--- a/lttng/org.eclipse.linuxtools.tracing.rcp.branding/icons/alt_window_16.gif
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.tracing.rcp.branding/icons/alt_window_32.gif b/lttng/org.eclipse.linuxtools.tracing.rcp.branding/icons/alt_window_32.gif
deleted file mode 100644
index b432f88339..0000000000
--- a/lttng/org.eclipse.linuxtools.tracing.rcp.branding/icons/alt_window_32.gif
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.tracing.rcp.branding/plugin.properties b/lttng/org.eclipse.linuxtools.tracing.rcp.branding/plugin.properties
deleted file mode 100644
index 5ee0ff7702..0000000000
--- a/lttng/org.eclipse.linuxtools.tracing.rcp.branding/plugin.properties
+++ /dev/null
@@ -1,17 +0,0 @@
-###############################################################################
-# Copyright (c) 2013 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:
-# Bernd Hufmann - Initial API and implementation
-###############################################################################
-
-#Properties file for org.eclipse.linuxtools.tracing.rcp.branding
-Bundle-Vendor = Eclipse Linux Tools
-Bundle-Name = Linux Tools Trace Viewer Branding Plug-in
-
-
diff --git a/lttng/org.eclipse.linuxtools.tracing.rcp.branding/plugin.xml b/lttng/org.eclipse.linuxtools.tracing.rcp.branding/plugin.xml
deleted file mode 100644
index f08574f582..0000000000
--- a/lttng/org.eclipse.linuxtools.tracing.rcp.branding/plugin.xml
+++ /dev/null
@@ -1,36 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.4"?>
-<plugin>
- <extension
- id="product"
- point="org.eclipse.core.runtime.products">
- <product
- application="org.eclipse.linuxtools.tracing.rcp.ui.application"
- name="Trace Viewer">
- <property
- name="appName"
- value="Trace Viewer">
- </property>
- <property
- name="cssTheme"
- value="org.eclipse.e4.ui.css.theme.e4_default">
- </property>
- <property
- name="preferenceCustomization"
- value="plugin_customization.ini">
- </property>
- <property
- name="aboutImage"
- value="icons/alt_about.gif">
- </property>
- <property
- name="aboutText"
- value="Linux Tools Trace Viewer&#x0A;&#x0A;Version: 1.1.0&#x0A;&#x0A;Copyright (c) 2014 Ericsson&#x0A;&#x0A;All rights reserved. This program and the accompanying materials are&#x0A;made available under the terms of the Eclipse Public License v1.0 which&#x0A;accompanies this distribution, and is available at&#x0A;http://www.eclipse.org/legal/epl-v10.html">
- </property>
- <property
- name="windowImages"
- value="icons/alt_window_16.gif,icons/alt_window_32.gif">
- </property>
- </product>
- </extension>
-</plugin>
diff --git a/lttng/org.eclipse.linuxtools.tracing.rcp.branding/plugin_customization.ini b/lttng/org.eclipse.linuxtools.tracing.rcp.branding/plugin_customization.ini
deleted file mode 100644
index 00920e3859..0000000000
--- a/lttng/org.eclipse.linuxtools.tracing.rcp.branding/plugin_customization.ini
+++ /dev/null
@@ -1,4 +0,0 @@
-org.eclipse.e4.ui.css.swt.theme/themeid=org.eclipse.e4.ui.css.theme.e4_default
-org.eclipse.ui/SHOW_PROGRESS_ON_STARTUP = false
-org.eclipse.ui/defaultPerspectiveId=org.eclipse.linuxtools.lttng2.kernel.ui.perspective
-org.eclipse.help/HELP_DATA=help_data.xml \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.tracing.rcp.branding/pom.xml b/lttng/org.eclipse.linuxtools.tracing.rcp.branding/pom.xml
deleted file mode 100644
index b963cec7ce..0000000000
--- a/lttng/org.eclipse.linuxtools.tracing.rcp.branding/pom.xml
+++ /dev/null
@@ -1,19 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
- <modelVersion>4.0.0</modelVersion>
-
- <version>1.1.0-SNAPSHOT</version>
- <artifactId>org.eclipse.linuxtools.tracing.rcp.branding</artifactId>
- <packaging>eclipse-plugin</packaging>
- <name>Linux Tools Trace Viewer Branding plug-in</name>
-
- <groupId>org.eclipse.linuxtools.tracing.rcp.branding</groupId>
-
- <parent>
- <groupId>org.eclipse.linuxtools.lttng</groupId>
- <artifactId>linuxtools-lttng-parent</artifactId>
- <version>3.2.0-SNAPSHOT</version>
- </parent>
-
-</project>
diff --git a/lttng/org.eclipse.linuxtools.tracing.rcp.help/.empty.dtd b/lttng/org.eclipse.linuxtools.tracing.rcp.help/.empty.dtd
deleted file mode 100644
index e69de29bb2..0000000000
--- a/lttng/org.eclipse.linuxtools.tracing.rcp.help/.empty.dtd
+++ /dev/null
diff --git a/lttng/org.eclipse.linuxtools.tracing.rcp.help/.externalToolBuilders/RCP Help Builder.launch b/lttng/org.eclipse.linuxtools.tracing.rcp.help/.externalToolBuilders/RCP Help Builder.launch
deleted file mode 100644
index 58338d6555..0000000000
--- a/lttng/org.eclipse.linuxtools.tracing.rcp.help/.externalToolBuilders/RCP Help Builder.launch
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<launchConfiguration type="org.eclipse.ant.AntBuilderLaunchConfigurationType">
-<stringAttribute key="org.eclipse.ant.ui.ATTR_ANT_CLEAN_TARGETS" value="clean,"/>
-<booleanAttribute key="org.eclipse.ant.ui.ATTR_TARGETS_UPDATED" value="true"/>
-<booleanAttribute key="org.eclipse.ant.ui.DEFAULT_VM_INSTALL" value="false"/>
-<stringAttribute key="org.eclipse.debug.core.ATTR_REFRESH_SCOPE" value="${working_set:&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;&#10;&lt;resources&gt;&#10;&lt;item path=&quot;/org.eclipse.linuxtools.tracing.rcp.help&quot; type=&quot;4&quot;/&gt;&#10;&lt;/resources&gt;}"/>
-<booleanAttribute key="org.eclipse.debug.ui.ATTR_LAUNCH_IN_BACKGROUND" value="false"/>
-<stringAttribute key="org.eclipse.jdt.launching.CLASSPATH_PROVIDER" value="org.eclipse.ant.ui.AntClasspathProvider"/>
-<booleanAttribute key="org.eclipse.jdt.launching.DEFAULT_CLASSPATH" value="true"/>
-<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="org.eclipse.linuxtools.tracing.rcp.help"/>
-<mapAttribute key="org.eclipse.ui.externaltools.ATTR_ANT_PROPERTIES">
-<mapEntry key="eclipse.home" value="${eclipse_home}"/>
-</mapAttribute>
-<stringAttribute key="org.eclipse.ui.externaltools.ATTR_LOCATION" value="${workspace_loc:/org.eclipse.linuxtools.tracing.rcp.help/build.xml}"/>
-<stringAttribute key="org.eclipse.ui.externaltools.ATTR_RUN_BUILD_KINDS" value="incremental,clean"/>
-<booleanAttribute key="org.eclipse.ui.externaltools.ATTR_TRIGGERS_CONFIGURED" value="true"/>
-</launchConfiguration>
diff --git a/lttng/org.eclipse.linuxtools.tracing.rcp.help/.project b/lttng/org.eclipse.linuxtools.tracing.rcp.help/.project
deleted file mode 100644
index 420a0cc602..0000000000
--- a/lttng/org.eclipse.linuxtools.tracing.rcp.help/.project
+++ /dev/null
@@ -1,36 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>org.eclipse.linuxtools.tracing.rcp.help</name>
- <comment></comment>
- <projects>
- </projects>
- <buildSpec>
- <buildCommand>
- <name>org.eclipse.ui.externaltools.ExternalToolBuilder</name>
- <triggers>clean,full,incremental,</triggers>
- <arguments>
- <dictionary>
- <key>LaunchConfigHandle</key>
- <value>&lt;project&gt;/.externalToolBuilders/RCP Help Builder.launch</value>
- </dictionary>
- <dictionary>
- <key>incclean</key>
- <value>true</value>
- </dictionary>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.ManifestBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.SchemaBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>org.eclipse.pde.PluginNature</nature>
- </natures>
-</projectDescription>
diff --git a/lttng/org.eclipse.linuxtools.tracing.rcp.help/.settings/org.eclipse.core.resources.prefs b/lttng/org.eclipse.linuxtools.tracing.rcp.help/.settings/org.eclipse.core.resources.prefs
deleted file mode 100644
index 99f26c0203..0000000000
--- a/lttng/org.eclipse.linuxtools.tracing.rcp.help/.settings/org.eclipse.core.resources.prefs
+++ /dev/null
@@ -1,2 +0,0 @@
-eclipse.preferences.version=1
-encoding/<project>=UTF-8
diff --git a/lttng/org.eclipse.linuxtools.tracing.rcp.help/.settings/org.eclipse.core.runtime.prefs b/lttng/org.eclipse.linuxtools.tracing.rcp.help/.settings/org.eclipse.core.runtime.prefs
deleted file mode 100644
index 5a0ad22d2a..0000000000
--- a/lttng/org.eclipse.linuxtools.tracing.rcp.help/.settings/org.eclipse.core.runtime.prefs
+++ /dev/null
@@ -1,2 +0,0 @@
-eclipse.preferences.version=1
-line.separator=\n
diff --git a/lttng/org.eclipse.linuxtools.tracing.rcp.help/META-INF/MANIFEST.MF b/lttng/org.eclipse.linuxtools.tracing.rcp.help/META-INF/MANIFEST.MF
deleted file mode 100644
index fd9053a3f9..0000000000
--- a/lttng/org.eclipse.linuxtools.tracing.rcp.help/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,8 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %Bundle-Name
-Bundle-Vendor: %Bundle-Vendor
-Bundle-Version: 1.1.0.qualifier
-Bundle-Localization: plugin
-Bundle-SymbolicName: org.eclipse.linuxtools.tracing.rcp.help;singleton:=true
-Require-Bundle: org.eclipse.help
diff --git a/lttng/org.eclipse.linuxtools.tracing.rcp.help/README b/lttng/org.eclipse.linuxtools.tracing.rcp.help/README
deleted file mode 100644
index 1729158783..0000000000
--- a/lttng/org.eclipse.linuxtools.tracing.rcp.help/README
+++ /dev/null
@@ -1,19 +0,0 @@
-This describes how to build the documentation found in the o.e.l.tracing.rcp.help
-plugin.
-
-
-Your Eclipse environment first needs to have the "Mylyn Wikitext" plugin
-installed. It can be found in the default Eclipse repository, under
-"Collaboration".
-
-Once that is installed, you should be able to use the manual Eclipse builder to
-generate the doc : select the tracing.rcp.help plugin and choose, in the top-menu,
-"Project -> Build Project".
-
-It uses the build.xml Ant script, but it's recommended to run it from within
-Eclipse, since the builder will pass some environment variables that the script
-needs.
-
-You might get a warning from build.properties because of a missing file. This
-file gets generated with the rest of the doc, so once you have run these steps
-(and refreshed the project if needed), the warning should disappear.
diff --git a/lttng/org.eclipse.linuxtools.tracing.rcp.help/about.html b/lttng/org.eclipse.linuxtools.tracing.rcp.help/about.html
deleted file mode 100644
index c258ef55d8..0000000000
--- a/lttng/org.eclipse.linuxtools.tracing.rcp.help/about.html
+++ /dev/null
@@ -1,28 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
-<title>About</title>
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
-
-<p>June 5, 2006</p>
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;). Unless otherwise
-indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is available
-at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is
-being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content. Check the Redistributor's license that was
-provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at <a href="http://www.eclipse.org/">http://www.eclipse.org</a>.</p>
-
-</body>
-</html> \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.tracing.rcp.help/book.css b/lttng/org.eclipse.linuxtools.tracing.rcp.help/book.css
deleted file mode 100644
index 797473964a..0000000000
--- a/lttng/org.eclipse.linuxtools.tracing.rcp.help/book.css
+++ /dev/null
@@ -1,59 +0,0 @@
-/* following font face declarations need to be removed for DBCS */
-
-
-body, h1, h2, h3, h4, p, table, td, caption, th, ul, ol, dl, li, dd, dt {font-family: Arial, sans-serif; color: #000000}
-pre { font-family: Courier, monospace}
-
-/* end font face declarations */
-
-/* following font size declarations should be OK for DBCS */
-body, h1, h2, h3, h4, p, table, td, caption, th, ul, ol, dl, li, dd, dt {font-size: 12pt; }
-pre { font-size: 12pt}
-
-/* end font size declarations */
-
-body { background: #FFFFFF}
-h1 { font-size: 18pt; margin-top: 5; margin-bottom: 1 }
-h2 { font-size: 14pt; margin-top: 25; margin-bottom: 3 }
-h3 { font-size: 11pt; margin-top: 20; margin-bottom: 3 }
-h4 { font-size: 10pt; margin-top: 20; margin-bottom: 3; font-style: italic }
-h5 { font size: 13.5pt; }
-p { font-size: 12pt; }
-pre { margin-left: 6; font-size: 9pt }
-
-a:link { color: #006699 }
-a:visited { color: #996699 }
-a:hover { color: #006699 }
-
-ul { margin-top: 0; margin-bottom: 10 }
-li { margin-top: 0; margin-bottom: 0 }
-li p { margin-top: 0; margin-bottom: 0 }
-ol { margin-top: 0; margin-bottom: 10 }
-dl { margin-top: 0; margin-bottom: 10 }
-dt { margin-top: 0; margin-bottom: 0; font-weight: bold }
-dd { margin-top: 0; margin-bottom: 0 }
-strong { font-weight: bold}
-em { font-style: italic}
-var { font-style: italic}
-div.revision { border-left-style: solid; border-left-width: thin;
- border-left-color: #7B68EE; padding-left:5 }
-th { font-weight: bold }
-.hidden {
- display: none;
-}
-
-/* Mike Behm's addition to the style sheet */
-.userinput { font-family: monospace; }
-.guitab, .important, .guibutton, .selectblue, .guimenu, .guilabel,
-.notetitle {
- color: #000000;
- font-family: helvetica, arial, sans-serif;
- font-weight: bold;
- }
-div.linux {display:none;}
-.firsterm {font-style:italic;}
-
-.typewriter {font-family:monospace;}
-.bold {font-weight:600;}
-.linethrough {text-decoration: line-through;}
-.underline {text-decoration: underline;}
diff --git a/lttng/org.eclipse.linuxtools.tracing.rcp.help/build.properties b/lttng/org.eclipse.linuxtools.tracing.rcp.help/build.properties
deleted file mode 100644
index b5da501cb9..0000000000
--- a/lttng/org.eclipse.linuxtools.tracing.rcp.help/build.properties
+++ /dev/null
@@ -1,21 +0,0 @@
-###############################################################################
-# Copyright (c) 2013 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:
-# Ericsson - Initial API and implementation
-###############################################################################
-
-bin.includes = plugin.xml,\
- META-INF/,\
- about.html,\
- plugin.properties,\
- book.css,\
- doc/
-jars.extra.classpath = platform:/plugin/org.eclipse.mylyn.wikitext.core,\
- platform:/plugin/org.eclipse.mylyn.wikitext.mediawiki.core
-src.includes = about.html
diff --git a/lttng/org.eclipse.linuxtools.tracing.rcp.help/build.xml b/lttng/org.eclipse.linuxtools.tracing.rcp.help/build.xml
deleted file mode 100644
index 9f4b956867..0000000000
--- a/lttng/org.eclipse.linuxtools.tracing.rcp.help/build.xml
+++ /dev/null
@@ -1,90 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project name="org.eclipse.linuxtools.tracing.rcp.help" default="build">
- <description>
- Generate Eclipse help content for the Linux Tools Trace Viewer user guide
- </description>
-
- <!-- Set correct values -->
- <property name="help.doc.url.base" value="http://wiki.eclipse.org" />
- <property name="ug.path" value="Linux_Tools_Project/Trace_Viewer/User_Guide" />
- <property name="ug.title" value="Trace Viewer User Guide" />
-
- <path id="wikitext.tasks.classpath">
- <!-- Search in the local Eclipse installation directory for the Wikitext plugin -->
- <fileset dir="${eclipse.home}/plugins" erroronmissingdir="false">
- <include name="org.eclipse.mylyn.wikitext.*core*.jar" />
- <include name="com.google.guava_*.jar" />
- </fileset>
-
- <!-- For Maven builds: use the compile_classpath -->
- <pathelement path="${compile_classpath}" />
- </path>
-
- <taskdef classpathref="wikitext.tasks.classpath" resource="org/eclipse/mylyn/internal/wikitext/mediawiki/core/tasks/tasks.properties" />
- <taskdef classpathref="wikitext.tasks.classpath" resource="org/eclipse/mylyn/wikitext/core/util/anttask/tasks.properties" />
- <!-- Different location in more recent versions of Mylyn (Luna ?) -->
- <taskdef classpathref="wikitext.tasks.classpath" resource="org/eclipse/mylyn/wikitext/core/ant/tasks.properties" />
-
- <target name="build" description="Generate Eclipse help content for the Linux Tools Trace Viewer User Guide">
- <wikitext-to-eclipse-help markupLanguage="MediaWiki"
- validate="true"
- failonvalidationerror="true"
- overwrite="true"
- multipleOutputFiles="true"
- navigationimages="true"
- title="${ug.title}"
- formatoutput="true"
- helpPrefix="doc">
- <fileset dir="./doc">
- <include name="User-Guide.mediawiki" />
- </fileset>
- <stylesheet url="book.css" />
- </wikitext-to-eclipse-help>
- <antcall target="test" />
- </target>
-
- <target name="test" description="Verify that all of the HTML files are well-formed XML">
- <!--
- Don't bother with DTD validation: we only care if the files are well-formed.
- We therefore provide an empty DTD
- -->
- <xmlvalidate lenient="true">
- <fileset dir="doc">
- <include name="**/*.html" />
- </fileset>
- <dtd publicid="-//W3C//DTD XHTML 1.0 Transitional//EN" location=".empty.dtd" />
- </xmlvalidate>
- </target>
-
-
- <!-- If you need a proxy for the "download" target, set it here -->
- <!--
- <setproxy proxyhost="host" proxyport="port"/>
- -->
-
- <target name="download" description="Download the current contents of the LTTng User Guide from the Eclipse wiki">
- <mediawiki-to-eclipse-help wikiBaseUrl="${help.doc.url.base}" title="${ug.title}" formatoutput="true" dest="." templateExcludes="*eclipseproject*">
- <path name="${ug.path}" title="${ug.title}" generateToc="false" />
- <stylesheet url="book.css" />
- <pageAppendum>
-= Updating This Document =
-
-This document is maintained in a collaborative wiki. If you wish to update or modify this document please visit
-http://wiki.eclipse.org/Linux_Tools_Project/LTTng2/User_Guide.
- </pageAppendum>
- </mediawiki-to-eclipse-help>
- </target>
-
- <target name ="clean" description="Delete all generated files">
- <delete failonerror="false" includeemptydirs="true">
- <!-- Files under doc/ (generated locally) -->
- <fileset dir="doc" includes="**/*.html" />
- <fileset dir="doc" includes="**/*.xml" />
-
- <!-- Files downloaded from the Eclipse wiki -->
- <fileset dir="Linux_Tools_Project" />
- <fileset file="toc.xml" />
- </delete>
- </target>
-
-</project>
diff --git a/lttng/org.eclipse.linuxtools.tracing.rcp.help/doc/.gitignore b/lttng/org.eclipse.linuxtools.tracing.rcp.help/doc/.gitignore
deleted file mode 100644
index 28d48547c4..0000000000
--- a/lttng/org.eclipse.linuxtools.tracing.rcp.help/doc/.gitignore
+++ /dev/null
@@ -1,2 +0,0 @@
-*.html
-*.xml
diff --git a/lttng/org.eclipse.linuxtools.tracing.rcp.help/doc/User-Guide.mediawiki b/lttng/org.eclipse.linuxtools.tracing.rcp.help/doc/User-Guide.mediawiki
deleted file mode 100644
index 35dcb41bf7..0000000000
--- a/lttng/org.eclipse.linuxtools.tracing.rcp.help/doc/User-Guide.mediawiki
+++ /dev/null
@@ -1,41 +0,0 @@
-= Overview =
-The Linux Tools Trace Viewer is a stand-alone application based on Eclipse's
-Rich Client Platform (RCP). The purpose of this is to provide a lightweight
-application to view and analyze traces. It includes all TMF (Tracing and
-Monitoring Framework) features, as well as all features from the LTTng (Linux
-Tracing Toolkit next generation) Eclipse integration, which are provided by the
-Linux Tools Project.
-
-= Getting Started =
-To start the Linux Tools Trace Viewer, go to the directory where the Trace
-Viewer is installed and then run the application named '''traceViewer'''.
-During startup, the Trace Viewer will create, if necessary, an Eclipse workspace
-in the user's home directory with the name ''.traceviewer''. It also creates, if
-needed, a default tracing project called ''Tracing''.
-
-Now the application can be used as described in the User Guide for Linux Tools
-LTTng integration (see section [[#References | References]]).
-
-= Opening a Trace =
-To open a trace, click on the '''File''' menu and select '''Open Trace...'''.
-A new dialog will show for selecting a trace to open. Select a trace file
-and then click on '''OK'''. Note that for traces that are directories
-(such as Common Trace Format (CTF) traces) any file in the trace directory can
-be selected to open the trace. Now, the trace viewer's auto detection algorithm
-will validate the trace against all known trace types. If multiple trace types
-are valid, a trace type is chosen based on a confidence criteria. The
-validation process and the computation of the confidence level are trace type
-specific. After successful validation the trace will be opened with the
-detected trace type.
-
-Alternatively the user can launch the trace viewer with the command-line
-argument '''--open <trace-path>'''. The trace will then automatically open
-using the same algorithm than described above.
-
-In both of the above cases, the trace will be linked to the default project.
-
-= References =
-
-* [http://www.eclipse.org/linuxtools/projectPages/lttng/ Linux Tools - LTTng integration]
-* [http://www.lttng.org/ LTTng project]
-
diff --git a/lttng/org.eclipse.linuxtools.tracing.rcp.help/doc/images/home.gif b/lttng/org.eclipse.linuxtools.tracing.rcp.help/doc/images/home.gif
deleted file mode 100644
index 4472e8ce5b..0000000000
--- a/lttng/org.eclipse.linuxtools.tracing.rcp.help/doc/images/home.gif
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.tracing.rcp.help/doc/images/next.gif b/lttng/org.eclipse.linuxtools.tracing.rcp.help/doc/images/next.gif
deleted file mode 100644
index e2f8c3e1fe..0000000000
--- a/lttng/org.eclipse.linuxtools.tracing.rcp.help/doc/images/next.gif
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.tracing.rcp.help/doc/images/prev.gif b/lttng/org.eclipse.linuxtools.tracing.rcp.help/doc/images/prev.gif
deleted file mode 100644
index 4fb4150103..0000000000
--- a/lttng/org.eclipse.linuxtools.tracing.rcp.help/doc/images/prev.gif
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.tracing.rcp.help/plugin.properties b/lttng/org.eclipse.linuxtools.tracing.rcp.help/plugin.properties
deleted file mode 100644
index 252d9b3171..0000000000
--- a/lttng/org.eclipse.linuxtools.tracing.rcp.help/plugin.properties
+++ /dev/null
@@ -1,15 +0,0 @@
-###############################################################################
-# Copyright (c) 2013 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:
-# Bernd Hufmann - Initial API and implementation
-###############################################################################
-
-#Properties file for org.eclipse.linuxtools.lttng.help
-Bundle-Vendor = Eclipse Linux Tools
-Bundle-Name = Linux Tools Trace Viewer Help Plug-in
diff --git a/lttng/org.eclipse.linuxtools.tracing.rcp.help/plugin.xml b/lttng/org.eclipse.linuxtools.tracing.rcp.help/plugin.xml
deleted file mode 100644
index 8236399816..0000000000
--- a/lttng/org.eclipse.linuxtools.tracing.rcp.help/plugin.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin>
-<!-- This part should be in a documentation plugin -->
-<!-- Configure the help contribution for this plugin -->
- <extension point="org.eclipse.help.toc">
- <toc
- file="doc/User-Guide-toc.xml"
- primary="true" />
- </extension>
-</plugin>
diff --git a/lttng/org.eclipse.linuxtools.tracing.rcp.help/pom.xml b/lttng/org.eclipse.linuxtools.tracing.rcp.help/pom.xml
deleted file mode 100644
index 81ce361438..0000000000
--- a/lttng/org.eclipse.linuxtools.tracing.rcp.help/pom.xml
+++ /dev/null
@@ -1,86 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Copyright (C) 2011, Red Hat, Inc.
-
- 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
--->
-<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
- <modelVersion>4.0.0</modelVersion>
-
- <parent>
- <artifactId>linuxtools-lttng-parent</artifactId>
- <groupId>org.eclipse.linuxtools.lttng</groupId>
- <version>3.2.0-SNAPSHOT</version>
- </parent>
-
- <artifactId>org.eclipse.linuxtools.tracing.rcp.help</artifactId>
- <version>1.1.0-SNAPSHOT</version>
- <packaging>eclipse-plugin</packaging>
-
- <name>Linux Tools Trace Viewer Help Plug-in</name>
-
- <build>
- <plugins>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-antrun-plugin</artifactId>
- <executions>
- <execution>
- <id>generate-documentation</id>
- <phase>generate-sources</phase>
- <configuration>
- <echo>Generating Trace Viewer Help Files</echo>
- <target>
- <property name="compile_classpath" refid="maven.compile.classpath" />
- <ant target="build" inheritRefs="true" antfile="build.xml" />
- </target>
- </configuration>
- <goals>
- <goal>run</goal>
- </goals>
- </execution>
- <execution>
- <id>clean-documentation</id>
- <phase>clean</phase>
- <configuration>
- <echo>Cleaning up generated Trace Viewer Help Files</echo>
- <target>
- <ant target="clean" antfile="build.xml" />
- </target>
- </configuration>
- <goals>
- <goal>run</goal>
- </goals>
- </execution>
- </executions>
-
- <dependencies>
- <dependency>
- <groupId>org.apache.ant</groupId>
- <artifactId>ant</artifactId>
- <version>1.8.1</version>
- </dependency>
-
- <dependency>
- <groupId>org.apache.ant</groupId>
- <artifactId>ant-launcher</artifactId>
- <version>1.8.1</version>
- </dependency>
-
- <dependency>
- <groupId>org.apache.ant</groupId>
- <artifactId>ant-nodeps</artifactId>
- <version>1.8.1</version>
- </dependency>
-
- </dependencies>
- </plugin>
- </plugins>
- </build>
-
- <groupId>org.eclipse.linuxtools.tracing.rcp</groupId>
-</project>
diff --git a/lttng/org.eclipse.linuxtools.tracing.rcp.product/.project b/lttng/org.eclipse.linuxtools.tracing.rcp.product/.project
deleted file mode 100644
index e709a5114f..0000000000
--- a/lttng/org.eclipse.linuxtools.tracing.rcp.product/.project
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>org.eclipse.linuxtools.tracing.rcp.product</name>
- <comment></comment>
- <projects>
- </projects>
- <buildSpec>
- </buildSpec>
- <natures>
- </natures>
-</projectDescription>
diff --git a/lttng/org.eclipse.linuxtools.tracing.rcp.product/about.html b/lttng/org.eclipse.linuxtools.tracing.rcp.product/about.html
deleted file mode 100644
index c258ef55d8..0000000000
--- a/lttng/org.eclipse.linuxtools.tracing.rcp.product/about.html
+++ /dev/null
@@ -1,28 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
-<title>About</title>
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
-
-<p>June 5, 2006</p>
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;). Unless otherwise
-indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is available
-at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is
-being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content. Check the Redistributor's license that was
-provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at <a href="http://www.eclipse.org/">http://www.eclipse.org</a>.</p>
-
-</body>
-</html> \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.tracing.rcp.product/epl-v10.html b/lttng/org.eclipse.linuxtools.tracing.rcp.product/epl-v10.html
deleted file mode 100644
index 9321f4082e..0000000000
--- a/lttng/org.eclipse.linuxtools.tracing.rcp.product/epl-v10.html
+++ /dev/null
@@ -1,256 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head>
-
-
-
-
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>Eclipse Public License - Version 1.0</title>
-
-<style type="text/css">
- body {
- size: 8.5in 11.0in;
- margin: 0.25in 0.5in 0.25in 0.5in;
- tab-interval: 0.5in;
- }
- p {
- margin-left: auto;
- margin-top: 0.5em;
- margin-bottom: 0.5em;
- }
- p.list {
- margin-left: 0.5in;
- margin-top: 0.05em;
- margin-bottom: 0.05em;
- }
- </style></head><body lang="EN-US">
-
-<p align="center"><b>Eclipse Public License - v 1.0</b></p>
-
-<p>THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE
-PUBLIC LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR
-DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS
-AGREEMENT.</p>
-
-<p><b>1. DEFINITIONS</b></p>
-
-<p>"Contribution" means:</p>
-
-<p class="list">a) in the case of the initial Contributor, the initial
-code and documentation distributed under this Agreement, and</p>
-<p class="list">b) in the case of each subsequent Contributor:</p>
-<p class="list">i) changes to the Program, and</p>
-<p class="list">ii) additions to the Program;</p>
-<p class="list">where such changes and/or additions to the Program
-originate from and are distributed by that particular Contributor. A
-Contribution 'originates' from a Contributor if it was added to the
-Program by such Contributor itself or anyone acting on such
-Contributor's behalf. Contributions do not include additions to the
-Program which: (i) are separate modules of software distributed in
-conjunction with the Program under their own license agreement, and (ii)
-are not derivative works of the Program.</p>
-
-<p>"Contributor" means any person or entity that distributes
-the Program.</p>
-
-<p>"Licensed Patents" mean patent claims licensable by a
-Contributor which are necessarily infringed by the use or sale of its
-Contribution alone or when combined with the Program.</p>
-
-<p>"Program" means the Contributions distributed in accordance
-with this Agreement.</p>
-
-<p>"Recipient" means anyone who receives the Program under
-this Agreement, including all Contributors.</p>
-
-<p><b>2. GRANT OF RIGHTS</b></p>
-
-<p class="list">a) Subject to the terms of this Agreement, each
-Contributor hereby grants Recipient a non-exclusive, worldwide,
-royalty-free copyright license to reproduce, prepare derivative works
-of, publicly display, publicly perform, distribute and sublicense the
-Contribution of such Contributor, if any, and such derivative works, in
-source code and object code form.</p>
-
-<p class="list">b) Subject to the terms of this Agreement, each
-Contributor hereby grants Recipient a non-exclusive, worldwide,
-royalty-free patent license under Licensed Patents to make, use, sell,
-offer to sell, import and otherwise transfer the Contribution of such
-Contributor, if any, in source code and object code form. This patent
-license shall apply to the combination of the Contribution and the
-Program if, at the time the Contribution is added by the Contributor,
-such addition of the Contribution causes such combination to be covered
-by the Licensed Patents. The patent license shall not apply to any other
-combinations which include the Contribution. No hardware per se is
-licensed hereunder.</p>
-
-<p class="list">c) Recipient understands that although each Contributor
-grants the licenses to its Contributions set forth herein, no assurances
-are provided by any Contributor that the Program does not infringe the
-patent or other intellectual property rights of any other entity. Each
-Contributor disclaims any liability to Recipient for claims brought by
-any other entity based on infringement of intellectual property rights
-or otherwise. As a condition to exercising the rights and licenses
-granted hereunder, each Recipient hereby assumes sole responsibility to
-secure any other intellectual property rights needed, if any. For
-example, if a third party patent license is required to allow Recipient
-to distribute the Program, it is Recipient's responsibility to acquire
-that license before distributing the Program.</p>
-
-<p class="list">d) Each Contributor represents that to its knowledge it
-has sufficient copyright rights in its Contribution, if any, to grant
-the copyright license set forth in this Agreement.</p>
-
-<p><b>3. REQUIREMENTS</b></p>
-
-<p>A Contributor may choose to distribute the Program in object code
-form under its own license agreement, provided that:</p>
-
-<p class="list">a) it complies with the terms and conditions of this
-Agreement; and</p>
-
-<p class="list">b) its license agreement:</p>
-
-<p class="list">i) effectively disclaims on behalf of all Contributors
-all warranties and conditions, express and implied, including warranties
-or conditions of title and non-infringement, and implied warranties or
-conditions of merchantability and fitness for a particular purpose;</p>
-
-<p class="list">ii) effectively excludes on behalf of all Contributors
-all liability for damages, including direct, indirect, special,
-incidental and consequential damages, such as lost profits;</p>
-
-<p class="list">iii) states that any provisions which differ from this
-Agreement are offered by that Contributor alone and not by any other
-party; and</p>
-
-<p class="list">iv) states that source code for the Program is available
-from such Contributor, and informs licensees how to obtain it in a
-reasonable manner on or through a medium customarily used for software
-exchange.</p>
-
-<p>When the Program is made available in source code form:</p>
-
-<p class="list">a) it must be made available under this Agreement; and</p>
-
-<p class="list">b) a copy of this Agreement must be included with each
-copy of the Program.</p>
-
-<p>Contributors may not remove or alter any copyright notices contained
-within the Program.</p>
-
-<p>Each Contributor must identify itself as the originator of its
-Contribution, if any, in a manner that reasonably allows subsequent
-Recipients to identify the originator of the Contribution.</p>
-
-<p><b>4. COMMERCIAL DISTRIBUTION</b></p>
-
-<p>Commercial distributors of software may accept certain
-responsibilities with respect to end users, business partners and the
-like. While this license is intended to facilitate the commercial use of
-the Program, the Contributor who includes the Program in a commercial
-product offering should do so in a manner which does not create
-potential liability for other Contributors. Therefore, if a Contributor
-includes the Program in a commercial product offering, such Contributor
-("Commercial Contributor") hereby agrees to defend and
-indemnify every other Contributor ("Indemnified Contributor")
-against any losses, damages and costs (collectively "Losses")
-arising from claims, lawsuits and other legal actions brought by a third
-party against the Indemnified Contributor to the extent caused by the
-acts or omissions of such Commercial Contributor in connection with its
-distribution of the Program in a commercial product offering. The
-obligations in this section do not apply to any claims or Losses
-relating to any actual or alleged intellectual property infringement. In
-order to qualify, an Indemnified Contributor must: a) promptly notify
-the Commercial Contributor in writing of such claim, and b) allow the
-Commercial Contributor to control, and cooperate with the Commercial
-Contributor in, the defense and any related settlement negotiations. The
-Indemnified Contributor may participate in any such claim at its own
-expense.</p>
-
-<p>For example, a Contributor might include the Program in a commercial
-product offering, Product X. That Contributor is then a Commercial
-Contributor. If that Commercial Contributor then makes performance
-claims, or offers warranties related to Product X, those performance
-claims and warranties are such Commercial Contributor's responsibility
-alone. Under this section, the Commercial Contributor would have to
-defend claims against the other Contributors related to those
-performance claims and warranties, and if a court requires any other
-Contributor to pay any damages as a result, the Commercial Contributor
-must pay those damages.</p>
-
-<p><b>5. NO WARRANTY</b></p>
-
-<p>EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS
-PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS
-OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION,
-ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY
-OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely
-responsible for determining the appropriateness of using and
-distributing the Program and assumes all risks associated with its
-exercise of rights under this Agreement , including but not limited to
-the risks and costs of program errors, compliance with applicable laws,
-damage to or loss of data, programs or equipment, and unavailability or
-interruption of operations.</p>
-
-<p><b>6. DISCLAIMER OF LIABILITY</b></p>
-
-<p>EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT
-NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT,
-INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING
-WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY OF
-LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
-NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR
-DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED
-HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.</p>
-
-<p><b>7. GENERAL</b></p>
-
-<p>If any provision of this Agreement is invalid or unenforceable under
-applicable law, it shall not affect the validity or enforceability of
-the remainder of the terms of this Agreement, and without further action
-by the parties hereto, such provision shall be reformed to the minimum
-extent necessary to make such provision valid and enforceable.</p>
-
-<p>If Recipient institutes patent litigation against any entity
-(including a cross-claim or counterclaim in a lawsuit) alleging that the
-Program itself (excluding combinations of the Program with other
-software or hardware) infringes such Recipient's patent(s), then such
-Recipient's rights granted under Section 2(b) shall terminate as of the
-date such litigation is filed.</p>
-
-<p>All Recipient's rights under this Agreement shall terminate if it
-fails to comply with any of the material terms or conditions of this
-Agreement and does not cure such failure in a reasonable period of time
-after becoming aware of such noncompliance. If all Recipient's rights
-under this Agreement terminate, Recipient agrees to cease use and
-distribution of the Program as soon as reasonably practicable. However,
-Recipient's obligations under this Agreement and any licenses granted by
-Recipient relating to the Program shall continue and survive.</p>
-
-<p>Everyone is permitted to copy and distribute copies of this
-Agreement, but in order to avoid inconsistency the Agreement is
-copyrighted and may only be modified in the following manner. The
-Agreement Steward reserves the right to publish new versions (including
-revisions) of this Agreement from time to time. No one other than the
-Agreement Steward has the right to modify this Agreement. The Eclipse
-Foundation is the initial Agreement Steward. The Eclipse Foundation may
-assign the responsibility to serve as the Agreement Steward to a
-suitable separate entity. Each new version of the Agreement will be
-given a distinguishing version number. The Program (including
-Contributions) may always be distributed subject to the version of the
-Agreement under which it was received. In addition, after a new version
-of the Agreement is published, Contributor may elect to distribute the
-Program (including its Contributions) under the new version. Except as
-expressly stated in Sections 2(a) and 2(b) above, Recipient receives no
-rights or licenses to the intellectual property of any Contributor under
-this Agreement, whether expressly, by implication, estoppel or
-otherwise. All rights in the Program not expressly granted under this
-Agreement are reserved.</p>
-
-<p>This Agreement is governed by the laws of the State of New York and
-the intellectual property laws of the United States of America. No party
-to this Agreement will bring a legal action under this Agreement more
-than one year after the cause of action arose. Each party waives its
-rights to a jury trial in any resulting litigation.</p>
-
-</body></html> \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.tracing.rcp.product/license.html b/lttng/org.eclipse.linuxtools.tracing.rcp.product/license.html
deleted file mode 100644
index 6e579a585b..0000000000
--- a/lttng/org.eclipse.linuxtools.tracing.rcp.product/license.html
+++ /dev/null
@@ -1,164 +0,0 @@
-<!--?xml version="1.0" encoding="ISO-8859-1" ?-->
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<title>Eclipse Foundation Software User Agreement</title>
-</head>
-
-<body lang="EN-US">
-<h2>Eclipse Foundation Software User Agreement</h2>
-<p>February 1, 2011</p>
-
-<h3>Usage Of Content</h3>
-
-<p>THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR OTHER MATERIALS FOR OPEN SOURCE PROJECTS
- (COLLECTIVELY "CONTENT"). USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS AGREEMENT AND/OR THE TERMS AND
- CONDITIONS OF LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU AGREE THAT YOUR USE
- OF THE CONTENT IS GOVERNED BY THIS AGREEMENT AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR
- NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND
- CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW, THEN YOU MAY NOT USE THE CONTENT.</p>
-
-<h3>Applicable Licenses</h3>
-
-<p>Unless otherwise indicated, all Content made available by the Eclipse
- Foundation is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0
- ("EPL"). A copy of the EPL is provided with this Content and is also
- available at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
- For purposes of the EPL, "Program" will mean the Content.</p>
-
-<p>Content includes, but is not limited to, source code, object code,
-documentation and other files maintained in the Eclipse Foundation
-source code
- repository ("Repository") in software modules ("Modules") and made
-available as downloadable archives ("Downloads").</p>
-
-<ul>
- <li>Content may be structured and packaged into modules to
-facilitate delivering, extending, and upgrading the Content. Typical
-modules may include plug-ins ("Plug-ins"), plug-in fragments
-("Fragments"), and features ("Features").</li>
- <li>Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java&#8482; ARchive) in a directory named "plugins".</li>
- <li>A Feature is a bundle of one or more Plug-ins and/or
-Fragments and associated material. Each Feature may be packaged as a
-sub-directory in a directory named "features". Within a Feature, files
-named "feature.xml" may contain a list of the names and version numbers
-of the Plug-ins
- and/or Fragments associated with that Feature.</li>
- <li>Features may also include other Features ("Included
-Features"). Within a Feature, files named "feature.xml" may contain a
-list of the names and version numbers of Included Features.</li>
-</ul>
-
-<p>The terms and conditions governing Plug-ins and Fragments should be
-contained in files named "about.html" ("Abouts"). The terms and
-conditions governing Features and
-Included Features should be contained in files named "license.html"
-("Feature Licenses"). Abouts and Feature Licenses may be located in any
- directory of a Download or Module
-including, but not limited to the following locations:</p>
-
-<ul>
- <li>The top-level (root) directory</li>
- <li>Plug-in and Fragment directories</li>
- <li>Inside Plug-ins and Fragments packaged as JARs</li>
- <li>Sub-directories of the directory named "src" of certain Plug-ins</li>
- <li>Feature directories</li>
-</ul>
-
-<p>Note: if a Feature made available by the Eclipse Foundation is
-installed using the Provisioning Technology (as defined below), you must
- agree to a license ("Feature Update License") during the
-installation process. If the Feature contains Included Features, the
-Feature Update License should either provide you with the terms and
-conditions governing the Included Features or
-inform you where you can locate them. Feature Update Licenses may be
-found in the "license" property of files named "feature.properties"
-found within a Feature.
-Such Abouts, Feature Licenses, and Feature Update Licenses contain the
-terms and conditions (or references to such terms and conditions) that
-govern your use of the associated Content in
-that directory.</p>
-
-<p>THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER
-TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.
- SOME OF THESE
-OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):</p>
-
-<ul>
- <li>Eclipse Distribution License Version 1.0 (available at <a href="http://www.eclipse.org/licenses/edl-v10.html">http://www.eclipse.org/licenses/edl-v1.0.html</a>)</li>
- <li>Common Public License Version 1.0 (available at <a href="http://www.eclipse.org/legal/cpl-v10.html">http://www.eclipse.org/legal/cpl-v10.html</a>)</li>
- <li>Apache Software License 1.1 (available at <a href="http://www.apache.org/licenses/LICENSE">http://www.apache.org/licenses/LICENSE</a>)</li>
- <li>Apache Software License 2.0 (available at <a href="http://www.apache.org/licenses/LICENSE-2.0">http://www.apache.org/licenses/LICENSE-2.0</a>)</li>
- <li>Metro Link Public License 1.00 (available at <a href="http://www.opengroup.org/openmotif/supporters/metrolink/license.html">http://www.opengroup.org/openmotif/supporters/metrolink/license.html</a>)</li>
- <li>Mozilla Public License Version 1.1 (available at <a href="http://www.mozilla.org/MPL/MPL-1.1.html">http://www.mozilla.org/MPL/MPL-1.1.html</a>)</li>
-</ul>
-
-<p>IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND
-CONDITIONS PRIOR TO USE OF THE CONTENT. If no About, Feature License,
-or Feature Update License is provided, please
-contact the Eclipse Foundation to determine what terms and conditions
-govern that particular Content.</p>
-
-
-<h3>Use of Provisioning Technology</h3>
-
-<p>The Eclipse Foundation makes available provisioning software,
-examples of which include, but are not limited to, p2 and the Eclipse
- Update Manager ("Provisioning Technology") for the purpose of
-allowing users to install software, documentation, information and/or
- other materials (collectively "Installable Software"). This
-capability is provided with the intent of allowing such users to
- install, extend and update Eclipse-based products. Information about
-packaging Installable Software is available at <a href="http://eclipse.org/equinox/p2/repository_packaging.html">http://eclipse.org/equinox/p2/repository_packaging.html</a>
- ("Specification").</p>
-
-<p>You may use Provisioning Technology to allow other parties to install
- Installable Software. You shall be responsible for enabling the
- applicable license agreements relating to the Installable Software to
- be presented to, and accepted by, the users of the Provisioning
-Technology
- in accordance with the Specification. By using Provisioning
-Technology in such a manner and making it available in accordance with
-the
- Specification, you further acknowledge your agreement to, and the
-acquisition of all necessary rights to permit the following:</p>
-
-<ol>
- <li>A series of actions may occur ("Provisioning Process") in
-which a user may execute the Provisioning Technology
- on a machine ("Target Machine") with the intent of installing,
-extending or updating the functionality of an Eclipse-based
- product.</li>
- <li>During the Provisioning Process, the Provisioning Technology
-may cause third party Installable Software or a portion thereof to be
- accessed and copied to the Target Machine.</li>
- <li>Pursuant to the Specification, you will provide to the user
-the terms and conditions that govern the use of the Installable
- Software ("Installable Software Agreement") and such Installable
-Software Agreement shall be accessed from the Target
- Machine in accordance with the Specification. Such Installable
-Software Agreement must inform the user of the terms and conditions that
- govern
- the Installable Software and must solicit acceptance by the end
-user in the manner prescribed in such Installable Software Agreement.
-Upon such
- indication of agreement by the user, the provisioning Technology
-will complete installation of the Installable Software.</li>
-</ol>
-
-<h3>Cryptography</h3>
-
-<p>Content may contain encryption software. The country in which you are
- currently may have restrictions on the import, possession, and use,
-and/or re-export to
- another country, of encryption software. BEFORE using any encryption
-software, please check the country's laws, regulations and policies
-concerning the import,
- possession, or use, and re-export of encryption software, to see if
-this is permitted.</p>
-
-<p><small>Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both.</small></p>
-
-
-</body></html> \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.tracing.rcp.product/pom.xml b/lttng/org.eclipse.linuxtools.tracing.rcp.product/pom.xml
deleted file mode 100644
index 9b8be987f7..0000000000
--- a/lttng/org.eclipse.linuxtools.tracing.rcp.product/pom.xml
+++ /dev/null
@@ -1,64 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
- <modelVersion>4.0.0</modelVersion>
-
- <version>1.1.0</version>
- <artifactId>tracing</artifactId>
- <packaging>eclipse-repository</packaging>
- <name>Linux Tools Trace Viewer Product</name>
-
- <parent>
- <artifactId>linuxtools-lttng-parent</artifactId>
- <groupId>org.eclipse.linuxtools.lttng</groupId>
- <version>3.2.0-SNAPSHOT</version>
- </parent>
-
- <properties>
- <productId>org.eclipse.linuxtools.tracing.rcp</productId>
- <maven.build.timestamp.format>yyyyMMdd-HHmm</maven.build.timestamp.format>
- </properties>
-
- <build>
- <plugins>
- <plugin>
- <groupId>org.eclipse.tycho</groupId>
- <artifactId>tycho-p2-director-plugin</artifactId>
- <version>${tycho-version}</version>
- <executions>
- <execution>
- <id>materialize-products</id>
- <goals>
- <goal>materialize-products</goal>
- </goals>
- </execution>
- <execution>
- <id>archive-products</id>
- <goals>
- <goal>archive-products</goal>
- </goals>
- <configuration>
- <formats>
- <linux>tar.gz</linux>
- <macosx>tar.gz</macosx>
- <solaris>zip</solaris>
- <win32>zip</win32>
- </formats>
- </configuration>
- </execution>
- </executions>
- <configuration>
- <products>
- <product>
- <archiveFileName>linuxtools-trace-viewer-${project.version}-${build.timestamp}</archiveFileName>
- <id>${productId}</id>
- <rootFolder>linuxtools-trace-viewer</rootFolder>
- </product>
- </products>
- </configuration>
- </plugin>
- </plugins>
- </build>
- <groupId>org.eclipse.linuxtools.tracing.rcp</groupId>
-</project>
diff --git a/lttng/org.eclipse.linuxtools.tracing.rcp.product/tracing.product b/lttng/org.eclipse.linuxtools.tracing.rcp.product/tracing.product
deleted file mode 100644
index ff470bb13f..0000000000
--- a/lttng/org.eclipse.linuxtools.tracing.rcp.product/tracing.product
+++ /dev/null
@@ -1,228 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?pde version="3.5"?>
-
-<product name="Trace Viewer" uid="org.eclipse.linuxtools.tracing.rcp" id="org.eclipse.linuxtools.tracing.rcp.branding.product" application="org.eclipse.linuxtools.tracing.rcp.ui.application" version="1.1.0.qualifier" useFeatures="true" includeLaunchers="true">
-
- <aboutInfo>
- <image path="/org.eclipse.linuxtools.tracing.rcp.branding/icons/alt_about.gif"/>
- <text>
- Linux Tools Trace Viewer
-
-Version: 1.1.0
-
-Copyright (c) 2014 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
- </text>
- </aboutInfo>
-
- <configIni use="default">
- </configIni>
-
- <launcherArgs>
- <programArgs>--launcher.XXMaxPermSize 256m -data @noDefault
- </programArgs>
- <programArgsLin>--launcher.GTK_version 2
- </programArgsLin>
- <vmArgsLin>-Xms512m -Xmx1024m -Dosgi.requiredJavaVersion=1.7
- </vmArgsLin>
- <vmArgsMac>-Xms512m -Xmx1024m -XstartOnFirstThread -Dosgi.requiredJavaVersion=1.7 -Dorg.eclipse.swt.internal.carbon.smallFonts
- </vmArgsMac>
- <vmArgsSol>-Xms512m -Xmx1024m -Dosgi.requiredJavaVersion=1.7
- </vmArgsSol>
- <vmArgsWin>-Xms512m -Xmx1024m -Dosgi.requiredJavaVersion=1.7
- </vmArgsWin>
- </launcherArgs>
-
- <windowImages i16="/org.eclipse.linuxtools.tracing.rcp.branding/icons/alt_window_16.gif" i32="/org.eclipse.linuxtools.tracing.rcp.branding/icons/alt_window_32.gif"/>
-
- <launcher name="traceViewer">
- <solaris/>
- <win useIco="false">
- <bmp/>
- </win>
- </launcher>
-
- <vm>
- <linux include="false">org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.7</linux>
- <macos include="false">org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.7</macos>
- <solaris include="false">org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.7</solaris>
- <windows include="false">org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.7</windows>
- </vm>
-
- <license>
- <url>http://eclipse.org/legal/epl/notice.php</url>
- <text>
- Eclipse Foundation Software User Agreement
-February 1, 2011
-
-Usage Of Content
-
-THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR
-OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY &amp;quot;CONTENT&amp;quot;).
-USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS
-AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR
-NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU
-AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT
-AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS
-OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE
-TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS
-OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED
-BELOW, THEN YOU MAY NOT USE THE CONTENT.
-
-Applicable Licenses
-
-Unless otherwise indicated, all Content made available by the
-Eclipse Foundation is provided to you under the terms and conditions of
-the Eclipse Public License Version 1.0 (&amp;quot;EPL&amp;quot;). A copy of the EPL is
-provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html.
-For purposes of the EPL, &amp;quot;Program&amp;quot; will mean the Content.
-
-Content includes, but is not limited to, source code, object code,
-documentation and other files maintained in the Eclipse Foundation source code
-repository (&amp;quot;Repository&amp;quot;) in software modules (&amp;quot;Modules&amp;quot;) and made available
-as downloadable archives (&amp;quot;Downloads&amp;quot;).
-
- - Content may be structured and packaged into modules to facilitate delivering,
- extending, and upgrading the Content. Typical modules may include plug-ins (&amp;quot;Plug-ins&amp;quot;),
- plug-in fragments (&amp;quot;Fragments&amp;quot;), and features (&amp;quot;Features&amp;quot;).
- - Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)
- in a directory named &amp;quot;plugins&amp;quot;.
- - A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.
- Each Feature may be packaged as a sub-directory in a directory named &amp;quot;features&amp;quot;.
- Within a Feature, files named &amp;quot;feature.xml&amp;quot; may contain a list of the names and version
- numbers of the Plug-ins and/or Fragments associated with that Feature.
- - Features may also include other Features (&amp;quot;Included Features&amp;quot;). Within a Feature, files
- named &amp;quot;feature.xml&amp;quot; may contain a list of the names and version numbers of Included Features.
-
-The terms and conditions governing Plug-ins and Fragments should be
-contained in files named &amp;quot;about.html&amp;quot; (&amp;quot;Abouts&amp;quot;). The terms and
-conditions governing Features and Included Features should be contained
-in files named &amp;quot;license.html&amp;quot; (&amp;quot;Feature Licenses&amp;quot;). Abouts and Feature
-Licenses may be located in any directory of a Download or Module
-including, but not limited to the following locations:
-
- - The top-level (root) directory
- - Plug-in and Fragment directories
- - Inside Plug-ins and Fragments packaged as JARs
- - Sub-directories of the directory named &amp;quot;src&amp;quot; of certain Plug-ins
- - Feature directories
-
-Note: if a Feature made available by the Eclipse Foundation is installed using the
-Provisioning Technology (as defined below), you must agree to a license (&amp;quot;Feature
-Update License&amp;quot;) during the installation process. If the Feature contains
-Included Features, the Feature Update License should either provide you
-with the terms and conditions governing the Included Features or inform
-you where you can locate them. Feature Update Licenses may be found in
-the &amp;quot;license&amp;quot; property of files named &amp;quot;feature.properties&amp;quot; found within a Feature.
-Such Abouts, Feature Licenses, and Feature Update Licenses contain the
-terms and conditions (or references to such terms and conditions) that
-govern your use of the associated Content in that directory.
-
-THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER
-TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.
-SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):
-
- - Eclipse Distribution License Version 1.0 (available at http://www.eclipse.org/licenses/edl-v1.0.html)
- - Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)
- - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)
- - Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)
- - Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)
- - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)
-
-IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR
-TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License
-is provided, please contact the Eclipse Foundation to determine what terms and conditions
-govern that particular Content.
-
-Use of Provisioning Technology
-
-The Eclipse Foundation makes available provisioning software, examples of which include,
-but are not limited to, p2 and the Eclipse Update Manager (&amp;quot;Provisioning Technology&amp;quot;) for
-the purpose of allowing users to install software, documentation, information and/or
-other materials (collectively &amp;quot;Installable Software&amp;quot;). This capability is provided with
-the intent of allowing such users to install, extend and update Eclipse-based products.
-Information about packaging Installable Software is available at
-http://eclipse.org/equinox/p2/repository_packaging.html (&amp;quot;Specification&amp;quot;).
-
-You may use Provisioning Technology to allow other parties to install Installable Software.
-You shall be responsible for enabling the applicable license agreements relating to the
-Installable Software to be presented to, and accepted by, the users of the Provisioning Technology
-in accordance with the Specification. By using Provisioning Technology in such a manner and
-making it available in accordance with the Specification, you further acknowledge your
-agreement to, and the acquisition of all necessary rights to permit the following:
-
- 1. A series of actions may occur (&amp;quot;Provisioning Process&amp;quot;) in which a user may execute
- the Provisioning Technology on a machine (&amp;quot;Target Machine&amp;quot;) with the intent of installing,
- extending or updating the functionality of an Eclipse-based product.
- 2. During the Provisioning Process, the Provisioning Technology may cause third party
- Installable Software or a portion thereof to be accessed and copied to the Target Machine.
- 3. Pursuant to the Specification, you will provide to the user the terms and conditions that
- govern the use of the Installable Software (&amp;quot;Installable Software Agreement&amp;quot;) and such
- Installable Software Agreement shall be accessed from the Target Machine in accordance
- with the Specification. Such Installable Software Agreement must inform the user of the
- terms and conditions that govern the Installable Software and must solicit acceptance by
- the end user in the manner prescribed in such Installable Software Agreement. Upon such
- indication of agreement by the user, the provisioning Technology will complete installation
- of the Installable Software.
-
-Cryptography
-
-Content may contain encryption software. The country in which you are
-currently may have restrictions on the import, possession, and use,
-and/or re-export to another country, of encryption software. BEFORE
-using any encryption software, please check the country&amp;apos;s laws,
-regulations and policies concerning the import, possession, or use, and
-re-export of encryption software, to see if this is permitted.
-
-Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both.
- </text>
- </license>
-
- <plugins>
- </plugins>
-
- <features>
- <feature id="org.eclipse.linuxtools.tracing.rcp.branding.feature"/>
- <feature id="org.eclipse.linuxtools.tracing.rcp"/>
- <feature id="org.eclipse.linuxtools.lttng2.kernel"/>
- <feature id="org.eclipse.linuxtools.lttng2.ust"/>
- <feature id="org.eclipse.linuxtools.lttng2.control"/>
- <feature id="org.eclipse.equinox.p2.core.feature"/>
- <feature id="org.eclipse.platform"/>
- <feature id="org.eclipse.tm.terminal"/>
- <feature id="org.eclipse.help"/>
- <feature id="org.eclipse.emf.ecore"/>
- <feature id="org.eclipse.equinox.p2.rcp.feature"/>
- <feature id="org.eclipse.equinox.p2.user.ui"/>
- <feature id="org.eclipse.linuxtools.tmf"/>
- <feature id="org.eclipse.rcp"/>
- <feature id="org.eclipse.e4.rcp"/>
- <feature id="org.eclipse.emf.common"/>
- <feature id="org.eclipse.equinox.p2.extras.feature"/>
- <feature id="org.eclipse.linuxtools.ctf"/>
- <feature id="org.eclipse.linuxtools.tmf.ctf"/>
- <feature id="org.eclipse.linuxtools.tmf.pcap"/>
- <feature id="org.eclipse.ecf.filetransfer.httpclient4.feature"/>
- <feature id="org.eclipse.ecf.filetransfer.httpclient4.ssl.feature"/>
- <feature id="org.eclipse.ecf.core.ssl.feature"/>
- <feature id="org.eclipse.ecf.filetransfer.ssl.feature"/>
- <feature id="org.eclipse.ecf.core.feature"/>
- <feature id="org.eclipse.ecf.filetransfer.feature"/>
- <feature id="org.eclipse.remote"/>
- </features>
-
- <configurations>
- <plugin id="org.eclipse.core.runtime" autoStart="true" startLevel="4" />
- <plugin id="org.eclipse.equinox.common" autoStart="true" startLevel="2" />
- <plugin id="org.eclipse.equinox.ds" autoStart="true" startLevel="1" />
- <plugin id="org.eclipse.equinox.simpleconfigurator" autoStart="true" startLevel="1" />
- <plugin id="org.eclipse.linuxtools.tracing.rcp.ui" autoStart="false" startLevel="5" />
- <plugin id="org.eclipse.osgi" autoStart="true" startLevel="-1" />
- <plugin id="org.eclipse.update.configurator" autoStart="true" startLevel="3" />
- </configurations>
-
-</product>
diff --git a/lttng/org.eclipse.linuxtools.tracing.rcp.ui/.classpath b/lttng/org.eclipse.linuxtools.tracing.rcp.ui/.classpath
deleted file mode 100644
index 098194ca4b..0000000000
--- a/lttng/org.eclipse.linuxtools.tracing.rcp.ui/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
- <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.7"/>
- <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
- <classpathentry kind="src" path="src"/>
- <classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/lttng/org.eclipse.linuxtools.tracing.rcp.ui/.project b/lttng/org.eclipse.linuxtools.tracing.rcp.ui/.project
deleted file mode 100644
index 7e5c96048a..0000000000
--- a/lttng/org.eclipse.linuxtools.tracing.rcp.ui/.project
+++ /dev/null
@@ -1,34 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>org.eclipse.linuxtools.tracing.rcp.ui</name>
- <comment></comment>
- <projects>
- </projects>
- <buildSpec>
- <buildCommand>
- <name>org.eclipse.jdt.core.javabuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.ManifestBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.SchemaBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.api.tools.apiAnalysisBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>org.eclipse.pde.PluginNature</nature>
- <nature>org.eclipse.jdt.core.javanature</nature>
- <nature>org.eclipse.pde.api.tools.apiAnalysisNature</nature>
- </natures>
-</projectDescription>
diff --git a/lttng/org.eclipse.linuxtools.tracing.rcp.ui/.settings/org.eclipse.core.resources.prefs b/lttng/org.eclipse.linuxtools.tracing.rcp.ui/.settings/org.eclipse.core.resources.prefs
deleted file mode 100644
index 99f26c0203..0000000000
--- a/lttng/org.eclipse.linuxtools.tracing.rcp.ui/.settings/org.eclipse.core.resources.prefs
+++ /dev/null
@@ -1,2 +0,0 @@
-eclipse.preferences.version=1
-encoding/<project>=UTF-8
diff --git a/lttng/org.eclipse.linuxtools.tracing.rcp.ui/.settings/org.eclipse.core.runtime.prefs b/lttng/org.eclipse.linuxtools.tracing.rcp.ui/.settings/org.eclipse.core.runtime.prefs
deleted file mode 100644
index 5a0ad22d2a..0000000000
--- a/lttng/org.eclipse.linuxtools.tracing.rcp.ui/.settings/org.eclipse.core.runtime.prefs
+++ /dev/null
@@ -1,2 +0,0 @@
-eclipse.preferences.version=1
-line.separator=\n
diff --git a/lttng/org.eclipse.linuxtools.tracing.rcp.ui/.settings/org.eclipse.jdt.core.prefs b/lttng/org.eclipse.linuxtools.tracing.rcp.ui/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index 9f3662cd78..0000000000
--- a/lttng/org.eclipse.linuxtools.tracing.rcp.ui/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,394 +0,0 @@
-eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.annotation.inheritNullAnnotations=enabled
-org.eclipse.jdt.core.compiler.annotation.missingNonNullByDefaultAnnotation=ignore
-org.eclipse.jdt.core.compiler.annotation.nonnull=org.eclipse.jdt.annotation.NonNull
-org.eclipse.jdt.core.compiler.annotation.nonnullbydefault=org.eclipse.jdt.annotation.NonNullByDefault
-org.eclipse.jdt.core.compiler.annotation.nullable=org.eclipse.jdt.annotation.Nullable
-org.eclipse.jdt.core.compiler.annotation.nullanalysis=enabled
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.7
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.doc.comment.support=enabled
-org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=error
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
-org.eclipse.jdt.core.compiler.problem.comparingIdentical=error
-org.eclipse.jdt.core.compiler.problem.deadCode=error
-org.eclipse.jdt.core.compiler.problem.deprecation=error
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled
-org.eclipse.jdt.core.compiler.problem.discouragedReference=warning
-org.eclipse.jdt.core.compiler.problem.emptyStatement=error
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.problem.explicitlyClosedAutoCloseable=error
-org.eclipse.jdt.core.compiler.problem.fallthroughCase=error
-org.eclipse.jdt.core.compiler.problem.fatalOptionalError=disabled
-org.eclipse.jdt.core.compiler.problem.fieldHiding=error
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=error
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=error
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=error
-org.eclipse.jdt.core.compiler.problem.includeNullInfoFromAsserts=disabled
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=error
-org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=error
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=error
-org.eclipse.jdt.core.compiler.problem.invalidJavadoc=warning
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTags=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=protected
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=error
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=error
-org.eclipse.jdt.core.compiler.problem.missingDefaultCase=error
-org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=error
-org.eclipse.jdt.core.compiler.problem.missingEnumCaseDespiteDefault=enabled
-org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=error
-org.eclipse.jdt.core.compiler.problem.missingJavadocComments=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=protected
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagDescription=all_standard_tags
-org.eclipse.jdt.core.compiler.problem.missingJavadocTags=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsMethodTypeParameters=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=protected
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=error
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotationForInterfaceMethodImplementation=enabled
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=error
-org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=error
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=error
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=error
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=warning
-org.eclipse.jdt.core.compiler.problem.nonnullParameterAnnotationDropped=warning
-org.eclipse.jdt.core.compiler.problem.nullAnnotationInferenceConflict=warning
-org.eclipse.jdt.core.compiler.problem.nullReference=error
-org.eclipse.jdt.core.compiler.problem.nullSpecViolation=error
-org.eclipse.jdt.core.compiler.problem.nullUncheckedConversion=warning
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=error
-org.eclipse.jdt.core.compiler.problem.parameterAssignment=error
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=error
-org.eclipse.jdt.core.compiler.problem.potentialNullReference=error
-org.eclipse.jdt.core.compiler.problem.potentiallyUnclosedCloseable=warning
-org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning
-org.eclipse.jdt.core.compiler.problem.redundantNullAnnotation=warning
-org.eclipse.jdt.core.compiler.problem.redundantNullCheck=error
-org.eclipse.jdt.core.compiler.problem.redundantSpecificationOfTypeArguments=error
-org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=error
-org.eclipse.jdt.core.compiler.problem.reportMethodCanBePotentiallyStatic=ignore
-org.eclipse.jdt.core.compiler.problem.reportMethodCanBeStatic=error
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=error
-org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=disabled
-org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
-org.eclipse.jdt.core.compiler.problem.syntacticNullAnalysisForFields=enabled
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
-org.eclipse.jdt.core.compiler.problem.typeParameterHiding=error
-org.eclipse.jdt.core.compiler.problem.unavoidableGenericTypeProblems=disabled
-org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
-org.eclipse.jdt.core.compiler.problem.unclosedCloseable=error
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
-org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=error
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=error
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=error
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=warning
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=disabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=disabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=error
-org.eclipse.jdt.core.compiler.problem.unusedLabel=error
-org.eclipse.jdt.core.compiler.problem.unusedLocal=error
-org.eclipse.jdt.core.compiler.problem.unusedObjectAllocation=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=error
-org.eclipse.jdt.core.compiler.problem.unusedTypeParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedWarningToken=error
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=error
-org.eclipse.jdt.core.compiler.source=1.7
-org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_assignment=0
-org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
-org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
-org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
-org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
-org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0
-org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=80
-org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=0
-org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch=16
-org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_after_package=1
-org.eclipse.jdt.core.formatter.blank_lines_before_field=0
-org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
-org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
-org.eclipse.jdt.core.formatter.blank_lines_before_method=1
-org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
-org.eclipse.jdt.core.formatter.blank_lines_before_package=0
-org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
-org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
-org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
-org.eclipse.jdt.core.formatter.comment.format_block_comments=true
-org.eclipse.jdt.core.formatter.comment.format_header=false
-org.eclipse.jdt.core.formatter.comment.format_html=true
-org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=true
-org.eclipse.jdt.core.formatter.comment.format_line_comments=true
-org.eclipse.jdt.core.formatter.comment.format_source_code=true
-org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true
-org.eclipse.jdt.core.formatter.comment.indent_root_tags=true
-org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
-org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=insert
-org.eclipse.jdt.core.formatter.comment.line_length=80
-org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries=true
-org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries=true
-org.eclipse.jdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments=false
-org.eclipse.jdt.core.formatter.compact_else_if=true
-org.eclipse.jdt.core.formatter.continuation_indentation=2
-org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2
-org.eclipse.jdt.core.formatter.disabling_tag=@formatter\:off
-org.eclipse.jdt.core.formatter.enabling_tag=@formatter\:on
-org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
-org.eclipse.jdt.core.formatter.format_line_comment_starting_on_first_column=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
-org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_empty_lines=false
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=false
-org.eclipse.jdt.core.formatter.indentation.size=4
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_label=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_try=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources=insert
-org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_try=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
-org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.join_lines_in_comments=true
-org.eclipse.jdt.core.formatter.join_wrapped_lines=false
-org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.lineSplit=250
-org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
-org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
-org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true
-org.eclipse.jdt.core.formatter.tabulation.char=space
-org.eclipse.jdt.core.formatter.tabulation.size=4
-org.eclipse.jdt.core.formatter.use_on_off_tags=false
-org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
-org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
-org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true
-org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true
diff --git a/lttng/org.eclipse.linuxtools.tracing.rcp.ui/.settings/org.eclipse.jdt.ui.prefs b/lttng/org.eclipse.linuxtools.tracing.rcp.ui/.settings/org.eclipse.jdt.ui.prefs
deleted file mode 100644
index 4fd0c7006a..0000000000
--- a/lttng/org.eclipse.linuxtools.tracing.rcp.ui/.settings/org.eclipse.jdt.ui.prefs
+++ /dev/null
@@ -1,56 +0,0 @@
-eclipse.preferences.version=1
-editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
-formatter_profile=_tmf-style
-formatter_settings_version=12
-sp_cleanup.add_default_serial_version_id=true
-sp_cleanup.add_generated_serial_version_id=false
-sp_cleanup.add_missing_annotations=false
-sp_cleanup.add_missing_deprecated_annotations=true
-sp_cleanup.add_missing_methods=false
-sp_cleanup.add_missing_nls_tags=false
-sp_cleanup.add_missing_override_annotations=true
-sp_cleanup.add_missing_override_annotations_interface_methods=true
-sp_cleanup.add_serial_version_id=false
-sp_cleanup.always_use_blocks=true
-sp_cleanup.always_use_parentheses_in_expressions=false
-sp_cleanup.always_use_this_for_non_static_field_access=false
-sp_cleanup.always_use_this_for_non_static_method_access=false
-sp_cleanup.convert_to_enhanced_for_loop=false
-sp_cleanup.correct_indentation=false
-sp_cleanup.format_source_code=false
-sp_cleanup.format_source_code_changes_only=false
-sp_cleanup.make_local_variable_final=false
-sp_cleanup.make_parameters_final=false
-sp_cleanup.make_private_fields_final=true
-sp_cleanup.make_type_abstract_if_missing_method=false
-sp_cleanup.make_variable_declarations_final=false
-sp_cleanup.never_use_blocks=false
-sp_cleanup.never_use_parentheses_in_expressions=true
-sp_cleanup.on_save_use_additional_actions=true
-sp_cleanup.organize_imports=false
-sp_cleanup.qualify_static_field_accesses_with_declaring_class=false
-sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_with_declaring_class=false
-sp_cleanup.qualify_static_method_accesses_with_declaring_class=false
-sp_cleanup.remove_private_constructors=true
-sp_cleanup.remove_trailing_whitespaces=true
-sp_cleanup.remove_trailing_whitespaces_all=true
-sp_cleanup.remove_trailing_whitespaces_ignore_empty=false
-sp_cleanup.remove_unnecessary_casts=false
-sp_cleanup.remove_unnecessary_nls_tags=false
-sp_cleanup.remove_unused_imports=false
-sp_cleanup.remove_unused_local_variables=false
-sp_cleanup.remove_unused_private_fields=true
-sp_cleanup.remove_unused_private_members=false
-sp_cleanup.remove_unused_private_methods=true
-sp_cleanup.remove_unused_private_types=true
-sp_cleanup.sort_members=false
-sp_cleanup.sort_members_all=false
-sp_cleanup.use_blocks=true
-sp_cleanup.use_blocks_only_for_return_and_throw=false
-sp_cleanup.use_parentheses_in_expressions=false
-sp_cleanup.use_this_for_non_static_field_access=false
-sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=true
-sp_cleanup.use_this_for_non_static_method_access=false
-sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true
diff --git a/lttng/org.eclipse.linuxtools.tracing.rcp.ui/.settings/org.eclipse.pde.api.tools.prefs b/lttng/org.eclipse.linuxtools.tracing.rcp.ui/.settings/org.eclipse.pde.api.tools.prefs
deleted file mode 100644
index acc3abd47c..0000000000
--- a/lttng/org.eclipse.linuxtools.tracing.rcp.ui/.settings/org.eclipse.pde.api.tools.prefs
+++ /dev/null
@@ -1,97 +0,0 @@
-ANNOTATION_ELEMENT_TYPE_ADDED_METHOD_WITHOUT_DEFAULT_VALUE=Error
-ANNOTATION_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
-ANNOTATION_ELEMENT_TYPE_REMOVED_FIELD=Error
-ANNOTATION_ELEMENT_TYPE_REMOVED_METHOD=Error
-ANNOTATION_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
-API_COMPONENT_ELEMENT_TYPE_REMOVED_API_TYPE=Error
-API_COMPONENT_ELEMENT_TYPE_REMOVED_REEXPORTED_API_TYPE=Error
-API_COMPONENT_ELEMENT_TYPE_REMOVED_REEXPORTED_TYPE=Error
-API_COMPONENT_ELEMENT_TYPE_REMOVED_TYPE=Error
-API_USE_SCAN_FIELD_SEVERITY=Error
-API_USE_SCAN_METHOD_SEVERITY=Error
-API_USE_SCAN_TYPE_SEVERITY=Error
-CLASS_ELEMENT_TYPE_ADDED_METHOD=Error
-CLASS_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
-CLASS_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
-CLASS_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error
-CLASS_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
-CLASS_ELEMENT_TYPE_CHANGED_NON_ABSTRACT_TO_ABSTRACT=Error
-CLASS_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error
-CLASS_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
-CLASS_ELEMENT_TYPE_REMOVED_CONSTRUCTOR=Error
-CLASS_ELEMENT_TYPE_REMOVED_FIELD=Error
-CLASS_ELEMENT_TYPE_REMOVED_METHOD=Error
-CLASS_ELEMENT_TYPE_REMOVED_SUPERCLASS=Error
-CLASS_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
-CLASS_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
-CONSTRUCTOR_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
-CONSTRUCTOR_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
-CONSTRUCTOR_ELEMENT_TYPE_CHANGED_VARARGS_TO_ARRAY=Error
-CONSTRUCTOR_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
-ENUM_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error
-ENUM_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
-ENUM_ELEMENT_TYPE_REMOVED_ENUM_CONSTANT=Error
-ENUM_ELEMENT_TYPE_REMOVED_FIELD=Error
-ENUM_ELEMENT_TYPE_REMOVED_METHOD=Error
-ENUM_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
-FIELD_ELEMENT_TYPE_ADDED_VALUE=Error
-FIELD_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
-FIELD_ELEMENT_TYPE_CHANGED_FINAL_TO_NON_FINAL_STATIC_CONSTANT=Error
-FIELD_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error
-FIELD_ELEMENT_TYPE_CHANGED_NON_STATIC_TO_STATIC=Error
-FIELD_ELEMENT_TYPE_CHANGED_STATIC_TO_NON_STATIC=Error
-FIELD_ELEMENT_TYPE_CHANGED_TYPE=Error
-FIELD_ELEMENT_TYPE_CHANGED_VALUE=Error
-FIELD_ELEMENT_TYPE_REMOVED_TYPE_ARGUMENT=Error
-FIELD_ELEMENT_TYPE_REMOVED_VALUE=Error
-ILLEGAL_EXTEND=Warning
-ILLEGAL_IMPLEMENT=Warning
-ILLEGAL_INSTANTIATE=Warning
-ILLEGAL_OVERRIDE=Warning
-ILLEGAL_REFERENCE=Warning
-INTERFACE_ELEMENT_TYPE_ADDED_FIELD=Error
-INTERFACE_ELEMENT_TYPE_ADDED_METHOD=Error
-INTERFACE_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
-INTERFACE_ELEMENT_TYPE_ADDED_SUPER_INTERFACE_WITH_METHODS=Error
-INTERFACE_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
-INTERFACE_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error
-INTERFACE_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
-INTERFACE_ELEMENT_TYPE_REMOVED_FIELD=Error
-INTERFACE_ELEMENT_TYPE_REMOVED_METHOD=Error
-INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
-INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
-INVALID_JAVADOC_TAG=Warning
-INVALID_REFERENCE_IN_SYSTEM_LIBRARIES=Warning
-LEAK_EXTEND=Warning
-LEAK_FIELD_DECL=Warning
-LEAK_IMPLEMENT=Warning
-LEAK_METHOD_PARAM=Warning
-LEAK_METHOD_RETURN_TYPE=Warning
-METHOD_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
-METHOD_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
-METHOD_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
-METHOD_ELEMENT_TYPE_CHANGED_NON_ABSTRACT_TO_ABSTRACT=Error
-METHOD_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error
-METHOD_ELEMENT_TYPE_CHANGED_NON_STATIC_TO_STATIC=Error
-METHOD_ELEMENT_TYPE_CHANGED_STATIC_TO_NON_STATIC=Error
-METHOD_ELEMENT_TYPE_CHANGED_VARARGS_TO_ARRAY=Error
-METHOD_ELEMENT_TYPE_REMOVED_ANNOTATION_DEFAULT_VALUE=Error
-METHOD_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
-MISSING_EE_DESCRIPTIONS=Ignore
-TYPE_PARAMETER_ELEMENT_TYPE_ADDED_CLASS_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_ADDED_INTERFACE_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_CHANGED_CLASS_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_CHANGED_INTERFACE_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_CLASS_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error
-UNUSED_PROBLEM_FILTERS=Warning
-automatically_removed_unused_problem_filters=false
-eclipse.preferences.version=1
-incompatible_api_component_version=Error
-incompatible_api_component_version_include_major_without_breaking_change=Disabled
-incompatible_api_component_version_include_minor_without_api_change=Disabled
-invalid_since_tag_version=Error
-malformed_since_tag=Error
-missing_since_tag=Error
-report_api_breakage_when_major_version_incremented=Disabled
-report_resolution_errors_api_component=Warning
diff --git a/lttng/org.eclipse.linuxtools.tracing.rcp.ui/.settings/org.eclipse.pde.prefs b/lttng/org.eclipse.linuxtools.tracing.rcp.ui/.settings/org.eclipse.pde.prefs
deleted file mode 100644
index d92b94fd4b..0000000000
--- a/lttng/org.eclipse.linuxtools.tracing.rcp.ui/.settings/org.eclipse.pde.prefs
+++ /dev/null
@@ -1,32 +0,0 @@
-compilers.f.unresolved-features=1
-compilers.f.unresolved-plugins=1
-compilers.incompatible-environment=1
-compilers.p.build=1
-compilers.p.build.bin.includes=1
-compilers.p.build.encodings=2
-compilers.p.build.java.compiler=2
-compilers.p.build.java.compliance=1
-compilers.p.build.missing.output=2
-compilers.p.build.output.library=1
-compilers.p.build.source.library=1
-compilers.p.build.src.includes=1
-compilers.p.deprecated=1
-compilers.p.discouraged-class=1
-compilers.p.internal=1
-compilers.p.missing-packages=1
-compilers.p.missing-version-export-package=2
-compilers.p.missing-version-import-package=2
-compilers.p.missing-version-require-bundle=2
-compilers.p.no-required-att=0
-compilers.p.not-externalized-att=1
-compilers.p.unknown-attribute=1
-compilers.p.unknown-class=1
-compilers.p.unknown-element=1
-compilers.p.unknown-identifier=1
-compilers.p.unknown-resource=1
-compilers.p.unresolved-ex-points=0
-compilers.p.unresolved-import=0
-compilers.s.create-docs=false
-compilers.s.doc-folder=doc
-compilers.s.open-tags=1
-eclipse.preferences.version=1
diff --git a/lttng/org.eclipse.linuxtools.tracing.rcp.ui/META-INF/MANIFEST.MF b/lttng/org.eclipse.linuxtools.tracing.rcp.ui/META-INF/MANIFEST.MF
deleted file mode 100644
index d8481b3e90..0000000000
--- a/lttng/org.eclipse.linuxtools.tracing.rcp.ui/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,23 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %Bundle-Name
-Bundle-Vendor: %Bundle-Vendor
-Bundle-Version: 1.1.0.qualifier
-Bundle-Localization: plugin
-Bundle-SymbolicName: org.eclipse.linuxtools.tracing.rcp.ui;singleton:=true
-Bundle-Activator: org.eclipse.linuxtools.internal.tracing.rcp.ui.TracingRcpPlugin
-Bundle-ActivationPolicy: lazy
-Bundle-RequiredExecutionEnvironment: JavaSE-1.7
-Require-Bundle: org.eclipse.core.commands,
- org.eclipse.core.resources,
- org.eclipse.core.runtime,
- org.eclipse.ui,
- org.eclipse.ui.ide,
- org.eclipse.ui.workbench,
- org.eclipse.linuxtools.tmf.ui;bundle-version="2.0.0",
- org.eclipse.linuxtools.tmf.core;bundle-version="2.0.0",
- org.eclipse.update.configurator;bundle-version="3.3.200",
- org.eclipse.equinox.p2.ui.sdk
-Export-Package: org.eclipse.linuxtools.internal.tracing.rcp.ui;x-internal:=true,
- org.eclipse.linuxtools.internal.tracing.rcp.ui.cli;x-internal:=true,
- org.eclipse.linuxtools.internal.tracing.rcp.ui.messages;x-internal:=true
diff --git a/lttng/org.eclipse.linuxtools.tracing.rcp.ui/about.html b/lttng/org.eclipse.linuxtools.tracing.rcp.ui/about.html
deleted file mode 100644
index a01ee844fb..0000000000
--- a/lttng/org.eclipse.linuxtools.tracing.rcp.ui/about.html
+++ /dev/null
@@ -1,28 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
-<title>About</title>
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
-
-<p>June 5, 2006</p>
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;). Unless otherwise
-indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is available
-at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is
-being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content. Check the Redistributor's license that was
-provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at <a href="http://www.eclipse.org/">http://www.eclipse.org</a>.</p>
-
-</body>
-</html> \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.tracing.rcp.ui/build.properties b/lttng/org.eclipse.linuxtools.tracing.rcp.ui/build.properties
deleted file mode 100644
index 6e6ad65119..0000000000
--- a/lttng/org.eclipse.linuxtools.tracing.rcp.ui/build.properties
+++ /dev/null
@@ -1,20 +0,0 @@
-###############################################################################
-# Copyright (c) 2014 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:
-# Ericsson - Initial API and implementation
-###############################################################################
-source.. = src/
-output.. = bin/
-bin.includes = plugin.xml,\
- META-INF/,\
- .,\
- plugin.properties,\
- icons/,\
- about.html
-src.includes = about.html
diff --git a/lttng/org.eclipse.linuxtools.tracing.rcp.ui/icons/alt_about.gif b/lttng/org.eclipse.linuxtools.tracing.rcp.ui/icons/alt_about.gif
deleted file mode 100644
index 20d9ad2d98..0000000000
--- a/lttng/org.eclipse.linuxtools.tracing.rcp.ui/icons/alt_about.gif
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.tracing.rcp.ui/icons/alt_window_16.gif b/lttng/org.eclipse.linuxtools.tracing.rcp.ui/icons/alt_window_16.gif
deleted file mode 100644
index 05626b17d8..0000000000
--- a/lttng/org.eclipse.linuxtools.tracing.rcp.ui/icons/alt_window_16.gif
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.tracing.rcp.ui/icons/alt_window_32.gif b/lttng/org.eclipse.linuxtools.tracing.rcp.ui/icons/alt_window_32.gif
deleted file mode 100644
index b432f88339..0000000000
--- a/lttng/org.eclipse.linuxtools.tracing.rcp.ui/icons/alt_window_32.gif
+++ /dev/null
Binary files differ
diff --git a/lttng/org.eclipse.linuxtools.tracing.rcp.ui/plugin.properties b/lttng/org.eclipse.linuxtools.tracing.rcp.ui/plugin.properties
deleted file mode 100644
index 592e8a5a4c..0000000000
--- a/lttng/org.eclipse.linuxtools.tracing.rcp.ui/plugin.properties
+++ /dev/null
@@ -1,39 +0,0 @@
-###############################################################################
-# Copyright (c) 2013 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:
-# Bernd Hufmann - Initial API and implementation
-###############################################################################
-
-#Properties file for org.eclipse.linuxtools.tracing.rcp.ui
-Bundle-Vendor = Eclipse Linux Tools
-Bundle-Name = Linux Tools Trace Viewer UI Plug-in
-
-menu.main.file = File
-menu.main.window = Window
-menu.main.help = Help
-product.name = Linux Tools Trace Viewer
-activity.description = Linux Tools Tracing RCP
-activity.name = Linux Tools Tracing RCP
-activity.description.javaPerspective = (Unwanted) Java Perspective
-activity.name.javaPerspective = Unwanted Java Perspective
-activity.description.teamPerspective = (Unwanted) Team Perspective
-activity.name.teamPerspective = Unwanted Team Perspective
-activity.description.debugPerspective = (Unwanted) Debug Perspective
-activity.name.debugPerspective = Unwanted Debug Perspective
-activity.description.pluginDevPerspective = (Unwanted) PluginDev Perspective
-activity.name.pluginDevPerspective = Unwanted PluginDev Perspective
-activity.description.resourcePerspective = (Unwanted) Resource Perspective
-activity.name.resourcePerspective = Unwanted Resource Perspective
-activity.description.search = (Unwanted) Search Perspective
-activity.name.search = Unwanted Search Perspective
-command.OpenFile.label = Open Trace...
-command.import = Import...
-menu.mnemonic = F
-menu.label = Open
-menu.mnemonic.0 = H \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.tracing.rcp.ui/plugin.xml b/lttng/org.eclipse.linuxtools.tracing.rcp.ui/plugin.xml
deleted file mode 100644
index 68a762bc3a..0000000000
--- a/lttng/org.eclipse.linuxtools.tracing.rcp.ui/plugin.xml
+++ /dev/null
@@ -1,144 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.4"?>
-<plugin>
-<extension
- id="application"
- point="org.eclipse.core.runtime.applications">
- <application>org.eclipse.linuxtools.tracing.rcp.product
- <run
- class="org.eclipse.linuxtools.internal.tracing.rcp.ui.Application">
- </run>
- </application>
- </extension>
- <extension
- point="org.eclipse.ui.handlers">
- </extension>
- <extension point="org.eclipse.ui.activities">
- <activity name="%activity.name" id="org.eclipse.linuxtools.internal.tracing.rcp.ui" description="%activity.description" />
- <activity name="%activity.name.javaPerspective" id="org.eclipse.unwantedJavaPerspective" description="%activity.description.javaPerspective" />
- <activity name="%activity.name.teamPerspective" id="org.eclipse.unwantedTeamPerspective" description="%activity.description.teamPerspective" />
- <activity name="%activity.name.debugPerspective" id="org.eclipse.unwantedDebugPerspective" description="%activity.description.debugPerspective" />
- <activity name="%activity.name.pluginDevPerspective" id="org.eclipse.unwantedPluginDevPerspective" description="%activity.description.pluginDevPerspective" />
- <activity name="%activity.name.resourcePerspective" id="org.eclipse.unwantedResourcePerspective" description="%activity.description.resourcePerspective" />
- <activity name="%activity.name.search" id="org.eclipse.unwantedSearch" description="%activity.description.search" />
- <activityPatternBinding activityId="org.eclipse.linuxtools.internal.tracing.rcp.ui" pattern="org\.eclipse\.linuxtools.*" />
- <activityPatternBinding activityId="org.eclipse.unwantedJavaPerspective" pattern="org\.eclipse\.jdt.*" />
- <activityPatternBinding activityId="org.eclipse.unwantedTeamPerspective" pattern="org\.eclipse\.team.*" />
- <activityPatternBinding activityId="org.eclipse.unwantedDebugPerspective" pattern="org\.eclipse\.debug.*" />
- <activityPatternBinding activityId="org.eclipse.unwantedSearch" pattern="org\.eclipse\.search.*" />
- <activityPatternBinding activityId="org.eclipse.unwantedResourcePerspective" pattern="org\.eclipse\.ui\.[r]*" />
- <defaultEnablement id="org.eclipse.linuxtools.internal.tracing.rcp.ui" />
- </extension>
- <extension
- point="org.eclipse.ui.menus">
- <menuContribution
- allPopups="false"
- locationURI="menu:org.eclipse.ui.main.menu">
- <menu
- id="org.eclipse.linuxtools.tracing.rcp.ui.menuFile"
- label="%menu.main.file"
- mnemonic="%menu.mnemonic">
- <command
- commandId="org.eclipse.linuxtools.tmf.ui.openFile"
- label="%command.OpenFile.label"
- style="push">
- </command>
- <separator
- name="OpenSeparator"
- visible="true">
- </separator>
- <command
- commandId="org.eclipse.linuxtools.tmf.ui.import"
- label="%command.import"
- style="push">
- </command>
- <separator
- name="ImportSeparator"
- visible="true">
- </separator>
- <command
- commandId="org.eclipse.ui.file.restartWorkbench"
- style="push">
- </command>
- <separator
- name="ExitSeparator"
- visible="true">
- </separator>
- <command
- commandId="org.eclipse.ui.file.exit"
- style="push">
- </command>
- </menu>
- </menuContribution>
- <menuContribution
- allPopups="false"
- locationURI="menu:org.eclipse.ui.main.menu">
- <menu
- id="org.eclipse.linuxtools.tracing.rcp.ui.menuWindow"
- label="%menu.main.window">
- <command
- commandId="org.eclipse.ui.perspectives.showPerspective"
- style="push">
- </command>
- <command
- commandId="org.eclipse.ui.views.showView"
- style="push">
- </command>
- <separator
- name="org.eclipse.linuxtools.tracing.rcp.ui.separator1"
- visible="true">
- </separator>
- <command
- commandId="org.eclipse.ui.window.savePerspective"
- style="push">
- </command>
- <command
- commandId="org.eclipse.ui.window.resetPerspective"
- style="push">
- </command>
- <separator
- name="org.eclipse.linuxtools.tracing.rcp.ui.separator2"
- visible="true">
- </separator>
- <command
- commandId="org.eclipse.ui.window.preferences"
- style="push">
- </command>
- </menu>
- </menuContribution>
- <menuContribution
- allPopups="false"
- locationURI="menu:org.eclipse.ui.main.menu">
- <menu
- id="org.eclipse.linuxtools.tracing.rcp.ui.menuhelp"
- label="%menu.main.help"
- mnemonic="%menu.mnemonic.0">
- <command
- commandId="org.eclipse.ui.help.helpContents"
- style="push">
- </command>
- <command
- commandId="org.eclipse.equinox.p2.ui.sdk.install"
- style="push">
- </command>
- <separator
- name="org.eclipse.linuxtools.tracing.rcp.ui.separator3"
- visible="true">
- </separator>
- <command
- commandId="org.eclipse.ui.help.aboutAction"
- style="push">
- </command>
- </menu>
- </menuContribution>
- </extension>
- <extension
- point="org.eclipse.ui.bindings">
- <key
- commandId="org.eclipse.ui.help.helpContents"
- contextId="org.eclipse.ui.contexts.window"
- schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"
- sequence="F1">
- </key>
- </extension>
-</plugin>
diff --git a/lttng/org.eclipse.linuxtools.tracing.rcp.ui/pom.xml b/lttng/org.eclipse.linuxtools.tracing.rcp.ui/pom.xml
deleted file mode 100644
index f35721b131..0000000000
--- a/lttng/org.eclipse.linuxtools.tracing.rcp.ui/pom.xml
+++ /dev/null
@@ -1,41 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
- <modelVersion>4.0.0</modelVersion>
-
- <version>1.1.0-SNAPSHOT</version>
- <artifactId>org.eclipse.linuxtools.tracing.rcp.ui</artifactId>
- <groupId>org.eclipse.linuxtools.tracing.rcp</groupId>
-
- <name>Linux Tools Trace Viewer UI Plug-in</name>
-
- <parent>
- <artifactId>linuxtools-lttng-parent</artifactId>
- <groupId>org.eclipse.linuxtools.lttng</groupId>
- <version>3.2.0-SNAPSHOT</version>
- </parent>
-
- <properties>
- <productId>org.eclipse.linuxtools.tracing.rcp.ui.product</productId>
- </properties>
-
- <build>
- <resources>
- <resource>
- <directory>src</directory>
- <excludes>
- <exclude>**/*.java</exclude>
- </excludes>
- </resource>
- </resources>
- <plugins>
- <plugin>
- <groupId>org.eclipse.tycho</groupId>
- <artifactId>tycho-source-plugin</artifactId>
- </plugin>
- </plugins>
- </build>
-
- <packaging>eclipse-plugin</packaging>
-</project>
diff --git a/lttng/org.eclipse.linuxtools.tracing.rcp.ui/src/org/eclipse/linuxtools/internal/tracing/rcp/ui/Application.java b/lttng/org.eclipse.linuxtools.tracing.rcp.ui/src/org/eclipse/linuxtools/internal/tracing/rcp/ui/Application.java
deleted file mode 100644
index 7145cdb5b8..0000000000
--- a/lttng/org.eclipse.linuxtools.tracing.rcp.ui/src/org/eclipse/linuxtools/internal/tracing/rcp/ui/Application.java
+++ /dev/null
@@ -1,103 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2013 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:
- * Bernd Hufmann - Initial API and implementation
- **********************************************************************/
-package org.eclipse.linuxtools.internal.tracing.rcp.ui;
-
-import java.io.File;
-import java.net.URL;
-import java.text.MessageFormat;
-
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.equinox.app.IApplication;
-import org.eclipse.equinox.app.IApplicationContext;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.linuxtools.internal.tracing.rcp.ui.messages.Messages;
-import org.eclipse.osgi.service.datalocation.Location;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.PlatformUI;
-
-/**
- * This class controls all aspects of the application's execution
- * @author Bernd Hufmann
- */
-public class Application implements IApplication {
-
- private Location fInstanceLoc = null;
-
- @Override
- public Object start(IApplicationContext context) throws Exception {
- Display display = PlatformUI.createDisplay();
- try {
- // fetch the Location that we will be modifying
- fInstanceLoc = Platform.getInstanceLocation();
-
- // -data @noDefault in <applName>.ini allows us to set the workspace here.
- // If the user wants to change the location then he has to change
- // @noDefault to a specific location or remove -data @noDefault for
- // default location
- if (!fInstanceLoc.allowsDefault() && !fInstanceLoc.isSet()) {
- File workspaceRoot = new File(TracingRcpPlugin.getWorkspaceRoot());
-
- if (!workspaceRoot.exists()) {
- MessageDialog.openError(display.getActiveShell(),
- Messages.Application_WorkspaceCreationError,
- MessageFormat.format(Messages.Application_WorkspaceRootNotExistError, new Object[] { TracingRcpPlugin.getWorkspaceRoot() }));
- return IApplication.EXIT_OK;
- }
-
- if (!workspaceRoot.canWrite()) {
- MessageDialog.openError(display.getActiveShell(),
- Messages.Application_WorkspaceCreationError,
- MessageFormat.format(Messages.Application_WorkspaceRootPermissionError, new Object[] { TracingRcpPlugin.getWorkspaceRoot() }));
- return IApplication.EXIT_OK;
- }
-
- String workspace = TracingRcpPlugin.getWorkspaceRoot() + File.separator + TracingRcpPlugin.WORKSPACE_NAME;
- // set location to workspace
- fInstanceLoc.set(new URL("file", null, workspace), false); //$NON-NLS-1$
- }
-
- if (!fInstanceLoc.lock()) {
- MessageDialog.openError(display.getActiveShell(),
- Messages.Application_WorkspaceCreationError,
- MessageFormat.format(Messages.Application_WorkspaceInUseError, new Object[] { fInstanceLoc.getURL().getPath() }));
- return IApplication.EXIT_OK;
- }
-
- int returnCode = PlatformUI.createAndRunWorkbench(display, new ApplicationWorkbenchAdvisor());
- if (returnCode == PlatformUI.RETURN_RESTART) {
- return IApplication.EXIT_RESTART;
- }
- return IApplication.EXIT_OK;
- } finally {
- display.dispose();
- }
- }
-
- @Override
- public void stop() {
- if (!PlatformUI.isWorkbenchRunning()) {
- return;
- }
- final IWorkbench workbench = PlatformUI.getWorkbench();
- final Display display = workbench.getDisplay();
- fInstanceLoc.release();
- display.syncExec(new Runnable() {
- @Override
- public void run() {
- if (!display.isDisposed()) {
- workbench.close();
- }
- }
- });
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tracing.rcp.ui/src/org/eclipse/linuxtools/internal/tracing/rcp/ui/ApplicationActionBarAdvisor.java b/lttng/org.eclipse.linuxtools.tracing.rcp.ui/src/org/eclipse/linuxtools/internal/tracing/rcp/ui/ApplicationActionBarAdvisor.java
deleted file mode 100644
index 1e3806a9ec..0000000000
--- a/lttng/org.eclipse.linuxtools.tracing.rcp.ui/src/org/eclipse/linuxtools/internal/tracing/rcp/ui/ApplicationActionBarAdvisor.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2013 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:
- * Bernd Hufmann - Initial API and implementation
- **********************************************************************/
-package org.eclipse.linuxtools.internal.tracing.rcp.ui;
-
-import org.eclipse.ui.application.ActionBarAdvisor;
-import org.eclipse.ui.application.IActionBarConfigurer;
-
-/**
- * ActionBarAdvisor implementation of the LTTng RCP.
- *
- * @author Bernd Hufmann
- *
- */
-public class ApplicationActionBarAdvisor extends ActionBarAdvisor {
-
- // ------------------------------------------------------------------------
- // Constructor(s)
- // ------------------------------------------------------------------------
- /**
- * Default constructor
- *
- * @param configurer
- * - An action bar configure instance
- */
- public ApplicationActionBarAdvisor(IActionBarConfigurer configurer) {
- super(configurer);
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tracing.rcp.ui/src/org/eclipse/linuxtools/internal/tracing/rcp/ui/ApplicationWorkbenchAdvisor.java b/lttng/org.eclipse.linuxtools.tracing.rcp.ui/src/org/eclipse/linuxtools/internal/tracing/rcp/ui/ApplicationWorkbenchAdvisor.java
deleted file mode 100644
index 5673f8c102..0000000000
--- a/lttng/org.eclipse.linuxtools.tracing.rcp.ui/src/org/eclipse/linuxtools/internal/tracing/rcp/ui/ApplicationWorkbenchAdvisor.java
+++ /dev/null
@@ -1,239 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2013 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:
- * Bernd Hufmann - Initial API and implementation
- **********************************************************************/
-package org.eclipse.linuxtools.internal.tracing.rcp.ui;
-
-import java.lang.reflect.InvocationTargetException;
-import java.net.URL;
-
-import org.eclipse.core.resources.IWorkspace;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.FileLocator;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.MultiStatus;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jface.dialogs.ErrorDialog;
-import org.eclipse.jface.dialogs.ProgressMonitorDialog;
-import org.eclipse.jface.operation.IRunnableWithProgress;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.linuxtools.internal.tracing.rcp.ui.messages.Messages;
-import org.eclipse.ui.application.IWorkbenchConfigurer;
-import org.eclipse.ui.application.IWorkbenchWindowConfigurer;
-import org.eclipse.ui.application.WorkbenchAdvisor;
-import org.eclipse.ui.application.WorkbenchWindowAdvisor;
-import org.eclipse.ui.ide.IDE;
-import org.eclipse.ui.internal.ide.IDEInternalWorkbenchImages;
-import org.eclipse.ui.internal.ide.IDEWorkbenchPlugin;
-import org.osgi.framework.Bundle;
-
-
-/**
- * WorkbenchAdvisor implementation of the LTTng RCP.
- *
- * @author Bernd Hufmann
- */
-@SuppressWarnings("restriction")
-public class ApplicationWorkbenchAdvisor extends WorkbenchAdvisor {
-
- // ------------------------------------------------------------------------
- // Constants
- // ------------------------------------------------------------------------
- // The default perspective
- private static final String PERSPECTIVE_ID = "org.eclipse.linuxtools.tmf.ui.perspective"; //$NON-NLS-1$
-
- private final static String ICONS_PATH = "$nl$/icons/full/"; //$NON-NLS-1$
- private final static String PATH_ELOCALTOOL = ICONS_PATH + "elcl16/"; //$NON-NLS-1$
- private final static String PATH_DLOCALTOOL = ICONS_PATH + "dlcl16/"; //$NON-NLS-1$
- private final static String PATH_ETOOL = ICONS_PATH + "etool16/"; //$NON-NLS-1$
- private final static String PATH_DTOOL = ICONS_PATH + "dtool16/"; //$NON-NLS-1$
- private final static String PATH_OBJECT = ICONS_PATH + "obj16/"; //$NON-NLS-1$
- private final static String PATH_WIZBAN = ICONS_PATH + "wizban/";//$NON-NLS-1$
-
- // ------------------------------------------------------------------------
- // Operations
- // ------------------------------------------------------------------------
- @Override
- public WorkbenchWindowAdvisor createWorkbenchWindowAdvisor(IWorkbenchWindowConfigurer configurer) {
- return new ApplicationWorkbenchWindowAdvisor(configurer);
- }
-
- @Override
- public void initialize(IWorkbenchConfigurer configurer) {
- configurer.setSaveAndRestore(true);
- declareWorkbenchImages();
- }
-
- @Override
- public String getInitialWindowPerspectiveId() {
- return PERSPECTIVE_ID;
- }
-
- @Override
- public IAdaptable getDefaultPageInput() {
- IWorkspace workspace = ResourcesPlugin.getWorkspace();
- return workspace.getRoot();
- }
-
- @Override
- public void preStartup() {
- IDE.registerAdapters();
- }
-
- @Override
- public void postShutdown() {
- // Save workspace
- final MultiStatus status = new MultiStatus(TracingRcpPlugin.PLUGIN_ID, 1, Messages.Application_WorkspaceSavingError, null);
- try {
- IRunnableWithProgress runnable = new IRunnableWithProgress() {
- @Override
- public void run(IProgressMonitor monitor) {
- try {
- IWorkspace ws = ResourcesPlugin.getWorkspace();
- status.merge(ws.save(true, monitor));
- } catch (CoreException e) {
- status.merge(e.getStatus());
- }
- }
- };
- new ProgressMonitorDialog(null).run(true, true, runnable);
- } catch (InvocationTargetException e) {
- status.merge(new Status(IStatus.ERROR, TracingRcpPlugin.PLUGIN_ID, Messages.Application_InternalError, e.getTargetException()));
- } catch (InterruptedException e) {
- status.merge(Status.CANCEL_STATUS);
- }
- if (!status.isOK()) {
- ErrorDialog.openError(null, Messages.Application_WorkspaceSavingError, null, status, IStatus.ERROR | IStatus.WARNING);
- TracingRcpPlugin.getDefault().getLog().log(status);
- }
- }
-
- // ------------------------------------------------------------------------
- // Helper methods
- // ------------------------------------------------------------------------
- private void declareWorkbenchImages() {
-
- Bundle ideBundle = Platform.getBundle(IDEWorkbenchPlugin.IDE_WORKBENCH);
-
- declareWorkbenchImage(ideBundle, IDEInternalWorkbenchImages.IMG_ETOOL_BUILD_EXEC,
- PATH_ETOOL + "build_exec.gif", false); //$NON-NLS-1$
- declareWorkbenchImage(ideBundle, IDEInternalWorkbenchImages.IMG_ETOOL_BUILD_EXEC_HOVER,
- PATH_ETOOL + "build_exec.gif", false); //$NON-NLS-1$
- declareWorkbenchImage(ideBundle, IDEInternalWorkbenchImages.IMG_ETOOL_BUILD_EXEC_DISABLED,
- PATH_DTOOL + "build_exec.gif", false); //$NON-NLS-1$
-
- declareWorkbenchImage(ideBundle, IDEInternalWorkbenchImages.IMG_ETOOL_SEARCH_SRC,
- PATH_ETOOL + "search_src.gif", false); //$NON-NLS-1$
- declareWorkbenchImage(ideBundle, IDEInternalWorkbenchImages.IMG_ETOOL_SEARCH_SRC_HOVER,
- PATH_ETOOL + "search_src.gif", false); //$NON-NLS-1$
- declareWorkbenchImage(ideBundle, IDEInternalWorkbenchImages.IMG_ETOOL_SEARCH_SRC_DISABLED,
- PATH_DTOOL + "search_src.gif", false); //$NON-NLS-1$
-
- declareWorkbenchImage(ideBundle, IDEInternalWorkbenchImages.IMG_ETOOL_NEXT_NAV, PATH_ETOOL
- + "next_nav.gif", false); //$NON-NLS-1$
-
- declareWorkbenchImage(ideBundle, IDEInternalWorkbenchImages.IMG_ETOOL_PREVIOUS_NAV,
- PATH_ETOOL + "prev_nav.gif", false); //$NON-NLS-1$
-
- declareWorkbenchImage(ideBundle, IDEInternalWorkbenchImages.IMG_WIZBAN_NEWPRJ_WIZ,
- PATH_WIZBAN + "newprj_wiz.png", false); //$NON-NLS-1$
- declareWorkbenchImage(ideBundle, IDEInternalWorkbenchImages.IMG_WIZBAN_NEWFOLDER_WIZ,
- PATH_WIZBAN + "newfolder_wiz.png", false); //$NON-NLS-1$
- declareWorkbenchImage(ideBundle, IDEInternalWorkbenchImages.IMG_WIZBAN_NEWFILE_WIZ,
- PATH_WIZBAN + "newfile_wiz.png", false); //$NON-NLS-1$
-
- declareWorkbenchImage(ideBundle, IDEInternalWorkbenchImages.IMG_WIZBAN_IMPORTDIR_WIZ,
- PATH_WIZBAN + "importdir_wiz.png", false); //$NON-NLS-1$
- declareWorkbenchImage(ideBundle, IDEInternalWorkbenchImages.IMG_WIZBAN_IMPORTZIP_WIZ,
- PATH_WIZBAN + "importzip_wiz.png", false); //$NON-NLS-1$
-
- declareWorkbenchImage(ideBundle, IDEInternalWorkbenchImages.IMG_WIZBAN_EXPORTDIR_WIZ,
- PATH_WIZBAN + "exportdir_wiz.png", false); //$NON-NLS-1$
- declareWorkbenchImage(ideBundle, IDEInternalWorkbenchImages.IMG_WIZBAN_EXPORTZIP_WIZ,
- PATH_WIZBAN + "exportzip_wiz.png", false); //$NON-NLS-1$
-
- declareWorkbenchImage(ideBundle,
- IDEInternalWorkbenchImages.IMG_WIZBAN_RESOURCEWORKINGSET_WIZ, PATH_WIZBAN
- + "workset_wiz.png", false); //$NON-NLS-1$
-
- declareWorkbenchImage(ideBundle, IDEInternalWorkbenchImages.IMG_DLGBAN_SAVEAS_DLG,
- PATH_WIZBAN + "saveas_wiz.png", false); //$NON-NLS-1$
-
- declareWorkbenchImage(ideBundle, IDEInternalWorkbenchImages.IMG_DLGBAN_QUICKFIX_DLG,
- PATH_WIZBAN + "quick_fix.png", false); //$NON-NLS-1$
-
- declareWorkbenchImage(ideBundle, IDE.SharedImages.IMG_OBJ_PROJECT, PATH_OBJECT
- + "prj_obj.gif", true); //$NON-NLS-1$
- declareWorkbenchImage(ideBundle, IDE.SharedImages.IMG_OBJ_PROJECT_CLOSED, PATH_OBJECT
- + "cprj_obj.gif", true); //$NON-NLS-1$
- declareWorkbenchImage(ideBundle, IDE.SharedImages.IMG_OPEN_MARKER, PATH_ELOCALTOOL
- + "gotoobj_tsk.gif", true); //$NON-NLS-1$
-
- declareWorkbenchImage(ideBundle, IDEInternalWorkbenchImages.IMG_ELCL_QUICK_FIX_ENABLED,
- PATH_ELOCALTOOL + "smartmode_co.gif", true); //$NON-NLS-1$
-
- declareWorkbenchImage(ideBundle, IDEInternalWorkbenchImages.IMG_DLCL_QUICK_FIX_DISABLED,
- PATH_DLOCALTOOL + "smartmode_co.gif", true); //$NON-NLS-1$
-
- declareWorkbenchImage(ideBundle, IDE.SharedImages.IMG_OBJS_TASK_TSK, PATH_OBJECT
- + "taskmrk_tsk.gif", true); //$NON-NLS-1$
- declareWorkbenchImage(ideBundle, IDE.SharedImages.IMG_OBJS_BKMRK_TSK, PATH_OBJECT
- + "bkmrk_tsk.gif", true); //$NON-NLS-1$
-
- declareWorkbenchImage(ideBundle, IDEInternalWorkbenchImages.IMG_OBJS_COMPLETE_TSK,
- PATH_OBJECT + "complete_tsk.gif", true); //$NON-NLS-1$
- declareWorkbenchImage(ideBundle, IDEInternalWorkbenchImages.IMG_OBJS_INCOMPLETE_TSK,
- PATH_OBJECT + "incomplete_tsk.gif", true); //$NON-NLS-1$
- declareWorkbenchImage(ideBundle, IDEInternalWorkbenchImages.IMG_OBJS_WELCOME_ITEM,
- PATH_OBJECT + "welcome_item.gif", true); //$NON-NLS-1$
- declareWorkbenchImage(ideBundle, IDEInternalWorkbenchImages.IMG_OBJS_WELCOME_BANNER,
- PATH_OBJECT + "welcome_banner.gif", true); //$NON-NLS-1$
- declareWorkbenchImage(ideBundle, IDEInternalWorkbenchImages.IMG_OBJS_ERROR_PATH,
- PATH_OBJECT + "error_tsk.gif", true); //$NON-NLS-1$
- declareWorkbenchImage(ideBundle, IDEInternalWorkbenchImages.IMG_OBJS_WARNING_PATH,
- PATH_OBJECT + "warn_tsk.gif", true); //$NON-NLS-1$
- declareWorkbenchImage(ideBundle, IDEInternalWorkbenchImages.IMG_OBJS_INFO_PATH, PATH_OBJECT
- + "info_tsk.gif", true); //$NON-NLS-1$
-
- declareWorkbenchImage(ideBundle, IDEInternalWorkbenchImages.IMG_LCL_FLAT_LAYOUT,
- PATH_ELOCALTOOL + "flatLayout.gif", true); //$NON-NLS-1$
- declareWorkbenchImage(ideBundle, IDEInternalWorkbenchImages.IMG_LCL_HIERARCHICAL_LAYOUT,
- PATH_ELOCALTOOL + "hierarchicalLayout.gif", true); //$NON-NLS-1$
- declareWorkbenchImage(ideBundle, IDEInternalWorkbenchImages.IMG_ETOOL_PROBLEM_CATEGORY,
- PATH_ETOOL + "problem_category.gif", true); //$NON-NLS-1$
- }
-
- /**
- * Declares an IDE-specific workbench image.
- *
- * Declares all IDE-specific workbench images. This includes both "shared"
- * images (named in ( @link IDE.SharedImages} ) and internal images (named in
- * {@link org.eclipse.ui.internal.ide.IDEInternalWorkbenchImages}).
- *
- * @param symbolicName
- * the symbolic name of the image
- * @param path
- * the path of the image file; this path is relative to the base
- * of the IDE plug-in
- * @param shared
- * <code>true</code> if this is a shared image, and
- * <code>false</code> if this is not a shared image
- */
- private void declareWorkbenchImage(Bundle ideBundle, String symbolicName, String path, boolean shared) {
- URL url = FileLocator.find(ideBundle, new Path(path), null);
- ImageDescriptor desc = ImageDescriptor.createFromURL(url);
- getWorkbenchConfigurer().declareImage(symbolicName, desc, shared);
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tracing.rcp.ui/src/org/eclipse/linuxtools/internal/tracing/rcp/ui/ApplicationWorkbenchWindowAdvisor.java b/lttng/org.eclipse.linuxtools.tracing.rcp.ui/src/org/eclipse/linuxtools/internal/tracing/rcp/ui/ApplicationWorkbenchWindowAdvisor.java
deleted file mode 100644
index 5e8f830446..0000000000
--- a/lttng/org.eclipse.linuxtools.tracing.rcp.ui/src/org/eclipse/linuxtools/internal/tracing/rcp/ui/ApplicationWorkbenchWindowAdvisor.java
+++ /dev/null
@@ -1,165 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2013, 2014 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:
- * Bernd Hufmann - Initial API and implementation
- **********************************************************************/
-package org.eclipse.linuxtools.internal.tracing.rcp.ui;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.linuxtools.internal.tracing.rcp.ui.cli.CliParser;
-import org.eclipse.linuxtools.tmf.core.TmfCommonConstants;
-import org.eclipse.linuxtools.tmf.ui.project.model.TmfOpenTraceHelper;
-import org.eclipse.linuxtools.tmf.ui.project.model.TmfProjectRegistry;
-import org.eclipse.linuxtools.tmf.ui.project.model.TmfTraceFolder;
-import org.eclipse.ui.IPerspectiveDescriptor;
-import org.eclipse.ui.IPerspectiveListener;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.application.ActionBarAdvisor;
-import org.eclipse.ui.application.IActionBarConfigurer;
-import org.eclipse.ui.application.IWorkbenchWindowConfigurer;
-import org.eclipse.ui.application.WorkbenchWindowAdvisor;
-
-/**
- * The WorkbenchAdvisor implementation of the LTTng RCP.
- *
- * @author Bernd Hufmann
- */
-public class ApplicationWorkbenchWindowAdvisor extends WorkbenchWindowAdvisor {
-
- // ------------------------------------------------------------------------
- // Constants
- // ------------------------------------------------------------------------
- @SuppressWarnings("nls")
- private static final String[] UNWANTED_ACTION_SET = {
- "org.eclipse.search.searchActionSet",
- "org.eclipse.rse.core.search.searchActionSet",
- "org.eclipse.debug.ui.launchActionSet",
- "org.eclipse.debug.ui.debugActionSet",
- "org.eclipse.debug.ui.breakpointActionSet",
- "org.eclipse.team.ui",
- "org.eclipse.ui.externaltools.ExternalToolsSet",
-// "org.eclipse.update.ui.softwareUpdates",
-// "org.eclipse.ui.edit.text.actionSet.navigation",
-// "org.eclipse.ui.actionSet.keyBindings",
-// "org.eclipse.ui.edit.text.actionSet.navigation",
- "org.eclipse.ui.edit.text.actionSet.convertLineDelimitersTo",
-// "org.eclipse.ui.edit.text.actionSet.annotationNavigation",
-// "org.eclipse.ui.NavigateActionSet",
-// "org.eclipse.jdt.ui.JavaActionSet",
-// "org.eclipse.jdt.ui.A_OpenActionSet",
-// "org.eclipse.jdt.ui.text.java.actionSet.presentation",
-// "org.eclipse.jdt.ui.JavaElementCreationActionSet",
-// "org.eclipse.jdt.ui.CodingActionSet",
-// "org.eclipse.jdt.ui.SearchActionSet",
-// "org.eclipse.jdt.debug.ui.JDTDebugActionSet",
- "org.eclipse.ui.edit.text.actionSet.openExternalFile",
-// "org.eclipse.debug.ui.profileActionSet"
- };
-
- // ------------------------------------------------------------------------
- // Constructors
- // ------------------------------------------------------------------------
-
- /**
- * Standard constructor
- *
- * @param configurer
- * - the workbench window configurer
- */
- public ApplicationWorkbenchWindowAdvisor(IWorkbenchWindowConfigurer configurer) {
- super(configurer);
- }
-
- // ------------------------------------------------------------------------
- // Operations
- // ------------------------------------------------------------------------
- @Override
- public ActionBarAdvisor createActionBarAdvisor(IActionBarConfigurer configurer) {
- return new ApplicationActionBarAdvisor(configurer);
- }
-
- @Override
- public void preWindowOpen() {
- IWorkbenchWindowConfigurer configurer = getWindowConfigurer();
- configurer.setShowCoolBar(false);
- configurer.setShowStatusLine(true);
- configurer.setShowProgressIndicator(true);
- }
-
- @Override
- public void postWindowCreate() {
- super.postWindowOpen();
- TracingRcpPlugin.getDefault().getWorkbench().getActiveWorkbenchWindow().addPerspectiveListener(new PerspectiveListener());
- IProject defaultProject = createDefaultProject();
- hideActionSets();
- openTraceIfNecessary(defaultProject);
- }
-
-
-
- private static void openTraceIfNecessary(IProject project) {
- String traceToOpen = TracingRcpPlugin.getDefault().getCli().getArgument(CliParser.OPEN_FILE_LOCATION);
- if (traceToOpen != null) {
- try {
- TmfTraceFolder destinationFolder = TmfProjectRegistry.getProject(project, true).getTracesFolder();
- TmfOpenTraceHelper.openTraceFromPath(destinationFolder, traceToOpen, TracingRcpPlugin.getDefault().getWorkbench().getActiveWorkbenchWindow().getShell());
- } catch (CoreException e) {
- TracingRcpPlugin.getDefault().logError(e.getMessage());
- }
-
- }
- }
-
- // ------------------------------------------------------------------------
- // Helper methods
- // ------------------------------------------------------------------------
-
- /**
- * Hides the unwanted action sets
- */
- private static void hideActionSets() {
-
- IWorkbenchPage page = TracingRcpPlugin.getDefault().getWorkbench().getActiveWorkbenchWindow().getActivePage();
-
- for (int i = 0; i < UNWANTED_ACTION_SET.length; i++) {
- page.hideActionSet(UNWANTED_ACTION_SET[i]);
- }
- }
-
- private static IProject createDefaultProject() {
- return TmfProjectRegistry.createProject(TmfCommonConstants.DEFAULT_TRACE_PROJECT_NAME, null, new NullProgressMonitor());
- }
-
- /**
- * A perspective listener implementation
- *
- * @author Bernd Hufmann
- */
- public class PerspectiveListener implements IPerspectiveListener {
-
- /**
- * Default Constructor
- */
- public PerspectiveListener() {
- }
-
- @Override
- public void perspectiveActivated(IWorkbenchPage page, IPerspectiveDescriptor perspective) {
- createDefaultProject();
- hideActionSets();
- }
-
- @Override
- public void perspectiveChanged(IWorkbenchPage page, IPerspectiveDescriptor perspective, String changeId) {
- }
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tracing.rcp.ui/src/org/eclipse/linuxtools/internal/tracing/rcp/ui/TracingRcpPlugin.java b/lttng/org.eclipse.linuxtools.tracing.rcp.ui/src/org/eclipse/linuxtools/internal/tracing/rcp/ui/TracingRcpPlugin.java
deleted file mode 100644
index 1c1f3fea77..0000000000
--- a/lttng/org.eclipse.linuxtools.tracing.rcp.ui/src/org/eclipse/linuxtools/internal/tracing/rcp/ui/TracingRcpPlugin.java
+++ /dev/null
@@ -1,167 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2013, 2014 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:
- * Bernd Hufmann - Initial API and implementation
- * Matthew Khouzam - Implementation of File->Open
- **********************************************************************/
-package org.eclipse.linuxtools.internal.tracing.rcp.ui;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.linuxtools.internal.tracing.rcp.ui.cli.TracingRCPCliException;
-import org.eclipse.linuxtools.internal.tracing.rcp.ui.cli.CliParser;
-import org.eclipse.ui.plugin.AbstractUIPlugin;
-import org.osgi.framework.BundleContext;
-
-/**
- * The activator class controls the plug-in life cycle.
- *
- * @author Bernd Hufmann
- */
-public class TracingRcpPlugin extends AbstractUIPlugin {
-
- // ------------------------------------------------------------------------
- // Constants
- // ------------------------------------------------------------------------
- /**
- * The plug-in ID
- */
- public static final String PLUGIN_ID = "org.eclipse.linuxtools.tracing.rcp.ui"; //$NON-NLS-1$
-
- /**
- * The default workspace name
- */
- public static final String WORKSPACE_NAME = ".traceviewer"; //$NON-NLS-1$
-
- // ------------------------------------------------------------------------
- // Attributes
- // ------------------------------------------------------------------------
-
- // The shared instance
- private static TracingRcpPlugin fPlugin;
- private static CliParser fCli;
-
- // ------------------------------------------------------------------------
- // Constructor(s)
- // ------------------------------------------------------------------------
- /**
- * The default constructor
- */
- public TracingRcpPlugin() {
- }
-
- // ------------------------------------------------------------------------
- // Accessors
- // ------------------------------------------------------------------------
- /**
- * Returns the shared instance
- *
- * @return the shared instance
- */
- public static TracingRcpPlugin getDefault() {
- return fPlugin;
- }
-
- /**
- * Gets the tracing workspace root directory. By default it uses the user's
- * home directory. This value can be overwritten by using the global
- * TRACING_RCP_ROOT environment variable.
- *
- * @return the tracing workspace root directory
- */
- public static String getWorkspaceRoot() {
- /* Look for the environment variable in the global environment variables */
- String workspaceRoot = System.getenv().get("TRACING_RCP_ROOT"); //$NON-NLS-1$
- if (workspaceRoot == null) {
- /* Use the user's home directory */
- workspaceRoot = System.getProperty("user.home"); //$NON-NLS-1$
- }
- return workspaceRoot;
- }
-
- // ------------------------------------------------------------------------
- // Operation
- // ------------------------------------------------------------------------
- @Override
- public void start(BundleContext context) throws Exception {
- super.start(context);
- fPlugin = this;
- String args[] = Platform.getCommandLineArgs();
- fCli = null;
- try {
- fCli = new CliParser(args);
- } catch (TracingRCPCliException e) {
- logError(e.getMessage());
- }
- }
-
- @Override
- public void stop(BundleContext context) throws Exception {
- fPlugin = null;
- super.stop(context);
- }
-
- /**
- * Gets the command line parser
- *
- * @return the command line parser
- */
- public CliParser getCli() {
- return fCli;
- }
-
- /**
- * Returns an image descriptor for the image file at the given plug-in
- * relative path
- *
- * @param path
- * the path
- * @return the image descriptor
- */
- public static ImageDescriptor getImageDescriptor(String path) {
- return imageDescriptorFromPlugin(PLUGIN_ID, path);
- }
-
- /**
- * Log an error
- *
- * @param message
- * the error message to log
- */
- public void logError(String message) {
- getDefault().getLog().log(new Status(IStatus.ERROR, PLUGIN_ID, message));
- }
-
- /**
- * Log an error
- *
- * @param message
- * the error message to log
- * @param e
- * the exception to log
- */
- public void logError(String message, Exception e) {
- getDefault().getLog().log(
- new Status(IStatus.ERROR, PLUGIN_ID, message, e));
- }
-
- /**
- * Log a warning
- *
- * @param message
- * the warning message to log
- */
- public void logWarning(String message) {
- getDefault().getLog().log(
- new Status(IStatus.WARNING, PLUGIN_ID, message));
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tracing.rcp.ui/src/org/eclipse/linuxtools/internal/tracing/rcp/ui/cli/CliParser.java b/lttng/org.eclipse.linuxtools.tracing.rcp.ui/src/org/eclipse/linuxtools/internal/tracing/rcp/ui/cli/CliParser.java
deleted file mode 100644
index f1e6977f0a..0000000000
--- a/lttng/org.eclipse.linuxtools.tracing.rcp.ui/src/org/eclipse/linuxtools/internal/tracing/rcp/ui/cli/CliParser.java
+++ /dev/null
@@ -1,75 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2013, 2014 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:
- * Matthew Khouzam- Initial API and implementation
- **********************************************************************/
-
-package org.eclipse.linuxtools.internal.tracing.rcp.ui.cli;
-
-import java.util.HashMap;
-import java.util.Map;
-
-import org.eclipse.linuxtools.internal.tracing.rcp.ui.messages.Messages;
-
-/**
- * Command line parser
- *
- * @author Matthew Khouzam
- */
-public class CliParser {
-
- private static final String NOUI_ARG = "--NOUI"; //$NON-NLS-1$
-
- private static final String OPEN_ARG = "--open"; //$NON-NLS-1$
-
- private final Map<String, String> params = new HashMap<>();
-
- /** Open key */
- public static final String OPEN_FILE_LOCATION = ".,-=open=-,."; //$NON-NLS-1$
- /** No ui key */
- public static final String NO_UI = ".,-=noui=-,."; //$NON-NLS-1$
-
- /**
- * Constructor
- *
- * @param args
- * the command line arguments
- * @throws TracingRCPCliException
- * an error occurred parsing the cli
- */
- public CliParser(final String[] args) throws TracingRCPCliException {
- for (int i = 0; i < args.length; i++) {
- if (args[i].equals(OPEN_ARG)) {
- put(OPEN_FILE_LOCATION, args, i);
- // skip since we have two args
- i++;
- }
- else if (args[i].equals(NOUI_ARG)) {
- params.put(NO_UI, new String());
- }
- }
- }
-
- private void put(String key, String[] args, int pos) throws TracingRCPCliException {
- if (args.length <= pos) {
- throw new TracingRCPCliException(Messages.CliParser_MalformedCommand + ':' + ' ' + args[pos]);
- }
- params.put(key, args[pos + 1]);
- }
-
- /**
- * Get a parameter from the parsed command line
- * @param key OPEN_FILE_LOCATION or NO_UI
- * @return the value of the parameter, can be null
- */
- public String getArgument(String key) {
- return params.get(key);
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tracing.rcp.ui/src/org/eclipse/linuxtools/internal/tracing/rcp/ui/cli/TracingRCPCliException.java b/lttng/org.eclipse.linuxtools.tracing.rcp.ui/src/org/eclipse/linuxtools/internal/tracing/rcp/ui/cli/TracingRCPCliException.java
deleted file mode 100644
index 8c20e1bdc2..0000000000
--- a/lttng/org.eclipse.linuxtools.tracing.rcp.ui/src/org/eclipse/linuxtools/internal/tracing/rcp/ui/cli/TracingRCPCliException.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2013 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:
- * Matthew Khouzam- Initial API and implementation
- **********************************************************************/
-
-package org.eclipse.linuxtools.internal.tracing.rcp.ui.cli;
-
-/**
- * Command line exceptions.
- *
- * @author Matthew Khouzam
- */
-public class TracingRCPCliException extends Exception {
-
- /**
- * Serial UID
- */
- private static final long serialVersionUID = -844846299720475123L;
-
- /**
- * Constructs a new exception with the specified detail message. The cause
- * is not initialized, and may subsequently be initialized by a call to
- * {@link #initCause}.
- *
- * @param message
- * the detail message. The detail message is saved for later
- * retrieval by the {@link #getMessage()} method.
- */
- public TracingRCPCliException(String message) {
- super(message);
- }
-
-}
diff --git a/lttng/org.eclipse.linuxtools.tracing.rcp.ui/src/org/eclipse/linuxtools/internal/tracing/rcp/ui/messages/Messages.java b/lttng/org.eclipse.linuxtools.tracing.rcp.ui/src/org/eclipse/linuxtools/internal/tracing/rcp/ui/messages/Messages.java
deleted file mode 100644
index 06b5d266ef..0000000000
--- a/lttng/org.eclipse.linuxtools.tracing.rcp.ui/src/org/eclipse/linuxtools/internal/tracing/rcp/ui/messages/Messages.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2013 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:
- * Bernd Hufmann - Initial API and implementation
- **********************************************************************/
-package org.eclipse.linuxtools.internal.tracing.rcp.ui.messages;
-
-import org.eclipse.osgi.util.NLS;
-
-/**
- * Messages file for the tracing RCP.
- *
- * @author Bernd Hufmann
- */
-public class Messages extends NLS {
- private static final String BUNDLE_NAME = "org.eclipse.linuxtools.internal.tracing.rcp.ui.messages.messages"; //$NON-NLS-1$
-
- /** Error title for error during workspace creation */
- public static String Application_WorkspaceCreationError;
- /** Error message if workspace root doesn't exist */
- public static String Application_WorkspaceRootNotExistError;
- /** Error message if workspace root is write protected */
- public static String Application_WorkspaceRootPermissionError;
- /** Error message if workspace is already in use */
- public static String Application_WorkspaceInUseError;
- /** Error message if workspace can't be saved during shutdown */
- public static String Application_WorkspaceSavingError;
- /** Error message for internal errors */
- public static String Application_InternalError;
-
- /** Malformed command */
- public static String CliParser_MalformedCommand;
- /** Unkown command */
- public static String CliParser_UnknownCommand;
-
- static {
- // initialize resource bundle
- NLS.initializeMessages(BUNDLE_NAME, Messages.class);
- }
-
- private Messages() {
- }
-}
diff --git a/lttng/org.eclipse.linuxtools.tracing.rcp.ui/src/org/eclipse/linuxtools/internal/tracing/rcp/ui/messages/messages.properties b/lttng/org.eclipse.linuxtools.tracing.rcp.ui/src/org/eclipse/linuxtools/internal/tracing/rcp/ui/messages/messages.properties
deleted file mode 100644
index e10d1cd0c4..0000000000
--- a/lttng/org.eclipse.linuxtools.tracing.rcp.ui/src/org/eclipse/linuxtools/internal/tracing/rcp/ui/messages/messages.properties
+++ /dev/null
@@ -1,19 +0,0 @@
-###############################################################################
-# Copyright (c) 2013 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:
-# Bernd Hufmann - initial API and implementation
-###############################################################################
-Application_WorkspaceCreationError=Workspace Creation Error
-Application_WorkspaceRootNotExistError=Workspace root {0} doesn't exists.\n\nPlease create the workspace root.
-Application_WorkspaceRootPermissionError=No permission to create workspace in workspace root {0}\n\nPlease change permission of the workspace root.
-Application_WorkspaceInUseError=Could not launch the application because the associated workspace is currently in use. \n\n{0}
-Application_InternalError=Internal Error
-Application_WorkspaceSavingError=Problem saving workspace
-CliParser_MalformedCommand=malformed command
-CliParser_UnknownCommand=unknown command
diff --git a/lttng/org.eclipse.linuxtools.tracing.rcp/.project b/lttng/org.eclipse.linuxtools.tracing.rcp/.project
deleted file mode 100644
index 97b38e425c..0000000000
--- a/lttng/org.eclipse.linuxtools.tracing.rcp/.project
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>org.eclipse.linuxtools.tracing.rcp</name>
- <comment></comment>
- <projects>
- </projects>
- <buildSpec>
- <buildCommand>
- <name>org.eclipse.pde.FeatureBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>org.eclipse.pde.FeatureNature</nature>
- </natures>
-</projectDescription>
diff --git a/lttng/org.eclipse.linuxtools.tracing.rcp/.settings/org.eclipse.core.resources.prefs b/lttng/org.eclipse.linuxtools.tracing.rcp/.settings/org.eclipse.core.resources.prefs
deleted file mode 100644
index 99f26c0203..0000000000
--- a/lttng/org.eclipse.linuxtools.tracing.rcp/.settings/org.eclipse.core.resources.prefs
+++ /dev/null
@@ -1,2 +0,0 @@
-eclipse.preferences.version=1
-encoding/<project>=UTF-8
diff --git a/lttng/org.eclipse.linuxtools.tracing.rcp/.settings/org.eclipse.core.runtime.prefs b/lttng/org.eclipse.linuxtools.tracing.rcp/.settings/org.eclipse.core.runtime.prefs
deleted file mode 100644
index 5a0ad22d2a..0000000000
--- a/lttng/org.eclipse.linuxtools.tracing.rcp/.settings/org.eclipse.core.runtime.prefs
+++ /dev/null
@@ -1,2 +0,0 @@
-eclipse.preferences.version=1
-line.separator=\n
diff --git a/lttng/org.eclipse.linuxtools.tracing.rcp/build.properties b/lttng/org.eclipse.linuxtools.tracing.rcp/build.properties
deleted file mode 100644
index 988d4c1b15..0000000000
--- a/lttng/org.eclipse.linuxtools.tracing.rcp/build.properties
+++ /dev/null
@@ -1,14 +0,0 @@
-###############################################################################
-# Copyright (c) 2014 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:
-# Ericsson - Initial API and implementation
-###############################################################################
-bin.includes = feature.xml,\
- feature.properties,\
- p2.inf
diff --git a/lttng/org.eclipse.linuxtools.tracing.rcp/feature.properties b/lttng/org.eclipse.linuxtools.tracing.rcp/feature.properties
deleted file mode 100644
index 0e59de1a29..0000000000
--- a/lttng/org.eclipse.linuxtools.tracing.rcp/feature.properties
+++ /dev/null
@@ -1,20 +0,0 @@
-###############################################################################
-# Copyright (c) 2013 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:
-# Bernd Hufmann - Initial API and implementation
-###############################################################################
-
-featureName=Linux Tools Trace Viewer Feature
-
-description=Feature aggregating the plug-in dependencies for the Trace Viewer application.
-
-featureProvider=Eclipse Linux Tools
-
-copyright=Copyright 2014 Ericsson
-
diff --git a/lttng/org.eclipse.linuxtools.tracing.rcp/feature.xml b/lttng/org.eclipse.linuxtools.tracing.rcp/feature.xml
deleted file mode 100644
index 8cad3bce5d..0000000000
--- a/lttng/org.eclipse.linuxtools.tracing.rcp/feature.xml
+++ /dev/null
@@ -1,99 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<feature
- id="org.eclipse.linuxtools.tracing.rcp"
- label="%featureName"
- version="1.1.0.qualifier"
- provider-name="%featureProvider"
- plugin="org.eclipse.linuxtools.tracing.rcp.branding"
- license-feature="org.eclipse.license"
- license-feature-version="0.0.0">
-
- <description>
- %description
- </description>
-
- <copyright>
- %copyright
- </copyright>
-
- <license url="%licenseURL">
- %license
- </license>
-
- <url>
- <update label="Linux Tools Update Site" url="http://download.eclipse.org/linuxtools/update"/>
- </url>
-
- <requires>
- <import feature="org.eclipse.e4.rcp" version="0.0.0" match="greaterOrEqual"/>
- <import feature="org.eclipse.equinox.p2.core.feature" version="0.0.0" match="greaterOrEqual"/>
- <import feature="org.eclipse.equinox.p2.extras.feature" version="0.0.0" match="greaterOrEqual"/>
- <import feature="org.eclipse.help" version="0.0.0" match="greaterOrEqual"/>
- <import feature="org.eclipse.linuxtools.tmf" version="3.1.0" match="greaterOrEqual"/>
- <import feature="org.eclipse.platform" version="0.0.0" match="greaterOrEqual"/>
- </requires>
-
- <plugin
- id="org.antlr.runtime"
- download-size="0"
- install-size="0"
- version="0.0.0"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.linuxtools.tracing.rcp.ui"
- download-size="0"
- install-size="0"
- version="0.0.0"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.linuxtools.tracing.rcp.help"
- download-size="0"
- install-size="0"
- version="0.0.0"
- unpack="false"/>
-
- <plugin
- id="org.swtchart"
- download-size="0"
- install-size="0"
- version="0.0.0"
- unpack="false"/>
-
- <plugin
- id="com.google.guava"
- download-size="0"
- install-size="0"
- version="0.0.0"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.cdt.core"
- download-size="0"
- install-size="0"
- version="0.0.0"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.cdt.core.native"
- download-size="0"
- install-size="0"
- version="0.0.0"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.ui.trace"
- download-size="0"
- install-size="0"
- version="0.0.0"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.equinox.concurrent"
- download-size="0"
- install-size="0"
- version="0.0.0"
- unpack="false"/>
-
-</feature>
diff --git a/lttng/org.eclipse.linuxtools.tracing.rcp/p2.inf b/lttng/org.eclipse.linuxtools.tracing.rcp/p2.inf
deleted file mode 100644
index 5246a0c824..0000000000
--- a/lttng/org.eclipse.linuxtools.tracing.rcp/p2.inf
+++ /dev/null
@@ -1,3 +0,0 @@
-instructions.configure=\
-org.eclipse.equinox.p2.touchpoint.eclipse.addRepository(location:http${#58}//download.eclipse.org/linuxtools/updates-nightly,type:0,name:Linux Tools,enabled:false); \
-org.eclipse.equinox.p2.touchpoint.eclipse.addRepository(location:http${#58}//download.eclipse.org/linuxtools/updates-nightly,type:1,name:Linux Tools,enabled:false);
diff --git a/lttng/org.eclipse.linuxtools.tracing.rcp/pom.xml b/lttng/org.eclipse.linuxtools.tracing.rcp/pom.xml
deleted file mode 100644
index 8a5aefe1f8..0000000000
--- a/lttng/org.eclipse.linuxtools.tracing.rcp/pom.xml
+++ /dev/null
@@ -1,99 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Copyright (C) 2014 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
--->
-<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
- <modelVersion>4.0.0</modelVersion>
-
- <parent>
- <artifactId>linuxtools-lttng-parent</artifactId>
- <groupId>org.eclipse.linuxtools.lttng</groupId>
- <version>3.2.0-SNAPSHOT</version>
- </parent>
-
- <artifactId>org.eclipse.linuxtools.tracing.rcp</artifactId>
- <version>1.1.0-SNAPSHOT</version>
- <packaging>eclipse-feature</packaging>
-
- <name>Linux Tools Trace Viewer Feature</name>
-
- <groupId>org.eclipse.linuxtools.tracing.rcp</groupId>
-
- <build>
- <plugins>
- <plugin>
- <groupId>org.eclipse.tycho.extras</groupId>
- <artifactId>tycho-source-feature-plugin</artifactId>
- <executions>
- <execution>
- <id>source-feature</id>
- <phase>package</phase>
- <goals>
- <goal>source-feature</goal>
- </goals>
- <configuration>
- <excludes>
- <plugin id="org.eclipse.cdt.core"/>
- <plugin id="org.eclipse.cdt.core.native"/>
- <plugin id="org.eclipse.core.runtime.compatibility.auth"/>
- <plugin id="org.eclipse.swt"/>
- <plugin id="org.eclipse.swt.wpf.win32.x86"/>
- <plugin id="org.eclipse.swt.gtk.solaris.sparc"/>
- <plugin id="org.eclipse.swt.gtk.solaris.x86"/>
- <plugin id="org.eclipse.swt.gtk.linux.ppc"/>
- <plugin id="org.eclipse.swt.cocoa.macosx"/>
- <plugin id="org.eclipse.equinox.launcher.gtk.solaris.sparc"/>
- <plugin id="org.eclipse.equinox.launcher.gtk.linux.x86"/>
- <plugin id="org.eclipse.equinox.launcher.gtk.linux.x86_64"/>
- <plugin id="org.eclipse.equinox.launcher.win32.win32.x86"/>
- <plugin id="org.eclipse.ui.cocoa"/>
- <plugin id="org.eclipse.ui.trace"/>
- <plugin id="org.eclipse.core.filesystem.linux.x86"/>
- <plugin id="org.eclipse.core.filesystem.linux.x86_64"/>
- <plugin id="org.eclipse.core.filesystem.solaris.sparc"/>
- <plugin id="org.eclipse.core.filesystem.macosx"/>
- <plugin id="org.eclipse.core.filesystem.win32.x86"/>
- <plugin id="org.eclipse.core.resources.win32.x86"/>
- <plugin id="org.eclipse.core.filesystem.linux.ppc"/>
- <plugin id="org.eclipse.equinox.concurrent"/>
- <plugin id="org.eclipse.equinox.launcher.gtk.linux.ppc"/>
- <plugin id="org.eclipse.equinox.launcher.win32.win32.x86_64"/>
- <plugin id="org.eclipse.equinox.launcher.wpf.win32.x86"/>
- <plugin id="org.eclipse.equinox.launcher.cocoa.macosx"/>
- <plugin id="org.eclipse.equinox.launcher.cocoa.macosx.x86_64"/>
- <plugin id="org.eclipse.core.net.win32.x86"/>
- <plugin id="org.eclipse.core.net.linux.x86"/>
- <plugin id="org.eclipse.linuxtools.tracing.rcp.help"/>
- <plugin id="org.sat4j.core"/>
- <plugin id="org.sat4j.pb"/>
- <plugin id="org.swtchart"/>
- <plugin id="com.google.guava"/>
- </excludes>
- </configuration>
- </execution>
- </executions>
- </plugin>
- <plugin>
- <groupId>org.eclipse.tycho</groupId>
- <artifactId>tycho-p2-plugin</artifactId>
- <version>${tycho-version}</version>
- <executions>
- <execution>
- <id>attached-p2-metadata</id>
- <phase>package</phase>
- <goals>
- <goal>p2-metadata</goal>
- </goals>
- </execution>
- </executions>
- </plugin>
- </plugins>
- </build>
-
-</project>
diff --git a/lttng/plugins.dia b/lttng/plugins.dia
deleted file mode 100644
index 08a37c5728..0000000000
--- a/lttng/plugins.dia
+++ /dev/null
Binary files differ
diff --git a/lttng/plugins.svg b/lttng/plugins.svg
deleted file mode 100644
index da9e97e25b..0000000000
--- a/lttng/plugins.svg
+++ /dev/null
@@ -1,109 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/PR-SVG-20010719/DTD/svg10.dtd">
-<svg width="31cm" height="23cm" viewBox="118 -8 619 451" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
- <rect style="fill: none; fill-opacity:0; stroke-width: 2; stroke-dasharray: 10; stroke: #000000" x="246.002" y="105" width="376" height="239"/>
- <g>
- <ellipse style="fill: #ffffff" cx="433.435" cy="293.967" rx="58.2268" ry="29.4071"/>
- <ellipse style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" cx="433.435" cy="293.967" rx="58.2268" ry="29.4071"/>
- <text font-size="12.8" style="fill: #000000;text-anchor:middle;font-family:sans-serif;font-style:normal;font-weight:normal" x="433.435" y="289.867">
- <tspan x="433.435" y="289.867">tmf.core</tspan>
- <tspan x="433.435" y="305.867">tmf.ui</tspan>
- </text>
- </g>
- <g>
- <ellipse style="fill: #ffffff" cx="329.435" cy="184.966" rx="49.5673" ry="28.0336"/>
- <ellipse style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" cx="329.435" cy="184.966" rx="49.5673" ry="28.0336"/>
- <text font-size="12.8" style="fill: #000000;text-anchor:middle;font-family:sans-serif;font-style:normal;font-weight:normal" x="329.435" y="188.866">
- <tspan x="329.435" y="188.866">tmf.ctf.*</tspan>
- </text>
- </g>
- <g>
- <ellipse style="fill: #ffffff" cx="518.435" cy="165.466" rx="66.6134" ry="24.3805"/>
- <ellipse style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" cx="518.435" cy="165.466" rx="66.6134" ry="24.3805"/>
- <text font-size="12.8" style="fill: #000000;text-anchor:middle;font-family:sans-serif;font-style:normal;font-weight:normal" x="518.435" y="169.366">
- <tspan x="518.435" y="169.366">tmf.analysis.*</tspan>
- </text>
- </g>
- <g>
- <ellipse style="fill: #ffffff" cx="258.298" cy="28.2617" rx="66.4994" ry="34.5779"/>
- <ellipse style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" cx="258.298" cy="28.2617" rx="66.4994" ry="34.5779"/>
- <text font-size="12.8" style="fill: #000000;text-anchor:middle;font-family:sans-serif;font-style:normal;font-weight:normal" x="258.298" y="24.1617">
- <tspan x="258.298" y="24.1617">lttng2.kernel</tspan>
- <tspan x="258.298" y="40.1617">lttng2.ust</tspan>
- </text>
- </g>
- <g>
- <ellipse style="fill: #ffffff" cx="316.002" cy="413.999" rx="56.5743" ry="28.2872"/>
- <ellipse style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" cx="316.002" cy="413.999" rx="56.5743" ry="28.2872"/>
- <text font-size="12.8" style="fill: #000000;text-anchor:middle;font-family:sans-serif;font-style:normal;font-weight:normal" x="316.002" y="417.899">
- <tspan x="316.002" y="417.899">statesystem</tspan>
- </text>
- </g>
- <g>
- <ellipse style="fill: #ffffff" cx="157.191" cy="274.148" rx="37.8112" ry="22.4596"/>
- <ellipse style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" cx="157.191" cy="274.148" rx="37.8112" ry="22.4596"/>
- <text font-size="12.8" style="fill: #000000;text-anchor:middle;font-family:sans-serif;font-style:normal;font-weight:normal" x="157.191" y="278.048">
- <tspan x="157.191" y="278.048">ctf.*</tspan>
- </text>
- </g>
- <g>
- <line style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" x1="291.983" y1="204.358" x2="195.21" y2="254.463"/>
- <polygon style="fill: #000000" points="188.55,257.911 195.131,248.873 195.21,254.463 199.729,257.754 "/>
- <polygon style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" points="188.55,257.911 195.131,248.873 195.21,254.463 199.729,257.754 "/>
- </g>
- <g>
- <line style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" x1="353.664" y1="210.36" x2="400.752" y2="259.713"/>
- <polygon style="fill: #000000" points="405.929,265.139 395.409,261.355 400.752,259.713 402.644,254.452 "/>
- <polygon style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" points="405.929,265.139 395.409,261.355 400.752,259.713 402.644,254.452 "/>
- </g>
- <g>
- <line style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" x1="406.937" y1="321.052" x2="348.363" y2="380.922"/>
- <polygon style="fill: #000000" points="343.118,386.283 346.537,375.638 348.363,380.922 353.685,382.632 "/>
- <polygon style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" points="343.118,386.283 346.537,375.638 348.363,380.922 353.685,382.632 "/>
- </g>
- <g>
- <line style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" x1="453.322" y1="172.184" x2="388.873" y2="178.834"/>
- <polygon style="fill: #000000" points="381.413,179.604 390.847,173.604 388.873,178.834 391.873,183.551 "/>
- <polygon style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" points="381.413,179.604 390.847,173.604 388.873,178.834 391.873,183.551 "/>
- </g>
- <g>
- <line style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" x1="502.228" y1="189.968" x2="457.774" y2="257.173"/>
- <polygon style="fill: #000000" points="453.636,263.428 454.983,252.329 457.774,257.173 463.323,257.846 "/>
- <polygon style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" points="453.636,263.428 454.983,252.329 457.774,257.173 463.323,257.846 "/>
- </g>
- <g>
- <line style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" x1="273.985" y1="62.8183" x2="312.68" y2="148.058"/>
- <polygon style="fill: #000000" points="315.781,154.887 307.094,147.848 312.68,148.058 316.2,143.715 "/>
- <polygon style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" points="315.781,154.887 307.094,147.848 312.68,148.058 316.2,143.715 "/>
- </g>
- <g>
- <line style="fill: none; fill-opacity:0; stroke-width: 2; stroke-dasharray: 4; stroke: #000000" x1="244.015" y1="62.997" x2="170.236" y2="242.421"/>
- <polygon style="fill: #000000" points="167.384,249.358 166.563,238.208 170.236,242.421 175.812,242.011 "/>
- <polygon style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" points="167.384,249.358 166.563,238.208 170.236,242.421 175.812,242.011 "/>
- </g>
- <text font-size="12.8" style="fill: #000000;text-anchor:start;font-family:sans-serif;font-style:normal;font-weight:normal" x="518.002" y="99.358">
- <tspan x="518.002" y="99.358">TMF Framework</tspan>
- </text>
- <g>
- <g>
- <rect style="fill: #ffffff" x="460.246" y="378.278" width="275.814" height="62.2263"/>
- <rect style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" x="460.246" y="378.278" width="275.814" height="62.2263"/>
- </g>
- <g>
- <line style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" x1="529.844" y1="400.032" x2="490.578" y2="399.231"/>
- <polygon style="fill: #000000" points="483.08,399.078 493.18,394.283 490.578,399.231 492.976,404.281 "/>
- <polygon style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" points="483.08,399.078 493.18,394.283 490.578,399.231 492.976,404.281 "/>
- </g>
- <g>
- <line style="fill: none; fill-opacity:0; stroke-width: 2; stroke-dasharray: 4; stroke: #000000" x1="528.844" y1="418.986" x2="491.578" y2="419.779"/>
- <polygon style="fill: #000000" points="484.08,419.938 493.971,414.727 491.578,419.779 494.184,424.725 "/>
- <polygon style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" points="484.08,419.938 493.971,414.727 491.578,419.779 494.184,424.725 "/>
- </g>
- <text font-size="12.8" style="fill: #000000;text-anchor:start;font-family:sans-serif;font-style:normal;font-weight:normal" x="544.336" y="403.52">
- <tspan x="544.336" y="403.52">Depends on</tspan>
- </text>
- <text font-size="12.8" style="fill: #000000;text-anchor:start;font-family:sans-serif;font-style:normal;font-weight:normal" x="544.336" y="424.15">
- <tspan x="544.336" y="424.15">Dependency to be removed</tspan>
- </text>
- </g>
-</svg>
diff --git a/lttng/pom.xml b/lttng/pom.xml
deleted file mode 100644
index 15c21dcf34..0000000000
--- a/lttng/pom.xml
+++ /dev/null
@@ -1,232 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Copyright (C) 2011, Red Hat, Inc.
-
- 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
--->
-
-<project xmlns="http://maven.apache.org/POM/4.0.0"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
- <modelVersion>4.0.0</modelVersion>
-
- <prerequisites>
- <maven>3.0</maven>
- </prerequisites>
-
- <parent>
- <groupId>org.eclipse.linuxtools</groupId>
- <artifactId>linuxtools-parent</artifactId>
- <version>3.2.0-SNAPSHOT</version>
- </parent>
-
- <groupId>org.eclipse.linuxtools.lttng</groupId>
- <artifactId>linuxtools-lttng-parent</artifactId>
- <version>3.2.0-SNAPSHOT</version>
- <packaging>pom</packaging>
-
- <name>Linux Tools LTTng Parent</name>
-
- <licenses>
- <license>
- <name>Eclipse Public License v1.0</name>
- <comments>
- 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.htm
- </comments>
- </license>
- </licenses>
-
-<properties>
- <base.test.vmargs>-Xms256m -Xmx1024m -XX:MaxPermSize=256m</base.test.vmargs>
-</properties>
-
-<profiles>
- <profile>
- <id>tracingRcp</id>
- <modules>
- <module>org.eclipse.linuxtools.tracing.rcp.product</module>
- </modules>
- </profile>
- <profile>
- <id>lttngPackage</id>
- <properties>
- <lttngPackageDestination>/var/www/tools/linuxtools/lttng/update-nightly/</lttngPackageDestination>
- </properties>
- <modules>
- <module>org.eclipse.linuxtools.lttng.releng-site</module>
- </modules>
- </profile>
- <profile>
- <id>performance</id>
- <modules>
- <module>org.eclipse.linuxtools.lttng.alltests</module>
- </modules>
- </profile>
- <profile>
- <id>macosx</id>
- <activation>
- <os>
- <family>mac</family>
- </os>
- </activation>
- <properties>
- <base.ui.test.vmargs>${base.test.vmargs} -XstartOnFirstThread -Dorg.eclipse.swt.internal.carbon.smallFonts</base.ui.test.vmargs>
- </properties>
- </profile>
- <profile>
- <id>not-macosx</id>
- <activation>
- <os>
- <family>!mac</family>
- </os>
- </activation>
- <properties>
- <!-- Disable webkit integration, especially unstable on Linux -->
- <base.ui.test.vmargs>${base.test.vmargs} -Dorg.eclipse.swt.browser.DefaultType=mozilla</base.ui.test.vmargs>
- </properties>
- </profile>
-</profiles>
-
- <modules>
- <module>org.eclipse.linuxtools.btf.core</module>
- <module>org.eclipse.linuxtools.btf.core.tests</module>
- <module>org.eclipse.linuxtools.btf.ui</module>
-
- <module>org.eclipse.linuxtools.ctf</module>
- <module>org.eclipse.linuxtools.ctf.core</module>
- <module>org.eclipse.linuxtools.ctf.core.tests</module>
- <module>org.eclipse.linuxtools.ctf.parser</module>
- <module>org.eclipse.linuxtools.ctf.parser.tests</module>
-
- <module>org.eclipse.linuxtools.pcap.core</module>
- <module>org.eclipse.linuxtools.pcap.core.tests</module>
-
- <module>org.eclipse.linuxtools.statesystem.core</module>
- <module>org.eclipse.linuxtools.statesystem.core.tests</module>
-
- <module>org.eclipse.linuxtools.tmf</module>
- <module>org.eclipse.linuxtools.tmf.core</module>
- <module>org.eclipse.linuxtools.tmf.core.tests</module>
- <module>org.eclipse.linuxtools.tmf.ui</module>
- <module>org.eclipse.linuxtools.tmf.ui.tests</module>
- <module>org.eclipse.linuxtools.tmf.ui.swtbot.tests</module>
- <module>org.eclipse.linuxtools.tmf.help</module>
-
- <module>org.eclipse.linuxtools.tmf.ctf</module>
- <module>org.eclipse.linuxtools.tmf.ctf.core</module>
- <module>org.eclipse.linuxtools.tmf.ctf.core.tests</module>
- <module>org.eclipse.linuxtools.tmf.ctf.ui.swtbot.tests</module>
-
- <module>org.eclipse.linuxtools.tmf.pcap</module>
- <module>org.eclipse.linuxtools.tmf.pcap.core</module>
- <module>org.eclipse.linuxtools.tmf.pcap.core.tests</module>
- <module>org.eclipse.linuxtools.tmf.pcap.ui</module>
- <module>org.eclipse.linuxtools.tmf.pcap.ui.swtbot.tests</module>
- <module>org.eclipse.linuxtools.tmf.pcap.help</module>
-
- <module>org.eclipse.linuxtools.tmf.analysis.xml.core</module>
- <module>org.eclipse.linuxtools.tmf.analysis.xml.core.tests</module>
- <module>org.eclipse.linuxtools.tmf.analysis.xml.ui</module>
- <module>org.eclipse.linuxtools.tmf.analysis.xml.ui.tests</module>
-
- <module>org.eclipse.linuxtools.lttng.help</module>
- <module>org.eclipse.linuxtools.lttng.testing</module>
-
- <module>org.eclipse.linuxtools.lttng2.control</module>
- <module>org.eclipse.linuxtools.lttng2.control.core</module>
- <module>org.eclipse.linuxtools.lttng2.control.core.tests</module>
- <module>org.eclipse.linuxtools.lttng2.control.ui</module>
- <module>org.eclipse.linuxtools.lttng2.control.ui.tests</module>
-
- <module>org.eclipse.linuxtools.lttng2.kernel</module>
- <module>org.eclipse.linuxtools.lttng2.kernel.core</module>
- <module>org.eclipse.linuxtools.lttng2.kernel.core.tests</module>
- <module>org.eclipse.linuxtools.lttng2.kernel.ui</module>
- <module>org.eclipse.linuxtools.lttng2.kernel.ui.tests</module>
- <module>org.eclipse.linuxtools.lttng2.kernel.ui.swtbot.tests</module>
-
- <module>org.eclipse.linuxtools.lttng2.ust</module>
- <module>org.eclipse.linuxtools.lttng2.ust.core</module>
- <module>org.eclipse.linuxtools.lttng2.ust.core.tests</module>
- <module>org.eclipse.linuxtools.lttng2.ust.ui</module>
- <module>org.eclipse.linuxtools.lttng2.ust.ui.tests</module>
-
- <module>org.eclipse.linuxtools.gdbtrace</module>
- <module>org.eclipse.linuxtools.gdbtrace.core</module>
- <module>org.eclipse.linuxtools.gdbtrace.core.tests</module>
- <module>org.eclipse.linuxtools.gdbtrace.ui</module>
- <module>org.eclipse.linuxtools.gdbtrace.ui.tests</module>
- <module>org.eclipse.linuxtools.gdbtrace.help</module>
-
- <module>org.eclipse.linuxtools.tracing.rcp.branding</module>
- <module>org.eclipse.linuxtools.tracing.rcp.branding.feature</module>
- <module>org.eclipse.linuxtools.tracing.rcp</module>
- <module>org.eclipse.linuxtools.tracing.rcp.help</module>
- <module>org.eclipse.linuxtools.tracing.rcp.ui</module>
-
- <module>org.eclipse.linuxtools.tracing.examples</module>
- </modules>
-
- <build>
- <plugins>
- <plugin>
- <groupId>org.eclipse.tycho</groupId>
- <artifactId>target-platform-configuration</artifactId>
- <version>${tycho-version}</version>
- <configuration>
- <environments>
- <environment>
- <os>win32</os>
- <ws>win32</ws>
- <arch>x86</arch>
- </environment>
- <environment>
- <os>win32</os>
- <ws>win32</ws>
- <arch>x86_64</arch>
- </environment>
- <environment>
- <os>macosx</os>
- <ws>cocoa</ws>
- <arch>x86_64</arch>
- </environment>
- <environment>
- <os>linux</os>
- <ws>gtk</ws>
- <arch>x86</arch>
- </environment>
- <environment>
- <os>linux</os>
- <ws>gtk</ws>
- <arch>x86_64</arch>
- </environment>
- </environments>
- <filters>
- <filter>
- <type>eclipse-plugin</type>
- <id>org.eclipse.jdt.annotation</id>
- <restrictTo>
- <versionRange>[1.0,2.0)</versionRange>
- </restrictTo>
- </filter>
- </filters>
- </configuration>
- </plugin>
- <plugin>
- <groupId>org.eclipse.tycho</groupId>
- <artifactId>tycho-maven-plugin</artifactId>
- <version>${tycho-version}</version>
- <extensions>true</extensions>
- </plugin>
- </plugins>
- </build>
-
-</project>
diff --git a/lttng/sync_settings.sh b/lttng/sync_settings.sh
deleted file mode 100755
index 25b7599bff..0000000000
--- a/lttng/sync_settings.sh
+++ /dev/null
@@ -1,61 +0,0 @@
-#!/bin/bash
-###############################################################################
-# Copyright (c) 2014 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:
-# Alexandre Montplaisir - Initial API and implementation
-###############################################################################
-
-# Synchronize the project settings for all plugins
-# (by copying the contents of tmf.core's settings)
-
-# Plugins from which we will copy the settings
-RUNTIME_REFERENCE="org.eclipse.linuxtools.tmf.core"
-TEST_REFERENCE="org.eclipse.linuxtools.tmf.core.tests"
-
-RUNTIME_FILES=$RUNTIME_REFERENCE/.settings/*.prefs
-TEST_FILES=$TEST_REFERENCE/.settings/*.prefs
-
-# Runtime plugins
-for DIR in *.core *.ui org.eclipse.linuxtools.tracing.examples
-do
- # Skip non-directories
- if [ ! -d $DIR ]; then
- continue
- fi
-
- # Don't copy over the same files
- if [ "$DIR" == "$RUNTIME_REFERENCE" ]; then
- continue
- fi
-
- for FILE in $RUNTIME_FILES
- do
- cp $FILE "$DIR/.settings/"
- done
-done
-
-
-# Test plugins
-for DIR in *.tests *.alltests
-do
- # Skip non-directories
- if [ ! -d $DIR ]; then
- continue
- fi
-
- # Don't copy over the same files
- if [ "$DIR" == "$TEST_REFERENCE" ]; then
- continue
- fi
-
- for FILE in $TEST_FILES
- do
- cp $FILE "$DIR/.settings/"
- done
-done
diff --git a/pom.xml b/pom.xml
index eb2aa1d1db..d4859f998a 100644
--- a/pom.xml
+++ b/pom.xml
@@ -178,7 +178,6 @@
<module>gcov</module>
<module>gprof</module>
<module>libhover</module>
- <module>lttng</module>
<module>man</module>
<module>oprofile</module>
<module>perf</module>
diff --git a/releng/org.eclipse.linuxtools.releng-site/category.xml b/releng/org.eclipse.linuxtools.releng-site/category.xml
index 6235b53153..bbc52ea1b1 100644
--- a/releng/org.eclipse.linuxtools.releng-site/category.xml
+++ b/releng/org.eclipse.linuxtools.releng-site/category.xml
@@ -13,9 +13,6 @@
<feature url="features/org.eclipse.linuxtools.cdt.libhover.devhelp.feature_0.0.0.qualifier.jar" id="org.eclipse.linuxtools.cdt.libhover.devhelp.feature" version="0.0.0">
<category name="Linux Tools Additional Library API Hoverhelp"/>
</feature>
- <feature url="features/org.eclipse.linuxtools.ctf_0.0.0.qualifier.jar" id="org.eclipse.linuxtools.ctf" version="0.0.0">
- <category name="Linux Tools"/>
- </feature>
<feature url="features/org.eclipse.linuxtools.changelog_0.0.0.qualifier.jar" id="org.eclipse.linuxtools.changelog" version="0.0.0">
<category name="Linux Tools"/>
</feature>
@@ -55,18 +52,6 @@
<feature url="features/org.eclipse.linuxtools.gcov_0.0.0.qualifier.jar" id="org.eclipse.linuxtools.gcov" version="0.0.0">
<category name="Linux Tools"/>
</feature>
- <feature url="features/org.eclipse.linuxtools.lttng2.control_0.0.0.qualifier.jar" id="org.eclipse.linuxtools.lttng2.control" version="0.0.0">
- <category name="Linux Tools"/>
- </feature>
- <feature url="features/org.eclipse.linuxtools.lttng2.kernel_0.0.0.qualifier.jar" id="org.eclipse.linuxtools.lttng2.kernel" version="0.0.0">
- <category name="Linux Tools"/>
- </feature>
- <feature url="features/org.eclipse.linuxtools.lttng2.ust_0.0.0.qualifier.jar" id="org.eclipse.linuxtools.lttng2.ust" version="0.0.0">
- <category name="Linux Tools"/>
- </feature>
- <feature url="features/org.eclipse.linuxtools.tmf.pcap_0.0.0.qualifier.jar" id="org.eclipse.linuxtools.tmf.pcap" version="0.0.0">
- <category name="Linux Tools"/>
- </feature>
<feature url="features/org.eclipse.linuxtools.perf_0.0.0.qualifier.jar" id="org.eclipse.linuxtools.perf.feature" version="0.0.0">
<category name="Linux Tools"/>
</feature>
@@ -82,9 +67,6 @@
<feature url="features/org.eclipse.linuxtools.perf.remote_0.0.0.qualifier.jar" id="org.eclipse.linuxtools.perf.remote.feature" version="0.0.0">
<category name="Linux Tools"/>
</feature>
- <feature url="features/org.eclipse.linuxtools.gdbtrace_0.0.0.qualifier.jar" id="org.eclipse.linuxtools.gdbtrace" version="0.0.0">
- <category name="Linux Tools"/>
- </feature>
<!-- Orbit Dependencies -->
<iu id="org.swtchart" version="0.0.0">
<category name="Linux Tools"/>
@@ -95,15 +77,6 @@
<iu id="org.apache.xerces" version="0.0.0">
<category name="Linux Tools"/>
</iu>
- <feature url="features/org.eclipse.linuxtools.tracing.rcp_0.0.0.qualifier.jar" id="org.eclipse.linuxtools.tracing.rcp" version="0.0.0">
- <category name="Linux Tools LTTng RCP"/>
- </feature>
- <feature url="features/org.eclipse.linuxtools.tracing.rcp.branding.feature_0.0.0.qualifier.jar" id="org.eclipse.linuxtools.tracing.rcp.branding.feature" version="0.0.0">
- <category name="Linux Tools LTTng RCP"/>
- </feature>
- <feature url="features/org.eclipse.linuxtools.lttng.testing_0.0.0.qualifier.jar" id="org.eclipse.linuxtools.lttng.testing" version="0.0.0">
- <category name="Linux Tools LTTng RCP"/>
- </feature>
<feature url="features/org.eclipse.linuxtools.cdt.libhover.feature.source_0.0.0.qualifier.jar" id="org.eclipse.linuxtools.cdt.libhover.feature.source" version="0.0.0">
<category name="Linux Tools Sources"/>
</feature>
@@ -122,9 +95,6 @@
<feature url="features/org.eclipse.linuxtools.changelog.java.source_0.0.0.qualifier.jar" id="org.eclipse.linuxtools.changelog.java.source" version="0.0.0">
<category name="Linux Tools Sources"/>
</feature>
- <feature url="features/org.eclipse.linuxtools.ctf.source_0.0.0.qualifier.jar" id="org.eclipse.linuxtools.ctf.source" version="0.0.0">
- <category name="Linux Tools Sources"/>
- </feature>
<feature url="features/org.eclipse.linuxtools.dataviewers.feature.source_0.0.0.qualifier.jar" id="org.eclipse.linuxtools.dataviewers.feature.source" version="0.0.0">
<category name="Linux Tools Sources"/>
</feature>
@@ -152,18 +122,6 @@
<feature url="features/org.eclipse.linuxtools.valgrind.source_0.0.0.qualifier.jar" id="org.eclipse.linuxtools.valgrind.source" version="0.0.0">
<category name="Linux Tools Sources"/>
</feature>
- <feature url="features/org.eclipse.linuxtools.lttng2.control.source_0.0.0.qualifier.jar" id="org.eclipse.linuxtools.lttng2.control.source" version="0.0.0">
- <category name="Linux Tools Sources"/>
- </feature>
- <feature url="features/org.eclipse.linuxtools.lttng2.kernel.source_0.0.0.qualifier.jar" id="org.eclipse.linuxtools.lttng2.kernel.source" version="0.0.0">
- <category name="Linux Tools Sources"/>
- </feature>
- <feature url="features/org.eclipse.linuxtools.lttng2.ust.source_0.0.0.qualifier.jar" id="org.eclipse.linuxtools.lttng2.ust.source" version="0.0.0">
- <category name="Linux Tools Sources"/>
- </feature>
- <feature url="features/org.eclipse.linuxtools.tmf.pcap.source_0.0.0.qualifier.jar" id="org.eclipse.linuxtools.tmf.pcap.source" version="0.0.0">
- <category name="Linux Tools Sources"/>
- </feature>
<feature url="features/org.eclipse.linuxtools.gcov.source_0.0.0.qualifier.jar" id="org.eclipse.linuxtools.gcov.source" version="0.0.0">
<category name="Linux Tools Sources"/>
</feature>
@@ -182,15 +140,6 @@
<feature url="features/org.eclipse.linuxtools.perf.remote.source_0.0.0.qualifier.jar" id="org.eclipse.linuxtools.perf.remote.feature.source" version="0.0.0">
<category name="Linux Tools Sources"/>
</feature>
- <feature url="features/org.eclipse.linuxtools.gdbtrace.source_0.0.0.qualifier.jar" id="org.eclipse.linuxtools.gdbtrace.source" version="0.0.0">
- <category name="Linux Tools Sources"/>
- </feature>
- <feature url="features/org.eclipse.linuxtools.tracing.rcp.source_0.0.0.qualifier.jar" id="org.eclipse.linuxtools.tracing.rcp.source" version="0.0.0">
- <category name="Linux Tools Sources"/>
- </feature>
- <feature url="features/org.eclipse.linuxtools.lttng.testing.source_0.0.0.qualifier.jar" id="org.eclipse.linuxtools.lttng.testing.source" version="0.0.0">
- <category name="Linux Tools Sources"/>
- </feature>
<category-def name="Linux Tools" label="Linux Tools">
<description>
Eclipse Linux Tools
@@ -206,9 +155,4 @@
Eclipse Linux Tools source features and bundles
</description>
</category-def>
- <category-def name="Linux Tools LTTng RCP" label="Linux Tools LTTng RCP">
- <description>
- Optional LTTng features
- </description>
- </category-def>
</site>
diff --git a/releng/org.eclipse.linuxtools.target/linuxtools-e4.4.target b/releng/org.eclipse.linuxtools.target/linuxtools-e4.4.target
index 08b200686c..3aeda02ee9 100644
--- a/releng/org.eclipse.linuxtools.target/linuxtools-e4.4.target
+++ b/releng/org.eclipse.linuxtools.target/linuxtools-e4.4.target
@@ -1,15 +1,10 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<?pde version="3.8"?><target name="linuxtools-e4.4" sequenceNumber="27">
+<?pde version="3.8"?><target name="linuxtools-e4.4" sequenceNumber="28">
<locations>
<location includeAllPlatforms="false" includeConfigurePhase="false" includeMode="planner" includeSource="true" type="InstallableUnit">
-<unit id="org.antlr.runtime" version="3.2.0.v201101311130"/>
-<unit id="org.antlr.runtime.source" version="3.2.0.v201101311130"/>
<unit id="org.swtchart" version="0.0.0"/>
-<unit id="com.google.guava" version="15.0.0.v201403281430"/>
<unit id="org.cyberneko.html" version="0.0.0"/>
<unit id="org.apache.xerces" version="2.9.0.v201101211617"/>
-<unit id="org.apache.derby" version="0.0.0"/>
-<unit id="org.json" version="0.0.0"/>
<repository location="http://download.eclipse.org/tools/orbit/downloads/drops/R20140525021250/repository/"/>
</location>
<location includeAllPlatforms="false" includeConfigurePhase="false" includeMode="planner" includeSource="true" type="InstallableUnit">
@@ -19,18 +14,14 @@
</location>
<location includeAllPlatforms="false" includeConfigurePhase="false" includeMode="planner" includeSource="true" type="InstallableUnit">
<unit id="org.eclipse.platform.ide" version="0.0.0"/>
-<unit id="org.eclipse.equinox.executable.feature.group" version="0.0.0"/>
<unit id="org.eclipse.pde.runtime" version="0.0.0"/>
-<unit id="org.eclipse.test.feature.group" version="0.0.0"/>
-<!-- Not including the whole JDT on purpose to avoid jdt.annotation 2.0.0 that requires Java 8 -->
-<unit id="org.eclipse.jdt.annotation" version="1.1.0.v20140129-1625"/>
<unit id="org.eclipse.jdt.core" version="0.0.0"/>
<unit id="org.eclipse.jdt.debug.ui" version="0.0.0"/>
<unit id="org.eclipse.jdt.ui" version="0.0.0"/>
<repository location="http://download.eclipse.org/eclipse/updates/4.4"/>
</location>
<location includeAllPlatforms="false" includeConfigurePhase="false" includeMode="planner" includeSource="true" type="InstallableUnit">
-<unit id="org.eclipse.rse.sdk.feature.group" version="0.0.0"/>
+<unit id="org.eclipse.dstore.core" version="0.0.0"/>
<repository location="http://download.eclipse.org/tm/updates/3.6"/>
</location>
<location includeAllPlatforms="false" includeConfigurePhase="false" includeMode="planner" includeSource="true" type="InstallableUnit">

Back to the top